IP Library Granted Patent US 8,335,262
Granted Patent B2
US 8,335,262 · App. 12/015,490 · Granted Dec 18, 2012

Dynamic rate adjustment to splice compressed video streams

Assignee: Verivue, Inc.
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,335,262
App. No.
12/015,490
Granted
Dec 18, 2012
Kind
B2
Abstract

Described are computer-based methods and apparatuses, including computer program products, for dynamic rate adjustment to splice video streams. A splicer receives a first compressed video stream of bits and buffers the first video stream of bits in a first buffer. The splicer receives a second compressed video stream of bits to splice into the first compressed video stream. The splicer buffers the second compressed video stream of bits in a second buffer. The splicer determines a departure time for a splice in-point of the second compressed video stream of bits. The splicer adjusts a rate of the first compressed video stream of bits, a rate of the second compressed video stream of bits, or both to achieve the departure time.

Claims (71)

1. A method comprising:

receiving a first compressed video stream of bits and buffering the first video stream of bits in a first buffer;

receiving a second compressed video stream of bits and buffering the second compressed video stream of bits in a second buffer;

determining a departure time for a splice in-point of the second compressed video stream of bits;

adjusting a rate of the first compressed video stream of bits, a rate of the second compressed video stream of bits, or both to achieve the departure time; and

transmitting a frame associated with the first compressed video stream of bits, a frame associated with the second compressed video stream of bits, or both, at an earlier time than a corresponding scheduled departure time.

2. The method of claim 1 , wherein adjusting comprises:

calculating a burst rate; and

transmitting a portion of the first compressed video stream, a portion of the second compressed video stream, or both, at the burst rate.

3. The method of claim 2 , further comprising:

calculating a second burst rate; and

transmitting the portion of the first compressed video stream or the portion of the second compressed video stream at the second burst rate.

4. The method of claim 2 , wherein calculating the burst rate comprises calculating the burst rate based on a factor greater than one, wherein the factor is based on available channel capacity, an actual overlap time, a time based on the splice in-point of the second compressed video stream of bits and a second splice in-point, or any combination thereof.

5. The method of claim 2 , wherein determining comprises determining the departure time for the splice in-point of the second compressed video stream of bits without reference to the burst rate.

6. The method of claim 1 , further comprising:

determining a second departure time for a second splice in-point of the first compressed video stream of bits; and

adjusting the rate of the first compressed video stream of bits, the rate of the second compressed video stream of bits, or both, to achieve the second departure time.

7. The method of claim 1 , further comprising:

determining a second departure time for a second splice in-point of a third compressed video stream of bits; and

adjusting the rate of the first compressed video stream of bits, the rate of the second compressed video stream of bits, a rate of the third compressed video stream of bits, or any combination thereof, to achieve the second departure time.

8. The method of claim 1 , wherein determining comprises achieving a seamless splice.

9. The method of claim 1 , further comprising transmitting a first portion of the first compressed video stream, a second portion of the second compressed video stream from the second buffer, or both, without altering the compression of the first video stream, the second video stream, or both.

10. The method of claim 1 , further comprising transmitting a first portion of the first compressed video stream, a second portion of the second compressed video stream, or both, without decrypting the first video stream, the second video stream, or both.

11. The method of claim 1 , further comprising transmitting a first portion of the first compressed video stream at no more than a maximum overlap time earlier than a scheduled departure time, wherein the maximum overlap time is based on a maximum Video Buffering Verifier (VBV) delay of the second compressed video stream of bits minus a frame period.

12. The method of claim 1 , further comprising transmitting a first portion of the first compressed video stream of bits after the first buffer is substantially full, a second portion of the second compressed video stream of bits after the second buffer is substantially full, or both.

13. The method of claim 1 , further comprising calculating a required buffer size.

14. The method of claim 13 , wherein calculating the required buffer size comprises calculating a maximum overlap time.

15. The method of claim 14 , wherein calculating the maximum overlap time comprises calculating the difference between a maximum VBV delay of the second compressed video stream of bits and a frame period.

16. The method of claim 1 , further comprising buffering a first portion of the first compressed video stream of bits, a second portion of the second compressed video stream of bits, or both, in a receiving buffer.

17. The method of claim 16 , wherein a size of the receiving buffer is greater than a standard buffer size for a compliant MPEG receiver used to support transmitting the first portion of the first compressed video stream of bits at a non-bursting rate.

18. The method of claim 16 , wherein the size of the receiving buffer is at least two times greater than a standard buffer size for a compliant MPEG receiver used to support transmitting the first portion of the first compressed video stream of bits at a non-bursting rate.

19. The method of claim 1 , further comprising calculating a burst start time and a burst end time.

