画像生成装置、画像処理装置、プログラム、及び印刷媒体
【課題】識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させる。
【解決手段】識別情報、X座標情報、Y座標情報、拡張情報を取得する情報取得部11と、識別情報を符号化して識別符号を生成する識別符号生成部12と、X座標情報を符号化してX座標符号を生成するX座標符号生成部13と、Y座標情報を符号化してY座標符号を生成するY座標符号生成部14と、拡張情報を符号化した拡張符号とX座標符号とY座標符号とから擬似乱数符号を生成する擬似乱数符号生成部18と、識別符号に擬似乱数符号を重畳した符号と同期符号とX座標符号とY座標符号とを配置した符号配列を生成する符号配列生成部15と、各符号に対応するパターン画像をパターン画像記憶部16から選択し配置して符号画像を生成する符号画像生成部17とを備える。
【解決手段】識別情報、X座標情報、Y座標情報、拡張情報を取得する情報取得部11と、識別情報を符号化して識別符号を生成する識別符号生成部12と、X座標情報を符号化してX座標符号を生成するX座標符号生成部13と、Y座標情報を符号化してY座標符号を生成するY座標符号生成部14と、拡張情報を符号化した拡張符号とX座標符号とY座標符号とから擬似乱数符号を生成する擬似乱数符号生成部18と、識別符号に擬似乱数符号を重畳した符号と同期符号とX座標符号とY座標符号とを配置した符号配列を生成する符号配列生成部15と、各符号に対応するパターン画像をパターン画像記憶部16から選択し配置して符号画像を生成する符号画像生成部17とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成装置、画像処理装置、プログラム、印刷媒体に関する。
【背景技術】
【0002】
表面上の複数の位置を符号化する位置コードを提供する方法は知られている(例えば、特許文献1参照)。この特許文献1では、循環数字列を表面に沿って複数回印刷する。その際、循環数字列の異なるローテーションを、隣り合う数字列間で所定のずれが起こるように使用し、表面を分割した複数のコードウィンドウが、少なくとも3つの循環数字列を備えると共に、隣り合うコードウィンドウの1つの数字列と重なり合う1つの数字列を有するものであり、また、コードウィンドウの位置を、そのコードウィンドウに属している循環数字列間のずれによって符号化している。
【0003】
論理的に順位付けられたデジタル量子の機械読取り可能なエンコーディングを記録した記録媒体からのエンコーディングの空間的に非同期的な読取りを可能にする技術も知られている(例えば、特許文献2参照)。この特許文献2では、本質的に同一であるエンコーディングの多数のコピーを形成し、機械認識可能な空間同期指標をエンコーディングのコピーの各々の中のプリント位置に組み合わせて、エンコーディングの空間的に同期可能な多数の事例を提供し、それらの事例をレイアウト規則に従って記録媒体における空間的に周期的な中心の格子に書き込んでいる。
【0004】
取り込まれた画像の位置をより大きい画像から決定するためのシステム及び方法も知られている(例えば、特許文献3参照)。この特許文献3では、非反復的な系列を、所定のサイズのサブウィンドウ毎に固有とされた非反復的な配列に折り畳み、その取り込まれた位置を非反復的な配列内のサブウィンドウ毎に決定することによって、取り込まれた画像の位置を、より大きいサブウィンドウの画像から決定している。
【0005】
光学的に読み取り可能に記録されるマルチメディア情報の長時間記録及び繰り返し再生を可能とする技術も知られている(例えば、特許文献4参照)。この特許文献4において、記録装置は、プリンタシステムや印刷用製版システムにより、オーディオ情報、映像情報、ディジタルコードデータ等を含めた所謂マルチメディア情報を光学的に読み取り可能なドットコードとして、画像や文字と一緒に紙等の媒体上に記録する。ペン型の情報再生装置は、ドットコードの手動走査に応じてそのドットコードを順次取り込んで、元のオーディオ情報を音声出力器にて、元の映像情報を表示装置にて、元のディジタルコードデータをページプリンタ等にて出力する。
【0006】
タブレットを使用せずに、媒体上の座標を精緻に検出できるようにする技術も知られている(例えば、特許文献5参照)。この特許文献5において、ペン型の座標入力装置は、媒体上に形成されその媒体上の座標を示すコードシンボルを光学的に読み取り、この読み取ったコードシンボルをデコードし、読み取った画像中におけるコードシンボルの位置、向き及び歪み量を検出する。そして、デコード後の情報と、コードシンボルの位置、向き及び歪み量とにより、先端部の媒体上での位置の座標を検出する。
【0007】
また、背景画像として埋め込んだ符号パターンの濃度むらの発生を防止する技術も知られている(例えば、特許文献6参照)。この特許文献6では、用紙上に繰り返し形成される画像識別情報を符号化したパターンを、画像識別情報を符号化して得られる第1パターン値に、座標値を符号化して得られるパターン値を加算した値を基に得られる第2パターン値を表すパターンとすることにより、濃度むらの発生を低減させている。
【0008】
【特許文献1】特表2003−511762号公報
【特許文献2】特開平9−185669号公報
【特許文献3】特開2004−152273号公報
【特許文献4】特開平6−231466号公報
【特許文献5】特開2000−293303号公報
【特許文献6】特開2007−226678号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
ここで、一般に、識別情報を表すパターン画像による濃度むらを低減しようとすると、識別情報の復号率が低下する場合があった。
本発明の目的は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることにある。
【課題を解決するための手段】
【0010】
請求項1に記載の発明は、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列を取得する第1のビット列取得手段と、前記媒体上の位置を表し、擬似乱数性を有する第2のビット列を取得する第2のビット列取得手段と、所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成するビット列生成手段と、前記第1のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第1のパターン画像と、前記第2のビット列に対応する第2のパターン画像とを配置した埋め込み画像を生成する埋め込み画像生成手段とを備えたことを特徴とする画像生成装置である。
請求項2に記載の発明は、前記識別情報に重畳する特定の情報を取得する情報取得手段を更に備え、前記ビット列生成手段は、前記擬似乱数ビット列の生成に先立ち、前記特定の情報に基づいて前記第3のビット列を生成することを特徴とする請求項1記載の画像生成装置である。
請求項3に記載の発明は、前記ビット列生成手段は、前記第3のビット列を構成するビットが示す数値に、当該ビットが埋め込まれる位置を表す前記第2のビット列の部分列が示す数値を加算し、その結果を所定値で割った余りを、前記擬似乱数ビット列を構成するビットが示す数値とすることを特徴とする請求項1記載の画像生成装置である。
請求項4に記載の発明は、前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するビットが示す数値に所定値を乗じて得られた数値を、前記第1のビット列の部分列が示す数値に加算することにより、当該第1のビット列に当該擬似乱数ビット列を重畳することを特徴とする請求項1記載の画像生成装置である。
請求項5に記載の発明は、前記第1のパターン画像及び前記第2のパターン画像は、p個のパターン画像が属する2q個の組の何れかに属し(p≧2,q≧1)、前記ビット列生成手段は、前記第3のビット列を構成するqビットが示す数値に、当該qビットが埋め込まれる位置を表す前記第2のビット列の部分列が示す数値を加算し、その結果を2qで割った余りを、前記擬似乱数ビット列を構成するビットが示す値とし、前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するqビットが示す値にpを乗じて得られた数値を、前記第1のビット列の部分列が示す数値に加算することを特徴とする請求項1記載の画像生成装置である。
請求項6に記載の発明は、媒体に印刷された埋め込み画像を取得する埋め込み画像取得手段と、前記埋め込み画像に配置された第1のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第1のビット列と当該擬似乱数ビット列とを取得する第1のビット列取得手段と、前記埋め込み画像に配置された第2のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第2のビット列を取得する第2のビット列取得手段と、前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第2のビット列を用いて擬似乱数性を除去することにより、第3のビット列を生成するビット列生成手段と、前記第1のビット列と前記第2のビット列と前記第3のビット列とに基づいて、前記識別情報と、前記媒体上の位置を特定する情報と、これらの情報以外の特定の情報とを取得する情報取得手段とを備えたことを特徴とする画像処理装置である。
請求項7に記載の発明は、前記第1のビット列取得手段は、前記第1のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値を所定値で割った余りを、当該第1のビット列の部分列が示す数値とすることを特徴とする請求項6記載の画像処理装置である。
請求項8に記載の発明は、前記ビット列生成手段は、前記擬似乱数ビット列を構成するビットが示す数値から、当該ビットが埋め込まれた位置を表す前記第2のビット列の部分列が示す数値を減算し、その結果を所定値で割った余りを、前記第3のビット列を構成するビットが示す数値とすることを特徴とする請求項6記載の画像処理装置である。
請求項9に記載の発明は、前記第1のパターン画像及び前記第2のパターン画像は、p個のパターン画像が属する2q個の組の何れかに属し(p≧2,q≧1)、前記第1のビット列取得手段は、前記第1のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値をpで割った余りを、当該第1のビット列の部分列が示す数値とし、前記ビット列生成手段は、前記擬似乱数ビット列を構成するqビットが示す数値から、当該qビットが埋め込まれた位置を表す前記第2のビット列の部分列が示す数値を減算し、その結果を2qで割った余りを、前記第3のビット列を構成するqビットが示す数値とすることを特徴とする請求項6記載の画像処理装置である。
請求項10に記載の発明は、コンピュータに、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列を取得する機能と、前記媒体上の位置を表し、擬似乱数性を有する第2のビット列を取得する機能と、所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成する機能と、前記第1のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第1のパターン画像と、前記第2のビット列に対応する第2のパターン画像とを配置した埋め込み画像を生成する機能とを実現させるためのプログラムである。
請求項11に記載の発明は、コンピュータに、媒体に印刷された埋め込み画像を取得する機能と、前記埋め込み画像に配置された第1のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第1のビット列と当該擬似乱数ビット列とを取得する機能と、前記埋め込み画像に配置された第2のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第2のビット列を取得する機能と、前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第2のビット列を用いて擬似乱数性を除去することにより、第3のビット列を生成する機能と、前記第1のビット列と前記第2のビット列と前記第3のビット列とを出力する機能とを実現させるためのプログラムである。
請求項12に記載の発明は、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られたビット列に対応するパターン画像が印刷された第1の領域と、前記媒体上の位置を表し、擬似乱数性を有する第2のビット列に対応するパターン画像が印刷された第2の領域とを含み、前記擬似乱数ビット列は、所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより生成されたビット列であることを特徴とする印刷媒体である。
【発明の効果】
【0011】
請求項1の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項2の発明は、識別情報の復号率に影響を与えずに濃度むらを低減させるためのビット列を用いて、特定の情報を表すことができるという効果を有する。
請求項3の発明は、本構成を有していない場合に比較して、濃度むらを低減させるためのビット列から特定の情報を容易に取り出すことができるという効果を有する。
請求項4の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像に対応するビット列から識別情報を容易に取り出すことができるという効果を有する。
請求項5の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像から識別情報及び特定の情報を容易に取り出せるようにするために、パターン画像を効率的に利用することができるという効果を有する。
請求項6の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項7の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像に対応するビット列から識別情報を容易に取り出すことができるという効果を有する。
請求項8の発明は、本構成を有していない場合に比較して、濃度むらを低減させるためのビット列から特定の情報を容易に取り出すことができるという効果を有する。
請求項9の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像から識別情報及び特定の情報を容易に取り出せるようにするために、パターン画像を効率的に利用することができるという効果を有する。
請求項10の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項11の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項12の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
まず、本実施の形態で利用する符号化方式について説明する。
本実施の形態における符号化方式では、m(m≧3)箇所から選択したn(1≦n<m)箇所に単位画像を配置してなるパターン画像(以下、「符号パターン」という)によってmCn(=m!/{(m−n)!×n!})通りの情報を表現する。つまり、1つの単位画像を情報に対応させるのではなく、複数の単位画像を情報に対応させている。仮に1つの単位画像を情報に対応させたとすると、単位画像が欠損したり、ノイズが加わったりした場合に、誤った情報を表現してしまうという欠点がある。これに対して、例えば2つの単位画像を情報に対応させたとすると、単位画像が1つであったり3つであったりした場合に、容易に誤りであることが分かる。更に、1つの単位画像で1ビット、又は、高々2ビットを表現する方法では、情報を表現するための情報パターンと視覚的に似たパターンで、情報パターンの読出しを制御する同期パターンを表現することができない。このようなことから、本実施の形態では、上記のような符号化方式を採用している。以下では、このような符号化方式をmCn方式と称する。
ここで、単位画像としては、如何なる形状のものを用いてもよい。本実施の形態では、単位画像の一例としてドット画像(以下、単に「ドット」という)を用いるが、例えば、斜線パターン等、他の形状の画像であってもよい。
【0013】
図1に、mCn方式における符号パターンの例を示す。
図では、黒色の領域と斜線の領域をドット配置可能な領域とし、その間にある白色の領域をドット配置不可能な領域としている。そして、ドット配置可能な領域のうち、黒色の領域にドットが配置され、斜線の領域にはドットが配置されていないことを示している。即ち、図1は、縦3×横3の合計9個のドット配置可能な領域を設けた例を示しており、このうち、(a)は、9個のドット配置可能な領域に2ドットを配置する9C2方式における符号パターンの一例を、(b)は、9個のドット配置可能な領域に3ドットを配置する9C3方式における符号パターンの一例を示している。
【0014】
但し、図1で配置されるドット(黒色の領域)は、あくまで情報表現のためのドットであり、画像を構成する最小単位であるドット(図1の最小の四角)とは一致していない。本実施の形態において、「ドット」というときは前者のドットを指し、後者のドットは「ピクセル」と呼ぶことにすれば、ドットは、600dpiにおける2ピクセル×2ピクセルの大きさを有することになる。600dpiにおける1ピクセルの一辺の長さは0.0423mmなので、1ドットの一辺の長さは、84.6μm(=0.0423mm×2)となる。ドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、50μmより大きく100μmより小さい上記の値を採用している。但し、上記の値84.6μmは、あくまで計算上の数値であり、実際に印刷されたトナー像では100μm程度になる。
【0015】
次いで、図2に、9C2方式における全符号パターンの例を示す。尚、ここでは、ドット間の空白は省略している。図示するように、9C2方式では、36(=9C2)通りの符号パターンが利用される。また、全符号パターンに対して、各符号パターンを一意に識別するための番号であるパターン値が付される。図では、各符号パターンに対するこのパターン値の割り当ての例も示している。但し、図に示した対応はあくまで一例であり、どの符号パターンにどのパターン値を割り当ててもよい。
【0016】
また、図3に、9C3方式における全符号パターンの例を示す。尚、ここでも、ドット間の空白は省略している。図示するように、9C3方式では、84(=9C3)通りの符号パターンが利用される。また、この場合も、全符号パターンに対して、各符号パターンを一意に識別するための番号であるパターン値が付される。図では、各符号パターンに対するこのパターン値の割り当ての例も示している。但し、この場合も、図に示した対応はあくまで一例であり、どの符号パターンにどのパターン値を割り当ててもよい。
【0017】
尚、ここでは、符号パターンが配置される領域(以下、「パターンブロック」という)の大きさを、3ドット×3ドットを配置可能な大きさとした。しかしながら、パターンブロックの大きさはこれに限るものではない。つまり、2ドット×2ドット、4ドット×4ドット等を配置可能な大きさであってもよい。
また、パターンブロックの形状として、正方形でなく、例えば3ドット×4ドットを配置する場合のように長方形を採用してもよい。尚、本明細書において、長方形とは、隣り合う2辺の長さが等しくない矩形、つまり、正方形以外の矩形のことをいうものとする。
更に、任意に決めた数のドット配置可能な領域のうち、幾つの領域にドットを配置するかも、表現したい情報の量と許容できる画像濃度とを考慮して、適宜決めるとよい。
【0018】
このように、本実施の形態では、m箇所からn箇所を選択することでmCn種類の符号パターンを用意している。そして、これらの符号パターンのうち、特定のパターンを情報パターンとして利用し、残りを同期パターンとして利用する。ここで、情報パターンとは、媒体に埋め込む情報を表現するパターンである。また、同期パターンとは、媒体に埋め込まれた情報パターンを取り出すために用いられるパターンである。例えば、情報パターンの位置を特定したり、画像の回転を検出したりするために用いられる。尚、媒体としては、画像を印刷することが可能であれば、如何なるものを用いてもよい。紙が代表例なので、以下では媒体を紙として説明するが、金属、プラスチック、繊維等であってもよい。
【0019】
ここで、図2又は図3に示した符号パターンのうちの同期パターンについて説明する。尚、これらの符号パターンを利用する場合、パターンブロックの形状は正方形となるため、画像の回転を90度単位で認識する必要がある。従って、4種類の符号パターンで1組の同期パターンが構成される。
図4(a)は、9C2方式における同期パターンの例である。ここでは、36種類の符号パターンのうち、32種類の符号パターンを5ビットの情報を表現する情報パターンとし、残りの4種類の符号パターンで1組の同期パターンを構成するものとする。例えば、パターン値「32」の符号パターンを正立した同期パターン、パターン値「33」の符号パターンを右に90度回転した同期パターン、パターン値「34」の符号パターンを右に180度回転した同期パターン、パターン値「35」の符号パターンを右に270度回転した同期パターンとしている。但し、36種類の符号パターンの情報パターンと同期パターンへの振り分け方は、これには限らない。例えば、16種類の符号パターンを4ビットの情報を表現する情報パターンとし、残りの20種類の符号パターンで5組の同期パターンを構成してもよい。
【0020】
また、図4(b)は、9C3方式における同期パターンの例である。ここでは、84種類の符号パターンのうち、64種類の符号パターンを6ビットの情報を表現する情報パターンとし、残りの20種類の符号パターンで5組の同期パターンを構成するものとする。図は、この5組の同期パターンのうちの2組を示す。例えば、第1組においては、パターン値「64」の符号パターンを正立した同期パターン、パターン値「65」の符号パターンを右に90度回転した同期パターン、パターン値「66」の符号パターンを右に180度回転した同期パターン、パターン値「67」の符号パターンを右に270度回転した同期パターンとしている。また、第2組においては、パターン値「68」の符号パターンを正立した同期パターン、パターン値「69」の符号パターンを右に90度回転した同期パターン、パターン値「70」の符号パターンを右に180度回転した同期パターン、パターン値「71」の符号パターンを右に270度回転した同期パターンとしている。
【0021】
尚、図示しないが、パターンブロックの形状が長方形である場合は、画像の回転の検出のために2種類の符号パターンを同期パターンとして用意すればよい。例えば、縦3ドット×横4ドットを配置可能な領域が検出されるべきなのに、縦4ドット×横3ドットを配置可能な領域が検出された場合は、その時点で画像が90度又は270度回転していることが分かるからである。
【0022】
次に、同期パターンと情報パターンを配置してなる情報表現の最小単位(以下、「符号ブロック」という)について説明する。
図5は、符号ブロックのレイアウトの一例を示したものである。
図中、(a)及び(b)のそれぞれの右側に、符号ブロックのレイアウトを示している。ここでは、レイアウトとして、パターンブロックを5個×5個の25個並べたものを採用している。この25個のパターンブロックのうち、左上の1ブロックに同期パターンを配置している。また、同期パターンの右の4ブロックに紙面上の横方向の座標を特定するX座標情報を表す情報パターンを配置し、同期パターンの下の4ブロックに紙面上の縦方向の座標を特定するY座標情報を表す情報パターンを配置している。更に、これらの座標情報を表す情報パターンで囲まれた16ブロックに、紙面又は紙面に印刷される文書の識別情報を表す情報パターンを配置している。
【0023】
また、(a)の左側には、9C2方式における符号パターンが各パターンブロックに配置されていることを示している。即ち、36種類の符号パターンを、例えば、4種類の同期パターンと32種類の情報パターンとに分け、各パターンをレイアウトに従って配置している。一方、(b)の左側には、9C3方式における符号パターンが各パターンブロックに配置されていることを示している。即ち、84種類の符号パターンを、例えば、20種類の同期パターンと64種類の情報パターンとに分け、各パターンをレイアウトに従って配置している。
【0024】
尚、本実施の形態において、座標情報は、紙面の縦方向及び横方向にM系列で表現される。ここで、M系列とは、その部分列が、他の部分列と一致することがない系列である。例えば、11次のM系列は、2047ビットのビット列である。そして、この2047ビットのビット列の中から取り出された11ビット以上の部分列と同じ並びは、この2047ビットのビット列の中に自身以外には存在しない。本実施の形態では、1個の符号パターンを4ビットに対応付ける。即ち、2047ビットのビット列を4ビットごとに10進数で表し、図2又は図3の割り当てに従って符号パターンを決定し、紙面の横と縦に渡って印刷する。従って、復号の際は、3つの連続する符号パターンを特定し、符号パターンと座標との対応関係を格納したテーブルを参照することにより、ビット列上の位置が特定されることになる。
【0025】
また、識別情報の符号化には、幾つかの方法の利用が考えられるが、本実施の形態では、RS符号化が適している。RS符号は多値の符号法であり、各パターンブロックに配置された符号パターンのパターン値をRS符号の多値に対応させるとよいからである。
尚、本実施の形態における符号パターンの利用形態としては、例えば、文書画像に重ねてその識別情報を紙面に印刷し、ペン状のスキャナで紙面上の部分画像を読み込み、そこから文書画像の識別情報を取得する、といったものが想定される。この場合、紙面上の汚れやスキャナの性能によって誤りが発生するが、この誤りはRS符号により訂正される。
【0026】
ここで、RS符号による訂正及びそのような訂正を行う場合に表現可能な情報量について具体的に説明する。
本実施の形態では、上述したように、1パターンブロック内のドット数が一定である符号パターンを採用している。これにより、仮に1ドットが消失した場合や、1ドットが付加された場合は、パターンブロック内のドット数が変わる。従って、これらは誤りだと分かる誤りとなる。一方で、ドットの消失と付加が同時に起こった場合は、他の符号パターンであると誤認識してしまうので、誤りだと分からない誤りとなる。
例えば、識別情報を表す情報パターンを配置する16ブロックのうち、10ブロックを識別情報そのものを表す情報パターンを配置するブロックとし、6ブロックを訂正のためのブロックとする。この場合、誤りだと分かるブロックは6ブロックまで、誤りだと分からないブロックも3ブロックまで、訂正される。これを例えば9C2方式における32種類の情報パターンで実現したとすると、1ブロックで5ビットの情報が表現されるので、識別情報そのものは10ブロックで50ビット分表現される。また例えば9C3方式における64種類の情報パターンで実現したとすると、1ブロックで6ビットの情報が表現されるので、識別情報そのものは10ブロックで60ビット分表現される。
【0027】
次いで、上記符号ブロックを含む広範囲のレイアウトについて説明する。
図6は、そのようなレイアウトの一例を示した図である。このレイアウトでは、図5の符号ブロックが基本単位として紙面全体の縦方向及び横方向に周期的に配置されている。
ここで、同期パターンとしては、同じ符号パターンが各符号ブロックにおける左上のパターンブロックに配置されている。図では、同期パターンを「S」で表している。
また、X座標情報としては、符号パターンの同じ並びが、同期パターンが配置されたのと同じ行の各パターンブロックに配置されている。Y座標情報としては、符号パターンの同じ並びが、同期パターンが配置されたのと同じ列の各パターンブロックに配置されている。図では、X座標情報を表すパターンを「X01」、「X02」、…で表し、Y座標情報を表すパターンを「Y01」、「Y02」、…で表している。
更に、識別情報としては、符号パターンの同じ配列が、縦方向及び横方向に周期的に配置されている。図では、識別情報を表すパターンを「I01」、「I02」、…、「I16」で表している。
そして、このようなレイアウトを採用することにより、例えば、図中、丸印で示した範囲が読み取られた場合のように、図5の符号ブロックの全体を含む範囲が読み取られていない場合であっても、後述する処理により、識別情報及び座標情報が得られる。
【0028】
しかしながら、このようなレイアウトを採用することにより、次の問題点が生じる。同じ配列の繰り返しにより構成されるレイアウトであるため、紙面に符号パターンを印刷した場合に、濃度むらが現れてしまうという問題点である。
このような濃度むらを低減するには、座標情報の表現に用いるM系列が持つ擬似乱数の性質を利用する方法が考えられる。
即ち、座標情報のパターン値を識別情報のパターン値に加算し、その結果を例えば「32」で割った余りを識別情報の新たなパターン値とする、という方法である。図5の符号ブロックにおける左からI列目、上からJ行目のパターンブロックに配置されたパターン値をP(I,J)として、この方法について説明する。ここでは、例えば、P(4,1)=10、P(1,3)=15、P(4,3)=26である符号ブロックを考える。つまり、この符号ブロックでは、X座標情報のパターン値の左から3つ目が「10」であり、Y座標情報のパターン値の上から2つ目が「15」であり、識別情報のパターン値の左から3つ目で上から2つ目が「26」である。この場合、(26+10+15)mod32=19により、P(4,3)=19となるので、パターン値「26」が配置されていたパターンブロックにはパターン値「19」が配置される。そして、このような処理を全ての識別情報のパターンブロックについて行うことにより、周期性が見かけ上消えることになる。
【0029】
一方、復号の際には、まず、座標情報のパターン値と、識別情報のパターンブロックに配置されたパターン値とを求める。次に、識別情報のパターンブロックに配置されたパターン値から、そのパターンブロックに対応する座標情報のパターンブロックに配置されたパターン値を減算することにより、最終的に識別情報のパターン値が得られる。
【0030】
ところが、この方法では、復号に関する説明から分かるように、識別情報のパターン値を得るために、識別情報のパターンブロックに配置されたパターン値だけでなく、座標情報のパターン値も求める必要がある。従って、識別情報の復号率を低下させてしまう虞がある。
【0031】
そこで、本実施の形態では、9C3方式における64種類の情報パターンで表現される6ビットを5ビットと1ビットとに分け、この1ビットに座標情報のパターン値を加算して擬似乱数性を与えることとする。即ち、64種類の情報パターンを、32種類の情報パターンが属する2つの組に分け、識別情報を32種類の情報パターンを用いて表現し、更に、各情報パターンとして2つの組の何れに属する情報パターンを用いるかによって1ビットの情報を表現する。これにより、座標情報の検出誤りとは独立に識別情報のパターン画像の周期性をなくす。
【0032】
具体的には、符号化時に、拡張情報を構成するビット値に対してそのビット値が配置された位置に対応する座標情報のパターン値を加算し、その結果を「2」で割った余りでビット値を置き換えることにより、擬似乱数性を有する擬似乱数情報を生成し、濃度むらを低減する。例えば、第1組における符号パターンのパターン値を「0」〜「31」、第2組における符号パターンのパターン値を「32」〜「63」とする。また、「0」と「32」、「1」と「33」のように、第1組における符号パターンのパターン値と、そのパターン値に「32」を加えた第2組における符号パターンのパターン値とを対応付けておく。そして、例えば、パターン値「0」を表すのに、パターン値「0」の符号パターンを用いるか、パターン値「32」の符号パターンを用いるかにより、1ビットを表現する。このようにすれば、復号時には、検出した符号パターンのパターン値を「32」で割った商が擬似乱数情報を構成する1ビットとなり、余りが識別情報を構成する5ビットとなる。
【0033】
以下、このような濃度むら低減方法を、具体例を用いて説明する。
図7〜図9は、本実施の形態における濃度むら低減方法について説明するための図である。
まず、図7(a)では、パターン値「5」、「13」、「10」、「3」が、X座標情報を表すパターン値の列として、パターン値「7」、「15」、「2」、「4」が、Y座標情報を表すパターン値の列として配置されている。また、X座標情報を表すパターン値とY座標情報を表すパターン値とに囲まれた領域には、識別情報を表すパターン値に拡張情報を表すビット値を重畳して得られるパターン値が配置されるが、ここでは、まず、拡張情報を表すビット値のみを示している。即ち、上の行から下の行へ、また、各行においては左から右へ各ビット値を配置するものとし、拡張情報がビット列「1101001101001011」で表わされる場合を示している。この状態で、X座標情報を表すパターン値とY座標情報を表すパターン値とをそのX座標情報及びY座標情報に対応するパターンブロックにおけるビット値に加算する。そして、その結果を「2」で割った余りを、そのパターンブロックにおける擬似乱数情報を表すビット値とする。例えば、図では、X座標情報のパターン値が「10」、Y座標情報のパターン値が「15」、これらに対応する拡張情報のビット値が「1」であるので、(1+10+15)mod2=0により、擬似乱数情報を表すビット値は「0」となる。これをビット列を構成する全てのビット値に対して行うことにより、拡張情報のビット列「1101001101001011」は、擬似乱数情報のビット列「1111000110010110」に変換される。
【0034】
その後、図7(b)では、このようにして得られた擬似乱数情報を表すビット値を、識別情報を表すパターン値に重畳する。即ち、図中、右側の符号ブロックにおける識別情報が配置されるパターンブロックには、図7(a)で得られた擬似乱数情報のビット列「1111000110010110」が示されており、このビット列を構成する各ビット値が、識別情報を表すパターン値に重畳される。具体的には、ビット値が「0」であれば、識別情報を表すパターン値を、配置する符号パターンのパターン値としてそのまま用い、ビット値が「1」であれば、識別情報を表すパターン値に「32」を加算して得られたパターン値を、配置する符号パターンのパターン値として用いる。例えば、図では、識別情報を表すパターン値が「29」であり、擬似乱数情報を表すビット値が「1」であるので、29+(1×32)=61により、パターン値「61」が、配置する符号パターンのパターン値として用いられることになる。
【0035】
次に、このような処理をより広範囲にわたって具体的に示す。
まず、図8は、図7(a)に示した処理の前後におけるパターン値の配列の一例を示している。即ち、左側の配列における識別情報のパターンブロックに配置された各ビット値に対し、そのパターンブロックに対応するX座標情報のパターン値及びY座標情報のパターン値を加算し、その結果を「2」で割った余りを、右側の配列における識別情報のパターンブロックに配置している。
【0036】
また、図9は、図7(b)に示した処理の前後におけるパターン値の配列の一例を示している。即ち、左側の配列における識別情報のパターンブロックに配置された各ビット値を、中央に示した識別情報の各パターン値に重畳することにより得られた値を、右側の配列における識別情報のパターンブロックに配置している。
【0037】
ところで、ここまでは識別情報を表すパターン配列に生ずる濃度むらの低減方法について述べたが、座標情報を表すパターン列でも問題が生ずる。座標情報に利用しているM系列は、計算機で生成することができる擬似乱数としての性質を持っている。そのため、X座標であれば、X方向には周期性がなく濃度むらは発生しない。しかしながら、直行するY方向には、同じパターン列が配置されることになるため濃度むらが発生する。これは、Y座標についても同様である。
【0038】
ここで、本実施の形態で埋め込まれる情報の種類及びビット数についてまとめておく。
図10は、情報の種類及びビット数について説明するための図である。
図示するように、本実施の形態では、同期パターンが配置される1つのパターンブロック(同期ブロック)を基準として、右側に、X座標情報に関連する情報(X座標関連情報)51が配置され、下側に、Y座標情報に関連する情報(Y座標関連情報)52が配置される。また、X座標関連情報51及びY座標関連情報52に囲まれた領域に、識別情報に関連する情報(識別関連情報)53が配置される。
【0039】
このうち、識別関連情報53には、これまで述べてきたように、各パターンブロックに1ビットずつ、合計16ビットの拡張情報が重畳される。そして、本実施の形態では、この拡張情報にM系列の擬似乱数性を与えることで、濃度むらを低減する。従って、この拡張情報を構成するビット列は、濃度むらを低減するためのビット列でもある。或いは、このビット列は、濃度むらを低減するためだけのものとし、拡張情報を表現するものとしなくてもよい。一方、拡張情報に割り当てた1ビットを除いた5ビットは、まず、識別情報を表すものとして10パターンブロックに配置される。つまり、50ビットの識別情報が埋め込まれる。そして、残りの6パターンブロックには、5ビットが訂正情報として配置される。前述したが、このように6個の訂正ブロックを設けることで、誤りだと分かる誤りは6ブロックまで訂正され、誤りだと分からない誤りも3ブロックまで訂正される。
【0040】
また、X座標関連情報51には、16ビットのX座標情報が含まれる。ところが、本実施の形態では、9C3方式における64種類の情報パターンを用いているので、1つのパターンブロックにつき、2ビットの余裕がある。そこで、これを拡張情報に割り当ててもよい。しかしながら、2ビットをそのまま拡張情報とすると、周期性が発生する。そこで、1ビットを拡張情報、1ビットを乱数による濃度むら低減に利用するのがよい。具体的には、はじめに、64種類の情報パターンを、32種類の情報パターンが属する2つの組に分け、この2つの組のそれぞれを更に16種類の情報パターンが属する2つの組に分ける。そして、X座標情報を16種類の情報パターンを用いて表現する。このとき、別途設定した「0」と「1」の乱数によって、各情報パターンとして2つの組の何れに属するものを選択するかを決定する。更に、各情報パターンとして2つの組の何れに属する情報パターンを用いるかによって1ビットの拡張情報を表現する。尚、Y座標関連情報52についても、同様に1つのパターンブロックにつき1ビットの拡張情報と1ビットの乱数を重畳することにより、濃度むらを低減するようにしてもよい。
【0041】
尚、図7〜図10では、9C3方式を利用する場合を例として示したが、これには限らない。即ち、mCn個の符号パターンの中から、p×2q個の情報パターンとr個の同期パターンが得られるものであれば、如何なるmCn方式を利用してもよい。但し、p、qは、p≧2、q≧1、p×2q≧(座標情報を表現するために必要な情報パターンの数)を満たす整数とし、rは、パターンブロックが正方形であれば4の倍数、パターンブロックが長方形であれば2の倍数とする。そして、この場合、p×2q個の情報パターンを、p個の情報パターンが属する2q個の組に分け、識別情報をp個の情報パターンを用いて表現し、更に、2q個の組の何れに属する情報パターンを用いるかによってqビットの拡張情報を表現する。
このように、本実施の形態では、一定の条件を満たす限り、如何なるmCn方式を利用してもよいが、以降の説明においても、簡単のため、9C3方式の利用を前提とする。また、以下では、パターンブロックのことを単に「ブロック」ともいう。
【0042】
次いで、このような画像を生成する画像生成装置10について説明する。
図11は、画像生成装置10の構成例を示したブロック図である。
図示するように、画像生成装置10は、情報取得部11と、識別符号生成部12と、擬似乱数符号生成部18と、X座標符号生成部13と、Y座標符号生成部14と、符号配列生成部15と、パターン画像記憶部16と、符号画像生成部17とを備える。
【0043】
情報取得部11は、紙面又は紙面に印刷される文書の識別情報、識別情報に重ねて埋め込む拡張情報、紙面上での座標情報を取得する。そして、識別情報を識別符号生成部12に出力し、拡張情報を擬似乱数符号生成部18に出力し、座標情報のうち、X座標情報をX座標符号生成部13に、Y座標情報をY座標符号生成部14に出力する。本実施の形態では、識別情報に重畳する特定の情報を取得する情報取得手段の一例として、情報取得部11を設けている。
【0044】
識別符号生成部12は、情報取得部11から取得した識別情報を符号化して識別符号を生成し、これを符号配列生成部15に出力する。本実施の形態では、識別情報を表す第1のビット列を取得する第1のビット列取得手段の一例として、識別符号生成部12を設けている。
尚、この識別情報の符号化は、ブロック分割、RS符号化の処理を含む。
このうち、ブロック分割は、識別情報を構成するビット列を、RS符号化を行うために複数のブロックに分割する処理である。例えば、9C3方式で6ビットの情報を表現可能な情報パターンを用いる場合、60ビットの識別情報は、ブロック長が6ビットの10個のブロックに分割される。
また、RS符号化は、分割されたブロックに対してRS符号化を行い、誤り訂正のための冗長ブロックを付加する処理である。先の例において3ブロックの誤りを訂正可能なRS符号を採用したとすると、符号長は16ブロックとなる。
擬似乱数符号生成部18は、情報取得部11から取得した拡張情報を符号化して拡張符号を生成する。そして、この拡張符号を構成する各ビット値に対し、X座標符号生成部13から取得したX座標符号を構成する各パターン値と、Y座標符号生成部14から取得したY座標符号を構成する各パターン値とを加算することにより、擬似乱数符号を生成する。本実施の形態では、擬似乱数ビット列を生成するビット列生成手段の一例として、擬似乱数符号生成部18を設けている。
【0045】
X座標符号生成部13は、X座標情報を符号化してX座標符号を生成し、これを符号配列生成部15及び擬似乱数符号生成部18に出力する。Y座標符号生成部14は、Y座標情報を符号化してY座標符号を生成し、これを符号配列生成部15及び擬似乱数符号生成部18に出力する。本実施の形態では、媒体上の位置を表す第2のビット列を取得する第2のビット列取得手段の一例として、X座標符号生成部13及びY座標符号生成部14を設けている。
尚、この座標情報の符号化は、M系列符号化、ブロック分割の処理を含む。
このうち、M系列符号化は、M系列を使用して座標情報を符号化する処理である。例えば、符号化したい座標情報の長さから必要なM系列の次数を求め、M系列を動的に生成することで座標符号を生成する。但し、予め符号化したい座標情報の長さが分かっている場合には、M系列を画像生成装置10のメモリ等に格納しておき、画像生成時にそれを読み出す構成としてもよい。
また、ブロック分割は、M系列を複数のブロックに分割する処理である。例えば、情報パターンとして16種類の符号パターンを選択したとすると、符号ブロックにおける各パターンブロックには4ビットの情報が格納される。従って、図5のようなレイアウトを有する符号ブロックに対して、X座標情報は、16ビット分格納される。そして、各ブロックに格納された4ビットに符号パターンを対応付けることにより、座標情報が符号パターンによって表される。
【0046】
符号配列生成部15は、識別符号生成部12にて生成された識別符号と、擬似乱数符号生成部18にて生成された擬似乱数符号と、X座標符号生成部13及びY座標符号生成部14にて生成された座標符号と、識別符号及び座標符号の読出しを制御する同期符号とを2次元平面に配置して2次元の符号配列を生成する。ここで、同期符号とは、同期パターンのパターン値である。識別符号とは、識別情報を表す情報パターンのパターン値である。但し、識別符号としては、識別符号生成部12から取得した識別符号を構成するパターン値をそのまま配置するのではなく、9C3方式における32種類の情報パターンが所属する2つの組の何れかに属する情報パターンのパターン値を選択して配置する。このとき、何れの組におけるパターン値を選択するかは、擬似乱数符号生成部18から取得した擬似乱数符号を構成するビット値により決められる。また、座標符号とは、座標情報を表す情報パターンのパターン値である。
パターン画像記憶部16は、図3に示した9C3方式における全符号パターンを記憶する。ここで、符号パターンには、上述したようにパターン値が付されており、各符号パターンはパターン値をキーとして読み出し可能になっている。
符号画像生成部17は、符号配列生成部15が生成した2次元の符号配列を参照し、符号配列における各パターン値に対応した符号パターンを選択して符号画像を生成する。本実施の形態では、埋め込み画像を生成する埋め込み画像生成手段の一例として、符号画像生成部17を設けている。
【0047】
そして、この符号画像は、図示しない画像形成部に渡され、画像形成部が紙面に符号画像を形成する。このとき、画像形成部は、電子文書の文書画像と符号画像とを重畳した重畳画像を紙面に形成するようにしてもよい。また、このように重畳画像を形成する場合には、紙面に対するペンデバイスによる筆記データが電子文書上の適切な位置に反映されるよう電子文書上の位置と紙面上の位置との対応関係を管理することが望ましい。
【0048】
また、画像形成部は、符号画像を、例えば電子写真方式を用いて、Kトナー(カーボンを含む赤外光吸収トナー)、又は、特殊トナーにより形成する。
ここで、特殊トナーとしては、可視光領域(400nm〜700nm)における最大吸収率が7%以下であり、近赤外領域(800nm〜1000nm)における吸収率が30%以上の不可視トナーが例示される。ここで、「可視」及び「不可視」は、目視により認識できるかどうかとは関係しない。印刷された媒体に形成された画像が可視光領域における特定の波長の吸収に起因する発色性の有無により認識できるかどうかで「可視」と「不可視」とを区別している。また、可視光領域における特定の波長の吸収に起因する発色性が若干あるが、人間の目で認識し難いものも「不可視」に含める。
【0049】
次いで、この画像生成装置10の動作を説明する。
図12は、画像生成装置10の動作例を示したフローチャートである。
印刷指示があると、画像生成装置10では、情報取得部11が、紙面又は紙面に印刷される文書の識別情報と、識別情報に重ねて埋め込む拡張情報と、紙面上に埋め込む座標情報とを取得する(ステップ101)。ここで、識別情報は、印刷を指示するPC等から取得してもよいし、画像生成装置10内で例えば自装置の識別番号と自装置内での一連番号とを組み合わせることにより生成してもよい。また、拡張情報は、印刷を指示するPC等から取得するとよい。更に、座標情報は、PC等で指定された用紙サイズの情報等に基づいて画像生成装置10内で生成するとよい。
【0050】
次に、識別符号生成部12は、情報取得部11から受け取った識別情報を符号化して識別符号を生成し、これを符号配列生成部15に出力する(ステップ102)。また、X座標符号生成部13は、情報取得部11から受け取ったX座標情報を符号化してX座標符号を生成し、これを符号配列生成部15及び擬似乱数符号生成部18に出力し、一方で、Y座標符号生成部14は、情報取得部11から受け取ったY座標情報を符号化してY座標符号を生成し、これを符号配列生成部15及び擬似乱数符号生成部18に出力する(ステップ103)。
更に、擬似乱数符号生成部18は、情報取得部11から受け取った拡張情報を符号化して拡張符号を生成する(ステップ104)。そして、拡張符号を構成するビット値に対して、X座標符号を構成するパターン値とY座標符号を構成するパターン値とを加算し、その結果を「2」で割った余りを擬似乱数符号を構成するビット値とし、これを符号配列生成部15に出力する(ステップ105)。
【0051】
その後、符号配列生成部15は、識別符号生成部12から受け取った識別符号を構成するパターン値に対して、擬似乱数符号生成部18から受け取ったビット値を重畳する(ステップ106)。例えば、ビット値が「0」であれば、第1組に属する符号パターンのパターン値を取得し、ビット値が「1」であれば、第2組に属する符号パターンのパターン値を取得する。そして、同期パターンのパターン値と、ステップ106で得られたパターン値と、X座標符号生成部13から受け取ったX座標符号を構成するパターン値と、Y座標符号生成部14から受け取ったY座標符号を構成するパターン値とを、図5に示したレイアウトに従って配置する(ステップ107)。
【0052】
そして、最後に、符号画像生成部17が、符号配列生成部15が生成した符号配列における各パターン値に対応する符号パターンをパターン画像記憶部16から読み出して配置することにより、符号画像を生成する(ステップ108)。
【0053】
次に、紙面に形成された符号画像を読み取って処理する画像処理装置20について説明する。
図13は、画像処理装置20の構成例を示したブロック図である。
図示するように、画像処理装置20は、画像読取部21と、ドット配列生成部22と、ブロック検出部23と、同期符号検出部24とを備える。また、識別符号検出部30と、識別符号復号部32と、擬似乱数符号復号部33と、X座標符号検出部40と、X座標符号復号部42と、Y座標符号検出部45と、Y座標符号復号部47と、情報出力部50とを備える。
【0054】
画像読取部21は、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を用いて、紙面に印刷された符号画像を読み取る。
ドット配列生成部22は、読み取った符号画像からドットを検出し、ドットの位置を参照して、ドット配列を生成する。尚、符号画像からのドット検出の前処理として、読み取った画像に含まれるノイズを除去するための処理も行う。ここで、ノイズには、例えば、撮像素子感度のばらつきや電子回路により発生するノイズがある。ノイズ除去の処理の種類は、撮像系の特性に合わせるべきだが、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用するとよい。また、ドットの検出は、次のように行う。即ち、まず、2値化処理によりドット画像の部分と、その他の背景画像の部分とを切り分け、2値化された個々の画像位置からドットの位置を検出する。その際、2値化された画像にノイズ成分が多数含まれる場合があるため、2値化された画像の面積や形状によりドットの判定を行うフィルタ処理を組み合わせる必要がある。その後、ドット配列の生成は、2次元の配列上で、例えば、ドットがある位置を「1」、ドットがない位置を「0」というように、画像として検出したドットをデジタルデータに置き換えることにより行う。本実施の形態では、埋め込み画像を取得する埋め込み画像取得手段の一例として、ドット配列生成部22を設けている。
【0055】
ブロック検出部23は、ドット配列上で、符号ブロック内のパターンブロックを検出する。即ち、符号ブロックと同じ大きさ及び形状のフレームで、パターンブロックと同じ大きさ及び形状のブロックを有するブロックフレームをドット配列上で適宜動かし、ブロック内のドット数が均等になる位置を正しいフレーム位置とし、各ブロック内のパターン値を格納した符号配列を生成する。
【0056】
同期符号検出部24は、ドット配列から検出された各符号パターンの種類を参照して、同期符号を検出する。また、同期符号検出部24は、検出した同期符号に基づいて、画像の回転の判定も行う。例えば、正方形の符号パターンを用いた場合、90度単位で回転している可能性がある。そこで、検出した同期符号が4種類の同期パターンのいずれに対応しているかによって、その向きを検出する。また、長方形の符号パターンを用いた場合、180度単位で回転している可能性がある。そこで、検出された同期符号が2種類の同期パターンのいずれに対応しているかによって、その向きを検出する。更に、同期符号検出部24は、このように検出された回転角度だけ符号配列を回転させて、符号配列を正しい向きに設定する。
【0057】
識別符号検出部30は、角度が補正された符号配列から、同期符号の位置を基準にして識別符号が配置されるブロックにおけるパターン値を検出し、このパターン値から擬似乱数符号のビット値を除去することにより、識別符号を検出する。また、ここで除去された擬似乱数符号も検出結果として取得する。本実施の形態では、識別情報を表す第1のビット列と擬似乱数ビット列とを取得する第1のビット列取得手段の一例として、識別符号検出部30を設けている。
識別符号復号部32は、図11を参照して説明したRS符号の符号化処理で用いたパラメータ(ブロック数等)と同じパラメータを用いて識別符号を復号し、識別情報を出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部32を設けている。
擬似乱数符号復号部33は、識別符号検出部30により検出された擬似乱数符号と、X座標符号検出部40により検出されたX座標符号と、Y座標符号検出部45により検出されたY座標符号とから、拡張符号を求める。また、この拡張符号を復号し、拡張情報を出力する。本実施の形態では、第3のビット列を生成するビット列生成手段の一例として、また、情報を取得する情報取得手段の一例として、擬似乱数符号復号部33を設けている。
【0058】
X座標符号検出部40は、角度が補正された符号配列から、同期符号の位置を基準にしてX座標符号を検出する。本実施の形態では、媒体上の位置を表す第2のビット列を取得する第2のビット列取得手段の一例として、X座標符号検出部40を設けている。
X座標符号復号部42は、検出されたX座標符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を符号ブロックのシフト量で補正した値をX座標情報として出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部32を設けている。
【0059】
Y座標符号検出部45は、角度が補正された符号配列から、同期符号の位置を基準にしてY座標符号を検出する。本実施の形態では、媒体上の位置を表す第2のビット列を取得する第2のビット列取得手段の一例として、Y座標符号検出部45を設けている。
Y座標符号復号部47は、検出されたY座標符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を符号ブロックのシフト量で補正した値をY座標情報として出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部32を設けている。
【0060】
情報出力部50は、識別符号復号部32、擬似乱数符号復号部33、X座標符号復号部42、Y座標符号復号部47からそれぞれ取得した識別情報、拡張情報、X座標情報、Y座標情報を出力する。
【0061】
次いで、この画像処理装置20の動作を説明する。尚、この動作の説明では、9C3方式の符号パターンが図5のレイアウトで配置されていることを前提とする。
まず、画像読取部21が、符号画像が印刷された媒体から、所定の大きさの領域の符号画像を読み取る。
次に、ドット配列生成部22が、ドットを検出した位置に「1」を、ドットを検出しなかった位置に「0」を設定したドット配列を生成する。
その後、ブロック検出部23が、このドット配列にブロックフレームを重ねて、全てのパターンブロック内のドットの数が「3」となるブロックフレームの位置を探索することで、パターンブロックの境界を検出する。本実施の形態において、符号ブロックは、パターンブロックが5個×5個で配置されたものとしている。従って、ブロックフレームとしても、5ブロック×5ブロックの大きさのものを用いる。
【0062】
ここで、ブロック検出部23の動作について説明する。
図14は、ブロック検出部23の動作例を示したフローチャートである。
まず、ブロック検出部23は、ドット配列生成部22からドット配列を取得する(ステップ201)。このドット配列の大きさは、(復号に必要なブロック数×ブロックの一辺のドット数+ブロックの一辺のドット数−1)2である。本実施の形態では、復号に必要なブロック数は5×5であり、ブロックの一辺のドット数が3であるので、17×17のドット配列を取得する。
【0063】
次に、取得したドット配列に、ブロックフレームを重ね合わせる(ステップ202)。そして、カウンタI、Jに「0」を代入し、MaxBNにも「0」を代入する(ステップ203)。ここで、I、Jは、ブロックフレームを初期位置から移動させたステップ数をカウントするものである。画像の1ラインごとにブロックフレームを移動させ、そのとき移動させたライン数をカウンタI、Jでカウントする。また、MaxBNは、ブロック内で検出されるドット数が「3」となるブロック数をブロックフレームを移動させながらカウントしていったときに、最大となるカウント値を記録するものである。
【0064】
次に、ブロック検出部23は、ブロックフレームをX方向にI、Y方向にJ移動させる(ステップ204)。初期状態においてI、Jは「0」であるので、ブロックフレームは移動しない。そして、ブロックフレームの各ブロックに含まれるドット数をカウントして、ドット数が「3」となるブロックの数をカウントする。カウントしたブロック数はIB[I,J]に格納する(ステップ205)。IB[I,J]のI、Jには、ブロックフレームの移動量を示すIとJの値がそれぞれ記録される。
【0065】
次に、ブロック検出部23は、IB[I,J]とMaxBNとを比較する(ステップ206)。MaxBNは初期値が「0」であるので、最初の比較では、IB[I,J]がMaxBNよりも大きくなる。この場合、MaxBNにIB[I,J]の値を代入すると共に、MXにIの値を、MYにJの値を代入する(ステップ207)。尚、IB[I,J]がMaxBN以下である場合は、MaxBN、MX、MYの値はそのままにしておく。
【0066】
その後、ブロック検出部23は、I=2であるかどうかを判定する(ステップ208)。
ここで、I=2でない場合には、Iに「1」を加算する(ステップ209)。そして、ステップ204、205の処理を繰り返し行い、IB[I,J]とMaxBNとを比較していく(ステップ206)。
IB[I,J]が前回までのIB[I,J]の最大値であるMaxBNよりも大きいと、MaxBNにIB[I,J]の値を代入し、そのときのIの値をMXに、Jの値をMYに代入する(ステップ207)。また、MaxBNのほうがIB[I,J]よりも大きい場合には、I=2であるかどうかを判定する(ステップ208)。I=2となると、次にJ=2であるかどうかを判定する(ステップ210)。J=2でない場合には、Iに「0」を代入し、Jに「1」を加算する(ステップ211)。このような手順を繰り返し行い、(I,J)が(0,0)から(2,2)までで、IB[I,J]が最大のものを検出する。
【0067】
I=2、J=2までの処理が終了すると、ブロック検出部23は、保存しているMaxBNと閾値TBとを比較する(ステップ212)。閾値TBは、ドット数が「3」のブロックの数が復号可能な程度のものかを判定するための閾値である。
ここで、MaxBNが閾値TBよりも大きい場合には、ブロックフレームをMX、MYの位置に固定し、その位置で各ブロックのパターン値を検出する。そして、検出したパターン値を、各ブロックを識別する変数X、Yと共に符号配列PA[X,Y]としてメモリに記録する(ステップ213)。尚、このとき、対応するパターン値に変換することができなければ、パターン値として用いられていない「−1」を記録する。そして、ブロック検出部23は、MX、MYと、符号配列PA[X,Y]とを同期符号検出部24に出力する(ステップ214)。
一方、MaxBNが閾値TB以下である場合には、画像のノイズが大きく復号は不可能と判定し、復号不能を出力する(ステップ215)。
【0068】
次に、同期符号検出部24の動作について説明する。
図15は、同期符号検出部24の動作例を示したフローチャートである。
まず、同期符号検出部24は、ブロック検出部23からMX、MYと、符号配列PA[X,Y]とを取得する(ステップ251)。
次に、同期符号検出部24は、K、Lに「1」を代入する(ステップ252)。尚、KはX方向のブロック数を示すカウンタであり、LはY方向のブロック数を示すカウンタである。
【0069】
次に、同期符号検出部24は、PA[K,L]のパターン値が「64」かどうかを判定する(ステップ253)。
PA[K,L]のパターン値が「64」であれば、符号配列PA[X,Y]の回転は必要ないと判定し、同期符号のあるブロックのX座標SXにKを代入し、Y座標SYにLを代入する。また、ブロックフレームのX方向への移動量ShiftXにMXを代入し、Y方向への移動量ShiftYにMYを代入する(ステップ254)。
【0070】
次に、同期符号検出部24は、PA[K,L]のパターン値が「65」かどうかを判定する(ステップ255)。
PA[K,L]のパターン値が「65」であれば、符号配列PA[X,Y]を左方向に90度回転させる(ステップ256)。図4(b)に示すようにパターン値「65」の符号パターンは、パターン値「64」の符号パターンを右方向に90度回転させた画像であるので、逆方向に90度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、左方向に90度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXにLを代入し、Y座標SYに6−Kを代入する。また、ブロックフレームのX方向への移動量ShiftXにMYを代入し、Y方向への移動量ShiftYに2−MXを代入する(ステップ257)。
【0071】
次に、同期符号検出部24は、PA[K,L]のパターン値が「66」かどうかを判定する(ステップ258)。
PA[K,L]のパターン値が「66」であれば、符号配列PA[X,Y]を左方向に180度回転させる(ステップ259)。図4(b)に示すようにパターン値「66」の符号パターンは、パターン値「64」の符号パターンを180度回転させた画像であるので、パターン値「66」の符号パターンを180度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、180度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXに6−Kを代入し、Y座標SYに6−Lを代入する。また、ブロックフレームのX方向への移動量ShiftXに2−MXを代入し、Y方向への移動量ShiftYに2−MYを代入する(ステップ260)。
【0072】
次に、同期符号検出部24は、PA[K,L]のパターン値が「67」かどうかを判定する(ステップ261)。
PA[K,L]のパターン値が「67」であれば、符号配列PA[X,Y]を左方向に270度回転させる(ステップ262)。図4(b)に示すようにパターン値「67」の符号パターンは、パターン値「64」の符号パターンを右に270度回転させた画像であるので、逆方向に270度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、左方向に270度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXに6−Lを代入し、Y座標SYにKを代入する。また、ブロックフレームのX方向への移動量ShiftXに2−MYを代入し、Y方向への移動量ShiftYにMXを代入する(ステップ263)。
【0073】
そして、ステップ254、257、260、263で、SX、SY、ShiftX、ShiftYに値が代入された場合、同期符号検出部24は、PA[X,Y]とこれらの値を識別符号検出部30、X座標符号検出部40、Y座標符号検出部45に出力する(ステップ264)。
また、PA[K,L]がパターン値「64」〜「67」のいずれでもなければ、同期符号検出部24は、K=5であるかどうかを判定する(ステップ265)。K=5でない場合には、Kに「1」を加算し(ステップ266)、ステップ253に戻る。K=5であれば、L=5であるかどうかを判定する(ステップ267)。L=5でない場合には、Kに「1」を代入し、Lに「1」を加算し(ステップ268)、ステップ253に戻る。即ち、ステップ253〜264の処理を、パターン値「64」〜「67」のブロックを検出するまでK、Lの値を変更しながら繰り返し行う。また、K=5、L=5になっても、パターン値「64」〜「67」のブロックを検出することができなかった場合には、復号不能の判定信号を出力する(ステップ269)。
【0074】
次に、X座標符号検出部40及びX座標符号復号部42の動作について説明する。
図16は、X座標符号検出部40及びX座標符号復号部42の動作例を示したフローチャートである。
まず、X座標符号検出部40は、同期符号検出部24から符号配列PA[X,Y]、SX、SY、ShiftX、ShiftYを取得する(ステップ401)。
次に、X座標符号検出部40は、X座標符号配列XA[X]の全ての要素を「−1」で初期化する(ステップ402)。尚、この「−1」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタIX、IYに「1」を代入する。ここで、IXは、X方向のブロック数を示すカウンタであり、IYは、Y方向のブロック数を示すカウンタである。更に、X座標符号検出部40は、X座標符号配列における各要素を識別するためのカウンタKXにも「1」を代入する(ステップ403)。
【0075】
また、X座標符号検出部40は、IY−SYが「5」で割り切れるかどうかを判定する(ステップ404)。即ち、IYで特定される行に同期符号が配置されているかどうかを判定する。
ここで、IY−SYが「5」で割り切れなかった場合、つまり、この行に同期符号が配置されていない場合は、X座標符号を取り出す対象ではないため、IYに「1」を加算し(ステップ405)、ステップ404へ進む。
一方、IY−SYが「5」で割り切れた場合、つまり、この行に同期符号が配置されている場合、X座標符号検出部40は、IX−SXが「5」で割り切れるかどうかを判定する(ステップ406)。即ち、IXで特定される列に同期符号が配置されているかどうかを判定する。
【0076】
ここで、IX−SXが「5」で割り切れた場合、つまり、この列に同期符号が配置されている場合は、X座標符号を取り出す対象ではないため、IXに「1」を加算し(ステップ407)、ステップ406へ進む。
一方、IX−SXが「5」で割り切れなかった場合、つまり、この列に同期符号が配置されていない場合、X座標符号検出部40は、XA[KX]に、PA[IX,IY]を「16」で割った余りを代入する(ステップ408)。また、拡張情報を表すXB[KX]に、PA[IX,IY]を「32」で割った商を代入する(ステップ409)。
【0077】
そして、IX=5であるかどうかを判定する(ステップ410)。
ここで、IX=5でない場合には、KXに「1」を加算し(ステップ411)、IXに「1」を加算して(ステップ407)、ステップ406〜409の処理をIX=5となるまで繰り返し行う。また、IX=5となると、X座標符号復号部42の処理に移る。
【0078】
即ち、X座標符号復号部42は、XA[X]を復号できるかどうかを判定する(ステップ412)。
ここで、XA[X]を復号できると判定すると、X座標符号復号部42は、XA[X]とShiftXからX座標情報を復号する(ステップ413)。また、XA[X]が復号できないと判定された場合は、X座標情報にN/Aを代入する(ステップ414)。
【0079】
尚、ここでは、X座標符号検出部40及びX座標符号復号部42の動作のみ説明したが、Y座標符号検出部45及びY座標符号復号部47も同様の動作を行う。即ち、符号配列PA[X,Y]からY座標符号配列YA[Y]を求め、これを復号する。
【0080】
次に、識別符号検出部30、識別符号復号部32、擬似乱数符号復号部33の動作について説明する。
図17は、識別符号検出部30、識別符号復号部32、擬似乱数符号復号部33の動作例を示したフローチャートである。
まず、識別符号検出部30は、同期符号検出部24から符号配列PA[X,Y]、SX、SYを取得する(ステップ301)。
次に、識別符号検出部30は、識別符号配列IA[X,Y]の全ての要素を「−1」で初期化する(ステップ302)。尚、この「−1」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタIX、IYに「1」を代入する(ステップ303)。ここで、IXは、X方向のブロック数を示すカウンタであり、IYは、Y方向のブロック数を示すカウンタである。
【0081】
また、識別符号検出部30は、IY−SYが「5」で割り切れるかどうかを判定する(ステップ304)。即ち、IYで特定される行に同期符号が配置されているかどうかを判定する。
ここで、IY−SYが「5」で割り切れた場合、つまり、この行に同期符号が配置されている場合は、識別符号を取り出す対象ではないため、IYに「1」を加算し(ステップ305)、ステップ304へ進む。
一方、IY−SYが「5」で割り切れなかった場合、つまり、この行に同期符号が配置されていない場合は、IX−SXが「5」で割り切れるかどうかを判定する(ステップ306)。即ち、IXで特定される列に同期符号が配置されているかどうかを判定する。
【0082】
ここで、IX−SXが「5」で割り切れた場合、つまり、この列に同期符号が配置されている場合は、識別符号を取り出す対象ではないため、IXに「1」を加算し(ステップ307)、ステップ306へ進む。
一方、IX−SXが「5」で割り切れなかった場合、つまり、この列に同期符号が配置されていない場合、識別符号検出部30は、IA[(IX−SX)mod5,(IY−SY)mod5]に、PA[IX,IY]を「32」で割った余りを代入する(ステップ308)。また、IB[(IX−SX)mod5,(IY−SY)mod5]に、PA[IX,IY]を「32」で割った商を代入する(ステップ309)。
【0083】
そして、IX=5であるかどうかを判定する(ステップ310)。
ここで、IX=5でない場合には、IXに「1」を加算して(ステップ307)、ステップ306〜309の処理をIX=5となるまで繰り返し行う。また、IX=5となると、次に、IY=5であるかどうかを判定する(ステップ311)。IY=5でない場合には、IXに「1」を代入し(ステップ312)、IYに「1」を加算して(ステップ305)、ステップ304〜310の処理をIY=5となるまで繰り返し行う。また、IY=5となると、識別符号復号部32及び擬似乱数符号復号部33の処理に移る。
【0084】
即ち、識別符号復号部32は、IA[X,Y]を復号できるかどうかを判定する(ステップ313)。
ここで、IA[X,Y]を復号できると判定すると、識別符号復号部32は、IA[X,Y]から識別情報を得る(ステップ314)。そして、IA[X,Y]を復号できる旨を擬似乱数符号復号部33に伝え、これにより、擬似乱数符号復号部33が、IB[X,Y]からXA[X]及びYA[Y]を減算し、その結果を「2」で割ることにより、拡張情報を得る(ステップ315)。
一方、IA[X,Y]を復号できないと判定すると、識別符号復号部32は、識別情報にN/Aを代入する(ステップ316)。そして、IA[X,Y]を復号できない旨を擬似乱数符号復号部33に伝え、これにより、擬似乱数符号復号部33が、拡張情報にN/Aを代入する(ステップ317)。
以上により、本実施の形態における画像処理装置20の動作説明を終了する。
【0085】
尚、上記の説明では、M系列を用いてX座標情報及びY座標情報を表現することでこれらの情報が擬似乱数性を有することとしたが、M系列以外の公知の擬似乱数生成方法を用いてX座標情報及びY座標情報を表現するようにしてもよい。
また、ここでは、識別情報に重畳する拡張情報に対し、その拡張情報が埋め込まれる位置のX座標情報及びY座標情報を用いて擬似乱数性を与えるようにした。しかしながら、拡張情報が埋め込まれる位置を表す情報であれば、X座標情報及びY座標情報の何れか一方の情報や、X座標情報及びY座標情報以外の情報を採用してもよい。
【0086】
次に、本実施の形態における画像生成装置10及び画像処理装置20の具体的なハードウェア構成について説明する。
まず、画像処理装置20を実現するペンデバイス60について説明する。
図18は、ペンデバイス60の機構を示した図である。
図示するように、ペンデバイス60は、ペン全体の動作を制御する制御回路61を備える。また、制御回路61は、入力画像から検出した符号画像を処理する画像処理部61aと、そこでの処理結果から識別情報及び座標情報を抽出するデータ処理部61bとを含む。
そして、制御回路61には、ペンデバイス60による筆記動作をペンチップ69に加わる圧力によって検出する圧力センサ62が接続されている。また、媒体上に赤外光を照射する赤外LED63と、画像を入力する赤外CMOS64も接続されている。更に、識別情報及び座標情報を記憶するための情報メモリ65と、外部装置と通信するための通信回路66と、ペンを駆動するためのバッテリ67と、ペンの識別情報(ペンID)を記憶するペンIDメモリ68も接続されている。
【0087】
尚、図13に示した画像読取部21は、例えば、図18の赤外CMOS64にて実現される。また、ドット配列生成部22は、例えば、図18の画像処理部61aにて実現される。更に、図13に示したブロック検出部23、同期符号検出部24、識別符号検出部30、識別符号復号部32、擬似乱数符号復号部33、X座標符号検出部40、X座標符号復号部42、Y座標符号検出部45、Y座標符号復号部47、情報出力部50は、例えば、図18のデータ処理部61bにて実現される。
【0088】
また、画像生成装置10にて実現される処理、及び、図18の画像処理部61a又はデータ処理部61bにて実現される処理は、例えば、汎用のコンピュータで実現してもよい。そこで、かかる処理をコンピュータ90で実現するものとし、コンピュータ90のハードウェア構成について説明する。
図19は、コンピュータ90のハードウェア構成を示した図である。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
【0089】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
【図面の簡単な説明】
【0090】
【図1】9C2方式及び9C3方式における符号パターンの一例を示した図である。
【図2】9C2方式における全符号パターンの一例を示した図である。
【図3】9C3方式における全符号パターンの一例を示した図である。
【図4】9C2方式及び9C3方式における同期パターンの例を示した図である。
【図5】符号ブロックの基本的なレイアウトの例を示した図である。
【図6】符号ブロックの広範囲のレイアウトの例を示した図である。
【図7】本実施の形態におけるパターン値の演算を符号ブロックの基本的なレイアウト上で説明するための図である。
【図8】本実施の形態におけるパターン値の演算を符号ブロックの広範囲のレイアウト上で説明するための図である。
【図9】本実施の形態におけるパターン値の演算を符号ブロックの広範囲のレイアウト上で説明するための図である。
【図10】本実施の形態で表現可能な情報の種類及びビット値を示した図である。
【図11】本実施の形態における画像生成装置の機能構成例を示したブロック図である。
【図12】本実施の形態における画像生成装置の動作例を示したフローチャートである。
【図13】本実施の形態における画像処理装置の機能構成例を示したブロック図である。
【図14】本実施の形態におけるブロック検出部の動作例を示したフローチャートである。
【図15】本実施の形態における同期符号検出部の動作例を示したフローチャートである。
【図16】本実施の形態におけるX座標符号検出部等の動作例を示したフローチャートである。
【図17】本実施の形態における識別符号検出部等の動作例を示したフローチャートである。
【図18】本実施の形態における画像処理装置を実現可能なペンデバイスの機構を示した図である。
【図19】本実施の形態を適用可能なコンピュータのハードウェア構成図である。
【符号の説明】
【0091】
10…画像生成装置、11…情報取得部、12…識別符号生成部、13…X座標符号生成部、14…Y座標符号生成部、15…符号配列生成部、16…パターン画像記憶部、17…符号画像生成部、18…擬似乱数符号生成部、20…画像処理装置、21…画像読取部、22…ドット配列生成部、23…ブロック検出部、24…同期符号検出部、30…識別符号検出部、32…識別符号復号部、33…擬似乱数符号復号部、40…X座標符号検出部、42…X座標符号復号部、45…Y座標符号検出部、47…Y座標符号復号部、50…情報出力部
【技術分野】
【0001】
本発明は、画像生成装置、画像処理装置、プログラム、印刷媒体に関する。
【背景技術】
【0002】
表面上の複数の位置を符号化する位置コードを提供する方法は知られている(例えば、特許文献1参照)。この特許文献1では、循環数字列を表面に沿って複数回印刷する。その際、循環数字列の異なるローテーションを、隣り合う数字列間で所定のずれが起こるように使用し、表面を分割した複数のコードウィンドウが、少なくとも3つの循環数字列を備えると共に、隣り合うコードウィンドウの1つの数字列と重なり合う1つの数字列を有するものであり、また、コードウィンドウの位置を、そのコードウィンドウに属している循環数字列間のずれによって符号化している。
【0003】
論理的に順位付けられたデジタル量子の機械読取り可能なエンコーディングを記録した記録媒体からのエンコーディングの空間的に非同期的な読取りを可能にする技術も知られている(例えば、特許文献2参照)。この特許文献2では、本質的に同一であるエンコーディングの多数のコピーを形成し、機械認識可能な空間同期指標をエンコーディングのコピーの各々の中のプリント位置に組み合わせて、エンコーディングの空間的に同期可能な多数の事例を提供し、それらの事例をレイアウト規則に従って記録媒体における空間的に周期的な中心の格子に書き込んでいる。
【0004】
取り込まれた画像の位置をより大きい画像から決定するためのシステム及び方法も知られている(例えば、特許文献3参照)。この特許文献3では、非反復的な系列を、所定のサイズのサブウィンドウ毎に固有とされた非反復的な配列に折り畳み、その取り込まれた位置を非反復的な配列内のサブウィンドウ毎に決定することによって、取り込まれた画像の位置を、より大きいサブウィンドウの画像から決定している。
【0005】
光学的に読み取り可能に記録されるマルチメディア情報の長時間記録及び繰り返し再生を可能とする技術も知られている(例えば、特許文献4参照)。この特許文献4において、記録装置は、プリンタシステムや印刷用製版システムにより、オーディオ情報、映像情報、ディジタルコードデータ等を含めた所謂マルチメディア情報を光学的に読み取り可能なドットコードとして、画像や文字と一緒に紙等の媒体上に記録する。ペン型の情報再生装置は、ドットコードの手動走査に応じてそのドットコードを順次取り込んで、元のオーディオ情報を音声出力器にて、元の映像情報を表示装置にて、元のディジタルコードデータをページプリンタ等にて出力する。
【0006】
タブレットを使用せずに、媒体上の座標を精緻に検出できるようにする技術も知られている(例えば、特許文献5参照)。この特許文献5において、ペン型の座標入力装置は、媒体上に形成されその媒体上の座標を示すコードシンボルを光学的に読み取り、この読み取ったコードシンボルをデコードし、読み取った画像中におけるコードシンボルの位置、向き及び歪み量を検出する。そして、デコード後の情報と、コードシンボルの位置、向き及び歪み量とにより、先端部の媒体上での位置の座標を検出する。
【0007】
また、背景画像として埋め込んだ符号パターンの濃度むらの発生を防止する技術も知られている(例えば、特許文献6参照)。この特許文献6では、用紙上に繰り返し形成される画像識別情報を符号化したパターンを、画像識別情報を符号化して得られる第1パターン値に、座標値を符号化して得られるパターン値を加算した値を基に得られる第2パターン値を表すパターンとすることにより、濃度むらの発生を低減させている。
【0008】
【特許文献1】特表2003−511762号公報
【特許文献2】特開平9−185669号公報
【特許文献3】特開2004−152273号公報
【特許文献4】特開平6−231466号公報
【特許文献5】特開2000−293303号公報
【特許文献6】特開2007−226678号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
ここで、一般に、識別情報を表すパターン画像による濃度むらを低減しようとすると、識別情報の復号率が低下する場合があった。
本発明の目的は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることにある。
【課題を解決するための手段】
【0010】
請求項1に記載の発明は、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列を取得する第1のビット列取得手段と、前記媒体上の位置を表し、擬似乱数性を有する第2のビット列を取得する第2のビット列取得手段と、所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成するビット列生成手段と、前記第1のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第1のパターン画像と、前記第2のビット列に対応する第2のパターン画像とを配置した埋め込み画像を生成する埋め込み画像生成手段とを備えたことを特徴とする画像生成装置である。
請求項2に記載の発明は、前記識別情報に重畳する特定の情報を取得する情報取得手段を更に備え、前記ビット列生成手段は、前記擬似乱数ビット列の生成に先立ち、前記特定の情報に基づいて前記第3のビット列を生成することを特徴とする請求項1記載の画像生成装置である。
請求項3に記載の発明は、前記ビット列生成手段は、前記第3のビット列を構成するビットが示す数値に、当該ビットが埋め込まれる位置を表す前記第2のビット列の部分列が示す数値を加算し、その結果を所定値で割った余りを、前記擬似乱数ビット列を構成するビットが示す数値とすることを特徴とする請求項1記載の画像生成装置である。
請求項4に記載の発明は、前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するビットが示す数値に所定値を乗じて得られた数値を、前記第1のビット列の部分列が示す数値に加算することにより、当該第1のビット列に当該擬似乱数ビット列を重畳することを特徴とする請求項1記載の画像生成装置である。
請求項5に記載の発明は、前記第1のパターン画像及び前記第2のパターン画像は、p個のパターン画像が属する2q個の組の何れかに属し(p≧2,q≧1)、前記ビット列生成手段は、前記第3のビット列を構成するqビットが示す数値に、当該qビットが埋め込まれる位置を表す前記第2のビット列の部分列が示す数値を加算し、その結果を2qで割った余りを、前記擬似乱数ビット列を構成するビットが示す値とし、前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するqビットが示す値にpを乗じて得られた数値を、前記第1のビット列の部分列が示す数値に加算することを特徴とする請求項1記載の画像生成装置である。
請求項6に記載の発明は、媒体に印刷された埋め込み画像を取得する埋め込み画像取得手段と、前記埋め込み画像に配置された第1のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第1のビット列と当該擬似乱数ビット列とを取得する第1のビット列取得手段と、前記埋め込み画像に配置された第2のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第2のビット列を取得する第2のビット列取得手段と、前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第2のビット列を用いて擬似乱数性を除去することにより、第3のビット列を生成するビット列生成手段と、前記第1のビット列と前記第2のビット列と前記第3のビット列とに基づいて、前記識別情報と、前記媒体上の位置を特定する情報と、これらの情報以外の特定の情報とを取得する情報取得手段とを備えたことを特徴とする画像処理装置である。
請求項7に記載の発明は、前記第1のビット列取得手段は、前記第1のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値を所定値で割った余りを、当該第1のビット列の部分列が示す数値とすることを特徴とする請求項6記載の画像処理装置である。
請求項8に記載の発明は、前記ビット列生成手段は、前記擬似乱数ビット列を構成するビットが示す数値から、当該ビットが埋め込まれた位置を表す前記第2のビット列の部分列が示す数値を減算し、その結果を所定値で割った余りを、前記第3のビット列を構成するビットが示す数値とすることを特徴とする請求項6記載の画像処理装置である。
請求項9に記載の発明は、前記第1のパターン画像及び前記第2のパターン画像は、p個のパターン画像が属する2q個の組の何れかに属し(p≧2,q≧1)、前記第1のビット列取得手段は、前記第1のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値をpで割った余りを、当該第1のビット列の部分列が示す数値とし、前記ビット列生成手段は、前記擬似乱数ビット列を構成するqビットが示す数値から、当該qビットが埋め込まれた位置を表す前記第2のビット列の部分列が示す数値を減算し、その結果を2qで割った余りを、前記第3のビット列を構成するqビットが示す数値とすることを特徴とする請求項6記載の画像処理装置である。
請求項10に記載の発明は、コンピュータに、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列を取得する機能と、前記媒体上の位置を表し、擬似乱数性を有する第2のビット列を取得する機能と、所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成する機能と、前記第1のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第1のパターン画像と、前記第2のビット列に対応する第2のパターン画像とを配置した埋め込み画像を生成する機能とを実現させるためのプログラムである。
請求項11に記載の発明は、コンピュータに、媒体に印刷された埋め込み画像を取得する機能と、前記埋め込み画像に配置された第1のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第1のビット列と当該擬似乱数ビット列とを取得する機能と、前記埋め込み画像に配置された第2のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第2のビット列を取得する機能と、前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第2のビット列を用いて擬似乱数性を除去することにより、第3のビット列を生成する機能と、前記第1のビット列と前記第2のビット列と前記第3のビット列とを出力する機能とを実現させるためのプログラムである。
請求項12に記載の発明は、媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られたビット列に対応するパターン画像が印刷された第1の領域と、前記媒体上の位置を表し、擬似乱数性を有する第2のビット列に対応するパターン画像が印刷された第2の領域とを含み、前記擬似乱数ビット列は、所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより生成されたビット列であることを特徴とする印刷媒体である。
【発明の効果】
【0011】
請求項1の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項2の発明は、識別情報の復号率に影響を与えずに濃度むらを低減させるためのビット列を用いて、特定の情報を表すことができるという効果を有する。
請求項3の発明は、本構成を有していない場合に比較して、濃度むらを低減させるためのビット列から特定の情報を容易に取り出すことができるという効果を有する。
請求項4の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像に対応するビット列から識別情報を容易に取り出すことができるという効果を有する。
請求項5の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像から識別情報及び特定の情報を容易に取り出せるようにするために、パターン画像を効率的に利用することができるという効果を有する。
請求項6の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項7の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像に対応するビット列から識別情報を容易に取り出すことができるという効果を有する。
請求項8の発明は、本構成を有していない場合に比較して、濃度むらを低減させるためのビット列から特定の情報を容易に取り出すことができるという効果を有する。
請求項9の発明は、本構成を有していない場合に比較して、濃度むらが低減されたパターン画像から識別情報及び特定の情報を容易に取り出せるようにするために、パターン画像を効率的に利用することができるという効果を有する。
請求項10の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項11の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
請求項12の発明は、識別情報の復号率に影響を与えることなく、識別情報を表すパターン画像による濃度むらを低減させることができるという効果を有する。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
まず、本実施の形態で利用する符号化方式について説明する。
本実施の形態における符号化方式では、m(m≧3)箇所から選択したn(1≦n<m)箇所に単位画像を配置してなるパターン画像(以下、「符号パターン」という)によってmCn(=m!/{(m−n)!×n!})通りの情報を表現する。つまり、1つの単位画像を情報に対応させるのではなく、複数の単位画像を情報に対応させている。仮に1つの単位画像を情報に対応させたとすると、単位画像が欠損したり、ノイズが加わったりした場合に、誤った情報を表現してしまうという欠点がある。これに対して、例えば2つの単位画像を情報に対応させたとすると、単位画像が1つであったり3つであったりした場合に、容易に誤りであることが分かる。更に、1つの単位画像で1ビット、又は、高々2ビットを表現する方法では、情報を表現するための情報パターンと視覚的に似たパターンで、情報パターンの読出しを制御する同期パターンを表現することができない。このようなことから、本実施の形態では、上記のような符号化方式を採用している。以下では、このような符号化方式をmCn方式と称する。
ここで、単位画像としては、如何なる形状のものを用いてもよい。本実施の形態では、単位画像の一例としてドット画像(以下、単に「ドット」という)を用いるが、例えば、斜線パターン等、他の形状の画像であってもよい。
【0013】
図1に、mCn方式における符号パターンの例を示す。
図では、黒色の領域と斜線の領域をドット配置可能な領域とし、その間にある白色の領域をドット配置不可能な領域としている。そして、ドット配置可能な領域のうち、黒色の領域にドットが配置され、斜線の領域にはドットが配置されていないことを示している。即ち、図1は、縦3×横3の合計9個のドット配置可能な領域を設けた例を示しており、このうち、(a)は、9個のドット配置可能な領域に2ドットを配置する9C2方式における符号パターンの一例を、(b)は、9個のドット配置可能な領域に3ドットを配置する9C3方式における符号パターンの一例を示している。
【0014】
但し、図1で配置されるドット(黒色の領域)は、あくまで情報表現のためのドットであり、画像を構成する最小単位であるドット(図1の最小の四角)とは一致していない。本実施の形態において、「ドット」というときは前者のドットを指し、後者のドットは「ピクセル」と呼ぶことにすれば、ドットは、600dpiにおける2ピクセル×2ピクセルの大きさを有することになる。600dpiにおける1ピクセルの一辺の長さは0.0423mmなので、1ドットの一辺の長さは、84.6μm(=0.0423mm×2)となる。ドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、50μmより大きく100μmより小さい上記の値を採用している。但し、上記の値84.6μmは、あくまで計算上の数値であり、実際に印刷されたトナー像では100μm程度になる。
【0015】
次いで、図2に、9C2方式における全符号パターンの例を示す。尚、ここでは、ドット間の空白は省略している。図示するように、9C2方式では、36(=9C2)通りの符号パターンが利用される。また、全符号パターンに対して、各符号パターンを一意に識別するための番号であるパターン値が付される。図では、各符号パターンに対するこのパターン値の割り当ての例も示している。但し、図に示した対応はあくまで一例であり、どの符号パターンにどのパターン値を割り当ててもよい。
【0016】
また、図3に、9C3方式における全符号パターンの例を示す。尚、ここでも、ドット間の空白は省略している。図示するように、9C3方式では、84(=9C3)通りの符号パターンが利用される。また、この場合も、全符号パターンに対して、各符号パターンを一意に識別するための番号であるパターン値が付される。図では、各符号パターンに対するこのパターン値の割り当ての例も示している。但し、この場合も、図に示した対応はあくまで一例であり、どの符号パターンにどのパターン値を割り当ててもよい。
【0017】
尚、ここでは、符号パターンが配置される領域(以下、「パターンブロック」という)の大きさを、3ドット×3ドットを配置可能な大きさとした。しかしながら、パターンブロックの大きさはこれに限るものではない。つまり、2ドット×2ドット、4ドット×4ドット等を配置可能な大きさであってもよい。
また、パターンブロックの形状として、正方形でなく、例えば3ドット×4ドットを配置する場合のように長方形を採用してもよい。尚、本明細書において、長方形とは、隣り合う2辺の長さが等しくない矩形、つまり、正方形以外の矩形のことをいうものとする。
更に、任意に決めた数のドット配置可能な領域のうち、幾つの領域にドットを配置するかも、表現したい情報の量と許容できる画像濃度とを考慮して、適宜決めるとよい。
【0018】
このように、本実施の形態では、m箇所からn箇所を選択することでmCn種類の符号パターンを用意している。そして、これらの符号パターンのうち、特定のパターンを情報パターンとして利用し、残りを同期パターンとして利用する。ここで、情報パターンとは、媒体に埋め込む情報を表現するパターンである。また、同期パターンとは、媒体に埋め込まれた情報パターンを取り出すために用いられるパターンである。例えば、情報パターンの位置を特定したり、画像の回転を検出したりするために用いられる。尚、媒体としては、画像を印刷することが可能であれば、如何なるものを用いてもよい。紙が代表例なので、以下では媒体を紙として説明するが、金属、プラスチック、繊維等であってもよい。
【0019】
ここで、図2又は図3に示した符号パターンのうちの同期パターンについて説明する。尚、これらの符号パターンを利用する場合、パターンブロックの形状は正方形となるため、画像の回転を90度単位で認識する必要がある。従って、4種類の符号パターンで1組の同期パターンが構成される。
図4(a)は、9C2方式における同期パターンの例である。ここでは、36種類の符号パターンのうち、32種類の符号パターンを5ビットの情報を表現する情報パターンとし、残りの4種類の符号パターンで1組の同期パターンを構成するものとする。例えば、パターン値「32」の符号パターンを正立した同期パターン、パターン値「33」の符号パターンを右に90度回転した同期パターン、パターン値「34」の符号パターンを右に180度回転した同期パターン、パターン値「35」の符号パターンを右に270度回転した同期パターンとしている。但し、36種類の符号パターンの情報パターンと同期パターンへの振り分け方は、これには限らない。例えば、16種類の符号パターンを4ビットの情報を表現する情報パターンとし、残りの20種類の符号パターンで5組の同期パターンを構成してもよい。
【0020】
また、図4(b)は、9C3方式における同期パターンの例である。ここでは、84種類の符号パターンのうち、64種類の符号パターンを6ビットの情報を表現する情報パターンとし、残りの20種類の符号パターンで5組の同期パターンを構成するものとする。図は、この5組の同期パターンのうちの2組を示す。例えば、第1組においては、パターン値「64」の符号パターンを正立した同期パターン、パターン値「65」の符号パターンを右に90度回転した同期パターン、パターン値「66」の符号パターンを右に180度回転した同期パターン、パターン値「67」の符号パターンを右に270度回転した同期パターンとしている。また、第2組においては、パターン値「68」の符号パターンを正立した同期パターン、パターン値「69」の符号パターンを右に90度回転した同期パターン、パターン値「70」の符号パターンを右に180度回転した同期パターン、パターン値「71」の符号パターンを右に270度回転した同期パターンとしている。
【0021】
尚、図示しないが、パターンブロックの形状が長方形である場合は、画像の回転の検出のために2種類の符号パターンを同期パターンとして用意すればよい。例えば、縦3ドット×横4ドットを配置可能な領域が検出されるべきなのに、縦4ドット×横3ドットを配置可能な領域が検出された場合は、その時点で画像が90度又は270度回転していることが分かるからである。
【0022】
次に、同期パターンと情報パターンを配置してなる情報表現の最小単位(以下、「符号ブロック」という)について説明する。
図5は、符号ブロックのレイアウトの一例を示したものである。
図中、(a)及び(b)のそれぞれの右側に、符号ブロックのレイアウトを示している。ここでは、レイアウトとして、パターンブロックを5個×5個の25個並べたものを採用している。この25個のパターンブロックのうち、左上の1ブロックに同期パターンを配置している。また、同期パターンの右の4ブロックに紙面上の横方向の座標を特定するX座標情報を表す情報パターンを配置し、同期パターンの下の4ブロックに紙面上の縦方向の座標を特定するY座標情報を表す情報パターンを配置している。更に、これらの座標情報を表す情報パターンで囲まれた16ブロックに、紙面又は紙面に印刷される文書の識別情報を表す情報パターンを配置している。
【0023】
また、(a)の左側には、9C2方式における符号パターンが各パターンブロックに配置されていることを示している。即ち、36種類の符号パターンを、例えば、4種類の同期パターンと32種類の情報パターンとに分け、各パターンをレイアウトに従って配置している。一方、(b)の左側には、9C3方式における符号パターンが各パターンブロックに配置されていることを示している。即ち、84種類の符号パターンを、例えば、20種類の同期パターンと64種類の情報パターンとに分け、各パターンをレイアウトに従って配置している。
【0024】
尚、本実施の形態において、座標情報は、紙面の縦方向及び横方向にM系列で表現される。ここで、M系列とは、その部分列が、他の部分列と一致することがない系列である。例えば、11次のM系列は、2047ビットのビット列である。そして、この2047ビットのビット列の中から取り出された11ビット以上の部分列と同じ並びは、この2047ビットのビット列の中に自身以外には存在しない。本実施の形態では、1個の符号パターンを4ビットに対応付ける。即ち、2047ビットのビット列を4ビットごとに10進数で表し、図2又は図3の割り当てに従って符号パターンを決定し、紙面の横と縦に渡って印刷する。従って、復号の際は、3つの連続する符号パターンを特定し、符号パターンと座標との対応関係を格納したテーブルを参照することにより、ビット列上の位置が特定されることになる。
【0025】
また、識別情報の符号化には、幾つかの方法の利用が考えられるが、本実施の形態では、RS符号化が適している。RS符号は多値の符号法であり、各パターンブロックに配置された符号パターンのパターン値をRS符号の多値に対応させるとよいからである。
尚、本実施の形態における符号パターンの利用形態としては、例えば、文書画像に重ねてその識別情報を紙面に印刷し、ペン状のスキャナで紙面上の部分画像を読み込み、そこから文書画像の識別情報を取得する、といったものが想定される。この場合、紙面上の汚れやスキャナの性能によって誤りが発生するが、この誤りはRS符号により訂正される。
【0026】
ここで、RS符号による訂正及びそのような訂正を行う場合に表現可能な情報量について具体的に説明する。
本実施の形態では、上述したように、1パターンブロック内のドット数が一定である符号パターンを採用している。これにより、仮に1ドットが消失した場合や、1ドットが付加された場合は、パターンブロック内のドット数が変わる。従って、これらは誤りだと分かる誤りとなる。一方で、ドットの消失と付加が同時に起こった場合は、他の符号パターンであると誤認識してしまうので、誤りだと分からない誤りとなる。
例えば、識別情報を表す情報パターンを配置する16ブロックのうち、10ブロックを識別情報そのものを表す情報パターンを配置するブロックとし、6ブロックを訂正のためのブロックとする。この場合、誤りだと分かるブロックは6ブロックまで、誤りだと分からないブロックも3ブロックまで、訂正される。これを例えば9C2方式における32種類の情報パターンで実現したとすると、1ブロックで5ビットの情報が表現されるので、識別情報そのものは10ブロックで50ビット分表現される。また例えば9C3方式における64種類の情報パターンで実現したとすると、1ブロックで6ビットの情報が表現されるので、識別情報そのものは10ブロックで60ビット分表現される。
【0027】
次いで、上記符号ブロックを含む広範囲のレイアウトについて説明する。
図6は、そのようなレイアウトの一例を示した図である。このレイアウトでは、図5の符号ブロックが基本単位として紙面全体の縦方向及び横方向に周期的に配置されている。
ここで、同期パターンとしては、同じ符号パターンが各符号ブロックにおける左上のパターンブロックに配置されている。図では、同期パターンを「S」で表している。
また、X座標情報としては、符号パターンの同じ並びが、同期パターンが配置されたのと同じ行の各パターンブロックに配置されている。Y座標情報としては、符号パターンの同じ並びが、同期パターンが配置されたのと同じ列の各パターンブロックに配置されている。図では、X座標情報を表すパターンを「X01」、「X02」、…で表し、Y座標情報を表すパターンを「Y01」、「Y02」、…で表している。
更に、識別情報としては、符号パターンの同じ配列が、縦方向及び横方向に周期的に配置されている。図では、識別情報を表すパターンを「I01」、「I02」、…、「I16」で表している。
そして、このようなレイアウトを採用することにより、例えば、図中、丸印で示した範囲が読み取られた場合のように、図5の符号ブロックの全体を含む範囲が読み取られていない場合であっても、後述する処理により、識別情報及び座標情報が得られる。
【0028】
しかしながら、このようなレイアウトを採用することにより、次の問題点が生じる。同じ配列の繰り返しにより構成されるレイアウトであるため、紙面に符号パターンを印刷した場合に、濃度むらが現れてしまうという問題点である。
このような濃度むらを低減するには、座標情報の表現に用いるM系列が持つ擬似乱数の性質を利用する方法が考えられる。
即ち、座標情報のパターン値を識別情報のパターン値に加算し、その結果を例えば「32」で割った余りを識別情報の新たなパターン値とする、という方法である。図5の符号ブロックにおける左からI列目、上からJ行目のパターンブロックに配置されたパターン値をP(I,J)として、この方法について説明する。ここでは、例えば、P(4,1)=10、P(1,3)=15、P(4,3)=26である符号ブロックを考える。つまり、この符号ブロックでは、X座標情報のパターン値の左から3つ目が「10」であり、Y座標情報のパターン値の上から2つ目が「15」であり、識別情報のパターン値の左から3つ目で上から2つ目が「26」である。この場合、(26+10+15)mod32=19により、P(4,3)=19となるので、パターン値「26」が配置されていたパターンブロックにはパターン値「19」が配置される。そして、このような処理を全ての識別情報のパターンブロックについて行うことにより、周期性が見かけ上消えることになる。
【0029】
一方、復号の際には、まず、座標情報のパターン値と、識別情報のパターンブロックに配置されたパターン値とを求める。次に、識別情報のパターンブロックに配置されたパターン値から、そのパターンブロックに対応する座標情報のパターンブロックに配置されたパターン値を減算することにより、最終的に識別情報のパターン値が得られる。
【0030】
ところが、この方法では、復号に関する説明から分かるように、識別情報のパターン値を得るために、識別情報のパターンブロックに配置されたパターン値だけでなく、座標情報のパターン値も求める必要がある。従って、識別情報の復号率を低下させてしまう虞がある。
【0031】
そこで、本実施の形態では、9C3方式における64種類の情報パターンで表現される6ビットを5ビットと1ビットとに分け、この1ビットに座標情報のパターン値を加算して擬似乱数性を与えることとする。即ち、64種類の情報パターンを、32種類の情報パターンが属する2つの組に分け、識別情報を32種類の情報パターンを用いて表現し、更に、各情報パターンとして2つの組の何れに属する情報パターンを用いるかによって1ビットの情報を表現する。これにより、座標情報の検出誤りとは独立に識別情報のパターン画像の周期性をなくす。
【0032】
具体的には、符号化時に、拡張情報を構成するビット値に対してそのビット値が配置された位置に対応する座標情報のパターン値を加算し、その結果を「2」で割った余りでビット値を置き換えることにより、擬似乱数性を有する擬似乱数情報を生成し、濃度むらを低減する。例えば、第1組における符号パターンのパターン値を「0」〜「31」、第2組における符号パターンのパターン値を「32」〜「63」とする。また、「0」と「32」、「1」と「33」のように、第1組における符号パターンのパターン値と、そのパターン値に「32」を加えた第2組における符号パターンのパターン値とを対応付けておく。そして、例えば、パターン値「0」を表すのに、パターン値「0」の符号パターンを用いるか、パターン値「32」の符号パターンを用いるかにより、1ビットを表現する。このようにすれば、復号時には、検出した符号パターンのパターン値を「32」で割った商が擬似乱数情報を構成する1ビットとなり、余りが識別情報を構成する5ビットとなる。
【0033】
以下、このような濃度むら低減方法を、具体例を用いて説明する。
図7〜図9は、本実施の形態における濃度むら低減方法について説明するための図である。
まず、図7(a)では、パターン値「5」、「13」、「10」、「3」が、X座標情報を表すパターン値の列として、パターン値「7」、「15」、「2」、「4」が、Y座標情報を表すパターン値の列として配置されている。また、X座標情報を表すパターン値とY座標情報を表すパターン値とに囲まれた領域には、識別情報を表すパターン値に拡張情報を表すビット値を重畳して得られるパターン値が配置されるが、ここでは、まず、拡張情報を表すビット値のみを示している。即ち、上の行から下の行へ、また、各行においては左から右へ各ビット値を配置するものとし、拡張情報がビット列「1101001101001011」で表わされる場合を示している。この状態で、X座標情報を表すパターン値とY座標情報を表すパターン値とをそのX座標情報及びY座標情報に対応するパターンブロックにおけるビット値に加算する。そして、その結果を「2」で割った余りを、そのパターンブロックにおける擬似乱数情報を表すビット値とする。例えば、図では、X座標情報のパターン値が「10」、Y座標情報のパターン値が「15」、これらに対応する拡張情報のビット値が「1」であるので、(1+10+15)mod2=0により、擬似乱数情報を表すビット値は「0」となる。これをビット列を構成する全てのビット値に対して行うことにより、拡張情報のビット列「1101001101001011」は、擬似乱数情報のビット列「1111000110010110」に変換される。
【0034】
その後、図7(b)では、このようにして得られた擬似乱数情報を表すビット値を、識別情報を表すパターン値に重畳する。即ち、図中、右側の符号ブロックにおける識別情報が配置されるパターンブロックには、図7(a)で得られた擬似乱数情報のビット列「1111000110010110」が示されており、このビット列を構成する各ビット値が、識別情報を表すパターン値に重畳される。具体的には、ビット値が「0」であれば、識別情報を表すパターン値を、配置する符号パターンのパターン値としてそのまま用い、ビット値が「1」であれば、識別情報を表すパターン値に「32」を加算して得られたパターン値を、配置する符号パターンのパターン値として用いる。例えば、図では、識別情報を表すパターン値が「29」であり、擬似乱数情報を表すビット値が「1」であるので、29+(1×32)=61により、パターン値「61」が、配置する符号パターンのパターン値として用いられることになる。
【0035】
次に、このような処理をより広範囲にわたって具体的に示す。
まず、図8は、図7(a)に示した処理の前後におけるパターン値の配列の一例を示している。即ち、左側の配列における識別情報のパターンブロックに配置された各ビット値に対し、そのパターンブロックに対応するX座標情報のパターン値及びY座標情報のパターン値を加算し、その結果を「2」で割った余りを、右側の配列における識別情報のパターンブロックに配置している。
【0036】
また、図9は、図7(b)に示した処理の前後におけるパターン値の配列の一例を示している。即ち、左側の配列における識別情報のパターンブロックに配置された各ビット値を、中央に示した識別情報の各パターン値に重畳することにより得られた値を、右側の配列における識別情報のパターンブロックに配置している。
【0037】
ところで、ここまでは識別情報を表すパターン配列に生ずる濃度むらの低減方法について述べたが、座標情報を表すパターン列でも問題が生ずる。座標情報に利用しているM系列は、計算機で生成することができる擬似乱数としての性質を持っている。そのため、X座標であれば、X方向には周期性がなく濃度むらは発生しない。しかしながら、直行するY方向には、同じパターン列が配置されることになるため濃度むらが発生する。これは、Y座標についても同様である。
【0038】
ここで、本実施の形態で埋め込まれる情報の種類及びビット数についてまとめておく。
図10は、情報の種類及びビット数について説明するための図である。
図示するように、本実施の形態では、同期パターンが配置される1つのパターンブロック(同期ブロック)を基準として、右側に、X座標情報に関連する情報(X座標関連情報)51が配置され、下側に、Y座標情報に関連する情報(Y座標関連情報)52が配置される。また、X座標関連情報51及びY座標関連情報52に囲まれた領域に、識別情報に関連する情報(識別関連情報)53が配置される。
【0039】
このうち、識別関連情報53には、これまで述べてきたように、各パターンブロックに1ビットずつ、合計16ビットの拡張情報が重畳される。そして、本実施の形態では、この拡張情報にM系列の擬似乱数性を与えることで、濃度むらを低減する。従って、この拡張情報を構成するビット列は、濃度むらを低減するためのビット列でもある。或いは、このビット列は、濃度むらを低減するためだけのものとし、拡張情報を表現するものとしなくてもよい。一方、拡張情報に割り当てた1ビットを除いた5ビットは、まず、識別情報を表すものとして10パターンブロックに配置される。つまり、50ビットの識別情報が埋め込まれる。そして、残りの6パターンブロックには、5ビットが訂正情報として配置される。前述したが、このように6個の訂正ブロックを設けることで、誤りだと分かる誤りは6ブロックまで訂正され、誤りだと分からない誤りも3ブロックまで訂正される。
【0040】
また、X座標関連情報51には、16ビットのX座標情報が含まれる。ところが、本実施の形態では、9C3方式における64種類の情報パターンを用いているので、1つのパターンブロックにつき、2ビットの余裕がある。そこで、これを拡張情報に割り当ててもよい。しかしながら、2ビットをそのまま拡張情報とすると、周期性が発生する。そこで、1ビットを拡張情報、1ビットを乱数による濃度むら低減に利用するのがよい。具体的には、はじめに、64種類の情報パターンを、32種類の情報パターンが属する2つの組に分け、この2つの組のそれぞれを更に16種類の情報パターンが属する2つの組に分ける。そして、X座標情報を16種類の情報パターンを用いて表現する。このとき、別途設定した「0」と「1」の乱数によって、各情報パターンとして2つの組の何れに属するものを選択するかを決定する。更に、各情報パターンとして2つの組の何れに属する情報パターンを用いるかによって1ビットの拡張情報を表現する。尚、Y座標関連情報52についても、同様に1つのパターンブロックにつき1ビットの拡張情報と1ビットの乱数を重畳することにより、濃度むらを低減するようにしてもよい。
【0041】
尚、図7〜図10では、9C3方式を利用する場合を例として示したが、これには限らない。即ち、mCn個の符号パターンの中から、p×2q個の情報パターンとr個の同期パターンが得られるものであれば、如何なるmCn方式を利用してもよい。但し、p、qは、p≧2、q≧1、p×2q≧(座標情報を表現するために必要な情報パターンの数)を満たす整数とし、rは、パターンブロックが正方形であれば4の倍数、パターンブロックが長方形であれば2の倍数とする。そして、この場合、p×2q個の情報パターンを、p個の情報パターンが属する2q個の組に分け、識別情報をp個の情報パターンを用いて表現し、更に、2q個の組の何れに属する情報パターンを用いるかによってqビットの拡張情報を表現する。
このように、本実施の形態では、一定の条件を満たす限り、如何なるmCn方式を利用してもよいが、以降の説明においても、簡単のため、9C3方式の利用を前提とする。また、以下では、パターンブロックのことを単に「ブロック」ともいう。
【0042】
次いで、このような画像を生成する画像生成装置10について説明する。
図11は、画像生成装置10の構成例を示したブロック図である。
図示するように、画像生成装置10は、情報取得部11と、識別符号生成部12と、擬似乱数符号生成部18と、X座標符号生成部13と、Y座標符号生成部14と、符号配列生成部15と、パターン画像記憶部16と、符号画像生成部17とを備える。
【0043】
情報取得部11は、紙面又は紙面に印刷される文書の識別情報、識別情報に重ねて埋め込む拡張情報、紙面上での座標情報を取得する。そして、識別情報を識別符号生成部12に出力し、拡張情報を擬似乱数符号生成部18に出力し、座標情報のうち、X座標情報をX座標符号生成部13に、Y座標情報をY座標符号生成部14に出力する。本実施の形態では、識別情報に重畳する特定の情報を取得する情報取得手段の一例として、情報取得部11を設けている。
【0044】
識別符号生成部12は、情報取得部11から取得した識別情報を符号化して識別符号を生成し、これを符号配列生成部15に出力する。本実施の形態では、識別情報を表す第1のビット列を取得する第1のビット列取得手段の一例として、識別符号生成部12を設けている。
尚、この識別情報の符号化は、ブロック分割、RS符号化の処理を含む。
このうち、ブロック分割は、識別情報を構成するビット列を、RS符号化を行うために複数のブロックに分割する処理である。例えば、9C3方式で6ビットの情報を表現可能な情報パターンを用いる場合、60ビットの識別情報は、ブロック長が6ビットの10個のブロックに分割される。
また、RS符号化は、分割されたブロックに対してRS符号化を行い、誤り訂正のための冗長ブロックを付加する処理である。先の例において3ブロックの誤りを訂正可能なRS符号を採用したとすると、符号長は16ブロックとなる。
擬似乱数符号生成部18は、情報取得部11から取得した拡張情報を符号化して拡張符号を生成する。そして、この拡張符号を構成する各ビット値に対し、X座標符号生成部13から取得したX座標符号を構成する各パターン値と、Y座標符号生成部14から取得したY座標符号を構成する各パターン値とを加算することにより、擬似乱数符号を生成する。本実施の形態では、擬似乱数ビット列を生成するビット列生成手段の一例として、擬似乱数符号生成部18を設けている。
【0045】
X座標符号生成部13は、X座標情報を符号化してX座標符号を生成し、これを符号配列生成部15及び擬似乱数符号生成部18に出力する。Y座標符号生成部14は、Y座標情報を符号化してY座標符号を生成し、これを符号配列生成部15及び擬似乱数符号生成部18に出力する。本実施の形態では、媒体上の位置を表す第2のビット列を取得する第2のビット列取得手段の一例として、X座標符号生成部13及びY座標符号生成部14を設けている。
尚、この座標情報の符号化は、M系列符号化、ブロック分割の処理を含む。
このうち、M系列符号化は、M系列を使用して座標情報を符号化する処理である。例えば、符号化したい座標情報の長さから必要なM系列の次数を求め、M系列を動的に生成することで座標符号を生成する。但し、予め符号化したい座標情報の長さが分かっている場合には、M系列を画像生成装置10のメモリ等に格納しておき、画像生成時にそれを読み出す構成としてもよい。
また、ブロック分割は、M系列を複数のブロックに分割する処理である。例えば、情報パターンとして16種類の符号パターンを選択したとすると、符号ブロックにおける各パターンブロックには4ビットの情報が格納される。従って、図5のようなレイアウトを有する符号ブロックに対して、X座標情報は、16ビット分格納される。そして、各ブロックに格納された4ビットに符号パターンを対応付けることにより、座標情報が符号パターンによって表される。
【0046】
符号配列生成部15は、識別符号生成部12にて生成された識別符号と、擬似乱数符号生成部18にて生成された擬似乱数符号と、X座標符号生成部13及びY座標符号生成部14にて生成された座標符号と、識別符号及び座標符号の読出しを制御する同期符号とを2次元平面に配置して2次元の符号配列を生成する。ここで、同期符号とは、同期パターンのパターン値である。識別符号とは、識別情報を表す情報パターンのパターン値である。但し、識別符号としては、識別符号生成部12から取得した識別符号を構成するパターン値をそのまま配置するのではなく、9C3方式における32種類の情報パターンが所属する2つの組の何れかに属する情報パターンのパターン値を選択して配置する。このとき、何れの組におけるパターン値を選択するかは、擬似乱数符号生成部18から取得した擬似乱数符号を構成するビット値により決められる。また、座標符号とは、座標情報を表す情報パターンのパターン値である。
パターン画像記憶部16は、図3に示した9C3方式における全符号パターンを記憶する。ここで、符号パターンには、上述したようにパターン値が付されており、各符号パターンはパターン値をキーとして読み出し可能になっている。
符号画像生成部17は、符号配列生成部15が生成した2次元の符号配列を参照し、符号配列における各パターン値に対応した符号パターンを選択して符号画像を生成する。本実施の形態では、埋め込み画像を生成する埋め込み画像生成手段の一例として、符号画像生成部17を設けている。
【0047】
そして、この符号画像は、図示しない画像形成部に渡され、画像形成部が紙面に符号画像を形成する。このとき、画像形成部は、電子文書の文書画像と符号画像とを重畳した重畳画像を紙面に形成するようにしてもよい。また、このように重畳画像を形成する場合には、紙面に対するペンデバイスによる筆記データが電子文書上の適切な位置に反映されるよう電子文書上の位置と紙面上の位置との対応関係を管理することが望ましい。
【0048】
また、画像形成部は、符号画像を、例えば電子写真方式を用いて、Kトナー(カーボンを含む赤外光吸収トナー)、又は、特殊トナーにより形成する。
ここで、特殊トナーとしては、可視光領域(400nm〜700nm)における最大吸収率が7%以下であり、近赤外領域(800nm〜1000nm)における吸収率が30%以上の不可視トナーが例示される。ここで、「可視」及び「不可視」は、目視により認識できるかどうかとは関係しない。印刷された媒体に形成された画像が可視光領域における特定の波長の吸収に起因する発色性の有無により認識できるかどうかで「可視」と「不可視」とを区別している。また、可視光領域における特定の波長の吸収に起因する発色性が若干あるが、人間の目で認識し難いものも「不可視」に含める。
【0049】
次いで、この画像生成装置10の動作を説明する。
図12は、画像生成装置10の動作例を示したフローチャートである。
印刷指示があると、画像生成装置10では、情報取得部11が、紙面又は紙面に印刷される文書の識別情報と、識別情報に重ねて埋め込む拡張情報と、紙面上に埋め込む座標情報とを取得する(ステップ101)。ここで、識別情報は、印刷を指示するPC等から取得してもよいし、画像生成装置10内で例えば自装置の識別番号と自装置内での一連番号とを組み合わせることにより生成してもよい。また、拡張情報は、印刷を指示するPC等から取得するとよい。更に、座標情報は、PC等で指定された用紙サイズの情報等に基づいて画像生成装置10内で生成するとよい。
【0050】
次に、識別符号生成部12は、情報取得部11から受け取った識別情報を符号化して識別符号を生成し、これを符号配列生成部15に出力する(ステップ102)。また、X座標符号生成部13は、情報取得部11から受け取ったX座標情報を符号化してX座標符号を生成し、これを符号配列生成部15及び擬似乱数符号生成部18に出力し、一方で、Y座標符号生成部14は、情報取得部11から受け取ったY座標情報を符号化してY座標符号を生成し、これを符号配列生成部15及び擬似乱数符号生成部18に出力する(ステップ103)。
更に、擬似乱数符号生成部18は、情報取得部11から受け取った拡張情報を符号化して拡張符号を生成する(ステップ104)。そして、拡張符号を構成するビット値に対して、X座標符号を構成するパターン値とY座標符号を構成するパターン値とを加算し、その結果を「2」で割った余りを擬似乱数符号を構成するビット値とし、これを符号配列生成部15に出力する(ステップ105)。
【0051】
その後、符号配列生成部15は、識別符号生成部12から受け取った識別符号を構成するパターン値に対して、擬似乱数符号生成部18から受け取ったビット値を重畳する(ステップ106)。例えば、ビット値が「0」であれば、第1組に属する符号パターンのパターン値を取得し、ビット値が「1」であれば、第2組に属する符号パターンのパターン値を取得する。そして、同期パターンのパターン値と、ステップ106で得られたパターン値と、X座標符号生成部13から受け取ったX座標符号を構成するパターン値と、Y座標符号生成部14から受け取ったY座標符号を構成するパターン値とを、図5に示したレイアウトに従って配置する(ステップ107)。
【0052】
そして、最後に、符号画像生成部17が、符号配列生成部15が生成した符号配列における各パターン値に対応する符号パターンをパターン画像記憶部16から読み出して配置することにより、符号画像を生成する(ステップ108)。
【0053】
次に、紙面に形成された符号画像を読み取って処理する画像処理装置20について説明する。
図13は、画像処理装置20の構成例を示したブロック図である。
図示するように、画像処理装置20は、画像読取部21と、ドット配列生成部22と、ブロック検出部23と、同期符号検出部24とを備える。また、識別符号検出部30と、識別符号復号部32と、擬似乱数符号復号部33と、X座標符号検出部40と、X座標符号復号部42と、Y座標符号検出部45と、Y座標符号復号部47と、情報出力部50とを備える。
【0054】
画像読取部21は、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を用いて、紙面に印刷された符号画像を読み取る。
ドット配列生成部22は、読み取った符号画像からドットを検出し、ドットの位置を参照して、ドット配列を生成する。尚、符号画像からのドット検出の前処理として、読み取った画像に含まれるノイズを除去するための処理も行う。ここで、ノイズには、例えば、撮像素子感度のばらつきや電子回路により発生するノイズがある。ノイズ除去の処理の種類は、撮像系の特性に合わせるべきだが、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用するとよい。また、ドットの検出は、次のように行う。即ち、まず、2値化処理によりドット画像の部分と、その他の背景画像の部分とを切り分け、2値化された個々の画像位置からドットの位置を検出する。その際、2値化された画像にノイズ成分が多数含まれる場合があるため、2値化された画像の面積や形状によりドットの判定を行うフィルタ処理を組み合わせる必要がある。その後、ドット配列の生成は、2次元の配列上で、例えば、ドットがある位置を「1」、ドットがない位置を「0」というように、画像として検出したドットをデジタルデータに置き換えることにより行う。本実施の形態では、埋め込み画像を取得する埋め込み画像取得手段の一例として、ドット配列生成部22を設けている。
【0055】
ブロック検出部23は、ドット配列上で、符号ブロック内のパターンブロックを検出する。即ち、符号ブロックと同じ大きさ及び形状のフレームで、パターンブロックと同じ大きさ及び形状のブロックを有するブロックフレームをドット配列上で適宜動かし、ブロック内のドット数が均等になる位置を正しいフレーム位置とし、各ブロック内のパターン値を格納した符号配列を生成する。
【0056】
同期符号検出部24は、ドット配列から検出された各符号パターンの種類を参照して、同期符号を検出する。また、同期符号検出部24は、検出した同期符号に基づいて、画像の回転の判定も行う。例えば、正方形の符号パターンを用いた場合、90度単位で回転している可能性がある。そこで、検出した同期符号が4種類の同期パターンのいずれに対応しているかによって、その向きを検出する。また、長方形の符号パターンを用いた場合、180度単位で回転している可能性がある。そこで、検出された同期符号が2種類の同期パターンのいずれに対応しているかによって、その向きを検出する。更に、同期符号検出部24は、このように検出された回転角度だけ符号配列を回転させて、符号配列を正しい向きに設定する。
【0057】
識別符号検出部30は、角度が補正された符号配列から、同期符号の位置を基準にして識別符号が配置されるブロックにおけるパターン値を検出し、このパターン値から擬似乱数符号のビット値を除去することにより、識別符号を検出する。また、ここで除去された擬似乱数符号も検出結果として取得する。本実施の形態では、識別情報を表す第1のビット列と擬似乱数ビット列とを取得する第1のビット列取得手段の一例として、識別符号検出部30を設けている。
識別符号復号部32は、図11を参照して説明したRS符号の符号化処理で用いたパラメータ(ブロック数等)と同じパラメータを用いて識別符号を復号し、識別情報を出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部32を設けている。
擬似乱数符号復号部33は、識別符号検出部30により検出された擬似乱数符号と、X座標符号検出部40により検出されたX座標符号と、Y座標符号検出部45により検出されたY座標符号とから、拡張符号を求める。また、この拡張符号を復号し、拡張情報を出力する。本実施の形態では、第3のビット列を生成するビット列生成手段の一例として、また、情報を取得する情報取得手段の一例として、擬似乱数符号復号部33を設けている。
【0058】
X座標符号検出部40は、角度が補正された符号配列から、同期符号の位置を基準にしてX座標符号を検出する。本実施の形態では、媒体上の位置を表す第2のビット列を取得する第2のビット列取得手段の一例として、X座標符号検出部40を設けている。
X座標符号復号部42は、検出されたX座標符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を符号ブロックのシフト量で補正した値をX座標情報として出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部32を設けている。
【0059】
Y座標符号検出部45は、角度が補正された符号配列から、同期符号の位置を基準にしてY座標符号を検出する。本実施の形態では、媒体上の位置を表す第2のビット列を取得する第2のビット列取得手段の一例として、Y座標符号検出部45を設けている。
Y座標符号復号部47は、検出されたY座標符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を符号ブロックのシフト量で補正した値をY座標情報として出力する。本実施の形態では、情報を取得する情報取得手段の一例として、識別符号復号部32を設けている。
【0060】
情報出力部50は、識別符号復号部32、擬似乱数符号復号部33、X座標符号復号部42、Y座標符号復号部47からそれぞれ取得した識別情報、拡張情報、X座標情報、Y座標情報を出力する。
【0061】
次いで、この画像処理装置20の動作を説明する。尚、この動作の説明では、9C3方式の符号パターンが図5のレイアウトで配置されていることを前提とする。
まず、画像読取部21が、符号画像が印刷された媒体から、所定の大きさの領域の符号画像を読み取る。
次に、ドット配列生成部22が、ドットを検出した位置に「1」を、ドットを検出しなかった位置に「0」を設定したドット配列を生成する。
その後、ブロック検出部23が、このドット配列にブロックフレームを重ねて、全てのパターンブロック内のドットの数が「3」となるブロックフレームの位置を探索することで、パターンブロックの境界を検出する。本実施の形態において、符号ブロックは、パターンブロックが5個×5個で配置されたものとしている。従って、ブロックフレームとしても、5ブロック×5ブロックの大きさのものを用いる。
【0062】
ここで、ブロック検出部23の動作について説明する。
図14は、ブロック検出部23の動作例を示したフローチャートである。
まず、ブロック検出部23は、ドット配列生成部22からドット配列を取得する(ステップ201)。このドット配列の大きさは、(復号に必要なブロック数×ブロックの一辺のドット数+ブロックの一辺のドット数−1)2である。本実施の形態では、復号に必要なブロック数は5×5であり、ブロックの一辺のドット数が3であるので、17×17のドット配列を取得する。
【0063】
次に、取得したドット配列に、ブロックフレームを重ね合わせる(ステップ202)。そして、カウンタI、Jに「0」を代入し、MaxBNにも「0」を代入する(ステップ203)。ここで、I、Jは、ブロックフレームを初期位置から移動させたステップ数をカウントするものである。画像の1ラインごとにブロックフレームを移動させ、そのとき移動させたライン数をカウンタI、Jでカウントする。また、MaxBNは、ブロック内で検出されるドット数が「3」となるブロック数をブロックフレームを移動させながらカウントしていったときに、最大となるカウント値を記録するものである。
【0064】
次に、ブロック検出部23は、ブロックフレームをX方向にI、Y方向にJ移動させる(ステップ204)。初期状態においてI、Jは「0」であるので、ブロックフレームは移動しない。そして、ブロックフレームの各ブロックに含まれるドット数をカウントして、ドット数が「3」となるブロックの数をカウントする。カウントしたブロック数はIB[I,J]に格納する(ステップ205)。IB[I,J]のI、Jには、ブロックフレームの移動量を示すIとJの値がそれぞれ記録される。
【0065】
次に、ブロック検出部23は、IB[I,J]とMaxBNとを比較する(ステップ206)。MaxBNは初期値が「0」であるので、最初の比較では、IB[I,J]がMaxBNよりも大きくなる。この場合、MaxBNにIB[I,J]の値を代入すると共に、MXにIの値を、MYにJの値を代入する(ステップ207)。尚、IB[I,J]がMaxBN以下である場合は、MaxBN、MX、MYの値はそのままにしておく。
【0066】
その後、ブロック検出部23は、I=2であるかどうかを判定する(ステップ208)。
ここで、I=2でない場合には、Iに「1」を加算する(ステップ209)。そして、ステップ204、205の処理を繰り返し行い、IB[I,J]とMaxBNとを比較していく(ステップ206)。
IB[I,J]が前回までのIB[I,J]の最大値であるMaxBNよりも大きいと、MaxBNにIB[I,J]の値を代入し、そのときのIの値をMXに、Jの値をMYに代入する(ステップ207)。また、MaxBNのほうがIB[I,J]よりも大きい場合には、I=2であるかどうかを判定する(ステップ208)。I=2となると、次にJ=2であるかどうかを判定する(ステップ210)。J=2でない場合には、Iに「0」を代入し、Jに「1」を加算する(ステップ211)。このような手順を繰り返し行い、(I,J)が(0,0)から(2,2)までで、IB[I,J]が最大のものを検出する。
【0067】
I=2、J=2までの処理が終了すると、ブロック検出部23は、保存しているMaxBNと閾値TBとを比較する(ステップ212)。閾値TBは、ドット数が「3」のブロックの数が復号可能な程度のものかを判定するための閾値である。
ここで、MaxBNが閾値TBよりも大きい場合には、ブロックフレームをMX、MYの位置に固定し、その位置で各ブロックのパターン値を検出する。そして、検出したパターン値を、各ブロックを識別する変数X、Yと共に符号配列PA[X,Y]としてメモリに記録する(ステップ213)。尚、このとき、対応するパターン値に変換することができなければ、パターン値として用いられていない「−1」を記録する。そして、ブロック検出部23は、MX、MYと、符号配列PA[X,Y]とを同期符号検出部24に出力する(ステップ214)。
一方、MaxBNが閾値TB以下である場合には、画像のノイズが大きく復号は不可能と判定し、復号不能を出力する(ステップ215)。
【0068】
次に、同期符号検出部24の動作について説明する。
図15は、同期符号検出部24の動作例を示したフローチャートである。
まず、同期符号検出部24は、ブロック検出部23からMX、MYと、符号配列PA[X,Y]とを取得する(ステップ251)。
次に、同期符号検出部24は、K、Lに「1」を代入する(ステップ252)。尚、KはX方向のブロック数を示すカウンタであり、LはY方向のブロック数を示すカウンタである。
【0069】
次に、同期符号検出部24は、PA[K,L]のパターン値が「64」かどうかを判定する(ステップ253)。
PA[K,L]のパターン値が「64」であれば、符号配列PA[X,Y]の回転は必要ないと判定し、同期符号のあるブロックのX座標SXにKを代入し、Y座標SYにLを代入する。また、ブロックフレームのX方向への移動量ShiftXにMXを代入し、Y方向への移動量ShiftYにMYを代入する(ステップ254)。
【0070】
次に、同期符号検出部24は、PA[K,L]のパターン値が「65」かどうかを判定する(ステップ255)。
PA[K,L]のパターン値が「65」であれば、符号配列PA[X,Y]を左方向に90度回転させる(ステップ256)。図4(b)に示すようにパターン値「65」の符号パターンは、パターン値「64」の符号パターンを右方向に90度回転させた画像であるので、逆方向に90度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、左方向に90度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXにLを代入し、Y座標SYに6−Kを代入する。また、ブロックフレームのX方向への移動量ShiftXにMYを代入し、Y方向への移動量ShiftYに2−MXを代入する(ステップ257)。
【0071】
次に、同期符号検出部24は、PA[K,L]のパターン値が「66」かどうかを判定する(ステップ258)。
PA[K,L]のパターン値が「66」であれば、符号配列PA[X,Y]を左方向に180度回転させる(ステップ259)。図4(b)に示すようにパターン値「66」の符号パターンは、パターン値「64」の符号パターンを180度回転させた画像であるので、パターン値「66」の符号パターンを180度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、180度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXに6−Kを代入し、Y座標SYに6−Lを代入する。また、ブロックフレームのX方向への移動量ShiftXに2−MXを代入し、Y方向への移動量ShiftYに2−MYを代入する(ステップ260)。
【0072】
次に、同期符号検出部24は、PA[K,L]のパターン値が「67」かどうかを判定する(ステップ261)。
PA[K,L]のパターン値が「67」であれば、符号配列PA[X,Y]を左方向に270度回転させる(ステップ262)。図4(b)に示すようにパターン値「67」の符号パターンは、パターン値「64」の符号パターンを右に270度回転させた画像であるので、逆方向に270度回転させて画像を正立させている。尚、このとき、符号配列PA[X,Y]内の全てのパターン値が、左方向に270度回転させた場合のパターン値に変換される。
また、この回転に伴って、同期符号のあるブロックのX座標SXに6−Lを代入し、Y座標SYにKを代入する。また、ブロックフレームのX方向への移動量ShiftXに2−MYを代入し、Y方向への移動量ShiftYにMXを代入する(ステップ263)。
【0073】
そして、ステップ254、257、260、263で、SX、SY、ShiftX、ShiftYに値が代入された場合、同期符号検出部24は、PA[X,Y]とこれらの値を識別符号検出部30、X座標符号検出部40、Y座標符号検出部45に出力する(ステップ264)。
また、PA[K,L]がパターン値「64」〜「67」のいずれでもなければ、同期符号検出部24は、K=5であるかどうかを判定する(ステップ265)。K=5でない場合には、Kに「1」を加算し(ステップ266)、ステップ253に戻る。K=5であれば、L=5であるかどうかを判定する(ステップ267)。L=5でない場合には、Kに「1」を代入し、Lに「1」を加算し(ステップ268)、ステップ253に戻る。即ち、ステップ253〜264の処理を、パターン値「64」〜「67」のブロックを検出するまでK、Lの値を変更しながら繰り返し行う。また、K=5、L=5になっても、パターン値「64」〜「67」のブロックを検出することができなかった場合には、復号不能の判定信号を出力する(ステップ269)。
【0074】
次に、X座標符号検出部40及びX座標符号復号部42の動作について説明する。
図16は、X座標符号検出部40及びX座標符号復号部42の動作例を示したフローチャートである。
まず、X座標符号検出部40は、同期符号検出部24から符号配列PA[X,Y]、SX、SY、ShiftX、ShiftYを取得する(ステップ401)。
次に、X座標符号検出部40は、X座標符号配列XA[X]の全ての要素を「−1」で初期化する(ステップ402)。尚、この「−1」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタIX、IYに「1」を代入する。ここで、IXは、X方向のブロック数を示すカウンタであり、IYは、Y方向のブロック数を示すカウンタである。更に、X座標符号検出部40は、X座標符号配列における各要素を識別するためのカウンタKXにも「1」を代入する(ステップ403)。
【0075】
また、X座標符号検出部40は、IY−SYが「5」で割り切れるかどうかを判定する(ステップ404)。即ち、IYで特定される行に同期符号が配置されているかどうかを判定する。
ここで、IY−SYが「5」で割り切れなかった場合、つまり、この行に同期符号が配置されていない場合は、X座標符号を取り出す対象ではないため、IYに「1」を加算し(ステップ405)、ステップ404へ進む。
一方、IY−SYが「5」で割り切れた場合、つまり、この行に同期符号が配置されている場合、X座標符号検出部40は、IX−SXが「5」で割り切れるかどうかを判定する(ステップ406)。即ち、IXで特定される列に同期符号が配置されているかどうかを判定する。
【0076】
ここで、IX−SXが「5」で割り切れた場合、つまり、この列に同期符号が配置されている場合は、X座標符号を取り出す対象ではないため、IXに「1」を加算し(ステップ407)、ステップ406へ進む。
一方、IX−SXが「5」で割り切れなかった場合、つまり、この列に同期符号が配置されていない場合、X座標符号検出部40は、XA[KX]に、PA[IX,IY]を「16」で割った余りを代入する(ステップ408)。また、拡張情報を表すXB[KX]に、PA[IX,IY]を「32」で割った商を代入する(ステップ409)。
【0077】
そして、IX=5であるかどうかを判定する(ステップ410)。
ここで、IX=5でない場合には、KXに「1」を加算し(ステップ411)、IXに「1」を加算して(ステップ407)、ステップ406〜409の処理をIX=5となるまで繰り返し行う。また、IX=5となると、X座標符号復号部42の処理に移る。
【0078】
即ち、X座標符号復号部42は、XA[X]を復号できるかどうかを判定する(ステップ412)。
ここで、XA[X]を復号できると判定すると、X座標符号復号部42は、XA[X]とShiftXからX座標情報を復号する(ステップ413)。また、XA[X]が復号できないと判定された場合は、X座標情報にN/Aを代入する(ステップ414)。
【0079】
尚、ここでは、X座標符号検出部40及びX座標符号復号部42の動作のみ説明したが、Y座標符号検出部45及びY座標符号復号部47も同様の動作を行う。即ち、符号配列PA[X,Y]からY座標符号配列YA[Y]を求め、これを復号する。
【0080】
次に、識別符号検出部30、識別符号復号部32、擬似乱数符号復号部33の動作について説明する。
図17は、識別符号検出部30、識別符号復号部32、擬似乱数符号復号部33の動作例を示したフローチャートである。
まず、識別符号検出部30は、同期符号検出部24から符号配列PA[X,Y]、SX、SYを取得する(ステップ301)。
次に、識別符号検出部30は、識別符号配列IA[X,Y]の全ての要素を「−1」で初期化する(ステップ302)。尚、この「−1」は、パターン値として用いられていない番号とする。そして、符号ブロックにおける各ブロックを識別するためのカウンタIX、IYに「1」を代入する(ステップ303)。ここで、IXは、X方向のブロック数を示すカウンタであり、IYは、Y方向のブロック数を示すカウンタである。
【0081】
また、識別符号検出部30は、IY−SYが「5」で割り切れるかどうかを判定する(ステップ304)。即ち、IYで特定される行に同期符号が配置されているかどうかを判定する。
ここで、IY−SYが「5」で割り切れた場合、つまり、この行に同期符号が配置されている場合は、識別符号を取り出す対象ではないため、IYに「1」を加算し(ステップ305)、ステップ304へ進む。
一方、IY−SYが「5」で割り切れなかった場合、つまり、この行に同期符号が配置されていない場合は、IX−SXが「5」で割り切れるかどうかを判定する(ステップ306)。即ち、IXで特定される列に同期符号が配置されているかどうかを判定する。
【0082】
ここで、IX−SXが「5」で割り切れた場合、つまり、この列に同期符号が配置されている場合は、識別符号を取り出す対象ではないため、IXに「1」を加算し(ステップ307)、ステップ306へ進む。
一方、IX−SXが「5」で割り切れなかった場合、つまり、この列に同期符号が配置されていない場合、識別符号検出部30は、IA[(IX−SX)mod5,(IY−SY)mod5]に、PA[IX,IY]を「32」で割った余りを代入する(ステップ308)。また、IB[(IX−SX)mod5,(IY−SY)mod5]に、PA[IX,IY]を「32」で割った商を代入する(ステップ309)。
【0083】
そして、IX=5であるかどうかを判定する(ステップ310)。
ここで、IX=5でない場合には、IXに「1」を加算して(ステップ307)、ステップ306〜309の処理をIX=5となるまで繰り返し行う。また、IX=5となると、次に、IY=5であるかどうかを判定する(ステップ311)。IY=5でない場合には、IXに「1」を代入し(ステップ312)、IYに「1」を加算して(ステップ305)、ステップ304〜310の処理をIY=5となるまで繰り返し行う。また、IY=5となると、識別符号復号部32及び擬似乱数符号復号部33の処理に移る。
【0084】
即ち、識別符号復号部32は、IA[X,Y]を復号できるかどうかを判定する(ステップ313)。
ここで、IA[X,Y]を復号できると判定すると、識別符号復号部32は、IA[X,Y]から識別情報を得る(ステップ314)。そして、IA[X,Y]を復号できる旨を擬似乱数符号復号部33に伝え、これにより、擬似乱数符号復号部33が、IB[X,Y]からXA[X]及びYA[Y]を減算し、その結果を「2」で割ることにより、拡張情報を得る(ステップ315)。
一方、IA[X,Y]を復号できないと判定すると、識別符号復号部32は、識別情報にN/Aを代入する(ステップ316)。そして、IA[X,Y]を復号できない旨を擬似乱数符号復号部33に伝え、これにより、擬似乱数符号復号部33が、拡張情報にN/Aを代入する(ステップ317)。
以上により、本実施の形態における画像処理装置20の動作説明を終了する。
【0085】
尚、上記の説明では、M系列を用いてX座標情報及びY座標情報を表現することでこれらの情報が擬似乱数性を有することとしたが、M系列以外の公知の擬似乱数生成方法を用いてX座標情報及びY座標情報を表現するようにしてもよい。
また、ここでは、識別情報に重畳する拡張情報に対し、その拡張情報が埋め込まれる位置のX座標情報及びY座標情報を用いて擬似乱数性を与えるようにした。しかしながら、拡張情報が埋め込まれる位置を表す情報であれば、X座標情報及びY座標情報の何れか一方の情報や、X座標情報及びY座標情報以外の情報を採用してもよい。
【0086】
次に、本実施の形態における画像生成装置10及び画像処理装置20の具体的なハードウェア構成について説明する。
まず、画像処理装置20を実現するペンデバイス60について説明する。
図18は、ペンデバイス60の機構を示した図である。
図示するように、ペンデバイス60は、ペン全体の動作を制御する制御回路61を備える。また、制御回路61は、入力画像から検出した符号画像を処理する画像処理部61aと、そこでの処理結果から識別情報及び座標情報を抽出するデータ処理部61bとを含む。
そして、制御回路61には、ペンデバイス60による筆記動作をペンチップ69に加わる圧力によって検出する圧力センサ62が接続されている。また、媒体上に赤外光を照射する赤外LED63と、画像を入力する赤外CMOS64も接続されている。更に、識別情報及び座標情報を記憶するための情報メモリ65と、外部装置と通信するための通信回路66と、ペンを駆動するためのバッテリ67と、ペンの識別情報(ペンID)を記憶するペンIDメモリ68も接続されている。
【0087】
尚、図13に示した画像読取部21は、例えば、図18の赤外CMOS64にて実現される。また、ドット配列生成部22は、例えば、図18の画像処理部61aにて実現される。更に、図13に示したブロック検出部23、同期符号検出部24、識別符号検出部30、識別符号復号部32、擬似乱数符号復号部33、X座標符号検出部40、X座標符号復号部42、Y座標符号検出部45、Y座標符号復号部47、情報出力部50は、例えば、図18のデータ処理部61bにて実現される。
【0088】
また、画像生成装置10にて実現される処理、及び、図18の画像処理部61a又はデータ処理部61bにて実現される処理は、例えば、汎用のコンピュータで実現してもよい。そこで、かかる処理をコンピュータ90で実現するものとし、コンピュータ90のハードウェア構成について説明する。
図19は、コンピュータ90のハードウェア構成を示した図である。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
【0089】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
【図面の簡単な説明】
【0090】
【図1】9C2方式及び9C3方式における符号パターンの一例を示した図である。
【図2】9C2方式における全符号パターンの一例を示した図である。
【図3】9C3方式における全符号パターンの一例を示した図である。
【図4】9C2方式及び9C3方式における同期パターンの例を示した図である。
【図5】符号ブロックの基本的なレイアウトの例を示した図である。
【図6】符号ブロックの広範囲のレイアウトの例を示した図である。
【図7】本実施の形態におけるパターン値の演算を符号ブロックの基本的なレイアウト上で説明するための図である。
【図8】本実施の形態におけるパターン値の演算を符号ブロックの広範囲のレイアウト上で説明するための図である。
【図9】本実施の形態におけるパターン値の演算を符号ブロックの広範囲のレイアウト上で説明するための図である。
【図10】本実施の形態で表現可能な情報の種類及びビット値を示した図である。
【図11】本実施の形態における画像生成装置の機能構成例を示したブロック図である。
【図12】本実施の形態における画像生成装置の動作例を示したフローチャートである。
【図13】本実施の形態における画像処理装置の機能構成例を示したブロック図である。
【図14】本実施の形態におけるブロック検出部の動作例を示したフローチャートである。
【図15】本実施の形態における同期符号検出部の動作例を示したフローチャートである。
【図16】本実施の形態におけるX座標符号検出部等の動作例を示したフローチャートである。
【図17】本実施の形態における識別符号検出部等の動作例を示したフローチャートである。
【図18】本実施の形態における画像処理装置を実現可能なペンデバイスの機構を示した図である。
【図19】本実施の形態を適用可能なコンピュータのハードウェア構成図である。
【符号の説明】
【0091】
10…画像生成装置、11…情報取得部、12…識別符号生成部、13…X座標符号生成部、14…Y座標符号生成部、15…符号配列生成部、16…パターン画像記憶部、17…符号画像生成部、18…擬似乱数符号生成部、20…画像処理装置、21…画像読取部、22…ドット配列生成部、23…ブロック検出部、24…同期符号検出部、30…識別符号検出部、32…識別符号復号部、33…擬似乱数符号復号部、40…X座標符号検出部、42…X座標符号復号部、45…Y座標符号検出部、47…Y座標符号復号部、50…情報出力部
【特許請求の範囲】
【請求項1】
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列を取得する第1のビット列取得手段と、
前記媒体上の位置を表し、擬似乱数性を有する第2のビット列を取得する第2のビット列取得手段と、
所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成するビット列生成手段と、
前記第1のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第1のパターン画像と、前記第2のビット列に対応する第2のパターン画像とを配置した埋め込み画像を生成する埋め込み画像生成手段と
を備えたことを特徴とする画像生成装置。
【請求項2】
前記識別情報に重畳する特定の情報を取得する情報取得手段を更に備え、
前記ビット列生成手段は、前記擬似乱数ビット列の生成に先立ち、前記特定の情報に基づいて前記第3のビット列を生成することを特徴とする請求項1記載の画像生成装置。
【請求項3】
前記ビット列生成手段は、前記第3のビット列を構成するビットが示す数値に、当該ビットが埋め込まれる位置を表す前記第2のビット列の部分列が示す数値を加算し、その結果を所定値で割った余りを、前記擬似乱数ビット列を構成するビットが示す数値とすることを特徴とする請求項1記載の画像生成装置。
【請求項4】
前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するビットが示す数値に所定値を乗じて得られた数値を、前記第1のビット列の部分列が示す数値に加算することにより、当該第1のビット列に当該擬似乱数ビット列を重畳することを特徴とする請求項1記載の画像生成装置。
【請求項5】
前記第1のパターン画像及び前記第2のパターン画像は、p個のパターン画像が属する2q個の組の何れかに属し(p≧2,q≧1)、
前記ビット列生成手段は、前記第3のビット列を構成するqビットが示す数値に、当該qビットが埋め込まれる位置を表す前記第2のビット列の部分列が示す数値を加算し、その結果を2qで割った余りを、前記擬似乱数ビット列を構成するビットが示す値とし、
前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するqビットが示す値にpを乗じて得られた数値を、前記第1のビット列の部分列が示す数値に加算することを特徴とする請求項1記載の画像生成装置。
【請求項6】
媒体に印刷された埋め込み画像を取得する埋め込み画像取得手段と、
前記埋め込み画像に配置された第1のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第1のビット列と当該擬似乱数ビット列とを取得する第1のビット列取得手段と、
前記埋め込み画像に配置された第2のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第2のビット列を取得する第2のビット列取得手段と、
前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第2のビット列を用いて擬似乱数性を除去することにより、第3のビット列を生成するビット列生成手段と、
前記第1のビット列と前記第2のビット列と前記第3のビット列とに基づいて、前記識別情報と、前記媒体上の位置を特定する情報と、これらの情報以外の特定の情報とを取得する情報取得手段と
を備えたことを特徴とする画像処理装置。
【請求項7】
前記第1のビット列取得手段は、前記第1のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値を所定値で割った余りを、当該第1のビット列の部分列が示す数値とすることを特徴とする請求項6記載の画像処理装置。
【請求項8】
前記ビット列生成手段は、前記擬似乱数ビット列を構成するビットが示す数値から、当該ビットが埋め込まれた位置を表す前記第2のビット列の部分列が示す数値を減算し、その結果を所定値で割った余りを、前記第3のビット列を構成するビットが示す数値とすることを特徴とする請求項6記載の画像処理装置。
【請求項9】
前記第1のパターン画像及び前記第2のパターン画像は、p個のパターン画像が属する2q個の組の何れかに属し(p≧2,q≧1)、
前記第1のビット列取得手段は、前記第1のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値をpで割った余りを、当該第1のビット列の部分列が示す数値とし、
前記ビット列生成手段は、前記擬似乱数ビット列を構成するqビットが示す数値から、当該qビットが埋め込まれた位置を表す前記第2のビット列の部分列が示す数値を減算し、その結果を2qで割った余りを、前記第3のビット列を構成するqビットが示す数値とすることを特徴とする請求項6記載の画像処理装置。
【請求項10】
コンピュータに、
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列を取得する機能と、
前記媒体上の位置を表し、擬似乱数性を有する第2のビット列を取得する機能と、
所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成する機能と、
前記第1のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第1のパターン画像と、前記第2のビット列に対応する第2のパターン画像とを配置した埋め込み画像を生成する機能と
を実現させるためのプログラム。
【請求項11】
コンピュータに、
媒体に印刷された埋め込み画像を取得する機能と、
前記埋め込み画像に配置された第1のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第1のビット列と当該擬似乱数ビット列とを取得する機能と、
前記埋め込み画像に配置された第2のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第2のビット列を取得する機能と、
前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第2のビット列を用いて擬似乱数性を除去することにより、第3のビット列を生成する機能と、
前記第1のビット列と前記第2のビット列と前記第3のビット列とを出力する機能と
を実現させるためのプログラム。
【請求項12】
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られたビット列に対応するパターン画像が印刷された第1の領域と、
前記媒体上の位置を表し、擬似乱数性を有する第2のビット列に対応するパターン画像が印刷された第2の領域とを含み、
前記擬似乱数ビット列は、所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより生成されたビット列であることを特徴とする印刷媒体。
【請求項1】
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列を取得する第1のビット列取得手段と、
前記媒体上の位置を表し、擬似乱数性を有する第2のビット列を取得する第2のビット列取得手段と、
所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成するビット列生成手段と、
前記第1のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第1のパターン画像と、前記第2のビット列に対応する第2のパターン画像とを配置した埋め込み画像を生成する埋め込み画像生成手段と
を備えたことを特徴とする画像生成装置。
【請求項2】
前記識別情報に重畳する特定の情報を取得する情報取得手段を更に備え、
前記ビット列生成手段は、前記擬似乱数ビット列の生成に先立ち、前記特定の情報に基づいて前記第3のビット列を生成することを特徴とする請求項1記載の画像生成装置。
【請求項3】
前記ビット列生成手段は、前記第3のビット列を構成するビットが示す数値に、当該ビットが埋め込まれる位置を表す前記第2のビット列の部分列が示す数値を加算し、その結果を所定値で割った余りを、前記擬似乱数ビット列を構成するビットが示す数値とすることを特徴とする請求項1記載の画像生成装置。
【請求項4】
前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するビットが示す数値に所定値を乗じて得られた数値を、前記第1のビット列の部分列が示す数値に加算することにより、当該第1のビット列に当該擬似乱数ビット列を重畳することを特徴とする請求項1記載の画像生成装置。
【請求項5】
前記第1のパターン画像及び前記第2のパターン画像は、p個のパターン画像が属する2q個の組の何れかに属し(p≧2,q≧1)、
前記ビット列生成手段は、前記第3のビット列を構成するqビットが示す数値に、当該qビットが埋め込まれる位置を表す前記第2のビット列の部分列が示す数値を加算し、その結果を2qで割った余りを、前記擬似乱数ビット列を構成するビットが示す値とし、
前記埋め込み画像生成手段は、前記擬似乱数ビット列を構成するqビットが示す値にpを乗じて得られた数値を、前記第1のビット列の部分列が示す数値に加算することを特徴とする請求項1記載の画像生成装置。
【請求項6】
媒体に印刷された埋め込み画像を取得する埋め込み画像取得手段と、
前記埋め込み画像に配置された第1のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第1のビット列と当該擬似乱数ビット列とを取得する第1のビット列取得手段と、
前記埋め込み画像に配置された第2のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第2のビット列を取得する第2のビット列取得手段と、
前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第2のビット列を用いて擬似乱数性を除去することにより、第3のビット列を生成するビット列生成手段と、
前記第1のビット列と前記第2のビット列と前記第3のビット列とに基づいて、前記識別情報と、前記媒体上の位置を特定する情報と、これらの情報以外の特定の情報とを取得する情報取得手段と
を備えたことを特徴とする画像処理装置。
【請求項7】
前記第1のビット列取得手段は、前記第1のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値を所定値で割った余りを、当該第1のビット列の部分列が示す数値とすることを特徴とする請求項6記載の画像処理装置。
【請求項8】
前記ビット列生成手段は、前記擬似乱数ビット列を構成するビットが示す数値から、当該ビットが埋め込まれた位置を表す前記第2のビット列の部分列が示す数値を減算し、その結果を所定値で割った余りを、前記第3のビット列を構成するビットが示す数値とすることを特徴とする請求項6記載の画像処理装置。
【請求項9】
前記第1のパターン画像及び前記第2のパターン画像は、p個のパターン画像が属する2q個の組の何れかに属し(p≧2,q≧1)、
前記第1のビット列取得手段は、前記第1のビット列に前記擬似乱数ビット列を重畳して得られるビット列の部分列が示す数値をpで割った余りを、当該第1のビット列の部分列が示す数値とし、
前記ビット列生成手段は、前記擬似乱数ビット列を構成するqビットが示す数値から、当該qビットが埋め込まれた位置を表す前記第2のビット列の部分列が示す数値を減算し、その結果を2qで割った余りを、前記第3のビット列を構成するqビットが示す数値とすることを特徴とする請求項6記載の画像処理装置。
【請求項10】
コンピュータに、
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列を取得する機能と、
前記媒体上の位置を表し、擬似乱数性を有する第2のビット列を取得する機能と、
所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより、擬似乱数ビット列を生成する機能と、
前記第1のビット列に前記擬似乱数ビット列を重畳して得られたビット列に対応する第1のパターン画像と、前記第2のビット列に対応する第2のパターン画像とを配置した埋め込み画像を生成する機能と
を実現させるためのプログラム。
【請求項11】
コンピュータに、
媒体に印刷された埋め込み画像を取得する機能と、
前記埋め込み画像に配置された第1のパターン画像に対応するビット列であって、前記媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られるビット列から、当該第1のビット列と当該擬似乱数ビット列とを取得する機能と、
前記埋め込み画像に配置された第2のパターン画像に対応するビット列であって、前記媒体上の位置を表し、擬似乱数性を有するビット列である第2のビット列を取得する機能と、
前記擬似乱数ビット列から、当該擬似乱数ビット列が埋め込まれた位置を表す前記第2のビット列を用いて擬似乱数性を除去することにより、第3のビット列を生成する機能と、
前記第1のビット列と前記第2のビット列と前記第3のビット列とを出力する機能と
を実現させるためのプログラム。
【請求項12】
媒体及び当該媒体に印刷された文書画像の少なくとも何れか一方の識別情報を表す第1のビット列に擬似乱数ビット列を重畳して得られたビット列に対応するパターン画像が印刷された第1の領域と、
前記媒体上の位置を表し、擬似乱数性を有する第2のビット列に対応するパターン画像が印刷された第2の領域とを含み、
前記擬似乱数ビット列は、所定の第3のビット列に、当該第3のビット列が埋め込まれる位置を表す前記第2のビット列を用いて擬似乱数性を与えることにより生成されたビット列であることを特徴とする印刷媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2009−176207(P2009−176207A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−16239(P2008−16239)
【出願日】平成20年1月28日(2008.1.28)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願日】平成20年1月28日(2008.1.28)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]