KR100953936B1 - Ldpc 복호화를 위한 복호화 방법 및 장치 - Google Patents

Ldpc 복호화를 위한 복호화 방법 및 장치 Download PDF

Info

Publication number
KR100953936B1
KR100953936B1 KR1020090037264A KR20090037264A KR100953936B1 KR 100953936 B1 KR100953936 B1 KR 100953936B1 KR 1020090037264 A KR1020090037264 A KR 1020090037264A KR 20090037264 A KR20090037264 A KR 20090037264A KR 100953936 B1 KR100953936 B1 KR 100953936B1
Authority
KR
South Korea
Prior art keywords
nodes
update
check
blocks
parity check
Prior art date
Application number
KR1020090037264A
Other languages
English (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 KR1020090037264A priority Critical patent/KR100953936B1/ko
Application granted granted Critical
Publication of KR100953936B1 publication Critical patent/KR100953936B1/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/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/1131Scheduling of bit node or check node processing
    • 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/1148Structural properties of the code parity-check or generator matrix
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Abstract

본 발명의 복호화 방법 및 장치는, 패리티 검사 행렬을 검사 노드 방향으로 분할하면서 변수 노드 방향으로 분할하여, 패리티 검사 행렬을 분할 블록들의 집합으로 변경하고, 분할 블록들의 제1 검사 노드들을 갱신한 뒤, 분할 블록들의 제2 검사 노드들의 갱신과 분할 블록들의 제1 변수 노드들의 갱신을 동시에 개시하고, 분할 블록들의 제2 검사 노드들의 갱신이 종료된 직후 분할 블록들의 제2 변수 노드들을 갱신하여 분할 블록들의 검사 노드들과 변수 노드들을 1회 갱신하고, 이와 같은 갱신을 수차례 반복하며 매번 그 갱신된 패리티 검사 행렬을 이용하여 LDPC 비트스트림을 복호화함으로써, LDPC복호화를 리소스(resource)를 더 확충하지 않고도 신속히 처리할 수 있고 그에 따라 decoding throughput을 크게 높일 수 있다.

Description

LDPC 복호화를 위한 복호화 방법 및 장치 { LDPC decoding method and apparatus}
본 발명의 적어도 일 실시예는 복호화 방법 및 장치에 관한 것으로, 보다 상세하게는 LDPC(Low-Density Parity-Check)코드로 부호화된 비트스트림을 복호화하기 위한 복호화 방법 및 장치에 관한 것이다.
LDPC(Low-Density Parity-Check) 코드(code)는 터보 코드(turbo code)와 더불어 제4 세대 이동통신시스템에 활용될 수 있는 우수한 오류정정부호로서 주목받고 있다.
LDPC 코드로 부호화된 비트스트림인 LDPC 비트스트림을 복호화하기 위해서는 패리티 검사 행렬(parity-check matrix)이 필요하다. 도 1은 종래의 LDPC 복호화를 위한 패리티 검사 행렬(H)(110)의 일 례를 나타낸 도면이다. 일반적으로 패리티 검사 행렬(110)은 도1에 도시된 바와 같은 블록 타입(block type)의 패리티 검사 행렬이다. 도 1에 도시된 바에서 패리티 검사 행렬(110)은 m*n 행렬이며(단, m, n 각각은 2이상의 정수) m*n개의 서브 블록(sub block)으로 구성된 행렬이고, 각 서브 블록은 c*c(단, c는 자연수) circulant matrix이다. LDPC 비트스트림의 복호화는 패리티 검사 행렬(110)의 모든 행과 열에 해당하는 검사 노드(check node)들과 변수 노드(variable node)들을 갱신하고, 갱신된 패리티 검사 행렬을 이용하여 복호화하는 과정을 반복하며(예컨대, k(단, k는 2이상의 정수)번) 수행된다. 도 2는 종래의 2채널(제1 채널, 제2 채널) LDPC 복호화 과정을 설명하기 위한 타이밍도이다. 도 2에 도시된 바에서 Decoder 1은 제1 채널의 LDPC 복호화 과정을 수행하는 디코더를 의미하고, Decoder 2는 제2 채널의 LDPC 복호화 과정을 수행하는 디코더를 의미하고, C-update는 패리티 검사 행렬(110)내의 모든 검사 노드들을 갱신하는 과정을 의미하며 α는 C-update에 소요되는 시간을 의미하고, V-update는 패리티 검사 행렬(110)내의 모든 변수 노드들을 갱신하는 과정을 의미하며, β는 V-update에 소요되는 시간을 의미한다. 도 2에 도시된 바와 같이, LDPC 복호화를 수행함에 있어 동일 채널에 대해 C-update와 V-update를 동시에 수행할 수는 없다.
이러한 종래의 LDPC 복호화 방안은 기타 다른 복호화 방안에 비해 상대적으로 많은 연산량을 필요로 하므로 LDPC 복호화의 신속한 완료를 위한 방안이 절실히 요구되고 있다. 특히, 리소스(resource)를 늘리지 않고도 LDPC 복호화를 신속히 완료할 수 있는 방안이 절실히 요구되고 있다.
본 발명의 적어도 일 실시예가 이루고자 하는 기술적 과제는, LDPC복호화의 신속한 완료를 도모하는 복호화 방법을 제공하는 데 있다.
본 발명의 적어도 일 실시예가 이루고자 하는 다른 기술적 과제는, LDPC 복호화의 신속한 완료를 도모하는 복호화 장치를 제공하는 데 있다.
본 발명의 적어도 일 실시예가 이루고자 하는 또 다른 기술적 과제는, LDPC복호화의 신속한 완료를 도모하기 위한 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기 기술적 과제를 이루기 위해, 복수의 서브 블록들로 구성된 패리티 검사 행렬을 이용하여 LDPC 비트스트림을 복호화하는 본 발명의 적어도 일 실시예에 따른 복호화 방법은, 상기 패리티 검사 행렬의 각 서브 블록을 변수 노드 방향과 검사 노드 방향으로 분할하여 분할 블록들을 생성하는 단계; 상기 분할 블록들의 제1 검사 노드들을 갱신한 뒤, 상기 분할 블록들의 제2 검사 노드들을 갱신하며, 상기 분할 블록들의 제2 검사 노드들이 갱신되는 도중 상기 분할 블록들의 제1 변수 노드들을 갱신하는 단계; 및 상기 갱신된 패리티 검사 행렬을 이용하여 상기 LDPC 비트스트림을 복호화하는 단계를 포함한다.
여기서, 상기 생성하는 단계는 상기 서브 블록들 각각을 검사 노드 방향으로 이등분하며 변수 노드 방향으로 이등분함으로써 상기 분할 블록들을 생성한다.
여기서, 상기 갱신하는 단계 및 상기 복호화하는 단계는 기 설정된 동작 횟수만큼 반복 수행된다.
여기서 상기 갱신하는 단계는 상기 제1 검사 노드들의 갱신이 완료된 직후에 상기 제2 검사 노드들의 갱신을 개시한다.
여기서, 상기 갱신하는 단계는 상기 분할 블록들의 제2검사 노드들의 갱신을 완료한 직후 상기 분할 블록들의 제2 변수 노드들의 갱신을 개시한다.
상기 다른 기술적 과제를 이루기 위해, 복수의 서브 블록들로 구성된 패리티 검사 행렬을 이용하여 LDPC 비트스트림을 복호화하는 본 발명의 적어도 일 실시예에 따른 복호화 장치는, 상기 패리티 검사 행렬의 각 서브 블록을 변수 노드 방향과 검사 노드 방향으로 분할하여 분할 블록들을 생성하는 분할부; 상기 분할 블록들의 제1 검사 노드들을 갱신한 뒤, 상기 분할 블록들의 제2 검사 노드들을 갱신하며, 상기 분할 블록들의 제2 검사 노드들이 갱신되는 도중 상기 분할 블록들의 제1 변수 노드들을 갱신하는 갱신부; 및 상기 갱신된 패리티 검사 행렬을 이용하여 상기 LDPC 비트스트림을 복호화하는 복호화부를 포함한다.
여기서, 상기 복호화 장치는 상기 분할 블록들을 저장하는 저장부를 더 포함하고, 상기 갱신부는 상기 저장된 패리티 검사 행렬에 대해 동작한다.
여기서, 상기 분할부는 상기 서브 블록들 각각을 검사 노드 방향으로 이등분하며 변수 노드 방향으로 이등분함으로써 상기 분할 블록들을 생성한다.
여기서, 상기 갱신부 및 상기 복호화부는 기 설정된 동작 횟수만큼 반복 동작한다.
여기서, 상기 갱신부는 상기 제1 검사 노드들의 갱신이 완료된 직후에 상기 제2 검사 노드들의 갱신을 개시한다.
여기서, 상기 갱신부는 상기 분할 블록들의 제2검사 노드들의 갱신을 완료한 직후 상기 분할 블록들의 제2 변수 노드들의 갱신을 개시한다.
상기 또 다른 기술적 과제를 이루기 위해 복수의 서브 블록들로 구성된 패리티 검사 행렬을 이용하여 LDPC 비트스트림을 복호화하기 위한 컴퓨터 프로그램을 저자한 본 발명의 적어도 일 실시예에 따른 컴퓨터로 읽을 수 있는 기록매체는, 상기 패리티 검사 행렬의 각 서브 블록을 변수 노드 방향과 검사 노드 방향으로 분할하여 분할 블록들을 생성하는 단계; 상기 분할 블록들의 제1 검사 노드들을 갱신한 뒤, 상기 분할 블록들의 제2 검사 노드들을 갱신하며, 상기 분할 블록들의 제2 검사 노드들이 갱신되는 도중 상기 분할 블록들의 제1 변수 노드들을 갱신하는 단계; 및 상기 갱신된 패리티 검사 행렬을 이용하여 상기 LDPC 비트스트림을 복호화하는 단계를 컴퓨터에서 실행시키기 위한 컴퓨터 프로그램을 저장한다.
본 발명의 적어도 일 실시예에 따른 복호화 방법 및 장치는, 패리티 검사 행렬을 검사 노드 방향으로 분할하면서 변수 노드 방향으로 분할하여, 패리티 검사 행렬을 분할 블록들의 집합으로 변경하고, 분할 블록들의 제1 검사 노드들을 갱신한 뒤, 분할 블록들의 제2 검사 노드들의 갱신과 분할 블록들의 제1 변수 노드들의 갱신을 동시에 개시하고, 분할 블록들의 제2 검사 노드들의 갱신이 종료된 직후 분할 블록들의 제2 변수 노드들을 갱신하여 분할 블록들의 검사 노드들과 변수 노드 들을 1회 갱신하고, 이와 같은 갱신을 수차례 반복하며 매번 그 갱신된 패리티 검사 행렬을 이용하여 LDPC 비트스트림을 복호화함으로써, LDPC복호화를 리소스(resource)를 더 확충하지 않고도 신속히 처리할 수 있고 그에 따라 decoding throughput을 크게 높일 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 그 첨부 도면을 설명하는 내용을 참조하여야만 한다.
이하, 본 발명의 적어도 일 실시예에 의한 복호화 방법 및 장치를 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 3은 본 발명의 적어도 일 실시예에 따른 복호화 장치를 설명하기 위한 블록도로서, 분할부(310), 저장부(320), 갱신부(330), 복호화부(340)를 포함할 수 있다. 도 4는 본 발명의 적어도 일 실시예에 따른 복호화를 위한 패리티 검사 행렬(H) (410)의 일 례를 나타낸 도면이고, 도 5는 본 발명의 적어도 일 실시예에 따른 복호화 과정을 설명하기 위한 타이밍도이다.
본 발명의 적어도 일 실시예에 따른 복호화 장치는 ‘LDPC 복호화’를 수행하는 장치이다. 즉 본 발명의 적어도 일 실시예에 따른 복호화 장치는 패리티 검사 행렬(H)(410)을 이용하여 복수의 LDPC 비트스트림을 복호화한다. 여기서 LDPC 비트스트림은 LDPC 코드로 부호화된 비트스트림을 의미하고 본 발명의 적어도 일 실시예에 따른 복호화 장치는 복수 채널들 각각마다 LDPC 비트스트림을 수신하고 복수 채널에 대해 LDPC 복호화를 수행한다. 본 명세서에서 제1 채널과 제2 채널은 그러한 복수 채널을 의미하고, 제1 채널과 제2 채널 각각의 LDPC 코드는 서로 같다.
분할부(310)는 패리티 검사 행렬(410)의 각 서브 블록을 변수 노드 방향(즉, 세로 방향)과 검사 노드 방향(즉, 가로 방향)으로 분할하여 분할 블록들을 생성한다.
즉, 분할부(310)는 패리티 검사 행렬(410)의 각 서브 블록을 변수 노드 방향으로도 분할하고 검사 노드 방향으로도 분할하여, 분할 블록들을 생성한다.
이하에서는 설명의 편의상 분할부(310)는 도 1에 도시된 패리티 검사 행렬(110)을 구성하는 서브 블록들 각각을 검사 노드 방향으로 이등분(균등 분할)하며 변수 노드 방향으로 이등분(균등 분할)함으로써, 도 4에 도시된 바와 같이 4*m*n개의 분할 블록들을 생성한다고 가정한다. 이와 같은 이등분할에 의해 각 서브 블록의 변수 노드들은 좌측(또는, 우측)에 위치한 분할 블록들의 변수 노드들(이하, ‘제1 변수 노드’들)과 우측(또는, 좌측)에 위치한 분할 블록들의 변수 노드들(이하, ‘제2 변수 노드’들)로 구분되고, 그 이등분할에 의해 각 서브 블록의 검사 노드들은 상측(또는 하측)에 위치한 분할 블록들의 검사 노드들(이하, ‘제1 검사 노드’들)과 하측(또는, 상측)에 위치한 분할 블록들의 검사 노드들(이하, ‘제2 검사 노드’들)로 구분된다.
저장부(320)는 분할부(310)에 의해 생성된 분할 블록들을 저장한다.
도 3에서 저장부(320)는 VMEM 1_1, VMEM 1_2, CMEM 1_1, CMEM 1_2로 구성되고, VMEM 1_1, VMEM 1_2, CMEM 1_1, CMEM 1_2 각각은 서로 독립된 메모리이고, VMEM 1_1은 패리티 검사 행렬(410)의 분할 블록들의 변수 노드들 중 제1 변수 노드들을 저장하고, VMEM 1_2는 패리티 검사 행렬(410)의 분할 블록들의 변수 노드들 중 제2 변수 노드들을 저장하고, CMEM 1_1은 패리티 검사 행렬(410)의 분할 블록들의 검사 노드들 중 제1 검사 노드들을 저장하고, CMEM 1_2는 패리티 검사 행렬(410)의 분할 블록들의 검사 노드들 중 제2 검사 노드들을 저장한다.
갱신부(330)는 저장부(320)에 저장된 패리티 검사 행렬에 대해 동작한다.
보다 구체적으로, 갱신부(330)는 분할 블록들의 제1 검사 노드들(또는, 제2 검사 노드들)을 갱신하고(즉, 제1 검사 노드들(또는, 제2 검사 노드들)에 대해 α/2동안 C-update를 수행하고(도 5 참조)), 분할 블록들의 제1 검사 노드들(또는, 제2 검사 노드들)의 갱신을 완료한 직후 분할 블록들의 제1 변수 노드들(또는 제2 변수 노드들)의 갱신을 개시하고(즉, 제1 변수 노드들(또는, 제2 변수 노드들)에 대해 β/2 동안 V-update를 수행하고(도 5 참조)) 이와 함께 분할 블록들의 제2 검사 노드들(또는, 제1 검사 노드들)의 갱신을 개시한다(즉, 제2 검사 노드들(또는, 제1 검사 노드들)에 대해 α/2동안 C-update를 수행하고(도 5 참조)). α>β 이므로, 제2 검사 노드들에 대한 C-update가 수행되는 동안 제1 변수 노드들에 대한 V-update는 완료된다. 제2 검사 노드들에 대한 갱신이 완료된 직후, 갱신부(330)는 제2 변수 노드들을 갱신한다.
도 3에 도시된 갱신부(330)는 VNU 1, VNU 2, VNU 3, ..., VNU 2n, CNU 1, CNU 2, CNU 3, ..., CNU 2m으로 구성되며, VNU p(단, p는 1≤p≤2n인 정수)는 패리티 검사 행렬(410)의 분할 블록들 중 p번째 분할 블록의 변수 노드들을 갱신하고, CNU q(단, q는 1≤q≤2m인 정수)는 패리티 검사 행렬(410)의 분할 블록들 중 q번째 분할 블록의 검사 노드들을 갱신한다.
도 1에 도시된 바에서 C-update에 소요되는 시간이 α이고 V-update에 소요되는 시간이 β이며, 하나의 서브 블록의 검사 노드들과 변수 노드들 모두를 한 번 갱신함에 있어 C-update를 α동안 수행한 뒤 V-update를 β동안 수행하는 반면, 도 5에 도시된 바에서는 하나의 서브 블록의 검사 노드들 및 변수 노드들 모두를 한 번 갱신함에 있어 C-update를 제1 검사 노드들에 대해 α/2동안 수행하고 이러한 α/2의 갱신이 완료된 직후 V-update를 제1 변수 노드들에 대해 β/2동안 수행하는 한편 C-update를 제2 검사 노드들에 대해 α/2동안 수행하고 그 제2 검사 노드들의 갱신이 완료된 직후 제2 변수 노드들에 대해 β/2동안 V-update를 수행한다. 즉, 패리티 검사 행렬의 검사 노드들과 변수 노드들 모두를 갱신함에 있어, 종래의 방안에 따르면 α+β의 시간이 소요되는 반면 본 발명의 적어도 일 실시예에 따르면 α+β/2의 시간이 소요된다. 이러한 원리에 따라, 본 발명의 적어도 일 실시예에 따르면 검사 노드들과 변수 노드들의 갱신을 완료하는 데 상당 시간을 단축할 수 있다.
복호화부(340)는 갱신부(330)이 패리티 검사 행렬(410)의 검사 노드들과 변수 노드들의 갱신을 완료할 때마다 그 갱신된 패리티 검사 행렬을 이용하여 LDPC 비트스트림을 복호화한다.
갱신부(330) 및 복호화부(340)는 기 설정된 동작 횟수만큼 반복 동작한다.
도 5는 갱신부(330) 및 복호화부(340)가 k(단, k는 2이상의 정수)번 반복 동 작한다고 가정할 때 갱신부(330)에 의해 패리티 검사 행렬(410)의 검사 노드들 및 변수 노드들이 갱신되는 과정을 나타낸다. k번의 반복 동작들 각각마다의 동작 원리는 앞서 이미 언급한 바이다. 앞서 본 발명의 적어도 일 실시예에 따르면 종래에 비해 검사 노드들 및 변수 노드들의 갱신을 완료하는 데 상당 시간을 단축할 수 있다고 언급하였는데, 이는 갱신부(330)가 많이 반복 동작할수록 더욱 두드러진다. 갱신부(330)가 k번 반복 동작한다고 할 때, 갱신부(330)가 k번의 반복 동작을 완료하는데 소요되는 시간은 (α*k)+β이다. 이는, 종래의 복호화 방안에 따라 패리티 검사 행렬(110)의 검사 노드들과 변수 노드들 모두를 k번 갱신하는데 소요되는 시간이 (α+β)*k임을 감안할 때 더욱 명확해진다(도 2 참조).
이에 따라, 본 발명의 적어도 일 실시예에 따른 복호화 장치는 LDPC 복호화를 리소스(resource)를 더 확충하지 않고도 신속히 처리할 수 있는 것이다.
도 6은 본 발명의 적어도 일 실시예에 따른 복호화 방법을 설명하기 위한 플로우챠트이다. 이를 도 3 및 도 4를 참조하여 설명하면 다음과 같다.
분할부(310)는 패리티 검사 행렬의 각 서브 블록을 변수 노드 방향과 검사 노드 방향으로 분할하여 분할 블록들을 생성한다(제610 단계).
제610 단계 후에, 갱신부(330)는 분할 블록들의 제1 검사 노드들을 갱신하고 갱신 뒤, 분할 블록들의 제2 검사 노드들의 갱신 및 분할 블록들의 제1 변수 노드들의 갱신을 개시하고, 분할 블록들의 제2 검사 노드들의 갱신이 완료된 직후, 분할 블록들의 제2 변수 노드들을 갱신한다(제620 단계).
제620 단계 후에 복호화부(340)는 제620 단계에서 갱신된 패리티 검사 행렬 을 이용하여 LDPC 비트스트림을 복호화한다(제630 단계).
이러한 제620 단계 및 제630 단계는 기 설정된 동작 횟수(예컨대 k번) 반복 수행될 수 있다.
이상에서 언급된 본 발명에 의한 복호화 방법을 컴퓨터에서 실행시키기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다.
여기서, 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬(ROM), 플로피 디스크, 하드 디스크 등), 및 광학적 판독 매체(예를 들면, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc))와 같은 저장매체를 포함한다.
이제까지 본 발명을 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점들은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 종래의 LDPC 복호화를 위한 패리티 검사 행렬의 일 례를 나타낸 도면이다.
도 2는 종래의 2채널 LDPC 복호화 과정을 설명하기 위한 타이밍도이다.
도 3은 본 발명의 적어도 일 실시예에 따른 복호화 장치를 설명하기 위한 블록도이다.
도 4는 본 발명의 적어도 일 실시예에 따른 복호화를 위한 패리티 검사 행렬의 일 례를 나타낸 도면이다.
도 5는 본 발명의 적어도 일 실시예에 따른 복호화 과정을 설명하기 위한 타이밍도이다.
도 6은 본 발명의 적어도 일 실시예에 따른 복호화 방법을 설명하기 위한 플로우챠트이다.

