IP Library Granted Patent US 8,571,051
Granted Patent B2
US 8,571,051 · App. 12/911,502 · Granted Oct 29, 2013

System and method for seamless switching through buffering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,571,051
App. No.
12/911,502
Granted
Oct 29, 2013
Kind
B2
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.

Claims (39)

1. A method for generating a personalized data stream from a plurality of data streams, the method comprising:

receiving the plurality of data streams at a switching device comprising a buffer, the plurality of data streams comprising a plurality of segments having synchronized start points and end points;

generating switch gaps comprising substantially no data between successive end points and start points, the switch gaps being configured to provide seamless switching between the plurality of data streams; and

generating a personalized data stream by:

transmitting at least one segment of one of the plurality of data streams to the buffer,

seamlessly switching to another of the plurality of data streams during a switch gap, and

transmitting at least one other segment from the another of the plurality of data streams to the buffer following the at least one segment of one of the plurality of data streams.

2. The method of claim 1 , wherein each of said plurality of data streams is an MPEG data stream.

3. The method of claim 1 , wherein the switch gap has a duration that is same or longer than a switching time of the switching device.

4. The method of claim 1 , wherein a transmission rate of the plurality of segments is selected to reduce buffer overflow in the buffer of the switching device.

5. The method of claim 1 , wherein the plurality of segments comprise From segments and To segments configured for seamless presentation of any of the From segments followed by any one of the To segments by a data consumer.

6. The method of claim 5 , wherein the switch gaps are generated between the From segments and the To segments by transmitting at least a portion of the From segments to the buffer at a faster transmission rate than a normal transmission rate.

7. The method of claim 6 , wherein the faster transmission rate is spread out over an entire duration of each From segment.

8. The method of claim 1 , further comprising providing a switch signal configured to signal the switching element to seamlessly switch to another of the plurality of data streams during a switch gap.

9. The method of claim 1 , wherein the switching device is configured to receive the plurality of data streams over a computer network.

10. The method of claim 9 , wherein the computer network comprises an Internet network.

11. The method of claim 10 , wherein the plurality of data streams are transmitted using an Internet Protocol communication protocol.

12. The method of claim 1 , wherein the personalized data stream is configured to be consumed by a computing device.

13. The method of claim 1 , wherein seamlessly switching to another of the plurality of data streams during a switch gap comprises switching without generating switching artifacts in the personalized data stream.

14. The method of claim 1 , wherein the switch gap comprises a multi-directional seamless switch gap.

15. A system configured to generate a personalized data stream from a plurality of data streams, the method comprising:

a multiplexer configured to multiplex the plurality of data streams to comprise a plurality of segments having synchronized start points and end points; and

a switching device comprising a buffer, the switching device being configured to receive the plurality of data streams and to generate switch gaps comprising substantially no data between successive end points and start points, the switch gaps being configured to provide seamless switching between the plurality of data streams,

wherein the personalized data stream is generated by the switching device by:

transmitting at least one segment of one of the plurality of data streams to the buffer,

seamlessly switching to another of the plurality of data streams during a switch gap, and

transmitting at least one other segment from the another of the plurality of data streams to the buffer following the at least one segment of one of the plurality of data streams.

16. The system of claim 15 , wherein the plurality of segments comprise From segments and To segments configured for seamless presentation of any of the From segments followed by any one of the To segments by a data consumer.

17. The system of claim 16 , wherein the switch gaps are generated between the From segments and the To segments by transmitting at least a portion of the From segments to the buffer at a faster transmission rate than a normal transmission rate.

18. The system of claim 15 , wherein the switching device is configured to receive the plurality of data streams over a computer network.

19. The system of claim 18 , wherein the computer network comprises an Internet network.

20. A non-transitory computer-readable storage medium having computer-readable program code configured to generate a personalized data stream from a plurality of data streams embodied therewith, the computer-readable program code comprising:

computer-readable program code configured to receive the plurality of data streams at a switching device comprising a buffer and operatively coupled with the computer-readable storage medium, the plurality of data streams comprising a plurality of segments having synchronized start points and end points;

computer-readable program code configured to generate switch gaps comprising substantially no data between successive end points and start points, the switch gaps being configured to provide seamless switching between the plurality of data streams; and

computer-readable program code configured to generate a personalized data stream by:

transmitting at least one segment of one of the plurality of data streams to the buffer,

seamlessly switching to another of the plurality of data streams during a switch gap, and

transmitting at least one other segment from the another of the plurality of data streams to the buffer following the at least one segment of one of the plurality of data streams.

21. The computer-readable storage medium of claim 20 , wherein the plurality of segments comprise From segments and To segments configured for seamless presentation of any of the From segments followed by any one of the To segments by a data consumer.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: VISIBLE WORLD, LLC
To: TIVO CORPORATION
Reel/Frame 054588/0461 →
CHANGE OF NAME Recorded Oct 11, 2018
From: VISIBLE WORLD INC.
To: VISIBLE WORLD, LLC
Reel/Frame 047216/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2016
From: HABERMAN, SETH; BOOTH, RICHARD L.; JANSEN, ALEX; NIEMEIJER, GERRIT
To: VISIBLE WORLD, INC.
Reel/Frame 039698/0018 →