ADVERTISEMENT INSERTION FOR VIDEO
Methods for performing ad insertion prior to performing statistical multiplexing on one or more digital video streams including programs are disclosed. Select coded frames of a program and an advertisement are decoded and re-encoded at a predetermine bit rate to obtain a revised program representing the original program with the advertisement inserted at a select time.
1 . A method comprising:
receiving a first video stream including coded frames of a first program;
receiving a second video stream including coded frames of a second program;
decoding select coded frames of the first program to obtain a first set of pixel level pictures;
decoding select coded frames of the second program to obtain a second set of pixel level pictures;
combining the first set of pixel level pictures and the second set of pixel level pictures to obtain a third set of pixel level pictures; and
encoding at a predetermined bit rate the third set of pixel level pictures to obtain a third program.
2 . The method of claim 1 wherein decoding select coded frames of the first program to obtain a first set of pixel level pictures comprises decoding each coded frame of the first program where the presentation time stamp of the coded frame is less than a first time and greater than or equal to a second time.
3 . The method of claim 2 wherein decoding select coded frames of the second program to obtain a second set of pixel level pictures comprises decoding each coded frame of the second program where the presentation time stamp of the coded frame is greater than or equal to the first time and less than the second time.
4 . The method of claim 3 wherein the third set of pixel level pictures comprises the first set of pixel level pictures corresponding to the coded frames of the first program where the presentation time stamp of the coded frames are less than the first time followed by the second set of pixel level pictures corresponding to the coded frames of the second program where the presentation time stamp of the coded frames are greater than or equal to the first time and less than the second time followed by the first set of pixel level pictures corresponding to the coded frames of the first program where the presentation time stamp of the coded frames are greater than or equal to the second time.
5 . The method of claim 1 wherein the second program is an advertisement.
6 . The method of claim 1 wherein the first video stream is either a single program transport stream or a multiple program transport stream as defined in the MPEG-2 standard.
7 . The method of claim 1 wherein the predetermined bit rate is determined based on statistical multiplexing.
8 . A computer-readable medium having embodied thereon a computer program, the computer program comprising:
one or more first code segments operable to receive a first video stream including coded frames of a first program and decode select coded frames of the first program to obtain a first set of pixel level pictures;
one or more second code segments operable to receive a second video stream including coded frames of a second program and decode select coded frames of the second program to obtain a second set of pixel level pictures;
one or more third code segments operable to combine the first set of pixel level pictures and the second set of pixel level pictures to obtain a third set of pixel level pictures; and
one or more fourth code segments operable to encode at a predetermined bit rate the third set of pixel level pictures to obtain a third program
9 . The computer-readable medium of claim 8 wherein the one or more first code segments are operable to decode each coded frame of the first program where the presentation time stamp of the coded frame is less than a first time and greater than or equal to a second time.
10 . The computer-readable medium of claim 8 wherein the one or more second code segments are operable to decode each coded frame of the second program where the presentation time stamp of the coded frame is greater than or equal to the first time and less than the second time.
11 . A system comprising:
a splicer operable to receive a first program and a second program and select a first set of coded frames of the first program and a second set of coded frames of the second program and transmit to the transcoder; and
a transcoder operable to decode the first set of coded frames to obtain a first set of pixel level pictures and the second set of coded frames to obtain a second set of pixel level pictures and operable to combine the first set of pixel level pictures and the second set of pixel level pictures to obtain a third set of pixel level pictures and operable to encode at a predetermined bit rate the first set of pixel level pictures and the second set of pixel level pictures to obtain a third program.
12 . A system comprising:
means for receiving a first video stream including coded frames of a first program;
means for receiving a second video stream including coded frames of a second program;
means for decoding select coded frames of the first program to obtain a first set of pixel level pictures;
means for decoding select coded frames of the second program to obtain a second set of pixel level pictures; and
means for combining the first set of pixel level pictures and the second set of pixel level pictures to obtain a third set of pixel level pictures; and
means for encoding at a predetermined bit rate the third set of pixel level pictures to obtain a third program.
13 . The system of claim 12 wherein means for decoding select coded frames of the first program to obtain a first set of pixel level pictures comprises means for decoding each coded frame of the first program where the presentation time stamp of the coded frame is less than a first time and greater than or equal to a second time.
14 . The method of claim 12 wherein means for decoding select coded frames of the second program to obtain a second set of pixel level pictures comprises means for decoding each coded frame of the second program where the presentation time stamp of the coded frame is greater than or equal to the first time and less than the second time.