KR20070074640A - 변조 제약과 에러 제어를 가지는 정보를 인코딩 및디코딩하는 방법 및 시스템 - Google Patents

변조 제약과 에러 제어를 가지는 정보를 인코딩 및디코딩하는 방법 및 시스템 Download PDF

Info

Publication number
KR20070074640A
KR20070074640A KR1020077011934A KR20077011934A KR20070074640A KR 20070074640 A KR20070074640 A KR 20070074640A KR 1020077011934 A KR1020077011934 A KR 1020077011934A KR 20077011934 A KR20077011934 A KR 20077011934A KR 20070074640 A KR20070074640 A KR 20070074640A
Authority
KR
South Korea
Prior art keywords
code
code word
constrained
parity
word
Prior art date
Application number
KR1020077011934A
Other languages
English (en)
Inventor
쿠이 카이
키스 에이. 쇼우하메르 임밍크
Original Assignee
에이전시 포 사이언스, 테크놀로지 앤드 리서치
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에이전시 포 사이언스, 테크놀로지 앤드 리서치 filed Critical 에이전시 포 사이언스, 테크놀로지 앤드 리서치
Priority to KR1020077011934A priority Critical patent/KR20070074640A/ko
Publication of KR20070074640A publication Critical patent/KR20070074640A/ko

Links

Images

Classifications

    • 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/10009Improvement or modification of read or write signals
    • G11B20/10268Improvement or modification of read or write signals bit detection or demodulation methods
    • G11B20/10287Improvement or modification of read or write signals bit detection or demodulation methods using probabilistic methods, e.g. maximum likelihood detectors
    • G11B20/10296Improvement or modification of read or write signals bit detection or demodulation methods using probabilistic methods, e.g. maximum likelihood detectors using the Viterbi algorithm
    • 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/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

변조 제약과 소정의 패리티 검사 제약 모두 만족되도록 유저 데이터 워드의 세그먼트를 코드 워드의 세그먼트로 인코딩하는 방법 및 시스템. 유저 데이터의 각 세그먼트는 여러 데이터 워드로 분할되고 각각 정규 제약된 코드 및 패리티 관련 제약된 코드로 불리는 제 1 및 제 2 유형의 성분 코드에 의해 개별적으로 인코딩된다. 결합된 코드 워드 위의 패리티 검사 제약은 정규 제약된 코드 워드의 시퀀스와 후보 코드 워드 세트로부터 선택된 특정 패리티 관련 제약된 코드 워드를 연결함으로써 성취된다. 두 성분 코드는 섀넌 커패시티에 가까운 비율을 가지기 위해 설계된 유한 상태 제약된 코드이다. 게다가, 그들은 변조 제약을 위반함 없이 고르게 연결될 수 있는 동일한 유한 상태 기계(finite state machine:FSM)에 의거한다. 두 상기 실시예는 제공되어 각각 비제로복귀반전(non-return-to-zero inverted:NRZI) 포맷과 비제로복귀(non-return-to-zero:NRZ) 포맷으로 코드를 설계하였다. NRZ 포맷으로의 코드 설계는 에러 검출를 위해 요구되는 패리티 검사 비트의 수를 줄일 수 있고 에러 정정 또는 후처리를 간단하게 할 수 있다. 패리티 검사 제약은 주어진 광학 기록 시스템의 에러 이벤트 결합뿐만 아니라 어떤 유형의 우세 에러 이벤트도 검출할 수 있는 체계적인 선형 블럭 코드의 패리티 검사 다항식 또는 패리티 검사 행렬에 의해 정의된다. 결과로서 시스템의 정보 밀도는 향상된다.
인코딩 장치, 인코더, 디코더, 메모리 수단

Description

