KR950010399B1 - 코드 심볼 블록의 디코딩 방법 및 장치 - Google Patents

코드 심볼 블록의 디코딩 방법 및 장치 Download PDF

Info

Publication number
KR950010399B1
KR950010399B1 KR1019870005605A KR870005605A KR950010399B1 KR 950010399 B1 KR950010399 B1 KR 950010399B1 KR 1019870005605 A KR1019870005605 A KR 1019870005605A KR 870005605 A KR870005605 A KR 870005605A KR 950010399 B1 KR950010399 B1 KR 950010399B1
Authority
KR
South Korea
Prior art keywords
code
code word
symbol
word
block
Prior art date
Application number
KR1019870005605A
Other languages
English (en)
Other versions
KR880001118A (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 엔. 브이. 필립스 글로아이람펜파브리켄
Publication of KR880001118A publication Critical patent/KR880001118A/ko
Application granted granted Critical
Publication of KR950010399B1 publication Critical patent/KR950010399B1/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
    • 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/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
    • H03M13/2909Product 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
    • H03M13/2921Coding, 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 wherein error correction coding involves a diagonal direction
    • 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
    • H03M13/2927Decoding strategies

Landscapes

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

Abstract

내용 없음.

Description

코드 심볼 블록의 디코딩 방법 및 장치
제 1 도는 코드 심볼 블록의 셋업(set-up) 예를 부호로 표시한 도면.
제 2 도는 소위 CD-ROM 포맷으로 이용되는 코드 심볼 블록의 상세도.
제 3 도는 사용된 리드-솔로몬(Reed-Solomon) 코드의 패리티 체크 매트릭스(행렬)를 도시하는 도면.
제 4 도는 본 발명에 따른 장치의 블록도.
제 5 도는 본 발명에 따른 플로우챠트 도면.
제 6 도는 오류(에러) 패턴의 다른 예를 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
22 : 복조기 24 : 제 1 부호 해독기
26 : 디인터리빙 소자 28 : 제 2 부호 해독기
30 : 검출기 34 : 제 3 부호 해독기
본 발명은 코드 심볼 블록을 정정하는 방법에 관한 것으로서, 코드 심볼 블록은 제 1 최대 거리 분리가능 코드의 제 1 열의 제 1 코드 워드와 제 2 최대 거리 분리가능 코드의 제 2 열의 제 2 코드 워드로 분할되며, 코드의 각각의 정정 코드 워드는 심볼상에서 취해지는 적어도 3개의 어느 다른 정정 코드 워드에 대해서 최소 거리를 가지며, 모든 넌 리던던트(non-redundant : 비용장) 코드 심볼은 제 1 코드 워드부와 제 2 코드 워드부를 형성한다. 이 종류의 방법은 두개의 일본 특허 출원 제84/57595/6호를 기초로 한 이전의 유럽 특허원 제156 440(PHQ 84 008C)호에 개시되어 있다. 거기에서, 최소 거리 분리가능(minimum distance separable : MDS) 코드는(축약형) 리드-솔로몬 코드에 의해 형성되었지만, 심볼들을 기초로 하여 구성된 다른 코드를 또는 사용 가능하다. 하나의 심볼은 1보다 큰 고정 비트수에 의해 형성되는 그룹이며, 양호하게는, 상기 수는 매번 8비트에 달한다. 리던던트와 넌 리던던트 심볼 사이에 분리되는 심볼 레벨에서 시스템적인 코드들이 종종 사용되지만, 본 발명은 이에 제한되지 않는다. 공지된 시스템은 소정의 응용, 예로, 컴퓨터 소프트웨어의 기억 장치에 대한 신뢰도가 향상된 고품질 오디오 데이터를 위한 소위 “콤팩트 디스크”포맷에 따른 디지틀 데이터의 기억 장치에 관한 것이다.
종래 시스템에서, 데이터는 오디오 데이터에 대하여 통상 실행되는 것과 동일한 방법으로 제일 먼저 디코드되며 두개의 리드-솔로몬 코드의 리던던시가 오류 정정과, 정정될 수 없거나 또는 정정될 것 같지 않은 추가 오류의 검출을 위해 사용된다. 이러한 리드-솔로몬 코드는 긴 버스트 오류 정정에 적합하며 실시간 기준(real-time basis)으로 유익하게 실행될 수 있는 인터리빙(interleaving) 기술을 사용한다. 게다가, 코드 블록 레벨 또는 섹터 레벨에는 추가 오류 정정이 보다 신뢰할 수 있게 제공되도록 하기 위하여 포인터 정보(pointer information)로서 제 1 의 두개의 코드의 오류 검출을 이용할 수 있는 의사 프로덕트 코드(pseudo-product code)가 제공되어 있다. 이는 심볼당 관련 디코딩이 최소한 하나의 부가 비트를 필요로 한다는 것을 의미한다. 때때로 이러한 전송 비트 폭을 증가하는 것이 장애가 된다.
앞서 설명한 종류의 코드에 대한 다른 응용에서, 상기 포인터 정보는 우선 두개의 코드의 디코딩이 상기 포인터 정보를 발생하지 않기 때문에 결여되거나, 인터리빙 코드가 다른 환경에서 사용되므로해서 인터리빙 코드가 결여될 수 있다. 심볼에 대해서 취해진 세개 또는 그 이상의 코드 워드 사이의 최소 거리에 대하여 매 코드 워드마다 하나의 심볼은 본질적으로 항상 정정할 수 있는 심볼이지만, 부정확한 정정의 위험성이 코드 워드 길이의 증가에 따라 급속히 증가한다. 3보다 긴 최소 거리에 대해서는, 부정확한 정정의 위험성이 더 적어지나, 긴 코드 워드(많은 심볼들을 포함하는)인 경우에는 아직도 상당히 부정확한 정정의 위험성이 남아 있다.
[발명의 목적]
본 발명의 목적은 전체 코드 워드에 관해서 뿐만 아니라 가능하게 정정되는 코드 심볼에 관한 부가 오류 지시정보(additional error indication information)에 따른 코드 워드에서 최종적으로 정정을 수행함으로서 더욱 더 신뢰할 수 있는 디코딩을 제공하여 보다 신뢰할 수 있는 오류 정정이 실행되게 하는데 있다. 본 발명에 따르면 부정확한 정정은 지금까지 정확한(올바른) 코드 심볼을 틀린 코드 심볼로 현저하게 변환시킬 수 있는 것을 알 수 있다.
[발명의 개요]
본 발명에 따른 목적은 앞서 설명된 종류의 방법이 아래 단계를 포함하여 성취되는데, 즉;
(1) 완전한 코드 심볼의 블록의 수집하는 단계와,
(2) 제 1 코드 워드 및 제 2 코드 워드의 모든 신드롬 심볼(syndrome symbol)들을 결정하며, 심드롬이 제로에서 이탈하는 각 코드 워드에 대해 플랙(flag)을 형성하는 단계와.
(3) 모든 제 1 코드 워드에 대한 플랙의 수를 합하고, 그와 분리적으로 모든 제 2 코드 워드에 대한 플랙의 수를 합하는 단계와,
(4) 제로에서 이탈하는 신드롬을 가지는 제 1 코드 워드에 대해 정정할 수 있는 오류 위치를 판단하는 단계와,
(5) 부정확한 것으로서의 표시이며 관련된 오류 위치를 포함하는 제 2 코드 워드를 검출하고, 포지티브 검출 결과의 경우에만 관련 오류를 정정하며, 반대의 경우(네가티브 검출 결과의 경우)에는 단계(4)에 따라서 다음의 제 1 코드 워드가 어드레스되는 단계와,
(6) 단계(5)에 따른 정정 후에 관련 제 1 코드 워드 및 제 2 코드 워드의 신드롬을 갱신하고, 만약 두개의 심드롬이 제로이면, 관련된 두개의 플랙을 갱신하여 배타적으로 플랙수의 합산 결과를 배타적으로 감소시키며, 그에 따라 단계(4)에 따라서 다음 제 1 코드 워드를 어드레스 하는 단계와,
(7) 부정확한 것으로 표시되는 적어도 모든 제 1 코드 워드를 어드레싱한 후에 제 1 코드 워드 및 제 2 코드 워드의 함수를 교환하여 단계(4),(5),(6)의 두번의 연속 실행이 모든 현행 제 1 코드 워드에 대해 추가 변형을 발생하지 않을때까지 단계(4),(5),(6)을 반복시키는 단계와,
(8) 그것의 부정확 또는 정확성을 신호화하여 코드 심볼 블록에 공급하는 단계를 포함한다.
이처럼 부정확한 심볼의 많은 패턴이 신속 정확하게 정정될 수 있으며, 특히 코드 워드가 정확한 코드 워드임을 성급하게 신호 전송하는 것이 방지된다. 본 발명은 또한 상기 방법을 수행하기 위한 장치에 관한 것으로서, 완전한 코드 심볼 블록을 수신하여 수집하는 수신 수단과, 수신된 심볼로부터 코드 워드마다 다수의 신드롬 심볼을 형성하도록 수신 수단에 의해 인가되는 제 1 산술 수단과, 신드롬이 제로에서 이탈하는 코드 워드마다 플랙을 저장하기 위하여 제 1 산술 수단에 의해 전달되며, 제 1 코드 워드 및 제 2 코드 워드에 대해 플랙 수에 대한 합산 결과를 분할 갱신하는 갱신 수단과, 각 코드 워드에 대해 기능하고 필요하다면 하나 또는 그 이상의 정정 심볼을 결정하기 위하여 제 1 연산 수단에 의해 제공되는 제 2 연산 수단과, 부정확한 심볼에 정정 심볼을 부가하기 위해 수신 수단과 제 2 산술 수단에 의해 전달되는 정정 수단과, 사용자 장치에 양호한 정정 블록을 제시해주는 출력 장치를 구비하며, 상기 장치에는 어느 제 1 코드 워드의 위치에서 정정 심볼과 로케이터 심볼(locator symbol)을 결정하기 위해 다수의 위치를 갖고 있는 시퀀서(sequencer)가 제공되어 있으며, 상기 시퀀서는 상기 로케이터 심볼을 경유하여 관련된 제 2 코드 워드의 신드롬을 어드레스하는 어드레싱 수단과, 제로에서 이탈하는 최후의 신드롬 제어하에 최종 로케이터 심볼에 의해 어드레스된 코드 심볼을 배타적으로 정정하여 그것에 관련되는 어느 신드롬을 갱신하는 제 1 검출기와, 관련 제1 및 제 2 코드 워드의 플랙을 갱신하고, 합산 결과를 감소시키고, 다음의 제 1 코드 워드를 연속적으로 어드레스 하기 위하여 단지 0과 같게 되는 관련 제 2 코드 워드의 신드롬의 제어하에 상기 갱신 수단을 제어하는 제 2 검출기를 포함하며, 상기 시퀀서는 또한 제1 및 제 2 코드 워드의 기능을 최소한 부정확한 제 1 코드 워드에 대응하는 모든 위치를 통과한 후에 교환시키며 상기 위치중 또다른 위치를 활성화시키는 교환장치를 포함하며, 상기 교환 장치의 작동시 2개의 가장 최근의 통과 동안 현재의 제 1 코드 워드를 따라서 도입된 임의의 변형을 검출하여 네가티브 검출 결과인 경우에 상기 출력 장치를 작동시키는 제 3 검출기를 포함하는 것을 특징으로 한다. 양호한 수행은 다수의 성분 검출을 포함하는 결과로서 실현된다.
또한 본 발명의 양호한 특성은 청구범위 종속항에 설명되어 있다. 본 발명에 따라서 처리 속도 및/또는 신뢰성 및/또는 디코딩 용량을 증가시키는 특성들이 실현된다. 본 발명은 도면을 참조하여 상세히 설명될 것이다.
부록 A는 제 5 도에 대한 설명 리스트를 포함한다.
제 1 도는 심볼에 나타나는 코드 심볼 블록의 셋업의 일반적인 예를 부호로 표시한 도면으로 각 스퀘어가 심볼을 나타낸다. 심볼은 세개 또는 네개의 비트(통상 그 이상)의 고정된 비트수에 의해 형성되는 그룹이다. 이를 고려해 볼 때 여덟개가 양호한 값이다. 긴 심볼의 경우 연산의 복잡성은 통상 결점이 된다. 단순성을 위하여 코드는 심볼 레벨에서 시스템적이어야 하나, 이것은 본 발명의 실행을 위해 반드시 필요한 것은 아니다. 본 실시예에서, 블록은 (D10-D19), (D20-D29), (D30-D79)까지 총계하여 70개의 데이터 심볼을 포함한다. 블록은 열개의 제 1 리드-솔로몬 코드의 제 1 코드 워드를 포함하며, 각각은 일곱개의 데이터 심볼과 두개의 리던던트 심볼로 구성되어 있다. 예를들면, 이러한 열들의 제 1 워드는 데이터 심볼(D10-D70)과 리던던트 심볼(P10,P20)을 포함한다. 제 2 워드는 제 2 열(컬럼, column)의 아홉개의 심볼을 포함한다. 제10워드는 제10열의 아홉개의 심볼을 포함한다. 심볼 길이가 충분히 길때, 정정 가능한 두개의 코드 워드 사이에서 이 코드 워드의 최소 거리(minimum distance)는 심볼이 정정 취해진 3과 동일하다. 이것은 하나의 틀린 심볼상이 정정(또는 가장 큰 두개의 틀린 코드 심볼이 검출)됨을 의미한다. 한편으로, 블록은 제 2 리드-솔로몬 코드의 아홉개의 제 2 코드 워드를 포함한다. 이 워드의 각각은 세개의 리던던트 심볼(redundant symbol)과 열개의 다른 심볼을 포함한다. 다른 심볼은 리드-솔로몬 코드의 제 1 워드의 데이터 심볼 또는 리던던트 심볼이다.
예를들면, 일련의 제 1 워드는 데이터 심볼(D10-1019)과 리던던트 심볼(Q11,Q12,Q13)을 포함한다. 제 2 워드는 둘째행(row)의 열세개의 심볼을 포함한다. 아홉개의 워드는 아홉행의 열세개의 심볼을 포함하는데, 리던던트 심볼(P20-P29)과, 각각의 제 1 리드-솔로몬 코드의 제 1 코드 워드 및, 제 2 리드-솔로몬 코드의 리던던트 심볼(Q91,Q92,Q93)이 결합된다. 심볼 길이가 충분하게 길때, 2개의 가능한 정정 코드 워드 사이의 최종의 코드 워드의 최소 거리는 심볼상에서 취해진 4와 동일하다. 이것은 하나의 틀린 심볼이 정정되어 제 2의 틀린 심볼이 검출(또는 가장 큰 세개의 코드 심볼이 검출)됨을 의미한다. 동일한 생성 행렬(generator matrix)이 제 1 리드-솔로몬 코드의 모든 코드 워드에 사용된다. 동일한 생성 행렬은 제 2 리드-솔로몬 코드의 모든 코드 워드에 사용된다. 이 경우 제11열로부터 제13열까지 각각의 열들은 심볼(Q81-Q83,Q91-Q93)이 리던던트 심볼로서 행동하며 심볼(Q11-Q13,Q21-Q23,Q71-Q73)은 데이터 심볼로서 행동하는 제 1 리드-솔로몬 코드의 제 1 코드 워드이다. 이처럼, 모든 심볼은 매번 제 1 코드의 제 1 코드 워드부와 제 2 코드 워드부를 형성한다. 이러한 구조를 하나의 (실)프로덕트 코드(product code)라고 한다.
블록의 셋업은 변형 가능하다. 예를들면, 코드 워드마다 데이터 심볼의 수는 다를 수 있으며 그 수는 양쪽 코드가 동일할 수 있다. 코드 워드마다 리던던트 심볼의 수는 다를 수 있으나, 하나의 코드 워드만을 기초로 한 정정은 최소한 두번이다. 게다가, 의사 프로덕트 코드가 관련될 수 있으며, 모든 리던던트 심볼은 또한 두개 코드 워드부를 형성하지 않는다. 다음의 예로써, 수직 코드 워드는 제 1 도에 도시한 동일 방법으로 형성된다. 수평 코드 워드는 형성되지 않으며, 대신에, 사선 코드 워드가 형성되며, 그리고 제 1 코드 워드는 심볼(D10,D21,D32,…D76,D17,D28,D19,…Q21,Q32,Q43)로 구성된다. 제 2 코드 워드는 심볼(D20,D31,…D75,D16,…D18,D29,…Q31,Q53등)로 구성된다. 이 경우 상호간에 동일 생성 행렬이 모든 수직 코드 워드뿐만 아니라 모든 사선 코드 워드에 대해 매번 이용된다. 그러나 심볼(Q11-Q93)은 그 경우에 수직 코드 워드부를 형성하지 않는다. 의사 프로덕트 코드를 형성하는 다른 방법 또한 가능하다. 정정되는 코드 심볼의 표시는 정정이 가능한 코드 심볼을 포함하는 하나 또는 그 이상의 코드 워드에서 다른 방법으로 유도된다. 리드-솔로몬 코드 이외의 다른 심볼 정정 코드는 공지의 바이-인접 코드(by-adjacent code)이다.
제 2 도는 소위 CD-ROM 포맷으로 사용되는 코드 심볼 블록의 상세한 도면으로, 이것은 양호한 실시예이다. 43×24의 8-비트 데이터 심볼들이 있다. (26,24) 리드-솔로몬 코드의 43p-코드 워드가 있다. 모든 이 코드 워드는 열(column)로 배열된다. (45,43) 리드-솔로몬 코드의 26워드가 있다. 데이터 심볼에 관한 한, 이 워드는 도시한 사선에 따라 배열된다. 리던던트 심볼은 두개의 하단선에 도시된다. 그래서 Q-리던던시는 P-워드부를 형성하지 못한다.
[디코딩 원리]
제 2 도의 코드 포맷은 코드 워드마다 매번 하나의 오류 심볼이 정정되거나, 두개의 오류 심볼이 검출되는 것을 의미한다. 이와 관련하여, 제 3 도는 사용된 리드-솔로몬 코드에서 사용하는 패리티 행렬 HP, HQ을 도시한다. 관련 갈로이스 필드(Galois field)의 생성 다항식(geneator polynomial)은 갈로이스 필드의 원시 성분이며, 근(root)인(X8+X4+X3+X2+1)이다. 모든 계산은 이 갈로이스 필드에서 형성된다. 하나의 오류 심볼이 코드 워드에서 정정되지만, 실제적으로 하나 이상의 심볼은 부정확하다고 볼때, 이 사실이 인지되지 않을 가능성은 거의 n/2m에 달하며, 여기서, m은 비트에서 심볼의 길이이며, n은 심볼에서 코드 워드의 길이다. P-코드 및 Q-코드에서 이런 가능성은 각각 거의 10% 및 18%에 달한다. 틀린 코드가 검출되지 않을 가능성은 1/2m=1.5×10-5(각 코드 워드마다 세개의 리던던트 심볼인 경우에 1/23m)에 달한다.
디코딩은 모든 신드롬이 한번만 계산될 때와 신드롬 심볼에 대한 정정의 기여(contribution)는 코드 심볼의 정정이 때 결정될 때만 실제적으로 가속된다. 예를들면, 제 1 의 P-코드 워드(제 2 도의 제 1 열)의 심볼이 정정된 것으로 간주된다. 이 경우, 관련된 심볼이 형성하는 부분이 Q-워드의 신드롬 심볼이 다음에 따라서 정정된다.
SO'=S0+y
S1'=S1+a44y
예를들면, 정정된 심볼의 수가 0946일때, 관련 Q워드는 심볼 946, 1034, 1078, 4, 48,…558, 602로 구성된다. 지수(44)는 패리티 행렬 HQ에서 직접 관계된다. 여기서, y는 정정(심볼로서 표현됨)의 크기다. 정정되는 다른 심볼에 대해 a의 적당한 누승씩 GF(28)에서 증배되는 심볼 정정 y에 의하여 신드롬이 정정된다. 그러므로, 리던던트 심볼처럼 많은 심드롬 심볼이 있다. 즉, 2×43+2×26=138이다. 데이터 심볼은 0000부터 1031까지의 수에 달한다. P워드의 리던던트 심볼은 1032부터 1017까지의 수에 달한다. 등급 번호(rank number) NP를 갖는 코드 워드와 연관된 등급 번호 MP를 갖는 리던던트 심볼은 번호((43×MP)+NP)를 갖는다. Q워드의 리던던트 심볼은 1118부터 1169까지의 수에 달한다. 등급번호 NQ를 갖는 코드 워드와 연관된 등급 번호 MQ를 갖는 리던던트 심볼은 수(44×MQ+43×NQ)mod.1118를 갖는다.
관련 등급 번호 NP가 P-워드 디코딩에 대해서 공지되어 있다. 디코딩 연산으로부터 정정되는 심볼의 등급 번호 MP가 유도된다. Q-코드의 신드롬 심볼에 인가되는 변형을 MP 및 NP의 정정으로부터 유도되도록 MQ 및 NQ를 찾는다. 역으로, 동일하게 Q-코드의 워드 정정이 유지된다. 데이터 심볼의 수는 다음과 같다.
NP=MQ
43×MP+NP=(44×MQ+43×NQ)mod.1118
P-정정의 경우에
MQ=NP
NQ=MP-NP mod.26
Q-정정의 경우에
NP=MQ
MP=MQ=NQ mod.26이다.
후부는 Q-리던던시 심볼이 P-코드의 어떤 워드부를 형성할 수 없기 때문에, 단지 심볼 수(0-1117)에만 적합하다.
그러나, 실 프로덕트 코드(real product code : 제 1 도)가 관계될때, 정정이 경우 관련 코드 심볼이 부분을 형성하는 두개의 코드 워드의 신드롬을 변형하는 것이 항상 필요하다. 또한, 그 경우는 MQ=NP 및 MP=NQ이다.
제 4 도는 본 발명에 따른 장치의 블록도이다. 기억 매체는 채널 비트가 “컴팩트 디스크”로서 알려진 광학적으로 판독할 수 있는 홈 형태의 저장되는 12cm의 직경을 가지는 디스크에 의해 형성된다. 블록(22)은 모터가 있는 턴테이블, 서보 시스템, 센터링 시스템(centering system), 레이저 시스템, 트래킹 시스템 등을 가리킨다. 그러나, 본 발명은 이런 소자의 특정한 작동에 관한 것은 아니다. 판독 시스템은 채널 비트를 발생한다. 복조기(22)에서, 17개의 연속적인 채널 비트(스페이싱 비트를 포함)가 8코드 비트를 가지는 코드 심볼로 변환된다. 제 1 디코더(24)에서 32코드 심볼의 프레임이 디-스크램블링(de-scrambling)에 의해서 형성된다. 이 프레임은 포함된 리던던트 심볼에 대하여 디코드되며, 그 결과 28코드 심볼이 남게 된다. 디코딩 동안에, 하나 또는 그 이상의 심볼 정정이 발생한다. 기술을 간결하기 위해 상기 디코딩 동작은 기술하지 않는다. 그 코드는 리드-솔로몬 코드다. 다른 심볼 정정 코드 또한 사용 가능하다. 디인터리빙 요소(26)에서 28코드 심볼은 각 28심볼을 포함하는 프레임에 대응하는 수 사이에 디인터리브된다. 제 2 디코더(28)에서 상기한 포함된 네개의 리던던트 심볼에 의하여 디코드되어 24코드 심볼이 남게 된다. 이 디코딩 동안에, 하나 또는 그 이상의 심볼이 정정된다. 마찬가지로 간결함을 위하여 디코딩 동작이 기술되지 않는다. 디코드된 심볼은 선(38)상에 병렬 8비트 형태로 나타난다. 또한 심볼의 심볼식 재편성으로 발생되나, 이 방법은 간결함을 위하여 기술하지 않는다.
디코더(28)의 출력 심볼은 제 2 도에 도시한 포맷을 가지는 섹터로서 조직된다. 이를 위해 디코더(28)는 심볼(인용된 특허원에서 알 수 있듯이)이 시퀀스를 재구성하는 장치를 포함한다. 디스크램브링과, 디인터리빙(deinterleaving) 및 재구성은 다른 지연 시간/길이를 갖는 FIFO 또는 다른 지연선이 구현된 랜덤 억세스 메모리(RAM)에 의하여 종종 유리하게 형성된다. 이것은 통상적인 방법이며 관련된 장비는 여기에서 기술하지 않는다. 블록(22-28)은 주요한 기능 규정 기능(function-specifying function)을 가지며, 하드웨어 레벨에서 구성은 통상 ALU, 메모리 및 입력/출력 서브-시스템과 협동하는 버스(bus)로 집중된다.
섹터는 헤더 데이터, 가능하게는 헤더 데이터에 이어지는 모든 동기화 정보를 포함한다. 최종적으로 다른 데이터가 이어진다. 구성요소(30)는 검출기다. 이 검출기는 동기화 정보에 의해서 작동되며, 이것은 동기화 정보가 원칙적으로 데이터 스트림의 다른 곳에서 발생되지 않는 내용을 가지므로 가능하다. 이 정보를 인지한 후에, 검출기에서 심볼 계수기는 수신된 심볼을 카운트하기 위하여 작동된다. 동기화 정보는 최대 거리 분리가능 코드(maximum distance separable code)에 의하여 보호되는 추가 데이터가 이어질 때 심볼 계수기가 작동된다. 특정의 심볼은 실제 이 코드가 구현되거나 생략됨을 나타낸다. 검출 신호선(40)을 경유하여 초기 신호로서 디코더(34)에 인가된다. 이 신호는 소정의 초기치로 어드레스 계수기(카운터)를 리세트하며 제 5 도를 참조하여 기술한 바와 같이 다른 양을 조정한다. 검출기(34)는 본 출원인의 이름으로 이전의 네델란드 특허원 제8400629호(대응 미국 특허원 제705,725)에서 상이한 코드에 대해 기술된 구성 요소들로 구성된(마아크로)프로그램된 프로세서이다. 상기 구성 요소의 상호 접속을 위한 접속 수단 뿐만 아니라 관련 갈로이스 필드에서 연산을 실행하는 장치, 데이터 기억 장치, 신드롬 메모리, 제1 및 제 2 코드 워드의 플랙에 대한 메모리, 제1 및 제 2 코드 워드의 두합을 결정하는 계수기구 및 프로그램 메모리 및 관련 어드레싱 디코딩 수단이 제공된다. 그러므로, 하나의 섹터에 대해 최소한 1032 데이터 심볼과 138리던던트 심볼(또는 138 신드롬 심볼), 69 표시문자, 두개의 계수치, 및 보조하는 양의 수(다음에 기술)가 저장된다.
디코딩 동작 후에 복원된 데이터는 출력(36)을 경유하여 사용자 장치(간결성을 위해 도시하지 않음)에서 이용 가능하다. 이때 정정은 이미 발생하였다. 선택적으로, 데이터가 다른 방법으로 사용자 장치에서 이용 가능할 때 그들(로케이터+정정자)은 단지 정정된 양만을 나타내기에 가능하다. 게다가, 장치(34)는 디코딩 결과의 질에 따라서 “정확/부정확”의 표시를 제공한다.
[디코딩 방법]
일반적인 방법이 제 5 도의 흐름도를 참조하여 기술된다. 우선 섹터의 완전한 내용이 수집되는데, 그 수집된 부분이 의사 프로덕트 코드(100)에 의해 보호된다. 이때 P-워드의 모든 신드롬 심볼이 결정된다. 제로에서 이탈한 신드롬을 가지는 모든 P-워드는 제 1 레이블(lable)(플랙)에 지정되며, 그 제 1 레이블은 완전한 코드 브록(즉 CP)에 대해 계수된다. 따라서, Q-워드에 대한 모든 신드롬 심볼이 결정된다. 제로로부터 이탈한 신드롬을 가지는 모든 Q-워드는 제 2 레이블에 할당되며 이 제 2 레이블은 완전한 코드 블록(즉 CQ)으로 계수된다. 소정의 응용에 대해 3가 또는 다원자가 플랙이 사용 가능하다. 예를들면, 이 경우에 플랙은 “00”이란, 코드 워드가 정확하며 항상 정확하게 됨을 의미하며, “11”이란 코드 워드가 제로로부터 이탈하는 신드롬을 가지며, “10”이란 코드 워드가 결과적으로 신드롬이 영이 되도록 정정됨을 의미한다(따라서 01은 그 경우에 발생하지 않는다). 정정된 오류의 소정의 신호수가 정정한 후에 나타난다. 두개의 계수를 결정한 후에, 시스템은 P-코드 워드 또는 Q-코드 워드로 디코딩을 시작하는지를 결정한다. P-레이블의 수가 Q-레이블의 수보다 더 크거나 동등할때, x : =P; Y : =Q의 P워드로 디코딩을 시작한다. P-레이블 보다 Q레이블이 많은 경우 y : P; x : =Q의 Q워드로 디코딩을 시작한다. 첫째 예의 선택은 평균적으로 디코드되는 코드 워드 마다 오류의 수가 감소되어 성공의 기회가 더 높아짐을 찾아내었다. 제1 및 제 2 코드가 관련된 코드 워드 사이에 상이한 최소 거리를 가질때, 가장 큰 거리를 갖는 코드의 코드 워드로 시작하는 것이 유리하다. 마지막으로 다수의 산술 파라미터가 x-워드 및 y-워드의 수, 현재 워드에 대한 등급 번호, 2가 퀀터티(bivalent quantity)의 정확한 x의 값은 “거짓”로 셋트되며 2가 퀀터티의 정확한 y의 값은 “참”으로 세트되는 것은 같은 정확한 값으로 조정된다. 결과적으로 본 시스템은 x-코드 워드가 어드레스(즉 첫째로 하나인 경우)되는 블록(102)로 연속해서 진행된다. 블록(104)가 이 워드의 신드롬이 제로가 동등한지 여부가 검출된다. 만약 신드롬이 제로인 경우 이 코드 워드의 레이블(x-라벨)은 제로로 세트되며(갱신되며), 이 레이블의 1의 값을 가진 경우에, 관련 레이블의 합은 감소한다. 스텝(106). 만약 이 레이블이 제로값을 가진다면, 시스템은 어느 조치가 취해지는 블록(108)으로 진행한다. 제로에서 이탈하는 레이블을 가지는 다음의 제 1 코드 워드가 어드레스 됨으로써 블록(102)에서 고속의 연산이 행해진다. 블록(108)에서, 관련된(상관된) x-워드가 라벨된 x-워드의 열들중 최종의 하나인지 아닌지가 검출된다. 이것은 통상의 경우가 아닌것으로, 시스템이 다시 블록(102)으로 진행한다. 제로에서 이탈하는 신드롬 블록(104)에서 검출될때, 시스템은 블록(110)으로 진행한다.
여기서, 단독의 틀린 심볼의 위치가 계산된다. 블록(112)에서 y워드부의 레이블이 1의 값을 가지는 y워드부를 관련 심볼이 형성하는지 여부가 검출된다.
다음과 같은 각종의 가능성이 존재한다.
(1) 틀린 심볼의 위치가 심볼수 23 또는 46보다 크기 때문에 코드 워드의 경계를 넘어서 위치하는 가능성과,
(2) 관련(상관)된 틀린 심볼이 단지 하나의 코드 워드의 일부를 형성하는 가능성과,
(3) 관련된 y-워드가 “0”값의 레이블을 가지는 가능성과,
(4) 관련된 y-워드가 “1”값의 레이블을 가지는 가능성이 존재한다.
결과적으로, 정정이 불가능한 경우가 (1)의 경우이다. 이것은 명확히 정정할 수 없는 오류는 실제적으로 관련된 코드 워드의 두개의 심볼이 틀린 예로써 나타난다. 이 오류는 나중단(이후에 설명되는 내용을 참조)에서 정정이 가능하다. (2)의 경우에 정정이 되나, 추가적인 보호로써 관련된 코드 워드와 연관된 레이블은 정정되지 않고 남아 있게 된다. (3)의 경우에 너무 불확실한 것으로 간주되며 정정은 수행되지 않으며, 레이블은 변형되지 않은채 남아 있다(그러나, 이것은 관련된 y-워드가 검출할 수 없는 오류를 포함할 때 적절한 정정과 관계가 있다). (4)의 경우 충분하게 “신뢰할 수 있는”정정이 수행되는 것으로 간주된다. 그래서 (1), (3)의 경우에 시스템은 블록(108)로 되돌아간다. 블록(112)에서 테스트가 포지티브(y)가 판단되면 시스템에서 오류가 수정되는 블록(114)으로 진행한다. 이것은 항상 발생할 수 있다. 퀀터티의 정확한 x가 “참”이 된다(만약 그것이 항상 참이면, 그것은 그대로 남아 있다). 이것은 최소한 하나의 정정이 x-워드를 통한 통과(passage) 동안에 수행됨을 나타낸다. 결과적으로 x-코드 워드와 관련된 신드롬 블록(114)은 영이 된다. 이것은 최소 거리가 3이기 때문에 항상 정확하다. 또한 y-워드와 관련된 신드롬은 블록(116)에서 수행되는 정정을 고려하기 위해 갱신된다. 갱신은 관련된 워드의 신드롬 종합적인 검산보다 더 적은 계산을 필요로 한다. 코드 워드의 정정으로 코드의 최소 거리가 클때도 신드롬은 제로가 된다. 블록(118)에서 변형된 y-신드롬이 제로의 값을 가졌는지 아닌지가 검출된다. 만약 이것이 제로의 값을 가지지 않는 경우에는 시스템은 블록(102)으로 되돌아간다. 만약 변형된 y-신드롬이 “0”값을 가진다면 두개의 레이블은 블록(120)에서 제로로 되며(갱신되는) 두개의 계수는 감소된다. 결과적으로 시스템은 블록(102)으로 되돌아간다. 상기 (1) 내지 (4)가 관련된 전이(trasition)에서 표현된다. 블록(110), (114) 각각에서 (1), (2)의 경우의 묵시적 검출(implicit dedection)은 간결성을 위하여 생략한다.
최종의 워드를 취급(블록(108)에서 포지티브의 결과를 생성)할때, 시스템은 블록(122)로 진행한다. 여기에서 x-라벨의 수가 가장 큰 두개와 동등한지 아닌지가 검출된다. 수가 둘보다 더 클때, 본 시스템은 블록(130)으로 진행한다. 어느 정정이 최종의 정정 연산(x-워드) 동안에 또는 하나를 제외한 최종의 정정 연산 동안에 발생했는지 아닌지가 체크된다. 만약 어느쪽도 아니라면, 더이상 정정은 수행되지 않으며 시스템은 블록(34)으로 진행한다(즉, 오류). 그 코드 블록은 정정할 수 없다. 제 1 의 정정 연산 후에, 이것의 이동은 더미(dummy) “0”차 정정이 정확한 y의 초기 요구에 의해 모방되기 대문에 만들 수 없다. 만약 정정이 발생한다면, 본 시스템은 블록(132)으로 진행하며, 여기서 x 및 y의 기능이 교환된다. 게다가, 퀀터티 정확한 x는 “거짓”으로 된다. 마찬가지로 블록(100)에서 초기 설정 단계의 하나는 소정의 값이 corry “참”값으로 지정되는 단계이다. 또한 워드 계수기는 제 1 워드가 실제로 블록(102)에서 어드레스 되도록 초기값으로 세트된다.
블록(122)에서 남아 있는 하나 또는 두개의 x-레이블을 검출할때 본 시스템은 y워드의 정정을 실행한 다음에, x레이블이 포인터 정보로서 작용한다. x-레이블의 수가 0이 될때, 이것은 더미 연산이 되어, 시스템은 곧바로 블록(126)으로 진행한다. x-레이블의 수가 1 또는 2가 될때, 제로와 동등하지 않는 신드롬을 가지는 모든 y-워드는 관련된 x-워드 위치에서 정확히 틀렸다고 추측된다.
시스템이 최종적으로 블록(126)에 도달할때, 인용된 공보로부터 알려져 있고 코드 블록의 데이터 심볼을 포함하는 CRC 정보가 정정이 정확한지를 검출하기 위해 사용된다. 정정이 정확하다면, 시스템은 블록(128)으로 진행하며 사용자 정보는 가용케 된다. 만약 정정이 정확하지 않을 경우에 시스템은 블록(134)으로 진행한다. 데이터(판독 개시도, 음영 정보 등에 의하여)를 검색하기 위한 또다른 시도는 본 발명의 범주를 벗어난다. 블록(134)에서, 정정이 불가능하다는 신호가 전송된다. 블록(122)에서 플랙의 수가 세개 또는 그 이상(최소한 y-코드 워드의 최소 거리와 동등한)에 달함이 검출될때, 시스템은 블록(130)으로 진행한다. 여기서, 어떤 정정이 발생했는지 아닌지가 검출된다. 제 1 차 시도후에, 제로차 시도(정확한 y)는 모방된다. 만약 변형이 발생하지 않았다면(N), 정정은 불가능하며 시스템은 블록(134)으로 진행한다. 어느 정정이 발생한다면, 시스템은 블록(132)으로 진행한다. 상기 경우에, 단지 정확한 x만이 블록(130)에서 고려된다. 블록(132)에서 정확한 x의 값이 인수된다. 즉, 정확한 x는 초기화 된다. x-워드 및 y-워드의 기능은 하나의 연산(괄호에서 지정된)으로 교환된다. 결과적으로 본 시스템은 블록(102)으로 되돌아간다.
제6a도-제6f도는 심볼위에 세개의 최소 거리를 갖는 실 프로덕트(real product code)를 취한 몇개의 특정한 오류 형태를 도시한다. 제6a도는 8×8심볼 블록에서 여섯개의 오류(교차)를 도시한다. 이 오류는 상이한 행(row)뿐만 아니라 다른 열(column)(P-워드 및 Q-워드)에 매번 관련되어, 모든 정정은 한 방향으로 하나의 어드레스 연산 후에 수행된다. 제6b도에서 모든 오류는 한 열에 위치한다. 그러므로 이 열의 코드 워드의 정정은 불가능하다. 그너나, 행 워드는 정정 즉시 완전하게 정정된 코드 블록으로 된다. 제6c도에서 하나의 행은 정정될 수 없다. 또한 하나의 열도 정정할 수 없다. 모든 다른 행 및 열의 정정할 수 있다. 첫째로 일련의 어드레스 연산중에, 모든 행 워드(관련된 하나를 제외하고는)는 정정할 수 있다. 그 이후 일련의 어드레스 연산중에, 모든 열 워드는 정정할 수 있다. 제6d도에서, 틀린 심볼을 가진 하나의 행 워드가 정정된다면, 정정이 이루어진다. 상기 경우에 양쪽 방향으로 두개의 틀린 심볼을 포함하는데 두개의 워드가 있다. 예를들면, 두개의 틀린 열 워드는 포인터 정보로서 사용되는 틀린 행 위치(라벨)의 표시를 정정한다. 이것은 제 5 도의 블록(124)에 따라 정정된 형태의 예이다. 제6e도에는 열위에 형성되는 지시 정보를 이용하여, 정정할 수 있는 행 워드의 형태를 도시한다. 제6f도는 정정할 수 없는 간단한 형태의 예이다.

Claims (15)

  1. 제 1 최대 거리 분리 가능 코드(maximum distance separable code)의 제 1 코드 워드의 제 1 열(series)과 제 2 최대 거리 분리 가능 코드의 제 2 코드 워드의 제 2 열로 분할되는 코드 심볼 블록을 정정하는 방법으로 한 코드의 각각의 정확한 코드 워드는 제 1 코드 워드부와 제 2 코드 워드부를 형성하는 모든 넌리던던트 코드 심볼인 심볼상에서 취해진 최소한 세개의 어느 다른 정확한 코드 워드에 대해서 최소 거리를 가지는 코드 심볼 블록의 정정 방법에 있어서, (1) 코드 심볼의 완전한 블록을 수집하는 단계와, (2) 상기 제 1 코드 워드 및 제 2 코드 워드의 모든 신드롬 심볼을 결정하여, 상기 심드롬이 제로에서 이탈하는 각 코드 워드에 대해 플랙을 형성하는 단계와, (3) 다수의 플랙과 함께 모든 제 1 코드 워드를 합산하여 제 1 코드에서 모든 제 2 워드에 대한 다수의 플랙을 분리 합산하는 단계와, (4) 제로에서 이탈하는 신드롬을 가지는 제 1 코드 워드에 대한 정정 가능한 오류의 오류 위치를 결정하는 단계와, (5) 현재의 제 2 코드 워드 오류 위치를 포함하며 존재하는지를 검출한 다음, 상기 현재의 제 2 코드 워드가 부정확한 코드 워드로서 표시되는 지를 검출하여, 상기 두 검출 단계에서 포지티브로 판단되면, 정정 한 오류를 정정하나, 상기 두 검출 단계에서 네가티브로 판단되면 정정을 생략하고, 상기 생략 단계시, 단계(4)에 따라서 다음 제 1 코드 워드를 어드레싱 하는 단계와,(6) 단계(5)에 따른 정정 후에 상기 현재의 제 1 코드 워드 및 제 2 코드 워드의 신드롬을 갱신하고, 상기 현재의 제 1 및 제 2 코드 워드의 신드롬이 제로인지를 반영하도록 상기 현재의 제1 및 제 2 코드 워드와 연관된 두개의 플랙을 갱신하며, 두 신드롬이 제로이면 플랙수의 합산 결과를 감소하고, 단계(4)에 따라서 다음의 제 1 코드 워드를 어드레싱하는 단계와, (7) 부정확한 것으로 표시되는 적어도 모든 제 1 코드 워드 모두를 어드레싱한 후에 제 1 코드 워드 및 제 2 코드 워드의 함수를 바꾸어, 단계(4),(5),(6)의 2게의 연속적 실행이 어느 현재의 제 1 코드 워드에 대한 추가 변형을 발생하지 않을때까지 단계(4),(5),(6)을 반복하는 단계와, (8) 모든 제1 및 제 2 코드 워드를 포함하는 코드 심볼의 블록에 심볼 블록의 정, 부를 표시하는 신호를 공급하는 코드 심볼 블록의 정정 방법.
  2. 제 1 항에 있어서, 코드 심볼상에서 최소 거리 3을 갖는 최대 거리 분리 가능 코드의 제 1 코드 워드에 대하여, 관련(상관)된 신드롬은 정정을 실행한 후에 항상 제로로 세트되는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 단계(4)에 따라 관련된 코드 워드에 대해 형성되는 플랙의 제어하에서, 제 1 코드 워드가 어드레스 될 시에, 제로에서 이탈하는 신드롬이 검출되는 반면, 그 반대의 경우에 관련 플랙과 관련 합산 결과가 갱신되는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  4. 제 3 항에 있어서, 상기 제 1 코드 워드의 플랙의 합산 결과는 1씩 감소된 상기 현재의 제 2 코드 워드에 대한 최소 거리와 동일한 최소 거리에 도달될 시에, 상기 제 2 코드 워드는 제 1 코드 워드의 어느 플랙이 오류 포인터로서 작용하는 동안에 소거 모드로 정정되는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  5. 제 3 항에 있어서, 상기 정정 연산 기능을 종결한 후에, 상기 코드 블록에 존재하는 오류 검출 코드의 검산은 상기 정,부 표시 신호를 발생하도록 최종 단계에서 수행되는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  6. 제 1 최대 거리 분리 가능 코드의 제 1 코드 워드의 제 1 열과, 제 2 최대 거리 분리 가능 코드의 제 2 코드 워드의 제 2 열로 분할되는 코드 심볼 블록을 정정하기 위한 장치로, 한 코드의 각각의 정확한 코드 워드는 제 1 코드 워드부와 제 2 코드 워드부를 형성하는 모든 넌 리던던트 심볼인 심볼상에 취한 최소한 세개의 다른 정정 코드 워드에 대해 최소 거리를 가지는 상기 코드 심볼 블록의 정정 장치에 있어서, 완전한 코드 심볼 블록을 수집하는 수집 수단과, 상기 수집 수단에 연결되어 수집된 심볼로부터 코드 워드마다 제 1 수의 신드롬 심볼을 형성하는 제 1 산술 수단과, 제 1 산술 수단에 연결되어, 신드롬이 제로에서 이탈하는 코드 워드의 플랙을 저장하며, 상기 제 1 코드 워드에 대한 제 2 플랙수와 제 2 코드 워드에 대한 제 3 플랙수에 대한 합선 결과를 분할 갱신하는 갱신 수단과, 상기 제 1 산술 수단에 연결되어 각각의 코드 워드에 대해 하나 이상의 정정 심볼을 결정하는 제 2 산술 수단과, 상기 수집 수단과 제 2 산술 수단에 연결되어, 정확한 심볼을 부정확한 심볼에 부가하는 정정 수단과, 양호한 정확한 블록을 사용자 장치에 제시하는 출력 장치와, 어느 제 1 코드 워드에 대한 위치에서 정정 심볼과 로케이터 심볼을 결정하기 위해 제 4 도의 포지션 수를 가지는 시퀀서와, 교환 장치의 작동시 현재의 제 1 코드 워드에 따른 두개의 가장 최근의 통과 동안에 도입된 어느 수정을 검출하여, 네가티브 검출 결과의 경우 상기 출력 장치를 작동하는 제 3 검출기를 포함하며, 상기 시퀀스는, 상기 로케이터 심볼에 의하여 상관된 제 2 코드 워드의 신드롬을 어드레스 하는 어드레싱 수단과, 제로에서 이탈하는 최종 신드롬의 제어하에 최종 로케이터 심볼에 의해 어드레스된 코드 심볼을 정정하여 그것에 관련되는 어느 신드롬을 갱신하는 제 1 검출기와, 신드롬이 제로에 일치하는 상관된 제 2 코드 워드의 신드롬의 제어하에서 상관된 제1 및 제 2 코드 워드에 대한 플랙을 배타적으로 갱신하고, 합산 결과를 감소시켜 뒤이어 차순의 제 1 코드 워드를 어드레스 하도록 갱신 수단을 제어하는 제 2 검출기와, 최소한 부정확한 제 1 코드 워드에 대응하는 모든 위치를 통과한 후에 상기 제1 및 제 2 코드 워드의 함수를 교환하여, 상기 위치중 추가 위치를 활성화 시키는 교환 장치를 포함하는 것을 특징으로 하는 코드 심볼 블록의 정정 장치.
  7. 제 6 항에 있어서, 비갱신된 표시 문자를 검출하여 포지티브 검출 결과의 제어하에서 상관된 제 1 코드 워드에 대한 상기 시퀀서의 위치를 배타적으로 활성화 하기 위한 제 4 검출기를 추가로 포함하는 것을 특징으로 하는 코드 심볼 블록의 정정 장치.
  8. 제6 또는 제 7 항에 있어서, 포지티브 검출 결과의 제어하에서 상기 교환 장치를 활성화 시키기 위해 1씩 감소된 현재의 제 2 코드 워드에 대한 최소 거리와 동등한 상기 제 1 코드 워드의 플랙의 합산 결과를 제어하여 현재 제 2 코드 워드의 어느 플랙이 오류 지시기로 작용하는 소거 모드 동안에 상기 현재의 제 1 코드 워드를 정정하기 위해 상기 제 2 산술 수단을 연달아 활성화시키기 위한 제 5 검출기를 추가로 포함하는 것을 특징으로 하는 코드 심볼 블록의 정정 장치.
  9. 제 1 항 또는 제 2 항에 있어서, 상기 제 1 코드의 워드의 플랙의 합산 결과가 1씩 감소되는 현재의 제 2 코드 워드에 대한 최소 거리와 동일한 곳에 이를 때, 상기 제 2 코드 워드는 제 1 코드 워드의 어느 플랙이 오류 포인터로서 작용하는 동안 소거 모드에서 연속해서 정정되는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  10. 제 9 항에 있어서, 상기 정정 연산의 종료 후, 상기 코드 블록에 제시한 오류 검출 코드의 검산은 상기 코드 심볼 블록의 정,부 표시 신호를 발생하도록 최종 단계 동안 수행되는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  11. 제 1 항 또는 제 2 항에 있어서, 상기 정정 연산의 종료 후, 상기 코드 블록에 제시한 오류 검출 코드의 검산은 상기 코드 심볼 블록의 정, 부를 발생하도록 최종 단계 동안 실행되는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  12. 제 1 항에 있어서, 정정 실행 후에 상관 신드롬을 제로로 셋팅하는 단계를 추가로 포함하며, 상기 제 1 코드 워드는 코드 심볼상에서 최소 거리를 3을 가진 최대 거리 분리 가능 코드를 가지는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  13. 제 1 항에 있어서, 상기 단계(4)는 상기 현재의 제 1 코드 워드에 대응하는 플랙의 제어하에 신드롬이 제로를 이탈하는지가 검출되는 단계와, 상기 신드롬이 제로에서 이탈하지 않으면 현재의 제 1 코드 워드에 대응하는 플랙수와 플랙을 갱신하는 단계를 추가로 포함하는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  14. 제 1 항에 있어서, 소거 모드에서 상기 제 1 코드 워드에 대한 플랙의 수가 상기 제 2 코드 워드에 대한 최소 거리 보다 작은 플랙수에 도달할 때 상기 제 2 코드 워드를 정정하는 단계를 추가로 포함하는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
  15. 제 1 항에 있어서, 상기 단계(8)은 상기 코드 심볼 블록의 정,부 표시 신호를 발생하도록 오류 검출 코드를 검산하는 단계를 추가로 포함하는 것을 특징으로 하는 코드 심볼 블록의 정정 방법.
KR1019870005605A 1986-06-05 1987-06-03 코드 심볼 블록의 디코딩 방법 및 장치 KR950010399B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8601446A NL8601446A (nl) 1986-06-05 1986-06-05 Werkwijze en inrichting voor het dekoderen van een blok kodesymbolen dat op twee manieren verdeeld is over kodewoorden die elk door een minimum-afstandssepareerbare kode beschermd zijn.
NL8601446 1986-06-05

Publications (2)

Publication Number Publication Date
KR880001118A KR880001118A (ko) 1988-03-31
KR950010399B1 true KR950010399B1 (ko) 1995-09-16

Family

ID=19848119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870005605A KR950010399B1 (ko) 1986-06-05 1987-06-03 코드 심볼 블록의 디코딩 방법 및 장치

Country Status (10)

Country Link
US (1) US4802173A (ko)
JP (1) JP2664680B2 (ko)
KR (1) KR950010399B1 (ko)
CA (1) CA1293327C (ko)
DE (1) DE3717223C2 (ko)
FR (1) FR2599916B1 (ko)
GB (1) GB2191318B (ko)
IT (1) IT1204677B (ko)
NL (1) NL8601446A (ko)
SE (1) SE466578B (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2605271B2 (ja) * 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
JPH01226057A (ja) * 1988-03-07 1989-09-08 Toshiba Corp データエラー検出方法
JPH0229032A (ja) * 1988-07-18 1990-01-31 Canon Inc データ復号方法
US4965883A (en) * 1988-08-24 1990-10-23 Digital Equipment Corporation Method and apparatus for transmitting and receiving characters using a balanced weight error correcting code
US4916701A (en) * 1988-09-21 1990-04-10 International Business Machines Corporation Method and system for correcting long bursts of consecutive errors
NL9100218A (nl) * 1991-02-07 1992-09-01 Philips Nv Encodeer/decodeer-schakeling, alsmede digitaal video-systeem voorzien van de schakeling.
EP0523969B1 (en) * 1991-07-18 1997-12-29 Canon Kabushiki Kaisha Error correction encoding and decoding system
MY109399A (en) * 1992-01-07 1997-01-31 Koninklijke Philips Electronics Nv Device for processing digital data, and digital video system comprising the device
KR940011663B1 (ko) * 1992-07-25 1994-12-23 삼성전자 주식회사 오류정정 시스템
US5799023A (en) * 1995-07-19 1998-08-25 Matsushita Electric Industrial Co., Ltd. Message receiver
KR100189531B1 (ko) * 1996-06-10 1999-06-01 윤종용 Cd-rom 드라이브에 있어서 섹터 데이타 디코딩방법 및 회로
FR2766036A1 (fr) * 1997-07-11 1999-01-15 Thomson Csf Procede de detection et de correction d'erreurs adaptes a des supports de transmission fonctionnant en environnement perturbe
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
US6378100B1 (en) * 1997-12-29 2002-04-23 U.S. Philips Corporation Method and apparatus for encoding multiword information with error locative clues directed to low protectivity words
US6421805B1 (en) 1998-11-16 2002-07-16 Exabyte Corporation Rogue packet detection and correction method for data storage device
JP4126795B2 (ja) * 1999-02-12 2008-07-30 ソニー株式会社 疑似積符号復号装置及び方法
US20020199153A1 (en) * 2001-06-22 2002-12-26 Fall Thomas G. Sampling method for use with bursty communication channels
US7162678B2 (en) * 2003-03-14 2007-01-09 Quantum Corporation Extended error correction codes
FR2858141A1 (fr) * 2003-07-21 2005-01-28 Canon Kk Codage d'informations par codes de reed-solomon raccourcis
US7328395B1 (en) 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US20100138717A1 (en) * 2008-12-02 2010-06-03 Microsoft Corporation Fork codes for erasure coding of data blocks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2122778B (en) * 1982-06-29 1985-09-11 Sony Corp Digital audio signal processing
US4564945A (en) * 1983-06-20 1986-01-14 Reference Technology, Inc. Error-correction code for digital data on video disc
US4653051A (en) * 1983-09-14 1987-03-24 Matsushita Electric Industrial Co., Ltd. Apparatus for detecting and correcting errors on product codes
JPS6069917A (ja) * 1983-09-26 1985-04-20 Pioneer Electronic Corp デ−タ伝送方式
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction
JPH0812612B2 (ja) * 1983-10-31 1996-02-07 株式会社日立製作所 誤り訂正方法及び装置
NL8400629A (nl) * 1984-02-29 1985-09-16 Philips Nv Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.
EP0156440B1 (en) * 1984-03-24 1990-01-24 Koninklijke Philips Electronics N.V. An information transmission method with error correction for user words, an error correcting decoding method for such user words, an apparatus for information transmission for use with the method, a device for information decoding for use with the method and an apparatus for use with such device
JPS60217568A (ja) * 1984-04-12 1985-10-31 Ricoh Co Ltd 誤り訂正方式
JPS6113715A (ja) * 1984-06-28 1986-01-22 Mitsubishi Electric Corp 2段符号化された符号の復号装置
JPH084233B2 (ja) * 1984-06-29 1996-01-17 株式会社日立製作所 誤り訂正符号の復号装置
JP2539353B2 (ja) * 1984-10-05 1996-10-02 株式会社日立製作所 Pcm信号再生方法及び装置
US4706250A (en) * 1985-09-27 1987-11-10 International Business Machines Corporation Method and apparatus for correcting multibyte errors having improved two-level code structure

Also Published As

Publication number Publication date
IT8720780A0 (it) 1987-06-03
SE8702295L (sv) 1987-12-06
US4802173A (en) 1989-01-31
DE3717223C2 (de) 2003-02-27
JP2664680B2 (ja) 1997-10-15
FR2599916B1 (fr) 1989-03-24
FR2599916A1 (fr) 1987-12-11
IT1204677B (it) 1989-03-10
KR880001118A (ko) 1988-03-31
SE466578B (sv) 1992-03-02
CA1293327C (en) 1991-12-17
DE3717223A1 (de) 1987-12-10
SE8702295D0 (sv) 1987-06-02
NL8601446A (nl) 1988-01-04
GB8712836D0 (en) 1987-07-08
JPS62292026A (ja) 1987-12-18
GB2191318B (en) 1990-08-15
GB2191318A (en) 1987-12-09

Similar Documents

Publication Publication Date Title
KR950010399B1 (ko) 코드 심볼 블록의 디코딩 방법 및 장치
US5412667A (en) Decoder for cross interleaved error correcting encoded data
CA1295745C (en) Method and apparatus for error correction
JP3154607B2 (ja) 誤り訂正復号装置及び誤り訂正復号方法
US5920578A (en) Method and apparatus for efficiently processing a multi-dimensional code
US4750178A (en) Error correction method
EP0229698A2 (en) Decoder for product codes and method of decoding such codes
EP0240363A2 (en) Error correction methods
EP0340139A2 (en) Fast processor for multi-bit error correction codes
US5408477A (en) Error correction method
US6378100B1 (en) Method and apparatus for encoding multiword information with error locative clues directed to low protectivity words
EP1048034B1 (en) Methods and apparatus for data storage on magnetic media including error correction codes
US20070204188A1 (en) Error correction method and reproduction apparatus
US5623504A (en) Methods and apparatus for encoding and/or decoding digital data elements with different degrees of error protection in accordance with a quasi-product code
US20040030985A1 (en) Cross interleave reed-solomon code correction
KR100583360B1 (ko) 워드식 인터리빙 및 오류보호에 의한 다중워드 정보의 인코딩방법, 정보의 디코딩방법, 정보의 인코딩 디코딩 장치, 정보가설치된 기록매체
EP0603932A1 (en) Method and apparatus for implementing a quasi-product code with different degrees of protection against errors
JP2524119B2 (ja) 誤り訂正方法
EP1232499B1 (en) Rogue packet detection and correction method for data storage device
JPS62117424A (ja) 組合わせ符号の誤り訂正方式
JP2578740B2 (ja) 誤り訂正方法
JPH0628343B2 (ja) 積符号の復号方法
Nikityuk et al. A new method of information registration from multiware proportional chambers
JP2647646B2 (ja) 誤り訂正方法
JP2000101447A (ja) 誤り訂正装置および誤り訂正方法

Legal Events

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

Payment date: 19990917

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee