JP2020140574A - Information processor and program - Google Patents

Information processor and program Download PDF

Info

Publication number
JP2020140574A
JP2020140574A JP2019036955A JP2019036955A JP2020140574A JP 2020140574 A JP2020140574 A JP 2020140574A JP 2019036955 A JP2019036955 A JP 2019036955A JP 2019036955 A JP2019036955 A JP 2019036955A JP 2020140574 A JP2020140574 A JP 2020140574A
Authority
JP
Japan
Prior art keywords
image element
image
command
search
information
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
JP2019036955A
Other languages
Japanese (ja)
Other versions
JP7373828B2 (en
Inventor
博隆 水野
Hirotaka Mizuno
博隆 水野
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.)
Asirrera Inc
Original Assignee
Asirrera Inc
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 Asirrera Inc filed Critical Asirrera Inc
Priority to JP2019036955A priority Critical patent/JP7373828B2/en
Publication of JP2020140574A publication Critical patent/JP2020140574A/en
Application granted granted Critical
Publication of JP7373828B2 publication Critical patent/JP7373828B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

To provide an information processor and a program enabling a mechanical operation instead of a manual operation with a simple method.SOLUTION: An information processor 1, which operates according to operation instructions and displays a screen, holds command information in which image elements on the screen to be displayed and operation commands representing operations related to the image elements are associated with each other. When the screen is displayed, from the displayed screen, an image portion corresponding to the image elements included in the command information is searched. When image elements are found by the search, the operation commands associated with the image elements are acquired and predetermined processing based on the operation command is executed. When the image elements are not found, predetermined re-search processing is executed.SELECTED DRAWING: Figure 1

Description

本発明は、動作指示に従って動作し、画面を表示する情報処理装置、及びプログラムに関する。 The present invention relates to an information processing device and a program that operate according to an operation instruction and display a screen.

パーソナルコンピュータ等の情報処理装置の普及により、種々の情報の検索や計算等の処理が格段に容易になっている。しかしながら、情報処理装置を運用するにあたっては、所望の処理を行うためのアプリケーションソフトウエアに対し、当該アプリケーションソフトウエアごとに定められる入力方式により必要な情報を入力する必要がある。 With the widespread use of information processing devices such as personal computers, processing such as retrieval and calculation of various information has become much easier. However, in operating the information processing device, it is necessary to input necessary information into the application software for performing the desired processing by the input method defined for each application software.

例えば、顧客管理のアプリケーションソフトウエアでは、顧客名や電話番号、担当者名等の情報の入力を行うこととなるが、このような情報が常に、人為的な操作を行うことなく、電子的に取り込むことができるとは限らない。具体的には、オペレータが、表計算アプリケーションプログラムのファイルにまとめられた情報を目視で参照しつつ、当該情報を、「コピー・アンド・ペースト」の操作により、顧客管理アプリケーションソフトウエアに写して入力する、などということが行われているのが実情である。 For example, in customer management application software, information such as the customer name, telephone number, and person in charge is input, and such information is always electronically performed without any human operation. It is not always possible to capture. Specifically, the operator visually refers to the information collected in the spreadsheet application program file, and copies the information into the customer management application software by "copy and paste" operation. The reality is that things like doing things are done.

特開2017−219978号公報Japanese Unexamined Patent Publication No. 2017-219978

このように、上記従来の情報処理装置では、情報の転記等、単純な繰り返し作業の操作であっても、これを人為的に行わなければならない場合があって、利便性が損なわれていた。 As described above, in the above-mentioned conventional information processing apparatus, even a simple repetitive operation such as information transcription may have to be performed artificially, which impairs convenience.

また、マクロと呼ばれる、自動的な操作実行のための機能を備えたアプリケーションプログラムも存在するが、複数のアプリケーションプログラムに対する操作を指示することが困難であり、さらにマクロのプログラムを記述することが一般的なユーザには難しいものとなっていた。 There are also application programs called macros that have a function for automatic operation execution, but it is difficult to instruct operations on multiple application programs, and it is common to write macro programs. It was difficult for a typical user.

特許文献1には、グラフィカルユーザインタフェースを備えたプログラムのテストをする場合に、画面設計に変更があったときにも、テスト工程を自動化できる方法が開示されている。 Patent Document 1 discloses a method capable of automating the test process even when the screen design is changed when testing a program having a graphical user interface.

本発明は上記実情に鑑みて為されたもので、簡便な方法で、人為的操作を代替して機械実行させることのできる情報処理装置、及びプログラムを提供することを、その目的の一つとする。 The present invention has been made in view of the above circumstances, and one of its objects is to provide an information processing device and a program capable of performing machine execution in place of human operation by a simple method. ..

上記従来例の問題点を解決する本発明は、動作指示に従って動作し、画面を表示する情報処理装置であって、前記表示する画面上の画像要素と、当該画像要素に関係する操作を表す操作コマンドとを関連付けたコマンド情報を保持する保持手段と、前記画面を表示しているときに、当該表示している画面から、前記コマンド情報に含まれる画像要素に相当する画像部分を検索する検索手段と、検索によって前記コマンド情報に含まれる画像要素を見出したときに、当該画像要素に関連付けられた操作コマンドを取得し、当該操作コマンドに基づく所定処理を実行する処理実行手段と、を含み、前記検索手段が前記コマンド情報に含まれる画像要素を見出さなかった場合に、所定の再検索処理を実行することとしたものである。 The present invention, which solves the problems of the above conventional example, is an information processing device that operates according to an operation instruction and displays a screen, and is an operation representing an image element on the screen to be displayed and an operation related to the image element. A holding means for holding command information associated with a command, and a search means for searching an image portion corresponding to an image element included in the command information from the displayed screen when the screen is displayed. And, when an image element included in the command information is found by a search, a process execution means for acquiring an operation command associated with the image element and executing a predetermined process based on the operation command is included. When the search means does not find the image element included in the command information, a predetermined re-search process is executed.

本発明によると、簡便な方法で、人為的操作を代替して機械実行させることが可能となる。 According to the present invention, it is possible to execute a machine by substituting an artificial operation by a simple method.

本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。It is a block diagram which shows the structural example of the information processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。It is a functional block diagram which shows the example of the information processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る情報処理装置が表示する画面画像の例を表す説明図である。It is explanatory drawing which shows the example of the screen image which the information processing apparatus which concerns on embodiment of this invention displays. 本発明の実施の形態に係る情報処理装置の処理例を表す説明図である。It is explanatory drawing which shows the processing example of the information processing apparatus which concerns on embodiment of this invention.

本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、図1に例示するように、プロセッサ11と、記憶部12と、操作部13と、表示部14と、通信部15とを含んで構成されている。 Embodiments of the present invention will be described with reference to the drawings. As illustrated in FIG. 1, the information processing device 1 according to the embodiment of the present invention includes a processor 11, a storage unit 12, an operation unit 13, a display unit 14, and a communication unit 15. ing.

プロセッサ11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムを実行する。本実施の形態では、このプロセッサ11は、プログラムによる動作指示に従って動作し、画面を表示する処理、つまり、一般的なアプリケーションプログラムの実行処理を行う。またこのプロセッサ11は、一連の操作コマンドを含むコマンド情報を記憶部12に保持させる。この操作コマンドには、文字列の入力等のコマンドのほか、上記アプリケーションプログラムの処理において表示した画面上の画像要素と、当該画像要素に関係する操作を表す操作コマンドとを関連付けた操作コマンドが含まれる。このコマンド情報は、フローチャートなど、コマンドの実行フローを表す図形として表示出力されてもよい。 The processor 11 is a program control device such as a CPU, and executes a program stored in the storage unit 12. In the present embodiment, the processor 11 operates according to an operation instruction by a program and performs a process of displaying a screen, that is, an execution process of a general application program. Further, the processor 11 stores the command information including a series of operation commands in the storage unit 12. In addition to commands such as inputting a character string, this operation command includes an operation command in which an image element on the screen displayed in the processing of the above application program is associated with an operation command representing an operation related to the image element. Is done. This command information may be displayed and output as a graphic representing a command execution flow such as a flowchart.

またプロセッサ11は、記憶部12に保持しているコマンド情報に基づく処理を実行する。そして当該処理中に、画面上の画像要素を検索の条件とするコマンドを実行する際には、このコマンド情報に基づく処理と並列して実行しているアプリケーションプログラムの実行中の表示画面から、上記実行しているコマンドで特定される画像要素に相当する画像部分を検索する。そしてここでの検索によってコマンド情報に含まれる画像要素を見出すと、プロセッサ11は、当該コマンドで指定される所定処理を実行する。またプロセッサ11は、検索の処理において、コマンド情報に含まれる画像要素を見出さなかった場合には、所定の再検索処理等のリトライ処理を実行することとしてもよい。このプロセッサ11の詳しい動作については後に述べる。 Further, the processor 11 executes a process based on the command information stored in the storage unit 12. Then, when executing a command that uses an image element on the screen as a search condition during the process, the above is displayed from the running display screen of the application program that is being executed in parallel with the process based on this command information. Search for the image part corresponding to the image element specified by the command being executed. Then, when the image element included in the command information is found by the search here, the processor 11 executes a predetermined process specified by the command. Further, when the processor 11 does not find the image element included in the command information in the search process, the processor 11 may execute a retry process such as a predetermined re-search process. The detailed operation of the processor 11 will be described later.

記憶部12は、メモリデバイスやディスクデバイス等であり、プロセッサ11によって実行されるプログラムを保持する。本実施の形態ではこのプログラムは、コンピュータ可読かつ非一時的な、DVD等の記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。またこの記憶部12は、プロセッサ11のワークメモリとしても動作し、コマンド情報等を保持する。 The storage unit 12 is a memory device, a disk device, or the like, and holds a program executed by the processor 11. In the present embodiment, the program may be provided by being stored in a computer-readable and non-temporary recording medium such as a DVD, and may be stored in the storage unit 12. The storage unit 12 also operates as a work memory of the processor 11 and holds command information and the like.

操作部13は、マウスやキーボード等であり、利用者の指示操作を受け入れて、当該指示操作の内容を表す情報を、プロセッサ11に出力する。表示部14は、ディスプレイ等であり、プロセッサ11が出力する指示に従って情報を表示する。 The operation unit 13 is a mouse, a keyboard, or the like, receives an instruction operation of the user, and outputs information representing the content of the instruction operation to the processor 11. The display unit 14 is a display or the like, and displays information according to an instruction output by the processor 11.

通信部15は、ネットワークインタフェース等であり、プロセッサ11が出力する指示に従い、ネットワークを介して接続されるサーバ等に対して情報を送出する。また、この通信部15は、ネットワークを介して接続されるサーバ等から情報を受信してプロセッサ11に出力する。 The communication unit 15 is a network interface or the like, and sends information to a server or the like connected via the network according to an instruction output by the processor 11. Further, the communication unit 15 receives information from a server or the like connected via a network and outputs the information to the processor 11.

次に、プロセッサ11の動作について説明する。本実施の形態のプロセッサ11は、記憶部12に格納されたプログラムに従って動作して、機能的に、図2に例示するように、アプリケーション実行部21と、コマンド生成部22と、コマンド情報保持部23と、処理実行部24とを含む構成を実現する。またここで処理実行部24は、解釈部31と、検索部32と、実行部33とを含む。 Next, the operation of the processor 11 will be described. The processor 11 of the present embodiment operates according to the program stored in the storage unit 12, and functionally, as illustrated in FIG. 2, the application execution unit 21, the command generation unit 22, and the command information holding unit A configuration including the 23 and the processing execution unit 24 is realized. Further, here, the processing execution unit 24 includes an interpretation unit 31, a search unit 32, and an execution unit 33.

