KR101512078B1 - Method and device of encoding/decoding using specific density based sparse inverse code - Google Patents

Method and device of encoding/decoding using specific density based sparse inverse code Download PDF

Info

Publication number
KR101512078B1
KR101512078B1 KR20130014101A KR20130014101A KR101512078B1 KR 101512078 B1 KR101512078 B1 KR 101512078B1 KR 20130014101 A KR20130014101 A KR 20130014101A KR 20130014101 A KR20130014101 A KR 20130014101A KR 101512078 B1 KR101512078 B1 KR 101512078B1
Authority
KR
South Korea
Prior art keywords
column
row
matrix
message
component
Prior art date
Application number
KR20130014101A
Other languages
Korean (ko)
Other versions
KR20140100835A (en
Inventor
최수정
Original Assignee
최수정
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 최수정 filed Critical 최수정
Priority to KR20130014101A priority Critical patent/KR101512078B1/en
Priority to PCT/KR2014/000983 priority patent/WO2014123351A1/en
Publication of KR20140100835A publication Critical patent/KR20140100835A/en
Application granted granted Critical
Publication of KR101512078B1 publication Critical patent/KR101512078B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes

Abstract

본 발명은 특정 밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치에 관한 것이다.
부호화 방법은 원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고, 상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는 상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하고, 상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는 상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하는 단계 ; 상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성하는 단계; 및 상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하여 전송하는 단계를 포함하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 방법으로 이루어진다.
또한, 복호화 방법은 전송 메시지를 수신하는 단계; 상기 수신한 전송 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성하는 단계; 상기 n 블록의 각 블록을 순서대로 행으로 배열하여 제3 행렬을 생성한 경우에는 상기 제3 행렬에서 행의 성분들의 합이 2 이상인 최초의 행을 제i 행 또는 제1 열의 성분이 '1'이고 동시에 그 행의 성분들의 합이 2 이상인 행을 제i 행이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 행의 제j+1 열의 성분이 '1'이고 제j 행의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 행의 제1 열부터 제i-1 열까지 성분은 '0'으로 하고 제i 행의 제i 열의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 행의 제j 열 성분을 '1'로 하고 제j 행의 제1 열부터 제j-1 열까지의 성분은 '0'으로 하여 제4 행렬을 생성하고, 상기 n 블록의 각 블록을 순서대로 열로 배열하여 제3 행렬을 생성한 경우에는 상기 제3 행렬에서 열의 성분들의 합이 2 이상인 최초의 열을 제i 열 또는 제1 행의 성분이 '1'이고 동시에 그 열의 성분들의 합이 2 이상인 열을 제i 열이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 열의 제j+1 행의 성분이 '1'이고 제j 열의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 열의 제1 행부터 제i-1 행까지 성분은 '0'으로 하고 제i 열의 제i 행의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 열의 제j 행 성분을 '1'로 하고 제j 열의 제1 행부터 제j-1 행까지의 성분은 '0'으로 하여 제4 행렬을 생성하는 단계; 상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 행에 배치되는 경우에, 행(row) 복호화 메시지는 1≤j≤n에 대하여 제i 행의 성분의 합이 '2'이상인 마지막 행을 제j 행이라고 할 때, 1≤i≤j에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 행의 제j 열을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 행의 제k 열의 성분이 제j 행의 제j 열의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 열의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 열(column) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 열의 성분의 합이 '2' 미만이면 열(column)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 열의 성분의 합이 '2' 이상이면 열(column)복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하고, 상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 열에 배치되는 경우에, 열(column) 복호화 메시지는 1≤i≤n에 대하여 제i 열의 성분의 합이 '2'이상인 마지막 열을 제j 열이라고 할 때, 1≤i≤j에 대하여 제i 열의 성분의 합이 '2'미만이면 열(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 열의 제j 행을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 열의 제k 행의 성분이 제j 열의 제j 행의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 행의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 열의 성분의 합이 '2'미만이면 열(column) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 행(row) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 행의 성분의 합이 '2' 미만이면 행(row)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하는 행(row)과 열(column) 복호화 메시지 단계; 및 1≤i≤n에 대하여 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 동일한 경우에 복호화 메시지의 제i 번째 성분을 상기 동일한 값으로 선택하여 복호화하고 상기 행(row) 복호화 메시지와 열(column) 복호화 메시지를 비교하여 동일하지 않은 경우에는 메시지 입력 데이터의 길이 n과 동일한 길이의 복호화 메시지를 얻을 때까지 상기 유사한 부호화 과정과 복호화 과정을 반복 실행하며 이전 단계에서 이미 복호화된 메시지의 성분은 최종 복호화 메시지 성분으로 정하여 그대로 두고 이전단계에서 동일하지 않았던 성분들을 복호화하는 복호화 단계로 이루어진다.
The present invention relates to a method and apparatus for encoding / decoding using a low-density inverse code based on a specific density.
The encoding method includes arranging each bit of original message data in a first row arranged in n columns or a first column in which each bit of original message data is arranged in n rows, When the original message data is arranged in the first row, if a column in which the first '1' is present in the first row is the i-th column, then 1? J &lt; i Th column of the j + 1th row is set to '1' and the remaining components of the j + 1th row are set to '0' for j satisfying i <j? N, The component of the j-th column of the j-th row is '1' and the remaining component of the j-th row is of '0' if the component of the j-th column of the first row is '0' The components from the first column to the (j-1) th column of the j-th column are set to '0' if the component is '1' up to n columns , And when the original message data is arranged in the first column, a row in which the first '1' is present in the first column is referred to as an i-th row, The j-th column of the j + 1-th column is set to '1' and the remaining components of the j + 1-th column are set to '0' for j satisfying 1? J <i from the second column to the i-th column , if the component of the j-th row of the first column is '0' for j satisfying i <j? n, the component of the j-th row of the j-th column is 1 and the remaining components of the j- And if the component of the j-th row of the first column is '1', the components from the first row to the j-1-th row of the j-th column are set to '0' Generating a first matrix of nxn size having the same components as the elements from the jth row to the nth row of the first column; Generating a second matrix by obtaining an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus; And generating a codeword using the second matrix and transmitting the codeword using the second matrix. The encoding method using a low-density sparse inverse code based on a specific density may be used.
The decoding method may further include receiving a transmission message; Dividing the received transmission message into n blocks, and arranging the blocks of the n blocks in rows or columns in order to generate a third matrix of nxn size; When the third matrix is generated by arranging each block of the n blocks in order in the order, the first row having the sum of the components of the row in the third matrix is 2 or more, And the sum of the components of the row is at least 2, the element of the j + 1-th column of the j-th row of the third matrix is '1' for 1? J & The other components are '0', the components from the first column to the i-1th column of the i-th row of the third matrix are '0', the component of the i-th column of the i-th column is '1' The jth column component of the jth row of the third matrix is set to '1' and the components from the first column to the (j-1) th column of the jth row are set to '0' When a third matrix is generated by arranging each block of the n blocks sequentially in a column, a first column having a sum of column components of 2 or more in the third matrix is divided into elements in an i-th column or a first row 1 &quot; and the sum of the components of the column is at least 2 is the i &lt; th &gt; column, the component of the j + 1 row in the jth column of the third matrix is '1' The other components of the column are '0', the components from the first row to the i-1th row of the i-th column of the third matrix are '0', the component of the i-th row of the i-th column is '1' J + 1 &lt; = j &lt; = n, the j-th row component of the j-th column of the third matrix is set to '1', the components from the first row to the j- ; When message data composed of n bits is arranged in a row when generating the first matrix in the fourth matrix, a row decryption message is generated in which the sum of the components of the i &lt; th &gt; row is 1 ', The ith component of the row decryption message is'0' if the sum of the components of the i-th row is less than '2' for 1? I? J, If the sum of the components of the i-th row is greater than or equal to 2, the i-th component of the row decryption message is set to '1', and for k satisfying j <k except for the j- If the component of the kth column of the jth row in the fourth matrix is the first '1' excluding the component of the jth column of the jth row and the sum of the components of the kth column of the fourth matrix is 2 or more, The kth component of the decryption message is set to '1', and if the sum of the components of the i-th row is less than 2 for i satisfying j <i <k and k <i≤n, Of the decrypted message If the i-th component is '0' and the sum of the components of the i-th row is '2' or more, the i-th component of the row decryption message is set to '1' If the sum of the components of the i-th column is less than 2 for 1? I? N in the 4th matrix, the i-th component of the column decryption message is 0 and the sum of the components of the i- And if it is greater than or equal to 2, generates a row decode message and a column decode message with the i-th component of the column decode message as '1', and generates a first matrix from the fourth matrix In the case where message data composed of n bits is generated at the time of generation, a column decryption message is generated when the last column in which the sum of the components of the i &lt; th &gt; If the sum of the components of the i-th column is less than 2 for 1? I? J, the i-th component of the row decryption message is 0, If the sum of the components is greater than or equal to 2, the i-th component of the column decryption message is set to '1', and for k satisfying j &lt; k except for the j- If the component of the k-th row of the j-th column is the first '1' excluding the component of the j-th column of the j-th column and the sum of the components of the k-th row of the fourth matrix is 2 or more, K &quot; of the column decryption message is &quot; 1 &quot;, and if the sum of the components of the i &lt; th column is less than 2 for i satisfying j & If the i-th component is '0' and the sum of the components in the i-th column is '2' or more, the i-th component of the column decryption message is set to '1' If the sum of the components of the ith row for 1? I? N in the matrix is less than 2, the i-th component of the row decryption message is 0 and the component of the i- If the sum is more than '2' Line (row) of the i-th component of the decoded message line (row) and columns (column) decoding the message comprising the steps of "1" generate a line (row) decoding the message with the column (column) decoding the message; And compares the i-th component of the row decryption message with the i-th component of the column decryption message for 1 &lt; i &lt; = n, Decodes the message and compares the row decryption message with a column decryption message. If the decoded message is not the same, the similar encoding process and decoding process are repeated until a decoded message having a length equal to the length n of the message input data is obtained And a decryption step of decrypting the components of the message which have been decrypted in the previous step, which are not identical in the previous step, while leaving the final decryption message component as the final decryption message component.

Description

특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치 {METHOD AND DEVICE OF ENCODING/DECODING USING SPECIFIC DENSITY BASED SPARSE INVERSE CODE}TECHNICAL FIELD [0001] The present invention relates to a method and apparatus for encoding / decoding using a low-density inverse code based on a specific density,

본 발명은 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화/복호화 방법 및 장치에 관한 것으로서, 원본 메시지 데이터로부터 행렬을 생성하고, 생성한 행렬의 역행렬과 전송된 데이터의 밀도(density)를 이용하여 메시지를 쉽게 부호화하고 복호화 할 수 있는 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치에 관한 것이다.
The present invention relates to a method and apparatus for encoding / decoding using a low-density sparse inverse code based on a specific density. A matrix is generated from original message data, and the inverse matrix of the generated matrix and the density The present invention relates to an encoding / decoding method and apparatus using a low-density inverse code based on a specific density, which can easily encode and decode a message using a high-density code.

일반적으로, 많은 통신 장치나 저장 장치, 기록 재생 장치에 있어서는 입력 정보 계열을 부호화한 부호 계열을 전송함으로써 디지털 전송 정보의 비트 오류율(Bit Error Rate, BER)의 저감이 도모되고 있다.Generally, in many communication apparatuses, storage devices, and recording / reproducing apparatuses, a bit error rate (BER) of digital transmission information is reduced by transmitting a code sequence in which an input information sequence is coded.

최근, 예를 들어 이동 통신이나 우주 통신 등의 통신 분야, 및 지상파 또는 위성 디지털 방송이라는 방송 분야의 연구가 활발하게 진행되고 있으며, 그에 수반하여 오류 정정 부호화 및 복호의 효율화를 목적으로 한 부호 이론에 관한 연구도 꾸준하게 행하여지고 있다.In recent years, for example, studies have been actively made on the field of communication such as mobile communication and space communication, and the field of broadcasting such as terrestrial or satellite digital broadcasting, and a code theory for the purpose of improving the efficiency of error correction coding and decoding Research is also being carried out steadily.

부호 성능의 이론적 한계의 예로 섀넌(C.E.Shannon)의 통신로 부호화 정리에 의해 부여되는 섀넌 한계가 알려져 있다. 이에 부호 이론에 관한 연구의 목적 중 하나는 이 섀넌 한계에 가까운 성능을 나타내는 부호를 개발하는 것이다.An example of the theoretical limit of code performance is the Shannon limit given by C.E. Shannon's theorem of coding. One of the purposes of the study of code theory is to develop a code that is close to the Shannon limit.

그러나 기존에 개발된 부호화(encoding) 또는 복호화(decoding) 방법보다 더욱 계산이 간단하고 효율적인 부호화 또는 복호화 기술이 요구된다.However, there is a need for a coding or decoding technique that is simpler and more efficient in computation or decoding than the existing encoding or decoding method.

이에 부호화 단계에서부터 계산 과정을 줄일 수 있으며 복호화 단계에서도 데이터의 복호 성능의 효율성을 개선한 코딩 방법의 필요성이 크게 대두되고 있다.
Accordingly, it is possible to reduce the calculation process from the coding step, and a coding method that improves the efficiency of data decoding performance has been strongly required in the decoding step.

본 발명은 이와 같은 문제점을 해결하기 위한 것으로, 본 발명은 원본 메시지 데이터로부터 행렬을 생성하고 생성된 행렬의 역행렬(inverse matrix)을 구한 후, 2를 법(modulus 2)으로 하는 법 연산(modulus operation)을 적용한 행렬을 사용하여 부호화함으로써, 부호화에 사용되는 계산을 감소시킬 수 있는 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 방법을 제공하는 데에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems and it is an object of the present invention to provide a method and apparatus for generating a matrix from original message data and obtaining an inverse matrix of the generated matrix, The present invention provides a coding method using a sparse inverse code based on a specific density that can reduce the calculation used in coding.

또한, 본 발명은 상기 부호화 방법에 의하여 부호화된 데이터를 행렬로 생성하고, 생성된 행렬에서 행(row) 또는 열(column)의 특정밀도(density)를 기반으로 하여 데이터를 복호화 함으로써, 복잡한 계산 과정이 생략되어 복호의 효율성을 개선시킬 수 있는 저밀도 역 코드 (sparse inverse code)를 이용한 특정밀도를 기반으로 하는 저밀도 역 코드의 복호화 방법을 제공하는 데에 그 목적이 있다.In addition, the present invention generates data encoded by the encoding method as a matrix and decodes data based on a specific density of a row or a column in the generated matrix, Density reverse code decoding method based on a specific density using a sparse inverse code capable of improving the efficiency of decoding.

나아가, 본 발명은 상기 특정밀도를 기반으로 하는 저밀도 역 코드의 부호화/복호화 방법을 실행하기 위한 저밀도 역 코드 (sparse inverse code)를 이용한 특정밀도를 기반으로 하는 저밀도 역 코드의 부호화/복호화 장치를 제공하는 데에 그 목적이 있다.
Furthermore, the present invention provides a low-density inverse-code encoding / decoding apparatus based on a specific density using a low-density inverse code for performing a low-density inverse-code encoding / decoding method based on the specific density The purpose is to do.

본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 방법에 따르면, 원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고, 상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는 상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하고, 상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는 상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하는 단계; 상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성하는 단계; 및 상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하여 전송하는 단계를 포함한다.According to the coding method using a low-density sparse inverse code based on a specific density according to the embodiments of the present invention, each bit of the original message data is divided into n rows, ) Or arranging the bits of the original message data in a first column arranged in n rows and arranging the original message data in the first row, 1 &quot; is the i-th column, the component of the j-th column of the (j + 1) th row is set to '1' for j satisfying 1? J <i from the second row to the i- th column of the j-th column in the j-th column of the j-th column is '0' for the j satisfying i <j? n, 1 'and the remaining components of the j-th row are' 0 ', and if the component of the j-th column of the first row is' 1' Th row to the (j-1) -th column, and the jth column to the nth column in the jth row are the same as the components from the jth column to the nth column in the first row. In the case where the original message data is arranged in the first column, when a row in which the first '1' is present in the first column is the i-th row, 1, the component of the j-th row of the j + 1-th column is set to 1 and the remaining components of the j + 1-th column are set to 0 for j satisfying <i, The component of the j-th row of the j-th column is '1' and the remaining components of the j-th column are composed of '0' when the component of the j-th row of the first column is '0' If the component is '1', the components from the first row to the j-1th row in the jth column are set to '0', and the jth row to the nth row in the jth column Castle Configured to be equal to the step of generating a first matrix of n x n size, comprising; Generating a second matrix by obtaining an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus; And generating and transmitting a codeword using the second matrix.

본 발명의 실시예들에 있어서, 상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는 상기 제1 행렬 및 상기 제2 행렬을 생성하지 않고 모두 '0'으로 이루어진 길이가 n2인 상기 코드워드(codeword)를 생성한다. In embodiments of the invention, when n bits of the message data are both composed of only "0", the said first matrix and the second matrix the length consisting of a '0' all without generating n 2 of And generates the codeword.

본 발명의 다른 실시예들에 있어서, 상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는 상기 제1 행렬 및 상기 제2 행렬을 생성하지 않고 n2이 아닌 다른 길이로 이루어진 코드워드(codeword)를 생성할 수 있다. In other embodiments of the present invention, if the n bits of the message data are all '0', the first matrix and the second matrix are not generated, and the code word having a length other than n 2 (codeword) can be generated.

본 발명의 다른 실시예들에 있어서, 상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는 상기 제1 행렬 및 상기 제2 행렬을 생성하지 않고 n2개가 아닌 다른 개수의 '0'으로 이루어진 코드워드(codeword)를 생성한다.In other embodiments of the present invention, the case of n bits of the message data are both composed of only "0" is the first matrix and the second without creating a second matrix n 2 '0', a different number instead of just &Lt; / RTI &gt;

본 발명의 실시예들에 있어서, 상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하는 단계에서 상기 원본 메시지 데이터를 상기 제1 행렬의 제1 행에 배열하는 경우에는 상기 생성된 제2 행렬의 제1 행 내지 제n 행을 순서대로 연결하는 방식으로 n2의 길이의 상기 코드워드를 생성하고, 상기 원본 메시지 데이터를 상기 제1 행렬의 제1 열에 배열하는 경우에는 상기 생성된 제2 행렬의 제1 열 내지 제n 열을 순서대로 연결하는 방식으로 n2의 길이의 상기 코드워드(codeword)를 생성할 수 있다.In the embodiments of the present invention, when generating the codeword using the second matrix, if the original message data is arranged in the first row of the first matrix, the generated second matrix When the original message data is arranged in the first column of the first matrix, the code words of the second matrix having a length of n 2 are generated by connecting the first to n-th rows of the first matrix, The codeword having a length of n 2 can be generated by connecting the first to n-th columns of the codeword.

본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 방법에 따르면, 전송 메시지를 수신하는 단계; 상기 수신된 전송 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성하는 단계; 상기 n 블록의 각 블록을 순서대로 행으로 배열하여 제3 행렬을 생성한 경우에는 상기 제3 행렬에서 행의 성분들의 합이 2 이상인 최초의 행을 제i 행 또는 제1 열의 성분이 '1'이고 동시에 그 행의 성분들의 합이 2 이상인 행을 제i 행이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 행의 제j+1 열의 성분이 '1'이고 제j 행의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 행의 제1 열부터 제i-1 열까지 성분은 '0'으로 하고 제i 행의 제i 열의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 행의 제j 열 성분을 '1'로 하고 제j 행의 제1 열부터 제j-1 열까지의 성분은 '0'으로 하여 제4 행렬을 생성하고, 상기 n 블록의 각 블록을 순서대로 열로 배열하여 제3 행렬을 생성한 경우에는 상기 제3 행렬에서 열의 성분들의 합이 2 이상인 최초의 열을 제i 열 또는 제1 행의 성분이 '1'이고 동시에 그 열의 성분들의 합이 2 이상인 열을 제i 열이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 열의 제j+1 행의 성분이 '1'이고 제j 열의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 열의 제1 행부터 제i-1 행까지 성분은 '0'으로 하고 제i 열의 제i 행의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 열의 제j 행 성분을 '1'로 하고 제j 열의 제1 행부터 제j-1 행까지의 성분은 '0'으로 하여 제4 행렬을 생성하는 단계; 상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 행에 배치되는 경우에, 행(row) 복호화 메시지는 1≤j≤n에 대하여 제i 행의 성분의 합이 '2'이상인 마지막 행을 제j 행이라고 할 때, 1≤i≤j에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 행의 제j 열을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 행의 제k 열의 성분이 제j 행의 제j 열의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 열의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 열(column) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 열의 성분의 합이 '2' 미만이면 열(column)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 열의 성분의 합이 '2' 이상이면 열(column)복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하고, 상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 열에 배치되는 경우에, 열(column) 복호화 메시지는 1≤i≤n에 대하여 제i 열의 성분의 합이 '2'이상인 마지막 열을 제j 열이라고 할 때, 1≤i≤j에 대하여 제i 열의 성분의 합이 '2'미만이면 열(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 열의 제j 행을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 열의 제k 행의 성분이 제j 열의 제j 행의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 행의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 열의 성분의 합이 '2'미만이면 열(column) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 행(row) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 행의 성분의 합이 '2' 미만이면 행(row)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하는 행(row)과 열(column) 복호화 메시지 단계; 및 1≤i≤n에 대하여 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 동일한 경우에 복호화 메시지의 제i 번째 성분을 상기 동일한 값으로 선택하여 복호화하고 상기 행(row) 복호화 메시지와 열(column) 복호화 메시지를 비교하여 동일하지 않은 경우에는 메시지 입력 데이터의 길이 n과 동일한 길이의 복호화 메시지를 얻을 때까지 상기 유사한 부호화 과정과 복호화 과정을 반복 실행하며 이전 단계에서 이미 복호화된 메시지의 성분은 최종 복호화 메시지 성분으로 정하여 그대로 두고 이전단계에서 동일하지 않았던 성분들을 복호화하는 복호화 단계를 포함한다. According to a decoding method using a low-density sparse inverse code based on a specific density according to embodiments of the present invention, the method includes receiving a transmission message; Dividing the received transmission message into n blocks, and arranging the blocks of the n blocks in rows or columns in order to generate a third matrix of size n x n; When the third matrix is generated by arranging each block of the n blocks in order in the order, the first row having the sum of the components of the row in the third matrix is 2 or more, And the sum of the components of the row is at least 2, the element of the j + 1-th column of the j-th row of the third matrix is '1' for 1? J & The other components are '0', the components from the first column to the i-1th column of the i-th row of the third matrix are '0', the component of the i-th column of the i-th column is '1' The jth column component of the jth row of the third matrix is set to '1' and the components from the first column to the (j-1) th column of the jth row are set to '0' When a third matrix is generated by arranging each block of the n blocks sequentially in a column, a first column having a sum of column components of 2 or more in the third matrix is divided into elements in an i-th column or a first row 1 &quot; and the sum of the components of the column is at least 2 is the i &lt; th &gt; column, the component of the j + 1 row in the jth column of the third matrix is '1' The other components of the column are '0', the components from the first row to the i-1th row of the i-th column of the third matrix are '0', the component of the i-th row of the i-th column is '1' J + 1 &lt; = j &lt; = n, the j-th row component of the j-th column of the third matrix is set to '1', the components from the first row to the j- ; When message data composed of n bits is arranged in a row when generating the first matrix in the fourth matrix, a row decryption message is generated in which the sum of the components of the i &lt; th &gt; row is 1 ', The ith component of the row decryption message is' 0' if the sum of the components of the i-th row is less than '2' for 1? I? J, If the sum of the components of the i-th row is greater than or equal to 2, the i-th component of the row decryption message is set to '1', and for k satisfying j <k except for the j- If the component of the kth column of the jth row in the fourth matrix is the first '1' excluding the component of the jth column of the jth row and the sum of the components of the kth column of the fourth matrix is 2 or more, The kth component of the decryption message is set to '1', and if the sum of the components of the i-th row is less than 2 for i satisfying j <i <k and k <i≤n, Of the decrypted message If the i-th component is '0' and the sum of the components of the i-th row is '2' or more, the i-th component of the row decryption message is set to '1' If the sum of the components of the i-th column is less than 2 for 1? I? N in the 4th matrix, the i-th component of the column decryption message is 0 and the sum of the components of the i- And if it is greater than or equal to 2, generates a row decode message and a column decode message with the i-th component of the column decode message as '1', and generates a first matrix from the fourth matrix In the case where message data composed of n bits is generated at the time of generation, a column decryption message is generated when the last column in which the sum of the components of the i &lt; th &gt; If the sum of the components of the i-th column is less than 2 for 1? I? J, the i-th component of the row decryption message is 0, If the sum of the components is greater than or equal to 2, the i-th component of the column decryption message is set to '1', and for k satisfying j &lt; k except for the j- If the component of the k-th row of the j-th column is the first '1' excluding the component of the j-th column of the j-th column and the sum of the components of the k-th row of the fourth matrix is 2 or more, K &quot; of the column decryption message is &quot; 1 &quot;, and if the sum of the components of the i &lt; th column is less than 2 for i satisfying j & If the i-th component is '0' and the sum of the components in the i-th column is '2' or more, the i-th component of the column decryption message is set to '1' If the sum of the components of the ith row for 1? I? N in the matrix is less than 2, the i-th component of the row decryption message is 0 and the component of the i- If the sum is more than '2' If line (row) of the i-th component of the decoded message line (row) and columns (column) decoding the message comprising the steps of "1" generate a line (row) decoding the message with the column (column) decoding the message; And compares the i-th component of the row decryption message with the i-th component of the column decryption message for 1 &lt; i &lt; = n, Decodes the message and compares the row decryption message with a column decryption message. If the decoded message is not the same, the similar encoding process and decoding process are repeated until a decoded message having a length equal to the length n of the message input data is obtained And decrypting the components of the message that have been decrypted in the previous step, which are not identical in the previous step, as the final decryption message component.

본 발명의 실시예들에 있어서, 상기 전송 메시지를 수신하는 단계 이후에 상기 수신한 전송 메시지의 길이를 측정하는 단계; 상기 측정한 전송 메시지의 길이를 비교하는 단계를 더 포함할 수 있다. 이 때, 상기 비교 결과, 상기 측정된 전송 메시지의 길이가 n2인 경우, 상기 전송된 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성한다. In embodiments of the present invention, the method may further include measuring a length of the received transmission message after receiving the transmission message; And comparing the length of the measured transmission message. If the measured transmission message length is n 2 , the transmitted message is divided into n blocks, and the blocks of the n blocks are arranged in rows or columns in order to obtain a third And generates a matrix.

본 발명의 실시예들에 있어서, 상기 측정된 전송 메시지의 길이가 n2이 아닌 경우, 상기 제3 행렬과 상기 제4 행렬 그리고 상기 행(row)과 열(column) 복호화 메시지 단계를 생략하여 상기 복호화 단계에서 상기 부호화 단계의 입력 메시지 길이인 n 개의 '0'으로 구성된 복호화 메시지 데이터를 생성하여 복호화한다. In embodiments of the present invention, if the measured transmission message length is not n 2 , the third matrix and the fourth matrix, and the row and column decode message steps are omitted, And decodes the decrypted message data having n '0', which is the input message length of the encoding step, in the decryption step.

본 발명의 실시예들에 있어서, 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 복호화 메시지를 얻는 복호화 단계에서 복호화 메시지의 제i 번째 성분은 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분의 동일한 값으로 하며, 최초의 상기 동일한 값을 최종 복호화 메시지로 결정한다. 따라서 최초로 복호화된 메시지를 우선적으로 기억하며 후속 복호화 메시지는 이전에 복호화되지 않았던 성분들이 복호화된다. In embodiments of the present invention, in the decoding step of comparing the i-th component of the row decryption message and the i-th component of the column decryption message to obtain a decryption message, Decides the same first value as the final decoded message, assuming that the i-th component of the row decryption message and the i-th component of the column decryption message have the same value. Accordingly, the first decoded message is preferentially stored, and the subsequent decoded message decodes the previously decoded components.

본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 장치는 제1 행렬 생성부, 제2 행렬 생성부, 코드워드 생성부 및 전송부를 포함한다. 제1 행렬 생성부는 원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고, 상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는 상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성한다. 이와 달리, 상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는 상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성한다. 제2 행렬 생성부는 상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성한다. 상기 코드워드 생성부 및 전송부는 상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하고 전송한다. An encoding apparatus using a low density inverse code based on a specific density according to embodiments of the present invention includes a first matrix generator, a second matrix generator, a codeword generator, and a transmitter. The first matrix generator may arrange each bit of the original message data in a first row arranged in n columns or a first column in which each bit of original message data is arranged in n rows, column, and when the original message data is arranged in the first row, if a column in which the first '1' is present in the first row is the i-th column, 1? j The jth column of the (j + 1) th row is set to 1 and the remaining components of the (j + 1) th row are set to 0 for j satisfying <i, if the component of the jth column of the first row is '0', the component of the jth column of the jth row is '1' and the remaining component of the jth row is '0' If the component of the j-th column is '1', the components from the first column to the (j-1) -th column of the j-th column are set to '0', and the j- Nth column It generates a first matrix of n x n size, made in the configuration to be equal to the component magazine. On the contrary, when the original message data is arranged in the first column, when a row in which the first '1' is present in the first column is the i-th row, 1? J <i is satisfied from the second column to the i'th column 1 &quot;, and the remaining components of the j + 1 &lt; th &gt; column are set to &quot; 0 &quot; If the component of the jth row of the first column is '0', the component of the jth column of the jth column is '1' and the remaining component of the jth column is '0' , The components from the first row to the j-1th row of the jth column are set to '0', and the components from the jth row to the nth row of the jth column are the same as the components from the jth row to the nth row of the first column And generates a first matrix of nxn size. The second matrix generation unit obtains an inverse matrix of the first matrix and generates a second matrix by applying a modulus operation with 2 to the inverse matrix. The codeword generator and the transmitter generate and transmit a codeword using the second matrix.

본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 장치는 전송 메시지를 수신하는 전송 메시지 수신부, 제3 행렬 생성부, 제4 행렬 생성부, 행(row)과 열(column) 복호화 메시지부 및 복호화부를 포함한다. 제3 행렬 생성부는 상기 수신된 전송 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성한다. 제4 행렬 생성부는 기 제3 행렬이 상기 n 블록의 각 블록을 순서대로 행으로 배열하여 제3 행렬을 생성한 경우에는 상기 제3 행렬에서 행의 성분들의 합이 2 이상인 최초의 행을 제i 행 또는 제1 열의 성분이 '1'이고 동시에 그 행의 성분들의 합이 2 이상인 행을 제i 행이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 행의 제j+1 열의 성분이 '1'이고 제j 행의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 행의 제1 열부터 제i-1 열까지 성분은 '0'으로 하고 제i 행의 제i 열의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 행의 제j 열 성분을 '1'로 하고 제j 행의 제1 열부터 제j-1 열까지의 성분은 '0'으로 하여 제4 행렬을 생성한다. 이와 달리, 제4 행렬 생성부는 상기 제3 행렬이 상기 n 블록의 각 블록을 순서대로 열로 배열하여 제3 행렬을 생성한 경우에는 상기 제3 행렬에서 열의 성분들의 합이 2 이상인 최초의 열을 제i 열 또는 제1 행의 성분이 '1'이고 동시에 그 열의 성분들의 합이 2 이상인 열을 제i 열이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 열의 제j+1 행의 성분이 '1'이고 제j 열의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 열의 제1 행부터 제i-1 행까지 성분은 '0'으로 하고 제i 열의 제i 행의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 열의 제j 행 성분을 '1'로 하고 제j 열의 제1 행부터 제j-1 행까지의 성분은 '0'으로 하여 제4 행렬을 생성한다. 행(row)과 열(column) 복호화 메시지부는 상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 행에 배치되는 경우에, 행(row) 복호화 메시지는 1≤j≤n에 대하여 제i 행의 성분의 합이 '2'이상인 마지막 행을 제j 행이라고 할 때, 1≤i≤j에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 행의 제j 열을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 행의 제k 열의 성분이 제j 행의 제j 열의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 열의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 열(column) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 열의 성분의 합이 '2' 미만이면 열(column)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 열의 성분의 합이 '2' 이상이면 열(column)복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성한다. 이와 달리, 행(row)과 열(column) 복호화 메시지부는 상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 열에 배치되는 경우에, 열(column) 복호화 메시지는 1≤i≤n에 대하여 제i 열의 성분의 합이 '2'이상인 마지막 열을 제j 열이라고 할 때, 1≤i≤j에 대하여 제i 열의 성분의 합이 '2'미만이면 열(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 열의 제j 행을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 열의 제k 행의 성분이 제j 열의 제j 행의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 행의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 열의 성분의 합이 '2'미만이면 열(column) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 행(row) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 행의 성분의 합이 '2' 미만이면 행(row)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성한다. 한편, 복호화부는 1≤i≤n에 대하여 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 동일한 경우에 복호화 메시지의 제i 번째 성분을 상기 동일한 값으로 선택하여 복호화하고 상기 행(row) 복호화 메시지와 열(column) 복호화 메시지를 비교하여 동일하지 않은 경우에는 메시지 입력 데이터의 길이 n과 동일한 길이의 복호화 메시지를 얻을 때까지 상기 유사한 부호화 과정과 복호화 과정을 반복 실행하며 이전 단계에서 이미 복호화된 메시지의 성분은 최종 복호화 메시지 성분으로 정하여 그대로 두고 이전단계에서 동일하지 않았던 성분들을 복호화한다. A decoding apparatus using a low-density sparse inverse code based on a specific density according to embodiments of the present invention includes a transmission message receiver for receiving a transmission message, a third matrix generator, a fourth matrix generator, row decryption message unit and a decryption unit. The third matrix generator divides the received transmission message into n blocks, and arranges the blocks of the n blocks in rows or columns in order to generate a third matrix of size n x n. When the third matrix generates a third matrix by sequentially arranging each block of the n blocks in a row, the fourth matrix generator generates the first matrix having the sum of the elements of the row in the third matrix by two or more, 1 &quot; of the j-th row of the third matrix with respect to 1 &lt; j &lt; i when a row or a row of the first column has a component of '1' and the sum of the components of the row is at least 2, 0 &quot; in the first column to the i-1 &lt; th &gt; column of the i &lt; th &gt; row of the third matrix and the i &lt; th &gt; 1 &quot;, the jth column component of the j &lt; th &gt; row of the third matrix is set to '1' for i + 1 & 0 &quot; to generate a fourth matrix. Alternatively, when the third matrix generates the third matrix by sequentially arranging the blocks of the n blocks in the columns, the fourth matrix generator generates the first matrix having the sum of the components of the columns in the third matrix by two or more 1 &lt; th &gt; row in the i &lt; th &gt; column or the j &lt; th &gt; column of the jth column of the third matrix, 0 &quot;, the components from the first row to the i-th row in the i-th column of the third matrix are '0', and the components of the i-th row in the i- 1 &quot;, and the jth row component of the jth column of the third matrix is set to '1' with respect to i + 1? J? N, and the components from the first row to the jth row of the jth column are '0' to generate a fourth matrix. When message data composed of n bits are arranged in a row when a first matrix is generated in the fourth matrix, a row decode message unit generates a row decode message using 1? J? N When the sum of the components of the i-th row is less than 2 for 1 &lt; i &lt; i j, The i-th component of the row decryption message is '1' and the j-th column of the j-th row is '1' if the i-th component of the row decryption message is '0' Th column of the j-th column in the fourth matrix except for the component of the j-th column of the j &lt; th &gt; row and k &lt; th &gt; If the sum of the components is greater than or equal to 2, the kth component of the row decryption message is set to '1', and for i satisfying j <i <k and k < Sum of If the i-th component of the row decryption message is '0' and the sum of the components of the i-th row is more than '2', the i-th component of the row decryption message is '1' And if the sum of the components of the i-th column is less than '2' for 1? I? N in the fourth matrix, the i-th component of the column decryption message is 0 And if the sum of the components of the i-th column in the 4 &lt; th &gt; matrix is greater than or equal to 2, the ith component of the column decryption message is set to '1' to transmit a row decryption message and a column decryption message . Alternatively, when message data composed of n bits are arranged in a column when a first matrix is generated in the fourth matrix, a row decrypting message part and a column decrypting message part are arranged in a column, If the sum of the components of the i-th column is less than '2' for 1 &lt; i &lt; i j, The i-th component of the column decryption message is set to '1' and the j-th row of the j-th column is excluded if the i-th component of the column decryption message is '0' And k &lt; k satisfying j &lt; k, the component of the k-th row of the j-th column in the fourth matrix is the first '1' excluding the component of the j-th row of the j-th column, The kth component of the column decryption message is set to '1', and if i satisfies j &lt; i &lt; k and k &lt; If the sum of the components of the column is less than 2, the i-th component of the column decryption message is 0 and the sum of the components of the i-th column is 2 or more, And the row decryption message is set to '1' if the sum of the components of the i-th row is less than '2' for 1? I? N in the fourth matrix, And if the sum of the components of the ith row in the 4 &lt; th &gt; matrix is greater than or equal to 2, the i-th component of the row decryption message is set to '1' Generates a column decryption message. On the other hand, the decoding unit compares the i-th component of the row decryption message with the i-th component of the column decryption message for 1? I? N, Decrypts the message by selecting the same value, and compares the row decryption message with the column decryption message, and if it is not the same, repeats the similar encoding process until a decrypted message having a length equal to the length n of the message input data is obtained Decryption process is repeatedly performed. In the previous step, the components of the message already decrypted are determined as final decryption message components, and the components that were not identical in the previous step are decrypted.

본 발명의 실시예들에 있어서, 복호화 장치는 상기 전송 메시지 수신부에서 수신한 전송 메시지의 길이를 측정하는 전송 메시지 길이 측정부 및 상기 측정한 전송 메시지의 길이를 비교하는 전송 메시지 길이 비교부를 더 포함한다. 이 때, 상기 비교 결과 상기 전송 메시지의 길이가 n2인 경우, 상기 제3 행렬부는 상기 전송된 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성한다. In the embodiments of the present invention, the decoding apparatus may further include a transmission message length measuring unit measuring a transmission message length received by the transmission message receiving unit and a transmission message length comparing unit comparing lengths of the measured transmission messages . If the length of the transmission message is n 2 , the third matrix unit divides the transmitted message into n blocks, arranges the blocks of the n blocks in rows or columns in order, Thereby generating a third matrix.

본 발명의 실시예들에 있어서, 상기 측정된 전송 메시지의 길이가 n2이 아닌 경우, 상기 제3 행렬 생성부와 상기 제4 행렬 생성부 및 상기 행(row)과 열(column) 복호화 메시지부를 건너뛰고, 상기 복호화부가 상기 부호화 장치의 입력 메시지 길이인 n 개의 '0'으로 구성된 복호화 메시지 데이터를 생성하여 복호화한다.
In an embodiment of the present invention, when the measured transmission message length is not n 2 , the third matrix generator, the fourth matrix generator, and the row and column decode message units And the decoding unit generates and decodes decryption message data having n '0', which is the input message length of the encoding apparatus.

이상에서 설명한 바와 같은 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화/복호화 방법 및 장치에 따르면 다음과 같은 효과가 있다. According to the encoding / decoding method and apparatus using the low-density sparse inverse code based on the specific density as described above, the following effects can be obtained.

원본 메시지 데이터 n 개 비트에서 각 비트를 n 개의 열(column)로 정렬한 제1 행(row) 또는 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열되고, 상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하거나 또는 상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성함으로써 부호화와 복호화의 복잡도를 감소시키며 입력 데이터를 특정 행 또는 특정 열에 배치하고, 입력 데이터의 부분 데이터를 나머지 행 또는 열에 배열하여 n x n 크기의 저밀도인 제1 행렬을 생성함으로써 부호화와 복호화의 계산 부담을 줄일 수 있다. A first column in which n bits of original message data are arranged in n columns or a first column in which each bit is arranged in n rows, Assuming that a column in which a first '1' is present in a first row is an i-th column, the jth column component of the j + 1th row is set to '1' for j satisfying 1? J <i from the second row to the i- And if the component of the j-th column of the first row is '0' with respect to j satisfying i <j? N, the remaining components of the (j + 1) Th column of the j-th column is '1' and the remaining components of the j-th column are '0'. When the component of the j-th column of the first row is '1' And a first matrix having a size of nxn, which is constituted so as to be equal to the components from the j-th column to the n-th column in the first row from the j-th column to the n-th column in the j- Or the first column 1 &quot; in the first column to the i &lt; th &gt; column from the second column to the i &lt; th &gt; , And the remaining components of the (j + 1) th column are set to '0', and when the component of the j-th row of the first column is '0' for j satisfying i <j? N, The first row to the j-th row in the j-th column is '1', and the remaining components in the j-th column are '0' , And the first matrix of the size of nxn, which is constituted so as to be equal to the components from the jth row to the nth row of the first column from the jth row to the nth row of the jth column, The input data is arranged in a specific row or a specific column, and the partial data of the input data is arranged in the remaining rows or columns to obtain a nxn-sized low density By creating the first matrix, the computational burden of coding and decoding can be reduced.

상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 생성된 제2 행렬에서 나타나는 규칙들은 부호화와 복호화의 계산 부담을 현저하게 감소시켜 부호화와 복호화의 효율성을 향상시키며, 특히 더욱 간단하고 쉬운 복호화의 원천 기술을 제공하여 복호화의 성능을 개선시킨다. The rules appearing in the second matrix generated by applying an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus remarkably reduce the computation burden of encoding and decoding Improve the efficiency of encoding and decoding, and especially improve the performance of decoding by providing a more simple and easy source decoding technique.

n개의 비트로 구성된 메시지 입력 데이터를 행 또는 열로 배열할 때, 상기 메시지 입력 데이터에서 최초로 '1'이 나타나는 열 또는 행을 제i 열 또는 제i 행이라고 할 때, 상기 제2 행렬은 n개의 비트로 구성된 메시지 데이터에서 1≤k≤n에 대하여 제k 열의 성분이 0이면 상기 제2 행렬의 제k 행 또는 제k 열의 성분의 합은 1이고 n개의 비트로 구성된 메시지 데이터에서 1≤k≤n에 대하여 제k 열의 성분이 1이면 상기 제2 행렬의 제k 행 또는 제k 열의 성분의 합은 2이다. 그러므로 상기 제2 행렬에서 각 행과 각 열의 합은 '1' 또는 '2'이다. 이를 이용하여 매우 간단하고 쉬운 복호화 방법을 제공하는데 그 목적이 있다. when arranging the message input data composed of n bits in a row or column, a column or row in which '1' appears first in the message input data is an i-th column or an i-th row, the second matrix is composed of n bits In the message data, if the component of the k-th column for 1? K? N is 0, the sum of the components of the k-th column or the k-th column of the second matrix is 1, If the component of the k-th column is 1, the sum of the components of the k-th column or the k-th column of the second matrix is 2. Therefore, the sum of each row and each column in the second matrix is '1' or '2'. And it is an object of the present invention to provide a very simple and easy decoding method.

부호화 단계에서 행렬의 행 또는 열의 순서대로 연접하여 생성된 코드워드를 수신하여 간단한 부호화와 복호화에서 복호기능을 향상시킨다. In the encoding step, the codeword generated by concatenating in the order of the rows or columns of the matrix is received to improve the decoding function in the simple encoding and decoding.

전송된 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성하고 상기 제3 행렬로부터 행의 성분들의 합이 2이상인 최초의 행을 제i 행 또는 제1 열의 성분이 '1'이고 동시에 그 행의 성분들의 합이 2이상인 행을 제i 행이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 행의 제j+1 열의 성분이 '1'이고 제j 행의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 행의 제1 열부터 제i-1 열까지 성분은 '0'으로 하고 제i 행의 제i 열의 성분은 '1'로 한다. i+1≤j≤n에 대하여 제3 행렬의 제j 행의 제j 열 성분을 '1'로 하고 제j 행의 제1 열부터 제j-1 열까지의 성분은 '0'으로 하여 제4 행렬을 생성하거나 또는 상기 제3 행렬에서 열의 성분들의 합이 2이상인 최초의 열을 제i 열 또는 제1 행의 성분이 '1'이고 동시에 그 열의 성분들의 합이 2이상인 열을 제i 열이라고 할 때, i<j≤n에 대하여 제3 행렬의 제j 열의 제j+1 행의 성분이 '1'이고 제j 열의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 열의 제1 행부터 제i-1 행까지 성분은 '0'으로 하고 제i 열의 제i 행의 성분은 '1'로 한다. i+1≤j≤n에 대하여 제3 행렬의 제j 열의 제j 행 성분을 '1'로 하고 제j 열의 제1 행부터 제j-1 행까지의 성분은 '0'으로 하여 제4 행렬을 생성함으로써 복호화의 성능을 향상시킨다. Dividing the transmitted message into n blocks, arranging each block of the n blocks in rows or columns in order to generate a third matrix of nxn size, and generating a first matrix having a sum of elements of the rows from the third matrix of 2 or more When a row in which the elements of the i-th row or the first column is '1' and the sum of the components of the row is at least 2 is an i-th row, j + The components of the first column are '1' and the remaining components of the j-th column are '0', the components from the first column to the i-1 column of the i-th row of the third matrix are '0' The component of the i-th column is "1". the i-th column component of the j-th row of the third matrix is set to '1' for the i + 1 ≦ j ≦ n, and the components from the first column to the (j-1) Or a first column in which the sum of the components of the column in the third matrix is equal to or greater than 2 is referred to as an i &lt; th &gt; column or a column in which the component of the first row is '1' 1 &quot; of the j &lt; th &gt; row of the j &lt; th &gt; column of the third matrix to '0' The components from the 1st row to the (i-1) th row are set to '0', and the i-th row component is set to '1'. j + 1 &lt; = j &lt; = n, the j-th row component of the j-th column of the third matrix is set to 1, the components from the first row to the j- Thereby improving the performance of decoding.

전송된 메시지의 길이를 측정하여 전송 메시지의 길이를 비교하여 상기 비교 결과, 상기 측정된 전송 메시지의 길이가 n2인 경우, 상기 전송된 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성하고 상기 제3 행렬에서 행의 성분들의 합이 2이상인 최초의 행을 제i 행 또는 제1 열의 성분이 '1'이고 동시에 그 행의 성분들의 합이 2이상인 행을 제i 행이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 행의 제j+1 열의 성분이 '1'이고 제j 행의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 행의 제1 열부터 제i-1 열까지 성분은 '0'으로 하고 제i 행의 제i 열의 성분은 '1'로 한다. i+1≤j≤n에 대하여 제3 행렬의 제j 행의 제j 열 성분을 '1'로 하고 제j 행의 제1 열부터 제j-1 열까지의 성분은 '0'으로 하여 제4 행렬을 생성하거나 또는 상기 제3 행렬에서 열의 성분들의 합이 2이상인 최초의 열을 제i 열 또는 제1 행의 성분이 '1'이고 동시에 그 열의 성분들의 합이 2이상인 열을 제i 열이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 열의 제j+1 행의 성분이 '1'이고 제j 열의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 열의 제1 행부터 제i-1 행까지 성분은 '0'으로 하고 제i 열의 제i 행의 성분은 '1'로 한다. i+1≤j≤n에 대하여 제3 행렬의 제j 열의 제j 행 성분을 '1'로 하고 제j 열의 제1 행부터 제j-1 행까지의 성분은 '0'으로 하여 제4 행렬을 생성하고 전송된 메시지의 길이를 측정하여 전송 메시지의 길이를 비교하여 상기 비교 결과, 상기 측정된 전송 메시지의 길이가 n2이 아닌 경우에는 제3 행렬과 제4 행렬을 생성하지 않고 직접 메시지를 복호화함으로써 복호화의 성능을 향상시킨다. The length of the transmitted message is measured to compare the length of the transmitted message. If the measured length of the transmitted message is n 2 , the transmitted message is divided into n blocks, and each block of the n- Order row or column to generate a third matrix having a size of nxn, and the first row in which the sum of the components of the row in the third matrix is equal to or larger than 2 is the i-th row or the component of the first column is '1' Assuming that a row whose sum of components is at least 2 is an i-th row, the component of the j + 1-th column of the j-th row of the third matrix is 1 and the remaining components of the j- ', The components from the first column to the i-th column in the i-th row of the third matrix are set to' 0 ', and the components in the i-th column in the i-th row are set to' 1 '. the i-th column component of the j-th row of the third matrix is set to '1' for the i + 1 ≦ j ≦ n, and the components from the first column to the (j-1) Or a first column in which the sum of the components of the column in the third matrix is equal to or greater than 2 is referred to as an i &lt; th &gt; column or a column in which the component of the first row is '1' 1 &quot; of the j &lt; th &gt; column of the j &lt; th &gt; column of the third matrix to 1 and the remaining components of the j & The components from the 1st row to the (i-1) th row are set to '0', and the i-th row component is set to '1'. j + 1 &lt; = j &lt; = n, the j-th row component of the j-th column of the third matrix is set to 1, the components from the first row to the j- And measures the length of the transmitted message to compare the length of the transmitted message. If the length of the measured transmission message is not n 2 , the third and fourth matrices are not generated, Thereby improving the performance of decoding.

상기 제4 행렬에서 부호화 단계에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 행에 배치되는 경우의 행(row) 복호화 메시지는 1≤j≤n에 대하여 제i 행의 성분의 합이 '2'이상인 마지막 행을 제j 행이라고 할 때, 1≤i≤j에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'이다. 그리고 제j 행의 제j 열을 제외하고 j < k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 행의 제k 열의 성분이 제j 행의 제j 열의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 열의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제k 번째의 성분은 '1'로 결정한다. j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'이다. 그리고 열(column) 복호화 메시지는 상기 제4 행렬에서 1≤j≤n에 대하여 제i 열의 성분의 합이 '2' 미만이면 열(column)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 열의 성분의 합이 '2' 이상이면 열(column)복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하거나 상기 제4 행렬에서 부호화 단계에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 열에 배치되는 경우의 열(column) 복호화 메시지는 1≤j≤n에 대하여 제i 열의 성분의 합이 '2'이상인 마지막 열을 제j 열이라고 할 때, 1≤i≤j에 대하여 제i 열의 성분의 합이 '2'미만이면 열(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column)) 복호화 메시지의 제i 번째의 성분은 '1'이다. 그리고 제j 열의 제j 행을 제외하고 j < k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 열의 제k 행의 성분이 제j 열의 제j 행의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 행의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제k 번째의 성분은 '1'로 결정한다. j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 열의 성분의 합이 '2'미만이면 열(column) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'이다. 그리고 행(row) 복호화 메시지는 상기 제4 행렬에서 1≤j≤n에 대하여 제i 행의 성분의 합이 '2' 미만이면 행(row)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성함으로써 복호화의 복잡도를 매우 감소시키며 복호화의 성능을 매우 향상시킨다. When generating the first matrix in the encoding step in the fourth matrix, the row decode message in the case where the message data composed of n bits is arranged in the row is the sum of the components of the i &lt; th &gt; When the sum of the components of the i &lt; th &gt; row is less than '2' for 1? I? J, And the sum of the components of the i-th row is '2' or more, the i-th component of the row decryption message is '1'. For k satisfying j < k except for the j &lt; th &gt; column of the j &lt; th &gt; row, the component of the k &lt; th &gt; column of the j &lt; th &gt; row in the fourth matrix is the first '1' excluding the component of the j & If the sum of the components of the k-th column of the fourth matrix is greater than or equal to 2, the k-th component of the row decryption message is determined as '1'. If the sum of the components of the i-th row is less than 2 for i satisfying j <i <k and k <i? n, the i-th component of the row decryption message is '0' Is equal to or greater than '2', the i-th component of the row decryption message is '1'. If the sum of the components of the i &lt; th &gt; column is less than 2 for 1 &amp;le; j &amp;le; n in the fourth matrix, the ith component of the column decryption message is '0' If the sum of the components of the i-th column in the 4 &lt; th &gt; matrix is greater than or equal to 2, the i-th component of the column decryption message is set to 1 to generate a row decryption message and a column decryption message When generating the first matrix in the encoding step in the fourth matrix, a column decode message in the case where message data composed of n bits are arranged in a column has a sum of components of the i &lt; th &gt; , The sum of the components of the i-th column for 1? I? J is less than 2, the i-th component of the row decryption message is 0 and the i- If the sum of the column components is more than '2', the ith component of the column decryption message is '1'. And for k satisfying j &lt; k except for the j-th row of the j-th column, the component of the k-th row of the j-th column in the fourth matrix is the first '1' excluding the component of the j- If the sum of the components of the kth row of the fourth matrix is greater than or equal to 2, the kth component of the column decryption message is determined as '1'. If the sum of the components of the i-th column is less than 2 for i satisfying j <i <k and k <i? n, the i-th component of the column decryption message is 0 and the component of the i- Is equal to or greater than 2, the i-th component of the column decryption message is '1'. If the sum of the components of the i &lt; th &gt; row is less than 2 for 1 &amp;ge; n in the fourth matrix, the i th component of the row decryption message is '0' If the sum of the components of the i &lt; th &gt; row in the fourth matrix is greater than or equal to 2, the i-th component of the row decryption message is set to ' 1 ' and a row decryption message and a column decryption message Thereby greatly reducing the decoding complexity and greatly improving the decoding performance.

1≤i≤n에 대하여 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 동일한 경우에 복호화 메시지의 제i 번째 성분을 상기 동일한 값으로 선택하여 복호화하고 상기 행(row) 복호화 메시지와 열(column) 복호화 메시지를 비교하여 동일하지 않은 경우에는 메시지 입력 데이터의 길이 n과 동일한 길이의 복호화 메시지를 얻을 때까지 상기 유사한 부호화 과정과 복호화 과정을 반복 실행하며 이전 단계에서 이미 복호화된 메시지의 성분은 최종 복호화 메시지 성분으로 정하여 그대로 두고 이전단계에서 동일하지 않았던 성분들을 복호화함으로써 복호화의 복잡도를 감소시키고 복호화의 성능을 향상시킨다. The i-th component of the row decryption message and the i-th component of the column decryption message are compared with each other for 1? I? N to select the i-th component of the decryption message as the same value Decodes the message, compares the row decryption message with a column decryption message, and if not, repeats the similar encoding process and decryption process until a decoded message having a length equal to the length n of the message input data is obtained The components of the message already decrypted in the previous step are determined as final decryption message components and decrypted components that were not identical in the previous step are reduced to thereby reduce the complexity of decryption and improve the performance of decryption.

상기 제4 행렬에서 원본 메시지 데이터에 관한 정보가 포함된 행 또는 열의 특정 밀도를 이용하여 매우 간단하고 효율적인 복호화를 한다. And performs a very simple and efficient decoding using the specific density of the row or column including information on the original message data in the fourth matrix.

나아가, 본 발명은 상기 특정한 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)의 부호화/복호화 방법을 실행하기 위한 특정한 밀도를 기반으로 하는 저밀도 역 코드의 부호화/복호화 장치를 제공하는 데에 그 목적이 있다.
Furthermore, the present invention provides a low-density inverse-code encoding / decoding apparatus based on a specific density for executing a low-density sparse inverse-code encoding / decoding method based on the specific density, .

[도 1]은 본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화 장치를 설명하기 위한 블록도
[도 2]는 본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화 방법을 설명하기 위한 순서도
[도 3]은 본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 복호화 장치를 설명하기 위한 블록도
[도 4]는 본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 복호화 방법을 설명하기 위한 순서도
1 is a block diagram for explaining an encoding apparatus using a low density inverse code based on a specific density according to embodiments of the present invention;
FIG. 2 is a flowchart for explaining a coding method using a low-density inverse code based on a specific density according to embodiments of the present invention
3 is a block diagram for explaining a decoding apparatus using a low-density inverse code based on a specific density according to embodiments of the present invention
4 is a flowchart illustrating a decoding method using a low-density inverse code based on a specific density according to embodiments of the present invention

첨부한 도면을 참조하여 본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치에 대하여 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나, 개략적인 구성을 이해하기 위하여 실제보다 축소하여 도시한 것이다.A method and apparatus for encoding / decoding using a low-density inverse code based on a specific density according to embodiments of the present invention will be described in detail with reference to the accompanying drawings. The present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the text. It is to be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing. In the accompanying drawings, the dimensions of the structures are enlarged to illustrate the present invention, and are actually shown in a smaller scale than the actual dimensions in order to understand the schematic structure.

또한, 제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 한편, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Also, the terms first and second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. On the other hand, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

도 1은 본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 장치를 설명하기 위한 블록도이고, 도 2는 본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 방법을 설명하기 위한 순서도이다.FIG. 1 is a block diagram for explaining an encoding apparatus using a low density inverse code based on a specific density according to embodiments of the present invention. FIG. 2 is a block diagram illustrating a specific density FIG. 4 is a flowchart illustrating a coding method using a low-density inverse code based on a coding scheme.

도 1 및 도 2를 참조하면, 본 발명의 실시예들에 따른 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 장치(100)는 제1 행렬 생성부(110), 제2 행렬 생성부(120), 코드워드(codeword) 생성부(130) 및 전송부(140)를 포함한다. 1 and 2, an encoding apparatus 100 using a low-density sparse inverse code based on a specific density according to embodiments of the present invention includes a first matrix generator 110, A matrix generator 120, a codeword generator 130, and a transmitter 140.

본 발명의 실시예들에 있어서, 제1 행렬 생성부(110)의 입력 데이터 n개 비트가 모두 '0'으로 이루어진 경우에는 제1 행렬 생성부(110)와 제2 행렬 생성부(120)를 생략하여 코드워드(codeword) 생성부(130)에서 '0'으로 이루어진 길이가 n2인 코드워드를 생성한다. The first matrix generator 110 and the second matrix generator 120 may be configured so that when the n input bits of the first matrix generator 110 are all '0' The codeword generator 130 generates a code word having a length of '0' and having a length of n 2 .

본 발명의 다른 실시예들에 있어서, 제1 행렬 생성부(110)의 입력 데이터가 n개 비트가 모두 '0'으로 이루어진 경우에는 제1 행렬 생성부(110)와 제2 행렬 생성부(120)를 생략하여 코드워드(codeword) 생성부(130)에서 n개의 '0'으로 이루어진 코드워드를 생성한다. In other embodiments of the present invention, when the input data of the first matrix generator 110 includes n bits of '0', the first matrix generator 110 and the second matrix generator 120 Is omitted and a codeword generator 130 generates n codewords of '0'.

본 발명의 다른 실시예들에 있어서, 제1 행렬 생성부(110)의 입력 데이터 n개 비트가 모두 '0'으로 이루어진 경우에는 제1 행렬 생성부(110)와 제2 행렬 생성부(120)를 생략하여 코드워드(codeword) 생성부(130)에서 '0' 또는 '1'로 이루어진 하나의 비트를 코드워드로 생성한다. The first matrix generator 110 and the second matrix generator 120 may be configured such that when n bits of the input data of the first matrix generator 110 are all '0', the first matrix generator 110 and the second matrix generator 120 ' And a codeword generator 130 generates one bit of '0' or '1' as a codeword.

본 발명의 또 다른 실시예들에 있어서, 제1 행렬 생성부(110)의 입력 데이터 n개 비트가 모두 '0'으로 이루어진 경우에는 제1 행렬 생성부(110)와 제2 행렬 생성부(120)를 생략하여 코드워드(codeword) 생성부(130)에서 길이가 n2이 아닌 코드워드를 생성한다. In another embodiment of the present invention, when all n input data bits of the first matrix generator 110 are '0', the first matrix generator 110 and the second matrix generator 120 ) Is omitted to generate a codeword whose length is not n 2 in the codeword generation unit 130.

제1 행렬 생성부(110)는 원본 메시지 데이터 n 개 비트에서 각 비트를 n 개의 열(column)로 정렬한 제1 행(row) 또는 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열되고, 상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성한다. 또는 상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성한다(S110). The first matrix generator 110 generates a first matrix having a first row in which n bits of original message data are arranged in n columns or a first column in which each bit is arranged in n rows, 1 &quot; in the first row is an i &lt; th &gt; column from the second row to the i &lt; th &gt; row, j + 1 1 &quot;, and the remaining components of the j + 1 &lt; th &gt; row are set to &quot; 0 &quot;, and the component of the jth column of the first row Is '0', the component of the j th column of the j th row is '1' and the remaining component of the j th row is '0'. If the component of the j th column of the first row is '1' The components from the first column to the (j-1) th column are made to be '0', and the components from the jth column to the nth column in the jth row are the same as the components from the jth column to the nth column in the first row Lt; RTI ID = 0.0 &gt; nxn &lt; / RTI &gt; All. Or a row in which the first '1' exists in the first column is referred to as an i-th row, the jth column of the jth row from the second column to the i'th column satisfying 1? J &lt; 1 &quot;, and the remaining components of the j + 1 &lt; th &gt; column are set to '0', and if the component of the j-th row of the first column is '0' 1 &quot; column of the j &lt; th &gt; column to the j-1 &lt; th &gt; column of the j &lt; th &gt; , And a first matrix of nxn size is constructed which is configured to be equal to the components from the jth row to the nth row of the first column from the jth row to the nth row of the jth column S110).

예를 들어, 제1 행렬 생성부(110)의 메시지 입력 데이터 '0010100110'에 대하여 메시지 입력 데이터를 제1 행에 배치하여 제1 행렬을 생성하면 수학식 1과 같은 제1 행렬을 생성한다. 또한 제1 행렬 생성부(110)의 메시지 입력 데이터 '0010100110'에 대하여 메시지 입력 데이터를 제1 열에 배치하여 제1 행렬을 생성하면 수학식 2와 같은 제1 행렬을 생성한다. For example, if the message input data '0010100110' of the first matrix generation unit 110 is placed in the first row and the first matrix is generated, a first matrix as shown in Equation (1) is generated. In addition, when the message input data '0010100110' of the first matrix generator 110 is placed in the first column to generate the first matrix, a first matrix shown in Equation (2) is generated.

[수학식 1][Equation 1]

Figure 112013011767404-pat00001
Figure 112013011767404-pat00001

[수학식 2] &Quot; (2) &quot;

Figure 112013011767404-pat00002
Figure 112013011767404-pat00002

제2 행렬 생성부(120)는 제1 행렬 생성부(110)에서 생성한 제1 행렬의 역행렬을 구한 후에 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성한다(S120).The second matrix generator 120 generates an inverse matrix of the first matrix generated by the first matrix generator 110 and then generates a second matrix by applying a modulus operation with a modulus of 2 (S120).

