Systems and methods for partitioning search indexes for improved efficiency in identifying media segments
Systems and methods for identifying a media segment of audio or video content are described. 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.
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 set of known media content, wherein the set of known media content includes associated known content identifiers;
partitioning the known content identifiers associated with the set of known media content into a set of indexes;
discarding, in response to determining that a first index of the set of indexes is full, the first index from the set of indexes;
combining two or more of the remaining indexes of the set of indexes into a single combined index, wherein the single combined index excludes the first index;
receiving an unknown content identifier corresponding to unknown media content being displayed by a media system;
matching, using the single combined index, the unknown content identifier corresponding to the unknown media content to a known content identifier associated with known media content; and
identifying the unknown media content as the known media content associated with the known content identifier.
2. The system of claim 1 , wherein partitioning the known content identifiers associated with the set of known media content into the set of indexes is based on 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 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 identifier includes pixel data associated with the unknown media content.
5. The system of claim 1 , wherein the unknown content identifier includes audio data associated with the unknown media content.
6. The system of claim 1 , wherein the known content identifiers are hashed before being indexed.
7. The system of claim 1 , wherein the operations further include:
determining an offset time within the known media content associated with the known content identifier using the unknown content identifier, wherein the offset time corresponds to a time within the unknown media content that is being displayed by the media system.
8. A computer-implemented method comprising:
receiving a set of known media content, wherein the set of known media content includes associated known content identifiers;
partitioning the known content identifiers associated with the set of known media content into a set of indexes;
discarding, in response to determining that a first index of the set of indexes is full, the first index from the set of indexes;
combining two or more of the remaining indexes of the set of indexes into a single combined index, wherein the single combined index excludes the first index;
receiving an unknown content identifier corresponding to unknown media content being displayed by a media system;
matching, using the single combined index, the unknown content identifier corresponding to the unknown media content to a known content identifier associated with known media content; and
identifying the unknown media content as the known media content associated with the known content identifier.
9. The computer-implemented method of claim 8 , wherein partitioning the known content identifiers associated with the set of known media content into the set of indexes is based on parameters of the known media content.
10. The computer-implemented method of claim 8 , further comprising:
retrieving contextually targeted data associated with the known media content associated with the known content identifier; and
transmitting the contextually targeted data to the media system for display.
11. The computer-implemented method of claim 8 , wherein the unknown content identifier includes pixel data associated with the unknown media content.
12. The computer-implemented method of claim 8 , wherein the unknown content identifier includes audio data associated with the unknown media content.
13. The computer-implemented method of claim 8 , wherein the known content identifiers are hashed before being indexed.
14. The computer-implemented method of claim 8 , further comprising:
determining an offset time within the known media content associated with the known content identifier using the unknown content identifier, wherein the offset time corresponds to a time within the unknown media content that is being displayed by the media system.
15. A non-transitory machine-readable storage medium containing instructions which when executed on one or more processors, cause the one or more processors to perform operations including:
receiving a set of known media content, wherein the set of known media content includes associated known content identifiers;
partitioning the known content identifiers associated with the set of known media content into a set of indexes;
discarding, in response to determining that a first index of the set of indexes is full, the first index from the set of indexes;
combining two or more of the remaining indexes of the set of indexes into a single combined index, wherein the single combined index excludes the first index;
receiving an unknown content identifier corresponding to unknown media content being displayed by a media system;
matching, using the single combined index, the unknown content identifier corresponding to the unknown media content to a known content identifier associated with known media content; and
identifying the unknown media content as the known media content associated with the known content identifier.
16. The non-transitory machine-readable storage medium of claim 15 , wherein the operations further include:
retrieving contextually targeted data associated with the known media content associated with the known content identifier; and
transmitting the contextually targeted data to the media system for display.
17. The non-transitory machine-readable storage medium of claim 15 , wherein the unknown content identifier includes pixel data associated with the unknown media content.
18. The non-transitory machine-readable storage medium of claim 15 , wherein the unknown content identifier includes audio data associated with the unknown media content.
19. The non-transitory machine-readable storage medium of claim 15 , wherein the known content identifiers are hashed before being indexed.
20. The non-transitory machine-readable storage medium of claim 15 , wherein the operations further include:
determining an offset time within the known media content associated with the known content identifier using the unknown content identifier, wherein the offset time corresponds to a time within the unknown media content that is being displayed by the media system.