KR102397896B1 - 수신 장치 및 그의 신호 처리 방법 - Google Patents

수신 장치 및 그의 신호 처리 방법 Download PDF

Info

Publication number
KR102397896B1
KR102397896B1 KR1020150076544A KR20150076544A KR102397896B1 KR 102397896 B1 KR102397896 B1 KR 102397896B1 KR 1020150076544 A KR1020150076544 A KR 1020150076544A KR 20150076544 A KR20150076544 A KR 20150076544A KR 102397896 B1 KR102397896 B1 KR 102397896B1
Authority
KR
South Korea
Prior art keywords
ldpc
parity
information word
decoding
bits
Prior art date
Application number
KR1020150076544A
Other languages
English (en)
Other versions
KR20160140209A (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 KR1020150076544A priority Critical patent/KR102397896B1/ko
Priority to US15/156,907 priority patent/US10211949B2/en
Priority to PCT/KR2016/005638 priority patent/WO2016195331A1/en
Priority to EP16803686.1A priority patent/EP3304747B1/en
Priority to CA2984479A priority patent/CA2984479C/en
Priority to MX2017015273A priority patent/MX2017015273A/es
Priority to CN201680031119.2A priority patent/CN107667494B/zh
Publication of KR20160140209A publication Critical patent/KR20160140209A/ko
Application granted granted Critical
Publication of KR102397896B1 publication Critical patent/KR102397896B1/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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • 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
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/253Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with concatenated 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with 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/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
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • H04L1/0058Block-coded modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Abstract

수신 장치가 개시된다. 본 수신 장치는 송신 장치로부터 중첩 코딩 신호를 수신하여 처리하며, 중첩 코딩 신호를 처리하여 제1 신호를 생성하는 제1 BICM 디코더, 중첩 코딩 신호를 처리하여 제2 신호를 생성하는 제2 BICM 디코더 및 제1 BICM 디코더의 디코딩 결과에 기초하여 제2 BICM 디코더에서 디코딩에 이용되는 패리티를 생성하는 패리티 생성부를 포함한다.

Description

수신 장치 및 그의 신호 처리 방법 { RECEIVER AND SIGNAL PROCESSING METHOD THEREOF }
본 발명은 수신 장치 및 그의 신호 처리 방법에 관한 것으로, 더욱 상세하게는 중첩 코딩에 의해 생성된 신호를 수신하여 처리하는 수신 장치 및 그의 신호 처리 방법에 관한 것이다.
21세기 정보화 사회에서 방송 통신 서비스는 본격적인 디지털화, 다채널화, 광대역화, 고품질화의 시대를 맞이하고 있다. 특히 최근에 고화질 디지털 TV 및 PMP, 휴대방송 기기 보급이 확대됨에 따라 디지털 방송 서비스도 다양한 수신방식 지원에 대한 요구가 증대되고 있다.
특히, 수신기가 중첩 코딩에 의해 생성된 신호를 처리하는 경우, 상대적으로 작은 파워를 갖는 베이스 레이어에 대한 신호를 수신하기 위해 상대적으로 큰 파워를 갖는 상부 레이어에 대한 신호를 이용한다.
따라서, 상부 레이어에 대한 신호의 처리 시간이 길어질수록 베이스 레이어에 대한 신호의 처리 시간이 길어지게 된다.
가령, 베이스 레이어에 대한 신호를 수신하기 위해, 상부 레이어에 대한 신호를 인코딩하는데, 상부 레이어에 대한 신호에 대한 인코딩 시간이 길어지는 경우 베이스 레이어에 대한 신호의 처리 시간이 길어지게 된다.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은 중첩 코딩 신호에서 제1 신호를 생성하기 위해 수행된 디코딩 결과에 기초하여 제2 신호를 생성하기 위한 디코딩에 이용되는 패리티를 생성하는 수신 장치 및 그의 신호 처리 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 수신 장치는 상기 중첩 코딩 신호를 처리하여 제1 신호를 생성하는 제1 BICM 디코더, 상기 중첩 코딩 신호를 처리하여 제2 신호를 생성하는 제2 BICM 디코더 및 상기 제1 BICM 디코더의 디코딩 결과에 기초하여 상기 제2 BICM 디코더에서 디코딩에 이용되는 패리티를 생성하는 패리티 생성부를 포함한다.
여기에서, 상기 제1 BICM 디코더는 상기 중첩 코딩 신호에 대한 복조를 수행하는 제1 디맵퍼, 상기 제1 디맵퍼의 출력을 디인터리빙하는 제1 디인터리버, 상기 제1 디인터리버의 출력을 LDPC 디코딩하는 제1 LDPC 디코더 및 상기 제1 LDPC 디코더의 출력을 BCH 디코딩하여 상기 제1 신호를 생성하는 제1 BCH 디코더를 포함할 수 있다.
그리고, 상기 제1 LDPC 디코더는 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
또한, 상기 패리티 생성부는 상기 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는지를 판단할 수 있다.
그리고, 상기 패리티 생성부는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
또한, 상기 패리티 생성부는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 IPPC 식의 값을 플립핑하여 에러를 정정하고, 상기 플립핑된 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
한편, 상기 제1 LDPC 디코더는 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
여기에서, 상기 패리티 생성부는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
그리고, 상기 패리티 생성부는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는지를 판단할 수 있다.
또한, 상기 패리티 생성부는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 제1 IPPC 식의 결과 값을 플립핑하여 에러를 정정하고, 상기 플립핑된 제1 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어에 대응되는 제1 LDPC 패리티를 생성할 수 있다.
그리고, 상기 패리티 생성부는 상기 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 LDPC 패리티와 상기 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티를 비교하여 상기 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 제2 IPPC 식의 값을 플립핑하여 에러를 정정하고, 상기 플립핑된 제2 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
한편, 상기 제1 BICM 디코더는 상기 중첩 코딩 신호에 대한 복조를 수행하는 제1 디맵퍼, 상기 제1 디맵퍼의 출력을 디인터리빙하는 제1 디인터리버, 상기 제1 디인터리버의 출력을 LDPC 디코딩하는 제1 LDPC 디코더 및 상기 제1 LDPC 디코더의 출력을 CRC 디코딩하여 상기 제1 신호를 생성하는 제1 CRC 디코더를 포함할 수 있다.
여기에서, 상기 제1 LDPC 디코더는 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
또한, 상기 패리티 생성부는 상기 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하지만, 상기 CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 LDPC 정보어에 대한 LDPC 패리티를 생성할 수 있다.
한편, 상기 제1 LDPC 디코더는 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
여기에서, 상기 패리티 생성부는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하지만, 상기 CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 LDPC 정보어에 대한 LDPC 패리티를 생성할 수 있다.
한편, 본 실시 예에 따른 수신 장치는 상기 패리티 생성부에서 출력되는 LDPC 부호어를 인터리빙하고, 상기 인터리빙된 LDPC 부호어를 변조하는 BICM 인코더를 더 포함할 수 있다.
여기에서, 상기 제2 BICM 디코더는 상기 중첩 코딩 신호에서 상기 BICM 인코더에서 출력되는 신호가 제거된 신호에 대한 복조를 수행하는 제2 디맵퍼, 상기 제2 디맵퍼의 출력을 디인터리빙하는 제2 디인터리버, 상기 제2 디인터리버의 출력을 LDPC 디코딩하는 제2 LDPC 디코더 및 상기 제2 LDPC 디코더의 출력을 BCH 디코딩하여 상기 제2 신호를 생성하는 제2 CRC 디코더를 포함할 수 있다.
한편, 본 실시 예에 따른 수신 장치는 상기 패리티 생성부에서 출력되는 LDPC 부호어를 인터리빙하고, 상기 인터리빙된 LDPC 부호어를 변조하는 BICM 인코더를 더 포함할 수 있다.
여기에서, 상기 제2 BICM 디코더는 상기 중첩 코딩 신호에서 상기 BICM 인코더에서 출력되는 신호가 제거된 신호에 대한 복조를 수행하는 제2 디맵퍼, 상기 제2 디맵퍼의 출력을 디인터리빙하는 제2 디인터리버, 상기 제2 디인터리버의 출력을 LDPC 디코딩하는 제2 LDPC 디코더 및 상기 제2 LDPC 디코더의 출력을 BCH 디코딩하여 상기 제2 신호를 생성하는 제2 BCH 디코더를 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 신호 처리 방법은 제1 BICM 디코더를 이용하여, 상기 중첩 코딩 신호를 처리하여 제1 신호를 생성하는 단계 및 제2 BICM 디코더를 이용하여, 상기 중첩 코딩 신호를 처리하여 제2 신호를 생성하는 단계를 포함하며, 본 실시 예에 따른 신호 처리 방법은 상기 제1 BICM 디코더의 디코딩 결과에 기초하여 상기 제2 BICM 디코더에서 디코딩에 이용되는 패리티를 생성하는 단계를 더 포함한다.
여기에서, 상기 제1 신호를 생성하는 단계는 제1 디맵퍼를 이용하여, 상기 중첩 코딩 신호에 대한 복조를 수행하는 단계, 제1 디인터리버를 이용하여, 상기 제1 디맵퍼의 출력을 디인터리빙하는 단계, 제1 LDPC 디코더를 이용하여, 상기 제1 디인터리버의 출력을 LDPC 디코딩하는 단계 및 제1 BCH 디코더를 이용하여, 상기 제1 LDPC 디코더의 출력을 BCH 디코딩하여 상기 제1 신호를 생성하는 단계를 포함할 수 있다.
그리고, 상기 LDPC 디코딩하는 단계는 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
또한, 상기 패리티를 생성하는 단계는 상기 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는지를 판단할 수 있다.
그리고, 상기 패리티를 생성하는 단계는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
또한, 상기 패리티를 생성하는 단계는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 IPPC 식의 값을 플립핑하여 에러를 정정하고, 상기 플립핑된 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
한편, 상기 LDPC 디코딩하는 단계는 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
여기에서, 상기 패리티를 생성하는 단계는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
그리고, 상기 패리티를 생성하는 단계는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는지를 판단할 수 있다.
또한, 상기 패리티를 생성하는 단계는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 제1 IPPC 식의 결과 값을 플립핑하여 에러를 정정하고, 상기 플립핑된 제1 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어에 대응되는 제1 LDPC 패리티를 생성할 수 있다.
그리고, 상기 패리티를 생성하는 단계는 상기 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 LDPC 패리티와 상기 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티를 비교하여 상기 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 제2 IPPC 식의 값을 플립핑하여 에러를 정정하고, 상기 플립핑된 제2 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
한편, 상기 패리티를 생성하는 단계는 상기 제1 BICM 디코더에서 출력되는 LDPC 정보어에 대한 LDPC 패리티를 생성하며, 본 실시 예에 따른 신호 처리 방법은 BICM 인코더를 이용하여, 상기 LDPC 정보어 및 상기 LDPC 패리티로 구성된 LDPC 부호어를 인터리빙하고, 상기 인터리빙된 LDPC 부호어를 변조하는 단계를 더 포함할 수 있다.
여기에서, 상기 제2 신호를 생성하는 단계는 제2 디맵퍼를 이용하여, 상기 중첩 코딩 신호에서 상기 BICM 인코더에서 출력되는 신호가 제거된 신호에 대한 복조를 수행하는 단계, 제2 디인터리버를 이용하여, 상기 제2 디맵퍼의 출력을 디인터리빙하는 단계, 제2 LDPC 디코더를 이용하여, 상기 제2 디인터리버의 출력을 LDPC 디코딩하는 단계 및 제2 BCH 디코더를 이용하여, 상기 제2 LDPC 디코더의 출력을 BCH 디코딩하여 상기 제2 신호를 생성하는 단계를 포함할 수 있다.
한편, 상기 제1 신호를 생성하는 단계는 제1 디맵퍼를 이용하여, 상기 중첩 코딩 신호에 대한 복조를 수행하는 단계, 제1 디인터리버를 이용하여, 상기 제1 디맵퍼의 출력을 디인터리빙하는 단계 제1 LDPC 디코더를 이용하여, 상기 제1 디인터리버의 출력을 LDPC 디코딩하는 단계 및 제1 CRC 디코더를 이용하여, 상기 제1 LDPC 디코더의 출력을 CRC 디코딩하여 상기 제1 신호를 생성하는 단계를 포함할 수 있다.
여기에서, 상기 LDPC 디코딩하는 단계는 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
또한, 상기 패리티를 생성하는 단계는 상기 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하지만, 상기 CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 LDPC 정보어에 대한 LDPC 패리티를 생성할 수 있다.
한편, 상기 LDPC 디코딩하는 단계는 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
여기에서, 상기 패리티를 생성하는 단계는 상기 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하지만, 상기 CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 LDPC 정보어에 대한 LDPC 패리티를 생성할 수 있다.
한편, 상기 패리티를 생성하는 단계는 상기 제1 BICM 디코더에서 출력되는 LDPC 정보어에 대한 LDPC 패리티를 생성하며, 상기 신호 처리 방법은 BICM 인코더를 이용하여, 상기 LDPC 정보어 및 LDPC 패리티로 구성된 LDPC 부호어를 인터리빙하고, 상기 인터리빙된 LDPC 부호어를 변조하는 단계를 더 포함할 수 있다.
여기에서, 상기 제2 신호를 생성하는 단계는 제2 디맵퍼를 이용하여, 상기 중첩 코딩 신호에서 상기 BICM 인코더에서 출력되는 신호가 제거된 신호에 대한 복조를 수행하는 단계, 제2 디인터리버를 이용하여, 상기 제2 디맵퍼의 출력을 디인터리빙하는 단계, 제2 LDPC 디코더를 이용하여, 상기 제2 디인터리버의 출력을 LDPC 디코딩하는 단계 및 제2 CRC 디코더를 이용하여, 상기 제2 LDPC 디코더의 출력을 CRC 디코딩하여 상기 제2 신호를 생성하는 단계를 포함할 수 있다.
이러한 본 발명의 다양한 실시 예에 따르면, 상부 레이어에 대한 신호의 인코딩 시간이 줄어들어, 보다 신속하게 베이스 레이어에 대한 신호를 복원할 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 송신 장치의 구성을 나타내는 블록도,
도 2a 및 도 2b는 본 발명의 일 실시 예에 따른 LDPC 부호어를 나타내는 도면,
도 3은 본 발명의 일 실시 예에 따른 중첩 코딩 신호의 성상도의 일 예를 나타내는 도면,
도 4는 본 발명의 일 실시 예에 따른 중첩 코딩 신호에 대한 파워의 일 예를 나타내는 도면,
도 5 및 도 6은 본 발명의 일 실시 예에 따른 패리티 검사 행렬을 설명하기 위한 도면들,
도 7은 본 발명의 일 실시 예에 따른 수신 장치의 구성을 설명하기 위한 블록도,
도 8a 및 도 8b는 본 발명의 일 실시 예에 따른 제1 BICM 디코더의 세부 구성을 설명하기 위한 블록도,
도 9 내지 도 29는 본 발명의 일 실시 예에 따라 패리티를 생성하는 다양한 방법을 설명하기 위한 도면들,
도 30a 및 도 30b는 본 발명의 일 실시 예에 따른 수신 장치의 세부 구성을 설명하기 위한 블록도, 그리고
도 31은 본 발명의 일 실시 예에 따른 신호 처리 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다.
본 발명의 일 실시 예에 따른 수신 장치는 중첩 코딩(superposition coding)에 의해 생성된 신호(이하, 중첩 코딩 신호)를 수신하여, 중첩되기 이전의 신호 각각을 생성할 수 있다.
여기에서, 중첩 코딩은 서로 동일하거나 다른 데이터로 구성된 신호 각각을서로 다른 파워를 갖도록 중첩(superimpose 또는 overlap)하는 코딩 방식을 의미한다. 이 경우, 중첩 코딩 신호에서 상대적으로 큰 파워를 갖는 신호는 상부 레이어(Upper Layer)를 구성할 수 있으며, 상대적으로 작은 파워를 갖는 신호는 베이스 레이어(Base Layer)를 구성할 수 있다.
한편, 중첩 코딩 신호를 생성하여 전송하는 송신 장치는 도 1과 같이 나타낼 수 있다.
도 1을 참조하면, 송신 장치(100)는 제1 인코더(111), 제1 인터리버(112) 및 제1 맵퍼(또는, 성상도 맵퍼)(113)를 포함하는 제1 BICM 인코더(110)를 구비하여, 스트림 A를 인코딩 및 인터리빙한 후 이를 성상점에 맵핑할 수 있다. 그리고, 송신 장치(100)는 제2 인코더(121), 제2 인터리버(122) 및 제2 맵퍼(123)를 포함하는 제2 BICM 인코더(120)를 구비하여, 스트림 B를 인코딩 및 인터리빙한 후 이를 성상점에 맵핑할 수 있다.
이 경우, 제1 및 제2 인코더(111, 121)는 BCH(Bose, Chaudhri, Hocquenghem) 인코더(미도시), CRC(Cyclic Redundancy Check) 인코더(미도시) 및 LDPC(Low Density Parity Check) 인코더(미도시)를 포함하여, BCH 인코딩 및 LDPC 인코딩을 연접(concatenation)하여 수행하거나, CRC 인코딩 및 LDPC 인코딩을 연접하여 수행할 수 있다.
한편, BCH 코드, CRC 코드 및 LDPC 코드 모두 시스테매틱 코드(systematic code)라는 점에서, 정보어가 부호어(codeword)에 포함될 수 있다.
즉, BCH 인코더(미도시)는 입력되는 비트들(즉, 송신 장치(100)가 전송하고자 하는 비트들로(즉, 페이로드(payload)), 도 1의 예에서 스트림 A 및 B 각각을 구성하는 비트들이 될 수 있다)을 BCH 정보어로 BCH 인코딩을 수행하여 BCH 패리티를 생성하고, BCH 정보어와 BCH 패리티로 구성된 BCH 부호어를 LDPC 인코더(미도시)로 출력할 수 있다.
또는, CRC 인코더(미도시)는 입력되는 비트들을 CRC 정보어로 CRC 인코딩을 수행하여 CRC 패리티를 생성하고, CRC 정보어와 CRC 패리티로 구성된 CRC 부호어를 LDPC 인코더(미도시)로 출력할 수 있다.
LDPC 인코더(미도시)는 BCH 부호어 또는 CRC 정보어를 LDPC 정보어로 LDPC 인코딩을 수행하여 LDPC 패리티를 생성하고, LDPC 정보어와 LDPC 패리티로 구성된 LDPC 부호어를 제1 및 제2 인터리버(112, 122)로 출력할 수 있다.
이와 같은 코딩에 의해 생성된 LDPC 부호어는 도 2a 및 도 2b와 같이 나타낼 수 있다.
예를 들어, 도 2a와 같이, LDPC 부호어는 입력되는 비트들에 BCH 패리티 및 LDPC 패리티가 부가된 형태가 되거나, 도 2b와 같이, LDPC 부호어는 입력되는 비트들에 CRC 패리티 및 LDPC 패리티가 부가된 형태가 될 수 있다.
한편, 송신 장치(100)는 베이스 레이어 게인 컨트롤러(130)를 통해 제2 BICM 인코더(120)에서 출력되는 신호에 대한 게인(즉, 파워)을 조절한 후, 이를 제1 BICM 인코더(110)에서 출력되는 신호와 중첩하여, 중첩 코딩 신호를 생성할 수 있다.
그리고, 송신 장치(100)는 게인 컨트롤러(140)를 통해 중첩 코딩 신호에 대한 게인을 조절하고, 타임 인터리버(150)를 통해 중첩 코딩 신호가 맵핑된 성상점들 즉, 셀들을 인터리빙한 후, OFDM 송신부(160)를 통해 인터리빙된 셀들을 OFDM 프레임에 맵핑하여 수신 장치(1000)로 전송할 수 있다.
한편, 중첩 코딩 신호에 대한 성상도의 일 예는 도 3과 같이 나타낼 수 있다.
도 3의 경우, 상부 레이어에 대응되는 신호는 QPSK(Quadrature Phase Shift Keying)으로 변조되고 베이스 레이어에 대응되는 신호는 64-QAM(Quadrature Amplitude Modulation)으로 변조된 경우를 일 예로 나타내었다.
도 3을 참조하면, 상대적으로 큰 파워를 갖는 상부 레이어에 대응되는 신호에 대한 성상점을 기준으로 상대적으로 작은 파워를 갖는 베이스 레이어에 대응되는 신호에 대한 성상점이 중첩되어 나타내어짐을 알 수 있다.
한편, 중첩 코딩 신호를 파워 측면에서 나타내면 도 4와 같이 나타낼 수 있다.
도 4를 참조하면, RF 채널 대역에서 상부 레이어에 대응되는 신호의 파워가 베이스 레이어에 대응되는 신호의 파워보다 약 5dB 정도 크다는 점을 알 수 있다.
한편, 상술한 바와 같이, 송신 장치(100)의 인코더(111, 121)에서는 LDPC 인코딩이 수행되는데, LDPC 인코딩은 LDPC 정보어에 대해 HㆍCT=0을 만족하도록 하는 LDPC 패리티를 생성하는 과정이다. 여기에서, H는 패리티 검사 행렬, C=(c0,c1,...,
Figure 112015052209200-pat00001
,
Figure 112015052209200-pat00002
), 여기에서 Nldpc는 LDPC 부호어의 길이를 의미한다)는 LDPC 부호어를 나타낸다. 즉, 패리티 검사 행렬의 각 열과 LDPC 부호어 비트들 ci(i=0,1,...,Nldpc-1) 각각을 곱한 값들의 합이 '0' 벡터가 되는 LDPC 패리티를 생성하는 과정이다. 여기에서, 합은 바이너리 연산을 의미한다. 바이너리 연산에 의하면, 1
Figure 112015052209200-pat00003
1은 0, 1
Figure 112015052209200-pat00004
0은 1, 0
Figure 112015052209200-pat00005
1은 1, 0
Figure 112015052209200-pat00006
0은 0이다.
이를 위해, 송신 장치(100)는 메모리(미도시)를 이용하여 다양한 형태의 패리티 검사 행렬(parity check matrix)에 대한 정보를 기저장하고 있을 수 있다.
이하에서는 첨부된 도면을 참조하여, 본 발명의 다양한 실시 예들에 따른 패리티 검사 행렬의 구조에 대해 설명하도록 한다. 이하에서의 패리티 검사 행렬에서 1을 제외한 부분의 원소는 0이다.
일 예로, 본 발명의 일 실시 예에 따른 패리티 검사 행렬은 도 5와 같은 구조를 가질 수 있다.
도 5를 참조하면, 패리티 검사 행렬(10)은 LDPC 정보어에 대응되는 부분 행렬인 정보어 부분 행렬(11)과 LDPC 패리티에 대응되는 부분 행렬인 패리티 부분 행렬(12)로 구성된다.
패리티 검사 행렬(10)의 열의 개수는 LDPC 부호어의 길이 Nldpc와 같고, 정보어 부분 행렬(11)의 열의 개수는 LDPC 정보어의 길이 Kldpc와 같고, 패리티 부분 행렬(12)의 열의 개수는 LDPC 패리티의 길이 Nparity=Nldpc-Kldpc와 같다. 한편, 패리티 검사 행렬(10)의 행의 개수는 패리티 부분 행렬(12)의 열의 개수와 동일하다.
한편, 정보어 부분 행렬(11)은 Kldpc 개의 열(즉, 0 번째 열부터 Kldpc-1 번째 열)을 포함하는 행렬로, 다음과 같은 규칙을 따른다.
첫째, 정보어 부분 행렬(11)을 구성하는 Kldpc 개의 열들은 M 개씩 동일한 그룹에 속하며, 총 Kldpc/M 개의 열 그룹(column group)들로 구분된다. 동일한 열 그룹 내에 속한 열들은 서로 Qldpc만큼 시클릭 쉬프트(cyclic shift)된 관계를 가진다.
여기에서, M은 정보어 부분 행렬(11)에서 열의 패턴이 반복되는 간격이고, Qldpc는 정보어 부분 행렬(11)에서 각 열이 시클릭 쉬프트되는 크기이다. M은 Nldpc와 Kldpc의 공약수(common divisor)이며, Qldpc=(Nldpc-Kldpc)/M이 성립하도록 결정된다. 여기에서, M 및 Qldpc는 정수이고, Kldpc/M도 정수가 된다. 한편, M 및 Qldpc는 LDPC 부호어의 길이와 부호율(coding rate)에 따라 다양한 값을 가질 수 있다.
둘째, i 번째(i=0,1,..,Kldpc/M-1) 열 그룹의 0 번째 열의 차수(degree)(여기에서, 차수는 열에 존재하는 1 값의 개수로, 동일한 열 그룹에 속하는 모든 열들의 차수는 동일하다)를 Di라 하고, i 번째 열 그룹의 0 번째 열에서 1이 있는 각 행의 위치(또는, 인덱스)를
Figure 112015052209200-pat00007
이라 하면, i 번째 열 그룹 내의 j 번째 열에서 k 번째 1이 위치한 행의 인덱스
Figure 112015052209200-pat00008
는 하기의 수학식 1과 같이 결정된다.
Figure 112015052209200-pat00009
여기에서, k=0,1,2,..,Di-1, i=0,1,..,Kldpc/M-1, j=1,2,...,M-1이다.
한편, 수학식 1은 하기의 수학식 2와 같이 동일하게 표현될 수 있다.
Figure 112015052209200-pat00010
여기에서, k=0,1,2,..,Di-1, i=0,1,..,Kldpc/M-1, j=1,2,...,M-1이다. 여기에서, j=1,2,...,M-1이기 때문에 수학식 2의 (j mod M)은 j로 볼 수 있다.
이들 수학식에서,
Figure 112015052209200-pat00011
는 i 번째 열 그룹 내의 j 번째 열에서 k 번째 1이 위치한 행의 인덱스, Nldpc는 LDPC 부호어의 길이, Kldpc는 정보어 비트들의 길이, Di는 i 번째 열 그룹에 속하는 열들의 차수, M은 하나의 열 그룹에 속하는 열의 개수, Qldpc는 각 열이 시클릭 쉬프트되는 크기를 의미한다.
결국, 이들 수학식을 참조하면
Figure 112015052209200-pat00012
값만을 알면 i 번째 열 그룹 내의 j 번째 열에서 k 번째 1이 있는 행의 인덱스
Figure 112015052209200-pat00013
를 알 수 있게 된다. 그러므로, 각각의 열 그룹 내의 0 번째 열에서 k 번째 1이 있는 행의 인덱스 값을 저장하면, 도 5의 구조를 갖는 패리티 검사 행렬(10)(즉, 패리티 검사 행렬(10)의 정보어 부분 행렬(11))에서 1이 있는 열과 행의 위치가 파악될 수 있다.
일 예로, LDPC 부호어의 길이 Nldpc가 16200, 부호율이 9/15, M이 360인 경우, 정보어 부분 행렬(210)의 i 번째 열 그룹의 0 번째 열에서 1이 위치한 행의 인덱스들은 하기의 표 1과 같다.
Figure 112015052209200-pat00014
이와 같이, i 번째 열 그룹의 0 번째 열에서 1이 존재하는 행의 위치가 정의되면, 이를 Qldpc만큼 시클릭 쉬프트하여 각 열 그룹의 다른 열에서 1이 존재하는 행의 위치가 정의될 수 있다.
예를 들어, 표 1의 경우, 정보어 부분 행렬(210)의 0 번째 열 그룹의 0 번째 열의 경우, 71 번째 행, 1478 번째 행, 1901 번째 행,...에 1이 존재한다.
이 경우, Qldpc=(Nldpc-Kldpc)/M=(16200-9720)/360=18이므로, 0 번째 열 그룹의 1 번째 열에서 1이 위치한 행의 인덱스는 89(=71+18), 1496(=1478+18), 1919(=1901+18),...이고, 0 번째 열 그룹의 2 번째 열에서 1이 위치한 행의 인덱스는 107(=89+18), 1514(=1496+18), 1937(=1919+18),... 이 될 수 있다.
이와 같은 방식에 의해, 각 열 그룹의 모든 행에서 1이 위치한 행의 인덱스가 정의될 수 있다.
한편, 패리티 부분 행렬(12)은 Nldpc-Kldpc 개의 열(즉, Kldpc 번째 열부터 Nldpc-1 번째 열)을 포함하는 부분 행렬로, 이중 대각 행렬(dual diagonal 또는 staircase) 구조를 갖는다. 따라서, 패리티 부분 행렬(12)에 포함되는 열 중에서 마지막 열(즉, Nldpc-1 번째 열)을 제외한 나머지 열들의 차수는 모두 2이며, 마지막 열의 차수는 1이 된다.
이에 따라, 송신 장치(100)의 LDPC 인코더(미도시)는 도 5와 같은 패리티 검사 행렬에 기초하여 LDPC 인코딩을 수행하여, LDPC 부호어를 생성할 수 있다.
이 경우, LDPC 부호어 C=(c0,c1,...,
Figure 112015052209200-pat00015
,
Figure 112015052209200-pat00016
)=(i0,i1,...,
Figure 112015052209200-pat00017
,
Figure 112015052209200-pat00018
,p0,p1,...,
Figure 112015052209200-pat00019
,
Figure 112015052209200-pat00020
)에서 LDPC 정보어 (i0,i1,...,
Figure 112015052209200-pat00021
,
Figure 112015052209200-pat00022
)는 정보어 부분 행렬(11)에 대응되고 LDPC 패리티 (p0,p1,...,
Figure 112015052209200-pat00023
,
Figure 112015052209200-pat00024
)는 패리티 검사 행렬(12)에 대응된다.
여기에서, Nldpc는 LDPC 부호어의 길이, Kldpc는 LDPC 정보어의 길이, Nldpc-Kldpc는 LDPC 패리티의 길이이다.
다른 예로, 본 발명의 일 실시 예에 따른 패리티 검사 행렬은 도 6과 같은 구조를 가질 수 있다.
도 6을 참조하면, 패리티 검사 행렬(20)은 5 개의 행렬(A, B, C, Z, D)로 구성될 수 있으며, 이하에서는 패리티 검사 행렬(20)의 구조에 대해 설명하기 위해 각 행렬의 구조에 대해 설명하도록 한다.
먼저, 도 6과 같은 패리티 검사 행렬(20)과 관련된 파라미터 값들인 M1, M2, Q1, Q2는 LDPC 부호어의 길이 및 부호율에 따라 다양하게 정의될 수 있다. 일 예로, LDPC 부호어의 길이 N이 16200, 부호율이 4/15인 경우, M1=1080, M2=10800, Q1=3, Q2=30이 될 수 있다.
행렬 A 및 C는 LDPC 정보어에 대응되는 부분 행렬로, 행렬 A를 제1 정보어 부분 행렬, 행렬 C를 제2 정보어 부분 행렬이라 할 수 있다.
구체적으로, 행렬 A은 K 개의 열과 g 개의 행으로 구성되며, 행렬 C는 K+g 개의 열과 N-K-g 개의 행으로 구성된다. 여기에서, K는 정보어 비트들의 길이이고, N은 LDPC 부호어의 길이이다. 그리고, g는 제1 LDPC 패리티의 길이고, N-K-g는 제2 LDPC 패리티의 길이이다.
한편, 행렬 A와 행렬 C에서 i 번째 열 그룹의 0 번째 열에서 1이 위치한 행의 인덱스들은 일 예로 하기의 표 2에 기초하여 정의될 수 있다. 이 경우에, 행렬 A와 행렬 C 각각에서 열의 패턴이 반복되는 간격 즉, 동일한 그룹에 속하는 열의 개수는 360이 될 수 있다.
일 예로, LDPC 부호어의 길이 N이 16200, 부호율이 4/15인 경우, 행렬 A와 행렬 C의 i 번째 열 그룹의 0 번째 열에서 1이 위치한 행의 인덱스들은 하기의 표 2와 같다.
Figure 112015052209200-pat00025
한편, 상술한 예에서는 LDPC 부호어의 길이가 16200이고 부호율이 4/15인 경우만을 설명하였으나 이는 일 예에 불과하고, LDPC 부호어의 길이가 64800인 경우이거나 다른 부호율을 갖는 경우에도 행렬 A와 행렬 C의 i 번째 열 그룹의 0 번째 열에서 1이 위치한 행의 인덱스들은 다양하게 정의될 수 있다.
이하에서는, 표 2를 일 예로, 행렬 A와 행렬 C에서 1이 존재하는 행의 위치에 대해 구체적으로 설명하도록 한다.
표 2에서 LDPC 부호어의 길이 N이 16200이고 부호율이 4/15이므로, 패리티 검사 행렬(20)에서 M1=1080, M2=10800, Q1=3, Q2=30이 될 수 있다.
여기에서, Q1은 행렬 A에서 동일한 열 그룹 내에 속한 열들이 시클릭 쉬프트되는 크기이고, Q2는 행렬 C에서 동일한 열 그룹 내에 속한 열들이 시클릭 쉬프트되는 크기이다.
그리고, Q1=M1/L, Q2=M2/L, M1=g, M2=N-K-g이고, L은 행렬 A, C 각각에서 열의 패턴이 반복되는 간격으로 일 예로, 360이 될 수 있다.
한편, 행렬 A, C 각각에서 1이 위치하는 행의 인덱스는 M1 값에 기초하여 결정될 수 있다.
예를 들어, M1=1080이라는 점에서, 행렬 A에서 i 번째 열 그룹의 0 번째 열에서 1이 존재하는 행의 위치는 표 2의 인덱스 값들 중에서 1080 보다 작은 값들에 기초하여 결정될 수 있으며, 행렬 C에서 i 번째 열 그룹의 0 번째 열에서 1이 존재하는 행의 위치는 표 2의 인덱스 값들 중에서 1080 이상인 값들에 기초하여 결정될 수 있다.
구체적으로, 표 2에서 0 번째 열 그룹에 대응되는 수열은 "19 585 710 3241 3276 3648 6345 9224 9890 10841"이다. 따라서, 행렬 A의 0 번째 열 그룹의 0 번째 열의 경우, 19 번째 행, 585 번째 행, 710 번째 행에 각각 1이 위치할 수 있고, 행렬 C의 0 번째 열 그룹의 0 번째 열의 경우 3241 번째 행, 3276 번째 행, 3648 번째 행, 6345 번째 행, 9224 번째 행, 9890 번째 행, 10841 번째 행에 각각 1이 위치할 수 있다.
한편, 행렬 A의 경우 각 열 그룹의 0 번째 열에서 1의 위치가 정의되면 이를 Q1 만큼 시클릭 쉬프트하여 각 열 그룹의 다른 열에서 1이 존재하는 행의 위치가 정의될 수 있고, 행렬 C의 경우 각 열 그룹의 0 번째 열에서 1의 위치가 정의되면 이를 Q2 만큼 시클릭 쉬프트하여 각 열 그룹의 다른 열에서 1이 존재하는 행의 위치가 정의될 수 있다.
상술한 예에서, 행렬 A의 0 번째 열 그룹의 0 번째 열의 경우, 19 번째 행, 585 번째 행, 710 번째 행에 1이 존재한다. 이 경우, Q1=3이므로, 0 번째 열 그룹의 1 번째 열에서 1이 위치한 행의 인덱스는 22(=19+3), 588(=585+3), 713(=710+3)이고, 0 번째 열 그룹의 2 번째 열에서 1이 위치한 행의 인덱스는 25(=22+3), 591(=588+3), 716(=713+3)가 될 수 있다.
한편, 행렬 C의 0 번째 열 그룹의 0 번째 열의 경우, 3241 번째 행, 3276 번째 행, 3648 번째 행, 6345 번째 행, 9224 번째 행, 9890 번째 행, 10841 번째 행에 1이 존재한다. 이 경우, Q2=30이므로, 0 번째 열 그룹의 1 번째 열에서 1이 위치한 행의 인덱스는 3271(=3241+30), 3306(=3276+30), 3678(=3648+30), 6375(=6345+30), 9254(=9224+30), 9920(=9890+30), 10871(=10841+30)이고, 0 번째 열 그룹의 2 번째 열에서 1이 위치한 행의 인덱스는 3301(=3271+30), 3336(=3306+30), 3708(=3678+30), 6405(=6375+30), 9284(=9254+30), 9950(=9920+30), 10901(=10871+30)이 될 수 있다.
이와 같은 방식에 따라 행렬 A 및 행렬 C의 모든 열 그룹에서 1이 존재하는 행의 위치가 정의될 수 있다.
한편, 행렬 B와 D는 각각 제1 LDPC 패리티와 제2 LDPC 패리티에 대응되는 부분 행렬로, 행렬 B를 제1 패리티 부분 행렬, 행렬 D를 제2 패리티 부분 행렬이라 할 수 있다.
구체적으로, 행렬 B는 이중 대각 행렬로 g 개의 열과 g 개의 행으로 구성되고, 행렬 D는 단위 행렬(즉, 행렬 D는 항등 행렬(identity matrix)이 된다)로 N-k-g 개의 열과 N-k-g 개의 행으로 구성된다.
또한, 행렬 Z는 영(zero) 행렬로, N-K-g 개의 열과 g 개의 행으로 구성된다.
결국, 상술한 바와 같은 구조를 갖는 행렬 A, B, C, D, Z에 의해 도 6과 같은 패리티 검사 행렬(20)의 구조가 정의될 수 있게 된다.
이에 따라, 송신 장치(100)의 LDPC 인코더(디도시)는 도 6과 같은 패리티 검사 행렬에 기초하여 LDPC 인코딩을 수행하여, LDPC 부호어를 생성할 수 있다.
이 경우, LDPC 부호어 C=(c0,c1,...,
Figure 112015052209200-pat00026
,
Figure 112015052209200-pat00027
)=(i0,i1,...,
Figure 112015052209200-pat00028
,
Figure 112015052209200-pat00029
,p0,p1,...,pg-2,pg-1,p0',p1',...,pN-k-g-2,pN-k-g-1)에서 제1 LDPC 패리티 (p0,p1,...,pg -2,pg -1)는 제1 정보어 부분 행렬(즉, 행렬 B)에 대응되고 제2 LDPC 패리티 (p0',p1',...,pN -k-g-2,pN-k-g-1)는 제2 정보어 부분 행렬(즉, 행렬 D)에 대응된다.
한편, 도 6과 같은 구조를 갖는 패리티 검사 행렬(20)은 2 개의 구조를 갖는 패리티 검사 행렬이 합쳐진 형태를 갖는 것으로 볼 수 있다.
즉, 패리티 검사 행렬(20)은 행렬 A 및 B로 구성된 제1 패리티 검사 행렬과 행렬 C 및 D로 구성된 제2 패티리 검사 행렬이 합쳐진 형태를 갖는 것으로 볼 수 있다. 즉, 패리티 검사 행렬(20)은 패리티 부분 행렬이 이중 대각 행렬인 패리티 검사 행렬과 패리티 부분 행렬이 단위 행렬인 패리티 검사 행렬을 포함할 수 있다.
한편, 수신 장치(1000)는 중첩 코딩 신호를 수신하여 중첩 코딩 신호로부터 제1 신호 및 제2 신호를 생성할 수 있다. 여기에서, 제1 신호는 상부 레이어에 대응되는 신호이고 제2 신호는 베이스 레이어에 대응되는 신호일 수 있다.
도 7은 본 발명의 일 실시 예에 따른 수신 장치의 구성을 설명하기 위한 블록도이다.
도 7을 참조하면, 수신 장치(1000)는 제1 BICM 디코더(200), 패리티 생성부(300) 및 제2 BICM 디코더(400)를 포함할 수 있다.
제1 BICM 디코더(200)는 중첩 코딩 신호를 처리하여 제1 신호를 생성할 수 있다. 여기에서, 제1 신호는 상부 레이어에 대응되는 신호일 수 있다.
이를 위해, 도 8a와 같이 제1 BICM 디코더(200)는 제1 디맵퍼(210), 제1 디인터리버(220), 제1 LDPC 디코더(230) 및 제1 BCH 디코더(240)를 포함하거나, 도 8b와 같이 제1 BICM 디코더(200)는 제1 디맵퍼(210), 제1 디인터리버(220), 제1 LDPC 디코더(230) 및 제1 CRC 디코더(250)를 포함할 수 있다.
제1 디맵퍼(210)는 중첩 코딩 신호에 대한 복조를 수행한다.
구체적으로, 제1 디맵퍼(210)는 중첩 코딩 신호를 복조하여 LLR(Log Likelihood Ratio) 값을 생성하고, 이를 제1 디인터리버(220)로 출력한다.
이 경우, 제1 디맵퍼(210)는 상부 레이어에 대응되는 신호에 적용된 변조 방식에 기초하여, 중첩 코딩 신호에 대한 복조를 수행할 수 있다. 예를 들어, 송신 장치(100)에서 상부 레이어에 대응되는 신호를 QPSK 방식으로 변조한 경우, 제1 디맵퍼(210)는 QPSK 방식에 기초하여 중첩 코딩 신호에 대해 복조를 수행할 수 있다.
여기에서, LLR 값은 송신 장치(100)에서 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또는, LLR 값은 송신 장치(100)에서 전송한 비트가 0 또는 1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다.
제1 디인터리버(220)는 제1 디맵퍼(210)의 출력을 디인터리빙한다.
구체적으로, 제1 디인터리버(220)는 송신 장치(100)의 제1 인터리버(112)에 대응되는 구성으로, 제1 인터리버(112)에서 수행된 인터리빙 동작을 역으로 수행하여 LLR 값을 디인터리빙하고, 이를 제1 LDPC 디코더(230)로 출력할 수 있다.
제1 LDPC 디코더(230)는 제1 디인터리버(220)의 출력을 LDPC 디코딩한다.
구체적으로, 제1 LDPC 디코더(230)는 송신 장치(100)의 제1 BICM 인코더(110)의 LDPC 인코더(미도시)에 대응되는 구성으로, 디인터리빙된 LLR 값을 이용하여 LDPC 디코딩을 수행하여 LDPC 정보어 및 LDPC 패리티를 복원할 수 있다. 즉, 제1 LDPC 디코더(230)는 LDPC 부호어를 복원할 수 있다.
이 경우, 제1 LDPC 디코더(230)는 다양한 방법으로 LDPC 디코딩을 수행할 수 있으며, 일 예로 합곱 알고리즘(sum-product algorithm)에 기반한 반복 복호 방식(iterative decoding)을 통해 LDPC 디코딩을 수행하여, 경판정(hard decision)을 통해 비트 값을 결정하여 LDPC 부호어 비트들을 복원할 수 있다.
한편, 제1 LDPC 디코더(230)는 제1 인코더(111)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행할 수 있다.
예를 들어, LDPC 인코딩 시 도 5와 같은 구조를 갖는 패리티 검사 행렬이 이용된 경우, 제1 LDPC 디코더(230)는 도 5와 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행하여, LDPC 부호어를 복원할 수 있다. 즉, 제1 LDPC 인코더(230)는 정보어 부분 행렬에 대응되는 LDPC 정보어와 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
또한, LDPC 인코딩 시 도 6과 같은 구조를 갖는 패리티 검사 행렬이 이용된 경우, 제1 LDPC 디코더(230)는 도 6과 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행하여, LDPC 부호어를 복원할 수 있다. 즉, 제1 LDPC 디코더(230)는 정보어 부분 행렬에 대응되는 LDPC 정보어, 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
한편, LDPC 인코딩 시 이용된 패리티 검사 행렬에 대한 정보는 수신 장치(1000)에 기저장되어 있거나, 송신 장치(100)로부터 제공될 수 있다.
그리고, 도 8a와 같이 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 정보어를 제1 BCH 디코더(240)로 출력하거나, 도 8b와 같이 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 정보어를 제1 CRC 디코더(250)로 출력할 수 있다.
제1 BCH 디코더(240)는 제1 LDPC 디코더(230)의 출력을 BCH 디코딩하여 제1 신호를 생성한다. 여기에서, 제1 BCH 디코더(240)는 송신 장치(100)의 제1 BICM 인코더(110)의 BCH 인코더(미도시)에 대응되는 구성이다.
구체적으로, 제1 LDPC 디코더(230)에서 출력되는 LDPC 정보어는 BCH 정보어 및 BCH 패리티로 구성된다는 점에서, 제1 BCH 디코더(240)는 제1 LDPC 디코더(230)에서 출력되는 BCH 패리티를 이용하여 BCH 부호어에 대한 에러를 정정하여 BCH 정보어를 복원할 수 있다.
한편, 제1 CRC 디코더(250)는 제1 LDPC 디코더(230)의 출력을 CRC 디코딩하여 제1 신호를 생성한다. 여기에서, 제1 CRC 디코더(250)는 송신 장치(100)의 제1 BICM 인코더(110)의 CRC 인코더(미도시)에 대응되는 구성이다.
구체적으로, 제1 LDPC 디코더(230)에서 출력되는 LDPC 정보어는 CRC 정보어 및 CRC 패리티로 구성된다는 점에서, 제1 CRC 디코더(250)는 제1 LDPC 디코더(230)에서 출력되는 CRC 정보어 및 CRC 패리티를 이용하여 CRC 디코딩을 수행하여, CRC 정보어 및 CRC 패리티에 에러가 존재하는지를 판단할 수 있다.
여기에서, BCH 정보어 및 CRC 정보어는 스트림을 구성하는 비트들 즉, 송신 장치(100)에서 전송하고자 하는 비트들로, 상부 레이어에 대응되는 신호를 구성할 수 있다. 예를 들어, 제1 BCH 디코더(240) 및 제1 CRC 디코더(250)는 도 1의 스트림 A를 구성하는 비트들을 출력할 수 있다.
도 7로 돌아가서, 패리티 생성부(300)는 제1 BICM 디코더(200)의 디코딩 결과에 기초하여 제2 BICM 디코더(400)에서 디코딩에 이용되는 패리티를 생성할 수 있다.
이 경우, 패리티 생성부(300)는 제1 인코더(111)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬에 기초하여 패리티를 생성할 수 있다.
먼저, 제1 인코더(111)에서 도 5와 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 인코딩을 수행한 경우, 패리티 생성부(300)는 다음과 같은 방법을 통해 패리티를 생성할 수 있다.
패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는 경우, BCH 디코딩 결과에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는지를 판단할 수 있다.
이를 위해, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단하고, 에러 발생 여부에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
구체적으로, 제1 LDPC 디코더(230)는 제1 인코더(111)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬을 이용하여, LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단할 수 있다.
상술한 바와 같이, LDPC 인코딩은 HㆍCT=0을 만족하도록 LDPC 부호어를 생성하는 과정이다.
따라서, 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하지 않는 경우, LDPC 디코딩에 의해 복원된 LDPC 부호어와 LDPC 인코딩 시 이용된 패리티 검사 행렬의 곱은 '0'이 되어야 한다.
이에 따라, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 부호어와 LDPC 인코딩 시 이용된 패리티 검사 행렬을 곱하여, 그 값이 '0'이 되는지를 판단하여 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단할 수 있다.
한편, HㆍCT=0은 패리티 검사 행렬의 각 열과 LDPC 부호어 비트들을 곱한 값들의 합이 '0'이 되는 수식으로 구성된다. 여기에서, 각 수식을 패리티 검사식(parity check equation)이라 하고, 패리티 검사식의 좌변의 값을 LDPC 신드롬 값(syndrome value)(또는, syndrom parity check value)이라 한다.
따라서, 제1 LDPC 디코더(230)가 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단하기 위해, LDPC 디코딩에 의해 복원된 LDPC 부호어와 LDPC 인코딩 시 이용된 패리티 검사 행렬을 곱하여, 그 값이 '0'이 되는지를 판단하는 것을 LDPC 신드롬 값이 '0'인지를 판단하는 것으로 표현할 수도 있다.
이와 같이, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단하고, 에러 발생 유무에 대한 정보를 패리티 생성부(300)로 제공할 수 있다. 이에 따라, 패리티 생성부(300)는 제1 LDPC 디코더(230)로부터 제공받은 정보에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단할 수 있게 된다.
한편, 제1 BCH 디코더(240)는 LDPC 정보어에 에러가 존재하는지 및 에러가 존재하는 비트의 위치에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
일반적으로, BCH 디코딩의 경우, 디코딩이 성공적으로 수행되어 에러를 정정할 수 있는 경우, 에러가 정정된 비트의 위치를 정확히 알 수 있다. 예를 들어, DVB-T2(Digital Video Broadcasting-Terrestrial version 2)의 경우, BCH 디코딩의 에러 정정 능력은 12 비트이므로, 12 비트까지 에러 정정이 가능하고 에러가 정정된 비트의 위치 즉, 어떤 비트에서 에러가 발생하였는지를 알 수 있다.
따라서, 제1 BCH 디코더(240)는 LDPC 정보어에 대해 BCH 디코딩을 수행하여, LDPC 정보어에 에러가 존재하는지 및 에러가 존재하는 경우 에러가 발생된 LDPC 정보어 비트의 위치를 판단하고, 그에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
이에 따라, 패리티 생성부(300)는 제1 BCH 디코더(240)로부터 제공받은 정보에 기초하여 LDPC 정보어에 에러가 존재하는지 및 에러가 존재하는 경우 에러가 발생되는 LDPC 정보어 비트의 위치를 판단할 수 있게 된다.
결국, 패리티 생성부(300)는 제1 LDPC 디코더(230)에서 전달받은 정보에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지 여부를 판단하고, LDPC 부호어에 에러가 존재하는 것으로 판단된 경우 제1 BCH 디코더(240)로부터 제공받은 정보에 기초하여 LDPC 정보어에 에러가 존재하는지 및 에러가 존재하는 LDPC 정보어 비트를 판단할 수 있다.
한편, 패리티 생성부(300)는 IPPC(Information Part Parity Check) 식을 이용하여 LDPC 패리티를 생성할 수 있다.
여기에서, IPPC 식은 패리티 검사식의 일부를 의미한다. 이하에서는, 첨부된 도 9 내지 도 11을 참조하여 IPPC 식 및 LDPC 정보어의 에러 존재 유무에 따라 IPPC 식을 이용하여 LDPC 패리티를 생성하는 방법을 보다 구체적으로 설명하도록 한다.
도 9는 본 발명의 일 실시 예에 따른 IPPC 식을 설명하기 위한 도면이다.
도 9를 참조하면, 패리티 검사 행렬이 H(910)일 때, LDPC 정보어 비트들 (i0,i1,i2,i3,i4,i5)에 대해 HㆍCT=0을 만족하는 LDPC 패리티 비트들은 (p0,p1,p2,p3,p4,p5)와 같으며, 결국, LDPC 인코딩에 의해 LDPC 부호어 C(=i0,i1,i2,i3,i4,i5,p0,p1,p2,p3,p4,p5)(920)가 생성될 수 있다.
여기에서, HㆍCT=0에 의해 생성된 각 수식은 패리티 검사식(930)을 나타낸다.
한편, 패리티 검사 행렬 H(910)은 정보어 부분 행렬(911)과 패리티 부분 행렬(912)로 구성된다는 점에서, 패리티 검사식(930)은 정보어 부분 행렬(911)에 기초하여 생성된 식과 패리티 부분 행렬(912)에 기초하여 생성된 식으로 구성될 수 있다.
이 경우, 패리티 검사식(930)에서 정보어 부분 행렬(911)에 기초하여 생성된 식을 IPPC 식(940)으로 정의할 수 있다. 즉, IPPC 식은 정보어 부분 행렬(911)의 행에서 1이 위치하는 열에 대응되는 LDPC 정보어 비트들의 합을 의미한다.
예를 들어, 정보어 부분 행렬(911)의 첫 번째 행에는 첫 번째 열과 네 번째 열에 1이 존재하므로, 정보어 부분 행렬(911)의 첫 번째 행에 대한 IPPC 식은 첫 번째 열과 네 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i0+i3이 된다.
또한, 정보어 부분 행렬(911)의 두 번째 행에는 세 번째 열과 여섯 번째 열에 1이 존재하므로, 정보어 부분 행렬(911)의 두 번째 행에 대한 IPPC 식은 두 번째 열과 여섯 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i2+i5이 된다.
또한, 정보어 부분 행렬(911)의 세 번째 행에는 첫 번째 열과 다섯 번째 열에 1이 존재하므로, 정보어 부분 행렬(911)의 세 번째 행에 대한 IPPC 식은 첫 번째 열과 다섯 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i0+i4이 된다.
또한, 정보어 부분 행렬(911)의 네 번째 행에는 두 번째 열과 세 번째 열에 1이 존재하므로, 정보어 부분 행렬(911)의 네 번째 행에 대한 IPPC 식은 두 번째 열과 세 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i1+i2이 된다.
또한, 정보어 부분 행렬(911)의 다섯 번째 행에는 네 번째 열과 다섯 번째 열에 1이 존재하므로, 정보어 부분 행렬(911)의 다섯 번째 행에 대한 IPPC 식은 네 번째 열과 다섯 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i3+i4이 된다.
또한, 정보어 부분 행렬(911)의 여섯 번째 행에는 두 번째 열과 여섯 번째 열에 1이 존재하므로, 정보어 부분 행렬(911)의 여섯 번째 행에 대한 IPPC 식은 두 번째 열과 여섯 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i1+i5이 된다.
한편, 패리티 생성부(300)는 IPPC 식을 이용하여 LDPC 패리티를 생성할 수 있다.
이를 위해, 수신 장치(1000)는 패리티 검사 행렬에 대응되는 IPPC 식에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 비트 및 BCH 디코딩에 의해 에러가 정정된 LDPC 정보어 비트를 IPPC 식에 대입하여, IPPC 식의 값을 산출할 수 있다.
먼저, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
구체적으로, 패리티 부분 행렬이 이중 대각 행렬이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값에 LDPC 패리티 비트를 순차적으로 누적(accumulate)하여 LDPC 패리티 비트를 생성할 수 있다.
이와 같은 방식을 ACC based IPPC encoding(Accumulator based encoding using IPPC)라 하며, 보다 구체적인 설명을 위해 도 10을 참조하도록 한다.
도 10은 본 발명의 일 실시 예에 따라 IPPC 식을 이용하여 LDPC 패리티를 생성하는 방법을 설명하기 위한 도면이다.
도 10에서는 설명의 편의를 위해 패리티 검사 행렬 및 IPPC 식이 도 9와 같이 정의되는 경우를 가정하도록 한다.
상술한 바와 같이, 패리티 검사식은 정보어 부분 행렬에 기초하여 생성된 식(즉, IPPC 식)과 패리티 부분 행렬에 기초하여 생성된 식의 합으로 표현된다.
여기에서, 패리티 부분 행렬은 이중 대각 행렬이라는 점에서, LDPC 패리티 비트는 IPPC 식의 값에 이전에 산출된 LDPC 패리티 비트를 더해 산출될 수 있다.
예를 들어, 도 10의 경우, 패리티 검사 행렬(1010)의 첫 번째 행과 LDPC 부호어 비트들(1020)의 곱에 의해 생성된 패리티 검사식(1031)은 i0+i3+p0=0이므로, LDPC 패리티 비트 p0는 p0=i0+i3와 같이 산출될 수 있다. 여기에서, i0+i3는 정보어 부분 행렬의 첫 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 IPPC 식(1041)이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값 t0=i0+i3을 갖는 LDPC 패리티 비트 p0를 생성할 수 있다. 즉, p0=t0(1051)이다.
또한, 패리티 검사 행렬(1010)의 두 번째 행과 LDPC 부호어 비트들(1020)의 곱에 의해 생성된 패리티 검사식(1032)은 i2+i5+p0+p1=0이므로, LDPC 패리티 비트 p1은 p1=i2+i5+p0와 같이 산출될 수 있다. 여기에서, i2+i5는 정보어 부분 행렬의 두 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 IPPC 식(1042)이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값 t1=i2+i5에 LDPC 패리티 비트 p0를 더하여 LDPC 패리티 비트 p1을 생성할 수 있다. 즉, p1=t1+p0(1052)이다.
또한, 패리티 검사 행렬(1010)의 세 번째 행과 LDPC 부호어 비트들(1020)의 곱에 의해 생성된 패리티 검사식(1033)은 i0+i4+p1+p2=0이므로, LDPC 패리티 비트 p2은 p2=i0+i4+p1와 같이 산출될 수 있다. 여기에서, i0+i4는 정보어 부분 행렬의 세 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 IPPC 식(1043)이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값 t2=i0+i4에 LDPC 패리티 비트 p1을 더하여 LDPC 패리티 비트 p2를 생성할 수 있다. 즉, p2=t2+p1(1053)이다.
또한, 패리티 검사 행렬(1010)의 네 번째 행과 LDPC 부호어 비트들(1020)의 곱에 의해 생성된 패리티 검사식(1034)은 i1+i2+p2+p3=0이므로, LDPC 패리티 비트 p3은 p3=i1+i2+p2와 같이 산출될 수 있다. 여기에서, i1+i2는 정보어 부분 행렬의 네 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 IPPC 식(1044)이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값 t3=i1+i2에 LDPC 패리티 비트 p2을 더하여 LDPC 패리티 비트 p3를 생성할 수 있다. 즉, p3=t3+p2(1054)이다.
또한, 패리티 검사 행렬(1010)의 다섯 번째 행과 LDPC 부호어 비트들(1020)의 곱에 의해 생성된 패리티 검사식(1035)은 i3+i4+p3+p4=0이므로, LDPC 패리티 비트 p4은 p4=i3+i4+p3와 같이 산출될 수 있다. 여기에서, i3+i4는 정보어 부분 행렬의 다섯 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 IPPC 식(1045)이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값 t4=i3+i4에 LDPC 패리티 비트 p3을 더하여 LDPC 패리티 비트 p4를 생성할 수 있다. 즉, p4=t4+p3(1055)이다.
또한, 패리티 검사 행렬(1010)의 여섯 번째 행과 LDPC 부호어 비트들(1020)의 곱에 의해 생성된 패리티 검사식(1036)은 i1+i5+p4+p5=0이므로, LDPC 패리티 비트 p5은 p5=i1+i5+p4와 같이 산출될 수 있다. 여기에서, i1+i5는 정보어 부분 행렬의 여섯 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 IPPC 식(1046)이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값 t5=i1+i5에 LDPC 패리티 비트 p4을 더하여 LDPC 패리티 비트 p5를 생성할 수 있다. 즉, p5=t5+p4(1056)이다.
이와 같이, 패리티 부분 행렬은 이중 대각 행렬이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값에 LDPC 패리티 비트를 누적하여, LDPC 패리티 비트를 생성할 수 있게 된다.
한편, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우, BCH 디코딩 결과에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에서 에러가 발생된 비트의 위치를 판단하고, 에러가 발생된 비트에 대응되는 IPPC 식의 값을 플립핑(flipping)하여 에러를 정정하고, 플립핑된 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
이 경우, 패리티 생성부(300)는 제1 BCH 디코더(240)로부터 제공된 에러가 발생된 LDPC 정보어 비트의 위치에 대한 정보에 기초하여, LDPC 정보어에서 에러가 발생된 비트의 위치를 판단할 수 있다.
한편, IPPC 식은 LDPC 정보어 비트들의 합으로 표현된다는 점에서, LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하게 되면 IPPC 식에도 에러가 존재하는 것으로 볼 수 있다. 따라서, LDPC 정보어에 에러가 존재하는 경우, IPPC 식에 대한 별도의 보정 없이 정확한 LDPC 패리티를 생성할 수는 없다.
이에 따라, 패리티 생성부(300)는 LDPC 정보어에서 에러가 발생된 비트와 연관된 IPPC 식의 값을 플립핑하고, 플립핑된 IPPC 식의 값에 LDPC 패리티 비트를 순차적으로 누적하여 LDPC 패리티 비트들을 생성할 수 있으며, 보다 구체적인 설명을 위해 도 11을 참조하도록 한다.
도 11은 본 발명의 일 실시 예에 따라 IPPC 식을 이용하여 LDPC 패리티를 생성하는 방법을 설명하기 위한 도면이다.
도 11에서는 설명의 편의를 위해 패리티 검사 행렬 및 IPPC 식이 도 9와 같이 정의되는 경우를 가정하도록 한다.
패리티 생성부(300)는 LDPC 정보어에 에러가 존재하는 경우, 에러가 발생된 LDPC 정보어 비트와 연관된 IPPC 식의 값을 플립핑할 수 있다.
여기에서, 에러가 발생된 LDPC 정보어 비트와 연관된 IPPC 식은 에러가 발생된 LDPC 정보어 비트에 기초하여 생성된 IPPC 식을 의미할 수 있다.
즉, IPPC 식은 정보어 부분 행렬의 행과 LDPC 정보어 비트들의 곱에 의해 생성된 식이므로, IPPC 식은 정보어 부분 행렬의 행에서 1이 존재하는 열과 곱해지는 LDPC 정보어 비트들의 합으로 표현될 수 있다.
여기에서, 에러가 발생된 LDPC 정보어 비트들과 곱해지는 열에 1이 존재하는 행에 대응되는 IPPC 식은 에러가 발생된 LDPC 정보어 비트와 연관된 IPPC 식이 될 수 있다.
예를 들어, 도 11과 같이 LDPC 정보어 비트 i2에 에러가 존재하는 경우를 가정한다.
이 경우, LDPC 인코딩 시 LDPC 정보어 비트 i2는 정보어 부분 행렬(1110)의 세 번째 열과 곱해지므로, 세 번째 열에서 1이 존재하는 행에 대응되는 IPPC 식 즉, 두 번째 행에 대응되는 IPPC 식 i2+i5과 네 번째 행에 대응되는 IPPC 식 i1+i2은 에러가 발생된 LDPC 정보어 비트 i2와 연관된 IPPC 식이 될 수 있다. 즉, LDPC 정보어 비트 i2를 포함하는 IPPC 식이 에러가 발생된 LDPC 정보어 비트 i2와 연관된 IPPC 식이 될 수 있다.
이 경우, 패리티 생성부(300)는 에러가 발생된 LDPC 정보어 비트와 연관된 IPPC 식의 값을 플립핑하고, 플립핑된 IPPC 식의 값에 LDPC 패리티 비트를 순차적으로 더해 LDPC 패리티 비트들을 생성하게 된다.
예를 들어, 도 11과 같이, 패리티 생성부(300)는 정보어 부분 행렬(1110)의 두 번째 행에 대응되는 IPPC 식의 값 t1=i2+i5이 0인 경우, 그 값을 플립핑하여 두 번째 행에 대응되는 IPPC 식의 값 t1을 1(=t1')로 보정할 수 있다.
또한, 패리티 생성부(300)는 정보어 부분 행렬(1110)의 네 번째 행에 대응되는 IPPC 식의 값 t3=i1+i2이 1인 경우, 그 값을 플립핑하여 네 번째 행에 대응되는 IPPC 식의 값 t3을 0(=t3')으로 보정할 수 있다.
이후, 패리티 생성부(300)는 보정된 IPPC 식의 값에 기초하여 LDPC 패리티 비트를 생성할 수 있다.
이 경우, 패리티 부분 행렬은 이중 대각 행렬이라는 점에서, 패리티 생성부(300)는 IPPC 식의 값에 이전에 산출된 LDPC 패리티 비트를 더하여, LDPC 패리티 비트를 생성할 수 있다. 이때, LDPC 정보어 비트에 발생된 에러에 의해 IPPC 식의 값이 보정된 경우, 보정된 IPPC 식의 값이 이용될 수 있다.
한편, LDPC 패리티 비트를 생성하는 방법은 보정된 IPPC 식의 값이 이용된다는 점을 제외하고 도 10과 동일하다.
예를 들어, 도 11을 참조하면, 정보어 부분 행렬의 두 번째 행에 대응되는 IPPC 식의 값이 t1'으로 보정되고, 정보어 부분 행렬의 네 번째 행에 대응되는 IPPC 식의 값이 t3'으로 보정되었다는 점에서, 패리티 생성부(300)는 LDPC 패리티 비트 p0(=t0)(1121), p1(=t1'+p0)(1122), p2(=t2+p1)(1123), p3(=t3'+p2)(1124), p4(=t4+p3)(1125), p5(=t5+p4)(1126)를 생성할 수 있다.
이와 같이, 본 발명에서는 IPPC 식의 값을 기저장하고 이를 이용하여 LDPC 패리티를 생성한다는 점에서, HㆍCT=0의 과정을 통해 LDPC 패리티를 생성할 때보다 복잡도가 감소하게 된다.
도 12는 본 발명의 일 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S1210), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S1220). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단한다.
LDPC 신드롬 값이 0인 경우(S1220-Y), LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S1230). 한편, 베이스 레이어 LDPC 디코딩과 관련된 구체적인 내용은 후술하기로 한다.
한편, LDPC 신드롬 값이 0이 아닌 경우(S1220-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 BCH 디코딩이 수행된다(S1240).
그리고, BCH 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지를 판단한다. 즉, LDPC 정보어 비트들에 대한 에러의 개수가 0인지를 판단한다(S1250).
LDPC 정보어 비트들에 대한 에러의 개수가 0인 경우(S1250-Y), ACC based IPPC encoding을 수행한다(S1260). 즉, LDPC 정보어에 에러가 존재하지 않는 경우, 기저장된 IPPC 식의 값을 이용하여 ACC based IPPC encoding을 통해 LDPC 패리티를 생성하게 된다. 이후, 에러가 존재하지 않는 LDPC 정보어와 ACC based IPPC encoding을 통해 생성된 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S1230).
한편, LDPC 정보어 비트들에 대한 에러의 개수가 0이 아닌 경우(S1250-N), BCH 디코딩에 의해 에러 복원이 되었는지를 판단한다(S1260). 즉, LDPC 정보어 비트들에 발생된 에러가 BCH 디코딩으로 정정 가능한지 판단한다.
에러 정정이 불가능한 경우(S1270-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S1280).
한편, 에러 정정이 가능하여 에러가 복원되는 경우(S1270-Y), IPPC 식의 값을 보정하고(S1290), 보정된 IPPC 식의 값에 기초하여 ACC based IPPC encoding을 수행한다(S1260). 이후, 에러가 정정된 LDPC 정보어와 ACC based IPPC encoding을 통해 생성된 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S1230).
한편, 상술한 예에서는 ACC based IPPC encoding을 통해 LDPC 패리티를 생성하는 것으로 설명하였으나 이는 일 예에 불과하며, 도 13 및 도 14와 같이 ACC based IPPC encoding 외의 다른 방법을 통해 LDPC 패리티를 생성할 수도 있다.
도 13은 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 13을 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S1310), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S1320). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단한다.
LDPC 신드롬 값이 0인 경우(S1320-Y), LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S1330).
한편, LDPC 신드롬 값이 0이 아닌 경우(S1320-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 BCH 디코딩이 수행된다(S1340).
그리고, BCH 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지를 판단한다. 즉, LDPC 정보어 비트들에 대한 에러의 개수가 0인지를 판단한다(S1350).
LDPC 정보어 비트들에 대한 에러의 개수가 0인 경우(S1350-Y), ACC based IPPC encoding을 수행한다(S1360). 즉, LDPC 정보어에 에러가 존재하지 않는 경우, 기저장된 IPPC 식의 값을 이용하여 LDPC 패리티를 생성하게 된다. 이후, 에러가 존재하지 않는 LDPC 정보어와 생성된 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S1330).
한편, LDPC 정보어 비트들에 대한 에러의 개수가 0이 아닌 경우(S1350-N), BCH 디코딩에 의해 에러 복원이 되었는지를 판단한다(S1360). 즉, LDPC 정보어 비트들에 발생된 에러가 BCH 디코딩으로 정정 가능한지 판단한다.
에러 정정이 불가능한 경우(S1370-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S1380).
한편, 에러 정정이 가능하여 에러가 복원되는 경우(S1370-Y), 에러가 정정된 LDPC 정보어에 기초하여 LDPC Encoding를 수행한다(S1390). 여기에서, LDPC Encoding은 IPPC 식의 값을 이용하는 것이 아니라, HㆍCT=0의 과정을 통해 LDPC 패리티를 생성하는 방식을 의미한다. 즉, 패리티 생성부(300)는 BCH 디코딩에 의해 에러가 정정된 LDPC 정보어에 기초하여 HㆍCT=0를 만족하는 LDPC 패리티를 생성하게 된다. 이 경우, 패리티 검사 행렬은 송신 장치(100)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬일 수 있다. 이후, 에러가 정정된 LDPC 정보어와 LDPC Encoding을 통해 생성된 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S1330).
도 14는 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S1410), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S1420). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단한다.
LDPC 신드롬 값이 0인 경우(S1420-Y), LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S1430).
한편, LDPC 신드롬 값이 0이 아닌 경우(S1420-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 BCH 디코딩이 수행된다(S1440).
그리고, BCH 디코딩에 의해 LDPC 정보어에 존재하는 에러가 복원되었는지를 판단한다(S1450). 즉, LDPC 정보어 비트들에 발생된 에러가 BCH 디코딩으로 정정 가능한지 판단한다.
에러 정정이 불가능한 경우(S1450-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S1460).
한편, 에러 정정이 가능하여 에러가 복원되는 경우(S1450-Y), 에러가 정정된 LDPC 정보어에 기초하여 LDPC Encoding를 수행한다(S1470). 이후, 에러가 정정된 LDPC 정보어와 LDPC Encoding을 통해 생성된 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S1430).
한편, 상술한 예들에 LDPC 신드롬 값이 0인지를 판단하고, LDPC 신드롬 값이 0이 아닌 경우, 즉, LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는 경우 BCH 디코딩을 수행하는 것으로 설명하였으나, 이는 일 예에 불과하다.
즉, LDPC 신드롬 값이 0인지를 별도로 판단하지 않고 LDPC 디코딩에 복원된 LDPC 정보어에 대해 BCH 디코딩을 수행하고 BCH 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있고, 또한, LDPC 신드롬 값이 0이더라도 LDPC 디코딩에 복원된 LDPC 정보어에 대해 BCH 디코딩을 수행하고 BCH 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있다.
한편, 제1 인코더(111)에서 도 6과 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 인코딩을 수행한 경우, 패리티 생성부(300)는 다음과 같은 방법을 통해 패리티를 생성할 수 있다.
먼저, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 경우, BCH 디코딩 결과에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는지를 판단할 수 있다.
이를 위해, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지를 판단하고, 에러 발생 여부에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
구체적으로, 제1 LDPC 디코더(230)는 제1 인코더(111)에서 LDPC 인코딩 시 이용된 제1 패리티 검사 행렬(즉, 도 6에서 행렬 A 및 B로 구성된 패리티 검사 행렬)를 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지를 판단할 수 있다.
상술한 바와 같이, LDPC 인코딩은 HㆍCT=0을 만족하도록 LDPC 부호어를 생성하는 과정이다.
따라서, 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우, LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티와 LDPC 인코딩 시 이용된 제1 패리티 검사 행렬의 곱은 '0'이 되어야 한다.
이에 따라, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티와 LDPC 인코딩 시 이용된 제1 패리티 검사 행렬을 곱하여, 그 값이 '0'이 되는지를 판단하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지를 판단할 수 있다.
이 경우, 제1 패리티 검사 행렬에 기초하여 생성된 패리티 검사식의 좌변의 값을 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이라 할 수 있다.
즉, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티와 LDPC 인코딩 시 이용된 제1 패리티 검사 행렬을 곱하여, 그 값이 '0'이 되는지를 판단하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지를 판단할 수 있다.
이와 같이, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지를 판단하고, 에러 발생 유무에 대한 정보를 패리티 생성부(300)로 제공할 수 있다. 이에 따라, 패리티 생성부(300)는 제1 LDPC 디코더(230)로부터 제공받은 정보에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지를 판단할 수 있게 된다.
한편, 제1 BCH 디코더(240)는 LDPC 정보어에 에러가 존재하는지 및 에러가 존재하는 비트의 위치에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
일반적으로, BCH 디코딩의 경우, 디코딩이 성공적으로 수행되어 에러를 정정할 수 있는 경우, 에러가 정정된 비트의 위치를 정확히 알 수 있다.
따라서, 제1 BCH 디코더(240)는 LDPC 정보어에 대해 BCH 디코딩을 수행하여, LDPC 정보어에 에러가 존재하는지 및 에러가 존재하는 경우 에러가 발생된 LDPC 정보어 비트의 위치를 판단하고, 그에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
이에 따라, 패리티 생성부(300)는 제1 BCH 디코더(240)로부터 제공받은 정보에 기초하여 LDPC 정보어에 에러가 존재하는지 및 에러가 존재하는 경우 에러가 발생되는 LDPC 정보어 비트의 위치를 판단할 수 있게 된다.
결국, 패리티 생성부(300)는 제1 LDPC 디코더(230)에서 전달받은 정보에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지 여부를 판단하고, LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 것으로 판단된 경우 제1 BCH 디코더(240)로부터 제공받은 정보에 기초하여 LDPC 정보어에 에러가 존재하는지 및 에러가 존재하는 LDPC 정보어 비트를 판단할 수 있다.
한편, 패리티 생성부(300)는 IPPC 식을 이용하여 LDPC 패리티를 생성할 수 있다.
여기에서, IPPC 식은 패리티 검사식의 일부로 제1 IPPC 식과 제2 IPPC 식으로 구성되며, 이하에서는 첨부된 도 15 내지 도 19를 참조하여 IPPC 식 및 LDPC 정보어의 에러 존재 유무에 따라 IPPC 식을 이용하여 LDPC 패리티를 생성하는 방법을 보다 구체적으로 설명하도록 한다.
도 15a 및 도 15b는 본 발명의 일 실시 예에 따른 IPPC 식을 설명하기 위한 도면이다.
도 15a 및 도 15b를 참조하면, 패리티 검사 행렬이 H(1510)일 때, LDPC 정보어 비트들 (i0,i1,i2,i3,i4,i5)에 대해 HㆍCT=0을 만족하는 LDPC 패리티 비트들은 (p0,p1,p2,p3,p4,p5,p0',p1',p2',p3',p4',p5') 와 같으며, 결국, LDPC 인코딩에 의해 LDPC 부호어 C(=i0,i1,i2,i3,i4,i5,p0,p1,p2,p3,p4,p5,p0',p1',p2',p3',p4',p5')(1520)가 생성될 수 있다.
여기에서, HㆍCT=0에 의해 생성된 각 수식은 패리티 검사식(1530)을 나타낸다.
한편, 패리티 검사 행렬 H(1510)은 제1 정보어 부분 행렬(1511), 제2 정보어 부분 행렬(1512), 제1 패리티 부분 행렬(1513) 및 제2 패리티 부분 행렬(1514)로 구성된다는 점에서, 패리티 검사식(1530)은 제1 정보어 부분 행렬(1511) 및 제2 정보어 부분 행렬(1512)에 기초하여 생성된 식과 제1 패리티 부분 행렬(1513) 및 제2 패리티 부분 행렬(1514)에 기초하여 생성된 식으로 구성될 수 있다.
이 경우, 패리티 검사식(1530)에서 제1 정보어 부분 행렬(1511)에 기초하여 생성된 식을 제1 IPPC 식(1541)으로 정의할 수 있다. 즉, 제1 IPPC 식은 제1 정보어 부분 행렬(1511)의 행에서 1이 위치하는 열에 대응되는 LDPC 정보어 비트들의 합을 의미한다.
또한, 패리티 검사식(1530)에서 제2 정보어 부분 행렬(1512)에 기초하여 생성된 식을 제2 IPPC 식(1542)으로 정의할 수 있다. 즉, 제2 IPPC 식은 제2 정보어 부분 행렬(1512)의 행에서 1이 위치하는 열에 대응되는 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 합을 의미한다.
예를 들어, 제1 정보어 부분 행렬(1511)의 첫 번째 행에는 세 번째 열과 여섯 번째 열에 1이 존재하므로, 제1 정보어 부분 행렬(1511)의 첫 번째 행에 대한 제1 IPPC 식은 세 번째 열과 여섯 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i2+i5이 된다.
또한, 제1 정보어 부분 행렬(1511)의 두 번째 행에는 두 번째 열과 다섯 번째 열에 1이 존재하므로, 제1 정보어 부분 행렬(1511)의 두 번째 행에 대한 제1 IPPC 식은 두 번째 열과 다섯 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i1+i4이 된다.
또한, 제1 정보어 부분 행렬(1511)의 세 번째 행에는 첫 번째 열과 세 번째 열에 1이 존재하므로, 제1 정보어 부분 행렬(1511)의 세 번째 행에 대한 제1 IPPC 식은 첫 번째 열과 세 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i0+i2이 된다.
또한, 제1 정보어 부분 행렬(1511)의 네 번째 행에는 네 번째 열과 다섯 번째 열에 1이 존재하므로, 제1 정보어 부분 행렬(1511)의 네 번째 행에 대한 제1 IPPC 식은 네 번째 열과 다섯 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i3+i4이 된다.
또한, 제1 정보어 부분 행렬(1511)의 다섯 번째 행에는 첫 번째 열과 여섯 번째 열에 1이 존재하므로, 제1 정보어 부분 행렬(1511)의 다섯 번째 행에 대한 제1 IPPC 식은 첫 번째 열과 여섯 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i0+i5이 된다.
또한, 제1 정보어 부분 행렬(1511)의 여섯 번째 행에는 두 번째 열과 네 번째 열에 1이 존재하므로, 제1 정보어 부분 행렬(1511)의 여섯 번째 행에 대한 제1 IPPC 식은 두 번째 열과 네 번째 열 각각에 대응되는 LDPC 정보어 비트들의 합인 i1+i3이 된다.
한편, 제2 정보어 부분 행렬(1512)의 첫 번째 행에는 세 번째 열, 여섯 번째 열, 일곱 번째 열 및 열 번째 열에 1이 존재하므로, 제2 정보어 부분 행렬(1512)의 첫 번째 행에 대한 제2 IPPC 식은 세 번째 열, 여섯 번째 열, 일곱 번째 열 및 열 번째 열 각각에 대응되는 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 합인 i2+i5+p0+p3이 된다.
또한, 제2 정보어 부분 행렬(1512)의 두 번째 행에는 두 번째 열, 세 번째 열, 일곱 번째 열 및 열한 번째 열에 1이 존재하므로, 제2 정보어 부분 행렬(1512)의 두 번째 행에 대한 제2 IPPC 식은 두 번째 열, 세 번째 열, 일곱 번째 열 및 열한 번째 열 각각에 대응되는 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 합인 i1+i2+p0+p4이 된다.
또한, 제2 정보어 부분 행렬(1512)의 세 번째 행에는 두 번째 열, 여섯 번째 열, 열 번째 열 및 열한 번째 열에 1이 존재하므로, 제2 정보어 부분 행렬(1512)의 세 번째 행에 대한 제2 IPPC 식은 두 번째 열, 여섯 번째 열, 열 번째 열 및 열한 번째 열 각각에 대응되는 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 합인 i1+i5+p3+p4이 된다.
또한, 제2 정보어 부분 행렬(1512)의 네 번째 행에는 첫 번째 열, 네 번째 열, 여덟 번째 열 및 열 번째 열에 1이 존재하므로, 제2 정보어 부분 행렬(1512)의 네 번째 행에 대한 제2 IPPC 식은 첫 번째 열, 네 번째 열, 여덟 번째 열 및 열 번째 열 각각에 대응되는 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 합인 i0+i3+p1+p3이 된다.
또한, 제2 정보어 부분 행렬(1512)의 다섯 번째 행에는 첫 번째 열, 다섯 번째 열, 아홉 번째 열 및 열 번째 열에 1이 존재하므로, 제2 정보어 부분 행렬(1512)의 다섯 번째 행에 대한 제2 IPPC 식은 첫 번째 열, 다섯 번째 열, 아홉 번째 열 및 열 번째 열 각각에 대응되는 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 합인 i0+i4+p2+p3이 된다.
또한, 제2 정보어 부분 행렬(1512)의 여섯 번째 행에는 네 번째 열, 다섯 번째 열, 아홉 번째 열 및 열두 번째 열에 1이 존재하므로, 제2 정보어 부분 행렬(1512)의 다섯 번째 행에 대한 제2 IPPC 식은 네 번째 열, 다섯 번째 열, 아홉 번째 열 및 열두 번째 열 각각에 대응되는 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 합인 i3+i4+p2+p5이 된다.
한편, 패리티 생성부(300)는 IPPC 식을 이용하여 LDPC 패리티를 생성할 수 있다.
이를 위해, 수신 장치(1000)는 패리티 검사 행렬에 대응되는 IPPC 식을 기저장하고 있을 수 있다.
이에 따라, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 비트 및 BCH 디코딩에 의해 에러가 정정된 LDPC 정보어 비트를 제1 IPPC 식에 대입하여 제1 IPPC 식의 값을 산출할 수 있다. 또한, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 비트, BCH 디코딩에 의해 에러가 정정된 LDPC 정보어 비트 및 제1 LDPC 패리티 비트를 제2 IPPC 식에 대입하여, 제2 IPPC 식의 값을 산출할 수 있다.
먼저, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
구체적으로, 제2 패리티 부분 행렬은 단위 행렬이라는 점에서 패리티 생성부(300)는 제2 IPPC 식의 값으로 제2 LDPC 패리티 비트를 생성할 수 있다.
이하에서는 도 16을 참조하여 제2 IPPC 식의 값에 기초하여 제2 LDPC 패리티 비트를 생성하는 방법을 보다 구체적으로 설명하도록 한다.
도 16은 본 발명의 일 실시 예에 따른 제2 IPPC 식을 이용하여 제2 LDPC 패리티를 생성하는 방법을 설명하기 위한 도면이다.
도 16에서는 설명의 편의를 위해 패리티 검사 행렬 및 제2 IPPC 식이 도 15와 같이 정의되는 경우를 가정하도록 한다.
여기에서, 제2 패리티 부분 행렬(1614)은 단위 행렬이라는 점에서, 제2 IPPC 식의 값이 제2 LDPC 패리티가 될 수 있다.
예를 들어, 도 16의 경우, 제2 패리티 검사 행렬(1610)의 첫 번째 행과 LDPC 부호어 비트들(1620)의 곱에 의해 생성된 패리티 검사식(1631)은 i2+i5+p0+p3+p0'=0이므로, LDPC 패리티 비트 p0'는 p0'=i2+i5+p0+p3와 같이 산출될 수 있다. 여기에서, i2+i5+p0+p3는 제2 정보어 부분 행렬(1612)의 첫 번째 행과 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 곱에 의해 생성된 제2 IPPC 식(1641)이라는 점에서, 패리티 생성부(300)는 제2 IPPC 식의 값 s0=i2+i5+p0+p3을 갖는 LDPC 패리티 비트 p0'를 생성할 수 있다. 즉, p0'=s0(1651)이다.
또한, 제2 패리티 검사 행렬(1610)의 두 번째 행과 LDPC 부호어 비트들(1620)의 곱에 의해 생성된 패리티 검사식(1632)은 i1+i2+p0+p4+p1'=0이므로, LDPC 패리티 비트 p1'은 p1'=i1+i2+p0+p4와 같이 산출될 수 있다. 여기에서, i1+i2+p0+p4는 제2 정보어 부분 행렬(1612)의 두 번째 행과 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 곱에 의해 생성된 제2 IPPC 식(1642)이라는 점에서, 패리티 생성부(300)는 제2 IPPC 식의 값 s1=i1+i2+p0+p4을 갖는 LDPC 패리티 비트 p1'을 생성할 수 있다. 즉, p1'=s1(1652)이다.
또한, 제2 패리티 검사 행렬(1610)의 세 번째 행과 LDPC 부호어 비트들(1620)의 곱에 의해 생성된 패리티 검사식(1633)은 i1+i5+p3+p4+p2'=0이므로, LDPC 패리티 비트 p2'은 p2'=i1+i5+p3+p4와 같이 산출될 수 있다. 여기에서, i1+i5+p3+p4는 제2 정보어 부분 행렬(1612)의 세 번째 행과 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 곱에 의해 생성된 제2 IPPC 식(1643)이라는 점에서, 패리티 생성부(300)는 제2 IPPC 식의 값 s2=i1+i5+p3+p4을 갖는 LDPC 패리티 비트 p2'를 생성할 수 있다. 즉, p2'=s2(1653)이다.
또한, 제2 패리티 검사 행렬(1610)의 네 번째 행과 LDPC 부호어 비트들(1620)의 곱에 의해 생성된 패리티 검사식(1634)은 i0+i3+p1+p3+p3'=0이므로, LDPC 패리티 비트 p3'은 p3'=i0+i3+p1+p3와 같이 산출될 수 있다. 여기에서, i0+i3+p1+p3는 제2 정보어 부분 행렬(1612)의 네 번째 행과 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 곱에 의해 생성된 제2 IPPC 식(1644)이라는 점에서, 패리티 생성부(300)는 제2 IPPC 식의 값 s3=i0+i3+p1+p3을 갖는 LDPC 패리티 비트 p3'를 생성할 수 있다. 즉, p3'=s3(1654)이다.
또한, 제2 패리티 검사 행렬(1610)의 다섯 번째 행과 LDPC 부호어 비트들(1620)의 곱에 의해 생성된 패리티 검사식(1635)은 i0+i4+p2+p3+p4'=0이므로, LDPC 패리티 비트 p4'은 p4'=i0+i4+p2+p3와 같이 산출될 수 있다. 여기에서, i0+i4+p2+p3는 제2 정보어 부분 행렬(1612)의 다섯 번째 행과 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 곱에 의해 생성된 제2 IPPC 식(1645)이라는 점에서, 패리티 생성부(300)는 제2 IPPC 식의 값 s4=i0+i4+p2+p3을 갖는 LDPC 패리티 비트 p4'를 생성할 수 있다. 즉, p4'=s4(1655)이다.
또한, 제2 패리티 검사 행렬(1610)의 여섯 번째 행과 LDPC 부호어 비트들(1620)의 곱에 의해 생성된 패리티 검사식(1636)은 i3+i4+p2+p5+p5'=0이므로, LDPC 패리티 비트 p5'은 p5'=i3+i4+p2+p5와 같이 산출될 수 있다. 여기에서, i3+i4+p2+p5는 제2 정보어 부분 행렬(1612)의 여섯 번째 행과 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 곱에 의해 생성된 제2 IPPC 식(1646)이라는 점에서, 패리티 생성부(300)는 제2 IPPC 식의 값 s5=i3+i4+p2+p5을 갖는 LDPC 패리티 비트 p5'를 생성할 수 있다. 즉, p5'=s5(1656)이다.
이와 같이, 제2 패리티 부분 행렬은 단위 행렬이라는 점에서, 패리티 생성부(300)는 제2 IPPC 식의 값으로 제2 LDPC 패리티 비트를 생성할 수 있게 된다.
한편, 상술한 예에서는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성하는 것으로 설명하였으나, 이는 일 예에 불과하다.
즉, 패리티 생성부(300)는 제1 IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 제1 LDPC 패리티를 생성하고, 제2 IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수도 있다.
한편, 제1 IPPC 식에 기초하여 생성된 제1 LDPC 패리티 및 LDPC 디코딩에 의해 복원된 LDPC 정보어를 제2 IPPC 식에 대입하여 제2 LDPC 패리티를 생성하는 방법은 도 16에서 설명한 방법이 적용될 수 있다.
이하에서는 도 17을 참조하여 제1 IPPC 식의 값에 기초하여 제1 LDPC 패리티 비트를 생성하는 방법을 보다 구체적으로 설명하도록 한다.
도 17은 본 발명의 일 실시 예에 따른 제1 IPPC 식을 이용하여 제1 LDPC 패리티를 생성하는 방법을 설명하기 위한 도면이다.
도 17에서는 설명의 편의를 위해 패리티 검사 행렬 및 제1 IPPC 식이 도 15와 같이 정의되는 경우를 가정하도록 한다.
제1 패리티 부분 행렬은 이중 대각 행렬이라는 점에서 패리티 생성부(300)는 제1 IPPC 식의 값에 LDPC 패리티를 순차적으로 누적하여 제1 LDPC 패리티 비트를 생성할 수 있다.
여기에서, 도 6과 같은 패리티 검사 행렬의 제1 패리티 부분 행렬은 도 5와 같은 패리티 검사 행렬의 패리티 부분 행렬과 동일하게 이중 대각 행렬 구조를 가진다는 점에서, 제1 IPPC 식의 값에 기초하여 제1 LDPC 패리티 비트 생성 시 도 10에서 설명한 방법이 적용될 수 있다.
즉, 제1 패리티 부분 행렬(1713)은 이중 대각 행렬이라는 점에서, 제1 LDPC 패리티 비트는 제1 IPPC 식의 값에 이전에 산출된 LDPC 패리티 비트를 더해 산출될 수 있다.
예를 들어, 도 17의 경우, 제1 패티리 검사 행렬(1710)의 첫 번째 행과 LDPC 부호어 비트들(1720)의 곱에 의해 생성된 패리티 검사식(1731)은 i2+i5+p0=0이므로, LDPC 패리티 비트 p0는 p0=i2+i5와 같이 산출될 수 있다. 여기에서, i2+i5는 제1 정보어 부분 행렬(1711)의 첫 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 제1 IPPC 식(1741)이라는 점에서, 패리티 생성부(300)는 제1 IPPC 식의 값 t0=i2+i5을 갖는 LDPC 패리티 비트 p0를 생성할 수 있다. 즉, p0=t0(1751)이다.
또한, 제1 패리티 검사 행렬(1710)의 두 번째 행과 LDPC 부호어 비트들(1720)의 곱에 의해 생성된 패리티 검사식(1732)은 i1+i4+p0+p1=0이므로, LDPC 패리티 비트 p1은 p1=i1+i4+p0와 같이 산출될 수 있다. 여기에서, i1+i4는 제1 정보어 부분 행렬(1711)의 두 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 제1 IPPC 식(1742)이라는 점에서, 패리티 생성부(300)는 제1 IPPC 식의 값 t1=i1+i4에 LDPC 패리티 비트 p0를 더하여 제1 LDPC 패리티 비트 p1을 생성할 수 있다. 즉, p1=t1+p0(1752)이다.
또한, 제1 패리티 검사 행렬(1710)의 세 번째 행과 LDPC 부호어 비트들(1720)의 곱에 의해 생성된 패리티 검사식(1733)은 i0+i2+p1+p2=0이므로, LDPC 패리티 비트 p2은 p2=i0+i2+p1와 같이 산출될 수 있다. 여기에서, i0+i2는 제1 정보어 부분 행렬(1711)의 세 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 제1 IPPC 식(1743)이라는 점에서, 패리티 생성부(300)는 제1 IPPC 식의 값 t2=i0+i2에 LDPC 패리티 비트 p1을 더하여 LDPC 패리티 비트 p2를 생성할 수 있다. 즉, p2=t2+p1(1753)이다.
또한, 제1 패리티 검사 행렬(1710)의 네 번째 행과 LDPC 부호어 비트들(1720)의 곱에 의해 생성된 패리티 검사식(1734)은 i3+i4+p2+p3=0이므로, LDPC 패리티 비트 p3은 p3=i3+i4+p2와 같이 산출될 수 있다. 여기에서, i3+i4는 제1 정보어 부분 행렬(1711)의 네 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 제1 IPPC 식(1744)이라는 점에서, 패리티 생성부(300)는 제1 IPPC 식의 값 t3=i3+i4에 LDPC 패리티 비트 p2을 더하여 LDPC 패리티 비트 p3를 생성할 수 있다. 즉, p3=t3+p2(1754)이다.
또한, 제1 패리티 검사 행렬(1710)의 다섯 번째 행과 LDPC 부호어 비트들(1720)의 곱에 의해 생성된 패리티 검사식(1735)은 i0+i5+p3+p4=0이므로, LDPC 패리티 비트 p4은 p4=i0+i5+p3와 같이 산출될 수 있다. 여기에서, i0+i5는 제1 정보어 부분 행렬(1711)의 다섯 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 제1 IPPC 식(1745)이라는 점에서, 패리티 생성부(300)는 제1 IPPC 식의 값 t4=i0+i5에 LDPC 패리티 비트 p3을 더하여 LDPC 패리티 비트 p4를 생성할 수 있다. 즉, p4=t4+p3(1755)이다.
또한, 제1 패리티 검사 행렬(1710)의 여섯 번째 행과 LDPC 부호어 비트들(1720)의 곱에 의해 생성된 패리티 검사식(1736)은 i1+i3+p4+p5=0이므로, LDPC 패리티 비트 p5은 p5=i1+i3+p4와 같이 산출될 수 있다. 여기에서, i1+i3는 제1 정보어 부분 행렬(1711)의 여섯 번째 행과 LDPC 정보어 비트들의 곱에 의해 생성된 제1 IPPC 식(1746)이라는 점에서, 패리티 생성부(300)는 제1 IPPC 식의 값 t5=i1+i3에 LDPC 패리티 비트 p4을 더하여 LDPC 패리티 비트 p5를 생성할 수 있다. 즉, p5=t5+p4(1756)이다.
이와 같이, 제1 패리티 부분 행렬은 이중 대각 행렬이라는 점에서, 패리티 생성부(300)는 제1 IPPC 식의 값에 제1 LDPC 패리티 비트를 누적하여, 제1 LDPC 패리티 비트를 생성할 수 있게 된다.
결국, 패리티 생성부(300)는 IPPC 식의 값을 이용하여 LDPC 패리티 비트를 생성할 수 있다.
한편, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우, BCH 디코딩 결과에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에서 에러가 발생된 비트의 위치를 판단하고, 에러가 발생된 비트에 대응되는 제1 IPPC 식의 값을 플립핑하여 에러를 정정하고, 플립핑된 제1 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어에 대응되는 제1 LDPC 패리티 비트를 생성할 수 있다.
이 경우, 패리티 생성부(300)는 제1 BCH 디코더(240)로부터 제공된 에러가 발생된 LDPC 정보어 비트의 위치에 대한 정보에 기초하여, LDPC 정보어에서 에러가 발생된 비트의 위치를 판단할 수 있다.
한편, 제1 IPPC 식은 LDPC 정보어 비트들의 합으로 표현된다는 점에서, LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하게 되면 제1 IPPC 식에도 에러가 존재하는 것으로 볼 수 있다. 따라서, LDPC 정보어에 에러가 존재하는 경우, 제1 IPPC 식에 대한 별도의 보정 없이 정확한 제1 LDPC 패리티를 생성할 수는 없다.
이에 따라, 패리티 생성부(300)는 LDPC 정보어에서 에러가 발생된 비트와 연관된 제1 IPPC 식의 값을 플립핑하고, 플립핑된 제1 IPPC 식의 값에 제1 LDPC 패리티 비트를 순차적으로 누적하여 제1 LDPC 패리티 비트들을 생성할 수 있다.
여기에서, 도 6과 같은 패리티 검사 행렬의 제1 패리티 부분 행렬은 도 5와 같은 패리티 검사 행렬의 패리티 부분 행렬과 동일하게 이중 대각 행렬 구조를 가진다는 점에서, 에러가 발생된 비트에 대응되는 제1 IPPC 식의 값을 플립핑하여 제1 LDPC 패리티 비트를 생성할 때 도 11에서 설명한 방법이 적용될 수 있으며, 보다 구체적인 설명을 위해 도 18을 참조하도록 한다.
도 18은 본 발명의 일 실시 예에 따라 제1 IPPC 식을 이용하여 제1 LDPC 패리티를 생성하는 방법을 설명하기 위한 도면이다.
도 18에서는 설명의 편의를 위해 패리티 검사 행렬 및 제1 IPPC 식이 도 15와 같이 정의되는 경우를 가정하도록 한다.
패리티 생성부(300)는 LDPC 정보어에 에러가 존재하는 경우, 에러가 발생된 LDPC 정보어 비트와 연관된 제1 IPPC 식의 값을 플립핑할 수 있다.
여기에서, 에러가 발생된 LDPC 정보어 비트와 연관된 제1 IPPC 식은 에러가 발생된 LDPC 정보어 비트에 기초하여 생성된 제1 IPPC 식을 의미할 수 있다.
즉, 제1 IPPC 식은 제1 정보어 부분 행렬의 행과 LDPC 정보어 비트들의 곱에 의해 생성된 식이므로, 제1 IPPC 식은 제1 정보어 부분 행렬의 행에서 1이 존재하는 열과 곱해지는 LDPC 정보어 비트들의 합으로 표현될 수 있다.
여기에서, 에러가 발생된 LDPC 정보어 비트들과 곱해지는 열에 1이 존재하는 행에 대응되는 제1 IPPC 식은 에러가 발생된 LDPC 정보어 비트와 연관된 제1 IPPC 식이 될 수 있다.
예를 들어, 도 18과 같이 LDPC 정보어 비트 i2에 에러가 존재하는 경우를 가정한다.
이 경우, LDPC 인코딩 시 LDPC 정보어 비트 i2는 제1 정보어 부분 행렬(1811)의 세 번째 열과 곱해지므로, 세 번째 열에서 1이 존재하는 행에 대응되는 제1 IPPC 식 즉, 첫 번째 행에 대응되는 제1 IPPC 식 i2+i5과 세 번째 행에 대응되는 제1 IPPC 식 i0+i2은 에러가 발생된 LDPC 정보어 비트 i2와 연관된 제1 IPPC 식이 될 수 있다. 즉, LDPC 정보어 비트 i2를 포함하는 제1 IPPC 식이 에러가 발생된 LDPC 정보어 비트 i2와 연관된 제1 IPPC 식이 될 수 있다.
이 경우, 패리티 생성부(300)는 에러가 발생된 LDPC 정보어 비트와 연관된 제1 IPPC 식의 값을 플립핑하고, 플립핑된 제1 IPPC 식의 값에 제1 LDPC 패리티 비트를 순차적으로 더해 제1 LDPC 패리티 비트들을 생성하게 된다.
예를 들어, 도 18과 같이, 패리티 생성부(300)는 제1 정보어 부분 행렬(1811)의 첫 번째 행에 대응되는 제1 IPPC 식의 값 t0=i2+i5이 0인 경우, 그 값을 플립핑하여 첫 번째 행에 대응되는 제1 IPPC 식의 값 t0을 1(=t0')로 보정할 수 있다.
또한, 패리티 생성부(300)는 제1 정보어 부분 행렬(1811)의 세 번째 행에 대응되는 제1 IPPC 식의 값 t2=i0+i2이 1인 경우, 그 값을 플립핑하여 네 번째 행에 대응되는 제1 IPPC 식의 값 t2을 0(=t2')으로 보정할 수 있다.
이후, 패리티 생성부(300)는 보정된 제1 IPPC 식의 값에 기초하여 제1 LDPC 패리티 비트를 생성할 수 있다.
이 경우, 제1 패리티 부분 행렬은 이중 대각 행렬이라는 점에서, 패리티 생성부(300)는 제1 IPPC 식의 값에 이전에 산출된 제1 LDPC 패리티 비트를 더하여, 제1 LDPC 패리티 비트를 생성할 수 있다. 이때, LDPC 정보어 비트에 발생된 에러에 의해 제1 IPPC 식의 값이 보정된 경우, 보정된 제1 IPPC 식의 값이 이용될 수 있다.
한편, 제1 LDPC 패리티 비트를 생성하는 방법은 보정된 제1 IPPC 식의 값이 이용된다는 점을 제외하고 도 17과 동일하다.
예를 들어, 도 18을 참조하면, 제1 정보어 부분 행렬의 첫 번째 행에 대응되는 제1 IPPC 식의 값이 t0'으로 보정되고, 제1 정보어 부분 행렬의 세 번째 행에 대응되는 제1 IPPC 식의 값이 t2'으로 보정되었다는 점에서, 패리티 생성부(300)는 제1 LDPC 패리티 비트 p0(=t0')(1821), p1(=t1+p0)(1822), p2(=t2'+p1)(1823), p3(=t3+p2)(1824), p4(=t4+p3)(1825), p5(=t5+p4)(1826)를 생성할 수 있다.
한편, 패리티 생성부(300)는 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 LDPC 패리티와 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티를 비교하여 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티에서 에러가 발생된 비트의 위치를 판단하고, 에러가 발생된 비트에 대응되는 제2 IPPC 식의 값을 플립핑하여 에러를 정정하고, 플립핑된 제2 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
즉, 제2 IPPC 식은 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 합으로 표현된다는 점에서, LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하게 되면 제2 IPPC 식에도 에러가 존재하는 것으로 볼 수 있다. 따라서, LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 경우, 제2 IPPC 식에 대한 별도의 보정 없이 정확한 제2 LDPC 패리티를 생성할 수는 없다.
한편, 상술한 바와 같이, LDPC 정보어에 에러가 존재하는지 및 에러가 발생된 LDPC 정보어 비트의 위치는 BCH 디코딩 결과에 기초하여 판단될 수 있다.
하지만, BCH 디코딩은 LDPC 정보어에 대해 수행된다는 점에서, LDPC 디코딩에 의해 복원된 제1 LDPC 패리티에 에러가 존재하는지 및 에러가 발생된 제1 LDPC 패리티 비트의 위치는 BCH 디코딩에 의해 확인될 수 있다.
이에 따라, 패리티 생성부(300)는 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 LDPC 패리티를 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티와 비교하여, LDPC 디코딩에 의해 복원된 제1 LDPC 패리티에서 에러가 존재하는지 및 에러가 발생된 제1 LDPC 패리티 비트의 위치를 판단하게 됩니다.
즉, 패리티 생성부(300)는 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 LDPC 패리티 비트와 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티 비트가 일치하는지를 판단하여 그 값이 일치하지 않는 경우 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티에 에러가 존재하는 것으로 판단하고, 다른 값을 갖는 제1 LDPC 패리티 비트에 에러가 존재하는 것으로 판단할 수 있다.
예를 들어, 플립핑된 제1 IPPC 식의 값에 기초하여 (p0,p1,p2,p3,p4,p5)=(1,0,0,1,0,1)와 같은 제1 LDPC 패리티 비트가 생성되고, LDPC 디코딩에 의해 복원된 제1 LDPC 패리티 비트는 (p0,p1,p2,p3,p4,p5)=(1,0,0,1,0,0)와 같은 경우를 가정한다.
이 경우, 패리티 생성부(300)는 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 LDPC 패리티 비트와 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티 비트가 일치하지 않는다는 점에서 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티 비트에 에러가 존재하는 것으로 판단하고, 다른 값을 갖는 제1 LDPC 패리티 비트 p5에 에러가 존재하는 것으로 판단할 수 있다.
그리고, 패리티 생성부(300)는 에러가 존재하는 LDPC 정보어 비트 및 제1 LDPC 패리티 비트에 대응되는 제2 IPPC 식의 값을 플립핑하고, 플립핑된 제2 IPPC 식의 값을 갖는 제2 LDPC 패리티 비트들을 생성할 수 있으며, 보다 구체적인 설명을 위해 도 19를 참조하도록 한다.
도 19는 본 발명의 일 실시 예에 따라 제2 IPPC 식을 이용하여 제2 LDPC 패리티를 생성하는 방법을 설명하기 위한 도면이다.
도 19에서는 설명의 편의를 위해 패리티 검사 행렬 및 제2 IPPC 식이 도 15와 같이 정의되는 경우를 가정하도록 한다.
패리티 생성부(300)는 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하는 경우, 에러가 발생된 LDPC 정보어 비트 및 제1 LDPC 패리티 비트와 연관된 제2 IPPC 식의 값을 플립핑할 수 있다.
여기에서, 에러가 발생된 LDPC 정보어 비트 및 제1 LDPC 패리티 비트와 연관된 제2 IPPC 식은 에러가 발생된 LDPC 정보어 비트 및 제1 LDPC 패리티 비트에 기초하여 생성된 제2 IPPC 식을 의미할 수 있다.
즉, 제2 IPPC 식은 제2 정보어 부분 행렬의 행과 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들의 곱에 의해 생성된 식이므로, 제2 IPPC 식은 제2 정보어 부분 행렬의 행에서 1이 존재하는 열과 곱해지는 LDPC 정보어 비트들과 제2 패리티 부분 행렬의 행에서 1이 존재하는 열과 곱해지는 제1 LDPC 패리티 비트들의 합으로 표현될 수 있다.
여기에서, 에러가 발생된 LDPC 정보어 비트들 및 제1 LDPC 패리티 비트들과 곱해지는 열에 1이 존재하는 행에 대응되는 제2 IPPC 식은 에러가 발생된 LDPC 정보어 비트 및 제1 LDPC 패리티 비트와 연관된 IPPC 식이 될 수 있다.
예를 들어, 도 19와 같이 LDPC 정보어 비트 i2 및 제1 LDPC 패리티 비트 p5에 에러가 존재하는 경우를 가정한다.
이 경우, LDPC 인코딩 시 LDPC 정보어 비트 i2는 제2 정보어 부분 행렬(1912)의 세 번째 열과 곱해지므로, 제2 정보어 부분 행렬(1912)의 세 번째 열에서 1이 존재하는 행에 대응되는 제2 IPPC 식 즉, 첫 번째 행에 대응되는 제2 IPPC 식 i2+i5+p0+p3과 두 번째 행에 대응되는 제2 IPPC 식 i1+i2+p0+p4은 에러가 발생된 LDPC 정보어 비트 i2와 연관된 제2 IPPC 식이 될 수 있다. 즉, LDPC 정보어 비트 i2를 포함하는 제2 IPPC 식이 에러가 발생된 LDPC 정보어 비트 i2와 연관된 제2 IPPC 식이 될 수 있다.
또한, LDPC 인코딩 시 제1 LDPC 패리티 비트 p5는 제2 패리티 부분 행렬(1914)의 여섯 번째 열과 곱해지므로, 제2 패리티 부분 행렬(1914)의 여섯 번째 열에서 1이 존재하는 행에 대응되는 제2 IPPC 식 즉, 여섯 번째 행에 대응되는 제2 IPPC 식 i3+i4+p2+p5은 에러가 발생된 제1 LDPC 패리티 비트 p5와 연관된 제2 IPPC 식이 될 수 있다. 즉, 제1 LDPC 패리티 비트 p5를 포함하는 제2 IPPC 식이 에러가 발생된 제1 LDPC 패리티 비트 p5와 연관된 제2 IPPC 식이 될 수 있다.
경우, 패리티 생성부(300)는 에러가 발생된 LDPC 정보어 비트 및 제1 LDPC 패리티 비트와 연관된 제2 IPPC 식의 값을 플립핑하고, 플립핑된 제2 IPPC 식의 값을 갖는 제2 LDPC 패리티 비트들을 생성하게 된다.
예를 들어, 도 19와 같이, 패리티 생성부(300)는 제2 정보어 부분 행렬(1912)의 첫 번째 행에 대응되는 제2 IPPC 식의 값 s0=i2+i5+p0+p3이 1인 경우, 그 값을 플립핑하여 첫 번째 행에 대응되는 제2 IPPC 식의 값 s0을 0(=s0')으로 보정할 수 있다.
또한, 패리티 생성부(300)는 제2 정보어 부분 행렬(1912)의 두 번째 행에 대응되는 제2 IPPC 식의 값 s1=i1+i2+p0+p4이 1인 경우, 그 값을 플립핑하여 두 번째 행에 대응되는 제2 IPPC 식의 값 s1을 0(=s1')으로 보정할 수 있다.
또한, 패리티 생성부(300)는 제2 패리티 부분 행렬(1914)의 여섯 번째 행에 대응되는 제2 IPPC 식의 값 s5=i3+i4+p2+p5이 0인 경우, 그 값을 플립핑하여 여섯 번째 행에 대응되는 제2 IPPC 식의 값 s5을 1(=s5')로 보정할 수 있다.
이후, 패리티 생성부(300)는 보정된 제2 IPPC 식의 값에 기초하여 제2 LDPC 패리티 비트를 생성할 수 있다.
이 경우, 제2 패리티 부분 행렬은 단위 행렬이라는 점에서, 패리티 생성부(300)는 제2 IPPC 식의 값을 갖는 제2 LDPC 패리티 비트를 생성할 수 있다. 이때, LDPC 정보어 비트 및 제1 LDPC 패리티 비트에 발생된 에러에 의해 제2 IPPC 식의 값이 보정된 경우, 보정된 제2 IPPC 식의 값이 이용될 수 있다.
한편, 제2 LDPC 패리티 비트를 생성하는 방법은 보정된 제2 IPPC 식의 값이 이용된다는 점을 제외하고 도 16과 동일하다.
예를 들어, 도 19를 참조하면, 제2 정보어 부분 행렬의 첫 번째 행에 대응되는 제2 IPPC 식의 값이 s0'으로 보정되고, 제2 정보어 부분 행렬의 두 번째 행에 대응되는 제2 IPPC 식의 값이 s1'으로 보정되고, 제2 패리티 부분 행렬의 여섯 번째 행에 대응되는 제2 IPPC 식의 값이 s5'로 보정되었다는 점에서, 패리티 생성부(300)는 제2 LDPC 패리티 비트 p0'(=s0')(1921), p1'(=s1')(1922), p2'(=s2)(1923), p3'(=s3)(1924), p4'(=s4)(1925), p5'(=s5')(1926)를 생성할 수 있다.
한편, 상술한 예에서는 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하는 경우 그에 따라 제2 IPPC 식의 값을 플립핑하여 제2 LDPC 패리티를 생성하는 방법을 설명하였으나, 이는 일 예에 불과하다.
즉, LDPC 정보어에만 에러가 존재하는 경우 에러가 발생된 LDPC 정보어 비트 에 대응되는 제2 IPPC 식의 값을 플립핑하여 제2 LDPC 패리티를 생성할 수 있고, 제1 LDPC 패리티에만 에러가 존재하는 경우 에러가 발생된 제1 LDPC 패리티 비트에 대응되는 제2 IPPC 식의 값을 플립핑하여 제2 LDPC 패리티를 생성할 수 있음은 물론이다.
이와 같이, 본 발명에서는 IPPC 식의 값을 기저장하고 이를 이용하여 LDPC 패리티를 생성한다는 점에서, HㆍCT=0의 과정을 통해 LDPC 패리티를 생성할 때보다 복잡도가 감소하게 된다.
도 20은 본 발명의 일 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 20을 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2010), 먼저, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단한다(S2020). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하는지를 판단한다.
제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인 경우(S2020-Y), ACC based IPPC encoding을 수행하여 LDPC 패리티를 생성한다(S2030).
이 경우, 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다. 다만, 제1 IPPC 식 및 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패리티를 생성할 수도 있다.
그리고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2035).
한편, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아닌 경우(S2020-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 BCH 디코딩을 수행하여, 에러가 발생된 LDPC 정보어 비트의 위치를 판단한다(S2040).
그리고, BCH 디코딩에 의해 에러 복원이 되었는지를 판단한다(S2050). 즉, LDPC 정보어 비트들에 발생된 에러가 BCH 디코딩으로 정정 가능한지 판단한다.
에러 정정이 불가능한 경우(S2050-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2060).
한편, 에러 정정이 가능하여 에러가 복원되는 경우(S2050-Y), ACC based IPPC encoding을 수행한다(S2070). 구체적으로, 에러가 발생된 LDPC 정보어 비트와 연관된 제1 IPPC 식의 값을 보정하고, 보정된 제1 IPPC 식의 값에 기초하여 ACC based IPPC encoding을 수행하여 제1 LDPC 패리티를 생성한다.
이후, 제1 LDPC 패리티 비트의 에러 위치를 판단한다(S2080). 구체적으로, 보정된 제1 IPPC 식의 값에 기초하여 생성된 제1 LDPC 패리티와 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티를 비교하여, LDPC 디코딩에 의해 복원된 제1 LDPC 패리티에 에러가 존재하는지 및 에러가 발생된 제1 LDPC 패리티 비트의 위치를 판단한다.
그리고, 제2 IPPC 식을 보정하고(S2090), 보정된 제2 IPPC 식을 이용하여 ACC based IPPC encoding을 수행하여 LDPC 패리티를 생성한다.
구체적으로, 에러가 발생된 LDPC 정보어 비트와 제1 LDPC 패리티 비트와 연관된 제2 IPPC 식의 값을 보정하고, 보정된 제2 IPPC 식의 값에 기초하여 ACC based IPPC encoding을 수행하여 제2 LDPC 패리티를 생성한다.
그리고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2035).
한편, 상술한 예에서는 ACC based IPPC encoding을 통해 LDPC 패리티를 생성하는 것으로 설명하였으나 이는 일 예에 불과하며, 도 21 내지 도 23과 같이 ACC based IPPC encoding 외의 다른 방법을 통해 LDPC 패리티를 생성할 수도 있다.
도 21은 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 21을 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2110), 먼저, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단한다(S2120). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하는지를 판단한다.
제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인 경우(S2120-Y), ACC based IPPC encoding을 수행하여 LDPC 패리티를 생성한다(S2130).
이 경우, 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다. 다만, 제1 IPPC 식 및 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패리티를 생성할 수도 있다.
그리고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2140).
한편, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아닌 경우(S2120-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 BCH 디코딩을 수행하고(S2150), BCH 디코딩에 의해 에러 복원이 되었는지를 판단한다(S2160). 즉, LDPC 정보어 비트들에 발생된 에러가 BCH 디코딩으로 정정 가능한지 판단한다.
에러 정정이 불가능한 경우(S2160-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2170).
한편, 에러 정정이 가능하여 에러가 복원되는 경우(S2160-Y), 에러가 정정된 LDPC 정보어에 기초하여 LDPC Encoding를 수행한다(S2180). 여기에서, LDPC Encoding은 IPPC 식의 값을 이용하는 것이 아니라, HㆍCT=0의 과정을 통해 LDPC 패리티를 생성하는 방식을 의미한다. 즉, 패리티 생성부(300)는 BCH 디코딩에 의해 에러가 정정된 LDPC 정보어에 기초하여 HㆍCT=0를 만족하는 제1 LDPC 패리티 및 제2 LDPC 패리티를 생성하게 된다. 이 경우, 패리티 검사 행렬은 송신 장치(100)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬일 수 있다.
이후, 에러가 정정된 LDPC 정보어와 LDPC Encoding을 통해 생성된 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2140).
도 22는 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 22를 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2210), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S2220). 이 경우, 제1 패리티 검사 행렬이 아닌 전체 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단할 수 있다.
LDPC 신드롬 값이 0인 경우(S2220-Y), LDPC 디코딩에 의해 복원된 LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 에러가 존재하지 않는다는 점에서, LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2230).
한편, 전체 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아닌 경우(S2220-N), 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단한다(S2240).
제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인 경우(S2040-Y), ACC based IPPC encoding을 수행하여 LDPC 패리티를 생성한다(S2050).
이 경우, 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다. 다만, 제1 IPPC 식 및 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패리티를 생성할 수도 있다.
그리고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2230).
한편, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아닌 경우(S2240-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 BCH 디코딩을 수행하고(S2260), BCH 디코딩에 의해 에러 복원이 되었는지를 판단한다(S2270). 즉, LDPC 정보어 비트들에 발생된 에러가 BCH 디코딩으로 정정 가능한지 판단한다.
에러 정정이 불가능한 경우(S2270-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2280).
한편, 에러 정정이 가능하여 에러가 복원되는 경우(S2270-Y), 에러가 정정된 LDPC 정보어에 기초하여 LDPC Encoding를 수행한다(S2290).
이후, 에러가 정정된 LDPC 정보어와 LDPC Encoding을 통해 생성된 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2230).
도 23은 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 23을 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2310), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S2220). 이 경우, 제1 패리티 검사 행렬이 아닌 전체 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단할 수 있다.
LDPC 신드롬 값이 0인 경우(S2320-Y), LDPC 디코딩에 의해 복원된 LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 에러가 존재하지 않는다는 점에서, LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2330).
한편, LDPC 신드롬 값이 0이 아닌 경우(S2320-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 BCH 디코딩을 수행하고(S2340), BCH 디코딩에 의해 에러 복원이 되었는지를 판단한다(S2350). 즉, LDPC 정보어 비트들에 발생된 에러가 BCH 디코딩으로 정정 가능한지 판단한다.
에러 정정이 불가능한 경우(S2350-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2360).
한편, 에러 정정이 가능하여 에러가 복원되는 경우(S2350-Y), 에러가 정정된 LDPC 정보어에 기초하여 LDPC Encoding을 수행한다(S2370).
이후, 에러가 정정된 LDPC 정보어와 LDPC Encoding을 통해 생성된 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2330).
한편, 상술한 예들에 LDPC 신드롬 값이 0인지를 판단하고, LDPC 신드롬 값이 0이 아닌 경우, BCH 디코딩을 수행하는 것으로 설명하였으나, 이는 일 예에 불과하다.
즉, LDPC 신드롬 값이 0인지를 별도로 판단하지 않고 LDPC 디코딩에 복원된 LDPC 정보어에 대해 BCH 디코딩을 수행하고 BCH 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있고, 또한, LDPC 신드롬 값이 0이더라도 LDPC 디코딩에 복원된 LDPC 정보어에 대해 BCH 디코딩을 수행하고 BCH 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있다.
한편, 상술한 예에서는 BCH 디코딩 결과에 기초하여 패리티를 생성하는 방법에 대해 설명하였다.
이하에서는, CRC 디코딩 결과에 기초하여 패리티를 생성하는 방법에 대해 구체적으로 설명하도록 한다. 다만, 이하에서는 상술한 예에서 설명한 부분과 중복되는 부분에 대한 구체적인 설명은 생략하도록 한다.
먼저, 제1 인코더(111)에서 도 5와 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 인코딩을 수행한 경우, 패리티 생성부(300)는 다음과 같은 방법을 통해 패리티를 생성할 수 있다.
패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는 경우, CRC 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있다.
이를 위해, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단하고, 에러 발생 여부에 대한 정보를 패리티 생성부(300)로 제공할 수 있다. 이에 따라, 패리티 생성부(300)는 제1 LDPC 디코더(230)로부터 제공받은 정보에 기초하여, LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단할 수 있다.
한편, 제1 CRC 디코더(250)는 LDPC 정보어에 대해 CRC 디코딩을 수행하여 LDPC 정보어에 에러가 존재하는지를 판단하고, 그에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
일반적으로, CRC 디코딩의 경우, CRC 디코딩에 의해 CRC 부호어에 에러가 존재하는지 여부를 판단할 수 있을 뿐, 에러를 정정할 수는 없다.
따라서, 제1 CRC 디코더(250)는 LDPC 정보어에 대해 CRC 디코딩을 수행하여, LDPC 정보어에 에러가 존재하는지 즉, 에러 유무를 판단하고, 그에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
이에 따라, 패리티 생성부(300)는 제1 CRC 디코더(250)로부터 제공받은 정보에 기초하여, LDPC 정보어에 에러가 존재하는지 여부를 판단할 수 있다.
결국, 패리티 생성부(300)는 제1 LDPC 디코더(230)에서 전달받은 정보에 기초하여 LDCP 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지 여부를 판단하고, LDPC 부호어에 에러가 존재하는 경우 제1 CRC 디코더(250)로부터 제공받은 정보에 기초하여 LDPC 정보어에 에러가 존재하는지 여부를 판단할 수 있다.
그리고, 패리티 생성부(300)는 IPPC 식을 이용하여 LDPC 패리티를 생성할 수 있다. 이를 위해, 수신 장치(1000)는 패리티 검사 행렬에 대응되는 IPPC 식에 대한 정보를 기저장하고 있을 수 있다.
구체적으로, 패리티 생성부(300)는 LDCP 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하지만 CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 정보어에 대한 LDPC 패리티를 생성할 수 있다.
즉, 패리티 생성부(300)는 에러가 존재하지 않는 LDPC 정보어 비트들을 IPPC 식에 대입하여 IPPC 식의 값을 산출하고, IPPC 식의 값에 LDPC 패리티 비트를 순차적으로 누적하여 LDPC 패리티 비트를 생성할 수 있다.
한편, IPPC 식 및 IPPC 식을 이용하여 LDPC 패리티를 생성하는 방법에 대해서는 상술한바 있다는 점에서 구체적인 설명은 생략하도록 한다.
이하에서는 도 24 및 도 25를 참조하여, 본 발명의 일 실시 예에 따른 LDPC 패리티를 생성하는 방법에 대해 보다 구체적으로 설명하도록 한다.
도 24는 본 발명의 일 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 24를 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2410), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S2420). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단한다.
LDPC 신드롬 값이 0인 경우(S2420-Y), LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2430).
한편, LDPC 신드롬 값이 0이 아닌 경우(S2420-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩이 수행된다(S2440).
그리고, CRC 디코딩에 의해 CRC 부호어에 에러가 존재하는지를 판단한다(S2450). 즉, LDPC 정보어에 에러가 존재하는지를 판단한다.
에러가 존재하는 경우(S2450-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2460).
한편, 에러가 존재하지 않는 경우(S2450-Y), ACC based IPPC encoding을 통해 LDPC 정보어에 대한 LDPC 패리티를 생성하게 된다. 여기에서, LDPC 정보어는 에러가 존재하지 않는다는 점에서, IPPC 식의 값을 이용하여 LDPC 정보어에 대한 LDPC 패리티를 생성할 수 있다.
이후, LDPC 정보어와 ACC based IPPC encoding을 통해 생성된 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2430).
한편, 상술한 예에서는 ACC based IPPC encoding을 통해 LDPC 패리티를 생성하는 것으로 설명하였으나 이는 일 예에 불과하며, 도 25와 같이 ACC based IPPC encoding 외의 다른 방법을 통해 LDPC 패리티를 생성할 수도 있다.
도 25는 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 25를 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2510), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S2520). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는지를 판단한다.
LDPC 신드롬 값이 0인 경우(S2520-Y), LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2530).
한편, LDPC 신드롬 값이 0이 아닌 경우(S2520-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩이 수행된다(S2540).
그리고, CRC 디코딩에 의해 CRC 부호어에 에러가 존재하는지를 판단한다(S2550). 즉, LDPC 정보어에 에러가 존재하는지를 판단한다.
에러가 존재하는 경우(S2550-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2560).
한편, 에러가 존재하지 않는 경우(S2550-Y), LDPC 정보어에 기초하여 LDPC encoding을 수행한다(S2570).
여기에서, LDPC Encoding은 IPPC 식의 값을 이용하는 것이 아니라, HㆍCT=0의 과정을 통해 LDPC 패리티를 생성하는 방식을 의미한다. 즉, 패리티 생성부(300)는 LDPC 정보어에 대해 HㆍCT=0를 만족하는 LDPC 패리티를 생성하게 된다. 이 경우, 패리티 검사 행렬은 송신 장치(100)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬일 수 있다.
이후, LDPC 정보어와 LDPC encoding을 통해 생성된 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2530).
한편, 상술한 예들에 LDPC 신드롬 값이 0인지를 판단하고, LDPC 신드롬 값이 0이 아닌 경우, 즉, LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는 경우 CRC 디코딩을 수행하는 것으로 설명하였으나, 이는 일 예에 불과하다.
즉, LDPC 신드롬 값이 0인지를 별도로 판단하지 않고 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩을 수행하고 CRC 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있고, 또한, LDPC 신드롬 값이 0이더라도 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩을 수행하고 CRC 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있다.
한편, 제1 인코더(111)에서 도 6과 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 인코딩을 수행한 경우, 패리티 생성부(300)는 다음과 같은 방법을 통해 패리티를 생성할 수 있다.
먼저, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 경우, CRC 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있다.
이를 위해, 제1 LDPC 디코더(230)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지를 판단하고, 에러 발생 여부에 대한 정보를 패리티 생성부(300)로 제공할 수 있다. 이에 따라, 패리티 생성부(300)는 제1 LDPC 디코더(230)로부터 제공받은 정보에 기초하여, LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지를 판단할 수 있다.
한편, 제1 CRC 디코더(250)는 LDPC 정보어에 대해 CRC 디코딩을 수행하여 LDPC 정보어에 에러가 존재하는지를 판단하고, 그에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
일반적으로, CRC 디코딩의 경우, CRC 디코딩에 의해 CRC 부호어에 에러가 존재하는지 여부를 판단할 수 있을 뿐, 에러를 정정할 수는 없다.
따라서, 제1 CRC 디코더(250)는 LDPC 정보어에 대해 CRC 디코딩을 수행하여, LDPC 정보어에 에러가 존재하는지 즉, 에러 유무를 판단하고 그에 대한 정보를 패리티 생성부(300)로 제공할 수 있다.
이에 따라, 패리티 생성부(300)는 제1 CRC 디코더(250)로부터 제공받은 정보에 기초하여, LDPC 정보어에 에러가 존재하는지 여부를 판단할 수 있다.
결국, 패리티 생성부(300)는 제1 LDPC 디코더(230)에서 전달받은 정보에 기초하여 LDCP 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는지 여부를 판단하고, LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 경우 제1 CRC 디코더(250)로부터 제공받은 정보에 기초하여 LDPC 정보어에 에러가 존재하는지 여부를 판단할 수 있다.
그리고, 패리티 생성부(300)는 IPPC 식을 이용하여 LDPC 패리티를 생성할 수 있다. 이를 위해, 수신 장치(1000)는 패리티 검사 행렬에 대응되는 IPPC 식에 대한 정보를 기저장하고 있을 수 있다.
구체적으로, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
구체적으로, 패리티 생성부(300)는 제2 IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
즉, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 비트 및 제1 LDPC 패리티 비트를 제2 IPPC 식의 값에 대입하여 제2 패리티 비트를 생성할 수 있다.
한편, 패리티 생성부(300)는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하지만, CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지 않는 경우 IPPC 식에 기초하여 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
구체적으로, 패리티 생성부(300)는 제1 IPPC 식에 기초하여 LDPC 정보어에 대응되는 제1 LDPC 패리티를 생성하고, 제2 IPPC 식에 기초하여 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
즉, 패리티 생성부(300)는 에러가 존재하지 않는 LDPC 정보어 비트를 제1 IPPC 식에 대입하여 제1 IPPC 식의 값을 산출하고, 제1 IPPC 식의 값에 제1 LDPC 패리티 비트를 순차적으로 누적하여 제1 LDPC 패리티 비트를 생성할 수 있다.
그리고, 패리티 생성부(300)는 에러가 존재하지 않는 LDPC 정보어 비트 및 제1 LDPC 패리티 비트를 제2 IPPC 식의 값에 대입하여 제2 패리티 비트를 생성할 수 있다.
한편, IPPC 식 및 IPPC 식을 이용하여 LDPC 패리티를 생성하는 방법에 대해서는 상술한 바 있다는 점에서 구체적인 설명은 생략하도록 한다.
이하에서는 도 26 내지 도 29를 참조하여, 본 발명의 일 실시 예에 따른 LDPC 패리티를 생성하는 방법에 대해 보다 구체적으로 설명하도록 한다.
도 26은 본 발명의 일 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 26을 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2610), 먼저, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단한다(S2620). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하는지를 판단한다.
제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인 경우(S2620-Y), ACC based IPPC encoding을 수행하여 LDPC 패리티를 생성한다(S2630).
이 경우, 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다. 다만, 제1 IPPC 식 및 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패리티를 생성할 수도 있다.
그리고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2635).
한편, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아닌 경우(S2620-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩을 수행한다(S2640).
그리고, CRC 디코딩에 의해 CRC 부호어에 에러가 존재하는지를 판단한다(S2650). 즉, LDPC 정보어에 에러가 존재하는지를 판단한다.
에러가 존재하는 경우(S2650-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2660).
한편, 에러가 존재하지 않는 경우(S2650-Y), 제1 IPPC 식의 값을 이용하여 ACC based IPPC encoding을 수행한다(S2670). 구체적으로, LDPC 부호어는 에러가 존재하지 않다는 점에서, 제1 IPPC 식을 이용하여 LDPC 부호어에 대응되는 제1 LDPC 패리티를 생성한다.
그리고, 제2 IPPC 식의 값을 이용하여 ACC based IPPC encoding을 수행한다(S2630). 구체적으로, 제2 IPPC 식을 이용하여 LDPC 부호어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성한다.
그리고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2635).
한편, 상술한 예에서는 ACC based IPPC encoding을 통해 LDPC 패리티를 생성하는 것으로 설명하였으나 이는 일 예에 불과하며, 도 27 내지 도 29와 같이 ACC based IPPC encoding 외의 다른 방법을 통해 LDPC 패리티를 생성할 수도 있다.
도 27은 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 27을 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2710), 먼저, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단한다(S2720). 즉, 중첩 코딩 신호에 대해 LDPC 디코딩을 수행하고 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하는지를 판단한다.
제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인 경우(S2720-Y), ACC based IPPC encoding을 수행하여 LDPC 패리티를 생성한다(S2730).
이 경우, 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다. 다만, 제1 IPPC 식 및 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패리티를 생성할 수도 있다.
그리고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2740).
한편, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아닌 경우(S2720-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩을 수행한다(S2750).
그리고, CRC 디코딩에 의해 CRC 부호어에 에러가 존재하는지를 판단한다(S2760). 즉, LDPC 정보어에 에러가 존재하는지를 판단한다.
에러가 존재하는 경우(S2760-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2770).
한편, 에러가 존재하지 않는 경우(S2870-Y), LDPC 정보어에 기초하여 LDPC Encoding를 수행한다(S2780).
여기에서, LDPC Encoding은 IPPC 식의 값을 이용하는 것이 아니라, HㆍCT=0의 과정을 통해 LDPC 패리티를 생성하는 방식을 의미한다. 즉, 패리티 생성부(300)는 LDPC 정보어에 대해 HㆍCT=0를 만족하는 제1 LDPC 패리티 및 제2 LDPC 패리티를 생성하게 된다. 이 경우, 패리티 검사 행렬은 송신 장치(100)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬일 수 있다.
이후, LDPC 정보어와 LDPC Encoding을 통해 생성된 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2740).
도 28은 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 28을 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2810), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S2820). 이 경우, 제1 패리티 검사 행렬이 아닌 전체 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단할 수 있다.
LDPC 신드롬 값이 0인 경우(S2820-Y), LDPC 디코딩에 의해 복원된 LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 에러가 존재하지 않는다는 점에서, LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2830).
한편, 전체 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아닌 경우(S2820-N), 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단한다(S2840).
제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인 경우(S2840-Y), ACC based IPPC encoding을 수행하여 LDPC 패리티를 생성한다(S2850).
이 경우, 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다. 다만, 제1 IPPC 식 및 제2 IPPC 식을 이용하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패리티를 생성할 수도 있다.
그리고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2830).
한편, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아닌 경우(S2840-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩을 수행한다(S2860).
그리고, CRC 디코딩에 의해 CRC 부호어에 에러가 존재하는지를 판단한다(S2870). 즉, LDPC 정보어에 에러가 존재하는지를 판단한다.
에러가 존재하는 경우(S2870-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2880).
한편, 에러가 존재하지 않는 경우(S2870-Y), LDPC 정보어에 기초하여 LDPC Encoding를 수행한다(S2890).
이후, LDPC 정보어와 LDPC Encoding을 통해 생성된 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2830).
도 29는 본 발명의 다른 실시 예에 따른 LDPC 패리티를 생성하는 방법을 설명하기 위한 흐름도이다.
도 29를 참조하면, 상부 레이어 신호를 생성하기 위한 상부 레이어 LDPC 디코딩이 수행되면(S2910), 먼저, LDPC 신드롬 값이 0인지를 판단한다(S2920). 이 경우, 제1 패리티 검사 행렬이 아닌 전체 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인지를 판단할 수 있다.
LDPC 신드롬 값이 0인 경우(S3290-Y), LDPC 디코딩에 의해 복원된 LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티에 에러가 존재하지 않는다는 점에서, LDPC 디코딩에 의해 복원된 LDPC 부호어에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2930).
한편, LDPC 신드롬 값이 0이 아닌 경우(S2920-N), LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩을 수행한다(S2940).
그리고, CRC 디코딩에 CRC 부호어에 에러가 존재하는지를 판단한다(S2950). 즉, LDPC 정보어에 에러가 존재하는지를 판단한다.
에러가 존재하는 경우(S2950-N), 예외 처리를 통해 해당 스트림을 제거하게 된다(S2960).
한편, 에러가 존재하지 않는 경우(S2950-Y), LDPC 정보어에 기초하여 LDPC Encoding를 수행한다(S2970).
이후, LDPC 정보어와 LDPC Encoding을 통해 생성된 제1 LDPC 패리티 및 제2 LDPC 패리티에 기초하여 베이스 레이어 신호를 생성하기 위한 베이스 레이어 LDPC 디코딩이 수행된다(S2930).
한편, 상술한 예들에 LDPC 신드롬 값이 0인지를 판단하고, LDPC 신드롬 값이 0이 아닌 경우, CRC 디코딩을 수행하는 것으로 설명하였으나, 이는 일 예에 불과하다.
즉, LDPC 신드롬 값이 0인지를 별도로 판단하지 않고 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대해 CRC 디코딩을 수행하고 CRC 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있고, 또한, LDPC 신드롬 값이 0이더라도 LDPC 디코딩에 복원된 LDPC 정보어에 대해 CRC 디코딩을 수행하고 CRC 디코딩 결과에 기초하여 LDPC 패리티를 생성할 수 있다.
도 7로 돌아가서, 제2 BICM 디코더(400)는 중첩 코딩 신호를 처리하여 제2 신호를 생성할 수 있다. 여기에서, 제2 신호는 베이스 레이어에 대응되는 신호일 수 있다.
제2 BICM 디코더(400)에 대한 보다 구체적인 설명을 위해 도 30a 및 도 30b를 참조하도록 한다.
도 30a 및 도 30b는 본 발명의 일 실시 예에 따른 수신 장치의 세부 구성을 설명하기 위한 블록도이다.
먼저, 도 30a를 참조하면, 수신 장치(1000)는 OFDM 수신부(1010), 타임 디인터리버(1020), 게인 컨트롤러(1030), 버퍼(1040), 신호 제거부(1050), 베이스 레이어 게인 컨트롤러(1060), 제1 BICM 디코더(200), 패리티 생성부(300), 제2 BICM 디코더(400) 및 BICM 인코더(500)를 포함할 수 있다.
도 30a에 도시된 수신 장치(1000)의 경우, 제1 BCH 인코더(미도시) 및 제2 BCH 인코더(미도시)를 구비한 송신 장치(100)가 전송한 신호를 수신하여 처리할 수 있다.
한편, 제1 BICM 디코더(200) 및 패리티 생성부(300)와 관련하여서는 상술한바 있다는 점에서, 중복되는 부분에 대한 구체적인 설명은 생략하도록 한다.
OFDM 수신부(1010)는 송신 장치(100)가 전송한 중첩 코딩 신호에 대한 OFDM 복조를 수행하여, OFDM 프레임으로부터 셀들을 생성하여 타임 디인터리버(1020)로 출력할 수 있다.
타임 디인터리버(1020)는 OFDM 수신부(1010)의 출력을 디인터리빙한다.
구체적으로, 타임 디인터리버(1020)는 송신 장치(100)의 타임 인터리버(150)에 대응되는 구성으로, 셀들을 인터리빙하고, 인터리빙된 셀들을 게인 컨트롤러(1030)로 출력할 수 있다.
게인 컨트롤러(1030)는 타임 디인터리버(1020)의 출력에 대한 게인을 조절한다.
구체적으로, 게인 컨트롤러(1030)는 송신 장치(100)의 게인 컨트롤러(140)에 대응되는 구성으로, 타임 디인터리버(1020)에서 출력되는 신호에 대한 게인을 조절하고, 게인이 조절된 신호를 제1 BICM 디코더(200) 및 버퍼(1040)로 출력한다.
제1 BICM 디코더(200)는 게인 컨트롤러(1030)에서 출력되는 신호를 처리하여 제1 신호를 생성할 수 있다. 여기에서, 제1 신호는 상부 레이어에 대응되는 신호일 수 있다.
한편, 패리티 생성부(300)는 제1 BICM 디코더(200)의 디코딩 결과에 기초하여 제2 BICM 디코더(400)에서 디코딩에 이용되는 패리티를 생성할 수 있다.
또한, 패리티 생성부(300)는 LDPC 정보어 및 LDPC 패리티로 구성된 LDPC 부호어를 BICM 인코더(500)로 출력할 수 있다.
먼저, 제1 LDPC 디코더(230)가 도 5와 같은 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행한 경우를 고려하도록 한다.
이 경우, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하지 않는 경우(즉, LDPC 신드롬 값이 0인 경우), 제1 LDPC 디코더(230)로부터 LDPC 디코딩에 의해 복원된 LDPC 부호어를 전달받아 BICM 인코더(500)로 출력할 수 있다.
또한, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하지 않는 경우(즉, LDPC 신드롬 값이 0이 아니지만 BCH 디코딩 결과, LDPC 정보어에 에러가 존재하지 않는 경우), 제1 LDPC 디코더(230)로부터 LDPC 정보어를 전달받아 IPPC 식에 기초하여 LDPC 정보어에 대응되는 LDPC 패리티를 생성하고, LDPC 정보어 및 LDPC 패리티를 BICM 인코더(500)로 출력할 수 있다.
또한, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우(BCH 디코딩 결과, LDPC 정보어에 에러가 존재하는 경우), 제1 BCH 디코더(240)로부터 LDPC 정보어를 전달받아 IPPC 식에 기초하여 LDPC 정보어에 대응되는 LDPC 패리티를 생성하고, LDPC 정보어 및 LDPC 패리티를 BICM 인코더(500)로 출력할 수 있다.
한편, 제1 LDPC 디코더(230)가 도 6과 같은 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행한 경우를 고려하도록 한다.
이 경우, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우(즉, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0인 경우), 제1 LDPC 디코더(230)로부터 LDPC 정보어 및 제1 LDPC 패리티를 전달받아 제2 IPPC 식에 기초하여 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성하고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티를 BICM 인코더(500)로 출력할 수 있다.
또한, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하지 않는 경우(즉, 제1 패리티 검사 행렬에 대한 LDPC 신드롬 값이 0이 아니고 BCH 디코딩 결과 LDPC 정보어에 에러가 존재하지 않는 경우), 제1 LDPC 디코더(230)로부터 LDPC 정보어를 전달받아 제1 IPPC 식 및 제2 IPPC 식에 기초하여 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패래티를 생성하고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티를 BICM 인코더(500)로 출력할 수 있다.
또한, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우(즉, BCH 디코딩 결과 LDPC 정보어에 에러가 존재하는 경우), 제1 BCH 디코더(240)로부터 LDPC 정보어를 전달받아 제1 IPPC 식 및 제2 IPPC 식에 기초하여 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패래티를 생성하고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티를 BICM 인코더(500)로 출력할 수 있다.
BICM 인코더(500)는 패리티 생성부(300)의 출력을 처리할 수 있다. 이를 위해, BICM 인코더(500)는 인터리버(510) 및 맵퍼(520)를 포함할 수 있다.
인터리버(510)는 패리티 생성부(300)의 출력을 인터리빙할 수 있다.
구체적으로, 인터리버(510)는 송신 장치(100)의 제1 인터리버(112)에 대응되는 구성으로, 제1 인터리버(112)와 동일한 방식으로 패리티 생성부(300)에서 출력되는 LDPC 부호어 비트들을 인터리빙하고, 인터리빙된 LDPC 부호어 비트들을 맵퍼(520)로 출력한다.
맵퍼(520)는 인터리버(510)의 출력을 변조한다.
구체적으로, 맵퍼(520)는 송신 장치(100)의 제1 맵퍼(113)에 대응되는 구성으로, 제1 맵퍼(113)와 동일한 방식으로 인터리버(510)에서 출력되는 LDPC 부호어 비트들을 성상점에 맵핑하여 출력할 수 있다. 예를 들어, 제1 맵퍼(113)에서 QPSK 방식으로 변조를 수행한 경우, 맵퍼(520)는 인터리버(510)에서 출력되는 LDPC 부호어 비트들을 QPSK 방식으로 변조할 수 있다.
이와 같이, BICM 인코더(500)는 패리티 생성부(200)에서 출력되는 LDPC 정보어 및 LDPC 패리티로 구성된 LDPC 부호어를 인터리빙하고, 인터리빙된 LDPC 부호어를 변조할 수 있다.
한편, 버퍼(1040)는 게인 컨트롤러(1030)에서 출력되는 신호를 저장한다.
그리고, 신호 제거부(1050)는 버퍼(1040)에 저장된 신호 및 BICM 인코더(500)에서 출력되는 신호를 입력받아, 버퍼(1040)로부터 제공되는 신호 즉, 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호를 제거하여 베이스 레이어 게인 컨트롤러(1060)로 출력한다.
베이스 레이어 게인 컨트롤러(1060)는 송신 장치(100)는 베이스 레이어 게인 컨트롤러(130)에 대응되는 구성으로, 신호 제거부(1050)에서 출력되는 신호에 대한 게인을 조절하고, 이를 제2 BICM 디코더(400)로 출력한다.
제2 BICM 디코더(400)는 중첩 코딩 신호를 처리하여 제2 신호를 생성할 수 있다. 여기에서, 제2 신호는 베이스 레이어에 대응되는 신호일 수 있다.
이를 위해, 제2 BICM 디코더(400)는 제2 디맵퍼(410), 제2 디인터리버(420), 제2 LDPC 디코더(430) 및 제2 BCH 디코더(440)를 포함할 수 있다.
제2 디맵퍼(410)는 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호가 제거된 신호에 대한 복조를 수행한다.
구체적으로, 제2 디맵퍼(410)는 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호가 제거된 신호를 복조하여 LLR 값을 생성하고, 이를 제2 디인터리버(420)로 출력한다.
이 경우, 제2 디맵퍼(410)는 베이스 레이어에 대응되는 신호에 적용된 변조 방식에 기초하여, 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호가 제거된 신호에 대한 복조를 수행할 수 있다. 예를 들어, 송신 장치(100)에서 베이스 레이어에 대응되는 신호를 64-QAM 방식으로 변조한 경우, 제2 디맵퍼(410)는 64-QAM 방식에 기초하여 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호가 제거된 신호에 대해 복조를 수행할 수 있다.
여기에서, LLR 값은 송신 장치(100)에서 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또는, LLR 값은 송신 장치(100)에서 전송한 비트가 0 또는 1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다.
제2 디인터리버(420)는 제2 디맵퍼(410)의 출력을 디인터리빙한다.
구체적으로, 제2 디인터리버(420)는 송신 장치(100)의 제2 인터리버(122)에 대응되는 구성으로, 제2 인터리버(122)에서 수행된 인터리빙 동작을 역으로 수행하여 LLR 값을 디인터리빙하고, 이를 제2 LDPC 디코더(430)로 출력할 수 있다.
제2 LDPC 디코더(430)는 제2 디인터리버(420)의 출력을 LDPC 디코딩한다.
구체적으로, 제2 LDPC 디코더(430)는 송신 장치(100)의 제2 BICM 인코더(120)의 LDPC 인코더(미도시)에 대응되는 구성으로, 디인터리빙된 LLR 값을 이용하여 LDPC 디코딩을 수행하여 LDPC 정보어 및 LDPC 패리티를 복원할 수 있다. 즉, 제2 LDPC 디코더(430)는 LDPC 부호어를 복원할 수 있다.
이 경우, 제2 LDPC 디코더(430)는 다양한 방법으로 LDPC 디코딩을 수행할 수 있으며, 일 예로 합곱 알고리즘에 기반한 반복 복호 방식을 통해 LDPC 디코딩을 수행하여, 경판정을 통해 비트 값을 결정하여 LDPC 부호어 비트들을 복원할 수 있다.
한편, 제2 LDPC 디코더(430)는 제2 인코더(121)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행할 수 있다.
예를 들어, LDPC 인코딩 시 도 5와 같은 구조를 갖는 패리티 검사 행렬이 이용된 경우, 제2 LDPC 디코더(430)는 도 5와 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행하여, LDPC 부호어를 복원할 수 있다. 즉, 제1 LDPC 인코더(430)는 정보어 부분 행렬에 대응되는 LDPC 정보어와 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
또한, LDPC 인코딩 시 도 6과 같은 구조를 갖는 패리티 검사 행렬이 이용된 경우, 제2 LDPC 디코더(430)는 도 6과 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행하여, LDPC 부호어를 복원할 수 있다. 즉, 제2 LDPC 디코더(430)는 정보어 부분 행렬에 대응되는 LDPC 정보어, 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
한편, LDPC 인코딩 시 이용된 패리티 검사 행렬에 대한 정보는 수신 장치(1000)에 기저장되어 있거나, 송신 장치(100)로부터 제공될 수 있다.
그리고, 제2 LDPC 디코더(430)는 LDPC 디코딩에 의해 복원된 LDPC 정보어를 제2 BCH 디코더(440)로 출력할 수 있다.
제2 BCH 디코더(440)는 제2 LDPC 디코더(430)의 출력을 BCH 디코딩하여 제2 신호를 생성한다. 여기에서, 제2 BCH 디코더(440)는 송신 장치(100)의 제2 BICM 인코더(120)의 BCH 인코더(미도시)에 대응되는 구성이다.
구체적으로, 제2 LDPC 디코더(430)에서 출력되는 LDPC 정보어는 BCH 정보어 및 BCH 패리티로 구성된다는 점에서, 제2 BCH 디코더(440)는 제2 LDPC 디코더(430)에서 출력되는 BCH 패리티를 이용하여 BCH 부호어에 대한 에러를 정정하여 BCH 정보어를 복원할 수 있다.
여기에서, BCH 정보어는 스트림을 구성하는 비트들 즉, 송신 장치(100)에서 전송하고자 하는 비트들로, 베이스 레이어에 대응되는 신호를 구성할 수 있다. 예를 들어, 제2 BCH 디코더(440)는 도 1의 스트림 B를 구성하는 비트들을 출력할 수 있다.
한편, 도 30b와 같이, 수신 장치(1000)는 OFDM 수신부(1010), 타임 디인터리버(1020), 게인 컨트롤러(1030), 버퍼(1040), 신호 제거부(1050), 베이스 레이어 게인 컨트롤러(1060), 제1 BICM 디코더(200), 패리티 생성부(300), 제2 BICM 디코더(400) 및 BICM 인코더(500)를 포함할 수 있다.
여기에서, 도 30b에 도시된 수신 장치(1000)는 제1 BCH 디코더(240) 및 제2 BCH 디코더(440) 대신 제1 CRC 디코더(250) 및 제2 CRC 디코더(450)를 구비한다는 점에서 도 30a에 도시된 수신 장치(1000)와 차이가 있다.
한편, 도 30b에 도시된 수신 장치(1000)의 경우, 제1 CRC 인코더(미도시) 및 제2 CRC 인코더(미도시)를 구비한 송신 장치(100)가 전송한 신호를 수신하여 처리할 수 있다.
한편, 제1 BICM 디코더(200) 및 패리티 생성부(300)는 상술한바 있다는 점에서, 중복되는 부분에 대한 구체적인 설명은 생략하도록 한다.
OFDM 수신부(1010)는 송신 장치(100)가 전송한 중첩 코딩 신호에 대한 OFDM 복조를 수행하여, OFDM 프레임으로부터 셀들을 생성하여 타임 디인터리버(1020)로 출력할 수 있다.
타임 디인터리버(1020)는 OFDM 수신부(1010)의 출력을 디인터리빙한다.
구체적으로, 타임 디인터리버(1020)는 송신 장치(100)의 타임 인터리버(150)에 대응되는 구성으로, 셀들을 인터리빙하고, 인터리빙된 셀들을 게인 컨트롤러(1030)로 출력할 수 있다.
게인 컨트롤러(1030)는 타임 디인터리버(1020)의 출력에 대한 게인을 조절한다.
구체적으로, 게인 컨트롤러(1030)는 송신 장치(100)의 게인 컨트롤러(140)에 대응되는 구성으로, 타임 디인터리버(1020)에서 출력되는 신호에 대한 게인을 조절하고, 게인이 조절된 신호를 제1 BICM 디코더(200) 및 버퍼(1040)로 출력한다.
제1 BICM 디코더(200)는 게인 컨트롤러(1030)에서 출력되는 신호를 처리하여 제1 신호를 생성할 수 있다. 여기에서, 제1 신호는 상부 레이어에 대응되는 신호일 수 있다.
한편, 패리티 생성부(300)는 제1 BICM 디코더(200)의 디코딩 결과에 기초하여 제2 BICM 디코더(400)에서 디코딩에 이용되는 패리티를 생성할 수 있다.
또한, 패리티 생성부(300)는 LDPC 정보어 및 LDPC 패리티로 구성된 LDPC 부호어를 BICM 인코더(500)로 출력할 수 있다.
먼저, 제1 LDPC 디코더(230)가 도 5와 같은 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행한 경우를 고려하도록 한다.
이 경우, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하지 않는 경우, 제1 LDPC 디코더(230)로부터 LDPC 디코딩에 의해 복원된 LDPC 부호어를 전달받아 BICM 인코더(500)로 출력할 수 있다.
또한, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는 경우 제1 CRC 디코더(250)의 CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하는지를 판단하고, LDPC 정보어에 에러가 존재하지 않는 경우 제1 CRC 디코더(250)로부터 LDPC 정보어를 전달받아 IPPC 식에 기초하여 LDPC 정보어에 대응되는 LDPC 패리티를 생성하고, LDPC 정보어 및 LDPC 패리티를 BICM 인코더(500)로 출력할 수 있다.
한편, 제1 LDPC 디코더(230)가 도 6과 같은 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행한 경우를 고려하도록 한다.
이 경우, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우, 제1 LDPC 디코더(230)로부터 LDPC 정보어 및 제1 LDPC 패리티를 전달받아 제2 IPPC 식에 기초하여 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성하고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티를 BICM 인코더(500)로 출력할 수 있다.
또한, 패리티 생성부(300)는 제1 LDPC 디코더(230)의 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 경우, 제1 CRC 디코더(250)의 CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하는지를 판단하고, LDPC 정보어에 에러가 존재하지 않는 경우 제1 CRC 디코더(250)로부터 LDPC 정보어를 전달받아 제1 IPPC 식 및 제2 IPPC 식에 기초하여 LDPC 정보어에 대응되는 제1 LDPC 패리티 및 제2 LDPC 패래티를 생성하고, LDPC 정보어, 제1 LDPC 패리티 및 제2 LDPC 패리티를 BICM 인코더(500)로 출력할 수 있다.
BICM 인코더(500)는 패리티 생성부(300)의 출력을 처리할 수 있다. 이를 위해, BICM 인코더(500)는 인터리버(510) 및 맵퍼(520)를 포함할 수 있다.
인터리버(510)는 패리티 생성부(300)의 출력을 인터리빙할 수 있다.
구체적으로, 인터리버(510)는 송신 장치(100)의 제1 인터리버(112)에 대응되는 구성으로, 제1 인터리버(112)와 동일한 방식으로 패리티 생성부(300)에서 출력되는 LDPC 부호어 비트들을 인터리빙하고, 인터리빙된 LDPC 부호어 비트들을 맵퍼(520)로 출력한다.
맵퍼(520)는 인터리버(510)의 출력을 변조한다.
구체적으로, 맵퍼(520)는 송신 장치(100)의 제1 맵퍼(113)에 대응되는 구성으로, 제1 맵퍼(113)와 동일한 방식으로 인터리버(510)에서 출력되는 LDPC 부호어 비트들을 성상점에 맵핑하여 출력할 수 있다. 예를 들어, 제1 맵퍼(113)에서 QPSK 방식으로 변조를 수행한 경우, 맵퍼(520)는 인터리버(510)에서 출력되는 LDPC 부호어 비트들을 QPSK 방식으로 변조할 수 있다.
이와 같이, BICM 인코더(500)는 패리티 생성부(200)에서 출력되는 LDPC 정보어 및 LDPC 패리티로 구성된 LDPC 부호어를 인터리빙하고, 인터리빙된 LDPC 부호어를 변조할 수 있다.
한편, 버퍼(1040)는 게인 컨트롤러(1030)에서 출력되는 신호를 저장한다.
그리고, 신호 제거부(1050)는 버퍼(1040)에 저장된 신호 및 BICM 인코더(500)에서 출력되는 신호를 입력받아, 버퍼(1040)로부터 제공되는 신호 즉, 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호를 제거하여 베이스 레이어 게인 컨트롤러(1060)로 출력한다.
베이스 레이어 게인 컨트롤러(1060)는 송신 장치(100)는 베이스 레이어 게인 컨트롤러(130)에 대응되는 구성으로, 신호 제거부(1050)에서 출력되는 신호에 대한 게인을 조절하고, 이를 제2 BICM 디코더(400)로 출력한다.
제2 BICM 디코더(400)는 중첩 코딩 신호를 처리하여 제2 신호를 생성할 수 있다. 여기에서, 제2 신호는 베이스 레이어에 대응되는 신호일 수 있다.
이를 위해, 제2 BICM 디코더(400)는 제2 디맵퍼(410), 제2 디인터리버(420), 제2 LDPC 디코더(430) 및 제2 CRC 디코더(450)를 포함할 수 있다.
제2 디맵퍼(410)는 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호가 제거된 신호에 대한 복조를 수행한다.
구체적으로, 제2 디맵퍼(410)는 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호가 제거된 신호를 복조하여 LLR 값을 생성하고, 이를 제2 디인터리버(420)로 출력한다.
이 경우, 제2 디맵퍼(410)는 베이스 레이어에 대응되는 신호에 적용된 변조 방식에 기초하여, 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호가 제거된 신호에 대한 복조를 수행할 수 있다. 예를 들어, 송신 장치(100)에서 베이스 레이어에 대응되는 신호를 64-QAM 방식으로 변조한 경우, 제2 디맵퍼(410)는 64-QAM 방식에 기초하여 중첩 코딩 신호에서 BICM 인코더(500)에서 출력되는 신호가 제거된 신호에 대해 복조를 수행할 수 있다.
여기에서, LLR 값은 송신 장치(100)에서 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또는, LLR 값은 송신 장치(100)에서 전송한 비트가 0 또는 1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다.
제2 디인터리버(420)는 제2 디맵퍼(410)의 출력을 디인터리빙한다.
구체적으로, 제2 디인터리버(420)는 송신 장치(100)의 제2 인터리버(122)에 대응되는 구성으로, 제2 인터리버(122)에서 수행된 인터리빙 동작을 역으로 수행하여 LLR 값을 디인터리빙하고, 이를 제2 LDPC 디코더(430)로 출력할 수 있다.
제2 LDPC 디코더(430)는 제2 디인터리버(420)의 출력을 LDPC 디코딩한다.
구체적으로, 제2 LDPC 디코더(430)는 송신 장치(100)의 제2 BICM 인코더(120)의 LDPC 인코더(미도시)에 대응되는 구성으로, 디인터리빙된 LLR 값을 이용하여 LDPC 디코딩을 수행하여 LDPC 정보어 및 LDPC 패리티를 복원할 수 있다. 즉, 제2 LDPC 디코더(430)는 LDPC 부호어를 복원할 수 있다.
이 경우, 제2 LDPC 디코더(430)는 다양한 방법으로 LDPC 디코딩을 수행할 수 있으며, 일 예로 합곱 알고리즘에 기반한 반복 복호 방식을 통해 LDPC 디코딩을 수행하여, 경판정을 통해 비트 값을 결정하여 LDPC 부호어 비트들을 복원할 수 있다.
한편, 제2 LDPC 디코더(430)는 제2 인코더(121)에서 LDPC 인코딩 시 이용된 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행할 수 있다.
예를 들어, LDPC 인코딩 시 도 5와 같은 구조를 갖는 패리티 검사 행렬이 이용된 경우, 제2 LDPC 디코더(430)는 도 5와 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행하여, LDPC 부호어를 복원할 수 있다. 즉, 제1 LDPC 인코더(430)는 정보어 부분 행렬에 대응되는 LDPC 정보어와 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
또한, LDPC 인코딩 시 도 6과 같은 구조를 갖는 패리티 검사 행렬이 이용된 경우, 제2 LDPC 디코더(430)는 도 6과 같은 구조를 갖는 패리티 검사 행렬에 기초하여 LDPC 디코딩을 수행하여, LDPC 부호어를 복원할 수 있다. 즉, 제2 LDPC 디코더(430)는 정보어 부분 행렬에 대응되는 LDPC 정보어, 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
한편, LDPC 인코딩 시 이용된 패리티 검사 행렬에 대한 정보는 수신 장치(1000)에 기저장되어 있거나, 송신 장치(100)로부터 제공될 수 있다.
그리고, 제2 LDPC 디코더(430)는 LDPC 디코딩에 의해 복원된 LDPC 정보어를 제2 CRC 디코더(450)로 출력할 수 있다.
제2 CRC 디코더(450)는 제2 LDPC 디코더(430)의 출력을 CRC 디코딩하여 제2 신호를 생성한다. 여기에서, 제2 CRC 디코더(450)는 송신 장치(100)의 제2 BICM 인코더(120)의 BCH 인코더(미도시)에 대응되는 구성이다.
구체적으로, 제2 LDPC 디코더(430)에서 출력되는 LDPC 정보어는 CRC 정보어 및 CRC 패리티로 구성된다는 점에서, 제2 CRC 디코더(450)는 제2 LDPC 디코더(430)에서 출력되는 CRC 정보어 및 CRC 패리티에 대해 CRC 디코딩을 수행할 수 있다.
여기에서, CRC 정보어는 스트림을 구성하는 비트들 즉, 송신 장치(100)에서 전송하고자 하는 비트들로, 베이스 레이어에 대응되는 신호를 구성할 수 있다. 예를 들어, 제2 CRC 디코더(450)는 도 1의 스트림 B를 구성하는 비트들을 출력할 수 있다.
도 31은 본 발명의 일 실시 예에 따른 신호 처리 방법을 설명하기 위한 흐름도이다.
먼저, 제1 BICM 디코더를 이용하여, 중첩 코딩 신호를 처리하여 제1 신호를 생성한다(S3110).
이후, 제1 BICM 디코더의 디코딩 결과에 기초하여 제2 BICM 디코더에서 디코딩에 이용되는 패리티를 생성한다(S3120).
그리고, 제2 BICM 디코더를 이용하여, 중첩 코딩 신호를 처리하여 제2 신호를 생성한다(S3120)
이 경우, S3110 단계는 제1 디맵퍼를 이용하여 중첩 코딩 신호에 대한 복조를 수행하고, 제1 디인터리버를 이용하여 제1 디맵퍼의 출력을 디인터리빙하고, 제1 LDPC 디코더를 이용하여 제1 디인터리버의 출력을 LDPC 디코딩하고, 제1 BCH 디코더를 이용하여 제1 LDPC 디코더의 출력을 BCH 디코딩하여 제1 신호를 생성한다.
구체적으로, LDPC 디코딩하는 단계는 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
이 경우, S3120 단계는 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하는 경우, BCH 디코딩 결과에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는지를 판단할 수 있다.
그리고, LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
또한, LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우, BCH 디코딩 결과에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에서 에러가 발생된 비트의 위치를 판단하고, 에러가 발생된 비트에 대응되는 IPPC 식의 값을 플립핑하여 에러를 정정하고, 플립핑된 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어에 대응되는 LDPC 패리티를 생성할 수 있다.
한편, LDPC 디코딩하는 단계는 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
이 경우, S3120 단계는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
또한, LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하는 경우, BCH 디코딩 결과에 기초하여 LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는지를 판단할 수 있다.
여기에서, LDPC 디코딩에 의해 복원된 LDPC 정보어에 에러가 존재하는 경우, BCH 디코딩 결과에 기초하여 0DPC 디코딩에 의해 복원된 LDPC 정보어에서 에러가 발생된 비트의 위치를 판단하고, 에러가 발생된 비트에 대응되는 제1 IPPC 식의 결과 값을 플립핑하여 에러를 정정하고, 플립핑된 제1 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어에 대응되는 제1 LDPC 패리티를 생성할 수 있다.
그리고, 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 LDPC 패리티와 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티를 비교하여 LDPC 디코딩에 의해 복원된 제1 LDPC 패리티에서 에러가 발생된 비트의 위치를 판단하고, 에러가 발생된 비트에 대응되는 제2 IPPC 식의 값을 플립핑하여 에러를 정정하고, 플립핑된 제2 IPPC 식의 값에 기초하여 에러가 정정된 LDPC 정보어 및 제1 LDPC 패리티에 대응되는 제2 LDPC 패리티를 생성할 수 있다.
한편, S3120 단계는 제1 BICM 디코더에서 출력되는 LDPC 정보어에 대한 LDPC 패리티를 생성하고, 본 실시 예에 따른 신호 처리 방법은 BICM 인코더를 이용하여 LDPC 정보어 및 LDPC 패리티로 구성된 LDPC 부호어를 인터리빙하고, 상기 인터리빙된 LDPC 부호어를 변조할 수 있다.
이 경우, S3130 단계는 제2 디맵퍼를 이용하여 중첩 코딩 신호에서 BICM 인코더에서 출력되는 신호가 제거된 신호에 대한 복조를 수행하고, 제2 디인터리버를 이용하여 제2 디맵퍼의 출력을 디인터리빙하고, 제2 LDPC 디코더를 이용하여 제2 디인터리버의 출력을 LDPC 디코딩하고, 제2 BCH 디코더를 이용하여 제2 LDPC 디코더의 출력을 BCH 디코딩하여 제2 신호를 생성할 수 있다.
한편, S3110 단계는 제1 디맵퍼를 이용하여 중첩 코딩 신호에 대한 복조를 수행하고, 제1 디인터리버를 이용하여 제1 디맵퍼의 출력을 디인터리빙하고, 제1 LDPC 디코더를 이용하여 제1 디인터리버의 출력을 LDPC 디코딩하고, 제1 CRC 디코더를 이용하여 제1 LDPC 디코더의 출력을 CRC 디코딩하여 제1 신호를 생성할 수 있다.
이 경우, LDPC 디코딩하는 단계는 이중 대각 행렬 구조를 갖는 패리티 부분 행렬에 대응되는 LDPC 패리티를 복원할 수 있다.
그리고, 패리티를 생성하는 단계는 LDPC 디코딩에 의해 복원된 LDPC 부호어에 에러가 존재하지만, CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 정보어에 대한 LDPC 패리티를 생성할 수 있다.
한편, LDPC 디코딩하는 단계는 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬에 대응되는 제1 LDPC 패리티 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬에 대응되는 제2 LDPC 패리티를 복원할 수 있다.
이 경우, 패리티를 생성하는 단계는 LDPC 디코딩에 의해 복원된 LDPC 정보어 및 제1 LDPC 패리티 중 적어도 하나에 에러가 존재하지만, CRC 디코딩 결과에 기초하여 LDPC 정보어에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 LDPC 정보어에 대한 LDPC 패리티를 생성할 수 있다.
한편, S3120 단계는 패리티를 생성하는 단계는 제1 BICM 디코더에서 출력되는 LDPC 정보어에 대한 LDPC 패리티를 생성하고, 본 실시 예에 따른 신호 처리 방법은 BICM 인코더를 이용하여 LDPC 정보어 및 LDPC 패리티로 구성된 LDPC 부호어를 인터리빙하고, 인터리빙된 LDPC 부호어를 변조할 수 있다.
이 경우, S3130 단계는 제2 디맵퍼를 이용하여 중첩 코딩 신호에서 BICM 인코더에서 출력되는 신호가 제거된 신호에 대한 복조를 수행하고, 제2 디인터리버를 이용하여 제2 디맵퍼의 출력을 디인터리빙하고, 제2 LDPC 디코더를 이용하여 제2 디인터리버의 출력을 LDPC 디코딩하고, 제2 CRC 디코더를 이용하여 제2 LDPC 디코더의 출력을 CRC 디코딩하여 제2 신호를 생성할 수 있다.
한편, 본 발명에 따른 신호 처리 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 송신 장치 및 수신 장치에 대해 도시한 상술한 블록도에서는 버스(bus)를 미도시하였으나, 각 장치에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 각 장치에는 상술한 다양한 단계를 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
1000 : 수신 장치 200 : 제1 BICM 디코더
300 : 패리티 생성부 400 : 제2 BICM 디코더

