Forward error correction for streaming data
First Claim
1. A method for encoding and transmitting frames with forward error correction (FEC), the method comprising:
- receiving or generating a plurality of unencoded frames including a current frame in a sequence and one or more previous frames in the sequence;
encoding the current frame at a first bitrate to generate one or more encoded source frames;
encoding the one or more previous frames at a second bitrate that is lower than the first bitrate to generate one or more encoded FEC frames;
packetizing the one or more encoded source frames and the one or more encoded FEC frames into one or more data packets; and
storing the one or more data packets in a memory or transmitting the one or more data packets over a data network.
2 Assignments
0 Petitions
Accused Products
Abstract
A current frame in a sequence and one or more previous frames in the sequence may be encoded and decoded with forward error correction (FEC). The current frame is encoded at a first bitrate to generate one or more encoded source frames and the one or more previous frames are encoded at an equal or lower second bitrate to generate one or more encoded FEC frames. The encoded source frame(s) and FEC frame(s) are packetized into one or more data packets, which are stored in a memory or transmitted over a data network. The encoded source frame information and previous frame information is unpackaged from the packets and the encoded source frames are decoded. If given source frame of the sequence is missing, one or more encoded FEC frames that correspond to the given source frame are identified from among the data packets and decoded and used to reconstruct the given frame.
16 Citations
24 Claims
-
1. A method for encoding and transmitting frames with forward error correction (FEC), the method comprising:
-
receiving or generating a plurality of unencoded frames including a current frame in a sequence and one or more previous frames in the sequence; encoding the current frame at a first bitrate to generate one or more encoded source frames; encoding the one or more previous frames at a second bitrate that is lower than the first bitrate to generate one or more encoded FEC frames; packetizing the one or more encoded source frames and the one or more encoded FEC frames into one or more data packets; and storing the one or more data packets in a memory or transmitting the one or more data packets over a data network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system, comprising:
-
a processor module; a memory coupled to the processor, wherein the memory contains executable instructions configured to implement a method, the method comprising; receiving or generating a plurality of unencoded frames including a current frame and one or more previous frames; encoding the current frame at a first bitrate to generate one or more encoded source frames; encoding the one or more previous frames at a second bitrate that is lower than the first bitrate to generate one or more encoded FEC frames; packetizing the one or more encoded source frames and the one or more encoded FEC frames into one or more data packets; and storing the one or more data packets in a memory or transmitting the one or more data packets over a data network.
-
-
24. A non-transitory computer readable medium having embodied therein computer readable instructions configured, to implement a method, the method comprising:
-
receiving or generating a plurality of unencoded frames including a current frame and one or more previous frames; encoding the current frame at a first bitrate to generate one or more encoded source frames; encoding the one or more previous frames at a second bitrate that is lower than the first bitrate to generate one or more encoded FEC frames; packetizing the one or more encoded source frames and the one or more encoded FEC frames into one or more data packets; and storing the one or more data packets in a memory or transmitting the one or more data packets over a data network.
-
Specification