Claims (12)

  1. (a) 블록 타입의 패리티 검사 행렬(parity check matrix)이 부분 행렬인 적어도 두개의 서브 블록들로 이루어질 경우, 상기 서브 블록들 각각에 대하여 수평 방향 및 수직 방향으로 분할하여 네개의 분할 블록들을 생성하는 단계;
    (b) 상기 생성된 네개의 분할 블록들 중에서 상측에 위치하는 분할 블록들끼리 묶은 것 및 하측에 위치하는 분할 블록들끼리 묶은 것을 각각 검사 노드로 저장하며, 상기 생성된 네개의 분할 블록들 중에서 좌측에 위치하는 분할 블록들끼리 묶은 것 및 우측에 위치하는 분할 블록들끼리 묶은 것을 각각 변수 노드로 저장하는 단계;
    (c) 상기 저장된 두개의 검사 노드들 중에서 선택된 제1 검사 노드를 제1 갱신하고, 상기 제1 갱신이 종료되면 상기 제1 검사 노드를 제외한 다른 검사 노드를 제2 갱신하며 이와 함께 상기 저장된 두개의 변수 노드들 중에서 선택되되 상기 제1 갱신과 상기 제2 갱신에 따라 모든 노드가 갱신된 제1 변수 노드를 갱신하며, 상기 저장된 변수 노드들 중에서 갱신되지 않은 변수 노드를 갱신하는 단계로서, 하기 수학식에 따라 결정된 시간동안 상기 패리티 검사 행렬을 갱신하는 단계; 및
    (d) 상기 갱신된 패리티 검사 행렬을 이용하여 적어도 두개의 채널을 통해 수신된 LDPC(Low Density Parity Check) 비트스트림들을 동시에 복호화시키는 단계
    를 포함하는 것을 특징으로 하는 복호화 방법.
    [수학식]
    t=(α×k)+β
    t는 패리티 검사 행렬을 갱신하는 데에 걸리는 총 시간, α는 모든 검사 노드들을 갱신하는 데에 걸리는 시간, β는 모든 변수 노드들을 갱신하는 데에 걸리는 시간, k는 모든 검사 노드들과 모든 변수 노드들을 갱신하는 총 횟수.
  2. 제 1 항에 있어서,
    상기 (a) 단계에서 상기 서브 블록들 각각에 대하여 수평 방향 및 수직 방향으로 분할할 때에는 이등분하는 것을 특징으로 하는 복호화 방법.
  3. 제 1 항에 있어서,
    상기 (c) 단계 및 상기 (d) 단계는 기 설정된 동작 횟수만큼 반복 수행되는 것을 특징으로 하는 복호화 방법.
  4. 삭제
  5. 삭제
  6. 블록 타입의 패리티 검사 행렬(parity check matrix)이 부분 행렬인 적어도 두개의 서브 블록들로 이루어질 경우, 상기 서브 블록들 각각에 대하여 수평 방향 및 수직 방향으로 분할하여 네개의 분할 블록들을 생성하는 분할부;
    상기 생성된 네개의 분할 블록들 중에서 상측에 위치하는 분할 블록들끼리 묶은 것 및 하측에 위치하는 분할 블록들끼리 묶은 것을 각각 검사 노드로 저장하며, 상기 생성된 네개의 분할 블록들 중에서 좌측에 위치하는 분할 블록들끼리 묶은 것 및 우측에 위치하는 분할 블록들끼리 묶은 것을 각각 변수 노드로 저장하는 저장부;
    상기 저장된 두개의 검사 노드들 중에서 선택된 제1 검사 노드를 제1 갱신하고, 상기 제1 갱신이 종료되면 상기 제1 검사 노드를 제외한 다른 검사 노드를 제2 갱신하며 이와 함께 상기 저장된 두개의 변수 노드들 중에서 선택되되 상기 제1 갱신과 상기 제2 갱신에 따라 모든 노드가 갱신된 제1 변수 노드를 갱신하며, 상기 저장된 변수 노드들 중에서 갱신되지 않은 변수 노드를 갱신하는 것으로서, 하기 수학식에 따라 결정된 시간동안 상기 패리티 검사 행렬을 갱신하는 갱신부; 및
    상기 갱신된 패리티 검사 행렬을 이용하여 적어도 두개의 채널을 통해 수신된 LDPC(Low Density Parity Check) 비트스트림들을 동시에 복호화시키는 복호화부
    를 포함하는 것을 특징으로 하는 복호화 장치.
    [수학식]
    t=(α×k)+β
    t는 패리티 검사 행렬을 갱신하는 데에 걸리는 총 시간, α는 모든 검사 노드들을 갱신하는 데에 걸리는 시간, β는 모든 변수 노드들을 갱신하는 데에 걸리는 시간, k는 모든 검사 노드들과 모든 변수 노드들을 갱신하는 총 횟수.
  7. 삭제
  8. 제 6 항에 있어서,
    상기 분할부가 상기 서브 블록들 각각에 대하여 수평 방향 및 수직 방향으로 분할할 때에는 이등분하는 것을 특징으로 하는 복호화 장치.
  9. 제 6 항에 있어서,
    상기 갱신부 및 상기 복호화부는 기 설정된 동작 횟수만큼 반복 수행되는 것을 특징으로 하는 복호화 장치.
  10. 삭제
  11. 삭제
  12. 제 1 항 내지 제 3 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체.
