IP Library Granted Patent US 9,721,193
Granted Patent B2
US 9,721,193 · App. 14/531,258 · Granted Aug 1, 2017

Method and system for character recognition

Inventors: Martin T. King (Vashon Island, WA); Dale L. Grover (Ann Arbor, MI); Clifford A. Kushler (Nevada City, CA); James Q. Stafford-Fraser (Cambridge, GB)
Assignee: Google Inc.
G06K9/72G06F17/30011G06K9/00456G06K9/00463G06K9/18G06K9/325G06K9/344G06K9/348G06K9/74G06F17/30253G06K2209/01
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,721,193
App. No.
14/531,258
Granted
Aug 1, 2017
Kind
B2
Abstract

Character recognition is described. In one embodiment, it may use matched sequences rather than character shape to determine a computer-legible result.

Claims (62)

1. A computer-implemented method comprising:

obtaining an image of a sequence of symbols, based on a document capture process performed on a rendered document;

segmenting a portion of the image into multiple segmented sub-images, each of the segmented sub-images corresponding to a single symbol in the sequence of symbols;

for each segmented sub-image of at least a subset of the segmented sub-images, in an order that corresponds to the sequence of symbols:

determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in a cache of stored sub-images;

based on determining that one or more features of the segmented sub-image are not classified as being similar to one or more corresponding features of any stored sub-image, selecting an unassigned symbol identifier, and storing the segmented sub-image in association with the selected symbol identifier in the cache of stored sub-images; and

attributing the selected identifier to any segmented sub-images that follow the segmented sub-image and have one or more features that are classified as being similar to one or more corresponding features of the stored segmented sub-image; and

generating an encoding of the sequence of symbols that is based on the identifiers attributed to the segmented sub-images.

2. The computer-implemented method of claim 1 , wherein the rendered document is a printed document.

3. The computer-implemented method of claim 1 , wherein the rendered document is a dynamically displayed document.

4. The computer-implemented method of claim 1 , wherein segmenting a portion of the image into multiple segmented sub-images comprises determining that space exists between each of the multiple segmented sub-images.

5. The computer-implemented method of claim 1 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a probability that the segmented sub-image corresponds to a stored sub-image; and

determining that the probability meets a predetermined threshold.

6. The computer-implemented method of claim 1 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a pattern corresponding to a difference between the segmented sub-image and a stored sub-image; and

determining that a size of the pattern meets a predetermined threshold.

7. The computer-implemented method of claim 1 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a first set of vectors that correspond to the segmented sub-image;

determining a second set of vectors that correspond to a stored sub-image; and

determining that the first set of vectors and the second set of vectors meet a predetermined similarity threshold.

8. The computer-implemented method of claim 7 , wherein the predetermined similarity threshold for the first and second sets of vectors is expressed in terms of length and direction.

9. A system, comprising:

one or more computing processors; and

a computer-readable storage device including instructions executable by the one or more computing processors and upon such execution cause the one or more computing processors to perform operations comprising:

obtaining an image of a sequence of symbols, based on a document capture process performed on a rendered document;

segmenting a portion of the image into multiple segmented sub-images, each of the segmented sub-images corresponding to a single symbol in the sequence of symbols;

for each segmented sub-image of at least a subset of the segmented sub-images, in an order that corresponds to the sequence of symbols:

determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in a cache of stored sub-images;

based on determining that one or more features of the segmented sub-image are not classified as being similar to one or more corresponding features of any stored sub-image, selecting an unassigned symbol identifier, and storing the segmented sub-image in association with the selected symbol identifier in the cache of stored sub-images; and

attributing the selected identifier to any segmented sub-images that follow the segmented sub-image and have one or more features that are classified as being similar to one or more corresponding features of the stored segmented sub-image; and

generating an encoding of the sequence of symbols that is based on the identifiers attributed to the segmented sub-images.

10. The system of claim 9 , wherein segmenting a portion of the image into multiple segmented sub-images comprises determining that space exists between each of the multiple segmented sub-images.

11. The system of claim 9 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a probability that the segmented sub-image corresponds to a stored sub-image; and

determining that the probability meets a predetermined threshold.

12. The system of claim 9 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a pattern corresponding to a difference between the segmented sub-image and a stored sub-image; and

determining that a size of the pattern meets a predetermined threshold.

13. The system of claim 9 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a first set of vectors that correspond to the segmented sub-image;

determining a second set of vectors that correspond to a stored sub-image; and

determining that the first set of vectors and the second set of vectors meet a predetermined similarity threshold.

14. The system of claim 13 , wherein the predetermined similarity threshold for the first and second sets of vectors is expressed in terms of length and direction.

15. A memory storage apparatus storing instructions executable by a data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:

obtaining an image of a sequence of symbols, based on a document capture process performed on a rendered document;

segmenting a portion of the image into multiple segmented sub-images, each of the segmented sub-images corresponding to a single symbol in the sequence of symbols;

for each segmented sub-image of at least a subset of the segmented sub-images, in an order that corresponds to the sequence of symbols:

determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images;

based on determining that one or more features of the segmented sub-image are not classified as being similar to one or more corresponding features of any stored sub-image, selecting an unassigned symbol identifier, and storing the segmented sub-image in association with the selected symbol identifier in the cache of stored sub-images; and

attributing the selected identifier to any segmented sub-images that follow the segmented sub-image and have one or more features that are classified as being similar to one or more corresponding features of the stored segmented sub-image; and

generating an encoding of the sequence of symbols that is based on the identifiers attributed to the segmented sub-images.

16. The memory storage apparatus of claim 15 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a probability that the segmented sub-image corresponds to a stored sub-image; and

determining that the probability meets a predetermined threshold.

17. The memory storage apparatus of claim 15 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a pattern corresponding to a difference between the segmented sub-image and a stored sub-image; and

determining that a size of the pattern meets a predetermined threshold.

18. The memory storage apparatus of claim 15 , wherein determining whether one or more features of the segmented sub-image are classified as being similar to one or more corresponding features of any stored sub-image in the cache of stored sub-images comprises:

determining a first set of vectors that correspond to the segmented sub-image;

determining a second set of vectors that correspond to a stored sub-image; and

determining that the first set of vectors and the second set of vectors meet a predetermined similarity threshold.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Aug 3, 2021
From: GOOGLE LLC
To: KYOCERA CORPORATION
Reel/Frame 057651/0445 →
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2014
From: KING, MARTIN T.; GROVER, DALE L.; KUSHLER, CLIFFORD A.; STAFFORD-FRASER, JAMES Q.
To: EXBIBLIO B.V.
Reel/Frame 034268/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2014
From: EXBIBLIO B.V.
To: GOOGLE INC.
Reel/Frame 034268/0519 →
Continuity (77)
Continuation 13961934 · Aug 8, 2013
Continuation 13253632 · Oct 5, 2011
Continuation 12721456 · Mar 10, 2010
Continuation 11210260 · Aug 23, 2005
Continuation In Part 11004637 · Dec 3, 2004
Continuation In Part 11097961 · Apr 1, 2005
Continuation In Part 11097093 · Apr 1, 2005
Continuation In Part 11098038 · Apr 1, 2005
Continuation In Part 11098014 · Apr 1, 2005
Continuation In Part 11097103 · Apr 1, 2005
Continuation In Part 11098043 · Apr 1, 2005
Continuation In Part 11097981 · Apr 1, 2005
Continuation In Part 11097089 · Apr 1, 2005
Continuation In Part 11097835 · Apr 1, 2005
Continuation In Part 11098016 · Apr 1, 2005
Continuation In Part 11097828 · Apr 1, 2005
Continuation In Part 11097833 · Apr 1, 2005
Continuation In Part 11097836 · Apr 1, 2005
Continuation In Part 11098042 · Apr 1, 2005
Continuation In Part 11096704 · Apr 1, 2005
Continuation In Part 11110353 · Apr 19, 2005
Continuation In Part 11131945 · May 17, 2005
Continuation In Part 11185908 · Jul 19, 2005
Continuation In Part 11208408 · Aug 18, 2005
Continuation In Part 11208457 · Aug 18, 2005
Continuation In Part 11208458 · Aug 18, 2005
Continuation In Part 11208461 · Aug 18, 2005
Provisional Application 60604103 · Aug 23, 2004
Provisional Application 60604098 · Aug 23, 2004
Provisional Application 60604100 · Aug 23, 2004
Provisional Application 60604102 · Aug 23, 2004
Provisional Application 60605229 · Aug 27, 2004
Provisional Application 60605105 · Aug 27, 2004
Provisional Application 60613243 · Sep 27, 2004
Provisional Application 60613628 · Sep 27, 2004
Provisional Application 60613632 · Sep 27, 2004
Provisional Application 60613589 · Sep 27, 2004
Provisional Application 60613242 · Sep 27, 2004
Provisional Application 60613602 · Sep 27, 2004
Provisional Application 60613340 · Sep 27, 2004
Provisional Application 60613634 · Sep 27, 2004
Provisional Application 60613461 · Sep 27, 2004
Provisional Application 60613455 · Sep 27, 2004
Provisional Application 60613460 · Sep 27, 2004
Provisional Application 60613400 · Sep 27, 2004
Provisional Application 60613456 · Sep 27, 2004
Provisional Application 60613454 · Sep 27, 2004
Provisional Application 60613339 · Sep 27, 2004
Provisional Application 60613633 · Sep 27, 2004
Provisional Application 60615378 · Oct 1, 2004
Provisional Application 60615112 · Oct 1, 2004
Provisional Application 60615538 · Oct 1, 2004
Provisional Application 60617122 · Oct 7, 2004
Provisional Application 60622906 · Oct 28, 2004
Provisional Application 60633452 · Dec 6, 2004
Provisional Application 60633678 · Dec 6, 2004
Provisional Application 60633486 · Dec 6, 2004
Provisional Application 60633453 · Dec 6, 2004
Provisional Application 60634627 · Dec 9, 2004
Provisional Application 60634739 · Dec 9, 2004
Provisional Application 60647684 · Jan 26, 2005
Provisional Application 60648746 · Jan 31, 2005
Provisional Application 60653372 · Feb 15, 2005
Provisional Application 60653663 · Feb 16, 2005
Provisional Application 60653679 · Feb 16, 2005
Provisional Application 60653847 · Feb 16, 2005
Provisional Application 60654379 · Feb 17, 2005
Provisional Application 60654368 · Feb 18, 2005
Provisional Application 60654326 · Feb 18, 2005
Provisional Application 60654196 · Feb 18, 2005
Provisional Application 60655279 · Feb 22, 2005
Provisional Application 60655280 · Feb 22, 2005
Provisional Application 60655987 · Feb 22, 2005
Provisional Application 60655697 · Feb 22, 2005
Provisional Application 60655281 · Feb 22, 2005
Provisional Application 60657309 · Feb 28, 2005
Related Publication 20150193672A1 · Jul 9, 2015