20. The method of claim 19 , wherein:

calculating the burst start time comprises calculating a burst duration; and

calculating the burst end time comprises calculating the sum of the burst start time and the burst duration.

21. The method of claim 19 , wherein the burst end time is the splice in point of the second compressed video stream of bits and the burst start time is the burst end time minus a duration based on an actual overlap time.

22. A system comprising:

a first buffer;

a second buffer;

a splicer in communication with the first buffer and the second buffer configured to receive a first compressed video stream of bits, transmit the first compressed video stream of bits to the first buffer, receive a second compressed video stream of bits, and transmit the second compressed video stream of bits to the second buffer;

a multiplexer in communication with the first buffer and the second buffer configured to determine a departure time for a splice in-point of the second video stream of bits; and

a rate control component in communication with the first buffer and the second buffer and configured to:

adjust a rate of the first compressed video stream of bits, a rate of the second compressed video stream of bits, or both, to achieve the departure time; and

transmit a frame associated with the first compressed video stream of bits, a frame associated with the second compressed video stream of bits, or both, at an earlier time than a corresponding scheduled departure time.

23. The system of claim 22 , wherein the rate control component is further configured to:

calculate a burst rate; and

transmit a portion of the first compressed video stream, a portion of the second compressed video stream, or both at the burst rate.

24. The system of claim 23 , wherein the rate control component is further configured to:

calculate a second burst rate; and

transmit the portion of the first compressed video stream or the portion of the second compressed video stream at the second burst rate.

25. The system of claim 23 , wherein the rate control component is further configured to calculate a burst rate based on a factor greater than one, wherein the factor is based on available channel capacity, an actual overlap time, a time based on the splice in-point of the second compressed video stream of bits and a second splice in-point, or any combination thereof.

26. The system of claim 22 , further comprising a burst capable network in communication with the multiplexer.

27. The system of claim 26 , wherein the rate control component is further configured to transmit a first portion of the first compressed video stream at no more than a maximum overlap time earlier than the schedule time, wherein the maximum overlap time is based on a maximum Video Buffering Verifier (VBV) delay of the second video stream of bits minus a frame period.

28. The system of claim 22 , wherein the rate control component is further configured to transmit a frame associated with the first compressed video stream of bits at an earlier time than a scheduled time of the frame.

29. The system of claim 22 , wherein the rate control component is further configured to calculate a burst start time and a burst end time.

30. The system of claim 29 , wherein the receiving buffer size is greater than a standard buffer size for a compliant MPEG receiver used to support transmitting a first portion of the first compressed video stream at a non-bursting rate.

31. The system of claim 22 , further comprising a receiving buffer in communication with the multiplexer configured to buffer a first portion of the first compressed video stream of bits, a second portion of the second compressed video stream of bits, or both.

32. The system of claim 22 , wherein the rate control component is further configured to calculate a required size of the first buffer, the second buffer, or both.

33. A computer program product, tangibly embodied in a non-transitory computer readable medium, the computer program product including instructions being operable to cause a data processing apparatus to:

receive a first compressed video stream of bits and buffering the first video stream of bits in a first buffer;

receive a second compressed video stream of bits and buffering the second compressed video stream of bits in a second buffer;

determine a departure time for a splice in-point of the second compressed video stream of bits;

adjust a rate of the first compressed video stream of bits, a rate of the second compressed video stream of bits, or both to achieve the departure time; and

transmit a frame associated with the first compressed video stream of bits, a frame associated with the second compressed video stream of bits, or both, at an earlier time than a corresponding scheduled departure time.

34. An apparatus comprising:

means for receiving a first compressed video stream of bits and buffering the first video stream of bits in a first buffer;

means for receiving a second compressed video stream of bits and buffering the second compressed video stream of bits in a second buffer;

means for determining a departure time for a splice in-point of the second compressed video stream of bits; and

means for:

adjusting a rate of the first compressed video stream of bits, a rate of the second compressed video stream of bits, or both to achieve the departure time; and

transmitting a frame associated with the first compressed video stream of bits, a frame associated with the second compressed video stream of bits, or both, at an earlier time than a corresponding scheduled departure time.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2012
From: VERIVUE, INC.
To: VVNET, LLC
Reel/Frame 029402/0699 →
CHANGE OF NAME Recorded Feb 3, 2009
From: VERIVUE, INC.
To: VERIVUE, INC.
Reel/Frame 022194/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2008
From: HLUCHYJ, MICHAEL G.; KRISHNAN, SANTOSH; LAWLER, CHRISTOPHER; ZHU, QIN-FAN
To: VERIVUE, INC.
Reel/Frame 020488/0371 →
Continuity (1)
Related Publication 20090180534A1 · Jul 16, 2009