KR20080076613A - 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩방법 - Google Patents

연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩방법 Download PDF

Info

Publication number
KR20080076613A
KR20080076613A KR1020070016785A KR20070016785A KR20080076613A KR 20080076613 A KR20080076613 A KR 20080076613A KR 1020070016785 A KR1020070016785 A KR 1020070016785A KR 20070016785 A KR20070016785 A KR 20070016785A KR 20080076613 A KR20080076613 A KR 20080076613A
Authority
KR
South Korea
Prior art keywords
parity
data
product
product parity
error
Prior art date
Application number
KR1020070016785A
Other languages
English (en)
Inventor
김종훈
박의준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070016785A priority Critical patent/KR20080076613A/ko
Publication of KR20080076613A publication Critical patent/KR20080076613A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩 방법이 개시된다. 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코더는, 프로덕트 코드(Product Code) 방식에 의해 데이터에 대한 프로덕트 패리티를 생성하고, 데이터에 상기 생성된 프로덕트 패리티를 부가하는 프로덕트 패리티 부가부, 및 LDPC(Low Density Parity Check) 코드 방식에 의해 프로덕트 패리티가 부가된 데이터에 대한 LDPC 패리티를 생성하고, 프로덕트 패리티가 부가된 데이터에 부가된 프로덕트 패리티와 연접하도록 생성된 LDPC 패리티를 부가하는 LDPC 패리티 부가부를 포함한다. 이에 의해, 복호화 과정의 오류를 절감할 수 있다.
프로덕트, LDPC, 오류 정정, 패리티, 연접코드, 행 단위, 열 단위

Description

