Efficient available bandwidth usage in transmission of compressed video data
First Claim
1. A network device for transmitting compressed video data onto a channel, the network device comprising:
- a bit rate converter designed or configured to transcode compressed video data from multiple bitstreams to produce multiple transcoded bitstreams;
a multiplexer designed or configured toa) schedule packets from the multiple transcoded bitstreams in a first pass of scheduling in a scheduling period;
b) determine if bandwidth is available on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling, the available bandwidth including a difference between a bandwidth on the channel and a sum of a bandwidth needed for all of the packets from the multiple transcoded bitstreams scheduled in the first pass of scheduling, and if so, allocate additional packets from the multiple transcoded bitstreams in a second pass of scheduling in the scheduling period to use the determined available bandwidth on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling; and
a network interface designed or configured to output the packets from the multiple transcoded bitstreams onto the channel.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein are systems and methods for multiplexing and transmitting video data. The systems and methods use excess bandwidth in a channel available after meeting minimum transmission requirements for all bitstreams. A network device of the invention flexibly allocates this available bandwidth to minimize further rate reduction. More specifically, the network device periodically determines the available bandwidth, and divides the available bandwidth among multiple incoming bitstreams being multiplexed in order to increase downstream decoder buffer levels. By maintaining increased decoder buffer levels, future rate reduction of the video data may be avoided or applied to a lesser degree. Minimizing rate reduction in this manner improves bandwidth usage efficiency, and thus improves video data transmission and end-user output video quality.
116 Citations
22 Claims
-
1. A network device for transmitting compressed video data onto a channel, the network device comprising:
-
a bit rate converter designed or configured to transcode compressed video data from multiple bitstreams to produce multiple transcoded bitstreams; a multiplexer designed or configured to a) schedule packets from the multiple transcoded bitstreams in a first pass of scheduling in a scheduling period; b) determine if bandwidth is available on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling, the available bandwidth including a difference between a bandwidth on the channel and a sum of a bandwidth needed for all of the packets from the multiple transcoded bitstreams scheduled in the first pass of scheduling, and if so, allocate additional packets from the multiple transcoded bitstreams in a second pass of scheduling in the scheduling period to use the determined available bandwidth on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling; and a network interface designed or configured to output the packets from the multiple transcoded bitstreams onto the channel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for transmitting compressed video data onto a channel, the method comprising:
-
receiving multiple bitstreams, each bitstream including compressed video data contained in packets; transcoding the compressed video data from the multiple bitstreams to produce multiple transcoded bitstreams; performing a first pass of scheduling in a scheduling period to schedule packets from the multiple transcoded bitstreams; determining if bandwidth is available on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling, the available bandwidth including a difference between a bandwidth on the channel and a sum of a bandwidth needed for all of the packets from the multiple trans coded bitstreams scheduled in the first pass of scheduling; performing a second pass of scheduling in the scheduling period to allocate additional packets from the multiple transcoded bitstreams to use the determined available bandwidth on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling if there is available bandwidth on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling; and transmitting the packets from each of the multiple transcoded bitstreams onto the channel. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A network device for transmitting compressed video data onto a channel, the network device comprising:
-
means for receiving multiple bitstreams, each bitstream including compressed video data contained in packets; means for transcoding compressed video data from the multiple bitstreams to produce multiple transcoded bitstreams; means for performing a first pass of scheduling in a scheduling period to schedule packets from the multiple transcoded bitstreams; means for determining if bandwidth is available on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling, the available bandwidth including a difference between a bandwidth on the channel and a sum of a bandwidth needed for all of the packets from the multiple transcoded bitstreams scheduled in the first pass of scheduling; means for performing a second pass of scheduling in the scheduling period to allocate additional packets from the multiple transcoded bitstreams to use the determined available bandwidth on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling if there is bandwidth that is available on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling; and means for transmitting the packets from each of the multiple transcoded bitstreams onto the channel. - View Dependent Claims (20, 21)
-
-
22. A computer readable medium storing computer executable instructions for transmitting compressed video data onto a channel, the instructions comprising:
-
instructions for receiving multiple bitstreams, each bitstream including compressed video data contained in packets; instructions for transcoding compressed video data from the multiple bitstreams to produce multiple transcoded bitstreams; instructions for performing a first pass of scheduling in a scheduling period to schedule packets from the multiple transcoded bitstreams; instructions for determining if bandwidth is available on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling, the available bandwidth including a difference between a bandwidth on the channel and a sum of a bandwidth needed for all of the packets from the multiple transcoded bitstreams scheduled in the first pass of scheduling; instructions for performing a second pass of scheduling in the scheduling period to allocate additional packets from the multiple transcoded bitstreams to use the determined available bandwidth on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling if there is bandwidth that is available on the channel after the multiple transcoded bitstreams have been scheduled by the multiplexer in the first pass of scheduling; and instructions for transmitting the packets from each of the multiple transcoded bitstreams onto the channel.
-
Specification