以下に添付図面を参照して、画像処理装置、プログラムおよび画像処理方法の実施の形態を詳細に説明する。
(第1の実施の形態)
<画像処理システムの装置構成>
はじめに、本実施の形態の画像処理システムの装置構成の例について説明する。
図1は、第1の実施の形態にかかる画像処理システム100の装置構成の例を示す図である。図1に示すように、画像処理システム100は、画像処理装置10、情報処理装置20a、情報処理装置20b及び情報処理装置20cを備える。以下、情報処理装置20a、情報処理装置20b及び情報処理装置20cを区別しない場合、単に情報処理装置20という。
画像処理装置10及び情報処理装置20は、ネットワーク200を介して接続されている。ネットワーク200の通信方式は、無線方式でも有線方式でもよい。またネットワーク200は、有線方式と無線方式とを組み合わせることにより実現されていてもよい。
画像処理装置10は、例えば複合機(MFP:Multifunction Peripheral)である。また、情報処理装置20は、例えばパーソナルコンピュータ及びスマートデバイスなどである。
<画像処理装置のソフトウェア構成>
次に、本実施の形態の画像処理装置10のソフトウェア構成の例について説明する。
図2は、画像処理装置10のソフトウェア構成の例を示す図である。図2に示すように、画像処理装置10は、アプリケーション層(以下、アプリ層という。)のソフトウェアと、プラットフォームのソフトウェアと、を有する。プラットフォームのソフトウェアは、コントロールサービス層のソフトウェアと、ハンドラ層のソフトウェアと、を有する。なお、画像処理装置10の一部又は全部のソフトウェアは、ハードウェアにより実現されてもよい。
プラットフォームのソフトウェアは、API51により、アプリ層のソフトウェアから処理要求を受信する。API51は、アプリ層のソフトウェアから、コントロールサービス層のソフトウェアを利用するための処理を実行する予め定義された関数である。
アプリ層のソフトウェアと、プラットフォームのソフトウェアとは、例えばUNIX(登録商標)などのオペレーティングシステム(以下、OSという。)上で動作する。OSは、アプリケーション層のソフトウェア、及び、プラットフォームのソフトウェアを、プロセスとして、並列に実行する。
アプリ層のソフトウェアは、画像処理装置10によりユーザに提供されるサービスを実現するための処理を行う。
アプリ層は、プリントアプリケーションソフトウェア(以下、「プリントアプリ」と称する)11、コピーアプリケーションソフトウェア(以下、「コピーアプリ」と称する)12、ファクスアプリケーションソフトウェア(以下、「ファクスアプリ」と称する)13、スキャナアプリケーションソフトウェア(以下、「スキャナアプリ」と称する)14及び記憶制御アプリケーションソフトウェア(以下、「記憶制御アプリ」と称する)15を有する。プリントアプリ11は、印刷機能を制御する処理を行う。コピーアプリ12は、コピー機能を制御する処理を行う。ファクスアプリ13は、ファクス機能を制御する処理を行う。スキャナアプリ14は、スキャナ機能を制御する処理を行う。
記憶制御アプリ15は、情報の読出し、追加、変更及び削除などの記憶制御処理を行う。画像処理装置10に記憶される情報は、後述のメモリ62及びHDD(Hard Disk Drive)63(図3参照)に記憶される。また、記憶制御アプリ15は、画像処理装置10に記憶されている情報のアクセス権限の設定を行う。アクセス権限は、例えば複数のユーザからのアクセスを可能にする共有設定などである。なお、記憶制御アプリ15により行われる一部又は全部の処理は、OSにより実行されてもよい。
コントロールサービス層のソフトウェアは、アプリケーション層のソフトウェアから処理要求を受信し、当該処理要求に基づくハードウェア資源獲得要求を、SRM(System Resource Manager)31に送信する。SRM31の説明は後述する。
コントロールサービス層は、NCS(Network Control Service)21、OCS(Operation panel Control Service)22、FCS(Fax Control Service)23、MCS(Memory Control Service)24、ECS(Engine Control Service)25、DCS(Delivery Control Service)26、CCS(Certification and Charge Control Service)27、LCS(Log Control Service)28、UCS(User Control Service)29、及び、SCS(System Control Service)30を有する。
NCS21は、ネットワークI/Oを必要とするソフトウェアに対する通信制御処理を行う。具体的には、NCS21は、情報処理装置20からネットワーク200を介して、種々のプロトコルにより受信したデータを、画像処理装置10で動作する各ソフトウェアに振り分ける。また、NCS21は、画像処理装置10で動作する各ソフトウェアから受信したデータを、ネットワーク200に接続された情報処理装置20に種々のプロトコルにより送信する。
OCS22は、ユーザによる操作入力を受け付けるオペレーションパネルの制御処理を行う。
FCS23は、ファクスアプリ13からの要求に応じて、公衆交換電話網(PSTN:Public Switched Telephone Network)又は総合ディジタル通信網(ISDN:Integrated Services Digital Network)を利用したファクス送受信処理を行う。またFCS23は、ファクスアプリ13からの要求に応じて、ファクスデータをバックアップ用メモリへ登録する処理、バックアップ用メモリからファクスデータを引用する処理、ファクスデータの読み込み処理、及び、ファクス受信時の印刷処理などを行う。
MCS24は、各ソフトウェアにより使用されるメモリの取得及び開放、並びに、HDDのデータの書込み及び読出しなどの記憶制御処理を行う。
ECS25は、スキャン及び印刷を行うハードウェアであるエンジン74(図3参照)の制御処理を行う。
DCS26は、画像処理装置10に記憶されている情報の配信などの制御処理を行う。
CCS27は、ユーザの認証処理、及び、画像処理装置10により実現されるサービスの課金処理に関する制御処理を行う。
ユーザを認証する認証処理は任意でよい。ユーザの認証処理は、例えばユーザを識別するIDカードを読み取る処理、並びに、ユーザの識別情報及びパスワードの組み合わせと照合する処理などである。
IDカードを読み取る処理は、NFC(Near Field Communication)などを利用した読取装置により、IDカードに含まれるユーザの識別情報を、IDカードから読み取る処理である。
ユーザの識別情報及びパスワードの組み合わせと照合する処理は、ユーザの識別情報及びパスワードの入力を受け付け、当該ユーザの識別情報及びパスワードを、画像処理装置10に記憶されているユーザの識別情報及びパスワードの組み合わせと照合する処理である。情報処理装置20からネットワーク200を介して画像処理装置10が利用される場合は、例えば画像処理装置10が、当該情報処理装置20からユーザの識別情報及びパスワードを受信することにより、当該情報処理装置20のユーザを認証する。
LCS28は、画像処理装置10で動作する各ソフトウェアから出力されるログの記憶制御処理を行う。
UCS29は、ユーザ情報の読出し、追加、変更及び削除などの記憶制御処理を行う。ユーザ情報は、例えばユーザの認証に使用されるユーザの識別情報及びパスワードなどである。
SCS30は、ソフトウェアの管理、オペレーションパネルなどの操作部の制御、システム画面の表示、LEDの表示、ハードウェア資源の管理、及び、割り込みアプリケーション制御などの制御処理を行う。
SRM31は、SCS30と共に画像処理装置10のシステムの制御処理、及び、ハードウェア資源の制御処理を行う。SRM31は、例えばエンジン74(図3参照)に含まれるプロッタなどのハードウェアを利用する上位層のソフトウェアから、ハードウェア資源獲得要求を受信し、各ソフトウェアから受信したハードウェア資源獲得要求の調停を行い、1以上のハードウェア資源の割り当て制御を行う。
具体的には、SRM31は、ハードウェア資源獲得要求により指定されたハードウェア資源が利用可能であるか否か(他のソフトウェアから受信したハードウェア資源獲得要求に応じて、他のソフトウェアに既に利用されていないか)を判定する。SRM31は、ハードウェア資源獲得要求により指定されたハードウェア資源が利用可能である場合、当該ハードウェア資源が利用可能であることを、当該ハードウェア資源獲得要求を送信した上位層のソフトウェアに通知する。
また、SRM31は、上位層から受信した各ハードウェア資源獲得要求のスケジューリングを行うことにより、各ハードウェア資源獲得要求により指定された動作(例えば紙搬送、作像動作、メモリ確保及びファイル生成など)の実行指示を行う。なおSRM31から直接、エンジン74(図3参照)に対する実行指示が行われる場合、エンジンI/Fが利用される。エンジンI/Fは、エンジン74に処理要求を行う予め定義されている関数である。
ハンドラ層のソフトウェアは、SRM31からハードウェア資源獲得要求を受信し、当該ハードウェア資源獲得要求に応じたハードウェア資源を獲得する。
ハンドラ層は、FCUH(Fax Control Unit Handler)41、IMH(Image Memory Handler)42、及び、MEU(Media Edit Utility)43を有する。
FCUH41は、SRM31から、エンジン74(図3参照)に含まれるファクスコントロールユニットに対するハードウェア資源獲得要求を受信し、ファクスコントロールユニットの動作制御を行う。なおFCUH41によりファクスコントロールユニットに処理要求が送信される場合も、上述のエンジンI/Fが利用される。
IMH42は、SRM31からメモリに対するハードウェア資源獲得要求を受信し、上位層のソフトウェアにより使用されるメモリの割り当て制御を行う。
MEU43は、SRM31からハードウェア資源獲得要求を受信し、電子透かしの付加制御、及び、画像変換制御などの画像処理を行うハードウェアの動作制御を行う。
上述のソフトウェアの動作例として、画像処理装置10がコピー処理を行う場合について具体的に説明する。
はじめに、ユーザの認証処理が、OCS22、CCS27及びUCS29により行われる。具体的には、OCS22が、ユーザの識別情報及びパスワードを示す操作入力を受け付けると、当該ユーザの識別情報及びパスワードをCCS27に送信する。CCS27は、OCS22からユーザの識別情報及びパスワードを受け付けると、当該ユーザの識別情報及びパスワードの組み合わせが画像処理装置10に記憶されているか否かを、UCS29を介して確認することによりユーザの認証を行う。
次に、OCS22が、コピーボタンの押下などのコピーアプリ12を動作させることを示す操作入力を受け付ける。
次に、コピーアプリ12が、コピー処理に使用するメモリの取得をMCS24に要求し、エンジン74(図3参照)による読み取り制御をECS25に要求することにより、更に下位のサ―ビス層のソフトウェア(SCS30及びSRM31)で処理が実行される。SRM31は、エンジン74とエンジンI/Fを介して情報の送受信を行う。一方、エンジン74から出力されたデータは、IMH42により記憶制御されるメモリに保持される。
IMH42は、ユーザによる操作入力、及び、画像処理装置10の設定に応じて、HDD63(図3参照)に画像を記録し、当該画像に電子透かしを付与する処理の実行をMEU43に要求する。
ECS25により、電子透かしが付与された画像(後述の第2の画像)がエンジン74に入力されると、エンジン74により当該電子透かしが付与された画像が印刷される。
LCS28は、上述の各ソフトウェアにより行われたユーザの認証処理から印刷処理までの一連の処理のログを、画像処理装置10に記憶する。
<画像処理装置のハードウェア構成>
次に、画像処理装置10のハードウェア構成の例について説明する。
図3は、画像処理装置10のハードウェア構成の例を示す図である。図3に示すように、画像処理装置10は、コントローラ60、オペレーションパネル70、FCU(Facsimile Control Unit)71、USB(Universal Serial Bus)デバイス72、MLB(Media Link Board)73及びエンジン74を備える。
コントローラ60は、画像処理装置10の動作を制御する制御装置である。コントローラ60は、CPU(Central Processing Unit)61、メモリ62、HDD63、ASIC(Application Specific Integrated Circuit)64、PHY(Physical Layer Chip)65及びTPM(Trusted Platform Module)66を備える。
CPU61は、画像処理装置10の動作を制御する上述のアプリ層、コントロールサービス層及びハンドラ層のソフトウェア(プログラム)を実行する。
メモリ62は、画像処理装置10の主記憶装置である。HDD63は、画像処理装置10の補助記憶装置である。HDD63は、例えば上述のアプリ層、コントロールサービス層及びハンドラ層のソフトウェアを記憶する。上述のアプリ層、コントロールサービス層及びハンドラ層のソフトウェアは、CPU61によってHDD63から読み出されることにより、メモリ62上に展開される。
ASIC64は、画像処理装置10の動作を制御する集積回路である。CPU61、メモリ62、HDD63、PHY65、TPM66、オペレーションパネル70、FCU71、USBデバイス72、MLB73及びエンジン74は、データ転送バスによってASIC64に接続されている。
PHY65は、ネットワーク200に接続された情報処理装置20との通信を制御する。
TPM66は、暗号キーなどの秘匿性の高い情報を記憶するセキュリティチップである。暗号キーは、例えば公開鍵暗号の秘密鍵(復号鍵)などである。暗号キーをHDD63ではなくTPM66に記憶することにより、暗号キーの流出リスクを低下させることができる。
例えばTPM66は、公開鍵暗号の公開鍵により暗号化されたデータを復号する場合、TPM65内で記憶されている秘密鍵を使用して当該データを復号する。
また例えば、TPM66は、コピーアプリ12、ファクスアプリ13及びスキャナアプリ14にて、画像の読み取り要求が発生した場合、TPM66に記憶された暗号キーにより暗号化された当該画像を、HDD63に記録する。
オペレーションパネル70は、画像処理装置10を使用するユーザから、各種ジョブの実行指示、及び、設定入力などを受け付けたり、ユーザに提示する各種情報を表示したりするユーザインタフェースである。
FCU71は、画像処理装置10のファクシミリ機能を制御する制御ユニットである。
USBデバイス72は、USB機器を接続するインタフェースである。
MLB73は、画像データのフォーマット変換を行う変換ボードである。
エンジン74は、画像の読取を行うスキャナエンジン、及び、印刷を行うプロッタエンジンなどを含む。
<画像処理装置の機能構成>
次に、上述のハードウェアとソフトウェアとが協働することにより実現される画像処理装置10の機能構成の例について説明する。
図4は、画像処理装置10の機能構成の例を示す図である。図4に示すように、画像処理装置10は、画像解析部101、操作制御部102、機能制御部103、通信制御部104、読取制御部105、画像処理部106、印刷制御部107、画像メモリ管理部108及び記憶制御部109を備える。なお、説明の便宜上、図4では、本実施の形態に関する機能を主に例示しているが、画像処理装置10が有する機能は、これらに限られるものではない。
操作制御部102は、オペレーションパネル70を制御してユーザからの操作入力に基づく各種の設定情報を受け付ける。
機能制御部103は、操作制御部102から各種の設定情報を受信して各種機能を実行する。
通信制御部104は、ネットワーク200に接続された情報処理装置20と通信する通信処理を行う。通信制御部104は、例えば情報処理装置20から、第1の画像を受信する。第1の画像は、画像処理装置10による処理の対象になる画像である。第1の画像は、例えば情報処理装置20の文書作成ソフトなどで作成された情報を示す画像などである。
読取制御部105は、紙媒体などの記録媒体に記録された情報を、スキャン画像(第1の画像)として読み取る。読取制御部105により読み取られた第1の画像のデータ形式は任意でよい。読取制御部105により読み取られた第1の画像のデータ形式は、例えばJPEG形式、TIFF形式及びPDF形式などである。
また、読取制御部105は、画像メモリ管理部108に読み取った画像データの転送を行う。
画像メモリ管理部108は、画像処理装置10のメモリ62やHDD63に蓄積した画像を管理する。具体的には、画像メモリ管理部108は、読取制御部105で読み取った画像データの画像情報を画像処理部106に送信する。
画像処理部106は、第1の画像に、画像処理装置10の印刷時のトレース情報(誰が、何時、何処で印刷を行ったかを示す情報)を含む電子透かしを埋め込む画像処理を行うことにより、第2の画像を生成する。なお、第2の画像のデータ形式は、第1の画像と同じでもよいし、第1の画像のデータ形式と異なっていてもよい。
なお、本実施の形態の電子透かしは、地紋に代表されるユーザにより視認される可視の電子透かしである。
また、画像処理部106は、情報処理装置20から、第2の画像に含まれる電子透かしを取り出す取り出し要求を、通信制御部104を介して受信したときに、第2の画像に含まれる電子透かしを取り出す画像処理を行うことにより、第1の画像を生成する。そして画像処理部106は、取り出し要求の応答として、第1の画像を、通信制御部104を介して情報処理装置20に送信する。
印刷制御部107は、エンジン74のプロッタエンジンを制御して上述の第2の画像を印刷する。
記憶制御部109は、画像処理装置10のメモリ62やHDD63に情報を記憶する。記憶制御部109は、画像処理部106が生成した第2の画像を、メモリ62やHDD63に記憶する。
ここで、画像処理装置10の印刷時のトレース情報を微小点(ドット)に変換した可視の電子透かしにより画像に埋め込んだ場合の問題点について説明する。
上述したように画像処理装置10は、印刷時のトレース情報を電子透かしとして埋め込んだ第2の画像を、印刷制御部107のエンジン74の制御により印刷する。
このようにして第2の画像を印刷した印刷物から電子透かしを検出する際、画像処理装置10は、エンジン74のスキャナエンジンで第2の画像を印刷した印刷物を読み取る。しかしながら、画像処理装置10においては、電子透かしとして埋め込んだ微小点の誤検出または検出漏れにより、電子透かしを上手く検出することができない場合があった。また、電子透かしを埋め込んだ第2の画像は、微小点が目立ってしまい、低画質となってしまうという問題もあった。
電子透かしの誤検出または検出漏れについて詳述する。写真画像などのベタ塗り箇所は、画像処理を行う際にノイズ群となってしまうケースがある。これにより、電子透かしとして埋め込んだ微小点がノイズに埋もれてしまう、またはノイズを誤って電子透かしとして埋め込んだ微小点として誤検出してしまう。
また、履歴書や免許証といった文書は、写真および文字が混在する。ここで、図5は、写真および文字が混在するデータの一例を示す図である。図5に示すように、履歴書や免許証といったスキャン画像300は、写真部301と文字部302とを有している。上述したように、写真部301は、電子透かしの検出において、ノイズ群の影響により文字部302に比べて誤検出が起きやすい。
なお、スキャン画像300の写真部301は別目的で利用されるケースも有るので(例:社員証の写真)、写真部301は、加工されていないこと(電子透かしが埋め込まれていないこと)が望ましい。
以上から、写真および文字が混在するスキャン画像300のようなデータにおいては、写真部301を避けて文字部302にのみ電子透かしを埋め込むことが有用であることが分かる。
そこで、本実施の形態においては、電子透かしの埋め込み時に対象となる第1の画像の構成を解析し、特に問題の発生しやすい写真部への電子透かしの埋め込みはせずに、写真部以外の部分に電子透かしの埋め込みを実施する。これにより、電子透かしの埋もれや誤検出が発生する可能性が低くなり、第2の画像を印刷した印刷物から電子透かしを正確に検出することができる。
図4に戻り、画像処理部106は、上述のように電子透かしの埋め込み時に対象となる第1の画像の構成を得るために、第1の画像に存在する画像種類(文字・写真)の解析や、画像種類(文字・写真)の座標情報の解析を画像解析部101に依頼する。
画像解析部101は、電子透かしの埋め込み時に対象となる第1の画像を解析し、第1の画像に存在する画像種類(文字・写真)を解析し、画像種類(文字・写真)の各座標を算出する。画像解析部101は、画像解析手段として機能する。
そして、画像処理部106は、画像解析部101からの画像種類情報と座標情報とを元に電子透かしの埋め込み位置を決定し、第1の画像に、電子透かしを埋め込む画像処理を行うことにより、第2の画像を生成する。画像処理部106は、詳細は後述するが、特徴判定手段および埋め込み位置決定手段として機能する。
<画像処理方法>
次に、本実施の形態の画像処理装置10における電子透かしを埋め込む画像処理方法の例について説明する。
ここで、図6は画像処理装置10における画像処置の動作手順の一例を示すシーケンス図である。図6に示すように、オペレーションパネル70を介したユーザからの画像の読み取りの実行依頼があった場合、操作制御部102は、機能制御部103に対して画像の読み取りの実行依頼を送信する(ステップS1)。
機能制御部103は、操作制御部102からの画像の読み取りの実行依頼を受け、読取制御部105に原稿の画像の読み取りを実行させる(ステップS2)。
読取制御部105は、読み取ったスキャン画像(第1の画像)を画像メモリ管理部108に転送する(ステップS3)。
画像メモリ管理部108は、読取制御部105で読み取ったスキャン画像(第1の画像)をメモリ62やHDD63に蓄積するとともに、画像処理部106にスキャン画像(第1の画像)が蓄積されたことを通知する(ステップS4)。
画像処理部106は、電子透かしの埋め込み時に対象となるスキャン画像(第1の画像)の構成を得るために、画像解析を依頼する(ステップS5)。本実施の形態では、画像処理部106は、画像解析部101に画像種類(文字・写真)の解析や、画像種類(文字・写真)の座標情報の解析を依頼する。
画像解析部101は、電子透かしの埋め込み時に対象となるスキャン画像(第1の画像)から画像種類(文字・写真)を解析し、画像種類(文字・写真)の各座標を算出して画像解析結果とし(ステップS6)、画像解析結果を画像処理部106に送信する(ステップS7)。本実施の形態では、画像処理部106は、画像解析結果として画像種類情報と座標情報を画像処理部106に送信する。
ここで、画像解析部101による画像種類(文字・写真)の解析手法について説明する。本実施の形態においては、画像の種類とは、文字で構成された文字部と写真で構成された写真部である。
文字部は、画素が連続的ではないのが特徴である。詳細には、文字の中には空白が存在し、文字と文字の間にも空白が存在するからである。一方、写真部は、画素が連続的(つまり、ベタ塗り)であるのが特徴である。
以下は、8ビットの白黒画像(0〜255、256階調)の解析手法の一例である。
画像解析部101は、連続判定閾値(例えば、128)を予め設定する。画像解析部101は、連続した2つの画素の画素値の差が128以上の場合は、この2つの画素が連続しないと判断する。
なお、画像解析部101は、ノイズなど影響を考慮して、連続した所定数の画素のそれぞれが連続しないと判断した場合に、これらの画素が連続しないと判断してもよい。例えば、上記所定数が「4」と設定されており、画素値の差が64、64、64、256、64の場合、画素単位で判断するとき、連続しないのは「2」であり、「4」未満のため、この5つの点は連続すると判断する。この場合、256の点がノイズの可能性がある。
なお、画像解析部101は、画素の走査方法については、例えば、左上から右下の順で、一行ずつ走査すればよい。
図6に戻り、画像処理部106は、画像解析部101からの画像種類情報と座標情報を元に、電子透かしの埋め込み位置を決定する(ステップS8)。
ここで、画像処理部106による電子透かしの埋め込み位置の決定手法について説明する。
図7は写真部を除いた縁(エッジ)に電子透かしの埋め込みを行う例を示す図、図8は写真部を除いた箇所に電子透かしの埋め込みを行う例を示す図である。写真部301を除いた縁(エッジ)に電子透かしの埋め込みを行う場合、図7(b)に示すように、写真部301を除いた縁(エッジ)である文字部302の辺が4つしかなく、辺の両端と中心点を基準位置とする場合は、電子透かしとして8ビットの情報しか埋め込めない。そこで、画像処理部106は、画像解析部101による画像解析の結果として文字部302の辺が所定値以下の場合は、図8に示すように、写真部301を除いた箇所に電子透かしの埋め込みを行うようにする。
図6に戻り、画像処理部106は、第1の画像におけるステップS7で決定した電子透かしの埋め込み位置に、電子透かしを埋め込む画像処理を行うことにより、第2の画像を生成する(ステップS9)。
そして、画像処理部106は、電子透かしを埋め込む画像処理が終了したことを通知するとともに、第2の画像を画像メモリ管理部108に転送する(ステップS10)。
なお、第2の画像は、画像メモリ管理部108によってメモリ62やHDD63に蓄積され、印刷制御部107の制御によってエンジン74のプロッタエンジンで印刷される。
画像処理装置10は、原稿ページ数分、上述した処理を繰り返す。
図9は、上述のステップS5〜S9において、画像処理部106および画像解析部101が実行する処理の一例を示すフローチャートである。
図9に示すように、画像処理部106は、画像解析部101に画像種類(文字・写真)の解析や、画像種類(文字・写真)の座標情報の解析を依頼する(ステップS21)。
画像解析部101は、画像処理部106からの依頼に応じ、スキャン画像(第1の画像)から画像種類(文字・写真)を解析する(ステップS22)。そして、画像解析部101は、解析された写真部の数だけ、写真部の各座標(左上、右上、左下、右下)を算出する(ステップS23)。
画像処理部106は、画像解析部101から解析結果(画像種類情報と座標情報)を受け取ると(ステップS24のYes)、まず、スキャン画像が所定の特徴パターンであるかを判定する(ステップS25)。なお、本実施の形態においては、画像処理部106は、一例として、スキャン画像の文字部の辺が所定値(例えば、4)以下の特徴パターンであるかを判定する。ステップS25においては、画像処理部106は、画像解析部101による解析結果を元にスキャン画像(第1の画像)の特徴パターンを判定する特徴判定手段として機能する。
ここで、図10はスキャン画像300の文字部302の辺の算出手法の一例を示す図である。図10に示すように、電子透かしを埋め込む位置を「埋め込み辺」とし、写真部301以外の辺の座標を算出する。図10に示す例では、写真部301の座標が左上(200,0)、右上(294,0)、左下(200,80)、右下(294,80)である。画像処理部106は、この座標を得た後、写真部301を除いた各辺の座標を求める。
図10に示す例では、
辺1:(0,0)−(200,0)
辺2:(200,0)−(200,80)
辺3:(200,80)−(200,294)
辺4:(294,80)−(294,210)
辺5:(0,210)−(294,210)
辺6:(0,0)−(0,210)
であることが分かる。
画像処理部106は、スキャン画像の文字部の辺が所定値以下の特徴パターンでない場合(ステップS25のNo)、写真部を除いた縁(エッジ)に電子透かしの埋め込みを行うとして、写真部の座標を元に、電子透かしの埋め込み基準位置を決定する(ステップS26)。ステップS26においては、画像処理部106は、ステップS25で判定したスキャン画像(第1の画像)の特徴パターンに応じて、当該第1の画像に対する電子透かしの埋め込み位置を、当該電子透かしの誤検出および検出漏れの無い位置に決定する埋め込み位置決定手段として機能する。
図10に示す例では、各辺の両端及び中心を基準位置として決定する。この基準位置には、黒又は白のドット(例えば、黒が「1」、白が「0」を表す)が電子透かしとして埋め込まれる。図10に示す例では、11ビットのデータを電子透かしとして埋め込むことができる。
なお、座標が重複する基準位置は、1つの基準位置とすればよい。また、画像処理部106には、電子透かしの埋め込みと実行するための埋め込み設定値および埋め込みルールが予め設定されている。埋め込みルールは、例えば、左上の点から時計回りの順番で埋め込むなどである。画像処理部106は、この埋め込み設定値および埋め込みルールに基づいて電子透かしの埋め込みを実行する。
下記は、埋め込み設定値および埋め込みルールの一例である。
<埋め込み設定値の一例>
連続判定閾値 128
連続判定画素数 4
基準位置 辺の両端及び中心点
エッジ検索範囲 16
エッジ判定閾値 16
エッジ判定画素数 8
基準位置移動ルール 右端
<埋め込みルールの一例>
開始位置 左上
埋め込み順 時計回り
なお、電子透かしとして埋め込み可能なデータ量を増やしたい場合は、例えば、各辺の両端のほか、三等分点、四等分点などを基準位置として埋め込み設定値に設定してもよい。
一方、画像処理部106は、スキャン画像の文字部の辺が所定値以下の特徴パターンである場合(ステップS25のYes)、写真部以外のスペースに電子透かしの埋め込みを行うとして、写真部の位置より、電子透かしの埋め込みを行う埋め込みスペースを決定する(ステップS27)。
ここで、図11はスキャン画像の埋め込みスペースの算出手法の一例を示す図である。図11に示すように、電子透かしを埋め込む位置を「埋め込みスペース」とし、写真部301の座標より各スペースの範囲を算出する。
図11に示す例では、
スペース1:(0,0)−(200,0)−(0,80)−(200,80)
スペース2:(110,200)−(110−294)−(200,210)−(294,210)
であることが分かる。
次いで、画像処理部106は、ステップS27で各スペースの範囲が決定できたら、決定したスペース内にて、電子透かしの埋め込み基準位置を決定する(ステップS28)。ステップS27及びS28においては、画像処理部106は、ステップS25で判定したスキャン画像(第1の画像)の特徴パターンに応じて、当該第1の画像に対する電子透かしの埋め込み位置を、当該電子透かしの誤検出および検出漏れの無い位置に決定する埋め込み位置決定手段として機能する。
図11に示す例は、楕円のパターンで電子透かしが埋め込まれる例である。楕円の軸は、文字部302の座標によって決めればよい。また、画像処理部106は、ドットの埋め込み位置や順番などについては、予め設定された埋め込みルールに従うことになる。
ステップS26またはS28の処理が終了すると、画像処理部106は、必要な場合に電子透かしの埋め込み位置の位置調整を行う。
ここで、図12は文字部への電子透かしの埋め込みを行う際に、埋め込まれた電子透かしの微小点を目立ちづらくする為の位置調整手法の例を示す図である。図12に示すように、基準位置の決定後、基準位置の一定距離内にエッジが存在する場合、画像処理部106は、そのエッジに対し電子透かしの微小点を吸着させる。一方、画像処理部106は、基準位置の一定距離内にエッジが存在しない場合は、基準位置にそのまま電子透かしの埋め込みを行う。
図9に戻り、基準位置の決定後、画像処理部106は、基準位置の一定距離内にエッジが存在するかを判定する(ステップS29)。
画像処理部106は、基準位置の一定距離内にエッジが存在する場合(ステップS29のYes)、そのエッジに対し電子透かしの微小点を吸着させる(ステップS30)。
一方、画像処理部106は、基準位置の一定距離内にエッジが存在しない場合(ステップS29のNo)、基準位置にそのまま電子透かしの埋め込みを行う(ステップS31)。
なお、基準位置からエッジを検索する範囲は、埋め込み設定値において予め設定されている(例えば、16画素)。画像処理部106は、この範囲内に、所定数(例えば、8画素)以上画素が連続していれば、これらの画素がエッジと判断する。また、画像処理部106は、画素が連続しているかについては、画像の種類が写真であるかの判断と同じ基準で判断してもよいし、別の基準でもよい(例えば、閾値を「16」に設定)。
画像処理部106は、上述のようにして電子透かしの微小点(ドット)の基準位置を変更する。なお、例えば、画像処理部106は、検出したエッジを構成する画素のうち、当初の基準位置にもっとも距離の近い画素に隣接する画素の位置に基準位置を変更してもよい。
以上により、画像処理装置10における電子透かしを埋め込む画像処理方法の説明を終了する。
なお、電子透かしが埋め込まれた第2の画像を印刷した印刷物から電子透かしを検出する場合は、画像処理装置10は、電子透かしを埋め込むときと同じロジック、同じ設定値で検出を実行すればよい。すなわち、画像処理装置10は、スキャン画像に対して、図6に示すステップS5〜S7の処理を行い、基準位置を決定する。なお、その際、画像処理装置10は、基準位置をエッジに移動するか否かも判断する。画像処理装置10は、決定した基準位置又は移動後の基準位置から、電子透かしの埋め込み時と同じ埋め込みルールに従って、ドットの画素値(黒又は白)を抽出する。そして、画像処理装置10は、抽出したドットの画素値(黒又は白)を基に、抽出情報(例えば0/1のビット列)を特定する。
すなわち、第2の画像を印刷した印刷物から電子透かしを正しく検出するために、画像処理装置10が電子透かしの埋め込み機器と異なる場合には、埋め込み設定値及び埋め込みルールを機器の間で同期をとる必要がある。
このように本実施の形態によれば、埋め込んだ電子透かしが画像に埋もれたり、もしくは画像ノイズを埋め込んだ電子透かしと誤検出したりすることを防止することができる、という効果を奏する。
また、本実施の形態によれば、第1の画像の特徴パターンに応じて、当該第1の画像に対する電子透かしの埋め込み位置を、当該電子透かしの誤検出および検出漏れの無い位置に決定するため、電子透かしの埋め込み位置の特定がされにくく、改ざんなどがされにくくなる、という効果を奏する。
(第2の実施の形態)
次に、第2の実施の形態について説明する。第2の実施の形態は、画像解析部101からの解析結果を元に電子透かしの埋め込み位置を決定する手法が、第1の実施の形態で説明した手法とは異なる。以下、第2の実施の形態の説明では、第1の実施の形態と同一部分の説明については省略し、第1の実施の形態と異なる箇所について説明する。
ここで、図13は第2の実施の形態にかかる画像処理部106および画像解析部101が実行する処理の一例を示すフローチャートである。
図13に示すように、画像処理部106は、画像解析部101に画像種類(文字・写真、余白の有無など)の解析を依頼する(ステップS41)。
画像解析部101は、画像処理部106からの依頼に応じ、スキャン画像(第1の画像)から画像種類(文字・写真、余白の有無など)を解析する(ステップS42)。本実施の形態の画像解析部101は、電子透かしの埋め込み時に対象となる読み取った画像(第1の画像)から画像種類(文字・写真、余白の有無など)を解析する。画像解析部101は、第1の実施の形態で説明した手法に加え、画像のエッジ抽出、濃淡の変化度合いなどから画像の種類の特定を行う。例えば、文字の場合、白黒境界によるエッジがはっきり現れるため、そのパターンの解析により判定が可能である。写真画像は、ベタ塗り箇所が多くなるため全体的に色が乗る、特定範囲内で階調差が少ない箇所が多い、といった特徴により判定が可能である。
画像処理部106は、画像解析部101から画像種類情報(文字・写真、余白の有無など)を受け取ると(ステップS43のYes)、スキャン画像が所定の特徴パターンであるかを判定する(ステップS44)。なお、本実施の形態においては、画像処理部106は、一例として、特徴パターンとしてスキャン画像の画像種類が写真か否かを判定する。
画像処理部106は、画像種類が写真であると判定すると(ステップS44のYes)、写真画像の周囲に余白が有るか否かを判定する(ステップS45)。
画像処理部106は、写真画像の周囲に余白が有ると判定した場合(ステップS45のYes)、写真画像の周囲の余白に電子透かしの埋め込みを行う(ステップS46)。
ここで、図14は写真画像周囲の余白に電子透かしの埋め込みを行った例を示す図である。図14に示すように、写真画像(写真部301)の周囲の余白303はユーザの目に留まりにくい箇所なので、写真画像(写真部301)の周囲の余白303に電子透かしの埋め込みを行うことで、電子透かしを目立ちづらくすることができる。
一方、画像処理部106は、写真画像の周囲に余白が無いと判定した場合(ステップS45のNo)、写真画像において濃淡が変化している境界部分に電子透かしの埋め込みを行う(ステップS47)。
ここで、図15は写真画像において濃淡が変化している境界部分に電子透かしの埋め込みを行った例を示す図である。図15に示すように、写真画像(写真部301)において濃淡が変化している境界部分に電子透かしの埋め込みを行うことで、電子透かしを目立ちづらくすることができる。
また、画像処理部106は、画像種類が文字であると判定すると(ステップS44のNo)、その文字のエッジに対し電子透かしの微小点を吸着させる(ステップS48)。
ここで、図16は文字画像に電子透かしの埋め込みを行った例を示す図である。文字画像の場合、電子透かしの微小点が独立して打たれていると、スキャン画像を見るユーザが微小点に気付き易く、かつ、画質への悪影響を及ぼし易い。図16に示すように、文字画像305については、文字の線(エッジ)付近に電子透かしの微小点Dを埋め込むことで、目立ちづらくすることができる。
このように本実施の形態によれば、埋め込んだ電子透かしが画像に埋もれたり、もしくは画像ノイズを埋め込んだ電子透かしと誤検出したりすることを防止することができる、という効果を奏する。
また、本実施の形態によれば、第1の画像の特徴パターンに応じて、当該第1の画像に対する電子透かしの埋め込み位置を、当該電子透かしの誤検出および検出漏れの無い位置に決定するため、電子透かしの埋め込み位置の特定がされにくく、改ざんなどがされにくくなる、という効果を奏する。
(第3の実施の形態)
次に、第3の実施の形態について説明する。第1の実施の形態では、画像処理部106は、スキャン画像の文字部の辺が所定値(例えば、4)以下の特徴パターンであるかを判定した結果に応じ、電子透かしの埋め込み位置を決定していた。第3の実施の形態は、スキャン画像の写真部により形成される縁(エッジ)の数に基準値を定めて、電子透かしの埋め込み方法を決定するようにした点が、第1の実施の形態で説明した手法とは異なる。以下、第3の実施の形態の説明では、第1の実施の形態と同一部分の説明については省略し、第1の実施の形態と異なる箇所について説明する。
ここで、図17は第3の実施の形態にかかる画像処理装置10における画像処置の動作手順の一例を示すシーケンス図である。図17に示すように、画像処理部106は、画像解析部101から画像解析結果(画像種類情報、画像の色情報、座標情報)を受信すると、電子透かしの埋め込み方法を決定するとともに(ステップS11)、電子透かしの埋め込み位置を決定する(ステップS8)。
画像処理部106は、原稿ページ数分、画像の色情報と座標情報を基に、電子透かしの埋め込みについてどのような埋め込み方法を用いるかを決定する。すなわち、画像処理部106は、電子透かしの埋め込み位置を、スキャン画像の写真部を除いた縁(エッジ)にするのか、スキャン画像の写真部を除いた箇所(スペース)にするのかを決定する埋め込み方法決定手段として機能する。
ここで、ステップS11における電子透かしの埋め込み方法の決定手法について説明する。
まず、第1に、画像処理部106は、埋め込み方法の決定要因を画像種類とし、文字部・写真部の色情報に基づいて電子透かしの埋め込み方法を判定する。
図18は、電子透かしの埋め込み方法の決定手法の一例を示す図である。画像処理部106は、モノクロ画像の写真部301の場合、埋め込んだ電子透かしがエッジに吸着されなくても目立ちにくいので、図18(a)に示すように、写真部301を除いた縁(エッジ)に電子透かしを埋め込むことを決定する。また、画像処理部106は、カラー画像の写真部301の場合、埋め込んだ電子透かしがエッジに吸着されないと目立ちやすいので、図18(b)に示すように、エッジに吸着しやすい写真部301を除いた箇所(スペース)に電子透かしを埋め込むことを決定する。
第2に、画像処理部106は、埋め込み方法の決定要因をスキャン画像300の写真部301により形成された文字部の縁(エッジ)とし、形成された縁(エッジ)の数に基づいて電子透かしの埋め込み方法を判定する。このように写真部301を除いた文字部の縁(エッジ)の数に基づいて電子透かしの埋め込み方法を変更するようにしたのは、以下の理由による。
図19は、電子透かしの検出処理例を示す図である。図19に示すように、スキャン画像300の写真部301を除いた文字部の縁(エッジ)に電子透かしを埋め込んだ場合、写真部301が増えるほど、電子透かしの検出処理において写真部301により形成された文字部の縁(エッジ)の走査に必要な走査数が増えることがわかる。そのため、スキャン画像300の写真部301により形成される縁(エッジ)の数に基準値を定めて、基準値を超えた場合には写真部301を除いた箇所(スペース)に電子透かしを埋め込む方法を選択する。
図20は、電子透かしの埋め込み位置の決定手法の一例を示す図である。図20(a)は、写真部301が1枚のスキャン画像300に対し、写真部301を除いた文字部の縁(エッジ)の基準値を“4”とした場合の電子透かしの埋め込み位置の決定例を示すものである。図20(a)に示す例の場合、スキャン画像300の写真部301の座標は、左上(200,0)、右上(297,0)、左下(200,80)、右下(297,80)である。
画像処理部106は、上述した座標を得た後、写真部301により形成された文字部の縁(エッジ)の数を算出する。具体的には、図20(a)に示す例においては、写真部301の辺1は(200,0)−(297,0)の縁(エッジ)に含まれており、辺2は(297,0)−(297,80)の縁(エッジ)に含まれている。このため、写真部301により形成された縁(エッジ)が辺3、辺4の2つあることがわかる。画像処理部106は、図20(a)に示す例においては、写真部301により形成される文字部の縁(エッジ)が4辺以下(基準値“4”)であるとして、写真部301を除いた文字部の縁(エッジ)に電子透かしを埋め込むことを決定する。
図20(b)は、写真部301が3枚のスキャン画像300に対し、写真部301を除いた文字部の縁(エッジ)の基準値を“4”とした場合の電子透かしの埋め込み位置の決定例を示すものである。図20(b)に示す例の場合、スキャン画像300の写真部301aの座標は、左上(200,0)、右上(297,0)、左下(200,80)、右下(297,80)である。また、スキャン画像300の写真部301bの座標は、左上(0,100)、右上(130,100)、左下(0,210)、右下(130,210)である。また、スキャン画像300の写真部301cの座標は、左上(0,100)、右上(130,100)、左下(0,210)、右下(130,210)である。
画像処理部106は、上述した座標を得た後、写真部により形成された文字部の縁(エッジ)の数を算出する。具体的には、図20(b)に示す例においては、写真部301aの辺1は(200,0)−(297,0)の縁(エッジ)に含まれており、辺2は(297,0)−(297,80)の縁(エッジ)に含まれている。このため、写真部301aにより形成された文字部の縁(エッジ)が辺3、辺4の2つあることがわかる。また、写真部301bの辺9は(297,100)−(297,210)の縁(エッジ)に含まれており、辺10は(190,210)−(297,210)の縁(エッジ)に含まれている。このため、写真部301bより形成された文字部の縁(エッジ)が辺11、辺12の2つあることがわかる。また、写真部301cの辺5は(0,100)−(0,210)の縁(エッジ)に含まれており、辺6は(0,210)−(130,210)の縁(エッジ)に含まれている。このため、写真部301cにより形成された文字部の縁(エッジ)が辺7、辺8の2つあることがわかる。よって、写真部301a,301b,301cによる文字部の縁(エッジ)は、辺3,4,7,8,11,12の合計6つあることがわかる。画像処理部106は、図20(b)に示す例においては、写真部301a,301b,301cにより形成される文字部の縁(エッジ)が4辺以上(基準値“4”)であるとして、写真部301a,301b,301cを除いた箇所(スペース)に電子透かしを埋め込むことを決定する。
そして、画像処理部106は、ステップS11で決定した電子透かしの埋め込み方法に応じ、電子透かしの埋め込み位置を決定する(ステップS8)。
このように本実施の形態によれば、画像処理部106で行う電子透かしの埋め込みについて、スキャン画像300の写真部301のカラー/モノクロの情報や、スキャン画像300の写真部301により形成された文字部302の縁(エッジ)の数に基づいて、電子透かしの埋め込み方法を自動で判定する。これにより、埋め込んだ電子透かしが画像に埋もれたり、もしくは画像ノイズを埋め込んだ電子透かしと誤検出したりすることを防止することができる、という効果を奏する。
以上、本発明に係る実施の形態について説明したが、本発明は、上述の実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。
また、上述した実施の形態の画像処理装置10で実行されるソフトウェア(プログラム)は、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)などのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROMなどに予め組み込んで提供するように構成してもよい。