예를 들어, 제1 행렬 생성부(110)가 수학식 1과 같은 제1 행렬을 생성한 경우에 제2 행렬 생성부(120)는 수학식 3과 같은 제2 행렬을 생성한다. 제1 행렬 생성부(110)가 수학식 2와 같은 제1 행렬을 생성한 경우에 제2 행렬 생성부(120)는 수학식 4와 같은 제2 행렬을 생성한다.  For example, when the first matrix generator 110 generates a first matrix as shown in Equation (1), the second matrix generator 120 generates a second matrix as shown in Equation (3). When the first matrix generator 110 generates a first matrix as shown in Equation (2), the second matrix generator 120 generates a second matrix as shown in Equation (4).

[수학식 3] &Quot; (3) &quot;

Figure 112013011767404-pat00003
Figure 112013011767404-pat00003

[수학식 4] &Quot; (4) &quot;

Figure 112013011767404-pat00004
Figure 112013011767404-pat00004

코드워드 생성부(130)는 제2 행렬 생성부(120)가 생성한 n x n 크기의 제2 행렬의 제1 행 내지 제n 행 또는 제1 열 내지 제n 열을 하나의 라인에 순서대로 배열하는 방식으로 n2 길이의 코드워드를 생성한다(S130). 예를 들어, 코드워드 생성부(130)는 수학식 3의 제2 행렬에 대해서 '0100000000001000000010001000000001000000000010010000000100000000001000000000011000000000100000000001'의 코드워드를 생성할 수 있으며, 수학식 4의 제2 행렬에 대하여 '0010000000100000000001000000000001000000001010000000000100000000001000000010010000000001100000000001'의 코드워드를 생성할 수 있다. The code word generator 130 sequentially arranges the first to nth rows or the first to nth columns of the second matrix of nxn size generated by the second matrix generator 120 on one line Thereby generating codewords of length n 2 (S 130). For example, the codeword generation unit 130 may generate a codeword of '01000000000010000000000100000010010000000010010000001000000001001000000001000000001000000000000000000100000000000000000000100000000001' for the second matrix of Equation (3), and generates a codeword of '00100000001000000000010010000000001000000100100000000100100000000100000001001000000000100000000001' for the second matrix of Equation (4) can do.

한편, 메시지 데이터의 길이 n 에 대하여 메시지 데이터가 모두 '0'으로 이루어진 경우에는 제1 행렬 생성부(110)와 제2 행렬 생성부(120)를 건너뛰어(생략하여) 코드워드 생성부(130)에서 '0'으로 이루어진 길이가 n2 인 코드워드를 생성하여 전송부(140)에 전달한다. If the message data is all '0' with respect to the length n of the message data, the first and second matrix generators 110 and 120 are skipped (omitted) and the code word generator 130 ) is made of a length "0" from the 2 n to generate the code word is transmitted to the transmission unit 140. the

본 발명의 다른 실시예들에 있어서, 메시지 데이터의 길이 n 에 대하여 메시지 데이터가 모두 '0'으로 이루어진 경우에는 제1 행렬 생성부(110)와 제2 행렬 생성부(120)를 생략하여 코드워드 생성부(130)에서 '0'으로 이루어진 길이가 n 인 코드워드를 생성하여 전송부(140)에 전달한다. In other embodiments of the present invention, when the message data is all '0' with respect to the length n of the message data, the first matrix generator 110 and the second matrix generator 120 may be omitted, The generation unit 130 generates a code word having a length of '0', and transmits the code word to the transmission unit 140.

본 발명의 다른 실시예들에 있어서, 메시지 데이터의 길이 n에 대하여 메시지 데이터가 모두 '0'으로 이루어진 경우에는 제1 행렬 생성부(110)와 제2 행렬 생성부(120)를 생략하여 코드워드 생성부(130)에서 '0' 또는 '1'을 코드워드로 생성하여 전송부(140)에 전달한다. In other embodiments of the present invention, when the message data is all '0' with respect to the length n of the message data, the first matrix generator 110 and the second matrix generator 120 may be omitted, 0 &quot; or &quot; 1 &quot; in the code generation unit 130 and transmits the code word to the transmission unit 140.

본 발명의 다른 실시예들에 있어서, 메시지 데이터의 길이 n에 대하여 메시지 데이터가 모두 '0'으로 이루어진 경우에는 제1 행렬 생성부(110)와 제2 행렬 생성부(120)를 생략하여 코드워드 생성부(130)에서 길이가 n2이 아닌 코드워드를 생성하여 전송부(140)에 전달한다. In other embodiments of the present invention, when the message data is all '0' with respect to the length n of the message data, the first matrix generator 110 and the second matrix generator 120 may be omitted, The generation unit 130 generates a codeword whose length is not n 2 and transmits it to the transmission unit 140.

전송부(140)는 코드워드 생성부(130)에서 생성된 코드워드를 외부로 전송한다(S140). The transmitting unit 140 transmits the codeword generated by the codeword generating unit 130 to the outside (S140).

이와 같이, 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 장치(100)는 원본 메시지 데이터를 제1 행 또는 제1 열에 배치하여 저밀도의 상기 제1 행렬을 생성하고 특히, 상기 제2 행렬의 각 행과 각 열은 '1'의 개수가 한 개 또는 두 개인 매우 저밀도이므로 부호화의 계산 부담을 줄일 수 있다. As described above, the encoding apparatus 100 using the low-density sparse inverse code based on the specific density generates the first matrix of low density by arranging the original message data in the first row or the first column, Since each row and each column of the second matrix has a very low density of one or two '1' s, the calculation burden on the encoding can be reduced.

또한, 특정밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 장치(100)는 제2 행렬 생성부(120)에서 생성된 제2 행렬에서 나타나는 '0'과 '1'의 특정한 배열(array)의 규칙들은 메시지 데이터에 관한 정보를 나타내기 때문에 부호화와 복호화의 계산 부담을 줄이고 부호화와 복호화가 매우 간단하기 때문에 부호화와 복호화의 성능을 향상시키며 효율적이다.  In addition, the encoding apparatus 100 using a low-density sparse inverse code based on a specific density generates a specific matrix of '0' and '1' appearing in the second matrix generated by the second matrix generator 120 Since array rules represent information on message data, it reduces the computational burden of encoding and decoding and improves the performance of encoding and decoding because it is very simple to encode and decode.

도 3은 본 발명의 실시예들에 따른 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 장치(200)를 설명하기 위한 블록도이고, 도 4는 본 발명의 실시예들에 따른 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 방법을 설명하기 위한 순서도이다. 3 is a block diagram for explaining a decoding apparatus 200 using a low density inverse code based on a specific density according to embodiments of the present invention. FIG. 2 is a flowchart illustrating a decoding method using a low density inverse code based on a specific density according to an embodiment of the present invention.

도 3 및 도 4를 참조하면 본 발명의 실시예들에 따른 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 장치(200)는 전송 메시지 수신부(210), 전송 메시지 길이 측정부(220), 전송 메시지 길이 비교부(230), 제3 행렬 생성부(240), 제4 행렬 생성부(250), 행(row)과 열(column) 복호화 메시지부(260), 복호화부(270)를 포함한다. Referring to FIGS. 3 and 4, a decoding apparatus 200 using a low-density sparse inverse code based on a specific density according to embodiments of the present invention includes a transmission message receiver 210, A transmission message length comparison unit 230, a third matrix generation unit 240, a fourth matrix generation unit 250, a row and column decryption message unit 260, a decryption unit 270).

특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 장치(200)는 부호화 장치(100)로부터 일정 정보를 전달 받아 복호화 과정을 수행할 수 있다. 이 때 본 복호화 장치(200)는 원본 메시지 길이에 대한 정보 또는 메시지 입력 데이터의 길이, 전송 메시지의 길이에 대한 정보를 사전에 부호화 장치(100)로부터 전달 받아 획득할 수 있다. The decoding apparatus 200 using a low-density sparse inverse code based on a specific density can receive the predetermined information from the encoding apparatus 100 and perform a decoding process. At this time, the decoding apparatus 200 can acquire information on the length of the original message, the length of the message input data, and the length of the transmission message from the encoding apparatus 100 in advance.

전송 메시지 수신부(210)는 외부로부터 전송된 전송 메시지를 수신한다. 이 때, 전송 메시지 수신부(210)는 특정 길이를 갖는 전송 메시지를 수신할 수 있다. 예를 들어, 전송 메시지 수신부(210)는 n2 , n 또는 1 의 길이를 갖는 전송 메시지를 수신할 수 있다. 이와 달리, 전송 메시지 수신부(210)는 n2 또는 n2 이 아닌 길이로 이루어진 전송 메시지를 수신할 수 있다. The transmission message receiving unit 210 receives an externally transmitted transmission message. At this time, the transmission message receiving unit 210 can receive a transmission message having a specific length. For example, the transmission message receiving unit 210 may receive a transmission message having a length of n 2 , n, or 1. Alternatively, the transmission message receiving unit 210 may receive a transmission message having a length other than n 2 or n 2 .

전송 메시지 길이 측정부(220)는 전송 메시지 수신부(210)로부터 전달한 전송 메시지의 길이를 측정하고(S220), 상기 측정된 전송 메시지의 길이를 바탕으로 전송된 메시지는 제3 행렬 생성부(240), 제4 행렬 생성부(250), 행(row)과 열(column) 복호화 메시지부(260), 복호화부(270)로 전달된다. The transmission message length measuring unit 220 measures the length of the transmission message transmitted from the transmission message receiving unit 210 in step S220 and transmits the message based on the measured transmission message length to the third matrix generator 240. [ The fourth matrix generating unit 250, the row and column deciphering message unit 260, and the decryption unit 270.

전송 메시지 길이 비교부(230)에서 상기 측정한 전송 메시지의 길이를 비교한다. 이 때, 전송 메시지 길이 비교부(230)는 전송 메시지의 길이가 n2 인지 아닌지를 판단할 수 있다. 또한, 전송 메시지 길이 비교부(230)는 전송 메시지의 길이가 특정 길이를 갖는 지를 판단할 수 있다. The transmission message length comparison unit 230 compares the length of the measured transmission message. At this time, the transmission message length comparing unit 230 can determine whether the length of the transmission message is n 2 or not. In addition, the transmission message length comparing unit 230 may determine whether the length of the transmission message has a specific length.

한편 비교 결과, 전송 메시지의 길이가 n 개 이거나 1 개 이거나, 또는 n2 개가 아닌 경우에는 제3 행렬 생성부(240), 제4 행렬 생성부(250), 행(row)과 열(column) 복호화 메시지부(260)를 생략하고(건너뛰고) 복호화부(270)에서 메시지 데이터의 길이만큼의 '0'으로 이루어진 복호화 메시지를 생성한다(S270). 예를 들어, 메시지 입력 데이터의 길이가 10인 경우에, 제3 행렬 생성부(240), 제4 행렬 생성부(250), 행(row)과 열(column) 복호화 메시지부(260)를 생략하고 복호화부에서 '0000000000'을 복호화 메시지로 생성한다. If the length of the transmission message is n, 1, or n 2 , the third matrix generator 240, the fourth matrix generator 250, the row and the column, The decryption unit 260 is skipped and the decryption unit 270 generates a decryption message of '0' corresponding to the length of the message data in step S270. For example, when the length of the message input data is 10, the third matrix generation unit 240, the fourth matrix generation unit 250, the row and column decryption message unit 260 are omitted And generates '0000000000' as a decryption message in the decryption unit.

한편, 상기 전송 메시지 길이 비교부(230)에서 전송 메시지의 길이가 n2 인 경우에는 전송된 메시지는 제3 행렬 생성부(240)로 전달된다. If the length of the transmission message is n 2 in the transmission message length comparison unit 230, the transmitted message is transmitted to the third matrix generation unit 240.

본 발명의 다른 실시예들에 있어서, 복호화 장치(200)가 전송 메시지의 길이에 대한 정보를 이미 알고 있는 경우에는 전송 메시지 길이 측정부(220)와 전송 메시지 길이 비교부(230)를 생략하여 바로 제3 행렬 생성부(240), 제4 행렬 생성부(250), 행(row)과 열(column) 복호화 메시지부(260), 복호화부(270)로 전달될 수 있다. In other embodiments of the present invention, if the decoding apparatus 200 already knows the information on the length of the transmission message, the transmission message length measurement unit 220 and the transmission message length comparison unit 230 may be omitted, The third matrix generator 240, the fourth matrix generator 250, the row and column decryption message unit 260, and the decoder 270.

제3 행렬 생성부(240)는 상기 전송된 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성한다. 이 때, 제3 행렬 생성부(240)는 제3 행렬을 n2 길이의 전송 메시지를 n 블록으로 구분한 후, 제1 행 내지 제n 행으로 구성된 제3 행렬을 생성하거나, 제1 열 내지 제n 열로 구성된 제3 행렬을 생성한다(S240). The third matrix generator 240 divides the transmitted message into n blocks and arranges the blocks of the n blocks in rows or columns in order to generate a third matrix of nxn size. At this time, the third matrix generator 240 generates a third matrix consisting of the first to n-th rows after dividing the third matrix into n blocks of the transmission message of length n 2 , And a third matrix composed of the n-th column is generated (S240).

예를 들면 전송 메시지 수신부(210)에서 수신된 전송된 메시지가 For example, if the transmitted message received by the transmission message receiving unit 210 is

'0100000000001000000010001000000001000000000010010000000100000000001000000000011000000000100000000001'이면 전송 메시지 길이 측정부(220)에서 전송된 메시지 길이가 100으로 측정되고, 전송 메시지 길이 비교부(230)에서 비교결과 전송된 메시지의 길이가 n2 이므로 제3 행렬 생성부(240)로 전달되어 제3 행렬 생성부(240)에서는 수학식 5와 같은 제3 행렬을 생성한다. Since the length of the message transmitted from the transmission message length measuring unit 220 is 100 and the length of the message transmitted as the comparison result in the transmission message length comparing unit 230 is n 2 , the third matrix generator 240 (240) And the third matrix generator 240 generates a third matrix as shown in Equation (5).

[수학식 5]&Quot; (5) &quot;

Figure 112013011767404-pat00005
Figure 112013011767404-pat00005

예를 들면 전송 메시지 수신부(210)에서 수신된 전송된 메시지가 For example, if the transmitted message received by the transmission message receiving unit 210 is

'0010000000100000000001000000000001000000001010000000000100000000001000000010010000000001100000000001'이면 전송 메시지 길이 측정부(220)에서 전송된 메시지 길이가 100으로 측정되고, 전송 메시지 길이 비교부(230)에서 비교결과 전송된 메시지의 길이가 n2 이므로 제3 행렬 생성부(240)로 전달되어 제3 행렬 생성부(240)에서는 수학식 6과 같은 제3 행렬을 생성한다. '001000000010000000000100000000000100000000100000000001000000001000000000010000000000000000000000000000000000000000000000000000000000001', the length of the message transmitted from the transmission message length measurement unit 220 is 100 and the length of the message transmitted by the transmission message length comparison unit 230 is n 2 , And the third matrix generator 240 generates a third matrix as shown in Equation (6).

[수학식 6]&Quot; (6) &quot;

Figure 112013011767404-pat00006
Figure 112013011767404-pat00006

제4 행렬 생성부(250)는 상기 제3 행렬 생성부(240)에서 생성된 제3 행렬에서 행의 성분들의 합이 2이상인 최초의 행을 제i 행 또는 제1 열의 성분이 '1'이고 동시에 그 행의 성분들의 합이 2이상인 행을 제i 행이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 행의 제j+1 열의 성분이 '1'이고 제j 행의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 행의 제1 열부터 제i-1 열까지 성분은 '0'으로 하고 제i 행의 제i 열의 성분은 '1'로 한다. i+1≤j≤n에 대하여 제3 행렬의 제j 행의 제j 열 성분을 '1'로 하고 제j 행의 제1 열부터 제j-1 열까지의 성분은 '0'으로 하여 제4 행렬을 생성하거나 또는 상기 제3 행렬에서 열의 성분들의 합이 2이상인 최초의 열을 제i 열 또는 제1 행의 성분이 '1'이고 동시에 그 열의 성분들의 합이 2이상인 열을 제i 열이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 열의 제j+1 행의 성분이 '1'이고 제j 열의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 열의 제1 행부터 제i-1 행까지 성분은 '0'으로 하고 제i 열의 제i 행의 성분은 '1'로 한다. i+1≤j≤n에 대하여 제3 행렬의 제j 열의 제j 행 성분을 '1'로 하고 제j 열의 제1 행부터 제j-1 행까지의 성분은 '0'으로 하여 제4 행렬을 생성한다(S250). The fourth matrix generator 250 generates the first matrix having the sum of the elements of the rows in the third matrix generated by the third matrix generator 240 equal to or greater than 2 as the elements of the i- A row j + 1 column of the j-th row of the third matrix is '1' for 1 &lt; j &lt; i, And the component from the first column to the i-1th column of the i-th row of the third matrix is '0', and the component of the i-th column of the i-th row is '1'. the i-th column component of the j-th row of the third matrix is set to '1' for the i + 1 ≦ j ≦ n, and the components from the first column to the (j-1) Or a first column in which the sum of the components of the column in the third matrix is equal to or greater than 2 is referred to as an i &lt; th &gt; column or a column in which the component of the first row is '1' 1 &quot; of the j &lt; th &gt; column of the j &lt; th &gt; column of the third matrix to 1 and the remaining components of the j & The components from the 1st row to the (i-1) th row are set to '0', and the i-th row component is set to '1'. j + 1 &lt; = j &lt; = n, the j-th row component of the j-th column of the third matrix is set to 1, the components from the first row to the j- (S250).

예를 들면, 메시지 입력 데이터가 '0010100110'인 경우에 제3 행렬 생성부(240)에서 생성된 제3 행렬이 수학식 5와 같은 경우에 수학식 7과 같은 제4 행렬을 얻을 수 있으며, 제3 행렬 생성부(240)에서 생성된 제3 행렬이 수학식 6과 같은 경우에 수학식 8과 같은 제4 행렬을 얻을 수 있다.  For example, when the message input data is '0010100110', the third matrix generated by the third matrix generator 240 may be a fourth matrix as shown in Equation (7) When the third matrix generated by the 3-matrix generation unit 240 is Equation (6), a fourth matrix as shown in Equation (8) can be obtained.

[수학식 7]&Quot; (7) &quot;

Figure 112013011767404-pat00007
Figure 112013011767404-pat00007

[수학식 8]&Quot; (8) &quot;

Figure 112013011767404-pat00008
Figure 112013011767404-pat00008

행(row)과 열(column) 복호화 메시지부(260)에서는 부호화 단계에서 제1 행렬을 생성할 때 n 개의 비트로 구성된 메시지 데이터가 행에 배치되는 경우의 행(row) 복호화 메시지는 상기 제4 행렬에서 1≤j≤n에 대하여 제i 행의 성분의 합이 '2'이상인 마지막 행을 제j 행이라고 할 때, 1≤i≤j에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'이다. 그리고 제j 행의 제j 열을 제외하고 j < k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 행의 제k 열의 성분이 제j 행의 제j 열의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 열의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제k 번째의 성분은 '1'로 결정한다. j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'이다. 그리고 열(column) 복호화 메시지는 상기 제4 행렬에서 1≤j≤n에 대하여 제i 열의 성분의 합이 '2' 미만이면 열(column)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 열의 성분의 합이 '2' 이상이면 열(column)복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row)과 열(column) 복호화 메시지를 생성한다(S260).  In a row and column decryption message unit 260, when a first matrix is generated in an encoding step, a row decode message in the case where message data composed of n bits are arranged in a row is transmitted to the fourth matrix If the sum of the components of the i-th row is less than 2, for 1 &lt; i &lt; i j, If the i-th component of the row decryption message is '0' and the sum of the components of the i-th row is more than '2', the i-th component of the row decryption message is '1'. For k satisfying j &lt; k except for the j &lt; th &gt; column of the j &lt; th &gt; row, the component of the k &lt; th &gt; column of the j &lt; th &gt; row in the fourth matrix is the first '1' excluding the component of the j & If the sum of the components of the k-th column of the fourth matrix is greater than or equal to 2, the k-th component of the row decryption message is determined as '1'. If the sum of the components of the i-th row is less than 2 for i satisfying j <i <k and k <i? n, the i-th component of the row decryption message is '0' Is equal to or greater than '2', the i-th component of the row decryption message is '1'. If the sum of the components of the i &lt; th &gt; column is less than 2 for 1 &amp;le; j &amp;le; n in the fourth matrix, the ith component of the column decryption message is '0' If the sum of the components of the i-th column in the 4 &lt; th &gt; matrix is greater than or equal to 2, the i-th component of the column decryption message is set to 1 to generate a row and column decryption message ).

예를 들면, 부호화 단계에서 입력 데이터가 제1 행렬 생성부(110)에서 제1 행렬의 제1 행에 배치된 경우에는 제4 행렬인 수학식 7에서 행(row) 복호화 메시지는 제4 행렬의 제1 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제2 행의 성분의 합은 '1'이므로 복호화 메시지는 '0', 제3 행의 성분의 합은 2이므로 복호화 메시지는 '1', 제4 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제5 행의 성분의 합은 2이므로 복호화 메시지는 '1', 제6 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제7 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제8 행의 성분의 합은 2이므로 복호화 메시지는 '1'이고 제8 행이 행의 성분의 합이 2 이상인 마지막 행이므로 제8 행의 제8 열을 제외한 제 9열의 성분이 '1'이고 제9 열의 성분의 합이 '2'이므로 행(row) 복호화 메시지의 제9 번쩨 성분은 1로 결정하며, 제10 행의 성분의 합은 1이므로 복호화 메시지는 '0'이다. 따라서 행(row) 복호화 메시지는 '0010100110' 이다. 제4 행렬인 수학식 7에서 열(row) 복호화 메시지는 제4 행렬의 제1 열의 성분의 합은 0이므로 복호화 메시지는 '0', 제2 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제3 열의 성분의 합은 2이므로 복호화 메시지는 '1', 제4 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제5 열의 성분의 합은 2이므로 복호화 메시지는 '1', 제6 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제7 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제8 열의 성분의 합은 2이므로 복호화 메시지는 '1', 제9 열의 성분의 합은 2이므로 복호화 메시지는 '1', 제10 열의 성분의 합은 1이므로 복호화 메시지는 '0' 이므로 열(column) 복호화 메시지는 '0010100110' 이다. For example, when the input data is arranged in the first row of the first matrix by the first matrix generation unit 110 in the encoding step, the row decode message in Equation (7), which is the fourth matrix, Since the sum of the components of the first row is 1, the decoded message is '0', the sum of the components of the second row is '1', so the decoded message is '0' 1 'and the sum of the components of the fourth row is 1, the decoding message is' 0' and the sum of the components of the fifth row is 2, so that the decoded message is' 1 ' '0', the sum of the components of the seventh row is 1, the decoded message is '0', the sum of the components of the eighth row is 2, so that the decoded message is '1' The ninth column of the row decryption message is the last row because the component in the ninth column except for the eighth column in the eighth row is '1' and the sum of the components in the ninth column is '2' And is determined to be 1, the sum of the components of the 10th line is 1. Because the decoded message is '0'. Therefore, the row decryption message is '0010100110'. Since the sum of the components of the first column of the fourth matrix is 0, the decryption message is '0' and the sum of the components of the second column is 1, so the decryption message is '0' in the equation (7) , The decryption message is '1' because the sum of the components in the third column is 2, the decoding message is '0' because the sum of the components in the fourth column is 1, and the sum of the components in the fifth column is 2, Since the sum of the components in the sixth column is 1, the decoded message is '0', the sum of the components in the seventh column is 1, so that the decoded message is '0' Since the sum of the components is 2, the decrypted message is '1', and the sum of the components in the tenth column is 1, so the decrypted message is '0', and the column decrypted message is '0010100110'.

