[第1の実施形態]
以下に、本発明による第1の実施形態を説明する。
<システムの全体配置について>
図1は、本発明の第1の実施形態におけるシステムの全体配置を説明する図である。
図1において、111および112はクライアントPC、121はプリントサーバ、131および132はコピー機能およびプリント機能を持つ画像形成装置である。これらの装置はLAN101によって相互に接続されており、LAN101を介して通信する機能を持つものとする。
ユーザがクライアントPC111あるいは112を操作することにより、クライアントPC111あるいは112は印刷データを生成し、生成された印刷データをプリントサーバ121に送信する。
プリントサーバ121は、受信した印刷データを画像形成装置131あるいは132に再送する。
画像形成装置131あるいは132では、プリントサーバ121から受信した印刷データを解釈して画像データに変換し、このデータに基づき紙に印字することで印刷物を生成する。
なお、上記はシステム構成の一例であり、プリントサーバ121が無い構成も当然考え得る。その場合、クライアントPC111あるいは112が、直接画像形成装置131あるいは132に印刷データを送付する。この場合、LAN101ではなくIEEE1284、USB(Universal Serial Bus)などの既知のローカルインタフェイスを用いて接続されていてもよい。
次に、複写制限あるいは印刷出力を追跡するための情報の埋め込み指示と複写制限動作に関して、本システムの全体動作を簡単に説明する。
前述の図1に示した構成において、ユーザがクライアントPC111あるいは112を操作する際に、印刷出力に複写制限あるいは印刷出力を追跡するための情報を埋め込む旨を指示したとする。すると、画像形成装置131あるいは132は、背景画像として複写制限あるいは印刷出力を追跡するための情報を埋め込んだ印刷出力を生成する。
その背景画像を含んだ印刷出力の例を図2に示す。この図2に関する詳細な説明は後ほど行う。また、ユーザの操作から始まって印刷出力が生成されるまでの具体的な動作については、図12および図13を用いて後ほど説明する。
図2に示したように複写制限情報を含んだ原稿を、ユーザが画像形成装置131あるいは132を用いてコピーしようとすると、画像形成装置131あるいは132は原稿に複写制限情報が含まれていることを検知し、コピー動作を中止する。これによって重要な文書がコピーされることを防止する。
以上、システム全体の動作について簡単に説明した。以下では、これら一連の動作が具体的にどのようになされるのか、より詳細に説明する。
<クライアントPCにおけるコピー制御情報あるいは追跡情報の指定について>
図3は、クライアントPC111あるいは112におけるプリンタドライバの設定画面の一例である。
図3において、301は印刷セキュリティ設定ダイアログであり、ユーザはこのダイアログを介して操作することにより、印刷出力に埋め込みたいセキュリティ設定について設定操作を行う。この印刷セキュリティ設定ダイアログ301は、大きくふたつの部分に分けられており、上半分は複写制限の設定、下半分は追跡情報の設定を行う部分である。
まず、上半分の複写制限の設定を行う部分について説明する。
本実施形態では、ユーザはラジオボタン302を操作することにより、「コピーを許可する」、「コピーを禁止する」、「コピー可能条件を設定する」の三つの設定の中からひとつを選択する。三つ目の選択肢である「パスワード入力によりコピー禁止を解除する」が選択された場合には、パスワード入力フィールド303が入力可能な状態になり、ユーザがコピー禁止を解除するためのパスワードを入力することができる。なお、このパスワードは、下記の追跡情報に含められる。
次いで、印刷セキュリティ設定ダイアログ301の下半分である追跡情報の設定を行う部分について説明する。
本実施形態では304および305の二つのチェックボックスが配置されており、ユーザはチェックボックスをチェックすることにより、それぞれユーザ名あるいは時刻情報の埋め込みを指示できる。
本実施形態では、上記2種類の追跡情報を明示したが、画像形成装置が保持する情報であれば追跡情報に含めることが可能である。例えば画像形成装置131のIP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス、設置場所あるいはオフィスの部署名などを追跡情報として付加してもよい。
上記で説明した各種の設定情報は、ユーザがOKボタン306を押下することによって、後ほど図12で説明するジョブ制限情報保持部1204に格納される。
<画像形成装置における複写制限動作について>
次に、画像形成装置131あるいは132が原稿に複写制限情報が含まれていることを検知した場合の操作画面例について説明する。この画面は、図4における操作部412に表示される(詳細は後述する)。
図5と図6は、原稿に複写制限情報が含まれていることを画像形成装置が検知して、それぞれコピー動作を中止あるいは中断した際の画面の表示例である。特に図5の画面例は、図3で説明した三つのコピー禁止設定のうち「コピーを禁止する」旨の複写制限情報が原稿に埋め込まれていた場合に、画像形成装置がコピー動作を中止した際の画面例を示している。この図5において、501は操作画面であり、コピー動作を中止する旨がメッセージダイアログ502によって表示されている。
図6の画面例は、図3で説明した三つのコピー禁止設定のうち「コピー可能条件を設定する」旨の複写制限情報が原稿に埋め込まれていた場合に、画像形成装置がコピー動作を中断した際の画面表示を示す画面例である。この図6において、601は操作画面であり、その画面上にパスワード入力を促すための認証ダイアログ602が表示されている。ユーザが不図示のソフトキーボードあるいはICカードなどを用いてパスワードを入力すると、画像形成装置は、原稿の背景画像に含まれていたパスワードと入力されたパスワードが一致しているかどうかを判断する。一致していれば、画像形成装置は、認証ダイアログ602を閉じてコピー動作を継続する。一方パスワード入力が失敗した場合には、コピー動作を中止する。
<クライアントPCの構成について>
図7は、クライアントPC111あるいは112、あるいはプリントサーバ121の内部構成の一例を示したブロック図である。
図7において、700はPC全体である。PC700は、ROM702あるいは例えばハードディスクなどの大規模記憶装置711に記憶されたソフトウェアを実行するCPU701を備え、CPU701はシステムバス704に接続される各デバイスを総括的に制御する。
703はRAMで、CPU701の主メモリ、ワークエリア等として機能する。705はキーボードコントローラ(KBD C)で、PCに備えられたキーボード(KBD)709からの指示入力を制御する。706はディスプレイコントローラ(DISPC)で、例えば液晶ディスプレイなどで構成される表示モジュール(DISPLAY)710の表示を制御する。
707はディスクコントローラ(DKC)であり、大容量記憶デバイスであるハードディスク(HDD)711を制御する。708はネットワークインタフェースカード(NIC)で、LAN101を介して、他の機器と双方向にデータをやりとりする。
<画像形成装置の外観について>
図4は画像形成装置131あるいは132の外観図である。
スキャナ部413は、原稿上の画像を露光走査して得られた反射光をCCD(Charge Coupled Devices)あるいはCIS(Contact Image Sensor)などの感光素子に入力することで画像の情報を電気信号に変換する。スキャナ部413はさらに電気信号をR,G,B各色からなる輝度信号に変換し、当該輝度信号を画像データとして後ほど図8で説明するコントローラ411に対して出力する。
なお、原稿は原稿フィーダ401のトレイ402にセットされる。ユーザが操作部412から読み取り開始を指示すると、コントローラ411からスキャナ部413に原稿読み取り指示が与えられる。スキャナ部413は、この指示を受けると原稿フィーダ401のトレイ402から原稿を1枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は原稿フィーダ401による自動送り方式ではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
プリンタ部414は、コントローラ411から受取った画像データを用紙上に形成する画像形成デバイスである。なお、本実施形態において画像形成方式は感光体ドラムや感光体ベルトを用いた電子写真方式としているが、本発明はこれに限られることはない。例えば、微少ノズルアレイからインクを吐出して用紙上に印字するインクジェット方式などでも適用可能である。また、プリンタ部414には、異なる用紙サイズ又は異なる用紙向きを選択可能とする複数の用紙カセット403、404、405が設けられている。排紙トレイ406には印字後の用紙が排出される。
<コントローラの詳細説明>
図8は、画像形成装置131あるいは132のコントローラ411の構成をより詳細に説明するためのブロック図である。
コントローラ411はスキャナ部413やプリンタ部414と電気的に接続されており、一方ではLAN101やWAN831を介してプリントサーバ121や外部の装置などと接続されている。これにより画像データやデバイス情報の入出力が可能となっている。
CPU801は、ROM803に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ内部で行われる各種処理についても統括的に制御する。RAM802は、CPU801が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このRAM802は、記憶した内容を電源off後も保持しておく不揮発性SRAM及び電源off後には記憶した内容が消去されてしまうDRAMにより構成されている。ROM803には装置のブートプログラムなどが格納されている。HDD804はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
操作部I/F805は、システムバス810と操作部412とを接続するためのインタフェース部である。この操作部I/F805は、操作部412に表示するための画像データをシステムバス810から受取り操作部412に出力すると共に、操作部412から入力された情報をシステムバス810へと出力する。
ネットワークI/F806はLAN101及びシステムバス810に接続し、情報の入出力を行う。モデム807はWAN831及びシステムバス810に接続しており、情報の入出力を行う。2値画像回転部808は送信前の画像データの方向を変換する。2値画像圧縮・伸張部809は、送信前の画像データの解像度を所定の解像度や相手能力に合わせた解像度に変換する。なお圧縮及び伸張にあたってはJBIG、MMR、MR、MHなどの方式が用いられる。画像バス830は画像データをやり取りするための伝送路であり、PCIバス又はIEEE1394で構成されている。
スキャナ画像処理部812は、スキャナ部413からスキャナI/F811を介して受取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナ画像処理部812は、受取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する。そして、その判定結果を画像データに付随させる。こうした付随情報を属性データと称する。このスキャナ画像処理部812で行われる処理の詳細については後述する。
圧縮部813は画像データを受取り、この画像データを32画素×32画素のブロック単位に分割する。なお、この32×32画素の画像データをタイルデータと称する。図9は、このタイルデータを概念的に表している。原稿(読み取り前の紙媒体)において、このタイルデータに対応する領域をタイル画像と称する。なおタイルデータには、その32×32画素のブロックにおける平均輝度情報やタイル画像の原稿上の座標位置がヘッダ情報として付加されている。さらに圧縮部813は、複数のタイルデータからなる画像データを圧縮する。伸張部816は、複数のタイルデータからなる画像データを伸張した後にラスタ展開してプリンタ画像処理部815に送る。
プリンタ画像処理部815は、伸張部816から送られた画像データを受取り、この画像データに付随させられている属性データを参照しながら画像データに画像処理を施す。画像処理後の画像データは、プリンタI/F814を介してプリンタ部414に出力される。このプリンタ画像処理部815で行われる処理の詳細については後述する。
画像変換部817は、画像データに対して所定の変換処理を施す。この画像変換部817は以下に示すような処理部により構成される。
伸張部818は受取った画像データを伸張する。圧縮部819は受取った画像データを圧縮する。回転部820は受取った画像データを回転する。変倍部821は受取った画像データに対し解像度変換処理(例えば600dpiから200dpi)を行う。
色空間変換部822は受取った画像データの色空間を変換する。この色空間変換部822は、所定のマトリクス又はテーブルを用いて公知の下地飛ばし処理を行ったり、公知のLOG変換処理(RGB→CMY)を行ったり、公知の出力色補正処理(CMY→CMYK)を行ったりすることができる。
2値多値変換部823は受取った2階調の画像データを256階調の画像データに変換する。逆に多値2値変換部824は受取った256階調の画像データを誤差拡散処理などの周知の手法により2階調の画像データに変換する。
合成部827は受取った2つの画像データを合成し1枚の画像データを生成する。なお、2つの画像データを合成する際には、合成対象の画素同士が持つ輝度値の平均値を合成輝度値とする方法や、輝度レベルで明るい方の画素の輝度値を合成後の画素の輝度値とする方法が適用される。また、暗い方を合成後の画素とする方法の利用も可能である。さらに合成対象の画素同士の論理和演算、論理積演算、排他的論理和演算などで合成後の輝度値を決定する方法なども適用可能である。これらの合成方法はいずれも周知の手法である。
間引き部826は受取った画像データの画素を間引くことで解像度変換を行い、1/2,1/4,1/8などの画像データを生成する。移動部825は受取った画像データに余白部分をつけたり余白部分を削除したりする。
RIP828は、プリントサーバ121などから送信されたPDLコードデータを元に生成された中間データを受取り、ビットマップデータ(多値)を生成する。圧縮部829は、RIP828により生成されたビットマップデータを圧縮する。
<スキャナ画像処理部812の詳細説明>
図10にスキャナ画像処理部812の内部構成を示す。
スキャナ画像処理部812はRGB各8bitの輝度信号からなる画像データを受取る。この輝度信号は、マスキング処理部1001によりCCDなどの感光素子のフィルタ色に依存しない標準的な輝度信号に変換される。
フィルタ処理部1002は、受取った画像データの空間周波数を任意に補正する。この処理部は、受取った画像データに対して、例えば所定の7×7のマトリクスを用いた演算処理を行う。ところで、複写機や複合機では、ユーザは操作部412を操作することにより、コピーモードとして文字モードや写真モードや文字/写真モードを選択することができる。ここでユーザにより文字モードが選択された場合には、フィルタ処理部1002は文字用のフィルタを画像データ全体にかける。また、写真モードが選択された場合には、写真用のフィルタを画像データ全体にかける。また、文字/写真モードが選択された場合には、後述の文字写真判定信号(属性データの一部)に応じて画素ごとに適応的にフィルタを切り替える。つまり、画素ごとに写真用のフィルタをかけるか文字用のフィルタをかけるかが決定される。なお、写真用のフィルタには高周波成分のみ平滑化が行われるような係数が設定されている。これは、画像のざらつきを目立たせないためである。また、文字用のフィルタには強めのエッジ強調を行うような係数が設定されている。これは、文字のシャープさを出すためである。
ヒストグラム生成部1003は、受取った画像データを構成する各画素の輝度データをサンプリングする。より詳細に説明すると、主走査方向、副走査方向にそれぞれ指定した開始点から終了点で囲まれた矩形領域内の輝度データを、主走査方向、副走査方向に一定のピッチでサンプリングする。そして、サンプリング結果を元にヒストグラムデータを生成する。生成されたヒストグラムデータは、下地飛ばし処理を行う際に下地レベルを推測するために用いられる。入力側ガンマ補正部1004は、所定のテーブル等を利用して非線形特性を持つ輝度データに変換する。
カラーモノクロ判定部1005は、受取った画像データを構成する各画素が有彩色であるか無彩色であるかを判定し、その判定結果をカラーモノクロ判定信号(属性データの一部)として画像データに付随させる。
文字写真判定部1006は、画像データを構成する各画素が文字を構成する画素なのか、網点を構成する画素なのか、網点中の文字を構成する画素なのか、ベタ画像を構成する画素なのかを各画素の画素値と各画素の周辺画素の画素値とに基づいて判定する。なお、どれにもあてはまらない画素は、白領域を構成している画素である。そして、その判定結果を文字写真判定信号(属性データの一部)として画像データに付随させる。
復号部1007は、マスキング処理部1001から出力された画像データ内に符号画像データが存在する場合には、その存在を検知する。そして、検知された符号画像データを復号化して情報を取出す。
<プリンタ画像処理部4615の詳細説明>
図11にプリンタ画像処理部815においてなされる処理の流れを示す。
下地飛ばし処理部1101は、スキャナ画像処理部812で生成されたヒストグラムを用いて画像データの下地色を飛ばす(除去する)。モノクロ生成部1102はカラーデータをモノクロデータに変換する。Log変換部1103は輝度濃度変換を行う。このLog変換部1103は、例えば、RGB入力された画像データを、CMYの画像データに変換する。出力色補正部1104は出力色補正を行う。例えばCMY入力された画像データを、所定のテーブルやマトリックスを用いてCMYKの画像データに変換する。出力側ガンマ補正部1105は、この出力側ガンマ補正部1105に入力される信号値と、複写出力後の反射濃度値とが比例するように補正を行う。符号画像合成部1107は、後述するメタ情報画像生成部により生成された背景画像データと、(原稿)画像データとを合成する。中間調補正部1106は、出力するプリンタ部の階調数に合わせて中間調処理を行う。例えば、受取った高階調の画像データに対し2値化や32値化などを行う。
なお、スキャナ画像処理部812やプリンタ画像処理部815における各処理部では、受取った画像データに各処理を施さずに出力させることも可能となっている。このような、ある処理部において処理を施さずにデータを通過させることを、「処理部をスルーさせる」とも表現される。
<複写制限情報あるいは追跡情報を含む印刷出力の生成動作について>
図1に示した構成においてセキュリティ付加情報を含む印刷出力が生成される様子を、図12および図13を用いてより詳細に説明する。
背景画像の生成に関して、印刷出力の背景画像をクライアントPC側で生成する手法と、画像形成装置側で生成する手法の二種類がある。以下では、図12を用いて前者の手法を説明し、次いで図13を用いて後者の手法を説明する。
なお、図12および図13は、クライアントPCおよび画像形成装置におけるデータ処理の流れを示す論理構成図として描かれている。そのため、それぞれのブロックはクライアントPCあるいは画像形成装置における物理的な構成要素と、必ずしも一対一に対応するものではない。以下の説明において、判断と実行はCPU701が行う。
・印刷出力の背景画像をクライアントPC側で生成する場合
図12は、印刷出力の背景画像をクライアントPC側で生成する実装方法を採った場合の印刷出力の生成を示すデータフローダイアグラムである。
図12において、図の上半分はクライアントPC111を示す。クライアントPC111において、ユーザが印刷指示操作をおこなうことにより、印刷データ生成部1201が起動される。この印刷データ生成部1201は、プリンタドライバおよびOSが協調して動作する印刷サブシステムによって実現される。印刷データ生成部1201は、ユーザが印刷を指示したドキュメントを、画像形成装置への描画命令の集まりに変換する。より具体的には、例えばPDL(Page Description Language:ページ記述言語)を生成することによって実現される。印刷データ生成部1201は、生成した印刷データを画像合成部1202に送る。
一方、ジョブ制限情報保持部1204は、ユーザが前述した図3のセキュリティ設定ダイアログを操作した結果として保持しているジョブ制限情報を、メタ情報画像生成部1205に送る。
メタ情報画像生成部1205では、ジョブ制限情報保持部1204から受け取ったジョブ制限情報をもとに、複写制限情報や追跡情報を含む背景画像を生成する。この背景画像の作成方法としては、例えば本出願人によるLVBC(Low Visibility Barcode)を用いる方法がある。LVBCについては、後ほど説明する。メタ情報画像生成部1205は、生成した背景画像を画像合成部1202に送る。
画像合成部1202は、印刷データ生成部1201から受け取った印刷データおよびメタ情報画像生成部1205から受け取った背景画像を合成して、印刷データのそれぞれのページに背景画像が入るように、画像形成装置への命令を作成する。より具体的には、例えば背景画像をオーバレイフォーム情報としてPDLに埋め込むなどの方法がある。画像合成部1202は、合成した印刷データをデータ送信部1203に送る。
データ送信部1203は、ネットワークインタフェース(NIC)708を制御して、合成された印刷データをプリントサーバ121あるいは画像形成装置131あるいは132に送る。図12では、データの論理的な流れを書いているので、途中プリントサーバ121を介する場合であっても、図12では記載を省略してある。
次に図12の下半分である、画像形成装置側の動きについて説明する。
データ受信部1211は、ネットワークインタフェース806を制御することにより、LAN101からのデータを待ち受けている。データ受信部1211は、LAN上の他のノードからデータが送付されたことを検知して、そのデータの種別によって適切なサブシステムに、受信したデータを受け渡す。データ種別の識別は、例えば通信方式がTCP/IPである場合には、ポート番号によって識別することが一般的である。一般的なポート番号としてはlpr(Line PRinter daemon)で用いられる515番、あるいはrawで用いられる9100番が用いられる。本実施形態においては、受信するデータは画像形成装置への印字命令を含む印刷データである。データ受信部1211は、受信したデータが印刷データであることを識別した上で、データ解析部1212にそのデータを受け渡すものとする。
データ解析部1212は、データ受信部1211から受け取ったデータの中から描画命令(PDL)を取り出し、それを解釈して画像形成装置が内部的に使用する中間的なデータを生成する。そして、このデータ解析部1212は、生成した中間データを、順次、画像生成部1213に送る。
画像生成部1213は、RIP828を制御して、データ解析部1212から受け取った中間データをビットマップ画像に変換する。画像生成部1213は、そのビットマップ画像を圧縮部829を用いて圧縮した後、順次、印刷部1214に送る。
印刷部1214は、伸長部816、プリンタ画像処理部815、プリンタI/F814およびプリンタ部414を制御して、画像生成部1213から受け取ったビットマップ画像を用紙媒体に印字する。
・印刷出力の背景画像を画像形成装置側で生成する場合
図13は、印刷出力の背景画像を画像形成装置側で生成する実装方法を採った場合の印刷出力の生成を示すデータフローダイアグラムである。
図13において、図の上半分はクライアントPC111を示す。クライアントPC111において、ユーザが印刷指示操作をおこなうことにより、印刷データ生成部1301が起動される。印刷データ生成部1301の動作は、図12における印刷データ生成部1201と同様であるので、これ以上の説明を省略する。印刷データ生成部1301は、生成した印刷データをデータ送信部1302に送る。
一方、ジョブ制限情報保持部1303は、ユーザが図3のセキュリティ設定ダイアログを操作した結果として保持しているジョブ制限情報を、データ送信部1302に送る。
データ送信部1302は、印刷データ生成部1301から受け取った印刷データと、ジョブ制限情報保持部1303から受け取ったジョブ制限情報をひとつにまとめて画像形成装置への印刷指示データとして構成する。さらに、データ送信部1302は、ネットワークインタフェース(NIC)708を制御して、上記のように構成した印刷指示データをプリントサーバ121あるいは画像形成装置131あるいは132に送る。図13では、データの論理的な流れを書いているので、途中プリントサーバ121を介する場合であっても、図13では記載を省略してある。
次に図13の下半分である、画像形成装置側の動きについて説明する。
データ受信部1311の動作は、図12におけるデータ受信部1211と同様であるので説明を省略する。
データ解析部1312は、データ受信部1311から受け取ったデータの中から上記ジョブ制限情報と描画命令(PDL)とをそれぞれ取り出す。そして、データ解析部1312は、取り出したジョブ制限情報については、これをメタ情報画像生成部1316に送る。
一方、データ解析部1312が取り出した描画命令を処理する動作については、図12におけるデータ解析部1212の動作と同様であるので、これ以上の説明を省略する。
画像生成部1313は、図12における画像生成部1213と同様であるので、説明を省略する。ただし、生成したビットマップについては、画像生成部1313は、これを画像合成部1314に送る。
メタ情報画像生成部1316は、データ解析部1312から受け取ったジョブ制限情報を解釈し、画像に情報を埋め込む技術(例えばLVBCなど)を用いることによって、そのジョブ制限情報に応じた背景画像を生成する。そして、このメタ情報画像生成部1316は、生成した背景画像を画像合成部1314に送る。
画像合成部1314は、画像生成部1313から受け取ったビットマップと、メタ情報画像生成部1316から受け取った背景画像を合成し、合成した結果のビットマップを印字部1315に送る。
印字部1315の動作は、図12の印字部1214の動作と同様なので、説明を省略する。
<画像形成装置における複写制限動作の詳細説明>
図14は、画像形成装置における複写制限動作を説明するブロック図である。なお、ここでは、コピー動作を中止させるための条件(日時やユーザ認証情報)である複写制限条件などは、あらかじめ設定されて設定情報保持部1406に保持されているものとする。
ユーザが複写制限情報を含む原稿をスキャナ部413に載せて、操作部412を操作してコピー開始を指示すると、画像読み取り部1401が起動され、コピー動作が開始される。画像読み取り部1401は、スキャナ部413、スキャナI/F811、スキャナ画像処理部812および圧縮部813を制御して原稿画像を読み取って、その画像データを画像処理部1402に送るともに、画像解析部1404にも送る。
画像解析部1404は、復号部1007を制御して、画像読み取り部1401から受け取った画像に含まれる複写制限情報を取り出す。画像解析部1404は、取り出した複写制限情報をジョブ制御判断部1405に送る。
ジョブ制御判断部1405は、画像解析部1404から受け取った複写制限情報と、設定情報保持部1406が保持している複写制限条件とを比較して、コピー動作を中止すべきかどうかを判断する。
例えば図3におけるラジオボタン302が「コピー可能条件を設定する」に設定されたとする。テキストボックス303に入力されたパスワード文字列と、図6のダイアログ602に入力されたパスワード文字列が一致した場合には印刷を継続する。この場合、原稿に元々含まれていた背景画像はそのまま保持された状態でコピー先の記録媒体に複写されることになる。
もしジョブ制御判断部1405がコピー動作を中止すべきであると判断した場合(すなわち、上記2つのパスワードが一致しない場合)には、ジョブ制御判断部1405は、コピー動作を中止する命令を印字部1403に送る。そして操作部I/F805を制御して、図5で説明したメッセージを操作部412に表示する。
印字部1403は、画像処理部1402から受け取った画像データを紙に印刷することにより印刷出力を生成するが、ジョブ制御判断部1405から動作中止する命令を受け取った場合には、ジョブの途中であっても印刷動作を中止する。
<画像形成装置のコピー動作におけるセキュリティ関連情報埋め込み>
図13の説明では、画像形成装置が複写制限情報を含む印刷出力を生成するにあたって、ユーザがクライアントPCにおいてファイルの印刷指示を行うことを前提にした。しかしながら、印刷出力の背景に複写制限情報を含めるのはクライアントPCからの印刷指示に限るものではない。もちろん紙の原稿をコピーする際に、印刷出力の背景が複写制限情報を含むように画像形成装置を構成することが可能である。
この場合、画像読み取り部1401が、図13におけるクライアントPC111の役割をはたすことになる。さらに画像形成装置内部の画像バス830が、図13におけるネットワークインタフェースであるデータ送信部1302とデータ受信部1311の代わりとなる。
であると解釈すれば良い。
<LVBCについて>
次に本発明のセキュリティ付加情報埋め込み技術の好適な例として、LVBC(Low Visibility Barcodes:低可視バーコード)を説明する。
ここでいう情報埋め込み手段というのは、画像形成装置において、用紙やOHPシートなどの画像形成媒体(以下シートとする)に本来印刷する画像の他に、システムとして所望の情報を付加して印字する手段のことをいう。
一般的な情報埋め込み手段の要件として、下記の要件が挙げられる。
・シートに対して、情報埋め込みに必要とされるために十分な情報量のデータ埋め込みを実現できること。
・シートに色材(トナーやインクなど)を使って埋め込まれた情報が後にデジタル情報として確実に抽出可能であること。
・原稿画像をシートに複写する際に、原稿の回転、拡大、縮小、部分的削除、複写による信号の鈍り、汚れなどの情報抽出を妨げる要因に対して、ある程度の耐性があること。
・複写制限原稿の複写を防止するために、複写時に抽出可能なリアルタイム性、あるいはそれに準ずる高速性があること
本実施形態におけるLVBCを用いた情報埋め込み手段は上記の要件を満たすものである。
図2はLVBCが埋め込まれた原稿の一例を示すイメージ図である。
201はシート全体を示し、202は201の拡大図を示す。202によれば、原稿に本来描画されるイメージの他に、一見ランダムに埋め込まれた多数のドット(例えば203)が見える。このドットに付加すべき情報を埋め込む。
<2つの領域>
次にセキュリティ付加情報が埋め込まれる領域に関して、第1の領域と第2の領域について説明する。
図15は第1の領域と第2の領域の特性の違いを説明するための表である。
セキュリティ付加情報は利用のされかたによって特性の異なる2種類の領域に分けられ、個々に抽出可能な形で埋め込まれる。第1の領域は複写制限を示す情報など、通常のスキャンによる複写操作時に高速で抽出することが必要な情報が格納される。抽出処理はどのような原稿でも必ず実施されるために、抽出処理の遅延は複写速度全体に影響する。よって解析速度は例えばスキャン処理と同程度の速度が要求される。一方、複写制限するための情報は非常に少なくてよく、従って埋め込むべきセキュリティ付加情報のデータサイズは小さくてよい。
第2の領域は追跡情報が埋め込まれる。追跡情報は情報漏えい発覚時に管理者によって解析処理が行われる際に抽出処理が行われるため、通常の複写操作時の動作には必要ない。よって必ずしもリアルタイム性を保障しなくても、複写速度全体に影響するわけではなく、ある程度の速度低下は許容される。追跡情報は多量の情報を埋め込む必要があるため、データサイズが比較的大きくなる。追跡情報として埋め込む情報は、当該原稿を作成したユーザの個人名や組織名、画像形成を行なった装置の機体番号やIP(Internet Protocol)アドレス、MAC(Media Access Control)アドレスなどが考えられる。更には、設置場所、印刷時期を特定できる印刷日時、印刷時刻といった情報を追跡情報としても良い。
本実施形態のLVBCでは、これらの異なる要件に対応するために、第1の領域と第2の領域を混在させてセキュリティ付加情報として埋め込むことが可能である。上記のように、ユースケースに応じて第1の領域のみの抽出、第2の領域のみの抽出、両方の領域の抽出、を選択することが可能である。かつ、第1の領域のみの抽出の場合には解析速度を向上させ、複写操作の生産性に影響することがない速度での抽出処理を可能としている。
図16はシートに情報を埋め込む際の第1の領域と第2の領域の配置を示す模式図である。1601の四角の領域は第1の領域を示す。同様の四角が周期的に埋め込まれているが、いずれも同じデータが格納されている。第1の領域を繰り返し何度も埋め込むことにより、冗長性を増し、ノイズや誤差に対する信頼性を向上している。1602の四角は第2の領域を示している。第2の領域も同様に同じ四角が周期的に埋め込まれている。第1の領域1601には第2の領域の情報は書き込まれることはなく、それぞれ排他的に書き込まれる。1603は第1の領域のサイズ、1604は第1の領域の繰り返し間隔、1605は第2の領域のサイズを示している。
<LVBCの埋め込み方法>
次にLVBCの埋め込み方法について説明する。
LVBCではシートに対して印刷される画像のほかに、セキュリティ付加情報を埋め込むためにグリッド(格子)と呼ばれるドットパターン印刷する。図2においてドット203はグリッドを構成する各ドットを示している。グリッドそのものは縦横が等間隔に離れたドットの集合体である。グリッドに置かれた各ドット間の最短距離を仮想的な線(ガイドライン)で結ぶと、一定の間隔で縦横に引かれた仮想的な格子模様が出現する。セキュリティ付加情報は一定サイズ以内のバイナリ(2値)データとして入力される。付加データはグリッドを構成するドットを上下左右8方向に変位(中心地からずれること)することによって情報埋め込みを実現している。
図17はセキュリティ付加情報として、010111110011bというバイナリデータを埋め込む例を示す図である。図17において、縦横の線1701はグリッドの位置を示す仮想的なガイドラインを示す。このようにグリッドの最短距離を線で結ぶと格子模様が出現する。1702は中心地を示し、ここにはドットを置かない。実際には、例えば1703のように中心地1702から離れた位置にドットを変位させて配置する。
010111110011bは3ビットずつ分解され、010,111,110,011に分けられる。さらに各3ビットに対してデシマル変換を行い、2,7,6,3に変換される。図17の下図で示されるように、グリッドを構成する各ドットは数値に対して上下左右の8方向にいずれかに変位させることによって情報をあらわすことが可能である。この場合、2,7,6,3はそれぞれ右上、右下、下、左に変位することによって情報を埋め込むことが可能である。このような処理の繰り返しによって、LVBCでは高々2000バイト程度のセキュリティ付加情報を1枚のシートに埋め込むことが可能である。さらにセキュリティ付加情報を表現するドットをシートに対して何度も埋め込むことによって冗長性が増し、画像イメージとの誤認識やシートに対する汚れ、しわ、部分的破壊に対して信頼性を向上することができる。LVBCの解析の詳細については後述の「LVBCの解析方法」で説明する。
なお、LVBCを解析するに当たって、グリッドの位置を正確に調査する必要があり、また、ドットの変位は8方向に対して等確率に出現することが望ましい。しかし埋め込みデータには0などの特定のデータを多く埋め込みたい場合があり、そのままでは等確率にならない可能性がある。そこで、本実施形態では埋め込み情報に対して可逆性を有したスクランブル処理(例えば固定鍵を用いた共通鍵暗号処理)を施し、ドットの変位をランダム化して埋め込んでいる。これらのセキュリティ付加情報の生成はメタ情報画像生成部1316で生成される。LVBCの埋め込みはデジタルデータとしてのセキュリティ付加情報をアナログデータとしてシートに記録するDA変換であるため、比較的単純な仕組みで実現可能である。
前述した2つの領域の埋め込みは、上記の埋め込み手法を応用して実施される。図16における第1の領域1601と第2の領域1602は埋め込むべき埋め込みデータを構成する際に合成されるものである。合成された結果を1つの埋め込みデータとして扱うため、図17で示すように個々のドットの変位に変換されて埋め込みが行われる点で変わりはない。図16の2つの領域をドット単位に拡大すると、図17のように各ドットが変位することによって情報が埋め込まれていることになる。ここで生成された2つの領域からなるセキュリティ付加情報のパターンは画像合成部1314で合成され、印字部1315で印刷される。
<LVBCの解析方法>
次にLVBCの解析方法について説明する。
図18はLVBCの解析を行うデータ解析部1801のブロック図を示す。
このデータ解析部1801は、図12のデータ解析部1212、図13のデータ解析部1312と等価である。データ解析部1801はさらにサブモジュールから構成されている。
図18において、1802はセキュリティ付加情報が埋め込まれた画像イメージ(元画像とセキュリティ付加情報が混在している)から任意のドットを抽出して座標に変換するドット検知部である。
1803はドット検知部1802が検知したドットからハーフトーンを構成するドットのようなセキュリティ付加情報とは関係のない不要なドットを除去するドット解析部である。
1804はドット解析部1803が解析した出力結果である複数のドットの絶対座標のリストを格納する絶対座標リスト記憶部である。
1805は絶対座標リスト記憶部1804が記憶している絶対座標のリストから回転角、グリッド間隔を検出してグリッド位置からの相対座標に変換するドット変換部、である。なお、ここで検出されたグリッド間隔は拡大・縮小実施時にセキュリティ埋め込み情報の破壊の判定に使用される。
1806はドット変換部1805が解析した複数のドットのグリッド位置からの相対座標を記録する相対座標リスト記憶部である。
1807は埋め込まれたセキュリティ付加情報のうち、第1の領域を抽出して抽出結果を後段に出力する第1領域復号部である。
1808は埋め込まれたセキュリティ付加情報のうち、第2の領域を抽出して抽出結果を後段に出力する第2領域復号部である。
なお、ここで検出された第2領域のサイズはエリア指定、あるいは移動実施時にセキュリティ埋め込み情報の破壊の判定に使用される。また、ここでいう「後段」とはセキュリティ付加情報を利用する機能モジュールを示す。例えばセキュリティ付加情報として複写制限情報が抽出された場合に印刷を停止させる機能モジュールや、追跡情報が抽出された場合にはシートの所有者情報を操作ディスプレイに表示する機能モジュールが該当する。
<ドットの検知>
次にドット検知部1802の説明を行う。
図19はドット検知部1802におけるドットの検知を説明するための概念図である。
ドット検知部1802は光学スキャナが読み込んだ画像を多値モノクロイメージの形式で受信する。LVBCの情報埋め込みはモノクロ2値のドットで埋め込まれるが、埋め込み時のトナーの乗り具合、シートの取り扱い、スキャン時の光学系などの影響により微細に信号が鈍った状態で受信される。よって、LVBCではこれらの影響を排除するために、受信したドットの検知を行い、受信したドットの重心位置をその座標位置と認識することにより抽出精度を高めている。
ドットがイメージ上の孤立点であることを検査するために、イメージに対して4方向からギャップの検査を実施する。1901〜1904はそれぞれ孤立点の有無の検査を行なう方向を示している。例えば縦方向1901の検査結果が、「白」「白」「黒」「黒」「白」「白」と検査された場合は黒の部分が孤立点である可能性がある。しかしこれだけでは横方向のラインである可能性も否定できない。同様に横方向1902の検査のみで孤立点である可能性があると判定した場合でも、実際には縦方向のラインである可能性もある。本実施形態では、ドット検知部1802は、4つの方向1901〜1904のそれぞれに対して孤立点の検査を行なうことで検査精度を向上させている。もし、ある領域において1901〜1904の4つの方向について、孤立点である可能性があるとの判定が同時に成り立つ場合はこの位置に孤立点があると識別することが可能である。
<ドットの解析>
次にドット解析部1803の処理を説明する。
ドット検知部1802で検知されたドットがLVBCを構成するドット以外のドットである場合もある。例えば、原稿画像に含まれているハーフトーンを表現するためのドットパターンや、もともと原稿に含まれる孤立点(例えば平仮名の濁点など)等がそのようなドットに該当する。LVBCを構成するドットでは無いこれらの孤立点を削除するためのハーフトーン除去処理を行う必要がある。
ここで、図20にハーフトーン除去を説明するためのグラフを示す。この図では、縦軸にドットの粒形、横軸にその濃度、さらにドットの出現頻度を示すヒストグラムを示している。ドットの濃度が濃い(より黒い)ほど出現頻度が高いことをしめしている。ここで、LVBCのドットの場合、埋め込みを行う際にドットの粒形や濃度をそろえて埋め込むため、LVBCのドットの出現頻度はグラフの狭い位置にピークを迎える(図20の2001)。一方、ハーフトーンの場合は粒形や濃度が規格化されていないため、グラフの広い位置にまばらに出現し、その出現頻度も比較的少ない。この特性を使用して、出現頻度が狭くピークを示している位置をLVBCドットであると識別して絶対座標リスト記憶部1804に記憶し、それ以外のドットを排除する。この処理によって絶対座標リスト記憶部1804にはほぼLVBCドットのみが記録されることになる。
なお、本実施形態(及び以降の実施形態)において、LVBCのドットであるか否かをより精密に判定するために、図20のヒストグラムを作る前にドットサイズ許容範囲内に収まるかどうかの判定を行っても良い。即ち、原稿画像内に、ドットサイズ許容範囲内(小さすぎず大きすぎず)に収まるドットが閾値より多く見つかった場合には、図20のヒストグラムを作成し、その後の処理を行うとする。一方で、ドットサイズ許容範囲内のドットの個数が閾値以下である場合には、LVBC形式の付加情報が含まれていないとして処理を終了するとする。このようにすることで、処理の余分な負荷が減ることになる。例えば、図20のヒストグラムを作成する負荷がなくなることになる。
なお、このドットサイズに関する許容範囲(ドットサイズ許容範囲)は、以下の仮定の元に存在する。即ち、付加情報を埋込む側は、あまりにドットサイズの小さいドットや、あまりにドットサイズの大きいドットを作らないだろうという仮定の元に存在する。この仮定は、非常に合理的な仮定である。
なぜなら、あまりにドットサイズの大きいドットを使うと、付加情報として埋め込める情報量が少なくなるし、原稿画像を汚すことになるからである。また、あまりにドットサイズの小さいドットを使うと、せっかく埋め込んだ付加情報がわずかな汚れによって消えてしまったりするからである。さらに、重心位置のずれ具合が微小で付加情報の解析が正確に行いづらいということにもなるからである。
<ドットの変換>
次にドット変換部1805の処理を説明する。
印刷時点でLVBCドットを埋め込んだ角度と、スキャンされたイメージでの角度とでは、スキャナに配置した向きの違いやアナログレベルでの微細な角度のズレによって異なるため、回転角の検知と補正を行う必要がある。また、LVBCはドットが属するグリッド位置からの変位が情報を表すため、元のグリッドを再現する必要があるのでグリッドの間隔を正確に決定する必要がある。
ここで、グリッドの間隔を測定する手法について説明する。
図21はグリッドの間隔を測定する手法を説明した模式図である。
今注目しているドット2101から最も近いドット2102までの距離Xがグリッドの間隔に類似する。
注目ドットから最も近いドットは上下左右の4箇所あるが、本実施形態では、計算の負荷を軽くするために、注目ドット2101の周辺を90度単位で分割しこの注目ドット2101から右側の90度の範囲だけを、最も近いドットの検索対象とする。具体的には注目点(x,y)以外の任意のドット(a,b)において、
a−x≦0 または |a−x|≦|b−y|
となる場合、ドット(a,b)は計算対象外とする。ドット変換部1805は、注目ドット(x,y)と計算対象のドット(a,b)間の距離が最小となる(a,b)を、隣接する近隣ドットとして、これら2点間の距離Xをグリッドの間隔の候補として求める。
ここで注目ドット2101も、近隣ドット2102も情報を埋め込むために変位されており、そのため、この注目ドット2101と近隣ドット2102との距離は、元のグリッド間隔と異なる可能性がある。また、注目ドット2101も近隣ドット2102も、実はドット解析部1803で除去しそこねた単なるハーフトーンドットかもしれない。そこで、ドット変換部1805は、すべてのドット(x,y)に対して上記のような手段で近隣ドットとの距離を計測して、すべての注目ドットに関して近隣ドットとの距離別の頻度を示したヒストグラムを作成する。
ここで、図22に、注目ドットと近隣ドットとの距離の頻度を示したヒストグラムの一例を示す。横軸は注目ドットと近隣ドットとの距離の候補である距離Xの値、縦軸にその出現頻度を示している。図22によれば、2201の距離Xが、最も出現頻度が高いと識別される。なお、このグリッド間隔Xは後述の破壊判定部に渡される。
次に、図23を用いてグリッドの回転角度の補正について説明する。
図23はこのグリッドの回転角度の補正を説明するため図である。
2301において、すべてのドットについて、近隣ドットまでの角度を測定する。
本来、注目ドットからの近隣ドットの角度は0度、90度、180度、270度のいずれかであるため、測定した角度のズレを補正することにより回転角度を決定することが可能である。この場合も個々の注目ドットから近隣ドットの角度は、注目点から近隣点を指すベクトルを(dx,dy)とすると、角度θは下記の式であらわされる。
2302は、注目点から、A,B,C,Dのそれぞれの近隣点までのベクトルを示している。しかし実際には注目点も隣点ドットも情報を埋め込むためにグリッド位置からわずかに変位されているため、これも同様にすべての注目点において角度θを計測する。図21に示す注目点2101と近隣ドット2102のそれぞれのグリッドからの変位位置の出現確率が縦横ともに同じだとすると、すべての注目点の角度のズレを加算することにより、平均的にグリッドの回転角度を計測することができる。2303はいくつかの点のベクトルを表示したものであり、この角度を重ね合わせるとグリッドの回転角度(2304に示す矢印の角度)に近似できることがわかる。
具体的には個々の注目点の角度θに対して再度基準となるベクトルを算出し、すべての基準ベクトルの合計結果から、トータルの角度φを求める。基準ベクトルの合計結果を(A,B)とすると、
となり、グリッドの回転角度φは、
によって近似することが可能である。
ここで絶対座標リスト記憶部1804に格納されている絶対座標リストに対して、グリッドの回転角度分の逆回転を実施して、グリッドの角度を補正する。
ここの回転角度の補正は90度単位には絞り込まれているが、実際には0度(正しい)、90度、180度、270度の4つまでは絞り込まれていない。この絞込みに関しては後述する。
ここで、図24に回転の補正結果および補正後のグリッド位置を示す。
図24において2401は回転の補正が完了したLVBCドットを示している。さらに、2402で示すように、ドット変換部1805で求めたグリッド間隔毎に仮想的な直線をX方向、Y方向それぞれに引き、これら直線の交点をグリッドとする。このグリッドの位置から実際に打たれたドットの座標の変位を計測する。このようにして計測された変位から埋め込まれた情報を得ることができる。
図25は、グリッドに対するドットの変位から、実際のデータに変換を行う説明図である。
同図に示すように、グリッドからの変位が縦横にそれぞれ0〜7の情報を表現する。図25の場合、2,7,6,3が抽出できるため、これを3bitずつ集め、010111110011がこのドットから抽出した埋め込みデータとなる。同様にすべてのドットに対してこのような抽出処理を行うことによって数十〜数千バイトの埋め込みが実施可能である。
なお、本実施形態では、グリッド間隔を決定した後に、平均ドットサイズを決定する。平均ドットサイズとは、グリッドから変位している各ドットのサイズ(大きさ)の平均(平均サイズ)のことである。これらの各ドットは、グリッドからの変位によって、データを示していることは上述した通りである。なお、平均ドットサイズは、各ドットのサイズから「完全な平均値計算:重み付け係数が全て1」により求まるサイズでなくてもよい。即ち、重み付け平均値計算(重み付け係数が、ドット同士で違うことがある)により求まるサイズであってもよい。従って、完全な平均値計算により求まるドットサイズも、重み付け平均値計算により求まるドットサイズも、平均ドットサイズである。完全な平均値計算も、重み付け平均値計算も、平均値を計算する処理であるということに他ならないからである。
<第1の領域の決定>
次に、前述の第1の領域および第2の領域の決定について説明する。
図16で説明した第1の領域のサイズ1603と繰り返し間隔1604および第1の領域の位置はそれぞれ未知数であるため、これらの決定を行う。
最初に第1の領域1601の繰り返し間隔1604の決定を行う。1601は同じデータが周期的に入っており、縦方向に対して所定のオフセットでドット群の自己相関を調べると、オフセット値が繰り返し間隔1604と一致したときに自己相関性が高まるので、これを基に繰り返し間隔1604を決定することができる。
図26はオフセット値に対応した自己相関値を計算した例を示すグラフである。
ここでいう自己相関とは特定の埋め込みデータが周期的に出現する頻度を評価する手法であり、自己相関値とは特定のオフセット値における、埋め込みデータの類似性を評価する数値である。
自己相関値を算出する自己相関関数COR(A,B)は下記の演算式で与えられる。
COR(A,B) = bitcount(not (A xor B))
ここでxorは2項の排他的論理和を示しており、notは否定を示す。Bitcountはビット列で1となるものの個数をカウントする関数である。例えば、Aが010b,Bが011bの場合は
not(A xor B)=not(001b)=110b
となり、bitcountは2となる。
ここで第1の領域があらかじめ決められた幅と高さを持つ行列だとし、第1の領域を評価するためのビット列をCELL(x,y)とする。ここでx,yはそれぞれ横方向および縦方向の座標を示す。例えば第1の領域のサイズが幅=8、高さ=8だとすると、x,yを左上とした第1の領域は3bit×8×8=192bitがCELL(x,y)のビット列の長さとなる。
ここで、あるオフセットにおける、すべての座標の自己相関値は下記関数で表される。
例えば第1の領域のサイズ1603を8,繰り返し間隔1604を8×3=24とする。このときに自己相関値を求めると、オフセット=24で自己相関値は図26に示す2601でピークとなるため、オフセット=24を繰り返し間隔1604と決定することが可能である。
次に第1の領域1601の位置とサイズの決定を行う。すべての座標の自己相関値を求めることにより、第1の領域の繰り返し間隔は決定したが、その中のどの位置に第1の領域があるかと第1の領域のサイズの決定が必要である。
図27は第1の領域の位置の決定方法を示した模式図である。あらかじめ繰り返し間隔が決定しているので、相対座標リスト記憶部1806から任意の繰り返し間隔分の領域2701を切り出す。そして、その領域の自己相関値を求め、その領域の隣の領域で自己相関値を求め、さらに隣の領域で自己相関値を求める、ということを繰り返す。この中で第1の領域2702の部分は繰り返し間隔の周期で同じデータが出現するので相関性が高い。それ以外の第2の領域2703は上記繰り返し間隔では同じデータが出現しないので相関性が低い。この特性を利用して、相関性の高い部分の開始位置を第1の領域の開始位置と特定し、相関の高い部分の終わりまでのサイズを第1の領域のサイズと決定することが可能である。
<第1の領域の復号>
上記で確定した第1の領域の位置とサイズから第1の領域のデータを復号する。ここで単一の領域だけ用いると計測誤差やノイズによる誤判定をする可能性があるため、すべての第1の領域に書き込まれたドットの位置の集計を行い、下記のように最も出現頻度の高い最頻値を採用する。
図28は第1の領域に書き込まれたドットの位置の集計を説明するための模式図である。図28において、2801〜2803は異なる位置に書かれた第1の領域である。これらを重合した結果が2804である。ノイズや誤差によるズレがあるが、すべての領域の集計結果によって最頻値が決まるため、この値を採用することができる。
次に実際の復号を実施する。この段階においてノイズや誤差による影響が拭えないため、復号した結果にエラー訂正処理を施して復号を行う。まずは図25で説明したように、グリッドからの変位を抽出して、変位位置に対応するデータに変換して第1の領域に埋め込まれたデータ列を抽出する。このデータ列には実際に使用する複写制限情報の他に、データの破壊を検知するための、また可能なら修復するためのエラー訂正符号が埋め込み時に記録されている。
エラー訂正符号は既知の技術として数多く知られているが、ここではLDPC(Low Density Parity Check)方式を使用する。LDPCは誤り訂正能力が非常に高く、シャノン限界に近い特性を示すことで知られている。LDPCの詳細な説明に関してはここでは省略する。また、LDPC以外のエラー訂正符号方式であっても、エラー訂正の特性を持つ方式であればどのような方式であっても構わない。エラー訂正符号を用いることで、抽出したグリッドにある程度の誤差やノイズが含まれていても埋め込みデータを抽出することが可能である。
さらに、回転角度の補正で説明したとおり、回転角度の補正処理は90度単位で行うため、ここで抽出されたデータは正しいデータか、正しいデータを90度回転したものか、180度回転したものか、270度回転したものかの4通りが存在する。そこで、抽出データに対して、回転なし、90度回転、180度回転、270度回転した結果に対してそれぞれ見込みでLDPCによるエラー訂正を行った復号を実施する。正しい回転角度の場合にのみ、エラー訂正符号が機能し、正常にデータを抽出することが可能である。
ここで、図29を参照し、回転を考慮し、エラー訂正を伴う復号の処理を説明する。
図29において、この例では正しいデータに対して270度回転した結果が抽出されたとする。2901において、最初に抽出データに対してそのままエラー訂正処理を実施する。正しいデータはエラー訂正符号を含んでいるが、回転することによって意味のないデータになってしまうため、エラー訂正することができない。次に2902において、2901に対して90度回転を施したデータに対してエラー訂正処理を実施する。同様にエラー訂正に失敗するため、データを抽出することができない。次に2903において、2902に対して90度回転を施したデータに対してエラー訂正処理を実施する。同様にエラー訂正に失敗するため、データを抽出することができない。最後に2904において、2903に対して90度回転を施したデータに対してエラー訂正処理を実施する。これは正しいデータであるため、エラー訂正処理に成功し、抽出データとして採用することが可能である。
ここでもし2904でもエラー訂正処理に失敗した場合としては、誤差やノイズが多くてデータの抽出に失敗した場合が考えられる。
以上によって第1の領域に格納された埋め込みデータの抽出が実施可能である。
<第2の領域の決定>
前述したように、第2の領域は追跡情報などの登録に使う領域であり、複写操作実施時には必ずしも必要な情報ではない。よって不要な場合は第2の領域の復号を省くことにより、全体の処理の速度低下を抑えることが可能である。
以下に第2の領域の決定方法について説明する。
最初に、第2の領域を決定するため、第1の領域の決定の場合と同様にして、自己相関値を求める。第2の領域は第1の領域の繰返し間隔の倍数の間隔で埋め込まれるため、第1の領域における繰り返し間隔の倍数(例の場合、24,48,72,….)単位のいずれかで自己相関値を求めればよいので計算を省くことが可能である。さらに第2の領域は、繰り返し間隔=第2の領域のサイズとなる。
図30に、一例として第2の領域におけるオフセット値に対応した自己相関値を計算したグラフを示す。同図に示すように、自己相関値は、特定のオフセット値でピークとなる。
最後に第2の領域の開始位置の特定を行う。LVBCによるドットを埋め込むときに第1の領域の開始位置と第2の領域の開始位置を合わせるため、第2の領域の開始位置は第1の領域の開始位置のいずれかに絞り込むことが可能である。
第2の領域の位置決定にはエラー訂正符号を利用する。第1の領域の場合と同様に第2の領域に関しても埋め込みデータには他にエラー訂正符号が付加される。第2の領域のサイズはわかっているため、第1の領域の先頭位置から順番に見込みでエラー訂正処理を実施していく。
図31は第2の領域の位置を決定する方法を説明するための模式図である。図31において、求められた自己相関値によって第2の領域のサイズが第1の領域の繰り返し間隔の4倍であったことを示している。ここで4×4=16個の第1の領域の開始位置のいずれかが第2領域の開始位置となるため、1、2、3、4、5、と位置をずらしながら、エラー訂正処理を適用する。エラー訂正処理に成功した場合、その位置を第2領域として採用することが可能である。ここで決定された繰り返し間隔および倍率から第2領域の縦横サイズが算出可能であり、この第2領域の縦横サイズは後述の破壊判定部に渡される。
以上によって第2の領域に格納された埋め込みデータの抽出が実施可能である。
次に本発明の特徴である、拡大・縮小や応用モードの処理を適用した場合におけるこれらの処理とセキュリティ付加情報との整合性について説明する。
<拡大縮小・応用モードの設定について>
図32はデジタル複合機の操作部412における通常コピー画面を示すGUI図である。図32において3200はUI部の画面そのものであり、3201はコピーを選択していることを示すコピータブ、3202は送信やファックスの機能を選択するための送信タブである。本実施形態ではコピータブ3201のみの説明を行い、他のタブについての説明は重要でないため省略する。3203はコピーの設定を表示する状態表示ウィンドウ、3204はコピーに際してより詳細な設定を行なうための応用モードボタン、3205は入力原稿に対して出力結果の拡大・縮小を選択するための倍率指定ボタンである。
図33は倍率指定ボタン3205を押下時に表示される倍率指定ダイアログ3300を示すGUI図である。図33において、3301は倍率(変倍率)を表示する倍率表示を示し、3302,3303は倍率を1ポイント刻みで増減する倍率増加ボタンおよび倍率減少ボタンを示す。3304は倍率を等倍すなわち100%に変更する等倍ボタン、3305を始めとして残りの9個のボタンは規定用紙サイズ(A系、B系)に対して異なる規定用紙サイズに拡大・縮小するための定型倍率ボタンを示す。3306は倍率の指定を完了する閉じるボタンを示す。本設定により拡大縮小が設定された場合、印刷時に変倍部821の動作に作用し、所望の倍率で印刷結果を得ることができる。
図34は応用モードボタン3204を押下時に表示される応用モードダイアログ3400を示すGUI図である。なお、昨今の画像形成装置では多くの応用モードによる設定が可能であるが、本実施形態では効果が得られやすいいくつかのモードのみを説明し、他の設定項目の説明は割愛する。
3401は原稿に対して縦横に移動を行った結果を印刷する移動ボタンである。3402は画像に対して様々な加工を施すためのイメージクリエイトボタンである。3403は原稿に対して任意の矩形領域を抜き出したり、消去を指定するためのエリア指定ボタンである。3404は応用モード指定を完了するための閉じるボタンを示す。
図35は移動ボタン3401を押下時に表示される移動指定ダイアログ3500を示すGUI図である。図35において、3501は上方向の移動量を正数のmm(ミリメートル)単位で指定する上方向移動ボタンを示す。3502は上方向の移動量を表示する上方向移動量表示部を示す。同様に、3504,3503はそれぞれ右方向移動ボタン、右方向移動量表示部、3505,3506はそれぞれ下方向移動ボタン、下方向移動量表示部、3507,3508はそれぞれ左方向移動ボタン、左方向移動量表示部を示す。3509はエリア指定を完了するための閉じるボタンを示す。いずれかの移動ボタンを押下すると不図示の数値入力ダイアログが表示され、操作部412に備え付けられたテンキーにより移動量を入力することができる。あるいはタッチパネルやマウスなどのポイント・デバイスを用いて移動範囲を視覚的に表現してもかまわない。本設定により移動が設定された場合、印刷時に移動部825の動作に作用し、所望の移動結果で印刷結果を得ることができる。
図36は、上記エリア指定ボタン3403を押下時に表示されるエリア指定ダイアログ3600を示すGUI図である。図36において、3601は範囲指定結果を示す範囲表示部を示す。3602は指定方法を示す領域である。3602によれば、用紙の右上を基点として、座標(X1,Y1)の位置から、座標(X2,Y2)で指定された範囲がエリア指定となる。
3603は始点のX座標であるX1を入力するX1入力ボタンを示し、3604は入力結果をmm(ミリメートル)単位で表示するX1表示部を示す。同様に、3605,3606はそれぞれX2入力ボタン,X2表示部を示し、3607,3608はそれぞれY1入力ボタン,Y1表示部を示し、3609,3610はそれぞれY2入力ボタン,Y2表示部を示す。
3611は座標(X1,Y1),座標(X2,Y2)で指定された範囲の外を消去するエリア外消去ボタン、3612は座標(X1,Y1),座標(X2,Y2)で指定された範囲の内を消去するエリア内消去ボタンを示す。それぞれの入力ボタンを押下すると不図示の数値入力ダイアログが表示され、操作部412に備え付けられたテンキーにより移動量を入力することができる。あるいはタッチパネルやマウスなどのポイント・デバイスを用いてエリア指定を視覚的に表現してもかまわない。3613は、エリア指定を完了する閉じるボタンを示す。本設定によりエリア指定が設定された場合、印刷時に合成部827の動作に作用し、所望のエリア指定結果で印刷結果を得ることができる。
図37は、上記イメージクリエイトボタン3402を押下時に表示されるイメージクリエイト指定ダイアログ3700を示すGUI図である。図37において、3701は原稿に対してネガポジ反転(黒と白を反転すること)を施すためのネガポジ反転ボタン、3702は原稿に対して左右鏡像反転を指示する鏡像ボタンを示す。ネガポジ反転ボタン3701と鏡像ボタン3702はこれ以上のダイアログを保持せず、ボタン押下によるON/OFFがトグルで設定される。本設定によりイメージクリエイトが設定された場合、印刷時に不図示のイメージクリエイト部の動作に作用し、所望の加工指定結果で印刷結果を得ることができる。なお、3703は、イメージクリエイトの設定を完了する閉じるボタンである。
<拡大・縮小によるセキュリティ付加情報埋め込み範囲の破壊>
ここでは拡大縮小処理の実施によるセキュリティ付加情報の破壊について説明する。
図38は、拡大処理を行った場合に、原稿に埋め込まれたセキュリティ付加情報を含む第1の領域および第2の領域のグリッド間隔が広がることを示す模式図である。図38において3801は拡大前のグリッド間隔(OrigSize)を示しており、3802は拡大後のグリッド間隔(TransSize)を示している。3802でわかるように拡大処理を行うとそれに伴いグリッド間隔が広がり、縮小処理を行うとグリッド間隔が狭まる。
情報埋め込み技術で埋め込みを行うセキュリティ付加情報は、その抽出の際に、現実的には大きさの制約が存在する。以下に、セキュリティ付加情報を含む二次元コードとしてLVBCを用いた場合の大きさの制限について説明する。
LVBCの抽出の際には前述の図22で示したように、ドット変換部1805が、個々の注目ドットと近隣ドットとの間隔のヒストグラムを作り、その出現頻度によってグリッド間隔の決定を行う。このヒストグラムのX(すなわち、注目ドットと近隣ドットとの距離の候補となるものの距離の値)の範囲を無限に取ることはできないため、測定範囲に従ってグリッド間隔に制約が存在する。また、あまりにも大きなグリッド間隔を用いると相対的に表現できるセキュリティ付加情報のデータ量が減るために、追跡情報の埋め込みなどの目標を達成することができない。一方、あまりに小さなグリッド間隔を用いるとグリッド間隔の測定誤差が大きくなり、埋め込まれたセキュリティ付加情報の抽出に失敗するエラーが発生しやすくなる。また、あまりにもグリッド間隔が小さい場合にはドットの孤立性が失われ、近隣のドットが接続されることによって2つのドットが1つとなり、本来のドットの配置が崩れることにより、所望の情報抽出ができなくなるという問題がある。すなわちグリッド間隔にはその大きさの範囲に一定の制限が存在する。
このようなグリッド間隔の大きさの制約はLVBCに留まらない。QRコード(登録商標)(ISO/IEC18004)においても小さなパターンにすると、上記のようなトナーやインクの乗りなどのアナログ上の制約の問題から、QRコードを構成するパターン要素の埋め込み精度が低くなる。その結果、誤差が大きくなることによってエラー訂正が利かなくなり、情報抽出ができなくなる。あるいはあまりにも大きなQRコードの場合、想定すべき検知サイズが多くなるため計算速度の低下や、埋め込める情報も減少するという問題がある。このように情報埋め込み技術はそのパターンの大きさの範囲に一定の制限があることがわかる。
LVBC(あるいは、QRコード等他の二次元コード)によってセキュリティ付加情報が埋め込まれた原稿に対して拡大・縮小処理の適用後に印刷した出力結果から再度セキュリティ付加情報が抽出可能かどうかは下記のようにして判定できる。
まず、元原稿のグリッド間隔と倍率(変倍率)とを乗算した結果である変倍後グリッド間隔をもとめる。すなわち、
変倍後グリッド間隔(TransSize) = 倍率 × 元原稿のグリッド間隔(OrigSize)
を求める。
ここで、制約条件として、
MinSize = 最小認識可能なグリッド間隔
MaxSize = 最大認識可能なグリッド間隔
とした場合、
MinSize ≦ TransSize ≦ MaxSize
が成り立てば、変倍後の原稿はセキュリティ付加情報が抽出可能である。
例えば、MinSize = 10画素, MaxSize=40画素が制約条件であり、元原稿のOrigSize=30画素の場合、倍率122%ならTransSize=36.6画素となり抽出可能である。一方、倍率141%の場合は42.3画素となり、抽出不可能ということになる。
ここで使用するOrigSizeは元原稿から画像解析部1404がセキュリティ付加情報を解析する過程で、第1の領域のグリッド間隔決定時に算出される。なお、この算出は1世代目のコピーを原稿として再度コピーを行った結果である2世代目以降でも、変倍後のグリッド間隔が条件を満たしていれば抽出可能であり、コピー世代数には依存しないという特徴がある。
また、LVBC以外の二次元コードを利用する場合は、例えば、コードパターンを構成する1つ1つの要素の重心を、本実施形態で説明するグリッド(格子点)とみなして、情報の抽出が可能か否かの判定を行うことができる。
<エリア指定・移動によるセキュリティ付加情報埋め込み範囲の限界>
ここではエリア指定あるいは移動におけるセキュリティ埋め込み情報の破壊について説明する。
図39は応用モードのエリア指定処理を行った場合に原稿に埋め込まれたセキュリティ埋め込み情報が消失することを示す模式図である。図39において、3901はエリア指定を行う元原稿である。元原稿3901には第1の領域を示す3910および第2の領域を示す3911が周期的に埋め込まれている。元原稿3901には不図示の元原稿の画像が印刷されている。第1、第2の領域からなるセキュリティ付加情報は、同じものが繰り返して周期的に埋め込まれることによって冗長性を増し、これにより元原稿の画像による破壊の耐性を上げている。
図36に示したエリア指定GUIを用いて、元原稿3901に対してエリア指定を行い、指定範囲以外を消去させるようにエリア外消去ボタン3611を押下すると、エリア範囲外が消去された状態で印刷を実施する。3902はあるエリア範囲外が消去される場合の模式図である。3921はエリア範囲を示す枠であり、これより外の画像は消失することを示している。3922のグレイで塗りつぶされた(同図においてはハッチングにより示す)領域はエリア指定によって残存するセキュリティ付加情報を示している。3922によれば第2の領域が8つ(8周期分)残存することがわかる。
別の例として、3903はより狭いエリア指定がされたときにエリア範囲外が消去される場合の模式図である。3931はエリア範囲を示す枠であり、これより外の画像は消失することを示している。3932のグレイで塗りつぶされた領域はエリア指定によって残存するセキュリティ埋め込み情報を示している。3932によれば第2の領域が4つ(4周期分)残存することがわかる。
上記で説明したとおり、画像によるセキュリティ付加情報の破壊の耐性を増すために、周期的に同じセキュリティ付加情報を埋め込むことによって冗長性を増すようにしている。もしある一定以下の周期しか埋め込まれていない場合は、セキュリティ付加情報を正確に抽出することができなくなってしまう可能性がある。例えば正確にセキュリティ付加情報を抽出するための最低の繰り返しの周期数の閾値を5とすると、3902の場合は8周期分であるため抽出が可能であるが、3903の場合は繰り返しが4周期分しかないため抽出ができないと決定することが可能である。このことから、エリア指定領域がわかり、それによって残存する第2の領域の範囲がわかれば、セキュリティ付加情報が実質的に消失するかどうかの判断が可能である。
移動処理でもエリア指定と同様に移動によって紙面から追い出される画像が消失する、という点ではエリア指定と同等である。よって、縦横それぞれの移動量がわかり、それによって残存する第2の領域範囲がわかれば、セキュリティ付加情報が実質的に消失するかどうかの判断が可能である。
<その他の応用モードについて>
以下にその他の応用モードについて説明する。
図37の3701で示されるネガポジ反転ボタンが押下され、画像にネガポジ反転されて印刷した場合を想定する。その原稿を再度スキャナで読み込むと、図19で示すドット検知において、4方向から黒いドットを検知すべきところ、実際にはネガポジ反転によって黒字に白地のドットに変更されており、ドット検知がうまくいかない。したがって、ネガポジ反転された原稿からは、セキュリティ付加情報の抽出が不可能となってしまう。
あるいは3702で示された鏡像ボタンが押下され、画像が左右鏡像に反転した結果を印刷した場合を想定する。その原稿を再度スキャナで読み込むと、もともと意味のある値で符号化されているセキュリティ付加情報が左右反転によって意味のない情報になってしまう。よってこの場合には図29で示した、第1の領域のエラー訂正符号の復号がどの角度でも復号不可能となってしまい、セキュリティ付加情報が破壊してしまう。
上記のように応用モードによっては処理を適用しただけでセキュリティ付加情報が破壊されてしまう場合があるため、このような応用モードの適用は無効とする必要がある。
<ジョブ制御判断部の動作>
図40は、拡大・縮小等の応用モードの適用に配慮したジョブの制御を行う、図14に示したジョブ制御判断部1403の動作を説明するフローチャートである。
ジョブ制御判断部1403はコピー動作開始時に、当該ページの印刷の是非について判断し、印字部1403に印刷を指示するか中止するか判断する役割を担っている。図40において、ステップS4001で画像読み取り部1401が画像の読み込みが完了することを待つ。次いで、ステップS4002において画像解析部1404における第1の領域のセキュリティ付加情報の抽出の実施終了を待つ。
次にステップS4003において、画像解析部1404による第1の領域の抽出ができたか判定し、抽出できなかった場合、ステップS4004において新しいセキュリティ付加情報の埋め込みを印字部1403に指示してステップS4012に至る。この場合、いかなる拡大・縮小あるいはその他の応用モードを適用しても、適用結果に新規のセキュリティ付加情報を埋め込めばよいため、印刷を継続してもよい。
一方、ステップS4003において上記の第1の領域の抽出ができたと判定された場合、第1の領域に書き込まれている複写制限情報を抽出する。その結果、条件つき複写制限情報があると判定された場合には、ステップS4006に移行し、画像解析部1404による第2の領域の抽出の実施完了を待つ。前述のパスワード入力を促すための図6の認証ダイアログ602はこのとき表示される。
次いでステップS4007において、第2の領域から抽出された追跡情報に含まれる認証コード(パスワード)と図6の認証ダイアログ602を介してユーザ入力されたパスワードを比較する。ここで認証に失敗したと判断された場合はステップS4013に至り、ジョブ制御判断部1405は、印字部1403に印刷中止を指示する。そして、ステップS4015に至り、埋め込み情報が破壊されることによる印刷の中止を示す印刷中止ダイアログを表示する。このとき表示される印刷中止ダイアログの一例を図43に示す。なお、上記パスワードの比較は文字列そのものの比較でもよいし、文字列に対して一方向ハッシュ関数を適用した結果の比較評価でもかまわない。また、図40に示していないが、ステップS4005の段階で、複写制限情報が「コピーを禁止する」ものと判定された場合、直ちにステップS4013に移行し、印字部1403に印刷中止を指示する。
一方、上記認証に成功すると、ステップS4008において拡大・縮小あるいはその他の応用モードが設定されているかを判断する。そして、これらの応用モードが設定されていない場合はステップS4012に移行して印刷を継続する。一方、これらの応用モードが設定されている場合には、ステップS4009において、第2の領域が未抽出なら画像解析部1404による第2の領域の抽出の実施完了を待つ。
次いで、ステップS4010において規定の処理として拡大縮小あるいはその他の応用モードが複写後の印刷結果を破壊するかどうかを判定するための処理(後述)を実行する。そして、ステップS4011において、ステップS4010の判定結果を受けてセキュリティ付加情報が破壊されると判断されたときにはステップS4013に移行し印刷を中止させる。さらにステップS4015においてジョブがキャンセルされた旨を前述のように操作パネルに表示する。一方、セキュリティ付加情報が破壊されないと判断された場合にはステップS4012に移行して印刷を継続する。
最後に、ステップS4014において画像読み取り部1401がまだ読み込むべきページが残っているかを判断し、残っている場合にはステップS4001に戻り、残っていない場合には処理を完了する。
ここで、上記ステップS4010の破壊判定処理の詳細を説明する。
図41はステップS4010の処理の詳細を説明するためのフローチャートである。
同図のステップS4101において拡大・縮小が設定されているか判定し、設定されている場合にはステップS4102において、第1の領域の抽出時に算出した元のグリッド間隔OrigSizeを画像解析部1404から取得する。一方、拡大・縮小が設定されていない場合、下記のステップS4105に至る。
次いで、ステップS4103において、OrigSizeと拡大縮小率からTransSizeを算出し、ステップS4104においてTransSizeが許容範囲(前述したMinSizeおよびMaxSizeの範囲)に収まっているかの判定を行う。ここで許容範囲外の場合はステップS4109において埋め込み情報であるセキュリティ付加情報が破壊されるとの判定結果を出す。一方、許容範囲内である場合は、さらにステップS4105において応用モードとしてエリア指定あるいは移動が指定されているかを判断する。そして、これらのいずれかが設定されている場合にはステップS4106において応用モード適用後に画像イメージが残存するサイズを決定する。
次いで、ステップS4107において、残存する画像イメージ中に第2の領域が残存する残存数を決定し、ステップS4108において残存数が規定の閾値を超えるかどうかを判定する。この判定で上記残存数が規定の閾値を超えると判定される場合には第2の領域の冗長性が十分であると判断してステップS4110に移行する。一方、そうでない場合は冗長性が不十分であるのでセキュリティ付加情報が破壊されているとみなし、ステップS4109に至る。
ステップS4110では、その他の応用モード、つまりイメージクリエイトであるネガポジ反転あるいは鏡像が設定されている場合、ステップS4109に移行し、かならずセキュリティ付加情報は破壊されるとの判定結果を出す。一方、そうでない場合、ステップS4111に移行し、セキュリティ付加情報を破壊しないとの判定結果を出す。
以上のようにして、画像形成装置に対する印刷制御がなされる。
以上の実施形態においては、格子点(グリッド)からのドットのずれ方向によって付加情報を表現する画像データを対象として、説明をしてきた。
しかしながら、当業者であれば、これを他の表現形式(付加情報の表現)に適用可能であることに気付くであろう。例えば、QRコード(登録商標)等の通常の2次元コードやバーコードに適用可能であることに気付くであろう。あるいは、グリフコードやドットコードといった2次元コードに適用可能であることに気付くであろう。通常の2次元コードやバーコードでは、格子点上にドットを打つ、打たないを制御することによって情報を表現する点で、「格子点からのドットのずれ方向によって付加情報を表現する方式」とは異なる。しかし、一つ一つの格子点をなぞるラインが存在すると言う点では同じである。また、一つ一つの格子点に一つ一つのドットが関連付けられているか否かという点でも、「格子点からのドットのずれ方向によって付加情報を表現する」画像データと同じである。もちろん、通常の2次元コードやバーコードでは、ドットの関連付けられていない格子点が存在する(そして、それにより情報0を表現している)という点では異なるが。
また、格子点に関連付けられたドットの配置によって、付加情報が表現されているという点でも同じである。このことを詳細に述べる。まず、通常の2次元コードやバーコードの場合には、ドットが配置されている、配置されていないということによって付加情報を表現している。また、「格子点からのドットのずれ方向によって付加情報を表現する」方式では、格子点からのドットの配置位置によって付加情報を表現している。
[第2の実施形態]
前述した第1の実施形態では、グリッド間隔が所定範囲内(許容範囲内)であるか否かに基づいて、変倍(拡大、縮小)の許可、不許可の判定を行った。
以下に説明する第2の実施形態では、グリッド間隔が所定範囲内であるか否かだけではなくて、ドットサイズが所定範囲内(許容範囲内)であるか否かに基づいて、変倍の許可、不許可の判定を行う。
これは、QRコード(登録商標)やバーコードといった「格子点間の距離(グリッド間隔)とドットサイズとが略一致する」方式には、あまり適さない方法である。なぜなら、格子点間の距離(グリッド間隔)に関する判定を行った上に、ドットサイズに関する判定を行うと、実質的に同じ判定を2回行うことになるからである。
一方、第1の実施形態に開示のLVBCに代表されるような「格子点間の距離A(グリッド間隔)とドットサイズBとが略一致しない上に、互いの比率(AとBの比率)も変更可能である」方式では、両方の判定を行う必要が生じうる。
以下では、第2の実施の形態として、第1の実施の形態における上記ステップS4010の破壊判定処理の形態とは別の形態について詳細を説明する。
図42は本実施形態におけるステップS4010の処理の詳細を説明するためのフローチャートである。なお、同図において図41に示したフローチャートと共通または類似の処理ステップには共通の符号を付している。
同図のステップS4101において拡大・縮小が設定されているか判定し、設定されている場合にはステップS4102において、第1の領域の抽出時に算出した元のグリッド間隔OrigSizeを画像解析部1404から取得する。さらに、ドット解析部1803から平均ドットサイズDotSizeを取得する。一方、拡大・縮小が設定されていない場合、下記のステップS4105に至る。
次いで、ステップS4103において、OrigSizeと拡大縮小率からTransSizeを算出する。さらに、ステップS4103において、平均ドットサイズと拡大縮小率に基づいて(両者を乗算する)ことによって、TransDotSizeを算出する。ステップS4104においてTransSizeが許容範囲(前述したMinSizeおよびMaxSizeの範囲)に収まっているかの判定を行う。ここで許容範囲外の場合はステップS4109において埋め込み情報であるセキュリティ付加情報が破壊されるとの判定結果を出す。そして、ステップS4105以降の処理や、ステップS4201の処理は行わない。一方、許容範囲内である場合は、ステップS4201に移行する。そして、TransDotSizeが許容範囲に収まっているかの判定を行う。ここで、ここで許容範囲外の場合はステップS4109において埋め込み情報であるセキュリティ付加情報が破壊されるとの判定結果を出す。そして、ステップS4105以降の処理を行わない。一方、許容範囲内である場合は、ステップS4105に移行する。そして、ステップS4105において応用モードとしてエリア指定あるいは移動が指定されているかを判断する。そして、これらのいずれかが設定されている場合にはステップS4106において応用モード適用後に画像イメージが残存するサイズを決定する。
次いで、ステップS4107において、残存する画像イメージ中に第2の領域が残存する残存数を決定し、ステップS4108において残存数が規定の閾値を超えるかどうかを判定する。この判定で上記残存数が規定の閾値を超えると判定される場合には第2の領域の冗長性が十分であると判断してステップS4110に移行する。一方、そうでない場合は冗長性が不十分であるのでセキュリティ付加情報が破壊されているとみなし、ステップS4109に至る。
ステップS4110では、その他の応用モード、つまりイメージクリエイトであるネガポジ反転あるいは鏡像が設定されている場合、ステップS4109に移行し、かならずセキュリティ付加情報は破壊されるとの判定結果を出す。一方、そうでない場合、ステップS4111に移行し、セキュリティ付加情報を破壊しないとの判定結果を出す。
以上のようにして、画像形成装置に対する印刷制御がなされる。
なお、本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)がそのプログラムコードを読出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が、コンピュータに、上述した実施形態の機能を実現させることになる。そのため、このプログラムコード及びプログラムコードを記憶/記録したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、前述した実施形態の機能は、コンピュータが、読み出したプログラムを実行することによって実現される。また、このプログラムの実行とは、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行う場合も含まれる。
さらに、前述した実施形態の機能は、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによっても実現することもできる。この場合、まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。こうした機能拡張ボードや機能拡張ユニットによる処理によっても前述した実施形態の機能が実現される。