System and method for seamless switching through buffering
First Claim
1. A method comprising:
- receiving a first data stream comprising at least a first segment, wherein the first segment comprises a first starting point and a first end point;
receiving a second data stream comprising at least a second segment, wherein the second segment comprises a second starting point and a second end point;
encoding the first segment for transmission at a first data rate;
encoding the second segment;
determining a switch gap size, wherein the switch gap size comprises at least a predetermined amount of time needed to switch from transmitting the first segment of the first data stream to transmitting the second segment of the second data stream;
determining a second data rate such that a difference between a first transmit time of the first segment at the first data rate and a second transmit time of the first segment at the second data rate approximates the switch gap size; and
multiplexing the encoded first segment for transmission at the second data rate and the encoded second segment such that the second starting point of the encoded second segment is synchronized with the first end point of the encoded first segment.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of preparing data streams to facilitate seamless switching between such streams by a switching device to produce an output data stream without any switching artifacts. Bi-directional switching between any plurality of data streams is supported. The data streams are divided into segments, wherein the segments include synchronized starting points and end points. The data rate is increased before an end point of a segment, to create switch gaps between the segments. Increasing the data rate can include increasing a bandwidth of the plurality of data streams, for example by multiplexing, or compressing the data. The present invention can be used, for example, with MPEG or AC-3 encoded audio and MPEG encoded video segments that are multiplexed into MPEG-2 transport streams. Also included are specific methods for preparing MPEG video streams and multiplexing MPEG video with MPEG or AC-3 audio streams to allow a receiver to create seamless transitions between individually encoded segments.
178 Citations
20 Claims
-
1. A method comprising:
-
receiving a first data stream comprising at least a first segment, wherein the first segment comprises a first starting point and a first end point; receiving a second data stream comprising at least a second segment, wherein the second segment comprises a second starting point and a second end point; encoding the first segment for transmission at a first data rate; encoding the second segment; determining a switch gap size, wherein the switch gap size comprises at least a predetermined amount of time needed to switch from transmitting the first segment of the first data stream to transmitting the second segment of the second data stream; determining a second data rate such that a difference between a first transmit time of the first segment at the first data rate and a second transmit time of the first segment at the second data rate approximates the switch gap size; and multiplexing the encoded first segment for transmission at the second data rate and the encoded second segment such that the second starting point of the encoded second segment is synchronized with the first end point of the encoded first segment. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
one or more processors; a non-transitory, computer-readable storage medium in operable communication with at least one processor of the one or more processors, wherein the computer-readable storage medium contains one or more programming instructions that, when executed, cause the processor to; receive a first data stream comprising at least a first segment, wherein the first segment comprises a first starting point and a first end point; receive a second data stream comprising at least a second segment, wherein the second segment comprises a second starting point and a second end point; encode the first segment for transmission at a first data rate; encode the second segment; determine a switch gap size, wherein the switch gap size comprises at least a predetermined amount of time needed to switch from transmitting the first segment of the first data stream to transmitting the second segment of the second data stream; determine a second data rate such that a difference between a first transmit time of the first segment at the first data rate and a second transmit time of the first segment at the second data rate approximates the switch gap size; and multiplex the encoded first segment for transmission at the second data rate and the encoded second segment such that the second starting point of the encoded second segment is synchronized with the first end point of the encoded first segment. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
determining a switch gap size, wherein the switch gap size comprises at least an amount of time needed for a switching device to switch from transmitting a first segment of a first data stream to transmitting a second segment of a second data stream; determining, based on a buffer capacity of the switching device, a first data rate; encoding the first segment for transmission at the first data rate; encoding the second segment; determining a second data rate such that a difference between a first transmit time of the first segment at the first data rate and a second transmit time of the first segment at the second data rate approximates the switch gap size and does not exceed the buffer capacity of the switching device; and multiplexing the encoded first segment for transmission at the second data rate and the encoded second segment such that a second starting point of the encoded second segment is synchronized with a first end point of the encoded first segment. - View Dependent Claims (17, 18, 19, 20)
-
Specification