JP2004535011A - 位置コードを達成し且つ位置コードをデコーディングするための方法 - Google Patents
位置コードを達成し且つ位置コードをデコーディングするための方法 Download PDFInfo
- Publication number
- JP2004535011A JP2004535011A JP2003507753A JP2003507753A JP2004535011A JP 2004535011 A JP2004535011 A JP 2004535011A JP 2003507753 A JP2003507753 A JP 2003507753A JP 2003507753 A JP2003507753 A JP 2003507753A JP 2004535011 A JP2004535011 A JP 2004535011A
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- subsequence
- order
- location
- primary
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection 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/0321—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C21/00—Systems for transmitting the position of an object with respect to a predetermined reference system, e.g. tele-autographic system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Position Input By Displaying (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
【0001】
本発明は、位置コードを達成するための方法、位置コードをデコーディングするための方法、これらの目的のためのコンピュータプログラム、位置コードが提供される製品ならびに位置コーディングのためおよび位置コードのデコーディングのためのデバイスに関する。
【背景技術】
【0002】
面上に書き込まれまたは描画される情報を電子的形態で記録するための道具として面上の位置コードの使用は既に知られている。
【0003】
米国特許US5,477,012号において、面上の種々のシンボルからなる位置コードを光学的に検出するペンが記述されている。前記ペンは前記位置コードをデコードし、前記面を横切るペンの動きを記述する座標の対を複数生成する。各位置は特定のシンボルによってコード化される。もしも位置コードが多数の位置をコード化するものであれば、このことは、結果として前記シンボルは複雑になり且つそれ故正確に検出することが困難であるという不都合を生ずる。これに反して、もしもシンボルがより大きく作られれば、分解能は低下する。
【0004】
国際特許出願WO 92/17859号においては、各位置は複数のシンボルによってコード化され、且つ各シンボルは一よりも多くの位置のコーディングを与える位置コードが記述されている。近傍の位置は、それ故部分的に共有されるシンボルによってコード化される。
【0005】
国際特許出願WO 92/17859号の付録Aにおいては、前記位置コードがどのようにして作られ得るかおよび位置がどのようにしてデコードされ得るかの次の例が与えられる。
【0006】
次のm−列:s=(0,0,1,0,1,1,1)およびt=(0,1,1)からスタートせよ。パターンにおける第一列を列Sと同じにさせることによって位置コーディングパターンを作れ。次の列を作るために、t−列を考察せよ。もしも、t−列における第一の要素が、0であるとすれば、そのときは第二列はs−列からなる。その代わりに、もしも、t−列における第一の要素が、1であるとすれば、そのときは第二列は一ステップだけ循環移動されたs−列からなる。後続の列は、t−列における前記要素の値に従って対応する方法で作られる。それ故、次のパターンが得られる:
0 0 1 1
0 0 0 1
1 1 0 0
0 0 1 0
1 1 0 1
1 1 1 0
1 1 1 1
さて、我々が前記パターンの次のサブセットを有する部分面の位置を見つけることを望んでいると仮定する。
【0007】
1 0 0
0 1 0
1 0 1
サブセットにおける第一列は、(1,0,1)である。このサブ列は、s−列における位置2にあらわれる。サブセットにおける循環移動は、(1,1)である。このサブ列は、t−列における位置1にあらわれる。前記パターンにおける累積された移動は、(0,0,1,2)であり、そしてそれ故前記サブセットの垂直位置は、2+0=2である。前記部分面上のサブセットの位置は、それ故(1,2)である。
【0008】
このパターンは、それが、例えばゼロについての第一のシンボルおよび一についての第二のシンボル等の単純なシンボルを用いてベース上にコード化され得るという利点を有している。
【0009】
しかしながら、このタイプの位置コーディングパターンの興味深い性質は、位置決定が可能な限り大きな面の上で実行され得るように、大きなパターンを多数の特有の位置によってコード化する能力である。上述の例において、垂直方向のサイズは、s−列の長さによって制限され且つ水平方向のサイズは、t−列の長さによって制限される。もしもサブ列がkビットからなるものを採用すれば、このサブ列は、前記列におけるある単一の場所に生じるのみでなければならないという性質を、前記列が持たなければならないので、これらの列の長さは、制限なく増大されることはできない。前記列の長さにおける増大は、このようにして前記サブ列の長さにおける増大を、そしてそれによって、位置を決定することができるようにするために記録されることが必要である部分面の増大を成し遂げることができる。
【0010】
本出願の出願人に譲渡されている国際特許出願WO 01/26032号、WO 01/26033号およびWO 01/26034号においては、国際特許出願WO 92/17859におけるそれらと同様の基本原理に基づいているが、より多数の位置のコーディングを可能とする、他の位置コーディングパターンが、記述されている。
【0011】
このパターンの一つの実施の形態においては、所定長さの各サブ列すなわち部分列の数列における場所が明確に決定される性質を有する第一の数列が使用され且つこの数列が種々の回転すなわち循環移動によって面全体にわたって列毎にプリントアウトされる。しかしながら、二進第二列(国際特許出願WO 92/17859におけるt−列)を使用する代わりに、隣接する列の間のさらに大きな循環移動が許容される。
【0012】
前記面は、コード窓にさらに分割される。各コード窓は、少なくとも三つの列からなり、且つ隣接するコード窓を一の数列だけオーバラップさせている。隣接する列の間の移動を用いて、x−軸に沿うコード窓の位置がコード化される。コード窓における前記数列の間のこの移動は、そのようにして位置を定義し、第一のコード窓は位置0、次は1、等々を有する。
【0013】
しかしながら、前記位置コードを読み取るとき、読み取りデバイスは、しばしば二つのコード窓の部分を記録するであろう。前記位置コードの読み取りイメージに関連するコード窓の位置が決定され得るようにするために、第一の範囲における移動は、位置についての少なくとも意味のある移動を指摘するために用いられ、そして第二の範囲における移動は、位置における他の移動のために用いられる。
【0014】
y−座標のコーディングは、対応する方法にて実行される。
【0015】
この位置コードは、非常に良好に働くことが見出されており、且つ非常に多数の位置のコーディングを許容する。しかしながら、位置コードのエラー訂正特性を改善することの要請がある。
【0016】
例えば、x−方向における位置を明確にコード化する最小のサブセットが、五つの移動を有していると仮定されたい。これらの五つの移動から、コード窓の位置が決定され得る。二つの隣接するコード窓の位置は、そのように通常は最終桁(最終移動)において異なっているのみである。三つの連続的なコード窓について、前記移動は、例えば、次の通りとなり得る:
25,15,34,18,3;25,15,34,18,4;25,15,34,18,5;
エラーを検出する通常の方法は、関連するタスクのために必要とされるものよりも多くの情報を読み取ることに基づいている。上述されたコーディングによって、エラー検出のために使用するのに適する余分の情報を読み取ることは困難である。例えば、読み取りデバイスが、最初の上述の三つのコード窓から二つの最後の移動、および次のコード窓からの最初の三つの移動、すなわち18,3,25,15,34を記録すると仮定されたい。18,4,25,15,34が記録されるという結果を生ずるエラーが生じるとさらに仮定されたい。例えば、さらに、前記五つの両側に一ずつの、二つの移動の読み取りでは、エラーを検出することを可能とさせる余分の情報を提供することはない。
【0017】
もしも、x−方向におけるコーディングときに、所定長さの各部分列(サブ列)が、数列内に明確に決定された場所を持つ性質と共に数列が使用されるならば、エラー訂正は容易化される。他方では、もしも多くの位置をコード化することが可能となるようにするならば、この数列は大きなベースを持たなければならない、すなわち大きな移動を許容しなければならない、という実際的な問題が発生する。それから、非常に大きなテーブルが、読み取り部分列が対応する数列における場所を見つけるために、要求され、そしてそれは今度は非常に多量のメモリを必要とする。しかしながら、それは、例えば、限定されたメモリおよびプロセッサ容量を有するハンドヘルドの読み取りデバイスにおいてデコーディングが実行されることが可能となるために望ましい。また、限定されたメモリおよびプロセッサ容量を有するデバイスにおいてコーディングが実行されることが可能でなければならないことも望ましい。
【発明の開示】
【発明が解決しようとする課題】
【0018】
それ故、本発明の目的は、非常に多数の位置をコード化することを可能とさせ、エラー訂正を可能とするが、しかしコーディングおよびデコーディングのために大きなテーブルの記憶部を必要としない、そしてそれは、それ故、限定された量のメモリおよび/または限定されたプロセッサ容量を有するデバイスにおいて実現され得る位置コードを提供することによって、上述された問題を低減することである。
【0019】
他の目的は、非常に多数の位置をコード化する位置コードの効果的で且つ正確なデコーディングを可能とさせることである。
【課題を解決するための手段】
【0020】
これらの目的は、請求項1に従った位置コーディングのための方法、請求項19に従ったコンピュータプログラム、請求項20に従ったコーディングデバイスにおける方法、請求項32に従ったコンピュータプログラム、請求項33に従った位置コードをデコーディングするための方法、請求項41に従ったコンピュータプログラム、請求項42に従った製品、および請求項43〜45に従ったデバイスによって完全にまたは部分的に達成される。
【0021】
したがって、本発明の第一の局面は、位置コーディングのための方法であって、第一の所定の長さの各部分列の一次数列における場所が明確に決定される性質を有する一次数列に従って面上の第一次元に位置をコーディングするステップであって、該第一次元における各位置は、前記部分列のいずれか一によってコード化されるステップを有し、前記一次数列は、該一次数列のベースよりも小さなベースを有し且つ前記第一次元における位置に対応する一次数列の部分列の決定のために用いられる少なくとも二つの二次数列によって作られる方法に関する。
【発明の効果】
【0022】
前記一次数列が、より小さなベース、望ましくは多くともベース5、を有する二次数列から作られるので、前記一次数列における場所をこれの部分列に変換するために必要とされるテーブルは、合わせてより少ないメモリを必要とするいくつかのより小さなテーブルによって置き換えることができる。したがって、非常に多数の位置のための座標をコード化することが、実際に実行可能となる。
【0023】
少なくとも第一次元における位置をコーディングするための一次数列の使用は、非常に良好なエラー検出およびエラー訂正特性を持って位置コードを達成することをも可能とさせる。さらに詳細には、前記一次数列における各数は、循環主数列の部分列を用いてコード化される。もしも、位置決定のために必要とされるものよりも長い前記主数列の部分列が今記録されるならば、エラー検出およびエラー訂正が、より長い部分列が、ある不適正なバージョンにおいて、例えば一の不適正な図について、生じないような方法で設計された前記主数列によって達成され得る。
【0024】
デコーディングについても、また、前記一次数列が、より小さなベースを有する二次数列から作られるという事実が用いられ、前記デコーディングは、いくつかのより小さなテーブルを用い且つ中国の余剰定理を用いて実行され得る。その結果、前記デコーディングは、例えば限定されたメモリおよびプロセッサ容量を有するハンドヘルドデバイスにおいて実現され得る。
【0025】
位置コーディングは、一次元および二次元の両方において位置をコーディングするために利用され得る。前記第二次元におけるコーディングは、第一次元におけるコーディングのために、または同一の数列を用いて利用されるものに対して、同様の原理を用い且つ異なる数列を伴って実行され得る。
【発明を実施するための最良の形態】
【0026】
さて、本発明は、例示的な実施の形態を用いてそして添付された図面を参照して、説明されるであろう。
【0027】
〔実施の形態の記述〕
以下においては、本発明に従った位置コーディングのための全般的な原理が特定の例を用いて説明されるであろう。その後は、コーディングおよびデコーディングが実際にどのようにして実施され得るかが説明される。その後は、位置コードのデコーディングのために使用され得る読み取りデバイスの例が説明される。最後に、代替的な実施の形態が説明される。
【0028】
〔位置コーディングのための全般的な原理〕
位置コードは、一またはそれより多くの次元における位置をコード化するために用いられる。説明を単純化するために、位置コーディングは、まず、この例においてはx−方向における、第一次元においてのみ考慮される。循環主数列が、この方向におけるコーディングのために用いられ、該循環主数列は、所定長さの各部分列の前記循環主数列における場所が、明確に決定される性質を有している。この例においては、前記所定長さは6である。したがって、もしも六つの連続する数が、前記循環主数列におけるいずれかの場所からとられたら、これら六つの数が、この順序で前記循環主数列においてただ一度だけ生ずるであろう。該性質は、もしも前記主数列の末端が該主数列の始端に連結されている場合にも適用される。前記主数列は、それ故に循環と呼ばれる。この例においては、二進主数列が使用される。もしも、六つの数を有する部分列の場所が、明確に決定されるならば、前記主数列は、したがって、26=64の最大長さを持つことができ且つ長さ6の前記部分列は、前記主数列における場所0〜63を持つことができる。しかしながら、もしも、長さ63の主数列が選択されると、以下に説明されるであろうように、改善されたエラー訂正特性が得られる。以下においては、したがって、主数列の長さは63で且つそれ故それが0〜62の範囲におけるただ一つの場所を定義すると仮定される。前記主数列のこの長さによれば、各部分列を前記主数列における場所に変換し且つその逆にするテーブルを持つことが実際に可能である。
【0029】
前記主数列の開始が次の通りであると仮定されたい:
0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,1,0…
そのとき、例えば、前記主数列において、部分列0,0,0,0,0,0は、明確な場所0を有し、部分列1,1,1,1,1,0は、明確な場所9を有し、そして部分列1,1,1,0,1,0は、明確な場所11を有する。
【0030】
前記位置コーディングは、前記循環主数列の異なる循環または循環移動を利用することに基づいている。x−方向における位置をコード化するために、前記主数列が、プリントアウトされまたは何か他の方法で配列され、面を横切る、すなわち位置がコード化されるべき方向に直交するy−方向における、列について種々の方法で循環されまたは循環的に移動される。前記主数列は、もしもy−方向において、前記主数列の前記長さに対応するものよりも多くの位置がコード化されようとする場合に必要とされる、同一の列について繰り返しプリントアウトされ得る。それから、前記主数列の同様の循環が、すべての繰り返しに使用される。しかしながら、異なる循環は異なる列に使用され得る。
【0031】
図1は、七つの列x〜x+6を有する一枚の紙1を概略的に示している。前記主数列の異なる循環における最初の数のみがプリントアウトされる。全体の主数列は、ボックスBによって概略的にマークされている。加えて、図1においては、六つの数の第一の部分列Sが、破線を用いて描かれたボックスによって各列においてマークされている。上述されたように、前記部分列Sの各々は、前記主数列における明確に決定された場所を有する。
【0032】
隣接する列の各対は、差分数dを定義する。差分数dは、それぞれの列における第一の部分列の主数列における場所の間の差分によって与えられる。もしも、その代わりに、各列における一ステップ下の部分列の場所の間の差分がとられたら、結果は、場所が同様の方法で転置されるので、同様となるであろう。したがって、差分数dは、列におけるどの「高さ」において、前記主数列における部分列の場所が比較されるかにかかわりなく、同様となるであろう。したがって、各対の列について、差分数dは、y−方向において一定である。
【0033】
列x+5における主数列の第一の部分列は、0,0,0,0,0,0であり、それは前記主数列における場所0に対応する。列x+6における主数列の第一の部分列は、1,0,0,0,1,1であり、それは前記主数列における場所57に対応する。これらの列の間の差分または循環移動は、したがって57であり、それ故d(x+5)=57である。前記差分数が前記主数列の長さを法として決定されることが指摘されるべきである。
【0034】
このような方法でコード化され得る差分数は、0〜K−1の範囲内にあり、ここでKは前記主数列の長さで、この場合K=63であり、したがって、それによって0〜62の範囲内における差分数をコード化することが可能となる。前記主数列の異なる循環を選択することによって、以下において一次数列または一次差分数列と呼ばれる、差分数の列を作ることができ、それは、所定長さの各部分列は、一次数列において明確に決定される場所を有する。この例においては、前記所定長さは5である。五つの差分数からなる各部分列は、前記一次差分数列における明確に決定する場所を有し、このことはx−方向における位置をコード化するのに用いられ得る。図1において、部分列S(x)〜S(x+5)は、前記一次数列の部分列を与える五つの差分数d(x)〜d(x+4)をこのようにしてコード化するであろう。
【0035】
実際に前記部分列は、それらの明示的な値によっては正常にプリントアウトされないが、グラフィカルなコード化によって正常にプリントアウトされることも指摘されるべきである。前記主数列の二進数の列は行列を形成し、それは以下においてはx−行列と呼ばれるであろう。
【0036】
もしも、前記主数列の長さがKであるならば、前記一次差分数列におけるベースはKに等しくなり且つその最大長さは、K5、すなわちこの場合635になるであろう。しかしながら、部分列を前記一次差分数列における場所に変換するためのテーブルを使用すること、そして非常に大きいベースについてその逆をすることは、実際には可能ではない。しかしながら、もしも、前記ベースが管理可能なテーブルを使用できるようにするために縮小されれば、コード化可能な位置の数が減小されるであろう。
【0037】
この問題は、特定のx−座標に対応する一次差分数列における部分列およびその逆を決定するために、前記位置コードをコーディングし且つデコーディングするときに、以下においては、二次差分数列または二次数列と呼ばれる、より短い差分数列の一次差分数列を作ることによって、そして、そのために前記部分列およびそれらの場所が小さなテーブル内に配置され得る、前記二次差分数列を用いることによって、解決される。
【0038】
前記二次差分数列は、次のようにして決定され得る:
第一に、差分数は、異なる差分数の個数が少なくとも二つの要素に因数分解され得るような範囲内にのみ許可される。長さ63の主数列を有する例においては、差分数は、長さ54の範囲内でのみ許可される。数54は、実際には、2*3*3*3として因数分解され得る。その代わりに、60の差分数、すなわち5*3*2*2の差分数が、選択され得るが、テーブルが可能な限り小さくなるようにするために、可能な限り小さな要素を与える数を選択することが好都合であるかもしれない。
【0039】
第二に、二次差分数列の同一の数は異なる差分数の数が因数分解され得る要素の数として形成される。この例においては、それ故、二次差分数列の数は、4に等しい。
【0040】
加えて、我々は、各要素に、それぞれの二次差分数列においてベースを形成させる。この例においては、それ故、我々は、ベース2を有する一の二次差分数列およびベース3を有する三つの二次差分数列を得る。
【0041】
したがって、前記二次差分数列の差大長さは、もしも前記二次差分数列が長さ5の部分列が該二次差分数列において特有の場所を有するはずであるという特性をも有するとするならば、それぞれ32および243である。前記二次差分数列のそのような長さによれば、部分列を場所およびその逆に変換することが、実際に可能である。もしも、その代わりとして、我々が60の異なる数を使用すべく選択したならば、我々はベース5を有する二次差分数列を持つであろうし、そしてそれ故、かなりより多くのメモリを使用するテーブルを与える、3125の最大長さが、しかしながら、なお管理できる。
【0042】
最後に、前記二次差分数列の長さは、該長さが対をなして相対的に素であるように選択される。このことは、各対をなす二次差分数列について、一の差分数列の長さが、前記第二の差分数列の長さと共通のどのような要素も持たないようにすることを意味する。このことは、加えて、もしも前記差分数列の各々が繰り返されるならば、各二次差分数列からの部分列の同一の組み合わせは、L=l1*12*…*lmの場所の後まで生じないであろうことを意味し、そこでは、l1は、二次差分数列1の長さであり、l2は、二次差分数列2の長さであり、そして最後の二次差分数列1の長さであるlmまで、同様である。もしも、二つの二次数列だけしかなければ、もちろん、L=11*12である。
【0043】
このことは、図2に概略的に図解されている。最上部には、ここでは単にXによって示されている差分数による一つの長い列において延びる一次数列PDが示されている。下部には、二次数列A1〜A4が概略的に示されている。垂直線は数列が再開する場所を示している。一次数列の部分列および対応する二次数列の部分列は、破線によって示されている。部分列は、二次数列における異なる場所に対応することがわかる。
【0044】
二次差分数列の部分列の組み合わせによる一次差分数列の部分列の表現は、この例においては、全単射である。これは、しかしながら、必要なことではない。
【0045】
第二次元における、例えばこの場合y−方向における、位置コーディングは、第一次元における位置コーディングと同様の原理に従って実行され得る。前記主数列は、それから、面上の行についての、すなわち図1におけるx−方向についての、異なる循環移動によって配列される。差分数は、隣接する行の間で定義され且つこれら差分数は、二次差分数列から作られ得る一次差分数列を形成する。第二次元における他の主数列、他の一次差分数列および他の二次差分数列を使用することが可能である。前記種々の数列におけるベースも、前記第一次元においてコーディングのために使用されたそれらのもの以外とすることもできる。この例においては、しかしながら、同一の列が、x−方向とy−方向との両方に使用される。x−方向におけるコーディングに対応する方法において、y−方向におけるコーディングは、結果として、行の値が主数列の二進値からなる行列を得る。
【0046】
もしも、x−行列およびy−行列が重ね合わされたならば、結果として得られるXY−行列における各点について、x−行列からの1ビットとy−行列からの1ビットとが存在するであろう。それ故、各点において、次の四つのビット組合せが、取得され得る:0,0;0,1;1,0;および1,1。これらの異なる組み合わせは、例えばドット30が、ラスタにおける公称点31からの四つの方向のいずれか一つの方向に変位され、各公称点は、ラスタにおける線32間の交差に対応する、図3a〜図3dに示された方法によって、面上にグラフィカルにコード化され得る。このタイプのグラフィカルなコーディングは、国際特許出願WO 01/26032号に非常に詳細に説明されており、そこでは、しかしながら、実際に潜在する位置コーディングが異なる方法にて実行される。この例において使用されるコーディングは次の通りである:
ラスタは、仮想的であり得て、その場合、それ故、位置コードにて面上を明示的にプリントアウトしない。
【0047】
図4は、位置コード410を有する一枚の紙400の形態における製品の一部を概略的に示している。図4における位置コードは、例えばディジタル化された手書きに適するバージョンに関連して非常に大きく拡大されていることは、強調されるべきである。加えて、ラスタ420は、図4にマークされている。しかしながら、これは、通常はプリントアウトされない。
【0048】
もちろん、他のタイプのグラフィカルなコーディングが、異なるサイズの4ドット、異なる形状を有する四つのマーク、または異なる回転を有する四つのマークのような、四対のビットについて選択され得る。
【0049】
位置コーディングが、主数列における異なる部分列の場所の間の差分に基づいており、且つ同様の差分が、部分列の異なる対を用いて得られ得るので、一次差分数列が、種々の方法において達成され得る。より詳細には、一次差分数列の63の異なる「バージョン」が、その部分列、すなわち主数列のどの回転が、x−行列における非常に最初の列(x=0)およびy−行列における非常に最初の行(y=0)を始めるべく選択されたか、に依存して、達成され得る。したがって、x−方向およびy−方向へのコーディングのために同一の一次差分数列を利用する位置コードのK*K(この例では63*63=3969)個の異なる「バージョン」を生成することが可能である。位置コードのこれらの異なるバージョンは以下においてセクションと呼ばれる。x−方向における位置コードについてのセクション数xsおよびy−方向における位置コードについてのセクション数ysは、それぞれx−方向およびy−方向についての付加的な座標として示され得る。
【0050】
上の例においては、主数列を用いて理論的にコード化され得る差分数のサブセットのみが、より詳細には、63の可能性のある差分数から54のみが、使用されている。理論的に可能性のある差分数の部分範囲は、種々の方法で選択され得る。この例においては、(前記主数列の長さを法とした)ゼロに近い差分数が、位置コードにおける所望されていない規則性を作り得る。それ故、この例においては、差分数は、範囲(5,58)内に選択される。このことは、一次数列における部分列と二次数列における部分列との間の変換に関して考慮されなければならず、そしてそれは以下において説明されるであろう。今、位置コードが面上に配置されていると仮定されたい。読み取りデバイスは、少なくとも6*6ドットに対応する位置コードのサブセットを検出するエリアセンサを持ち得る。読み取りのとき、前記読み取りデバイスは、前記位置コードに関連して種々の方法で回転されて保持され得る。理論上で位置コードはそれが0,90,180または270度にわたって回転されようとされまいと同様に見えるので、位置コードのイメージは、位置コードと読み取りデバイスとの間の回転をそれ自体で明らかにすることはない。位置コードが回転されるとき、各ドットの変位の方向は、しかしながら、変化され、それが、今度は、変化されるドットの変位によってコード化されたビットの対に導く。どのように変化が生ずるかは、変位とビットの対の間の変換に依存する。以下においては、上述されたように変換が実施されると仮定されている。三つの異なるケースが存在する。
【0051】
1)位置コードのイメージの180度の回転によって、非回転位置コードにおけるx−およびy−位置をコード化する循環主列は、イメージに基づく位置をデコードする試みがなされるとき、後方を読み取るであろう。上述された変位の組み合わせおよびビットの対によって、デコードされたビットは、位置コードが上下逆に読み取られることから、反転されるであろう。
【0052】
2)時計回り方向における90度の回転によって、非回転行列におけるx−位置をコード化するビット列は、回転行列におけるy−位置をデコードする試みがなされるとき、後方を読み取るであろう、そして前記ビットは反転されるであろう。
【0053】
3)時計回り方向における270度の回転によって、非回転行列におけるy−位置をコード化するビット列は、回転行列におけるx−位置をデコードする試みがなされるとき、後方を読み取るであろう、そして前記ビットは反転されるであろう。
【0054】
このことは、もしも、正しい向きで正立状態にある非回転行列における部分列が、反転されることがなく且つ循環主数列において後方にあるならば、90,180および270度の回転が検出され得ることを意味する。もしもそのような条件が前記主数列について満たされるならば、このことは、その長さがずいぶん減小され、今度はより少ない位置がコード化され得る。
【0055】
この問題を解決するため、我々は、その代わりに、前記循環主数列のより長い部分列について、条件が満たされるようにさせる。このことは、実際の位置決定のために要求されるよりも長い部分列が、読み取られなければならないことを意味する。ある場合においては、そのようなより長い部分列は、読み取りの間に既に利用できる。もしも、位置についての座標をコード化する位置コードの最小のサブセットが二次式であるならば、この例における場合にそうであるように、読み取りデバイスが、位置コードに関係して45度にわたって回転されたときでさえも、それが最小のサブセット全体をも含むように大きな位置コードの一部がいつも読み取られなければならない。それ故、位置決定のために要求されるものよりも長い少なくとも一つの部分列がいつも含まれる。このことは、図5に図解されており、そこでは、ドットに対応する各正方形50およびグレーに影付けされた正方形が、二つの余分のドットと共に少なくとも一つの行および一つの列を常に読み取ることができることを図解している。
【0056】
現在の例において、そこでは位置決定のための主数列の部分列は、長さ6を有し、長さ8の部分列が回転の検出のために使用され得る。これら8ビット長の部分列は、したがって、主数列内において後戻りおよび反転を生じることがないという特性を有する。この特性は、64ビット長の主数列について達成され得ず、それが前記長さがその代わりに63として選択される理由である。
【0057】
上述された回転のうちの二つ、すなわち90および270度において、正しい方向に回転する一列、そして誤った方向に回転する一列が読み取られるであろう。回転検出のための上述された方法によれば、第一の二つの読み取り方向(xおよびy)だけによって、回転エラーが検出されるであろう。該第二の読み取り方向において、正しく回転されたイメージの第一の読み取り方向における位置をコード化する循環移動がみられるであろう。
【0058】
時計回り方向における90度回転の場合において、正確に回転されたイメージのy−座標をコード化する循環移動は、x−方向についてデコーディングするときにみられるであろう。したがって、それは、みられるy−方向の一次差分数列の部分列であるが、誤った方向に回転される(左から右への代わりに右から左へ移動する、そしてそれはx−方向の一次差分数列の部分列の場合である)。
【0059】
対応する方法において、x−方向の一次差分数列の部分列は、270度回転の場合にy−方向にデコーディングするときに、誤った方向に回転するであろうことがわかる。
【0060】
なぜ部分列が誤った方向に回転するように見えるかという理由は、x−およびy−方向の一次差分数列の相対的な方向性である。全体の位置コーディングパターンの縁部から始まり、y−方向の一次差分数列が、反時計回り方向に移動する間に、x−方向の一次差分数列が、時計回り方向に移動する。もしもそれらが同一の方向に走っていたら、それらは誤った方向には回転しないが、上述のケースにおいて正しい方向に回転する。
【0061】
一次差分数列を反対方向に走らせることには多数の利点がある。一次差分数列の部分列が正しい回転をしているケースにおいては、「正しい」座標がデコードされるが、誤った方向においてである。この座標は、デコーディングに要求される一次差分数列からの六つの循環移動に対応するだけでなく、周囲の移動がデコードされる座標が正しいことを確認するであろう。一次差分数列が互いに反対方向に走っているケースにおいては、一次差分数列からの六つの循環移動もデコードされるが、誤った順序で、結果として誤って回転された一次差分数列の周囲部分に統計的に対応しないであろう座標を生ずる。この事実は、結果としてエラー検出についてより良い可能性を生ずる。
【0062】
他の利点は、もしも一次差分数列が、互いに反対の方向に走っていれば、連続的なエラー、すなわち複数の連続するイメージが隣接する位置にデコードされるエラー、の危険が少ないことである。より詳細には、誤った方法で回転される一次差分数列における六つの循環移動の異なる隣接する組は、隣接する座標をコード化しない傾向がある。連続的なエラーは、そこでは正しくない座標の広がりが大きく、他のエラーよりも検出することが一層困難である。
【0063】
回転の検出のために使用されるのと同一の基本原理が、エラー訂正のために使用され得る。主数列は、例えば、位置決定のために要求されるよりも長いいくつかの所定長さの部分列が、主数列内でビット反転されて生じないようにして選択され得る。もしも、そのようにより長い部分列における一を除く全てのビットが確実性をもって検出され得るならば、不正なビットは、訂正され得る。
【0064】
位置コードのそのようなエラー検出およびエラー訂正特性は、主数列の理性的な選択によってかなり改善され得る。さらなる改善が、二次差分数列の選択によって達成され得る。
【0065】
上述の例においては、主数列および二次差分数列が、付録Aに示される方法で選択されている。
【0066】
二次差分数列は、以下に述べる特別なエラー訂正特性を有している:
主数列の部分列の一つが、正しくなくデコードされ、そしてそれはデコードされた主数列における正しくない場所に導くと仮定されたい。各場所は二つの隣接する差分数を計算するために使用されるので、これらは、両方とも正しくないデコーディングによって影響されるであろう。もしも、差分数のいずれか一方が、使用される差分数範囲(5,58)の外側にあれば、エラーは直ちに検出されるであろう。もしも、これがそのようなケースでなければ、しかしながら、一次差分数列の部分列が結果として生ずる四つの二次差分数列の部分列の組合せにおける少なくもと一つの部分列が、二つの隣接する位置にゆがめられるであろう。二つの第一の二次差分数列A1およびA2の両方がベース3を有し、且つ使用されない差分数の数は、9=3*3であるので、これら二つの列のいずれか一つにおけるゆがみは、二つの影響された数の合計は、3を法としたいつも同一の値を有するという特性を有している。
【0067】
二つの二次数列A1およびA2は、単一の不適正な場所のデコーディングによって引き起こされる部分列の14の可能性のある歪の多くとも一つにおける長さ7の各部分列について二次数列内に見出されるであろうという特性を有している。第三の二次数列A3は、加えて、単一の不適正な場所のデコーディングによって引き起こされる部分列の13の可能性のある歪の多くとも一つにおける長さ7の各部分列について、二次数列の中に見出されるであろうという特性を有している。第四の二次数列A4は、28の可能性のある歪の多くとも七つについての同一の特性を有している。検出される主数列の部分列の単一の正しくないデコーディングの可能性は大きい。
【0068】
選択された列によれば、410815348の異なる位置の合計が、セクションの各次元にコード化され得る。コード化され得る異なるセクションの数は、上述された通り632である。したがって、コード化され得る位置の合計数は、632*4108153482=6.7*1020位置である。
【0069】
もしも、各位置が、0.3*0.3mm2の面に対応するならば、これは6000万km2の面上にコード化され得る特有の位置に対応する。位置コードによって理論的にコード化され得る全ての特有の点によって作られるこの面は、仮想面と呼ばれ得る。位置コードがコード化される座標は、それ故仮想面上の点についての絶対座標である。位置コードの部分は物理的ベースまたは面上に適用され得る。それから、位置コードは、このベース上で位置をコード化する。しかしながら、座標は、通常、物理ベース上の位置についての絶対座標に関連しないが、仮想面上の点について関連している。
【0070】
〔位置コーディングの実際的な例〕
以下において、実際に位置コーディングがどのようにして実現されるかが説明されるであろう。標準的には、ユーザは、座標0からそして上方向きに全ての位置コードをプリントすることには関心がないが、ユーザは、むしろ特定の座標エリアが割り当てられており、それは特定のアプリケーションのために使用され得る。そこで実際的な問題は、この特定の座標エリアについてどのように位置コードが決定されるかである。
【0071】
位置コードは、いくつかの適切なタイプのプロセッサユニットから構成し得るコーディングデバイスにおいて決定されまたは生成され得る。それから、前記プロセッサユニットは、実際のプロセッサ、作業メモリおよび位置コードを決定するための命令群を有するコンピュータプログラムが格納されるプログラムメモリを具備している。前記プロセッサユニットは、典型的なパーソナルコンピュータに、プリンターにまたは何らかの他の適切なデバイスに組み込まれ得る。前記コーディングデバイスは、その代わりに、ASIC(アプリケーション特定集積回路)またはFPGA(フィールドプログラマブルゲートアレイ)またはこの特定のタスクのために適するように適用され得る同様のユニット、またはディジタルおよび/またはアナログ回路またはそれらの何らかの適切な組み合わせからなるような特定目的のハードウェアからなることもできる。
【0072】
有意的に生成する位置コードの最小の部分は、単一の点についての座標をコード化した部分である。この例においては、これは6*6変位値による行列を生成することに対応し、それは通常のラスタにおけるそれらのそれぞれのラスタ点から6*6ドットの変位で記述する。
【0073】
しかしながら、しばしば、複数の点についての座標をコード化する位置コードのサブセットの生成、すなわちより大きな行列、が要求される。
【0074】
前記コーディングデバイスへの入力信号は、通常のケースでは六つのパラメータからなることができる:
x:位置コードにおける左に最も遠い列についてのx−座標である。
【0075】
y:最上部の行についてのy−座標である。
【0076】
xs:x−位置コードについて使用される位置コードのセクションを示す。
【0077】
ys:y−位置コードについて使用される位置コードのセクションを示す。
【0078】
幅:それは、位置コードにおける列の数、すなわちx−方向における座標エリアのサイズを示す。
【0079】
高さ:それは、位置コードにおける行の数、すなわちy−方向における座標エリアのサイズを示す。
【0080】
これらのパラメータは、ユーザによってまたは外部ユニットからコーディングデバイスに入力される。オプション的に、変位値によって満たされることとなる行列に対するポインタも含まれ得る。さもなければ、行列についてメモリが割り当てられる。
【0081】
コーディングデバイスのタスクは、行列における各点を、ベース上にプリントされるべき位置コードにおける変位されるべきドットの方位を示す変位値Oに関連付けることにある。
【0082】
この例においては0〜3であり得る変位値Oが、上述において説明してきたように、第一のビットは、現在点についてのx−位置コードの値からなるとともに、第二のビットは、現在点についてのy−位置コードの値mxからなる、一対のビットにおけるビットによって、決定される。もしも、一対のビットが既知であれば、変位値は、ビットの対を変位値に変換するテーブルO内において検索され得る。
【0083】
x−位置コードの値mxは、もちろん、xおよびy上であって、我々が位置を定められる点に依存するが、位置コードの現在セクション上である。したがって、mx=mx(x,xs,y)である。対応する方法にて、y−位置コードの値mは、xおよびy上であって、我々が位置を定められる点に依存し、そしてy−位置コードの現在セクション上である。したがって、my=my(y,ys,x)である。
【0084】
もしも我々が、どの場所sにおいて前記循環主数列が、セクションxsにおける列xにおいて始まるかを決定し、且つ我々がy(ここで結果は主数列の長さを法としてとられる)を付加すれば、我々は、そこで我々がx−コーディングについて点x、yに位置を定められた前記主数列における場所を得る。我々は、それからこの場所を有し且つそれ故点x、yにおけるx−コーディングの値からなる主数列における数(ビット)を主数列のテーブルMにおいて検索し得る。このことは、mx(x,y,xs)=M[(s(x,xs)+y)(mod 63)]として表現され得る。
【0085】
対応する操作を実行することによって、y−コーディングの値が点x,yにおいて見出され得る。このようにして、我々は、それから行列における点x,yにおいて格納されるべき変位Oが決定されるべき、対をなすビットをアクセスする。
【0086】
コーディングデバイスが計算する必要があるのは、したがって、まずその場所sにおいて主数列が列xについて始め、該列xは、点x,yについての座標をコード化する位置コードのサブセットにおける左に最も遠い列である。他の言葉で言えば、列xにおける主数列について循環移動が計算されるといわれ得る。
【0087】
このことは次のようにして実行され得る。
【0088】
差分数d(x)が、列xにおける第一の部分列の主数列における場所によって、先に示されたように、そして隣接する列x+1における第一の部分列が定義される。より詳細には、それは、次のようなケースである:
d(x)=(s(x+1,xs)−s(x,xs))(主数列の長さを法とする)
ここで、s(x,xs)は、それ故、位置コードのセクションxsにおける列xにおける主数列または主数列についての循環移動における場所である。
【0089】
定義として、さらに、s(0,xs)=xsなるケースであり、x−位置コードにおける特に最初の列における主数列についての循環移動である。
【0090】
これに基づいて、s(x,xs)が、それ故、s(x,xs)=(xs+sum(j=0…x−l)d(j))(主数列の長さを法とする)として決定される。
【0091】
実際には、多くの点についての座標をコード化する位置コードのための全てのxについて座分数の値d(x)を定義する一次差分数列を格納することができないので、今一次差分数列における各差分数が、二次差分数列の各々から一つの数の組み合わせ上にマップ可能であるという事実が利用される。ここに、一般的なケースは次のようになる:
d(x)=dc(1,x)+b1*dc(2,x)
+…+b1*…*bn−1*dc(n,x)
ここで、nは、二次差分数列の数であり、そして、biは、i=1〜n−1についての差分数列iにおけるベースであり、dc(i,x)は、差分数列iにおける数によってテーブルDCiにおいて検索されることによって決定され得て、したがってdc(i,x)=DCi[差分数列の長さiを法とするx]である。もしもたった二つの二次差分数列しかなければ、もちろん上述における最初の2項のみが用いられることは、指摘されるべきである。
【0092】
問題のケースにおいては、それ故我々は、次を得る:
d(x)=5+dc(1,x)+3*dc(2,x)
+9*dc(2,x)+18*dc(3,x)
但し、定数5は、範囲5〜58における差分数が用いられているという事実に由来している。
【0093】
種々の二次差分数列からの寄与は独立であるので、各二次差分数列について分離された差分xまでの全ての差分数の合計が計算され得る。図2において、まるでそれが場所xまでの全ての差分数が各列について分離されて合計されたように見られ得る。
【0094】
実際には、この合計は、定数およびテーブルの使用によって容易に決定され得る。前記二次差分数列の全ての循環期からの寄与は、実際に一定であり且つそれ故、あらかじめ決定されそして定数として格納され得る。これらの定数はここではDCCSiとしてあらわされる。差分数列の不完全な循環からの寄与は、あらかじめ決定されそしてテーブルに格納されることもでき、該テーブルは、それぞれ二次差分数列における各場所について、この場所までそしてこの場所を含めて差分数の合計を与える。このテーブルは、ここにDCICSiとあらわされる。定数項5からの寄与は、5*xである。
【0095】
sum(j=0…x−l)d(j)の項は、それ故、各二次差分数列について次のようにして決定され得る。
【0096】
DCCSi*(x div l(i))+DCICSi[x(mod l(i))]
ここで、l(i)は、二次差分数列iの長さである。
【0097】
s(x,xs)が決定されたとき、点x,yにおけるx−位置コードは、それ故、上述されたように、yの既知の値の使用およびテーブル参照によって決定され得る。
【0098】
x−位置コードにおける後続の列について、もちろん、s(x,xs)は、上述されたように決定される必要がないが、代わりにs(x,xs)が既知であり、次の関係を用いてs(x+l,xs)が計算されるという事実が利用される。
【0099】
d(x)=(s(x+1,xs)−s(x,xs))(主数列の長さを法とする)
d(x)=5+dc(1,x)+b1*dc(2,x)
+…+b1*b2…*bm−1*dc(m,x)
dc(i,x)=DCi[差分数列iの長さを法とするx]
この手順が、それから、入力パラメータ「幅」に従って所要の列について繰り返される。
【0100】
s(y,ys)は、s(x,xs)についてと対応する方法で決定され、そして入力パラメータxを用いて、点x,yにおけるy−位置コードの値も決定され得る。
【0101】
これら両方の値が得られたとき、点x,yにおける変位が、テーブルO内が参照されることによって決定され得る。
【0102】
位置をコード化するために、コーディングデバイスが、それ故、次のテーブルおよび定数を使用し得る:
M:列内の異なる場所での主数列における数。
【0103】
O:異なるビットの対についての変位(0〜3)。
【0104】
DCi:列内の異なる場所での二次差分数列iにおける数。
【0105】
DCICSi:二次差分数列iの不完全な循環期の各々における数の合計。
【0106】
加えて、次の定数が格納され得る:
DCCSi:二次差分数列iにおける全ての数の合計。
【0107】
l(i):二次差分数列iの長さ。
【0108】
K:主数列の長さ。
【0109】
位置コーディングのための単純なフローチャートが図6に示されている。最初に、ステップ600において、入力信号が、x,y,xs,ys,幅,高さの形態で受信される。その後に、x−行列およびy−行列がxよりはむしろyまたはその逆のいずれかによって並列的にまたは逐次的に決定され得る。このことは、並列フローによってフローチャートに示されている。ステップ605において、循環移動s(x,sx)が、x−位置コーディングにおける第1列について最初に決定される。その後に、ステップ610において、循環移動s(x+l,xs)が、第2列について決定される。その後、ステップ615においておよびステップ620においてx=x+lが適用され、全ての幅について、すなわち全ての列について、循環移動が決定されたか否かが調べられる。もしも、それがそのケースでなければ、フローはステップ610に戻り、そしてこのステップおよびステップ615が繰り返される。もしも、それがそのケースならば、ステップ625において、テーブル参照によってx−行列におけるビット値が決定される。対応する方法においては、ステップ630〜ステップ650においてy−行列についてのビット値が決定される。最後にxy−行列についての変位がステップ655においてテーブル参照によって決定される。
【0110】
これは、もちろん、位置コーディングがどのように実行され得るかの、まさに粗く概略的な例であり、そして実際には、それは多くのやり方に変更され得る。例えば、点についてのビットの対および対応する変位が、点について循環移動が決定されると直ちに継続的に決定される。結果として、x−およびy−行列をバッファする必要はない。
【0111】
該方法は、コンピュータプログラムとして実行されることが可能である。コンピュータプログラムからの出力信号は、変位値を伴うxy−行列が正確である必要はないが、しかしその代わりに位置コードを作成する主数列の部分列の何らかの他の指示からなることが可能である。
【0112】
〔位置デコーディングの実際の例〕
位置コードは、位置コードを読み取るためのセンサ、および何らかの適切なタイプのプロセッサユニットを有し得るデコーディングデバイスにおいてデコードされ得る。プロセッサユニットは、実際のプロセッサ、作業メモリおよび、位置コードをデコーディングするための命令群を有するコンピュータプログラムがそこに格納される、プログラムメモリを備えている。前記プロセッサユニットは、典型的なパーソナルコンピュータに、手持ち読み取りデバイスにまたは何らかの他の適切なデバイスに組み込まれ得る。前記デコーディングデバイスは、その代わりに、ASICまたはFPGAまたはこの特定のタスクのために適するように適用され得る同様のユニット、またはディジタルおよび/またはアナログ回路またはそれらの何らかの適切な組み合わせからなるような特定目的のハードウェアからなることもできる。
【0113】
デコーディングデバイスの特定の例が以下において説明されるであろう。
【0114】
以下の記述は図7のフローチャートに言及している。
【0115】
デコーディングデバイスへの入力信号は、位置コードの検出されたサブセットのイメージまたは他の何らかのディジタル表現からなっており、そのサブセットは、少なくとも一点についての座標をコード化している、ステップ700。この例においては、位置コードは、上述されたように、ラスタにおけるラスタ点に関連する所定の方法にて変位された、ドットによりグラフィカルに表現される。
【0116】
デコーディングの最初のステップにおいては、デコーディングデバイスが、例えば閾値弁別を用いることによって、イメージにおけるドットを識別し、ラスタをドットに合わせる、ステップ705。ラスタは、例えば、異なるドットの対の間における距離の利用によって、本出願人の国際特許出願WO 01/26034に記述された方法によって、または代わりにフーリエ変換の利用による国際特許出願WO 01/75783に記述された方法で決定され得る。各ラスタ点について、関連付けられたドットの変位が決定され、変位に依存する値0〜3が与えられる。少なくともサイズが(nl+1)*(nl+l)の行列が選択され、ここで、nlは、位置決めのために使用される主数列の部分列の長さであり、その場所は、主数列内に明確に決定される。当該例に関連して、8*8行列が選択される((nl+2))*(nl+2))。この行列は、変位値をビットの対に変換するテーブルOIにおいて検索されることによって、ビットの対に変換される変位値によって、x−行列(x−位置コードとも呼ばれる)およびy−行列(y−位置コードとも呼ばれる)に分離される、ステップ710。各ビット対における最初のビットはx−行列を形成し、且つ各ビット対における第二のビットは、y−行列を形成する。
【0117】
次のステップにおいて、x−およびy−行列の回転の四つの可能性のあるタイプ(0,90,180および270度)は、調査され且つ現在の回転が決定される、ステップ715。主数列において失われた長さ8の部分列が生じ、行列の不完全な回転の場合には、先に述べられた事実が用いられる。
【0118】
同時に、ある度合いのエラー訂正が長さ8の部分列に基づいて実行される。
【0119】
正しい回転が決定されたとき、次のステップにおいて、中間にあり且つ正しい方法で回転されそしてnl*nlなるサイズ、すなわちこの例においては二つの6*6行列、を有する、x−およびy−行列のみが使用される。x−行列およびy−行列が、図7における並列フローによって示される、xに先だってyまたはその逆を用いて並列的にまたは逐次的にデコードされる。
【0120】
x−行列のデコーディングの第一のステップ720において、一次差分数列の部分列が決定され、それは図7において、一次部分列と呼ばれる。より詳細には、x−行列において、行列内の列におけるビットが、主数列の部分列を構成する。主数列における対応する場所は、部分列を場所に変換するテーブルMI内が参照されることにより決定される。その後に、差分数は、主数列の部分列によってコード化された差分数が決定される。この例においては、それらは数において5である。より詳細には、隣接する部分列の場所の間の差分dとして差分数が決定され、前記差分は主数列の長さを法として決定される。
【0121】
そのようにして取得される差分数の列は、一次差分数列の部分列であり、それはx−方向についてのコーディングのために使用されるが、そのサイズのために、デコーディングデバイスには格納されない。その代わりに、各部分列が二次差分数列の各々からの部分列の組み合わせに変換され得る一次差分数列の特性の使用がなされる。ステップ725において、一次差分数列が、そのように二次部分列に変換される。より詳細には、各差分数は次のように書き換える:
d=dl +b1*d2+…+b1*b2…*bn−1*dn
ここで、nは二次差分数列の数であり、そしてbiは、二次差分数列i内におけるベースである。これに関する例は、次のようになる:
d=5+d1+3*d2+9*d3+18*d4
ここで、d1〜d4は、整数除算またはテーブル参照によって決定され得る。
【0122】
一次差分数列のデコードされた部分列における五つの数の各々は、それ故結果として四つの数d1,d2,d3,d4となる。したがって、第一の二次差分数列の部分列を形成する五つのd1数が得られ、第二の二次差分数列の部分列を形成する五つのd2数が得られ、第三の二次差分数列の部分列を形成する五つのd3数が得られ、そして第四の二次差分数列の部分列を形成する五つのd4数が得られる。例が、下に与えられる:
d 23 45 51 9 37
dl 2 0 0 0 1
d2 1 0 2 0 0
d3 0 1 1 1 0
d4 1 2 2 0 2
二次差分数列の部分列のそれぞれの場所は、それぞれの二次差分数列の部分数列をそれぞれの二次差分数列における場所に変換する四つのテーブルDCIiを参照することによって決定される、ステップ730。
【0123】
各部分列について、場所piがそのように得られる。これらの場所について、次のような場合がある:
P=p1 (mod 11)
P=p2 (mod 12)
P=pm (mod 1m)
但し、Pは、座標xに対応する一次差分数列における場所、piは、二次差分数列における場所、liは、二次差分数列iの長さ、そしてmは、二次差分数列の数である。
【0124】
この式のシステムは、よく知られた中国の余剰定理を用いて解決され得る、それについては、例えばNiven,Suckermanに非常に詳細に説明されており、数の理論への導入はSpringer Verlagに説明されている。こうして、ステップ735において、xが決定される。
【0125】
定義L=prod(i=1,m)liおよびqi*(L/li)=l(mod li)
一次差分数列における場所Pは、次のようにして得られる:
P=(sum(i=1,n)((L/li))*pi*qi))(mod L)
関連する例において
L=11*12*13*14=236*233*31*241=410815348 および
q1=135
q2=145
q3=17
q4=62
が得られる。
【0126】
もしも、二次差分数列の部分列について例えば、場所p1=97;p2=176;p3=3およびp4=211が得られるならば、一次差分数列における対応する場所は、中国の余剰定理に従って170326961となるであろう。
【0127】
Pが決定されているとき、次のステップは、場所が属するx−セクションを決定することである。これは、最初にy=0という仮定のもとに、そしてs(x,0)の計算によって実行され、それはxs=0についての列xのための部分数列の主数列における場所である。
【0128】
s(x,0)は、位置xについての位置コードの決定に関連して上述されたのと同様に二次差分数列を用いて計算される。もしも、s(x,0)が、X方向についての位置決めのために使用される六つの部分数列の第一の部分数列の場所から引かれると、y=0についてxs が得られる。
【0129】
y−行列は、x−行列に先だって、それと並列的にあるいはそのデコードの後にデコードされ、一次差分数列における場所は、x−方向についての上述された対応する方法にて、図7におけるステップ740〜755に従って、y−方向について決定される。加えて、関連するy−セクションysがx−セクションについて上述されたのに対応する方法で計算されるが、x=0の仮定のもとである。最後に、ステップ760において、xsは、yを考慮して決定され、且つysは、xを考慮してy(主数列の長さを法として)を減算することによって、xsからy=0について決定され、そしてx(主数列の長さを法として)を減算することによってysからx=0について決定される。
【0130】
次のテーブルは、したがって、位置コードをデコードするために使用され得る:
MI:それは、主数列の部分列を主数列の場所に変換する、
DCIi:それはnの二次差分数列の各々の部分列を、nの二次差分数列における場所に変換する、そして
OI:それは変位値をビット対に変換する。
【0131】
図7におけるフローチャートは位置デコーディングが、例えばコンピュータプログラムにおいて、どのように実現され得るかの粗い概略的な例であることは強調されるべきである。
【0132】
〔ハンドヘルド読み取りデバイスの例〕
位置コードは、種々のタイプの読み取りデバイスによって読み取られ且つデコードされ得る。そのようなデバイスは、位置コードのディジタル表現を達成するためのセンサ、およびディジタル表現における位置コードを識別し且つこれをデコードするための手段を有し得る。これらの手段は、上述されたように、メモリを有するプロセッサ、および適切なプログラムまたは特別な目的のためのハードウェアまたは、ディジタルおよび/またはアナログ回路、または何らかのそれらの組み合わせから構成することができる。
【0133】
読み取りデバイスの例が図8に示されている。それは、ペンとほぼ同様の形状をなすケーシング11を備えている。ケーシングの短寸側部には、開口12がある。短寸側部は、位置決定が実行されるべき面に対して接触させまたはそこから短い距離で保持することを意図している。
【0134】
ケーシングは、主として光学部分、電子的回路構成部分および電源を収容している。
【0135】
光学部分は、イメージングされるべき面を照明するための少なくとも一つの発光ダイオード13および二次元イメージを記録するための例えばCCDまたはCMOSセンサ等の光感応性エリアセンサ14を備えている。付加的に、デバイスは、ミラーおよび/またはレンズ系のような光学系を含んでいてもよい。発光ダイオードは、赤外発光ダイオードであってもよく、そしてセンサが赤外光に感応性を有していてもよい。
【0136】
デバイスのための電源は、ケーシングにおける分離された区画室内に搭載されたバッテリ15から得る。外部電源からケーブルを介して電力供給を得ることも可能である(図示せず)。
【0137】
電子的回路構成部は、センサからイメージを記録し且つこれらのイメージに基づいて位置決定を実行するようにプログラムされたプロセッサ、ならびに作業メモリおよびプログラムメモリも有するプロセッサユニットを含んでいる。
【0138】
この実施の形態において、デバイスは、その上で位置決定が実行されるべき面上にその助けを借りて通常の顔料ベースの筆記が描出され得るペンポイント17も具備している。ペンポイント17は、ユーザがそれが使用されるか否かをコントロールできるように延長および折りたたみ収納が可能である。すべてのアプリケーションにおいて、デバイスはペンポイントを有する必要はない。
【0139】
顔料ベースの描出は赤外光に対して透過性があるタイプが適しており、マークが赤外光を吸収することが適している。赤外光を射出する発光ダイオードを用い且つ赤外光に感応性を有するセンサを用いることにより、パターンの検出が、上述されたパターンとの描出干渉なしに実行され得る。
【0140】
デバイスは、それによってデバイスが起動され且つ制御され得るボタン18も備えることもできる。例えば赤外光、ラジオ波または超音波を用いてデバイスへおよびデバイスからの情報のワイヤレス通信のためのトランシーバ19も持っている。デバイスは、位置または記録された情報を表示するためのディスプレイ20を備えることもできる。
【0141】
デバイスは、異なる物理的ケーシングに分割されることもでき、第一のケーシングは、位置コーディングパターンのイメージの記録に必要な構成要素およびこれらを第二のケーシングに収容されおよび記録されたイメージ/イメージ群に基づいて位置決定を実行する構成要素に送信するための構成要素を収容する。
【0142】
〔代替的実施の形態〕
上述の実施の形態においては、位置コードが二次元において位置をコード化するものとして説明された。しかしながら、位置コードは、一次元の位置をコード化するために使用されるようにすることもできる。上述の例においては、例えば、位置コードの「ストリップ」は、y=0によってx−軸に沿って使用されるようにすることもできる。代わりに、x−コーディング行列のみが使用されるようにすることもできる。このケースにおいては、二進主数列によれば我々はグラフィカルに0または1のコードのみが必要であるという理由のために、行列における各点が、たった一つの値を持つであろう。
【0143】
一次元位置コーディングの使用は、バーコードと等価とすることができる。
【0144】
上述の実施の形態において、二進主数列が使用される。それは、しかしながら、主数列のための異なるベースの使用も可能である。そこで、このことは、結果として、位置コーディング行列における各点においてコード化されることが必要ないくつかの異なる値を生じ得る。
【0145】
上述の実施の形態においては、同一の主数列および同一の二次差分数列が、x−方向およびy−方向におけるコーディングのために使用される。これは、必要ではない。異なる次元におけるコーディングのために異なる列が使用され得る。列のためのテーブルの格納のためのメモリスペースの必要を予想して、しかしながら、全ての方向についてのコーディングのために同一の列を使用することは利点とすることができる。
【0146】
上述の実施の形態において、6*6ドットまたはシンボルが位置のコーディングのために使用される。当然、より少ないまたは多いシンボルを使用され得る。両次元に同一数のシンボルが使用される必要はない。
【0147】
上述の実施の形態において、一次差分数列の部分列が、部分数列の組み合わせ上に、全単射的にマップされ、且つ二次差分数列の部分数列の組み合わせが、一次差分数列の部分列上に、全単射的にマップされる。これは、必要ではない。一次差分数列の異なる部分列は、二次差分数列の部分列の同一の組み合わせ上にマップされることができる。部分列の組み合わせ上にマップされない一次差分数列の部分列が存在し得る。一次差分数列よりも多い部分列の組み合わせも存在し得る。上述の実施の形態において、ラスタは直交グリッドである。それは、ロンビックグリッドのような、例えば60度角度グリッド、三角グリッドまたは六角形グリッド等の他の形態を持っていてもよい。
【0148】
例えば六角形仮想ラスタに沿う3方向における変位についての、四つの方向より少ないまたはより多い方向の変位によるグラフィカルなコーディングが使用され得る。六角形ラスタにおいては、ラスタの再形成を容易にするためにただ二つの変位が使用され得る。
【0149】
上述の実施の形態において、差分数がゼロに近づくのを回避するために(5,58)の範囲の差分数が使用される。しかしながら、例えば、差分数3および4を含む他の範囲も使用され得る。
【0150】
上述の実施の形態において、パターンは光学的に読み取り可能であり、そしてセンサも光学的である。しかしながら、パターンは、光学パラメータとは異なるパラメータに基づくこともできる。そのような場合において、センサはもちろんそれに関するパラメータを読み取ることができるタイプからなっていなければならない。そのようなパラメータの例は、化学的、音響的または電磁的パラメータである。容量性または誘導性パラメータも使用され得る。
【0151】
製品は、一枚の紙によって上述に例示されている。しかしながら、それは上述のパラメータのいずれかを用いて位置コードが適用され得るいかなる製品であってもよい。もしも、位置コードが光学的であれば、それは、例えば、プリンタによってプリントアウトされまたは通常のプリント技術を用いて製品上にプリントされることもできる。
【0152】
〔付録A〕
主数列M:
0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,1,0,1,1,1,1,0,0,0,1,1
二次差分数列:
A1=0,0,0,0,0,1,0,0,0,0,2,0,1,0,0,1,0,1,0,0,2,0,0,0,1,1,0,0,0,1,2,0,0,1,0,2,0,0,2,0,2,0,1,1,0,1,0,1,1,0,2,0,1,2,0,1,0,1,2,0,2,1,0,0,1,1,1,0,1,1,1,1,0,2,1,0,1,0,2,1,1,0,0,1,2,1,0,1,1,2,0,0,0,2,1,0,2,0,2,1,1,1,0,0,2,1,2,0,1,1,1,2,0,2,0,0,1,1,2,1,0,0,0,2,2,0,1,0,2,2,0,0,1,2,2,0,2,0,2,2,1,0,1,2,1,2,1,0,2,1,2,1,1,0,2,2,1,2,1,2,0,2,2,0,2,2,2,0,1,1,2,2,1,1,0,1,2,2,2,2,1,2,0,0,2,2,1,1,2,1,2,2,1,0,2,2,2,2,2,0,2,1,2,2,2,1,1,1,2,1,1,2,0,1,2,2,1,2,2,0,1,2,1,1,1,1,2,2,2,0,0,2,1,1,2,2
A2=0,0,0,0,0,1,0,0,0,0,2,0,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,1,0,0,1,1,0,1,0,0,2,0,0,0,1,2,0,1,0,1,2,1,0,0,0,2,1,1,1,0,1,1,1,0,2,1,0,0,1,2,1,2,1,0,1,0,2,0,1,1,0,2,0,0,1,0,2,1,2,0,0,0,2,2,0,0,1,1,2,0,2,0,0,2,0,2,0,1,2,0,0,2,2,1,1,0,0,2,1,0,1,1,2,1,0,2,0,2,2,1,0,0,2,2,2,1,0,1,2,2,0,0,2,1,2,2,1,1,1,1,1,2,0,0,1,2,2,1,2,0,1,1,1,2,1,1,2,0,1,2,1,1,1,2,2,0,2,2,0,1,1,2,2,2,2,1,2,1,2,2,0,1,2,2,2,0,2,0,2,1,1,2,2,1,0,2,2,0,2,1,0,2,1,1,0,2,2,2,2,0,1,0,2,2,1,2,2,2,1,1,2,1,2,0,2,2,2,
A3=0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1,
A4=0,0,0,0,0,1,0,2,0,0,0,0,2,0,0,2,0,1,0,0,0,1,1,2,0,0,0,1,2,0,0,2,1,0,0,0,2,1,1,2,0,1,0,1,0,0,1,2,1,0,0,1,0,0,2,2,0,0,0,2,2,1,0,2,0,1,1,0,0,1,1,1,0,1,0,1,1,0,1,2,0,1,1,1,1,0,0,2,0,2,0,1,2,0,2,2,0,1,0,2,1,0,1,2,1,1,0,1,1,1,2,2,0,0,1,0,1,2,2,2,0,0,2,2,2,0,1,2,1,2,0,2,0,0,1,2,2,0,1,1,2,1,0,2,1,1,0,2,0,2,1,2,0,0,1,1,0,2,1,2,1,0,1,0,2,2,0,2,1,0,2,2,1,1,1,2,0,2,1,1,1,0,2,2,2,2,0,2,0,2,2,1,2,1,1,1,1,2,1,2,1,2,2,2,1,0,0,2,1,2,2,1,0,1,1,2,2,1,1,2,1,2,2,2,2,1,2,0,1,2,2,1,2,2,0,2,2,2,1,1.
【図面の簡単な説明】
【0153】
【図1】図1は、第一の方向におけるx−方向の位置についてのコーディングがどのようにして実行されるかを概略的に示している。
【図2】図2は、一次数列PDが四つの二次数列A1〜A4によってどのようにして作られるかを概略的に示している。
【図3】図3は、位置コードのグラフィカルコーディングの例を示している。
【図4】図4は、拡張された位置コードによる製品を示している。
【図5】図5は、余分なシンボルが、エラー訂正の目的のために、どのように記録され得るかを示している。
【図6】図6は、フローチャートであり且つ位置コードがどのようにして決定され得るかの実施例を示している。
【図7】図7は、フローチャートであり且つ位置コードがどのようにしてデコードされ得るかの実施例を示している。
【図8】図8は、位置コードの読み取りおよびデコーディングのために使用され得るデバイスを概略的に示している。
Claims (48)
- 位置コーディングのための方法であって、
第一の所定の長さの各部分列の一次数列における場所が明確に決定される性質を有する一次数列に従って面上の第一次元に位置をコーディングするステップであって、該第一次元における各位置は、前記部分列の一によってコード化されるステップを有し、
前記一次数列は、該一次数列のベースよりも小さなベースを有し且つ前記第一次元における位置に対応する一次数列の部分列の決定のために用いられる少なくとも二つの二次数列によって作られる方法。 - 前記位置コーディングのために使用され得る前記一次数列における異なる数の総数を、該総数が少なくとも二つの因数に因数分解され得るようにさせるステップと、
因数の総数として前記二次数列の同様の数を使用するステップと、
前記因数の各々がそれぞれ二次数列におけるベースを形成するようにさせるステップと
をさらに有する請求項1に従った方法。 - 前記二次数列の長さが二つ一組で相対的に素(一以外に公約数を持たない)となるようにさせるステップをさらに有する請求項1または請求項2に従った方法。
- 前記二次数列の各々は、前記第一の所定長さを有する各部分列が、前記それぞれの二次数列において明確に決定された場所を有する先行する請求項の内のいずれか1項に従った方法。
- 前記二次数列のベースは、多くとも5、望ましくは多くとも3、である先行する請求項の内のいずれか1項に従った方法。
- 前記一次数列の前記部分列は、前記二次数列の各々からの部分列の組み合わせに全単射的に写像され得る先行する請求項の内のいずれか1項に従った方法。
- 第二の所定長さの各部分列の循環主数列における場所が、明確に決定される性質を有する前記循環主数列の第二の所定長さの部分列を用いて、前記一次数列における数がコード化され、前記循環主数列は、差分の数が、前記一次数列における数を形成するように定義されるようにして、面上に配列される先行する請求項の内のいずれか1項に従った方法。
- 前記循環主数列の前記部分列は、各部分列が第二次元内に延びるようにして、面上に配列される請求項7に従った方法。
- 理論的に、前記主数列の部分列を用いて定義され得る差分の数の部分集合のみが利用され、該部分集合は、そのような理論的に定義可能な、ゼロに等しいかまたはそれに近い、差分の数を除外する、請求項7または請求項8に従った方法。
- 前記主数列は、二進数であり、且つ前記第二の所定長さよりも長い所定長さの部分列が、後方に生じないようにして選択されるか、または前記主数列における反転形態である請求項7〜9のうちのいずれか1項に従った方法。
- 前記主数列は、二進数であり、且つ前記第二の所定長さよりも長い所定長さの部分列が、前記主数列において反転された一ビットと共に生じないようにして選択される請求項7〜10のうちのいずれか1項に従った方法。
- 前記主数列の前記部分列であって、前記第二の所定長さの部分列は、六つの数からなり、且つ前記一次数列の前記部分列であって、前記第一の所定長さの部分列は、五つの差分の数からなる請求項7〜11のうちのいずれか1項に従った方法。
- 前記循環主数列Mは、次の通り:
M=0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,1,0,1,1,1,1,0,0,0,1,1
である請求項7〜12のうちのいずれか1項に従った方法。 - 前記一次数列は、54の異なる数を含み、且つ前記二次数列は、四つの数であって、それらのうちの三つがベース3を有しそしてそれらのうちの一がベース2を有する先行する請求項の内のいずれか1項に従った方法。
- 前記二次数列は、次の通り:
A1=0,0,0,0,0,1,0,0,0,0,2,0,1,0,0,1,0,1,0,0,2,0,0,0,1,1,0,0,0,1,2,0,0,1,0,2,0,0,2,0,2,0,1,1,0,1,0,1,1,0,2,0,1,2,0,1,0,1,2,0,2,1,0,0,1,1,1,0,1,1,1,1,0,2,1,0,1,0,2,1,1,0,0,1,2,1,0,1,1,2,0,0,0,2,1,0,2,0,2,1,1,1,0,0,2,1,2,0,1,1,1,2,0,2,0,0,1,1,2,1,0,0,0,2,2,0,1,0,2,2,0,0,1,2,2,0,2,0,2,2,1,0,1,2,1,2,1,0,2,1,2,1,1,0,2,2,1,2,1,2,0,2,2,0,2,2,2,0,1,1,2,2,1,1,0,1,2,2,2,2,1,2,0,0,2,2,1,1,2,1,2,2,1,0,2,2,2,2,2,0,2,1,2,2,2,1,1,1,2,1,1,2,0,1,2,2,1,2,2,0,1,2,1,1,1,1,2,2,2,0,0,2,1,1,2,2
A2=0,0,0,0,0,1,0,0,0,0,2,0,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,1,0,0,1,1,0,1,0,0,2,0,0,0,1,2,0,1,0,1,2,1,0,0,0,2,1,1,1,0,1,1,1,0,2,1,0,0,1,2,1,2,1,0,1,0,2,0,1,1,0,2,0,0,1,0,2,1,2,0,0,0,2,2,0,0,1,1,2,0,2,0,0,2,0,2,0,1,2,0,0,2,2,1,1,0,0,2,1,0,1,1,2,1,0,2,0,2,2,1,0,0,2,2,2,1,0,1,2,2,0,0,2,1,2,2,1,1,1,1,1,2,0,0,1,2,2,1,2,0,1,1,1,2,1,1,2,0,1,2,1,1,1,2,2,0,2,2,0,1,1,2,2,2,2,1,2,1,2,2,0,1,2,2,2,0,2,0,2,1,1,2,2,1,0,2,2,0,2,1,0,2,1,1,0,2,2,2,2,0,1,0,2,2,1,2,2,2,1,1,2,1,2,0,2,2,2,
A3=0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1,
A4=0,0,0,0,0,1,0,2,0,0,0,0,2,0,0,2,0,1,0,0,0,1,1,2,0,0,0,1,2,0,0,2,1,0,0,0,2,1,1,2,0,1,0,1,0,0,1,2,1,0,0,1,0,0,2,2,0,0,0,2,2,1,0,2,0,1,1,0,0,1,1,1,0,1,0,1,1,0,1,2,0,1,1,1,1,0,0,2,0,2,0,1,2,0,2,2,0,1,0,2,1,0,1,2,1,1,0,1,1,1,2,2,0,0,1,0,1,2,2,2,0,0,2,2,2,0,1,2,1,2,0,2,0,0,1,2,2,0,1,1,2,1,0,2,1,1,0,2,0,2,1,2,0,0,1,1,0,2,1,2,1,0,1,0,2,2,0,2,1,0,2,2,1,1,1,2,0,2,1,1,1,0,2,2,2,2,0,2,0,2,2,1,2,1,1,1,1,2,1,2,1,2,2,2,1,0,0,2,1,2,2,1,0,1,1,2,2,1,1,2,1,2,2,2,2,1,2,0,1,2,2,1,2,2,0,2,2,2,1,1
である先行する請求項の内のいずれか1項に従った方法。 - 第三の所定の長さの各部分列の第二の一次数列における場所が明確に決定される性質を有する前記第二の一次数列に従って面上の第二次元に位置をコード化するステップであって、前記第二次元における各位置は、前記第二の一次部分列における部分列の一によってコード化され、且つ前記第二の一次数列は、前記第二の一次数列のベースよりも小さなベースを有し且つ前記第二次元における位置に対応する前記第二の一次数列の部分列の決定のために用いられる少なくとも二つの第二の二次数列によって作られるステップをさらに有する先行する請求項の内のいずれか1項に従った方法。
- 第一次元および第二次元における位置コーディングのための一次数列および二次数列は、同一である請求項16に従った方法。
- 前記位置コードを面上のグラフィックなコーディングによってプリントアウトするステップをさらに有する先行する請求項の内のいずれか1項に従った方法。
- コンピュータに位置コーディングを実行させるための命令群を有するコンピュータプログラムであって、該コンピュータプログラムは、第一の所定の長さの各部分列の一次数列における場所が明確に決定される性質を有する一次数列に従って面上の第一次元に位置をコーディングするための命令であって、該第一次元における各位置は、前記部分列の一によってコード化される命令群を有し、
前記一次数列は、該一次数列のベースよりも小さなベースを有し且つ前記第一次元における位置に対応する一次数列の部分列の決定のためのコンピュータプログラムによって用いられる少なくとも二つの二次数列によって作られるものであるコンピュータプログラム。 - 位置をコーディングするためのデバイスであって、該デバイスは、プロセッサと、請求項19に従ったコンピュータプログラムを格納するメモリとを具備するデバイス。
- 面上の第一の点のためおよび第一次元のための少なくとも第一の座標xをコード化する位置コードを決定するコーディングデバイスにおける方法であって、
前記コーディングデバイスに対する入力信号として少なくとも前記第一の座標xを受信するステップと、
受信された座標xに基づいて、前記第一次元における位置のコーディングのために使用される一次数列の部分列を決定し、該部分列は、前記受信された座標xに対応して、第一の所定長さを有し且つ前記位置字数列において明確に決定された場所を有するステップとを有し、
前記一次数列は、前記一次数列よりも小さなベースを有し且つ前記座標xに対応する前記一次数列の部分列の決定のために前記コーディングデバイスによって用いられる少なくとも二つの二次数列によって作られるものである方法。 - 前記一次数列の部分列を決定するステップは、前記一次数列における前記場所を前記二次数列の各々における場所に変換するステップを有する請求項21に従った方法。
- 前記一次数列の部分列を決定するステップは、前記二次数列における前記決定された場所に対応し且つ前記二次数列の前記そのようにして決定された部分列に基づいて前記一次数列の前記部分列を決定する前記部分列を、前記二次数列の各々について決定するステップをさらに有する請求項22に従った方法。
- 第二の所定長さの各部分列の循環主数列における場所が明確に決定される性質を有する、前記循環主数列の前記第二の所定長さの部分列を用いて前記一次数列の部分列における数をコーディングするステップであって、前記一次数列の前記部分列における前記数が前記循環主数列の前記部分列の差分としてコード化されるステップをさらに有する請求項21〜23のうちのいずれか1項に従った方法。
- 前記コーディングデバイスからの出力信号として前記循環主数列の部分数列の指摘を含む位置コードを出力するステップをさらに有する請求項24に従った方法。
- これらが第二次元に広がるようにし且つ前記一次数列の部分列における数が前記第一次元に広がるようにして、デバイスが前記主数列の部分列を面上に適用するようにさせる請求項24または請求項25に従った方法。
- 前記循環主数列の部分列のうちの第一の部分列を、周期的に繰り返される前記二次数列の各々におけるx−1第一数を合計することによって計算するステップをさらに有する請求項24〜26のうちのいずれか1項に従った方法。
- 前記二次数列における数は、前記二次数列の完全なおよび不完全な周期の従前に計算された合計の使用により合計される請求項27に従った方法。
- 前記コーディングデバイスは前記座標x=0についての前記部分列の循環主数列における場所を入力信号としてさらに受信すべく構成され、且つ前記主数列の前記部分列の間の前記第一の部分列の計算のために座標x=0の場所を用いるステップをさらに有する請求項27または請求項28に従った方法。
- 前記主数列の前記第一および前記第二の部分列によってコード化される前記一次数列の前記部分列において数d(x)を決定することによって、前記主数列の前記部分列の間で第二の部分列を決定するステップをさらに有する請求項27〜29のうちのいずれか1項に従った方法。
- 前記主数列の前記第一および第二の部分列によってコード化される前記数d(x)は、
d(x)=dc(1,x)+b1*dc(2,x)
+…+b1*…*bn−1*dc(n,x)
但し、nは、二次数列の数、biは、二次数列iにおけるベース、そしてdc(i,x)は、長さliのそれぞれの二次数列におけるliを法とした場所xにおける数、
として計算される請求項30に従った方法。 - 前記コーディングデバイスへの入力信号として第一の点についてのそして前記面上の第二次元についての第二の座標yを受信するステップと、
前記第二次元における位置のコーディングのために用いられる第二の一次数列の部分列であって、第三の所定長さを有し且つ明確に決定された場所を有する前記部分列を、前記受信された座標yに基づいて、前記第二の一次数列において、受信された座標yに対応して、決定するステップとをさらに有し、
前記第二の一次数列は、前記第二の一次数列よりも小さなベースを有し且つ前記座標yに対応する前記第二の一次数列の部分列の決定のために前記コーディングデバイスによって用いられる少なくとも二つの二次数列によって作られるものである請求項21〜31の内のいずれか1項に従った方法。 - 請求項21〜32のうちのいずれか1項に従った方法を、コンピュータに実行させるための命令群を有するコンピュータプログラム。
- 位置をコーディングするためのデバイスであって、該デバイスは、プロセッサと、請求項33に従ったコンピュータプログラムを格納するメモリとを具備するデバイス。
- 第一の点および面上の第一次元についての少なくとも第一座標(x;y)をコード化する位置コードのデコーディングのための方法であって、該方法は、
前記位置コードのディジタル表現に基づいて一次数列の部分列であって、該部分列は前記一次数列において明確に決定された場所であって前記第一座標に対応する場所Pを有する部分列を形成する数の第一の所定数を識別するステップと、
前記一次数列を作り且つそれらの各々が前記一次数列のベースよりも小さいベースを有する少なくとも二つの二次数列を用いるステップを含む前記一次数列における前記部分列の前記場所Pを決定するステップと
を有する方法。 - 前記一次数列における前記部分列の場所Pを決定するステップは、前記一次数列の前記部分列を前記二次数列の各々の部分列の組み合わせに変換するステップを含む請求項35に従った方法。
- 前記組み合わせにおける前記部分列の各々の前記二次数列それぞれにおける場所を決定するステップと、前記二次数列における前記場所の前記組み合わせに基づいて前記一次差分数列における場所Pを決定するステップとをさらに有する請求項35または請求項36に従った方法。
- 前記一次数列の前記部分列を前記二次数列の各々の部分列に変換するステップは、前記一次数列の前記部分列における各数dを、次の:
d=d1+bi*d2+…b1*b2…*bn−1*dn,
但し、nは、前記二次数列の数であり、そしてbiは、前記二次数列iにおけるベースである、
に従って数d1,…dn,の組に変換するステップを含む請求項35または請求項36に従った方法。 - 前記一次数列における場所Pは、中国の余剰定理を用いて、
P=(sum(i=1,n)((L/li))*pi*qi)(mod L)
但し、L=prod(i=1,n)li、piは、前記二次数列iにおける場所、liは、前記二次数列iの長さ、そしてmは、二次数列の前記数、ならびにqi*(L/li)=1(mod li)である、
として決定される
請求項36〜38のうちのいずれか1項に従った方法。 - 座標0についての部分列の主数列における場所を決定することによって、第一の点および第一次元について付加的な座標(xs;ys)を決定するステップをさらに有する請求項35〜39のうちのいずれか1項に従った方法。
- 前記位置コードが、第一の位置についておよび第二次元について第二の座標(y;x)をさらにコード化し、且つ位置コードのディジタル表現に基づいて、第二の一次数列の部分列を形成する第三の所定数の数を識別するとともに、前記部分列は前記第二の一次数列内に明確に決定された場所を有し、該場所は前記第二の座標に対応するステップであって、且つ少なくとも二つの第二の二次数列を用いて前記第二の一次数列における部分列の場所を決定するとともに、それらの各々が前記第二の一次数列のベースよりも小さなベースを有するステップをさらに有する請求項35〜40のうちのいずれか1項に従った方法。
- 当該方法は、入力信号として前記位置コードのディジタル表現を受信し且つ出力信号として少なくとも前記第一の点についての前記第一の座標を与えるデコーディングデバイスにおいて実行される請求項35〜41の内のいずれか1項に従った方法。
- 請求項35〜42の内のいずれか1項に従った方法を、コンピュータに実行させるための命令群を有するコンピュータプログラム。
- 位置コードをデコーディングするためのデバイスであって、該デバイスは、プロセッサと、請求項43に従った位置コードをデコーディングするためのコンピュータプログラムを格納するメモリとを具備するデバイス。
- 少なくとも面上の第一の点および第一次元についての第一の座標をコード化する、位置コードのデコーディングのためのデバイスであって、該デバイスは、デコードされるべき前記位置コードのディジタル表現を提供するためのセンサーと、前記二次数列のベースよりも大きなベースを有して一次数列を作り上げる少なくとも二つの二次数列を格納するためのメモリと、前記位置コードのディジタル表現に基づいて、前記一次数列の部分列を形成する第一の所定数の数を識別すべく構成され、前記部分列は、前記一次数列における明確に決定された場所Pを有し、前記場所は前記第一の座標に対応し、且つ前記二次数列によって前記一次数列における場所Pを決定すべく構成されたプロセッサとを具備するデバイス。
- 前記プロセッサは、前記一次数列における前記部分列の場所Pを決定するために、前記一次数列の前記部分列を前記二次数列の各々の部分列の組み合わせに変換すべくさらに構成されている請求項45に従ったデバイス。
- 前記組み合わせにおける前記部分列の各々の前記二次数列それぞれにおける場所を決定し且つ前記二次数列における場所の組み合わせに基づいて前記一次差分数列における場所Pを決定すべくさらに構成されている請求項46に従ったデバイス。
- 少なくとも第一の点についておよび第一次元についての第一の座標をコード化する位置コードが提供され、前記第一の点についての第一座標は一次数列の部分列によってコード化され、前記部分列は、第一の所定長さを有し、前記一次数列は、前記所定長さの各部分列の前記一次数列における前記場所が明確に決定される特性を有し且つ前記一次数列は、加えて、前記一次数列のベースよりも小さなベースを有する少なくとも二つの二次数列から作られる製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE0102235A SE519277C2 (sv) | 2001-06-25 | 2001-06-25 | Anordning och förfarande för positionskodning och för avkodning av en positionskod |
PCT/SE2002/001243 WO2003001440A1 (en) | 2001-06-25 | 2002-06-25 | Method for achieving a position code and decoding a position code |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009281717A Division JP5048045B2 (ja) | 2001-06-25 | 2009-12-11 | 位置コードを達成し且つ位置コードをデコーディングするための方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004535011A true JP2004535011A (ja) | 2004-11-18 |
JP2004535011A5 JP2004535011A5 (ja) | 2010-02-12 |
JP4455055B2 JP4455055B2 (ja) | 2010-04-21 |
Family
ID=20284587
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003507753A Expired - Fee Related JP4455055B2 (ja) | 2001-06-25 | 2002-06-25 | 位置コードを達成し且つ位置コードをデコーディングするための方法 |
JP2009281717A Expired - Fee Related JP5048045B2 (ja) | 2001-06-25 | 2009-12-11 | 位置コードを達成し且つ位置コードをデコーディングするための方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009281717A Expired - Fee Related JP5048045B2 (ja) | 2001-06-25 | 2009-12-11 | 位置コードを達成し且つ位置コードをデコーディングするための方法 |
Country Status (8)
Country | Link |
---|---|
EP (2) | EP2133824B1 (ja) |
JP (2) | JP4455055B2 (ja) |
CN (2) | CN1782973A (ja) |
AT (1) | ATE443884T1 (ja) |
DE (1) | DE60233794D1 (ja) |
ES (1) | ES2333851T3 (ja) |
SE (1) | SE519277C2 (ja) |
WO (1) | WO2003001440A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2013179595A1 (ja) * | 2012-05-31 | 2016-01-18 | パナソニックIpマネジメント株式会社 | 位置コードの読み取り装置及び読み取り方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7145556B2 (en) | 2001-10-29 | 2006-12-05 | Anoto Ab | Method and device for decoding a position-coding pattern |
WO2004104818A1 (en) | 2003-05-26 | 2004-12-02 | Anoto Ip Lic Hb | Method for compressinga digital representation containing a page-describing code, which is sent from a computer to a printer |
WO2005001754A1 (en) * | 2003-06-13 | 2005-01-06 | Anoto Ip Lic Hb | On-demand printing of coding patterns |
SE0301729D0 (sv) * | 2003-06-13 | 2003-06-13 | Anoto Ab | Behovsstyrd utskrift av kodningsmönster |
SE0303370D0 (sv) | 2003-12-16 | 2003-12-16 | Anoto Ab | Method, apparatus, computer program and storage medium for recording a movement of a user unit |
KR101236809B1 (ko) * | 2005-06-17 | 2013-02-25 | 아노토 아베 | 위치 및 정보 코드를 결합하는 방법 및 시스템 |
US8411071B2 (en) | 2006-02-22 | 2013-04-02 | Anoto Ab | Electronic pen |
GB201008955D0 (en) | 2010-05-28 | 2010-07-14 | Optaglio Sro | Holographic matrix, system of holographic personalization of ID cards and synthesis of holograms of desired visual properties and method of production thereof |
KR101974483B1 (ko) * | 2012-12-03 | 2019-05-02 | 삼성전자주식회사 | 패턴을 구비한 디스플레이 장치 및 패턴을 구비한 디스플레이 장치에서 화소 위치 검출 방법 |
EP2813918A1 (en) | 2013-06-11 | 2014-12-17 | Anoto AB | Electronic pen |
GB2526261B (en) | 2014-04-28 | 2017-08-02 | Gelliner Ltd | Encoded cells and cell arrays |
DE112015005883T5 (de) | 2015-01-30 | 2017-09-28 | Hewlett-Packard Development Company, L.P. | M-äre zyklische codierung |
EP3139132B1 (de) | 2015-09-03 | 2020-02-19 | Hexagon Technology Center GmbH | Flächen-absolutcodierung |
CN108665036A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 位置编码方法 |
CN108664531A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 一种基于编码图案的位置信息获取装置和获取方法 |
CN108664868A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 一种解码装置和解码方法 |
CN108664964A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 具有编码图案的文件输出方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992017859A1 (en) | 1991-04-03 | 1992-10-15 | Hewlett Packard Company | Position-sensing apparatus |
US5852434A (en) | 1992-04-03 | 1998-12-22 | Sekendur; Oral F. | Absolute optical position determination |
US5477012A (en) | 1992-04-03 | 1995-12-19 | Sekendur; Oral F. | Optical position determination |
WO1994008316A1 (en) * | 1992-09-30 | 1994-04-14 | Hewlett Packard Company | Initial track recovery in position-sensing systems that use windowing patterns |
US5661506A (en) * | 1994-11-10 | 1997-08-26 | Sia Technology Corporation | Pen and paper information recording system using an imaging pen |
US6050490A (en) * | 1997-10-31 | 2000-04-18 | Hewlett-Packard Company | Handheld writing device and related data entry system |
SE517445C2 (sv) | 1999-10-01 | 2002-06-04 | Anoto Ab | Positionsbestämning på en yta försedd med ett positionskodningsmönster |
WO2001075783A1 (en) | 2000-04-05 | 2001-10-11 | Anoto Ab | Identification of a virtual raster pattern |
-
2001
- 2001-06-25 SE SE0102235A patent/SE519277C2/sv not_active IP Right Cessation
-
2002
- 2002-06-25 CN CNA2005101296102A patent/CN1782973A/zh active Pending
- 2002-06-25 DE DE60233794T patent/DE60233794D1/de not_active Expired - Lifetime
- 2002-06-25 WO PCT/SE2002/001243 patent/WO2003001440A1/en active Application Filing
- 2002-06-25 CN CNB02812703XA patent/CN1242358C/zh not_active Expired - Fee Related
- 2002-06-25 EP EP09171031.9A patent/EP2133824B1/en not_active Expired - Lifetime
- 2002-06-25 ES ES02746246T patent/ES2333851T3/es not_active Expired - Lifetime
- 2002-06-25 EP EP02746246A patent/EP1405254B1/en not_active Expired - Lifetime
- 2002-06-25 JP JP2003507753A patent/JP4455055B2/ja not_active Expired - Fee Related
- 2002-06-25 AT AT02746246T patent/ATE443884T1/de not_active IP Right Cessation
-
2009
- 2009-12-11 JP JP2009281717A patent/JP5048045B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2013179595A1 (ja) * | 2012-05-31 | 2016-01-18 | パナソニックIpマネジメント株式会社 | 位置コードの読み取り装置及び読み取り方法 |
US9703404B2 (en) | 2012-05-31 | 2017-07-11 | Panasonic Intellectual Property Management Co., Ltd. | Device and method for detecting position code |
Also Published As
Publication number | Publication date |
---|---|
SE0102235D0 (sv) | 2001-06-25 |
EP1405254B1 (en) | 2009-09-23 |
EP2133824A2 (en) | 2009-12-16 |
CN1520575A (zh) | 2004-08-11 |
JP4455055B2 (ja) | 2010-04-21 |
WO2003001440A1 (en) | 2003-01-03 |
CN1242358C (zh) | 2006-02-15 |
JP5048045B2 (ja) | 2012-10-17 |
ES2333851T3 (es) | 2010-03-02 |
JP2010102723A (ja) | 2010-05-06 |
ATE443884T1 (de) | 2009-10-15 |
EP1405254A1 (en) | 2004-04-07 |
SE519277C2 (sv) | 2003-02-11 |
SE0102235L (sv) | 2002-12-26 |
EP2133824B1 (en) | 2014-04-23 |
DE60233794D1 (de) | 2009-11-05 |
CN1782973A (zh) | 2006-06-07 |
EP2133824A3 (en) | 2011-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5048045B2 (ja) | 位置コードを達成し且つ位置コードをデコーディングするための方法 | |
US6667695B2 (en) | Position code | |
CN1641683B (zh) | 通过m阵列解码和快速图像匹配的笔划定位 | |
US7536051B2 (en) | Digital pen calibration by local linearization | |
KR100742429B1 (ko) | 포지션 결정-계산 방법 | |
US7145556B2 (en) | Method and device for decoding a position-coding pattern | |
JP4996245B2 (ja) | 位置復号のための方法、装置、コンピュータプログラム及び記憶媒体 | |
US7136054B2 (en) | Camera-pen-tip mapping and calibration | |
US20060242562A1 (en) | Embedded method for embedded interaction code array | |
RU2380736C2 (ru) | УСОВЕРШЕНСТВОВАННЫЙ ПОДХОД К ДЕКОДИРОВАНИЮ m-МАССИВА И ИСПРАВЛЕНИЮ ОШИБОК | |
US7729539B2 (en) | Fast error-correcting of embedded interaction codes | |
EP1451767B1 (en) | Method and device for decoding a position-coding pattern | |
JP4282474B2 (ja) | データデコーディングの方法およびデバイス | |
KR101819076B1 (ko) | 광학 펜을 이용한 절대 위치와 기타 정보용 도트 코드 패턴, 도트 코드 프린팅 방법, 및 도트 코드 읽는 방법 | |
US20030123745A1 (en) | Method and apparatus for compression and reconstruction of electronic handwriting | |
JP5609469B2 (ja) | 画像処理装置、識別装置、電子筆記具及びプログラム | |
JP2012065124A (ja) | 画像処理装置、識別装置及びプログラム | |
WO2003056503A1 (en) | Method and apparatus for compression and reconstruction of electronic handwriting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050207 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050627 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060629 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070521 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070703 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071204 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080303 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080310 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080403 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080410 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080430 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080509 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20080603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090316 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090324 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090410 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090417 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090515 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090522 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20091214 |
|
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: 20100112 |
|
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: 20100203 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
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: 20130212 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140212 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |