説明

画像処理装置、方法およびプログラム

【課題】隣接する画像ブロックの重複領域の情報が少ない場合でも、改竄の検出精度を低下させない画像処理装置、方法およびプログラムを提供すること。
【解決手段】本発明の画像処理装置は、電子透かしを埋め込むべき画像を複数の画像ブロックに分割し、画像ブロックに含まれる電子透かしの埋め込み対象である画素の偶奇性と、当該画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とを使用して電子透かしを埋め込む。画像処理装置は、第1の画像ブロックに埋め込まれた電子透かしの数が許容数を超えない場合に、第1の画像ブロックのハッシュ値を用いて、第1の画像ブロックに後続する画像ブロックのハッシュ値を算出して電子透かしを埋め込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子透かし技術に関し、より詳細には、電子透かしを埋め込み、当該電子透かしを用いて画像の改竄を検出する画像処理装置、方法およびプログラムに関する。
【背景技術】
【0002】
従来、画像の改竄を検出する電子透かしが提案されている。電子透かしとは、画質に影響を与えることなく特定のを画像に埋め込む技術であり、データの改竄の有無や改竄された箇所を検出するために広く利用されている。
【0003】
このような電子透かし技術の一例として、特許文献1は、デジタルコンテンツに埋め込まれた電子透かしによって改竄を検出する符号生成装置を開示する。この符号生成装置は、対象となるデジタルコンテンツを複数のブロックに分割し、個々のブロック内において独立して電子透かし情報を形成する。そして、分割された個々のブロックの上下左右に隣接するブロックと一部領域を重ね合わせて形成し、個々のブロックの電子透かし情報をブロック間の重複領域によって関係付ける。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1が開示する符号生成装置では、隣接する画像ブロックの重複領域を用いて改竄の検出を行うため、当該重複領域の情報が少ない場合、例えば、改竄の検出対象が2値画像である場合に、隣接する画像ブロックの重複領域を構成する画素が総て白色の画素または黒色の画素のときには、電子透かし情報を埋め込むことができず、改竄の検出精度が低下するという問題があった。
【0005】
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、隣接する画像ブロックの重複領域の情報が少ない場合でも、改竄の検出精度を低下させない画像処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の画像処理装置は、電子透かしを埋め込むべき画像を複数の画像ブロックに分割し、画像ブロックに含まれる電子透かしの埋め込み対象である画素の偶奇性と、当該画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とを使用して電子透かしを埋め込む。画像処理装置は、第1の画像ブロックに埋め込まれた電子透かしの数が許容数を超えない場合に、第1の画像ブロックのハッシュ値を用いて、第1の画像ブロックに後続する画像ブロックのハッシュ値を算出して電子透かしを埋め込む。また、本発明は、電子透かしを埋め込むべき画像を複数の画像ブロックに分割し、画像ブロックに含まれる電子透かしの埋め込み対象である画素の偶奇性と、当該画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とを使用して電子透かしを埋め込む方法およびプログラムを提供する。
【発明の効果】
【0007】
本発明は、上記構成要件を採用することにより、隣接する画像ブロックの重複領域の情報が少ない場合でも、改竄の検出精度の低下を防止することができる。
【図面の簡単な説明】
【0008】
【図1】本発明の画像処理装置の機能構成を示す図。
【図2】本発明の画像処理装置が実行する電子透かしの生成処理を示すフローチャート。
【図3】本発明の画像処理装置が実行する電子透かしの生成処理を示す概念図。
【図4】本発明の画像処理装置が実行する電子透かしの生成処理を示す概念図。
【図5】本発明の画像処理装置が実行する画像解析処理を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本発明の画像処理装置の機能構成を示す図である。画像処理装置100は、電子透かしを埋め込むと共に、当該電子透かしを用いて画像の改竄を検出する画像処理装置である。本発明では、画像処理装置100として、MFP(Multi Function Peripheral)等の画像処理装置やPC等を採用することができる。以下、図1を参照して、画像処理装置100の機能構成について説明する。
【0010】
画像処理装置100は、制御部101と、入力部102と、インタフェース部103と、記憶部104とを含んで構成される。
【0011】
制御部101は、画像処理装置100の処理の全体制御を行う機能手段であり、プロセッサと、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含んで構成される。プロセッサは、画像処理装置100が実行する処理を演算する装置であり、PENTIUM(登録商標)やAMD Athlon(登録商標)等のCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの種々のプロセッサを採用することができる。ROMは、BIOS等のブートプログラムなどが保存される不揮発性メモリである。RAMは、本発明のプログラムを実行するための実行空間を提供する不揮発性メモリである。
【0012】
画像処理装置100は、WINDOWS(登録商標)シリーズ、Mac(登録商標)OS、UNIX(登録商標)、LINUX(登録商標)などのオペレーティングシステム(OS)の管理下でアセンブラ、C、C++、Java(登録商標)、JavaScript(登録商標)、PERL、RUBY、PYTHONなどのプログラム言語で記述された本発明のプログラムを展開して実行することにより、後述する各機能手段を画像処理装置100上に実現する。本発明のプログラムは、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納してインストールすることができると共に、ネットワークを介してインストールすることができる。
【0013】
入力部102は、キーボードやマウス等の入力装置を制御する機能手段である。入力部102は、ユーザが入力装置を利用して入力した情報を受け付け、当該情報を画像処理装置100のOSに提供する。
【0014】
インタフェース部103は、USBメモリやメモリカード等のフラッシュメモリなどの可搬型の外部記憶装置を接続するインタフェースである。本実施形態では、インタフェース部103として、USBポートやメモリカードスロット等の物理インタフェースを採用することができる。また、インタフェース部103は、LANやインターネット等のネットワークと接続するインタフェースとして構成することもでき、LANケーブルコネクタやモジュラーケーブルコネクタ等の物理インタフェースを採用してもよい。
【0015】
記憶部104は、SSD(Flash Solid State Drive)やHDD(Hard Disc Drive)等の大容量の不揮発性メモリであり、本発明のプログラムや画像処理装置100が処理する画像データ等の様々なデータが保存される。
【0016】
また、画像処理装置100は、表示部105と、表示制御部106と、画像取得部107とを含んで構成される。
【0017】
表示部105は、本発明のプログラムが提供するGUI(Graphical User Interface)や画像処理装置100のOSが提供するGUIを表示する表示装置である。画像処理装置100としてMFPを採用する実施形態では、表示部105として操作パネルを採用することができる。画像処理装置100としてPCを採用する実施形態では、画像処理装置100に接続可能なディスプレイや画像処理装置100と一体形成されるディスプレイを表示部105として採用することができる。
【0018】
表示制御部106は、表示部105に表示する画像を制御する機能手段である。表示制御部106は、本発明のプログラムが提供するGUIや画像処理装置100のOSが提供するGUIを表示部105に表示させる。
【0019】
画像取得部107は、電子透かしを埋め込む画像や改竄の解析対象の画像を取得する機能手段である。画像取得部107は、画像処理装置100が備えるスキャナ装置または画像処理装置100に接続されたスキャナ装置から処理対象となる画像を取得することができる。また、画像取得部107は、インタフェース部103を介して外部接続された記憶装置やネットワーク接続された画像提供サーバから処理対象となる画像を取得することができる。
【0020】
さらに、画像処理装置100は、電子透かし生成部108と、画像解析部109と、ハッシュ変換部110と、圧縮部111と、伸張部112とを含んで構成される。
【0021】
電子透かし生成部108は、電子透かしを生成する機能手段である。電子透かし生成部108は、処理対象である2値化された画像データを複数のブロックに分割し、各ブロックを構成する各画素値を利用して電子透かしを埋め込む。なお、電子透かしの生成処理については、図3および図4を参照して詳細に説明する。
【0022】
画像解析部109は、処理対象の画像に含まれる電子透かしを用いて画像が改竄されているか解析する機能手段である。画像解析部109は、解析対象である2値化された画像データを複数のブロックに分割し、各ブロックを構成する各画素値を利用して改竄がされているか解析する。
【0023】
また、画像解析部109は、表示制御部106を介して解析結果を表示部105に表示する。画像解析部109は、改竄がされていると判断した場合には、改竄されている画像部分を反転表示した画像を生成し、または黒色で塗り潰した画像を生成するなど、ユーザが当該改竄部分を識別できるような画像を生成して表示部105に表示する。
【0024】
ハッシュ変換部110は、ハッシュ関数を用いてハッシュ値を算出する機能手段である。ハッシュ変換部110は、電子透かし生成部108および画像解析部109から呼び出され、ユーザが指定したキーを用いて、電子透かしの生成および解析に利用するハッシュ値を算出する。
【0025】
圧縮部111は、画像データを可逆圧縮する機能手段である。圧縮部111は、電子透かし生成部108が電子透かしを埋め込んだ画像データをPNGやGIF等の画像圧縮形式によって圧縮する。
【0026】
伸張部112は、可逆圧縮された画像データを伸張する機能手段である。伸張部112は、PNGやGIF等の画像圧縮形式によって圧縮された改竄の解析対象である画像データを伸張する。
【0027】
図2は、本発明の画像処理装置が実行する電子透かしの生成処理を示すフローチャートである。以下、図2を参照して、画像処理装置100が実行する電子透かしの生成処理について説明する。
【0028】
図2の処理は、ステップS201から開始し、電子透かし生成部108が、ハッシュ変換部110が算出するハッシュ値を代入する変数であるハッシュ変数(HashNO[0]、HashNO[1])と、電子透かしの数を代入する変数である電子透かしカウンタ(WM_CNT)とを初期化する。本実施形態では、ハッシュ変数(HashNO[0]、HashNO[1])を1で初期化し、電子透かしカウンタ(WM_CNT)を0で初期化する。ステップS202では、電子透かし生成部108は、電子透かしを埋め込むべき画像をn×m(n,mは任意の整数)ピクセルの画像ブロックに分割する。以降の処理(ステップS203からステップS211)は、画像ブロック毎に処理する。
【0029】
ステップS203では、電子透かし生成部108は、電子透かしカウンタ(WM_CNT)が示す画像ブロックに埋め込まれている電子透かしの数が、1画像ブロック当たりに埋め込まれる電子透かしの許容数を超えているか否か判断する。電子透かしの数が許容数を超えていない場合には(no)、処理をステップS207に分岐する。本実施形態では、電子透かし許容数は設定ファイル等に記述して記憶部104に保存してもよく、または本発明のプログラムに組み込んでもよい。なお、最初の画像ブロックに対する処理では、電子透かしの数が許容数を超えないため、必ずステップS207に分岐する。
【0030】
一方、電子透かしの数が許容数を超えている場合には(yes)、処理をステップS204に分岐する。ステップS204では、電子透かし生成部108は、ハッシュ変数(HashNO[0])にハッシュ変数(HashNO[1])の値を代入する。ステップS205では、電子透かし生成部108は、電子透かしカウンタ(WM_CNT)を0で初期化する。ステップS206では、電子透かし生成部108は、ハッシュ変数(HashNO[1])を1で初期化する。
【0031】
ステップS207では、電子透かし生成部108は、ハッシュ変換部110を呼び出し、後述するハッシュ関数を用いて処理対象の連続画素のハッシュ値を算出させ、当該ハッシュ値をハッシュ変数(HashNO[0]およびHashNO[1])に代入する。
【0032】
ステップS208では、電子透かし生成部108は、処理対象の連続画素が電子透かしの埋め込み対象であるか否か判断する。本実施形態では、電子透かし生成部108は、処理対象の連続画素の画素値を使用して乱数を生成し、当該乱数のモジュロ値(mod)が特定の値(例えば、0以外の値、または奇数値等)場合に、電子透かしの埋め込み対象ではないと判断する。
【0033】
処理対象の連続画素が電子透かしの埋め込み対象であると判断した場合には(yes)、処理をステップS209に分岐する。ステップS209では、電子透かし生成部108は、処理対象の連続画素に対して電子透かしを埋め込む。ステップS210では、電子透かし生成部108は、電子透かしカウンタ(WM_CNT)をインクリメントする。一方、ステップS208の判定で処理対象の連続画素が電子透かしの埋め込み対象でないと判断した場合には(no)、処理をステップS211に分岐する。
【0034】
ステップS211では、直前のステップS207〜ステップS210の処理対象であった連続画素を含む同一の画像ブロック内に未処理の連続画素が存在するか否か判断する。同一の画像ブロック内に未処理の連続画素が存在する場合には(yes)、処理をステップS207に戻し、未処理の連続画素について、ステップS207〜ステップS210の処理を実行する。一方、同一の画像ブロック内に未処理の連続画素が存在しない場合には(no)、処理をステップS212に分岐する。
【0035】
ステップS212では、電子透かし生成部108は、総ての画像ブロックについて処理が終了したか否か判断する。総ての画像ブロックについて処理が終了していない場合には(no)、処理をステップS203に戻し、未処理の画像ブロックについて、ステップS203〜ステップS211の処理を実行する。一方、総ての画像ブロックについて処理が終了した場合には(yes)、処理をステップS213に分岐する。
【0036】
ステップS213では、電子透かし生成部108は、電子透かしが埋め込まれた画像を記憶部104に保存し、ステップS214で処理が終了する。本実施形態では、電子透かしが埋め込まれた画像を記憶部104に保存するが、他の実施形態では、インタフェース部103を介して外部記憶装置や外部サーバに保存してもよい。また、他の実施形態では、電子透かしが埋め込まれた画像を可逆圧縮して記憶部104や外部記憶装置、外部サーバに保存してもよい。
【0037】
図3および4は、本発明の画像処理装置が実行する電子透かしの生成処理を示す概念図である。
【0038】
図3に示す画像ブロック300,302,304,306,308は、電子透かしを埋め込むべき画像を構成する画像ブロックであり、それぞれP×P個(Pは任意の整数)の画素で構成される。画像処理装置100は、処理対象の画像の左上に位置する画像ブロック300から画像ブロック302,304,306,308の順に処理を実行する。画像処理装置100は、同一列の画像ブロックの処理が終了すると、下列の画像ブロック(図示せず)に対して処理を実行する。
【0039】
初めに、画像処理装置100は、画像ブロック300に対して電子透かしの埋め込みを行う。画像処理装置100は、上述したように電子透かしの生成処理の開始時点で、ハッシュ変数(HashNO[0]およびHashNO[1])および電子透かしカウンタ(WM_CNT)を「0」で初期化する。画像処理装置100は、310に示すように画像ブロック300の左上から順に、画像ブロック300に対して電子透かしを埋め込む。図3に示す実施形態では、画像ブロック300に対して15の電子透かしが埋め込まれ、電子透かしカウンタ(WM_CNT)が「15」となる。
【0040】
次に、画像処理装置100は、画像ブロック302に対して電子透かしの埋め込みを行う。画像ブロック302に対する電子透かしの埋め込みの開始時点で、電子透かしカウンタ(WM_CNT)の値「15」が、本実施形態の電子透かし数の許容数である「12」を超えているため、画像処理装置100は、ハッシュ変数(HashNO[0])にハッシュ変数(HashNO[1])の値を代入すると共に、電子透かしカウンタ(WM_CNT)を「0」で初期化する。
【0041】
そして、画像処理装置100は、画像ブロック302に電子透かしを埋め込む。図3に示す実施形態では、画像ブロック302に対して10の電子透かしが埋め込まれ、画像ブロック302に対する電子透かしの埋め込みが終了した時点で電子透かしカウンタ(WM_CNT)が「10」となる。
【0042】
次に、画像処理装置100は、画像ブロック304に対して電子透かしの埋め込みを行う。画像ブロック304に対する電子透かしの埋め込みの開始時点で、電子透かしカウンタ(WM_CNT)の値「10」が、本実施形態の電子透かし数の許容数である「12」を超えていないため、画像処理装置100は、ハッシュ変数(HashNO[0])にハッシュ変数(HashNO[1])および電子透かしカウンタ(WM_CNT)の値を変更せずに、画像ブロック304に対して電子透かしの埋め込みを行う。図3に示す実施形態では、画像処理装置100は、画像ブロック304に対して電子透かしを埋め込まず、画像ブロック302に対する電子透かしの埋め込みが終了した時点で電子透かしカウンタ(WM_CNT)の値「10」が維持される。
【0043】
次に、画像処理装置100は、画像ブロック306に対して電子透かしの埋め込みを行う。画像ブロック306に対する電子透かしの埋め込みの開始時点で、電子透かしカウンタ(WM_CNT)の値「10」が、本実施形態の電子透かし数の許容数である「12」を超えていないため、画像処理装置100は、ハッシュ変数(HashNO[0])にハッシュ変数(HashNO[1])および電子透かしカウンタ(WM_CNT)の値を変更せずに、画像ブロック306に対して電子透かしの埋め込みを行う。図3に示す実施形態では、画像処理装置100は、画像ブロック306に対して12の電子透かしを埋め込むため、画像ブロック302に対する電子透かしの埋め込みが終了した時点で電子透かしカウンタ(WM_CNT)の値「22」となる。
【0044】
次に、画像処理装置100は、画像ブロック308に対して電子透かしの埋め込みを行う。画像ブロック308に対する電子透かしの埋め込みの開始時点で、電子透かしカウンタ(WM_CNT)の値「22」が、本実施形態の電子透かし数の許容数である「12」を超えているため、画像処理装置100は、ハッシュ変数(HashNO[0])にハッシュ変数(HashNO[1])の値を代入すると共に、電子透かしカウンタ(WM_CNT)を「0」で初期化する。そして、画像処理装置100は、画像ブロック306で算出したハッシュ値を使用して、画像ブロック308に電子透かしの埋め込みを行う。画像処理装置100は、上述した処理を総ての画像ブロックに対して実行する。
【0045】
本実施形態では、画像処理装置100は、下記数式1に示すハッシュ関数を使用して電子透かしを生成する。
【0046】
【数1】

ここで、iは0または1の値を取り、上記ハッシュ関数のキーである前HashNO[i]は、ハッシュ変数(HashNO[0]またはHashNO[1])の値を示す。前Lwは、電子透かしの埋め込み対象である連続画素の左前に配置された白色の連続画素(白ラン)の画素の数、すなわち白ランの長さを示す。また、前Lbは、電子透かしの埋め込み対象である連続画素の左側に配置された黒色の連続画素(黒ラン)の画素の数、すなわち黒ランの長さを示す。電子透かしの埋め込みにより、これらの連続画素の数が変更されている場合には、変更後の画素の数を採用する。
【0047】
さらに、素数は、電子透かしを埋め込むユーザが任意に設定可能な素数であり、生成元は、当該素数に付随する生成元の数値である。なお、解読を困難にするために、大きな数値の素数を採用することが好適である。また、X(数値)%素数は、当該Xを素数で割った余りを示す。当該余り小数点以下は切り捨てされる。他の実施形態では、下記数式2を用いてX%素数を代用してもよい。
【0048】
【数2】

ここで、Nは割る数値を2で表現したときの指数を示す。また、Mは、(2)/(素数)+0.5で算出される値の小数以下を切り捨てた値を示す。
【0049】
図4は、電子透かしの埋め込み対象の画像400を示しており、画像400は、構成する画像ブロック402は、白色の画素群404および黒色の画素群406,408から構成される。黒色の連続画素412を電子透かしの埋め込み対象画素とすると、黒色の連続画素(黒ラン)410の数が上記数式1の前Lbに相当し、白色の連続画素(白ラン)411の数が上記数式1の前Lwに相当する。
【0050】
図4に示す実施形態では、電子透かしの埋め込み対象である連続画素412の左側に位置する黒色の連続画素(黒ラン)410は、420に示すように8個の黒色の画素(「1」)で構成されるため、前Lbは8となる。また、白色の連続画素(白ラン)411は、421に示すように4個の白色の画素(「0」)で構成されるため、前Lwは4となる。一方、連続画素412は、422に示すように4個の黒色の画素(「1」)で構成されるため、その偶奇性は偶である。画像処理装置100は、数式1を用いて前Lbおよび前Lwとその他のキーを指定してハッシュ値を算出する。そして、画像処理装置100は、当該ハッシュ値の偶奇性と連続画素412の偶奇性を比較し、偶奇性が相違する場合には、これらの偶奇性が一致するように、連続画素412の画素の数を増減することにより電子透かしを埋め込む。
【0051】
本実施形態では、ハッシュ変数(HashNO[0])をキーとして算出したハッシュ値を2進数で表記した値の最下位ビットの偶奇性と、連続画素412の偶奇性とを比較する。他の実施形態では、他のビット値の偶奇性を利用してもよい。さらに、図4に示す実施形態では、電子透かしの埋め込み対象として連続する画素を採用しているが、本発明の画像処理装置100は、単一の画素を電子透かしの埋め込み対象とすることができる。
【0052】
図5は、本発明の画像処理装置が実行する画像解析処理を示すフローチャートである。以下、図5を参照して、画像処理装置100が実行する画像解析処理について説明する。
【0053】
図5の処理は、ステップS501から開始し、画像解析部109が、ハッシュ変換部110が算出するハッシュ値を代入する変数であるハッシュ変数(HashNO[0]、HashNO[1])と、電子透かしの数を代入する変数である電子透かしカウンタ(WM_CNT)とを初期化する。本実施形態では、ハッシュ変数(HashNO[0]、HashNO[1])を1で初期化し、電子透かしカウンタ(WM_CNT)を0で初期化する。ステップS502では、画像解析部109は、電子透かしを埋め込むべき画像をn×m(n,mは任意の整数)ピクセルの画像ブロックに分割する。以降の処理(ステップS503からステップS511)は、画像ブロック毎に処理する。
【0054】
ステップS503では、画像解析部109は、電子透かしカウンタ(WM_CNT)が示す画像ブロックに埋め込まれている電子透かしの数が、1画像ブロック当たりに埋め込まれる電子透かしの許容数を超えているか否か判断する。電子透かしの数が許容数を超えていない場合には(no)、処理をステップS507に分岐する。本実施形態では、電子透かし許容数は設定ファイル等に記述して記憶部104に保存してもよく、または本発明のプログラムに組み込んでもよい。なお、最初の画像ブロックに対する処理では、電子透かしの数が許容数を超えないため、必ずステップS507に分岐する。
【0055】
一方、電子透かしの数が許容数を超えている場合には(yes)、処理をステップS504に分岐する。ステップS504では、画像解析部109は、ハッシュ変数(HashNO[0])にハッシュ変数(HashNO[1])の値を代入する。ステップS505では、画像解析部109は、電子透かしカウンタ(WM_CNT)を0で初期化する。ステップS506では、画像解析部109は、ハッシュ変数(HashNO[1])を1で初期化する。
【0056】
ステップS507では、画像解析部109は、ハッシュ変換部110を呼び出し、後述するハッシュ関数を用いて処理対象の連続画素のハッシュ値を算出させ、当該ハッシュ値をハッシュ変数(HashNO[0]およびHashNO[1])に代入する。
【0057】
ステップS508では、画像解析部109は、ハッシュ変数(HashNO[0])の偶奇性が処理対象の連続画素の偶奇性と同一であるか判断することにより、処理対象の連続画素に改竄がなされているか否か判断する。ハッシュ変数(HashNO[0])の偶奇性が処理対象の連続画素の偶奇性と相違する場合には、改竄がされていると判断し(yes)、処理をステップS509に分岐する。ステップS509では、画像解析部109は、改竄されている連続画素の識別情報(例えば、当該連続画素の位置座標等)を解析結果として保存する。
【0058】
一方、ステップS508の判定でハッシュ変数(HashNO[0])の偶奇性が処理対象の連続画素の偶奇性と同一である場合には、改竄がされていないと判断し(no)、処理をステップS510に分岐する。ステップS510では、画像解析部109は、電子透かしカウンタ(WM_CNT)をインクリメントする。
【0059】
ステップS511では、直前のステップS507〜ステップS510の処理対象であった連続画素を含む同一の画像ブロック内に未処理の連続画素が存在するか否か判断する。同一の画像ブロック内に未処理の連続画素が存在する場合には(yes)、処理をステップS507に戻し、未処理の連続画素について、ステップS507〜ステップS510の処理を実行する。一方、同一の画像ブロック内に未処理の連続画素が存在しない場合には(no)、処理をステップS512に分岐する。
【0060】
ステップS512では、画像解析部109は、総ての画像ブロックについて処理が終了したか否か判断する。総ての画像ブロックについて処理が終了していない場合には(no)、処理をステップS503に戻し、未処理の画像ブロックについて、ステップS503〜ステップS511の処理を実行する。一方、総ての画像ブロックについて処理が終了した場合には(yes)、処理をステップS513に分岐する。
【0061】
ステップS513では、画像解析部109は、ユーザが改竄部分を識別可能な画像を生成し、解析結果として表示部105に表示し、ステップS514で処理が終了する。
【0062】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、本実施形態の構成要素を変更若しくは削除し、または本実施形態の構成要素を他の構成要素を追加するなど、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0063】
100…画像処理装置、101…制御部、102…入力部、103…インタフェース部、104…記憶部、105…表示部、106…表示制御部、107…画像取得部、108…電子透かし生成部、109…画像解析部、110…ハッシュ変換部、111…圧縮部、112…伸張部
【先行技術文献】
【特許文献】
【0064】
【特許文献1】特許第4035383号

