IP Library Granted Patent US 8,762,873
Granted Patent B2
US 8,762,873 · App. 12/605,426 · Granted Jun 24, 2014

Graphical user interface component identification

Inventors: Ayelet Pnueli (Haifa, IL); Omer Barkol (Haifa, IL); Ruth Bergman (Haifa, IL); Michael Pogrebisky (Rishon Le-Zion, IL); Sagi Schein (Haifa, IL)
Assignee: Hewlett-Packard Development Company, L.P.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,762,873
App. No.
12/605,426
Filed
Oct 26, 2009
Granted
Jun 24, 2014
Kind
B2
Examiner
PHAM, LINH K
Art Unit
2174
USPC
715/771
Abstract

Systems, methods, and other embodiments associated with graphical user interface (GUI) component identification are described. One example method includes identifying a set of GUI components. The identifying may be based on a screen image of a GUI. The screen image may comprise data describing a visual representation of the GUI. The example method may also include providing data identifying the set of GUI components.

Claims (56)

1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:

identifying, by a device, a set of graphical user interface (GUI) components by at least two of:

detecting straight lines in the visual representation of the GUI, where the straight lines create a rectangle enclosing a GUI component;

detecting a geometric shape in the visual representation of the GUI, where the geometric shape encloses a GUI component;

identifying a frequently used shape in the visual representation of the GUI as a GUI component;

matching a region in the visual representation of the GUI to a template describing a commonly used GUI component;

identifying a textual GUI component; and

identifying sub-components of a GUI component;

where the identifying of the set of GUI components is based on screen images that make up a GUI instance and GUI segmentation logic, where the screen images comprise data describing a visual representation of the GUI, and where the set of GUI components comprise one or more GUI elements that facilitate performing a task that the GUI performs;

performing segmentation by using GUI segmentation logic, that is not based on any input from a user, to divide the screen images of the GUI into the set of GUI components;

providing data identifying the set of GUI components in the screen images; and

combining the screen images using the identified set of GUI components into a single screen image of the GUI instance.

2. The non-transitory computer-readable medium of claim 1 , where the data identifying the set of GUI components is provided to one or more of, a data store to store the data identifying the set of GUI components, a content repurposing application, a windows command and control application, a software testing application, a help application, an object recognition application, an application monitoring system, a search engine, and an accessibility application.

3. The non-transitory computer-readable medium of claim 1 , where the data describing the visual representation of the GUI comprises color values describing pixels making up the screen images.

4. The non-transitory computer-readable medium of claim 1 , where a sub-component of a GUI component comprises one or more elements of the GUI component that facilitate performing a task associated with the GUI component, and where identifying a sub-component of a GUI component comprises one or more of:

detecting straight lines in a visual representation of the GUI component, where the straight lines create a rectangle enclosing the sub-component of the GUI component;

identifying a frequently used shape in the visual representation of the GUI component as the sub-component of the GUI component;

matching a region in the visual representation of the GUI component to a template describing a commonly used GUI component;

classifying a textual sub-component of the GUI component; and

recursively identifying sub-components of the sub-component.

5. The non-transitory computer-readable medium of claim 1 , where identifying the set of GUI components is also based on a secondary source of information.

6. The non-transitory computer-readable medium of claim 5 , where the secondary source of information is a document object model (DOM).

7. The non-transitory computer-readable medium of claim 1 , comprising extracting, from the screen images of the GUI, information describing attributes of members of the set of GUI components.

8. A system, comprising:

a processor and memory device including:

image acquisition logic to:

generate graphical user interface (GUI) images of a GUI instant; and

identify a set of operational segments, wherein the set of operational segments is identified by at least two of:

detecting straight lines in the visual representation of the GUI, where the straight lines create a rectangle enclosing a GUI component;

detecting a geometric shape in the visual representation of the GUI, where the geometric shape encloses a GUI component;

identifying a frequently used shape in the visual representation of the GUI as a GUI component;

matching a region in the visual representation of the GUI to a template describing a commonly used GUI component;

identifying a textual GUI component; and

identifying sub-components of a GUI component;

generate a single GUI image by combining the GUI images based on the identified set of operational segments;

GUI segmentation logic that is not based on any user input to divide the GUI images into the set of operational segments, wherein the set of operational segments facilitate performing a task that the GUI instance facilitates; and

provision logic to provide the data identifying the set of operational segments;

where a GUI instant is a state of a GUI between two consecutive inputs to a logic through the GUI.

9. The system of claim 8 , where the GUI images are combined by combining the set of operational segments into the single GUI image.

10. The system of claim 8 , where the GUI segmentation logic comprises one or more of,

layout analysis logic, and

object detection logic.

11. The system of claim 10 , where the layout analysis logic is configured to recursively divide portions of the GUI images of the GUI instance to create a GUI image hierarchy.

12. A computer-implemented method, comprising:

acquiring image data from images describing a graphical user interface (GUI), wherein a GUI instance comprises the images;

automatically identifying a set of GUI components in the image data from the images of the GUI instance by at least two of:

detecting straight lines in the visual representation of the GUI, where the straight lines create a rectangle enclosing a GUI component;

detecting a geometric shape in the visual representation of the GUI, where the geometric shape encloses a GUI component;

identifying a frequently used shape in the visual representation of the GUI as a GUI component;

matching a region in the visual representation of the GUI to a template describing a commonly used GUI component;

identifying a textual GUI component; and

identifying sub-components of a GUI component;

where the automatic identification of the set of GUI components uses segmentation logic and where the set of GUI components comprise one or more GUI elements that facilitate performing a task that the GUI performs;

performing segmentation by using GUI segmentation logic, that is not based on any input from a user, to divide the image data into the set of GUI components;

providing electronic data identifying the set of GUI components;

combining the images into a single image of the GUI instance based on the provided electronic data identifying the set of GUI components.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2009
From: PNUELI, AYELET; BARKOL, OMER; BERGMAN, RUTH; POGREBISKY, MICHAEL; SCHEIN, SAGI
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 023421/0684 →
Continuity (1)
Related Publication 20110099499A1 · Apr 28, 2011