행(row)과 열(column) 복호화 메시지부(260)에서는 부호화 단계에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 열에 배치되는 경우의 열(column) 복호화 메시지는 상기 제4 행렬에서 1≤j≤n에 대하여 제i 열의 성분의 합이 '2'이상인 마지막 열을 제j 열이라고 할 때, 1≤i≤j에 대하여 제i 열의 성분의 합이 '2'미만이면 열(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column)) 복호화 메시지의 제i 번째의 성분은 '1'이다. 그리고 제j 열의 제j 행을 제외하고 j < k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 열의 제k 행의 성분이 제j 열의 제j 행의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 행의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제k 번째의 성분은 '1'로 결정한다. j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 열의 성분의 합이 '2'미만이면 열(column) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'이다. 그리고 행(row) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 행의 성분의 합이 '2' 미만이면 행(row)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row)과 열(column) 복호화 메시지를 생성한다(S260). In a row and column decryption message unit 260, when a first matrix is generated in an encoding step, a column decode message in the case where message data composed of n bits are arranged in a column, If the sum of the components of the i-th column is less than 2 for 1 &lt; i &lt; j &lt; j, ) Column of the decoded message is '0' and the sum of the components of the i-th column is '2' or more), the i-th component of the decoded message is '1'. And for k satisfying j &lt; k except for the j-th row of the j-th column, the component of the k-th row of the j-th column in the fourth matrix is the first '1' excluding the component of the j- If the sum of the components of the kth row of the fourth matrix is greater than or equal to 2, the kth component of the column decryption message is determined as '1'. If the sum of the components of the i-th column is less than 2 for i satisfying j <i <k and k <i? n, the i-th component of the column decryption message is 0 and the component of the i- Is equal to or greater than 2, the i-th component of the column decryption message is '1'. If the sum of the components of the i &lt; th &gt; row is less than '2' for 1? I? N in the fourth matrix, the i-th component of the row decryption message is '0' If the sum of the components of the i-th row in the 4 &lt; th &gt; matrix is equal to or greater than 2, the i-th component of the row decryption message is set to 1 to generate a row and column decryption message (S260).

예를 들면, 부호화 단계에서 입력 데이터가 제1 행렬 생성부(110)에서 제1 행렬의 제1 열에 배치된 경우에 제4 행렬인 수학식 8에서 행(row) 복호화 메시지는 제4 행렬의 제1 행의 성분의 합은 0이므로 복호화 메시지는 '0', 제2 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제3 행의 성분의 합은 2이므로 복호화 메시지는 '1', 제4 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제5 행의 성분의 합은 2이므로 복호화 메시지는 '1', 제6 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제7 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제8 행의 성분의 합은 1이므로 복호화 메시지는 '0', 제9 행의 성분의 합은 2이므로 복호화 메시지는 '1', 제10 행의 성분의 합은 1이므로 복호화 메시지는 '0' 이다. 따라서 행(row) 복호화 메시지는 '0010100110' 이다. 제4 행렬인 수학식 8에서 열(row) 복호화 메시지는 제4 행렬의 제1 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제2 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제3 열의 성분의 합은 2이므로 복호화 메시지는 '1', 제4 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제5 열의 성분의 합은 2이므로 복호화 메시지는 '1', 제6 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제7 열의 성분의 합은 1이므로 복호화 메시지는 '0', 제8 열의 성분의 합은 2이므로 복호화 메시지는 '1'이고 제8 열이 성분의 합이 2 이상인 마지막 열이기 때문에 제8 열의 제8 행을 제외한 제9 열에서 '1'이 나타나고 제9 행의 합이 2 이상이다. 그러므로 열(row) 복호화 메시지의 제9 번째 성분은 '1'로 결정한다. 그리고 제10 열의 성분의 합은 1이므로 복호화 메시지는 '0' 이다, 따라서 열 (column) 복호화 메시지는 '0010100110' 이다. For example, when the input data is arranged in the first column of the first matrix by the first matrix generation unit 110 in the encoding step, the row decode message in Equation (8), which is the fourth matrix, Since the sum of the components of the first row is 0, the decoded message is '0' and the sum of the components of the second row is 1. Therefore, the decoded message is '0' and the sum of the components of the third row is 2, Since the sum of the components of the fourth row is 1, the decoded message is '0', the sum of the components of the fifth row is 2, so that the decoded message is '1' , The decoded message is '0' because the sum of the components of the seventh row is 1, the decoded message is '0', and the sum of the components of the ninth row is 2 since the decoded message is '0' ', The sum of the components of the tenth row is 1, so the decryption message is' 0'. Therefore, the row decryption message is '0010100110'. Since the sum of the components of the first column of the fourth matrix is 1, the decoded message is '0' and the sum of the components of the second column is 1, so that the decoded message is '0' in Equation (8) , The decryption message is '1' because the sum of the components in the third column is 2, the decoding message is '0' because the sum of the components in the fourth column is 1, and the sum of the components in the fifth column is 2, Since the sum of the components in the sixth column is 1, the decoded message is '0', the sum of the components in the seventh column is 1, so that the decoded message is '0' Since the sum of these components is the last column of 2 or more, '1' appears in the ninth column except the eighth column of the eighth column, and the sum of the ninth column is two or more. Therefore, the ninth component of the row decryption message is determined as '1'. Since the sum of the components in the tenth column is 1, the decryption message is '0', so the column decryption message is '0010100110'.

복호화부(270)에서는 1≤i≤n에 대하여 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 동일한 경우에 복호화 메시지의 제i 번째 성분을 상기 동일한 값으로 선택하여 복호화하고 상기 행(row) 복호화 메시지와 열(column) 복호화 메시지를 비교하여 동일하지 않은 경우에는 메시지 입력 데이터의 길이 n과 동일한 길이의 복호화 메시지를 얻을 때까지 상기 유사한 부호화 과정과 복호화 과정을 반복 실행하며 이전 단계에서 이미 복호화된 메시지의 성분은 최종 복호화 메시지 성분으로 정하여 그대로 두고 이전단계에서 동일하지 않았던 성분들을 복호화한다(S270). The decoding unit 270 compares the i-th component of the row decryption message with the i-th component of the column decryption message with respect to 1? I? N, Decrypts the row decrypted message and the column decrypted message by using the same value and compares the row decrypted message and the column decrypted message to obtain a decoded message having a length equal to the length n of the message input data, And the components of the message already decrypted in the previous step are determined as the final decryption message components, and the components that were not identical in the previous step are decrypted (S270).

예를 들면, 행(row) 복호화 메시지가 '0010100110'이고 열 (column) 복호화 메시지가 '0010100110'이면 복호화부(270)는 '0010100110'을 복호화 메시지로 한다. For example, if the row decryption message is '0010100110' and the column decryption message is '0010100110', the decryption unit 270 decrypts '0010100110' as a decryption message.

복호화부(270)에서는 부호화와 복호화 과정을 반복하는 경우에 있어서 최종 복호화 메시지는 이전의 부호화와 복호화 과정에서 이미 복호화된 메시지를 최종 복호화 메시지로 결정한다.
The decoding unit 270 decides the final decoded message as a final decoded message in the previous encoding and decoding processes when the encoding and decoding processes are repeated.

100 : 부호화 장치 110 : 제1 행렬 생성부
120 : 제2 행렬 생성부 130 : 코드워드 생성부
140 : 전송부 200 : 복호화 장치
210 : 전송 메시지 수신부 220 : 전송 메시지 길이 측정부
230 : 전송 메시지 길이 비교부 240 : 제3 행렬 생성부
250 : 제4 행렬 생성부 260 : 행과 열 복호화 메시지부
270 : 복호화부
100: encoding apparatus 110: first matrix generating unit
120: second matrix generator 130: code word generator
140: Transmitting unit 200: Decoding device
210: transmission message reception unit 220: transmission message length measurement unit
230: transmission message length comparison unit 240: third matrix generation unit
250: fourth matrix generation unit 260: row and column decryption message unit
270:

Claims (18)

삭제delete n 개의 비트로 이루어진 원본 메시지 데이터를 부호화하는 방법에 있어서,
원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고,
상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는
상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하고,
상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는
상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하는 단계;
상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성하는 단계; 및
상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하여 전송하는 단계를 포함하되,
상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는,
상기 제1 행렬 및 상기 제2 행렬을 생성하지 않고 모두 '0'으로 이루어진 길이가 n2인 상기 코드워드(codeword)를 생성하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 방법.
A method for encoding original message data comprising n bits,
Each bit of the original message data is arranged in a first row arranged in n columns or each bit of original message data is arranged in a first column arranged in n rows, ,
When the original message data is arranged in the first row
Assuming that the column in which the first '1' is present in the first row is the i-th column, the components of the jth column of the j + 1 row are set to j satisfying 1? J <i from the second row to the i- 1 &quot;, and the remaining component of the (j + 1) -th row is '0', and if the component of the j-th column of the first row is '0' for j satisfying i < Th row of the j-th column is '1' and the remaining components of the j-th row are '0'. If the component of the j-th column of the first row is '1' A first matrix of nxn size composed of components from the j-th column to the n-th column of the first row from the j-th column to the n-th column of the j-th row, Lt; / RTI &gt;
When the original message data is arranged in the first column
Assuming that the row in which the first '1' exists in the first column is the i-th row, the components of the j-th row in the j + 1 column are set to j satisfying 1? J <i from the second column to the i- 1 &quot;, and the remaining components of the (j + 1) th column are set to '0', and if the component of the j-th row of the first column is '0' The first column of the j-th column to the j-1 &lt; th &gt; row, if the component of the j-th row of the first column is '1' Generating a first matrix having a size of nxn and having a component of '0' and being configured to be the same as the components from the jth row to the nth row of the first column from the jth row to the nth row of the jth column;
Generating a second matrix by obtaining an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus; And
And generating and transmitting a codeword using the second matrix,
If the n bits of the message data are all '0'
And generates the codeword having a length of n 2 , which are both '0', without generating the first matrix and the second matrix, wherein the codeword is a low density inverse code based on a specific density ).
n 개의 비트로 이루어진 원본 메시지 데이터를 부호화하는 방법에 있어서,
원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고,
상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는
상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하고,
상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는
상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하는 단계;
상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성하는 단계; 및
상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하여 전송하는 단계를 포함하되,
상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는,
상기 제1 행렬 및 상기 제2 행렬을 생성하지 않고 n2이 아닌 다른 길이로 이루어진 코드워드(codeword)를 생성하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)의 부호화 방법.
A method for encoding original message data comprising n bits,
Each bit of the original message data is arranged in a first row arranged in n columns or each bit of original message data is arranged in a first column arranged in n rows, ,
When the original message data is arranged in the first row
Assuming that the column in which the first '1' is present in the first row is the i-th column, the components of the jth column of the j + 1 row are set to j satisfying 1? J <i from the second row to the i- 1 &quot;, and the remaining component of the (j + 1) -th row is '0', and if the component of the j-th column of the first row is '0' for j satisfying i < Th row of the j-th column is '1' and the remaining components of the j-th row are '0'. If the component of the j-th column of the first row is '1' A first matrix of nxn size composed of components from the j-th column to the n-th column of the first row from the j-th column to the n-th column of the j-th row, Lt; / RTI &gt;
When the original message data is arranged in the first column
Assuming that the row in which the first '1' exists in the first column is the i-th row, the components of the j-th row in the j + 1 column are set to j satisfying 1? J <i from the second column to the i- 1 &quot;, and the remaining components of the (j + 1) th column are set to '0', and if the component of the j-th row of the first column is '0' The first column of the j-th column to the j-1 &lt; th &gt; row, if the component of the j-th row of the first column is '1' Generating a first matrix having a size of nxn and having a component of '0' and being configured to be the same as the components from the jth row to the nth row of the first column from the jth row to the nth row of the jth column;
Generating a second matrix by obtaining an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus; And
And generating and transmitting a codeword using the second matrix,
If the n bits of the message data are all '0'
And a codeword having a length other than n 2 is generated without generating the first matrix and the second matrix. The coding method of a low-density sparse inverse code based on a specific density .
n 개의 비트로 이루어진 원본 메시지 데이터를 부호화하는 방법에 있어서,
원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고,
상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는
상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하고,
상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는
상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하는 단계;
상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성하는 단계; 및
상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하여 전송하는 단계를 포함하되,
상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는,
상기 제1 행렬 및 상기 제2 행렬을 생성하지 않고 n2개가 아닌 다른 개수의 '0'으로 이루어진 코드워드(codeword)를 생성하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)의 부호화 방법.
A method for encoding original message data comprising n bits,
Each bit of the original message data is arranged in a first row arranged in n columns or each bit of original message data is arranged in a first column arranged in n rows, ,
When the original message data is arranged in the first row
Assuming that the column in which the first '1' is present in the first row is the i-th column, the components of the jth column of the j + 1 row are set to j satisfying 1? J <i from the second row to the i- 1 &quot;, and the remaining component of the (j + 1) -th row is '0', and if the component of the j-th column of the first row is '0' for j satisfying i < Th row of the j-th column is '1' and the remaining components of the j-th row are '0'. If the component of the j-th column of the first row is '1' A first matrix of nxn size composed of components from the j-th column to the n-th column of the first row from the j-th column to the n-th column of the j-th row, Lt; / RTI &gt;
When the original message data is arranged in the first column
Assuming that the row in which the first '1' exists in the first column is the i-th row, the components of the j-th row in the j + 1 column are set to j satisfying 1? J <i from the second column to the i- 1 &quot;, and the remaining components of the (j + 1) th column are set to '0', and if the component of the j-th row of the first column is '0' The first column of the j-th column to the j-1 &lt; th &gt; row, if the component of the j-th row of the first column is '1' Generating a first matrix having a size of nxn and having a component of '0' and being configured to be the same as the components from the jth row to the nth row of the first column from the jth row to the nth row of the jth column;
Generating a second matrix by obtaining an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus; And
And generating and transmitting a codeword using the second matrix,
If the n bits of the message data are all '0'
And generates a codeword consisting of a number of '0' other than n 2 without generating the first matrix and the second matrix. 2. The method of claim 1, ).
제2항 내지 제4항 중 어느 한 항에 있어서,
상기 제2 행렬을 이용하여 상기 코드워드(codeword)를 생성하는 단계에서
상기 원본 메시지 데이터를 상기 제1 행렬의 제1 행에 배열하는 경우에는 상기 생성된 제2 행렬의 제1 행 내지 제n 행을 순서대로 연결하는 방식으로 n2의 길이의 상기 코드워드를 생성하고,
상기 원본 메시지 데이터를 상기 제1 행렬의 제1 열에 배열하는 경우에는 상기 생성된 제2 행렬의 제1 열 내지 제n 열을 순서대로 연결하는 방식으로 n2의 길이의 상기 코드워드(codeword)를 생성하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)의 부호화 방법.
5. The method according to any one of claims 2 to 4,
Generating the codeword using the second matrix,
When the original message data is arranged in the first row of the first matrix, the codeword having a length of n 2 is generated by sequentially connecting the first to n-th rows of the generated second matrix ,
When the original message data is arranged in the first column of the first matrix, the codeword having a length of n 2 is inserted in the first column to the n-th column of the generated second matrix, And generating a low density inverse code based on the specific density.
부호화 방법에 의하여 코드워드(codeword)로 생성되어 전송된 메시지를 복호화하기 위한 방법에 있어서,
전송 메시지를 수신하는 단계;
상기 수신한 전송 메시지의 길이를 측정하는 단계;
상기 측정한 전송 메시지의 길이를 비교하는 단계;
상기 비교 결과, 상기 측정된 전송 메시지의 길이가 n2인 경우, 상기 수신된 전송 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성하는 단계;
상기 n 블록의 각 블록을 순서대로 행으로 배열하여 제3 행렬을 생성한 경우에는
상기 제3 행렬에서 행의 성분들의 합이 2 이상인 최초의 행을 제i 행 또는 제1 열의 성분이 '1'이고 동시에 그 행의 성분들의 합이 2 이상인 행을 제i 행이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 행의 제j+1 열의 성분이 '1'이고 제j 행의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 행의 제1 열부터 제i-1 열까지 성분은 '0'으로 하고 제i 행의 제i 열의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 행의 제j 열 성분을 '1'로 하고 제j 행의 제1 열부터 제j-1 열까지의 성분은 '0'으로 하여 제4 행렬을 생성하고
상기 n 블록의 각 블록을 순서대로 열로 배열하여 제3 행렬을 생성한 경우에는
상기 제3 행렬에서 열의 성분들의 합이 2 이상인 최초의 열을 제i 열 또는 제1 행의 성분이 '1'이고 동시에 그 열의 성분들의 합이 2 이상인 열을 제i 열이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 열의 제j+1 행의 성분이 '1'이고 제j 열의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 열의 제1 행부터 제i-1 행까지 성분은 '0'으로 하고 제i 열의 제i 행의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 열의 제j 행 성분을 '1'로 하고 제j 열의 제1 행부터 제j-1 행까지의 성분은 '0'으로 하여 제4 행렬을 생성하는 단계;
상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 행에 배치되는 경우에, 행(row) 복호화 메시지는 1≤j≤n에 대하여 제i 행의 성분의 합이 '2'이상인 마지막 행을 제j 행이라고 할 때, 1≤i≤j에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 행의 제j 열을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 행의 제k 열의 성분이 제j 행의 제j 열의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 열의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 열(column) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 열의 성분의 합이 '2' 미만이면 열(column)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 열의 성분의 합이 '2' 이상이면 열(column)복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하고
상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 열에 배치되는 경우에, 열(column) 복호화 메시지는 1≤i≤n에 대하여 제i 열의 성분의 합이 '2'이상인 마지막 열을 제j 열이라고 할 때, 1≤i≤j에 대하여 제i 열의 성분의 합이 '2'미만이면 열(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 열의 제j 행을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 열의 제k 행의 성분이 제j 열의 제j 행의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 행의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 열의 성분의 합이 '2'미만이면 열(column) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 행(row) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 행의 성분의 합이 '2' 미만이면 행(row)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하는 행(row)과 열(column) 복호화 메시지 단계; 및
1≤i≤n에 대하여 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 동일한 경우에 복호화 메시지의 제i 번째 성분을 상기 동일한 값으로 선택하여 복호화하고 상기 행(row) 복호화 메시지와 열(column) 복호화 메시지를 비교하여 동일하지 않은 경우에는 메시지 입력 데이터의 길이 n과 동일한 길이의 복호화 메시지를 얻을 때까지 상기 단계들을 반복 실행하며 이전 단계에서 이미 복호화된 메시지의 성분은 최종 복호화 메시지 성분으로 정하여 그대로 두고 이전단계에서 동일하지 않았던 성분들을 복호화하는 복호화 단계를 포함하되,
상기 측정된 전송 메시지의 길이가 n2이 아닌 경우, 상기 제3 행렬과 상기 제4 행렬 그리고 상기 행(row)과 열(column) 복호화 메시지 단계를 생략하여 상기 복호화 단계에서
상기 부호화 단계의 입력 메시지 길이인 n 개의 '0'으로 구성된 복호화 메시지 데이터를 생성하여 복호화하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 방법.
A method for decoding a message generated by a codeword according to an encoding method and transmitted,
Receiving a transmission message;
Measuring a length of the received transmission message;
Comparing lengths of the measured transmission messages;
If the measured transmission message length is n 2 , the received transmission message is divided into n blocks, and each block of the n blocks is arranged in a row or column in order so that a third matrix of nxn size ;
In the case where the third matrix is generated by arranging each block of the n blocks in order in a row
When the first row in which the sum of the components of the row in the third matrix is equal to or larger than 2 is the i-th row or the row in which the components of the i-th row or the first column are '1' and the sum of the components of the row is 2 or more, 1 &quot; of the j &lt; th &gt; row of the j &lt; th &gt; row of the third matrix is &quot; 1 & The component up to the i-1 column is set to '0', the component in the i-th column in the i-th row is set to '1', and the i-th column component of the j- 1 &quot; and the components from the first column to the j-1 &lt; th &gt; column of the j-th column are '0'
When the third matrix is generated by arranging each block of the n blocks in order in the column
When the first column in which the sum of the components of the column in the third matrix is at least 2 is the i-th column or the column in which the first row component is '1' and the sum of the components of the column is at least 2 is the i-th column, For j &lt; i, the component of the (j + 1) th row of the jth column of the third matrix is '1' and the remaining components of the jth column are '0' 1 &quot;, the component in the i &lt; th &gt; row of the i &lt; th &gt; column is set to '1' And generating a fourth matrix with the components from the first row to the j-1th row of the j th column being '0';
When message data composed of n bits is arranged in a row when generating the first matrix in the fourth matrix, a row decryption message is generated in which the sum of the components of the i &lt; th &gt; row is 1 ', The ith component of the row decryption message is'0' if the sum of the components of the i-th row is less than '2' for 1? I? J, If the sum of the components of the i-th row is greater than or equal to 2, the i-th component of the row decryption message is set to '1', and for k satisfying j <k except for the j- If the component of the kth column of the jth row in the fourth matrix is the first '1' excluding the component of the jth column of the jth row and the sum of the components of the kth column of the fourth matrix is 2 or more, The kth component of the decryption message is set to '1', and if the sum of the components of the i-th row is less than 2 for i satisfying j <i <k and k <i≤n, Of the decrypted message If the i-th component is '0' and the sum of the components of the i-th row is '2' or more, the i-th component of the row decryption message is set to '1' If the sum of the components of the i-th column is less than 2 for 1? I? N in the 4th matrix, the i-th component of the column decryption message is 0 and the sum of the components of the i- Is '2' or more, the i-th component of the column decryption message is set to '1' to generate a row decryption message and a column decryption message
When message data composed of n bits is arranged in a column when the first matrix is generated in the fourth matrix, a column decryption message is generated in which the sum of the components of the i-th column is 1 or more Assuming that the last column is the jth column, if the sum of the components of the i &lt; th &gt; column is less than 2 for 1 &lt; = i &lt; j, the ith component of the row decryption message is '0' , The i-th component of the column decryption message is set to '1', and if k satisfies j <k except for the j-th row of the j-th column, If the component of the k-th row of the j-th column is the first '1' excluding the component of the j-th row of the j-th column and the sum of the components of the k-th row of the fourth matrix is 2 or more, If the sum of the components of the i-th column is less than 2 for i satisfying j <i <k and k <i≤n, the kth component is set to '1' If the i-th component of the message is '0' and the sum of the components of the i-th column is '2' or more, the i-th component of the column decryption message is set to '1', and the row decryption message If the sum of the components of the ith row is less than 2 for 1? I? N in the fourth matrix, the i-th component of the row decryption message is 0 and the i- A row decode message and a row decode message generating row decode message and column decode message with the i-th component of the row decode message as' 1 'if the sum of the components of the row decode message is' a column decryption message step; And
The i-th component of the row decryption message and the i-th component of the column decryption message are compared with each other for 1? I? N to select the i-th component of the decryption message as the same value Decrypts the message and compares the row decryption message with a column decryption message. If the decryption message is not the same, the steps are repeated until a decryption message having a length equal to the length n of the message input data is obtained. A decryption step of decrypting the components of the already decrypted message as the final decryption message components and leaving them unchanged in the previous step,
If the length of the measured transmission message is not n 2 , the third and fourth matrices and the row and column decode message steps are omitted,
And decrypting the decrypted message data including n '0', which is the input message length of the encoding step, using the decoded message data. The decoding method using the sparse inverse code based on the specific density.
삭제delete 삭제delete 제6항에 있어서,
상기 행(row) 복호화 메시지의 제i 번째 성분과 상기 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 복호화 메시지를 얻는 상기 복호화 단계에서
복호화 메시지의 제i 번째 성분은 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분의 동일한 값으로 하며, 최초의 상기 동일한 값을 최종 복호화 메시지로 결정하고, 최초로 복호화된 메시지를 우선적으로 기억하며 후속 복호화 메시지는 이전에 복호화되지 않았던 성분들이 복호화하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 방법.
The method according to claim 6,
The decoding step of comparing the i-th component of the row decryption message and the i-th component of the column decryption message to obtain a decryption message,
The i-th component of the decryption message has the same value of the i-th component of the row decryption message and the i-th component of the column decryption message, and determines the first same value as the final decryption message Wherein the first decoded message is preferentially stored and the subsequent decoded message decodes components that have not been decoded previously. &Lt; Desc / Clms Page number 13 &gt;
삭제delete n 개의 비트로 이루어진 원본 메시지 데이터를 부호화하기 위한 장치에 있어서,
원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고,
상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는
상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하고,
상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는
상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하는 제1 행렬 생성부;
상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성하는 제2 행렬 생성부;
상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하는 코드워드 생성부;
상기 생성한 코드워드를 전송하는 전송부를 포함하되,
상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는 상기 제1 행렬 생성부 또는 상기 제2 행렬 생성부를 건너뛰고,
상기 코드워드(codeword) 생성부가 모두 '0'으로 이루어진 길이가 n2인 코드워드를 생성하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 부호화 장치.
An apparatus for encoding original message data comprising n bits, the apparatus comprising:
Each bit of the original message data is arranged in a first row arranged in n columns or each bit of original message data is arranged in a first column arranged in n rows, ,
When the original message data is arranged in the first row
Assuming that the column in which the first '1' is present in the first row is the i-th column, the components of the jth column of the j + 1 row are set to j satisfying 1? J <i from the second row to the i- 1 &quot;, and the remaining component of the (j + 1) -th row is '0', and if the component of the j-th column of the first row is '0' for j satisfying i < Th row of the j-th column is '1' and the remaining components of the j-th row are '0'. If the component of the j-th column of the first row is '1' A first matrix of nxn size composed of components from the j-th column to the n-th column of the first row from the j-th column to the n-th column of the j-th row, Lt; / RTI &gt;
When the original message data is arranged in the first column
Assuming that the row in which the first '1' exists in the first column is the i-th row, the components of the j-th row in the j + 1 column are set to j satisfying 1? J <i from the second column to the i- 1 &quot;, and the remaining components of the (j + 1) th column are set to '0', and if the component of the j-th row of the first column is '0' The first column of the j-th column to the j-1 &lt; th &gt; row, if the component of the j-th row of the first column is '1' A first matrix having a size of nxn, which is constituted to be '0' and to be equal to the components from the jth row to the nth row of the first column from the jth row to the nth row of the jth column, A matrix generator;
A second matrix generator for generating a second matrix by obtaining an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus;
A code word generator for generating a codeword using the second matrix;
And a transmitter for transmitting the generated codeword,
If the n bits of the message data are all '0', the first matrix generator or the second matrix generator is skipped,
Low density region code encoding apparatus using the (sparse inverse code) that is based on a certain density, it characterized in that the code word (codeword) generated by adding both made '0', the length n 2 create a codeword.
n 개의 비트로 이루어진 원본 메시지 데이터를 부호화하기 위한 장치에 있어서,
원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고,
상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는
상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하고,
상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는
상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하는 제1 행렬 생성부;
상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성하는 제2 행렬 생성부;
상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하는 코드워드 생성부;
상기 생성한 코드워드를 전송하는 전송부를 포함하되,
상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는 상기 제1 행렬 생성부 및 상기 제2 행렬 생성부를 건너뛰고,
상기 코드워드(codeword) 생성부가
n2이 아닌 다른 길이로 이루어진 코드워드(codeword)를 생성하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)의 부호화 장치.
An apparatus for encoding original message data comprising n bits, the apparatus comprising:
Each bit of the original message data is arranged in a first row arranged in n columns or each bit of original message data is arranged in a first column arranged in n rows, ,
When the original message data is arranged in the first row
Assuming that the column in which the first '1' is present in the first row is the i-th column, the components of the jth column of the j + 1 row are set to j satisfying 1? J <i from the second row to the i- 1 &quot;, and the remaining component of the (j + 1) -th row is '0', and if the component of the j-th column of the first row is '0' for j satisfying i < Th row of the j-th column is '1' and the remaining components of the j-th row are '0'. If the component of the j-th column of the first row is '1' A first matrix of nxn size composed of components from the j-th column to the n-th column of the first row from the j-th column to the n-th column of the j-th row, Lt; / RTI &gt;
When the original message data is arranged in the first column
Assuming that the row in which the first '1' exists in the first column is the i-th row, the components of the j-th row in the j + 1 column are set to j satisfying 1? J <i from the second column to the i- 1 &quot;, and the remaining components of the (j + 1) th column are set to '0', and if the component of the j-th row of the first column is '0' The first column of the j-th column to the j-1 &lt; th &gt; row, if the component of the j-th row of the first column is '1' A first matrix having a size of nxn, which is constituted to be '0' and to be equal to the components from the jth row to the nth row of the first column from the jth row to the nth row of the jth column, A matrix generator;
A second matrix generator for generating a second matrix by obtaining an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus;
A code word generator for generating a codeword using the second matrix;
And a transmitter for transmitting the generated codeword,
If the n bits of the message data are all '0', the first matrix generator and the second matrix generator are skipped,
The codeword generator &lt; RTI ID = 0.0 &gt;
and generating a codeword having a length other than n 2 according to the specific density.
n 개의 비트로 이루어진 원본 메시지 데이터를 부호화하기 위한 장치에 있어서,
원본 메시지 데이터의 각 비트를 n 개의 열(column)로 정렬한 제1 행(row)으로 배열하거나 원본 메시지 데이터의 각 비트를 n 개의 행(row)으로 정렬한 제1 열(column)로 배열하고,
상기 원본 메시지 데이터를 제1 행에 배열하는 경우에는
상기 제1 행에서 최초로 '1'이 존재하는 열을 제i 열이라고 할 때 제2 행부터 제i 행까지 1≤j<i를 만족하는 j에 대하여 제j+1 행의 제j 열의 성분을 '1'로 하고, 제j+1 행의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 행의 제j 열의 성분이 '0'이면 제j 행의 제j 열의 성분은 '1'이고 제j 행의 나머지 성분은 '0'으로 구성하며, 상기 제1 행의 제j 열의 성분이 '1'이면 제j 행의 제1 열부터 제j-1 열까지 성분은 '0'으로 하고, 제j 행의 제j 열부터 제n 열까지 상기 제 1행의 제j 열부터 제n 열까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하고,
상기 원본 메시지 데이터를 제1 열에 배열하는 경우에는
상기 제1 열에서 최초로 '1'이 존재하는 행을 제i 행이라고 할 때 제2 열부터 제i 열까지 1≤j<i를 만족하는 j에 대하여 제j+1 열의 제j 행의 성분을 '1'로 하고, 제j+1 열의 나머지 성분은 '0'이 되도록 구성하고, i<j≤n을 만족하는 j에 대하여 상기 제1 열의 제j 행의 성분이 '0'이면 제j 열의 제j 행의 성분은 '1'이고 제j 열의 나머지 성분은 '0'으로 구성하며, 상기 제1 열의 제j 행의 성분이 '1'이면 제j 열의 제1 행부터 제j-1 행까지 성분은 '0'으로 하고, 제j 열의 제j 행부터 제n 행까지 상기 제 1열의 제j 행부터 제n 행까지의 성분과 동일하도록 구성하여 이루어진 n x n 크기의 제1 행렬을 생성하는 제1 행렬 생성부;
상기 제1 행렬의 역행렬을 구하고, 상기 역행렬에 대하여 2를 법(modulus)으로 하는 법 연산(modulus operation)을 적용하여 제2 행렬을 생성하는 제2 행렬 생성부;
상기 제2 행렬을 이용하여 코드워드(codeword)를 생성하는 코드워드 생성부;
상기 생성한 코드워드를 전송하는 전송부를 포함하되,
상기 메시지 데이터의 n개 비트가 모두 '0'으로만 이루어진 경우에는 상기 제1 행렬 생성부 및 상기 제2 행렬 생성부를 건너뛰고,
상기 코드워드(codeword) 생성부가
n2개가 아닌 다른 개수의 '0'으로 이루어진 코드워드(codeword)를 생성하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)의 부호화 장치.
An apparatus for encoding original message data comprising n bits, the apparatus comprising:
Each bit of the original message data is arranged in a first row arranged in n columns or each bit of original message data is arranged in a first column arranged in n rows, ,
When the original message data is arranged in the first row
Assuming that the column in which the first '1' is present in the first row is the i-th column, the components of the jth column of the j + 1 row are set to j satisfying 1? J <i from the second row to the i- 1 &quot;, and the remaining component of the (j + 1) -th row is '0', and if the component of the j-th column of the first row is '0' for j satisfying i < Th row of the j-th column is '1' and the remaining components of the j-th row are '0'. If the component of the j-th column of the first row is '1' A first matrix of nxn size composed of components from the j-th column to the n-th column of the first row from the j-th column to the n-th column of the j-th row, Lt; / RTI &gt;
When the original message data is arranged in the first column
Assuming that the row in which the first '1' exists in the first column is the i-th row, the components of the j-th row in the j + 1 column are set to j satisfying 1? J <i from the second column to the i- 1 &quot;, and the remaining components of the (j + 1) th column are set to '0', and if the component of the j-th row of the first column is '0' The first column of the j-th column to the j-1 &lt; th &gt; row, if the component of the j-th row of the first column is '1' A first matrix having a size of nxn, which is constituted to be '0' and to be equal to the components from the jth row to the nth row of the first column from the jth row to the nth row of the jth column, A matrix generator;
A second matrix generator for generating a second matrix by obtaining an inverse matrix of the first matrix and applying a modulus operation to the inverse matrix with 2 as a modulus;
A code word generator for generating a codeword using the second matrix;
And a transmitter for transmitting the generated codeword,
If the n bits of the message data are all '0', the first matrix generator and the second matrix generator are skipped,
The codeword generator &lt; RTI ID = 0.0 &gt;
low density region code encoder according to the (sparse inverse code) that is based on a certain density, characterized in that for generating a codeword consisting of a '0', a different number instead of just n 2 (codeword).
제11항 내지 제13항 중 어느 한 항에 있어서,
상기 제2 행렬부에서 생성된 제2 행렬을 이용하여 상기 코드워드(codeword)를 생성하는 상기 코드워드(codeword) 생성부가
상기 원본 메시지 데이터를 상기 제1 행렬의 제1 행에 배열하는 경우에는 상기 생성된 제2 행렬의 제1 행 내지 제n 행을 순서대로 연결하는 방식으로 n2의 길이의 상기 코드워드(codeword)를 생성하고,
상기 원본 메시지 데이터를 상기 제1 행렬의 제1 열에 배열하는 경우에는 상기 제2 행렬을 이용하여 제1 열 내지 제n 열을 순서대로 연결하는 방식으로 n2의 길이의 상기 코드워드(codeword)를 생성하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)의 부호화 장치.
14. The method according to any one of claims 11 to 13,
The codeword generation unit generates the codeword using the second matrix generated by the second matrix unit.
When the original message data is arranged in the first row of the first matrix, the codeword having a length of n 2 in such a manner that the first to n-th rows of the generated second matrix are connected in order, Lt; / RTI &gt;
When the original message data is arranged in the first column of the first matrix, the codeword having a length of n 2 is inserted into the first column through the n-th column using the second matrix, And generates a low density inverse code based on a specific density.
부호화 장치를 통하여 코드워드(codeword)로 생성되어 전송된 메시지를 복호화하기 위한 장치에 있어서,
전송 메시지를 수신하는 전송 메시지 수신부;
상기 전송 메시지 수신부에서 수신한 전송 메시지의 길이를 측정하는 전송 메시지 길이 측정부;
상기 측정한 전송 메시지의 길이를 비교하는 전송 메시지 길이 비교부;
상기 비교 결과 상기 전송 메시지의 길이가 n2인 경우, 상기 수신된 전송 메시지를 n 블록으로 구분하고, 상기 n 블록의 각 블록을 순서대로 행 또는 열로 배열하여 n x n 크기의 제3 행렬을 생성하는 제3 행렬 생성부;
상기 제3 행렬이 상기 n 블록의 각 블록을 순서대로 행으로 배열하여 제3 행렬을 생성한 경우에는
상기 제3 행렬에서 행의 성분들의 합이 2 이상인 최초의 행을 제i 행 또는 제1 열의 성분이 '1'이고 동시에 그 행의 성분들의 합이 2 이상인 행을 제i 행이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 행의 제j+1 열의 성분이 '1'이고 제j 행의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 행의 제1 열부터 제i-1 열까지 성분은 '0'으로 하고 제i 행의 제i 열의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 행의 제j 열 성분을 '1'로 하고 제j 행의 제1 열부터 제j-1 열까지의 성분은 '0'으로 하여 제4 행렬을 생성하고
상기 제3 행렬이 상기 n 블록의 각 블록을 순서대로 열로 배열하여 제3 행렬을 생성한 경우에는
상기 제3 행렬에서 열의 성분들의 합이 2 이상인 최초의 열을 제i 열 또는 제1 행의 성분이 '1'이고 동시에 그 열의 성분들의 합이 2 이상인 열을 제i 열이라고 할 때, 1≤j<i에 대하여 제3 행렬의 제j 열의 제j+1 행의 성분이 '1'이고 제j 열의 나머지 성분은 '0'으로 하며, 제3 행렬의 제i 열의 제1 행부터 제i-1 행까지 성분은 '0'으로 하고 제i 열의 제i 행의 성분은 '1'로 하며, i+1≤j≤n에 대하여 제3 행렬의 제j 열의 제j 행 성분을 '1'로 하고 제j 열의 제1 행부터 제j-1 행까지의 성분은 '0'으로 하여 제4 행렬을 생성하는 제4 행렬 생성부;
상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 행에 배치되는 경우에, 행(row) 복호화 메시지는 1≤j≤n에 대하여 제i 행의 성분의 합이 '2'이상인 마지막 행을 제j 행이라고 할 때, 1≤i≤j에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 행의 제j 열을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 행의 제k 열의 성분이 제j 행의 제j 열의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 열의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 행의 성분의 합이 '2'미만이면 행(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 열(column) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 열의 성분의 합이 '2' 미만이면 열(column)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 열의 성분의 합이 '2' 이상이면 열(column)복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하고
상기 제4 행렬에서 제1 행렬을 생성할 때 n개의 비트로 구성된 메시지 데이터가 열에 배치되는 경우에, 열(column) 복호화 메시지는 1≤i≤n에 대하여 제i 열의 성분의 합이 '2'이상인 마지막 열을 제j 열이라고 할 때, 1≤i≤j에 대하여 제i 열의 성분의 합이 '2'미만이면 열(row) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 제j 열의 제j 행을 제외하고 j<k를 만족하는 k에 대하여 상기 제4 행렬에서 제j 열의 제k 행의 성분이 제j 열의 제j 행의 성분을 제외한 최초의 '1'이고 상기 제4 행렬의 제k 행의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제k 번째의 성분은 '1'로 하며, j<i<k와 k<i≤n을 만족하는 i에 대하여 제i 열의 성분의 합이 '2'미만이면 열(column) 복호화 메시지의 제i 번째의 성분은 '0'이고 제i 열의 성분의 합이 '2' 이상이면 열(column) 복호화 메시지의 제i 번째의 성분은 '1'로 하고, 행(row) 복호화 메시지는 상기 제4 행렬에서 1≤i≤n에 대하여 제i 행의 성분의 합이 '2' 미만이면 행(row)복호화 메시지의 제i 번째의 성분은 '0'이고 상기 제4 행렬에서 제i 행의 성분의 합이 '2' 이상이면 행(row) 복호화 메시지의 제i 번째의 성분은 '1'로 하여 행(row) 복호화 메시지와 열(column) 복호화 메시지를 생성하는 행(row)과 열(column) 복호화 메시지부;
1≤i≤n에 대하여 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 동일한 경우에 복호화 메시지의 제i 번째 성분을 상기 동일한 값으로 선택하여 복호화하고 상기 행(row) 복호화 메시지와 열(column) 복호화 메시지를 비교하여 동일하지 않은 경우에는 메시지 입력 데이터의 길이 n과 동일한 길이의 복호화 메시지를 얻을 때까지 상기 단계들을 반복 실행하며 이전 단계에서 이미 복호화된 메시지의 성분은 최종 복호화 메시지 성분으로 정하여 그대로 두고 이전단계에서 동일하지 않았던 성분들을 복호화하는 복호화부를 포함하되,
상기 측정된 전송 메시지의 길이가 n2이 아닌 경우, 상기 제3 행렬 생성부와 상기 제4 행렬 생성부 및 상기 행(row)과 열(column) 복호화 메시지부를 건너뛰고,
상기 복호화부가 상기 부호화 장치의 입력 메시지 길이인 n 개의 '0'으로 구성된 복호화 메시지 데이터를 생성하여 복호화하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 장치.
An apparatus for decoding a message generated and transmitted as a codeword through an encoding apparatus, the apparatus comprising:
A transmission message receiver for receiving a transmission message;
A transmission message length measuring unit measuring a transmission message length received by the transmission message receiver;
A transmission message length comparing unit for comparing lengths of the measured transmission messages;
And dividing the received transmission message into n blocks if the length of the transmission message is n 2 and arranging the blocks of the n blocks in rows or columns in order to generate a third matrix of nxn size 3 matrix generator;
When the third matrix generates the third matrix by arranging each block of the n blocks in order in a row
When the first row in which the sum of the components of the row in the third matrix is equal to or larger than 2 is the i-th row or the row in which the components of the i-th row or the first column are '1' and the sum of the components of the row is 2 or more, 1 &quot; of the j &lt; th &gt; row of the j &lt; th &gt; row of the third matrix is &quot; 1 & The component up to the i-1 column is set to '0', the component in the i-th column in the i-th row is set to '1', and the i-th column component of the j- 1 &quot; and the components from the first column to the j-1 &lt; th &gt; column of the j-th column are '0'
When the third matrix generates the third matrix by sequentially arranging the blocks of the n blocks in columns
When the first column in which the sum of the components of the column in the third matrix is at least 2 is the i-th column or the column in which the first row component is '1' and the sum of the components of the column is at least 2 is the i-th column, For j &lt; i, the component of the (j + 1) th row of the jth column of the third matrix is '1' and the remaining components of the jth column are '0' 1 &quot;, the component in the i &lt; th &gt; row of the i &lt; th &gt; column is set to '1' A fourth matrix generator for generating a fourth matrix with the components from the first row to the j-1th row of the jth column being '0';
When message data composed of n bits is arranged in a row when generating the first matrix in the fourth matrix, a row decryption message is generated in which the sum of the components of the i &lt; th &gt; row is 1 ', The ith component of the row decryption message is'0' if the sum of the components of the i-th row is less than '2' for 1? I? J, If the sum of the components of the i-th row is greater than or equal to 2, the i-th component of the row decryption message is set to '1', and for k satisfying j <k except for the j- If the component of the kth column of the jth row in the fourth matrix is the first '1' excluding the component of the jth column of the jth row and the sum of the components of the kth column of the fourth matrix is 2 or more, The kth component of the decryption message is set to '1', and if the sum of the components of the i-th row is less than 2 for i satisfying j <i <k and k <i≤n, Of the decrypted message If the i-th component is '0' and the sum of the components of the i-th row is '2' or more, the i-th component of the row decryption message is set to '1' If the sum of the components of the i-th column is less than 2 for 1? I? N in the 4th matrix, the i-th component of the column decryption message is 0 and the sum of the components of the i- Is '2' or more, the i-th component of the column decryption message is set to '1' to generate a row decryption message and a column decryption message
When message data composed of n bits is arranged in a column when the first matrix is generated in the fourth matrix, a column decryption message is generated in which the sum of the components of the i-th column is 1 or more Assuming that the last column is the jth column, if the sum of the components of the i &lt; th &gt; column is less than 2 for 1 &lt; = i &lt; j, the ith component of the row decryption message is '0' , The i-th component of the column decryption message is set to '1', and if k satisfies j <k except for the j-th row of the j-th column, If the component of the k-th row of the j-th column is the first '1' excluding the component of the j-th row of the j-th column and the sum of the components of the k-th row of the fourth matrix is 2 or more, If the sum of the components of the i-th column is less than 2 for i satisfying j <i <k and k <i≤n, the kth component is set to '1' If the i-th component of the message is '0' and the sum of the components of the i-th column is '2' or more, the i-th component of the column decryption message is set to '1', and the row decryption message If the sum of the components of the ith row is less than 2 for 1? I? N in the fourth matrix, the i-th component of the row decryption message is 0 and the i- A row decode message and a row decode message generating row decode message and column decode message with the i-th component of the row decode message as' 1 'if the sum of the components of the row decode message is' a column decryption message part;
The i-th component of the row decryption message and the i-th component of the column decryption message are compared with each other for 1? I? N to select the i-th component of the decryption message as the same value Decrypts the message and compares the row decryption message with a column decryption message. If the decryption message is not the same, the steps are repeated until a decryption message having a length equal to the length n of the message input data is obtained. And a decryption unit for decrypting the components of the already decrypted message as the final decryption message components,
If the measured transmission message length is not n 2 , skips the third matrix generator, the fourth matrix generator, and the row and column decryption message unit,
Wherein the decoding unit generates and decodes decrypted message data composed of n '0', which is the input message length of the encoding apparatus, and decodes the decoded message data.
삭제delete 삭제delete 제15항에 있어서,
상기 복호화부에서
상기 행(row)과 열(column) 복호화 메시지부에서 생성된 행(row) 복호화 메시지의 제i 번째 성분과 상기 행(row)과 열(column) 복호화 메시지부에서 생성된 열(column) 복호화 메시지의 제i 번째 성분을 비교하여 복호화 메시지를 얻고 복호화 메시지의 제i 번째 성분은 상기 행(row) 복호화 메시지의 제i 번째 성분과 열(column) 복호화 메시지의 제i 번째 성분의 동일한 값으로 하며, 최초의 상기 동일한 값을 최종 복호화 메시지로 결정하고, 최초로 복호화된 메시지를 우선적으로 기억하며 후속 복호화 메시지는 이전에 복호화되지 않았던 성분들이 복호화하는 것을 특징으로 하는 특정 밀도를 기반으로 하는 저밀도 역 코드(sparse inverse code)를 이용한 복호화 장치.
16. The method of claim 15,
In the decoding unit
The i-th component of the row decryption message generated in the row and column decryption message unit and the column decryption message generated in the row and column decryption message The i-th component of the decryption message is set to the same value of the i-th component of the row decryption message and the i-th component of the column decryption message, Characterized in that the first same value is determined as the final decryption message and the first decoded message is preferentially stored and the subsequent decoded message decodes the components which have not been previously decoded. inverse code).
KR20130014101A 2013-02-07 2013-02-07 Method and device of encoding/decoding using specific density based sparse inverse code KR101512078B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130014101A KR101512078B1 (en) 2013-02-07 2013-02-07 Method and device of encoding/decoding using specific density based sparse inverse code
PCT/KR2014/000983 WO2014123351A1 (en) 2013-02-07 2014-02-05 Method and apparatus for encoding/decoding using sparse inverse code based on specific density

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130014101A KR101512078B1 (en) 2013-02-07 2013-02-07 Method and device of encoding/decoding using specific density based sparse inverse code

