IP Library Granted Patent US 11,308,144
Granted Patent B2
US 11,308,144 · App. 15/211,492 · Granted Apr 19, 2022

Systems and methods for partitioning search indexes for improved efficiency in identifying media segments

Inventors: Zeev Neumeier (Berkeley, CA); Michael Collette (San Rafael, CA)
Assignee: INSCAPE DATA, INC.
G06F16/41G06F16/61G06F16/71G06K9/00765H04N21/23418H04N21/6582H04N21/8352H04N21/8456
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 11,308,144
App. No.
15/211,492
Granted
Apr 19, 2022
Kind
B2
Abstract

Systems and methods include identifying a media segment of audio or video content. The video segment is identified by deriving data from media content and comparing said data to a reference database in order to identify said video segment. Embodiments of the invention improve the speed and accuracy of the media identification process by advantageously partitioning the indexes in subdivisions where high value reference information is separated from the bulk information, for example.

Claims (54)

1. A system comprising:

one or more processors; and

one or more non-transitory machine-readable storage media containing instructions which when executed on the one or more processors, cause the one or more processors to perform operations including:

receiving a plurality of known media content, wherein the plurality of known media content has associated known content identifiers;

partitioning the known content identifiers associated with the plurality of known media content into a first index and a second index;

separating the first index into one or more first buckets, wherein the first index is separated into the one or more first buckets using the known content identifiers that are in the first index;

separating the second index into one or more second buckets, wherein the second index is separated into the one or more second buckets using the known content identifiers that are in the second index;

receiving unknown content identifiers corresponding to unknown media content being displayed by a media system;

concurrently searching the one or more first buckets and the one or more second buckets for known content identifiers that match the unknown content identifiers;

determining that an amount of known content identifiers in a first bucket of the one or more first buckets is above a threshold;

discarding the first bucket from being searched for known content identifiers based on determining that the amount of known content identifiers in the first bucket is above the threshold;

determining that an amount of known content identifiers in a second bucket of the one or more first buckets is below the threshold;

selecting a known content identifier from the second bucket based on determining that the amount of known content identifiers in the second bucket is below the threshold, wherein the selected known content identifier is associated with known media content of the plurality of known media content; and

identifying the unknown media content as the known media content associated with the selected known content identifier.

2. The system of claim 1 , wherein the known content identifiers associated with the plurality of known media content are partitioned into the first index and the second index using parameters of the known media content.

3. The system of claim 1 , wherein the operations further include:

retrieving contextually targeted data associated with the known media content associated with the selected known content identifier, wherein the contextually targeted data is related to the known media content associated with the selected known content identifier; and

transmitting the contextually targeted data to the media system for display.

4. The system of claim 1 , wherein the unknown content identifiers include pixel data associated with the unknown media content.

5. The system of claim 1 , wherein the unknown content identifiers include audio data associated with the unknown media content.

6. The system of claim 5 , wherein searching the one or more first buckets and the one or more second buckets for the known content identifiers that match the unknown content identifiers includes applying speech recognition techniques to the known media content associated with the known content identifiers in the one or more first buckets and the known media content associated with the known content identifiers in the one or more second buckets.

7. The system of claim 1 , wherein the operations further include:

determining an offset time within the known media content associated with the selected known content identifier using the unknown content identifiers, wherein the offset time corresponds to a time within the unknown media content that is being displayed by the media system.

8. The system of claim 1 , wherein separating the first index into one or more first buckets includes hashing the known content identifiers in the first index, and wherein separating the second index into one or more second buckets includes hashing the known content identifiers in the second index.

9. The system of claim 8 , wherein the operations further include:

normalizing the hashed known content identifiers in the first index; and

normalizing the hashed known content identifiers in the second index.

10. The system of claim 1 , wherein the amount of known content identifiers in the first bucket being above the threshold indicates a high number of false positives.

11. A method comprising:

receiving a plurality of known media content, wherein the plurality of known media content has associated known content identifiers;

partitioning the known content identifiers associated with the plurality of known media content into a first index and a second index;

separating the first index into one or more first buckets, wherein the first index is separated into the one or more first buckets using the known content identifiers that are in the first index;

separating the second index into one or more second buckets, wherein the second index is separated into the one or more second buckets using the known content identifiers that are in the second index;

receiving unknown content identifiers corresponding to unknown media content being displayed by a media system;

concurrently searching the one or more first buckets and the one or more second buckets for known content identifiers that match the unknown content identifiers;

determining that an amount of known content identifiers in a first bucket of the one or more first buckets is above a threshold;

discarding the first bucket from being searched based on determining that the amount of known content identifiers in the first bucket is above the threshold;

determining that an amount of known content identifiers in a second bucket of the one or more first buckets is below the threshold;

selecting a known content identifier from the second bucket based on determining that the amount of known content identifiers in the second bucket is below the threshold, wherein the selected known content identifier is associated with known media content of the plurality of known media content; and

identifying the unknown media content as the known media content associated with the selected known content identifier.

12. The method of claim 11 , wherein the known content identifiers associated with the plurality of known media content are partitioned into the first index and the second index using parameters of the known media content.

13. The method of claim 11 , further comprising:

retrieving contextually targeted data associated with the known media content associated with the selected known content identifier, wherein the contextually targeted data is related to the known media content associated with the selected known content identifier; and

transmitting the contextually targeted data to the media system for display.

14. The method of claim 11 , wherein the unknown content identifiers include pixel data associated with the unknown media content.

15. The method of claim 11 , wherein the unknown content identifiers include audio data associated with the unknown media content.

16. The method of claim 15 , wherein searching the one or more first buckets and the one or more second buckets for the known content identifiers that match the unknown content identifiers includes applying speech recognition techniques to the known media content associated with the known content identifiers in the one or more first buckets and the known media content associated with the known content identifiers in the one or more second buckets.

17. The method of claim 11 , further comprising:

determining an offset time within the known media content associated with the selected known content identifier using the unknown content identifiers, wherein the offset time corresponds to a time within the unknown media content that is being displayed by the media system.

18. The method of claim 11 , wherein separating the first index into one or more first buckets includes hashing the known content identifiers in the first index, and wherein separating the second index into one or more second buckets includes hashing the known content identifiers in the second index.

19. The method of claim 18 , further comprising:

normalizing the hashed known content identifiers in the first index; and

normalizing the hashed known content identifiers in the second index.

20. The method of claim 11 , wherein the amount of known content identifiers in the first bucket being above the threshold indicates a high number of false positives.

Assignments (2)
ENTITY CONVERSION Recorded Jan 17, 2017
From: VIZIO INSCAPE TECHNOLOGIES, LLC
To: INSCAPE DATA, INC.
Reel/Frame 041447/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: NEUMEIER, ZEEV; COLLETTE, MICHAEL
To: VIZIO INSCAPE TECHNOLOGIES, LLC
Reel/Frame 039291/0688 →
Cited By (1)
US 12,526,489