アプリケーション実行部21は、一般的なアプリケーションプログラムの実行処理を行う。本実施の形態では、情報処理装置1のプロセッサ11は、一般的なパーソナルコンピュータのオペレーティングシステム、例えばウィンドウズ(登録商標)の処理を実行しており、複数のアプリケーションプログラムを時分割的に、実質的に並列に実行している(いわゆるマルチタスク処理を実行している)ものとする。 The application execution unit 21 executes a general application program. In the present embodiment, the processor 11 of the information processing apparatus 1 executes processing of a general personal computer operating system, for example, Windows (registered trademark), and substantially divides a plurality of application programs in a time-divided manner. It is assumed that they are executing in parallel (so-called multitasking processing is being executed).

ここでアプリケーション実行部21により実行されるアプリケーションプログラムは、一般的にはユーザが操作部13を操作することによってオペレーティングシステムを介して入力される動作指示に従って動作し、所定の処理を実行して、当該実行の結果を表示部14等の画面に表示出力する。 Here, the application program executed by the application execution unit 21 generally operates according to an operation instruction input via the operating system by the user operating the operation unit 13, executes a predetermined process, and then executes a predetermined process. The result of the execution is displayed and output on the screen of the display unit 14 or the like.

ここで操作部13から入力されるのに代えて、操作部13に対してユーザが所定の操作を行ったときと同じ動作指示(以下、擬制動作指示と呼ぶ)をオペレーティングシステムに対して出力することで、あたかもユーザが操作部13に対して上記所定の操作をしたかのような動作指示が、情報処理装置1に対して行われる。 Here, instead of being input from the operation unit 13, the same operation instruction (hereinafter referred to as a fictitious operation instruction) as when the user performs a predetermined operation on the operation unit 13 is output to the operating system. As a result, an operation instruction is given to the information processing device 1 as if the user performed the predetermined operation on the operation unit 13.

例えばあるアプリケーションプログラムのウィンドウ内の所定位置をクリックした場合と同じ動作指示である擬制動作指示をオペレーティングシステムに対して出力すると、オペレーティングシステムはそれ自身の動作として、上記所定位置でクリックが行われたことを表す情報を、対応するアプリケーションプログラムに対して出力する(あるいはオペレーティングシステムのユーザインタフェースアプリケーションが、対応するアプリケーションプログラムのウィンドウを操作の対象としてアクティブにする)。そして当該アプリケーションプログラム(オペレーティングシステムのユーザインタフェースアプリケーションを含む)は、ユーザが当該擬制動作指示に対応する操作を行った場合と同じ処理を行う。 For example, when a pseudo operation instruction, which is the same operation instruction as when a click is performed at a predetermined position in a window of an application program, is output to the operating system, the operating system performs the click at the predetermined position as its own operation. Outputs information indicating that to the corresponding application program (or the operating system user interface application activates the corresponding application program window for operation). Then, the application program (including the user interface application of the operating system) performs the same processing as when the user performs an operation corresponding to the fictitious operation instruction.

コマンド生成部22は、ユーザのコマンド情報の生成指示に従って、コマンド情報を生成する。本実施の形態では、このコマンド情報には、キーボードやマウスカーソルの移動操作に対応する擬制動作指示を含むコマンド(以下、擬制動作指示を出力するコマンドを操作コマンドと称する)、のほか、条件分岐のコマンド等種々のコマンドが含まれる。 The command generation unit 22 generates command information according to a user's command information generation instruction. In the present embodiment, the command information includes a command including a fictitious operation instruction corresponding to a movement operation of the keyboard or the mouse cursor (hereinafter, a command for outputting the fictitious operation instruction is referred to as an operation command), and a conditional branch. Various commands such as the command of are included.

具体的にこのコマンド生成部22は、コマンド情報の生成指示を受けると、操作コマンドの入力を受け付ける。ここでコマンド生成部22は、
(1)キーボードやマウスカーソルの移動操作に対応する操作を表す操作コマンド、
(2)画面上の画像要素に関係する操作を表す操作コマンド、
(3)条件分岐
(4)ループ処理
(5)例外処理
(6)ネットワーク処理(メールクライアント等)
を含むコマンドテンプレートの候補から一つのコマンドテンプレートの選択を受け入れる。
Specifically, when the command generation unit 22 receives a command information generation instruction, it accepts an input of an operation command. Here, the command generation unit 22
(1) Operation commands that represent operations corresponding to keyboard and mouse cursor movement operations,
(2) Operation commands that represent operations related to image elements on the screen,
(3) Conditional branching (4) Loop processing (5) Exception handling (6) Network processing (mail client, etc.)
Accepts the selection of one command template from the candidate command templates including.

そして受け入れたコマンドテンプレートが文字列の入力操作を表すものである場合や、マウスカーソルの移動の操作をあらわすものである場合は、ユーザに対して実際に文字列やマウスカーソルの移動操作を求める。ユーザが当該求めに応じて文字列の入力操作やマウスカーソルの移動操作を行うと、当該操作を記録して、当該操作に対応する擬制動作指示を出力する操作コマンドを生成する。このような操作の記録の方法は、広く知られているので、ここでの詳しい説明は省略する。 Then, when the accepted command template represents a character string input operation or a mouse cursor movement operation, the user is actually requested to move the character string or the mouse cursor. When the user performs a character string input operation or a mouse cursor movement operation in response to the request, the operation is recorded and an operation command for outputting a fictitious operation instruction corresponding to the operation is generated. Since the method of recording such an operation is widely known, detailed description thereof will be omitted here.

またコマンド生成部22は、画面上の画像要素に関係する操作を表す操作コマンドを生成するべき旨の指示を受け入れると、その時点で画面上(以下では画面全体の画像を画面画像と呼ぶ)に表示される画像の一部(画像要素)を指定する情報の入力を、ユーザに対して要求する。この動作は、例えばユーザに対し、実際にアプリケーションプログラムの動作中に表示された画面画像の一部を選択させること(範囲指定等を行わせること)で実行できる。 When the command generation unit 22 receives an instruction to generate an operation command indicating an operation related to an image element on the screen, the command generation unit 22 displays the image of the entire screen on the screen (hereinafter, the image of the entire screen is referred to as a screen image) at that time. Requests the user to input information that specifies a part (image element) of the displayed image. This operation can be executed, for example, by having the user select a part of the screen image actually displayed during the operation of the application program (by designating a range or the like).

そしてコマンド生成部22は、上記要求に応じてユーザが入力した画像要素を受け入れ、さらに、当該受け入れた画像要素に関連して実行されるべき操作を特定する情報の入力を受け入れる。この情報により特定される操作としては、例えば受け入れた画像要素に対応する入力欄を選択するマウスクリックの操作や、ユーザが指定した画面上の位置にマウスカーソルを移動してマウスをクリックする操作等が含まれる。そしてコマンド生成部22は、当該受け入れた画像要素と、それに関連付けて実行されるべき操作を特定する情報とを関連付けて、操作コマンドを生成する。 Then, the command generation unit 22 accepts the image element input by the user in response to the above request, and further accepts the input of information specifying the operation to be executed in relation to the accepted image element. The operations specified by this information include, for example, a mouse click operation for selecting an input field corresponding to an accepted image element, an operation for moving the mouse cursor to a position on the screen specified by the user, and an operation for clicking the mouse. Is included. Then, the command generation unit 22 generates an operation command by associating the accepted image element with information that identifies an operation to be executed in association with the accepted image element.

なお、本実施の形態においては、コマンド生成部22は、実行されるべき操作として、マウスクリック等、画面上の位置を特定する操作を特定する情報の入力が行われた場合、受け入れた画像要素の位置(例えば当該画像要素の左上隅の座標の情報でよい)からの相対的位置として、当該操作に係る位置の情報を、操作コマンドに含めて記録する。 In the present embodiment, the command generation unit 22 accepts an image element when information for specifying a position on the screen such as a mouse click is input as an operation to be executed. As a relative position from the position of (for example, the information of the coordinates of the upper left corner of the image element), the information of the position related to the operation is included in the operation command and recorded.

またここでコマンド生成部22が受け入れる、実行されるべき操作を表す操作コマンドは、一つの画像要素ごとに一つとは限らず、一つの画像要素に対して、例えばクリック操作と文字列の入力操作等、複数の操作コマンドが関連付けられてもよい。 Further, the operation command that the command generation unit 22 accepts and represents the operation to be executed is not limited to one for each image element, and for example, a click operation and a character string input operation for one image element. Etc., a plurality of operation commands may be associated with each other.

さらに本実施の形態の一例では、ここでコマンド生成部22が受け入れるコマンドには、操作を表す操作コマンドのほか、コマンド実行に関わるコマンドとして例えば、条件分岐に関わるコマンドや、ループ処理のコマンド、例外処理に関わるコマンド等が含まれる。ここで条件分岐に関わるコマンドを受け入れるときには、コマンド生成部22は、処理の分岐に関わる条件の指定を受け入れる。この条件には、
・時間経過の条件(10秒経過したか、など)
・画像要素の変化に係る条件(指定された画像要素が出現した、あるいは指定された画像要素が表示されなくなった、など)
・操作対象に係る条件(操作の対象となるデータが存在しない、などの条件)
などといった条件を含む。
Further, in an example of the present embodiment, the commands received by the command generation unit 22 include operation commands indicating operations, commands related to command execution, for example, commands related to conditional branching, commands for loop processing, and exceptions. Commands related to processing are included. Here, when accepting a command related to conditional branching, the command generation unit 22 accepts the specification of the condition related to the branching of processing. This condition
・ Conditions for the passage of time (whether 10 seconds have passed, etc.)
-Conditions related to changes in image elements (specified image elements have appeared, specified image elements are no longer displayed, etc.)
-Conditions related to the operation target (conditions such as no data to be operated)
Including conditions such as.

コマンド生成部22は、画像要素の変化に係る条件の指定を受け入れるときには、画像要素に対する操作を表す操作コマンドを生成する際と同様に、実際にアプリケーションプログラムの動作中に表示された画面画像の一部を選択させること(範囲指定等を行わせること)とすればよい。 When accepting the specification of the condition relating to the change of the image element, the command generation unit 22 is one of the screen images actually displayed during the operation of the application program, as in the case of generating the operation command indicating the operation on the image element. It suffices to select a part (to specify a range, etc.).

また、ループ処理のコマンドでは、繰り返し処理されるコマンドの群(グループ)が設定されるとともに、ループの条件が設定される。この場合の条件は、条件分岐におけるものと同様であり、条件が満足されるまで、指定されたグループに含まれるコマンドの処理を繰り返す。 In the loop processing command, a group of commands to be repeatedly processed is set, and loop conditions are set. The conditions in this case are the same as those in the conditional branch, and the processing of the commands included in the specified group is repeated until the conditions are satisfied.

コマンド生成部22は、ユーザがコマンドの入力の終了を指示するまで、繰り返してコマンドの入力を受け入れる。そして、コマンド生成部22は、ユーザがコマンドの入力の終了を指示すると、生成した順(あるいは指定された順)に、生成したコマンドを配列して、当該コマンドを一連の処理として実行する、コマンド情報を生成する。 The command generation unit 22 repeatedly accepts the command input until the user instructs the end of the command input. Then, when the user instructs the end of the command input, the command generation unit 22 arranges the generated commands in the order of generation (or the order specified) and executes the command as a series of processes. Generate information.

また、本実施の形態の一例では、コマンド情報に含まれるコマンドには、コマンドの実行中に生じ得る所定のリトライ条件(画像の検索に失敗した、などの条件)とともに、当該リトライ条件が満足されたときに実行されるべきリトライ処理がさらに関連付けられてもよい。 Further, in an example of the present embodiment, the command included in the command information is satisfied with a predetermined retry condition (condition such as failure to search for an image) that may occur during execution of the command. The retry process to be executed at the time may be further associated.

コマンド情報保持部23は、コマンド生成部22が生成したコマンド情報を、記憶部12に格納して記録する。このときコマンド情報保持部23は、各コマンド情報にそれぞれを特定する名称等を関連付けて保持してもよい。この名称等は、ユーザから入力されるものであってもよい。 The command information holding unit 23 stores and records the command information generated by the command generating unit 22 in the storage unit 12. At this time, the command information holding unit 23 may hold each command information in association with a name or the like that identifies the command information. This name and the like may be input by the user.

