KR930003997B1 - 에러 정정부호의 복호방법 및 복호장치 - Google Patents

에러 정정부호의 복호방법 및 복호장치 Download PDF

Info

Publication number
KR930003997B1
KR930003997B1 KR1019850700179A KR850700179A KR930003997B1 KR 930003997 B1 KR930003997 B1 KR 930003997B1 KR 1019850700179 A KR1019850700179 A KR 1019850700179A KR 850700179 A KR850700179 A KR 850700179A KR 930003997 B1 KR930003997 B1 KR 930003997B1
Authority
KR
South Korea
Prior art keywords
code
error
error correction
pointer
decoding
Prior art date
Application number
KR1019850700179A
Other languages
English (en)
Other versions
KR850700196A (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
Priority claimed from JP24052583A external-priority patent/JPH0628343B2/ja
Priority claimed from JP1983198079U external-priority patent/JPS60104947U/ja
Application filed by 소니 가부시끼가이샤, 오오가노리오 filed Critical 소니 가부시끼가이샤
Publication of KR850700196A publication Critical patent/KR850700196A/ko
Application granted granted Critical
Publication of KR930003997B1 publication Critical patent/KR930003997B1/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/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/158Finite field arithmetic processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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
    • 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
    • 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/1525Determination and particular use of error location polynomials
    • 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
    • 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Executing Machine-Instructions (AREA)
  • Selective Calling Equipment (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

내용 없음.

Description

[발명의 명칭]
에러 정정부호의 복호방법 및 복호장치
[도면의 간단한 설명]
제1도는 본 발명의 일 실시예의 부호기의 블록도.
제2도는 본 발명의 일 실시예의 동작 설명에 사용하는 개략선도.
제3도는 본 발명의 일 실시예의 복호기의 블록도.
제4도는 본 발명의 일 실시예의 블록도.
제5도는 본 발명의 일 실시예의 주요부의 블록도.
제6도는 본 발명에 사용하는 처리 회로의 일예의 구성을 나타내는 블록도.
제7도는 그 설명에 사용하는 블록도.
[발명의 상세한 설명]
[기술분야]
본 발명은 에러 정정부호의 복호방법 및 복호장치에 관한 것이다.
[배경기술]
정보 심볼이 2차원 배열로 되고, 이 2차원 배열의 각 행마다 및 각 열마다 각각 에러 정정 부호화를 행하고, 정보 심볼의 각각이 2개의 에러 정정부호 계열에 포함되도록 한 곱 부호(product code)가 알려져 있다. 이 곱 부호의 복호시에, 각 열마다의 에러 정정 부호의 복호를 행하고, 그 복호 정보를 이용하여 각 행마다의 에러 정정부호의 복호를 행할 수가 있다. 이 복호 정보를 포인터라 칭한다.
종래는, 각 정보 심볼마다 포인터를 갖도록 하고, 따라서, 포인터의 총수가 적어도 정보 심볼의 수만큼 필요로 했다.
또한, 포인터를 사용해서 소거 정정(erasure correction)을 행할 경우, 각 행마다 포인터를 포인터 메모리에서 읽어서, 에러 값을 계산하면, 메모리의 액세스, 계산등의 처리 스텝수가 많아지는 문제점이 있었다.
한편, 에러 정정부호로서, BCH 부호 등, 복잡한 부호를 사용한 경우에는, 에러 값을 구하는 연산이 상당히 복잡해져, 하드웨어로 실현하는 경우, 많은 프로그램의 스텝수를 필요로 하는 문제점이 있었다.
[발명의 개시]
본 발명의 목적은, 복호시에 필요로 하는 포인터의 갯수를 감소할 수가 있고, 포인터를 위한 메모리 영역을 감소시킬 수가 있음과 동시에, 포인터의 기입 및 판독의 회수를 적게할 수 있는 에러 정정 부호의 복호 방법 및 복호장치를 제공하는데 있다.
본 발명의 기타 목적은, 포인터가 각 행에 관해서 동일한 것으로 되는 것에 착안하여, 처리 스텝수를 대폭적으로 감소하는 것이 가능한 에러 정정 부호의 복호방법 및 복호 장치를 제공하는데 있다.
본 발명의 기타 목적은, 소거 정정시의 계산 스텝수를 감소시킬 수가 있는 에러 정정 부호의 복호 장치를 제공하는데에 있다.
본 발명의 또다른 목적은, 복호시의 에러 값을 구하는 것이 간단한 구성으로 적은 스텝수에 의해 가능하도록 되어진 에러 정정 복호 방법을 제공하는데 있다.
이들의 기술적인 과제를 달성하기 위해서, 본 발명에서는, (K1×K2)의 2차원 배열의 정보 심볼의 각 열의 K1개의 정보 심볼마다(n1, K1)(단, n1은 부호길이)의 제1에러 정정부호의 부호화가 행하여짐과 동시에, 각행의 K2개의 정보 심볼마다(n2, K2)(단, n2는 부호 길이)의 제2에러 정정부호의 부호화가 행해진 에러 정정 부호의 복호 방법에 있어서, 제1에러 정정 부호의 복호에 의해 형성된 제1포인터를 n2비트의 메모리에 저장하여, 제2에러 정정 부호의 복호에 의해 형성된 제2포인터를 적어도, K1비트의 메모리에 저장하고, 정보 심볼을 출력할 때에, 제1 및 제2포인터의 상태에 의해 신뢰도를 판정하도록 한 에러 정정 부호의 복호 방법을 구성한다.
또다시, 본 발명에서는, 제1에러 정정 부호의 복호에 의해 형성된 제1포인터를 n2비트의 메모리에 저장하고, 제2에러 정정 부호의 복호시에, 제2에러 정정 부호의 부호 계열의 각각에 관해서 제1포인터를 써서 소거 정정을 행함과 동시에, 이 소거 정정에 있어서의 에러 값을 구하는 연산의 일부를 제2에러 정정 부호의 부호 계열에 관해서 1회만 행하도록 한 것을 특징으로 하는 에러 정정 부호의 복호 방법을 구성한다.
또다시, 본 발명에서는, 1을 근으로 갖는 선형 비 2원 부호(liniear non-dualistic code)는, 신드롬의 하나가 수신 심볼 계열의 (mod. 2)의 가산 결과로 되는 것에 주목하고, 이 신드롬을 신드롬 레지스터에 저장하여 두고, 복수개의 에러 심볼의 정정시에, 그중의 1개의 심볼에 관한 에러 값은, 신드롬 레지스터 값에서 다른 에러 값을 빼므로서 형성하도록 한 에러 정정 부호의 복호 장치를 구성한다.
[발명을 실시하기 위한 가장 좋은 형태]
이하, 본 발명의 일 실시에에 있어서 도면을 참조하여 설명한다.
제1도는, 적부호의 부호기의 구성을 도시하고, (1)이 입력단자, (2)가 C2(제2에러 정정 부호) 패리티 발생기이다. 입력단자(1)에서의 입력 데이타가 C2패리티 발생기(2) 및 선택기(3)의 한쪽의 입력 단자에 공급되고, C2패리티 발생기(2)에 의해서 형성된 C2패리티 데이터가 선택기(3)의 다른쪽 입력 단자에 공급된다. 선택기(3)는, K2개의 정보 심볼을 선택하고 나서, (n2-K2)개의 패리티 데이터를 선택하는 동작을 K1회 반복한다. 이 동작 동안에, RAM(랜덤 액세스 메모리)(4)에 정보 심볼과 패리티 데이터가 어드레스 제어기(5)의 제어하에 차례로 기억된다.
이 RAM(4)에서 판독된 데이터가 C1(제1에러 정정 부호) 패리티 발생기(6) 및 선택기(7)의 한쪽 입력단자에 공급되고, C1패리티 발생기(6)에 의해서 형성된 C1패리티 데이터가 선택기(7)의 다른쪽 입력 단자에 공급된다. 선택기(7)는, C2패리티 데이터를 포함하는 (K1×n2)개의 심볼을 선택하고나서, {(n1-K1)×K2}개의 C1패리티 데이터를 선택한다. 이 선택기(7)의 출력 단자(8)로 보내진 디지탈 데이터가 도시하지 않았으나, 예컨대 자기헤드에 의해 자기테이프에 기록되는 등으로 전송된다. 이 경우, 일단, RAM(4)에 또다시 부호화된 출력을 기입하여 다른 순서로 판독하여 기록하여도 된다.
제2도는, 상술하는 바와 같은 부호기에서 생성된 이 일 실시예의 부호 구성을 도시하는 것으로, (K1×K2)의 2차원 배열을 정보 심볼이 갖고, 이 2차원 배열의 가로방향 즉, 각 행마다의 K2개의 정보 심볼이 C2부호의 부호화 처리를 받는다. 그래서 세로방향 즉, 각 열마다의 K1개의 정보 심볼이 C1부호의 부호화 처리를 받는다. C2패리티 데이터도 C1부호의 부호화가 이루어진다. C1부호는, 예컨대(n1, K1) 리드 솔로몬 부호(Reed-Solomon code)이고, (n1-K1)/2개의 심볼의 에러까지 정정이 가능하다. C2부호는, 예컨대(n2, K2) 리드 솔로몬 부호이고, (n2, K2)/2개의 심볼의 에러까지 정정이 가능하다.
여기에서, 리드 솔로몬 부호의 일반적인 복호 방법에 대해서 설명한다.
갈로이스(Galois)체 GF(2m)상의 (n,K)(n은 부호길이, K는 정보 심볼수) 리드 솔로몬 부호(Reed-Solomon code)의 해밍거리(hamming distance)는, (d=n-K+1)로 되고, 생성 다항식은
Figure kpo00001
(X+α1)로 된다. 수신어를 (r0, r1, r2,…,rn-1)라 하면, 다음식의 연산에 의해 신드롬(syndrome)이 구해진다.
Figure kpo00002
다음에, 이 신드롬(Sj)을 사용해서 에러 위치(error location) 다항식 δ(Z) 및 에러 평가(error evaluation) 다항식 ω(Z)를 구한다. 이 방법으로서, 유클리드의 호제법(Euclid's mutual division method), 바레이 캠프의 방법(Varlay-Camp's method), 피터슨의 방법(Peterson's method)등이 제안되고 있다.
다음으로, (δ(Z)=0)를 풀어서, 에러 위치(Xi)를 구한다. 그러기 위해서는, 치엔 서치(chien search)가 사용된다.
그렇게 하여, 에러 위치(Xi)와 에러 평가 다항식 ω(Z)에서 에러값(Yi)을 구한다.
상술하는 복호 스텝의 연산에 대해서, 에러 위치를 Xi(i=1,2,…e; e는 에러 수), 에러 값을 Yi로 하여 설명한다. 리드 솔로몬 부호는, 선형 부호이므로,
Sj=
Figure kpo00003
YiXi j(j=1, 2,…,d-2)……………………………………(2)
로 된다. 이때
S(z)=
Figure kpo00004
Sjzj……………………………………………………(3)
로 다항식 표현을 하면
S(z)=
Figure kpo00005
Yi
Figure kpo00006
(Xiz)j
=
Figure kpo00007
Figure kpo00008
(mod. zd-1)…………………………………(4)
로 된다. 다음으로, 에러위치 다항식 및 에러 평가 다항식을
Figure kpo00009
로 정의하면,
Figure kpo00010
Z에 Xi -1을 대입하여 변형하면, 에러값(Yi)가 구해진다.
Figure kpo00011
일예로서 α°내지 α7이라는 근을 갖는 (32,34) 리드 솔로몬 부호에 대해서 설명한다. 이 부호는 (d=9)이므로, 4심볼 에러까지 정정이 가능하다. 4심볼 에러위치 X1내지 X4, 에러값을 Y1내지 Y4라 하면, 신드롬은, 다음식으로 구해진다.
Sj=
Figure kpo00012
YiXi j(j=0 내지 3)
즉, 4개의 신드롬중에서,
SO=
Figure kpo00013
Yi
로 된다. 에러값 Y1, Y2, Y3이 구해지며, 나머지 1개의 에러값(Y4)은
Y4=S0-Y1-Y2-Y3
에 의해 구할 수가 있고, 에러값(Y4)은, 복잡한 연산을 행하지 않고 구할 수가 있다. GF(2m)상의 부호에서는, 감산은, (mode. 2)의 가산과 같다.
제3도는, 이 일 실시예의 복호기의 구성을 나타내고, 제3도에 있어서, (11)로 표시하는 입력 단자에서 재생 데이터가 공급되고, 이 재생 데이터가 C1복호기(12)에 공급된다. C1복호기(12)에서 C1부호의 복호가 행해진다. 이 C1복호에서 (n1-K1)/2개까지의 에러를 모두 정정한다. 단, C1부호의 1개의 계열에 에러수가 a(
Figure kpo00014
(n1-K1)/2)개 이상의 경우에는, 이 계열의 C1포인터를 1로 하고, 그 이외는, 0으로 한다. 제2도 및 제3도에 있어서, (13)은 C1부호의 포인터가 기억되는 포인터 메모리를 나타내고, 이 포인터 메모리(13)는 n2비트로 된다. C1복호기(12)의 출력은, 일단 RAM(14)에 차례로 어드레스 제어기(15)에 제어되면서 기억된다.
RAM(14)에서 판독된 출력이 C2복호기(16)에 공급되고, C2부호의 복호 처리를 받는다. 이 C2복호기(16)에서는 포인터 메모리(13)로부터의 C1포인터가 공급된다. C1포인터는 C2부호의 K1개의 모든 계열에 대해서 공통으로 되므로, C2부호를 각 계열로 동일 순서로 복호할 수가 있다. C2복호기(16)는 (n2-K2)/2개까지의 에러를 정정함과 동시에, 3종류의 C2부호의 포인터를 발생하고,이 C2포인터가 포인터 메모리(17)에 기억된다.
C2복호기(16)에 있어서, 에러 정정을 행한 때에는, 그 계열에 관한 C2포인터가 0으로 되어진다. C2복호기(16)에 있어서, 에러 정정이 되지 않고, C1포인터의 신뢰도가 높고 이것을 복사할 경우에는, C2포인터가 1로 되어진다. C2복호기에 의해 에러 정정이 되지 않고, 더우기, C1포인터의 신뢰도가 낮고 그 계열의 모든 심볼을 에러 심볼로 할 때에는, C2포인터가 2로 된다. 따라서, C2포인터는 2비트의 것으로, 포인터 메모리(17)는 2K1비트의 것으로 된다.
이들의 포인터 메모리(13,17)는, 복호시에 정보 심볼 및 패리티 데이터가 기억되는 RAM(14)과 별개의 것이라도 좋고, 또한, 이 RAM(14)의 일부의 메모리 영역을 사용한 것도 좋다.
더우기, C1포인터도 1비트에 한하지 아니하고, 2비트 이상으로 하여도 좋다. 또한, C1패리티를 위해 C2부호의 에러 정정 부호의 처리를 행하고, (2n1)비트의 C2포인터의 메모리를 설치토록 하여도 좋다.
C2복호기(16)의 출력 데이터가 보간 회로(18)에 공급되고, 에러 정정이 되지 않은 심볼의 에러가 수정된다. 보간 회로(18)는 예컨대 평균치 보간을 행하는 것이다. 이 보간 회로(18)는 포인터 메모리(13), 및 (17)로부터의 C1포인터 및 C2포인터가 공급되는 제어회로(19)에 의해 제어된다. 보간 회로(18)의 출력 데이터가 출력단자(20)에 보내진다. 제어 회로(19)는 정보 심볼마다 C1포인터 및 C1포인터를 보고 보간을 행할 것인가의 여부를 결정한다. 제2도에 있어서, (13')로 표시하는 C1포인터의 한예와, (17')로 표시하는 C2포인터의 한 예에 의해, C1포인터 및 C2포인터의 모든 조합이 생긴다.
먼저, C1포인터가 0,1 중 어떠한 것이든, C2포인터가 0인때에는, 보간 회로(18)의 보간 동작이 행해지지 않는다. C2포인터(1)에서, C1포인터가 0인 때에는, 그 정보 심볼이 에러가 아니라고 판정되고, 보간동작이 행해지지 않는다. C2포인터가 1에서, C1포인터가 1인 때에는, 에러 심볼로 판정되고, 보간 동작이 행해진다. 또다시, C2포인터가 2인 때에는, C1포인터가 0,1 중 어느것이던, 에러 심볼로 판정되고, 보간 동작이 행해진다.
C1포인터의 신뢰도는 C2복호기(16)에 있어서 판정된다. 예컨대, C2부호는 2심볼 에러까지 정정될 때에, C1포인터가 1개만이 1인데도 불구하고, C2부호에 의해 정정되지 않는 경우가 생기면, 이 일은 이상이 있기 때문에, C1포인터의 신뢰도가 낮은 것으로 판정된다. C2포인터를 0,1,2의 3종류로 하여, C1포인터의 복사와 모든 에러를 구별하므로써, C2부호에 의해 에러 정정이 불가능할 때에도, 보간하지 아니하고 그치는 경우를 야기시키는 것으로 된다.
상술하는 C2복호기(16)에서는 C1포인터의 복사를 행하는 경우에, 이 C1포인터가 (n2-K2)개 이하인때에 소거 정정을 행하고, 소거 정정을 행한 때에는, C2포인터를 0으로 한다.
상술하는 바와같이, 리드 솔로몬 부호는, 각행의 n2개의 심볼로부터 구해진 신드롬을 사용해서, 각 행마다 에러 위치 다항식 δ(Z) 및 에러 평가 다항식 ω(Z)를 계산하므로써 이루어진다. 소거 정정의 경우에는 C1포인터가 1의 곳을 에러 위치로 하므로, 에러 위치(X1)와 에러 평가 다항식 ω(Z)에서 에러 값(Yi)이 구해진다. 즉, Z 대신에, Xi -1을 대입하므로써, (8)식과 같이
Figure kpo00015
(단, i=1,2,3,…S.S는 포인터의 수임)로 된다.
위식에 있어서, 분모의 항은, 에러 위치만으로 정해진다. 한 예로서, C1포인터에 의해 표시되는 에러 위치를 X1, X2, X3이라하면, 에러 값 Y1, Y2, Y3의 각각을 구하는 식의 분모의 항은 다음과 같다.
Y1의 분모 : (1-X2X1 -1)(1-X3X1 -1)
Y2의 분모 : (1-X1X3 -1)(1-X2X3 -1)
Y3의 분모 : (1-X1X2 -1)(1-X3X2 -1)
여기에서, 포인터 메모리(13)에 저장되어 있는 포인터는 C2복호기의 K1개의 계열의 모두에 관해서 동일하다. 따라서, 에러의 값을 구하는 위식 연산의 분모 항의 연산은, K1개의 계열에 관해서 1회만 행하면 된다.
제4도는, 상술하는 C1복호기, C2복호기등에 사용되는 에러 정정 복호기의 구성을 나타내고, (21)로 표시하는 입력 단자에 수신 데이터가 공급되고, 이 수신 데이터가 지연 회로(2) 및 신드롬 발생회로(23)에 공급된다. 신드롬 발생회로(23)에서 형성된 신드롬이 에러 위치, 에러값 계산회로(24)에 공급된다. 에러 위치, 에러값 계산회로(24)로부터의 에러값 데이터가 배타적 OR 게이트(25)에 공급되고, 지연회로(22)로부터의 수신 데이터와 (mod. 2)의 가산이 행해진다. 지연 회로(22)로부터의 수신 데이터와 배타적 OR 게이트(25)로부터의 에러 정정후의 데이터가 선택기(26)에 공급된다. 선택기(26)가 에러 위치 데이터에 의해 제어되고, 에러 위치에서는, 수신 데이터 대신에, 배타적 OR 게이트(25)의 출력이 선택기(26)에 의해 선택되어서 출력단자(27)에 보내진다.
오디오 PCM 신호의 기록 재생기의 경우에는, 재생 데이터가 일단, RAM에 기입되고, 이 RAM에서 판독된 데이터를 사용해서 신드롬의 발생과 이 신드롬을 사용한 에러위치, 에러값의 계산이 행해진다. 제5도는 에러 위치, 에러값 계산회로(24)의 일부를 표시하고, 제5도에 있어서, (28)는 데이터 버스를 표시하고, 이 데이터 버스(28)를 거쳐서 데이터, 신드롬등의 전송이 행해진다.
제5도에 있어서, (29)는 신드롬 레지스터를 표시하고, 이 신드롬 레지스터(29)에는 데이터 버스(28)에서 버스 버퍼(30), 배타적 OR 게이트(31)를 거쳐서 신드롬(S0)이 저장된다. 이 신드롬(S0)은 GF(2m)상의 리드 솔로몬 부호의 경우에 m비트로 된다. 신드롬 레지스터(29)로부터의 신드롬(S0)이 배타적 OR 게이트(31) 및 버스 버퍼(32)에 공급된다.
신드롬 레지스터(29)에 신드롬(S0)을 저장하면, 데이터 버스(28)에서 버스 버퍼(30)를 거쳐서 배타적 OR 게이트(31)에 구해진 에러 값 Y1, Y2, Y3이 차례로 공급된다. 따라서, 배타적 OR 게이트(31)의 출력은 (S0
Figure kpo00016
Y1), (S0
Figure kpo00017
Y1
Figure kpo00018
Y2), (S0
Figure kpo00019
Y1
Figure kpo00020
Y2
Figure kpo00021
Y3=Y4)로 되고, 신드롬 레지스터(29)에는 에러값 Y4이 남게된다. 이 에러 값 Y4이 버스 버퍼(32)를 거쳐서 데이터 버스(28)에 보내어지고, 에러 정정을 위해 사용된다.
제6도는 소거 정정에 의한 복호를 행하기 위한 하드웨어의 다른 예를 표시한다. 데이터버스(28)에 기입 레지스터(33) 및 판독 레지스터(34)를 거쳐서 메인 RAM(35)이 접속된다. 또한 데이터 버스(28)에는, 신드롬 레지스터(29), 워킹 RAM(36), 연산논리(37)등이 설치된다.
리드 솔로몬 부호의 소거 정정은 (2)식과 같이 다음의 n계 1차 연립방정식(n-order liniear simultaneous equations)을 푸는 것으로 귀착된다.
Sυ=
Figure kpo00022
XK υYK……………………………………………………(9)
단, υ=0 내지 d-2, n=소거 수, XK:K번째의 위치, Sυ:신드롬, YK:K번째 소거의 에러 크기, d:부호의 최소 거리
여기에서, n, XK, Sυ는 기지수, YK가 미지수이다.
이 식의 해법으로서 종래는, 예컨대 다음과 같은 방법이 사용되고 있다. 즉,
Figure kpo00023
로서, (8)식과 같이,
Figure kpo00024
을 구한다.
그러나, 이 방법에 있어서, 예컨대 d=9, n=8로서 실제의 연산의 스텝수를 계산하면,
(ⅰ) Λ(Z)의 전개
승산회수:1+2+ … +7=28
가산회수:1+2+ … +8=28
(ⅱ) Y1의 분모,
Figure kpo00025
을 미리 구해둔다.
역수회수:1×8=8
승산회수:(7+6)×8=104
가산회수:7×8=56
(ⅲ) ω(Z)=S(Z)Λ(Z), mod.Z8을 구한다.
승산회수:1+2+ … +7=28
가산회수:1+2+ … +7=28
(ⅵ) ω(Xi -1)를 구한다.
역수회수:1×8=8
승산회수:7×8=56
가산회수:7×8=56
(ⅴ) Yi를 구한다.
제산회수:1×8=8
그래서 이들의 계산이 각각 1스텝씩 필요하게 되면, 전체의 스텝수는, 합계 408 스텝이나 필요해져 버린다.
제6도의 회로에 있어서, (9)식의 근을
Figure kpo00026
ℓ ; ℓ
Figure kpo00027
d-m-1을 만족시키는 임의의 0이상의 정수로 구한다.
즉, 예컨대 소거 정정을 행하려면, (11)식에 ℓ=0, i=n을 대입한다.
Figure kpo00028
이것으로 Yn을 구해서 각 신드롬(Sυ에 Yn·Ynυ)을 만족시켜준다.
Sυ←Sυ+YnXn υ
단, υ=0 내지 n-2
이같이 하면, 위치 Xn의 데이터는 정확하므로, 신드롬은 (n-1)개의 소거를 포함하게 된다. 따라서 n을 1개 줄여서 Yn-1을 구할 수가 있다.
Figure kpo00029
이에 따라 Yn-1을 구해서, 또다시 각 신드롬(Sυ)에 Yn-1, Xn-1 υ을 만족시켜준다.
Sυ←Sυ+Yn-1Xυ n=1
단, υ=0 내지 n-3
이것을 반복하므로서, 최후의 소거 Y1
Y1=S0
로 구할수가 있다.
이같이 하여 소거 정정을 행할 수가 있다. 그래서 이 경우에 상술하는 바와 같이 d=9, n=8로 하여 실제의 연산 스텝수를 계산하면,
(ⅰ) 각 Λnnj를 구하는
승산회수:1+2+ … +6=21
가산회수:1+2+ … +6=21
(ⅱ) Yn의 분모
Figure kpo00030
를 미리 구해둔다.
여기에서, ∏2=X1+Y2331이므로, ∏3내지 ∏8만을 구하면 된다.
승산회수:1+2+ … +6=21
가산회수:1+2+ … +6=21
(ⅲ) Yn의 분자를 구하는
승산회수:7+6+ … +1=28
가산회수:7+6+ … +1=28
(ⅳ) Yn을 구한다. Y1=S0이므로
제산회수:7
(ⅴ) Sυ←Sυ+YnXnυ
승산회수:6+5+ … +1=21
가산회수:7+6+ … +1=28
이상의 계산의 스텝수는, 합계 202 스텝이다.
따라서, 상술하는 (11)식을 사용한 경우, 종래의 (10)식의 경우와 비교해서 계산의 스텝수를 약 50%로 할 수가 있다.
또다시, 상술하는 정정부호가 곰부호인 경우에는, 예컨대 새로 30심볼, 가로 128심볼로, 세로방향 C1, 가로방향 C2로 한 경우에, 소거와는 C1포인터의 위치에 해당하고, C2에서 봤을 때 모든 C2에서 XK(K=1 내지 n)는 같다. 이것은 (11)'식에 있어서의 Λnnj
Figure kpo00031
의 계산을 C2마다 행하지 않고 미리하여 들수가 있는 것이다. 즉, 이 예에서는 상술하는 계산은 C2를 30회 행하는 사이에 1회만 행하면 된다.
따라서, 상술하는 계산의 스텝수에 있어서, (ⅰ),(ⅱ)는 30회에 1회만으로 되고, (ⅰ),(ⅱ)의 스텝수 90÷30=3으로 한 경우에 전체의 스텝수는 합계 115스텝으로 된다. 이것은 종래의 방법에 있어서(ⅰ),(ⅱ)의 스텝수 224를 30으로 나눈 경우에 전체의 스텝수가 합계 191.5스텝으로 되는데 비해서 약 40%의 스텝수의 삭감으로 된다.
이렇게 하여 이 방법에 의하면, 종래의 방법에 비해서 계산의 스텝수를 대폭적으로 삭감할 수가 있고, 처리시간의 단축이나, 처리를 위한 하드웨어의 부담의 경감등의 효과가 있다.
역시, 상술하는 계산은, 연산논리(37)등을 써서 행해지나, 한 예로서 Sυ←Sυ'+X1 υY1를 구하는 경우에는, 제7도에 표시하는 것과 같은 개념으로 행해진다. 제7도에 있어서 (38),(39),(40)은 레지스터, (41)은 가산기, (42)는 승산기, (43)은 선택기로, 이것들은 연산논리(37)에 내장되어 있다. 그래서, 이 회로에 있어서,
[1] 먼저 신드롬 레지스터(39), 워킹 RMA(36)등에서 데이터버스(28)를 통해서 레지스터(39)에 S0, 레지스터(39)에 Yi, 레지스터(40)에 Xi를 세트한다. 이에 따라 가산기(41)에서 S0+Yi가 데이터버스(28)에 출력된다.
[2] 다음으로, 승산기(42)의 내용 XiYi를 선택기(43)를 통해서 레지스터(39)에 세트(피드백)하고 데이터버스(28)에서 S1를 레지스터(38)에 세트한다. 이에 따라 가산기(41)에서 Si+XiYi가 데이터버스(28)에 출력된다.
[3] 또다시, 승산기(42)의 내용 X2 1Y1를 선택기(43)를 통해서 레지스터(39)에 피드백하고, 데이터버스(28)에서 S2를 레지스터(38)에 세트한다. 이에 따라 가산기(41)에서 S2+X2 1Y1가 데이터버스(28)에 출력된다.
[4] 이하, 이것을 반복하므로써, 차례로 S3+X1 3Yi, S4+X1 4Yi…가 구해지고, 이것들을 데이터버스(28)를 통해서 신드롬 레지스터(29)에 공급하고, 각 값을 바꾸어 쓴다.
이와 같이하여 계산을 행할 수가 있다.
또한, 상술하는 설명은 X1내지 Xn의 모두를 소거로 하였으나, X1내지 Xn-1을 소거, Xn를 에러로 한 경우에도 정정이 가능하다. 즉 이 경우의 미지수는 Y1내지 Yn및 Yn의 n+1개이다. 이 경우에 상술하는 Λnnj를 써서
Figure kpo00032
로 구할 수가 있다. 따라서 이것에 의해 미지수는 Y1내지 Yn로 되고, 후는 상술하는 소거 정정과 같이하여 구할 수가 있다.
즉 예컨대, 곰부호에서 d=9(6소거+1에러)로 한 경우에,
[1] 소거위치 X1, X2, …X6을 조사한다.
[2]Λnnj를 구해서 기억한다. 여기에서 Λ221=X1, Λ331221+X2, Λ332221.X2…Λ771…Λ776의 합 21심볼을 기억한다.
[3]
Figure kpo00033
(n=2 내지 6)의 합 5심볼을 구해서 기억한다.
이상은, 30회에 1회만 행한다.
[4] 신드롬 S0내지 S7을 계산한다.
[5]
Figure kpo00034
로 X7을 한다.
[6]
Figure kpo00035
로 Y7을 구하고, 신드롬 X7X7을 되돌려 준다.
이하 차례로 Y6내지 Y1(=S0)를 구한다.
역시 이 예에서는, (11)'식을 사용하는 경우를 나타내었으나 ℓ
Figure kpo00036
0에서도 같다.
이와 같이하여 소거 +1 에러의 정정을 행할 수가 있다. 이 경우에도 상술하는 소거 정정의 경우와 같이 계산의 스텝수가 감소되고 있다.
역시 위식 (11)식, (12)식의 증명을 이하에 표시한다.
[보제]
Figure kpo00037
라 하면 명백하게
Figure kpo00038
[정리 1] n계 1차 연립 방정식
S
Figure kpo00039
υXK υYK(υ=0 내지 n-1:미지수는 Y1)의 근은
Figure kpo00040
이다.
[증명]
Figure kpo00041
[계 1]
Figure kpo00042
(증) Sj+1=
Figure kpo00043
XK j+ℓYK를 대입하면 명백함.
[정리 2] X1내지 Xn-1:소거, Xn:에러라 하면
Figure kpo00044
[증명] 계 1로부터
Figure kpo00045
따라서, 정리 1로부터 n소거 정정에 있어서는 S0내지 Sn-1계로부터 S1내지 Sn, S2내지 Sn+1…Sd-1-n내지 Sd-2의 어떤 것을 사용해도 정정할 수 있는 것을 알 수 있다. 즉, n소거 정정에는 n개의 연속한 신드롬이 필요하고 나머지의 신드롬은 체크용으로사용된다. 따라서 n
Figure kpo00046
d-1로 된다.
또한 정리 2에서 Xn을 구하려면, S내지 Sn-ℓ의 합(n+1)개의 신드롬을 필요로 한다. 따라서 n
Figure kpo00047
d-2로 된다. (소거 수는 n-1
Figure kpo00048
d-3)나머지의 신드롬은 위와 같이 체크용으로 사용된다.
본 발명에 의하면, 에러 정정 부호의 모든 데이터 수(n1, n2)개의 포인터 영역이 필요하였던 것이, (n2+2n1)개의 포인터 영역으로 감소할 수가 있고, 복호에 필요로 하는 메모리 용량의 저감을 도모할 수가 있다. 또한, 본 발명에 의하면, 포인터의 기입 또는 판독의 스텝수를 감소시킬 수가 있다.
또한, 본 발명에 의하면, C1복호에 의해 형성된 포인터를 사용해서, C2복호의 소거 정정을 행하는 경우에, C2부호의 각 계열에 관해서 C1포인터의 패턴이 공통으로 되므로, 에러 값을 구하는 연산중에서 공통 부분이 생기고, 이 연산을 1호로서 끝낼 수가 있다. 따라서, 복호시의 처리 스텝수를 대폭적으로 감소시킬 수가 있고, 복호 동작의 고속화를 실현할 수가 있다.
또다시, 본 발명에 의하면, 복수의 에러 값을 구하는 경우, 모든 에러 값을 복잡한 에러 평가 다항식에서 구할 필요가 없고, 그 중 어느 하나를 간단한 구성에 의해 얻을 수가 있고, 처리의 스텝수의 감소를 도모할 수가 있다.
더우기, 본 발명에 의하면, 소거 정정때의 계산의 스텝수를 대폭적으로 감소시킬 수가 있다.

Claims (2)

  1. (K1×K2)의 2차원 배열의 정보 심볼의 각 열의 K1개의 정보 심볼마다(n1,K1)(단, n1는 부호길이)의 제1에러 정정 부호의 부호화가 행하여짐과 동시에, 각행의 K2개의 정보 심볼마다(n2, K2)(단, n2는 부호길이)의 제2에러 정정부호의 부호화가 행하여진 에러 정정 부호의 복호방법에 있어서, 상기 제1에러 정정 부호의 복호에 의해 형성된 제1포인터를 n2비트의 메모리에 저장하고, 상기 제2에러 정정 부호의 복호에 의해 형성된 제2포인터를 적어도, K1비트의 메모리에 저장하고, 상기 정보 심볼을 출력할 때에, 상기 제1 및 제2포인터의 상태에 의해 신뢰도를 판정하도록 한 에러 정정 부호의 복호 방법.
  2. (K1×K2)의 2차원 배열의 정보 심볼의 각 열의 K1개의 정보 심볼마다(n1,K1)(단, n1는 부호길이)의 제1에러 정정 부호의 부호화가 행하여짐과 동시에, 각 행의 K2개의 정보 심볼마다(n2, K2)(단, n2는 부호길이)의 제2에러 정정부호의 부호화가 행해진 에러 정정 부호의 복호 장치에 있어서, 상기 제1에러 정정 부호의 복호에 의해 형성된 제1포인터를 저장하는 n2비트의 메모리 수단과, 상기 제2에러 정정 부호의 복호에 의해 형성된 제2포인터를 저장하는 적어도, K1비트의 메모리 수단과, 상기 정보 심볼을 출력할 때에, 상기 제1 및 제2포인터의 상태에 의해 신뢰도를 판정하는 판정수단을 갖는 에러 정정 부호의 복호장치.
KR1019850700179A 1983-12-20 1984-12-19 에러 정정부호의 복호방법 및 복호장치 KR930003997B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP24052583A JPH0628343B2 (ja) 1983-12-20 1983-12-20 積符号の復号方法
JP58-240525 1983-12-20
JP???58-240525 1983-12-20
JP???58-198079 1983-12-23
JP58-198079(??) 1983-12-23
JP1983198079U JPS60104947U (ja) 1983-12-23 1983-12-23 エラ−訂正復号器
PCT/JP1984/000603 WO1985002958A1 (en) 1983-12-20 1984-12-19 Method and apparatus for decoding error correction code

Publications (2)

Publication Number Publication Date
KR850700196A KR850700196A (ko) 1985-10-25
KR930003997B1 true KR930003997B1 (ko) 1993-05-19

Family

ID=26510757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019850700179A KR930003997B1 (ko) 1983-12-20 1984-12-19 에러 정정부호의 복호방법 및 복호장치

Country Status (8)

Country Link
US (1) US4719628A (ko)
EP (3) EP0387924B1 (ko)
KR (1) KR930003997B1 (ko)
AT (2) ATE177570T1 (ko)
BR (1) BR8407228A (ko)
DE (3) DE3486200T2 (ko)
HK (1) HK118795A (ko)
WO (1) WO1985002958A1 (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS601673A (ja) * 1983-06-17 1985-01-07 Sony Corp 誤り検出方法
AU594995B2 (en) * 1986-01-24 1990-03-22 Sony Corporation Data transmission method suitable for a disc
EP0235782B1 (en) * 1986-03-04 1992-01-22 Sony Corporation Apparatus for reproducing a digital signal
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
AU622626B2 (en) * 1987-06-03 1992-04-16 Sony Corporation Method of processing data
US4845714A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Multiple pass error correction process and apparatus for product codes
DE3852999T2 (de) * 1987-06-30 1995-06-14 Matsushita Electric Ind Co Ltd Galois-feld-recheneinheit.
US4849976A (en) * 1987-08-03 1989-07-18 Scs Telecom, Inc. PASM and TASM forward error correction and detection code method and apparatus
JP2563389B2 (ja) * 1987-11-13 1996-12-11 松下電器産業株式会社 誤り検出訂正方法
US4847842A (en) * 1987-11-19 1989-07-11 Scs Telecom, Inc. SM codec method and apparatus
US4956709A (en) * 1988-03-11 1990-09-11 Pbs Enterprises, Inc. Forward error correction of data transmitted via television signals
FR2634035B1 (fr) * 1988-07-07 1994-06-10 Schlumberger Ind Sa Dispositif pour le codage et la mise en forme de donnees pour enregistreurs a tetes tournantes
US5068855A (en) * 1988-07-18 1991-11-26 Canon Kabushiki Kaisha Error correcting method and apparatus
JP2881773B2 (ja) * 1988-07-30 1999-04-12 ソニー株式会社 誤り訂正装置
JP2722647B2 (ja) * 1989-04-11 1998-03-04 富士通株式会社 磁気テープ制御装置
CA2013484A1 (en) * 1989-06-26 1990-12-26 Can A. Eryaman Erasure arrangement for an error correction decoder
US5136592A (en) * 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5040179A (en) * 1989-08-18 1991-08-13 Loral Aerospace Corp. High data rate BCH encoder
DE69030490T2 (de) * 1990-01-18 1997-10-23 Philips Electronics Nv Aufzeichnungsvorrichtung zum umkehrbaren Speichern von digitalen Daten auf einem Mehrspuren-Aufzeichnungsträger, Dekodiervorrichtung, Informationswiedergabegerät für die Verwendung mit einem solchen Aufzeichnungsträger und Aufzeichnungsträger für die Verwendung mit einer solchen Aufzeichnungsvorrichtung, mit einer solchen Dekodiervorrichtung und/oder mit einem solchen Informationswiedergabegerät
US6085348A (en) * 1990-10-17 2000-07-04 Canon Kabushiki Kaisha Error correction code encoder and decoder
US5323402A (en) * 1991-02-14 1994-06-21 The Mitre Corporation Programmable systolic BCH decoder
US5315583A (en) * 1991-04-11 1994-05-24 Usa Digital Radio Method and apparatus for digital audio broadcasting and reception
US5432800A (en) * 1991-10-29 1995-07-11 Hitachi, Ltd. Methods and apparatuses for transmission and reception of information signals
JP2824474B2 (ja) * 1992-02-17 1998-11-11 三菱電機株式会社 誤り訂正方式及びこの誤り訂正方式を用いた復号器
KR0133505B1 (ko) * 1992-07-16 1998-04-22 구자홍 디지탈 브이씨알의 오류정정 부호화 방법
JPH06236632A (ja) * 1993-02-09 1994-08-23 Matsushita Electric Ind Co Ltd 光ディスクおよび光ディスク再生装置
US5517509A (en) * 1993-03-31 1996-05-14 Kabushiki Kaisha Toshiba Decoder for decoding ECC using Euclid's algorithm
KR0141240B1 (ko) * 1993-06-28 1998-07-15 김광호 에러정정용 메모리장치
KR950010768B1 (ko) * 1993-10-20 1995-09-22 주식회사 Lg전자 에러 정정 코드 복호 장치 및 그 방법
US5483236A (en) * 1993-12-20 1996-01-09 At&T Corp. Method and apparatus for a reduced iteration decoder
JP3255386B2 (ja) * 1993-12-27 2002-02-12 キヤノン株式会社 誤り訂正符号の復号器
JP3154607B2 (ja) * 1993-12-28 2001-04-09 三菱電機株式会社 誤り訂正復号装置及び誤り訂正復号方法
US5677919A (en) * 1994-06-10 1997-10-14 Hughes Electronics Faster linear block decoding apparatus and method for receivers in digital cellular communication and other systems
JP3328093B2 (ja) * 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
US5835509A (en) * 1994-10-24 1998-11-10 Sony Corporation Method of and apparatus for recording and reproducing data and transmitting data
US5680156A (en) * 1994-11-02 1997-10-21 Texas Instruments Incorporated Memory architecture for reformatting and storing display data in standard TV and HDTV systems
KR100229015B1 (ko) * 1996-08-06 1999-11-01 윤종용 디지탈 처리시스템의 에러정정장치 및 방법
JP3562544B2 (ja) * 1996-08-13 2004-09-08 ソニー株式会社 復号化装置および復号化方法
TW311189B (en) * 1996-09-30 1997-07-21 United Microelectronics Corp The error-corrected decoding method and its apparatus for Reed-Soloman code
NL1006174C2 (nl) * 1997-04-17 1998-12-01 United Microelectronics Corp Foutdecoderingswerkwijze alsmede apparaat voor het decoderen.
US6304992B1 (en) * 1998-09-24 2001-10-16 Sun Microsystems, Inc. Technique for correcting single-bit errors in caches with sub-block parity bits
JP3214478B2 (ja) * 1998-12-28 2001-10-02 日本電気株式会社 誤り訂正復号装置
US7134069B1 (en) * 1999-06-16 2006-11-07 Madrone Solutions, Inc. Method and apparatus for error detection and correction
KR100611954B1 (ko) * 1999-07-08 2006-08-11 삼성전자주식회사 고밀도 디스크를 위한 에러 정정방법
US6625774B1 (en) * 1999-10-29 2003-09-23 Stmicroelectronics, Inc. Redundancy system and method for locating errors in interleaved code words
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US7159164B1 (en) 2000-06-05 2007-01-02 Qualcomm Incorporated Method and apparatus for recovery of particular bits of a frame
US6631492B2 (en) * 2001-01-02 2003-10-07 Eastman Kodak Company Multitrack data recording and read out of recorded multitrack digital data for error correction
US8656246B2 (en) * 2001-04-16 2014-02-18 Qualcomm Incorporated Method and an apparatus for use of codes in multicast transmission
US20030061558A1 (en) * 2001-09-25 2003-03-27 Fackenthal Richard E. Double error correcting code system
DE10216999A1 (de) * 2002-04-16 2003-11-06 Thomson Brandt Gmbh ECC-Block-Enkodierer und -Dekodierer mit reduziertem RAM-Speicherbedarf
US7100101B1 (en) * 2002-11-08 2006-08-29 Xilinx, Inc. Method and apparatus for concatenated and interleaved turbo product code encoding and decoding
TWI254283B (en) * 2003-06-03 2006-05-01 Sunplus Technology Co Ltd Error correction device of block code and method thereof
JP4056488B2 (ja) * 2004-03-30 2008-03-05 エルピーダメモリ株式会社 半導体装置の試験方法及び製造方法
US7328395B1 (en) 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
GB2415873A (en) * 2004-06-30 2006-01-04 Nokia Corp Erasure information generation in Forward Error Correction decoding
US8433979B2 (en) 2011-02-28 2013-04-30 International Business Machines Corporation Nested multiple erasure correcting codes for storage arrays
US9058291B2 (en) 2011-02-28 2015-06-16 International Business Machines Corporation Multiple erasure correcting codes for storage arrays
US8499219B2 (en) * 2011-12-13 2013-07-30 Broadcom Corporation Encoding methods and systems for binary product codes
US8874995B2 (en) * 2012-02-02 2014-10-28 International Business Machines Corporation Partial-maximum distance separable (PMDS) erasure correcting codes for storage arrays
US9252815B2 (en) 2013-12-16 2016-02-02 International Business Machines Corporation Extension of product codes with applications to tape and parallel channels
US10417090B2 (en) 2013-12-23 2019-09-17 Cnex Labs, Inc. Computing system with data protection mechanism and method of operation thereof
US10547332B2 (en) * 2017-02-01 2020-01-28 Tsofun Algorithm Ltd. Device, system and method of implementing product error correction codes for fast encoding and decoding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3714629A (en) * 1971-06-01 1973-01-30 Ibm Double error correcting method and system
US4030067A (en) * 1975-12-29 1977-06-14 Honeywell Information Systems, Inc. Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes
US4044328A (en) * 1976-06-22 1977-08-23 Bell & Howell Company Data coding and error correcting methods and apparatus
US4107650A (en) * 1976-08-13 1978-08-15 The Johns Hopkins University Error correction encoder and decoder
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes
US4205324A (en) * 1977-12-23 1980-05-27 International Business Machines Corporation Methods and means for simultaneously correcting several channels in error in a parallel multi channel data system using continuously modifiable syndromes and selective generation of internal channel pointers
US4236247A (en) * 1979-01-15 1980-11-25 Organisation Europeene De Recherches Spatiales Apparatus for correcting multiple errors in data words read from a memory
CA1161565A (en) * 1980-06-20 1984-01-31 Yoichiro Sako Method of error correction
GB2093238B (en) * 1981-02-18 1985-04-17 Kokusai Denshin Denwa Co Ltd Error correcting system for simultaneous errors in a code
GB2107496B (en) * 1981-09-30 1985-11-20 Hitachi Ltd Error flag processor
JPS58171144A (ja) * 1982-04-01 1983-10-07 Mitsubishi Electric Corp 復号化装置
JPS58219648A (ja) * 1982-06-15 1983-12-21 Toshiba Corp ガロア体における除算装置
JPS5943646A (ja) * 1982-09-03 1984-03-10 Mitsubishi Electric Corp 復号化システム
JPH0812612B2 (ja) * 1983-10-31 1996-02-07 株式会社日立製作所 誤り訂正方法及び装置

Also Published As

Publication number Publication date
AU581202B2 (en) 1989-02-16
DE3486471D1 (de) 1999-04-15
DE3486408T2 (de) 1996-03-14
EP0167627B1 (en) 1993-08-11
DE3486200T2 (de) 1993-12-02
EP0387924A3 (en) 1991-03-20
US4719628A (en) 1988-01-12
EP0387924A2 (en) 1990-09-19
EP0167627A1 (en) 1986-01-15
ATE177570T1 (de) 1999-03-15
KR850700196A (ko) 1985-10-25
DE3486200D1 (de) 1993-09-16
HK118795A (en) 1995-07-28
DE3486408D1 (de) 1995-11-02
BR8407228A (pt) 1985-11-26
EP0167627A4 (en) 1988-04-27
WO1985002958A1 (en) 1985-07-04
ATE128585T1 (de) 1995-10-15
DE3486471T2 (de) 1999-09-02
EP0426657A3 (ko) 1995-03-15
AU3781285A (en) 1985-07-12
EP0426657B1 (en) 1999-03-10
EP0426657A2 (en) 1991-05-08
EP0387924B1 (en) 1995-09-27

Similar Documents

Publication Publication Date Title
KR930003997B1 (ko) 에러 정정부호의 복호방법 및 복호장치
US4099160A (en) Error location apparatus and methods
US5020060A (en) Error code correction device having a galois arithmetic unit
KR930001071B1 (ko) 에러 정정회로
US5631914A (en) Error correcting apparatus
KR950012983B1 (ko) 리드솔로몬부호의 복호방법
JP4988731B2 (ja) フラッシュエラー訂正
EP0129849B1 (en) Error correction method and system
JP3165099B2 (ja) 誤り訂正方法及びシステム
US4473902A (en) Error correcting code processing system
US20010014960A1 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JPH0653842A (ja) Rsコードデータ信号を復号化する方法および回路
EP0317197B1 (en) Error detection and correction method
JPH10112659A (ja) 誤り訂正復号装置
US5541940A (en) Error correction method and error correction circuit
JP2662472B2 (ja) 誤り訂正処理用シンドローム演算回路
JP3281938B2 (ja) 誤り訂正装置
AU608690B2 (en) Method and apparatus for decoding error correction code
KR910009094B1 (ko) 갈로이계 연산장치
JPH0628343B2 (ja) 積符号の復号方法
JP2009048713A (ja) デスクランブル回路及びエラー検出コード計算回路
JP2553571B2 (ja) ガロア体演算装置
JPS638984Y2 (ko)
KR930005439B1 (ko) 광기록 재생 시스템의 rs엔코딩 회로
KR0175331B1 (ko) 에러 정정 방법

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: 20040419

Year of fee payment: 12

EXPY Expiration of term