Patent ID: 7477692

Claim:
A method of temporarily replacing video content from a first encoded video transport stream with video content from a second encoded video transport stream, the first and second streams being transmitted at a peak bit rate R and respectively including video data representing first and second series of coded pictures, data representing first and second reference clocks interspersed with the coded picture data, and data representing a decoding time for each coded picture, relative to the respective reference clock, the second series of coded pictures beginning with an initial coded picture and ending with a final coded picture, the second series being of duration T relative to the second reference clock, the method comprising: A) while encoding the first video stream by a first video encoder relative to the first reference clock: maintaining a first virtual buffer for tracking the fullness of a first hypothetical decoder's coded picture buffer (CPB) of size B receiving the first stream, at a first time, identifying a splice-out time t out occurring temporally after the first time and occurring in the first stream between video data representing a first coded picture and video data representing an immediately succeeding second coded picture, between the first time and the splice-out time, encoding the first stream such that, at the first coded picture's decode time, the fullness of the first virtual buffer is less than XB, where X is greater than zero and less than 1, at a second time, identifying a splice-in time t in occurring temporally at least T time after the splice-out time and occurring in the first stream between video data representing a third coded picture and video data representing an immediately succeeding fourth coded picture, and between the second time and the splice-in time, encoding the first encoded video transport stream such that, at the third picture's decode time, the fullness of the first virtual buffer is less than XB, B) while encoding the second stream by a second video encoder relative to the second reference clock, the second video encoder having a second CPB of at most size B: maintaining a second virtual buffer for tracking the fullness of a second hypothetical decoder's coded picture buffer of size B receiving the second stream, encoding the second stream such that the video data representing the initial coded picture is transmitted in no more than B/(XR) time, and encoding the second stream such that, at the final coded picture's decode time, the fullness of the second virtual buffer is less than XB, and C) replacing the video data in the first stream from t out through t out +T, relative to the first reference clock, with the video data of the second stream from the initial picture through the final picture.