WO2023238357A1 - 特定装置、特定方法及び特定プログラム - Google Patents

特定装置、特定方法及び特定プログラム Download PDF

Info

Publication number
WO2023238357A1
WO2023238357A1 PCT/JP2022/023376 JP2022023376W WO2023238357A1 WO 2023238357 A1 WO2023238357 A1 WO 2023238357A1 JP 2022023376 W JP2022023376 W JP 2022023376W WO 2023238357 A1 WO2023238357 A1 WO 2023238357A1
Authority
WO
WIPO (PCT)
Prior art keywords
specifying
captured image
screen
color
specific
Prior art date
Application number
PCT/JP2022/023376
Other languages
English (en)
French (fr)
Inventor
美沙 深井
将志 田所
晴夫 大石
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/023376 priority Critical patent/WO2023238357A1/ja
Publication of WO2023238357A1 publication Critical patent/WO2023238357A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Definitions

  • the present invention relates to a specific device, a specific method, and a specific program.
  • the operation range for the screen can be easily specified.
  • the identification device of the embodiment identifies the operation range for the screen of the terminal device.
  • the specific device can output the specified operation range as an image.
  • the operation range specified by the specific device may be used as data for learning a model (for example, a neural network) that automatically performs operations on the terminal device that imitate human input operations.
  • a model for example, a neural network
  • the specific device 10 includes a communication section 11, a storage section 12, and a control section 13.
  • the communication unit 11 is an interface for inputting and outputting data.
  • the communication unit 11 is a NIC (Network Interface Card).
  • the communication unit 11 can send and receive data to and from other devices.
  • the operation log information 121 includes an operation log.
  • the operation log is information that associates screen capture images with operation events. The method of generating the operation log will be described later.
  • the control unit 13 controls the entire specific device 10.
  • the control unit 13 includes, for example, electronic circuits such as a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), and an FPGA (Field Programmable Gate). Array) etc. It is an integrated circuit.
  • control unit 13 has an internal memory for storing programs and control data that define various processing procedures, and executes each process using the internal memory. Further, the control unit 13 functions as various processing units by running various programs.
  • control unit 13 includes an acquisition unit 131, a generation unit 132, and a specification unit 133.
  • the acquisition unit 131 acquires an operation event that occurs in response to an operation on the screen of the terminal device 20 and a captured image of the screen.
  • the acquisition unit 131 can acquire operation events and captured images via the communication unit 11.
  • the acquisition unit 131 acquires the operation event at the timing when the operation event occurs.
  • the operation event is information regarding mouse operation and keyboard operation.
  • Mouse operations include mouse button operations and mouse wheel operations.
  • Keyboard operations include key input.
  • the operation event corresponding to the mouse operation includes information identifying the operated button or wheel, and the type of operation (click, press down, push up, scroll, etc.). Further, the operation event corresponding to the keyboard operation includes the type of the operated key.
  • the acquisition unit 131 also acquires the operation event, the time (time stamp) at which the operation event occurred, and the position of the mouse cursor at the time.
  • the acquisition unit 131 captures a screen capture image from the terminal device 20, the time at which the captured image was acquired (time stamp), and the mouse cursor position at the time, at regular time intervals, regardless of the occurrence of an operation event. Get location.
  • the acquisition unit 131 may acquire detailed information such as window identification information along with the captured image.
  • the generation unit 132 generates an operation log based on the information acquired by the acquisition unit 131.
  • the generation unit 132 compares the time stamp of the operation event and the time stamp of the captured image, and associates the captured image acquired at the time closest to the time indicated by the time stamp of the operation event with the operation event.
  • the generation unit 132 adds the linked operation event and captured image to the operation log information 121 as an operation log along with the position of the mouse cursor corresponding to the operation event or the captured image.
  • the specifying unit 133 specifies the range targeted by the operation (operation range) based on information regarding the color of the position corresponding to the operation event in the captured image.
  • the information regarding color is, for example, the pixel value of each pixel of the image.
  • pixel values are represented by RGB color space or HLS color space.
  • pixel values are assumed to be expressed in the RGB color space.
  • FIG. 2, FIG. 3, FIG. 4, and FIG. 5 are diagrams illustrating an example of a method for specifying an operation range. Note that the method for specifying the operation range is not limited to the one exemplified here.
  • FIGS. 2, 3, 4, and 5 represent the whole or part of the captured image.
  • symbols and patterns are added as appropriate, the style of ruled lines, fonts are changed, and a partially enlarged figure is displayed, etc., but this is for explanation purposes only. does not mean to do it.
  • First identification method identification method based on the position of the mouse cursor
  • the specifying unit 133 can specify the operation range based on the position of the mouse cursor (hereinafter referred to as a first specifying method).
  • the specifying unit 133 identifies an adjacent area (the area with the pattern of step S12) having the same color as the recorded color (having the same pixel value) starting from the position of the mouse cursor where the pixel value was recorded. and specifies the area as the operation range (within the bold line frame in step S13).
  • the specifying unit 133 specifies as the operation range the area that will be filled when a pixel whose pixel value is recorded is subjected to a specified filling process using image editing software or the like.
  • the specifying unit 133 includes the region in the operation range.
  • the specifying unit 133 includes, in the operation area, a region of the character string "Enter station name” inside the text box labeled "Departure station”.
  • the specifying unit 133 can specify the operation range based on the position of the mouse cursor and adjacent coordinates (hereinafter referred to as a second specifying method).
  • the specifying unit 133 records (117, 117, 117), which is the pixel value at the position on the character "force" (step S21). Then, the specifying unit 133 uses the first specifying method to specify the portion attached with the character pattern "force" as the operation range (step S22). Note that the pixel value (117, 117, 117) is a color between white and black, and may also be called gray.
  • the specifying unit 133 may set the operation range while the operator continues to operate the keyboard to be the same as the operation range obtained during the previous click operation.
  • the acquisition unit 131 acquires captured images at regular time intervals. Then, the specifying unit 133 specifies the range targeted by the operation based on the portion of the captured image that has changed over time. In particular, the specifying unit 133 specifies the range targeted by the operation based on the color surrounding a portion of the captured image that has changed over time. This makes it possible to easily specify the operation range for character input operations using the keyboard.
  • the Tab key may be pressed in the state of step S41 in FIG. 5, and a cursor may appear in the text box as in step S42.
  • the coordinates around the cursor may fall outside the borders of the text box or the text box.
  • the specifying unit 133 sets the area where the change occurs on the screen when the key is pressed as the operation range (step S43).
  • the tab key is pressed in step S41, a cursor appears in the text box as shown in step S42, and the border of the text box in which the cursor appears is highlighted as shown in step S43.
  • the specifying unit 133 specifies the area surrounded by the highlighted ruled lines as the area where the change has occurred, that is, the operation range.
  • the specifying unit 133 specifies a closed area of the captured image that has changed over time as a range targeted by the operation. As a result, even if it is difficult to specify the operation range using only color-related information, the operation range can be specified.
  • steps S102 to S104 are repeated.
  • dropping the terminal device 20 means shutting down the terminal device 20, turning off the power of the terminal device 20, and the like.
  • step S102 the specific device 10 temporarily stores captured images of the screen of the terminal device 20 at regular intervals.
  • step S103, Yes the specific device 10 proceeds to step S104.
  • step S103, No the specific device 10 ends the process.
  • step S104 the specific device 10 acquires the operation event of the terminal device 20.
  • the operation event includes the event type (mouse click, keyboard key press, etc.), the time of occurrence, the mouse cursor position at the time of occurrence, and the like.
  • FIG. 7 is a flowchart showing an example of the flow of the generation process.
  • the generation process is a process performed by the generation unit 132.
  • the specific device 10 repeats steps S202 and S203 until all the operation events acquired in the acquisition process are targeted (step S201, No).
  • the specific device 10 targets all operation events (step S201, Yes)
  • the specific device 10 ends the process.
  • step S202 the specific device 10 determines the target operation event. Then, the specific device 10 associates the determined operation event with the captured image acquired at the time closest to the operation event occurrence time (step S203).
  • the identification device 10 stores the linked data in the storage unit 12 as operation log information 121.
  • FIG. 8 is a flowchart showing an example of the flow of the identification process.
  • the specifying process is a process performed by the specifying unit 133.
  • the specific device 10 repeats the process from step S302 until all the operation events acquired in the acquisition process are targeted (step S301, No).
  • the specific device 10 targets all operation events (step S301, Yes)
  • the specific device 10 ends the process.
  • step S302 the specific device 10 determines the target operation event. Then, the specific device 10 proceeds to step S304 when the determined operation event is a mouse operation (step S303, Yes), and proceeds to step S310 when the determined operation event is not a mouse operation (step S303, No).
  • step S304 the specific device 10 records the pixel value at the mouse cursor position when the operation event occurs. Then, the identification device 10 acquires an area having the same pixel value from the mouse cursor position when the operation event occurs (step S305). Step S305 corresponds to the first identification method.
  • the specific device 10 determines whether the vertical width and horizontal width of the acquired area are greater than or equal to the reference (step S306). Further, if the height and width of the acquired area are greater than or equal to the reference (step S306, Yes), the identification device 10 determines whether the total number of pixels in the acquired area is greater than or equal to the reference (step S307). .
  • step S306 a first condition is determined. Further, in step S307, a second condition is determined.
  • step S306 If the height and width of the acquired area are not greater than or equal to the reference (step S306, No), or if the total number of pixels in the acquired area is not greater than or equal to the reference (step S307, No), the identification device 10 proceeds to step S308.
  • step S308 the identification device 10 obtains pixel values for coordinates adjacent to the region obtained in step S305, and obtains regions with the same pixel value. Steps S306, S307, and S308 correspond to the second identification method.
  • step S306 determines whether the vertical width and horizontal width of the acquired area are greater than or equal to the reference (step S306, Yes)
  • step S307, Yes the total number of pixels in the obtained area is greater than or equal to the reference (step S307, Yes)
  • step S309 The area acquired in step S309 is specified as the operation range.
  • step S310 the specific device 10 acquires the area that has changed due to the operation event (step S310). If the operation is not text input (step S311, No), the specific device 10 proceeds to step S309. In this case, steps S310 and S309 correspond to the fourth identification method.
  • step S311, Yes the identification device 10 acquires an area with the same pixel value based on the coordinates adjacent to the changed part (step S312), and proceeds to step S306. .
  • steps S310 and S312 correspond to the third identification method.
  • the identification device 10 includes the acquisition section 131 and the identification section 133.
  • the acquisition unit 131 acquires an operation event that occurs in response to an operation on the screen of the terminal device 20 and a captured image of the screen.
  • the specifying unit 133 specifies the range targeted by the operation based on information regarding the color of the position corresponding to the operation event in the captured image.
  • the identification device 10 can identify the operation target range from the limited information of the operation event and the captured image, without requiring the attribute information of the GUI component. In this way, according to the embodiment, the operation range for the screen can be easily specified.
  • each component of each device shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings.
  • the specific form of distributing and integrating each device is not limited to what is shown in the diagram, and all or part of the devices may be functionally or physically distributed or integrated in arbitrary units depending on various loads and usage conditions. Can be integrated and configured.
  • each processing function performed by each device is realized in whole or in part by a CPU (Central Processing Unit) and a program that is analyzed and executed by the CPU, or by hardware using wired logic. It can be realized as Note that the program may be executed not only by the CPU but also by another processor such as a GPU.
  • a CPU Central Processing Unit
  • the specific device 10 can be implemented by installing a specific program that executes the above specific processing into a desired computer as packaged software or online software. For example, by causing the information processing device to execute the above specific program, the information processing device can be made to function as the specific device 10.
  • the information processing device referred to here includes a desktop or notebook personal computer.
  • information processing devices include mobile communication terminals such as smartphones, mobile phones, and PHSs (Personal Handyphone Systems), as well as slate terminals such as PDAs (Personal Digital Assistants).
  • FIG. 9 is a diagram showing an example of a computer that executes a specific program.
  • Computer 1000 includes, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These parts are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012.
  • the ROM 1011 stores, for example, a boot program such as BIOS (Basic Input Output System).
  • Hard disk drive interface 1030 is connected to hard disk drive 1090.
  • Disk drive interface 1040 is connected to disk drive 1100.
  • Serial port interface 1050 is connected to, for example, mouse 1110 and keyboard 1120.
  • Video adapter 1060 is connected to display 1130, for example.
  • the setting data used in the processing of the embodiment described above is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads out the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes the processing of the embodiment described above.
  • program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like.
  • the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). The program module 1093 and program data 1094 may then be read by the CPU 1020 from another computer via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

実施形態の特定装置(10)は、取得部(131)及び特定部(133)を有する。取得部(131)は、端末装置(20)の画面に対する操作に応じて発生する操作イベントと、画面のキャプチャ画像と、を取得する。特定部(133)は、キャプチャ画像における操作イベントに対応する位置の色に関する情報に基づいて、操作が対象とする範囲を特定する。

Description

特定装置、特定方法及び特定プログラム
 本発明は、特定装置、特定方法及び特定プログラムに関する。
 従来、端末利用業務における作業者の操作内容を記録した操作ログは、業務実態の把握のための業務分析、及び機械学習を用いた業務支援に用いられる(例えば、非特許文献1及び2を参照)。
 また、操作ログにおいて、作業者が操作を行ったGUI部品等の操作範囲の情報は、業務フローの可視化及び機械学習の設計に有効である。
 例えば、GUIアプリケーションの操作画面を対象とした操作ログの取得方法として、イベント発生時に、操作画面を構成するGUI部品の属性値を取得し、当該イベントの発生前後で変更箇所を発見する技術が知られている(例えば、特許文献1を参照)。
特開2015-153210号公報
横瀬ほか,「DX推進に貢献する業務可視化技術」NTT技術ジャーナル,2020 vol.32 No.2 M. Fukai, M. Tadokoro, and H. Oishi, "Study on Automating Decision-Making by Learning Optimal Processes from PC Work," Proc. The 22nd Asia-Pacific Network Operations and Management Symposium (APNOMS 2021), Sept. 2021.
 しかしながら、従来の技術には、画面に対する操作範囲を容易に特定できない場合があるという問題がある。
 例えば、多様なアプリケーションを用いて端末利用業務を行う場合、アプリケーションによってはGUI部品の情報が取得できず、操作範囲の特定が困難になることが考えられる。
 また、例えば、シンクライアント環境のような画面キャプチャとマウス、キーボードの操作情報のみしか取得できない環境においては、GUI部品の情報が取得できず、操作範囲を特定することは難しい。
 また、操作イベントの情報とキャプチャ画像から操作箇所を推測し、操作範囲を人手で設定する方法も考えられるが、何を意図した操作であるのか推測が困難なケースも存在するうえに、一つ一つの操作に対して人手で設定していくのは多大な時間がかかる。
 本発明は、上記に鑑みてなされたものであって、画面に対する操作範囲を容易に特定することを目的とする。
 上述した課題を解決し、目的を達成するために、特定装置は、端末装置の画面に対する操作に応じて発生する操作イベントと、前記画面のキャプチャ画像と、を取得する取得部と、前記キャプチャ画像における前記操作イベントに対応する位置の色に関する情報に基づいて、前記操作が対象とする範囲を特定する特定部と、を有することを特徴とする。
 本発明によれば、画面に対する操作範囲を容易に特定することができる。
図1は、第1の実施形態の特定装置の構成例を示す図である。 図2は、操作範囲の特定方法の例を示す図である。 図3は、操作範囲の特定方法の例を示す図である。 図4は、操作範囲の特定方法の例を示す図である。 図5は、操作範囲の特定方法の例を示す図である。 図6は、取得処理の流れの一例を示すフローチャートである。 図7は、生成処理の流れの一例を示すフローチャートである。 図8は、特定処理の流れの一例を示すフローチャートである。 図9は、特定プログラムを実行するコンピュータの一例を示す図である。
 以下に、本願に係る特定装置、特定方法及び特定プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
 例えば、実施形態における業務には、PC(Personal Computer)等の端末装置への入力作業が含まれる。また、例えば、端末装置を用いた業務は、マウス、キーボード、タッチパネル等の入力装置の操作により行われる。
 実施形態の特定装置は、端末装置の画面に対する操作範囲を特定する。例えば、特定装置は、特定した操作範囲を画像として出力することができる。
 また、特定装置によって特定された操作範囲は、例えば非特許文献1に記載されているような業務分析、特にプロセス可視化及びタイムライン可視化といった手順において利用され得る。
 また、特定装置によって特定された操作範囲は、人間の入力作業を模した操作を端末装置に対して自動的に行うモデル(例えばニューラルネットワーク)の学習用のデータとして用いられてもよい。
[第1の実施形態の構成]
 まず、図1を用いて、第1の実施形態に係る特定装置の構成について説明する。図1は、第1の実施形態に係る特定装置の構成の一例を示す図である。
 図1に示すように、特定装置10は、端末装置20と接続されている。端末装置20は、作業者が業務を行うためのPC等の装置である。また、特定装置10は、端末装置20と直接接続されていなくてもよく、端末装置20に対する操作に関する情報を任意の手段で取得可能であればよい。
 ここで、特定装置10の各部について説明する。図1に示すように、特定装置10は、通信部11、記憶部12及び制御部13を有する。
 通信部11は、データの入力及び出力のためのインタフェースである。例えば、通信部11はNIC(Network Interface Card)である。通信部11は他の装置との間でデータの送受信を行うことができる。
 記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。
 記憶部12は、特定装置10で実行されるOS(Operating System)や各種プログラムを記憶する。記憶部12は、操作ログ情報121を記憶する。
 操作ログ情報121は、操作ログを含む。操作ログは、画面のキャプチャ画像と操作イベントとを対応付けた情報である。操作ログの生成方法については後述する。
 制御部13は、特定装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。
 また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、取得部131、生成部132及び特定部133を有する。
 取得部131は、端末装置20の画面に対する操作に応じて発生する操作イベントと、画面のキャプチャ画像と、を取得する。取得部131は、通信部11を介して操作イベント及びキャプチャ画像を取得することができる。
 取得部131は、操作イベントが発生したタイミングで当該操作イベントを取得する。例えば、操作イベントは、マウス操作及びキーボード操作に関する情報である。マウス操作には、マウスボタンの操作及びマウスホイールの操作が含まれる。キーボード操作には、キー入力が含まれる。
 マウス操作に対応する操作イベントには、操作されたボタン又はホイールを識別する情報、操作の種別(クリック、押し下げ、押し上げ、スクロール等)が含まれる。また、キーボード操作に対応する操作イベントには、操作されたキーの種別が含まれる。
 また、取得部131は、操作イベントとともに、当該操作イベントが発生した時刻(タイムスタンプ)、及び当該時刻におけるマウスカーソルの位置を取得する。
 また、取得部131は、操作イベントの発生にかかわらず、一定の時間間隔で、端末装置20から画面のキャプチャ画像、当該キャプチャ画像が取得された時刻(タイムスタンプ)、及び当該時刻におけるマウスカーソルの位置を取得する。
 さらに、取得部131は、可能であれば、キャプチャ画像とともに、ウィンドウ識別情報等の詳細な情報を取得してもよい。
 生成部132は、取得部131によって取得された情報を基に、操作ログを生成する。生成部132は、操作イベントのタイムスタンプと、キャプチャ画像のタイムスタンプとを比較し、操作イベントのタイムスタンプが示す時刻に最も近い時刻に取得されたキャプチャ画像を、当該操作イベントと紐づける。
 生成部132は、紐づけた操作イベントとキャプチャ画像を、操作イベント又はキャプチャ画像に対応するマウスカーソルの位置とともに操作ログとして操作ログ情報121に追加する。
 特定部133は、キャプチャ画像における操作イベントに対応する位置の色に関する情報に基づいて、操作が対象とする範囲(操作範囲)を特定する。色に関する情報は、例えば画像の各ピクセルのピクセル値である。例えば、ピクセル値は、RGB色空間又はHLS色空間によって表現される。以降、特に記載がない場合、ピクセル値はRGB色空間によって表現されるものとする。
 ここで、図2、図3、図4及び図5を用いて、特定部133による操作範囲の特定方法を、具体的な例を挙げて説明する。図2、図3、図4及び図5は、操作範囲の特定方法の例を示す図である。なお、操作範囲の特定方法は、ここで例示するものに限られない。
 図2、図3、図4及び図5の矩形の領域はキャプチャ画像の全体又は一部を表している。また、各図では、適宜記号、パターンの付加、罫線のスタイル、フォントの変更、一部を拡大した図の表示等を行うが、これは説明のためであり、実際にキャプチャ画像の編集及び加工を行うことを意味しない。
