KR100363365B1 - N:n+1 채널 코드용 에러 정정 방법 및 그 장치 - Google Patents

N:n+1 채널 코드용 에러 정정 방법 및 그 장치 Download PDF

Info

Publication number
KR100363365B1
KR100363365B1 KR1020000068340A KR20000068340A KR100363365B1 KR 100363365 B1 KR100363365 B1 KR 100363365B1 KR 1020000068340 A KR1020000068340 A KR 1020000068340A KR 20000068340 A KR20000068340 A KR 20000068340A KR 100363365 B1 KR100363365 B1 KR 100363365B1
Authority
KR
South Korea
Prior art keywords
tuple
subset
codeword
tuples
parity
Prior art date
Application number
KR1020000068340A
Other languages
English (en)
Other versions
KR20020038237A (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 KR1020000068340A priority Critical patent/KR100363365B1/ko
Publication of KR20020038237A publication Critical patent/KR20020038237A/ko
Application granted granted Critical
Publication of KR100363365B1 publication Critical patent/KR100363365B1/ko

Links

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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/0065Recording, reproducing or erasing by using optical interference patterns, e.g. holograms

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 N:N+1 채널 코드에서 에러를 정정하는 방법에 관한 것으로서, 2N+1코드워드 (N+1)-터플(tuple)을 M 개의 코드워드 (N+1)-터플 서브세트로 카테고리화하되, 각 서브 세트 G는 양의 정수인 NG개의 코드워드 (N+1)-터플을 가지며, M 개의 서브세트 내에 있는 코드워드 (N+1)-터플의 총수는 2N이고, 상기 각 서브세트 G는 사전 결정된 수 KG의 하위 비트와 사전 결정된 수 (N+1-KG)의 상위 비트를 갖고, 임의의 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수는 임의의 다른 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수와 다른 카테고리화(categorizing) 단계; 2N메시지 N-터플을 각각 상기 M 개의 서브세트에 있는 상기 2N코드워드 (N+1)-터플과 일대일 대응되게 매칭시켜 룩업 테이블(lookup table)을 형성하는 매칭 단계; 입력 메시지를 다수의 메시지 N-터플로 분할하는 단계; 상기 룩업테이블을 사용하여 상기 다수의 메시지 N-터플에 포함된 각각의 메시지 N-터플을 대응되는 코드워드 (N+1)-터플로 순차적으로 부호화하는 단계; Q 개의 코드워드 (N+1)-터플에 하나의 서브세트 패리티 (P-Q)-터플을 할당하되, 상기 서브세트 패리티 (P-Q)-터플은 상기 Q 개의 코드워드 (N+1)-터플에 대한 서브 세트 정보를 표현하는 리던던시 비트이고 P는 Q보다 크고, P와 Q는 각각 양의 정수인 패리티 할당 단계; 및 상기 Q 개의 코드워드 (N+1)-터플과 상기 한 개의 서브세트 패리티(P-Q)-터플을 전송하는 단계를 포함한다.

Description

N:N+1 채널 코드용 에러 정정 방법 및 그 장치{ERROR CORRECTING METHOD AND APPARATUS FOR N:N+1 CHANNEL CODING}
본 발명은 N:N+1 채널 부호화 방법 및 그 장치에 관한 것으로서, 보다 상세하게는 N:N+1 채널 코드에서 보다 빠른 부호화율(code rate)로 에러를 정정할 수 있는 방법 및 그 장치에 관한 것이다.
알려진 바와 같이 동영상과 같은 많은 양의 데이터를 광학적으로 저장하기 위한 필요성이 증가하고 있다. 따라서 고밀도의 광학적 저장 용량을 구현할 수 있는 저장 매체를 내장한 다양한 형태의 볼륨 홀로그램 데이터 저장(volume holographic data storage: VHDS) 장치가 최근 개발되고 있다.
VHDS 장치에서 소스 데이터는 N개의 데이터 비트(정보 비트 또는 메시지 비트)로 구성된 블록들로 분할되는 데, 각 블록은 2N개의 서로 구별되는 메시지를 표현할 수 있다. VHDS 장치에서 부호화기는 각각의 N 비트 데이터 블록을 코드 비트 또는 채널 심볼이라 부르는 (N+K) 비트의 보다 큰 블록으로 변환한다. 부호화기에 의해 각 데이터 블록에 추가되는 K 비트는 리던던트(redundant) 비트, 패리티(parity) 비트 또는 체크(check) 비트라고 하는데 새로운 정보를 포함하지는 않는다. 이러한 코드를 (N+K, N) 코드라 부른다. 하나의 블록 내에서 리던던트 비트와 데이터 비트의 비율 K/N은 코드의 리던던시(redundancy)라 불리워지고, 데이터 비트와 전체 비트의 비율N/(N+K)은 코드 레이트(code rate)라 불린다. 코드레이트는 코드 비트에서 정보를 구성하는 부분으로 생각될 수 있다. 예를 들어, 코드 레이트 1/3 코드에는 각 코드 비트마다 1/3 비트의 정보가 담겨있다. 전송 대역폭을 확장함으로써 리던던시를 갖는 이러한 코딩 기법은 적용할 수 있다. 예를 들어, 에러 제어 기법이 1/3의 레이트를 사용하는 경우 리던던시는 2/3이고 대역폭 증가는 3이다.
다시 말해서, 부호화기는 N 개의 메시지 디지트 (메시지 벡터)로 된 하나의 블록을 N+K 개의 코드워드 디지트로 된 하나의 긴 블록으로 변환시키는 데, 각각의 디지트는 사전 결정된 문자를 구성요소로 한다. 문자가 두 개의 구성요소 (0과 1)로 이루어지면 그 코드는 이진수(비트)로 된 이진 코드이다. 이하에서는 특별히 언급되지 않는 한 이진 코드에 대해서만 언급될 것이다.
N 비트 메시지는 N-터플(tuple)(N 디지트 시퀀스: digit sequence)라고 호칭되며, 2N개의 서로 다른 메시지 시퀀스를 형성한다. (N+K) 비트 블록은 각각 (N+K)-터플 이라 호칭되는 2N+K개의 서로 다른 시퀀스를 형성할 수 있다. 부호화 과정은 각각의 2N메시지 N-터플에 2N+K개의 (N+K)-터플 중에서 대응되는 하나의 (N+K)-터플을 대응시키는 것이다. 블록 코드는 일대일 대응을 의미하며, 한 세트의 2N개 메시지 N-터플 들이 새로운 세트의 2N개 코드워드 (N+1)-터플들과 일대일 매핑되고, 그 매핑은 룩업 테이블에 의해 이루어질 수 있다.
복호화 모드에서는, 비트 에러 레이트를 줄이면서 코드 레이트를 증가시키기위해 다수의 복호화 알고리즘이 사용되고 있다.
문턱 값 복호화 알고리즘에서는 예를 들어 평균값 또는 0.5와 같이 사전 결정된 값을 문턱 값으로 사용하여 채널 왜곡에 의해 왜곡된 전송 신호에 0 또는 1 을 할당하게 된다. 일반적인 VHDS 장치에서, 레이저빔의 가우시안 분포 특성, 렌즈 왜곡, 분산 및 회절과 같은 것들은 채널로 이해될 수 있다. 문턱 복호화 알고리즘은 높은 코드 레이트를 가지지만 특히 낮은 출력의 레이저빔인 경우에 비트 에러 레이트도 증가하는 문제점을 갖는다.
이를 개선하기 위해 국부 문턱 복호화 알고리즘을 사용되고 있다. 국부 문턱 복호화 알고리즘은 복호화 영역을 다수의 국부 영역으로 나누고 각 국부 영역마다 다른 문턱 값을 적용하여 0 또는 1을 결정한다. 그러나 각각의 VHDS 장치는 서로 다른 잡음 특성을 갖고 있으므로 국부 문턱 복호화 알고리즘은 호환성이 떨어지는 문제점이 있다.
이를 개선하기 위해 이진 미분(binary differential) 복호화 알고리즘이 사용되고 있다. 이진 미분 복호화 알고리즘은 1을 나타내기 위한 신호가 인접한 영역에 존재하는 0을 나타내는 신호보다 항상 큰 값을 갖는다는 성질을 사용한다. 예를 들어, 0 과 1을 각각 01 및 10으로 대체하여 부호화하고 반대 알고리즘을 사용하여 전송 신호를 복호화한다. 이진 미분 복화화 알고리즘은 낮은 비트 에러 레이트를 갖지만 그 코드 레이트도 이에 비례하여 감소하는 문제점이 있다.
또 다른 개선책으로 밸런스드 블록(balanced block) 복호화 알고리즘이 있다. 밸런스드 블록 복호화 알고리즘은 입력 메시지를 다수의 메시지 P-터플로 나누고 각각의 메시지 P-터플을 코드워드 2Q-터플을 사용하여 부호화하되, 2Q는 P보다 크고, 하위 비트의 수가 상위 비트의 수와 같도록 하여 부호화하는 것이다. 복호화 모드에서 전송 신호는 다수 개의 코드워드 2Q-터플로 나뉘어지고 각각의 코드워드 2Q-터플에 대해 Q 개의 하위 비트 및 Q 개의 상위 비트가 각각 0 및 1로 재생된다. 예를 들어, 6:8 밸런스드 블록 복호화 알고리즘에서는 하위 비트수와 상위 비트수가 각각 4인 26(=64) 개의 코드워드 8-터플 들만을 사용하여 64개의 메시지 6-터플을 부호화하게된다. 밸런스드 블록 복호화 알고리즘은 이진 미분 복호화 알고리즘보다 낮은 비트 에러율과 높은 코드 레이트(부호화율: code rate)를 가지지만 제한된 채널을 효과적으로 사용하기 위해서는 보다 높은 코드 레이트가 필요하다.
따라서 본 발명은 상술한 문제들을 해결하기 위해 안출한 것으로, N:N+1 채널 코드에서 보다 빠른 부호화율(code rate)로 에러를 정정할 수 있는 방법 및 그 장치를 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위한 일 관점에 따른 본 발명은, N:N+1 채널 코드에서 에러를 정정하는 방법에 있어서, (a) 2N+1코드워드 (N+1)-터플을 M 개의 코드워드 (N+1)-터플 서브세트로 카테고리화하되, M은 1보다 큰 정수이고, 각 서브 세트 G는 양의 정수인 NG개의 코드워드 (N+1)-터플을 가지며, M 개의 서브세트 내에 있는 코드워드 (N+1)-터플의 총수는 2N이고
상기 각 서브세트 G는 사전 결정된 수 KG의 하위 비트와 사전 결정된 수 (N+1-KG)의 상위 비트를 갖고, 임의의 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수는 임의의 다른 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수와 다른 카테고리화(categorizing) 단계; (b) 2N메시지 N-터플을 각각 상기 M 개의 서브세트에 있는 상기 2N코드워드 (N+1)-터플과 일대일 대응되게 매칭시켜 룩업 테이블(lookup table)을 형성하는 매칭 단계; (c) 입력 메시지를 다수의 메시지 N-터플로 분할하는 단계; (d) 상기 룩업테이블을 사용하여 상기 다수의 메시지 N-터플에 포함된 각각의 메시지 N-터플을 대응되는 코드워드 (N+1)-터플로 순차적으로 부호화하는 단계; (e) Q 개의 코드워드 (N+1)-터플에 하나의 서브세트 패리티 (P-Q)-터플을 할당하되, 상기 서브세트 패리티 (P-Q)-터플은 상기 Q 개의 코드워드 (N+1)-터플에 대한 서브 세트 정보를 표현하는 리던던시 비트이고 P는 Q보다 크고, P와 Q는 각각 양의 정수인 패리티 할당 단계; 및 (f) 상기 Q 개의 코드워드 (N+1)-터플과 상기 한 개의 서브세트 패리티 (P-Q)-터플을 전송하는 단계를 포함하는 에러 정정 방법을 제공한다.
상기 목적을 달성하기 위한 다른 관점에 따른 본 발명은, N:N+1 채널 코드에서 에러를 정정하는 장치에 있어서, 2N+1코드워드 (N+1)-터플을 M 개의 코드워드 (N+1)-터플 서브세트로 카테고리화하되, M은 1보다 큰 정수이고, 각 서브 세트 G는 양의 정수인 NG개의 코드워드 (N+1)-터플을 가지며, M 개의 서브세트 내에 있는 코드워드 (N+1)-터플의 총수는 2N이고,
상기 각 서브세트 G는 사전 결정된 수 KG의 하위 비트와 사전 결정된 수 (N+1-KG)의 상위 비트를 갖고, 임의의 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수는 임의의 다른 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수와 다른 카테고리화(categorizing) 수단; 2N메시지 N-터플을 각각 상기 M 개의 서브세트에 있는 상기 2N코드워드 (N+1)-터플과 일대일 대응되게 매칭시켜 룩업 테이블(lookup table)을 형성하는 매칭 수단; 입력 메시지를 다수의 메시지 N-터플로 분할하는 분할 수단; 상기 룩업테이블을 사용하여 상기 다수의 메시지 N-터플에 포함된 각각의 메시지 N-터플을 대응되는 코드워드 (N+1)-터플로 순차적으로 부호화하는 부호화 수단; Q 개의 코드워드 (N+1)-터플에 하나의 서브세트 패리티 (P-Q)-터플을 할당하되, 상기 서브세트 패리티 (P-Q)-터플은 상기 Q 개의 코드워드 (N+1)-터플에 대한 서브 세트 정보를 표현하는 리던던시 비트이고 P는 Q보다 크고, P와 Q는 각각 양의 정수인 패리티 할당 수단; 및 상기 Q 개의 코드워드 (N+1)-터플과 상기 한 개의 서브세트 패리티 (P-Q)-터플을 전송하는 전송 수단을 포함하는 에러 정정 장치를 제공한다.
도 1은 본 발명에 따른 홀로그램 디지털 부호화 및 복호화 장치를 설명하기 위한 블록 다이어그램.
도 2a는 본 발명에 따라 메시지 N-터플을 코드워드 (N+1)-터플로 부호화하는 부호화 알고리즘은 설명하는 흐름도.
도 2b는 본 발명에 따라 전송 코드워드 (N+1)-터플을 재생 메시지 N-터플로 복호화하는 복호화 알고리즘을 설명하는 흐름도.
도 2c는 본 발명에 따라 도 2c에 도시된 분산 평가 공정을 설명하는 흐름도.
<도면의 주요부분에 대한 부호의 설명>
110 : 홀로그램 데이타 저장 회로 130 : 부호화 회로
132 : N-터플 생성기 134 : 부호화 유닛
136 : 패리티 할당 유닛 140 : 룩업 테이블 생성기
142 : 카테고리화 유닛 144 : 매칭 유닛
150 : 복호화 회로 154 : 분산 계산 유닛
156 : 서브 세트 결정 유닛 157 : 서브 세트 정정 유닛
158 : 재생 유닛
도 1을 참조하면 본 발명의 바람직한 실시 예에 따른 홀로그램 디지털 부호화 및 복호화 장치를 설명하기 위한 블록다이어그램이 도시되어 있다.
홀로그램 디지털 부호화 및 복호화 장치는 홀로그램 데이터 저장 (holographic data storage:HDS) 회로(110), 부호화 회로(130), 룩업(lookup) 테이블 생성기(140), 복호화 회로(150)를 포함한다. 상세하게는, 홀로그램 데이타 저장 회로(110)가 레이저(111), 빔 스플리터(beam splitter)(112), 제 1 셔터(shutter)(113), 제 2 셔터(116,) 제 1 미러(mirror)(114), 제 2 미러(117), 액츄에이터(actuator)(115), 공간 광 변조기(spatial light modulator: SLM)(118), 저장 매체(119), 전하 결합 소자(charge coupled device:CCD)(120)를 포함한다. 부호화 회로(130)는 N-터플 생성기(132), 부호화 유닛(134)을 포함한다. 룩업 테이블 생성기(140)는 카테고리화 유닛(142)과 매칭 유닛(134)을 포함한다. 복호화 회로(150)는 분산 계산 유닛(154)과 서브 세트 결정 유닛(156)과 재생 유닛(158)을 포함한다.
홀로그램 데이타 저장 회로(110)내 레이저(111)에서 발진된 빔은 레이저빔을 부분적으로 반사시키기 위한 빔 스플리터(112)에 보내져서 기준 빔(reference beam)과 신호 빔(signal beam)을 생성하는데, 기준 빔은 레이저빔 중에서 빔 스플리터(112)를 관통하는 부분이고, 신호 빔은 레이저빔 중에서 빔 스플리터(112)에의해 반사된 부분이다.
기준 빔은 액츄에이터(115)에 의해 제어될 수 있는 제 1 미러(114)에 의해 반사된 후에 기준 빔 경로(PS1)를 통해 119에 입사된다. 한편 신호 빔은 제 2 미러(117)에 의해 반사된 후에 신호 빔 경로(PS2)를 통해 공간 광 변조기(118)에 입사되고, 공간 광 변조기(118)에 의해 변조 신호 빔으로 변환되는 데, 변조 신호 빔은 공간 광 변조기(118)를 관통한 후의 다수의 페이지 형태로 데이터를 전송한다. 변조 신호 빔은 저장 매체(119)에 포커싱(focusing)된다. 저장 매체(119)에서 변조 신호 빔은 기준 빔과 간섭하여 간섭 패턴을 생성하는데, 간섭 패턴은 변조 신호 빔에 관련된 정보를 포함한다. 굴절률이 간섭 패턴에 따라 변화하는 저장 매체(119) 내에서 이 간섭 패턴이 광학적 인덱스 패턴으로 변환됨으로써 변조된 신호 빔을 저장 매체(119)내에 기록할 수 있다.
저장된 데이터를 읽기 위해서는 제 1 셔터(113) 만을 개방하고 제 2 셔터(116)를 폐쇄함으로써, 저장 매체(119)에서 검색된 변조 신호 빔이 검색 신호 빔의 세기를 감지할 수 있는 전하 결합 소자(120)에 입력되게 한다.
한편, 룩업 테이블 생성기(140) 내에서 N:(N+1) 부호화 알고리즘을 수행하기 위해 카테고리화 유닛(142)은 2N+1개의 코드워드 (N+1)-터플 중에서 M 개의 코드워드 (N+1)-터플 서브세트를 선택하여, M 개의 코드워드 (N+1)-터플 서브세트에 대한 정보를 매칭 유닛(134)에 전달한다.
M은 1보다 큰 정수로서, 바람직하게는 짝수이다. 각각의 서브세트 G는 사전결정된 수 KG만큼의 하위 이진수와 사전 결정된 수 (N+1-KG) 만큼의 상이 이진수를 갖는다. 임의의 서브세트에서 모든 코드워드 (N+1)-터플의 하위 비트 개수는 임의의 다른 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수와 다르다.
각 서브세트 G가 양의 정수인 NG개의 코드워드 (N+1)-터플을 가지며, M 개의 서브세트 내에 있는 코드워드 (N+1)-터플의 총수는 2N이다. 다시 말해서이다.
NG는 2N/M이 바람직하다. 매칭 유닛(144)은 2N메시지 N-터플을 각각 M 개의 서브세트에 있는 2N코드워드 (N+1)-터플과 일대일 대응되게 매칭시켜 2N메시지 N-터플과 2N코드워드 (N+1)-터플 간의 매칭 룩업 테이블(lookup table)을 형성시킨다. 매칭 룩업 테이블은 부호화 유닛(134)과 재생 유닛(158)에 공유된다. 한편, N-터플 생성기(132)는 입력 메시지를 수신한 뒤, 수신된 입력 메시지를 다수의 메시지 N-터플로 순차적으로 분할한다. 다수의 메시지 N-터플을 부호화 유닛(134)에 제공된다.
부호화 유닛(134)은 룩업테이블을 참조하여 다수의 메시지 N-터플에 있는 각각의 메시지 N-터플을 대응되는 코드워드 (N+1)-터플로 부호화함으로써, 다수의 코드워드 (N+1)-터플을 생성한다.
패리티 할당 유닛(136)은 Q개의 코드워드 (N+1)-터플마다 서브 세트 (P-Q)-터플을 할당하는데, 서브세트 (P-Q)-터플은 Q개의 코드워드 (N+1)-터플의 서브 세트 정보를 표현하기 위한 리던던시(redundancy) 비트이다. 먼저, 다수의 코드워드 (N+1)-터플을 Q개의 코드워드 (N+1)-터플 단위로 재정렬한다. 각각의 코드워드 (N+1)-터플이 M개의 코드워드 (N+1)-터플 서브 세트 중에 하나의 서브 세트 G에 대응되므로, 서브 세트 G에 대한 서브 세트 정보는 Log2M 보다 작지 않은 최소 정수인 비트수로 표현될 수 있다. 예를 들어, M이 2인 경우, 2N개의 메시지 N-터플을 표현하기 위해 2 개의 코드워드 (N+1)-터플 서브세트가 사용되므로, 각각의 코드워드 (N+1)-터플에 대한 서브세트 정보를 표현하기 위해 단지 1(=) 비트가 필요하게 된다. 따라서, Q 개의 코드워드 (N+1)-터플에 대한 서브세트 정보 Q-터플은 서브세트 정보 Q-터플에 대응되며, 서브세트 정보 Q-터플 의 각 비트는 하나의 코드워드 (N+1)-터플에 대응된다.
서브 세트 패리티 (P-Q)-터플과 그에 대응하는 Q 개의 코드워드 (N+1)-터플은 입력된 신호 빔을 변조 신호 빔으로 변환하는 공간 광 변조기(118)에 전송된다. 변조 신호 빔은 저장 매체(119)에 포커싱된다. 저장 매체(119)에서 변조 신호 빔은 기준 빔과 간섭함으로써 전술한 바와 같이 간섭 패턴을 생성한다.
저장된 데이터를 판독하기 위해 저장 매체(119)에서 검색된 변조 신호 빔은 검색 신호 빔의 세기를 감지할 수 있는 전하 결합 소자(120)에 입력된다. 공간 광 변조기(118), 저장 매체(119), 전하 결합 소자(120)는 채널로 이해될 수 있다. 검색 신호 빔은 분산 계산 유닛(154)과 서브 세트 결정 유닛(156)에 다수의 전송 코드워드 (N+1)-터플로서 전송된다. 각각의 전송 코드워드 (N+1)-터플은 채널을 통한 전송 과정동안 내부 또는 외부 잡음에 의해 왜곡되어 (N+1) 소수로 표현될 수 있다.
이하, 전송 코드워드 (N+1)-터플은 설명의 편의상 전송 서브세트 패리티 (P-Q)-터플을 포함한다고 가정한다.
분산 계산 유닛(154)은 각각의 코드워드 (N+1)-터플의 (N+1) 소수에 대한 분산을 계산한다. 먼저, M 개의 코드워드 (N+1)-터플 서브세트 내에서 하위 비트 및 상위 비트의 최소수 L이 계산되고 최소수 L와 세트수 M에서 최대수 K가 계산된다. 상세하게는, 최대수 K가 최소수 L과 Log2M보다 작지 않은 최소 정수중에서 최대 값을 의미한다. (N+1)개의 소수 중에서 최대수 K만큼 최대 소수 또는 최소 소수들을 삭제함으로써 각각의 전송 코드워드 (N+1)-터플마다 (N+1-K)개의 소수가 생성된다. (N+1-K)개의 소수에 대한 (N+1-K)번째 분산을 일반적인 분산 계산법을 사용하여 계산함으로써 다수의 전송 코드워드 (N+1)-터플에 다수의 (N+1-K)번째 분산을 얻는다. 필요하다면, 최대수를 변화시킴으로써 다른 분산들을 계산할 수 있다. 세트수 M이 2보다 크면 또 다른 분산을 구할 필요가 있다. 분산에 대한 정보는 서브 세트 결정 유닛(156)에 전달된다.
서브 세트 결정 유닛(156)은 분산에 대한 정보에 기초하여 전송 코드워드 (N+1)-터플에 대응되는 서브세트 G를 결정한다. 상세하게는, 다수의 (N+1-K)번째 분산에 대한 (N+1-K)번째 평균 분산을 계산하고, 각각의 (N+1-K)번째 분산을(N+1-K) 평균 분산과 비교한다. 상기 분산 비교 결과를 기초로 전송 코드워드 (N+1)-터플에 대응되는 서브세트 G가 결정된다.
서브 세트 정정 유닛(157)은 다수의 전송 코드워드 (N+1)-터플로부터 Q 개의 전송 코드워드 (N+1)-터플마다 한 개의 전송 서브세트 패리티 (P-Q)-터플을 선택하고, 전송 서브세트 패리티 (P-Q)-터플을 기초로 서브 세트 결정 유닛(156)에서 생성된 서브세트 정보를 정정한다. 정정된 서브세트 정보는 재생 유닛(158)에 전달된다.
재생 유닛(158)은 서브세트 G에 대한 정보를 기초로 재생 코드워드 (N+1)-터플을 재생한다. 상세하게는, 전송 코드워드 (N+1)-터플 내에 있는 사전 결정된 수 KG만큼의 하위 소수가 하위 이진수로 변환되고, 사전 결정된 수 (N+1-KG) 만큼의 상위 소수가 상위 이진수로 변환된다. 매칭 유닛(144)에서 전달된 룩업테이블을 기초로 재생 코드워드 (N+1)-터플마다 하나의 재생 메시지 N-터플이 할당된다.
도 2a를 참조하면, 본 발명에 따라 메시지 N-터플을 코드워드 (N+1)-터플로 부호화하기 위한 부호화 알고리즘을 설명하기 위한 흐름도가 도시되어 있다.
단계 S21에서 M 개의 (N+1)-터플 서브세트가 2N+1개의 코드워드 (N+1)-터플 중에서 선택된다. M은 1보다 큰 정수이고 바람직하게는 짝수이다. 각각의 서브세트 G는 사전 결정된 수 KG만큼의 하위 이진수와 사전 결정된 수 (N+1-KG) 만큼의 상위 이진수를 갖는다. 임의의 서브세트에 속한 모든 코드워드 (N+1)-터플 내에 있는 하위 이진수의 개수는 임의의 다른 서브세트에 속한 모든 코드워드 (N+1)-터플 내에있는 하위 이진수의 개수와 동일하지 않다. 예를 들어, 24(=16) 개의 코드워드 (N+1)-터플을 0의 개수나 1의 개수를 기초로 {0000}, {0001, 0010, 0100, 1000}, {0011, 0101, 1001, 0110, 1010, 1100}, {0111, 1011, 1101, 1110} and {1111}과 같은 5 개의 4-터플 서브세트로 카테고리화할 수 있다. 만약 각각의 서브세트 G가 NG(NG는 양의 정수)개의 코드워드 (N+1)-터플을 갖는 경우에, M 서브세트 내에 있는 코드워드 (N+1)-터플의 총수는 2N이 되어야 한다. 다시 말해서,을 만족해야 한다.
NG는 2N/M과 같이 일정한 것이 바람직하다. 그러므로 3:4 부호화 과정에서 2 개의 코드워드 4-터플 서브세트를 사용하기 위해서는 각각의 서브세트에 속한 코드워드 4-터플의 개수 NG가 4(=23/2) 인 것이 바람직하고, 적어도 4개의 4-터플을 갖는 세 개의 서브세트 {0001, 0010, 0100, 1000}, {0011, 0101, 1001, 0110, 1010, 1100}, {0111, 1011, 1101, 1110} 중에서 두 개의 서브세트를 고르는 것이 바람직하다.
단계 S23에서는 2N개의 메시지 N-터플을 M 개의 서브세트에 속한 2N개의 코드워드 (N+1)-터플과 일대일 대응하도록 매칭시켜 2N개의 메시지 N-터플과 2N개의 코드워드 (N+1)-터플간의 룩업테이블을 형성한다.
단계 S25에서는 입력 메시지가 다수의 메시지 N-터플로 순차적으로 분할된다.
단계 S27에서는 룩업테이블을 사용하여 다수의 메시지 N-터플에 속한 각각의 메시지 N-터플을 대응되는 코드워드 (N+1)-터플로 부호화된다.
단계 S28에서는 Q 개의 코드워드 (N+1)-터플에 대해 하나의 서브세트 패리티 (P-Q)-터플을 할당하는데, 서브세트 패리티 (P-Q)-터플은 Q 개의 코드워드 (N+1)-터플의 서브세트 정보를 표현하기 위한 리던던시 비트이다. 먼저, 다수의 코드워드 (N+1)-터플들이 Q 개의 코드워드 (N+1)-터플씩 재정렬된다. 각각의 코드워드 (N+1)-터플이 M 개의 코드워드 (N+1)-터플 서브세트 중에 단 하나의 서브세트 G에 대응되므로 서브세트 G에 대한 서브세트 정보는 Log2M보다 작지 않은 최소 정수인 비트수로 표현될 수 있다. 예를 들어, M이 2인 경우, 2N개의 메시지 N-터플을 표현하기 위해 2 개의 코드워드 (N+1)-터플 서브세트가 사용되므로, 각각의 코드워드 (N+1)-터플에 대한 서브세트 정보를 표현하기 위해 단지 1(=) 비트가 필요하게 된다. 따라서, Q 개의 코드워드 (N+1)-터플에 대한 서브세트 정보 Q-터플는 서브세트 정보 Q-터플에 대응되며, 서브세트 정보 Q-터플 의 각 비트는 하나의 코드워드 (N+1)-터플에 대응된다.
또 다른 바람직한 실시 예에서, Q 개의 코드워드 (N+1)-터플마다 서브세트 정보 Q-터플에 대한 에러를 정정하기 위한 리던던시를 할당하기 위해 (P,Q) 채널 코드가 사용되어, 서브세트 패리티 (P-Q)-터플이 부가될 수 있다.
N=(P-Q)인 경우에 바람직하게는 서브세트 패리티 (P-Q)-터플이 본 발명에 따른 N:N+1 채널 부호화 알고리즘을 사용하여 패리티 코드워드 (P-Q+1)-터플로 대체될 수 있다.
단계 S29에서는 Q 개의 코드워드 (N+1)-터플과 서브세트 패리티 (P-Q)-터플이 채널을 통해 전송된다.
도 2b를 참조하면, 본 발명에 따라 전송 코드워드 (N+1)-터플을 재생 메시지 N-터플로 복호화하기 위한 복호화 과정을 설명하는 흐름도를 도시하고 있다.
단계 S31에서는 Q 개의 전송 코드워드 (N+1)-터플과 그에 대한 전송 서브세트 패리티 (P-Q)-터플이 순차적으로 수신된다. 각각의 전송 코드워드 (N+1)-터플과 전송 서브세트 패리티 (P-Q)-터플은 채널을 통해 전송되는 동안 내부 잡음이나 이부 잡음에 의해 왜곡되어 (N+1) 개의 소수와 (P-Q)개의 소수로 표현될 수 있다.
N이 (P-Q)와 같아서 각각의 서브세트 패리티 (P-Q)-터플이 전술한 바와 같이 본 발명에 따른 패리티 코드워드 (P-Q+1)-터플로 부호화된 경우에는, 전송 서브세트 패리티 (P-Q)-터플 대신에 전송 패리티 코드워드 (P-Q+1)-터플이 수신될 수 있다.
단계 S33에서는, 도 3c에 도시된 바와 같이, 각각의 전송 코드워드 (N+1)-터플에 대한 적어도 하나의 분산이 계산된다. 분산의 개수는 후술하는 바와 같이 세트수 M과 M개의 코드워드 (N+1)-터플에 있는 상위 또는 하위 비트의 최소수 L과 상당히 관련된다.
도 2c를 참조하면, 본 발명에 따른 각각의 전송 코드워드 (N+1)-터플에 대한 분산 평가 공정을 설명하기 위한 흐름도가 도시되어 있다.
단계 S331에서는 전송 코드워드 (N+1)-터플이 (N+1) 개의 소수로서 수신된다.
단계 S332에서는 M 개의 코드워드 (N+1)-터플 서브세트에서 상위 또는 하위 비트의 최소수 L을 계산하는 데, M 개의 코드워드 (N+1)-터플 서브세트는 단계 S21에서 기술된 바와 같이 2N+1개의 코드워드 (N+1)-터플에서 선택된다. M 개의 코드워드 (N+1)-터플 서브세트가 결정되면 본 발명에 따라 최소수 L이 동시에 결정되어 부호화 회로(130)와 복호화 회로(150)에 전달된다. 예를 들어, 서브세트 {0001, 0010, 0100, 1000}에 속한 각각의 코드워드 4-터플에서 상위 비트수와 하위 비트수는 각각 1과 3이므로 최소수 L은 1이다.
단계 S333에서 최소수 L과 세트수 M으로부터 최대수 K를 계산한다. 상세하게는, 최대수 K는 최소수 L과(Log2M 보다 작지 않은 최소 정수)중의 최대 값이다. 예를 들어, 최소수 L이 1이고 서브세트수 M이 4이면,가 되어 최대수 K는 2가 된다.
단계 S334에서 (N+1)개의 소수 중에서 최대수 K 만큼 최대 소수 또는 최소 소수를 삭제함으로써, 각각의 전송 코드워드 (N+1)-터플마다 (N+1-K)개의 소수를 얻는다. 최대수 K 가 1이고 전송 코드워드 4-터플에 대한 4개의 소수가 {0.1, 0.3, 0.6, 0.2}이면 0.6이 삭제되어 3 개의 소수 {0.1, 0.3, 0.2}가 남게된다.
단계 S335에서 일반적인 분산 계산 방법을 사용하여 (N+1-K)개의 소수에 대한 (N+1-K)번째 분산을 계산함으로써, 다수의 전송 코드워드 (N+1)-터플에 대한 다수의 (N+1-K)번째 분산을 생성한다.
단계 S336에서는 다수의 (N+1-K)번째 분산에 대한 (N+1-K)번째 평균 분산을 계산하고, 각각의 (N+1-K)번째 분산을 (N+1-K)번째 평균 분산과 비교한다. 상세하게는, 각각의 (N+1-K)번째 분산이 (N+1-K)번째 평균 분산보다 큰지 여부를 결정한다.
단계 S337에서는 Log2M 과 최소수 L을 1만큼 감소시킨다. 다시 말해서 Log2M과 L이 각각 Log2M-1과 L-1로 대체된다.
단계 S338에서는 Log2M이 0보다 크고 최소수 L이 0보다 크거나 같은지 여부를 결정한다. Log2M>0이고 L >= 0이면 단계 S333을 다시 수행하고 그렇지 않으면 분산 평가 공정이 종료한다.
도 2b를 다시 참조하면, 단계 S35에서는 단계 S33에서 생성된 분산을 기초로 전송 코드워드 (N+1)-터플이 어느 서브세트 G에 대응하는 결정한다. 따라서 Q 개의 전송 코드워드 (N+1)-터플은 서브세트 정보 Q-터플을 생성하게 된다.
단계 S37에서는 전송 서브세트 패리티 (P-Q)-터플을 기초로 서브세트 정보 Q-터플에서의 에러를 조사함으로써 Q 개의 전송 코드워드 (N+1)-터플에 대한 서브세트 정보 Q-터플을 수정할 수 있다.
단계 S39에서는 단계 S37에서 결정된 수정 서브세트 정보 Q-터플를 기초로 Q 개의 재생 코드워드 (N+1)-터플이 생성된다. 구체적으로, 재생 코드워드 (N+1)-터플이 서브세트 G에 대응되는 경우 전송 코드워드 (N+1)-터플에서 사전 결정된 수 KG만큼 하위 소수를 하위 이진수로 변환하고, 사전 결정된 수 (N+1-KG) 만큼 상위 소수를 상위 이진수로 변환한다.
단계 S41에서는 룩업테이블을 기초로 재생 코드워드 (N+1)-터플 마다 재생 메시지 N-터플을 할당한다.
[실시 예1] (3:4 채널 부호화)
3:4 채널 부호화 알고리즘에서, 각각의 이진 메시지 3-터플이 대응되는 이진 코드워드 4-터플로 부호화되어 채널을 통해 전송된다. 각각의 전송 코드워드 4-터플은 4 개의 이진수로 수신되지 않고 4 개의 소수로 수신되며, 본 발명에 따른 다양한 기법을 사용하여 재생 이진 코드워드 4-터플로 재생된다.
일반적으로, 16(=24) 개의 이진 코드워드 4-터플은, 아래의 표 1과 같이, 각각의 이진 코드워드 4-터플 내에 존재하는 하위 비트 0 또는 상위 비트 1의 개수를 기준으로 5 개의 이진 코드워드 4-터플 서브세트로 분류된다.
서브세트 상위 비트수 경우의 수
G0 0 4C0=1 0000
G1 1 4C1=4 0001, 0010, 0100, 1000
G2 2 4C2=6 0011, 0101, 1001, 0110, 1010, 1100
G3 3 4C3=4 0111, 1011, 1101, 1110
G4 4 4C4=1 1111
8 개의 이진 메시지 3-터플을 표현하기 위해, 두 개의 이진 코드워드 4-터플 서브세트를 선택하는 것이 바람직하다. 예를 들어, 그룹 A(서브세트 G1)에 있는 4개의 이진 코드워드와 그룹 B(서브세트 G3)에 있는 4 개의 이진 코드워드 4-터플을 사용하여 3:4 채널 부호화를 수행한다. 8 개의 이진 메시지 3-터플과 8 개의 이진 코드워드 사이의 일대일 대응관계는 아래의 표 2와 같다.
그룹 메시지 3-터플의 특징 매시지3-터플 코드워드4-터플
그룹 A(=서브세트 G1) 1이 없음 000 0001
1이 한 개 001 0010
010 0100
000 1000
그룹 B(=서브세트 G3) 1이 두 개 011 0111
101 1011
110 1101
1이 세 개 111 1110
그룹 A에서 상위 비트 1을 갖지 않는 한 개의 이진 메시지 3-터플인 000에는 마지막 네번째 비트로 1을 붙이고, 상위 비트를 한 개 갖는 세 개의 이진 메시지 3-터플 001, 010, 100에는 마지막 비트로 0을 붙인다. 그룹 B에서 상위 비트를 두 개 갖는 세 개의 이진 메시지 011, 101, 110에는 마지막 비트로 1을 붙이고, 상위 비트를 세 개 갖는 하나의 이진 메시지 3-터플에는 마지막 비트로 0을 붙인다. 이러한 대응관계는 상기에 도시한 바와 같이 룩업테이블로 표현될 수 있다.
부호화 모드에서는, 입력 이진 메시지가 순차적으로 다수의 이진 메시지 3-터플로 분할되고, 이러한 이진 메시지 3-터플이 순차적으로 룩업테이블을 사용하여 대응되는 코드워드 4-터플과 매칭되며, 이러한 코드워드 4-터플들이 기록 매체 상에 부호화된다.
복호화 모드에서는, 각각의 코드워드 4-터플이 4 개의 비트가 아닌 4 개의소수로 재생된다. 다시 말해서, 코드워드 4-터플에서 각 구성 요소의 세기는 0 보다 크거나 같고 1보다 작거나 같은 소수로 표현된다. 다음에 설명하는 바와 같이 카테고리화를 개선하기 위해 각 구성 요소의 세기를 제곱한 값을 사용할 수 있다.
M(=2) 개의 코드워드 4-터플 서브세트가 사용되어이 1이고, 2 개의 코드워드 4-터플 서브세트에서 상위 비트의 최소수 L이 1이므로, ??대수 K는 1로 정의된다. 그러므로, 각각의 코드워드 4-터플에서 하나의 최대 소수 또는 최소 소수가 제거된 후 남아있는 3 개의 소수에 대한 분산을 계산한다. 최대 소수를 제거한 경우, 그룹 A에는 세 개의 0을 표현하기 위한 3 개의 소수만이 남아 있는 반면, 그룹 B에는 하나의 0 과 두 개의 1을 표현하기 위한 3 개의 소수가 남게 되므로, 그룹 A에 속한 각각의 코드워드 4-터플에 대한 분산이 그룹 b에 속한 각각의 코드워드 4-터플에 대한 분산보다 작아진다. 최소 소수를 제거한 경우, 그룹 A에는 두 개의 0 과 한 개의 1을 표현하기 위한 3 개의 소수만이 남아 있는 반면, 그룹 B에는 세 개의 1 을 표현하기 위한 3 개의 소수가 남게 되므로, 그룹 A에 속한 각각의 코드워드 4-터플에 대한 분산이 그룹 b에 속한 각각의 코드워드 4-터플에 대한 분산보다 커진다. 따라서, 평균 분산과의 비교 결과를 기초로 코드워드 4-터플이 그룹 A에 속하는지 아니면 그룹 B에 속하는 지를 결정하는데, 평균 분산은 모든 코드워드 4-터플에 대한 분산의 평균값이다.
코드워드 4-터플이 그룹 A에 속하는 것으로 결정되면, 하나의 최대 소수만이 1로 변환되고 3 개의 남아있는 소수들이 0으로 변환된다. 코드워드 4-터플이 그룹 B에 속하는 것으로 결정되면, 하나의 최소 소수만이 0으로 변환되고, 나머지 3 개의 소수들이 1로 변환된다. 재생 코드워드 4-터플이 상기와 같이 형성된 후에 재생 코드워드 4-터플에서 네 번째 비트를 지우면 복호화된 메시지 3-터플을 구할 수 있다.
상세한 설명을 위해 네 개의 연속한 코드워드 4-터플 C1 내지 C4와 그에 대한 한 개의 전송 패리티 코드워드 4-터플 Cp가 C1=(0.1, 0.5, 0.3, 0.2), C2=(0.1, 0.7, 0.6, 0.5), C3=(0.4, 0.1, 0.3, 0.2), C4=(0.6, 0.1, 0.5, 0.3), Cp=(0.8, 0.4, 0.2, 0.6)와 같이 재생되었다고 가정하자. C1 내지 C4 및 Cp에서 각각 다섯 개의 최대 소수 0.5, 0.7, 0.4, 0.6, 0.7를 삭제하면, C1에서는 (0.1, 0.3, 0.2)이 C2 에서는 (0.1, 0.6, 0.5), C3에서는 (0.1, 0.3, 0.2), C4에서는 (0.1, 0.5, 0.3), Cp에서는 (0.4, 0.2, 0.6)이 남게된다. 네 개의 연속한 코드워드 4-터플 C1 내지 C4 및 대응되는 패리티 코드워드 4-터플 Cp에 대한 다섯 개의 분산과 그 다섯 개의 분산에 대한 평균 분산이 각각 0.02(=(0.1-0.2)2+(0.3-0.2)2+(0.2-0.2)2), 0.14(=(0.1-0.4)2+(0.6-0.4)2+(0.5-0.4)2), 0.02(=(0.1-0.2)2+(0.3-0.2)2+(0.2-0.2)2), 0.08(=(0.1-0.3)2+(0.5-0.3)2+(0.3-0.3)2), 0.06(=(0.4-0.4)2+(0.2-0.4)2+(0.6-0.4)2), 0.068(=0.02+0.14+0.02+0.08+0.08)/5)이므로 제 1 및 제 3 코드워드 4-터플 C1 및 C3은 그룹 A로 정의되는 반면 제 2, 제 4 및 패리티 코드워드 4-터플 C2, C4 및 Cp는 그룹 B로 정의된다. 그러므로 C1 내지 C4 및 Cp가 각각 C1R=(0, 1, 0, 0), C2R=(0, 1, 1, 1), C3R=(1, 0, 0, 0), C4R=(1, 0, 1, 1) 및 CpR=(1, 1, 0, 1)로 재생된다.
[실시 예2] ((7,4) 해밍 코드를 구비하는 3:4 채널 부호화 알고리즘)
입력 메시지가 12 비트 010011100101 라고 가정하자.
12 비트 입력 메시지가 4개의 메시지 3-터플, 즉 010, 011, 100, 101로 분할되므로, 본 발명에 따른 3:4 채널 코딩 알고리즘에 따라 4 개의 코드워드 4-터플이 생성된다.
제 1 및 제 3 코드워드 4-터플이 그룹 A에 속하고, 제 2 및 제 4 코드워드 4-터플이 그룹 B에 속하므로 4 개의 코드워드 4-터플에 대한 서브세트 정보 4-터플은 0101로 표현될 수 있다. 여기서 0은 그룹 A를 의미하고 1은 그룹 B를 의미한다.
예를 들어, (7,4) 해밍 코드(Hamming codes)와 같은 일반적인 채널 부호화 알고리즘을 서브세트 정보 4-터플 0101에 적용하면, 서브세트 정보 4-터플에 대한 에러를 정정하는 서브세트 패리티 3-터플 110, 즉 리던던시가 생성된다. 필요하다면, 서브세트 패리티 3-터플 110이 본 발명에 따른 3:4 채널 부호화 알고리즘을 사용하여 패리티 코드워드 4-터플 1101로 변환될 수 있다. 패리티 코드워드 4-터플은 4 개의 코드워드 4-터플의 앞쪽이나 뒤쪽에 위치하는 것이 바람직하지만 그 패리티 코드워드 4-터플의 위치는 문제가 되지 않는다.
패리티 코드워드 4-터플 1101이 앞쪽에 위치하는 경우 패리티 코드워드 4-터플 1101 과 4 개의 코드워드 4-터플 0100, 0111, 1000, 1011이 채널을 통해 20 비트 코드워드 1101 0100 0111 1000 1011로 전송된다. 채널이 다수의 채널 잡음을 가지므로 그룹 B에 속한 제 3 코드워드 4-터플 0111이 복호화 과정을 통해 그룹 A에 속하는 제 3 재생 코드워드 4-터플 0001로 잘못 해독되었다고 가정하자. 다시 말해서, 20 비트 코드워드 1101 0100 0111 1000 1011이 20 비트 재생 코드워드 11010100 0001 1000 1011로 잘못 해독되었다고 가정하자. 따라서, 제 2 내지 제 4 재생 코드워드 4-터플 0100, 0001, 1000은 그룹 A에 속하는 반면, 제 5 재생 코드워드 4-터플 1011 만이 그룹 B에 속하므로, 0이 그룹 A를 표현하고 1이 그룹 B를 표현하는 경우, 제 2 내지 제 5 재생 코드워드 4-터플에 대한 재생 서브세트 정보가 0001로 표현된다.
20 비트 재생 코드워드 1101 0100 0001 1000 1011가 3:4 채널 부호화 알고리즘의 룩업테이블을 기초로 15 비트 재생 메시지 110 010 000 100 101로 복호화된다. 제 1 재생 메시지 3-터플 110은 4 개의 나머지 재생 메시지 3-터플 010, 000, 100, 101에 대한 서브세트 정보 4-터플 0001 에 대한 리던던시, 즉 서브세트 패리티 3-터플이 된다.
서브세트 패리티 3-터플 110과 서브세트 정보 0001에 일반적인 (7,4) 해밍 코드를 적용하여 평가될 수 있는 신드롬(syndrom)을 계산하면, 제 3 재생 메시지 3-터플이 잘못 해독되었음을 알 수 있다. 따라서, 제 3 전송 코드워드 4-터플이 그룹 A에 속하지 않고 그룹 B에 속하므로, 제 3 재생 코드워드 4-터플 0001은 제 3 정정 코드워드 4-터플 0111로 정정될 수 있다. 제 3 정정 코드워드 4-터플 0111은 3:4 채널 복호화를 통해 제 3 재생 메시지 3-터플 011로 복호화 되므로 15 비트 재생 메시지 110 010 011 100 101에서 서브세트 패리티 3-터플을 삭제함으로써 12 비트 재생 메시지 010 011 100 101을 생성할 수 있다.
결과적으로, 12 비트 메시지가 본 발명에 따라 20비트의 코드워드로 부호화되므로 코드 레이트는 0.6(=12/20)이 된다.
전술한 바와 같이, N:N+1 채널 부호화 알고리즘에서 그룹 부여화 과정중의 에러를 정정함으로써 보다 빠른 부호화율(code rate)로 이진 데이터를 부호화하고 전송 코드워드 데이터를 복호화할 수 있다.