연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩 방법 {Encoder/decoder using concatenation code and method for encoding/decoding thereof}
도 1은 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코더의 블럭도,
도 2는 본 발명의 연접코드를 이용한 인코더에서 생성된 프레임 구조를 예시한 도면,
도 3은 본 발명의 연접코드를 이용한 인코더에서 프로덕트 패리티를 생성하는 절차의 제1 실시예를 설명하기 위한 도면,
도 4는 본 발명의 연접코드를 이용한 인코더에서 프로덕트 패리티를 생성하는 절차의 제2 실시예를 설명하기 위한 도면,
도 5는 본 발명의 연접코드를 이용한 인코더에서 프로덕트 패리티를 생성하는 절차의 제3 실시예를 설명하기 위한 도면,
도 6은 본 발명의 연접코드를 이용한 인코더에서 프로덕트 패리티를 생성하는 절차의 제4 실시예를 설명하기 위한 도면,
도 7은 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 디코더의 블럭도,
도 8은 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코딩 방법을 설명하기 위한 흐름도, 그리고,
도 9는 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 디코딩 방법을 설명하기 위한 흐름도이다.
* 도면의 주요부분에 대한 부호의 설명 *
100 : 인코더 110 : 프로덕트 패리티 부가부
120 : 인터리버 130 : LDPC 패리티 부가부
300 : 디코더 310 : LDPC 패리티 제거부
320 : 디인터리버 330 : 프로덕트 패리티 제거부
본 발명은 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩 방법에 관한 것으로, 더욱 상세하게는 LDPC 코드와 프로덕트 코드가 연접한 형태로 이루어지는 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩 방법에 관한 것이다.
저밀도 패리티 검사(Low Density Parity Check : 이하, "LDPC"라 한다) 코드는 1의 개수가 0의 개수에 비해 희박한 행렬을 오류 검출 행렬로 갖는 블록 부호를 말하는 것으로, 1962년 처음 제안되어 우수한 성능을 보여 주었으나, 당시 기술로는 대단히 높은 구현의 복잡도로 인하여 오랫동안 사용되지 못하였다.
최근 들어, 새로운 오류 정정 인코딩 방식인 LDPC 코딩 기술에 대한 관심이 급격하게 증가하고 있으며, 통신과 방송뿐만 아니라 HDD(Hard Disk Drive)를 포함하는 다양한 분야의 호스트에서 LDPC 코딩 기술을 적용하는 방안이 적극적으로 검토되고 있다.
이미 여러 어플리케이션(Application)들이 LDPC 코딩 기술을 표준으로 채택하였다. 예를 들면, IEEE 802.3an 태스크 포스는 트위스티드 페어에 대한 10Gbps 이더넷 구현을 위한 표준화 작업을 진행하면서 LDPC 코딩 기술을 적용하기로 합의하였으며, HDTV급 위성 디지털 방송을 위한 DVB-S2 표준안의 최종 드래프트에서도 LDPC 코딩 기술을 적용하기로 합의하였다.
IEEE 802.3an과 DVB-S2와 같은 단체들이 LDPC를 표준으로 채택한 이유는 LDPC가 보장하는 용량과 범위 때문이다. LDPC는 100m 거리에서 10Gbps 이더넷으로 트위스티드 페어에 대한 데이터 전송을 가능하게 하며, 양자 암호화처럼 SNR(Signal-to-Noise Ratio)이 현저하게 떨어지는 통신 환경에서도 양호한 오류 정정 성능을 구현한다. 이와 같이, LDPC 코딩 기술이 주목받고 있는 이유는 기존의 다른 오류 정정 기법들이 대부분 성능의 한계점에 도달했기 때문이다.
상술한 바와 같이, LDPC 코딩 기술은 여러 가지 장점이 있음에도 불구하고, LDPC 코드가 단독으로 사용되는 경우, 수신한 SNR의 값에 따라 패리티 비트들을 이용하여 정보(information) 비트들을 복호화(decoding)하는 과정에서 올바른 복호를 수행하지 못하는 문제점이 있다.
따라서, 본 발명의 목적은 LDPC 코드 및 프로덕트 코드를 이용하여 각각의 패리티를 연접한 형태로 부가함으로써, LDPC 코드의 단독 사용으로 인한 복호 과정의 에러를 해소할 수 있는 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩 방법을 제공하고자 하는데 있다.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코더는, 프로덕트 코드(Product Code) 방식에 의해 데이터에 대한 프로덕트 패리티를 생성하고, 데이터에 상기 생성된 프로덕트 패리티를 부가하는 프로덕트 패리티 부가부, 및 LDPC(Low Density Parity Check) 코드 방식에 의해 프로덕트 패리티가 부가된 데이터에 대한 LDPC 패리티를 생성하고, 프로덕트 패리티가 부가된 데이터에 부가된 프로덕트 패리티와 연접하도록 생성된 LDPC 패리티를 부가하는 LDPC 패리티 부가부를 포함한다.
바람직하게, 프로덕트 패리티 부가부는, 데이터의 행(Row) 단위로 제1 프로덕트 패리티를 생성하여 부가하고, 데이터의 열(Column) 단위로 제2 프로덕트 패리티를 생성하여 부가할 수 있다.
또한 바람직하게, 프로덕트 패리티 부가부는, 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 데이터에 부가하고, 제1 프로덕트 패리티가 부가된 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 제1 프로덕트 패리티가 부가된 데이터에 부가할 수 있다.
또한 바람직하게, 프로덕트 패리티 부가부는, 데이터의 열 단위로 제1 프로 덕트 패리티를 생성하여 데이터에 부가하고, 제1 프로덕트 패리티가 부가된 데이터의 행 단위로 제2 프로덕트 패리티를 생성하여 제1 프로덕트 패리티가 부가된 데이터에 부가하는 것을 특징으로 하는 연접코드를 이용한 인코더.
또한 바람직하게, 프로덕트 패리티 부가부는, 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 데이터에 부가하고, 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 데이터에 부가하며, 생성된 제1 및 제2 프로덕트 패리티에 대한 제3 프로덕트 패리티를 생성하여 제1 및 제2 프로덕트 패리티가 부가된 데이터에 부가할 수 있다.
또한 바람직하게, 프로덕트 패리티 부가부는, 블럭(Block) 코드를 이용하여 상기 프로덕트 패리티를 생성할 수 있다. 여기서, 블럭 코드는 BCH(Bose-Chaudhuri-Hocquenghen) 코드, 및 RS(Reed-Solomon) 코드 중 어느 하나일 수 있다.
또한 바람직하게, 프로덕트 패리티가 부가된 데이터에 대한 인터리빙을 수행하는 인터리버를 더 포함할 수 있다.
한편, 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 디코더는, 프로덕트 패리티 및 LDPC(Low Density Parity Check) 패리티가 부가된 데이터로부터 LDPC 패리티를 이용하여 데이터 및 프로덕트 패리티에 대한 에러를 정정하고, LDPC 패리티를 제거하는 LDPC 패리티 제거부, 및 LDPC 패리티가 제거된 데이터로부터 프로덕트 패리티를 이용하여 데이터에 대한 에러를 정정하고, 프로덕트 패리티를 제거하는 프로덕트 패리티 제거부를 포함한다.
바람직하게, 프로덕트 패리티 제거부는, 프로덕트 패리티 중 데이터의 행 단 위로 생성된 제1 프로덕트 패리티에 의해 데이터의 행 단위로 에러를 정정하고, 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 의해 데이터의 열 단위로 에러를 정정할 수 있다.
또한 바람직하게, 프로덕트 패리티 제거부는, 프로덕트 패리티 중 데이터의 행 단위로 생성된 제1 프로덕트 패리티 및 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 의해 제1 프로덕트 패리티 및 데이터의 에러를 정정하고, 제1 프로덕트 패리티에 의해 데이터의 행 단위로 에러를 정정할 수 있다.
또한 바람직하게, 프로덕트 패리티 제거부는, 프로덕트 패리티 중 데이터의 열 단위로 생성된 제1 프로덕트 패리티 및 데이터의 행 단위로 생성된 제2 프로덕트 패리티에 의해 제1 프로덕트 패리티 및 데이터의 에러를 정정하고, 제1 프로덕트 패리티에 의해 데이터의 열 단위로 에러를 정정할 수 있다.
또한 바람직하게, 프로덕트 패리티 제거부는, 프로덕트 패리티 중 데이터의 행 단위로 생성된 제1 프로덕트 패리티 및 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 대해 생성된 제3 프로덕트 패리티에 의해 제1 및 제2 프로덕트 패리티의 에러를 정정하고, 제1 프로덕트 패리티에 의해 데이터의 행 단위로 에러를 정정하며, 제2 프로덕트 패리티에 의해 데이터의 열 단위로 에러를 정정할 수 있다.
또한 바람직하게, LDPC 패리티가 제거된 데이터에 대한 디인터리빙을 수행하는 디인터리버를 더 포함할 수 있다.
한편, 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코딩 방법은, 프로덕트 코드(Product Code) 방식에 의해 데이터에 대한 프로덕트 패리티를 생성 하고, 데이터에 생성된 프로덕트 패리티를 부가하는 단계, 및 LDPC(Low Density Parity Check) 코드 방식에 의해 프로덕트 패리티가 부가된 데이터에 대한 LDPC 패리티를 생성하고, 프로덕트 패리티가 부가된 데이터에 부가된 프로덕트 패리티와 연접하도록 생성된 LDPC 패리티를 부가하는 단계를 포함한다.
바람직하게, 프로덕트 패리티를 부가하는 단계는, 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 부가하는 단계, 및 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 부가하는 단계를 포함할 수 있다.
또한 바람직하게, 프로덕트 패리티를 부가하는 단계는, 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 데이터에 부가하는 단계, 및 제1 프로덕트 패리티가 부가된 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 부가하는 단계를 포함할 수 있다.
또한 바람직하게, 프로덕트 패리티를 부가하는 단계는, 데이터의 열 단위로 제1 프로덕트 패리티를 생성하여 데이터에 부가하는 단계, 및 제1 프로덕트 패리티가 부가된 데이터의 행 단위로 제2 프로덕트 패리티를 생성하여 제1 프로덕트 패리티가 부가된 데이터에 부가하는 단계를 포함할 수 있다.
또한 바람직하게, 프로덕트 패리티를 부가하는 단계는, 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 데이터에 부가하는 단계, 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 제1 프로덕트 패리티가 부가된 데이터에 부가하는 단계, 및 생성된 제1 및 제2 프로덕트 패리티에 대한 제3 프로덕트 패리티를 생성하여 제1 및 제2 프로덕트 패리티가 부가된 데이터에 부가하는 단계를 포함할 수 있 다.
또한 바람직하게, 프로덕트 패리티가 부가된 데이터에 대한 인터리빙을 수행하는 단계를 더 포함할 수 있다.
한편, 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 디코딩 방법은, 프로덕트 패리티 및 LDPC(Low Density Parity Check) 패리티가 부가된 데이터로부터 LDPC 패리티를 이용하여 데이터 및 프로덕트 패리티에 대한 에러를 정정하는 단계, LDPC 패리티를 제거하는 단계, LDPC 패리티가 제거된 데이터로부터 프로덕트 패리티를 이용하여 데이터에 대한 에러를 정정하는 단계, 및 프로덕트 패리티를 제거하는 단계를 포함한다.
바람직하게, 데이터에 대한 에러를 정정하는 단계는, 프로덕트 패리티 중 데이터의 행 단위로 생성된 제1 프로덕트 패리티에 의해 데이터의 행 단위로 에러를 정정하는 단계, 및 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 의해 데이터의 열 단위로 에러를 정정하는 단계를 포함할 수 있다.
또한 바람직하게, 데이터에 대한 에러를 정정하는 단계는, 프로덕트 패리티 중 데이터의 행 단위로 생성된 제1 프로덕트 패리티 및 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 의해 제1 프로덕트 패리티 및 데이터의 에러를 정정하는 단계, 및 제1 프로덕트 패리티에 의해 데이터의 행 단위로 에러를 정정하는 단계를 포함할 수 있다.
또한 바람직하게, 데이터에 대한 에러를 정정하는 단계는, 프로덕트 패리티 중 데이터의 열 단위로 생성된 제1 프로덕트 패리티 및 데이터의 행 단위로 생성된 제2 프로덕트 패리티에 의해 제1 프로덕트 패리티 및 데이터의 에러를 정정하는 단계, 및 제1 프로덕트 패리티에 의해 데이터의 열 단위로 에러를 정정하는 단계를 포함할 수 있다.
또한 바람직하게, 데이터에 대한 에러를 정정하는 단계는, 프로덕트 패리티 중 데이터의 행 단위로 생성된 제1 프로덕트 패리티 및 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 대해 생성된 제3 프로덕트 패리티에 의해 제1 및 제2 프로덕트 패리티의 에러를 정정하는 단계, 제1 프로덕트 패리티에 의해 데이터의 행 단위로 에러를 정정하는 단계, 및 제2 프로덕트 패리티에 의해 데이터의 열 단위로 에러를 정정하는 단계를 포함할 수 있다.
또한 바람직하게, LDPC 패리티가 제거된 데이터에 대한 디인터리빙을 수행하는 단계를 더 포함할 수 있다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코더의 블럭도이다.
도 1을 참조하면, 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코더(100)는 프로덕트 패리티 부가부(110), 인터리버(120), 및 LDPC 패리티 부가부(130)를 포함한다.
본 인코더(100)는 프로덕트 코드 방식(Product Code)에 의해 생성되는 패리티와 LDPC(Low Density Parity Check) 코드 방식에 의해 생성되는 패리티가 연접한 형태로 이루어지도록 패리티를 형성하는 것으로, 본 실시예에서는 프로덕트 코드 방식에 의해 생성되는 패리티를 프로덕트 패리티라고 하며, LDPC 코드 방식에 의해 생성되는 패리티를 LDPC 패리티라고 한다.
프로덕트 패리티 부가부(110)는 프로덕트 코드 방식에 의해 데이터에 대한 프로덕트 패리티를 생성하고, 생성된 프로덕트 패리티를 데이터에 부가한다. 여기서, 프로덕트 패리티 부가부(110)는 블럭(Block) 코드를 이용하여 프로덕트 패리티를 생성할 수 있으며, 블럭 코드는 BCH(Bose-Chaudhuri-Hocquenghen) 코드, 및 RS(Reed-Solomon) 코드 중 어느 하나일 수 있다. BCH 코드는 비트(bit) 단위의 코드이며, RS 코드는 바이트(byte) 단위의 코드이다.
프로덕트 코드 방식은 데이터의 행(Row) 및 열(Column) 단위로 각각의 패리티를 생성할 수 있는 코딩 방식이다. 본 인코더(100)의 프로덕트 패리티 부가부(110)는 하기의 프로덕트 패리티 생성 방법 중 하나를 선택하여 프로덕트 패리티를 생성할 수 있다.
첫째로, 프로덕트 패리티 부가부(110)는 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 부가하고, 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 부가할 수 있다.
둘째로, 프로덕트 패리티 부가부(110)는 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 데이터에 부가하고, 제1 프로덕트 패리티가 부가된 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 상기 제1 프로덕트 패리티가 부가된 데이터에 부가할 수 있다. 여기서, 제2 프로덕트 패리티는 데이터 및 제1 프로덕트 패리티에 대한 패리티이다.
셋째로, 프로덕트 패리티 부가부(110)는 데이터의 열 단위로 제1 프로덕트 패리티를 생성하여 데이터에 부가하고, 상기 제1 프로덕트 패리티가 부가된 데이터의 행 단위로 제2 프로덕트 패리티를 생성하여 제1 프로덕트 패리티가 부가된 데이터에 부가할 수 있다. 여기서, 제2 프로덕트 패리티는 데이터 및 제1 프로덕트 패리티에 대한 패리티이다.
넷째로, 프로덕트 패리티 부가부(110)는 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 데이터에 부가하고, 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 데이터에 부가하며, 기생성된 제1 및 제2 프로덕트 패리티에 대한 제3 프로덕트 패리티를 생성하여 제1 및 제2 프로덕트 패리티가 생성된 데이터에 부가할 수 있다. 여기서, 제3 프로덕트 패리티는 제1 및 제2 프로덕트 패리티의 행 단위 혹은 열 단위로 생성될 수 있다.
상술한 바와 같이, 프로덕트 패리티 부가부(110)는 제1 및 제2 프로덕트 패리티는 필수적으로 생성을 하며, 선택적으로 제3 프로덕트 패리티를 생성할 수 있다. 프로덕트 패리티 부가부(110)에 관하여는 후술하는 도 3 내지 도 6에서 보다 상세히 설명한다.
인터리버(120)는 프로덕트 패리티 부가부(110)에 의해 프로덕트 패리티가 부가된 데이터에 대한 인터리빙을 수행한다. 인터리빙은 후술하는 디코더의 복호화 과정에서 버스트 에러(Burst error)에 대한 위험성을 줄이기 위해 사용되는 기술이다.
인터리버(120)는 블럭(Block) 인터리버, 랜덤(Random) 인터리버, S-랜덤 인 터리버, 대각(Helical) 인터리버, 오드-이븐(Odd-even) 인터리버, PN 인터리버, 넌유니폼(Nonuniform) 인터리버, 및 GF(Galois Field) 인터리버와 같은 다양한 인터리버가 사용될 수 있다.
LDPC 패리티 부가부(130)는 프로덕트 패리티 부가부(110)에 의해 프로덕트 패리티가 부가되고 인터리버(120)에서 인터리빙된 데이터에 대하여, LDPC 코드 방식에 의해 LDPC 패리티를 생성하여 부가한다. LDPC 패리티 부가부(130)는 LDPC 패리티를 생성한 후, 프로덕트 패리티 부가부(110)에 의해 데이터에 부가된 프로덕트 패리티와 연접하도록 LDPC 패리티를 부가한다.
도 2는 도 1에 도시한 연접코드를 이용한 인코더에서 생성된 프레임 구조를 예시한 도면이다.
도 2에 도시한 프레임(200)의 구조를 살펴보면, 프로덕트 패리티 부가부(110)는 데이터(210)의 행 단위로 제1 프로덕트 패리티(220)를 생성하여 데이터(210)의 행 방향 후단에 제1 프로덕트 패리티(220)를 부가하였으며, 데이터(210)의 열 단위로 제2 프로덕트 패리티(230)를 생성하여 데이터(210)의 열 방향 후단에 제2 프로덕트 패리티(230)를 부가하였다.
또한, 프로덕트 패리티 부가부(110)는 기생성된 제1 및 제2 프로덕트 패리티(220, 230)에 대한 제3 프로덕트 패리티(240)를 생성하여, 제1 및 제2 프로덕트 패리티(220, 230)에 연속될 수 있는 위치에 제3 프로덕트 패리티(240)를 부가하였다.
프로덕트 패리티 부가부(110)에 의해 제1 내지 제3 프로덕트 패리티(220, 230, 240)가 생성되어 부가된 후, LDPC 패리티 부가부(130)는 제1 내지 제3 프로덕트 패리티(220, 230, 240) 및 데이터(210)를 하나의 데이터로 인식한 상태에서 LDPC 패리티(250)를 생성하고, 데이터(210)의 행 방향으로 제1 프로덕트 패리티(220)의 후단에 LDPC 패리티(250)를 부가한다.
이러한 구조의 프레임(200)은 패킷 단위로 송신된다. 프레임(200)이 패킷 단위로 송신되면, 수신측의 디코더에서는 LDPC 패리티(250)를 데이터(210) 및 제1 내지 제3 프로덕트 패리티(220, 230, 240)의 에러 정정에 이용할 수 있으며, 제1 내지 제3 프로덕트 패리티(220, 230, 240)를 데이터(210)의 에러 정정에 이용할 수 있다. 이때, 프로덕트 패리티 즉, 제1 내지 제3 프로덕트 패리티(220, 230, 240)는 코드의 특성상 자신의 비트에 대한 에러 정정도 가능할 수 있다.
도 3은 본 발명의 연접코드를 이용한 인코더에서 프로덕트 패리티를 생성하는 절차의 제1 실시예를 설명하기 위한 도면이다. 본 실시예에서는 설명의 편의상, 제1 프로덕트 패리티를 P1이라 하고, 제2 프로덕트 패리티를 P2라 한다.
(a)는 인코더(100)에 입력되는 데이터(210)를 도시한 것이다. (a)에 도시한 바와 같은 데이터(210)가 인코더(100)에 입력되면, 프로덕트 패리티 부가부(110)는 데이터(210)의 행 단위로 P1을 생성하고, (b)에 도시한 바와 같이 데이터(210)의 행 방향 후단에 P1을 부가한다. P1은 수신측의 디코더에서 행 단위로 데이터(210)의 에러 정정에 사용된다.
이후, 프로덕트 패리티 부가부(110)는 데이터(210)의 열 단위로 P2를 생성하고, (c)에 도시한 바와 같이 데이터(210)의 열 방향 후단에 P2를 부가한다. P2는 수신측의 디코더에서 열 단위로 데이터(210)의 에러 정정에 사용된다.
도 4는 본 발명의 연접코드를 이용한 인코더에서 프로덕트 패리티를 생성하는 절차의 제2 실시예를 설명하기 위한 도면이다. 본 실시예에서는 설명의 편의상, 제1 프로덕트 패리티를 P1이라 하고, 제2 프로덕트 패리티를 P2라 한다.
(a)는 인코더(100)에 입력되는 데이터(210)를 도시한 것이다. (a)에 도시한 바와 같은 데이터(210)가 인코더(100)에 입력되면, 프로덕트 패리티 부가부(110)는 데이터(210)의 행 단위로 P1을 생성하고, (b)에 도시한 바와 같이 데이터(210)의 행 방향 후단에 P1을 부가한다. P1은 수신측의 디코더에서 행 단위로 데이터(210)의 에러 정정에 사용된다.
이후, 프로덕트 패리티 부가부(110)는 P1이 부가된 데이터의 열 방향으로 P2를 생성한다. 즉, P2는 P1과 데이터(210)를 하나의 데이터로 인식하여 생성된 것으로, P1 및 데이터(210)에 대한 패리티이다. 프로덕트 패리티 부가부(110)는 (c)에 도시한 바와 같이, P2를 데이터(210)의 열 방향 후단에 부가한다. P2는 P1이 부가된 데이터에 대한 패리티이므로, 수신측의 디코더에서 열 단위로 데이터(210) 및 P1의 에러 정정에 사용된다.
도 5는 본 발명의 연접코드를 이용한 인코더에서 프로덕트 패리티를 생성하는 절차의 제3 실시예를 설명하기 위한 도면이다. 본 실시예에서는 설명의 편의상, 제1 프로덕트 패리티를 P1이라 하고, 제2 프로덕트 패리티를 P2라 한다.
(a)는 인코더(100)에 입력되는 데이터(210)를 도시한 것이다. (a)에 도시한 바와 같은 데이터(210)가 인코더(100)에 입력되면, 프로덕트 패리티 부가부(110)는 데이터(210)의 열 단위로 P1을 생성하고, (b)에 도시한 바와 같이 데이터(210)의 열 방향 후단에 P1을 부가한다.
이후, 프로덕트 패리티 부가부(110)는 (b)와 같이 P1이 부가된 데이터의 행 단위로 P2를 생성하고, P1이 부가된 데이터의 행 방향 후단에 P2를 부가한다. 여기서, P2는 데이터(210) 및 P1을 하나의 데이터로 인식하여 생성된 것으로, P2는 데이터(210) 및 P1에 대한 패리티이므로, 수신측의 디코더에서 행 단위로 데이터(210) 및 P1의 에러 정정에 사용된다.
도 6은 본 발명의 연접코드를 이용한 인코더에서 프로덕트 패리티를 생성하는 절차의 제4 실시예를 설명하기 위한 도면이다. 본 실시예에서는 설명의 편의상, 제1 프로덕트 패리티를 P1이라 하고, 제2 프로덕트 패리티를 P2라 하며, 제3 프로덕트 패리티를 P3라 한다.
(a)는 인코더(100)에 입력되는 데이터(210)를 도시한 것이다. (a)에 도시한 바와 같은 데이터(210)가 인코더(100)에 입력되면, 프로덕트 패리티 부가부(110)는 데이터(210)의 행 단위로 P1을 생성하고, 데이터(210)의 행 방향의 후단에 P1을 부가한다.
또한, 프로덕트 패리티 부가부(110)는 데이터(210)의 열 단위로 P2를 생성하고, 데이터(210)의 열 방향의 후단에 P2를 부가한다. 여기서, P1을 먼저 생성한 후 P2를 생성하는 것을 예로 들었으나, 이는 반드시 여기에 한정되지 않는다. 즉, 데이터(210)의 열 단위의 패리티인 P2를 먼저 생성하고, 데이터(210)의 행 단위의 패리티인 P1을 생성할 수 있다.
이후, 기생성된 P1 및 P2에 대한 패리티인 P3를 생성한다. P3는 P1 및 P2를 행 방향 혹은 열 방향으로 서로 연접시킨 상태에서 P1 및 P2의 행 단위 혹은 열 단위로 생성될 수 있다.
보다 구체적으로 살펴보면, (d)는 P1과 P2를 행 방향으로 서로 연접시킨 상태에서, P1과 P2를 하나의 데이터로 인식하여 행 단위로 P1 및 P2에 대한 P3를 생성하는 것을 예시한 것이다. 또한, (e)는 P1과 P2를 열 방향으로 서로 연접시킨 상태에서, P1과 P2를 하나의 데이터로 인식하여 열 단위로 P1 및 P2에 대한 P3를 생성하는 것을 예시한 것이다.
이와 같이, 프로덕트 패리티 부가부(110)는 P1 및 P2에 대하여 행 단위 혹은 열 단위로 P3를 생성하고, (f)에 도시한 바와 같이 P1 및 P2와 연접할 수 있는 위치에 P3를 부가한다.
도 7은 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 디코더의 블럭도이다.
도 7을 참조하면, 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 디코더(300)는 LDPC 패리티 제거부(310), 디인터리버(320), 및 프로덕트 패리티 제거부(330)를 포함한다.
디코더(300)는 인코더(100)에 의해 인코딩된 데이터에 대한 디코딩을 수행하는 것으로, 본 디코더(300)에 입력되는 데이터는 프로덕트 패리티 및 LDPC 패리티가 연접한 형태로 부가된 데이터이다. 이때, 디코더(300)에 입력되는 데이터는 도 2에 도시한 프레임(200)의 형태일 수 있다.
LDPC 패리티 제거부(310)는 디코더(300)로 입력된 패리티가 부가된 데이터에 부가되어 있는 LDPC 패리티(250)를 이용하여 데이터(210) 및 프로덕트 패리티에 대한 에러를 정정하며, 에러 정정 후 LDPC 패리티(250)를 제거한다.
디인터리버(320)는 인코더(100)에서 수행되는 인터리빙의 역과정인 디인터리빙을 수행하는 것으로, LDPC 패리티 제거부(310)에서 LDPC 패리티(250)가 제거된 데이터에 대한 디인터리빙을 수행한다.
프로덕트 패리티 제거부(330)는 LDPC 패리티 제거부(310)에 의해 LDPC 패리티(250)가 제거되고 디인터리버(320)에 의해 디인터리빙된 데이터에 부가되어 있는 프로덕트 패리티에 의해 데이터에 대한 에러를 정정하며, 에러 정정 후 프로덕트 패리티를 제거한다.
도 3에 예시한 형태로 P1 및 P2가 부가된 데이터가 입력되면, 프로덕트 패리티 제거부(330)는 P1에 의해 데이터(210)의 행 단위로 에러를 정정하고, P2에 의해 데이터(210)의 열 단위로 에러를 정정한다. 이후, 프로덕트 패리티 제거부(330)는 P1 및 P2를 제거한다.
도 4에 예시한 형태로 P1 및 P2가 부가된 데이터가 입력되면, 프로덕트 패리티 제거부(330)는 P2에 의해 데이터(210) 및 P1의 열 단위로 에러를 정정하고, P1에 의해 데이터(210)의 행 단위로 에러를 정정한다. 이후, 프로덕트 패리티 제거부(330)는 P1 및 P2를 제거한다.
도 5에 예시한 형태로 P1 및 P2가 부가된 데이터가 입력되면, 프로덕트 패리티 제거부(330)는 P2에 의해 데이터(210) 및 P1의 행 단위로 에러를 정정하고, P1 에 의해 데이터의 열 단위로 에러를 정정한다. 이후, 프로덕트 패리티 제거부(330)는 P1 및 P2를 제거한다.
도 6에 예시한 형태로 P1, P2, 및 P3가 부가된 데이터가 입력되면, 프로덕트 패리티 제거부(330)는 P3에 의해 P1 및 P2의 행 단위 혹은 열 단위로 에러를 정정하고, P2에 의해 데이터(210)의 열 단위로 에러를 정정하며, P1에 의해 데이터(210)의 행 단위로 에러를 정정한다. 이때, P1에 의한 데이터(210)의 행 단위 에러 정정 및 P2에 의한 데이터(210)의 열단위 에러 정정은 그 순서가 변경될 수 있다. 이후, 프로덕트 패리티 제거부(330)는 P1 P2, 및 P3를 제거한다.
프로덕트 패리티 제거부(330)는 프로덕트 패리티를 이용하여 데이터(210)를 정정할 때, 데이터(210)의 행 및 열 단위로 에러 정정을 반복적으로 수행하는 것이 바람직하다. 데이터(210)의 행 및 열 단위로 에러 정정이 반복적으로 이루어지면, 이전의 에러 정정 단계에서 패킷들의 일부가 정정될 수 있고, 이로 인해 에러의 수가 감소한 상태에서 다음의 에러 정정이 이루어지기 때문에, 이전에 에러가 정정되지 못한 패킷들에 대하여도 에러 정정이 이루어질 수 있다.
도 8은 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코딩 방법을 설명하기 위한 흐름도이다.
여기에서는 도 1, 도 2, 및 도 8을 참조하여, 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 인코더(100)에서의 인코딩 방법을 설명한다.
프로덕트 패리티 부가부(110)는 데이터(210)에 대한 프로덕트 패리티를 생성하고(S400), 생성한 프로덕트 패리티를 데이터에 부가한다(S410). 이때, 프로덕트 패리티 부가부(110)는 도 3 내지 도 6에 도시한 형태 중 하나에 의해 프로덕트 패리티를 생성하여 데이터(210)에 부가할 수 있다. 도 2에 도시한 프레임(200)은 도 6에 도시한 형태에 의해 생성된 프로덕트 패리티를 포함하는 것으로, 제1 내지 제3 프로덕트 패리티(220, 230, 240)을 포함한다.
프로덕트 패리티 부가부(110)에 의해 데이터(210)에 제1 내지 제3 프로덕트 패리티(220, 230, 240)가 부가되면, 인터리버(120)는 프로덕트 패리티가 부가된 데이터의 인터리빙을 수행한다(S420).
이후, LDPC 패리티 부가부(130)는 인터리빙된 프로덕트 패리티가 부가된 데이터에 대한 LDPC 패리티를 생성하고(S430), 생성된 LDPC 패리티를 제1 내지 제3 프로덕트 패리티(220, 230, 240)가 부가된 데이터의 행 방향 후단에 제1 내지 제3 프로덕트 패리티(220, 230, 240)와 연접하도록 부가한다(S440).
도 9는 본 발명의 바람직한 실시예에 따른 연접코드를 이용한 디코딩 방법을 설명하기 위한 흐름도이다.
LDPC 패리티 제거부(310)는 패리티가 부가된 데이터에 부가되어 있는 LDPC 패리티를 이용하여 데이터 및 프로덕트 패리티에 대한 에러를 정정하고(S500), LDPC 패리티를 제거한다(S510).
디인터리버(320)는 LDPC 패리티 제거부(310)에 의해 LDPC 패리티가 제거된 데이터에 대한 디인터리빙을 수행한다(S520).
프로덕트 패리티 제거부(330)는 LDPC 패리티가 제거되고 디인터리빙이 수행된 데이터에 부가되어 있는 프로덕트 패리티를 이용하여 데이터에 대한 에러를 정 정하고(S530), 데이터에 부가되어 있는 프로덕트 패리티를 제거한다(S540).
디코더(300)에 도 2에 예시한 프레임(200)이 입력되었다고 하면, S530 단계에서는 제3 프로덕트 패리티(240)에 의해 제1 및 제2 프로덕트 패리티(220, 230)의 에러를 정정한 후, 제1 및 제2 프로덕트 패리티(220, 230)에 의해 데이터(210)의 에러를 정정한다.
프로덕트 패리티 제거부(330)에서 프로덕트 패리티를 이용하여 데이터에 대한 에러를 정정할 때, 열 단위 및 행 단위로의 복호화 과정은 수 차례 반복적으로 수행될 수 있다.
예를 들어, 도 2에 도시한 형태의 프레임(200) 구조를 갖는 데이터가 입력되었다고 하면, 첫 번째 열 및 행에 대한 복호화 과정이 수행되었을 때, 프레임(200) 내의 패킷마다 프로덕트 코드의 에러 정정 능력 범위 내에서 에러 정정이 수행된다.
그러나, 프로덕트 코드의 에러 정정 능력을 벗어난 에러가 발생한 패킷에 대하여는 에러 정정을 수행하지 않고 에러가 있는 상태를 그대로 두어 복호화 과정을 수행하지 않는다.
즉, 첫 번째 행 혹은 열에 대한 프로덕트 코드의 복호화 과정이 수행되면, 프레임(200) 내에서 에러 정정 능력을 벗어나서 정정이 되지 않은 패킷 및 에러 정정 능력 범위 내에 있어 에러가 정정된 패킷들이 존재하게 된다.
이에 의해, 행 혹은 열에 대한 프로덕트 코드의 복호화 과정이 수행될 때, 프레임(200) 내에 행에 대한 복호화 과정에서 정정된 패킷들이 존재하거나 혹은 패 킷 내에서의 에러가 줄어들게 되기 때문에, 열에 대한 복호화 과정에서 에러를 정정해야 할 패킷의 수가 감소할 수 있다.
이와 같이 행 및 열에 대한 복호화 과정이 수행되고, 두번째, 세번째 행 혹은 열에 대한 복호화 과정이 수행될 때에는 이전의 복호화 과정에서 패킷들의 일부 에러가 정정되어 에러의 수가 감소하기 때문에, 이전 순서의 복호화 과정에서 정정되지 못한 패킷의 에러들에 대해서도 추가적인 에러 정정이 이루어질 수 있다. 이러한 반복적인 복호화 과정을 수행함으로써, 에러 정정의 성능을 개선할 수 있다.
이상 설명한 바와 같이, 본 발명에 따른 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩 방법은 LDPC 코드 및 프로덕트 코드를 서로 연접한 형태로 부가함으로써, LDPC 코드의 단독 사용으로 인한 복호 과정의 에러를 해소할 수 있다. 즉, 디코더의 복호화 과정에서 올바른 복호를 수행할 수 있도록 함으로 인하여, 복호화 과정에서의 에러 발생을 해소할 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시예들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (28)

  1. 프로덕트 코드(Product Code) 방식에 의해 데이터에 대한 프로덕트 패리티를 생성하고, 상기 데이터에 상기 생성된 프로덕트 패리티를 부가하는 프로덕트 패리티 부가부; 및
    LDPC(Low Density Parity Check) 코드 방식에 의해 상기 프로덕트 패리티가 부가된 데이터에 대한 LDPC 패리티를 생성하고, 상기 프로덕트 패리티가 부가된 데이터에 상기 부가된 프로덕트 패리티와 연접하도록 상기 생성된 LDPC 패리티를 부가하는 LDPC 패리티 부가부;를 포함하는 것을 특징으로 하는 연접코드를 이용한 인코더.
  2. 제 1 항에 있어서,
    상기 프로덕트 패리티 부가부는, 상기 데이터의 행(Row) 단위로 제1 프로덕트 패리티를 생성하여 부가하고, 상기 데이터의 열(Column) 단위로 제2 프로덕트 패리티를 생성하여 부가하는 것을 특징으로 하는 연접코드를 이용한 인코더.
  3. 제 1 항에 있어서,
    상기 프로덕트 패리티 부가부는, 상기 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 상기 데이터에 부가하고, 상기 제1 프로덕트 패리티가 부가된 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 상기 제1 프로덕트 패리티가 부 가된 데이터에 부가하는 것을 특징으로 하는 연접코드를 이용한 인코더.
  4. 제 1 항에 있어서,
    상기 프로덕트 패리티 부가부는, 상기 데이터의 열 단위로 제1 프로덕트 패리티를 생성하여 상기 데이터에 부가하고, 상기 제1 프로덕트 패리티가 부가된 데이터의 행 단위로 제2 프로덕트 패리티를 생성하여 상기 제1 프로덕트 패리티가 부가된 데이터에 부가하는 것을 특징으로 하는 연접코드를 이용한 인코더.
  5. 제 1 항에 있어서,
    상기 프로덕트 패리티 부가부는, 상기 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 상기 데이터에 부가하고, 상기 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 상기 데이터에 부가하며, 상기 생성된 제1 및 제2 프로덕트 패리티에 대한 제3 프로덕트 패리티를 생성하여 상기 제1 및 제2 프로덕트 패리티가 부가된 데이터에 부가하는 것을 특징으로 하는 연접코드를 이용한 인코더.
  6. 제 1 항에 있어서,
    상기 프로덕트 패리티 부가부는, 블럭(Block) 코드를 이용하여 상기 프로덕트 패리티를 생성하는 것을 특징으로 하는 연접코드를 이용한 인코더.
  7. 제 6 항에 있어서,
    상기 블럭 코드는, BCH(Bose-Chaudhuri-Hocquenghen) 코드, 및 RS(Reed-Solomon) 코드 중 어느 하나인 것을 특징으로 하는 연접코드를 이용한 인코더.
  8. 제 1 항에 있어서,
    상기 프로덕트 패리티가 부가된 데이터에 대한 인터리빙을 수행하는 인터리버;를 더 포함하는 것을 특징으로 하는 연접코드를 이용한 인코더.
  9. 프로덕트 패리티 및 LDPC(Low Density Parity Check) 패리티가 부가된 데이터로부터 상기 LDPC 패리티를 이용하여 상기 데이터 및 상기 프로덕트 패리티에 대한 에러를 정정하고, 상기 LDPC 패리티를 제거하는 LDPC 패리티 제거부; 및
    상기 LDPC 패리티가 제거된 데이터로부터 상기 프로덕트 패리티를 이용하여 상기 데이터에 대한 에러를 정정하고, 상기 프로덕트 패리티를 제거하는 프로덕트 패리티 제거부;를 포함하는 것을 특징으로 하는 연접코드를 이용한 디코더.
  10. 제 9 항에 있어서,
    상기 프로덕트 패리티 제거부는, 상기 프로덕트 패리티 중 상기 데이터의 행 단위로 생성된 제1 프로덕트 패리티에 의해 상기 데이터의 행 단위로 에러를 정정하고, 상기 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 의해 상기 데이터의 열 단위로 에러를 정정하는 것을 특징으로 하는 연접코드를 이용한 디코더.
  11. 제 9 항에 있어서,
    상기 프로덕트 패리티 제거부는, 상기 프로덕트 패리티 중 상기 데이터의 행 단위로 생성된 제1 프로덕트 패리티 및 상기 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 의해 상기 제1 프로덕트 패리티 및 상기 데이터의 에러를 정정하고, 상기 제1 프로덕트 패리티에 의해 상기 데이터의 행 단위로 에러를 정정하는 것을 특징으로 하는 연접코드를 이용한 디코더.
  12. 제 9 항에 있어서,
    상기 프로덕트 패리티 제거부는, 상기 프로덕트 패리티 중 상기 데이터의 열 단위로 생성된 제1 프로덕트 패리티 및 상기 데이터의 행 단위로 생성된 제2 프로덕트 패리티에 의해 상기 제1 프로덕트 패리티 및 상기 데이터의 에러를 정정하고, 상기 제1 프로덕트 패리티에 의해 상기 데이터의 열 단위로 에러를 정정하는 것을 특징으로 하는 연접코드를 이용한 디코더.
  13. 제 9 항에 있어서,
    상기 프로덕트 패리티 제거부는, 상기 프로덕트 패리티 중 상기 데이터의 행 단위로 생성된 제1 프로덕트 패리티 및 상기 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 대해 생성된 제3 프로덕트 패리티에 의해 상기 제1 및 제2 프로덕트 패리티의 에러를 정정하고, 상기 제1 프로덕트 패리티에 의해 상기 데이터의 행 단위로 에러를 정정하며, 상기 제2 프로덕트 패리티에 의해 상기 데이터의 열 단위로 에러를 정정하는 것을 특징으로 하는 연접코드를 이용한 디코더.
  14. 제 9 항에 있어서,
    상기 프로덕트 패리티 제거부는, 상기 데이터의 행 및 열 단위로 상기 에러 정정을 반복적으로 수행하는 것을 특징으로 하는 연접코드를 이용한 디코더.
  15. 제 9 항에 있어서,
    상기 LDPC 패리티가 제거된 데이터에 대한 디인터리빙을 수행하는 디인터리버;를 더 포함하는 것을 특징으로 하는 연접코드를 이용한 디코더.
  16. 프로덕트 코드(Product Code) 방식에 의해 데이터에 대한 프로덕트 패리티를 생성하고, 상기 데이터에 상기 생성된 프로덕트 패리티를 부가하는 단계; 및
    LDPC(Low Density Parity Check) 코드 방식에 의해 상기 프로덕트 패리티가 부가된 데이터에 대한 LDPC 패리티를 생성하고, 상기 프로덕트 패리티가 부가된 데이터에 상기 부가된 프로덕트 패리티와 연접하도록 상기 생성된 LDPC 패리티를 부가하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 인코딩 방법.
  17. 제 16 항에 있어서,
    상기 프로덕트 패리티를 부가하는 단계는,
    상기 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 부가하는 단계; 및
    상기 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 부가하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 인코딩 방법.
  18. 제 16 항에 있어서,
    상기 프로덕트 패리티를 부가하는 단계는,
    상기 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 상기 데이터에 부가하는 단계; 및
    상기 제1 프로덕트 패리티가 부가된 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 부가하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 인코딩 방법.
  19. 제 16 항에 있어서,
    상기 프로덕트 패리티를 부가하는 단계는,
    상기 데이터의 열 단위로 제1 프로덕트 패리티를 생성하여 상기 데이터에 부가하는 단계; 및
    상기 제1 프로덕트 패리티가 부가된 데이터의 행 단위로 제2 프로덕트 패리티를 생성하여 상기 제1 프로덕트 패리티가 부가된 데이터에 부가하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 인코딩 방법.
  20. 제 16 항에 있어서,
    상기 프로덕트 패리티를 부가하는 단계는,
    상기 데이터의 행 단위로 제1 프로덕트 패리티를 생성하여 상기 데이터에 부가하는 단계;
    상기 데이터의 열 단위로 제2 프로덕트 패리티를 생성하여 상기 제1 프로덕트 패리티가 부가된 데이터에 부가하는 단계; 및
    상기 생성된 제1 및 제2 프로덕트 패리티에 대한 제3 프로덕트 패리티를 생성하여 상기 제1 및 제2 프로덕트 패리티가 부가된 데이터에 부가하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 인코딩 방법.
  21. 제 16 항에 있어서,
    상기 프로덕트 패리티가 부가된 데이터에 대한 인터리빙을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 연접코드를 이용한 인코딩 방법.
  22. 프로덕트 패리티 및 LDPC(Low Density Parity Check) 패리티가 부가된 데이터로부터 상기 LDPC 패리티를 이용하여 상기 데이터 및 상기 프로덕트 패리티에 대한 에러를 정정하는 단계;
    상기 LDPC 패리티를 제거하는 단계;
    상기 LDPC 패리티가 제거된 데이터로부터 상기 프로덕트 패리티를 이용하여 상기 데이터에 대한 에러를 정정하는 단계; 및
    상기 프로덕트 패리티를 제거하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 디코딩 방법.
  23. 제 22 항에 있어서,
    상기 데이터에 대한 에러를 정정하는 단계는,
    상기 프로덕트 패리티 중 상기 데이터의 행 단위로 생성된 제1 프로덕트 패리티에 의해 상기 데이터의 행 단위로 에러를 정정하는 단계; 및
    상기 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 의해 상기 데이터의 열 단위로 에러를 정정하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 디코딩 방법.
  24. 제 22 항에 있어서,
    상기 데이터에 대한 에러를 정정하는 단계는,
    상기 프로덕트 패리티 중 상기 데이터의 행 단위로 생성된 제1 프로덕트 패리티 및 상기 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 의해 상기 제1 프로덕트 패리티 및 상기 데이터의 에러를 정정하는 단계; 및
    상기 제1 프로덕트 패리티에 의해 상기 데이터의 행 단위로 에러를 정정하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 디코딩 방법.
  25. 제 22 항에 있어서,
    상기 데이터에 대한 에러를 정정하는 단계는,
    상기 프로덕트 패리티 중 상기 데이터의 열 단위로 생성된 제1 프로덕트 패리티 및 상기 데이터의 행 단위로 생성된 제2 프로덕트 패리티에 의해 상기 제1 프로덕트 패리티 및 상기 데이터의 에러를 정정하는 단계; 및
    상기 제1 프로덕트 패리티에 의해 상기 데이터의 열 단위로 에러를 정정하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 디코딩 방법.
  26. 제 22 항에 있어서,
    상기 데이터에 대한 에러를 정정하는 단계는,
    상기 프로덕트 패리티 중 상기 데이터의 행 단위로 생성된 제1 프로덕트 패리티 및 상기 데이터의 열 단위로 생성된 제2 프로덕트 패리티에 대해 생성된 제3 프로덕트 패리티에 의해 상기 제1 및 제2 프로덕트 패리티의 에러를 정정하는 단계;
    상기 제1 프로덕트 패리티에 의해 상기 데이터의 행 단위로 에러를 정정하는 단계; 및
    상기 제2 프로덕트 패리티에 의해 상기 데이터의 열 단위로 에러를 정정하는 단계;를 포함하는 것을 특징으로 하는 연접코드를 이용한 디코딩 방법.
  27. 제 22 항에 있어서,
    상기 LDPC 패리티가 제거된 데이터에 대한 디인터리빙을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 연접코드를 이용한 디코딩 방법.
  28. 제 22 항에 있어서,
    상기 데이터에 대한 에러를 정정하는 단계에서,
    상기 데이터의 행 및 열 단위로 상기 에러 정정을 반복적으로 수행하는 것을 특징으로 하는 연접코드를 이용한 디코딩 방법.
KR1020070016785A 2007-02-16 2007-02-16 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩방법 KR20080076613A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070016785A KR20080076613A (ko) 2007-02-16 2007-02-16 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070016785A KR20080076613A (ko) 2007-02-16 2007-02-16 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩방법

Publications (1)

Publication Number Publication Date
KR20080076613A true KR20080076613A (ko) 2008-08-20

Family

ID=39879842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070016785A KR20080076613A (ko) 2007-02-16 2007-02-16 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩방법

Country Status (1)

Country Link
KR (1) KR20080076613A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468430B2 (en) 2010-09-03 2013-06-18 Snu R&Db Foundation Product code decoding method and device
KR101351497B1 (ko) * 2010-01-15 2014-01-15 지티이 코포레이션 연접 코드의 디코딩 방법 및 장치
KR20170014610A (ko) * 2015-07-30 2017-02-08 삼성전자주식회사 무선 통신 시스템에서 채널 부호화 및 복호화 방법과 장치
US9654147B2 (en) 2013-11-29 2017-05-16 Korea Advanced Institute Of Science And Technology Concatenated error correction device
US10007572B2 (en) 2015-01-23 2018-06-26 Samsung Electronics Co., Ltd. Memory system and method of operating the memory system
KR20190102533A (ko) * 2018-02-26 2019-09-04 에스케이하이닉스 주식회사 고정된 에러정정능력의 에러정정코드 엔진을 이용하여 재구성할 수 있는 에러정정동작을 수행하는 메모리 시스템

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101351497B1 (ko) * 2010-01-15 2014-01-15 지티이 코포레이션 연접 코드의 디코딩 방법 및 장치
US8667378B2 (en) 2010-01-15 2014-03-04 Zte Corporation Decoding method and device for concatenated code
US8468430B2 (en) 2010-09-03 2013-06-18 Snu R&Db Foundation Product code decoding method and device
US9654147B2 (en) 2013-11-29 2017-05-16 Korea Advanced Institute Of Science And Technology Concatenated error correction device
US10007572B2 (en) 2015-01-23 2018-06-26 Samsung Electronics Co., Ltd. Memory system and method of operating the memory system
KR20170014610A (ko) * 2015-07-30 2017-02-08 삼성전자주식회사 무선 통신 시스템에서 채널 부호화 및 복호화 방법과 장치
KR20190102533A (ko) * 2018-02-26 2019-09-04 에스케이하이닉스 주식회사 고정된 에러정정능력의 에러정정코드 엔진을 이용하여 재구성할 수 있는 에러정정동작을 수행하는 메모리 시스템

Similar Documents

Publication Publication Date Title
US8261152B2 (en) Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
JP3575606B2 (ja) データの低密度パリティ検査符号化方法および装置
KR102553814B1 (ko) 송신 장치 및 그의 부가 패리티 생성 방법
JP5219699B2 (ja) 符号化装置及び復号装置
Moision et al. Coded modulation for the deep-space optical channel: serially concatenated pulse-position modulation
JP5506878B2 (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
JP4392924B2 (ja) 符号化装置及び方法、記憶媒体
EP2293453B1 (en) Packet communication using interleaved low-density parity-check convolutional codes (LDPC-CC)
EP1835625B1 (en) Encoding and decoding of accumulate convolutional codes
CA2661264C (en) Method of correcting message errors using cyclic redundancy checks
US20100185914A1 (en) Systems and Methods for Reduced Complexity Data Processing
EP2351230B1 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
JP2002185336A (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
KR102576527B1 (ko) 길이가 16200이며, 부호율이 4/15인 ldpc 부호어 및 256-심볼 맵핑에 상응하는 bicm 수신 장치 및 방법
KR20080076613A (ko) 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩방법
GB2471513A (en) Parity encoding/decoding
KR101991447B1 (ko) 블록 간섭 및 블록 페이딩에 강인한 고부호율 프로토그래프 기반 ldpc 부호 설계 기법
JP2004533175A (ja) 相補的エンコーダ/デコーダに対する方法及び装置
JP2002506599A (ja) 高ビットレートデジタルデータ伝送のためのエラー訂正符号化方法および装置と、対応する復号化方法および装置
CN110830171B (zh) 接收数据的方法及设备,以及发送数据的方法及设备
TW200926618A (en) Devices and methods for bit-level coding and decoding of turbo codes, and a set of interleaving instructions recognizable by a data processing device
KR102159242B1 (ko) 송신 장치 및 그의 신호 처리 방법
Xin et al. Error-control selective mapping coding for PAPR reduction in OFDM systems
Chi et al. A study on the performance, complexity tradeoffs of block turbo decoder design
CN110557220B (zh) 一种物理层信道编码及解码方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application