説明

シンボルパターンを作成する際の方法、それにより取得されるシンボルパターン、このようなシンボルパターンで位置を突き止めるための方法およびシステム、ならびに該方法を実行するためのコンピュータプログラム製品

本発明は、例えばペン状の機器によって手書き情報を記録するためにパターンによってカバーされる大きな領域の中で位置を決定するために活用されてよい二次元シンボルパターンを作成する際の方法に関する。本発明は所望の特性、すなわち任意の十分に大きな観察された部分が一意であり、位置の明確な決定を可能にするという特性を有するシンボルパターンを作成するために役立つ。該シンボルパターンは、各々がP(x)を法としてxkにおける単項式の係数の固定された線形組み合わせに対応するシンボル値Skの非反復シーケンスに基づいており、ここでP(x)はフィールドFqにおける度nの任意の多項式である。シンボルパターンはラッピングスキームに従ってシーケンスを折り畳むことにより生成される。本発明は、このシンボルパターンにおける観察されたシンボル値のグループの位置を発見するための方法およびシステム、ならびに該方法を実行するコンピュータプログラム製品にも関する。

【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、ともに2004年7月8日に出願され、参照として本書に組み込まれるスウェーデン特許出願番号第0401812−3号、および米国仮特許出願番号第60/585,856号の利益を主張する。
【0002】
本発明は、例えばペン状の機器によって手書き情報を記録するためにパターンによってカバーされる大きな領域の中で位置を決定するために活用されてよい二次元シンボルパターンを作成する際の方法に関する。本発明は位置の明確な決定を可能にする所望の特性を有するシンボルパターンを作成するために役立つ。
【0003】
本発明は、このシンボルパターンの中で観察されるシンボル値のグループの位置を突き止めるための方法およびシステム、ならびに該方法を実行するコンピュータプログラム製品にも関する。
【背景技術】
【0004】
本分野では、メモリと、例えば用紙の上に印字される、またはコンピュータ画面に表示されるパターンを基準にしてペンの位置を計算するためのコンピュータ処理能力を組み込んだペン状の機器の中に走査されてよいパターンを形成することは既知である。
【0005】
線形フィードバックシフトレジスタ(LFSR)によって反復シーケンスまたは非反復シーケンスを生成することも公知である。非反復シーケンスは、既定数の連続値の各サブシーケンスがシーケンスの中で一度だけ発生するという特性を有する。したがって、非反復シーケンスにおいては、既定の長さの各サブシーケンスの場所は明確に決定される。このような反復シーケンスを二次元シンボルパターンにラップ(wrap)または折り畳み(fold)、このようなパターンにおける位置を突き止めることは公知である。マイクロソフト社(Microsoft Corporation)に譲渡されている公開特許出願、米国第2004/0085287号、米国第2004/0085302号、米国第2004/0086181号、および米国第2004/0086191号を参照すること。
【特許文献1】スウェーデン特許出願番号第0401812−3号
【特許文献2】米国仮特許出願番号第60/585,856号
【特許文献3】公開特許出願、米国第2004/0085287号
【特許文献4】米国第2004/0085302号
【特許文献5】米国第2004/0086181号
【特許文献6】米国第2004/0086191号
【特許文献7】米国特許第6,674,427号
【特許文献8】米国特許第6,667,695号
【非特許文献1】R.LidlおよびH.Niederreiterによる「有限体およびそれらの応用例入門(Introduction to finite fields and their applications)」、第6章−線形再発性シーケンス(Linear Recurring Sequences)、改訂版1994年、ケンブリッジ大学出版(Cambridge University Press)
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来の技術においてラップされたシーケンスにまつわる問題は、非反復シーケンスをラップすることにより取得されるこのような二次元パターンが所望の特性を有するか否か、つまり任意の十分に大きな観察されたパターンの部分が一意であることを見分ける方法がないことである。それが一意ではない場合には、明確にその位置を決定することは不可能である。
【課題を解決するための手段】
【0007】
本発明はシンボルパターンの観察されたグループ(マスク)と有効な非反復シーケンスとの間の関係性を決定する条件を作成するためのツールを提供する。さらに、本発明はシンボルパターン内で位置を回復するためだけではなく、ラップされたシーケンスが位置決定のために適切な特性を有するか否かをもテストするための効率的な技法を提供する。
【0008】
本発明は添付請求項に定義される。
【0009】
本発明を添付図面を参照して詳しく後述する。
【発明を実施するための最良の形態】
【0010】
さらなる理解のために、その内のいくつかが従来技術をも形成する本発明の背景にある数学について説明する。以下の用語と定義が使用される。
【0011】
用語および定義
S 要素Sのシーケンス
L Sの長さ(k=0からL−1)
PW シーケンスSおよびラッピングスキームWによって形成されるシンボルパターン
P(x)度nの多項式
n 多項式P(x)の度およびLFSRのサイズ
N Tのランク
度nの剰余多項式で、Fq[x]/P(x)でカウントする



(P(x)を法として)として定義される
Fq 典型的にはq=2であるが、必ずしもq=2ではない次数qの有限体
G(f(x))rにおける単項式xn−1の係数等の補助関数
W ラッピングシーケンス
w ラップ長(行に関して、あるいは列に関してラッピングするとき)
B マスク=幾何学的な走査パターン(=球体)によって観察される要素の列ベクトル
B’ 同上、別の走査パターンを用いる
BP シンボルパターンの細分
m Bのサイズ(=“kx1”、矩形走査パターンの場合);(m≧n)
C シーケンスSにおける場所kに対応する剰余多項式rkの(サイズnの)係数の列ベクトル
T B=TCを履行する変換行列T、TはランクN=nを有する
T’ B=T’Cを履行する変換行列T’、TはランクN=n−jを有する
X、Y 求められる位置(Bが不規則な形である場合、Bの左上隅、つまり「第1の」要素)
X,Y 求められた位置(X、Y)でのB(およびB’)の要素
X、Y 求められた位置(X、Y)に対応するCの係数
k Cの係数がCX、Yに等しいシーケンスSにおける場所
H HT=0を履行し、一意のゼロ以外の列のあるチェックマトリックス
Hの列i、Bのビットiで発生するビットエラーの一連の徴候
LFSR 線形フィードバックシフトレジスタ
第1のタスクは所望の特性を有するシンボルパターンPを作成することである。これは、長い非反復シーケンスSを形成し、ラッピングしてから、十分に大きな観察されたマスクとシーケンスとの間の変換行列Tによって表される変換関係が規定される条件を履行することを確認することによって行われてよい。シンボルパターンの例は図1に示されており、白のピクセルと黒のピクセルが各々シンボル値1と0を表している。このようにして、シンボルパターンは、各々が少なくとも一つのシンボル値またはシーケンスSの要素を表すシンボルの並べられた集合から構成される。
【0012】
以下の説明はバイナリシンボル値から構成されているシーケンスSに基づいているが、本発明の根本的な原理は概して任意のベース(つまり、フィールドFqの任意の次数qについて)におけるシンボル値に適用できる。
【0013】
線形フィードバックシフトレジスタLFSRが、任意の十分に大きいサブシーケンスがシーケンスの中で一意となるように長い非反復バイナリシーケンスを生成するために使用できることが周知である。nサイズのLFSRは、閉鎖有向回路に沿って接続されるr、r、...、rn−1と名前が付けられるn個のビットホルダーと、例えば図2に示されているような少なくとも一つのXOR−ゲートから成る簡略な計算装置である。該装置は離散時間t、t...で更新される。時間tでk>0であり、あらゆるビットホルダーがそれを指す矢印の最後で計算された値で同時に更新される。時間tでの内容C=(c(k)、c(k)、...、cn−1(k))は時間tでのLFSRの状態と呼ばれる。時間tでは、状態は例えば{1、0、0、...、0}である。各時間tでは、rn−1に含まれるビットは、バイナリシーケンスSのk番目のビットを生成するためにシフトアウトされる。この多くの一意の状態があり、事実上、いくつかのLFSRについてはシーケンスの期間はこれほど長いため、生成されたシーケンスSは、多くとも2−1という期間を有してよい。本発明の目的のために望ましい別の特性は、期間中のn個の連続ビットの任意のシーケンスが一意であるという点である。
【0014】
図2の例では、LFSRは五つのビットホルダーと一つのXORゲートを含む。描かれているLFSRは多項式P(x)=x+x+1を表し、P(z)およびビットホルダーの初期値に応じて特定の長さの非反復シーケンスを生成してよい。LFSRおよび反復シーケンスと非反復シーケンスの生成に関する詳細は、i.a.R.LidlおよびH.Niederreiterによる「有限体およびそれらの応用例入門(Introduction to finite fields and their applications)」、第6章−線形再発性シーケンス(Linear Recurring Sequences)、改訂版1994年、ケンブリッジ大学出版(Cambridge University Press)に記載されている。
【0015】
LFSRはシーケンスを生成するための実用的な装置である。幸運なことに、LFSRは、次に説明する多項式環における生成作用素という点で自然な数理処理も認める。
【0016】
をバイナリフィールドとする。F[x]を、Fからの係数を伴うxのすべての多項式のフィールドとする。最後に、F[x]における多項式P(x)の場合のR(x、P(x))に、F[x]/P(x)におけるk=0、1、2...の場合の要素x、つまりP(x)を法としてxから成る環を示させ、ここで各単項式係数はFにある。xo−1がF[x]におけるP(x)により除算可能となるように最小の正のoは、環の次数と呼ばれる。
【0017】
環R(x、P(x))は次のようにLFSRに関連付けられる。nを(Px)の度とし、XORゲートがp(x)の各単項式xについてcL−1とcとの間にあるnサイズのLFSRを考える。ここで時間tでのLFSRの状態C=(c(k)、c(k)、...、cn−1(k))が、xでの乗算がLFSRのシフトに相当し、P(x)による除算後の剰余を出すための減算がXORゲートの計算に相当するため、


に従うことを観察する。別段に定めをした場合、LFSRの状態はR(x,P(x))の要素で一意に識別できる。したがって、LFSRで生成されるシーケンスの期間はR(x、P(x))の次数に等しい。特にF[x]の度nの原始多項式に対応するLFSRは、全ゼロ文字列を除く長さnのすべての考えられる0/1文字列が、シーケンスの中で一度(および一度だけ)発生するように期間2−1の周期的なシーケンスを生成する。
【0018】
便宜上、何らかの補助記号を導入する。



とし、任意の多項式f(x)の場合、単項式xn−1がP(x)を法として剰余多項式f(x)の一部である場合には、G(f(x))を1とし、それ以外の場合を0とする。
【0019】
これまでの観察を踏まえ、LFSR生成シーケンスSのk番目のビットSと過去の任意の時点でのLFSRの状態との間に接続を確立する準備が完了している。
【0020】
事実1:LFSR生成シーケンスSのk番目のビットSは、任意の



について



に従う。
【0021】
nサイズのLFSRシーケンスSを考え、w番目のシンボルごとにSを行に関してラッピングすることによって取得されるパターンPが、任意の十分に大きい部分行列がPの中で一意であるという特性をいつ得るのかを特徴付けることを希望する。正式には、パターンの行Yと列XでのエントリP(X、Y)は、P(X、Y)=SYw+Xによって指定される。
【0022】
k=Yx+Xである(X、Y)の左上隅で、LFSR状態CkをPにおけるa x b−部分行列に関連付ける。前記事実1は以下を行わせるに過ぎない。
【0023】


G(f(x))は一次関数であるため、前記方程式を以下のように行列形式にすることができる。
【0024】


簡潔にするため、この関係をB=TCとして書き、この場合、Gはパターン部分行列ベクトルであり、TはLFSR状態からパターン部分行列への線形変換であり、CはLFSR状態ベクトルである。我々の主要定理を前提とする。
【0025】
定理:F[x]のP(x)を度nの多項式とする。LをR(x,P(x))の次数とする。したがって、R(x,P(x))についてLFSRによって生成される長さLのシーケンスSから得られるパターンPは、対応するGがFを超えるランクnを有する場合に、Pにおけるa x b-部分行列が一意であるという特性を有する。さらに、次数が最大(L=2−1)である場合に、必要な要件でもある。
【0026】
前述のパターンPは、w番目のシンボルごとに行に関してシーケンスSをラッピングすることによって取得された。代わりに、例えばw番目のシンボルごとに列に関してラッピングする、あるいはシーケンスの斜めの埋め込み等二次元パターンを形成するために、シーケンスの他の埋め込みまたはラッピングスキームが使用されてよい。さらに他の埋め込みが役立ってよいが、好ましくは隣接位置でのシーケンス要素の指数間の差異は一定である。明確にするために、パターンにおける各位置(X、Y)について、シンボル値Sがパターンにおける位置(X,Y)にあることを意味するq(X,Y)=kで示すことができるシーケンスSにおける一意の場所kを関連付けた。ここで、Lを法としてq(X+1,Y)−q(X,Y)、そしてLを法としてq(X,Y+1)−q(X,Y)が一定である場合、位置(X,Y)の選択に関係なく、さらに明確にされるように、本発明により明らかな優位点が得られてよい。
【0027】
さらに、本発明の技法は改変されるラッピングスキームを認めるだけではなく、一意性を調べ、前述のような単なる矩形と対照的にシンボル/シンボル値のグループの任意の形状の位置復号を処理するために使用されてもよい。以下では、小さい球体の形状におけるシンボル値のグループが一意であり、ラッピングスキームが列に関するラッピングを含むパターンの例を示す。
【0028】
以下の多項式を検討し、


[x]/P(x)でカウントし、ベクトル


を定義する。
【0029】
P(x)は原始多項式であるため、r=rである第1のk>0はk=216−1である。
【0030】
k=0,1,2、...、216−2の場合にシーケンスG(r)をラッピングすることによって取得されるパターンを検討し、ここで任意の多項式f(x)のG(f(x))はP(x)を法としてf(x)における単項式x15の(バイナリ)係数である。一般的にはG(f(x))は、P(x)を法としてf(x)における単項式の係数の任意の線形組み合わせであってよい。
【0031】
シンボルパターンPの例が、白のピクセルと黒のピクセルが各々値1と0を表す図1に示されている。シーケンスは左上隅で開始し、下方へ続き、各187ビットをラッピングし、前の列の右の次の列で再び上部から開始する。シーケンスの選択、つまりP(x)とラップ長187は任意ではない。対照的に、それらはいくつかの望ましい復号特性を取得するために細心の注意をもって選ばれる。
【0032】
第一に、パターンの十分に大きな領域の各々がパターンの中で一意であり、高速反転、つまり見られている領域のパターンの中で座標の位置を突き止める高速アルゴリズムを認めることを保証することを希望する。
【0033】
第二に、エラーの起こりにくい埋め込み、つまり数個の誤って解釈されたビットが存在する場合にも、ビットの見られた部分の座標を計算する能力を好むであろう。
【0034】
(以下ではマスクまたは球体Bと呼ばれている)シンボル値のグループの例が図3に示されている。前記に示されたシンボルパターンは以下の特性を有する。
【0035】
1.例えば図3の形状のシンボル値の任意のグループはパターンの中で一意である。つまり、パターンのいずれかで球体を見る場合、見られた球体がパターン内でどこに位置しているのかを区別することができる。さらに、一致を求めてパターンを完全に隈なく探すよりはるかに速く、これを行い、すべての考えられる球体対位置のペアを含む大きなルックアップテーブルを依然として利用するより、はるかに少ない記憶域の使用することが可能である。
【0036】
2.パターンのいずれかで見られた球体における21個のシンボル値(ビット)の内の多くとも一つが誤って解釈される、または見当たらない場合、これを検出し、その適切な値を速く計算することができる。これにはパターンにおける任意の二個の異なる球体が少なくとも三つの異なるシンボル値でなければならないことが求められることに留意する。
【0037】
ラップ長187と組み合わされるP(x)の選択がどのようにしてこれらの特性を有すると検証されたのか。これは、球体(位置(X、Y))の(仮想)左上隅G(r)を占めるrを球体の見られているビットに関連付けることによって達成された。球体のビットが以下の表に示されるようにrに関して書かれてよいことに留意する。
【0038】


G(rk+l)が



における単項式の係数cの線形組み合わせとして表されてよいことを観察することによって、前述の数学的な説明に従って


