(57)【特許請求の範囲】
【請求項１】
表示データに含まれる各表示要素に相互に異なる色を割り当てる割当部と、
各表示要素又は各表示要素の背景が、前記割当部によって当該表示要素に割り当てられた色で表示されるように、前記表示データの定義内容を変更する変更部と、
前記変更部による変更後の表示データをブラウザに表示させる表示部と、
前記ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定する特定部と、
を有することを特徴とする表示領域特定装置。
【請求項２】
前記表示部は、前記変更部による変更後の表示データを複数のブラウザに表示させ、
前記特定部は、前記ブラウザごとに、当該ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定し、
前記ブラウザごとに特定された前記各表示要素の表示領域を比較して、前記複数のブラウザによる表示結果における相違点を検出する検出部を有することを特徴とする請求項１記載の表示領域特定装置。
【請求項３】
前記変更部は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定部は、前記表示画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内の色相に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする請求項１又は２記載の表示領域特定装置。
【請求項４】
前記変更部は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定部は、前記表示データの背景色とは異なる色の各画素について、当該画素に隣接する画素の集合を求め、前記集合ごとに、当該集合に含まれる画素のそれぞれの色相が、当該それぞれの色相の分布に関する代表値によって置換された画像を生成し、当該画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内の色相に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする請求項１又は２記載の表示領域特定装置。
【請求項５】
前記変更部は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定部は、前記表示画像が二値化された二値画像を生成し、前記二値画像における各黒画素について、当該黒画素に隣接する黒画素の集合を求め、前記表示画像について、前記集合ごとに、当該集合に含まれる黒画素に対応する画素のそれぞれの色相が、当該それぞれの色相の分布に関する代表値によって置換された画像を生成し、当該画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする請求項１又は２記載の表示領域特定装置。
【請求項６】
コンピュータが、
表示データに含まれる各表示要素に相互に異なる色を割り当て、
各表示要素又は各表示要素の背景が、前記割り当てる処理によって当該表示要素に割り当てられた色で表示されるように、前記表示データの定義内容を変更し、
前記変更する処理による変更後の表示データをブラウザに表示させ、
前記ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定する、
処理を実行することを特徴とする表示領域特定方法。
【請求項７】
コンピュータに、
表示データに含まれる各表示要素に相互に異なる色を割り当て、
各表示要素又は各表示要素の背景が、前記割り当てる処理によって当該表示要素に割り当てられた色で表示されるように、前記表示データの定義内容を変更し、
前記変更する処理による変更後の表示データをブラウザに表示させ、
前記ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示領域特定装置、表示領域特定方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネットの普及ととともに、インターネットを介して取得されるＨＴＭＬ文書を表示させるＷｅｂブラウザの種類が増加している。Ｗｅｂブラウザの種類に加え、Ｗｅｂブラウザのバージョン及び動作ＯＳ等の違いを考慮すると多数の組み合わせが存在する。
【０００３】
しかしながら、各Ｗｅｂブラウザは、相互に描画特性が異なったり、独自の拡張機能を有していたりする。また、ＨＴＭＬに関してＷｅｂブラウザごとに解釈が異なる定義が有る。その結果、ＷｅｂブラウザごとにＨＴＭＬ文書の表示結果が異なる場合が有る。
【０００４】
そこで、各ＷｅｂブラウザによるＨＴＭＬ文書の表示結果における各ＨＴＭＬ要素の表示領域を特定し、Ｗｅｂブラウザごとに特定された表示領域を比較することで、各ＷｅｂブラウザによるＨＴＭＬ文書の表示結果について相違の有無を判定することが検討されている（例えば、特許文献１参照）。
【０００５】
特許文献１では、以下のような方法によって、Ｗｅｂブラウザによる表示結果における各ＨＴＭＬ文書の表示領域が特定される。
【０００６】
まず、ＨＴＭＬ文書内のＨＴＭＬ要素が一つ選択され、当該ＨＴＭＬ要素が黒で表示され、他のＨＴＭＬ要素が白で表示されるようにＨＴＭＬ文書が改変される。続いて、各Ｗｅｂブラウザによって改変後のＨＴＭＬ文書が表示され、各Ｗｅｂブラウザによる表示結果において、黒色の領域が、選択されたＨＴＭＬ要素の表示領域として特定される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−３９８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載された方法によれば、ＨＴＭＬ文書内の各ＨＴＭＬ要素に関して、（１）ＨＴＭＬ文書の改変、（２）各Ｗｅｂブラウザの起動及び各Ｗｅｂブラウザによる当該ＨＴＭＬ文書の表示、（３）当該ＨＴＭＬ要素の表示領域の特定が繰り返し実行される必要が有る。例えば、ＨＴＭＬ文書内に１００個のＨＴＭＬ要素が存在すれば、（１）〜（３）が１００回繰り返される必要が有り、非効率である。
【０００９】
そこで、一側面では、表示データ内の各表示要素の表示領域を効率的に特定可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
一つの案では、表示領域特定装置は、表示データに含まれる各表示要素に相互に異なる色を割り当てる割当部と、各表示要素又は各表示要素の背景が、前記割当部によって当該表示要素に割り当てられた色で表示されるように、前記表示データの定義内容を変更する変更部と、前記変更部による変更後の表示データをブラウザに表示させる表示部と、前記ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定する特定部と、を有する。
【発明の効果】
【００１１】
一側面によれば、表示データ内の各表示要素の表示領域を効率的に特定可能とすることができる。
【図面の簡単な説明】
【００１２】
【図１】第一の実施の形態における比較装置のハードウェア構成例を示す図である。
【図２】第一の実施の形態における比較装置の機能構成例を示す図である。
【図３】第一の実施の形態の比較装置が実行する処理手順の一例を説明するためのフローチャートである。
【図４】評価対象のＨＴＭＬ文書の一例を示す図である。
【図５】１つのＨＴＭＬ要素について着色のための改変が行われたＨＴＭＬ文書の一例を示す図である。
【図６】着色対象の全てのＨＴＭＬ要素について着色のための改変が行われたＨＴＭＬ文書の一例を示す図である。
【図７】第一の実施の形態において割当色記憶部に記憶される値の一例を示す図である。
【図８】表示領域記憶部の構成例を示す図である。
【図９】第一の実施の形態において或る色の画素の外接矩形の特定処理の一例を説明するためのフローチャートである。
【図１０】キャプチャ画像及びキャプチャ画像から抽出される画素の一例を示す図である。
【図１１】ｄｉｖ要素に対する背景色の指定例を示す図である。
【図１２】他のブロックレベル要素を含むブロックレベル要素について特定される外接矩形の一例を示す図である。
【図１３】Ｗｅｂブラウザごとの表示結果の相違点の検出処理の第一の変形例を説明するためのフローチャートである。
【図１４】一致しないと判定される位置関係の一例を示す図である。
【図１５】一致すると判定される位置関係の一例を示す図である。
【図１６】二つのＨＴＭＬ要素の相対的な位置関係の一例を示す図である。
【図１７】Ｗｅｂブラウザごとの表示結果の相違点の検出処理の第二の変形例を説明するためのフローチャートである。
【図１８】本実施の形態における並列関係を説明するための図である。
【図１９】第二の実施の形態における割当色の決定処理の処理手順の一例を説明するためのフローチャートである。
【図２０】第二の実施の形態において割当色記憶部に記憶される値の一例を示す図である。
【図２１】第二の実施の形態において或る色の画素の外接矩形の特定処理の一例を説明するためのフローチャートである。
【図２２】第三の実施の形態において或る色の画素の外接矩形の特定処理の一例を説明するためのフローチャートである。
【図２３】第三の実施の形態において或る色の画素の外接矩形の特定処理を説明するための画像の一例である。
【図２４】隣接８近傍を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて第一の実施の形態を説明する。図１は、第一の実施の形態における比較装置のハードウェア構成例を示す図である。図１の比較装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００１４】
比較装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１５】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って比較装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
【００１６】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１７】
図２は、第一の実施の形態における比較装置の機能構成例を示す図である。図２において、比較装置１０は、複数のＷｅｂブラウザ１１、割当色決定部１２、ＨＴＭＬ文書改変部１３、ブラウザ表示部１４、画面キャプチャ部１５、表示領域特定部１６、比較部１７、及び出力部１８等を有する。これら各部は、比較装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。比較装置１０は、また、ＨＴＭＬ文書記憶部１２１、割当色記憶部１２２、改変文書記憶部１２３、及び表示領域記憶部１２４等を利用する。これら各記憶部は、補助記憶装置１０２若しくはメモリ装置１０３、又は比較装置１０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００１８】
Ｗｅｂブラウザ１１は、ＨＴＭＬ文書の表示を制御する。各Ｗｅｂブラウザ１１は、例えば、相互に異なる種類のＷｅｂブラウザである。ＨＴＭＬ文書記憶部１２１は、各Ｗｅｂブラウザ１１による表示結果について評価対象とされるＨＴＭＬ文書を記憶する。割当色決定部１２は、ＨＴＭＬ文書に含まれる各ＨＴＭＬ要素に対し、相互に異なる色を割り当てる。割当色記憶部１２２は、各ＨＴＭＬ要素について、割当色決定部１２によって割り当てられた色を示す情報を記憶する。ＨＴＭＬ文書改変部１３は、各ＨＴＭＬ要素が、割当色決定部１２によって割り当てられた色によって表示されるように、ＨＴＭＬ文書の定義内容を改変する（書き換える）。改変後のＨＴＭＬ文書は、改変文書記憶部１２３に記憶される。
【００１９】
ブラウザ表示部１４は、改変後のＨＴＭＬ文書を、各Ｗｅｂブラウザ１１に表示させる。画面キャプチャ部１５は、改変後のＨＴＭＬ文書について、各Ｗｅｂブラウザ１１による描画結果を示す画像を取得する。例えば、Ｗｅｂブラウザ１１による描画結果が、液晶ディスプレイ等に表示される場合、画面キャプチャ部１５は、液晶ディプレイについて画面キャプチャを行う。また、Ｗｅｂブラウザ１１の描画シミュレータが使われている場合、画面キャプチャ部１５は、当該描画シミュレータが出力する画像を取得する。
【００２０】
表示領域特定部１６は、各表示要素に割り当てられた色に基づいて、各Ｗｅｂブラウザ１１による表示結果における、各表示要素の表示領域を特定する。Ｗｅｂブラウザ１１ごと、かつ、ＨＴＭＬ要素ごとに特定された表示領域は、表示領域記憶部１２４に記憶される。
【００２１】
比較部１７は、Ｗｅｂブラウザ１１ごとの、各ＨＴＭＬ要素の表示領域を比較して、ＨＴＭＬ文書の表示結果について、Ｗｅｂブラウザ１１間の相違点を検出する。出力部１８は、比較部１７によって検出された相違点を示す情報を出力する。
【００２２】
以下、比較装置１０が実行する処理手順について説明する。図３は、第一の実施の形態の比較装置が実行する処理手順の一例を説明するためのフローチャートである。
【００２３】
ステップＳ１０１において、割当色決定部１２は、評価対象のＨＴＭＬ文書をＨＴＭＬ文書記憶部１２１から読み込む。
【００２４】
図４は、評価対象のＨＴＭＬ文書の一例を示す図である。図４に示されるＨＴＭＬ文書ｄ１は、「文字列１」を表示させるＨＴＭＬ要素ｔｅ１、「文字列２」を表示させるＨＴＭＬ要素ｔｅ２、及び「文字列３」を表示させるＨＴＭＬ要素ｔｅ３等を含む。
【００２５】
続いて、割当色決定部１２は、ＨＴＭＬ文書ｄ１に含まれるＨＴＭＬ要素の中から、着色対象の一つのＨＴＭＬ要素を選択する（Ｓ１０２）。選択されたＨＴＭＬ要素を、以下「対象要素」という。
【００２６】
続いて、割当色決定部１２は、既に他のＨＴＭＬ要素に割り当て済みの色とは重複しない色を、対象要素に割り当てる（Ｓ１０３）。第一の実施の形態において、ＨＴＭＬ要素に割り当てられる色は、ＲＧＢ形式によって表現され、Ｒ／Ｇ／Ｂのそれぞれの値は、０ｘ００〜０ｘＦＦであるとする。例えば、ＨＴＭＬ要素に割り当てる色を管理する変数をＣとすると、変数Ｃの第０〜第７ビットはＢ値を示し、第８〜第１５ビットはＧ値を示し、第１６ビット〜第２３ビットはＲ値を示すこととする。
【００２７】
ステップＳ１０２では、「Ｃ←Ｃ＋α」の演算結果におけるＣが、対象要素に割り当てる色とされてもよい。Ｃの初期値は、例えば、０ｘ００００００である。αは、例えば、１等の定数である。以下、対象要素に割り当てられた色を、「割当色」という。
【００２８】
続いて、ＨＴＭＬ文書改変部１３は、対象要素が割当色で表示されるように、ＨＴＭＬ文書ｄ１の定義内容を改変する（Ｓ１０４）。
【００２９】
図５は、１つのＨＴＭＬ要素について着色のための改変が行われたＨＴＭＬ文書の一例を示す図である。図５において、ＨＴＭＬ要素ｔｅ１は、＜ｆｏｎｔ＞タグで囲まれている。また、＜ｆｏｎｔ＞タグのｃｏｌｏｒ属性の値として、「＃００００ＦＦ」が設定されている。その結果、「文字列１」は、青色で表示されるようになる。このような改変が、ステップＳ１０４において行われる。なお、ＨＴＭＬ要素を所望の色で表示させるためのＨＴＭＬ文書の改変方法として、他の方法が利用されてもよい。例えば、＜ｆｏｎｔ  ｓｔｙｌｅ＝"ｂａｃｋｇｒｏｕｎｄ−ｃｏｌｏｒ：＃００Ｆ"＞の様なｓｔｙｌｅ属性を含む＜ｆｏｎｔ＞タグが、ＨＴＭＬ要素に追加されることで、当該ＨＴＭＬ要素の背景が着色されてもよい。
【００３０】
続いて、ＨＴＭＬ文書改変部１３は、対象要素と割当色とを対応付けて割当色記憶部１２２に記憶する（Ｓ１０５）。ステップＳ１０２〜Ｓ１０５は、着色対象の全てのＨＴＭＬ要素に関して実行される（Ｓ１０６）。なお、着色対象のＨＴＭＬ要素とは、Ｗｅｂブラウザ１１による表示結果においてその表示位置及び表示領域を知りたいＨＴＭＬ要素である。例えば、Ｗｅｂブラウザ１１間での文字の表示結果を比較したい場合は、テキスト要素が着色対象に含まれる。また、ｄｉｖブロックの配置関係を比較したい場合は、ｄｉｖ要素が着色対象に含まれる。全てのＨＴＭＬ要素の表示領域を比較したい場合は、ＨＴＭＬ文書内の全てのブロック要素及びインライン要素が着色対象に含まれる。
【００３１】
着色対象の全てについて改変が行われた時点において（Ｓ１０６でＹｅｓ）、ＨＴＭＬ文書ｄ１は、図６に示されるような状態となる。
【００３２】
図６は、着色対象の全てのＨＴＭＬ要素について着色のための改変が行われたＨＴＭＬ文書の一例を示す図である。図６に示されるＨＴＭＬ文書ｄ１では、ＨＴＭＬ要素ｔｅ２及びｅ３についても、ＨＴＭＬ要素ｔｅ１と同様の改変が行われている。なお、改変後のＨＴＭＬ文書ｄ１は、改変文書記憶部１２３に記憶される。
【００３３】
また、着色対象の全てについて改変が行われた時点において（Ｓ１０６でＹｅｓ）、割当色記憶部１２２には、図７に示されるような情報が記憶される。
【００３４】
図７は、第一の実施の形態において割当色記憶部に記憶される値の一例を示す図である。図７に示されるように、割当色記憶部１２２は、着色対象のＨＴＭＬ要素ごとに、ＸＰａｔｈ及び割当色のＲＧＢ値を記憶する。ＸＰａｔｈは、ＨＴＭＬ要素の識別情報の一例である。ＨＴＭＬ文書ｄ１内の行数及び桁数が、ＸＰａｔｈの代わりに用いられてもよい。また、各ＨＴＭＬ要素に、それぞれ異なる値を有するｉｄ属性が付加されて、ｉｄ属性の値が、ＸＰａｔｈの代わりに用いられてもよい。
【００３５】
続いて、ブラウザ表示部１４は、ＨＴＭＬ文書ｄ１の表示結果について比較対象とされるＷｅｂブラウザ１１群のうちの１つのＷｅｂブラウザ１１を選択し（Ｓ１０７）、改変文書記憶部１２３に記憶されているＨＴＭＬ文書ｄ１を、当該Ｗｅｂブラウザ１１（以下、「対象ブラウザ」という。）に表示させる（Ｓ１０８）。すなわち、改変後のＨＴＭＬ文書ｄ１（図６）が表示される。したがって、この際、着色対象とされた各ＨＴＭＬ要素は、当該ＨＴＭＬ要素に対する割当色によって表示される。
【００３６】
続いて、画面キャプチャ部１５は、Ｗｅｂブラウザ１１の描画領域（ＨＴＭＬ文書が表示される領域）について画面キャプチャを行う（Ｓ１０９）。その結果、ＨＴＭＬ文書ｄ１の表示結果を示す画像データ（以下、「キャプチャ画像」という。）が取得される。なお、画面キャプチャでは、例えば、Ｗｅｂブラウザ１１が動作しているＯＳ（Operating System）のＡＰＩ（Application Programming Interface）が用いられて、描画領域を示す画像がビットマップ画像として取得されてもよい。又は、ディスプレイ端子に流れている映像信号が、画像データに変換されてもよい。
【００３７】
続いて、表示領域特定部１６は、割当色記憶部１２２（図７）に記憶されているレコードのうちの一つのレコードを処理対象として選択する（Ｓ１１０）。すなわち、ＨＴＭＬ要素（ＸＰａｔｈ）と割当色との組が一つ選択される。選択されたレコードのＨＴＭＬ要素を、以下「選択要素」といい、当該レコードの割当色を、以下「選択色」という。
【００３８】
続いて、表示領域特定部１６は、キャプチャ画像に基づいて、選択要素の表示領域を特定する（Ｓ１１１）。例えば、表示領域特定部１６は、その画素のＲＧＢ値が選択色に一致する画素を全て抽出し、抽出された全ての画素を含む外接矩形（例えば、最小外接矩形）を特定する。
【００３９】
続いて、表示領域特定部１６は、当該外接矩形の領域（すなわち、選択要素の表示領域）を特定可能な座標値（以下、「表示座標」という。）を、選択要素に対応付けて表示領域記憶部１２４に記憶する（Ｓ１１２）。すなわち、当該外接矩形の領域が、対象ブラウザによるＨＴＭＬ文書ｄ１の表示結果における、選択要素の表示領域として特定される。
【００４０】
図８は、表示領域記憶部の構成例を示す図である。図８において、表示領域記憶部１２４は、着色対象のＨＴＭＬ要素ごとに、ＸＰａｔｈ、割当色、及び表示座標を記憶する。表示座標は、当該ＸＰａｔｈに係るＨＴＭＬ要素に関して特定された外接矩形の左上頂点及び右下頂点のそれぞれの座標値である。
【００４１】
ステップＳ１１０〜Ｓ１１２は、割当色記憶部１２２に記憶されている全てのレコードについて実行される（Ｓ１１３）。また、ステップＳ１０７〜Ｓ１１３は、比較対象の全てのＷｅｂブラウザ１１に関して実行される。したがって、表示領域記憶部１２４には、各ＨＴＭＬ要素について、Ｗｅｂブラウザ１１ごとに、表示座標が記憶される。
【００４２】
ステップＳ１０７〜Ｓ１１３が、比較対象の全てのＷｅｂブラウザ１１に関して実行されると（Ｓ１１４でＹｅｓ）、比較部１７は、比較対象のＷｅｂブラウザ１１ごとに表示領域記憶部１２４に記憶された情報に基づいて、各Ｗｅｂブラウザ１１によるＨＴＭＬ文書ｄ１の表示結果の相違点を検出する（Ｓ１１５）。
【００４３】
例えば、単純に、ＨＴＭＬ要素ごと（ＸＰａｔｈごと）に、Ｗｅｂブラウザ１１ごとの表示座標が比較され、比較された表示座標が一致しないＨＴＭＬ要素が、相違点として検出されてもよい。
【００４４】
又は、表示座標の完全一致までは要求されない場合は、他の方法によって相違点の検出が行われてもよい。他の方法の一例（変形例）については後述される。
【００４５】
続いて、出力部１８は、相違点として検出されたＨＴＭＬ要素に関する情報を出力する（Ｓ１１６）。例えば、当該ＨＴＭＬ要素に関する情報が、表示装置１０６に表示される。この際、出力部１８は、ＨＴＭＬ文書ｄ１中における、当該ＨＴＭＬ要素に関する定義部分を特定し、当該定義部分が強調表示されるように、ＨＴＭＬ文書（ＨＴＭＬソースコード）を表示してもよい。
【００４６】
続いて、ステップＳ１１１の詳細について説明する。図９は、第一の実施の形態において或る色の画素の外接矩形の特定処理の一例を説明するためのフローチャートである。
【００４７】
ステップＳ２０１において、表示領域特定部１６は、変数Ｄに選択色（を示すＲＧＢ値）を代入する。変数Ｄは、変数Ｃと同様に、第０〜第７ビットはＢ値を示し、第８〜第１５ビットはＧ値を示し、第１６ビット〜第２３ビットはＲ値を示す。
【００４８】
続いて、表示領域特定部１６は、キャプチャ画像からＤの値に一致するＲＧＢ値を有する画素のみを抽出する（Ｓ２０２）。
【００４９】
図１０は、キャプチャ画像及びキャプチャ画像から抽出される画素の一例を示す図である。図１０において、（１）が、キャプチャ画像であるとする。（１）に示される文字列のうち、「電子デバイス・半導体」という文字列を構成する画素のＲＧＢ値のみが、Ｄの値に一致するとする。この場合、ステップＳ２０２では、（２）に示される画素が抽出される。
【００５０】
続いて、表示領域特定部１６は、抽出された画素の外接矩形（最小外接矩形）を特定し、当該外接矩形の左上頂点及び右下頂点の座標値を取得する（Ｓ２０３）。取得された座標値が、選択要素のＸＰａｔｈに対応付けられて表示領域記憶部１２４（図８）に記憶される。
【００５１】
なお、図１０では、文字列自体が着色される例が示されているが、文字列自体ではなく、文字列の背景が着色されてもよい。この場合であっても図９と同様の処理手順が実行されてよい。但し、背景が着色される場合、Ｗｅｂブラウザ１１ごとに文字の行間が異なる可能性があり、文字列の表示領域の検出精度が劣化する可能性が有る。したがって、テキスト要素に関しては、上記したように、文字列自体を着色対象とするのが望ましい。
【００５２】
また、ＨＴＭＬ文書ｄ１には、テキスト要素のみが含まれている例を示したが、テキスト要素以外のＨＴＭＬ要素に係るタグに、ｓｔｙｌｅ属性が追加されて、当該ＨＴＭＬ要素の背景が着色されるようにＨＴＭＬ文書が改変されることで、テキスト要素以外のＨＴＭＬ要素についても、表示領域を特定することができる。
【００５３】
例えば、ｄｉｖ要素等のブロックレベル要素のスタイル属性に、ｂａｃｋｇｒｏｕｎｄ−ｃｏｌｏｒキーワードを使用して背景色が指定されてもよい。
【００５４】
図１１は、ｄｉｖ要素に対する背景色の指定例を示す図である。図１１に示されるＨＴＭＬ文書ｄ２は、ｄｉｖ要素ｄｅ１、ｄｅ２、及びｄｅ３の３つのｄｉｖ要素を含む。各ｄｉｖ要素の＜ｄｉｖ＞タグには、「ｓｔｙｌｅ＝"ｂａｃｋｇｒｏｕｎｄ−ｃｏｌｏｒ：＃ＸＸＸ"」の形式のｓｔｙｌｅ属性が付加されている。ここで、「＃ＸＸＸ」の値は、ｄｉｖ要素ごとに異なる。その結果、各ｄｉｖ要素は、相互に異なる色で表示される。
【００５５】
更に、図１１において、各ｄｉｖ要素には、ｐａｄｄｉｎｇが指定されることで、当該ｄｉｖ要素内のＨＴＭＬ要素との間に余白が設けられている。これは、特に、他のＨＴＭＬ要素を含むブロックレベル要素の外接矩形を正確に特定するための工夫である。例えば、図１１において、ｄｉｖ要素ｄｅ１は、ｄｉｖ要素ｄｅ２及びｄｅ３を含む。このような場合、ｄｉｖ要素ｄｅ１にｐａｄｄｉｎｇが指定されることで、ｄｉｖ要素ｄｅ１の外接矩形が誤って特定される可能性を低減することができる。
【００５６】
図１２は、他のブロックレベル要素を含むブロックレベル要素について特定される外接矩形の一例を示す図である。図１２には、図１１に示したｄｉｖ要素ｄｅ１、ｄｉｖ要素ｄｅ２、及びｄｉｖ要素３の領域が示されている。
【００５７】
（１）は、ｐａｄｄｉｎｇが指定されない場合の表示例である。（１）では、ｄｉｖ要素ｄｅ１とｄｉｖ要素ｄｅ２の左側の頂点は一致しているため、ｄｉｖ要素ｄｅ１の外接矩形の幅は、ｗ１に示される範囲であるとして特定されてしまう。
【００５８】
一方、（２）は、ｄｉｖ要素ｄｅ１の左右両側に関してｐａｄｄｉｎｇが指定された例である。この場合、余白部分の画素によって、ｗ２で示される範囲が、ｄｉｖ要素ｄｅ１の幅として特定される。
【００５９】
なお、評価対象のＨＴＭＬ文書がｉｍｇ要素を含む場合、ｉｍｇ要素によって埋め込まれる画像を着色するのは困難である。また、ｉｍｇ要素をそのままにしておくと、ｉｍｇ要素によって埋め込まれる画像の画素に基づいて、各ＨＴＭＬ要素の外接矩形が誤検出されてしまう。そこで、ＨＴＭＬ文書改変部１３は、ｉｍｇ要素によって埋め込まれる画像と同じサイズの透明の画像を生成し、ｉｍｇ要素のｓｒｃ属性の値を、当該透明の画像が格納されたファイルのパス名に置換してもよい。
【００６０】
又は、「ｓｔｙｌｅ＝"ｖｉｓｉｂｉｌｉｔｙ：ｈｉｄｄｅｎ；"」が、＜ｉｍｇ＞タグに追加されてもよい。斯かるｓｔｙｌｅ属性によれば、当該ｓｔｙｌｅ属性が指定されたＨＴＭＬ要素の表示領域を確保したまま、当該ＨＴＭＬ要素を非表示にすることができる。
【００６１】
続いて、図３のステップＳ１１５の変形例について説明する。例えば、或るＷｅｂブラウザ１１による表示結果における各ＨＴＭＬ要素の相対的な位置関係と、他のＷｅｂブラウザ１１による表示結果における各ＨＴＭＬ要素の相対的な位置関係とが、所定の条件を満たすか否かを判定することで、相違点が検出されてもよい。
【００６２】
図１３は、Ｗｅｂブラウザごとの表示結果の相違点の検出処理の第一の変形例を説明するためのフローチャートである。なお、図１３の処理において、比較対象のＷｅｂブラウザ１１は、便宜上、２種類であるとする。但し、３種類以上のＷｅｂブラウザ１１に関して、図１３の処理が実行されてもよい。
【００６３】
ステップＳ２１０において、比較部１７は、着色対象とされたたＨＴＭＬ要素群（以下、「対象要素群」という。）における二つずつのＨＴＭＬ要素の組み合わせのうち、未処理の一つの組み合わせを処理対象として選択する。未処理の組み合わせとは、ステップＳ２２０以降に関して処理対象とされていない組み合わせをいう。
【００６４】
続いて、比較部１７は、選択された組み合わせに含まれる二つのＨＴＭＬ要素について、２種類のＷｅｂブラウザ１１のそれぞれの表示結果における相対的な位置関係を求める（Ｓ２２０）。
【００６５】
通常、Ｗｅｂブラウザ１１によってデフォルトの行間や文字間隔等が異なる。したがって、ＨＴＭＬ要素間の距離の一致、若しくは、不一致の確認によって、２種類のＷｅｂブラウザ１１における当該ＨＴＭＬ要素間の位置関係を比較した場合、人の目には同様に見えても位置関係は異なると判定される場合が有る。すなわち、人から見ればほぼ同じと見える位置関係でも、コンピュータによっては異なると判定され、その結果、相違点が過剰に検出されてしまう。
【００６６】
そこで、第一の変形例において、比較部１７は、二つのＨＴＭＬ要素の上下左右方向（水平・垂直方向）の整列関係（ずれの方向）が一致していれば、当該二つのＨＴＭＬ要素の相対的な位置関係は一致すると判定する。例えば、比較部１７は、二つのＨＴＭＬ要素について、図１４の（Ａ）に示される位置関係と、（Ｂ）に示される位置関係とは異なると判定する。（Ａ）では二つのＨＴＭＬ要素の左端及び右端が揃っているのに対し、（Ｂ）では二つのＨＴＭＬ要素の左端及び右端が揃っていないからである。すなわち、（Ａ）と（Ｂ）とでは、左右方向（水平方向）におけるずれの方向が異なるからである。一方、比較部１７は、図１５の（Ａ）に示される位置関係と、（Ｂ）に示される位置関係とは一致すると判定する。一方のＨＴＭＬ要素に対する他方のＨＴＭＬ要素の上下方向及び左右方向におけるずれの方向が、一致するからである。なお、例えば、二つのＨＴＭＬ要素間の間隔、すなわち、ずれの量が（Ａ）と（Ｂ）とで異なっても、判定結果には影響しない。
【００６７】
上記のような判定結果を得るための比較部１７による判定方法の一例を説明する。ここでは、少なくとも一方のＷｅｂブラウザ１１の表示結果における、二つのＨＴＭＬ要素の相対的な位置関係が、図１６に示される通りであるとする。
【００６８】
図１６は、二つのＨＴＭＬ要素の相対的な位置関係の一例を示す図である。図１６において、ＨＴＭＬ要素ｅ１は、ステップＳ２１０において選択された二つのＨＴＭＬ要素のうちの一方のＨＴＭＬ要素であり、ＨＴＭＬ要素ｅ２は、他方のＨＴＭＬ要素である。ＨＴＭＬ要素ｅ１の左上頂点の座標値は、（ｌｅｆｔ１，ｔｏｐ１）として表記され、右下頂点の座標は、（ｒｉｇｈｔ１，ｂｏｔｔｏｍ１）として表記されている。また、ＨＴＭＬ要素ｅ２の左上頂点の座標値は、（ｌｅｆｔ２，ｔｏｐ２）として表記され、右下頂点の座標は、（ｒｉｇｈｔ２，ｂｏｔｔｏｍ２）として表記されている。ｌｅｆｔ１、ｔｏｐ１、ｒｉｇｈｔ１、ｂｏｔｔｏｍ１、ｌｅｆｔ２、ｔｏｐ２、ｒｉｇｈｔ２、及びｂｏｔｔｏｍ２の値は、表示領域記憶部１２４に記憶された表示座標に基づいて特定可能である。
【００６９】
比較部１７は、上記座標値を、以下の関数ｆ（ｘ）に当てはめて、ｆ０〜ｆ７の値を求める。
【００７０】
ｆ０＝ｆ（ｌｅｆｔ１−ｌｅｆｔ２）
ｆ１＝ｆ（ｌｅｆｔ１−ｒｉｇｈｔ２）
ｆ２＝ｆ（ｒｉｇｈｔ１−ｌｅｆｔ２）
ｆ３＝ｆ（ｒｉｇｈｔ１−ｒｉｇｈｔ２）
ｆ４＝ｆ（ｔｏｐ１−ｔｏｐ２）
ｆ５＝ｆ（ｔｏｐ１−ｂｏｔｔｏｍ２）
ｆ６＝ｆ（ｂｏｔｔｏｍ１−ｔｏｐ２）
ｆ７＝ｆ（ｂｏｔｔｏｍ１−ｂｏｔｔｏｍ２）
ここで、ｆ（ｘ）の値は、以下の通りである。
【００７１】
ｘ＞αの場合、ｆ（ｘ）＝１
−α＜＝ｘ＜＝αの場合、ｆ（ｘ）＝０
ｘ＜−αの場合、ｆ（ｘ）＝−１
なお、閾値αは、関数ｆ（ｘ）において比較される二つの値が同じであると判定する範囲を示す０以上の定数であり、予め決定される。すなわち、関数ｆ（ｘ）によって求められるｆ０〜ｆ７は、比較された二つのＨＴＭＬ要素の左上頂点及び左下頂点に関して、上下左右方向の相対的なずれの方向を示すものである。換言すれば、ｆ０〜ｆ７は、図１６に示されるベクトルｖ１〜ｖ４に関して、上下左右方向の向きを示すものである。
【００７２】
図１６の例によれば、ｆ０〜ｆ７の値は、以下の通りである。なお、図１６において、原点は、左上であるとする。また、こでは、便宜上、α＝０とであるとする。
【００７３】
ｆ０＝ｆ（ｌｅｆｔ１−ｌｅｆｔ２）＝−１
ｆ１＝ｆ（ｌｅｆｔ１−ｒｉｇｈｔ２）＝−１
ｆ２＝ｆ（ｒｉｇｈｔ１−ｌｅｆｔ２）＝１
ｆ３＝ｆ（ｒｉｇｈｔ１−ｒｉｇｈｔ２）＝−１
ｆ４＝ｆ（ｔｏｐ１−ｔｏｐ２）＝−１
ｆ５＝ｆ（ｔｏｐ１−ｂｏｔｔｏｍ２）＝−１
ｆ６＝ｆ（ｂｏｔｔｏｍ１−ｔｏｐ２）＝−１
ｆ７＝ｆ（ｂｏｔｔｏｍ１−ｂｏｔｔｏｍ２）＝−１
ステップＳ２２０において、比較部１７は、ステップＳ２１０において選択された二つのＨＴＭＬ要素に関するｆ０〜ｆ７の値を、２種類のＷｅｂブラウザ１１のそれぞれの表示結果に関して求める。
【００７４】
続いて、比較部１７は、２種類のＷｅｂブラウザ１１のそれぞれの表示結果に関して求められたｆ０〜ｆ７を比較する（Ｓ２３０）。ここで、ｆに対する添え字（０〜７）が同じもの同士が比較される。比較された全ての値が一致する場合（Ｓ２３０でＹｅｓ）、比較部１７は、対象要素群に含まれるＨＴＭＬ要素における二つずつのＨＴＭＬ要素の組み合わせの全てに関して実行されたか否かを判定する（Ｓ２４０）。未処理の組み合わせが残っている場合（Ｓ２４０でＮｏ）、比較部１７は、未処理の組み合わせに関してステップＳ２１０以降を繰り返す。
【００７５】
全ての組み合わせに関して、ｆ０〜ｆ７の値が一致する場合（Ｓ２４０でＹｅｓ）、比較部１７は、対象要素群の相対的な位置関係が２種類のＷｅｂブラウザ１１間において一致すると判定する（Ｓ２５０）。一方、ｆ０〜ｆ７の値のいずれかが一致しない組み合わせが検出された場合（Ｓ２３０でＮｏ）、比較部１７は、対象要素群の相対的な位置関係が２種類のＷｅｂブラウザ１１間において異なると判定する（Ｓ２６０）。
【００７６】
なお、ステップＳ２４０において、少なくともｆ０、ｆ４、ｆ５、ｆ６、及びｆ７が一致すれば、比較部１７は、対象要素群の相対的な位置関係が２種類のブラウザ間において一致すると判定するよいにしてもよい。例えば、文字列同士の比較の場合、行頭だけの一致が確保されれば、相対的な位置関係は一致すると判定できる場合も有る。したがって、斯かる判定基準は、文字列同士の組み合わせに限定されて適用されてもよい。そうすることにより、例えば、２種類のブラウザ間において、文字間隔が異なる場合であっても、文字列同士の相対的な位置関係は一致すると判定することができる。
【００７７】
このように、第一の変形例では、ＨＴＭＬ要素群に含まれる各ＨＴＭＬ要素の外接矩形の各頂点のずれの方向が各Ｗｅｂブラウザ１１に関して一致すれば、各Ｗｅｂブラウザ１１によるＨＴＭＬ文書の表示結果は、一致すると判定される。
【００７８】
なお、上記においては、αが定数である例を説明したが、相対的な位置関係が求められる二つのＨＴＭＬ要素の種類等に応じてαの値が変更されてもよい。
【００７９】
続いて、第二の変形例について説明する。第二の変形例においては、いずれかのＷｅｂブラウザ１１において水平方向に並列するＨＴＭＬ要素の組み合わせが、他のＷｅｂブラウザ１１においても水平方向に並列するか否かに基づいて、各Ｗｅｂブラウザ１１による表示結果の相違点が検出される。
【００８０】
図１７は、Ｗｅｂブラウザごとの表示結果の相違点の検出処理の第二の変形例を説明するためのフローチャートである。
【００８１】
ステップＳ３０１において、比較部１７は、着色対象とされた複数のＨＴＭＬ要素のうちの任意の二つを並列関係の有無の判定対象として選択する（Ｓ３０１）。続いて、比較部１７は、選択された二つのＨＴＭＬ要素について、Ｗｅｂブラウザ１１ごとに表示領域記憶部１２４に記憶された表示座標に基づいて、Ｗｅｂブラウザ１１ごとに並列関係（又は隣接関係）を有するか否かを判定する（Ｓ３０２）。
【００８２】
図１８は、本実施の形態における並列関係を説明するための図である。図１８において（１）〜（３）は、ＨＴＭＬ要素ｅ０とＨＴＭＬ要素ｅ１とが並列関係を有すると判定される例である。
【００８３】
すなわち、本実施の形態では、二つのＨＴＭＬ要素が、水平方向の範囲において重複部分（又は干渉部分）を有さず、一方のＨＴＭＬ要素の垂直方向の範囲が、他方のＨＴＭＬ要素の垂直方向の範囲に含まれる場合、当該二つのＨＴＭＬ要素は並列関係を有すると判定される。
【００８４】
並列関係の有無の判定は、以下のように行われてもよい。
【００８５】
二つのＨＴＭＬ要素のうちの一方のＨＴＭＬ要素の表示座標（左上頂点の座標値と右下頂点の座標値）が、（ｌｅｆｔ０，ｔｏｐ０）−（ｒｉｇｈｔ０，ｂｏｔｔｏｍ０）であり、他方のＨＴＭＬ要素の表示座標が、（ｌｅｆｔ１，ｔｏｐ１）−（ｒｉｇｈｔ１，ｂｏｔｔｏｍ１）である場合、以下の条件１及び条件２の双方が満たされれば、当該二つのＨＴＭＬ要素は、並列関係を有すると判定される。なお、ＨＴＭＬ要素の表示座標の座標系は、図１８の（１）に示される通りである。
【００８６】
条件１：（α１≦ｌｅｆｔ１−ｒｉｇｈｔ０≦α２）又は（α１≦ｌｅｆｔ０−ｒｉｇｈｔ１≦α２）
条件２：（β≦ｔｏｐ１−ｔｏｐ０  かつ  β≦ｂｏｔｔｏｍ０−ｂｏｔｔｏｍ１）又は（β≦ｔｏｐ０−ｔｏｐ１  かつ  β≦ｂｏｔｔｏｍ１−ｂｏｔｔｏｍ０）
なお、上記の条件１及び条件２では、一方のＨＴＭＬ要素と他方のＨＴＭＬ要素との左右関係は、限定されていない。
なお、上記の条件１及び条件２では、一方のＨＴＭＬ要素と他方のＨＴＭＬ要素との左右関係は、限定されていない。
【００８７】
条件１は、一方ＨＴＭＬ要素の表示領域と他方のＨＴＭＬ要素の表示領域とが水平方向の範囲において重複部分を有さないことを示す条件である。すなわち、条件１は、一方のＨＴＭＬ要素の表示領域の左端又は右端と、他方のＨＴＭＬ要素の表示領域の右端又は左端とが、接するか、又は離れていることを示す条件である。
なお、条件１におけるα１及びα２は、条件の判定に用いられる座標の誤差を許容するための定数である。通常、α１は、小さな負数であり、α２は、小さな正数である。
条件２は、一方のＨＴＭＬ要素の垂直方向の範囲が、他方のＨＴＭＬ要素の垂直方向の範囲に含まれることを示す条件である。なお、条件２におけるβについても、条件の判定に用いられる座標の誤差を許容するため定数である。通常、βは、小さな負数である。
【００８８】
なお、条件２については、緩和されてもよい。例えば、図１８の（４）に示されるＨＴＭＬ要素ｅ０とＨＴＭＬ要素ｅ１とについて、垂直方向の範囲の重複部分が、少なくともいずれか一方のＨＴＭＬ要素の高さに対して所定の割合以上であるという条件が、条件２の代わりに用いられてもよい。なお、条件２において、当該所定の割合は１００％である。
【００８９】
なお、Ｗｅｂブラウザ１１によるＨＴＭＬ文書の表示において、各ＨＴＭＬ要素が相互に重複しないことが保証されるのであれば、条件１は、並列関係を満たすための条件から除去されてもよい。
【００９０】
続いて、比較部１７は、二つのＨＴＭＬ要素の並列関係の有無の判定結果が、Ｗｅｂブラウザ１１ごとに異なるか否かを判定する（Ｓ３０３）。Ｗｅｂブラウザ１１ごとの判定結果が異なる場合、すなわち、一方のＷｅｂブラウザ１１に関しては並列関係を有すると判定され、他方のＷｅｂブラウザ１１に関しては並列関係を有さないと判定された場合（Ｓ３０３でＹｅｓ）、比較部１７は、並列関係を有さないと判定されたＷｅｂブラウザ１１の表示結果に係る、二つのＨＴＭＬ要素それぞれの表示座標について、以下の条件３が満たされるか否かを判定する（Ｓ３０４）。
【００９１】
条件３：γ≦ｔｏｐ１−ｂｏｔｔｏｍ０  又は  γ≦ｔｏｐ０−ｂｏｔｔｏｍ１
すなわち、下方のＨＴＭＬ要素の表示領域のＹ座標の最小値と、上方のＨＴＭＬ要素の表示領域の上辺のＹ座標の最大値と差が、下方のＨＴＭＬ要素の高さ以上であるか否かが判定される。
【００９２】
なお、条件３は、一方のＨＴＭＬ要素の上辺のＹ座標値が、他方のＨＴＭＬ要素の底辺のＹ座標値以下であることを示す条件であるともいえる。又は、条件３は、一方のＨＴＭＬ要素の垂直方向の範囲の全部が、他方のＨＴＭＬ要素の垂直方向の範囲よりも下であることを示す条件であるともいえる。すなわち、条件３は、一方のＨＴＭＬ要素が、他方のＨＴＭＬ要素の下に回り込んでいる否かを判定するための条件である。なお、条件３におけるγについても、条件の判定に用いられる座標の誤差を許容するため定数である。通常、γは、小さな負数である。
【００９３】
条件３が満たされる場合（Ｓ３０４でＹｅｓ）、比較部１７は、並列関係の判定対象の二つのＨＴＭＬ要素を、各Ｗｅｂブラウザ１１の表示結果における相違点として検出する（Ｓ３０５）。すなわち、当該二つのＨＴＭＬ要素の表示に関して、二つのＷｅｂブラウザ１１の間に非互換が有ることが検出される。
【００９４】
なお、Ｗｅｂブラウザ１１ごとの並列関係の判定結果が一致する場合（Ｓ３０３でＮｏ）、又はＷｅｂブラウザ１１ごとの並列関係の判定結果が相互に異なるが、条件３が満たされない場合（Ｓ３０４でＮｏ）、ステップＳ３０５は実行されない。
【００９５】
続いて、比較部１７は、表示座標が取得されたＨＴＭＬ要素群の中からの二つのＨＴＭＬ要素の全ての組み合わせについて並列関係の有無の判定が実行されたか否かを判定する（Ｓ３０６）。未判定の組み合わせが有る場合（Ｓ３０６でＮｏ）、当該組み合わせについてステップＳ３０１以降が繰り返される。未判定の組み合わせが無い場合（Ｓ３０６でＹｅｓ）、図１７の処理は終了する。
【００９６】
上述したように、第一の実施の形態によれば、各ＨＴＭＬ要素が相互に異なる色によって着色されてＨＴＭＬ文書が表示される。ＨＴＭＬ文書の表示結果を示す画像を構成する画素のうち、ＨＴＭＬ要素ごとに当該ＨＴＭＬ要素に割り当てられた色の画素に基づいて、当該ＨＴＭＬ要素の表示領域が特定される。したがって、Ｗｅｂブラウザ１１ごとに１回の表示により、複数のＨＴＭＬ要素の表示領域を特定することができる。その結果、ＨＴＭＬ文書内の各ＨＴＭＬ要素の表示領域を効率的に特定することができる。
【００９７】
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。第二の実施の形態において、特に言及されない点については、第一の実施の形態と同様でもよい。
【００９８】
最近のＰＣ（Personal Computer）では、低いディスプレイ解像度でも滑らかな文字が表示されるように、アンチエイリアシング処理が行われるようになっている。アンチエイリアシング処理とは、文字のエッジにグラデーションを持たせ、遠目から文字がきれいに見えるようにする処理である。
【００９９】
アンチエイリアシング処理が行われる場合、一つのテキスト要素に、＜ｆｏｎｔ  ｃｏｌｏｒ＝＃ＦＦ００００＞等のタグが付加されて一色が割り当てられても、実際の表示時には、当該テキスト要素に係る文字列には多数の色が使用されてしまう。その為、キャプチャ画像から、当該テキスト要素の割当色を示すＲＧＢ値を有する画素が抽出したとしても、当該画素に基づいて、当該テキスト要素の外接矩形を正確に得るのは困難である。当該画素には、当該テキスト要素以外のＨＴＭＬ要素を構成する画素が含まれている可能性が有るからである。
【０１００】
そこで、第二の実施の形態では、テキスト要素に色が割り当てられるときには、色相が基準とされ、相互に異なる色相を有する色が、各テキスト要素に割り当てられるようにする。文字の背景が無彩色であれば、アンチエイリアシング処理でも当該文字を構成する画素の色相は不変であり、また、文字の背景が有彩色であっても、当該文字を構成する画素の色相は、大きく変化しないといった性質が利用される。
【０１０１】
第二の実施の形態では、図３の処理に関して、ＨＴＭＬ要素に割り当てる色を管理する変数として、変数Ｃの代わりに変数Ｈが利用される。なお、変数名が異なるのは、単に、第一の実施の形態との混同を避けるためである。
【０１０２】
変数Ｈの初期値は、例えば、０である。また、図３のステップＳ１０３では、例えば、図１９に示される処理が実行される。図１９は、第二の実施の形態における割当色の決定処理の処理手順の一例を説明するためのフローチャートである。
【０１０３】
ステップＳ４０１において、割当色決定部１２は、変数Ｈにβを加算した結果を、変数Ｈに代入する。そうすることにより、既に割り当て済みの色とは異なる色が割り当てられるようにする。βは、例えば、１等の定数である。文字の背景に有彩色が使用されていれば、βの値は、１より大きい方が望ましい。ＨＴＭＬ文書において、背景色は、＜ｂｏｄｙ＞タグにおけるｂｇｃｏｌｏｒ属性によって指定される。したがって、ｂｇｃｏｌｏｒの値に基づいて、背景色が有彩色であるか否かが判定されてもよい。
【０１０４】
続いて、割当色決定部１２は、色相がＨ、彩度が１、及び明度が１によって特定される色を、ＲＧＢ値に変換する（Ｓ４０２）。割当色決定部１２は、変換結果を、対象要素の割当色とする。但し、彩度及び明度は、０以外の値であれば、必ずしも１でなくてもよい。また、彩度及び明度は、各ＨＴＭＬ要素間で共通の値でなくてもよい。
【０１０５】
図３のステップＳ１０５において、割当色決定部１２は、変数Ｈの値（すなわち、色相の値）を対象要素に対応付けて割当色記憶部１２２に記憶する。
【０１０６】
図２０は、第二の実施の形態において割当色記憶部に記憶される値の一例を示す図である。図２０に示されるように、第二の実施の形態において、割当色記憶部１２２には、ＨＴＭＬ要素ごと（ＸＰａｔｈごと）に、当該ＨＴＭＬ要素に割り当てられた色相の値が記憶される。
【０１０７】
したがって、ステップＳ１１０では、ＸＰａｔｈと色相との組みが選択される。以下、ステップＳ１１０において選択された色相を、「選択色相」という。
【０１０８】
続いて、図３のステップＳ１１１の詳細について説明する。図２１は、第二の実施の形態において或る色の画素の外接矩形の特定処理の一例を説明するためのフローチャートである。
【０１０９】
ステップＳ５０１において、表示領域特定部１６は、変数Ｉに選択色相の値を代入する。続いて、表示領域特定部１６は、ＲＧＢ値で表現されたビットマップ画像であるキャプチャ画像の各画素のＲＧＢ値を、ＨＳＶ（色相、彩度、明度）値に変換する（Ｓ５０２）。変換は、公知の方法によって行われればよい。
【０１１０】
続いて、表示領域特定部１６は、キャプチャ画像を構成する画素の中で、以下の式（１）を満たす全ての画素を抽出する（Ｓ５０３）。
Ｉ−β／２  ≦  画素の色相Ｈ  ＜  Ｉ＋β／２  ・・・（１）
式（１）では、アンチエイリアシングの影響で色相が僅かに変化することが考慮されて、±β／２の範囲の誤差が許容されている。すなわち、ステップＳ５０３では、選択色の色相から所定の範囲内の色相に係る色を有する画素が抽出される。
【０１１１】
続いて、表示領域特定部１６は、抽出された画素の外接矩形（最小外接矩形）を特定し、当該外接矩形の左上頂点及び右下頂点の座標値を取得する（Ｓ５０４）。取得された座標値が、選択要素のＸＰａｔｈに対応付けられて表示領域記憶部１２４（図８）に記憶される。
【０１１２】
上述したように、第二の実施の形態によれば、アンチエイリアシング処理が行われる場合であっても、各ＨＴＭＬ要素の表示領域を特定することができる。
【０１１３】
次に、第三の実施の形態について説明する。第三の実施の形態では第二の実施の形態と異なる点について説明する。第三の実施の形態において、特に言及されない点については、第二の実施の形態と同様でもよい。
【０１１４】
第三の実施の形態では、文字の表示に関して、ＣｌｅａｒＴｙｐｅ（登録商標）又はＣｏｏｌＴｙｐｅ（登録商標）等、アンチエイリアシングを更に高度化した処理が実行される場合が考慮される。
【０１１５】
ＣｌｅａｒＴｙｐｅ（登録商標）又はＣｏｏｌＴｙｐｅ（登録商標）が適用されて表示された文字は、当該文字を構成する画素の中に、当該文字に対して指定された色とは大きく異なる色を有する画素が存在する。したがって、ＣｌｅａｒＴｙｐｅ（登録商標）又はＣｏｏｌＴｙｐｅ（登録商標）が適用されて表示されたテキスト要素に関しては、第一の実施の形態又は第二の実施の形態のように、当該テキスト要素に指定された色の画素を単純に抽出したとしても、抽出された画素の外接矩形が、当該テキスト要素の表示領域と大きく異なる可能性が有る。何故なら、テキスト要素の文字に複数の色の画素が混在してしまうため、他のテキスト要素にも同じ色の画素が存在する可能性が高くなり、色情報に基づいて、テキスト要素を区別するのが困難になるからである。
【０１１６】
そこで、第三の実施の形態では、図３のステップＳ１１１に関して、図２２に示される処理が実行される。なお、各ＨＴＭＬ要素に対する色（色相）の割り当て方法は、第二の実施の形態と同様でよい。
【０１１７】
図２２は、第三の実施の形態において或る色の画素の外接矩形の特定処理の一例を説明するためのフローチャートである。
【０１１８】
ステップＳ６０１において、表示領域特定部１６は、ＲＧＢ値で表現されたビットマップ画像であるキャプチャ画像の各画素のＲＧＢ値を、ＨＳＶ（色相、彩度、明度）値に変換する。
【０１１９】
図２３は、第三の実施の形態において或る色の画素の外接矩形の特定処理を説明するための画像の一例である。図２３において、（１）が、キャプチャ画像であるとする。キャプチャ画像における色の違いは、図中において、濃淡によって表現されている。これは、「Ｐｒｅｓｓ」の文字列に同じ色相を割当てたにも拘わらず、ＣｌｅａｒＴｙｐｅ（登録商標）又はＣｏｏｌＴｙｐｅ（登録商標）が適用された結果、異なる色の画素が混在することを示す。
【０１２０】
続いて、表示領域特定部１６は、キャプチャ画像を二値化する（Ｓ６０２）。二値化は、公知の方法によって行われればよい。例えば、キャプチャ画像における各画素のＶ値が着目され、Ｖ値に関して大津の二値化のアルゴリズムが用いられて二値化が行われてもよい。又は、単純にＶ値の平均値を二値化の閾値とする等、他の方法によって二値化が行われてもよい。なお、図２３の（２）は、二値化によって生成された画像を示す。以下、二値化によって生成された画像を、「二値画像」という。なお、以下において、キャプチャ画像というとき、当該画像は、二値化されていない元のキャプチャ画像（すなわち、図２３の（１）の画像）である。
【０１２１】
続いて、表示領域特定部１６は、二値画像において、各黒画素の隣接８近傍の黒画素を再帰的に連結することで、連結要素を抽出する（Ｓ６０３）。
【０１２２】
図２４は、隣接８近傍を説明するための図である。図２４において、画素（１）を注目画素とした場合、画素（１）に辺が接する画素（２）と、画像（１）に頂点が接する画素（３）とが、画素（１）の隣接８近傍画素である。隣接８近傍で連結された連結要素とは、お互いに隣接８近傍の関係にある黒画素の集合が構成する要素をいう。
【０１２３】
図２３の（３）には、連結要素ｃｅ１、ｃｅ２、及びｃｅ３の３つの連結要素が抽出された例が示されている。なお、各連結要素は、同じ色を有することが推定される画素の集合である。例えば、連結要素ｃｅ１を構成する画素群は、同じ色を有することが推定される。また、ステップＳ６０２における二値画像の生成は、評価対象のＨＴＭＬ文書の背景色が不明な場合や一様でない場合において、連結要素の抽出精度を向上させるために実行される。仮に、ＨＴＭＬ文書の背景色が既知であり、当該背景色が一様である場合は、キャプチャ画像において、当該背景色以外の画像に関して連結要素が抽出されてもよい。この場合、二値画像は生成されなくてもよい。
【０１２４】
続いて、表示領域特定部１６は、各連結要素について、キャプチャ画像上において当該連結要素に対応する画素の色相のヒストグラム（度数分布表）を求める（Ｓ６０４）。すなわち、図２３の（４）に示されるように、連結要素ｃｅ１、ｃｅ２、及びｃｅ３のそれぞれについて、キャプチャ画像において当該連結要素に対応する画素の色相のヒストグラムが求められる。なお、図２３の（４）に示される画像は、（１）の画像と同じである。
【０１２５】
続いて、表示領域特定部１６は、連結要素ごとに、当該連結要素について求められたヒストグラムに基づいて、色相の中央値を求め、当該中央値を、当該連結要素の代表色相値とする（Ｓ６０５）。なお、中央値の他、平均値又は最頻値等の代表値が、代表色相値とされてもよい。
【０１２６】
続いて、表示領域特定部１６は、キャプチャ画像の各画素の色相の値が、当該画素が属する連結要素に関して求められた代表色相値によって置換された画像（以下、「色相置換画像」という。）を生成する（Ｓ６０６）。なお、図２３の（５）には、色相置換画像の一例を示す。色相置換画像では、「Ｐｒｅｓｓ」という文字列を構成する全ての画像の色相が同じ値（代表色相値）となる。
【０１２７】
続いて、表示領域特定部１６は、色相置換画像に関して、図２１のステップＳ５０１、Ｓ５０３、及びＳ５０４と同様の処理を実行する。
【０１２８】
すなわち、表示領域特定部１６は、変数Ｉに選択色相の値を代入する（Ｓ６０７）。続いて、表示領域特定部１６は、色相置換画像を構成する画素の中で、上記の式（１）を満たす全ての画素を抽出する（Ｓ６０８）。なお、色相置換画像において、文字列に対応する各画素の色相の値は、共通の代表色相値に置き換えられているが、当該代表色相値に誤差が含まれる可能性があるため、±β／２の誤差が考慮される。
【０１２９】
続いて、表示領域特定部１６は、抽出された画素の外接矩形（最小外接矩形）を特定し、当該外接矩形の左上頂点及び右下頂点の座標値を取得する（Ｓ６０９）。取得された座標値が、選択要素のＸＰａｔｈに対応付けられて表示領域記憶部１２４（図８）に記憶される。
【０１３０】
上述したように、第三の実施の形態によれば、ＣｌｅａｒＴｙｐｅ（登録商標）又はＣｏｏｌＴｙｐｅ（登録商標）等、アンチエイリアシングを更に高度化した処理が実行される場合であっても、各ＨＴＭＬ要素の表示領域を特定することができる。
【０１３１】
なお、上記各実施の形態において、比較装置１０は、表示領域特定装置の一例である。割当色決定部１２は、割当部の一例である。ＨＴＭＬ文書改変部１３は、変更部の一例である。ブラウザ表示部１４は、表示部の一例である。表示領域特定部１６は、特定部の一例である。比較部１７は、検出部の一例である。ＨＴＭＬ要素は、表示要素の一例である。すなわち、ＨＴＭＬ文書以外の表示データであって、複数の表示要素を含む表示データに関して、本実施の形態が適用されてもよい。この場合、Ｗｅｂブラウザ１１の代わりに、当該表示データに適したブラウザが用いられてもよい。キャプチャ画像は、表示画像の一例である。
【０１３２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１３３】
以上の説明に関し、更に以下の項を開示する。
（付記１）
表示データに含まれる各表示要素に相互に異なる色を割り当てる割当部と、
各表示要素又は各表示要素の背景が、前記割当部によって当該表示要素に割り当てられた色で表示されるように、前記表示データの定義内容を変更する変更部と、
前記変更部による変更後の表示データをブラウザに表示させる表示部と、
前記ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定する特定部と、
を有することを特徴とする表示領域特定装置。
（付記２）
前記表示部は、前記変更部による変更後の表示データを複数のブラウザに表示させ、
前記特定部は、前記ブラウザごとに、当該ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定し、
前記ブラウザごとに特定された前記各表示要素の表示領域を比較して、前記複数のブラウザによる表示結果における相違点を検出する検出部を有することを特徴とする付記１記載の表示領域特定装置。
（付記３）
前記変更部は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定部は、前記表示画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内の色相に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記１又は２記載の表示領域特定装置。
（付記４）
前記変更部は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定部は、前記表示データの背景色とは異なる色の各画素について、当該画素に隣接する画素の集合を求め、前記集合ごとに、当該集合に含まれる画素のそれぞれの色相が、当該それぞれの色相の分布に関する代表値によって置換された画像を生成し、当該画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内の色相に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記１又は２記載の表示領域特定装置。
（付記５）
前記変更部は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定部は、前記表示画像が二値化された二値画像を生成し、前記二値画像における各黒画素について、当該黒画素に隣接する黒画素の集合を求め、前記表示画像について、前記集合ごとに、当該集合に含まれる黒画素に対応する画素のそれぞれの色相が、当該それぞれの色相の分布に関する代表値によって置換された画像を生成し、当該画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記１又は２記載の表示領域特定装置。
（付記６）
コンピュータが、
表示データに含まれる各表示要素に相互に異なる色を割り当て、
各表示要素又は各表示要素の背景が、前記割り当てる処理によって当該表示要素に割り当てられた色で表示されるように、前記表示データの定義内容を変更し、
前記変更する処理による変更後の表示データをブラウザに表示させ、
前記ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定する、
処理を実行することを特徴とする表示領域特定方法。
（付記７）
前記表示させる処理は、前記変更する処理による変更後の表示データを複数のブラウザに表示させ、
前記特定する処理は、前記ブラウザごとに、当該ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定し、
前記ブラウザごとに特定された前記各表示要素の表示領域を比較して、前記複数のブラウザによる表示結果における相違点を検出する処理を前記コンピュータが実行することを特徴とする付記６記載の表示領域特定方法。
（付記８）
前記変更する処理は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定する処理は、前記表示画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内の色相に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記６又は７記載の表示領域特定方法。
（付記９）
前記変更する処理は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定する処理は、前記表示データの背景色とは異なる色の各画素について、当該画素に隣接する画素の集合を求め、前記集合ごとに、当該集合に含まれる画素のそれぞれの色相が、当該それぞれの色相の分布に関する代表値によって置換された画像を生成し、当該画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内の色相に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記６又は７記載の表示領域特定方法。
（付記１０）
前記変更する処理は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定する処理は、前記表示画像が二値化された二値画像を生成し、前記二値画像における各黒画素について、当該黒画素に隣接する黒画素の集合を求め、前記表示画像について、前記集合ごとに、当該集合に含まれる黒画素に対応する画素のそれぞれの色相が、当該それぞれの色相の分布に関する代表値によって置換された画像を生成し、当該画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記６又は７記載の表示領域特定方法。
（付記１１）
コンピュータに、
表示データに含まれる各表示要素に相互に異なる色を割り当て、
各表示要素又は各表示要素の背景が、前記割り当てる処理によって当該表示要素に割り当てられた色で表示されるように、前記表示データの定義内容を変更し、
前記変更する処理による変更後の表示データをブラウザに表示させ、
前記ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定する、
処理を実行させるプログラム。
（付記１２）
前記表示させる処理は、前記変更する処理による変更後の表示データを複数のブラウザに表示させ、
前記特定する処理は、前記ブラウザごとに、当該ブラウザによる前記表示データの表示結果を示す表示画像において、前記表示要素に割り当てられた色ごとに、当該色の画素に基づいて特定される領域を、当該色が割り当てられた表示要素の表示領域として特定し、
前記ブラウザごとに特定された前記各表示要素の表示領域を比較して、前記複数のブラウザによる表示結果における相違点を検出する処理を前記コンピュータに実行させる付記１１記載のプログラム。
（付記１３）
前記変更する処理は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定する処理は、前記表示画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内の色相に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記１１又は１２記載のプログラム。
（付記１４）
前記変更する処理は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定する処理は、前記表示データの背景色とは異なる色の各画素について、当該画素に隣接する画素の集合を求め、前記集合ごとに、当該集合に含まれる画素のそれぞれの色相が、当該それぞれの色相の分布に関する代表値によって置換された画像を生成し、当該画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内の色相に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記１１又は１２記載のプログラム。
（付記１５）
前記変更する処理は、前記各表示要素に相互に異なる色相を割り当て、各表示要素又は各表示要素の背景が当該表示要素に割り当てられた色相に係る色で表示されるように、前記表示データの定義内容を変更し、
前記特定する処理は、前記表示画像が二値化された二値画像を生成し、前記二値画像における各黒画素について、当該黒画素に隣接する黒画素の集合を求め、前記表示画像について、前記集合ごとに、当該集合に含まれる黒画素に対応する画素のそれぞれの色相が、当該それぞれの色相の分布に関する代表値によって置換された画像を生成し、当該画像において、前記表示要素に割り当てられた色相ごとに、当該色相から所定の範囲内に係る色の画素に基づいて特定される領域を、当該色相が割り当てられた表示要素の表示領域として特定する、
ことを特徴とする付記１１又は１２記載のプログラム。
【符号の説明】
【０１３４】
１０          比較装置
１１          Ｗｅｂブラウザ
１２          割当色決定部
１３          ＨＴＭＬ文書改変部
１４          ブラウザ表示部
１５          画面キャプチャ部
１６          表示領域特定部
１７          比較部
１８          出力部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１２１        ＨＴＭＬ文書記憶部
１２２        割当色記憶部
１２３        改変文書記憶部
１２４        表示領域記憶部
Ｂ            バス
【図１】
0006354497.tif 000002
【図２】
0006354497.tif 000003
【図３】
0006354497.tif 000004
【図４】
0006354497.tif 000005
【図５】
0006354497.tif 000006
【図６】
0006354497.tif 000007
【図７】
0006354497.tif 000008
【図８】
0006354497.tif 000009
【図９】
0006354497.tif 000010
【図１０】
0006354497.tif 000011
【図１１】
0006354497.tif 000012
【図１２】
0006354497.tif 000013
【図１３】
0006354497.tif 000014
【図１４】
0006354497.tif 000015
【図１５】
0006354497.tif 000016
【図１６】
0006354497.tif 000017
【図１７】
0006354497.tif 000018
【図１８】
0006354497.tif 000019
【図１９】
0006354497.tif 000020
【図２０】
0006354497.tif 000021
【図２１】
0006354497.tif 000022
【図２２】
0006354497.tif 000023
【図２３】
0006354497.tif 000024
【図２４】
0006354497.tif 000025