[実施例1]
以下、図面を用いて本発明を実施するための最良の形態を証明する。
図1は本発明の実施形態に係る印刷システムの構成を示すブロック図である。このシステムではホストコンピュータ40及び3台の画像形成装置(10,20,30)がLAN50に接続されている。このように本実施例では接続方法としてLANを適用しているが、これに限られることはない。例えば、WAN(公衆回線)などの任意のネットワーク、USBなどのシリアル伝送方式、セントロニクスやSCSIなどのパラレル伝送方式なども適用可能である。
ホストコンピュータ(以下、PCと称する)40はパーソナルコンピュータの機能を有している。このPC40はLAN50やWANを介してFTPやSMBプロトコルを用いファイルを送受信したり電子メールを送受信したりすることができる。またPC40から画像形成装置10、20、30に対して、プリンタドライバを介した印字命令を行うことが可能となっている。
画像形成装置10と20は同じ構成を有する装置である。画像形成装置30はプリント機能のみの画像形成装置であり、画像形成装置10や20が有するスキャナ部を有していない。以下では、説明の簡単のために画像形成装置10に注目して、画像形成装置の構成を説明する。
画像形成装置10は、画像入力デバイスであるスキャナ部13、画像出力デバイスであるプリンタ部14、画像形成装置10全体の動作制御を司るコントローラ(CONTROLLER Unit)11、ユーザインターフェース(UI)である操作部12から構成される。
<画像形成装置10(図2)>
画像形成装置10の外観を図2に示す。スキャナ部13は、原稿上の画像を露光走査して得られた反射光をCCDに入力することで画像の情報を電気信号に変換する。スキャナ部はさらに電気信号をRGB各色からなる輝度信号に変換し、当該輝度信号を画像データとしてコントローラ11に対して出力する。
なお、原稿は原稿フィーダ201のトレイ202にセットされる。ユーザが操作部12から読み取り開始を指示すると、コントローラ11からスキャナ部13に原稿読み取り指示が与えられる。スキャナ部13は、この指示を受けると原稿フィーダ201のトレイ202から原稿を1枚ずつフィードして原稿の読み取り動作を行う。なお、原稿の読み取り方法は原稿フィーダ201による自動送り方式ではなく、原稿を不図示のガラス面上に載置し、露光部を移動させることで原稿の走査を行う方法であってもよい。
プリンタ部14は、コントローラ11から受け取った画像データを用紙上に形成する画像形成デバイスである。なお、本実施例において画像形成方式は感光体ドラムや感光体ベルトを用いた電子写真方式となっているが、本発明はこれに限られることはない。例えば、微少ノズルアレイからインクを吐出して用紙上に印字するインクジェット方式などでも適用可能である。また、プリンタ部14には、異なる用紙サイズ又は異なる用紙向きを選択可能とする複数の用紙カセット203、204、205が設けられている。排紙トレイ206には印字後の用紙が排出される。
<コントローラ11の詳細説明(図3)>
図3は、画像形成装置10のコントローラ11の構成をより詳細に説明するためのブロック図である。
コントローラ11はスキャナ部13やプリンタ部14と電気的に接続されており、一方ではLAN50やWAN331を介してPC40や外部の装置などと接続されている。これにより画像データやデバイス情報の入出力が可能となっている。
CPU301は、ROM303に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ内部で行われる各種処理についても統括的に制御する。RAM302は、CPU301が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このRAM302は、記憶した内容を電源off後も保持しておくSRAM及び電源off後には記憶した内容が消去されてしまうDRAMにより構成されている。ROM303には装置のブートプログラムなどが格納されている。HDD304はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
操作部I/F305は、システムバス310と操作部12とを接続するためのインターフェース部である。この操作部I/F305は、操作部12に表示するための画像データをシステムバス310から受け取り操作部12に出力すると共に、操作部12から入力された情報をシステムバス310へと出力する。
NetworkI/F306はLAN50及びシステムバス310に接続し、情報の入出力を行う。Modem307はWAN331及びシステムバス310に接続しており、情報の入出力を行う。2値画像回転部308は送信前の画像データの方向を変換する。2値画像圧縮・伸張部309は、送信前の画像データの解像度を所定の解像度や相手能力に合わせた解像度に変換する。なお、圧縮及び伸張にあたってはJBIG、MMR、MR、MHなどの方式が用いられる。画像バス330は画像データをやり取りするための伝送路であり、PCIバス又はIEEE1394で構成されている。
スキャナ画像処理部312は、スキャナ部13からスキャナI/F311を介して受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナ画像処理部312は、受け取った画像データがカラー原稿か白黒原稿かや、文字原稿か写真原稿かなどを判定する。そして、その判定結果を画像データに付随させる。こうした付随情報を像域データと称する。このスキャナ画像処理部312で行われる処理の詳細については後述する。
プリンタ画像処理部315は、画像データを受け取ると、この画像データに付随させられている像域データを参照しながら画像データに画像処理を施す。画像処理後の画像データは、プリンタI/F314を介してプリンタ部14に出力される。このプリンタ画像処理部315で行われる処理の詳細については後述する。
画像変換部317は、画像データに対して所定の変換処理を施す。この処理部は以下に示すような処理部により構成される。
回転部320は受け取った画像データを回転する。変倍部321は受け取った画像データに対し解像度変換処理(例えば600dpiから200dpi)を行う。色空間変換部322は受け取った画像データの色空間を変換する。この色空間変換部322は、マトリクス又はテーブルを用いて公知の下地飛ばし処理を行ったり、公知のLOG変換処理(RGB→CMY)を行ったり、公知の出力色補正処理(CMY→CMYK)を行ったりすることができる。2値多値変換部323は受け取った2階調の画像データを256階調の画像データに変換する。逆に多値2値変換部324は受け取った256階調の画像データを誤差拡散処理などの手法により2階調の画像データに変換する。
合成部327は受け取った2つの画像データを合成し1枚の画像データを生成する。なお、2つの画像データを合成する際には、合成対象の画素同士が持つ輝度値の平均値を合成輝度値とする方法や、輝度レベルで明るい方の画素の輝度値を合成後の画素の輝度値とする方法が適用される。また、暗い方を合成後の画素とする方法の利用も可能である。さらに合成対象の画素同士の論理和演算、論理積演算、排他的論理和演算などで合成後の輝度値を決定する方法なども適用可能である。また、合成方法には、この他にも上書き合成などが存在する。上書き合成とは、合成後の画像データにおける輝度値や濃度値として、片方の画像データの輝度値や濃度値を採用する合成方法のことを示す。そのため、例えば画像データAを画像データBに上書き合成した場合には、合成後の画像データは画像データAと一致することになる。また、画像データCを画像データDの所定の領域に上書き合成した場合には、合成後の画像データにおける所定の領域の輝度値や濃度値は画像データAの輝度値や濃度値と一致し、所定の領域以外の領域は画像データBの輝度値や濃度値と一致することになる。なお、これらの合成方法はいずれも周知の手法である。間引き部326は受け取った画像データの画素を間引くことで解像度変換を行い、1/2,1/4,1/8などの画像データを生成する。移動部325は受け取った画像データに余白部分をつけたり余白部分を削除したりする。
RIP328は、PC40などから送信されたPDLコードデータを元に生成された中間データを受け取り、ビットマップデータ(多値)を生成する。
<スキャナ画像処理部312の詳細説明(図4)>
図4にスキャナ画像処理部312の内部構成を示す。
スキャナ画像処理部312はRGB各8bitの輝度信号からなる画像データを受け取る。この輝度信号は、マスキング処理部401によりCCDのフィルタ色に依存しない標準的な輝度信号に変換される。
フィルタ処理部402は、受け取った画像データの空間周波数を任意に補正する。この処理部は、受け取った画像データに対して、例えば7×7のマトリクスを用いた演算処理を行う。ところで、複写機や複合機では図6における604タブの押し下げによりコピーモードとして文字モードや写真モードや文字/写真モードを選択することができる。ここでユーザにより文字モードが選択された場合には、フィルタ処理部402は文字用のフィルタを画像データ全体にかける。また、写真モードが選択された場合には、写真用のフィルタを画像データ全体にかける。また、文字/写真モードが選択された場合には、後述の文字写真判定信号(像域データの一部)に応じて画素ごとに適応的にフィルタを切り替える。つまり、画素ごとに写真用のフィルタをかけるか文字用のフィルタをかけるかが決定される。なお、写真用のフィルタには高周波成分のみ平滑化が行われるような係数が設定されている。これは、画像のざらつきを目立たせないためである。また、文字用のフィルタには強めのエッジ強調を行うような係数が設定されている。これは、文字のシャープさを出すためである。
ヒストグラム生成部403は、受け取った画像データを構成する各画素の輝度データをサンプリングする。より詳細に説明すると、主走査方向、副走査方向にそれぞれ指定した開始点から終了点で囲まれた矩形領域内の輝度データを、主走査方向、副走査方向に一定のピッチでサンプリングする。そして、サンプリング結果を元にヒストグラムデータを生成する。生成されたヒストグラムデータは、下地飛ばし処理を行う際に下地レベルを推測するために用いられる。入力側ガンマ補正部404は、テーブル等を利用して非線形特性を持つ輝度データに変換する。
カラーモノクロ判定部405は、受け取った画像データを構成する各画素が有彩色であるか無彩色であるかを判定し、その判定結果をカラーモノクロ判定信号(像域データの一部)として画像データに付随させる。文字写真判定部406は、画像データを構成する各画素が文字を構成する画素なのか、文字以外(例えば、写真など)を構成する画素なのかを判定する。そして、その判定結果を文字写真判定信号(像域データの一部)として画像データに付随させる。
<プリンタ画像処理部315の詳細説明(図5)>
図5にプリンタ画像処理315においてなされる処理の流れを示す。
下地飛ばし処理部501は、スキャナ画像処理部312で生成されたヒストグラムを用いて画像データの下地色を飛ばす(除去する)。モノクロ生成部502はカラーデータをモノクロデータに変換する。LOG変換部503は輝度濃度変換を行う。このLOG変換部503は、例えば、RGB入力された画像データを、CMYの画像データに変換する。出力色補正部504は出力色補正を行う。例えばCMY入力された画像データを、テーブルやマトリックスを用いてCMYKの画像データに変換する。出力側ガンマ補正部505は、この出力側ガンマ補正部505に入力される信号値と、複写出力後の反射濃度値とが比例するように補正を行う。中間調補正部506は、出力するプリンタ部の階調数に合わせて任意の中間調処理を行う。この中間調補正部506は、例えば、受け取った高階調の画像データに対し2値化や32値化などを行う。
なお、スキャナ画像処理部312やプリンタ画像処理部315における各処理部では、受け取った画像データに各処理を施さずに出力させることも可能となっている。また、各処理における係数を小さくすることで、画像データに対して画像処理の影響を小さくすることができる。コントローラ11の説明は以上である。
<操作画面の説明>
続いて、図6を用いて操作画面を説明する。
図6は画像形成装置10における初期画面である。領域601は、画像形成装置10がコピーできる状態にあるか否かを示し、かつ設定したコピー部数を示す。原稿選択タブ604は原稿のタイプを選択するためのタブであり、このタブが押し下げられると文字、写真、文字/写真モードの3種類の選択メニューをポップアップ表示される。フィニッシングタブ606は各種フィニッシングに関わる設定を行うためのタブである。両面設定タブ607は両面読込み及び両面印刷に関する設定を行うためのタブである。読み取りモードタブ602は原稿の読み取りモードを選択するためのタブである。このタブが押し下げられるとカラー/ブラック/自動(ACS)の3種類の選択メニューがポップアップ表示される。なお、カラーが選択された場合にはカラーコピーが、ブラックが選択された場合にはモノクロコピーが行われる。また、ACSが選択された場合には、上述したモノクロカラー判定信号によりコピーモードが決定される。
<通常のコピー動作の説明>
続いてコピー動作について説明する。スキャナ部13で読み取られた原稿は、画像データとしてスキャナI/F311を介してスキャナ画像処理部312に送られる。スキャナ画像処理部312は、この画像データに対して図4に示す処理を行い、新たな画像データと共に像域データを生成する。また、この像域データを画像データに付随させる。続いて、像域データが付随した画像データはRAM302に送られ格納される。その後、RAM302に格納されている画像データはプリンタ画像処理部315に送られる。プリンタ画像処理部315は、画像データに付随されている像域データに応じた画像データ編集を行う。この処理は図5で示した処理である。プリンタ画像処理部315において編集が終了した画像データはプリンタI/F314を介してプリンタ部14に送られる。最後に、プリンタ部14は出力用紙上に画像形成を行う。
なお、スキャナ画像処理部312やプリンタ画像処理部315内の各処理部、つまり図4や図5で示した各処理部における編集方法は、レジスタの切り替えにより切り替えられる。このレジスタの切り替えは、像域データや操作部12からの(ユーザによる)設定情報などに応じて行われる。また、上述の説明では省略したが、必要に応じて、ROM303やHDD304に格納される処理やROM303やHDD304に格納されている画像データの取出し処理が行われてもよいことは言うまでもない。
<通常のPDLプリント動作の説明>
続いて、PDLプリント動作について説明を行う。LAN50経由でPC40より送られたPDLデータは、NetworkI/F306を介してRAM302に送られ格納される。このRAM302に格納されているPDLデータを解釈することにより生成された中間データは、RIP328に送られる。RIP328は、この中間データをレンダリングしラスタ形式の画像データを生成する。そして、その後RAM302に画像データが送られて格納される。
その後、RAM302から画像データが読出される。なお、この画像データには、PDLデータ内に含まれていたオブジェクトデータ(文字画像か写真画像か等を示すデータ)に相当する像域データが付随されている。ところで、PDLプリントが指示されている場合には、この画像データはプリンタ部14に送られ出力用紙上に画像形成される。この動作はコピー動作と同様なため説明を省略する。
<原稿の原本性保証について>
以下では、原本性を保証できる複数ページからなる原稿をプリントアウトするための処理と、当該プリントアウトされた原稿が原本であるか否かを検知する処理とについて説明を行う。
まず、原本性を保証できる原稿をプリントアウトする際には、原稿内の各ページの特徴量を異なる別ページに埋め込み、当該別ページに各ページの特徴量が埋め込まれた原稿を生成する。そして、当該生成された原稿を出力する。以下では、この原本性が保証された出力物を原本性保証出力物と称するとともに、原本性保証がされていない出力物を通常出力物と称する。
一方、原稿をスキャナなどで読み取り、当該読み取られた原稿が原本であるか否かを判定する装置が存在する。この装置のことを本実施例では検知装置と称する。なお、検知装置は、読み取られた原稿を構成する各ページの画像データから特徴量を生成するとともに、異なるページに埋め込まれた特徴量を取得し、これら二つの特徴量を比較する処理を行う。そして、全てのページにおいて特徴量が等しい場合には「原本である」と判定し、1ページでも特徴量が等しくないページがある場合には「原本でない」と判定する。以下では、この判定処理のことを原本性判定処理と称する。
まずは、このうち原本性保証出力物の作成処理について詳細に説明する。
<原本性保証出力物の作成処理>
図7に示すフローチャートは、本発明における原本性保証出力物の作成処理の好適な実施形態を示す。なお、以下の説明におけるホストコンピュータ40内での処理(ステップ701〜ステップ703)はホストコンピュータ40内のCPUにより統括的に制御される。また、画像形成装置10での処理(ステップ704〜ステップ710)は、当該画像形成装置10内のCPU301により統括的に制御される。
まずユーザは、ホストコンピュータ40の操作部を介して不図示の操作画面において、「原本性保証をする」か「原本性保証をしない」かについて選択指示する。さらに、出力したい複数ページからなる原稿のプリントアウトを指示する。このように指示されると、以下の処理が開始される。
ステップ701では、ホストコンピュータ40上で、上記選択指示を受け付けて原本性保証コマンドを生成する。
ステップ702では、ホストコンピュータ40上で、原本性保証コマンド及び原稿データに基づいてPDLデータを生成する。
ステップ703では、ホストコンピュータ40上で、PDLデータをLAN50経由で画像形成装置10に対して送信する。
ステップ704では、画像形成装置10上で、PDLデータを受信しRAM302に格納する。
ステップ705では、RAM302からPDLデータを読み出し、RIP328に送る。RIP328は、このPDLデータにレンダリング処理を行い、ビットマップイメージデータ形式の原稿画像データを生成する。このビットマップイメージデータ形式の原稿画像データは、RAM302に再び格納される。
ステップ706では、PDLデータに含まれていた原本性保証コマンドに基づき、原本性保証をするのかしないのかについて判断する。そして、「原本性保証をする」場合にはステップ708に移行し、「原本性保証をしない」場合にはステップ707に移行する。
ステップ707では、RAM302内に格納された原稿画像データをプリンタ画像処理部315に送りステップ710に移行する。
ステップ708では、原稿画像データ内の各ページの特徴量の生成を行い、当該生成された特徴量を異なる別ページに埋め込む。即ち、ページx(1≦x≦n、ただしnは原稿画像データの総ページ数)の特徴量をページy(x≠y)に埋め込む。この処理の詳細については後述する。
ステップ709では、ステップ708で特徴量が埋め込まれた原稿画像データをプリンタ画像処理部315に送り、ステップ710に移行する。
ステップ710では、プリンタ画像処理部315が、受け取った原稿画像データに対して画像処理を施す。この画像処理が施された原稿画像データはプリンタI/F314を介してプリンタ部14に送られる。その後、このプリンタ部14は、受け取った原稿画像データをシート上に出力する。この処理の詳細については後述する。
なお、上記説明においては、PDL原稿であることを前提として説明を行ったが、本発明はこれに限られることはなく、コピー原稿であってもよい。この場合、図7における処理のうちステップ701〜ステップ705における処理の代わりに以下の処理が行われる。
まずユーザは、画像形成装置10の操作部12を介して不図示の操作画面において、原本性保証するかどうかを選択指示する。さらに、コピーしたい原稿を原稿台にセットし、コピーを指示する。
続いて、CPU301は、これらの指示を受け付けて、原本保証性コマンドを生成し、RAM302に格納する。また、スキャナ部13が原稿を読み取ることで生成された原稿画像データは、スキャナI/F311を介してスキャナ画像処理部312に送られる。スキャナ画像処理部312は、この原稿画像データに対して画像処理を施す。画像処理が施された原稿画像データはRAM302に格納される。
なお、以上の説明ではRAM302にデータを格納するものとして説明を行ったが、RAM302の代わりに又は必要に応じてROM303やHDD304に格納してもよいことは言うまでもない。このことは、本実施例及び本実施例以外の実施例の説明において同様である。
<ステップ708における処理の詳細>
図8に示すブロック図は、本発明におけるステップ708における処理の好適な実施形態を示す。図8に示す各処理部における処理は、ROM303に格納されたソフトウェアをCPU301が実行することにより行われる。しかしながら、本発明はこれに限られることはない。例えば、各処理の実行に特化したハードウェアによって実現することも可能である。このことについては、他の実施例においても同様である。
また、原稿画像データは、上述したようにビットマップデータ形式でRAM302に格納されているものとする。もし、何らかの事情で原稿画像データがビットマップデータ形式以外の形式でRAM302に格納されている場合があれば、CPU301がビットマップデータ形式に原稿画像データを変換するものとする。このことについては、他の実施例においても同様である。
図8で、801は特徴量生成処理部、802は特徴量記憶処理部、803は埋め込み画像データ生成部、804は埋め込み画像データ記憶処理部、805は合成処理部である。
<特徴量生成処理部801・・・ステップ708>
特徴量生成処理部801は、RAM302に格納された原稿画像データ内のページを一ページずつ選択する。なお、選択にあたっては例えば、ページ1、ページ2、・・・、ページn(最終ページ)の順で選択を行うものとする。しかしながら、本発明におけるページ選択順序はこれに限られることはなく、どのような順序であってもよい。例えば、ページn、・・・、ページ2、ページ1の順で処理を行ってもよい。なお、選択されたページのことを選択ページと称する。また、あるページの画像データのことをページ画像データと称する。
さらに、特徴量生成処理部801は、選択ページのどの領域から特徴量を生成すべきかという情報を取得する。この領域を特徴量生成領域と称する。この特徴量生成領域はどのような原稿画像データに対しても、また、どのような画像形成装置であっても固定となるように設定されていることが望ましい。このように固定であることが望ましい理由は、後の検知装置が各ページの特徴量生成領域から新たに特徴量を生成しやすくするためである。特徴量生成領域がどのような原稿画像データであっても、どのような装置であっても同じ領域となっていれば、検知装置は特徴量生成領域を一々見つけ出す必要がない。
さらに特徴量生成処理部801は、選択ページにおける特徴量生成領域内の原稿画像データに基づいて、当該選択ページの特徴量を生成する。この選択ページの特徴量の生成が終了すると、特徴量生成処理部801は、この特徴量を特徴量記憶処理部802に送る。そして、次のページを新たに選択して、新たな選択ページを対象とした特徴量生成処理を開始する。この特徴量生成処理部801は、最終ページの特徴量生成処理が終了するまで以上の処理を繰り返す。
ここで特徴量とは、特徴量生成領域内に存在する文字列データや当該文字列を構成する文字コード、フォント、サイズや、それらの組み合わせのデータを指す。しかしながら、本発明はこれに限られることはなく、特徴量生成領域内に存在するどのようなデータであっても特徴量とすることができる。例えば、特徴量生成領域内に存在するテキストの全文や一部分を特徴量とすることができる。また、金額や氏名、住所などの重要な情報が記載された原稿であるならば、それらの重要な情報を示す文字列だけをもって特徴量としてもよい。また、特徴量生成領域内の図形などから算出される特徴を特徴量にしてもよい。なお、画像から算出される特徴としては、例えば特徴量生成領域内の縮小画像やハッシュ値などが挙げられる。
さらに特徴量生成処理部801は、選択ページの特徴量をどのページに埋め込むか(合成処理部805で、どのページの画像データに選択ページの特徴量を合成するか)を決定する。以下では、この決定されたページのことを埋め込み対象ページと称する。なお、埋め込み対象ページと選択ページとは異なっている必要がある。
図9において、9−2は選択ページがkである時に、埋め込み対象ページがk+1であるケースを概念的に示している。また、9−1は選択ページがkである時に、埋め込み対象ページがk−1であるケースを概念的に示している。また、9−3は選択ページがkである時に、埋め込み対象ページがk−1及びk+1であるケースを概念的に示している。このように、選択ページの特徴量を隣のページに埋め込む場合には、以下の問題が発生する。即ち、選択ページが最初のページ(又は最終ページ)である場合には、この選択ページの特徴量を埋め込むべきページが存在しないという問題である。このような問題を回避するため、本実施例では、選択ページが最初のページである場合には埋め込み対象ページを最後のページとし、選択ページが最後のページである場合には埋め込み対象ページを最初のページとするなどの方法をとっている(図9参照)。
<特徴量記憶処理部802・・・ステップ708>
続いて、特徴量記憶処理部802は、特徴量生成処理部801で生成された特徴量をRAM302に格納する。
<埋め込み画像データ生成部803・・・ステップ708>
続いて、埋め込み画像データ生成部803は、RAM302に格納されている特徴量を受け取り、この特徴量に基づいて埋め込み画像データを生成する。なお、埋め込み画像データはバーコード等に代表される各種可視パターンや、人間の目に認識されにくい透かしなどの形式で生成される。
<埋め込み画像データ記憶処理部804・・・ステップ708>
続いて、埋め込み画像データ記憶処理部804は、埋め込み画像データ生成部803で生成された埋め込み画像データをRAM302に格納する。
<合成処理部804・・・ステップ708>
合成処理部804は、RAM302に格納されている原稿画像データのうち埋め込み対象ページの画像データ及びRAM302に格納されている埋め込み画像データ(選択ページから生成された特徴量を含む画像データ)を読み出す。そして、埋め込み対象ページ画像データ内の所定の領域に埋め込み画像データを合成し、合成画像データを生成する。そして、この合成画像データを再びRAM302に格納する。本実施例では、この所定の領域のことを埋め込み対象領域と称することにする。
なお、後述するように、検知装置は、対象とするページの特徴量生成領域から特徴量を生成するとともに、対象とするページに合成されている埋め込み画像データから特徴量を取得する。そして、これら二つの特徴量を比較することで、原本性保証判定処理を行う。この原本性保証判定処理を行う検知装置は、原本性保証出力物の作成処理を行う装置の生成する特徴量と同じ特徴量を生成する必要がある。そのため、この特徴量生成領域は、各装置で同じ領域として予め設定されていることが望ましい。あるいは、各装置間で、特徴量生成領域が等しく設定されるようにLAN50等を介した情報伝達を行えることが望ましい。しかしながら、特徴量生成領域がどの領域であるかを情報伝達するための方法はこれに限られることはない。例えば、埋め込み画像データ内に特徴量生成領域がどの領域であるかを埋め込むなどの方法であってもよい。
また、特徴量生成領域と埋め込み対象領域とは異なっていることが望ましい。これは、選択ページの特徴量生成領域に埋め込み画像データが合成されてしまうと、当該特徴量生成領域内の画像データが変わってしまうことに原因がある。このように特徴量生成領域内の画像データが変わってしまうと、当然、検知装置が選択ページから生成する特徴量は、既に埋め込み対象ページに埋め込まれている特徴量とは異なるものになってしまう。結果として、検知装置が行う原本性判定処理(二つの特徴量の比較により原本性を判定する処理)時に誤判定してしまう。
また、特徴量生成領域は複数の領域に分割されていてもよい。このことは、埋め込み対象領域に対してもいえる。
なお、埋め込み画像データが、人間の目にさえ認識されにくいような非常に薄い透かしである場合には、一般に特徴量生成領域と埋め込み対象領域が一部で重なっていても良い。これは、非常に薄い透かしが対象画像データの特徴量生成領域に合成されていたとしても、特徴量生成領域内の画像データはほとんど変わらないからである。なお、本実施例においては、別ページの特徴量が選択ページに埋め込まれる前に、選択ページから特徴量を生成するものとして説明を行った。しかしながら、このように非常に薄い透かしを利用する場合には、本発明はこの順序に限られることはない。例えば、別ページの特徴量が選択ページに埋め込まれた後に、当該別ページの特徴量が埋め込まれた選択ページから特徴量を生成してもよい。このことも、非常に薄い透かしであれば、たとえ対象画像データの特徴量生成領域に合成されていたとしても、特徴量生成領域内の画像データはほとんど変わらないことに起因する。もちろん、非常に薄い透かしとの合成により画像データの特徴量生成領域が変化し、当該画像の特徴量を変化させてしまうのであれば、非常に薄い透かしであっても特徴量生成領域に合成してはいけない。
上述した説明では、埋め込み画像データ及び原稿画像データをRAM302等(RAM302又はROM300又はHDD304)に格納する説明は行ったが、データの消去については説明を行わなかった。しかしながら、原稿画像データのページ数が多い場合には、両方のデータを格納するには、大容量な記憶手段が必要となる。そのため、既に必要性が無くなったデータについては逐次消去するような構成とするのが望ましい。
例えば、図9−2のように選択ページがkであり埋め込み対象ページがk+1である場合には、選択ページの特徴量を生成した時点で選択ページの画像データは不要となる。そのため、この時点で選択ページ画像データの消去処理を行う。また、埋め込み画像データを埋め込み対象ページの画像データに合成した時点で、埋め込み画像データは不要となる。そのため、この時点で埋め込み画像データを消去する。こうした消去処理により、RAM302等の記憶手段が大容量である必要が無くなる。
また、図9−2では、選択ページがページnの時にページ1が埋め込み対象ページとなっている。そのため、ページnの特徴量を生成するまでは、ページ1に対する合成処理が行えない。このため、原本性保証出力物をページ1から順序よくプリントアウトされることに主眼をおくユーザのために、最初にページnを選択し、このページnの特徴量を生成する構成が想定される。より詳細には、本実施例では、特徴量生成処理部801でのページ選択を、ページn、ページ1、ページ2、・・・・、ページn−1の順序で行う構成が想定される。この構成では、ページnが最初に選択されるため、ページ1に埋め込むべき特徴量が最初に生成される。その結果、ページ1から順序よくプリントアウトすることができる。
なお、このようにページ1から順序よく原本性保証出力物をプリントアウトすることに主眼をおくのではなく、できるだけ早くプリントアウトすることに主眼をおくユーザがいることも想定できる。こうしたユーザのニーズに応えるために、特徴量生成処理部801でのページ選択を、ページ1、ページ2、・・・、ページnの順序で行う。そして、ページ2、ページ3、・・・、ページn、ページ1の順序に、これらのページに対して別ページの特徴量を埋め込む。このようにすることで、ページnの読み取りを待つことなく原本性保証出力物のプリントアウトができるため、処理は高速化する。
<ステップ709における処理の詳細>
プリンタ画像処理部315は、上述したように図5に示すような下地飛ばし処理や出力側ガンマ補正処理や中間調補正処理を施す。そのため、合成処理部804で生成された合成画像データが変わってしまう可能性がある。もし、合成画像データが変わってしまうと、プリンタ画像処理部315に入力された合成画像データ内に存在する埋め込み画像データが検知装置で認識不能となるという問題が発生する可能性がある。また、認識可能であっても本来とは異なる情報として認識されてしまうという問題が発生する可能性がある。このような問題の回避策としては、埋め込み画像データ生成部803で耐性の強い埋め込み画像データを生成し、それを元に合成画像データを生成する方法が挙げられる。あるいは、プリンタ画像処理部315において画像処理を行う際の係数を小さくし、合成画像データに対する画像処理の影響を小さくする方法が考えられる。また、別の解決方法として、原稿画像データに対する中間調補正処理までの処理が施された後に、当該補正処理後の原稿画像データに対してステップ708における処理(特徴量抽出処理や合成処理など)を施す方法が考えられる。なお、このように最終段で合成処理を行うためには、以下のような流れで処理が行われることになる。即ち、ステップ708の前にプリンタ画像処理部315で原稿画像データに画像処理を施し、この画像処理後の原稿画像データに対してステップ708における各処理を施して合成画像データを生成する。そして、ステップ709でこの合成画像データを出力し、ステップ710では画像処理を施さずに画像形成を行うことになる。
以上で、原本性保証出力物を作成する方法の説明を終了する。
なお、上記埋め込み画像データ生成部803の説明時には省略したが、埋め込み画像データ生成部803は、埋め込み画像データに含ませるデータ(本実施例では、特徴量を意味する)に暗号化することも可能となっている。暗号化にあたっては、画像形成装置10でのみ使用可能な秘密鍵を用いて行う方法が用いられる。このような暗号化を行う方法では、秘密鍵に対応する公開鍵を原本性保証の検知動作を行うことができる他の装置(以下、検知装置と称する)に知らせる必要がある。検知装置に公開鍵を知らせる方法としては、画像形成装置10からLANやWANなどを介して検知装置に公開鍵を送信する方法や、公開鍵をネットワーク上で入手可能にする方法などが挙げられる。また、暗号化及び復号化を同じ鍵(共通鍵)で行ってもよい。
また、図8に示す各処理部における処理は、ROM303に格納されたソフトウェアをCPU301が実行することにより行われるものとして以上の説明を行った。しかしながら、本発明はこれに限られることはなく、各処理の実行に特化したハードウェアによって実現することも可能である。例えば、合成処理部804における処理は、合成部327で実行されてもよい。もちろん、その場合には、RAM302に格納されている原稿画像データ及び埋め込み画像データを合成部327に送り、合成部327に合成処理を行わせた後、得られた合成画像データをRAM302に送り格納する必要があるのは言うまでもない。
また、以上の説明においてはステップ706やステップ708における処理を画像形成装置10が行うものとして説明を行った。しかしながら、本発明はこれに限られるものではなく、所定の記憶装置に格納された原稿画像データに対して、ステップ706やステップ708で示すような各種処理を行うことが可能な装置であればよい。こうした各種処理が行える装置としては、ホストコンピュータ40や不図示のサーバなどの情報処理装置などが挙げられる。
<検知装置が行う処理>
上述したように、検知装置は、読み取られた原稿を構成する各ページの画像データに基づいて特徴量を生成するとともに、別ページに埋め込まれた前記各ページの特徴量を取得し、これら二つの特徴量を比較する処理を行う。そして、二つの特徴量が等しい場合には「原本である」と判定し、等しくない場合には「原本でない」と判定する。以下では、検知装置が行う処理について説明を行う。
なお以下では、この検知装置が画像形成装置10であるものとして説明を行うが、本発明はこれに限られるものではない。例えば、画像形成装置10と同じ構成を有する画像形成装置20や読み取り部を有さない画像形成装置30やホストコンピュータ40が各種検知処理を行っても良い。ただし、読み取り部を有さない画像形成装置30やホストコンピュータ40が以下の処理を行う場合には、他の読み取り部で原稿が読み取られて生成された原稿画像データを受信する必要があるのは言うまでもない。
<検知装置が行う処理の詳細な説明>
図11に示すフローチャートは、本発明における検知装置が行う処理の好適な実施形態を示す。
まずユーザは、画像形成装置10の操作部12を介して不図示の操作画面において原本性判定処理を行うか否かを選択指示する。さらに、原稿を原稿台にセットし、原本性判定処理開始を指示する。
ステップ1101では、原稿がスキャナ部13で読み取られ、スキャナI/Fを介してスキャナ画像処理部312に送られる。さらに、このスキャナ画像処理部312では、原稿画像データに対して、図4に示すような画像処理が施され、RAM302に送られ格納される。なお、この画像処理が施された原稿画像データは、ビットマップイメージデータ形式でRAM302に格納される。もし、何らかの事情で原稿画像データがビットマップデータ形式でRAM302に格納されていない場合(例えば原稿画像データが圧縮された状況で格納されてしまう場合)には、CPU301がビットマップデータ形式に変換するものとする。以上の処理が終了すると、ステップ1102に移行する。
続いて、ステップ1102では、原稿画像データの各ページに埋め込み画像が存在するか否かを判定し、埋め込み画像が存在すると判定された場合には当該埋め込み画像から特徴量を取得できるか否かを判定する。判定の結果、埋め込み画像が存在し、かつ当該埋め込み画像から特徴量が取得できる場合には、特徴量を取得し、取得した特徴量をRAM302に格納する。そして、ステップ1103に移行する。一方、埋め込み画像が存在しない場合や埋め込み画像は存在するものの特徴量が取得できない場合には、ステップ1104に移行する。なお、埋め込み画像に埋め込まれた特徴量が暗号化されている場合には、本ステップで復号化を行うことが必要なのは言うまでもなく、復号化が行えない場合にもステップ1104に移行するのは言うまでもない。
ステップ1104では、読み取られた原稿から埋め込み情報(特徴量)が取得できない旨を表示画面に表示する。
ステップ1103では、原本性判定処理を行う。図12に示すフローチャートは、本発明における原本性判定処理の好適な実施形態を示す。
まず、ステップ1201では、特徴量生成処理部801で行った手法と同様の手法で原稿画像データの各ページの特徴量生成領域から特徴量を生成し、RAM302に格納する。
続いて、ステップ1202では、ステップ1102で取得された特徴量とステップ1201で生成された特徴量とを比較し、一致するか否かを判断する。そして、全てのページで特徴量が一致する場合にはステップ1203に移行する。一方、特徴量が一致しないページが存在する場合にはステップ1204に移行する。
続いて、ステップ1203では、操作部12の操作画面上で、読み取られた原稿が原本である旨を表示する。
ステップ1204では、操作部12の操作画面上で、読み取り原稿が原本ではない旨を示したエラー表示を行う。具体的には、例えば「原稿は改竄された可能性があります」というメッセージを表示する。
なお、以上の構成では、ユーザからの原本性保証判定を行うとの指示を受けた際に、ステップ1202で原本性保証判定を行い、ステップ1203及びステップ1204で原本性保証判定結果を表示するものとした。しかしながら、表示にとどまらず原本と判定された原稿に対してのみ複写を行い、複写物を作成する構成としてもよい。こうした構成の検知装置では、原本であるか否かを判定することができるだけでなく、原本の複写を容易に行うことができるという効果がある。このように表示にとどまらず原本と判定された原稿に対してのみ複写を行い、複写物を作成する構成としてもよいことは他の実施例についても同様である。
また、以上の構成では、ユーザからの原本性保証判定を行うとの指示を受けた場合のみ原本性保証判定処理を行っているが、本発明はこれに限られるものではない。例えば、原稿のコピー指示が複写機等の画像形成装置に対してされた場合には必ず、原稿に対して原本性保証判定処理を行う構成としてもよい。こうした構成の検知装置では、原稿の複写指示を行ったユーザに対して、原稿が原本であるか否かを自動的に通知することができる。そのため、例えば原稿が原本でないことを知らずに複写指示を行ったユーザに対して、原稿が原本でないことを知らせることができる。
なお、上記ステップ1202では、生成した特徴量と取得した特徴量とが全て等しい場合に、原稿が原本性を有するものとして判定した。しかしながら、本発明は全てのページから特徴量を取得及び生成してから両特徴を比較するものに限られることはない。例えば、特徴量が生成される度に(又は特徴量が取得される度に)、当該生成された特徴量(又は当該取得された特徴量)を既に取得されている特徴量(又は既に生成されている特徴量)と比較する構成とすることも可能である。このような構成では、改竄されたページの発見が素早く行われることになる。このようなリアルタイムに特徴量の比較を行う構成をとってもよいことは、他の実施例についても同様である。
また、上記ステップ1204では、読み取り原稿が原本ではない旨を示すエラー表示を行ったが、本発明におけるエラー表示はこれに限られるものではない。例えば、どのページが改竄されているかを表示するような構成としてもよい。このようにどのページが改竄されているかを表示するためには、ステップ1202で、生成された全てのページの特徴量と取得された全てのページの特徴量とを比較する処理だけでは足りない。即ち、全てのページで特徴量を比較して原本性を判定するだけでなく、ページごとに特徴量を比較してページごとに一致しているか否かを判定する必要がある。このように、原本性判定を指示された際に原本性の判定結果のみならず、改竄されているページまで表示してもよいことは、他の実施例についても同様である。
以上で、検知装置が行う処理の詳細な説明を終了する。
以上説明した実施例1によれば、各ページの原本性保証が可能な、複数ページにわたる文書を作成することができる。また、文書が原本であるか否かを判定することができる。
[実施例2]
実施例2では、埋め込み画像データに特徴量だけでなく様々な情報を含ませて原本性保証出力物を作成する。そして、検知装置は、これらの情報に基づいて読み取り原稿に対する様々な形態の判定処理及び出力処理を実行する。なお、様々な形態の判定処理の中には、実施例1で説明した原本性判定処理が含まれる。
<原本性保証出力物の作成処理>
図7に示すフローチャートは、原本性保証出力物を作成する処理を示す。なお、図7に示すフローチャートにおける各ステップでの処理は、ステップ708を除いて上述した通りである。このため、ステップ708における処理の詳細を以下に説明する。
<ステップ708における処理の詳細>
図10に示すブロック図は、本発明におけるステップ708における処理の好適な実施形態を示す。図10で、1001は特徴量生成処理部、1002は特徴量記憶処理部、1003は埋め込みデータ生成部、1004は埋め込み画像データ生成部、1005は埋め込み画像データ記憶処理部、1006は合成処理部である。なお、特徴量生成処理部1001及び特徴量記憶処理部1002及び埋め込み画像データ記憶処理部1005及び合成処理部1006における処理は、実施例1における処理と同様である。詳細には、実施例1における特徴量生成処理部801及び特徴量記憶処理部802及び埋め込み画像データ記憶処理部804及び合成処理部805における処理と同様である。そのため、以下では、埋め込みデータ生成部1003及び埋め込み画像データ生成部1004における処理の説明を行う。
埋め込みデータ生成部1003は、まずドキュメントIDを生成する。このドキュメントIDはユニークなIDであり、1セットの複数ページ原稿に対して1つ生成されるものである。複数ページからなる原稿を一部ではなく複数部出力する設定の際には、各部ごとにユニークなIDを生成する。このドキュメントIDの例としては、画像形成装置10の機体番号や出力日時などに基づいて生成される文字列などが挙げられる。なお、画像形成装置10の機体番号は、ROM303に保存されている。そのため、ROM303から機体番号を読み出す必要があることは言うまでもない。
また、埋め込みデータ生成部1003は、原稿画像データから総ページ数を取得する。
さらに、埋め込みデータ生成部1003は、選択ページ番号、埋め込み対象ページ番号、総ページ数、ドキュメントID、RAM302に格納されている特徴量などを含む埋め込みデータを生成する。
続いて、埋め込み画像データ生成部1004は、埋め込みデータを受け取り、この埋め込みデータを含む埋め込み画像データを生成する。なお、埋め込み画像データは、実施例1と同様に各種可視パターンや透かしなどの形式で生成される。
以上のように、実施例2では実施例1と異なり、特徴量に加えて選択ページ番号、埋め込み対象ページ番号、総ページ数、ドキュメントID等を含む埋め込み画像データを生成する。
そして、実施例1同様に、生成した埋め込み画像データと原稿画像データとを合成し、原本性保証出力物を作成する。
以上で、原本性保証出力物を作成する方法の説明を終了する。
<検知装置が行う処理>
続いて、検知装置が行う処理の詳細について説明を行う。
検知装置は、実施例1で説明した原本性判定処理の他、指定ページ改竄判定処理、ページ不揃い判定処理、ページソート出力処理等を行うことが可能となっている。
ここで、指定ページ改竄判定処理とは、ユーザにより指定されたページが改竄されているか否かを判定する処理を意味する。ページ不揃い判定処理とは、全てのページが揃っているか否かを判定する処理を意味する。ページソート出力処理とは、ページ順序がばらばらになってしまっている読み取り原稿のページ順序を整えて出力する処理を意味する。さらに、このページソート出力処理では、複数種類の文書を同時にソートして出力する処理が可能となっている。
なお以下では、この検知装置が画像形成装置10であるものとして説明を行うが、本発明はこれに限られるものではない。例えば、画像形成装置10と同じ構成を有する画像形成装置20や読み取り部を有さない画像形成装置30やホストコンピュータ40が各種検知処理を行っても良い。ただし、読み取り部を有さない画像形成装置30やホストコンピュータ40が以下の処理を行う場合には、他の読み取り部で原稿が読み取られて生成された原稿画像データを受信する必要があるのは言うまでもない。
<検知装置が行う処理の設定画面>
検知装置が行う処理を詳細に説明する上で前提となる操作画面の説明を行う。
図13は、ユーザが各種設定を行う際に用いる操作画面である。この操作画面では、各種判定処理設定及び出力処理設定を行うことができる。なお、判定処理設定タブ1301は、各種判定処理設定を行うためのタブである。このタブが押し下げられると、図14に示す判定処理設定画面に切り替る。出力処理設定タブ1302は、出力処理設定を行うためのタブである。このタブが押し下げられると、図15に示す出力処理設定画面に切り替る。OKタブ1303は、各種設定を確定するためのタブである。このタブが押し下げられると、図6に示す初期画面に切り替る。
図14に示す判定処理設定画面では、原本性判定処理設定及び指定ページ改竄判定処理設定及びページ不揃い判定処理設定を行うことができる。なお、原本性判定処理タブ1401は、読み取り原稿が原本であるか否かを判定する原本性判定処理の設定を行うためのタブである。この原本性判定処理では、読み取り原稿を構成する全てのページが改竄されておらず、かつ抜き取られてもいない際に「原本である」と判定する。指定ページ改竄判定処理タブ1402は、ユーザにより指定されたページが改竄されているか否かを判定する指定ページ改竄判定処理の設定を行うためのタブである。ユーザが、このタブを押し下げると不図示のページ指定画面に切り替る。このページ指定画面では、改竄判定を装置10にさせたいページをユーザが指定することができる。ページ不揃い判定処理タブ1403は、読み取り原稿のページが全て揃っているかいないかを判定するページ不揃い判定処理の設定を行うためのタブである。OKタブ1404は、各種設定を確定するためのタブである。このタブが押し下げられると、図13に示す画面に切り替る。
図15に示す出力処理設定画面では、ページソート出力処理設定及び非ページソート出力処理設定を行うことができる。ページソート出力設定タブ1501は、ページ順序がばらばらになってしまっている読み取り原稿のページ順序を整えてプリントアウトするページソート出力の設定を行うためのタブである。非ページソート出力設定タブ1502は、ページソート出力ではなく通常出力の設定を行うためのタブである。OKタブ1404は、各種設定を確定するためのタブである。このタブが押し下げられると、図13に示す画面に切り替る。
ユーザは以上のような操作画面を用いて各種設定を行った後、原稿を原稿台にセットしスタートキーを押し下げる。これにより、検知装置が処理をスタートする。
<検知装置が行う処理の詳細>
図16に示すフローチャートは、本発明における検知装置が行う処理の好適な実施形態を示す。ただし、この図16に示すフローチャートは、各種判定処理設定及びページソート出力設定のうちいずれか一つの設定がなされている場合を前提として記述している。もし、どの設定も行われていない場合には、上述の<コピー処理>と同じ処理が行われる。
ステップ1601における原稿の読み取り処理は、ステップ1101における原稿の読み取り処理と同一のため省略する。
続いて、ステップ1602では、原稿画像データの各ページに埋め込み画像が存在するか否かを判定し、埋め込み画像が存在すると判定された場合には当該埋め込み画像から埋め込みデータを取得できるか否かを判定する。判定の結果、埋め込み画像が存在し、かつ当該埋め込み画像から埋め込みデータが取得できる場合には、当該埋め込みデータを取得し、取得した埋め込みデータをRAM302に格納する。そして、ステップ1603に移行する。一方、埋め込み画像が存在しない場合や埋め込み画像は存在するものの埋め込みデータが取得できない場合には、ステップ1608に移行する。なお、埋め込み画像に埋め込まれている埋め込みデータが暗号化されている場合には、本ステップで復号化を行うことが必要なのは言うまでもなく、また復号化が行えない場合にステップ1608に移行するのは言うまでもない。
ステップ1608では、読み取られた原稿から埋め込み情報(特徴量)が取得できない旨を表示画面に表示する。
続いて、ステップ1603では、操作部12を介して行われた設定を判定する。このステップで、判定処理設定のみ行われていると判定された場合には、ステップ1604に移行する。出力処理設定のみ行われていると判定された場合には、ステップ1605に移行する。判定処理設定及び出力処理設定が行われていると判定された場合には、ステップ1606に移行する。以下では、図17を用いてステップ1604及びステップ1606で行う判定処理を説明する。また、図18を用いて、ステップ1605及びステップ1607で行う判定処理を説明する。
<各種判定処理>
図17に示すフローチャートは、本発明における判定処理の好適な実施形態を示す。
ステップ1701では、操作部12を介して行われた設定を判定する。このステップで、原本性判定処理が設定されていると判定された場合にはステップ1702に移行する。指定ページ判定処理が設定されていると判定された場合にはステップ1703に移行する。ページ不揃い判定処理が設定されていると判定された場合にはステップ1704に移行する。そして、これらのステップでの処理が終了すると各種判定処理を終了する。続いて、ステップ1702及びステップ1703及びステップ1704の詳細について説明を行う。
<指定ページ改竄判定処理の詳細>
ステップ1703では、指定ページ改竄判定処理を行う。図19に示すフローチャートは、本発明における指定ページ改竄判定処理の好適な実施形態を示す。このステップ1703では、ステップ1602で取得した埋め込みデータ(ページ番号、総ページ数、ドキュメントID)を参照して以下の処理を行う。
まず、ステップ1900では、操作部12を介して指定された指定ページがどのページかを取得し、取得された指定ページが原稿画像データ内に存在するか否かを判定する。そして、存在する場合にはステップ1901に移行する。また、存在しない場合にはステップ1906に移行する。なお、取得された指定ページのページ番号が5で、原稿画像データが例えば4ページで構成されている場合には、指定ページが存在しないのでステップ1906に移行することになる。
ところで、この指定ページの埋め込みデータには、この指定ページの特徴量が埋め込まれているページのページ番号が埋め込まれており、このページ番号はステップ1602で取得されている。以下では、この指定ページの特徴量を埋め込まれているページのことを「指定ページの特徴量が埋め込まれたページ」と称する。
続いて、ステップ1901では、「指定ページの特徴量が埋め込まれたページ」が原稿画像データ内に存在するか否かを判定する。存在する場合には、ステップ1902に移行する。存在しない場合には、ステップ1906に移行する。
続いて、ステップ1902では、「指定ページの特徴量が埋め込まれたページ」の埋め込みデータ及び指定ページの埋め込みデータから夫々取得されているドキュメントIDが一致するか否かを判定する。一致する場合には、ステップ1903に移行する。一致しない場合には、ステップ1906に移行する。
続いて、ステップ1903では、特徴量生成処理部801で行った手法と同様の手法で、指定ページにおける特徴量を生成し、RAM302に格納する。
続いて、ステップ1904では、ステップ1903で生成された特徴量と「指定ページの特徴量が埋め込まれたページ」から取得された特徴量とが一致するか否かを判定する。一致する場合には、ステップ1905に移行する。一致しない場合には、ステップ1906に移行する。
続いて、ステップ1905では、指定ページが改竄されていないことを保証するためのページが存在することを表示する。
また、ステップ1906では、エラー表示を行う。このエラー表示は、指定ページが改竄されていないことを保証するためのページが存在しないことをユーザに通知するものである。
以上の構成によれば、原本のページ全てを持っていなくても埋め込み対象ページさえ持っていれば、指定されたページが改竄されたページであるか否かを容易に判定することができる。
<ページ不揃い判定処理の詳細>
ステップ1704では、ページ不揃い判定処理を行う。図20に示すフローチャートは、本発明におけるページ不揃い判定処理の好適な実施形態を示す。このステップ1704では、ステップ1602で取得した埋め込みデータ(ページ番号、総ページ数、ドキュメントID)を参照して以下の処理を行う。
まず、ステップ2001では、取得されたドキュメントIDが1つであるか複数であるかを判定する。そしてドキュメントIDが1つである場合には、読み取られた原稿画像のページ数と、ステップ1602で取得された総ページ数及びページ番号とに基づいて全てのページが揃っているか否かを判定する。また、ドキュメントIDが複数である場合には、ドキュメントIDが1つである際に行われた上記処理を各ドキュメントに対して行う。
ステップ2001における判定の結果、原稿画像データに全てのページがあると判定された場合にはステップ2002に移行する。一方、全てのページがあるわけではないと判定された場合にはステップ2003に移行する。
ステップ2002では、操作部12の操作画面上でページが全て揃っている旨を表示する。同時に、何種類のドキュメントが存在したかを表示することも可能である。
ステップ2003では、操作部12の操作画面上でページが揃っていない旨を表示する。同時に、何種類のドキュメントが存在したかを表示することも可能である。
<原本性判定処理の詳細>
ステップ1702では、原本性判定処理を行う。図21に示すフローチャートは、本発明における原本性判定処理の好適な実施形態を示す。
まず、ステップ2101では、特徴量生成処理部1001で行った手法と同様の手法で原稿画像データの各ページから特徴量を生成し、RAM302に格納する。
続いて、ステップ2102では、ステップ1602で取得されている埋め込みデータ内の特徴量とステップ2101で生成された特徴量とを比較し、一致するか否かを判断する。そして、全てのページで特徴量が一致する場合にはステップ2103に移行する。一方、特徴量が一致しないページが存在する場合にはステップ2104に移行する。
続いて、ステップ2103では、操作部12の操作画面上で、読み取られた原稿が原本である旨を表示する。
ステップ2104では、操作部12の操作画面上で、読み取り原稿が原本ではない旨を示したエラー表示を行う。具体的には、例えば「原稿は改竄された可能性があります」というメッセージを表示する。
<出力処理>
図18に示すフローチャートは、本発明における出力処理の好適な実施形態を示す。このフローチャートにおける処理では、ステップ1602で取得した埋め込みデータ(ページ番号、総ページ数、ドキュメントID)を参照して以下の処理を行う。
ステップ1801では、操作部12を介して行われた設定に応じた処理を行う。即ち、非ページソート出力処理が設定されている場合にはステップ1803に移行する。ステップ1803では、通常印刷出力が行われる。この処理の詳細な説明は、<コピー動作の説明>で行ったため省略する。一方、ページソート出力処理が設定されている場合にはステップ1802に移行する。ステップ1802ではページソート出力処理を行う。この処理の詳細を以下に説明する。
このステップ1802では、まずステップ1602で取得した埋め込みデータ内からページ番号、ドキュメントIDを取得する。そして、取得したドキュメントIDが1つであるか複数であるかを判定する。ドキュメントIDが1つである場合には、そのドキュメントに対するページソートを行う。例えば、読み取り原稿がページk、ページk+2、ページk+1の順になっている場合には、ページk、ページk+1、ページk+2の順に並べ替える。ドキュメントIDが複数である場合には、各ドキュメントに対するページソートを行う。さらに、セットが異なる原稿の間には仕切りを入れるなどの処理を行うことも可能となっている。
なお、以上の構成では、ユーザからの各種判定を行うとの指示を受けた場合のみ各種判定処理を行っているが、本発明はこれに限られるものではない。例えば、原稿のコピー指示が複写機等の画像形成装置に対してされた場合に自動的に行われる判定処理をデフォルトで設定しておいてもよい。例えば、デフォルトで原本性判定処理が設定されている場合には、ユーザの意図に関わらず原本性判定処理が常に行われることになる。このようにデフォルトで何らかの判定処理を行うような構成をとってもよいのは、他の実施例でも同様である。
また、以上の構成では、ユーザからの各種判定を行うとの指示を受けて、各種判定を行い、その判定結果を表示した。しかしながら、表示にとどまらず出力動作に以下のような制御を行っても良い。例えば、原本でない(又は指定ページが改竄されている、又はページが揃っていない)と判定された原稿に対しては、例え出力(ページソート出力、通常出力)がユーザにより指示されていても、出力動作を行わない構成としてもよい。こうした構成の検知装置では、不備がないと判定された原稿の複写のみが行われる。そのため、改竄された原稿の複写物が世間に出回ることを防ぐことができる。
以上説明した実施例2によれば、実施例1の効果に加えて、改竄されているか否かの判定を行いたいページ番号をユーザは指定することができる。こうした指定ページに対する改竄判定では、当然、全てのページに対する改竄判定より早く結果が得られることになる。
さらに、原稿の全ページが揃っているかいなか否かの判定を行いたいユーザは、その旨を指示することができる。当然、一々特徴量を生成する原本性判定処理と比べると、ページ不揃い判定処理のスピードは速い。そのため、ユーザはページが揃っているか否かを短時間で認識することができる。
さらに、原稿のページソートを行って複写出力を行うことができる。
[実施例3]
<他のページではなく、ページ自体に特徴量その他を埋め込む場合>
上述した実施例1及び実施例2では、選択ページの特徴量を別ページに埋め込むことにより、原本性保証出力物を作成した。
しかしながら、本発明はこれに限られることがない。例えば、選択ページの特徴量を選択ページ自体(同一ページ)に埋め込んで原本性保証出力物を作ったとしてもよい。しかしながら、このように特徴量を同一ページ内に埋め込んで原本性保証出力物を作る場合には、選択ページの特徴量に加えてドキュメントIDや総ページ数を選択ページ自体に埋め込む必要がある。以下では、これらの情報を選択ページに埋め込む必要がある理由について説明する。
まず、不心得者が、総ページ数の埋め込まれていない複数ページの原稿から一ページ抜き取る場合を想定する。抜き取られた後の原稿を手にした者は、当然、原稿が本来何ページであるかを知る方法がない。その結果、この抜き取り行為は見逃されることになる。もし、ここで原稿内に総ページ数が埋め込まれていたら、ページが一枚減ったことはチェックできることになる。
次に、不心得者が、特徴量の埋め込まれていない複数ページの原稿のあるページに加筆した場合を想定する。加筆された後の原稿を手にした者は、当然、本来の原稿の内容がどのようなものかを知ることができない。その結果、この加筆は見逃されることになる。もし、ここで原稿内に特徴量が埋め込まれていたら、あるページが加筆されたことがチェックできることになる(特徴量が変化するため)。
最後に、不心得者が、ドキュメントIDの埋め込まれていない複数ページの原稿から一ページ抜き取り、新たに作成したページを一ページ差し込んだとする。差し替えされた後の原稿を手にした者は、当然、原稿内に偽ページ(差し替えられたページ)が存在することをチェックする手段がない。その結果、この差し替えは見逃されることになる。もしここで、原稿内にドキュメントIDが埋め込まれていたら、あるページが差し替えられたことがチェックできることになる(差し替えられたページのみドキュメントIDが異なるため)。
以上説明した理由で、本実施例では各ページ内にそのページの特徴量と総ページ数とドキュメントIDとを埋め込んで原本性判定出力物を作成する。
一方、検知装置としては、原稿を読み取り、当該読み取られた原稿に予め埋め込まれているドキュメントIDや特徴量や総ページ数を取得する。次に、原稿画像の各ページから特徴量を生成する。次に、原稿画像の総ページ数をカウントする。次に、当該カウントされた総ページ数と取得された総ページ数とを比較する。次に、原稿画像に取得されたドキュメントIDが総ページで一致しているかを判断する。そして、埋め込まれていた特徴量と生成した特徴量とを比較する。
以上のような比較処理を行った上で、総ページ数が一致しており、かつ、各ページで特徴量が一致しており、かつ、ドキュメントIDが全てのページで一致しているように三つの条件が満たされているか否かを判定する。そして、三つの条件が満たされていると判定した場合には、原稿画像は原本性保証出力物であると判断する。一つでも条件が満たされていない場合には、原本性保証出力物でない(即ち、改竄されている可能性がある)と判断する。
なお、以上説明した本実施例では、選択ページの特徴量を選択ページ自体に埋め込むとともに、総ページ数やドキュメントIDを各ページに埋め込むものとして説明を行った。しかしながら、本実施例では、これら三つの情報以外の情報がさらに埋め込まれていても良いのは言うまでもない。例えば、他の情報としては、各ページのページ番号が挙げられる。このように各ページのページ番号までもが埋め込まれていると、ページソートして出力することも可能である。
以上のように、本実施例では、実施例1や実施例2と異なり、他のページに情報を埋め込んだり、他のページに埋め込まれた情報を取得したりする必要がなく、1ページごとに処理を行うことができる。そのため、原本性保証出力物を作成する際のスループットの向上や記憶容量の削減が可能であるという効果がある。
一方、欠点としては、悪意のある改竄者に原本性保証出力物が改竄されてしまう可能性は高まる点が挙げられる。例えば、複数ページからなる原本性保証出力物の埋め込み情報(ドキュメントID及び総ページ数及び各ページのページ番号)を何らかの方法で取得し、取得した埋め込みデータを埋め込んだページを新たに作成したとする。そして、この新たなページを原本性保証出力物のいずれかのページと差し替えたとする。このように差し替えが行われると、原本性出力物が改竄されてしまうことになる。一方、実施例1や実施例2では、別ページに特徴量を埋め込んでいるため、あるページを改竄するためには別ページまでも改竄を行う必要があり改竄者の手間がかかり、改竄がより行われにくい。
以下、この実施例3における詳細な処理の流れについて図10を用いて説明する。
<原本性保証出力物の作成処理>
図7に示すフローチャートは、本実施例において原本性保証出力物を作成する処理の好適な実施形態を示す。なお、図7に示すフローチャートの説明は上述した通りであるので省略する。ただし、ステップ708における処理が上述した実施例1とは異なるため、このステップ708における処理の詳細を以下に説明する。
<ステップ708における処理の詳細>
図10に示すブロック図は、本発明におけるステップ708における処理の好適な実施形態を示す。
特徴量生成処理部1001は、RAM302に格納された原稿画像データを構成するページを一ページずつ選択する。なお、選択されたページのことを選択ページと称する。また、あるページの画像データのことをページ画像データと称する。
さらに、特徴量生成処理部1001は、選択ページのどの領域から特徴量を生成すべきかという情報を取得する。この領域を特徴量生成領域と称する。なお、特徴量生成領域はどのような原稿画像データに対しても、また、どのような画像形成装置であっても固定となるように設定されていることが望ましい。これは、後の検知装置が各ページの特徴量生成領域から新たに特徴量を生成しやすくするためである。なぜなら、特徴量生成領域がどのような原稿及び装置でも同じ領域となっていれば、検知装置は特徴量生成領域を一々見つけ出す処理を省略することができる。
さらに特徴量生成処理部1001は、選択ページにおける特徴量生成領域内の画像データに基づいて特徴量を生成する。そして、選択ページの特徴量の生成が終了すると、特徴量生成処理部1001は、この特徴量を特徴量記憶処理部802に送る。そして、次のページを新たに選択して、この新たな選択ページを対象とした特徴量生成処理を開始する。最終ページの特徴量生成処理が終了するまで特徴量生成処理部801は以上の処理を繰り返す。なお、特徴量の詳細な生成方法については、実施例1と同様であるため省略する。
続いて、特徴量記憶処理部1002は、特徴量生成処理部1001で生成された特徴量をRAM302に格納する。
埋め込みデータ生成部1003は、まずドキュメントIDを生成する。このドキュメントIDはユニークなIDであり、1セットの複数ページ原稿に対して1つ生成されるものである。複数ページ原稿を複数部出力する出力設定となっている際には、各部ごとにユニークなIDを生成する。このドキュメントIDの例としては、画像形成装置10の機体番号や出力日時などに基づいて生成される文字列などが挙げられる。なお、画像形成装置10の機体番号は、ROM303に保存されている。そのため、ROM303から機体番号を読み出す必要があることは言うまでもない。
また、埋め込みデータ生成部1003は、原稿画像データから総ページ数を取得する。
さらに、埋め込みデータ生成部1003は、総ページ数、ドキュメントID、RAM302に格納されている特徴量などを含む埋め込みデータを生成する。
続いて、埋め込み画像データ生成部1004は、埋め込みデータを受け取り、この埋め込みデータを含む埋め込み画像データを生成する。なお、埋め込み画像データは実施例1と同様に各種可視パターンや透かしなどの形式で生成される。ただし、ページ番号や総ページ数等のデータに関してはパターンや透かしではなく、人間の目で認識可能な文字列画像として生成されてもよい。ただし、後に検知装置が原本性出力物内に存在する埋め込み画像から埋め込みデータを取得できるように、この埋め込み画像データ生成部1004は埋め込み画像データを生成する。
続いて、埋め込み画像データ記憶処理部1005は、埋め込み画像データ生成部1004で生成された埋め込み画像データをRAM302に格納する。
合成処理部1006は、RAM302に格納されている原稿画像データ及びRAM302に格納されている埋め込み画像データを読み出す。そして、埋め込み対象ページ画像データ内の所定の領域に埋め込み画像データを合成し、合成画像データを生成する。そして、この合成画像データを再びRAM302に格納する。なお、この所定の領域のことを埋め込み対象領域と称することにする。この埋め込み対象領域と上記した特徴量生成領域は異なる領域となっている。これは、後の検知装置が誤判定しないためである。
以上のように、実施例3では実施例1と異なり、特徴量に加えて総ページ数、ドキュメントID等を含む埋め込み画像データを生成する。また、必要に応じて各ページにページ番号を埋め込んでも良いことは言うまでもない。
そして、実施例1同様に、生成した埋め込み画像データと原稿画像データとを合成し、原本性保証出力物を作成する。
以上で、原本性保証出力物を作成する方法の説明を終了する。
<検知装置が行う処理>
続いて、検知装置が行う処理の詳細について説明を行う。ただし、原本性保証出力物には、特徴量に加えて総ページ数、ドキュメントID、ページ番号が埋め込まれているものとして以下の説明を行う。
検知装置は、実施例1で説明した原本性判定処理の他、指定ページ改竄判定処理、ページ不揃い判定処理、ページソート出力処理等を行うことが可能となっている。
ここで、指定ページ改竄判定処理とは、読み取り原稿におけるユーザ指定ページが改竄されているかいないかを判定する処理を意味する。ページ不揃い判定処理とは、読み取り原稿において全てのページが揃っているか否かを判定する処理を意味する。ページソート出力処理とは、ページ順序がばらばらになってしまっている読み取り原稿のページ順序を整えて出力する処理を意味する。また、このページソート出力処理では、複数種類の文書が存在する場合には、当該複数種類の文書を夫々ソートして出力することができる。
なお以下では、この検知装置が画像形成装置10であるものとして説明を行うが、本発明はこれに限られるものではない。例えば、画像形成装置10と同じ構成を有する画像形成装置20や読み取り部を有さない画像形成装置30やホストコンピュータ40が各種検知処理を行っても良い。ただし、読み取り部を有さない画像形成装置30やホストコンピュータ40が以下の処理を行う場合には、他の読み取り部で原稿が読み取られて生成された原稿画像データを受信する必要があるのは言うまでもない。
<検知装置が行う処理の設定画面>
検知装置が行う処理を詳細に説明する上で前提となる操作画面の説明を行う。
図13は、ユーザが各種設定を行う際に用いる操作画面である。この操作画面では、各種判定処理設定及び出力処理設定を行うことができる。なお、判定処理設定タブ1301は、各種判定処理設定を行うためのタブである。このタブが押し下げられると、図14に示す判定処理設定画面に切り替る。出力処理設定タブ1302は、出力処理設定を行うためのタブである。このタブが押し下げられると、図15に示す出力処理設定画面に切り替る。OKタブ1303は、各種設定を確定するためのタブである。このタブが押し下げられると、図6に示す初期画面に切り替る。
図14に示す判定処理設定画面では、原本性判定処理設定及び指定ページ改竄判定処理設定及びページ不揃い判定処理設定を行うことができる。なお、原本性判定処理タブ1401は、読み取り原稿が原本であるか否かを判定する原本性判定処理の設定を行うためのタブである。この原本性判定処理では、読み取り原稿を構成する全てのページが改竄されていない際に「原本である」と判定する。指定ページ改竄判定処理タブ1402は、読み取り原稿のうちユーザが指定したページが改竄されているかいないかを判定する指定ページ改竄判定処理の設定を行うためのタブである。ユーザが、このタブを押し下げると不図示のページ指定画面に切り替る。このページ指定画面では、改竄判定を装置10にさせたいページをユーザが指定することができる。ここで、ユーザがページ3を指示した場合には、原稿のうち3番目に読み取られたページに対して改竄判定が行われることになる。ページ不揃い判定処理タブ1403は、読み取り原稿のページが全て揃っているかいないかを判定するページ不揃い判定処理の設定を行うためのタブである。OKタブ1404は、各種設定を確定するためのタブである。このタブが押し下げられると、図13に示す画面に切り替る。
図15に示す出力処理設定画面では、ページソート出力処理設定及び非ページソート出力処理設定を行うことができる。なお、ページソート出力設定タブ1501は、ページ順序がばらばらになってしまっている読み取り原稿のページ順序を整えて出力するページソート出力設定を行うためのタブである。非ページソート出力設定タブ1502は、ページ出力設定を行わず通常出力設定を行うためのタブである。OKタブ1404は、各種設定を確定するためのタブである。このタブが押し下げられると、図13に示す画面に切り替る。
ユーザは以上のような操作画面を用いて各種設定を行い、原稿を原稿台にセットしコピーを指示する。
<検知装置が行う処理の詳細>
図16に示すフローチャートは、本発明における検知装置が行う処理の好適な実施形態を示す。ただし、この図16に示すフローチャートは、各種判定処理設定及びページソート出力設定のうちいずれか一つの設定がなされている場合を前提として記述している。もし、どの設定も行われていない場合には、上述の<コピー処理>と同じ処理が行われる。
ステップ1601における原稿の読み取り処理は、ステップ1101における原稿の読み取り処理と同一のため省略する。
続いて、ステップ1602では、原稿画像データの各ページに埋め込み画像から埋め込みデータを取得する。なお、埋め込み画像が存在しないページが存在したり、又は、復号化できないなどの理由で埋め込みデータが取得できないページが存在したりする場合には、ステップ1608に移行する。
続いて、ステップ1603では、操作部12を介して行われた設定に応じた処理を判定する。即ち、判定処理設定のみ行われていると判定した場合には、ステップ1604に移行する。出力処理設定のみ行われていると判定した場合には、ステップ1605に移行する。判定処理設定及び出力処理設定が行われていると判定した場合には、ステップ1606に移行する。以下では、図17を用いてステップ1604及びステップ1606で行う判定処理を説明する。また、図18を用いて、ステップ1605及びステップ1607で行う判定処理を説明する。
<各種判定処理>
図17に示すフローチャートは、本発明における判定処理の好適な実施形態を示す。
ステップ1701では、操作部12を介して行われた設定を判定する。即ち、原本性判定処理が設定されていると判定した場合にはステップ1702に移行する。指定ページ判定処理が設定されていると判定した場合にはステップ1703に移行する。ページ不揃い判定処理が設定されていると判定した場合にはステップ1704に移行する。そして、これらのステップでの処理が終了すると各種判定処理を終了する。続いて、ステップ1702及びステップ1703及びステップ1704の詳細について説明を行う。
<指定ページ改竄判定処理の詳細>
ステップ1703では、指定ページ改竄判定処理を行う。図19に示すフローチャートは、本発明における指定ページ改竄判定処理の好適な実施形態を示す。
まず、ステップ1901では、操作部12を介して指定されたページが存在するか否かを判定する。指定ページが存在する場合には、ステップ1902に移行する。存在しない場合には、ステップ1906に移行する。
続いて、ステップ1902では、指定ページの埋め込みデータ内にドキュメントIDが存在するか否かを判定する。存在する場合には、ステップ1903に移行する。存在しない場合には、ステップ1906に移行する。なお、図19のS1902では、ドキュメントIDが一致するか?と書いているが、本実施例における図19のS1902ではドキュメントIDが存在するか否かを判定する。
続いて、ステップ1903では、特徴量生成処理部801で行った手法と同様の手法で、指定ページにおける特徴量を生成し、RAM302に格納する。
続いて、ステップ1904では、生成した特徴量と取得した特徴量とが一致するか否かを判定する。一致する場合には、ステップ1905に移行する。一致しない場合には、ステップ1906に移行する。
続いて、ステップ1905では、指定ページが改竄されていない可能性が高いことを表示する。
また、ステップ1906では、エラー表示を行う。このエラー表示は、指定ページが改竄されていることをユーザに通知するものであるか、指定ページがそもそも存在しないことをユーザに通知するものであるかのいずれかである。
以上の構成によれば、原本のページ全てを持っていなくても、指定されたページが改竄されていた場合には、当該改竄を容易に見つけ出すことができる。
<ページ不揃い判定処理の詳細>
ステップ1704では、ページ不揃い判定処理を行う。図20に示すフローチャートは、本発明におけるページ不揃い判定処理の好適な実施形態を示す。
ステップ2001では、埋め込みデータ内に存在するドキュメントIDが1つであるか複数であるかを判定する。ドキュメントIDが1つである場合には、そのドキュメントIDにおける全てのページがあるか否かを判定する。この判定は、総ページ数及びページ番号に基づいて行う。また、ドキュメントIDが複数である場合には、各ドキュメントに対して、全てのページが存在するか否かを判定する。そして、全てのページがあると判定した場合にはステップ2002に移行する。一方、全てのページがあると判定しなかった場合にはステップ2003に移行する。
ステップ2002では、操作部12の操作画面上でページが全て揃っている旨を表示する。同時に、何種類のドキュメントが存在したかを表示することも可能である。
ステップ2003では、操作部12の操作画面上でページが揃っていない旨を表示する。同時に、何ページが存在しないかを表示することも可能である。
<原本性判定処理の詳細>
ステップ1702では、原本性判定処理を行う。図29に示すフローチャートは、本発明における原本性判定処理の好適な実施形態を示す。
まず、ステップ2901では、特徴量生成処理部801で行った手法と同様の手法で原稿画像データの各ページから特徴量を生成し、RAM302に格納する。
続いて、ステップ2902では、原稿画像のページをカウントすることで、総ページ数を計算する。
S2903では、カウントされた原稿画像のページ数と、埋め込み画像データから取得したページ数とが等しいか否かを判定する。等しい場合にはS2904に移行し、等しくない場合にはS2907に移行する。
S2904では、ドキュメントIDが全てのページ数で一致しているか否かを判定する。一致している場合にはS2905に移行し、一致していない場合にはS2907に移行する。
S2905では、生成した特徴量と取得した特徴量とが一致しているか否かを判定する。一致している場合にはS2906に移行し、一致していない場合にはS2907に移行する。
続いて、ステップ2906では、操作部12の操作画面上で、読み取り原稿が原本である旨を表示する。
ステップ2907では、操作部12の操作画面上でエラー表示を行う。具体的には、読み取り原稿が原本性保証されたものでない旨を表示する。
<出力処理>
図18に示すフローチャートは、本発明における出力処理の好適な実施形態を示す。
ステップ1801では、操作部12を介して行われた設定に応じた処理を行う。即ち、非ページソート出力処理が設定されている場合にはステップ1803に移行する。ステップ1803では、通常印刷出力が行われる。この処理の詳細な説明は、<コピー動作の説明>で行ったため省略する。一方、ページソート出力処理が設定されている場合にはステップ1802に移行する。ステップ1802ではページソート出力処理を行う。この処理の詳細を以下に説明する。
このステップ1802では、まずステップ1602で取得した埋め込みデータ内からページ番号、ドキュメントIDを取得する。そして、取得したドキュメントIDが1つであるか複数であるかを判定する。ドキュメントIDが1つである場合には、そのドキュメントに対するページソートを行う。例えば、読み取り原稿がページk、ページk+2、ページk+1の順になっている場合には、ページk、ページk+1、ページk+2の順に並べ替える。ドキュメントIDが複数である場合には、各ドキュメントに対するページソートを行う。さらに、セットが異なる原稿の間には仕切りを入れるなどの処理を行うことも可能となっている。
なお、以上の構成では、ユーザからの各種判定を行うとの指示を受けた場合のみ各種判定処理を行っているが、本発明はこれに限られるものではない。例えば、原稿のコピー指示が複写機等の画像形成装置に対してされた場合には必ず、原稿に埋め込み画像が存在するか否かの判定を行い、存在する場合には原本であるか否かを判定する構成としてもよい。こうした構成の検知装置では、原稿の複写指示を行ったユーザに対して、原稿が原本であるか否かを自動的に通知することができる。そのため、例えば原稿が原本でないことを知らずに複写指示を行ったユーザに対して、原稿が原本でないことを知らせることができる。
また、以上の構成では、ユーザからの各種判定を行うとの指示を受けて、各種判定を行い、その判定結果を表示した。しかしながら、表示にとどまらず原本である(又は指定ページが改竄されていない、又は全てのページが揃っている)と判定された原稿に対して複写を行い、複写物を作成する構成としてもよい。こうした構成の検知装置では、各種判定を行うことができるだけでなく、不備がないと判定された原稿の複写を容易に行うことができるという効果がある。
以上説明した実施例2によれば、実施例1の効果に加えて、原稿のうち指定ページが改竄されているかいないかを判定することができる。これにより、原稿の全てのページが改竄されているか否かを判定する場合に比べて、より早く改竄の判定を行うことができる。また、原稿のページが全て揃っているかいないかを判定することができる。この場合、各ページの特徴量を一々生成する必要が無いため、原稿の全てのページが改竄されているか否かを判定する場合に比べて、より早い処理が行われることは言うまでもない。また、原稿のページソートを行った上で複写出力を行うことができる。
[実施例4]
<特徴量を埋め込んだ後のページから生成した特徴量を、他のページに埋め込む場合>
実施例1及び実施例2では、特徴量が埋め込まれる前の各ページから特徴量を生成し、当該生成された特徴量を他のページに埋め込むものとして説明した。しかしながら、本発明はこれに限られることはなく、他のページの特徴量が埋め込まれた後の各ページから特徴量を生成し、当該生成された特徴量を別ページに埋め込むことも可能である。この場合の原本性保証出力物の生成方法と、その検知方法とについて以下に簡単な説明を行う。
この場合の生成方法及び検知方法を説明するため、3ページからなる原稿を対象とし、kページの画像の特徴量をk+1ページに埋め込むケースを想定してみる。この時、3ページ目の画像の特徴量は1ページ目に埋め込まれている。
実施例1及び実施例2で原本性保証出力物を作る際は、1ページ目の特徴量が未だ埋め込まれていない2ページ目から特徴量を生成し、この特徴量を3ページ目に埋め込んでいた(図22参照)。一方、検知装置は、既に各ページに特徴量が埋め込まれた原本性保証出力物に対して、2ページ目の特徴量を3ページ目から読み出すと共に、2ページ目から特徴量を生成する(図23参照)。そして、読み取られた特徴量と生成された特徴量とが同じであるか否かの判定を行う。
この場合、検知装置が3ページ目から読み出した特徴量2303と、検知装置が2ページ目から生成した特徴量2302とは異なるのが当然である。なぜなら、検知装置が2ページ目から生成した特徴量2302のみに、1ページ目の特徴量2301の影響が及んでいるからである。即ち、誤判定が行われうる。こうした誤判定を避けるため、実施例1及び実施例2において原本性保証出力物を作る際には、特徴量生成領域と特徴量埋め込む領域を異ならせる手法、又は、埋め込み画像データを薄い透かしとするなどの手法をとっていた。
これに対し、本実施例では、1ページ目の特徴量2401が既に埋め込まれた2ページ目から特徴量を生成し、この特徴量を3ページ目に埋め込む(図24参照)。このように、既に特徴量が埋め込まれたページから特徴量を生成する点が実施例1及び実施例2とは異なっている。そして、検知装置は、2ページ目の特徴量を3ページ目から読み出し、同時に、2ページ目から特徴量を生成している(図25参照)。そして、これらの特徴量が同じであるか否かの判定を行う。このように本実施例では、2ページ目から生成される特徴量2502と3ページ目から読出される特徴量2503との両方が共に、1ページ目の特徴量2501が既に埋め込まれた後の2ページ目の画像を反映している。そのため、原本性保証出力物を作る際に、特徴量生成領域と特徴量埋め込む領域を異ならせる、や、埋め込み画像データを薄い透かしとしているといったことを行わなくても誤判定がおこることはない。
しかしながら、この場合、1ページ目が改竄されているか否かを判定する際に問題が生じる。なぜなら、2ページ目に埋め込まれている1ページ目の特徴量2601は、3ページ目の特徴量2603が埋め込まれる前の1ページ目の画像から生成されている(図24参照)。これに対し、原本性保証出力物上の1ページ目には3ページ目の特徴量2603が埋め込まれており、この1ページ目から生成される特徴量2602には、3ページ目の特徴量2603の影響があることになる(図26参照)。そのため、検知装置が両ページを比較しようとすると、両者の特徴量が異なることになり、誤判定が生じる(ただし、埋め込み画像データが薄い透かしの場合を除く)。
この課題を解決するために、1ページ目の特徴量2702だけは所定の領域2701から生成して2ページ目に埋め込み、3ページ目の特徴量は前記所定の領域とは異なる領域2703に埋め込む手法が本実施例では採用されている。このようにすることで、検知装置は、新たに生成された1ページ目の特徴量2801と、2ページ目から読み出した特徴量2802とが等しいことを認識できる。
以上のように本実施例では、原本性保証出力物を作成する上で最初に特徴量を生成するページ(本例では、1ページ目)において、特徴量生成領域2701と特徴量埋め込み領域2703とを異なる領域とする。このようにすることで、検知装置における誤判定を未然に防止している。
以上説明した本実施例では、実施例1及び実施例2に比べて、より改竄が行われにくい原本性出力物が作成されることになる。なぜなら、2ページ目の画像に改竄を行おうとすると、この2ページ目の画像の特徴量が埋め込まれた3ページ目に改竄を行う必要がある。そのためには、当然、3ページ目に埋め込まれている埋め込み画像を改竄する必要がある。すると、3ページ目の画像の特徴量が埋め込まれている1ページ目の埋め込み画像に改竄を行う必要がある。
即ち、あるページを改竄しようとすると、そのページ以降の全てのページ及び1ページ目を改竄する必要があることになり、不心得者は改竄に多大な時間と労力を必要とすることになる。このため、本実施例では、実施例1及び実施例2に比べて、より改竄が行われにくい原本性出力物が作成されることになる。
一方、実施例1及び実施例2で作成される原本性保証出力物のあるページを改竄するためには、実施例1で示したように、そのページの特徴量が埋め込まれたページを改竄するだけでよい。このような理由で、本実施例における埋め込み方法を採用すると、より改竄されにくい原本性保証出力物が作成されることになる。ただし、連鎖的に情報の照合を行わなくてはいけないため、メモリの増大化や処理の低速化という欠点が存在する。
[その他の実施例]
<本発明を適用できる、その他の機器、プログラム、記憶媒体>
なお本発明における検知装置は、まず埋め込みデータを取得し、当該取得された埋め込みデータに基づいて各処理を実行するものとして説明を行った。しかしながら、本発明はこれに限られることはない。例えば、必要な埋め込みデータのみ必要なタイミングで取得するものとしてもよい。このことを具体的な例を用いて説明する。
例えば、実施例2でページソート出力のみが設定され、各種判定処理が設定されていない時には、検知装置は特徴量を取得する必要がない。また、特徴量を取得するタイミングは、ステップ1603でなく、ステップ1605内のステップ1802であってもよい。このように必要な埋め込みデータのみ必要なタイミングで取得するものとしてもよいことは、全ての実施例でいえることである。
なお本発明は、複数の機器(例えばコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用することも、一つの機器からなる装置(複合機、プリンタ、ファクシミリ装置など)に適用することも可能である。
また本発明の目的は、各フローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記憶した記憶媒体も本発明の一つを構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
またコンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでない。そのプログラムコードの指示に基づきコンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現されるる場合もある。
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれることもある。このように書込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される。