IP Library Granted Patent US 8,437,389
Granted Patent B2
US 8,437,389 · App. 12/902,845 · Granted May 7, 2013

Statistical remultiplexing of compressed video segments

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,437,389
App. No.
12/902,845
Granted
May 7, 2013
Kind
B2
Abstract

Compressed digital video bitstreams are segmented into video segments. A staging processor performs transrating on the original video segments and generates several transrated output video segments. The output video segments are combined into a video block for further distribution. A bit rate switch selects among the transrated video segments from the video block to provide a statistically multiplexed output bitstream. The bit rate switch can also select local stream segments, such as advertisements, for content insertion purposes. A transprocessor including multiple encoder output features is also provided.

Claims (41)

1. A method, comprising:

providing a plurality of video blocks for at least one of a plurality of bitstreams, each video block including a plurality of video segments and each video segment including a plurality of frames;

determining a bit budget during an inspection period for the at least one of the plurality of bitstreams;

parsing a header included in a video block corresponding to the at least one of the plurality of bitstreams to determine a plurality of bit rates used to encode a corresponding plurality of video segments included in the video block;

selecting a video segment from the plurality of video segments included in the video block after parsing the header based at least in part on selecting a bit rate from the plurality of bit rates corresponding to the video segment that most substantially meets the bit budget; and

providing the video segment selected from the plurality of video segments included in the video block to an output buffer;

wherein each of the plurality of video segments included in the video block is independently decodable;

wherein each video segment included in the video block includes a same portion of content as other plurality of video segments in the video block; and

wherein each of the video segments comprises a bit rate different than a bit rate used to encode other of the plurality of video segments.

2. The method of claim 1 , further comprising scheduling the video segment selected from the plurality of video segments included in the video block to fill a capacity of a communications channel.

3. The method of claim 1 , further comprising modeling a decoder buffer to avoid an underflow condition or an overflow condition.

4. The method of claim 1 , wherein the video segment selected from the plurality of video segments included in the video block comprises a local stream segment.

5. The method of claim 1 , further comprising selecting the video segment from the plurality of video segments included in the video block in response to bit rate demands of concurrent bitstreams.

6. The method of claim 1 , further comprising providing the video segment selected from the plurality of video segments included in the video block to a communications channel at a constant bit rate.

7. An apparatus, comprising:

a circuit configured to determine a bit budget for a plurality of bitstreams during an inspection period

a circuit configured to parse a header included in a video block associated with at least one of the plurality of bitstreams to determine a plurality of bit rates used to encode a corresponding plurality of video segments included in the video block wherein each video segment includes a plurality of frames;

means for selecting a video segment from the plurality of video segments included in the video block based at least in part on selecting a bit rate form the plurality of bit rates corresponding to the video segment that most substantially meets the bit budget; and

means for providing the video segment selected from the plurality of video segments to a communications channel;

wherein each of the plurality of video segments included in the video block is independently decodable;

wherein each video segment included in the video block includes a same portion of content as other plurality of video segments in the video block; and

wherein each of the video segments comprises a bit rate different than a bit rate used to encode other of the plurality of video segments.

8. The apparatus of claim 7 , further comprising means for scheduling the video segment selected from the plurality of video segments included in the video block to fill a capacity of the communications channel.

9. The apparatus of claim 7 , further comprising means for modeling behavior of a decoder buffer to avoid an underflow condition or an overflow condition.

10. The apparatus of claim 7 , wherein the video segment selected from the plurality of video segments included in the video block comprises a local stream segment.

11. The apparatus of claim 7 , further comprising means for selecting the video segment from the plurality of video segments included in the video block in response to bit rate demands of concurrent bitstreams.

12. The apparatus of claim 7 , further comprising means for providing the video segment selected from the plurality of video segments included in the video block to a communications channel at a constant bit rate.

13. An apparatus, comprising:

a scheduler configured to determine a bit budget during an inspection period for at least one of a plurality of bitstreams, the at least one of the plurality of bitstreams comprising a plurality of video blocks, wherein each of the plurality of video blocks comprise a header and a plurality of video segments wherein each video segment includes a plurality of frames;

a processor configured to;

parse the header included in at least one of the plurality of video blocks to determine a plurality of bit rates corresponding to the plurality of video segments included in the at least one of the plurality of video blocks; and

select a video segment from the plurality of video segments based at least in part on selecting a bit rate form the plurality of bit rates corresponding to the video segment that most substantially meets the bit budget; and

an output buffer configured to store the video segment selected from the at least one of the plurality of video segments;

wherein each of the plurality of video segments included in the video block is independently decodable;

wherein each video segment included in the video block includes a same portion of content as other plurality of video segments in the video block; and

wherein each of the video segments comprises a bit rate different than a bit rate used to encode other of the plurality of video segments.

14. The apparatus of claim 13 , wherein the scheduler is further configured to determine the bit budget to fill a capacity of a communications channel.

15. The apparatus of claim 14 , wherein the scheduler is further configured to determine the bit budget to avoid an underflow condition or an overflow condition.

16. The apparatus of claim 13 , wherein the processor is further configured to add a local stream segment to the video segment selected from the plurality of video segments included in the at least one of the plurality of video blocks.

17. The apparatus of claim 13 , wherein the processor is further configured to select the video segment from the plurality of video segments included in the at least one of the plurality of video blocks in response to bit rate demands of concurrent bitstreams.

18. The apparatus of claim 13 , wherein the output buffer is further configured to provide the video segment selected from the plurality of video segments included in the at least one of the plurality of video blocks to a communications channel at a constant bit rate.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2022
From: INTELLECTUAL VENTURES ASSETS 175 LLC
To: DISTRIBUTED MEDIA SOLUTIONS, LLC
Reel/Frame 058537/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2021
From: INTELLECTUAL VENTURES I LLC
To: INTELLECTUAL VENTURES ASSETS 175 LLC
Reel/Frame 057272/0950 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2021
From: EXAVIO, LLC
To: SOFTWARE SITE APPLICATIONS LIMITED LIABILITY COMPANY
Reel/Frame 056993/0059 →
MERGER Recorded Jul 5, 2013
From: SOFTWARE SITE APPLICATIONS, LIMITED LIABILITY COMPANY
To: INTELLECTUAL VENTURES I LLC
Reel/Frame 030744/0364 →