Systems, methods, apparatus, and computer program products for providing forward error correction with low latency
AssigneeKencast, Inc.
InventorsH. Lewis Wolfgang, Michael J. Fischer, Weimin Fang
Life of this patent
Estimating the term…
Abstract
Systems, methods, apparatus, and computer program products for providing forward error correction with low latency to live streams in networks are provided. One example method includes receiving source data at a first rate, outputting the source data at a rate less than the first rate, collecting the source data in a buffer, FEC decoding the source data, thereby generating decoded data; and outputting the decoded data at a rate equal to the first rate, either after collecting the source data in the buffer for a predetermined time duration or after collecting a predetermined amount of the source data in the buffer.
Claims23
A method for providing forward error correction, comprising steps of:
- receiving source data at a first rate;
- outputting the source data at a rate less than the first rate;
- collecting the source data in a buffer;
- FEC decoding the source data, thereby generating decoded data;
- and
- outputting the decoded data at a rate equal to the first rate, either after collecting the source data in the buffer for a predetermined time duration or after collecting a predetermined amount of the source data in the buffer.
A receiver for providing forward error correction, comprising:
- a receiving unit configured to receive source data at a first rate;
- an output unit configured to output the source data at a rate less than the first rate;
- a buffer configured to collect the source data;
- an FEC decoder configured to FEC decode the source data, thereby generating decoded data;
- and
- said output unit further configured to output the decoded data at a rate equal to the first rate, either after collecting the source data in the buffer for a predetermined time duration or after collecting a predetermined amount of the source data in the buffer.
A non-transitory computer-readable medium having stored therein a computer program that, when executed by a computer processor, causes the computer processor to perform a method for providing forward error correction, wherein the method comprises steps of:
- receiving source data at a first rate;
- outputting the source data at a rate less than a first rate;
- collecting the source data in a buffer;
- FEC decoding the source data thereby generating decoded data;
- and
- outputting the decoded data at a rate equal to the first rate, either after collecting the source data in the buffer for a predetermined time duration or after collecting a predetermined amount of the source data in the buffer.
A method for providing forward error correction, comprising steps of:
- receiving source packets at a first rate;
- outputting the source packets at a rate less than the first rate;
- collecting the source packets in a buffer;
- correcting packet losses while the buffer is being built;
- and
- outputting reconstructed source packets at a rate equal to the first rate, either after collecting the source packets in the buffer for a predetermined time duration or after collecting a predetermined amount of the source packets in the buffer.
A receiver for providing forward error correction, comprising:
- a receiving unit configured to receive source packets at a first rate;
- an output unit configured to output the source packets at a rate less than the first rate;
- a buffer configured to collect the source packets;
- 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 first rate, either after collecting the source packets in the buffer for a predetermined time duration or after collecting a predetermined amount of the source packets in the buffer.
A non-transitory computer-readable medium having stored therein a computer program that, when executed by a computer processor, causes the computer processor to perform a method for providing forward error correction, wherein the method comprises steps of:
- receiving source packets at a first rate;
- outputting the source packets at a rate less than the first rate;
- collecting the source packets in a buffer;
- correcting packet losses while the buffer is being built;
- and
- outputting reconstructed source packets at a rate equal to the first rate, either after collecting the source packets in the buffer for a predetermined time duration or after collecting a predetermined amount of the source packets in the buffer.
A method for providing forward error correction, comprising steps of:
- transmitting an FEC encoded stream using a time window oft 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.
A system for providing forward error correction, comprising:
- at least one transmitter operable to transmit an FEC encoded stream using a time window oft 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.
A non-transitory computer-readable medium having stored therein a computer program that, when executed by a computer processor, causes the computer processor to perform a method for providing forward error correction, wherein the method comprises steps of:
- transmitting an FEC encoded stream using a time window oft 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 second stream;
- outputting the unencoded stream for the first t seconds;
- collecting data from the encoded stream;
- FEC decoding the FEC encoded stream after t seconds;
- and
- outputting the decoded stream.
A method for providing forward error correction, comprising steps of:
- transmitting an FEC stream using a time window oft 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.
A system for providing forward error correction, comprising:
- at least one transmitter operable to transmit an FEC stream using a time window oft 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.
A non-transitory computer-readable medium having stored therein a computer program that, when executed by a computer processor, causes the computer processor to perform a method for providing forward error correction, wherein the method comprises steps of:
- transmitting an FEC stream using a time window oft 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;
- FEC decoding the FEC stream after t seconds;
- and
- outputting the decoded FEC stream.
A method for providing forward error correction, comprising steps of:
- receiving video data at a first frame rate;
- outputting the video data at a frame rate less than the first frame rate;
- collecting the video data in a buffer;
- FEC decoding the video data, thereby generating decoded video data;
- and
- outputting the decoded video data at a frame rate equal to the first frame rate, either after collecting the video data in the buffer for a predetermined time duration or after collecting a predetermined amount of the video data in the buffer.
A receiver for providing forward error correction, comprising:
- a receiving unit configured to receive video data at a first frame rate;
- an output unit configured to output the video data at a frame rate less than the first frame rate;
- a buffer configured to collect the video data;
- an FEC decoder configured to FEC decode the video data, thereby generating decoded video data;
- and
- said output unit further configured to output the decoded video data at a frame rate equal to the first frame rate, either after collecting the video data in the buffer for a predetermined time duration or after collecting a predetermined amount of the video data in the buffer.
A non-transitory computer-readable medium having stored therein a computer program that, when executed by a computer processor, causes the computer processor to perform a method for providing forward error correction, wherein the method comprises steps of:
- receiving video data at a first frame rate;
- outputting the video data at a frame rate less than the first frame rate;
- collecting the video data in a buffer;
- FEC decoding the video data, thereby generating decoded video data;
- and
- outputting the decoded video data at a frame rate equal to the first frame rate, either after collecting the video data in the buffer for a predetermined time duration or after collecting a predetermined amount of the video data in the buffer.
Dependencies are inferred from the claim text.