KR1020090037264A 2009-04-28 2009-04-28 Ldpc 복호화를 위한 복호화 방법 및 장치 KR100953936B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090037264A KR100953936B1 (ko) 2009-04-28 2009-04-28 Ldpc 복호화를 위한 복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090037264A KR100953936B1 (ko) 2009-04-28 2009-04-28 Ldpc 복호화를 위한 복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100953936B1 true KR100953936B1 (ko) 2010-04-22

Family

ID=42220160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090037264A KR100953936B1 (ko) 2009-04-28 2009-04-28 Ldpc 복호화를 위한 복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100953936B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102511827B1 (ko) * 2021-11-24 2023-03-21 삼성전자주식회사 Ldpc 디코더 및 스토리지 장치
US11929762B2 (en) 2021-11-24 2024-03-12 Samsung Electronics Co., Ltd. Low density parity check decoder and storage device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080031136A (ko) * 2006-10-02 2008-04-08 브로드콤 코포레이션 중복 부분 행렬 기반의 저밀도 패리티 체크 디코더

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080031136A (ko) * 2006-10-02 2008-04-08 브로드콤 코포레이션 중복 부분 행렬 기반의 저밀도 패리티 체크 디코더

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102511827B1 (ko) * 2021-11-24 2023-03-21 삼성전자주식회사 Ldpc 디코더 및 스토리지 장치
US11929762B2 (en) 2021-11-24 2024-03-12 Samsung Electronics Co., Ltd. Low density parity check decoder and storage device

