IP Library Granted Patent US 9,514,357
Granted Patent B2
US 9,514,357 · App. 13/740,141 · Granted Dec 6, 2016

Systems and methods for mobile image capture and processing

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 9,514,357
App. No.
13/740,141
Granted
Dec 6, 2016
Kind
B2
Abstract

In various embodiments, methods, systems, and computer program products for processing digital images captured by a mobile device are disclosed. Myriad features enable and/or facilitate processing of such digital images using a mobile device that would otherwise be technically impossible or impractical, and furthermore address unique challenges presented by images captured using a camera rather than a traditional flat-bed scanner, paper-feed scanner or multifunction peripheral.

Claims (177)

1. A method, comprising:

receiving a request to capture data comprising a digital video;

capturing the data using a capture component of a mobile device in response to receiving the capture request, wherein the captured data corresponds to a digital representation of a document;

outputting the captured data to one or more of a display of the mobile device, a processor of the mobile device, and a storage medium of the mobile device;

receiving a request to analyze the captured data;

analyzing the captured data using the mobile device in response to receiving the request to analyze, wherein analyzing the captured data includes detecting the digital representation of the document, and detecting the digital representation of the document in the captured data comprises:

using a processor, defining a plurality of candidate edge points corresponding to the digital representation of the document, wherein defining the plurality of candidate edge points comprises:

defining one or more large analysis windows within a digital image;

defining a plurality of small analysis windows within the digital image;

estimating one or more distributions of statistics for each large analysis window;

calculating one or more statistics for each small analysis window;

determining whether a statistically significant difference exists between one or more of the statistics calculated for one of the small analysis windows and a corresponding distribution of statistics estimated for one of the large analysis windows; and

designating a point in the small analysis window as a candidate edge point upon determining the statistically significant difference exists;

defining four sides of a tetragon based on the plurality of candidate edge points; and

outputting the digital representation of the document and the tetragon to the display of the mobile device; and

outputting a result of the analyzing to one or more of the display of the mobile device, the processor of the mobile device, and the storage medium of the mobile device.

2. The method as recited in claim 1 , further comprising:

receiving a request to modify one or more capture data parameters; and

modifying the one or more capture data parameters in response to the request, wherein the one or more capture data parameters comprise one or more of:

a flash setting;

a capture stability assistance setting;

a capture alignment assistance setting;

a zoom level;

a capture color mode; and

a capture data destination.

3. The method as recited in claim 1 , the analyzing comprising:

comparing one or more characteristics of the digital representation of the document to one or more quality control metrics;

determining whether each characteristic is acceptable based on the comparison;

for each characteristic:

outputting an indication that the characteristic is acceptable upon determining the characteristic is acceptable, and

outputting an indication that the characteristic is not acceptable upon determining the characteristic is not acceptable; and

outputting an indication that the digital representation of the document is acceptable upon determining that each characteristic is acceptable.

4. The method as recited in claim 3 , the one or more quality control metrics comprising one or more of:

a page detection metric;

an illumination metric; and

a blur metric.

5. The method as recited in claim 3 , further comprising:

displaying, via a display of the mobile device, the indication that the characteristic is not acceptable;

receiving instructions to recapture data in response to the displaying;

recapturing the data in response to receiving the instructions; and

outputting the recaptured data.

6. The method as recited in claim 3 , further comprising:

displaying, via a display of the mobile device, the indication that the characteristic is not acceptable;

receiving instructions to enhance the captured data in response to the displaying;

enhancing the captured data in response to receiving the instructions without recapturing the data; and

outputting the enhanced data.

7. The method as recited in claim 1 , the method further comprising:

outputting the digital representation of the document to a display of the mobile device; and

receiving user input corresponding to instructions to modify the digital representation of the document.

8. The method as recited in claim 1 , wherein the analyzing further comprises:

receiving a request to compare the digital representation of the document to one or more known document types;

estimating a resolution of the digital representation of the document in response to receiving the compare request;

correlating the estimated resolution to one or more known resolutions, each known resolution corresponding to one of the known document types; and

outputting an estimated document type based on the correlation.

9. The method as recited in claim 1 , wherein the analyzing further comprises:

processing the digital representation of the document to determine a content of the document;

determining a document type based on the content; and

determining a resolution of the digital representation of the document based on the document type.

10. The method as recited in claim 1 , further comprising:

receiving metadata corresponding to the captured data; and

associating the metadata with the captured data,

wherein the metadata correspond to one or more of:

one or more alphanumeric characters,

one or more symbols,

one or more signatures; and

one or more pointers.

11. The method as recited in claim 1 , the capturing comprising reading the data from a storage medium of the mobile device.

12. The method as recited in claim 1 , further comprising:

correcting distortions in one or more portions of the digital representation of the document.

13. The method as recited in claim 12 , wherein correcting the distortions comprises transforming a tetragon corresponding to the digital representation of the document into a rectangle,

wherein the tetragon is characterized by a plurality of equations including at least one first degree polynomial and at least one second degree polynomial, and

wherein each equation corresponds to a side of the tetragon.

14. The method as recited in claim 1 , further comprising determining whether one or more illumination problems exist in the digital representation of the document.

15. The method as recited in claim 14 , wherein determining whether the one or more illumination problems exist comprises:

dividing, using a processor, a tetragon comprising a detected digital representation of the document into a plurality of sections, each section comprising a plurality of pixels;

determining a distribution of brightness values of each section;

determining a brightness value range of each section;

determining a variability of brightness values of each section;

determining whether each section is oversaturated;

determining whether each section is undersaturated;

determining a number of oversaturated sections;

determining a number of undersaturated sections;

determining that the captured data is oversaturated upon determining that a ratio of the number of oversaturated sections to a total number of sections exceeds an oversaturation threshold;

determining that the captured data is undersaturated upon determining that a ratio of the number of undersaturated sections to the total number of sections exceeds an undersaturation threshold; and

determining that one or more illumination problems exists in the captured data upon determining that the captured data is either undersaturated or oversaturated.

16. The method as recited in claim 1 , further comprising correcting unevenness of illumination in one or more regions of the digital representation of the document.

17. The method as recited in claim 16 , wherein the correcting comprises:

dividing, using a processor, a tetragon comprising the digital representation of the document into a plurality of sections, each section comprising a plurality of pixels;

determining a distribution of color channel values of each section, each distribution of color channel values corresponding to one of a plurality of color channels;

determining, for each distribution of color channel values, one or more of:

an average color of a primary background of the corresponding section for which the distribution of color channels were determined; and

an average color of a secondary background of the corresponding section;

for each section, designating either the primary background color or the secondary background color as a local representation of a main background of the digital representation of the document, each local representation being characterized by either the average color of the primary background of the corresponding section or the average color of the secondary background of the corresponding section; and

applying a two-dimensional illumination model to the captured data.

18. The method as recited in claim 1 , further comprising estimating a resolution of the digital representation of the document.

19. The method as recited in claim 18 , the estimating comprising:

detecting a plurality of connected components of a plurality of non-background elements in the captured data;

determining a plurality of likely characters based on the plurality of connected components;

determining one or more average character dimensions based on the plurality of likely characters; and

estimating the resolution of the captured data based on the one or more average character dimensions.

20. The method as recited in claim 1 , further comprising determining whether the captured data comprises one or more blurred regions.

21. The method as recited in claim 20 , wherein determining whether the captured data comprises one or more blurred regions comprises:

dividing, using a processor, a tetragon comprising the digital representation of the document into a plurality of sections, each section comprising a plurality of pixels;

for each section:

determining whether the section contains one or more sharp pixel-to-pixel transitions in a first direction;

counting a total number of first direction sharp pixel-to-pixel transitions for the section (S S1 );

determining whether the section contains one or more blurred pixel-to-pixel transitions in the first direction;

counting a total number of first-direction blurred pixel-to-pixel transitions for the section (S B1 );

determining whether the section contains one or more sharp pixel-to-pixel transitions in a second direction;

counting a total number of second direction sharp pixel-to-pixel transitions for the section (S S2 );

determining whether the section contains one or more blurred pixel-to-pixel transitions in the second direction;

counting a total number of second-direction blurred pixel-to-pixel transitions for the section (S B2 );

determining the section is blank upon determining:

S S1 is less than a predetermined sharp transition threshold,

S B1 is less than a predetermined blurred transition threshold,

S S2 is less than a predetermined sharp transition threshold, and

S B2 is less than a predetermined blurred transition threshold; and

determining, for all non-blank sections, a first direction blur ratio r 1 =S S1 /S B1 ;

determining, for all non-blank sections, a second direction blur ratio r 2 =S S2 /S B2 ;

determining that a non-blank section is blurred in the first direction upon determining that r 1 is less than a predefined section blur ratio threshold; and

determining that a non-blank section is blurred in the second direction upon determining that r 2 is less than the predefined section blur ratio threshold; and

determining that a non-blank section is blurred upon determining one or more of:

the section is blurred in the first direction, and

the section is blurred in the section direction; and

determining a total number of blurred sections;

calculating an image blur ratio R comprising: the total number blurred sections to a total number of sections; and

determining the captured data comprises a blurred region upon determining the image blur ratio is greater than a predetermined image blur threshold.

22. A system, comprising:

a processor configured to execute logic;

logic for receiving a request to capture data comprising a digital video, wherein the captured data corresponds to a digital representation of a document;

logic for capturing the data using a capture component of a mobile device in response to receiving the capture request;

logic for outputting the captured data to one or more of a display of the mobile device, a processor of the mobile device, and a storage medium of the mobile device;

logic for receiving a request to analyze the captured data;

logic for analyzing the captured data using the mobile device in response to receiving the request to analyze, wherein the logic for analyzing the captured data includes logic for determining whether one or more illumination problems exist in the digital representation of the document and the logic for determining whether the one or more illumination problems exist comprises logic for:

dividing, using a processor, a tetragon comprising a detected digital representation of the document into a plurality of sections, each section comprising a plurality of pixels;

determining a distribution of brightness values of each section;

determining a brightness value range of each section;

determining a variability of brightness values of each section;

determining whether each section is oversaturated;

determining whether each section is undersaturated;

determining a number of oversaturated sections;

determining a number of undersaturated sections;

determining that the captured data is oversaturated upon determining that a ratio of the number of oversaturated sections to a total number of sections exceeds an oversaturation threshold;

determining that the captured data is undersaturated upon determining that a ratio of the number of undersaturated sections to the total number of sections exceeds an undersaturation threshold; and

determining that one or more illumination problems exists in the captured data upon determining that the captured data is either undersaturated or oversaturated; and

logic for outputting a result of the analyzing to one or more of the display of the mobile device, the processor of the mobile device, and the storage medium of the mobile device.

23. A computer program product comprising a computer readable storage medium having computer readable program code stored thereon, the computer readable program code comprising:

computer readable program code configured to receive a request to capture data comprising a digital video, wherein the captured data corresponds to a digital representation of a document; and

computer readable program code configured to capture the data using a capture component of a mobile device in response to receiving the capture request;

computer readable program code configured to output the captured data to one or more of a display of the mobile device, a processor of the mobile device, and a storage medium of the mobile device;

computer readable program code configured to receive a request to analyze the captured data;

computer readable program code configured to analyze the captured data use the mobile device in response to receive the request to analyze, wherein the computer readable program code configured to analyze the captured data includes computer readable program code configured to determine whether the captured data comprises one or more blurred regions, and the computer readable program code configured to determine whether the captured data comprises one or more blurred regions comprises computer readable program code configured to:

divide, using a processor, a tetragon comprising the digital representation of the document into a plurality of sections, each section comprising a plurality of pixels, and for each section:

determine whether the section contains one or more sharp pixel-to-pixel transitions in a first direction;

count a total number of first direction sharp pixel-to-pixel transitions for the section (S S1 );

determine whether the section contains one or more blurred pixel-to-pixel transitions in the first direction;

count a total number of first-direction blurred pixel-to-pixel transitions for the section (S B1 );

determine whether the section contains one or more sharp pixel-to-pixel transitions in a second direction;

count a total number of second direction sharp pixel-to-pixel transitions for the section (S S2 );

determine whether the section contains one or more blurred pixel-to-pixel transitions in the second direction;

count a total number of second-direction blurred pixel-to-pixel transitions for the section (S B2 );

determine the section is blank upon determining:

S S1 is less than a predetermined sharp transition threshold,

S B1 is less than a predetermined blurred transition threshold,

S S2 is less than a predetermined sharp transition threshold, and

S B2 is less than a predetermined blurred transition threshold; and

determine, for all non-blank sections, a first direction blur ratio r 1 =S S1 /S B1 ;

determine, for all non-blank sections, a second direction blur ratio r 2 =S S2 /S B2 ;

determine that a non-blank section is blurred in the first direction upon determine that r 1 is less than a predefined section blur ratio threshold; and

determine that a non-blank section is blurred in the second direction upon determine that r 2 is less than the predefined section blur ratio threshold; and

determine that a non-blank section is blurred upon determining one or more of:

the section is blurred in the first direction, and

the section is blurred in the section direction; and

determine a total number of blurred sections;

calculate an image blur ratio R comprise: the total number blurred sections to a total number of sections; and

determine the captured data comprises a blurred region upon determine the image blur ratio is greater than a predetermined image blur threshold; and

computer readable program code configured to output a result of analyzing the captured data to one or more of the display of the mobile device, the processor of the mobile device, and the storage medium of the mobile device.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2024
From: KOFAX, INC.
To: TUNGSTEN AUTOMATION CORPORATION
Reel/Frame 067428/0392 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: KAPOW TECHNOLOGIES, INC.; KOFAX, INC.
Reel/Frame 060805/0161 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 20, 2022
From: KOFAX, INC.; PSIGEN SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A. AS COLLATERAL AGENT
Reel/Frame 060757/0565 →
SECURITY INTEREST Recorded Jul 20, 2022
From: KOFAX, INC.; PSIGEN SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 060768/0159 →
SECURITY INTEREST Recorded Jul 7, 2017
From: KOFAX, INC.
To: CREDIT SUISSE
Reel/Frame 043108/0207 →
RELEASE OF SECURITY INTEREST Recorded May 26, 2015
From: BANK OF AMERICA, N.A.
To: KOFAX, INC.; ATALASOFT, INC.; KAPOW TECHNOLOGIES, INC.
Reel/Frame 035773/0930 →
SECURITY AGREEMENT Recorded Oct 21, 2013
From: KOFAX, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 031447/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2013
From: MACCIOLA, ANTHONY; AMTRUP, JAN WILLERS; SHUSTOROVICH, ALEXANDER; THRASHER, CHRISTOPHER W.
To: KOFAX, INC.
Reel/Frame 029659/0461 →