IP Library Granted Patent US 8,989,515
Granted Patent B2
US 8,989,515 · App. 13/740,131 · Granted Mar 24, 2015

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 8,989,515
App. No.
13/740,131
Granted
Mar 24, 2015
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 (84)

1. A method for determining whether illumination problems exist in a digital representation of a document, the method comprising:

dividing, using a processor, a tetragon comprising a detected digital representation of a document within the digital image 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 digital image 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 digital image 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 the illumination problem exists in the digital image upon determining that the digital image is either undersaturated or oversaturated.

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

determining a section oversaturation ratio for each section, each section oversaturation ratio comprising a number of pixels exhibiting a maximum brightness value in the section divided by a total number of pixels in the section.

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

determining, for each section, whether the oversaturation level of the section is greater than a predetermined threshold: and

characterizing the section as oversaturated upon determining that the saturation level of the section is greater than a predetermined threshold.

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

determining a median variability of the distribution of brightness values of each section;

determining whether each median variability is greater than a predetermined variability threshold; and

determining, for each section, that the section is undersaturated upon determining that the median variability of the section is greater than the predetermined variability threshold.

5. The method as recited in claim 1 , wherein the brightness value range of each section comprises a difference between:

a maximum characteristic brightness value in the distribution of brightness values of the section; and

a minimum characteristic brightness value in the distribution of brightness values of the section.

6. The method as recited in claim 1 , wherein each brightness value is an integer value in a range from 0 to 255.

7. The method as recited in claim 1 , wherein determining the variability comprises:

determining a brightness value of a target pixel in the plurality of pixels;

calculating a difference between the brightness value of the target pixel and a brightness value for one or more neighboring pixels, each neighboring pixel being one or more pixels away from the target pixel;

repeating the determining and the calculating for each pixel in the plurality of pixels to obtain each target pixel variability; and

generating a distribution of target pixel variability values,

wherein each target pixel variability value is an integer in a range from 0 to 255.

8. The method as recited in claim 7 , wherein the one or more neighboring pixels are located within five pixels of the target pixel along a vertical direction.

9. The method as recited in claim 7 , wherein the one or more neighboring pixels are located within five pixels of the target pixel along a horizontal direction.

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

removing one or more target pixel variability values from the distribution of target pixel variability values to generate a corrected distribution; and

defining a characteristic background variability based on the corrected distribution.

11. The method as recited in claim 1 , further comprising, for each section:

defining a section height by dividing the height of the document into a predefined number of horizontal sections; and

defining a section width by dividing the width of the document into a predetermined number of vertical sections.

12. The method as recited in claim 1 , wherein each section is characterized by a section height and width,

wherein the digital image is characterized by an image width w and an image height h,

wherein h>=w,

wherein the section size is characterized by a section width w s and a section height h s

wherein w s =w/m,

wherein h s =h/n,

wherein m and n are defined so that w s is approximately equal to h s .

13. A method for determining whether illumination problems exist in a digital representation of a document, comprising:

dividing, using a processor, a tetragon comprising a detected digital representation of a document within a digital image 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 a section oversaturation ratio for each section, each section oversaturation ratio comprising a number of pixels exhibiting a maximum brightness value in the section divided by a total number of pixels in the section;

determining, for each section, whether the oversaturation ratio of the section is greater than a predetermined oversaturation threshold;

determining, for each section, that the section is oversaturated upon determining that the saturation level of the section is greater than a predetermined oversaturation threshold;

determining, for each section, a median variability of the distribution of brightness values of the section;

determining whether each median variability is greater than a predetermined median variability threshold; and

determining, for each section, that the section is undersaturated upon determining that the median variability of the section is greater than the predetermined median variability threshold; and

determining that the illumination problem exists in the digital image upon determining that the digital image is either undersaturated or oversaturated.

14. The method as recited in claim 1 , wherein the processor is part of a mobile device, the mobile device having an integrated camera.

15. A system, comprising:

a processor configured to execute logic;

logic for dividing a tetragon comprising a detected digital representation of a document within the digital image into a plurality of sections, each section comprising a plurality of pixels;

logic for determining a distribution of brightness values of each section;

logic for determining a brightness value range of each section;

logic for determining a variability of brightness values of each section;

logic for determining whether each section is oversaturated;

logic for determining whether each section is undersaturated;

logic for determining a number of oversaturated sections;

logic for determining a number of undersaturated sections;

logic for determining that the digital image is oversaturated upon determining that a ratio of the number of oversaturated sections to a total number of sections exceeds an oversaturation threshold;

logic for determining that the digital image is undersaturated upon determining that a ratio of the number of undersaturated sections to the total number of sections exceeds an undersaturation threshold; and

logic for determining that the illumination problem exists in the digital image upon determining that the digital image is either undersaturated or oversaturated.

16. 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 divide a tetragon comprise a detected digital representation of a document within the digital image into a plurality of sections, each section comprise a plurality of pixels;

computer readable program code configured to determine a distribution of brightness values of each section;

computer readable program code configured to determine a brightness value range of each section;

computer readable program code configured to determine a variability of brightness values of each section;

computer readable program code configured to determine whether each section is oversaturated;

computer readable program code configured to determine whether each section is undersaturated;

computer readable program code configured to determine a number of oversaturated sections;

computer readable program code configured to determine a number of undersaturated sections;

computer readable program code configured to determine that the digital image is oversaturated upon determine that a ratio of the number of oversaturated sections to a total number of sections exceeds an oversaturation threshold;

computer readable program code configured to determine that the digital image is undersaturated upon determine that a ratio of the number of undersaturated sections to the total number of sections exceeds an undersaturation threshold; and

computer readable program code configured to determine that the illumination problem exists in the digital image upon determine that the digital image is either undersaturated or oversaturated.

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: SHUSTOROVICH, ALEXANDER; MACCIOLA, ANTHONY; THRASHER, CHRISTOPHER W.
To: KOFAX, INC.
Reel/Frame 029659/0429 →