Claims (40)

  1. 수신 장치에 있어서,
    상부 레이어의 신호 및 하부 레이어의 신호를 중첩하여 생성된 제1 입력 신호를 디코딩하여, 상기 상부 레이어에 대응되는 제1 출력 신호를 생성하는 제1 BICM 디코더;
    상기 제1 BICM 디코더의 상기 제1 입력 신호에 대한 디코딩 결과에 기초하여 패리티 비트들을 생성하는 패리티 생성부; 및
    상기 제1 입력 신호 및 상기 패리티 비트들에 기초하여 생성된 제2 입력 신호를 디코딩하여, 상기 하부 레이어에 대응되는 제2 출력 신호를 생성하는 제2 BICM 디코더;를 포함하며,
    상기 제1 BICM 디코더는,
    LDPC 코드에 기초하여 상기 제1 입력 신호를 LDPC 디코딩하여 정보어 비트들을 생성하는 제1 LDPC 디코더를 포함하고,
    상기 패리티 생성부는,
    상기 정보어 비트들에 에러가 존재하지 않는 경우, 상기 LDPC 코드의 패리티 검사 행렬에 기초하여 획득된 IPPC 식의 값을 이용하여 패리티 비트들을 생성하고,
    상기 정보어 비트들에 에러가 존재하는 경우, 상기 IPPC 식 중 에러와 관련된 IPPC 식의 값을 플립핑(flipping)하여 획득된 값을 이용하여 패리티 비트들을 생성하는 수신 장치.
  2. 제1항에 있어서,
    상기 제1 LDPC 디코더는,
    상기 제1 입력 신호를 디코딩하여 상기 정보어 비트들 및 패리티 비트들을 생성하며,
    상기 제1 BICM 디코더는,
    BCH 코드에 기초하여 상기 정보어 비트들을 BCH 디코딩하여 상기 제1 출력 신호를 생성하는 제1 BCH 디코더;를 더 포함하는 것을 특징으로 하는 수신 장치.
  3. 제2항에 있어서,
    상기 패리티 검사 행렬은, 이중 대각 행렬 구조를 갖는 패리티 부분 행렬을 포함하고,
    상기 제1 LDPC 디코더는,
    상기 패리티 부분 행렬에 대응되는 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  4. 제3항에 있어서,
    상기 패리티 생성부는,
    상기 LDPC 디코딩에 의해 생성된 코드워드에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 생성된 상기 정보어 비트들에 에러가 존재하는지를 판단하는 것을 특징으로 하는 수신 장치.
  5. 삭제
  6. 제4항에 있어서,
    상기 패리티 생성부는,
    상기 LDPC 디코딩에 의해 생성된 정보어 비트들에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 생성된 정보어 비트들에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 IPPC 식의 값을 플립핑하는 것을 특징으로 하는 수신 장치.
  7. 제2항에 있어서,
    상기 패리티 검사 행렬은, 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬을 포함하고,
    상기 제1 LDPC 디코더는,
    상기 제1 패리티 부분 행렬에 대응되는 제1 패리티 비트들 및 상기 제2 패리티 부분 행렬에 대응되는 제2 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  8. 제7항에 있어서,
    상기 패리티 생성부는,
    상기 LDPC 디코딩에 의해 생성된 정보어 비트들 및 제1 패리티 비트들에 에러가 존재하지 않는 경우, IPPC 식의 값에 기초하여 상기 정보어 비트들 및 제1 패리티 비트들에 대응되는 제2 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  9. 제7항에 있어서,
    상기 패리티 생성부는,
    상기 LDPC 디코딩에 의해 생성된 정보어 비트들 및 제1 패리티 비트들 중 적어도 하나에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 정보어 비트들에 에러가 존재하는지를 판단하는 것을 특징으로 하는 수신 장치.
  10. 제9항에 있어서,
    상기 패리티 생성부는,
    상기 정보어 비트들에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 정보어 비트들에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 제1 IPPC 식의 값을 플립핑하고, 상기 플립핑된 제1 IPPC 식의 값에 기초하여 제1 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  11. 제10항에 있어서,
    상기 패리티 생성부는,
    상기 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 패리티 비트들과 상기 LDPC 디코딩에 의해 생성된 제1 패리티 비트들을 비교하여 상기 LDPC 디코딩에 의해 생성된 제1 패리티 비트들에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 제2 IPPC 식의 값을 플립핑하고, 상기 플립핑된 제2 IPPC 식의 값에 기초하여 정보어 비트들 및 제1 패리티 비트들에 대응되는 제2 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  12. 삭제
  13. 삭제
  14. 제1항에 있어서,
    상기 제1 LDPC 디코더는,
    상기 제1 입력 신호를 디코딩하여 상기 정보어 비트들 및 패리티 비트들을 생성하며,
    상기 제1 BICM 디코더는,
    CRC 코드에 기초하여 상기 정보어 비트들을 CRC 디코딩하여 상기 제1 출력 신호를 생성하는 제1 CRC 디코더;를 포함하는 것을 특징으로 하는 수신 장치.
  15. 제14항에 있어서,
    상기 패리티 검사 행렬은, 이중 대각 행렬 구조를 갖는 패리티 부분 행렬을 포함하고,
    상기 제1 LDPC 디코더는,
    상기 패리티 부분 행렬에 대응되는 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  16. 제15항에 있어서,
    상기 패리티 생성부는,
    상기 LDPC 디코딩에 의해 생성된 코드워드에 에러가 존재하지만, 상기 CRC 디코딩 결과에 기초하여 정보어 비트들에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 정보어 비트들에 대한 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  17. 제14항에 있어서,
    상기 패리티 검사 행렬은, 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬을 포함하고,
    상기 제1 LDPC 디코더는,
    상기 제1 패리티 부분 행렬에 대응되는 제1 패리티 비트들 및 상기 제2 패리티 부분 행렬에 대응되는 제2 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  18. 제17항에 있어서,
    상기 패리티 생성부는,
    상기 LDPC 디코딩에 의해 생성된 정보어 비트들 및 제1 패리티 비트들 중 적어도 하나에 에러가 존재하지만, 상기 CRC 디코딩 결과에 기초하여 상기 정보어 비트들에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 정보어 비트들에 대한 패리티 비트들을 생성하는 것을 특징으로 하는 수신 장치.
  19. 삭제
  20. 삭제
  21. 신호 처리 방법에 있어서,
    상부 레이어의 신호 및 하부 레이어의 신호를 중첩하여 생성된 제1 입력 신호를 디코딩하여, 상기 상부 레이어에 대응되는 제1 출력 신호를 생성하는 단계;
    상기 제1 입력 신호에 대한 디코딩 결과에 기초하여 패리티 비트들을 생성하는 단계; 및
    상기 제1 입력 신호 및 상기 패리티 비트들에 기초하여 생성된 제2 입력 신호를 디코딩하여, 상기 하부 레이어에 대응되는 제2 출력 신호를 생성하는 단계;를 포함하고,
    상기 제1 출력 신호를 생성하는 단계는,
    LDPC 코드에 기초하여 상기 제1 입력 신호를 LDPC 디코딩하여 정보어 비트들을 생성하는 단계를 포함하고,
    상기 디코딩 결과에 기초하여 패리티 비트들을 생성하는 단계는,
    상기 정보어 비트들에 에러가 존재하지 않는 경우, 상기 LDPC 코드의 패리티 검사 행렬에 기초하여 획득된 IPPC 식의 값을 이용하여 상기 하나 또는 그 이상의 패리티 비트들을 생성하고,
    상기 정보어 비트들에 에러가 존재하는 경우, 상기 IPPC 식 중 에러와 관련된 IPPC 식의 값을 플립핑(flipping)하여 획득된 값을 이용하여 상기 하나 또는 그 이상의 패리티 비트들을 생성하는 신호 처리 방법.
  22. 제21항에 있어서,
    상기 정보어 비트들을 생성하는 단계는,
    상기 제1 입력 신호를 디코딩하여 상기 정보어 비트들 및 패리티 비트들을 생성하며,
    상기 제1 출력 신호를 생성하는 단계는,
    BCH 코드에 기초하여 상기 정보어 비트들을 BCH 디코딩하여 상기 제1 출력 신호를 생성하는 단계;를 더 포함하는 것을 특징으로 하는 신호 처리 방법.
  23. 제22항에 있어서,
    상기 패리티 검사 행렬은, 이중 대각 행렬 구조를 갖는 패리티 부분 행렬을 포함하고,
    상기 정보어 비트들을 생성하는 단계는,
    상기 패리티 부분 행렬에 대응되는 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  24. 제23항에 있어서,
    상기 디코딩 결과에 기초하여 패리티를 생성하는 단계는,
    상기 LDPC 디코딩에 의해 생성된 코드워드에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 생성된 정보어 비트들에 에러가 존재하는지를 판단하는 것을 특징으로 하는 신호 처리 방법.
  25. 삭제
  26. 제24항에 있어서,
    상기 디코딩 결과에 기초하여 패리티를 생성하는 단계는,
    상기 LDPC 디코딩에 의해 생성된 정보어 비트들에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 생성된 정보어 비트들에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 IPPC 식의 값을 플립핑하는 것을 특징으로 하는 신호 처리 방법.
  27. 제22항에 있어서,
    상기 패리티 검사 행렬은, 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬을 포함하고,
    상기 정보어 비트들을 생성하는 단계는,
    상기 제1 패리티 부분 행렬에 대응되는 제1 패리티 비트들 및 상기 제2 패리티 부분 행렬에 대응되는 제2 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  28. 제27항에 있어서,
    상기 디코딩 결과에 기초하여 패리티를 생성하는 단계는,
    상기 LDPC 디코딩에 의해 생성된 정보어 비트들 및 제1 패리티 비트들에 에러가 존재하지 않는 경우, IPPC 식의 값에 기초하여 상기 정보어 비트들 및 제1 패리티 비트들에 대응되는 제2 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  29. 제27항에 있어서,
    상기 디코딩 결과에 기초하여 패리티를 생성하는 단계는,
    상기 LDPC 디코딩에 의해 생성된 정보어 비트들 및 제1 패리티 비트들 중 적어도 하나에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 LDPC 디코딩에 의해 생성된 정보어 비트들에 에러가 존재하는지를 판단하는 것을 특징으로 하는 신호 처리 방법.
  30. 제29항에 있어서,
    상기 디코딩 결과에 기초하여 패리티를 생성하는 단계는,
    상기 정보어 비트들에 에러가 존재하는 경우, 상기 BCH 디코딩 결과에 기초하여 상기 정보어 비트들에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 제1 IPPC 식의 값을 플립핑하고, 상기 플립핑된 제1 IPPC 식의 값에 기초하여 제1 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  31. 제30항에 있어서,
    상기 디코딩 결과에 기초하여 패리티를 생성하는 단계는,
    상기 플립핑된 제1 IPPC 식의 값에 기초하여 생성된 제1 패리티 비트들과 상기 LDPC 디코딩에 의해 생성된 제1 패리티 비트들을 비교하여 상기 LDPC 디코딩에 의해 생성된 제1 패리티 비트들에서 에러가 발생된 비트의 위치를 판단하고, 상기 에러가 발생된 비트에 대응되는 제2 IPPC 식의 값을 플립핑하고, 상기 플립핑된 제2 IPPC 식의 값에 기초하여 정보어 비트들 및 제1 패리티 비트들에 대응되는 제2 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  32. 삭제
  33. 삭제
  34. 제21항에 있어서,
    상기 정보어 비트들을 생성하는 단계는,
    상기 제1 입력 신호를 디코딩하여 상기 정보어 비트들 및 패리티 비트들을 생성하며,
    상기 제1 출력 신호를 생성하는 단계는,
    CRC 코드에 기초하여 상기 정보어 비트들을 CRC 디코딩하여 상기 제1 출력 신호를 생성하는 단계;를 더 포함하는 것을 특징으로 하는 신호 처리 방법.
  35. 제34항에 있어서,
    상기 패리티 검사 행렬은, 이중 대각 행렬 구조를 갖는 패리티 부분 행렬을 포함하고,
    상기 정보어 비트들을 생성하는 단계는,
    상기 패리티 부분 행렬에 대응되는 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  36. 제35항에 있어서,
    상기 디코딩 결과에 기초하여 패리티를 생성하는 단계는,
    상기 LDPC 디코딩에 의해 생성된 코드워드에 에러가 존재하지만, 상기 CRC 디코딩 결과에 기초하여 정보어 비트들에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 정보어 비트들에 대한 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  37. 제34항에 있어서,
    상기 패리티 검사 행렬은, 이중 대각 행렬 구조를 갖는 제1 패리티 부분 행렬 및 단위 행렬 구조를 갖는 제2 패리티 부분 행렬을 포함하고,
    상기 정보어 비트들을 생성하는 단계는,
    상기 제1 패리티 부분 행렬에 대응되는 제1 패리티 비트들 및 상기 제2 패리티 부분 행렬에 대응되는 제2 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  38. 제37항에 있어서,
    상기 디코딩 결과에 기초하여 패리티를 생성하는 단계는,
    상기 LDPC 디코딩에 의해 생성된 정보어 비트들 및 제1 패리티 비트들 중 적어도 하나에 에러가 존재하지만, 상기 CRC 디코딩 결과에 기초하여 정보어 비트들에 에러가 존재하지 않는 경우, IPPC 식에 기초하여 상기 정보어 비트들에 대한 패리티 비트들을 생성하는 것을 특징으로 하는 신호 처리 방법.
  39. 삭제
  40. 삭제
