JP4895662B2 - ターゲットパターンを使用して、二次元の絶対位置を感知するシステム - Google Patents

ターゲットパターンを使用して、二次元の絶対位置を感知するシステム Download PDF

Info

Publication number
JP4895662B2
JP4895662B2 JP2006111615A JP2006111615A JP4895662B2 JP 4895662 B2 JP4895662 B2 JP 4895662B2 JP 2006111615 A JP2006111615 A JP 2006111615A JP 2006111615 A JP2006111615 A JP 2006111615A JP 4895662 B2 JP4895662 B2 JP 4895662B2
Authority
JP
Japan
Prior art keywords
target
vector
image
coarse
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006111615A
Other languages
English (en)
Other versions
JP2006300939A (ja
Inventor
ディビット・シー・チュ
エバン・アール・ホィットニィー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of JP2006300939A publication Critical patent/JP2006300939A/ja
Application granted granted Critical
Publication of JP4895662B2 publication Critical patent/JP4895662B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • G01D5/32Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light
    • G01D5/34Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells
    • G01D5/347Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells using displacement encoding scales
    • G01D5/34776Absolute encoders with analogue or digital scales
    • G01D5/34792Absolute encoders with analogue or digital scales with only digital scales or both digital and incremental scales
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • G06F3/0321Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors

Description

本発明は、二次元の絶対位置を感知する技術に関する。
多くの用途で、対象物の位置を正確に測定するニーズがある。例えば多数の製造工程では、可動するステージ(台)の正確な位置付けを必要とする。動いている対象物の位置を求めるためにいくつかの手法が開発されている。次にこれらの手法のうち一部を説明する。
一部の従来技術の光学式マウスデバイスでは、マウスパッドの表面の不規則性(irregularity)を含むランダムな二次元のパターンが、デジタルカメラによって連続的なN×Nピクセルアレイに捕捉される。メモリ深さ(memory depth)は、現在のアレイを少なくとも1超える。9つの二次元の相関性(例えば、各方向へ1ステップ:左、右、上、下、2本の対角線の両方向、および、「変更なし」)が計算される。9つの相関性のうちの最大値を観察することにより、マウスの移動方向を求めることができる。相関値を補間することにより、移動の長さは、センサピクセルの何分の一(fraction)で推定することができる。位置を求めるこの方法は、インクリメンタル的(incremental(なものであって絶対的なものではなく、フレーム間の移動は、典型的には1ピクセルを超えることができないか、またはエラーが生じる可能性がある。
他の一部の従来技術の用途では、ランダムターゲットの代わりに特定のターゲットを使用する。たとえば一部の一次元インクリメンタルエンコーダは、一次元正弦波の直交した2つの格子を使用して、2つの連続する画像のグレースケールを生成する。スケールの既知の強度プロファイルの較正により、1サイクル未満の補間が可能になり、直交した2つの信号によって可能になった適切な移動方向でのサイクル数をカウントすることにより、粗い位置と細かい位置の両方を求めることができる。この手法は、業界内で非常によく使用されているが、マウスの場合と同様にインクリメンタルな測定技術であり、同じ限界がある。
二次元用途に一次元エンコーダ技術を使用するためには、一般に、厄介な機械的なステージの積み重ねが必要である。
他の一部の従来技術の用途では、二次元の絶対位置のコード化(符号化)のために、ターゲット全体にわたって、各N×Nパターンの二次元相関を作る必要性を低減するために、位置をラベリングしたコードが使用されている。該コードは、ランダムまたは周期的な細かいグレースケールのバックグラウンドに周期的にインタリーブされる。(未知の)該位置コード(複数可)が、画像からまず識別されて抽出され、内容が解読される。ついで該画像内の該コードの位置を、より正確に見つけ、推定によって、該画像の位置を確立する。
いくつかの従来技術の方法は、アナログ形式の相関関数を観察することによって、別個の相関の間で補間する。ターゲットパターンの相互相関によりこの方法の精度が低下するので、慎重に制御しなければならない。
上記のような従来技術の位置決定システムは、通常はあまり効率的ではなく、比較的大量のメモリが必要になり、これらのシステムの一部で使用されるターゲットは、作成するのも使用するのも複雑である。
本発明の一つの側面によると、二次元の絶対位置(absolute position)を感知するシステムが提供される。該システムは、二次元ターゲットパターンを有するターゲットを含む。センサは、ターゲットパターンの第1のサブセットの画像を捕捉する。コントローラは、該画像から、ピクセル値の行の合計を表す第1の画像ベクトルと、ピクセル値の列の合計を表す第2の画像ベクトルとを生成する。コントローラは、該第1および第2の画像ベクトルと、ターゲットパターンを表す複数のターゲットベクトルとに基づいて、該ターゲットパターンの原点に対する該第1のサブセットの二次元の絶対位置を求めるよう構成される。
以下の詳述では、本明細書の一部を形成すると共に、本発明を実行する或る特定の実施形態を例示的に示す図面を参照する。本発明の範囲から離れることなく、他の実施形態をも使用することができ、また、構造的または論理的な変更も可能であることを理解されたい。したがって、以下の詳述は限定的な意味で理解すべきではなく、本発明の範囲は、特許請求の範囲によって定義されるものである。
本発明の一形態は、対象物上に形成された2値(バイナリ)または3値(ターナリ(ternary))のターゲットのデジタル画像に基づいて、該対象物の二次元の絶対位置を求める方法および装置を提供する。一実施形態では、センサは、ターゲットの一部の画像を捕捉し、該ターゲット内の画像の二次元の位置を、ピクセル未満の解像度で求める。本発明の一形態では、ブロック回帰(block regression)技術を使用して、位置を求める。一実施形態では、第1のプロセスを、粗い位置(coarse position)を求めるよう(たとえば1つのピクセル内)に行い、次に第2のプロセスを、細かい位置(fine position)を求める(たとえば1ピクセルの何分の一内)よう行う。一実施形態では、第2のプロセスは、一組の冗長データおよび数式に対して数学的に解を最良にフィッティングさせることによって、絶対位置の決定を、ピクセルの何分の一にまで細かくするブロック回帰プロセスである。
I. システム
図1は、本発明の一実施形態による、対象物108の二次元の絶対位置を見つけるためのシステム100を示す、簡略化された図である。図に示される実施形態では、対象物108は製造工程における可動ステージ(可動台)であり、6自由度の高い精度で、「ホーム(home)」ポジションを探す。対象物108は、本明細書ではステージ108と呼ばれる。当業者であれば、本発明の実施形態は、二次元絶対位置の感知が望ましい他のタイプのシステムおよびプロセスにも適用可能であることが理解されるであろう。
システム100は、位置データ生成装置101(コントローラとも呼ばれる)およびセンサ102を含む。ステージ108は、ステージ108の1つの角(コーナー)に位置するターゲット面すなわちターゲット表面104を含む。ターゲット面104の簡単に見られるように、ターゲット面104の領域は誇張されて示されている。ターゲット面104は、第1の軸V(エレべーション(elevation、上下方向))と、第1の軸Vに対して直交する第2の軸W(ウィンデージ(windage、左右方向))とによって、二次元で定義される。ターゲットパターン106は、ターゲット面104上に形成される。ターゲットパターン106の種々の形態を、図3から図5に示し、これについては、後述される。
一実施形態による動作においては、センサ102は、照明し、ターゲット106の一部の画像を捕捉する。本発明の一形態では、捕捉された画像は、センサ102から、位置データ生成装置101に出力される。位置データ生成装置101は、ターゲット106の捕捉された画像を処理し、捕捉された画像に基づいて二次元の絶対ターゲット位置データを生成する。ターゲット位置データは、ターゲット106の原点に対するターゲット106の撮像された部分の絶対位置を、ウィンデージ次元とエレベーション次元で表す。本発明の一形態では、位置データ生成装置101は、二次元のターゲット位置データに基づいて、ターゲット面領域の二次元の水平方向の絶対位置を求める。
他の実施形態では、他のセンサ102およびターゲット106を使用し、3つのターゲット面位置の二次元の水平方向位置を測定し、合計で6つの、3組のウィンデージデータおよびエレベーションデータを生成する。該6つの数の線形処理により、6自由度(すなわち、3つの直交する軸(X軸、Y軸、Z軸)に沿った平行移動と、3本の直交する軸を中心とした回転(ロール(roll)、ピッチ(pitch)、ヨー(yaw)))で、ステージ108の位置を求める。
本発明のさらに他の実施形態では、単一ターゲット106を、たとえばステージ108の底面に配置し、システム100はこれを使用して、ステージ108の二次元の絶対位置を識別する。
図2は、本発明の一実施形態によるセンサ102を示す簡略化した図である。図に示される実施形態では、センサ102は、光源202、イメージセンサチップ204、光学素子206を含む。一実施形態では、光源202は、発光ダイオード(LED)である。他の実施形態では、センサ102は、光源202を含まない。本発明の一形態では、イメージセンサチップ204は、相補型金属酸化膜半導体(CMOS)イメージセンサである。一実施形態では、光学素子206は、1つまたは複数の光学レンズを含む。本発明の一形態では、光源202は、ターゲット106を照明する光208を出力する。ターゲット106からの反射光210は、光学素子206によって、イメージセンサチップ204上に方向変換される。イメージセンサチップ204は、受光した光に基づいて、ターゲット106の一部を表すデジタル画像を生成し、このデジタル画像を、位置データ生成装置101に提供し、センサ102または他の基準点に対するターゲット106(及びこれに対応してステージ108)の現在位置を求める。
II.ターゲット
図3は、本発明の一実施形態による、55×55ピクセル、3グレースケール(3値)のターゲット106Aを示す図である。ターゲット106Aは、図1で示したターゲット106の第1の実施形態を表す。図示された実施形態では、ターゲット106Aは3つだけのグレーレベルを有する。本明細書ではこれらのレベルを白、灰色、黒と呼ぶ。二次元ターゲット106Aは、複数の白い垂直線302、複数の黒い垂直線304、複数の白い水平線306、複数の黒い水平線308を含む。線302、304、306、308は、ターゲット106A全体にわたって伸び、同様にターゲット106A全体にわたって伸びる灰色のバックグラウンド310上に形成されている(点描の影で表している)。図示された実施形態では、線302と304は、線306と308に直交する。本発明の一形態では、補間を含むデジタルコード化処理を容易にするために、平行な黒線と白線は、直接隣接しない。一実施形態では、線の交差におけるターゲット106Aのピクセルは、次のように指定される。(1)黒と灰色の交差におけるピクセルは黒にする、(2)白と灰色の交差におけるピクセルは白にする、(3)黒と白の交差におけるピクセルは灰色にする。
図3では、ターゲット106Aは、ウィンデージすなわち水平方向を表す水平軸(W)と、エレベーションすなわち垂直方向を表す垂直軸(V)とを伴うグリッド上で示されている。軸WとVは、ターゲット106Aの左上角の原点で始まり、直角に外向きに伸びる。図示された実施形態では、ターゲット106Aは、ターゲット106Aの中心に対してWとVの両方の次元で対称であり、両方の次元の線の設計は同一である。これにより、両方の次元に対して共通のコード化アルゴリズムを使用することができる。図3に示すような直交する直線の設計パターンにより、2つの次元について別個の独立した一次元位置処理が可能になる。
一実施形態では、線の空間的分離は、13の連続したピクセルにわたる一次元シーケンスが重複しないように、数学的に合成される。この結果、ターゲット106Aの任意の13×13ピクセル(またはより大きな)画像は一意的である。言い方を換えれば、所与の任意の13×13ピクセル(またはより大きな)画像については、ターゲット106A内の該画像の位置は、直線のパターンから一意的に求めることができる。センサ102(図1)が捕捉した16×16画像の例312が、図3に示されている。画像312は、13×13ピクセルより大きいので、ターゲット106A内の画像312の位置は、線のパターンから求めることができる。画像312のピクセルは、ターゲット106Aのピクセルと垂直方向でも水平方向でもアライメント(位置合わせ)されている。画像312の左上のピクセルは、グリッドの第4の行と第35の列に位置する。したがって、一実施形態によるターゲット106Aの原点に対する画像312の位置は(4,35)と指定される。画像312のピクセルは、ターゲット106Aのピクセルから垂直または水平にオフセットされている場合がある。たとえば、図3に示す位置から、ピクセルの何分の一かだけ左または右にシフトされている、または、ピクセルの何分の一かだけ上または下にシフトされている。このような場合、画像312の位置の指定は、小数点の値(例えば4.35、35.60)を含むこととなる。
ターゲット106Aの中心は、3つの垂直列316Aを含む。これらは、グリッド上で「ccc」とラベリングされている。列316Aは、ここでは、水平の白線または黒線との交差箇所を除き、灰色−黒−灰色である。列316Aのすぐ右隣に5つの列316Bがある。これらはグリッド上で、「22222」とラベリングされている。列316Bは、ここでは、中心から外側にカウントして、白−灰色−黒−灰色−灰色である。列316Bは、「2周期(2-period)」と定義され、白−灰色−黒の列のプリアンブル(preamble,前段)とこれに続く2本の灰色の列を含む。プリアンブルに続く灰色の列の数は、周期を指定する(すなわち、プリアンブルに続く2つの灰色の列は、2周期を構成する)。列316Bのすぐ右隣に、2組の8列316Cおよび316Dがあり、これらはグリッド上では両方とも、「55555555」とラベリングされている。列316Cおよび316Dは、両方とも、ここでは、中心から外側にカウントして、白−灰色−黒−灰色−灰色−灰色−灰色−灰色である。列316Cおよび316Dは両方とも、「5周期」と定義され、白−灰色−黒の列のプリアンブルとこれに続く5本の灰色の列を含む。列316Dのすぐ右隣に、5つの列316Eがあり、グリッド上では22222とラベリングされている。列316Eは、ここでは、中心から外側にカウントして、白−灰色−黒−灰色−灰色である。列316Eは「2周期」と定義され、白−灰色−黒の列のプリアンブルとこれに続く2本の灰色の列を含む。
このように、上記の表記法を使用すると、ターゲット106Aは、周期シーケンス2、5、5、2を有する。線のパターンがターゲット106Aの中心に対して対称で、二次元が同じパターンを共有するので、ターゲット106Aの55列すべてと55行すべてが、周期シーケンスによって完璧に指定される。こうして、55×55のターゲット106A全体の各ピクセルは、簡潔な表記法2、5、5、2によって完璧に指定される。
さらに図3には、エレベーションベクトル(V)314およびウィンデージベクトル(W)318が示されている。これらは両方とも画像312に対応する。ベクトル314および318は、画像312の位置を決定する際に使用される。これに関しては、図6を参照して後述される。
図4Aは、本発明の一実施形態による、711×711ピクセル、3グレースケール(3値)のターゲット106Bを示す図である。ターゲット106Bは、図1に示したターゲット106の第2の実施形態を表す。図示された実施形態では、ターゲット106Bは、図3に示すターゲット106Aの拡張バージョンであり、ターゲット106Bの55×55ピクセルの中心部分は、ターゲット106Aと同一である。こうして、ターゲット106Aは、ターゲット106Bの中心部分をズームインした表示を表す。ターゲット106Bの解像度が高く、このターゲット106Bをページ上に表示するスペースが限られているので、図4Aでは、このターゲットの水平線と垂直線の完全なパターンは示されていない。図4Bは、ターゲット106Bの円で囲んだ部分を拡大したものであり、以下に、線の完全なパターンについて説明する。
本発明の一形態では、ターゲット106Bは、ターゲット106Aと同様に3つだけのグレーレベルを有する。本明細書ではこれらを白、灰色、黒と呼ぶ。二次元ターゲット106Bは、白の垂直線と黒の垂直線、白の水平線と黒の水平線を含む。垂直線と水平線はターゲット106B全体にわたって伸び、やはりターゲット106B全体にわたって伸びる灰色のバックグラウンド上に形成されている(図4Bでは点描の影で示す)。
ターゲット106Bは、ターゲット106Aよりはるかに長い周期シーケンスを有する。図3に関して上述した簡潔な表記法では、一実施形態によるターゲット106Bは、次の周期シーケンスによって完全に指定される。すなわち、2,5,5,2,2, 5,4,3,2,5, 3,4,2,4,4, 4,2,3,5,4, 2,2,4,5,3, 2,3,4,5,2, 3,3,4,3,5, 2,4,3,4,4, 3,3,3,5,3, 3,2,2,2,3, 2,4,2,5,2, 5。
ターゲット106Bのシーケンスが2、5、5、2で開始し、これが、小さな55×55ターゲット106Aのシーケンスであることに注意されたい。これにより、小さなターゲット106Aが、実際には、大きな711×711ターゲット106Bの中心部分と同じであることが確認される。
確実に一意的にするために、2周期、3周期、4周期、5周期は、3つの連続期間を繰り返さすことなくシーケンスされる。言い換えれば、ターゲット106Bの周期シーケンス内で3つの連続する2周期と3つの連続する3周期があるが、3つの連続する2周期のインスタンスは1つだけ、3つの連続する3周期のインスタンスは1つだけである。同様に、ターゲット106Bの周期シーケンスにおいて、3つの連続番号の他のすべてのシーケンスも一度しか生じない。(5,5,5)、(5,5,4)、(5,5,3)、およびこれらの並べ換え(permutation)などの、いくつかのより大きなシーケンスは、ターゲット106Bの周期シーケンスから除外される。異なる開始値(2,5,5以外)および異なる分類基準により、他の有効なシーケンスを生成し、異なるターゲット設計を製作することができる。6以上の周期が含まれれば、はるかに長いシーケンス(たとえばはるかに大きなターゲット106)も可能である。
図示された実施形態では、ターゲット106Bの任意の23×23ピクセル(またはより大きな)画像が一意的である。言い方を換えれば、所与の任意の23×23ピクセル(またはより大きな)画像では、ターゲット106B内の該画像の位置は、線のパターンから一意的に求めることができる。実際には、ノイズ外乱により、別個のシーケンス間の差が侵されることがある。類似のシーケンス間の差を増やす任意の手段により、誤差限界(error margin)が広がり、システムのロバスト性が増加する。一実施形態では、類似のシーケンス間の差を、複数の慎重に選択された周期についてプリアンブル内で黒の要素と白の要素を反転(すなわちフリッピング(flipping))することにより増やす。一実施形態では、フリッピングは、ターゲットの中心に対して対称的な方法で対(pair)で行なわれ、これによって、ターゲット全体の対称性を維持する。たとえば、「3周期」シーケンスをフリッピングすると、白−灰色−黒−灰色−灰色−灰色は、黒−灰色−白−灰色−灰色−灰色になる。一実施形態によれば、ターゲット106B全体で24個のフリッピングされた周期を伴うターゲット106Bは、次の周期シーケンスで指定される(フリッピングされた周期は、ボールド体かつ下線で示されている)。
Figure 0004895662
図5は、本発明の一実施形態による、55×55ピクセル、2グレースケール(2値)のターゲット106Cを示す図である。ターゲット106Cは、図1に示すターゲット106の第3の実施形態を表す。ターゲット106Cは、本質的に、図3に示す3値のグレースケールターゲット106Aの2値グレースケールバージョンであり、図3の灰色のバックグラウンド領域310は、2ピクセルピッチの黒白ピクセルの市松模様デザインで置き換えられている。白線と黒線の各交点では、該交点のピクセルは白と定義される。
3グレーレベルターゲット106Aおよび106Bは、2グレーレベルのターゲット106Cより良好な性能を提供する傾向がある。黒ピクセルおよび白ピクセルの市松模様デザインを、2ピクセルではなく1ピクセルのピッチであれば、ターゲット106Cの性能を向上させることができる。
一実施形態では、ターゲット106Aから106Cは、完全に決定論的(deterministic)である。例えば、解析およびシミュレーションにより、711×711ターゲット106B内の任意の23×23画像が、絶対的に一意的であることが示された。したがって本発明の一形態では、ターゲット106Aから106C内では、位置をラベリングするのに、埋め込まれた位置コードを使用しない。最小よりは大きい画像(たとえば32×32ピクセル)は、回帰アルゴリズム(後述される)が「ベストフィット(best fit)」のやり方で効果的に動作するよう、冗長データを提供する。
本発明の一形態では、ターゲット106Aから106Cは、ガラス基板上に半反射性(semi-reflective)および高反射性のクロムを堆積させて、灰色のピクセルおよび白いピクセルをそれぞれ形成することによって構成される。反射防止コーティングをガラス基板上に形成し、黒ピクセルを形成する。3つの反射値は、別個で比較的均一であればよい。一実施形態では、厳密な量的関係(たとえば正弦波特性(sinusoidal profile))は使用されない。透過性のターゲットでは、超微粒子フィルム上のデジタル印刷は、一部の用途では便利かつ経済的であることが示されている。
III 位置データ生成装置
図6は、本発明の一実施形態による、図1に示す位置データ生成装置101の主要構成要素を示すブロック図である。位置データ生成装置101は、ウィンデージ用の粗いメインロケータ602、ウィンデージ用の粗いデミロケータ604、エレベーション用の粗いメインロケータ606、エレベーション用の粗いデミロケータ608、粗い位置データ生成装置610、細かい位置データ生成装置612、ウィンデージ及びエレベーションベクトル生成装置614、メモリ616、シフトレジスタ618、カウンタ620を含む。本発明の一形態では、位置データ生成装置101はまず、2つの独立した一次元回帰プロセスを使用して、センサ102が捕捉した画像の粗い位置を求め、その後、第2の回帰プロセスを行って、該捕捉された画像の細かい位置を求める。
以下の説明では、センサ102は、図3に示す画像312などの、55×55ピクセルのターゲット106A(図3)の画像を捕捉すると仮定する。図示されている画像312のピクセルは、ターゲット106Aのピクセルと完全にアライメントされている。実際には、画像312のピクセルは、通常、両方の次元で、完全なアライメントからはオフセットされる。該オフセットの量は、細かい位置データ生成装置612によって正確に算出されることができる。これに関しては、図13から図15を参照して後述される。
A 粗い位置(COARSE POSITION)
画像312の粗い位置の目的は、ウィンデージ(L)およびエレベーション(L)の両方で、ターゲット106Aの座標を1ピクセル内に識別することである。粗い位置プロセスを説明するために、ターゲット106Aのピクセルは、次の強度を有すると仮定する。すなわち、黒いピクセルは光強度0、灰色のピクセルは光強度0.5、白いピクセルは光強度1を有する。実際には、光強度はピクセルごとに変化し、同じターゲットからの同じタイプ内でも変化し、灰色の強度がちょうど0.5である場合はほとんどない。しかしながら、回帰アルゴリズムの冗長性により、ピクセル間の変動およびグレーの偏り(バイアス,bias)の影響が最小化される。しかし説明を簡単にするために、強度は理想的に0、0.5、1と仮定する。
粗い位置プロセス中、ベクトル生成装置614は画像312を受信し、ゼロ平均(zero-mean)ウィンデージベクトル601A(W)およびゼロ平均エレベーションベクトル601F(V)を生成する。これらは両方とも画像312に対応する。次に、一実施形態によるこれらのゼロ平均ベクトル601Aおよび601Fの生成について、詳細に説明する。
ベクトル生成装置614は、画像312の16個の列をすべて合計し、16要素のウィンデージベクトル318(W)を形成する。これを図3に示す。図3に示すように、画像312の第1の列は、14個の白いピクセルと2つの灰色のピクセルを含む。したがって、ウィンデージベクトル318(W)の第1要素は「15」(すなわち、14×1+2×0.5=15)となる。ベクトル生成装置614は、16個の列のそれぞれについて、この合計を行い、この結果、16要素のウィンデージベクトル318(W)が得られる。これは次式Iで与えられる。
式 I
W=(15, 8, 1, 8, 8, 8, 8, 8, 15, 8, 1, 8, 8, 8, 8, 8)
ここで、Wは、ウィンデージベクトル318である。
ベクトル生成装置614はまた、画像312の16個の行をすべて合計し、16要素のエレベーションベクトル314(V)を形成する。これを図3に示す。図3に示すように、画像312の第1の行は2つの白いピクセル、12個の灰色ピクセル、2つの黒いピクセルを含む。したがって、エレベーションベクトル314(V)の第1要素は「8」(すなわち、2×1+12×0.5+2×0=8)となる。ベクトル生成装置614は、16個の行のそれぞれについてこれを行い、この結果、16要素のエレベーションベクトル314(V)が得られる。これは式IIによって与えられる。
式 II
V=(8, 15, 8, 8, 8, 8, 8, 1, 8, 15, 8, 8, 8, 8, 8, 1)
ここで、Vは、エレベーションベクトル314である。
ベクトル生成装置614は、ウィンデージベクトル318(W)(または等価的にV)の16要素すべてを合計し、該合計を16で除算して、全体のベクトル平均(Vavg)を生成する。これを、次の式IIIで示す(16で除算することは、バイナリ表記法では4ビットのシフトに過ぎないことに注意されたい)。
式 III
avg=(15+8+1+8+8+8+8+8+15+8+1+8+8+8+8+8)/16=8
ベクトル生成装置614は、ベクトル平均(Vavg)を、すべてのW要素およびV要素から引き、ゼロ平均ベクトル601Aおよび601F(WとV)を生成する。これを、次の式IVおよびVにそれぞれ示す。
式 IV
=(7, 0, -7, 0, 0, 0, 0, 0, 7, 0, -7, 0, 0, 0, 0, 0)
ここで、Wは、ゼロ平均ウィンデージベクトル601Aである。
式 V
=(0, 7, 0, 0, 0, 0, 0, -7, 0, 7, 0, 0, 0, 0, 0, -7)
ここで、Vは、ゼロ平均エレベーションベクトル601Fである。
ゼロ平均ベクトル601Aおよび601F(WおよびV)は、元の16×16ピクセル画像312の回帰抽出バージョン(regression-distilled version)を表し、2つのターゲット画像座標LおよびLの位置を突き止めるのに使用される。一実施形態では、画像312の元の画素は8ビットの精度を有し、上記の合計で2ビットの精度が追加される。ゼロ平均ウィンデージベクトル601A(W)は、ベクトル生成装置614によって、ウィンデージ用の粗いメインロケータ602およびウィンデージ用の粗いデミロケータ604に出力される。ゼロ平均エレベーションベクトル601F(V)は、ベクトル生成装置614によって、エレベーション用の粗いメインロケータ606およびエレベーション用の粗いデミロケータ608に出力される。ウィンデージベクトル318(W)およびエレベーションベクトル314(V)は、ベクトル生成装置614によって、細かい位置データ生成装置612に出力される。位置データ生成装置101の図を簡単にするために、図6の一部の要素間の接続は示されていない。
本発明の一形態では、複数のシーケンスすなわちベクトルを、ターゲット106Aの特徴に基づいて決定し、メモリ616内に記憶する。一実施形態では、これらのシーケンスは、第1のメインシーケンス601B(M1)、第2のメインシーケンス601C(M2)、第1のdemiシーケンス601D(demi1)、第2のdemiシーケンス601E(demi2)を含む。
本発明の一形態では、ゼロ平均ベクトル601Aおよび601F(WとV)は、ターゲット106A内の画像312の位置に依存して画像312ごとに異なるが、シーケンス601B、601C、601D、601Eは、メモリ616内に記憶されていて画像312によって変わらない予め計算される一定のシーケンスすなわちベクトルである。図6に示すように、シーケンス601B、601C、601D、601Eは、メモリ616からシフトレジスタ618に出力される。シフトレジスタ618は、カウンタ620によってアドレスされ、4つのシーケンス601B、601C、601D、601Eを同期的に、ロケータ(locator)602、604、606、608のうちの適切なロケータへシフトする。メインシーケンス601Bおよび601C(MlおよびM2)は、ウィンデージ用の粗いメインロケータ602およびエレベーション用の粗いメインロケータ606へシフトされ、demiシーケンス601Dおよび601E(demi1とdemi2)は、ウィンデージ用の粗いデミロケータ604およびエレベーション用の粗いデミロケータ608へシフトされる。次に、シーケンス601B、601C、601D、601Eの値の決定については、後述される。
図3を参照して上述したように、ターゲット106Aは、2、5、5、2周期シーケンスを有する。2、5、5、2周期シーケンスを符号で完全にスペルアウトすると、次の式VIに示すように、55要素の3値のシーケンスM3のように見える(読みやすくするためにスペースを追加している)。
式 VI
M3=
(0,0,-1,0,1, 0,0,0,0,0,-1,0,1, 0,0,0,0,0,-1,0,1, 0,0,-1,0,1, 0,-1,0,
1,0,-1,0,0, 1,0,-1,0,0,0,0,0, 1,0,-1,0,0,0,0,0, 1,0,-1,0,0)
シーケンスdemi3は、次の式VIIが示すように、2つの連続するM3要素を加えることによって(代数的に)生成される。
式 VII
demi3(i)=M3(i)+M3(i+1)for i from−27≦i≦+26
demi3(27)は、1として定義される。
この結果得られるシーケンスdemi3もまた、3値であることに注意されたい。この結果得られるdemi3シーケンスは、次の式VIIIによって与えられる。
式 VIII
demi3=
(0,-1,-1,1,1, 0,0,0,0,-1,-1,1,1, 0,0,0,0,-1,-1,1,1, 0,-1,-1,1,1, -1,-1,1, 1,-1,-1,0,1, 1,-1,-1,0,0,0,0,1, 1,-1,-1,0,0,0,0,1, 1,-1,-1,0,1)
3値のロジックは、当業界で一般的ではない。より一般的なバイナリのロジックに変換すると、容易に入手できるデジタルバイナリ論理回路での実装が容易になる。変換のための論理式は、次の表1により与えられる。
Figure 0004895662
式VIで定義された3値シーケンスM3は、表1に与えられた変換を使用して2つのバイナリシーケンス601Bおよび601C(M1およびM2)に変換されることができる。これを、次の式IXおよびXにそれぞれ示す。
式 IX
M1=
(0,0,1,0,1, 0,0,0,0,0,1,0,1, 0,0,0,0,0,1,0,1, 0,0,1,0,1, 0,1,0,
1,0,1,0,0, 1,0,1,0,0,0,0,0, 1,0,1,0,0,0,0,0, 1,0,1,0,0)
式 X
M2=
(0,0,1,0,0, 0,0,0,0,0,1,0,0, 0,0,0,0,0,1,0,0, 0,0,1,0,0, 0,1,0,
0,0,1,0,0, 0,0,1,0,0,0,0,0, 0,0,1,0,0,0,0,0, 0,0,1,0,0)
式VIIIに定義された3値シーケンスdemi3も同様に、2つのバイナリシーケンス601Dおよび601E(demi1とdemi2)に変換されることができる。これは、次の式XIおよびXIIにそれぞれ示される。
式 XI
demi1=
(0,1,1,1,1, 0,0,0,0,1,1,1,1, 0,0,0,0,1,1,1,1, 0,1,1,1,1, 1,1,1,
1,1,1,0,1, 1,1,1,0,0,0,0,1, 1,1,1,0,0,0,0,1, 1,1,1,0,1)
式 XII
demi2=
(0,1,1,0,0, 0,0,0,0,1,1,0,0, 0,0,0,0,1,1,0,0, 0,1,1,0,0, 1,1,0,
0,1,1,0,0, 0,1,1,0,0,0,0,0, 0,1,1,0,0,0,0,0, 0,1,1,0,0)
一実施形態では、4つの固定シーケンス601B(M1)、601C(M2)、601D(demi1)、および601E(demi2)を、ベクトル601A(W)および601F(V)と共に使用し、ウィンデージ(水平)およびエレベーション(垂直)の両方向で画像312の粗い位置を求める(たとえば1ピクセル内)。一実施形態では、ターゲットパターンはいずれの次元でも同じであるので、両方の次元に共通のアルゴリズムを使用することができる。本発明の一形態では、ハードウェア要件は少なめであり、図7から図10を参照して後述する4つの動作を、並列に行うことができる。
demiシーケンス601Dおよび601Eは、2つの隣接するターゲットピクセルの間の中間近くにある画像312の位置を特定するのに最良である。demiシーケンス601Dおよび601Eはまた、各次元で、画像312を囲む(メインベクトル601Bおよび601Cの正しい2つの連続した16要素のサブセット(最も近いメインベクトルの1サブセットだけでない)を求める際の助けになる。
また図6に示すように、ウィンデージ用の粗いメインロケータ602は、複数のメインウィンデージセレクタ値603A(SMW(j))を生成し、セレクタ値603Aを粗い位置データ生成装置610に出力する。ここで、「j」は、個別のセレクタ値を識別するインデックスである。ウィンデージ用の粗いデミロケータ604は、複数のデミウィンデージセレクタ値603B(SDW(j))を生成し、セレクタ値603Bを、粗い位置データ生成装置610に出力する。エレベーション用の粗いメインロケータ606は、複数のメインエレベーションセレクタ値603C(SMV(j))を生成し、セレクタ値603Cを、粗い位置データ生成装置610に出力する。エレベーション用の粗いデミロケータ608は、複数のデミエレベーションセレクタ値603D(SDV(j))を生成し、セレクタ値603Dを、粗い位置データ生成装置610に出力する。次に、図7から図10を参照して、ロケータ602、604、606、608によるセレクタ値603A、603B、603C、603Dのそれぞれの生成を詳述する。
図7は、本発明の一実施形態による、図6のブロックで示されるウィンデージ用の粗いメインロケータ602の主要構成要素を示す概略図である。ウィンデージ用の粗いメインロケータ602は、水平ターゲットグリッドから水平方向に大幅にオフセットされていない画像の位置を効果的に突き止める。図7に示すように、ウィンデージ用メインロケータ602は、加算器702、加算器の行704、加算器の行706、ORゲートの行708、ANDゲートの行710、遅延素子(D)の行712、XNORゲートの行714、遅延素子の行716を含む。
図7では、ゼロ平均ウィンデージベクトル601A(W)の16個の要素は、W(16)、W(15)、…W(1)として示されている。一実施形態では、ベクトル601Aの各要素は、最上位ビットに等しい4つの最下位ビットで埋められる。シーケンス601Bおよび601C(M1およびM2)の最初の16ビットは、ロケータ602へ同時にシフトされる。これによって、ロケータ602に、第1のメインウィンデージセレクタ603A(SMW(1))を生成させる。シーケンス601Bおよび601C(M1およびM2)は続いて、すべての39個(すなわち、55−16)の遅延について、パイプラインにされた遅延素子712および716を介してそれぞれシフトし続ける。
ANDゲートの行710を使用することにより、シーケンス601B(M1)は、累積(accumulation)するのにベクトル601Aの適切な要素(W)だけを活性化する。シーケンス601C(M2)は、XNORゲートの行714を介して、累積の極性(accumulation polarity)を決定する。ベクトル601A(W)の各要素のすべてのビットを補う(complement)だけでは、2の補数の符号が変わらないことは理解されよう(最下位ビットにおいて1つ足りない)。しかしながら、上記のように、これらの要素を、いくつかの最下位ビットで埋める(pad)ことにより、このエラーが最小にされる。
シーケンス601B(M1)には、隣接する「1」がないことに注意されたい(式IXを参照)。こうして、図示された実施形態では、第1のレベルの合計は、ORゲートの行708が示す簡単なOR機能で行われる。4つのレベルの合計のカスケード(ORゲートの行708、および、加算器706、704、702の3つの行によって表される)は結局、各遅延jについて1つずつ、メインウィンデージセレクタ603A(SMW(j))の39個の値を生成する。
ウィンデージ用の粗いメインロケータ602は、メインウィンデージセレクタ値603A(SMW(j))を、粗い位置データ生成装置610に出力する(図6)。粗い位置データ生成装置610は、メインウィンデージセレクタ値603A(SMW(jMW))の現在の最大値を、最大が生じたときの値jMWと共に、追跡して記録する。
図8は、本発明の一実施形態による、図6のブロック図で示すウィンデージ用の粗いデミロケータ604の主要構成要素を示す概略図である。ウィンデージ用の粗いデミロケータ604は、水平ターゲットグリッド(格子)間の中間の近くに存在する画像の位置を効果的に突き止める。図8に示すように、ウィンデージ用の粗いデミロケータ604は、加算器802、加算器の行804、加算器の行806、加算器の行808、ANDゲートの行810、遅延素子(D)の行812、XNORゲートの行814、遅延素子の行816を含む。
ウィンデージ用の粗いデミロケータ604は、図7を参照して上述したウィンデージ用の粗いメインロケータ602と同じ様に動作するが、ロケータ602のようにメインシーケンス601Bおよび601C(M1とM2)を使用するのではなく、2つのdemiシーケンス601Dおよび601E(demi1とdemi2)を使用して、合計するのにゼロ平均ウィンデージベクトル601A(W)の適切な要素をイネーブルし、該合計の符号を制御する。第1のメインシーケンス601B(M1)と異なり、第1のdemiシーケンス601D(demi1)の2つの隣接した値は、両方とも非ゼロでありうる(式XIを参照)。したがって、第1の合計レベルは、図7に示すORゲートの行708ではなく、加算器の行808として示される。
新しいデミウィンデージセレクタ値603B(SDW(j))は、図7に関して上述した方法と同じ方法で、各遅延シフトと共に生成され、各遅延jについて1つずつ、合計で39個のデミウィンデージセレクタ値603B(SDW(j))が生成される。ウィンデージ用の粗いデミロケータ604はデミウィンデージセレクタ値603B(SDW(j))を、粗い位置データ生成装置610に出力する(図6)。粗い位置データ生成装置610は、デミウィンデージセレクタ値603B(SDW(jDW))の現在の最大値を、最大が生じた時の値jDWと共に、追跡して記録する。
図9は、本発明の一実施形態による、図6のブロック図で示したエレベーション用の粗いメインロケータ606の主要構成要素を示す概略図である。エレベーション用の粗いメインロケータ606は、垂直ターゲットグリッド(格子)から垂直に大幅にオフセットされていない画像の位置を効果的に突き止めることができる。図9に示すように、エレベーション用の粗いメインロケータ606は、加算器902、加算器の行904、加算器の行906、ORゲートの行908、ANDゲートの行910、遅延(D)素子の行912、XNORゲートの行914、遅延素子の行916を含む。
エレベーション用の粗いメインロケータ606は、図7に示すウィンデージ用の粗いメインロケータ602と同じ様に構成されるが、ウィンデージ用の粗いメインロケータ602が、ゼロ平均ウィンデージベクトル601A(W)に対して作用するのに対し、エレベーション用の粗いメインロケータ606は、ゼロ平均エレベーションベクトル601F(V)に作用する。
新しいメインエレベーションセレクタ値603C(SMV(j))は、各遅延シフトと共に生成され、各遅延jについて1つずつ、合計で39個のメインエレベーションセレクタ値603C(SMV(j))が生成される。エレベーション用の粗いメインロケータ606は、メインエレベーションセレクタ値603C(SMV(j)を、粗い位置データ生成装置610に出力する(図6)。粗い位置データ生成装置610は、メインエレベーションセレクタ値603C(SMV(jMV))の現在の最大値を、最大が生じた時の値jMVと共に、追跡して記録する。
図10は、本発明の一実施形態による、図6のブロック図で示されたエレベーション用の粗いデミロケータ608の主要構成要素を示す概略図である。エレベーション用の粗いデミロケータ608は、垂直ターゲットグリッド(格子)間の中間近くにある画像の位置を効果的に突き止める。図10に示すように、エレベーション用の粗いデミロケータ608は、加算器1002、加算器の行1004、加算器の行1006、加算器の行1008、ANDゲートの行1010、遅延(D)素子の行1012、XNORゲートの行1014、遅延素子の行1016を含む。
エレベーション用の粗いデミロケータ608は、図8に示すウィンデージ用の粗いデミロケータ604と同じ様に構成されるが、ウィンデージ用の粗いデミロケータ604は、ゼロ平均ウィンデージベクトル601A(W)に作用するのに対し、エレベーション用の粗いデミロケータ608は、ゼロ平均エレベーションベクトル601F(V)に作用する。
新しいデミエレベーションセレクタ値603D(SDV(j))は、遅延シフトと共に生成され、各遅延jについて1つずつ、合計で39個のデミエレベーションセレクタ値603D(SDV(j))を生成する。エレベーション用の粗いデミロケータ608は、デミエレベーションセレクタ値603D((SDV(j))を、粗い位置データ生成装置610に出力する(図6)。粗い位置データ生成装置610は、デミエレベーションセレクタ値603D(SDV(jDV))の現在の最大値を、最大が生じたときの値jDVと共に、追跡して記録する。
一実施形態では、粗い位置特定処理は、非ゼロ平均ウィンデージベクトルおよびエレベーションベクトルを使用して達成される。このプロセスでは、ベクトル全体の平均Vavg(式III)と各遅延内のサブセットコードの合計との積に等しい項を、セレクタ値から引く。該積は、M1ベクトルおよびM2ベクトル(またはdemi1およびdemi2)がすべての遅延を介してシフトする際に、M1ベクトルおよびM2ベクトルによってダイナミックに制御されるアキュムレータによって生成され、こうして、ウィンデージ値(またはエレベーション)Vavgを累積する。
一実施形態では、図7から図10に示される4つのロケータ602、604、606、608は、同時に動作してセレクタ値603A、603B、603C、603Dをそれぞれ生成する。ロケータ602、604、606、608がすべてのセレクタ値603A、603B、603C、603Dを生成すると、粗い位置生成装置610は、セレクタ値603A(SMW(jMW))の最大値、セレクタ値603B(SDW(jDW))の最大値、セレクタ値603C(SMV(jMV))の最大値、セレクタ値603D(SDV(jDV))の最大値を識別したことになる。本発明の一形態では、粗い位置データ生成装置610は、セレクタ値603A(SMW(jMW))の最大値およびセレクタ値603B(SDW(jDW))の最大値×0.7071の比較に基づいて、粗いウィンデージ位置を決定し、セレクタ値603C(SMV(jMV))の最大値およびセレクタ値603D(SDV(jDV))の最大値×0.7071の比較に基いて、粗いエレベーション位置を決定する。
ウィンデージセレクタ値603A(SMW(jMW))および603B(SDW(jDW))の最大値に加えて、粗いウィンデージ位置を決定するために使用されるもう1つの情報ビット(Q)がある。一実施形態では、粗い位置データ生成装置610は、ウィンデージセレクタ値603B(SDW(jMW))の最大値を、該最大値の直前のウィンデージセレクタ値603B(すなわちSDW(jMW−1))と比較する。SDW(jMW)がSDW(jMW−1)より大きい場合、粗い位置データ生成装置610は、変数Qに「0」の値を割り当てる。SDW(jMV)がSDW(jMW−1)より小さい場合、粗い位置データ生成装置610は、変数Qに「−1」の値を割り当てる。
粗い位置データ生成装置610は、最終的な粗いウィンデージ位置Lを、以下のように確立する。すなわち、(1)最大値SDW(jDW)/√2が最大値SMW(jMW)より大きい場合、jDW<L<jDW+1、(2)最大値SMW(jMW)が最大値SDW(jDW)/√2より大きい場合、jMW+Q<L<jMW+Q+1。
エレベーションセレクタ値603C(SMV(jMV))および603D(SDV(jDV))の最大値に加えて、粗いエレベーション位置を決定するために使用されるもう1つの情報ビット(Q)がある。一実施形態では、粗い位置データ生成装置610は、エレベーションセレクタ値603D(SDV(jMV))の最大値を、該最大値の直前(すなわちSDV(jMV−1))のウィンデージセレクタ値603Dと比較する。SDV(jMV)がSDV(jMV−1)より大きい場合、粗い位置データ生成装置610は、変数Qに「0」の値を割り当てる。SDV(jMV)がSDV(jMV−1)より小さい場合、粗い位置データ生成装置610は、変数Qに「−1」の値を割り当てる。
粗い位置データ生成装置610は、最終的な粗いエレベーション位置(Lv)を、以下のように確立する。(1)最大値SDV(jDV)/√2が最大値SMV(jMV)より大きい場合、jDV<L<jDV+1、(2)最大値SMV(jMV)が最大値SDV(jDV)/√2より大きい場合、jMV+Q<L<jMV+Q+1。
デミセレクタSDW(jDW)およびSDV(jDV)が、係数「1/√2」により乗算された後で、メインセレクタSMW(jMW)およびMV(jMV)とそれぞれ比較されることに注意されたい。この理由は、デミセレクタは、2つの直交ベクトルの和を表すので、デミセレクタは、メインセレクタよりも2の平方根大きいためである。
上に定義された粗い位置特定プロセスを使用して、粗い位置データ生成装置610により、粗いウィンデージLおよび粗いエレベーションLの両方の位置が、1ピクセル内で特定される。座標LおよびLは、ターゲット106Aの原点に対するターゲット106Aの撮像された部分の粗い絶対位置の下限を、1ピクセル内に提供する。本発明の一形態では、細かい位置データ生成装置612はさらに、位置を、ピクセルの何分の一の精度まで狭めることができる。生成装置612が算出するλwおよびλvと呼ばれるピクセルの小数部分(ピクセルの何分の一の部分)を、LおよびLにそれぞれ加算し、2次元で細かい絶対位置を生成する。
図1に示すサンプル画像312の粗い位置特定プロセスを、図11と図12に示す。図11は、本発明の一実施形態による、画像312のエレベーション用の粗いセレクタ603Cおよび603D(SMV(j)とSDV(j))のグラフを示す図である。図11の縦軸はセレクタの値を表わし、水平軸は遅延数jを表す。グラフ1102は、40個の遅延jすべてについてのメインエレベーションセレクタ値603C(SMV(j))のグラフである。グラフ1104は、40個の遅延jのすべてについて2の平方根で除算した、デミエレベーションセレクタ値603D(SDV(j))のグラフである。図11に示すグラフに現れる最大値は、メインエレベーションセレクタの第4の遅延SMV(4)である。これは、参照番号1106で示されている。画像312は、ターゲットグリッドからまったくオフセットされておらず、ターゲットグリッドとアライメントされているため、デミエレベーションセレクタ値603D(SDV(j))は位置特定に寄与しておらず、よって粗いエレベーションLは「4」に等しい。
図12は、本発明の一実施形態によるウィンデージ用の粗いセレクタ603Aおよび603B(SMW(j)とSDW(j))を示すグラフである。図12の縦軸は、セレクタの値を表わし、水平軸は遅延数jを表す。グラフ1202は、40個の遅延jのすべてについてのメインウィンデージセレクタ値603A(SMW(j))のグラフである。グラフ1204は、40個の遅延jのすべてについての、2の平方根で除算したデミウィンデージセレクタ値603B(SDW(j))のグラフである。
図12のグラフに現れる最大値は、メインウィンデージセレクタの第35番目の遅延SMW(35)である。これは、参照番号1206によって示されている。画像312は、ターゲットグリッドからまったくオフセットされず、ターゲットグリッドとアライメントされているので、デミウィンデージセレクタ値603B(SDW(j))は位置特定に寄与しておらず、よって、粗いウィンデージLは「35」に等しい。こうして、画像312が絶対位置(4、35)に位置することが、突き止められる。
B 細かい位置 (FINE POSITION)
下記は、本発明の一実施形態による、細かい位置データ生成装置612(図6)が行う細かい位置決定プロセスの説明である。一実施形態では、ウィンデージおよびエレベーションについて同じプロセスを使用するので、細かいウィンデージ決定についてだけ説明する。上記の粗い位置決定の後、画像位置を、M3(式VI)の2つの連続したオーバーラップする16要素ベクトルの間に入れ(bracketed)、合計で17個の(3値)要素を作成する。M3の17個の選択された要素は、M1(式IX)およびM2(式X)内の2つの17要素のバイナリベクトルに対応する。M1およびM2の選択されたサブセットは、MS1およびMS2とそれぞれラベリングされ、ここで、「S」は「選択された」の意味である。ウィンデージについて選択されたサブセットは、MS1およびMS2であり、エレベーションについて選択されたサブセットは、MS1およびMS2である。本発明の一形態では、粗い位置データ生成装置610が、MS1 611A(図6)、MS2 611B、MS1 611C、MS2 611Dを求め、これらの4つのベクトルを、細かい位置データ生成装置612に出力する。図6に示すように、細かい位置データ生成装置612はまた、ウィンデージベクトル318(W)およびエレベーションベクトル314(V)を受け取る。
図3に示すように、一般に、捕捉された画像312は、通常、ターゲットピクセル線に正確に沿った位置にはない。このような場合、ウィンデージ次元における画像312の位置はさらに、1ターゲットピクセルをフラクション(fraction, 該ピクセルの何分かの一)613A(λ)に細かくすると共に(すなわち0≦λ<1)、エレベーション次元の1ターゲットピクセルをフラクション613B(λ)に細かくすることができる。粗い位置プロセスから、ウィンデージ位置が、第35番目の遅延と第36番目の遅延の間に位置すると判断された、と仮定する(すなわち、画像312は、図3に示された位置から、ピクセルの何分の一(フラクション)だけ右にオフセットされている)。このフラクションλは、第35番目の遅延と第36番目の遅延にそれぞれ対応する既知の選択されたベクトルMS1およびMS2を使用して、線形回帰(linear regression)によって推定されることができる。
一実施形態では、細かい位置決定プロセスは、ウィンデージ次元およびエレベーション次元で同じである。したがって、以下の説明では、選択したベクトルMS1およびMS2、および、ピクセルのフラクション位置λについては、下付き文字Wおよび下付き文字Vは使用しない。以下の説明および式は、ウィンデージ次元およびエレベーション次元の両方に適用可能であることが理解されよう。
計算されたウィンデージベクトル(W)と、白ピクセル、灰色ピクセル、黒ピクセルについての未知のセンサ記録値との間の関係は、次の式XIIIによって与えられる。
式 XIII
[w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12,w13,w14,w15,w16]=(1−λ)・[w,g,b,g,g,g,g,g,w,g,b,g,g,g,g,g]+λ・[g,b,g,g,g,g,g,w,g,b,g,g,g,g,g,w]
ここで、w1、w2、…w16は、ウィンデージベクトル(W)の計算された値である。λは、ピクセルのフラクション位置である。wは、白ピクセルについての未知のセンサ記録値である。gは、灰色ピクセルについての未知のセンサ記録値である。bは、黒ピクセルについての未知のセンサ記録値である。
一実施形態では、ウィンデージベクトルWではなくゼロ平均ウィンデージベクトルWを、式XIIIで使用する。細かい位置回帰プロセスは、平均値の影響を受けない。
式XIIIに定義された関係は、4つの未知数を伴う16個の式に拡張されることができる。本発明の一形態では、ベストフィット(最良にフィットする)解は、線形回帰によって提供される。本発明の一実施形態は、ほとんど計算を使用しないブロック回帰(Block Regression)と呼ばれる線形回帰の特殊な形式を使う。大部分の計算は、高速デジタルハードウェアアキュムレータとカウンタで実現されることができる。
ブロック回帰プロセスの一形態では、まず16個の式のうち同じタイプの式を合計することにより5つの式に低減する。この方法で式を合計すると、プロセスの複雑さが低減され、データノイズが平均化される。したがって、同じタイプの式を合計することによって、式XIIIは、次の式XIVによって与えられる形式に書き直されることができる。
式 XIV
[w8+w16,w1+w9,w2+w10,w3+w11,w4+w5+w6+w7+w12+w13+w14+w15]=(1−λ)・[2g,2w,2g,2b,8g]+λ・[2w,2g,2b,2g,8g]
ここで、w1、w2、…w16は、計算されたウィンデージベクトルの値(W)である。λは、ピクセルのフラクションの位置である。wは、白ピクセルについての未知のセンサ記録値である。gは、灰色ピクセルについての未知のセンサ記録値である。bは、黒ピクセルについての未知のセンサ記録値である。
本発明の一形態では、式の合計は、図13に示す回路によって自動的に達成される。図13は、本発明の一実施形態による、SUMおよびNUMパラメータ生成装置1300を示すブロック図である。一実施形態では、パラメータ生成装置1300は、細かい位置データ生成装置612(図6)の一部である。パラメータ生成装置1300は、5つのアキュムレータ1314、1316、1318、1350、1352、5つのカウンタ1320、1322、1324、1354、1356、3つのANDゲート1328、1330、1332、ANDゲートの入力における4つのインバータ1334、1336、1338、1340、および、2つの遅延(D)素子1344、1348を含む。
パラメータ生成装置1300への入力は、非ゼロ平均ウィンデージベクトル1326(W)と、2つの17ビットの選択されたバイナリターゲットベクトル1342および1346(MS1およびMS2)を含む。パラメータ生成装置1300の出力は、5つの合計1302、1304、1306、1358、1360(本明細書ではそれぞれ、SUMI、SUMV、SUMII、SUMIII、SUMIVとも呼ぶ)、および、5つの数、すなわち「nums」1308、1310、1312、1362、1364(本明細書ではそれぞれ、NUMII、NUMV、NUMI、NUMIV、NUMIIIとも呼ぶ)を含む。
ウィンデージベクトル1326(W)は、5つのアキュムレータ1314、1316、1318、1350、1352のそれぞれにシフトされる。選択されたバイナリターゲットベクトル1342および1346(MS1およびMS2)のそれぞれの17ビットは、パラメータ生成装置1300に同時にシフトされる。任意の所与の時に、各ベクトル1342および1346の2つのシーケンシャルな要素が、遅延素子1344および1348によってそれぞれ分離される。各クロックサイクルの間、ベクトル1342および1346(MS1およびMS2)の4つのビット、すなわちMS1(j)、MS1(j−1)、MS2(j)、MS2(j−1)が現れる。ここで、jは、選択されたバイナリターゲットベクトル1342および1346(MS1およびMS2)のビットを識別するインデックスである。インデックスjは、粗い位置データ生成装置610によって決定される値から開始して、16クロック長にわたる。現れる4ビットの論理組み合わせは、遷移タイプ(たとえば、灰色から白、白から灰色、灰色から黒、黒から灰色、灰色から灰色)を識別し、5つのアキュムレータ1314、1316、1318、1350、1352および5つのカウンタ1320、1322、1324、1354、1356のクロックを選択的にイネーブルまたはディスエーブルし、合計で10の値1302、1304、1306、1358、1360、1308、1310、1312、1362、1364を生成する。
ANDゲート1328は、MS1(j)および反転(インバート)されたMS2(j)を受け取り、ANDゲート1328の出力が「高」のとき(第1の遷移タイプに対応する)、アキュムレータ1314およびカウンタ1324をイネーブルする。ANDゲート1330は、反転されたMS1(j)および反転されたMS1(j−1)を受け取り、ANDゲート1330の出力が「高」のとき(第5の遷移タイプに対応する)、アキュムレータ1316およびカウンタ1322をイネーブルする。ANDゲート1332は、MS1(j−1)および反転されたMS2(j−1)を受け取り、ANDゲート1332の出力が「高」のとき(第2の遷移タイプに対応する)、アキュムレータ1318およびカウンタ1320をイネーブルする。MS2(j−1)が「高」のとき(第4の遷移タイプに対応する)、アキュムレータ1352およびカウンタ1354がイネーブルされる。MS2(j)が「高」のとき(第3の遷移タイプに対応する)、アキュムレータ1350およびカウンタ1356がイネーブルされる。
次の表2は、左から右のピクセル遷移の5つの可能なタイプIからVと、これに対応する遷移に関する論理イネーブル式を示す。
(表2)

タイプ 遷移 論理イネーブル式
I gからw Type I Enable = MS1(j) AND NOT MS2(j)
II wからg Type II Enable = MS1(j-1) AND NOT MS2(j-1)
III gからb Type III Enable = MS2(j)
IV bからg Type IV Enable = MS2(j-1)
V gからg Type V Enable = NOT MS1(j) AND NOT MS1(j-1)
表2に示す5つのタイプの遷移は、5つのカウンタ1320、1322、1324、1354、1356のクロックをイネーブルし、5つの数1308、1310、1312、1362、1364をそれぞれ生成する。同じ遷移は、5つのアキュムレータ1314、1316、1318、1350、1352のクロックをイネーブルし、ウィンデージベクトル1326(W)の要素を累積し、これによって、5つの合計1302、1304、1306、1358、1360をそれぞれ生成する。
生成装置1300では、ウィンデージベクトル(W)の代わりにゼロ平均ウィンデージベクトル(W)を使用することもできる。エレベーションについてのNUMおよびSUMパラメータ1308、1310、1312、1362、1364、1302、1304、1306、1358、1360を生成するために、ウィンデージベクトル1326(W)を、エレベーションベクトル(V)またはゼロ平均エレベーションベクトル(V)で置き換える。上記の説明は、55×55ピクセルのターゲット106A(図3)が使用されていると仮定している。711×711ピクセルのターゲット106B(図4A)についても同じ回路1300が使用できるが、現在のインデックスjが32個の値に及んで、ウィンデージベクトル1326(W)の32要素を全部使う点が異なる。本発明の一形態による、5つのSUMパラメータ1302、1304、1306、1358、1360、および、5つのNUMパラメータ1308、1310、1312、1362、1364を生成するパラメータ生成装置1300の動作は、次の擬似コード例Iによってコンピュータ擬似コードで表わされる。
擬似コード例I
For i=1 to 32

if Type(i)=I,SumI=SumI+W(i)
NumI=NumI+1

if Type(i)=II,SumII=SumII+W(i)
NumII=NumII+1

if Type(i)=III,SumIII=SumIII+W(i)
NumIII=NumIII+1

if Type(i)=IV,SumIV=SumIV+W(i)
NumIV=NumIV+1

if Type(i)=V,SumV=SumV+W(i)
NumV=NumV+1

End loop i
本発明の一形態では、細かい位置データ生成装置612は、パラメータ生成装置1300により生成された5つのNUMおよび5つのSUMパラメータ1308、1310、1312、1362、1364、1302、1304、1306、1358、1360から、ピクセルのフラクション位置(λ)を求める。図14は、本発明の一実施形態による、ピクセルのフラクション位置(λ)を求める方法1400を示すフロー図である。一実施形態では、細かい位置データ生成装置612は、方法1400を実行するように構成される。
方法1400の1401において、上記の式XIIIにより定義される16個の式のうち、同じタイプの式を合計することにより、5つの等式(式XIV)に低減する。本発明の一形態では、1401での式の低減は、図13に示すパラメータ生成回路1300が行う(すなわち、一実施形態では、式は、ハードウェアの「タイピング(typing)」によって低減される)。
方法1400の1402は、「灰色(GREY)」ステップと呼ばれ、細かい位置データ生成装置612は、式XIVの未知のグレーレベルgを求める。一実施形態では、生成装置612は、次の式XVに基づいて、未知のグレーレベルgを確立する。
式 XV
g=SUMV/NUMV
一実施形態によれば、式XV中の除数は、2、3、4、5、6、7、または8である。
1404は、「均等(EVEN-UP)」ステップと呼ばれ、細かい位置データ生成装置612は、1402で求めたグレーレベルの値gを使用して、上記の式XIVで定義された5つの式を、4つの式に低減する。一実施形態では、4つの式は、次の式XVI−XIXによって与えられる。
式 XVI
SUMI=SUMI−g・NUM1
式 XVII
SUMII=SUMII−g・NUMII
式 XVIII
SUMIII=SUMIII−g・NUMIII
式 XIX
SUMIV=SUMII−g・NUMIV
1406は、「一致(MATCHING)」ステップと呼ばれ、細かい位置データ生成装置612は、NUMIをNUMIIに、NUMIIIをNUMIVに等しくする。この擬似コード例IIを示す。
擬似コード例II
Figure 0004895662
1408は、「分離(ISOLATING)」ステップと呼ばれ、細かい位置データ生成装置612は、次の式XXおよびXXIに基づいて、式XIVに対応する行列中の不要の係数を消去する。
式 XX
SUMII=SUMI+SUMII
式 XXI
SUMIV=SUMIII+SUMIV
1410は、「ラムダ(LAMBDA)」ステップと呼ばれ、細かい位置データ生成装置612は、ピクセルのフラクション位置λを計算する。これを、次の式XXIIに示す。
式 XXII
λ=(SUMI−SUMIII)/(SUMII−SUMIV)
1412は「光強度(LIGHT INTENSITIES)」ステップと呼ばれ、細かい位置データ生成装置612は、式XIVにおいて、残りの未知の光レベルwおよびbを計算する。これらの光レベルの算出は、位置補間に必要ではないが、次の式XXIIIとXXIVに示すように、明らかになったピクセルのフラクション位置λ(式XXIIから求まる)と最新に更新された数を使用して、達成されることができる。
式 XXIII
Figure 0004895662
式 XXIV
Figure 0004895662
まとめると、本発明の一形態では、それぞれの捕捉された画像312を低減して、次の式XXV(10の既知の数SUMI〜SUMVおよびNUMI〜NUMVを伴う)および4つの未知数(λ、g、w、b)で与えられた形式にすることができる。
式 XXV
[SUMI,SUMII,SUMIII,SUMIV,SUMV]=(1−λ)・[NUMI・g,NUMII・w,NUMIII・g,NUMIV・b,NUMV・g]+λ・[NUMI・w,NUMII・g,NUMIII・b,NUMIV・g,NUMV・g]
ここで、
SUMIは、パラメータ生成装置1300により生成されたパラメータ1302の値。
SUMIIは、パラメータ生成装置1300により生成されたパラメータ1306の値。SUMIIIは、パラメータ生成装置1300により生成されたパラメータ1358の値。
SUMIVはパラメータ生成装置1300により生成されたパラメータ1360の値。
SUMVは、パラメータ生成装置1300により生成されたパラメータ1304の値。
NUMIは、パラメータ生成装置1300により生成したパラメータ1312の値。
NUMIIは、パラメータ生成装置1300により生成されたパラメータ1308の値。NUMIIIは、パラメータ生成装置1300により生成されたパラメータ1364の値。
NUMIVは、パラメータ生成装置1300により生成されたパラメータ1362の値。NUMVは、パラメータ生成装置1300により生成されたパラメータ1310の値。
λは、ピクセルのフラクション位置。
wは、白ピクセルについての未知のセンサ記録値。gは、灰色ピクセルについての未知のセンサ記録値。bは、黒ピクセルについての未知のセンサ記録値。
式XXVは、ウィンデージ次元およびエレベーション次元のどちらにも適用可能である。行列表記では、式XXVに対応する式セットは、次の式XXVIに与えられる。
式 XXVI
Figure 0004895662
一実施形態では、細かい位置データ生成装置612は、方法1400を実行し、式XXVIで定義された5つの式の組から4つの未知数すべてを解く。
図15は、本発明の一実施形態による、図14に示す方法1400を使用して、例としてのウィンデージベクトル(W)についてのピクセルのフラクション位置λを求める方法を示す図である。例としてのウィンデージベクトル(W)は、ターゲット106Aの中央部分316A(ccc)の右側の第1の白ピクセルで始まり、小さなオフセット0.05を伴う、と仮定する。例としてのウィンデージベクトル(W)には、0.25RMSのノイズ項も追加される。ウィンデージベクトル(W)は、次の式XXVIIによって与えられる。
式 XXVII
W=0.95・[15,8,1,8,8,15,8,1,8,8,8,8,8,15,8,1]+0.05・[8,1,8,8,15,8,1,8,8,8,8,8,15,8,1,8]+noise
パラメータ生成装置1300は、上記の式XXVIIに与えられたウィンデージベクトル(W)に基づいて、図15のテーブル1502Aの最初の2つの列に与えられた5つのSUM値および5つのNUM値を生成する。テーブル1502Aの第3の列から第8の列は、上記の式XXVIに与えられた行列に対応する。こうして、テーブル1502Aの第2の列のNUM値を使用して、式XXVIの行列によって定義されるように、テーブル1502Aの第3の列から第8の列を完成させる。「一致しない(UNMATCHED)」という言葉は、テーブル1502Aの右側の行IおよびIIに現れる。これは、NUMIがNUMIIに一致しない(すなわち等しくない)ことを示す。「一致した(MATCHED)」という言葉は、テーブル1502Aの右側の行IIIとIVに現れる。これは、NUMIIIがNUMIVに一致していることを示す。一実施形態では、一致していないNUM値を修正してNUM値を一致させる。これは、以下に後述される。
方法1400を実行している最中、テーブル1502Aの一部の値は変わるが、テーブル1502Aの他の値は同じままである。テーブル1502Aに対する変更は、テーブル1502B、1502C、および1502Dに示す(本明細書では、テーブル1502A〜1502Dを、集合的にテーブル1502と呼ぶ)。図15に示すように、テーブル1502のうち、或るテーブルから次のテーブルの間で変わる値は円で囲み、前のテーブルの値から変わらない値は、円で囲んでいない。
方法1400の1402では、細かい位置データ生成装置612は、式XIVで未知の灰色(グレー)レベルgを求める。図15の1504に示すように、上記の式XVを使用して、グレーレベルgは「8.01」と算出される。
方法1400の1404は、「均等(EVEN UP)」ステップと呼ばれ、細かい位置データ生成装置612は、1402で算出されたグレーレベルの値gを使用して、上記の式XIVで定義された5つの式を4つに低減する。4つの式は、上記の式XVIからXIXによって与えられる。SUM値は、式XVIからXIXに基づいて、テーブル1502Bの第1の列に示される値に修正され、テーブルの第5の行は除去される。テーブル1502Bの第4の列の値も、前のテーブル1502Aの値から変更される。単語「等しい(even)」が、テーブル1502Bの右側行IからIVに現れ、これは、「均等」ステップ1404が行われたことを示す。
方法1400の1406は、「一致(MATCHING)」ステップと呼ばれ、細かい位置データ生成装置612は、NUMIがNUMIIに等しく、NUMIIIがNUMIVに等しくなるようにする。これは、上記の擬似コード例IIに示される。一致ステップの後、SUMIおよびNUMIの値は、テーブル1502Cに示すように変更され、第1の行の第6と第7の列の値も変更される。テーブル1502Cの行Iの右側の「一致した(MATCHED)」という言葉は、NUMIが今やNUNIIと一致する、ことを示す。
方法1400の1408は、「分離(ISOLATING)」ステップと呼ばれ、細かい位置データ生成装置612は、上記の式XXとXXIに基づいて、式XXVIに与えられた行列内の不要な係数を消去する。分離ステップの後に、テーブル1502Dに示すように、SUMIIおよびSUMIVの値は変更される。第2行の第6と第7の列の値、および第4の行の第7と第8の列の値も変更される。テーブル1502Dの行IIおよびIVの右側の「分離された」という言葉は、これらの2つの行が分離され、不要な係数がこれらの2つの行から消去されたことを示す。
方法1400の1410は、「ラムダ(LAMBDA)」ステップと呼ばれ、細かい位置データ生成装置612は、上記の式XXIIを使用して、ピクセルのフラクション位置λを計算する。ピクセルのフラクション位置λは、上記の式XXIIを使用して「0.054」と算出される。これは図15の1506に示される。ピクセルのフラクション位置λを、粗い位置Lに加え、最終的なウィンデージ位置を生成する。
方法1400の1412は、「光強度(LIGHT INTENSITIES)」ステップと呼ばれ、細かい位置データ生成装置612は、上記の式XXIIIおよびXXIVを使用して、残りの未知の光レベルwおよびbを計算する。上記の式XXIIIおよびXXIVを使用すると、未知の光レベルwおよびbは、それぞれ「15.07」および「1.22」と算出される。これは図15の1508に示される。ゼロ平均ベクトルWを使用する場合、λは影響を受けないが、gがゼロに近くなりbが負になるよう、光の値が反映されることとなる。
こうして、上記のブロック回帰プロセスに基づき、細かい位置データ生成装置612は、式XXVIの4つの未知の値(λ、g、w、b)を解く。ピクセルのフラクション位置λに対して計算された値(0.054)は、仮定されたオフセットの値(0.05)に非常に近いが、追加されたノイズのために、これらの値は同一ではない。
本発明の一形態では、捕捉した画像の位置を識別するために埋め込まれた位置コードを使用する従来技術とは異なり、ターゲット全体にわたる各N×N画像(たとえば711×711ピクセルターゲットについて、N>22)が、設計により一意的であるので、このような埋め込まれた位置コードは必要ではなく、よって、画像内でこれらを探索して解読する必要はない。
本発明の一実施形態で実施されるブロック回帰処理は、十分に冗長なデータに対するベストフィット解を抽出し、残りの相互相関効果を効果的に相殺(neutralize)させることができる。本発明の一実施形態による2ビットバイナリ形態の3レベル(たとえば−1、0、1)ターゲットグレースケールにより、共通のデジタル論理ゲート、カウンタ、アキュムレータを使用した高速の、粗い位置決定およびほとんどの細かい位置決定が可能になる。本発明の実施形態の適度なハードウェア要件により、高スループットで経済的な並列1次元動作が可能になる。本発明の一形態では、二次元の相関を行わずに二次元の絶対位置を求めることができる。
本発明の一形態では、位置コード化は、各フレームに一体的に含まれている。しかしながら、副産物として、回帰プロセス測定は、平均の灰色−白−黒の強度を測定する。さらに簡単で迅速なコード化のために、これらの値を、あるフレームから別のフレームに使用してもよい。本発明の実施形態で行った回帰処理は、インテリジェントに許容誤差を広げる共に、結果の精度を高め、少数のプロセッサ介入の数学的演算が遅めでも、これを達成することができる。
本明細書では特定の実施形態を図示し説明したが、当業者であれば、本発明の範囲から離れることなく、本明細書に示し説明した特定の実施形態を種々の代替の実装および/または等価の実装に置き換えられることが理解されるであろう。本出願は本明細書に論じた特定の実施形態の、任意の適応例および変形例もカバーすることを目的としている。したがって、本発明は請求項および請求項の等価物によってのみ制限されることが意図される。
本発明の一実施形態による、6自由度に対するステージの「ホーム」ポジションを見つけるためのシステムを示す簡略化した図。 本発明の一実施形態による、センサを示す簡略化した図。 本発明の一実施形態による、55×55ピクセルの3グレースケール(3値)のターゲットを示す図。 本発明の一実施形態による、711×711ピクセルの3グレースケール(3値)ターゲットを示す図である。 本発明の一実施形態による、図4に示すターゲットの円で囲まれた部分の拡大図を示す図。 本発明の一実施形態による、55×55ピクセルの2グレースケール(2値)のターゲットを示す図である。 本発明の一実施形態による、図1に示す位置データ生成装置の主要構成要素を示すブロック図。 本発明の一実施形態による、図6の構成図で示したウィンデージ用の粗いメインロケータの主要構成要素を示すブロック図。 本発明の一実施形態による、図6の構成図で示したウィンデージ用の粗いデミロケータの主要構成要素を示すブロック図。 本発明の一実施形態による、図6の構成図で示したエレベーション用の粗いメインロケータの主要構成要素を示すブロック図。 本発明の一実施形態による、図6の構成図で示したエレベーション用の粗いデミロケータの主要構成要素を示すブロック図。 本発明の一実施形態による、エレベーション用の粗いセレクタのグラフを示す図。 本発明の一実施形態による、ウィンデージ用の粗いセレクタのグラフを示す図。 本発明の一実施形態による、SUMおよびNUMのパラメータ生成装置を示すブロック図。 本発明の一実施形態による、ピクセルのフラクション位置を求める方法を示すフロー図。 本発明の一実施形態による、図14に示す方法を使用して、たとえばウィンデージベクトルに関するピクセルのフラクション位置の決定を説明する図。
符号の説明
100 システム
101 位置データ生成装置
102 センサ
106 ターゲットパターン
108 対象物
202 光源
204 イメージセンサチップ
206 光学素子

Claims (12)

  1. 二次元における絶対位置を感知するためのシステム(100)であって、
    二次元ターゲットパターン(106)を有するターゲットと、
    前記ターゲットパターンの第1のサブセットの画像(312)を捕捉するセンサ(102)と、
    前記画像からピクセル値の行の合計を表す第1の画像ベクトル(314)、および、前記画像からピクセル値の列の合計を表す第2の画像ベクトル(318)を生成するコントローラ(101)であって、前記第1および第2の画像ベクトルと、前記ターゲットパターンを表し、画像によって変わらない予め計算される一定のベクトルの複数のターゲットベクトル(601B、601C、601D、601E)とに基づいて、前記ターゲットパターンの原点に対する前記第1のサブセットの二次元の絶対位置(611E、611F、613A、613B)を求めるよう構成されたコントローラと、
    を備えるシステム。
  2. 前記ターゲットパターンは、4つ未満のグレーレベルを有する、
    請求項1に記載のシステム。
  3. 前記ターゲットパターンは、第1のグレーレベルを有する第1の複数の平行線(302)と、第2のグレーレベルを有する第2の複数の平行線(304)とを有し、該第1の複数の線は、該第2の複数の線に対して平行である、
    請求項1に記載のシステム。
  4. 前記ターゲットパターンは、第1のグレーレベルを有する第3の複数の平行線(306)と、第2のグレーレベルを有する第4の複数の平行線(308)とを有し、該第3の複数の線は、該記第4の複数の線に対して平行であり、前記第1および第2の複数の線は、該第3および第4の複数の線に対して直交である、
    請求項3に記載のシステム。
  5. 前記第1、第2、第3、および第4の複数の線は、第3のグレーレベルを有するバックグラウンド(310)上に形成される、
    請求項4に記載のシステム。
  6. 前記ターゲットパターン内の前記平行線の間隔は、変化している、
    請求項4に記載のシステム。
  7. 前記ターゲットパターンは、該ターゲットパターンの中心に対して2次元対称である、
    請求項6に記載のシステム。
  8. 前記コントローラは、 前記第1の画像ベクトルおよび前記第2の画像ベクトルの要素を選択的に累積することによって、複数の合計(1302、1304、1306、1358、1360)を生成する複数のアキュムレータ(1314、1316、1318、1350、1352)と、複数の数(1308、1310、1312、1362、1364)を生成する複数のカウンタ(1320、1322、1324、1354、1356)とを含む、
    請求項1に記載のシステム。
  9. 前記アキュムレータおよび前記カウンタは、前記ターゲットベクトルの選択された部分によって制御され、
    該選択された部分は、前記原点に対する前記第1のサブセットの粗い二次元絶対位置(611Eと611F)に対応し、
    前記コントローラは、前記複数の合計および前記複数の数に基づいて、前記原点に対する前記第1のサブセットの細かい二次元絶対位置(613Aと613B)を求めるよう構成される、
    請求項8に記載のシステム。
  10. 対象物(108)の位置を求めるための方法であって、
    前記対象物上に、二次元のターゲットパターン(106)を設けるステップと、
    前記ターゲットパターンの第1の部分の画像(312)を捕捉するステップと、
    前記画像から、ピクセル値の行の合計を表す第1の画像ベクトル(314)を生成するステップと、
    前記画像から、ピクセル値の列の合計を表す第2の画像ベクトル(318)を生成するステップと、
    前記第1の部分の二次元絶対位置(611E、611F、613A、613B)を表す第1組の位置データ(611E、611F、613A、613B)を生成するステップであって、該第1組の位置データは、前記第1および第2の画像ベクトルと、前記ターゲットパターンを表し、画像によって変わらない予め計算される一定のシーケンスの複数のターゲットシーケンス(601B、601C、601D、601E)とに基づいて生成される、ステップと、
    前記対象物の二次元の絶対位置を表す第2組の位置データを生成するステップであって、該生成される第2組の位置データは、前記第1組の位置データに基づいて生成される、ステップと、
    を含む、方法。
  11. 前記複数のターゲットベクトルは、第1のターゲットベクトルと、第2のターゲットベクトルと、第3のターゲットベクトルと、第4のターゲットベクトルとを含み、
    前記コントローラは、前記第1の画像ベクトルと前記第1のターゲットベクトルと前記第2のターゲットベクトルとに基づいて第1の複数のセレクタ値を生成し、前記第1の画像ベクトルと前記第3のターゲットベクトルと前記第4のターゲットベクトルとに基づいて第2の複数のセレクタ値を生成し、前記第2の画像ベクトルと前記第1のターゲットベクトルと前記第2のターゲットベクトルとに基づいて第3の複数のセレクタ値を生成し、前記第2の画像ベクトルと前記第3のターゲットベクトルと前記第4のターゲットベクトルとに基づいて第4の複数のセレクタ値を生成するよう構成され、
    前記コントローラは、前記第1の複数のセレクタ値と前記第2の複数のセレクタ値との比較に基づいて第1の次元における原点に対する前記第1のサブセットの粗い絶対位置を求め、前記第3の複数のセレクタ値と前記第4の複数のセレクタ値との比較に基づいて第2の次元における原点に対する前記第1のサブセットの粗い絶対位置を求めるよう構成された、
    請求項6に記載のシステム。
  12. 前記二次元ターゲットパターンは、第1のグレーレベルを有するバックグラウンドと、バックグラウンド上に形成された線の間の間隔が変化する複数の直交する線とを含み、前記複数の直交する線は、第2のグレーレベルを有する第1のサブセットの線と、第3のグレーレベルを有する第2のサブセットの線とを含み、
    前記複数のターゲットシーケンスは、第1と、第2のと、第3と、第4のバイナリターゲットシーケンスを含み、前記方法はさらに、
    第1の画像ベクトルと、第1と第2のバイナリターゲットシーケンスとに基づく第1の複数の値を生成するステップと、
    第1の画像ベクトルと、第3と第4のバイナリターゲットシーケンスとに基づく第2の複数の値を生成するステップと、
    第2の画像ベクトルと、第1と第2のバイナリターゲットシーケンスとに基づく第3の複数の値を生成するステップと、
    第2の画像ベクトルと、第3と第4のバイナリターゲットシーケンスとに基づく第4の複数の値を生成するステップと、
    前記第1と第2の複数の値の比較に基づき第1の次元における前記第1の部分の粗い絶対位置を求めるステップと、
    前記第3と第4の複数の値の比較に基づき第2の次元における前記第1の部分の粗い絶対位置を求めるステップと、
    を含む、
    請求項10に記載の方法。
JP2006111615A 2005-04-22 2006-04-14 ターゲットパターンを使用して、二次元の絶対位置を感知するシステム Expired - Fee Related JP4895662B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/112,623 2005-04-22
US11/112,623 US7230727B2 (en) 2005-04-22 2005-04-22 System for sensing an absolute position in two dimensions using a target pattern

Publications (2)

Publication Number Publication Date
JP2006300939A JP2006300939A (ja) 2006-11-02
JP4895662B2 true JP4895662B2 (ja) 2012-03-14

Family

ID=37132887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006111615A Expired - Fee Related JP4895662B2 (ja) 2005-04-22 2006-04-14 ターゲットパターンを使用して、二次元の絶対位置を感知するシステム

Country Status (5)

Country Link
US (2) US7230727B2 (ja)
JP (1) JP4895662B2 (ja)
CN (1) CN1851399A (ja)
DE (1) DE102005053733B4 (ja)
NL (1) NL1031621C2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0413827D0 (en) 2004-06-21 2004-07-21 Renishaw Plc Scale reading apparatus
GB0428165D0 (en) * 2004-12-23 2005-01-26 Renishaw Plc Position measurement
US7869662B2 (en) 2005-04-22 2011-01-11 Agilent Technologies, Inc. System architecture for sensing an absolute position using a target pattern
KR100845321B1 (ko) * 2006-08-18 2008-07-10 주식회사 애트랩 광 네비게이션 장치 및 이 장치의 오프셋 보정 방법.
EP2517148B1 (en) * 2009-12-21 2014-03-26 Datalogic IP TECH S.r.l. Method for decoding a linear bar code
JP6099908B2 (ja) * 2012-09-13 2017-03-22 キヤノン株式会社 2次元アブソリュートエンコーダおよびスケール
US9620400B2 (en) * 2013-12-21 2017-04-11 Kla-Tencor Corporation Position sensitive substrate device
DE102016220573A1 (de) * 2016-10-20 2018-04-26 Robert Bosch Gmbh Verfahren und Vorrichtung zum Bestimmen einer Position und/oder Orientierung eines frei schwebenden Elements
CN107525471B (zh) * 2017-08-21 2020-02-04 合肥工业大学 二维绝对式编码三自由度运动平台测量系统
KR102041881B1 (ko) * 2018-10-17 2019-11-27 한국표준과학연구원 3 자유도 평면 정렬 장치
CN111880575B (zh) * 2020-08-10 2023-03-24 重庆依塔大数据研究院有限公司 基于颜色追踪的控制方法、装置、存储介质及机器人

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686329A (en) * 1985-06-21 1987-08-11 Advanced Robotic Technology, Inc. Absolute position mouse
US5073954A (en) * 1989-02-28 1991-12-17 Electrocom Automation, Inc. Bar code location and recognition processing system
JP3262297B2 (ja) * 1993-04-27 2002-03-04 株式会社ワコム 光学式座標入力装置
JP3277052B2 (ja) * 1993-11-19 2002-04-22 シャープ株式会社 座標入力装置、および座標入力方法
JPH0836452A (ja) * 1994-07-21 1996-02-06 Oki Electric Ind Co Ltd 筆記ペン及び筆記ペン装置
US6303924B1 (en) * 1998-12-21 2001-10-16 Microsoft Corporation Image sensing operator input device
JP4011233B2 (ja) * 1999-05-24 2007-11-21 株式会社リコー 筆記記録システム
US6660997B2 (en) * 2001-04-26 2003-12-09 Creo Srl Absolute position Moiré type encoder for use in a control system
SE0103589L (sv) * 2001-10-29 2003-04-30 Anoto Ab Förfarande och anordning för avkodning av ett positionskodningsmönster
US6781694B2 (en) * 2002-07-16 2004-08-24 Mitutoyo Corporation Two-dimensional scale structures and method usable in an absolute position transducer
US6937349B2 (en) * 2003-05-02 2005-08-30 Mitutoyo Corporation Systems and methods for absolute positioning using repeated quasi-random pattern
GB2416894B (en) * 2004-07-29 2009-04-29 Hewlett Packard Development Co Products with data encoding pattern

Also Published As

Publication number Publication date
CN1851399A (zh) 2006-10-25
DE102005053733B4 (de) 2015-08-20
US7489409B2 (en) 2009-02-10
DE102005053733A1 (de) 2006-12-07
US20060238776A1 (en) 2006-10-26
US7230727B2 (en) 2007-06-12
NL1031621C2 (nl) 2007-12-11
JP2006300939A (ja) 2006-11-02
NL1031621A1 (nl) 2006-10-24
US20070237413A1 (en) 2007-10-11

Similar Documents

Publication Publication Date Title
JP4895662B2 (ja) ターゲットパターンを使用して、二次元の絶対位置を感知するシステム
Jeon et al. Depth from a light field image with learning-based matching costs
KR100869441B1 (ko) 이미지 공간 필터링 방법 및 그레인 영향 최소화 방법
US6108458A (en) Sparse array image correlation
CA3155485A1 (en) Systems and methods for structured illumination microscopy
KR20140090620A (ko) 광학 다회선 방법을 이용한 3d 구강내 측정
TW215122B (ja)
US8194743B2 (en) Displacement estimation device and method for the same
KR20180114049A (ko) 낮은 정보 컨텐츠 장면의 1차원 디지털 표현을 형성하는 머신 비전 시스템
Tang et al. An improved spatiotemporal correlation method for high-accuracy random speckle 3D reconstruction
Yan et al. Optimizing the De-Bruijn code of rotary optical encoders preventing from the photocurrent blooming
KR100728653B1 (ko) 광 포인팅 장치의 움직임 값 계산 방법과 이 방법을 이용한광 포인팅 장치
US7082225B2 (en) Two dimensional image recording and reproducing scheme using similarity distribution
Chen et al. Realtime structured light vision with the principle of unique color codes
CN114279356A (zh) 一种用于三维测量的灰度条纹图案设计方法
JP4002156B2 (ja) 画像内パターン位置検出方法、装置、プログラムおよびプログラムが記録された記録媒体
EP1040575B1 (en) Digital signal filter using weightless neural techniques
US20100103491A1 (en) Method for detecting position of reproduced hologram image and hologram apparatus
JPH02503965A (ja) 改良された標的連想法
JPH0993581A (ja) 動画像符号化装置の動き検出装置
JP2004333386A (ja) レチクル検査装置及びレチクル検査方法
TWI410894B (zh) 多樣板一維區塊匹配方法及其裝置,以及其應用之光學滑鼠
Murphy Accelerating structured light surface reconstruction with motion analysis
CN117115209A (zh) 一种图像处理方法、装置、设备和存储介质
JPH01167648A (ja) Dnaパターン読取り装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070511

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110405

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110506

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111202

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111220

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees