JP2018077762A - 画面認識装置、画面認識方法、および、画面認識プログラム - Google Patents

画面認識装置、画面認識方法、および、画面認識プログラム Download PDF

Info

Publication number
JP2018077762A
JP2018077762A JP2016220577A JP2016220577A JP2018077762A JP 2018077762 A JP2018077762 A JP 2018077762A JP 2016220577 A JP2016220577 A JP 2016220577A JP 2016220577 A JP2016220577 A JP 2016220577A JP 2018077762 A JP2018077762 A JP 2018077762A
Authority
JP
Japan
Prior art keywords
screen
grid
relative position
objects
grid row
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.)
Granted
Application number
JP2016220577A
Other languages
English (en)
Other versions
JP6603194B2 (ja
Inventor
郁子 高木
Ikuko Takagi
郁子 高木
名和 長年
Nagatoshi Nawa
長年 名和
山田 光一
Koichi Yamada
光一 山田
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 JP2016220577A priority Critical patent/JP6603194B2/ja
Publication of JP2018077762A publication Critical patent/JP2018077762A/ja
Application granted granted Critical
Publication of JP6603194B2 publication Critical patent/JP6603194B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】様々なアプリケーションにより表示される画面上の各オブジェクトの相対関係を認識する画面認識装置を提供する。【解決手段】画面認識装置100は、画面情報から、画面上に表示される各オブジェクトの絶対座標情報を取得するオブジェクト情報取得部111と、各オブジェクトの絶対座標情報に基づき、画面上の任意の2つのオブジェクト間の相対位置を相対位置情報として記録する相対位置情報取得部112と、相対位置情報に基づき、画面上の最左上のオブジェクトを起点に左から右へオブジェトを1以上配置したグリッド行群を生成するグリッド行生成部113と、グリッド行生成部113により生成されたグリッド行群を、相対位置情報に基づき、グリッド行に含まれるオブジェクト同士の上下の相対位置に従い配置したグリッド行列を生成し、出力するグリッド配置部114とを備え、画面上に表示されるオブジェクト間の相対関係を認識する【選択図】図3

Description

本発明は、画面認識装置、画面認識方法、および、画面認識プログラムに関する。
オペレータは業務アプリケーション画面(画面)を操作することで、必要な業務情報を入力・登録したり、参照したりすることができる。多くの場合、オペレータは画面を介して業務を遂行するため、オペレータが操作する画面および動作を取得することで、オペレータの操作状況を機械的に推測することができる。画面の動作は、画面に関する情報とオペレータによる操作に関する情報の双方を認識することで獲得できる。画面に関する情報は、例えば、画面を総括する情報(ウィンドウタイトル、ウィンドウID、タイトルバーなど)、画面内のGUI部品に関する情報(各GUI部品のクラス、ID、テキスト名など)、これらの情報を取得した日時などがある。オペレータの操作に関する情報は、例えば、マウス操作やキーボード操作、およびこれらの操作対象である画面またはGUI部品の情報などがある。これらの情報を取得することで、オペレータがいつどのタイミングでどの画面のどのGUI部品にどのような値を入力したかを逐一取得することができる。以後、画面に関する情報を「画面情報」、オペレータの操作に関する情報を「操作情報」と呼ぶ。また、GUI部品を「オブジェクト」と呼ぶ。オペレータの画面情報を適切に認識するために、アプリケーションやオペレーションシステム毎に様々なAPIがある。例えば、(1)オブジェクトに付与されているIDを利用するAPI、(2)マウスのカーソル位置やキーボードの入力位置、画面上の相対位置など、位置情報からオブジェクトを指定するAPI、(3)画面上の配置関係から定義されたオブジェクト間の親子関係(オブジェクトツリー)を利用してオブジェクトを指定するAPIなどがある。
特開2015−5243号公報 特開2014−13490号公報
しかし、上記した従来技術は、様々なアプリケーションの画面情報を適切に取得できない可能性がある。例えば、上記の(1)の場合は、オブジェクトがIDをユニークに持たない場合にオブジェクトの情報を取得する手段がないという問題があった。上記の(2)の場合は、端末画面の一点を起点とした相対位置で計算するため、例えば、ディスプレイが異なる端末は、ウインドウサイズや解像度の規定値が異なるため、オブジェクトを正しく取得できない。また、フローテキスト型GUI(HTML)などはオブジェクトのサイズや位置が動的に変更するため、正しくオブジェクトを取得できないという問題があった。さらに、上記の(3)の場合は、あらかじめオブジェクトツリー構造を認識する必要があるが、オブジェクトツリー構造は各アプリケーション依存で作成される傾向がある。その場合、見た目が同じ画面でもツリーの深さやパスの構造、オブジェクトの個数が少しずつ異なるため、例えばオブジェクトツリーが動的に変化するアプリケーションではオブジェクトを取得できないという問題があった。
また、上記の(2)のオブジェクト認識に画面の位置情報が依存する問題に対応して、オブジェクト間の相対関係をユーザがルールと定義し、その情報を制約条件として該当する解候補を求めることで画像内容に応じて適切なマスキングを行う技術が提案されている(特許文献1、特許文献2参照)。この技術によれば、各々のオブジェクトの絶対座標から各オブジェクトの配置の大小関係の順序付けを行うルールをx軸、y軸それぞれについて自動生成し、そのルールに基づいて各オブジェクトが配置されうる2次元領域を求める。これにより、各オブジェクトの配置位置や大きさに応じて、画面を適切に分割することができる。しかしながら、この技術は画面の分割を主目的としており、オブジェクトが他のオブジェクトから見て相対的にいずれかにあるかの情報を保持しない。そのため、例えば、「オブジェクトXの2つ右にあるオブジェクトの1つ下のオブジェクト」といったあるオブジェクトを軸に2次元的に他のオブジェクトを探索する用途には対応できない。
そこで本発明は、様々なアプリケーションにより表示される画面上の各オブジェクトに対してオブジェクト同士の相対関係を認識させることで、他のオブジェクトから相対的にオブジェクトを指定できるようにすることを課題とする。例えば、オブジェクトXがオブジェクトYの左にあるが、オブジェクトXを前述した方法で直接取得できない場合、オブジェクトYを取得した後に、相対関係を利用してオブジェクトYを起点にオブジェクトXを指定できるようにすること課題とする。
前記した課題を解決するため、本発明は、画面上に表示されるオブジェクト間の相対関係を認識する画面認識装置であって、前記画面の画面情報から、前記画面上に表示される各オブジェクトの絶対座標情報を取得するオブジェクト情報取得部と、前記各オブジェクトの絶対座標情報に基づき、前記画面上の任意の2つのオブジェクト間の相対位置を相対位置情報として記録する相対位置情報取得部と、前記相対位置情報に基づき、画面上の最左上のオブジェクトを起点に左から右へオブジェトを配置した1以上のグリッド行群を生成するグリッド行生成部と、前記グリッド行生成部により生成されたグリッド行群を、前記相対位置情報に基づき、前記グリッド行に含まれるオブジェクト同士の上下の相対位置に従い配置したグリッド行列を生成し、出力するグリッド配置部と、を備えることを特徴とする。
本発明によれば、様々なアプリケーションにより表示される画面上の各オブジェクトの相対関係を認識できる。その結果、他のオブジェクトから相対的にオブジェクトを指定することができる。
図1は、画面認識装置の概要を説明するための図である。 図2は、画面上のオブジェクトの検索処理の例を示す図である。 図3は、画面認識装置の機能ブロック図である。 図4は、オブジェクト情報取得部の処理を説明するための図である。 図5は、相対位置情報取得部の処理を説明するための図である。 図6は、最近傍のオブジェクトを説明するための図である。 図7は、グリッド行の一例を示す図である。 図8は、グリッド行の一例を示す図である。 図9は、グリッド行の配置手順の一例を示す図である。 図10は、グリッド行の配置手順の一例を示す図である。 図11は、グリッド行の配置手順の一例を示す図である。 図12Aは、画面認識装置の処理手順を示すフローチャートである。 図12Bは、図12Aのオブジェクト情報取得処理の詳細を示すフローチャートである。 図13は、図12Aの相対位置情報取得処理の詳細を示すフローチャートである。 図14は、図13の左右相対関係取得処理の詳細を示すフローチャートである。 図15は、図13の上下相対関係取得処理の詳細を示すフローチャートである。 図16は、図13の最近傍オブジェクト取得処理の詳細を示すフローチャートである。 図17は、図16の横方向最近傍オブジェクト取得処理の詳細を示すフローチャートである。 図18は、図16の縦方向最近傍オブジェクト取得処理の詳細を示すフローチャートである。 図19は、図12Aのグリッド行生成処理の詳細を示すフローチャートである。 図20は、図12Aのグリッド配置処理の詳細を示すフローチャートである。 図21は、図20の列を挿入する処理の詳細を示すフローチャートである。 図22は、画面認識装置により認識された画面認識情報の適用例を説明するための図である。 図23は、画面認識装置により認識された画面認識情報の適用例を説明するための図である。 図24は、画面認識プログラムを実行するコンピュータを示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は、本実施形態に限定されない。
まず、図1を用いて本実施形態の画面認識装置100の概要を説明する。画面認識装置100は、アプリケーションにより表示される画面上のオブジェクトの相対的な位置を認識し、その認識結果を示す情報(画面認識情報)を出力する。画面認識情報は、例えば、図1に示すように、画面上の各オブジェクトの相対的な位置を最小のグリッド行列に配置した情報である。
例えば、画面認識装置100は、図1に示すように、画面情報(画面上の各オブジェクトの絶対位置座標等を示す情報)を取得すると、この画面情報から各オブジェクトの相対的な位置を示す、グリッド行列を生成し、出力する。
なお、以下の説明において、画面上のオブジェクトの相対位置(相対関係)を表現するための格子状の矩形をグリッドと呼び、グリッドを所定の行列数で並べたものをグリッド行列と呼ぶ。また、このグリッド行列上のオブジェクトに、それぞれのオブジェクトの属性(例えば、イメージやボタン、ラベル等)や、オブジェクトに記載されたテキスト情報(例えば、「別のアカウントを使用」等)を併記してもよい。
このように画面認識装置100が画面上の各オブジェクトの相対位置関係を抽象的に認識することで、例えば、操作支援に必要なオブジェクトを検索しやすくなる。
例えば、図2に示すように操作支援を行う装置が、操作対象となる画面上のオブジェクトの配置パターンや変数名定義を含む問い合わせ(クエリ)を受信すると、画面上から、クエリに示される配置パターンに合致するオブジェクト(図2の太線で囲まれたウィンドウ上にあるGUI部品)を検索することができる。そして、上記の装置は、検索されたオブジェクト(操作対象となるオブジェクト)を出力する。例えば、上記の装置は、操作対象となるbutton_setが太線で囲まれたウィンドウ上の23番目のオブジェクト(“設定”ボタン)であり、button_okが太線で囲まれたウィンドウ上の24番目のオブジェクト(“OK”ボタン)であるという結果を出力する。
次に、図3を用いて、画面認識装置100の構成を説明する。画面認識装置100は、オブジェクト情報取得部111と、相対位置情報取得部112と、グリッド行生成部113と、グリッド配置部114とを備える。
また、画面認識装置100は、記憶部(図示省略)に、オブジェクト情報保持部121と、相対位置情報保持部122と、グリッド行保持部123とを備える。オブジェクト情報保持部121は、オブジェクト情報取得部111から出力されたオブジェクト情報を記憶する。相対位置情報保持部122は、相対位置情報取得部112から出力された相対位置情報を記憶する。グリッド行保持部123は、グリッド行生成部113から出力されたグリッド行を記憶する。
オブジェクト情報取得部111は、アプリケーションの表示する画面の画面情報から、画面上に表示される各オブジェクトの相対位置を認識するための情報(オブジェクト情報)を取得する。例えば、オブジェクト情報は、例えば、class(属性)、text(テキスト情報)、area(絶対座標情報)等の情報である。
例えば、オブジェクト情報取得部111は、図4に示す画面情報から、画面上のオブジェクトそれぞれにindex(例えば、1〜4)を付け、当該オブジェクトのclass(属性)、text(テキスト情報)、area(絶対座標情報)を取得し、図4に示すオブジェクト情報を生成する。そして、オブジェクト情報取得部111は生成したオブジェクト情報をオブジェクト情報保持部121に出力する。
相対位置情報取得部112は、オブジェクト情報に示される各オブジェクトの絶対座標情報から、画面上の任意の2つのオブジェクト間の相対位置を示す相対位置情報を取得する。つまり、相対位置情報取得部112は、各オブジェクトの絶対座標情報に基づき、画面上の任意の2つのオブジェクト間の相対位置を示す相対位置情報を生成し、相対位置情報保持部122に出力する。
例えば、相対位置情報取得部112は、図5に示すように、オブジェクト情報に示される画面上の任意の2つのオブジェクトについて、一方のオブジェクトが他方のオブジェクトの、相対的に右/左/横方向に同位のオブジェクトか(左右相対関係)、相対的に下/上/縦方向に同位のオブジェクトか(上下相対関係)、縦/横方向に隣り合っている(最近傍の)オブジェクトか(最近傍オブジェクト)を判断する。そして、その判断結果を相対位置情報に記録する。
例えば、相対位置情報取得部112は、2つのオブジェクト(obj1とobj2)について、符号501に示すように、obj2がobj1の相対的右に位置するか、obj1の相対的左に位置するか、obj1と横方向に同位(つまり、obj1とobj2とでx座標の少なくとも一部が重なっている)かを判断する。また、相対位置情報取得部112は、符号502に示すように、obj2が、obj1の相対的下に位置するか、obj1の相対的上に位置するか、obj1と縦方向に同位(つまり、obj1とobj2とでy座標の少なくとも一部が重なっている)かを判断する。さらに、相対位置情報取得部112は、符号503に示すように、obj2が、obj1に隣り合っている(離れていても良い)か、obj1に隣り合っていないか判断する。なお、obj2が、obj1に隣り合っていない場合とは、obj2とobj1との間に別オブジェクト(obj3)がある場合や、obj2が、obj1の斜め(縦にも横にも同位でない)に位置する場合等が該当する。
例えば、obj2とobj1とが図6の(1)に示す各位置である場合、相対位置情報取得部112は、obj2が、obj1に対し縦/横方向に隣り合っている(最近傍の)オブジェクトと判断する。一方、obj2とobj1とが図6の(2)に示す各位置である場合、相対位置情報取得部112はobj2が、obj1に対し最近傍ではないと判断する。なお、相対位置情報取得部112は、図6に示すように、obj2とobj1とが重なっているような場合については扱わないものとする。
図3のグリッド行生成部113は、オブジェクトの相対位置情報に基づき、画面上の最左上のオブジェクトを起点に左から右へオブジェクトを配置したグリッド行を生成する。そして、グリッド行生成部113は、生成したグリッド行を、例えば、最左上のオブジェクトを起点に、グリッド行を生成した順序でグリッド行保持部123に出力する。
例えば、グリッド行生成部113は、図7の左に示す画面上の8個のオブジェクトについて、相対位置情報において縦方向に同位にあるオブジェクトを同じグリッド行に左→右の順に並べ、図7の右に示す5行のグリッド行を生成する。なお、図7の右に示すグリッド行の左に付された数字は、グリッド行の取得順序または当該グリッド行が配置される行番号を示す。
また、例えば、グリッド行生成部113は、図8の左に示す画面上の14個のオブジェクトについて、相対位置情報において縦方向に同位にあるオブジェクトを同じグリッド行に左→右の順に並べ、図8の右に示す9行のグリッド行を生成する。
このように、グリッド行生成部113は、相対位置情報に基づき、画面上の最左上のオブジェクトを起点に相対的に縦方向に同位であるオブジェクト群を左から右へ配置してグリッド行を生成する処理を、グリッド行の下のオブジェクトがなくなるまで順次実行することでグリッド行群を生成する。
図3のグリッド配置部114は、グリッド行生成部113により生成されたグリッド行群を、相対位置情報に基づき、グリッド行に含まれるオブジェクトの上下の相対位置に従い配置することでグリッド行列を生成し、出力する。
例えば、グリッド配置部114は、グリッド行保持部123に記憶されるグリッド行群についてグリッド行の処理順(行番号順)に、各グリッド行に含まれるオブジェクトの上下の相対位置を保つように配置する。具体的には、グリッド配置部114は、相対位置情報を参照して、各グリッド行に含まれるオブジェクトのうち相対的に横方向に同位(図5参照)のオブジェクト間で上下の相対位置を保つように配置する。
例えば、グリッド配置部114は、オブジェクトAに対し、オブジェクトBが相対的に横方向に同位かつ相対的上に位置する場合、グリッド行列においてオブジェクトAの上の位置かつ同じ列にオブジェクトBが来るように、オブジェクトAを含むグリッド列およびオブジェクトBを含むグリッド列を配置する。これにより、グリッド配置部114は、相対的に横方向に同位かつ相対的下/上に位置するオブジェクト同士を同じ列に配置したグリッド行列を生成することができる。このグリッド行の配置については、具体例を用いて後記する。
また、グリッド配置部114は、グリッド行に含まれるオブジェクトのまま配置したのでは、グリッド行に含まれるオブジェクトのうち相対的に横方向に同位(図5参照)のオブジェクト間で上下の相対位置を保つことができない場合、グリッド行に含まれるオブジェクトの一部を増加させた上で配置する。ここでのオブジェクトの増加についても、具体例を用いて後記する。
ここでグリッド行の配置の具体例を説明する。なお、以下の説明において、「上位のオブジェクト」とは現在着目しているオブジェクトに対し、横方向に同位、かつ、相対的上にあるオブジェクトを指す。また、図9、図10および図11に示す説明において、例えば、オブジェクト1,2,…は、適宜「1,2,…」等と略して表記している。
例えば、グリッド配置部114は、図7に示したグリッド行について、図9に示すようにしてグリッド行を配置し、グリッド行列を生成する。
まず、グリッド配置部114は、図9に示すグリッド行群から、1行目のグリッド行を取り出す(図9のS1)。次に、グリッド配置部114は、2行目のグリッド行を取り出すと、2行目のグリッド行のオブジェクト3の上位にオブジェクト1を持つため、1行目のグリッド行のオブジェクト3の上にオブジェクト1を追加する(S2)。そして、グリッド配置部114は3行目のグリッド行を取り出すと、それぞれのグリッド行のオブジェクトの上下の相対位置は保たれているので、配置の変更無しとして(S3)、S4へ進む。
S3の後、グリッド配置部114は、4行目のグリッド行を取り出すと、それぞれのグリッド行のオブジェクトの上下の相対位置は保たれているので、配置の変更無しとして(S4)、S5へ進む。その後、グリッド配置部114は、5行目のグリッド行を取り出す。ここで、5行目のグリッド行のオブジェクト7は上位にオブジェクト6を持つため、グリッド配置部114は、オブジェクト7がオブジェクト6の下になるように配置する。また、オブジェクト8の上位に1を持つため、グリッド配置部114は、オブジェクト8がオブジェクト1の下になるようにオブジェクト1を追加する(S5)。このようにすることでグリッド配置部114は、図7に示したグリッド行群の配置を完了する。
また、例えば、グリッド配置部114は、図8に示したグリッド行について、図10、図11に示すようにしてグリッド行を配置する。
すなわち、グリッド配置部114は、図8に示すグリッド行群から、1行目のグリッド行を取り出し(図10のS11)、次に、2行目のグリッド行を取り出すと、オブジェクト3の上位にオブジェクト1を持つため、1行目のグリッド行の2列目にオブジェクト1を追加し(S12)、S13へ進む。続いて、グリッド配置部114は3行目のグリッド行を取り出すと、オブジェクト4の上位(相対的上)にオブジェクト1,2,3を持つため、3行目のグリッド行の2列目にオブジェクト4を追加する(S13)。
S13の後、グリッド配置部114は、4行目のグリッド行を取り出すと、4行目のグリッド行のオブジェクト5は上位にオブジェクト1,2,3,4を持つため、4行目のグリッド行の2列目にオブジェクト5を追加する(S14)。
S14の後、グリッド配置部114は、5行目のグリッド行を取り出す。ここで、5行目のグリッド行のオブジェクト6は上位にオブジェクト1,3,4を持つが、オブジェクト2,5を持たないため、グリッド配置部114は、新たな列(3列目)に5行目のグリッド行の行頭(オブジェクト6)が来るように配置し、また、その列(3列目)にオブジェクト1,3,4を追加する(S15)。つまり、グリッド配置部114は、4行目のグリッド行を配置した上で、符号1001に示すオブジェクトからなる列を追加する。
S15の後、グリッド配置部114は、6行目のグリッド行を取り出す。ここで、6行目のグリッド行のオブジェクト7は上位にオブジェクト1〜5を持つため、グリッド配置部114は、6行目のグリッド行の2列目にオブジェクト7を追加する(S16)。ここで、S16の処理後、6行目のグリッド行のオブジェクト8は3列目以降にしか配置できない。更に、オブジェクト8は上位にオブジェクト1,3,4,5,6を持つため、グリッド配置部114は、3列目の前にオブジェクト1,3,4,5,8を追加する(S17)。つまり、グリッド配置部114は、6行目のグリッド行を配置した上で、3列目に符号1002に示すオブジェクトからなる列を挿入する。
S17の後、グリッド配置部114は、7行目のグリッド行を取り出す。ここで、7行目のグリッド行のオブジェクト9は上位にオブジェクト1〜8を持つため、グリッド配置部114は、7行目のグリッド行の2〜4列目にオブジェクト9を追加する(S18)。
図11のS19の説明に移る。S18の後、7行目のグリッド行のオブジェクト10は上位にオブジェクト1,3,4,6,8を持つため、グリッド配置部114は、5列目に、それら(オブジェクト1,3,4,6,8)とオブジェクト10を配置する(S19)。
S19の後、グリッド配置部114は、8行目のグリッド行を取り出す。ここで、8行目のグリッド行のオブジェクト11は上位にオブジェクト1〜10を持つため、グリッド配置部114は、8行目のグリッド行の2〜4列目にオブジェクト11を追加する(S20)。
S20の後、グリッド配置部114は、9行目のグリッド行を取り出す。ここで、9行目のグリッド行のオブジェクト12は上位にオブジェクト1,3,4,5,6,8,9,11を持つため、3,4列目にオブジェクト12を配置する(S21)。
S21の後、9行目のグリッド行のオブジェクト13は上位にオブジェクト1,3,4,6,8,9,10,11を持つが、オブジェクト9が不足し、かつオブジェクト13は5列目以降にしか配置できない。そのため、グリッド配置部114は、4〜5列目の間に列を挿入してオブジェクト1,3,4,6,8,9,11,13の列を追加する(S22)。
S22の後、9行目のグリッド行のオブジェクト14は上位にオブジェクト1,3,4,6,8,10を持つが、7列目以降にしか配置できない。そのため、グリッド配置部114は、7列目(オブジェクト14の上位)にオブジェクト1,3,4,6,8,10を追加する(S23)。
このようにすることで、グリッド配置部114は、オブジェクト間の上下左右の相対位置を反映したグリッド行列を生成することができる。また、グリッド配置部114は、グリッド行列を生成する際、相対的に縦方向に同位かつ相対的左/右に位置するオブジェクト同士を同じ行に配置し、また、相対的に横方向に同位かつ相対的下/上に位置するオブジェクト同士を同じ列に配置する。
これにより、グリッド配置部114は、画面上で横方向にほぼ同じ位置に並んでいるオブジェクトを同じ行に配置し、画面上で縦方向にほぼ同じ位置に並んでいるオブジェクトを同じ列に配置したグリッド行列を得ることができる。つまり、グリッド配置部114は画面上でオブジェクトの配置ズレがあったとしてもこれを丸め込んだ画面認識情報(グリッド行列)を生成することができる。換言すると、グリッド配置部114はロバストに画面上のオブジェクトの位置関係を認識することができる。
(処理手順)
次に、図12Aを用いて画面認識装置100の処理手順の概要を説明する。まず、画面認識装置100のオブジェクト情報取得部111は、画面情報に基づきオブジェクト情報を取得し(S121:オブジェクト情報取得)、相対位置情報取得部112は、オブジェクト情報における各オブジェクトの絶対座標情報に基づき、オブジェクト間の相対位置情報を取得する(S122:相対位置情報取得)。そして、グリッド行生成部113は、相対位置情報に基づき、グリッド行を生成し(S123:グリッド行生成)、グリッド配置部114は、生成したグリッド行を配置する(S124:グリッド配置)。
次に、図12Bを用いて、図12AのS121のオブジェクト情報取得処理を詳細に説明する。まず、オブジェクト情報取得部111は、画面情報を読み込み(S1211)、画面情報から各オブジェクトのクラス(class)、絶対座標(area)、あればテキスト(text)を取得し(S1212)、各オブジェクトにインデックス(index)を振る(S1213)。そして、オブジェクト情報取得部111は、各オブジェクトのクラス(class)、絶対座標(area)、あればテキスト(text)、インデックス(index)を対応付けた情報(オブジェクト情報)をオブジェクト情報保持部121へ出力する(S1214)。
なお、オブジェクト情報は、オブジェクトごとにクラスを生成し、プロパティとして情報を保持してもよいし、行列で保持してもよい。
次に、図13を用いて、図12AのS122の相対位置情報取得処理を詳細に説明する。まず、相対位置情報取得部112は、オブジェクト情報保持部121のオブジェクト情報を読み込むと(S1221)、各オブジェクトの絶対座標に基づき、各オブジェクトの左右相対関係を取得し(S1222:左右相対関係取得)、上下相対関係を取得し(S1223:上下相対関係取得)、最近傍オブジェクトを取得する(S1224:最近傍オブジェクト取得)。そして、相対位置情報取得部112は、取得した情報を相対位置情報として記録し、相対位置情報保持部122へ出力する(S1225)。
なお、相対位置情報は、オブジェクトごとにリストで保持してもよいし、行列で保持してもよい。また、相対位置を計算するための関数を用意しておき、相対位置情報取得部112が都度、オブジェクトの相対位置を計算するようにしてもよい。
次に、図14を用いて、図13のS1222の左右相対関係取得処理を詳細に説明する。ここでは、2つのオブジェクト(obj1とobj2)の左右の相対関係(相対位置)を判断する場合を例に説明する。
なお、以下の説明では、obj1の左上の座標を(px1,py1)、右下の座標を(qx1,qy1)とし、obj2の左上の座標を(px2,py2)、右下の座標を(qx2,qy2)とする。
相対位置情報取得部112は、オブジェクト情報からオブジェクト(obj1とobj2)の座標位置の情報を読み込み(S131)、obj1とobj2の座標位置がx軸方向についてpx2≧qx1(S132で「px2≧qx1」)、つまり、obj1のx軸最大値がobj2のx軸最小値以下ならば、obj2はobj1の相対右(val=1)であると判断する(S133)。
一方、obj1とobj2の座標位置がx軸方向についてqx2≦px1(S132で「qx2≦px1」)、つまり、obj1のx軸最小値がobj2のx軸最大値以上ならば、相対位置情報取得部112は、obj2はobj1の相対的左(val=-1)であると判断する(S134)。
さらに、px2≧qx1でもqx2≦px1でもない場合(S132で「else」)、つまり、px1≦px2≦qx1またはpx1≦qx2≦qx1の場合、相対位置情報取得部112は、obj2はobj1と横方向に同位(val=0)であると判断する(S135)。
そして、相対位置情報取得部112は、S133〜S135の判断結果(val)をオブジェクトの左右相対関係に関する情報として出力する(S136)。
次に、図15を用いて、図13のS1223の上下相対関係取得処理を詳細に説明する。ここでも、2つのオブジェクト(obj1とobj2)の上下の相対位置を判断する場合を例に説明する。なお、図15に示すようにオブジェクトのy軸の値は画面下のオブジェクトほど高い値になるものとする。
相対位置情報取得部112は、オブジェクト情報からオブジェクト(obj1とobj2)の座標位置の情報を読み込み(S141)、obj1とobj2の座標位置がy軸方向についてpy2≧qy1(S142で「py2≧qy1」)、つまり、obj1のy軸最大値がobj2のy軸最小値以下ならば、obj2はobj1の相対的下(val=1)であると判断する(S143)。
一方、obj1とobj2の座標位置がy軸方向についてqy2≦py1(S142で「qy2≦py1」)、つまり、obj1のy軸最小値がobj2のy軸最大値以上ならば、相対位置情報取得部112は、obj2はobj1の相対的上(val=-1)であると判断する(S144)。
さらに、py2≧qy1でもqy2≦py1でもない場合(S142で「else」)、相対位置情報取得部112は、obj2はobj1と縦方向に同位(val=0)であると判断する(S145)。
そして、相対位置情報取得部112は、S143〜S145の判断結果(val)をオブジェクトの上下相対関係に関する情報として出力する(S146)。
次に、図16を用いて、図13のS1224の最近傍オブジェクト取得処理を詳細に説明する。例えば、相対位置情報取得部112が、オブジェクト(obj1)の左右相対関係および上下相対関係に関する情報を読み込み(S152)、オブジェクト(obj1)の横方向最近傍オブジェクトを取得し(S153)、また、オブジェクト(obj1)の縦方向最近傍オブジェクトを取得すると(S154)、これらをまとめてオブジェクト(obj1)の最近傍オブジェクトとして出力する(S155)。例えば、相対位置情報取得部112は、符号1601に示すオブジェクト(obj2)のうち、太線で囲まれたオブジェクト(obj2)をオブジェクト(obj1)の最近傍オブジェクトとして出力する。
次に、図17を用いて、図16のS153の横方向最近傍オブジェクト取得処理を詳細に説明する。例えば、相対位置情報取得部112が、オブジェクト(obj1)の左右相対関係に関する情報を読み込み(S161)、横方向最近傍オブジェクト群neighbor={}を設定する(S162)。なお、S162の段階ではneighbor={}は空の状態である。
S162の後、相対位置情報取得部112は、obj1の左右相対関係に関する情報から、obj1と縦方向に同位のオブジェクト群(M)を取得する(S163)。例えば、相対位置情報取得部112は、吹き出し1701に示すobj2群を取得する。
S163の後、相対位置情報取得部112は、上記のMに属するobj2それぞれについてS164〜S170に示す処理を実行する。すなわち、相対位置情報取得部112は、obj1からみたobj2の相対位置が相対的左であり(S164で「相対的左」)、Mにobj2とobj1の間に配置されるオブジェクトがなければ(S165でNo)、当該obj2をobj1の最近傍と判断しneighborに追加する(S167)。
一方、Mにobj2とobj1の間に配置されるオブジェクトがあれば(S165でYes)、相対位置情報取得部112は、当該obj2をobj1の最近傍と判断しない(S168)。また、相対位置情報取得部112は、obj1からみたobj2の相対位置が相対的右である場合(S164で「相対的右」)も同様に、Mにobj2とobj1の間に配置されるオブジェクトがなければ(S166でNo)、当該obj2をobj1の最近傍と判断し、neighborに追加する(S169)。
一方、Mにobj2とobj1の間に配置されるオブジェクトがあれば(S166でYes)、相対位置情報取得部112は、当該obj2をobj1の最近傍と判断しない(S170)。
そして、相対位置情報取得部112は、S167〜S170の処理により、obj1の最近傍と判断されたobj2群を横方向最近傍オブジェクト群neighborとして出力する(S171)。
例えば、相対位置情報取得部112は、吹き出し1701に示すobj2群のうち、○の付されたobj2群についてobj1の横方向最近傍オブジェクト群neighborとして出力する。一方、吹き出し1701に示すobj2群のうち、×の付されたobj2群はobj1との間に他のオブジェクトが配置されるので横方向最近傍オブジェクト群neighborとして出力しない。
次に、図18を用いて、図16のS154の縦方向最近傍オブジェクト取得処理を詳細に説明する。例えば、相対位置情報取得部112が、オブジェクト(obj1)の上下相対関係に関する情報を読み込み(S172)、縦方向最近傍オブジェクト群neighbor={}を設定する(S173)。なお、S173の段階ではneighbor={}は空の状態である。
S173の後、相対位置情報取得部112は、obj1の上下相対関係に関する情報から、obj1と横方向に同位のオブジェクト群(M)を取得する(S174)。例えば、相対位置情報取得部112は、吹き出し1801に示すobj2群を取得する。
そして、相対位置情報取得部112は、Mに属するobj2それぞれについてS175〜S181に示す処理を実行する。すなわち、相対位置情報取得部112は、obj1からみたobj2の相対位置が相対的上であり(S175で「相対的上」)、Mにobj2とobj1の間に配置されるオブジェクトがなければ(S176でNo)、当該obj2をobj1の最近傍と判断しneighborに追加する(S178)。
一方、Mにobj2とobj1の間に配置されるオブジェクトがあれば(S176でYes)、相対位置情報取得部112は、当該obj2をobj1の最近傍と判断しない(S179)。また、相対位置情報取得部112は、obj1からみたobj2の相対位置が相対的下である(S175で「相対的下」)場合も同様に、Mにobj2とobj1の間に配置されるオブジェクトがなければ(S177でNo)、当該obj2をobj1の最近傍と判断し、neighborに追加する(S180)。一方、Mにobj2とobj1の間に配置されるオブジェクトがあれば(S177でYes)、相対位置情報取得部112は、当該obj2をobj1の最近傍と判断しない(S181)。
そして、相対位置情報取得部112は、S178〜S181の処理により、obj1の最近傍と判断されたobj2群を縦方向最近傍オブジェクト群neighborとして出力する(S182)。例えば、相対位置情報取得部112は、吹き出し1801に示すobj2群のうち、○の付されたobj2群についてobj1の縦方向最近傍オブジェクト群neighborとして出力する。なお、吹き出し1801に示すobj2群のうち、×の付されたobj2群はobj1との間に他のオブジェクトが配置されるので縦方向最近傍オブジェクト群neighborには含めない。
以上の処理により、相対位置情報取得部112が、各オブジェクトの相対的左/右および相対的下/上の位置関係と、最近傍のオブジェクトとを示した相対位置情報を作成することができる。
次に、図19を用いて、図12AのS123のグリッド行生成処理を詳細に説明する。
まず、グリッド行生成部113は、オブジェクト群の相対位置情報を読み込む(S191)。次に、グリッド行生成部113は、オブジェクト群の相対位置情報を参照して、obj(処理対象とするオブジェクト)として最左上のオブジェクトを選択し(obj←最左上のオブジェクト)、グリッド行集合S={}、探索済オブジェクト集合CS={}、未探索オブジェクト集合US={}を設定する(S192)。なお、S192の段階で、未探索オブジェクト集合USには、S191で読み込んだ相対位置情報の対象となるオブジェクト群が設定される。
そして、グリッド行生成部113は、すべてのオブジェクトを処理するまで、S193〜S199の処理を実行する。
まず、グリッド行生成部113は、オブジェクト群の相対位置情報を参照して、objと縦方向に同位のオブジェクト群を左→右の順に取得し、これをグリッド行とする(S193)。次に、グリッド行生成部113は、S193で得たグリッド行をグリッド行集合Gに追加し(S194)、CS(探索済オブジェクト集合)にグリッド行を追加し、US(未探索オブジェクト集合)からグリッド行を削除する(S195)。
S195の後、グリッド行生成部113が、相対位置情報を参照して、objの相対的下にあり、かつ最近傍のオブジェクトが存在すると判断した場合(S196でYes)、当該最近傍のオブジェクト群の中で、最も上のオブジェクト群を取得する(S197)。そして、グリッド行生成部113は、取得したオブジェクト群の中で最も左にあるオブジェクトを次のobjとする(S199)。例えば、グリッド行生成部113は、吹き出し1901に示すように、objの下に最近傍のオブジェクト群があれば、その中でy軸の値が最も小さいオブジェクト(太線で示したオブジェクト)を次のobjとする。そして、グリッド行生成部113は、この次のobjを対象としてS193以降の処理を行う。
一方、グリッド行生成部113が、相対位置情報を参照して、objの相対的下にオブジェクトが存在しない、または、objの相対的下にオブジェクトが存在したとしても、当該オブジェクトはobjの最近傍のオブジェクトではないと判断した場合(S196でNo)、グリッド行生成部113は、US(未探索オブジェクト集合)から最上位のオブジェクト群を取得し(S198)、S199へ進む。
グリッド行生成部113は、上記の処理を未探索オブジェクト集合US={}が空になるまで実行し、生成したグリッド行集合を出力する(S200)。
以上の処理により、グリッド行生成部113は、横方向に同位のオブジェクト群を左から横に並べたグリッド行を生成することができる。例えば、グリッド行生成部113は、図7に示す画面のオブジェクト群から、図8に示すグリッド行群を生成する。
次に、図20を用いて、図12AのS124のグリッド配置処理を詳細に説明する。例えば、グリッド配置部114は、グリッド行集合を読み込み(S201)、読み込んだグリッド行集合Sをy軸の小さい順(グリッド行の位置が高いものから低い順)にソートする(S202)。次に、グリッド配置部114は、初期グリッドGを生成し、1行目にグリッド行集合Sの1行目を配置する(S203)。例えば、グリッド配置部114は、符号2001に示す初期グリッドGを生成すると、1行目にグリッド行集合Sの1行目(オブジェクト1を含むグリッド行列)を配置する。
そして、グリッド配置部114は、グリッド行集合Sのすべてのグリッド行を処理するまで、S204〜S209に示す処理を実行する。
まず、グリッド配置部114は、グリッド行集合Sをx軸の小さい順にソートし(S204)、グリッド行上の各オブジェクト(obj)に対して、S205〜S209の処理を実行する。つまり、グリッド配置部114は、グリッド行集合Sからobjが配置できる最小列番号iを取得する(S205)。次に、グリッド配置部114は、グリッド行集合Sにおいてobjの上位のオブジェクト群のある列群を取得し(S206)、以下に示す条件を満たす列群がi列以降に存在するか否かを判断する(S207)。
この条件とは、上位(相対的上かつ横に同位)のオブジェクト群をu、グリッド列(S206で取得した列群)をq={q1,q2,…,qn}、xiをグリッド列iにオブジェクトを配置するか否か(1/0)とするとき、qはuの部分集合(q⊆u)、かつ、Σqi xi=|u|であるように配置する、という条件である。
つまり、あるオブジェクトiと同じ列に配置されるオブジェクトは、オブジェクトiの上位のいずれかのオブジェクトであり、かつ、オブジェクトiと同じ列に配置されるオブジェクトの種類の数は、オブジェクトiの上位(オブジェクトiの相対的上かつ横に同位)のオブジェクトの個数と同じである、という条件である。換言すると、オブジェクトiと同じ列の上位に配置されるオブジェクト群は、相対位置情報において当該オブジェクトiの上位に存在するすべてのオブジェクトを網羅している、という条件である。
S207において、グリッド配置部114は、上記条件を満たす列群がi列以降に存在すると判断した場合(S207でYes)、G(グリッド)のobjを上記の条件を満たす列に配置する(S208)。一方、グリッド配置部114は、上記条件を満たす列群がi列以降に存在しないと判断した場合(S207でNo)、G(グリッド)に列に挿入する(S209)。この列の挿入処理について、図21を用いて後記する。
そして、グリッド配置部114は、上記の処理をグリッド行集合のすべてのグリッド行に対し行うと、生成したグリッド(グリッド行列)を出力する(S210)。
以上の処理により、グリッド配置部114は、縦方向に同位のオブジェクト群が同じ列になるよう配置したグリッド行列を生成することができる。
次に、図21を用いて、図20のS209の列の挿入処理を詳細に説明する。グリッド配置部114は、探索行(objの上位のオブジェクト群が存在するグリッド行)の最右列に配置されているオブジェクトをobj2とする(S2091)。そして、グリッド配置部114がobj2はobj1の相対的右であると判断した場合(S2092でYes)、obj2の配置されている行の最左の左側に空の列を追加する(S2093)。
S2093の後、グリッド配置部114は、obj2と上位のオブジェクト群を追加したときに他の各行の配置順に矛盾が発生しないようにobjの上位のオブジェクトとobjを配置する(S2094)。つまり、グリッド配置部114は、追加対象のオブジェクトの配置される行について、相対位置情報を参照して、他のオブジェクトが正しい相対位置関係であるかどうかをチェックする。そして、グリッド配置部114は、相対位置関係に矛盾が発生する場合は矛盾を解消するように、オブジェクトの左または右に列を追加する。
一方、グリッド配置部114がobj2はobj1の相対的右ではなく(S2092でNo)、相対的左と判断した場合(S2095でYes)、グリッド配置部114は、最右列+1列目に空の列を追加して、各行の配置順に矛盾が発生しないようにobjの上位のオブジェクトとobjを配置する(S2096)。なお、グリッド配置部114がobj2はobj1の相対的右でもなく(S2092でNo)、相対的左でもないと判断した場合(S2095でNo)、S2096の処理は行わない。
以上の処理により、グリッド配置部114は、縦方向に同位のオブジェクト群が同じ列になるよう配置したグリッド行列を確実に生成することができる。
(本実施形態の適用例)
以上説明した画面認識装置100によれば、様々なアプリケーションにより表示される画面上の各オブジェクトに対してオブジェクト同士の相対関係を認識できる。
例えば、画面認識装置100は、図22の符号2200に示す旅行の予約用アプリケーションの画面上のオブジェクトの配置を認識し、符号2201に示す画面認識情報(グリッド行列)を得る。
これにより、当該アプリケーションの画面上の情報の検索システムは、符号2201の画面情報におけるImage,Buttonオブジェクト削除、項目名の定義(例えば、Labelクラスを項目名とする、指定のラベル名を項目名とするなど)の処理を行うことで、符号2202に示す画面認識情報を得る。これにより、検索システムは、「往路に関する情報をまとめて抽出」等、項目名を利用した高度な検索ができる。
さらに、上記の画面認識装置100による画面認識技術を用いることで、アプリケーションの画面上のオブジェクトの相対位置による問い合わせ検索もできる。
例えば、図23の(1)に示すように、アプリケーションの画面上における、「決裁状況」の3つ右の画像が比較元の画像(アイコン)と同じかをチェックするというクエリ(問い合わせ)を受け付けた場合において、アプリケーションの画面上における、「決裁状況」の3つ右の画像が比較元の画像(アイコン)と同じか否かの結果を返すことができる。
さらに、例えば、図23の(2)に示すように、アプリケーションの画面上における、「備品番号」の下にある画像群の中で「95-600727」を検索するクエリ(問い合わせ)を受け付けた場合において、アプリケーションの画面上における、「備品番号」の下にある画像群の中で「95-600727」の検索結果を返すことができる。
また、上記の画面認識装置100による画面認識技術を既存の画像マッチング技術と組み合わせることで、特定し終わった各々の画像要素に対して、さらに相対位置情報を利用して絞り込んだマッチングを行い、より条件に合った正しい要素を選択する等、高精度なマッチングを実現することもできる。
(プログラム)
また、上記の実施形態で述べた画面認識装置100は、画面認識装置100の機能を実現する画面認識プログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記の画面認識プログラムを情報処理装置に実行させることにより、情報処理装置を画面認識装置100として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、画面認識装置100を、クラウドサーバに実装してもよい。
以下に、上記の画面認識プログラムを実行するコンピュータの一例を説明する。図24は、画面認識プログラムを実行するコンピュータを示す図である。図24に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図24に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
100 画面認識装置
111 オブジェクト情報取得部
112 相対位置情報取得部
113 グリッド行生成部
114 グリッド配置部
121 オブジェクト情報保持部
122 相対位置情報保持部
123 グリッド行保持部

Claims (6)

  1. 画面上に表示されるオブジェクト間の相対関係を認識する画面認識装置であって、
    前記画面の画面情報から、前記画面上に表示される各オブジェクトの絶対座標情報を取得するオブジェクト情報取得部と、
    前記各オブジェクトの絶対座標情報に基づき、前記画面上の任意の2つのオブジェクト間の相対位置を相対位置情報として記録する相対位置情報取得部と、
    前記相対位置情報に基づき、画面上の最左上のオブジェクトを起点に左から右へオブジェトを配置した1以上のグリッド行群を生成するグリッド行生成部と、
    前記グリッド行生成部により生成されたグリッド行群を、前記相対位置情報に基づき、前記グリッド行に含まれるオブジェクト同士の上下の相対位置に従い配置したグリッド行列を生成し、出力するグリッド配置部と、
    を備えることを特徴とする画面認識装置。
  2. 前記グリッド行生成部は、
    前記相対位置情報に基づき、画面上の最左上のオブジェクトを起点に相対的に縦方向に同位であるオブジェクト群を左から右へ配置してグリッド行を生成する処理を、前記グリッド行の下のオブジェクトがなくなるまで順次実行することで前記グリッド行群を生成することを特徴とする請求項1に記載の画面認識装置。
  3. 前記グリッド配置部は、
    前記グリッド行生成部により生成されたグリッド行群を、前記相対位置情報に基づき、前記グリッド行に含まれるオブジェクト同士の上下の相対位置に従い配置する際、前記グリッド行に含まれるオブジェクトのうち相対的に横方向に同位のオブジェクトで前記上下の相対位置を保つように配置することを特徴とする請求項1に記載の画面認識装置。
  4. 前記グリッド配置部は、
    前記グリッド行生成部により生成されたグリッド行群では、前記グリッド行に含まれるオブジェクト同士が上下の相対位置を保つように配置できない場合、前記グリッド行に含まれるオブジェクトの一部を増加させた上で配置することを特徴とする請求項1に記載の画面認識装置。
  5. 画面上に表示されるオブジェクト間の相対関係を認識する画面認識装置が、
    前記画面の画面情報から、前記画面上に表示される各オブジェクトの絶対座標情報を取得するオブジェクト情報取得ステップと、
    前記各オブジェクトの絶対座標情報に基づき、前記画面上の任意の2つのオブジェクト間の相対位置を相対位置情報として記録する相対位置情報取得ステップと、
    前記相対位置情報に基づき、画面上の最左上のオブジェクトを起点に左から右へオブジェトを配置した1以上のグリッド行群を生成するグリッド行生成ステップと、
    前記グリッド行生成ステップにより生成されたグリッド行群を、前記相対位置情報に基づき、前記グリッド行に含まれるオブジェクト同士の上下の相対位置に従い配置したグリッド行列を生成し、出力するグリッド配置ステップと、
    を含んだことを特徴とする画面認識方法。
  6. 画面上に表示されるオブジェクト間の相対関係を認識するための画面認識プログラムであって、
    前記画面の画面情報から、前記画面上に表示される各オブジェクトの絶対座標情報を取得するオブジェクト情報取得ステップと、
    前記各オブジェクトの絶対座標情報に基づき、前記画面上の任意の2つのオブジェクト間の相対位置を相対位置情報として記録する相対位置情報取得ステップと、
    前記相対位置情報に基づき、画面上の最左上のオブジェクトを起点に左から右へオブジェトを配置した1以上のグリッド行群を生成するグリッド行生成ステップと、
    前記グリッド行生成ステップにより生成されたグリッド行群を、前記相対位置情報に基づき、前記グリッド行に含まれるオブジェクト同士の上下の相対位置に従い配置したグリッド行列を生成し、出力するグリッド配置ステップと、
    をコンピュータに実行させることを特徴とする画面認識プログラム。
JP2016220577A 2016-11-11 2016-11-11 画面認識装置、画面認識方法、および、画面認識プログラム Active JP6603194B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016220577A JP6603194B2 (ja) 2016-11-11 2016-11-11 画面認識装置、画面認識方法、および、画面認識プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016220577A JP6603194B2 (ja) 2016-11-11 2016-11-11 画面認識装置、画面認識方法、および、画面認識プログラム

Publications (2)

Publication Number Publication Date
JP2018077762A true JP2018077762A (ja) 2018-05-17
JP6603194B2 JP6603194B2 (ja) 2019-11-06

Family

ID=62150902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016220577A Active JP6603194B2 (ja) 2016-11-11 2016-11-11 画面認識装置、画面認識方法、および、画面認識プログラム

Country Status (1)

Country Link
JP (1) JP6603194B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019220158A (ja) * 2018-06-18 2019-12-26 株式会社トゥービーソフトTobesoft Co., Ltd. ビジネスアプリケーションにおいて単一コードを用いて多重スクリーンを支援するコンポーネントを構造化する方法および装置
JP2021527262A (ja) * 2018-06-13 2021-10-11 リアルウェア,インコーポレーテッド バイナリアプリケーションのユーザインターフェースのカスタマイズ
US11947752B2 (en) 2016-12-23 2024-04-02 Realwear, Inc. Customizing user interfaces of binary applications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276496A (ja) * 1999-03-25 2000-10-06 Amada Metrecs Co Ltd 図形の相対位置算出方法及び図形の相対位置算出方法のプログラムを記憶した記憶媒体
JP2008225683A (ja) * 2007-03-09 2008-09-25 Toshiba Corp 画面操作システムおよびプログラム
JP2008261946A (ja) * 2007-04-10 2008-10-30 Sharp Corp 表示制御装置および方法
JP2008269557A (ja) * 2007-03-26 2008-11-06 Seiko Epson Corp 画像検索装置、および画像検索方法
JP2011108076A (ja) * 2009-11-19 2011-06-02 Fujitsu Ltd 表示制御プログラム、表示制御方法及び情報処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276496A (ja) * 1999-03-25 2000-10-06 Amada Metrecs Co Ltd 図形の相対位置算出方法及び図形の相対位置算出方法のプログラムを記憶した記憶媒体
JP2008225683A (ja) * 2007-03-09 2008-09-25 Toshiba Corp 画面操作システムおよびプログラム
JP2008269557A (ja) * 2007-03-26 2008-11-06 Seiko Epson Corp 画像検索装置、および画像検索方法
JP2008261946A (ja) * 2007-04-10 2008-10-30 Sharp Corp 表示制御装置および方法
JP2011108076A (ja) * 2009-11-19 2011-06-02 Fujitsu Ltd 表示制御プログラム、表示制御方法及び情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947752B2 (en) 2016-12-23 2024-04-02 Realwear, Inc. Customizing user interfaces of binary applications
JP2021527262A (ja) * 2018-06-13 2021-10-11 リアルウェア,インコーポレーテッド バイナリアプリケーションのユーザインターフェースのカスタマイズ
JP7395513B2 (ja) 2018-06-13 2023-12-11 リアルウェア,インコーポレーテッド バイナリアプリケーションのユーザインターフェースのカスタマイズ
JP2019220158A (ja) * 2018-06-18 2019-12-26 株式会社トゥービーソフトTobesoft Co., Ltd. ビジネスアプリケーションにおいて単一コードを用いて多重スクリーンを支援するコンポーネントを構造化する方法および装置

Also Published As

Publication number Publication date
JP6603194B2 (ja) 2019-11-06

Similar Documents

Publication Publication Date Title
CN112035667B (zh) 一种知识图谱展示方法、装置及终端设备
TWI423057B (zh) 佈局對原理圖錯誤系統及方法
US7831929B2 (en) Method, system, and program product for controlling a display on a data editing screen
JP6603194B2 (ja) 画面認識装置、画面認識方法、および、画面認識プログラム
CN101373481A (zh) 图像搜索设备、图像搜索方法、及存储程序的存储介质
JP2012221148A (ja) 画像処理方法、及び、画像処理システム
CN111666101A (zh) 软件同源分析方法及装置
CN111209909B (zh) 资质识别模板构建方法、装置、设备和存储介质
JP2016133817A (ja) 類似性判定装置、類似性判定方法および類似性判定プログラム
CN111602129B (zh) 针对注释和墨迹的智能搜索
EP3104335A1 (en) Analysis model creation assistance system, analysis model creation assistance device and analysis model creation assistance program
CN114611452A (zh) 基于电路原理图在版图中自动生成Sub Cell的方法
JP2020140450A (ja) 構造化データ生成方法および構造化データ生成装置
JP5829330B2 (ja) フォントを識別するための方法および装置
JP6662755B2 (ja) オブジェクト検索装置、オブジェクト検索方法、および、オブジェクト検索プログラム
JP5061147B2 (ja) 画像検索装置
CN111078671A (zh) 数据表字段的修改方法、装置、设备和介质
JP2019204265A (ja) 画面判別装置、画面判別方法及びプログラム
JP2018128850A (ja) 情報処理プログラム、情報処理方法および情報処理装置
JP2009169533A (ja) 画像配置データ生成装置及び画像配置データ生成方法
JPWO2016170690A1 (ja) 入力制御プログラム、入力制御装置、入力制御方法、文字修正プログラム、文字修正装置、及び文字修正方法
CN114003152A (zh) 一种应用程序图标管理方法及***
JP7358838B2 (ja) 情報処理装置、及び情報処理プログラム
CN104252492A (zh) 数据搜寻方法与其电子装置
KR102466706B1 (ko) 문서 작성 프로그램에서 종속 관계에 있는 편집 액션의 손쉬운 선택을 가능하게 하는 전자 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190911

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: 20191008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191010

R150 Certificate of patent or registration of utility model

Ref document number: 6603194

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150