변조 제약과 에러 제어를 가지는 정보를 인코딩 및 디코딩하는 방법 및 시스템{METHOD AND SYSTEM FOR ENCODING AND DECODING INFORMATION WITH MODULATION CONSTRAINTS AND ERROR CONTROL}
본 발명은 예를 들면 광학 기록 시스템에서의 정보의 인코딩 및/또는 디코딩에 관한 것이다. 특히, 본 발명은 채널 코딩된 데이터 시퀀스에서 변조 제약과 패리티 검사 제약을 부과함으로써 향상된 정보 밀도를 가지는 정보를 코딩하는 방법과 시스템을 제공한다.
제약된 코드로도 알려진 변조 코드는 유저 데이터의 임의의 시퀀스를 관련 시스템에 의해 요구된 특별한 특성을 가지는 시퀀스로 트랜스레이트하기 위한 기록 시스템에서 사용된다. 광학 기록 시스템의 2개의 주요 제약은 런-렝스(run-length) 제약, 또는 (d,k) 제약과 디씨-프리(dc-free) 제약이다. 런-렝스 제약은 코드 간 간섭과 부정확한 타이밍의 문제를 완화하기 위하여 인코딩된 데이터 흐름에서 제로 실행의 최소 및/또는 최대 길이를 제한한다. 디씨-프리 제약은 데이터와 서보 신호 간의 간섭을 피하고, 또한 디스크 표면의 손가락 자국과 같은 저주파수 디스크 노이즈의 필터링을 허용한다.
코딩과 신호 처리 기술은 고밀도 및 고속 광학 기록 시스템의 개발에서 중요 한 역할을 한다. CD와 DVD 시스템는 d=2 제약과 임계값 기반의 수신기를 가지는 변조 코드를 사용한다.
T. Narahara, S. Kobayashi, Y. Shimpuku, G. van den Enden, J. Kahlman, M. van Dijk, and R. van Woudenberg, "Optical disc system for digital video recording," Jpn. J. Appl. Phys., pt. 1 , vol. 39, no. 2B, pp. 912 - 919, 2000, 및 T. Iwanaga, S. Ogkubo, M. Nakano, M. Kubota, H. Honma, T. lde and R. Katayama, "High-density recording systems using partial response maximum likelihood with blue laser diode," Japan J. Applied Physics, vol. 42, no. 2B, part 1 , pp. 1042 - 1043, Feb. 2003에 의하면, 최근 소개된 제 3 세대 광학 기록 시스템, 즉 블루 레이 디스크(blu-ray-disc:BD) 또는 고급 광디스크(advanced optical disc:AOD)의 수신 기술은 CD나 DVD에 사용된 것과 상당히 다르다. 예를 들면, 임계값 검출기는 더 강력한 비터비(Viterbi)와 같은 비트 검출 접근법에 의해 보충되고, 최소 런-렝스 제약은 d=2 대신에 d=1이다.
d=1 또는 d=2 제약을 가지는 매우 효율적인 코드의 패밀리는 US patent 6,606,038, US patent 6,639,524, 및 KAS. Immink, J.Y. Kim, and S.W. Suh, "Efficient Dc-free RLL codes for Optical Recording," IEEE Trans. Commun, vol. 51 , pp. 326-331 , March 2003에서 제안되었다. 설계된 코드의 비율은 BD 및 AOD에 사용되는 비율 2/3(1,7) 코드와 DVD에 사용되는 비율 8/15(2,10) EFM과 같은 코드보다 더 크다. 커패시티 접근 코드율은 d=1 또는 d=2 제약을 반영하기 위해서 명확히 효율적인 유한 상태 기계(finite state machines:FSM)를 사용함으로써 달성된 다. 게다가, 새로 설계된 코드에 유도 혼합화(Guided Scrambling:GS) 접근법을 결합함으로써 만족스런 디씨-프리 수행이 달성된다.
고기록 커패시티와 데이터 전송 속도 시스템은 향상된 채널 코딩과 검출 방식을 이용하기 위해서 필요하다. 근년에 에러 정정 특성을 갖는 제약된 코드에 많은 관심이 있어왔다. 그러한 이유로 관용적으로 채널을 읽는 상황과는 달리 제약된 디코더의 출력에서 일어나는 모든 에러를 정정하기 위해 리드-솔로몬(Reed-Solomon:RS) 에러 정정 코드(error correction code:ECC)가 예상되는 곳에서 대부분의 확률 에러[또는 우세(dominant) 에러라고 불리는] 이벤트는 패리티 검사 코드를 강화하는 거리 적용으로 인하여 정정될 수 있다. 이 패리티 검사 코드는 외부 RS-ECC로 부터 개별적으로 사용되는 내부 블럭-ECC이다. 그것은 채널 검출기의 출력에 일어나는 우세 간결 에러 이벤트를 극히 소수의 잉여 패리티 검사 비트를 이용하여 정정할 수 있다. 이 방식에서 외부 ECC의 정정 능력 손실은 두드러지게 감소하고 변조 디코더의 에러 전파 또한 최소화되어 전체 수행을 향상시키기 위한 간단하고 효과적인 해결책으로 귀착한다. 터보 코드나 저밀도 패리티 검사 코드와 같은 반복적 디코딩 가능한 코드와 비교하여 패리티 검사 코드 기반 접근법은 그러한 코드에 의해 제공되는 수행 복잡도 트레이드-오프(trade-off)가 매우 매력적이고 알맞기 때문에 데이터 저장 시스템에 넓은 수용력을 갖춘다. 그러므로, 그것은 소위 '제 4세대' 광학 저장 시스템을 위한 가장 유망한 수신 기술 중에 하나이다.
패리티 검사 코드는 단일 비트 패리티 검사 코드와 다중 비트 패리티 검사 코드로 분류될 수 있다. 짝수[또는 홀수] 패리티 검사의 단일 비트 패리티 검사 코 드는 극히 소수 유형의 에러 이벤트만 검출할 수 있는 단순하고 기본적인 코드이다. 수행을 향상시키기 위해서 K. Cai, V. Y. Krachkovsky, and J.W.M. Bergmans, "Performance bounds for parity coded optical recording channels with d=1 constraint", Proc. of IEEE International Conference on Communications (ICC), Alaska, USA, May 2003, 및 H. Sawaguchi, S. Mita, and J. K. Wolf, "A concatenated coding technique for partial response channels," IEEE Trans. Magnetics, vol. 37, No. 2, pp. 695-703, March 2001에 따라서 다중 비트 패리티 검사 코드는 그런 코드가 하나의 데이터 블럭에서 더욱 많은 유형의 에러 이벤트를 검출할 수 있고 에러 정정의 부가적인 정보를 제공하기 때문에 발탁되었다.
패리티 검사 제약이 채널 비트 흐름에 부과될 때 변조 제약이 동시에 만족 되어야 한다. 그 결과, 일정한 코드율 손실이 초래될 것이다. 그러므로, 효율적인 제약된 패리티 검사 코드의 설계는 패리티 검사 코드 기반 수신기의 발달에 중요하다. 근년에 효율적인 패리티 검사 코드를 가지는 제약된 코드를 결합하기 위해 연구원들에 의한 많은 시도가 있었지만 최소 코드율 손실을 가지는 제약된 패리티 검사 코드의 체계적인 코드가 열린 문제로 남아있다. 이것은 특히 광학 기록 시스템에 대한 다중 비트 패리티 검사 제약을 만족하는 제약된 패리티 검사 코드를 설계하는 것이 어렵다.
P. Perry, M. C. Lin, and Z. Zhang, "Runlength-Limited Codes for Single Error-Detection and Single Error-Correction with Mixed Type Errors," IEEE Trans. Inform. Theory, vol. 44, no. 4, pp. 1588 - 1592, July 1998에 의해 기술 된 한 방식에서, 제약된 데이터 시퀀스는 동등한 길이의 짧은 쪽으로 분석된다. 각각의 제약된 데이터 블럭 쌍 사이에 패리티 데이터 블럭은 에러 제어를 위해 삽입된다. 제약된 데이터 블럭과 패리티 데이터 블럭은 연결되어 변조 제약의 위반이 일어나지 않는다. 이러한 방식의 강점은 에러 전파의 결핍이다. 그러나, 자기 기록 시스템에 대한 특정 복합 유형의 에러만 정정할 수 있기 때문에 그것은 여전히 일반적인 손실을 가진다. 게다가, 그것의 코딩 효율은 낮다. 단일 복합 유형의 에러의 검출을 위해서 길이 2d+3의 패리티 블럭이 요구된다.
S. Gopalaswamy and J.W.M. Bergmans, "Modified target and concatenated Coding for constrained magnetic recording channels," in Proc. IEEE Intl. Conf. Commun. (ICC), New Orleans, USA, June 2000, pp. 89-93 및 H. Sawaguchi, S. Mita, and J. K. Wolf, "A concatenated coding technique for partial response channels," IEEE Trans. Magnetics, vol. 37, No. 2, pp. 695-703, March 2001에서 논의된 바와 같이, 연결 코드는 에러 검출 및 정정 능력을 가진 변조 코드를 구성하는 것이 더 제의되었다. 연결 코딩 방식에서 패리티 검사 정보는 각각의 변조 코딩된 데이터 블럭에 대해 우선 산출된다. 이러한 정보는 이때 정규 제약된 인코더에 의해 개별적으로 인코딩되어 해당 변조 데이터 블럭의 끝에 추가된다. 이 방식에서 연결된 코딩 방식은 높은 코딩 효율을 성취한다. 비율 약 0.5의 d=2 코드를 위해 패리티 검사 비트는 2 채널 비트를 요구한다. 비율 2/3(1,7) 코드를 위해 패리티 검사 비트는 1.5 채널 비트를 요구한다. 그러나, 그 연결 코딩 방식은 두 결점이 있다: (i) 디코딩 동안 패리티 검사를 얻기 위하여 국부적 복조가 필요 하다. 그러므로, 결합된 데이터 블럭에 대한 패리티 검사 정보를 얻을 수 있기 전에 변조 디코딩을 먼저 하기 위하여 패리티 검사 비트에 대응하는 채널 비트 흐름의 부분이 필요하다. 명백하게, 디코딩 복잡도는 증가할 것이다. (ii) 패리티 검사 비트에 대응하는 채널 비트 흐름은 패리티 검사에 의해 보호되지 않는다. 그러므로, 모든 데이터 블럭의 디코딩 동안 패리티 관련 데이터 블럭에서 일어나는 에러는 더해진 에러를 이끌어 낼 수 있다. 그러므로, 에러 전파에 기인한다.
또한, 콤비 코딩 방식(combi-code scheme)(US patent publication US A1 2003/0028839 및 W. Coene, H. Pozidis, J. Bergmans in "Run-length limited parity-check coding for transition-shift errors in optical recording", in Proc. IEEE Intl. Conf. Global Telecommun. [GLOBECOM], San Antonio, Nov. 2001, pp. 2982 - 2986에 의해 제안된)은 에러 전파를 도입하는 것 없이 연결 방식과 비슷한 높은 효율을 성취할 수 있다. 이런 방식에 따라 제약된 패리티 검사 코드는 표준 코드와 패리티 검사 허가 코드의 두 슬라이딩 블럭 코드의 세트로 구성된다. 제약된 패리티 검사 코드의 주역은 코드를 관용적으로 제약하기 위해 선택된 여러 표준 코드를 포함한다. 제약된 패리티 검사 코드의 끝에서 패리티 검사 허가 코드는 모든 코드 워드의 특정 패리티 검사를 실현하기 위해서 사용된다. 두 성분 코드가 동일한 FSM에 기초되기 때문에, 두 코드를 함께 스티칭(stitching)하기 위한 추가적인 채널 비트는 필요하지 않다. 이 방식에서 패리티 검사 비트당 2 채널 비트를 성취하는 높은 효율의 d=2 제약된 패리티 검사 코드가 설계된다. 그러나, 콤비 코딩 방식은 여러 단점을 가진다.
첫째, 콤비 코딩 방식은 특정 유형의 에러 이벤트(즉, 같은 방향에서의 단일 비트 변환 시프트 에러나 n-비트 변환 시프트 에러)를 정정하게 설계된다. 에러 이벤트 결합뿐만 아니라 임의 유형의 에러 이벤트도 검출하는 방식를 일반화하는 것은 어렵다.
둘째, 콤비 코딩 방식은 d=2 코드에 대해서만 높은 효율을 달성한다. 제 3 세대 광학 기록 시스템에 사용되는 d=1 코드에 대하여, 높은 효율의 콤비 코드는 이용할 수 없다. Coene(상기 참조) 등은 높은 효율의 d=1 코드가 (i) 정교한 시변(time-varying) 인코더를 사용하거나 (ii) 디씨-프리 허가 코드와 패리티 검사 허가 코드를 결합함으로써 얻어질 수 있다는 것을 제안했다. 시변 인코더의 결점은 인코더의 각 페이즈에 대하여 분리된 코드가 요구된다. 그것은 실행 복잡도에서의 상당한 증가를 일으킬 것이다. 반면에, 디씨-프리 허가 코드와 패리티 검사 허가 코드의 결합은 디씨 억제를 약화시킬 것이다. 그것은 만족스런 디씨 억제를 얻기 위해 디씨-프리 허가 코드가 패리티 검사 허가 코드보다 더 자주 삽입되는 것이 필요하기 때문이다.
셋째, 콤비 코딩 방식에 의해 사용된 주요 성분 코드(즉, 표준 코드)는 여전히 d=1 제약에 대한 비율 2/3(1,7) 코드와 d=2 제약에 대한 비율 8/15(2,10) 코드이다. 표준 코드와 패리티 검사 허가 코드 모두의 효율은 Immink(상기 참조) 등에 의해 제안된 상태 분할 방법을 사용함으로써 더 향상될 수 있다.
본 발명은 이전 기술 방식의 상술한 결점을 극복한다. 특히, 본 발명은 예를 들면, 광학 기록 시스템에서 에러 이벤트 결합뿐만 아니라 어떠한 유형의 우세 에러 이벤트도 검출 및 정정할 수 있는 어떤 주어진 패리티 검사 제약을 가지는 커패시티 접근 제약 코드를 구성하는 것에 대한 일반적이고 체계적인 방법을 제공한다.
본 발명의 제 1 국면에 의하면, 데이터 소스로부터 데이터를 인코딩하는 방법이 제공되고, 유저 데이터의 입력 세그머트는 데이터 워드로 분할된다. 상기 방법은 데이터 워드를 하나 이상의 제 1 성분 코드 워드와 제 2 성분 코드 워드로 인코딩하는 단계, 및 결합된 코드 워드에 걸쳐 소정의 패리티 검사 제약을 가지는 결합된 코드 워드를 제공하기 위하여 제 1 성분 코드 워드와 제 2 성분 코드 워드를 연결하는 단계를 포함한다. 하나 이상의 제 1 성분 코드 워드는 정규 제약된 코드의 하나 이상의 코드 워드를 포함하고, 제 2 성분 코드 워드는 패리티 관련 제약된 코드의 코드 워드를 포함한다.
본 발명의 제 2 국면에 의하면, 정규 제약된 코드 워드의 시퀀스를 이용하기 위한 패리티 관련 제약된 코드를 설계하는 방법이 제공된다. 상기 방법은 패리티 관련 제약된 코드의 후보 코드 워드를 설계하는 단계, 후보 코드 워드의 패리티 검사 비트를 계산하는 단계, 후보 코드 워드를 코드 워드 세트의 그룹으로 분배하는 단계, 코드 워드 세트를 함께 연결하는 단계, 및 패리티 관련 제약된 코드의 하나 이상의 인코딩과 디코딩에 대한 코드 테이블를 형성하는 단계를 포함한다.
본 발명의 제 3 국면에 의하면, 데이터 소스로부터 유저 데이터를 인코딩하는 인코딩 장치가 제공되고, 유저 데이터의 입력 세그먼트는 데이터 워드로 분할된다. 상기 장치는 하나 이상의 데이터 워드를 하나 이상의 제 1 성분 코드 워드로 인코딩하는 제 1 인코더 수단, 데이터 워드를 제 2 성분 코드 워드로 인코딩하는 제 2 인코더 수단, 및 결합된 코드 워드에 걸쳐 소정의 패리티 검사 제약을 가지는 결합된 코드 워드를 제공하기 위하여 하나 이상의 제 1 성분 코드 워드와 제 2 성분 코드 워드를 연결하는 연결 수단을 포함한다. 제 1 성분 코드 워드는 정규 제약된 코드의 하나 이상의 코드 워드를 포함하고, 제 2 성분 코드 워드는 패리티 관련 제약된 코드의 코드 워드를 포함한다.
본 발명의 제 4 국면에 의하면, 데이터 소스로부터 유저 데이터를 인코딩하는 인코더가 제공되고, 유저 데이터의 입력 세그먼트는 데이터 워드로 분할된다. 상기 인코더는 데이터 워드를 제 1 성분 코드 워드로 인코딩하는 복수의 제 1 인코더, 데이터 워드를 제 2 성분 코드 워드로 인코딩하는 복수의 제 2 인코더, 결합된 코드 워드에 걸쳐 소정의 패리티 검사 제약을 가지는 결합된 코드 워드를 제공하기 위하여 제 1 성분 코드 워드와 제 2 성분 코드 워드를 연결하는 연결기를 포함한다. 제 1 성분 코드 워드는 정규 제약된 코드의 코드 워드를 포함하고, 제 2 성분 코드 워드는 패리티 관련 제약된 코드의 코드 워드를 포함한다.
제 3 또는 제 4 국면의 장치 또는 인코더는 제 1 또는 제 2 국면의 방법에 따라 실시가능할 수 있다.
본 발명의 제 5 국면에 의하면, 코드 워드는 제 1 및 제 2 성분 코드 워드의 연결을 포함하고 제약된 패리티 검사 코드 워드를 유저 데이터의 세그먼트로 디코딩하는 방법이 제공된다. 상기 방법은 복수의 제 1 성분 코드 워드와 제 2 성분 코드 워드를 복수의 유저 데이터 워드로 디코딩하는 단계를 포함한다. 제 1 성분 코드 워드는 정규 제약된 코드 워드를 포함하고, 제 2 성분 코드 워드는 패리티 관련 제약된 코드 워드를 포함한다.
정규 제약된 코드와 패리티 관련 제약된 코드가 동일한 FSM에 의거한 곳에서 패리티 관련 제약된 코드의 디코딩 방법은 정규 제약된 코드와 일반적으로 동일할 수 있다. 따라서, 다음 코드 워드를 주시하고 대응 코드 테이블를 통하여 그것의 상태 정보를 얻어 그 정보를 현재 코드 워드의 정보와 결합함으로써 디코더는 현재 코드 워드와 관련된 유저 데이터 워드를 유니크하게 결정할 수 있다.
본 발명의 제 6 국면에 의하면, 코드 워드는 제 1 및 제 2 성분 코드 워드의 연결을 포함하고 제약된 패리티 검사 코드 워드를 유저 데이터의 세그먼트로 디코딩하는 디코더 장치가 제공된다. 상기 장치는 복수의 제 1 성분 코드 워드를 복수의 유저 데이터 워드로 디코딩하는 제 1 디코딩 수단, 및 제 2 성분 코드 워드를 유저 데이터 워드로 디코딩하는 제 2 디코딩 수단을 포함한다. 제 1 성분 코드 워드는 정규 제약된 코드 워드를 포함하고, 제 2 성분 코드 워드는 패리티 관련 제약된 코드 워드를 포함한다.
본 발명의 제 7 국면에 의하면, 제약된 패리티 검사 코드 워드를 유저 데이터의 세그먼트로 디코딩하는 디코더가 제공되고, 코드 워드는 패리티 관련 제약된 코드 워드와 연결되는 복수의 정규 제약된 코드 워드를 포함한다. 상기 디코더는 복수의 정규 제약된 코드 워드를 디코딩하는 복수의 정규 제약된 디코더와 패리티 관련 제약된 코드 워드를 디코딩하는 패리티 관련 제약된 디코더를 포함한다.
정규 제약된 코드와 패리티 관련 제약된 코드가 동일한 FSM에 의거한 곳에서 패리티 관련 제약된 디코더의 동작은 일반적으로 정규 제약된 디코더와 동일할 수 있다. 다음 코드 워드를 주시하고 대응 코드 테이블를 통하여 그것의 상태 정보를 얻어 그 정보를 현재 코드 워드의 정보와 결합함으로써 디코더는 현재 코드 워드와 관련된 유저 데이터 워드를 유니크하게 결정할 수 있다.
제 6 또는 제 7 국면의 장치 또는 디코더는 제 5 국면의 방법에 따라 실시 가능할 수 있다.
본 발명의 제 8 국면에 의하면, 제 1 국면의 방법에 의하거나 또는 제 3 또는 제 4 국면의 장치에 의해 인코딩된 데이터를 저장하는 메모리 수단이 제공된다.
본 발명은 예를 들면 광학 기록 시스템에 대하여 효율적인 제약된 패리티 검사 코드를 구성하기 위한 일반적이고 체계적인 방법을 제공한다. 본 발명의 실시예에 따라 제약된 패리티 검사 코드는 섀넌 커패시티에 가까운 비율을 가지도록 모두 설계된 정규 제약된 코드와 패리티 관련 제약된 코드의 두 유형의 성분 코드를 포함한다. 완전한 코드 워드에 걸친 패리디 검사 제약은 정규 제약된 코드 워드와 후보 코드 워드 세트로부터 선택된 특정 패리티 관련 제약된 코드 워드를 연결함으로써 실현된다. 양쪽의 성분 코드는 동일한 FSM에 의거하여 설계된 고정된 길이를 가지는 유한 상태 코드이다. 이것은 그들을 변조 제약의 위반 없이 어떤 순서로 연결할 수 있게 하고 또한 인코더/디코더의 더 간단한 하드웨어 구현을 두드러지게 촉진시킨다. 패리티 검사 제약은 체계적인 선형 블럭 코드의 패리티 검사 다항식이나 패리티 검사 행렬에 의해 정의된다. 이것은 제약 패리티 검사 코드의 에러 검출 기준을 정의하기 위한 체계적인 방법을 제공한다. 그 결과, 제약된 코드는 시스템의 에러 이벤트 결합뿐만 아니라 어떠한 유형의 우세 에러 이벤트도 검출할 수 있다.
본 발명의 바람직한 제 1, 제 2 실시예는 비제로복귀반전(non-return-to-zero inverted:NRZI) 포맷(format)과 비제로복귀(non-return-to-zero:NRZ) 포맷으로 각각 코드를 설계하는 방법을 제공한다. NRZ 포맷으로 코드를 설계하는 것은 에러 검출에 필요한 패리티 검사 비트 수를 줄이고 에러 정정[또는 후처리(post-processing)]을 간단하게 할 것이다. 식별될 것이기 때문에 사용된 패리티 검사 코드는 체계적인 형식으로 어떤 선형 블럭 코드도 될 수 있다. 채택된 변조 제약은 어떠한 d 제약(d=1과 d=2)도 될 수 있다. 패리티 관련 제약된 코드 워드는 또한 패리티 검사에 의하여 보호받기 때문에 설계된 새로운 코드 워드는 패리티 관련 제약된 코드 워드와 정규 제약된 코드 워드 사이의 에러 전파로 손해입지 않는다. 게다가 더 엄격한 k 제약과 최대 천이 실행(maximum transition run:MTR)은 또한 코드 워드의 길이나 또는 FSM의 상태 수를 증가함으로써 설계된 코드에서 첨가될 수 있다.
본 발명의 실시예에 의해 제공되는 방식을 사용함으로써 다른 기록 시스템에 적합한 각종 새로운 제약된 패리티 검사 코드를 설계할 수 있다. 본 발명에 따라 설계된 여러 새로운 코드의 예는 예시된다. BD 시스템에서 새롭게 설계된 코드의 수행은 또한 평가된다.
본 발명은 첨부 도면과 관련하여 대표적이고 무제한적인 바람직한 실시예의 이하의 설명으로부터 더 상세하게 설명될 것이다.
도 1은 NRZI 포맷으로 제약된 패리티 검사 코드를 구성하기 위한 제 1 실시예에 따라오는 인코더의 블럭도를 나타낸다.
도 2는 도 1의 인코더의 작동에 관한 순서도이다.
도 3은 도 1의 인코더에서 사용하기 위한 패리티 관련 제약된 코드의 설계에 관한 순서도이다.
도 4는 비율 2/5의 d=1 패리티 관련 제약된 코드를 구성하기 위한 제 1 실시예에 따른 코드 테이블의 한 예를 나타낸다.
도 5는 비율 2/5의 d=1 패리티 관련 제약된 코드를 위한 인코딩 처리의 한 예를 나타낸다.
도 6은 제 1 실시예와 제 2 실시예에 사용하기 위한 디코더의 블럭도를 나타낸다.
도 7은 도 6의 디코더의 작동에 관한 순서도이다.
도 8은 NRZ 포맷으로 제약된 패리티 검사 코드를 구성하기 위한 제 2 실시예에 따라오는 인코더의 블럭도를 나타낸다.
도 9는 비율 12/19(1,18)의 패리티 관련 제약된 코드에 대한 여러 인코더 상태에서의 후보 코드 워드의 분포을 나타낸다.
도 10은 비율 12/19(1,18)의 패리티 관련 제약된 코드에 대한 코드 테이블의 시작부분을 나타낸다.
도 11A, 11B는 비율 7/16(1,18)의 패리티 관련 제약된 코드에 대한 여러 인코더 상태에서의 후보 코드 워드의 분포을 나타낸다.
도 12A, 12B는 비율 7/16(1,18)의 패리티 관련 제약된 코드에 대한 코드 테이블의 시작부분으로부터의 예를 나타낸다.
도 13은 비율 10/20(2,15)의 패리티 관련 제약된 코드에 대한 다양한 인코더 상태에서의 후보 코드 워드의 분포을 나타낸다.
도 14는 비율 10/20(2,15)의 패리티 관련 제약된 코드에 대한 코드 테이블의 시작부분을 나타낸다.
도 15A, 15B는 비율 8/22(2,15)의 패리티 관련 제약된 코드에 대한 다양한 인코더 상태에서의 후보 코드 워드의 분포을 나타낸다.
도 16A, 16B는 비율 8/22(2,15)의 패리티 관련 제약된 코드에 대한 코드 테이블의 시작부분으로부터의 예를 나타낸다..
도 17은 표준 밀도에서 이전 기술 비율 2/3(1,7) 코드와 새롭게 설계된 코드를 가지는 패리티 검사 코드 BD 시스템의 비트 에러율(bit error rate:BER) 성능 비교를 나타낸다.
도 18은 고밀도에서 이전 기술 비율 2/3(1,7) 코드와 새롭게 설계된 코드를 가지는 패리티 검사 코드 BD 시스템의 BER 성능 비교를 나타낸다.
본 발명의 바람직한 실시예에 따른 코드 설계에 대한 원칙이 처음으로 설명된다. 연속적으로 제 1 및 제 2 바람직한 실시예가 제공된다. 나중에 본 발명에 따라 설계된 그들의 성능 평가뿐만 아니라 새로운 코드의 예가 예시된다.
1. 코드 설계에 대한 원칙
전형적으로 에러 정정 코드(error correction code:ECC) 인코더의 2진 출력인 유저 데이터의 시퀀스는 이후 유저 데이터 세그먼트라고 불리우는 연속적인 데이터 블럭으로 나뉜다. 각각의 유저 데이터 세그먼트는 여러 데이터 워드로 더 분할되고 개별적으로 인코딩된다.
마지막 하나를 제외한 모든 데이터 워드는 Immink(상기 참조) 등에 의해 제안된 코딩 방법에 의해 인코딩된다. 얻어진 코드 워드는 "정규 제약된 코드 워드"라고 부른다. 그러나, 마지막 데이터 워드는 특정 패리티 관련 제약된 인코더에 의해 인코딩되며 얻어진 코드 워드는 "패리티 관련 제약된 코드 워드"로 부른다. 이것은 정규 제약된 코드 워드와 패리티 관련 제약된 코드 워드의 연결인 완전한 코드 워드 위에 특정 패리티 검사 제약을 실현하기 위해 설계된다. 소정의 패리티 검사 다항식 또는 패리티 검사 행렬에 대응하여 부과되는 패리티 검사 제약은 특정 데이터 저장 시스템의 우세 에러 이벤트나 에러 이벤트 결합을 검출하기 위해 정의된다. 변조 제약을 부과하는 것을 용이하게 하기 위해서 패리티 검사 다항식이나 패리티 검사 행렬이 체계적인 패리티 검사 코드를 생성하도록 선택 또는 설계하는 것이 필요하다. 변조 제약을 만족하는 정보 비트는 정규 제약된 코드와 패리티 관련 제약된 코드 모두를 위한 코드 워드로서 사용되고 패리티 검사 비트는 정규 제약된 코드 워드와 패리티 관련 제약된 코드 워드의 연결을 안내하기 위해서만 사용된다.
커패시티 접근 코드는 그것에 의해 얻어질 수 있기 때문에 정규 제약된 코드와 패리티 관련 제약된 코드 모두는 Immink(상기 참조) 등에 의해 제안된 동일한 FSM에 의거하여 설계된 유한 상태의 제약된 코드이다. 또한, 그것은 두 성분 코드가 (d,k) 제약을 위반하는 것 없이 고르게 연결될 수 있게 한다. 정규 제약된 코드를 위해서 FSM의 각 상태에서 각각의 유저 데이터 워드에 오직 하나의 코드 워드만 맵핑(mapping)한다. 반면에 패리티 관련 제약된 코드를 위해 FSM의 각 상태에서 각각의 유저 데이터 워드에 2p개의 후보 코드 워드의 세트가 잠재적으로 맵핑되고 여기서 p는 패리티 검사 비트의 수이다. 정규 제약된 코드와 비교하여 패리티 관련 제약된 코드의 코드 워드 길이는 추가적인 패리티 검사 제약을 성취하기 위해서 더 길어야 하고 따라서 그 비율은 더 작다. 패리티 검사 제약에 의한 비율 손실를 최소화하기 위해서 패리티 관련 제약된 코드는 결합된 코드 워드의 마지막 코드 워드로만 사용된다.
그러한 구조를 가지는 제약된 패리티 검사 코드율은 다음과 같이 주어진다.
Figure 112007038511560-PCT00001
여기서 M은 유저 데이터의 세그먼트 길이이고 N은 결합되어있는 제약된 패리티 검사 코드 워드의 길이이며 n은 패리티 관련 코드 워드의 길이이다. 여기서, Rn과 Rp는 각각 정규 제약된 코드와 패리티 관련 제약된 코드의 비율이다. 결합된 코드 워드의 길이 N의 선택이나 유저 데이터 시퀀스 내의 연속적인 유저 데이터 세그먼트의 수는 특정 기록 시스템에 의존하며 패리티 검사로 인한 코드율 손실과 후처리의 에러 정정 커패시티 사이의 절충안이다. 후처리는 채널 검출기의 입력에서 얻어지 는 채널 사이드(channel side) 정보뿐만 아니라 채널 검출기의 출력에서 검출된 코드 워드의 패리티 검사 결과를 사용함으로써 각각의 검출되어있는 제약된 패리티 검사 코드 워드 내에서 일어나는 단일 및 이중 에러 이벤트 모두를 정정할 수 있다.
데이터 저장 시스템의 기록 경로에서 프리코더(precoder), 예를 들면 모듈로-2(modulo-2) 적분 연산은 제약된 인코더의 2진 출력을 대응되는 변조된 신호로 변환한다. 변조 신호는 저장 매체에 한층 더 저장된다. 프리코더 이전의 제약된 인코딩된 비트는 NRZI 시퀀스로 불리지만 프리코더 출력 비트는 NRZ 시퀀스로 불린다. 대응되게 판독하는 경로에서 채널 검출기와 제약된 디코더 사이에 역 프리코더(inverse precoder)가 존재한다. 그것은 검출된 NRZ 시퀀스를 NRZI 시퀀스로 역변환한다.
상기 코드 설계 원칙을 사용하여 효율적으로 제약된 패리티 검사 코드는 NRZI 포맷이나 NRZ 포맷으로 설계될 수 있다. 해당 상세 방법은 이하의 두 실시예에서 설명된다.
2. 제 1 실시예에 따른 코드 설계 방법
상기한 제 1 실시예에서 코드는 NRZI 포맷으로 설계된다. 예를 들면, 도 1은 본 발명의 제 1 실시예에 따른 인코딩 장치의 도식적인 블럭도이고 제약된 패리티 검사 인코더(10)의 형식에서 도 2의 순서도에 예시된 처리에 따라 동작할 것이다. 예시된 것과 같이 유저 데이터의 M-비트 세그먼트(12)는 K+1 데이터 워드로 분할된다[단계 (S102)]. 이러한 데이터 워드 사이에 K 선행 데이터 워드(14)는 정규 제약 된 인코더(16)에 의해 제 1 성분 코드 워드로 개별적으로 인코딩된다[단계 (S104)]. 인코더 출력에서 K 정규 제약된 코드 워드(14a)가 얻어진다. K+1번째 데이터 워드(18)는 패리티 관련 제약된 인코더(20)에 의해 제 2 성분 코드 워드로 인코딩되고(단계 S108) 패리티 관련 제약된 코드 워드(18a)로 나타내어진다. 데이터 워드가 두 성분 코드 워드(14a,18a)로 인코딩되는 동안 예를 들면, 판독 전용 메모리(read only memory:ROM)에 저장된 코드 테이블에서 얻어지거나 또는 복합적 논리 회로를 통해 수행되는 다음 상태(following state) 정보(22)는 도 1의 오른쪽의 한 인코더인 각각 인코더(16 또는 20)로부터 다음 인코더(16 또는 20)까지 전해진다.이러한 상태 정보는 다음 데이터 워드를 인코딩을 위한 코드 워드를 선택하는 다음 상태를 나타낸다. 패리티 관련 제약된 인코더(20)의 경우에서 다음 상태 정보(22)의 출력은 버퍼 메모리(24)에 우선 저장된다. 그 다음에, 다음 데이터 세그먼트의 데이터 워드 1를 인코딩하는 동안에 버퍼 메모리의 출력에 저장된 상태 정보(22a)는 인코더(10)의 제 1 정규 제약된 인코더(16)에 전해진다. 그러므로, 제 1 정규 제약된 인코더(16)는 현재 데이터 세그먼트의 데이터 워드 1의 형식으로 입력과 이전 데이터 세그먼트를 인코딩하는 동안 패리티 관련 제약된 인코더(20)의 출력으로부터 얻어진 상태 정보를 갖는다. 맨 처음 데이터 세그먼트를 에 대하여 제 1 정규 제약된 인코더(16)의 초기의 다음 상태는 상태 1(S1)로 가정된다. 인코더(16,20)는 동일한 FSM에 의거한 그 인코딩 과정은 성분 코드 워드 사이에 더 중복된 비트의 도입 없이 (d,k)제약을 만족시키는 것을 보증한다.
그 장치에 패리티 검사 유닛(unit)(26)을 더 포함하여 K 선행 정규 제약된 코드 워드를 구성하는 시퀀스의 패리티 검사 비트를 계산한다[단계 (S106)]. 주어진 데이터 시퀀스에 대한 패리티 검사 비트의 계산은 S. Lin and D.J. Costello, Error Control Coding Fundamentals and Applications, Prentice-Hall Inc., 1983 에 기술된 것에 따라 선형 블럭 코드를 인코딩하기 위한 정규 방법에 따른다. 얻어진 패리티 검사 비트(28)는 패리티 관련 인코더(20)에 전해지고 K+1번째 데이터 워드를 패리티 관련 제약된 코드 워드(18a)로 인코딩하는 것을 안내하고 결합되어있는 제약된 워드 위에 소정의 패리티 검사 제약을 실현하기 위해 사용된다. 정규 제약된 코드 워드(14a)와 패리티 관련 제약된 코드 워드(18a)가 함께 연결되어[단계 (S110)] NRZI 포맷의 결합되어있는 제약된 코드 워드(30a)로 귀착한다. 다음에 인코더(10)은 입력 유저 데이터 시퀀스의 다음 데이터 세그먼트를 속행한다. 얻어진 N-비트 제약된 패리티 검사 코드 워드의 연결은 데이터 시퀀스을 NRZI 포맷으로 인코딩한 채널을 형성한다.
정규 제약된 코드의 설계에서 제약된 코드의 비율은 거의 커패시티에 가깝게 얻어지기 때문에 이 실시예는 Immink(상기 참조) 등에 의해 제안된 FSM를 사용한다. 높은 인코딩 효율을 달성하기 위해 FSM의 각 상태에서 하나의 데이터 워드는 오직 한 코드 워드에만 맵핑된다. 다른 FSM 또한 본 발명의 실시예와 관련하여 사용할 수 있다. 그러나, 얻어진 코드율은 Immink(상기 참조) 등에 의해 제안된 FSM을 사용하는 것만큼 높지 않을 수 있다.
패리티 관련 제약된 코드의 설계에서 다양한 패리티 검사 비트를 가지는 후 보 코드 워드의 세트를 설계하기 위해서 이 실시예는 정규 제약된 코드의 동일한 FSM에 의거한 새로운 접근법을 사용한다. 소정의 패리티 검사 다항식이나 또는 패리티 검사 행렬에 대응되는 후보 코드 워드의 다양한 패리티 검사 비트는 특정 시스템의 우세 에러 이벤트나 에러 이벤트 결합을 검출하기 위해 정의된다. 이 실시예에서 패리티 관련 제약된 코드의 설계를 위한 주요 단계는 다음과 같다(도 3 참조).
(1) 커패시티 접근 코드 비율를 달성하기 위해 첫째로 k 제약(예를 들면, d=1를 위한 k=1보다 크고 d=2를 위한 k=10보다 큰)을 해제하고[단계 (S202)] 패리티 관련 제약된 코드를 설계한다[단계 (S204)][예를 들면, Immink(상기 참조) 등에 의해 제안된 FSM을 사용하는 것과 아래 기술되는 기준 세트에 따르는 것].후보 코드 워드는 정규 제약된 코드와 동일한 FSM에 의거하여 구성된다. 유저 데이터의 동일한 길이를 위해서 패리티 관련 제약된 코드 워드의 길이는 특정 패리티 검사 제약을 달성하기 위하여 정규 제약된 코드 워드보다 더 길어야할 필요가 있다.
(2) 주어진 패리티 검사 다항식이나 패리티 검사 행렬에 의거하고 정규 제약된 코드 워드를 구성하는 시퀀스의 길이를 고려하여 단계 (1)으로부터 얻은 후보 코드 워드의 패리티 검사 비트를 비교하고[단계 (S206)] 그들을 코드 워드 세트의 그룹으로 나눈다[단계 (S208)]. 총 2p개의 코드 워드 세트가 얻어진다.
(3) 2p개의 코드 워드 세트를 함께 연결하고[단계 (S210)] 패리티 관련 제약된 코드의 인코딩/디코딩을 위한 코드 테이블를 형성한다[단계 (S212)]. 정규 제약 된 코드의 코드 테이블와 비교하여 패리티 관련 제약된 코드를 위해 설계된 코드 테이블은 2p의 인수에 의해 확대된다. FSM의 각 상태에서 2p개의 후보 코드 워드의 세트는 하나의 유저 데이터 워드에 개별적으로 맵핑된다. 도 1에 도시된 바와 같이, 인코딩하는 동안 먼저 정규 제약된 코드 워드의 시퀀스의 패리티 검사 비트가 계산되고 동일한 패리티 검사 비트를 가지는 패리티 관련 코드 워드는 후보 코드 워드 세트로부터 선택되고 유저 데이터 워드에 할당된다.
(4) '0'의 롱 런(long run)으로 시작하거나 끝나는 코드 워드를 삭제하는 것을 통하여 코드 테이블를 최적화함으로써 또는 FSM에서 상태 수를 증가함으로써 단계 (3)으로부터 얻어진 테이블에서 후보 코드 워드의 k 제약을 원래의 k에 가까이 강화한다[단계 (S214)].
본 실시예는 패리티 관련 제약된 코드의 설계를 안내하는 기준의 세트를 제공한다. 그런 기준은 주어진 패리티 검사 제약에 대한 코드 테이블에서의 상태 수뿐만 아니라 코드 크기의 선택에 명백한 지시를 준다. 그들은 아래에 요약된다.
i. d=1 코드에 관하여
유저 데이터 비트 m과 패리티 검사 비트 p를 가지는 패리티 관련 제약된 코드의 설계를 대하여 동일한 유형의 상태 그룹으로 이루어진 상태 세트를 남겨놓은 후보 코드 워드의 수는 적어도 상태 세트 내 상태 수의 2m+p배는 되어야한다. Immink(상기 참조) 등에 의해 제안된 d=1의 FSM 코드에 관하여 우리는 다음의 기준을 얻을 수 있다.
Figure 112007038511560-PCT00002
여기서 C00은 '0'으로 시작하고 끝나는 후보 코드 워드의 세트를 나타내고 C01은 '0'으로 시작하고 '1'로 끝나는 후보 코드 워드의 세트를 나타내며 C10은 '1'로 시작하고 '0'으로 끝나는 후보 코드 워드의 세트를 나타내고 C11은 '1'로 시작하고 끝나는 후보 코드 워드의 세트를 나타낸다. 여기서 |Cxy|는 Cxy의 크기를 나타낸다.
d=1 코드에 대하여 후보 코드 워드는 상태 S로 나눠지고 또 두 상태 세트로 분류된다. 제 1 상태 세트는 상태 S1를 가지며 '0'으로 시작하는 후보 코드 워드를 포함한다. 제 2 상태 세트는 상태 S2=S-S1를 포함하며 '0' 또는 '1' 중 하나로 시작하는 후보 코드 워드를 포함한다. 인코더 상태 S와 S1의 수뿐만 아니라 m,p를 주어짐에 따라 기준 (2),(3)은 패리티 관련 제약된 코드에 대해 얻어질 가장 작은 후보 코드 워드의 길이 n을 나타낸다. 대응하는 코드율은 Rp=m/n이다.
후보 코드 워드의 길이 n은 다음의 기준에 의해 더 결정된다. 따라서, 동일한 패리티 검사 비트를 가지는 후보 코드 워드의 각 세트에 대하여 상태 세트를 남겨놓은 후보 코드 워드의 수는 적어도 상태 세트 내의 상태 수의 2m은 되어야 한다. 그러므로 그 기준은 다음에 의해 주어진다.
Figure 112007038511560-PCT00003
여기서
Figure 112007038511560-PCT00004
00은 '0'으로 시작하고 끝나는 동일한 패리티 검사 비트를 가지는 후보 코드 워드의 세트를 나타내고
Figure 112007038511560-PCT00005
01은 '0'으로 시작하고 '1'로 끝나는 동일한 패리티 검사 비트를 가지는 후보 코드 워드의 세트를 나타내며
Figure 112007038511560-PCT00006
10은 '1'로 시작하고 '0'으로 끝나는 동일한 패리티 검사 비트를 가지는 후보 코드 워드의 세트를 나타내고
Figure 112007038511560-PCT00007
11은 '1'로 시작하고 끝나는 동일한 패리티 검사 비트를 가지는 후보 코드 워드의 세트를 나타낸다. 여기서, |
Figure 112007038511560-PCT00008
xy|는
Figure 112007038511560-PCT00009
xy의 크기를 나타낸다.
동일한 패리티 검사 비트를 가지는 후보 코드 워드의 각 세트에 대하여 각 후보 코드 워드는 다음 유저 데이터 워드에 대한 코드 워드를 선택하기 위하여 다음 상태를 지정하는 할당된 다음 상태(following state)를 가진다. '0'으로 끝나는 동일한 후보 코드 워드(즉, 세트
Figure 112007038511560-PCT00010
00,
Figure 112007038511560-PCT00011
10에서의 후보 코드 워드)는 제 1 및 제 2 상태 세트에서 S 다른 다음 상태까지 할당될 수 있고 그러므로 S 다른 유저 데이터 워드에 맵핑하는데 사용될 수 있다. '1'로 끝나는 동일한 후보 코드 워드( 즉, 세트
Figure 112007038511560-PCT00012
01,
Figure 112007038511560-PCT00013
11에서의 후보 코드 워드)는 제 1 상태 세트에서 S1 다음 상태까지만 할당될 수 있으므로 S1 다른 유저 데이터 워드에 맵핑하는데 사용할 수 있다. 인코더에서 정의된 것처럼 데이터 워드에의 후보 코드 워드의 특정 맵핑은 설계 선택의 문제이고 시스템 동작에 중요치 않다. 그러나, 확실한 디코딩을 보증하기 위해서 다른 상태는 동일한 후보 코드 워드를 포함할 수 없다.
ii. d=2 코드에 관하여
유사하게 d=2 제약에 관하여 패리티 관련 제약된 코드를 설계하기 위한 기준은 다음과 같다.
Figure 112007038511560-PCT00014
여기서 후보 코드 워드 세트 C의 아래 첨자의 두 선행(leading) 기호는 후보 코드 워드의 선행 두 비트를 나타내고 반면에 아래 첨자의 두 후행(trailing) 기호는 후보 코드 워드의 후행 두 비트를 나타낸다. 여기서, |Cxyzw|는 Cxyzw의 크기를 나타낸다.
d=2 코드에 대하여 후보 코드 워드는 상태 S로 나눠지고 또 세 상태 세트로 분류된다. 제 1 상태 세트는 상태 S1를 가지며 '00'으로만 시작하는 후보 코드 워드를 포함한다. 제 2 상태 세트는 상태 S2를 포함하며 '10','01' 또는 '00' 중 하나로 시작하는 후보 코드 워드를 포함한다. 제 3 상태 세트는 상태 S3=S-S1-S2를 포함하며 '01' 또는 '00' 중 하나로 시작하는 후보 코드 워드를 포함한다. 인코더 상태 S 와 S1의 수뿐만 아니라 m,p를 주어짐에 따라 기준 (6),(7),(8)은 패리티 관련 제약된 코드에 대해 얻어질 가장 작은 후보 코드 워드의 길이 n을 나타낸다. 대응하는 코드율은 Rp=m/n이다.
후보 코드 워드의 길이 n은 동일한 패리티 검사 비트를 가지는 후보 코드 워드의 각 세트의 설계를 이끄는 다음의 기준에 의해 더 결정된다.
Figure 112007038511560-PCT00015
여기서,
Figure 112007038511560-PCT00016
는 동일한 패리티 검사를 가지는 후보 코드 워드의 세트를 나타내고 |
Figure 112007038511560-PCT00017
xyzw|는
Figure 112007038511560-PCT00018
xyzw의 크기를 나타낸다.
동일한 패리티 검사 비트를 가지는 후보 코드 워드의 각 세트에 대하여 '00'으로 끝나는 동일한 후보 코드 워드(즉, 세트
Figure 112007038511560-PCT00019
0000,
Figure 112007038511560-PCT00020
1000,
Figure 112007038511560-PCT00021
0100에서의 후보 코드 워드)는 S 다른 다음 상태까지 할당될 수 있으므로 S 다른 유저 데이터 워드에 맵핑하는데 사용될 수 있다. '10'으로 끝나는 동일한 후보 코드 워드( 즉, 세트
Figure 112007038511560-PCT00022
0010,
Figure 112007038511560-PCT00023
1010,
Figure 112007038511560-PCT00024
0110에서의 후보 코드 워드)는 제 1 상태 세트에서 S1 다음 상태까지만 제 3 상태에서는 S3 상태까지만 할당될 수 있으며 그러므로 S1+S3 다른 유저 데 이터 워드에 맵핑하는데 사용될 수 있다. '01'로 끝나는 동일한 후보 코드 워드( 즉, 세트
Figure 112007038511560-PCT00025
0001,
Figure 112007038511560-PCT00026
1001,
Figure 112007038511560-PCT00027
0101에서의 후보 코드 워드)는 제 1 상태 세트에서 S1 다음 상태까지만 할당될 수 있으며 그러므로 S1 다른 유저 데이터 워드에 맵핑하는데 사용될 수 있다. 인코더에서 정의된 것처럼 데이터 워드에의 후보 코드 워드의 특정 맵핑은 설계 선택의 문제이고 시스템 동작에 중요치 않다. 그러나 확실한 디코딩을 보증하기 위해서 다른 상태는 동일한 후보 코드 워드를 포함할 수 없다.
더 구체적인 예가 패리티 관련 제약된 코드를 설계하기 위한 전체 처리과정을 이해하는데 도움이 될 수 있다. m=2와 단일 비트 짝수 패리티 검사(즉 p=1)를 가지는 짧은 d=1 코드의 설계를 가정한다. 인코더 상태 수는 S=5, S1=3, S2=2로 가정된다. 먼저 가능한 가장 작은 후보 코드 워드의 길이 n를 결정하기 위하여 기준 (2), (3)을 이용한다. 분석적인 접근(Kees A. Schouhamer lmmink and K. Cai, "On the Size of a Type of RLL Codes," proceedings of the 25th symposium on information theory in the Benelux, Kerdrade, The Netherlands. June 2004, pp 39-46참조)이나 컴퓨터 열거(enumeration)를 이용하여 우리는 후보 코드 워드의 길이 n=5를 얻을 수 있다. 다음으로 모든 유효한 길이 n=5의 d=1 코드 워드를 생성하고 후보 코드 워드의 두 세트로 분배한다. 후보 코드 워드의 첫번째 세트는 짝수 패리티를 가지는 반면에 후보 코드 워드의 두번째 세트는 홀수 패리티를 가진다.후보 코드 워드의 각 세트에 대하여 기준 (4), (5)에 따라 후보 코드 워드를 분배한다. 얻어진 코드 테이블은 도 4에 기재되어있다.
도 4는 단일 비트 짝수 패리티 검사를 가지는 비율 2/5의 d=1 패리티 관련 제약된 코드에 대한 코드 테이블를 나타낸다. 제 1 열은 유저 데이터 워드의 십진 표기이다(즉, 00,01,10,11은 각각 0,1,2,3으로 목록된다.). 제 2 ~ 제 11 열의 요소는 짝수 패리티를 가지는 후보 코드 워드와 그 관련된 다음 상태 정보에 해당한다. 특히 제 2, 제 4, 제 6, 제 8, 및 제 10 열은 1~5 상태에서 각각 유저 데이터 워드에 맵핑되는 해당 후보 코드 워드이다. 제 3, 제 5, 제 7, 제 9, 및 제 11 열은 각각 제 2, 제 4, 제 6, 제 8, 및 제 10 열에서의 후보 코드 워드와 관련되는 다음 상태 정보이다. 동일한 방식으로 홀수 패리티를 가지는 후보 코드 워드와 그 관련된 다음 상태 정보는 제 12 ~ 제 21 열에서 보여준다. 동일한 패리티를 가지는 후보 코드 워드의 각 세트에 대하여 '0'으로 끝나는 동일한 후보 코드 워드는 S=5 다른 유저 데이터 워드까지 할당될 수 있는 반면에 '1'로 끝나는 동일한 후보 코드 워드는 S=3 다른 유저 데이터 워드까지만 할당될 수 있다. 게다가, 다른 인코더 상태는 공통의 후보 코드 워드를 가질 수 없다. 이러한 이유로 도 4에서 후보 코드 워드는 S=5의 다음 상태에 할당되지 않는다.
현재 유저 데이터 워드[도 1의 (18)]가 '11'(이진수-즉 십진수 3)이라고 가정하여 인코딩하는 동안 발생할 수 있는 모든 가능한 경우가 도 5에 리스트된다. 처음 두 열은 각각 정규 제약되어 코딩된 시퀀스의 가능한 패리티 검사 결과[도 1의 (28)]와 이전 코드 워드[도 1의 코드 워드(K)]와 관련된 다음 상태 정보(22)를 나타낸다. 제 3 및 제 4 열의 요소는 얻어진 현재 코드 워드[도 1의 코드 워드(18a)]와 현재 코드 워드와 관련된 다음 상태 정보(22)에 해당한다.
결합되어 있는 제약된 패리티 검사 코드는 두 코드 테이블, 즉 정규 제약된 코드의 코드 테이블와 패리티 관련 제약된 코드의 코드 테이블에 의거하여 구성된다. 도 1에 도시된 바와 같이, 정규 제약된 코드 워드가 먼저 구성되고 연결된다. 패리티 검사 다항식이나 패리티 검사 행렬에 의거하여 정규 제약된 코드 워드 시퀀스의 패리티 검사 비트가 계산된다. 다음에 동일한 패리티 검사 비트를 가지는 패리티 관련 제약된 코드 워드가 정규 제약된 코드 워드와 직접적으로 연결하기 위하여 후보 코드 워드 세트로부터 선택된다. 그러므로, 변조 제약과 패리티 검사 제약 모두를 만족하는 결합된 코드 워드가 구성된다.
두 유형의 성분 코드가 유효한 FSM에 의거하여 설계되었기 때문에 설계되어진 제약된 패리티 검사 코드의 비율은 섀넌 커패시티에 가깝고 추가적인 중복 비트가 (d,k) 제약을 유지하기 위해 두 성분 코드 워드 사이에 삽입되는 것이 요구되지 않는다. 게다가, 패리티 관련 제약된 코드 워드는 또한 정규 제약된 코드 워드에서 패리티 검사 다항식이나 패리티 검사 행렬과 일관된 패리티 검사에 의해 보호된다. 이것은 에러가 전체 데이터 블럭에 거처 동등하게 잘 정정될 수 있다는 것을 보증한다. 그러므로 패리티 관련 제약된 코드 워드로 인한 오류 전파는 방지된다.
도 6은 상기 제약된 패리티 검사 인코더(10)를 사용한 예의 시스템에 대하여 제약된 패리티 검사 디코더(40)의 형식으로의 디코더 장치의 실시예를 도시한다. 예를 들면, 도 7의 순서도에 나타낸 처리에 따라 동작하는 디코더(40)는 인코더(10)의 역처리(reverse process)를 수행하고 N-비트 제약된 패리티 검사 코드 워드(30a)로부터 유저 데이터 코드 워드의 M-비트 세그먼트(12)를 복구한다. 예시된 바와 같이, N-비트 제약된 패리티 검사 코드 워드(30a)는 개별적으로 디코딩되는 K+1 코드 워드(14a,18a)로 분리된다. K 정규 제약된 코드 워드(14a)는 K 정규 제약된 디코더(42)에 의해 K 데이터 워드(14)로 디코딩된다[단계 (S304)]. K+1번째 패리티 제약된 코드 워드(18a)는 패리티 관련 제약된 디코더(44)에 의해 K+1번째 데이터 워드(18)로 디코딩된다[단계 (S306)]. 정규 제약된 디코더(42)는 Immink(상기 참조) 등에 의해 묘사되는 것처럼 작동한다. 정규 제약된 코드와 패리티 관련 제약된 코드는 동일한 FSM에 의거하기 때문에 이 실시예에서 패리티 관련 제약된 디코더(44)의 작동은 일반적으로 동일하지만 관련 저장된 코드 테이블은 다르다. 도시된 바와 같이, 정규 제약된 디코더(42)와 패리티 관련 제약된 디코더(44)의 입력은 현재 코드 워드와 다음 코드 워드 모두이다. 디코더(42,44)는 먼저 다음 코드 워드를 검열하고 저장된 코드 테이블를 통하여 그것의 상태 정보를 읽는다. 그 다음에 이 정보를 현재 코드 워드의 정보와 결합하면서 디코더(42,44)는 코드 테이블에 의거한 현재 코드 워드에 관련하여 유저 데이터 워드를 유니크하게 결정할 수 있다. 패리티 관련 제약된 디코더(44)의 경우에서 입력 다음 상태 정보는 코드 워드 K+2[즉, 다음 N-비트 코드 워드의 코드 워드 1]를 주시하고 코드 워드 K+2에 관련한 정규 제약된 코드 테이블를 검사함으로써 얻어진다. 그러므로 N-비트 제약된 패리티 검사 코드 워드를 디코딩하기 위해서 디코더(40)는 다음 N-비트 코드 워드의 정규 제약된 코드 워드를 한번 이상 검열하는 것이 필요하다. 게다가 정규 제약된 코드의 하나의 코드 테이블에만 의거하여 동작하는 정규 제약된 디코더(42)와 달리 패리티 관련 제약된 디코더(44)의 동작은 두 코드 테이블에 의거한다. 하나의 코드 테이블은 다음 코드 워드의 다음 상태를 결정하기 위해 사용하는 정규 제약된 코드 테이블이지만 다른 코드 테이블은 다음 코드 워드의 얻어진 상태 정보를 사용하는 현재 코드 워드를 디코딩하는데 사용하는 패리티 관련 제약된 코드 테이블이다. 이런 방식에서 N-비트 제약된 패리티 검사 코드 워드는 M-비트 유저 데이터 세그먼트로 디코딩된다. 그 다음에 디코더(40)는 채널 검출된 데이터 시퀀스로 불리는 직렬 입력 데이터에서 다음 N-비트 코드 워드를 계속할 것이다. 두 유형의 디코더(42,44)의 동작에서의 유사점은 하드웨어 수행을 간단하게 한다.
3. 제 2 실시예에 따른 코드 설계 방법
코드 설계의 위의 설명에서 코딩된 비트는 NRZI 포맷으로 모두 정의된다. 본 발명을 NRZ 포맷으로 코드를 설계하기 위한 접근법을 더 제안한다. 다음의 이유때문에 그것은 NRZ 포맷으로 데이터를 인코딩하는 것이 나을 수 있다.
한편, 채널 사이드 정보뿐만 아니라 제약된 패리티 검사 코드 워드의 검출된 시퀀스의 패리티 검사 결과를 사용함으로써 채널 검출기의 출력 시퀀스에서 일어나는 에러를 정정할 수 있다. 역 프리코딩(inverse precoding)의 과정은 데이터 시퀀스가 검출되는 채널에서 에러를 전파하고 에러 이벤트의 길이를 확대할 수 있다. 이것은 에러 검출을 위해 요구되는 패리티 검사 비트 수의 증가를 야기시킬 것이다.
다른 한편, 채널 검출기의 출력에서 에러 정정을 실행하거나 또는 제약된 패리티 검사 코드에 대하여 후처리하는 것은 역 프리코더의 출력에서 하는 것보다 더 간단하고 더 수월하다.
NRZ 포맷으로 제약된 패리티 검사 코드를 구성하기 위해서 정규 제약된 코드의 코드 테이블은 NRZI 포맷으로의 정규 제약된 코드의 것과 동일하게 남아 있을 수 있다. 그러나, 패리티 관련 제약된 코드에 대한 코드 테이블은 다른 방법으로 설계된다. 상세한 과정은 다음과 같다.
먼저, 앞의 상세한 설명에 뒤따르는 NRZI 포맷으로 패리티 관련 제약된 코드의 후보 코드 워드를 설계한다. 둘째로 NAZI 영역(domain)에서 보다는 가정된 초기의 NRZ 비트에 의거한 NRZ 영역에서 후보 코드 워드의 패리티 검사 비트를 계산한다. 셋째로 NRZI 후보코드 워드를 NRZ 영역에서 그들의 패리티 검사 비트에 따라 다른 세트로 분배한다. 게다가, NRZ 포맷으로 패리티 관련 제약코드의 인코딩/디코딩에 대한 코드 테이블를 형성하기 위해 두 가지 다른 초기의 NRZ 비트(즉 '+1','-1')에 대하여 복잡한 인코딩/디코딩을 간단하게 하기 위해서 발탁된 실시예는 동일한 코드 테이블를 사용한다. 그러나, 코드 테이블에서 동일한 패리티 검사 비트를 가지는 코드 워드 세트의 순서는 다른 초기의 NRZ 비트에 따라 조정될 필요가 있을 수 있다. NRZ 포맷으로 패리티 관련 제약된 코드의 설계를 이끄는 기준은 NRZI 포맷 코드의 설계를 이끄는 기준과 동일하고 후보 코드 워드의 패리티 검사 비트가 NRZI 영역에서보다는 NRZ 영역에서 계산된다는 차이점만 있다.
도 8은 NRZ 포맷으로 제약된 패리티 검사 코드를 인코딩하는 인코더(50)의 도식적인 블럭도를 나타낸다. 묘사된 것과 같이 유저 데이터의 M-비트 세그먼트(12)는 K+1 데이터 워드로 분할된다. 이러한 데이터 워드 사이에 K 선행 데이터 워드(14)는 정규 제약된 인코더(16)에 의해 개별적으로 인코딩된다. 인코더 출력에 서 K 정규 제약된 코드 워드(14a)가 얻어진다. K+1번째 데이터 워드(18)는 패리티 관련 제약된 코드 워드(54)[제 1 실시예의 인코더에 의해 생성되는 패리티 관련 제약 코드 워드(도 1의 18a)와 다른]를 출력하는 패리티 관련 제약된 인코더(52)에 의해 인코딩된다. 데이터 워드가 두 성분 코드 워드(14a,54)로 인코딩하는 동안에 예를 들면, ROM에 저장된 코드 테이블에서 얻어지거나 또는 복합적 논리 회로를 통해 수행되는 다음 상태 정보(22)는 각 인코더(16,52)로부터 다음 인코더(16,52)까지 전해진다. 이러한 상태 정보(22)는 다음 데이터 워드를 인코딩하기 위한 코드 워드를 선택하는 것으로부터 다음 상태를 나타낸다. 패리티 관련 제약된 인코더(52)의 경우에서 먼저 다음 상태 정보(22)의 출력은 버퍼 메모리(24)에 저장된다. 그 다음에 버퍼 메모리의 출력에서 저장된 상태 정보(22a)는 다음 데이터 세그먼트의 데이터 워드 1를 인코딩하는 동안 인코더(50)의 제 1 정규 제약된 인코더(16)에 전해진다. 그러므로, 제 1 정규 제약된 인코더(16)는 그것의 입력으로서 현재 데이터 세그먼트의 데이터 워드 1과 이전 데이터 세그먼트를 인코딩하는 동안 패리티 관련 제약된 인코더(52)의 출력으로부터 얻어진 상태 정보를 갖는다. 맨 처음 데이터 세그먼트를 대하여 제 1 정규 제약된 인코더(16)의 초기의 다음 상태(following state)는 상태 1(S1)로 가정된다. 인코더(16,52)는 동일한 FSM에 의거하고 그 인코딩 과정은 성분 코드 워드 사이에 더 중복된 비트의 도입 없이 (d,k) 제약을 만족시키는 것을 보증한다.
더 특히 먼저 선행 K 정규 제약된 코드와 관련한 유저 데이터 워드(14)는 NRZI 포맷으로 인코딩된다. 다음에 결과인 제약된 코드 워드(14a)는 프리코딩한 제약된 코드 워드(14b)를 생성하기 위해 제 1 프리코더(58)를 통하여 NRZ 포맷으로 전환된다. 선행 K 프리코딩한 정규 제약된 코드 워드를 포함하는 시퀀스의 패리티 검사 비트(60)는 도 1에서와 동일한 패리티 검사 시스템를 통하여 계산된다. 프리코딩한 제약된 코드 워드(14b) 외에 또 제 1 프리코더 또한 K번째 프리코딩한 정규 제약된 코드 워드의 마지막(last) NRZ 비트(62)를 출력한다. K번째 프리코딩된 코드 워드의 마지막 NRZ 비트(62)뿐 아니라 NRZ 패리티 검사 비트(60)에 의거한 패리티 관련 제약된 인코더(52)는 K+1번째 데이터 워드(18)에 동일한 NRZ 패리티 검사 비트를 가지는 NRZI 포맷으로의 그것의 후보 코드 워드를 할당한다. 얻어진 패리티 관련 제약된 코드 워드(54)는 NRZ 포맷의 정규 제약된 코드 워드(14b)와 연결되기 전에 제 2 프리코더(64)를 통하여 NRZ 포맷으로 전환될 필요가 있다. 이러한 방식에서 NRZ 포맷의 N-비트 제약된 패리티 검사 코드 워드(30b)는 얻어진다. 제 2 프리코더(64)는 프리코딩된 K+1번째 코드 워드(18b)뿐 아니라 프리코딩된 K+1번째 코드 워드의 마지막 NRZ 비트(66)도 출력한다. 처음에 마지막 NRZ 비트(66)은 버퍼 메모리(68)에 저장된다. 그 다음에 버퍼 메모리(68)의 출력에서 저장된 마지막 NRZ 비트(66a)는 인코더(50)의 제 1 프리코더(58)를 지나고 다음 데이터 세그먼트를 인코딩하는데 사용된다. 바꿔 말해서, 제 1 프리코더(58)는 그것의 입력으로서 정규 제약된 코드 워드(14a)와 이전 데이터 세그먼트로부터 프리코딩된 K+1번째 코드 워드의 마지막 NRZ 비트(66a)를 가진다. 맨 처음 데이터 세그먼트에 대하여 제 1 프리코더(58)에 대한 초기의 NRZ 비트는 '-1'로 가정된다. 동일한 선에서 입력 유저 데이터 시퀀스 내의 후속 유저 데이터 세그먼트는 인코더(50)에 의해 하나씩 인코딩되고 얻어진 N-비트 제약된 패리티 검사 코드 워드는 NRZ 포맷의 채널 인코딩된 데이터 시퀀스를 형성한다.
상기 상세한 설명에서처럼 그리고, 도 6 및 도 7에 나타낸 바와 같이, 동일한 선에서 디코딩하는 동안 먼저 검출된 NRZ 데이터 시퀀스는 역 프리코더를 통하여 NRZI 포맷으로 전환되고 그 다음에 결과인 NRZI 시퀀스는 정규 제약된 코드와 패리티 관련 제약된 코드의 코드 테이블에 의거하여 디코딩된다.
상기 실시예에서 유저 데이터는 데이터의 원래 순서로 일어나는 인코딩과 원래 순서 또는 역 순서로의 디코딩에 따라서 한 세그먼트씩 인코딩되고 디코딩된다. 뒤따르는 실시예에서 인코딩은 역 순서로 그리고 디코딩은 역 순서 또는 정 순서일 수 있다.
두 데이터의 경계에서 상기 실시예는 현재 데이터 세그먼트의 첫번째 데이터 워드를 인코딩하기 위해 이전 데이터 세그먼트를 인코딩하는 동안 마지막 성분 코드 인코더에 의해 생성된 다음 상태 정보를 사용한다. 첫번째 데이터 세그먼트의 첫번째 데이터 워드를 인코딩하기 위해 초기의 입력 다음 상태 정보는 상태 1(S1)으로 가정된다.
두 데이터 세그먼트의 경계에서 상기 실시예는 현재 제약된 패리티 검사 코드 워드의 마지막 성분 코드 워드를 디코딩하기 위해서 다음의 제약된 패리티 검사 코드 워드의 제 1 성분 코드 워드를 이용한다.
게다가 상기 실시예에서 각 세그먼트의 시작과 끝에서의 다음 상태 정보는 인코딩 디코딩 모두에서 인접한 세그먼트로부터 얻어진다. 뒤따른 실시예에서 초기의 다음 상태 정보는 인접하지 않은 세그먼트, 예를 들면 두개 떨어진 곳의 세그먼트로부터 파생될 수 있다. 그러나, 인코딩에서 다음 상태 정보를 두번째 세그먼트에 제공하는데 사용되는 동일한 첫번째 세그먼트는 일반적으로 디코딩에서 동일한 두번째 세그먼트로부터 다음 상태 정보가 제공되어야 한다.
4. 새로운 코드의 예
상기 제안된 코드 설계 방법과 본 발명의 범위 내의 다른 방법들을 이용하여 예를 들면, 광학 기록 시스템에 대한 여러 새로운 제약된 패리티 검사 코드가 설계될 수 있다. 다음에 여러 그런 새로운 코드의 예가 예시된다. 이러한 예에서 에러 검출에 요구되는 패리티 검사 비트 수를 줄일 수 있고 에러 정정 또는 후처리를 간단하게 할 수 있기 때문에 코드는 NRZ 포맷으로 설계된다.
예를 들면, 상기 실시예를 이용하여 새로운 (1,18) 제약된 단일 비트 짝수 패리티 검사 코드는 설계될 수 있다. Immink(상기 참조) 등에 의해 묘사되는 것처럼 5-상태(즉, S=5, S1=3, S2=2) FMS를 가지는 비율 9/13 (1,18) 코드는 그 비율이 BD 또는 AOD 시스템에 적용된 약정의 비율 2/3(1,7) 코드보다 3.85% 더 높기 때문에 정규 제약된 코드로서 사용된다.패리티 관련 제약된 코드에 관하여 상기 코드 설계 방법을 사용함으로써 새로운 비율 12/19 (1,18)의 5-상태(즉, S=5, S1=3, S2=2)코드는 설계될 수 있다. 비율 2/3(1,7) 코드에 관하여 비율 12/19(1,18) 코드 는 패리티 검사당 1 채널 비트를 성취한다.
도 9는 비율 12/19(1,18) 패리티 관련 제약된 코드에 대한 S=5의 인코더 상태에서의 후보 코드 워드의 분포를 나타낸다. 이 도면에서 코드는 NRZ 포맷으로 설계된다. 그러므로 후보 코드 워드의 패리티 검사 비트는 '-1' 또는 '+1' 중 하나의 가정된 초기 NRZ 비트에 의거하여 계산되고 얻어진 패리티 검사 비트는 제 1 행의 그룹 내의 제 1 및 제 2 항목으로 각각 나타낸다. 길이 19의 총 10946개의 유효한 d=1 코드 워드 사이에 '-1'의 가정된 초기 NRZ 비트를 가지는 짝수 패리티(또는 '+1'의 가정된 초기 NRZ 비트를 가지는 홀수 패리티)를 가지는 2135+1275+1275+805 =5490개의 후보 코드 워드가 있다는 것을 먼저 찾을 수 있다. 여기서, '-1'의 가정된 초기 NRZ 비트를 가지는 홀수 패리티(또는 '+1'의 가정된 초기 NRZ 비트를 가지는 짝수 패리티)를 가지는 2046+1309+1309+792=5456개의 후보 코드 워드가 있다. 도 9에서 각 테이블은 S=5의 인코더 상태 사이에 동일한 패리티를 가지는 후보 코드 워드가 있다. 예로서 '-1'의 가정된 초기 NRZ 비트를 가지는 짝수 패리티(또는 '+1'의 가정된 초기 NRZ 비트를 가지는 홀수 패리티)르 가지는 모든 후보 코드 워드를 포함하는 첫번째 테이블을 취하여 이 테이블에서 코드 워드 세트
Figure 112007038511560-PCT00028
00,
Figure 112007038511560-PCT00029
01,
Figure 112007038511560-PCT00030
10,
Figure 112007038511560-PCT00031
11에서의 후보 코드 워드의 총수는 각각 제 2 ~ 제 5 열의 제 3 행에 각각 나타낸다. S=5의 인코더 상태 사이에 그러한 후보 코드 워드의 분포는 각각 제 4 ~ 제 8 행에 나타난다. 상술된 것처럼 상태 1, 2, 및 3은 '0'으로만 시작하는 후보 코드 워드(즉, 세트
Figure 112007038511560-PCT00032
00,
Figure 112007038511560-PCT00033
01에서의 후보 코드 워드)를 포함하는 제 1 상태 세트에 서 서브 상태(sub-state)이다. 상태 4 및 5는 '0' 또는 '1' 중 하나로 시작하는 후보 코드 워드(즉, 세트
Figure 112007038511560-PCT00034
00,
Figure 112007038511560-PCT00035
01,
Figure 112007038511560-PCT00036
10,
Figure 112007038511560-PCT00037
11에서의 후보 코드 워드)를 포함하는 제 2 상태 세트에서 서브 상태이다. 후보 코드 워드는 '0'으로 끝나는 동일한 코드 워드(즉, 세트
Figure 112007038511560-PCT00038
00,
Figure 112007038511560-PCT00039
10에서의 후보 코드 워드)는 S=5의 다른 유저 데이터 워드까지 할당될 수 있는 반면에 '1'로 끝나는 동일한 후보 코드 워드(즉, 세트
Figure 112007038511560-PCT00040
01,
Figure 112007038511560-PCT00041
11에서의 후보 코드 워드)는 S=1의 다른 유저 데이터까지만 할당될 수 있다는 제한에 따라 분포된다. 게다가 다른 상태는 동일한 후보 코드 워드를 포함할 수 없다. 예를 들면, 세트
Figure 112007038511560-PCT00042
00이 상태 1에 할당된 605개의 후보 코드 워드, 상태 2에서의 599개의 후보 코드 워드, 및 상태 3에서의 603개의 후보 코드 워드를 가지고 있다. 할당된 후보 코드 워드의 총 수는 세트
Figure 112007038511560-PCT00043
00에서의 후보 코드 워드의 총 수 2135보다 작은 605+599+603=1807이다. 반면에 상태 1에 대한 후보 코드 워드의 총 수는 212=4096 유저 데이터 워드에 맵핑하기 충분한 605*5+358*3=4099이다. 유사하게 유저 데이터 워드에 할당할 수 있는 최소 4096개의 후보 코드 워드가 있는 S=5 인코더 상태의 어떤 것으로부터도 검증될 수 있다. 이것은 12 비트 유저 데이터는 인코딩될 수 있다는 것을 의미한다. 동일한 방식으로 '-1'의 가정된 초기 NRZ 비트를 가지는 홀수 패리티(또는 '+1'의 가정된 초기 NRZ 비트를 가지는 짝수 패리티)를 가진 후보 코드 워드는 도 9에서의 두번째 테이블에서 나타낸 것처럼 분포된다. 이 테이블 또한 12 비트 유저 데이터 워드가 지지될 수 있다는 것을 보여준다. 따라 서, 도 9에 나타낸 테이블에 따라 비율 12/19 (1,18) 패리티 관련 제약된 코드는 구성될 수 있다.
도 10은 비율 12/19 (1,18) 패리티 관련 제약된 코드에 대한 코드 테이블의 시작 부분을 나타낸다. 제 1 열은 유저 데이터 워드의 십진표기이다. 제 2 ~ 제 11 행에서의 요소는 '-1'의 가정된 초기 NRZ 비트를 가지는 짝수 패리티(또는 '+1'의 가정된 초기 NRZ 비트를 가지는 홀수 패리티)를 가진 후보 코드 워드의 십진표기 및 관련된 다음 상태 정보에 해당한다. 그 중에서도 제 2, 제 4, 제 6, 제 8, 및 제 10 열은 상태 1~5에서 각각 유저 데이터 워드에 맵핑되는 해당 후보 코드 워드이다. 제 3, 제 5, 제 7, 제 9, 및 제 11 열은 각각 제 2, 제 4, 제 6, 제 8, 및 제 10 열에서의 후보 코드 워드에 관련된 다음 상태 정보이다. 동일한 방식으로 '-1'의 가정된 초기 NRZ 비트를 가지는 홀수 패리티(또는 '+1'의 가정된 초기 NRZ 비트를 가지는 짝수 패리티)를 가진 후보 코드 워드 및 그 관련된 다음 상태 정보는 제 12 ~ 제 21 열에 나타난다.
비율 9/13 (1,18)를 가지는 정규 제약된 코드로서의 5-상태(즉, S=5, S1=3, S2=2) 코드인 새로운 다중 비트 패리티 검사 코드는 더 설계될 수 있다. 그것은 패리티 검사 다항식 g(x)=1+x+x4에 의해서 정의될 수 있다. 그 다음에 비율 7/16 (1,18)의 5-상태(즉, S=5, S1=3, S2=2) 패리티 관련 제약된 코드가 설계된다. 비율 2/3 (1,7) 코드와 관련하여 비율 7/16 (1,18) 코드는 패리티 검사당 1.375 채널 비트를 달성한다. 도 11A 및 11B는 도 9와 같이 동일한 방식으로 비율 7/16 (1,18) 패리티 관련 제약된 코드에 대한 S=5의 인코더 상태에서의 후보 코드 워드의 분포를 나타낸다. 4 비트 패리티 검사에 유념하여, 도 11A 및 11B에서 나타낸 후보 코드 워드의 여러 패리티 검사 비트에 대응되는 16개의 분포 테이블이 있다. 테이블에서의 후보 코드 워드의 패리티 검사 비트 계산에서 정규 제약 코딩된 시퀀스는 비단축화(un-shortened)된다고 가정된다.
도 12A 및 12B는 12/19 코드에 대한 코드 테이블을 나타내는 도 10과 동일한 방식으로의 비율 7/16 (1,18) 패리티 관련 제약된 코드의 시작 부분으로부터의 예이다. 4 비트 패리티 검사에 관하여 코드 테이블에서 연결된 동일한 패리티 검사 비트를 가지는 후보 코드 워드 세트의 16개 그룹이 있다. 도 12A 및 12B는 각각 그것의 첫번째 둘과 마지막 둘을 나타낸다.
d=2 코드에 관하여 비율 6/11 (2,15)를 가지는 정규 제약된 코드로서의 9-상태(즉, S=9, S1=4, S2=3, S3=2) 코드인 새로운 단일 비트 짝수 패리티 검사 코드 및 패리티 검사 다항식 g(x)=1+x+x4에 의해서 정의되는 새로운 4 비트 패리티 검사 코드는 설계된다. 패리티 관련 제약된 코드는 각각 비율 10/20 (2,15)의 9-상태(즉, S=9, S1=4, S2=3, S3=2) 코드와 비율 8/22 (2,15)의 9-상태(즉, S=9, S1=4, S2=3, S3=2)이다. 비율 8/15 (2,10) EFM 코드에 관하여 비율 10/20 (2,15) 코드는 패리티 검사당 1.25 채널 비트를 달성하고 8/22 (2,15) 코드는 패리티 검사당 1.75 채널 비트를 달성한다.
도 13은 비율 10/20 (2,15) 패리티 관련 제약된 코드에 대한 S=9 인코더 상 태에서의 후보 코드 워드의 분포를 나타낸다. 이것은 길이 20의 총 2745개의 유효한 d=2 코드 워드 사이에 '-1' 또는 '+1' 중 하나의 가정된 초기 NRZ 비트를 가지는 짝수 패리티를 가진 299+139+203+204+95+138+138+65+93=1374개의 후보 코드 워드가 있다는 것이 먼저 발견된다. '-1' 또는 '+1' 중 하나의 가정된 초기 NRZ 비트를 가지는 홀수 패리티를 가진 296+138+203+202+94+139+139+64+96=1371개의 후보 코드 워드가 있다. 도 13의 각 테이블은 S=9 인코더 상태 사이에 동일한 패리티를 가지는 후보 코드 워드의 분포를 나타낸다. 예로서 '-1' 또는 '+1' 중 하나의 가정된 초기 NRZ 비트를 가지는 짝수 패리티를 가진 모든 후보 코드 워드를 포함하는 첫번째 테이블을 취하여 이 테이블에서 후보 코드 워드 세트
Figure 112007038511560-PCT00044
0000,
Figure 112007038511560-PCT00045
0010,
Figure 112007038511560-PCT00046
0001,
Figure 112007038511560-PCT00047
1000,
Figure 112007038511560-PCT00048
1010,
Figure 112007038511560-PCT00049
1001,
Figure 112007038511560-PCT00050
0100,
Figure 112007038511560-PCT00051
0110, 및
Figure 112007038511560-PCT00052
0101에서의 후보 코드 워드의 총 수는 각각 제 2 ~ 제 10 열의 제 3 행에 나타난다. S=9 인코더 상태 사이에 그러한 후보 코드 워드의 분포는 각각 제 4 ~ 제 12 열에 나타난다. 상술된 것처럼 상태 1, 2, 3, 및 4는 '00'으로 시작하는 후보 코드 워드를 포함하는 제 1 상태 세트의 서브 상태이다. 상태 5,6, 및 7은 '10','01', 및 '00' 중 하나로 시작하는 후보 코드 워드를 포함하는 제 2 상태 세트에서 서브 상태이다. 상태 8 및 9는 '01' 또는 '00' 중 하나로 시작하는 후보 코드 워드를 포함하는 제 3 상태 세트에서 서브 상태이다. 후보 코드 워드는 '00'으로 끝나는 동일한 후보 코드 워드(즉, 세트
Figure 112007038511560-PCT00053
0000,
Figure 112007038511560-PCT00054
1000, 및
Figure 112007038511560-PCT00055
0100에서의 후보 코드 워드)는 S=9 다른 유저 상태 데이터 워드까지 할당될 수 있 다는 제한에 따라 분포된다. '10'으로 끝나는 동일한 후보 코드 워드(즉, 세트는
Figure 112007038511560-PCT00056
0010,
Figure 112007038511560-PCT00057
1010,
Figure 112007038511560-PCT00058
0110에서의 후보 코드 워드)는 S1+S3=6 다른 유저 데이터 워드까지만 할당할 수 있다. '01'로 끝나는 동일한 후보 코드 워드(즉, 세트
Figure 112007038511560-PCT00059
0001
Figure 112007038511560-PCT00060
1001,
Figure 112007038511560-PCT00061
0101에서의 후보 코드 부호)는 S1=4 다른 유저 데이터 워드까지만 할당될 수 있다. 게다가 다른 상태는 동일한 후보 코드 워드를 포함할 수 없다. 예를 들면, 세트
Figure 112007038511560-PCT00062
0000은 상태 1에 할당된 70개의 후보 코드 워드, 상태 2 및 3에서의 71개의 후보 코드 워드, 상태 4에서의 72개의 후보 코드 워드, 상태 7에서의 8개의 후보 코드 워드, 및 상태 9에서의 3개의 후보 코드 워드를 가진다. 후보 코드 워드의 총 수는 세트
Figure 112007038511560-PCT00063
0000에서의 후보 코드 워드의 총 수 299보다 작은 70+71+71+72+8+=295이다. 반면에 상태 1에 대한 후보 코드 워드의 총 수는 210=1024 유저 데이터를 맵핑하기 충분한 70*9+32*6+51*4=1026이다. 유사하게 유저 데이터 워드에 할당할 수 있는 최소 1024개의 후보 코드 워드가 있는 9 인코더 상태의 어떤 것으로부터도 검증될 수 있다. 이것은 10 비트 유저 데이터가 인코딩될 수 있다는 것을 의미한다. 동일한 방식으로 '-1' 또는 '+1' 중 하나의 가정된 초기 NRZ 비트를 가지는 홀수 패리티를 가진 후보 코드 워드는 도 13에서의 두번째 테이블에서 보이는 것처럼 분포된다. 이 테이블 또한 10 비트 유저 데이터 워드가 지지될 수 있다는 것을 보여준다. 도 13에 보이는 테이블에 따라 비율 10/20 (2,15) 패리티 관련 제약된 코드는 구성될 수 있다.
도 14은 비율 10/20 (2,15) 패리티 관련 제약된 코드에 대한 코드 테이블의 시작 부분을 나타낸다. 제 1 열은 유저 데이터 워드의 십진표기이다. 제 2 ~ 제 19 행에서의 요소는 '-1' 또는 '+1' 중 하나의 가정된 초기 NRZ 비트를 가지는 짝수 패리티를 가진 후보 코드 워드의 십진표기 및 관련된 다음 상태 정보에 해당한다. 그 중에서도 제 2, 제 4, 제 6, 제 8, 제 10, 제 12, 제 14, 제 16, 및 제 18 열은 상태 1~9에서 각각 유저 데이터 워드에 맵핑되는 해당 후보 코드 워드이다. 제 3, 제 5, 제 7, 제 9, 제 11, 제 13, 제 15, 제 17, 및 제 19 열은 각각 제 2, 제 4, 제 6, 제 8, 제 10, 제 12, 제 14, 제 16, 및 제 18 열에서의 후보 코드 워드에 관련된 다음 상태 정보이다. 동일한 방식으로 '-1' 또는 '+1' 중 하나의 가정된 초기 NRZ 비트를 가지는 홀수 패리티를 가진 후보 코드 워드 및 그 관련된 다음 상태 정보는 제 20 ~ 제 37 열에 나타난다.
도 15A 및 15B는 도 13와 같이 동일한 방식으로 비율 8/22 (2,15) 패리티 관련 제약된 코드에 대한 S=9의 인코더 상태에서의 후보 코드 워드의 분포를 나타낸다. 4 비트 패리티 검사에 관하여, 도 15A 및 15B에서 나타낸 후보 코드 워드의 여러 패리티 검사 비트에 대응되는 16개의 분포 테이블이 있다. 테이블에서의 후보 코드 워드의 패리티 검사 비트 계산에서 정규 제약 코딩된 시퀀스는 비단축화된다고 가정된다.
도 16A 및 16B는 10/20 코드에 대한 코드 테이블을 나타내는 도 14과 동일한 방식으로의 비율 8/22 (2,15) 패리티 관련 제약된 코드의 시작 부분으로부터의 예이다. 4 비트 패리티 검사에 관하여 코드 테이블에서 연결된 동일한 패리티 검사 비트를 가지는 후보 코드 워드 세트의 16개 그룹이 있다. 도 16A 및 16B는 각각 그것의 첫번째 둘과 마지막 둘을 나타낸다.
다음에서 새로이 설계된 코드의 성능은 최근 소개된 블루 레이 디스크(BD) 광학 기록 시스템를 이용하여 증명된다. BD 시스템은 d=1 코드를 사용하기 때문에 평가되는 새로운 코드는 새로운 d=1 제약된 단일 비트 짝수 패리티 검사 코드 및 생성 다항식 g(x) = 1 + x + x4을 가지는 새로운 d=1 제약된 4 비트 패리티 검사 코드이다. 상술된 것처럼 두 코드는 비율 9/13 (1,18) 정규 제약된 코드와 각각 비율 12/19 (1,18) 패리티 관련 제약된 코드 및 비유율 7/16 (1,18) 패리티 관련 제약된 코드의 연결로 만들어진다. 특히 새로 설계된 코드는 컴퓨터 시뮬레이션을 이용하여 평가된다. 이 시뮬레이션에서 광학 판독(read-out)은 선형이고 G. Bouwhuis, J. Braat, A. Huijser, J. Pasman, G. van Rosmalen and K. A. Schouhamer Immink, Principles of Optical Disc Systems, Adam Hilger Ltd, Bristol, UK, 1985에 논의된 것처럼 브리트 홉킨스 모델(Braat-Hopkins model)이 기술된 채널에 사용되었다고 가정된다. 그러므로 채널 기호 응답의 푸리에(Fourier) 변환은 다음과 같이 표현된다.
Figure 112007038511560-PCT00064
여기서 Ω은 채널 비트율(channel bit rate)에 의해 표준화되는 주파수이고 R은 d=1 제약된 패리티 검사 코드의 비율이다. Ωu=fcTu의 량은 기록 밀도의 측정량이고 여기서 fc는 광학 차단(cut-off) 주파수이고 Tu는 하나의 유저 비트의 듀레이션(duration)이다. 더 작은 Ωu가 기록 밀도가 더 높고 더 큰 Ωu가 기록 밀도가 더 낮다. 광학 기록 시스템에 관하여 파장 λ를 가지는 레이저 다이오드와 개수구 NA를 가지는 렌즈를 이용하여 표준화된 차단 주파수는 Ωu= 2 NA Lu/ λ로 주어지고 여기서 Lu는 하나의 유저 비트의 공간 길이이다. λ=405nm, NA=0.85 및 LU=112.5nm인 비율 2/3 (1,7) 코드를 사용하는 BD 시스템에 대하여 Ωu≒0.5이다.
다음에서 차단 주파수 Ωu=0.5 및 Ωu=0.375가 고려된다. 이러한 선택은 현제 기준에 따라 각각 표준 밀도 및 고밀도를 가지는 기록 시스템를 대표한다.
데이터를 복구하는 동안 전처리 및 부분 응답(partial response:PR) 균등화 후에 샘플링된 시퀀스는 비터비 검출기와 같은 채널 검출기로 공급된다. 성능 평가에서 7-탭(tap) 최적화된 채널 PR 타킷은 채널 검출기로서 사용되며 그것의 성능은 최대 라이크리후드 시퀀스 검출기(maximum likelihood sequence detection:MLSD) (K. Cai, V. Y. Krachkovsky, and J. W. M. Bergmans, "Performance bounds for parity coded optical recording channels with d=1 constraint", Proc. of IEEE International Conference on Communications (ICC), Alaska, USA, May 2003참조)에 매우 가깝다. 균등화 이전의 채널 노이즈는 가우스(Gaussian)와 화이트(white) 로 가정된다. 비터비 검출기 출력에서 우세 에러 이벤트는 ±{2}, ±{2,0,-2}±{2,0,-2,0,2}, 및 ±{2,0,-2,0,2,0,-2}로 출력된다. 에러 이벤트는 채널 검출기 출력에서 전송된 데이터 시퀀스와 검출된 데이터 시퀀스 사이의 차이이다. 비터비 검출기 다음에 후처리는 에러 정정을 위해 채택된다. 그것은 비터비 검출기의 입력에서 얻어진 채널 사이드 정보뿐 아니라 비터비 검출기의 출력에서 검출된 코드 워드의 패리티 검사 결과를 이용함으로써 각각 검출되는 제약된 패리티 검사 코드 워드 내에 발생하는 단일 및 이중 에러 이벤트 모두를 정정할 수 있다.
도 17 및 18은 표준 밀도와 고밀도에서 각각 약정의 비율 2/3 (1,7) 코드와 새로 설계된 코드를 가지는 패리티 검사 코딩된 BD 시스템의 비트 에러율(bit error rate:BER) 성능 비교를 나타낸다.
비율 2/3 (1,7) 코드를 가지는 패리티 검사 코딩된 시스템에 대한 연구는 변조 인코더 내에 내장된(embedd) 패리티 검사 인코더를 포함하지 않는다. d=1 제약을 가지는 고효율의 패리티 검사 코드는 이전 기술의 코딩 방식에 따라 이용할 수 없기 때문이다. 그러므로 패리티 검사 코드는 각 검출된 코드 워드에 대한 패리티 검사가 검출기 사이드에서 알려진다는 것을 가정함으로써 설계된다. 이것은 '데이터-에이디드(data-aided)' 모드로 각 검출된 코드 워드에 대한 신드롬 성분(syndrome component)을 생성함으로써 될 수 있다. 각 패리티 검사 비트가 하나의 유저 비트와 동등한 1.5 채널 비트의 최소 오버헤드를 요구함에 의해 코드의 대응되는 비율은 R=2/3-p/N이다. 대응되는 코드는 그것에 의해 이상적인 제약된 패리티 검사 코드로 불린다.
도 17 및 18에서 곡선 1~3은 각각 이상적인 단일 비트 짝수 패리티 검사와 생성 다항식 g(x)=1+x+x4에 의해 정의되는 이상적인 4 비트 패리티 검사를 가지는 패리티 검사가 없는 비율 2/3 코드의 성능을 나타낸다. 대응되게 패리티 검사 없는 비율 9/13 (1,18) 코드의 성능이 곡선 4에 의해 나타난다. 새로운 제약된 단일 비트 짝수 패리티 검사 코드와 새로운 제약된 4 비트 패리티 검사 코드는 각각 곡선 5, 6에 의해 나타난다.
양 단일 비트 짝수 패리티 검사 코드의 코드 워드 길이를 97로 선택하여 패리티 검사로 인한 코드율 손실과 후처리의 에러 정정력 사이의 트레이드-오프를 성취한다. 그러므로 방정식 (1)에 따라 새로운 제약된 단일 비트 이벤트 패리티 검사 코드의 전체 코드율은 0.6804이다. 이상적인 짝수 패리티 검사를 가지는 약정의 비율 2/3 (1,7) 코드와 비교되는 새로운 단일 비트 패리티 검사 코드의 비율은 3.66% 더 높다. 게다가 그것은 d=1 제약을 가지는 패리티 검사 코드의 커패시티보다 0.69%만 낮다. d=1 제약을 가지는 패리티 검사 코드의 커패시티이 Rc=Rc (1,∞)-p/N에 의해 얻어지는 것을 유념하고 여기서 (d=1, k=∞) 코드의 커패시티이다. 새로운 제약된 4 비트 패리티 검사에 대한 406의 코드 워드 길이를 가지는 코드 비율은 0.6823이다. 이것은 이상적인 4 비트 패리티 검사를 가지는 비율 2/3 (1,7) 코드보다 3.88% 더 높고 d=1 제약을 가지는 패리티 검사 코드의 커패시티보다 0.41%만 낮다.
곡선 1~2와 곡선 4~5 사이의 비교는 패리티 검사 없는 시스템의 성능에 비교 되는 것처럼 나타나며 의미 없는 성능 이득(gain)은 비율 2/3 코드와 비율 9/13 코드를 모두 가지는 단일 비트 짝수 패리티 검사 코드로 찾아진다. 이것은 양 단일 비트 짝수 패리티 검사가 우세 에러 이벤트 ±{2,0,-2}를 검출할 수 없기 때문이다. 곡선 1 ~ 3과 곡선 4 ~ 6 사이의 비교는 비율 2/3 코드와 비율 9/13 코드를 모두 가지는 생성 다항식 g(x)=1+x+x4의 4 비트 패리티 검사 코드는 더 높은 코딩 이득을 성취한다는 것을 보여준다. 그 이유는 4 비트 패리티 검사 코드는 시스템의 모든 우세 에러 이벤트를 검출할 수 있고 후처리에 사이드 정보를 더 제공할 수 있다는 것이다.
게다가, 그것은 비율 9/13 코드는 그것의 더 높은 코드율 때문에 패리티 검사 코드 없이 그리고 패리티 검사 코드를 가지는 두 경우에 대하여 약정의 비율 2/3 코드 이상의 의미있는 성능 이득을 초래한다. BER=10-5에서 새로운 4 비트 제약된 패리티 검사 코드는 표준 밀도에서 이상적인 4 비트 패리티 검사를 가지는 비율 2/3 코드를 넘어 약 0.7 dB을 얻는다. 고밀도에서 성능 향상은 약 1 dB이다. 일반적으로 패리티 검사 없는 비율 2/3 코드의 경우와 비교되는 새로운 4 비트 제약된 패리티 검사 코드는 표준 밀도에서 2 dB의 성능 이득과 고밀도에서 1.5 dB 이득을 달성한다.
상기 대표적인 실시예는 변조 제약과 소정의 패리티 검사 제약을 모두 만족하도록 유저 데이터의 세그먼트를 채널 코드 워드의 세그먼트로 인코딩할 수 있다. 유저 데이터의 각 세그먼트는 여러 테이터 워드로 분할되고 각각 정규 제약된 코드 및 패리티 관련 제약된 코드로 불리는 제 1 및 제 2 유형의 성분 코드에 의해 개별적으로 인코딩된다. 결합된 코드 워드 위의 패리티 검사 제약은 정규 제약된 코드 워드의 시퀀스와 후보 코드 워드 세트로부터 선택된 특정 패리티 관련 제약된 코드 워드의 연결에 의해 성취된다. 두 성분 코드는 섀넌 커패시티에 가까운 비율을 가지도록 설계된 유한 상태 제약된 코드이다. 게다가 그들은 변조 제약의 위반하는 것 없이 그들이 고르게 연결될 수 있는 동일한 FSM에 의거한다. 상기 두 실시예는 각각 NRZI 포맷과 NRZ 포맷으로 코드를 설계하도록 제공된다. NRZ 포맷으로의 코드 설계는 에러 검출과 간단한 에러 정정 또는 후처리를 위하여 요구되는 패리티 검사 비트의 수를 줄일 수 있다. 패리티 검사 제약은 주어진 광학 기록 시스템의 에러 이벤트 결합뿐만 아니라 어떤 유형의 우세 에러 이벤트도 검출할 수 있는 체계적인 선형 블럭 코드의 패리티 검사 다항식 또는 패리티 검사 행렬에 의해 정의된다. 결과로서 시스템의 정보 밀도는 향상된다.
상기 인코더 및 디코더는 요구되는 처리에 대한 전용의 회로를 가지는 하드웨어만 이용하여 또는 하드웨어와 소프트웨어 모듈(module)의 결합에 의하여 실행된다.
모듈과 특히 모듈의 기능성은 하드웨어 또는 소프트웨어 중 하나에서 수행될 수있다. 소프트웨어 관념에서 모듈은 프로세스, 프로그램, 또는 일반적으로 수행하는 특정 기능이나 관련 기능들의 부분이다. 하드웨어 관념에서 모듈은 다른 구성요소나 모듈의 사용을 위해 설계되는 기능적인 하드웨어 유닛이다. 예를 들면, 모듈은 개별의 전자 구성요소를 사용하여 수행될 수 있고 또는 주문형 반도 체(Application Specific Integrated Circuit:ASIC)와 같은 전체의 전자 회로의 부분을 형성할 수 있다. 수많은 다른 가능성은 존재한다.
본 발명의 상기 실시예가 위에 상세히 묘사되는 동안 다른 데이터 저장 시스템에 맞춰진 여러 새로운 제약된 패리티 검사 코드는 여기 묘사된 기법에 의거하는 기술에서 숙련됨에 의해 설계될 수 있다는 것을 이해해야할 것이다.
본 발명이 특히 상기 실시예를 참조하여 도시되고 예시되었을지라도 당업자는 형태와 상세한 설명에서의 여러 변화와 수정이 본 발명의 정신과 범위로부터 벗어남이 없이 달성될 수 있다는 것을 이해할 것이다.

Claims (94)

  1. 유저 데이터의 입력 세그먼트가 데이터 워드로 분할되고 데이터 소스로부터 데이터를 인코딩하는 방법에 있어서:
    상기 데이터 워드를 하나 이상의 제 1 성분 코드 워드 및 제 2 성분 코드 워드로 인코딩하는 단계; 및
    결합된 코드 워드에 걸쳐 소정의 패리티 검사 제약을 갖는 결합된 코드 워드를 제공하기 위하여 상기 제 1 성분 코드 워드와 상기 제 2 성분 코드 워드를 연결하는 단계를 포함하고;
    상기 하나 이상의 제 1 성분 코드 워드는 정규 제약된 코드의 하나 이상의 코드 워드를 포함하고, 상기 제 2 성분 코드 워드는 패리티 관련 제약된 코드의 코드 워드를 포함하는 것을 특징으로 하는 데이터 인코딩 방법.
  2. 제 1 항에 있어서,
    상기 제 1 및 제 2 성분 코드 워드를 연결하는 단계는 상기 결합된 코드 워드에 걸쳐 소정의 패리티 검사 제약을 성취하는 것을 특징을 하는 데이터 인코딩 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 정규 제약된 코드와 패리티 관련 제약된 코드는 고정된 길이의 유한 상 태 코드인 것을 특징으로 하는 데이터 인코딩 방법.
  4. 선행 항 중 어느 한 항에 있어서,
    상기 정규 제약된 코드와 패리티 관련 제약된 코드는 섀넌 커패시티에 가까운 코드율을 가지는 것을 특징으로 하는 데이터 인코딩 방법.
  5. 선행 항 중 어느 한 항에 있어서,
    하나의 데이터 워드는 하나의 제약된 코드 워드에만 인코딩되는 것을 특징으로 하는 데이터 인코딩 방법.
  6. 선행 항 중 어느 한 항에 있어서,
    상기 패리티 관련 제약된 코드 워드의 여러 패리티 검사 비트는 소정의 패리티 검사 다항식 또는 패리티 검사 행렬에 대응되는 것을 특징으로 하는 데이터 인코딩 방법.
  7. 선행 항 중 어느 한 항에 있어서,
    상기 정규 제약된 코드는 FSM을 사용하여 설계되는 것을 특징으로 하는 데이터 인코딩 방법.
  8. 제 7 항에 있어서,
    상기 정규 제약된 코드의 설계는 유효한 FSM에 의거하여 변조 제약을 만족시키는 것을 특징으로 하는 데이터 인코딩 방법.
  9. 선행 항 중 어느 한 항에 있어서,
    상기 제 1 성분 코드 워드는 한 세트의 정규 제약된 코드 워드를 포함하는 정규 제약된 코드의 코드 테이블로부터 선택되는 것을 특징으로 하는 데이터 인코딩 방법.
  10. 선행 항 중 어느 한 항에 있어서,
    상기 제 2 성분 코드 워드는 복수 세트의 후보 코드 워드를 포함하는 패리티 관련 제약된 코드의 코드 테이블로부터 선택되는 것을 특징으로 하는 데이터 인코딩 방법.
  11. 적어도 제 7 항에 종속될 때 제 10 항에 있어서,
    여러 패리티 검사 비트를 가지는 상기 패리티 관련 제약된 코드의 상기 세트의 후보 코드 워드는 정규 제약된 코드와 동일한 FSM에 의거하여 설계되는 것을 특징으로 하는 데이터 인코딩 방법.
  12. 선행 항 중 어느 한 항에 있어서,
    상기 패리티 관련 제약된 코드를 설계하는 단계를 더 포함하고,
    (i) 상기 패리티 관련 제약된 코드의 후보 코드 워드를 설계하는 단계,
    (ii) 상기 후보 코드 워드의 패리티 검사 비트를 계산하는 단계,
    (iii) 상기 후보 코드 워드를 코드 워드 세트의 그룹으로 분배하는 단계, 및
    (iv) 코드 워드 세트를 함께 연결하여 상기 패리티 관련 제약된 코드의 하나 이상의 인코딩 및 디코딩에 대한 코드 테이블을 형성하는 단계를 포함하는 것을 특징으로 하는 데이터 인코딩 방법.
  13. 정규 제약된 코드 워드의 시퀀스를 이용하기 위한 패리티 관련 제약된 코드를 설계하는 방법에 있어서:
    (i) 상기 패리티 관련 제약된 코드의 후보 코드 워드를 설계하는 단계;
    (ii) 상기 후보 코드 워드의 패리티 비트를 계산하는 단계;
    (iii) 상기 후보 코드 워드를 코드 워드 세트의 그룹으로 분배하는 단계;
    (iv) 코드 워드 세트를 함께 연결하는 단계; 및
    (v) 상기 패리티 관련 제약된 코드의 하나 이상의 인코딩 및 디코딩에 대한 코드 테이블을 형성하는 단계를 포함하는 것을 특징으로 하는 패리티 관련 제약된 코드 설계 방법.
  14. 제 12 항 또는 제 13 항에 있어서,
    상기 후보 코드 워드는 FSM을 이용하여 설계되는 것을 특징으로 하는 방법.
  15. 제 12 항 내지 제 14 항에 있어서,
    상기 후보 코드 워드를 설계하기 전에 런-렝스 제약 k를 해제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제 14 항 및 제 15 항에 있어서,
    '0'의 롱 런으로 시작하거나 또는 끝나는 후보 코드 워드를 삭제하는 단계, 및 FSM에서 상태의 수를 증가시키는 단계 중 하나 이상을 통하여 코드 테이블을 최적화함으로써 런-렝스 제약 k를 강화시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제 12 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 후보 코드 워드는 그 패리티 검사 비트에 따른 다른 세트로 분배되는 것을 특징으로 하는 방법.
  18. 적어도 제 11 항에 종속될 때 제 12 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 패리티 관련 제약된 코드의 후보 코드 워드는 상기 정규 제약된 코드와 동일한 FSM을 이용하여 설계되는 것을 특징으로 하는 방법.
  19. 제 18 항에 있어서,
    상기 후보 코드 워드는 커패시티 접근 코드율을 달성하는 동일한 FSM을 사용하여 설계되는 것을 특징으로 하는 방법.
  20. 제 18 항 또는 제 19 항에 있어서, 또는 적어도 제 7 항에 종속될 때 제 12 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 패리티 관련 제약된 코드의 FSM의 각 상태에서 한 데이터 워드에 잠재적으로 맵핑되는 총 2p개의 후보 코드 워드가 있고, p는 패리티 검사 비트의 수인 것을 특징으로 하는 방법.
  21. 제 12 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 후보 코드 워드의 패리티 검사 비트는 주어진 패리티 검사 다항식 또는 패리티 검사 행렬에 의거하고 정규 제약된 코드 워드를 포함하는 시퀀스의 길이를 고려하여 계산되는 것을 특징으로 하는 방법.
  22. 제 12 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 후보 코드 워드는 2p개의 코드 워드 세트의 그룹으로 분배되고, p는 패리티 검사 비트의 수인 것을 특징으로 하는 방법.
  23. 제 12 항 내지 제 22 항 중 어느 한 항에 있어서,
    상기 패리티 관련 제약된 코드에 대한 코드 테이블을 형성하는 단계를 더 포함하고, 상기 패리티 관련 제약된 코드에 대해 설계되는 코드 테이블은 2p의 인수에 의해 정규 제약된 코드에 대한 코드 테이블보다 더 크고, p는 패리티 검사 비트의 수인 것을 특징으로 하는 방법.
  24. 선행 항 중 어느 한 항에 있어서,
    유저 데이터 워드의 동일한 길이에 대하여 상기 패리티 관련 제약된 코드 워드의 길이는 상기 정규 제약된 코드 워드보다 더 긴 것을 특징으로 하는 방법.
  25. 선행 항 중 어느 한 항에 있어서,
    상기 하나 이상의 정규 제약된 코드 워드는 복수의 정규 제약된 코드 워드를 포함하고, 복수의 정규 제약된 코드 워드를 정규 제약된 코드 워드 시퀀스로 연결하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  26. 제 25 항에 있어서,
    상기 결합된 코드 워드를 제공하기 위하여 제 1 성분 코드 워드와 제 2 성분 코드 워드를 연결하는 단계는 패리티 관련 제약된 코드 워드를 정규 제약된 코드 워드 시퀀스의 끝에 추가하여 결합된 코드 워드에 걸쳐 패리티 검사 제약을 부과하는 단계를 포함하는 것을 특징으로 하는 방법.
  27. 선행 항 중 어느 한 항에 있어서,
    상기 제 2 성분 코드 워드는 하나 이상의 정규 제약된 코드 워드의 패리티 검사 비트를 계산하는 단계, 및
    상기 계산된 패리티 검사 비트와 동일한 패리티 검사 비트를 가지는 패리티 관련 제약된 코드의 후보 코드 워드를 선택하는 단계에 의해 인코딩되는 것을 특징으로 하는 방법.
  28. 제 27 항에 있어서,
    상기 후보 코드 워드를 선택하는 단계는 상기 계산된 패리티 비트에 기초되는 것을 특징으로 하는 방법.
  29. 제 27 항 또는 제 28 항에 있어서,
    상기 후보 코드 워드를 선택하는 단계는 후보 코드 워드를 선택하는 다음 상태를 나타내는 상태 정보에 기초되는 것을 특징으로 하는 방법.
  30. 선행 한 중 어느 한 항에 있어서,
    데이터 워드를 제 1 성분 코드 워드로 인코딩하는 단계는 정규 제약된 코드 워드를 것으로부터 다음 상태를 나타내는 상태 정보에 의거하는 그런 각 데이터 워드를 정규 제약된 코드의 코드 테이블로부터 인코딩하는 단계를 포함하는 것을 특 징으로 하는 방법.
  31. 선행 한 중 어느 한 항에 있어서,
    상기 정규 제약된 코드 및 패리티 관련 제약된 코드는 NRZI 포맷으로 설계되는 것을 특징으로 하는 방법.
  32. 제 1 항 내지 제 30 항 중 어느 한 항에 있어서,
    상기 하나 이상의 정규 제약된 코드 및 패리티 관련 제약된 코드는 NRZ 포맷으로 설계되는 것을 특징으로 하는 방법.
  33. 제 32 항에 있어서,
    상기 유저 데이터 워드를 제 1 성분 코드 워드로 인코딩하는 단계는 정규 제약된 코드 워드를 NRZ 포맷으로 프리코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법
  34. 적어도 제 25 항에 종속될 때 제 33 항에 있어서,
    복수의 정규 제약된 코드 워드는 복수의 정규 제약된 코드 워드를 정규 제약된 코드 워드 시퀀스로 연결하기 전에 프리코딩되는 것을 특징으로 하는 방법.
  35. 적어도 제 27 항에 종속될 때 제 33 항 또는 제 34 항에 있어서,
    상기 하나 이상의 정규 제약된 코드 워드는 패리티 검사 비트를 계산하기 전에 프리코딩되는 것을 특징으로 하는 방법.
  36. 적어도 제 27 항에 종속될 때 제 33 항 내지 제 35 항 중 어느 한 항에 있어서,
    상기 패리티 관련 제약된 코드의 후보 코드 워드를 선택하는 단계는 최종 프리코딩된 정규 제약된 코드 워드에 더 기초되는 것을 특징으로 하는 방법.
  37. 제 36 항에 있어서,
    상기 패리티 관련 제약된 코드의 후보 코드 워드를 선택하는 단계는 상기 최종 프리코딩된 정규 제약된 코드 워드의 최종 비트에 기초되는 것을 특징으로 하는 방법.
  38. 제 32 항 내지 제 37 항 중 어느 한 항에 있어서,
    유저 데이터 워드를 제 2 성분 코드 워드로 인코딩하는 단계는 제 1 및 제 2 성분 코드 워드를 연결하기 전에 패리티 관련 제약된 코드 워드를 프리코딩하는 단계를 포함하는 것을 특징으로 하는 방법.
  39. 적어도 제 10 항 또는 제 11 항에 종속될 때 제 32 항 내지 제 38 항 중 어느 한 항에 있어서,
    상기 패리티 관련 제약된 코드의 후보 코드 워드는 NRZI 포맷으로 설계되고,
    상기 후보 코드 워드의 패리티 검사 비트는 가정된 초기 NRZ 비트에 의거하여 NRZ 영역에서 계산되는 것을 특징으로 하는 방법.
  40. 선행 항 중 어느 한 항에 있어서,
    상기 패리티 검사 제약은 체계적인 선형 블럭 코드의 패리티 검사 다항식 또는 패리티 검사 행렬에 의해 정의되는 것을 특징으로 하는 방법.
  41. 제 40 항에 있어서,
    상기 체계적인 선형 블럭 코드의 패리티 검사 다항식 또는 패리티 검사 행렬을 사용하여 시스템의 우세 에러 이벤트 또는 우세 에러 이벤트 결합을 검출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  42. 제 41 항에 있어서,
    설계된 코드에 의해 검출되는 검출된 에러 이벤트는 어떤 주어진 시스템의 어떤 유형의 우세 에러 이벤트와 에러 이벤트 결합 중 어느 하나를 포함하는 것을 특징으로 하는 방법.
  43. 선행 항 중 어느 한 항에 있어서,
    결합된 코드 워드는 d=1과 d=2 중 하나의 변조 제약을 가지는 것을 특징으로 하는 방법.
  44. 선행 항 중 어느 한 항에 있어서,
    유저 데이터의 입력 세그먼트를 데이터 워드로 분할하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  45. 선행 항 중 어느 한 항에 있어서,
    광학 기록 매체에 대하여 데이터를 인코딩하는 단계를 포함하는 것을 특징으로 하는 방법.
  46. 제 45 항에 있어서,
    상기 광학 기록 매체는 CD, DVD, BD, AOD, 고밀도 BD 및 고밀도 AOD으로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 방법.
  47. 유저 데이터의 입력 세그먼트가 데이터 워드로 분할되고 데이터 소스로부터 유저 데이터를 인코딩하는 인코딩 장치에 있어서:
    하나 이상의 데이터 워드를 하나 이상의 제 1 성분 코드 워드로 인코딩하는 제 1 인코더 수단;
    데이터 워드를 제 2 성분 코드 워드로 인코딩하는 제 2 인코더 수단; 및
    결합된 코드 워드에 걸쳐 소정의 패리티 검사 제약을 가지는 결합된 코드 워 드를 제공하기 위하여 하나 이상의 제 1 성분 코드 워드를 제 2 성분 코드 워드와 연결하는 연결 수단을 포함하고;
    상기 하나 이상의 제 1 성분 코드 워드는 정규 제약된 코드의 하나 이상의 정규 제약된 코드 워드를 포함하고, 상기 제 2 성분 코드 워드는 패리티 관련 제약된 코드의 코드 워드를 포함하는 것을 특징으로 하는 인코딩 장치.
  48. 제 47 항에 있어서,
    정규 제약된 인코드의 출력이 선택되는 복수의 정규 제약된 코드 워드를 포함하는 정규 제약된 코드 테이블을 더 포함하는 것을 특징으로 하는 인코딩 장치.
  49. 제 47 항 또는 제 48 항에 있어서,
    패리티 관련 제약된 인코드의 출력이 선택되는 패리티 관련 제약된 코드의 복수의 후보 코드 워드를 포함하는 패리티 관련 제약된 코드 테이블을 더 포함하는 것을 특징으로 하는 인코딩 장치.
  50. 제 47 항 내지 제 49 항에 있어서,
    유저 데이터의 입력 세그먼트를 데이터 워드로 분할하는 분할 수단을 더 포함하는 것을 특징으로 하는 인코딩 장치.
  51. 제 47 항 내지 제 50 항 중 어느 한 항에 있어서,
    하나 이상의 정규 제약된 코드 워드의 시퀀스의 패리티 검사 비트를 계산하는 패리티 검사 수단을 더 포함하는 것을 특징으로 하는 인코딩 장치.
  52. 제 51 항에 있어서,
    상기 제 2 인코더 수단은 패리티 검사 수단으로부터 계산된 패리티 검사 비트를 수신하고, 계산된 패리티 검사 비트에 의거하여 패리티 관련 제약된 코드 워드를 출력하도록 동작가능한 것을 특징으로 하는 인코딩 장치.
  53. 제 47 항 내지 제 52 항에 있어서,
    상기 제 1 인코더 수단은 입력 유저 데이터 세그먼트의 데이터 워드 하나를 제외한 모두를 인코딩하고, 상기 제 2 인코더 수단은 나머지 데이터 워드를 인코딩하도록 동작가능한 것을 특징으로 하는 인코딩 장치.
  54. 제 53 항에 있어서,
    상기 나머지 데이터 워드는 유저 데이터 세그먼트의 마지막 데이터인 것을 특징으로 하는 인코딩 장치.
  55. 제 47 항 내지 제 54 항 중 어느 한 항에 있어서,
    상기 제 2 인코더 수단은 패리티 관련 제약된 인코더를 포함하는 것을 특징으로 하는 인코딩 장치.
  56. 제 47 항 내지 제 55 항의 어느 한 항에 있어서,
    상기 제 1 인코더 수단은 복수의 정규 제약된 인코더를 포함하는 것을 특징으로 하는 인코딩 장치.
  57. 제 56 항 중 어느 한 항에 있어서,
    상기 제 1 인코더 수단의 인코더는 시퀀스와 제 1 인코더 수단의 개별적인 인코더에 제공되고, 각 현재 데이터 워드에 대하여 코드 워드를 할당하는 인코더 상태를 나타내는 인코더의 시퀀스에서 각 이전 인코더로부터 통과된 다음 상태 정보를 수신하도록 배열되는 것을 특징으로 하는 인코딩 장치.
  58. 제 47 항 내지 제 57 항에 있어서,
    상기 제 2 인코더 수단은 현재 데이터 워드를 인코딩하기 위한 패리티 관련 제약된 코드의 후보 코드 워드를 선택하는 인코더 상태를 나타내는 제 1 인코더 수단으로부터 통과된 다음 상태 정보를 수신하도록 배열되는 것을 특징으로 하는 인코딩 장치.
  59. 제 58 항에 있어서,
    상기 제 2 인코더 수단은 데이터 소스로부터 유저 데이터의 다음 세그먼트를 인코딩하는 제 1 인코더 수단에 다음 상태 정보를 출력하도록 배열되는 것을 특징 으로 하는 인코딩 장치.
  60. 제 57 항 및 제 59 항에 있어서,
    상기 제 1 인코더 수단의 인코더의 시퀀스의 제 1 인코더는 유저 데이터의 이전 세그먼트에 대하여 제 2 인코더 수단으로부터 출력되는 다음 상태 정보를 수신하도록 배열되는 것을 특징으로 하는 인코딩 장치.
  61. 제 47 항 내지 제 60 항에 있어서,
    연결 수단에 의한 연결 전에 하나 이상의 정규 제약된 코드 워드를 프리코딩하는 제 1 프리코더 수단을 더 포함하는 것을 특징으로 하는 인코딩 장치.
  62. 제 61 항에 있어서,
    상기 제 2 인코더 수단은 제 1 프리코더 수단으로부터 프리코딩된 정규 제약된 코드 워드의 하나 이상의 일부 이상을 수신하고, 프리코딩된 정규 제약된 코드 워드의 하나 이상의 일부 이상에 더 의거하여 패리티 관련 제약된 코드의 후보 코드 워드를 선택하도록 더 동작가능한 것을 특징으로 하는 인코딩 장치.
  63. 제 62 항에 있어서,
    프리코딩한 정규 제약된 코드 워드의 하나 이상의 일부 이상은 프리코딩된 정규 제약된 코드 워드의 하나 이상으로부터 마지막 비트를 포함하는 것을 특징으 로 하는 인코딩 장치.
  64. 제 62 항 또는 제 63 항에 있어서,
    상기 제 1 인코더 수단은 복수의 제 1 코드 워드를 생성하도록 동작가능하고 프리코딩된 정규 제약된 코드 워드의 하나 이상의 일부 이상은 마지막 프리코딩한 정규 제약된 코드 워드의 일부 이상을 포함하는 것을 특징으로 하는 인코딩 장치.
  65. 제 47 항 내지 제 64 항 중 어느 한 항에 있어서,
    연결 수단에 의한 연결 전에 선택된 패리티 관련 제약된 코드 워드를 프리코딩하는 제 2 프리코더 수단을 더 포함하는 것을 특징으로 하는 인코딩 장치.
  66. 유저 데이터의 입력 세그먼트가 데이터 워드로 분할되고 데이터 소스로부터 유저 데이터를 인코딩하는 인코더에 있어서:
    상기 데이터 워드를 제 1 성분 코드 워드로 인코딩하는 복수의 제 1 인코더;
    데이터 워드를 제 2 성분 코드 워드로 인코딩하는 제 2 인코더; 및
    결합된 코드 워드에 걸쳐 소정의 패리티 검사 제약을 가지는 결합된 코드 워드를 제공하기 위해서 제 1 성분 코드 워드와 제 2 성분 코드 워드를 연결하는 연결기를 포함하고;
    상기 제 1 성분 코드 워드는 정규 제약된 코드의 정규 제약된 코드 워드를 포함하고, 상기 제 2 성분 코드 워드는 패리티 관련 제약된 코드의 패리티 관련 제 약된 코드 워드를 포함하는 것을 특징으로 하는 인코더.
  67. 제 47 항 내지 제 65 항 중 어느 한 항에 있어서 또는 제 66 항에 있어서,
    제 1 항 내지 제 46 항 중 어느 한 항의 방법에 따라 동작가능한 것을 특징으로 하는 인코딩 장치 또는 인코더.
  68. 코드 워드는 제 1 및 제 2 성분 코드 워드의 연결을 포함하고 제약된 패리티 검사 코드 워드를 유저 데이터의 세그먼트로 디코딩하는 방법에 있어서:
    복수의 제 1 성분 코드 워드와 제 2 성분 코드 워드를 복수의 유저 데이터 워드로 디코딩하는 단계를 포함하고;
    상기 제 1 성분 코드 워드는 정규 제약된 코드 워드를 포함하고, 상기 제 2 성분 코드 워드는 패리티 관련 제약된 코드 워드를 포함하는 것을 특징으로 하는 디코딩 방법.
  69. 제 68 항에 있어서,
    디코딩하기 전에 코드 워드를 복수의 제 1 성분 코드 워드 및 제 2 성분 코드 워드로 분리하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  70. 제 68 항 또는 제 69 항에 있어서,
    제 1 성분 코드 워드를 디코딩하는 복수의 디코더 및 제 2 성분 코드 워드를 디코딩하는 디코더로부터 복수의 유저 데이터 워드 출력을 연결하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  71. 제 68 항 내지 제 70 항 중 어느 한 항에 있어서,
    디코딩하기 전에 제 1 성분 코드 워드와 제 2 성분 코드 워드를 역 프리코딩하는 단계를 더 포함하는 것을 특징으로 하는 디코딩 방법.
  72. 제 71 항에 있어서,
    제 1 성분 코드 워드와 제2 성분 코드 워드를 역 프리코딩하는 단계는 NRZ 포맷으로부터 NRZI 포맷으로 성분 코드 워드를 변환하는 것을 특징으로 하는 디코딩 방법.
  73. 제 68 항 내지 제 72 항 중 어느 한 항에 있어서,
    성분 코드 워드는 NRZ 포맷인 것을 특징으로 하는 디코딩 방법.
  74. 제 68 항 내지 제 70 항 중 어느 한 항에 있어서,
    제 1 성분 코드 워드를 디코딩하는 단계는 다음 코드 워드에 의해 나타내어지는 상태 정보에 의거하여 개별적인 제 1 성분 코드 워드를 디코딩하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  75. 제 68 항 내지 제 74 항 중 어느 한 항에 있어서,
    제 2 성분 코드 워드를 디코딩하는 단계는 다음 코드 워드에 의해 나타내어지는 상태 정보에 기초되는 것을 특징으로 하는 디코딩 방법.
  76. 제 75 항에 있어서,
    현재 코드 워드의 정보와 다음 코드 워드에 의해 나타내어지는 상태 정보를 결합하여 디코더는 현재 코드 워드와 관련된 데이터 워드를 유니크하게 결정하는 것을 특징으로 하는 디코딩 방법.
  77. 제 68 항 내지 제 76 항 중 어느 한 항에 있어서,
    제 1 항 내지 제 46 항 중 어느 한 항의 방법에 의하여, 제 47 항 내지 제 65 항 및 제 67 항 중 어느 한 항의 장치에 의하여, 또는 제 66 항 또는 제 67 항의 인코더에 의하여 인코딩된 코드 워드를 디코딩하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  78. 제 64 항 내지 제 73 항 중 어느 한 항에 있어서,
    광학 기록 매체로부터 데이터를 디코딩하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  79. 코드 워드는 제 1 및 제 2 성분 코드 워드의 연결을 포함하고 제약된 패리티 검사 코드 워드를 유저 데이터의 세그먼트로 디코딩하는 디코더 장치에 있어서:
    복수의 제 1 성분 코드 워드를 복수의 유저 데이터 워드로 디코딩하는 제 1 디코딩 수단; 및
    상기 제 2 성분 코드 워드를 유저 데이터 워드로 디코딩하는 제 2 디코더 수단을 포함하고;
    상기 제 1 성분 코드 워드는 정규 제약된 코드 워드를 포함하고, 상기 제 2 성분 코드 워드는 패리티 관련 제약된 코드 워드를 포함하는 것을 특징으로 하는 디코더 장치.
  80. 제 79 항에 있어서,
    디코딩하기 전에 코드 워드를 복수의 제 1 성분 코드 워드와 제 2 성분 코드 워드로 분리하는 분리 수단을 더 포함하는 것을 특징으로 하는 디코더 장치.
  81. 제 79 항 또는 제 80 항에 있어서,
    제 1 성분 코드 워드를 디코딩하는 복수의 디코더 및 제 2 성분 코드 워드를 디코딩하는 디코더로부터 복수의 유저 데이터 워드 출력을 연결하는 연결 수단을 더 포함하는 것을 특징으로 하는 디코더 장치.
  82. 제 79 항 내지 제 81 항 중 어느 한 항에 있어서,
    디코딩하기 전에 제 1 성분 코드 워드와 제 2 성분 코드 워드를 역 프리코딩 하는 역 프리코더 수단을 더 포함하는 것을 특징으로 하는 디코더 장치.
  83. 제 82 항에 있어서,
    상기 역 프리코더는 성분 코드 워드를 NRZ 포맷으로부터 NRZI 포맷으로 변환도록 동작가능한 것을 특징으로 하는 디코더 장치.
  84. 제 79 항 내지 제 83 항 중 어느 한 항에 있어서,
    상기 제 1 디코더 수단은 다음 코드 워드에 의해 나타내어지는 상태 정보에 의거하여 개별적인 제 1 성분 코드 워드를 디코딩함으로써 제 1 성분 코드 워드를 디코딩도록 동작가능한 것을 특징으로 하는 디코더 장치.
  85. 제 79 항 내지 제 84 항 중 어느 한 항에 있어서,
    상기 제 2 디코더 수단은 다음 코드 워드에 의해 나타내어지는 상태 정보에 의거하여 개별적인 제 2 성분 코드 워드를 디코딩함으로써 제 2 성분 코드 워드를 디코딩도록 동작가능한 것을 특징으로 하는 디코더 장치.
  86. 제 85 항에 있어서,
    현재 코드 워드의 정보와 다음 정보 워드에 의해 나타내어지는 상태 정보를 결합하는 수단을 더 포함하고, 디코더는 현재 코드 워드와 관련된 데이터 워드를 유닉크하게 결정하는 것을 특징으로 하는 디코더 장치.
  87. 제 79 항 내지 제 86 항 중 어느 한 항에 있어서,
    상기 제 1 디코더 수단은 복수의 정규 제약된 디코더를 포함하는 것을 특징으로 하는 디코더 장치.
  88. 제 79 항 내지 제 87 항 중 어느 한 항에 있어서,
    상기 제 2 디코더 수단은 패리티 관련 제약된 디코더를 포함하는 것을 특징으로 하는 디코더 장치.
  89. 제 79 항 내지 제 88 항 중 어느 한 항에 있어서,
    제 1 항 내지 제 46 항 중 어느 한 항의 방법에 의해, 제 47 항 내지 제 65 항 및 제 67 항 중 어느 한 항의 장치에 의해, 또는 제 62 항 또는 제 67 항의 인코더에 의해 인코딩되는 코드 워드를 디코딩하도록 동작가능한 것을 특징으로 하는 디코더 장치
  90. 제 79 항 내지 제 89 항 중 어느 한 항에 있어서,
    광학 기록 매체로부터 데이터를 디코딩하도록 동작가능한 것을 특징으로 하는 디코더 장치.
  91. 코드 워드는 패리티 관련 제약된 코드 워드가 연결되는 복수의 정규 제약된 코드 워드를 포함하고, 제약된 패리티 검사 코드 워드를 유저 데이터의 세그먼트로 디코딩하는 디코더에 있어서:
    상기 복수의 정규 제약된 코드 워드를 디코딩하는 복수의 정규 제약된 디코더; 및
    패리티 관련 제약된 코드 워드를 디코딩하는 패리티 관련 제약된 디코더를 포함하는 것을 특징으로 하는 디코더.
  92. 제 79 항 내지 제 90 항 중 어느 한 항에 있어서 또는 제 91 항에 있어서,
    제 68 항 내지 제 78 항 중 어느 한 항의 방법에 따라 동작가능한 것을 특징으로 하는 장치 또는 디코더.
  93. 제 1 항 내지 제 46 항 중 어느 한 항의 방법에 의해, 제 47 항 내지 제 65 항 및 제 67 항 중 어느 한 항의 장치에 의해, 또는 제 66 항 및 제 67 항의 인코더에 의해 인코딩되는 데이터를 저장하는 것을 특징으로 하는 메모리 수단.
  94. 제 93 항에 있어서,
    광학 기록 매체인 것을 특징으로 하는 메모리 수단.
KR1020077011934A 2007-05-25 2004-10-26 변조 제약과 에러 제어를 가지는 정보를 인코딩 및디코딩하는 방법 및 시스템 KR20070074640A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020077011934A KR20070074640A (ko) 2007-05-25 2004-10-26 변조 제약과 에러 제어를 가지는 정보를 인코딩 및디코딩하는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020077011934A KR20070074640A (ko) 2007-05-25 2004-10-26 변조 제약과 에러 제어를 가지는 정보를 인코딩 및디코딩하는 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20070074640A true KR20070074640A (ko) 2007-07-12

Family

ID=38508660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077011934A KR20070074640A (ko) 2007-05-25 2004-10-26 변조 제약과 에러 제어를 가지는 정보를 인코딩 및디코딩하는 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20070074640A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140093248A (ko) * 2011-11-18 2014-07-25 쌘디스크 엔터프라이즈 아이피 엘엘씨 복수의 패리티 세그먼트를 갖는 코드워드를 디코딩하기 위한 시스템, 방법 및 장치들

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140093248A (ko) * 2011-11-18 2014-07-25 쌘디스크 엔터프라이즈 아이피 엘엘씨 복수의 패리티 세그먼트를 갖는 코드워드를 디코딩하기 위한 시스템, 방법 및 장치들

Similar Documents

Publication Publication Date Title
KR101114057B1 (ko) Rll 인코딩
KR101244580B1 (ko) 코더, 및 제약 d=1,r=2를 갖는 패리티 상보적 워드할당에 의한 코드의 코딩방법
JP3477106B2 (ja) 部分応答磁気記録チャネルのためのレート16/17(0,5)変調コードの装置および方法
KR20070054241A (ko) 코더와, r=2의 rmtr 제약을 갖는 코드의 코딩방법
US8078935B2 (en) Method and system for encoding and decoding information with modulation constraints and error control
US7339500B2 (en) Encoding method and decoding method
KR20010015164A (ko) 데이터 부호화 장치 및 방법
KR101211244B1 (ko) 모듈레이션 코딩 및 디코딩
US6204781B1 (en) General rate N/(N+1) (0, G) code construction for data coding
KR19980031982A (ko) 데이타 저장기기의 prml 코드 생성방법
JP4964429B2 (ja) 光ディスクのコピープロテクト方法及びコピープロテクトされた光ディスク
CN1307803C (zh) 用于转换以及解码数据比特流的方法和设备
US6377532B1 (en) Run-length limited encoding method and apparatus for use in a high density optical storage system
KR20070074640A (ko) 변조 제약과 에러 제어를 가지는 정보를 인코딩 및디코딩하는 방법 및 시스템
US7138931B2 (en) Recording and reproducing apparatus
Cai et al. A general construction of constrained parity-check codes for optical recording
Coene et al. Run-length limited parity-check coding for transition-shift errors in optical recording
Cai et al. On the design of efficient constrained parity-check codes for optical recording
Cai et al. Novel constrained parity-check code and post-processor for advanced blue laser disk
Cai et al. Performance bounds for parity coded optical recording channels with d= 1 constraint
Cai et al. Distance-Enhancing Constrained Codes for Optical Recording Channels
Cai et al. Distance-enhancing constrained codes with parity-check constraints for data storage channels
KR20020007289A (ko) 디지털 정보신호 재생 장치 및 방법
Cai et al. Constrained parity-check code and post-processor for advanced blue laser disc systems
Cai et al. Constrained Parity-Check Code and Post-Processor for Advanced Blue Laser Disk

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee