IP Library Granted Patent US 12,443,791
Granted Patent B2
US 12,443,791 · App. 18/480,282 · Granted Oct 14, 2025

Visual analysis for document import

Inventor: Nathaniel McConathy (Lexington, KY)
Assignee: OPEN TEXT HOLDINGS, INC.
G06F40/186G06V30/18105G06V30/412G06V30/416
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 12,443,791
App. No.
18/480,282
Granted
Oct 14, 2025
Kind
B2
Abstract

Embodiments of the present disclosure extract a layout from a digital image of a document, including performing an analysis of image data to identify areas of content based on a plurality of test lines of pixels in multiple directions and storing the identified areas as design elements of an electronic document template.

Claims (92)

1. A computer-implemented method for automated visual analysis of documents to generate digital templates, the method comprising:

accessing a digital image of a document page;

accessing a background color definition;

tracking a current content state for analyzing the digital image, the current content state having a plurality of potential states comprising:

a first state indicating a collision with a non-background; and

a second state indicating no collision with the non-background;

testing a first plurality of test lines of pixels from the digital image against the background color definition to identify, from the first plurality of test lines of pixels, a first plurality of content state transition lines, each line in the first plurality of test lines of pixels extending in a first direction;

testing a second plurality of test lines of pixels from the digital image against the background color definition to identify, from the second plurality of test lines of pixels, a second plurality of content state transition lines, each line in the second plurality of test lines of pixels extending in a second direction;

identifying intersections between the first plurality of content state transition lines and the second plurality of content state transition lines;

determining an area of interest bounded by intersecting lines from the first plurality of content state transition lines and the second plurality of content state transition lines;

processing the area of interest to determine that the area of interest represents content; and

based on a determination that the area of interest represents content, storing the area of interest as a design element of a digital page template.

2. The computer-implemented method of claim 1 , further comprising selecting a first area of the digital image, the first area bounded by a first line in the first direction and a second line in the first direction, the first line in the first direction and the second line in the first direction being adjacent lines from the first plurality of content state transition lines, wherein the second plurality of test lines of pixels extend from the first line in the first direction to the second line in the first direction.

3. The computer-implemented method of claim 2 , wherein the area of interest is a sub-area of the first area.

4. The computer-implemented method of claim 1 , wherein determining that the area of interest represents content comprises testing pixel values from the area of interest against the background color definition.

5. The computer-implemented method of claim 1 , wherein:

the background color definition comprises a color value;

testing the first plurality of test lines of pixels from the digital image against the background color definition to identify, from the first plurality of test lines of pixels, the first plurality of content state transition lines, comprises:

for each of the first plurality of test lines of pixels:

determining a respective variance from the color value; and

determining a respective content state based on the respective variance from the color value determined for that line from the first plurality of test lines; and

for each of the first plurality of test lines of pixels for which the respective content state determined for that line from the first plurality of test lines differs from the current content state:

selecting that line from the first plurality of test lines for inclusion in the first plurality of content state transition lines; and

changing the current content state.

6. The computer-implemented method of claim 5 , wherein testing the second plurality of test lines of pixels against the background color definition to identify, from the second plurality of test lines of pixels, the second plurality of content state transition lines, comprises:

for each of the second plurality of test lines of pixels:

determining a respective variance from the color value; and

determining a respective content state based on the respective variance from the color value determined for that line from the second plurality of test lines; and

for each of the second plurality of test lines of pixels for which the respective content state determined for that line from the second plurality of test lines differs from the current content state:

selecting that line from the second plurality of test lines for inclusion in the second plurality of content state transition lines; and

changing the current content state.

7. The computer-implemented method of claim 6 , wherein the background color definition comprises a background color value and wherein determining that the area of interest represents content comprises:

determining a color variance of pixels in the area of interest from the background color value; and

determining that the color variance of pixels in the area of interest exceeds a threshold.

8. The computer-implemented method of claim 1 , wherein determining that the area of interest represents content comprises inputting the area of interest to a machine learning model trained to identify the content.

9. The computer-implemented method of claim 1 , wherein the first direction is horizontal, and the second direction is vertical.

10. The computer-implemented method of claim 1 , wherein the first direction is vertical, and the second direction is horizontal.

11. A computer program product for automated visual analysis of documents to generate digital templates, comprising a non-transitory, computer-readable medium storing thereon computer-executable instructions, the computer-executable instructions comprising instructions for:

accessing a digital image of a document page;

accessing a background color definition;

tracking a current content state for analyzing the digital image, the current content state having a plurality of potential states comprising:

a first state indicating a collision with a non-background; and

a second state indicating no collision with the non-background;

testing a first plurality of test lines of pixels from the digital image against the background color definition to identify, from the first plurality of test lines of pixels, a first plurality of content state transition lines, each line in the first plurality of test lines of pixels extending in a first direction;

testing a second plurality of test lines of pixels from the digital image against the background color definition to identify, from the second plurality of test lines of pixels, a second plurality of content state transition lines, each line in the second plurality of test lines of pixels extending in a second direction;

identifying intersections between the first plurality of content state transition lines and the second plurality of content state transition lines;

determining an area of interest bounded by intersecting lines from the first plurality of content state transition lines and the second plurality of content state transition lines;

processing the area of interest to determine that the area of interest represents content; and

based on a determination that the area of interest represents content, storing the area of interest as a design element of a digital page template.

12. The computer program product of claim 11 , wherein the computer-executable instructions further comprise instructions for selecting a first area of the digital image, the first area bounded by a first line in the first direction and a second line in the first direction, the first line in the first direction and the second line in the first direction being adjacent lines from the first plurality of content state transition lines, wherein the second plurality of test lines of pixels extend from the first line in the first direction to the second line in the first direction.

13. The computer program product of claim 12 , wherein the area of interest is a sub-area of the first area.

14. The computer program product of claim 11 , wherein determining that the area of interest represents content comprises testing pixel values from the area of interest against the background color definition.

15. The computer program product of claim 11 , wherein:

the background color definition comprises a color value;

testing the first plurality of test lines of pixels from the digital image against the background color definition to identify, from the first plurality of test lines of pixels, the first plurality of content state transition lines, comprises:

for each of the first plurality of test lines of pixels:

determining a respective variance from the color value; and

determining a respective content state based on the respective variance from the color value determined for that line from the first plurality of test lines; and

for each of the first plurality of test lines of pixels for which the respective content state determined for that line from the first plurality of test lines differs from the current content state:

selecting that line from the first plurality of test lines for inclusion in the first plurality of content state transition lines; and

changing the current content state.

16. The computer program product of claim 15 , wherein testing the second plurality of test lines of pixels against the background color definition to identify, from the second plurality of test lines of pixels, the second plurality of content state transition lines, comprises:

for each of the second plurality of test lines:

determining a respective variance from the color value; and

determining a respective content state based on the respective variance; and

for each of the second plurality of test lines of pixels for which the respective content state determined for that line from the second plurality of test lines differs from the current content state:

selecting that line from the second plurality of test lines for inclusion in the second plurality of content state transition lines; and

changing the current content state.

17. The computer program product of claim 16 , wherein the background color definition comprises a background color value and wherein determining that the area of interest represents content comprises:

determining a color variance of pixels in the area of interest from the background color value; and

determining that the color variance of pixels in the area of interest exceeds a threshold.

18. The computer program product of claim 11 , wherein determining that the area of interest represents content comprises inputting the area of interest to a machine learning model trained to identify the content.

19. The computer program product of claim 11 , wherein the first direction is horizontal, and the second direction is vertical.

20. The computer program product of claim 11 , wherein the first direction is vertical, and the second direction is horizontal.

21. A system of automated visual analysis of documents to generate digital templates, comprising:

a digital image source;

a template store;

a processor coupled to the digital image source and the template store;

a computer memory coupled to the processor, the computer memory storing:

a background color definition;

computer-executable instructions, the computer-executable instructions executable by the processor and comprising instructions for:

receiving a digital image of a document page from the digital image source;

accessing the background color definition;

tracking a current content state for analyzing the digital image, the current content state having a plurality of potential states comprising:

a first state indicating a collision with a non-background; and

a second state indicating no collision with the non-background;

testing a first plurality of test lines of pixels from the digital image against the background color definition to identify, from the first plurality of test lines of pixels, a first plurality of content state transition lines, each line in the first plurality of test lines of pixels extending in a first direction;

testing a second plurality of test lines of pixels from the digital image against the background color definition to identify, from the second plurality of test lines of pixels, a second plurality of content state transition lines, each line in the second plurality of test lines of pixels extending in a second direction;

identifying intersections between the first plurality of content state transition lines and the second plurality of content state transition lines;

determining an area of interest bounded by intersecting lines from the first plurality of content state transition lines and the second plurality of content state transition lines;

processing the area of interest to determine that the area of interest represents content; and

based on a determination that the area of interest represents content, storing the area of interest as a design element of a page template in the template store.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2025
From: MCCONATHY, NATHANIEL
To: OPEN TEXT HOLDINGS, INC.
Reel/Frame 072410/0052 →
Continuity (1)
Related Publication 20250111138A1 · Apr 3, 2025
References Cited (20)
US 6332046B1 · Fujimoto · 2001 [cited by examiner]
US 9201854B1 · Kloiber et al. · 2015 [cited by applicant]
US 9715624B1 · Fang · 2017 [cited by examiner]
US 9727293B1 · White · 2017 [cited by examiner]
US 10223339B2 · Pruitt et al. · 2019 [cited by applicant]
US 10346706B2 · Nonaka · 2019 [cited by examiner]
US 10430927B2 · Ozawa · 2019 [cited by examiner]
US 10733433B2 · Krishnapura Subbaraya · 2020 [cited by examiner]
US 11010543B1 · Wesanekar · 2021 [cited by examiner]
US 11582170B2 · Downs et al. · 2023 [cited by applicant]
US 20020006220A1 · Kohchi · 2002 [cited by examiner]
US 20040001628A1 · Ozawa · 2004 [cited by examiner]
US 20060291877A1 · Silvestri · 2006 [cited by examiner]
US 20070186152A1 · Gurcan · 2007 [cited by examiner]
US 20080170784A1 · Guerzhoy · 2008 [cited by examiner]
US 20120155745A1 · Park · 2012 [cited by examiner]
US 20160063322A1 · Déjean · 2016 [cited by examiner]
US 20190354584A1 · Wallenfelt · 2019 [cited by examiner]
US 20210303905A1 · Baek · 2021 [cited by examiner]
US 20240346662A1 · Reddy · 2024 [cited by examiner]