Systems and methods for real-time television ad detection using an automated content recognition database
First Claim
1. A method, comprising:
- ingesting at least one audiovisual stream, including at least storing at least some data associated with one or more frames of the audiovisual stream into a data store of program content;
determining a candidate segment, the candidate segment including at least one or more sequential frames from the at least one ingested audiovisual stream, including at least;
adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a lower returned number of suspects;
matching the candidate segment with one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold; and
if the candidate segment matches the one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold, determining starting and ending points of the candidate segment, including at least;
adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a higher returned number of suspects;
comparing one or more indications associated with each frame in the candidate segment with one or more indications associated with a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, the comparing based at least partially on the adjusted at least one threshold; and
testing for inconsistencies between each frame in the candidate segment and a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, based at least partially on the comparing; and
testing the determined candidate segment for at least one match in a data store of known advertisements and, if testing the candidate segment returns at least one match in the data store of known advertisements, at least removing at least some data associated with the candidate segment from the data store of program content,wherein at least one of the ingesting, determining, or testing is at least partially implemented using at least one processing device.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for the automated real-time detection and processing of commercial messages, public service announcements or similar short-duration, repeated TV programming segments occurring in one or more broadcast video steams is described. A process is utilized that identifies possible commercial segments by identifying discrete video segments that have specific short durations among other attributes. Video segments that appear to have these characteristics are considered likely to be television commercials, promotions, or public service announcements and are stored in a TV Ad database which is separate from the primary television content database. Incoming video from a plurality of television programming sources is process into fingerprints and placed in a master TV content database. At the same time, said incoming programming is tested for matches in a TV ad database. If a match is found, then the presumed TV ad is removed from the master content database.
72 Citations
26 Claims
-
1. A method, comprising:
-
ingesting at least one audiovisual stream, including at least storing at least some data associated with one or more frames of the audiovisual stream into a data store of program content; determining a candidate segment, the candidate segment including at least one or more sequential frames from the at least one ingested audiovisual stream, including at least; adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a lower returned number of suspects; matching the candidate segment with one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold; and if the candidate segment matches the one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold, determining starting and ending points of the candidate segment, including at least; adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a higher returned number of suspects; comparing one or more indications associated with each frame in the candidate segment with one or more indications associated with a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, the comparing based at least partially on the adjusted at least one threshold; and testing for inconsistencies between each frame in the candidate segment and a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, based at least partially on the comparing; and testing the determined candidate segment for at least one match in a data store of known advertisements and, if testing the candidate segment returns at least one match in the data store of known advertisements, at least removing at least some data associated with the candidate segment from the data store of program content, wherein at least one of the ingesting, determining, or testing is at least partially implemented using at least one processing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product, comprising:
at least one non-transitory computer-readable medium including at least; one or more instructions for ingesting at least one audiovisual stream, including at least storing at least some data associated with one or more frames of the audiovisual stream into a data store of program content; one or more instructions for determining a candidate segment, the candidate segment including at least one or more sequential frames from at least one ingested audiovisual stream, including at least; one or more instructions for adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a lower returned number of suspects; one or more instructions for matching the candidate segment with one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold; and one or more instructions for if the candidate segment matches the one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold, determining starting and ending points of the candidate segment, including at least; one or more instructions for adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a higher returned number of suspects; one or more instructions for comparing one or more indications associated with each frame in the candidate segment with one or more indications associated with a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, the comparing based at least partially on the adjusted at least one threshold; and one or more instructions for testing for inconsistencies between each frame in the candidate segment and a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, based at least partially on the comparing; and one or more instructions for testing a determined candidate segment for at least one match in a data store of known advertisements and, if testing the candidate segment returns at least one match in the data store of known advertisements, at least removing at least some data associated with the candidate segment from the data store of program content. - View Dependent Claims (20)
-
21. A system, comprising:
-
circuitry for ingesting at least one audiovisual stream, including at least storing at least some data associated with one or more frames of the audiovisual stream into a data store of program content; circuitry for determining a candidate segment, the candidate segment including at least one or more sequential frames from at least one ingested audiovisual stream, including at least; circuitry for adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a lower returned number of suspects; circuitry for matching the candidate segment with one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold; and circuitry for, if the candidate segment matches the one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold, determining starting and ending points of the candidate segment, including at least; circuitry for adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a higher returned number of suspects; circuitry for comparing one or more indications associated with each frame in the candidate segment with one or more indications associated with a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, the comparing based at least partially on the adjusted at least one threshold; and circuitry for testing for inconsistencies between each frame in the candidate segment and a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, based at least partially on the comparing; and circuitry for testing a determined candidate segment for at least one match in a data store of known advertisements and, if testing the candidate segment returns at least one match in the data store of known advertisements, at least removing at least some data associated with the candidate segment from the data store of program content. - View Dependent Claims (22)
-
-
23. A system, comprising:
-
means for ingesting at least one audiovisual stream, including at least storing at least some data associated with one or more frames of the audiovisual stream into a data store of program content; means for determining a candidate segment, the candidate segment including at least one or more sequential frames from at least one ingested audiovisual stream, including at least; means for adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a lower returned number of suspects; means for matching the candidate segment with one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold; and means for, if the candidate segment matches the one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold, determining starting and ending points of the candidate segment, including at least; means for adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a higher returned number of suspects; means for comparing one or more indications associated with each frame in the candidate segment with one or more indications associated with a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, the comparing based at least partially on the adjusted at least one threshold; and means for testing for inconsistencies between each frame in the candidate segment and a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, based at least partially on the comparing; and means for testing a determined candidate segment for at least one match in a data store of known advertisements and, if testing the candidate segment returns at least one match in the data store of known advertisements, at least removing at least some data associated with the candidate segment from the data store of program content, wherein at least one of the means for ingesting, means for determining, or means for testing is at least partially implemented using computing hardware. - View Dependent Claims (24)
-
-
25. A system, comprising:
-
one or more computing devices; and at least some instructions which executed on at least one of the one or more computing devices, cause at least one of the one or more computing devices to at least; ingest at least one audiovisual stream, including at least storing at least some data associated with one or more frames of the audiovisual stream into a data store of program content; determine a candidate segment, the candidate segment including at least one or more sequential frames from at least one ingested audiovisual stream, including at least; adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a lower returned number of suspects; matching the candidate segment with one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold; and if the candidate segment matches the one or more contiguous sequences of frames previously stored in the data store based at least partially on the adjusted at least one threshold, determining starting and ending points of the candidate segment, including at least; adjusting at least one threshold associated with matching, the adjusted at least one threshold associated with a higher returned number of suspects; comparing one or more indications associated with each frame in the candidate segment with one or more indications associated with a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, the comparing based at least partially on the adjusted at least one threshold; and testing for inconsistencies between each frame in the candidate segment and a corresponding frame in the one or more contiguous sequences of frames previously stored in the data store, based at least partially on the comparing; and test a determined candidate segment for at least one match in a data store of known advertisements and, if testing the candidate segment returns at least one match in the data store of known advertisements, at least removing at least some data associated with the candidate segment from the data store of program content. - View Dependent Claims (26)
-
Specification