CPC H04N 21/2668 (2013.01) [G06F 16/40 (2019.01); G06F 16/58 (2019.01); G06F 16/71 (2019.01); G06Q 30/02 (2013.01); G06Q 30/0264 (2013.01); G06Q 30/0277 (2013.01); G11B 27/105 (2013.01); G11B 27/28 (2013.01); G11B 27/322 (2013.01); H04H 60/07 (2013.01); H04H 60/27 (2013.01); H04H 60/37 (2013.01); H04H 60/58 (2013.01); H04H 60/59 (2013.01); H04H 60/61 (2013.01); H04H 60/73 (2013.01); H04N 7/162 (2013.01); H04N 9/8205 (2013.01); H04N 9/8227 (2013.01); H04N 9/8715 (2013.01); H04N 21/2353 (2013.01); H04N 21/23418 (2013.01); H04N 21/254 (2013.01); H04N 21/26603 (2013.01); H04N 21/434 (2013.01); H04N 21/435 (2013.01); H04N 21/4331 (2013.01); H04N 21/4394 (2013.01); H04N 21/44008 (2013.01); H04N 21/4622 (2013.01); H04N 21/478 (2013.01); H04N 21/812 (2013.01); H04N 21/835 (2013.01); H04N 21/84 (2013.01); H04N 21/845 (2013.01); H04N 21/8453 (2013.01); H04N 21/8456 (2013.01)] | 24 Claims |
1. A method of generating for display video programs enabling selection of selected media content using time-based metadata, comprising:
extracting, by a server, audio and video features from the video program;
in response to determining that the audio and video features have been previously processed;
updating a database storing an existing time-based metadata file associated with the video program; and
cross referencing the database with an identifier and existing video signature for the selected media content;
in response to determining that the audio and video features have not been previously processed:
identifying, by the server, extracted audio features from the video program using audio processing, where each of the audio features includes corresponding start and stop time codes associated therewith;
identifying, by the server, extracted video features from the video program using visual processing, where each of the video features includes corresponding start and stop time codes associated therewith;
saving, by the server, the extracted audio features and extracted video features in a new time-based metadata file;
storing, by the server, the new time-based metadata file in a database;
transmitting, by the server, via a network, the video program to a video display device which is a separate device from the server that can be accessed by the server via the network;
associating, by the server, the updated database with the time-based metadata file or the new time-based metadata file with the video program, the video program being transmitted to the video display device of an end user without advertisements selected by an advertising distributor;
simultaneous to the transmission by the server of the video program to the video display device, transmitting, by the same server, via a network, the updated database with the time-based metadata file or the new time-based metadata file to an advertising distributor that selects the advertisements based at least in part on the time-based metadata, wherein the advertising distributor is a device that is separate from the server and the video display device that can be accessed by the server via the network;
receiving, by the server, selected advertisements from the advertising distributor; and
generating for display, by the server, the selected advertisements on the video display device targeted and customized for the end user based upon the updated database with the time-based metadata file or the new time-based metadata file provided to the advertising distributor,
wherein the updated database with the time-based metadata file or the new time-based metadata file provides time-coded information about the video program to enable selection of appropriate advertisements for presentment at specific time-code locations within the video program during viewing or playback of the video program by the end user.
|