Method and apparatus for encoding and decoding in electronic device

09571130 ยท 2017-02-14

Assignee

Inventors

Cpc classification

International classification

Abstract

A method and an apparatus for encoding and decoding in an electronic device are provided. In a decoding method, at least one parity symbol is received. A Cauchy matrix is generated using the at least one parity symbol. A Cauchy submatrix is configured from the Cauchy matrix based on the number of at least one lost data symbol and an inverse matrix of the Cauchy submatrix is calculated. At least one parity symbol corresponding to the at least one lost data symbol is updated. The at least one lost data symbol is recovered using the updated at least one parity symbol.

Claims

1. A decoding method in an electronic device comprising: receiving at least one parity symbol; generating a matrix comprising a plurality of elements in a form of a Cauchy matrix based on the at least one parity symbol; configuring a Cauchy submatrix from the matrix based on a number of at least one lost data symbol to calculate an inverse matrix of the Cauchy submatrix; updating the at least one parity symbol corresponding to the number of at least one lost data symbol by multiplying the inverse matrix of the Cauchy submatrix to the at least one parity symbol; and recovering the number of at least one lost data symbol using the updated at least one parity symbol, wherein each of the plurality of elements is determined based on at least one of first sets including Galois Field elements and at least one of second sets including Galois Field elements, and wherein each of the Galois Field elements included in the at least one of first sets is different from each other and each of the Galois Field elements included in the at least one of second sets is different from each other.

2. The method of claim 1, wherein each element of the inverse matrix of the Cauchy submatrix is determined by a ratio of a determinant of the Cauchy matrix and a determinant of the Cauchy submatrix.

3. The method of claim 2, wherein each element of the inverse matrix of the Cauchy submatrix is defined by Equation below: A i , j = det ( A j , i ) det ( A ) , i , j = 1 , .Math. , s , where s is a size of the inverse matrix of the Cauchy submatrix, and A.sub.j,i is a matrix excluding a j-th row and an i-column in the Cauchy matrix A.

4. The method of claim 3, wherein a determinant det (A) of the Cauchy matrix is defined by Equation below: det A = .Math. 0 i < j < n ( x i + x j ) ( y i + y j ) .Math. 0 i , j < n ( x i + y j ) where x.sub.i and y.sub.j are elements of a Galois Field, k is a size of an information message or a length of an information bit, n is a size of an encoded information message or a length of an encoded bit, and i, j are indexes indicating array elements.

5. The method of claim 1, wherein each element of the inverse matrix of the Cauchy submatrix is defined by Equation below in order to express a symbol in a Galois Field: a ij = .Math. k = 0 s - 1 ( x j + y k ) .Math. .Math. k = 0 s - 1 ( x k + y j ) ( x j + y i ) .Math. .Math. k = 0 , .Math. , s - 1 , k j ( x j + x k ) .Math. .Math. k = 0 , .Math. , s - 1 , k i ( y i + y k ) where s is a size of the Cauchy submatrix, and a.sub.ij is an element of an inverse matrix of the Cauchy submatrix that is positioned at an i-th row and a j-th column.

6. The method of claim 1, wherein the updated at least one parity symbol is generated by excluding parity symbols corresponding to received data symbols from the at least one parity symbol.

7. The method of claim 1, wherein the number of at least one lost data symbol is generated by multiplying the inverse matrix of the Cauchy submatrix by the updated at least one parity symbol.

8. An encoding method in an electronic device, the method comprising: receiving at least one message vector; encoding the at least one message vector in parallel using a generation matrix comprising a plurality of elements in a form of a Cauchy matrix form configured to prevent repetition of redundant data; converting the at least one message vector to at least one codeword vector comprising the at least one message vector and a parity vector based on the encoded the at least one message vector; and outputting the at least one codeword vector, wherein each of the plurality of elements is determined based on at least one of first sets including Galois Field elements and at least one of second sets including Galois Field elements, and wherein each of the Galois Field elements included in the at least one of first sets is different from each other and each of the Galois Field elements included in the at least one of second sets is different from each other.

9. The method of claim 8, wherein the generation matrix is defined by Equation below: GM = [ 1 0 .Math. 0 0 0 1 .Math. 0 0 .Math. .Math. .Math. .Math. .Math. 0 0 .Math. 1 0 0 0 .Math. 0 1 1 x 0 + y 0 1 x 0 + y 1 .Math. 1 x 0 + y k - 2 1 x 0 + y k - 1 1 x 1 + y 0 1 x 1 + y 1 .Math. 1 x 0 + y k - 2 1 x 0 + y k - 1 .Math. .Math. .Math. .Math. .Math. 1 x n - k - 2 + y 0 1 x n - k - 2 + y 1 .Math. 1 x n - k - 2 + y k - 2 1 x n - k - 2 + y k - 1 1 x n - k - 1 + y 0 1 x n - k - 1 + y 1 .Math. 1 x n - k - 1 + y k - 2 1 x n - k - 1 + y k - 1 ] where x, y are elements of a Galois Field, k is a size of an information bit, n is a size of a parity bit, and i, j are array elements.

10. The method of claim 9, wherein the generation matrix meets a condition of Equation below in order to prevent repetition of redundant data:
i{0 . . . nk1}, j{0 . . . k1}:x.sub.i+y.sub.j=0; and
i,j{0 . . . nk1}, ij:x.sub.ix.sub.j;i,j{0 . . . k1},ij;y.sub.iy.sub.j.

11. A decoding apparatus in an electronic device, the decoding apparatus comprising: a Cauchy matrix generator configured to receive at least one parity symbol to generate a Cauchy matrix using the at least one parity symbol; an inverse matrix calculator configured to configure a matrix comprising a plurality of elements in a form of a Cauchy submatrix from the Cauchy matrix based on a number of at least one lost data symbol to calculate an inverse matrix of the Cauchy submatrix; a parity updater configured to update at least one parity symbol corresponding to the number of at least one lost data symbol by multiplying the inverse matrix of the Cauchy submatrix to the at least one parity symbol; and a data symbol recovery unit configured to recover the number of at least one lost data symbol using the updated at least one parity symbol, wherein each of the plurality of elements is determined based on at least one of first sets including Galois Field elements and at least one of second sets including Galois Field elements, and wherein each of the Galois Field elements included in the at least one of first sets is different from each other and each of the Galois Field elements included in the at least one of second sets is different from each other.

12. The decoding apparatus of claim 11, wherein each element of the inverse matrix of the Cauchy submatrix is determined by a ratio of a determinant of the Cauchy matrix and a determinant of the Cauchy submatrix.

13. The decoding apparatus of claim 12, wherein each element of the inverse matrix of the Cauchy submatrix is defined by Equation below: A i , j = det ( A j , i ) det ( A ) , i , j = 1 , .Math. , s , where s is a size of the inverse matrix of the Cauchy submatrix, and A.sub.j,i is a matrix excluding a j-th row and an i-column in the Cauchy matrix A.

14. The decoding apparatus of claim 13, wherein a determinant det (A) of the Cauchy matrix is defined by Equation below: det A = .Math. 0 i < j < n ( x i + x j ) ( y i + y j ) .Math. 0 i , j < n ( x i + y j ) where x.sub.i and y.sub.j are elements of a Galois Field, k is a size of an information message or a length of an information bit, n is a size of an encoded information message or a length of an encoded bit, and i, j are indexes indicating array elements.

15. The decoding apparatus of claim 11, wherein each element of the inverse matrix of the Cauchy submatrix is defined by Equation below in order to express a symbol in a Galois Field: a ij = .Math. k = 0 s - 1 ( x j + y k ) .Math. .Math. k = 0 s - 1 ( x k + y j ) ( x j + y i ) .Math. .Math. k = 0 , .Math. , s - 1 , k j ( x j + x k ) .Math. .Math. k = 0 , .Math. , s - 1 , k i ( y i + y k ) where s is a size of the Cauchy submatrix, and a.sub.ij is an element of an inverse matrix of the Cauchy submatrix that is positioned at an i-th row and a j-th column.

16. The decoding apparatus of claim 11, wherein the updated at least one parity symbol is generated by excluding parity symbols corresponding to received data symbols from the at least one parity symbol.

17. The decoding apparatus of claim 11, wherein the number of at least one lost data symbol is generated by multiplying the inverse matrix of the Cauchy submatrix by the updated at least one parity symbol.

18. An encoding apparatus in an electronic device, wherein the encoding apparatus is configured to: receive at least one message vector; encode the at least one message vector parallel using a generation matrix comprising a plurality of elements in a form of a Cauchy matrix form configured to prevent repetition of redundant data; convert the at least one message vector to at least one codeword vector comprising the at least one message vector and a parity vector based on the encoded at least one message vector; and output the at least one codeword vector, wherein each of the plurality of elements is determined based on at least one of first sets including Galois Field elements and at least one of second sets including Galois Field elements, and wherein each of the Galois Field elements included in the at least one of first sets is different from each other and each of the Galois Field elements included in the at least one of second sets is different from each other.

19. The encoding apparatus of claim 18, wherein the generation matrix is defined by Equation below: GM = [ 1 0 .Math. 0 0 0 1 .Math. 0 0 .Math. .Math. .Math. .Math. .Math. 0 0 .Math. 1 0 0 0 .Math. 0 1 1 x 0 + y 0 1 x 0 + y 1 .Math. 1 x 0 + y k - 2 1 x 0 + y k - 1 1 x 1 + y 0 1 x 1 + y 1 .Math. 1 x 0 + y k - 2 1 x 0 + y k - 1 .Math. .Math. .Math. .Math. .Math. 1 x n - k - 2 + y 0 1 x n - k - 2 + y 1 .Math. 1 x n - k - 2 + y k - 2 1 x n - k - 2 + y k - 1 1 x n - k - 1 + y 0 1 x n - k - 1 + y 1 .Math. 1 x n - k - 1 + y k - 2 1 x n - k - 1 + y k - 1 ] where x, y are elements of a Galois Field, k is a size of an information bit, n is a size of a parity bit, and i, j are array elements.

20. The encoding apparatus of claim 19, wherein the generation matrix is configured to meet a condition of Equation below in order to prevent repetition of redundant data:
i{0 . . . nk1}, j{0 . . . k1}:x.sub.i+y.sub.j=0; and
i,j{0 . . . nk1}, ij: x.sub.ix.sub.j;i,j{0 . . . k1},ij;y.sub.iy.sub.j.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:

(2) FIG. 1 is a view illustrating an example encoding apparatus according to this disclosure;

(3) FIG. 2 is a block diagram illustrating an example decoding apparatus according to this disclosure;

(4) FIG. 3 is a flowchart illustrating an example method of encoding according to this disclosure;

(5) FIG. 4 is a flowchart illustrating an example method of decoding according to this disclosure; and

(6) FIGS. 5A and 5B are detailed flowcharts illustrating an example method of decoding according to this disclosure.

(7) Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures.

DETAILED DESCRIPTION

(8) FIGS. 1 through 5B, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged electronic device. The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of exemplary embodiments of the disclosure as defined by the claims and their equivalents. Also, in the case where descriptions of well-known functions and constructions may obscure the spirit of the present disclosure unnecessarily, detailed descriptions thereof are omitted. The terms and words used in the following description are terms defined with consideration of a function in the present disclosure and may change depending on intention or practice, etc. of a user and an operator. Therefore, definition thereof should be made based on content throughout the present specification.

(9) Hereinafter, a method and an apparatus for encoding and decoding in an electronic device 10 are described.

(10) Various embodiments of the present disclosure are applicable to a reed-solomon decoding algorithm for erasure channels capable of recovering k source elements from a set of k received elements. Recovering a source element is based on a basic attribute of a Cauchy matrix where a submatrix of the Cauchy matrix is converted inversely.

(11) However, various embodiments of the present disclosure are not limited to the reed-solomon decoding algorithm, and are applicable to a decoding algorithm based on an FEC technology recovering k source elements from a set of k received elements.

(12) FIG. 1 is a view illustrating an example encoding apparatus 100 according to this disclosure.

(13) Referring to FIG. 1, the encoding apparatus 100 outputs an input message vector (m) (for example, an information bit string having a size of 1*k) as a codeword vector (x=m*G)(an encoded bit string having a size of 1*n) using a generation matrix G having a size of k*n. Here, k<n. The codeword vector is configured using a message vector and a parity vector.

(14) In various embodiments, a plurality of message vectors are parallel-processed, so that a plurality of codeword vectors is output.

(15) Also, in various embodiments, at least a portion of a plurality of codeword vectors is erased. The erased some codeword vectors is recovered by a decoding apparatus and decoded using an original message vector.

(16) In various embodiments of the present disclosure, the generation matrix G is defined by Equation (1) in order to prevent repetition of redundant data.

(17) GM = [ 1 0 .Math. 0 0 0 1 .Math. 0 0 .Math. .Math. .Math. .Math. .Math. 0 0 .Math. 1 0 0 0 .Math. 0 1 1 x 0 + y 0 1 x 0 + y 1 .Math. 1 x 0 + y k - 2 1 x 0 + y k - 1 1 x 1 + y 0 1 x 1 + y 1 .Math. 1 x 0 + y k - 2 1 x 0 + y k - 1 .Math. .Math. .Math. .Math. .Math. 1 x n - k - 2 + y 0 1 x n - k - 2 + y 1 .Math. 1 x n - k - 2 + y k - 2 1 x n - k - 2 + y k - 1 1 x n - k - 1 + y 0 1 x n - k - 1 + y 1 .Math. 1 x n - k - 1 + y k - 2 1 x n - k - 1 + y k - 1 ] ( 1 )

(18) where x, y are elements of a Galois Field, k is a size of an information bit, n is a size of a parity bit, and i, j are array elements.

(19) The generation matrix G meets a condition of Equation (2) below in order to prevent repetition of redundant data.
i{0 . . . nk1}, j{0 . . . k1}:x.sub.i+y.sub.j=0;
i,j{0 . . . nk1}, ij:x.sub.ix.sub.j;i,j{0 . . . k1},ij;y.sub.iy.sub.j(2)

(20) For example, for all i in a range of 0<i<nk1 and all j in a range of 0<j<nk1, x.sub.i+y.sub.j=0 is met, for all i and j in a range of 0<i,j<nk1, x.sub.ix.sub.j is met, and for all i and j in a range of 0<i, j<k1, y.sub.iy.sub.j is met, so that repetition of redundant data in the generation matrix G is prevented.

(21) FIG. 2 is a block diagram illustrating an example decoding apparatus 201 according to this disclosure.

(22) Referring to FIG. 2, the decoding apparatus 201 includes a Cauchy matrix generator 200, an inverse matrix calculator 202, a parity updater 204, and a data symbol recovery unit 206.

(23) The Cauchy matrix generator 200 receives at least one codeword vector from the encoding apparatus 100, collect data symbols and parity symbols included in the codeword vector, and generate a Cauchy matrix A. For example, the Cauchy matrix is configured using parity symbols or a combination of data symbols and parity symbols. In various embodiments, the Cauchy matrix is a Cauchy matrix determined in advance or a default Cauchy matrix.

