CA2906192C

Systems and methods for real-time television ad detection using an automated content recognition database

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 programing 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.

CA2906192C, drawing sheet 1
Sheet 1 of 12

Term

7.5 yearsleft in the term

Expires 17 March 2034.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

20 claims: 3 independent, 17 dependent

  1. 1
    What is Claimed is:1. A method, comprising: storing data associated with a plurality of frames of an audiovisual stream, wherein the pixel data is stored in a program content data store;matching data associated with a contiguous sequence of frames of the plurality of frames to a stored segment, wherein the stored segment is previously stored in the program content data store, and wherein the stored segment is matched using a matching threshold;adjusting the matching threshold to a lower matching threshold, wherein the lower matching threshold is associated with returning a higher number of matching frames than the matching threshold;determining a candidate segment from the contiguous sequence of frames based upon the stored segment, wherein determining includes identifying a start point and an end point for the contiguous sequence of frames by comparing data associated with frames in the contiguous sequence of frames with data associated with a corresponding frame in the stored segment, and wherein the data is compared using the lower matching threshold;and removing, from the program content data store, data associated with the candidate segment.
  2. 8
    A system comprising:one or more processors;and a non-transitory computer-readable medium including instructions that, when executed by the one or more processors, cause the one or more processors to: store data associated with a plurality of frames of an audiovisual stream, wherein the data is stored in a program content data store;match data associated with a contiguous sequence of frames of the plurality of frames to a stored segment, wherein the stored segment is previously stored in the program content data store, and wherein the stored segment is matched using a matching threshold;adjust the matching threshold to a lower matching threshold, wherein the lower matching threshold is associated with returning a higher number of matching frames than the matching threshold;determine a candidate segment from the contiguous sequence of frames based upon the stored segment, wherein determining includes identifying a start point and an end point for the contiguous sequence of frames by comparing data associated with frames in the contiguous sequence of frames with data associated with a corresponding frame in the stored segment, and wherein the data is compared using the lower matching threshold;and -32CA 2906192 2019-03-15 remove, from the program content data store, data associated with the candidate segment.
  3. 15
    A computer-program product tangibly embodied in a non-transitory machinereadable storage medium, including instructions that, when executed by the one or more processors, cause the one or more processors to:store data associated with a plurality of frames of an audiovisual stream, wherein the pixel data is stored in a program content data store;match data associated with a contiguous sequence of frames of the plurality of frames to a stored segment, wherein the stored segment is previously stored in the program content data store, and wherein the stored segment is matched using a matching threshold;adjust the matching threshold to a lower matching threshold, wherein the lower matching threshold is associated with returning a higher number of matches than the matching threshold;determine a candidate segment, wherein determining includes identifying a start point and an end point for the contiguous sequence of frames by comparing data associated with frames in the contiguous sequence of frames with data associated with a corresponding frame in the stored segment, and wherein the data is compared using the lower matching threshold;and remove, from the program content data store, data associated with the candidate segment.