IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝テック株式会社の特許一覧

<>
  • 特許-情報処理装置及び情報処理プログラム 図1
  • 特許-情報処理装置及び情報処理プログラム 図2
  • 特許-情報処理装置及び情報処理プログラム 図3
  • 特許-情報処理装置及び情報処理プログラム 図4
  • 特許-情報処理装置及び情報処理プログラム 図5
  • 特許-情報処理装置及び情報処理プログラム 図6
  • 特許-情報処理装置及び情報処理プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-15
(45)【発行日】2022-07-26
(54)【発明の名称】情報処理装置及び情報処理プログラム
(51)【国際特許分類】
   G06F 3/0481 20220101AFI20220719BHJP
【FI】
G06F3/0481
【請求項の数】 4
(21)【出願番号】P 2018092502
(22)【出願日】2018-05-11
(65)【公開番号】P2019197504
(43)【公開日】2019-11-14
【審査請求日】2021-01-19
(73)【特許権者】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100189913
【氏名又は名称】鵜飼 健
(72)【発明者】
【氏名】箕浦 悠介
【審査官】塩屋 雅弘
(56)【参考文献】
【文献】特開2012-103786(JP,A)
【文献】特開2015-153210(JP,A)
【文献】特開2007-265263(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/048-3/04895
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
操作部材に接続された操作インタフェースと、
前記操作インタフェースに入力された信号から、イベントの検出を前記プロセッサに行わせるデバイスドライバと、前記イベントに基づいて、画面の遷移を前記プロセッサに行わせるアプリケーションと、前記イベントにより遷移する前の前記アプリケーションの画面に基づき、第1の画像データを生成することと、前記イベントにより遷移した後の前記アプリケーションの画面に基づき、第2の画像データを生成することとを前記プロセッサに実行させる画面情報収集プログラムと、を記憶したメモリと、
を具備し、
前記画面情報収集プログラムを実行した前記プロセッサは、前記操作インタフェースに入力された信号から前記イベントを、前記デバイスドライバより先に検出し、前記アプリケーションの画面に基づき、前記第1の画像データを生成する情報処理装置。
【請求項2】
前記画面情報収集プログラムを実行した前記プロセッサは、
前記第1の画像データと、予めデータベースに登録された画像データとの類似度を算出し、算出された類似度が予め設定された閾値未満である場合、前記第1の画像データを前記データベースに登録し、
前記第2の画像データと、予め前記データベースに登録された前記画像データとの類似度を算出し、算出された類似度が予め設定された閾値未満である場合、前記第2の画像データを前記データベースに登録し、
前記第1の画像データと、予めデータベースに登録された画像データとの類似度を算出し、算出された類似度が予め設定された閾値以上である場合、前記第1の画像データの代わりに類似度の算出に用いた画像データへのリンクを前記データベースに登録し、
前記第2の画像データと、予め前記データベースに登録された前記画像データとの類似度を算出し、算出された類似度が予め設定された閾値以上である場合、前記第2の画像データの代わりに類似度の算出に用いた画像データへのリンクを前記データベースに登録する請求項に記載の情報処理装置。
【請求項3】
前記画面情報収集プログラムを実行した前記プロセッサは、前記第1の画像データ上において前記イベントが発生した位置を示す情報を前記第1の画像データ及び前記第2の画像データにそれぞれ付加して前記データベースに登録する請求項に記載の情報処理装置。
【請求項4】
プロセッサと、操作部材に接続された操作インタフェースと、前記操作インタフェースに入力された信号から、イベントの検出を前記プロセッサに行わせるデバイスドライバ、及び前記イベントに基づいて、画面の遷移を前記プロセッサに行わせるアプリケーションを記憶したメモリと、を具備する情報処理装置において実行される情報処理プログラムであって、
前記プロセッサに、
前記操作インタフェースに入力された信号から前記イベントを、前記デバイスドライバより先に検出することと、
前記イベントにより遷移する前の前記アプリケーションの画面に基づき、第1の画像データを生成することと、
前記イベントにより遷移した後の前記アプリケーションの画面に基づき、第2の画像データを生成することと、
を実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
アプリケーションにおいて表示される画面を認識することにより、アプリケーションに所定の処理を実行させる自動操作スクリプトが実用化されている。自動操作スクリプトでは、画像(判定用画像)と、アプリケーションに実行させる処理とが対応付けられている。自動操作スクリプト及びアプリケーションを実行する情報処理装置は、アプリケーションに判定用画像と一致する画像が表示された場合に、判定用画像に対応付けられた処理をアプリケーションに実行させる。このような自動操作スクリプトは、アプリケーションの動作のチェックなどに用いられている。
【0003】
例えば、アプリケーションにおいて表示される画像が変更された場合、自動操作スクリプトの判定用画像を再設定する必要がある。しかしながら、対象のアプリケーションを動作させつつ、判定用画像を収集することが手間であるという課題がある。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2013-73428号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする課題は、対象のアプリケーションを修正することなく、対象のアプリケーションの画像を容易に収集することができる情報処理装置及び情報処理プログラムを提供することである。
【課題を解決するための手段】
【0006】
一実施形態に係る情報処理装置は、プロセッサと、操作部材に接続された操作インタフェースと、メモリとを具備する。前記メモリは、前記操作インタフェースに入力された信号から、イベントの検出を前記プロセッサに行わせるデバイスドライバと、前記イベントに基づいて、画面の遷移を前記プロセッサに行わせるアプリケーションと、前記イベントにより遷移する前の前記アプリケーションの画面に基づき、第1の画像データを生成することと、前記イベントにより遷移した後の前記アプリケーションの画面に基づき、第2の画像データを生成することとを前記プロセッサに実行させる画面情報収集プログラムと、を記憶する。前記画面情報収集プログラムを実行した前記プロセッサは、前記操作インタフェースに入力された信号から前記イベントを、前記デバイスドライバより先に検出し、前記アプリケーションの画面に基づき、前記第1の画像データを生成する。
【図面の簡単な説明】
【0007】
図1図1は、一実施形態に係る情報処理装置の構成例について説明する為の説明図である。
図2図2は、一実施形態に係る情報処理装置のメモリに記憶されているプログラムの例について説明する為の説明図である。
図3図3は、一実施形態に係る画面情報収集プログラムを実行した情報処理装置の動作の例について説明する為の説明図である。
図4図4は、ストレージに登録された画面情報の例について説明する為の説明図である。
図5図5は、フィルタドライバを実行した情報処理装置の動作の例について説明する為の説明図である。
図6図6は、イベント取得プログラムを実行した情報処理装置の動作の例について説明する為の説明図である。
図7図7は、画像取得補助プログラムを実行した情報処理装置の動作の例について説明する為の説明図である。
【発明を実施するための形態】
【0008】
以下、一実施形態に係る情報処理装置及び情報処理プログラムについて図面を参照して説明する。
図1は、一実施形態に係る情報処理装置1の例について説明する為の説明図である。
【0009】
情報処理装置1は、例えばパーソナルコンピュータ、スマートフォン、またはタブレットPCなどである。情報処理装置1は、アプリケーションにおいて表示される画面を認識することにより、アプリケーションに所定の処理を実行させる自動操作スクリプトを実行する装置である。また、情報処理装置1は、アプリケーションの画面のデータ(画面情報)を生成し、保存する。この画面情報は、自動操作スクリプトにおける判定に用いられる画像(判定用画像)を生成する為に用いられる。
【0010】
情報処理装置1は、ディスプレイ11、操作インタフェース12、通信インタフェース13、ストレージ14、及び制御部15を備える。
【0011】
ディスプレイ11は、制御部15または図示されないグラフィックコントローラなどの表示制御部から入力される映像信号に応じて画面を表示する。情報処理装置1は、ディスプレイ11の代わりに、映像信号を出力する出力端子を備える構成であってもよい。
【0012】
操作インタフェース12は、種々の操作部材を有する。操作インタフェース12は、操作部材の操作に応じた操作信号を制御部15に供給する。操作部材は、例えば、タッチセンサ、テンキー、電源キー、用紙フィードキー、種々のファンクションキー、またはキーボードなどである。タッチセンサは、例えば、抵抗膜式タッチセンサ、または静電容量式タッチセンサ等である。タッチセンサは、ある領域内において指定された位置を示す情報を取得する。タッチセンサは、ディスプレイ11と一体にタッチパネルとして構成されることにより、ディスプレイ11に表示された画面上のタッチされた位置を示す信号を制御部15に入力する。また、操作インタフェース12は、操作部材から操作信号を受信し、制御部15に供給するインタフェースであってもよい。
【0013】
通信インタフェース13は、情報処理装置1以外の他の機器と通信する為のインターフェースである。
【0014】
ストレージ14は、種々の情報を記憶可能な記憶媒体である。ストレージ14は、プログラム及びプログラムで用いられるデータなどを記憶する。ストレージ14は、例えば、ソリッドステイトドライブ(SSD)、ハードディスクドライブ(HDD)、または他の記憶装置である。情報処理装置1は、ストレージ14の代わりに、外部の記憶装置と通信可能なインタフェースを備える構成であってもよい。
【0015】
ストレージ14は、後述する画面情報が登録されるデータベース(画面情報データベース)を有する。ストレージ14は、制御部15から供給される画面情報を画面情報データベースに逐次登録していく。また、ストレージ14は、自動操作スクリプトにおける判定に用いられる画像(判定用画像)と、アプリケーションに実行させる処理とが対応付けられた画面情報データベース(自動操作スクリプトデータベース)を有する。
【0016】
制御部15は、情報処理装置1の制御を行う。制御部15は、例えば、プロセッサ16及びメモリ17を備える。
【0017】
プロセッサ16は、演算処理を実行する演算素子である。プロセッサ16は、例えばCPUとして構成される。プロセッサ16は、メモリ17またはストレージ14に記憶されているプログラムを実行することにより、種々の処理を実行する。
【0018】
メモリ17は、プログラム及びプログラムで用いられるデータなどを記憶するROMを有する。また、メモリ17は、プロセッサの処理中のデータを一時的に格納する(展開する)RAMを有する。
【0019】
図2は、メモリ17に記憶されているプログラムの例について説明する為の説明図である。メモリ17は、オペレーティングシステム21、デバイスドライバ22、アプリケーション23、及び画面情報収集プログラム24を記憶している。
【0020】
オペレーティングシステム21は、プロセッサ16によって実行される種々のプログラムの管理、プログラム間の入出力の制御、ハードウエアとの間の入出力の制御、及びストレージ14に記憶されるファイル管理などをプロセッサ16に行わせる為のプログラムである。オペレーティングシステム21、デバイスドライバ22、アプリケーション23、及び画面情報収集プログラム24は、プロセッサ16によって実行されたオペレーティングシステム21上で動作する。
【0021】
デバイスドライバ22は、情報処理装置1に接続されたハードウエアの、オペレーティングシステム21による制御を、プロセッサ16に行わせる為のプログラムである。例えば、デバイスドライバ22を実行したプロセッサ16は、操作インタフェース12が操作されて発生したイベントを解析し、オペレーティングシステム21に供給する。また、デバイスドライバ22を実行したプロセッサ16は、ディスプレイ11に映像信号を供給する。デバイスドライバ22を実行したプロセッサ16は、後述するフィルタドライバ31からイベントを取得する。また、デバイスドライバ22を実行したプロセッサ16は、操作インタフェース12から直接イベントを取得してもよい。即ち、デバイスドライバ22は、操作インタフェース12に入力された信号から、イベントの検出をプロセッサ16に行わせるプログラムである。
【0022】
アプリケーション23は、プロセッサ16により実行可能な状態でメモリ17に格納されたプログラムである。アプリケーション23は、例えば、マウスまたはタッチパネルなどの操作部材によって操作可能な、GUIベースのアプリケーションプログラムである。アプリケーション23を実行したプロセッサ16は、アプリケーション上の処理に基づいて、種々の画面の映像信号を生成し、ディスプレイ11に表示させる。例えば、アプリケーション23は、選択可能なオブジェクトが表示されている画面において、このオブジェクトを選択する操作が行われた場合、選択されたオブジェクトに応じた画面に表示を遷移させる。即ちアプリケーション23は、デバイスドライバ22で検出されたイベントに基づいて、画面の遷移をプロセッサ16に行わせるプログラムである。
【0023】
画面情報収集プログラム24は、プロセッサ16により実行可能な状態でメモリ17に格納されたプログラムである。画面情報収集プログラム24は、アプリケーション23により生成された画面を保存する処理をプロセッサ16に行わせる為のプログラムである。例えば、画面情報収集プログラム24は、イベントにより遷移する前のアプリケーション23の画面に基づき、画像データを生成することと、イベントにより遷移した後のアプリケーション23の画面に基づき、画像データを生成することとをプロセッサ16に実行させるプログラムである。画面情報収集プログラム24は、フィルタドライバ31、イベント取得プログラム32、及び画像取得補助プログラム33などを有する。
【0024】
フィルタドライバ31は、操作インタフェース12におけるイベント(操作イベント)を取得し、イベント取得プログラム32及びデバイスドライバ22にイベントを通知する処理をプロセッサ16に行わせるドライバである。例えば、プロセッサ16は、デバイスドライバ22の下位層にフィルタドライバ31を配置する。フィルタドライバ31は、例えば、レポートディスクリプタの情報を取得することにより、操作イベントを取得する。なお、デバイスドライバ22が操作インタフェース12から直接イベントを取得する構成である場合、フィルタドライバ31を実行したプロセッサ16は、取得したイベントをデバイスドライバ22に通知しなくてもよい。
【0025】
イベント取得プログラム32は、フィルタドライバ31から通知された操作イベントの解析をプロセッサ16に行わせる為のプログラムである。イベント取得プログラム32は、例えば、レポートディスクリプタの情報を取得することにより、操作イベントの解析をプロセッサ16に行わせる。イベント取得プログラム32を実行したプロセッサ16は、フィルタドライバ31から通知された操作イベントが、予め設定されたイベントであった場合、画面情報取得要求を画像取得補助プログラム33へ通知する。具体的には、イベント取得プログラム32を実行したプロセッサ16は、フィルタドライバ31から通知された操作イベントが、予め設定された入力イベントであった場合、画面情報取得要求を画像取得補助プログラム33へ通知する。
【0026】
入力イベントは、操作インタフェース12に設けられた操作部材によって所定の入力操作が行われた場合に生じるイベントである。例えば、操作インタフェース12がマウスとして構成されていた場合、クリックイベントが入力イベントに相当する。また、操作インタフェース12がタッチセンサとして構成されていた場合、タッチイベントが入力イベントに相当する。
【0027】
なお、入力イベントは、上記の例に限定されない。例えば、アプリケーション23がPOS用のアプリケーションである場合、アプリケーション23を実行する装置は、スキャナ、磁気カード読取装置、ICカード読取装置、または他の種々の装置が接続される、または内蔵されることが推定される。このような構成において、スキャナによりコード(バーコード、または二次元コードなど)を読み取るイベント(コード入力イベント)、磁気カード読取装置により磁気カードを読み取るイベント(磁気カード入力イベント)、またはICカード読取装置によりICカードを読み取るイベント(ICカード入力イベント)などが、上記の入力イベントとして設定されていてもよい。
【0028】
画像取得補助プログラム33は、画面情報取得要求を受け取った場合、アプリケーション23により生成された画面の画像データの取得をプロセッサ16に行わせる為のプログラムである。画像取得補助プログラム33を実行したプロセッサ16は、画面情報取得要求を受け取った場合、アプリケーション23により生成された画面の画像データを取得する。例えば、プロセッサ16は、アプリケーション23により生成された画面に基づき、オペレーティングシステム21の機能(例えばスクリーンショットなど)により画像データを生成する。
【0029】
図3は、画面情報収集プログラム24を実行したプロセッサ16の処理について説明する為の説明図である。ここでは、イベント取得プログラム32が、予め設定された入力イベントを取得する構成であると仮定して説明する。
【0030】
例えば、図3に示されるように、アプリケーション23は、選択可能なオブジェクトを有する第1の画面41を生成していると仮定する。また、第1の画面41において選択可能なオブジェクトを選択する入力イベントが発生した場合、アプリケーション23は、選択されたオブジェクトに対応する第2の画面42を生成すると仮定する。即ち、第1の画面41は、入力イベントによって遷移する前のアプリケーション23の画面(遷移前画面)である。また、第1の画面41は、入力イベントによって遷移した後のアプリケーション23の画面(遷移後画面)である。
【0031】
このようなアプリケーション23において、画面情報収集プログラム24を実行したプロセッサ16は、第1の画面41における入力イベントをフィルタドライバ31及びイベント取得プログラム32によって検出する。
【0032】
プロセッサ16は、例えば入力イベントを検出した場合、入力イベントがアプリケーション23に反映される前のタイミングと、入力イベントがアプリケーション23に反映された後のタイミングとのそれぞれのタイミングで、アプリケーション23により生成された画面の画像データ(例えばラスタ画像)を取得する。例えば、プロセッサ16は、入力イベントがアプリケーション23に反映される前のタイミングにおいて、アプリケーション23の第1の画面41を第1の画像データ43として取得する。また例えば、プロセッサ16は、入力イベントがアプリケーション23に反映された後のタイミングにおいて、アプリケーション23の第2の画面42を第2の画像データ44として取得する。即ち、プロセッサ16は、1つの入力イベントが検出された場合に、入力イベントが発生したアプリケーション23の第1の画面の画像である第1の画像データ43と、入力イベントによって遷移したアプリケーション23の第2の画面42の画像である第2の画像データ44との2つの画像データを生成する。
【0033】
具体的には、プロセッサ16は、フィルタドライバ31により操作イベントを検出し、且つイベント取得プログラム32により操作イベントが入力イベントであると判断した場合、フィルタドライバ31がデバイスドライバ22に入力イベントを供給する前に、第1の画像データ43を取得する。即ち、画面情報収集プログラム24を実行したプロセッサ16は、操作インタフェース12に入力された信号からイベントを、デバイスドライバ22より先に検出し、アプリケーション23の画面に基づき、第1の画像データ43を生成する。
【0034】
さらに、プロセッサ16は、フィルタドライバ31からデバイスドライバ22に入力イベントを供給してから、所定時間経過後に、第2の画像データ44を取得する。なお、プロセッサ16は、入力イベントがアプリケーション23に反映される前のタイミングにおいて、第1の画像データ43を取得可能であれば、第1の画像データ43を取得する前にフィルタドライバ31からデバイスドライバ22に入力イベントを供給してもよい。
【0035】
さらに、プロセッサ16は、取得した第1の画像データ43を用いて、第1の画面情報45を生成する。また、プロセッサ16は、取得した第2の画像データ44を用いて、第2の画面情報46を生成する。即ち、プロセッサ16は、1つの入力イベントが検出された場合に、第1の画面情報45と第2の画面情報46との2つの画面情報を生成する。例えば、第1の画像データ43及び第2の画像データ44にそれぞれ付加情報を付加することにより、第1の画面情報45及び第2の画面情報46を生成する。プロセッサ16は、生成した第1の画面情報45及び第2の画面情報46をストレージ14の画面情報データベースに登録する。
【0036】
図4は、ストレージ14に登録された画面情報の例について説明する為の説明図である。図4の例では、第1の画面情報45と第2の画面情報46とが区別なく登録されている例を示しているが、第1の画面情報45と第2の画面情報46とは、別の画面情報データベースに登録されていてもよい。
【0037】
第1の画面情報45は、画像データ(第1の画像データ43)と、識別情報と、イベント発生日時と、イベント発生座標と、イベント種別と、画像アドレスとを有する情報である。第2の画面情報は、画像データ(第2の画像データ44)と、識別情報と、イベント発生日時と、イベント発生座標と、イベント種別と、イベント前画像と、画像アドレスと、を有する情報である。即ち、第1の画面情報45は、画像データが入力イベント後のアプリケーション23の画面に基づき生成された第2の画像データ44である点と、イベント前画像を有する点とが第1の画面情報45と異なる。
【0038】
識別情報は、画面情報を識別する為の情報である。識別情報は、少なくとも他の画面情報と重複しない情報であれば、如何なる情報であってもよい。
【0039】
イベント発生日時は、画像データを生成した日時などのタイミングを示す情報である。プロセッサ16は、フィルタドライバ31及びイベント取得プログラム32によって取得した入力イベントに基づいて、イベント発生日時を生成する。イベント発生日時は、画像データの生成のトリガーとなったイベントが発生した日時(例えばフィルタドライバ31がイベントを検出したタイミング)を示す情報であってもよい。
【0040】
イベント発生座標は、画像データ上のどの位置(座標)でイベントが発生したかを示す情報である。プロセッサ16は、フィルタドライバ31及びイベント取得プログラム32によって取得した入力イベントに基づいて、イベント発生座標を生成する。例えば、イベント発生座標は、アプリケーション23の画面において、クリックまたはタッチなどの入力操作が行われた位置を示す。
【0041】
イベント種別は、イベントの種別を示す情報である。上記のように、入力イベントには、クリックイベント、タッチイベント、コード入力イベント、磁気カード入力イベント、及びICカード入力イベントなどの種々のイベントがある。イベント種別は、これらのイベントのうちのいずれかを示す。即ち、イベント種別は、どのようなイベントによって画面情報が生成されたかを示す。
【0042】
画像アドレスは、画像データが保存されている記憶領域上のアドレスを示す情報である。例えば、画像データがストレージ14に記憶される構成である場合、画像アドレスは、ストレージ14上の画像データが記憶されている領域を示す。
【0043】
イベント前画像は、入力イベントが発生したアプリケーション23の画面を示す情報である。例えば、イベント前画像は、入力イベントが発生したアプリケーション23の画面に基づいて生成された画面情報の識別情報である。即ち、イベント前画像は、入力イベントによって遷移する前のアプリケーション23の画面に基づき生成された第1の画面情報の識別情報である。
【0044】
次に、画面情報収集プログラム24のフィルタドライバ31、イベント取得プログラム32、及び画像取得補助プログラム33のそれぞれを実行する際のプロセッサ16の処理について説明する。
【0045】
図5は、フィルタドライバ31を実行したプロセッサ16の処理について説明する為のフローチャートである。
【0046】
プロセッサ16は、画面取得モードがオンであるか否か判断する(ACT11)。例えば、プロセッサ16は、画面情報収集プログラム24を実行している場合、画面取得モードであると判断する。プロセッサ16は、画面情報収集プログラム24を実行している場合、画面取得モードがオンであると判断する。
【0047】
プロセッサ16は、画面取得モードがオンであると判断した場合(ACT11、YES)、イベントが発生したか否か判断する(ACT12)。プロセッサ16は、イベントが発生していないと判断した場合(ACT12、NO)、ACT11の処理に移行する。即ち、プロセッサ16は、イベントが発生するまでの間、イベントが発生したか否かの判断を繰り返し行う。
【0048】
プロセッサ16は、イベントが発生したと判断した場合(ACT12、YES)、イベント取得プログラム32に操作イベントを通知する(ACT13)。
【0049】
次に、プロセッサ16は、デバイスドライバ22に操作イベントを通知する(ACT14)。なお、プロセッサ16は、イベント取得プログラム32に操作イベントを通知してから、所定時間経過後にデバイスドライバ22に操作イベントを通知する構成であってもよい。また、プロセッサ16は、画像取得補助プログラム33による第1の画像データ43の取得が完了したか否か判断し、完了した場合にデバイスドライバ22に操作イベントを通知する構成であってもよい。
【0050】
次に、プロセッサ16は、イベント取得プログラム32に操作イベントを再度通知する(ACT15)。なお、プロセッサ16は、デバイスドライバ22に操作イベントを通知してから、所定時間経過後にイベント取得プログラム32に操作イベントを再度通知する構成であってもよい。また、プロセッサ16は、アプリケーション23において、画面の遷移が完了したか否か判断し、完了した場合にイベント取得プログラム32に操作イベントを再度通知する構成であってもよい。例えば、プロセッサ16は、第1の画像データ43と、アプリケーション23において現在表示されている画面とを比較し、比較結果に基づいて、アプリケーション23の画面の遷移が完了したか否か判断する。即ち、プロセッサ16は、第1の画像データ43と、アプリケーション23の画面とに差分が生じた場合、アプリケーション23の画面の遷移が完了したと判断する。
【0051】
プロセッサ16は、画面取得モードがオフされたか否か判断する(ACT16)。プロセッサ16は、画面取得モードがオフされた場合(ACT16、YES)、処理を終了する。また、プロセッサ16は、画面取得モードがオフされていない場合(ACT16、NO)、ACT12の処理に移行する。これにより、プロセッサ16は、次の操作イベントの発生を待つ状態になる。
【0052】
図6は、イベント取得プログラム32を実行したプロセッサ16の処理について説明する為のフローチャートである。
【0053】
プロセッサ16は、フィルタドライバ31から操作イベントを受信したか否か判断する(ACT21)。プロセッサ16は、操作イベントを受信していないと判断した場合(ACT21、NO)、ACT21の処理に移行する。即ち、プロセッサ16は、操作イベントを受信するまでの間、操作イベントを受信したか否かの判断を繰り返し行う。
【0054】
プロセッサ16は、操作イベントを受信したと判断した場合(ACT21、YES)、操作イベントの種別を判定する(ACT22)。
【0055】
プロセッサ16は、操作イベントが入力イベントであるか否か判断する(ACT23)。即ち、プロセッサ16は、操作イベントが予め設定されたイベントであるか否か判断する。プロセッサ16は、操作イベントが入力イベントではないと判断した場合(ACT23、NO)、ACT21の処理に移行する。即ち、プロセッサ16は、次の操作イベントの受信を待つ状態になる。
【0056】
プロセッサ16は、操作イベントが入力イベントであると判断した場合(ACT23、YES)、画像取得補助プログラム33に入力イベントを通知する(ACT24)。
【0057】
図7は、画像取得補助プログラム33を実行したプロセッサ16の処理について説明する為のフローチャートである。
【0058】
プロセッサ16は、イベント取得プログラム32から入力イベントを受信したか否か判断する(ACT31)。プロセッサ16は、入力イベントを受信していないと判断した場合(ACT31、NO)、ACT31の処理に移行する。即ち、プロセッサ16は、入力イベントを受信するまでの間、入力イベントを受信したか否かの判断を繰り返し行う。
【0059】
プロセッサ16は、入力イベントを受信したと判断した場合(ACT31、YES)、入力イベントが発生したアプリケーション23の画面に基づき画面情報を生成する(ACT32)。即ち、プロセッサ16は、アプリケーション23の画面の画像データを取得し、識別情報、イベント発生日時、イベント発生座標、及び画像アドレスなどの付加情報を画像データに付加することにより、画面情報を生成する。
【0060】
なお、プロセッサ16は、入力イベントを受信した場合、アプリケーション23の画面が遷移前画面であるか遷移後画面であるか判断する。例えば、プロセッサ16は、フィルタドライバ31及びイベント取得プログラム32の処理内容を参照することにより、アプリケーション23の画面が遷移前画面であるか遷移後画面であるか判断する。また、プロセッサ16は、同じ入力イベントを続けて2回受信した場合、アプリケーション23の画面が遷移後画面であると判断する構成であってもよい。また、フィルタドライバ31が、図5のACT13で通知した操作イベントと、図5のACT15で通知した操作イベントとを区別する為の情報を操作イベントに付加する構成であってもよい。
【0061】
プロセッサ16は、アプリケーション23の画面が遷移前画面であると判断した場合、遷移前画面から生成された画像データ、識別情報、イベント発生日時、イベント発生座標、及び画像アドレスを有する画面情報(第1の画面情報45)を生成する。また、プロセッサ16は、アプリケーション23の画面が遷移後画面であると判断した場合、遷移後画面から生成された画像データ、識別情報、イベント発生日時、イベント発生座標、及び画像アドレスに、さらに、遷移前画面の画像データを有する第1の画面情報45を示すイベント前画像を有する画面情報(第2の画面情報46)を生成する。
【0062】
プロセッサ16は、生成した画面情報の画像データと、画面情報データベース内の画面情報の画像データとの類似度を算出する(ACT33)。画面情報データベース内に複数の画面情報が登録されている場合、プロセッサ16は、各画面情報毎に類似度を算出する。なお、類似度の算出は如何なるものであってもよい。
【0063】
プロセッサ16は、算出した類似度が閾値以上であるか否か判断する(ACT34)。例えば、プロセッサ16は、算出した複数の類似度の中で、最も高い類似度が、閾値以上であるか否か判断する。
【0064】
プロセッサ16は、算出した類似度が閾値以上ではないと判断した場合(ACT34、YES)、ACT32で生成した画面情報をストレージ14の画面情報データベースに登録し(ACT35)、ACT31の処理に移行し、次の入力イベントを待つ状態になる。
【0065】
また、プロセッサ16は、算出した類似度が閾値以上であると判断した場合(ACT34、YES)、画面情報の画像データを、ショートカット(リンク)に置き換え(ACT36)、ACT35の処理に移行する。例えば、プロセッサ16は、ACT33において、最も高い類似度が算出された画像データへのショートカットを生成し、ACT32で生成した画面情報の画像データをショートカットに置き換える。プロセッサ16は、画像データをショートカットに置き換えた画面情報をストレージ14の画面情報データベースに登録し、ACT31の処理に移行し、次の入力イベントを待つ状態になる。
即ち、プロセッサ16は、第1の画像データ43と、予めデータベースに登録された画像データとの類似度を算出し、算出された類似度が予め設定された閾値未満である場合、第1の画像データ43を含む第1の画面情報45をデータベースに登録する。また、プロセッサ16は、第2の画像データ44と、予めデータベースに登録された画像データとの類似度を算出し、算出された類似度が予め設定された閾値未満である場合、第2の画像データ44を含む第2の画面情報46をデータベースに登録する。また、プロセッサ16は、第1の画像データ43と、予めデータベースに登録された画像データとの類似度を算出し、算出された類似度が予め設定された閾値以上である場合、第1の画像データ43の代わりに類似度の算出に用いた画像データへのリンクを含む第1の画面情報45をデータベースに登録する。また、プロセッサ16は、第2の画像データ44と、予めデータベースに登録された画像データとの類似度を算出し、算出された類似度が予め設定された閾値以上である場合、第2の画像データ44の代わりに類似度の算出に用いた画像データへのリンクを含む第2の画面情報46をデータベースに登録する。
【0066】
上記した構成によると、情報処理装置1のプロセッサ16は、アプリケーション23を実行するとともに、アプリケーション23の画面の画像データを取得する画面情報収集プログラムを実行する。プロセッサ16は、画面情報収集プログラム24によって、操作インタフェースからの入力を監視し、操作イベントを検出する。プロセッサ16は、操作イベントが所定のイベント(例えば入力イベント)であった場合、入力イベントがアプリケーション23に反映される前のタイミングで、アプリケーション23の画面から第1の画像データ43を生成し、入力イベントがアプリケーション23に反映された後のタイミングで、アプリケーション23の画面から第2の画像データ44を生成する。プロセッサ16は、生成した第1の画像データ43及び第2の画像データ44を、それぞれストレージ14の画面情報データベースに登録する。
【0067】
これにより、プロセッサ16は、アプリケーション23に対する入力イベントが発生する毎に、画面情報収集プログラム24によって、第1の画像データ43と第2の画像データ44とを生成することができる。即ち、アプリケーション23の改修及び特別な操作を行うことなく、第1の画像データ43と第2の画像データ44とを収集することができる。これによって、自動操作スクリプトに用いられる判定用画像の収集が容易になる。
【0068】
また、画面情報収集プログラム24は、操作インタフェース12の操作によって発生した操作イベントをアプリケーション23に反映させるデバイスドライバ22に、操作イベントが通知される前に、操作イベントを検出するフィルタドライバ31を有する。これにより、画面情報収集プログラム24を実行したプロセッサ16は、入力イベントがアプリケーション23に反映される前のタイミングで、アプリケーション23の画面から第1の画像データ43を生成することができる。また、プロセッサ16は、フィルタドライバ31により操作イベントが検出されてから、所定時間経過後にアプリケーション23の画面の画像を取得することにより、第2の画像データ44を生成することができる。このように、画面情報収集プログラム24を実行したプロセッサ16は、1つの入力イベントに基づいて、遷移後と遷移前との2つの画像データを生成することができる。
【0069】
また、プロセッサ16は、第1の画像データ43及び第2の画像データ44に、イベント発生日時及びイベント発生座標などの情報をそれぞれ付加し、第1の画面情報45及び第2の画面情報46を生成し、ストレージ14の画面情報データベースに登録する。これにより、イベント発生日時を後から把握することが可能になる。また、イベント発生時にアプリケーション23の画面のどの位置がクリック(タッチ)されたかも把握することが可能になる。
【0070】
また、プロセッサ16は、第2の画像データ44をストレージに保存する場合、第2の画像データ44の生成に用いたアプリケーション23の画面の遷移前の画面を示す情報(イベント前画像)を第2の画像データ44に付加する。これにより、第2の画像データ44が、アプリケーション23のどの画面から遷移した画面に基づいて生成されたものであるのかを、把握することが可能になる。
【0071】
また、プロセッサ16は、新しく生成した画像データをストレージ14に保存する前に、既にストレージ14に登録されている複数の画像データを参照する。プロセッサ16は、新しく生成した画像データと、ストレージ14に登録されている複数の画像データとの類似度を算出し、類似度が閾値以上の画像データが保存されていた場合、その画像へのショートカットを画像データの代わりに保存する。これにより、似た画像データが複数ストレージ14に保存される事を防ぐことができる。
【0072】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【0073】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]プロセッサと、操作部材に接続された操作インタフェースと、前記操作インタフェースに入力された信号から、イベントの検出を前記プロセッサに行わせるデバイスドライバと、前記イベントに基づいて、画面の遷移を前記プロセッサに行わせるアプリケーションと、前記イベントにより遷移する前の前記アプリケーションの画面に基づき、第1の画像データを生成することと、前記イベントにより遷移した後の前記アプリケーションの画面に基づき、第2の画像データを生成することとを前記プロセッサに実行させる画面情報収集プログラムと、を記憶したメモリと、を具備する情報処理装置。
[2]前記画面情報収集プログラムを実行した前記プロセッサは、前記操作インタフェースに入力された信号から前記イベントを、前記デバイスドライバより先に検出し、前記アプリケーションの画面に基づき、前記第1の画像データを生成する付記[1]に記載の情報処理装置。
[3]前記画面情報収集プログラムを実行した前記プロセッサは、前記第1の画像データと、予めデータベースに登録された画像データとの類似度を算出し、算出された類似度が予め設定された閾値未満である場合、前記第1の画像データを前記データベースに登録し、前記第2の画像データと、予め前記データベースに登録された前記画像データとの類似度を算出し、算出された類似度が予め設定された閾値未満である場合、前記第2の画像データを前記データベースに登録し、前記第1の画像データと、予めデータベースに登録された画像データとの類似度を算出し、算出された類似度が予め設定された閾値以上である場合、前記第1の画像データの代わりに類似度の算出に用いた画像データへのリンクを前記データベースに登録し、前記第2の画像データと、予め前記データベースに登録された前記画像データとの類似度を算出し、算出された類似度が予め設定された閾値以上である場合、前記第2の画像データの代わりに類似度の算出に用いた画像データへのリンクを前記データベースに登録する付記[1]または[2]に記載の情報処理装置。
[4]前記画面情報収集プログラムを実行した前記プロセッサは、前記第1の画像データ上において前記イベントが発生した位置を示す情報を前記第1の画像データ及び前記第2の画像データにそれぞれ付加して前記データベースに登録する付記[3]に記載の情報処理装置。
[5]プロセッサと、操作部材に接続された操作インタフェースと、前記操作インタフェースに入力された信号から、イベントの検出を前記プロセッサに行わせるデバイスドライバ、及び前記イベントに基づいて、画面の遷移を前記プロセッサに行わせるアプリケーションを記憶したメモリと、を具備する情報処理装置において実行される情報処理プログラムであって、前記プロセッサに、前記イベントにより遷移する前の前記アプリケーションの画面に基づき、第1の画像データを生成することと、前記イベントにより遷移した後の前記アプリケーションの画面に基づき、第2の画像データを生成することと、を実行させる情報処理プログラム。
【符号の説明】
【0074】
1…情報処理装置、11…ディスプレイ、12…操作インタフェース、13…通信インタフェース、14…ストレージ、15…制御部、16…プロセッサ、17…メモリ、21…オペレーティングシステム、22…デバイスドライバ、23…アプリケーション、24…画面情報収集プログラム、31…フィルタドライバ、32…イベント取得プログラム、33…画像取得補助プログラム。
図1
図2
図3
図4
図5
図6
図7