処理実行部24は、インタープリタ等であり、ユーザから、コマンド情報を特定する指示とともに、当該指示により特定されるコマンド情報を実行するべき旨の指示を受け入れると、当該コマンド情報に含まれるコマンドに基づく処理を、順次実行する。 The processing execution unit 24 is an interpreter or the like, and when it receives an instruction from the user to specify the command information and an instruction to execute the command information specified by the instruction, it is based on the command included in the command information. The processes are executed sequentially.

本実施の形態において処理実行部24は、プロセッサ11が一般的なアプリケーションプログラムや、オペレーティングシステムの処理を実行して、当該処理に基づく画面表示を行っているときに、ユーザからコマンド情報の実行指示を受け入れて次のように動作する。 In the present embodiment, the process execution unit 24 is instructed by the user to execute command information when the processor 11 executes a general application program or a process of an operating system and displays a screen based on the process. Accepts and works as follows.

すなわち、各コマンドに基づく処理の過程において、処理実行部24は、コマンド情報に含まれる先頭のコマンドから、各ステップのコマンドを実行する。具体的にこの処理実行部24は、コマンド情報に含まれる各コマンドを順次、注目ステップとして選択し、当該注目ステップのコマンドを参照する。ここで注目コマンドの選択順序等を決定する方法は広く知られているので、ここでの詳しい説明は省略する。 That is, in the process of processing based on each command, the processing execution unit 24 executes the command of each step from the first command included in the command information. Specifically, the processing execution unit 24 sequentially selects each command included in the command information as a attention step, and refers to the command of the attention step. Since the method of determining the selection order of the command of interest is widely known here, detailed description thereof will be omitted here.

処理実行部24の解釈部31は、当該参照したコマンドを解釈(インタープレット)する。具体的にこの解釈部31は、参照したコマンドが、
(1)キーボードやマウスカーソルの移動操作に対応する擬制動作指示を含む操作コマンド
である場合は、当該操作コマンドが表す擬制動作指示を出力するよう、実行部33に指示する。
The interpretation unit 31 of the processing execution unit 24 interprets (interprets) the referenced command. Specifically, in this interpretation unit 31, the referenced command is
(1) When the operation command includes a fictitious operation instruction corresponding to the movement operation of the keyboard or the mouse cursor, the execution unit 33 is instructed to output the fictitious operation instruction represented by the operation command.

また、解釈部31は、参照したコマンドが、
(2)画面上の画像要素に関係する操作を表す操作コマンド
であれば、検索部32に対して、当該操作コマンドに含まれる画像要素の情報を参照し、当該画像要素に相当する画像部分を画面画像から検索するよう指示する。この際の検索部32の処理については後に述べる。
Further, in the interpretation unit 31, the referenced command is
(2) If it is an operation command representing an operation related to an image element on the screen, the search unit 32 is referred to the information of the image element included in the operation command, and the image portion corresponding to the image element is displayed. Instruct to search from the screen image. The processing of the search unit 32 at this time will be described later.

解釈部31は、さらに、参照したコマンドが(3)条件分岐であれば、指定された条件を満足するか否かにより、次に実行するコマンド(次に選択する注目ステップ)を決定する。 Further, if the referenced command is (3) conditional branching, the interpreting unit 31 determines the command to be executed next (the next step of interest to be selected) depending on whether or not the specified condition is satisfied.

また解釈部31は、参照したコマンドが(4)ループ処理を指定するものであれば、ループ処理するコマンドのグループを設定し、当該グループに含まれるコマンドを、ループ処理で指定された条件が満足されたと実行部33が判断するまで繰り返し実行する。 Further, if the referenced command specifies (4) loop processing, the interpretation unit 31 sets a group of commands to be looped, and the commands included in the group satisfy the conditions specified in the loop processing. It is repeatedly executed until the execution unit 33 determines that the command has been completed.

さらに解釈部31は、コマンドが(5)例外処理を指定するものであれば、指定されたステップのコマンドを実行部33が実行している間にエラーが生じた場合に、指定された例外処理ステップから順にコマンドを実行する。 Further, if the command specifies (5) exception handling, the interpreting unit 31 will handle the specified exception if an error occurs while the execution unit 33 is executing the command of the specified step. Execute commands in order from the step.

このほか、コマンドが(6)ネットワーク処理(メールクライアント等)や、プロセス間通信を行うもの、さらにはオペレーティングシステムのシステムコールやAPI(Application Program Interface)を呼び出すもの等である場合、解釈部31は、指定された処理を行うよう実行部33に指示する。 In addition, if the command is (6) network processing (mail client, etc.), interprocess communication, or calling an operating system system call or API (Application Program Interface), the interpretation unit 31 , Instructs the execution unit 33 to perform the specified process.

さらに解釈部31は、コマンドにリトライ条件とリトライ処理とが設定されているときには、当該リトライ条件が満足されるか否かを判断し、リトライ条件が満足されたと判断すると、設定されているリトライ処理を実行する。 Further, the interpretation unit 31 determines whether or not the retry condition is satisfied when the retry condition and the retry process are set in the command, and if it determines that the retry condition is satisfied, the set retry process. To execute.

具体的に、画面上の画像要素に関係する操作を表す操作コマンドにおいてリトライ条件とリトライ処理とが、「画像要素が見出せない」ことをリトライ条件とし、このリトライ条件が満足されたときには、画像要素の検索を再度行うことをリトライ処理として、それぞれ設定されてもよい。この場合、リトライ処理までの間に、処理の遅延により表示されていなかった、検索の対象である画像要素が表示されれば、リトライ処理により画像要素の検索ができることとなる。 Specifically, in the operation command representing the operation related to the image element on the screen, the retry condition and the retry process set the retry condition that "the image element cannot be found", and when this retry condition is satisfied, the image element. It may be set as a retry process to perform the search again. In this case, if the image element to be searched, which was not displayed due to the processing delay, is displayed before the retry processing, the image element can be searched by the retry processing.

またリトライ処理のときには、検索条件を異ならせてもよい。例えば、上述の場合に、リトライ処理として、スクロールを試みて再度、画像要素の検索を行うことが設定されてもよい。 In addition, the search conditions may be different during the retry process. For example, in the above case, as the retry process, scrolling may be attempted and the image element may be searched again.

この場合解釈部31は、後に述べる検索部32の処理により検索が失敗したことを表す通知を受けると、上記リトライ条件が満足されたとして、リトライ処理を実行する。 In this case, when the interpretation unit 31 receives a notification indicating that the search has failed due to the processing of the search unit 32 described later, the interpretation unit 31 executes the retry process assuming that the above retry conditions are satisfied.

なお、リトライ条件とリトライの処理とは、ここで述べた画像の検索に係る例に限られない。例えばクリック操作を行う操作コマンドにおいては、画面が変化しないことがリトライ条件とし、所定時間待機してからクリック操作を再実行することがリトライ処理として、それぞれ設定されていてもよい。同様に、文字列の入力を行う操作コマンドにおいては、同様に文字入力を行っても画面が変化しないことがリトライ条件として、また、所定時間待機してから、コマンド情報上でn個だけ前のコマンド(nは1以上の整数)から再実行すること(例えば1つ前のコマンドで、入力欄をクリックしていれば、当該コマンドから再実行すること)が、リトライ処理として、それぞれ設定されてもよい。ここで、画像の検索に係るリトライ処理については、種々の方法があるので、後に述べる。 The retry condition and the retry process are not limited to the examples related to the image search described here. For example, in the operation command for performing the click operation, the retry condition may be set so that the screen does not change, and the retry process may be set to wait for a predetermined time and then re-execute the click operation. Similarly, in the operation command for inputting a character string, the retry condition is that the screen does not change even if the character input is performed in the same manner, and after waiting for a predetermined time, the command information is n times before. Re-execution from the command (n is an integer of 1 or more) (for example, if the previous command clicks the input field, re-executes from the command) is set as the retry process. May be good. Here, since there are various methods for the retry process related to the image search, they will be described later.

検索部32は、解釈部31から入力される指示に従い、操作コマンドに含まれる画像要素の情報を参照し、当該画像要素に相当する画像部分を画面画像から検索する。 The search unit 32 refers to the information of the image element included in the operation command according to the instruction input from the interpretation unit 31, and searches the screen image for the image portion corresponding to the image element.

具体的に、この検索部32は、処理の時点で表示されている画面画像を、所定の経路でスキャンしつつ、検索の対象となる画像要素と同じサイズの比較対象領域を抽出する。ここでスキャンの経路は例えば画面画像の左上隅を開始点として1ピクセルずつ右へずらしていき、比較対象領域の右端が画面画像の右端に達したところで、比較対象領域の左隅を画面画像の左隅まで移動し、比較対象領域を1ピクセルだけ下にずらす…といった処理を繰り返し、比較対象領域の右下隅と画面画像の右下隅とが一致したところで処理を終了することで行えばよい(いわゆるスキャンライン順に移動すればよい)。 Specifically, the search unit 32 extracts a comparison target area having the same size as the image element to be searched while scanning the screen image displayed at the time of processing by a predetermined route. Here, the scan path is, for example, shifted to the right by one pixel from the upper left corner of the screen image, and when the right end of the comparison target area reaches the right end of the screen image, the left corner of the comparison target area is the left corner of the screen image. The process may be repeated by moving to, shifting the comparison target area down by one pixel, and so on, and ending the process when the lower right corner of the comparison target area and the lower right corner of the screen image match (so-called scan line). You can move in order).

検索部32は、上記のスキャンの間、画面画像から抽出した比較対象領域内の画像部分が、検索の対象となる画像要素と一致したか否かを調べる。そして抽出した比較対象領域内の画像部分が、検索の対象となる画像要素と一致ならば、検索部32は、そこでスキャンを終了し、当該画像要素を見出した位置を表す情報(例えばこの時点での比較対象領域の左上隅と右下隅との画面上のピクセルの位置を表す情報)を実行部33に出力する。 During the above scan, the search unit 32 checks whether or not the image portion in the comparison target area extracted from the screen image matches the image element to be searched. If the extracted image portion in the comparison target area matches the image element to be searched, the search unit 32 ends scanning there, and information indicating the position where the image element is found (for example, at this point in time). Information indicating the positions of pixels on the screen between the upper left corner and the lower right corner of the comparison target area) is output to the execution unit 33.

検索部32は、また、スキャンの処理が終了するまでの間に、画面画像から抽出した比較対象領域内の画像が、検索の対象となる画像要素と一致しなかったときには、解釈部31に対して検索が失敗した旨を通知する。 The search unit 32 also refers to the interpretation unit 31 when the image in the comparison target area extracted from the screen image does not match the image element to be searched by the time the scanning process is completed. Notifies that the search has failed.

実行部33は、検索部32から、画像要素に相当する画像部分を見出した位置を表す情報の入力を受けると、現在実行しようとする操作コマンドに含まれる(検索した画像要素に関連付けられた)実行されるべき操作を特定する情報を参照して、当該情報で特定される操作が行われたとする擬制動作指示をアプリケーション実行部21(オペレーティングシステム)に対して出力する。 When the execution unit 33 receives input from the search unit 32 of information indicating the position where the image portion corresponding to the image element is found, the execution unit 33 is included in the operation command to be executed at present (associated with the searched image element). With reference to the information that specifies the operation to be executed, a fictitious operation instruction that the operation specified by the information is performed is output to the application execution unit 21 (operating system).

一例として、現在実行しようとしているコマンド(検索により見出した画像要素に係る操作コマンド)により特定される操作が、画面上の所定位置をクリックする操作である場合、実行部33は次のように動作する。既に述べたように、操作コマンドでは、クリックする位置などが、対応する画像要素に係る位置(例えば画像要素の左上隅の座標とする)からの相対的位置として表現されている。 As an example, when the operation specified by the command currently being executed (operation command related to the image element found by the search) is an operation of clicking a predetermined position on the screen, the execution unit 33 operates as follows. To do. As described above, in the operation command, the click position or the like is expressed as a relative position from the position related to the corresponding image element (for example, the coordinates of the upper left corner of the image element).

そこで実行部33は、操作コマンドに含まれるクリックの位置を表す情報に、検索部32から入力された、画像部分を見いだした位置を表す情報(見いだした位置の左上隅の情報)を加算して、実際にクリックするべき位置を表す情報を得る。なお、ここでの加算は、座標(ベクトル)情報の加算であり、成分ごとに加算される。 Therefore, the execution unit 33 adds the information indicating the position where the image portion is found (information in the upper left corner of the found position) input from the search unit 32 to the information indicating the click position included in the operation command. , Get information that represents where you should actually click. The addition here is the addition of coordinate (vector) information, and is added for each component.

実行部33は、得られた情報で表される位置をクリックしたとする擬制動作指示を、アプリケーション実行部21に対して出力する。なお、ここではクリックを例として説明したが、ドラッグ操作(マウスボタンを押したままマウスを移動する操作)や、マウスボタンを離す操作についても同様に、実際に操作を行うべき位置を表す情報を、検索部32から入力された、画像部分を見いだした位置を表す情報を、操作コマンドに含まれる位置の情報に加算することによって得て、得られた情報で表される位置までドラッグした場合や、当該位置でマウスボタンを離したとする擬制動作指示を、アプリケーション実行部21に対して出力する。 The execution unit 33 outputs a fictitious operation instruction indicating that the position represented by the obtained information is clicked to the application execution unit 21. In addition, although the click is described as an example here, the drag operation (the operation of moving the mouse while pressing the mouse button) and the operation of releasing the mouse button also provide information indicating the position where the operation should be actually performed. , When the information indicating the position where the image part is found, which is input from the search unit 32, is added to the position information included in the operation command and dragged to the position represented by the obtained information. , A fictitious operation instruction indicating that the mouse button is released at the relevant position is output to the application execution unit 21.

[画像検索に係るリトライ処理の例]
次に、画像の検索に係るリトライ処理の例について述べる。本実施の形態の例では、検索部32が画像の検索に失敗した場合に、解釈部31が、画像要素に対応する画像部分の検索条件を次の例のように異ならせて、再度、検索部32に対して画像の検索を行わせてもよい。すなわち本実施の形態の一例に係るリトライ処理では、検索範囲を変更して再度の検索を行う。また、本実施の形態の別の例では、画像部分が表示されるまでに時間がかかっている場合を考慮して、検索範囲を変更せずに再度の検索を行ってもよい(この場合、予め定めた回数だけ再度の検索を行っても検索に失敗する場合は、検索範囲を変更するなどして再度の検索を行ってもよく、また他のリトライ処理を行ってもよく、さらに、エラーを報知して処理を終了してもよい)。
[Example of retry processing related to image search]
Next, an example of the retry process related to the image search will be described. In the example of the present embodiment, when the search unit 32 fails to search for an image, the interpretation unit 31 makes the search conditions of the image portion corresponding to the image element different as in the following example, and searches again. The image may be searched for the unit 32. That is, in the retry process according to the example of the present embodiment, the search range is changed and the search is performed again. Further, in another example of the present embodiment, in consideration of the case where it takes time for the image portion to be displayed, the search may be performed again without changing the search range (in this case, the search range may be changed). If the search fails even after performing the search again a predetermined number of times, the search may be performed again by changing the search range, another retry process may be performed, and an error may occur. May be notified to end the process).

ここで検索範囲を変更しての再度の検索とは、例えば現在表示している画面画像には含まれていないが、所定操作により出現する部分があるときに、当該部分を出現させてから再度検索するといった処理を意味する。具体的に解釈部31は、実行中のアプリケーションプログラムが表示しているウィンドウ内に、現在は画面外にあるがスクロール操作によって現れる部分がある場合は、当該部分を出現させるスクロール操作を行って(スクロール操作を行う擬制動作指示をアプリケーション実行部21に出力して)から、検索部32に対して再度、検索を行うよう指示する。 Here, the search again by changing the search range is, for example, when there is a part that appears by a predetermined operation although it is not included in the currently displayed screen image, the part is made to appear and then again. It means a process such as searching. Specifically, if there is a part that is currently off the screen but appears by a scroll operation in the window displayed by the running application program, the interpretation unit 31 performs a scroll operation to make the part appear (). (Outputs a fictitious operation instruction to perform the scroll operation to the application execution unit 21), and then instructs the search unit 32 to perform the search again.

解釈部31は、検索部32により画像要素が見いだされる(リトライ条件が満足されない)か、スクロールによって現れる新たな箇所がなくなるまで(スクロール操作の擬制動作指示後の所定時間内に画面変化が生じない状態となるまで)、スクロール操作と再度の検索と(すなわちリトライ処理)を繰り返して行う。 The interpretation unit 31 does not change the screen within a predetermined time after the search unit 32 finds the image element (the retry condition is not satisfied) or there is no new part appearing by scrolling (the pseudo operation instruction of the scroll operation). The scroll operation and the search again (that is, the retry process) are repeated until the state is reached.

なお、リトライ処理時には、検索部32がスキャンする範囲は画面全体でなくてもよく、スクロール操作の擬制動作指示の前後で変化した画像領域を検索部32が特定し、当該特定した画像領域内のみをスキャンすることとしてもよい。検索部32は、この検索の処理において画像要素が見いだされたときには、そこで比較対象領域のスキャンを終了し、当該画像部分を見いだした位置を表す情報(例えばこの時点での比較対象領域の左上隅と右下隅との画面上のピクセルの位置を表す情報)を実行部33に出力する。 At the time of retry processing, the range scanned by the search unit 32 does not have to be the entire screen, and the search unit 32 specifies an image area that has changed before and after the fictitious operation instruction of the scroll operation, and only within the specified image area. May be scanned. When an image element is found in the search process, the search unit 32 finishes scanning the comparison target area there, and provides information indicating the position where the image portion is found (for example, the upper left corner of the comparison target area at this point). Information indicating the position of the pixel on the screen with the lower right corner) is output to the execution unit 33.

また解釈部31は、スクロールによって現れる新たな箇所がなくなっており、かつその時点で表示されている画面において画像要素を見出すことができなかったときには、エラーを報知して処理を終了するか、他のリトライ処理(例えば後に説明するように画像要素の解像度を変更して検索する処理)を実行する。 Further, when there is no new part appearing by scrolling and the image element cannot be found on the screen displayed at that time, the interpretation unit 31 notifies an error and ends the process, or another method. Retry process (for example, process of changing the resolution of an image element and searching as described later) is executed.

[動作]
本実施の形態は以上の構成を基本的に備えており、次のように動作する。以下の例では、情報処理装置1がオペレーティングシステム上でスプレッドシートアプリケーション(X)と、データベースアプリケーション(Y)とを動作させており、スプレッドシートアプリケーション(X)が、顧客名と連絡先とをそれぞれ第1,第2のカラムのセルに記録したファイルを開いて、その内容をウィンドウWxに表示しているものとする(図3)。またデータベースアプリケーション(Y)は、図3に例示するように、顧客名の登録欄(Dname)と、連絡先の登録欄(Daddr)と、登録ボタン(B)とを含むウィンドウWyを表示するものとする。
[motion]
This embodiment basically has the above configuration and operates as follows. In the following example, the information processing device 1 operates the spreadsheet application (X) and the database application (Y) on the operating system, and the spreadsheet application (X) sets the customer name and the contact information, respectively. It is assumed that the file recorded in the cells of the first and second columns is opened and the contents are displayed in the window Wx (Fig. 3). Further, the database application (Y) displays a window Wy including a customer name registration field (Dname), a contact registration field (Daddr), and a registration button (B), as illustrated in FIG. And.

なお、ウィンドウWxとWyとの一方は、一部または全部が他方のウィンドウによって隠蔽されてもよい。図3では仮想的に手前側に配されるウィンドウWxがウィンドウWyの一部を隠蔽した状態となっていることを示している。このようにウィンドウが重なり合う状態となったり、手前側に移動したりといった操作は、グラフィカルユーザインタフェースを備えたオペレーティングシステムでは一般的なものであるので、ここでの詳しい説明は省略する。 One of the windows Wx and Wy may be partially or wholly hidden by the other window. FIG. 3 shows that the window Wx virtually arranged on the front side is in a state of hiding a part of the window Wy. Such operations such as overlapping windows and moving to the front side are common in an operating system having a graphical user interface, and thus detailed description thereof will be omitted here.

また以下の例で情報処理装置1は、オペレーティングシステムとしての動作において、各アプリケーションで開いているウィンドウの一覧(各ウィンドウのアイコン:W)を、画面下部に表示しているものとする。 Further, in the following example, it is assumed that the information processing apparatus 1 displays a list of windows opened by each application (icon of each window: W) at the bottom of the screen in the operation as an operating system.

ユーザは、スプレッドシートアプリケーション(X)のウィンドウWxを選択し、各行のセルから顧客名と連絡先とを複写して、データベースアプリケーション(Y)のウィンドウWy内の各登録欄に貼り付け、登録ボタンを押下(クリック)するという処理を、繰り返し行うことを企図して、次のようにコマンド情報を設定する。
(ステップ1)画像要素:画面下部のウィンドウの一覧に含まれるウィンドウWxのアイコン、操作コマンド:画像内をクリック
(ステップ2)コマンド:最初のセル位置へ移動
(ステップ3)グループ設定(ループの先頭)
(ステップ4(グループ))コマンド:現在の行の第1列をコピー
(ステップ5(グループ))画像要素:画面下部のウィンドウの一覧に含まれるウィンドウWyのアイコン、操作コマンド:画像内をクリック
(ステップ6(グループ))画像要素:顧客名登録欄の部分の画像(図3(T1))、操作コマンド:対応する登録欄(図3(T1′))をクリックして選択し、ペースト
(ステップ7(グループ))画像要素:画面下部のウィンドウの一覧に含まれるウィンドウWxのアイコン、操作コマンド:画像内をクリック
(ステップ8(グループ))コマンド:現在の行の第2列をコピー
(ステップ9(グループ))画像要素:画面下部のウィンドウの一覧に含まれるウィンドウWyのアイコン、操作コマンド:画像内をクリック
(ステップ10(グループ))画像要素:連絡先登録欄の部分の画像(図3(T2))、操作コマンド:対応する登録欄(図3(T2′))をクリックして選択し、ペースト
(ステップ11(グループ))画像要素:登録ボタンの部分の画像(図3(T3))、操作コマンド:登録ボタンをクリック
(ステップ12(グループ))画面変化を待機(条件分岐)
(ステップ13(グループ))画像要素:画面下部のウィンドウの一覧に含まれるウィンドウWxのアイコン、操作コマンド:画像内をクリック
(ステップ14(グループ))コマンド:次の行へ移動
(ステップ15)ループの条件:現在の行にデータがあるか否かを判断し、データがあればステップ4以下のグループの処理を繰り返す。
(ステップ16)(ステップ15で現在の行にデータがなかった場合)処理を終了する。
The user selects the window Wx of the spreadsheet application (X), copies the customer name and contact information from the cells in each row, pastes them into each registration field in the window Wy of the database application (Y), and presses the registration button. The command information is set as follows with the intention of repeating the process of pressing (clicking).
(Step 1) Image element: Window Wx icon included in the list of windows at the bottom of the screen, Operation command: Click in the image (Step 2) Command: Move to the first cell position (Step 3) Group setting (Top of loop) )
(Step 4 (Group)) Command: Copy the first column of the current row (Step 5 (Group)) Image element: Window Wy icon included in the list of windows at the bottom of the screen, Operation command: Click in the image (Step 4 (Group)) Step 6 (Group)) Image element: Image of customer name registration field (Fig. 3 (T1)), Operation command: Corresponding registration field (Fig. 3 (T1')) to select and paste (step) 7 (Group)) Image element: Window Wx icon included in the list of windows at the bottom of the screen, Operation command: Click in the image (Step 8 (Group)) Command: Copy the second column of the current row (Step 9) (Group)) Image element: Window Wy icon included in the list of windows at the bottom of the screen, Operation command: Click in the image (Step 10 (Group)) Image element: Image of the contact registration field (Fig. 3 (Fig. 3) T2)), Operation command: Click the corresponding registration field (Fig. 3 (T2')) to select and paste (step 11 (group)) Image element: Image of the registration button part (Fig. 3 (T3)) , Operation command: Click the registration button (step 12 (group)) Wait for screen change (conditional branch)
(Step 13 (Group)) Image element: Window Wx icon included in the list of windows at the bottom of the screen, Operation command: Click in the image (Step 14 (Group)) Command: Move to the next line (Step 15) Loop Condition: It is determined whether or not there is data in the current row, and if there is data, the processing of the group in step 4 and subsequent steps is repeated.
(Step 16) The process ends (when there is no data in the current row in step 15).

なお、ステップ2等におけるセル間の移動や、コピー、ペースト等のコマンドは、スプレッドアプリケーション(X)のウィンドウWxを開いた状態でのキー操作や、メニュー選択(あるいは選択するメニューに対応するショートカット・キーの入力操作)等により実現される。またステップ4からステップ14はグループとして設定されている。 In addition, commands such as move between cells, copy, and paste in step 2 and the like can be performed by key operations with the spread application (X) window Wx open, and by selecting a menu (or a shortcut corresponding to the menu to be selected. It is realized by key input operation). Further, steps 4 to 14 are set as a group.

ステップ6等における登録欄のクリックを指示する操作コマンドは、登録欄の範囲の座標にマウスカーソルを移動して当該位置でクリックしたこととするよう、ユーザが指示することにより設定されるが、このとき情報処理装置1は、指定された位置の座標の情報を、対応する画像要素に相当する画像部分の座標との相対的座標に変換する。具体的には、対応する画像要素が見いだされるべき範囲の左上隅の座標を(Fx,Fy)、クリックしたこととする座標(操作関連情報を設定する時点での画面上の座標)を(Cx,Cy)とすると、情報処理装置1は、この操作関連情報に含める位置の情報(C′x,C′y)を
C′x=Cx−Fx、
C′y=Cy−Fy、
として定める。
The operation command for instructing the click of the registration field in step 6 or the like is set by instructing the user to move the mouse cursor to the coordinates of the range of the registration field and click at the position. When the information processing device 1 converts the information of the coordinates of the designated position into the coordinates relative to the coordinates of the image portion corresponding to the corresponding image element. Specifically, the coordinates of the upper left corner of the range in which the corresponding image element should be found are (Fx, Fy), and the coordinates (coordinates on the screen at the time of setting the operation-related information) that the corresponding image element is clicked are (Cx). , Cy), the information processing apparatus 1 sets the position information (C'x, C'y) to be included in the operation-related information as C'x = Cx-Fx.
C'y = Cy-Fy,
Determined as.

情報処理装置1は、ユーザが設定したコマンド情報に従い、次のように動作する。このコマンド情報の実行開始の時点で、ユーザは、スプレッドシートアプリケーション(X)のウィンドウWxと、データベースアプリケーション(Y)のウィンドウWyとを開いておく。
(ステップ1)情報処理装置1は、ステップ1において設定されている画像要素(ウィンドウWxのアイコン)を、表示されている画面画像内で検索する。ここで、当該画像部分は、既に説明したように、画面下部のウィンドウの一覧の部分で見いだされる。情報処理装置1は、画面下部のウィンドウの一覧内で当該画像部分を見出すと、この画像要素に関連付けられた操作であるクリック操作を当該画像部分内で行ったとする擬制動作指示を出力する。
The information processing device 1 operates as follows according to the command information set by the user. At the time when the execution of this command information is started, the user opens the window Wx of the spreadsheet application (X) and the window Wy of the database application (Y).
(Step 1) The information processing device 1 searches for the image element (window Wx icon) set in step 1 in the displayed screen image. Here, the image portion is found in the list portion of the window at the bottom of the screen, as described above. When the information processing device 1 finds the image portion in the list of windows at the bottom of the screen, it outputs a fictitious operation instruction assuming that the click operation, which is an operation associated with the image element, is performed in the image portion.

情報処理装置1は、オペレーティングシステムの動作として、画面下部のウィンドウの一覧に含まれるウィンドウWxのアイコンがクリックされたとして処理を行い、ウィンドウWxを操作の対象とする(フォーカスする)。
(ステップ2)情報処理装置1は、スプレッドアプリケーション(X)のウィンドウWxを開いた状態でのメニュー選択の処理により、最初のセル位置へ移動する。なお、ここでメニュー選択は、対応するショートカット・キーを押下したとする擬制動作指示を出力することで行ってもよいし、選択するメニューの画像部分を検索して当該画像部分をクリックする擬制動作指示を出力し、さらに選択するメニュー要素の画像部分を検索して当該画像部分をクリックする擬制動作指示を出力する、というようにマウス操作を擬制する処理によって行ってもよい。
(ステップ3)情報処理装置1は、繰り返し処理のグループの起点を設定し、(ステップ4)にて現在の行の第1列をコピーする処理を行う。この処理も、スプレッドアプリケーション(X)のウィンドウWxを開いた状態でのメニュー選択の処理により行う。
(ステップ5)情報処理装置1は、ステップ5において設定されている画像要素(ウィンドウWyのアイコン)を、表示されている画面画像内で検索する。この画像部分も画面下部のウィンドウの一覧の部分で見いだされる。情報処理装置1は、画面下部のウィンドウの一覧内で当該画像部分を見出すと、この画像要素に関連付けられた操作であるクリック操作を当該画像部分内で行ったとする擬制動作指示を出力する。
As an operation of the operating system, the information processing device 1 processes the window Wx icon included in the list of windows at the bottom of the screen as if it were clicked, and targets (focuses on) the window Wx.
(Step 2) The information processing apparatus 1 moves to the first cell position by the process of selecting a menu with the window Wx of the spread application (X) open. Here, the menu selection may be performed by outputting a fictitious operation instruction assuming that the corresponding shortcut key is pressed, or a fictitious operation of searching for an image part of the selected menu and clicking the image part. It may be performed by a process of fictitious mouse operation, such as outputting an instruction, searching for an image portion of a menu element to be selected, and outputting a fictitious operation instruction for clicking the image portion.
(Step 3) The information processing apparatus 1 sets the starting point of the iterative processing group, and performs the process of copying the first column of the current row in (step 4). This process is also performed by the menu selection process with the window Wx of the spread application (X) open.
(Step 5) The information processing device 1 searches for the image element (window Wy icon) set in step 5 in the displayed screen image. This image part is also found in the list part of the window at the bottom of the screen. When the information processing device 1 finds the image portion in the list of windows at the bottom of the screen, it outputs a fictitious operation instruction assuming that the click operation, which is an operation associated with the image element, is performed in the image portion.

情報処理装置1は、オペレーティングシステムの動作として、画面下部のウィンドウの一覧に含まれるウィンドウWyのアイコンがクリックされたとして処理を行い、ウィンドウWyを操作の対象とする(フォーカスする)。
(ステップ6)情報処理装置1は、ステップ6において設定されている画像要素(顧客名登録欄の部分の画像)を、表示されている画面画像内で検索する。この画像部分はウィンドウWyの内部で見いだされる。情報処理装置1は、ウィンドウWy内で当該画像部分を見出すと、この画像要素に関連付けられた操作として、登録欄を選択してペーストする擬制動作指示を出力する。
As the operation of the operating system, the information processing device 1 processes the window Wy icon included in the list of windows at the bottom of the screen as if it were clicked, and targets (focuses) the window Wy for the operation.
(Step 6) The information processing apparatus 1 searches the displayed screen image for the image element (the image of the part of the customer name registration field) set in step 6. This image portion is found inside the window Wy. When the information processing device 1 finds the image portion in the window Wy, it outputs a fictitious operation instruction for selecting and pasting a registration field as an operation associated with the image element.

具体的に、この操作に対応する操作関連情報は、見いだした画像部分の範囲内にある、登録欄の画像部分をクリックする操作と、「編集メニュー」から「ペースト」を選択する操作とからなる。 Specifically, the operation-related information corresponding to this operation consists of an operation of clicking the image part in the registration field within the range of the found image part and an operation of selecting "paste" from the "edit menu". ..

このうち登録欄をクリックする操作は、見いだした画像部分の左上隅の座標に、操作関連情報に含まれる、クリックするべき位置の情報が表す座標を加算して、実際にクリックしたこととする座標を求め、当該求めた座標をクリックすることを表す擬制動作指示を出力する。 Of these, the operation of clicking the registration field adds the coordinates represented by the information of the position to be clicked included in the operation-related information to the coordinates of the upper left corner of the found image part, and the coordinates are assumed to be actually clicked. Is obtained, and a fictitious operation instruction indicating that the obtained coordinates are clicked is output.

この処理により、操作関連情報を設定したときと、コマンド情報を実行した時点で、ウィンドウWyの画面画像上の位置が異なっていたとしても、検索した画像要素の位置と、クリックするべき位置との相対的位置が変化していない限り、所望の位置がクリックされたとする擬制動作指示が出力できる。 By this process, even if the position on the screen image of the window Wy is different when the operation-related information is set and when the command information is executed, the position of the searched image element and the position to be clicked are determined. As long as the relative position does not change, it is possible to output a fictitious operation instruction assuming that the desired position is clicked.

そしてこのステップ6ではこれにより、情報処理装置1が顧客名の登録欄をクリックしたと同じ状態となり、登録欄への入力が可能な状態となる。情報処理装置1は、ここに、ステップ4でコピーした文字列をペーストする。 Then, in this step 6, the information processing device 1 is in the same state as clicking the registration field of the customer name, and can be input to the registration field. The information processing device 1 pastes the character string copied in step 4 here.

以下、(ステップ7)では、情報処理装置1は、ステップ1と同様の動作を行い、スプレッドアプリケーション(X)のウィンドウWxをフォーカスする。そして(ステップ8)において、現在の行(カーソルがある行)の第2列目の内容をコピーする。 Hereinafter, in (step 7), the information processing apparatus 1 performs the same operation as in step 1 and focuses the window Wx of the spread application (X). Then, in (step 8), the contents of the second column of the current row (the row where the cursor is located) are copied.

情報処理装置1は続いて、(ステップ9)にて、ステップ5と同様、ウィンドウWyをフォーカスし、(ステップ10)にて、連絡先登録欄の部分の画像を検索する。情報処理装置1は、この連絡先登録欄の部分の画像をウィンドウWy内から見出すと、当該画像を見いだした範囲の左上隅の座標に、操作関連情報に含まれる、クリックするべき位置の情報が表す座標を加算して、実際にクリックしたこととする座標を求め、当該求めた座標をクリックすることを表す擬制動作指示を出力する。 Subsequently, the information processing apparatus 1 focuses the window Wy in (step 9) as in step 5, and searches for an image in the contact registration field in (step 10). When the information processing device 1 finds the image of the part of the contact registration field from the window Wy, the information of the position to be clicked included in the operation-related information is displayed at the coordinates of the upper left corner of the range where the image is found. The coordinates to be represented are added to obtain the coordinates to be actually clicked, and a fictitious operation instruction indicating to click the obtained coordinates is output.

これにより、情報処理装置1が連絡先の登録欄をクリックしたと同じ状態となり、登録欄への入力が可能な状態となる。情報処理装置1は、ここに、ステップ8でコピーした文字列をペーストする。 As a result, the information processing device 1 is in the same state as clicking the contact registration field, and can be input to the registration field. The information processing device 1 pastes the character string copied in step 8 here.

情報処理装置1は、さらに、(ステップ11)で登録ボタンの部分の画像を検索する。そして、この登録ボタンの部分の画像をウィンドウWy内から見出すと、当該画像を見いだした範囲の左上隅の座標に、操作関連情報に含まれる、クリックするべき位置の情報が表す座標を加算して、実際にクリックしたこととする座標を求め、当該求めた座標をクリックすることを表す擬制動作指示を出力する。 The information processing device 1 further searches the image of the registration button portion in (step 11). Then, when the image of the registration button part is found in the window Wy, the coordinates represented by the information of the position to be clicked included in the operation-related information are added to the coordinates of the upper left corner of the range where the image is found. , The coordinates to be actually clicked are obtained, and a fictitious operation instruction indicating that the obtained coordinates are clicked is output.

情報処理装置1はこれにより、登録ボタンをクリックしたと同じ状態となり、顧客名及び連絡先の情報が、スプレッドシートアプリケーション(X)のファイルの内容から複写されてデータベースアプリケーション(Y)のファイルに記録される。 As a result, the information processing device 1 is in the same state as when the registration button is clicked, and the customer name and contact information is copied from the contents of the spreadsheet application (X) file and recorded in the database application (Y) file. Will be done.

さらに情報処理装置1は、(ステップ12)の処理において、画面変化を待機(条件分岐)する。つまり、情報処理装置1は、データベースアプリケーション(Y)が登録の処理を完了して、新たな登録を受け付ける画面を表示するまで待機する。 Further, the information processing apparatus 1 waits for a screen change (conditional branching) in the process of (step 12). That is, the information processing device 1 waits until the database application (Y) completes the registration process and displays a screen for accepting new registration.

情報処理装置1は、データベースアプリケーション(Y)の処理により新たな登録を受け付ける画面が表示され、画面表示が変化すると、次の(ステップ13)の処理に移行する。そしてこの(ステップ13)の処理にてウィンドウWxをフォーカスし、(ステップ14)にて次の行へ移動する操作を表す擬制動作指示を出力する。そして情報処理装置1は、(ステップ15)にてループの条件である、現在の行にデータがあるか否かを判断し、データがあればステップ3で規定されたグループの起点、すなわちステップ4以下のグループに属するコマンドの処理を続ける。一方、ステップ15においてデータがなければ、処理を終了する。 The information processing device 1 displays a screen for accepting new registration by the processing of the database application (Y), and when the screen display changes, the process proceeds to the next (step 13) process. Then, the window Wx is focused by the process of (step 13), and a fictitious operation instruction indicating an operation of moving to the next line is output in (step 14). Then, the information processing device 1 determines in (step 15) whether or not there is data in the current row, which is the condition of the loop, and if there is data, the starting point of the group defined in step 3, that is, step 4. Continue processing commands that belong to the following groups. On the other hand, if there is no data in step 15, the process ends.

情報処理装置1のこの動作により、スプレッドシートアプリケーション(X)のファイルに記録された、一連の顧客名と連絡先の情報が、データベースアプリケーション(Y)のデータベースファイルに次々記録されることとなる。また、登録が行われたことを画面の変化により検出して、確実に登録するまでアプリケーションのプロセスを切り替えないよう維持することも可能としている。 By this operation of the information processing apparatus 1, a series of customer name and contact information recorded in the file of the spreadsheet application (X) is recorded one after another in the database file of the database application (Y). It is also possible to detect that registration has been performed by changing the screen and maintain the application process so that it will not be switched until the registration is ensured.

[画像検索のリトライ処理の例]
既に述べたように、画像要素の検索を行うコマンド(上述のステップ6など)では、対象となる画像部分を含むウィンドウがフォーカスされていても、当該対象となる画像部分が必ず画面画像内に含まれるとは限らない。
[Example of image search retry processing]
As already described, in the command for searching for an image element (such as step 6 described above), even if the window including the target image part is focused, the target image part is always included in the screen image. It is not always the case.

例えば図4に、図3のウィンドウWyの別の例を示すように、ウィンドウWyのサイズによっては、登録欄と登録ボタンとの双方がウィンドウWy内に収まらず、スクロール操作を行うことで、登録欄か登録ボタンのいずれか一方が表示された状態で操作を行う必要がある場合がある。 For example, as shown in FIG. 4 as another example of the window Wy of FIG. 3, depending on the size of the window Wy, both the registration field and the registration button do not fit in the window Wy, and registration is performed by scrolling. It may be necessary to perform the operation with either the column or the registration button displayed.

以下、ウィンドウWyが図4(a)の例のように、顧客名及び連絡先登録欄が表示され、登録ボタンが隠れた状態にあるときの、上述の処理について説明する。このような場合を想定して、ここではステップ11のコマンドに、リトライ条件として「検索の失敗」、リトライ処理として「スクロール操作して再度の検索」が設定されているものとする。 Hereinafter, the above-mentioned processing will be described when the window Wy displays the customer name and contact registration fields and the registration button is hidden as in the example of FIG. 4A. Assuming such a case, it is assumed that the command in step 11 is set to "search failure" as a retry condition and "scroll operation to search again" as a retry process.

この例における情報処理装置1の動作は、初回はステップ10までは上述の説明におけるものと変わらないが、ステップ11においてウィンドウWy内に登録ボタンが表示された状態にないために検索が失敗となった後の動作が異なる。 The operation of the information processing device 1 in this example is the same as that in the above description up to step 10 for the first time, but the search fails because the registration button is not displayed in the window Wy in step 11. The operation after the operation is different.

情報処理装置1は、ステップ11において検索が失敗となると、フォーカスしているウィンドウWyについてスクロールの操作を試みる。まず情報処理装置1は、スクロール位置を所定の初期位置にリセットする。ここで初期位置は、具体的には、ウィンドウW内に表示されている内容(ウィンドウコンテンツ)の左上隅を、ウィンドウWの表示部分(ペイン)の左上隅に一致させた位置とする。この位置とするには、情報処理装置1は、左方向及び上方向へのスクロール操作を、画面画像が変化しなくなるまで行うこととすればよい。 If the search fails in step 11, the information processing device 1 attempts to scroll the window Wy in focus. First, the information processing device 1 resets the scroll position to a predetermined initial position. Here, the initial position is specifically a position where the upper left corner of the content (window content) displayed in the window W is aligned with the upper left corner of the display portion (pane) of the window W. In order to obtain this position, the information processing apparatus 1 may perform scrolling operations in the left and upward directions until the screen image does not change.

以下、情報処理装置1は、画像要素の検索とスクロール操作とを繰り返し行う。ここでスクロール操作は、ページダウン・キーの操作またはウィンドウWyの右辺端部のスクロール・バーにある下向き矢印をクリックする操作等に対応する擬制動作指示を出力することにより行う。なお、矢印をクリックする操作に相当する擬制動作指示を出力する場合は、予め定めた回数だけクリックする擬制動作指示を出力することとする。 Hereinafter, the information processing device 1 repeatedly searches for image elements and scrolls. Here, the scroll operation is performed by outputting a fictitious operation instruction corresponding to the operation of the page down key or the operation of clicking the down arrow on the scroll bar at the right end of the window Wy. When outputting a fictitious operation instruction corresponding to an operation of clicking an arrow, a fictitious operation instruction of clicking a predetermined number of times is output.

情報処理装置1は、スクロール操作を行うごとに、表示されている画像に変化があったか否かを調べる。この処理はスクロール操作前後の画面画像の差分を求めることにより行うことができる。 Each time the information processing device 1 performs a scroll operation, it checks whether or not the displayed image has changed. This process can be performed by obtaining the difference between the screen images before and after the scroll operation.

ここでスクロール操作により画面画像が変化しない場合は、情報処理装置1は、スクロール位置を上端まで戻した後、右方向へのスクロール操作を試みる。そして当該右方向へのスクロール操作の試行の後、画面画像が変化したならば、情報処理装置1は、再度、その位置から画像要素の検索と、下方へのスクロール操作とを繰り返して行う。 If the screen image does not change due to the scroll operation, the information processing device 1 attempts a scroll operation to the right after returning the scroll position to the upper end. Then, if the screen image changes after the trial of the scrolling operation to the right, the information processing apparatus 1 repeats the search for the image element from that position and the scrolling operation downward.

また右方向へのスクロール操作の試行により画面画像が変化しない場合は、情報処理装置1は、ウィンドウコンテンツの全体を検索しても画像要素が見いだせなかったと判断し、エラーを報知して処理を停止する。 If the screen image does not change due to an attempt to scroll to the right, the information processing device 1 determines that the image element could not be found even if the entire window content is searched, notifies an error, and stops the process. To do.

そして情報処理装置1は、スクロール操作が行われた(画面画像が変化した)ことを検出すると、再度、ステップ11における登録ボタンに係る画像要素の検索を行う。ここではウィンドウWyのスクロール操作が行われると、図4(b)の例のように登録ボタンが表示され、顧客名や連絡先の登録欄が隠された状態となるので、ステップ11の処理によって登録ボタンに係る画像要素の検索に成功し、以下、ステップ14までの処理を、既に説明した例と同様に実行することとなる。 Then, when the information processing device 1 detects that the scroll operation has been performed (the screen image has changed), the information processing device 1 again searches for the image element related to the registration button in step 11. Here, when the window Wy is scrolled, the registration button is displayed as in the example of FIG. 4B, and the customer name and contact registration fields are hidden. Therefore, the process of step 11 is performed. The search for the image element related to the registration button is successful, and the processes up to step 14 are executed in the same manner as in the example already described.

そして繰り返しの処理が行われた次のステップ6においても、その時点では前回の繰り返しのステップ10にてウィンドウWyの内部が図4(b)の状態(登録ボタンが表示され、顧客名や連絡先の登録欄が隠された状態)となっているので検索に失敗し、スクロール位置を初期位置として、再度の検索を行う。初期位置としたときには、ウィンドウWyの内部が図4(a)の状態となり、検索に成功するので、以下、既に説明したと同様の処理を行う。 Then, even in the next step 6 in which the iterative process is performed, at that time, the inside of the window Wy is in the state of FIG. 4 (b) in the previous repeat step 10 (the registration button is displayed, and the customer name and contact information are displayed. Since the registration field of is hidden), the search fails, and the scroll position is set as the initial position, and the search is performed again. When the initial position is set, the inside of the window Wy is in the state shown in FIG. 4A, and the search is successful. Therefore, the same processing as described above is performed below.

このように本実施の形態の情報処理装置1は、表示している画面画像のうちに、所定操作(ここではスクロール操作)により出現する部分があるときには、当該部分を出現させて、再度、コマンド情報に含まれる画像要素に相当する画像部分を検索する。 As described above, when the information processing apparatus 1 of the present embodiment has a part of the displayed screen image that appears by a predetermined operation (here, a scroll operation), the part is made to appear and the command is issued again. Search for the image part corresponding to the image element included in the information.

[画像検索に係るリトライ処理の他の例(1)]
また、画面画像上で操作の対象となる画像部分が隠れている例は、スクロール操作により解消される例だけに限られない。例えばグラフィカルユーザインタフェースの要素のうちには、クリック操作を行うごとに、メニュー等の一覧を提示したり、隠したりといった動作を繰り返すドロップダウン等の要素がある。
[Other Examples of Retry Processing Related to Image Search (1)]
Further, the example in which the image portion to be operated is hidden on the screen image is not limited to the example in which it is eliminated by the scroll operation. For example, among the elements of the graphical user interface, there are elements such as a dropdown that repeats operations such as presenting and hiding a list of menus and the like each time a click operation is performed.

本実施の形態の情報処理装置1では、このようなユーザインタフェースの要素に係る画像が予め設定されているときには、リトライ処理として、当該画像部分を画面画像から検索して、当該部分をクリックしたことを表す擬制動作指示を出力して隠されている情報を表示させてから、画像要素の再度の検索を行ってもよい。 In the information processing device 1 of the present embodiment, when an image related to such a user interface element is preset, the image portion is searched from the screen image and the portion is clicked as a retry process. After outputting the fictitious operation instruction indicating the above to display the hidden information, the image element may be searched again.

[画像検索に係るリトライ処理の他の例(2)]
さらに本実施の形態の情報処理装置1が、コマンドの実行中に、当該コマンドで検索の対象として規定されている画像要素の検索に失敗するケースは、これまでの例に限られない。
[Another example of retry processing related to image search (2)]
Further, the case where the information processing device 1 of the present embodiment fails to search for the image element specified as the search target by the command during the execution of the command is not limited to the previous examples.

これまでの説明では情報処理装置1においてコマンド情報を生成する際に表示されていた画面画像から画像要素を抽出しており、そして情報処理装置1がコマンドを実行するときに表示される画面画像は、当該コマンドを含むコマンド情報が生成されたときの画面画像と、解像度(縦横のピクセル数)や比率、その他の画像データの特徴が同じものであることとしていた。 In the explanation so far, the image element is extracted from the screen image displayed when the information processing device 1 generates the command information, and the screen image displayed when the information processing device 1 executes the command is , It was assumed that the screen image when the command information including the command was generated has the same resolution (number of pixels in the vertical and horizontal directions), ratio, and other features of the image data.

しかしながら、コマンド情報を生成したときの画面画像と、実行時の画面画像との解像度等は常に一致しているとは限らない。例えば、コマンド情報の生成時に抽出されてコマンドに設定されている画像要素と、当該コマンドを実行する際の画面画像中の画像要素のサイズが異なっている場合があり得る。この場合、最初の検索部32の処理においては画像要素に一致する画像部分を抽出することができないので、検索に失敗することとなる。 However, the resolutions of the screen image when the command information is generated and the screen image at the time of execution do not always match. For example, the size of the image element extracted when the command information is generated and set in the command may be different from the size of the image element in the screen image when the command is executed. In this case, in the first processing of the search unit 32, the image portion matching the image element cannot be extracted, so that the search fails.

そこで情報処理装置1は、リトライ処理として、検索の対象とする画像要素に対して所定の画像処理を施してから再検索を行うこととしてもよい。この画像処理は例えば次のようにして行う。 Therefore, as the retry process, the information processing device 1 may perform a predetermined image process on the image element to be searched and then perform the search again. This image processing is performed, for example, as follows.

本実施の形態のここでの一例として、情報処理装置1が、リトライ処理における動作として、例えば検索の対象となる画像要素を所定のピクセル数(拡縮ステップサイズと呼ぶ)だけ拡大または縮小して、再度の検索を行うことが考えられる。 As an example here of this embodiment, the information processing apparatus 1 enlarges or reduces an image element to be searched by, for example, a predetermined number of pixels (referred to as scaling step size) as an operation in the retry process. It is conceivable to perform the search again.

この場合、検索の処理において、検索部32は、検索の対象となる画像要素(拡大・縮小後の画像要素)と同じサイズの比較対象範囲を、画面画像をスキャンしつつ抽出し、当該抽出した比較対象領域内の画像と、検索の対象となる画像要素との類似度を求め、類似度が予め定めたしきい値を超えたときにその位置で画像要素を見いだしたものと判断することで検索を行う。 In this case, in the search process, the search unit 32 extracts a comparison target range having the same size as the image element (image element after enlargement / reduction) to be searched while scanning the screen image, and extracts the extracted image element. By finding the similarity between the image in the comparison target area and the image element to be searched, and determining that the image element was found at that position when the similarity exceeds a predetermined threshold value. Do a search.

このように検索の対象となる画像要素を拡大・縮小した時に検索部32が、完全一致する画像要素を検索するのではなく類似度を用いて検索を行うのは、画面画像の表示を行う際に利用される拡大縮小の方法と、リトライ処理時の拡大縮小の方法とが異なり、結果となる画像に相違が生じる場合があることを考慮したものである。この類似度を求める方法は、Perceptual Hashを用いる方法など、広く知られた種々の方法を採用できるので、ここでの詳しい説明を省略する。 When the image element to be searched is enlarged or reduced in this way, the search unit 32 does not search for an exact matching image element but searches using the similarity when displaying the screen image. This is because the scaling method used for the above is different from the scaling method during the retry process, and the resulting image may differ. As a method for obtaining this similarity, various well-known methods such as a method using Perceptual Hash can be adopted, and therefore detailed description thereof will be omitted here.

この場合、リトライ処理時の情報処理装置1は、検索部32の処理により画像要素が見出されるか、予め定めた限界の拡大縮小サイズ(元の画像要素のサイズとのサイズの差により、例えば−10ピクセルから+10ピクセルの範囲などとして予め定めておけばよい)まで拡大または縮小しても対応する画像要素が見出せないと判断されるまで、画像要素の拡大または縮小と検索の処理とを繰り返して行う。 In this case, the information processing device 1 at the time of the retry process finds the image element by the processing of the search unit 32, or the enlargement / reduction size of the predetermined limit (due to the difference in size from the size of the original image element, for example,- The image element is enlarged or reduced and the search process is repeated until it is determined that the corresponding image element cannot be found even if the image element is enlarged or reduced to a range of 10 pixels to +10 pixels. Do.

なお、限界となる拡大縮小サイズは、画像要素に関連付けてユーザが設定できるようにしておいてもよい。この設定は例えば元のサイズとの比率として設定できるようにしておいてもよい。 The scaling size, which is the limit, may be set by the user in association with the image element. This setting may be set, for example, as a ratio to the original size.

さらに情報処理装置1は、リトライの処理として、画像要素の解像度の変更と、検索範囲の変更とを組み合わせて行ってもよい。この場合、解釈部31は、検索部32により画像要素が見いだせなかったときに画像要素の解像度を変更して再検索する処理を行い、以下、画像要素が見いだされるか、すべての可能な検索条件を試行して画像要素が見いだせないと判断されるまで、検索範囲を変更して再検索する処理と、画像要素の解像度を変更して再検索する処理とを繰り返して行う。 Further, the information processing apparatus 1 may change the resolution of the image element and change the search range in combination as the retry process. In this case, the interpretation unit 31 performs a process of changing the resolution of the image element and re-searching when the image element cannot be found by the search unit 32, and thereafter, the image element is found or all possible search conditions are obtained. The process of changing the search range and re-searching and the process of changing the resolution of the image element and re-searching are repeated until it is determined that the image element cannot be found by trying.

また、ここでは解像度を変更する場合について例示したが、比率の変更等、他の画像処理を施す場合も、同様の方法で処理を行うことができる。また、画像処理は一つに限られず、解像度を変更するとともに、ガウシアンフィルタを適用するなど、複数の画像処理が施されてもよい。 Further, although the case of changing the resolution has been illustrated here, the same method can be used when performing other image processing such as changing the ratio. Further, the image processing is not limited to one, and a plurality of image processings such as changing the resolution and applying a Gaussian filter may be performed.

[代替画像を用いる例]
また本実施の形態の情報処理装置1における再検索処理は、検索の対象となる画像要素を変更するものであってもよい。この例では、1つのコマンドに、検索の対象となる画像要素のほかに、少なくとも一つの、代替画像要素となる画像要素を含める。そしてこれら複数の画像要素を含むコマンドの実行を行うときには、情報処理装置1は、当該複数の画像要素(もともと検索の対象としている画像要素と、少なくとも一つの代替画像要素と)のいずれかに対応する画像部分が検索により見いだされたときに、当該コマンドに基づく処理を実行する。
[Example using an alternative image]
Further, the re-search process in the information processing device 1 of the present embodiment may change the image element to be searched. In this example, one command includes at least one image element as an alternative image element in addition to the image element to be searched. Then, when executing a command including these a plurality of image elements, the information processing device 1 corresponds to one of the plurality of image elements (the image element originally the target of the search and at least one alternative image element). When the image part to be processed is found by the search, the process based on the command is executed.

[待機する例]
さらに本実施の形態の情報処理装置1が処理するコマンド情報には、既に述べたように、条件分岐のコマンドとして、直前のコマンドの処理の実行後、所定の条件が満足されるタイミングまで待機するべき旨のコマンドが設定されたステップが含まれてもよい。
[Example of waiting]
Further, as described above, the command information processed by the information processing apparatus 1 of the present embodiment waits as a conditional branch command until a predetermined condition is satisfied after the processing of the immediately preceding command is executed. It may include a step in which a command to the effect is set.

このような条件分岐は、例えば、操作に対するアプリケーションプログラムの応答が遅い場合や、データの通信が生じる場合など、画面画像の描画までに時間を要する操作が行われた後に利用される。 Such conditional branching is used after an operation that takes time to draw a screen image is performed, such as when the response of the application program to the operation is slow or when data communication occurs.

具体的に、マウスクリックの操作コマンドの後、表示されている画像に変化があったことを条件として処理を再開する条件分岐コマンドを用いると、例えばウェブブラウザを操作するコマンド情報を実行中、リンクをクリックした後、リンク先のウェブページがレンダリングされるまで待機してから次の操作を行うよう設定できる。また、この待機指示による待機を終了する条件は、設定された時間が経過した後としてもよい。 Specifically, if you use the conditional branch command that restarts the process on the condition that the displayed image has changed after the mouse click operation command, for example, the link is being executed while the command information for operating the web browser is being executed. After clicking, you can set it to wait for the linked web page to render before doing the following: Further, the condition for ending the standby by the standby instruction may be after the set time has elapsed.

[機械学習を用いる例]
本実施の形態の情報処理装置1はさらに、リトライ処理時の検索条件として、すなわち、検索処理におけるエラー(例外)処理の一例として、代替画像要素を、機械学習の結果を利用して機械的に(人為的指定なしに)生成し、検索の対象として指定された画像要素に代えて、当該生成した代替画像要素を検索することとしてもよい。
[Example using machine learning]
Further, the information processing apparatus 1 of the present embodiment mechanically uses the result of machine learning as a search condition at the time of retry processing, that is, as an example of error (exception) processing in the search processing. Instead of the image element generated (without artificial designation) and specified as the search target, the generated alternative image element may be searched.

この例では、情報処理装置1は、画像要素を予め定めたサイズに縮小または拡大したときに、当該画像要素の代替となり得る画像に類似する画像を出力するよう機械学習した状態としたニューラルネットワーク(以下、代替画像用ネットワークと呼ぶ)を保持する。この代替画像用ネットワークは、一般的な畳み込みネットワーク等を用い、画像要素を入力したときの当該代替画像用ネットワークの出力と、入力した画像要素に対して代替画像として用いられ得る画像(教師情報)との差分に基づくバックプロパゲーションにより代替画像用ネットワーク自身を機械学習することで得る。このような機械学習の方法は広く知られているので、ここでの詳しい説明は省略する。 In this example, the information processing device 1 is a neural network in a state in which it is machine-learned to output an image similar to an image that can be a substitute for the image element when the image element is reduced or enlarged to a predetermined size. Hereinafter referred to as an alternative image network). This alternative image network uses a general convolutional network or the like, and the output of the alternative image network when an image element is input and an image that can be used as an alternative image for the input image element (teacher information). It is obtained by machine learning the alternative image network itself by backpropagation based on the difference between. Since such a machine learning method is widely known, detailed description thereof is omitted here.

情報処理装置1は、検索の対象となる画像要素が指定されているコマンドを実行するときに、当該画像要素を画面画像から検索し、検索に失敗すると、当該画像要素の代替画像要素を、この代替画像用ネットワークを介して取得する。そして当該取得した代替画像要素を、画面画像から検索する。 When the information processing device 1 executes a command in which an image element to be searched is specified, the information processing device 1 searches for the image element from the screen image, and if the search fails, a substitute image element for the image element is selected. Obtained via the alternate image network. Then, the acquired alternative image element is searched from the screen image.

なお、情報処理装置1は、代替画像用ネットワークを介して取得した代替画像要素の検索に失敗したときには、再度、当該代替画像要素を代替画像用ネットワークに入力し、その出力である新たな代替画像要素を得て、再度の検索を行うという動作を、予め定められた回数まで(または検索により代替画像要素が画面画像から見出されるまで)繰り返してもよい。 When the information processing device 1 fails to search for the substitute image element acquired via the substitute image network, the information processing device 1 inputs the substitute image element to the substitute image network again, and outputs a new substitute image. The operation of obtaining an element and performing a search again may be repeated up to a predetermined number of times (or until an alternative image element is found from the screen image by the search).

