Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding
First Claim
Patent Images
1. A method for encoding a source file to be transmitted to a receiver, comprising the steps of:
- dividing the source file into a plurality of source packets;
dividing the plurality of source packets into a plurality of groups;
generating a source packet matrix from the plurality of source packets in one of the plurality of groups;
calculating a plurality of Forward Error Correction (FEC) packets for each column of the source packet matrix;
calculating a plurality of FEC packets for each row of the source packet matrix;
calculating a plurality of FEC packets for each diagonal of the source packet matrix; and
transmitting the source packets in the source packet matrix and the plurality of FEC packets for each row, column and diagonal of the source packet matrix.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, apparatus and computer program products provide highly reliable file delivery using a combination of packet-level FEC on source data packets which are arranged in matrices, where encoding is performed on both rows and columns or on rows, columns and diagonals.
-
Citations
6 Claims
-
1. A method for encoding a source file to be transmitted to a receiver, comprising the steps of:
-
dividing the source file into a plurality of source packets; dividing the plurality of source packets into a plurality of groups; generating a source packet matrix from the plurality of source packets in one of the plurality of groups; calculating a plurality of Forward Error Correction (FEC) packets for each column of the source packet matrix; calculating a plurality of FEC packets for each row of the source packet matrix; calculating a plurality of FEC packets for each diagonal of the source packet matrix; and transmitting the source packets in the source packet matrix and the plurality of FEC packets for each row, column and diagonal of the source packet matrix. - View Dependent Claims (2)
-
-
3. A computer-readable medium having stored thereon sequences of instructions, the sequences of instructions including instructions which when executed by a computer system cause the computer system to perform:
-
dividing a source file into a plurality of source packets; dividing the plurality of source packets into a plurality of groups; generating a source packet matrix from the plurality of source packets in one of the plurality of groups; calculating a plurality of Forward Error Correction (FEC) packets for each column of the source packet matrix; calculating a plurality of FEC packets for each row of the source packet matrix; calculating a plurality of FEC packets for each diagonal of the source packet matrix; and transmitting the source packets in the source packet matrix and the plurality of FEC packets for each row, column and diagonal of the source packet matrix. - View Dependent Claims (4)
-
-
5. An apparatus for encoding a source file to be transmitted to a receiver, comprising:
-
a processor configured to divide the source file into a plurality of source packets and divide the plurality of source packets into a plurality of groups; a memory configured to store a source packet matrix including the plurality of source packets in one of the plurality of groups; an encoder configured to generate a plurality of Forward Error Correction (FEC) packets for each column of the source packet matrix, a plurality of FEC packets for each row of the source packet matrix, and a plurality of FEC packets for each diagonal of the source packet matrix; and a transmitter configured to transmit the source packet in the source packet matrix and the plurality of FEC packets for each row, column and diagonal of the source packet matrix. - View Dependent Claims (6)
-
Specification