SYSTEMS, METHODS, APPARATUS, AND COMPUTER PROGRAM PRODUCTS FOR PROVIDING FORWARD ERROR CORRECTION WITH LOW LATENCY
First Claim
Patent Images
1. A method for providing forward error correction, comprising:
- outputting source data at a rate less than the rate of a source stream;
building a buffer;
FEC decoding the source data; and
outputting the packets at a rate equal to the rate of the source stream.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, apparatus and computer program products for providing forward error correction with low latency to live streams in networks are provided, including outputting source data at a rate less than the rate of a source stream, building a buffer, FEC decoding the source data; and outputting the packets at a rate equal to the rate of the source stream.
-
Citations
16 Claims
-
1. A method for providing forward error correction, comprising:
-
outputting source data at a rate less than the rate of a source stream;
building a buffer;
FEC decoding the source data; and
outputting the packets at a rate equal to the rate of the source stream. - View Dependent Claims (6)
-
-
2. A method for providing forward error correction, comprising:
-
outputting source data at a rate less than the rate of the source stream;
building a buffer;
correcting packet losses while the buffer is being built; and
outputting reconstructed source packets at a rate equal to the rate of the source stream.
-
-
3. A method for providing forward error correction, comprising:
-
transmitting an FEC encoded stream using a time window of t seconds;
transmitting an unencoded stream consisting of source packets shifted t seconds with respect to the data in the source stream;
receiving the FEC encoded stream and the unencoded stream;
outputting the unencoded stream for the first t seconds;
collecting data from the encoded stream;
after t seconds, FEC decoding the FEC encoded stream; and
outputting the decoded stream.
-
-
4. A method for providing forward error correction, comprising:
-
transmitting an FEC stream using a time window of t seconds;
transmitting a second stream consisting of source packets shifted t seconds with respect to the data in the FEC stream;
receiving the FEC stream and the second stream;
outputting the second stream for the first t seconds;
collecting data from the FEC stream;
after t seconds, FEC decoding the FEC stream; and
outputting the decoded FEC stream.
-
-
5. A method for providing forward error correction, comprising:
-
receiving information about when one or more receivers are operational;
transmitting an FEC encoded stream using a time window of t seconds;
transmitting an unencoded stream of source packets shifted t seconds with respect to the data in the source stream, wherein the unencoded stream is transmitted when a receiver is within the first t seconds of receiving it;
receiving the FEC encoded stream and the second stream;
outputting the unencoded stream for the first t seconds;
collecting data from the encoded stream;
after t seconds, FEC decoding the FEC encoded stream; and
outputting the decoded stream.
-
-
7. A receiver for providing forward error correction, comprising:
-
an output unit configured to output source data at a rate less than the rate of a source stream;
a buffer;
an FEC decoder configured to FEC decode the source data; and
said output unit further configured to output the packets at a rate equal to the rate of the source stream.
-
-
8. A receiver for providing forward error correction, comprising:
-
an output unit configured to output source data at a rate less than the rate of the source stream;
a buffer;
a correction unit configured to correct packet losses while the buffer is being built; and
said output unit further configured to output reconstructed source packets at a rate equal to the rate of the source stream.
-
-
9. A system for providing forward error correction, comprising:
-
at least one transmitter operable to transmit an FEC encoded stream using a time window of t seconds and an unencoded stream consisting of source packets shifted t seconds with respect to the data in the source stream; and
a receiver operable to receive the FEC encoded stream and the unencoded stream, to output the unencoded stream for the first t seconds, collect data from the encoded stream, FEC decode the FEC encoded stream after t seconds, and output the decoded stream.
-
-
10. A system for providing forward error correction, comprising:
-
at least one transmitter operable to transmit an FEC stream using a time window of t seconds and a second stream consisting of source packets shifted t seconds with respect to the data in the FEC stream; and
a receiver operable to receive the FEC stream and the second stream, output the second stream for the first t seconds, collect data from the FEC stream, FEC decoding the FEC stream after t seconds, and output the decoded FEC stream.
-
-
11. A system for providing forward error correction, comprising:
-
at least one transmitter operable to receive information about when one or more receivers are operational, transmit an FEC encoded stream using a time window of t seconds and an unencoded stream of source packets shifted t seconds with respect to the data in the source stream, wherein the unencoded stream is transmitted when a receiver is within the first t seconds of receiving it; and
a receiver operable to receive the FEC encoded stream and the second stream, output the unencoded stream for the first t seconds, collect data from the encoded stream, FEC decode the FEC encoded stream after t seconds, and output the decoded stream.
-
-
12. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to provide forward error correction, said control logic comprising:
-
computer readable program code means for causing the computer to output source data at a rate less than the rate of a source stream;
computer readable program code means for causing the computer to build a buffer;
computer readable program code means for causing the computer to FEC decode the source data; and
computer readable program code means for causing the computer to output the packets at a rate equal to the rate of the source stream.
-
-
13. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to provide forward error correction, said control logic comprising:
-
computer readable program code means for causing the computer to output source data at a rate less than the rate of the source stream;
computer readable program code means for causing the computer to build a buffer;
computer readable program code means for causing the computer to correct packet losses while the buffer is being built; and
computer readable program code means for causing the computer to output reconstructed source packets at a rate equal to the rate of the source stream.
-
-
14. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to provide forward error correction, said control logic comprising:
-
computer readable program code means for causing the computer to transmit an FEC encoded stream using a time window of t seconds;
computer readable program code means for causing the computer to transmit an unencoded stream consisting of source packets shifted t seconds with respect to the data in the source stream;
computer readable program code means for causing the computer to receive the FEC encoded stream and the second stream;
computer readable program code means for causing the computer to output the unencoded stream for the first t seconds;
computer readable program code means for causing the computer to collect data from the encoded stream;
computer readable program code means for causing the computer to FEC decode the FEC encoded stream after t seconds; and
computer readable program code means for causing the computer to output the decoded stream.
-
-
15. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to provide forward error correction, said control logic comprising:
-
computer readable program code means for causing the computer to transmit an FEC stream using a time window of t seconds;
computer readable program code means for causing the computer to transmit a second stream consisting of source packets shifted t seconds with respect to the data in the FEC stream;
computer readable program code means for causing the computer to receive the FEC stream and the second stream;
computer readable program code means for causing the computer to output the second stream for the first t seconds;
computer readable program code means for causing the computer to collect data from the FEC stream;
computer readable program code means for causing the computer to FEC decode the FEC stream after t seconds; and
computer readable program code means for causing the computer to output the decoded FEC stream.
-
-
16. A computer program product comprising a computer usable medium having control logic stored therein for causing a computer to provide forward error correction, said control logic comprising:
-
computer readable program code means for causing the computer to receive information about when one or more receivers are operational;
computer readable program code means for causing the computer to transmit an FEC encoded stream using a time window of t seconds;
computer readable program code means for causing the computer to transmit an unencoded stream of source packets shifted t seconds with respect to the data in the source stream, wherein the unencoded stream is transmitted when a receiver is within the first t seconds of receiving it;
computer readable program code means for causing the computer to receive the FEC encoded stream and the second stream;
computer readable program code means for causing the computer to output the unencoded stream for the first t seconds;
computer readable program code means for causing the computer to collect data from the encoded stream;
computer readable program code means for causing the computer to FEC decoding the FEC encoded stream after t seconds; and
computer readable program code means for causing the computer to output the decoded stream.
-
Specification