を表す関係をB=TCと書くことができる。ここでBはパターンPの観察された要素に対応し、Cは剰余多項式rに対応する。有効なシーケンスSにおいて、TはシーケンスS、ラッピングスキームWおよびマスクBの形状に依存するにすぎない。剰余多項式r(つまりP(x))を法としたx)、およびそれにより係数Cは再発関係を使用する反復二乗によって〜log(k)乗算を使用して計算できるため、


変換行列Tは効率的に計算できる。本例では、主要定理(前記)は、一意の高速反転可能球体を得るために行列がランク16を有することを必要とすると規定している。w=187の場合、行列Tは、事実上F2を超えるランク16を有する


のように見える。
【0039】
有効なシーケンスSを形成するために、以下のステップが実行されてよい。
【0040】
・シーケンスSがバイナリである、つまりフィールドq=2であることを選択する。
【0041】
・例えばnの度=16で適切な多項式P(x)を選択する。
【0042】
・ラップ長w=187で列に関してラッピングする等、ラッピングスキームWを選択する。行に関して、あるいは斜めにラップすることも可能である。斜めのラッピングの場合、パターンの幅と高さとの間の最大の公約数が1となることが望ましい場合がある。しかしながら、原則的には、ラッピングスキームに関する唯一の要件は、それがマスクBにおける要素とシーケンスSの対応する係数Cとの間で相対的な幾何学的な順序と関係性を維持することである。
【0043】
・特定の形状、および例えばm=21等のビットmの数をもつマスクパターンBを選択する。
【0044】
・ラッピングスキームW、マスクBの形状および多項式P(x)を使用して変換行列Tを計算する。
【0045】
・TのランクN=nであることをチェックする。そうである場合、シンボルパターンP、つまりラッピングスキームWでラップされたシーケンスSは所望の特性を有する。そうではない場合、TのランクN=nとなるまでラッピングスキームW、マスクBの形状、および多項式P(x)の内の1つ以上を変える。
【0046】
変換行列Tは反復二乗により適切に計算される。
【0047】
また、図1に示されているように、例えば細分B等、シンボルパターンPの細分を形成することも可能である。これは、例えば一枚の用紙に印字することによってシンボルパターンPの一部によってカバーされる領域を生成することが所望されるときに有効である。位置(X、Y)でのBの第一の要素は、r≡x(P(x)を法として)を計算することによって、適切には反復二乗によって、それからk=q(X,Y)についてシンボル値を得るためにG(r)を評価することによって生成される。右側に次の要素を得るために、q(X+1、Y)−q(X,Y)=dが一定であるという事実を使用してよく、つまりrk+dを得るためにrをxで乗算することができ、シンボル値を得るためにG(rk+d)を計算してよい。したがって、パターンの一部を生成するときに右側の次のシンボルに移動することは簡単である。一般的には位置(X、Y)の剰余多項式rを考えると、位置(X+u、Y+v)で要素を生成することは、ベクトル(u,v)に対応するxの累乗でrを乗算してから、関数Gを適用することにより実行される。
【0048】
序文によって言及されたように、シンボルパターンの一つの用途は、例えば用紙またはコンピュータ画面上等、表示されているパターンの上で動かされる検出装置の位置を決定することであってよい。例えば、参照として本書に組み込まれている出願人の米国特許第6,674,427号および第6,667,695号は位置決定のためのペン状の手動操作機器をさらに説明している。これらのペン状の機器は適切にプログラミングされている場合に本発明に従って位置決定のために使用できる。
【0049】
以下では、このような検出装置の一実施形態を、図4を参照して説明する。本実施形態の検出装置400は、画像がパターンの多くのシンボルを走査するように構成される捕捉手段403によって捕捉されるウィンドウまたは開口部402を形成するペンの形をした筺体またはシェル401を備える。
【0050】
捕捉手段403は、シンボルの画像が白黒で、グレースケールで、またはカラーで取得されるようにシンボルパターンを撮像するために適した任意の種類のセンサを含んでよい。このようなセンサは、任意の適切な波長範囲内の電磁放射線に敏感であるソリッドステートシングルチップデバイスまたはマルチチップデバイスとすることができる。例えば、センサはCCD素子、CMOS素子、またはCID素子(電荷注入装置)を含んでよい。代わりに、センサはシンボルの磁気特性を検出するための磁気センサを含んでよい。なおさらに、センサはシンボルの任意の化学的性質、音響特性、容量特性または誘導特性を有する画像を形成するように設計されてよい。
【0051】
図4の検出装置400は、ユーザが検出装置400をシンボルパターン上の特定の位置に指すことを可能にし、場合により、ユーザがシンボルパターン上で自分が書いているまたは描画しているものを見ることができるように、通常の色素ベースのマーキングインクをシンボルパターンの上に付着するペン先または筆記用具404も備える。接触センサ405は、それが表面にいつペン先が表面に下ろされるのか、および/または表面から持ち上げられるのかを検出するためにペン先404に動作可能に接続される。接触センサ405の出力に基づき、捕捉手段403はペンダウンとペンアップとの間で、ペン先401の近くまたは周辺の領域の画像を捕捉するために制御される。検出装置400は、バッテリおよび/または主電源コネクタ等の電源406と、有線または無線の短距離通信または遠隔通信のためのコンポーネントを備える通信インタフェース407と、ユーザにフィードバックを提供するためのディスプレイ、インジケータランプ、バイブレータ、またはスピーカ等のMMI(マンマシンインタフェース)408と、ユーザが検出装置400を起動および/または制御できるようにする1個以上のボタンとも備える。
【0052】
検出装置400は、捕捉手段403によって走査されるシンボルを表すパターンデータを記憶するためのメモリ410と、多様な計算を実行するための信号処理装置411も含む。信号処理装置411は、例えば適切にプログラミングされたプロセッサによって、ASIC(特定用途向け集積回路)、DSP(「デジタル信号プロセッサ」)またはFPGA(フィールドプログラマブルゲートアレイ)等の特に適応されたハードウェアによって、離散デジタルコンポーネントまたはアナログコンポーネントによって、あるいはその任意の組み合わせによって実現されてよい。代わりに、メモリ410および/または信号処理装置411は、検出装置400と通信する外部受信装置(不図示)に配置されてよい。
【0053】
信号処理装置411によって行われる計算は、ここで図3に例示するマスクを参照して簡略に説明する。前述のように、捕捉手段403によって走査されるシンボルはシーケンスを基準にして公知の幾何学的な順序および関係性で配置される。マスクBが、マスクBの左上隅の座標(X、Y)によって定義される位置に配置されると仮定する。マスクBにおける観察されたシンボルはシンボル値、つまりシーケンスSにおける要素を表す。マスクBのこれらの観察された要素BX,Yは、シーケンスSの特殊な係数CX,Yに相当する。要素BX,YとCX,Yとの間の関係性は行列方程式B=TCで表される。
【0054】
シンボルパターンPWの中で観察されたマスクBの位置を突き止めることは、以下のステップを含んでよい。第一に、位置(X,Y)にあるマスクBの要素BX,Yが捕捉され、メモリに記憶される。次に、行列方程式BX,Y=TCX,YがCX,Yについて解かれる。
【0055】
一実施形態では、変換行列T(適切には迅速な解答を可能にする因数分解として)、つまりその反形T−1がシーケンスSについて事前に計算され、検出装置/受信装置のメモリに記憶されてよい。また、マスクBは所定の固定形状を有してよい。変化する位置(X,Y)での連続する場所について、対応する係数CX,Yが前述の行列方程式で解かれる。
【0056】
係数CX,YはシーケンスSにおける唯一の位置kに対応する。いったん係数CX,Yが見つけられると、kは例えば公開鍵暗号解読法(Silver−Pohlig−Hellman)アルゴリズムによって計算される。公開鍵暗号解読法方式は、(P(x)を法として)



