【誤訳訂正書】
【提出日】平成23年3月14日(2011.3.14)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【書類名】  明細書
【発明の名称】  位置決定−演算
【特許請求の範囲】
【請求項１】
表面上に位置コードを設ける方法であって、前記位置コードは、前記表面上の所定の座標軸に沿う方向に並べられるコード・ウィンドウを用いて、前記所定の座標軸に沿う方向の位置を符号化するものであり、
前記方法は、
複数の数字の並びで構成される循環数字列であって、前記循環数字列に含まれる所定長さの部分数字列の各々の前記循環数字列における場所が明確に決定されるという特性を有する前記循環数字列を用いることと、
前記循環数字列を構成する数字を表すマークを印刷することにより、前記表面上に、前記所定の座標軸と交差する方向に延びる前記循環数字列の少なくとも一部を、前記所定の座標軸に沿う方向に複数並べることと、
を含み、
一つの前記コード・ウィンドウには、前記所定の座標軸に沿う方向で隣り合う複数の前記循環数字列にそれぞれ含まれる複数の前記部分数字列が含まれており、各部分数字列の循環数字列における場所には、前記隣り合う循環数字列の間で差が設けられており、
前記表面上の所定の座標軸に沿う方向の前記コード・ウィンドウの位置は、前記差に基づいて符号化されており、前記位置コードによって符号化されるべき前記所定の座標軸に沿う方向の位置は、前記コード・ウィンドウの位置に基づいて符号化されていることを特徴とする方法。
【請求項２】
前記隣り合う循環数字列の間に設けられる前記差が０ではない請求項１に記載の方法。
【請求項３】
前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置が、混合基数で表された前記差に基づいて符号化されている請求項１または２に記載の方法。
【請求項４】
前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置が、複数の上位桁の前記差と１つの最下位桁の前記差を用いて符号化されており、前記１つの最下位桁の差が区別可能である請求項１〜３のいずれかに記載の方法。
【請求項５】
前記位置コードは、前記表面上の前記所定の座標軸と交差する第２の座標軸に沿う方向に並べられるコード・ウィンドウを用いて、前記第２の座標軸に沿う方向の位置を符号化することができるものであり、
前記方法は、
複数の数字の並びで構成される第２の循環数字列であって、前記第２の循環数字列に含まれる所定長さの第２の部分数字列の各々の前記第２の循環数字列における場所が明確に決定されるという特性を有する前記第２の循環数字列を用いることと、
前記マークとして前記第２の循環数字列を構成する数字を表すことが可能なマークを用いることにより、前記マークの印刷によって、前記表面上に、前記所定の座標軸に沿う方向に延びる前記第２の循環数字列の少なくとも一部を、前記第２の座標軸に沿う方向に複数並べることと、
を含み、
一つの前記コード・ウィンドウには、前記第２の座標軸に沿う方向で隣り合う複数の前記第２の循環数字列にそれぞれ含まれる複数の前記第２の部分数字列が含まれており、各第２の部分数字列の前記第２の循環数字列における場所は、前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置に応じて、前記第２の循環数字列が開始される場所からずらされており、
前記表面上の第２の座標軸に沿う方向の前記コード・ウィンドウの位置は、前記第２の循環数字列が開始される場所に基づいて符号化されており、前記位置コードによって符号化されるべき前記第２の座標軸に沿う方向の位置は、前記第２の座標軸に沿う方向の前記コード・ウィンドウの位置に基づいて符号化されている請求項１〜４の何れか１つに記載の方法。
【請求項６】
前記マークは、前記表面に設けられたラスター線の交点に関連付けられており、
前記交点からの前記マークのずれにより、前記循環数字列を構成する数字と前記第２の循環数字列を構成する数字が表されている請求項５に記載の方法。
【請求項７】
表面上に位置コードを設けるためのプログラムであって、前記位置コードは、前記表面上の所定の座標軸に沿う方向に並べられるコード・ウィンドウを用いて、前記所定の座標軸に沿う方向の位置を符号化するものであり、
前記プログラムは、コンピュータに、
循環数字列を構成する数字を表すマークを印刷することにより、前記表面上に、前記所定の座標軸と交差する方向に延びる前記循環数字列の少なくとも一部を、前記所定の座標軸に沿う方向に複数並べる処理を実行させ、
前記循環数字列は、複数の数字の並びで構成され、前記循環数字列に含まれる所定長さの部分数字列の各々の前記循環数字列における場所が明確に決定されるという特性を有するものであり、
一つの前記コード・ウィンドウには、前記所定の座標軸に沿う方向で隣り合う複数の前記循環数字列にそれぞれ含まれる複数の前記部分数字列が含まれており、各部分数字列の循環数字列における場所には、前記隣り合う循環数字列の間で差が設けられており、
前記表面上の所定の座標軸に沿う方向の前記コード・ウィンドウの位置は、前記差に基づいて符号化されており、前記位置コードによって符号化されるべき前記所定の座標軸に沿う方向の位置は、前記コード・ウィンドウの位置に基づいて符号化されていることを特徴とするプログラム。
【請求項８】
表面上に位置コードが設けられた製品であって、前記位置コードは、所定の座標軸に沿う方向に並べられるコード・ウィンドウを用いて、前記所定の座標軸に沿う方向の位置を符号化するものであり、
前記表面上には、循環数字列を構成する数字を表すマークを印刷することにより、前記所定の座標軸と交差する方向に延びる前記循環数字列の少なくとも一部が、前記所定の座標軸に沿う方向に複数並べられており、
前記循環数字列は、複数の数字の並びで構成され、前記循環数字列に含まれる所定長さの部分数字列の各々の前記循環数字列における場所が明確に決定されるという特性を有するものであり、
一つの前記コード・ウィンドウには、前記所定の座標軸に沿う方向で隣り合う複数の前記循環数字列にそれぞれ含まれる複数の前記部分数字列が含まれており、各部分数字列の循環数字列における場所には、前記隣り合う循環数字列の間で差が設けられており、
前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置は、前記差に基づいて符号化されており、前記位置コードによって符号化されるべき前記所定の座標軸に沿う方向の位置は、前記コード・ウィンドウの位置に基づいて符号化されていることを特徴とする製品。
【請求項９】
表面上に設けられた位置コードを復号化して、前記表面上の部分表面の位置を求める方法であって、
前記位置コードは、前記表面上の所定の座標軸に沿う方向に並べられるコード・ウィンドウを用いて、前記所定の座標軸に沿う方向の位置を符号化するものであり、
前記表面上には、循環数字列を構成する数字を表すマークを印刷することにより、前記所定の座標軸と交差する方向に延びる前記循環数字列の少なくとも一部が、前記所定の座標軸に沿う方向に複数並べられており、
前記循環数字列は、複数の数字の並びで構成され、前記循環数字列に含まれる所定長さの部分数字列の各々の前記循環数字列における場所が明確に決定されるという特性を有するものであり、
前記方法は、
前記部分表面に含まれる少なくとも一つの前記コード・ウィンドウを、前記所定の座標軸に沿う方向で特定することと、
前記少なくとも一つのコード・ウィンドウから、前記所定の座標軸に沿う方向で隣り合う複数の前記循環数字列にそれぞれ含まれる複数の前記部分数字列を特定することと、
前記隣り合う循環数字列の間で、各部分数字列の循環数字列における場所に設けられた差を求めることと、
前記差に基づいて、前記表面上の所定の座標軸に沿う方向の前記コード・ウィンドウの位置を求めることと、
前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置に基づいて、前記位置コードによって符号化された前記所定の座標軸に沿う方向の位置を求めることと、
を含むことを特徴とする方法。
【請求項１０】
混合基数で表された前記差に基づいて、前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置が求められる請求項９に記載の方法。
【請求項１１】
前記位置コードは、前記表面上の前記所定の座標軸と交差する第２の座標軸に沿う方向に並べられるコード・ウィンドウを用いて、前記第２の座標軸に沿う方向の位置を符号化することができるものであり、
前記マークとして第２の循環数字列を構成する数字を表すことが可能なマークを用いることにより、前記マークの印刷によって、前記表面上に、前記所定の座標軸に沿う方向に延びる前記第２の循環数字列の少なくとも一部が、前記第２の座標軸に沿う方向に複数並べられており、
前記第２の循環数字列は、複数の数字の並びで構成され、前記第２の循環数字列に含まれる所定長さの第２の部分数字列の各々の前記第２の循環数字列における場所が明確に決定されるという特性を有するものであり、
前記方法は、
前記部分表面に含まれる少なくとも一つの前記コード・ウィンドウを、前記第２の座標軸に沿う方向で特定することと、
前記少なくとも一つのコード・ウィンドウから、前記第２の座標軸に沿う方向で隣り合う複数の前記第２の循環数字列にそれぞれ含まれる複数の前記第２の部分数字列を特定することと、
各第２の部分数字列の前記第２の循環数字列における場所が、前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置に応じて、前記第２の循環数字列が開始される場所からずらされていることに基づいて、前記第２の循環数字列が開始される場所を求めることと、
前記第２の循環数字列が開始される場所に基づいて、前記表面上の第２の座標軸に沿う方向の前記コード・ウィンドウの位置を求めることと、
前記第２の座標軸に沿う方向の前記コード・ウィンドウの位置に基づいて、前記位置コードによって符号化された前記第２の座標軸に沿う方向の位置を求めることと、
を含む請求項９または１０に記載の方法。
【請求項１２】
表面上に設けられた位置コードを復号化して、前記表面上の部分表面の位置を求めるためのプログラムであって、
前記位置コードは、前記表面上の所定の座標軸に沿う方向に並べられるコード・ウィンドウを用いて、前記所定の座標軸に沿う方向の位置を符号化するものであり、
前記表面上には、循環数字列を構成する数字を表すマークを印刷することにより、前記所定の座標軸と交差する方向に延びる前記循環数字列の少なくとも一部が、前記所定の座標軸に沿う方向に複数並べられており、
前記循環数字列は、複数の数字の並びで構成され、前記循環数字列に含まれる所定長さの部分数字列の各々の前記循環数字列における場所が明確に決定されるという特性を有するものであり、
前記プログラムは、コンピュータに、
前記部分表面に含まれる少なくとも一つの前記コード・ウィンドウを特定する処理と、
前記少なくとも一つのコード・ウィンドウから、前記所定の座標軸に沿う方向で隣り合う複数の前記循環数字列にそれぞれ含まれる複数の前記部分数字列を特定する処理と、
前記隣り合う循環数字列の間で、各部分数字列の循環数字列における場所に設けられた差を求める処理と、
前記差に基づいて、前記表面上の所定の座標軸に沿う方向の前記コード・ウィンドウの位置を求める処理と、
前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置に基づいて、前記位置コードによって符号化された前記所定の座標軸に沿う方向の位置を求める処理と、
を実行させることを特徴とするプログラム。
【請求項１３】
表面上に設けられた位置コードを復号化して、前記表面上の部分表面の位置を求める機能を備えた装置であって、
前記位置コードは、前記表面上の所定の座標軸に沿う方向に並べられるコード・ウィンドウを用いて、前記所定の座標軸に沿う方向の位置を符号化するものであり、
前記表面上には、循環数字列を構成する数字を表すマークを印刷することにより、前記所定の座標軸と交差する方向に延びる前記循環数字列の少なくとも一部が、前記所定の座標軸に沿う方向に複数並べられており、
前記循環数字列は、複数の数字の並びで構成され、前記循環数字列に含まれる所定長さの部分数字列の各々の前記循環数字列における場所が明確に決定されるという特性を有するものであり、
前記装置は、
前記部分表面に含まれる少なくとも一つの前記コード・ウィンドウを特定する手段と、
前記少なくとも一つのコード・ウィンドウから、前記所定の座標軸に沿う方向で隣り合う複数の前記循環数字列にそれぞれ含まれる複数の前記部分数字列を特定する手段と、
前記隣り合う循環数字列の間で、各部分数字列の循環数字列における場所に設けられた差を求める手段と、
前記差に基づいて、前記表面上の所定の座標軸に沿う方向の前記コード・ウィンドウの位置を求める手段と、
前記所定の座標軸に沿う方向の前記コード・ウィンドウの位置に基づいて、前記位置コードによって符号化された前記所定の座標軸に沿う方向の位置を求める手段と、
を備えることを特徴とする装置。
【発明の詳細な説明】
【０００１】
【発明の技術分野】
本発明は、請求項１の前文に従って位置コードを与える方法に関する。本発明は、また、請求項１８の前文に従って位置を計算する方法に関する。本発明は、さらに、コンピュータ・プログラム製品、位置決定のための装置及び位置コードを備えた製品に関する。
【０００２】
【発明の背景】
様々な状況において、表面上の絶対位置を決定できるようにすることが望まれている。１つの例は、図のデジタル化に関連したものである。他の例は、手書きの情報の電子版が必要とされる場合に関連したものである。
【０００３】
米国特許第５，８５２，４３４号には、絶対位置を決定する装置が記載されている。この装置は、書き込み面と検出器とプロセッサを備える。書き込み面は、Ｘ−Ｙ座標を決定することができる位置符号化パターンを有しており、検出器は、位置符号化パターンを検出できる。プロセッサは、検出された位置符号化パターンに基づいて、書き込み面における検出器の位置を決定できる。この装置は、ユーザに、情報が書き込み面に書かれ又は作図されているときに、それと同時に、手書き及び作図された情報をコンピュータに入力することを可能にする。
【０００４】
上記米国特許番号５，８５２，４３４には、位置符号化の３つの例が挙げられている。第１の例はシンボルであり、そのそれぞれは３つの同心円から構成されている。最外円はＸ座標を表し、中間円がＹ座標を表している。さらに外側の２つの円は１６分割されており、これらの埋まり具合により異なる数字が示される。つまり座標Ｘ，Ｙの各ペアは固有の外観を有する複雑なシンボルで符号化される。
【０００５】
第２の例では、書き込み面の各点の座標は、バーコードによって表されており、Ｘ座標のためのバーコードはＹ座標のためのバーコードの上に配置されている。
【０００６】
第３の例として、チェッカー盤パターンを用いてＸ座標とＹ座標が符号化可能であると記載されている。しかしながらチェッカー盤パターンの構成や座標への変換方法については説明されていない。
【０００７】
公知のパターンには、該パターンが複雑なシンボルから構成されるという問題がある。シンボルを小さくするとパターン化された書き込み面の製造が一層困難となり、位置決定を誤る危険性が高くなる。一方シンボルを大きくすると位置解像度が低下してしまう。
【０００８】
さらに、プロセッサは複雑なシンボルを解釈しなければならないことから、検出された位置符号化パターンの処理が一層複雑になるという問題もある。
【０００９】
また、位置決定をできるようにするためには、少なくとも１つのシンボルを完全に記録する必要があり、このため位置符号化パターンの記録に用いる検出器を、４つのシンボルが同時に記録できるようにしなくてはならない。従って、必要とされるセンサーの面と、１つの位置を定義する位置符号化パターンの面との比は大きくなる。
【００１０】
ＷＯ ９２／１７８５９の付属書Ａは、パターンをどのように構成するか及び位置をどのように復号化するかに関して、以下の例を開示している。
【００１１】
まず、ｓ＝（０，０，１，０，１，１，１）およびｔ＝（０，１，１）のｍ数列から始める。位置符号化パターンを形成するには、パターンにおける最初の縦列をｓ数列と同じにする。以降の縦列を形成するために、ｔ数列を参照する。ｔ数列における第１の要素が０の場合には、２番目の縦列はｓ数列と同じになる。代わりに、ｔ数列における第１の要素が１の場合には、２番目の縦列はｓ数列を１つ循環的にシフトした数列と同じになる。以降の縦列は、ｔ数列における要素の値に従って、同様に形成される。この結果、以下のパターンが得られる。
【００１２】
０  ０  １  １
０  ０  ０  １
１  １  ０  ０
０  ０  １  ０
１  １  ０  １
１  １  １  ０
１  １  １  １
【００１３】
ここで、パターン内の以下のサブセットで示される部分表面の位置検出を行うとする。
１  ０  ０
０  １  ０
１  ０  １
【００１４】
このサブセットにおける第１の縦列は（１、０、１）である。この部分数列は、ｓ数列における位置２に出現する。このサブセットにおける循環的なシフトは、（１，１）である。この部分数列は、ｔ数列における位置１に出現する。このパターンにおける累積されたシフトは、（０、０、１、２）となるので、このサブセットの垂直位置は、２＋０＝２となる。従って、部分表面上におけるサブセットの位置は（１，２）となる。
このパターンを用いることにより、複雑なシンボルを用いた場合の上述の問題は回避され、要求されるセンサー面と位置を定義する位置符号化パターンの表面との面積比は縮小される。
【００１５】
しかしながら、この種の位置符号化パターンの興味深い特性は、多数の固有の位置で大きなパターンを符号化し、可能な限り大きな表面上での位置決定を可能とすることにある。上記の例では、ｓ数列の長さにより垂直方向の大きさが制限され、また、ｔ数列の長さにより水平方向の大きさが制限されている。ところが、数列には、ｋビットの部分数列を取り出したときに、その部分数列が数列においてただ１つの位置にしか出現しないという特性を持たなければならないので、これらの数列の長さを無限に伸ばすことは出来ない。このように、数列の長さを伸ばすと、部分数列の長さも伸ばさなくてはならないので、位置決定のために記録がされるべき部分表面が拡大してしまう。
【００１６】
【発明の概要】
本発明の目的は、きわめて多数の位置の符号化をできるようにする位置コードを与える方法を示すことにある。
【００１７】
この目的は、請求項１に記載の方法、請求項８に記載の方法、及び請求項１７に記載のコンピュータ・プログラム製品により、完全にまたは部分的に達成される。
【００１８】
第１の側面によれば、本発明は、より詳細には、表面上に位置コードを与える方法に関する。ここで、位置コードは、前記表面上の第１の方向における複数の位置を符号化するものである。この方法は、第１の循環数字列を使用するステップを備える。この循環数字列は、数字列内における、第１の所定長さの数字列のそれぞれの場所が一意に決定されるという特性を有している。また、この方法は、前記第１の循環数字列を前記表面に沿って複数印刷して、前記第１の循環数字列の異なるローテーションを、隣り合う数字列間で所定のずれが起こるように使用するステップを含む。
【００１９】
この方法は、前記印刷するステップが、前記表面を第１の方向において複数の第１のコード・ウィンドウに分割することを含む。ここで、各コード・ウィンドウは、少なくとも３つの第１の循環数字列を備えると共に、隣接する第１のコード・ウィンドウの１つの数字列と重なる１つの数字列を有している。また、前記印刷するステップは、印刷のときに前記第１の循環数字列のローテーションを使用して、前記第１の方向における各第１のコード・ウィンドウの位置をこのコード・ウィンドウに属する前記第１の循環数字列の間のずれによって符号化することを含む。
【００２０】
これは、位置コードが複数のコード・ウィンドウに分割され、それらの各位置が、コード・ウィンドウの属する循環数字列間のずれの大きさによって符号化されるという点において、従来技術と相違する。コード・ウィンドウは、１つより多くのコード・ウィンドウに属するずれが無いように配列される。従って、第１の方向における符号化は、循環数字列に従うずれに基づかず、その結果、これが内在する制限を回避する。
前述のずれは、実用上、数字列内の対応する数字の並びの間の差として決定し得る。
また、循環数字列の１つのローテーションは、数字列の循環シフト変形ということもできる。従って、異なるローテーションは、数字列内の異なる場所から開始される。
後に説明するように、循環数字列の印刷は、数字を使った明白な形で行われる必要はなく、数字は、好ましくは、たとえば、位置コードの画像処理において容易に認識できるグラフィカルなシンボルを用いて印刷される。
【００２１】
好適な実施形態において、このような循環数字列のローテーションは、少なくともいくつかのずれが１よりも大きくなるように使用される。結果として、１のずれが使用される場合よりも、より多くの位置が、第１の方向において符号化できる。
【００２２】
好適な実施形態において、第１の循環数字列のこのようなローテーションは、各コード・ウィンドウのずれが、第１の方向における第１のコード・ウィンドウを示す混合基数における位置番号を定義するように使用される。また、最小桁のずれが、この位置番号で示される。
この位置番号はｎ項のものでよい。ｎは、「コード・ウィンドウ内の第１の循環数字列の数−１」である。
【００２３】
位置番号内の最小桁のずれの指標は、部分表面の位置を決定することを可能にする。その部分表面は、コード・ウィンドウと同じサイズであるが、それらと同じものではなく、第１の方向において２つのコード・ウィンドウと部分的に重なるものである。
【００２４】
最小桁のずれは、種々の方法で表すことができる。１つの方法は、最小桁のずれが他のずれよりも小さくなるように、第１の循環数字列のローテーションを使用することを含む。他の方法は、最小桁のずれが第１の大きさの範囲にあり、他のずれが第２の大きさの範囲にあるように、第１の循環数字列のローテーションを使用することを含む。最初の方法は、多くの位置の符号化を可能とする。
【００２５】
好適な実施形態において、本方法は、さらに、位置コードの異なる種類を生成するステップを含む。これは、第１の方向における第１の循環数字列（これは、第１のずれが計算されることとなる循環数字列である）を、異なる種類に対し異なる位置から開始させることにより生成される。
結果として、コード化可能な位置の最大の番号が、さらに大きくなる。可能な種類の数は、第１の循環数字列を構成する数字の個数に等しい。
【００２６】
好適な実施形態において、位置コードは、また、前記表面上の第２の方向における複数の位置を符号化する。本方法は、この目的のために、第２の循環数字列を使用するステップを含む。この第２の循環数字列は、数字列内における、第２の所定長さの数字並びのそれぞれの位置が一意に決定されるという特性を有する。また、本方法は、前記第２の循環数字列を前記表面に沿って複数印刷するステップを含む。この第２の循環数字列の異なるローテーションは、前記第２の循環数字列が異なる開始位置から開始されるよう使用される。また、前記印刷ステップは、前記表面を複数の重なり合わない第２のコード・ウィンドウに分割することを含む。各第２のコード・ウィンドウには、所定の複数の第２の循環数字列が含まれる。また、印刷ステップは、第２の循環数字列のローテーションを、第２の方向における第２のコード・ウィンドウのそれぞれの位置が関連する第２の循環数字列の開始位置によって符号化されるように使用することを含む。
【００２７】
第２の方向の符号化は、第１の方向の符号化と同じ原理に基づいている。すなわち、関連する利点を備えるコード・ウィンドウの使用に基づいている。しかしながら、ここでは、第２の循環数字列ごとの開始位置が、ずれの代わりに使用され、より多くの位置を符号化できる可能性を与える。しかしながら、これは、分かっている第１の方向の位置に基づく。
第２の方向の位置の符号化方法は、本発明に従う方法以外の第１の方向の位置の符号化方法と共に使用できる。
第２の方向における位置は、混合基数の位置番号によって符号化でき、最小桁の開始位置は、第１の方向におけるコード・ウィンドウと同様に示すことができ、相応の利点がある。
【００２８】
好適な実施形態において、第２の循環数字列は、第１の循環数字列と同一であり、好ましくは２進数である。復号化に関連して、数字の並びに対応する場所のテーブルを記憶するのは十分であるので、これには利点がある。さらに、第１及び第２のコード・ウィンドウは、同じサイズにできると共に、互いに重ね合わせることができる。
【００２９】
デカルト座標系における位置のための簡単な位置コードは、第１の循環数字列が前記表面における縦列方向に印刷され、第２の循環数字列が前記表面における横行方向に印刷される（あるいは、これとは逆に印刷される）ことによって、得られる。数字列内の番号は、各横行／縦列単位で一度、または、連続して複数印刷できる。従って、数字列の同じローテーションが、同じ横行／縦列を通して使用される。
【００３０】
好適な実施形態において、第１及び第２の循環数字列の印刷は、前記表面を覆うラスターにおけるラスター線の間の各交点に、第１の循環数字列の数字と第２の循環数字列の数字を割り当て、各交点に属する数字がその交点における表面上のマークによりグラフィカルに符号化されるようにして行われる。ラスターは、表面上に印刷できるが、好ましくは仮想のものである。
【００３１】
従って、各交点には、第１の方向に関して符号化した位置に属する数字と、第２の方向に関して符号化した位置に属する数字が存在することになる。これらの数字は、符号化するときに別のものにすることができるが、表面上の１つの共通のマークによって符号化することもできる。これは、高解像度と情報の高密度化を可能にする。
【００３２】
この交点は、また、ラスター点と呼ぶことができる。好適な実施形態において、第１及び第２の循環数字列の数字の各種の可能な組み合わせが、前記交点に対するマークの異なる位置によって符号化される。
【００３３】
数字列の双方がビット列である場合、４つの異なる可能な数字の組み合わせ（０，０； １，０； ０，１； １，１）が得られる。これらは、マークの４つの異なる位置により符号化される。異なる位置を、交点から延びる４つの異なるラスター線に沿う、交点からの所定のずれとすることができる。交点は、基準位置とみなすことができ、交点に対してマークはずらされている。
【００３４】
その位置に依存して異なる値を表すマークの使用には、多くの利点がある。他の例があるなかで、すべてのマークは、同じ外観を有することができ、これは表面上への位置コードの配置を容易にする。
交点に割り当てられた数字は、当然、マークのずれ以外の方法でグラフィカルに表すことができる。代わりに、異なる外観の４つのマーク、又はそれぞれの数字のための１つのマークを使用することができる。
【００３５】
前述した本方法は、コンピュータ・プログラム、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）その他の適当な方法により実現することができる。
【００３６】
本発明の他の目的は、位置を決定する方法を提供することにあり、この方法は、前述したタイプの位置コードと共に使用されるのに適している。
この目的は、請求項１８に記載の方法及び請求項３０に記載のコンピュータ・プログラム製品によって、完全に又は部分的に達成される。
【００３７】
第２の側面によれば、本発明は、位置コードを備えた表面上の所定サイズの任意の部分表面に関する第１の方向における位置の計算方法に関する。この位置コードは、第１の方向における位置の符号化に関して、第１の循環数字列に基づいている。この第１の循環数字列は、この数字列内における、第１の所定長さの第１の数字並びのそれぞれの位置が、一意に決定されるという特性を有すると共に、隣り合う第１の循環数字列が所定のずれ量だけ互いにずれるように、異なるローテーションで前記表面上に複数印刷される。前記方法は、前記部分表面上の位置コードから複数の第１の数字並びを特定するステップと、第１の循環数字列における第１の数字並びのそれぞれの位置を決定するステップと、これらの位置に基づいて、前記部分表面からの前記第１の数字並びを含む隣り合う前記第１の循環数字列間のずれを決定するステップとを含んでいる。本方法は、前記ずれから、前記部分表面が少なくとも部分的に重なり合う第１のコード・ウィンドウの第１の方向における位置を決定するステップによって特徴付けられる。このコード・ウィンドウは、第１の方向における複数のコード・ウィンドウのうちの１つであり、そのそれぞれが、所定の複数の第１の循環数字列を備えると共に、隣り合う第１のコード・ウィンドウの１つの数字列と重なり合う１つの数字列を有している。
【００３８】
この方法は、きわめて多数の位置を符号化する位置コードを備えた表面上の位置決定を可能とするので、利点がある。
本方法は、コンピュータ・プログラム、ＡＳＩＣ、ＦＰＧＡその他の適当な方法により実現できる。
位置を決定する本方法は、位置符号化パターンの異なる実装を復号化するのに適した追加のステップを実装でき、これは、前述した位置コードを与える方法の結果として得られる。
特に、表面上の第２の方向における位置の決定方法は、請求項２３に従って実装できる。請求項２３に規定されているステップは、また、第１の方法における位置を決定するための前述した以外の方法と共に使用することができる。
【００３９】
この発明の他の目的は、位置決定のための装置を提供することにあり、これは、前述のタイプの位置符号化パターンを復号化するために使用するのに適している。
この目的は、請求項３１に記載の装置によって達成される。
【００４０】
第３の側面によれば、本発明は、位置を決定するための装置に関する。この装置は、位置コードを備えた表面の部分表面における画像を生成するセンサーと、位置コードのサブセットに基づいて計算を行うよう構成された画像処理手段を備える。前記位置コードのサブセットは、請求項１８〜２９のいずれか１つに従う方法に従って、部分表面の画像内において部分表面の位置を表す。
【００４１】
本発明の更なる目的は、位置符号化パターンを備えた製品を提供することにあり、これは、きわめて多数の位置の符号化を可能にする。
この目的は、請求項３４に記載の製品によって達成される。
【００４２】
第４の側面によれば、本発明は、位置コードを備えた製品の表面上の所定サイズの任意の部分表面について、第１の方向における位置の決定を可能にする製品に関する。この位置コードは、第１の方向における位置の符号化に関し、第１の循環数字列に基づいている。第１の循環数字列は、この数字列における、第１の所定長さの第１の数字並びのそれぞれの位置が、一意に決定されるという特性を有すると共に、異なるローテーションで、隣り合う第１の循環数字列が所定のずれ量で互いにずれるようにして前記表面上に複数印刷される。前記第１の循環数字列内の第１の数字並びのそれぞれの位置を決定するために、前記位置コードからの複数の第１の数字並びが、部分表面上で識別可能である。前記部分表面からの前記第１の数字並びを含む隣り合う第１の循環数字列間のずれが、それらの位置に基づいて決定可能なものである。本製品は、前記部分表面が少なくとも部分的に重なる第１のコード・ウィンドウの第１の方向における位置が、このずれから決定可能であることによって、特徴付けられる。ここで、第１のコード・ウィンドウが第１の方向における複数のコード・ウィンドウの１つであり、そのそれぞれが、所定の複数の第１の循環数字列を備えると共に、隣り合う第１のコード・ウィンドウの１つの数字列に重なり合う１つの数字列を有している。
【００４３】
本製品の利点は、前述の説明から明らかである。位置コードを与える方法や、位置を決定する方法に関連して記述した特徴は、当然、本製品にも適用可能である。
【００４４】
以下、添付の図面を参照し実施形態に従って、本発明を詳細に説明する。
【００４５】
【好適な実施形態の説明】
図１は紙のシート１の形をした製品の一部を示しており、その表面２の少なくとも一部上には、位置決定を可能にする光学的に読取り可能な位置符号化パターン３が設けられている。
【００４６】
位置符号化パターンは、マーク４を備えており、これは、「パターン」としての外観を備えるよう、表面２に整然と配列されている。紙のシートは、Ｘ座標軸とＹ座標軸を有する。位置の決定は、本製品の表面全域で実行することができる。他の例においては、位置決定を可能とする表面が、製品の小部分を構成するようにできる。
【００４７】
パターンは、例えば、この表面に書かれ又は作図されている情報の電子的描写を提供するために用いることができる。電子的描写は、ペンで表面に書き込みを行っている間に提供することができ、これは、位置符号化パターンの読み取りにより、紙のシート上のペンの位置を連続的に決定することによって可能となる。
【００４８】
位置符号化パターンは、仮想ラスター及び複数のマーク４を備え、仮想ラスターは、目にも見えず、また表面上の位置を決定するための装置によって直接検出することもできないものであり、また、複数のマークのそれぞれは、その場所に依存して、以下に説明する１から４の４つの値のうちの１つを表している。ここで、明確にする目的から、図１の位置符号化パターンは、拡大して示されていることが指摘されなければならない。更に、配列されて示されているのは、紙のシートの一部のみである。
【００４９】
位置符号化パターンは、全書き込み表面上の部分表面の位置が、この部分表面上のマークによって一意に決定されるよう配列されている。第１及び第２の部分表面５ａ，５ｂは、図１において破線で示されている。第２の部分表面は、部分的に第１の部分表面と重なっている。第１の部分表面５ａ上の位置符号化パターンの部分（ここでは、４×４のマーク）は、第１の位置を符号化し、第２の部分表面５ｂ上の位置符号化パターンの部分は、第２の位置を符号化する。位置符号化パターンは、従って、隣り合う第１及び第２の位置に関し部分的に同じである。このような位置符号化パターンを、本明細書では、「フローティング（浮動的）」と呼ぶ。各部分表面は、特定の位置を符号化する。
【００５０】
図２ａ〜ｄは、マークのデザイン方法及びその基準位置６に対する配置方法を示している。基準位置６（これは、また、ラスター点と呼ぶことができる。）は、ラスター線８の交点により表される。マーク７は、円形のドットの形をしている。マーク７及びラスター点６は、これらで、シンボルを構成する。
【００５１】
一実施形態において、ラスター線間の距離は３００μｍであり、ラスター線間の角度は９０度である。他のラスター線間の間隔も可能であり、例えば、１００ｄｐｉの倍数の解像度を有しているプリンタやスキャナに合わせるために、２５４μｍが可能であるが、これは、２５．４ｍｍ／１００（すなわち、２５４μｍ）の点の間の距離に対応している。
【００５２】
マークの値は、従って、基準位置に対してマークがどこに配置されているかに依存している。図２の例では、４つの位置が可能であり、それらは、基準位置から伸びている各ラスター線上にある。基準位置からのずれは、全ての値に関し、同じ大きさである。
【００５３】
各マーク７は、基準位置６に対してずらされており、その基準位置の上にはマークは無い。更に、基準位置毎にただ１つのマークだけがあり、このマークは、その基準位置に対してずらされている。これを、パターンを構成するマークに適用する。表面上には、パターンの一部でなく、従って、符号化に寄与しない他のマークがあってよい。このようなマークは、例えば、小さい塵、表面上の絵や図形からの意図しない点やマーク、意図されたマークであってよい。表面上のパターン化されたマークの位置は、十分に定義されているので、パターンは、このような干渉の影響を受けない。
【００５４】
一実施形態において、マークは、基準位置６に対し、ラスター線８に沿って５０μｍだけずれた位置にある。このずれは、好ましくは、ラスター間隔の１／６であり、こうすれば、特定のマークが属する基準位置を決定することが相対的に容易となる。このずれは、少なくともラスター間隔のおおよそ１／８とすべきであり、そうしなければ、ずれの決定が困難になり、解像度の要求が高くなる。一方で、このずれは、マークが属する基準位置を決定できるようにするためには、ラスター間隔のおおよそ１／４以下とすべきである。
【００５５】
ずれは、ラスター線に沿っている必要は無く、マークを分割された四分区間内に配置することができる。しかしながら、マークがラスター線に沿ってずらされている場合には、マーク間の距離が最小値を持ち、以下に詳細に説明するように、ラスター線を再現することに用いることができるという利点がある。
【００５６】
各マークは、おおよそずれ量と同じか僅かに小さい半径を有するおおむね円形ドットで構成されている。半径は、ずれ量の２５％から１２０％とできる。この半径が、ずれ量よりもはるかに大きい場合、ラスター線を決定することが困難となる。この半径が極めて小さい場合、マークを記録するためにより高い解像度が要求される。
【００５７】
マークは、円や丸まったものである必要は無く、正方形や三角形等のようなあらゆる好適な形状を使用することができる。
【００５８】
通常、各マークは、センサーチップの複数の画素をカバーするものであり、一実施形態においては、これらの画素の重心が記録又は計算され、続く処理で使用される。従って、マークの正確な形状は、重要ではない。よって、要求されるずれ量をマークの重心が備えていることが保証できるという条件で、相対的に簡単な印刷処理が使用できる。
【００５９】
以下では、図２ａのマークは値１を、図２ｂのマークは値２を、図２ｃのマークは値３を、図２ｄのマークは値４を表している。
【００６０】
各マークは、従って、１から４の４つの値のうちの１つを表している。これは、位置符号化パターンが、Ｘ座標用の第１の位置符号と、Ｙ座標用の第２の位置符号に分割できることを意味している。この分割は、以下のようになる。
【００６１】
【表１】
2003511762.tif 000001
【００６２】
このように、各マークの値は、Ｘコード用の第１の値（この場合はビット）、及びＹコード用の第２の値（この場合はビット）に変換される。この方法で、２つの完全に独立したビットパターンがパターンを用いて得られる。逆にいえば、２又はそれ以上のビットパターンを組み合わせて、図２に従う複数のマークによりグラフィカルに符号化される１つの共有パターンにすることができる。
【００６３】
各位置は、複数のマークにより符号化される。この例では、二次元、すなわち、Ｘ座標とＹ座標の位置を符号化するために、４×４のマークを使用する。
【００６４】
位置コードは、１と０の数字列から構成されるが、そのビット列には、その数字列内で同じ４ビットの並びが１度しか現れないという特性がある。ビット列は循環的なものであり、数字列の終わりを数字列の先頭に結合した場合にも、同様にその特性が適用される。従って、４ビットの並びは、常時、ビット列内で一意に決まった位置番号を持っている。
【００６５】
ビット列が４ビットの並びに対して前述した特性を持っている場合、そのビット列は最大１６ビット長にできる。しかし、この例では、以下のように７ビット長のビット列を使用する。
「０００１０１０」
【００６６】
このビット列は、列内の位置番号を符号化する以下のような７つの一意な４ビットの並びを含む。
【００６７】
【表２】
2003511762.tif 000002
【００６８】
Ｘ座標の符号化では、符号化される表面全域に渡って、ビット列は縦列内に順に書き込まれ、左の縦列Ｋ0はＸ座標のゼロ（０）に対応する。１つの縦列において、ビット列は、従って、連続して複数回繰り返される。
【００６９】
符号化は、隣り合う縦列内の隣り合うビット列間における差、すなわち位置のずれに基づく。差の大きさは、隣り合う縦列が、ビット列内におけるどの位置番号（すなわち、ビットの並び）で始まるかによって決まる。
【００７０】
具体的には、第１の縦列Ｋn内の４ビットの並びにより符号化され、従って値０〜６を持ち得る位置番号（一方の位置番号）と、隣り合う縦列Ｋn+1内の対応する「高さ」における隣り合う４ビットの並びにより符号化される位置番号（他方の位置番号）との間の、７を法とする差Δnを取る場合、その結果（差）は、２つの縦列に沿ったどの場所で、すなわち、どの「高さ」のところで、その差が作り出されたかに拘わらず、同じになる。従って、２つの縦列の２つのビットの並びについての位置番号間の差を使用して、Ｙ座標の全てに対して独立で不変であるＸ座標を符号化できる。
【００７１】
この例では、表面上の各位置が４×４のマークを含む部分表面により符号化されているので、４つの垂直のビットの並びがあり、従って、それぞれが値０から６を持つ３つの差を、Ｘ座標を符号化するために利用できる。
【００７２】
パターンは、コード・ウィンドウＦに分割され、各コード・ウィンドウは４×４のマークからなるという特性を有する。従って、４つの水平のビットの並び及び４つの垂直のビットの並びが利用でき、３つの差がＸ方向で生成でき、４つの位置がＹ方向で得られる。これら３つの差及び４つの位置は、Ｘ方向及びＹ方向における部分表面の位置を符号化する。Ｘ方向で隣り合うウィンドウは、図１に示すように、共通の縦列を持つ。従って、最初のコード・ウィンドウＦ0,0は、縦列Ｋ0，Ｋ1，Ｋ2，Ｋ3からのビットの並び、及び横行Ｒ0，Ｒ1，Ｒ2，Ｒ3からのビットの並びを含んでいる。Ｘ方向では差が用いられるので、Ｘ方向及びＹ方向へ斜めに次に来るウィンドウ、すなわちウィンドウＦ1,1は、縦列Ｋ3，Ｋ4，Ｋ5，Ｋ6からと、横行Ｒ4，Ｒ5，Ｒ6，Ｒ7からのビットの並びを含んでいる。Ｘ方向における符号化のみを考えるとき、コード・ウィンドウは、Ｙ方向に無制限に伸びるものとして考えることができる。同様に、Ｙ方向における符号化のみを考えるとき、コード・ウィンドウは、Ｘ方向に無制限に伸びるものとして考えることができる。このようなＹ方向及びＸ方向にそれぞれ無制限に伸びる第１及び第２のコード・ウィンドウは、協同して図１に示したタイプのコード・ウィンドウ、例えばＦ0,0を構成する。
【００７３】
各ウィンドウは、Ｘ方向におけるウィンドウの位置を与えるウィンドウ座標Ｆxと、Ｙ方向におけるウィンドウの位置を与えるウィンドウ座標Ｆyとを有する。従って、ウィンドウと縦列との間の対応関係は、以下のようになる。
Ｋi ＝３ Ｆx
Ｒj ＝４ Ｆy
【００７４】
符号化は、以下のような方法、すなわち、差のうちの１つΔ0が常に値１または２になり、これは、Ｘ方向におけるコード・ウィンドウの位置を表す番号の最下位桁Ｓ0を指し、他の２つの差Δ1，Δ2が３〜６の範囲の値になり、これらは、コード・ウィンドウの座標のための２つの上位桁Ｓ1，Ｓ2を指すようにして行われる。従って、Ｘ座標用の差が０になることは、コードパターンが対称的になってしまうので、許容されない。言い換えると、縦列は、その差が、以下のようになるように符号化される。
(3〜6); (3〜6); (1〜2); (3〜6); (3〜6); (1〜2); (3〜6); (3〜6); (1〜2); (3〜6); (3〜6);…
【００７５】
従って、各Ｘ座標は、３と６の間の２つの差Δ1，Δ2、これに続く１か２の１つの差Δ0によって符号化される。最小の差Δ0から１を差し引き、他の差から３を差し引くと、３つの数字Ｓ2，Ｓ1，Ｓ0が得られるが、これは、混合基数において、Ｘ方向におけるコード・ウィンドウの位置番号を直接与え、ここから、Ｘ座標が、以下に示す例のように、直接決定できる。コード・ウィンドウの位置番号は、以下になる。
Ｓ2 ×（４×２） ＋ Ｓ1 × ２ ＋ Ｓ0 × １
【００７６】
前述した原理を使用して、コード・ウィンドウ０，１，２，…，３１を、３個の差により表される３つの数字からなるコード・ウィンドウの位置番号を用いて符号化できる。これらの差が、上記の数字列に基づいたビットパターンを使用して符号化される。ビットパターンは最終的に、図２のマークを使用してグラフィカルに符号化される。
【００７７】
多くの場合、４×４のマークからなる部分表面を読み込んだとき、多くの場合において、部分表面は１つのコード・ウィンドウに一致しないので、Ｘ座標を符号化する完全な位置番号を得ることができないが、Ｘ方向における隣接する２つのコード・ウィンドウをカバーするので、２つの位置番号の部分を得ることができる。そして、各番号の最下位桁Ｓ0は、常に１か２であるので、どの桁が最下位のものであるか分かり、完全な位置番号を
容易に再構築することができる。
【００７８】
Ｙ座標は、コード・ウィンドウを用いたＸ座標で使用したのとほぼ同じ原理に従って符号化される。循環型の数字列（Ｘの符号化に使用したのと同じ数字列）は、位置を符号化する表面に渡って、水平な横行内に繰り返して、書き込まれる。Ｘ座標の場合とちょうど同じ様に、これらの横行は、数字列内の異なる位置から、すなわち異なるビットの並びを使用して、始める。しかし、Ｙ座標に対しては差を使用せず、各横行のその数字列の開始位置に基づいた値を使用して座標を符号化する。４×４のマークのＸ座標が決定されると、その４×４のマークのＹコード内に含まれている横行について、数字列内の開始位置が実際に決定できる。
【００７９】
Ｙコードにおいて、最上位桁Ｓ0は、これを特定の範囲内の値を持つただ１つの数にすることによって、判断される。この例では、４つの横行のうちの１つを、この横行がコード・ウィンドウ内の最下位桁Ｓ0に関係していることを示すために、数字列内の位置０〜１から始め、他の３つの横行を、コード・ウィンドウ内の他の桁Ｓ1，Ｓ2，Ｓ3を示すために、数字列内の位置２〜６の何れかから始める。従って、Ｙ方向に、以下のような値の並びが存在する。
(2〜6); (2〜6); (2〜6); (0〜1); (2〜6); (2〜6); (2〜6); (0〜1); (2〜6); …
【００８０】
従って、各コード・ウィンドウは、２と６の間の３個の値、並びにこれに続く０と１の間の値を使用して符号化される。
【００８１】
小さい値から０を差し引き、他の値から２を差し引くと、Ｘ方向と同様な方法で、混合基数におけるＹ方向の位置Ｓ3，Ｓ2，Ｓ1，Ｓ0が得られ、この位置からコード・ウィンドウの位置番号を直接決定できる。すなわち、
Ｓ3 ×（５×５×２）＋Ｓ2 ×（５×２）＋Ｓ1 ×２ ＋Ｓ0 ×１
【００８２】
上記の方法を使用して、コード・ウィンドウに関し、Ｘ方向の４×４×２＝３２個の位置番号を符号化できる。各コード・ウィンドウは、３つの縦列からのビット並びを備え、これは、３×３２＝９６個の縦列、すなわちＸ座標を与える。更に、コード・ウィンドウに関し、Ｙ方向に５×５×５×２＝２５０個の位置番号を符号化できる。このような位置番号のそれぞれは、４つの横行からの水平なビット並びを備え、これは、４×２５０＝１０００個の行、すなわちＹ座標を与える。このように、合計して９６０００個の座標位置を符号化できる。
【００８３】
しかし、Ｘの符号化は差に基づいているので、最初のコード・ウィンドウにおける１番目の数字列が始まる位置を選択できる。この１番目の数字列が７個の異なった位置から始められることを考慮すると、７×９６０００＝６７２０００個の位置を符号化できる。Ｘ及びＹ座標が決定された場合、最初の縦列Ｋ0にある１番目の数字列の開始位置が計算できる。１番目の数字列の前述した７個の異なる開始位置は、製品上の異なる頁や書き込み面を符号化できるようにする。
【００８４】
理論上、４×４のシンボル（それぞれが４つの値を持つ）を持った部分表面は、４4*4個の位置を符号化でき、これは、４，２９４，９６７，２９６個の位置に相応する。部分表面の位置における浮動的な決定を可能とするために、６０００（4294967296/672000）を超える冗長性がある。
【００８５】
冗長性は、一部は、前記差の大きさにおける制約に含まれており、また一部は、１６のうちの７ビットだけを位置コードに使用したことに含まれている。しかしながら、この後者のことは、部分表面の回転位置を決定するのに用いることができる。前記ビット列内の次のビットが前記４ビットの並びに追加された場合、５ビットの並びが得られる。５番目のビットは、使用される部分表面の直ぐ外の隣接ビットを読むことによって得られる。このような追加ビットは、通常、容易に利用できる。
【００８６】
センサーによって読み取られる部分表面は、４つの異なる回転位置、すなわち、コード・ウィンドウに対し０、９０、１８０又は２７０度回転している可能性がある。部分表面が回転しているこれらのケースにおいて、コードの読み取りは、しかしながら、読み取られたコードが、それが０度の回転角で読み取られた場合と比較して、Ｘ方向又はＹ方向の何れか又は双方に反転及び逆転させたものになる。ここでは、マークの値の復号化として僅かに異なる復号化が使用され、それは、以下のテーブルに従うものとする。
【００８７】
【表３】
2003511762.tif 000003
【００８８】
前述の５ビットの並びは、正しい方向で、且つ、逆転も反転もされていない形でのみ、前記７ビット列内に現れるという性質を持っている。これは、ビット列（０００１０１０）がただ２つの「１」を含んでいるという事実から明らかである。従って、全ての５ビットの並びは、少なくとも３つの０を含んでいなければならず、これは、逆転した時には（もし反転しているのであればその時にも）、起こりえない３つの１になる。よって、ビット列内の位置番号を持っていない５ビットの並びが見つけられたときは、この部分表面は、おそらく回転されていると結論付けることができ、新しい位置が検査される。
【００８９】
本実施形態に従う発明を更に説明するために、次に、前述の実施形態における位置コードに基づく具体的な例を示す。
【００９０】
図３は、位置を決定するために装置によって読み込まれる４×４のマークを含む画像の一例を示している。
これらの４×４のマークは、次の値を持っている。
４ ４ ４ ２
３ ２ ３ ４
４ ４ ２ ４
１ ３ ２ ４
【００９１】
これらの値は、次の２進ＸコードとＹコードを表している。
Ｘコード：                 Ｙコード：
０ ０ ０ ０                  ０ ０ ０ １
１ ０ １ ０                  ０ １ ０ ０
０ ０ ０ ０                  ０ ０ １ ０
１ １ ０ ０                  １ ０ １ ０
【００９２】
Ｘコード内の垂直方向のビットの並びは、ビット列内の位置２ ０ ４ ６を符号化している。縦列間の差は−２ ４ ２であり、７を法とする剰余は５ ４ ２になる。これは、混合基数で、（５−３）×８＋（４−３）×２＋（２−１）＝１６＋２＋１＝１９というコード・ウィンドウの位置番号を符号化している。最初に符号化されるコード・ウィンドウは位置０である。よって、１〜２の範囲内にあり、部分表面の４×４のマーク内に見られるこの差は、２０番目の差になる。更に、このような差のそれぞれに対する全部で３つの縦列が存在し、開始の縦列が存在するので、４×４のＸコードの一番右の縦方向の並びがＸコードの６１番目（縦列６０）の縦列に属し（３×２０＋１＝６１）、一番左の縦方向の並びが５８番目（縦列５７）に属する。
【００９３】
Ｙコードの水平方向のビットの並びは、数字列内の位置０ ４ １ ３を符号化する。これらの水平方向のビットの並びは、５８番目の縦列から始まるので、横行の開始位置は、これらの数字から５７を引いたものの７を法とする剰余であり、開始位置が６ ３ ０ ２になる。混合基数の数に変換すると、これは６−２、３−２、０−０、２−２＝４ １ ００になる。ここで、３番目の桁が注目している数字内の最下位桁である。次に、４番目の桁が次の数字内の最上位桁である。この場合、これは、注目している数字内のものと同じにならなければならない（注目している数字が位置の全てで取り得る最大の数から構成される場合に、例外が発生する。その場合、次の数字の始まりが、注目している数字の始まりよりも１大きくなることが分かる）。
【００９４】
位置番号は、混合基数で、０×５０＋４×１０＋１×２＋０×１＝４２になる。
従って、Ｙコードの３番目の水平ビットの並びが、４３番目のコード・ウィンドウに属し、これは０か１の開始位置を持ち、そして、このようなコード・ウィンドウのそれぞれについて全部で４行あるので、３番目の行が４３×４＝１７２番になる。
従って、この例で、４×４のマークを備える部分表面の一番左上の角の位置が（５８，１７０）になる。
【００９５】
４×４グループにおけるＸコード内の垂直ビットの並びが横行１７０上で始まるので、全パターンのＸ縦列は、数字列の位置（（２ ０ ４ ６）−１６９） ｍｏｄ ７＝１ ６ ３ ５から始まる。最後の開始位置（５）と最初の開始位置の間で、数字０〜１９が混合基数で符号化され、混合基数での数字０〜１９の表記を合計することによって、これらの縦列の間の合計差を得る。これを行なう簡単なアルゴリズムがこれら２０個の数字を生成し、直接それらの数を合計することになる。結果の総和をｓと呼ぶことにすると、頁や書き込み面は、（５−ｓ）ｍｏｄ７によって得られる。
【００９６】
コード・ウィンドウを識別できるようにするために、部分表面においてどのビットが最下位のものであるかを決定する他の方法を、以下に説明する。最下位ビット（ＬＳＢ）は、部分表面の差すなわち横行での位置番号における最小の数として定義される。このようにして、座標の最大使用可能な数の減少（冗長性）は、相対的に小さい。例えば、前述の例のＸ方向における初めの幾つかのコード・ウィンドウは、全て、ＬＳＢ＝１で、他の桁として２と６の間の数を持つことができ、これは２５個のコード・ウィンドウとなり、次のコード・ウィンドウは、ＬＳＢ＝２、及び３と６の間の他の数を持つことができ、これは１６個のコード・ウィンドウとなり、次のコード・ウィンドウは、ＬＳＢ＝３、及び４と６の間の他の数を持つことができ、これは９個のコード・ウィンドウとなり、次のコード・ウィンドウは、ＬＳＢ＝４、及び５と６の間の他の数を持つことができ、これは４個のコード・ウィンドウとなり、次のコード・ウィンドウは、ＬＳＢ＝５、及び６である他の数を持つことができ、これは１個のコード・ウィンドウとなり、総計で、前述の例の３２個に対し、５５個のコード・ウィンドウを持つ。
【００９７】
上記の例で、一実施形態が説明され、その中で、各位置は４×４のマークを使用して符号化され、７ビットの数字列が使用された。もちろん、これは、ほんの一例にすぎない。位置は、より多くのまたはより少ない数のマークを使用して符号化できる。両方の方向で同じ数である必要がない。数字列を異なった長さにし、２進数以外にしても良いし、他の基数、例えば１６進コードに基づくことも可能である。Ｘ方向の符号化とＹ方向の符号化に異なった数字列を使用可能である。マークは、異なる個数の値を表すことも可能である。
【００９８】
実用的な例において、部分表面として、６×６のマークからなるものが使用され、この場合、ビット列は、最大２6ビット、すなわち６４ビットとすることができる。しかしながら、部分表面の回転位置を決定する能力を持たせるために、５１ビットのビット列、すなわち５１個の位置を使用する。このようなビット列の例は、以下のとおりである。
０００００１１０００１１１１１０１０１０１１０１１００１１０１０００１０１００１１１０１１１１００１０
【００９９】
このような６×６のマークからなる部分表面は、理論上、４6*6個の位置を符号化でき、前述の０．３ｍｍのラスター寸法では、巨大な表面となる。
【０１００】
７ビット列を用いた前述のものと同様の方法で、本発明に従えば、前記特性は、部分表面を、少なくともその中央において、部分表面の両側の１ビットを含むように拡大して、６×６のシンボルの部分表面内の３番目及び４番目の行において、８個のマーク（部分表面の各側に１個ずつ）が読まれるようにし、これをＹ方向も同様とするという方法で利用できる。前述の５１ビットを含むビット列は、６ビットのビット並びが、ただ１度だけ出現し、６ビットの前述のビット並びを含む８ビットの並びが、ただ１度だけ出現し、決して逆転した位置又は反転及び逆転されたときには出現しないという特性を有している。このようにして、部分表面の回転位置は、横行３、横行４、縦列３及び／又は縦列４における８ビットを読むことによって、決定できる。回転位置が分かれば、部分表面は、処理を続ける前に、正しい位置に回転することができる。
【０１０１】
できるだけランダムなパターンを得ることが望ましく、こうすれば、過度に対称的な領域は出現しない。６×６のマークを備える部分表面が、図２ａ〜２ｄに従った異なる位置の全てを有するマークを含むパターンを得ることが望ましい。更にばらつき度を増大し、繰り返しの特性を避けるために、「シャッフル」と呼ばれる方法が使用できる。各水平ビット並びは、所定の開始位置から始まる。しかしながら、ずれ量が分かっているのなら、各横行毎に、水平方向における開始位置をずらすことができる。これは、隣接する横行に対し、各最下位ビット（ＬＳＢ）に別々のずれベクトルを割り当てることにより行うことができる。このずれベクトルは、各横行が水平方向にずらされる量を規定する。これは、見た目には図１のＹ軸が「スパイク状」であるかのように理解できる。
【０１０２】
４×４のコード・ウィンドウを用いた上述の例において、このずれベクトルは、ＬＳＢ＝０に対し、１，２，４，０とすることができ、ＬＳＢ＝１に対し、２，２，３，０とすることができる。これは、２と０をそれぞれ差し引いた後、処理を続ける前に、上述のずれ量がビット並びの位置番号から差し引かれる（５を法とする剰余で）こととなることを意味する。上述の例において、Ｙ座標に関し、混合基数で数４ １ ０ ０（Ｓ2，Ｓ1，Ｓ0，Ｓ4）が得られ、ここで、右から２つめの数が最下位桁（ＬＳＢ）である。ずれベクトル１，２，４，０が数字４と１に用いられるので（ＬＳＢ＝０）、２が４から引かれてＳ2＝２となり、４が１から引かれて（５を法とする剰余で）Ｓ1＝２となる。数字Ｓ0＝０は変わらずに残る（最下位桁に対するずれベクトルの値は、常に０である）。最後に、数字Ｓ4は、次のコード・ウィンドウに属し、これはＬＳＢ＝１であり、第２のずれベクトルが使用される。従って、２が０から差し引かれ（５を法とする剰余で）、Ｓ4＝３となる。
【０１０３】
同様の方法が、Ｙ座標のコードを変えるために使用できる。しかしながら、上述の例においては差０が使用されておらず、コードは既に相対的にランダムに分散されているので、Ｘ座標を変える必要性は小さい。
【０１０４】
上記の例で、マークをドットとしているが、もちろん、別の外観にすることもできる。例えば、マークは、仮想ラスター点から始まり、そこから特定の位置に伸びる線や楕円から構成できる。ドット以外の他のシンボル、たとえば、正方形、長方形、三角形、円、楕円とすることができ、また、塗り潰されたものでも、そうでないものでもよい。
【０１０５】
上記の例では、マークは、正方形の形の部分表面内で、位置の符号化に使用されている。部分表面は例えば、六角形などの別の形にすることも可能である。マークは、直交するラスターにおけるラスター線に沿って配置される必要はなく、他の方法、例えば６０度などの他の角度のラスターにおけるラスター線に沿って、配置され得る。極座標系を使用してもよい。
【０１０６】
図５及び図６に示すように、三角形又は六角形の形をしたラスターを使用することもできる。例えば、図５に示すように、三角形のラスターでは、各マークを６つの異なる方向にずらすことができ、６6*6の部分表面位置に相応するより膨大な容量を提供する。図６の六角形のラスター、蜂の巣状パターンでは、各マークは、ラスター線に沿って３つの異なる方向にずらすことができる。
【０１０７】
前述したように、マークは、必ずしもラスター線に沿ってずらされる必要はなく、他の方向にずらす、例えば、正方形ラスター・パターンが用いられるときには、それぞれを四分区間内に配置することができる。六角形ラスター・パターンにおいては、マークを４又はそれ以上の異なる方向、例えば、ラスター線に沿うものとラスター線に対し６０度の角度にある線に沿うものとで６つの異なる方向にずらすことができる。
【０１０８】
位置コードを検出できるようにするには、仮想ラスターが決定されることが必要である。これは、方形ラスター・パターンにおいては、異なるマーク間の距離を調べることによって行うことができる。２つのマーク間の最も短い距離は、水平方向において値１と３又は垂直方向において値２と４を持つ２つの隣接したマークから導かれるはずなので、これらのマークは、２つのラスター点の間の１つのラスター線上にある。このようなマークの組みが検出された場合に、関連するラスター点（基準位置）が、ラスター点間の距離とラスター点からのマークのずれ量の知識を使用して決定され得る。１度、２つのラスター点の位置が決定されると、他のマークへの測定された距離を使用して、ラスター点間の距離の知識から、次のラスター点が決定できる。
【０１０９】
マークがラスター線に沿って５０μｍずれており、ラスター線間は３００μｍ離れている場合、２つのマークの最小距離、例えば値１と３を持ったマークにおける距離は２００μｍになる。次に小さい距離は、例えば、値１と２を持ったマークの間であり、これは２５５μｍとなる。従って、最小距離と次に小さい距離との間には、相対的に区別可能な差がある。他の斜め方向のものまでの差は、また大きいものである。しかしながら、ずれ量が５０μｍより大きくなる、例えば、７５μｍ（１／４）以上である場合、升目の斜め方向のものが問題を引き起こし、マークが属する基準位置の決定が困難となり得る。ずれ量が５０μｍ以下、例えば、おおよそ３５μｍ（１／８）以下の場合、最小距離は２３０μｍとなり、２６７μｍである次の距離とで大きな差がない。この場合、光学読み取りに対する要求が増大する。
【０１１０】
マークは、それ自身のラスター点を覆うべきでなく、従って、ずれ量の２倍以上の直径（２００％）を持つべきでない。しかしながら、これは厳密なものではなく、所定のオーバーラップ（例えば、２４０％）は許容できる。最初に、センサーの解像度及びパターンを生成するのに使用する印刷プロセスでの要求によって、この最小サイズが決定される。しかしながら、マークは、ゴミやセンサーのノイズによる問題を避けるために、実用上、ずれ量のおおよそ５０％より小さな直径とすべきでない。
【０１１１】
位置決定のための装置の一実施形態が、図４に図示される。装置は、おおよそペンと同じ形をしたケース１１を備える。ケースの一方の短辺には開口１２がある。この短辺は、位置決定が行なわれる表面に接触するか、または、表面から近い距離に保持されるように意図されている。
【０１１２】
ケースは、光学部品、電子回路部品および電源を基本的に含んでいる。
光学部品は、画像化されることになる表面を照明する少なくとも１個の発光ダイオード１３、及び、二次元画像を記録するＣＣＤやＣＭＯＳセンサーなどの光感知エリアセンサー１４を備える。必要であれば、装置は、ミラー及び／又はレンズ系などの光学系を備えてよい。発光ダイオードは、赤外線発光ダイオードとすることができ、センサーは赤外線光に反応するものとすることができる。
装置の電源は、ケースの独立した区画に取り付けられた電池１５から供給される。
電子回路部品は、センサー１４により記録された画像に基づいて位置を決定するための画像処理手段１６、詳細には、センサーからの画像を読み、それらの画像に基づいて位置決定を実行するようプログラムされたプロセッサを備えたプロセッサ・ユニットを含んでいる。
【０１１３】
本実施形態において、装置は、また、ペン先１７を備えており、これを用いて、位置決定が実行されることとなる表面上に、通常の顔料による書き込みをすることができる。ペン先１７は、ユーザが使うかどうかを選択できるよう出没自在である。特定の用途において装置は、ペン先を全く必要としない。
【０１１４】
顔料による書き込みは、好ましくは、赤外光に対し透過のタイプのものであり、マークは、好ましくは、赤外光を吸収する。赤外光を発光する発光ダイオードと赤外光に反応するセンサーを用いることによって、パターンに対する前述した書き込みに干渉されることなく、パターンの検出ができるようになる。
【０１１５】
装置は、また、ボタン１８を備え、これによって、装置は、起動され、制御される。また、装置は、装置から及び装置へ情報を、例えば、赤外線、無線波又は超音波などを使用して、無線伝送するためのトランシーバ１９を有する。装置はまた、位置又は記録した情報を表示するためのディスプレイ２０を備える。
【０１１６】
テキストを記録する装置が、出願人のスウェーデン特許第９６０４００８−４号に説明されている。この装置は、適切な方法でプログラムすれば、位置決定のために使用できる。顔料による書き込みのために本装置が使用される場合には、ペン先を備える必要がある。
【０１１７】
装置は、異なる物理的なケースに分けることができ、第１のケースは、位置符号化パターンの画像を記録し、これらを第２のケース内に含まれる部品に転送するために必要な部品を含み、前記第２のケース内の部品において、記録された画像に基づいて位置決定が実行される。
【０１１８】
前述のように、位置決定は、画像内でマークの場所を決定し、これを復号化すると共に、これによって得られたコードから位置を決定するソフトウェアを備えているプロセッサによって、実行される。当業者であれば、前述の例に基づいて、位置符号化パターンの部分画像に基づいて位置決定を実行するソフトウェアを設計することができるであろう。
【０１１９】
更に、前述の記載に基づいて、当業者は、位置符号化パターンを印刷するためのソフトウェアを設計することができるであろう。
【０１２０】
前記実施形態において、パターンは、光学的に読み取り可能なものであり、従って、センサーは光学的なものである。前述したように、パターンは、光学的な要素以外の要素に基づくことができる。この場合、センサーは、もちろん、対象の要素を読むことができるタイプのものでなければならない。このような要素の例としては、化学的、聴覚的又は電磁的なマークがある。容量性又は誘導性マークを用いることもできる。
【０１２１】
前述の実施形態において、ラスターは直交グリッドであった。これはまた、他の形状、例えば、６０度の角度を有する菱形グリッド、三角又は六角グリッドなどでもよい。
【０１２２】
ずれは、４方向より多いものも少ないものも使用でき、例えば、六角仮想ラスターに沿う３方向のずれが使用できる。直交ラスターにおいては、ラスターの再現を容易にするために、２つのずれのみを使用してもよい。しかしながら、４方向におけるずれが好ましく、また、６か８方向も、本発明の範囲に含むことができる。
【０１２３】
前記実施形態においては、利用できる最長の循環数字列は使用されていない。その結果として、各種の方法で使用可能な冗長度が得られている。この冗長度は、例えば、エラー訂正、失われた又は隠れたマークの置き換えなどを行うために使用できる。
【図面の簡単な説明】
【図１】
図１は、位置符号化パターンを備えた本製品の一実施形態を図示している。
【図２】
図２は、本発明の一実施形態におけるマークのデザイン及び配置の方法を図示している。
【図３】
図３は、位置を符号化するのに使用する４×４のシンボルの例を図示している。
【図４】
図４は、位置の決定に用いることができる装置を図示している。
【図５】
図５は、三角状ラスターを用いた位置符号化パターンを示している。
【図６】
図６は、六角状ラスターを用いた位置符号化パターンを示している。