また情報処理装置1は、再検索の処理の際に、互いに異なる教師情報で学習した複数の代替画像用ネットワークを用いて、複数の代替画像要素を得て、得られた複数の代替画像要素を順次、検索してもよい。 Further, the information processing device 1 obtains a plurality of alternative image elements by using a plurality of alternative image networks learned with different teacher information during the re-search process, and obtains the obtained plurality of alternative image elements. You may search sequentially.

この例の代替画像用ネットワークは、例えば、入力となる画像要素に対して、当該画像要素が「非選択」状態であることを表す、彩度の比較的低い画像となる場合を考慮して、入力する画像要素の彩度を低下させた画像要素を教師情報として学習した第1の代替画像用ネットワークを用いる。また、他の代替画像用ネットワークとして、入力となる画像要素に対して、文字部分だけを抽出した画像を教師情報として学習した第2の代替画像用ネットワークを用いる。 The alternative image network in this example considers, for example, a case where the input image element is a relatively desaturated image indicating that the image element is in the "non-selected" state. The first alternative image network is used in which the image element whose saturation of the input image element is reduced is learned as teacher information. Further, as another alternative image network, a second alternative image network is used in which an image obtained by extracting only a character portion is learned as teacher information for an input image element.

このようにすると、画像要素の検索に失敗したときに、当該画像要素に対して比較的彩度の低い第1の代替画像要素と、文字部分のみを抽出した第2の代替画像要素を得て、再度の検索を行うことが可能となる。 In this way, when the search for the image element fails, a first alternative image element having a relatively low saturation for the image element and a second alternative image element from which only the character portion is extracted are obtained. , It becomes possible to perform the search again.

[ユーザ操作の機械学習]
また本実施の形態の情報処理装置1は、コマンド情報を生成するにあたり、ユーザの操作を機械学習してもよい。
[User-operated machine learning]
Further, the information processing device 1 of the present embodiment may perform machine learning of the user's operation in generating command information.

具体的には、情報処理装置1は、RNN等のニューラルネットワークを利用し、ユーザの一連の操作P1,P2…の履歴のうち、i番目の操作履歴Piからn個の操作履歴Pi,Pi+1,…Pi+n−1を入力とし、次の操作Pi+nを教師として機械学習しておく。 Specifically, the information processing device 1 uses a neural network such as RNN, and has n operation histories Pi, Pi + 1, from the i-th operation history Pi in the history of a series of user operations P1, P2 ... ... Machine learning is performed with Pi + n-1 as an input and the next operation Pi + n as a teacher.

このように機械学習しておくと、情報処理装置1は、コマンド情報の作成中、あるいはアプリケーションの操作中に、次のコマンドあるいは次の操作の候補を提示できるようになる。 By performing machine learning in this way, the information processing apparatus 1 can present the next command or a candidate for the next operation while creating command information or operating an application.

1 情報処理装置、11 プロセッサ、12 記憶部、13 操作部、14 表示部、15 通信部、21 アプリケーション実行部、22 コマンド生成部、23 コマンド情報保持部、24 処理実行部、31 解釈部、32 検索部、33 実行部。

1 Information processing device, 11 Processor, 12 Storage unit, 13 Operation unit, 14 Display unit, 15 Communication unit, 21 Application execution unit, 22 Command generation unit, 23 Command information holding unit, 24 Processing execution unit, 31 Interpretation unit, 32 Search section, 33 execution section.

Claims (7)

動作指示に従って動作し、画面を表示する情報処理装置であって、
前記表示する画面上の画像要素と、当該画像要素に関係する操作を表す操作コマンドとを関連付けたコマンド情報を保持する保持手段と、
前記画面を表示しているときに、当該表示している画面から、前記コマンド情報に含まれる画像要素に相当する画像部分を検索する検索手段と、
検索によって前記コマンド情報に含まれる画像要素を見出したときに、当該画像要素に関連付けられた操作コマンドを取得し、当該操作コマンドに基づく所定処理を実行する処理実行手段と、
を含み、
前記検索手段が前記コマンド情報に含まれる画像要素を見出さなかった場合に、所定の再検索処理を実行する情報処理装置。
An information processing device that operates according to operation instructions and displays a screen.
A holding means for holding command information associated with an image element on the screen to be displayed and an operation command representing an operation related to the image element.
When the screen is displayed, a search means for searching an image portion corresponding to an image element included in the command information from the displayed screen, and
When an image element included in the command information is found by a search, a process execution means for acquiring an operation command associated with the image element and executing a predetermined process based on the operation command, and a process execution means.
Including
An information processing device that executes a predetermined re-search process when the search means does not find an image element included in the command information.
請求項1に記載の情報処理装置であって、前記検索手段は、前記コマンド情報に含まれる画像要素に基づいて、それぞれ所定の処理を行って得られる、複数の検索用画像要素を生成し、前記再実行処理においては、当該検索用画像要素と、前記画面内から抽出した複数の画素ブロック内のそれぞれの画像との類似度を求めて、当該類似度に基づいて検索の結果を出力する情報処理装置。 The information processing apparatus according to claim 1, wherein the search means generates a plurality of search image elements obtained by performing predetermined processing based on the image elements included in the command information. In the re-execution process, information that obtains the similarity between the search image element and each image in the plurality of pixel blocks extracted from the screen and outputs the search result based on the similarity. Processing equipment. 請求項1または2に記載の情報処理装置であって、
前記検索手段は、前記表示している画面のうちに、所定操作により出現する部分があるときには、当該部分を出現させて、再度、前記コマンド情報に含まれる画像要素に相当する画像部分を検索する情報処理装置。
The information processing device according to claim 1 or 2.
When the display means has a part that appears by a predetermined operation in the displayed screen, the search means causes the part to appear and searches again for an image part corresponding to the image element included in the command information. Information processing device.
請求項1から3のいずれか一項に記載の情報処理装置であって、
前記保持手段はさらに、操作コマンドに関連付けた画像要素に対し、さらに代替画像要素を関連付けて保持可能に構成され、
前記検索手段は、再検索処理として、前記コマンド情報に含まれる画像要素に対応する代替画像要素に相当する画像部分を検索する情報処理装置。
The information processing device according to any one of claims 1 to 3.
The holding means is further configured to be able to hold an alternative image element in association with the image element associated with the operation command.
The search means is an information processing device that searches an image portion corresponding to an alternative image element corresponding to the image element included in the command information as a re-search process.
請求項1から4のいずれか一項に記載の情報処理装置であって、
前記保持手段は、操作コマンドに、待機に係る条件の設定を含めて保持しており、
前記検索手段は、画面の表示の処理を開始した後、前記待機に係る条件が満足されるまで待機してから、当該表示している画面から、前記コマンド情報に含まれる画像要素に相当する画像部分を検索する情報処理装置。
The information processing device according to any one of claims 1 to 4.
The holding means holds the operation command including the setting of the condition related to the standby.
The search means starts the process of displaying the screen, waits until the condition related to the standby is satisfied, and then from the displayed screen, an image corresponding to the image element included in the command information. An information processing device that searches for parts.
請求項1から5のいずれか一項に記載の情報処理装置であって、
前記検索手段はさらに、前記コマンド情報に含まれる画像要素に基づいて、当該画像要素に類似する、類似画像要素を出力するよう機械学習し、当該画像要素を入力したときに当該機械学習結果に基づく出力として類似画像要素を得て、当該類似画像要素に相当する画像部分を検索する情報処理装置。
The information processing device according to any one of claims 1 to 5.
The search means further performs machine learning to output a similar image element similar to the image element based on the image element included in the command information, and is based on the machine learning result when the image element is input. An information processing device that obtains a similar image element as an output and searches for an image portion corresponding to the similar image element.
動作指示に従って動作し、画面を表示する情報処理装置を、
前記表示する画面上の画像要素と、当該画像要素に関係する操作を表す操作コマンドとを関連付けたコマンド情報を保持する保持手段と、
前記画面を表示しているときに、当該表示している画面から、前記コマンド情報に含まれる画像要素に相当する画像部分を検索する検索手段と、
検索によって前記コマンド情報に含まれる画像要素を見出したときに、当該画像要素に関連付けられた操作コマンドを取得し、当該操作コマンドに基づく所定処理を実行する処理実行手段と、として機能させ、
前記検索手段として機能させる際に、前記コマンド情報に含まれる画像要素を見出さなかった場合に、所定の再検索処理を実行させるプログラム。


An information processing device that operates according to the operation instructions and displays the screen,
A holding means for holding command information associated with an image element on the screen to be displayed and an operation command representing an operation related to the image element.
When the screen is displayed, a search means for searching an image portion corresponding to an image element included in the command information from the displayed screen, and
When an image element included in the command information is found by a search, an operation command associated with the image element is acquired, and the operation command is made to function as a process execution means for executing a predetermined process based on the operation command.
A program that executes a predetermined re-search process when an image element included in the command information is not found when functioning as the search means.


JP2019036955A 2019-02-28 2019-02-28 Information processing device and program Active JP7373828B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019036955A JP7373828B2 (en) 2019-02-28 2019-02-28 Information processing device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019036955A JP7373828B2 (en) 2019-02-28 2019-02-28 Information processing device and program

Publications (2)

Publication Number Publication Date
JP2020140574A true JP2020140574A (en) 2020-09-03
JP7373828B2 JP7373828B2 (en) 2023-11-06

Family

ID=72280403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019036955A Active JP7373828B2 (en) 2019-02-28 2019-02-28 Information processing device and program

Country Status (1)

Country Link
JP (1) JP7373828B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334530A (en) * 2003-05-07 2004-11-25 Fujitsu Ltd Web site edition supporting system and method
JP2009032099A (en) * 2007-07-27 2009-02-12 Toshiba Corp Scenario creation apparatus and scenario creation program
JP2012221318A (en) * 2011-04-11 2012-11-12 Toshiba Corp Scenario generation device and scenario generation program
JP2018116394A (en) * 2017-01-17 2018-07-26 東日本電信電話株式会社 Operation automation device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334530A (en) * 2003-05-07 2004-11-25 Fujitsu Ltd Web site edition supporting system and method
JP2009032099A (en) * 2007-07-27 2009-02-12 Toshiba Corp Scenario creation apparatus and scenario creation program
JP2012221318A (en) * 2011-04-11 2012-11-12 Toshiba Corp Scenario generation device and scenario generation program
JP2018116394A (en) * 2017-01-17 2018-07-26 東日本電信電話株式会社 Operation automation device

Also Published As

Publication number Publication date
JP7373828B2 (en) 2023-11-06

Similar Documents

Publication Publication Date Title
JP7089879B2 (en) Robot-based process automation
US8429612B2 (en) Graphical user interface (GUI) noise reduction in a cognitive control framework
Yeh et al. Sikuli: using GUI screenshots for search and automation
US7979849B2 (en) Automatic model-based testing
WO2015039566A1 (en) Method and system for facilitating automated web page testing
US20110047514A1 (en) Recording display-independent computerized guidance
JPH08287288A (en) Plurality of side annotations interactive three-dimensional graphics and hot link
US20070118818A1 (en) Method of tracking data objects using related thumbnails in a palette window
JP2016224599A (en) Guide file creation program
JP2003296012A (en) System for inputting and displaying graphic and method of using interface
US20110047462A1 (en) Display-independent computerized guidance
CN107239528A (en) Search result display methods and device
JP2011081778A (en) Method and device for display-independent computerized guidance
CN112131121B (en) Fuzzy detection method and device for user interface, electronic equipment and storage medium
WO2015043352A1 (en) Method and apparatus for selecting test nodes on webpages
US20150213148A1 (en) Systems and methods for browsing
JP2000181436A (en) Document display device
JP6910494B1 (en) Information processing program, information processing device and information processing method
US8667406B1 (en) Artboard creation and preview
WO2021176523A1 (en) Screen recognition device, screen recognition method, and program
JP7373828B2 (en) Information processing device and program
CN110020279A (en) Page data processing method, device and storage medium
JP7146210B2 (en) Information processing device, control method and program
CN104516860A (en) Methods and systems for selecting text within a displayed document
US11157130B2 (en) Cursor-based resizing for copied image portions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231017

R150 Certificate of patent or registration of utility model

Ref document number: 7373828

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150