が係数CX,Yを有する離散値対数kを発見する。
【0057】
P(x)の次数は216−1=3*5*17*257であり、公開鍵暗号解読法アルゴリズムは、次数の最大素数(この場合はは257)が十分に小さく、kの高速決定が可能であるときにはつねに効率的である。
【0058】
kから、球体の左上隅の(X,Y)−座標が、w=187の列に関するラップ長で(wを法としてk除数w,(k div w))で示される。
【0059】
別の実施形態では、マスクB’の形状は変化してよい。例えば、マスクB’は図3で破線により示されている三つの要素を組み込んでよい。要素の数mは他の三つの要素を除外することによって一定にされてよい、あるいはさらに多くの要素を組み込むことによって増加されてよい。これは、復号されたシンボルの値が不確定である場合には、役立つことがある。したがって、有効な変換行列Tが見つけられるまで、マスクB’の多様な形状が試されてよい。この場合、変換行列T、つまりその反形T−1は、検出装置/受信装置において動的に計算されてよい。有効な変換行列TはランクN=nを有するものとして定義されてよい。したがって、行列方程式B’=TCが解かれ、場所が上記において定義されたように突き止められてよい。
【0060】
以下の復号方法が使用されてよい。解釈されたシンボル値を確実性に従って並べ替える。つまり画像処理がその解釈について最も確実であるシンボルで開始する。次に、線形変換行列がランクnを得るまでシンボル値を一個づつ加算し、位置について解く。隣接する要素の矩形または球体だけではなく、マスクの任意の形状が使用されてよいことに留意する。
【0061】
さらに追加の実施形態では、有効な変換行列T’がランクN=n−jを有するものとして定義される。この場合、行列方程式B=T’Cは、異なる位置(X、Y)およびシーケンスSにおける場所kに対応する最大2の解を有することになる。言うまでもなく、一つの解だけが正しい解であり、偽の解は、覆っている(overlying)経験則によって排除されてよい。例えば、偽の解は、1つ以上の先行のおよび/または後続の位置に関して連続性条件(例えば、空間距離、加速度等)をチェックすることによって排除されてよい。
【0062】
マスクB’を変化させ、そして、有効な変換行列T’をランクN=n−jを有するものとして定義させることもできる。第一に、有効な変換行列T’が突き止められるまで、マスクB’の多様な形状が試されてよい。次に、多様な解のある行列方程式B’=T’Cが解かれ、偽の解が排除されてよい。
【0063】
本発明は、サンプリングされた観察済みのビットのエラー訂正を実行するためのツールをも提供する。T(T転置済み)の零空間は、HT=0を達成する線形に独立した行でバイナリ行列Hを取得するための公知の技法によって評価できる。
【0064】
本例では、Hは5x21行列であり、H=[h...h21]は以下のとおりである。
【0065】


このような行列Hは、Tにより生成される線形コードのエラー訂正コードとの関連においってチェックマトリックスとして知られている。我々のHが、すべての列hが全ゼロベクトルと異なり、一意であるという特性を有することに留意する。パターンにおけるすべての考えられる観察されたマスクBは係数ベクトルCの何らかの選択のために、フォーマットB=TCであるため、iで誤りビットのひとつの見られたマスクは、B*=B+eと書き込まれ、eはビット位置iの中で値一(1)を、および他のすべての位置で値ゼロ(0)を有する列ベクトルである。チェックマトリックスによる乗算は以下を生じさせる。
【0066】