KR1020150076544A 2015-05-29 2015-05-29 수신 장치 및 그의 신호 처리 방법 KR102397896B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020150076544A KR102397896B1 (ko) 2015-05-29 2015-05-29 수신 장치 및 그의 신호 처리 방법
US15/156,907 US10211949B2 (en) 2015-05-29 2016-05-17 Receiver and signal processing method thereof
PCT/KR2016/005638 WO2016195331A1 (en) 2015-05-29 2016-05-27 Receiver and signal processing method thereof
EP16803686.1A EP3304747B1 (en) 2015-05-29 2016-05-27 Reception of a layered division multiplexing signal with outer bch and inner ldpc code
CA2984479A CA2984479C (en) 2015-05-29 2016-05-27 Receiver and signal processing method thereof
MX2017015273A MX2017015273A (es) 2015-05-29 2016-05-27 Receptor y metodo de procesamiento de señal del mismo.
CN201680031119.2A CN107667494B (zh) 2015-05-29 2016-05-27 接收器及其信号处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150076544A KR102397896B1 (ko) 2015-05-29 2015-05-29 수신 장치 및 그의 신호 처리 방법

Publications (2)

Publication Number Publication Date
KR20160140209A KR20160140209A (ko) 2016-12-07
KR102397896B1 true KR102397896B1 (ko) 2022-05-13

