IP Library Granted Patent US 10,860,821
Granted Patent B1
US 10,860,821 · App. 15/139,080 · Granted Dec 8, 2020

Barcode disambiguation

Inventors: Adam Moshe Neustein (San Francisco, CA); William Brendel (San Francisco, CA); Pinkee Rasik Patel Gupta (San Mateo, CA); Zur Nehushtan (Mountain View, CA); Sean Niu (San Francisco, CA); Shruti Sheorey (Mountain View, CA); Sunil Ramesh (San Jose, CA)
Assignee: A9.com, Inc.
G06K7/10821G06F16/5854
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 10,860,821
App. No.
15/139,080
Granted
Dec 8, 2020
Kind
B1
Abstract

Because not all companies register or obtain barcodes (or other encodings or identifiers) from a single, consistent source, and because different companies can be associated with the same barcode at different times, there can be multiple products associated with a specific barcode. If a user requests information associated with a specific barcode, information associated with the user or request can be used to attempt to determine the associated product if more than one matching product is uncovered. In some embodiments, a location of a user device at approximately a time of the request can be used to attempt to determine the appropriate product, such as if the user is in a store that only offers one of the potential products. Other information can be used as well, such as past locations, purchase history, viewing patterns, and the like.

Claims (61)

1. A computer-implemented method, comprising:

receiving a two-dimensional (2D) code from an image including a representation of an object at a specific physical location using a computing device, both the object and the computing device being at the specific physical location;

determining two or more objects, of different object types, each associated with the same 2D code, the object types representing specific products for purchase;

determining additional data associated with at least one of the specific physical location, the computing device, or a user of the computing device;

identifying, based at least in part upon the additional data, a selected object of the two or more objects to correspond to the object represented in the image; and

providing, for display on the computing device, information pertaining to the selected object.

2. The computer-implemented method of claim 1 , wherein the representation of the object is contained within image data captured by a camera of the computing device, and further comprising:

determining, from the image data, an image region corresponding to the 2D code; and

determining the 2D code from the image region.

3. The computer-implemented method of claim 2 , wherein the 2D code is represented on the object through a bar code, a QR code, a watermark, or product packaging.

4. The computer-implemented method of claim 1 , wherein the additional data includes location data indicating the specific physical location, and further comprising:

determining, for each respective object of the two or more objects and based at least in part upon the location data, a respective confidence score indicating a likelihood of a respective object being available at the specific physical location;

determining that the respective confidence score for a first object of the two or more objects at least meets a minimum confidence threshold; and

selecting the first object as the selected object.

5. The computer-implemented method of claim 4 , wherein the location data is obtained using at least one of a global positioning system (GPS) component of the computing device, a network connection, signal triangulation, or a detected nearby device.

6. The computer-implemented method of claim 1 , wherein the additional data includes location data indicating the specific physical location, and further comprising:

determining, for each respective object of the two or more objects and based at least in part upon the location data, a respective confidence score indicating a likelihood of a respective object being available at the specific physical location;

determining that the respective confidence score for neither a first object nor a second object of the two or more objects at least meets a minimum confidence threshold; and

providing, for display on the computing device, information for both the first object and the second object.

7. The computer-implemented method of claim 6 , further comprising:

ranking the first object and the second object by the respective confidence scores before providing the information for display.

8. The computer-implemented method of claim 1 , wherein the additional data includes at least one of historical location data, purchase history, viewing history, user profile data, user preference data, group data, other objects identified near the specific physical location, or external appearance data for the object.

9. The computer-implemented method of claim 1 , wherein a first object of the two or more objects is from a first source having registered the 2D code with a identifying entity, and wherein a second object of the two or more objects is from a second source that maintains its own 2D codes.

10. The computer-implemented method of claim 1 , further comprising:

executing a search query against at least one search repository, the search query including the 2D code; and

receiving, from the at least one search repository, identifying information for the two or more objects.

11. A system, comprising:

at least one processor; and

memory storing instructions that, when executed by the at least one processor, cause the system to:

receive, from a computing device, a representation of an identifying encoding being encoded onto an object, at a specific physical location, using an optical machine-readable encoding, both the object and the computing device being at the specific physical location;

determine two or more objects, of different object types, each associated with the same identifying encoding, the object types representing specific products for purchase;

determine additional data associated with at least one of the specific physical location of the object, the computing device having captured the representation, or a user of the computing device;

identify, based at least in part upon the additional data, a selected object of the two or more objects to correspond to the object from which the representation of the identifying encoding was obtained; and

provide, for display on the computing device, information pertaining to the selected object.

12. The system of claim 11 , wherein the representation of the object is contained within image data captured by a camera of the computing device, and wherein the instructions when executed further cause the system to:

determine, from the image data, an image region corresponding to the identifying encoding; and

determine the identifying encoding from the image region using at least one image recognition algorithm.

13. The system of claim 11 , wherein the instructions when executed further cause the system to:

determine, for each respective object of the two or more objects and based at least in part upon the location of each object, a respective confidence score indicating a likelihood of a respective object being available at the location;

determine that the respective confidence score for a first object of the two or more objects at least meets a minimum confidence threshold; and

select the first object as the selected object.

14. The system of claim 13 , wherein the location data is obtained using at least one of a global positioning system (GPS) component of the computing device, a network connection, signal triangulation, or a detected nearby device.

15. The system of claim 11 , wherein the instructions when executed further cause the system to:

determine, for each respective object of the two or more objects and based at least in part upon the location data, a respective confidence score indicating a likelihood of a respective object being available at the specific physical location;

determine that the respective confidence score for neither a first object nor a second object of the two or more objects at least meets a minimum confidence threshold; and

provide, for display on the computing device, information for both the first object and the second object, the first object and the second object being ranked by the respective confidence scores before providing the information for display.

16. The system of claim 11 , wherein the additional data includes at least one of historical location data, purchase history, viewing history, user profile data, user preference data, other objects identified near the specific physical location, or external appearance data for the object.

17. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor of a computing device, cause the computing device to:

receive a two-dimensional (2D) code from an image including a representation of an object at a specific physical location using a computing device, both the object and the computing device being at the specific physical location;

determine two or more objects, of different object types, each associated with the same 2D code, the object types representing specific products for purchase;

determine additional data associated with at least one of the specific physical location, the computing device, or a user of the computing device;

identify, based at least in part upon the additional data, a selected object of the two or more objects to correspond to the object represented in the image; and

provide, for display on the computing device, information pertaining to the selected object.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the representation of the object is contained within image data captured by a camera of the computing device, and wherein the instructions when executed further cause the computing device to:

determine, from the image data, an image region corresponding to the 2D code; and

determine the 2D code from the image region.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the 2D code is represented on the object through a bar code, a QR code, a watermark, or product packaging.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the additional data includes location data indicating the specific physical location, and wherein the instructions when executed further cause the computing device to:

determine, for each respective object of the two or more objects and based at least in part upon the location data, a respective confidence score indicating a likelihood of a respective object being available at the specific physical location;

determine that the respective confidence score for a first object of the two or more objects at least meets a minimum confidence threshold; and

select the first object as the selected object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2024
From: A9.COM, INC.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 069167/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2016
From: NEUSTEIN, ADAM MOSHE; BRENDEL, WILLIAM; GUPTA, PINKEE RASIK PATEL; NUHUSHTAN, ZUR; NIU, SEAN; SHEOREY, SHRUTI; RAMESH, SUNIL
To: A9.COM, INC.
Reel/Frame 038411/0883 →