以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。尚、本明細書で参照される各図面において同様の機能を有する箇所には同一の符号を付している。
本実施形態は、偽造抑止地紋におけるカモフラージュを用いた、デジタル情報の表現に関する。これにより、不正コピーの心理的抑止といった偽造抑止地紋本来の機能に加えて、改竄検出用のデータや電子署名等の他のセキュリティに関する機能を実現可能とする。
[実施形態1]
(オンデマンド地紋印刷システムの概要)
先ず、図1を用いて、オンデマンド地紋印刷システムの概要について述べる。図1は、本実施形態のオンデマンド地紋印刷システムを実現することが可能な、コンピュータ・システムの一般的な構成の概要を示す。
オンデマンド地紋印刷システムとは、「背景技術」で述べたプリンタによるオンデマンド地紋出力法を実現するシステムであり、図1に示されるような一般的なPC(personal computer)、ディスプレイ、及びプリンタの構成を用いて実現することができる。
ここでは、オンデマンド地紋印刷システムを実現する際に、図1に示される各部がどのような働きをするのかを説明する。
図1において、図中符号111はCPU(central processing unit)で、符号112のRAM(random access memory)や符号113のROM(read only memory)に格納されているプログラムやデータを用いて、コンピュータ全体の制御を行うとともに、後述する各処理を行う。
RAM112は、外部記憶装置118からロードされたプログラムやデータ、他のコンピュータ・システム124からI/F(インタフェース)123を介してダウンロードしたプログラムやデータを一時的に記憶するエリアを備える。それとともに、RAM112にはCPU111が各種の処理を行うために必要とするエリアを備える。
ROM113は、コンピュータの機能プログラムや設定データなどを記憶する。符号114はディスプレイ制御装置で、画像や文字等をディスプレイ115に表示させるための制御処理を行う。ディスプレイ115は、画像や文字などを表示する。尚、ディスプレイとしてはCRT(cathode ray tube)や液晶画面などが適用可能である。
符号116は操作入力デバイスで、キーボードやマウスなど、CPU111に各種の指示を入力することのできるデバイスにより構成されている。尚手動で各種情報などを入力する場合には、この操作入力デバイス116を介してこれらを入力することができる。符号117は操作入力デバイス116を介して入力された各種の指示等をCPU111に通知するためのI/O(input/output)である。
符号118はハード・ディスクなどの大容量情報記憶装置として機能する外部記憶装置である。外部記憶装置118は、OS(オペレーティング・システム)や各処理をCPU111に実行させるためのプログラム(例えば、地紋画像生成プログラム)、各種情報、生成された地紋画像、入力原稿画像などを記憶する。外部記憶装置118への情報の書き込みや外部記憶装置118からの情報の読み出しはI/O119を介して行われる。
符号121は文書や画像を出力するためのプリンタで、出力データはI/O122を介してRAM112、もしくは外部記憶装置118から専用の通信線やLAN(local area network)などのネットワーク、無線などの各種送信形態を利用して送られる。尚、文書や画像を出力するためのプリンタとしては、例えばインク・ジェット・プリンタ、レーザ・ビーム・プリンタ、熱転写型プリンタ、ドット・インパクト・プリンタなどが挙げられる。
符号130は、CPU111、ROM113、RAM112、I/O122、I/O119、ディスプレイ制御装置114、I/F123、I/O117を繋ぐバスである。
尚、本実施形態では、図2を参照し後に述べる地紋画像生成装置の、印刷部を除く処理を(少なくとも、バス130に接続された部分を含む)コンピュータにより行うこととしている。しかしこの処理は、プリンタ内部の専用のハードウェア回路を用いて、コンピュータで行う処理をプリンタ側で実行するように構成しても良い。
(地紋画像生成の詳細の説明)
続いて、地紋画像の生成処理について詳細に説明する。本実施形態1では、地紋画像の背景部に対応する画像は、ドット分散型ディザ・マトリクスを用いてドットが離散的に配置されるように設計する。また、複写時に複写物上に再現される潜像部に対応する画像はドット集中型ディザ・マトリクスを用いてドットが集中して配置されるように設計するものとして説明を行う。
以降、背景部の画像生成に用いるディザ・マトリクスを背景ディザ・マトリクス、潜像部の画像生成に用いるディザ・マトリクスを潜像ディザ・マトリクスと呼ぶこととする。
ディザ法は多値の入力画像信号を一定の規則により算出された閾値と比較して、その大小関係で2値画像を出力する方法である。ディザ・マトリクスはディザ法で入力画像信号を2値化する際の閾値が2次元的に配置された閾値マトリクスである。
入力画像信号の画素値を対応するディザ・マトリクスの閾値で2値化処理することにより、2値画像(閾値パターン)が得られる。ここで、得られる2値画像は入力画像信号の階調がディザ・マトリクスの閾値未満の場合には、画素値に一方のビット(例えば1)、閾値以上の場合には他方のビット(例えば0)が割り当てられる。
本実施形態1では、背景を構成する2値画像、潜像部を構成する2値画像は、プリンタを使って紙に印刷した時に人間の視覚上において背景部と潜像部がほぼ同じ濃さとなるよう、それぞれ適切な入力画像信号を入力して、ディザ法によってあらかじめ生成されているとする。
以降の説明では、背景部を構成する2値画像を背景閾値パターン、潜像部を構成する2値画像を潜像閾値パターンと呼ぶこととする。
図2は本実施形態1における地紋画像生成の内部処理の構成を示すブロック図である。本実施形態1の地紋画像生成装置は、地紋画像生成部201、合成部202、印刷データ処理部203、印刷部204から構成されている。尚、印刷部204は図1におけるプリンタ121に設けられているものとして説明を行う。
先ず、地紋画像生成部201は、入力背景画像、色情報、処理領域情報、潜像閾値パターン、背景閾値パターン、潜像背景領域指定画像、カモフラージュ領域指定画像が入力され、地紋画像を生成出力する。
地紋画像生成部201は所定の規則に従って入力背景画像に画像処理を行い、地紋画像を出力する。入力背景画像は地紋画像の生成サイズに対応する画像であり、多値画像であっても2値画像であってもよい。処理領域情報は入力画像情報中で地紋の埋め込み処理を行う領域を示す。この処理領域情報は座標値などで表現されており、出力用紙サイズに対応してあらかじめ決定された座標値またはユーザ・インタフェースなどによって設定された地紋画像適用領域に応じて決定される。
潜像背景領域指定画像は潜像部と背景部を指定するための基本画像であり、1画素1ビットで構成される。潜像背景領域指定画像の一方のビット値(例えば1)が潜像部を表し、他方のビット値(例えば0)が背景部を表す。
図3は潜像背景領域指定画像及びカモフラージュ領域指定画像の例を示した図である。図中符号301は潜像背景領域指定画像の一例であり、符号302はカモフラージュ領域指定画像の一例である。潜像背景領域指定画像及びカモフラージュ領域指定画像は、図3に示した画像を印刷領域サイズに対応するようにタイル状に配列してもよい。
カモフラージュ領域指定画像は、カモフラージュ効果を持たせるために、濃度を薄くする領域を指定するための画像であり、同じく1画素1ビットで構成されるとする。カモフラージュ領域指定画像の一方のビット値(例えば1)は濃度を薄くするカモフラージュ領域でないことを示し、他方のビット値(例えば0)は周囲に比べて濃度を薄くするカモフラージュ領域であることを示す。
地紋画像生成部201で生成された地紋画像は合成部202に出力される。地紋画像の生成方法については図4を参照し後に詳しく述べる。
合成部202では、入力原稿画像と地紋画像生成部201で生成された地紋画像を合成し、地紋画像が合成された地紋合成出力原稿画像を生成する。尚、入力原稿画像の内容に関わらず、地紋画像をそのまま地紋合成出力原稿画像とする場合には、合成部で入力原稿画像を参照する必要はない。
地紋合成出力原稿画像を生成するとき、地紋画像や入力原稿画像を構成するオブジェクト毎にカラー・マッチング処理を実行した後、入力原稿画像を構成するオブジェクトと地紋画像を合成して地紋合成出力原稿画像を生成してもよいし、または後段の印刷データ処理部203において、地紋合成出力原稿画像に対してカラー・マッチング処理を実行しても良い。
印刷データ処理部203では、OS(Operating System)の描画インタフェースを介して、合成部202で合成された地紋合成出力原稿画像を描画情報として受け取り、逐次印刷コマンドへと変換していく。描画インタフェースとしては、例えば、Microsoft社のOSであるWindows(登録商標)シリーズのGraphic Device Interface(GDI)やApple Computer社のOSであるMacOSシリーズのQuickDraw等が周知である。このとき、必要に応じてカラー・マッチング処理やRGB(red-green-blue)−CMYK(Cyan Magenta Yellow Black)変換、ハーフ・トーン処理などの画像処理が実行される。そして、印刷データ処理部203は、地紋合成出力原稿画像データとして、印刷部204で解釈可能なデータ形式(例えば、ページ記述言語で記述されたデータ形式や印刷ビットマップに展開されたデータ形式)を後段の印刷部204に送る。
印刷部204では、入力された地紋合成出力原稿画像データの情報に従って、地紋合成出力原稿を印刷出力する。
レーザ・ビーム・プリンタの場合を例として説明を行うと、印刷部204は不図示のプリンタ・コントローラとプリンタ・エンジンとで構成される。プリンタ・コントローラは印刷情報制御部、ページ・メモリ、出力制御部などで構成される。印刷情報制御部では印刷データ処理部203から送られて来るページ記述言語(PDL)を解析し、描画及び印字に関するコマンドについては、対応するパターンをページ・メモリに展開する。
ここで必要に応じて、RGB−CMYK変換やハーフ・トーン処理などの画像処理も実行される。尚、地紋合成出力原稿画像データが、あるいはその一部が印刷ビットマップであると判定された場合は、イメージ・データはそのままページ・メモリに展開される。
出力制御部は、ページ・メモリの内容をビデオ信号に変換し、プリンタ・エンジンへ出力する。プリンタ・エンジンは、例えば記録媒体の搬送機構、半導体レーザー・ユニット、感光ドラム、現像ユニット、定着ユニット、ドラム・クリーニング・ユニット、分離ユニットなどから構成され、公知の電子写真プロセスで印刷を行う。
ここで、地紋画像生成部201は、各画素がプリンタの1次色(例えば、シアン、イエロー、マゼンダ、ブラック)だけで印刷出力されることを意図して地紋画像を作成している場合もある。この場合、プリンタの1次色で出力することを想定して表現された各画素が、複数の異なる色のインクやトナーの合成色の画素として印刷されることは望ましくない。
従って、印刷データ処理部203や印刷部204では地紋合成出力原稿画像中の地紋画像に相当する画素値(例えば、シアン、マゼンダ、イエロー、ブラック)に対しては、1画素の画素値が印刷時に異なる色の複数のインクやトナーで同時に表現されないようにすることが望ましい。即ちそれらが混色の画素値とならないように設定されることが望ましい。具体的には、カラー・マッチング等の色変換処理をパスし、ハーフ・トーン処理を実行した後にも常に単色のインクまたはトナーで各画素が印刷される設定を導入するとよい。但し、インク・ジェット・プリンタの場合に、地紋画像の1画素を同じ色の淡インク、濃インク、又は大インク・ドット、小インク・ドットで表現する場合はこの限りではない。また、地紋画像の色のバリエーションとして、シアンの画素とイエローの画素をバランスよく配置させて、一見緑色に見える地紋画像を生成することも可能である。しかし、このような場合においても、地紋画像の1画素は、プリンタの1次色(シアン、イエロー、マゼンダ、ブラック)で構成されているならば、地紋画像の1画素は、対応するシアンやイエローのトナーまたはインクだけで正確に出力することが望ましい。
しかし、地紋画像の1画素をプリンタの1次色(シアン、イエロー、マゼンダ、ブラック)だけで印刷出力しなくとも、地紋の効果を実現する画像を生成することは可能である。地紋画像の1画素が複数の異なる色のインクやトナーで表現されたとしても、複写後に潜像が残る(背景に対して浮き上がって見える)ならば、偽造防止地紋として用いることは可能である。
尚、本実施形態1では、地紋画像、入力原稿画像、地紋合成出力原稿画像、地紋合成出力原稿画像データはデジタルデータであり、地紋合成出力原稿は紙に印刷された画像を表すとする。
また、印刷データ処理部203を合成部202の前段に設け、地紋画像生成部で生成された地紋画像データと、入力原稿画像データをそれぞれ印刷コマンドに変換する処理を実行することも可能である。この場合、合成部202はプリンタ121に設けられ、印刷コマンドに変換された地紋画像データと入力原稿画像データとをビット・マップ・イメージに展開した後に合成する構成を採用することになる。
図4は本実施形態1における地紋画像生成部201の内部処理手順を記したフローチャートである。以下、図4を用いて、偽造抑止地紋画像を生成する処理を説明する。この処理はCPU111が、地紋画像生成プログラムを実行することにより行われる。しかし、本構成によって本発明は限定されるものではない。
先ず初めに、ユーザ・インタフェース等へのユーザによる指示またはプログラムの起動を通じて、S401で地紋画像生成処理が開始される。
次にS402で、上述した入力背景画像、背景閾値パターン、潜像閾値パターン、潜像背景領域指定画像、カモフラージュ領域指定画像を読み込む。
次にS403で、地紋画像を生成する際の初期画素を決定する。例えば、入力画像の出力用紙サイズの印刷可能範囲全面に適用する地紋画像を生成する場合、この用紙サイズに対応するデータサイズが地紋画像の生成サイズとなる。この生成サイズに対して左上から右下までラスター走査順に画像処理を行い地紋画像を生成する場合、左上を初期位置とする。
次にS404では、背景閾値パターン、潜像閾値パターン、潜像背景領域指定画像、カモフラージュ領域指定画像を入力背景画像の左上からタイル上に配置する。即ち、S404では、処理対象となっている入力背景画像の画素に対して、以下の式(1)を計算し、印刷時のドットに対応する画素値を書き込むか否かを表すnWriteDotOnを決定する。このとき画素値は入力された色情報に対応する。
式の構成要素の定義を以下に示す。
nCamouflage:カモフラージュ領域指定画像において、画素がカモフラージュ領域であれば0、そうでなければ1。
nSmallDotOn:背景閾値パターンにおいて、画素値が黒であれば1、白であれば0。
nLageDotOn:潜像閾値パターンにおいて、画素値が黒であれば1、白であれば0。
nHiddenMark:潜像背景領域指定画像において、潜像部に相当する画素であれば1、背景部に相当する画素であれば0。
尚、各処理対象画素で式(1)の全ての要素を用いて計算する必要はない。不必要な計算を省くことで処理の高速化を図れる。
また、生成される地紋画像では、背景閾値パターン、潜像閾値パターン、潜像背景領域指定画像、カモフラージュ領域指定画像の縦横の長さの最小公倍数の大きさの画像が繰り返しの最小単位となる。このため、地紋画像生成部201では繰り返しの最小単位である地紋画像の一部分のみを生成して、その地紋画像の一部分を入力背景画像の大きさにタイル状に繰り返し並べることにより、地紋画像生成にかかる処理時間を短縮できる。
次にS405では、S404での計算結果(nWriteDotOnの値)を判定する。nWriteDotOn=1ならばS406に進み、nWriteDotOn=0ならばS407に進む。
S406では、印刷時のドットに対応する画素値を書き込む処理を行う。
画素値の値は、地紋画像の色により変えることができる。黒色の地紋を作成したい場合、入力背景画像の処理対象画素を黒に設定する。
その他、プリンタのトナーまたはインクの色に合わせ、シアン、マゼンダ、イエローに設定すれば、カラーの地紋画像を作成することもできる。
入力背景画像が1画素あたり1〜数ビットの画像データである場合には、インデックスカラーを用いて画素値を表現すればよい。インデックスカラーとは画像データの表現方法で、対象とするカラー画像で頻繁に出現する色情報を目次に設定する(例えばインデックス0は白、インデックス1はシアンなど)。そして、各画素の値を色情報を記載した目次の番号で表現する(例えば、1番目の画素値はインデックス1の値、2番目の画素値はインデックス2の値、・・・と表現する。)
S407では、入力背景画像の処理対象領域の全画素が処理されたかを判定する。入力背景画像の処理対象領域の全画素が処理されていない場合は408に進み、未処理の画素を選択し、再びS404〜S406の処理を実行する。
入力背景画像の処理対象領域の全画素に対する処理が完了していれば、S409に進み、地紋画像生成部201における画像処理を終了する。
以上の処理により、入力背景画像に対して画像処理を加えた地紋画像が生成できる。
次に、生成された地紋画像と入力原稿画像(例えば、帳票や証明書)を合成する合成部202における処理について説明する。
図5は入力原稿画像と地紋画像の合成処理を図的に示した図である。図5の図中符号501はテキスト属性のデータ、符号502はグラフィック属性のデータ、符号503はイメージ属性の地紋画像を表している。テキスト属性のデータ501及びグラフィック属性のデータ502は入力原稿画像に相当する。もちろん、入力原稿画像の種類や形式はこれらの種類や形式に限定されない。
合成部202では、OSの描画インタフェースを用いて、図中符号501〜503の夫々の画像を配置に関する優先順位(レイヤー構造)に従ってソフトウェア的に重ね合わせる。そして、合成部202は、テキスト属性のデータ、グラフィック属性のデータ、及びイメージ属性の地紋画像が合成された画像504を生成する。この処理はコンピュータの一般的なアプリケーションであるドローイング・ソフトにおける画面描画(ディスプレイ描画)とほぼ同様の処理である。尚、合成部202ではOSの描画インタフェース処理に頼ることなく、独自に画像の合成処理を行っても良い。
図5では、イメージ属性の地紋画像503は、テキスト属性のデータ501、グラフィック属性のデータ502と比べて最下位のレイヤーとして重ね合わせられているものとする。
例えば、イメージ属性の地紋画像503とテキスト属性のデータ501が重なる位置では、テキスト属性のデータ501を優先して描画する。従って、地紋画像は入力原稿画像の背景に適切に配置され、テキスト属性のデータやグラフィック属性のデータの視認性を低下させることはない。
また、図5では地紋画像503は入力画像と同じ大きさの画像となっているが、一部の領域にのみ地紋画像を重ね合わせたい場合には、地紋画像生成部201で一部の領域に相当する大きさの入力背景画像を入力し、入力した画像サイズに一致する地紋画像だけを生成し、合成部202で入力原稿画像と合成すればよい。
合成部202で出力する地紋合成出力原稿画像はOSの描画インタフェースで表現されたデータであってもよいし、合成された結果のビットマップ画像であってもよい。
合成部202で生成された地紋合成出力原稿画像は後段の印刷データ処理部203に送られる。
印刷データ処理部203では、OSの描画インタフェースを介して、合成部202で合成された地紋合成出力原稿画像を描画情報として受け取り、逐次印刷コマンドへと変換していく。このとき、必要に応じてカラー・マッチング処理やRGB−CMYK変換、ハーフ・トーン処理などの画像処理を実行する。そして、印刷データ処理部203は、地紋合成出力原稿画像データとして、印刷部204で解釈可能なデータ形式(例えば、ページ記述言語で記述されたデータ形式や印刷ビットマップに展開されたデータ形式)を後段の印刷部204に送る。
印刷部204では、入力された地紋合成出力原稿画像データの情報に従って、地紋合成出力原稿を印刷出力する。
尚、上述した地紋画像の合成方法では、レイヤー構造を有する入力原稿画像に対する合成処理を説明したが、もちろん、レイヤー構造を有していない入力原稿画像に対して地紋画像を合成する処理も可能である。
(複数のカモフラージュ・パターンによる2次元コード表現の技術説明)
次に、デジタル情報(任意の情報)を表現可能なカモフラージュ領域指定画像、換言すればカモフラージュ模様そのものがデジタル情報を有するようにする構成について説明する。この構成では、カモフラージュ模様を複数のパターン(ビット表現パターン)のマトリクスとして構成する。それとともに、その個々のパターン位置を、任意の情報、即ち埋め込みたいデジタル情報とするか、あるいは当該情報をカモフラージュするためのランダム値とするかを、あらかじめ定めた鍵情報で決定する。
カモフラージュ模様として埋め込まれた情報は、偽造抑止地紋と原稿画像とが合成されて出力されたオリジナルとしての出力物からはもちろん、この出力物を複写することで得られた複写物からも抽出が可能なようすることも可能である。本実施形態1においては、オリジナルと複写物から同じ埋め込まれた情報(任意の情報)の抽出が可能とする構成について説明する。
図6を用いて、カモフラージュ模様で任意の情報を表現するための構成について説明する。尚、この構成は地紋画像生成プログラムの一部として設けられてもよいし、地紋画像生成プログラムとは独立して設けられてもよい。本実施形態1ではソフトウェアとして説明するが、ハードウェアとして構成することも可能である。
この構成(機能的構成)は、冗長化部601、鍵情報生成部602、乱数発生部603、鍵情報保持部604、カモフラージュ構成部605から構成される。
冗長化部601は、埋め込む情報(ビット列)の冗長化を行う部分で、冗長化にあたっては、繰り返しや、誤り訂正符号を用いる。例えば、公知のターボ符号を用いることが考えられる。
乱数発生部603は、カモフラージュ模様を構成する複数のパターン(ビット表現パターン)をランダムに配置させるための乱数列を生成する。
鍵情報生成部602は、潜像情報と、文書の大きさの情報、ビット表現パターンより、上述した鍵情報を生成する部分である。オリジナル(地紋画像が印刷された出力物)または複写物から、埋め込まれた情報の抽出を可能とするために、潜像部分にのみ情報を埋込み、それ以外の部分には、ランダムに複数のパターン(ビット表現パターン)を配置させる。そのために、本構成における鍵情報は、オリジナルにおいても、その複写物においても用紙上に再現される領域である潜像画像領域を特定する情報を入力している。生成される鍵情報は、カモフラージュ模様に置換して表現された任意の情報を抽出するために必要となる情報である。また、潜像情報とは地紋画像となる基本画像、即ち上述した潜像背景領域指定画像に相当する。本実施形態1では、潜像部として構成される画像領域に重ねるカモフラージュ・パターン部分でのみ、任意の情報を表現するため、潜像部と背景部とを識別するための情報が必要となる。
ここでビット表現パターンとは、カモフラージュ模様を構成する複数のパターンを指しており、この複数のパターンそれぞれが、異なるビット列若しくは、ビットを表すパターンである。例えば、1ビットの情報を表したければ、2つのパターンを用いて、各々に、1,0を割り当てる。この2つのパターンの例を図7に示す。
また、2ビットの情報(ビット列)を表すには、4つのパターンを用いて、それぞれに00,01,10,11を適当に割り当てる。この4つのパターンの例を図8及び図9に示す。尚、図7、図8、図9で示したパターンによって本発明は限定されるものではなく、いかなる模様やパターン形状であっても構わない。
ここで鍵情報とは、一般的には、要素が0若しくは1である行列であり、この行列のサイズは以下のように決められる。
(行数)=(文書の1ページの横幅)÷(ビット表現パターンの横幅)
(列数)=(文書の1ページの縦幅)÷(ビット表現パターンの縦幅)
つまり、文書の背景中に含まれるビット表現パターンの数だけの要素を持つ。
ここで、一般的には、要素が1の場合は、対応するビット表現パターンが、任意の情報、即ち埋め込みたいデジタル情報であることを示す。要素が0の場合は、対応するビット表現パターンが、このデジタル情報をカモフラージュするためのランダム値を表す。この実施形態1においては、要素が0であるか、1であるかは、複写後に複写物上で顕像化した潜像部に、あるビット表現パターンが全て含まれるかどうかによって決定される。1の場合は、あるビット表現パターンの全てが潜像部に含まれる場合を表し、0の場合はそうでない場合を表す。
次に図10を用いて、鍵情報の一例を示す。図10における大きな×印は潜像を示し、格子はビット表現パターンの境界を示す。この時、鍵情報を表す行列はこの図に重ね合わせて示している。このような鍵情報を使用して形成されたビット表現パターンの組み合わせを図11に示す。この図11は、潜像部と背景部に対してカモフラージュ模様を合成した一例を示している。前述した通り、各要素が1若しくは0のいずれかに定められたカモフラージュ・パターンを有する。
乱数発生部603は、鍵情報の行列の要素0に対応する個々のビット表現パターンを特定するための乱数列を発生する部分である。これは、上述した鍵情報の行列において、0である要素に対応するビット表現パターンをランダムに割り当てられる数字を決定するため用いる。つまり、この実施形態1においては、複写後消えてしまう背景領域のカモフラージュ・パターンには、後に抽出されるべきデータは埋め込まず、ダミーのデータを埋め込む。即ち、出力物において背景部を構成する領域に重ねられたカモフラージュ・パターンは一見すると潜像部に重ねられたカモフラージュ・パターンと同様であるが、そのカモフラージュ・パターンで表現された情報は意味をなさない情報である。
鍵情報保持部604は、主に潜像情報から鍵情報生成部602で生成した鍵情報を保持する部分である。尚、鍵情報はプログラム内部に保持しておいてもよいし、他のデバイス、例えば画像読取装置に出力してもよい。
カモフラージュ構成部605は、鍵情報と、冗長化された情報、乱数列、及びビット表現パターンを用いて、カモフラージュ領域指定画像を構成する部分である。冗長化された情報は、鍵情報の行列で要素が1である部分に相当するビット表現パターンを用いて埋め込まれる。また、乱数列は要素が0である部分に相当するビット表現パターンを用いて埋め込まれることになる。このようにして、カモフラージュ領域指定画像が構成される。
そして、このカモフラージュ領域指定画像が、図2のカモフラージュ領域指定画像として、上述の地紋画像生成部に入力され、デジタル情報が埋め込まれた地紋画像の生成が可能となる。
尚、文書1ページの大きさの情報が必要なのは、出力されるカモフラージュ領域指定画像の大きさが文書1ページの大きさと等しいことを前提としているからである。この前提によって、潜像領域を表すパターンは、任意の大きさを取ることができる。
前にも述べた通り、カモフラージュ構成部605で出力されるカモフラージュ領域指定画像は、ここでは、潜像部と背景部との境目を人間の目に分かり難くする役割のみならず、デジタル情報を表現する機能も有し、図7〜図9に示されるようなビット表現パターンによって構成される。
また、ここで鍵情報とは、次のような処理によって作られる行列で、その各要素はビット表現パターンの各々が潜像部分に全て含まれるかどうかを各ビット表現パターン毎に表す情報である。この鍵情報において、全て含まれる場合は1、そうでない場合は0を要素とする。
上述したように鍵情報は、行列の形で表現される。説明を簡単にするために、例えば、鍵情報を、000111010とする。乱数列のビット列を各2ビットから構成されるr1,r2,r3,r4,r5,r6,r7,r8,r9とする。そして、任意の情報のビット列を各2ビットから構成されるa,b,c,dとし、ビット表現パターンが例えば図8に示すように指定されると仮定する。この場合、鍵情報によって、最終的にr1,r2,r3,a,b,c,r7,d,r9の形のビット列が生成され、このビット列に対応するビット表現パターンが順番に並べられる。また、この場合に、r1,r2,r3,a,b,c,r4,d,r5の形のビット列を生成してもかまわない。要するに、任意の情報のビット列は、鍵情報の要素が1の場所にのみ順番に割り当てられる。
次に、以上の図6〜11を参照した処理を、ソフトウェアの処理として、CPU111が実行する場合の手順について図12のフローを用いて説明する。
先ず、始めに、S1201で、カモフラージュ模様として埋め込む任意の情報(データ)の入力を行う。この入力は、ユーザなどが、ユーザ・インタフェースを通して行うようにする。または、地紋画像生成プログラムまたは他のプログラムなどが自動的に実行してもよい。また、ここで、後述する潜像情報、文書の大きさ情報、ビット表現パターンの入力、または選択等を行ってもよい。そして、冗長化部においてS1202で、入力されたデータの冗長化を行う。この冗長化の目的には、上述した以外に、任意の情報、即ち埋め込みたいデジタル情報に基づくビット表現パターン(鍵情報の行列の要素1に対応する)にランダム性を持たせること、即ち、その周囲のビット表現パターンに対して一見して特定のデータを表していることを気付かせないこと、がある。例えば、特定のビット表現パターンが2回連続したら、次には、その次の順序のビット表現パターンとすることも可能である。
次に、乱数発生部によってS1203で、乱数列の生成を行う。続いて、鍵情報生成部によってS1204で、潜像情報、文書の大きさ情報、ビット表現パターンに基づいて鍵情報生成処理を行う。その後、S1205で、複数のビット表現パターンが入力される。ステップS1206でカモフラージュ構成部605が、冗長化された情報、乱数列、鍵情報、ビット表現パターンに基づいてカモフラージュ領域指定画像の出力を行う。
尚、上述した実施形態1では、複写物からも確実に情報を抽出可能とするために潜像部に対して任意の情報を表現としたカモフラージュ・パターンを重ねる構成を示した。しかし、逆に、複写物からは任意の情報を抽出できないことを目的として、背景部に任意の情報を表現したカモフラージュ・パターンを重ねることも可能である。この場合、鍵情報生成部602において、要素が0であるか、1であるかの指定を、背景部にビット表現パターンが含まれるかどうかによって決定すればよい。
以上の構成においては、任意の情報、即ち埋め込みたいデジタル情報を潜像部と背景部のどちらに対して行うかにかかわらず、鍵情報生成部は、潜像情報を使用する。
(原稿読み取り時の説明)
次に、原稿読み取り動作を説明する。背景技術で説明した複写機において、原稿を読み取る際には、露光走査して、CCD(charge-coupled device)で輝度データを読み取り、A/D(analog to digital)変換した後に、所定の画像処理シェーディング、LOG変換などの一連の処理が行われるが、これらの手順を以下説明する。
図14は、本実施形態1の複写機の構成を示したブロック図である。図14の複写機は、リーダ部Aとプリンタ部Bとから成るフルカラー複写機であるが、ここでは、リーダ部についてのみ説明する。
原稿台ガラス1402上に置かれた原稿1401は、光源1403によって照射され、光学系1404を介してCCDセンサ1405に結像される。CCDセンサ1405は、3列に配列されたレッド、グリーン、ブルーのCCDラインセンサ群により構成され、ラインセンサごとにレッド、グリーン、ブルーの色成分信号を生成する。これら読み取り光学系ユニットが、矢印の方向に走査することにより、原稿1401を、ラインごとの電気信号データ列に変換する。
原稿台ガラス1402上には、原稿の位置をつき当てて、原稿が斜め置かれるのを防ぐつき当て部材1407が配置されている。また、原稿台ガラス1402上の原稿台ガラス面に、CCDセンサ1405の白レベルを決定し、CCDセンサ1405のスラスト方向のシェーディングを行うための、基準白色板1406が配置されている。CCDセンサ1405により得られた画像信号は、リーダ画像処理部1408にて画像処理された後、プリンタ部Bに送られ、プリンタ制御部1409で画像処理される。次に、リーダ画像処理部1408について説明する。
図15は、リーダ画像処理部1408における画像信号の処理の流れを示したブロック図である。CCDセンサ1405より出力された画像信号は、アナログ信号処理部1501に入力され、ゲイン調整及びオフセット調整をされた後、A/D変換部1502で、各色信号毎に8bitのディジタル画像信号R1、G1、B1に変換される。次に、シェーディング補正部1503に入力され、色ごとに基準白色板1406の読取り信号を用いた公知のシェーディング補正が施される。
クロック発生部1511は、1画素単位のクロックを発生する。主走査アドレスカウンタ1512では、クロック発生部1511からのクロックを計数し、1ラインの画素アドレス出力を生成する。デコーダ1513は、主走査アドレスカウンタ1512からの主走査アドレスをデコードする。デコーダ1513は、シフトパルスやリセットパルス等のライン単位のCCD駆動信号、CCDからの1ライン読み取り信号中の有効領域を表すVE(垂直同期信号の終了)信号、ライン同期信号HSYNC(horizontal synchronizing signal)を生成する。尚、主走査アドレスカウンタ1512は、HSYNC信号でクリアされ、次ラインの主走査アドレスの計数を開始する。
CCDセンサ1405の各ラインセンサは、相互に所定の距離を隔てて配置されているため、ラインディレイ回路1504において、副走査方向の空間的ずれを補正する。具体的には、B信号に対して副走査方向で、R、Gの各信号を副走査方向にライン遅延させてB信号に合わせる。
入力マスキング部1505は、CCDセンサーのR、G、Bのフィルタの分光特性で決まる読み取り色空間を、NTSC(National Television System Committee)の標準色空間に変換する部分であり、次式のようなマトリックス演算を行う。
光量/濃度変換部(LOG変換部)1506は、ルックアップテーブルROMにより構成され、R4、G4、B4の輝度信号がC0、M0、Y0の濃度信号に変換される。ライン遅延メモリ1507は、不図示の黒文字判定部で、R4、G4、B4信号から生成されるUCR、FILTER等の判定信号までのライン遅延分だけ、C0、M0、Y0の画像信号を遅延させる。
マスキング及びUCR回路1508は、入力されたY1、M1、C1の3原色信号により黒信号(K)を抽出する。更に、UCR回路1508は、プリンタ部Bでの記録色材の色濁りを補正する演算を施して、Y2、M2、C2、K2の信号を各読み取り動作の度に順次、所定のビット幅(8bit)で出力する。γ補正回路1509は、リーダー部Aにおいて、プリンタ部Bの理想的な階調特性に合わせるべく濃度補正を行う。また、空間フィルタ処理部(出力フィルタ)1510は、エッジ強調又はスムージング処理を行う。このように処理されたM4、C4、Y4、K4の面順次の画像信号は、プリンタ制御部1409に送られ、プリンタ部BでPWM(パルス幅変調)による濃度記録が行われる。
また、リーダ画像処理部1408においては、リーダ部Aの制御を行うCPU1514と、RAM1515と、ROM1516と、表示器1518を有する操作部1517とを備えている。上述した画像信号の処理の流れは、CPU1514によって実行される。CPU1514は、RAM1515やROM1516に格納されているプログラムやデータを用いて、リーダ部A全体の制御を行うとともに、後述する各処理を行う。ROM1516は、各処理をCPU1514に実行させるためのプログラム(例えば、後述の読み取りプログラム)、各種情報などを記憶している。
図16は、リーダ画像処理部における各制御信号を示したタイミングチャートである。VSYNC信号は、副走査方向の画像有効区間信号であり、論理“1”の区間において、画像読取り(スキャン)を行って、順次、(C)、(M)、(Y)、(K)の出力信号を形成する。VE信号は、主走査方向の画像有効区間信号であり、論理“1”の区間において主走査開始位置のタイミングをとり、主にライン遅延のライン計数制御に用いられる。CLOCK信号は、画素同期信号であり、“0”→“1”の立ち上がりタイミングで画像データを転送するのに用いられる。
次に、地紋画像が含まれる原稿が上述したリーダ部によって読み取られた場合を説明する。この場合、CCDの密度によって、再現出来る高周波成分に限界があるため、ある一定以上の高周波成分は、再現が出来ないと考えられる。つまり、読み取り原稿上で、細かい点で構成される偽造抑止地紋の背景部は、複写の際に消失し、潜像部のみが複写物において残る。従って、複写時に潜像部が顕像化する要因は、リーダ部にあるといえる。
以下、本発明の特徴となる2次元コード化されたカモフラージュ・パターンの読み取り時の処理について説明する。これは、2つの処理がある。一つは、複写されたものからも抽出可能な処理(実施形態1)、もう一つは、オリジナルからのみ抽出可能な処理(実施形態2)である。
以下、本実施形態1の、複写されたものからも抽出可能な処理について説明する。図1〜12を参照し説明した埋め込み処理によって上記のように作成された2次元カモフラージュ・パターンを含む地紋画像とコンテンツ画像が合成されたプリント物を、スキャンした時の処理について説明する。
この処理は、リーダ画像処理部1408のような以下に述べるデジタル情報抽出装置によって行われる。先ず、デジタル情報抽出装置の機能的な構成について、図17を用いて説明する。
デジタル情報抽出装置は図17に示すような、スキャン部、ローパスフィルタ部、二値化部、反転部、各ビットパターン抽出部、認識部、復号部から構成される。尚、この構成は読み取りプログラムの一部として設けられているソフトウェアとして説明するが、ハードウェアとして構成することも可能である。
スキャン部3201は、デジタル情報を表現する偽造抑止地紋を背景とする印刷文書を読み込み、グレースケールの画像データへ変換する。ここでは、グレースケールの電子画像データは、一つの画素が256階調を持つ。
ローパスフィルタ部3202は、スキャン部3201で入力された電子画像データに、適当な低域通過フィルタを施す。これにより、偽造抑止地紋の大ドットの間とドットを平滑化し、カモフラージュのパターンを強調する。
図18は、地紋の入った画像に低域通過フィルタを施す際の例を示した図である。この図18では、左の図が、「VOID」という文字列が潜像として入った地紋画像3501であり、右の図はその地紋画像に低域通過フィルタを施した後の画像3502である。
二値化部3203は、低域通過フィルタを適用した画像の二値化を行う。ここでの二値化とは、予め定められた適当な閾値に基づき、閾値以上の値を1に、閾値未満の値を0に置き換える操作である。ここでは、1が黒を表し、0が白を表すとする。
図19にこの二値化を行う際の例を示す。この図19においては、左が2値化前の画像3601であり、右が2値化後の画像3602である。
反転部3204は、二値化部で二値化された画像の各画素値の反転を行う。即ち、画素値が0の画素はその画素値を1に、1の画素は0に変更する。図20は反転を行う際の操作前後の例を示す。図中符号3701が反転前の画像であり、3702が反転後の画像を示す。
以上の各部による操作が、認識のための前処理であり、カモフラージュ・パターンを構成するビット表現パターンを浮き上がらせるために行う。また、文字や表の枠線等のスキャンされた際に高い濃度で表される文書の前景は、2値化と反転の操作によって、ここでは0となると期待される。
各ビット表現パターン抽出部3205は、連結成分の抽出により、カモフラージュ・パターンを構成するビット表現パターンを抽出する。連結成分の抽出は、文書画像をテキストの領域、図の領域などに分割する際に使われる技術で、当業者には周知である。ビット表現パターンを抽出するにあたっては、垂直方向と、水平方向の射影を取り、密度の低い部分の周期を検出することにより、抽出する。
各ビット表現パターン抽出部3205は具体的には、各ビット表現パターンの領域情報を抽出する。ここで、領域情報は各ビット表現パターンに外接する矩形である。また矩形の領域は、図23に示すような、領域の左上の座標と高さと幅の情報の組み合わせで表せる。
認識部3206は、抽出された各ビット表現パターンの領域情報に基づき、各ビット表現パターンが表す情報を認識し、スキャンされた印刷ドキュメント中で表現されるデジタル情報(上述された任意の情報)を、各要素が0若しくは1であるビット列として抽出する。認識の際には、図1〜12の埋め込み処理で生成された鍵情報を参照して、潜像部に相当するビット表現パターンのみの認識を行う。
認識部3206は、背景部に相当するビット表現パターンには、抽出には関係のない値(例えば、ランダムな値)が入っている事を前提とし、何の処理も行わない。
ここでは、パターンマッチングの方法として、定点サンプリング法を用いる。定点サンプリング法とは、図22に示すように、パターン中のある決められた場所(図中に○で示す。)に、ドットがあるかないかで、そのパターンが何であるかを判断する方法である。
図21を用いて、ビット表現パターンをマッチングする際の方法を説明する。ここでは4つの箇所をチェックすることで、そのパターンが何であるかを判断する。4つの箇所とは、図中符号3901〜3905の各々にA,B,C,Dで示した箇所である。
以上の方法によって、
A:白、B:白、C:黒、D:黒ならば、00を示し、(3902参照)
A:白、B:黒、C:黒、D:白ならば、01を示し、(3903参照)
A:黒、B:白、C:白、D:黒ならば、10を示し、(3904参照)
A:黒、B:黒、C:白、D:白ならば、11を示す。(3905参照)
というパターンマッチングが可能となる。
この定点サンプリング法は、古くから文字認識の技術の一つとして知られる(非特許文献1参照)。但し、パターンマッチングの方法はこの定点サンプリング法に限るものではなく、それ以外の方法を用いても構わない。
例えば、パターンマッチングの方法をマッチドフィルタや、フーリエ位相相関法と呼ばれる周知の方法を使用してもよい(非特許文献2参照)。また、この場合には、例えば、図21に示すようなトランプのハート、スペード、クラブ、ダイヤといった任意のパターンを適用出来る。
そして、誤り訂正復号部3207において、上記の決定されたビット列に対して誤り訂正復号を行う。以上の操作により、埋め込まれたデジタル情報を、印刷された文書の偽造抑止地紋中の潜像部から抽出することが出来る。
以上の処理により、デジタル情報抽出装置は、カモフラージュ・パターンで表されたデジタル情報を抽出する。
上述のオンデマンド地紋印刷システムと複写機とを組み合わせることにより、カモフラージュ・パターンを含む地紋画像とコンテンツ画像とが合成されたプリント物を作成し、そのプリント物からコード化されたカモフラージュ・パターンを読み取るシステムが構築できる。
[実施形態2]
実施形態1においては、複写後の複写物、つまり背景画像が消えるか薄くなり、潜像画像が顕像化した状態の紙から、地紋画像のカモフラージュ模様として表現した任意の情報を抽出するための処理について述べた。これは、鍵情報の一つとして、潜像の情報を有し、情報を埋め込む部分が潜像の部分のみであることにより実現される。これは、潜像部は複写物においても再現されるため、その潜像部に重なるように描画されたカモフラージュ模様も複写物において識別可能となるためである。また、逆に、情報を埋め込む部分が背景部とする場合についても付記した。
即ち、実施形態1においては、複写物から情報を抽出することを前提とし、複写物において再現される潜像部に存在するカモフラージュ模様に対してデジタル情報を埋め込む処理及び、その抽出方法を説明した。もちろん、この方法であれば、複写前の出力物、即ち、地紋画像とコンテンツ画像とが合成されプリントアウトされた出力物(以下、オリジナルと呼ぶ)からも情報の抽出が可能である。
以下本実施形態2では、2次元コード化されたカモフラージュ・パターンの読み取り時の処理に関して、オリジナルからのみ抽出可能な処理について説明する。
上述した実施形態1に対して、本実施形態2では、オリジナルの偽造抑止地紋画像、即ち通常の出力物からのみ、任意の情報を抽出することを意図した場合の構成について説明する。本実施形態2は、情報をカモフラージュ模様とするための構成は上述した実施形態1とほぼ同様であるが、実施形態1が鍵情報を生成する際に潜像情報を必要とするのに対し、本実施形態2では鍵情報の生成にあたって潜像情報を必要としない、という点が創始する。言い換えれば、本実施形態2は、潜像部を設けない場合を、あるいは、潜像部と背景部と分けることなく同じように扱うことができる画像を、対象とする。この構成を図13に示す。尚、生成の手順や各処理部における処理内容は基本的に実施形態1と同様である。
偽造抑止地紋とコンテンツ画像とが合成されて出力された通常の出力物、即ちオリジナルからのみ任意の情報を抽出することを考慮するならば、潜像部のみならず背景部に対して重ねられるカモフラージュ模様でも情報を表現することが可能となる。
図13に示す構成で、図6に示した構成と異なる部分は、鍵情報生成部1302である。図には示していないが、鍵情報の行列における要素を1とするか、あるいは0とするかを決定する情報が必要になることが理解される。実施形態1では、それを潜像情報に基づいて行た。本実施形態2では、あらかじめ決定されている領域内を要素1としたり、図2に示す入力原稿画像の空白領域を検出してその領域の全て、あるいは一部を要素1とすることも可能である。特に、要素1の部分を入力原稿画像の空白領域とした場合には、カモフラージュ用パターンの種類は大きさに関わらず、入力原稿画像の文字、グラフ、記号等を含まないカモフラージュ用パターンのみを読み取りに使用することになる。その結果得られるデータを正確なデータとすることが可能になる。もちろん、入力原稿画像の文字、グラフ、記号等によって上書きされたカモフラージュ用パターンであっても、カモフラージュ用パターンの大きさ等を考慮する(例えば、行間の活用)ことも可能である。これにより、カモフラージュ用パターンの検出が上書きされる文字等の大きさや位置によって影響を受けないようにできる。
尚、カモフラージュ模様として埋め込んだデータの取得の面から、鍵情報の各種生成に関して、以下にまとめておく。
1)潜像部のみを要素1とする;オリジナルとそのコピーからデータ取得が可能である。しかし、その上に印刷される入力原稿画像の影響を受ける。
2)背景部のみを要素1とする;オリジナルのみからデータ取得が可能である。しかし、その上に印刷される入力原稿画像の影響を受ける。
3)潜像情報を使用せずに、入力原稿画像の空白領域の全て、あるいはその一部を要素1とする;オリジナルのみからデータ取得が可能である。その上に印刷される入力原稿画像の影響を受けることはない。空白領域が少ない場合に、埋め込むことが可能なデータ量が減少することになる。
本実施形態2は、複写物からの情報抽出を考慮しない場合、即ち、地紋画像とコンテンツ画像とが合成されたプリントアウト(オリジナル)からのみ情報を抽出する。
その場合、実施形態1に記載の構成に比べると、潜像部のみならず背景部のカモフラージュ模様でも情報を表現できるため、潜像部のカモフラージュ模様だけに情報を埋め込む構成よりも、多くの情報を埋め込める利点がある。
このような地紋画像の生成に関しては、上述した潜像の情報、即ち潜像の鍵情報を有さずにカモフラージュ模様を生成する点が実施形態1とは異なる。それ以外の点は、実施形態1と同様である。
また、生成された地紋画像を読み取る場合には、情報の抽出に潜像の鍵情報を用いない点で実施形態1と異なるが、それ以外の処理は実施形態1と同様である。潜像の鍵情報を用いないことにより、図17の認識部3206では背景部と潜像部双方のカモフラージュ模様を認識の対象とする。
上述のオンデマンド地紋印刷システムと複写機とを組み合わせることにより、カモフラージュ・パターンを含む地紋画像とコンテンツ画像とが合成されたプリント物を作成し、そのプリント物からコード化されたカモフラージュ・パターンを読み取るシステムが構築できる。
[その他の実施形態]
尚、上述した実施形態1及び実施形態2は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。
また、前述した実施形態の機能を実現するソフトウェアのプログラム・コードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラム・コードを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラム・コード自体が前述した実施形態の機能を実現することになり、そのプログラム・コードを記録した記録媒体は本実施形態を構成することになる。また、コンピュータが読み出したプログラム・コードを実行することにより、前述した実施形態の機能が実現される場合だけが含まれるわけでない。そのプログラム・コードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラム・コードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラム・コードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本実施形態を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートや機能構成に対応するプログラム・コードが格納されることになる。
尚、上述した実施形態は、いずれも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。