JP5791115B2 - 画像領域分割装置、その方法及びプログラム - Google Patents

画像領域分割装置、その方法及びプログラム Download PDF

Info

Publication number
JP5791115B2
JP5791115B2 JP2012150459A JP2012150459A JP5791115B2 JP 5791115 B2 JP5791115 B2 JP 5791115B2 JP 2012150459 A JP2012150459 A JP 2012150459A JP 2012150459 A JP2012150459 A JP 2012150459A JP 5791115 B2 JP5791115 B2 JP 5791115B2
Authority
JP
Japan
Prior art keywords
constraint
image
data
rule
rectangle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012150459A
Other languages
English (en)
Other versions
JP2014013490A (ja
Inventor
増田 健
健 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012150459A priority Critical patent/JP5791115B2/ja
Publication of JP2014013490A publication Critical patent/JP2014013490A/ja
Application granted granted Critical
Publication of JP5791115B2 publication Critical patent/JP5791115B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、画像データ処理、特に画像データ中から所定の領域を判別して分割する技術に関する。
<技術分野の詳細>
画像マスクツールは、指定された複数の画像データファイルに対して、所定の部分領域を黒色で塗りつぶすなどのマスク処理を施し、変換後のファイルとして出力するアプリケーションプログラム(以下、単にアプリケーション)である。処理対象ファイルの指定、マスクする領域の指定などを対話的に行うアプリケーションも考えられるが、ここでは大量の画像ファイル、多種類の画像内容を扱う最も単純な形態としてバッチツールを想定する。
ここで扱う画像データファイルは、主にGUI端末上でのユーザの操作の履歴として、蓄積された大量のファイルである。当該ファイルは、別途用意・実行されるプログラム、例えば当該GUI端末の常駐サービスやバックグランドアプリケーションとして実行されるエージェントプログラム(以下、単にエージェント)によって生成されることを想定している。エージェントは、ユーザが実施する操作のタイミングごとに、GUI端末の画面上の表示内容についてオペレーティングシステム(OS)を介して画像データとして取得し、BMPやPNGなどの形式の画像データファイルとして保存していく。
このとき、GUI端末の画面上でアクティブなウィンドウの境界枠内の画像内容だけが記録されることを前提としているため、蓄積される画像データの縦横の長さ(画像矩形サイズ)はウィンドウごとに異なり、まちまちである。さらに、ウィンドウがリサイズされた場合は、同じウィンドウに対しても縦横の長さがその前後で異なることとなる。ウィンドウ内のGUI要素に表示される個人情報を読み取れないようにするためには、テーブル(表形式のGUI要素)コントロール上の適切な領域をマスクする必要があるが、ウィンドウ左上からの相対座標による矩形を指定しても、リサイズによりずれてしまう場合がある。
また、ここで扱う画像データファイルは、そこに表示されている内容の種類を識別する情報として、所定のファイル名が付与される。当該ファイル名は、画像データの取得時にエージェントがOSを介して得られる当該ウィンドウに関する基本的なデータ、例えば当該のウィンドウの属性(ウィンドウタイトル、スタイル、クラス名など)や、それを所有するプロセスの起動ファイル名(プログラム名)によって生成されることを前提としている。エージェントは、取得した属性値をそれぞれ文字列化した上で、所定の順序でハイフン「−」を挟んで連結するなどにより、得られた文字列をそのファイル名として画像データを保存していく。
このとき、記録対象のウィンドウの種類やアプリケーションの種類によって画像内容が異なったり、ユーザの操作(リサイズによるウィンドウ矩形サイズ変化やボタン押下によるアプリケーション内部の状態変化)に伴って表示内容が変化したような場合でも、それらに依存した個別的な情報は記録されないことを前提としている。即ち、蓄積される画像ファイルの識別の手がかりは、全てウィンドウ共通のものしかない。
さらに、アプリケーションの種類によっては、これらの情報を用いた識別では、十分に対処できない場合もある。表計算アプリケーションや文書編集アプリケーションなどのドキュメントデータを扱うウィンドウや、Webブラウザなどのコンテンツ情報を扱うウィンドウは、ウィンドウタイトルが異なっても表示内容がアプリケーションごとに共通的な部分がある一方で、ウィンドウタイトルが同じでも表示内容がドキュメントやコンテンツごとに異なる部分がある(異なるフォルダの同名ドキュメントや異なるサイトの同名コンテンツの場合が存在し得るため)。
本発明の技術背景は、画像マスクツール内部の以下の機能についてである。
1つは入力された画像内容に応じて、マスクをかける領域の位置を決定する機能である。前述した通り、対象とする画像矩形サイズは同一とは限らないため、 相対座標のような単純な指定方法ではずれてしまう場合がある。画像内容に応じて領域の位置を調整・計算する必要がある。
また、1つは入力された画像内容に応じて、マスクをかける領域の有無やマスクパターンの種別を判定する機能である。前述した通り、対象とする画像内容の種類はウィンドウ共通の識別情報と直接的な関連性がないため、ウィンドウタイトルを基にマスクすべき領域の有無とマスクパターンの種別を決定するのでは間違ってしまう場合がある。画像内容そのものの特徴を基にマスクをかける領域の有無やマスクパターンの種別を判定する必要がある。
なお、ここでマスクパターンの種別とは、どのような位置関係にしたがってマスク領域を設定すべきかといった位置調整方法の種類を指すものとする。
≪従来技術≫
<画像パターン認識についての従来技術>
〈画像マッチングを使う方法のメリットと課題〉
マスクすべき領域の近傍の画像断片を位置計算のための情報として指定しておき、画像マスクツールの実行時に画像テンプレートマッチングアルゴリズムを使用して、ウィンドウ領域内の相対位置の座標を調整する方法がある。マスク領域の特定に、この画像テンプレートマッチングを応用する方法が容易に創出可能である。
また同様に、ウィンドウ上の特徴的な画像断片をマスク領域の有無やマスクパターンの種別を識別するための情報として指定しておき、画像マスクツールの実行時に画像テンプレートマッチングアルゴリズムを使用して、処理対象の画像内容に画像断片が存在するか否かを閾値判定する方法がある。ウィンドウが画像内容からみて、ある観点で求めているものに該当するか否かの判定に、この画像テンプレートマッチングを応用する方法が容易に創出可能である。
しかし、画像テンプレートマッチングを応用した方法は、画像内容、及びGUI要素のレイアウトに依存するという課題がある。特定する対象そのものの画像内容についての課題は、サイズ可変(事例:ボタンの認識)に関係する。特定するGUI要素のレイアウト依存性についての課題は、GUIレイアウトにおける周辺構造(事例:表の認識)、並びに内部構造(事例:フォームの認識)に関係する。以下ではそれぞれについて事例をあげて具体的に述べる。
〈任意のレイアウトに対応する従来の方法と課題〉
文字領域抽出に制約充足を用いた従来の方法として、非特許文献1に記載の方法がある。当該方法では「文字配置特徴として、文字の近接性、サイズの一致、文字配置の直線性、文字の等間隔配置等が挙げられる。本手法では、これらの特徴の参照を制約充足問題としてとらえ、各特徴を反映した関数を用い」ており、多項式時間では解き難い問題に対して良く用いられる近傍探索法の一般化手法であるシミュレーテッドアニーリング法を用いている。しかしながら、当該文献においては15要素程度のレイアウトを処理する事例に対しても、多くの計算時間を要するとだけ述べられており、その具体的評価は行われていない。本発明の技術分野で実際に扱う規模のレイアウトを対象とした場合、想定するようなツールとして成立しない程度に計算時間が増大することが課題である。
<特定する対象自身の課題(その1:サイズ可変)>
〈サイズ可変に対する容易に創出可能な方法〉
テンプレートマッチングによる方法の課題の1つは、特定したい操作対象のサイズが可変であると、ウィンドウのリサイズに従って矩形領域が変化してしまう場合に対応できないという課題である。
<相対位置関係の課題(その1:周辺要素との相対位置関係による位置特定)>
認識させたい領域が、表の内部のセルのように、表示内容が実行時ごとに変わる場合は、水平方向の位置をカラムヘッダのセルの画像断片のマッチングによって得て、その位置を基準として垂直方向の位置をカラムヘッダからの相対位置の座標によって得ることにより、2つの位置を総合して目的とするセルの位置を得る方法が容易に創出可能である。
しかし、従来の技術では、識別させようとするセルを含む表のカラムのサイズ、順序、内容が変化してしまう場合に対応できないという課題がある。
<相対位置関係の課題(その2:内部要素同士の相対位置関係による識別)>
識別させたいウィンドウが占める領域のサイズやそこに表示される情報の種類や量によって内部レイアウトが変わる場合は、それによって影響を受けないウィンドウ画像内部に存在する特徴的な画像断片の存在有無を基に、マスク対象のウィンドウを識別する方法が容易に創出可能である。しかしながら、本来、異なる個体あるいは異なる種類として認識させたいウィンドウが、たまたま同じ画像断片を含んでいた場合にそれを誤認する可能性がある。これに対しては、複数の異なる画像断片の相対的な位置関係を含めた組み合わせによって指定する方法も容易に創出可能である。
しかし、従来の技術では、識別させようとするフォームのアイテムのサイズ、順序、内容ごとにハードコーディングしなければ対応できないという課題がある。なおここで、フォームのアイテムとは、フォームを構成するGUI要素を指し、例えばラベル、テキストフィールド、コンボボックスなどが該当する。
<上記課題の解決方法とそれを実現する場合のアーキテクチャの課題>
この課題を具体的かつ詳細に分析すると、大きく3つのレベルに分けられる。
〈詳細1:ハードコーディングを不要にできない(構造ごとに実装が必要)〉
従来の技術では、上記で挙げた変化に対しては適用対象アプリケーションのGUIレイアウトの仕様に依存した処理が個々に必要であり、共通化する方法は提供されていないという課題があった。
〈詳細2:実装をシンプルにできない(エンジンの仕様が簡潔ではない)〉
上記課題に対する望ましいアプローチとしては、設定パラメータやルールベースの処理エンジンを実現することが考えられる。しかし、一般的に言えることとして、このようなアプローチをとろうとすると、設定やルールの形式が多様になる傾向がある。
従来の技術では、それを処理するエンジンの仕様が複雑化するため、エンジンの開発コストや保守コストが増大するという課題があった。
〈詳細3:一般ユーザ向けにできない(ルール定義の作業が簡単ではない)〉
上記課題に対する望ましいアプローチとしては、特定や識別のためのルールを定義(作成・編集)する場合に、様々な入力画像の様々な相対位置変化に対して、本来意図した結果を得られるように複雑なルール形式を採用することが考えられる。しかし、一般的に言えることとして、このようなアプローチをとろうとすると、ルールの入力方法の習得が必要になるため、使用できるユーザが限定されてしまう課題があった。
<全体アーキテクチャ>
本発明は、
画像データを入力とし、予め指定された画像領域分割ルールデータを参照することによって当該画像データを領域分割し、その領域分割した分割矩形データを出力する画像領域分割装置であって、
ユーザの操作に基づきルールエディタによって作成・編集され、又は外部のモジュールによって自動的に生成された画像領域分割ルールデータを蓄積する画像領域分割ルールデータベースと、与えられた制約充足問題に対応する充足解を探索する制約ソルバと、画像領域分割エンジンとを少なくとも備え、
前記画像領域分割エンジンは、
画像領域分割処理の開始命令が、上位装置から自動的に発行されたのを契機に、あるいは上位装置を通してユーザから明示的に指示されたのを契機に処理を開始し、
入力された分割対象画像データを上位装置から受け取り、当該分割対象画像データに対応する画像領域分割ルールデータを画像領域分割ルールデータベースから取り出し、当該画像領域分割ルールデータを制約モデルデータに変換し、当該制約モデルデータを制約充足問題として制約ソルバに渡して充足解の探索を命令し、
制約ソルバの探索終了を待機し、探索終了を契機に制約ソルバから返却された前記制約モデルデータに対応する充足解データを画像領域の分割矩形データに変換し、これを上位装置に返却し、もしくは上位装置を通してユーザに提示する、
ことを特徴とする。
<データ形式>
本発明は、
上記画像領域分割処理装置の画像領域分割エンジンにおいて、
分割矩形とレイヤと画像断片とからなる画像領域分割ルールデータを参照し、当該画像領域分割ルールデータを基に制約モデルデータを生成するに際し、
分割矩形同士の相対的な位置関係を指定する目的で、各分割矩形の初期座標値の大小関係を維持する幾何制約データを生成し、
分割矩形同士の位置関係の指定の有効範囲を指定する目的で、各分割矩形の帰属レイヤの関連を基に上記幾何制約データを所定の範囲で選択的に生成し、
分割矩形の推奨位置からのずれ、推奨サイズからのずれのそれぞれについて、その推奨値と有効無効の属性を表すフラグ値を基に、ずれの量を解の評価値に反映させる幾何制約データを選択的に生成し、
分割矩形の入力画像内での位置をテンプレートマッチで決定する目的で、当該分割矩形をテンプレートマッチ対象とするか否かの属性を表すフラグ値とマッチで用いる画像断片を基に、選択的に実際のマッチ処理を行って得られた位置を、当該分割矩形の位置と一致させる幾何制約データを生成する、
ことを特徴とする。
<ユーザビリティ>
本発明は、前記に加え、
ユーザからの操作に従って画像領域分割ルールデータを作成・編集するルールエディタを具備し、
当該ルールエディタは、
分割ルールデータを作成・編集する目的で図形エディタを模したウィンドウを具備し、
当該ウィンドウ上で分割矩形を図形として可視化表示し、当該図形に対してマウスによる作成・編集の操作の手段を提供し、
図形の選択操作によって当該図形の属性値を表示・変更するパネルを具備し、
図形とそれが帰属するレイヤとの関係を表示・変更するパネルを具備する、
ことを特徴とする。
〈画像領域分割エンジンにより幅広い適用を可能とし、ハードコーディングを回避〉
本発明では、テンプレートマッチングの画像断片や、矩形領域の間の相対位置関係を、画像領域分割ルールデータの形式で画像領域分割エンジンに与えることで、画像領域分割パターンごとにハードコーディングするのではなく、多様な適用画像、多様な利用目的に低コストで対応することで、処理の共通化が可能となる。また、画像領域分割の結果は、マスクしたい領域の特定やマスクパターン種別の判定の両方に共通に利用できる。対応する実施例は以下である。
〈画像マスク処理ツールでの画像マスク処理〉
本実施例では、画像データ以外の付加的な情報、例えば特定のGUI要素の座標位置やサイズ、キャプション文字列などの属性値を必要としないため、画像マスクツールにおける入力画像に対して、時間的に後の時点で、マスクしたい領域やマスクパターンを任意に変えて実行することができる。即ち、対象のGUIレイアウトや目的とするマスクパターンが変化しても、ルールの追加や差し替えによりハードコーディング無しに対応可能となっている。
〈画像領域分割データのシンプルな形式により単純な処理で複雑な分割指定に対応〉
本発明では、画像領域分割データの形式を、分割矩形とその属性とレイヤとからなるシンプルな基本構成とし、その形式上で制約充足問題における幾何制約を記述可能とし、なおかつ画像領域分割エンジンの機能について画像領域分割データを制約モデルデータに変換する単純な処理とすることで、単純なデータ形式と処理実装で複雑な分割のしかたを処理する系を実現し、エンジンの開発コストや保守コストの低減が可能となる。対応する実施例は以下である。
〈サイズ可変のGUI要素(ボタンなど)の位置・サイズを特定〉
(実施の形態「GUI要素(ボタン)のリサイズ対応」参照)
〈表のカラムとの相対位置関係からセルの位置・サイズを特定〉
(実施の形態「表(テーブル)の構造解析(パーシング)」参照)
〈フォームのラベル同士の相対位置関係から対象ウィンドウかどうかを判定〉
(実施の形態「帳票(フォーム)の構造解析(パーシング)」参照)
〈分割矩形とレイヤの帰属関係により識別パターンを指定〉
(実施の形態「内部要素同士の相対位置関係による識別の処理事例」参照)
以上の実施例では、GUIの画像においては多くの場合、分割すべき領域が水平辺・垂直辺で構成され、制約を及ぼし合う矩形同士は、互いに包含関係か隣接関係にある(交差関係はない)、という特性を効果的に利用することで、複雑な分割パターンを柔軟に処理可能となっている。
さらに本発明の構成によると、制約モデル上での以下の要素を工夫することで負荷の低減を可能としており、確率的手法や準最適化手法をとらなくても、短い応答時間での処理を可能としている。
(負荷低減の工夫点)
・制約関係を等号・不等号や和・差などの組み合わせとし、制約充足ソルバでの計算負荷を抑制するルール形式としている
・評価関数を位置・サイズの目標値と調整結果とのずれ幅の長さの単純な重み付き総和とし、制約充足ソルバでの計算負荷を抑制するルール形式としている
・探索における分岐の要因を、ずれ幅の長さ(絶対値)に対して、実際のずれ量がプラスかマイナスかに限定し、制約充足ソルバでの探索空間を抑制するルール形式としている
・制約範囲をレイヤとの関係指定、有効フラグ指定、画像断片の指定で記述し、必要な個所のみに制約を効かせる形態としている
〈一般ユーザ向けにルール定義形式を簡単化〉
本発明では、画像領域分割を行う幾何制約を、個々の線分長や点座標に関して定義するのではなく、分割矩形を単位とする位置とサイズに関して定義することにより、ユーザが考慮しなければならない制約の種類や数を少なくし、分割のパターンを1種類の図形(矩形)だけで構成される図により表現することが可能となる。対応する実施例は以下である。
〈マスクルールエディタによりルール定義手段を図形編集の形態で提供〉
本実施例では、画像領域分割データの入力方法として一般の図形エディタを模したルールエディタ機能をユーザに提供し、画像領域分割データ固有の入力方法の習得を不要にすることにより、ユーザビリティを向上し、初心者を含めた幅広いユーザが使用可能となっている。
本発明の画像領域分割装置の機能構成図 本発明の画像領域分割装置の動作フローチャート 画像領域分割エンジンの機能構成図 画像領域分割エンジンの内部の動作フローチャート 画像領域分割エンジンの内部の動作フローチャート 画像領域分割エンジンの内部の動作フローチャート 画像領域分割エンジンの内部の動作フローチャート 矩形に関する呼称の定義を示す説明図 作業データ蓄積部のデータスキーマを示す説明図 作業データ蓄積部のデータスキーマを示す説明図 ルールエディタのGUI画面(メイン)を示す説明図 ルールエディタのGUI画面(分割矩形属性編集)を示す説明図 ルールエディタのGUI画面(レイヤ編集)を示す説明図 ルールエディタのGUI画面(ルール属性編集)を示す説明図 操作対象事例(ボタンのリサイズ)を示す説明図 操作対象事例(ボタンのリサイズ)を示す説明図 操作対象事例(ボタンのリサイズ)を示す説明図 操作対象事例(ボタンのリサイズ)を示す説明図 図11の事例における分割ルールデータを示す説明図 操作対象事例(テーブルの構造が含まれるウィンドウ画面)を示す説明図 操作対象事例(テーブルの構造が含まれるウィンドウ画面)を示す説明図 操作対象事例(テーブルの構造が含まれるウィンドウ画面)を示す説明図 操作対象事例(テーブルの構造が含まれるウィンドウ画面)を示す説明図 操作対象事例(テーブルの構造が含まれるウィンドウ画面)を示す説明図 マージンの定義例を示す説明図 図13の事例における分割ルールデータを示す説明図 操作対象事例(フォームの構造が含まれるウィンドウ画面)を示す説明図 操作対象事例(フォームの構造が含まれるウィンドウ画面)を示す説明図 操作対象事例(フォームの構造が含まれるウィンドウ画面)を示す説明図 操作対象事例(フォームの構造が含まれるウィンドウ画面)を示す説明図 操作対象事例(フォームの構造が含まれるウィンドウ画面)を示す説明図 図16の事例における分割ルールデータを示す説明図 図16の事例における分割ルールデータを示す説明図 図16の事例における分割ルールデータを示す説明図 画像マスクツールの構成図 画像マスク処理ツールの機能構成図 画像マスク処理ツールの動作フローチャート マスクルールエディタの機能構成図 マスクルールエディタの動作フローチャート 相対位置関係による識別の事例の説明図 相対位置関係による識別の事例の説明図 相対位置関係による識別の事例の説明図 相対位置関係による識別の事例の説明図
<画像領域分割エンジンの使用形態>
図1は画像領域分割エンジン(以下、単に「分割エンジン」)を含む本発明の画像領域分割装置の実施の形態の機能構成を示すもので、本発明の画像領域分割装置は、分割エンジン1とともに、作業データ蓄積部2、制約ソルバ3及び上位機能制御部4を含んで構成される。
ここで、作業データ蓄積部2は、上位装置から上位機能制御部4を通じて入力された画像領域分割ルールデータ(以下、単に「分割ルールデータ」)21及び分割対象画像データ22を一時的に蓄積するとともに、分割エンジン1からの分割成否データ23及び分割結果データ24を一時的に蓄積し、この際、請求項でいう画像領域分割ルールデータベースを構成する。制約ソルバ3は、与えられた制約充足問題に対応する充足解を探索する周知のもので、分割エンジン1から制約モデルデータ31を受け取って充足解を探索し、その実行結果を制約充足解データ(得られた場合のみ)32とともに分割エンジン1へ返却する。上位機能制御部4は、上位装置との間のデータのやり取りを制御するとともに、上位装置からの命令に従って画像領域分割処理を制御する。なお、図示しないが、ユーザの操作に基づき分割ルールデータを作成・編集するルールエディタが上位機能制御部4を通じて接続されているものとする。
分割エンジン1は、上位機能制御部4の制御により画像領域分割の開始時の手続呼び出し及び画像領域分割の終了後の返却値受け取りを実行する。また、分割エンジン1はその内部処理で制約ソルバ3の手続呼び出し及び返却値受け取りを実行する。
また、分割エンジン1は、作業データ蓄積部2に蓄積された分割ルールデータ21及び分割対象画像データ22を基に、制約ソルバ3に入力する制約モデルデータ31を生成する制約モデル生成部機能(制約モデル生成部)11と、制約ソルバ3から返却された解探索の実行結果及び/又は制約充足解データ32を基に、分割成否データ23及び/又は分割結果データ24を生成する充足結果解釈機能(充足結果解釈部)12とを備えて構成されている。
図2に分割エンジン1を主体とした本画像領域分割装置の動作フローを示す。
分割エンジン1は上位機能制御部4から呼び出されると、まず、作業データ蓄積部2の分割ルールデータ21及び画像データ22を基に制約モデルデータ31を生成する(s1)。次に制約ソルバ3に制約モデルデータ31を渡し(s2)、最小解探索を依頼して待機する(s3)。探索終了後、分割エンジン1は制約ソルバ3の解探索の実行結果を取得し(s4)、当該解探索の実行結果を基に分割成否データ23を生成して作業データ蓄積部2に保持する(s5)。そして、解が得られたか否か(s6)により条件分岐を行い、Noの場合はそのまま終了する。一方、Yesの場合は、まず、制約ソルバ3から制約充足解データ32を取り出し(s7)、次に制約充足解データ32を基に分割結果データ24を生成して作業データ蓄積部2に保持する(s8)。
<画像領域分割エンジンの内部動作>
分割エンジン1の詳細な機能構成を図3に示す。分割エンジン1は、前述した制約モデル生成部11及び充足結果解釈部12とともに、制約モデル生成部11で生成された制約モデルデータを制約ソルバ3に渡し、制約ソルバ3から返却される解探索の実行結果及び/又は制約充足解データを受け取り、充足結果解釈部12へ渡す制約ソルバ制御部13を備えて構成されている。さらに、制約モデル生成部11は、画像マッチング部11aと、矩形間制約生成部11bと、矩形内制約生成部11cと、評価関数制約生成部11dからとなり、また、充足結果解釈部12は、分割成否情報生成部12aと、分割結果データ生成部12bとからなる。
分割エンジン1の詳細な内部の動作フローを図4−1〜−4に示す。
分割エンジン1は、外部から分割ルールデータ21及び分割対象画像データ22を入力として受け取る(s11)。
まず、分割対象画像データ22に対し、分割ルールデータ21に含まれる画像断片オブジェクト21cについてテンプレートマッチング処理を実行し、画像断片の座標位置を計算し、当該画像断片と関連付けられた目標位置X1t,X2t,Y1t,Y2tとして記憶する。これは画像マッチング部11aで行われる(s12)。
次に、分割ルールデータ21を基に制約モデルデータ31を以下の手順で生成する。
まず、制約モデルデータ31のコンテナオブジェクトを生成する(s13)。以下ではこの制約モデルデータのコンテナオブジェクトを単に「モデルオブジェクト」と呼ぶ。
次に、矩形間制約生成部11bを呼び出して以下の処理を行う(s14)(図4−2)。
各分割矩形r(n)に対応して、その四隅の座標位置X(2n+0),X(2n+1),Y(2n+0),Y(2n+1)の制約変数オブジェクト31aを生成し、前記モデルオブジェクトに登録する(s31)。そして各レイヤに対応して、それに属する分割矩形の全ての座標位置をX軸方向、Y軸方向それぞれについて初期値でソートし(s32)、それらの順序が保存されるような不等号制約を与える制約条件オブジェクト31bを生成し、モデルオブジェクトに登録する(s33,s34)。
X軸方向についていえば、あるレイヤLに属する分割矩形r(1),r(2),…,r(n)について、制約変数オブジェクト31aの集合{X(0),X(1),…,X(2n+1)}が得られる。各要素の初期値Vをソートした数列V(f(0)),V(f(1)),…,V(f(2n+1))の順序が保存されるような不等号制約
X(f(0))<X(f(1))<…<X(f(2n+1))
の制約条件オブジェクト31bを生成する。ここで、X(i)の初期値はV(i)であり、ソート後のインデックスの順序が保存されるように、下記の疑似コードの要領で制約オブジェクトを生成すれば良い。
for(i=0;i<2n+1;i++){
makeconstraint "X(f(i))<X(f(i+1))"

但し、V(f(i))=V(f(i+1))の場合は、上記擬似コードの処理の前に予め変数X(f(i+1))を不等号制約の生成対象から除外し、代わりにX(f(i))=X(f(i+1))の制約条件オブジェクト31bを生成するものとする。
なおこのとき、個々の分割矩形の内部での辺の位置関係についての条件X1<X2,Y1<Y2を満たすように、予め初期値が与えられることを保証すれば、辺の位置関係についての条件が制約条件として含まれることになる。初期値に対するこの保証は、ルールエディタにおける入力値チェックにより担保される。また、ここではX方向のみについて記載したが、同様の内容をY方向についても処理する(s35〜s37)。
次に、矩形内制約生成部11cを呼び出して以下の処理を行う(s15)(図4−3)。
各分割矩形内部での制約条件を生成する。制約モデルデータの生成は、
1.最大サイズのフラグが有効であれば、Xmax>X2−X1を生成(s41,s51)
2.最小サイズのフラグが有効であれば、Xmin<X2−X1を生成(s42,s52)
3.推奨サイズのフラグが有効であれば、Xpre=X2−X1−Dxppを生成(s43,s53)
4.推奨位置のフラグが有効であれば、X1=X1p−Dx1p,X2=X2p−Dx2pを生成(s44,s54)
5.当該の分割矩形が画像断片と関連付けられている場合は、X1=X1t,X2=X2tを生成(s49,s59)
について行えば良い。
ここで、Dxpp,Dx1p,Dx2pは目的変数であり、これらは制約変数のリストDlistを作成して追加しておき、制約モデル生成の最後に解全体の最適度を表す目的関数の定義に用いる。また、X1t,X2tは先に記憶した目的位置である。これらはテンプレートマッチングの結果、固定的に指定される位置として制約条件オブジェクトとして生成される。また、ここではX方向のみについて記載したが、同様の内容をY方向についても処理する(s45,s55),(s46,s56),(s47,s57),(s48,s58),(s49,s59)。
次に、評価関数制約生成部11dを呼び出して以下の処理を行う(s16)(図4−4)。
前述した制約変数のリストDlist内の各要素Dx1p,Dx2p,Dxpp,Dy1p,Dy2p,Dyppについてそれぞれ、重みWdx1,Wdx2,Wdxpp,Wdy1,Wdy2,Wdypp付きの新たな制約変数を作成し、制約変数のリストDlist2に追加して(s61〜s66,s71〜s76)、これらの総和で表される、解全体の最適度を表す目的関数の評価値としての制約変数(制約条件オブジェクト)Dallを生成する(s77)。
Dall=Wdx1Σ|Dx1p|+Wdx2Σ|Dx2p|+WdxppΣ|Dxpp|
+Wdy1Σ|Dy1p|+Wdy2Σ|Dy2p|+WdyppΣ|Dypp|
なお、上記において重みWdx1とWdx2,Wdy1とWdy2は通常、同じ値である。また、Wdx1とWdy1は、XY方向について推奨位置の強制力が同じであれば同じ値とすれば良い。さらに、推奨サイズと推奨位置の強制力の比が同じであれば同じ値とすれば良い。以上は評価関数制約生成部11dで行われる。
これらの各処理部は、制約モデル生成部11として統括されている。
さらに、分割エンジン1は、制約モデル生成部11で生成した制約モデルデータ31を制約ソルバ3に入力し、制約ソルバ3を起動するが、このとき、Dallが最小となる解を探索するようオプション指定を行う(s17,s18)。探索が終了し、制約ソルバ3から探索で解が得られたかどうかの成否(実行結果)及び当該の充足解データ32を取り出したら、作業データ蓄積部2に設定するためのデータを生成する(s19)。以上の全体的処理の流れは、制約ソルバ制御部13で行われる。
分割エンジン1は、分割成否情報生成部12aを呼び出し、解が得られたかどうかの成否から分割成否データ23を生成し、作業データ蓄積部2に登録する(s20)。そして、分割に成功した場合は、分割結果データ生成部12bを呼び出し、当該の解(制約を充足するよう割り当てられた各変数の値)を基に、分割矩形データ(分割結果データ)24を生成し、作業データ蓄積部2に登録する(s21)。
これらの各処理部は、充足結果解釈部12として統括されている。
<ルール記述と実行方式>
〈説明上の用語定義と概念の説明〉
上記<画像領域分割エンジンの使用形態>、<「画像領域分割エンジンの内部動作>では本発明を具体的に実行する方法を説明したが、本発明の目的である画像領域の分割がこの方法の上で不足なく十分に達成されることを次に説明する。ポイントは、幾何制約条件をシンプルな種類に限定し、制約モデルデータ上の図形要素を単一に限定することによって、ユーザが求める、多様な画像領域分割の方法を制限することなく、同時に制約充足処理の負荷を効果的に低減する点である。
まず、画像領域分割の方法をユーザが指定する場合の考え方の基本要素となる、分割矩形の概念を定義する。図5は矩形に関する呼称の定義を示すもので、同図(a)に示すように分割矩形の各頂点のX,Y座標を
(X1,Y1)左上,(X1,Y2)左下,
(X2,Y2)右下,(X2,Y1)右上
のように表す。
また、同図(b)に示すように矩形の四辺を左辺、右辺、上辺、下辺と呼び、左辺と右辺のことを垂直辺、上辺と下辺のことを水平辺と呼ぶこととする。垂直辺の両端の頂点は共通のX座標値を有する。同様に水平辺の両端の頂点は共通のY座標値を有する。即ち、同図(c)に示すように
X1:左辺のX座標上の位置
X2:右辺のX座標上の位置
Y1:上辺のY座標上の位置
Y2:下辺のY座標上の位置
ということがいえる。
分割矩形は初期状態における相互の位置関係について、以下の条件を満足する範囲で座標値を移動できると考え(矩形間制約生成部11bで扱われる)、後述するそのほかの制約条件を考慮しながら(矩形内制約生成部11cで扱われる)、最も評価値の高い(即ちDallが小さい)位置関係を計算し(評価関数制約生成部11dで扱われる)、これを画像領域分割の結果として出力する。
まず、矩形間制約生成部11bでは、分割矩形の相互の座標値によって以下の条件を満足するものとする。
分割矩形の左辺と右辺は初期状態の順序関係から入れ替わらないものとする。同様に上辺と下辺は入れ替わらないものとする。即ち、1つの矩形において相対する辺の間には、
X1<X2,Y1<Y2
の関係が常に成り立つものとする。
同じレイヤに所属する分割矩形間には以下の関係がある。
矩形Aの垂直辺と矩形Bの垂直辺は初期状態の順序関係から入れ替わらないものとする。同様に矩形Aの水平辺と矩形Bの水平辺は入れ替わらないものとする。即ち、矩形Aの垂直辺の座標位置をXa、矩形Bの垂直辺の座標位置をXbとすると、
Xa<Xb
の関係が常に成り立つものとする。
なおここで、垂直辺とは、Xa1,Xa2,Xb1,Xb2の4辺の全てをさし、初期状態の順序関係が例えば、Xa1<Xb1<Xb2<Xa2の場合は、領域分割結果においてもこの関係を維持するように位置を調整する。2矩形間の位置関係としては、外にXa1<Xb1<Xa2<Xb2,Xa1<Xa2<Xb1<Xb2,Xb1<Xa1<Xa2<Xb2,Xb1<Xa1<Xb2<Xa2,Xb1<Xb2<Xa1<Xa2があり、全部で6通りとなる。
任意数の矩形間の位置制約は、上記と同様の考え方で位置を調整する。実際の分割矩形をユーザが意図したように位置調整させるには、単純に上記を適用するのでは制約が強すぎ、単純な領域パターンしか扱うことができない。そこで、上記をユーザが指定した矩形グループに対して適用するようにしたのがレイヤの考え方である。各矩形は任意数のレイヤに所属できるようにすることで、複雑な相互位置制約を定義することができる。
以上は、後述の〈位置前後関係制約〉に対応する。
一方、矩形内制約生成部11cでは、
1.矩形のサイズの最大最小.〈サイズ制限制約〉に対応
2.矩形のサイズの推奨値.〈サイズ推奨制約〉に対応
3.矩形の位置の推奨値(初期位置からの移動量).〈位置推奨制約〉に対応
4.矩形の位置の固定値
の調整要素が扱われる。
これら、矩形間制約と矩形内制約は、一見アドホックな制約を選択したように見えるが、分割矩形の考え方を制約モデルとして表現する上で必要な条件を網羅している。これは次のように考えると明らかである。矩形については、位置とサイズの2つの観点がある。各観点について、固定値指定、最大最小指定、推奨値指定の3種類のカテゴリが考えられ、以下に示すように漏れなく対応している。
位置―固定値指定:
「4.矩形の位置の固定値」
位置―最大最小指定:
矩形同士の位置関係指定により同等の指定が可能
位置―推奨値指定:
「3.矩形の位置の推奨値」
サイズ―固定値指定:
「1.矩形のサイズの最大最小」で最大=最小の指定が可能
サイズ―最大最小指定:
「1.矩形のサイズの最大最小」
サイズ―推奨値指定:
「2.矩形のサイズの推奨値」
また、各観点、各指定カテゴリには、有効・無効の切り替えの概念があることで、ユーザの指定方法の自由度が高くなる。それぞれについては、以下に示すように漏れなく対応している。
位置―固定値指定の有効無効:
分割矩形と画像断片の対応の有無により指定が可能
位置―最大最小指定の有効無効:
矩形同士の位置関係とレイヤの帰属関係により同等の指定が可能
位置―推奨値指定の有効無効:
位置推奨値フラグにより指定が可能
サイズ―固定値指定の有効無効:
サイズ―最大最小を最大=最小とするか否かで指定が可能
サイズ―最大最小指定の有効無効:
サイズ最大最小フラグにより指定が可能
サイズ―推奨値指定の有効無効:
サイズ推奨値フラグにより指定が可能
幾何制約で一般的に指定可能な方法については、上記を組み合わせて代用可能である。事例を以下に示す。
位置の固定値を絶対座標で指定する:ウィンドウ4隅の画像断片を作成し、これと外接する矩形を定義する。左上を原点とするのであれば、この左上隅に内接する別の矩形を作成し、サイズの固定指定をすれば、右下隅の位置が当該の指定に相当する。なお、これらが所属する新たなレイヤを作成し、この中で矩形間制約が働くようにすれば、他の矩形の制約に影響を及ぼすことはない。一般的な幾何制約では絶対座標系や相対座標系を導入し、専用の制約指定を行うが、その必要がない。
2矩形間の横方向の距離の推奨値を指定する:矩形A,Bの互いに近い側の垂直辺に接する別の矩形Cを作成し、X方向のサイズの推奨指定をすれば、矩形A,Bに働く制約が当該の指定に相当する。なお、矩形A,B,Cが所属する新たなレイヤを作成し、この中で矩形間制約が働くようにすれば、A,Bが関係する他の矩形との制約に影響を及ぼすことはない。一般的な幾何制約では寸法や距離の要素を導入し、この要素のためのルールデータ形式の拡張やルール入力手段の提供を行うが、その必要がない。
以下では、上記の考え方を基に、具体的な分割ルールデータの定義形式(データ定義)、分割ルールデータの定義方法(作成・編集手段)を説明する。
<画像領域分割ルールデータの概要>
分割ルールデータ21は、分割矩形情報(オブジェクト)21a、分割レイヤ情報(オブジェクト)21b及び画像断片情報(オブジェクト)21cを要素とする。
分割ルールデータ21上で中心的役割をはたすのは、分割矩形情報21aである。分割矩形情報21aは、
・分割矩形は外形(四隅の座標位置)について初期座標を指定する、
・分割矩形は外形(四隅の座標位置)について推奨座標を指定できる、
・各推奨座標については、有効フラグが設けられ有効無効を指定する、
・分割矩形はサイズ(縦と横の寸法値)について長さの最大値、最小値、推奨値を指定できる、
・各長さの最大値、最小値、推奨値については、それぞれ有効フラグが設けられ有効無効を指定する、
という属性値を有し、ユーザが指定する。
また、分割ルールデータ21の要素の種類間は、
・分割矩形情報は1つ以上の分割レイヤ情報と対応づけられる、
・分割矩形情報は0又は1つの画像断片情報と対応づけられる、
という関係を有し、ユーザが指定する。
<分割ルールデータによる領域分割の指定方法>
〈ユーザの操作方法と操作画面〉
ユーザは、複数の分割矩形オブジェクトを対話的図形編集パネル上で生成して配置し、分割エンジン1に出力させたい分割の内容を指定する。このとき、編集パネルの背景に分割対象のキャプチャ画像を表示することで、実際のウィンドウの画像を基に直感的に分割矩形を配置し、指定内容を吟味することができる。ここでの配置情報は、分割矩形の外形初期値、外形推奨値として保持する。また、外形初期値と外形推奨値は後述するように実際上、別々に入力する必要性は低いので、デフォルトで同一の値として扱うことで編集を効率化・簡略化することができる。必要な場合は所定のチェックボックスをオンに設定すると、外形初期値と外形推奨値がそれぞれ異なる色の矩形で表示され、図形的に同時に閲覧できるとともに、それらに対して対話的図形編集を行うことで直感的に値を設定することができる。
ユーザは、対話的図形編集パネル上で分割矩形を選択し、詳細表示パネル上で外形とサイズに関する各種の属性値を閲覧・編集する。このとき、分割矩形を選択した上で定められたアクション(詳細表示ボタンを押下、あるいはマウスボタンのダブルクリックなど)を契機に詳細表示パネルを開くことができる。また、詳細表示パネル上での閲覧・編集を補助する機能として、所定のチェックボックスをオンに設定すると、最大矩形、最小矩形、推奨矩形がそれぞれ異なる色の矩形で表示され、図形的に同時に閲覧できるとともに、それらに対して対話的図形編集を行うことで直感的に値を設定することができる。
ユーザは、対話的図形編集パネル上でのレイヤ表示機能により、分割矩形とレイヤの関係を閲覧・編集し、指定する。新しいレイヤの生成や不要な画像断片の削除もこの中で行う。
ユーザは、対話的図形編集パネル上での画像断片操作機能により、分割矩形と画像断片の関係を閲覧・編集し、指定する。新しい画像断片の生成や不要な画像断片の削除もこの中で行う。
〈制約モデル生成部(生成機能)〉
分割処理を起動すると、分割エンジン1は分割ルールデータを受け取り、次の処理を行う。
・制約ライブラリ上の制約モデルオブジェクト(制約条件オブジェクトの集合)を生成する。
・上記オブジェクトに対し、分割矩形相互の相対的な位置関係の制約条件オブジェクトを生成・登録する。
・上記オブジェクトに対し、分割矩形自身の推奨される位置の制約条件オブジェクトを生成・登録する。
・上記オブジェクトに対し、分割矩形自身の推奨される最大サイズ、最小サイズ、推奨サイズの制約条件オブジェクトを生成・登録する。
〈制約ソルバ制御部(生成機能・解釈機能)、充足結果解釈部(解釈機能)〉
・制約ライブラリ上の制約ソルバオブジェクトを生成する。
・ソルバオブジェクトに対し、制約モデルオブジェクトを登録する。
・ソルバオブジェクトの探索処理を起動し、返却を待機する。
・返却を受け取り、探索の結果として解が得られた場合は、その内容を分割矩形オブジェクトの結果値に反映し、探索結果をtrueにした上で共に返却する。得られなかった場合は、探索結果をfalseにした上で返却する。
<分割ルールからのオブジェクトの生成処理>
〈制約モデルオブジェクト(制約条件オブジェクトの集合)の作成〉
分割エンジン1は、分割矩形をX方向、Y方向の各座標軸方向について、それぞれ独立に処理する。以下ではX方向について記述する。Y方向についても同様の処理が実行される。
〈位置前後関係制約〉
同じレイヤに属する複数の分割矩形同士の初期値における相対位置が保存されるように、相互の位置関係制約を付与する。即ち、それぞれの四隅(矩形がN個の場合、合計4×N個の頂点)の座標値の大小関係(座標軸方向の前後関係)が保存されるように不等号制約条件オブジェクトを生成・登録する。具体的には、
Xi<Xj(但し、IXi<IXjのとき)
の関係の各制約変数に与える。
但し、IXi,IXjはそれぞれXi,Xjの初期値である。i,jは初期値におけるX座標値によるソートにより得られる順に割り当てられたインデックスであるとすると、Xi<Xi+1の制約条件オブジェクトを生成すれば済む。
また、相対位置の特殊な場合として、分割矩形同士の辺が重なる場合もその関係が保存されるように位置関係制約を付与する。即ち、それぞれの四隅(矩形がN個の場合、合計4×N個の頂点)の座標値の同値関係(座標軸方向の重畳関係)が保存されるように等号制約条件オブジェクトを生成・登録する。具体的には、
Xi=Xj(但し、IXi=IXjのとき)
の関係の各制約変数に与える。
〈サイズ制限制約〉
帰属するレイヤに関係なく、全ての分割矩形はそれぞれの単位でサイズに関する制約を付与する。具体的には、それぞれの長さ(X2−X1)の最大値、最小値が制限されるように不等号制約条件オブジェクトを生成・登録する。具体的には、
Xmax>X2−X1
Xmin<X2−X1
の関係を各制約変数に与える。
〈位置推奨制約〉
帰属するレイヤに関係なく、全ての分割矩形はそれぞれ指定された推奨位置にできるだけ近くなるように、自身の位置推奨制約を付与する。具体的には、
|X1−X1p|=Dx1p
|X2−X2p|=Dx2p
の関係を各制約変数に与える。Dx1p,Dx2pは目的変数である。
〈サイズ推奨制約〉
帰属するレイヤに関係なく、全ての分割矩形はそれぞれの単位で指定された推奨サイズにできるだけ近くなるように、自身のサイズ推奨制約を付与する。具体的には、
|X2−X1−Xpre|=Dxpp
の関係を各制約変数に与える。Dxppは目的変数である。
〈制約の有効無効フラグ〉
後者3つ(サイズ制限、位置推奨、サイズ推奨)の各制約条件は、働かせないように指定することもできる。ユーザが各制約の有効フラグをfalseに指定した場合、上記制約条件モデル生成において該当する制約オブジェクト生成をスキップする。これにより、個々の分割矩形ごとに、サイズ制限を課さない場合、位置推奨を行わない場合、サイズ推奨を行わない場合のそれぞれを指定することができる。
<分割ルールのデータ形式>
以上より、分割ルールのデータ形式は以下のようになる。
1つの分割ルールデータには複数の分割矩形情報、分割レイヤ情報、画像断片情報が含まれる。具体的には、要素の個数に関して
・分割矩形の個数は、1以上システム上限値以下
・分割レイヤの個数は、1以上システム上限値以下
・画像断片の個数は、0以上システム上限値以下
の条件を満たす。
以上の形式、並びに前項までで説明した情報を内部表現したデータ形式(作業データ蓄積部のデータスキーマ)を図6−1,図6−2に示す。ここでは分割エンジンの動作に必要なその外の情報(ルール属性情報、並びに分割対象画像データ、分割成否データ、分割結果データ)も同時に示している。
また、分割矩形情報については、実施例としてのわかりやすさを優先し、以下の点でユーザが指定できる内容を簡略化している。
・分割矩形の外形(四隅の座標位置)の推奨座標の有効無効の指定は、上辺と下辺、右辺と左辺をそれぞれ同一の指定とする。即ち、X方向・Y方向の単位で指定する。
・分割矩形のX2座標の初期値はX1座標の初期値にXサイズ初期値を加えた値として換算する。Y2についても同様に換算する。
・分割矩形のX2座標の推奨値はX1座標の推奨値とXサイズ推奨値を加えた値として換算する。Y2についても同様に換算する。
なお、このように指定内容を簡略化しても、ユーザにとって指定できる分割パターンや得られる分割結果が制限されることはない。また、本来の細かい指定をした場合に対して、生成される制約条件の数は本質的に変化しないため、制約ソルバでの計算量が減少するなど機構的に有利に働くこともない。つまり、本発明の構成・動作に関係するものではない。
<ルールエディタ(メインウィンドウ)>
上記の画像領域分割ルールを定義(作成・編集)するための、具体的なユーザの作業は、ルールエディタを起動することで開始できる。これによって、ルール表示・編集のパネルを含むウィンドウが表示される。
図7にルールエディタのGUI画面(メイン)の具体例を示す。このパネル上では、分割対象画像が背景となっており、その上でユーザは一般の図形エディタと同様のマウス操作により、分割矩形(図中、破線で示す。)を生成配置・移動・リサイズ・削除することができる。この操作によって分割矩形を分割ルールの一部として入力する。分割矩形をダブルクリックで選択すると、分割矩形のパラメータ編集ウィンドウが開く。分割矩形をシングルクリックで選択すると、既に上記ウィンドウが開いている場合は、その内容が選択しているものについての情報に更新される。
<ルールエディタ(パラメータ・フラグの設定パネル)>
前記分割矩形のパラメータ編集ウィンドウとして、具体的には図8に示す、ルールエディタのGUI画面(分割矩形属性編集)が提供される。そこでは、前記で指定した分割矩形の属性の閲覧・変更や、画像断片との関連設定などができる。
まず、分割矩形を選択しているときにウィンドウ内に、サイズの最大値、最小値、推奨値の各パラメータとそれらの有効フラグとが、テキストフィールドやチェックボックスで表示される。同様に推奨の位置座標と初期の位置座標とが表示される。
また、分割矩形に画像断片を関連付けることができる。これは、「画像断片」項目の有効チェックボックスを選択状態(true)にすることにより、そのとき当該分割矩形が背景画像上において占める領域をイメージデータとして切り出し、その分割矩形のテンプレート(画像断片)として指定できる。ユーザがチェックボックスを解除状態(false)にすることにより、その分割矩形のテンプレートの指定は解除される。
既に存在する分割矩形の画像断片との関係をユーザが把握できるように、当該分割矩形を選択状態にすると、その関連付け状態によって「画像断片」項目の有効チェックボックスが更新される。また、複数の分割矩形のそれぞれの画像断片を同時に把握できるように、画像断片のイメージを背景画像上の当該分割矩形の内部に表示することが考えられる。さらに、イメージを所定の透明度で表示することにより、背景画像を隠さないようにすることが考えられる。
また、分割矩形にレイヤを関連付けることができる。これは図7に示したルールエディタのGUI画面(メイン)における分割矩形テーブルの各項目のレイヤ帰属チェックボックスの状態(選択/解除)を操作することにより指定できる。同様の指定は図9に示す、ルールエディタのGUI画面(レイヤ編集)におけるウィンドウ内のテーブルでも実施できる。
<ルールエディタ(レイヤとの関係設定パネル)>
前記分割矩形とレイヤとの関係は、具体的には図9のルールエディタのGUI画面(レイヤ編集)に示すウィンドウ内にリスト表示される。レイヤは下部のボタンにより、追加や削除ができる。リスト上のいずれかのレイヤを選択すると、そのレイヤと関連付けられた分割矩形が画面イメージ上、並びに分割矩形テーブル上でハイライト表示される。逆に画面イメージ上もしくは分割矩形テーブル上のいずれかの分割矩形を選択すると、その矩形と関連付けられたレイヤがレイヤリスト上でハイライト表示される。
ユーザはレイヤリスト上のチェックボックスを設定したり解除したりすることで、現在選択中の分割矩形がどのレイヤに属するかを変更できる。上記操作を組み合わせて表示内容を対話的に確認することで、ある分割矩形と同じレイヤに属する分割矩形がどれかを確認したり、任意の複数の分割矩形がどのレイヤを共有しているかを確認したり、といった作業を効率良く行うことができる。
<ルールエディタ(ルール属性編集ウィンドウ)>
ルールエディタ上で編集中のルールについて、属性が存在する。これら属性値を編集するウィンドウとして、具体的には図10に示すルールエディタのGUI画面(ルール属性)が提供される。ここでは、ルールを適用するウィンドウを識別するための属性として、タイトル、スタイル、クラスや、当該ウィンドウが属するプロセスのプロセス名(正確には起動プログラムファイルのパス文字列)の値を編集できる。また、ルール適用の際にどれを使用するかをチェックボックスで指定できる。
なお、ルールエディタの具体的な構成やその動作については、その機能を分割ルールだけでなく、マスクルールにまで拡張したマスクルールエディタとして後述する。
≪実施例≫
<GUI要素(ボタン)のリサイズ対応>
〈リサイズするGUI要素を扱う場合のユーザの操作方法と操作画面〉
ここでは図11に示す操作対象事例(ボタンのリサイズ)、即ちGUIの1要素であるボタンコントロールに対して、領域分割により矩形位置の特定を行う事例を考える。画像テンプレートマッチングのアルゴリズムをボタンコントロールの画像に単に適用するだけでは、予め矩形の大きさが固定的に分かっている場合にしか適用できない。
図11−1に示すように、ボタンコントロールの4隅の画像1101,1102,1103,1104とボタンキャプション(文字列「Button1」)の画像1105との5つの画像断片の位置関係を定義することにより、矩形の大きさが変化した場合にも対応できる。具体的には、4隅の画像断片に外接する分割矩形1106を定義し、その領域にキャプションの画像断片が内包される位置関係を与える。
これにより、例えば図11−2に示すように、ウィンドウのリサイズを行った場合もボタンが存在する領域を識別することができる。なお、当該ウィンドウでは「Button2」のボタンコントロールがディスエーブル(無効)の状態で、描画された画像の色が「Button1」と異なるため、画像断片はテンプレートマッチされない。
しかし、図11−3に示すように「Button2」がイネーブル(有効)の状態に変化した場合、4隅に相当する画像断片がどちらのコントロールにマッチするかは不定である。ここで、キャプションの画像断片をルールに含める理由は、実用における信頼性を高めるためである。つまり、キャプションに相当する画像断片は「Button1」にはマッチするが、「Button2」にはマッチしないため、当初与えたルールの5つの画像断片の位置関係を満足するのは、「Button1」を特定できた場合だけであることが保証される。
なお、この例において、ルールに適合した場合はButton1を特定できたことを保証できるが、その逆はいえない。ルールに適合しない場合、Button1が存在しないことを保証するためには、テンプレートマッチングアルゴリズムにおいて複数のマッチング候補を列挙する必要があり、本発明の範囲を超える要件である。ルール中に含まれる5つの画像断片へのマッチ領域が存在しながら、所定の位置関係を満足しない場合、Button1が存在するか存在しないかは不明な状況にあることだけがいえる。実用的には、判定結果不明の旨の実行ログを画像分割処理装置が出力し、ユーザが画像マスク処理ツールのバッチ実行の後で目視確認を行うなどの対応が考えられる。
以上の事例における、分割ルールのデータ内容を図12に示す。
<表(テーブル)の構造解析(パーシング)>
〈表を扱う場合のユーザの操作方法と操作画面〉
ここでは図13に示す操作対象事例(テーブルの構造が含まれるウィンドウ画面)、即ちウィンドウ画面上の表(テーブル)に対して画像領域分割を行い、所定のセル単位で分割矩形を対応付けることによってテーブル内容のパーシングを行う事例を考える。
〈表(テーブル)(カラムの増減,位置変化)への適用〉
本発明の技術では、図13−1に示すようにテーブルの四隅の画像断片1301,1302,1303,1304を用いて、まず全体的な位置決めを行うため、サイズや相対位置が実行時に変化しても適切に対応できる。具体的には、四隅の画像断片に外接する分割矩形1305を定義することで、テーブル全体の領域を識別することができる。より厳密には、内側にGUIレイアウトで指定された所定のマージンをとった領域を定義する必要があるが、これには図14に示すようなマージンの定義例を用いることで対応することができる。つまり、図13−4に示すように矩形1317,1318,1319,1320を定義し、さらに分割矩形1305とそれらが共通に帰属するレイヤを定義することで対応することができる。
また、図13−2に示すようにテーブルのヘッダの各カラムタイトルの画像断片1306,1307,1308,1309,1310を用いて、表のカラム方向の位置決めを行うため、注目しないカラムが挿入・削除されたり、注目するカラムの順序が変化したりしても、適切に対応できる。具体的には、前記の全体領域の矩形に高さ方向で内接し、注目するカラムに幅方向で外接するような、マスク領域1311を定義することで特定のカラムに表示された個人情報だけを隠蔽することができる。
そして、図13−3に示すように列方向に複数個の分割矩形を配置しておくことで、セルのY方向の位置を識別させることができる。具体的には、前記のカラムマスクを「伝票番号」カラムに対して定義(1312)し、それに内包される文字列画像「※」に相当する画像断片1314を定義し(ここではマスクするべき重要な顧客の伝票番号の末尾に「※」が表示されるシステム仕様を想定)、さらにそれに外接する、高さサイズが固定(ここではセルの高さと同じ10ピクセル)で幅方向が表の全体領域に内接する分割矩形1315を作成し、隠したいセルが存在する列方向の基準を定義する。これとは別に「項目3」のカラムマスク1313を定義し、これと列方向の基準分割矩形の両方に内接する分割矩形1316を定義することによって、セルの位置に相当する領域を特定できる。
以上の事例における、分割ルールのデータ内容を図15に示す。
<帳票(フォーム)の構造解析(パーシング)>
(テーブルに関する記述と同じ内容を一部再掲)
ここでは図16に示す操作対象事例(フォームの構造が含まれるウィンドウ画面)、即ちウィンドウ画面上の帳票(フォーム)に対して画像領域分割を行い、所定のテキストフィールド単位で分割矩形を対応付けることによってフォーム内容のパーシングを行う事例を考える。
〈帳票(フォーム)(フォーム要素の増減、位置変化)への適用〉
本発明の技術では、図16−1に示すようにフォームを含むウィンドウの四隅の画像断片を用いて、まず全体的な位置決めを行うため、サイズや相対位置が実行時に変化しても、適切に対応できる。具体的には、4隅の画像断片1601,1602,1603,1604に外接する分割矩形を定義し、これにGUIレイアウトで指定された所定のマージンをとった領域がフォーム全体の外接矩形に相当すれば、それを分割矩形1605として定義することで、フォーム全体の領域を識別することができる。
また、図16−2に示すようにフォームのアイテムの各ラベルの画像断片1606,1607,1608,1609,1610,1611,1612,1613を用いて、フォームの縦方向の位置決めを行うため、注目しないアイテムが挿入・削除されたり、注目するアイテムの順序が変化したりしても、適切に対応できる。
具体的には、他の画像上のフォームが同じアイテムの画像断片を含んでいたとしても、それぞれにアイテムに相当する矩形とそれらの帰属レイヤの指定を変えることで、意図する要件を定義することができる。例えば、(1) それらの順序が同じかどうかを見るが間に別のアイテムが存在しても同じと識別したい場合は図17−1に示すデータ内容を、また、(2) 隣接するアイテムの順列に対して同じか否かを識別したい場合は図16−4に示す分割矩形1615,1616,1617,1618,1619と図17−2に示すデータ内容を、さらにまた、(3) それらの順序を無視し単に存在するか否かを識別したい場合は図17−3に示すデータ内容を、それぞれ分割ルールとして作成しておくことで実現できる。
そして、図16−3に示すように注目するアイテム単位に横方向に隣接し、かつフォーム全体の中の横方向の所定の範囲に内接する分割矩形1614を配置しておくことで、テキストフィールドの位置をエージェントに認識させることができる。例えば、当該領域の画像断片としてテキストフィールドに文字列が何も表示されていない状態を指定することで、注目するアイテムの値が「」(空文字)となっているウィンドウを識別することができる。仮に他のアイテムの値が「」であっても、注目するアイテムとの位置関係が満足しないため、当該ルールによって誤って識別されることがない。
但し、本明細書の説明の範囲ではテンプレートマッチが複数候補に対応していないため、「」が複数存在する場合、逆が必ずしも真とはならない。即ち、当該ルールによって検知されなかったとしても、注目するアイテムの値が「」である場合はあり得る。これは本発明の範囲を超える要件である。
≪画像マスク装置の実施の形態≫
図18は本発明の画像領域分割装置を応用した画像マスクツールの実施の形態、ここでは表示装置5及び入力装置6を具備する一般的なPC(コンピュータ)7環境において実現した形態を示すもので、本画像マスクツールは、コンピュータ7のオペレーティングシステム8上に実装された画像マスク処理ツール100及びマスクルールエディタ200からなり、また、コンピュータ7のハードディスク9上にはマスクルールファイル310、バッチ指示ファイル320、画像ファイル(マスク前)330、実行ログファイル340、画像ファイル(マスク後)350が蓄積され、オペレータ(ユーザ)は複数の画像ファイル330を対象として画像マスクを行う場合に、本画像マスクツールを使用してバッチ指示により一括でマスク処理を行うことができる。
対象となる画像ファイル330は、背景技術の欄で説明したように、GUI端末の画面上の表示内容を操作タイミングにおけるアクティブウィンドウごとに画像ファイルとして保存したものである。本実施の形態の用途としては、背景技術の欄で説明した、GUI端末上でのユーザの操作履歴を取得・蓄積するエージェントが生成した画像ファイルを想定しているが、その他の用途にも適用が可能である。
市場向けの販売や企業内の業務使用のために開発されたアプリケーションやシステム(クライアントプログラム)を想定すると、他の用途としては、以下のようなものが考えられる。例えば、開発プロセスの試験工程において、テスト実施者がエビデンスとして取得した実行画像ファイルをマスク処理する場合である。あるいは、操作マニュアルや業務マニュアルの作成において、マニュアル作成者が実物のプログラムを基に画像素材として取得した実行画像ファイルをマスク処理する場合である。あるいは、プログラム使用者が作業の実施証跡として取得した実行画像ファイルをマスク処理する場合である。
画像マスク処理ツール100の使用に当たっては予めマスクルールファイルを定義しておき、それをバッチ指示で参照する必要がある。そのために、適用対象画像の代表事例をサンプルとしてマスクルールエディタ200を起動し、そのエディタ上でルールを作成・編集して、マスクルールファイル310として保存する。
<画像マスク処理ツール>
画像マスク処理ツール100の機能構成を図19に示す。画像マスク処理ツール100の内部には、分割エンジン110が含まれ、当該分割エンジン110とツール外部との間のデータ交換のために作業データ蓄積部120が配置され、また、その制御下に制約ソルバ130が組み合わせられている。また、データ入出力制御と内部処理制御のためにバッチ制御部140が配置され、さらにまた、バッチ制御部140とハードディスク9上の各ファイル(マスクルールファイルを除く)とのデータ交換のためにバッチ指示読み込み部151、対象画像読み込み部152、バッチ実行ログ出力部153及びマスク画像生成出力部154が設けられている。なお、分割エンジン110及び制約ソルバ130は機能的にそれぞれ、前述した本発明の画像領域分割装置の分割エンジン1及び制約ソルバ3と同一である。
画像マスク処理ツール100の動作フローを図20に示す。
本ツールが起動されると、バッチ制御部140は、バッチ指示読み込み部151を介してバッチ指示を読み込み、作業データ蓄積部120に保持する(s101)。バッチ制御部140は、指示内容を参照し、未処理の対象画像が存在するか否か(s102)を判定しながら、以下のループ処理を行う。
まず、画像ファイル330から対象画像読み込み部152を介して画像を1つ読み込み、作業データ蓄積部120に保持し(s103)、続いてマスクルールファイル310から当該画像に対応するルールを読み込み、作業データ蓄積部120に保持し(s104)、分割エンジン110に処理を依頼する(s105)。次に、作業データ蓄積部120の分割成否情報を参照し(s106)、これをバッチ実行ログ出力部153に渡して実行ログファイルを追記更新する(s107)。その後、解が得られたか否か(s108)を判定し、Yesの場合は作業データ蓄積部120の分割結果データと入力画像データをマスク画像生成出力部154に渡し、出力画像ファイル350を生成する(s109)。以上の処理を、未処理の対象画像がなくなるまで繰り返し実行する。
<マスクルールエディタ>
マスクルールエディタ200の機能構成を図21に示す。マスクルールエディタ200の内部には、ルール表示・編集部210が含まれ、ユーザへの対話的図形エディタを模したGUIを提供する。また、エディタの外部から読み書きするデータを保持するために作業データ蓄積部220が配置され、さらにまた、データ入出力制御と内部処理制御のためにエディタ制御部230が配置されている。
マスクルールエディタ200の動作フローを図22に示す。
エディタ200が起動されると、エディタ制御部230は、まず、ダイアログウィンドウを表示し、この上でユーザが画像ファイル(サンプル)360とルールファイル310を指定し、作業データ蓄積部220にデータを保持する(s111)。エディタ制御部230はこれ以降、ルール表示・編集部210を介してユーザとの対話的図形エディタを模したGUIからの入力を受け付け、その編集内容により分岐処理を行う(s112)。
編集内容は、
1.矩形を追加・削除(s113)
2.矩形の座標位置を変更(s114)
3.レイヤを追加・削除(s115)
4.矩形のレイヤへの帰属関係を変更(s116)
5.矩形の属性値を変更(s117)
の5種類に大別される。
編集内容ごとに、作業データ蓄積部220のルールデータ(分割ルールデータ)222が操作される。また、分岐処理において、編集の終了をユーザが指示した(s118)場合、エディタ制御部230は、上書き保存、別名保存、編集内容破棄、の選択について併せてユーザの指示を促し、必要に応じてルールデータ222をルールファイル310に追記更新する(s119)。
マスクルールエディタのGUIの実施例を前述した図7〜図10を用いて説明する。
エディタは起動時に編集対象のリポジトリファイル及びルールを問い合わせるダイアログウィンドウを表示するなどして、ユーザに指定を促す。図7に示すように、ここで指定されたリポジトリ及びルールを識別する名称がメインウィンドウの左上に表示される。起動後に指定を変更する場合、ユーザは、リポジトリファイルの再度指定をファイルメニューから実行したり、リポジトリ内のルールの再度選択をルール名称テキストフィールドの右横のコンボボタンから実行することができる。
また、右側の編集対象画像パネルには、編集対象のサンプルとして任意のウィンドウ画像を表示できる。ユーザは、エディタ起動時のダイアログウィンドウか「ウィンドウメニュー」から表示させる画像ファイルを指定できる。
編集対象のルール内の全ての分割矩形データは左中段の分割矩形テーブルに表示される。また、右側の編集対象画像パネルにも全ての分割矩形データがそれぞれの座標値に応じて可視化表示される。当該パネルの図形の背景に、先に指定した編集対象ウィンドウ画像が表示されるため、ユーザはサンプルの画像内容と分割矩形データとの位置の対応が直接把握でき、図形の編集を直感的に行うことができる。分割矩形テーブル上で任意の行を選択すると、それに対応した図形がハイライト表示され、また、編集対象画像パネル上で図形を選択すると、それに対応した行がハイライト表示される。
ユーザは当該ウィンドウの「ウィンドウ」メニューから、他の補助ウィンドウを開いてマスクルール(分割ルール)を編集することもできる。即ち、図8に示した分割矩形属性編集ウィンドウを開くことにより、メインウィンドウ上の分割矩形テーブル又は編集対象画像パネル上で選択されている分割矩形についての属性データ等を表示・編集できる。また、図9に示したレイヤ編集ウィンドウを開くことにより、ルール内のレイヤ情報を表示・編集できる。さらに図10のルール属性編集ウィンドウを開くことにより、現在編集中のルール自体の属性情報を表示・編集できる。
<内部要素同士の相対位置関係による識別の処理事例>
相対位置関係の課題(その2:内部要素同士の相対位置関係による識別)で挙げたマスクパターンの種別の特定について、実際の処理事例を説明する。図23−1〜−4に示すウィンドウ1〜4に対して、画像マスクツールを適用する場合を想定する。
従来技術によると、ツールに入力された複数のウィンドウ画像をウィンドウタイトルで識別することが容易に考えられる。実際、図6−1,−2に示した作業データ蓄積部のデータスキーマにおいて、「分割ルールデータ」の「ルール属性情報」のキーバリューセットの形式で、当該ルールに編集対象ウィンドウの属性値などを記憶しておき、さらにウィンドウ画像データのファイル名にウィンドウタイトルなどの属性値を文字列エンコードするなどにより簡易に属性値との対応を保持することで、単純にウィンドウ画像の属性値とルールの属性値が一定の条件を満たすかどうかを基に、適用すべきルールを決定する方法が考えられる。
しかしながら、図23−1〜−4に示したウィンドウ1〜4はウィンドウタイトルに編集対象の伝票番号が含まれるため、単純な文字列一致判定では対応できない。また、アプリケーションの仕様に基づいて、ウィンドウタイトルの文字列部分の一致判定や正規表現判定などを用いることで、適合化を図ることは考えられるが、ユーザが通常行うような、ウィンドウの画像の見た目を基にした判断を行うことができれば、よりユーザの認識に近い基準でのルールの記述や判定結果の提示が可能となる。
これに対して本発明では、ルールをマスク領域の特定用とは別に、ウィンドウ種別の特定用のものを用意し、それらを対象画像に適用してみて、制約条件を満足する解が存在するかどうかで、探しているウィンドウか否かを判定することができる。
具体的には、図17−1〜−3についてそれぞれ「1672」の画像断片データを除去したもの(分割矩形1614「注目欄」のテンプレートマッチ対象を削除し、座標位置に関する制約を除去したもの)を新たに、ウィンドウ種別特定用ルールとして保持し、対象画像に対して順次適用する。図17−1は、ウィンドウ1,2について解が存在し、図17−2は、ウィンドウ1について解が存在し、図17−3は、ウィンドウ1,2,3について解が存在する。このように、内部要素同士の相対位置関係に関するルールによって画像内容を識別することができる。
なお、実際に多種類のウィンドウ画像を扱う場合、全く異なるアプリケーションの関係ないウィンドウにまで、全ての種別特定ルールを適用すると処理負荷が大きくなるため、ウィンドウタイトルの部分一致条件として、図17−1〜−3の種別特定ルールが保持する「タイトル部分文字列」属性に「伝票情報」の値を設定しておき、当該属性値にタイトルが部分一致するウィンドウ画像だけについて、これら種別特定ルールを適用し、厳密な判定をすることが考えられる。しかしながら、この事前処理は従来技術の説明で述べたものと異なり、処理負荷の軽減のためのものであり、仮に実施しなくても処理結果への本質的な影響を及ぼすものではない。
例えば、ルールセットの開発途中で「タイトル部分文字列」属性に「伝票情報編集」の値を指定すると、ウィンドウ3を事前処理で誤ってフィルタリングで除外してしまうことに気付いたとする(ウィンドウ3ではウィンドウ1や2に対してウィンドウタイトルが異なっているが、マスク対象としては同類と判定させたい。)。この場合、タイトルの判定で自明なフィルタリングだけを行うために、事前処理では「伝票情報」と部分一致するものはフィルタリングで除外しない考え方をとる。これによってフィルタリングは緩くなるが、画像内容で識別する本発明の処理が最終的な判定を行うため、識別結果への影響はない。
さらに他の例えとして、ウィンドウ4が入力される可能性があっても、本発明の処理によれば画像内容によって正しく識別(ウィンドウ4は探しているウィンドウではないという判定)ができる。タイトルによる判定だけでは、「伝票情報編集」でも「伝票情報」でも正しく判定できない(ウィンドウ4ではウィンドウ1や2に対してウィンドウタイトルに違いがないが、マスク対象としては同類ではないと判定させたい。)。この場合、タイトルによる判定は、それによって自明なフィルタリングを行い処理効率が向上できる場合に利用するという考え方をとる。即ち、ウィンドウ4についてはタイトルによるフィルタリングは通ってしまうが、画像内容で識別する本発明の処理が最終的な判定を行うため、識別結果への影響がない。
このように本発明に基づいた構成によると、ユーザが識別したい観点を間接的にしか反映しない部分(ウィンドウタイトルがどのような文字列になるかはアプリケーション仕様に依存し、ウィンドウのどの領域をマスクすべきかの種類を直接的には反映していない)は補助的に用い、ユーザが識別したい観点を直接的に反映する部分(ウィンドウ画像内容)を基に判定できるメリットがある。
なお、本発明に基づいた構成、即ちマスク領域の特定用ルールとウィンドウ種別の特定用ルールの2種類を利用する実装としては、例えば以下が考えられる。まず、各ルールはルール属性「ルールID」にユニークなID値を保持し、さらに2種類のいずれかを表すルール属性「ルール種別」に「領域特定」か「種別特定」を保持する。また、各ルールは「条件部ルールID」と「実行部ルールID」の属性を保持する。ルール適用処理は、リポジトリの所定のルール優先順位で「条件部ルールID」が空であるルールデータを取り出し、「ルール種別」が「種別特定」であれば、それを適用した結果によって、「実行部ルールID」に対応するルールデータを順次取り出して、「領域特定」ルールに到達するまで再帰的に処理を繰り返す。これにより、種別特定と領域特定が組み合わされた複雑な画像内容判定を柔軟に定義・処理することができる。
なお、本発明の装置はコンピュータとプログラムによっても実現でき、当該プログラムは記録媒体に記録して提供することも、ネットワークを通じて提供することも可能である。
1:画像領域分割エンジン(分割エンジン)、2:作業データ蓄積部、3:制約ソルバ、4:上位機能制御部、5:表示装置、6:入力装置、7:コンピュータ、8:オペレーティングシステム、9:ハードディスク、
11:制約モデル生成部、11a:画像マッチング部、11b:矩形間制約生成部、11c:矩形内制約生成部、11d:評価関数制約生成部、12:充足結果解釈部、12a:分割成否情報生成部、12b:分割結果データ生成部、13:制約ソルバ制御部、
21:分割ルールデータ、22:分割対象画像データ、23:分割成否データ、24:分割結果データ、
31:制約モデルデータ、32:制約充足解データ、
100:画像マスク処理ツール、110:分割エンジン、120:作業データ蓄積部、130:制約ソルバ、140:バッチ制御部、151:バッチ指示読み込み部、152:対象画像読み込み部、153:バッチ実行ログ出力部、154:マスク画像生成出力部、
200:マスクルールエディタ、210:ルール表示・編集部、220:作業データ蓄積部、230:エディタ制御部、
310:マスクルールファイル、320:バッチ指示ファイル、330:画像ファイル(マスク前)、340:実行ログファイル、350:画像ファイル(マスク後)、360:画像ファイル(サンプル)。
行天 啓二、馬場口 登「制約充足型文字領域抽出の基礎検討」、電子情報通信学会技術報告、第92巻、第434号、社団法人電子情報通信学会、1993年、第9〜16頁

Claims (8)

  1. GUIの画像データを入力とし、予め指定された画像領域分割ルールデータを参照することによって当該画像データを領域分割し、その領域分割した分割矩形データを出力する画像領域分割装置であって、
    分割矩形とレイヤとを含む画像領域分割ルールデータを蓄積する画像領域分割ルールデータベースと、与えられた制約充足問題に対応する制約充足解を探索する制約ソルバと、画像領域分割エンジンとを少なくとも備え、
    前記画像領域分割エンジンは
    入力された前記画像データに対応する画像領域分割ルールデータを画像領域分割ルールデータベースから取り出し、当該画像領域分割ルールデータから前記制約ソルバに入力する制約モデルデータを生成する制約モデル生成部と、
    前記制約モデルデータを制約充足問題として前記制約ソルバに渡して制約充足解の探索を命令し、前記制約ソルバから返却された前記制約モデルデータに対応する制約充足解データを受け取る制約ソルバ制御部と、
    前記制約充足解データから前記分割矩形データを生成する充足結果解釈部と
    を具備し、
    前記制約モデル生成部は、
    同じ前記レイヤに属する複数の前記分割矩形同士の初期値における相対位置が保存されるように相互の位置関係を付与する矩形間制約条件を生成する矩形間制約生成部を具備し、
    前記矩形間制約条件に基づいて、前記制約モデルデータを生成することを特徴とする画像領域分割装置。
  2. 前記制約モデル生成部は、
    前記分割矩形のそれぞれに対し、最大サイズ、最小サイズ、推奨サイズからのずれ、および推奨位置からのずれのそれぞれについて、その有効無効の属性を表すフラグ値を基に、矩形内制約条件を生成する矩形内制約生成部と、
    前記矩形内制約条件に基づいて、解全体の最適度を表す目的関数の評価値としての制約変数を含む評価関数制約条件を生成する評価関数制約生成部と
    をさらに具備し、
    前記矩形間制約条件と、前記矩形内制約条件および前記評価関数制約条件の少なくとも一方とに基づいて、前記制約モデルデータを生成することを特徴とする請求項1に記載の画像領域分割装置。
  3. 前記画像領域分割ルールデータは、画像断片をさらに含み
    前記制約モデル生成部は、
    前記画像データに対して、前記分割矩形をテンプレートマッチ対象とするか否かの属性を表すフラグ値を基に、前記画像断片とのテンプレートマッチング処理を実行し、当該画像断片の座標位置を計算し、当該画像断片と関連付けられた目標位置として記憶する画像マッチング部をさらに具備し、
    前記矩形内制約生成部は、
    前記画像断片と関連付けられている前記分割矩形に対し、その位置を前記目標位置に固定的に一致させる矩形内制約条件を生成す
    ことを特徴とする請求項2に記載の画像領域分割装置。
  4. 図形エディタを模したウィンドウとともに、図形の選択操作によって当該図形の属性値を表示・変更するパネル及び当該図形とそれが帰属するレイヤとの関係を表示・変更するパネルを具備し、ユーザからの操作に従って前記画像領域分割ルールデータを作成・編集するルールエディタをさらに備え、
    前記ルールエディタは、
    前記ウィンドウ上で分割矩形を図形として可視化表示し、前記ウィンドウもしくはパネルに対するユーザからの操作に応じて前記画像領域分割ルールデータを編集するルール表示・編集部を少なくとも具備する
    ことを特徴とする請求項1乃至3のいずれかに記載の画像領域分割装置。
  5. 前記ルールエディタは
    前記画像領域分割ルールデータベースに蓄積された画像領域分割ルールデータのうち、ユーザから指定された画像領域分割ルールデータを前記ルール表示・編集部へ送るとともに、前記ルール表示・編集部により編集された画像領域分割ルールデータを前記画像領域分割ルールデータベースに追記更新するエディタ制御部をさらに具備する
    ことを特徴とする請求項4に記載の画像領域分割装置。
  6. GUIの画像データを入力とし、予め指定された画像領域分割ルールデータを参照することによって当該画像データを領域分割し、その領域分割した分割矩形データを出力する画像領域分割方法であって、
    分割矩形とレイヤとを含む画像領域分割ルールデータを蓄積する画像領域分割ルールデータベースと、与えられた制約充足問題に対応する制約充足解を探索する制約ソルバと、画像領域分割エンジンとを少なくとも用い、
    前記画像領域分割エンジンにより、
    入力された前記画像データに対応する画像領域分割ルールデータを画像領域分割ルールデータベースから取り出し、当該画像領域分割ルールデータから前記制約ソルバに入力する制約モデルデータを生成し、
    前記制約モデルデータを制約充足問題として前記制約ソルバに渡して制約充足解の探索を命令し、前記制約ソルバから返却された前記制約モデルデータに対応する制約充足解データを受け取り、
    前記制約充足解データから前記分割矩形データを生成し、
    前記制約モデルの生成では、
    同じ前記レイヤに属する複数の前記分割矩形同士の初期値における相対位置が保存されるように相互の位置関係を付与する矩形間制約条件を生成し、
    前記矩形間制約条件に基づいて、前記制約モデルデータを生成する、
    ことを特徴とする画像領域分割方法。
  7. 前記制約モデルの生成では、
    前記分割矩形のそれぞれに対し、最大サイズ、最小サイズ、推奨サイズからのずれ、および推奨位置からのずれのそれぞれについて、その有効無効の属性を表すフラグ値を基に、矩形内制約条件をさらに生成し、
    前記矩形内制約条件に基づいて、解全体の最適度を表す目的関数の評価値としての制約変数を含む評価関数制約条件をさらに生成し、
    前記矩形間制約条件と、前記矩形内制約条件および前記評価関数制約条件の少なくとも一方とに基づいて、前記制約モデルデータを生成する、
    ことを特徴とする請求項6に記載の画像領域分割方法。
  8. コンピュータを、請求項1乃至5のいずれかに記載の画像領域分割装置の各手段として機能させるためのプログラム。
JP2012150459A 2012-07-04 2012-07-04 画像領域分割装置、その方法及びプログラム Active JP5791115B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012150459A JP5791115B2 (ja) 2012-07-04 2012-07-04 画像領域分割装置、その方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012150459A JP5791115B2 (ja) 2012-07-04 2012-07-04 画像領域分割装置、その方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014013490A JP2014013490A (ja) 2014-01-23
JP5791115B2 true JP5791115B2 (ja) 2015-10-07

Family

ID=50109140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012150459A Active JP5791115B2 (ja) 2012-07-04 2012-07-04 画像領域分割装置、その方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5791115B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016092605A1 (ja) * 2014-12-08 2016-06-16 株式会社日立製作所 制約充足解探索装置および制約充足解探索方法
US11301109B1 (en) * 2021-03-05 2022-04-12 Citrix Systems, Inc. Computing device with new window creation command and related systems and methods

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001118030A (ja) * 1991-10-28 2001-04-27 Hitachi Ltd 書式データ編集方法および装置
JP3504054B2 (ja) * 1995-07-17 2004-03-08 株式会社東芝 文書処理装置および文書処理方法
JP3598711B2 (ja) * 1997-02-21 2004-12-08 三菱電機株式会社 文書ファイリング装置
JP2001101164A (ja) * 1999-09-29 2001-04-13 Toshiba Corp 文書画像処理装置及び文書画像処理方法
JP3870672B2 (ja) * 2000-06-29 2007-01-24 三菱電機株式会社 文書ファイリング装置
JP2003288334A (ja) * 2002-03-28 2003-10-10 Toshiba Corp 文書処理装置及び文書処理方法

Also Published As

Publication number Publication date
JP2014013490A (ja) 2014-01-23

Similar Documents

Publication Publication Date Title
AU2022206714B2 (en) System and method for implementing containers which extract and apply semantic page knowledge
US7873946B2 (en) Scalable vector graphics, tree and tab as drag and drop objects
US8910064B2 (en) GUI program creation supporting apparatus, GUI program creation support method, computer-readable recording medium and integrated circuit
CN108345456A (zh) 页面代码生成方法、装置、计算机设备和存储介质
CN113741898B (zh) 表单生成方法、装置及设备
JP4872529B2 (ja) リバースエンジニアリング支援方法
CN109583591A (zh) 用于简化的知识工程的方法与系统
Pimpler Programming ArcGIS with Python Cookbook
US7769773B1 (en) Relevant rule inspector for hierarchical documents
JP5791115B2 (ja) 画像領域分割装置、その方法及びプログラム
CN114896918A (zh) 针对功能函数模块的实时可视化方法和系统
JP2006276912A (ja) 文書編集装置、文書編集方法およびプログラム
JP5950309B2 (ja) 画像領域分割装置、その方法及びプログラム
JPH09245052A (ja) 構造化文書処理装置
KR101698422B1 (ko) Iwod를 사용한 프로세스 맵 설계 장치 및 방법
US20200409672A1 (en) Constraint based authoring
JP3941610B2 (ja) 情報抽出方法、情報抽出装置および情報抽出プログラム
KR101948114B1 (ko) 컨텐츠 퍼블리싱 장치 및 컨텐츠 퍼블리싱 방법
CN112256573B (zh) 一种面向simscript语言的仿真程序可视化方法
JP6542958B1 (ja) コンテンツパブリッシング装置およびコンテンツパブリッシング方法
JP3637771B2 (ja) 文書編集出力装置
JP4706001B2 (ja) 設計コンピュータプログラム
JP2020197986A (ja) コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法
KR102106098B1 (ko) 도움말 제공 장치 및 방법
JP2007034806A (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140207

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140306

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150729

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150730

R150 Certificate of patent or registration of utility model

Ref document number: 5791115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150