Family

ID=57399184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150076544A KR102397896B1 (ko) 2015-05-29 2015-05-29 수신 장치 및 그의 신호 처리 방법

Country Status (7)

Country Link
US (1) US10211949B2 (ko)
EP (1) EP3304747B1 (ko)
KR (1) KR102397896B1 (ko)
CN (1) CN107667494B (ko)
CA (1) CA2984479C (ko)
MX (1) MX2017015273A (ko)
WO (1) WO2016195331A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3439209A4 (en) 2016-03-30 2019-04-17 Panasonic Intellectual Property Corporation of America RECEIVING DEVICE AND RECEIVING METHOD
WO2017170109A1 (ja) * 2016-03-30 2017-10-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 送信装置、受信装置、送信方法および受信方法
KR102616481B1 (ko) 2016-04-04 2023-12-21 삼성전자주식회사 수신 장치 및 그의 신호 처리 방법
JP6929852B2 (ja) * 2016-08-12 2021-09-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 受信装置および受信方法
KR102109015B1 (ko) * 2018-10-23 2020-05-11 네이버 주식회사 부분 접속 복구가 가능하고 중복 인코딩이 용이한 데이터 저장 방법 및 시스템
CN109639290B (zh) * 2018-11-29 2021-08-06 中山大学 一种半随机分组叠加编码及译码方法
EP4351007A2 (en) 2019-05-15 2024-04-10 Samsung Electronics Co., Ltd. Method and apparatus for decoding data in communication or broadcasting system
WO2021049888A1 (en) 2019-09-10 2021-03-18 Samsung Electronics Co., Ltd. Method and apparatus for data decoding in communication or broadcasting system
WO2021231240A1 (en) * 2020-05-11 2021-11-18 Intel Corporation Method and apparatus for point-to-multi-point communications using combined block and codeword interleaving
US20210399744A1 (en) * 2020-06-18 2021-12-23 Intel Corporation LDPC Decoder Apparatus, Device, System, Method and Computer Program
US11539557B1 (en) * 2021-12-16 2022-12-27 Qualcomm Incorporated Multi-level coding for power efficient channel coding
CN115225202B (zh) * 2022-03-01 2023-10-13 南京大学 一种级联译码方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732315B2 (en) * 2000-01-31 2004-05-04 Texas Instruments Incorporated Home networking over phone lines
US7095812B2 (en) * 2002-06-24 2006-08-22 Agere Systems Inc. Reduced complexity receiver for space-time- bit-interleaved coded modulation
JP4856605B2 (ja) 2006-08-31 2012-01-18 パナソニック株式会社 符号化方法、符号化装置、及び送信装置
US8064548B2 (en) * 2007-05-18 2011-11-22 Ntt Docomo, Inc. Adaptive MaxLogMAP-type receiver structures
JP5203717B2 (ja) * 2007-12-19 2013-06-05 パナソニック株式会社 符号器、復号器、符号化方法、及び、復号方法
JP5235629B2 (ja) * 2008-11-28 2013-07-10 株式会社日立製作所 無線通信装置の符号化及び変調方法、並びに復号方法
US9252813B2 (en) 2009-05-27 2016-02-02 Novelsat Ltd. Iterative decoding of LDPC codes with iteration scheduling
EP2525496A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2525497A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
EP2536030A1 (en) * 2011-06-16 2012-12-19 Panasonic Corporation Bit permutation patterns for BICM with LDPC codes and QAM constellations
US8775892B2 (en) * 2012-08-31 2014-07-08 Tyco Electronics Subsea Communications Llc System and method including modified bit-interleaved coded modulation with fractional secondary coding
US8924823B2 (en) * 2013-03-15 2014-12-30 Tyco Electronics Subsea Communications Llc System and method for cycle slip correction
KR102146803B1 (ko) * 2013-06-14 2020-08-21 삼성전자주식회사 패리티 검사 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
KR102284042B1 (ko) 2013-09-04 2021-07-30 삼성전자주식회사 송신 장치, 수신 장치 및 그 신호 처리 방법
KR102184834B1 (ko) * 2013-10-07 2020-12-01 한국전자통신연구원 길이가 64800이며, 부호율이 7/15인 ldpc 부호화기 및 이를 이용한 ldpc 부호화 방법
CN104113393A (zh) 2014-07-23 2014-10-22 电子科技大学 一种基于sim-ofdm的叠加编码调制方法

