(57)【要約】【課題】  複数ドットで1つの符号単位を表現することで、目立たず、かつ高情報量のコードパターンを提供する。【解決手段】  機械読み取り可能なコードパターンであって、情報単位となるブロック内に、一定数の複数ドットを選択的に配置したことを特徴としている。このようにブロック内に一定数の複数ドットを配置して情報を表示するので、表現できる情報量を増やすと共に、ブロック内での濃度をできるだけ低くし、全体的に濃度むらがない均一なパターンを実現することができる。【選択図】        図３
2007179111.tif 000002
【特許請求の範囲】
【請求項１】
機械読み取り可能なコードパターンであって、
情報単位となるブロック内に、一定数の複数ドットを選択的に配置したことを特徴とするコードパターン。
【請求項２】
前記ブロック内での前記複数ドットのパターン配置によって、情報を表現することを特徴とする請求項１記載のコードパターン。
【請求項３】
前記複数ドットを選択的に配置する領域は、所定ピクセルの間隔をあけて設けられていることを特徴とする請求項１又は２記載のコードパターン。
【請求項４】
前記コードパターンを特定する際の基準となる同期符号のコードパターンを有し、
前記同期符号のコードパターンは、回転しても他のコードパターンとドット配列が一致しないパターンであることを特徴とする請求項１から３のいずれか一項記載のコードパターン。
【請求項５】
前記ブロックは、所定サイズで、複数個連続的に設定されていることを特徴とする請求項１から４のいずれか一項記載のコードパターン。
【請求項６】
前記ブロックは、多角形の形状で設定されていることを特徴とする請求項５記載のコードパターン。
【請求項７】
機械読み取り可能なコードパターンを背景画像として印刷した印刷物であって、
前記背景画像は、情報単位となるブロックを複数連続的に設定し、前記ブロック内に一定数の複数ドットを選択的に配置したことを特徴とする印刷物。
【請求項８】
前記コードパターンは、不可視のインク又はトナーで印刷されていることを特徴とする請求項７記載の印刷物。
【請求項９】
背景画像として埋め込む情報を符号化する符号化手段と、
前記符号化された情報を所定のコードパターンに変換する変換手段と、
前記コードパターンと、画像データとを合成する合成手段と、
情報単位となるブロックが連続的に設定され、該ブロック内に、一定数の複数ドットが選択的に配置されたコードパターンと、画像データとが合成された画像を生成する画像生成手段と、を有することを特徴とする画像生成装置。
【請求項１０】
前記合成手段は、前記コードパターンを特定する際の基準となる同期符号のコードパターンを、前記情報のコードパターンに合成することを特徴とする請求項９記載の画像生成装置。
【請求項１１】
情報単位となるブロックが連続的に設定され、該ブロック内に、一定数の複数ドットが選択的に設定されたコードパターンを背景とする背景画像と、画像データとが合成された画像を読み込んで、前記コードパターンとして埋め込まれた情報を特定する画像処理装置であって、
画像を読み込む読み込み手段と、
前記ブロックを複数連ねたブロックフレームを、読み込んだ画像に重ね合わせ、前記ブロックフレームの各ブロック内で検出される前記コードパターンの数が一定数となるように前記ブロックフレームを前記画像に対して移動し、ブロックの区切り位置を特定する検出手段と、
各ブロックに記録されたコードパターンを取り出して、埋め込まれた情報を復号する復号手段と、
を有することを特徴とする画像処理装置。
【請求項１２】
回転しても他のコードパターンとドット配列が一致しない同期符号のパターンを検出する同期符号検出手段と、
検出した同期符号の向きによって前記コードパターンを所定角度回転させる回転手段と、を有することを特徴とする請求項１１記載の画像処理装置。
【請求項１３】
背景パターンとして形成する情報を符号化するステップと、
前記符号化された情報を所定のコードパターンに変換するステップと、
前記コードパターンと、画像データとを合成するステップと、
情報単位となるブロックが連続的に設定され、該ブロック内に、一定数の複数ドットが選択的に配置されたコードパターンと、画像データとが合成された画像を生成するステップと、を有することを特徴とする画像生成方法。
【請求項１４】
情報単位となるブロックが連続的に設定され、該ブロック内に、一定数の複数ドットが選択的に配置されたコードパターンとして形成された背景パターンと、画像データとが合成された画像を読み込んで、前記コードパターンとして埋め込まれた情報を特定する情報特定方法であって、
画像を読み込むステップと、
前記ブロックを複数連ねたブロックフレームを、読み込んだ画像に重ね合わせ、前記ブロックフレームの各ブロック内で検出される前記コードパターンの数が一定数となるように前記ブロックフレームを前記画像に対して移動し、ブロックの区切り位置を特定するステップと、
各ブロックに記録されたコードパターンを取り出して、埋め込まれた情報を復号するステップと、
を有することを特徴とする情報特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元表面上に一様に配置されたコードパターンの一部を読み込み、２次元表面上の読み込み位置を同定する技術に関する。
【背景技術】
【０００２】
近年、２次元表面上にコードパターンを一様に配置し、このシンボルを読み込むことで２次元表面上の位置を同定する技術が提案されている。例えば、紙等に印刷されたテスト問題上に、赤外や紫外に吸収を持つ不可視のインクやトナーで一様にシンボルを印刷しておき、解答者が、選択した解答位置をスキャナ等でなぞることで、選択された解答が通信事業者などに送られるといったシステムが提案されている（例えば、図１参照）。また、不可視のインクに限らず、可視のインクによるシンボルの印刷も可能である。
【０００３】
このコードパターンには、種々のものが提案されている。例えば特許文献１では、図２（Ａ）に示すように仮想的な格子枠を配置し、この格子の交差点で区切られる４つの領域のいずれか１つにドットを配置する。これにより４種類のパターンを表現することが可能となり、２ビットを表現することができる。なお、以下ではこのコードパターンをベンチマークと呼ぶ。
【０００４】
また、特許文献２では、図２（Ｂ）に示すようにグリフコードと呼ばれる右斜めと左斜めの直線で１ビットを表現している。
【０００５】
さらに特許文献３では、図２（Ｃ）に示すように直線と鍵型のグラフィックパターンの組み合わせによって情報を表現している。また特許文献４では、図２（Ｄ）に示すようにドットのオンオフによって情報を表現している。
【０００６】
【特許文献１】特表２００３−５１１７６２号公報
【特許文献２】特開平９−１８５６６９号公報
【特許文献３】特開２００４−１５２２７３号公報
【特許文献４】特許番号２８３３９７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
コードパターンには、表現する情報量が大きいことが要求される。さらに、コードパターンを可視のインクあるいはトナーで印刷した場合には、目立たないことが要求される。また、不可視のインクあるいはトナーで印刷する場合、これらのインクあるいはトナーは高価であるので、なるべく、印刷面積が小さくなることが要求される。しかしながら、これらを同時に充分満たすコードパターンは提案されていない。
【０００８】
特許文献１では、表現できる情報量も、コードパターンの濃度もある程度満たされているが、より多くの情報を表現できるようにさらなる改良が求められている。また、コードパターン読み込み時の画像ゆがみの影響を受けやすく、コードパターンを正確に判定できない問題点もある。
【０００９】
特許文献２及び３では、コードパターンによる画像濃度が高くなり、情報密度も低いという課題がある。また、特許文献４で利用するドットのオンオフで情報を表現する方法は従来より知られている。さらにこのパターンでは、情報単位の境界位置と、コードパターンの向きを検出するために図２（Ｄ）に示すパターンの他に特殊なパターンを必要とする。このため、コードパターンを配置した画像が均一に見えないという課題がある。
【００１０】
本発明は上記事情に鑑みてなされたものであり、複数ドットで1つの符号単位を表現することで、目立たず、かつ高情報量のコードパターン、印刷物、それを生成する画像生成装置、コードパターンを処理する画像処理装置、画像生成方法及び情報特定方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
かかる目的を達成するために本発明のコードパターンは、機械読み取り可能なコードパターンであって、情報単位となるブロック内に、一定数の複数ドットを選択的に配置したことを特徴としている。
本発明は、ブロック内に一定数の複数ドットを配置して情報を表示するので、表現できる情報量を増やすと共に、ブロック内での濃度をできるだけ低くすることができる。さらに、ブロック内のドット数は一定であるので、全体として、均一な濃度のパターンが実現できる。
【００１２】
上記コードパターンにおいては、前記ブロック内での前記複数ドットのパターン配置によって、情報を表現するとよい。
従って、より多くの情報を表現することができる。
【００１３】
上記コードパターンにおいて、前記複数ドットを選択的に配置する領域は、所定ピクセルの間隔をあけて設けられているとよい。
従って、コードパターンをできるだけ正確に読み取ることができる。
【００１４】
上記コードパターンにおいて、前記コードパターンを特定する際の基準となる同期符号のコードパターンを有し、前記同期符号のコードパターンは、回転しても他のコードパターンとドット配列が一致しないパターンであるとよい。
従って、コードパターンの向きを正確に判定し、情報を正確に取り出すことができる。
【００１５】
上記コードパターンにおいて、前記ブロックは、所定サイズで、複数個連続的に設定されているとよい。また、前記ブロックは、多角形の形状で設定されているとよい。
【００１６】
本発明の印刷物は、機械読み取り可能なコードパターンを背景画像として印刷した印刷物であって、
前記背景画像は、情報単位となるブロックを複数連続的に設定し、前記ブロック内に一定数の複数ドットを選択的に配置した構成を備えている。
従って、表現できる情報量が多く、濃度をできるだけ低くし、全体的に濃度が一様な背景画像を印刷した印刷物を得ることができる。
【００１７】
本発明の画像生成装置は、背景画像として埋め込む情報を符号化する符号化手段と、前記符号化された情報を所定のコードパターンに変換する変換手段と、前記コードパターンと、画像データとを合成する合成手段と、情報単位となるブロックが連続的に設定され、該ブロック内に、一定数の複数ドットが選択的に配置されたコードパターンと、画像データとが合成された画像を生成する画像生成手段と、を有している。
従って、表現できる情報量が多く、濃度をできるだけ低くし、、全体的に濃度が一様な背景画像を備える印刷物を生成することができる。
【００１８】
上記画像生成装置において、前記合成手段は、前記コードパターンを特定する際の基準となる同期符号のコードパターンを、前記情報のコードパターンに合成するとよい。
同期符号のコードパターンが含まれているので、コードパターンを正確に判別して、情報を再現することができる。
【００１９】
本発明の画像処理装置は、情報単位となるブロックが連続的に設定され、該ブロック内に、一定数の複数ドットが選択的に配置されたコードパターンを背景とする背景画像と、画像データとが合成された画像を読み込んで、前記コードパターンとして埋め込まれた情報を特定する画像処理装置であって、画像を読み込む読み込み手段と、前記ブロックを複数連ねたブロックフレームを、読み込んだ画像に重ね合わせ、前記ブロックフレームの各ブロック内で検出される前記コードパターンの数が一定数となるように前記ブロックフレームを前記画像に対して移動し、ブロックの区切り位置を特定する検出手段と、各ブロックに記録されたコードパターンを取り出して、埋め込まれた情報を復号する復号手段とを有して構成する。
従って、画像を読み込んで、背景画像に埋め込まれたコードパターンを正確に取り出すことができる。
【００２０】
上記画像処理装置において、回転しても他のコードパターンとドット配列が一致しない同期符号のパターンを検出する同期符号検出手段と、検出した同期符号の向きによって前記コードパターンを所定角度回転させる回転手段とをさらに有しているとよい。
コードパターンを正確に判別して、情報を再現することができる。
【００２１】
本発明の画像生成方法は、背景パターンとして形成する情報を符号化するステップと、前記符号化された情報を所定のコードパターンに変換するステップと、前記コードパターンと、画像データとを合成するステップと、情報単位となるブロックが連続的に設定され、該ブロック内に、一定数の複数ドットが選択的に配置されたコードパターンと、画像データとが合成された画像を生成するステップとを有している。
従って、表現できる情報量が多く、濃度をできるだけ低くした背景画像を印刷した印刷物を得ることができる。
【００２２】
本発明の情報特定方法は、情報単位となるブロックが連続的に設定され、該ブロック内に、一定数の複数ドットが選択的に配置されたコードパターンとして形成された背景パターンと、画像データとが合成された画像を読み込んで、前記コードパターンとして埋め込まれた情報を特定する情報特定方法であって、画像を読み込むステップと、前記ブロックを複数連ねたブロックフレームを、読み込んだ画像に重ね合わせ、前記ブロックフレームの各ブロック内で検出される前記コードパターンの数が一定数となるように前記ブロックフレームを前記画像に対して移動し、ブロックの区切り位置を特定するステップと、各ブロックに記録されたコードパターンを取り出して、埋め込まれた情報を復号するステップと、を有している。
従って、画像を読み込んで、背景画像に埋め込まれたコードパターンを正確に取り出すことができる。
【発明の効果】
【００２３】
本発明は、複数ドットで1つの符号単位を表現することで、目立たず、かつ高情報量の符号パターンを実現したコードパターンを提供することができる。
【発明を実施するための最良の形態】
【００２４】
添付図面を参照しながら本発明の好適な実施例を説明する。
【実施例】
【００２５】
［符号パターン］
まず、符号パターンの構成について説明する。符号パターンは、用紙上に背景画像として記録されている。なお、可視のインクやトナーの他に、赤外や紫外に吸収を持つ不可視のインクやトナーで形成することもできる。
本実施例の符号パターンは、図３に示すようにサイズが１２×１２ピクセルのブロック内に９つのドット印字領域を設けている。この９つのドット印字領域の中からいずれか２つを選択して情報を表示する。なお、９つの中から２つを選ぶ組み合わせは３６通りなので、２を底とするログを取ると、約５．１７ビットとなる。
【数１】
2007179111.tif 000003
印字領域と印字領域の間には２ピクセルの間隔が置かれている。１２００ＤＰＩのプリンタで印刷する場合、各ドットは、２ピクセル×２ピクセルで構成されるのが適当である。以下、このドットサイズで説明するが、もちろん、このほかのドットサイズで表現しても良い。この符号パターンは、１２×１２ピクセル＝１４４ピクセル中に、２×２＝４ピクセルを２個埋め込むので、１ブロックの濃度は５．５６％となる。また、情報量は、５．１７／１４４で、０．０３６ビット／ピクセルとなる。図４には、９つのドット印字領域から２つを選択する組み合わせの符号パターンを示す。ブロックの下の示す数字は、そのパターンが示すパターン値を示している。なお、図４では、図３に示す余白の部分を省略して示している。また、９つの中から２つを選ぶ組み合わせの数は数学記号では、９Ｃ２と記されることから、以下ではこの符号パターンを９Ｃ２パターンと呼ぶ。また、図５には、９Ｃ２パターンの実際のレイアウトを示す。
【００２６】
このように本実施例の符号パターンは、複数ドットで1つの情報を表現することで、目立たず、かつ高情報量の符号パターンを実現することができる。また、図３に示すようにドットとドットの間に間隔を設けているので、エラーを少なくし、符号パターンをできるだけ正確に読み取ることができる。
【００２７】
符号パターンの他の形態として、図３（Ｂ）に示すように、９つのドット印字領域からいずれか３つを選択してドット印字領域としてもよい。以下、この方式を９Ｃ３方式と呼ぶ。この場合、濃度は８．３３％となるが、情報量は０．０７１ビット／ピクセルとなり、１ピクセル当たりの情報量を多くすることができる。図６には、９Ｃ３方式の符号パターンを示す。９Ｃ３方式では、図６に示す８４パターンを表すことができる。
【００２８】
ここで９Ｃ２方式の符号パターンと、特許文献１に開示されたベンチマークとを比較する。
図７に示す曲線Ａは、上述したブロックのサイズを変更していったときの９Ｃ２方式の符号パターンの濃度の変化を示す。また曲線Ｂは、上述したブロックのサイズを変更していったときに９Ｃ２方式の符号パターンで表現できる情報量の変化を示す。また、曲線Ｃは、ブロックサイズを変更していったときのベンチマークの濃度の変化を示す。さらに、曲線Ｄは、ブロックサイズを変更していったときのベンチマークの表現できる情報量の変化を示す。図７に示すように１ブロックのサイズが（１０×１０）〜（１１×１１）に設定することで、ベンチマークよりも情報量や濃度において上回ることができる。しかしながら、ブロックサイズを（１０×１０）や（１１×１１）とすると、ドットとドットの間隔が狭く、ドットの判定にエラーが生じる可能性もある。図８には、１１×１１ピクセルのブロックに、２ドットを１ピクセルの間隔をおいて印字する場合を示す。また、図９には、１１×１１ピクセルのブロックに、２ドットを間隔を開けずに印字する場合を示す。
そこで、本実施例のように１２×１２ピクセルのブロックとし、ドットとドットの間に２ピクセルをおくことで、表現できる情報量や濃度を維持しつつ、ドットの判定も正確に行うことができる。しかしながら、１２×１２ピクセルのブロックとすると、すべてのドットとドットの間の間隔が２ピクセルになり、ブロックの区切りが判定できなくなってしまうが、この判定は、ドット検出の段階でなく、ドット検出後に行うことができる。このブロック区切りを判定する方法は後述する。
【００２９】
符号パターンは上述したものだけに限るのではなく、以下に示すパターンであってもよい。図１０には、領域（ブロック）サイズと、全ドット印字領域数及び実際に打つドット数との関係を調べた結果を示す。図１０（Ａ）は濃度の関係を示し、図１０（Ｂ）は情報量の関係を示す。図１０（Ａ）と図１０（Ｂ）とを比較すると、濃度でベンチマークと同等かそれ以下となり、情報量でベンチマークと同等かそれ以上となる領域が図１１に示す候補１から５である。候補１から５の符号パターンを図１２に示す。また、候補６と７のパターンは、先に述べた図３（Ａ）と（Ｂ）のパターンである。
【００３０】
図１２（Ａ）にはベンチマークのパターンと、濃度及び情報量を示す。また、（Ｂ）には、候補１のパターンを示す。このパターンは、７×７ピクセルのブロックに１ドットを印字するものであり、濃度でベンチマークと同等となり、情報量ではベンチマークを上回ることができる。
また、（Ｃ）には、候補２のパターンを示す。このパターンは、７×７ピクセルのブロックに１ドットを印字するものであり、濃度でベンチマークと同等となり、情報量でベンチマークを上回ることができる。
また、（Ｄ）には候補３のパターンを示す。このパターンは、８×８ピクセルのブロックに１ドットを印字するものであり、濃度でベンチマークよも低くなり、情報量でもベンチマークを上回ることができる。
また、（Ｅ）には候補４のパターンを示す。このパターンは、１０×１０ピクセルのブロックに２ドットを印字するものであり、濃度でベンチマークよりも低くなり、情報量でもベンチマークを上回ることができる。
また、（Ｆ）には候補５のパターンを示す。このパターンは１１×１１ピクセルのブロックに２ドットを印字するものであり、濃度でベンチマークよりも低くなり、情報量でもベンチマークを上回ることができる。
【００３１】
さらに符号パターンは、図１３〜図１７に示すパターンであってもよい。図１３には、９個のドット印字領域から１つを選択する９Ｃ１方式、９個のドット印字領域から４つを選択する９Ｃ４方式、９個のドット印字領域から５つを選択する９Ｃ５方式、９個のドット印字領域から６つを選択する９Ｃ６方式の符号パターンを示す。また図１４には、９個のドット印字領域から７つを選択する９Ｃ７方式、９個のドット印字領域から８つを選択する９Ｃ８方式の符号パターンを示す。
さらに図１５、１６には、１６個のドット印字領域から１つを選択する１６Ｃ１方式、１６個のドット印字領域から２つを選択する１６Ｃ２方式、１６個のドット印字領域から３つを選択する１６Ｃ３方式、１６個のドット印字領域から４つを選択する１６Ｃ４方式、１６個のドット印字領域から５つを選択する１６Ｃ５方式、１６個のドット印字領域から６つを選択する１６Ｃ６方式、１６個のドット印字領域から７つを選択する１６Ｃ７方式、１６個のドット印字領域から８つを選択する１６Ｃ８方式、１６個のドット印字領域から９つを選択する１６Ｃ９方式、１６個のドット印字領域から１０個を選択する１６Ｃ１０方式、１６個のドット印字領域から１１個を選択する１６Ｃ１１方式、１６個のドット印字領域から１２個を選択する１６Ｃ１２方式、１６個のドット印字領域から１３個を選択する１６Ｃ１３方式、１６個のドット印字領域から１４個を選択する１６Ｃ１４方式、１６個のドット印字領域から１５個を選択する１６Ｃ１５方式の符号パターンを示す。
なお、図１７に示す９Ｃ２方式と、９Ｃ７方式のようにポジとネガの関係にあるパターンも存在する。選択する個数の多い９Ｃ７方式では濃度が高くなってしまうが、ドットの検出が容易である。さらにノイズが加わった場合に、ドットと重なる確率が高くなり、このことから、ノイズに強いという特性を有している。
これらのほかにも、９Ｃ３と９Ｃ６、９Ｃ４と９Ｃ５が、同様の関係にある。
【００３２】
次に、このようにして形成された符号パターンを検出し、情報を取り出す方法について説明する。
まず、ペンデバイス等の入力デバイスによって、予め設定された大きさの領域の符号パターンを読み込む。次に、図１８に示すように読み込んだ画像にブロックフレームを重ね合わせ、ブロックの区切りを検出する。ブロックフレームは、埋め込まれた情報を復号する際に必要となる最小の単位であり、本実施例では５×５ブロックのフレームが使用される。
図１８に示すように、ブロックフレームを移動させて、各ブロック内に印字されたドット数が２となる位置を探索する。図１９に示すようにブロックフレームを検出開始位置から１ラインずつ右、下に移動させていき、ブロック内のドット数が２となる位置を検出する。この処理の詳細については後ほど詳述する。
【００３３】
次に同期符号について説明する。本実施例では、符号パターンに同期符号を含ませている。同期符号を検出することで符号パターンの向きや、ブロック内で情報を復号する際の基準点を判定する。
同期符号には、図４に示す符号パターンのうち、パターン値３２〜３５のパターンが使用される。パターン値３２〜３５の符号パターンは、図２０に示すように、どれか１つのパターンを選択したとき、他の３つのパターンは、それぞれ、９０度、１８０度、２７０度回転したパターンと一致している。
同期符号としては、これらのパターンのほかに、パターン値４〜７、８〜１１、１２〜１５、１６〜１９、２０〜２３、２４〜２７、２８〜３１のパターンの組も利用可能である。これらはそれぞれ回転して一致するパターンの組となっている。
例えば、図２１に示すように上述した５×５ブロックフレームの決められた位置に３２〜３５のパターンの同期符号を１つ入れておく。ここでは、３２番のパターンを５×５ブロックの左上に挿入しているものとする。そして、画像を読み込むと、パターン値３２〜３５のパターンを探す。ここで、例えば図２１に示すように３５番のパターンを検出した場合、３５番のパターンを３２番のパターンに変換するために、画像を右方向に９０度回転させる。パターン値３５のパターンは、図２０に示すように３２のパターンを右方向に２７０度回転させた画像である。これによって正しい方向で情報を復元することが可能となる。
【００３４】
ここで、図２２を参照しながらブロックフレーム内での符号パターンの配置の一例を説明する。ブロックフレーム内には、同期符号の符号パターンと、ページ番号を示す号パターンと、ページ上での座標値を示す符号パターンとが埋め込まれている。図２２（Ａ）には、これらの符号パターンの基本となる配置の例が示されている。
ページ上のＸ座標を示す符号パターンは、同期符号を含むラインであって、Ｘ軸方向に並行するブロックに記録される。同様に、Ｙ座標を示す符号パターンは、同期符号を含むラインであって、Ｙ軸方向に並行するブロックに記録される。
この基本構成をページ全体に配置する。このとき、Ｘ座標とＹ座標はページの全幅に渡るＭ系列と呼ばれる数列を使う。Ｍ系列は、ある長さの周期を持つ数列であり、その部分数列をとると、他の部分数列と一致することがない。この性質を利用して、全数列の中での部分数列の位置を特定できる。部分数列の長さをｎとするとき、全数列の長さは、２ｎ−１となる。
このとき、全数列はページ全体を表現し、部分数列は、基本構成のブロック数で表現される数列を選択する。
【００３５】
また、ページ番号を示す符号パターンは、それ以外のすべてのブロックを使用して表示される。ページ番号を示す符号パターンは、基本構成のパターンがページ全体にわたって複製される。すなわち、図２３に示す数字が書かれたブロックがページ番号を示すブロックであるが、この１〜１６のブロックがページ全体にわたって繰り返し複製されている。このため、図２３に点線で示すブロックフレームのように読み込み位置がずれても、ページ番号を示す符号は繰り返し複製されているので、補間してページ番号を復号することができる。
【００３６】
ページ全体の符号は以上のように構成されるが、読み込み時には基本構成のパターンを読み込む必要はない。図２２（Ｂ）には、その読み込みの例を示す。この場合、同期符号が、左から３番目、上から２番目のブロックに出現している。Ｘ座標とＹ座標はどの位置で読み込んでも、全数列の部分数列であるの座標を復号できる。ページ番号の読み込みでは、同期符号の右下ブロックを１番目のブロックとして、図２２（Ｃ）に示すようにその右隣りを２番目のブロックとする。さらに、右隣のブロックがない場合には、左端のブロックを使用する。次に右隣から右方向に順に読み込み、Ｙ座標パターンまで来たら、１番目の下のブロックを読み込み、これを順に繰り返す。また、Ｙ軸方向の最終ラインまで下がると、図２２（Ｃ）に示すように一番上のラインに帰って、読み出しの最上段のブロックから使用する。この順番に復号することで、ページ番号を取り出すことができる。
また、Ｘ座標の読み込みでは、同期符号を含む行のブロックを、同期符号をスキップして読み出す。また、Ｙ座標の読み込みでは、同期符号を含む列のブロックを、同期符号をスキップして読み出す。この順番に読み出すことで、座標の複合が可能となる。
［画像生成装置の構成］
【００３７】
次に、このような符号化パターンを生成する画像生成装置１の構成を図２４を参照しながら説明する。図２４に示すように画像生成装置１は、ページ・座標情報入力部２、ページ番号符号化部３、Ｘ座標符号化部４、Ｙ座標符号化部５、ページ番号符号パターン化部６、座標符号パターン化部７、同期符号パターン化部８、パターン合成部９、文書画像生成部１０、画像合成部１１、画像生成部１２を備えている。
【００３８】
ページ・座標情報入力部２は、各ページごとのページ番号をページ番号符号化部３に出力する。また各ページ上でのＸ軸の座標情報をＸ座標符号化部４に、Ｙ軸の座標情報をＹ座標符号化部５に出力する。
【００３９】
ページ番号符号化部３は、ページ・座標情報入力部２から入力されたページ情報を符号化する。符号化されたページ情報はページ番号符号パターン化部６に出力される。
【００４０】
Ｘ座標符号化部４は、Ｘ座標情報を符号化する。Ｙ座標符号化部５は、Ｙ座標情報を符号化する。Ｘ座標とＹ座標の符号化情報は、座標符号パターン化部７に出力される。
【００４１】
ページ番号符号パターン化部６は、符号化されたページ番号の符号パターンを生成し、パターン合成部９に出力する。座標符号パターン化部７は、符号化されたＸ座標とＹ座標の符号パターンを生成し、パターン合成部９に出力する。
【００４２】
パターン合成部９には、さらに同期符号パターン化部８から符号パターン化された同期符号が出力される。パターン合成部９は、ページ番号、Ｘ座標、Ｙ座標、同期符号の符号パターンを合成し、ページ上の所定位置に配置されるように１ページ分の画像データを生成する。
【００４３】
画像合成部１１は、パターン合成部９から出力されるページ番号、Ｘ座標、Ｙ座標、同期符号の符号パターンに、文書画像生成部１０から出力される文書画像を重畳した画像を生成する。この画像データを画像生成部１２に出力することで、符号パターン上に文書画像が形成された画像が用紙上に印刷される。
［画像処理装置］
【００４４】
次に、図２５を参照しながら符号パターン付き画像を読み取って画像を処理する画像処理装置２０の構成を説明する。
図２５に示すように画像処理装置２０は、画像読取装置２１、ドット配列検出部２２、ブロックフレーム検出部２３、画像回転判定部２４、同期符号検出部２５、ビット情報回転変換部２６、ページ符号検出部２７、ページ符号復元部２８、ページ符号復号部２９、ページ符号誤り検出部３０、ページ符号誤り訂正部３１、Ｘ座標符号検出部３２、Ｘ座標復号部３３、Ｘ座標符号誤り検出部３４、Ｘ座標符号誤り訂正部３５、Ｙ座標符号検出部３６、Ｙ座標復号部３７、Ｙ座標符号誤り検出部３８、Ｙ座標符号誤り訂正部３９、ページ座標情報出力部４０を備えている。
【００４５】
画像読取装置２１はペンデバイス等の入力デバイスからなり、読み込んだ画像データをドット配列検出部２２に出力する。ドット配列検出部２２は、読み込んだ画像データからドットを検出し、ドットの座標値をメモリに記録する。メモリには、ドットの配置情報であるドット配列が記録される。
【００４６】
ブロックフレーム検出部２３は、メモリに展開されたドット配列にブロックフレームを重ね合わせ、各ブロック内のドット数が２となるようにブロックフレームの位置を調整する。
【００４７】
同期符号検出部２５は、同期符号を検出する。画像回転判定部２４は、画像の回転を判定する。ビット情報回転変換部２６は、画像回転判定部２４で検出された回転角度だけ符号パターンを回転させて、符号パターンを正しい向きに設定する。
【００４８】
ページ符号検出部２７は、ブロックフレーム内の符号パターンからページの符号パターンを検出する。ページ符号復元部２８は、取り出したページの符号パターンを、ページを表す符号順に並び替える。ページ符号復号部２９は、ページの符号パターンを復号する。ページ符号誤り検出部３０は、復号化されたページ符号の誤りを検出する。ページ符号誤り訂正部３１は、検出したページ符号の誤りが訂正可能な誤りであった場合には、その誤りを訂正する。訂正したページ符号は、ページ符号復号部２８に出力される。
【００４９】
Ｘ座標符号検出部３２は、Ｘ座標を表す符号パターンを検出する。Ｘ座標復号部３３は、Ｘ座標の符号パターンを復号する。Ｘ座標符号誤り検出部３４は、復号されたＸ座標符号の誤りを検出する。Ｘ座標符号誤り訂正部３５は、Ｘ座標符号の誤りを訂正する。
【００５０】
Ｙ座標符号検出部３６は、Ｙ座標を表す符号パターンを検出する。Ｙ座標復号部３７は、Ｙ座標の符号パターンを復号する。Ｙ座標符号誤り検出部３８は、復号された座標符号の誤りを検出する。Ｙ座標符号誤り訂正部３９は、Ｙ座標符号の誤りを訂正する。
【００５１】
次に、図２６に示すフローチャートを参照しながらドット配列検出部２２と、ブロックフレーム検出部２３の処理手順を説明する。
まず、ページと座標を同定すべき領域の画像を画像読取装置２１で読み取る（ステップＳ１）。次に、ドット配列検出部２２で、画像からドットを検出し、ドットを検出した位置の座標情報をメモリのドット配列記憶部に格納する（ステップＳ２）。このドット配列の大きさは、複合に必要なブロック数に加えて、ブロックの1辺のドット数から1引いたドット数を加えた大きさが必要である。したがって、本実施例では、復号に必要なブロック数は１５×１５であり、さらに、ブロックの1辺が3ドットであるので、１７×１７のドット配列を格納することが必要である。
【００５２】
次に、検出したドットの位置を示すドット配列に、ブロックフレームを重ね合わせる（ステップＳ３）。図１８に示すように復号の単位となるブロックフレームをドット位置を示すデータ上に重ね合わせる。本実施例では、５×５のブロックフレームが用いられる。そして、カウンタＩ，Ｊに初期値０をセットし、ＭａｘＢＮにも０をセットする（ステップＳ４）。Ｉ，Ｊは、ブロックフレームを初期位置から移動させたステップ数をカウントするものである。画像の１ラインごとにブロックフレームを移動させ、そのとき移動させたライン数をカウンタＩ，Ｊでカウントする。なお、データ上に重ね合わせるブロックフレームの位置は、任意の位置でよい。読み込み位置がずれても、ページ番号を示す符号は繰り返し複製されているので、補間してページ番号を復号することができる。また、１ブロックフレームの中には、Ｘ軸とＹ軸方向の座標値を表すブロックが必ず含まれている。
ＭａｘＢＮは、ブロック内で検出されるドット数が２となるブロック数をブロックフレームを移動させながらカウントしていったときに、最大となるカウント値を記録するものである。
【００５３】
次に、ブロックフレームをＸ軸方向にＩ，Ｙ軸方向にＪ移動させる（ステップＳ５）。初期値ではＩ，Ｊは０にセットされているので、ブロックフレームの移動は行わない。そして、ブロックフレームの各ブロックに含まれるドット数をカウントして、ドット数が２となるブロックの数をカウントする。カウントしたブロック数はＩＢ［Ｉ］［Ｊ］のレジスタに格納される（ステップＳ６）。ＩＢ［Ｉ］［Ｊ］の［Ｉ］、［Ｊ］には、ブロックフレームの移動量を示すＩとＪの値がそれぞれ記録される。
【００５４】
次に、ＩＢ［Ｉ］［Ｊ］とＭａｘＢＮとを比較する（ステップＳ７）。ＭａｘＢＮは初期値に０がセットされているので、最初の比較では、ＩＢ［Ｉ］［Ｊ］はＭａｘＢＮよりも大きくなる（ステップＳ７／ＹＥＳ）。ＩＢ［Ｉ］［Ｊ］がＭａｘＢＮよりも大きい場合（ステップＳ７／ＹＥＳ）、ＭａｘＢＮとしてＩＢ［Ｉ］［Ｊ］の値を登録する。またそのＩの値をＭＸ、Ｊの値をＭＹとする（ステップＳ８）。
【００５５】
次に、Ｉ＝２となっているか否かを判定し（ステップＳ９）、Ｉ＝２ではない場合には（ステップＳ９／ＮＯ）、Ｉの値を１加算する（ステップＳ１０）。そして、ステップＳ５、Ｓ６の処理を繰り返し行い、ＩＢ［Ｉ］［Ｊ］とＭａｘＢＮとを比較していく（ステップＳ７）。
ＩＢ［Ｉ］［Ｊ］が前回までのＩＢ［Ｉ］［Ｊ］であるＭａｘＢＮよりも大きいと（ステップＳ７／ＹＥＳ）、ＭａｘＢＮとしてＩＢ［Ｉ］［Ｊ］を登録し、そのときのＩの値をＭＸ、Ｊの値をＭＹとする（ステップＳ８）。また、ＭａｘＢＮのほうがＩＢ［Ｉ］［Ｊ］よりも大きい場合には（ステップＳ７／ＮＯ）、Ｉの値が２となっているか否かを判定する（ステップＳ９）。Ｉ＝２となると（ステップＳ９／ＹＥＳ）、次にＪの値が２となっているか否かを判定する（ステップＳ１１）。Ｊ＝２ではない場合には（ステップＳ１１／ＮＯ）、Ｉの値を０にリセットし、Ｊの値を１加算する（ステップＳ１２）。このような手順を繰り返し行い、（Ｉ＝０，Ｊ＝０）から（Ｉ＝２，Ｊ＝２）までで、ＩＢ［Ｉ］［Ｊ］が最大のものを検出する。
【００５６】
Ｉ＝２，Ｊ＝２までの処理が終了すると（ステップＳ１１／ＹＥＳ）、保存しているＭａｘＢＮと判定しきい値ＴＢとを比較する（ステップＳ１３）。判定しきい値ＴＢは、ドット数が２のブロックの数が予め設定されたしきい値よりも大きいか否かを判定するしきい値である。ＭａｘＢＮの値が判定しきい値よりも小さい場合には、画像のノイズが大きく復号は不可能と判定し、復号不能を出力する（ステップＳ１５）。また、ＭａｘＢＮが判定しきい値を上回ると（ステップＳ１３／ＹＥＳ）、ブロックフレームをＭＸ，ＭＹの位置に固定し、その位置で各ブロックの符号パターンを検出して、対応するパターン値に変換する。パターン値は、各ブロックを識別する変数Ｘ，Ｙと共にＰ［Ｘ］［Ｙ］としてメモリに記録される。なお、検出した符号パターンから対応するパターン値に変換することができない場合には、パターン値の代わりに［−１］を記録する（ステップＳ１４）。
【００５７】
次に、図２７に示すフローチャートを参照しながら、同期符号を検出して画像を正しい向きに回転させる補正について説明する。この処理は、画像回転半部２４とビット情報回転変換部２６とで行われる。
まず、Ｋ，Ｌの値を１に設定する（ステップＳ２１）。なお、ＫはＸ軸方向のブロック数を示す変数であり、ＬはＹ軸方向のブロック数を示す変数である。
次に、Ｐ［Ｉ］［Ｊ］のパターン値が３２であるか否かを判定する（ステップＳ２２）。本実施例では、同期符号としてパターン値３２の符号パターンを使用しているので、このブロックを検出対象とする。
【００５８】
Ｐ［Ｉ］［Ｊ］がパターン値３２のブロックを検出すると（ステップＳ２２／ＹＥＳ）、符号パターンの回転は必要ないと判定し、同期符号のあるブロックのＸ座標をＫ，Ｙ座標をＬとする。また、ブロックフレームの移動量（ＳｈｉｆｔＸ，ＳｈｉｆｔＹ）を示すライン数を（ＭＸ，ＭＹ）とする（ステップＳ２３）。
【００５９】
次に、Ｐ［Ｉ］［Ｊ］がパターン値３３のブロックを検出すると（ステップＳ２４／ＹＥＳ）、符号パターンを左方向に９０度回転させる（ステップＳ２５）。図２０に示すようにパターン値３３の符号パターンは、パターン値３２の符号パターンを右方向に９０度回転させた画像であるので、逆方向に９０度回転させる（ステップＳ２５）。
また、この回転に伴って、同期符号のあるブロックのＸ座標をＬ，Ｙ座標を５−Ｋとする。また、ブロックフレームの移動量（ＳｈｉｆｔＸ，ＳｈｉｆｔＹ）を示すライン数を（ＭＹ，３−ＭＸ）とする（ステップＳ２６）。
【００６０】
次に、Ｐ［Ｉ］［Ｊ］がパターン値３４のブロックを検出すると（ステップＳ２７／ＹＥＳ）、符号パターンを左方向に１８０度回転させる（ステップＳ２８）。図２０に示すようにパターン値３４の符号パターンは、パターン値３２の符号パターンを１８０度回転させた画像であるので、パターン値３４の符号パターンを１８０度回転させる（ステップＳ２８）。
また、この回転に伴って、同期符号のあるブロックのＸ座標をＬ，Ｙ座標をＫとする。また、ブロックフレームの移動量（ＳｈｉｆｔＸ，ＳｈｉｆｔＹ）を示すライン数を（ＭＹ，ＭＸ）とする（ステップＳ２９）。
【００６１】
次に、Ｐ［Ｉ］［Ｊ］がパターン値３５のブロックを検出すると（ステップＳ３０／ＹＥＳ）、符号パターンを左方向に２７０度回転させる（ステップＳ３１）。図２０に示すようにパターン値３５の符号パターンは、パターン値３２の符号パターンを右に２７０度回転させた画像であるので、パターン値３５の符号パターンを左方向に２７０度回転させる（ステップＳ３１）。
また、この回転に伴って、同期符号のあるブロックのＸ座標を５−Ｌ，Ｙ座標をＬとする。また、ブロックフレームの移動量（ＳｈｉｆｔＸ，ＳｈｉｆｔＹ）を示すライン数を（３−ＭＹ，ＭＸ）とする（ステップＳ３２）。
【００６２】
この処理を、パターン値３２〜３５のブロックを検出するまでＫ，Ｌの値を変更（ステップＳ３４、Ｓ３６）しながら繰り返し行う。また、Ｋ＝５，Ｌ＝５になっても（ステップＳ３３／ＹＥＳ，Ｓ３５／ＹＥＳ）、パターン値３２〜３５のブロックを検出することができなかった場合には、復号不能の判定信号を出力する（ステップＳ３７）。
【００６３】
次に、図２８に示すフローチャートを参照しながら、ページ番号を示す符号パターンを検出して、番号を示す順番に並び替え、符号パターンを復号する処理手順を説明する。この処理は、符号検出部２７と、ページ符号復元部２８と、ページ番号復号部２９とで行われる。
まず、５×５のブロックフレームの各ブロックを識別するための変数Ｓ，Ｔを１にセットし、ページ番号を示すブロックの中で、エラーと判定されたブロック数をカウントするカウンタＥＮを０にセットする（ステップＳ４１）。ここで、Ｓは、Ｘ軸方向のブロック数をカウントする変数であり、Ｔは、Ｙ軸方向のブロック数をカウントする変数とする。
【００６４】
次に、メモリの符号パターン格納部から該当する符号パターンを取り出す。
ここでは、Ｐ［（ＳｙｎｃＸ＋Ｓ）（ｍｏｄ５）］［（ＳｙｎｃＹ＋Ｔ）（ｍｏｄ５）］を満たす番号の符号パターンを取り出し、これをＩＤ［Ｓ−１］［Ｔ−１］と設定する（ステップＳ４２）。なお、ここでは、同期符号ＳｙｎｃＸは、０、１、２、３、４の４つの値を取る変数であり、Ｘ軸方向の左端のブロックを０番のブロックとし、Ｘ軸方向の右端のブロックを４番のブロックとする。
例えば、図２２（Ｃ）に示すように、ブロックフレーム内で同期符号がＸ軸方向で左から３番目、Ｙ軸方向で上から２番目のブロックにある場合を例に説明する。ページ番号を示す符号パターンは、同期符号の右下のブロックから始まるので、Ｘ軸方向で左から４番目、Ｙ軸方向で上から３番目にあるブロックがページ番号を表す１番目のブロックとなる。
そこで、同期符号のあるブロック（ＳｙｎｃＸ）にＳを加算して、これを５で除算した余りがＸ軸方向のブロックを示す値となる。同様に、同期符号のあるブロック（ＳｙｎｃＹ）にＴを加算して、これを５で除算した余りがＹ軸方向のブロックを示す値となる。
【００６５】
Ｐ［（ＳｙｎｃＸ＋Ｓ）（ｍｏｄ５）］［（ＳｙｎｃＹ＋Ｌ）（ｍｏｄ５）］のパターン値を取り出すと（ステップＳ４２）、これをＩＤ［Ｓ−１］［Ｔ−１］番目のパターン値とし、パターン値が０より大きいか否かを判定する（ステップＳ４３）。
図２６に示すフローチャートのＳ１４において、検出した符号パターンから対応するパターン値に変換することができない場合には、［−１］を記録している。そこで、メモリから読み出したＩＤ［Ｓ−１］［Ｔ−１］のパターン値を０と比較することで、正常にパターン判定された符号パターンであるか否かを判定する（ステップＳ４３）。パターン値が０よりも小さい場合には（ステップＳ４３／ＹＥＳ）、エラーと判定されたブロック数をカウントするカウンタＥＮを１インクリメントする（ステップＳ４４）。次に、Ｓの値が５であるか否かを判定する（ステップＳ４５）。Ｓの値が５ではなかった場合には（ステップＳ４５／ＮＯ）、Ｓの値を１インクリメントして（ステップＳ４６）、ステップＳ４２、Ｓ４３の処理をＳの値が５になるまで繰り返し行う。また、Ｓの値が５になると（ステップＳ４５／ＹＥＳ）、次に、Ｔの値が５であるか否かを判定する（ステップＳ４７）。Ｔの値が５ではなかった場合には（ステップＳ４７／ＮＯ）、Ｓの値を１にセットし、Ｔの値を１インクリメントして（ステップＳ４８）、ステップＳ４２、Ｓ４３、Ｓ４５，Ｓ４６の処理をＴの値が５になるまで繰り返し行う。またＴの値が５になると（ステップＳ４７／ＹＥＳ）、エラー数をカウントするカウンタＥＮの値が３よりも大きくなっているか否かを判定する（ステップＳ４９）。
本実施例では、ページの復号に許容されるエラー数を３に設定しているが、これだけに限定されるものではなく、符号化の方式に応じて、エラー数を任意に設定可能である。エラー数が３よりも大きい場合には（ステップＳ４９／ＹＥＳ）、エラーの発生頻度が高く、正常な復号ができないと判定し、ページ番号にＮ／Ａ（not applicable）を出力する（ステップＳ５０）。また、カウンタＥＮの値が３よりも小さい場合には（ステップＳ４９／ＮＯ）、配列ＩＤ［Ｓ］［Ｔ］（Ｓ，Ｔ＝０〜４）から順にページ番号の復号を行う（ステップＳ５１）。
【００６６】
次に、図２９に示すフローチャートを参照しながらＸ座標符号の検出と、復号の処理手順を説明する。この処理は、Ｘ座標符号検出部３２と、Ｘ座標復号部３３で行われる。
まず、ブロックフレームのＸ軸方向のブロック数をカウントする変数Ｕを０にセットし、ページ番号を示すブロックの中で、エラーと判定されたブロック数をカウントするカウンタＥＭを０にセットする（ステップＳ６１）。
【００６７】
次に、メモリの符号パターン格納部から該当する符号パターンを取り出す。
ここでは、Ｐ［Ｕ］［ＳｙｎｃＹ］を満たす番号の符号パターンが取り出され、これをＸＡ［Ｕ］と設定する（ステップＳ６２）。なお、ここでも同期符号ＳｙｎｃＹは、０、１、２、３、４の４つの値を取る変数であり、Ｙ軸方向の左端のブロックを０番のブロックとし、Ｙ軸方向の右端のブロックを４番のブロックとする。
図２２に示すようにＸ座標を示すブロックは、同期符号のブロックとＹ座標方向で同一の値を取るブロックとなる。そこで、メモリからＰ［Ｕ］［ＳｙｎｃＹ］のパターン値を取り出して、これをＸＡ［Ｕ］と設定する。
【００６８】
Ｐ［Ｕ］［ＳｙｎｃＹ］のパターン値を取り出すと（ステップＳ６２）、これをＸＡ［Ｕ］番目のパターン値とし、パターン値が０より大きいか否かを判定する（ステップＳ４６３）
ここでも、メモリから読み出したＸＡ［Ｕ］のパターン値を０と比較することで、正常にパターン判定された符号パターンであるか否かを判定する（ステップＳ６３）。パターン値が０よりも小さい場合には（ステップＳ６３／ＹＥＳ）、エラーと判定されたブロック数をカウントするカウンタＥＭを１インクリメントする（ステップＳ６４）。次に、Ｕの値がＳｙｎｃＸとイコールになったか否かを判定する（ステップＳ６５）。同期符号を示すブロックのパターンを、Ｘ座標値を示すパターンから省くため、この処理を行う。Ｕの値とＳｙｎｃＸとがイコールではない場合には（ステップＳ６５／ＮＯ）、Ｕの値を１インクリーズして（ステップＳ６６）、ステップＳ６３、Ｓ６５の処理を繰り返す。またＵの値がＳｙｎｃＸと等しくなると（ステップＳ６５／ＹＥＳ）、同期符号のブロックを飛ばすため、ＵにＳｙｎｃＸ＋１をセットする（ステップＳ６７）。
次に、Ｐ［ＳｙｎｃＸ＋１］［ＳｙｎｃＹ］のパターン値をメモリから取り出し、ＸＡ［Ｕ］と設定する（ステップＳ６８）。その後、上述した手順と同様に、メモリから読み出したＸＡ［Ｕ］のパターン値を０と比較することで、正常にパターン判定された符号パターンであるか否かを判定する（ステップＳ６９）。パターン値が０よりも小さい場合には（ステップＳ６９／ＹＥＳ）、エラーと判定されたブロック数をカウントするカウンタＥＭを１インクリメントする（ステップＳ７０）。その後、Ｕの値が「５」となったか否かを判定する（ステップＳ７１）。Ｕの値が５ではない場合には（ステップＳ７１／ＮＯ）、Ｕの値を１インクリーズし（ステップＳ７２）、ステップＳ６８、Ｓ６９、Ｓ７０の処理を繰り返し行う。またＵの値が５となると（ステップＳ７１／ＹＥＳ）、ＥＭの値が１よりも大きくなっているか否かを判定する。
本実施例では、Ｘ座標の復号に許容されるエラー数を１に設定しているが、これだけに限定されるものではなく、符号化の方法に応じて、エラー数を任意に設定可能である。エラー数が１よりも大きい場合には（ステップＳ７３／ＹＥＳ）、エラーの発生頻度が高く、正常な復号ができないと判定し、ページ番号にＮ／Ａ（not applicable）を出力する（ステップＳ７４）。また、カウンタＥＮの値が１よりも小さい場合には（ステップＳ７３／ＮＯ）、ＸＡ［Ｕ］とＳｉｆｔＸとからＸ座標の復号を行う（ステップＳ７５）。
【００６９】
なお、Ｙ座標の復号手順もＸ座標と同様の手順で行われるため、詳細な説明は省略する。
【００７０】
上述した実施例は本発明の好適な実施例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々変形実施可能である。例えば、上述した実施例では、１つのブロックを四角形で設定しているが、円形や多角形の形状であってもよい。
【図面の簡単な説明】
【００７１】
【図１】２次元表面上の読み込み位置を同定する技術の利用例を示す図である。
【図２】従来の符号パターンを示す図である。
【図３】本発明の符号パターンを示す図である。
【図４】９Ｃ２方式の符号パターンとパターン値とを示す図である。
【図５】９Ｃ２方式の符号パターンを配置した様子を示す図である。
【図６】９Ｃ３方式の符号パターンを示す図である。
【図７】ベンチマークと９Ｃ２方式の情報量、濃度を比較した図である。
【図８】９Ｃ２方式の符号パターンの配置例である。
【図９】９Ｃ２方式の符号パターンの配置例である。
【図１０】領域サイズ、ドット数を変更したときの濃度、情報量の変化を示す図である。
【図１１】ベンチマークと同等かそれ以上の情報量を持ち、濃度がベンチマークよりも薄い符号パターンの候補を示す図である。
【図１２】本発明の符号パターンを示す図である。
【図１３】本発明の符号パターンを示す図である。
【図１４】本発明の符号パターンを示す図である。
【図１５】本発明の符号パターンを示す図である。
【図１６】本発明の符号パターンを示す図である。
【図１７】９Ｃ２方式と、９Ｃ７方式の符号パターンを示す図である。
【図１８】ドットパターン上にブロックフレームを重ね合わせた状態を示す図である。
【図１９】ブロックフレームを移動させて、ブロックの区切りを検出する手順を示す図である。
【図２０】同期符号パターンを示す図である。
【図２１】同期符号から符号パターンを正しい向きに回転する方法を説明するための図である。
【図２２】ブロックフレーム内での符号パターンの配置を示す図である。
【図２３】紙面全体に配置された符号パターンを示す図である。
【図２４】画像生成装置の構成を示す図である。
【図２５】画像処理装置の構成を示す図である。
【図２６】符号パターンの配列を検出する手順を示すフローチャートである。
【図２７】同期符号の検出と、符号パターンの回転の手順を示すフローチャートである。
【図２８】ページ番号の復号の手順を示すフローチャートである。
【図２９】Ｘ座標の復号の手順を示すフローチャートである。
【符号の説明】
【００７２】
１  画像生成装置
２  ページ・座標情報入力部
３  ページ番号符号化部
４  Ｘ座標符号化部
５  Ｙ座標符号化部
６  ページ番号符号化部
７  座標符号パターン化部
８  同期符号パターン化部
９  パターン合成部
１０  文書画像生成部
１１  画像合成部
１２  画像生成部
２１  画像読取装置
２２  ドット配列検出部
２３  ブロックフレーム検出部
２４  画像回転判定部
２５  同期符号検出部
２６  ビット情報回転変換部
２７  ページ符号検出部
２８  ページ符号復元部
２９  ページ符号復号部
３０  ページ符号誤り検出部
３１  ページ符号誤り訂正部
３２  Ｘ座標符号検出部
３３  Ｘ座標復号部
３４  Ｘ座標符号誤り検出部
３５  Ｘ座標符号山誤り訂正部
３６  Ｙ座標符号検出部
３７  Ｙ座標復号部
３８  Ｙ座標符号誤り検出部
３９  Ｙ座標符号誤り訂正部
４０  ページ座標情報出力部
【図１】
2007179111.tif 000004
【図２】
2007179111.tif 000005
【図３】
2007179111.tif 000006
【図４】
2007179111.tif 000007
【図５】
2007179111.tif 000008
【図６】
2007179111.tif 000009
【図７】
2007179111.tif 000010
【図８】
2007179111.tif 000011
【図９】
2007179111.tif 000012
【図１０】
2007179111.tif 000013
【図１１】
2007179111.tif 000014
【図１２】
2007179111.tif 000015
【図１３】
2007179111.tif 000016
【図１４】
2007179111.tif 000017
【図１５】
2007179111.tif 000018
【図１６】
2007179111.tif 000019
【図１７】
2007179111.tif 000020
【図１８】
2007179111.tif 000021
【図１９】
2007179111.tif 000022
【図２０】
2007179111.tif 000023
【図２１】
2007179111.tif 000024
【図２２】
2007179111.tif 000025
【図２３】
2007179111.tif 000026
【図２４】
2007179111.tif 000027
【図２５】
2007179111.tif 000028
【図２６】
2007179111.tif 000029
【図２７】
2007179111.tif 000030
【図２８】
2007179111.tif 000031
【図２９】
2007179111.tif 000032