Patent Document ID: 20060218470
Application ID: 11080093
Patent Flag: 0

Claim One:
1. A method for encoding input data including d data symbols (b 0 , b 1 ,. .. b d−1 ) to generate coded data having d+m symbols, each symbol consisting of N bits, where d is an integer greater than 1, m is an integer greater than 3, N is an integer greater than 1, and s is an integer, the method comprising: (a) receiving the d data symbols; (b) calculating m parity symbols from the d data symbols, wherein each k-th parity symbol for integer k between 0 and m−1 is calculated by evaluating a parity polynomial p b ⁡ ( x ) = ∑ i = 0 d - 1 ⁢ b i ⁢ x i at x = α s + k , where α is a primitive element of a finite field FN of dimension N over the bit field {0,1}, all N-bit symbols being mapped onto the field FN by a mapping which is a vector space isomorphism over {0,1} using bitwise AND and XOR operations, such that for every integer M between 1 and min(m,d) inclusive, and every ordered subset of M−1 integers {i 2 ,. .. i M } between 1 and d−1, and every ordered subset of M= 31 1 integers {j 2 ,. .. j M } between 1 and m−1, the determinant of the matrix ( 1 1 ⋯ 1 1 α i 2 ⁢ j 2 ⋯ α i M ⁢ j 2 ⋮ ⋮ ⋯ ⋮ ⋮ ⋮ … ⋮ 1 α i 2 ⁢ j M ⋯ α i M ⁢ j M ) is nonzero in the field FN; and (c) storing or transmitting the d data symbols and the m parity symbols as the d+m symbols of the coded data.