Also Published As

Publication number Publication date
US20160352462A1 (en) 2016-12-01
US10211949B2 (en) 2019-02-19
CN107667494B (zh) 2021-05-25
CA2984479A1 (en) 2016-12-08
CN107667494A (zh) 2018-02-06
WO2016195331A1 (en) 2016-12-08
EP3304747A4 (en) 2018-04-11
EP3304747A1 (en) 2018-04-11
MX2017015273A (es) 2018-02-19
EP3304747B1 (en) 2023-11-01
CA2984479C (en) 2020-02-25
KR20160140209A (ko) 2016-12-07

Similar Documents

Publication Publication Date Title
KR102397896B1 (ko) 수신 장치 및 그의 신호 처리 방법
CN111865497B (zh) 发送器及其产生附加奇偶校验的方法
US20220131639A1 (en) Transmitter and additional parity generating method thereof
CN107408949B (zh) 发送器及其产生附加奇偶校验的方法
KR102345604B1 (ko) 송신 장치 및 그의 패리티 퍼뮤테이션 방법
US10382059B2 (en) Transmitting apparatus, encoding method thereof, receiving apparatus, and decoding method thereof
CN112165335A (zh) 发送设备和接收设备
CN107592959B (zh) 发送设备
KR102616481B1 (ko) 수신 장치 및 그의 신호 처리 방법
CN111835463A (zh) 发送器及其分割方法
KR102567916B1 (ko) 송신 장치 및 그의 신호 처리 방법
CN107408952B (zh) 发送器及其缩减方法
CN107431565B (zh) 一种能够在多个模式中的一个模式下操作的发送设备
CN107409011B (zh) 发送器及其产生附加奇偶校验的方法
CN112235000A (zh) 发送设备和接收设备
CN107431568B (zh) 发送设备
CN112260800A (zh) 发送设备和接收设备
KR102547369B1 (ko) 수신 장치 및 그의 디코딩 방법
CA3080025C (en) Receiving apparatus and decoding method thereof
CN112217607B (zh) 发送方法和接收方法
KR102171176B1 (ko) 송신 장치 및 그의 펑처링 방법
KR102303819B1 (ko) 송신 장치 및 그의 펑처링 방법
CN107534521B (zh) 发送器及其缩减方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant