KR100263593B1 - 데이타 스트림의 인터리빙 및 인코딩 방법과 그 장치 - Google Patents

데이타 스트림의 인터리빙 및 인코딩 방법과 그 장치 Download PDF

Info

Publication number
KR100263593B1
KR100263593B1 KR1019930000448A KR930000448A KR100263593B1 KR 100263593 B1 KR100263593 B1 KR 100263593B1 KR 1019930000448 A KR1019930000448 A KR 1019930000448A KR 930000448 A KR930000448 A KR 930000448A KR 100263593 B1 KR100263593 B1 KR 100263593B1
Authority
KR
South Korea
Prior art keywords
code
sequence
data
series
encoding
Prior art date
Application number
KR1019930000448A
Other languages
English (en)
Other versions
KR930017343A (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 KR930017343A publication Critical patent/KR930017343A/ko
Application granted granted Critical
Publication of KR100263593B1 publication Critical patent/KR100263593B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1866Error detection or correction; Testing, e.g. of drop-outs by interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • HELECTRICITY
    • 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/31Coding, 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 coding for error detection or correction and efficient use of the spectrum

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Radio Transmission System (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Geophysics And Detection Of Objects (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Vehicle Body Suspensions (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)

Abstract

매체 채널에 의해 전송되거나 이에 의해 기억된 디지털 데이타의 에러의 검출 및 정정은 데이타를 3중 직교 인터리브 에러 정정 시스템을 통해 처리함으로써 이루어진다. 시스템의 전송 및 기억측에서, 데이타는 인코딩 단계 사이에서 실행되는 두 서로 다른 인터리빙 단계로 매체 채널에 배치되기 전에 3회 인코딩된다. 제1인터리브는 버스트 에러로부터의 보호를 향상하는 직교 행 혼합 인터리브이다. 수신/재생측에서, 데이타는 디코딩 및 디인터리브 처리되는데, 포함된 에러는 원 데이타를 복원할 수 있도록 검출 및 정정된다. 에러 정정을 향상시키기 위하여, 에러를 포함하는 심볼을 식별하는 심볼의 정확한 에러 플래그를 발생하여 에러 정정 디코더가 데이타에 촛점을 맞추어 이를 정정하도록 하는 회로가 사용된다.

Description

데이타 스트림의 인터리빙 및 인코딩 방법과 그 장치
제1도는 종래 기술의 교차 인터리브(CIRC) 에러 정정 인코더 시스템.
제2도는 본 발명의 3중 직교 인터리브 에러 정정 시스템의 한 실시예에 대한 블럭도.
제3도는 개개의 C3 인코딩된 코드워드가 연속 인접 열에 기록되는 외부 인터리버에서의 일련의 데이타 평면에 대한 도시도.
제4a도 및 제4b도는 직교 혼합(orthogonal shuffling)을 설명하는 일련의 데이타 평면에 대한 도시도.
제5도는 외부 인터리버에 의해 실행되는, 특정행 유지 면간(interplane) 직교 혼합 시퀀스를 설명하는 데이타 블럭에 대한 도시도.
제6도는 외부 인터리버 회로의 블럭도.
제7a도 및 제7b도는 내부 인터리버 회로의 블럭도.
제8도는 C2 인코더로부터의 출력으로서 그리고 내부 인터리버 회로의 메모리 버퍼의 입력으로서의 C2 코드워드의 데이타 평면에 대한 도시도.
제9도는 C1 인코더에 의한 출력으로서의 C1 인코딩된 코드 워드의 데이타 평면에 대한 도시도.
제10도는 나선 주사형 자기테이프에 대한 개략도.
제11도는 C1 디코더로부터의 출력으로서 소거 플래그(flag)를 구비한 데이타 평면에 대한 도시도.
제12도는 단일 C1 또는 C2 코드워드에 대한 도시도.
제13a도 내지 제13f도는 심볼 정밀 플래그를 발생하기 위한 C1 및 C2 코드워드 및 소거 플래그에 대한 처리 단계를 도시하는 도면.
제14도는 외부 디인터리버(deinterleaver)의 입력으로서의 데이타 평면에 대한 도시도.
제15도는 매체 채널 인코딩 및 디코딩없이 시스템의 또다른 실시예를 도시하는 블럭도.
제16도는 에러 정정 능력을 최대화하고 기록동안 판독기능을 보장하기 위한 시스템의 또 다른 양호한 실시예를 도시하는 블럭도.
제17a도는 단기 실행(short run) 에러를 검출 및 플래깅(flagging)하기 위한 회로를 포함하는, 본 발명에 따른 M2디코더의 블럭도.
제17b도는 M2디코더용 동기화 회로에 대한 블럭도.
제18도는 제17a도의 회로에 대한 타이밍도.
제19도는 장기 실행 에러를 검출 및 플래깅하기 위한 회로를 포함하는, 본 발명에 따른 M2디코더의 블럭도.
제20도는 제19도의 회로에 대한 타이밍도.
제21도는 등기 시퀀스 에러를 검출 및 플래깅하기 위한 회로를 포함하는, 본 발명에 따른 M2디코더에 대한 블럭도.
제22도는 제21도의 회로에 대한 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
16 : 외부 인터리버 110 : 내부 인터리버
124 : 어드레스 발생기
본 발명은 기억 소자에 기록되거나 통신 채널을 통해 전송되는 디지털 데이타에 대한 에러 검출 및 정정 시스템에 관한 것이며, 특히 기억되거나 전송된 디지털 데이타에서의 에러를 검출 및 정정하기 위한 3중 직교 인터리브 에러 정정 코드(triple orthogonally interleaved error correction code)를 이용하는 시스템에 관한 것이다.
대량의 디지털 데이타가 실질적으로 에러없이 전송 및/ 또는 기록되고 수신 및/또는 복원되어야 하는 경우가 많다.
예를 들면, 사회보장 정보, 법인매각 및 재정 데이타와 같은 컴퓨터 데이타 베이스 정보와, 지진 또는 일기 데이타와 같은 위성 통신 및 조사 데이타가 정확히 전송 및 기억되어야 하는 것은 불가피한 것이다.
디지털 데이타는 통상적으로 '비트'라고 하는 이진수로 이루어지며, 비트 집단(보통 8비트)이 하나의 데이타 "바이트" 또는 "심볼"을 이룬다. 바이트 집단(보통 2바이트)이 한 데이타 "워드"를 만들거나 또는 데이타의 "블럭"으로 배정될 수도 있다(28 또는 32바이트 블럭이 보통이다). 데이타의 전송, 기억, 수신 및 복원시에 통상적으로 발생하는 에러는 두가지로 이루어진다. 첫째 형태는 "랜덤" 또는 격리된 에러라 지칭하며, 2값의 2진 비트 시스템에서 반대의 값 대신 어떤 한 값으로 대체할 때 하나의 단일 비트에서 발생한다. 두번째 형태는 "버스트(burst)"에러라 지칭하며, 인접 비트의 연속 시퀀스가 에러일 때 발생한다. 버스트형 에러의 길이와 주파수는 랜덤 할 수도 있고 체계적일 수도 있다. 어떤 경우에서나, 이러한 에러의 상대적 발생은 사용된 매체나 채널의 함수관계에 있다.
디지털 데이타의 정확한 전송 또는 기억과 수신 또는 복원은 데이타의 전송 또는 기억을 위해 사용된 매체 채널이 에러 유입 인자에 의해 감염되기 때문에 매우 어려웠다.
예를 들면 이러한 에러는(예를 들면 잡음과 같이) 기억 소자나 전송 채널에서 일시적 조건에 의한 것일수도 있고 채널기억소자 또는 기록 매체에서의 결함으로 인한 순환 조건인 것일수도 있다. 일시적 조건 또는 결함의 존재로 인하여, 디지털 데이타가 적절히 전송되거나 기록되지 않고 신뢰도 있게 수신되거나 복원되지 않는 경우가 발생한다. 데이타 기억과 전송 활등을 수반하는 전송 및 기억 에러를 감소시키기 위한 방법을 발견하기 위하여 많은 주의가 이루어져 왔다.
예를 들면, 이러한 기술분야에서는 이러한 에러를 위치 파악, 중화(counteract), 정정 및/또는 제거하기 위한 에러 정정 코드(ECC)와 이외의 다른 수단을 채택해 왔다는 사실은 공지되어 있다. 이러한 코드는 전송되거나 기억된 데이타 스트림(data stream)의 부분들을 분산시키기 위해 주기적으로 부가된 추가 또는 중복 비트를 포함한다. 증복 비트는 코드워드를 형성하는 데이타 스트림의 분산부분에 부가된다. 에러 발생을 카운트하는데 사용된 이와 같은 공지의 처리를 "인코딩"이라 한다. 일단 인코딩되면, 전송되거나 기억된 데이타 스트림에서의 랜덤 에러는 공지의 수학적 수단에 의해 쉽게 위치가 파악되어 정정된다. 이 처리를 통상 "디코딩"이라 한다.
디코딩은 보통 유입된 에러를 검출 및 정정하기 위해 데이타 스트림의 관련 분산 부분에 대하여 패리티 체크로서 부가된 중복 비트의 사용을 수반한다.
많은 서로 다른 에러 정정 코드가 존재한다 할지라도, 리드 솔로몬(Reed-Solomon:R-S) 코드 시스템이 가장 많이 사용되고 있고 공통적으로 사용된 심볼 코딩 시스템(sysbol coding system)이다. 본 명세서에서 사용된 "심볼"은 m비트로 구성되며, m은 2이상의 비트이고, 통상 8비트와 동일하며, 이 경우 각 심볼은 1데이타 바이트와 동일하다.(N, K) R-S 코드는 사용자 데이타의 K심볼(데이타워드 또는 코드그룹)이 여기에 부가된 N-K 에러 정정(패리티체크 또는 코드) 심볼을 가져서, 어떤 길이의 N심볼을 갖는 하나의 코드워드를 규정하게 되는 그러한 코드이다. 결과적인 N심볼 코드워드는 코드워드내에서의 최소한의 데이타 에러의 T심볼을 정정할 수 있고, 여기서 T=(N-K)/2이다. 예를 들면;(38, 30) R-S 코드는 길이가 38심볼인 한 코드워드와 길이가 30심볼인 한 데이타 워드(코드그룹)를 가진다. 따라서, 여기에는 각 코드워드에서 최소한 4에러가 정정될 수 있게 하는 8패리티 체크(코드) 심볼이 있다.
R-S 코드화 전송을 위한 디코더는 이 기술 분야에서 공지되어 있다. 이러한 디코더는 수신된 코드워드를 처리하고, 코드 심볼에 따라 데이타 심볼에서의 검출 및 정정 처리를 실행하여, 정정된 두 그룹을 출력한다. 정정에 이어서, 패리티 체크(코드) 심볼은 코드워드로부터 제거되고, 정정된 데이타 워드(코드그룹)가 출력된다. R-S 코드는 하나의 에러를 검출 및 정정하기 위하여 2코드 심볼을 채택하기 때문에 단지 T에러만을 정정할 수 있다. 그러나, R-S 디코더는 디코더의 검출 및 정정 능력이 초과되어, 출력 코드 그룹에 아직 에러가 존재할 가능성을 가지고 있다. 따라서 R-S 디코더는 디코더의 에러 정정 능력이 초과될 때 활성화되는 출력도 포함한다.
이 추가의 디코더 출력에서 나타나는 신호는 "소거 플래그(erasure flags)"라 칭하며, 각각의 플래그는 아직 하나 이상의 에러를 포함하는 것으로 믿어지는 한 코드워드와 조합된다. 통상 이러한 소거 플래그는 후속 디코더에 의해 에러가 있는 플래그 데이타의 정정에 보조하도록 사용된다. 소거 플래그는 플래그 데이타 에러를 정정하기 위해 하나의 코드 심볼만을 필요로 하기 때문에 유익하다. 후속 디코더에 의한 소거 플래그의 사용으로, 디코더의 정정 능력을 최소 T에서 최대 2T 에러까지 증가시킬 수 있다.
더 나아가, 인코딩 전이나 후에 인터리빙 처리를 채용하여, 포함된 에러 제거를 위한 추가의 보호를 하게 되는 것은 이 기술분야에서 공지되어 있다. 인터리빙은 원 디지털 스트림(original digital stream)에서 디지털 정보의 연속 바이트가 서로 분리되는 시스템의 전송측과 기록측에서 실행되는 처리다. 따라서, 인터리빙 전에 인접하지 않은 디지털 정보의 바이트는 집중되어 새로운 비트 스트림으로 출력된다. 데이타 스트림의 인터리빙은 버스트 에러가 원 데이타 스트림의 다른 부분으로부터 연결된 바이트에 영향을 미치므로 원 스트림에서의 디지털 정보의 연속 바이트가 후속 버스트 에러에 의해 나쁜 영향을 받을 수도 있을 가능성을 줄인다. 후속 디인터리빙(deinterleaving) 처리에서, 버스트 에러는 정확한 데이타를 버스트 에러 외부의 위치로부터 비트 스트림내로 인터리빙함으로써, 단편적인 형태로 쪼개져서 효과적으로 정정된다.
종래의 기술에서 보면, 에러 정정 코딩 및 인터리빙 시스템을 조합하여 사용하여, 데이타 전송 및 기억작동동안 일어나는 랜덤 및 버스트 에러로부터 보호하게 된다. 예를 들면, 뎅(Deng) 등은 1987년 7월자의 통신에 관한 IEEE 회보 COM- 35권, 7호의 "연쇄 코딩 조직의 신뢰도와 처리량 분석(Reliability and Throughput Analysis of a Concatenated Coding Scheme)"이라는 논문에서 이중의 인터리브 에러 정정 시스템에 대해 기술하고 있다. 뎅등의 시스템을 이행함에 있어서, 연쇄 코드의 인코딩은 3단계로 이루어진다. 이 3단계 처리는 논문의 제1도에 도시된다(본 명세서의 제1도로 사용됨). 첫째, 고정된 수효의 비트의 데이타 메시지는 제1의 외부 인코딩 시스템에 의해 코드워드로 인코딩된다. 코드워드는 그 후 인터리빙되고, 인터리빙 후 제2의 내부 인코딩 시스템에 의해 인코딩되어, 매체 채널에 의해 전송 또는 기억을 위해 출력된다. 이러한 인터리브 코딩 시스템은 교차 인터리브 코딩 시스템(cross-interleaved coding system)이라 하며, 일차적으로 외부 및 내부 코딩 시스템용 R-S코드와 함께 사용된다. 제1도에 도시된 것과 같은 시스템은 이 기술에서 공지되어 있으며, 통상 CIRC(교차 인터리브드 리드-솔로몬 코드)라 칭한다.
에러 검출 및 정정 능력을 개선하기 위해 다중 인코딩 단계와 다중 인터리빙 단계를 각각 또는 조합하여 사용하는 것도 여러 공개특허에서 공개되어 있다. 맥도널드 등에게 허여된 미국특허 제3,786,439호와 일본특허 제55-35562호는 단순한 3중 인코딩 조직을 설명하는 것으로 간주된다.
맥도널드 등에게 허여된 특허는 3중 인코딩 조직을 공개하고 있고, 이에 의해 제1인코더는 다이타 스트림의 세그먼트에 대해 작용하고, 제2인코더는 인코딩된 세그먼트의 그룹에 대해 작용하며, 제3인코더는 인코딩된 그룹에 대해 작용한다. 상기 일본특허에서는 2에러 정정 코드가 데이타 스트림의 일부에 부가되며, 이중 인코덩된 부가 데이타 스트림이 제3코드 및 출력을 부가하기 위해 제3인코더에 의해 더 인코딩된다. 마카도에게 허여된 미국특허 제4,567,594호는 단순 3 인터리빙 조직을 설명하는 것으로 간주된다. 다중 인코딩 및 인터리빙 단계를 이용하여, 우연한 랜덤 및 버스트형 에러에 대한 검출 및 정정 능력을 개선하게 된다.
인코딩 및/또는 인터리빙된 데이타 스트림을 출력하기 전에,(예를 들면 디지털 테이프 레코더와 같은) 어떤 전송 또는 기록매체의 사용으로 유입된 에러를 카운트하기 위해 데이타 스트림에 대해 매체 채널 인코더를 사용하는 것은 이 기술에서 공지되어 있다. 매체 채널 인코딩 조직은 데이타 시퀀싱(sequencing) 에러로부터 보호하는 작동 길이 제한 코드이다. 이 기술 분야에서 공지되어 있고 널리 사용되는 하나의 그러한 매체 채널 인코딩 조직은 밀러에게 허여된 재발행 미국특허 제31,311호에서 공개된다. 종래의 "밀러- 스퀘어드"디코더는 단순히 출력을 위해 매체 채널 인코디드 데이타 스트림을 변환한다(디코딩한다).
이러한 종래기술의 실행길이 제한 매체 채널 디코더와 관련된 단점은 매체 채널에 의해 유입된 어떠한 에러에 대해서도 디코딩된 데이타 스트림이 체크되지 않는다는 점이다. 따라서, 이러한 미확인 에러는 후속 디코딩 및 디인터 리빙단계로 통과된다. 후속 에러 정정 디코더의 고유한 제한으로 인하여, 매체 채널에 의해 유입된 미확인 데이타 에러는 검출되지 않거나, 검출된다 할지라도 정정되지 않는다.
요약하면, 데이타에 부가된 에러 정정 코드 심볼이 많으면 많을수록 시스템이 유입된 에러를 검출하여 정정할 수 있는 능력이 정확해진다. 그러나, CIRC 구성과 같은 다중 인코딩 구성과 관련된 가장 중대한 단점은 각각의 인코딩 단계가 데이타 스트림에 중복 심볼을 부가하여, 사용자 데이타용으로 전용될 수 있는 공간을 점유한다는 점이다. 에러 정정 구성에서의 기술의 현상태는 에러 검출 및 정정에 전용되는, 포함된 심볼의 수효를 최소화하면서 전송 또는 기억을 위해 대량의 디지털 데이타를 정확히 처리하는 구성을 제공하지는 않는다.
본 발명에 따르면, 전송된 사용자 데이타의 양에 비해 비교적 적은 에러 정정 심볼을 사용하여 데이타 전송시에 에러를 검출 및 정정하기 위하여 3중 직교 인터리브 에러 정정 시스템(triple orthogonally interleaved error correction system)이 제공된다. 본 발명의 광범위한 양상에 따르면, 전송되어 기억될 데이타 스트림은 제1에러 정정 인코더에 의해 인코딩되어 일련의 코드워드를 형성한다.
코드워드는 코드워드가 직교 인터리빙되는 인터리버에 입력된다. 그 다음, 제2에러 정정 인코더는 일련의 코드워드를 인코딩한다. 코드워드는 제2인터리버에 의해 더 처리되고, 제3에러 정정 인코더에 의해 후속적으로 인코딩된다.
직교 인터리브드 인코디드 데이타는 선택된 매체 채널을 통하여 전송 및 기억할 준비가 되어 있다. 시스템의 수신 또는 재생측에서, 데이타는 매체 채널로부터 복원되고 대응하는 일련의 디코더 및 디인터리버에 의해 송신 및 기억측으로부터 역방향으로 처리되어, 사용자 데이타 스트림을 복원하고 어떠한 유입된 에러도 정정하게 된다.
특히, 전송되거나 기억될 데이타 스트림은 시스템에 입력되고, 원 데이타를 매 그룹당 K심볼로 구성된 일련의 코드 그룹으로 분리하는 제1에러 정정 인코더에 의해 우선 처리되며, 여기서 각각의 심볼은 8데이타 비트(1바이트)로 구성된다. 제1인코더는 심볼 길이 K의 관련 코드그룹에 부가되어 심볼길이 N의 한 코드워드를 형성하는 제1에러 정정 심볼(C3)을 발생한다. 각각의 코드워드에 대해 발생된 C3에러 정정 심볼은 최고로 T에러 전송 또는 기억 심볼을 정정할 수 있으며, 여기서 T=(N-K)/2이다.
C3 에러 정정 심볼이 부가된 후, 발생된 코드워드는 제1시리즈의 2차원 "데이타 평면"의 외부 인터리버의 열(column)에 기억된다. 따라서 외부 인터리버의 각각의 열은 정수개의 심볼 길이 N의 C3 인코딩된 코드워드로 구성되며, 각각의 열의 각각의 행(row)은 정수개의 각각의 데이타 심볼 또는 정정 심볼을 포함한다.
다음 에러 정정 심볼(C2 심볼로 정해짐)을 생성하기전에, 제1시리즈의 데이타 평면의 행은 외부 인터리버에 의해 직교로 혼합되어 제2시리즈의 데이터 평면을 발생한다. 이러한 방식으로 인터리빙하여, 매우 큰 버스트형 에러로 인한 손실로부터 데이타를 보호한다. 이러한 직교 혼합 처리동안, 각각의 행은 제2시리즈의 데이타 평면에서 그 행 위치를 되도록 유지하는 것이 좋다. 예를 들면, 제1시리즈의 제1데이타 평면으로부터의 제1행이 혼합되면, 제1행은 제2(혼합된) 시리즈의 지정된 종착 데이타 평면에서 제1행을 점유한다.
외부의 직교 인터리브에 이어서, 코드워드의 열은 외부 인터리버로부터의 출력이고, 제2에러 정정 심볼(C2)이 각각의 직교 인터리브 코드워드에 부가되는 제2에러 정정 인코더에 의해 처리된다. C2 인코딩된 코드워드는 제2(내부) 인터리버에서 데이타 평면의 열로 기록된다. 내부 인터리버에서 데이타 평면의 행은 순차적으로 출력되어 C2 인코딩된 코드워드에서 인터리빙 처리를 실행한다. 제2인터리빙 단계는 적절한 길이의 버스트형 에러로부터 보호하게 된다.
내부 인터리브에 이어, 제2시리즈의 데이타 평면에서 심볼의 행은 제3에러 정정 인코더에 의해 코드워드로서 처리된다. 이러한 처리를 통하여 제3에러 정정 심볼(C1)은 다른 심볼에 직교하게 심볼의 행에 부가되어, C1 인코딩된 코드워드의 최종 시리즈의 데이타 평면을 발생하게 된다. C1 인코딩된 데이타는 매체 채널에 의해 전송 및 기록을 위해 통과된다.
매체 채널에서 입력하기 전에 "밀러 스퀘어드(Miller-Squared)" 코드와 같은 실행 길이 제한 코드를 이용하여 최종 시리즈의 데이타 평면을 더 인코딩함으로써 에러 검출 및 정정이 보강된다. 실행 길이 제한 코드가 이용될 때, 대응 디코더는 수신 및 재생측에서 사용되어야 한다. 본 발명에서 사용된 디코더는 매체 채널에 의해 유입되었던 데이타 스트림에서 잘못된 데이타 시퀀스를 시그널링(signlling)하는 시퀀스 위반(S.V.)플래그를 발생하는 개선된 "밀러 스퀘어드"디코더이다.
이러한 위반 플래그는 수신기나 재생측에서 디코더에 의해 소거 플래그로서 사용되어, 데이타 스트림에서 에러의 검출 및 정정에 협력하게 된다.
수신기나 재생측에서, 제1에러 정정 디코더는 C1 인코딩된 코드워드와 어떤 발생된 매체 채널 시퀀스 위반 플래그도 수신하며, 어떤 현재의 그리고 정정가능한 에러 포함 데이타 심볼도 정정하며, C1 코드 심볼을 떼어버린다.
시퀀스 위반 플래그의 경우, C1 디코더는 사전에 검출되지 않은 에러의 정정에 필요한 플래그드(flagged) 에러를 정정하기 위한 둘이 아닌 단 하나의 C1코드 심볼만의 사용을 필요로 한다. 수신되거나 재생된 코드워드에서 존재하고 검출된 모든 에러가 C1 디코더에 의해 정정되지는 않는다. 그러나, C1 디코더에 의해 검출된 각각의 정정할 수 없는 에러의 경우, C1 에러 플래그는 아직껏 하나 이상의 정정되지 않는 에러를 포함하는 각각의 행의 위치를 식별하도록 출력된다.
시퀀스 위반 플래그와 C1에러 플래그는 C1디코더에 의해 정정되지 않은(플래그) 포함된 에러로 좀더 특별히 그리고 정확히 지적하기 위하여 C1 S.V. 심볼의 정확한 에러 플래그를 발생하도록 논리적으로 조합된다.
C1 디코딩된 코드워드(C1코드 그룹) C1 S.V. 에러 플래그와 함께 데이타 평면으로서 내부 디인터리버의 행으로 기록된다. 내부 디인터리버는 데이타의 열을 순차적으로 출력함으로써 데이타를 디인터리브한다. 실행된 디인터리브는 시스템의 전송측에서의 내부 인터리버에 의해 실행된 인터리브와 반대이다. C1 디코딩된 코드워드(C1 코드 그룹)의 열은 C2 및 C3 에러 정정 심볼이 전송/기록측에서의 C2 인코더로부터의 데이타 출력에 대응하는 순서로 적절히 C2 코드 그룹에 부가된다. 또한, 각각의 출력 열과 함께, C1 디코더에 의해 정정되지 않은 에러를 포함하는 각각의 열(행 위치)내에서 장소의 표시를 제공하는 디인터리브 C1 S.V. 에러 플래그가 포함된다.
데이타는 그 다음, 가능한 한 많은 에러를 검출 및 정정하기 위하여, C2코드 심볼과 C1 S.V. 에러 플래그를 이용하는 C2 디코더에 의해 처리된다. C2 디코더는 그후 코드워드로부터 C2 코드 심볼을 제거하고 C3 코드 그룹을 출력한다. C2 디코더에 의해 정정가능한 에러의 범위는 플래깅된 에러가 정정용의 단 하나의 코드 심볼만을 필요로 하므로 C1 S.V. 에러 플래그에 의해 확장된다. 플래깅된 에러나 검출된 에러가 C2 디코더에 의해 정정되지 않은 에러를 포함하는 열이나 코드워드를 지정하도록 출력된다.
C1 S.V 및 C2 에러 플래그는 그 후 논리적으로 조합되어 에러로 남아 있는 후속 C3 디코더 심볼에 대해 식별할 C1. C2 심볼의 정확한 플래그를 발생하게 된다.
C1.C2 심볼의 정확한 플래그와 함께, 디코딩된 C2 코드워드(C2 코드 그룹)을 일련의 데이타 평면으로서 외부 디인터리버의 열에 기록된다. 외부 디인터리버는 그 후 데이타 평면의 직교 인터리브 시리즈의 행을 제거하지 않아서, 전송/기록측에서 외부 인터리버의 데이타 평면의 제1시리즈에 대응하는 데이타 평면을 발생하게 된다. 외부 디인터리브 데이타 평면에 기억된 디코딩된 C2 코드 워드(C2 코드 그룹)는 부가된 C3 에러 정정 심불과 함께 C3 디코더에 순차적으로 열에 의해 출력된다.
내부 디인터리브 배열의 각각의 열은 C3 디코더에 의해 처리되므로, C1, C2 심볼의 정확한 에러 플래그는 검출된 그러나 정정되지 않은 에러를 포함하는 C3 코드워드내에서 각각의 심볼을 식별하도록 판독된다. C3 디코더는 그 후 가능한한 포함된 많은 에러를 검출하여 정정하며, 코드워드로부터 C3 코드 심볼을 제거하고, 원 사용자 데이타 심볼(데이타 스트림) 제1출력에 실제로 대응하는 데이타 스트림을 전송/기록측에서의 C3 인코더에 출력한다.
매체 채널 S.V. 플래그, C1 S.V. 플래그 및 C1.C2 플래그를 이용하는 본 발명의 3중 직교 인터리브 에러 정정 처리와 함께, 정정가능한 데이타 심볼의 범위는 각각의 에러 정정 디코더가 소거 플래그를 유익하게 이용하여 단일코드 심볼의 사용을 통한 에러 정정을 허용할 때 T에서 2T까지 확대되고 최대화된다. 시스템으로부터의 출력으로서 정정된 데이타 스트림은 실제로 에러 제거된 것이다. C3 디코딩 및 정정 처리후 에러를 프함하는 어떠한 심볼도 필요할 경우 더 처리하기 위하여 C3 디코더에 의해 플래그될 수도 있다.
매체 채널을 통해 기억되거나 전송된 데이타 스트림의 질과 정확도는 본 발명의 3중 직교 인터리브 에러 정정 시스템에 결합된 기록동안 판독 회로의 사용을 통해 더 개선된다. 기록동안 판독함으로써, 3중 직교 인터리브 인코덩된 데이타 평면의 시퀀스는 매체 채널에 기록된 바와 같이 즉시 판독되고 디코딩되고, C1 및 C2 에러 플래그의 수가 카운트된다. 카운트된 플래그의 수가 전송 또는 재생질의 저하에 대한 마진을 제공하도록 설정된 예정된 임계 레벨을 초과하면, 기록동안 판독 회로는 에러가 있는 데이타를 재판독, 재인코딩 및 재송신 또는 재기록하도록 송신측과 기록측을 트리거링(triggering)함으로써, 데이타의 에러를 포함하는 블럭으로 하여금 매체 채널에 다시 기록되게 한다.
제1도는 종래 기술의 이중 인터리브 에러 정정 시스템(dual interleaved error correction system)을 도시하고 있다. 이중 인터리브 에러 정정 시스템을 실행함에 있어서, 송신 또는 기록 측에서의 연결 코드(concatenated code)의 인코딩은 3단계로 이루어진다. 첫째, 고정된 수효의 비트의 데이타 메시지는 제1의 외부 인코더(2)에 의해 코드워드로 인코딩된다. 코드워드는 그 후 인터리버(4)에 의해 인터리빙된다.
최종적으로, 코드워드는 제2의 내부 인코더(6)에 의해 인코딩되고, 전송 및 기억을 위해 매체 채널(8)을 거쳐서 전송된다. 수신 또는 재생측에서, 보완적인 3단계 순서로, 매체 채널(8)로부터 데이타를 수신함으로써 전송된 데이터의 디코딩과, 대응하는 디코딩 및 디인터리빙 단계가 실행되어 이루어진다. 이와 같은 인터리브 코딩 시스템은 외부 및 내부 인코딩 및 디코딩 시스템에 대한 R-S 코딩 조직과 함께 일차적으로 사용되며, 교차 인터리브 리드 솔로몬 코딩 시스템(CIRC)이라 지칭된다. 에러 검출 및 정정 인코딩(및 디코딩) 처리 및 회로는 이 기술에서 공지되어 있다.
(N, K) R-S 인코더는 K 심볼로 구성된 코드 그룹을 택하며, N-K 에러 정정 코드 심볼을 계산 부가하여, 코드워드 N 심볼을 발생한다. 코드 심볼은 디오다에게 허여된 미국특허 제4,567,594호에서 설명된 발생기(인코딩) 다항식과 갈로이스 필드(Galois Field)를 이용하여, 공지의 방법으로 발생된다. 부가된 코드 심볼은 코드워드에서 T에러를 검출 및 정정할 능력을 제공하며, 여기서 T=(N-K)/2이다. T이상의 에러(최대 2T의 에러)를 정정하는 것을 본 명세서에서 설명된 바와 같이 소거 플래그의 사용으로 가능하다.
제2도, 15도 및 16도에는 본 발명의 3중 직교 인터리브 에러 정정 시스템의 여러 실시예에 대한 블럭도가 도시된다. 제16도는 포함된 데이타 에러에 대비한 최대의 보호와 에러의 정정을 제공하기 위한 양호한 실시예를 도시한 것이다. 설명된 시스템은 각각 각 도면의 상단에 전송 또는 기록측과, 각 도면의 하단에 수신 또는 재생측을 포함한다. 시스템의 각 측간의 통신을 각 도면의 우측에 있는 매체 채널을 통해 발생한다. 이것은 보통 데이타 전송에 에러를 유입하는 매체 채널이다.
제2도에서 전송 또는 기억용 사용자 데이타는 라인(10)에서의 데이타 소스로부터 시스템의 전송/기록측에서 수신된다. 사용자 데이타는 일반적으로 병렬 포맷으로 수신된 8비트 데이타의 스트림이다. 하지만, 다른 포맷의 데이터, 예를 들면 직렬 포맷과 같은 시스템에 의해 수신 및 처리될 수도 있음을 알 수 있을 것이다. 시스템의 전송/기록측에서, 에러 정정 코드의 3중 직교 인터리브세트(C3, C2 및 C1)가 계산되어 사용자 데이타에 부가된다. 이러한 3에러 정정 코드는 심볼 포맷 상태에 있으며, 사용자 데이타 심볼의 그룹이나 시스템에 의해 형성된 다른 코드 집단에 부가되어 코드워드를 형성한다. 각각의 에러 정정 코드 심볼은 각각의 그룹과 특정 코딩 다항식에서 사용자 데이타 심볼을 이용하는 공지의 처리에 따라 단일 코드 심볼을 발생하는 인코더에 의해 발생된다.
전송 또는 기억을 위한 라인(10)에서의 사용자 데이타 심볼 스트림 입력은 외부 인코더(12)에 의해 사용자 코드 그룹의 시퀀스로 우선 나누어지며, 각각의 그룹은 심볼 포맷으로 예정된 량의 사용자 데이타를 포함한다. 사용자 데이타의 각각의 코드 그룹의 심볼수에 있어서의 길이는 시스템에 의해 결정되어 세팅되고, 디코더(12)내에 프로그래밍될 수 있다.
사용자 데이타 시퀀스에 있어서의 각각의 사용자 데이타 코드 그룹은 사용자 데이타 코드 그룹에 부가되는 하나 이상의 심볼의 형태로 제1에러 정정 코드(차후에 C3 코드로 지칭됨)를 계산하는 외부 인코더(12)에 의해 처리되어, C3인코딩된 코드워드를 발생한다. 외부 인코더(12)는 (N, K)리드 솔로몬 인코더인 것이 바람직하나, 사용자 데이타 심볼의 서브세트(코드 그룹)에 근거하여 에러 검출 및 정정 심볼을 발생 및 부가하는 어떤 다른 인코딩 시스템 또는 장치일 수 있다.
라인(14)상에서의 외부(C3) 인코더(12)로부터의 출력은 C3 인코딩된 코드워드의 시퀀스(사용자 코드 플러스 C3 코드 심볼)를 포함한다. 라인(14)상에서의 C3 코드 워드의 시퀀스는 데이타 평면의 제1시리즈로서 외부 인터리버(16)의 2차원 메모리 배열에 기억된다. 각각의 데이타 평면은 m열을 포함하며, 각각의 열은 n소자 또는 행을 포함한다. 배열의 각 열에서의 소자의 수와 관련된 "n"과 코드 워드에서 심볼의 수와 관련된 "N"은 반드시 동일 수를 나타낼 필요는 없다.
그러나, 본 발명의 바람직한 실시예에서, 코드워드에서의 심볼의 수 "N"은 행의 수 "n"과 동일하다. 따라서, C3 코드 워드의 시퀀스는 매열당 한 코드워드씩 연속 데이타 평면의 인접 열에 순차적으로 기록된다. 예를 들면, 20코드워드를 포함하는 코드 시퀀스(각각의 워드가 15심볼을 구비함)와, 2데이타 평면을 기억하는 메모리 영역(각각의 면이 10열(m=10)을 구비하고 15행(n=15)을 구비함)을 고려해보자. 이 예에서, 상기 시퀀스에서 제1 10코드워드는 제1데이타 평면의 10열로 기록되고, 매 행당 1심볼, 매 열당 15심볼(10코드워드)로 기록되며, 제2의 10코드워드는 동일 방식으로 제2데이타 평면의 10열로 기록된다.
인터리버(16)에 의해 실행된 기억 처리는 외부 인터리버(16)에서 일련의 3데이타 평면을 나타내고 있고 각각의 데이타 평면이 다수의 열(18)과 행(20)을 구비하는 제3도를 참조하여 좀 더 잘 이해될 수 있다. 각각의 열(18)의 행(20)은 사용자 데이타 심볼(22)과 부가된 C3 에러 정정 코드 심볼(24)을 포함한다. 시퀀스에서의 제1 C3 코드워드는 제1데이타 평면(28)의 제1열에 기억된다.
C3 인코딩된 코드워드의 시퀀스에서 뒤따르는 C3 코드워드는 제1데이타평면(28)에서 잔여 열(18)에 좌측에서 우측으로 유사한 방식으로 순차적으로 기억된다. 제1데이타 평면(28)이 설명된 방식으로 C3 코드워드로 채워진 후, 외부 인터리버(16)는 다음의 인접한 데이타 평면(30), (32)에 이어지는 C3 코드워드를 순차적으로 기억시키도록 작동한다.
제2도에서 외부 인터리버(16)의 목적은 데이타 평면의 기억된 시리즈의 행을 직교 혼합(orthogonally shuffle)(인터리브)하여, 제2시리즈의 데이타 평면을 발생하기 위한 것이다. 이러한 방식으로 인터리빙하여, 인접하지 않은 코드워드를 연결시키고 인접 코드워드를 넓게 분리시킴으로써 매우 큰 버스트형 에러로부터 보호하게 된다. 직교 인터리빙 처리는 제4a도 및 제4b도의 설명과 관련하여 볼 때 다음의 설명을 참고하면 잘 이해될 수도 있다.
제4a도에 도시된 각각의 데이타 평면은 C3 인코딩 단계동안 발생된 사용자 데이타 심볼의 다수의 행과 C3 코드 심볼의 다수의 행을 포함한다. 적색, 청색 및 녹색은 데이타 평면에 할당되어, 직교 행 혼합 처리가 좀더 쉽게 설명되고 명확하게 관찰될 수도 있다. 적색 데이타 평면(40)의 행은 R1, R2,....Rn으로 순차적으로 라벨 정해진다. 청색 데이타 평면(42)의 행(Bn)과 녹색 데이타 평면(44)의 행(Gn)의 경우도 동일하다. C3 패리티 심볼과 데이타 심볼이 인터리버(16)에 의해 동일하게 처리되므로 에러 정정 코드 심볼의 행은 사용자 데이타 심볼 행에 이어서 연속적으로 표시된다.
데이타 평면에서 행의 직교 인터리빙은 단일 데이타 평면 내부에서의 혼합(면 내부의 혼합(intraplane shuffle)) 보다는 데이터면 간의 행을 혼합하는(면간 혼합(interplane shuffle))행 혼합 인터리브 처리에 의해 인터리버(16)에 의해 이루어진다. 외부 인터리버(16)에서 참조 테이블에 기억된 선정된 면간 혼합 알고리즘에 따르면, 데이타 평면간 개개의 행이 선택되어, 다른 선정된 데이타 평면으로 이동되어, 그 면에서의 행과 교체된다.
이러한 면간 혼합 처리는 새로운(제2의) 시리즈와 데이타 평면을 생성하고(제4b도 참조), 각각의 데이타 평면은 제1시리즈에서의 다수의 데이타 평면으로부터 여러 깊이에서 취해진 심볼의 행들로 구성된다. 따라서, 새로운 다수의 데이타 평면에서의 각각의 데이타 평면은 제4a도에서의 면으로부터 직교 인터리빙되고, 적색, 녹색 및/또는 청색 행의 혼합으로 이루어진다. "직교 인터리빙(orthogonal interleaving)"이라는 용어는 이 혼합 알고리즘을 설명하기 위해 사용된다. 그 이유는, 행들은 z축을 가로질러서(면사이에서(interplane)) 혼합되고, 이 z축은 행들이 선택되는 각각의 평면과 동일 평면상에 있는 x-y면에 직교하기 때문이다.
본 발명의 바람직한 실시예에서, 면간 직교 혼합 알고리즘은 새로운 복수개의 데이터 평면으로 전달된 후 각각의 혼합된 행에 대해 동일한 행 위치를 유지한다. 이것은 제4b도에서 가장 잘 설명되어 있고, 제4a도의 제1시리즈의 적색, 청색 및 녹색 데이타 평면(40, 42, 44)이 인터리버(16)에 의해 실행된 면간 직교 혼합에 이어서 도시된다. 제4b도의 제1데이터 평면(46)(적색 데이타 평면(40)에 대응하는 제2시리즈의 데이타 평면)은 제4a도의 각각의 데이타 평면에서 채택된 행을 포함한다. 알 수 있는 바와 같이, 각각의 혼합된 행은 그 동일행 위치를 유지해왔다. 예를 들면, 직교 혼합된 데이타 평면(46)에서의 제2행(48)은 제2행의 청색 데이타 평면(42)(B2)을 포함한다. 마찬가지로, 제6행(50)은 제6행의 녹색 데이타 평면(44) (G6)을 포함한다. C3 코드 심볼을 포함하는 행에 대해 혼합 알고리즘에 따른 유사한 혼합이 발생하며, 따라서 직교 인터리빙 후 조차도 코드 심볼이 데이타 평면의 아래 부분에서 유지될 것이다.
제5도에 도시된 데이타 입방체는 행의 위치를 유지하는 하나의 특정 면간 혼합 알고리즘을 설명하고 있다. 물론 다른 혼합 알고리즘도 유용함을 알 것이다. 데이타 입방체(52)는 인터리버(16)에서 데이타 평면의 시퀀스를 표시하는 복수개의 데이타 평면을 포함하며, 여기서 단지 제4a도의 적색(40), 청색(42), 녹색(44) 데이타 평면에 대응하는 처음 세 데이타 평면만이 도시된다.
데이타 입방체(52)에서 선택된 데이타 평면의 행을 분산시키기 위한 혼합 시퀀스 또는 알고리즘을 나타내는 대각선면(54)이 도시된다.
도시된 바와 같이, 대각선면(54)는 제1(적색) 데이타 평면(40)의 행의 분산을 도시한 것이다. 따라서, 입방체(52)의 상측 정면 에지(56)에서의 제1행(R1)은 혼합후의 제1데이타 평면의 제1행으로 유지될 것이다. 그러나, 제1데이타 평면의 최종행(Rn)은 대각선 면(54)에 의해 직교 혼합되어, 입방체(52)의 하측 배면 에지(58)에서 최종 데이타 평면의 최종행으로 된다. 직교면(54)에 의한 다른 데이터면 (청색(42), 녹색(44) 등)으로부터의 행의 분산은 점선의 대각선면(54')으로 도시된 바와 같이 배면 방향으로 순차적으로 면단위로 대각선면을 단순히 이동시켜, 각각의 후속 데이타 평면의 행을 분산시킴으로써 입방체상에서 설명될 수 있다 (녹색 데이타 평면(44)의 분산이 도시됨).
인터리버(16)에 의해 실행된 행 혼합 알고리즘은 버스트 에러로부터 유용한 보호를 최적화하기 위하여 선택된 매체 채널에 따라 인터리버내로 프로그래밍 된다. 예를 들면, 매체 채널이 길이 X의 버스트 에러에 영향을 받기 쉽고, 여기서 X가 물리적 공간 또는 시간일 경우, 혼합 알고리즘은 열에서의 인접 심볼로 하여금 최소한 X거리만큼 분리되게 한다. 이러한 분리로, X지속기간 이하의 버스트 에러는 에러 외부로부터 데이타 스트림으로 감염되지 않은 데이타를 인터리빙한 다음 디코더에 의해 에러가 정정될 수 있으므로 데이타에 나쁜 영향을 받지는 않을 것이다.
혼합된 행의 상대적 위치(행위치)를 유지하면서 면간 혼합을 제공하는 직교 인터리빙 알고리즘이 본 명세서에 설명되어 있으나, 다른 면간 혼합 알고리즘이 실행될 수도 있음을 이해할 것이다. 예를 들면, 알고리즘은 의사 랜덤 방식이나, 주어진 수학적 시퀀스로 규정된 어떤 다른 방식에서 면간 혼합을 위해 제공될 수 있다. 혼합 알고리즘을 선택함에 있어서, 선택된 교번 인터리빙 알고리즘이 스페이스와 시간에 있어서 코드워드의 충분한 공간을 제공하여, 선택된 매체 채널의 이용으로 생길 수 있는 예상된 형태의 버스트 에러로부터 보호할 수 있게 되는 것이 중요하다.
제6도에는 본 발명의 외부 인터리버(16)에 사용된 것과 유사한 인터리버 회로의 블럭도가 도시된다. 랜덤 억세스 메모리(RAM) 배열(60(1) 내지 60(j))은 면간 직교 혼합에 필요한 다수의 데이타 평면에서의 코드워드의 시퀀스를 기억하는데 필요한 m열과 n행의 j 2차원 배열을 위한 기억 영역으로서 인터리버 회로에 제공된다. 각각의 메모리 배열(60)은 어드례스 버스(62)와 데이타 버스(64)에 접속된다. 어드레스 버스(62)는 각각의 배열(60)의 어드레스 포트(66)에 접속되고, 데이타 버스 (64)는 각각의 배열(60)의 입/출력 포트(68)에 접속된다.
기록 멀티플렉서(70)는 C3 인코더(12)로부터 라인(14)을 거쳐서 C3 인코딩된 코드워드 시퀀스를 수신하고, 기록 어드레스 카운터(72)와 판독/기록 제어회로(74)에 의해 순차적으로 발생된 메모리 어드레스에 따라 선택된 메모리 배열(60)에 개별 코드워드를 기록한다. 선택된 메모리 배열(60)의 입/출력 포트(68)는 회로(74)의 작동에 따라, 기록 어드레스 카운터(72)로부터 어드레스 버스(62)상의 신호에 의해 활성화된다. 통상적으로, 기록 어드레스 카운터(72)는 인입 시퀀스 대로의 코드워드로 하여금 각각의 메모리 배열(60)의 인접 열에, 제1배열(61))에서 시작하여 배열(60(j))이 채워질 때까지 계속하여 순차적으로 기록되게 한다.
인터리버 회로(제6도)로부터의 직교 인터리브 코드워드를 출력하기 위하여, 조사 테이블(look-up table)(78)과 판독/기록 제어 회로(74)에 접속된 판독 어드레스 카운터(76)는 제1시퀀스의 판독 어드레스를 순차적으로 발생한다. 이 어드레스는 조사 테이블(78)의 내용으로의 순차적 억세스를 유발하여, 제2시퀸스의 어드레스로하여금 판독/기록 제어 회로(74)에 의해 어드레스 버스(62)를 거쳐서 메모리 배열(60)에 인가되게 한다.
어드레스 버스(62)에 존재하는 어드레스는 선택된 메모리 배열(60)로 하여금 배열에 있어서의 열에 억세스하게 하고, 기억된 코드워드를 데이타 버스(64)상에 출력하게 한다. 본 발명의 본 실시예에서, 인터리버는 행 유지 조사 알고리즘(row maintaining lookup table)을 이용하며, C3 인코딩된, 직교 혼합된 코드워드는 각각의 코드 그룹의 끝에 부가된 C3 코드 심볼과 함께 출력된다. 또다른 실시예에서, C3 코드 심볼은 출력 코드워드 전체에 걸쳐서 분포된다.
제1시퀀스로 액세스되고 메모리 배열(60)에 출력된 제2시퀸스의 판독 어드레스는 적절히 선택된 직교 면간 혼합 시퀀스를 실행하는 예정된 순서로 조사 테이블(78)에 프로그램 되어, 선택된 매체 채널에 의해 예상되는 길이의 버스트 에러로부터 보호하게 된다. 메모리 배열(60)로부터의 제2시퀀스의 판독 어드레스에 의해 억세스된, 직교 혼합된 시퀀스의 코드워드는 판독 멀티플렉서(80)를 통하여 라인(82)상에 출력된다. 조사 테이블은 행 유지 알고리즘을 이용할 필요는 없으나, 예를 들면 열 혼합과 같은 어떤 다른 적절한 혼합 알고리즘을 실행하여 버스트 에러 보호를 행하게 된다.
중재 논리 회로(arbitration logic circuit)(84)는 각각 제어 라인(85, 86, 88)을 통하여 기록 멀티플렉서(70), 판독 멀티플렉서(80) 및 판독/기록 제어회로(74)의 스위칭을 제어한다. 중재 논리 회로(84)는 기록 어드레스 카운터(72)와 판독 어드레스 카운터(74)에 결합된다.
중재 논리 회로(84)는 기록 어드레스 카운터(72)와 조사 테이블(78)에 의해 선택된 판독 및 기록 어드레스가 동일 메모리 배열(60)에서의 동일 어드레스에 동시에 억세싱되도록 보장하는 작동을 한다. 이것은 데이타를 기록 및 판독하기 위하여 중재 논리 회로(84)에 의해 선택적으로 억세스된 2데이타 버퍼로서 다수의 메모리 배열(60)을 구성함으로써 이루어진다. 예를 들면, 제1데이타 버퍼에서의 메모리 배열이 인입 코드워드로 순차적으로 채워지므로, 데이타로 사전에 채워졌던 제2 버퍼의 메모리 배열은 조사 테이블 순차에 따라 판독되고, 직교 인터리빙 처리를 실행하도록 출력된다. 일단 버퍼가 완전히 판독되면, 인터리버 회로는 다음 코드워드 시퀀스를 수신하여, 제2버퍼에 직교 인터리브 출력 데이타를 중복 기재하도록 작동한다. 동시에, 중재 논리 회로(84)는 제1버퍼에서 사전에 기록된 코드워드 시퀸스를 판독하여 직교 출력한다.
제2도에서, 외부 인터리버(16)에 의해 직교 인터리빙된 C3 인코딩된 코드워드는 라인(82)상에 출력되고, 중간 에러 정정 인코더(middle error correction encoder)(90)에 의해 수신된다. 직교 혼합된 C3 인코딩된 코드워드의 시퀀스는 인코더(90)에 의해 수신되고 개별 코드 그룹으로 분할되어, C2 인코딩된 코드워드를 발생하도록 각각의 코드 그룹에 부가된 하나 이상의 심볼의 형태로 제2에러 정정 코드(이후부터 C2 코드라 칭함)를 산출하도록 처리된다.
외부 인터리버(16)가 행을 유지하는 면간 혼합 알고리즘을 이용하고 분리된 C2 코드 그룹의 길이가 C3 코드워드와 동일할 경우, C2 코드 심볼과 C3 코드 심볼은 각각의 C2 인코딩된 코드워드의 끝에 서로에 인접 배치된다(제8도 참조). 그 순간의 C2 인코딩된 코드워드는 중간 인코더(90)로부터 라인(100)상에 출력된다.
이와 같은 방법으로 인코딩하면, 다른 인코더(16)에 의해 제공된 보호뿐만 아니라, 랜덤 및 버스트 에러로부터의 보호도 향상된다. 중간 인코더(90)는 (N, K) 리드 솔로몬 인코더인 것이 좋으나, 에러 검출 및 정정 심볼을 발생 및 부가하는 어떤 다른 인코딩 시스템 또는 장치일 수도 있다. 그러나, 중간 에러 정정 인코더(90)는 외부 에러 정정 인코더(16)와 동일한 코드 형태를 사용할 필요가 없거나 동일한 인코딩 다항식을 사용할 필요가 없다.
인코딩 후, C2 인코딩된 코드워드의 시퀀스(혼합된 사용자 데이타 코드 그룹, 혼합된 C3 코드 심볼 및 C2 코드 심볼을 포함)가 라인(100) 상에서 내부 인터리버(110)로 출력된다. 내부 인터리버(110)는 제6도에 도시된 외부 인터리버(16)와 유사한 2버퍼 스위칭 처리를 이용하지만, 변형된 인터리버 회로를 이용한다. 내부 인터리버(110)용 회로의 단순화된 블럭도는 제7a도와 제7b도에 도시된다. 인터리버(110)는 인입 C2 인코딩된 코드워드와 출력(outgoing) 인터리브 C2 인코딩된 코드워드를 동시에 처리하도록 구성된다.
제7a도에서, 데이타 버퍼(112(a))와 (112(b))는 라인(100)을 통해 입력되는 C2 인코딩된 코드 워드의 시퀀스를 기억하도록 인터리버(110)에 제공된다. 데이타 버퍼(112(a),112(b))는 제3도, 제4a도, 제4b도 및 제5도에 도시된 바와 같은 단일 데이타 평면을 보유하기에 충분할 정도로 큰 메모리 포맷 (m열 x행)으로 구성된 랜덤 억세스 메모리이다. 버퍼(112(a), 112(b))는 인터리버에 의해 사용되어, 인터리브 형태로 C2 인코딩된 코드워드를 입력하고 동시에 C2 인코딩된 코드워드를 출력한다.
입력/기록 멀티플렉서(114)는 예를 들면 버퍼(112(a))와 같은 하나의 버퍼에 기억하기 위하여 라인(100)으로부터의 입력 C2 인코딩된 코드워드를 데이타 버스(116)상에 인가하고 동시에, 출력/판독 멀티플랙서(118)는 라인(120)상에 출력하기 위하여 예를 들면 버퍼(112(b))와 같은 제2버퍼로부터 인터리브 데이타를 채택한다. 이중 버퍼 인터리브 시스템용 판독/기록 기능은 어드레스 발생기(124(a), 124(b))로부터의 라인(122)상의 판독/기록 제어신호에 의해 제어된다. 기록 기능이 새로운 코드워드로 버퍼(112(a))를 채우고 판독 기능이 버퍼(112(b))를 비울때, 판독/기록 제어 신호가 스위칭하여, 다음 시퀀스의 코드워드가 버퍼(112(b))에 기억되게 하고 동시에 버퍼(112(a))에 사전에 기억된 코드워드가 인터리브 형태로 출력된다.
설명된 바와 같이, 코드워드 기억 및 인터리빙 처리는 각각 버퍼(112(a), 112(b))에 결합된 어드레스 발생기(124(a), 124(b))로부터의 출력에 의해 제어된다. 각각의 어드레스 발생기(124)는 열 어드레스 라인(128)과 행 어드레스 라인(130)으로 구성된 어드레스 버스(126)와 판독/기록 라인(122)을 통하여 그 관련 버퍼(112)에 접속된다.
제7b도에서, 어드레스 발생기(124)는 두 카운터(132, 134)로 구성된다. 열 카운터(132)는 모듈로(modulo) "m"을 카운트하여, 버퍼(112)용 열 어드레스를 제공한다. 행 카운터(134)는 모듈로 "n"을 카운트하여, 버퍼(112)용 행 어드레스를 제공하게 된다. 따라서, 어드레스 카운터는 코드워드에서의 어떤 개별 심볼의 기억 및 복원을 위해 버퍼(112)에 기억된 데이타 평면에서의 모든 위치에 억세스할 수 있다.
제7a도 및 제7b도에서, 버퍼(112)에서의 데이타 위치의 억세싱은 라인(136)상에서 어드레스 발생기(124)에 인가된 기록 멀티플렉서(114)로부터의 제어신호에 의해 제어된다. 제어 신호가 논리 저일때, 어드레스 발생기(124)의 행 카운터는 행 어드레스를 연속적으로 증가시키도록 인에이블(enable)된다. 열카운터(132)는 행 카운터가 터미널 카운트(n)에 이를때마다 열 어드레스를 증가시키도록 인에이블된다. 어드레스 발생기(124)에 저 제어 신호가 인가되는 경우, 관련된 버퍼는 기록 모드에 있게 되어, 이에 의해 인입 C2 인코딩된 코드워드의 입력 및 기억을 인에이블하게 된다. 역으로, 멀티플렉서(114)로부터의 제어 신호가 논리 고에 있는 경우, 열 카운터(132)는 연속적으로 증가되고, 행카운터(134)는 열 카운터가 그 터미널 카운트(m)에 이를때마다 증가된다. 어드레스 발생기(124)가 논리 고 제어 신호를 인가 받는 경우, 관련 버퍼(112)는 판독 모드에 있게 되어, 인터리브 C2 인코딩된 코드워드의 기억 장치로부터의 출력을 인에이블하게 된다.
기록 모드동안, 어드레스 발생기(124)는 인입 C2 인코딩된 코드 워드로하여금 제8도의 화살표(140)로 도시된 바와 같은 버퍼 데이타 평면(138)의 열에 순차적으로 기록되게 한다. 판독 모드동안, 어드레스 발생기(124)는 버퍼 데이타 평면(138)에 기억된 데이타로 하여금 제8도의 화살표(142)로 도시된 바와 같은 라인(120)상에 행에 있어서 순차적으로 출력되게 한다. 버퍼(112)는 열 x열로 기록되고 행 x행으로 판독하여 희망하는 인터리빙을 제공하게 된다.
열 카운터(132)와 행 카운터(134) 모두가 그 터미널 카운트에 도달하는 경우(완전한 데이타 평면 입력 또는 완전한 인터리브드 데이타 평면 출력을 나타냄), 라인(122)상에 판독/기록 제어 신호를 발생하는 NOR 게이트(143)와 토글 플립플롭(toggle flip-flop)(144)은 제어 신호로 하여금 스위칭하게 하고, 버퍼(112)로 하여금 판독에서 기록 기능 또는 기록에서 판독 기능으로 변동하게 만든다.
제2도에서, 라인(120)상에서의 내부 인터리브 C2 인코딩된 코드워드의 순차적으로 출력된 내부 에러 정정 인코더(150)에 의해 수신된다. 인터리브 C2 인코딩된 시퀀스의 코드워드는 개별 코드 그룹으로 나누어지고, C1 인코딩된 코드워드를 발생하기 위하여 인터리브 C2 인코딩된 코드워드에 부가된 하나이상의 심볼의 형태로 제3에러 정정 코드(차후부터 C1 코드라 지칭함)를 산출하도록 처리된다. C1 인코더(150)에 의해 처리된 코드 그룹은 제8도의 버퍼 데이타 평면(138)에서의 열의 수와 동일한 심볼 길이를 갖는다. 따라서, C1 코드 심볼은 데이타의 행이 라인(120)을 통해 수신될 때, C2 및 C3 코드 심볼과 횡방향으로 인터리브 데이타 평면(138)에서의 각각의 행의 끝에 부가된다. 부가된 횡 C1 코드 심볼은 제9도의 데이타 평면(152)에 도시된다. C1 인코딩된 코드워드의 행은 인코더(150)로부터 라인(154)상에 순차적으로 출력된다.
이러한 방식으로의 인코딩에 의해 외부 인코더(16)와 중간 인코더(90)에 의해 보호가 이루어질 뿐만 아니라, 랜덤 에러로부터의 보호가 강화된다. 내부 인코더(150)는 (N, K)리드 솔로몬 디코더인 것이 좋으나, 에러 검출 및 정정 심볼을 발생, 부가하는 다른 어떤 인코딩 시스템이나 장치일 수도 있다. 그러나, 내부 에러 정정 인코딩(150)은 외부 에러 정정 인코더(16)나 중간 에러 정정 인코더(90)와 동일한 코드형태나 동일한 인코딩 다항식을 사용할 필요가 없다.
제1인코더(12)에 의해 매 사용자 코드당 선택된 사용자 데이타의 양은 3세트의 상호 직교 인터리브 코드워드를 부가한 후 3중 직교 인터리브 에러 정정 시스템에 의해 발생된 데이타 평면(152)은 나선주사 테이프 레코더의 한 트랙에 적합한 상기 데이터량(혼합된 사용자 데이타 플러스 C1, C2 및 C3 인코딩 데이타)을 포함하도록 제한된다. 나선 주사 레코더용 자기테이프(156)는 제10도에 개략적으로 도시된다. 각각 하나 이상의 데이타 평면(152)을 기록하는 2나선 주사 트랙(158) (제9도)은 테이프(156)의 표면상에 그림으로 도시된다.
공지된 바와 같이, 디지털 데이타는 기록될 데이타(비트)의 값(논리 1이나 논리 0)에 따라 테이프의 작은 부분을 반대방향으로 자화시킴으로써 테이프와 같은 자기 매체상에 기록된다. 재생시에, 자화된 테이프의 방향에 있어서의 변동은 판독되고 원 디지털 신호로 다시 변환된다.
데이타 기록시에, 비트 스트링(string)은 기록될 때 예를 들면 서로 너무 가깝거나 서로 너무 떨어져 있는 자화된 영역을 만들 천이 부분을 가질 수도 있다. 자화된 영역이 서로 너무 가까울 경우, 재생 장치는 데이타의 연속 비트 사이를 구별하여 인식함에 있어서 어려움을 가질 것이다. 자화된 영역이 너무 이격되면, 기록된 데이타의 정확한 재생 및 복원을 위해 필요한 동기화 클럭은 손실되어, 원 신호의 재생을 방해한다.
이러한 관계를 설명하기 위하여, 시스템의 양호한 실시예에서, 내부 인코더(150)로부터 출력된 C1 인코딩된 코드워드의 행은 희망하는 매체 채널(예를 들면, 테이프 레코더)에 출력되기전에 매체 채널 인코더(100)에 의해 처리된다. 매체 채널 인코더(160)는 실행 길이를 제한하는 자체 클럭킹(clocking) 코드를 이용하여 C1 인코딩된 코드워드의 출력행을 인코딩한다. 예를 들면, (D, K)실행길이 제한 코드의 경우, 테이프상에 기록될 데이타 스트림에서의 천이는 D클럭 펄스보다 가깝게 발생하도록 허용되지 않으며, K클럭 펄스보다 멀어지도록 허용되지 않는다. 기록될(또는 전송될) 데이타 시퀀스가 선택된 인코딩 조직에 고유한 이러한 또는 다른 순차 규칙에 위반하면, 데이타 시퀀스는 인코딩 단계를 통하여 변하여, 이 규칙에 위반되지 않게 된다. 바람직한 실시예에서 사용된 매체 채널 인코더(160)는 재허여된 미국특허 제31,311호에 설명된 바와 같은 "밀러 스퀘어드(Miller-Squared)"(M2) 인코더이다.
M2인코딩 규칙의 간단한 설명은 아래에서 설명될 것이다.
실행 길이 제한 인코딩후, C1 채널 인코디드 코드워드는 매체 채널(162)에 출력된다.
위에서 언급된 바와 같이, 본 발명의 시스템은 위에서 설명되었고 제2도의 상단에 도시된 전송 또는 기록측과 제2도의 하단에 도시된 바와 같이 매체 채널(162)을 통해 통신하는 수신 또는 재생측으로 구성된다. 시스템의 재생측에서의 종래의 매체 채널 디코더(170)는 매체 채널(162)로 부터 C1 채널 인코딩된 코드워드를 수신하고, 채널 인코딩된 데이타를 디코딩하여, 원 채널 인코딩된 신호를 복원시킨다.
그러나, 테이프 제작결함, 잡음 유입 또는 매체 채널에 있어서의 결함으로 인하여, 채널로부터의 채널 인코딩된 데이타 출력은 채널 에러를 포함할 수도 있다. 이러한 에러는 종종 채널 인코딩된 데이타 스트림으로의 데이타 천이에 유입되며, 이것은 종래 기술의 디코더의 경우, 포함된 채널 에러는 비트 스트림내로 디코딩되어 유입된다. 이와 같은 것은 일반적인 규칙으로서 실행길이 제한디코더가 에러 검출 또는 에러 정정력을 갖지 않기 때문에 발생한다. 그러나, 채널 유입 시퀀스 위반의 식별은 C1, C2 및 C3 디코더에 의한 에러의 식별 및 정정에 조력함으로써, 본 발명의 시스템의 성능을 향상시킨다.
따라서, 본 발명은 매체 채널의 작동으로 인한 시퀀스 위반 에러를 검출 및 플래그(flag)하는 개선된 매체 채널 디코더(170)를 이용한다. C1 채널 인코딩된 코드워드가 매체 채널 디코더 (170)에 의해 디코딩 되므로, C1 인코딩된 코드워드는 라인(172)상에 순차적으로 출력되고, 채널 디코딩된 데이타에서의 검출된 시퀀스 위반 에러를 나타내는 시퀀스 위반 플래그는 라인(174)상에 동시에 출력된다.
매체 채널 디코더(170)는 라인(172)상에 출력된 각각의 디코딩된 C1 인코딩된 코드워드에서 각 심볼에 대해 매 심볼에 기초하여 시퀀스 위반 플래그를 출력한다. 라인(174)상에서의 각각의 시퀸스 위반 플래그는 실행길이 제한 디코딩 규칙의 위반을 포함한다. 채널 디코딩된 C1 인코딩된 코드워드의 시퀀스와 시퀀스 위반 플래그를 식별하는 시퀀스는 C1 에러 정정 디코더(180)로 통과된다. C1 에러 정정 디코딩에서 조력하도록 시퀀스 위반 플래그를 이용하여, 시퀀스 위반 플래그의 신뢰 정도에 따라서 C1 디코더의 에러 정정 능력을 T에서 2T까지 향상한다.
아래에서는, M2매체 채널 인코딩 규칙과 본 발명의 시스템에 의해 사용된 디코더에 대한 좀더 상세히 설명한다.
C1 디코더(180)는 C1 인코딩된 코드 워드를 수신하고, 수신된 채널 디코더 시퀀스 위반 플래그를 소거 플래그로서 사용하여 C1 코드 그룹(C2 인코딩된 코드 워드)을 디코딩 및 정정한다. C1 디코더의 C1 코드 그룹을 인코딩하기 위하여 C1 인코더(150)에 의해 사용된 바와 같이 C1 코드 워드를 디코딩하기 위해 동일한 다항식을 사용해야만 한다. 디코딩된 C1 코드 그룹은 디코더(180)에 의하여 라인(182)상에 출력된다. 소거 플래그는 위치는 알려졌으나 정확한 값이 알려지지 않은 에러를 식별한다. 일반적으로, 이것은 소거(검출된 에러)를 정정하기 위해 단 하나의 코드 심볼만을 필요로 하며, 반면에 검출되지 않은 에러를 (식 T=(N-K)/2에 따라서) 정정하기 위해서 두 코드 워드를 필요로 한다. 따라서, 소거 플래그를 효과적으로 사용하더라도, T에서 2T까지의 에러의 정정을 향상시킬 수 있다.
C1 디코더(180)의 에러 정정 범위가 초과되어, C1 코드 그룹에서 검출되었으나 정정되지 않은 심볼을 남기게 되면, 디코더는 라인(184)상에 C1 소거 플래그를 출력하게 된다.
라인(182)상에서의 출력으로서 C1 코드 그룹(C2 인코딩된 코드 워드)을 포함하는 대표 데이타 평면이 제11도에 도시된다.
화살표(186)에 의해 발생되며 라인(184)상에 출력되는 다수의 C1 소거 플래그가 제11도에 도시된다. 이들 C1 플래그 각각은 플래그에 식별된 행에 포함된 다수의 심볼에서의 어디에선가 정정되지 않은 에러를 포함하는 하나 이상의 심볼이 있음을 나타낸다. C1 플래그는 시스템에 의하여 설명될 방식으로 에러 정정 능력을 개선하기 위하여 시스템에 의하여 의하여 사용될 것이다.
C1 코드 그룹과 C1 소거 플래그는 내부 디인터리버(190)에 의해 수신 처리된다. 수신된 데이타는 제11도에 도시된 포맷의 데이타 평면을 포함하는데, 각각의 데이타 평면은 혼합된 사용자 데이타, 혼합된 C3 에러 정정 코드 심볼, C2 에러 정정 코드 심볼 및 C1 소거 플래그를 포함한다. 내부 디인터리버(190)는 제7a도 및 7b도의 내부 인터리버(110)용으로 도시된 것과 유사한 구조를 갖는다. C2 코드 워드의 데이타 평면은 실제로 연속행x행에 기초하여 디인터리버에 기억된다. C2 코드 워드를 기억하기 위한 기록 방향은 제11도에서 화살표(192)로 도시된다. 디인터리브하기 위하여, 기억된 코드 워드는 실제로 연속열x열에 기초하여 디인터리버(190)로부터 출력된다. 디인터리브 코드 워드의 출력을 위한 판독 방향은 제11도에서 화살표(194)로 도시된다.
내부 디인터리버(190)는 내부 인터리버(110)에 의해 사용된 것과 같은 이중 버퍼 시스템을 이용한다. 그러나 인터리버(110)와 디인터리버(190)간의 두 기본적 차이가 있다. 첫째, 행과 열의 기록 및 판독 순서는 역전되어, 인터리버(110)로 입력된 심볼의 순서는 디인터리버(190)로부터 출력된 심볼의 순서와 동일하다. 따라서, 입력 C2 인코딩된 코드 워드의 한 데이타 평면은 행x행에 기초하여 제1버퍼에 기억하기 위해 접속되고, C2 인코딩된 코드 워드의 사전에 기억된 데이타 평면은 디인터리빙되어, 열x열에 기초하여 다른 버퍼로부터 라인(196)상에 출력된다.
제1버퍼가 데이타 평면으로 채워지고 제2버퍼가 디인터리브하고 비워질때, 디인터리버(190)는 다음 시퀀스의 C2 인코딩된 코드 워드(데이타 평면)가 제2버퍼에 기억되도록 스위치되고, 제1버퍼에 사전에 기억된 코드 워드는 디인터리브드 형태로 출력된다. 디인터리버의 기억 및 출력 형태는 제7a도의 어드레스 발생기(124)에 의해 제어된다. 제7b도를 참조하여, 제어 신호 라인(136)에 결합된 토글 스위치(195)는 어드레스 카운터(124)의 작동을 제어하고, 제7a도 및 제7b도의 회로가 인터리버(110)로서 작동하는가 디인터리버(190)로서 작동하는가를 결정한다.
둘째, 디인터리버(190)의 메모리 배열(112)은 C1 소거 플래그의 병렬 기억을 위한 추가의 메모리 영역을 합체한다.
이것은 소거 플래그가 특정 에러 포함 행에서의 각각의 심볼에 인접한 디인터리버에 기억되게 한다. 바람직한 실시예에서, 각각의 심볼은 8비트 폭이다. 따라서, 디인터리버(190)에서의 메모리 배열은 9비트를 보유할 필요가 있으며, 8비트는 심볼용이고 1비트는 플래그용이다.
라인(196)상에 출력된 디인터리브 C2 인코딩된 코드 워드의 열과 라인(200)에 출력된 C1 소거 플래그는 가능한 한 많이 포함된 에러를 C2 코드 워드에 따라 검출 및 정정하는 중간 에러 정정 디코더(202)에 의해 다음 처리된다. 또다시, 소거 플래그의 사용은 C2 디코더(202)의 C2 디코더 에러 정정 능력을 T에서 2T로 향상시킨다. 디코더(202)는 라인(196)상에 수신된 C2 코드 워드로부터의 C2 코드 심볼을 스트립(strip)하여, C2 코드 그룹을 라인 (204)상에 순차적으로 출력한다. C2 디코더(202)에 의해 검출된 에러의 수가 디코더의 정정 능력 범위를 초과할 때, C2 소거 플래그는 디코더에 의해 발생되고, 정정되지 않는 에러를 포함하는 각각의 열을 나타내어 라인(206)상에 출력한다. C1 디코더(180)에 의해 발생된 C1 소거 플래그와 관련하여 C2 소거 플래그는 설명된 방식으로 시스템의 에러 정정 능력을 개선하는데 사용될 것이다.
C1 및 C2 디코더(180), (202)에 의해 발생된 소거 플래그의 정확도는 낮을 수도 있음을 알아야 한다. 플래그의 정확도는 제12도에서 설명되는데, 여기서, C1 또는 C2 코드 워드(208)가 도시된다. 코드 워드(208)는 K정보 심볼과 2T(N-K) 정정 코드 심볼을 포함하는 길이가 N인 심볼이다. 각 코드 워드에 10정정 코드 심볼이 있다고 하면, 에러 정정 코드는 최고 포함된 5에러(T=(N-K)/2)까지를 정정할 수 있다.
코드 워드(208)는 통상 어디서든 50에서 255 심볼까지를 포함한다. 이러한 예로, 제12도에 도시된 바와 같이 이들 심볼(210) 중 6개가 에러로 전송된 것으로 가정하자. 5에러만이 디코더에 의해 정정될 수 있다. 그러나 6에러는 정정될 수 없다.
이로 인하여, 정확한 모든 심볼을 포함하는 전체 코드 워드가 에러가 있는 것으로 라벨 붙여지고 플래그된다. 이것은 플래깅된 워드에서 거의 모든 심볼이 정확하지 않을 경우 코드 워드 소거 플래그가 에러를 정확히 표시할 확률이 낮을 수도 있다는 점에 있어서 소거 플래그의 낮은 정확도를 설명하고 있다. 한 코드 워드에서 정확한 심볼을 플래깅함으로써, 플래깅 소거의 향상된 장점(즉, 향상된 정정력)이 희석된다.
제2도를 참조하여, 본 발명의 시스템이 C1 및 C2 소거 플래그를 모두 이용하여, 에러를 포함하는 심볼의 블록(코드 워드)이 아닌 에러를 포함하는 개별 심볼을 정확히 식별하기 위해 C1 및 C2 소거 플래그를 모두 이용하는 방식의 설명이 뒤따른다.
심볼의 정확한 플래깅은 디코더가 에러가 있지 않은 플래깅된 심볼을 정정하려는 것이 아니기 때문에 정정 능력이 확대된다.
이러한 장점을 달성하기 위하여, 에러를 포함하는 이들 열을 나타내는 내부 디인터리버(190)에 의해 출력된 C1 소거 플래그는 지연 소자(212)의 작동을 통해 지연되고 라인(214)상에 출력된다.
C1 소거 플래그의 지연은 C2 디코더(202)에 의해 요구된 신호 처리 시간을 위해 조정될 필요가 있다. 위에서 언급된 바와 같이, C2 디코더(202)는 라인(206)상의 C2 소거 플래그를 출력한다.
AND 게이트(216)는 각각의 심볼에 대해 C1 및 C2 소거 플래그를 논리적으로 조합하여, 라인(218)상에 에러를 포함하는 개별 심볼을 식별하는 C1 C2 심볼의 정확한 플래그를 발생하게 된다.
C1, C2 심볼의 정확한 플래그를 발생하기 위한 C1 및 C2 소거 플래그의 처리는 제2도 및 제13a도 내지 제13f도를 참조하여 가장 잘 이해될 것이다. 제13a도는 라인(172)상에 있는 매체 채널 디코더(170)로부터의 출력으로서 데이타 평면 포맷으로 배열된 심볼의 배열을 도시하고 있다. 제13a도의 데이터면 내에는 에러가 있는 다수의 개별 심볼(220)("X"로 표시됨)과, 에러가 있는 연속 심볼의 스트링(222)이 있다.
이러한 예로서, C1 디코더(180)는 모든 개별 에러 심볼(220)을 정정하였으나, 디코더의 에러 정정 단계로 인하여 연속 심볼의 스트링(222) 에러를 정정할 수 없는 것으로 간주될 것이다.
제13a도의 데이타 평면은 행x행에 기초하여 C1 디코더(180)에 의해 수신되고, 디코딩되고, 부분적으로 정정되어, 행x행에 기초하여 라인(182)상의 내부 디인터리버(190)에 출력한다. (C1 코드 심볼의 스트립된) 라인(182)상의 완전한 데이타 평면에 대한 C1 디코더의 출력은 제13b도에서 데이타 평면 포맷으로, 제13c도에서 시간 라인 포맷으로 도시된다.
C1 디코더 회로에 의해 발생되고 라인(184)상에 출력된 C1 소거 플래그는 검출되었으나 정정할 수 없는 에러를 포함하는 어떤 행(C1 코드 그룹)의 출력동안 활성화된다. C1 소거 플래그 신호는 제13c도에, 연속 심볼의 스트링의(222) 정정할 수 없는 에러의 출력동안 활성화되는 C1 코드 그룹 출력 신호하에서 도시된다. 스트링(222)내의 심볼의 수가 정확하다 할지라도, C1 소거 플래그는 2행에서의 심볼 에러의 존재를 신호로 보내기 위해 각각의 출력 행에 대해 활성화될 것이다.
C1 코드 그룹은 내부 디인터리버(190)에 의해 디인터리브되어 라인(196)상에 출력된다. C1 소거 플래그는 디인터리빙 처리를 통과하고, 라인(200)상에 출력된다. 내부 디인터리빙 처리에서, C1 코드 그룹은 행x행 입력되어 라인(196)상에 열x열로 출력되어, 제13d도에 도시된 바와 같은 데이타 평면 동안 출력 시간 라인 신호를 발생하게 된다. 제13d도에 도시된 바와같이, 디인터리빙 처리는 C1 플래그가 심볼 스트링(222)의 에러를 포함하는 C2 코드 워드내에서의 위치를 지적하는 방식으로, 연속 심볼의 스트링(222)의 에러와 C1 소거 플래그 신호의 활성 부분을 라인(200)상에 동기로 분포시켰다.
라인(196)상의 신호는 C2 디코더(202)에 의해 처리되고 부분 정정되어, 제13f도에 도시된 라인(204)상에 C2 코드 그룹(마이너스 C2 코드 그룹)으로서 출력한다. C2 디코더는 라인(200)상의 C1 소거 플래그를 이용하여, 연속 심볼의 스트링(222)의 에러가 있는 2T 이하의 심볼을 포함하는 각각의 C2 코드 그룹을 정정한다. 또한, 라인(206)상의 C2 디코더(202)로부터의 출력은 제13e도에서의 C2 코드 그룹 신호하에서 도시된 C2 소거 플래그이다. C2 소거 플래그는 에러가 있는 하나 이상의 정정되지 않은 심볼을 포함하는 어떤 C2 코드 그룹의 출력동안 활성화되고, 따라서 데이타 심볼에 있어서의 스트링(222)의 에러의 잔여부분을 정확히 식별하지는 못한다.
스트링(222)의 에러의 잔여부분을 포함하는 개별 심볼 또는 심볼에 있어서의 어떤 다른 잔여 에러를 정확히 식별하기 위하여 C1, C2 심볼의 정확한 플래그를 발생하기 위하여, 라인(200)상의 C1소거 플래그는 지연되어, 라인(206)상의 C2 소거 플래그 출력과 시간 동기화되게 된다. 지연된 C1 소거 플래그는 제13f도에 도시된 바와 같이 지연 회로(212)로부터 라인(214)상에 출력된다. 제13f도에는 스트링(222)의 에러의 정정되지 않은 잔여 부분을 포함하는 라인(204)상의 C2 코드 그룹 신호와, 스트링 에러의 일부가 정정되지 않은 채 남아 있는 각각이 코드 그룹을 식별하는 라인(206)상의 C2 소거 플래그 출력이 도시된다.
정정되지 않는 에러를 포함하는 특정 심볼을 식별하기 위하여 C2 소거 플래그(라인(206))와 지연된 C1 소거 플래그(라인(214))는 함께 AND 처리되어, 제13f도에 도시된 바와 같이 라인(218)상에 C1 C2 심볼의 정확한 플래그 신호를 발생한다.
디코딩된 C2 코드 그룹(라인(204))과 C1 C2 심볼의 정확한 플래그(라인(218))는 제14도에 설명된 데이타 평면으로 외부 디인터리버(230)에 출력된다. 외부 디인터리버(230)는 메모리 배열이 각각의 8비트 심볼에 대해 제9비트로서 C1 C2 심볼의 정확한 플래그를 기억하도록 증가된 기억 용량을 갖는다는 점을 제외하면 제6도에 도시된 외부 인터리버(16)의 구조와 유사한 구조를 갖는다. 디인터리버(230)에 입력된 C2 코드 그룹은 실제로 열x열에 기초하여 데이타 평면 포맷으로 디인터리버의 메모리 배열에 순차적으로 기록된다.
이러한 점에서, 혼합된 상태에서 존재하는 메모리 배열에 기억된 데이타 평면에 대한 C2 코드 그룹(C3 코드 워드)은 혼합되지 않고, 판독 어드레스 카운터와 조사 테이블에 의해 정확한 시퀀스의 어드레스의 발생을 통해 라인(232)상에 출력된다. 조사 테이블의 사용으로, 순차적으로 발생된 판독 카운터 어드레스는 외부 인버터(16)에 의해 수신된 것과 등일한 순서로 C3 코드 워드를 억세스 및 출력하기 위하여 예정된 비순차적 시리즈의 어드레스로 변환된다. 디인터리버(230)로부터의 출력은 에러를 아직 포함하고 있는 개별 심볼을 식별하는 라인(234)상의 C1 C2 심볼의 정확한 플래그이다.
라인(232)상에 출력된 디인터리브드 C3 코드 워드와 외부 디인터리버(230)로부터 라인(234)상에 출력된 C1 C2 심볼의 정확한 플래그는 가능한한 포함된 많은 심볼 에러를 검출 정정하는 C3 디코더(240)에 의해 다음 처리된다. C3코드 심볼은 코드 워드로 부터 스트립되어, 라인(242)상에 출력하기 위한, 실제로 에러가 제거된 원 사용자 데이타(C3 코드 그룹)만을 남기게 된다. C1 C2 심볼의 정확한 플래그와 C3 코드 심볼의 존재로, C3 디코더(240)에 대한 정정 범위는 T에서 2T에러까지로 향상된다.
본 발명의 정신과 범위에서 벗어나지 않고서 상기 설명된 시스템과 그 성분 부품에 대하여 많은 변형이 이루어질 수 있다는 점은 본 기술 분야의 기술자에게는 명백할 것이다. 예를 들면, 매체 채널 인코더 및 디코더에 대한 실행 길이 제한 인코더 및 디코더는 시스템으로부터 교체되거나 제한될 수도 있다. 제15도에 도시된 바와 같이 매체 채널 인코더나 디코더가 없는 본 발명의 또 다른 실시예에서, 본 발명의 시스템은 C1 디코더가 입력 시퀀스 위반 플래그의 부족으로 T에러의 정정으로 제한된다는 점을 제외하면 유사한 방식으로 실행한다. 제15도에서, 동일한 도면 부호는 제2도의 유사하거나 동일한 성분을 식별하는데 사용된다.
더 나아가, 외부 인터리버(16)와 디인터리버(230)에서 사용된 조사 테이블의 내용이나 열의 수(m)와 행의 수(n)는 직교 인터리브의 특성을 바꾸기 위해 변형될 수 있다. 따라서, 행 혼합 외의 다른 직교 인터리브는 예를 들면 열 혼합을 실행할 수도 있다.
또 다른 실시예에서, 외부 인터리버 및 디인터리버용 다중 메모리 배열은 단일 메모리와 교체되고, 모든 인터리빙 및 디인터리빙 단계는 단일의 대용량 메모리 배열에서 실행된다. 더 나아가, 적절히 프로그램된 중앙 처리기는 시스템 성분을 교체할 수 있고, 3방향 직교 인터리빙과 인코딩을 실행한다. 다른 예로서, 다중 처리 유니트는 시스템 성분을 분리 작동시키고 처리기간의 데이타 통신을 처리하도록 구성된다.
본 발명의 3중 직교 인터리브 에러 정정 시스템의 방법 및 장치는 시스템이 고밀도 나선 주사형 디지털 테이프 레코더와 함께 사용하기 위한 양호한 실시예에 대하여 위에서 설명되었으나, 다른 데이타 전송, 기억, 수신 및 재생 시스템에 적용할 수도 있다. 직교 행 혼합의 이용으로, 테이프 제조 결함, 로울러자국, 흠집, 데이타 트랙 손실, 잡음 유입, 매체 채널에서의 일시적 또는 재발생하는 조건, 그리고 다른 공지된 에러의 유발로 인한 신호 질의 저하로부터 보호하게 된다.
동일한 열에 있으나 교차 직교 혼합된 행에 있는 C3 및 C2 코드 워드의 인코딩으로, 길이가 긴 에러와 길이가 중간인 에러로부터 보호하게 된다. 또한, C1 디코더에 매체 채널 검출 시퀀스 위반 에러를 공급하면 C1 디코더의 잠재 에러 정정 범위를 배가한다.
이것은 C1 C2 심볼의 정확한 플래그와 관련하여 시퀀스 위반 플래그의 사용으로 데이타 공간의 최소 부분을 에러 검출 및 정정 심볼로 전용하면서 랜덤 에러로부터 보호를 강화하므로 시스템의 작동을 향상시킨다. 제2도에 도시된 시스템에 부가하여, 제16도에 도시된 본 발명의 또다른 실시예에서, 시퀀스 위반(S.V) 플래그와 C1 디코더 플래그는 내부 디인터리버(190)와 C2 디코더(202)에 입력하기 위하여 C1 S.V. 심볼의 정확한 에러 플래그를 출력하기 위하여 논리적으로 결합된다.
제16도에 도시된 바와 같이, S.V. 플래그는 매체 채널 디코더(170)로부터 라인(174)상에서 내부 디코더(180)로 출력된다. S.V. 플래그도 또한 라인(183)상에 출력하기 위하여 지연 소자(181)에 입력되고 이에 의해 지연된다. S.V. 플래그의 표시는 C1 디코더(180)에 의해 요구되는 신호 처리 시간에 대해 조정할 필요가 있다. 위에서 설명된 바와 같이, C1 디코더(180)는 라인(184)상에 C1 소거 플래그를 출력한다. AND게이트(185)는 S.V. 및 C1 플래그를 논리적으로 결합하여, 내부 디인터리버(190)에 입력하고, C2 디코더에 의해 더 처리하기 위하여 라인(184')상에 C1 S.V. 에러 플래그를 발생한다. 매체 채널 시퀀스 위반 플래그의 사용으로, 위에서 설명된 C1 S.V. 에러 플래그와 C1.C2 심볼의 정확한 플래그는 코드 심볼에 전용된 데이타 공간의 크기에 비례하여 최대 랜덤 에러 보호를 제공한다.
본 발명의 또다른 바람직한 실시예에서, 전송되거나 기록된 데이타에 포함된 에러의 검출 및 재기록을 가능하게 하기 위한 추가의 회로가 제공된다. 재기록 시스템용 블럭도는 제2도에 도시된 시스템 뿐만 아니라 제16도에 도시된다. 재기록 시스템용 에러 정정 코드는 포함된 에러의 수가 너무 많아서 데이타의 재기록이 필요할 경우(기록동안 판독)인가를 결정하기 위하여 데이타 기록시 즉시 결정하도록 구성된다. 기록동안 판독 시스템의 전송/기록 및 수신/재생 부분은 제2도에 도시된 시스템의 구조와 기본적으로 동일하다.
재생 부분은 데이타가 매체 채널(예를 들면, 나선 주사형 디지털 테이프레코더)에 기록된 직후 이 데이타를 판독하도록 구성된다. 기록된 인코딩된 데이타는 C1 및 C2 디코더(180, 202)에 의해 처리되며, 여기서 각각의 데이타 평면에서의 포함된 인코딩된 에러의 수는 카운트되어 라인(184), (206)상에 출력된다.
C1 및 C2 디코더(180, 202)로부터 출력된 C1 및 C2 소거 플래그의 수로부터 두 합이 계산된다. 첫째는 매 데이타 평면당 C1 소거 플래그의 수의 합이고, 둘째는 매 데이타 평면당 C2 소거 플래그의 수의 합이다. 따라서, 재기록 시스템은 매체 채널로부터 판독된 데이타 스트림의 일부에 포함된 데이타 에러의 수를 판정한다. 제1합(C1)은 임계치와 비교되어 최대 허용 랜덤 에러를 나타내며, 제2합(C2)은 임계치와 비교되어 최대 허용 버스트 에러를 나타낸다. 둘 중의 어느 임계치가 초과될 경우, 임계치를 초과하는 수효의 검출된 에러에 의해 영향을 받는 데이타 평면이나 트랙을 재기록하는 처리가 트리거링된다. C2 체크는 C2 디코더에 의해 디코딩된 하나 이상의 심볼이 계속하여 정정되지 않은 에러를 포함할 가능성으로부터 보호한다. C1 및 C2 합에 대한 임계 레벨은 시스템 사용자에 의해 선택 가능하고, 이에 의해 사용자로 하여금 기록 정확도와 재기록 빈도수간의 소망의 교환에 따라 시스템을 맞출 수 있게 한다.
제16도의 기록동안 판독 회로에 있어서, 어큐물레이터(250)는 매 데이타 평면당 C1 소거 플래그의 수를 카운트하고, 카운트를 비교기(252)에 출력한다. 비교기(252)는 매 데이타 평면 또는 트랙당 허용 C1 및 C2 에러 수를 세팅하기 위하여 라인(256,258)상에서 수신되는 두 임계 입력을 구비한다. 주어진 데이타 평면에 대해 어느 한 임계 레벨이 초과될 경우, 비교기(252)는 라인(260)상에 재기록 신호를 출력한다.
라인(260)상의 재기록 신호는 데이타 소스(도시되지 않음)에 결합되어, 소스로 하여금 데이타 소스에서 C3 인코더(12)로의 새로운 데이타의 흐름을 정지시키게 한다. 이 신호는 디스에이블링 AND 게이트(262)에도 결합되어, 새로운 인입 데이타가 시스템으로 흐르는 것을 정지시킨다. 라인(260)상의 재기록 신호는 외부 인터리버(16)의 중재 논리 회로(84)(제6도)에 더 결합된다. 이는 중재 논리 회로(84)로 하여금 재기록된 데이타 평면에 대한 메모리 배열(60)의 시작 어드레스에서 판독 어드레스 카운터(76)와 조사 테이블(78)을 프리세트하게 한다. 에러가 있는 데이타의 부분은 재판독되어 라인(82)상에 출력되어, 매체 채널을 걸친 전송을 위하여 시스템의 기록부분에 의해 재인터리빙되고 재인코딩된다. 외부 인터리버(16)의 메모리 어레이(60)는 재기록 회로에 의한 테스팅을 위해 필요한 시간의 주기동안 데이타를 기록하기에 충분한 크기로 이루어져야 한다.
위에서 언급된 바와 같이, 제2도 및 제16도에 도시된 본 발명의 실시예는 보통 "밀러 스퀘어드"(M2) 인코딩이라고 칭하는 실행 길이 제한 인코딩 조직을 이행하는 매체 채널 인코더(160)로 이용한다. 다른 매체 채널 인코딩 조직이나 제15도에서와 같은 매체 없는 채널 인코딩 조직이 본 발명을 이행하는데 사용될 수도 있다. 종래의 M2실행 길이 제한 코딩 조직을 이행하기 위한 코드, 인코더 및 디코더는 밀러에게 허여된 재허여된 미국특허 제31,311호에서 설명되며, 그에 관한 설명은 본 명세서에 참조로 완전히 합체되어 있다.
공지된 바와 같이, 전송된 디지털 데이타의 파형은 비트 셀로 나누어지며, 각각의 셀은 2진수 형태로 데이타의 1비트를 포함한다. 데이타 천이(논리 1에서 논리 0으로 또는 그 역)는 비트 셀의 시작이나 끝에서 발생할 필요는 없다.
밀러에 의해 알 수 있는 순차 규칙은 논리 0은 셀의 시작에서의 천이에 의해 식별되고 논리 1천이는 중간셀(midcell)에서의 데이타 천이에 의해 식별된다는 것이다. 이러한 규칙에 대한 한가지 예외는 전번 천이의 1비트셀이내에서 천이가 발생하면 천이가 억압된다는 점이다. M2코딩에 대한 추가의 순차 규칙은 짝수의 논리 1에서 논리 0으로 이어지는 최종 천이가 억압되도록 적용된다.
M2코딩된 데이타에서의 천이가 데이타 셀에서의 두 장소에서 발생하므로, 데이타를 디코딩하는데 필요한 클럭 사이클을 코딩되지 않는 데이타의 직렬데이타 비율의 주파수의 2배로 작동한다. 따라서, 각각의 데이타 셀에 대해 두 M2클럭 사이클이 있다. 종래의 M2인코딩 및 디코딩 원리는 상기 재허여된 미국특허 제31,311호에서 좀 더 완전히 설명된다. 순차 규칙에 따른 데이타 셀에 있어서의 특수하게 인코딩된 천이 위치가 매체 채널에서의 일시적 또는 순환 상태에 의해 시프트되어 천이가 논리 1인가 또는 논리 O을 나타내는가 혼동이 될때 M2인코딩된 데이타에 있어서 에러가 발생한다.
밀러 특허에서 설명된 바와 같은 종래의 실행 길이 제한 디코더는 단순히 데이타 스트림을 디코딩한다. 디코더는 에러 검출 또는 정정 능력을 제공하지 않으며, 어떤 다른 포함된 에러 검출 및 정정 회로로부터 독립적으로 작동한다. 따라서, 디코더는 매체 채널이 M2순차 규칙을 위반하는 유입된 에러를 갖는 순간을 식별하지 않는다. 그러나, 이와 같은 시퀀스 위반이 플래깅될 수 있으면 좋다. M2에러의 플래깅으로, 예를 들면 T에서 2T까지로의 성능 개선은 플래깅된 에러가 정정을 위해 단 한 코드 심볼만을 필요로 할때 가능하다.
비합법 M2코드 시퀀스를 검출하기 위하여 디코딩측에서 쉽게 체크되는 M2코딩된 데이타 스트림에서 세 강제또는 조건(시퀀스 위반)이 있다. 첫째, M2코드 스트림에서의 천이 사이의 실행 길이가 1데이타 셀의 최소치(2M2클럭)보다 짧을 경우, 단기간 실행 시퀀스 위반이 발생하였다. 둘째 M2코드 스트림이 3데이타 셀의 최소치(6M2클럭)보다 길 경우 장기간 실행 위반이 발생하였다. 제세의 강제는 2데이타 셀(4M2클럭)을 초과하는 모든 실행 길이를 검사한다. 실행을 시작하는 천이가 데이타 셀의 중간에서 발생하면 시퀸스는 M2동기 시퀀스이고, 디코더에 의해 사용되어 셀 경계의 위치를 결정한다. 그러나, 실행을 시작하는 천이가 두 인접 데이타 셀 사이의 경계에서 발생되면 동기 시퀀스 에러가 검출된다.
실제로 에러 상태로 디코더에 의해 플래깅된 데이타가 에러를 포함하는 것은 에러 검출 M2디코더에서 중요하다.
그렇지 않을 경우, 후속 디코더에 의한 정정에 전용된 하나의 에러 정정 코드 체크 심볼은 에러가 없는 데이타를 정정하는데 낭비될 것이고 다른 포함된 에러의 정정에 사용할 수 없다. 둘째, 디코더는 에러가 있을때 플래깅된 정확한 디코딩된 데이타의 양을 최소화해야 한다. 이러한 판정 기준을 균형 잡히게 함에 있어서, 디코더는 에러 상태의 문제의 데이타만을 플래깅하여, 후속 에러 정정 디코더에 의해 차후의 검출 및 정정을 위해 모든 다른 에러를 남기게 되어야 한다.
제17a도에는 단기간 실행 위반 에러를 검출 및 플래깅하기 위해 포함된 회로를 구비하는 종래의 M2디코더가 도시된다. 명료히 하기 위하여, 클력 동기화 회로가 도시되지 않고, 부가된 단기간 실행 위반 검출회로가 점선으로 도시된다.
클럭 동기 회로가 제17b도에 도시된다. AND게이트 G6 내지 G9는 시프트 레지스터 플립플롭 SR1 내지 SR5의 출력을 수신하고, AND게이트 출력은 플립플롭 FF6 에 출력하기 위하여 게이트 G10에 의해 함께 OR 처리된다.
제18도는 단기간 실행 에러를 검출 및 플래깅하기 위하여 제17a도의 회로의 작동을 설명하고 있는 타이밍도를 도시한 것이다. 기록 데이타와 기록 M2코드 시퀀스(M2인코더로부터의 출력)는 기록 및 M2클럭 신호와 함께 도시된다. 다음에는, 단기간 실행 시퀀스 위반을 나타내는 단지 하나의 M2클럭에 의해 분리된 한쌍의 코드 천이를 포함하는 제17a도의 디코더 회로에 의해 수신된 M2코드가 도시된다. 천이가 에러 상태로 천이된 각각의 에러에 대한 두 위치는 디코더가 어느 것이 시프트되었고 어느 것이 시프트되지 않을 것인가를 알지 못하므로 물음표(?)로 표시된다.
5시프트 레지스터 SR1 내지 SR5에는 논리고인 두 연속 탭과, XOR 게이트 G1의 작동으로 인해 각각의 시퀀스 위반에 대해 물음표(?)로 표시된 4개의 가능한 에러 위치가 있다.
AND 게이트 G6 내지 G9로부터의 출력은 시프트 레지스터 플립플롭 SR1 내지 SR5로부터의 관련 입력이 모두 논리 고일때 M2클럭에 뒤이은 시간에는 논리고이다. 0R게이트 G10으로부터 출력된 단기간 실행 에러는 게이트 G6 내지 G9의 출력이 논리 고일 때마다 논리 고이다. 단기간 실행 에러 플래그(플립플롭 FF6로부터의 출력)는 단시간 실행 에러가 검출되고 두 데이타 셀(4M2클럭)동안 시그널링될 것이다. 이 에러 플래그는 후속 에러 정정 디코더로 통과되어 에러 정정 능력을 향상시키게 된다.
제19도에는 장기간 실행 위반 에러를 검출 및 플래깅하기 위해 포함된 회로와 함꼐 종래의 M2디코더가 도시된다.
명료히 하기 위하여, 클럭 동기화 회로가 도시되고, 부가된 장기간 실행위반검출 회로가 점선으로 도시된다. 또 다시, 클럭 동기화 회로가 제17b도에 도시된다. AND게이트 G6은 시프트 레지스터 플립플롭 SR1 내지 SR6의 출력을 수신하고, AND게이트 G7은 시프트 레지스터 플립플롭 SR3 내지 SR8의 출력을 수신한다. AND게이트 G6, G7의 출력은 플립플롭 FF6에 출력하기 위하여 게이트 G8에 의해 함께 OR 처리된다.
제20도는 장기간 실행 에러를 검출 및 플래깅하기 위하여 제19도의 회로의 작동을 설명하는 타이밍도를 도시하고 있다. 기록 데이타 및 기록 M2코드 시퀀스(M2인코더로부터의 출력)는 기록 및 M2클럭 신호와 함께 도시된다.
다음, 장기간 실행 위반을 나타내는 3과 1/2데이타 셀(7M2클럭)에 의해 분리된 한 쌍의 코드 천이를 포함하는 제19도의 디코더 회로에 의해 수신된 M2코드가 도시된다.
블럭의 끝에서의 부정확한 천이의 위치는 "X" 로 표시되고, 7클럭 시퀀스의 에러의 원인인 누락된 1천이의 위치는 (*)로 표시된다. 디코더는 시작 천이보다는 종료 천이를 알고, 시작 천이가 정확히 데이타 셀의 중간에서 일어나므로 시프트 되었다.
시프트 레지스터 플립플롭 SR1 내지 SR8에서, XOR 게이트 G1의 작동으로 인하여, 두 가능한 에러 위치(X) 또는 부정확히 디코딩된 데이타 비트가 있다. 하나는 시프트 레지스터 플립플롭 SR3의 출력에서의 부정확한 비트에 대응한다. 다른 하나는 게이트 G2의 출력이 부정확하게 논리고이고 이것이 시프트 레지스터 플립플롭 SR1의 출력에서의 부정확한 O비트를 나타내므로 발생한다.
AND게이트 G6의 출력은 시프트 레지스터 플립플롭 SR1 내지 SR6의 출력이 논리 저일때 논리 고이다. AND게이트 G6의 출력은 이것이 시프트 레지스터 플립플롭 SR3 내지 SR8의 출력으로부터 입력을 수신하는 경우, 두 M2클럭 후 논리 저일 것이다. OR 게이트 G7은 AND게이트 G6 및 G7의 출력중 어느 것이 논리 고인 경우, 논리 고일 것이다.
0R 게이트 G8의 출력과 FF6에서의 NRZ CLK간의 타이밍 관계로 인하여, 장기간 실행의 종료시에 에러를 표시하는 에러 플래그(X)는 OR 게이트 G8 출력이 논리고이고 NRZ CLK가 논리저일 경우 출력된다.
제21도에서는 위반된 M2동기 시퀀스 에러를 검출 및 플래깅하기 위해 포함된 회로와 함께 종래의 M2디코더가 도시된다. 명료히 하기 위하여, 클럭 동기 회로가 도시되지 않으며, 부가된 위반된 동기 신호 검출 회로가 점선으로 도시된다. 또다시, 클럭 동기 회로가 제17b도에 도시된다.
AND게이트 G6을 시프트 레지스터 플립플롭 SR3 내지 SR6의 출력을 수신한다. AND 게이트 G6의 출력은 플립플롭 FF6에 인가되는 출력을 구비하는 게이트 G7에 의해 AND 게이트 G4의 출력과 함께 OR 처리된다.
제22도는 위반된 M2동기 시퀀스 에러를 검출 및 플래깅하기 위해 제21도의 회로의 작동을 설명하는 타이밍도를 도시하고 있다. 기록 데이타 및 기록 M2코드 시퀀스(M2인코더로부터의 출력)은 기록 및 M2클럭 신호와 함께 도시된다. 다음에는 2데이타 셀(4M2클럭)에 의해 분리된 한쌍의 코드 천이를 포함하는 제21도의 디코더 회로에 의해 수신된 M2코드가 도시되며, 여기서 초기 천이는 동기 시퀀스 위반을 나타내는 두 데이타 셀간의 경계에 있다. 천이가 에러상태에서 시프트되었던 각각의 에러에 대한 두 위치는 디코더가 어느 것이 시프트되었고 어느 것이 시프트되지 않은가를 알지못하므로 물음표(?)로 표시된다.
시프트 레지스터 플립플롭 SR1 내지 SR6에는 OR 게이트 G1의 작동으로 인해 물음표(?)로 표시된 4가능 에러 위치가 있다. AND 게이트 G4의 출력은 SR1 내지 SR3로부터의 출력이 논리 저이고 SR4로부터의 출력이 논리 고일때 논리고이다. AND게이트 G6의 출력은 이것이 시프트 레지스터 SR3 내지 SR6의 출력으로부터 입력을 수신할 때 2M2클럭후에 논리 고일 것이다. OR 게이트 G7의 출력은 게이트 G4 또는 G6로부터의 어느 한 출력이 논리 고일때 논리 고일 것이다. 게이트 G7의 출력과 FF6 에서의 NRZ CLK간의 타이밍 관계로 인하여, 실행의 초기의 에러를 표시하는 에러 플러그(동기 에러)는 OR 게이트 G7 출력이 논리 고이고 NRZ CLK가 논리적일 경우 발생될 것이다.
제17a도의 에러 검출 회로의 경우, 종래의 M2디코더 회로에(19), (21)가 부가되어, 제2도 및 제16도의 시스템에서 사용되고, 인코딩된 비트 스트림에서 시프트된 천이는 C1 에러 정정 디코더에 의한 후속 처리 및 정정을 위한 시퀀스 위반(S.V)으로서 검출되어 정정된다. 물론, 각각의 플래깅 회로가 시스템에 합체될 필요는 없음을 이해할 것이다.
플래깅된 위치에서의 에러의 정확한 위치는 에러 플래깅 회로가 단 한 비트가 아닌 2비트를 플래깅함으로써 불확실한 것이다.
이와 달리, 단일 플래깅된 에러 비트가 반전될 수 있기 때문에 에러 정정은 쉬울 것이다.
3중 직교 인터리브 에러 정정 시스템과 2성분 부품에 대한 여러 실시예가 위의 상세한 설명에서 논의되었고 첨부도면에 도시되었다 할지라도, 본 발명은 설명된 실시예에 한정되지 않으며, 첨부된 청구범위에서 제시된 바와 같이 본 발명의 정신에서 벗어나지 않고서도 여러가지 재배치, 변형 및 교체가 가능하다.

Claims (63)

  1. (정정) 사용자 데이타 스트림(user data stream)을 인터리빙(interleaving) 및 인코딩하기 위한 방법에 있어서, 상기 사용자 데이타 스트림을 제1코드 그룹들의 시퀀스로 분리하는 단계와, 상기 시퀀스내의 각각의 제1코드 그룹들에 제1에러 정정 코드(first error correction code)를 부가하여 인코딩함으로써, 제1코드 워드(first code word)를 형성하기 위한 단계와, 상기 제1코드 그룹의 시퀀스에 따라 각각의 인코딩된 제1코드 워드를 순차적으로 결합하여 제1코드 워드들의 시퀀스를 출력하기 위한 단계와, 상기 제1코드 워드들의 시퀀스를 제1시리즈의 2차원 열x행 데이타 평면들(a first series of two-dimensional column by row data planes)에 배치하는 단계와, 상기 제1시리즈의 데이타 평면들을 데이타 평면간(inter-data plane)의 행 혼합(row shuffling)에 의해 직교 인터리빙(orthognally interleaving)하여 제2시리즈의 2차원 열x행 데이터 평면들을 형성하기 위한 단계 - 상기 제2시리즈의 데이터 평면들의 각각의 컬럼은 순차 출력을 위한 제2코드 그룹을 포함함-, 상기 시퀀스 내의 각각의 제2코드 그룹에 제2에러 정정코드를 부가하여 인코딩함으로써 제2코드 워드를 형성하기 위한 단계와, 상기 제2코드 그룹들의 시퀀스에 따라 각각의 인코딩된 제2코드 워드를 순차적으로 결합하여 제2코드 워드들의 시퀀스를 출력하기 위한 단계와, 상기 제2코드 워드들의 시퀀스를 제2코드 워드 2차원 열x행 데이타 평면에 배치하는 단계와 - 상기 데이터 평면의 각각의 행은 제3코드 그룹을 포함함 -, 상기 제1데이터 평면의 상기 행들을 제3코드 그룹의 시퀀스로서 순차적으로 출력함으로써 제2코드 워드 데이터 평면내에 배치된 제2코드 워드들을 인터리빙하는 단계와, 상기 시퀀스내의 각각의 제3코드 그룹에 제3에러 정정 코드를 부가하여 인코딩함으로써 제3코드 워드를 형성하기 위한 단계와, 상기 제3코드 그룹의 시퀀스에 따라 각각의 인코딩된 제3코드 워드를 결합하여 인터리빙 및 인코딩된 사용자 데이터 스트림으로서 제3코드 워드들의 시퀀스를 출력하기 위한 단계를 포함하는 사용자 데이타 스트림의 인터리빙 및 인코딩 방법.
  2. (정정) 제1항에 있어서, 상기 제3코드 워드들의 시퀀스를 실행-길이 제한 코드(run-length limiting code)로 인코딩하는 단계를 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  3. (정정) 제1항에 있어서, 상기 제1코드 워드들의 시퀀스를 배열하는 단계는 정수개의 제1코드 워드들을 상기 제1시리즈의 데이타 평면의 각 열에 순차적으로 저장하는 단계를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  4. (정정) 제3항에 있어서, 하나의 제1코드워드는 상기 제1시리즈의 데이타 평면의 각각의 열에 저장되는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  5. (정정) 제1항에 있어서, 상기 제2코드 워드들의 시퀀스를 배열하는 단계는 정수개의 제2코드 워드들을 상기 제2코드 워드 데이타 평면의 각각의 열에 순차적으로 기억하는 단계를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  6. (정정) 제5항에 있어서, 하나의 제2코드 워드는 제2코드 워드 데이타 평면의 각각의 열에 저정되는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  7. (정정) 제1항에 있어서, 상기 데이터 평면간 행 혼합에 의한 직교 인터리빙 단계는, 제1시리즈의 데이터 평면들과 제2시리즈의 데이터 평면들 간의 혼합된 행의 상대적 행 위치를 유지하면서, 제2시리즈의 데이터 면을 형성하기 위해, 선정된 혼합 알고리즘에 따라, 데이타 평면들 사이에서 제1시리즈의 데이타 평면들의 행들을 혼합하는 단계를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  8. (2차 정정) 제1항에 있어서, 상기 제1코드 워드들의 시퀀스를 배열하는 단계는 데이터 평면 열마다 하나의 제1코드 워드를 순차적으로 저장하는 단계를 포함하고, 상기 제2코드 워드들의 시퀀스를 배열하는 단계는 데이터 평면 열 마다 하나의 제2코드 워드를 순차적으로 저장하는 단계를 포함하며, 상기 제3코드 워드들의 시퀀스를 제3코드 워드 2차원 열x행 데이타 평면에 배열하되, 하나의 제3코드워드가 데이타 평면 행마다 순차적으로 저장되어, 제3에러 정정 코드가 제1 및 제2에러 정정 코드에 대해 교차하도록 하는 단계를 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  9. (정정) 제1항에 있어서, 상기 제1 및 제2시리즈의 데이타 평면들 및 상기 제2코드 워드 데이타 평면은 각각 교번적으로 기록 및 판독할 수 있는 한쌍의 데이타 저장 버퍼를 포함하여, 제1버퍼가 저장을 위해 인터리빙되지않은 코드 워드들의 시퀀스의 일부분을 수신하는 동안, 제2버퍼는 이전에 저장된 시퀀스의 선행 부분을 인터리빙된 방식으로 출력하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  10. (정정) 제1항에 있어서, 제3코드 워드로서 출력된 인터리빙 및 인코딩된 사용자 데이타 스트림 출력을 디코딩 및 디인터리빙하는 단계(decoding and deinterleaving)를 더 포함하며 - 제4코드 워드들의 시퀀스로서 수신된 상기 인터리빙 및 인코딩된 사용자 데이타 스트림은 포함된 데이터 에러의 총수와 함께 제3코드 워드들의 시퀀스를 포함함 -, 상기 디코딩 및 디인터리빙 단계는 포함된 데이타 에러를 검출하고 상기 부가된 제3에러 정정 코드에 따라 제1세트 수의 데이타 에러를 정정함으로써 상기 제4코드 워드들의 수신된 시퀀스에서 각각의 제5코드 그룹을 나타내는 제2소거 플래그들을 포함하는 제2코드 그룹들의 시퀀스와 실제로 동일한 제5코드 그룹들의 시퀀스로서의 출력을 위한 상기 제5코드 워드의 시퀀스에 따라 결합된 제5코드 그룹을 포함함 -, 상기 제1 및 제2소거 플래그를 결합하여, 에러있는 데이타를 갖는 각각의 제5코드 그룹내의 위치를 가리키는 제3소거 플래그를 발생하는 단계와, 상기 제3소거 플래그와 상기 제5코드 그룹의 시퀀스를 제3시리즈의 2차원 열x행 데이타 평면에 배열하는 단계와, 데이타 평면간 행 비혼합(inter-data plane row unshuffling)에 의해 제3시리즈의 데이타면을 직교 디인터리빙하여, 제4시리즈의 2차원 열x행 데이터 평면을 형성하기 위한 단계와 - 상기 제4시리즈의 데이터 평면들의 각각의 열은 순차 출력을 위한 제6코드 워드를 포함하고 디인터리빙된 제3소거 플래그를 포함함 -, 포함된 데이타 에러를 검출하고, 상기 부가된 제1에러 정정 코드와 제3소거 플래그에 따라 제3세트 수의 데이타 에러를 정정함으로써 각각의 제6코드 워드를 순차적으로 디코딩하는 단계 - 각각의 디코딩된 제6코드 워드 마이너스 제1에러 정정 코드는 제6코드 그룹들의 순차로서의 출력을 위해 상기 제6코드 워드의 시퀀스에 따라 결합되며, 상기 제6코드 그룹들의 시퀀스는 상기 사용자 제1세트수의 데이타 에러를 정정함으로써 상기 제4코드 워드들의 수신된 시퀸스에 각각 제4코드 워드를 디코딩하는 단계와 - 각각의 디코딩된 제4코드 워드 마이너스 제3코드 에러 정정 코드는 상기 제3코드 그룹들의 시퀀스와 실질적으로 동일한 제4코드 그룹들의 시퀀스로서의 출력을 위한 상기 제4코드 워드들의 시퀀스에 따라 결합된 제4코드 그룹을 포함하며, 검출되었으나 정정되지 않은 에러를 포함하는 시퀀스에서 각각의 제4코드 그룹을 나타내는 제1소거 플래그들(first erasure flags)을 포함함, 제1소거 플래그 및 상기 제4코드 그룹들의 시퀀스를 제4코드 그룹 2차원 행x열 데이타 평면으로 배열하는 단계와 - 각각의 열은 제5코드 워드를 포함함-, 제5코드 워드들의 시퀸스로서 데이터 평면의 열을 순차적으로 출력하고 디인터리빙된 제1소거 플래그를 포함함으로써, 제4코드 그룹 데이타 평면에서 제1소거 플래그들 및 제4코드 그룹들의 시퀀스를 디인터리빙하는 단계와, 포함된 데이타 에러들을 검출하고, 상기 부가된 제2에러 정정 코드와 상기 디인터리빙된 제1소거 플래그에 따라 제2세트수의 데이타 에러를 정정함으로써 각각의 제5코드 워드를 디코딩하는 단계와 - 각각의 디코딩된 제5코드 마이너스 상기 제2에러 정정 코드는 검출되었으나 정정되지 않은 에러를 포함하는 데이타 스트림을 포함하는 상기 제1코드 그룹들의 시퀀스와 실질적으로 동일함 - 를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  11. (정정) 제10항에 있어서, 상기 제3코드 워드들의 출력 시퀀스를 실행-길이 제한 코드로 인코딩하는 단계와, 상기 실행-길이 제한 인코덩된 제3코드 워드들의 시퀀스를 디코딩하여, 데이타 에러를 포함하는 제4코드 워드들의 시퀀스를 생성하는 단계를 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  12. (정정) 제11항에 있어서, 실행-길이 제한 디코딩된 제4코드 워드들의 시퀀스에서 실행-길이 에러들을 검출하는 단계와, 검출된 실행-길이 에러들을 나타내는 실행- 길이 소거 플래그들(run-length erasure flags)을 포함하는 제4코드 워드들의 시퀀스를 출력하는 단계를 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  13. (정정) 제12항에 있어서, 상기 각각의 제4 코드 워드를 디코딩하는 단계는 실행-길이 소거 플래그를 이용하여, 정정 능력을 향상시켜, 정정된 에러들의 제1, 제2 및 제3세트수의 합이 상기 제3코드 워드들의 시퀀스로 주입되어 포함된 데이타 에러들의 총 수와 실질적으로 동일하도록 하는 단계를 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  14. (정정) 제12항에 있어서, 상기 실행-길이 소거 플래그와 제1소거 플래그를 결합하여, 각각의 제5코드 워드를 디코딩하는데 도움이 되도록 제4소거 플래그를 생성하는 단계를 더 포함하며, 상기 단계는 각각의 제4코드 워드를 디코딩하는 단계를 수행하는데 필요한 처리를 조정하기 위해 상기 실행-길이 소거 플래그를 지연시키는 단계와, 상기 지연된 실행-길이 소거 플래그를 제1소거 플래그와 동기로 논리적으로 결합하는 단계를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  15. (정정) 제1O항에 있어서, 데이타 평면 간 혼합 및 비혼합(unshuffling)에 의한 직교 인터리빙 및 디인터리빙 단계는 정반대의 행 혼합 동작(opposite row shuffling operation)이어서, 제3시리즈의 데이타 평면에서의 각각의 혼합된 행은 비혼합되고, 상기 제1시리즈의 데이타 평면에서 점유된 상기 행의 위치에 대응하는 상기 제4시리즈의 데이타 평면에서의 위치로 복귀하도록 하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  16. (2차 정정) 제10항에 있어서, 상기 제1소거 플래그 및 제2소거 플래그의 결합 단계는 제5코드 워드들을 디코딩하는 단계를 수행하는데 필요한 처리시간을 조절하기 위해 제1소거 플래그를 지연하는 단계와, 상기 지연된 제1소거 플래그와 상기 제2소거 플래그를 동기로 논리 결합하여, 에러가 있는 데이타를 갖는 각각의 제5코드 그룹내에서의 위치를 가리키는 상기 제3소거 플래그를 생성하는 단계를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  17. (정정) 제10항에 있어서, 상기 제3코드 워드들의 시퀀스가 매체 채널로 기록되고, 상기 매체 채널로 기록하는 동안 매체 채널로부터 판독하는 단계를 더 포함하며, 상기 단계는 매체 채널로의 전송 후 매체 채널로부터 상기 제3코드 워드들의 시퀀스를 판독하여, 채널에 유입된 데이타 에러들의 총 수를 포함하는 상기 제4코드 워드의 시퀀스를 제공하는 단계와, 상기 제4코드 워드들의 시퀀스를 선정된 부분들로 분리하는 단계와, 각각의 선정된 부분에 대해 생성된 상기 제1소거 플래그들의 수를 계수(counting)하는 단계와, 각각의 부분에 대한 제1소거 플래그들의 수를 제1임계 수(first threshold number)와 비교하는 단계와, 상기 제1임계치를 초과하는 에러에 의해 영향을 받는 상기 제4코드 워드들의 시퀀스 부분에 대응하는 사용자 데이타 스트림의 매체 채널로의 재기록을 트리거링하는 단계를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  18. (정정) 제17항에 있어서, 상기 트리거링 단계는 상기 사용자 데이타 스트림의 더이상의 전송을 금지하는 단계와, 재인코딩(re-encoding), 재인터리빙(re-interleaving)하여 매체 채널에 기록하기 위하여, 과다한 에러를 포함하는 제4코드 워드들의 시퀀스의 부분에 대응하는 매체 채널로 전송된 상기 사용자 데이타 스트림의 일부를 액세스하는 단계를 더 포함하는 사용자 데이타 스트림의 인터리빙 및 인코딩 방법.
  19. (정정) 제17항에 있어서, 사용자 데이타의 각 부분에서의 채널에 유입된 에러의 수를 표시하는 각각의 선정된 부분에 대해 생성된 제2소거 플래그의 수를 계수하는 단계와, 상기 제2소거 플래그들의 수를 제2임계수와 비교하는 단계와, 상기 제2임계수를 초과하는 에러에 의해 영향을 받는 상기 제4코드 워드의 시퀀스 부분에 대응하는 사용자 데이타 스트림의 매체 채널로의 재기록을 트리거링하는 단계를 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  20. (정정) 제1코드 그룹들의 시퀀스로 분리된 데이타 스트림을 인터리빙 및 인코딩하기 위한 장치에 있어서, 각각의 제1코드 그룹에 제1에러 정정 코드를 계산하고 부가하여 제1코드워드를 형성하기 위한 제1인코딩 수단과 - 각각의 제1코드 워드는 제1코드 워드들의 시퀀스로서의 출력을 위해 상기 제1코드 그룹들의 시퀀스에 따라 결합됨 -, 상기 제1코드 워드들의 시퀀스를 한열 한열 씩을 기준으로(on a column by column basis) 제1시리즈의 2차원 열x행 데이타 평면에 순차적으로 저장하는 수단을 포함하는 상기 제1코드 워드들의 시퀀스를 직교 인터리빙하기 위한 수단과 - 상기 제1코드 워드들은 제2시리즈의 2차원 열x행 데이타 평면을 형성하기 위해 선정된(predetermined) 혼합 시퀀스에 따라 데이타 평면간 행 혼합에 의해 직교 인터리빙되고, 상기 제2시리즈의 데이터 평면들의 각각의 열은 제2코드 그룹들의 시퀀스로서의 순차적인 출력을 위해 제2코드 그룹을 포함함 -, 상기 각각의 제2 코드 그룹에 제2에러 정정 코드를 계산하고 부가하여, 제2코드 워드를 형성하기 위한 제2인코딩 수단과 - 각각의 제2코드 워드는 제2코드 워드들의 시퀀스로서 상기 제2코드 그룹들의 시퀀스에 따른 출력을 위해 결합됨 -, 상기 제2코드 워드들의 시퀀스를 한행 한행 씩을 기준으로(on a row by row basis) 제2코드 워드 2차원 열x행 데이타 평면에 순차적으로 저장하기 위한 수단을 포함하는 상기 제2코드 워드들의 시퀀스를 인터리빙하기 위한 수단과 - 각각의 행은 제3코드 그룹을 포함하고, 상기 제2코드 워드들은 제3코드 그룹의 시퀀스로서 제3코드그룹들의 행들을 순차적으로 출력함으로써 인터리빙됨 -, 상기 각각의 제3코드 그룹에 제3에러 정정 코드를 계산하고 부가하여, 제3코드 워드를 형성하기 위한 제3인코딩 수단 - 각각의 제3코드 워드는 인터리빙 및 인코딩된 데이타 스트림을 나타내는 제3코드 워드들의 시퀀스를 출력하도록 결합됨 -, 을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  21. (정정) 제20항에 있어서, 상기 제3코드 워드들의 시퀀스를 실행-길이 제한 코드로 인코딩하기 위한 수단을 더 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  22. (정정) 제21항에 있어서, 상기 인코딩 수단은 밀러-스퀘어드 인코더(Miller-squared encoder)를 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  23. (정정) 제20항에 있어서, 상기 제1, 제2 및 제3의 인코딩 수단 각각은 리드-솔로몬 인코더(Reed-Solomon encoder)를 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  24. (정정) 제20항에 있어서, 상기 직교 인터리빙 수단의 저장하기 위한 수단은 판독 및 기록을 교번적으로 할 수 있는 제1 및 제2데이타 저장 버퍼를 포함하여, 제1버퍼가 제1시리즈의 데이터 평면들로서 제1코드 워드들의 시퀀스의 선정된 부분을 저장하기 위해 수신하는 동안, 상기 제2버퍼는 상기 제2시리즈의 데이타 평면들을 형성하기 위해, 이전에 저장되고 직교로 인터리빙된 상기 제1코드 워드들의 시퀀스의 선행 부분을 출력하는 데이타 스트림 인터리빙 및 인코딩 장치.
  25. (정정) 제24항에 있어서, 각각의 데이타 저장 버퍼는 각각 최소한 하나의 데이타 평면을 보유하고 있는 복수개의 2차원 랜덤 억세스 메모리들(plurality of two dimensional random access memories)을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  26. (정정) 제20항에 있어서, 상기 행 혼합 시퀀스는 행들이 상기 시리즈들의 데이타 평면 사이에서 혼합될 때 상대적인 행위치를 유지하는 데이타 스트림 인터리빙 및 인코딩 장치.
  27. (정정) 제20항에 있어서, 상기 인터리빙 수단을 저장하는 수단은 제2코드 워드들의 시퀀스의 선정된 부분이 제1버퍼의 열에 기록되는 동안 제2버퍼의 각각의 행이 순차적으로 판독되어, 제1버퍼의 열에 앞서 저장된 제2코드 워드들의 시퀀스의 선행된 부분을 출력하도록 하기 위하여, 교번적으로 판독 및 기록할 수 있는 제1 및 제2 2차원 열x행 데이타 기억 버퍼를 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  28. (정정) 제20항에 있어서, 제3코드 워드들의 시퀀스는 매체 채널에 기록되고, 매체 채널은 데이타 에러를 유도하며, 데이타 스트림 인터리빙 및 인코딩 장치는 상기 매체 채널 내에 포함된 데이타 에러의 총 수와 함꼐 코드 워드의 제3시퀀스를 포함하는 제4코드 워드의 시퀀스를 매체 채널로부터 수신하는 디코더 및 디인터리버를 더 포함하며, 데이타 에러를 검출하고, 제3에러 정정 코드에 따라 제4코드 워드들의 시퀀스에 포함된 데이타 에러의 제1수를 정정하는 제1디코딩 수단과 - 디코딩된 제4코드 워드 마이너스 제3에러 정정 코드는 검출되었으나 정정되지 않은 데이타 에러를 포함하는 제4코드 그룹을 나타내는 제1소거 플래그를 포함하는 제4코드 그룹의 시퀀스로서 제4코드 워드들의 시퀀스에 따라 출력됨 -, 제4코드 그룹과 제1소거 플래그의 순차를 행x행 베이스에서 제4코드 그룹의 2차원 열x행 데이타 평면에 순차적으로 기억하기 위한 수단을 포함하는 제4코드 그룹과 제1소거 플래그의 시퀀스를 디인터리빙하기 위한 수단과 - 각각의 열은 제1코드 워드를 포함하고, 제4코드 그룹의 시퀀스는 디인터리빙된 제1소거 플래그를 포함하여 제5코드 워드의 순차로서 데이타 평면의 열을 순차적으로 출력함으로써 디인터리빙 됨 -, 데이타 에러를 검출하고, 제2에러 정정 코드와 제1소거 플래그에 따라 제5코드 워드들의 시퀀스에 포함된 데이타 에러의 제2의 수를 정정하기 위한 제2디코딩 수단과 - 디코딩된 제5코드 워드 마이너스 제2에러 정정 코드는 검출되었으나 정정되지 않은 데이타 에러를 포함하는 제5코드 그룹을 나타내는 제2소거 플래그를 포함하는 제5코드 그룹의 시퀀스로서 제5코드 워드의 시퀸스에 따라 출력됨 -, 정정되지 않은 데이타 에러를 갖는 각각의 제5코드 그룹 내에서의 위치를 식별하는 제4소거 플래그를 발생하는, 제1 및 제2 소거 플래그 결합 수단과, 제5코드 그룹 및 제3소거 플래그의 시퀀스를 열x열 베이스에서 2차원 열x행 데이타 평면의 제3시리즈에 순차적으로 저장하는 수단을 포함하는 제4코드 그룹의 시퀀스를 직교 디인터리빙하는 수단과 - 제5코드 그룹의 시퀀스는 데이타 평면간 비혼합에 의해 직교 디인터리빙 되어 제1시리즈의 데이타 평면에 대응하는 제4시리즈의 데이터 평면을 형성하며, 제4시리즈의 데이타 평면의 각각의 열이 제6코드 워드를 포함하고, 제5시리즈의 데이타 평면의 디인터리빙 제3소거 플래그를 포함하여 제6코드 워드의 시퀀스로서 순차적으로 출력함 -, 데이타 에러를 검출하여, 제1에러 정정 코드와 제3소거 플래그에 따라 제6코드 워드들의 시퀀스에 포함된 데이타 에러의 제3수를 정정하는 제3디코딩 수단 - 디코딩된 제5코드 워드 마이너스 제1에러 정정 코드는 제6코드 그룹의 시퀀스로서 제6코드 워드의 시퀀스에 따라 출력하고, 여기서 제6코드 그룹의 시퀀스는 데이타 스트림을 포함하는 제1코드 그룹의 시퀀스와 실제로 동일함 - 을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  29. (정정) 제28항에 있어서, 실행-길이 제한 코드로 제3코드 워드의 시퀀스를 인코딩하는 수단과, 제4코드 워드의 시퀀스를 생성하도록 제3코드 워드의 실행-길이 제한 인코딩된 시퀀스를 디코딩하는 수단을 더 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  30. (정정) 제29항에 있어서, 실행-길이 제한 디코딩 수단은 제4코드 워드의 시퀀스에서 실행-길이 에러를 검출하여, 제4코드 워드의 시퀀스에 포함된 에러를 식별하는 실행-길이 소거 플래그를 출력하는 수단을 더 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  31. (정정) 제30항에 있어서, 제1소거 플래그와 동기로 실행 길이 소거 플래그를 결합하는 수단을 더 포함하며, 제1디코딩 수단의 처리 시간에 대해 조정하도록 실행 길이 소거 플래그를 지연하는 수단과, 제4코드 그룹의 시퀀스내에서의 에러 위치를 식별하는 상기 제2디코딩 수단에 의해 처리하기 위한 제4소거 플래그를 발생하기 위해, 지연된 실행-길이 소거 플래그와 제1소거 플래그를 논리적으로 결합하는 수단을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  32. (정정) 제30항에 있어서, 제1디코딩 수단은 제4코드 워드의 시퀀스에서 추가 에러를 검출 및 정정하기 위하여 제3에러 정정 코드 뿐만 아니라 실행-길이 소거 플래그도 사용함으로써, 에러 정정 능력을 향상시켜 제1, 제2 및 제3의 정정된 에러의 합이 유입된 데이타 에러의 총수와 실제로 동일하게 되는 데이타 스트림 인터리빙 및 인코딩 장치.
  33. (정정) 제30항에 있어서, 실행-길이 제한 코드는 밀러-스퀘어드 코드를 포함하며, 인코딩 및 디코딩 수단은 밀러-스퀘어드 인코더 및 디코더를 포함하고, 검출수단은 채널 디코딩된 제4코드 워드의 시퀀스에 단기 실행 데이타 시퀀스 변동(short run data sequence)을 검출 및 플래깅하는 수단과, 채널 디코딩된 제4코드 워드의 시퀀스에서 장기 실행 데이타 시퀀스 변동(long run data sequence)을 검출 및 플래깅하는 수단과, 채널 디코딩된 제4 코드 워드의 시퀀스에서 비합법 밀러-스퀘어드 동기 시퀀스들(illegal Miller-squared sync sequences)를 검출 및 플래깅하는 수단을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  34. (정정) 제28항에 있어서, 상기 제1, 제2 및 제3인코딩 수단은 리드 솔로몬 인코더를 포함하고, 상기 제1, 제2 및 제3디코딩 수단은 리드 솔로몬 디코더를 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  35. (정정) 제28항에 있어서, 상기 제1소거 플래그와 제2소거 플래그를 결합하기 위한 수단은 제2디코딩 수단의 처리시간에 대해 조절하도록 디인터리빙된 제1소거 플래그를 지연하기 위한 수단과, 제2디코딩 수단으로부터의 출력으로서 제2소거 플래그와 동기로 지연된 디인터리빙된 제1소거 플래그를 논리적으로 결합하여, 제5코드 그룹의 시퀀스 내에 제3소거 플래그 식별 에러를 발생하는 수단을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  36. (정정) 제28항에 있어서, 과도한 에러를 포함하는 데이타 스트림의 재기록을 트리거하기 위하여 인터리빙 및 인코딩된 데이타 스트림에 대해 기록하는동안 판독하는 수단을 더 포함하며, 매체 채널에 기록되는 동안 제3코드 그룹의 시퀀스를 판독하여, 유입된 에러를 갖는 제4코드 워드의 시퀀스를 제공하는 수단과, 제4코드 워드의 시퀀스에서 데이타 스트림의 예정된 부분에서 검출된 에러의 수를 나타내는 발생된 제1소거 플래그의 수를 계수하기 위해, 제3디코딩 수단에 결합된 수단과, 제1소거 플래그의 수를 제1임계수와 비교하는 수단과, 비교 결과, 제1소거 플래그의 수가 제1임계치를 초과함을 나타낼 때, 에러에 의해 영향을 받는 데이타 스트림의 선정된 부분의 재기록을 트리거하기 위한 제어수단을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  37. (정정) 제36항에 있어서, 제1인코더로 데이타 스트림이 더 전송되는 것을 금지하는 수단과, 데이타 스트림을 재인코딩 및 재인터리빙하기 위해 직교 인터리빙 수단의 데이타 면의 제1시리즈에 기억된, 에러가 있는 데이타 스트림의 예정 부분에 억세스하기 위한 수단을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  38. (정정) 제36항에 있어서, 제2디코딩 수단에 결합되어, 제5코드 워드의 시퀀스에서 데이타 스트림의 선정된 부분에서의 검출된 에러의 수를 나타내는, 발생된 제2소거 플래그의 수를 계수하는 수단과, 제2소거 플래그의 수를 제2임계수와 비교하는 수단을 더 포함하며, 상기 제어 수단은 비교 결과 제2소거 플래그의 수가 제2임계수를 초과함을 나타낼 때 에러에 의해 영향을 받은 데이타 스트림의 선정된 부분의 재기록을 트리거하는 데이타 스트림 인터리빙 및 인코딩 장치.
  39. (정정) 사용자 데이타 스트림을 인터리빙 및 인코딩하기 위한 방법에 있어서, 상기 사용자 데이타 스트림을 제1코드 그룹들의 시퀀스로 분리하는 단계와, 제1코드 워드를 형성하기 위해 제1에러 정정 코드를 부가하여 상기 시퀀스 내의 각각의 제1코드 그룹을 인코딩하는 단계와, 상기 제1코드 그룹들의 시퀀스에 따라 각각의 인코딩된 제1코드 워드를 순차적으로 결합하여, 제1코드 워드들의 시퀀스를 출력하는 단계와, 상기 제1코드 워드들의 시퀀스를 제1시리즈의 2차원 열x행 데이타 평면들에 배열하는 단계와, 상기 제1시리즈의 데이터 평면들을 직교 인터리빙하여 제2시리즈의 2차원 열x행 데이타 평면들을 형성하는 단계와 - 상기 제2시리즈의 데이터 평면들의 각각의 열은 순차 출력을 위한 제2코드 그룹을 포함함 -, 제2코드 워드를 형성하기 위해 제2에러 정정 코드를 부가하여 시퀀스내의 각각의 상기 제2 코드 그룹을 인코딩하는 단계와, 상기 제2코드 그룹들의 시퀀스에 따라 각각의 인코딩된 제2코드 워드를 순차적으로 결합하여 제2코드 워튼의 시퀀스를 출력하는 단계를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  40. (정정) 제39항에 있어서, 상기 직교 인터리빙 단계는 데이타 평면 사이에서제2시리즈를 형성하기 위해 제1시리즈의 데이타 평면의 행을 혼합하여, 각각의 혼합된 행이 제1 및 제2시리즈의 데이터 평면 사이의 상대적 행 위치를 유지하도록 하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  41. (정정) 제39항에 있어서, 제2코드 워드들의 시퀀스를 제2코드 워드의 2차원 열 x행 데이타 평면에 배열하는 단계와 - 데이타 평면의 각각의 행은 제3코드 그룹을 포함함 -, 제1데이타 평면의 행을 제3코드 그룹들의 시퀀스로서 순차 출력함으로써, 제2코드 워드 데이타 평면에서 재배열된 제2코드 워드를 인터리빙하는 단계와, 제3에러 정정 코드를 부가하도록 시퀀스에서 각각의 제3코드 그룹을 인코딩하여, 제3코드 워드를 형성하는 단계와, 제3코드 그룹의 시퀀스에 따라 각각의 인코딩된 제3코드 워드를 순차 결합하여, 인터리빙 및 인코딩된 사용자 데이타로서 제3코드 워드들의 시퀀스를 출력하는 단계를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 방법.
  42. (정정) 데이타 스트림 인터리빙 및 인코딩을 위한 장치에 있어서, 제1에러 정정 코드를 각각의 사용자 코드 그룹에 부가함으로써, 상기 데이타 스트림을 사용자 코드 그룹들의 시리즈로 분리하여 제1코드 워드들의 시리즈를 출력하는, 데이타 스트림을 수신 및 인코딩하기 위한 제1인코딩 수단과, 상기 제1인코딩 수단으로부터 상기 제1코드 워드들의 시리즈를 수신하고, 상기 제1코드 워드들의 시리즈들을 직교 인터리빙하여, 제2코드 그룹들의 직교 인터리빙된 시리즈를 출력하는 제1인터리빙 수단과, 상기 각각의 제2코드 그룹에 제2에러 정정 코드를 부가함으로써 상기 제2코드 그룹들의 직교 인터리빙된 시리즈들을 수신 및 인코딩하여 제2코드 워드의 시리즈를 출력하는 제2인코딩 수단과, 상기 제2인코딩 수단으로부터 상기 제2코드 워드들의 시리즈를 수신하고, 상기 제2시리즈의 코드 워드들을 인터리빙하여 제3코드 그룹들의 시리즈를 출력하는 제2인터리빙 수단과, 상기 인터리빙 및 인코딩된 데이타 스트림으로서 제3코드 워드들의 시리즈를 출력하기 위해 제3에러 정정 코드를 각각의 제3코드 그룹에 부가하여 제3코드 그룹들의 시리즈를 수신 및 인코딩하기 위한 제3인코딩 수단을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  43. (정정) 제42항에 있어서, 제3코드 워드의 시리즈를 수신하여 실행 길이 제한 코드로 인코딩하기 위한 매체 채널 인코딩 수단을 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  44. (2차 정정) 제42항에 있어서, 제1인터리빙 수단은 제1코드 워드의 시리즈를 제1시리즈의 2차원 열x행 데이타 평면에 순차 기억하는 수단을 포함하며, 하나의 제1코드 워드는 매 데이터 평면의 열마다 기억되고, 제1코드 워드는 선정된 혼합 순차에 따라 데이타 평면간 행 혼합에 의해 직교 인터리빙되어 데이타 평면의 제2시리즈를 형성하며, 2차원 열x행 데이타 평면의 제2시리즈의 각각의 열은 순차 출력을 위한 제2코드 그룹을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  45. (정정) 제44항에 있어서, 제1인터리빙 수단에 기억하기 위한 수단은 제1버퍼가 기록 모드로 작동하여 제1코드 워드의 시리즈의 선정된 부분을 데이타 면의 제1시리즈로서 순차적으로 기억하는 동안, 제2버퍼가 판독 모드로 작동하여 사전에 기억되어 직교 인터리빙된 제1코드 워드의 시리즈의 선행 부분을 출력하여 데이타 면의 제2시리즈를 형성하도록 판독 및 기록하기 위해 교번적으로 이용할 수 있는 한쌍의 데이타 버퍼를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  46. (정정) 제45항에 있어서, 각각의 데이타 기억 버퍼는 각각 하나 이상의 데이타 평면을 보유하고 있는 다수의 2차원 랜덤 억세스 메모리를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  47. (정정) 제42항에 있어서, 제2인터리빙 수단은 제2코드 워드의 시퀀스를 제1의 2차원 열x행 데이타 평면에 순차적으로 저장하기 위한 수단을 포함하며, 하나의 제2코드 워드는 매 열 마다에 기억되고, 제2코드 워드는 제1데이타 평면의 행을 순차적으로 출력함으로써 인터리빙되고, 각각의 행 출력은 제3코드 그룹을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  48. (정정) 제47항에 있어서, 저장 수단은 제2코드 워드의 시리즈의 선정된 부분이 제1버퍼의 열에 순차적으로 기억되는 동안, 제2버퍼가 각각의 행을 순차적으로 판독하여 버퍼의 열에 사전에 기억된 제2코드 워드의 시퀀스의 선행 부분을 출력시키는 작동을 하도록, 기록 및 작동을 위해 교번적으로 사용할 수 있는 한쌍의 2차원 열x행 데이타 기억 버퍼를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  49. (정정) 제42항에 있어서, 제1, 제2 및 제3인코딩 수단 리드-솔로몬 인코더를 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  50. (정정) 제42항에 있어서, 에러가 포함된 제3코드 워드의 시리즈로 구성된 제4코드워드를 디코딩 및 디인터리빙하기 위한 수단을 더 포함하며, 제4코드 워드의 시리즈를 수신하고 에러를 검출하며 제3에러 정정 코드에 따라 각각의 제4코드 워드에서 에러의 제1수를 정정하는 제1디코딩 수단과 - 제1디코딩 수단은 각각의 제4코드 워드로부터 제3정정 코드를 더 스트리핑(stripping)하여 제4코드 그룹의 시리즈를 출력함 -, 제4 코드 그룹의 시리즈를 수신 및 디인터리빙하여 제5코드 워드의 시리즈를 출력하는 제1디인터리빙 수단과, 제5코드 워드의 시리즈를 수신하고 에러를 검출하며 제2에러 정정 코드에 따라 각각의 제5 코드 워드에서 에러의 제2수를 정정하는 제2디코딩 수단과 - 제2디코딩 수단은 각각의 제5코드 워드로부터 제2에러 정정 코드를 스트리핑하여 제5코드 그룹의 시리즈를 출력함 -, 제5코드 그룹의 시리즈를 수신하고 직교 디인터리빙 하여 제6코드 워드의 시리즈를 출력하는 제2디인터리빙 수단과, 제6코드 워드의 시리즈를 수신하고 에러를 검출하며 제1에러 정정 코드에 따라 각각의 제6코드 워드에서 제3수의 에러를 정정하는 제3디코딩 수단 - 제3디코딩 수단은 각각의 제6코드 워드로부터 제1에러 정정 코드를 스트리핑하여 제6코드 그룹의 시리즈를 출력하고, 여기서 제6코드 그룹의 시리즈는 데이타 스트림을 포함하는 제1코드 그룹의 시리즈와 실제로 동일함 - 을 프함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  51. (정정) 제50항에 있어서, 제1디코딩 수단과 결합되어, 검출되었으나 보정되지 않은 에러의 존재를 나타내는 각각의 제4코드 그룹을 갖춘 제1소거 플래그를 출력하는 수단을 더 포함하며, 제2디코딩 수단은 에러 정정 능력을 향상시키기 위해 제1소거 플래그를 이용하는 수단을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  52. (정정) 제51항에 있어서, 제2디코딩 수단과 결합되어, 검출되었으나 정정되지 않은 에러의 존재를 나타내는 각각의 제5코드 그룹을 갖춘 제2소거 플래그를 출력하는 수단과, 제1 및 제2소거 플래그를 동기로 논리 결합하여, 각각의 제6코드 워드에서 검출되었으나 정정되지 않은 에러를 식별하는 제3소거 플래그를 출력하는 수단을 더 포함하며, 여기서 제3디코딩 수단은 제3소거 플래그를 이용하여, 제1, 제2 및 제3의 정정된 에러의 합이 포함된 에러의 수와 실제로 동일하도록 에러 정정 능력을 향상시키는 수단을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  53. (정정) 제50항에 있어서, 에러를 포함하는 인코딩 및 인터리빙된 데이타 스트림의 재기록을 트리거하기 위해 기록동안 판독하는 수단을 더 포함하며, 데이타 에러를 포함하는 제4코드워드의 시리즈를 제공하도록 기록되는 동안 제3코드워드의 시리즈를 판독하는 수단과, 제1디코딩 수단에 결합되어, 제4코드워드의 시리즈의 예정된 부분에서 포함된 에러의 수를 나타내는 발생된 제1소거 플래그의 수를 계수하는 수단과, 제1소거 플래그의 수를 제1임계수와 비교하는 수단과, 제1임계수가 초과될 때 에러에 의해 영향을 받는 제4코드 워드의 시리즈의 선정 부분에 대응하는 데이타 스트림의 재기록을 트리거하기 위한 제어 수단을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  54. (정정) 제53항에 있어서, 제어수단은 영향을 받은 데이타의 재기록동안 데이타스트림을 제1인코딩 수단에 더 전송하는 것을 금지하기 위한 수단과, 재인코딩 및 재인터리빙을 위해 초과 에러를 포함하는 제4코드 워드의 시리즈의 선정된 부분에 대응하는 데이타 스트림의 일부에 억세스하기 위한 수단을 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  55. (정정) 제53항에 있어서, 제2인코딩 수단에 결합되어, 제5코드 워드의 시리즈의 선정된 부분에 포함된 에러의 수를 나타내는 발생된 제2소거 플래그의 수를 계수하는 수단과, 제2소거 플래그의 수를 제2임계수와 비교하는 수단을 더 포함하며, 여기서 제어수단은 제2임계수가 초과될 때 에러에 의해 영향을 받은 제5코드 워드의 시리즈의 선정된 부분에 대응하는 데이타 스트림의 재기록을 트리거하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  56. (정정) 제50항에 있어서, 실행 길이 제한 코드로 제3코드 워드의 시리즈를 인코딩하기 위한 수단과, 제3코드 워드의 실행 길이 제한 인코딩된 시리즈를 인코딩하여 제4코드 워드의 시리즈를 발생하는 수단을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  57. (정정) 제56항에 있어서, 실행 길이 제한 인코딩된 코드 워드를 디코딩하는 수단은 제4코드 워드의 시리즈에서 실행 길이 제한 에러를 검출 및 플래깅하기 위한 수단을 더 포함하며, 제1디코딩 수단은 실행 길이 제한 에러 플래그를 수신하여 에러 정정 능력을 향상시키는 수단을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  58. (정정) 제57항에 있어서, 실행 길이 제한 에러 플래그와 제1소거 플래그를 동기로 논리 결합하여 제4소거 플래그를 발생하는 수단을 더 포함하며, 여기서 제2디코딩 수단은 제4소거 플래그를 이용하여 디코딩 및 디인터리빙 수단의 에러 정정 능력을 향상시키는 수단을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  59. (정정) 제57항에 있어서, 실행 길이 제한 코드는 "밀러-스퀘어드" 코드이며, 실행 길이 제한 인코딩 및 디코딩 수단은 "밀러-스퀘어드" 인코더 및 디코더이고, 검출 수단은 매체 채널로부터 수신된 코드워드의 디코딩되지 않은 시리즈에서의 단기 실행 데이타 시퀀스 변동을 검출하여 단기 실행 에러 신호를 출력하는 수단과, 매체 채널로부터 수신된 코드워드의 디코딩되지 않은 시리즈에서의 장기 실행 데이타 시퀀스 변동을 검출하여 장기 실행 에러 신호를 발생하는 수단과, 매체 채널로부터 수신된 코드워드의 디코딩된 시리즈에서의 비합법 "밀러-스퀘어드" 동기 시퀀스를 검출하여 동기 시퀀스 에러 신호를 발생하는 수단과, 단기, 장기 및 동기 시퀀스 에러 신호에 응답하여, 에러가 있는 채널 인코딩된 제4코드워드의 시리즈에서 데이타 위치를 식별하는 실행 길이 제한 에러플래그를 출력하는 수단을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  60. (정정) 사용자 코드 그룹들의 시리즈로 나누어진 데이타 스트림을 인터리빙 및 디코딩하기 위한 장치로서, 상기 사용자 데이타를 수신 및 인코딩하고, 제1에러 정정 코드를 각각의 사용자 코드 그룹에 부가하여 제1코드 워드들의 시리즈를 출력하기 위한 제1인코딩 수단과, 상기 제1인코딩 수단으로부터 상기 제1코드 워드들의 시리즈를 수신하고, 상기 제1코드 워드들의 시리즈를 직교 인터리빙하여 제2코드 그룹들의 직교 인터리빙된 시리즈를 출력하기 위한 인터리빙 수단과, 상기 제2코드 그룹들의 직교 인터리빙된 시리즈를 수신하고, 제2에러 정정 코드를 각각의 제2코드 그룹에 부가하여, 제2코드 워드들의 시리즈를 출력하기 위한 제2인코딩 수단을 포함하는 데이타 스트림 인터리빙 및 인코딩 장치.
  61. (2차 정정) 제60항에 있어서, 인터리빙 수단은 제1시리즈의 2차원 열x행 데이타 평면의 제1코드 워드의 시리즈를 저장하기 위한 수단을 포함하며, 제1코드 워드는 선정된 혼합 시퀀스에 따라 데이타 평면간 행 혼합에 의해 직교 인터리빙되어 제2시리즈의 데이타 평면을 형성하고, 제2시리즈의 2차원 열x행 데이타 평면의 각각의 열은 순차 출력을 위한 제2코드 그룹을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  62. (정정) 제60항에 있어서, 제2인코딩 수단으로부터 제2코드 워드의 시리즈를 수신하고 코드워드의 제2시리즈를 인터리빙하여, 제3코드 그룹의 시리즈를 출력하는 제2인터리빙 수단과, 제3코드 그룹의 시리즈를 수신하고 각각의 제3코드 그룹에 제3에러 정정 코드를 부가하여, 인터리빙 및 인코딩된 사용자 데이타로서 매체 채널에 전송하기 위해 제3코드 워드의 시리즈를 출력하는 제3인코딩 수단을 더 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
  63. (정정) 제62항에 있어서, 제2인터리빙 수단은 제2코드 워드의 시퀀스를 제2코드 워드의 2차원 열x행 데이타 평면에 저장하기 위한 수단을 포함하며, 제2코드 워드는 데이타 평면의 행을 순차 출력함으로써 인터리빙되며, 각각의 행 출력은 제3코드 그룹을 포함하는 사용자 데이타 스트림 인터리빙 및 인코딩 장치.
KR1019930000448A 1992-01-15 1993-01-14 데이타 스트림의 인터리빙 및 인코딩 방법과 그 장치 KR100263593B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/820,737 US5392299A (en) 1992-01-15 1992-01-15 Triple orthogonally interleaed error correction system
US820,737 1992-01-15

Publications (2)

Publication Number Publication Date
KR930017343A KR930017343A (ko) 1993-08-30
KR100263593B1 true KR100263593B1 (ko) 2000-08-01

Family

ID=25231595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930000448A KR100263593B1 (ko) 1992-01-15 1993-01-14 데이타 스트림의 인터리빙 및 인코딩 방법과 그 장치

Country Status (13)

Country Link
US (1) US5392299A (ko)
EP (1) EP0551973B1 (ko)
JP (1) JP3465113B2 (ko)
KR (1) KR100263593B1 (ko)
CN (1) CN1081296A (ko)
AT (1) ATE160658T1 (ko)
AU (1) AU665044B2 (ko)
CA (1) CA2087197C (ko)
DE (1) DE69315360T2 (ko)
FI (1) FI930147A0 (ko)
IL (1) IL104395A (ko)
MX (1) MX9300195A (ko)
NO (1) NO930119L (ko)

Families Citing this family (280)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69223694T2 (de) * 1991-07-18 1998-04-23 Canon Kk Kodierungs- und Dekodierungssystem zur Fehlerkorrektur
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
CA2064541C (en) * 1992-03-31 1998-09-15 Thomas A. Gray Cycling error count for link maintenance
US5638227A (en) * 1993-12-17 1997-06-10 Matsushita Electric Industrial Co., Ltd. Digital data recording and reproducing apparatus
US5644582A (en) * 1994-03-09 1997-07-01 U.S. Philips Corporation Conversion arrangement for a magnetic recording/reproducing apparatus of the D-type
DK2302806T3 (da) * 1995-02-01 2013-06-17 Sony Corp Flerkanalstransmission med interleaving ved adressering på stedet af RAM-hukommelse
JP3206358B2 (ja) * 1995-03-30 2001-09-10 松下電器産業株式会社 データ一時記憶装置
FI97837C (fi) * 1995-04-11 1997-02-25 Nokia Mobile Phones Ltd Tiedonsiirtomenetelmä sekä lähetin
JPH08293802A (ja) * 1995-04-13 1996-11-05 Internatl Business Mach Corp <Ibm> インターリーブ式誤り訂正方法
US5719884A (en) * 1995-07-27 1998-02-17 Hewlett-Packard Company Error correction method and apparatus based on two-dimensional code array with reduced redundancy
US5757822A (en) * 1995-08-24 1998-05-26 Quantum Corporation Bit-interleaved rate 16/17 modulation code with three-way byte-interleaved ECC
JPH1051354A (ja) * 1996-05-30 1998-02-20 N T T Ido Tsushinmo Kk Ds−cdma伝送方法
US5968198A (en) * 1996-08-16 1999-10-19 Ericsson, Inc. Decoder utilizing soft information output to minimize error rates
US5996104A (en) * 1996-09-13 1999-11-30 Herzberg; Hanan System for coding system
JP3310185B2 (ja) * 1996-11-21 2002-07-29 松下電器産業株式会社 誤り訂正装置
US5946357A (en) * 1997-01-17 1999-08-31 Telefonaktiebolaget L M Ericsson Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal
JP3340933B2 (ja) * 1997-02-15 2002-11-05 東芝デジタルメディアエンジニアリング株式会社 誤り訂正方法及びdvd再生装置
US5920578A (en) * 1997-04-23 1999-07-06 Cirrus Logic, Inc. Method and apparatus for efficiently processing a multi-dimensional code
US6151296A (en) * 1997-06-19 2000-11-21 Qualcomm Incorporated Bit interleaving for orthogonal frequency division multiplexing in the transmission of digital signals
JPH1131977A (ja) * 1997-07-10 1999-02-02 Sony Corp 誤り訂正符号演算器
FI104023B1 (fi) 1997-07-18 1999-10-29 Nokia Mobile Phones Ltd Tiedonsiirtomenetelmä ja -järjestelmä
JPH11112358A (ja) * 1997-09-30 1999-04-23 Fujitsu Ltd データの誤り訂正方法及び誤り訂正装置
FR2769776B1 (fr) * 1997-10-09 1999-12-17 Alsthom Cge Alcatel Procede de codage bloc par code produit applicable notamment au codage d'une cellule atm
KR100256965B1 (ko) * 1997-12-30 2000-05-15 윤종용 어드레스 버스의 1 비트 오류 자동 수정 회로 및 방법
KR100272708B1 (ko) * 1997-12-30 2000-11-15 전주범 D-vhs시스템에서 셔플링을 이용한 디지털 데이터의 코딩/디코딩 방법
AU5565998A (en) * 1998-01-16 1999-08-02 Hewlett-Packard Company Methods and apparatus for data storage on magnetic media including error correction codes
JP3307579B2 (ja) * 1998-01-28 2002-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶システム
WO1999050990A1 (en) * 1998-03-30 1999-10-07 Telefonaktiebolaget Lm Ericsson (Publ) An interleaving scheme for blocks in a packet switched system
US6367047B1 (en) * 1998-10-20 2002-04-02 Ecrix Multi-level error detection and correction technique for data storage recording device
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
US6484283B2 (en) * 1998-12-30 2002-11-19 International Business Machines Corporation Method and apparatus for encoding and decoding a turbo code in an integrated modem system
KR100321978B1 (ko) * 1998-12-31 2002-07-02 윤종용 통신시스템에서반복복호장치및방법
JP4031136B2 (ja) * 1999-01-14 2008-01-09 株式会社東芝 符号化・復号化装置及びディスク記憶装置
JP3502559B2 (ja) * 1999-02-05 2004-03-02 松下電器産業株式会社 消失訂正方法、及び消失訂正回路
US6581178B1 (en) * 1999-02-15 2003-06-17 Nec Corporation Error correction coding/decoding method and apparatus
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
US6356528B1 (en) * 1999-04-15 2002-03-12 Qualcomm Incorporated Interleaver and deinterleaver for use in a diversity transmission communication system
CN100483953C (zh) * 1999-05-10 2009-04-29 株式会社Ntt杜可莫 数据信号发送方法与数据信号发送装置
US7089477B1 (en) * 1999-08-18 2006-08-08 California Institute Of Technology Interleaved serial concatenation forming turbo-like codes
US6625774B1 (en) * 1999-10-29 2003-09-23 Stmicroelectronics, Inc. Redundancy system and method for locating errors in interleaved code words
US6606727B1 (en) * 1999-10-29 2003-08-12 Stmicroelectronics, Inc. System and method for providing error correction coding with selectively variable redundancy
JP3841990B2 (ja) 1999-12-07 2006-11-08 三菱電機株式会社 Fecフレーム構成方法およびfec多重化装置
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
JP2001266499A (ja) * 2000-03-23 2001-09-28 Sony Corp データ記録装置及びデータ記録方法、データ再生装置及びデータ再生方法、並びに、データ記録再生装置及びデータ記録再生方法
JP2001274698A (ja) * 2000-03-24 2001-10-05 Sony Corp 符号化装置、符号化方法及び符号化プログラムが記録された記録媒体、並びに、復号装置、復号方法及び復号プログラムが記録された記録媒体
US20020026615A1 (en) * 2000-04-04 2002-02-28 Hewitt Eric John Enhanced turbo product code decorder system
US6675345B1 (en) * 2000-05-12 2004-01-06 Oak Technology, Inc. Method and apparatus for detecting errors in DVD data
GB2363556B (en) * 2000-05-12 2004-12-22 Global Silicon Ltd Digital audio processing
JP2001332982A (ja) * 2000-05-18 2001-11-30 Mitsubishi Electric Corp 光伝送システム、fec多重化装置、fec多重分離装置、および誤り訂正方法
US7116710B1 (en) * 2000-05-18 2006-10-03 California Institute Of Technology Serial concatenation of interleaved convolutional codes forming turbo-like codes
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6622277B1 (en) * 2000-06-05 2003-09-16 Tyco Telecommunications(Us)Inc. Concatenated forward error correction decoder
US7032154B2 (en) 2000-06-05 2006-04-18 Tyco Telecommunications (Us) Inc. Concatenated forward error correction decoder
KR100378181B1 (ko) * 2000-06-09 2003-03-29 삼성전자주식회사 Efm/efm+ 디코딩에 의해 검출된 에러위치를 이용한c1/pi 워드의 에러정정 방법 및 장치
JP2002230916A (ja) * 2001-01-29 2002-08-16 Mitsubishi Electric Corp 情報再生装置
US7170849B1 (en) * 2001-03-19 2007-01-30 Cisco Systems Wireless Networking (Australia) Pty Limited Interleaver, deinterleaver, interleaving method, and deinterleaving method for OFDM data
US8656246B2 (en) * 2001-04-16 2014-02-18 Qualcomm Incorporated Method and an apparatus for use of codes in multicast transmission
US6981198B2 (en) * 2001-04-26 2005-12-27 Storage Technology Corporation Dynamic error correction code shortening
US7389463B2 (en) * 2001-05-29 2008-06-17 Thomson Licensing Hierarchical block coding for a packet-based communications system
US7385949B1 (en) * 2001-06-05 2008-06-10 Broadcom Corporation System and method for de-interleaving data in a wireless receiver
DE10127346C2 (de) * 2001-06-06 2003-07-17 Siemens Ag Datenübertragungssystem auf Multiträgerbasis und Verfahren zum Unterdrücken von Störungen bei einem Datenübertragungssystem auf Multiträgerbasis
JP2003069535A (ja) * 2001-06-15 2003-03-07 Mitsubishi Electric Corp 誤り訂正多重化装置、誤り訂正多重分離装置、これらを用いた光伝送システムおよび誤り訂正多重化伝送方法
US20020199153A1 (en) * 2001-06-22 2002-12-26 Fall Thomas G. Sampling method for use with bursty communication channels
US7278070B2 (en) * 2001-09-14 2007-10-02 Texas Instruments Incorporated Interleaving to avoid wideband interference in a multi-carrier communications system
CA2463809A1 (en) * 2001-10-17 2003-05-22 General Electric Company Signal error detection in railroad communication system
AU2003210505A1 (en) * 2002-01-16 2003-09-02 Aviom, Inc. System and method for transmitting audio or video data using multiple levels of protection
US7231575B2 (en) 2002-04-01 2007-06-12 Intel Corporation Apparatus for iterative hard-decision forward error correction decoding
US7246294B2 (en) * 2002-04-01 2007-07-17 Intel Corporation Method for iterative hard-decision forward error correction decoding
US7346125B2 (en) * 2002-04-23 2008-03-18 Raytheon Company Method and device for pulse shaping QPSK signals
KR101129348B1 (ko) * 2002-06-21 2012-03-27 톰슨 라이센싱 순방향 에러 정정 방법
EP1388944A1 (en) * 2002-08-10 2004-02-11 Deutsche Thomson-Brandt Gmbh Cross interleave reed-solomon code correction
JP2004080508A (ja) * 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
GB2396786B (en) * 2002-12-27 2005-12-21 Phyworks Ltd Fibre optic communications
US7137057B2 (en) * 2003-01-07 2006-11-14 Sun Microsystems, Inc. Method and apparatus for performing error correction code (ECC) conversion
US7831869B2 (en) 2003-01-27 2010-11-09 Hewlett-Packard Development Company, L.P. DDS logical data grouping
GB2397666A (en) * 2003-01-27 2004-07-28 Hewlett Packard Co Logical data grouping in digital storage system
US20040157626A1 (en) * 2003-02-10 2004-08-12 Vincent Park Paging methods and apparatus
US7231557B2 (en) * 2003-04-02 2007-06-12 Qualcomm Incorporated Methods and apparatus for interleaving in a block-coherent communication system
US7434145B2 (en) * 2003-04-02 2008-10-07 Qualcomm Incorporated Extracting soft information in a block-coherent communication system
US8196000B2 (en) * 2003-04-02 2012-06-05 Qualcomm Incorporated Methods and apparatus for interleaving in a block-coherent communication system
CN100483952C (zh) * 2003-04-02 2009-04-29 高通股份有限公司 块相干通信系统中的低复杂性解调方法和装置
EP1953754A3 (en) * 2003-06-02 2011-04-06 Panasonic Corporation Error correction method and apparatus for interleaved data
TWI254283B (en) * 2003-06-03 2006-05-01 Sunplus Technology Co Ltd Error correction device of block code and method thereof
KR100519771B1 (ko) * 2003-07-10 2005-10-07 삼성전자주식회사 에러 정정 디코딩 방법 및 그 장치
US7415658B2 (en) 2003-09-10 2008-08-19 Intel Corporation Forward error correction mapping and de-mapping techniques
US7389468B2 (en) * 2004-09-20 2008-06-17 International Business Machines Corporation Writing and reading of data in probe-based data storage devices
FR2860360B1 (fr) * 2003-09-29 2005-12-09 Canon Kk Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon
FR2861517B1 (fr) * 2003-10-23 2006-01-27 Thomson Licensing Sa Methode de reconstruction de paquets perdus et appareils implementant la methode
US20050180332A1 (en) * 2004-02-13 2005-08-18 Broadcom Corporation Low latency interleaving and deinterleaving
US7958425B2 (en) * 2004-02-19 2011-06-07 Trelliware Technologies, Inc. Method and apparatus for communications using turbo like codes
US7673213B2 (en) * 2004-02-19 2010-03-02 Trellisware Technologies, Inc. Method and apparatus for communications using improved turbo like codes
EP1569349A1 (en) * 2004-02-23 2005-08-31 Alcatel Alternative concatenated coding scheme for digital signals
US20080232444A1 (en) 2004-03-03 2008-09-25 Aware, Inc. Impulse Noise Management
US6897793B1 (en) * 2004-04-29 2005-05-24 Silicon Image, Inc. Method and apparatus for run length limited TMDS-like encoding of data
GB2415336B (en) * 2004-06-18 2006-11-08 Toshiba Res Europ Ltd Bit interleaver for a mimo system
US7516389B2 (en) * 2004-11-04 2009-04-07 Agere Systems Inc. Concatenated iterative and algebraic coding
US7600164B2 (en) * 2004-12-17 2009-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Interleaving/de-interleaving using compressed bit-mapping sequences
US7788570B1 (en) * 2005-03-23 2010-08-31 Marvell International Ltd. Optimized Reed-Solomon decoder
US20060236045A1 (en) * 2005-04-13 2006-10-19 Analog Devices, Inc. Apparatus for deinterleaving interleaved data using direct memory access
US7689132B2 (en) * 2005-06-07 2010-03-30 Industrial Technology Research Institute Interference-rejection coding method for an optical wireless communication system and the optical wireless communication system thereof
US7430701B2 (en) * 2005-06-16 2008-09-30 Mediatek Incorporation Methods and systems for generating error correction codes
US20070011557A1 (en) * 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof
US7797615B2 (en) 2005-07-07 2010-09-14 Acer Incorporated Utilizing variable-length inputs in an inter-sequence permutation turbo code system
US7480847B2 (en) * 2005-08-29 2009-01-20 Sun Microsystems, Inc. Error correction code transformation technique
US7712008B2 (en) * 2006-01-26 2010-05-04 Agere Systems Inc. Systems and methods for error reduction associated with information transfer
US7734984B2 (en) * 2006-04-13 2010-06-08 Trident Microsystems (Far East) Ltd. Erasures assisted block code decoder and related method
MX2009000057A (es) * 2006-07-11 2009-01-23 Lg Electronics Inc Metodo y aparato ecualizador de canal, y sistema receptor.
US7802163B2 (en) * 2006-07-31 2010-09-21 Agere Systems Inc. Systems and methods for code based error reduction
US7779331B2 (en) * 2006-07-31 2010-08-17 Agere Systems Inc. Systems and methods for tri-column code based error reduction
US7801200B2 (en) * 2006-07-31 2010-09-21 Agere Systems Inc. Systems and methods for code dependency reduction
EP1887446A1 (de) * 2006-08-02 2008-02-13 Siemens Aktiengesellschaft Verfahren zur seriellen asynchronen Übertragung von Daten in einer Anordnung zur Überwachung, Steuerung und Regelung einer betriebstechnischen Anlage eines Gebäudes
US7793196B2 (en) * 2006-08-21 2010-09-07 Lsi Corporation Methods and apparatus for improved error and erasure correction in a Reed-Solomon date channel
US7971125B2 (en) * 2007-01-08 2011-06-28 Agere Systems Inc. Systems and methods for prioritizing error correction data
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8196002B2 (en) * 2007-06-01 2012-06-05 Agere Systems Inc. Systems and methods for joint LDPC encoding and decoding
US7930621B2 (en) * 2007-06-01 2011-04-19 Agere Systems Inc. Systems and methods for LDPC decoding with post processing
JP2010541375A (ja) * 2007-09-28 2010-12-24 アギア システムズ インコーポレーテッド 複雑度を低減したデータ処理のためのシステムおよび方法
US20090177943A1 (en) * 2008-01-09 2009-07-09 Broadcom Corporation Error correction coding using soft information and interleaving
US8161348B2 (en) * 2008-02-05 2012-04-17 Agere Systems Inc. Systems and methods for low cost LDPC decoding
US8266495B2 (en) * 2008-02-20 2012-09-11 Marvell World Trade Ltd. Systems and methods for performing concatenated error correction
EP2096884A1 (en) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telecommunications network and method for time-based network access
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
US8018360B2 (en) * 2008-05-19 2011-09-13 Agere Systems Inc. Systems and methods for mitigating latency in a data detector feedback loop
US8352842B2 (en) * 2008-06-18 2013-01-08 Acterna Llc Determining contribution of burst noise to data errors
US8522109B2 (en) 2008-07-02 2013-08-27 Panasonic Corporation Loss correction encoding device and loss correction encoding method
US8660220B2 (en) * 2008-09-05 2014-02-25 Lsi Corporation Reduced frequency data processing using a matched filter set front end
US8245120B2 (en) * 2008-09-17 2012-08-14 Lsi Corporation Power reduced queue based data detection and decoding systems and methods for using such
US8276047B2 (en) * 2008-11-13 2012-09-25 Vitesse Semiconductor Corporation Continuously interleaved error correction
JP2012509549A (ja) * 2008-11-20 2012-04-19 エルエスアイ コーポレーション 雑音低減型データ検出のシステムおよび方法
KR101570472B1 (ko) * 2009-03-10 2015-11-23 삼성전자주식회사 연접 부호화 및 복호화 구조를 갖는 데이터 처리 시스템
US7990642B2 (en) * 2009-04-17 2011-08-02 Lsi Corporation Systems and methods for storage channel testing
JP5502363B2 (ja) * 2009-04-28 2014-05-28 三菱電機株式会社 光伝送装置および光伝送方法
US8443267B2 (en) * 2009-04-28 2013-05-14 Lsi Corporation Systems and methods for hard decision assisted decoding
WO2010126482A1 (en) 2009-04-28 2010-11-04 Lsi Corporation Systems and methods for dynamic scaling in a read data processing system
US8250434B2 (en) * 2009-06-18 2012-08-21 Lsi Corporation Systems and methods for codec usage control during storage pre-read
US8352841B2 (en) 2009-06-24 2013-01-08 Lsi Corporation Systems and methods for out of order Y-sample memory management
US8312343B2 (en) * 2009-07-28 2012-11-13 Lsi Corporation Systems and methods for re-using decoding parity in a detector circuit
US8458553B2 (en) 2009-07-28 2013-06-04 Lsi Corporation Systems and methods for utilizing circulant parity in a data processing system
US8250431B2 (en) * 2009-07-30 2012-08-21 Lsi Corporation Systems and methods for phase dependent data detection in iterative decoding
US8321746B2 (en) 2009-07-30 2012-11-27 Lsi Corporation Systems and methods for quasi-cyclic LDPC code production and decoding
US8266505B2 (en) 2009-08-12 2012-09-11 Lsi Corporation Systems and methods for retimed virtual data processing
US8176404B2 (en) * 2009-09-09 2012-05-08 Lsi Corporation Systems and methods for stepped data retry in a storage system
KR101623730B1 (ko) * 2009-11-23 2016-05-25 삼성전자주식회사 인터리버 장치
US8688873B2 (en) 2009-12-31 2014-04-01 Lsi Corporation Systems and methods for monitoring out of order data decoding
US8578253B2 (en) 2010-01-04 2013-11-05 Lsi Corporation Systems and methods for updating detector parameters in a data processing circuit
US8683306B2 (en) * 2010-01-04 2014-03-25 Lsi Corporation Systems and methods for data detection including dynamic scaling
US8743936B2 (en) * 2010-01-05 2014-06-03 Lsi Corporation Systems and methods for determining noise components in a signal set
FR2955001A1 (fr) * 2010-01-06 2011-07-08 St Microelectronics Grenoble 2 Procede et dispositif d'entrelacement en ligne et en colonne pour blocs de taille variable
US8824590B2 (en) * 2010-02-11 2014-09-02 Electronics And Telecommunications Research Institute Layered transmission apparatus and method, reception apparatus and reception method
US20110194645A1 (en) * 2010-02-11 2011-08-11 Electronics And Telecommunications Research Institute Layered transmission apparatus and method, reception apparatus, and reception method
US8687740B2 (en) * 2010-02-11 2014-04-01 Electronics And Telecommunications Research Institute Receiver and reception method for layered modulation
US20110195658A1 (en) * 2010-02-11 2011-08-11 Electronics And Telecommunications Research Institute Layered retransmission apparatus and method, reception apparatus and reception method
US8769373B2 (en) 2010-03-22 2014-07-01 Cleon L. Rogers, JR. Method of identifying and protecting the integrity of a set of source data
US9343082B2 (en) 2010-03-30 2016-05-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for detecting head contact
US8161351B2 (en) 2010-03-30 2012-04-17 Lsi Corporation Systems and methods for efficient data storage
US8418019B2 (en) 2010-04-19 2013-04-09 Lsi Corporation Systems and methods for dynamic scaling in a data decoding system
US8443249B2 (en) 2010-04-26 2013-05-14 Lsi Corporation Systems and methods for low density parity check data encoding
US8527831B2 (en) 2010-04-26 2013-09-03 Lsi Corporation Systems and methods for low density parity check data decoding
US8381074B1 (en) 2010-05-21 2013-02-19 Lsi Corporation Systems and methods for utilizing a centralized queue based data processing circuit
US8381071B1 (en) 2010-05-21 2013-02-19 Lsi Corporation Systems and methods for decoder sharing between data sets
US8208213B2 (en) 2010-06-02 2012-06-26 Lsi Corporation Systems and methods for hybrid algorithm gain adaptation
US8681439B2 (en) 2010-09-13 2014-03-25 Lsi Corporation Systems and methods for handling sector gaps in inter-track interference compensation
US9219469B2 (en) 2010-09-21 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for filter constraint estimation
US8295001B2 (en) 2010-09-21 2012-10-23 Lsi Corporation Systems and methods for low latency noise cancellation
US8385014B2 (en) 2010-10-11 2013-02-26 Lsi Corporation Systems and methods for identifying potential media failure
US8560930B2 (en) 2010-10-11 2013-10-15 Lsi Corporation Systems and methods for multi-level quasi-cyclic low density parity check codes
US8661071B2 (en) 2010-10-11 2014-02-25 Lsi Corporation Systems and methods for partially conditioned noise predictive equalization
US8443250B2 (en) 2010-10-11 2013-05-14 Lsi Corporation Systems and methods for error correction using irregular low density parity check codes
US8750447B2 (en) 2010-11-02 2014-06-10 Lsi Corporation Systems and methods for variable thresholding in a pattern detector
US8667039B2 (en) 2010-11-17 2014-03-04 Lsi Corporation Systems and methods for variance dependent normalization for branch metric calculation
US8566379B2 (en) 2010-11-17 2013-10-22 Lsi Corporation Systems and methods for self tuning target adaptation
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8699167B2 (en) 2011-02-16 2014-04-15 Lsi Corporation Systems and methods for data detection using distance based tuning
US8446683B2 (en) 2011-02-22 2013-05-21 Lsi Corporation Systems and methods for data pre-coding calibration
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8854753B2 (en) 2011-03-17 2014-10-07 Lsi Corporation Systems and methods for auto scaling in a data processing system
US8887034B2 (en) 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
US8611033B2 (en) 2011-04-15 2013-12-17 Lsi Corporation Systems and methods for selective decoder input data processing
US8670955B2 (en) 2011-04-15 2014-03-11 Lsi Corporation Systems and methods for reliability assisted noise predictive filtering
US8566665B2 (en) 2011-06-24 2013-10-22 Lsi Corporation Systems and methods for error correction using low density parity check codes using multiple layer check equations
US8560929B2 (en) 2011-06-24 2013-10-15 Lsi Corporation Systems and methods for non-binary decoding
US8499231B2 (en) 2011-06-24 2013-07-30 Lsi Corporation Systems and methods for reduced format non-binary decoding
US8862972B2 (en) 2011-06-29 2014-10-14 Lsi Corporation Low latency multi-detector noise cancellation
US8650451B2 (en) 2011-06-30 2014-02-11 Lsi Corporation Stochastic stream decoding of binary LDPC codes
US8595576B2 (en) 2011-06-30 2013-11-26 Lsi Corporation Systems and methods for evaluating and debugging LDPC iterative decoders
US8566666B2 (en) 2011-07-11 2013-10-22 Lsi Corporation Min-sum based non-binary LDPC decoder
US8819527B2 (en) 2011-07-19 2014-08-26 Lsi Corporation Systems and methods for mitigating stubborn errors in a data processing system
US8879182B2 (en) 2011-07-19 2014-11-04 Lsi Corporation Storage media inter-track interference cancellation
US8830613B2 (en) 2011-07-19 2014-09-09 Lsi Corporation Storage media inter-track interference cancellation
US8539328B2 (en) 2011-08-19 2013-09-17 Lsi Corporation Systems and methods for noise injection driven parameter selection
US8854754B2 (en) 2011-08-19 2014-10-07 Lsi Corporation Systems and methods for local iteration adjustment
US9026572B2 (en) 2011-08-29 2015-05-05 Lsi Corporation Systems and methods for anti-causal noise predictive filtering in a data channel
US8656249B2 (en) 2011-09-07 2014-02-18 Lsi Corporation Multi-level LDPC layer decoder
US8756478B2 (en) 2011-09-07 2014-06-17 Lsi Corporation Multi-level LDPC layer decoder
US8661324B2 (en) 2011-09-08 2014-02-25 Lsi Corporation Systems and methods for non-binary decoding biasing control
US8681441B2 (en) 2011-09-08 2014-03-25 Lsi Corporation Systems and methods for generating predictable degradation bias
US8767333B2 (en) 2011-09-22 2014-07-01 Lsi Corporation Systems and methods for pattern dependent target adaptation
US8850276B2 (en) 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
US8578241B2 (en) 2011-10-10 2013-11-05 Lsi Corporation Systems and methods for parity sharing data processing
US8689062B2 (en) 2011-10-03 2014-04-01 Lsi Corporation Systems and methods for parameter selection using reliability information
US8479086B2 (en) 2011-10-03 2013-07-02 Lsi Corporation Systems and methods for efficient parameter modification
US8862960B2 (en) 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US8996597B2 (en) 2011-10-12 2015-03-31 Lsi Corporation Nyquist constrained digital finite impulse response filter
US8707144B2 (en) 2011-10-17 2014-04-22 Lsi Corporation LDPC decoder with targeted symbol flipping
US8788921B2 (en) 2011-10-27 2014-07-22 Lsi Corporation Detector with soft pruning
US8604960B2 (en) 2011-10-28 2013-12-10 Lsi Corporation Oversampled data processing circuit with multiple detectors
US8443271B1 (en) 2011-10-28 2013-05-14 Lsi Corporation Systems and methods for dual process data decoding
US8683309B2 (en) 2011-10-28 2014-03-25 Lsi Corporation Systems and methods for ambiguity based decode algorithm modification
US8527858B2 (en) 2011-10-28 2013-09-03 Lsi Corporation Systems and methods for selective decode algorithm modification
US8760991B2 (en) 2011-11-14 2014-06-24 Lsi Corporation Systems and methods for post processing gain correction
US8751913B2 (en) 2011-11-14 2014-06-10 Lsi Corporation Systems and methods for reduced power multi-layer data decoding
US8531320B2 (en) 2011-11-14 2013-09-10 Lsi Corporation Systems and methods for memory efficient data decoding
US8700981B2 (en) 2011-11-14 2014-04-15 Lsi Corporation Low latency enumeration endec
US8719686B2 (en) 2011-11-22 2014-05-06 Lsi Corporation Probability-based multi-level LDPC decoder
US8631300B2 (en) 2011-12-12 2014-01-14 Lsi Corporation Systems and methods for scalable data processing shut down
US8625221B2 (en) 2011-12-15 2014-01-07 Lsi Corporation Detector pruning control system
US8707123B2 (en) 2011-12-30 2014-04-22 Lsi Corporation Variable barrel shifter
US8819515B2 (en) 2011-12-30 2014-08-26 Lsi Corporation Mixed domain FFT-based non-binary LDPC decoder
US8751889B2 (en) 2012-01-31 2014-06-10 Lsi Corporation Systems and methods for multi-pass alternate decoding
US8850295B2 (en) 2012-02-01 2014-09-30 Lsi Corporation Symbol flipping data processor
US8775896B2 (en) 2012-02-09 2014-07-08 Lsi Corporation Non-binary LDPC decoder with low latency scheduling
US8749907B2 (en) 2012-02-14 2014-06-10 Lsi Corporation Systems and methods for adaptive decoder message scaling
US8782486B2 (en) 2012-03-05 2014-07-15 Lsi Corporation Systems and methods for multi-matrix data processing
US8731115B2 (en) 2012-03-08 2014-05-20 Lsi Corporation Systems and methods for data processing including pre-equalizer noise suppression
US8610608B2 (en) 2012-03-08 2013-12-17 Lsi Corporation Systems and methods for reduced latency loop correction
US8873182B2 (en) 2012-03-09 2014-10-28 Lsi Corporation Multi-path data processing system
US8977937B2 (en) 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
US9230596B2 (en) 2012-03-22 2016-01-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for variable rate coding in a data processing system
US9043684B2 (en) 2012-03-22 2015-05-26 Lsi Corporation Systems and methods for variable redundancy data protection
US8612826B2 (en) 2012-05-17 2013-12-17 Lsi Corporation Systems and methods for non-binary LDPC encoding
US8880986B2 (en) 2012-05-30 2014-11-04 Lsi Corporation Systems and methods for improved data detection processing
US9019647B2 (en) 2012-08-28 2015-04-28 Lsi Corporation Systems and methods for conditional positive feedback data decoding
US9324372B2 (en) 2012-08-28 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for local iteration randomization in a data decoder
US8930780B2 (en) 2012-08-28 2015-01-06 Lsi Corporation Systems and methods for non-zero syndrome based processing
US8751915B2 (en) 2012-08-28 2014-06-10 Lsi Corporation Systems and methods for selectable positive feedback data processing
US8949702B2 (en) 2012-09-14 2015-02-03 Lsi Corporation Systems and methods for detector side trapping set mitigation
US9112531B2 (en) 2012-10-15 2015-08-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced local iteration randomization in a data decoder
US8634152B1 (en) 2012-10-15 2014-01-21 Lsi Corporation Systems and methods for throughput enhanced data detection in a data processing circuit
US9048870B2 (en) 2012-11-19 2015-06-02 Lsi Corporation Low density parity check decoder with flexible saturation
US9130589B2 (en) 2012-12-19 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Low density parity check decoder with dynamic scaling
US8929009B2 (en) 2012-12-19 2015-01-06 Lsi Corporation Irregular low density parity check decoder with low syndrome error handling
US8869011B2 (en) * 2013-01-03 2014-10-21 International Business Machines Corporation Unequal error protection scheme for headerized sub data sets
US8773791B1 (en) 2013-01-14 2014-07-08 Lsi Corporation Systems and methods for X-sample based noise cancellation
US9003263B2 (en) 2013-01-15 2015-04-07 Lsi Corporation Encoder and decoder generation by state-splitting of directed graph
US9007231B2 (en) 2013-01-17 2015-04-14 Baker Hughes Incorporated Synchronization of distributed measurements in a borehole
US9009557B2 (en) 2013-01-21 2015-04-14 Lsi Corporation Systems and methods for reusing a layered decoder to yield a non-layered result
US8930792B2 (en) 2013-02-14 2015-01-06 Lsi Corporation Systems and methods for distributed low density parity check decoding
US8885276B2 (en) 2013-02-14 2014-11-11 Lsi Corporation Systems and methods for shared layer data decoding
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US8797668B1 (en) 2013-03-13 2014-08-05 Lsi Corporation Systems and methods for penalty based multi-variant encoding
US9048873B2 (en) 2013-03-13 2015-06-02 Lsi Corporation Systems and methods for multi-stage encoding of concatenated low density parity check codes
US9048874B2 (en) 2013-03-15 2015-06-02 Lsi Corporation Min-sum based hybrid non-binary low density parity check decoder
US9281843B2 (en) 2013-03-22 2016-03-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for reduced constraint code data processing
US9048867B2 (en) 2013-05-21 2015-06-02 Lsi Corporation Shift register-based layered low density parity check decoder
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
KR20140140252A (ko) * 2013-05-29 2014-12-09 한국전자통신연구원 인터리빙 및 디인터리빙을 위한 메모리 엑세스 장치 및 그 방법
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9129651B2 (en) 2013-08-30 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Array-reader based magnetic recording systems with quadrature amplitude modulation
US9047882B2 (en) 2013-08-30 2015-06-02 Lsi Corporation Systems and methods for multi-level encoding and decoding
US9094046B2 (en) * 2013-09-03 2015-07-28 Lsi Corporation Systems and methods for variable sector count spreading and de-spreading
US9400797B2 (en) 2013-09-17 2016-07-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for recovered data stitching
CN104518801A (zh) 2013-09-29 2015-04-15 Lsi公司 非二进制的分层低密度奇偶校验解码器
US8713399B1 (en) * 2013-10-10 2014-04-29 Antcor S.A. Reconfigurable barrel shifter and rotator
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9286159B2 (en) * 2013-11-06 2016-03-15 HGST Netherlands B.V. Track-band squeezed-sector error correction in magnetic data storage devices
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
US9130599B2 (en) 2013-12-24 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods of converting detector output to multi-level soft information
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
US9553611B2 (en) * 2014-11-27 2017-01-24 Apple Inc. Error correction coding with high-degree overlap among component codes
US10201026B1 (en) 2016-06-30 2019-02-05 Acacia Communications, Inc. Forward error correction systems and methods
JP6736046B2 (ja) * 2016-08-01 2020-08-05 京セラ株式会社 デュアルコーディングによるロバストなリレー再送
US10505676B1 (en) * 2018-08-10 2019-12-10 Acacia Communications, Inc. System, method, and apparatus for interleaving data
EP3841612A4 (en) * 2018-09-12 2021-11-03 Huawei Technologies Co., Ltd. CONNECTION OF IC CHIP TO IC CHIP WITH ERROR CORRECTION CODE AND DATA PATH NESTING
KR102478169B1 (ko) * 2020-04-03 2022-12-16 한국전자통신연구원 디인터리빙 방법 및 이를 수행하는 디인터리빙 시스템

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE30187E (en) * 1972-11-15 1980-01-08 International Business Machines Corporation Plural channel error correcting apparatus and methods
US3868632A (en) * 1972-11-15 1975-02-25 Ibm Plural channel error correcting apparatus and methods
US3786439A (en) * 1972-12-26 1974-01-15 Ibm Error detection systems
USRE31311E (en) * 1976-03-19 1983-07-12 Ampex Corporation DC Free encoding for data transmission system
JPS5535562A (en) * 1978-09-05 1980-03-12 Matsushita Electric Ind Co Ltd Forming method of digital transmission signal
JPS574629A (en) * 1980-05-21 1982-01-11 Sony Corp Data transmitting method capable of correction of error
WO1982003719A1 (en) * 1981-04-16 1982-10-28 Odaka Kentaro Error correction coding method
US4541091A (en) * 1982-06-11 1985-09-10 Hitachi, Ltd. Code error detection and correction method and apparatus
US4567594A (en) * 1983-06-07 1986-01-28 Burroughs Corporation Reed-Solomon error detecting and correcting system employing pipelined processors
US4677622A (en) * 1983-06-22 1987-06-30 Hitachi, Ltd. Error correction method and system
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction
GB2156555B (en) * 1984-03-24 1988-03-09 Philips Nv Error correction of data symbols
JPH0697542B2 (ja) * 1985-05-14 1994-11-30 松下電器産業株式会社 インタ−リ−ブ回路
US4730321A (en) * 1986-05-30 1988-03-08 Quantum Corporation Disk drive with improved error correction code
US4791643A (en) * 1986-12-29 1988-12-13 Minnesota Mining And Manufacturing Company Single track orthogonal error correction system
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
US4802170A (en) * 1987-04-29 1989-01-31 Matrox Electronics Systems Limited Error disbursing format for digital information and method for organizing same
JPS63274222A (ja) * 1987-05-01 1988-11-11 Matsushita Electric Ind Co Ltd インタ−リ−ブ方法
EP0341851A3 (en) * 1988-05-12 1991-06-12 Digital Equipment Corporation Method and apparatus for interleaved encoding
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system

Also Published As

Publication number Publication date
CA2087197A1 (en) 1993-07-16
NO930119L (no) 1993-07-16
AU665044B2 (en) 1995-12-14
CA2087197C (en) 2000-03-21
JPH06276178A (ja) 1994-09-30
JP3465113B2 (ja) 2003-11-10
EP0551973A3 (en) 1994-04-06
AU3180293A (en) 1993-07-22
MX9300195A (es) 1994-07-29
CN1081296A (zh) 1994-01-26
NO930119D0 (no) 1993-01-13
IL104395A0 (en) 1993-05-13
EP0551973A2 (en) 1993-07-21
IL104395A (en) 1996-06-18
EP0551973B1 (en) 1997-11-26
DE69315360T2 (de) 1998-04-09
DE69315360D1 (de) 1998-01-08
FI930147A0 (fi) 1993-01-14
KR930017343A (ko) 1993-08-30
ATE160658T1 (de) 1997-12-15
US5392299A (en) 1995-02-21

Similar Documents

Publication Publication Date Title
KR100263593B1 (ko) 데이타 스트림의 인터리빙 및 인코딩 방법과 그 장치
JP3258669B2 (ja) 改善した誤り伝搬によるトレリス・コード
KR960003094B1 (ko) 프로덕트 코드를 디코딩하는 디코더 및 방법
EP1125294B1 (en) Multi-level error detection and correction technique for data storage recording device
KR910007858B1 (ko) 데이타 전송방법
ES2375104T3 (es) Método de grabación de datos y medio de grabación.
JPH06216882A (ja) 誤り訂正送信装置及び受信装置
KR100250590B1 (ko) 인코딩/디코딩 회로 및 디지탈 비디오 시스템
JP3502559B2 (ja) 消失訂正方法、及び消失訂正回路
JP2001357630A (ja) 光ディスク記憶装置の符号化/復号化システム
JP3891568B2 (ja) 誤り訂正符号を復号化する方法及び装置
US20020199153A1 (en) Sampling method for use with bursty communication channels
US4606026A (en) Error-correcting method and apparatus for the transmission of word-wise organized data
EP1388944A1 (en) Cross interleave reed-solomon code correction
JP3362146B2 (ja) 再生装置および記録再生装置
JPH0823970B2 (ja) ディジタルデータ処理システム
JPH08509351A (ja) セミサイクリックコードに基づく誤り補正可能データ伝送方法及び装置
EP1111799B1 (en) Error correction with a cross-interleaved Reed-Solomon code, particularly for CD-ROM
JP2792670B2 (ja) 誤り訂正符号の復号方法
KR100196927B1 (ko) 디지털 영상신호 기록/재생장치의 오류정정방법
KR930010355B1 (ko) 데이타 오류정정 디코딩방법 및 그 장치
JPH0628343B2 (ja) 積符号の復号方法
JP2002237756A (ja) 符号化方法、復号方法、符号化回路、復号回路、記憶装置、記憶媒体、通信装置
JPS6342343B2 (ko)
JPH07112160B2 (ja) 誤り訂正符号の復号方法

Legal Events

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