JP2011081778A - ディスプレイ非依存のコンピュータによるガイダンス方法および装置 - Google Patents

ディスプレイ非依存のコンピュータによるガイダンス方法および装置 Download PDF

Info

Publication number
JP2011081778A
JP2011081778A JP2010187685A JP2010187685A JP2011081778A JP 2011081778 A JP2011081778 A JP 2011081778A JP 2010187685 A JP2010187685 A JP 2010187685A JP 2010187685 A JP2010187685 A JP 2010187685A JP 2011081778 A JP2011081778 A JP 2011081778A
Authority
JP
Japan
Prior art keywords
gui
control unit
engine
screenshot
guidance
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.)
Pending
Application number
JP2010187685A
Other languages
English (en)
Inventor
Emma Butin
エマ ブティン
Oren Keinan
オレン ケイナン
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.)
Kryon Systems Ltd
Original Assignee
Kryon Systems Ltd
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
Priority claimed from US12/546,042 external-priority patent/US9405558B2/en
Priority claimed from US12/546,045 external-priority patent/US9098313B2/en
Priority claimed from US12/546,048 external-priority patent/US8918739B2/en
Application filed by Kryon Systems Ltd filed Critical Kryon Systems Ltd
Publication of JP2011081778A publication Critical patent/JP2011081778A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】コンピュータアプリケーションにおける、ユーザーにガイダンスを提供するためのガイダンスエンジンおよびその方法。
【解決手段】ガイダンスは、例えば、アプリケーションの制御部を1つまたはそれ以上起動することにより、実際にアプリケーションを操作するガイダンス・スクリプトを実行することによって行うことができる。さらに、ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトを記録する記録エンジンおよびその方法を開示している。記録エンジンは、アプリケーションの操作シーケンスの記録に加えて、アプリケーションのGUIのスクリーンショットを記録し解析することができる。追加の実施態様は、ディスプレイ非依存のGUI制御部認識装置およびその方法に関する。GUI制御部認識装置は、アプリケーションのユーザーインターフェースにおけるスクリーンショットのGUI制御部を記録し、特定することができる。
【選択図】図2

Description

