Triple orthogonally interleaed error correction system
First Claim
1. A method for interleaving and encoding a user data stream, comprising the steps of:
- dividing the user data stream into a sequence of first code groups;
encoding each first code group in the sequence by appending thereto a first error correction code to form a first code word;
sequentially combining each encoded first code word according to the sequence of first code groups to output a sequence of first code words;
arranging the sequence of first code words into a first series of two-dimensional column by row data planes;
orthogonally interleaving the first series of data planes by inter-data plane row shuffling to form a second series of two-dimensional column by row data planes, each column of the second series of data planes comprising a second code group for sequential output;
encoding each second code group in the sequence by appending thereto a second error correction code to form a second code word;
sequentially combining each encoded second code word according to the sequence of second code groups to output a sequence of second code words;
arranging the sequence of second code words into a second code word two-dimensional column by row data plane, each row of the data plane comprising a third code group;
interleaving the arranged second code words in the second code word data plane by sequentially outputting the rows of the first data plane as a sequence of third code groups;
encoding each third code group in the sequence by appending thereto a third error correction code to form a third code word; and
sequentially combining each encoded third code word according to the sequence of third code groups to output a sequence of third code words as the interleaved and encoded user data stream.
6 Assignments
0 Petitions
Accused Products
Abstract
The detection and correction of errors in digital data transmitted by or stored in a media channel is provided by processing the data through a triple orthogonally interleaved error correction system. On the transmit/store side of the system, the data is encoded three times prior to placement in the media channel with two different interleaving steps performed between the encoding steps. The first interleave is an orthogonal row shuffling interleave that provides enhanced protection against burst errors. On the receive/play back side, the data is decoded and deinterleaved, with included errors detected and corrected to enable recovery of the original data. To enhance the error correction, a circuit is used for generating a symbol accurate error flag identifying symbols containing errors thereby allowing the error correcting decoders to focus on and correct the data.
-
Citations
63 Claims
-
1. A method for interleaving and encoding a user data stream, comprising the steps of:
-
dividing the user data stream into a sequence of first code groups; encoding each first code group in the sequence by appending thereto a first error correction code to form a first code word; sequentially combining each encoded first code word according to the sequence of first code groups to output a sequence of first code words; arranging the sequence of first code words into a first series of two-dimensional column by row data planes; orthogonally interleaving the first series of data planes by inter-data plane row shuffling to form a second series of two-dimensional column by row data planes, each column of the second series of data planes comprising a second code group for sequential output; encoding each second code group in the sequence by appending thereto a second error correction code to form a second code word; sequentially combining each encoded second code word according to the sequence of second code groups to output a sequence of second code words; arranging the sequence of second code words into a second code word two-dimensional column by row data plane, each row of the data plane comprising a third code group; interleaving the arranged second code words in the second code word data plane by sequentially outputting the rows of the first data plane as a sequence of third code groups; encoding each third code group in the sequence by appending thereto a third error correction code to form a third code word; and sequentially combining each encoded third code word according to the sequence of third code groups to output a sequence of third code words as the interleaved and encoded user data stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. Apparatus for interleaving and encoding a data stream divided into a sequence of first code groups, comprising:
-
first encoding means for calculating and appending a first error correction code to each first code group to form a first code word, each first code word combined according to the sequence of first code groups for output as a sequence of first code words; means for orthogonally interleaving the sequence of first code words including means for sequentially storing the sequence of first code words into a first series of two-dimensional column by row data planes on a column by column basis, the first code words orthogonally interleaved by inter-data plane row shuffling according to a predetermined shuffling sequence to form a second series of two-dimensional column by row data planes, each column of the second series of data planes comprising a second code group for sequential output as a sequence of second code groups; second encoding means for calculating and appending a second error correction code to each second code group to form a second code word, each second code word combined for output according to the sequence of second code groups as a sequence of second code words; means for interleaving the sequence of second code words including means for sequentially storing the sequence of second code words into a second code word two dimensional column by row data plane on a row by row basis, each row comprising a third code group, the second code words interleaved by sequentially outputting rows of third code groups as a sequence of third code groups; and third encoding means for calculating and appending a third error correction code to each third code group to form a third code word, each third code word combined to output a sequence of third code words representing the interleaved and encoded data stream. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method for interleaving and encoding a user data stream, comprising the steps of:
-
dividing the user data stream into a sequence of first code groups; encoding each first code group in the sequence to append a first error correction code to form a first code word; sequentially combining each encoded first code word according to the sequence of first code groups to output a sequence of first code words; arranging the sequence of first code words into a first series of two-dimensional column by row data planes; orthogonally interleaving the first series of data planes to form a second series of two-dimensional column by row data planes, each column of the second series of data planes comprising a second code group for sequential output; encoding each second code group in the sequence to append a second error correction code to form a second code word; and sequentially combining each encoded second code word according to the sequence of second code groups to output a sequence of second code words. - View Dependent Claims (40, 41)
-
-
42. Apparatus for interleaving and encoding a data stream, comprising:
-
first encoding means for receiving and encoding the data stream, the first encoding means dividing the data stream into a series of user code groups by appending, to each user code group, a first error correction code to output a series of first code words; first interleaving means for receiving the series of first code words from the first encoding means and for orthogonally interleaving the series of first code words to output an orthogonally interleaved series of second code groups; second encoding means for receiving and encoding the orthogonally interleaved series of second code groups by appending, to each second code group, a second error correction code to output a series of second code words; second interleaving means for receiving the series of second code words from the second encoding means and for interleaving the second series of code words to output a series of third code groups; and third encoding means for receiving and encoding the series of third code groups by appending, to each third code group, a third error correction code to output a series of third code words as the interleaved and encoded data stream. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
-
60. Apparatus for interleaving and encoding a data stream divided into a series of user code groups, comprising:
-
first encoding means for receiving and encoding the user data, the first encoding means appending to each user code group a first error correction code to output a series of first code words; interleaving means for receiving the series of first code words from the first encoding means and for orthogonally interleaving the series of first code words to output an orthogonally interleaved series of second code groups; second encoding means for receiving the orthogonally interleaved series of second code groups and appending, to each second code group, a second error correction code to output a series of second code words. - View Dependent Claims (61, 62, 63)
-
Specification