(24) The inverse matrix calculator 202 calculates an inverse matrix A.sub.i,j of a Cauchy submatrix using a determinant det (A) of a Cauchy matrix generated by the Cauchy matrix generator 200 and a determinant det (A.sub.j,i) of a submatrix A.sub.j,i where at least one row j and at least one column i have been deleted (or excluded) from the Cauchy matrix.

(25) For example, an inverse matrix A.sub.j,i of a Cauchy submatrix is determined by a ratio of the determinant det (A) of the Cauchy matrix and the determinant det (A.sub.j,i) of the submatrix as in Equation (3).

(26) 0 A = det ( A j , i ) det ( A ) , i , j = 1 , .Math. , s , ( 3 )

(27) where s is a size of the inverse matrix of the Cauchy submatrix, and A.sub.j,i is a matrix excluding a j-th row and an i-column in the Cauchy matrix A.

(28) A determinant det (A) of the Cauchy matrix is defined by Equation (4) below.

(29) det A = .Math. 0 i < j < n ( x i + x j ) ( y i + y j ) .Math. 0 i , j < n ( x i + y j ) ( 4 )

(30) where x.sub.i and y.sub.j are elements of a Galois Field, k is a size of an information message or a length of an information bit, n is a size of an encoded information message or a length of an encoded bit, and i, j are indexes indicating array elements.

(31) Each element of the inverse matrix of the Cauchy submatrix is defined by Equation (5) below in order to express a symbol in a Galois Field.

(32) a ij = .Math. k = 0 s - 1 ( x j + y k ) .Math. .Math. k = 0 s - 1 ( x k + y j ) ( x j + y i ) .Math. .Math. k = 0 , .Math. , s - 1 , k j ( x j + x k ) .Math. .Math. k = 0 , .Math. , s - 1 , k i ( y i + y k ) ( 5 )

(33) where s is a size of the Cauchy submatrix, and a.sub.ij is an element of an inverse matrix of the Cauchy submatrix that is positioned at an i-th row and a j-th column.

(34) In various embodiments of the present disclosure, a technology for calculating an inverse matrix of a Cauchy submatrix is an important concept, and provides possibility for implementing a new solution for protecting information from a packet loss. Also, according to various embodiments of the present disclosure, the technology for calculating an inverse matrix of a Cauchy submatrix is used for expressing symbols in a Galois Field.

(35) The parity updater 204 updates content of received parity symbols by excluding information regarding received data symbols. Therefore, the updated parity symbols includes only information regarding a data symbol lost or erased by a transmitter.

(36) The data symbol recovery unit 206 multiplies an inverse matrix of the Cauchy submatrix from the inverse matrix calculator 202 by the updated parity symbols from the parity updater 204 to output data symbols lost or erased by the transmitter.

(37) FIG. 3 is a flowchart illustrating an example method 301 of encoding according to this disclosure.

(38) Referring to FIG. 3, an encoding apparatus 100 receives at least one message vector in step 300, converts the message vector to a codeword vector using a generation matrix G in step 302, and outputs the codeword vector in step 304. The codeword vector is configured using a message vector and a parity vector. In various embodiments of the present disclosure, the generation matrix G is defined by Equation (1) above in order to prevent repetition of redundant data.

(39) FIG. 4 is a flowchart illustrating an example method 401 of decoding according to this disclosure.

(40) Referring to FIG. 4, the decoding apparatus 201 receives at least one codeword vector including data symbols and parity symbols from the encoding apparatus 100 in step 400, and collects the data symbols and the parity symbols included in the codeword vector to generate a Cauchy matrix A in step 402. For example, the Cauchy matrix is configured using parity symbols or a combination of data symbols and parity symbols. In various embodiments, the Cauchy matrix is a Cauchy matrix determined in advance or a default Cauchy matrix.

