Video advertising insertion using multiple processes
Abstract
A system for video advertising insertion is presented. In one example, the system includes a transport stream interface to receive multiple video program channels in at least one first video transport stream. The system also includes at least one hardware processor that executes a host process to initiate a plurality of instance processes to execute concurrently, wherein each of the instance processes is assigned a distinct subset of the channels. Each of the instance processes analyzes the at least one first video transport stream to determine advertisement insertion points of the distinct subset of the channels, and inserts at least some of the plurality of video advertisements into the distinct subset of the channels based on the advertisement insertion points and an advertising schedule. The transport stream interface is also to transmit the channels with the inserted video advertisements in at least one second video transport stream.
Claims
exact text as granted — not AI-modified1 . A system for video advertising insertion, the system comprising:
a transport stream interface to receive multiple video program channels in at least one first video transport stream; a network interface to access an advertising schedule and a plurality of video advertisements; at least one hardware processor; and memory comprising instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to execute a host process to initiate a plurality of instance processes to execute concurrently, each of the instance processes being assigned a distinct subset of the multiple video program channels, each of the instance processes comprising:
a transport stream analysis module to analyze the at least one first video transport stream to determine advertisement insertion points of the distinct subset of the multiple video program channels; and
a video advertisement insertion module to insert at least some of the plurality of video advertisements into the distinct subset of the multiple video program channels based on the advertisement insertion points and the advertising schedule;
the transport stream interface to transmit the multiple video program channels with the inserted video advertisements in at least one second video transport stream.
2 . A method of inserting video advertising, comprising:
receiving multiple video program channels in at least one first video transport stream; accessing an advertising schedule and a plurality of video advertisements; executing a host process on at least one hardware processor, the host process to initiate a plurality of instance processes to execute concurrently on the at least one hardware processor, each of the instance processes being assigned a distinct subset of the multiple video program channels, each of the instance processes to:
determine advertisement insertion points of the distinct subset of the multiple video program channels; and
insert at least some of the plurality of video advertisements into the distinct subset of the multiple video program channels based on the advertisement insertion points and the advertising schedule; and
transmitting the multiple video program channels with the inserted video advertisements in at least one second video transport stream.
3 . A method of multimedia insertion comprising:
receiving an input data stream over a network at a transport stream interface, the input data stream comprising a plurality of media program channels; executing a host process on at least one hardware processor, the host process to initiate a plurality of instance processes to execute concurrently on the at least one hardware processor, each of the instance processes being assigned a distinct subset of the plurality of media program channels, each of the instance processes to:
analyze the input data stream to determine an insertion point of the assigned distinct subset of the plurality of media program channels; and
insert media data into the input data stream based on the insertion point; and
transmitting an output data stream comprising the plurality of media program channels with the inserted media data.
4 . The method of claim 1 further comprising:
accessing the media data from a data storage unit, wherein the data storage unit is a server accessed through a network interface.
5 . The method of claim 1 wherein the plurality of media program channels each comprise video data and the media data comprises video data.
6 . The method of claim 1 wherein the plurality of media program channels each comprise audio data and the media data comprises audio data.
7 . The method of claim 1 wherein the media data comprise both video data and audio data.
8 . The method of claim 2 further comprising:
retrieving an insertion schedule from the data storage unit, the insertion schedule comprising at least one rule for insertion of the media data into the input data stream.
9 . The method of claim 6 wherein the at least one rule for insertion of the media data into the input data stream comprises a day and time for insertion of the media data.
10 . The method of claim 1 wherein insertion of the media data into the input data stream comprises replacing a portion of the input data stream with the media data.
11 . The method of claim 1 further comprising:
de-multiplexing the input data stream into the plurality of media program channels; and
multiplexing the plurality of media program channels into the output data stream.
12 . The method of claim 1 wherein the host process and the plurality of instance processes operate within the Microsoft® Windows® .NET Framework.
13 . The method of claim 10 wherein each of the instance processes further de-allocate memory allocated for use by the instance process.
14 . The method of claim 10 wherein at least one of the plurality of instance processes comprises a plurality of execution threads to execute concurrently within the at least one of the plurality of instance processes, the plurality of execution threads to analyze the input data stream and insert the media data.
15 . The method of claim 1 wherein the input stream and the output stream each comprise Motion Picture Experts Group 2 (MPEG-2) data or MPEG-4 data, and wherein analyzing the input data stream to determine an insertion point of the assigned distinct subset of the plurality of media program channels comprises detecting digital program insertion (DPI) packets within the input data stream.
16 . A system for insertion in a data stream, the system comprising:
a transport stream interface receiving an input data stream comprising a plurality of media program channels; at least one hardware processor; and a non-transitory data storage unit storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to:
de-multiplex the input data stream into the plurality of media program channels;
initiate a plurality of instance processes to execute concurrently with each of the instance processes being assigned at least one of the plurality of media program channels of the input data stream, the instructions further causing each of the instance processes to instantiate:
an input stream analysis module to analyze the input data stream to determine an insertion point of the assigned at least one of the plurality of media program channels; and
an insertion module to insert media data into the input data stream based on the insertion point; and
multiplex the plurality of media program channels into an output data stream, the transport stream interface transmitting the output data stream comprising the plurality of media program channels with the inserted media data.
17 . The system of claim 14 further comprising:
a network interface in communication with a server providing the media data.
18 . The system of claim 14 wherein the plurality of media program channels each comprise video data and the media data comprises video data.
19 . The system of claim 14 wherein the plurality of media program channels each comprise audio data and the media data comprises audio data.
20 . The system of claim 14 wherein the media data comprises both video data and audio data.
21 . The system of claim 14 wherein the host process and the plurality of instance processes operate within the Microsoft® Windows® .NET Framework.
22 . The system of claim 14 wherein at least one of the plurality of instance processes further instantiates a memory management module to de-allocate memory allocated for use by the at least one of the plurality of instance processes.Join the waitlist — get patent alerts
Track US2017214950A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.