(57)【特許請求の範囲】
【請求項１】
ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証するコンピュータ装置が実行する画像検証方法であって、
前記正解画像と、前記検証画像と、を取得するステップと、
前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのＲＧＢ値のうち、最もピクセル数の多いＲＧＢ値である背景色ＲＧＢ値を抽出するステップと、
前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色ＲＧＢ値以外のＲＧＢ値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のＲＧＢ値を持つピクセルの比率である一致率を算出するステップと、
を含む画像検証方法。
【請求項２】
前記一致率を算出するステップにおいて算出された前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証するステップをさらに含む、請求項１に記載の画像検証方法。
【請求項３】
ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証する画像検証装置であって、
前記正解画像と、前記検証画像と、を取得する取得部と、
前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのＲＧＢ値のうち、最もピクセル数の多いＲＧＢ値である背景色ＲＧＢ値を抽出する背景色比較部と、
前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色ＲＧＢ値以外のＲＧＢ値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のＲＧＢ値を持つピクセルの比率である一致率を算出する一致率算出部と、
を備える画像検証装置。
【請求項４】
ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証するコンピュータ装置が実行するプログラムであって、前記コンピュータ装置に、
前記正解画像と、前記検証画像と、を取得する処理と、
前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのＲＧＢ値のうち、最もピクセル数の多いＲＧＢ値である背景色ＲＧＢ値を抽出する処理と、
前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色ＲＧＢ値以外のＲＧＢ値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のＲＧＢ値を持つピクセルの比率である一致率を算出する処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発における画像検証方法に関する。
【背景技術】
【０００２】
ソフトウェア開発においては、画像の同一性の検証処理を行う場合がある。例えば、ソフトウェアの更改などの際には、ユーザ操作の利便性の観点から、ソフトウェアの更改前の表示画面と更改後の表示画面とが同一であることを求められる場合がある（特にユーザが入力操作等を行う画面）。このような場合、システムインテグレータは、顧客の要望に応じて同一画面を作成する。また、ソフトウェアの更改作業後には、ユーザが利用する画面の同一性を試験する試験工程が設けられる。
【０００３】
このような試験に資するものとして、比較対象となる画面（例えば、更改前と更改後の画面）をキャプチャした２つの画像について、各画像を構成する各ピクセルのＲＧＢ値を比較することにより、両画像が一致しているか否かを判断する技術がある。このような技術を利用することにより、非常に高い精度で両画像が一致しているか否かの判断が可能となる。そのため、例えば、システムの画面内に存在するはずのユーザ入力欄がないことを検出できるなど、システムの品質向上につながるメリットがあるとともに、画像比較処理にかかるコストの削減につながるというメリットがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１０２６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、各画像を構成する各ピクセルのＲＧＢ値を比較する方法では、高精度に画像の比較が可能となる一方で、比較対象の２つの画像が多少相違しているが、例えば、ユーザがソフトウェアを利用するに当たっては特段の支障がない範囲の違いであっても、両者は異なる画像であると判断される。
【０００６】
例えば、上述したソフトウェアの更改の場合において、システム画面上においてユーザ入力欄などの入力項目に過不足はなく、画面上に表示されている文字も同じであるにも関わらず、システム起動時に利用するウェブブラウザのバージョンが異なると、入力項目や文字列のレイアウトが多少変わってしまう場合がある。また、ＰＤＦファイルを出力するソフトウェアのバージョンの違いにより、特定の文字の太さが異なる場合がある。さらに、両画像をキャプチャした際の解像度が異なることにより、厳密には両画像が同一画像ではなくなってしまう場合がある。
【０００７】
これらの場合、両画像に生じる差異は、ユーザがシステムを利用するための画面としては差し支えない程度の差異であるため、システム利用の観点からは両画像は同一画像であると判定されるべきである。それにもかかわらず、試験工程においてこれらが異なる画像であると判定されると、試験担当者の目視による確認等が必要となる。そのため、試験工程にかかるコストが増大してしまうという問題があった。また、ソフトウェア開発においては、このような画像比較処理は試験工程以外で行われる場合もある。
【０００８】
そこで、本発明は、上記課題を解決するために、ソフトウェア開発における画像比較処理において、比較対象の画像がピクセル単位では異なる場合でも、システム開発プロジェクトの特性に応じて両者が実質同一であると判断することが可能な画像検証方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一態様は、ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証するコンピュータ装置が実行する画像検証方法であって、前記正解画像と、前記検証画像と、を取得するステップと、前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較するステップと、前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのＲＧＢ値のうち、最もピクセル数の多いＲＧＢ値である背景色ＲＧＢ値を抽出して比較するステップと、前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色ＲＧＢ値以外のＲＧＢ値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のＲＧＢ値を持つピクセルの比率である一致率を算出するステップと、前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証するステップと、前記文字列を抽出して比較するステップ、前記背景色ＲＧＢ値を抽出して比較するステップ、および前記同一性の程度を満たすか検証するステップの実行結果を出力するステップと、を含む画像検証方法である。
【００１０】
また、本発明の他の態様は、ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証する画像検証装置であって、前記正解画像と、前記検証画像と、を取得する取得部と、前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較する文字列比較部と、前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのＲＧＢ値のうち、最もピクセル数の多いＲＧＢ値である背景色ＲＧＢ値を抽出して比較する背景色比較部と、前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色ＲＧＢ値以外のＲＧＢ値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のＲＧＢ値を持つピクセルの比率である一致率を算出する一致率算出部と、前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証する同一性検証部と、前記文字列比較部、前記背景色比較部、および前記同一性検証部の実行結果を出力する結果出力部と、を備える画像検証装置である。
【００１１】
また、本発明の他の態様は、ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証するコンピュータ装置が実行するプログラムであって、前記コンピュータ装置に、前記正解画像と、前記検証画像と、を取得する処理と、前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較する処理と、前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのＲＧＢ値のうち、最もピクセル数の多いＲＧＢ値である背景色ＲＧＢ値を抽出して比較する処理と、前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色ＲＧＢ値以外のＲＧＢ値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のＲＧＢ値を持つピクセルの比率である一致率を算出する処理と、前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証する処理と、前記文字列を抽出して比較する処理、前記背景色ＲＧＢ値を抽出して比較する処理、および前記同一性の程度を満たすか検証する処理の実行結果を出力する処理と、を実行させるためのプログラムである。
【発明の効果】
【００１２】
本発明によれば、ソフトウェア開発において画像比較処理を行うにあたり、システム開発プロジェクトの特性に応じて許容される範囲内の誤差を考慮した画像比較を行うことができる。これにより、画像比較処理において無用なコストがかかることを回避することができる。さらに、プロジェクト特性に応じた画像比較処理の前に、画像中の文字列や背景色の比較処理を実行することにより、両画像に大きな差異を許容することを回避することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る画像検証方法の概要を示す図である。
【図２】画像のレンダリングによる差分の一例を示す図である。
【図３】画面上の図形の表示位置の相違による差分の一例を示す図である。
【図４】画像の解像度の相違による差分の一例を示す図である。
【図５】全体における表示位置の相違による差分の一例を示す図である。
【図６】本発明の一実施形態に係る画像検証方法の全体の処理の流れの一例を示すメインフロー図である。
【図７】正解画像と検証画像の背景のＲＧＢ値の抽出方法の一例を示すフロー図である。
【図８】一致率の算出方法の一例を示すフロー図である。
【図９】画像のレンダリングによる差分の検証処理の流れの一例を示すフロー図である。
【図１０】正解画像と検証画像とにおける図形の表示位置の相違による差分の検証処理の流れの一例を示すフロー図である。
【図１１】正解画像と検証画像の解像度の相違による差分の検証処理の流れの一例を示すフロー図である。
【図１２】正解画像と検証画像の表示位置の相違による差分の検証処理の流れの一例を示すフロー図である。
【図１３】本発明の一実施形態に係る画像検証方法の検証結果の出力の一例を示す図である。
【図１４】本発明の一実施形態に係る画像検証方法を実行する画像検証装置の構成の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態について説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示される。
【００１５】
（画像検証方法の概要）
まず、本実施形態に係る画像検証方法の概要について説明する。本実施形態に係る画像検証方法は、ソフトウェア開発での試験工程において画像の比較検証を行う方法である。なお、以下の説明においては、一例として、ソフトウェアの更改作業の試験工程において、更改前のソフトウェアの表示画像（例えば、表示画面の一静止画を画像として保存したものや表示画面の全体をキャプチャして画像として保存したもの、等。以下、同様。）（以下、「正解画像」という）と、更改後のソフトウェアの表示画像（以下、「検証画像」という）とを比較して、ユーザ利用の観点から両者が実質的に同一であるか否かを考慮した画像比較検証を行う場合について説明するが、これに限定されるものではない。
【００１６】
本実施形態の画像検証方法では、プロジェクト特性に応じた画像比較検証の一例として、（ａ）画像のレンダリングによる差分を考慮した画像検証、（ｂ）図形の表示位置の相違による差分を考慮した画像検証、（ｃ）画像の解像度の相違による差分を考慮した画像検証、（ｄ）全体における表示位置の相違による差分を考慮した画像検証を行う。プロジェクト特性とは、ソフトウェア開発における画像比較処理において画像の同一性をどの程度要求するかを示す特性である。本例であれば、システムの更改の内容（例えば、オペレーティングシステムの変更、ハードウェアの変更、等）によって、要求される実質同一性の幅が異なる。そこで、本実施形態の画像検証方法では、このプロジェクト特性に応じた判断を可能とする。
【００１７】
また、本実施形態に係る画像検証方法では、より効率的に画像検証を行うため、これらの画像比較検証を行う前処理として、図１に示されるように（１）画像上の表示文字列の比較と、（２）背景色の比較を行う。表示文字列と背景色の比較を前処理として行う理由は、比較対象の画像においてこれらの情報が異なるということは、どのようなソフトウェア開発プロジェクトにおいても許容できない重大な差異であると言うことができるからである。そして、これらの比較検証を行った上で、さらに、（３）両画像の各ピクセルのＲＧＢ値が一致するかを検証する。
【００１８】
そして、上記の（１）〜（３）の処理を実行した後、プロジェクト特性に応じた画像検証として（ａ）〜（ｄ）の処理を実行する。図２〜図５は、画像検証（ａ）〜（ｄ）において検証対象とする画像の差分について説明する図である。
【００１９】
（ａ）画像のレンダリングによる差分
図２は、画像のレンダリングによる差分の一例を示す図である。図２に示される例では、正解画像１０と検証画像２０はそれぞれ、ウェブブラウザにおいて、選択リストボックス５１、５２が表示された状態をキャプチャした画像である。このようにウェブブラウザに表示されるパーツ等は、これらを表示するウェブブラウザのバージョン等によって、形状が若干異なる、枠線の太さが異なる、陰影の有無、などの違いが起きる場合がある。しかしながら、このような差異はユーザがリストボックスを操作するにあたっては特段問題がないため、本実施形態に係る画像検証方法では両画像は実質同一であると判断する。
【００２０】
（ｂ）図形の表示位置の相違による差分
図３は、画面上の図形の表示位置の相違による差分の一例を示す図である。図３に示される例では、正解画像１０と検証画像２０はそれぞれ、ウェブブラウザにおいて、ユーザがマウス等の入力デバイスで選択することが可能なボタン６１、６２、６４、６５とチェックボックス６３、６６が表示された画面をキャプチャした画像である。正解画像１０と検証画像２０とでは、ボタンとチェックボックスの位置が異なっているが、ユーザがこのウェブ画面を操作するにあたっては特段問題がない。
【００２１】
（ｃ）画像の解像度の相違による差分
図４は、画像の解像度の相違による差分の一例を示す図である。正解画像１０と検証画像２０の解像度が異なる場合、ピクセル単位で比較すると両画像は異なる画像であるとして判断されてしまうが、ユーザのシステム利用においては特段問題がない。
【００２２】
（ｄ）全体における表示位置の相違による差分
図５は、全体における表示位置の相違による差分の一例を示す図である。図５に示される例では、更改前の表示画面７１と更改後の表示画面７２のそれぞれにおいて、正解画像１０と検証画像２０の表示位置が異なっている。更改前と更改後とにおいて表示位置が大幅にずれているとシステムを利用するユーザにも違和感を与える可能性があるが、多少のずれであればそれほど違和感を与えることもなく、システム利用上、特段問題はない。よって、本実施形態に係る画像検証方法では、ある範囲内のずれであれば、両画像は実質同一であると判断する。
【００２３】
（画像検証方法の処理フロー）
以下、フローチャートを用いて、コンピュータ装置によって実行される本実施形態に係る画像検証方法の処理フローについて説明する。
【００２４】
（メイン処理フロー）
図６は、本実施形態の画像検証方法の全体の処理の流れの一例を示すメインフロー図である。
【００２５】
まず、正解画像１０、検証画像２０、およびプロジェクト特性情報３０のデータファイルを読み込む（ステップＳ１０２）。プロジェクト特性情報３０は、具体的には例えば、図２〜図５に示した各種の要因による差分について許容可能であるか否か（各種の要因による差分の検証のうちのいずれを実行するか）を示す情報である。また、プロジェクト特性情報３０は、例えばシステムの更改がどのような内容であるか（オペレーティングシステムの変更、ハードウェアの変更、等）を示す情報であってもよい。そして、画像検証装置がプロジェクト特性情報３０を読み込み、システムの更改の内容によって、図２〜図５に示した差分の検証処理のうちのいずれを実行するかを決定するようになっていてもよい。
【００２６】
具体的には例えば、プロジェクト特性情報３０に示される更改内容（オペレーティングシステムの変更、ハードウェアの変更、等）と、この更改内容のそれぞれについて図２〜図５に示した各種の要因による差分のうちのいずれが許容可能であるかを示す情報とを関連付けたデータベース等を画像検証装置のメモリ等にあらかじめ記憶させておく。そして、画像検証装置はプロジェクト特性情報３０を読み込むと、このデータベース等を参照して、プロジェクト特性情報３０に記述されている更改内容に関連付けられている図２〜図５に示される差分の検証処理を行うようになっていてもよい。
【００２７】
正解画像１０および検証画像２０から、文字列を抽出し、抽出した文字列を比較する（ステップＳ１０４）。
【００２８】
比較した結果、文字列に差分がある場合には（ステップＳ１０６：Ｙｅｓ）、文字列比較結果として、「文字列ＮＧ」を登録する（「登録する」とは、例えば、画像検証装置のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置に記憶することである。以下、同様。）（ステップＳ１０８）。文字列に差分がない場合には（ステップＳ１０６：Ｎｏ）、文字列比較結果として、「文字列ＯＫ」を登録する（ステップＳ１１０）。
【００２９】
正解画像１０における「背景のＲＧＢ値」を抽出し（ステップＳ１１２）、さらに、検証画像２０における「背景のＲＧＢ値」を抽出する（ステップＳ１１４）。ここで、各画像における「背景のＲＧＢ値」とは、一画面（静止画像）を構成するピクセルのうち、同一のＲＧＢ値を有するピクセルの数が最も多いＲＧＢ値をいう。
【００３０】
また、ステップＳ１１２およびステップＳ１１４における正解画像１０と検証画像２０における「背景のＲＧＢ値」の抽出方法は同様の方法によって行われる。この点について、図７を用いて具体的に説明する。図７は、各画像の背景のＲＧＢ値の抽出方法の一例を示すフロー図である。
【００３１】
まず、画像内の全ピクセルについて、ピクセルごとに、そのピクセルが持つＲＧＢ値を登録する処理を繰り返す（ステップＳ２０２、ステップＳ２０４）。具体的には、例えば、表５０のようなデータベース等において、各ピクセルのＲＧＢ値を調べて、表５０の該当するＲＧＢ値の「ピクセル数」に“１”加算する。図７に示される例では、表５０の１行目は、Ｒが“１”、Ｇが“２”、Ｂが“３”（例えば１６進数表記で“０ｘ０１０２０３”等と表すことができる）であるピクセルが“５”ピクセル存在していることを表している。ステップＳ２０４の処理を各画像内の全ピクセルについて実行することで、最終的に、最もピクセル数の多いＲＧＢ値が「背景のＲＧＢ値」として決定される（ステップＳ２０６）。
【００３２】
以上のような処理により、正解画像１０と検証画像２０における「背景のＲＧＢ値」が抽出される。
【００３３】
図６に戻り、ステップＳ１１６において、正解画像１０と検証画像２０の「背景のＲＧＢ値」が同一であるか判定する。両者が同一であれば（ステップＳ１１６：Ｙｅｓ）、背景色比較結果として、「背景色ＯＫ」を登録する（ステップＳ１１８）。両者が同一でなければ（ステップＳ１１６：Ｎｏ）、背景色比較結果として、「背景色ＮＧ」を登録する（ステップＳ１２０）。
【００３４】
その後、正解画像１０と検証画像２０とを比較して一致率を算出する（ステップＳ１２２）。一致率とは、正解画像と検証画像の各画像を構成するピクセルのうち背景のＲＧＢ値以外のＲＧＢ値を持つピクセルの数と、正解画像１０と検証画像２０とにおいて、同一位置のピクセルであって同一のＲＧＢ値を持つピクセルの数との比率をいう。具体的には、一致率は、以下の数式によって算出される。
【００３５】
【数１】
0005914732.tif 000002
【００３６】
ここで、図８を用いてステップＳ１２１での一致率の算出方法について説明する。図８は、ステップＳ１２２における一致率の算出方法の一例を示すフロー図である。正解画像１０と検証画像２０の全ピクセルに対してピクセルごとに以下の処理を実行する（ステップＳ３０２）。
【００３７】
両画像とも（処理対象となっているピクセルが）背景のＲＧＢ値でなければ（ステップＳ３０４：Ｙｅｓ）、両画像のピクセルのＲＧＢ値が一致しているか判定する（ステップＳ３０６）。両画像のピクセルのＲＧＢ値が一致していれば（ステップＳ３０６：Ｙｅｓ）、上記の式（１）の分母と分子にそれぞれ“１”加算されて一致率が再計算される結果、一致率は上がる（ステップＳ３１０）。両画像のピクセルのＲＧＢ値が一致していなければ（ステップＳ３０６：Ｎｏ）、式（１）の分母に“１”加算されるが分子の数値は変わらない結果、一致率は下がる（ステップＳ３１２）。
【００３８】
また、ステップＳ３０４にてＮｏであれば（すなわち、両画像の処理対象となっているピクセルの一方が背景のＲＧＢ値ではなく、かつ他方が背景のＲＧＢ値であるか、または両ピクセルとも背景のＲＧＢ値であれば）、さらに、両画像の処理対象のピクセルが背景のＲＧＢ値であるか判定する（ステップＳ３０８）。両ピクセルとも背景のＲＧＢ値でない場合（すなわち、両ピクセルの一方が背景のＲＧＢ値ではなく、かつ他方が背景のＲＧＢ値である場合）には（ステップＳ３０８：Ｎｏ）、式（１）の分母に“１”加算されるが分子の数値は変わらない結果、一致率は下がる（ステップＳ３１２）。両ピクセルとも背景のＲＧＢ値である場合には（ステップＳ３０８：Ｙｅｓ）、何も処理を行わない（ステップＳ３１４）。
【００３９】
以上のステップＳ３０４からステップＳ３１４までの処理を、正解画像１０と検証画像２０の全ピクセルについて実行する。これにより、正解画像１０と検証画像２０の一致率が算出される。図８に示される処理では、画像の大部分を占める背景色を除いて一致率を計算するため、両画像のピクセルのＲＧＢ値が一致する場合と一致しない場合とにおける一致率の差が大きくなる。これにより、両画像の各ピクセルのＲＧＢ値が一致するか否かの判定をより精度良く行うことができる。
【００４０】
図６に戻り、ステップＳ１２２で算出された一致率が閾値以上であるか判定する（ステップＳ１２４）。一致率が閾値以上であれば（ステップＳ１２４：Ｙｅｓ）、検証結果として「検証ＯＫ」を登録して処理を終了する（ステップＳ１２６）。一致率が閾値未満であれば（ステップＳ１２４：Ｎｏ）、プロジェクト特性情報３０に示されるプロジェクト特性に応じた画像検証処理を行う(ステップＳ１２８)。なお、上述したように、本実施形態の画像検証方法ではプロジェクト特性に応じた画像検証処理として、図２〜図５に示される４つの処理を具体例として挙げて説明しているが、これらに限定されるものではない。なお、この４つの画像検証処理については、後にフロー図を用いて詳述する。
【００４１】
ステップＳ１２８においてプロジェクト特性に応じた画像検証処理を実行しなかった場合には（ステップＳ１３０：Ｎｏ）、検証結果として「検証ＮＧ」を登録して処理を終了する（ステップＳ１３４）。プロジェクト特性に応じた画像検証処理を１つ以上実行した場合であって（ステップＳ１３０：Ｙｅｓ）、実行した画像検証処理での検証結果（後に詳述する）に「検証ＮＧ」が１つもなければ（ステップＳ１３２：Ｙｅｓ）、検証結果として「条件付きＯＫ」を登録して終了する（ステップＳ１３６）。検証結果に「検証ＮＧ」が１つでもあれば（ステップＳ１３２：Ｎｏ）、検証結果として「検証ＮＧ」を登録して終了する（ステップＳ１３８）。
【００４２】
なお、プロジェクト特性に応じた画像検証についてより緩やかな判断とするならば、ステップＳ１３２においては、実行した検証処理の検証結果がすべて「検証ＮＧ」ではないか判断し、この判断結果がＹｅｓであれば（すなわち、すべての検証結果が「検証ＮＧ」ではない）、「条件付きＯＫ」を登録して終了し、判断結果がＮｏであれば（すなわち、すべての検証結果が「検証ＮＧ」である）、「検証ＮＧ」を登録して終了するようになっていてもよい。
【００４３】
ところで、ステップＳ１２４における一致率の閾値は、変更可能となっていてもよい。例えば、検証結果の最終判断者が、上記のメイン処理フローが実行された最終結果として「検証ＯＫ」または「条件付きＯＫ」が出力された検証画像２０を目視し、出力された検証結果が妥当であると判断した場合には閾値は変更せず、出力された検証結果が妥当でないと判断した場合には閾値を上げるような設定を行うようになっていてもよい。さらに、検証結果の最終判断者が、「検証ＮＧ」の検証結果が出力された検証画像２０を目視し、検証結果が妥当であると判断した場合には閾値を下げるような設定を行い、検証結果が妥当でないと判断した場合には閾値を変更しないようになっていてもよい。
【００４４】
より具体的には、例えば、最終判断者は画像検証装置のキーボードやマウス等の入力デバイスを用いて、検証画像２０を目視して判断した結果を画像検証装置へ入力するようになっていてもよい。そして、画像検証装置は、この最終判断者の操作入力を受け付け、あらかじめ定められた所定値またはその都度入力指定されるだけ閾値を変更し、変更された閾値が画像検証装置のハードディスクやＲＡＭ等の記憶装置に記憶されるようになっていてもよい。
【００４５】
以下、図６のステップＳ１２８のプロジェクト特性に応じて実行される各画像検証処理の具体例について説明する。
【００４６】
（画像のレンダリングによる差分の検証の処理フロー）
図９は、画像のレンダリングによる差分の検証処理の流れの一例を示すフロー図である。なお、以下においては、適宜、図２も参照しつつ説明する。
【００４７】
正解画像１０および検証画像２０において、画像のレンダリングによる差分のあるピクセル群（図２のリストボックス５１、５２）を抽出する（ステップＳ４０２）。次に、ステップＳ４０２にて抽出された画像に含まれる図形を抽出する（ステップＳ４０４）。図２の例であれば、リストボックス５１、５２から、それぞれ、リストボックス５１、５２の全体の形状である「長方形」と、リストを表示させるための矢印部分の「小さな四角形」と、その中にある「三角形」が抽出される。なお、抽出方法は、具体的には例えば、図形の輪郭線を検出する方法や、あらかじめ検出対象とする形状を決めておき、その形状とのパターンマッチングを行うことで検出する方法が挙げられる。ただし、抽出方法はこれらに限定されるものではない。
【００４８】
次に、ステップＳ４０４にて抽出された図形の形状を比較する（ステップＳ４０６）。比較した結果、図形が一致している場合には（ステップＳ４０８：Ｙｅｓ）、「レンダリングの差分を許容」を示す検証結果データを、画像検証装置のＲＡＭ等の記憶装置に記憶する（ステップＳ４１０）。図形が一致していない場合には（ステップＳ４０８：Ｎｏ）、「検証ＮＧ」を示す検証結果データを記憶する（ステップＳ４１２）。
【００４９】
（図形の表示位置の相違による差分の検証の処理フロー）
図１０は、正解画像と検証画像とにおける図形の表示位置の相違による差分の検証処理の流れの一例を示すフロー図である。なお、以下においては、適宜、図３も参照しつつ説明する。
【００５０】
正解画像１０および検証画像２０において、背景色以外で囲まれた「部分図」（図３のボタン６１、６２、６４、６５、チェックボックス６３、６６）を抽出する（ステップＳ５０２）。ステップＳ５０２にて抽出された部分図ごとに（ステップＳ５０４）、部分図同士の一致率を算出する（ステップＳ５０６）。図２の例であれば、ボタン６１とボタン６４、ボタン６２とボタン６５、チェックボックス６３とチェックボックス６５のそれぞれについて一致率を算出する。なお、一致率の算出には、図８の算出方法を用いればよい。
【００５１】
すべての部分図において差分がなければ（ステップＳ５０８：Ｙｅｓ）、「表示位置の部分的差分を許容」を示す検証結果データを、画像検証装置のＲＡＭ等の記憶装置に記憶する（ステップＳ５１０）。いずれかの部分図において差分があれば（ステップＳ５０８：Ｎｏ）、「検証ＮＧ」を示す検証結果データを記憶する（ステップＳ５１２）。
【００５２】
（画像の解像度の相違による差分の検証の処理フロー）
図１１は、正解画像と検証画像の解像度の相違による差分の検証処理の流れの一例を示すフロー図である。なお、以下においては、適宜、図４も参照しつつ説明する。
【００５３】
まず、異なる解像度である正解画像１０と検証画像２０の解像度を一致させる（ステップＳ６０２）。解像度を一致させる方法としては、例えば、解像度が大きいほうの画像を、もう一方の画像の解像度となるようにすると、より誤差が小さくなるため好ましい。また、画像を二値化してから拡大または縮小させるようにすると、より誤差が小さくなるため好ましい。
【００５４】
次に、解像度を一致させた両画像を比較する（ステップＳ６０４）。比較した結果、一致していれば（ステップＳ６０６：Ｙｅｓ）、「解像度の差分を許容」を示す検証結果データを、画像検証装置のＲＡＭ等の記憶装置に記憶する（ステップＳ６０８）。一致しなければ（ステップＳ６０６：Ｎｏ）、「検証ＮＧ」を示す検証結果データを記憶する（ステップＳ６１０）。
【００５５】
（全体における表示位置の相違による差分の検証の処理フロー）
図１２は、正解画像と検証画像の表示位置の相違による差分の検証処理の流れの一例を示すフロー図である。なお、以下においては、適宜、図５も参照しつつ説明する。
【００５６】
本検証においては、表示位置がずれている検証画像２０を、表示画面７２上で１ピクセルごとにずらした比較検証用の画像（以下、「ずらし画像」という）を生成し、正解画像１０を含む表示画面７１と、ずらし画像との一致率を算出して検証を行う。
【００５７】
ずらし画像のｘ方向およびｙ方向におけるずらし量（単位はピクセル）を保持するための、ずらし情報（ｘ，ｙ）＝（０，０）として初期化する（ステップＳ７０２）。なお、ずらし情報は、画像検証装置のＲＡＭ等の記憶装置に記憶されるデータである。
【００５８】
ずらし情報が「ｘ＜１０かつｙ＜１０」であるまで（ステップＳ７０４）、以下のステップＳ７０６およびステップＳ７０８の処理を実行する。すなわち、ステップＳ７０６では、ずらし情報（ｘ，ｙ）のｘを１加算しながら、ずらし画像（ｘ，ｙ）を作成する。また、ｘ＝９の場合には、ずらし情報（ｘ＝０，ｙ）のｙを１加算しながら、ずらし画像（ｘ，ｙ）を作成する。そして、ステップＳ７０８では、ずらし画像を作成する都度、表示画面７１とずらし画像との一致率を計算する。一致率の算出には、図８の算出方法を用いればよい。また、算出した一致率は、その都度保存しておく。
【００５９】
なお、本例では「ｘ＜１０かつｙ＜１０」であるまで、ずらし画像を作成することとしているが、これは画面上、正解画像１０と検証画像２０とが１０ピクセル程度ずれていると、一般的にユーザが更改後の画面を視認した際に違和感を覚えやすいからである。よって、この条件値は一例に過ぎず、ずらし量（ｘ，ｙ）の条件値は他の値に設定されても構わない。
【００６０】
すべてのずらし画像を作成して一致率を算出した後、算出された一致率のうち最も良い一致率が閾値以上であれば（ステップＳ７１０：Ｙｅｓ）、「表示位置の全体差分を許容」を示す検証結果データを、画像検証装置のＲＡＭ等の記憶装置に記憶する（ステップＳ７１２）。最も良い一致率が閾値未満であれば（ステップＳ７１０：Ｎｏ）、「検証ＮＧ」を示す検証結果データを記憶する（ステップＳ７１４）。
【００６１】
なお、上記、図９〜図１２を用いて説明した各処理は一例であり、これらに限定されるものではない。
【００６２】
（検証結果の出力）
上記説明した画像検証方法による検証結果は、例えば、図１３に示されるような形式で画像検証装置の表示装置や印刷装置に出力される。
【００６３】
図１３（ａ）の例は、検証した検証画像２０の画像名８１と、検証結果８２とが出力されるようになっている。検証結果８２については、背景色と文字列以外の検証の結果として、「検証ＯＫ」、「条件付きＯＫ」、および「検証ＮＧ」のいずれかが出力される。また、背景色と文字列の検証結果については、「一致」または「不一致」が出力される。また、プロジェクト特性に応じた画像検証の結果については（すなわち、結果が「条件付きＯＫ」となった場合）、プロジェクト特性情報３０で許容する差分として指定されたものが出力される。例えば、図１３（ｃ）の例であれば、「レンダリング」および「解像度」を要因とする差分が、プロジェクト特性情報３０にて、許容する差分として指定されていたということである。
【００６４】
図１３（ｂ）の（例１）の出力例は、検証結果が図６のステップＳ１２６にて「検証ＯＫ」となった場合（すなわち、この時、背景色と文字列は「一致」）の出力例である。また、図１３（ｃ）の（例２）の出力例は、検証結果が図６のステップＳ１３６にて「条件付きＯＫ」となった場合の出力例である。この時、ステップＳ１３２で判定しているように、フローＣ１〜Ｃ４（図９〜図１２）の検証結果において、少なくとも１つは「差分を許容する」という結果が存在するので、「差分を許容する」という検証結果になった検証処理について表示する（本例では、「レンダリング」と「解像度」）。
【００６５】
（画像検証装置の構成）
図１４は、本実施形態に係る画像検証方法を実行するコンピュータ装置である画像検証装置の構成の一例を示す図である。
【００６６】
図１４に示されるように、画像検証装置１は、取得部１０２と、文字列比較部１０４と、背景色比較部１０６と、一致率算出部１０８と、同一性検証部１１０と、結果出力部１１２とを備える。
【００６７】
取得部１０２は、正解画像１０、検証画像２０、およびソフトウェア開発における画像比較処理において要求される正解画像１０と検証画像２０との同一性の程度に関する情報であるプロジェクト特性情報を取得する。
【００６８】
文字列比較部１０４は、正解画像１０と検証画像２０のそれぞれから、画像内の文字列を抽出して比較する。
【００６９】
背景色比較部１０６は、正解画像１０と検証画像２０のそれぞれから、各画像を構成するピクセルのＲＧＢ値のうち、最もピクセル数の多いＲＧＢ値である背景色ＲＧＢ値を抽出して比較する。
【００７０】
一致率算出部１０８は、正解画像１０と検証画像２０の各画像を構成するピクセルで背景色ＲＧＢ値以外のＲＧＢ値を持つピクセルのうち、正解画像１０と検証画像２０とで同一のＲＧＢ値を持つピクセルの比率である一致率を算出する。
【００７１】
同一性検証部１１０は、一致率算出部１０８にて算出された一致率があらかじめ定められた閾値未満である場合に、正解画像１０と検証画像２０とがプロジェクト特性情報によって示される同一性の程度を満たすか検証する。
【００７２】
結果出力部１１２は、文字列比較部１０４における文字列の比較結果、背景色比較部１０６における背景色ＲＧＢ値の比較結果、および一致率算出部１０８にて算出された一致率と閾値との比較結果を出力し、一致率が閾値未満であった場合には、さらに正解画像１０と検証画像２０とにおける、同一性検証部１１０での同一性の程度の検証結果を出力する。
【００７３】
なお、画像検証装置１は、図示しないＣＰＵ（Central Processing Unit）、ＲＡＭ等のメモリ、ハードディスク等の記憶装置、ネットワークインターフェイス等の一般的なコンピュータの構成と同様の構成により実現することが可能である。また、画像検証装置１の機能は、例えば、ＣＰＵがハードディスク等に記憶されているプログラムを読み出して実行することにより、または、例えば、ＦＰＧＡ（Field Programmable Gate Array）においてシーケンサロジックをカスタム設計することに実現される機能である。また、正解画像、検証画像、プロジェクト特性情報、各ＲＧＢ値、一致率、並びに各種の比較結果、算出結果、および検証結果等は、画像検証装置１のハードディスクやＲＡＭ等に記憶されるデータである。
【００７４】
以上、説明したように、本実施形態に係る画像検証方法によれば、ソフトウェア開発において画像比較処理を行うにあたり、システム開発プロジェクトの特性に応じて許容される範囲内の誤差を考慮した画像比較を行うことができる。これにより、画像比較処理において無用なコストがかかることを回避することができる。さらに、プロジェクト特性に応じた画像比較処理の前に、画像中の文字列や背景色の比較処理を実行することにより、両画像に大きな差異を許容することを回避することができる。
【００７５】
ここまで、本発明の一実施形態について説明したが、本発明は上述の実施形態に限定されず、その技術的思想の範囲内において種々異なる形態にて実施されてよいことは言うまでもない。
【００７６】
また、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、各請求項により画される発明の特徴の組み合わせに限定されるものではなく、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【符号の説明】
【００７７】
１  画像検証装置
１０  正解画像
２０  検証画像
３０  プロジェクト特性情報
１０２  取得部
１０４  文字列比較部
１０６  背景色比較部
１０８  一致率算出部
１１０  同一性検証部
１１２  結果出力部
【図１】
0005914732.tif 000003
【図２】
0005914732.tif 000004
【図３】
0005914732.tif 000005
【図５】
0005914732.tif 000006
【図６】
0005914732.tif 000007
【図７】
0005914732.tif 000008
【図８】
0005914732.tif 000009
【図９】
0005914732.tif 000010
【図１０】
0005914732.tif 000011
【図１１】
0005914732.tif 000012
【図１２】
0005914732.tif 000013
【図１３】
0005914732.tif 000014
【図１４】
0005914732.tif 000015
【図４】
0005914732.tif 000016