KR100975061B1 - 저밀도 패리티 검사를 이용한 패리티 정보 생성 방법 - Google Patents

저밀도 패리티 검사를 이용한 패리티 정보 생성 방법 Download PDF

Info

Publication number
KR100975061B1
KR100975061B1 KR1020030085770A KR20030085770A KR100975061B1 KR 100975061 B1 KR100975061 B1 KR 100975061B1 KR 1020030085770 A KR1020030085770 A KR 1020030085770A KR 20030085770 A KR20030085770 A KR 20030085770A KR 100975061 B1 KR100975061 B1 KR 100975061B1
Authority
KR
South Korea
Prior art keywords
code word
column
word bit
generating
bit
Prior art date
Application number
KR1020030085770A
Other languages
English (en)
Other versions
KR20050052602A (ko
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 KR1020030085770A priority Critical patent/KR100975061B1/ko
Priority to PCT/KR2004/003060 priority patent/WO2005053213A1/en
Priority to US10/580,911 priority patent/US20070277075A1/en
Priority to TW093136446A priority patent/TWI263887B/zh
Publication of KR20050052602A publication Critical patent/KR20050052602A/ko
Application granted granted Critical
Publication of KR100975061B1 publication Critical patent/KR100975061B1/ko

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
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes

Abstract

본 발명은 패리티 정보 생성 방법에 관한 것으로서, 보다 상세하게는 저밀도 패리티 검사 행렬을 이용한 부호화 방법에서 열 방향 패리티 정보와 행 방향 패리티 정보를 서로 독립적으로 생성하는 방법에 관한 것이다. 본 발명은 패리티 검사 행렬 및 메시지 정보를 이용하여 열 방향 패리티 정보를 생성함으로써 코드 워드 벡터를 생성하는 단계; 상기 생성된 코드 워드 벡터내의 코드 워드 비트 중에서 행 방향 패리티 정보를 생성하기 위한 코드 워드 비트를 선택하는 단계; 및 상기 선택된 코드 워드 비트에 기초하여 행 방향 패리티 정보를 생성하는 단계를 포함하고, 상기 코드 워드 비트를 선택하는 단계는 서로 동일한 열 방향 패리티 정보 생성에 관여하는 코드 워드 비트를 제외시키는 단계를 포함하는 특징으로 한다. 본 발명에 의하면, 열 방향 패리티 정보 생성에 관여하지 않은 코드 워드 비트에 기초하여 행 방향 패리티 정보를 생성함으로써 서로 독립된 패리티 정보의 생성이 가능하다.

Description

저밀도 패리티 검사를 이용한 패리티 정보 생성 방법{Method for generating parity information using Low density parity check}
도 1은 LDPC 부호화에서 행 방향 패리티 정보 생성의 개념을 나타내는 도면.
도 2는 본 발명에 따른 LDPC 부호화 방법을 나타내는 시간 흐름도.
도 3은 본 발명에 따른 LDPC 부호화에서 행 방향 패리티 정보를 생성하기 선택된 코드 워드 비트의 배치를 나타내는 도면.
도 4는 패리티 검사 행렬의 구조와 코드 워드 비트들간의 상관성의 관계를 나타내는 도면.
도 5는 도 4의 패리티 검사 행렬을 나타내는 인자 그래프.
도 6은 인자 그래프를 이용하여 서로 상관된 코드 워드 비트를 찾는 방법을 나타내는 도면.
도 7은 도 6에서 3번 코드 워드 비트를 두 번째 코드 워드 비트로 선택하였을 때 다음 선택 가능한 코드 워드 비트를 찾는 방법을 나타내는 도면.
도 8 내지 10은 도 4의 패리티 검사 행렬의 경우 제 1 코드 워드 비트로서 2번 코드 워드 비트를 선택하였을 때의 나머지 코드 워드 비트를 선택하는 과정을 나타내는 도면.
도 11은 인자 그래프를 이용하여 행 방향 패리티 정보를 생성하기 위한 코드 워드 비트를 선택하는 방법을 나타내는 시간흐름도이다.
본 발명은 패리티 정보 생성 방법에 관한 것으로서, 보다 상세하게는 저밀도 패리티 검사 행렬을 이용한 부호화 방법에서 열 방향 패리티 정보와 행 방향 패리티 정보를 서로 독립적으로 생성하는 방법에 관한 것이다.
무선통신분야 또는 광 기록재생 분야 등에서 사용되는 에러 정정 부호화 및 복호화 기술의 한 가지로서 저밀도 패리티 검사(Low Density Parity Check, 이하 LDPC 라 한다) 부호화 및 복호화 방법이 있다. LDPC 부호화는 1962년 갤러거(Gallager) 에 의해 처음 제안되었으나, 당시의 기술력으로는 복호기의 구현이 어려워 잊혀져 오다 최근 맥케이 (Mackay) 등에 의해 재발견되었다.
LDPC 부호화는 패리티 검사 행렬을 이용하여 패리티 정보를 생성하는 과정을 포함한다. 이 때 패리티 검사 행렬의 구성 성분 대부분은 0 d고 극히 일부 구성 성분만이 1 이다. 이러한 LDPC 부호화는 합곱 알고리즘을 사용하여 반복 부호를 수행함으로써 우수한 오류 성능을 가진다. 예를 들어, 부호어의 길이가 106 이며 부호율이 1/2 인 비정규 LDPC 부호는 터보 부호보다 셰년(Shannon) 한계에 더욱 근접하는 성능을 가진다.
LDPC 부호화는 규칙적 LDPC 부호화(regular LDPC) 와 불규칙적 LDPC 부호화(irregular LDPC)로 나뉜다. 규칙적 LDPC 는 부호화 및 복호화에 사용되는 패리티 검사 행렬이 포함하는 구성 성분 1 의 개수가 행(row) 및 열(column)마다 동일한 개수인 경우이고, 불규칙적 LDPC 는 그렇지 않은 경우이다.
LDPC 부호화는 이하 수학식 1로 표현될 수 있다.
H ·C e = 0
H는 패리티 검사 행렬이고 0는 영행렬, ·는 XOR 연산 및 모듈러 2 연산을 의미한다. C e 는 코드 워드 벡터로서, 부호화 대상이 되는 코드 워드를 나타내는 열행렬(column matrix)이다. 코드 워드는 x비트의 메시지 워드 x1,x2,...,xx 과 p비트의 패리티 정보 p1,p2,...,pp로 이루어진다.
패리티 정보 p1,p2,...,pp 는 각 메시지 워드 x1,x2, ...,xx 가 수학식 1 을 만족하도록 생성된다. 즉 패리티 검사 행렬 H와 행렬 C e 의 구성 성분중 부호화 대상인 메시지 워드의 이진값은 결정되어 있으므로 상기 수학식 1에 의해 패리티 정보 pi(i=1,2...p)를 결정할 수 있다.
LDPC 부호화에 대한 보다 상세한 설명은 "Good error correction codes based on very sparse matrices"(D.J.MacKay, IEEE Trans. on Information Theory, vol. 45, no.2, pp.399-431, 1999)" 에 기술되어 있다.
LDPC 부호화에서, 패리티 정보는 각 코드 워드 벡터마다 생성된다. 즉 복호 화를 위한 패리티 정보는 행 방향으로 생성된다. 일반적인 블록 부호화에서 열 방향으로의 패리티 정보 생성은 우수한 복호 성능을 위해 필요하다. 대표적인 블록 부호인 리드-솔로몬 부호화에서는 열 방향 뿐아니라 행 방향에서도 패리티 정보를 생성한다.
도 1은 LDPC 부호화에서 행 방향 패리티 정보 생성의 개념을 나타내는 도면이다. 도 1에서 A,B,C,D 는 각각의 코드 워드 벡터를 나타내며, a1,a2,...b1,b2,... 등은 각 코드 워드 벡터내의 메시지 워드 비트이고, PA,PB,P C,... 는 각 코드 워드 벡터에서 생성된 열 방향 패리티 정보이다.
DVD 같은 광 디스크 시스템에서 사용되는 일반적인 블록 부호화에서 하나의 블록 크기(block size) 는 32 내지 64 KByte 이다. 반면 LDPC 부호화에서 사용되는 일반적인 코드 워드 벡터의 길이는 1KByte 정도이므로, 결국 LDPC 부호화에서 사용되는 블록의 열 개수는 32 내지 64 개가 된다. 행 방향으로 패리티 정보를 생성함에 있어서, 32 내지 64 개 비트에 대해서 패리티 정보를 생성하는 것은 패리티 정보를 이용한 에러 정정의 성능에 있어서 효율적이지 못하다. 따라서 LDPC 부호화에서 행 방향으로 패리티 정보를 생성할 때 여러 행을 하나로 묶어 패리티 정보의 생성 대상으로 하는 것이 일반적이다. 도 1에서는 4개의 코드 워드 벡터에 대해 2개의 행을 하나로 묶어 행 방향 부호화를 수행하는 것을 나타내었다.
그러나, 이러한 행 방향 부호화 방법은 행 부호화의 대상이 되는 각 코드 워드 벡터 내에 존재하는 코드 워드 비트를 위에서부터 순차적으로 추출하기 때문에, LDPC 부호화에 존재하는 상관성(correlation)으로 인한 에러의 발생 원인에 독립된 패리티 정보의 생성이 불가능하다. 즉 하나의 코드 워드 벡터에서 행방향 패리티 정보의 대상을 선택하는 방법에 따라 생성된 행 방향 패리티 정보는 열 방향 패리티 정보과 상관성이 존재하는 경우가 있고, 이 경우에는 열 방향 패리티 정보에 에러가 생겼을 때 행 방향 패리티 정보에도 에러가 발생하여 더 이상 행 방향 패리티 정보에 의한 부호화에 대한 신뢰성이 상실되는 경우가 발생하는 문제점이 존재한다.
따라서, 본 발명은 전술한 과제를 해결하기 위해 안출된 것으로서, 저밀도 패리티 검사를 이용한 부호화에 있어서, 열 방향 패리티 정보 생성과 상관성이 존재하지 않는 행 방향 패리티 정보를 생성하는 방법을 제공하고자 한다.
전술한 과제를 해결하기 위한 본 발명은, 저밀도 패리티 검사를 이용한 부호화 방법에 있어서, 패리티 검사 행렬 및 메시지 정보를 이용하여 열 방향 패리티 정보를 생성함으로써 코드 워드 벡터를 생성하는 단계; 상기 생성된 코드 워드 벡터내의 코드 워드 비트 중에서 행 방향 패리티 정보를 생성하기 위한 코드 워드 비트를 선택하는 단계; 및 상기 선택된 코드 워드 비트에 기초하여 행 방향 패리티 정보를 생성하는 단계를 포함하고, 상기 코드 워드 비트를 선택하는 단계는 서로 동일한 열 방향 패리티 정보 생성에 관여하는 코드 워드 비트를 제외시키는 단계를 포함하는 특징으로 한다.
또한 본 발명은, 저밀도 패리티 검사 행렬을 이용한 패리티 정보 생성 동작에서 패리티 정보를 생성하는데 기초가 되는 코드 워드 비트를 선택하는 방법에 있어서, 임의의 제 1 코드 워드 비트를 선택하는 단계; 및 상기 제 1 코드 워드 비트와 서로 상관 관계를 가지는 코드 워드 비트를 제외한 나머지 코드 워드 비트중에서 제 2 선택 코드 워드 비트를 선택하는 단계를 포함하고, 상기 상관 관계는, 제 1 코드 워드 비트가 행 방향 패리티 정보 생성에 관여하고, 상기 제 1 코드 워드 비트에 대응되는 위치에 있는 제 1 패리티 검사 행렬내의 구성 성분이 1 인 행 번호에서, 제 2 코드 워드 비트에 대응되는 위치에 있는 패리티 검사 행렬 열 내의 구성 성분이 1 이면, 상기 제 1 및 제 2 코드 워드 비트는 상관 관계에 있다고 정의되는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명한다.
도 2는 본 발명에 따른 LDPC 부호화 방법을 나타내는 시간 흐름도이다.
메시지 워드 비트가 정해지면, 전술한 수학식 1을 기초로하여 열 방향 패리티 정보를 생성함으로써 코드 워드 벡터 A,B,C,... 를 생성한다. 열 인코딩 과정은 열 방향 패리티 정보를 생성하는 과정이다(단계 210). 하나의 코드 워드 벡터에 대하여, 행 방향 부호화를 수행할 코드 워드 비트를 선택한다(단계 220). 이 때 선택된 모든 코드 워드 비트가 패리티 검사 행렬 H 에 의해 상관성을 가지지 않아야 한다. 다른 코드 워드 벡터에 대해서도 행 방향 부호화를 수행할 코드 워드 비트를 선택한다(단계 230 등). 선택된 코드 워드 비트를 기준으로 미리결정된 블록 사이 즈에 따른 행 수 만큼 행 방향 패리티 정보를 생성함으로써 행 방향 부호화를 수행한다(단계 240).
도 3은 본 발명에 따른 LDPC 부호화에서 행 방향 패리티 정보를 생성하기 선택된 코드 워드 비트의 배치를 나타내는 도면이다. 도 3을 참조하면, 각 코드 워드 벡터 A,B,C,D 는 각각의 코드 워드 비트 a1,a2,a3,..., b1,b2,b3,... 등을 가진다. 도 1에서의 종래의 방법과 달리, 본 발명에 따른 행 방향 부호화 방법에 의해 선택된 코드 워드 비트는 각 코드 워드 벡터내에서 순차적으로 선택되지 않는다. 코드 워드 벡터 A에서 선택된 코드 워드 비트 a1,a5 는 서로 상관적이지 않다. 본 발명은 이러한 상관적이지 않은 코드 워드 비트를 선택하는 방법을 제공한다. 이러한 방법은 하나의 코드 워드 비트를 임의로 선택한 후 이와 상관적인 코드 워드 비트를 제거함으로써 수행된다.
도 4는 패리티 검사 행렬의 구조와 코드 워드 비트들간의 상관성의 관계를 나타내는 도면이다.
하나의 코드 워드 벡터내에서 각각의 코드 워드 비트의 이진값 변화가 동일한 열 방향 패리티 정보의 변화를 야기시킬때, 이들 각 코드 워드 비트는 서로 상관적이라고 정의된다. 이하에서는 패리티 검사 행렬의 구조로부터 특정 코드 워드 비트와 상관적인 코드 워드 비트를 찾는 방법을 설명한다.
수학식 1 에 의해, 패리티 검사 행렬 H 와 각각의 코드 워드 벡터 A,B,C,D 와 곱해(XOR 연산 및 모듈러 2연산)진 결과가 영 행렬이 되도록 열 방향 패리티 정 보 PA, PB, ... 가 생성된다. 열 방향 패리티 정보 PA 가 생성되기 위해서, 패리티 검사 행렬 H에서 열 방향 패리티 정보 PA 에 영향을 미치는 인자는 각 패리티 검사 행렬 H 의 존재하는 모든 "1" 이다. 그러나 열 방향 패리티 정보 PA 의 생성에 있어, 특정 구성 성분 예를 들어 a1 과 함께 패리티 정보 PA 의 생성에 영향을 미치는 다른 구성 요소들은 그 다른 구성 요소와 곱해지는 패리티 검사 행렬의 구성 성분 hjk 가 1 인 경우 만이다. 이는 이하 수학식 3을 검토함으로써 알 수 있다.
[수학식 3]
mod 2[h11a1 + h12a2 + ... h1np1A + h1n+1p2A + ... ] = z1
mod 2[h21a1 + h22a2 + ... h2np1B + h2n+1p2B + ... ] = z2
...
수학식 3에서 hjk 는 패리티 검사 행렬의 각 구성 성분이고, a1,a2, 는 코드 워드 벡터 A 의 구성 성분이다. 또한 P1A,P1B, ... 는 코드 워드 벡터 A 에 대해 생성된 열 방향 패리티 정보이다. 즉 PA =[P1A,P1B, ... ] 이다.
따라서, 특정 코드 워드 비트(도4에서 a1)에 대응되는 패리티 검사 행렬의 구성 성분이 "1" 일 때, 그 때 곱해지는 다른 코드 워드 비트들에 대응되는 패리티 검사 행렬의 구성 성분(도4에서 403, 404, 405) 가 "1" 이면, 이때 다른 코드 워드 비트들은 특정 코드 워드 비트와 상관적이다. 즉, 패리티 검사 행렬의 동일한 행에 서 구성 성분이 서로 1 인 위치에 대응하는 코드 워드 비트들은 서로 "상관적" 이다.
도 4에 나타난 패리티 검사 행렬에서, 특정 코드 워드 비트가 a1 이라 가정하면, 패리티 검사 행렬에서 a1 에 대응되는 구성 성분이 1 인 경우는 구성 성분(401,402)인 경우이다.
먼저 구성 성분 (401)의 경우, 즉 코드 워드 비트 a1 이 패리티 검사 행렬 1행1열에서 1 과 곱해지는 경우, 구성 성분(401)을 포함하는 패리티 검사 행렬의 행에서 구성 성분이 1 인 위치는 구성 성분(404,406)이다. 따라서 구성 성분(404,406)에 대응되는 코드 워드 비트 a4,a6 는 코드 워드 비트 a1 에 상관적이다.
다음으로 구성 성분 (402)의 경우, 즉 코드 워드 비트 a1 이 패리티 검사 행렬3행1열에서 1과 곱해지는 경우, 구성 성분(402)을 포함하는 패리티 검사 행렬의 행에서 구성 성분이 1 인 위치는 구성 성분(403)이다. 따라서 구성 성분(403)에 대응되는 코드 워드 비트 a2 는 코드 워드 비트 a1 에 상관적이다.
결국, a1 에 대해 상관적인 코드 워드 비트는 a2,a4,a6 이다. 즉 a1,a2,a4,a6 은 열 방향 패리티 정보 PA 의 생성에 있어서 함께 영향을 미친다.
이러한 서로 상관적인 코드 워드 비트들은 인자 그래프(factor graph)를 이용하면 더욱 용이하게 발견될 수 있다.
도 5는 도 4의 패리티 검사 행렬을 나타내는 인자 그래프이다.
인자 그래프는 패리티 검사 행렬을 특정한다. 인자 그래프는 행 노드, 열 노드 및 연결선으로 구성된다. 도 5에서 사각형 노드(위에 있는 4개의 노드)는 행 노드이고, 원형 노드(아래에 있는 6개의 노드)는 열 노드, 이들을 연결한 선이 연결선이다. 행 노드는 패리티 검사 행렬의 행 열을 나타내고, 열 노드는 패리티 검사 행렬의 각 열을 나타낸다. 패리티 검사 행렬에서 각 행과 각 열이 교차하는 지점에 행렬 구성 성분이 1 일 때 해당 열 노드와 행 노드는 연결선으로 연결된다. 도 4에서 패리티 검사 행렬의 1행 1열의 구성 성분은 1 이므로, 도 5의 인자 그래프에서 1번 행 노드와 1 번 열 노드가 연결선으로 연결되었다.
도 6은 인자 그래프를 이용하여 서로 상관된 코드 워드 비트를 찾는 방법을 나타내는 도면이다.
인자 그래프는 서로 상관적인 패리티 검사 행렬의 구성 성분을 찾는데 이용된다. 인자 그래프에서 서로 연결된 모든 열 노드들은 상관적이다. 도 6에서, 1번 열 노드는 1번 행 노드를 통해 4번 열 노드 및 6번 열 노드와 연결된다. 또한 1번 열 노드는 3번 행 노드를 통하여 2번 열 노드와 연결된다. 3번 열 노드 및 5번 열 노드는 1번 열 노드와 연결되지 않는다. 결국 2번,4번,6번 열 노드 만이 1번 열 노드에 상관적이다.
인자 그래프에서 각 열 노드의 번호는 각 코드 워드 비트의 번호를 나타낸다. 각 열 노드는 함께 가로로 배열되어 패리티 검사 행렬에서 하나의 행을 구성하고, 이 행의 각 구성 요소가 열 방향 패리티 정보의 생성을 위해 각 코드 워드 비트와 곱해지기 때문이다.
결국, 상관적인 각 열 노드 번호와 동일한 번호의 코드 워드 비트들은 서로 상관적이다.
도 6은 패리티 정보를 생성하기 위한 첫 번째 코드 워드 비트로 1번 열 노드를 선택한 경우를 나타낸다. 전술한 바와 같이 연결선 관계를 이용하여 서로 상관적인 열 노드들을 찾아보자. 우선 1 번 열 노드는 1 번 행 노드를 통하여 4번 및 6번 열 노드에 연결된다. 따라서 1번, 4번, 6번 열 노드는 서로 상관적이다. 또한 2번 열 노드는 3번 행 노드를 통하여 2번 열 노드에 연결된다. 따라서 1번 열 노드와 2번 열노드는 상관적이다. 종합하면, 1,2,4,6 번 열 노드가 상관적이다. 이를 다시 말하면 1,2,4,6 번 코드 워드 비트는 서로 상관적이다.
결국 우리는 행 방향 패리티 정보를 생성하기 위해 1번 코드 워드 비트를 선택하였다면, 2,4,6번 코드 워드 비트는 동일한 패리티 정보 PA 를 생성하는데 사용하지 않는 것이 바람직하다. 즉 3,5번 코드 워드 비트만이 동일한 패리티 정보 PA 를 생성하는데 사용될 수 있다.
도 7은 도 6에서 3번 코드 워드 비트를 두 번째 코드 워드 비트로 선택하였을 때 다음 선택 가능한 코드 워드 비트를 찾는 방법을 나타내는 도면이다.
패리티 정보 PA 를 생성하기 위해 3번 코드 워드 비트가 사용되었으므로 이제는 3 번 코드 워드 비트와 상관적인 코드 워드 비트는 선택할 수 없다. 도 7 의 인자 그래프를 참조하면,3번 열 노드가 4번 행 노드를 통해 5번 열 노드와 연결되어 있다. 따라서 세 번째 코드 워드 비트의 선택에 있어서 5번 열 노드는 제외 되어야 한다.
만약 5번 코드 워드 비트를 선택하였다면 3번 코드 워드 비트가 제외될 것이다. 3번 열 노드 또한 4번 행 노드를 통해 5 번 열 노드에 연결되어 있기 때문이다.
네 번째 이상의 코드 워드 비트에 대해서도, 전술한 방법과 동일한 방법으로 선택되어서는 안될 코드 워드 비트를 제외시킨 후 나머지 코드 워드 비트 중에서 코드 워드 비트를 선택한다.
동일한 행 방향 패리티 정보를 생성하기 위해 하나의 코드 워드 벡터내에서 선택되어져야 되는 코드 워드 비트의 수는 블록 크기(block size), 행 방향 패리티 정보 생성에 사용될 코드 워드 벡터의 수, 코드 워드 벡터의 길이에 따라 상이하다. 만약 에러 정정의 블록 크기가 32KByte, 코드 워드 벡터의 길이가 1KByte, 행 방향 패리티 정보 생성에 사용되는 코드 워드 벡터의 수가 16 이라면, 하나의 코드 워드 벡터내에서 패리티 정보생성을 위해 선택되어질 코드 워드 비트의 수는 32/(1*16) = 2 이다.
도 8 내지 10은 도 4의 패리티 검사 행렬의 경우 제 1 코드 워드 비트로서 2번 코드 워드 비트를 선택하였을 때의 나머지 코드 워드 비트를 선택하는 과정을 나타내는 도면이다.
도 8에서, 2번 코드 워드 비트를 제 1 코드 워드 비트로 선택하였기 때문에, 1,4,6 번 코드 워드 비트는 제 2 코드 워드 비트로 선택될 수 없다. 또한 도 9에서처럼, 3번 코드 워드 비트를 제 2 코드 워드 비트로 선택한 경우에는, 5번 코드 워 드 비트는 제 3 코드 워드 비트로 선택될 수 없다. 만약 도 10에서처럼, 5번 코드 워드 비트를 제 2 코드 워드 비트로 선택하였다면, 역시 3번 코드 워드 비트는 제 3 코드 워드 비트로 선택될 수 없다. 따라서, 어떤 시점에서 선택가능한 코드 워드 비트는 이전의 선택된 코드 워드 비트에 의존한다.
이러한 맥락으로, 본 발명의 이해를 위해, 행 방향 코드 워드 비트 선택을 위한 선택 그룹으로서, 제 1 , 제 2 ,... 선택 그룹이라는 용어가 정의될 수 있다. 즉 제 1 선택 그룹은 제 1 코드 워드 비트를 선택함으로써 결정된 제 2 코드 워드 비트로서 선택가능한 코드 워드 비트들의 집합이며, 제 2 선택 그룹은 제 3 코드 워드 비트를 선택함으로써 결정된 제 2 코드 워드 비트로서 선택가능한 코드 워드 비트들의 집합이며, 그 이상의 선택 그룹에 대해서도 이러한 정의가 적용된다.
도 11은 인자 그래프를 이용하여 행 방향 패리티 정보를 생성하기 위한 코드 워드 비트를 선택하는 방법을 나타내는 시간흐름도이다.
열 방향 패리티 정보의 생성에 의해 코드 워드 벡터가 결정되면, 코드 워드 벡터내의 임의의 코드 워드 비트를 제 1 코드 워드 비트로 결정한다. 즉 인자 그래프에서 임의의 열 노드를 첫 번째 선택 노드로 선택한다(단계 1110). 그 후 인자 그래프의 구조적 연결 관계를 검토함으로써, 첫 번째 선택 노드와 연결된 모든 열 노드를 제외한 나머지 노드들만으로 구성된 제 1 선택 그룹을 생성한다(단계 1120). 이 때 선택 노드와 연결된 모든 열 노드란 전술한 선택 노드와 임의의 행 노드를 통해 연결된 모든 열 노드를 포함한다.
제 1 선택 그룹에서 임의의 열 노드를 두 번째 선택 노드로 선택한다(단계 1130). 그 후 단계 1120 와 마찬가지로, 두 번째 선택 노드와 연결된 모든 다른 열 노드를 제외한 열 노드들만으로 구성된 제 2 선택 그룹을 생성한다(단계 1140). 이하 단계 1130 및 1140 가 모든 선택 노드를 선택할 때까지 계속된다(단계 1150 이하). 모든 선택 노드가 결정되면, 각 선택 노드에 대응되는 코드 워드 비트는 하나의 코드 워드 벡터내에서 하나의 행 방향 패리티 정보 생성을 위한 코드 워드 비트가 된다(단계 1160).
다음으로 두 번째 코드 워드 벡터내에서 단계 1110 내지 1160 가 반복됨으로써 역시 코드 워드 비트를 선택하고 이들 역시 전술한 하나의 행 방향 패리티 정보 생성의 기초가 된다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 바와 같이 본 발명에 의하면, 저밀도 패리티 검사를 이용한 부호화에 있어서, 열 방향 패리티 정보 생성과 상관성이 존재하지 않는 행 방향 패리티 정보를 생성하는 방법이 제공됨으로써, 열 방향 패리티 정보에 발생한 에러가 행 방향 패리티 정보에는 영향을 미치지 않게 된다.

Claims (12)

  1. 저밀도 패리티 검사를 이용한 부호화 방법에 있어서,
    패리티 검사 행렬 및 메시지 정보를 이용하여 열 방향 패리티 정보를 생성함으로써 코드 워드 벡터를 생성하는 단계;
    상기 생성된 코드 워드 벡터내의 코드 워드 비트 중에서, 서로 동일한 열 방향 패리티 정보 생성의 대상이 되는 코드 워드 비트들은 제외한 코드 워드 비트 중에서 행 방향 패리티 정보 생성의 대상이 되는 코드 워드 비트를 선택하는 단계; 및
    상기 선택된 코드 워드 비트에 기초하여 행 방향 패리티 정보를 생성하는 단계를 포함하는 특징으로 하는 부호화 방법.
  2. 제 1 항에 있어서, 상기 코드 워드 비트를 선택하는 단계는, 상기 패리티 검사 행렬의 구성 성분이 1 인 위치에 기초하여 수행되는 것을 특징으로 하는 부호화 방법.
  3. 제 1 항에 있어서, 상기 코드 워드 비트를 선택하는 단계는,
    제 1 코드 워드 비트가 상기 행 방향 패리티 정보 생성에 관여하고, 상기 제 1 코드 워드 비트에 대응되는 위치에 있는 제 1 패리티 검사 행렬 열 내의 구성 성 분이 1 인 행 번호에서, 제 2 코드 워드 비트에 대응되는 위치에 있는 패리티 검사 행렬 열 내의 구성 성분이 1 이면,
    상기 제 2 코드 워드 비트를 제외한 나머지 코드 워드 비트 중에서 임의의 코드 워드 비트를 상기 행 방향 패리티 정보 생성의 대상으로 선택하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  4. 제 1 항에 있어서, 상기 코드 워드 비트를 선택하는 단계는,
    상기 코드 워드 벡터내에서 임의의 코드 워드 비트를 제 1 선택 코드 워드 비트로 선택하는 단계;
    상기 코드 워드 벡터내에서 상기 제 1 선택 코드 워드 비트와 상관 관계에 있는 코드 워드 비트를 제외시킨 코드 워드 비트를 포함하는 제 1 선택 그룹을 생성하는 단계; 및
    상기 제 1 선택 그룹내의 코드 워드 비트 중에서 임의의 코드 워드 비트를 제 2 선택 코드 워드 비트로 선택하는 단계를 포함하고,
    상기 상관 관계는, 제 1 코드 워드 비트가 상기 행 방향 패리티 정보 생성에 관여하고, 상기 제 1 코드 워드 비트에 대응되는 위치에 있는 제 1 패리티 검사 행렬 열 내의 구성 성분이 1 인 행 번호에서, 제 2 코드 워드 비트에 대응되는 위치에 있는 패리티 검사 행렬 열 내의 구성 성분이 1 이면, 상기 제 1 및 제 2 코드 워드 비트가 상관 관계에 있다고 정의되는 것을 특징으로 하는 부호화 방법.
  5. 제 1 항에 있어서, 상기 코드 워드 비트를 선택하는 단계는, 상기 패리티 검사 행렬의 인자 그래프에 기초하여 수행되는 것을 특징으로 하는 부호화 방법.
  6. 제 5 항에 있어서, 상기 코드 워드 비트를 선택하는 단계는,
    상기 패리티 검사 행렬의 인자 그래프를 생성하는 단계;
    상기 인자 그래프에 포함된 열 노드 사이의 연결 관계에 기초하여 상기 서로 동일한 열 방향 패리티 정보 생성의 대상이 되는 코드 워드 비트를 추출하는 단계; 및
    상기 서로 동일한 열 방향 열 방향 패리티 정보 생성의 대상이 되는 코드 워드 비트를 제외한 나머지 코드 워드 비트 중에서 임의의 코드 워드 비트를 행 방향 패리티 정보 생성의 대상으로 선택하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  7. 제 6 항에 있어서, 상기 인자 그래프를 생성하는 단계는,
    상기 패리티 검사 행렬의 행 및 열 번호에 대응하는 행 노드 및 열 노드를 배열하는 단계; 및
    상기 패리티 검사 행렬의 상기 행 및 열 번호에 대응하는 위치의 구성 성분이 1 일 때, 상기 행 노드 및 열 노드를 연결선으로 연결하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  8. 제 6 항에 있어서, 상기 코드 워드 비트를 추출하는 단계는,
    상기 코드 워드 벡터에서 임의의 코드 워드 비트를 제 1 선택 코드 워드 비트로 선택하는 단계;
    상기 제 1 선택 코드 워드 비트에 대응되는 제 1 열 노드를 상기 인자 그래프에서 추출하는 단계;
    상기 선택된 열 노드와 연결선으로 연결된 모든 열 노드를 제외한 나머지 열 노드 중에서 임의의 제 2 열 노드를 추출하는 단계; 및
    상기 제 2 열 노드에 대응하는 코드 워드 비트를 제 2 선택 코드 워드 비트로 추출하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  9. 제 8 항에 있어서, 상기 선택된 열 노드와 연결선으로 연결된 열 노드는, 임의의 행 노드를 통해 상기 선택된 열 노드와 연결되는 모든 열 노드를 포함하는 것을 특징으로 하는 부호화 방법.
  10. 저밀도 패리티 검사 행렬을 이용한 패리티 정보 생성 동작에서 패리티 정보를 생성하는데 기초가 되는 코드 워드 비트를 선택하는 방법에 있어서,
    임의의 제 1 코드 워드 비트를 선택하는 단계; 및
    상기 제 1 코드 워드 비트와 서로 상관 관계를 가지는 코드 워드 비트를 제외한 나머지 코드 워드 비트중에서 제 2 선택 코드 워드 비트를 선택하는 단계를 포함하고,
    상기 상관 관계는, 제 1 코드 워드 비트가 행 방향 패리티 정보 생성에 관여하고, 상기 제 1 코드 워드 비트에 대응되는 위치에 있는 제 1 패리티 검사 행렬내의 구성 성분이 1 인 행 번호에서, 제 2 코드 워드 비트에 대응되는 위치에 있는 패리티 검사 행렬 열 내의 구성 성분이 1 이면, 상기 제 1 및 제 2 코드 워드 비트는 상관 관계에 있다고 정의되는 것을 특징으로 하는 코드 워드 비트 선택 방법.
  11. 제 10 항에서, 상기 상관 관계는, 상기 패리티 검사 행렬의 인자 그래프에서, 상기 제 1 코드 워드 비트에 대응되는 열 노드가 상기 제 2 코드 워드 비트에 대응되는 열 노드와 연결되었을 때 성립하는 것을 특징으로 하는 코드 워드 비트 선택 방법.
  12. 제 11 항에서, 상기 상관 관계는, 상기 패리티 검사 행렬의 인자 그래프에서, 상기 제 2 코드 워드 비트에 대응되는 열 노드가, 임의의 행 노드를 통해 상기 제 1 코드 워드 비트에 대응되는 열 노드와 연결되었을 때 성립하는 것을 특징으로 하는 코드 워드 비트 선택 방법.
KR1020030085770A 2003-11-28 2003-11-28 저밀도 패리티 검사를 이용한 패리티 정보 생성 방법 KR100975061B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020030085770A KR100975061B1 (ko) 2003-11-28 2003-11-28 저밀도 패리티 검사를 이용한 패리티 정보 생성 방법
PCT/KR2004/003060 WO2005053213A1 (en) 2003-11-28 2004-11-25 Method of generating parity information using low density parity check
US10/580,911 US20070277075A1 (en) 2003-11-28 2004-11-25 Method of Generating Parity Information Using Low Density Parity Check
TW093136446A TWI263887B (en) 2003-11-28 2004-11-26 Method of generating parity information using low density parity check

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030085770A KR100975061B1 (ko) 2003-11-28 2003-11-28 저밀도 패리티 검사를 이용한 패리티 정보 생성 방법

Publications (2)

Publication Number Publication Date
KR20050052602A KR20050052602A (ko) 2005-06-03
KR100975061B1 true KR100975061B1 (ko) 2010-08-11

Family

ID=34632041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030085770A KR100975061B1 (ko) 2003-11-28 2003-11-28 저밀도 패리티 검사를 이용한 패리티 정보 생성 방법

Country Status (4)

Country Link
US (1) US20070277075A1 (ko)
KR (1) KR100975061B1 (ko)
TW (1) TWI263887B (ko)
WO (1) WO2005053213A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060135451A (ko) * 2005-06-25 2006-12-29 삼성전자주식회사 저밀도 패리티 검사 행렬 부호화 방법 및 장치
TWI390856B (zh) * 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
TWI410055B (zh) * 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
WO2011024260A1 (ja) * 2009-08-25 2011-03-03 富士通株式会社 送信機、符号化装置、受信機、及び、復号化装置
CN104508982B (zh) * 2012-10-31 2017-05-31 慧与发展有限责任合伙企业 组合的块符号纠错
KR101512081B1 (ko) * 2013-02-07 2015-04-14 최수정 특정 밀도를 기반으로 하는 저밀도 행렬을 이용한 부호화/복호화 방법 및 장치
KR101512078B1 (ko) * 2013-02-07 2015-04-14 최수정 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치
US20160197703A1 (en) * 2013-09-10 2016-07-07 Electronics And Telecommunications Research Institute Ldpc-rs two-dimensional code for ground wave cloud broadcasting
WO2018066781A1 (ko) * 2016-10-07 2018-04-12 엘지전자 주식회사 경쟁 기반 비직교 다중 접속 방식에 기초하여 신호를 송수신하는 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081909A (en) * 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
JP2001168733A (ja) 1999-10-12 2001-06-22 Thomson Csf Ldpcコードの構築およびコーディングのためのプロセス
WO2002099976A2 (en) * 2001-06-06 2002-12-12 Seagate Technology Llc A method and coding apparatus using low density parity check codes for data storage or data transmission
US20030104788A1 (en) 2001-09-01 2003-06-05 Sungwook Kim Decoding architecture for low density parity check codes

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878061A (en) * 1996-03-14 1999-03-02 Intel Corporation Providing serial data clock signal transitions with parity bits
US7072417B1 (en) * 2000-06-28 2006-07-04 Marvell International Ltd. LDPC encoder and method thereof
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
CA2465332C (en) * 2003-05-05 2012-12-04 Ron Kerr Soft input decoding for linear codes
US7395494B2 (en) * 2003-12-22 2008-07-01 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
US7406648B2 (en) * 2003-12-24 2008-07-29 Electronics And Telecommunications Research Institute Methods for coding and decoding LDPC codes, and method for forming LDPC parity check matrix

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081909A (en) * 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
JP2001168733A (ja) 1999-10-12 2001-06-22 Thomson Csf Ldpcコードの構築およびコーディングのためのプロセス
WO2002099976A2 (en) * 2001-06-06 2002-12-12 Seagate Technology Llc A method and coding apparatus using low density parity check codes for data storage or data transmission
US20030104788A1 (en) 2001-09-01 2003-06-05 Sungwook Kim Decoding architecture for low density parity check codes

Also Published As

Publication number Publication date
US20070277075A1 (en) 2007-11-29
WO2005053213A1 (en) 2005-06-09
TWI263887B (en) 2006-10-11
TW200532432A (en) 2005-10-01
KR20050052602A (ko) 2005-06-03

Similar Documents

Publication Publication Date Title
US6856263B2 (en) Systems and processes for decoding chain reaction codes through inactivation
US20040093549A1 (en) Encoding method using a low density parity check code with a column weight of two
JP5116735B2 (ja) 符号を構成する方法
US8595589B2 (en) Quasi-cyclic low-density parity-check codes
KR101143732B1 (ko) 복호 방법 및 복호 장치, 기록 재생 장치 및 방법과, 재생 장치 및 방법
US20030079171A1 (en) Forward error correction
EP1258999B1 (en) Evaluating and optimizing error-correcting codes using a renormalization group transformation
US20040153959A1 (en) LDPC decoding apparatus and method
US7644336B2 (en) Techniques for providing greater error protection to error-prone bits in codewords generated from irregular codes
JP2007166605A (ja) パリティ検査行列、パリティ検査行列の生成方法、エンコーディング方法及びエラー訂正装置
Pfister et al. Symmetric product codes
KR100975061B1 (ko) 저밀도 패리티 검사를 이용한 패리티 정보 생성 방법
JP4591371B2 (ja) Qc符号の符号化方法
US20060107180A1 (en) Apparatus and method for constructing low-density parity check matrix
US7447972B2 (en) Methods and apparatus for constructing low-density parity check (LDPC) matrix
Hirotomo et al. A probabilistic computation method for the weight distribution of low-density parity-check codes
JP2010098735A (ja) バイナリデータの誤り訂正及び誤り検出の方法
KR20050052184A (ko) 저밀도 패리티 검사 부호화를 위한 인터리빙 방법
Farkaš et al. On run-length limited error control codes constructed from binary single parity check product codes
Van Wonterghem et al. On constructions of Reed-Muller subcodes
Lu et al. Efficient encoding of cycle codes: A graphical approach
US11218168B2 (en) Method and apparatus for generating an LDPC code with a required error floor
Hosoya et al. Spatially-coupled LDPC codes for two dimensional erasure channel
Sousa-da Silv et al. Burst erasure correction using LDPC codes constructed on base matrices generated by matched groups, nested polygons and superposed circulant matrices
JP2010041628A (ja) 符号化装置、符号化方法および符号化プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee