IP Library Granted Patent US 10,650,241
Granted Patent B2
US 10,650,241 · App. 15/291,002 · Granted May 12, 2020

Systems and methods for identifying matching content

Inventors: Sergiy Bilobrov (Santa Clara, CA); Eran Ambar (Sunnyvale, CA)
Assignee: Facebook, Inc.
G06K9/00744G06F16/2228G06F16/2237G06F16/2255G06F16/2455G06F16/71G06F16/783G06F16/785G06K9/00751G06K9/4604G06K9/4633G06K9/4652G06K9/4671H04N21/2187H04N21/233H04N21/23418H04N21/8358
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,650,241
App. No.
15/291,002
Granted
May 12, 2020
Kind
B2
Abstract

Systems, methods, and non-transitory computer-readable media can generate at least one fingerprint based on a set of frames corresponding to a test content item, generate a set of distorted fingerprints using at least a portion of the fingerprint, and determine one or more reference content items using the set of distorted fingerprints, wherein the test content item is evaluated against at least one reference content item to identify matching content.

Claims (44)

1. A computer-implemented method comprising:

generating, by a computing system, at least one fingerprint based on a set of frames corresponding to a test content item;

generating, by the computing system, a set of distorted fingerprints using at least a portion of the fingerprint, wherein the generating the set of distorted fingerprints further comprises:

obtaining, by the computing system, a set of bits corresponding to a frame in the set of frames from which the fingerprint was generated, wherein the set of bits comprise an index portion and a remaining portion; and

generating, by the computing system, a set of binary string permutations for at least some bits of the index portion, wherein the generating the set of binary string permutations further comprises;

generating, by the computing system, a first set of binary string permutations for the index portion of the set of bits, wherein a first number of bits are permuted, wherein the first number is a value that is at least one,

determining, by the computing system, that no reference content items were identified using the first set of binary string permutations, and generating, by the computing system, when no reference content items were identified, a second set of binary string permutations for the index portion of the set of bits, wherein a second number of bits, greater than the first number of bits, are permuted; and

determining, by the computing system, one or more reference content items using the set of distorted fingerprints, wherein the test content item is evaluated against at least one reference content item to identify matching content.

2. The computer-implemented method of claim 1 , wherein determining one or more reference content items using the set of distorted fingerprints further comprises: obtaining, by the computing system, a set of bits corresponding to a first distorted fingerprint; identifying, by the computing system, at least one candidate frame based at least in part on the index portion of the set of bits; and determining, by the computing system, at least one reference content item based on the candidate frame.

3. The computer-implemented method of claim 2 , wherein identifying at least one candidate frame based at least in part on the index portion of the set of bits further comprises: hashing, by the computing system, the index portion of the set of bits to a bin in an inverted index, wherein the bin references information describing the at least one candidate frame and the reference content item.

4. The computer-implemented method of claim 1 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further comprises: determining, by the computing system, that identifying reference content items using the set of distorted fingerprints will not cause a central processing unit (CPU) load of the computing system to exceed a threshold load.

5. The computer-implemented method of claim 1 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further comprises: determining, by the computing system, that no reference content items were identified using the at least one fingerprint.

6. The computer-implemented method of claim 1 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further comprises: determining, by the computing system, at least one reference content item using the at least one fingerprint; and determining, by the computing system, that no matches between the test content item and the reference content item were identified.

7. The computer-implemented method of claim 1 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further comprises: determining, by the computing system, at least one reference content item using the at least one fingerprint; and determining, by the computing system, that a match between the test content item and the reference content item is within a threshold match distance.

8. A system comprising:

at least one processor; and

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

generating at least one fingerprint based on a set of frames corresponding to a test content item;

generating a set of distorted fingerprints using at least a portion of the fingerprint, wherein the generating the set of distorted fingerprints further comprises:

obtaining a set of bits corresponding to a frame in the set of frames from which the fingerprint was generated, wherein the set of bits comprise an index portion and a remaining portion; and

generating a set of binary string permutations for at least some bits of the index portion of the set of bits, wherein the generating the set of binary string permutations further comprises:

generating a first set of binary string permutations for the index portion of the set of bits, wherein a first number of bits are permuted, wherein the first number is at least a value that is one;

determining that no reference content items were identified using the first set of binary string permutations; and

generating when no reference content items were identified, a second set of binary string permutations for the index portion of the set of bits, wherein a second number of bits, greater than the first number of bits, are permuted; and

determining one or more reference content items using the set of distorted fingerprints, wherein the test content item is evaluated against at least one reference content item to identify matching content.

9. The system of claim 8 , wherein determining one or more reference content items using the set of distorted fingerprints further causes the system to perform: obtaining a set of bits corresponding to a first distorted fingerprint; identifying at least one candidate frame based at least in part on the index portion of the set of bits; and determining at least one reference content item based on the candidate frame.

10. The system of claim 9 , wherein identifying at least one candidate frame based at least in part on the index portion of the set of bits further causes the system to perform: hashing the index portion of the set of bits to a bin in an inverted index, wherein the bin references information describing the at least one candidate frame and the reference content item.

11. The system of claim 8 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further causes the system to perform: determining that identifying reference content items using the set of distorted fingerprints will not cause a central processing unit (CPU) load of the computing system to exceed a threshold load.

12. The system of claim 8 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further causes the system to perform: determining that no reference content items were identified using the at least one fingerprint.

13. The system of claim 8 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further causes the system to perform: determining at least one reference content item using the at least one fingerprint; and determining that a match between the test content item and the reference content item is within a threshold match distance.

14. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:

generating at least one fingerprint based on a set of frames corresponding to a test content item;

generating a set of distorted fingerprints using at least a portion of the fingerprint, wherein the generating the set of distorted fingerprints further comprises:

obtaining a set of bits corresponding to a frame in the set of frames from which the fingerprint was generated, wherein the set of bits comprise an index portion and a remaining portion; and

generating a set of binary string permutations for at least some bits of the index portion of the set of bits, wherein the generating the set of binary string permutations further comprises:

generating a first set of binary string permutations for the index portion of the set of bits, wherein a first number of bits are permuted, wherein the first number is at least a value that is one,

determining that no reference content items were identified using the first set of binary string permutations, and

generating when no reference content items were identified, a second set of binary string permutations for the index portion of the set of bits, wherein a second number of bits, greater than the first number of bits, are permuted; and

determining one or more reference content items using the set of distorted fingerprints, wherein the test content item is evaluated against at least one reference content item to identify matching content.

15. The non-transitory computer-readable storage medium of claim 14 , wherein determining one or more reference content items using the set of distorted fingerprints further causes the computing system to perform: obtaining a set of bits corresponding to a first distorted fingerprint; identifying at least one candidate frame based at least in part on a portion of the set of bits; and determining at least one reference content item based on the candidate frame.

16. The non-transitory computer-readable storage medium of claim 15 , wherein identifying at least one candidate frame based at least in part on the index portion of the set of bits further comprises: hashing the index portion of the set of bits to a bin in an inverted index, wherein the bin references information describing the at least one candidate frame and the reference content item.

17. The non-transitory computer-readable storage medium of claim 14 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further causes the computing system to perform: determining that identifying reference content items using the set of distorted fingerprints will not cause a central processing unit (CPU) load of the computing system to exceed a threshold load.

18. The non-transitory computer-readable storage medium of claim 14 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further causes the computing system to perform: determining that no reference content items were identified using the at least one fingerprint.

19. The non-transitory computer-readable storage medium of claim 14 , wherein generating the set of distorted fingerprints using at least a portion of the fingerprint further causes the computing system to perform: determining at least one reference content item using the at least one fingerprint; and determining that a match between the test content item and the reference content item is within a threshold match distance.

Assignments (3)
CHANGE OF NAME Recorded Dec 1, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058294/0384 →
CONFIDENTIAL INFORMATION AND INVENTION ASSIGNMENT AGREEMENT Recorded Dec 12, 2019
From: AMBAR, ERAN
To: FACEBOOK, INC.
Reel/Frame 051283/0885 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2016
From: BILOBROV, SERGIY
To: FACEBOOK, INC.
Reel/Frame 040154/0214 →
Continuity (2)
Provisional Application 62355043 · Jun 27, 2016
Related Publication 20170371962A1 · Dec 28, 2017