(41) The decoding apparatus 201 calculates an inverse matrix A.sub.j,i of a Cauchy submatrix using a determinant det (A) of a generated Cauchy matrix and a determinant det (A.sub.j,i) of a submatrix A.sub.j,i, where at least one row j and at least one column i have been deleted (or excluded) from the Cauchy matrix in step 404. For example, an inverse matrix A.sub.j,i of a Cauchy submatrix is determined by a ratio of the determinant det (A) of the Cauchy matrix and the determinant det (A.sub.j,i) of the submatrix as in Equation (3).

(42) The decoding apparatus 201 excludes information regarding received data symbols to update content of received parity symbols in step 406. Therefore, the updated parity symbols includes only information regarding a data symbol lost or erased by a transmitter.

(43) The decoding apparatus multiplies an inverse matrix of the Cauchy submatrix by the updated parity symbols to calculate data symbols lost or erased by the transmitter in step 408.

(44) FIGS. 5A and 5B are a details of a flowchart illustrating an example method 501 of decoding according to this disclosure.

(45) Referring to FIGS. 5A and 5B, the decoding apparatus 201 sets R=nk in step 500, and generates a Cauchy matrix having a size of R*k in step 502. Here, n is a length or size of an encoded message, k is a length or size of an information message, and nk is a length or size of parity information used when an information message is recovered.

(46) In various embodiments, the Cauchy matrix having a size of R*k is configured using a plurality of input parity data (or symbols) or a combination of information data and parity data.

(47) The decoding apparatus 201 calculates an inverse matrix of a Cauchy submatrix in step 504. Each element of the inverse matrix of the Cauchy submatrix is determined by Equation (5). In the inverse matrix of the Cauchy submatrix, a column index is determined by an index of a received parity symbol, and a row index is determined by an index of a lost data symbol.

(48) For example, if two data symbols are lost, two rows and two columns are excluded from a Cauchy matrix. As a result, four determinants and four elements of the inverse matrix of the Cauchy submatrix are determined.

(49) The decoding apparatus sets p=0 in step 506. Here, p is a parity element of a matrix.

(50) When p<T in step 508, the decoding apparatus proceeds to step 510 to set g=0. Here, g is an index and T is a threshold. In contrast, when p>=T, the decoding procedure of the present disclosure ends.

(51) When g<R in step 512, the decoding apparatus 201 proceeds to step 514 to update content of a received symbol. For example, the decoding apparatus 201 updates the parity symbol content as in Equation (6). In contrast, when g>=R in step 512, the decoding apparatus 201 proceeds to step 516.

(52) p g .Math. i = 0 k - 1 A g , i d i = A g , 0 d 0 , p + A g , 1 d 1 , p + .Math. ( 6 )
where d is an information symbol that is known or may not be known, k is a row number, and A is an element of a generation matrix.

(53) The decoding apparatus sets g=g+1 in step 515.

(54) The decoding apparatus 201 sets i=0 in step 516. i is an index.

(55) When i<R in step 518, the decoding apparatus 201 proceeds to step 522 to set j=0. j is an index. In contrast, when i>=R in step 518, the decoding apparatus 201 proceeds to step 520 to set p=p+1.

(56) When j<R in step 526, the decoding apparatus 201 proceeds to step 528 to recover lost data. For example, the decoding apparatus 201 updates parity symbol content as in Equation (7). In contrast, when j>=R in step 526, the decoding apparatus 201 proceeds to step 524 to set i=j+1.
d[i;p]=d[i;p]+a[i;j]*P[j](7)

(57) The decoding apparatus 201 sets j=j+1 in step 539.

(58) As described above, the present disclosure improves a speed of encoding and decoding processes, reduce complexity of encoding and decoding procedures, and reduce power reduction due to repetition of redundant data in a multiblock FEC scheme by determining information regarding a lost or erased data symbol using an inverse matrix of a submatrix of a Cauchy matrix.

(59) Although the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details is made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Therefore, the scope of the present disclosure should not be limited to the above-described embodiments but should be determined by not only the appended claims but also the equivalents thereof.