Patent ID: 6806909
Filing Date: 2004-10-19
Classification: H04N

Abstract:
A method for splicing multimedia programs in multimedia data streams, comprising:providing in the same or different multimedia data streams, first and second programs, each of the first and second programs including a first media component of the same first media and a second media component of the same second media, the second media being a different media than the first media, each of the first and second both media components of each of the first and second programs having a multitude of splice-in points with begin-presentation times of first presented portions of the component after the splice-in and a multitude of splice-out points with end-presentation times of the last presented portion of the component before the splice-out, the times being relative to their positions in the stream; transmitting the first and second component of the first program in an output stream; receiving a command to splice the second program to the first program; selecting a splice-in point in the stream for the first component in the second program; selecting a splice-out point in the stream for the first component in the first program, with a position in the stream approximately aligned with the position in the stream of the splice-in point of the first component of the second program; and the begin-presentation time for the first portion of the first component presented after the splice-in of the first component is equal or later than the end-presentation time for the last presented portion of the first component before the splice-out of the first component; transmitting the first component of the second program and the second component of the first program in the output stream; splicing the first component of the first program out at the selected splice-out point for the first component and splicing the first component of the second program in at the selected splice-in point for the first component; selecting a splice-in point in the stream for the second component in the second program at which the begin-presentation time of the first presented portion of the second component after the splice-in is equal or after the end-presentation time of the latest presented portion of the first component before the splice-out point of the first component; selecting a splice-out point in the stream for the second component in the first program, at which: the position in the stream of the splice-out point for the second component is approximately aligned with the position in the stream of the splice-in point of the second component; and an end-presentation time of the latest presented portion of the second component before the splice-out is equal or before the begin-presentation times of the earliest presented portions of both: the first component after the splice-in of the first component; and the second component after the splice-in of the second component; splicing the second component of the first program out at the selected splice-out of the second component and splicing the second component of the second program in at the selected splice-in point of the second component; and transmitting the first and second component of the second program in the output stream.