IP Library › Granted Patent US 8,805,079
Granted Patent B2
US 8,805,079 · App. 13/309,484 · Granted Aug 12, 2014

Identifying matching canonical documents in response to a visual query and in accordance with geographic information

Inventors: David Petrou (Brooklyn, NY); Ashok C. Popat (Menlo Park, CA); Matthew R. Casey (San Francisco, CA)
Assignee: Google Inc.
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,805,079
App. No.
13/309,484
Granted
Aug 12, 2014
Kind
B2
Abstract

A server system receives a visual query from a client system distinct from the server system. The server system performs optical character recognition (OCR) on the visual query to produce text recognition data representing textual characters, including a plurality of textual characters in a contiguous region of the visual query. The server system scores each textual character in the plurality of textual characters in accordance with the geographic location of the client system. The server system identifies, in accordance with the scoring, one or more high quality textual strings, each comprising a plurality of high quality textual characters from among the plurality of textual characters in the contiguous region of the visual query. Then the server system retrieves a canonical document having the one or more high quality textual strings and sends at least a portion of the canonical document to the client system.

Claims (90)

1. A computer-implemented method of processing a visual query performed by a server system having one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising:

at the server system:

receiving from a client system distinct from the server system a visual query and information identifying a geographic location of the client system;

performing optical character recognition (OCR) on the visual query to produce text recognition data representing textual characters, including a plurality of textual characters in a contiguous region of the visual query;

scoring each textual character in the plurality of textual characters, including scoring each textual character in the plurality of textual characters in accordance with the geographic location of the client system, wherein the scoring of a respective textual character comprises generating a language-conditional character likelihood for the respective textual character indicating how likely the respective textual character and a set of characters that precede the respective textual character in a text segment concord with a language model selected in accordance with the geographic location of the client system;

identifying, in accordance with the scoring, one or more high quality textual strings, each comprising a plurality of high quality textual characters from among the plurality of textual characters in the contiguous region of the visual query;

retrieving a canonical document having the one or more high quality textual strings; and

sending at least a portion of the canonical document to the client system.

2. The method of claim 1 , further comprising:

identifying one or more web results relevant to the visual query and to the geographic location of the client system; and

sending the web results to the client system.

3. The method of claim 2 , wherein identifying the one or more web results relevant to the visual query and to the geographic location of the client system comprises:

identifying a geographic term within the one or more high quality textual strings;

identifying one or more web results associated with both the geographic term and the geographic location of the client system.

4. The method of claim 1 , wherein the portion of the canonical document is an image segment of the canonical document.

5. The method of claim 4 , wherein the image segment presented visually matches text and non-text elements of the visual query.

6. The method of claim 1 , wherein the portion of the canonical document is a machine readable text segment of the canonical document.

7. The method of claim 1 , wherein the identifying high quality strings includes:

scoring a plurality of words each in accordance with the textual character scores of the textual characters comprising a respective word to produce word scores; and

identifying, in accordance with the word scores, one or more high quality textual strings, each comprising a plurality of high quality words.

8. The method of claim 1 , wherein scoring of a respective textual character comprises scoring the respective textual character as either a high quality textual character or a low quality textual character.

9. The method of claim 1 , wherein the scoring of a respective textual character is based on both an OCR quality score of the respective textual character alone and a scoring of one or more neighboring textual characters.

10. The method of claim 1 , wherein the sending includes sending the visual query, a canonical document image segment, and a canonical document machine readable text segment for simultaneous presentation.

11. A method of processing a visual query performed by a server system having one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising:

at the server system:

receiving from a client system distinct from the server system a visual query and information identifying a geographic location of the client system;

performing optical character recognition (OCR) on the visual query to produce text recognition data representing textual characters, including a plurality of textual characters in a contiguous region of the visual query;

scoring each textual character in the plurality of textual characters, including scoring each textual character in the plurality of textual characters in accordance with the geographic location of the client system;

identifying, in accordance with the scoring, one or more high quality textual strings, each comprising a plurality of high quality textual characters from among the plurality of textual characters in the contiguous region of the visual query;

retrieving a canonical document having the one or more high quality textual strings, the retrieving comprising:

calculating a quality score corresponding to at least one respective high quality textual string of the one or more high quality textual strings;

retrieving an image version of the canonical document if the quality score is below a predetermined value; and

retrieving a machine readable text version of the canonical document if the quality score is at or above a predetermined value; and

sending at least a portion of the canonical document to the client system.

12. A server system, for processing a visual query, comprising:

one or more central processing units for executing programs;

memory storing one or more programs be executed by the one or more central processing units;

the one or more programs comprising instructions for:

receiving a visual query from a client system and information identifying a geographic location of the client system;

performing optical character recognition (OCR) on the visual query to produce text recognition data representing textual characters, including a plurality of textual characters in a contiguous region of the visual query;

scoring each textual character in the plurality of textual characters, including scoring each textual character in the plurality of textual characters in accordance with the geographic location of the client system, wherein the scoring of a respective textual character comprises generating a language-conditional character likelihood for the respective textual character indicating how likely the respective textual character and a set of characters that precede the respective textual character in a text segment concord with a language model selected in accordance with the geographic location of the client system;

identifying, in accordance with the scoring, one or more high quality textual strings, each comprising a plurality of high quality textual characters from among the plurality of textual characters in the contiguous region of the visual query;

retrieving a canonical document having the one or more high quality textual strings; and

sending at least a portion of the canonical document to the client system.

13. The system of claim 12 , further comprising instructions for:

identifying one or more web results relevant to the visual query and to the geographic location of the client system; and

sending the web results to the client system.

14. The system of claim 13 , wherein the instructions for identifying one or more web results relevant to the visual query and to the geographic location of the client system comprises instructions for:

identifying a geographic term within the one or more high quality textual strings;

identifying one or more web results associated with both the geographic term and the geographic location of the client system.

15. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions for:

receiving a visual query from a client system and information identifying a geographic location of the client system;

performing optical character recognition (OCR) on the visual query to produce text recognition data representing textual characters, including a plurality of textual characters in a contiguous region of the visual query;

scoring each textual character in the plurality of textual characters, including scoring each textual character in the plurality of textual characters in accordance with the geographic location of the client system, wherein the scoring of a respective textual character comprises generating a language-conditional character likelihood for the respective textual character indicating how likely the respective textual character and a set of characters that precede the respective textual character in a text segment concord with a language model selected in accordance with the geographic location of the client system;

identifying, in accordance with the scoring, one or more high quality textual strings, each comprising a plurality of high quality textual characters from among the plurality of textual characters in the contiguous region of the visual query;

retrieving a canonical document having the one or more high quality textual strings; and

sending at least a portion of the canonical document to the client system.

16. The computer readable storage medium of claim 15 , further comprising instructions for:

identifying one or more web results relevant to the visual query and to the geographic location of the client system; and

sending the web results to the client system.

17. The computer readable storage medium of claim 16 , wherein the instructions for identifying one or more web results relevant to the visual query and to the geographic location of the client system comprises instructions for:

identifying a geographic term within the one or more high quality textual strings;

identifying one or more web results associated with the geographic term in accordance with the geographic location of the client system.

18. The method of claim 1 , wherein the retrieving a canonical document further includes:

calculating a quality score corresponding to at least one respective high quality textual string of the one or more high quality textual strings;

retrieving an image version of the canonical document if the quality score is below a predetermined value; and

retrieving a machine readable text version of the canonical document if the quality score is at or above a predetermined value.

19. A server system, for processing a visual query, comprising:

one or more central processing units for executing programs;

memory storing one or more programs be executed by the one or more central processing units;

the one or more programs comprising instructions for:

receiving from a client system distinct from the server system a visual query and information identifying a geographic location of the client system;

performing optical character recognition (OCR) on the visual query to produce text recognition data representing textual characters, including a plurality of textual characters in a contiguous region of the visual query;

scoring each textual character in the plurality of textual characters, including scoring each textual character in the plurality of textual characters in accordance with the geographic location of the client system;

identifying, in accordance with the scoring, one or more high quality textual strings, each comprising a plurality of high quality textual characters from among the plurality of textual characters in the contiguous region of the visual query;

retrieving a canonical document having the one or more high quality textual strings, the retrieving comprising:

calculating a quality score corresponding to at least one respective high quality textual string of the one or more high quality textual strings;

retrieving an image version of the canonical document if the quality score is below a predetermined value; and

retrieving a machine readable text version of the canonical document if the quality score is at or above a predetermined value; and

sending at least a portion of the canonical document to the client system.

20. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions for:

receiving from a client system distinct from the server system a visual query and information identifying a geographic location of the client system;

performing optical character recognition (OCR) on the visual query to produce text recognition data representing textual characters, including a plurality of textual characters in a contiguous region of the visual query;

scoring each textual character in the plurality of textual characters, including scoring each textual character in the plurality of textual characters in accordance with the geographic location of the client system;

identifying, in accordance with the scoring, one or more high quality textual strings, each comprising a plurality of high quality textual characters from among the plurality of textual characters in the contiguous region of the visual query;

retrieving a canonical document having the one or more high quality textual strings, the retrieving comprising:

calculating a quality score corresponding to at least one respective high quality textual string of the one or more high quality textual strings;

retrieving an image version of the canonical document if the quality score is below a predetermined value; and

retrieving a machine readable text version of the canonical document if the quality score is at or above a predetermined value; and

sending at least a portion of the canonical document to the client system.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044277/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2012
From: PETROU, DAVID; POPAT, ASHOK C.; CASEY, MATTHEW R.
To: GOOGLE INC.
Reel/Frame 028092/0171 →
Continuity (11)
Continuation In Part 12852189 · Aug 6, 2010
Provisional Application 61418842 · Dec 1, 2010
Provisional Application 61266125 · Dec 2, 2009
Provisional Application 61266116 · Dec 2, 2009
Provisional Application 61266122 · Dec 2, 2009
Provisional Application 61266126 · Dec 2, 2009
Provisional Application 61266130 · Dec 2, 2009
Provisional Application 61266133 · Dec 2, 2009
Provisional Application 61266499 · Dec 3, 2009
Provisional Application 61370784 · Aug 4, 2010
Related Publication 20120134590A1 · May 31, 2012