IP Library Granted Patent US 8,983,190
Granted Patent B2
US 8,983,190 · App. 13/965,351 · Granted Mar 17, 2015

Dynamic service configuration during OCR capture

Inventors: Georgios Katsaros (Apex, NC); Donald Werner Schoppe (Apex, NC); Bryan Anthony VonCannon (Charlotte, NC); Pavan Chayanam (Danville, CA)
Assignee: Bank of America Corporation
G06K9/18G06K9/4604
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,983,190
App. No.
13/965,351
Granted
Mar 17, 2015
Kind
B2
Abstract

Dynamically configuring OCR processing may include determining a device type and determining whether to perform optical character recognition (OCR) processing of the received image locally based on one or more OCR parameters. Example OCR parameters may include the device type, the image type, the size of the received image, the available amount of the memory, the measured/benchmarked throughput of OCR processing on the device relative to an OCR server throughput and network throughput, and/or the current level of network connectivity. If it is determined that OCR processing of the received image should be performed locally, the device may compute one or more name-value pairs corresponding to the received image and transmit the name-value pairs to a remote data server for processing.

Claims (68)

1. An apparatus, comprising:

a user interface operable to receive an image type from a user, the image type corresponding to an image to be photographed;

a camera operable to receive the image;

a memory operable to store the image type and the received image;

a network interface operable to communicate with one or more networks;

a processor communicatively coupled to the user interface, the camera, the memory, and the network interface, the processor operable to determine a device type and determine whether to perform optical character recognition (OCR) processing of the received image locally based on one or more OCR parameters; and

if it is determined to perform OCR processing of the received image locally:

compute one or more name-value pairs corresponding to the received image, wherein computing one or more name-value pairs corresponding to the received image comprises:

extracting text from the received image;

determining the name-value pairs based on the extracted text;

requesting, using the user interface, confirmation of the name-value pairs by the user; and

receiving confirmation of the name-value pairs by the user; and

transmit the name-value pairs to a remote data server for processing.

2. The apparatus of claim 1 , wherein the one or more OCR parameters are selected from the group consisting of: the device type, the image type, a size of the received image, an available amount of the memory, and a current level of network connectivity.

3. The apparatus of claim 1 , wherein determining whether to perform OCR processing of the received image locally based on one or more parameters comprises:

calculating a multiple by which an available amount of the memory is greater than or equal to a size of the received image; and

determining whether to perform the OCR processing of the received image locally based on the calculated multiple and one or more additional OCR parameters, the additional OCR parameters comprising one or more parameters selected from the group consisting of: the device type, the image type, and a current level of network connectivity.

4. The apparatus of claim 3 , wherein determining whether to perform the OCR processing of the received image locally further comprises determining to perform the OCR processing of the received image locally if the calculated multiple is equal to or greater than four and the device type is a predefined supported device.

5. The apparatus of claim 3 , wherein determining whether to perform the OCR processing of the received image locally further comprises determining to perform the OCR processing of the received image locally if the calculated multiple is equal to or greater than two, the device type is a predefined supported device, the image type is a predefined supported image type for local OCR processing, and the current level of network connectivity is less than or equal to a predefined network connectivity threshold for remote OCR processing.

6. The apparatus of claim 1 , wherein if it is determined not to perform OCR processing of the received image locally, the processor is further operable to:

transmit the received image and the image type to a remote OCR server for OCR processing;

receive one or more name-value pairs from the remote OCR server;

request, using the user interface, confirmation of the name-value pairs by the user;

receive confirmation of the name-value pairs by the user; and

transmit the confirmed name-value pairs to the remote data server for processing.

7. The apparatus of claim 6 , wherein the processor is further operable to perform OCR processing of the received image locally if transmission of the received image and the image type to a remote OCR server for processing fails.

8. A method, comprising:

determining a device type;

receiving an image type from the user, the image type corresponding to an image to be photographed;

receiving the image;

determining whether to perform optical character recognition (OCR) processing of the received image locally based on one or more OCR parameters; and

if it is determined to perform OCR processing of the received image locally:

computing one or more name-value pairs corresponding to the received image, wherein computing one or more name-value pairs corresponding to the received image comprises:

extracting text from the received image;

determining the name-value pairs based on the extracted text;

requesting a confirmation of the name-value pairs by the user; and

receiving confirmation of the name-value pairs by the user; and

transmitting the name-value pairs to a remote data server for processing.

9. The method of claim 8 , wherein the one or more OCR parameters are selected from the group consisting of: the device type, the image type, a size of the received image, an available amount of the memory, and a current level of network connectivity.

10. The method of claim 8 , wherein determining whether to perform OCR processing of the received image locally based on one or more parameters comprises:

calculating a multiple by which an available amount of the memory is greater than or equal to a size of the received image; and

determining whether to perform the OCR processing of the received image locally based on the calculated multiple and one or more additional OCR parameters, the additional OCR parameters comprising one or more parameters selected from the group consisting of: the device type, the image type, and a current level of network connectivity.

11. The method of claim 10 , wherein determining whether to perform the OCR processing of the received image locally further comprises determining to perform the OCR processing of the received image locally if the calculated multiple is equal to or greater than four and the device type is a predefined supported device.

12. The method of claim 10 , wherein determining whether to perform the OCR processing of the received image locally further comprises determining to perform the OCR processing of the received image locally if the calculated multiple is equal to or greater than two, the device type is a predefined supported device, the image type is a predefined supported image type for local OCR processing, and the current level of network connectivity is less than or equal to a predefined network connectivity threshold for remote OCR processing.

13. The method of claim 8 , further comprising, if it is determined not to perform OCR processing of the received image locally:

transmitting the received image and the image type to a remote OCR server for OCR processing;

receiving one or more name-value pairs from the remote OCR server;

requesting confirmation of the name-value pairs by the user;

receiving confirmation of the name-value pairs by the user; and

transmitting the confirmed name-value pairs to the remote data server for processing.

14. The method of claim 13 , further comprising performing OCR processing of the received image locally if transmission of the received image and the image type to a remote OCR server for processing fails.

15. A non-transitory computer-readable medium comprising instructions, the instructions operable when executed by a processor to:

determine a device type;

receive an image type from the user, the image type corresponding to an image to be photographed;

receive the image;

determine whether to perform optical character recognition (OCR) processing of the received image locally based on one or more OCR parameters; and

if it is determined to perform OCR processing of the received image locally:

compute one or more name-value pairs corresponding to the received image, wherein computing one or more name-value pairs corresponding to the received image comprises:

extracting text from the received image;

determining the name-value pairs based on the extracted text;

requesting a confirmation of the name-value pairs by the user; and

receiving confirmation of the name-value pairs by the user; and

transmit the name-value pairs to a remote data server for processing.

16. The non-transitory computer-readable medium of claim 15 , wherein determining whether to perform OCR processing of the received image locally based on one or more parameters comprises:

calculating a multiple by which an available amount of the memory is greater than or equal to a size of the received image; and

determining whether to perform the OCR processing of the received image locally based on the calculated multiple and one or more additional OCR parameters, the additional OCR parameters comprising one or more parameters selected from the group consisting of: the device type, the image type, and a current level of network connectivity.

17. The non-transitory computer-readable medium of claim 16 , wherein determining whether to perform the OCR processing of the received image locally further comprises determining to perform the OCR processing of the received image locally if the calculated multiple is equal to or greater than four and the device type is a predefined supported device.

18. The non-transitory computer-readable medium of claim 16 , wherein determining whether to perform the OCR processing of the received image locally further comprises determining to perform the OCR processing of the received image locally if the calculated multiple is equal to or greater than two, the device type is a predefined supported device, the image type is a predefined supported image type for local OCR processing, and the current level of network connectivity is less than or equal to a predefined network connectivity threshold for remote OCR processing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2013
From: KATSAROS, GEORGIOS; SCHOPPE, DONALD WERNER; VONCANNON, BRYAN ANTHONY; CHAYANAM, PAVAN
To: BANK OF AMERICA CORPORATION
Reel/Frame 030996/0743 →
Continuity (1)
Related Publication 20150049947A1 · Feb 19, 2015