A method of Packet Forward Error Correction Coding, operable in a packet-switching network that serves to transmit data packets from a source to a destination, for encoding a stream of data packets received from a source by including redundant codeword packets in the stream of data packets transmitted to said destination to allow for the recovery of corrupted data packets by the decoder of said Packet Forward Error Correction Coding scheme located at said destination, comprising:
- storing a predetermined plurality of fixed length data packets received from said source as rows of an array;
- subdividing said array of data packets into a plurality of sequential frames;
- preprocessing each of the rows of all of said plurality of sequential frames with a single check parity code to create a single parity packet for each row of said plurality of sequential frames for the purpose of correcting single packet losses that may appear in transmission of one of the row of frames in the packet array across said packet-switching network;
- encoding each column of said array of data packets with an error correction code to create at least two codeword packets which are used by said decoder of said Packet Forward Error Correction Coding scheme located at said destination to recover corrupted data packets of said array of data packets;
- transmitting said data packets of said array of data packets and said codeword packets to said destination via said packet switching network;
- and
- when at least one lost packet is recovered, recovering remaining lost packets in each of the rows of all of said plurality of sequential frames using said single parity packet for each row of said plurality of sequential frames.