つまり、Hで見られたマスクを乗算し、エラーの場所を突き止めるために取得された文字列を調べることによって単一のエラーを突き止め、訂正することができる。誤りビットを反転すると正しい値が与えられ、ガウス消去法および例えば前述のように公開鍵暗号解読法アルゴリズムを用いて等、Tを介した後退代入を使用してCについて解くことができる。
【0067】
前記エラー訂正は、ランクN=n−j(すなわちH’T’=0)を有する変換行列T’と関連するチェックマトリックスH’で等しく適応できる。
【0068】
v個のビットが誤っているのを許すことを許容しうるであろうパターンを発見することを希望する場合は、任意の2vの列が線形に独立しているという特性のあるチェックマトリックスHを見つける必要がある。これは線形符号の理論から周知である。
【0069】
検出装置が、例えば文字と画像を形成するためにシンボルパターンのある表面上を動かされると、一連の復号動作または一発見動作が実行される。そこでは、各位置は前述のように、固定または可変マスクB、B’を用い、ランクN=nまたはN=n−jを有する変換行列T、T’を用いて復号されてよい。復号方式も位置との間で変化してよい。
【0070】
本発明は、当業者によって理解されるように、ソフトウェアとハードウェアの多様な組み合わせにより実現されてよい。本発明の範囲は以下の請求項によってのみ制限される。
【図面の簡単な説明】
【0071】
【図1】シンボルパターンとして具体化されるラップされたシーケンスの例である。
【図2】線形フィードバックシフトレジスタの概略図である。
【図3】シンボルパターンの観察された部分集合を定義する例示的なマスクの概略図である。
【図4】本発明の実施形態によるペン形状をした検出装置の、部分的断面の概略側面図である。

【特許請求の範囲】
【請求項1】
シンボルパターンで観察され、サイズmを有するシンボル値の任意の部分集合が一意であるという特性を有する二次元シンボルパターンPを作成する際の方法であって、
各々P(x)を法としてxにおける単項式の係数Cの固定された線形組み合わせに対応するシンボル値Sの非反復シーケンスSを定義し、ここでP(x)がフィールドFの度nの任意の多項式であることと、
定義された形状のマスクパターンを定義し、観察される前記m個のシンボル値を備えるマスクベクトルBを生じさせることと、
該シーケンスを前記二次元シンボルパターンPの中に折り畳むためにラッピングスキームWを定義することと、
を備え、
前記多項式P(x)、前記マスクパターン、および前記ラッピングスキームWが、該行列方程式B=TCを履行する変換行列TがFqを超えるランクN=nを有するように定義される方法。
【請求項2】
前記ラッピングスキームが相対的な幾何学的な順序と、マスクパターンにおけるシンボル値と前記係数との間の関係性を維持するように定義される請求項1に記載のシンボルパターンを作成する際の方法。
【請求項3】
=G(f(x))であり、任意の多項式f(x)のためのG(f(x))がP(x)を法としてf(x)における単項式xn−1の係数である請求項1または2に記載のシンボルパターンを作成する際の方法。
【請求項4】
該変換行列Tが反復二乗によって計算される、請求項1から3のいずれか一項に記載のシンボルパターンを作成する際の方法。
【請求項5】
該ラッピングスキームWが、行(または列)におけるシーケンスSをラップ長wでラップすることから成る請求項1から4のいずれか一項に記載のシンボルパターンを作成する際の方法。
【請求項6】
該ラッピングスキームWが該シーケンスSを斜めにラッピングすることから成る請求項1から4のいずれか一項に記載のシンボルパターンを作成する際の方法。
【請求項7】
前記係数Cが、サイズnを有し、xn−1から1のビットホルダー付きの線形フィードバックシフトレジスタLFSRの状態を表す請求項1から6のいずれか一項に記載のシンボルパターンを作成する際の方法。
【請求項8】
前記ラッピングスキームWが、Lを法として[q(X+1,Y)−q(X,Y)]およびLを法として[q(X,Y+1)−q(X,Y)]が該シンボルパターンP内の任意の位置(X,Y)について一定であるように定義され、q(X,Y)=kが該シンボルパターンPにおける位置(X,Y)と該シーケンスSにおける場所kとの間の関係性であり、Lが該シーケンスSの長さである請求項1から7のいずれか一項に記載のシンボルパターンを作成する際の方法。
【請求項9】
定義された形状および少なくともm個のシンボル値というサイズの任意のマスクBが一意であるという特性を有する二次元シンボルパターンPで観察されるマスクBの位置(X,Y)を突き止める方法であって、該シンボルパターンが、各々P(x)を法としてxにおける単項式の該係数Cの固定された線形組み合わせに対応するシンボル値Sの非反復シーケンスSに基づいており、ここでP(x)はフィールドFqにおける度nの任意の多項式であり、該シンボルパターンPはラッピングスキームWに従って前記シーケンスSを折り畳むことによって形成され、
該マスクBにおける該シンボル値と該対応する係数Cとの間の関係性についての情報を取り出すことと、
前記位置(X,Y)で前記マスクBの該シンボル値を抽出することと、
前記関係性によってBX,Yから該対応する係数CX,Yを計算し、ここでBX,Yが前記位置(X,Y)でのBという該抽出されたシンボル値であることと、
該シーケンスSにおける該場所kを計算し、ここで該係数CがCX,Yに等しいことと、
該場所kと該ラッピングスキームWに基づいて該シンボルパターンPにおける前記位置(X,Y)を計算することと、
を備える方法。
【請求項10】
前記関係性は該行列方程式B=TCを履行し、Fqを超えるランクN=nを有する変換行列Tである請求項9に記載の位置を突き止める方法。
【請求項11】
前記関係性が該行列方程式B=T’Cを履行し、Fqを超えるランクN=n−jを有する変換行列であり、前記計算することが、
X,Y=T’CX,Yの対応する係数CX,Yの複数の解を計算することと、
Cの係数がCX,Yに等しい該シーケンスにおける複数の候補場所kを計算することと、
該場所kと該ラッピングスキームWに基づいてシンボルパターンPにおける複数の候補位置(X,Y)を計算することと、
該求められていた位置の偽の候補位置を排除することと、
をさらに備える請求項9に記載の位置を突き止める方法。
【請求項12】
該偽の候補位置が継続性条件をチェックすることにより排除される請求項11に記載の位置を突き止める方法。
【請求項13】
エラー訂正のために、該方程式HT=0(またはH’T’=0)を解くことによってチェックマトリックスH(またはH’)を形成することと、HBX,Y=h(またはH’BX,Y=h)を形成することと、h=0の場合、BX,Yを維持するが、h≠0の場合には、BX,Yの位置iで該シンボル値を変更することとをさらに備える請求項10から12のいずれか一項に記載の位置を突き止める方法。
【請求項14】
該このようにして計算された候補変換行列T、T’がFqを超えるランクN=nまたはn−jを有するまで該マスクBの形状の集合の各々について候補変換行列T、T’を計算することと、BX,Y=TCX,Y(またはBX,Y=T’CX,Y)で該対応する係数CX,Yを計算する際に使用するための該このようにして計算された候補変換行列T、T’を選択することとをさらに備える請求項10から13のいずれか一項に記載の位置を突き止める方法。
【請求項15】
該マスクBにおけるシンボル値の数mは、形状の前記集合の中で連続的に増加する請求項14に記載の位置を突き止める方法。
【請求項16】
該ラッピングスキームWが、ラップ長wの列内で該シーケンスSを折り畳むことを含み、該位置(X,Y)が((wを法としてk除数w(k div w))として計算される請求項9から15のいずれか一項に記載の位置を突き止める方法。
【請求項17】
該係数CがCX,Yに等しい該シーケンスSにおける該場所kが、(P(x)を法として)rk≡xkが係数CX,Yを有するkの離散的対数を見つけるためのアルゴリズムで計算さえる請求項9から16のいずれか一項に記載の位置を突き止める方法。
【請求項18】
該マスクBの多くの異なる位置について反復される請求項9から17のいずれか一項に記載の方法。
【請求項19】
該マスクの形状および前記関係性が維持、固定される請求項18に記載の位置を突き止める方法。
【請求項20】
各々が、P(x)を法としてxにおける単項式の係数Cの固定線形組み合わせGに対応するシンボル値の非反復シーケンスS内のシンボル値Sを計算する方法であって、ここでP(x)が該フィールドFqの度nの任意の多項式であり、
反復二乗によって



を計算することと、
G(r)からシンボル値Sを引き出すことと、
を備える方法。
【請求項21】
該二乗が再帰性関係x2k=(xおよびx2k+1=x・x2kを使用する請求項20に記載のシンボル値を計算する方法。
【請求項22】
定義された形状および少なくともm個のシンボル値というサイズの任意のマスクBが一意であるという特性を有するシンボルパターンPの細分Bを計算する方法であって、該シンボルパターンが、各々P(x)を法としてxにおける単項式の係数の固定線形組み合わせに対応するシンボル値Sの非反復シーケンスSに基づき、ここでP(x)が該フィールドFqにおける度の任意の多項式であり、該シンボルパターンPがラッピングスキームWに従って前記シーケンスSを折り畳むことによって形成され、前記細分Bが該シンボルパターンPにおける位置の集合を表し、
位置の前記集合を取り出すことと、
該ラッピングスキームWに基づき、前記位置の内の少なくとも一つを該シーケンスSにおける場所kに変換することと、
請求項20または21に記載の該方法で前記場所kの該シンボル値Sを計算することと、
を備える前記方法。
【請求項23】
前記ラッピングスキームWが、L=d1を法として[q(X+1,Y)−q(X,Y)]およびL=d2を法として[q(X,Y+1)−q(X,Y)]が該シンボルパターンPにおける任意の位置(X,Y)について一定であるように定義され、q(X,Y)=kが該シンボルパターンPWと該シーケンスSにおける場所kとの間の関係性であり、Lが該シーケンスの長さであり、
変位ベクトル(u,v)で前記少なくとも一つの位置から変位される少なくとも一つの別の位置について、x・rを計算し、pが、前記変位ベクトル(u,v)を表すdとdの線形組み合わせであることと、
G(x・r)から少なくとも一つの別の位置のシンボル値を引き出すことと、
をさらに備える前記方法。
【請求項24】
該パターンPの該細分Bが、印字される領域をカバーするように適応される請求項22または23に従って細分を計算する方法。
【請求項25】
少なくともm個のシンボル値の定義された形状およびサイズが一意であるという特性を有する二次元シンボルパターンPであって、
各々P(x)を法としてxにおける単項式の係数Cの固定線形組み合わせに対応し、ここでP(x)が該フィールドFqの度nの任意の多項式であるシンボル値Sの非反復シーケンスSと、
を備え、
該シーケンスSがラッピングスキームWに従って前記二次元シンボルパターンPに折り畳まれ、
前記多項式(Px)、前記マスクBおよび前記ラッピングスキームWが、該行列方程式B=TCを履行する変換行列がFqを超えるランクN=nを有するように定義される。
【請求項26】
前記ラッピングスキームWが該マスクBと前記係数Cにおけるシンボル値との間の相対的な幾何学的な順序と関係性を維持するために定義される請求項25に記載のシンボルパターン。
【請求項27】
=G(f(x))であり、任意の多項式f(x)のためのG(f(x))がP(x)を法としてf(x)における単項式xn−1の係数である、請求項25または26に記載のシンボルパターン。
【請求項28】
該ラッピングスキームWが、ラップ長wで行で(列で)ラッピングすることから成る請求項25から27のどれか1つに記載のシンボルパターン。
【請求項29】
該ラッピングスキームWが該シーケンスSを斜めにラップすることから成る請求項25から27のいずれか一項に記載のシンボルパターン。
【請求項30】
前記ラッピングスキームWが、Lを法として[q(X+1,Y)−q(X,Y)]およびLを法として[q(X,Y+1)−q(X,Y)]が任意の位置(X,Y)について一定であるように定義され、q(X,Y)kが該シンボルパターンPWにおける位置(X,Y)と該シーケンスS中の場所kとの間の関係性であり、Lが該シーケンスSの長さである請求項25から29の任意のどれかに記載のシンボルパターン。
【請求項31】
定義された形状と少なくともmシンボル値のサイズの任意のマスクBが一意であるという特性を有する二次元シンボルパターンPの中で観察されるマスクBの位置(X,Y)を突き止めるためのシステムであって、該シンボルパターンが、各々P(x)を法としてxにおける該単項式の該係数Cの固定された線形組み合わせに対応するシンボル値Sの非反復シーケンスSに基づいており、ここでP(x)は該フィールドFqの度nの任意の多項式であり、該シンボルパターンPWがラッピングスキームWに従って前記シーケンスSを折り畳むことによって形成され、
Bにおけるシンボル価と対応する係数Cとの間の関係性についての情報を記憶するためのメモリ手段と、
前記位置(X,Y)で前記マスクBの該シンボル値を抽出し、
X,Yが前記位置(X,Y)での該抽出されたシンボル値Bである前記関係性によって対応する係数CX,YをBX,Yから計算する
係数CがCX,Yに等しいシーケンスSにおける場所kを計算し、
該場所kと該ラッピングスキームWに基づいて、該シンボルパターンPにおける前記位置(X,Y)を計算する
ように適応された計算手段と、
を備える前記システム。
【請求項32】
前記関係性が該行列方程式B=TCを履行し、Fqより大きいランクN=nを有する変換行列Tである請求項31に記載の位置を突き止めるためのシステム。
【請求項33】
前記関係性が、行列方程式B=T’Cを履行し、Fqを超えるランクN=n−jを有する遷移行列T’あり、前記計算手段が、
X,Y=T’CX,Yで、対応する係数CX,Yのための複数の解を計算する、
係数CがCX,Yに等しい該シーケンスSにおける複数の場所kを計算する、
場所kと該ラッピングスキームWに基づいてシンボルパターンPにおける候補位置(X,Y)を計算する、および
該求められている位置の偽の候補位置を排除する
ように適応される該システム。
【請求項34】
該計算手段が継続性条件をチェックすることにより偽の候補位置を排除するように適応される請求項33に記載の位置を突き止めるためのシステム。
【請求項35】
方程式HT=0(またはH’T’=0)を解くことによってチェックマトリックスH(
またはH’)を形成し、HBX,Y=h(またはHBX、Y=h)を形成し、h=0の場合、BX,Yを維持するが、



の場合、BX,Yの位置iのシンボル値を変更するように適応されるエラー訂正手段をさらに備える請求項32から34のいずれか一項に記載の位置を突き止めるためのシステム。
【請求項36】
該計算手段が、該このようにして計算された候補変換行列T、T’がFqを超えるランクN=nまたはn−jを有するまで該マスクBの形状の集合の各々について候補変換行列を計算し、該このようにして計算される変換行列T,T“を、該対応する係数CX,YをBX,Y=TCX,Y(つまりBX,Y=T’CX,Y)で計算する際に使用するために選択するように適応される請求項32から35のいずれか一項に記載の位置を突き止めるためのシステム。
【請求項37】
該計算手段が、形状の前記集合の中で、該マスクBのシンボル値の数mを引き続いて増加するように適応される請求項36に記載の位置を突き止めるためのシステム。
【請求項38】
該マスクBの多くの異なる位置について繰り返し動作される請求項31から37のいずれか一項に記載の位置を突き止めるためのシステム。
【請求項39】
該計算手段が該マスクBの形状および関係性を維持するように適応される請求項38に記載の位置を突き止めるためのシステム。
【請求項40】
該計算手段が、(P(x)を法として)



がCX,Yの係数を有するkの離散的対数を検出するためのアルゴリズムで、該シーケンスSにおける該場所kを計算するように適応され、該係数CがCX,Yと等しい、請求項31から39のいずれか一項に記載の位置を突き止めるためのシステム。
【請求項41】
コンピュータに請求項1から24の内のいずれか一項に記載の方法を実行させるためのプログラム命令を備えるコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2008−508576(P2008−508576A)
【公表日】平成20年3月21日(2008.3.21)
【国際特許分類】
【出願番号】特願2007−520271(P2007−520271)
【出願日】平成17年7月5日(2005.7.5)
【国際出願番号】PCT/SE2005/001108
【国際公開番号】WO2006/006922
【国際公開日】平成18年1月19日(2006.1.19)
【出願人】(506145326)アノト アクティエボラーク (49)
【Fターム(参考)】