Similar Documents

Publication Publication Date Title
KR101789959B1 (ko) 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치
EP1506621B1 (en) Decoding of chain reaction codes through inactivation of recovered symbols
JP5752317B2 (ja) 準巡回低密度パリティ検査符号を求める方法、及び準巡回低密度パリティ検査符号に基づいてデータを符号化するシステム
KR100808664B1 (ko) 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
KR100949519B1 (ko) 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
JP4702632B2 (ja) 符号化方法および符号化装置、並びにプログラム
US20100325511A1 (en) Method of generating parity-check matrix, encoding/decoding method for low density parity-check code with variable information length and variable code rate and apparatus using the same
JP2004147318A (ja) Ldpc復号化装置及びその方法
JP2006157926A (ja) 低密度パリティ検査符号の生成方法及び装置
JP2007166605A (ja) パリティ検査行列、パリティ検査行列の生成方法、エンコーディング方法及びエラー訂正装置
US20170222660A1 (en) Method and apparatus for supporting low bit rate coding, and computer storage medium
JP2007215089A (ja) 復号装置及び復号方法
Hareedy et al. A combinatorial methodology for optimizing non-binary graph-based codes: Theoretical analysis and applications in data storage
CN113612486B (zh) 一种构建pbrl ldpc码的基矩阵方法、系统、装置及存储介质
JP2004140828A (ja) エラー訂正符号化装置及びその方法
KR102019893B1 (ko) 저밀도 패리티 검사 부호를 지원하는 통신 시스템에서 신호 수신 장치 및 방법
KR100953936B1 (ko) Ldpc 복호화를 위한 복호화 방법 및 장치
JP6046403B2 (ja) 誤り訂正符号の符号化方法及び復号方法
WO2008069231A1 (ja) 復号装置、復号方法
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
WO2008069460A1 (en) Method of generating parity-check matrix, encoding/decoding method for low density parity-check code with variable information length and variable code rate and apparatus using the same
KR20090064709A (ko) Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치
JPWO2010103757A1 (ja) 復号装置および復号方法
CN112988454B (zh) 一种扩张部分重复码构造方法
WO2021120729A1 (zh) 译码方法、设备、可读存储介质、芯片及计算机程序产品

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140317

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150306

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170313

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180306

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200312

Year of fee payment: 11