(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-06
(45)【発行日】2025-01-15
(54)【発明の名称】プログラム、情報処理装置、判断方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20250107BHJP
【FI】
G06T7/00 130
(21)【出願番号】P 2021020110
(22)【出願日】2021-02-10
【審査請求日】2023-12-12
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】坂本 健
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2014-154027(JP,A)
【文献】特開2013-186562(JP,A)
【文献】特開2010-032808(JP,A)
【文献】特開2002-237958(JP,A)
【文献】特開2016-033716(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
情報処理装置を、
第1の画像と第2の画像の差分情報を生成する差分情報生成部と、
前記差分情報生成部が生成した差分情報の領域内で差分を合計することで、領域内差分合計量を検出する領域内差分検出部と、
前記領域内差分合計量に基づいて、前記第1の画像と前記第2の画像が同一であるか非同一かを判断する判断部、として機能させ、
前記領域内差分検出部は領域を移動させながら、各領域で前記領域内差分合計量を算出し、
前記判断部は、前記領域内差分合計量が閾値以上の領域が1つでもある場合、前記第1の画像と前記第2の画像が非同一であると判断し、
前記情報処理装置を、更に、
前記領域内差分合計量が閾値以上の領域がある場合、該領域の前記領域内差分合計量を閾値で割った値を算出し、
前記値が大きいほど濃い色を差分が閾値以上の領域に設定する差分量決定部として機能させるためのプログラム。
【請求項2】
前記差分情報生成部は、CMYK画像である前記第1の画像と前記第2の画像をガウシアンフィルタで平滑化することでRGB画像に変換し、
RGB画像ごとに、-255~255の値を持つ前記差分情報を算出し、
-255~255の値の前記差分情報を0~255の前記差分情報にマッピングし、
前記領域内差分検出部は、RGB画像ごとに、0~255の値を持つ差分情報の領域内で差分を合計することで前記領域内差分合計量を算出し、
前記領域内差分合計量が閾値以上の領域がある場合、
前記差分量決定部は、各RGB画像の同じ位置の領域における前記領域内差分合計量を閾値で割った値を、RGB画像に応じた値で重み付けして合計し、
合計した値が大きいほど濃い色を前記領域内差分合計量が閾値以上の領域に設定する請求項
1に記載のプログラム。
【請求項3】
前記差分量決定部は、前記領域内差分合計量を閾値で割った値をRGB画像に応じた値で重み付けして合計するのでなく、
各RGB画像の同じ位置の領域において最も大きい前記領域内差分合計量を閾値で割った値が大きいほど濃い色を前記領域内差分合計量が閾値以上の領域に設定する請求項
2に記載のプログラム。
【請求項4】
第1の画像と第2の画像の差分情報を生成する差分情報生成部と、
前記差分情報生成部が生成した差分情報の領域内で差分を合計することで、領域内差分合計量を検出する領域内差分検出部と、
前記領域内差分合計量に基づいて、前記第1の画像と前記第2の画像が同一であるか非同一かを判断する判断部と、を有し、
前記領域内差分検出部は領域を移動させながら、各領域で前記領域内差分合計量を算出し、
前記判断部は、前記領域内差分合計量が閾値以上の領域が1つでもある場合、前記第1の画像と前記第2の画像が非同一であると判断し、
前記領域内差分合計量が閾値以上の領域がある場合、該領域の前記領域内差分合計量を閾値で割った値を算出し、
前記値が大きいほど濃い色を差分が閾値以上の領域に設定する差分量決定部、
を有することを特徴とする情報処理装置。
【請求項5】
差分情報生成部が、第1の画像と第2の画像の差分情報を生成するステップと、
領域内差分検出部が、前記差分情報生成部が生成した差分情報の領域内で差分を合計することで、領域内差分合計量を検出するステップと、
判断部が、前記領域内差分合計量に基づいて、前記第1の画像と前記第2の画像が同一であるか非同一かを判断するステップと、
前記領域内差分検出部が、領域を移動させながら、各領域で前記領域内差分合計量を算出するステップと、
前記判断部が、前記領域内差分合計量が閾値以上の領域が1つでもある場合、前記第1の画像と前記第2の画像が非同一であると判断するステップと、
差分量決定部が、前記領域内差分合計量が閾値以上の領域がある場合、該領域の前記領域内差分合計量を閾値で割った値を算出し、前記値が大きいほど濃い色を差分が閾値以上の領域に設定するステップと、
を有することを特徴とする判断方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理装置、及び、判断方法に関する。
【背景技術】
【0002】
2つの画像が同一か否かを判断したい場合がある。例えば、高品質な印刷物が要求される商用印刷などの分野では、バージョンアップなどによりプリンタドライバを変更しても同じ画質の印刷物が得られるかなどをユーザが評価する場合がある。また、画像を圧縮するような場合も圧縮により画質が低下したとしても同一と見なしてよいか否かなどを判断したい場合がある。
【0003】
画像を比較する技術として動画配信時におけるユーザの体感品質を評価する技術が知られている(例えば、特許文献1参照。)。特許文献1には、入力されたトランスコード後の映像の品質劣化指標と、入力されたトランスコード後の映像のビットレート及びトランスコード前の映像のビットレートとのうち、少なくとも一方を取得し、当該取得された値をもとに前記トランスコード後の映像のユーザ体感品質を推定する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の判断方法では、2つの画像が同一か否かに関して人間の判断結果とは異なる判断結果が得られるという問題があった。例えば、2つの画像が同一か否かを人間が判断する場合、人間が見た場合に画質に差があると感じるか否かを判断したいにも関わらず、画像処理で検出される微少な差異により同一でないと判断されてしまう。
【0005】
また、例えば、写真のような画像(複雑な画像)の場合、色合いが同一か否かに関して人間の判断結果と異なる判断結果がえられる場合があった。
【0006】
本発明は、上記課題に鑑み、2つの画像が同一か否かの判断を人間の判断結果に近づけることができるプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題に鑑み、本発明は、情報処理装置を、第1の画像と第2の画像の差分情報を生成する差分情報生成部と、前記差分情報生成部が生成した差分情報の領域内で差分を合計することで、領域内差分合計量を検出する領域内差分検出部と、前記領域内差分合計量に基づいて、前記第1の画像と前記第2の画像が同一であるか非同一かを判断する判断部、として機能させ、前記領域内差分検出部は領域を移動させながら、各領域で前記領域内差分合計量を算出し、前記判断部は、前記領域内差分合計量が閾値以上の領域が1つでもある場合、前記第1の画像と前記第2の画像が非同一であると判断し、前記情報処理装置を、更に、前記領域内差分合計量が閾値以上の領域がある場合、該領域の前記領域内差分合計量を閾値で割った値を算出し、前記値が大きいほど濃い色を差分が閾値以上の領域に設定する差分量決定部として機能させるためのプログラムを提供する。
【発明の効果】
【0008】
2つの画像が同一か否かの判断を人間の判断結果に近づけることができるプログラム等を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】内容が異なる2組の画像の差分を説明する図である。
【
図2】同一性判断を行う情報処理装置又は情報処理システムの一例の構成図である。
【
図3】情報処理装置又はサーバの一例のハードウェア構成図である。
【
図4】情報処理装置の機能をブロック状に分けて説明する機能ブロック図の一例である。
【
図5】差分情報生成部によるCMYK画像の差分情報の生成方法を説明する図である。
【
図6】人間の目で認識可能な大きさ以上連続している差異の検出方法を説明する図である。
【
図7】一定領域内に人間の目で認識可能な割合以上存在する差異の検出方法を説明する図である。
【
図9】基準画像と比較画像の差分情報、配置パターンの一例を示す図である。
【
図10】差分の配置から配置パターンを検出する方法を説明する図である。
【
図11】差分の配置が検出されない2つの画像と、2つの画像の差分情報を示す図の一例である。
【
図12】差分の配置が検出された2つの画像と、2つの画像の差分情報を示す図の一例である。
【
図13】領域内差分合計量に基づく同一性の判断方法を説明する図である。
【
図14】情報処理装置が領域内差分合計量に基づいて2つの画像の同一性判断を行う手順を示すフローチャート図の一例である。
【
図15】比較対象の2つの画像の一例を示す図である。
【
図16】
図15の2つの画像から求められた、画素レベルの差分情報を示す図である。
【
図17】比較対象の2つの画像の一例を示す図である。
【
図18】領域内差分合計量に基づくA値が赤色に反映された画像の一例を示す図である。
【
図20】
図17(a)と
図19の画像の領域内差分合計量に基づいてA値が赤色に反映された画像の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態の一例として、情報処理装置と情報処理装置が行う判断方法について図面を参照しながら説明する。
【0011】
<差分の配置に着目した同一性判断>
本出願人は、2つの画像が同一か否かの判断を人間の判断結果に近づけるために、差分の配置に着目した判断方法を考案した。差分の配置に着目した同一性判断では、情報処理装置は、複数の画像において、人間の目で認識不可能な差以内であれば同一と判断する。このため、2つの画像の差分情報のうち人間の目で認識可能と判断された各画素が人間の目で認識可能な配置になった場合に、可視可能な差分(同一でない)と見なす。人間の目で認識可能な差分の配置とは、例えば以下が挙げられる。
(i) 差分と判断される画素が人間の目で認識可能な大きさ以上連続している。
(ii) 差分と判断される画素が一定領域内に人間の目で認識可能な割合以上存在する。
(iii) 差分と判断される画素が指定された配置パターンで存在する。
【0012】
<本実施形態の同一性判断の概略>
差分の配置に着目した同一性の判断方法は、2つの画像の形状に関して差異がある場合に、2つの画像が同一か否かの判断を人間の判断結果に近づけることができた。しかし、主に色合いに関しては、2つの画像が同一か否かの判断が人間の判断結果と異なる場合があった。つまり、2つの画像の差分の配置に関しては人間が気づく差異がなくても、画像の内容によって差を人間が認識できるかどうかが変わってくるため、差分の配置からのみでは人間と同様に同一性を判断できなかった。
【0013】
図1を参照して説明する。
図1は、内容が異なる2組の画像の差分を示す図である。
図1(a)(b)が1組目の比較対象の画像であり、
図1(d)(e)が2組目の比較対象の画像である。
図1(c)と(f)はそれぞれの差分である。
【0014】
人間が
図1(a)(b)を比較した場合、差がないと判断する。一方、人間が
図1(d)(e)を比較した場合、差があると判断する。しかし、
図1(c)(f)に示すように、2組の画像の差分は同じか同程度である。このように、2つの画像の差分の配置が同じでも、画像の内容によって差を人間が認識できるかどうかが変わってくる。つまり、複雑な画像の全体的に差があるような場合、差分の配置では差が検出されないので、情報処理装置が人間と同様に同一性を判断できなかった。このことは主に、2つの画像に色合いの相違がある場合に当てはまる。
【0015】
更に、差分の配置に着目した同一性の判断方法は、どの程度差分があるかまでは元の画像を人間が目視しないとわからないため、情報処理装置が同一性判断を実行した後、差分が大量に発生した場合の優先順を付けることが困難だった。
【0016】
以上の点に鑑み、本実施形態の情報処理装置は、差分情報における領域内の差分合計量(以下、領域内差分合計量という)と閾値を比較することで人間の目で認識可能な差分かどうかを判断する。こうすることで、差分の配置では形状の差異を、領域内差分合計量では色合いの差異について、2つの画像が同一か否かの判断を人間の判断結果に近づけることができる。
【0017】
<用語について>
本実施形態の同一とは、人間の目で認識不可能な差しかないことをいい、非同一とは人間の目で認識可能な差があることをいう。同一を類似、非同一を非類似と称してもよい。
【0018】
<構成例>
図2は、同一性判断を行う情報処理装置10又は情報処理システム100の一例の構成図である。本実施形態では、情報処理装置10が同一性判断を行うシステム構成(
図2(a))と、サーバ30が同一性判断を行うシステム構成(
図2(b))がある。
図2(a)のシステム構成では、情報処理装置10が記憶部に記憶されている2つの画像を取得して同一性判断を行い、判断結果をディスプレイに出力する。判断結果はメールで送信してもよいし、記憶部に記憶しておいてもよい。また、判断結果をクラウドが保存してもよい。
【0019】
情報処理装置10は、例えば、PC(Personal Computer)、タブレット端末、PDA、スマートフォン、などソフトウェアが動作するものであればよい。
【0020】
図2(b)の情報処理システム100では、情報処理装置10とサーバ30とがネットワークNを介して通信することができる。サーバとは、主にネットワーク上で情報処理を行う装置であり、ネットワークを介して受信した要求に対し処理結果を応答する装置をいう。
【0021】
図2(b)のシステム構成では、情報処理装置10が2つ以上の画像をサーバ30に送信する。サーバ30は画像の同一性判断を行い、判断結果を情報処理装置10に送信する。判断結果はメールで送信してもよいし、クラウドに保存してもよい。
【0022】
図2(b)の構成では、サーバ30はいわゆるWebサーバとして、画像データを受け付けるポータル画面の画面情報(HTML、XML、スクリプト言語、及びCSS(cascading style sheet)等で記述されており、主にブラウザソフトが解析して表示する情報)を生成して情報処理装置10に提供する。情報処理装置10でWebブラウザが動作しており、画面情報を受信してWebページを表示する。このWebページには情報処理装置10が保持する2つ以上の画像を登録するインターフェースがあり、ユーザは2つ以上の画像をWebページに登録してサーバ30に送信する。
【0023】
なお、WebページはWebアプリにより提供されてもよい。Webアプリとは、ブラウザ上で動作するプログラミング言語(たとえばJavaScript(登録商標))によるプログラムとWebサーバ側のプログラムが協調することによって動作し、ブラウザ上で実行されるソフトウェア又はその仕組みを言う。Webアプリを利用することで情報処理装置はWebページを動的に変更できる。
【0024】
<ハードウェア構成例>
図3は、情報処理装置10又はサーバ30のハードウェア構成図である。ここでは、情報処理装置10のハードウェア構成であるとして説明する。
【0025】
図3に示されているように、情報処理装置10は、コンピュータによって構築されており、
図3に示されているように、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0026】
これらのうち、CPU501は、情報処理装置10全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン510は、
図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0027】
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWは、DVD-R等の光記憶媒体であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0028】
<機能について>
図4は、情報処理装置10の機能をブロック状に分けて説明する機能ブロック図の一例である。なお、
図4では、特に断らない限り情報処理装置10の機能を想定して説明するが、サーバ30の場合は更に通信部を有するという違いがあるものの、保持する機能は情報処理装置10と同様でよい。
【0029】
情報処理装置10は、画像取得部11、差分情報生成部12、差分情報出力部13、差分情報配置認識部14、判断部15、表示制御部16、領域内差分検出部17、第2判断部18、及び、差分量決定部19を有している。情報処理装置10が有するこれら各機能部は、
図3に示された各構成要素のいずれかが、HD504からRAM503に展開されたプログラムに従ったCPU501からの命令により動作することで実現される機能又は手段である。
【0030】
画像取得部11は、画像データ記憶部21に記憶されている2つ以上の画像データを取得する(読み取る)。2つ以上としたのは、例えば3つの画像から2つを取り出して比較することもできるためである。また、取得する画像は、ユーザが指定したものでも、画像データ記憶部21の画像を順番に取得してもよい。
【0031】
差分情報生成部12は、着目している2つの画像の差分情報を生成する。例えば、画像の解像度で定まる画素位置ごとに同じ画素(CMYK)があるか否かを判断して、差分情報を生成する。差分情報生成部12は、RGBの画像に関して、解像度に応じた画素位置ごとに、RGBのそれぞれで差分を算出する。この場合、差分は-255~255(1画素8ビットの場合)の値を取る。
【0032】
差分情報出力部13は、差分情報生成部12が生成した差分情報を差分情報記憶部22に記憶させる。差分情報は、画像とおなじ解像度(サイズ)の2次元の情報となる。
【0033】
差分情報配置認識部14は、差分の配置を認識する。詳細は後述するが、差分情報から、連続した差分、一定面積内の割合、及び、所定のパターンを検出する。
【0034】
判断部15は、差分情報配置認識部14が認識した差分の配置に基づいて、人間が見た場合に可視可能な差分の配置(人間の目で差異があると判断できる閾値よりも大きい差分の配置。閾値は、人間の目で2つの画像に差異があると判断できるか否かによって決定されている)があるかないか判断する。可視可能な差分がある場合、2つの画像は同一でないと判断し、可視可能な差分がない場合、2つの画像は同一であると判断する。すなわち、連続した差分及び一定面積内の割合について人間の目で差異があると判断できる閾値より大きいか閾値以下かを判断する。判断部15は、所定のパターンについては検出された場合にそのまま同一でないと判断する。なお、この3つの判断基準は2つ以上のANDで採用されてもORで採用されてもよい。
【0035】
領域内差分検出部17は、差分情報生成部12が生成した差分情報の領域内差分合計量を算出する。領域内差分検出部17は領域を移動しながら、差分情報(2次元画像の全体)の全体について領域内差分合計量を算出する。
【0036】
第2判断部18は、領域内差分合計量が閾値以上か否かを判断する。差分情報に1つでも領域内差分合計量が閾値以上の領域がある場合、第2判断部18は2つの画像が同一でないと判断する。
【0037】
差分量決定部19は、領域内差分合計量が閾値をどのくらい超えているかを決定する。領域内差分合計量が閾値を大きく超えているほど人間が気づきやすいといえる。
【0038】
表示制御部16は、差分の配置、及び、領域内差分合計量を強調してディスプレイ506に表示する。
【0039】
<CMYKの差分情報の生成>
図5は、差分情報生成部12によるCMYK画像の差分情報の生成方法を説明する図である。
図5には比較される2つの画像の一部が拡大して表示されている。差分情報生成部12は画像の解像度に応じて決まる画素位置(例えば、1980×1280の解像度の画像の場合、縦を1980に等分し、横を1280に等分した位置)ごとに、2つの画像に差異があるか否かを判断する。
図5ではメッシュの交点が画素位置である。
【0040】
2つの画像の同じ画素位置に同じ色の画素があれば、差異がなく、同じ色の画素がなければ差異があると判断する。差分情報生成部12は差異がある画素位置にフラグを立てる。差分情報を画像で表すとフラグがある画素位置には点が表示される。差分情報生成部12は、例えば、画素位置の数分のテーブルを用意して、「フラグの有無」を記録する。
【0041】
あるいは、差分情報生成部12は、差異の大きさに応じた値を差分情報としてもよい。例えば、一方の画像データと他方の画像データのある画素位置に次のような差異があるとする。
A. Cあり Kあり
B. Cあり Yあり
C. Cあり 何もなし
D. Cあり Mあり
この場合、A<B<C<Dの順に差異が大きいと考えられる。したがって、差分情報生成部12は、A<B<C<Dの順に大きな値を上記テーブルに設定する。
【0042】
また、差分情報生成部12は、個々の画像の各画素を他の画素と併合して特徴量を計算してから比較してもよい。例えば、ガウシアンフィルタなどで画素位置の周囲の画素を重み付けして、重み付けした値の差をテーブルに記録するか、又は、閾値より大きい差があれば差分がある旨(フラグ)をテーブルに記録する。
【0043】
<差分の配置>
続いて、差分の配置の認識について説明する。
【0044】
(i) 差分と判断される画素が人間の目で認識可能な大きさ以上連続している、
について説明する。
【0045】
差分情報配置認識部14は、画素位置を順番に走査して、連続する差異を検出する。
【0046】
図6は、人間の目で認識可能な大きさ以上連続している差異の検出方法を説明する図である。
図6(a)では、差分情報配置認識部14が、画素位置を横方向に走査している。これにより、横方向に連続して人間の目で認識可能な大きさの差異130があれば検出できる。
【0047】
図6(b)では、差分情報配置認識部14が、画素位置を縦方向に走査している。これにより、縦方向に連続して人間の目で認識可能な大きさの差異131があれば検出できる。
【0048】
図6では、縦横それぞれの走査で矩形の差分の配置が検出される。差分情報配置認識部14は、縦又は横にそれぞれ連続している差異の長さを検出する。なお、差分情報配置認識部14は、斜め方向にも走査するとよい。
【0049】
そして、判断部15は連続している差異の長さを所定の長さ(閾値)と比較して、所定の長さより長く連続している差異の画素位置にその旨を記録しておく。差分情報配置認識部14は、例えば、画素位置の数分のテーブルを用意して、所定の長さより長く連続している差異の画素位置すべてに「差異あり」を記録する。
【0050】
これにより、情報処理装置10の表示制御部16はこれらの画素を強調して表示でき、ユーザは一目で差分の配置を認識できる。
【0051】
なお、本実施形態では、この所定長さ(閾値)を画像に関係なく一定とすることができる。
【0052】
続いて、
(ii) 差分と判断される画素が一定領域内に人間の目で認識可能な割合以上存在する、
について説明する。この場合、差分情報配置認識部14は、差分情報において画素位置を囲むウィンドウを順番に移動させ、このウィンドウ内に人間の目で認識可能な割合より大きい差異が存在するか否かを判断する。このウィンドウの大きさが一定領域に相当する。
【0053】
図7は、一定領域内に人間の目で認識可能な割合以上存在する差異の検出方法を説明する図である。
図7では4×4画素のウィンドウ140が示されているが、ウィンドウ140の大きさは一例である。ウィンドウ140はウィンドウ140の中心にある画素位置を左上コーナーから右方向に1画素ずつ移動して、右端まで到達すると、1画素分下がって左端に戻る。このような移動を中心にある画素位置が右下コーナーに到達するまで繰り返す。
【0054】
4×4画素のウィンドウ140内には5×5=25の画素位置が含まれる。差分情報配置認識部14は、ウィンドウ内のいくつの画素位置で差異があると判断されているかを数える。
図7では説明の便宜上、10個の画素位置で差異があると判断されている。
【0055】
判断部15は「10/25>所定の割合」を満たすか否かを判断して、満たす場合には、画素位置の数分のテーブルにおいて、ウィンドウ内の全ての画素位置にその旨を記録しておく。これにより、情報処理装置10の表示制御部16はこの画素を強調して表示でき、ユーザは一目で差分の配置を認識できる。
【0056】
なお、本実施形態では、この所定の割合(閾値)を画像に関係なく一定とすることができる。
【0057】
続いて、
(iii) 差分と判断される画素が指定された配置パターンで存在する、
について説明する。この場合、差分情報配置認識部14は、指定された配置パターンを保持している。差分情報配置認識部14は、差分情報に対し配置パターンでパターンマッチングを行い、配置パターンと適合する差分の配置があるか否かを判断する。
【0058】
図8は、差分情報の生成方法を説明する図である。
図8(a)は基準画像の一例を示し、
図8(b)は比較画像の一例を示す。
図8では説明のために明らかに違う基準画像と比較画像を示すが、実際には、基準画像と比較画像を見ただけでは差異が分かりにくい場合がある。
【0059】
図9(a)は、
図8の基準画像と比較画像の差分情報を示し、
図9(b)は差分情報の拡大図である。また、
図9(c)は配置パターン150である。配置パターン150は人間の目が感じ取りやすい差異のパターンとして予め生成されている。
図9(c)の配置パターン150は一例であって、帯状であったり、円形であったり、幾何学模様得などであったりしてよい。
【0060】
図9(b)の拡大図のような差分が、配置パターン150と一致した場合、差異があると差分情報配置認識部14が判断すれば、差異があると人間が感じる2つの画像を検出できる。
【0061】
図10は、差分の配置160から配置パターンを検出する方法を説明する図である。
図10では、説明のため、配置パターン150と同じパターンの差分の配置160を示した。差分情報配置認識部14は、配置パターン150を差分情報151の左上コーナーから右方向に1画素ずつ移動して、右端まで到達すると、1画素分下がって左端に戻る。差分情報配置認識部14は、このような移動を右下コーナーに到達するまで繰り返す。
【0062】
差分情報配置認識部14は配置パターン150の画素と同じ位置に、差分情報において差異ありが記録されているか否かを判断し、全ての画素の位置で差異ありが記録されている場合に、配置パターン150が差分情報151から検出されたと判断する。あるいは、一定数以上(一定割合以上)の画素の位置で差異ありが記録されている場合に、配置パターン150が差分情報151から検出されたと判断する。
【0063】
図10では、差分情報151の右下に配置パターン150と一致する差分の配置160があり、差分情報配置認識部14はこの差分の配置160を検出することができる。
【0064】
差分情報配置認識部14は、画素位置の数分のテーブルにおいて、配置パターン150と一致した画素位置にその旨を記録しておく。これにより、情報処理装置10の表示制御部16はこの画素を強調して表示でき、ユーザは一目で差分の配置を認識できる。
【0065】
<差分の配置の表示例>
図11、
図12を用いて、差分の配置が検出される場合とされない場合を比較して説明する。
【0066】
まず、
図11は差分の配置が検出されない2つの画像と、2つの画像の差分情報を示す。
図11(a)は基準画像であり、
図11(b)はJPEGで圧縮された比較画像であり、
図11(c)は差分情報である。なお、
図11はCMYKの画像であるとするが、RGBでも同様に適用できる。
【0067】
人間が見た場合、
図11(a)と
図11(b)の画像には差異が認められない。しかし、
図11(c)の差分情報に示すように、全体的にノイズのような差異があること分かる。従来は、このノイズを2つの画像の差異として検出し、情報処理装置10が同一でないと判断する場合があった。
【0068】
本実施形態では、差分情報において情報処理装置10が差分の配置を認識していないため、
図11(a)(b)の画像が同一であると判断できる。
【0069】
図12は差分の配置が検出された2つの画像と、2つの画像の差分情報を示す。
図12(a)は基準画像であり、
図12(b)は基準画像に白い矩形170が追加された比較画像であり、
図12(c)は差分情報である。なお、
図12はCMYKの画像であるとするが、RGBでも同様に適用できる。
【0070】
人間が見た場合、
図12(a)と
図12(b)の画像には明らかに差異が認められる。
図12(c)の差分情報には、比較画像の白い矩形170と同じ画素位置に矩形の、差分の配置171が検出されている。
図12では作図の関係上、差分の配置171が白黒だが、ディスプレイ506上では例えば赤色などで強調されているため、
図11(c)のようなノイズとは異なる態様で表示される。したがって、ユーザは一目で差分の配置があるか否かを判断できる。
【0071】
本実施形態では、差分情報において情報処理装置10が差分の配置を認識しているため、
図12(a)(b)の画像が同一でないと判断できる。
【0072】
<領域内差分合計量に基づく同一性判断>
図13は、領域内差分合計量に基づく同一性の判断方法を説明する図である。
図13(a)(b)が比較の対象となる画像である(それぞれ第1の画像と第2の画像の一例)。
【0073】
まず、差分情報生成部12は
図13(a)(b)を平滑化する。これは、CMYK画像のままだと1ドットが目立ち、人間の視覚とは異なる差分が生成されるためである。すなわち、人間の視覚は1ドットずつを比較するのでなく、ドットの周辺全体を見て比較するので、差分情報生成部12が、ドットが目立つCMYK画像を平滑化する。平滑化にガウシアンフィルタを使用すると、CMYK画像がRGB画像に変換される。
【0074】
図13(c)(d)はガウシアンフィルタにより生成されたRGB画像を示す。
図13(a)と
図13(c)の拡大領域201、
図13(b)と
図13(d)の拡大領域202、を比較するとドットが平滑化されていることが分かる。
【0075】
差分情報生成部12は、
図13(c)(d)の画像の差分情報を生成する。
図13(c)(d)のRGB画像は例えば0~255の画素値を有するので、
図13(c)のRGB画像の画素値から
図13(d)のRGB画像の画素値を引くと、画素ごとに、-255~255の範囲の差が生じうる。
【0076】
領域内差分合計量の算出において、負値は正値と打ち消し合うため、差分情報生成部12は-255~255の差を0~255にマッピングする。差分情報生成部12は、例えば、以下のようにマッピングする。
-255と-254 → 0
-253と-252 → 1
:
-1と0 → 127
1 → 128
2と3 → 129
:
254と255 → 255
したがって、元の差の0が127に対応し、マッピングされた画像では127が差異のないことを意味する。
図13(e)はマッピングされた差分情報を示す。
図13(e)の差分情報はほぼグレーであり、2つの画像に配置の差分がないことになる。なお、差分情報生成部12は、8ビットのスケールをフルに使うために0~255へマッピング下に過ぎず、0~127へマッピングしてもよいし、0~511にマッピングしてもよい。
【0077】
そして、領域内差分検出部17はRGBごとに、領域210の画素値の合計を算出する。領域内差分検出部17は領域210を右方向に1画素ずつずらし、同様に合計の算出を行う。領域210が右端まで到達すると、領域内差分検出部17は領域210を1画素、下にずらして左端に戻り、右方向への走査を行う。
【0078】
そして、領域内差分検出部17は領域210ごとに合計値と閾値を比較し、閾値以上の合計値が得られた領域210を記録する。したがって、差異がある領域210の座標が明らかになる。領域内差分検出部17はRGB画像のそれぞれで、合計が閾値以上の領域210の位置を記録する。
【0079】
図13(f)は閾値以上の合計値が得られた領域が黒色で強調された画像データを示す。
図13(f)はRGB画像のそれぞれにおいて合計が閾値以上の領域210の位置を総合したものである。ユーザは差異がある領域を特定しやすい。
【0080】
<領域内差分合計量に基づく同一性判断の処理手順>
図14は、本実施形態の情報処理装置10が領域内差分合計量に基づいて2つの画像の同一性判断を行う手順を示すフローチャート図の一例である。
【0081】
まず、画像取得部11が比較する2つの画像を画像データ記憶部21から取得する(S1)。
【0082】
差分情報生成部12は、2つの画像の向きを揃える(S2)。例えば、縦のサイズHを、横のサイズをWとすると、差分情報生成部12は、2つの画像の縦横の比がH:Wとなるように2つの画像の向きを揃える。比較画像の向きを変えても基準画像の向きを変えてもよい。
【0083】
また、差分情報生成部12が2つの画像の解像度を揃える(S3)。差分情報生成部12は、すなわち、2つの画像のサイズを揃える。差分情報生成部12は基準画像に比較画像を合わせて、縮小又は拡大する。ステップS2、S3により2つの画像の正確な比較が可能になる。
【0084】
次に、差分情報生成部12がガウシアンフィルタ等で2つの画像の平滑化を行う(S4)。これにより、CMYK画像がRGB画像に変換される。平滑化には平均フィルタやメディアンフィルタが使用されてもよい。
【0085】
差分情報生成部12は、RGB画像ごとに、画素値の差を算出する(S5)。RGBを8ビットとすると、差は-255~255の値を取る。
【0086】
差分情報生成部12は、-255~255の差分を0~255にマッピングする(S6)。このマッピングは負値を正値にする変換であればよく、マッピング先は0~255に限られない。
【0087】
次に、領域内差分検出部17はRGB画像ごとに、領域を移動しながら領域内の差分を合計することで領域内差分合計量を算出する(S7)。
【0088】
そして、第2判断部18は領域内差分合計量が閾値以上の領域があるか否かを判断する(S8)。第2判断部は、RGB画像ごとに異なる閾値を用いて、領域内差分合計量が閾値以上の領域があるか否かを判断してもよい。人間の視覚の感度がRGBによって異なるためである。
【0089】
領域内差分合計量が閾値以上の領域が1つでもある場合、第2判断部18は2つの画像が非同一であると判断する(S9)。
【0090】
領域内差分合計量が閾値以上の領域がある場合、差分量決定部19はRGB画像ごとに、「合計値÷閾値」を算出する(S10)。この算出結果を「A値」とする。A値が大きいほど差異が大きいことを表す。
【0091】
差分量決定部19はRGB画像の同じ位置の領域のA値を重み付けして合計する(S11)。重み付けは、RGBに対する人間の目の感度を考慮して決定される。
【0092】
なお、RGB画像の同じ位置の領域のA値を合計するのでなく、RGB画像の同じ位置の領域においてA値が最も大きいRGB画像のA値のみを採用してもよい。あるいは、差分量決定部19は、人間の目の感度を考慮してRGBのうち1つ(例えばG)のA値を採用してもよい。
【0093】
表示制御部16は、A値を例えば赤色の濃さに反映させて画像を生成する(S12)。表示制御部16は、例えば予め定められたテーブルなどを使用して、A値を(0,0,0)から(255,0,0)の間の赤系統の色に変換する。これによりA値が大きいほど濃い赤に変換される。したがって、ユーザは濃い赤が形成された領域ほど差異が大きいことを把握できる。
【0094】
<比較例>
図15、
図16は、領域内差分合計量に基づく2つの画像の比較例を示す図である。
図15(a)(b)は比較対象の2つの画像である。これらの画像は厳密には異なるが、人間の視覚では差異がないと判断される。
【0095】
図16は
図15の2つの画像から求められた画素レベルの差分情報である。
図16に示すように、画像の全体的に差があるが、領域内差分合計量が閾値以上となる領域は検出されない。したがって、情報処理装置10は人間の判断結果と同様の同一性判断結果を出力できる。
【0096】
図17、
図18は、領域内差分合計量に基づく2つの画像の比較例を示す図である。
図17(a)(b)は比較対象の2つの画像である。これらの画像は、人間の視覚では差異があると判断される。
【0097】
図18は領域内差分合計量に基づくA値が赤色に反映された画像である。
図18に示すように、領域内差分合計量に基づいて差異がある領域が赤色に着色されるので、ユーザはどこが違うかを容易に判断できる。
【0098】
【0099】
図20は
図17(a)と
図19の画像の領域内差分合計量に基づいてA値が赤色に反映された画像である。
図20に示すように、領域内差分合計量に基づいて差異がある領域が赤色に着色される。
図20の赤色は
図18よりも全体的に濃い。
【0100】
このように、赤色の濃さでどの程度差分があるかまで分かるので、元の画像を人間が目視しなくてもよい。したがって、情報処理装置が同一性判断を実行した後、差分が大量に発生した場合の優先順を付けることができる。
【0101】
<主な効果>
以上説明したように本実施形態の情報処理装置は、差分情報における領域内の差分合計量と閾値を比較することで、人間の目で認識可能な差分かどうかを判断できる。差分の配置では検出が困難な、色合いの差異について、2つの画像が同一か否かの判断を人間の判断結果に近づけることができる。
【0102】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0103】
例えば、
図4などの構成例は、情報処理装置10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。情報処理装置10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0104】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0105】
10 情報処理装置
30 サーバ
100 情報処理システム
【先行技術文献】
【特許文献】
【0106】