Patent ID: 7032154

Claim:
A method of performing error correction comprising: encoding a stream of data using concatenated reed-solomon and turbo-code error correcting codes comprising, packing said stream of data into a first frame of first blocks, generating said reed-solomon error correcting code for each of said first blocks, appending check symbols of said reed-solomon code to said first blocks to create a second frame of second blocks, packing said second frame of said second blocks into a third frame of third blocks comprising interleaving said second blocks into said third blocks, and generating said turbo-code error correcting code using said third blocks to create a fourth frame: communicating said encoded data over a transmission system; and decoding said encoded data using said reed-solomon and turbo-code error correcting codes and three levels of decoding comprising: recovering check bits of said turbo-code error correcting code and said third blocks from said fourth frame; correcting errors for said third blocks using said turbo-code error correcting code check bits; unpacking said second blocks from said third blocks; recovering said reed-solomon error correcting code check symbols and said first blocks from said second blocks; correcting errors for said first blocks using said reed-solomon error correcting code check symbols; appending said reed-solomon error correcting code check symbols to said corrected first blocks to create a fifth frame of fifth blocks; packing said fifth frame of fifth blocks into a sixth frame of sixth blocks; correcting errors for said sixth blocks using said turbo-code error correcting code; unpacking said fifth blocks from said corrected sixth blocks; and removing said reed-solomon error correcting code check symbols from said fifth blocks.