Streaming and buffering using variable FEC overhead and protection periods
First Claim
1. A method for streaming data in a communication system, wherein data is streamed from a transmitter that transmits electrical signals conveying the data to a receiver that receives electrical signals that may convey some of the data, such that the receiver can begin to use the streamed data before it is all received or transmitted, the method comprising:
- encoding forward error correction (“
FEC”
) for the data to be transmitted; and
transmitting a stream including data and FEC information, whereby;
the data is transmitted using a transmit rate that is greater than a consumption rate of the receiver;
the transmit rate is less than or equal to a maximum transmit rate and is equal to a sum of a source sending rate and a repair sending rate; and
wherein streaming is performed over a plurality of FEC source block protection periods, including at least a first protection period and a second protection period following the first protection period, each protection period having a source sending rate and a repair sending rate, with an amount of overhead used for FEC protection and an amount of overhead used for buffer filling varying over the plurality of FEC source block protection periods such that the source sending rate in the first protection period is greater than the source sending rate in the second protection period, and the repair sending rate in the first protection period is less than the repair sending rate in the second protection period, a timing for changing the source sending rate and the repair sending rate being based on a minimum buffering time at the receiver.
2 Assignments
0 Petitions
Accused Products
Abstract
Data is streamed from a transmitter to a receiver, wherein streaming is transferring data with an assumption that the receiver will begin using the data before it is all transmitted and received and the streamed data includes forward error correction (“FEC”) and the rates of data consumption can vary. The transmitter has an input rate and a transmit rate and the two rates can be different and can change. At the receiver, there is a reception rate (at which the receiver receives data) and a consumption rate (at which the receiver uses up data for its output). The transmitter transmits using a transmit rate higher than the consumption rate and the extra bandwidth is usable for FEC protection and buffering. In some embodiments, the excess rate varies over a transmission period.
463 Citations
6 Claims
-
1. A method for streaming data in a communication system, wherein data is streamed from a transmitter that transmits electrical signals conveying the data to a receiver that receives electrical signals that may convey some of the data, such that the receiver can begin to use the streamed data before it is all received or transmitted, the method comprising:
-
encoding forward error correction (“
FEC”
) for the data to be transmitted; andtransmitting a stream including data and FEC information, whereby; the data is transmitted using a transmit rate that is greater than a consumption rate of the receiver; the transmit rate is less than or equal to a maximum transmit rate and is equal to a sum of a source sending rate and a repair sending rate; and wherein streaming is performed over a plurality of FEC source block protection periods, including at least a first protection period and a second protection period following the first protection period, each protection period having a source sending rate and a repair sending rate, with an amount of overhead used for FEC protection and an amount of overhead used for buffer filling varying over the plurality of FEC source block protection periods such that the source sending rate in the first protection period is greater than the source sending rate in the second protection period, and the repair sending rate in the first protection period is less than the repair sending rate in the second protection period, a timing for changing the source sending rate and the repair sending rate being based on a minimum buffering time at the receiver. - View Dependent Claims (2)
-
-
3. A non-transitory computer-readable medium, having an interface to provide instructions stored thereon to electronics that would execute such provided instructions, in order to implement streaming data in a communication system, wherein data is streamed from a transmitter to a receiver such that the receiver can begin to use the streamed data before it is all received or transmitted, the computer-readable medium having stored thereon:
program code for encoding forward error correction (“
FEC”
) for the data to be transmitted, whereby a transmitted stream includes data and FEC information;
the data is transmitted using a transmit rate that is greater than a consumption rate of the receiver;
the transmit rate is less than or equal to a maximum transmit rate and is equal to a sum of a source sending rate and a repair sending rate; and
wherein streaming is performed over a plurality of FEC source block protection periods, including at least a first protection period and a second protection period following the first protection period, each protection period having a source sending rate and a repair sending rate, with an amount of overhead used for FEC protection and an amount of overhead used for buffer filling varying over the plurality of FEC source block protection periods such that the source sending rate in the first protection period is greater than the source sending rate in the second protection period, and the repair sending rate in the first protection period is less than the repair sending rate in the second protection period, a timing for changing the source sending rate and the repair sending rate being based on a minimum buffering time at the receiver.- View Dependent Claims (4)
-
5. A method for streaming data in a communication system, wherein data is streamed from a transmitter that transmits electrical signals conveying the data to a receiver that receives electrical signals that may convey some of the data, such that the receiver can begin to use the streamed data before it is all received or transmitted, the method comprising:
-
encoding forward error correction (“
FEC”
) for the data to be transmitted; andtransmitting a stream including data and FEC information, whereby; the transmission is timed such that, at least for part of the transmission, a source sending rate of the transmitter is greater than a consumption rate of the receiver when the consumption rate is equal to a source data rate; a transmit rate is less than or equal to a maximum transmit rate and is equal to a sum of the source sending rate and a repair sending rate; and at least one of the amount of FEC and the excess of the source sending rate over the consumption rate is varied as a trade-off between FEC protection and buffer filling to reduce lag time before a receiver can begin to use the streamed data, a timing for the varying being based on a minimum buffering time at the receiver.
-
-
6. A non-transitory computer-readable medium, having an interface to provide instructions stored thereon to electronics that would execute such provided instructions, in order to implement streaming data in a communication system, wherein data is streamed from a transmitter to a receiver such that the receiver can begin to use the streamed data before it is all received or transmitted, the computer-readable medium having stored thereon:
-
program code for encoding forward error correction (“
FEC”
) for the data to be transmitted, whereby a transmitted stream includes data and FEC information;program code for timing transmission such that, at least for part of the transmission, a source sending rate of the transmitter is greater than a consumption rate of the receiver when the consumption rate is equal to a source data rate, whereby a transmit rate is less than or equal to a maximum transmit rate and is equal to a sum of the source sending rate and a repair sending rate; and program code for varying at least one of the amount of FEC and the excess of the source sending rate over the consumption rate, the varying being a trade-off between FEC protection and buffer filling to reduce lag time before a receiver can begin to use the streamed data, a timing for the varying being based on a minimum buffering time at the receiver.
-
Specification