(57)【特許請求の範囲】
【請求項１】
コードパターン画像内の各位置ごとに異なる位置依存情報とコードパターン画像内で共通の位置非依存情報とを含んだコードパターン画像を生成するコードパターン画像生成装置であって、
位置依存情報とこれに対する冗長データとを含んだ複数の位置依存コード画像を、少なくとも一方向について互いに所定の間隔を空けて配置すると共に、配置された位置依存コード画像同士の間隔に、位置非依存情報とこれに対する冗長データとを含んだ位置非依存コード画像を繰り返して配置することによりコードパターン画像を生成する画像生成部と、
画像生成部により生成されたコードパターン画像を含んだ画像データを出力する画像出力部と、
を備え、
画像生成部は、位置依存コード画像と位置非依存コード画像の部分とを含む同一サイズ同一形状の単位パターンが密に配置されたコードパターン画像を生成し、位置依存コード画像は単位パターン内の少なくとも一方向に偏った領域に配置され、単位パターンにおける当該領域以外の部分に位置非依存コード画像の部分が配置され、互いに隣り合う所定数の単位パターンの組ごとに位置非依存コード画像が１つ割り当てられ、各単位パターンには、位置非依存コード画像を構成する各部分のうち、当該単位パターンが属する組における当該単位パターンの位置に応じた部分が配置される、
ことを特徴とするコードパターン画像生成装置。
【請求項２】
コードパターン画像内の各位置ごとに異なる位置依存情報とコードパターン画像内で共通の位置非依存情報とを含んだコードパターン画像を生成するコードパターン画像生成装置であって、
位置依存情報とこれに対する冗長データとを含んだ複数の位置依存コード画像を、少なくとも一方向について互いに所定の間隔を空けて配置すると共に、配置された位置依存コード画像同士の間隔に、位置非依存情報とこれに対する冗長データとを含んだ位置非依存コード画像を繰り返して配置することによりコードパターン画像を生成する画像生成部と、
画像生成部により生成されたコードパターン画像を含んだ画像データを出力する画像出力部と、
を備え、
画像生成部は、互いに隣り合う複数の位置依存コード画像からなる組ごとに、該組に対して所定の位置関係をなすように１つの位置非依存コード画像を配置する、
ことを特徴するコードパターン画像生成装置。
【請求項３】
コードパターン画像読取装置であって、
位置依存コード画像と位置非依存コード画像とを含む同一サイズ同一形状の単位パターンが密に配置されたコードパターン画像であって、位置依存コード画像は単位パターン内の少なくとも一方向に偏った領域に配置され、単位パターンにおける当該領域以外の部分に位置非依存コード画像の部分が配置され、互いに隣り合う所定数の単位パターンの組ごとに位置非依存コード画像が１つ割り当てられ、各単位パターンには、位置非依存コード画像を構成する各部分のうち、当該単位パターンが属する組における当該単位パターンの位置に応じた部分が配置されたコードパターン画像、を局所的に読み取った読取画像から、位置依存情報と位置非依存情報とを再生するコードパターン画像読取装置であって、
読取画像から位置依存コード画像を検出し、位置依存コード画像から位置依存情報を復号する位置依存情報読取部と、
当該コードパターン画像読取装置によりコードパターン画像上の異なる位置を読み取ることで得られる複数の読取画像に含まれる各単位パターンからそれぞれ位置非依存コード画像の断片を抽出し、それら各断片を単位パターン同士の位置関係に従って合成することで位置非依存コード画像を再構築する位置非依存コード画像再構築部と、
再構築された位置非依存コード画像から位置非依存情報を復号する位置非依存情報復号部と、
を備えるコードパターン画像読取装置。
【請求項４】
請求項３に記載のコードパターン画像読取装置であって、
単位パターン内の位置依存コード画像が示す位置依存情報は、前記コードパターン画像における当該単位パターンの座標を示す情報であり、
前記位置非依存コード画像再構築部は、前記コードパターン画像上の異なる位置を読み取ることで得られた読取画像から前記位置依存情報読取部が検出した位置依存コード画像が示す座標から、それぞれ当該単位パターンの属する組内での当該単位パターンの位置を特定し、特定した位置に基づき、位置非依存コード画像中での前記各断片の占める場所を特定してそれら各断片を合成する、
ことを特徴とするコードパターン画像読取装置。
【請求項５】
位置依存コード画像と位置非依存コード画像とを含む同一サイズ同一形状の単位パターンが密に配置されたコードパターン画像であって、位置依存コード画像は単位パターン内の少なくとも一方向に偏った領域に配置され、単位パターンにおける当該領域以外の部分に位置非依存コード画像の部分が配置され、互いに隣り合う所定数の単位パターンの組ごとに位置非依存コード画像が１つ割り当てられ、各単位パターンには、位置非依存コード画像を構成する各部分のうち、当該単位パターンが属する組における当該単位パターンの位置に応じた部分が配置されたコードパターン画像、を局所的に読み取った読取画像から、位置依存情報と位置非依存情報とを再生するためにコンピュータが実行するコードパターン画像読取方法であって、
読取画像から位置依存コード画像を検出し、位置依存コード画像から位置依存情報を復号し、
当該コードパターン画像読取装置によりコードパターン画像上の異なる位置を読み取ることで得られる複数の読取画像に含まれる各単位パターンからそれぞれ位置非依存コード画像の断片を抽出し、それら各断片を単位パターン同士の位置関係に従って合成することで位置非依存コード画像を再構築し、
再構築された位置非依存コード画像から位置非依存情報を復号する、
コードパターン画像読取方法。
【請求項６】
コードパターン画像内の各位置ごとに異なる位置依存情報とこれに対する冗長データとを含んだ複数の位置依存コード画像が、少なくとも一方向について互いに所定の間隔を空けて配置されると共に、配置された位置依存コード画像同士の間隔に、コードパターン画像内で共通な位置非依存情報とこれに対する冗長データとを含んだ位置非依存コード画像が繰り返して配置されたコードパターン画像、が印刷されたコードパターン画像媒体であって、
コードパターン画像は、位置依存コード画像と位置非依存コード画像の部分とを含む同一サイズ同一形状の単位パターンが密に配置されたものであり、位置依存コード画像は単位パターン内の少なくとも一方向に偏った領域に配置され、単位パターンにおける当該領域以外の部分に位置非依存コード画像の部分が配置され、互いに隣り合う所定数の単位パターンの組ごとに位置非依存コード画像が１つ割り当てられ、各単位パターンには、位置非依存コード画像を構成する各部分のうち、当該単位パターンが属する組における当該単位パターンの位置に応じた部分が配置される、
ことを特徴とするコードパターン画像媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、用紙等の媒体にコード化した情報を埋め込んで利用する技術に関し、特に各位置ごとに異なる位置依存情報とそれら各位置に共通の位置非依存情報とを含んだコードパターン画像の生成又は読取のための技術に関する。
【背景技術】
【０００２】
用紙の紙面の識別情報と、紙面上での各点の位置情報とを２次元コードに埋め込み、電子文書と重畳して印刷することで、紙に手書き等で書き込まれた情報と電子情報とを融合する技術が開発されている。この技術では、その紙面を読み取った装置が、紙面から２次元コードを検出してその情報を復号して利用することで、紙面を識別すると共に、紙面に対する書込の位置を識別し、紙面上の書込等の情報を電子情報中の適切なページ中の適切な位置に反映可能とする。
【０００３】
この種の技術には、例えば、特許文献１や２に開示されている技術、または特許文献３に開示されている技術がある。例えば特許文献１に示される装置は、２次元コードから媒体上の点の位置を検出する装置が開示されている。また特許文献２には、２次元コードに位置情報と文書ページを識別するための識別情報を埋め込む技術およびその２次元コードを検出する技術が開示されている。これらの技術では、ペンに付属したスキャナを用いることで、ペンにより記入されている箇所の位置情報やページ識別情報を読み取り、これらに基づき紙面に対する記入の軌跡を電子情報として再現している。
【０００４】
また、特許文献３には、媒体上の絶対位置を検出するための２次元コード間に、媒体上での相対位置を検出するための区分パターンを配置し、２次元コードを検出する撮像素子と区分パターンを検出する受光素子でそれぞれのパターンを読み取り、媒体上の位置を検出する技術が開示されている。
【０００５】
ペン型スキャナやペンに付属したスキャナで２次元コードを読み取る場合、紙面を局所的にしか読み取らないので、読み取った部分の情報を電子情報に正しく反映させるには、読み取った部分に必ず紙面の識別情報と位置情報の両方が含まれていなければならない。ここで、従来の技術では、紙面の識別情報と、紙面内での位置情報とをまとめて１つの２次元コードに格納すると、２次元コードの大きさ（面積）が増加するため、画像読取装置で広い範囲を読み取る必要がある。
【０００６】
ところが、ペン型スキャナやペン付属のスキャナのように読取面が傾いた状態で読取を行う画像読取装置の場合には、読み取るべき面積が大きくなると画像の歪みや焦点ずれの影響が大きくなるため、読み取った画像から２次元コードを正しく復号することが困難になるか、極端な場合には復号処理が不可能になる場合がある。２次元コードに用いるシンボルを小さくすれば、２次元コードを小さくでき、スキャナの読取面積を小さくできるが、印刷装置の解像度やスキャナの解像度の制限があるためシンボルを小さくするにも限度がある。特に、オフィスや一般消費者向けの電子写真方式やインクジェット方式のプリンタで２次元コードを印刷することを考える場合、印刷解像度の限界からシンボルは余り小さくできない。
【０００７】
なお、以上では、紙面の識別情報と紙面内での位置情報とを１つの２次元コードにまとめる場合の問題を説明したが、これは１つの応用についての話である。紙面の識別情報の代わりに、その紙面に印刷される電子文書のページの識別情報、その電子文書自体の識別情報、その紙面に対して２次元コードパターンの印刷を行った印刷装置の識別情報など、様々な種類の情報を紙面内で共通の情報として紙面各所に埋め込んで利用する応用も考えられる。また、１冊のノートの各ページ内の各点に、ノート中で一意的な位置情報を付与する場合など、紙面とは異なる単位領域内での位置情報を用いる応用も考えられる。また、紙面内の各点に、その点の位置ではないが、位置毎に異なる情報を含める応用も考えられる。上述した２次元コードの面積が大きいことに起因する問題は、紙面内の各位置に位置情報等の位置に依存する情報と位置に依存しない共通の情報とを含む２次元コードを埋め込む応用一般に生じる問題である。
【０００８】
【特許文献１】特開２０００−２９３３０３号公報
【特許文献２】特開２００４−０９４９０７号公報
【特許文献３】特開２００１−０５１７９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の１つの側面では、画像読取装置の読取面積が小さくても読取可能な、位置ごとに異なる情報と位置によらず共通の情報との両方を含んだコードパターン画像を生成するための技術を提供する。
【００１０】
また本発明の別の側面では、画像読取装置の読取面積が小さくても読取可能な、位置ごとに異なる情報と位置によらず共通の情報との両方を含んだコードパターン画像が印刷された媒体を提供する。
【００１１】
また本発明の更に別の側面では、上記媒体上のコードパターン画像の読取を、読取面積の小さい画像読取装置で実現するための技術を提供する。
【課題を解決するための手段】
【００１２】
本発明の１つの側面では、コードパターン画像内の各位置ごとに異なる位置依存情報とコードパターン画像内で共通の位置非依存情報とを含んだコードパターン画像を生成するコードパターン画像生成装置であって、位置依存情報とこれに対する冗長データとを含んだ複数の位置依存コード画像を、少なくとも一方向について互いに所定の間隔を空けて配置すると共に、配置された位置依存コード画像同士の間隔に、位置非依存情報とこれに対する冗長データとを含んだ位置非依存コード画像を繰り返して配置することによりコードパターン画像を生成する画像生成部と、画像生成部により生成されたコードパターン画像を含んだ画像データを出力する画像出力部と、を備え、画像生成部は、位置依存コード画像と位置非依存コード画像の部分とを含む同一サイズ同一形状の単位パターンが密に配置されたコードパターン画像を生成し、位置依存コード画像は単位パターン内の少なくとも一方向に偏った領域に配置され、単位パターンにおける当該領域以外の部分に位置非依存コード画像の部分が配置され、互いに隣り合う所定数の単位パターンの組ごとに位置非依存コード画像が１つ割り当てられ、各単位パターンには、位置非依存コード画像を構成する各部分のうち、当該単位パターンが属する組における当該単位パターンの位置に応じた部分が配置される、ことを特徴とするコードパターン画像生成装置を提供する。
【００１３】
本発明の別の側面では、コードパターン画像を読み取った読取画像から位置依存コード画像を検出し、位置依存コード画像から位置依存情報を復号する位置依存情報読取部と、読取画像に含まれる各単位パターンからそれぞれ位置非依存コード画像の断片を抽出し、それら各断片を単位パターン同士の位置関係に従って合成することで位置非依存コード画像を再構築する位置非依存コード画像再構築部と、再構築された位置非依存コード画像から位置非依存情報を復号する位置非依存情報復号部と、を備えるコードパターン画像読取装置を提供する。
【００１４】
本発明の更に別の側面では、コードパターン画像を読み取った読取画像から位置依存コード画像を検出し、位置依存コード画像から位置依存情報を復号する位置依存情報読取部と、当該コードパターン画像読取装置によりコードパターン画像上の異なる位置を読み取ることで得られる複数の読取画像に含まれる各単位パターンからそれぞれ位置非依存コード画像の断片を抽出し、それら各断片を単位パターン同士の位置関係に従って合成することで位置非依存コード画像を再構築する位置非依存コード画像再構築部と、再構築された位置非依存コード画像から位置非依存情報を復号する位置非依存情報復号部と、を備えるコードパターン画像読取装置を提供する。
【００１５】
本発明の更に別の側面では、コードパターン画像内の各位置ごとに異なる位置依存情報とこれに対する冗長データとを含んだ複数の位置依存コード画像が、少なくとも一方向について互いに所定の間隔を空けて配置されると共に、配置された位置依存コード画像同士の間隔に、コードパターン画像内で共通な位置非依存情報とこれに対する冗長データとを含んだ位置非依存コード画像が繰り返して配置されたコードパターン画像、が印刷されたコードパターン画像媒体であって、コードパターン画像は、位置依存コード画像と位置非依存コード画像の部分とを含む同一サイズ同一形状の単位パターンが密に配置されたものであり、位置依存コード画像は単位パターン内の少なくとも一方向に偏った領域に配置され、単位パターンにおける当該領域以外の部分に位置非依存コード画像の部分が配置され、互いに隣り合う所定数の単位パターンの組ごとに位置非依存コード画像が１つ割り当てられ、各単位パターンには、位置非依存コード画像を構成する各部分のうち、当該単位パターンが属する組における当該単位パターンの位置に応じた部分が配置される、
ことを特徴とするコードパターン画像媒体、を提供する。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の好適な実施の形態（以下「実施形態」と呼ぶ）について説明する。
【００１７】
まず、図１を参照して、本実施形態における２次元コードパターン画像の構造について説明する。この２次元コードパターン画像は、用紙等の媒体に印刷されて、媒体表面上での各点の位置（座標）とそれら各位置の間で共通な識別情報を表現するものである。本実施形態の２次元コードパターン画像は、特許文献１〜３と同様、加筆（アノテーション）情報の電子化を典型的な応用として想定しているが、応用分野はそれに限られない。また、以下では、２次元コードパターン画像が紙のシートに印刷される例を典型例として説明するが、ロール紙等の非シート媒体、或いは透明プラスティックシートなどの紙以外の被印刷媒体に対しても本発明が適用可能であることは、明かであろう。
【００１８】
本実施形態の２次元コードパターン画像は、図１に示すような単位領域１０を２次元マトリクス状に配列して構成される。
【００１９】
例えば、図２に示すように、用紙２０の面上に、縦横の端辺からそれぞれ所定幅のマージン部分を除いた矩形領域を、２次元コードパターン画像を印刷するコードパターン配置領域２２とする。その領域２２の左上隅の点を座標原点にとし、この原点からみて右方向をｘ軸の正の方向、下方向をｙ軸の正の方向とした直交座標系を考える。このコードパターン配置領域２２に、矩形の単位領域１０を、ｘ、ｙの各軸方向に実質的に密に配列したものが、２次元コードパターン画像となる。
【００２０】
２次元コードパターン画像の一部分を図３に模式的に示す。図３の左上隅の点Ｏを座標原点として、単位領域１０がｘｙの２次元直交マトリクス状に配列されている状態を示している。このマトリクスに対し、原点Ｏからｘ方向及びｙ方向のそれぞれについて、単位領域１０ごとに１から始まる通し番号を振れば、ｘ，ｙ各方向の通し番号の組により個々の単位領域１０の座標を示すことができる。例えば、図３の左上隅の単位領域１０の座標は（１，１）となり、その右隣の単位領域１０の座標は（２，１）となる。この座標系を便宜上「パターン座標系」と呼ぶことにする。
【００２１】
好適には、単位領域１０の形状は正方形とする。単位領域１０を長方形とした場合、座標の尺度がｘ方向とｙ方向とで異なるので、パターン座標系で求めた長さをｍｍ単位等の実寸法に換算する際には、ｘ方向とｙ方向とで換算係数が異なるが、正方形であれば、ｘ，ｙ両方向の換算係数を同じものとすることができる。
【００２２】
１つの単位領域１０は、図１に示すように、位置コード画像１２と識別コード画像１４から構成される。
【００２３】
位置コード画像１２は、位置情報を表現するコード画像である。この位置情報は、典型的には、コードパターン配置領域２２上で、当該位置コード画像１２（或いはそれを含む単位領域１０）が配置される２次元座標を示す情報である。座標は、前述のパターン座標系でのものでよい。例えば、位置情報のデータ量を、ｘ，ｙの各方向にそれぞれ８ビットとすれば、ｘ，ｙの各方向にそれぞれ２５６個の座標を表現できる。この場合、１個の単位領域１０を例えば３ｍｍ×３ｍｍとすれば、約８０ｃｍ四方の領域を３ｍｍの間隔で位置表現（アドレッシング）することができる。なお、この２次元コードパターン画像を読み取る装置では、検出した位置コード画像から復号した３ｍｍ間隔の位置情報と、読取画像内でのその位置コード画像の位置の情報とを用いることで、例えば斜線パターンのピッチ、すなわち０．３ｍｍ程度の位置解像度で読取位置を特定することができる。
【００２４】
本実施形態では、位置コード画像１２には、位置情報だけでなく、それに対応する誤り検出符号又は誤り訂正符号などの冗長データも含める。用紙等に印刷されたコードパターン画像を光学的に読み取る場合には読み取り誤差がつきものであるが、位置情報に誤り検出符号が付加されていれば、当該誤り検出符号の符号長に応じたビット数までの読み取り誤りを検出できる。また誤り訂正符号が付加されていれば、当該誤り訂正符号の符号長に応じたビット数までの読み取り誤りを訂正できる。なお、誤り検出符号と誤り訂正符号のどちらを用いるかは、２次元コードパターン画像の利用目的、位置情報のデータ量、１つの位置コード画像１２で表現できるデータ量などの兼ね合いで決めればよい。
【００２５】
識別コード画像１４は、コードパターン配置領域２２内で共通の識別情報を表現するコード画像である。上述の位置コード画像１２（すなわちそれが表現する位置情報）は、コードパターン配置領域２２に配置される各単位領域１０ごとに異なるのに対し、識別コード画像１４（すなわちそれが表現する識別情報）は、コードパターン配置領域２２に配置されるすべての単位領域１０で同じである。すなわち、識別コード画像１４は、同じものがコードパターン配置領域２２に２次元的に繰り返し配置される。
【００２６】
この識別情報の典型例は、用紙の面を一意的に識別する識別番号である。この場合、１枚の用紙の１つの面に印刷される識別コード画像１４が示す識別情報の値が全て同じ値となる。例えば、このように各ページ毎に異なる識別コード画像１４が印刷されたノートに対し、特許文献１，２に示されるような記入と同時に記入先の領域を読み取るスキャナ付ペンを用いて記入を行った場合、ノートのページに対する記入の軌跡を、そのノートに対応する電子文書の対応ページに電子情報として記録することができる。
【００２７】
別の例では、一枚一枚の用紙ごとの識別情報が考えられる。また、複数の用紙からなる冊子（例えばノート）の識別情報も考えられる。
【００２８】
更に別の例では、識別情報として、電子文書のページを一意的に識別するものを用いることもできる。これは、電子文書の各ページを２次元コードパターン画像と重畳して印刷するなどの応用を想定したものである。この場合、ある印刷されたページから読み取った識別コード画像１４から、そのページがどの電子文書のどのページであるかを特定することができる。同様に、電子文書を一意的に識別する識別情報を用いることもできる。この場合、電子文書を構成する複数のページの印刷結果に対しては、全て同じ識別コード画像１４が印刷される。
【００２９】
識別コード画像１４は、このような識別情報と、これに対応する誤り検出符号又は誤り訂正符号などの冗長データとを合わせた情報を表現するコード画像である。
【００３０】
図１の例では、位置コード画像１２の領域形状は正方形又は矩形であり、これが単位領域１０の左上隅に配置される。単位領域１０から位置コード画像１２の領域を除いた残りの逆Ｌ字形の領域が、識別コード画像１４の領域である。
【００３１】
位置コード画像１２の領域は、単位領域１０内に分散するのではなく、コンパクトにかたまっている方がよい。位置コード画像１２を構成する各部分が単位領域１０の全域に分散していると、位置情報を読み取るのに単位領域１０全体を読み取る必要があるが、位置コード画像１２が単位領域１０の一部分にかたまっていると、その部分だけが完全に読み取れれば位置情報を検出できる。すなわち、位置コード画像１２がコンパクトにかたまっている方が、スキャナの読取面積が小さくて済む。この意味で、図１に示した正方形又は矩形の位置コード画像１２の領域形状は好適である。ただし、位置コード画像１２の領域は、コンパクトにかたまっているのであれば、正方形又は矩形でなくても構わない。単位領域１０内での位置コード画像１２の配置領域が、少なくともｘ方向又はｙ方向のいずれか一方について偏っていれば、従来よりも必要読取面積を小さくできる。
【００３２】
図１では模式図で示したが、図４には、２次元コードパターン画像の具体例を示す。この例は、米国ゼロックス社のパロアルト研究所で開発された、角度の異なる斜線でデータを表現するグリフコード（例えば特開平６−１０３３９０号公報、特開平６−７５７９５号公報）をコードシンボルとして用いた２次元コードパターン画像である。
【００３３】
この例では、単位領域１０は８シンボル×８シンボルの正方形領域である。各シンボルの値は、図５に示すように斜線パターンで表現される。この例では、シンボル値０は垂直線に対して反時計回りに４５度の角度をなす右下がりの斜線で、シンボル値１は垂直線に対して時計回りに４５度の角度をなす右上がりの斜線で表現される。
【００３４】
このうち、位置コード画像１２は、単位領域１０の左上隅の６シンボル×６シンボルの正方形の画像であり、識別コード画像１４は、単位領域１０からその６×６シンボルの正方形を引いた残りの逆Ｌ字領域の画像となる。
【００３５】
また、この例では、単位領域１０の外周に沿って縦横の各方向に、同期コード１６の列及び行を設けている。この例では、同期コード１６は、右上がり（「１」）の斜線シンボルの連続であり、シンボルのサイズと配列ピッチは単位領域１０内のシンボルサイズ及びピッチと同じである。同期コード１６は、図６に示すように、縦及び横に等間隔で設けられ、それら同期コード１６で囲まれる正方形領域に各単位領域１０が設けられる。同期コード１６は、各単位領域１０の区切りを示す。すなわち、２次元コードパターン画像を読み取った装置では、右上がりのシンボルが連続している行及び列を検出すると、それら行と列とで形成される格子の網目の内部を単位領域１０と認識することができ、その単位領域１０の左上隅の６×６のシンボルが位置コード画像１２と認識できる。
【００３６】
なお、同期コード１６は、単位領域１０或いは位置コード画像１２の場所を特定することができるものであれば、図４に例示したようなものでなくてもよい。例えば、単位領域１０の四隅に斜線シンボルとは異なる特定形状のシンボルを配置したものを同期コード１６としてもよい。図４及び図６の例では、同期コード１６のためにシンボル１つ分の幅の行及び列を使ったが、同期コード１６を構成するマークが十分に小さいものであれば、単位領域１０を隙間なく２次元配列し、隣接する単位領域１０の余白部分にそのマークを配置するようにしてもよい。
【００３７】
図４の例では、１つの位置コード画像１２には合計３６シンボル、すなわち３６ビットのデータが格納されている。３６ビットのうち、１８ビットをｘ座標の符号化に、１８ビットをｙ座標の符号化に使用することができる。各１８ビットを全て位置の符号化に使用すると、２＾１８通り（約２６万通り）の位置を符号化できる。各斜線パターンが、図５に示したように８画素×８画素で構成されている場合、６００ｄｐｉ（ドット・パー・インチ）で印刷すると、６００ｄｐｉの１ドットの縦横の長さは０．０４２３ｍｍなので、縦横共に、図６の２次元コード（同期コード１６を含む）の縦、横の長さは３ｍｍ程度（＝１シンボル当たり８画素×９シンボル×０．０４２３ｍｍ）となる。３ｍｍ間隔で２６万通りの位置を符号化した場合、約７８６ｍの長さを符号化できる。読取の精度がよければ１８ビット全てを位置の符号化に使用することもできるが、実用的には、誤り検出や誤り訂正のための冗長ビットを含めることが好適である。１８ビットに占める冗長ビットの割合を増やすと誤り検出や誤り訂正の能力が増えるが、表現できる位置の範囲が小さくなる。
【００３８】
また、図４の例では、識別コード画像１４は、２ビット×８ビットの矩形領域および２ビット×６ビットの矩形領域に配置されており、合計２８ビットの識別情報を格納できる。識別情報として２８ビットを使用した場合は、約２億７千万通り（２＾２８通り）の識別情報を表現できるが、実用的には２８ビットのうちのいくつかのビットを誤り検出や誤り訂正のための冗長ビットとすることが好適である。
【００３９】
以上の例では、互いに角度が９０度異なる２つの斜線パターンをシンボルとして用いることで１シンボルで１ビットのデータを表現したが、これは一例に過ぎない。例えばシンボルに垂直線と水平線のパターンを追加すれば２ビットの情報を１シンボルで表現できる。このように、１シンボルの斜線パターンの角度種類を増やすことで、１シンボルが表現できるビット数を増加することも可能である。
【００４０】
以上のように構成した２次元コードパターン画像を用いれば、従来技術で必要とされるよりも小さい読取面積のスキャナで、位置コード画像１２と識別コード画像１４が読み取れる。この効果について、図７Ａ及び図７Ｂを参照して説明する。
【００４１】
図７Ａは、単位領域１０内で位置コード画像１２と識別コード画像１４とを分離した本実施形態の２次元コードパターン画像３０を、図７Ｂは、単位領域３６内に位置情報と識別情報が一体となっている特許文献１及び２の２次元コードパターン画像３４を、それぞれ模式的に示している。
【００４２】
いずれの場合も、位置情報は各単位領域１０又は３６ごとに異なるので、位置情報を求めるためには、スキャナの読取領域は、位置情報を示す領域を少なくとも１つは完全にカバーしなければならない。図７Ｂに示す従来パターンの場合、位置情報は単位領域３６全体の情報から求める必要があるので、読取領域は１つの単位領域３６を完全にカバーしなければならない。原理的には、２単位領域×２単位領域の正方形（更に厳密にはこれより縦横それぞれ１シンボルずつ小さくてもよい）をカバーできる読取領域３８であれば、読取領域３８がどのように移動しても、必ず１つは完全な単位領域３６を読み取ることができる。スキャナの回転も考慮すると、この場合のスキャナの読取領域は、正方形の領域３８の対角線を直径とする円領域となる。
【００４３】
これに対し、本実施形態では、位置情報は位置コード画像１２内にのみ偏在するので、位置情報を完全に読み取るためには、少なくとも１つの位置コード画像１２が読み取れればよい。このためにはスキャナは、図７Ａに示すように、位置コード画像１２を縦横に２つずつ含む領域３２（更に厳密にはこれより縦横それぞれ１シンボルずつ小さくてもよい）をカバーできればよい。このように、本実施形態では、スキャナの読取領域は２単位領域×２単位領域よりも小さくて済む。図７Ａの場合と図７Ｂの場合とで、位置情報及び識別情報のビット数とそれに対して付加する冗長ビット数と１シンボルの画像サイズとが同じであれば、単位領域１０と単位領域３６のサイズは同じになるので、同条件であれば本実施形態の方が従来技術よりもスキャナの読取領域が小さくて済む。
【００４４】
以上では、スキャナの読取面に傾きがない理想状態で議論した。読取面の傾きを考慮した場合、その傾きの分だけ読取領域のサイズを大きく設定する必要がある。しかし、傾きを考慮して読取領域を大きくする程度は本実施形態でも従来技術でも同じなので、結局、本実施形態の方が読取領域は小さくて済む。
【００４５】
なお、本実施形態の場合、スキャナの読取領域のサイズを、位置コード画像１２が少なくとも１つカバーできる限界に近い小さい領域とした場合、その読取領域に含まれる各単位領域１０の識別コード画像１４は、たいていの場合どれも細切れになってしまい、一つとして完全には読みとれない。しかし、識別コード画像１４は、すべての単位領域１０で同じなので、細切れになったものを適切に再構築すれば、完全な識別コード画像１４を再構成できる。したがって、本実施形態では、スキャナの読取領域を従来技術より小さくしても、位置情報及び識別情報の両方を読みとることができる。識別コードの再構築処理については、後で詳しく説明する。
【００４６】
このように、スキャナの読取領域を小さくできれば、スキャナの読取面が傾いた状態での画像の歪みや焦点ずれを小さくすることができる。したがって、歪みや焦点ずれによる読取能力劣化の問題を低減することができる。
【００４７】
なお、特許文献２の方式は、同文献の図４に示されるように、１つ１つのコード画像内で２バイトの位置情報と３バイトの文書ページ識別情報とが分かれて配置されている。これは一見本実施形態と似ているように見えるかもしれないが、全く異なるものである。すなわち、特許文献２の方式では、位置情報と文書ページ識別情報の合計５バイトに対して４バイトの誤り訂正符号が計算され、それら４バイトの誤り訂正符号がそのコード画像のほぼ全長にわたって範囲にまたがっている。このため、位置情報を復号するにも文書ページ識別情報を復号するにも、広い範囲に分布する誤り訂正符号を読まなければならない。このように、特許文献２では、位置情報を復号するにはコード画像全体を読まなければならないため、結局図７Ｂと同じことになってしまう。
【００４８】
次に、図８を参照して、以上に説明した本実施形態の２次元コードパターン画像を生成するためのコードパターン画像生成装置の構成を説明する。この装置には、外部の装置（例えばパーソナルコンピュータや文書サーバなど）から、コードパターン配置領域２２内に配置する各単位領域１０の位置情報と、それら各位置で共通な識別情報が入力される。
【００４９】
位置情報符号化部１０２は、入力された位置情報を所定の符号化方式により符号化する。この符号化処理では、例えば、よく知られた誤り訂正符号化方式であるＲＳ（リードソロモン）符号やＢＣＨ符号等の方式を用いることができる。また、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）やチェックサムなどの誤り検出符号化方式を用いることもできる。いずれを用いるかは目的等に応じて定めればよい。位置情報符号化部１０２は、位置情報に対し、誤り訂正又は誤り検出符号化方式に従って冗長ビットを計算し、これを位置情報に付加したものを位置コードとして出力する。なお、この符号化処理では、位置情報の各ビットの順序を所定の規則に従って入れ換えるなど、位置情報に対して変換処理や暗号化処理を施し、その処理結果に対して冗長ビットを求めるようにしてもよい。
【００５０】
コード画像において用いるシンボルが、１シンボルで複数ビットのデータを表現するものである場合、位置情報符号化部１０２から出力されるビット列は、そのシンボルが表現できるビット数ごとに区切ることで、各シンボルのシンボル値として解釈できる。
【００５１】
位置コード行列生成部１０４は、位置情報符号化部１０２から出力された位置コードの各シンボル値を、単位領域１０での位置コード画像１２のシンボル配列パターンに応じた２次元行列の形に配列する。すなわち、図９Ａに示すように、位置コード行列生成部１０４に入力される位置コード４０は各シンボル値が一列に並んだシリアルデータであるが、位置コード行列生成部１０４は、それを例えば図４に示す位置コード画像１２に変換するための前処理として、６×６の位置コード行列４２に変換する。より厳密に言えば、位置コード行列４２は、８×８の単位領域１０の２次元コード行列のうちの、左上隅の６×６の部分である。シリアルな位置コード４０の各シンボル値を位置コード行列４２の何行何列にマッピングするかを示すマッピング規則は、本実施形態の２次元コードパターン画像を利用するシステムにおいてあらかじめ取り決めておき、位置コード行列生成部１０４に登録しておけばよい。
【００５２】
識別情報符号化部１０６は、入力された識別情報を所定の符号化方式により符号化する。符号化方式としては、位置情報符号化部１０２で使用した方式と同様の方式を使用すればよい。
【００５３】
識別コード行列生成部１０８は、図９Ｂに示すように、識別情報符号化部１０６が出力するシリアルな識別コード４４を、あらかじめ取り決められているマッピング規則に従って２次元配置することにより、図４に示す識別コード画像１４のシンボル配列に応じた識別コード行列４６を生成する。
【００５４】
以上の構成において、位置情報は、各単位領域１０毎に異なるので、位置情報符号化部１０２及び位置コード行列生成部１０４は、それら各位置情報についてそれぞれ位置コード行列４２を求める。これに対して識別情報は、位置が異なっても共通なので、識別情報符号化部１０６及び識別コード行列生成部１０８は、１つの識別情報の識別コード行列４６を求める。
【００５５】
コード配置部１１０は、各位置情報に対応する位置コード行列４２と、識別情報に対応する識別コード行列４６とを、それぞれコードパターン配置領域２２の対応する位置に配置することで、出力すべき２次元コードパターン画像のサイズに相当する２次元コード行列を生成する。この処理では、各位置情報の位置コード行列４２をそれぞれ当該位置情報が示す座標に配置し、各位置情報の位置コード行列４２にそれぞれ隣接して、同じ識別情報の識別コード行列４６を配置する。或いは、各位置ごとに、正方形の位置コード行列４２と逆Ｌ字形の識別コード行列４６とを合成して単位領域１０のコード行列を作成し、それら各位置の単位領域１０のコード行列をそれぞれ対応する位置に配置することで、パターン全体の２次元コード行列を生成する。２次元コードパターン画像に同期コード１６を含める場合は、コード配置部１１０が、同期コード１６に対応するコードの行や列をそれら単位領域１０のコード行列の間に挿入する。ただし、これは必須ではなく、同期コード１６は既知のパターン配列なので、後述するコードパターン画像生成部１１４で挿入してもよい。
【００５６】
パターン格納部１１２には、図５に示したような各シンボル値に対応するビットマップのパターン画像が格納される。
【００５７】
コードパターン画像生成部１１４は、コード配置部１１０が作成した２次元コード行列の各シンボル値を、パターン格納部１１２から取得されるそのシンボル値に対応するパターン画像に置き換えることにより２次元コードパターン画像を生成する。同期コード１６を挿入する必要がある場合は、例えばあらかじめ用意されている同期コード１６の画像の各格子内の空白部分に対し、２次元コード行列の各シンボル値に対応するパターン画像を配列していけばよい。
【００５８】
このようにして生成された２次元コードパターン画像は、プリンタや複写機、複合機などの画像形成装置に供給して印刷出力することができる。
【００５９】
図８のコードパターン画像生成装置は、例えば、以上に説明した各ユニット１０２〜１１４の機能を記述したプログラムをコンピュータのプロセッサにより実行させることで実現させることができる。また、各ユニット１０２〜１１４の機能は比較的単純なので、これらの一部又は全てをハードウエア回路として構成することもできる。また、各ユニット１０２〜１１４の一部又は全てをＤＳＰ（デジタル・シグナル・プロセッサ）などといった、ハードウエア回路とソフトウエアの両方を用いた演算装置として構成することもできる。
【００６０】
次に、図１０及び図１１を参照して、コードパターン画像生成装置の２つの変形例を説明する。図１０及び図１１において、図８に示した構成要素に相当する構成要素には、同一符号を付してその説明を省略する。
【００６１】
図１０は、位置情報符号化部１０２と位置コード行列生成部１０４の代わりに、位置コード行列格納部１２０を設けた構成を示す。
【００６２】
位置情報は、画像が変わっても基本的に同じである。例えば、位置情報の基準点を画像左上とする場合、どのような画像であっても画像左上部に配置される位置情報は同じ（例えばＸ座標０、Ｙ座標０）である。従って、２次元コードパターン画像において用いる位置コード行列の組を予め生成して位置コード行列格納部１２０に格納しておき、実際に２次元コードパターン画像を生成する際には、格納された位置コード行列を用いるようにすれば、画像生成時の負荷を軽減することができる。位置コード行列格納部１２０には、例えば、座標をインデックスとしてその座標に対応する位置コード行列を格納しておけばよい。
【００６３】
図１１は、位置コード行列ではなく位置コード画像１２そのものを予め用意しておく例である。位置コード画像格納部１３０には、使用される可能性がある位置コード画像が例えば座標ごとに格納されている。この構成では、コード配置部１１０は、識別コード行列生成部１０４が生成した識別コード行列のみをコードパターン配置領域の必要な位置に配置し、この配置結果を受けたコードパターン画像生成部１１４は識別コード部分のみのコードパターン画像を生成する。画像合成部１３２は、この識別コード部分のコードパターン画像の各座標に対応する空白部分に、位置コード画像格納部１３０から取り出した各座標の位置コード画像を合成する。なお、位置コード画像格納部１３０には、各位置コード画像を各々の座標位置に配置して識別コード画像部分のみを空白とした画像を格納しておき、これをコードパターン画像生成部１１４の出力画像と合成するようにしてもよい。
【００６４】
位置情報はページ内の各位置で異なるため数が非常に多いのに対し、識別情報は例えば１ページにつき１つなどと非常に数が少ない。したがって、図１０や図１１のように位置情報についての処理を大幅に低減する構成は、処理負荷の低減のためには非常に有益である。
【００６５】
次に、本実施形態の２次元コードパターン画像を読み取るコードパターン画像読取装置について説明する。
【００６６】
図１２に示すように、このコードパターン画像読取装置２００は、スキャナ部２０２，コード画像抽出部２０４及びコード認識部２０６を備える。
【００６７】
スキャナ部２０２は、媒体上に印刷された２次元コードパターン画像を光学的に読み取るスキャナである。スキャナ部２０２は、図７Ａに示したように、読取面の傾きを考慮した上で少なくとも２×２の位置コード画像１２をカバーする読取面積を備える。スキャナ部２０２は、典型的には、特許文献１，２に示されるようなペンとスキャナが一体型となったスキャナ付ペンであるか、あるいはペン型スキャナである。スキャナ部２０２は、例えば毎秒数十〜百フレーム程度の高いフレームレートで読取範囲の画像を読み取る。
【００６８】
コード画像抽出部２０４は、スキャナ部２０２が読み取った画像（読取画像と呼ぶ）から位置コード画像１２と識別コード画像１４とを抽出する。コード画像抽出部２０４の処理を、図１３を参照して説明する。なお、コード画像抽出部２０４に入力される読取画像は、読取面の傾きに応じた歪みの補正などが既になされているものとする。
【００６９】
コード画像抽出部２０４は、スキャナ部２０２から読取画像を取得する（Ｓ１）と、読取画像中から同期コード１６を検出する（Ｓ２）。図４のようなコードパターン画像の場合、右上がりの斜線パターンが連続して現れる行及び列を同期コード１６の行、列として検出する。なお、同期コードとしては図４に例示したもの以外にも従来から提案されている様々なものを用いることができ、その同期コードの種類に応じた従来からある検出方式で検出できる。
【００７０】
同期コード１６が検出できると、その同期コード１６の格子を基準に位置コード画像１２の位置が特定できる。例えば、図４及び図６の例では、同期コード１６がなす格子の網目の左上隅の６×６シンボルの領域が位置コード画像１２の領域と特定できる。コード画像抽出部２０４は、読取画像中の位置コード画像１２が存在するはずの各領域から、完全な位置コード画像１２を検出する（Ｓ３）。
【００７１】
この検出を図１４を参照して説明すると、スキャナ部２０２が２次元コードパターン画像３０の中の領域３２を読み取ったとする。図中で２次元コードパターン画像３０の右下に示すように、このとき得られる読取画像３４は単位領域１０ａ，１０ｂ，１０ｃ，１０ｄのそれぞれ一部分ずつを含んでいる。ただし、読取面積が適切に定められているので、この読取画像３４の中には、必ず１つは欠落のない完全な位置コード画像１２が含まれている。図１４の例では、右下の単位領域１０ｄの位置コード画像１２ｄが欠落なく読み取られている。同期コード１６から単位領域１０ａ，１０ｂ，１０ｃ，１０ｄの範囲が特定でき、それぞれの位置コード画像の範囲が特定できるので、ステップＳ３では、読取画像３４中でそれぞれの位置コード画像の範囲を調べ、位置コード画像１２の領域サイズである６×６シンボル分の正方領域に画像データが存在するもの（位置コード画像１２ｄ）を検出する。
【００７２】
次にコード画像抽出部２０４は、ステップＳ３で検出した完全な位置コード画像１２ｄと同じ単位領域１０ｄの領域から識別コード画像１４を取り出す（Ｓ４）。ただし、この例では、読取画像３４の単位領域１０ｄ内には識別コード画像は存在せず、その一部分１５ｄが取り出せるだけである。
【００７３】
そこでコード画像抽出部２０４は、単位領域１０ｄ内から取り出せた識別コード画像の一部分１５ｄの識別コード画像１４全体に対する不足量を計算する（Ｓ５）。図１４の例では、横方向の不足長さＳhと縦方向の不足長さＳvとをそれぞれ計算している。同期コード１６から単位領域１０ｄの範囲が特定できているので、この計算は可能である。
【００７４】
次にコード画像抽出部２０４は、求めた不足量の情報を用いて、隣接する単位領域１０１０ａ，１０ｂ，１０ｃから、識別コード画像１４の不足分の画像１５ａ，１５ｂ，１５ｃを取得する（Ｓ６）。識別コード画像１４はすべての単位領域１０で同じものなので、単位領域１０ｄで足りない部分は、他の単位領域１０ａ，１０ｂ，１０ｃでのその足りない部分に対応する位置から取得する。例えば、単位領域１０ａの識別コード画像１４の領域の下端から高さＳv、右端から幅Ｓhの矩形領域の画像１５ａを切り出している。
【００７５】
そしてコード画像抽出部２０４は、ステップＳ６で取得した画像１５ａ，１５ｂ，１５ｃを、画像１５ｄとをそれぞれ適切な位置に並べることで、完全な識別コード画像１４を再構築する（Ｓ７）。
【００７６】
以上のようにして、読取画像３４から、位置コード画像１２と識別コード画像１４とが抽出される。コード認識部２０６は、それら位置コード画像１２と識別コード画像１４に対してコード認識処理を施すことで、位置情報と識別情報を再生する。ここで行われるコード認識処理は、大略的に言えば、図８を用いて説明した２次元コードパターン画像の作成処理の逆の処理である。識別コード画像１４を代表として説明すると、コード認識部２０６は、まず識別コード画像１４から各斜線シンボルを認識することで、各シンボルの値を求め、各シンボルの値を識別コード画像１４中での各シンボルの配列位置に合わせて配列した識別コード行列を求める。そして、この識別コード行列に対し、識別コード行列生成部１０８の逆の処理を行うことで直列的（シリアル）な識別コードを求め、この識別コードに対し、識別情報符号化部１０６の符号化方式に対応した復号処理を施すことで、識別情報を復号する。位置コード画像１２についても、同様の処理により、位置情報を復号できる。
【００７７】
コード画像抽出部２０４とコード認識部２０６は、１フレームごとに上述の抽出及び認識の処理を行い、位置情報及び識別情報を求める。
【００７８】
このようにして各フレームの読取画像から求められた位置情報及び識別情報は、これら情報を利用するアプリケーションソフトウエアに提供され、利用される。例えば、本実施形態の２次元コードパターン画像が印刷された用紙に対し、ユーザがペン付スキャナで書き込んだ書込を電子情報として取り込むアプリケーションの場合、識別情報からその用紙を特定してその用紙の原画像を取得し、連続して読み取られる各フレームから取得した位置情報からユーザの加筆の軌跡を求め、その軌跡を示す画像を原画像に重畳して記録するなどの処理を行う。
【００７９】
次に図１５及び図１６を参照して、コード画像抽出部２０４の処理手順の別の例を説明する。この処理では、コード画像抽出部２０４は、スキャナ部２０２から読取画像を取得し（Ｓ１１）、この読取画像から同期コード１６の行、列を検出する（Ｓ１２）。次に、同期コードに従い、読取画像のシンボルの行列にインデックス付けを行う（Ｓ１３）。すなわち、単位領域１０の縦方向及び横方向のシンボル数は既知であり、各単位領域１０の縦方向、横方向の境界は同期コード１６により識別できるので、ステップＳ１３では、各単位領域１０内のシンボルの各行、各列に対して、一定の規則でインデックス番号を振る。図４のコードパターン画像の例の場合、８シンボル×８シンボルなので、各行、各列に１〜８の整数のインデックス番号を順に振る。このインデックス付与の結果を図１６に模式的に示す。水平方向のインデックスは、単位領域１０の左端から右端に向かって１シンボル幅毎に１，２，・・・、８と割り当てられており、垂直方向のインデックスは、単位領域１０の上端から下端に向かって１シンボル幅毎に１，２，・・・、８と割り当てられている。同期コード１６の行と列の交点には、インデックス「０」を割り当てている。
【００８０】
コード画像抽出部２０４は、図１３の処理と同様にして、読取領域３２内の画像から完全な位置コード画像１２を検出するとともに（Ｓ１４）、インデックスを利用して識別コード画像１４を再構築する（Ｓ１５）。すなわち、全ての識別コード画像は同じものなので、垂直インデックスと水平インデックスとの組合せが等しい位置には同じシンボルが存在する。識別コード画像１４は、垂直インデックスが１〜６でかつ水平インデックスが７〜８となる組合せのシンボルと、垂直インデックス７〜８でかつ水平インデックス１〜８となる組合せのシンボルを併せたものである。したがって、ステップＳ１５では、識別コード画像１４の領域に該当する水平、垂直インデックスの組合せのシンボルを読取領域３２の画像から切り出し、それらを水平、垂直インデックスに従って組み立てることで、識別コード画像１４を再構築できる。この処理は、例えば読取領域３２の画像のシンボルを左上隅から順にラスタ走査していく中で、識別コード画像１４の領域に該当するインデックス組合せに該当するものがあれば、そのシンボルの画像を切り出し、画像バッファ中のそのインデックス組合せが示す２次元位置に配置する。この処理を、識別コード画像１４に必要な全ての水平、垂直インデックスの組合せに対応するシンボル画像が画像バッファ内に揃うまで繰り返せばよい。
【００８１】
以上のように、図１５の処理でも、位置コード画像１２と識別コード画像１４を抽出することができる。
【００８２】
なお、図１３及び図１５の例では、コード画像抽出部２０４はビットマップの位置コード画像１２と識別コード画像１４を抽出していたが、この代わりに、まず読取画像３４内の各斜線シンボルを認識することで、読取画像３４をシンボル値の２次元行列に変換し、この２次元行列から同期コードや位置コード行列、識別コード行列を検出するようにしてもよいことは、当業者には明かであろう。この場合、コード認識部２０６は、シンボル画像の認識を行う必要はなく、位置コード行列生成部１０４，位置情報符号化部１０２，識別コード行列生成部１０８，識別情報符号化部１０６のそれぞれの逆処理を行えばよい。
【００８３】
以上に説明したコード画像抽出部２０４及びコード認識部２０６は、例えば、以上に説明したそれら各ユニットの機能を記述したプログラムをコンピュータのプロセッサにより実行させることで実現させることができる。また、各ユニット２０４及び２０６の機能は比較的単純なので、これらの一部又は全てをハードウエア回路として構成することもできる。また、各ユニット２０４及び２０６の一部又は全てをＤＳＰ（デジタル・シグナル・プロセッサ）などといった、ハードウエア回路とソフトウエアの両方を用いた演算装置として構成することもできる。
【００８４】
以上に説明した識別コード画像（又は識別コード行列）の再構築処理は、いずれも、位置コード画像に対する識別コード画像の相対的な位置関係と、２次元コードパターン画像における識別コード画像の繰り返しの規則性についての知識を利用したものといえる。
【００８５】
以上説明したように、本実施形態のコードパターン画像読取装置は、識別コード画像１４が１つとして完全に読みとれなくても、異なる単位領域から読み取った部分部分の読取結果を貼り合わせることで識別コード画像１４を再構築できる。位置コード画像１２がかろうじて１つ完全に読みとれる程度までスキャナ部２０２の読取範囲を小さくしても、識別コード画像を読みとって復号することができる。
【００８６】
次に、図１７を用いて、本実施形態の２次元コードパターン画像を電子文書に重畳する画像処理装置について説明する。図１７において、コードパターン画像処理部１００は、図８に示した装置と同じ構成のものなので、説明を省略する。
【００８７】
図１７の装置において、プリントデータ入力部１４０は、パーソナルコンピュータや文書サーバなどの上位装置から転送されて来るプリントデータを入力する。このプリントデータは、印刷対象の文書画像をページ記述言語で記述したデータ、又は文書画像データそのものであり、文書の内容以外に文書の属性情報等の付加情報を含んでいる。この例では、付加情報には、２次元コードパターン画像に埋め込むべき位置情報と識別情報が含まれる。例えば、印刷する用紙の各ページごとにそのページ内に埋め込むべき各点の位置情報が、上位装置によりページごとの付加情報として付加されて送信されてくる。識別情報については、印刷する用紙のページごとに異なる識別情報を付ける場合は、プリントデータの各ページに対してそれぞれ識別情報が上位装置で付加情報として付され、文書単位の識別情報を付ける場合は、プリントデータの文書全体の付加情報としてその識別情報が付される。付加情報抽出部１４２は、プリントデータからこれら位置情報と識別情報を抽出する。コードパターン画像処理部１００は、抽出された位置情報と識別情報を用いて図８の装置と同様の処理を行うことで、各用紙に印刷すべき２次元コードパターン画像を生成する。生成された２次元コードパターン画像は、タイミング合わせのためにコードパターン画像バッファ１４８にいったん格納される。
【００８８】
文書画像生成部１４４は、プリントデータがページ記述言語のデータの場合は周知のページ記述言語解釈処理により画像データに変換し、プリントデータが画像データであればそれを用い、その画像データに対し更に色空間変換その他印刷のために必要な画像処理を行うことで、プリントエンジン１５２に供給するための文書の画像データを生成する。生成された文書画像データは、タイミング合わせのために文書画像バッファ１４６にいったん格納される。
【００８９】
コードパターン画像バッファ１４８及び文書画像バッファ１４６にそれぞれ１ページ分の画像が蓄積されると、画像合成部１５０がそれら両画像を合成する。この合成では、例えば、文書画像のプレーン乃至プレーン群と２次元コードパターン画像のプレーンとを合わせて、複数プレーンからなる画像データを生成する。
【００９０】
１つの好適な例では、２次元コードパターン画像は、人間の目には容易に識別できない（ほぼ不可視）が特定の赤外領域の波長を可視光領域の波長よりも多く吸収する性質を持つ色材を使用して媒体上に画像形成する。これに対し、文書画像は、その特定の赤外領域の波長は余り吸収せず、可視光領域の波長を多く吸収する色材を用いて媒体に画像形成する。電子写真方式で用いられているイエロー、マゼンタ、サイアンのトナーは、赤外域の波長をほとんど吸収しないので、文書画像印刷用の色材として用いることができる。この例では、文書画像はプリントエンジン１５２の可視色材のチャンネルへ転送されるプレーンとして、２次元コードパターン画像はプリントエンジン１５２の赤外吸収性色材のチャンネルへ転送されるプレーンとして、合成される。
【００９１】
プリントエンジン１５２は、画像合成部１５０から与えられる画像を用紙等の媒体に対して画像形成する。これにより、電子文書の画像と２次元コード画像とを重畳して印刷した印刷物を得ることができる。この例では、印刷物上の文書画像は特定波長域の赤外線をあまり吸収しないのに対し、２次元コードパターン画像はその特定波長域の赤外線をよく吸収するので、コードパターン画像読取装置（図１２参照）のスキャナ部２０２として、その特定波長域の赤外線を用いて画像を読み取るものを用いることで、文書画像の影響をほとんど受けずに２次元コードパターン画像を読み取ることができる。
【００９２】
以上では２次元コードパターン画像用の色材として不可視で赤外線を吸収するものを例に取ったが、これに限るものではない。例えば、２次元コードパターン画像を赤外域の波長を吸収する色材であるカーボンブラックを使用して形成し、文書画像をイエロー、マゼンタ、サイアンの色材（通常、これらの色材は赤外域の波長吸収量が少ない）を使用して画像を形成してもよい。この場合、文書画像における黒やグレーの色は、イエロー、マゼンタ、サイアンの組合せで表現すればよい。この方式は、コードパターン画像が紙面が薄黒くなってしまうが、コードパターン画像は小さい斜線やドットが分散して配置されているだけなので、文書画像の読取を妨げるほどではない。この方式は、既存の電子写真方式に新たに不可視色材用のプリントエンジンを追加することなく、２次元コードパターン画像と電子文書の画像とが重畳された印刷物を生成することができるというメリットがある。なお、２次元コードパターン画像の読取に赤外線を用いるのは好適な方式ではあるが、必須ではない。ただ、２次元コードパターン画像の読取に、電子文書の画像がじゃまにならないようにするには、可視光領域外の光を用いることが好適であるといえる。
【００９３】
以上に説明した図１７の例では、上位装置から送られてくるプリントデータ中に識別情報と位置情報が含まれているとしたが、これらの情報を図１７の装置内で生成してもよい。例えば、ページ内で一意的な位置情報を用いる場合は、ページのサイズが決まればそのページに埋め込むべき位置情報の組が決まるので、付加情報抽出部１４２が抽出したページサイズの情報から、コードパターン画像生成部１００が各ページに埋め込むべき位置情報の組を生成することができる。また、識別情報も、コードパターン画像生成部１００が自動生成してもよい。自動生成する識別情報としては、例えば出力するページ順に与える通し番号や、各ページの画像の十分な長さのハッシュ値等を採用することができる。また、電子文書のファイル名やユーザ名、文書作成日時などの属性情報の１乃至複数、又はこの装置自体の識別情報（例えばＩＰアドレスやＭＡＣアドレスなど）や２次元コードパターン画像の作成日時などといった２次元コードパターン画像作成に関係する属性情報などをもとに、２次元コードパターン画像に埋め込む識別情報を自動生成するようにしてもよい。識別情報を自動生成した場合、図１７の画像処理装置は、後の利用に供するために、自身の管理するデータベース又はネットーワーク上に設けられた管理用のデータベースに、その識別情報と元の電子文書のデータ（又はその電子文書を特定するＵＲＬ等の識別情報）とを対応づけて保存する。
【００９４】
次に、図１８を参照して、２次元コードパターン画像を電子文書に重畳する画像処理装置の別の例を説明する。この例は、２次元コードパターン画像を生成するための機構として図１０の構成を用いた場合の例である。図１８において、図１７及び図１０に示した構成要素に相当する構成要素には同一符号を付してその説明を省略する。
【００９５】
図１８の装置におけるコードパターン画像生成部１００は、図１０の構成に対して画像切り出し部１１６を加えたものである。
【００９６】
この装置では、位置コード行列格納部１２０は、当該装置が取り扱う最大の用紙サイズに対応した領域の各座標についての位置コード行列を格納しており、コード合成部１１０は、それらすべての座標の位置コード行列をその領域に配列し、その間に識別コード行列を繰り返して配列する。そして、コードパターン画像生成部１１４が、その配列の各シンボル値を対応する画像パターンに置き換えることで２次元コードパターン画像を生成する。画像切り出し部１１６は、付加情報抽出部１４２がプリントデータから抽出した用紙サイズの情報に基づき、その２次元コードパターン画像のうち、実際に用紙に印刷するサイズの部分を切り出す。この切り出しは、例えば２次元コードパターン画像の左上隅等の基準点から縦横にその用紙サイズに応じたコードパターン領域の縦横の長さ分の面積を切り出せばよい。以降の処理は図１７の装置と同様である。
【００９７】
コード画像パターン生成部１１４の後段に画像切り出し部１１６を設ける代わりに、次のような変形も考えられる。すなわち、コード合成部１１０とコードパターン画像生成部１１４との間に切り出し部を設け、コード合成部１１０が生成した大きいサイズの２次元コード行列からその切り出し部が用紙サイズに応じた部分を切り出すという方式である。また、更に別の変形例として、用紙サイズの情報をコード合成部１１０に供給し、コード合成部１１０がその用紙サイズに相当する各座標の位置コード行列を位置コード行列格納部１２０から取り出して配列する方式も考えられる。
【００９８】
また、２次元コードパターン画像を生成するための機構として図１１の構成を用いる場合も、図１８の例と同様、コードパターン画像生成部１１４で用紙サイズよりも大きい領域の２次元コードパターン画像を生成し、その中から用紙サイズに応じた部分を切り出して印刷するようにすることができる。
【００９９】
次に図１９を参照して、本実施形態の２次元コードパターン画像を電子文書に重畳して出力するシステムの構成を説明する。
【０１００】
このシステムは、識別情報管理サーバ３００、文書リポジトリ３１０、画像形成装置３２０を備える。文書リポジトリ３１０は、電子文書を保存したサーバであり、ユーザからの要求に応じて電子文書を提供する。識別情報管理サーバ３００は、印刷出力する文書に埋め込む２次元コードパターン画像の識別情報を管理するサーバであり、上述の２次元コードパターン画像を生成して電子文書に重畳する機能も備える。画像形成装置３２０は、２次元コードパターン画像が重畳された電子文書の画像を印刷するために用いる。
【０１０１】
（１）このシステムでは、まずユーザが、ユーザ端末３３０から文書リポジトリ３１０にアクセスし、文書リポジトリ３１０が管理する文書のうち印刷を希望するものを指示する。
【０１０２】
（２）この指示を受けた文書リポジトリ３１０は、指示された電子文書のデータを識別情報管理サーバ３００に送信する。
【０１０３】
電子文書データを受け取った識別情報管理サーバ３００は、例えば自身が管理する識別情報データベースから未使用の識別情報を取得したり、電子文書のハッシュ値を用いて識別情報を生成したりするなどの方法で、識別情報の付与単位（例えば媒体のページ、媒体、電子文書のページ、電子文書全体など）ごとに識別情報を生成する。識別情報の付与単位は、システムで予め定めておけばよい。また、電子文書を印刷するユーザが指定できるようにしてもよい。識別情報管理サーバ３００は、生成した識別情報と電子文書の属性情報とを対応づけて、識別情報データベースに登録する。登録する電子文書の属性情報には、例えば、電子文書の格納場所（例えばＵＲＬ）、印刷を指示したユーザの情報（例えばユーザ識別情報）、この電子文書を印刷出力する画像形成装置３２０の識別情報などである。識別情報の付与単位が電子文書より小さい、例えばページであった場合、電子文書中でのその付与単位の識別情報（例えばページ番号）も、属性情報の一つとして登録することが好適である。また、属性情報だけでなく、電子文書のデータそのものを識別情報データベースに登録するようにしてもよい。
【０１０４】
（３）また、識別情報管理サーバ３００は、図１７等を用いて説明した画像処理装置の機能を用いて、各ページに印刷すべき位置情報群を生成し、これら位置情報と識別情報とを表す２次元コードパターン画像を生成し、この２次元コードパターン画像と電子文書とを画像形成装置３２０に送信する。
【０１０５】
画像形成装置３２０は、電子文書の画像と２次元コードパターン画像とを重畳して印刷することで、印刷文書３２５を生成する。
【０１０６】
図１９のシステムによれば、ユーザが既存の文書リポジトリ３１０から選択した電子文書に対して、識別情報と位置情報とを含んだ２次元コードパターン画像を重畳して印刷出力することができる。
【０１０７】
印刷文書３２５を取得したユーザが、図１２のコードパターン画像読取装置の機能を備えたスキャナ付きペンでその印刷文書に書き込みを行うと、スキャナ付きペンの読み取った情報を利用するアプリケーションソフトウエアは、書き込みの際にスキャナが読み取った２次元コードパターン画像中の位置情報から書き込みの軌跡を求める。また、そのアプリケーションソフトウエアは、位置情報と同時に読み取られた識別情報を識別情報管理サーバ３００に送り、その識別情報に対応する電子文書（及び識別情報がページ単位の場合はページの情報）、又はその電子文書の属性情報を取得する。電子文書を取得した場合は、その電子文書の当該識別情報が示すページに対して、書き込みの軌跡のデータを例えばオーバーレイのプレーンの画像として追加する。電子文書そのものではなく、属性情報が得られた場合は、その属性情報に含まれる格納場所から電子文書のデータを取得し、そのデータに書き込みのデータを追加する。
【０１０８】
また、識別情報に対応づけて管理された電子文書の属性情報を用いることで、印刷文書の漏洩に関する情報を得ることもできる。例えば、印刷文書から読み取った識別情報を用いれば、識別情報管理サーバ３００からそれに対応する属性情報として当該文書の印刷を指示したユーザの情報を得ることができるので、この文書が仮に漏洩したものであった場合、印刷指示を行ったユーザに事情を聞くなどして漏洩の経路等を突き止める手がかりとすることができる。また、属性情報に含まれる画像形成装置の識別情報から、その文書がどの画像形成装置から出力されたものかを調べることができるので、これも漏洩経路等の特定に有益な情報となる。
【０１０９】
また、印刷文書の２次元コードパターン画像から読み取った識別情報から、その印刷文書の元になった電子文書を取得することができるので、例えば印刷文書を複写する代わりに、その電子文書を印刷出力することで、より鮮明な複写物を得ることもできる。
【０１１０】
また、識別情報に対応づけて管理された電子文書の属性情報を用いることで、印刷文書に対するユーザの利用形態を管理することもできる。例えば、電子文書の属性情報には、印刷指示を行ったユーザの情報が登録されるが、そのユーザ情報の一つとして、そのユーザに対して許可される文書への操作の情報（例えば、複写の可否や書き込みの可否など）、すなわちユーザがその文書を利用する際の利用条件、を登録しておく。すると、コードパターン画像読取装置の読み取った情報を利用するアプリケーションは、印刷文書から読み取られた識別情報に応じて、ユーザの要求した操作を実行してよいかどうかを判定することができる。なお、各文書に対するユーザの利用権限を管理するサーバを別途用意し、識別情報から求められたユーザの権限をアプリケーションがそのサーバから取得するようにしてもよい。
【０１１１】
なお、以上では、２次元コードパターン画像に埋め込まれた識別情報が、識別情報管理サーバ３０で、印刷指示を行ったユーザや出力した画像形成装置、当該文書に対するユーザの利用条件などと関連づけられるものとして説明したが、これに限らず、それらユーザ、又は画像形成装置、又は利用条件などを、識別情報に組み込んで、２次元コードパターン画像に埋め込んでもよい。
【０１１２】
図１９に示したシステムでは、文書リポジトリ３１０と識別情報管理サーバ３００と画像形成装置３２０とが別々の装置として構成されていたが、これはあくまで一例である。文書リポジトリ３１０と識別情報管理サーバ３００とを１つのサーバにまとめたり、識別情報管理サーバ３００と画像形成装置３２０とを１つの装置にまとめたりなど、このほかにも様々なシステム構成を採ることができる。
【０１１３】
以上説明した実施形態によれば、従来より小さい読取面積のスキャナでも位置情報と識別情報の両方が読取可能な２次元コードパターン画像を提供することができる。
【０１１４】
以上の実施形態はあくまで例示的なものであり、本発明の技術的思想の範囲内で様々な変形が考えられる。
【０１１５】
例えば、図１の例では、位置コード画像１２が単位領域１０の左上隅に偏って配置されたが、これ以外にも、例えば図２０に示すように単位領域１０の中央部に位置コード画像１２を配置しても、同様の効果が得られる。また、図２１に示すように、位置コード画像１２を単位領域１０の横方向についてのみ偏らせた場合は、横方向についての読取範囲を従来よりも小さくすることができる。
【０１１６】
また、以上の例では単位領域１０は正方形であったが、矩形など他の形状としてもよい。
【０１１７】
同期コード１６と単位領域１０や位置コード画像１２との位置関係は、本実施形態の効果とは基本的に関係がなく、図４や図６に示した位置関係でなくてもよい。例えば図２２の例では、同期コード１６が位置コード画像１２の中心を通って縦横に走っている。この例では、１つの位置情報に対応する位置コード画像１２は、単位領域１０内で、同期コード１６により４分割されているが、このような配置関係であっても、マクロに見れば位置コード画像１２の配置は図４及び図６の場合と同様なので、上記実施形態と同様の効果を得ることができる。
【０１１８】
また、位置コード画像１２の構造について、図２３に示すような変形例も考えられる。この変形例では、位置コード画像１２を縦及び横にそれぞれ２等分することで４つのサブ領域１２ｘ−１，１２ｘ−２，１２ｙ−１，１２ｙ−２に分け、対角線方向の２つのサブ領域１２ｘ−１，１２ｘ−２で位置情報のうちのｘ座標を表し、もう一つの対角線の方向の２つのサブ領域１２ｙ−１，１２ｙ−２で位置情報のうちのｙ座標を表す。このようにｘ，ｙ座標の部分を分けてそれぞれ別々の対角線方向に配置した位置コード画像の構造を採用すれば、図２４に示すように、２次元コードパターン画像５０を読み取る際の読取領域５２の大きさを、図１の単位領域１０を用いた場合（図７Ａ参照）よりも小さくすることができる。
【０１１９】
この例では、ｘ座標は対角線方向の２つの部分１２ｘ−１，１２ｘ−２が読み取れれば復号できる。ｘ座標は２次元コードパターン画像５０の同一列で同じ値、ｙ座標は同一行で同じ値なので、１つの単位領域１０の位置コード画像（４つのサブ領域の和）が完全に読み取れなくても、ｘ座標については横に隣接する単位領域１０から読み取れた位置コード画像の一部を合わせて用いることで、ｙ座標については縦に隣接する単位領域１０から読み取れた位置コード画像の一部を合わせて用いることで、それぞれの座標値を復元できる。このようなことから、読取領域５２の面積を図１の例の場合より小さくしても、位置情報を読み取ることができる。読取領域５２は、原理的には、横方向については、注目する単位領域１０の幅に、右隣の単位領域の左半分のサブ領域１２ｘ−１，１２ｙ−２をカバーできる程度の幅があればよく、縦方向については、注目する単位領域１０の高さに、下隣の単位領域の上半分のサブ領域１２ｘ−１，１２ｙ−１をカバーできる程度の高さがあればよい。
【０１２０】
なお、スキャナの読取範囲を図７Ａに例示したものより小さくした場合、その読取領域の読取画像だけでは完全な識別コード画像１４を得られない場合があるが、この場合も、例えば加筆などの作業の際に連続して得られる読取画像の中から、識別コード画像１４のうちの足りない部分を補うことできる。
【０１２１】
また、図１の例では、１つの単位領域１０に１つの識別情報を埋め込んだが、これに限らず、１つの識別情報を複数の単位領域１０に分けて埋め込むことも可能である。識別したい用紙の枚数やページ数が、１つの単位領域１０で表現可能な識別情報の数よりも多くなるようなアプリケーションを想定すると、このような対応が必要になる。この例を図２５〜図３２を用いて説明する。
【０１２２】
図２５に模式的に示す例は、横方向に隣接する２つの単位領域１０Ｌと１０Ｒに１つの識別情報を埋め込んだコードパターンの例である。単位領域１０Ｌの位置コード画像１２Ｌと単位領域１０Ｒの位置コード画像１２Ｒとは互いに異なる位置情報を示し、それら両領域１０Ｌ及び１０Ｒにまたがる識別コード情報１４Ａが１つの識別情報を示す。
【０１２３】
図２６は、図２５のコードパターンを２次元上に配列した２次元コードパターン画像６０を模式的に示す。この例では、位置コード画像１２のサイズも個々の単位領域１０Ｌ，１０Ｒのサイズも図１の例と同じなので、位置情報を読み取るのに必要なスキャナの読取領域６２は図７Ａに示した読取領域３２と同じでよい。ただし、その読取領域６２は、位置コード画像１２Ｌ又は１２Ｒを少なくとも１つ完全に視野に納めることはできるものの、識別コード情報１４Ａについては読み取れない部分が残る。しかしながら、ユーザが加筆などで２次元コードパターン画像上で連続的にスキャナを移動させたり、２次元コードパターン画像の異なる複数の場所を読み取ったりする作業の中で得られる複数の読取画像を組み合わせることで、完全な識別コード画像１４Ａを再構築することができる。この手法の一例について、図２７及び図２８を参照して説明する。
【０１２４】
すなわち、この例では、コードパターン画像読取装置は、スキャナ部２０２が読み取った読取画像（またはその中の各パターンをシンボル値に置き換えたコードシンボル値行列）に対し、同期コード１６の情報を用いて図２７のように水平、垂直のインデックス付けを行う。この例では、単位領域１０Ｌと１０Ｒとが同期コード１６を挟まずに隣接し、縦に延びる同期コード１６の列が、それら２つの単位領域１０Ｌ，１０Ｒごとに設けられている。この例では、水平方向の識別コード情報１４Ａの幅が図１の識別コード１４の２倍なので、水平のインデックスの最大番号は図１６の場合の２倍の１６となっている。インデックス付けの規則は図１６の場合と同様でよい。
【０１２５】
このようにインデックス付けした場合、１つの完全な識別コード画像１４Ａ（又はこれに対応する識別コード行列）は、垂直インデックスが１〜６でかつ水平インデックスが７〜８及び１５〜１６であるシンボルと、垂直インデックスが７〜８でかつ水平インデックスが１〜１６であるシンボルとから構成される。したがって、複数フレームの読取画像から、水平、垂直のインデックスの組合せが上述のどれかに該当するものを集めて再構成することで、完全な識別コード画像又は識別コード行列を得ることができる。
【０１２６】
例えば、図２７に示すような読取領域６２を読み取ると、得られた読取画像からは、識別コード画像１４Ａ（又は識別コード行列）のうち、図２８に示すような２つの部分１５ｅ、１５ｆが求められる。これを識別コード用のバッファに蓄えておき、図２８で白抜きで示される不足部分については、他の１乃至複数のフレームの読取画像から補う。
【０１２７】
なお、図２７の例のように横方向に隣接する２つの単位領域ごとに同期コード１６の列を設けると、単位領域を単位とした長さと実寸法との関係が縦方向と横方向とで少し異なってくる。そこで、図２９に示す例では、同期コード１６は図１６の例と同様のピッチで設けている。図２９では、単位領域１０Ｌに識別コード画像１４Ａの左半分１４Ｌが、単位領域１０Ｒに識別コード画像１４Ａの右半分１４Ｒが、それぞれ分けて配置されている。この場合のインデックス付けは、縦方向については図１６の例と同様であり、横方向については、ペアをなす２つの単位領域のうち左側の単位領域１０Ｌには１〜８のインデックスを、右側の単位領域１０Ｒには９〜１６のインデックスを割り振る。各単位領域１０Ｌ又は１０Ｒがペアの左側か右側かは、当該単位領域１０Ｌ又は１０Ｒに含まれる位置コード画像１２Ｌまたは１２Ｒのｘ座標から判別できる。例えばｘ座標が奇数なら左側、偶数なら右側と判別するなどである。したがって、コードパターン画像読取装置２００は、読取領域６２の画像から完全な位置コード画像を見つけると、その位置コード画像をデコードしてその位置コード画像が示すｘ座標を求め、このｘ座標に基づき水平方向のインデックス付けを行えばよい。インデックス付けをした後の識別コードの再構築処理は、図２７及び図２８で説明したのと同様でよい。
【０１２８】
以上の例と同様にして、横にＮ個（Ｎは３以上）連続した単位領域の組に１つの識別情報を埋め込む場合も、複数フレームの読取画像から識別情報を復号できる。この場合位置コード画像から求めたｘ座標をＮで割った余りにより、その位置コード画像がＮ個の組のうちの何番目かを知ることができるので、上記の例とインデックス付けを行うことができる。
【０１２９】
また、縦に連続した複数の単位領域の組に１つの識別情報を埋め込む場合も、同様にして識別情報を復号できる。
【０１３０】
更に、縦にｎ行、横にｍ列からなるｎ×ｍ個（ｍ、ｎは２以上の整数）の隣り合う単位領域の組に１つの識別情報を分散して埋め込む場合も同様の取扱が可能である。図３０に、隣接する２×２個の単位領域の組に１つの識別コード画像１４を４分割した各部分１４ａ，１４ｂ，１４ｃ，１４ｄを分散して配置した場合の、読取画像に対するインデックス付けの例を示す。この場合、１つの識別情報を復号するには、垂直インデックスが１〜６でかつ水平インデックスが７〜８及び１５〜１６であるシンボルと、垂直インデックスが７〜８でかつ水平インデックスが１〜１６であるシンボルと、垂直インデックスが９〜１４でかつ水平インデックスが７〜８及び１５〜１６であるシンボルと、垂直インデックスが１５〜１６でかつ水平インデックスが１〜１６であるシンボルと、を複数の読取画像から収集すればよい。
【０１３１】
また、１つの識別情報を分散させる複数の単位領域１０は、必ずしも隣接していなくてよい。例えば、図３１には、斜め方向について隣り合う単位領域１０−１と１０−２との識別コード画像の領域１４ｅと１４ｆに１つの識別情報を分散格納している。この例では、読取画像に対し、図３０に示したのと同じインデックス付けを行い、垂直インデックスが１〜６でかつ水平インデックスが７〜８であるシンボルと、垂直インデックスが７〜８でかつ水平インデックスが１〜８であるシンボルと、垂直インデックスが９〜１４でかつ水平インデックスが１５〜１６であるシンボルと、垂直インデックスが１５〜１６でかつ水平インデックスが９〜１６であるシンボルと、を複数の読取画像から収集することで、完全な識別コード画像又は識別コード行列を求めることができる。例えば、図３０に示した読取領域３２を読み取ったフレームからは、図３２に示すように、識別コード画像の２つの部分１５ｇ及び１５ｈを取得できる。識別コード画像の領域で空白の部分は、そのフレームでは取得できなかった部分であり、この部分については別のフレームから補完すればよい。
【０１３２】
以上、１つの識別情報を複数の単位領域に分散した場合も、複数フレームの読取画像から識別情報が復号できること示した。以上の例では、各フレームから抽出される識別コード画像の断片を組み合わせて１つの完全な識別コード画像とするのにインデックス付けの手法を用いた例を説明したが、これはあくまで一例である。いずれの場合も、１つの識別情報を表す識別コード情報が２次元コードパターン画像の座標系でどのように繰り返されるかを示す繰り返し規則は既知なので、この繰り返し規則の情報を用いれば、各フレームで読み取ることができた部分が識別コード画像全体のどの部分かを特定できる。したがって、各フレームで読み取れた部分、部分を組み合わせることで、完全な識別コード画像を復元できる。
【０１３３】
また、以上の例では、コードシンボルとして角度の異なる斜線パターンを用いた例を示したが、本実施形態の方式がコードシンボルの画像パターンによらないものであることは明かであろう。斜線パターンの代わりに、コードパターン配置領域に設定した各格子点でのドットのオン・オフで格子点毎に１ビットの情報を示すようなコードシンボル系を用いても良いし、特許文献３のように、コードパターン配置領域に設定した各格子点に対しドットを置く位置を上下左右にずらすことで１格子点当たり２ビットの情報を表現するようなコードシンボル系を用いても良い。
【０１３４】
また、以上の例では、図２に示したように、用紙２０の紙面の端部のマージンを除いた部分をコードパターン配置領域２２としたが、紙面全体をコードパターン配置領域２２としてももちろん構わない。
【０１３５】
また、以上の例では、図２に示したように、用紙２０の１面に対し１つのコードパターン配置領域２２を設定したが、これは必須のことではない。例えば図３３に示すように、用紙２０の紙面を２等分した２つの部分に、それぞれ１つずつコードパターン配置領域２２−１，２２−２を設けてもよい。この場合、個々のコードパターン配置領域２２−１，２２−２ごとにその領域内部での座標を位置情報として埋め込むことができる。また、各コードパターン配置領域２２−１，２２−２に対して異なる識別情報を埋め込むこともできる。例えば、電子文書のＮページ（Ｎは２以上の整数）を縮小して用紙の１面に印刷するＮ−ｕｐ印刷において、電子文書の各ページにそれぞれ２次元コードパターン画像を埋め込む場合には、このように１紙面に複数のコードパターン配置領域２２を設定する方式を利用できる。
【０１３６】
また、この逆に、図３４に示すように、用紙２０の一面よりも大きいコードパターン配置領域２２を設定し、そのコードパターン配置領域２２の座標系の中に、各用紙２０の紙面を重ならないように割り当てるようにすることもできる。識別情報はコードパターン配置領域２２内で共通であり、位置情報はそのコードパターン配置領域２２内の各位置毎に異なる。この方式は、例えば、１冊のノートや１冊の書籍の各ページに、そのノートや書籍の識別情報を割り当てる場合などに適用できる。
【０１３７】
また、以上の例では、コードパターン配置領域２２の各座標位置に対してその座標を示す位置情報を埋め込んだが、位置情報の代わりに、座標位置ごとに異なる情報を埋め込むようにするのも、本発明の範囲内である。また、座標位置ごとに異なる情報を位置情報と併せたものに冗長データを付加して、各座標位置に埋め込んでもよい。前述の位置情報も含め、座標位置ごとに異なる情報を位置依存情報と呼ぶ。
【０１３８】
位置依存情報としては、前述の位置情報の他に、コードパターン画像と合成される文書画像のオブジェクトに関連した情報を例示することができる。例えば、「電子文書取得」、「電子文書印刷」、「手書きを電子文書と合成」、「メール送信」、などの操作を示す専用アイコン画像を文書画像として紙面の一部に印刷し、各アイコン画像の内容によって電子文書に対する処理を変更したり、特別な処理をしたりする場合を考える。この場合、それらアイコン画像（オブジェクト）に対応した操作を示す情報をコードパターン画像中の当該アイコン画像に対応した位置に埋め込むとすると、その操作を示す情報は紙面上でのアイコン画像の紙面上での位置に依存した位置依存情報となる。
【０１３９】
また、以上の例では、位置情報と共に媒体や媒体のページ、或いは電子文書又はそのページを一意的に指し示す識別情報を２次元コードパターン画像に埋め込んだが、そのような識別情報に限らず、コードパターン配置領域内の位置に依存しない位置非依存情報をその領域の各位置に埋め込む場合も本発明の範囲内である。
【０１４０】
位置非依存情報としては、前述の例の他に、例えば、コードパターン画像を印刷した印刷物やそれに対応する電子文書のセキュリティに関する情報をあげることができる。例えば、「複写（又はスキャン）を禁止する」、「複写（又はスキャン）時にアクセス認証する」などのような印刷物の複写やスキャンに対する条件や、その印刷物に印刷された文書に対応する電子文書へのアクセス権情報（アクセス禁止、等）などを、位置非依存情報としてコードパターン画像に埋め込む、などである。
【０１４１】
また以上の例では、２次元コードパターン画像を用紙等の媒体に印刷する場合を説明したが、例えば電子ペーパーや液晶表示装置などの表示装置に電気的に画像形成する場合にも、本発明は適用可能である。
【図面の簡単な説明】
【０１４２】
【図１】実施形態の２次元コードパターン画像を構成する単位領域の構造を模式的に示す図である。
【図２】用紙表面に設定されたコードパターン配置領域の一例を示す図である。
【図３】単位領域の２次元配列の一例を示す図である。
【図４】単位領域のコードパターンの例を示す図である。
【図５】グリフコードのコードシンボルを示す図である。
【図６】単位領域と同期コードの位置関係の一例を示す図である。
【図７Ａ】実施形態の２次元コードパターン画像を模式的に示す図である。
【図７Ｂ】従来技術の２次元コードパターン画像を模式的に示す図である。
【図８】実施形態の２次元コードパターン画像を生成するための装置構成を示す図である。
【図９Ａ】位置コード行列生成部の機能を説明するための図である。
【図９Ｂ】識別コード行列生成部の機能を説明するための図である。
【図１０】コードパターン画像生成装置の別の構成例を示す図である。
【図１１】コードパターン画像生成装置の更に別の構成例を示す図である。
【図１２】実施形態のコードパターン画像読取装置の構成を示す図である。
【図１３】コードパターン画像抽出部の処理手順を示すフローチャートである。
【図１４】コードパターン画像抽出部による識別コード画像の再構築処理を説明するための図である。
【図１５】コードパターン画像抽出部の処理手順の別の例を示すフローチャートである。
【図１６】識別コード画像の再構築処理の別の例を説明するための図である。
【図１７】２次元コードパターン画像を電子文書に重畳する画像処理装置の機能ブロック図である。
【図１８】２次元コードパターン画像を電子文書に重畳する画像処理装置の別の例を示す機能ブロック図である。
【図１９】実施形態の２次元コードパターン画像を電子文書に重畳して出力するシステムの構成を示す図である。
【図２０】単位領域における位置コード画像の配置場所の変形例を示す図である。
【図２１】単位領域における位置コード画像の配置場所の別の変形例を示す図である。
【図２２】単位領域と同期コードとの位置関係の変形例を示す図である。
【図２３】位置コード画像をｘ座標とｙ座標のサブ領域に分けた変形例を示す図である。
【図２４】図２３の変形例の効果を説明するための図である。
【図２５】隣接する２つの単位領域で１つの識別情報を表すコードパターンの例を示す図である。
【図２６】図２５の単位領域を２次元配列した２次元コードパターン画像を模式的に示す図である。
【図２７】図２５のコードパターンから識別情報を復元するための識別コード画像又は識別コード行列に対するインデックス付けの例を示す図である。
【図２８】図２５のパターンを用いた場合の、１回の読取画像から求められる識別コード画像の部分を例示した図である。
【図２９】図２５のコードパターンから識別情報を復元するための識別コード画像又は識別コード行列に対するインデックス付けの別の例を示す図である。
【図３０】２×２の４つの単位領域に１つの識別情報を分散して埋め込む場合のインデックス付けの例を示す図である。
【図３１】斜め方向に隣り合う２つの単位領域に１つの識別情報を分散して埋め込む例を示す図である。
【図３２】図３１のパターンを用いた場合の、１回の読取画像から求められる識別コード画像の部分を例示した図である。
【図３３】１紙面に複数のコードパターン配置領域が設定される例を示す図である。
【図３４】１つの大きいコードパターン配置領域に複数の用紙の紙面を重なりなく割り当てる例を示す図である。
【符号の説明】
【０１４３】
１０  単位領域、１２  位置コード画像、１４  識別コード画像、３０  ２次元コードパターン画像、３２  読取領域、１０２  位置情報符号化部、１０４  位置コード行列生成部、１０６  識別情報符号化部、１０８  識別コード行列生成部、１１０  コード配置部、１１２  パターン格納部、１１４  コードパターン画像生成部。
【図１】
0004810918.tif 000002
【図２】
0004810918.tif 000003
【図３】
0004810918.tif 000004
【図４】
0004810918.tif 000005
【図５】
0004810918.tif 000006
【図６】
0004810918.tif 000007
【図７Ａ】
0004810918.tif 000008
【図７Ｂ】
0004810918.tif 000009
【図８】
0004810918.tif 000010
【図９Ａ】
0004810918.tif 000011
【図９Ｂ】
0004810918.tif 000012
【図１０】
0004810918.tif 000013
【図１１】
0004810918.tif 000014
【図１２】
0004810918.tif 000015
【図１３】
0004810918.tif 000016
【図１４】
0004810918.tif 000017
【図１５】
0004810918.tif 000018
【図１６】
0004810918.tif 000019
【図１７】
0004810918.tif 000020
【図１８】
0004810918.tif 000021
【図１９】
0004810918.tif 000022
【図２０】
0004810918.tif 000023
【図２１】
0004810918.tif 000024
【図２２】
0004810918.tif 000025
【図２３】
0004810918.tif 000026
【図２４】
0004810918.tif 000027
【図２５】
0004810918.tif 000028
【図２６】
0004810918.tif 000029
【図２７】
0004810918.tif 000030
【図２９】
0004810918.tif 000031
【図３０】
0004810918.tif 000032
【図３１】
0004810918.tif 000033
【図３２】
0004810918.tif 000034
【図３３】
0004810918.tif 000035
【図３４】
0004810918.tif 000036
【図２８】
0004810918.tif 000037