[go: up one dir, main page]

JP2008504598A - データのコーディングおよび復号化 - Google Patents

データのコーディングおよび復号化 Download PDF

Info

Publication number
JP2008504598A
JP2008504598A JP2007518009A JP2007518009A JP2008504598A JP 2008504598 A JP2008504598 A JP 2008504598A JP 2007518009 A JP2007518009 A JP 2007518009A JP 2007518009 A JP2007518009 A JP 2007518009A JP 2008504598 A JP2008504598 A JP 2008504598A
Authority
JP
Japan
Prior art keywords
data
layer
information
information code
code
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
Application number
JP2007518009A
Other languages
English (en)
Other versions
JP4996461B2 (ja
JP2008504598A5 (ja
Inventor
アンドレアス ビヨルクルンド
Original Assignee
アノト アクティエボラーク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from SE0401647A external-priority patent/SE0401647D0/xx
Application filed by アノト アクティエボラーク filed Critical アノト アクティエボラーク
Publication of JP2008504598A publication Critical patent/JP2008504598A/ja
Publication of JP2008504598A5 publication Critical patent/JP2008504598A5/ja
Application granted granted Critical
Publication of JP4996461B2 publication Critical patent/JP4996461B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

情報コードは、位置情報をコーディングするための位置決め層と任意の非位置データをコーディングするためのデータ層とを有する。該位置決め層と該データ層の両方とも、ウィンドウシーケンスの循環的にシフトされるインスタンスにより形成されてよい。情報コードの付いた製品、情報コードをコーディングする方法と復号化する方法、および情報コードを復号化するための装置が開示されている。

Description

本発明は、概して任意の非位置データの記憶のための情報コードに関する。さらに詳細には、本発明はデータを記憶する方法、データ記憶製品、データを復号化する方法、およびデータを復号化するためのデバイスに関する。
任意のデータを、例えば一次元バーコードまたは二次元バーコード等のコードによってコンパクトにベースに記憶できることは周知である。
本願の譲受人に譲渡される国際公開第01/71653号パンフレットは、データの記憶のためのコードを開示している。該コードは、該数列の中では少なくとも所定の長さの任意の部分列が一度だけしか現れないという特性を有する数列によって構築される。この特性を有する数列は、以下でウィンドウシーケンスと呼ぶ。
国際公開第01/71653号パンフレットに開示されている該コードは、行列の列にウィンドウシーケンスの部分を配列することにより形成されている。各々の系列部分は、ウィンドウシーケンスの中に明確な位置を有する。データは隣接する系列部分のウィンドウシーケンス位置の差異によってコーディングされる。ウィンドウシーケンス位置の該差異は、コードが読み取られることを意図される方向で、ウィンドウシーケンスの形式でルーラもコーディングする。このルーラによって、コードから読み取られるデータを正しい順序で配列し、完全なメッセージが記録されることを確実にすることができる。
前記から明らかであるように、コードに記憶されるメッセージは、ユーザ装置でコードの部分領域の複数の画像を記録し、該複数の画像の中のデータとルーラ情報を復号化し、データを正しい順序で並べることによってメッセージを再構築するためにルーラ情報を使用することによって再現することができる。コード行列が水平軸に沿って走査されることを意図されると仮定すると、該走査は垂直軸に沿った行列の任意のレベルで実施でき、復号化された情報はすべてのレベルで同じである。
国際公開第01/71653号 米国特許第5,852,434号 米国特許第6,570,104号 米国特許第6,663,008号 米国特許第6,674,427号 米国特許第6,667,695号 米国第2004/0085287号 米国特許第5,442,147号 米国第2003/0053699号 米国第2003/0189664号 米国第2003/0118233号 米国2002/0044138号 米国特許第6,732,927号 米国2003/0122855号 米国第2003/0128194号
本発明の一つの目的は、任意の非位置データをベース上にコーディングされた形式で記憶するための代替コードを提供することである。
この目的は、独立クレームに主張されているように、データを記憶する方法、データ記憶製品、データを復号化する方法、データを復号化するためのデバイスによって完全にまたは部分的に達成される。
本発明の一つの態様によれば、データを記憶する方法は、位置決め層で位置情報をコーディングすることと、個別のデータ層で任意の非位置データをコーディングすることと、該位置決め層と該データ層をベース上に配列される情報コードに結合することとを備える。
位置情報とデータとを異なるコード層に分離することによって、多くの優位点が得られる。さらに後述されるように、位置決め層は、位置情報のみではなく他の情報をコーディングするために使用することができる。それは、例えば、情報コードを2つの層の中の類似する位置コードコーディング位置情報から区別するインジケータをコーディングするために使用できる。それは、また、位置決め層の任意の位置で復号化可能である情報コードパラメータをコーディングするために使用することもできる。さらに、データは他の方法で、および例えば国際公開第01/71653号パンフレットにおける場合よりさらに高いデータ密度でコーディングされてよい。全体的に見ると、結果として生じる情報コードは、より良く構造化されており、異なる種類の情報をコーディングするためにさらに容易に適応できるであろう。
位置決め層およびデータ層は、異なる方法で結合されてよい。層は互いの上に重畳され、一つの共通のコード要素によってコーディングされる異なる層からの要素を重複してよい。層は、異なる層からの要素が互いから変位され、重複しないように相互にインタリーブされてもよい。
情報コードは、異なる方法でベース上に配列できる。それは、例えばベース上に可視印字インクまたは不可視印字インクでインク印字されてよい、あるいは異なる磁気特性、化学的特性、位相的特性、または他の特性をベースの異なる部分に割り当てることによってベースに付けられてよい。
位置層によってコーディングされる位置情報は一次元または二次元である場合があり、二次元の代替策はデータのさらに洗練されたコーディングを可能にし、さらに高いデータ密度を可能にする。二次元の位置情報により、一方では情報コードの意図された走査方向で位置を決定し、他方ではそれに対して直角な位置を決定することができる。走査方向での位置を知っていることで、情報コードをほとんど重複することなく、あるいは事実上まったく重複することなく、複数の画像によって記録、または読み取ることができる。さらに、記録される情報の完全性は容易にチェックされてよい。画像コンテンツの対比を実施する必要はないが、位置情報は正しい順序でデータを配列するために使用される。意図された走査方向に直角の方向での位置を知っていることで、既知のコード以外の方法でデータをコーディングできる。
位置情報は、異なる方法でコーディングされてよい。位置コードは、例えばタイル表示型であってよく、ベースは個別の重複しない部分領域に分けられ、その各々が位置を規定する。このタイプの位置コードは、例えばSekendurに対する米国第5,852,434号に開示されている。該位置コードは浮動型である場合もあり、位置をコーディングするために必要とされる最小のサイズと同じサイズを有するベース上での任意の部分領域が位置を規定する。浮動型の位置コードでは、部分的に重複する部分領域はこのようにして異なる位置を規定する。典型的には、浮動型の位置コードで位置を規定する各部分領域が複数の単純なシンボルを備えるのに対し、タイル表示型の位置コードで位置を規定する部分領域は複数の単純なシンボルまたは単一のさらに複雑なシンボルのどちらかを備えてよい。
浮動型の位置コードは、一つ以上のウィンドウシーケンスによって実現できる。浮動型の位置コードの例は、例えば、すべてが本願の譲受人に譲渡されている米国第6,570,104号、米国6,663,008号、米国第6,674,427号、米国第6,667,695号に、およびさらにWangに対する米国第二004/0085287号、Burnsに対する米国第5,442,147号に記載されている。
データ層のデータも、タイル表示型コードまたは浮動型コードでコーディングされてよい。浮動型コードのケースでは、それは例えば一つ以上のウィンドウシーケンスによってコーディングされてよい。
位置情報および/またはデータは、例えば、行列の中にまとめられる(wrapped into a matrix)単一の長いウィンドウシーケンスによって、あるいは行列の中に配列されるより短いウィンドウシーケンスの複数の完全なまたは部分的なインスタンスによってコーディングされてよい。
位置決め層とデータ層の両方とも、例えばウィンドウシーケンスの循環的にシフトされるインスタンスの行列を形成することによって設けられてよく、循環性のシフトのサイズは位置情報またはコーディングされるデータに依存する。
第一の位置決め層と第二のデータ層を有する情報コードは、情報コードの第一の位置決め層によって排他的に使用される特定の座標領域を確保することによって第一の位置層と第二の位置層を有する類似した外観の位置コードから区別できる。
ウィンドウシーケンスの循環的にシフトされるインスタンスが位置決め層で使用されると、隣接するインスタンス間の循環性のシフトまたは相対的な循環性のシフトは、各々位置コードにより使用されない、循環性のシフトと相対的に循環性のシフトの特定のセットに制限できる。
グローバル情報コードパラメータも位置決め層でコーディングされてよい。グローバルによって、ここでは、パラメータが位置決め層の任意の位置で復号化されてよいことが意味され、それは位置決め層全面に渡って同じである。それは他の種類の情報とは無関係であり、したがって復号化装置によって即座に解釈されてよい。グローバル情報コードパラメータは、例えば情報コードの循環性のシフトまたは相対的に循環性のシフトでコーディングされてよい。
本発明の追加の態様によれば、製品は基部と、該基部の上の情報コードとを備え、前記情報コードは位置層コーディング位置情報とデータ層コーディング任意の非位置データとを備える。
製品は、情報コードを付けることができるベースを備える任意の製品であってよい。異なる製品の例は詳細な説明に示されている。
本発明の別の態様によれば、情報コードからデータを復号化する方法は、該情報コードの部分領域の表現を受け取るステップと、部分領域位置決め層と部分領域データ層において、部分領域の情報コードを分離するステップと、部分領域位置決め層から位置情報を復号化し、部分領域データ層から任意の非位置データを復号化するステップとを備える。
本発明のさらに別の態様によれば、情報コードを復号化するためのデバイスは、情報コードの部分領域の表現を受け取り、部分領域位置決め層と部分領域データ層の中で情報コードを分離し、部分領域のデータ層から位置情報を復号化し、部分領域データ層から任意の非位置データを復号化するように装置されるプロセッサを備える。
製品、復号化方法、および復号化装置の優位点は、コーディング方法の説明、および以下の詳細な説明から明らかである。
ここで、本発明の添付概略図に関してさらに詳しく説明する。
図1は、情報コードを使用できる情報管理システムの例を概略で示している。該システムは製品1、ペンスタイルユーザ装置2、携帯電話3、パーソナルコンピュータ(PC)4、遠隔装置5と、ローカル装置6とを備えている。
製品1には情報コード7と位置コード8が備えられている。情報コード7と位置コード8の各々の小さな部分が倍尺で概略して示されている。他の製品は情報コード7のみを有してよい。
情報コードは一次元の情報コードであり、ベース上に一次元で、この場合はベース上で水平方向にデータを記憶する。情報コードに記憶されるデータは、情報コード全体の上でユーザ装置2を水平方向に左から右にまたは右から左に移動することによって記録される。理論的には、ユーザ装置2を垂直方向に移動することでは追加情報は獲得されない。しかしながら、実際には、例えば情報コードがべース上で完全に再生されていない場合、あるいはユーザ装置による情報コードのイメージングが不完全または未完成である場合等、補足情報は、情報コードの異なる垂直位置にある同じデータを見るユーザ装置によって取得されてよい。
図5を参照してさらに詳細に後述するユーザ装置2は、情報コード7を記録し、復号化できる。ユーザ装置は、位置コード8からの位置情報も記録、復号化してよい。ユーザ装置2は復号化された情報を内部で処理し、復号化された情報に応えてユーザにフィードバックを行ってよい。それは携帯電話3、PC4またはローカル装置6等のローカル装置が、記録された情報の処理の少なくとも一部を管理する、および/または復号化された情報に応えるためにローカル装置と通信してもよい。ローカル装置は、記録/復号化された情報の転送のためにインターネット上のサーバ等の遠隔装置への通信インタフェースの機能を果たしてもよい。
情報コード7は異なる目的に提供できる。情報コードは、例えば位置コード8によって記録された手書きの情報の送信先のアドレスを定めてよい。あるいは、それは位置コード8を備える領域のレイアウトの記述を含んでよい。この領域は、例えばユーザによって記入される形式を構成してよく、情報コード7は、該形式の異なる領域からの情報をどのようにして解釈、および/または処理するのかについてユーザ装置2に命令を与える。例えば製品のすべてのサンプルに、全製品で同一の位置をコーディングする同一位置コード8(「コピー位置コード」とも呼ばれる)が備えられる場合に、情報コード7は製品の特定のサンプルの一意の識別を行ってもよい。
それが情報コード7と位置コード8の両方を正しく復号化できるために、ユーザ装置2は好ましくはコードを区別できなければならない。コード自体にコードの種類を示す一つの方法が後述される。しかしながら、第一に、情報コード7がどのように構築されてよいのかを示す例が図2に関して説明される。
図2に概略して示されているように、情報コード7は2つの個別の層―位置決め層20とデータ層21―から構成されている。
位置決め層20は、一意の絶対位置を二次元でコーディングする。データ層21はデータをコーディングする。情報コード7では、位置決め層20とデータ層は互い21の上で重畳され、その結果情報コードの各要素は位置決め層20とデータ層21の対応する要素の組み合わせを構成する。情報コードの要素はグラフィックシンボルでコーディングされる。
情報コードが復号化されると、位置層20とデータ層21は分離され、層は個別に復号化される。しかしながら、データ層21を復号化するときに位置情報は使用される。
この種の情報コード7は、所定の長さの任意の部分列が系列内に一度だけ出現するという特性を有するウィンドウシーケンスによって構築できる。
数学分野の中では、前述された特性を有する最大長の系列はDeBruijn系列として知られている。このような変化する長さの系列を生成するための方法は周知である。
表現「ウィンドウシーケンス」は、本願では前記特性を有する任意の系列に使用される。系列は、部分列(ウィンドウ)長に関して最大長である必要はない。それは、前述された特性を有する系列を繰り返すことにより得られる系列にも使用される。このような系列は周期的となり、繰り返される系列間の遷移を算入する、各期間に前述された特性を有する。
図2の例では、位置決め層20は、長さnのウィンドウシーケンスのインスタンスによって構築され、前記インスタンスは図2のx軸と平行する行で続く。データ層21は同じウィンドウシーケンスのインスタンスにより構築され、前記インスタンスはy軸に平行した列で続く。意図された走査方向はx軸に沿ったものである。代わりに、位置決め層20のウィンドウシーケンスのインスタンスがy軸に沿って続いてよく、データ層のウィンドウシーケンスのインスタンスがx軸に沿って続いてよいことは言うまでもない。例えばウィンドウシーケンス間の他の角度を用いる他の配列も使用されてよい。
ウィンドウシーケンスのインスタンスは必ずしも完全なウィンドウシーケンス期間で開始せずに、その一部のみで開始してよい。ウィンドウシーケンスインスタンスが開始する位置、つまりインデックスがインスタンスの循環性シフト、あるいは単にシフトと呼ばれる。行または列が完全ウィンドウシーケンス期間で開始する場合、循環性シフトはゼロである。
2つの隣接する行または列の2つのインスタンスのシフト間のnを法とする差異が、インスタンス間の相対的な循環性シフト△iつまり相対シフトを規定する。
図2では、ウィンドウシーケンスのインスタンスは位置決め層20とデータ層21の中の棒23として概略で示されている。位置決め層20の中の二個の相対シフト△iと△i+1、およびデータ層21の中の二個のシフトsiとsi+1も言外に示唆されている。図2が縮尺通りに作られていないことが強調される必要がある。
位置決め層20は、ウィンドウシーケンスのインスタンスおよびその間の相対シフトによってコーディングされるn*nの一意の絶対位置のある位置決め面を形成してよい。位置決め面は任意の長さまたは幅の位置決め層20を作成するために繰り返されてよい。位置決め層20は、位置決め情報に加えて、それが位置決め表面上で変化せず、それが位置決め層21から任意の位置で復号化できるであろうためにそのように呼ばれるグローバル情報コードパラメータもコーディングしてよい。
データ層20は、ウィンドウシーケンスのインスタンスの循環性シフトsiによってデータをコーディングする。それは、さらに詳しく後述されるように、情報コードの開始と終了を示す境界決定ゾーンもコーディングしてよい。
情報コード7を作成するために使用されるウィンドウシーケンスは任意のベースを有することができるが、それは好ましくは、4以下等の小さなベースとならなければならず、その結果それは複雑度の低いシンボルによってグラフィックにコーディングできるであろう。この例では、ベースは2である。したがって、位置決め層21とデータ層20の各々はバイナリ行列から成る。これらの二つのバイナリ行列が重畳されると、結合された行列の中の各々の位置が、一個は位置決め層から、一個はデータ層からの二個の関連ビットを有する。これらの二個のビットは、四つの異なる値0〜3を表す四つの異なる状態を有するシンボルを活用して製品の表面でコーディングできる。
図3は、名目位置32つまりラスタポイントの関連でのそれらの各々の位置に応じて四個の異なる値を取ることができる、簡略なグラフィックシンボルつまりマーク31によって、コーディングされる情報コードの小さな部分を示す。図3に見られるように、各シンボル31はドット形状を有し、名目位置32を基準にして四つの異なる方向の内の一つで距離33変位されている。名目位置32は好ましくは非可視または仮想のラスタまたはグリッドの中のラスタ線間の交点である。グリッド間隔35は、通常0.3mmであってよい。シンボルの値は変位の方向により決定される。各シンボル値0から3は位置決め層20の中の位置のコーディングに寄与する1ビットと、データ層21の中のデータのコーディングに寄与する1ビットに、つまりビットの組(0、0)、(0、1)および(1,1)に変換される。これは、情報コードが位置層とデータ層でどのように構築できるのかの一つの例である。
以下では、n=63およびウィンドウ6の次に示すバイナリウィンドウシーケンスが情報コードを作成するために使用されると仮定する。
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
主系列Mとも呼ばれているこの系列は、63を63の位置決め面でコーディングするために使用されてよい。それは、63の異なる位置で開始するために循環的にシフトできるため63の異なる循環性シフトを有する。
位置決め層20は、以下の方程式に従って該主系列Mのインスタンスをシフトすることにより作成され、
Figure 2008504598

ここで、Rは長さ63の三重(trinary)[0,1,2]ウィンドウシーケンスであり、gは、前述されたグローバル情報コードパラメータをコーディングする、長さ7の三重[−1,0,1]系列であり、iは位置層での行番号を示すインデックスである。
また、行jがすべてのjについて行j+63と同一であることを保証するために、Riの和は63を法としたゼロでなければならず、giの和は7を法としたゼロでなければならない。
系列Rは長さ63およびウィンドウ4のウィンドウシーケンスである。この例では以下の系列が使用される。
0,0,0,0,1,0,0,0,2,0,0,1,1,0,0,1,2,0,0,2,1,0,0,2,2,0,1,0,1,1,1,0,1,2,1,0,2,1,2,0,1,2,2,0,2,2,2,1,1,1,1,2,1,1,2,2,1,2,1,2,2,2,2
系列Rは走査方向に直角のy軸の方向に続く。それにより情報コードが走査されたレベルでの検出が可能になるため、それはルーラシーケンスと呼ばれる。これにより同様にデータ層の循環性シフトでのデータのコーディング可能になる。このようなコーディングは、一つのシフトの誤差はそのシフトによってコーディングされるデータに影響を及ぼすのみであり、相対シフトでのデータのコーディングに比較して有利となる場合がある。
系列gは、7を法としてゼロに合計するアルファベット[−1,0,1]からの任意の七個のシンボルの系列である。395のこのような系列がある。一つの例が以下の系列である。
1,1、−1,0,1,−1,−1
したがって、それ以外の場合、同一の情報コードを区別する多くの方法がある。グローバルパラメータは、通常、情報コードの復号化を開始するときに直ちに使用可能でなければならない情報をコーディングするために使用されてよい。例えば、それは、いずれの符号化原則がデータ層のデータの背後にあるのかを記すために使用されてよい(例えば、ドットコードが全体的なメッセージまたは一連の短いインスタントメッセージと見なされるのであれば、データはサイクリックリダンダンシーチェック(CRC)によって保護されているのか、存在する場合、埋め込まれているデータはいずれの種類のエラー訂正符号なのか等)。追加の例として、情報コードの方位(水平または垂直)がグローバルパラメータでコーディングされてよく、その結果ユーザは情報コードがいずれの方向に走査されるべきかについて即時フィードバックを得ることができる。
位置決め層20をコーディングするために前記の方程式(1)および前記に示されるようなR系列とg系列を使用すると、位置決め層20のインスタンス間のすべての循環性シフトが間隔[−4,4]に属する。位置決め層のすべての循環性シフトがこの間隔にあるという事実は、さらに後述されるように、情報コードを他の類似したコードから区別するために使用できる。
データ層21は、y軸に平行に続く主系列のインスタンスの循環性シフトsiによって実際のデータメッセージDをコーディングする。
データコーディングは多くの異なった方法で実施されてよい。各主系列は63の異なる循環性シフトを有する。したがって、例えば該循環性シフトは、63の異なる文字またはデータの他の部分をコーディングするために使用できる。しかしながら、さらに詳しく後述されるようにデータDとシフトsi間で異なる変換またはマッピングを実施することも可能である。データDは、印字エラーおよび/または読み取りエラーにさらに耐性を示すために、例えばECC(誤り訂正符号)に埋め込まれてよい。
データ層21はデータのみをコーディングしてよいが、それは情報コードの開始および/または終了を示す一つ以上の境界決定領域もコーディングしてよい。境界決定領域を有する優位点は、ユーザ装置が不完全な情報または二種類の異なるコードからの情報を記録するときに、それが背景または他のコードから情報コードへの遷移での混乱を回避できるという点である。
境界決定領域は、例えば実際の情報コードのグラフィックコーディングとは異なるグラフィックコーディングによって等、異なる方法で区画化されてよい。それらはまた、境界決定領域の符号化のために確保されている特定の循環性シフトによって区画されてもよい。この例では、循環性シフト10と11が、各々開始領域と停止領域の符号化のために確保されている。
情報コードによりコーディングされるメッセージデータDは、さらに所定の長さのブロックに分割されてよい。ブロックへの分割は、データを循環性シフトにマッピングするのに役立つことがある。また、それは、データをいずれの時点で復号化モジュールから他のモジュールへ、あるいは外部装置に送信できるのかを決定するのを容易にする。
すべてのブロックはメッセージデータをコーディングしてよい。一個以上のブロックも、メッセージのヘッダ等の他のデータをコーディングするために使用できる。ヘッダは、例えばCRC(サイクリックリダンダンシーチェック)、ECC、メッセージの長さを示す長さ情報、メッセージがどのような種類のデータを含むのかを示すメッセージタイプID、または通常、復号化プロセスを簡略化できるメッセージについての他の情報を備えてよい。
情報コードは、固定数のデータブロックのある所定の長さを有してよい、あるいはそれは選択可能な長さを有してよい。
ここで、符号化の例が説明される。L個のバイトの未処理データメッセージDを考える。CRC(2バイト)、5を法とする完全なメッセージの長さL(1バイト)、およびコンテンツタイプ(1バイト)を含むヘッダが、5を法とする長さゼロを得るためにゼロがパディングされるメッセージDに付加される。メッセージデータDは各々七個の循環性シフトを使用して符号化される5バイトのブロックに区分化される。これは、61>256であるため機能する。マッピングはベースの変化により行われる、つまり
Figure 2008504598

ここでは、ai<256、およびbi<61であり、a1とb1は非負数である。
完全メッセージ文字列が図4に示されている。境界決定領域は各々少なくとも八個の循環性シフトから成り、ブロック0から5は各々七個の連続シフトを含む。データ層21の中のウィンドウシーケンスのインスタンスの実際のシフトは、63を法として12が加えられるメッセージ文字列の対応する位置のシフトに従って選ばれ、それによって境界決定領域のために確保されていたシフト10と11を回避する。また、審美的な理由から、シフトは、63を法として10xの量でさらにシフトされてよく、ここで、xはシフトのx位置である。位置決め層20は、第一のブロック(ヘッダブロック)の第一のシフトがx位置ゼロであるようにデータ層21と位置合わせされなければならず、その結果ブロックの開始と終了は容易に決定できる。
情報コードは単独で、あるいは他のコードと組み合わせて使用されてよい。前記に示されたように、それは例えば、手書きの電子的な記録を可能にする位置コードと関連して使用できる。
前述された情報コードは、例えば米国第6,667,695号に説明されるような位置コードとともに使用されてよい。この位置コードは、一つがx座標をコーディングし、一つがy座標をコーディングする二つの位置決め層から構成されている。x位置決め層は、y軸に平行な列の中で前述された主系列Mであろうウィンドウシーケンスのインスタンスを配列することによって作成される。インスタンスは、インスタンス間の相対シフトがx軸に沿って続くウィンドウシーケンスを形成するように循環的にシフトされる。y位置決め層は対応するように作成されるが、ウィンドウシーケンスのインスタンスはx軸に平行な行で続く。また、y位置決め層のウィンドウシーケンスインスタンスは、y軸に沿って続くウィンドウシーケンスを作成するために循環的にシフトされる。x位置決め層とy位置決め層は、位置コードの各要素が両方の層の情報を含むように互いの上で重畳される。位置コードは、情報コードの前述された実施形態で使用されるのと同じシンボル、つまり、四つの方向の内の一つでグリッドポイントから変位されるドットによってグラフィックにコーディングできる。この位置コードでは、シンボルの任意の6*6セットが一意の絶対位置を規定する。
位置コードはいわゆる「浮動型」から成る。つまり、所定数のシンボル、ここで、6*6のシンボルを備える任意の部分的なデータが位置を規定し、該任意の部分的な領域内のシンボルの内の少なくともいくつかが複数の位置のコーディングに寄与する。それ以外に述べられると、任意の部分的な領域がグリッド間隔分上方、下方、左または右に移動すると、このようにして得られた任意の部分的な領域内のシンボルによって新しい位置が定められる。
位置コードは、x位置決め層またはy位置決め層における循環性シフトが情報コードの位置決め層に使用される間隔[−4,4]に属さないように形成される。このようにして、情報コードと位置コードは循環性シフトによって区別できる。
情報コードは、ほぼ不定数の用途に使用でき、その内のいくつかのみをここで言及する。
情報コードは、例えば、ユーザ装置によって復号化され、ユーザ装置2の中または別の近傍の装置の中のスピーカによってユーザにもたらされる音声に合成できるであろう音声上の文字列をコーディングするために使用されてもよい。情報は情報コードを走査しているユーザではない別のユーザによって傾聴されるために遠隔装置に送信することもできるであろう。
情報コードは、音楽または一連の音色をコーディングしてもよい。このようなケースでは、情報コードは、例えば五線紙の上の音符に重畳されてよく、その結果、ユーザがユーザ装置で音符に従うことによって情報コードを走査するとき、対応する音色が、ユーザ装置または情報が転送されている別の装置から出力される。
さらに別の応用例は、子供のためのゲームを作成するために情報コードを使用することであろう。情報コードは、例えば、ユーザ装置によって従われる迷路として配列されてよい。ユーザは、迷路に正しく従うと、迷路を横断するときに収集されるメッセージの形式でフィードバックを得る。また、ユーザは、迷路内で間違った順番で行ったときにもフィードバックを得てよい。
情報コードは、さらに、例えば内部更新、ユーザ装置が相互作用する形式または他の文書のレイアウトについての情報、ユーザ装置によって与えられるフィードバックについての情報等の情報をユーザ装置にダウンロードするために使用することもできる。
情報コードは、位置コードによって記録される情報の送信先のアドレスを示すためにも使用できる。それは、例えば、文書のコンテンツの受け入れを確認するためにユーザによって署名される文書での署名欄を構成できるであろう。ユーザが文書に署名したとき、位置層に位置情報によって記録される該電子的に記録された署名はデータ層でコーディングされたアドレスに自動的に送信される。
図5は、図1の製品1で情報コード7を復号化するために使用することができ、図1の製品1の上の位置コード8から手書きの情報を記録するためにも適している図1のペンスタイルのユーザ装置2の実施形態を概略して示している。
ペン2は、それを通って画像が記録されるウインドゥまたは開口部204を形成するペン形状の筺体つまりシェル202を有する。該筺体はカメラシステム、電子システムおよび電源を含む。
カメラシステム206は、少なくとも一個の照明光源、レンズ装置、および光画像読取装置(図1では不図示)を備える。光源、適切には発光ダイオード(LED)またはレーザダイオードは、赤外線によってウインドゥ204を通して見ることができる領域の一部を照明する。見られている領域の画像は、レンズ装置によって画像読取装置に投射される。画像読取装置は、通常は約70Hzから100Hzの固定された速度で画像を捕捉するためにトリガされる二次元CCDまたはCMOS検出器であってよい。
有利なことに、センサデバイス用電源は、代わりに主電源(不図示)によって置き換えられる、または補足されてよい電子208である。
電子システムは、メモリブロック212に接続される制御装置210を備える。制御装置210は、電子ペンの異なる機能に関与し、有利なことにCPU(「中央演算処理装置」)等の市販されているマイクロプロセッサによって、DSP(「デジタル信号プロセッサ」)によって、またはFPGA(「フィールドプログラマブルゲートアレイ」)または代替的にASIC(「特定用途向け集積回路」)等の何らかの他のプログラマブルロジックデバイス、個別のアナログコンポーネントとデジタルコンポーネント、あるいは上記の何らかの組み合わせによって実現できる。メモリブロック212は、好ましくは、ワーキングメモリ(例えば、RAM)とプログラムコード、および固定記憶メモリ(フラッシュメモリ等の不揮発性メモリ)等の異なるタイプのメモリを備える。関連ソフトウェアはメモリブロック212に記憶され、制御装置210によって実行される。情報コードおよび位置コードを復号化するためのソフトウェアは、このようにしてメモリブロック212に記憶されてよく、制御装置210によって実行されてよい。
また、筺体202は、ユーザが、その上に置かれている通常の色素ベースのマーキングインクによって表面に物理的に書き込んだり、描画することを可能にするペン先214も持つ。ペン先214の中のマーキングインクは、適切なことに、電子ペンでの光電子検出との干渉を回避するために照射光に対して透明である。接触センサ216は、いずれの時点でペンが下ろされるのか(ペンダウン)、および/または持ち上げられるのか(ペンアップ)を検出するために、および要すれば作動力の決定を可能とするためにペン先214に動作可能なように接続される。接触センサ216の出力に基づき、カメラシステム206はペンダウンとペンアップの間で画像を捕捉するために制御される。
電子システムは、さらに、コンピュータ、携帯電話、PA、ネットワークサーバ等の近傍の装置または遠隔装置へのデータの通信のための通信インタフェース218を備える。通信インタフェース218は、このようにして有線または無線の短距離通信(例えば、USB、RS232、無線、赤外線送信、超音波送信、誘導結合等)にコンポーネントを、および/または通常はコンピュータ、電話、または衛星通信ネットワークを介して有線または無線の遠隔通信にコンポーネントを提供してよい。
ペンは、ユーザフィードバックのために選択的に活性化されるMMI(マンマシンインタフェース)も含んでよい。MMIはディスプレイ、インジケータランプ、バイブレータ、スピーカ等を含んでよい。
さらに、ペンは、それを活性化および/または制御できるようにする一個以上のボタンを含んでよい。
ユーザ装置2の前述された実施形態は言うまでもなく例に過ぎない。ユーザ装置2は、意図された機能に応じて別の外観または他のコンポーネントを有してよい。
ユーザ装置2の前述された実施形態はさらに、位置コード上での移動中のペンの位置を連続して記録することによって図1の製品1上の位置コード8に対して行われるペンストロークを電子的に記録するため、および情報コード7から情報を記録するための両方に使用されることを目的とする。
ユーザ装置2が情報コード7を記録するためだけに使用されなければならない場合、それは違うように設計されてよい。それは例えばペン先を必要としない。
ユーザ装置が情報コード7を記録するために使用されるときには、ユーザは任意の高さで情報コードのx軸に沿ってそれを移動する。移動中、ユーザ装置は情報コードの部分領域の画像を記録する。部分領域は情報コードの全高をカバーする必要はなく、その一部だけをカバーする必要がある。走査速度に応じて、画像は走査方向でさらに多くまたはさらに少ない重複コンテンツを有する。しかしながら、位置決め層に応じて、実質的には重複は必要とされないが、データメッセージが完全に再現可能であるために、データ層のウィンドウシーケンスのあらゆるインスタンスの一部が記録される必要がある。
次に、一つの画像の中に見られる情報コードの一部の復号化がどのように実施されてよいのかを示す例が、図6に関して説明される。
復号化は、ユーザ装置2で、さらに詳細には、ステップ600情報コードの画像を受信する復号化モジュールで実施される。画像は情報コードの部分領域の表現である。それは、例えば10×10個のシンボルつまりドットを備えてよい。
次のステップ602では、画像は異なるドットの値を求めるために処理される。この処理は、前述された米国第6,667,695号に開示されている位置コードに関して対応するように実施されてよく、データ層はx座標層に相当し、位置決め層はy座標層に相当する。したがって、それはここでは詳しく説明しない。あえて言えば、処理はドットの局所化、視野の決定、およびグリッドの決定を含んでよく、それは一つが位置決め層の結像された部分に相当し、一つがデータ層の結像された部分に相当する二つのオフセット確率行列(OPM)を生じさせる。OPMは、ドットごとに、および該ドットが表現してよい値ごとに、該ドットがその値を表現する確率を示す。これらのステップをどのようにして実施できるのかについての追加詳細は、すべてが本願の譲受人に譲渡されている、例えば米国第2003/0053699号、米国第2003/0189664号、米国第2003/0118233号、米国2002/0044138号、米国第6,667,695号、米国第6,732,927号、米国2003/0122855号、米国第2003/0128194号に記載されている。
情報コードの画像は主系列のコーディングされた部分列を含む。長さ6の各部分列は主系列内に所定の位置を有する。この位置が該部分列の系列値を構成する。OPMが確立されると、画像の中で見られる異なる部分列の系列値がテーブル検索または主系列に対する相関によって決定されてよい。系列値は、もしそれが正しい回転から0度、90度、180度または270度回転される場合にユーザ装置2にとっては同じに見える情報コードの回転を決定するために使用されてよい。さらに詳細には、回転は、四つすべての回転(0度、90度、180度および270度)で位置決め層とデータ層の両方から8ビットの部分列を研究し、主系列Mには8ビットの部分列は逆転または反転されて現れないという事実を活用することによって決定されてよい。この種のコードに回転がどのようにして決定されてよいのかを示すさらに詳しい説明は米国第6,732,927号に記載されている。
ユーザは幾分かは情報コード上で直線に沿ってユーザ装置を移動させると仮定できるため、回転は、画像ごとに決定されてよいが、必ずしも決定される必要はない。したがって、回転を決定するステップは図6のフローチャートには含まれていない。
いったん正しい回転が決定されると、いずれ層が位置決め層であり、いずれの層がデータ層であるのかについても明確となることが言及されるべきである。
系列値が求められると、ユーザ装置は、それらの系列値の差異を求めることによって、位置決め層の画像の中に見られる部分列間の相対的な循環性シフトを決定する。位置決め層の主系列の二つの隣接するインスタンスの中の対応する水平位置から取られる長さ6の二つの部分列の二つの系列値の差異は、これらの二つの隣接するインスタンスの循環性シフト、つまり相対的な循環性シフトの場合と同じであることが理解される。
続くステップ606では、位置決め層の相対的な循環性シフトの内の一つ以上が位置コードで使用される相対的な循環性シフトのグループに属するのか、あるいは情報コードで使用される相対的な循環性シフトのグループに属するのかについてチェックされる。所定数の相対的なシフトが第一のグループに属する場合、該コードは位置コードであり、復号化は位置コードに使用される復号化アルゴリズムに従って進む、ステップ608と結論される。
それ以外の場合、コードは情報コードであり、処理は、ルーラ値Riと、復号化された相対的な循環性シフトに対応するグローバル情報コード値giが前記方程式(1)に従って求められるステップ610に進むと仮定される。
七個のグローバル情報コード値giは、ともに、第一の画像の情報コードが復号化されるとすぐにユーザ装置が使用できるであろうグローバル情報コードパラメータを定める。
ルーラシーケンスは、ウィンドウ4であるウィンドウシーケンスであり、その結果ルーラシーケンスの長さ4の部分列が知られるとすぐに、ルーラシーケンスR内の、したがってy軸に沿った位置が知られるため、四個のルーラ値Riはともにy座標を定める。いったんy座標が確立されると、異なる行(異なるy座標)の主系列のシフトが知られるため、ステップ612、x座標はx方向に続く主系列の長さ6の部分列からも求めることができる。
次に、ステップ614では、データ層のデータが決定される。y座標は既知であるため、データ層の画像部分領域内の異なる部分列のシフトを決定できる。シフトにはタイムスタンプが押され、対応するx位置によれば、ユーザ装置のメモリ内のデータ構造に記憶されてよい、ステップ616。シフトが10または11である場合、境界決定領域が検出された旨を示す信号が、別のモジュールまたは図7に示されるプロセス等のプロセスに出力されてよい。
ユーザ装置が画像内のすべての情報、あるいは許容できる品質である画像のそれらの部分内の少なくともすべての情報を復号化しようとすることが留意されなければならない。
次の画像は対応するように処理される。しかしながら、次の画像は、サイズが、ユーザが情報コード上でユーザ装置をどのくらい速く動かすかに依存する前記画像との部分的な重複とともに記録されてよい。したがって、x方向の特定の位置の場合、シフトはすでに記憶されている可能性がある。その場合、重複はすでに記憶されているシフトの正しさをチェックするために使用できる。また、画像の質が異なる可能性がある。その場合、最高の画質から生じるシフトを選択できる。複数の画像が重複するコンテンツを有する場合、過半数の票は、いずれのシフトが最終的にデータ構造に記憶されなければならないのかを決定するために使用できる。
図7では、情報コード全体の復号化が概略で示されている。最初に、ステップ700では、画像は、それが情報コードの上で移動される間にユーザ装置2によって記録され、各々の画像の中の情報コードは図6に関して前述されているとおりに復号化される。
次に、ステップ702では、情報コードの開始と終了を記す、二つの境界決定領域が検出されたか否かがチェックされる。検出されない場合は、チェックが繰り返される。
情報コードの両方の境界決定領域とも検出されたときには、情報コードのすべてのブロックが連続して記録されたか否かがチェックされる、ステップ704。タイムスタンプはこの目的に使用されてよい。一つ以上のブロックが欠けている場合、エラー信号が出力される、ステップ706。情報コードが、ユーザ装置が設計されているより高速の走査速度で操作されると、ブロックは、例えば見失われる可能性がある。すべてのブロックが正しく記録された場合には、プロセスは、記録されたシフトがヘッダデータとメッセージデータDに変換されるステップ708に進み、ヘッダデータはメッセージデータDの復号化に使用される。続くステップ710では、CRCがチェックされる。正しくない場合、エラー信号が出力される、ステップ712。それ以外の場合、復号化されたメッセージデータDは、EECが使用された場合には、おそらくアンパック(解凍、復元)された後に、追加の処理およびユーザへのフィードバックのためにユーザ装置内の別のモジュールに報告されてよい。
復号化プロセスの前記の例は、メッセージデータDが報告される前に、情報コードはその全体が複合化されなければならないと仮定している。他のタイプの情報コードでは、各データブロックのメッセージデータは、ブロックが全体として受信されるとすぐに報告される。使用されるメッセージデータ報告の種類は、例えば、グローバル情報コードパラメータで示されてよい。
情報コードの復号化はユーザ装置で、あるいは情報コードの画像の送信先である別の装置で行われてよい。それは、ソフトウェアまたはハードウェアで、あるいはこの目的のために設計されたその組み合わせで実施されてよい。復号化ソフトウェアはコンピュータ読取可能媒体の上に、あるいはユーザ装置2の中のメモリブロック212内等のコンピュータメモリ内の内部に記憶されてよい。それは電気的な搬送波信号上で搬送されてもよい。
情報コードのコーディングは、図8の流れずに概略して示されている。
最初に、情報コードのグローバル情報コードパラメータがステップ800で選択される。
次に、ステップ802では、位置決め層20は、前記の方程式(1)に従って主系列のインスタンスをシフトすることによって、所定の主系列Mと所定のルーラシーケンスRを活用してコーディングされる。
次に、データ層21がコーディングされる。このステップ804は、前記の方程式(2)に従って5バイトデータのグループを七個の循環性シフトのブロックに変換することと、第一の所定のシフトを有するインスタンスのある開始領域、ヘッダデータに応じてシフトを有するインスタンスのあるヘッダブロック、メッセージデータに応じてシフトを有するインスタンスのあるメッセージブロック、および第二の所定のシフトを有するインスタンスのある停止領域を形成するために主系列のインスタンスをシフトすることとを備える。
最後に、位置層20とデータ層21は、例えば変位されたドットによってコーディングされる情報コード7に結合される、ステップ806。異なる値をコーディングするために違うように回転される、例えばスラッシュ、あるいは異なる値をコーディングするために異なる形式またはサイズまたは色を有する他のマーク等の他のタイプのグラフィックシンボルも使用されてよい。例えば、情報コードが浮動型ではない場合等に、さらに複雑なシンボルも使用されてよい。
情報コードは、プリンタによって処理され、例えば用紙上に印字できるであろうフォーマットで直ちに、または後にフォーマットされてよい。それは、ベースに他の方法で適用することもできる。
情報コードのコーディングは、ソフトウェア内またはハードウェア内、あるいはその任意の組み合わせで実施されてよい。復号化ソフトウェアについて前述された内容は、コーディングソフトウェアにも当てはまる。
前述された内容は、それに従った主系列のインスタンスが位置決め層とデータ層内で異なる方向に続く、情報コードの実施形態である。しかしながら、同じ方向に続くインスタンスを有することも考えられる。このような実施形態によれば、データはデータ層のウィンドウシーケンスのインスタンスの間の相対的な循環性シフト内でコーディングされるであろう。また、ルーラシーケンスは、位置決め層のウィンドウシーケンスのインスタンス間の循環性シフトでコーディングされるであろう。この実施形態では、情報コードの正しい回転は、x方向とy方向両方で情報コードを読み取ることによって決定することができ、主系列のインスタンスが統計に基づいていずれの方向に続くのかを確立できる。
前述された実施形態では、位置層は周期的な63*63位置決め面をコーディングする。情報コードの読み取り方向で実質的に無限となるであろう位置決め面を作成する一つの方法は、追加の位置情報を提供し、位置決め面の異なる期間を区別するために各データブロック内に一個以上のビットを確保することであろう。データブロックが追加の位置情報を含んでいる旨の表示はグローバル情報コードパラメータでコーディングできる。情報コードが読み取り方向の非周期的な位置情報を含む場合、情報コードの複数の走査が可能になり、その結果第一の走査で欠けている情報の部分を次の走査で記録できる。
周期的な位置決め面を用いると、複数の走査も可能になる。情報の各部の位置は、周期的な63*63の位置決め面のある前述された例では、63を法として既知である。一個の情報に複数の代替の位置がある場合、正しい位置はマッチングにより決定できる。
前述の実施形態では、位置層の相対的なシフトが、意図されている走査方向に直角な位置を示すルーラシーケンスR、およびグローバル情報パラメータシーケンスgをコーディングする。別の実施形態では、位置層の相対的なシフトはルーラシーケンスのみをコーディングしてよい。さらに別に実施形態では、相対的なシフトは非位置情報のみをコーディングしてよい。このケースでは、データ層のデータは相対的なシフトでコーディングされてよい。
情報コードを使用できるシステムを示す。 情報コードに結合される位置決め層とデータ層を示す。 情報コードの中の要素がどのようにしてグラフを使ってコーディングできるかの例を示す。 情報コードがどのようにして構造化されてよいかを示す。 情報コードを復号化するために使用できるユーザ装置を示す。 情報コードの部分領域の画像がどのようにして処理されてよいのかを描くフローチャートである。 メッセージがどのようにして情報コードから復号化されてよいのかを描くフローチャートである。 情報コードがどのようにしてコーディングされてよいのかを描くフローチャートである。

Claims (27)

  1. 位置決め層の中の位置情報をコーディングし、個別のデータ層の中の任意の非位置データをコーディングし、該位置決め層と該データ層をベース上に配列される情報コードに結合することと、
    を備えるデータを記憶する方法。
  2. 該位置決め層によってコーディングされる位置情報が、二次元に関連する位置情報を備える請求項1に記載の方法。
  3. ウィンドウシーケンスの循環的にシフトされるインスタンスの行列を形成することにより該データ層の該データをコーディングし、該循環性シフトのサイズがコーディングされる該データに依存することと、
    をさらに備える請求項1または2に記載の方法。
  4. 該インスタンスの該循環性シフトで該データをコーディングすることと、
    をさらに備える請求項3に記載の方法。
  5. ウィンドウシーケンスの循環的にシフトされたインスタンスの行列を形成することにより該位置決め層の中の該位置情報をコーディングし、該循環性シフトのサイズがコーディングされる該位置情報に依存することと、
    をさらに備える請求項1から4のいずれか一項に記載の方法。
  6. 一次元に関連する該位置情報が、該インスタンス間の相対的な循環性シフトでコーディングされる請求項5に記載の方法。
  7. 該位置決め層行列の該インスタンス間の相対的な循環性シフトでルーラウィンドウシーケンスをコーディングすることにより、一次元に関連する該位置情報をコーディングすることと、
    をさらに備える請求項5に記載の方法。
  8. 該インスタンス間の相対的な循環性シフトが該位置決め層行列を形成するために使用される該ウィンドウシーケンスの該インスタンスの考えられるすべての相対的な循環性シフトの所定の部分集合に属するように、該位置決め層行列の中の該ウィンドウシーケンスの前記インスタンスを循環的にシフトすることと、
    をさらに備える請求項5から8のいずれか一項に記載の方法。
  9. 該位置決め層の中のグローバル情報コードパラメータを、それが該位置決め層の中のいずれかにおいて復号化可能となるようにコーディングすることと、
    をさらに備える前記請求項のいずれか一項に記載の方法。
  10. 該位置決め層行列の中の該ウィンドウシーケンスの該インスタンス間の相対的な循環性シフトで、それが該位置決め層の中のいずれかにおいて復号化可能となるようにグローバル情報コードパラメータをコーディングすること、
    をさらに備える請求項5に記載の方法。
  11. 所定のサイズのデータ層ブロック内のデータ層のデータをコーディングすることと、
    をさらに備える前記請求項の内のいずれか一項に記載の方法。
  12. 所定の固定された循環性シフトによって該境界決定領域の中の該ウィンドウシーケンスの該インスタンスを循環的にシフトすることによって該データ層内の少なくとも一つの境界決定領域をコーディングすることと、
    をさらに備える請求項3に記載の方法。
  13. 該情報コードが一次元情報コードである前記請求項の内のいずれか一項に記載される方法。
  14. 該位置情報と該データの両方ともがウィンドウシーケンスを使用することによってコーディングされる前記請求項の内のいずれか一項に記載の方法。
  15. コンピュータに請求項1から14のいずれか一項に記載の方法を実行させるためのプログラム命令を備えるコンピュータプログラム。
  16. ベースと、位置層コーディング位置情報と、データ層コーディングの任意の非位置データとを備える、該ベース上の情報コードとを備える製品。
  17. 該情報コードが、ウィンドウシーケンスの循環的にシフトされたインスタンスにより形成される少なくとも一つの行列を備え、隣接するインスタンス間の該相対的な循環性シフトが該情報コードの前記インスタンスの考えられるすべての相対的な循環性シフトの第一の部分集合に排他的に属し、該製品が該情報コードとは個別であり、ウィンドウシーケンスの循環的にシフトされたインスタンスにより形成される少なくとも一つの行列を備える位置コードをさらに備え、隣接するインスタンス間の該相対的な循環性シフトが該位置コードの該ウィンドウシーケンスの前記インスタンスの考えられるすべての相対的な循環性シフトの第二の部分集合に排他的に属し、前記第一の部分集合と第二の部分集合が相互に排他的である請求項16に記載の製品。
  18. 該情報コードの部分領域の表現を受信することと、
    部分領域位置決め層の中の該部分領域の中の該情報コードと、部分領域データ層を分離することと、
    該部分領域位置決め層から位置情報を復号化することと、
    該部分領域データ層から任意の非位置データを復号化することと、
    を備える情報コードを復号化する方法。
  19. 該部分領域位置決め層から位置情報を使用することにより、該データが該部分領域データから復号化される請求項18に記載の方法。
  20. 該データ層がウィンドウシーケンスのインスタンスの行列を備え、前記インスタンスが循環的にシフトされ、該部分領域データ層と関連付けられている該ウィンドウシーケンスのそれらのインスタンスの該循環性シフトを決定することにより該データを復号化することをさらに備える請求項18に記載の方法。
  21. 該循環性シフトが、該部分領域位置決め層からの位置情報によって決定される請求項20に記載の方法。
  22. 該部分領域位置決め層から復号化される該位置情報と関連して、該部分領域データ層から該復号化されたデータを記憶することをさらに備える請求項18から21のいずれか一項に記載の方法。
  23. 該部分領域データ層と関連付けられる該ウィンドウシーケンスのインスタンスが、境界決定領域を示す所定の循環性シフトを有することを検出することによって、該受信された部分領域が境界決定領域を備えると判断することをさらに備える請求項18から22のいずれか一項に記載の方法。
  24. 該位置決め層が、ウィンドウシーケンスのインスタンスの行列を備え、前記インスタンスが循環的にシフトされ、該部分領域位置決め層と関連付けられている該ウィンドウシーケンスのインスタンス間の相対的な循環性シフトを決定することにより第一の方向に関連する該位置情報を復号化するステップをさらに備える請求項18から23のいずれか一項に記載の方法。
  25. 該位置決め層がウィンドウシーケンスのインスタンスの行列を備え、前記インスタンスが循環的にシフトされ、該部分領域位置決め層と関連付けられている該ウィンドウシーケンスのインスタンス間の相対的な循環性シフトを決定することによりグローバル情報コードパラメータを復号化するステップをさらに備える請求項18から23のいずれか一項に記載の方法。
  26. コンピュータに、請求項18から25のいずれか一項に記載の方法を実行させるためのプログラム命令を備えるコンピュータプログラム。
  27. 該情報コードの部分領域の表現を受信し、部分領域位置決め層の中の該部分領域の該情報コードと、部分領域データ層とを分離し、該部分領域位置決め層から位置情報を復号化し、該部分領域データ層から任意の非位置データを復号化するように装置されるプロセッサを備える、情報コードを復号化するためのデバイス。
JP2007518009A 2004-06-28 2005-06-23 データのコーディングおよび復号化 Expired - Fee Related JP4996461B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US58286104P 2004-06-28 2004-06-28
SE0401647A SE0401647D0 (sv) 2004-06-28 2004-06-28 Coding and decoding of data
SE0401647-3 2004-06-28
US60/582,861 2004-06-28
PCT/SE2005/000992 WO2006001769A1 (en) 2004-06-28 2005-06-23 Coding and decoding of data

Publications (3)

Publication Number Publication Date
JP2008504598A true JP2008504598A (ja) 2008-02-14
JP2008504598A5 JP2008504598A5 (ja) 2012-03-01
JP4996461B2 JP4996461B2 (ja) 2012-08-08

Family

ID=39124618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007518009A Expired - Fee Related JP4996461B2 (ja) 2004-06-28 2005-06-23 データのコーディングおよび復号化

Country Status (2)

Country Link
JP (1) JP4996461B2 (ja)
TW (1) TW200725423A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200919299A (en) * 2007-08-01 2009-05-01 Silverbrook Res Pty Ltd Handheld scanner for coded surfaces
TWI397013B (zh) * 2008-09-26 2013-05-21 Elan Microelectronics Corp The dot code pattern and the dot code group pattern and the image processing circuit of the density coding type

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195536A (ja) * 1999-11-13 2001-07-19 Colorzip Media Inc コード及びコードのエンコーディング/デコーディング方法及び装置
JP2003511762A (ja) * 1999-10-01 2003-03-25 アノト・アクティエボラーク 位置決定−演算
WO2003065301A1 (en) * 2002-01-30 2003-08-07 Rf Saw Components, Incorporated Reader for a high information capacity saw identification tag and method of use thereof
JP2004094907A (ja) * 2002-07-10 2004-03-25 Ricoh Co Ltd 2次元コードパターン、2次元コードパターンを担持するパターン担持媒体、2次元コードパターンの生成方法、2次元コード読取装置および読取方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511762A (ja) * 1999-10-01 2003-03-25 アノト・アクティエボラーク 位置決定−演算
JP2001195536A (ja) * 1999-11-13 2001-07-19 Colorzip Media Inc コード及びコードのエンコーディング/デコーディング方法及び装置
WO2003065301A1 (en) * 2002-01-30 2003-08-07 Rf Saw Components, Incorporated Reader for a high information capacity saw identification tag and method of use thereof
JP2004094907A (ja) * 2002-07-10 2004-03-25 Ricoh Co Ltd 2次元コードパターン、2次元コードパターンを担持するパターン担持媒体、2次元コードパターンの生成方法、2次元コード読取装置および読取方法

Also Published As

Publication number Publication date
TW200725423A (en) 2007-07-01
JP4996461B2 (ja) 2012-08-08

Similar Documents

Publication Publication Date Title
JP4982486B2 (ja) 位置および情報の符号を組み合わせるための方法およびシステム
KR101119310B1 (ko) 데이터의 코딩 및 디코딩
JP4966464B2 (ja) 集中型情報管理
JP4778651B2 (ja) 位置の決定
JP4769901B2 (ja) 光学読取り用の符号化用紙
JP4707395B2 (ja) 冗長な情報を含む情報コード
JP2010102723A (ja) 位置コードを達成し且つ位置コードをデコーディングするための方法
KR101819076B1 (ko) 광학 펜을 이용한 절대 위치와 기타 정보용 도트 코드 패턴, 도트 코드 프린팅 방법, 및 도트 코드 읽는 방법
JP4996461B2 (ja) データのコーディングおよび復号化
JP4985436B2 (ja) 位置検出装置及びプログラム
JP2008504598A5 (ja)
CN1413322A (zh) 借记卡购物
US20080235282A1 (en) Personal Computing Apparatus and a Method Therein
JP2012063957A (ja) 画像処理装置、識別装置、電子筆記具及びプログラム
JP4934669B2 (ja) 非ペンストロークデータの転送に関する方法および装置
JP2012065124A (ja) 画像処理装置、識別装置及びプログラム
TWI401607B (zh) 編碼與解碼方法及裝置
JP5125547B2 (ja) 画像生成装置、画像処理装置、プログラム、及び印刷媒体
JP2009181341A (ja) 位置検出装置及びプログラム
JP5098441B2 (ja) 画像処理装置及びプログラム
JP2008301120A (ja) 画像処理装置、画像生成装置、及びプログラム
JP2009181363A (ja) 画像処理装置、画像生成装置、及びプログラム
JP2009176249A (ja) 画像生成装置、画像処理装置、プログラム、及び印刷媒体
JP2009176251A (ja) 画像処理装置及びプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071016

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111004

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111012

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111111

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111207

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120104

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: 20120417

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: 20120511

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4996461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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