(第1の特定方法:マウスカーソルの位置を基にした特定方法)
 図2に示すように、特定部133は、マウスカーソルの位置を基に操作範囲を特定することができる(以下、第1の特定方法)。
 まず、特定部133は、操作ログ情報121に含まれる特定対象の操作イベントがマウスの操作に関するものである場合、操作イベント発生時のマウスカーソルの位置に対応する、キャプチャ画像上の位置のピクセル値を記録する(ステップS11)。例えば、特定部133は、マウスカーソルの先端のピクセルのピクセル値を記録する。
 次に、特定部133は、ピクセル値を記録したマウスカーソルの位置を起点に、記録した色と同一の色である(ピクセル値が等しい)隣接した領域(ステップS12のパターンを付した領域)を取得し、その領域を操作範囲として特定する(ステップS13の太線の枠内)。
 例えば、テキストボックスの内部は単一の色(例えば白(ピクセル値:(255,255,255))であり、罫線は内部と異なる色(例えば白(ピクセル値:(0,0,0))である場合がある。このような場合、マウスカーソルの先端がテキストボックス内にあれば、特定部133は、テキストボックスの内部全体を操作範囲として特定する。
 言い換えると、画像編集ソフト等において、ピクセル値を記録したピクセルを指定した塗りつぶし処理を行った場合に塗りつぶされる領域が、特定部133によって操作範囲として特定される。
 このとき、特定部133は、領域の内部に異なる色の領域が含まれている場合には、当該領域を操作範囲に含めるものとする。図2の例では、特定部133は、「出発駅」というラベルが付されたテキストボックスの内部の、「駅名を入力」という文字列の領域を操作領域に含める。
 また、特定部133は、記録した色と同一の色の領域ではなく、記録した色と類似する色の領域を操作範囲として特定してもよい。例えば、特定部133は、記録したピクセル値との類似度(例えば、ベクトル間の距離)が閾値以下であれば、操作範囲とみなす。
 このように、特定部133は、操作イベントが発生した際のマウスカーソルの位置の色を基に、操作が対象とする範囲を特定することができる。これにより、マウス操作に関する操作範囲を容易に特定できる。
(第2の特定方法:マウスカーソルの位置と隣接する座標を基にした特定方法)
 図3に示すように、特定部133は、マウスカーソルの位置と隣接する座標を基に操作範囲を特定することができる(以下、第2の特定方法)。
 例えば、操作されたGUI部品が文字を含むボタン等であり、かつその文字上がクリックされた場合、正確な操作範囲の特定が困難である場合がある。
 そこで、特定部133は、第1の特定方法を実行して特定した操作範囲が、下記の第1の条件又は第2の条件を満たす場合、クリックされた位置の座標だけでなく、当該座標の周囲の座標の色を記録する。
 第1の条件:特定した操作範囲における横幅や縦幅が閾値以下である。
 第2の条件:特定した操作範囲のピクセルの総数が閾値以下である。
 図3の例では、まず、特定部133は、「力」という文字上の位置のピクセル値である(117,117,117)を記録する(ステップS21)。そして、特定部133は、第1の特定方法により、「力」という文字のパターンを付した部分を操作範囲として特定する(ステップS22)。なお、ピクセル値(117,117,117)は、白と黒の間の色であり、グレーと呼ばれてもよい。
 ここで特定した操作範囲は、テキストボックス全体と比べると、縦幅及び横幅が狭く、ピクセルの総数も少ない。このため、操作範囲は、第1の条件又は第2の条件の少なくともいずれかを満たす。
 そのため、特定部133は、ステップS22で特定した操作範囲に隣接するピクセル、すなわちテキストボックス内の文字が存在しない部分についてさらに第1の特定方法を実行することで、テキストボックスの内部全体を操作範囲として特定する(ステップS23)。
 なお、第1の条件における縦幅及び横幅の閾値は、使用されるフォントの文字を構成する線の太さに基づくものであってもよい。また、第2の条件におけるピクセルの総数は、使用されるフォントの文字が占めるピクセルの数の平均に基づくものであってもよい。
(第3の特定方法:変化部分周囲のピクセル値を基にした特定方法)
 図4に示すように、特定部133は、変化部分の周囲のピクセル値を基に操作範囲を特定することができる(以下、第3の特定方法)。
 操作イベントがキーボードの操作に関するものであり、テキストの入力により画面が変化した場合を考える。例えば、キーボードの「y」が操作されたことにより、画面が図4のステップS31の状態から、ステップS32の状態に変化したものとする。
 このとき、特定部133は、変化が生じた領域の周囲の座標についてピクセル値を記録し、当該ピクセル値に対して第1の特定方法を実行する。これにより、特定部133は、「y」という文字が表示されたテキストボックスの内部を操作範囲として特定する(ステップS33)。
 変化が生じた領域の周囲は、「y」という文字の外縁部分であり、テキストボックスの文字が表示されていない領域に相当する。
 また、作業者は、クリックでテキストボックスにフォーカスを移動させ、当該テキストボックスに文字を入力することが考えられる。このため、特定部133は、作業者がキーボード操作を続ける間の操作範囲を、直前のクリック操作時に取得した操作範囲と同一としてもよい。
 このように、取得部131はキャプチャ画像を一定の時間間隔で取得する。そして、特定部133は、キャプチャ画像の時間経過により変化した部分を基に、操作が対象とする範囲を特定する。特に、特定部133は、キャプチャ画像の時間経過により変化した部分の周囲の色を基に、操作が対象とする範囲を特定する。これにより、キーボードによる文字入力操作に関する操作範囲を容易に特定できる。
(4.変化部分を操作範囲として特定する特定方法)
 第3の特定方法により、変化部分の周囲の座標についての色を基に領域の取得を行うと、正確な操作範囲が取得できない場合がある。
 例えば、キーボード操作がTabキーの押下であった場合、変化部分周囲の座標について領域の取得を行うと、テキストボックス外まで取得されてしまう。
 例えば、図5のステップS41の状態でTabキーが押下され、ステップS42のようにテキストボックス内にカーソルが出現する場合がある。この場合、カーソルの周囲の座標は、テキストボックスの罫線又はテキストボックスの外になってしまう可能性がある。
 そのため、特定部133は、キーを押下した際に画面上に変化が生じた領域をそのまま操作範囲とする(ステップS43)。ステップS41の状態でTabキーが押下されると、ステップS42に示すようにテキストボックス内にカーソルが出現するとともに、ステップS43に示すようにカーソルが出現したテキストボックスの罫線が強調表示される。このとき、特定部133は、強調表示された罫線に囲まれた領域を、変化が生じた領域、すなわち操作範囲として特定する。
 例えば、特定部133は、Tabキー及びEnterキーのような特定の種別のキーが操作された際に、第4の特定方法を実行し、他のキーが操作された場合は第3の特定方法を実行するようにしてもよい。
 特定部133は、キャプチャ画像の時間経過により変化した閉じた領域を、操作が対象とする範囲として特定する。これにより、色に関する情報だけでは操作範囲の特定が難しい場合であっても、操作範囲を特定できる。
[第1の実施形態の処理]
 図6、図7及び図8を用いて、特定装置10の処理の流れを説明する。
 図6は、取得処理の流れの一例を示すフローチャートである。例えば、取得処理は取得部131によって行われる処理である。
 図6に示すように、まず、特定装置10は、端末装置20を使用している作業者が処理を停止しておらず、かつ作業者が端末装置20を落としていない場合(ステップS101、No)、ステップS102からステップS104を繰り返す。なお、端末装置20を落とすことは、端末装置20をシャットダウンすること、及び端末装置20の電源をオフにすること等を意味する。
 なお、特定装置10は、作業者が処理を停止するか、又は作業者が端末装置20を落とした場合(ステップS101、Yes)、処理を終了する。
 ステップS102では、特定装置10は、端末装置20の画面のキャプチャ画像を一定間隔で一時保存しておく。
 そして、特定装置10は、操作イベントが発生した場合(ステップS103、Yes)、ステップS104へ進む。特定装置10は、操作イベントが発生しない場合(ステップS103、No)、処理を終了する。
 ステップS104では、特定装置10は、端末装置20の操作イベントを取得する。操作イベントには、イベント種別(マウスクリック、キーボードのキー押下等)、発生時刻、発生時のマウスカーソル位置等が含まれる。
 図7は、生成処理の流れの一例を示すフローチャートである。例えば、生成処理は生成部132によって行われる処理である。
 図7に示すように、特定装置10は、取得処理で取得された全ての操作イベントをターゲットとするまで(ステップS201、No)、ステップS202及びステップS203を繰り返す。特定装置10は、全ての操作イベントをターゲットとした場合(ステップS201、Yes)、処理を終了する。
 ステップS202では、特定装置10は、ターゲットとする操作イベントを決定する。そして、特定装置10は、決定した操作イベントに、操作イベント発生時刻と最も近い時刻に取得されたキャプチャ画像を紐づける(ステップS203)。特定装置10は、紐づけたデータを操作ログ情報121として記憶部12に格納する。
 図8は、特定処理の流れの一例を示すフローチャートである。例えば、特定処理は特定部133によって行われる処理である。
 図8に示すように、特定装置10は、取得処理で取得された全ての操作イベントをターゲットとするまで(ステップS301、No)、ステップS302以降の処理を繰り返す。特定装置10は、全ての操作イベントをターゲットとした場合(ステップS301、Yes)、処理を終了する。
 ステップS302では、特定装置10は、ターゲットとする操作イベントを決定する。そして、特定装置10は、決定した操作イベントがマウス操作である場合(ステップS303、Yes)はステップS304へ進み、決定した操作イベントがマウス操作でない場合(ステップS303、No)はステップS310へ進む。
 ステップS304では、特定装置10は、操作イベント発生時のマウスカーソル位置のピクセル値を記録する。そして、特定装置10は、操作イベント発生時のマウスカーソル位置から、同一のピクセル値である領域を取得する(ステップS305)。ステップS305は、第1の特定方法に相当する。
 ここで、特定装置10は、取得した領域の縦幅・横幅が基準以上であるか否かを判定する(ステップS306)。また、特定装置10は、取得した領域の縦幅・横幅が基準以上である場合(ステップS306、Yes)、取得した領域のピクセルの総数が基準以上であるか否かを判定する(ステップS307)。
 ステップS306では、第1の条件の判定が行われる。また、ステップS307では、第2の条件の判定が行われる。
 特定装置10は、取得した領域の縦幅・横幅が基準以上でない場合(ステップS306、No)、又は取得した領域のピクセルの総数が基準以上でない場合(ステップS307、No)、ステップS308へ進む。
 ステップS308では、特定装置10は、ステップS305で取得した領域に隣接する座標についてピクセル値を取得し、同一のピクセル値である領域を取得する。ステップS306、S307、S308は、第2の特定方法に相当する。
 また、特定装置10は、取得した領域の縦幅・横幅が基準以上であり(ステップS306、Yes)、かつ取得した領域のピクセルの総数が基準以上である場合(ステップS307、Yes)、ステップS305で取得した領域を操作範囲として特定する(ステップS309)。
 ステップS310では、特定装置10は、操作イベントによって変化が生じた領域を取得する(ステップS310)。操作がテキストの入力でない場合(ステップS311、No)、特定装置10はステップS309に進む。この場合、ステップS310、S309は、第4の特定方法に相当する。
 一方、操作がテキストの入力である場合(ステップS311、Yes)、特定装置10は、変化部分に隣接する座標を基に同一のピクセル値となる領域を取得し(ステップS312)、ステップS306へ進む。この場合、ステップS310、S312は、第3の特定方法に相当する。
[第1の実施形態の効果]
 これまで説明してきたように、特定装置10は、取得部131及び特定部133を有する。取得部131は、端末装置20の画面に対する操作に応じて発生する操作イベントと、画面のキャプチャ画像と、を取得する。特定部133は、キャプチャ画像における操作イベントに対応する位置の色に関する情報に基づいて、操作が対象とする範囲を特定する。
 これにより、特定装置10は、GUI部品の属性情報を必要とせず、操作イベントとキャプチャ画像という限られた情報から操作対象範囲を特定することができる。このように、実施形態によれば、画面に対する操作範囲を容易に特定できる。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 一実施形態として、特定装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の特定処理を実行する特定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の特定プログラムを情報処理装置に実行させることにより、情報処理装置を特定装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 また、特定装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の特定処理に関するサービスを提供する特定サーバ装置として実装することもできる。例えば、特定サーバ装置は、端末装置の操作イベントとキャプチャ画像を入力とし、特定した操作範囲を出力とする特定サービスを提供するサーバ装置として実装される。この場合、特定サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の特定処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
 図9は、特定プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、特定装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、特定装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 特定装置
 11 通信部
 12 記憶部
 13 制御部
 20 端末装置
 121 操作ログ情報
 131 取得部
 132 生成部
 133 特定部

Claims (7)

  1.  端末装置の画面に対する操作に応じて発生する操作イベントと、前記画面のキャプチャ画像と、を取得する取得部と、
     前記キャプチャ画像における前記操作イベントに対応する位置の色に関する情報に基づいて、前記操作が対象とする範囲を特定する特定部と、
     を有することを特徴とする特定装置。
  2.  前記特定部は、前記操作イベントが発生した際のマウスカーソルの位置の色を基に、前記操作が対象とする範囲を特定することを特徴とする請求項1に記載の特定装置。
  3.  前記取得部は前記キャプチャ画像を一定の時間間隔で取得し、
     前記特定部は、前記キャプチャ画像の時間経過により変化した部分を基に、前記操作が対象とする範囲を特定することを特徴とする請求項1に記載の特定装置。
  4.  前記特定部は、前記キャプチャ画像の時間経過により変化した閉じた領域を、前記操作が対象とする範囲として特定することを特徴とする請求項3に記載の特定装置。
  5.  前記特定部は、前記キャプチャ画像の時間経過により変化した部分の周囲の色を基に、前記操作が対象とする範囲を特定することを特徴とする請求項3に記載の特定装置。
  6.  特定装置によって実行される特定方法であって、
     端末装置の画面に対する操作に応じて発生する操作イベントと、前記画面のキャプチャ画像と、を取得する取得工程と、
     前記キャプチャ画像における前記操作イベントに対応する位置の色に関する情報に基づいて、前記操作が対象とする範囲を特定する特定工程と、
     を含むことを特徴とする特定方法。
  7.  端末装置の画面に対する操作に応じて発生する操作イベントと、前記画面のキャプチャ画像と、を取得する取得ステップと、
     前記キャプチャ画像における前記操作イベントに対応する位置の色に関する情報に基づいて、前記操作が対象とする範囲を特定する特定ステップと、
     をコンピュータに実行させることを特徴とする特定プログラム。
PCT/JP2022/023376 2022-06-09 2022-06-09 特定装置、特定方法及び特定プログラム WO2023238357A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/023376 WO2023238357A1 (ja) 2022-06-09 2022-06-09 特定装置、特定方法及び特定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/023376 WO2023238357A1 (ja) 2022-06-09 2022-06-09 特定装置、特定方法及び特定プログラム

Publications (1)

Publication Number Publication Date
WO2023238357A1 true WO2023238357A1 (ja) 2023-12-14

Family

ID=89117820

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/023376 WO2023238357A1 (ja) 2022-06-09 2022-06-09 特定装置、特定方法及び特定プログラム

Country Status (1)

Country Link
WO (1) WO2023238357A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016224599A (ja) * 2015-05-28 2016-12-28 株式会社島津製作所 ガイドファイル作成プログラム
WO2021140594A1 (ja) * 2020-01-08 2021-07-15 日本電信電話株式会社 操作ログ取得装置および操作ログ取得方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016224599A (ja) * 2015-05-28 2016-12-28 株式会社島津製作所 ガイドファイル作成プログラム
WO2021140594A1 (ja) * 2020-01-08 2021-07-15 日本電信電話株式会社 操作ログ取得装置および操作ログ取得方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NAITO, TAKAHIKO ET AL.: "Photoshop: Reverse lookup quick reference of CS3 Extended & CS3 & CS2 support for Macintosh & Windows. 1st edition", 1 January 2007, MAINICHI COMMUNICATIONS INC., JP, ISBN: 978-4-8399-2572-7, article NAITO, TAKAHIKO ET AL.: "Whether [Adjacent] in the option bar is checked or not.", pages: 141, XP009551237 *

Similar Documents

Publication Publication Date Title
CN109117760B (zh) 图像处理方法、装置、电子设备和计算机可读介质
CN104268814A (zh) 生成电子病历的方法和装置
JP2007304669A (ja) 電子機器の制御方法およびプログラム
CN109784369A (zh) H5页面测试方法与装置、电子设备、存储介质
CN112930537B (zh) 文本检测、插入符号追踪以及活动元素检测
EP3163423A1 (en) Method and device for setting background of ui control and terminal
US20140325409A1 (en) Active & Efficient Monitoring of a Graphical User Interface
US11238623B2 (en) Automatic line drawing coloring program, automatic line drawing coloring apparatus, and graphical user interface program
CN113268243B (zh) 内存预测方法及装置、存储介质、电子设备
CN111033465A (zh) 终端装置、ui扩展方法和ui扩展程序
CN110968375B (zh) 界面控制方法、装置、智能终端及计算机可读存储介质
EP3951601A1 (en) Information processing device and api usage history display program
WO2023238357A1 (ja) 特定装置、特定方法及び特定プログラム
CN101118561B (zh) 演示设备和演示控制方法
KR101764998B1 (ko) 이미지 필터링 방법 및 시스템
JP6070829B2 (ja) 表示制御装置、情報処理装置、表示制御方法、表示制御プログラム及び情報処理システム
JP5005633B2 (ja) 画像検索装置、画像検索方法、情報処理プログラム及び記録媒体
WO2023238356A1 (ja) 生成装置、生成方法及び生成プログラム
US11061664B2 (en) Code management system and code management method
JP4621551B2 (ja) 画像データの取得方法、画像データ取得装置、およびプログラム
WO2023105696A1 (ja) 情報付与装置、情報付与方法及び情報付与プログラム
CN113112395B (zh) 图片处理方法、装置及存储介质
WO2024023948A1 (ja) 分析装置、分析方法および分析プログラム
CN112486477B (zh) 文件生成方法、装置、电子设备及存储介质
CN113344824A (zh) 界面图像对比方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22945858

Country of ref document: EP

Kind code of ref document: A1