【特許請求の範囲】
【請求項1】
画像に電子透かしを埋め込む画像処理装置であって、前記画像処理装置は、
電子透かしを埋め込むべき画像を複数の画像ブロックに分割する手段と、
前記画像ブロックを構成する画素の数を使用してハッシュ値を算出する手段と、
前記画像ブロックに含まれる電子透かしの埋め込み対象である画素の偶奇性と、前記画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とを使用して電子透かしを埋め込む手段と
を含み、
前記電子透かしを埋め込む手段は、
第1の画像ブロックに埋め込まれた電子透かしの数が許容数を超えない場合に、前記第1の画像ブロックのハッシュ値を用いて、前記第1の画像ブロックに後続する画像ブロックのハッシュ値を算出して電子透かしを埋め込む、画像処理装置。
【請求項2】
前記電子透かしを埋め込む手段は、
対象となる画素の偶奇性と、前記対象となる画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とが相違する場合に、これらの偶奇性が一致するように、前記対象となる画素の数を変更することにより電子透かしを埋め込む、請求項1に記載の画像処理装置。
【請求項3】
前記画像処理装置は、
改竄を検出する対象である画像に含まれる画素の偶奇性と、前記画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とを使用して改竄を検出する画像解析手段をさらに含む、請求項1または2に記載の画像処理装置。
【請求項4】
前記画像解析手段は、
改竄の検出対象である画素の偶奇性と、前記画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とが相違する場合に、改竄がされていると判断する、請求項3に記載の画像処理装置。
【請求項5】
画像に電子透かしを埋め込む画像処理装置が実行する方法であって、前記方法は、前記画像処理装置が、
電子透かしを埋め込むべき画像を複数の画像ブロックに分割するステップと、
前記画像ブロックに含まれる電子透かしの埋め込み対象である画素の偶奇性と、前記画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とを使用して電子透かしを埋め込むステップと
を含み、
前記電子透かしを埋め込むステップは、
第1の画像ブロックに埋め込まれた電子透かしの数が許容数を超えない場合に、前記第1の画像ブロックのハッシュ値を用いて、前記第1の画像ブロックに後続する画像ブロックのハッシュ値を算出して電子透かしを埋め込むステップを含む、方法。
【請求項6】
前記電子透かしを埋め込むステップは、
対象となる画素の偶奇性と、前記対象となる画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とが相違する場合に、これらの偶奇性が一致するように、前記対象となる画素の数を変更することにより電子透かしを埋め込む、請求項5に記載の方法。
【請求項7】
画像を解析する画像処理装置が実行する方法であって、前記方法は、前記画像処理装置が、
電子透かしを埋め込むべき画像を複数の画像ブロックに分割するステップと、
前記画像ブロックに含まれる電子透かしの埋め込み対象である画素の偶奇性と、前記画素に隣接する白色の連続画素および黒色の連続画素の数を用いて算出するハッシュ値の偶奇性とを使用して改竄を検出するステップと
を含む、方法。
【請求項8】
画像処理装置に対して、請求項5〜7のいずれか1項に記載のステップを実行させるためのコンピュータ実行可能なプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−66054(P2013−66054A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−203415(P2011−203415)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】