Claims (12)

  1. N:N+1 채널 코드에서 에러를 정정하는 방법에 있어서,
    (a) 2N+1코드워드 (N+1)-터플을 M 개의 코드워드 (N+1)-터플 서브세트로 카테고리화하되, M은 1보다 큰 정수이고, 각 서브 세트 G는 양의 정수인 NG개의 코드워드 (N+1)-터플을 가지며, M 개의 서브세트 내에 있는 코드워드 (N+1)-터플의 총수는 2N이고,
    상기 각 서브세트 G는 사전 결정된 수 KG의 하위 비트와 사전 결정된 수 (N+1-KG)의 상위 비트를 갖고, 임의의 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수는 임의의 다른 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수와 다른 카테고리화(categorizing) 단계;
    (b) 2N메시지 N-터플을 각각 상기 M 개의 서브세트에 있는 상기 2N코드워드 (N+1)-터플과 일대일 대응되게 매칭시켜 룩업 테이블(lookup table)을 형성하는 매칭 단계;
    (c) 입력 메시지를 다수의 메시지 N-터플로 분할하는 단계;
    (d) 상기 룩업테이블을 사용하여 상기 다수의 메시지 N-터플에 포함된 각각의 메시지 N-터플을 대응되는 코드워드 (N+1)-터플로 순차적으로 부호화하는 단계와;
    (e) Q 개의 코드워드 (N+1)-터플에 하나의 서브세트 패리티 (P-Q)-터플을 할당하되, 상기 서브세트 패리티 (P-Q)-터플은 상기 Q 개의 코드워드 (N+1)-터플에 대한 서브 세트 정보를 표현하는 리던던시 비트이고 P는 Q보다 크고, P와 Q는 각각 양의 정수인 패리티 할당 단계; 및
    (f) 상기 Q 개의 코드워드 (N+1)-터플과 상기 한 개의 서브세트 패리티 (P-Q)-터플을 전송하는 단계를 포함하는 에러 정정 방법.
  2. 제 1 항에 있어서, 상기 방법은, (g) 상기 룩업테이블과 전송 서브세트 패리티 (P-Q)-터플을 사용하여 Q 개의 전송 코드워드 (N+1)-터플을 복호화하여 대응되는 Q 개의 재생 메시지 N-터플을 생성하는 복호화 단계를 더 포함하는 에러 정정 방법.
  3. 제 2 항에 있어서, 상기 단계 (g)는:
    (g1) Q 개의 전송 코드워드 (N+1)-터플과 전송 서브세트 패리티 (P-Q)-터플을 수신하는 단계;
    (g2) 각각의 전송 코드워드 (N+1)-터플마다 적어도 하나의 분산을 계산하는 단계;
    (g3) 상기 분산 비교 결과를 기반으로 상기 각각의 전송 코드워드 (N+1)-터플에 대응되는 서브세트 G를 결정하여 상기 Q 개의 전송 코드워드 (N+1)-터플에 대한 서브세트 정보 Q-터플을 생성하는 단계;
    (g4) 상기 전송 서브세트 패리티 (P-Q)-터플을 기반으로 상기 서브세트 정보 Q-터플을 수정하는 단계;
    (g5) 상기 수정 서브세트 정보 Q-터플을 기반으로 Q 개의 재생 코드워드 (N+1)-터플을 생성하는 단계; 및
    (g6) 상기 룩업테이블을 기초로 상기 재생 코드워드 (N+1)-터플에 재생 메시지 N-터플을 할당하는 단계를 포함하는 에러 정정 방법.
  4. 제 3 항에 있어서, 상기 단계 (g2)는:
    (g21) 각각의 전송 코드워드 (N+1)-터플을 (N+1) 소수로 수신하는 단계;
    (g22) 상기 M 개의 코드워드 (N+1)-터플 서브세트에서 상위 및 하위 비트의 최소수 L(L은 정수)을 계산하는 단계;
    (g23) 상기 최소수 L과 세트수 M에서 최대수 K를 계산하는 단계;
    (g24) 상기 (N+1)개의 소수에서 최대수 K와 동일한 개수의 최대 소수 또는 최소 소수를 제거하여 (N+1-K) 개의 소수를 생성하는 단계;
    (g25) 상기 (N+1-K)개의 소수에 대한 (N+1-K)번째 분산을 계산하는 단계와;
    (g26) 상기 (N+1-K)번째 분산을 상기 다수의 전송 코드워드 (N+1)-터플에 대한 분산의 평균값인 (N+1-K)번째 평균 분산과 비교하는 단계; 및
    (g27) Log2M 이 0보다 작거나 같아지거나 최소수 L이 0보다 작아질 때까지 Log2M 과 최소수 L을 1만큼 감소시킨 후, 상기 단계 (g23) 내지 상기 단계 (g26)를 수행하는 단계를 포함하는 에러 정정 방법.
  5. 제 4 항에 있어서, 상기 단계 (g5)가, (g51) 전송 코드워드 (N+1)-터플이 서브세트 G에 속하면 상기 전송 코드워드 (N+1)-터플에서 사전 결정된 수 KG만큼 하위 소수를 하위 비트로 변환하고, 사전 결정된 수 (N+1-KG) 만큼 상위 소수를 상위 비트로 변환하여 재생 코드워드 (N+1)-터플을 생성하는 단계를 포함하는 에러 정정 방법.
  6. 제 3 항에 있어서, 상기 서브세트 패리티 (P-Q)-터플이 룩업테이블을 기초로 대응되는 패리티 코드워드 (P-Q+1)-터플로 대체되고, 상기 전송 서브세트 패리티 (P-Q)-터플이 대응되는 전송 패리티 코드워드 (P-Q+1)-터플로 대체되는 에러 정정 방법.
  7. N:N+1 채널 코드에서 에러를 정정하는 장치에 있어서,
    2N+1코드워드 (N+1)-터플을 M 개의 코드워드 (N+1)-터플 서브세트로 카테고리화하되, M은 1보다 큰 정수이고, 각 서브 세트 G는 양의 정수인 NG개의 코드워드(N+1)-터플을 가지며, M 개의 서브세트 내에 있는 코드워드 (N+1)-터플의 총수는 2N이고,
    상기 각 서브세트 G는 사전 결정된 수 KG의 하위 비트와 사전 결정된 수 (N+1-KG)의 상위 비트를 갖고, 임의의 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수는 임의의 다른 서브세트에 있는 모든 코드워드 (N+1)-터플의 하위 비트 개수와 다른 카테고리화(categorizing) 수단;
    2N메시지 N-터플을 각각 상기 M 개의 서브세트에 있는 상기 2N코드워드 (N+1)-터플과 일대일 대응되게 매칭시켜 룩업 테이블(lookup table)을 형성하는 매칭 수단;
    입력 메시지를 다수의 메시지 N-터플로 분할하는 분할 수단;
    상기 룩업테이블을 사용하여 상기 다수의 메시지 N-터플에 포함된 각각의 메시지 N-터플을 대응되는 코드워드 (N+1)-터플로 순차적으로 부호화하는 부호화 수단;
    Q 개의 코드워드 (N+1)-터플에 하나의 서브세트 패리티 (P-Q)-터플을 할당하되, 상기 서브세트 패리티 (P-Q)-터플은 상기 Q 개의 코드워드 (N+1)-터플에 대한 서브 세트 정보를 표현하는 리던던시 비트이고 P는 Q보다 크고, P와 Q는 각각 양의 정수인 패리티 할당 수단; 및
    상기 Q 개의 코드워드 (N+1)-터플과 상기 한 개의 서브세트 패리티 (P-Q)-터플을 전송하는 전송 수단을 포함하는 에러 정정 장치.
  8. 제 7 항에 있어서, 상기 장치는, 상기 룩업테이블과 전송 서브세트 패리티 (P-Q)-터플을 사용하여 Q 개의 전송 코드워드 (N+1)-터플을 복호화하여 대응되는 Q 개의 재생 메시지 N-터플을 생성하는 복호화 수단을 더 포함하는 에러 정정 장치.
  9. 제 8 항에 있어서, 상기 복호화 수단은:
    Q 개의 전송 코드워드 (N+1)-터플과 전송 서브세트 패리티 (P-Q)-터플을 수신하는 수신 수단;
    각각의 전송 코드워드 (N+1)-터플마다 적어도 하나의 분산을 계산하는 분산 계산 수단;
    상기 분산 비교 결과를 기반으로 상기 각각의 전송 코드워드 (N+1)-터플에 대응되는 서브세트 G를 결정하여 상기 Q 개의 전송 코드워드 (N+1)-터플에 대한 서브세트 정보 Q-터플을 생성하는 서브세트 정보 Q-터플 생성 수단;
    상기 전송 서브세트 패리티 (P-Q)-터플을 기반으로 상기 서브세트 정보 Q-터플을 수정하는 서브세트 정보 Q-터플 수정 수단;
    상기 수정 서브세트 정보 Q-터플을 기반으로 Q 개의 재생 코드워드 (N+1)-터플을 생성하는 재생 코드워드 (N+1)-터플 생생 수단; 및
    상기 룩업테이블을 기초로 상기 재생 코드워드 (N+1)-터플에 재생 메시지N-터플을 할당하는 재생 메시지 N-터플 할당 수단을 포함하는 에러 정정 장치.
  10. 제 9 항에 있어서, 상기 분산 계산 수단은:
    각각의 전송 코드워드 (N+1)-터플을 (N+1) 소수로 수신하는 수단;
    상기 M 개의 코드워드 (N+1)-터플 서브세트에서 상위 및 하위 비트의 최소수 L(L은 정수)을 계산하는 수단;
    상기 최소수 L과 세트수 M에서 최대수 K를 계산하는 수단;
    상기 (N+1)개의 소수에서 최대수 K와 동일한 개수의 최대 소수 또는 최소 소수를 제거하여 (N+1-K) 개의 소수를 생성하는 수단;
    상기 (N+1-K)개의 소수에 대한 (N+1-K)번째 분산을 계산하는 수단;
    상기 (N+1-K)번째 분산을 상기 다수의 전송 코드워드 (N+1)-터플에 대한 분산의 평균값인 (N+1-K)번째 평균 분산과 비교하는 수단; 및
    Log2M 이 0보다 작거나 같아지거나 최소수 L이 0보다 작아질 때까지 Log2M 과 최소수 L 을 1만큼 감소시키는 수단을 포함하는 에러 정정 장치.
  11. 제 10 항에 있어서, 상기 재생 코드워드 (N+1)-터플 생성 수단이, 전송 코드워드 (N+1)-터플이 서브세트 G에 속하면 상기 전송 코드워드 (N+1)-터플에서 사전 결정된 수 KG만큼 하위 소수를 하위 비트로 변환하고, 사전 결정된 수 (N+1-KG) 만큼 상위 소수를 상위 비트로 변환하여 재생 코드워드 (N+1)-터플을 생성하는 수단을 포함하는 에러 정정 장치.
  12. 제 9 항에 있어서, 상기 서브세트 패리티 (P-Q)-터플이 룩업테이블을 기초로 대응되는 패리티 코드워드 (P-Q+1)-터플로 대체되고, 상기 전송 서브세트 패리티 (P-Q)-터플이 대응되는 전송 패리티 코드워드 (P-Q+1)-터플로 대체되는 에러 정정 장치.
KR1020000068340A 2000-11-17 2000-11-17 N:n+1 채널 코드용 에러 정정 방법 및 그 장치 KR100363365B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000068340A KR100363365B1 (ko) 2000-11-17 2000-11-17 N:n+1 채널 코드용 에러 정정 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000068340A KR100363365B1 (ko) 2000-11-17 2000-11-17 N:n+1 채널 코드용 에러 정정 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20020038237A KR20020038237A (ko) 2002-05-23
KR100363365B1 true KR100363365B1 (ko) 2002-12-05

Family

ID=19699605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000068340A KR100363365B1 (ko) 2000-11-17 2000-11-17 N:n+1 채널 코드용 에러 정정 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100363365B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101214509B1 (ko) 2007-05-17 2012-12-24 삼성전자주식회사 연판정 값 생성 장치 및 그 방법

Also Published As

Publication number Publication date
KR20020038237A (ko) 2002-05-23

Similar Documents

Publication Publication Date Title
CA2470135C (en) Method and apparatus for deinterleaving interleaved data stream in a communication system
EP1296457B1 (en) Multi-level data processing for recording
US6745366B1 (en) Error correcting method and apparatus for N:N+1 channel codes
JP3652235B2 (ja) N:n+1チャンネル符号化方法及びそのための装置
US5703580A (en) Apparatus for encoding and decoding run length limited code data
EP1274172A2 (en) Digital signal modulation method and apparatus, encoding method and apparatus, storage medium, transmission apparatus and program
KR100363365B1 (ko) N:n+1 채널 코드용 에러 정정 방법 및 그 장치
JP2001515687A (ja) n−ビットソースワードから対応したm−ビットチャネルワードへの符号化装置、並びに、逆向きの復号化装置
US6954554B2 (en) Block coding/decoding method and apparatus for increasing code rate
JP3764647B2 (ja) N:n+1チャンネルコード用誤り訂正方法及びそのための装置
KR100274213B1 (ko) Rll(2,25)코드를 이용한 7/13 채널코딩 및 채널디코딩방법
JP2000078025A (ja) 符号化されたデ―タを処理する装置
US7055080B2 (en) High code rate block coding/decoding method and apparatus
JP4129241B2 (ja) ホログラフィック再生データ圧縮装置及び方法
KR100555976B1 (ko) Hdds 시스템에서 홀로그래픽 데이터 기록/재생시넌밸런스드 듀얼 웨이트 코딩/디코딩 방법
CN1258884C (zh) 采用有限游程长度调制的数据编码和解码方法
JPH06311042A (ja) デジタル変調装置
CN100555440C (zh) 用于红光多阶光存储装置的多阶游长数据转换方法及装置
US7567191B2 (en) Encoding method and encoder for generating balanced code or constant weighted code
GB2304260A (en) Apparatus for encoding and decoding for run length limited code data using two stages
CN1461006A (zh) 采用有限游程长度调制的数据编码和解码方法
Fragiacomo et al. Soft decision error correcting line code for optical data storage
JPH11215003A (ja) 符号分割方法および符号変換方法
JPH06176497A (ja) ディジタル信号の記録符号化方法
JP2003018012A (ja) ディジタル信号の変調方法、ディジタル信号変調装置、及びディジタル信号記録媒体

Legal Events

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

Payment date: 20101101

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee