(57)【要約】【課題】記録媒体上に単位画像を形成することで埋め込まれた情報の取得に用いる符号パターン画像が回転していても、その角度を検出する。【解決手段】符号パターン画像を取得する画像取得部２０と、符号パターン画像からノイズを除去するノイズ除去部２１と、符号パターン画像からドット位置を検出するドット位置検出部２２と、ドット間距離が特に短いドット対を基準ドット対として検出する基準ドット対検出部２３と、基準ドット対の傾きに基づいて符号パターン画像の回転角度を検出する角度検出部２６と、検出したドット位置や回転角度等の情報に基づいて符号パターン画像を復号し所定の情報を出力する復号部２７とを備えた。【選択図】図８
2008107996.tif 000002
【特許請求の範囲】
【請求項１】
互いに直交する２つの方向に所定の間隔で配列されたＭ箇所（Ｍ≧４）の基準位置にＮ個（２≦Ｎ＜Ｍ）の単位画像を選択的に配置した符号パターン画像を、当該符号パターン画像が形成された記録媒体表面から取得する画像取得手段と、
前記所定の間隔と前記画像取得手段が取得した前記符号パターン画像に含まれる前記単位画像それぞれの位置とに基づいて、対を成す当該単位画像の組み合わせを検出する組み合わせ検出手段と、
前記組み合わせ検出手段が検出した前記組み合わせを構成する前記単位画像を結ぶ直線の傾きに基づいて、前記符号パターン画像の回転角度を検出する角度検出手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記組み合わせ検出手段は、複数の前記単位画像のそれぞれから最も近い単位画像までの距離の分布に基づいて、複数の前記組み合わせを検出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記角度検出手段は、複数の前記組み合わせのそれぞれを構成する前記単位画像を結ぶ直線の傾きを表す角度のばらつきが最も小さくなる当該角度を前記回転角度として検出することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記組み合わせを構成する前記単位画像の間隔と前記回転角度とに基づいて生成された仮想格子に前記単位画像が配置されたそれぞれの位置を対応させ、当該仮想格子内での当該単位画像の有無に応じた２次元配列を生成する２次元配列生成手段と、
前記２次元配列生成手段が生成した前記２次元配列に基づいて、前記符号パターン画像を構成しかつ所定の情報を表す区画を複数検出する区画検出手段と、
前記区画検出手段が検出した複数の前記区画に基づいて前記所定の情報を取得する情報取得手段と、
を更に備えることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記符号パターン画像は、前記記録媒体または当該記録媒体上に形成される文書情報を識別する識別情報と、当該記録媒体上の位置または当該記録媒体上に形成される文書情報の位置を識別する位置情報との、少なくとも何れか一方を前記所定の情報として含むことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記単位画像は、赤外領域に吸収波長を持つ不可視の画像形成材料を用いて形成され、
前記画像取得手段は、前記記録媒体に赤外光を照射することにより前記符号パターン画像を取得することを特徴とする請求項１記載の画像処理装置。
【請求項７】
コンピュータに、
互いに直交する２つの方向に所定の間隔で配列されたＭ箇所（Ｍ≧４）の基準位置にＮ個（２≦Ｎ＜Ｍ）の単位画像を選択的に配置した符号パターン画像を、当該符号パターン画像が形成された記録媒体表面から取得する機能と、
前記所定の間隔と前記取得する機能に取得させた前記符号パターン画像に含まれる前記単位画像それぞれの位置とに基づいて、対を成す当該単位画像の組み合わせを検出する機能と、
前記組み合わせを検出する機能が検出した前記組み合わせを構成する前記単位画像を結ぶ直線の傾きに基づいて、前記符号パターン画像の回転角度を検出する機能と、
を実現させるためのプログラム。
【請求項８】
前記組み合わせを検出する機能は、複数の前記単位画像のそれぞれから最も近い単位画像までの距離の分布に基づいて、複数の前記組み合わせを検出することを特徴とする請求項７記載のプログラム。
【請求項９】
前記回転角度を検出する機能は、複数の前記組み合わせのそれぞれを構成する前記単位画像を結ぶ直線の傾きを表す角度のばらつきが最も小さくなる当該角度を前記回転角度として検出することを特徴とする請求項７記載のプログラム。
【請求項１０】
前記コンピュータに、
前記組み合わせを構成する前記単位画像の間隔と前記回転角度とに基づいて生成された仮想格子に前記単位画像が配置されたそれぞれの位置を対応させ、当該仮想格子内での当該単位画像の有無に応じた２次元配列を生成する機能と、
前記生成する機能が生成した前記２次元配列に基づいて、前記符号パターン画像を構成しかつ所定の情報を表す区画を検出する機能と、
前記区画を検出する機能が検出した前記複数の区画に基づいて前記所定の情報を取得する機能と、
を更に実現させることを特徴とする請求項７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、及びこれを制御するプログラムに関する。
【背景技術】
【０００２】
出力用紙等の記録媒体上に位置情報等を埋め込んでおき、記録媒体上の部分画像をペン型読取装置で読み取り部分画像から位置情報等を取得する従来技術は知られていた（例えば、特許文献１、及び特許文献２参照）。
【０００３】
この特許文献１の符号パターン画像処理装置等では、印刷文書の平面において、第１の２次元コードは複数の黒ドットで構成される光学的に読み取り可能なコードであり、縦横に規則的に配列された黒ドットを境界としてマトリクス状に並べられており、印刷文書の印刷時には文書と２次元コードのパターンが同時に印刷される。この２次元コードは水平２ｍｍ、垂直３ｍｍ角の大きさを有している。また、この２次元コードはコードの上下方向を表すためのパターンを有しており、このパターンはコードの上下を判別するのに使用される。
【０００４】
また、この特許文献２の符号パターン画像処理装置等では、コードパターンは、関連付けられた座標をもつ複数のマークからなり、各マークは、基準位置に配置されるが、そのマーク値に従って、複数のうち１つの方向に向けてこの基準位置からずらされている。基準位置は、仮想ラスタのラスタ点を形成し、ラスタ点は、第１の角度で交差するラスタ線上に位置する。そして、最初に、第１ベクトルＶ１２が、１又は複数のマークの座標ｍ１、ｍ２に基づいて決定され、このとき第１ベクトルは、第１及び第２のラスタ点ｇ１、ｇ２の間に概略伸びている。続いて、第２ベクトルが決定され、これが、前記第１ベクトルに対する前記角度を作り、第１ベクトルと同じ長さであり、第２のラスタ点から概略第３のラスタ点に向けて伸びている。第３のラスタ点に関連付けられたマークが決定され、その後、第３のラスタ点の実際の座標が、第３のマークの座標とその値に基づいて計算される。実際の座標は記憶され、後に、次のベクトルを計算するための開始位置として使用される。このようにしてラスタ点が１つずつ決定され、順次、マークを備えた表面に渡って進められる。
【０００５】
【特許文献１】特開２００６−８５６７９号公報（第７−８頁、第３図）
【特許文献２】特表２００３−５１１７６３号公報（第６−７頁、第７、８図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、記録媒体上に単位画像を形成することで埋め込まれた情報の取得に用いる符号パターン画像が回転していても、その角度を検出することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、
互いに直交する２つの方向に所定の間隔で配列されたＭ箇所（Ｍ≧４）の基準位置にＮ個（２≦Ｎ＜Ｍ）の単位画像を選択的に配置した符号パターン画像を、当該符号パターン画像が形成された記録媒体表面から取得する画像取得手段と、
前記所定の間隔と前記画像取得手段が取得した前記符号パターン画像に含まれる前記単位画像それぞれの位置とに基づいて、対を成す当該単位画像の組み合わせを検出する組み合わせ検出手段と、
前記組み合わせ検出手段が検出した前記組み合わせを構成する前記単位画像を結ぶ直線の傾きに基づいて、前記符号パターン画像の回転角度を検出する角度検出手段と、
を備えることを特徴とする画像処理装置である。
請求項２に記載の発明は、
前記組み合わせ検出手段は、複数の前記単位画像のそれぞれから最も近い単位画像までの距離の分布に基づいて、複数の前記組み合わせを検出することを特徴とする請求項１記載の画像処理装置である。
請求項３に記載の発明は、
前記角度検出手段は、複数の前記組み合わせのそれぞれを構成する前記単位画像を結ぶ直線の傾きを表す角度のばらつきが最も小さくなる当該角度を前記回転角度として検出することを特徴とする請求項１記載の画像処理装置である。
請求項４に記載の発明は、
前記組み合わせを構成する前記単位画像の間隔と前記回転角度とに基づいて生成された仮想格子に前記単位画像が配置されたそれぞれの位置を対応させ、当該仮想格子内での当該単位画像の有無に応じた２次元配列を生成する２次元配列生成手段と、
前記２次元配列生成手段が生成した前記２次元配列に基づいて、前記符号パターン画像を構成しかつ所定の情報を表す区画を複数検出する区画検出手段と、
前記区画検出手段が検出した複数の前記区画に基づいて前記所定の情報を取得する情報取得手段と、
を更に備えることを特徴とする請求項１記載の画像処理装置である。
請求項５に記載の発明は、
前記符号パターン画像は、前記記録媒体または当該記録媒体上に形成される文書情報を識別する識別情報と、当該記録媒体上の位置または当該記録媒体上に形成される文書情報の位置を識別する位置情報との、少なくとも何れか一方を前記所定の情報として含むことを特徴とする請求項４記載の画像処理装置である。
請求項６に記載の発明は、
前記単位画像は、赤外領域に吸収波長を持つ不可視の画像形成材料を用いて形成され、
前記画像取得手段は、前記記録媒体に赤外光を照射することにより前記符号パターン画像を取得することを特徴とする請求項１記載の画像処理装置である。
請求項７に記載の発明は、
コンピュータに、
互いに直交する２つの方向に所定の間隔で配列されたＭ箇所（Ｍ≧４）の基準位置にＮ個（２≦Ｎ＜Ｍ）の単位画像を選択的に配置した符号パターン画像を、当該符号パターン画像が形成された記録媒体表面から取得する機能と、
前記所定の間隔と前記取得する機能に取得させた前記符号パターン画像に含まれる前記単位画像それぞれの位置とに基づいて、対を成す当該単位画像の組み合わせを検出する機能と、
前記組み合わせを検出する機能が検出した前記組み合わせを構成する前記単位画像を結ぶ直線の傾きに基づいて、前記符号パターン画像の回転角度を検出する機能と、
を実現させるためのプログラムである。
請求項８に記載の発明は、
前記組み合わせを検出する機能は、複数の前記単位画像のそれぞれから最も近い単位画像までの距離の分布に基づいて、複数の前記組み合わせを検出することを特徴とする請求項７記載のプログラムである。
請求項９に記載の発明は、
前記回転角度を検出する機能は、複数の前記組み合わせのそれぞれを構成する前記単位画像を結ぶ直線の傾きを表す角度のばらつきが最も小さくなる当該角度を前記回転角度として検出することを特徴とする請求項７記載のプログラムである。
請求項１０に記載の発明は、
前記コンピュータに、
前記組み合わせを構成する前記単位画像の間隔と前記回転角度とに基づいて生成された仮想格子に前記単位画像が配置されたそれぞれの位置を対応させ、当該仮想格子内での当該単位画像の有無に応じた２次元配列を生成する機能と、
前記生成する機能が生成した前記２次元配列に基づいて、前記符号パターン画像を構成しかつ所定の情報を表す区画を検出する機能と、
前記区画を検出する機能が検出した前記複数の区画に基づいて前記所定の情報を取得する機能と、
を更に実現させることを特徴とする請求項７記載のプログラムである。
【発明の効果】
【０００８】
請求項１の発明は、記録媒体上に単位画像を形成することで埋め込まれた情報の取得に用いる符号パターン画像が回転していても、その角度を検出できるという効果を有する。
請求項２の発明は、本構成を有していない場合に比較して、符号パターンの回転角度を検出するために用いられる単位画像の組み合わせの的確性が高まるという効果を有する。
請求項３の発明は、本構成を有していない場合に比較して、符号パターンの回転角度の検出の精度が高まるという効果を有する。
請求項４の発明は、符号パターン画像から情報を取得することができるという効果を有する。
請求項５の発明は、記録媒体または記録媒体上に形成される文書情報を識別する識別情報と、記録媒体上の位置または記録媒体上に形成される文書情報の位置を識別する位置情報との、少なくとも何れか一方を、符号パターン画像から取得することができるという効果を有する。
請求項６の発明は、記録媒体に形成された文書内容の判読性を下げることなく、符号パターン画像を取得できるという効果を有する。
請求項７の発明は、記録媒体上に単位画像を形成することで埋め込まれた情報の取得に用いる符号パターン画像が回転していても、その角度を検出できるという効果を有する。
請求項８の発明は、本構成を有していない場合に比較して、符号パターンの回転角度を検出するために用いられる単位画像の組み合わせの的確性が高まるという効果を有する。
請求項９の発明は、本構成を有していない場合に比較して、符号パターンの回転角度の検出の精度が高まるという効果を有する。
請求項１０の発明は、符号パターン画像から情報を取得することができるという効果を有する。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照して、本発明を実施するための形態（以下、「実施形態」という）について詳細に説明する。まずは本実施の形態に登場する符号パターン画像の構成を説明し、その後、その符号パターン画像を使用した符号パターン画像生成装置、更には画像処理装置の説明をする。
なお、本実施の形態では、紙等の記録媒体に対し、例えば記録媒体全面に印刷された符号パターン画像から、所定の情報を取得する。符号パターン画像とは、所定の情報を符号化して得られる符号を画像化したものであり、例えば、識別情報または位置情報、及びそれら両方の情報を含む情報とすることができる。ここで、識別情報とは、記録媒体又は、記録媒体に印刷された文書等を一意に識別する情報であり、位置情報とは、記録媒体上の座標を表す情報である。また、例えば符号パターン画像が含む情報の構成単位となる符号ブロックを、単位符号パターンにより構成することができる。単位符号パターンは、例えば情報埋め込みの最小単位であり、所定の位置に単位画像を形成することで表すことができる。ここで、単位画像としては、如何なる形状のものを用いてもよい。本実施の形態では、単位画像の一例としてドット画像(以下、単に「ドット」という)を用いるが、例えば、斜線パターン等、他の形状の画像であってもよい。
【００１０】
（単位符号パターン）
図１は符号パターン画像の単位符号パターンの例を示す説明図である。この例では縦３箇所で横３箇所（以下、３×３箇所と表示する。）の計９箇所のドットを配置できる場所から２つの場所を選択してドットを配置する。この場合、単位符号パターンのドット配置組み合わせは３６通り（３６＝９Ｃ２）となる（ここで、ｍＣｎ＝ｍ！／｛（ｍ−ｎ）！×ｎ！｝である）。６００ｄｐｉで記録するとき図１における１つのドットサイズ（四角の大きさ）は縦２画素で横２画素である（以下、２×２画素と表示する）（計算上は一辺の長さが８４．６μｍの矩形だが、記録されたトナー像ではφ１００μｍ程度の円形状になる）。従って、単位符号パターンは一辺の長さが０．５０７６ｍｍの矩形（０．５０７６×０．５０７６ｍｍ）となる。
【００１１】
３６通りの組み合わせのうち４通りは符号ブロック（後述）の検出と回転角度検出用の同期符号として使用する。このとき、符号ブロックの９０度単位の回転角度を検出するため、４つのパターンは互いに９０度回転対称のパターンになるように選択する。即ち、画像生成時に４通りのうちいずれか１つを同期符号として埋め込んでおけば、復号時に同期符号がどの角度で検出されたかによって符号ブロックの回転角度（２次元配列上に同期化された符号ブロックの０／９０／１８０／２７０度のいずれの方向を向いているか）を判定し、補正することができる。
【００１２】
３６通りの組み合わせの残りの３２通り（３２＝２５）は、単位符号パターン当たり５ビットの情報埋め込みのために使用できる。
ここで、以上に説明した図１の単位符号パターンが取り得る３６通りのドット配置を図２に示す。表示の簡略化のためドット間の空白は省略している。
なお、単位符号パターンは、図示したように９箇所の中の２箇所にドットを配置する方法に限定せず、３個であっても４個であっても良い。即ち、９個より小さければよい。例えば、９箇所のうち３箇所にドットを配置する構成とすればドット配置の組み合わせは８４通りとなる（８４＝９Ｃ３）。また、ドットを配置可能な場所も９箇所（３×３箇所）に限らず、その他の数、例えば４箇所（２×２箇所）や１６箇所（４×４箇所）などとしても良い。
【００１３】
（同期符号の組み合わせ）
図３に、図１の単位符号パターンが取り得る３６通りのドット配置から選択できる同期符号の組み合わせを示す。図３に示した組み合わせはいずれも９０度回転対称となっている。何れかの組み合わせを、同期符号に使用する４通りの符号パターンにできる。
【００１４】
（識別符号埋め込み用の符号ブロック）
図４に、後述する識別符号生成部１３が生成する識別情報の一例としての識別符号の埋め込み用の符号ブロック（識別符号ブロック）の例を示す。図１に示した単位符号パターンを５×５個並べて符号ブロックを構成する。
符号ブロックの左上の位置に図３で示した同期符号を配置する。即ち、図３（ａ）〜（ｈ）の同期符号の中から何れかを選択し、選択された同期符号に含まれる４通りの単位符号パターンから選択された１つを符号ブロックの左上に配置する。
【００１５】
（位置符号）
後述する位置符号生成部１０が生成する位置情報の一例としての位置符号を説明する。同期符号の右横に隣接する４個の単位符号パターンを使用して、Ｘ方向の位置に固有な情報を符号化したＸ位置符号を配置する。また、同期符号の下側に隣接する４個の単位符号パターンを使用して、Ｙ方向の位置に固有な情報を符号化したＹ位置符号を配置する。Ｘ位置符号、Ｙ位置符号は、それぞれ４個の単位符号パターンを使用するので、それぞれが２０ｂｉｔ（５ｂｉｔ×４個）の情報を格納できる。ここで、本実施の形態にかかるＸ位置符号及びＹ位置符号はいずれも本発明にかかる位置情報の一例である。
尚、位置符号として情報埋め込み用の３２種類（３２＝２５）のパターンを使用せず、１６種類のパターンだけを使用しても良い。この場合は、単位符号パターン当たりの情報量は４ｂｉｔ（１６＝２４）となるため、位置符号としては１６ｂｉｔ（４ｂｉｔ×４個）の情報量となる。
【００１６】
位置符号の例として、Ｍ系列を使用することができる。例えば、１２次のＭ系列を利用すればＭ系列の系列長は４０９５（＝２１２−１）となる。位置符号の単位符号パターンとして１６種類のパターンを選択した場合、各単位符号パターンに４ｂｉｔの情報を格納できるので、１つの符号ブロックでは１６ｂｉｔ（４ｂｉｔ×４個）の情報を格納できる。従って、系列長４０９５のＭ系列は、２５５個（＝４０９５÷１６）の符号ブロックに分割して格納できる。１つの符号ブロックの幅は２．５３８ｍｍ（＝０．５０７６ｍｍ／単位符号パターン幅×５個）なので、連続する２５５個の符号ブロックの長さは６４７．１９ｍｍとなり、６４７．１９ｍｍの長さを符号化できる。即ち、Ａ２サイズ（４２０×５９４ｍｍ）の用紙まで符号化できる。
【００１７】
ここでは１つのＭ系列で位置を符号化した例を示したが、複数のＭ系列を連結することで符号化できる位置をさらに増加させることができる。例えば、１１次のＭ系列を使用した場合であっても、それを４つ連結することで、Ａ０サイズの用紙を符号化できる。
【００１８】
（識別符号）
符号ブロックの残りの領域に識別符号を配置する。この領域には単位符号パターンを１６個（４×４個）配置できるので、８０ｂｉｔ（５ｂｉｔ／単位符号パターン×１６個）の情報を格納できる。本実施の形態の単位符号パターンは多値符号であるので、読み取り時などで発生する誤りも単位符号パターンの単位で発生する。従って、誤り訂正符号はブロック単位の誤り訂正が可能な方式が望ましい。識別符号に公知のブロック誤り訂正符号方式であるＲＳ符号を使用すれば、ＲＳ符号のブロック長を単位符号パターンの情報量である５ｂｉｔとすることができる。この場合、ＲＳ符号の符号長は１６ブロック（＝８０ｂｉｔ÷５ｂｉｔ／ブロック）となり、例えば３ブロックの訂正能力を持たせるとすれば、情報符号長は１０ブロック（＝１６ブロック−３ブロック×２）となる。この場合、５０ｂｉｔ（＝５ｂｉｔ／ブロック×１０ブロック）の情報を識別符号の領域に埋め込むことができる。
【００１９】
（符号パターン画像生成装置）
以上に説明した符号パターン画像を生成する符号パターン画像生成装置を以下に説明する。図５は符号パターン画像生成装置１の一例を説明するための機能ブロック図である。
本実施の形態にかかる符号パターン画像生成装置１は、出力用紙等の記録媒体上の記録位置、或いは、記録媒体上に記録される文書画像の記録位置に固有な位置符号を生成する位置符号生成部１０を有する。また、記録媒体、或いは、記録媒体に記録された文書情報を識別する識別符号を生成する識別符号生成部１３を有する。更に、位置情報と識別情報とを画像情報に変換して付加画像情報として出力する付加画像情報出力部１６と、入力された文書情報を画像情報に変換し、且つ、付加画像情報を重畳した重畳情報を出力する重畳情報出力部１９とを有する。
【００２０】
位置符号生成部１０は、位置情報をＭ系列化して符号化するＭ系列符号化部１１と、符号化されたＭ系列を所定の大きさの符号ブロックに分割するブロック分割部１２とを含む。Ｍ系列符号化部１１は、位置情報をＭ系列により符号化する。符号化したい長さから必要なＭ系列の次数を求め動的に生成することで位置情報を符号化する。また、予め符号化したい長さが決められている場合にはＭ系列を画像生成装置のメモリ等に格納しておき、画像生成時にそれを読み出す。
【００２１】
ブロック分割部１２は、符号化されたＭ系列を１つの符号ブロックで格納できる情報量に分割して格納する。例えば図４で説明したように、１２次のＭ系列を利用すればＭ系列の系列長は４０９５（＝２１２−１）となる。位置符号の単位符号パターンとして１６種類のパターンを選択し各単位符号パターンに４ｂｉｔの情報を格納するとき、１つの符号ブロックでは位置符号の単位符号パターンが４個あるので１６ｂｉｔ（４ｂｉｔ×４個）の情報を格納できる。よって、ブロック分割部１２は、系列長４０９５のＭ系列を２５５個（＝４０９５÷１６）の符号ブロックに分割して格納する。
【００２２】
識別符号生成部１３は、識別情報を複数のブロックに分割するブロック分割部１４と、分割されたブロックに対しＲＳ符号化処理を行い誤り訂正のための冗長ブロックを付加するＲＳ符号化部１５とを含む。ブロック分割部１４は識別情報を５ビット長の複数のブロックに分割する。例えば図４で説明したように５０ビットの識別情報を埋め込む場合は、５０ビットを５ビット長の１０個のブロックに分割する。ＲＳ符号化部１５は、分割されたブロックに対しＲＳ符号化処理を行い誤り訂正のための冗長ブロックを付加する。３ブロックの誤りを訂正可能なＲＳ符号とすると、符号長は１６ブロックとなる。
【００２３】
付加画像情報出力部１６は、識別符号と位置符号とを用いて（仮想の）２次元平面を生成するブロック合成部１７と、符号パターン画像を生成する出力画像生成部１８とを含む。ブロック合成部１７は識別符号と位置符号とを２次元平面に配置して２次元の符号平面を生成する。出力画像生成部１８は符号平面を参照して各符号値に対応した符号パターンを選択し、付加画像情報としての符号パターン画像を生成する。具体的には、内部処理簡略化のため符号平面生成までの過程においては識別符号や位置符号などを符号値という内部コードを用いて処理していたものを、この出力画像生成部１８において各符号値に対応した符号パターン（画像情報）に置き換えて符号パターン画像を生成する。
重畳情報出力部１９は、外部から入力された文書情報を画像情報に変換し、且つ、符号パターン画像を重畳した重畳情報を出力する。ここで、重畳情報は印刷記述言語（ＰＤＬ：Print Description Language）で作成された情報である。
【００２４】
（位置符号の配置）
図６に、符号パターン画像にて位置符号が配置されている一例を示す。上記のようにＭ系列を位置符号の単位符号パターンビット数である４ビット毎のブロックに分割し、分割した各ブロックを同期符号で挟まれた領域に順番に配置することができる。図６ではＸ位置符号のみ記載しているが、Ｙ位置符号についても同様とすることができる。
各符号ブロックには同期符号があるため、位置符号は連続して配置できず、例えば位置符号の４個の単位符号パターンおきに同期符号が配置されることになる。
【００２５】
（識別符号の配置）
図７に、符号パターン画像にて識別符号が配置されている一例を示す。識別符号は、例えば、同期符号の右下象限に配置されている。また、識別符号は、例えば、画像位置によらず常に同じ情報が配置されている。
【００２６】
（画像処理装置についての詳細な説明）
図８は、本実施の形態が適用される画像処理装置の構成の一例を示したブロック図である。図示するように、本実施の形態が適用される画像処理装置２は、例えば、画像取得部２０と、ノイズ除去部２１と、ドット位置検出部２２と、基準ドット対検出部２３と、角度検出部２６と、復号部２７とを備える。そして、基準ドット対検出部２３は、例えば、近接ドット対検出部２４とドット対選択部２５とを含んで構成されている。また、復号部２７は、例えば、同期化部２８と、単位符号パターン境界検出部２９と、同期符号検出部３０と、識別符号検出部３１と、位置符号検出部３２と、ＲＳ符号復号部３３と、位置符号復号部３４とを含んでいる。
【００２７】
画像取得部２０は、例えばＣＣＤ（電荷結合素子；Charge Coupled Devices）やＣＭＯＳ（相補型金属酸化物半導体；Complementary Metal Oxide Semiconductor）等の撮像素子によって読み取られた符号パターン画像を取得する。本実施の形態では、画像取得手段の一例として、画像取得部２０を設けている。
そして、ノイズ除去部２１は、例えば、取得した符号パターン画像に含まれるノイズ（撮像素子感度のばらつきや電子回路により発生するノイズ）を除去するための処理を行う。なお、ノイズ除去の処理の種類は、撮像系の特性に合わせるべきだが、例えば、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用することができる。
【００２８】
ドット位置検出部２２は、例えば、符号パターン画像からドット画像を検出し、各ドットの中心位置（ドット位置）を検出する。この場合、まず、２値化処理によりドット画像と背景画像部とを切り分け、２値化された個々のドット画像からドット位置を検出する。ただし、２値化されたドット画像にノイズ成分が多数含まれる場合があるため、２値化されたドット画像の面積や形状によりドット画像であるか否かの判定を行うフィルタ処理を組み合わせる必要がある。
【００２９】
基準ドット対検出部２３が含む近接ドット対検出部２４は、例えば、ドット位置検出部２２で検出したドット位置を参照して、各ドット位置から最も近いドット位置と対（近接ドット対）を構成させる。
また、基準ドット対検出部２３が含むドット対選択部２５は、例えば、複数生成された近接ドット対の中から基準ドット対を選択する。ここで基準ドット対とは、複数の近接ドット対の中でもドット間距離が特に短いドット対のことをいう。
本実施の形態では、組み合わせ検出手段の一例として、基準ドット対検出部２３を設けている。
そして、角度検出部２６は、例えば、選択された基準ドット対を基に、符号パターン画像の回転角度を検出する。本実施の形態では、角度検出手段の一例として、角度検出部２６を設けている。
【００３０】
復号部２７は、例えば、受け取ったドット位置や回転角度等の情報に基づいて、符号パターン画像が含む所定の情報（識別情報や位置情報）を出力する。本実施の形態では、情報取得手段の一例として、復号部２７を設けている。
復号部２７が含む同期化部２８は、例えば、検出したドット位置と回転角度と基準ドット対のドット間距離とを参照して、ドット位置を２次元配列上に同期する。ここで「同期する」とは、例えば、２次元配列上にドットが有る位置を１、ない位置を０などのように置き換え、画像として検出したドットの有無を２次元配列のデジタルデータに置き換える処理のことをいう。本実施の形態では、２次元配列生成手段の一例として、同期化部２８を設けている。
【００３１】
そして、復号部２７が含む単位符号パターン境界検出部２９は、例えば、２次元配列上に同期されたドット位置から、符号ブロックを構成している単位符号パターンの境界を検出する。詳しくは、例えば、同期化部２８によって出力された２次元配列上で、単位符号パターンと同じ大きさをもつ矩形の区切り位置を適宜動かし、区切り内に含まれるドット数が均等になる位置を単位符号パターンの境界位置として検出する。また、均等になったドット数が２であれば９Ｃ２の単位符号パターンで情報が埋め込まれた符号パターン、ドット数が３であれば９Ｃ３の単位符号パターンで情報が埋め込まれている符号パターン、というように情報埋め込み方式の判定を行うこともできる。本実施の形態では、区画検出手段の一例として、単位符号パターン境界検出部２９を設けている。
【００３２】
また、復号部２７が含む同期符号検出部３０は、例えば、２次元配列から検出された各々の単位符号パターンの種類を参照して、同期符号を検出する。４種類のいずれの同期符号（図３参照）が検出されたかにより、符号パターンの向き（９０度単位）を検出してそれを補正することができる。
更に、復号部２７が含む識別符号検出部３１及び位置符号検出部３２はそれぞれ、例えば、角度が補正された符号パターンから、同期符号の位置を基準にして識別符号と位置符号を取得する。
【００３３】
更にまた、復号部２７が含むＲＳ符号復号部３３は、例えば、ＲＳ符号の符号化処理で用いたパラメータ（ブロック数など）と同じパラメータを用いて検出された識別符号を復号し、識別情報を出力する。
そして、復号部２７が含む位置符号復号部３４は、例えば、位置符号検出部３２により取得された位置符号からＭ系列の部分系列を取り出し、画像生成に使用したＭ系列に対する検出された部分系列の位置を参照し、その位置から同期符号による位置のオフセット（位置符号の間に同期符号が配置されているため）を補正した値を位置情報として出力する。
【００３４】
尚、これらの機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像処理装置２の図示しないＣＰＵが、画像処理装置２を構成する各部の機能を実現するプログラムを例えば磁気ディスク装置からメインメモリに読み込んで実行することにより、これらの機能は実現される。また、磁気ディスク装置に記憶されるプログラムやデータは、ＣＤ等の記録媒体からロードしてもよいし、インターネット等のネットワークを介してダウンロードしてもよい。
【００３５】
（近接ドット対の検出）
図９は、基準ドット対検出部２３（図８参照）の処理のうち、近接ドット対検出部２４（図８参照）が近接ドット対を検出した結果の一例を示す図である。
図９（ａ）は、ドット位置検出部２２（図８参照）で検出したドット位置の一例を示す。近接ドット対検出部２４は、図９（ａ）に示すようなドット位置のそれぞれを参照し、各ドット位置から最も近いドット位置と対（近接ドット対）を構成させる。
そして、図９（ｂ）は、近接ドット対検出部２４が図９（ａ）に示すようなドット位置に基づいて検出した近接ドット対の一例を示す。ここでは近接ドット対を、線で結んで表現している。この場合、あるドットＡから最も近いドットＢが、他のドットＣと近接ドット対を成している場合は、ドットＡは他のどのドットとも近接ドット対を成していない。
【００３６】
（基準ドット対の選択）
図１０は、基準ドット対検出部２３（図８参照）の処理のうち、ドット対選択部２５（図８参照）が基準ドット対を選択していく過程の一例を示す図である。
まずドット対選択部２５は、例えば、近接ドット対検出部２４（図８参照）が検出した近接ドット対について、ドット間距離に基づいてヒストグラムを作成する（図１０（ａ）参照）。次にこのヒストグラムに基づいて、ドット間距離が短い方から順に度数を積算していく（図１０（ｂ）参照）。そして、積算された度数が予め定めた値となるドット間距離を、基準ドット対のドット間距離の閾値とする（図１０（ｃ）参照）。このようにして定めた閾値を用いて大きいドット間距離をもつドット対を除外することで、基準ドット対を得ることができる。
【００３７】
なお、“予め定めた値”とは、例えば、検出した全てのドット数に、単位符号パターンの種類により設計上定まる値を乗算することによって得られる値である。例えば、９Ｃ２の単位符号パターン（図１参照）の場合、３６パターンのうち１２パターンで、２つのドットが上下左右に隣接して配置されるため、単位符号パターン内ではその確率は１／３である。従って、検出したドット数の半数（対をなすため）に１／３を乗じた数のドット対は、設計上２つのドットが上下左右に隣接しているはずである。実際には単位符号パターンが隣接配置されるため、その確率はより大きな値となる。ここでいう“予め定めた値”とは、このように検出したドット数の半数に、単位符号パターン内で２つのドットが上下左右に隣接配置される確率を乗じた値を用いることができる。そして、閾値は、例えば、９Ｃ２の単位符号パターン（図１参照）の場合、２つのドットが上下左右の隣接する基準位置に選択的に配置されているような場合のドット間距離に相当している。したがって、このような場合、得られた基準ドット対の向きは、互いに直交するような位置関係にある。
【００３８】
（符号パターン画像の回転角度の検出）
図１１は、ドット対選択部２５（図８参照）が基準ドット対を選択した結果の一例を示す。そして、符号パターン画像の回転角度を検出するときに基準ドット対が以下で説明する基準軸Ｘと基準軸Ｙとからなる座標系に配置される一例を示す。
【００３９】
図１１（ａ）は、ドット対選択部２５（図８参照）が近接ドット対（図９（ｂ）参照）の中から基準ドット対を選択した結果の一例を示しており、ここでは基準ドット対を線で結んで表現している。
この図に示す例では、基準ドット対４０の方向を向いた基準ドット対のグループと、基準ドット対４１の方向を向いた基準ドット対のグループとに基準ドット対が集約されている。即ち、基準ドット対は２つのグループに分けることができ、これらのグループは２方向に対を成すこととなる。そして、基準ドット対４０が属するグループの方向と基準ドット対４１が属するグループの方向とは、互いにほぼ一定の角度（９０度）を成している。
【００４０】
次に、図１１（ｂ）及び図１１（ｃ）について説明する。
図１１（ｂ）は、基準ドット対の一方のドットが基準軸Ｘと基準軸Ｙとで構成される基準座標系の原点にあり、他方が第１象限にある場合を示す。図１１（ｃ）は、基準ドット対の他方が第４象限にある場合を示す。このように基準ドット対の一方のドットが基準座標系の原点に必ずくるように基準ドット対を位置させ、基準ドット対の傾き角度（基準ドット対の一方のドットと他方のドットを結ぶ直線の基準軸Ｘからの角度）を−９０度〜９０度までの範囲に限定することができる。
【００４１】
ここで基準座標系を構成する基準軸Ｘと基準軸Ｙとについて説明する。これらの基準軸は、例えば、符号パターン画像を撮像するＣＭＯＳ自体が有している水平方向を基準軸Ｘとし、垂直方向を基準軸Ｙとすることができる。ただし、これはあくまでも一例であり、その他の方法によってこれらの基準軸を決定してもよい。
【００４２】
このようにして決定した基準軸により、基準ドット対を構成するドット間の基準軸Ｘ方向の距離（ΔＸ）と基準軸Ｙ方向の距離（ΔＹ）とを決定する。図１１（ｂ）の場合では、ΔＸ、ΔＹ共に正の値となり、図１１（ｃ）の場合では、ΔＸは正の値でΔＹは負の値となる。このΔＸとΔＹとに一般的に知られる三角関数の演算式を適用して演算すると、基準ドット対の傾き角度を求めることができる。
なお、求めた傾き角度が０度より小さい場合は傾き角度に９０度を加える（図１１（ｃ）の右側の図参照）。この演算により傾き角度は０度から９０度の範囲に圧縮される。
そして、このようにして得られた複数の傾き角度に基づいて、各傾き角度との差のばらつきが最も小さくなるような角度を符号パターン画像の回転角度とすることができる。また、各傾き角度の平均値を計算することで符号パターン画像の平均回転角度を得ることができ、この演算によって２方向に対を成す基準ドット対の角度を１方向の傾き角度として算出することができる。
【００４３】
また、例えば、ペン型読取装置を用いる場合、ペン型読取装置の姿勢によって画像が歪み、検出される符号パターン画像上の基準ドット対は９０度直交する方向とはならない場合も考えられる。このような場合は、２方向をそれぞれ独立して平均値を用いることで、歪んだ画像からも符号パターン画像の回転角度を検出できる。
【００４４】
（近接ドット対を検出する具体例）
図１２は、近接ドット対検出部２４（図８参照）の近接ドット対を検出する具体例を示す図である。この図を用いて、例えば、番号が１から４までのドットの中から、これらの位置に基づいて近接ドット対を検出する具体例を説明する。なお、実際には、記録媒体上にドットが５個以上形成されている。
【００４５】
まず近接ドット対検出部２４は、ドット位置検出部２２（図８参照）が検出した番号が１から４までのドットの位置を認識する。そして、番号が１のドットを基準に他の番号のドットまでの距離をスキャンしていく。その結果、近接ドット対検出部２４は、番号１のドットに最も近いドットは番号３のドットであり、両者の距離（Pair Distance、以下、ＰＤという）は２０と認識する。そして、番号１のドットは、番号３のドットが近接ドットであることを示す情報“Ｐａｉｒ［１］＝３”と、番号３のドットまでの距離が２０であることを示す情報“ＭＰＤ［１］＝２０”とを生成する。同時に、“Ｐａｉｒ［３］＝１”と“ＭＰＤ［３］＝２０”との情報を生成する。
【００４６】
ここで、Ｐａｉｒ［  ］の［  ］内の番号は自らのドットの番号を示し、Ｐａｉｒ［  ］＝で定義される値は、現時点で近接ドット対となった相手のドットの番号を示している。また、ＭＰＤは“Minimum Pair Distance”の略称であり、ＭＰＤ［  ］の［  ］内の番号は自らのドットの番号を示している。そして、ＭＰＤ［  ］の値は、現時点での近接ドット対となった相手のドットまでの距離を示す。
【００４７】
続いて先ほどと同様にして、番号２のドットを基準に番号１以外のドットまでの距離をスキャンしていく。既に番号１のドットをスキャンした時点で、番号１のドットは番号２のドットから最も近いドットではないと判断されているため、番号１のドットをスキャンの対象から外している。
その結果、番号２のドットに最も近いドットは番号３のドットであり、両者の距離（ＰＤ）は１５と認識する。そしてこの距離は、番号１と番号３とのドットの距離（２０）よりも短い。よって、近接ドット対検出部２４は、“Ｐａｉｒ［２］＝３”と“ＭＰＤ［２］＝１５”、及び“Ｐａｉｒ［３］＝２”と“ＭＰＤ［３］＝１５”の情報を生成する。そして、この時点で番号１のドットは、番号２のドットに番号３のドットを奪われたため、“Ｐａｉｒ［１］＝−１”と“ＭＰＤ［１］＝−１”との情報に変更され、番号１のドットはどの番号のドットとも近接ドット対を成していない状態になる。
【００４８】
そしてまた同様にして、番号３のドットを基準に番号が１と２以外のドットまでの距離をスキャンしていく。その結果、番号３のドットに最も近いドットは番号４のドットであり、両者の間隔（ＰＤ）は１０と認識する。そしてこの距離は、番号２と番号３とのドットの距離（１５）よりも短い。よって、近接ドット対検出部２４は、“Ｐａｉｒ［３］＝４”と“ＭＰＤ［３］＝１０”、及び“Ｐａｉｒ［４］＝３”と“ＭＰＤ［４］＝１０”の情報を生成する。そして、この時点で番号２のドットは、番号４のドットに番号３のドットを奪われたため、“Ｐａｉｒ［２］＝−１”と“ＭＰＤ［２］＝−１”との情報に変更され、番号２のドットはどの番号のドットとも近接ドット対を成していない状態になる。
【００４９】
そして、スキャンしていないドットは番号４のドットだけであるが、このドットは既に番号３のドットと近接ドット対を成しているため、改めてスキャンされることはなく処理は終了する。
なお、ここではあくまでも一例としてドットの数が４個しかない場合を取り上げたが、ドットの数が５個以上ある場合も上述したスキャンの手順を繰り返していくことで近接ドット対を順次検出していくことができる。
【００５０】
（近接ドット対を検出する処理の具体例）
図１３は、画像処理装置２（図８参照）の動作の内、図１２にて概略を説明した近接ドット対を検出する具体例に応じたフローチャートである。
画像処理装置２では、まず、近接ドット対検出部２４（図８参照）が、全てのドットについて、“Ｐａｉｒ［  ］”を−１で初期化する（ステップ１０１）。次に、近接ドット対検出部２４は、現在参照しているドットの番号ｉを０からｎ−１（ｎは全ドット数）まで順番に変更し、ステップ１０３〜１１８を繰り返す（ステップ１０２〜１１９：基準ドットＬｏｏｐ）。この基準ドットＬｏｏｐにおいて、近接ドット対検出部２４は、現在参照しているドットについて例えば次の処理を行う。
【００５１】
即ち、近接ドット対検出部２４は、現在参照している番号ｉのドットの対となるべきドットの番号ｊをｉ＋１からｎまで順番に変更し、ステップ１０４〜１０７を繰り返す（ステップ１０３〜１０８：検査ドットＬｏｏｐ）。この検査ドットＬｏｏｐにおいて、近接ドット対検出部２４は、現在参照しているドット対について例えば次の処理を行う。
即ち、現在参照している番号ｉのドットと番号ｊのドットとの距離（ＰＤ）を算出する（ステップ１０４）。そして、そのＰＤが予め決められた所定の領域内にあるか否かを判断する（ステップ１０５）。ＰＤが所定の領域内にない場合にはステップ１０８へと進む。ＰＤが所定の領域内にある場合には、それまで算出してきたＰＤの中で、現在扱っているＰＤが最小であるか否かを判断する（ステップ１０６）。そのＰＤが最小ではないと判断した場合はステップ１０８へと進む。ＰＤが最小であると判断した場合は、現在参照している番号ｉのドットと仮のドット対を構成するドットの番号（ＭｉｎＰａｉｒ：以下、ＭＰという）を、ＭＰ＝ｊとし、両者の距離（ＭｉｎＤｉｓｔ：以下、ＭＤという）を、ＭＤ＝ＰＤとする（ステップ１０７）。
【００５２】
続いて、検査ドットＬｏｏｐの終了後、ＭＰ＝Ｐａｉｒ［ｉ］であるか否かを判断する（ステップ１０９）。上記では説明しなかったが、ステップ１０３の直前にＭＰを−１で初期化しているので、ＭＰ＝Ｐａｉｒ［ｉ］とは、ＭＰ＝Ｐａｉｒ［ｉ］＝−１である。これは、検査ドットＬｏｏｐにおける条件を満たす番号ｊのドットがなかったことを意味する。従って、ＭＰ＝Ｐａｉｒ［ｉ］である場合にはＭＰＤ［ｉ］＝−１と設定する（ステップ１１０）。そして、ステップ１１９へと進む。
ＭＰ＝Ｐａｉｒ［ｉ］でない場合には、ステップ１１１に進む。ここでは、Ｐａｉｒ［ＭＰ］≧０であるか否かを判断する（ステップ１１１）。Ｐａｉｒ［ＭＰ］≧０でない場合、即ち、Ｐａｉｒ［ＭＰ］＝−１である場合にはステップ１１５（後述）に進む。Ｐａｉｒ［ＭＰ］≧０である場合には、ＭＤ＞ＭＰＤ［ＭＰ］であるか否かを判断する（ステップ１１２）。ＭＤ＞ＭＰＤ［ＭＰ］である場合には、Ｐａｉｒ［ｉ］＝−１、ＭＰＤ［ｉ］＝−１と設定する（ステップ１１３）。そして、ステップ１１９へと進む。ＭＤ＞ＭＰＤ［ＭＰ］でない場合には、Ｐａｉｒ［Ｐａｉｒ［ＭＰ］］＝ＭＰＤ［Ｐａｉｒ［ＭＰ］］＝−１と設定する（ステップ１１４）。
【００５３】
続いて、Ｐａｉｒ［ｉ］≧０であるか否かを判断する（ステップ１１５）。Ｐａｉｒ［ｉ］≧０でない場合、即ち、Ｐａｉｒ［ｉ］＝−１である場合には、ステップ１１８（後述）へと進む。Ｐａｉｒ［ｉ］≧０である場合には、ＭＤ＞ＭＰＤ［ｉ］であるか否かを判断する（ステップ１１６）。ＭＤ＞ＭＰＤ［ｉ］である場合にはステップ１１９へと進む。ＭＤ＞ＭＰＤ［ｉ］でない場合には、Ｐａｉｒ［Ｐａｉｒ［ｉ］］＝ＭＰＤ［Ｐａｉｒ［ｉ］］＝−１と設定する（ステップ１１７）。続いて、Ｐａｉｒ［ＭＰ］＝ｉ、Ｐａｉｒ［ｉ］＝ＭＰ、ＭＰＤ［ＭＰ］＝ＭＰＤ［ｉ］＝ＭＤと設定する（ステップ１１８）。
そして、基準ドットＬｏｏｐの終了後、近接ドット対を検出する処理を終了する。
【００５４】
（基準ドット対を選択する処理の具体例）
図１４は、画像処理装置２（図８参照）の動作の内、図１０にて概略を説明した基準ドット対を選択する具体例に応じたフローチャートである。
画像処理装置２では、まず、ドット対選択部２５（図８参照）が、近接ドット対検出部２４（図８参照）で検出された全ての近接ドット対について順番に、ステップ２０２〜２０３の処理を繰り返す（ステップ２０１〜２０４：ヒストグラム生成Ｌｏｏｐ）。このヒストグラム生成Ｌｏｏｐにおいて、ドット対選択部２５は、現在参照している近接ドット対について例えば次の処理を行う。
【００５５】
即ち、近接ドット対のドット間距離を取得する（ステップ２０２）。そして、取得したドット間距離をヒストグラムに登録する（ステップ２０３）。このヒストグラム生成Ｌｏｏｐの終了後、ドット対選択部２５は、例えば、図１０（ａ）に示すようなヒストグラムを作成していることとなる。そして、ドット対選択部２５は、例えば、このヒストグラムの全度数を加算した値（全ての近接ドット対の数）に０．３を乗算した値を基準ドット対の数と設定する（ステップ２０５）。ここで、上記０．３は、単位符号パターンの種類が９Ｃ２（図１参照）の場合に設計上定まる値である。よって、単位符号パターンの種類が変われば、それに応じて０．３から値は変動する。
【００５６】
続いて、画像処理装置２では、ドット対選択部２５が、ヒストグラム生成Ｌｏｏｐで生成されたヒストグラムに対して、ステップ２０７〜２０８の処理を繰り返す（ステップ２０６〜２０９：ヒストグラム走査Ｌｏｏｐ）。このヒストグラム走査Ｌｏｏｐにおいて、ドット対選択部２５は、例えば次の処理を行う。
即ち、近接ドット対の数を、ヒストグラムのドット間距離が小さい側から順に積算する（ステップ２０７）。そして、その積算した値がステップ２０５にて求めた基準ドット対の数よりも大きいか否かを判断する（ステップ２０８）。積算した値が基準ドット対の数よりも小さい場合には、ステップ２０９に進み、ヒストグラム走査Ｌｏｏｐに戻る。積算した値が基準ドット対の数よりも大きい場合には、閾値を、ヒストグラム上の近接ドット対のドット間距離として設定する（ステップ２１０）。そして、ヒストグラム走査Ｌｏｏｐから抜ける。
【００５７】
そして、画像処理装置２では、ドット対選択部２５が、ステップ２１０にて設定された閾値に対して、ステップ２１２〜２１３の処理を繰り返す（ステップ２１１〜２１４：近接ドット対走査Ｌｏｏｐ）。この近接ドット対走査Ｌｏｏｐにおいて、ドット対選択部２５は、例えばヒストグラムのドット間距離が小さい側から順に次の処理を行う。
即ち、ドット間距離≦閾値であるか否かを判断する（ステップ２１２）。そして、ドット間距離≦閾値である場合には、そのドット間距離の近接ドット対を基準ドット対として登録する（ステップ２１３）。また、ドット間距離≦閾値ではない場合には、近接ドット対走査Ｌｏｏｐから抜け出して処理を終了する。
【００５８】
（基準ドット対の傾き角度を取得する処理の具体例）
図１５は、画像処理装置２（図８参照）の動作の内、図１１（ａ）及び（ｂ）にて概略を説明した基準ドット対の傾き角度を取得する具体例に応じたフローチャートである。
画像処理装置２では、まず、角度検出部２６（図８参照）が、ドット対選択部２５（図８参照）で選択された全ての基準ドット対について順番に、ステップ３０２〜３０８の処理を繰り返す（ステップ３０１〜３０９：基準ドット対角度取得Ｌｏｏｐ）。この基準ドット対角度取得Ｌｏｏｐにおいて、角度検出部２６は、現在参照している基準ドット対について例えば次の処理を行う。
【００５９】
即ち、まずΔＸが０であるか否かを判断する（ステップ３０２）。ΔＸが０である場合は、θrad＝π／２と設定する（ステップ３０３）。そして後述するステップ３０５に進む。ΔＸが０でない場合は、基準ドット対の傾き角度を算出する（ステップ３０４）。この場合、例えばθrad＝atan(ΔＹ／ΔＸ)の演算式と図７で説明したΔＸ及びΔＹとを用いて、その角度を算出することができる。図７に示すようなドットの配置をした場合には、θradは−π／２〜π／２の範囲の値となる。次にこの角度の単位を“ラジアン”から“度”に演算式θdeg＝θrad×１８０／πを用いて単位変換する（ステップ３０５）。図７に示すようなドットの配置をした場合には、θdegは−９０〜９０度の範囲の値となる。
【００６０】
そして、θdegが０度より小さいか否かを判断する（ステップ３０６）。θdegが０度以上である場合には、ステップ３０８（後述）に進む。θdegが０度より小さい場合には、θdeg＝θdeg＋９０の演算式を用いてθdegを０度から９０度の範囲となるように変換する（ステップ３０７）。この処理は、例えば図１１（ｃ）に示す角度変換に対応している。そして、求められた基準ドット対の傾き角度（θdeg）をメモリに格納する（ステップ３０８）。
【００６１】
（符号パターン画像の回転角度を取得する処理の具体例）
図１６は、画像処理装置２（図８参照）の動作の内、符号パターン画像の回転角度θmeshを取得する具体例に応じたフローチャートである。
画像処理装置２では、まず、角度検出部２６（図８参照）が、基準ドット対の傾き角度を取得する処理（図１５参照）でメモリに格納した基準ドット対の傾き角度（θdeg）に対して、回転角度θmeshの値を順番に変動（例えば、−９０度から９０度の範囲）させ、ステップ４０２〜４０８の処理を繰り返す（ステップ４０１〜４０９：回転角度θmesh検査Ｌｏｏｐ）。この回転角度θmesh検査Ｌｏｏｐにおいて、角度検出部２６は、現在参照している回転角度θmeshについて例えば次の処理を行う。
【００６２】
即ち、角度検出部２６は、回転角度θmeshを順番に参照し、ステップ４０３〜４０５を繰り返す（ステップ４０２〜４０６：基準ドット対角度推定Ｌｏｏｐ）。この基準ドット対角度推定Ｌｏｏｐにおいて、角度検出部２６は、現在参照している回転角度θmeshについて例えば次の処理を行う。
即ち、まず、基準ドット対の傾き角度θdegを取得する（ステップ４０３）。そして、各θdegとθmeshとのそれぞれの差の大きさΔθを、Δθ＝|θdeg−θmesh|の演算式を用いて求める（ステップ４０４）。次に、各θdegに対して求めたΔθとΔθの２乗の値とを、次々に積算する（ステップ４０５）。
【００６３】
そして、基準ドット対角度推定Ｌｏｏｐの終了後、ΔθとΔθの２乗の値とを積算した結果を用いて分散を計算する（ステップ４０７）。ここで分散の計算に用いる演算式は、例えば、ΣΔθ２−２θmeshΣΔθ＋ｎθmesh２とすることができる。ここで、ｎは、全ての基準ドット対の数とすることができる。次に、分散の計算結果に基づいて、Δθのばらつきが最も少ない場合（分散の計算結果が最も小さくなる場合）の回転角度（分散最小角度θmesh-min）を認識する。そして、このθmesh-minの値を、メモリに保存する（ステップ４０８）。
続いて、回転角度θmesh検査Ｌｏｏｐの終了後、符号パターン画像の回転角度として、ステップ４０８で保存した分散最小角度θmesh-minの値を出力する（ステップ４１０）。その後、一連の処理を終了する。これにより、符号パターン画像の方向が、基準軸から左回りにθmesh-min回転した位置にあると判断することができる。
【００６４】
（符号パターン画像の回転角度検出による仮想格子の作成と同期化処理の具体例）
次に、本実施の形態で検出される符号パターン画像の回転角度に基づいて作成される仮想格子と、その仮想格子を用いた同期化処理の具体例について、図１７を用いて説明する。
図１７（ａ）に、符号パターン画像の一例を示す。この符号パターン画像を表すドット位置から選択した基準ドット対に基づいて、例えば、図１５と図１６とを用いて説明した処理を行い、符号パターン画像の回転角度を取得することができる。
【００６５】
図１７（ｂ）に、仮想格子の一例を示す。この仮想格子の方向は、ドット位置からその角度を推定することができる。上述した説明から明らかなように、符号パターンから２つのドットを選んだとき、その２つのドット間の距離が最も近接するのは、その２つのドットが例えば０度方向か９０度方向に隣接して並んでいる場合である。従って、検出された複数のドットから最も近接しているドットの対（基準ドット対）を検出して、そのドット対が向いている方向から符号パターン画像の回転角度を検出することができ、それを仮想格子の方向とすることができる。
ここでは、この仮想格子の方向は、図１７（ａ）に示す符号パターン画像から取得した符号パターン画像の回転角度としている。また、仮想格子の間隔は、基準ドット対のドット間距離としている。
【００６６】
図１７（ｃ）に、図１７（ｂ）に例示した仮想格子を用いて符号パターン画像（図１７（ａ）参照）を同期化した結果を示す。ここでは符号パターン画像から検出したドットに対して仮想格子を当てはめ、各格子のます目内でドットの有無を検査し、ドットがない部分を０、ドットがある部分を１として、仮想格子から２次元配列を生成している。
【００６７】
（単位符号パターン境界検出の具体例）
図１８は、単位符号パターン境界検出部２９（図８参照）で行う処理の概要を説明する図である。
ここで図１８（ａ）は、９Ｃ２の単位符号パターン（図１参照）で構成された本実施の形態の符号パターン画像を示している。実際に境界検出の対象となるのは、図１２（ｃ）に示したようなビット値０とビット値１とからなる同期化された２次元配列であるが、ここでは直感的に捕らえやすいようにドットによる符号パターン画像を用いて説明する。
【００６８】
図１８（ａ）に示すような符号パターン画像から位置情報や識別情報を取得するには、まず単位符号パターンの種類を特定するために、単位符号パターンの境界を判別する必要がある。図１８（ｂ）〜図１８（ｄ）に、その判別方法を示す。
即ち、ます目の大きさが単位符号パターンと同じ大きさの、複数のます目を備えた仮想格子（図１７（ｂ）参照）を用意し、その仮想格子を符号パターン画像上で走査する。このとき、それぞれのます目に含まれるドット数をカウントし、ます目に入るドット数のばらつきが最も小さくなる位置で、仮想格子を固定する。この固定された位置が単位符号パターンの境界位置となる。
【００６９】
例えば、９Ｃ２の単位符号パターン（図１参照）を用いて符号パターン画像を構成した場合は、図１８（ｄ）に示す正しい仮想格子の位置では、それぞれのます目に入るドット数は２となる。しかし、図１８（ｂ）及び（ｃ）に示すような正しい仮想格子の位置でない場合では、それぞれのます目に入るドット数は０個から７個の範囲でばらつく。
また、例えば、９Ｃ３の単位符号パターンを用いた場合は、正しい仮想格子の位置では、それぞれのます目に入るドット数は３となるが、正しい位置でない場合は個数がばらつくことになる。
【００７０】
このようにして単位符号パターンの境界位置が特定できれば、各単位符号パターンを検査して同期符号を検出する。そして、４種の同期符号のいずれかが検出されたかによって符号パターン画像の回転を判定する。更に、この回転を補正した後にそこから位置符号と識別符号とを取得することができる。
【００７１】
（システム構成例）
図１９は、本実施の形態におけるシステムの構成例を示す図である。
図示するように、本実施の形態が適用されるシステムは、文書管理サーバ５０と、識別情報管理サーバ５１と、画像形成装置５２と、クライアント５４とがネットワーク５５に接続されることによって構成されている。また、このシステムは、印刷文書５３と、電子ペン３とを更に含んでいる。
【００７２】
まずこのシステムにおける印刷文書の作成について説明する。
クライアント５４は、文書管理サーバ５０に格納されている電子文書の印刷を指示する。文書管理サーバ５０は、識別情報管理サーバ５１に印刷が指示された電子文書とその属性情報（例えば、１０ページの電子文書を記録媒体の表面に２ページ分形成する状態で５部出力する等）を送信する。
識別情報管理サーバ５１では、印刷する電子文書への識別情報の割り当て、登録、印刷の処理を行う。識別情報管理サーバ５１は、画像を形成する記録媒体毎に異なる識別情報を付加する。よって、例えば、１０ページの電子文書を記録媒体の表面に２ページ分形成する場合は、１０ページ／２×５＝２５個の識別情報を生成することとなる。生成された識別情報は、受信した電子文書の属性情報（格納場所、印刷設定、レイアウト情報等）と関連付けてデータベースに格納される。
【００７３】
次に、受信した電子文書と生成された識別情報とから印刷記述言語（ＰＤＬ：Print Description Language）を生成し、画像形成装置５２に送信する。ＰＤＬには、例えば、識別情報から生成した符号パターン画像が含まれている。この例では、識別情報管理サーバ５１にて符号パターン画像を生成する構成としたが、画像形成装置５２の内部で行うこともできる。この場合は、電子文書から生成したＰＤＬに識別情報を付加して画像形成装置５２に送信し、画像形成装置５２の内部で識別情報から符号パターン画像を生成する。
画像形成装置５２は、受信したＰＤＬから画像を生成し、印刷画像として記録媒体上に画像を形成する。
【００７４】
続いて、電子ペン３で記録媒体上に筆記した情報を取得する処理内容について説明する。
電子ペン３で記録媒体上に筆記すると、電子ペン３により記録媒体上に形成された符号パターン画像が撮像され、電子ペン３内部に取り込まれる。符号パターン画像は、電子ペン３内部で処理され、符号パターン画像に含まれる位置情報と識別情報とが取得される。電子ペン３は、例えば、７０ｆｐｓ〜１００ｆｐｓ(frame per second)程度の速さで画像を取り込むため、一回の筆記動作で複数の位置情報と識別情報を取得できる。
識別情報は記録媒体上の位置によらず同じ情報が埋め込まれている。したがって、例えば、複数の識別情報の多数決を取ることで、識別情報の信頼性をあげることができる。位置情報は、記録媒体上の位置により情報が異なる。そして、たとえ位置情報の取得に失敗した場合であっても、例えば、その位置（座標）とその位置に隣接する位置との連続性を検証することで、取得に失敗した位置情報を検出、補完できる。
【００７５】
そして、複数の位置情報を識別情報と共に筆記情報として、例えば、電子ペン３内部のメモリに格納する。クライアント５４は、電子ペン３からその筆記情報を取得し、識別情報管理サーバ５１へ送信する。識別情報管理サーバ５１は、受信した筆記情報に含まれる識別情報に基づいて、対応する電子文書の属性情報を検索する。そして、識別情報管理サーバ５１は、対応する電子文書の属性情報を検出すると、オリジナルの電子文書にアクセスし、オリジナルの電子文書から筆記情報を反映するための電子文書（筆記済電子文書）を生成する。
また、この処理の前に、識別情報管理サーバ５１が筆記済電子文書の有無を検索し、筆記済の電子文書を検出した時は、その筆記済の電子文書に今回取得した筆記情報を反映しても良い。更にまた、識別情報管理サーバ５１が、クライアント５４に新たに筆記済電子文書を生成するか、検出した筆記済電子文書に筆記情報を追記するかどうかを問い合わせる構成としても良い。なお、筆記済電子文書は、識別情報管理サーバ５１に筆記済電子文書の属性情報（格納場所）を予め登録しておくことで、容易に検索・取得できる。
【００７６】
そして、筆記済電子文書は、例えば、オリジナルの電子文書に相当する部分が編集できない形式で生成される。このような筆記済電子文書は、オリジナルの電子文書の部分は編集できないが、電子ペン３による筆記情報を後から追記することができる。例えば、記録媒体上に筆記した情報を一度電子化した後、同じ記録媒体上に再度電子ペン３で筆記したときに、追加された筆記情報を筆記済電子文書上に追加することができる。
【００７７】
（電子ペンの構成）
図２０は、本実施の形態で符号パターン画像を撮像するために用いることができる電子ペン３（図１９参照）の機構の一例を示す図である。この電子ペン３について説明する。また、この電子ペン３は、画像処理装置２（図８参照）として機能する場合もある。
図示するように、電子ペン３は、ペン全体の動作を制御する制御回路６１を備える。また、制御回路６１は、取得画像から検出した符号パターン画像を処理する画像処理部６１ａと、そこでの処理結果から識別情報及び位置情報を抽出するデータ処理部６１ｂとを含む。
【００７８】
そして、制御回路６１には、電子ペン３による筆記動作をペンチップ６９に加わる圧力によって検出する圧力センサ６２が接続されている。また、媒体上に赤外光を照射する赤外ＬＥＤ６３と、画像を入力する赤外ＣＭＯＳ６４も接続されている。更に、識別情報や位置情報を記憶するための情報メモリ６５と、外部装置と通信するための通信回路６６と、ペンを駆動するためのバッテリ６７と、ペンの識別情報(ペンＩＤ)を記憶するペンＩＤ用メモリ６８も接続されている。
【００７９】
続いて、電子ペン３の動作の概略を説明する。
電子ペン３による筆記が行われると、ペンチップ６９に接続された圧力センサ６２が、筆記動作を検出する。これにより、赤外ＬＥＤ６３が点灯し、赤外ＣＭＯＳ６４がＣＭＯＳセンサによって記録媒体上の画像を撮像する。この場合、この画像（符号パターン画像）は、赤外領域に吸収波長をもつ不可視の画像形成材料（インク）を用いて形成されている。
なお、赤外ＬＥＤ６３は、消費電力を抑制するために、ＣＭＯＳセンサのシャッタタイミングに同期させてパルス点灯する場合もある。
【００８０】
また、赤外ＣＭＯＳ６４は、例えば、撮像した画像を同時に転送できるグローバルシャッタ方式のＣＭＯＳセンサを使用することができる。そして、例えば、赤外領域に感度があるＣＭＯＳセンサを使用することができる。また、外乱の影響を低減するために、ＣＭＯＳセンサ全面に可視光カットフィルタを配置している場合もある。ＣＭＯＳセンサは、例えば、７０ｆｐｓ〜１００ｆｐｓ程度の周期で画像を撮像することができる。なお、撮像素子はＣＭＯＳセンサに限定するものではなく、ＣＣＤ等、他の撮像素子を使用することもできる。
このように撮像した画像を制御回路６１が取得すると、制御回路６１は、撮像した画像から符号パターン画像を取得する。そして、それを復号し、符号パターン画像に埋め込まれている識別情報や位置情報を取得することができる。
【００８１】
以上、本実施の形態の説明を終了する。しかし、これらはあくまでも一例にすぎない。
例えば、符号パターン画像の回転角度を取得する場合に、基準軸Ｘ近傍の基準ドット対の角度を変換して基準軸Ｙの近傍に集約させなくてもよい。基準軸Ｘ近傍に基準ドット対の角度を集約させて符号パターン画像の回転角度を取得してもよい。また、基準軸Ｘ、基準軸Ｙどちらかの基準軸に基準ドット対の角度を集約させなくてもよい。この場合、例えば、基準軸Ｘと基準軸Ｙとの２方向それぞれ独立して符号パターン画像の回転角度を求めればよい。
【００８２】
また、本実施の形態では、電子ペン３（図２０参照）の赤外ＣＭＯＳ６４（図２０参照）が符号パターン画像を撮像するとしたが、これに限られない。記録媒体上に赤外光を照射する機能と赤外領域に感度のある読み取り機能とを備えた撮像装置（例えば、スキャナ）であれば何でもよい。更に、符号パターン画像は、赤外領域に吸収波長をもつ不可視の画像形成材料を用いて形成されているとしたがこれに限られない。記録媒体上に形成しても不可視であり、何らかの撮像方法によって撮像可能な画像形成材料であれば何を用いて符号パターン画像を記録媒体上に形成しても問題はない。
【００８３】
更にまた、本実施の形態では、電子ペン３（図２０参照）が画像処理装置２（図８参照）でもある場合もあるとしたが、これに限られない。通信回路６６（図２０参照）を介して撮像した符号パターン画像の情報をクライアント５４（図１９参照）等の外部のコンピュータに送り、そのコンピュータにて上記で説明した画像処理を行うとしてもよい。
【００８４】
そして、本実施の形態では、印刷文書を作成する場合に、符号パターン画像の生成を識別情報管理サーバ５１または画像形成装置５２で行うとしたが、文書管理サーバ５０で生成することもできる。その場合は、文書管理サーバ５０は、識別情報管理サーバ５１に電子文書の属性情報のみを送信する。識別情報管理サーバ５１は、受信した属性情報から必要な識別情報の数を算出し、受信した属性情報と発行する識別情報とを関連付け、文書管理サーバ５０に識別情報を送信する。文書管理サーバ５０は、受信した識別情報を基に、符号パターン画像を生成し、電子文書情報と共に画像形成装置５２へ送信する。
【００８５】
また、識別情報として任意の情報を利用することもできる。例えば、１２８ビット長のＵＵＩＤや、サーバのネットワークアドレスと印刷時刻から生成したＩＤとすることもできる。生成した識別情報が、例えば、符号ブロック容量の６０ビットを超える場合は、既に説明したような方法で情報を分割格納することができる。
【００８６】
更に、本実施の形態では、電子ペン３（図２０参照）で記録媒体上に筆記した情報を取得する度に、識別情報管理サーバ５１（図１９参照）が毎回オリジナルの電子文書から筆記情報を反映するための電子文書を生成するとしたが、これに限られない。
この処理の前に、識別情報管理サーバ５１が筆記済電子文書の有無を検索し、筆記済の電子文書を検出した時は、その筆記済の電子文書に今回取得した筆記情報を反映するとしても良い。更にまた、識別情報管理サーバ５１が、クライアント５４に新たに筆記済電子文書を生成するか、検出した筆記済電子文書に筆記情報を追記するかどうかを問い合わせる構成としても良い。なお、筆記済電子文書は、識別情報管理サーバ５１に筆記済電子文書の属性情報（格納場所）を予め登録しておくことで、容易に検索・取得できる。
【図面の簡単な説明】
【００８７】
【図１】符号パターン画像の単位符号パターンの例（９Ｃ２）の説明図である。
【図２】９Ｃ２の単位符号パターンが取り得る３６通りのドット配置を示した図である。
【図３】９Ｃ２の単位符号パターンが取り得る３６通りのドット配置から選択できる同期符号の組み合わせを示した図である。
【図４】識別符号の埋め込み用の符号ブロック（識別符号ブロック）の一例を示した図である。
【図５】符号パターン画像生成装置の一例を示した機能ブロック図である。
【図６】符号パターン画像にて位置符号が配置されている一例を示した図である。
【図７】符号パターン画像にて識別符号が配置されている一例を示した図である。
【図８】本実施の形態が適用される画像処理装置の構成の一例を示したブロック図である。
【図９】近接ドット対を検出した結果の一例を示す図である。
【図１０】基準ドット対を選択していく過程の一例を示す図である。
【図１１】基準ドット対を選択した結果の一例と基準ドットが基準軸Ｘと基準軸Ｙとからなる座標系に配置される一例とを示す図である。
【図１２】近接ドット対を検出する具体例を示す図である。
【図１３】近接ドット対を検出する具体例を示したフローチャートである。
【図１４】基準ドット対を選択する具体例を示したフローチャートである。
【図１５】基準ドット対の傾き角度を取得する処理の具体例を示したフローチャートである。
【図１６】符号パターン画像の回転角度を取得するための処理の具体例を示したフローチャートである。
【図１７】本実施の形態で検出される符号パターン画像の回転角度に基づいて作成される仮想格子の一例と、その仮想格子を用いた同期化処理の具体例とを示した図である。
【図１８】本実施の形態における単位符号パターンの境界を検出する処理の一例の概要を説明する図である。
【図１９】本実施の形態におけるシステム構成の一例を示した図である。
【図２０】本実施の形態で使用する電子ペンの機構の一例を示した図である。
【符号の説明】
【００８８】
１…符号パターン画像生成装置、２…画像処理装置、３…電子ペン、１０…位置符号生成部、１１…Ｍ系列符号化部、１２…ブロック分割部、１３…識別符号生成部、１４…ブロック分割部、１５…ＲＳ符号化部、１６…付加画像情報出力部、１７…ブロック合成部、１８…出力画像生成部、１９…重畳情報出力部、２０…画像取得部、２１…ノイズ除去部、２２…ドット位置検出部、２３…基準ドット対検出部、２４…近接ドット対検出部、２５…ドット対選択部、２６…角度検出部、２７…復号部、２８…同期化部、２９…単位符号パターン境界検出部、３０…同期符号検出部、３１…識別符号検出部、３２…位置符号検出部、３３…ＲＳ符号復号部、３４…位置符号復号部、５０…文書管理サーバ、５１…識別情報管理サーバ、５２…画像形成装置、５３…印刷文書、５４…クライアント、５５…ネットワーク、６１…制御回路、６２…圧力センサ、６３…赤外ＬＥＤ、６４…赤外ＣＭＯＳ、６５…情報メモリ、６６…通信回路、６７…バッテリ、６８…ペンＩＤ用メモリ、６９…ペンチップ
【図１】
2008107996.tif 000003
【図２】
2008107996.tif 000004
【図３】
2008107996.tif 000005
【図４】
2008107996.tif 000006
【図５】
2008107996.tif 000007
【図６】
2008107996.tif 000008
【図７】
2008107996.tif 000009
【図８】
2008107996.tif 000010
【図９】
2008107996.tif 000011
【図１０】
2008107996.tif 000012
【図１１】
2008107996.tif 000013
【図１２】
2008107996.tif 000014
【図１３】
2008107996.tif 000015
【図１４】
2008107996.tif 000016
【図１５】
2008107996.tif 000017
【図１６】
2008107996.tif 000018
【図１７】
2008107996.tif 000019
【図１８】
2008107996.tif 000020
【図１９】
2008107996.tif 000021
【図２０】
2008107996.tif 000022