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