(57)【特許請求の範囲】
【請求項１】
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列を取得する第１のビット列取得手段と、
前記媒体上の位置を表し、擬似乱数性を有する第２のビット列を取得する第２のビット列取得手段と、
所定の第３のビット列に、当該第３のビット列が埋め込まれる位置を表す前記第２のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成するビット列生成手段と、
前記第１のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第１のパターン画像と、前記第２のビット列に対応する第２のパターン画像とを配置した埋め込み画像を生成する埋め込み画像生成手段と
を備えたことを特徴とする画像生成装置。
【請求項２】
前記識別情報に重畳する特定の情報を取得する情報取得手段を更に備え、
前記ビット列生成手段は、前記擬似乱数ビット列の生成に先立ち、前記特定の情報に基づいて前記第３のビット列を生成することを特徴とする請求項１記載の画像生成装置。
【請求項３】
前記ビット列生成手段は、前記第３のビット列を構成するビットが示す数値に、当該ビットが埋め込まれる位置を表す前記第２のビット列の部分列が示す数値を加算し、その結果を所定値で割った余りを、前記擬似乱数ビット列を構成するビットが示す数値とすることを特徴とする請求項１記載の画像生成装置。
【請求項４】
前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するビットが示す数値に所定値を乗じて得られた数値を、前記第１のビット列の部分列が示す数値に加算することにより、当該第１のビット列に当該擬似乱数ビット列を重畳することを特徴とする請求項１記載の画像生成装置。
【請求項５】
前記第１のパターン画像及び前記第２のパターン画像は、ｐ個のパターン画像が属する２ｑ個の組の何れかに属し（ｐ≧２，ｑ≧１）、
前記ビット列生成手段は、前記第３のビット列を構成するｑビットが示す数値に、当該ｑビットが埋め込まれる位置を表す前記第２のビット列の部分列が示す数値を加算し、その結果を２ｑで割った余りを、前記擬似乱数ビット列を構成するビットが示す値とし、
前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するｑビットが示す値にｐを乗じて得られた数値を、前記第１のビット列の部分列が示す数値に加算することを特徴とする請求項１記載の画像生成装置。
【請求項６】
媒体に印刷された埋め込み画像を取得する埋め込み画像取得手段と、
前記埋め込み画像に配置された第１のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第１のビット列と当該擬似乱数ビット列とを取得する第１のビット列取得手段と、
前記埋め込み画像に配置された第２のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第２のビット列を取得する第２のビット列取得手段と、
前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第２のビット列を用いて擬似乱数性を除去することにより、第３のビット列を生成するビット列生成手段と、
前記第１のビット列と前記第２のビット列と前記第３のビット列とに基づいて、前記識別情報と、前記媒体上の位置を特定する情報と、これらの情報以外の特定の情報とを取得する情報取得手段と
を備えたことを特徴とする画像処理装置。
【請求項７】
前記第１のビット列取得手段は、前記第１のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値を所定値で割った余りを、当該第１のビット列の部分列が示す数値とすることを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記ビット列生成手段は、前記擬似乱数ビット列を構成するビットが示す数値から、当該ビットが埋め込まれた位置を表す前記第２のビット列の部分列が示す数値を減算し、その結果を所定値で割った余りを、前記第３のビット列を構成するビットが示す数値とすることを特徴とする請求項６記載の画像処理装置。
【請求項９】
前記第１のパターン画像及び前記第２のパターン画像は、ｐ個のパターン画像が属する２ｑ個の組の何れかに属し（ｐ≧２，ｑ≧１）、
前記第１のビット列取得手段は、前記第１のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値をｐで割った余りを、当該第１のビット列の部分列が示す数値とし、
前記ビット列生成手段は、前記擬似乱数ビット列を構成するｑビットが示す数値から、当該ｑビットが埋め込まれた位置を表す前記第２のビット列の部分列が示す数値を減算し、その結果を２ｑで割った余りを、前記第３のビット列を構成するｑビットが示す数値とすることを特徴とする請求項６記載の画像処理装置。
【請求項１０】
コンピュータに、
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列を取得する機能と、
前記媒体上の位置を表し、擬似乱数性を有する第２のビット列を取得する機能と、
所定の第３のビット列に、当該第３のビット列が埋め込まれる位置を表す前記第２のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成する機能と、
前記第１のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第１のパターン画像と、前記第２のビット列に対応する第２のパターン画像とを配置した埋め込み画像を生成する機能と
を実現させるためのプログラム。
【請求項１１】
コンピュータに、
媒体に印刷された埋め込み画像を取得する機能と、
前記埋め込み画像に配置された第１のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第１のビット列と当該擬似乱数ビット列とを取得する機能と、
前記埋め込み画像に配置された第２のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第２のビット列を取得する機能と、
前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第２のビット列を用いて擬似乱数性を除去することにより、第３のビット列を生成する機能と、
前記第１のビット列と前記第２のビット列と前記第３のビット列とを出力する機能と
を実現させるためのプログラム。
【請求項１２】
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列に擬似乱数ビット列を重畳して得られたビット列に対応するパターン画像が印刷された第１の領域と、
前記媒体上の位置を表し、擬似乱数性を有する第２のビット列に対応するパターン画像が印刷された第２の領域とを含み、
前記擬似乱数ビット列は、所定の第３のビット列に、当該第３のビット列が埋め込まれる位置を表す前記第２のビット列を用いて擬似乱数性を与えることにより生成されたビット列であることを特徴とする印刷媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置、画像処理装置、プログラム、印刷媒体に関する。
【背景技術】
【０００２】
表面上の複数の位置を符号化する位置コードを提供する方法は知られている（例えば、特許文献１参照）。この特許文献１では、循環数字列を表面に沿って複数回印刷する。その際、循環数字列の異なるローテーションを、隣り合う数字列間で所定のずれが起こるように使用し、表面を分割した複数のコードウィンドウが、少なくとも３つの循環数字列を備えると共に、隣り合うコードウィンドウの１つの数字列と重なり合う１つの数字列を有するものであり、また、コードウィンドウの位置を、そのコードウィンドウに属している循環数字列間のずれによって符号化している。
【０００３】
論理的に順位付けられたデジタル量子の機械読取り可能なエンコーディングを記録した記録媒体からのエンコーディングの空間的に非同期的な読取りを可能にする技術も知られている（例えば、特許文献２参照）。この特許文献２では、本質的に同一であるエンコーディングの多数のコピーを形成し、機械認識可能な空間同期指標をエンコーディングのコピーの各々の中のプリント位置に組み合わせて、エンコーディングの空間的に同期可能な多数の事例を提供し、それらの事例をレイアウト規則に従って記録媒体における空間的に周期的な中心の格子に書き込んでいる。
【０００４】
取り込まれた画像の位置をより大きい画像から決定するためのシステム及び方法も知られている（例えば、特許文献３参照）。この特許文献３では、非反復的な系列を、所定のサイズのサブウィンドウ毎に固有とされた非反復的な配列に折り畳み、その取り込まれた位置を非反復的な配列内のサブウィンドウ毎に決定することによって、取り込まれた画像の位置を、より大きいサブウィンドウの画像から決定している。
【０００５】
光学的に読み取り可能に記録されるマルチメディア情報の長時間記録及び繰り返し再生を可能とする技術も知られている（例えば、特許文献４参照）。この特許文献４において、記録装置は、プリンタシステムや印刷用製版システムにより、オーディオ情報、映像情報、ディジタルコードデータ等を含めた所謂マルチメディア情報を光学的に読み取り可能なドットコードとして、画像や文字と一緒に紙等の媒体上に記録する。ペン型の情報再生装置は、ドットコードの手動走査に応じてそのドットコードを順次取り込んで、元のオーディオ情報を音声出力器にて、元の映像情報を表示装置にて、元のディジタルコードデータをページプリンタ等にて出力する。
【０００６】
タブレットを使用せずに、媒体上の座標を精緻に検出できるようにする技術も知られている（例えば、特許文献５参照）。この特許文献５において、ペン型の座標入力装置は、媒体上に形成されその媒体上の座標を示すコードシンボルを光学的に読み取り、この読み取ったコードシンボルをデコードし、読み取った画像中におけるコードシンボルの位置、向き及び歪み量を検出する。そして、デコード後の情報と、コードシンボルの位置、向き及び歪み量とにより、先端部の媒体上での位置の座標を検出する。
【０００７】
また、背景画像として埋め込んだ符号パターンの濃度むらの発生を防止する技術も知られている（例えば、特許文献６参照）。この特許文献６では、用紙上に繰り返し形成される画像識別情報を符号化したパターンを、画像識別情報を符号化して得られる第１パターン値に、座標値を符号化して得られるパターン値を加算した値を基に得られる第２パターン値を表すパターンとすることにより、濃度むらの発生を低減させている。
【０００８】
【特許文献１】特表２００３−５１１７６２号公報
【特許文献２】特開平９−１８５６６９号公報
【特許文献３】特開２００４−１５２２７３号公報
【特許文献４】特開平６−２３１４６６号公報
【特許文献５】特開２０００−２９３３０３号公報
【特許文献６】特開２００７−２２６６７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ここで、一般に、識別情報を表すパターン画像による濃度むらを低減しようとすると、識別情報の復号率が低下する場合があった。
本発明の目的は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることにある。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明は、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列を取得する第１のビット列取得手段と、前記媒体上の位置を表し、擬似乱数性を有する第２のビット列を取得する第２のビット列取得手段と、所定の第３のビット列に、当該第３のビット列が埋め込まれる位置を表す前記第２のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成するビット列生成手段と、前記第１のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第１のパターン画像と、前記第２のビット列に対応する第２のパターン画像とを配置した埋め込み画像を生成する埋め込み画像生成手段とを備えたことを特徴とする画像生成装置である。
請求項２に記載の発明は、前記識別情報に重畳する特定の情報を取得する情報取得手段を更に備え、前記ビット列生成手段は、前記擬似乱数ビット列の生成に先立ち、前記特定の情報に基づいて前記第３のビット列を生成することを特徴とする請求項１記載の画像生成装置である。
請求項３に記載の発明は、前記ビット列生成手段は、前記第３のビット列を構成するビットが示す数値に、当該ビットが埋め込まれる位置を表す前記第２のビット列の部分列が示す数値を加算し、その結果を所定値で割った余りを、前記擬似乱数ビット列を構成するビットが示す数値とすることを特徴とする請求項１記載の画像生成装置である。
請求項４に記載の発明は、前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するビットが示す数値に所定値を乗じて得られた数値を、前記第１のビット列の部分列が示す数値に加算することにより、当該第１のビット列に当該擬似乱数ビット列を重畳することを特徴とする請求項１記載の画像生成装置である。
請求項５に記載の発明は、前記第１のパターン画像及び前記第２のパターン画像は、ｐ個のパターン画像が属する２ｑ個の組の何れかに属し（ｐ≧２，ｑ≧１）、前記ビット列生成手段は、前記第３のビット列を構成するｑビットが示す数値に、当該ｑビットが埋め込まれる位置を表す前記第２のビット列の部分列が示す数値を加算し、その結果を２ｑで割った余りを、前記擬似乱数ビット列を構成するビットが示す値とし、前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するｑビットが示す値にｐを乗じて得られた数値を、前記第１のビット列の部分列が示す数値に加算することを特徴とする請求項１記載の画像生成装置である。
請求項６に記載の発明は、媒体に印刷された埋め込み画像を取得する埋め込み画像取得手段と、前記埋め込み画像に配置された第１のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第１のビット列と当該擬似乱数ビット列とを取得する第１のビット列取得手段と、前記埋め込み画像に配置された第２のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第２のビット列を取得する第２のビット列取得手段と、前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第２のビット列を用いて擬似乱数性を除去することにより、第３のビット列を生成するビット列生成手段と、前記第１のビット列と前記第２のビット列と前記第３のビット列とに基づいて、前記識別情報と、前記媒体上の位置を特定する情報と、これらの情報以外の特定の情報とを取得する情報取得手段とを備えたことを特徴とする画像処理装置である。
請求項７に記載の発明は、前記第１のビット列取得手段は、前記第１のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値を所定値で割った余りを、当該第１のビット列の部分列が示す数値とすることを特徴とする請求項６記載の画像処理装置である。
請求項８に記載の発明は、前記ビット列生成手段は、前記擬似乱数ビット列を構成するビットが示す数値から、当該ビットが埋め込まれた位置を表す前記第２のビット列の部分列が示す数値を減算し、その結果を所定値で割った余りを、前記第３のビット列を構成するビットが示す数値とすることを特徴とする請求項６記載の画像処理装置である。
請求項９に記載の発明は、前記第１のパターン画像及び前記第２のパターン画像は、ｐ個のパターン画像が属する２ｑ個の組の何れかに属し（ｐ≧２，ｑ≧１）、前記第１のビット列取得手段は、前記第１のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値をｐで割った余りを、当該第１のビット列の部分列が示す数値とし、前記ビット列生成手段は、前記擬似乱数ビット列を構成するｑビットが示す数値から、当該ｑビットが埋め込まれた位置を表す前記第２のビット列の部分列が示す数値を減算し、その結果を２ｑで割った余りを、前記第３のビット列を構成するｑビットが示す数値とすることを特徴とする請求項６記載の画像処理装置である。
請求項１０に記載の発明は、コンピュータに、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列を取得する機能と、前記媒体上の位置を表し、擬似乱数性を有する第２のビット列を取得する機能と、所定の第３のビット列に、当該第３のビット列が埋め込まれる位置を表す前記第２のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成する機能と、前記第１のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第１のパターン画像と、前記第２のビット列に対応する第２のパターン画像とを配置した埋め込み画像を生成する機能とを実現させるためのプログラムである。
請求項１１に記載の発明は、コンピュータに、媒体に印刷された埋め込み画像を取得する機能と、前記埋め込み画像に配置された第１のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第１のビット列と当該擬似乱数ビット列とを取得する機能と、前記埋め込み画像に配置された第２のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第２のビット列を取得する機能と、前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第２のビット列を用いて擬似乱数性を除去することにより、第３のビット列を生成する機能と、前記第１のビット列と前記第２のビット列と前記第３のビット列とを出力する機能とを実現させるためのプログラムである。
請求項１２に記載の発明は、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第１のビット列に擬似乱数ビット列を重畳して得られたビット列に対応するパターン画像が印刷された第１の領域と、前記媒体上の位置を表し、擬似乱数性を有する第２のビット列に対応するパターン画像が印刷された第２の領域とを含み、前記擬似乱数ビット列は、所定の第３のビット列に、当該第３のビット列が埋め込まれる位置を表す前記第２のビット列を用いて擬似乱数性を与えることにより生成されたビット列であることを特徴とする印刷媒体である。
【発明の効果】
【００１１】
請求項１の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項２の発明は、識別情報の復号率に影響を与えずに濃度むらを低減させるためのビット列を用いて、特定の情報を表すことができるという効果を有する。
請求項３の発明は、本構成を有していない場合に比較して、濃度むらを低減させるためのビット列から特定の情報を容易に取り出すことができるという効果を有する。
請求項４の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像に対応するビット列から識別情報を容易に取り出すことができるという効果を有する。
請求項５の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像から識別情報及び特定の情報を容易に取り出せるようにするために、パターン画像を効率的に利用することができるという効果を有する。
請求項６の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項７の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像に対応するビット列から識別情報を容易に取り出すことができるという効果を有する。
請求項８の発明は、本構成を有していない場合に比較して、濃度むらを低減させるためのビット列から特定の情報を容易に取り出すことができるという効果を有する。
請求項９の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像から識別情報及び特定の情報を容易に取り出せるようにするために、パターン画像を効率的に利用することができるという効果を有する。
請求項１０の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項１１の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項１２の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、「実施の形態」という）について詳細に説明する。
まず、本実施の形態で利用する符号化方式について説明する。
本実施の形態における符号化方式では、ｍ（ｍ≧３）箇所から選択したｎ（１≦ｎ＜ｍ）箇所に単位画像を配置してなるパターン画像（以下、「符号パターン」という）によってｍＣｎ（＝ｍ！／｛（ｍ−ｎ）！×ｎ！｝）通りの情報を表現する。つまり、１つの単位画像を情報に対応させるのではなく、複数の単位画像を情報に対応させている。仮に１つの単位画像を情報に対応させたとすると、単位画像が欠損したり、ノイズが加わったりした場合に、誤った情報を表現してしまうという欠点がある。これに対して、例えば２つの単位画像を情報に対応させたとすると、単位画像が１つであったり３つであったりした場合に、容易に誤りであることが分かる。更に、１つの単位画像で１ビット、又は、高々２ビットを表現する方法では、情報を表現するための情報パターンと視覚的に似たパターンで、情報パターンの読出しを制御する同期パターンを表現することができない。このようなことから、本実施の形態では、上記のような符号化方式を採用している。以下では、このような符号化方式をｍＣｎ方式と称する。
ここで、単位画像としては、如何なる形状のものを用いてもよい。本実施の形態では、単位画像の一例としてドット画像（以下、単に「ドット」という）を用いるが、例えば、斜線パターン等、他の形状の画像であってもよい。
【００１３】
図１に、ｍＣｎ方式における符号パターンの例を示す。
図では、黒色の領域と斜線の領域をドット配置可能な領域とし、その間にある白色の領域をドット配置不可能な領域としている。そして、ドット配置可能な領域のうち、黒色の領域にドットが配置され、斜線の領域にはドットが配置されていないことを示している。即ち、図１は、縦３×横３の合計９個のドット配置可能な領域を設けた例を示しており、このうち、（ａ）は、９個のドット配置可能な領域に２ドットを配置する９Ｃ２方式における符号パターンの一例を、（ｂ）は、９個のドット配置可能な領域に３ドットを配置する９Ｃ３方式における符号パターンの一例を示している。
【００１４】
但し、図１で配置されるドット（黒色の領域）は、あくまで情報表現のためのドットであり、画像を構成する最小単位であるドット（図１の最小の四角）とは一致していない。本実施の形態において、「ドット」というときは前者のドットを指し、後者のドットは「ピクセル」と呼ぶことにすれば、ドットは、６００ｄｐｉにおける２ピクセル×２ピクセルの大きさを有することになる。６００ｄｐｉにおける１ピクセルの一辺の長さは０．０４２３ｍｍなので、１ドットの一辺の長さは、８４．６μｍ（＝０．０４２３ｍｍ×２）となる。ドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、５０μｍより大きく１００μｍより小さい上記の値を採用している。但し、上記の値８４．６μｍは、あくまで計算上の数値であり、実際に印刷されたトナー像では１００μｍ程度になる。
【００１５】
次いで、図２に、９Ｃ２方式における全符号パターンの例を示す。尚、ここでは、ドット間の空白は省略している。図示するように、９Ｃ２方式では、３６（＝９Ｃ２）通りの符号パターンが利用される。また、全符号パターンに対して、各符号パターンを一意に識別するための番号であるパターン値が付される。図では、各符号パターンに対するこのパターン値の割り当ての例も示している。但し、図に示した対応はあくまで一例であり、どの符号パターンにどのパターン値を割り当ててもよい。
【００１６】
また、図３に、９Ｃ３方式における全符号パターンの例を示す。尚、ここでも、ドット間の空白は省略している。図示するように、９Ｃ３方式では、８４（＝９Ｃ３）通りの符号パターンが利用される。また、この場合も、全符号パターンに対して、各符号パターンを一意に識別するための番号であるパターン値が付される。図では、各符号パターンに対するこのパターン値の割り当ての例も示している。但し、この場合も、図に示した対応はあくまで一例であり、どの符号パターンにどのパターン値を割り当ててもよい。
【００１７】
尚、ここでは、符号パターンが配置される領域（以下、「パターンブロック」という）の大きさを、３ドット×３ドットを配置可能な大きさとした。しかしながら、パターンブロックの大きさはこれに限るものではない。つまり、２ドット×２ドット、４ドット×４ドット等を配置可能な大きさであってもよい。
また、パターンブロックの形状として、正方形でなく、例えば３ドット×４ドットを配置する場合のように長方形を採用してもよい。尚、本明細書において、長方形とは、隣り合う２辺の長さが等しくない矩形、つまり、正方形以外の矩形のことをいうものとする。
更に、任意に決めた数のドット配置可能な領域のうち、幾つの領域にドットを配置するかも、表現したい情報の量と許容できる画像濃度とを考慮して、適宜決めるとよい。
【００１８】
このように、本実施の形態では、ｍ箇所からｎ箇所を選択することでｍＣｎ種類の符号パターンを用意している。そして、これらの符号パターンのうち、特定のパターンを情報パターンとして利用し、残りを同期パターンとして利用する。ここで、情報パターンとは、媒体に埋め込む情報を表現するパターンである。また、同期パターンとは、媒体に埋め込まれた情報パターンを取り出すために用いられるパターンである。例えば、情報パターンの位置を特定したり、画像の回転を検出したりするために用いられる。尚、媒体としては、画像を印刷することが可能であれば、如何なるものを用いてもよい。紙が代表例なので、以下では媒体を紙として説明するが、金属、プラスチック、繊維等であってもよい。
【００１９】
ここで、図２又は図３に示した符号パターンのうちの同期パターンについて説明する。尚、これらの符号パターンを利用する場合、パターンブロックの形状は正方形となるため、画像の回転を９０度単位で認識する必要がある。従って、４種類の符号パターンで１組の同期パターンが構成される。
図４（ａ）は、９Ｃ２方式における同期パターンの例である。ここでは、３６種類の符号パターンのうち、３２種類の符号パターンを５ビットの情報を表現する情報パターンとし、残りの４種類の符号パターンで１組の同期パターンを構成するものとする。例えば、パターン値「３２」の符号パターンを正立した同期パターン、パターン値「３３」の符号パターンを右に９０度回転した同期パターン、パターン値「３４」の符号パターンを右に１８０度回転した同期パターン、パターン値「３５」の符号パターンを右に２７０度回転した同期パターンとしている。但し、３６種類の符号パターンの情報パターンと同期パターンへの振り分け方は、これには限らない。例えば、１６種類の符号パターンを４ビットの情報を表現する情報パターンとし、残りの２０種類の符号パターンで５組の同期パターンを構成してもよい。
【００２０】
また、図４（ｂ）は、９Ｃ３方式における同期パターンの例である。ここでは、８４種類の符号パターンのうち、６４種類の符号パターンを６ビットの情報を表現する情報パターンとし、残りの２０種類の符号パターンで５組の同期パターンを構成するものとする。図は、この５組の同期パターンのうちの２組を示す。例えば、第１組においては、パターン値「６４」の符号パターンを正立した同期パターン、パターン値「６５」の符号パターンを右に９０度回転した同期パターン、パターン値「６６」の符号パターンを右に１８０度回転した同期パターン、パターン値「６７」の符号パターンを右に２７０度回転した同期パターンとしている。また、第２組においては、パターン値「６８」の符号パターンを正立した同期パターン、パターン値「６９」の符号パターンを右に９０度回転した同期パターン、パターン値「７０」の符号パターンを右に１８０度回転した同期パターン、パターン値「７１」の符号パターンを右に２７０度回転した同期パターンとしている。
【００２１】
尚、図示しないが、パターンブロックの形状が長方形である場合は、画像の回転の検出のために２種類の符号パターンを同期パターンとして用意すればよい。例えば、縦３ドット×横４ドットを配置可能な領域が検出されるべきなのに、縦４ドット×横３ドットを配置可能な領域が検出された場合は、その時点で画像が９０度又は２７０度回転していることが分かるからである。
【００２２】
次に、同期パターンと情報パターンを配置してなる情報表現の最小単位（以下、「符号ブロック」という）について説明する。
図５は、符号ブロックのレイアウトの一例を示したものである。
図中、（ａ）及び（ｂ）のそれぞれの右側に、符号ブロックのレイアウトを示している。ここでは、レイアウトとして、パターンブロックを５個×５個の２５個並べたものを採用している。この２５個のパターンブロックのうち、左上の１ブロックに同期パターンを配置している。また、同期パターンの右の４ブロックに紙面上の横方向の座標を特定するＸ座標情報を表す情報パターンを配置し、同期パターンの下の４ブロックに紙面上の縦方向の座標を特定するＹ座標情報を表す情報パターンを配置している。更に、これらの座標情報を表す情報パターンで囲まれた１６ブロックに、紙面又は紙面に印刷される文書の識別情報を表す情報パターンを配置している。
【００２３】
また、（ａ）の左側には、９Ｃ２方式における符号パターンが各パターンブロックに配置されていることを示している。即ち、３６種類の符号パターンを、例えば、４種類の同期パターンと３２種類の情報パターンとに分け、各パターンをレイアウトに従って配置している。一方、（ｂ）の左側には、９Ｃ３方式における符号パターンが各パターンブロックに配置されていることを示している。即ち、８４種類の符号パターンを、例えば、２０種類の同期パターンと６４種類の情報パターンとに分け、各パターンをレイアウトに従って配置している。
【００２４】
尚、本実施の形態において、座標情報は、紙面の縦方向及び横方向にＭ系列で表現される。ここで、Ｍ系列とは、その部分列が、他の部分列と一致することがない系列である。例えば、１１次のＭ系列は、２０４７ビットのビット列である。そして、この２０４７ビットのビット列の中から取り出された１１ビット以上の部分列と同じ並びは、この２０４７ビットのビット列の中に自身以外には存在しない。本実施の形態では、１個の符号パターンを４ビットに対応付ける。即ち、２０４７ビットのビット列を４ビットごとに１０進数で表し、図２又は図３の割り当てに従って符号パターンを決定し、紙面の横と縦に渡って印刷する。従って、復号の際は、３つの連続する符号パターンを特定し、符号パターンと座標との対応関係を格納したテーブルを参照することにより、ビット列上の位置が特定されることになる。
【００２５】
また、識別情報の符号化には、幾つかの方法の利用が考えられるが、本実施の形態では、ＲＳ符号化が適している。ＲＳ符号は多値の符号法であり、各パターンブロックに配置された符号パターンのパターン値をＲＳ符号の多値に対応させるとよいからである。
尚、本実施の形態における符号パターンの利用形態としては、例えば、文書画像に重ねてその識別情報を紙面に印刷し、ペン状のスキャナで紙面上の部分画像を読み込み、そこから文書画像の識別情報を取得する、といったものが想定される。この場合、紙面上の汚れやスキャナの性能によって誤りが発生するが、この誤りはＲＳ符号により訂正される。
【００２６】
ここで、ＲＳ符号による訂正及びそのような訂正を行う場合に表現可能な情報量について具体的に説明する。
本実施の形態では、上述したように、１パターンブロック内のドット数が一定である符号パターンを採用している。これにより、仮に１ドットが消失した場合や、１ドットが付加された場合は、パターンブロック内のドット数が変わる。従って、これらは誤りだと分かる誤りとなる。一方で、ドットの消失と付加が同時に起こった場合は、他の符号パターンであると誤認識してしまうので、誤りだと分からない誤りとなる。
例えば、識別情報を表す情報パターンを配置する１６ブロックのうち、１０ブロックを識別情報そのものを表す情報パターンを配置するブロックとし、６ブロックを訂正のためのブロックとする。この場合、誤りだと分かるブロックは６ブロックまで、誤りだと分からないブロックも３ブロックまで、訂正される。これを例えば９Ｃ２方式における３２種類の情報パターンで実現したとすると、１ブロックで５ビットの情報が表現されるので、識別情報そのものは１０ブロックで５０ビット分表現される。また例えば９Ｃ３方式における６４種類の情報パターンで実現したとすると、１ブロックで６ビットの情報が表現されるので、識別情報そのものは１０ブロックで６０ビット分表現される。
【００２７】
次いで、上記符号ブロックを含む広範囲のレイアウトについて説明する。
図６は、そのようなレイアウトの一例を示した図である。このレイアウトでは、図５の符号ブロックが基本単位として紙面全体の縦方向及び横方向に周期的に配置されている。
ここで、同期パターンとしては、同じ符号パターンが各符号ブロックにおける左上のパターンブロックに配置されている。図では、同期パターンを「Ｓ」で表している。
また、Ｘ座標情報としては、符号パターンの同じ並びが、同期パターンが配置されたのと同じ行の各パターンブロックに配置されている。Ｙ座標情報としては、符号パターンの同じ並びが、同期パターンが配置されたのと同じ列の各パターンブロックに配置されている。図では、Ｘ座標情報を表すパターンを「Ｘ０１」、「Ｘ０２」、…で表し、Ｙ座標情報を表すパターンを「Ｙ０１」、「Ｙ０２」、…で表している。
更に、識別情報としては、符号パターンの同じ配列が、縦方向及び横方向に周期的に配置されている。図では、識別情報を表すパターンを「Ｉ０１」、「Ｉ０２」、…、「Ｉ１６」で表している。
そして、このようなレイアウトを採用することにより、例えば、図中、丸印で示した範囲が読み取られた場合のように、図５の符号ブロックの全体を含む範囲が読み取られていない場合であっても、後述する処理により、識別情報及び座標情報が得られる。
【００２８】
しかしながら、このようなレイアウトを採用することにより、次の問題点が生じる。同じ配列の繰り返しにより構成されるレイアウトであるため、紙面に符号パターンを印刷した場合に、濃度むらが現れてしまうという問題点である。
このような濃度むらを低減するには、座標情報の表現に用いるＭ系列が持つ擬似乱数の性質を利用する方法が考えられる。
即ち、座標情報のパターン値を識別情報のパターン値に加算し、その結果を例えば「３２」で割った余りを識別情報の新たなパターン値とする、という方法である。図５の符号ブロックにおける左からＩ列目、上からＪ行目のパターンブロックに配置されたパターン値をＰ（Ｉ，Ｊ）として、この方法について説明する。ここでは、例えば、Ｐ（４，１）＝１０、Ｐ（１，３）＝１５、Ｐ（４，３）＝２６である符号ブロックを考える。つまり、この符号ブロックでは、Ｘ座標情報のパターン値の左から３つ目が「１０」であり、Ｙ座標情報のパターン値の上から２つ目が「１５」であり、識別情報のパターン値の左から３つ目で上から２つ目が「２６」である。この場合、（２６＋１０＋１５）ｍｏｄ３２＝１９により、Ｐ（４，３）＝１９となるので、パターン値「２６」が配置されていたパターンブロックにはパターン値「１９」が配置される。そして、このような処理を全ての識別情報のパターンブロックについて行うことにより、周期性が見かけ上消えることになる。
【００２９】
一方、復号の際には、まず、座標情報のパターン値と、識別情報のパターンブロックに配置されたパターン値とを求める。次に、識別情報のパターンブロックに配置されたパターン値から、そのパターンブロックに対応する座標情報のパターンブロックに配置されたパターン値を減算することにより、最終的に識別情報のパターン値が得られる。
【００３０】
ところが、この方法では、復号に関する説明から分かるように、識別情報のパターン値を得るために、識別情報のパターンブロックに配置されたパターン値だけでなく、座標情報のパターン値も求める必要がある。従って、識別情報の復号率を低下させてしまう虞がある。
【００３１】
そこで、本実施の形態では、９Ｃ３方式における６４種類の情報パターンで表現される６ビットを５ビットと１ビットとに分け、この１ビットに座標情報のパターン値を加算して擬似乱数性を与えることとする。即ち、６４種類の情報パターンを、３２種類の情報パターンが属する２つの組に分け、識別情報を３２種類の情報パターンを用いて表現し、更に、各情報パターンとして２つの組の何れに属する情報パターンを用いるかによって１ビットの情報を表現する。これにより、座標情報の検出誤りとは独立に識別情報のパターン画像の周期性をなくす。
【００３２】
具体的には、符号化時に、拡張情報を構成するビット値に対してそのビット値が配置された位置に対応する座標情報のパターン値を加算し、その結果を「２」で割った余りでビット値を置き換えることにより、擬似乱数性を有する擬似乱数情報を生成し、濃度むらを低減する。例えば、第１組における符号パターンのパターン値を「０」〜「３１」、第２組における符号パターンのパターン値を「３２」〜「６３」とする。また、「０」と「３２」、「１」と「３３」のように、第１組における符号パターンのパターン値と、そのパターン値に「３２」を加えた第２組における符号パターンのパターン値とを対応付けておく。そして、例えば、パターン値「０」を表すのに、パターン値「０」の符号パターンを用いるか、パターン値「３２」の符号パターンを用いるかにより、１ビットを表現する。このようにすれば、復号時には、検出した符号パターンのパターン値を「３２」で割った商が擬似乱数情報を構成する１ビットとなり、余りが識別情報を構成する５ビットとなる。
【００３３】
以下、このような濃度むら低減方法を、具体例を用いて説明する。
図７〜図９は、本実施の形態における濃度むら低減方法について説明するための図である。
まず、図７（ａ）では、パターン値「５」、「１３」、「１０」、「３」が、Ｘ座標情報を表すパターン値の列として、パターン値「７」、「１５」、「２」、「４」が、Ｙ座標情報を表すパターン値の列として配置されている。また、Ｘ座標情報を表すパターン値とＹ座標情報を表すパターン値とに囲まれた領域には、識別情報を表すパターン値に拡張情報を表すビット値を重畳して得られるパターン値が配置されるが、ここでは、まず、拡張情報を表すビット値のみを示している。即ち、上の行から下の行へ、また、各行においては左から右へ各ビット値を配置するものとし、拡張情報がビット列「１１０１００１１０１００１０１１」で表わされる場合を示している。この状態で、Ｘ座標情報を表すパターン値とＹ座標情報を表すパターン値とをそのＸ座標情報及びＹ座標情報に対応するパターンブロックにおけるビット値に加算する。そして、その結果を「２」で割った余りを、そのパターンブロックにおける擬似乱数情報を表すビット値とする。例えば、図では、Ｘ座標情報のパターン値が「１０」、Ｙ座標情報のパターン値が「１５」、これらに対応する拡張情報のビット値が「１」であるので、（１＋１０＋１５）ｍｏｄ２＝０により、擬似乱数情報を表すビット値は「０」となる。これをビット列を構成する全てのビット値に対して行うことにより、拡張情報のビット列「１１０１００１１０１００１０１１」は、擬似乱数情報のビット列「１１１１０００１１００１０１１０」に変換される。
【００３４】
その後、図７（ｂ）では、このようにして得られた擬似乱数情報を表すビット値を、識別情報を表すパターン値に重畳する。即ち、図中、右側の符号ブロックにおける識別情報が配置されるパターンブロックには、図７（ａ）で得られた擬似乱数情報のビット列「１１１１０００１１００１０１１０」が示されており、このビット列を構成する各ビット値が、識別情報を表すパターン値に重畳される。具体的には、ビット値が「０」であれば、識別情報を表すパターン値を、配置する符号パターンのパターン値としてそのまま用い、ビット値が「１」であれば、識別情報を表すパターン値に「３２」を加算して得られたパターン値を、配置する符号パターンのパターン値として用いる。例えば、図では、識別情報を表すパターン値が「２９」であり、擬似乱数情報を表すビット値が「１」であるので、２９＋（１×３２）＝６１により、パターン値「６１」が、配置する符号パターンのパターン値として用いられることになる。
【００３５】
次に、このような処理をより広範囲にわたって具体的に示す。
まず、図８は、図７（ａ）に示した処理の前後におけるパターン値の配列の一例を示している。即ち、左側の配列における識別情報のパターンブロックに配置された各ビット値に対し、そのパターンブロックに対応するＸ座標情報のパターン値及びＹ座標情報のパターン値を加算し、その結果を「２」で割った余りを、右側の配列における識別情報のパターンブロックに配置している。
【００３６】
また、図９は、図７（ｂ）に示した処理の前後におけるパターン値の配列の一例を示している。即ち、左側の配列における識別情報のパターンブロックに配置された各ビット値を、中央に示した識別情報の各パターン値に重畳することにより得られた値を、右側の配列における識別情報のパターンブロックに配置している。
【００３７】
ところで、ここまでは識別情報を表すパターン配列に生ずる濃度むらの低減方法について述べたが、座標情報を表すパターン列でも問題が生ずる。座標情報に利用しているＭ系列は、計算機で生成することができる擬似乱数としての性質を持っている。そのため、Ｘ座標であれば、Ｘ方向には周期性がなく濃度むらは発生しない。しかしながら、直行するＹ方向には、同じパターン列が配置されることになるため濃度むらが発生する。これは、Ｙ座標についても同様である。
【００３８】
ここで、本実施の形態で埋め込まれる情報の種類及びビット数についてまとめておく。
図１０は、情報の種類及びビット数について説明するための図である。
図示するように、本実施の形態では、同期パターンが配置される１つのパターンブロック（同期ブロック）を基準として、右側に、Ｘ座標情報に関連する情報（Ｘ座標関連情報）５１が配置され、下側に、Ｙ座標情報に関連する情報（Ｙ座標関連情報）５２が配置される。また、Ｘ座標関連情報５１及びＹ座標関連情報５２に囲まれた領域に、識別情報に関連する情報（識別関連情報）５３が配置される。
【００３９】
このうち、識別関連情報５３には、これまで述べてきたように、各パターンブロックに１ビットずつ、合計１６ビットの拡張情報が重畳される。そして、本実施の形態では、この拡張情報にＭ系列の擬似乱数性を与えることで、濃度むらを低減する。従って、この拡張情報を構成するビット列は、濃度むらを低減するためのビット列でもある。或いは、このビット列は、濃度むらを低減するためだけのものとし、拡張情報を表現するものとしなくてもよい。一方、拡張情報に割り当てた１ビットを除いた５ビットは、まず、識別情報を表すものとして１０パターンブロックに配置される。つまり、５０ビットの識別情報が埋め込まれる。そして、残りの６パターンブロックには、５ビットが訂正情報として配置される。前述したが、このように６個の訂正ブロックを設けることで、誤りだと分かる誤りは６ブロックまで訂正され、誤りだと分からない誤りも３ブロックまで訂正される。
【００４０】
また、Ｘ座標関連情報５１には、１６ビットのＸ座標情報が含まれる。ところが、本実施の形態では、９Ｃ３方式における６４種類の情報パターンを用いているので、１つのパターンブロックにつき、２ビットの余裕がある。そこで、これを拡張情報に割り当ててもよい。しかしながら、２ビットをそのまま拡張情報とすると、周期性が発生する。そこで、１ビットを拡張情報、１ビットを乱数による濃度むら低減に利用するのがよい。具体的には、はじめに、６４種類の情報パターンを、３２種類の情報パターンが属する２つの組に分け、この２つの組のそれぞれを更に１６種類の情報パターンが属する２つの組に分ける。そして、Ｘ座標情報を１６種類の情報パターンを用いて表現する。このとき、別途設定した「０」と「１」の乱数によって、各情報パターンとして２つの組の何れに属するものを選択するかを決定する。更に、各情報パターンとして２つの組の何れに属する情報パターンを用いるかによって１ビットの拡張情報を表現する。尚、Ｙ座標関連情報５２についても、同様に１つのパターンブロックにつき１ビットの拡張情報と１ビットの乱数を重畳することにより、濃度むらを低減するようにしてもよい。
【００４１】
尚、図７〜図１０では、９Ｃ３方式を利用する場合を例として示したが、これには限らない。即ち、ｍＣｎ個の符号パターンの中から、ｐ×２ｑ個の情報パターンとｒ個の同期パターンが得られるものであれば、如何なるｍＣｎ方式を利用してもよい。但し、ｐ、ｑは、ｐ≧２、ｑ≧１、ｐ×２ｑ≧（座標情報を表現するために必要な情報パターンの数）を満たす整数とし、ｒは、パターンブロックが正方形であれば４の倍数、パターンブロックが長方形であれば２の倍数とする。そして、この場合、ｐ×２ｑ個の情報パターンを、ｐ個の情報パターンが属する２ｑ個の組に分け、識別情報をｐ個の情報パターンを用いて表現し、更に、２ｑ個の組の何れに属する情報パターンを用いるかによってｑビットの拡張情報を表現する。
このように、本実施の形態では、一定の条件を満たす限り、如何なるｍＣｎ方式を利用してもよいが、以降の説明においても、簡単のため、９Ｃ３方式の利用を前提とする。また、以下では、パターンブロックのことを単に「ブロック」ともいう。
【００４２】
次いで、このような画像を生成する画像生成装置１０について説明する。
図１１は、画像生成装置１０の構成例を示したブロック図である。
図示するように、画像生成装置１０は、情報取得部１１と、識別符号生成部１２と、擬似乱数符号生成部１８と、Ｘ座標符号生成部１３と、Ｙ座標符号生成部１４と、符号配列生成部１５と、パターン画像記憶部１６と、符号画像生成部１７とを備える。
【００４３】
情報取得部１１は、紙面又は紙面に印刷される文書の識別情報、識別情報に重ねて埋め込む拡張情報、紙面上での座標情報を取得する。そして、識別情報を識別符号生成部１２に出力し、拡張情報を擬似乱数符号生成部１８に出力し、座標情報のうち、Ｘ座標情報をＸ座標符号生成部１３に、Ｙ座標情報をＹ座標符号生成部１４に出力する。本実施の形態では、識別情報に重畳する特定の情報を取得する情報取得手段の一例として、情報取得部１１を設けている。
【００４４】
識別符号生成部１２は、情報取得部１１から取得した識別情報を符号化して識別符号を生成し、これを符号配列生成部１５に出力する。本実施の形態では、識別情報を表す第１のビット列を取得する第１のビット列取得手段の一例として、識別符号生成部１２を設けている。
尚、この識別情報の符号化は、ブロック分割、ＲＳ符号化の処理を含む。
このうち、ブロック分割は、識別情報を構成するビット列を、ＲＳ符号化を行うために複数のブロックに分割する処理である。例えば、９Ｃ３方式で６ビットの情報を表現可能な情報パターンを用いる場合、６０ビットの識別情報は、ブロック長が６ビットの１０個のブロックに分割される。
また、ＲＳ符号化は、分割されたブロックに対してＲＳ符号化を行い、誤り訂正のための冗長ブロックを付加する処理である。先の例において３ブロックの誤りを訂正可能なＲＳ符号を採用したとすると、符号長は１６ブロックとなる。
擬似乱数符号生成部１８は、情報取得部１１から取得した拡張情報を符号化して拡張符号を生成する。そして、この拡張符号を構成する各ビット値に対し、Ｘ座標符号生成部１３から取得したＸ座標符号を構成する各パターン値と、Ｙ座標符号生成部１４から取得したＹ座標符号を構成する各パターン値とを加算することにより、擬似乱数符号を生成する。本実施の形態では、擬似乱数ビット列を生成するビット列生成手段の一例として、擬似乱数符号生成部１８を設けている。
【００４５】
Ｘ座標符号生成部１３は、Ｘ座標情報を符号化してＸ座標符号を生成し、これを符号配列生成部１５及び擬似乱数符号生成部１８に出力する。Ｙ座標符号生成部１４は、Ｙ座標情報を符号化してＹ座標符号を生成し、これを符号配列生成部１５及び擬似乱数符号生成部１８に出力する。本実施の形態では、媒体上の位置を表す第２のビット列を取得する第２のビット列取得手段の一例として、Ｘ座標符号生成部１３及びＹ座標符号生成部１４を設けている。
尚、この座標情報の符号化は、Ｍ系列符号化、ブロック分割の処理を含む。
このうち、Ｍ系列符号化は、Ｍ系列を使用して座標情報を符号化する処理である。例えば、符号化したい座標情報の長さから必要なＭ系列の次数を求め、Ｍ系列を動的に生成することで座標符号を生成する。但し、予め符号化したい座標情報の長さが分かっている場合には、Ｍ系列を画像生成装置１０のメモリ等に格納しておき、画像生成時にそれを読み出す構成としてもよい。
また、ブロック分割は、Ｍ系列を複数のブロックに分割する処理である。例えば、情報パターンとして１６種類の符号パターンを選択したとすると、符号ブロックにおける各パターンブロックには４ビットの情報が格納される。従って、図５のようなレイアウトを有する符号ブロックに対して、Ｘ座標情報は、１６ビット分格納される。そして、各ブロックに格納された４ビットに符号パターンを対応付けることにより、座標情報が符号パターンによって表される。
【００４６】
符号配列生成部１５は、識別符号生成部１２にて生成された識別符号と、擬似乱数符号生成部１８にて生成された擬似乱数符号と、Ｘ座標符号生成部１３及びＹ座標符号生成部１４にて生成された座標符号と、識別符号及び座標符号の読出しを制御する同期符号とを２次元平面に配置して２次元の符号配列を生成する。ここで、同期符号とは、同期パターンのパターン値である。識別符号とは、識別情報を表す情報パターンのパターン値である。但し、識別符号としては、識別符号生成部１２から取得した識別符号を構成するパターン値をそのまま配置するのではなく、９Ｃ３方式における３２種類の情報パターンが所属する２つの組の何れかに属する情報パターンのパターン値を選択して配置する。このとき、何れの組におけるパターン値を選択するかは、擬似乱数符号生成部１８から取得した擬似乱数符号を構成するビット値により決められる。また、座標符号とは、座標情報を表す情報パターンのパターン値である。
パターン画像記憶部１６は、図３に示した９Ｃ３方式における全符号パターンを記憶する。ここで、符号パターンには、上述したようにパターン値が付されており、各符号パターンはパターン値をキーとして読み出し可能になっている。
符号画像生成部１７は、符号配列生成部１５が生成した２次元の符号配列を参照し、符号配列における各パターン値に対応した符号パターンを選択して符号画像を生成する。本実施の形態では、埋め込み画像を生成する埋め込み画像生成手段の一例として、符号画像生成部１７を設けている。
【００４７】
そして、この符号画像は、図示しない画像形成部に渡され、画像形成部が紙面に符号画像を形成する。このとき、画像形成部は、電子文書の文書画像と符号画像とを重畳した重畳画像を紙面に形成するようにしてもよい。また、このように重畳画像を形成する場合には、紙面に対するペンデバイスによる筆記データが電子文書上の適切な位置に反映されるよう電子文書上の位置と紙面上の位置との対応関係を管理することが望ましい。
【００４８】
また、画像形成部は、符号画像を、例えば電子写真方式を用いて、Ｋトナー（カーボンを含む赤外光吸収トナー）、又は、特殊トナーにより形成する。
ここで、特殊トナーとしては、可視光領域（４００ｎｍ〜７００ｎｍ）における最大吸収率が７％以下であり、近赤外領域（８００ｎｍ〜１０００ｎｍ）における吸収率が３０％以上の不可視トナーが例示される。ここで、「可視」及び「不可視」は、目視により認識できるかどうかとは関係しない。印刷された媒体に形成された画像が可視光領域における特定の波長の吸収に起因する発色性の有無により認識できるかどうかで「可視」と「不可視」とを区別している。また、可視光領域における特定の波長の吸収に起因する発色性が若干あるが、人間の目で認識し難いものも「不可視」に含める。
【００４９】
次いで、この画像生成装置１０の動作を説明する。
図１２は、画像生成装置１０の動作例を示したフローチャートである。
印刷指示があると、画像生成装置１０では、情報取得部１１が、紙面又は紙面に印刷される文書の識別情報と、識別情報に重ねて埋め込む拡張情報と、紙面上に埋め込む座標情報とを取得する（ステップ１０１）。ここで、識別情報は、印刷を指示するＰＣ等から取得してもよいし、画像生成装置１０内で例えば自装置の識別番号と自装置内での一連番号とを組み合わせることにより生成してもよい。また、拡張情報は、印刷を指示するＰＣ等から取得するとよい。更に、座標情報は、ＰＣ等で指定された用紙サイズの情報等に基づいて画像生成装置１０内で生成するとよい。
【００５０】
次に、識別符号生成部１２は、情報取得部１１から受け取った識別情報を符号化して識別符号を生成し、これを符号配列生成部１５に出力する（ステップ１０２）。また、Ｘ座標符号生成部１３は、情報取得部１１から受け取ったＸ座標情報を符号化してＸ座標符号を生成し、これを符号配列生成部１５及び擬似乱数符号生成部１８に出力し、一方で、Ｙ座標符号生成部１４は、情報取得部１１から受け取ったＹ座標情報を符号化してＹ座標符号を生成し、これを符号配列生成部１５及び擬似乱数符号生成部１８に出力する（ステップ１０３）。
更に、擬似乱数符号生成部１８は、情報取得部１１から受け取った拡張情報を符号化して拡張符号を生成する（ステップ１０４）。そして、拡張符号を構成するビット値に対して、Ｘ座標符号を構成するパターン値とＹ座標符号を構成するパターン値とを加算し、その結果を「２」で割った余りを擬似乱数符号を構成するビット値とし、これを符号配列生成部１５に出力する（ステップ１０５）。
【００５１】
その後、符号配列生成部１５は、識別符号生成部１２から受け取った識別符号を構成するパターン値に対して、擬似乱数符号生成部１８から受け取ったビット値を重畳する（ステップ１０６）。例えば、ビット値が「０」であれば、第１組に属する符号パターンのパターン値を取得し、ビット値が「１」であれば、第２組に属する符号パターンのパターン値を取得する。そして、同期パターンのパターン値と、ステップ１０６で得られたパターン値と、Ｘ座標符号生成部１３から受け取ったＸ座標符号を構成するパターン値と、Ｙ座標符号生成部１４から受け取ったＹ座標符号を構成するパターン値とを、図５に示したレイアウトに従って配置する（ステップ１０７）。
【００５２】
そして、最後に、符号画像生成部１７が、符号配列生成部１５が生成した符号配列における各パターン値に対応する符号パターンをパターン画像記憶部１６から読み出して配置することにより、符号画像を生成する（ステップ１０８）。
【００５３】
次に、紙面に形成された符号画像を読み取って処理する画像処理装置２０について説明する。
図１３は、画像処理装置２０の構成例を示したブロック図である。
図示するように、画像処理装置２０は、画像読取部２１と、ドット配列生成部２２と、ブロック検出部２３と、同期符号検出部２４とを備える。また、識別符号検出部３０と、識別符号復号部３２と、擬似乱数符号復号部３３と、Ｘ座標符号検出部４０と、Ｘ座標符号復号部４２と、Ｙ座標符号検出部４５と、Ｙ座標符号復号部４７と、情報出力部５０とを備える。
【００５４】
画像読取部２１は、ＣＣＤ（Charge Coupled Devices）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子を用いて、紙面に印刷された符号画像を読み取る。
ドット配列生成部２２は、読み取った符号画像からドットを検出し、ドットの位置を参照して、ドット配列を生成する。尚、符号画像からのドット検出の前処理として、読み取った画像に含まれるノイズを除去するための処理も行う。ここで、ノイズには、例えば、撮像素子感度のばらつきや電子回路により発生するノイズがある。ノイズ除去の処理の種類は、撮像系の特性に合わせるべきだが、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用するとよい。また、ドットの検出は、次のように行う。即ち、まず、２値化処理によりドット画像の部分と、その他の背景画像の部分とを切り分け、２値化された個々の画像位置からドットの位置を検出する。その際、２値化された画像にノイズ成分が多数含まれる場合があるため、２値化された画像の面積や形状によりドットの判定を行うフィルタ処理を組み合わせる必要がある。その後、ドット配列の生成は、２次元の配列上で、例えば、ドットがある位置を「１」、ドットがない位置を「０」というように、画像として検出したドットをデジタルデータに置き換えることにより行う。本実施の形態では、埋め込み画像を取得する埋め込み画像取得手段の一例として、ドット配列生成部２２を設けている。
【００５５】
ブロック検出部２３は、ドット配列上で、符号ブロック内のパターンブロックを検出する。即ち、符号ブロックと同じ大きさ及び形状のフレームで、パターンブロックと同じ大きさ及び形状のブロックを有するブロックフレームをドット配列上で適宜動かし、ブロック内のドット数が均等になる位置を正しいフレーム位置とし、各ブロック内のパターン値を格納した符号配列を生成する。
【００５６】
同期符号検出部２４は、ドット配列から検出された各符号パターンの種類を参照して、同期符号を検出する。また、同期符号検出部２４は、検出した同期符号に基づいて、画像の回転の判定も行う。例えば、正方形の符号パターンを用いた場合、９０度単位で回転している可能性がある。そこで、検出した同期符号が４種類の同期パターンのいずれに対応しているかによって、その向きを検出する。また、長方形の符号パターンを用いた場合、１８０度単位で回転している可能性がある。そこで、検出された同期符号が２種類の同期パターンのいずれに対応しているかによって、その向きを検出する。更に、同期符号検出部２４は、このように検出された回転角度だけ符号配列を回転させて、符号配列を正しい向きに設定する。
【００５７】
識別符号検出部３０は、角度が補正された符号配列から、同期符号の位置を基準にして識別符号が配置されるブロックにおけるパターン値を検出し、このパターン値から擬似乱数符号のビット値を除去することにより、識別符号を検出する。また、ここで除去された擬似乱数符号も検出結果として取得する。本実施の形態では、識別情報を表す第１のビット列と擬似乱数ビット列とを取得する第１のビット列取得手段の一例として、識別符号検出部３０を設けている。
識別符号復号部３２は、図１１を参照して説明したＲＳ符号の符号化処理で用いたパラメータ（ブロック数等）と同じパラメータを用いて識別符号を復号し、識別情報を出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部３２を設けている。
擬似乱数符号復号部３３は、識別符号検出部３０により検出された擬似乱数符号と、Ｘ座標符号検出部４０により検出されたＸ座標符号と、Ｙ座標符号検出部４５により検出されたＹ座標符号とから、拡張符号を求める。また、この拡張符号を復号し、拡張情報を出力する。本実施の形態では、第３のビット列を生成するビット列生成手段の一例として、また、情報を取得する情報取得手段の一例として、擬似乱数符号復号部３３を設けている。
【００５８】
Ｘ座標符号検出部４０は、角度が補正された符号配列から、同期符号の位置を基準にしてＸ座標符号を検出する。本実施の形態では、媒体上の位置を表す第２のビット列を取得する第２のビット列取得手段の一例として、Ｘ座標符号検出部４０を設けている。
Ｘ座標符号復号部４２は、検出されたＸ座標符号からＭ系列の部分系列を取り出し、画像生成に使用したＭ系列におけるこの部分系列の位置を参照し、この位置を符号ブロックのシフト量で補正した値をＸ座標情報として出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部３２を設けている。
【００５９】
Ｙ座標符号検出部４５は、角度が補正された符号配列から、同期符号の位置を基準にしてＹ座標符号を検出する。本実施の形態では、媒体上の位置を表す第２のビット列を取得する第２のビット列取得手段の一例として、Ｙ座標符号検出部４５を設けている。
Ｙ座標符号復号部４７は、検出されたＹ座標符号からＭ系列の部分系列を取り出し、画像生成に使用したＭ系列におけるこの部分系列の位置を参照し、この位置を符号ブロックのシフト量で補正した値をＹ座標情報として出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部３２を設けている。
【００６０】
情報出力部５０は、識別符号復号部３２、擬似乱数符号復号部３３、Ｘ座標符号復号部４２、Ｙ座標符号復号部４７からそれぞれ取得した識別情報、拡張情報、Ｘ座標情報、Ｙ座標情報を出力する。
【００６１】
次いで、この画像処理装置２０の動作を説明する。尚、この動作の説明では、９Ｃ３方式の符号パターンが図５のレイアウトで配置されていることを前提とする。
まず、画像読取部２１が、符号画像が印刷された媒体から、所定の大きさの領域の符号画像を読み取る。
次に、ドット配列生成部２２が、ドットを検出した位置に「１」を、ドットを検出しなかった位置に「０」を設定したドット配列を生成する。
その後、ブロック検出部２３が、このドット配列にブロックフレームを重ねて、全てのパターンブロック内のドットの数が「３」となるブロックフレームの位置を探索することで、パターンブロックの境界を検出する。本実施の形態において、符号ブロックは、パターンブロックが５個×５個で配置されたものとしている。従って、ブロックフレームとしても、５ブロック×５ブロックの大きさのものを用いる。
【００６２】
ここで、ブロック検出部２３の動作について説明する。
図１４は、ブロック検出部２３の動作例を示したフローチャートである。
まず、ブロック検出部２３は、ドット配列生成部２２からドット配列を取得する（ステップ２０１）。このドット配列の大きさは、（復号に必要なブロック数×ブロックの一辺のドット数＋ブロックの一辺のドット数−１）２である。本実施の形態では、復号に必要なブロック数は５×５であり、ブロックの一辺のドット数が３であるので、１７×１７のドット配列を取得する。
【００６３】
次に、取得したドット配列に、ブロックフレームを重ね合わせる（ステップ２０２）。そして、カウンタＩ、Ｊに「０」を代入し、ＭａｘＢＮにも「０」を代入する（ステップ２０３）。ここで、Ｉ、Ｊは、ブロックフレームを初期位置から移動させたステップ数をカウントするものである。画像の１ラインごとにブロックフレームを移動させ、そのとき移動させたライン数をカウンタＩ、Ｊでカウントする。また、ＭａｘＢＮは、ブロック内で検出されるドット数が「３」となるブロック数をブロックフレームを移動させながらカウントしていったときに、最大となるカウント値を記録するものである。
【００６４】
次に、ブロック検出部２３は、ブロックフレームをＸ方向にＩ、Ｙ方向にＪ移動させる（ステップ２０４）。初期状態においてＩ、Ｊは「０」であるので、ブロックフレームは移動しない。そして、ブロックフレームの各ブロックに含まれるドット数をカウントして、ドット数が「３」となるブロックの数をカウントする。カウントしたブロック数はＩＢ［Ｉ，Ｊ］に格納する（ステップ２０５）。ＩＢ［Ｉ，Ｊ］のＩ、Ｊには、ブロックフレームの移動量を示すＩとＪの値がそれぞれ記録される。
【００６５】
次に、ブロック検出部２３は、ＩＢ［Ｉ，Ｊ］とＭａｘＢＮとを比較する（ステップ２０６）。ＭａｘＢＮは初期値が「０」であるので、最初の比較では、ＩＢ［Ｉ，Ｊ］がＭａｘＢＮよりも大きくなる。この場合、ＭａｘＢＮにＩＢ［Ｉ，Ｊ］の値を代入すると共に、ＭＸにＩの値を、ＭＹにＪの値を代入する（ステップ２０７）。尚、ＩＢ［Ｉ，Ｊ］がＭａｘＢＮ以下である場合は、ＭａｘＢＮ、ＭＸ、ＭＹの値はそのままにしておく。
【００６６】
その後、ブロック検出部２３は、Ｉ＝２であるかどうかを判定する（ステップ２０８）。
ここで、Ｉ＝２でない場合には、Ｉに「１」を加算する（ステップ２０９）。そして、ステップ２０４、２０５の処理を繰り返し行い、ＩＢ［Ｉ，Ｊ］とＭａｘＢＮとを比較していく（ステップ２０６）。
ＩＢ［Ｉ，Ｊ］が前回までのＩＢ［Ｉ，Ｊ］の最大値であるＭａｘＢＮよりも大きいと、ＭａｘＢＮにＩＢ［Ｉ，Ｊ］の値を代入し、そのときのＩの値をＭＸに、Ｊの値をＭＹに代入する（ステップ２０７）。また、ＭａｘＢＮのほうがＩＢ［Ｉ，Ｊ］よりも大きい場合には、Ｉ＝２であるかどうかを判定する（ステップ２０８）。Ｉ＝２となると、次にＪ＝２であるかどうかを判定する（ステップ２１０）。Ｊ＝２でない場合には、Ｉに「０」を代入し、Ｊに「１」を加算する（ステップ２１１）。このような手順を繰り返し行い、（Ｉ，Ｊ）が（０，０）から（２，２）までで、ＩＢ［Ｉ，Ｊ］が最大のものを検出する。
【００６７】
Ｉ＝２、Ｊ＝２までの処理が終了すると、ブロック検出部２３は、保存しているＭａｘＢＮと閾値ＴＢとを比較する（ステップ２１２）。閾値ＴＢは、ドット数が「３」のブロックの数が復号可能な程度のものかを判定するための閾値である。
ここで、ＭａｘＢＮが閾値ＴＢよりも大きい場合には、ブロックフレームをＭＸ、ＭＹの位置に固定し、その位置で各ブロックのパターン値を検出する。そして、検出したパターン値を、各ブロックを識別する変数Ｘ、Ｙと共に符号配列ＰＡ［Ｘ，Ｙ］としてメモリに記録する（ステップ２１３）。尚、このとき、対応するパターン値に変換することができなければ、パターン値として用いられていない「−１」を記録する。そして、ブロック検出部２３は、ＭＸ、ＭＹと、符号配列ＰＡ［Ｘ，Ｙ］とを同期符号検出部２４に出力する（ステップ２１４）。
一方、ＭａｘＢＮが閾値ＴＢ以下である場合には、画像のノイズが大きく復号は不可能と判定し、復号不能を出力する（ステップ２１５）。
【００６８】
次に、同期符号検出部２４の動作について説明する。
図１５は、同期符号検出部２４の動作例を示したフローチャートである。
まず、同期符号検出部２４は、ブロック検出部２３からＭＸ、ＭＹと、符号配列ＰＡ［Ｘ，Ｙ］とを取得する（ステップ２５１）。
次に、同期符号検出部２４は、Ｋ、Ｌに「１」を代入する（ステップ２５２）。尚、ＫはＸ方向のブロック数を示すカウンタであり、ＬはＹ方向のブロック数を示すカウンタである。
【００６９】
次に、同期符号検出部２４は、ＰＡ［Ｋ，Ｌ］のパターン値が「６４」かどうかを判定する（ステップ２５３）。
ＰＡ［Ｋ，Ｌ］のパターン値が「６４」であれば、符号配列ＰＡ［Ｘ，Ｙ］の回転は必要ないと判定し、同期符号のあるブロックのＸ座標ＳＸにＫを代入し、Ｙ座標ＳＹにＬを代入する。また、ブロックフレームのＸ方向への移動量ＳｈｉｆｔＸにＭＸを代入し、Ｙ方向への移動量ＳｈｉｆｔＹにＭＹを代入する（ステップ２５４）。
【００７０】
次に、同期符号検出部２４は、ＰＡ［Ｋ，Ｌ］のパターン値が「６５」かどうかを判定する（ステップ２５５）。
ＰＡ［Ｋ，Ｌ］のパターン値が「６５」であれば、符号配列ＰＡ［Ｘ，Ｙ］を左方向に９０度回転させる（ステップ２５６）。図４（ｂ）に示すようにパターン値「６５」の符号パターンは、パターン値「６４」の符号パターンを右方向に９０度回転させた画像であるので、逆方向に９０度回転させて画像を正立させている。尚、このとき、符号配列ＰＡ［Ｘ，Ｙ］内の全てのパターン値が、左方向に９０度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのＸ座標ＳＸにＬを代入し、Ｙ座標ＳＹに６−Ｋを代入する。また、ブロックフレームのＸ方向への移動量ＳｈｉｆｔＸにＭＹを代入し、Ｙ方向への移動量ＳｈｉｆｔＹに２−ＭＸを代入する（ステップ２５７）。
【００７１】
次に、同期符号検出部２４は、ＰＡ［Ｋ，Ｌ］のパターン値が「６６」かどうかを判定する（ステップ２５８）。
ＰＡ［Ｋ，Ｌ］のパターン値が「６６」であれば、符号配列ＰＡ［Ｘ，Ｙ］を左方向に１８０度回転させる（ステップ２５９）。図４（ｂ）に示すようにパターン値「６６」の符号パターンは、パターン値「６４」の符号パターンを１８０度回転させた画像であるので、パターン値「６６」の符号パターンを１８０度回転させて画像を正立させている。尚、このとき、符号配列ＰＡ［Ｘ，Ｙ］内の全てのパターン値が、１８０度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのＸ座標ＳＸに６−Ｋを代入し、Ｙ座標ＳＹに６−Ｌを代入する。また、ブロックフレームのＸ方向への移動量ＳｈｉｆｔＸに２−ＭＸを代入し、Ｙ方向への移動量ＳｈｉｆｔＹに２−ＭＹを代入する（ステップ２６０）。
【００７２】
次に、同期符号検出部２４は、ＰＡ［Ｋ，Ｌ］のパターン値が「６７」かどうかを判定する（ステップ２６１）。
ＰＡ［Ｋ，Ｌ］のパターン値が「６７」であれば、符号配列ＰＡ［Ｘ，Ｙ］を左方向に２７０度回転させる（ステップ２６２）。図４（ｂ）に示すようにパターン値「６７」の符号パターンは、パターン値「６４」の符号パターンを右に２７０度回転させた画像であるので、逆方向に２７０度回転させて画像を正立させている。尚、このとき、符号配列ＰＡ［Ｘ，Ｙ］内の全てのパターン値が、左方向に２７０度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのＸ座標ＳＸに６−Ｌを代入し、Ｙ座標ＳＹにＫを代入する。また、ブロックフレームのＸ方向への移動量ＳｈｉｆｔＸに２−ＭＹを代入し、Ｙ方向への移動量ＳｈｉｆｔＹにＭＸを代入する（ステップ２６３）。
【００７３】
そして、ステップ２５４、２５７、２６０、２６３で、ＳＸ、ＳＹ、ＳｈｉｆｔＸ、ＳｈｉｆｔＹに値が代入された場合、同期符号検出部２４は、ＰＡ［Ｘ，Ｙ］とこれらの値を識別符号検出部３０、Ｘ座標符号検出部４０、Ｙ座標符号検出部４５に出力する（ステップ２６４）。
また、ＰＡ［Ｋ，Ｌ］がパターン値「６４」〜「６７」のいずれでもなければ、同期符号検出部２４は、Ｋ＝５であるかどうかを判定する（ステップ２６５）。Ｋ＝５でない場合には、Ｋに「１」を加算し（ステップ２６６）、ステップ２５３に戻る。Ｋ＝５であれば、Ｌ＝５であるかどうかを判定する（ステップ２６７）。Ｌ＝５でない場合には、Ｋに「１」を代入し、Ｌに「１」を加算し（ステップ２６８）、ステップ２５３に戻る。即ち、ステップ２５３〜２６４の処理を、パターン値「６４」〜「６７」のブロックを検出するまでＫ、Ｌの値を変更しながら繰り返し行う。また、Ｋ＝５、Ｌ＝５になっても、パターン値「６４」〜「６７」のブロックを検出することができなかった場合には、復号不能の判定信号を出力する（ステップ２６９）。
【００７４】
次に、Ｘ座標符号検出部４０及びＸ座標符号復号部４２の動作について説明する。
図１６は、Ｘ座標符号検出部４０及びＸ座標符号復号部４２の動作例を示したフローチャートである。
まず、Ｘ座標符号検出部４０は、同期符号検出部２４から符号配列ＰＡ［Ｘ，Ｙ］、ＳＸ、ＳＹ、ＳｈｉｆｔＸ、ＳｈｉｆｔＹを取得する（ステップ４０１）。
次に、Ｘ座標符号検出部４０は、Ｘ座標符号配列ＸＡ［Ｘ］の全ての要素を「−１」で初期化する（ステップ４０２）。尚、この「−１」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタＩＸ、ＩＹに「１」を代入する。ここで、ＩＸは、Ｘ方向のブロック数を示すカウンタであり、ＩＹは、Ｙ方向のブロック数を示すカウンタである。更に、Ｘ座標符号検出部４０は、Ｘ座標符号配列における各要素を識別するためのカウンタＫＸにも「１」を代入する（ステップ４０３）。
【００７５】
また、Ｘ座標符号検出部４０は、ＩＹ−ＳＹが「５」で割り切れるかどうかを判定する（ステップ４０４）。即ち、ＩＹで特定される行に同期符号が配置されているかどうかを判定する。
ここで、ＩＹ−ＳＹが「５」で割り切れなかった場合、つまり、この行に同期符号が配置されていない場合は、Ｘ座標符号を取り出す対象ではないため、ＩＹに「１」を加算し（ステップ４０５）、ステップ４０４へ進む。
一方、ＩＹ−ＳＹが「５」で割り切れた場合、つまり、この行に同期符号が配置されている場合、Ｘ座標符号検出部４０は、ＩＸ−ＳＸが「５」で割り切れるかどうかを判定する（ステップ４０６）。即ち、ＩＸで特定される列に同期符号が配置されているかどうかを判定する。
【００７６】
ここで、ＩＸ−ＳＸが「５」で割り切れた場合、つまり、この列に同期符号が配置されている場合は、Ｘ座標符号を取り出す対象ではないため、ＩＸに「１」を加算し（ステップ４０７）、ステップ４０６へ進む。
一方、ＩＸ−ＳＸが「５」で割り切れなかった場合、つまり、この列に同期符号が配置されていない場合、Ｘ座標符号検出部４０は、ＸＡ［ＫＸ］に、ＰＡ［ＩＸ，ＩＹ］を「１６」で割った余りを代入する（ステップ４０８）。また、拡張情報を表すＸＢ［ＫＸ］に、ＰＡ［ＩＸ，ＩＹ］を「３２」で割った商を代入する（ステップ４０９）。
【００７７】
そして、ＩＸ＝５であるかどうかを判定する（ステップ４１０）。
ここで、ＩＸ＝５でない場合には、ＫＸに「１」を加算し（ステップ４１１）、ＩＸに「１」を加算して（ステップ４０７）、ステップ４０６〜４０９の処理をＩＸ＝５となるまで繰り返し行う。また、ＩＸ＝５となると、Ｘ座標符号復号部４２の処理に移る。
【００７８】
即ち、Ｘ座標符号復号部４２は、ＸＡ［Ｘ］を復号できるかどうかを判定する（ステップ４１２）。
ここで、ＸＡ［Ｘ］を復号できると判定すると、Ｘ座標符号復号部４２は、ＸＡ［Ｘ］とＳｈｉｆｔＸからＸ座標情報を復号する（ステップ４１３）。また、ＸＡ［Ｘ］が復号できないと判定された場合は、Ｘ座標情報にＮ／Ａを代入する（ステップ４１４）。
【００７９】
尚、ここでは、Ｘ座標符号検出部４０及びＸ座標符号復号部４２の動作のみ説明したが、Ｙ座標符号検出部４５及びＹ座標符号復号部４７も同様の動作を行う。即ち、符号配列ＰＡ［Ｘ，Ｙ］からＹ座標符号配列ＹＡ［Ｙ］を求め、これを復号する。
【００８０】
次に、識別符号検出部３０、識別符号復号部３２、擬似乱数符号復号部３３の動作について説明する。
図１７は、識別符号検出部３０、識別符号復号部３２、擬似乱数符号復号部３３の動作例を示したフローチャートである。
まず、識別符号検出部３０は、同期符号検出部２４から符号配列ＰＡ［Ｘ，Ｙ］、ＳＸ、ＳＹを取得する（ステップ３０１）。
次に、識別符号検出部３０は、識別符号配列ＩＡ［Ｘ，Ｙ］の全ての要素を「−１」で初期化する（ステップ３０２）。尚、この「−１」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタＩＸ、ＩＹに「１」を代入する（ステップ３０３）。ここで、ＩＸは、Ｘ方向のブロック数を示すカウンタであり、ＩＹは、Ｙ方向のブロック数を示すカウンタである。
【００８１】
また、識別符号検出部３０は、ＩＹ−ＳＹが「５」で割り切れるかどうかを判定する（ステップ３０４）。即ち、ＩＹで特定される行に同期符号が配置されているかどうかを判定する。
ここで、ＩＹ−ＳＹが「５」で割り切れた場合、つまり、この行に同期符号が配置されている場合は、識別符号を取り出す対象ではないため、ＩＹに「１」を加算し（ステップ３０５）、ステップ３０４へ進む。
一方、ＩＹ−ＳＹが「５」で割り切れなかった場合、つまり、この行に同期符号が配置されていない場合は、ＩＸ−ＳＸが「５」で割り切れるかどうかを判定する（ステップ３０６）。即ち、ＩＸで特定される列に同期符号が配置されているかどうかを判定する。
【００８２】
ここで、ＩＸ−ＳＸが「５」で割り切れた場合、つまり、この列に同期符号が配置されている場合は、識別符号を取り出す対象ではないため、ＩＸに「１」を加算し（ステップ３０７）、ステップ３０６へ進む。
一方、ＩＸ−ＳＸが「５」で割り切れなかった場合、つまり、この列に同期符号が配置されていない場合、識別符号検出部３０は、ＩＡ［（ＩＸ−ＳＸ）ｍｏｄ５，（ＩＹ−ＳＹ）ｍｏｄ５］に、ＰＡ［ＩＸ，ＩＹ］を「３２」で割った余りを代入する（ステップ３０８）。また、ＩＢ［（ＩＸ−ＳＸ）ｍｏｄ５，（ＩＹ−ＳＹ）ｍｏｄ５］に、ＰＡ［ＩＸ，ＩＹ］を「３２」で割った商を代入する（ステップ３０９）。
【００８３】
そして、ＩＸ＝５であるかどうかを判定する（ステップ３１０）。
ここで、ＩＸ＝５でない場合には、ＩＸに「１」を加算して（ステップ３０７）、ステップ３０６〜３０９の処理をＩＸ＝５となるまで繰り返し行う。また、ＩＸ＝５となると、次に、ＩＹ＝５であるかどうかを判定する（ステップ３１１）。ＩＹ＝５でない場合には、ＩＸに「１」を代入し（ステップ３１２）、ＩＹに「１」を加算して（ステップ３０５）、ステップ３０４〜３１０の処理をＩＹ＝５となるまで繰り返し行う。また、ＩＹ＝５となると、識別符号復号部３２及び擬似乱数符号復号部３３の処理に移る。
【００８４】
即ち、識別符号復号部３２は、ＩＡ［Ｘ，Ｙ］を復号できるかどうかを判定する（ステップ３１３）。
ここで、ＩＡ［Ｘ，Ｙ］を復号できると判定すると、識別符号復号部３２は、ＩＡ［Ｘ，Ｙ］から識別情報を得る（ステップ３１４）。そして、ＩＡ［Ｘ，Ｙ］を復号できる旨を擬似乱数符号復号部３３に伝え、これにより、擬似乱数符号復号部３３が、ＩＢ［Ｘ，Ｙ］からＸＡ［Ｘ］及びＹＡ［Ｙ］を減算し、その結果を「２」で割ることにより、拡張情報を得る（ステップ３１５）。
一方、ＩＡ［Ｘ，Ｙ］を復号できないと判定すると、識別符号復号部３２は、識別情報にＮ／Ａを代入する（ステップ３１６）。そして、ＩＡ［Ｘ，Ｙ］を復号できない旨を擬似乱数符号復号部３３に伝え、これにより、擬似乱数符号復号部３３が、拡張情報にＮ／Ａを代入する（ステップ３１７）。
以上により、本実施の形態における画像処理装置２０の動作説明を終了する。
【００８５】
尚、上記の説明では、Ｍ系列を用いてＸ座標情報及びＹ座標情報を表現することでこれらの情報が擬似乱数性を有することとしたが、Ｍ系列以外の公知の擬似乱数生成方法を用いてＸ座標情報及びＹ座標情報を表現するようにしてもよい。
また、ここでは、識別情報に重畳する拡張情報に対し、その拡張情報が埋め込まれる位置のＸ座標情報及びＹ座標情報を用いて擬似乱数性を与えるようにした。しかしながら、拡張情報が埋め込まれる位置を表す情報であれば、Ｘ座標情報及びＹ座標情報の何れか一方の情報や、Ｘ座標情報及びＹ座標情報以外の情報を採用してもよい。
【００８６】
次に、本実施の形態における画像生成装置１０及び画像処理装置２０の具体的なハードウェア構成について説明する。
まず、画像処理装置２０を実現するペンデバイス６０について説明する。
図１８は、ペンデバイス６０の機構を示した図である。
図示するように、ペンデバイス６０は、ペン全体の動作を制御する制御回路６１を備える。また、制御回路６１は、入力画像から検出した符号画像を処理する画像処理部６１ａと、そこでの処理結果から識別情報及び座標情報を抽出するデータ処理部６１ｂとを含む。
そして、制御回路６１には、ペンデバイス６０による筆記動作をペンチップ６９に加わる圧力によって検出する圧力センサ６２が接続されている。また、媒体上に赤外光を照射する赤外ＬＥＤ６３と、画像を入力する赤外ＣＭＯＳ６４も接続されている。更に、識別情報及び座標情報を記憶するための情報メモリ６５と、外部装置と通信するための通信回路６６と、ペンを駆動するためのバッテリ６７と、ペンの識別情報（ペンＩＤ）を記憶するペンＩＤメモリ６８も接続されている。
【００８７】
尚、図１３に示した画像読取部２１は、例えば、図１８の赤外ＣＭＯＳ６４にて実現される。また、ドット配列生成部２２は、例えば、図１８の画像処理部６１ａにて実現される。更に、図１３に示したブロック検出部２３、同期符号検出部２４、識別符号検出部３０、識別符号復号部３２、擬似乱数符号復号部３３、Ｘ座標符号検出部４０、Ｘ座標符号復号部４２、Ｙ座標符号検出部４５、Ｙ座標符号復号部４７、情報出力部５０は、例えば、図１８のデータ処理部６１ｂにて実現される。
【００８８】
また、画像生成装置１０にて実現される処理、及び、図１８の画像処理部６１ａ又はデータ処理部６１ｂにて実現される処理は、例えば、汎用のコンピュータで実現してもよい。そこで、かかる処理をコンピュータ９０で実現するものとし、コンピュータ９０のハードウェア構成について説明する。
図１９は、コンピュータ９０のハードウェア構成を示した図である。
図示するように、コンピュータ９０は、演算手段であるＣＰＵ（Central Processing Unit）９１と、記憶手段であるメインメモリ９２及び磁気ディスク装置（ＨＤＤ：Hard Disk Drive）９３とを備える。ここで、ＣＰＵ９１は、ＯＳ（Operating System）やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ９２は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置９３は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ９０は、外部との通信を行うための通信Ｉ／Ｆ９４と、ビデオメモリやディスプレイ等からなる表示機構９５と、キーボードやマウス等の入力デバイス９６とを備える。
【００８９】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【図面の簡単な説明】
【００９０】
【図１】９Ｃ２方式及び９Ｃ３方式における符号パターンの一例を示した図である。
【図２】９Ｃ２方式における全符号パターンの一例を示した図である。
【図３】９Ｃ３方式における全符号パターンの一例を示した図である。
【図４】９Ｃ２方式及び９Ｃ３方式における同期パターンの例を示した図である。
【図５】符号ブロックの基本的なレイアウトの例を示した図である。
【図６】符号ブロックの広範囲のレイアウトの例を示した図である。
【図７】本実施の形態におけるパターン値の演算を符号ブロックの基本的なレイアウト上で説明するための図である。
【図８】本実施の形態におけるパターン値の演算を符号ブロックの広範囲のレイアウト上で説明するための図である。
【図９】本実施の形態におけるパターン値の演算を符号ブロックの広範囲のレイアウト上で説明するための図である。
【図１０】本実施の形態で表現可能な情報の種類及びビット値を示した図である。
【図１１】本実施の形態における画像生成装置の機能構成例を示したブロック図である。
【図１２】本実施の形態における画像生成装置の動作例を示したフローチャートである。
【図１３】本実施の形態における画像処理装置の機能構成例を示したブロック図である。
【図１４】本実施の形態におけるブロック検出部の動作例を示したフローチャートである。
【図１５】本実施の形態における同期符号検出部の動作例を示したフローチャートである。
【図１６】本実施の形態におけるＸ座標符号検出部等の動作例を示したフローチャートである。
【図１７】本実施の形態における識別符号検出部等の動作例を示したフローチャートである。
【図１８】本実施の形態における画像処理装置を実現可能なペンデバイスの機構を示した図である。
【図１９】本実施の形態を適用可能なコンピュータのハードウェア構成図である。
【符号の説明】
【００９１】
１０…画像生成装置、１１…情報取得部、１２…識別符号生成部、１３…Ｘ座標符号生成部、１４…Ｙ座標符号生成部、１５…符号配列生成部、１６…パターン画像記憶部、１７…符号画像生成部、１８…擬似乱数符号生成部、２０…画像処理装置、２１…画像読取部、２２…ドット配列生成部、２３…ブロック検出部、２４…同期符号検出部、３０…識別符号検出部、３２…識別符号復号部、３３…擬似乱数符号復号部、４０…Ｘ座標符号検出部、４２…Ｘ座標符号復号部、４５…Ｙ座標符号検出部、４７…Ｙ座標符号復号部、５０…情報出力部
【図１】
0005125547.tif 000002
【図２】
0005125547.tif 000003
【図３】
0005125547.tif 000004
【図４】
0005125547.tif 000005
【図５】
0005125547.tif 000006
【図６】
0005125547.tif 000007
【図７】
0005125547.tif 000008
【図８】
0005125547.tif 000009
【図９】
0005125547.tif 000010
【図１０】
0005125547.tif 000011
【図１１】
0005125547.tif 000012
【図１２】
0005125547.tif 000013
【図１３】
0005125547.tif 000014
【図１４】
0005125547.tif 000015
【図１５】
0005125547.tif 000016
【図１６】
0005125547.tif 000017
【図１７】
0005125547.tif 000018
【図１８】
0005125547.tif 000019
【図１９】
0005125547.tif 000020