開示する実施形態は、ディスプレイ非依存のコンピュータによるガイダンス方法および装置に関する。
パーソナルコンピュータ(PC:Personal Computer)または携帯機器(例えば、ノートブックコンピュータ、PDA(Personal Digital Assistant)、携帯電話、及び/又は、そのようなもの)により、ユーザーは、様々なアプリケーション、例えば、文書処理のアプリケーション、表計算のアプリケーション、電子メールのアプリケーション、ゲーム、および、そのようなアプリケーションを利用することができる。これらのアプリケーションは、ユーザーコマンドに基づいて様々な演算を実行することができる。例えば、編集、計算、書式設定、ファイル操作、データ分類、及び/又は、そのようなものを実行できる。
アプリケーションのグラフィカル・ユーザー・インターフェース(GUI:Graphical User Interface)は、たいてい、そのアプリケーションの異なる機能を演算する様々な制御部(「ウィジェット」とも称される)を含む。制御部は、例えば、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スライダー、スクロールバー、バー、及び/又は、他の演算可能なビジュアル要素を含むことができる。様々な携帯機器において、制御部は物理的なボタンで具体化され、アプリケーション自身のGUIによっては具体化されない。例えば、あるボタンは、アプリケーションの特定の機能を実行するために使用することができる。
アプリケーションがますます複雑かつ高機能になり、多くの異なる機能部を含むようになるにつれて、ユーザーの中には、1つまたはそれ以上のアプリケーションの使い方を教わるコースやセミナーへの参加が役立つことに気付く人もいる。ユーザーの中には、他のユーザー(例えば、同僚、カスタマー・サポートのスタッフ、及び/又は、そのような人)の助けを必要とするものもいる。さらに、ユーザーにとっては、アプリケーションが特定の作業を実行できるかどうか、または、ユーザーが起動したどのシーケンスのステップが特定の作業を実行するために要求されるかを見出し、また、思い出すことは困難である。
アプリケーションには、「ヘルプ」機能を含むものがある。「ヘルプ」機能において、ユーザーは、所定のテキスト、及び/又は、ビジュアル記述を読み出すために、所定のトピックの索引、または、ユーザーが入力したキーワードに基づく検索を利用することができる。これらのテキスト、及び/又は、ビジュアル記述は、ユーザーが、特定の作業がどのように実行されるかを探し出すことを補助できる。加えて、アプリケーションには、ユーザーマニュアル、または、よくある質問(FAQ:Frequently Asked Questions)と関連するものもある。ユーザーマニュアルまたはFAQは、ユーザーに、どのように特定の作業をするかを説明する。
従来技術についての上記の例、および、それに関する制限は、説明を目的とするものであり排他的とすることは目的としていない。関連技術についての他の制限は、この明細書を読み、図を検討すれば、当業者にとっては明らかであろう。
以下に、実施形態、および、その態様を、システム、ツールおよび方法とともに説明し図に示す。これらは、説明および図示を意図するものであって、範囲を制限するものではない。
一実施形態に従って、ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトの実行方法を提供する。この方法は、コンピュータアプリケーションを操作するために、コンピュータアプリケーションにおけるGUIのスクリーンショットを記録するステップ、スクリーンショットの制御部をガイダンス・スクリプトの制御部とマッチングするためにスクリーンショットを解析するステップ、および、マッチングに基づいてガイダンス・スクリプトを実行するステップを含む。
一実施形態に従って、さらに、ディスプレイ非依存のコンピュータによるガイダンスエンジンを提供する。このガイダンスエンジンは、コンピュータアプリケーションを操作するために、コンピュータアプリケーションにおけるGUI制御部を、ガイダンス・スクリプトの制御部とマッチングするためのスクリーンショット解析エンジンと、マッチングに基づいてガイダンス・スクリプトを実行するためのガイダンス・スクリプト実行エンジンとを備える。
ある実施形態においては、所定の精度レベルに従ってマッチングが実行される。ある実施形態においては、解析するステップは、さらに、スクリーンショットの制御部の周囲をガイダンス・スクリプトの制御部の周囲とマッチングするステップを含む。ある実施形態においては、方法は、さらに、スクリーンショットを1ビット型に変換するステップを含む。ある実施形態においては、方法は、さらに、スクリーンショットを反転1ビット型に変換するステップを含む。ある実施形態においては、実行するステップは、さらに、コンピュータアプリケーションの制御部を起動するステップを含む。ある実施形態においては、制御部を起動するステップは、カーソルクリックを模倣するステップを含む。ある実施形態においては、制御部を起動するステップは、キーボード入力を模倣するステップを含む。ある実施形態においては、方法は、さらに、コンピュータアプリケーションの以前は見えなかった領域へスクロールするためのスクロールバーを起動するステップを含む。ある実施形態においては、前記スクリーンショット解析エンジンは、所定の精度レベルにセットされる。ある実施形態においては、前記スクリーンショット解析エンジンは、GUI制御部の周囲がガイダンス・スクリプトの制御部の周囲とマッチングするように構成される。ある実施形態においては、前記スクリーンショット解析エンジンは、さらに、画像変換部を備える。ある実施形態においては、前記画像変換部は、スクリーンショットを1ビット型に変換するように構成される。ある実施形態においては、前記画像変換部は、スクリーンショットを反転1ビット型に変換するように構成される。ある実施形態においては、前記ガイダンス・スクリプト実行エンジンは、コンピュータアプリケーションの制御部を起動するように構成される。ある実施形態においては、前記制御部は、アイコン、テキスト、入力ボックス、メニュー、ドロップダウンリスト、スライダー、スクロールバーおよびバーからなるグループから選択される。ある実施形態においては、前記スクリーンショット解析エンジンは、コンピュータアプリケーションの以前は見えなかった領域へスクロールするためのスクロールバーを起動するように構成される。
一実施形態に従って、さらに、ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトを記録する方法を提供する。この方法は、コンピュータアプリケーションにおけるグラフィカル・ユーザー・インターフェース(GUI:Graphical User Interface)のスクリーンショットを記録するステップと、GUI制御部を特定するために、スクリーンショット内において、決定したカーソル位置を囲う領域を解析するステップと、コンピュータアプリケーションの操作シーケンスを記録するステップと、GUI制御部の操作シーケンスを1つのステップに割り当てるステップとを含む。
一実施形態に従って、さらに、ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトのための記録エンジンを提供する。この記録エンジンは、決定したカーソル位置を囲う少なくとも1つの領域の画像を記録するためのスクリーンショット記録エンジンと、前記領域のGUI制御部を特定するためのスクリーンショット解析エンジンと、前記GUI制御部の画像を記憶し、前記画像を前記操作シーケンスのステップに割り当てるための操作シーケンスレコーダーとを備える。
ある実施形態においては、操作シーケンスは手動で実行される。ある実施形態においては、操作シーケンスは自動的に実行される。ある実施形態においては、この方法は、さらに、決定したカーソル位置を囲う領域の画像を記憶するステップを含む。ある実施形態においては、この方法は、さらに、GUI制御部の画像を記憶するステップを含む。ある実施形態においては、決定したカーソル位置は、ユーザーのカーソルクリックが検出された位置である。ある実施形態においては、この方法は、さらに、スクリーンショットを1ビット型に変換するステップを含む。ある実施形態においては、この方法は、さらに、スクリーンショットを反転1ビット型に変換するステップを含む。ある実施形態においては、操作シーケンスは、GUI制御部上のカーソルクリックを備える。ある実施形態においては、操作シーケンスは、GUI制御部へのキーボード入力を備える。ある実施形態においては、操作シーケンスは、コンピュータアプリケーションにおける、以前は見えなかった領域へスクロールするためのスクロールバーの起動を備える。ある実施形態においては、前記スクリーンショット解析エンジンは、前記スクリーン記録エンジンによって記録されたスクリーンショットを1ビット型に変換するように構成される。ある実施形態においては、前記スクリーンショット解析エンジンは、前記スクリーン記録エンジンによって記録されたスクリーンショットを反転1ビット型に変換するように構成される。ある実施形態においては、前記操作シーケンスレコーダーは、GUI制御部上のカーソルクリックを記録するように構成される。ある実施形態においては、前記操作シーケンスレコーダーは、GUI制御部へのキーボード入力を記録するように構成される。ある実施形態においては、前記GUI制御部の前記画像は、前記GUI制御部の画像および前記GUI制御部を囲う領域の画像を備える。ある実施形態においては、前記GUI制御部は、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スライダーおよびバーからなるグループから選択される。
一実施形態に従って、ディスプレイ非依存の、グラフィカル・ユーザー・インターフェース(GUI:Graphical User Interface)認識方法を提供する。この方法は、コンピュータアプリケーションにおけるGUIのスクリーンショットを記録するステップと、スクリーンショットの位置座標を受け取るステップと、GUI制御部を特定するために、カーソル位置を囲う領域を解析するステップと、GUI制御部の画像を記憶するステップとを含む。
一実施形態に従って、さらに、ディスプレイ非依存の、グラフィカル・ユーザー・インターフェース(GUI:Graphical User Interface)認識方法を提供する。この方法は、コンピュータアプリケーションにおいてGUIのスクリーンショットを記録するステップと、GUI制御部を特定するためにスクリーンショットを解析するステップと、GUI制御部の画像を記憶するステップとを含む。
一実施形態に従って、さらに、ディスプレイ非依存のグラフィカル・ユーザー・インターフェース(GUI:Graphical User Interface)の制御部認識装置を提供する。この制御部認識装置は、コンピュータアプリケーションにおいて、GUIの画像を記録するためのスクリーンショット記録エンジンと、前記GUI内のカーソル位置を特定し前記画像内の前記位置を示すためのカーソル位置特定装置と、GUI制御部を特定するために、前記位置を囲う画像内の領域を解析するためのカーソル位置領域解析装置とを備える。
ある実施形態においては、GUI制御部は、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スライダー、スクロールバーおよびバーからなるグループから選択される。ある実施形態においては、座標を受け取るステップは、ユーザーのカーソルクリックがどこで実行されたかを検出するステップを含む。ある実施形態においては、この方法は、さらに、スクリーンショットを1ビット型に変換するステップを含む。ある実施形態においては、この方法は、さらに、スクリーンショットを反転1ビット型に変換するステップを含む。ある実施形態においては、記憶するステップは、さらに、GUI制御部の周囲の画像を記憶するステップを含む。ある実施形態においては、解析するステップは、光学文字認識(OCR:Optical Character Recognition)を含む。ある実施形態においては、この方法は、さらに、コンピュータアプリケーションの以前は見えなかった領域へスクロールするためのスライダーを起動するステップを含む。ある実施形態においては、前記スクリーンショット解析エンジンは、前記スクリーン記録エンジンによって記録されたスクリーンショットを1ビット型に変換するように構成される。ある実施形態においては、前記スクリーンショット解析エンジンは、前記スクリーン記録エンジンによって記録されたスクリーンショットを反転1ビット型に変換するように構成される。ある実施形態においては、前記カーソル位置特定装置は、前記GUI制御部上のカーソルクリックを特定するように構成される。ある実施形態においては、前記カーソル位置特定装置は、前記GUI制御部上のキーボード入力を特定するように構成される。ある実施形態においては、前記カーソル位置特定装置は、OCRエンジンを備える。ある実施形態においては、前記スクリーンショット記録エンジンは、前記GUIの以前は見えなかった領域へスクロールするためのスクロールバーを起動するように構成される。
一実施形態に従って、さらに、ディスプレイ非依存の、GUI内のスクロールバー認識方法を提供する。この方法は、コンピュータアプリケーションにおいてGUIのスクリーンショットを記録するステップと、スクロールバーを特定するためにスクリーンショットを解析するステップと、スクロールバーのパラメータを抽出するためにスクロールバーを解析するステップとを含む。
一実施形態に従って、さらに、ディスプレイ非依存のスクロールバー認識装置を提供する。このスクロールバー認識装置は、コンピュータアプリケーションにおける、GUIの画像を記録するためのスクリーンショット記録エンジンと、前記画像内のスクロールバーを特定し、前期スクロールバーのパラメータを抽出するためのスクロールバー解析装置と、を備える。
ある実施形態においては、パラメータは、スクロールバーの場所、スクロールバーの大きさ、スクロールバーのスクロールサムの場所、スクロールバーのスクロールサムの大きさ、スクロールバーの矢印の大きさ、および、スクロールバーの矢印の場所からなるグループから選択される。ある実施形態においては、この方法は、さらに、GUIの以前は見えなかった領域を表示するために、少なくとも抽出したパラメータに基づいて、スクロールバーを操作するステップと、を含む。
上記の実施例の態様および実施形態に加えて、さらなる態様および実施形態が、図の参照および以下の詳細な説明の検討により明らかになるであろう。
典型的な実施形態を図に示す。図に示す構成要素の規模および特徴は、説明の便宜および明確さのために一般的に選択したものであって、その規模を見積もるために示すことが必要なわけではない。ここに開示する実施形態および図は、制限のためでなく説明を目的としている。図を以下に示す。
コンピュータによるガイダンスエンジンのブロック図である。 ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトを実行する方法のフローチャートである。 コンピュータアプリケーションのグラフィカル・ユーザー・インターフェース(GUI:Graphical User Interface)の一例を示す図である。 ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトのための記録エンジンのブロック図である。 ディスプレイ非依存の、コンピュータ・ガイダンス・スクリプトを記録する方法のフローチャートである。 ディスプレイ非依存のGUI制御部認識装置のブロック図である。 ディスプレイ非依存のGUI認識方法のフローチャートである。 ディスプレイ非依存のスクロールバー認識装置のブロック図である。 ディスプレイ非依存のスクロールバー認識方法のフローチャートである。
いくつかの実施形態の態様は、コンピュータアプリケーションのユーザーに、ガイダンスを提供するように構成されるガイダンスエンジンに関する。例えば、1つまたはそれ以上のアプリケーションの制御部の起動により、実際にアプリケーションを操作可能なガイダンス・スクリプトを実行することによりガイダンスを実行することができる。例えば、ガイダンス・スクリプトは、カーソルの動き、カーソルクリック若しくはダブルクリック、キーボードストローク、及び/又は、そのようなものをユーザーの代わりに模倣することができる。「模倣する」の用語は、ここに述べるように、マウス、キーボード、タッチスクリーン、及び/又は、そのような入力装置からの手動入力を実際には受け取らない、コンピュータアプリケーションにおける動作開始を参照する。
その上、ユーザーが使用するアプリケーション、及び/又は、コンピュータ装置における様々なディスプレイ特性に非依存の方法で(この方法を、以下「ディスプレイ非依存の」とする)、ガイダンスをユーザーに提供することができる。アプリケーションは、例えば、ウィンドウサイズ、解像度、色、フォント、テーマ、及び/又は、そのようなものが異なるディスプレイ特性においても実行することができるので、1つのディスプレイ特性のセットで記録された従来のガイダンス・スクリプトは、異なるディスプレイ特性のセットを使用するアプリケーションを操作する際に、困難に直面することがある。これは、例えば、従来のガイダンス・スクリプトにより操作可能なあるGUI制御部が、スクリプトが最終的に実行される実際のアプリケーションにおいて、新しく、また認識されていない場所に、及び/又は、形態で、現れることにより起こるかもしれない。従来のスクリプトは、したがって、その制御部を特定し操作することに単に失敗する場合もある。
したがって、本発明のガイダンスエンジンは、GUIを解析するためのスクリーンショット解析エンジンを含み、それによって、少なくともGUIに存在する少なくとも1つの制御部を、事前に記録済みの対応するガイダンス・スクリプトの制御部とマッチングさせることができる。こうして、ガイダンス・スクリプト実行エンジンは、スクリプトが実行されているアプリケーションのディスプレイ特性に依存せず、スクリプトを実行し必要な制御部を操作することができる。
さらなる実施形態の態様は、ディスプレイ非依存の、コンピュータ・ガイダンス・スクリプトのための記録エンジンおよびその方法に関する。記録エンジンは、アプリケーションにおける操作シーケンスの記録に加えて、アプリケーションにおけるGUIのスクリーンショットを記録し、解析することができる。この解析においては、記録エンジンは、決定したカーソル位置を囲う領域、例えば、ユーザーの操作シーケンスの実行によってGUI制御部が起動された位置を調査することができる。そして、起動されたGUI制御部を特定することができ、その画像、及び/又は、それと関連するメタデータを、それぞれの操作シーケンスのステップに割り当てることができる。
さらなる態様は、ディスプレイ非依存のGUI制御部認識装置およびその方法に関する。GUI制御部認識装置は、アプリケーションのユーザーインターフェースにおけるスクリーンショット内のGUI制御部を認識および特定することができる。GUI制御部認識装置の使用は、ガイダンス・スクリプトの実行、及び/又は、記録と結びつけることもできるし、結び付けないこともできる。例えば、GUI制御部の認識は、他のコンピュータによる操作を要望どおり補完するために汎用の画像認識方法として使用することができる。
ディスプレイ非依存のコンピュータによるガイダンス
図1は、コンピュータによるガイダンスエンジン(以後「ガイダンスエンジン」とする)100のブロック図を示す。ガイダンスエンジン100は、コンピュータ装置にインストールされ、及び/又は、コンピュータ装置上で実行するように構成されるソフトウェア製品であってもよい。例えば、パーソナルコンピュータ(PC:Personal Computer)、デスクトップコンピュータ、携帯端末機、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、サーバコンピュータ、ハンドヘルド・コンピュータ、携帯ゲーム機、基本的に固定使用のゲーム機、PDA(Personal Digital Assistant)機、オンボード装置、オフボード装置、携帯電話、複合機(例えば、PDA機能と携帯電話機能のように、複数のタイプの装置の機能を包含する装置、乗り物用の装置、乗り物用でない装置、移動または携帯できる装置、移動または携帯できない装置、及び/又はそのようなものである。
ガイダンスエンジン100は、任意に、スクリーンショット解析エンジン102およびガイダンス・スクリプト実行エンジン104を含む。それぞれが、ソフトウェア構成要素、及び/又は、ソフトウェア構成部であるか、両方が、1つの構成要素、及び/又は、構成部である。図2は、ディスプレイ非依存の、コンピュータ・ガイダンス・スクリプトを実行するための方法200(または、「アルゴリズム」)のフローチャートを示す。図1におけるガイダンスエンジン100の操作は、図2における方法200の説明を通じて記載される。
ステップ202において、コンピュータアプリケーションにおけるGUIのスクリーンショット204は、例えば、スクリーンショット解析エンジン102(図1)またはスクリーンショット記録エンジン(図示しない)などを用いて記録される。これは、ガイダンスへのユーザー要求に応答して実行することができる。ユーザーへの要求は、例えば、ガイダンスエンジン100(図1)を起動するために割り当てられたキーを押すこと、ガイダンスエンジンのアイコンをクリックすること、利用できるガイダンス・スクリプトのリストから選択すること、望ましいガイダンス・スクリプトを検索し読み出すこと、及び/又は、そのようなことにより実行される。あるいは、ユーザーがアプリケーションの操作に困難を覚えているかどうかを自動的に判定するために、ユーザーの活動を追跡してもよい。そのような困難が特定された場合は、積極的に、困難に直面した操作に関するガイダンスをユーザーに提供するために方法200の処理を始めてもよい。
記録するステップは、画像としてスクリーンショットを記憶するステップ204を含むことができる。この記憶は、一時的なメモリまたは恒久的な不揮発性メモリにされる。ここで、一時、図3を説明する。図3は、例えば、文書処理のアプリケーションのような、コンピュータアプリケーションを例示するGUI300を示す。図1のブロック200においては、GUI300は、全体的にまたは部分的に、画像として記憶することができる。例えばGUI300のようなGUIは、1つまたはそれ以上の制御部(「ウィジェット」と称されることもある)を含むことができる。制御部は、アプリケーションの異なる機能を操作する。このような制御部は、例えば、アイコン(例えば、アイコン302)、テキスト(例えば、テキスト304)、ボタン(例えば、「ボールド」ボタン306)、入力ボックス(例えば、「フォント」入力ボックス308およびテキスト領域310)、メニュー、ドロップダウンリスト(例えば、「フォント」ドロップダウンリスト312)、スクロールバー(例えば、垂直スクロールバー314および水平スクロールバー316)、スライダー、バー、及び/又は、その他の操作可能なビジュアル要素、を含むことができる。
異なるGUI(図示しない)は、しばしば、「コンソール・アプリケーション」と称されるユーザーインターフェースを含むことができる(「コンソール・アプリケーション」は、「コマンド・ライン」、「コマンド・プロンプト」、「テキスト端末」、「端末」、及び/又は、そのようなものとして称されることもある)。コンソール・アプリケーションは、主に、テキスト、および、時には付加的なシンプルで最小限のグラフィック要素、及び/又は、シンボルを備えるユーザーインターフェースを有するソフトウェア・アプリケーションであってもよい。コンソール・アプリケーションは、マウスのようなポインティング・デバイスを用いて操作することもあるが、たいていはキーボードを用いて操作するように設計される。グラフィック要素の拡張性が不足しているため、GUIから「グラフィカル(Graphical)」の用語が外され、単に「ユーザーインターフェース(UI:User Interface)」と称されることがある。しかしながら、GUIの用語は、ここに示すように、コンソール・アプリケーションのUIも含むことを意図している。
図2に戻ると、ガイダンス・スクリプト208を提供することができる。ガイダンス・スクリプト208は、アプリケーションを操作するための実行可能な操作シーケンスを含むことができる。操作シーケンスは、1つまたはそれ以上のステップ208aを含んでもよい。各ステップは、任意に、アプリケーションのGUI制御部(単に「制御部」と称されることもある)に関する動作を含む。図3のGUI300を参照すると、単なる一例として、第1のステップは、「tab1」制御部320上のクリックの模倣を含んでもよい、第2のステップは、「ボールド」制御部306条のクリックの模倣を含んでもよい、第3のステップは、「tab2」制御部322上のクリックの模倣を含んでもよい、そして、第4のステップは、「テキスト領域」制御部310内のテキスト入力の模倣を含んでもよい。1つまたはそれ以上の、ガイダンス・スクリプト208、例えば、図3の制御部320、306、322および310の動作と関連するGUI制御部の画像は、ガイダンス・スクリプトを備えることができる。
スクリーンショット204は、その内部でガイダンス・スクリプト208の制御部に対応する制御部を特定するために、ステップ206において解析することができる。この解析は、例えば、スクリーンショット解析エンジン102(図1)を用いて実行することができる。これは、例えば、カラー・スクリーンショット、及び/又は、1つまたはそれ以上の変更したスクリーンショット、例えば、サイズを変更したスクリーンショット、スクリーンショットの一部、グレースケールのスクリーンショット、または、白黒(1ビット)型のスクリーンショット、反転型のスクリーンショット、または、グレースケールのスクリーンショット、または、白黒型のスクリーンショット、及び/又は、そのようなもののようなオリジナルのスクリーンショット上で実行することができる。変更したスクリーンショットは、画像変換部を用いて作ることができる。画像変換部は、画像処理の方法により、要求された変更を実行するように構成されるソフトウェア構成要素である。
スクリーンショット204の解析は、制御部とガイダンス・スクリプト208におけるステップ208aに対応する制御部とのマッチング210を可能とするために、スクリーンショットにおける、図形の、及び/又は、テキストの制御部の特徴を特定するために構成される画像認識アルゴリズムの実行を含むことができる。単純な場合として、制御部が目立つ境界を有する場合がある。例えば、図3においては、「ペースト」ボタン318は、その最も周辺の領域が、つながった画素からなる連続的なフレームを有するので、その周囲から比較的容易に区別することができる。テキストは、例えば、「ペースト」ボタン318の下にある、単語「テキスト」304のような図形の制御部と関連する場合がある。アルゴリズムは、これらの関係を示す所定のスペースに基づいて、「テキスト」304および「ペースト」ボタン318を関連したものとして特定することができる。このスペースは、状況に応じて、例えば、1画素から数画素または数10画素までに及ぶことができる。アルゴリズムは、さらに、図形の制御部と関連するテキストの位置に応じて、異なる「重み」をテキストに割り当てることによって、テキストが図形の制御部と関連するかどうかを決定することができる。例えば、図形の制御部の右側または左側に位置するテキストには、大きい重みを与え、図形の制御部の上に位置するテキストには中間の重みを与え、図形の制御部の下に位置するテキストには、小さい重みを与えることができる。重みが大きくなるにつれて、テキストが、図形の制御部と関連する傾向が強くなる。
テキストの特徴は、光学文字認識(OCR:Optical Character Recognition)の技術により、例えば、つながった画素の「島」を位置づけることにより、特定することができる。各々の島は、典型的には1文字(例えば、文字、数字またはシンボル)を決定する。ある場合は、例えば、文字「i」および「j」の場合は、各々の文字は、2つの島で特定することができる。しかし、さらなる場合として、複数の島によって、どのような適切な文字も特定できない場合もある。単語全体は、隣接して位置する一連の文字を決定することにより特定することができる。文字の後ろの、約1〜2文字の幅を有するスペースは、2つの単語間の分離を示すことができる。スペースが所定の値よりも広いときは、そのことは、次の単語が前の1単語または数単語と関連がなく、別の制御部の一部であること示すことができる。
コンソール・アプリケーションのUIの場合は、要素の図形的な特徴の決定より、OCR技術が普及している可能性が高い。上述のように、たいていの場合、コンソール・アプリケーションは主としてテキストを含む。コンソール・アプリケーションのUIを解析し、これらの中の1つまたはそれ以上の制御部を特定するためには、OCR技術が、より適している。
スクリーンショットにおける制御部の特定204に続いて、特定されたスクリーンショットは、例えば、その上をクリックすること、制御部を始動させるキーボードストロークまたは結合を開始すること、及び/又はそのようなことにより、ガイダンス・スクリプト実行エンジン104(図1)が、ガイダンス・スクリプトを首尾よく実行し(212)、アプリケーションにおける実際の制御部を操作することを可能とするために、ガイダンス・スクリプト208の制御部とマッチングすることができる(210)。しかしながら、ある状況においては、アプリケーションのGUIに、本質的に同じように見える複数の制御部が存在することもある。そのような状況においては、これらのGUI制御部の1つを、ガイダンス・スクリプト208の制御部と正しくマッチングさせるために、スクリーンショット204およびガイダンス・スクリプト208の両方における、制御部の周囲(例えば、隣接する制御部、及び/又は、隣接する図形要素)を解析し、正しいマッチングの機会を増やすことが必要になる場合もある。マッチング制御は、しばしば、同じような制御部、及び/又は、図形要素を有する可能性がある。
ある実施形態においては、マッチングを実行する際の精度レベルを予め決めておくことができる。高い精度レベルは、スクリーンショット204とガイダンス・スクリプト208との間のディスプレイ特性の極端な変化に対して、より耐えられない場合がある。一方、低い精度レベルにおいては、ディスプレイ特性の変化の下でもマッチングできるかもしれないが、マッチングの誤りを起こすこともあり得る。任意に、精度レベルは割合で決定される。
マッチングが失敗した場合、すなわち対応するスクリーンショット204の制御部とガイダンス・スクリプト208が見つからなかった場合は、スクリーンショット解析エンジン102(図1)は、自動的に1つまたはそれ以上のスクロールバー、例えば水平スクロールバー316(図3)、及び/又は、垂直スクロールバー314(図3)を起動し、コンピュータアプリケーションの以前は見えなかった領域へスクロールするために利用することができる。例えば、スクリーンショット解析エンジン102(図1)は、ガイダンス・スクリプト208の制御部とマッチングするGUI制御部を探すために、自動的に、テキスト領域(図3)の以前は見えなかった領域にスクロールすることができる。任意に、スクロールが新しい領域を表示した後に、GUIのスクリーンショットを再び記録し(202)、解析206およびマッチング210のステップを新しい領域に対して繰り返すことができる。
ガイダンス・スクリプト208の実行中、ステップ212において、少なくとも1つのステップ208aをユーザーへの説明とともに補足するために、1つまたはそれ以上のヘルプテキストを表示することができる。例えば、制御部を自動的に起動した後にヘルプテキストを表示し、ユーザーに手動で操作させる半自動モードで実行することができる。再び図3を参照すると、例示的なヘルプテキスト330が、例示的なガイド吹き出し332の中に示されている。ヘルプテキスト330は、ユーザーにテキスト領域310へのテキスト入力を要求する。ユーザーがテキストを入力した後、ガイダンス・スクリプト208(図2)は、次のステップへ進む。図1のガイダンス・スクリプト実行エンジン104は、ユーザーが手動操作の実行を終了したとき、自動的に検出するように構成される。加えて、または、その代わりに、例えば、ユーザーがクリックすることで、図1のガイダンス・スクリプト実行エンジン104に、ユーザーが手動操作を完了しガイダンス・スクリプトの実行再開を望んでいることを示すボタン(図示しない)を提供することができる。
ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトの記録
図4は、一実施形態に従って、ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトのための記録エンジン400のブロック図を示す。
記録エンジン400は、インストールされた、及び/又は、コンピュータ装置、例えばパーソナルコンピュータ(PC:Personal Computer)、デスクトップコンピュータ、携帯端末機、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、サーバコンピュータ、ハンドヘルド・コンピュータ、携帯用デバイス、携帯ゲーム機、基本的に固定使用のゲーム機、PDA(Personal Digital Assistant)、搭載装置、非搭載装置、携帯電話、複合装置(例えば、PDAの機能と携帯電話の機能のように、複数のタイプの装置の機能を組み合わせた装置)、自動車用装置、非自動車用装置、移動または携帯デバイス、非移動または非携帯装置、及び/又は、そのようなもので実行するように構成されたソフトウェア製品であってもよい。
記録エンジン400は、図2のガイダンス・スクリプトのようなガイダンス・スクリプトを記録するために使用することができる。ガイダンス・スクリプトは、同一のまたは異なるコンピュータ装置上で、後で実行されるように構成される。例えば、ソフトウェア開発者またはソフトウェア開発会社は、ユーザーのコンピュータ装置で実行するために、ガイダンス・スクリプトを記録し、ユーザーに分配することができる。
記録エンジン400は、任意に、スクリーンショット記録エンジン402、スクリーンショット解析エンジン404、及び/又は、操作シーケンスレコーダー406を含む。各々は、ソフトウェア構成要素、及び/又は、モジュールであり、全ては、単一の構成要素、及び/又は、モジュールとして実装される。図5は、ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトを記録するための方法500(または「アルゴリズム」)のフローチャートを示す。図4の記録エンジン400の操作は、図5における方法500の説明を通して述べられる。
方法500の全体を見ると、コンピュータアプリケーションにおける操作シーケンスは、ステップ502においてユーザーが手動で実行する。操作シーケンスは、1つまたはそれ以上のステップ502aを含むことができる。各々のステップは、任意に、アプリケーションのGUI制御部に関する動作を含む。図3のGUI300を参照すると、ほんの一例として、第1のステップは、手動で「タブ1」制御部320をクリックするステップを含んでもよく、第2のステップは、手動で「ボールド」制御部306をクリックするステップを含んでもよく、第3のステップは、手動で「タブ2」制御部322をクリックするステップを含んでもよく、第4のステップは、手動で「テキスト領域」制御部310の中にテキストを打ち込むステップを含んでもよい。
ステップ504においては、例えば、図4の操作シーケンスレコーダー406を用いて操作シーケンスを記録することができる。記録するステップとして、例えば、カーソルクリック、カーソル移動経路、キーボード入力、及び/又は、そのような動作を記録するステップ含むことができる。これらの動作は、コンピュータアプリケーションにおいて動作を実行するように構成されるソフトウェアを用いて、(ユーザーによる)手動または自動で実行することができる。そのようなソフトウェアの使用は、実質的な人間の介入を必要とすることなく、より高速で、より正確で、及び/又は、より効率的な操作シーケンスの記録を可能にする。記録する間、ステップ506において1つまたはそれ以上の制御部をそれぞれのステップ502aに割り当てることができる。記録した、操作シーケンスおよびそれぞれのステップに割り当てられた制御部を含むガイダンス・スクリプトは、ステップ516において生成される。
ステップ504における操作シーケンスを記録するステップ、および、ステップ506におけるそれぞれの制御部をステップに割り当てるステップは、ここに記載するように、ステップ508〜514における動作に基づいて実行することができる。
ステップ508において、コンピュータアプリケーションにおけるGUIのスクリーンショット510は、例えば、スクリーンショット記録エンジン402(図4)を用いて記録される。記録するステップは、例えば、ユーザーによる、カーソルクリック、キーボード入力、及び/又は、そのようなものであるステップ502aに応答して実行することができる。
クリックが実行されたときにカーソルがあった位置は、スクリーンショット510によって特定することができる。例えば、図3を参照すると、「タブ4」テキスト336の隣に位置し、「タブ4」をクリックしているカーソル334が示されている。同様に、キーボードストロークがユーザーによる手動操作の場合、ストロークにより起動された制御部の位置を検出することができる。例えば、キーボードの組合せctrl+4が「タブ4」を起動する場合、「タブ4」の位置が検出され推測される。
ステップ512においては、決定したカーソル位置を囲う領域は、例えば、図4のスクリーンショット解析エンジン404により解析される。この解析は、カーソルクリックが実行された、または、キーボードストロークが起動した制御部の特定(514)を可能とする。任意に、図4のスクリーンショット解析エンジン404は、図1のスクリーンショット解析エンジン102も同様に操作する。したがって、上述のように、ステップ512の解析は、図2のステップ206の解析にも同様に実行される。
特定された制御部、及び/又は、その周囲の領域は、画像として保存され、上述のように、操作シーケンス502のステップ502aに割り当て(506)、任意に、ガイダンス・スクリプト516とともに記憶することができる。
方法500を要約すると、方法500は、ディスプレイ非依存のガイダンス・スクリプト516を生成することができる。すなわち、各々のステップ502aとともに画像を記憶することによって、後にガイダンス・スクリプトを、異なるディスプレイ特性を有するコンピュータ装置上で実行することが可能となる。このコンピュータ装置のディスプレイ特性については、方法500の記録するステップが実行されている。つまり、記憶した画像は、実行中に、ガイダンス・スクリプトが実行されるコンピュータアプリケーションにおいて特定したGUI制御部とマッチングすることができる。
ディスプレイ非依存のGUI制御部の認識
図6は、一実施形態にしたがって、ディスプレイ非依存のGUI制御部認識装置600のブロック図を示す。
制御部認識装置600は、コンピュータ装置にインストールされた、及び/又は、コンピュータ装置上で実行するように構成されたソフトウェア製品であってもよい。例えば、パーソナルコンピュータ(PC:Personal Computer)、デスクトップコンピュータ、携帯端末機、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、サーバコンピュータ、ハンドヘルド・コンピュータ、携帯ゲーム機、基本的に固定使用のゲーム機、PDA(Personal Digital Assistant)機、オンボード装置、オフボード装置、携帯電話、複合機(例えば、PDA機能と携帯電話機能のように、複数のタイプの装置の機能を包含する装置、乗り物用の装置、乗り物用でない装置、移動または携帯できる装置、移動または携帯できない装置、及び/又はそのようなものである。
制御部認識装置600は、コンピュータアプリケーションにおけるGUIのスクリーンショット内のGUI制御部を認識し特定するために使用することができる。制御部認識装置600の使用は、上述のように、ガイダンス・スクリプトの実行、及び/又は、記録と結び付けても結び付けなくてもよい。例えば、GUI制御部の認識は、他のコンピュータによる操作を要望どおり補完するために、汎用の画像認識方法として使用することができる。
制御部認識装置600は、任意に、スクリーンショット記録エンジン602、カーソル位置特定装置604、及び/又は、カーソル位置領域解析装置606を含む。それぞれが、ソフトウェア構成要素、及び/又は、ソフトウェア構成部であるか、全部が、1つの構成要素、及び/又は、構成部である。図7は、ディスプレイ非依存の、GUI制御部認識方法700(または、「アルゴリズム」)のフローチャートを示す。図6における制御部認識装置600の操作は、図7における方法700の説明を通して説明される。
ステップ702において、コンピュータアプリケーションにおけるGUIのスクリーンショット704は、例えば、スクリーンショット記録エンジン602(図6)などを用いて記録される。記録するステップは、任意に、ユーザーによる操作シーケンスの実行中に、すなわち、ユーザーによる、カーソルクリック、キーボード入力、及び/又は、そのような操作に応答して実行される。
任意のステップ706において、クリックが実際に実行された場合は、クリックが実行されたときにカーソルがあった位置を決定することができる。これは、図6のカーソル位置特定装置604により実行することができる。例えば、図3を参照すると、「タブ4」テキスト336の隣に位置し、「タブ4」をクリックしているカーソル334が示されている。同様に、キーボードストロークがユーザーによって実行された場合、ストロークにより起動された制御部の位置を検出することができる。例えば、キーボードの組合せctrl+4が「タブ4」を起動する場合、「タブ4」の位置が検出され推測される。
任意のステップ706の動作が実行された場合、ステップ708においては、決定したカーソル位置を囲う領域は、例えば、図6のカーソル位置領域解析装置606により解析される。この解析は、カーソルクリックが実行された、または、キーボードストロークが起動した制御部の特定を可能とする。任意に、図6のカーソル位置領域解析装置606は、図1のスクリーンショット解析エンジン102も同様に操作する。したがって、上述のように、ステップ708の解析は、図2のステップ206の解析にも同様に実行される。
または、任意のステップ706の動作が実行された場合は、ステップ708において、例えば図6のカーソル位置領域解析装置606によって、スクリーンショット704の領域をその全体に至るまで解析することができる。この解析は、スクリーンショット704に存在する1つまたはそれ以上の制御部の特定を可能にする。
ステップ710において、特定された制御部、及び/又は、その周囲の領域は画像として記憶することができる。制御部の画像は、要望どおり、他のコンピュータ処理、アプリケーション、及び/又は、そのようなものに使用することができる。好適には、方法700は、GUIのスクリーンショットから個別の制御部の特定および抽出を可能にする方法により、コンピュータアプリケーションにおけるGUIの解析を可能にする。
図8は、ディスプレイ非依存のスクロールバー認識装置800のブロック図を示す。
スクロールバー認識装置800は、コンピュータ装置にインストールされた、及び/又は、コンピュータ装置上で実行するように構成されたソフトウェア製品であってもよい。例えば、パーソナルコンピュータ(PC:Personal Computer)、デスクトップコンピュータ、携帯端末機、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、サーバコンピュータ、ハンドヘルド・コンピュータ、携帯ゲーム機、基本的に固定使用のゲーム機、PDA(Personal Digital Assistant)機、オンボード装置、オフボード装置、携帯電話、複合機(例えば、PDA機能と携帯電話機能のように、複数のタイプの装置の機能を包含する装置、乗り物用の装置、乗り物用でない装置、移動または携帯できる装置、移動または携帯できない装置、及び/又はそのようなものである。
スクロールバー認識装置800は、コンピュータアプリケーションにおけるスクリーンショット内のスクロールバーを認識し特定するために使用することができる。スクロールバー認識装置800の使用は、上述のように、ガイダンス・スクリプトの実行、及び/又は、記録と結び付けても結び付けなくてもよい。例えば、スクロールバーの認識は、他のコンピュータによる操作を要望どおり補完するために、汎用の画像認識方法として使用することができる。
スクロールバー認識装置800は、任意に、スクリーンショット記録エンジン802、スクロールバー解析装置804、及び/又は、カーソル位置領域解析装置606を含む。それぞれが、ソフトウェア構成要素、及び/又は、ソフトウェア構成部であるか、全部が、1つの構成要素、及び/又は、構成部である。図9は、ディスプレイ非依存の、スクロールバー認識方法900(または、「アルゴリズム」)のフローチャートを示す。図8におけるスクロールバー認識装置800の操作は、図9における方法900の説明において記載される。
ステップ902において、コンピュータアプリケーションにおけるGUIのスクリーンショット904は、例えば、図8のスクリーンショット記録エンジン802などを用いて記録される。
ステップ906において、スクリーンショット904は、ステップ908内のスクロールバーを特定するために解析される。この解析は、図8のスクロールバー解析装置804により実行することができる。この解析は、スクロールバーの一般的な特性、すなわちスクロールサムの存在、細長い溝および1つまたはそれ以上の矢印、に構成される制御部(すなわち、スクロールバー)の探査を含むことができる。これらの特性は、再び図3を参照することでよく理解できる。水平スクロールバー316は、例えば、スクロールサム(「バー」と称されることもある)316aを含む。スクロールサムは、(カーソル、及び/又は、キーボードを用いて)細長い溝316dに沿ってドラッグできるように構成される任意の要素である。スクロールサム316aのドラッグは、「スクロール」を引き起こす。すなわち、テキスト領域310の以前は見えなかった領域を見えるようにする。例えば、スクロールサム316aが右へドラッグされた場合、テキストエリア310の以前は見えなかった右側の領域が現れる。スクロールサム316aの幅(または、垂直スクロールバーの場合は高さ)は、任意に、適用されたズームの程度を反映する。完全に溝を満たすスクロールサムは、文書全体が表示されていることを示す。または、スクロールは、例えば、スクロールバー316の左矢印316bまたは右矢印316cのような矢印をクリックすることにより達成することができる。左矢印316bをクリックすることは、例えば、テキスト領域310の以前は見えなかった領域を表し、スクロールサム316aを左へ移動させることができる。
解析は、少なくともスクロールバーの2つの要素、すなわち、矢印およびスクロールサムのための探査を含むことができる。任意に、探査は、スクリーンショット904の1ビット型、及び/又は、反転1ビット型について実行される。矢印は、三角形を形成する結合した画素の連続的した島状の部分を探査することにより特定することができる。スクロールサムは、特定された矢印が指す方向に平行する軸内を探査することにより特定することができる。その軸内で見出された各々の要素は解析することができ、スクロールサムの存在は、実質的に四角形の結合した画素の島状の部分が見いだされるか否かで決定することができる。矢印とスクロールサムとの間の実質的に空いている空間(スクロールサムと反対の色を有する画素が結合した島状の部分として表される)は、溝に似ている。
または、探査される少なくとも2つの要素は、それらが指す方向に平行する同じ軸上にある反対方向の2つの矢印であってもよい。
ステップ912において、少なくとも1つのパラメータを抽出するために、ステップ910において特定されたスクロールバーが解析される。スクロールバーの解析は、1つまたはそれ以上の以下に示すパラメータの決定を含むことができる。パラメータは、スクロールバーの場所、スクロールバーの大きさ、スクロールバーのスクロールサムの場所、スクロールバーのスクロールサムの大きさ、スクロールバーの矢印の大きさ、および、スクロールバーの矢印の場所、の決定を含むことができる。これらの大きさの各々は、水平方向、及び/又は、垂直方向の画素で示すことができる。これらの場所の各々は、GUI全体に関する、スクロールバー、スクロールサム、または、スクロールバーの矢印のX−Y座標である。
任意に、上述のパラメータの抽出に続いて、スクロールバーは、スクロールするために自動的に操作することができる。例えば、GUIの以前は見えなかった領域を表示するために、スクロールサムはドラッグされ、及び/又は、スクロールバーの矢印はクリックされる。
上述のように、いくつかの実施態様および実施形態を論じてきたが、当業者は特定の変更、置換、付加およびこれらのいくつかの組み合わせを認識するだろう。したがって、以下の追加した請求項および導入した請求項は、本発明の精神および範囲内において、全てのそのような変更、置換、付加およびこれらのいくつかの組み合わせを含むように解釈されることを意図している。
本出願の明細書および特許請求の範囲においては、「含む/備える(comprise)」、「含む(include)」および「有する(have)」の各々の用語、および、その形式は、必ずしもその用語が関連するリスト内の要素に制限されない。

Claims (60)

  1. ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトの実行方法であって、
    コンピュータアプリケーションにおけるGUI(グラフィカル・ユーザー・インターフェース)のスクリーンショットを記録するステップと、
    前記スクリーンショットの制御部を前記ガイダンス・スクリプトの制御部とマッチングするために前記スクリーンショットを解析するステップと、
    前記コンピュータアプリケーションを操作するために、前記マッチングに基づいて前記ガイダンス・スクリプトを実行するステップと、
    を含むことを特徴とする方法。
  2. 請求項1に記載の方法であって、前記マッチングは、所定の精度レベルに従って実行されること、を特徴とする方法。
  3. 請求項1に記載の方法であって、前記解析するステップは、さらに、前記スクリーンショットにおける前記制御部の周辺を、前記ガイダンス・スクリプトの前記制御部の周囲とマッチングするステップを含むこと、を特徴とする方法。
  4. 請求項1に記載の方法であって、さらに、前記スクリーンショットを1ビット型に変換するステップを含むこと、を特徴とする方法。
  5. 請求項1に記載の方法であって、さらに、前記スクリーンショットを反転1ビット型に変換するステップを含むこと、を特徴とする方法。
  6. 請求項1に記載の方法であって、前記実行するステップは、さらに、前記コンピュータアプリケーションの制御部を起動するステップを含むこと、を特徴とする方法。
  7. 請求項6に記載の方法であって、前記制御部を前記起動するステップは、キーボード入力を模倣するステップを含むこと、を特徴とする方法。
  8. 請求項6に記載の方法であって、前記制御部を前記起動するステップは、キーボード入力を模倣するステップを含むこと、を特徴とする方法。
  9. 請求項1に記載の方法であって、前記制御部は、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スライダー、スクロールバーおよびバーからなるグループから選択されること、を特徴とする方法。
  10. 請求項1に記載の方法であって、さらに、前記コンピュータアプリケーションにおいて、以前は見えなかった領域へスクロールするためにスクロールバーを起動するステップを含むこと、を特徴とする方法。
  11. ディスプレイ非依存のコンピュータによるガイダンスエンジンであって、
    コンピュータアプリケーションにおけるGUI制御部を、ガイダンス・スクリプトの制御部とマッチングするためのスクリーンショット解析エンジンと、
    前記コンピュータアプリケーションを操作するために、前記マッチングに基づいて前記ガイダンス・スクリプトを実行するためのガイダンス・スクリプト実行エンジンと、
    を備えることを特徴とするガイダンスエンジン。
  12. 請求項11に記載のガイダンスエンジンであって、前記スクリーンショット解析エンジンは、所定の精度レベルにセットされること、を特徴とするガイダンスエンジン。
  13. 請求項11に記載のガイダンスエンジンであって、前記スクリーンショット解析エンジンは、前記GUIにおける前記制御部の周囲が、前記ガイダンス・スクリプトにおける前記制御部の周囲とマッチングするように構成されること、を特徴とするガイダンスエンジン。
  14. 請求項11に記載のガイダンスエンジンであって、前記スクリーンショット解析エンジンは、さらに画像変換部を備えること、を特徴とするガイダンスエンジン。
  15. 請求項14に記載のガイダンスエンジンであって、前記画像変換部は、スクリーンショットを1ビット型に変換するように構成されること、を特徴とするガイダンスエンジン。
  16. 請求項14に記載のガイダンスエンジンであって、前記画像変換部は、スクリーンショットを反転1ビット型に変換するように構成されること、を特徴とするガイダンスエンジン。
  17. 請求項11に記載のガイダンスエンジンであって、前記ガイダンス・スクリプト実行エンジンは、コンピュータアプリケーションの制御部を起動するように構成されること、を特徴とするガイダンスエンジン。
  18. 請求項17に記載のガイダンスエンジンであって、前記制御部は、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スクロールバー、スライダーおよびバーからなるグループから選択されること、を特徴とするガイダンスエンジン。
  19. 請求項11に記載のガイダンスエンジンであって、前記スクリーンショット解析エンジンは、コンピュータアプリケーションにおいて、以前は見えなかった領域へスクロールするためにスクロールバーを起動するように構成されること、を特徴とするガイダンスエンジン。
  20. ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトを記録するための方法であって、
    コンピュータアプリケーションにおける、グラフィカル・ユーザー・インターフェース(GUI)のスクリーンショットを記録するステップと、
    前記スクリーンショットにおいて、GUI制御部を特定するために決定したカーソル位置を囲う領域を解析するステップと、
    前記コンピュータアプリケーションの操作シーケンスを記録し、前記GUI制御部を前記操作シーケンスのステップに割り当てるステップと、
    を含むこと特徴とする方法。
  21. 請求項20に記載の方法であって、前記操作シーケンスは手動で実行されること、を特徴とする方法。
  22. 請求項1に記載の方法であって、前記操作シーケンスは自動で実行されること、を特徴とする方法。
  23. 請求項20に記載の方法であって、さらに、前記決定したカーソル位置を囲う前記領域の画像を記憶するステップを含むこと、を特徴とする方法。
  24. 請求項20に記載の方法であって、さらに、前記GUI制御部の画像を記憶するステップ含むこと、を特徴とする方法。
  25. 請求項20に記載の方法であって、前記決定したカーソル位置は、ユーザーのカーソルクリックが検出された場所であること、を特徴とする方法。
  26. 請求項20に記載の方法であって、さらに、前記スクリーンショットを1ビット型に変換するステップ含むこと、を特徴とする方法。
  27. 請求項20に記載の方法であって、さらに、前記スクリーンショットを反転1ビット型に変換するステップ含むこと、を特徴とする方法。
  28. 請求項20に記載の方法であって、前記操作シーケンスは、前記GUI制御部上のカーソルクリックを含むこと、を特徴とする方法。
  29. 請求項20に記載の方法であって、前記操作シーケンスは、前記GUI制御部へのキーボード入力含むこと、を特徴とする方法。
  30. 請求項20に記載の方法であって、前記操作シーケンスは、コンピュータアプリケーションにおいて、前記コンピュータアプリケーションにおいて、以前は見えなかった領域へスクロールするためのスライダーの起動を含むこと、を特徴とする方法。
  31. 請求項20に記載の方法であって、前記GUI制御部は、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スライダーおよびバーからなるグループから選択されること、を特徴とする方法。
  32. ディスプレイ非依存のコンピュータ・ガイダンス・スクリプトのための記録エンジンであって、
    決定したカーソル位置を囲う少なくとも1つの領域の画像を記録するためのスクリーンショット記録エンジンと、
    前記領域においてGUI制御部を特定するためのスクリーンショット解析エンジンと
    前記GUI制御部の画像を記憶し、前記画像を前記操作シーケンスのステップに割り当てるための操作シーケンスレコーダーと、
    を備えることを特徴とする記録エンジン。
  33. 請求項32に記載の記録エンジンであって、前記スクリーンショット解析エンジンは、前記スクリーン記録エンジンによって記録されたスクリーンショットを1ビット型に変換するように構成されること、を特徴とする記録エンジン。
  34. 請求項32に記載の記録エンジンであって、前記スクリーンショット解析エンジンは、前記スクリーン記録エンジンによって記録されたスクリーンショットを反転1ビット型に変換するように構成されること、を特徴とする記録エンジン。
  35. 請求項32に記載の記録エンジンであって、前記操作シーケンスレコーダーは、GUI制御部上のカーソルクリックを記録するように構成されること、を特徴とする記録エンジン。
  36. 請求項32に記載の記録エンジンであって、前記操作シーケンスレコーダーは、GUI制御部へのキーボード入力を記録するように構成されること、を特徴とする記録エンジン。
  37. 請求項32に記載の記録エンジンであって、前記GUI制御部の前記画像は、前記GUI制御部の画像および前記GUI制御部を囲う領域の画像を備えること、を特徴とする記録エンジン。
  38. 請求項32に記載の記録エンジンであって、前記GUI制御部は、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スライダーおよびバーからなるグループから選択されること、を特徴とする記録エンジン。
  39. ディスプレイ非依存の、GUI(グラフィカル・ユーザー・インターフェース)制御部認識方法であって、
    コンピュータアプリケーションにおける、GUIのスクリーンショットを記録するステップと、
    前記スクリーンショットにおける位置の座標を受け取るステップと、
    GUI制御部を特定するために、前記位置を囲う領域を解析するステップと、
    GUI制御部の画像を記憶するステップと、
    を含むことを特徴とする方法。
  40. 請求項39に記載の方法であって、前記GUI制御部は、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スライダー、スクロールバーおよびバーからなるグループから選択されること、を特徴とする方法。
  41. 請求項39に記載の方法であって、前記座標を受け取る前記ステップは、ユーザーのカーソルクリックが実行された場所を検出するステップを含むこと、を特徴とする方法。
  42. 請求項39に記載の方法であって、さらに、前記スクリーンショットを1ビット型に変換するステップを含むこと、を特徴とする方法。
  43. 請求項39に記載の方法であって、さらに、前記スクリーンショットを反転1ビット型に変換するステップを含むこと、を特徴とする方法。
  44. 請求項39に記載の方法であって、前記記憶するステップは、さらに、前記GUI制御部の周囲の画像を記憶するステップを含むこと、を特徴とする方法。
  45. 請求項39に記載の方法であって、前記解析するステップは、光学文字認識(OCR:Optical Character Recognition)を含むこと、を特徴とする方法。
  46. 請求項39に記載の方法であって、さらに、前記コンピュータアプリケーションにおいて、以前は見えなかった領域へスクロールするためのスクロールバーを起動するステップを含むこと、を特徴とする方法。
  47. ディスプレイ非依存のグラフィカル・ユーザー・ディスプレイ(GUI)制御部認識方法であって、
    コンピュータアプリケーションにおいて、GUIのスクリーンショットを記録するステップと、
    GUI制御部を特定するために、前記スクリーンショットを解析するステップと、
    前記GUI制御部の画像を記憶するステップと、
    を含むことを特徴とする方法。
  48. ディスプレイ非依存のグラフィカル・ユーザー・ディスプレイ(GUI)制御部認識装置であって、
    コンピュータアプリケーションにおいて、GUIの画像を記録するためのスクリーンショット記録エンジンと、
    前記GUIにおいてカーソルの位置を特定し、前記画像における前記位置を示すためのカーソル位置特定装置と、
    GUI制御部を特定するために、前記位置を囲う前記画像における領域を解析するためのカーソル位置領域解析装置と、
    を備えること特徴とする認識装置。
  49. 請求項48に記載の認識装置であって、前記GUI制御部は、アイコン、テキスト、ボタン、入力ボックス、メニュー、ドロップダウンリスト、スライダー、スクロールバーおよびバーからなるグループから選択されること、を特徴とする認識装置。
  50. 請求項48に記載の認識装置であって、前記スクリーンショット解析エンジンは、前記スクリーン記録エンジンによって記録されたスクリーンショットを1ビット型に変換するように構成されること、を特徴とする認識装置。
  51. 請求項48に記載の認識装置であって、前記スクリーンショット解析エンジンは、前記スクリーン記録エンジンによって記録されたスクリーンショットを反転1ビット型に変換するように構成されること、を特徴とする認識装置。
  52. 請求項48に記載の認識装置であって、前記カーソル位置特定装置は、前記GUI制御部上のカーソルクリックの位置を特定するように構成されること、を特徴とする認識装置。
  53. 請求項48に記載の認識装置であって、前記カーソル位置特定装置は、前記GUI制御部へのキーボード入力を特定するように構成されること、を特徴とする認識装置。
  54. 請求項48に記載の認識装置であって、前記カーソル位置特定装置はOCRエンジンを備えること、を特徴とする認識装置。
  55. 請求項48に記載の認識装置であって、前記スクリーンショット記録エンジンは、前記GUIにおいて以前は見えなかった領域にスクロールするためのスクロールバーを起動するように構成されること、を特徴とする認識装置。
  56. ディスプレイ非依存の、GUIにおけるスクロールバーの認識方法であって、
    コンピュータアプリケーションにおけるGUIのスクリーンショットを記録するステップと、
    前記スクリーンショットを解析し、スクロールバーを特定するステップと、
    前記スクロールバーを解析し、前記スクロールバーのパラメータを抽出するステップと、
    を含むことを特徴とする方法。
  57. 請求項56に記載の方法であって、前記パラメータは、前記スクロールバーの場所、前記スクロールバーの大きさ、前記スクロールバーにおけるスクロールサムの場所、前記スクロールバーにおけるスクロールサムの大きさ、前記スクロールバーにおける矢印の大きさ、および、前記スクロールバーにおける矢印の場所、からなるグループから選択されること、を特徴とする方法。
  58. 請求項56に記載の方法であって、さらに、前記GUIの以前は見えなかった領域を表示するために、少なくとも前記抽出したパラメータに基づいて前記スクロールバーを操作するステップを含むこと、を特徴とする方法。
  59. ディスプレイ非依存のスクロールバー認識装置であって、
    コンピュータアプリケーションにおけるGUIの画像を記録するためのスクリーンショット記録エンジンと、
    前記画像においてスクロールバーを特定し、前記スクロールバーのパラメータを抽出するためのスクロールバー解析装置と、
    を備えることを特徴とする認識装置。
  60. 請求項59に記載の認識装置であって、前記パラメータは、前記スクロールバーの場所、前記スクロールバーの大きさ、前記スクロールバーにおけるスクロールサムの場所、前記スクロールバーにおけるスクロールサムの大きさ、前記スクロールバーにおける矢印の大きさ、および、前記スクロールバーにおける矢印の場所、からなるグループから選択されること、を特徴とする認識装置。
JP2010187685A 2009-08-24 2010-08-24 ディスプレイ非依存のコンピュータによるガイダンス方法および装置 Pending JP2011081778A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/546,042 US9405558B2 (en) 2009-08-24 2009-08-24 Display-independent computerized guidance
US12/546,045 US9098313B2 (en) 2009-08-24 2009-08-24 Recording display-independent computerized guidance
US12/546,048 US8918739B2 (en) 2009-08-24 2009-08-24 Display-independent recognition of graphical user interface control

Publications (1)

Publication Number Publication Date
JP2011081778A true JP2011081778A (ja) 2011-04-21

Family

ID=44075728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010187685A Pending JP2011081778A (ja) 2009-08-24 2010-08-24 ディスプレイ非依存のコンピュータによるガイダンス方法および装置

Country Status (1)

Country Link
JP (1) JP2011081778A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012252553A (ja) * 2011-06-03 2012-12-20 Pioneer Electronic Corp 情報処理装置及び方法、並びにコンピュータプログラム及び情報記録媒体
JP2015035120A (ja) * 2013-08-09 2015-02-19 株式会社島津製作所 表示・実行操作補助プログラム
KR20160009479A (ko) 2014-07-16 2016-01-26 겅호 온라인 엔터테인먼트 가부시키가이샤 단말 장치
JP2017084087A (ja) * 2015-10-28 2017-05-18 Kddi株式会社 画面特定システム、画面特定装置及び画面特定方法
CN111580902A (zh) * 2020-04-20 2020-08-25 微梦创科网络科技(中国)有限公司 一种基于图片分析的移动端元素定位方法及系统
KR20210134486A (ko) * 2020-05-01 2021-11-10 유아이패스, 인크. 텍스트 검출, 캐럿 추적, 및 활성 엘리먼트 검출
CN113704474A (zh) * 2021-08-30 2021-11-26 平安银行股份有限公司 银行网点设备操作指引生成方法、装置、设备及存储介质
US11302093B2 (en) 2020-05-01 2022-04-12 UiPath, Inc. Text detection, caret tracking, and active element detection
US11461164B2 (en) 2020-05-01 2022-10-04 UiPath, Inc. Screen response validation of robot execution for robotic process automation

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012252553A (ja) * 2011-06-03 2012-12-20 Pioneer Electronic Corp 情報処理装置及び方法、並びにコンピュータプログラム及び情報記録媒体
JP2015035120A (ja) * 2013-08-09 2015-02-19 株式会社島津製作所 表示・実行操作補助プログラム
KR20160009479A (ko) 2014-07-16 2016-01-26 겅호 온라인 엔터테인먼트 가부시키가이샤 단말 장치
JP2017084087A (ja) * 2015-10-28 2017-05-18 Kddi株式会社 画面特定システム、画面特定装置及び画面特定方法
CN111580902A (zh) * 2020-04-20 2020-08-25 微梦创科网络科技(中国)有限公司 一种基于图片分析的移动端元素定位方法及系统
CN111580902B (zh) * 2020-04-20 2024-01-26 微梦创科网络科技(中国)有限公司 一种基于图片分析的移动端元素定位方法及系统
US11302093B2 (en) 2020-05-01 2022-04-12 UiPath, Inc. Text detection, caret tracking, and active element detection
KR102373942B1 (ko) 2020-05-01 2022-03-15 유아이패스, 인크. 텍스트 검출, 캐럿 추적, 및 활성 엘리먼트 검출
US11461164B2 (en) 2020-05-01 2022-10-04 UiPath, Inc. Screen response validation of robot execution for robotic process automation
US11594007B2 (en) 2020-05-01 2023-02-28 UiPath, Inc. Text detection, caret tracking, and active element detection
US11625138B2 (en) 2020-05-01 2023-04-11 UiPath, Inc. Text detection, caret tracking, and active element detection
US11630549B2 (en) 2020-05-01 2023-04-18 UiPath, Inc. Text detection, caret tracking, and active element detection
US11734104B2 (en) 2020-05-01 2023-08-22 UiPath, Inc. Screen response validation of robot execution for robotic process automation
KR20210134486A (ko) * 2020-05-01 2021-11-10 유아이패스, 인크. 텍스트 검출, 캐럿 추적, 및 활성 엘리먼트 검출
CN113704474A (zh) * 2021-08-30 2021-11-26 平安银行股份有限公司 银行网点设备操作指引生成方法、装置、设备及存储介质
CN113704474B (zh) * 2021-08-30 2023-06-02 平安银行股份有限公司 银行网点设备操作指引生成方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9703462B2 (en) Display-independent recognition of graphical user interface control
US9098313B2 (en) Recording display-independent computerized guidance
US10817175B2 (en) Input device enhanced interface
JP2011081778A (ja) ディスプレイ非依存のコンピュータによるガイダンス方法および装置
US9405558B2 (en) Display-independent computerized guidance
EP3215900B1 (en) Robotic process automation
US9058105B2 (en) Automated adjustment of input configuration
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
US8791900B2 (en) Computing device notes
CN102999274B (zh) 语义缩放动画
EP2288985B1 (en) Rendering teaching animations on a user-interface display
US20160350137A1 (en) Guide file creation program
EP2252926B1 (en) Interpreting ambiguous inputs on a touch-screen
US8751550B2 (en) Freeform mathematical computations
US20170300221A1 (en) Erase, Circle, Prioritize and Application Tray Gestures
US10339833B2 (en) Assistive reading interface
US20110087974A1 (en) User interface controls including capturing user mood in response to a user cue
WO2017001560A1 (en) Robotic process automation
US20170322913A1 (en) Stylizing text by replacing glyph with alternate glyph
CN112230811A (zh) 输入方法、装置、设备及存储介质
KR20160020531A (ko) 테더링된 선택 핸들
JP6430198B2 (ja) 電子機器、方法及びプログラム
JP7496699B2 (ja) 表示装置
US20130201161A1 (en) Methods, Systems and Apparatus for Digital-Marking-Surface Content-Unit Manipulation
WO2015026381A1 (en) Gesture-based visualization of financial data