Publications (2)

Publication Number Publication Date
KR20140100835A KR20140100835A (en) 2014-08-18
KR101512078B1 true KR101512078B1 (en) 2015-04-14

Family

ID=51299901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130014101A KR101512078B1 (en) 2013-02-07 2013-02-07 Method and device of encoding/decoding using specific density based sparse inverse code

Country Status (2)

Country Link
KR (1) KR101512078B1 (en)
WO (1) WO2014123351A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101942037B1 (en) * 2018-12-06 2019-01-24 동국대학교 산학협력단 Car electronic control unit performing data communication through secret key encryption and operating method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050052602A (en) * 2003-11-28 2005-06-03 삼성전자주식회사 Method for generating parity information using low density parity check
JP2009060288A (en) 2007-08-30 2009-03-19 Nippon Telegr & Teleph Corp <Ntt> Information transmitting/receiving method, coder, and decoder

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906474B1 (en) * 2003-01-29 2009-07-08 삼성전자주식회사 Method of error-correction using a matrix for generating low density parity and apparatus thereof
KR101073907B1 (en) * 2004-07-27 2011-10-17 엘지전자 주식회사 Encoding method by using LDPC code and computer-readable medium for the same
KR20070063851A (en) * 2005-12-15 2007-06-20 삼성전자주식회사 Parity check matrix, method for generating parity check matrix, encoding method and error correction apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050052602A (en) * 2003-11-28 2005-06-03 삼성전자주식회사 Method for generating parity information using low density parity check
JP2009060288A (en) 2007-08-30 2009-03-19 Nippon Telegr & Teleph Corp <Ntt> Information transmitting/receiving method, coder, and decoder

Also Published As

Publication number Publication date
WO2014123351A1 (en) 2014-08-14
KR20140100835A (en) 2014-08-18

Similar Documents

Publication Publication Date Title
US10536171B2 (en) Encoding/decoding method, device, and system
JP6584036B2 (en) Signature-compatible Polar encoder and decoder
JP3923617B2 (en) Method for converting information bits having error correcting code and encoder and decoder for performing the method
US9203608B2 (en) System for encrypting data with an error correction code
CN108400838B (en) Data processing method and device
US9287897B2 (en) Systematic rate-independent Reed-Solomon erasure codes
KR20170097580A (en) Apparatus for polar coding
US8438448B2 (en) Decoding method and device for low density generator matrix codes
JPWO2019130475A1 (en) Error correction coding method and device using channel polarization, decoding method and device
CN110233698B (en) Method for encoding and decoding polarization code, transmitting device, receiving device, and medium
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
KR101527267B1 (en) Orthogonal multiple description coding
WO2018149354A1 (en) Polar code encoding method and apparatus, and device and storage medium
KR101512078B1 (en) Method and device of encoding/decoding using specific density based sparse inverse code
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
KR101425506B1 (en) Method and device of encoding/decoding using complimentary sparse inverse code
JP4634423B2 (en) Information transmission / reception method, encoding apparatus, and decoding apparatus
US20110185267A1 (en) Encoding device, controller and system including the same
KR101512081B1 (en) Method and device of encoding/decoding using sparse matrix based on specific density
KR100874484B1 (en) Quasi-cyclic low density parity check coding method and apparatus
KR101391859B1 (en) Method and device of encoding/decoding using sparse inverse code
US8508391B1 (en) Code word formatter of shortened non-binary linear error correction code
WO2018149304A1 (en) Data processing method and device, data processing apparatus, and computer storage medium
KR101391853B1 (en) Method and device of encoding/decoding using sparse inverse code
Wasserman et al. Polar coding with CRC-aided list decoding

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee