KR20070054241A - 코더와, r=2의 rmtr 제약을 갖는 코드의 코딩방법 - Google Patents

코더와, r=2의 rmtr 제약을 갖는 코드의 코딩방법 Download PDF

Info

Publication number
KR20070054241A
KR20070054241A KR1020077008290A KR20077008290A KR20070054241A KR 20070054241 A KR20070054241 A KR 20070054241A KR 1020077008290 A KR1020077008290 A KR 1020077008290A KR 20077008290 A KR20077008290 A KR 20077008290A KR 20070054241 A KR20070054241 A KR 20070054241A
Authority
KR
South Korea
Prior art keywords
coding
code word
state
bit
states
Prior art date
Application number
KR1020077008290A
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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20070054241A publication Critical patent/KR20070054241A/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/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • 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/14Digital recording or reproducing using self-clocking codes
    • 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
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • G11B2020/145317PP modulation, i.e. the parity preserving RLL(1,7) code with rate 2/3 used on Blu-Ray discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

현재 공지된 코드는 비트 검출기의 성능을 감소시키는 연속적인 2T 런으로 이루어진 긴 열을 갖는다. 2의 RMTR 제약을 갖는 코드를 사용하여서 비트 검출을 향상시킨다. 2의 RMTR 제약을 제공하는 시스템적 방식으로 구성된 코드가 존재한다. 이러한 코드의 일부의 변동이 개시되어 있고, 여기서 하나 이상의 서브코드가 사용되고, 코딩 상태는 선행비트에 관해 다소 엄격한 제약에 따라 순서적으로 된 코딩 클래스들로 분할되고, 코드워드는 후미 비트들에 관해 다소 엄격한 제약에 따라 순서적으로 된 코드워드 타입들로 분할된다. 그래서, 주어진 서브코드마다, 타입 t의 코드워드는, 다음 서브코드의 연속하는 코드워드가 지수 Tmax+1-t를 갖는 코딩 클래스의 코딩 상태들 중 하나에 속하는 경우 다음 서브코드의 코드워드와 연결될 수 있다.
코더, 변환방법, RMTR 제약, 코딩 클래스, 코딩 상태, 기록매체.

Description

코더와, R=2의 RMTR 제약을 갖는 코드의 코딩방법{CODER AND A METHOD OF CODING FOR CODES HAVING A RMTR CONSTRAINT OF R=2}
본 발명은, 전체 채널 코드에 의해 사용자 비트스트림을 코딩된 비트스트림으로 변환하는 방법과, 상기 전체 채널 코드에 의해 사용자 비트스트림을 코딩된 비트스트림으로 변환하는 방법을 사용한 기록장치와, 상기 전체 채널 코드에 의해 사용자 비트스트림을 코딩된 비트스트림으로 변환하는 방법을 사용하여 코딩된 사용자 비트 스트림을 디코딩하는 재생장치에 관한 것이다.
런길이 제한 코딩의 문헌에는, 반복된 최대 천이 런, 즉 RMTR 제약을 종종 MTR제약이라고도 한다. 초기에, "Maximum transition run codes for data storage systems", IEEE Transactions on Magnetics, Vol.32.No.5,pp.3992-3994, 1996,(d=0일 경우)에서 J.Moon 및 B.Brickner에서 소개된 것과 같은 최대 천이 런(MTR) 제약은, NRZ 비트스트림에서 연속적인 "1"비트의 최대 수를 특정한다(여기서, "1"은 관련된 쌍극 채널 비트스트림에서의 천이를 나타낸다). 마찬가지로, (쌍극) NRZI 비트스트림에서, MTR 제약은 연속적인 1T 런의 수를 제한한다. 상술한 것처럼, MTR 제약은, d 제약과 조합될 수 있고, 이 경우에 MTR 제약은, 블루레이 디스크(BD) 포맷에서 사용된 17PP 코드의 경우처럼, 연속적인 최소 런길이의 수를 제한한다. MTR 코드의 사용의 배경이 되는 기본 아이디어는, 소위 우세(dominant) 오차 패턴, 즉 고밀도 기록에 사용된 부분 응답 최대 유사도(PRML) 시퀀스 검출기에서 대부분의 오차가 생기게 하는 패턴들을 제거한다는 것이다. d=0에 대해서 연속적인 천이의 수를 최대 2로 한정하는 고효율 16→17 MTR 코드는, T.Nishiya,K.Tsukano,T.Hirai,T.Nara,S.Mita,in "Turbo-EEPRML: An EEPRML channel with an error correcting post processor designed for 16/17 rate quasi MTR code", Proceeding Globecom'98,Sydney,pp.2706-2711,1998에 기재되어 있다. RMTR 제약에 대한 또 다른 찬성론은, 비터비(PRML)비트 검출기의 백-트랙킹 깊이(또는 트레이스-백 깊이)를 한정하는데 있다. US 5,943,368의 개시내용은, ((최소) 런길이의 긴 반복일 수 있는) 단일 주파수 성분의 발생을 금지하는 채널 비트스트림으로 데이터를 인코딩하는데 목적이 있다.
최근에, RMTR 제약은, 광 기록 공동체에서 약간의 관심을 회복하였다. K.Kayanuma,C.Noda 및 T.Iwanaga, "Eight to Twelve Modulation Code for High Density Optical Disk", Technical Digest ISOM-2003,Nov.3-7 2003,Nara,Japan,paper We-F-45,pp.160-161에 개시된 ETM 코드는, d=1, k=10 및 r=5 제약을 갖고, 이러한 r제약은 17PP의 RMTR보다 낮은 제약이다. d=1 및 RMTR r=2에 대해, 이론적인 샤논(Shannon) 용량이 다음이 된다.
Figure 112007028001473-PCT00001
그래서, 2/3보다 좋은 비율을 갖는 코드는 실현 가능하다. 훨씬 더 공격적인 RMTR 제약 r=1에 대해, 이론적 샤논 용량이 다음이 된다.
Figure 112007028001473-PCT00002
이것에 의해 밝혀진 것은, r=2가 17PP 코드의 코드 비율 이상의 코드비율에 대해 가능한 최하위 RMTR 제약이다는 것이다.
최근, 국제출원일 2000년 11월 11일, PCT 특허 WO 02/41500 A1, K.A.S.Schouhamer Immink, "Method and Apparatus for Coding Information, Method and Apparatus Decoding Coded Information, Method of Fabricating a Recording Medium, the Recording Medium and Modulated Signal"와, 2003년 3월, 통신에 관한 IEEE 트랜잭션, K.A.S.Immink,J.-Y.Kim,S.-W.Suh,S.K.Ahn,"Efficient dc-Free RLL Codes for Optical Recording"에는, C(d=1, k=∞, r=∞)=0.6942로 나타낸 d=1일 경우 상기 샤논 용량에 매우 근접한 코드비율을 갖는 약간의 매우 효율적인 d=1 코드가 개시되어 있었다. 일례로서, 1-η=0.28%이도록 코드효율
Figure 112007028001473-PCT00003
을 갖는 R=9/13의 비율인 코드를 구현하였다. 그러나, 이들의 매우 효율적인 RLL 코드는 RMTR 제약의 부재(r=∞)를 겪게 되고; 따라서, 후자의 9-대-13 d=1 코드는, r=2의 d=1 코드에서 제공된 (변경된 PRML 시퀀스 검출을 통해) 5%의 실제 용량 이득을 산 출할 수 없다.
RMTR 제약으로 인한 성능 이득은, 블루레이 디스크(BD) 시스템으로부터 얻어진 고밀도 광학 기록 채널에 대해 실험적으로 연구되어 왔다. 표준 23.3-25-27GB부터 35GB까지 증가된 디스크 용량을 갖는 밀도가 증가된 BD 재기록 가능형 시스템을 사용하여 실험을 하였다. PRML(비터비) 비트 검출을 이용하였다.
비터비 비트 검출기의 성능은, 시퀀스 증폭 마진(SAM) 분석에 의거하여 측정되었다. 35GB정도의 용량의 관련 범위에서, SAMSNR에서의 1dB 이득은, 약 6% 디스크 용량 증가를 의미한다.
RMTR 제약이 서로 다른 채널 코드는, 서로 비교된다. 부과된 RMTR제약으로 인한 판독 채널 성능 이득과 그에 대응한 기록 채널 이득을 분리하기 위해서, 2개의 서로 다른 비터비 비트 검출기: 하나는 RMTR 제약인 것을 알고 다른 하나는 알지 못하는 비터비 비트 검출기를 사용하였다. 제 2의 경우에, 성능 이득은, (사용된 기록 채널의 특성에 보다 잘 일치하도록) 디스크에 기록된 데이터의 개선된 스펙트럼 콘텐트에만 기인될 수 있다.
(BD 시스템에 사용된 것처럼) RMTR 제약 r=6을 갖는 17PP 채널 코드를 사용하는 경우, 11.66dB의 SAMSNR은 기지의 RMTR 및 미지의 RMTR 비트 검출기 양쪽에 대해 달성된다, 즉 RMTR 관련 성능 이득은 판독채널에서 관찰되지 않는다. r=2인 채널 코드를 사용하는 경우, 그에 따라서 12.55dB 및 12.07dB의 SAMSNR은 기지의 RMTR 비트 검출기와 미지의 RMTR 비트 검출기에 대해 달성된다. 여기서 알 수 있듯이, 약 0.9dB의 총 RMTR 관련 SAMSNR 증가는, 약 5% 디스크 용량 증가에 대응하는 r=6의 경우에 대해 얻어진다.
(종래기술의 단점)
25GB의 블루레이 디스크(예를 들면, 33-37GB의 범위에서 12cm 디스크의 용량)를 넘는 d=1 제약 저장 시스템에 대한 매우 높은 밀도에서, 연속적인 2T런(run)은, 비트 검출의 치명적인 약점이다. 양쪽에서의 보다 큰 런길이로 경계지워진 상기 2T 런의 시퀀스는, 2T-열(train)이라고 한다.
현재, 블루 디스크의 17PP 코드는 소위 r=6의 RMTR 제약(반복된 최대 천이 런길이)을 갖고, 이것은, 연속적인 최소 런길이의 수가 6으로 한정되거나, 동일하게, 2T 열의 최대 길이는 12채널 비트이다는 것을 의미한다. 상기 17PP 코드는, DC 제어용 패리티 보존 원리에 의거한다.
연속적인 2T 런으로 이루어진 이들 긴 열은 비트 검출기의 성능을 감소시키는 것이 현재 공지된 코드의 단점이다.
(본 발명의 목적)
따라서, 본 발명의 목적은, 비트 검출기의 성능을 향상시키는 특별하게 선택된 제약을 갖는 코드를 제공하는데 있다.
(해결책)
이러한 본 발명의 목적은, 이러한 단계들을 수행하여 이루어진다.
- M 비트 정보 워드는 N비트 코드 워드로 변환되고,
- 상기 전체 채널 코드는 순환 반복 순으로 소정의 반복주기를 갖는 서브코드의 수 S의 연결을 통해 실현되고, 각 서브 코드는 ni 비트 코드 워드로 변환된 mi 비트 정보워드를 수신하고, 여기서 mi은 서브코드마다의 정수 특성이고, ni는 서브코드마다의 정수 특성이고, 서브코드마다, 상기 특성 정수 ni는 상기 특성 정수 mi보다 커서, 상기 반복 주기 내의 모든 서브코드의 mi수의 합이 M이고, 상기 반복 주기 내의 모든 서브코드의 ni수의 합이 N이고,
- 서브코드마다, 그의 ni 비트 코드 워드는, 다수의 Tmax 서로 다른 코드워드 타입로 분할되고, 주어진 서브코드마다, 상기 다음 서브코드의 상기 연속적인 코드 워드가 지수 Tmax+1-t를 갖는 코딩 클래스의 코딩 상태 중 하나에 속하는 경우 다음 서브코드의 ni+1 비트 코드 워드와 타입 t(여기서, t는 1과 Tmax 사이의 정수임)의 ni 비트 코드 워드를 연결하도록 코딩 상태의 Tmax 코딩 클래스로 배치된다.
17PP에 관해 동일한 d=1 제약을 사용하여, r=2의 감소된 RMTR 제약에 의해, 비트 검출 성능이 보다 좋아질 수 있다. 이 비트 검출 성능은, 상당히 향상되어서, r=6을 이용하는 17PP 코딩과 비교하여 상당히 용량을 증가(5%정도)시킬 수 있다. 추가로, 1.25%에서 1.4%까지의 여분의 용량 증가는, 훨씬 더 효율적인 코드 구성에 의해 실현될 수 있어, 17PP 코드의 R=2/3보다 좋은 코드 비율을 산출한다.
이러한 코드를 구성하기 위해서, 상기 코드는 함께 전체 코드를 구성하는 다수의 서브코드로 분할된다. 이 서브코드는, 순서적으로 사용되고, 순환적으로 반복된다. 각 서브코드를 사용하여 mi 비트 정보워드를 ni 비트 코드 워드로 변환하는 수신된 mi 비트 정보워드를 처리한다. 이것은, 정보 워드의 코드 워드로의 체계적 코딩을 확실하게 한다. r 제약과 함께 d 제약을 확실하게 컴파일하기 위해서, ni 비트 코드 워드는, 다수의 Tmax 서로 다른 코드워드 타입로 분할되고, 주어진 서브코드마다, 상기 다음 서브코드의 상기 연속적인 코드 워드가 지수 Tmax+1-t를 갖는 코딩 클래스의 코딩 상태 중 하나에 속하는 경우 다음 서브코드의 ni+1 비트 코드 워드와 타입 t(여기서, t는 1과 Tmax 사이의 정수임)의 ni 비트 코드 워드를 연결하도록 코딩 상태의 Tmax 코딩 클래스로 배치된다. 그래서, 코드 워드 타입은, 코딩 클래스를 사용하여 이로부터 코딩 상태를 선택하는 것을 나타낸다. 이러한 코딩 클래스의 선택을 규정함으로써, 다음 정보 워드를 상기 다음 서브코드를 사용하여 코드워드로 인코딩하는 것은, 현재 코드 워드에 첨부된 코드 워드가 r 제약을 함께 갖는 d 제약과 일치하도록 수행된다.
상기 방법의 실시예에서는, 코드 워드 타입을 상기 코드 워드의 다수의 후미 비트로 판정한다.
코드 워드의 후미 비트를 사용하여 코드 워드 타입을 판정할 수 있는데, 그 이유는, 코드 워드의 후미 비트들이, 후미 비트들을 갖는 코드 워드와 그 코드 워 드의 후미 비트들에 연결된 다음 코드 워드와의 연결의 d 제약 및 r 제약과의 호환에 실질적인 영향을 주기 때문이다.
상기 방법의 다른 실시예에서는, 적어도 하나의 선행하는 코드 워드의 다수의 비트와, 상기 코드 워드의 모든 비트에 의해 코드 워드 타입을 판정한다.
상기 코드 워드의 크기가 r 제약에 영향을 준 비트의 수와 비교하여 비교적 짧은 경우, 단일 코드 워드는 더 이상 코드 워드 타입을 유일하게 정의할 충분한(후미) 비트들이 없어도 된다. 이러한 문제점을 해결하기 위해서, 다수의 코드 워드는, 앙상블로서 함께 생각되어도 되어서, 이러한 앙상블의 후미 비트는 다음 코드 워드를 얻는데 사용되는 코딩 클래스를 판정할 목적으로 그 앙상블의 코드 워드 타입을 정의한다.
상기 방법의 다른 실시예에서는, 상기 연결된 N 비트 코드 워드가 dkr 제약을 만족하고, 여기서 d 및 k는 코딩된 비트스트림에 있는 2개의 연속적인 1비트들 사이에서의 0비트들의 최소 수 및 최대 수를 각각 나타내고, 또 r은 각각 1비트씩 앞선 0비트들의 연속적인 최소 런의 최대 수를 나타낸다.
k제약의 도입에 의해, 이를테면, 수신기에서 상기 필요한 변경을 위한 제어루프의 목적을 위해 채널에 대한 코드의 변경을 향상시킬 수 있고, 타이밍 복구에도 마찬가지로 필요하다.
상기 방법의 다른 실시예에서, 서로 다른 코드 워드 타입의 수 T와, 적어도 하나의 코딩 상태에 있도록 정의된 비어 있지 않은 코딩 클래스의 수 T는 Tmax=1+(d+1)x(r+1)이하이다.
비어 있지 않은 코딩 클래스의 수를, 식 Tmax=1+(d+1)x(r+1)에 의해 d 제약과 r 제약으로 정의된 Tmax 이하인 T의 값으로 한정하는 것에 의해, 최소량의 코딩 클래스와 코딩 상태로 상기 d 및 r 제약을 만족시켜 그 코딩 클래스의 수가 최대값 Tmax인 경우와 비교하여 복잡성을 감소시키는 콤팩트하고 효율적인 코드를 설계할 수 있다.
상기 방법의 다른 실시예에서, T로 나타낸 서로 다른 코드 워드 타입 및 코딩 클래스의 수는 Tmax=1+(d+1)x(r+1)이다. 빈 코딩 클래스를 갖지 않는 코드일 경우에, 코딩 클래스의 최적의 수에 대한 식은, T가 Tmax와 같은 1+(d+1)x(r+1)이다.
상기 방법의 다른 실시예에서, 제약이 d=1 및 r=2이면, Tmax는 7이다.
본 발명에 따른 제약 d=1 및 r=2를 갖는 코드는, 최대 7코딩 클래스로 실현될 수 있어, 그 코딩 클래스의 수를 인코딩 및 디코딩의 복잡성을 제한하도록 제한한다.
상기 방법의 다른 실시예에서, T=Tmax=7이고, 서브코드의 수 S는 6이다.
상기 제약이 d=1, r=2이면, 코딩 클래스의 최대 수는 7이고, 6개의 서브코드만을 사용하여 코드를 구성할 수 있어, 상기 인코딩 및 디코딩의 복잡성을 더욱 제한할 수 있다.
상기 방법의 다른 실시예에서, 6개의 서브코드 중 5개는, m=8 및 n=12로 매 핑을 하고, 6번째 서브코드는 m=8 및 n=11로 매핑한다. 나머지 5개의 서브코드의 매핑과 서로 다른 매핑으로 적어도 하나의 서브코드를 사용하는 것에 의해, 모든 서브 코드에 대한 모든 매핑이 동일한 경우와 비교하여 코딩 비율이 채널 용량에 보다 근접하게 조정될 수 있다.
그 결과의 전체 코드는, 채널 용량에 보다 근접하게 접근되어서 가용 채널 용량을 보다 효율적으로 사용하게 된다.
상기 방법의 다른 실시예에서, T=Tmax=7이고, 서브코드의 수 S는 3이다.
코드가 3개의 서브코드만으로 이루어진 세트를 사용하여 7개의 코딩 클래스를 갖도록 구성될 수 있다는 것을 알게 되었다. 이것에 의해 인코딩 및 디코딩의 복잡성을 또 제한할 수 있다.
상기 방법의 다른 실시예에서, 3개의 서브코드 중 2개는, m=9 및 n=13으로 매핑을 하고, 3번째 서브코드는 m=9 및 n=14로 매핑한다.
나머지 2개의 서브코드의 매핑과 서로 다른 매핑으로 적어도 하나의 서브코드를 사용하는 것에 의해, 모든 서브 코드에 대한 모든 매핑이 동일한 경우와 비교하여 코딩 비율이 채널 용량에 보다 근접하게 조정될 수 있다. 그 결과의 전체 코드는, 채널 용량에 보다 근접하게 접근되어서 가용 채널 용량을 보다 효율적으로 사용하게 된다.
상기 방법의 다른 실시예에서, T=Tmax=7이고, 서브코드의 수 S는 1이다.
코드가 1개의 서브코드만을 사용하여 7개의 코딩 클래스를 갖도록 구성될 수 있다는 것을 알게 되었다. 이것에 의해 인코딩 및 디코딩의 복잡성을 또 제한할 수 있다.
상기 방법의 다른 실시예에서, 단일 서브코드는, m=4 및 n=6으로 매핑을 한다.
m=4 및 n=6으로 매핑을 하는 것에 의해, 실질적으로 복잡성을 감소시키고 연판정 디코딩을 할 수 있다.
상기 방법의 다른 실시예에서, 단일 서브코드는, m=2 및 n=3으로 매핑을 한다.
m=2 및 n=3으로 매핑을 하는 것에 의해, 실질적으로 복잡성을 감소시키고 연판정 디코딩을 할 수 있다.
상기 방법의 다른 실시예에서, 서브코드마다, 상기 코딩 상태의 T≤Tmax 비어 있지 않은 코딩 클래스 각각은 p1,p2,...,pmax코딩 상태를 포함하고, 여기서, 비어 있지 않은 코딩 클래스의 상태의 논제로(non-zero) 수 p1≤p2...≤pmax를 나타내는 수들에 대해서, 또한, pmax가 상기 고려대상의 서브코드의 코딩 상태의 총 수를 나타내면, 주어진 고려 대상의 클래스 "i"의 pi코딩 상태 각각도 "i"보다 큰 지수를 갖는 모든 클래스의 코딩 상태이도록 사소한 비어 있는 코딩 클래스들을 생략한다.
상기 방법의 다른 실시예에서, d=1 및 r=2이고, 서브코드마다 후미 비트는, 다음 세트의 규칙으로 서로 다른 코드 워드 타입에 대해 특정된다. 즉,
제1 타입의 n비트 코드 워드는 "00"으로 끝나고,
제2 타입의 n비트 코드 워드는 "0010"으로 끝나고,
제3 타입의 n비트 코드 워드는 "001010"으로 끝나고,
제4 타입의 n비트 코드 워드는 "00101010"으로 끝나고,
제5 타입의 n비트 코드 워드는 "001"로 끝나고,
제6 타입의 n비트 코드 워드는 "00101"로 끝나고,
제7 타입의 n비트 코드 워드는 "0010101"로 끝난다.
여기서, 서로 다른 코딩 클래스에 속하는 코드 워드의 선행 비트는, 다음의 세트의 규칙으로 결정된다. 즉,
제1 클래스의 코딩 상태의 n비트 코드 워드는, "00"으로 시작하고,
제2 클래스의 코딩 상태의 n비트 코드 워드는, "00" 또는 "0100"으로 시작하고,
제3 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100" 또는 "010100"으로 시작하고,
제4 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100" 또는 "01010100"으로 시작하고,
제5 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100" 또는 "100"으로 시작하고,
제6 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100", "100" 또는 "10100"으로 시작하고,
제7 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100", "100", "10100" 또는 "1010100"으로 시작한다.
제약이 d=1 및 r=2이고, 코딩 클래스가 7개인 코드를 사용하여 정보 워드를 코드 워드로 변환하는 방법에 의해, 코드 워드의 후미 비트로 정의된 코드 워드 타입의 세트와, 그 코딩 상태에 의해 생성된 코드 워드의 선행 비트로 정의된 코딩 상태를 포함한 코딩 클래스의 세트가 된다.
상기 방법의 다른 실시예에서, 상기 6개의 서브코드와 8비트 입력 워드일 경우에는, 제1 서브코드에 대해 코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수는, p1=11, p2=15, p3=17, p4=17, p5=24, p6=27 및 p7=28이 되고, 여기서 제2 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수는, p1=10, p2=14, p3=15, p4=16, p5=22, p6=25 및 p7=26이 되고, 제3 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수는, p1=9, p2=13, p3=14, p4=14, p5=20, p6=23 및 p7=24가 되고, 제4 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수는, p1=8, p2=11, p3=13, p4=13, p5=19, p6=21 및 p7=22가 되고, 제5 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수는, p1=8, p2=11, p3=12, p4=12, p5=17, p6=19 및 p7=20이 되고, 제6 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수는, p1=7, p2=10, p3=11, p4=12, p5=16, p6=18 및 p7=19가 된다.
6개의 서브코드를 사용한 코딩 방법의 경우, 서브코드 당 코딩 클래스 당 코딩 상태의 양이 있다. 그 설계는, 서브코드 모두에 대해 고려된 코딩 상태의 최대 수를 최소화하도록 선택된다.
각 서브코드는, 동일한 양의 코딩 클래스를 포함하지만 그 코딩 클래스는 상기 고려 대상의 서브코드에 의존한 서로 다른 코딩 상태의 수를 포함한다. 상기에서 알 수 있듯이, 서브코드마다 각 코딩 클래스에 대한 코딩 상태의 수는, 그 서브코드의 코딩 클래스의 수에 따라서 증가한다.
상기 방법의 다른 실시예에서, 상기 3개의 서브코드와 9비트 입력 워드일 경우에는, 제1 서브코드에 대해 코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수는, p1=7, p2=10, p3=11, p4=11, p5=16, p6=18 및 p7=19가 되고, 여기서 제2 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수는, p1=8, p2=12, p3=13, p4=13, p5=19, p6=21 및 p7=22가 되고, 제3 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수는, p1=10, p2=14, p3=15, p4=16, p5=22, p6=25 및 p7=26이 된다.
3개의 서브코드를 사용한 코딩 방법의 경우, 이들은 서브코드 당 코딩 클래스 당 코딩 상태의 양이다.
상기 방법의 다른 실시예에서, 상기 1개의 서브코드와 4비트 입력 워드일 경우에는, 코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수는, p1=3, p2=4, p3=5, p4=5, p5=7, p6=8 및 p7=8이 된다. 1개의 서브코드를 사용한 코딩 방법의 경우, 서브코드 당 코딩 클래스 당 코딩 상태의 양이 있다. 그 설계는, 서브코드 모두에 대해 고려된 코딩 상태의 최대 수를 최소화하도록 선택된다.
상기 방법의 다른 실시예에서, 유한 k 제약은 여분의 코딩 상태에 의해 실현된다. 여부의 코딩 상태를 도입하는 것에 의해, 상기 방법이 새로운 코딩 상태를 선택하여, 모두 제로 코드 워드가 여분의 상태를 갖지 않는 코드에서 다음의 모두 제로 코드 워드가 방출되는 그 상태로부터 방출되는 경우에 다음 정보 워드의 인코딩을 시작할 수 있다. 그래서, 유한상태 머신은, 여분의 코딩 상태를 사용하여 유한 k 제약을 자동으로 확실히 만족시키도록 설계될 수 있다.
상기 방법의 다른 실시예에서, 1개의 서브코드와 2비트 입력 워드의 상기 경우에, 사소하지 않은 코딩 클래스의 수 T는 6이고, 이때 코딩 클래스 수 4가 비어 있는 코딩 클래스이고, p4=0을 산출하고, 여기서 코딩 상태의 6개의 사소하지 않은 코딩 클래스 각각에 대해 코딩 상태의 수는 p1=2, p2=2, p3=3, p5=4, p6=5 및 p7=5가 된다.
이것은, 코딩하지 않은 상태, 즉 비어 있는 코딩 클래스를 포함한 코딩 클래스로 이루어진 코딩 방법의 구현이다. 상기 나타낸 코수로 코딩 클래스들로 이루어진 상기 세트를 선택하는 것에 의해, 2 대 3 매핑에 의해 코드를 효율적으로 구성할 수 있다. 상기 2 대 3 매핑에 의해, 연판정 검출을 효율적으로 구현할 수 있는데, 그 이유는, 그것이 유한상태머신의 각 상태에서 떠나는 분기의 수의 관점에서 복잡성을 감소시키기 때문이고, 이때의 분기의 수는 2m과 같다.
상기 방법의 다른 실시예에서, 패리티 보존 특성은, 다수의 여분의 코딩 상태에 의해 실현된다.
코딩 클래스에서의 여분의 코딩 상태는, 패리티 보존 특성이 현재의 상태에서 위반될 때마다 사용될 수 있는 새로운, 여분의 코딩 상태를 제공하여서, 전체의 패리티 보존 코드를 얻는다.
상기 방법의 다른 실시예에서, 유한 k 제약은, 상기 코드의 기본적인 2 대 3 매핑 뒤에 바로 여분의 코딩 쉘(shell)에 의해 실현된다.
상기 방법의 다른 실시예에서, 제약이 d=2, r=2이고, Tmax는 10과 같다.
10개의 코딩 클래스에 의해서, 정보 워드를, 제약 d=2,r=2를 따른 코드 워드로 변환하는 방법을 구성할 수 있다.
상기 방법의 다른 실시예에서, 코딩 클래스의 수 T는, 10인 코딩 클래스의 최대 수 Tmax와 같고, 서브코드의 수 S는 4이다.
상기 방법의 다른 실시예에서, 4개의 서브코드 중 3개의 서브코드는, m=8, n=15로 매핑을 하고, 4번째 서브코드는 m=8, n=14로 매핑을 한다. 이것에 의해, 채널 용량의 근접하게 접근할 수 있다.
상기 방법의 다른 실시예에서, d=2, r=2이고, 서브코드마다 후미 비트들은, 다음의 세트의 규칙으로 서로 다른 코드 워드 타입에 대해 특정된다. 즉,
제1 타입의 n비트 코드 워드는 "000"으로 끝나고,
제2 타입의 n비트 코드 워드는 "000100"으로 끝나고,
제3 타입의 n비트 코드 워드는 "000100100"으로 끝나고,
제4 타입의 n비트 코드 워드는 "000100100100"으로 끝나고,
제5 타입의 n비트 코드 워드는 "00010"으로 끝나고,
제6 타입의 n비트 코드 워드는 "00010010"으로 끝나고,
제7 타입의 n비트 코드 워드는 "00010010010"으로 끝나고,
제8 타입의 n비트 코드 워드는 "0001"로 끝나고,
제9 타입의 n비트 코드 워드는 "0001001"로 끝나고,
제10 타입의 n비트 코드 워드는 "0001001001"로 끝난다.
여기서, 서로 다른 코딩 클래스에 속하는 코드 워드의 선행 비트는, 다음의 세트의 규칙으로 결정된다. 즉,
제1 클래스의 코딩 상태의 n비트 코드 워드는, "000"으로 시작하고,
제2 클래스의 코딩 상태의 n비트 코드 워드는, "000" 또는 "001000"으로 시작하고,
제3 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000" 또는 "001001000"으로 시작하고,
제4 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000" 또는 "001001001000"으로 시작하고,
제5 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000" 또는 "01000"으로 시작하고,
제6 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000" 또는 "01001000"으로 시작하고,
제7 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000" 또는 "01001001000"으로 시작하고,
제8 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000" 또는 "1000"으로 시작하고,
제9 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000", "1000" 또는 "1001000"으로 시작하고,
제10 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000", "1000", "1001000" 또는 "1001001000"으로 시작한다.
상기 방법의 다른 실시예에서, 상기 4개의 서브코드와 8비트 입력 워드일 경우에는, 제1 서브코드에 대해 코딩 상태의 T=10 클래스 각각에 대한 코딩 상태의 수는, p1=8, p2=11, p3=12, p4=12, p5=16, p6=17, p7=18, p8=24, p9=26 및 p10=26이 되고, 여기서 제2 서브코드에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수는, p1=7, p2=10, p3=11, p4=11, p5=15, p6=16, p7=16, p8=21, p9=23 및 p10=24가 되고, 제3 서브코드에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수는, p1=7, p2=9, p3=10, p4=10, p5=13, p6=14, p7=15, p8=19, p9=21 및 p10=22가 되고, 제4 서브코드에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수는, p1=6, p2=8, p3=9, p4=9, p5=12, p6=13, p7=13, p8=18, p9=19 및 p10=20이 된다.
4개의 서브코드를 사용한 코딩 방법의 경우, 이들은 서브코드 당 코딩 클래스 당 코딩 상태의 양이다. 그 설계는, 서브코드 모두에 대해 고려된 코딩 상태의 최대 수를 최소화하도록 선택된다.
각 서브코드는, 동일한 양의 코딩 클래스를 포함하지만 그 코딩 클래스는 상기 고려 대상의 서브코드에 의존한 서로 다른 코딩 상태의 수를 포함한다. 상기에서 알 수 있듯이, 서브코드마다 각 코딩 클래스에 대한 코딩 상태의 수는, 그 서브코드의 코딩 클래스의 수에 따라서 증가한다.
이하, 본 발명을 도면 및 테이블에 의거하여 설명하겠다.
도 1은 3개의 서브코드의 반복으로 이루어진 코드를 나타낸다.
도 2는 d=1 및 r=2 RLL 제약에 대한 상태 천이도를 나타낸다.
도 3은 연속적인 디코딩 단계를 나타낸다.
도 4는 9비트 입력워드에 대한 유도(guided) 스크램블링을 사용한 DC 제어용 포맷을 나타낸다.
도 5는 6개의 서브코드의 반복으로 이루어진 코드를 나타낸다.
도 6은 8비트 입력 워드에 대한 유도 스크램블링을 사용한 DC제어용 포맷을 나타낸다.
도 7은 1심볼 룩어헤드 슬라이딩 블록 디코딩을 나타낸다.
도 8은 연속적인 디코딩 단계를 나타낸다.
도 9는 연판정 비트 검출 및 단일 입출력(SISO:Soft-Input-Soft-Output) RLL 디코더를 사용한 기록 및 재생 시스템을 나타낸다.
도 10은 4개의 서브코드의 반복으로 이루어진 코드를 나타낸다.
도 11은 d=2 및 r=2 RLL 제약에 대한 상태 천이도를 나타낸다.
(섹션 1)
9비트 정보 워드에 대한 d=1, r=2 코드
상술한 것처럼, 조합된 RLL제약 d=1 및 r=2의 샤논 용량은, C(d=1, k=∞, r=2)=0.679286이 된다. 사용자 비트를 채널 비트 상에 27 대 40으로 매핑하는 코드는 구성 가능할 수도 있는데, 그 이유는, 비율 R=0.675≤C(d=1, k=∞, r=2)를 갖기 때문이고; 이러한 새로운 코드의 효율 η=R/C(d=1, k=∞, r=2)는, 이론적 상한치와 비교하여 작은 부분만 1-η=0.63%를 잃는 것이다. 명백하게는, 27비트 엔트리를 갖는 코드북은, 너무 커서 실용적으로 사용될 수 없다. 이러한 문제를 해결하기 위해 제안한 해결책은, J.J.Ashley and B.H.Marcus,"Time-Varying Encoders for Constrained Systems: an Approach to Limiting Error Propagation", IEEE Transactions on Information Theory,Vol.46,No.3,pp.1038-1043,May 2000에 제시된 알고리즘의 라인에 따라서 행한다는 것이다. 후자의 접근법은, 다수의 상태에서의 다수의 코드의 연결을 위해 효율적인 슬라이딩 블록 코드의 구성에 사용된, IEEE Transaction on Information Theory, Vol.IT-29,1983,pp.5-22에서 "Algorithms for Sliding Block Codes. An Application of Symbolic Dynamics to Information Theory"로 R.L.Adler,D.Coppersmith, and M.Hassner가 기재한 것과 같은 공지된 상태 분할 알고리즘 또는 ACH 알고리즘을 일반화하고, 이때 인코딩 및 디코딩은 일 상태에서 다음 상태로 순환적으로 진행한다. 실제로, 비율 R=27/40의 새로운 코드에 대해, 전체 코드는, 각각의 매핑이 9 대 13, 9 대 13 및 9 대 14인 C1,C2,C3로 나타낸 3개의 서브코드의 순환 연결로서 실현될 수 있다. 이러한 반복은 도 1에 도시되어 있다.
도 1은 3개의 서브코드 C1,C2,C3의 반복을 나타낸다. 사용자 워드(1a,1b,1c,1d,1e,1f)는 9비트이다. 그 서브코드의 반복주기(3)는, 화살표로 나타내었고 3개의 서브코드 C1,C2,C3의 반복으로 이루어진다. 사용자 워드(1a,1b,1c,1d,1e,1f)는 채널워드(2a,2b,2c,2d,2e,2f)로 변환되고, 연결 후 코딩된 비트 스트림(4)을 형성한다. 상기 서브코드 중 하나는 9비트 사용자 워드를 14비트 채널워드, 즉 코드 워드로 변환하고, 나머지 서브코드는 사용자 워드를 13비트 채널워드로 변환한다.
일반적인 경우에, 상기 전체 코드는 다수의 S개 서브코드로 실현된다. 일반화된 ACH 알고리즘은, 서브코드마다 하나씩, S개의 근사 고유벡터로 이루어진 세트를 검색하되, 이때
Figure 112007028001473-PCT00004
는 k번째 서브코드에 대한 근사 고유벡터의 i번째 계수를 나타내고, 상기 계수는, RLL 제약을 설명하는 대응한 상태천이도(STD)의 모든 상태 i와, (k번째 서브코드에 대해 매핑 mk 대 nk를 갖는) 모든 서브코드 k에 대해 부등식의 세트를 만족시킨다.
Figure 112007028001473-PCT00005
(3)
이때, k=S일 경우, 서브코드의 순환 반복 주기로 인해 지수 k+1을 갖는 다음 서브코드는 1과 같은 지수를 갖는 서브코드이다. 상기 식에서, D는 소위 STD용 인접 매트릭스 또는 연결 매트릭스를 나타내고: 그 매트릭스 원소는 그에 대응한 2개의 STD 상태가 그래프에서 연결된 경우 1이고, 그들이 연결되지 않은 경우 0이다. RLL 제약 d=1,r=2의 새로운 코드에 대해, 3개의 서브코드의 파라미터는, m1=m2=m3=9, n1=13, n2=13, n3=14이다. (이때, 이들 3개의 매핑들 중 어떠한 스크램블링된 순서도 또 다른 코드 구성에 대해 유효한 순서이고, 본 발명의 범위 내에 속한다.) 도 1에는, (C1,C2,C3로 나타낸) 3개의 서브코드의 순환 반복이 개략적으로 도시되어 있다. 이것이 의미하는 것은, 다음의 부등식이 예상된 새로운 전체 코드에 대해 만족되어야 한다는 것이다.
Figure 112007028001473-PCT00006
Figure 112007028001473-PCT00007
RLL 제약 d=1,r=2일 경우의 STD가 도 2에 도시되어 있다: 이 STD는 σ12,...,σ7으로 나타낸 7개의 STD 상태 11,12,13,14,15,16,17로 이루어진다. 주목해야 하는 것은, 본 STD에서는 k 제약을 고려하지 않는다는 것이다. 이 k 제약은, 나중의 코드 설계 단계에서 도입되지만, 현재의 STD의 변경 때문에 도입하지 않는다. 주어진 STD 상태 11,12,13,14,15,16,17의 팬 아웃(fan-out)은 그 상태로부터 떠날 수 있는 (주어진 길이의) 코드워드의 콜렉션이다. STD 상태 σ1에 대해서, 팬아웃은 Fσ1로 나타낸다. 상기 7개의 STD 상태에 대한 팬아웃의 채널워드의 선행 비트는, 표 1에 열거되어 있고, 또한, 나중에 도입되고
Figure 112007028001473-PCT00008
로 나타낸 리넘버링된 STD 상태도 표 1에 열거되어 있다. 끝으로, 나중에 소개될 서로 다른 코딩 클래스도 표 1에 열거되어 있다.
Figure 112007028001473-PCT00009
Figure 112007028001473-PCT00010
표 1로부터 명백한 것은, 팬아웃에서 다음의 계층구조(팬아웃이 가장 큰 STD 상태σ3)를 적용한다.
Figure 112007028001473-PCT00011
새로운 RLL 코드는, 복수의 코딩 상태, 즉 서브코드마다 코딩 상태의 한 세트에 의해 구성된다. 본 발명에 의하면, 이들 코딩 상태는, 다음과 같이 7개의 클래스로 구성된다:
코딩 상태의 제1 클래스의 n비트 코드 워드는, Fσ6(또는
Figure 112007028001473-PCT00012
)에 속하고,
코딩 상태의 제2 클래스의 n비트 코드 워드는, Fσ4(또는
Figure 112007028001473-PCT00013
)에 속하고,
코딩 상태의 제3 클래스의 n비트 코드 워드는, Fσ1(또는
Figure 112007028001473-PCT00014
)에 속하고,
코딩 상태의 제4 클래스의 n비트 코드 워드는, Fσ7(또는
Figure 112007028001473-PCT00015
)에 속하고,
코딩 상태의 제5 클래스의 n비트 코드 워드는, Fσ5(또는
Figure 112007028001473-PCT00016
)에 속하고,
코딩 상태의 제6 클래스의 n비트 코드 워드는, Fσ2(또는
Figure 112007028001473-PCT00017
)에 속하고,
코딩 상태의 제7 클래스의 n비트 코드 워드는, Fσ3(또는
Figure 112007028001473-PCT00018
)에 속한다.
본 발명에 따른 코딩 클래스의 상기 특정 오더링에 기인하여, 코딩 클래스 i의 코딩 상태도, i 보다 작지 않은 지수 j, 즉 j≥i인 모든 코딩 클래스의 코딩상태이다. 그래서, 다음과 같은 코드 워드의 선행 비트들의 가능 패턴을 오더링하는 것이 쉽다.
Figure 112007028001473-PCT00019
또한, 본 발명에 따른 코드 구성에 대해 표 3에 나타낸 것처럼 (STD의 도착 상태가 원래의 상태와 리넘버링된 상태로 나타낸) 후미 비트 패턴의 다음의 오더링을 고려하는 것이 이롭다. 본 발명에 의하면, 코드워드는, 그들의 후미 비트 패턴으로 특정된 것과 같은 7개의 서로 다른 타입으로 나눌 수 있다.
Figure 112007028001473-PCT00020
주목해야 하는 것은, (표 3의) 상기 오더링된 후미 비트 패턴이 (표 2의) 그에 대응한 오더링된 선행 비트 패턴의 미러드(mirrored) 버전이라는 것이다. 다음에, 이미 설명된 STD 상태의 리넘버링을 설명한다. 표 3에 열거되어 있으므로 상기 후미 비트 패턴의 오더링면에서 STD의 상태를 리넘버링하는 것이 바람직하다. 이러한 새로운 넘버링은, 표 3의 마지막 2열에 기재되어 있다. 그 새로운 리넘버링된 상태는,
Figure 112007028001473-PCT00021
로 나타낸다. 이러한 새로운 넘버링에 의해, 타입 i의 코드워드는, 동일한 지수, 즉
Figure 112007028001473-PCT00022
를 갖는 (리넘버링된) STD 상태에 도달하고, 그에 따라서 타입 i의 코드워드는후속하는 코드워드로서 클래스 8-i의 코딩 상태에 속하는 임의의 코드워드와 연결될 수 있다. 주목할 것은, 클래스 8-i의 코딩 상태에 속하는 코드워드가 지수 l를 갖는 (표 2의) 선행 비트 패턴을 갖고, 여기서 1≤l≤8-i이다는 것이다. 일례로서, (후미 비트 패턴...001010|으로 끝나는)타입 3의 코드워드는, 클래스 5의 코딩 상태로부터의 코드워드와 연결될 수 있는데, 이것은 후자의 코드워드가 선행 비트 패턴(표 2) i=1,i=2,...,i=5에서 시작하여도 된다는 것을 의미한다. 이러한 코드워드의 7개의 서로 다른 타입의 코드워드로의 분할과, 코딩 상태의 7개의 서로 다른 코딩 클래스로의 배치는, 또 다른 코드 구성의 기본을 형성하고: 이렇게 하여, RLL 제약 d=1 및 r=2는, (순환적으로 연속 서브코드의 코드워드의 연결시에도) 항상 만족되고 있다. 표 3으로부터 명백한 것은, 리넘버링된 STD 상태에 대해 다음의 팬아웃에서의 계층 구조를 적용한다.
Figure 112007028001473-PCT00023
Figure 112007028001473-PCT00024
로부터 로 감소하는 팬아웃에 따른 열거하는 랭킹에 따라, 상기 리넘버링된 STD 상태
Figure 112007028001473-PCT00026
는 전체 중에서 가장 큰 팬아웃이고,
Figure 112007028001473-PCT00027
은 가장 작은 팬아웃이다. 상기 리넘버링된 STD 상태와, 그에 따라서
Figure 112007028001473-PCT00028
로 나타낸 재배치된 연결 매트릭스에 의해, ("새로운" 고유벡터
Figure 112007028001473-PCT00029
에 대해) 상기 근사 고유벡터 부등식은, 다음과 같이 재기록된다.
Figure 112007028001473-PCT00030
및,
Figure 112007028001473-PCT00031
가능 코드워드의 선행비트 패턴과 후미 비트 패턴은, 표 2 및 3에서 확인된다. 선행 비트 패턴 i에서 시작하고 후미 비트 패턴 j로 끝나는 길이 n의 코드워드의 수는,
Figure 112007028001473-PCT00032
로 나타내어진다. 근접 검사 후, 다음식으로 판명되었다.
Figure 112007028001473-PCT00033
이러한 내용에 의거하여, 상기 근사 고유벡터는 다음 형태로 재기록될 수 있다.
Figure 112007028001473-PCT00034
및,
Figure 112007028001473-PCT00035
코딩 클래스마다의 코딩 상태의 수는, s번째 서브코드(s=1,2,3)에 대해 벡터 ps로 나타낸다. 근사 고유벡터
Figure 112007028001473-PCT00036
와의 관계는 (i 번째 성분, 1≤i≤7에 대해) 다음식으로 나타낸다.
Figure 112007028001473-PCT00037
이때, 이러한 바람직한 구성에 의해, 코딩 클래스는, 리넘버링된 STD 상태의 넘버링 시스템에 정확히 상보적인 넘버링 시스템을 갖는다; 이것은 이미 표 1로부터 자명하고, 여기서 STD 상태의 리넘버링은 언급되었지만, 설명하지 않는다. 또한, 서로 다른 코딩 클래스의 특정 구성에 기인하여, 다음의 부등식은 (서브코드 s(s=1,2,3)마다) 성립한다.
Figure 112007028001473-PCT00038
예시 코드 설계: k=∞인 코드
먼저, k 제약을 갖지 않는 경우(k=∞)를 고려한다. 길이 n=13과 n=14에 대해
Figure 112007028001473-PCT00039
로 나타낸 특정 선행비트 패턴(i)과 후미 비트 패턴(j)을 갖는 코드워드의 수는, 아래와 같이 나타내어진다.
Figure 112007028001473-PCT00040
Figure 112007028001473-PCT00041
예시 코드 설계: k 제약을 갖는 코드
명백히 포함된 k 제약을 갖는 변경식 STD를 사용하지 않고 k 제약을 발생하기 위해서, 코드워드에서의 선행 및 후미의 0들의 수를 제한하는 것이 바람직하다. 코드워드에서의 선행하는 0들의 최대수를 l0로 나타내고; 후미의 0들의 최대 수를 r0로 나타낸다. l0와 r0에 관한 추가 제약을 갖는 특정 선행 비트 패턴 i와 후미 비트 패턴 j를 갖는 코드워드의 수는, 코드워드의 길이 n에 대해
Figure 112007028001473-PCT00042
로 나타낸다. 주목해야 하는 것은, 이전에 정의된 매트릭스가 다음식으로 확인될 수 있다는 것이다.
Figure 112007028001473-PCT00043
상기 추가의 제약 k=18은, l0=r0=9를 선택하여 구현된다. 코드워드 길이 n=13 및 n=14에 대해 매트릭스
Figure 112007028001473-PCT00044
는, 다음과 같이 나타내어진다.
Figure 112007028001473-PCT00045
Figure 112007028001473-PCT00046
상기 재기록된 근사 고유벡터 부등식의 근사 고유벡터로 이루어진 실제 세트는, 다음과 같이 나타낸다.
Figure 112007028001473-PCT00047
9 대 13 매핑에 의해 C1으로 나타낸 제1 서브코드는 총 19개의 코딩 상태이 고, 9 대 13 매핑에 의해 C2로 나타낸 제2 서브코드는 총 22개의 코딩 상태이고, 9 대 14 매핑에 의해 C3으로 나타낸 제3 서브코드는 총 26개의 코딩 상태이다. 7개의 서로 다른 코딩 클래스에 대해서 (서브코드마다) 코딩 상태의 총수의 분포는, 식(16)으로 나타낸 것처럼, (주어진 서브코드마다) 근사 고유벡터에 의해 제어된다.
k=18의 코드에 대한 코드표의 구성
이 코드표는, (가능한 모든 다음 상태를 갖는) 코드워드가 하나의 특별한 코딩 상태에서만 나타날 수 있도록 추가로 구성된다. 디코딩 동작의 경우, 이것이 의미하는 것은, 그 다음 코드워드가 현재의 코드워드의 "다음 상태" 기능을 유일하게 특정한다는 것이다.
인코딩
9비트 사용자 워드의 인코딩을 위해,
(1) 현재 사용자 워드가 인코딩되어야 하는 서브코드 Ci와,
(2) Ci-Sj로 나타낸 서브코드 Ci의 상태 j와, 인코딩하는데 사용되는 대응한 코드표를 알아야 한다.
인코딩 처리에서, 인코더는, 출력으로서,
(1) 사용될 코드표에 따른 코드워드와,
(2) 단순히 (i=3에 대해, 3개의 서브코드의 순환 반복에 기인하는 Ci와 같은) Ci+1인 다음의 9비트 사용자 워드를 인코딩하는데 사용될 다음 서브코드와,
(3) 현재 사용자 워드를 인코딩할 때 사용될 코드표에 따른 다음 서브코드 Ci+1의 다음 상태를 발생하고, 여기서 이 다음 상태는, 다음 9비트 사용자 워드를 다음 서브코드 Ci+1로 인코딩하는데 어느 코드표가 사용될 것인지를 특정한다.
디코딩
디코딩 처리는, 도 3에 의거하여 설명된다. 이 디코딩은 상태 독립적이다, 즉 그것은 (디코딩되어야 한다고 생각하는) 9비트 사용자 워드를 인코더가 인코딩한 상태를 알 필요가 없다. 상태 독립적 디코딩은, 일어날 수도 있는 코드워드와 다음 상태 조합마다 (전체 코드표 중에서) 하나의 단일 코드표에서 한번만 일어난다는 사실에 의해 이루어진다. 또한, 코드워드를 사용자 워드로 디코딩하기 위해서, 현재의 코드워드의 다음 상태를 알 필요가 있다. 후자의 다음 상태는, 현재의 코드워드의 바로 뒤에 오는 다음 코드워드로부터 얻어질 수 있다. 이것이 가능한 사실은, 코딩 상태의 구성에 의해 얻어져서, (그 다음 상태에 독립적인) 각 코드워드는 전체 코드표 중에서 단일의 코드표에서 일어나기만 할 수 있고, 그래서 다음 코드워드는 명료하게 현재의 코드워드의 다음 상태를 판정한다. 주목해야 하는 것은, 서브코드 Cp로 인코딩되었던 주어진 코드워드의 다음 상태가, 다음 서브코드인 Cp+1의 가능한 상태들 중 하나이다는 것이다.
디코딩 처리를 다음과 같이 더욱 설명한다. 디코더의 입력에는, 2개의 코드워드, 즉 서브코드 Cp로 인코딩된 코드워드 Wi와, 다음 서브코드 Cp+1로 인코딩된 Wi+1이 있다. 양쪽의 코드워드에 대해, 그리고 코드워드 Wi와 Wi+1 각각에 적용하는 서브코드에 독립적인 지수를 (예를 들면, d=1 RLL 제약의 열거 디코딩에 의거하여: 그 지수의 범위는 13채널비트의 코드워드일 경우 0∼609, 14 채널비트의 코드워드일 경우 0∼986이다) 얻을 수 있다. 각각의 지수는, 현재의 코드워드와 다음 코드워드에 대해 Ii와 Ii+1로 나타내어진다. 다음에, 지수 Ii+1는, (고려된 워드 Wi+1에 적용하는 서브코드에 의존하는) 전용 변환표를 사용하여 현재의 코드워드 Wi의 "다음 상태"로 변환되고, 이 표는 코드워드(의 지수) 각각을 (여기서, Cp+1인) 고려된 서브코드에 대해 속하는 상태 상에서 매핑한다. 이 "다음 상태"를 NSi로 나타낸다. 그 디코딩된 다음 상태 NSi와 조합하여, 현재의 코드워드 Wi의 지수, 즉 Ii의 조합은, 디코딩된 (9비트) 사용자 워드를 산출하는 주어진 서브코드 Cp에 대한 전용 디코딩표의 입력이다.
유도 스크램블링의 사용에 의한 DC 제어
광 기록에서 사용된 모든 RLL 코드(EFM, EFMPlus 및 17PP)는, DC 프리(free)이다, 즉, 그 코드들은, 거의 저주파에서 콘텐트가 없다. 이러한 특성의 예로는, 주파수 영역 제약이 있다. 여기서, 특정 주파수에서 시퀀스의 시간단위마다 에너지 콘텐트에 관해, 즉 시퀀스의 전원 스펙트럼 밀도 함수에 관해 강하게 제한을 한다. (런길이 제약과 같은 제약을 시간 영역 제약이라고 한다.) 대부분의 이들 제약은, 스펙트럼 널(null) 제약의 패밀리에 속하고, 상기 시퀀스의 전원 밀도 함수는, 어떠한 고유 주파수에서 특정 차수가 제로이어야 한다. DC에서 제로를 특정하는 제약, 즉 제로 주파수를 DC 프리 제약이라고 한다. NRZI 채널 비트는, 정반대의 값 ±1으로 나타낸다. 시퀀스 x1,x2,...는 그것의 러닝 디지털 합(RDS)
Figure 112007028001473-PCT00048
가 유한하게 다수의 서로 다른 값을 취하는 경우 DC 프리라고 한다. 그 경우에, 전원 스펙트럼 밀도 함수는 DC가 사라진다.
DC 프리 특성은, 여러 가지 이유로 광 기록시에 필요하다. 먼저, 지문, 먼지 또는 결함 등의 저주파 디스크 잡음과 데이터 신호를 분리하는 것이 필요하다. 둘째로, DC 프리 코딩은, A.F.Stikvoort and J.A.C. van Rens, in "An all-digital bit detector for compact disc players",IEEE J.Sel.Areas Commun.,10,1:191-200,1992에 기재된 것처럼 피트 랜드 비대칭과 같은 물리 신호에서의 비선형성일 경우에 슬라이서 레벨을 제어하는데 필요하다. 셋째로, 레이저 스폿 위치의 트랙킹에 사용된 서보 시스템은, 전형적으로 DC 프리 데이터 신호를 필요로 한다.
유도 스크램블링
유도 스크램블링(GS)은, K.A.S.Immink, in "Codes for Mass Data Storage Systems", The Netherlands: Shannon Foundation Pubishers, 1999에 기재된 것과 같은 DC 제어를 실현하는데 사용될 수 있다. 유도 스크램블링은 다음과 같이 작용한다. 입력워드(41a,41b,41c,41d,41i)의 수 Nscr은, 소위 스크램블링 블록(40)을 형성한다. 스크램블링 블록의 첫 번째 s비트는, 자유롭게 선택될 수 있는 스크램블링 비트이다. 이들 2s 옵션 각각은, 다음의 2가지 동작 후 RLL 인코딩된 스크램블링 블록을 생성한다: 먼저, 입력비트는, 스크램블러 다항식에 의거하여 선형 시프트 백 레지스터로서 구현되는 스크램블러를 통과하고, 다음으로, 그 스크램블링된 입력 비트는, (그것의 3개의 서브코드를 갖는) 새로운 RLL 코드에 의해 RLL 채널 비트스트림으로 인코딩된다. 2s 옵션마다, 예를 들면, "합 분산(sum variance)"으로서도 공지된 러닝 디지털 합의 분산의 면에서, DC 콘텐트를 평가한다. 그 후, "최상의" DC 억제 특성을 갖는 옵션을 선택한다.
9비트 ECC 심볼의 분포
도 4는 스크램블링 블록에서 s개의 스크램블링 비트를 포함한 포맷의 전형적인 예를 나타낸다. 스크램블링 블록(40)은, (새로운 RLL 코드와 그것의 3개의 서브코드의) Nscr 9비트 입력 심볼(41a,41b,41c,41d,41i)을 포함한다. 17PP 코드에 의한 블루레이 디스크(BD) 포맷에 사용된 것처럼, DC 제어를 위한 동일한 오버헤드를 갖 는 새로운 RLL 코드용의 가능한 포맷은, Nscr=15, s=3을 갖고, 이것이 의미하는 것은, 스크램블링 블록마다 8개의 가능한 스크램블링된 채널 비트 스트림이 있다는 것이다. 명백한 이유로, 새로운 RLL 코드가, 9비트 ECC 심볼의 리드 솔로몬 코드에 의거한 대수 오차정정 코드(ECC)를 사용하는 것이 이롭다. 스크램블링 블록의 시작부분에서의 s=3 스크램블링 비트의 삽입은, 그들이 새로운 RLL 코드의 인코더의 입력으로서 사용될 때 9비트 심볼의 규칙적인 순서를 방해한다. 오차 전달을 제한하기 위해서는, 3개의 연속적인 스크램블링 블록이 도시된 도 4로부터 알 수 있듯이, US 6,265,994에 기재된 방식을 사용하였다. 각 스크램블링 블록(40)의 제1의 9비트 입력워드(41a)를 제외한 모든 입력워드 41b,41c,41d,41i는, 9비트 ECC 심볼과 1 대 1 대응한다. 제1 스크램블링 블록의 제1의 입력워드(41a)는, s=3개의 스크램블링 비트(43)와, 제1의 전용 ECC 심볼 중(9비트 중) 6비트(44)로 이루어진다. 마찬가지로, 제3 스크램블링 블록의 제1 입력워드는, s=3 스크램블링 비트(45)와, 제2의 전용 ECC 심볼 중 6비트(46)로 이루어진다. 2개의 전용 ECC 심볼의 나머지 3비트 각각의 2개의 세트는, s=3 스크램블링 비트의 또 다른 세트와 함께, 제 2 스크램블링 블록의 제 1 입력워드를 형성한다. 그 2개의 전용 ECC 심볼 각각의 9비트는, 도 4에서 2개의 타원(47,48)으로 나타내었다.
(섹션 2)
8비트 정보워드에 대한 d=1, r=2 코드
상술한 것처럼, 조합된 RLL제약 d=1 및 r=2의 샤논 용량은, C(d=1, k=∞, r=2)=0.679286이 된다. 사용자 비트를 채널 비트 상에 48 대 71로 매핑하는 코드는 구성 가능할 수도 있는데, 그 이유는, 비율 R=0.676056≤C(d=1, k=∞, r=2)를 갖고; 이러한 새로운 코드의 효율 η=R/C(d=1, k=∞, r=2)는, 이론적 상한치와 비교하여 작은 부분만 1-η=0.48%를 잃는 것이다. 명백하게는, 48비트 엔트리를 갖는 코드북은, 너무 커서 실용적으로 사용될 수 없다. 이러한 문제를 해결하기 위해 제안한 해결책은, J.J.Ashley and B.H.Marcus,"Time-Varying Encoders for Constrained Systems: an Approach to Limiting Error Propagation", IEEE Transactions on Information Theory,Vol.46,No.3,pp.1038-1043,May 2000에 제시된 알고리즘의 라인에 따라서 행한다는 것이다. 후자의 접근법은, 다수의 상태에서의 다수의 코드의 연결을 위해 효율적인 슬라이딩 블록 코드의 구성에 사용된, IEEE Transaction on Information Theory, Vol.IT-29,1983,pp.5-22에서 "Algorithms for Sliding Block Codes. An Application of Symbolic Dynamics to Information Theory"로 R.L.Adler,D.Coppersmith, and M.Hassner가 기재한 것과 같은 공지된 상태 분할 알고리즘 또는 ACH 알고리즘을 일반화하고, 이때 인코딩 및 디코딩은 일 상태에서 다음 상태로 순환적으로 진행한다. 실제로, 비율 R=48/71의 새로운 코드에 대해, 전체 코드는, 각각의 매핑이 8 대 12, 8 대 12, 8 대 12, 8 대 12, 8 대 12 및 8 대 11인 C1,C2,C3,C4,C5 및 C6로 나타낸 6개의 서브코드의 순환 연결로서 실현될 수 있다.
일반적인 경우에, 상기 전체 코드는 다수의 S개 서브코드로 실현된다. 일반화된 ACH 알고리즘은, 서브코드마다 하나씩, S개의 근사 고유벡터로 이루어진 세트를 검색하되, 이때
Figure 112007028001473-PCT00049
는 k번째 서브코드에 대한 근사 고유벡터의 i번째 계수를 나타내고, 상기 세트는, RLL 제약을 설명하는 대응한 상태천이도(STD)의 모든 상태 i와, (k번째 서브코드에 대해 매핑 mk 대 nk를 갖는) 모든 서브코드 k에 대해 부등식의 세트를 만족시킨다.
Figure 112007028001473-PCT00050
(26)
이때, k=S일 경우, 서브코드의 순환 반복 주기로 인해 지수 k+1을 갖는 다음 서브코드는 1과 같은 지수를 갖는 서브코드이다. 상기 식에서, D는 소위 STD용 인접 매트릭스 또는 연결 매트릭스를 나타내고: 그 매트릭스 원소는 그에 대응한 2개의 STD 상태가 그래프에서 연결된 경우 1이고, 그들이 연결되지 않은 경우 0이다. RLL 제약 d=1,r=2의 새로운 코드에 대해, 6개의 서브코드의 파라미터는, m1=m2=m3=m4=m5=m6=8, n1=n2=n3=n4=n5=12 및 n6=11이다. (이때, 이들 6개의 매핑들 중 어떠한 스크램블링된 순서도 또 다른 코드 구성에 대해 유효한 순서이고, 본 발명의 범위 내에 속한다.) 각 서브코드 C1,C2,C3,C4,C5,C6이 8비트 사용자 워드(51a, 51b,51c,51d,51e,51f)를 채널워드(52a,52b,52c,52d,52e,52f)로 변환하는 6개의 서브코드(C1,C2,C3,C4,C5,C6)의 순환 반복이 도 5에 개략적으로 도시되어 있다. 하나의 서브코드 C6은, 8비트 사용자 워드(51f)를 11비트 채널워드(52f), 즉 코드워드로 변환하고, 나머지 서브코드 C1,C2,C3,C4,C5는, 8비트 사용자 워드(51a,51b,51c,51d,51e)를 12비트 채널워드(52a,52b,52c,52d,52e)로 변환한다. 이것이 의미하는 것은, 다음의 부등식이 예상된 새로운 전체 코드에 대해 만족되어야 한다는 것이다.
Figure 112007028001473-PCT00051
Figure 112007028001473-PCT00052
및,
Figure 112007028001473-PCT00053
상기 리넘버링된 STD 상태와, 그에 따라서
Figure 112007028001473-PCT00054
로 나타낸 재배치된 연결 매트릭스에 의해, ("새로운" 고유벡터
Figure 112007028001473-PCT00055
에 대해) 상기 근사 고유벡터 부등식은, 다음과 같이 재기록된다.
Figure 112007028001473-PCT00056
및,
Figure 112007028001473-PCT00057
가능 코드워드의 선행비트 패턴과 후미 비트 패턴은, 표 2 및 3에서 확인된다. 선행 비트 패턴 i에서 시작하고 후미 비트 패턴 j로 끝나는 길이 n의 코드워드 의 수는,
Figure 112007028001473-PCT00058
로 나타내어진다. 근접 검사 후, 다음식으로 판명되었다.
Figure 112007028001473-PCT00059
이러한 내용에 의거하여, 상기 근사 고유벡터는 다음 형태로 재기록될 수 있다.
Figure 112007028001473-PCT00060
Figure 112007028001473-PCT00061
및,
Figure 112007028001473-PCT00062
코딩 클래스마다의 코딩 상태의 수는, s번째 서브코드(s=1,2,3,4,5,6)에 대해 벡터 ps로 나타낸다. 근사 고유벡터
Figure 112007028001473-PCT00063
와의 관계는 (i 번째 성분, 1≤i≤7에 대해) 다음식으로 나타낸다.
Figure 112007028001473-PCT00064
이때, 이러한 바람직한 구성에 의해, 코딩 클래스는, 리넘버링된 STD 상태의 넘버링 시스템에 정확히 상보적인 넘버링 시스템을 갖는다; 이것은 이미 표 1로부터 자명하고, 여기서 STD 상태의 리넘버링은 언급되었지만, 설명하지 않는다. 또한, 서로 다른 코딩 클래스의 특정 구성에 기인하여, 다음의 부등식은 (서브코드 s(s=1,2,3,4,5,6)마다) 성립한다.
Figure 112007028001473-PCT00065
예시 코드 설계: k=∞의 k제약을 갖는 코드
먼저, k 제약을 갖지 않는 경우(k=∞)를 고려한다. 길이 n=12와 n=11에 대해
Figure 112007028001473-PCT00066
로 나타낸 특정 선행비트 패턴(i)과 후미 비트 패턴(j)을 갖는 코드 워드의 수는, 아래와 같이 나타내어진다.
Figure 112007028001473-PCT00067
Figure 112007028001473-PCT00068
예시 코드 설계: k 제약을 갖는 코드
명백히 포함된 k 제약을 갖는 변경식 STD를 사용하지 않고 k 제약을 발생하기 위해서, 코드워드에서의 선행 및 후미의 0들의 수를 제한하는 것이 바람직하다. 코드워드에서의 선행하는 0들의 최대수를 l0로 나타내고; 후미의 0들의 최대 수를 r0로 나타낸다. l0와 r0에 관한 추가 제약을 갖는 특정 선행 비트 패턴 i와 후미 비트 패턴 j를 갖는 코드워드의 수는, 코드워드의 길이 n에 대해
Figure 112007028001473-PCT00069
로 나타낸다. 주목해야 하는 것은, 이전에 정의된 매트릭스가 다음식으로 확인될 수 있다는 것이다.
Figure 112007028001473-PCT00070
상기 추가의 제약 k=22는, 8 대 12의 매핑에 의한 서브코드들에 대한
l0=r0=11을 선택하고, 8 대 11의 매핑에 의한 단일 서브코드에 대한 l0=r0=10을 선택하여 구현된다. 매트릭스
Figure 112007028001473-PCT00071
Figure 112007028001473-PCT00072
는, 다음과 같이 나타내어진다.
Figure 112007028001473-PCT00073
Figure 112007028001473-PCT00074
이때, (길이 n=12 또는 n=11의) 코드워드에서의 선행 및 후미 제로들의 수의 상기 선택에 의해, 모두 제로인 코드워드만을 생략한다(이것이 의미하는 것은, 위 치(1,1)에서의 매트릭스 원소가, 양쪽의 매트릭스의 이전의 세트와 비교한 것처럼 하나씩 감소된다는 것이다. 상기 재기록된 근사 고유벡터 부등식의 근사 고유벡터로 이루어진 실제 세트는, 다음과 같이 나타낸다.
Figure 112007028001473-PCT00075
Figure 112007028001473-PCT00076
Figure 112007028001473-PCT00077
8 대 12 매핑에 의해 C1으로 나타낸 제1 서브코드는 총 28개의 코딩 상태이고, 8 대 12 매핑에 의해 C2로 나타낸 제2 서브코드는 총 26개의 코딩 상태이고, 8 대 12 매핑에 의해 C3으로 나타낸 제3 서브코드는 총 24개의 코딩 상태이고, 8 대 12 매핑에 의해 C4으로 나타낸 제4 서브코드는 총 22개의 코딩 상태이고, 8 대 12 매핑에 의해 C5으로 나타낸 제5 서브코드는 총 20개의 코딩 상태이고, 8 대 11 매핑에 의해 C6으로 나타낸 제6 서브코드는 총 19개의 코딩 상태이다. 7개의 서로 다른 코딩 클래스에 대해서 (서브코드마다) 코딩 상태의 총수의 분포는, 식(46)으로 나타낸 것처럼, (주어진 서브코드마다) 근사 고유벡터에 의해 제어된다.
k=22의 코드에 대한 코드표의 구성
이 코드표는, (가능한 모든 다음 상태를 갖는) 코드워드가 하나의 특별한 코딩 상태에서만 나타날 수 있도록 추가로 구성된다. 디코딩 동작의 경우, 이것이 의미하는 것은, 그 다음 코드워드가 현재의 코드워드의 "다음 상태" 기능을 유일하게 특정한다는 것이다.
인코딩
8비트 사용자 워드의 인코딩을 위해,
(1) 현재 사용자 워드가 인코딩되어야 하는 서브코드 Ci와,
(2) Ci-Sj로 나타낸 서브코드 Ci의 상태 j와, 인코딩하는데 사용되는 대응한 코드표를 알아야 한다.
인코딩 처리에서, 인코더는, 출력으로서,
(1) 사용될 코드표에 따른 코드워드와,
(2) 단순히 (i=6에 대해, 6개의 서브코드의 순환 반복에 기인하는 C1와 같은) Ci+1인 다음의 8비트 사용자 워드를 인코딩하는데 사용될 다음 서브코드와,
(3) 현재 사용자 워드를 인코딩할 때 사용될 코드표에 따른 다음 서브코드 Ci+1의 다음 상태를 발생하되, 여기서 이 다음 상태는, 다음 8비트 사용자 워드를 다음 서브코드 Ci+1로 인코딩하는데 어느 코드표가 사용될 것인지를 특정한다.
디코딩
디코딩 처리는, 도 3에 의거하여 설명된다. 이 디코딩은 상태 독립적이다, 즉 그것은 (디코딩되어야 한다고 생각하는) 8비트 사용자 워드를 인코더가 인코딩한 상태를 알 필요가 없다. 상태 독립적 디코딩은, 일어날 수도 있는 코드워드와 다음 상태 조합 모두가 (전체 코드표 중에서) 하나의 단일 코드표에서 한번만 일어난다는 사실에 의해 이루어진다. 또한, 코드워드를 사용자 워드로 디코딩하기 위해서, 현재의 코드워드의 다음 상태를 알 필요가 있다. 후자의 다음 상태는, 현재의 코드워드의 바로 뒤에 오는 다음 코드워드로부터 얻어질 수 있다. 이것이 가능한 사실은, 코딩 상태의 구성에 의해 얻어져서, (그 다음 상태에 독립적인) 각 코드워드는 전체 코드표 중에서 단일의 코드표에서 일어나기만 할 수 있고, 그래서 다음 코드워드는 명료하게 현재의 코드워드의 다음 상태를 판정한다. 주목해야 하는 것은, (서브코드 Cp로 인코딩되었던) 주어진 코드워드의 다음 상태가, 다음 서브코드 인 Cp+1의 가능한 상태들 중 하나이다는 것이다.
디코딩 처리를 다음과 같이 더욱 설명한다. 디코더의 입력에는, 2개의 코드워드, 즉 서브코드 Cp로 인코딩된 코드워드 Wi와, 다음 서브코드 Cp+1로 인코딩된 Wi+1이 있다. 양쪽의 코드워드에 대해, 그리고 코드워드 Wi와 Wi+1 각각에 적용하는 서브코드에 독립적인 지수를 (예를 들면, d=1 RLL 제약의 열거 디코딩에 의거하여: 그 지수의 범위는 12채널비트의 코드워드일 경우 0∼376, 11 채널비트의 코드워드일 경우 0∼232이다) 얻을 수 있다. 각각의 지수는, 현재의 코드워드와 다음 코드워드에 대해 Ii와 Ii+1로 나타내어진다. 다음에, 지수 Ii+1는, (고려된 워드 Wi+1에 적용하는 서브코드에 의존하는) 전용 변환표를 사용하여 현재의 코드워드 Wi의 "다음 상태"로 변환되고, 이 표는 코드워드(의 지수) 각각을 (여기서, Cp+1인) 고려된 서브코드에 대해 속하는 상태 상에서 매핑한다. 이 "다음 상태"를 NSi로 나타낸다. 그 디코딩된 다음 상태 NSi와 조합하여, 현재의 코드워드 Wi의 지수, 즉 Ii의 조합은, 디코딩된 (8비트) 사용자 워드를 산출하는 주어진 서브코드 Cp에 대한 전용 디코딩표의 입력이다.
유도 스크램블링의 사용에 의한 DC 제어
이전에 설명된 9비트 배향 코드와 마찬가지로, 유도 스크램블링을 DC 제어에 사용할 수 있다.
8비트 ECC 심볼의 분포
도 6은 스크램블링 블록에서 s개의 스크램블링 비트를 포함한 포맷의 전형적인 예를 나타낸다. 스크램블링 블록은, (새로운 RLL 코드와 그것의 6개의 서브코드의) Nscr 8비트 입력 심볼을 포함한다. 17PP 코드에 의한 블루레이 디스크(BD) 포맷에 사용된 것처럼, DC 제어를 위한 동일한 오버헤드를 갖는 새로운 RLL 코드용의 가능한 포맷은, Nscr=11, s=2를 갖고, 이것이 의미하는 것은, 스크램블링 블록마다 4개의 가능한 스크램블링된 채널 비트 스트림이 있다는 것이다. 명백한 이유로, 새로운 RLL 코드가, 8비트 ECC 심볼(바이트)의 리드 솔로몬 코드에 의거한 대수 오차정정 코드(ECC)를 사용하는 것이 이롭다. 스크램블링 블록의 시작부분에서의 s=2 스크램블링 비트의 삽입은, 그들이 새로운 RLL 코드의 인코더의 입력으로서 사용될 때 8비트 심볼의 규칙적인 순서를 방해한다. 오차 전달을 제한하기 위해서는, 4개의 연속적인 스크램블링 블록(60)이 도시된 도 6으로부터 알 수 있듯이, US 6,265,994에 기재된 방식을 사용하였다. 각 스크램블링 블록(60)의 제1의 8비트 입력워드(61a)를 제외한 모든 입력워드 61b,61c,61d,61i는, 8트 ECC 심볼과 1 대 1 대응한다. 제1 스크램블링 블록(60)의 제1의 입력워드(61a)는, s=2개의 스크램블링 비트(63)와, 제1의 전용 ECC 심볼 중(8비트 중) 6비트(64)로 이루어진다. 마찬가지로, 제3 스크램블링 블록의 제1 입력워드는, s=2 스크램블링 비트(65)와, 제2의 전용 ECC 심볼 중 6비트(66)로 이루어진다. 2개의 다른 스크램블링 블록은, 제 1 입력워드에 다음의 비트를 갖는다: 먼저, s=2 스크램블링 비트로 이루어진 세트, 제1 의 2개의 전용 ECC 심볼의 나머지 2개의 정보비트와, 끝으로 제3의 전용 ECC 심볼의 정보비트의 절반(그래서 4)을 각각 포함하는 2개의 세트 중 하나. 이들 3개의 전용 ECC 심볼 각각의 8비트는, 도 6에서 3개의 타원(67,68,69)으로 나타내었다.
(섹션 3)
4 대 6의 보다 콤팩트한 매핑에 의한 코드.
연판정 RLL 디코딩에 적합한 d=1 & r=2 RLL 코드
r=2 RLL 제약은, (경판정 비트 검출을 위한 PRML 비트 검출기와, 연판정 비트 검출을 위한 BCJR 채널 검출기인) 채널 검출기의 성능에 대해 이롭다. 이를테면, 경판정 비트 검출을 위해, r=2제약은, r≥6인 경우에 대해 약 5%의 용량 이득을 산출한다. 따라서, 현재 ID의 목적은 다음의 특성을 갖는 d=1 RLL 코드를 발생하는 것이다:
· 그것은 RMTR 제약 r=2를 갖고,
· 그것은 제한된 수의 코딩 상태를 갖고,
· 그것은, 아주 높은 효율을 갖지 않아야 하는데, 그 이유는 후자에 대해 선택하면 그 코드의 복잡성이 너무 커지게 되기 때문이고, 이것에 의해 연판정 SISO-RLL 디코딩에 적합하지 않고; 그래서, 코드비율 R=⅔도 만족하고,
· 그것은, 코드의 각 코딩 상태로부터 분기의 팬아웃을 24=16으로 제한하는 간결한 매핑, 예를 들면 4 대 6 매핑을 갖고,
· 아울러, 그것은, 바람직하게는 k 제약을 가져야 한다.
상기 특성 모두는, 앞으로 여기부터 설명할 코드 구성으로 구현된다.
콤팩트 4 대 6 매핑에 의한 코드.
현 코드 설게의 목적은, 사용자 비트를 채널 비트 상에 콤팩트 매핑에 의해 채널 코드를 가져야 하는데 있어서, 예를 들면 (총 분기 수의 면에서) 연판정 SISO-RLL 디코더의 하드웨어 복잡성이 낮게 유지될 수 있다. 새로운 코드는, 사용자 비트를 채널비트 상에 4 대 6 매핑을 한다(그래서, 코드 비율 R=⅔). 상술한 것처럼, 조합된 RLL제약 d=1 및 r=2의 샤논 용량은, C(d=1, k=∞, r=2)=0.679286이 된다. 사용자 비트를 채널 비트 상에 4 대 6으로 매핑하는 코드는 구성 가능할 수도 있는데, 그 이유는, 비율 R=0.6667≤C(d=1, k=∞, r=2)를 갖기 때문이다.
슬라이딩 블록 코드의 구성은, IEEE Transaction on Information Theory, Vol.IT-29,1983,pp.5-22에서 "Algorithms for Sliding Block Codes. An Application of Symbolic Dynamics to Information Theory"로 R.L.Adler,D.Coppersmith, and M.Hassner가 기재한 것과 같은 ACH 알고리즘에 근거한다. 이러한 알고리즘은, 근사 고유벡터로 이루어진 세트를 검색하되, 이때 νi는 근사 고유벡터의 i번째 계수를 나타내고, 이 계수는, (m 대 n 매핑에 의한 코드에 대해) RLL 제약을 설명하는 대응한 상태천이도(STD)의 모든 상태 i에 대한 부등식의 세트를 만족시킨다:
Figure 112007028001473-PCT00078
상기 식에서, D는 소위 STD용 인접 매트릭스 또는 연결 매트릭스를 나타내고: 그 매트릭스 원소는 그에 대응한 2개의 STD 상태가 그래프에서 연결된 경우 1이고, 그들이 연결되지 않은 경우 0이다. RLL 제약 d=1,r=2의 새로운 코드에 대해, 그 코드의 파라미터는, m=4, n=6이다. 이것이 의미하는 것은, 다음의 부등식이 예상된 새로운 전체 코드에 대해 만족되어야 한다는 것이다.
Figure 112007028001473-PCT00079
상기 리넘버링된 STD 상태와, 그에 따라서
Figure 112007028001473-PCT00080
로 나타낸 재배치된 연결 매트릭스에 의해, ("새로운" 고유벡터
Figure 112007028001473-PCT00081
에 대해) 상기 근사 고유벡터 부등식은, 다음과 같이 재기록된다.
Figure 112007028001473-PCT00082
가능 코드워드의 선행비트 패턴과 후미 비트 패턴은, 표 2 및 3에서 확인된다. 선행 비트 패턴 i에서 시작하고 후미 비트 패턴 j로 끝나는 길이 n의 코드워드의 수는,
Figure 112007028001473-PCT00083
로 나타내어진다. 근접 검사 후, 다음식으로 판명되었다.
Figure 112007028001473-PCT00084
이러한 내용에 의거하여, 상기 근사 고유벡터 부등식은 다음 형태로 재기록될 수 있다.
Figure 112007028001473-PCT00085
코딩 클래스마다의 코딩 상태의 수는, 벡터 p로 나타낸다. 근사 고유벡터
Figure 112007028001473-PCT00086
와의 관계는 (i 번째 성분, 1≤i≤7에 대해) 다음식으로 나타낸다.
Figure 112007028001473-PCT00087
이때, 이러한 바람직한 구성에 의해, 코딩 클래스는, 리넘버링된 STD 상태의 넘버링 시스템에 정확히 상보적인 넘버링 시스템을 갖는다; 이것은 이미 표 1로부터 명백하고, 여기서 STD 상태의 리넘버링은 언급되었지만, 설명하지 않는다. 또한, 서로 다른 코딩 클래스의 특정 구성에 기인하여, 다음의 부등식이 성립한다.
Figure 112007028001473-PCT00088
1심볼 룩어헤드 슬라이딩 블록 디코더를 위한 추가의 대책
오차 전달을 제한하기 위해서, 새로운 코드는, 디코더가 6채널 비트로 이루어진 1 채널 워드, 즉 주어진 사용자 워드의 디코딩을 위해 장래를 대비하는데 필요하도록 구성되고, 하나는, 도 7에 도시된 것처럼 다음의 6비트 채널워드 Wi+1과 함께 대응한 6비트 채널워드 Wi를 필요로 한다. 이것은 코드 구성에 의해 실현되고, 여기서 각 6비트 채널 워드는 하나의 단일의 특별한 코딩 상태에서만 일어난다(이에 따라 모든 코딩 상태는 코드로 이루어진다): 물론, 상기 고려된 6비트 채널워드는 채널워드가 1보다 많은 가능한 "다음 상태"를 가질 수 있는(보통 할 수 있는) 사실을 고려하여, 그 단일 코딩 상태 내에서 여러 번 일어날 수 있다. 전체적으로,
Figure 112007028001473-PCT00089
코딩 상태가 있다. p번째 코딩 상태에 사용된 선행 비트 패턴 i와, 후미 비트패턴 j를 갖는 코드워드의 수
Figure 112007028001473-PCT00090
로 나타낸다. 그리고, 이것에 의해, 코드워드 어느것도 1보다 많은 코딩상태에서 사용될 수 없으므로(간략함을 위해, 코드워드에서, 채널비트의 수 n에 관한
Figure 112007028001473-PCT00091
의 의존도는 생략한다) 다음식이 된다:
Figure 112007028001473-PCT00092
코딩 클래스마다, 다수의 코딩 상태가 관련된다. 변경된 근사 고유벡터 부등식은 다음식과 같이 재기록되어야 한다:
Figure 112007028001473-PCT00093
Figure 112007028001473-PCT00094
Figure 112007028001473-PCT00095
후자의 식에서는,
Figure 112007028001473-PCT00096
이라고 가정한다; 또한, 그 부등식은 러닝 지수 p의 왼쪽 한계(left-limit)가 오른쪽 한계(right-limit)보다 크지 않은 경우에만 적용한다(그렇지 않은 경우, 주어진
Figure 112007028001473-PCT00097
에 대해, 여기서는 p의 왼쪽 한계가 p의 오른쪽 한계보다 크고, 여분의 코딩 상태를 고려할 필요가 없다).
예시 코드 설계: k=∞의 k제약을 갖는 코드
먼저, k 제약을 갖지 않는 경우(k=∞)를 고려한다. 길이 n=6에 대해
Figure 112007028001473-PCT00098
로 나타낸 특정 선행비트 패턴(i)과 후미 비트 패턴(j)을 갖는 코드워드의 수는, 아래와 같이 나타내어진다.
Figure 112007028001473-PCT00099
길이 n=6인 코드워드의 총 수는 21이다(길이 6의 d=1 시퀀스의 수가 Nd=1(6)=21일 때). 그들은, (선행 및 후미 비트 패턴이라고 하는) 지수 i,j와 함께, 또한 식(63)을 만족시키는 근사 고유벡터에 의해 규정된 것처럼 워드 다중도와 함께, 표 4에 열거되어 있다. 코드워드는, (지수 1부터 21까지 시작하는; 비트 bj를 갖는 6비트 코드워드의 지수 I를 갖는) 다음의 인덱싱에 따라 사전식 순서로 열거된다:
Figure 112007028001473-PCT00100
Figure 112007028001473-PCT00101
근사 고유벡터 AE
식(63)을 만족시키는 (AE로 나타낸) 근사 고유벡터는 다음식으로 나타낸다:
Figure 112007028001473-PCT00102
이것에 의해, 식(67)을 만족시키는 워드 할당에 의한 코드가 된다. 이것은, 본 문단의 나머지 부분에서 설명한다. 8개의 서로 다른 코딩 상태는, 스텝단위로 식(67)의 파라미터
Figure 112007028001473-PCT00103
의 연속적인 값에 따라 생성된다.
Figure 112007028001473-PCT00104
스테이지(a)
Figure 112007028001473-PCT00105
=1,3 코딩 상태 p=1,2,3
i=1의 모든 코드워드를 사용할 수 있다. 2개의 코딩 상태는, 조합 8+8(=16)(2회)를 통해 실현되고, 3번째 코딩상태는 조합 5+5+7=17을 통해 실현되 어, (
Figure 112007028001473-PCT00106
의 보다 높은 값의 다음 코딩 상태에서) 추가로 사용하기 위해 하나의 엔트리를 손실하는 것이 효율적이다. (다중도 4인) 하나의 코드워드는 사용되지 않지만, 나중에 코드 구성에서 이용할 것이다.
스테이지(b)
Figure 112007028001473-PCT00107
=2,1 코딩 상태 p=4
i=2보다 크지 않은 선행 비트 패턴 지수를 갖는 모든 코드워드를 사용할 수 있다. 4번째 코딩 상태 S4는, 조합 8+8(=16)를 통해 실현될 수 있다. 스테이지(a)에서 남았던 하나의 코드워드와 아울러, (다중도 5인) 다시 하나의 코드워드는 본 스테이지에서 사용되지 않지만, 나중에 이용할 것이다.
스테이지(c)
Figure 112007028001473-PCT00108
=3,1 코딩 상태 p=5
i=3보다 크지 않은 선행 비트 패턴 지수를 갖는 모든 코드워드를 사용할 수 있다. 5번째 코딩 상태 S5는, 조합 8+5+4(=17)를 통해 실현될 수 있다. 이것이 의미하는 것은, (
Figure 112007028001473-PCT00109
의 보다 높은 값의 다음 코딩 상태에서) 추가로 사용하기 위해 하나의 엔트리를 손실하는 것이 효율적이다는 것이다. 아울러, 2개의 이전의 스텝으로부터 나머지 모든 코드워드를 사용한다.
스테이지(d)
Figure 112007028001473-PCT00110
=4, 코딩하지 않은 상태. 지수 i=4인 코드워드를 다음의 스테이지에서 사용한다.
스테이지(e)
Figure 112007028001473-PCT00111
=5,2 코딩 상태 p=6,7
i=5보다 크지 않은 선행 비트 패턴 지수를 갖는 모든 코드워드를 사용할 수 있다. 2개의 상태 S6 및 S7은, 조합 8+8(=16)와 8+5+3(=16)를 통해 실현될 수 있다. 마지막 코드워드(nr.18)는 다음 스테이지에서 사용한다.
스테이지(f)
Figure 112007028001473-PCT00112
=6,1 코딩 상태 p=8
i=6보다 크지 않은 선행 비트 패턴 지수를 갖는 모든 코드워드를 사용할 수 있다. 마지막 코딩 상태 S8은, 조합 8+5+4(=17)를 통해 실현될 수 있고, 이것이 의미하는 것은 하나의 엔트리를 잃는다는 것이다.
이것은 8개의 모든 코딩 상태 S1,S2,..S8의 구성을 완성한다. 이때, 마지막 코드워드(nr.21, |101010|)는 본 코드 구성에서는 전혀 사용되지 않는다. (식(66)과 식(67)에서 사용된 것과 같은) 파라미터
Figure 112007028001473-PCT00113
는, 아래의 표 6에(논제로 요소만이 적힘) 8개의 서로 다른 코딩 상태에 대해 열거되어 있다:
Figure 112007028001473-PCT00114
Figure 112007028001473-PCT00115
Figure 112007028001473-PCT00116
Figure 112007028001473-PCT00117
Figure 112007028001473-PCT00118
(열거되지 않은) 모든 다른 파라미터
Figure 112007028001473-PCT00119
는 제로이다. 쉽게 검증할 수 있는 것은, (i,j=7,4를 제외한) 모든 지수 i,j에 대해,
Figure 112007028001473-PCT00120
을 갖고서, 식(66)의 ≤ 조건은, 관련된 모든 엔트리들에 대한 부등식으로 변환된다. 단, 모든 코딩상태 p에 대해,
Figure 112007028001473-PCT00121
인 반면에, W7,4=1은 예외이다. 지수 nr.21이고 |101010|인 대응한 워드는, 유효코드가 되는데 사용되지 않아야 한다. 코드워드의 코딩 상태에의 하나의 가능한 할당은 표 7에 도시되어 있다.
Figure 112007028001473-PCT00122
예시 코드 설계: k=14의 k 제약을 갖는 코드.
본 섹션에서의 목적은, 명백히 포함된 k 제약을 갖는 변경된 STD를 사용하지 않고 k 제약을 발생하는데 있다. 제로들로 이루어진 긴 시퀀스는, (코딩 상태 S1에서 사용된) 모두 제로인 워드|000000|의 다수의 연속적인 반복으로 생성될 수 있다. 모두 제로인 워드는, 다음 상태 S1으로서 코딩 상태 S1에서의 하나의 테이블 엔트리를 갖고: 이렇게 하여, 모두 제로인 워드는 반복적으로 사용될 수 있어, 런길이에서 제로들의 최대 수에 관한 유한 k 제약을 금지한다. 표 7에 따른 코딩 상 태 S1에서의 워드 할당은 표 8에 나타내어져 있다.
Figure 112007028001473-PCT00123
유한 k 제약은, 다음의 스텝들을 통해 실현될 수 있다.
스텝-1. 코딩 상태 S1을 여분의 코딩 상태 S9로 복제하는 것, 여기서 (모두 제로인 코드워드를 사용하는) 첫 번째의 5개 엔트리는, 코드 구성에서(즉, 코드워드 nr.21)까지 사용되지 않는 코드워드로 대체되고, 그들의 다음 상태는 변경되지 않고 있다.
스텝-2. 모든 코딩상태에서, 적어도 2개의 제로...00|로 끝나고 다음 상태로서 S1을 갖는 코드워드는, 다음 상태로서 S9로 이탈된다.
표 9는, 스텝 1 및 2의 실행 후, 2개의 코딩 상태, S1과 새로운 상태 S9를 산출한다. 중요한 국면은 밑줄을 그었다. 9개의 모든 코딩상태( 및 상태마다, 그것 의 16개 엔트리)를 갖는 완성 표는 표 10에서 아래에서 발견될 수 있다.
Figure 112007028001473-PCT00124
식(14)와 같은 연속적인 제로들의 최대 수는, 다음과 같이 실현된다:
Figure 112007028001473-PCT00125
표 10. d=1, r=2, k=4 4 대 6 RLL 코드를 갖는 9상태 FSM에 대한 코드표.
Figure 112007028001473-PCT00126
Figure 112007028001473-PCT00127
Figure 112007028001473-PCT00128
Figure 112007028001473-PCT00129
Figure 112007028001473-PCT00130
실제 디코딩방법
디코딩 처리는, 도 8에 의거하여 설명된다. 디코딩은 상태 독립적이다, 즉, 그것은 (디코딩되어야 한다고 생각하는) 4비트 사용자 워드를 인코더가 인코딩한 상태를 알 필요가 없다. 상태 독립적 디코딩은, 일어날 수도 있는 코드워드와 다음 상태 조합마다 (전체 코드표 중에서) 하나의 단일 코드표에서 한번만 일어난다는 사실에 의해 이루어진다. 또한, 코드워드 Wi,Wi+1를 사용자 워드로 디코딩하기 위해 서, 현재의 코드워드 Wi의 다음 상태를 알 필요가 있다. 후자의 다음 상태는, 현재의 코드워드 Wi의 바로 뒤에 오는 다음 코드워드 Wi+1로부터 얻어질 수 있다. 이것이 가능한 사실은, 코딩 상태의 구성에 의해 얻어져서, (그 다음 상태에 독립적인) 각 코드워드Wi,Wi+1는 전체 코드표 중에서 단일의 코드표에서 일어나기만 할 수 있고, 그래서 다음 코드워드는 명료하게 현재의 코드워드의 다음 상태를 판정한다.
디코딩 처리를 다음과 같이 더 설명한다. 디코더의 입력에는, 2개의 코드워드, 코드워드 Wi와, 코드워드 Wi+1이 있다. 양쪽의 코드워드에 대해, 지수를 얻을 수 있다(예를 들면, d=1 RLL 제약의 열거 디코딩에 의거하여: 그 지수의 범위는 6채널비트의 코드워드일 경우 0∼20이다). 각각의 지수는, 현재의 코드워드와 다음 코드워드에 대해 Ii와 Ii+1로 나타내어진다. 다음에, 지수 Ii+1는, 전용 변환표를 사용하여 현재의 코드워드 Wi의 "다음 상태"로 변환되고, 이 표는 코드워드(의 지수) 각각을 그것이 속하는 상태 상에서 매핑한다. 이 "다음 상태"를 NSi로 나타낸다. 그 디코딩된 다음 상태 NSi와 조합하여, 현재의 코드워드 Wi의 지수, 즉 Ii의 조합은, 디코딩된 (4비트) 사용자 워드를 산출하는 전용 디코딩표의 입력이다.
유도 스크램블링의 사용에 의한 DC 제어
이전에 설명된 9비트 배향 코드와 바이트 배향 코드와 마찬가지로, 유도 스크램블링을 DC 제어에 사용할 수 있다.
8비트 ECC 심볼의 분포
도 6은 스크램블링 블록에서 s개의 스크램블링 비트를 포함한 포맷의 전형적인 예를 나타낸다. 스크램블링 블록은, (새로운 RLL 코드의) 2Nscr 4비트 입력 심볼을 포함한다. 17PP 코드를 갖는 블루레이 디스크(BD) 포맷에 사용된 것처럼, DC 제어를 위한 동일한 오버헤드를 갖는 새로운 RLL 코드용의 가능한 포맷은, Nscr=22, s=2를 갖고, 이것이 의미하는 것은, 스크램블링 블록마다 4개의 가능한 스크램블링된 채널 비트 스트림이 있다는 것이다. 명백한 이유로, 새로운 RLL 코드가, 8비트 ECC 심볼(바이트)의 리드 솔로몬 코드에 의거한 대수 오차정정 코드(ECC)를 사용하는 것이 이롭다. 스크램블링 블록의 시작부분에서의 s=2 스크램블링 비트의 삽입은, 그들이 새로운 RLL 코드의 인코더의 입력으로서 사용될 때 4비트 심볼의 규칙적인 순서를 방해한다. 오차 전달을 제한하기 위해서는, 4개의 연속적인 스크램블링 블록이 도시된 도 6으로부터 알 수 있듯이, US 6,265,994에 기재된 방식을 사용하였다. 여기서는, 각각이 (새로운 RLL 코드의 입력에) 2개의 4비트 입력워드로 이루어진 8비트 ECC 심볼면에서 설명한다. 각 스크램블링 블록의 제1의 2개의 4비트 입력워드를 제외한 모든 입력워드는, 8트 ECC 심볼과 1 대 1 대응한다. 제1 스크램블링 블록의 제1의 2개의 입력워드는, s=2개의 스크램블링 비트와, 제1의 전용 ECC 심볼 중(8비트 중) 6비트로 이루어진다. 마찬가지로, 제4 스크램블링 블록의 제1의 2개의 입력워드는, s=2 스크램블링 비트와, 제2의 전용 ECC 심볼 중 6비트로 이루 어진다. 2개의 다른 스크램블링 블록은, 제1의 2개의 입력워드에 다음의 비트를 갖는다: 먼저, s=2 스크램블링 비트로 이루어진 세트, 제1의 2개의 전용 ECC 심볼의 나머지 2개의 정보비트와, 끝으로 제3의 전용 ECC 심볼의 정보비트의 절반(그래서 4)을 각각 포함하는 2개의 세트 중 하나. 이들 3개의 전용 ECC 심볼 각각의 8비트는, 도 6에서 3개의 타원으로 나타내었다.
SISO-RLL 디코딩을 위한 복잡성 고려
런길이 제한(RLL) 코딩에 의한 연판정(SISO) 비트 검출의 조합은, 일본 응용 물리학 저널, Part-1,Vol.41,pp.1753-1756,2002, "Rurbo Decoding with Run Length Limited Code for Optical Storage"에서 E.Yamada,T.Iwaki 및 T.Yamaguchi에 의해 개시되어 있다. 명백함을 위해, 별도의 SISO-채널 검출기 및 SISO-RLL 디코더에 의한 2스테이지 접근법만을 도 9에 도시한 것처럼 고력한다. 도 9는 소스비트를 수신하여 이들 소스비트를 사용자 비트로 인코딩하는 LDPC 인코더(90)를 나타낸다. 그래서, 사용자 비트는, LDPC 인코더(90)에 의해 사용자 비트를 NRZ 채널비트로 변환하는 RLL인코더(91)에 공급된다. 그리고, 이들 NRZ 채널비트는, NRZI 인코더(92)에 제공되어 채널을 통해 전송되거나 또는 기록매체(93)에 저장될 수 있는 NRZI 채널비트를 얻는다.
그 채널 또는 기록매체(93)로부터 검색 후, SISO 채널 검출기는, 그렇게 검색된 HF 신호를 처리하여, NRZ 채널비트로 변환하고, 그 NRZ 채널비트를 SISO-RLL 디코더(95)에 제공한다. SISO RLL 디코더(95)는, NRZ 채널비트를 사용자 비트로 변 경하고, 그 후, 사용자 비트는 LDPC 디코더(96)에 의해 처리되어 소스비트를 얻는다.
종래의 PRML 검출기는, NRZ 채널비트에 대해 LLRs(로그-유사도-비율)를 출력하는 SISO 채널 검출기(94)로 대체된다. 이때, BCJR 알고리즘과는 별도로, 또한 다른 알고리즘이 NRZ 채널비트에 관한 LLR 소프트 정보(soft-info)를 출력하도록 존재한다: 이러한 점에서, 도 9에서 SISO-채널 검출기(94)를 참조하는 것은, 보다 폭넓은 의미에 있어서, MAP,Max-log-MAP, SOVA 등(예를 들면, 보다 상세한 설명을 위해 Zining Wu, "Coding and Iterative Detection for Magnetic Recording Channels", Kluwer Academic Publishers,2000 참조)와 같은 또 다른 알고리즘을 나타내는 것을 알아야 한다. 연판정 비트 검출기의 다음 빌딩 블록은, 소위 soft-in-soft-out(SISO) RLL 디코더(95)이다: 그것의 입력으로서, NRZ채널비트에 관한 연판정 정보(LLR)가 있고, 출력으로서는 사용자 비트에 관한 연판정 정보(LLR)가 있다. 이와 다르게 설명하면, SISO-RLL 디코더(95)는, NRZ 채널 비트스트림 ck에 적용하는 연판정 정보를 사용자 비트스트림 uk에 적용하는 연판정 정보로 변환한다. 이때, 표준 RLL 디코더의 입력으로서는, NRZ채널비트 ck에 관한 하드(hard)비트 판정이 있고, 출력으로서는 현재 검출된(하드) 사용자 비트 uk가 있다. 일본 응용 물리학 저널, Part-1,Vol.41,pp.1753-1756,2002, "Turbo Decoding with Run Length Limited Code for Optical Storage"에서 E.Yamada,T.Iwaki 및 T.Yamaguchi에 의해 개시된 것과 같은 상기 SISO-RLL 디코더(95)는, RLL 코드의 유한 상태 머신(FSM) 설명을 필요로 한다. 주어진 RLL-SISO 디코더의 하드웨어 복잡성에 대한 양호한 표시는, 디코딩 스텝에서 분기의 수로 나타낸다.
17PP 코드는, ACH 알고리즘에 의거하여 구성되지 않고; 그 17PP 코드는, 모두 코드비율 R=⅔인 서로 다른 매핑으로 동기 가변길이 코드이다. 17PP 코드의 실제 매핑은, (사용자 비트로부터 채널비트까지)이다: 2 대 3, 4 대 6, 6 대 9 및 8 대 12이다. 가변길이 코드 구조로부터 FSM 기반 코드 구조(디코딩 목적만을 위해)로 변환하는 경우, BD 표준에서 사용된 것과 같은 17PP RLL 코드가 (2입력 비트와 3채널비트가 분기를 따라서 트렐리스의 스테이지마다) 21개의 상태와 79개의 분기를 갖는 상태 복잡성이 큰, Nara,Japan,paper We-PP-13,pp.314-315, 기술요약 ISOM 2003(International Symposium on Optical Memory), "Soft-Output Decoding of 17PP Code"에서, T.Miyauchi 및 Y.Iida가 지적하였다. 4개의 사용자 비트로 이루어진 그룹마다, 이것은 2배의 복잡성, 즉 158 분기를 의미한다.
본 발명의 새로운 RLL 코드는, 9개의 코딩상태를 갖고, 코딩 상태마다 다수의 16개의 분기를 갖고, 그래서 총 144개의 분기를 만든다. 이것이 의미하는 것은, 새로운 RLL 코드는, BD의 17PP 코드보다 SISO-RLL디코딩을 위한 하드웨어 복잡도가 10% 덜 복잡하다; 주목해야 하는 것은, 그 새로운 RLL 코드가 게다가 바람직한 r=2 제약을 갖는 반면에, 17PP는 r=6을 가질 뿐이다.
또 다른 코드워드
상기 코드 구성으로부터 명백한 것은, 일부의 6비트 코드워드의 조합은 인코 딩된 채널 비트스트림에서 일어나지 않는다는 것이다. 이것은, 코드 구성시에 "잃어버린" 소정의 코드워드의 엔트리들 중 일부에 관한 것이다. 상기 "잃어버린" 엔트리들 각각은, 상기 코드워드가 일어나는(그것이 동일한 코드워드가 될 필요는 없다) 코딩 상태에서 정확히 하나의 엔트리에 대한 다른 코딩 엔트리로서 사용될 수 있다. 이러한 식견은, 사이드채널로서, 또는 (DC 제어처럼) 인코딩된 채널 비트스트림의 일부의 다른 통계적 특성에 대해 사용될 수 있는 상기 인코더 측에서 약간의 자유도를 발생한다.
(섹션 4)
본 발명에 따른 코드의 일반화
상기 코드에 대해, d=1 및 r=2의 RLL 코드에 대한 새로운 구성방법을 얻는다. 판명된 것은, 그 새로운 구성방법은, d와 r 제약의 어떠한 조합에도 적용될 수 있다는 의미에서, 일반적이다는 것이다.
이 방법은, 사용자 비트스트림을 전체 채널 코드에 의해 (채널 비트스트림으로서 공지된) 코딩된 비트스트림으로 변환하는 것에 관한 것이다. 이러한 채널 코드는, M개의 정보비트로 이루어진 그룹을 N개의 코드워드로 이루어진 그룹으로 변환한다. 제1 그룹의 비트를 일반적으로 정보워드라고 하고, 제2 그룹의 비트를 코드워드 또는 채널워드라고 한다. 상기 전체 채널 코드는, 소정의 반복 주기에 따라 순환적으로 반복된 잘 정의된 순서로 서브코드의 수 S의 연결을 통해 실현될 수도 있고: 그 서브코드 각각은, 그 입력에서 ni비트 코드워드로 변환된 mi비트 정보워드를 수신하고, 여기서 mi와 ni는 상기 고려 대상의 서브코드 각각에 대해 정수 특성이다. 또한, 서브코드마다, 제2의 특성 정수 ni는 제1의 특성 정수 mi보다 크고; 또한, 전체 코드의 반복 주기 내에서의 모든 서브코드의 mi 수의 합은 M이고, 전체 코드의 반복 주기 내에서의 모든 서브코드의 ni 수의 합은 N이다. 새로운 구성방법에서의 중요한 특징은, i번째 서브코드마다, 그 ni비트 코드워드가 다수의 T개의 서로 다른 타입으로 나누어지고, 코딩 상태의 T개의 클래스로 배치되어, 소정의 i번째 서브코드마다, ni비트 코드워드 타입 t(여기서, t는 1∼T의 정수임)는 다음 서브코드의 이러한 후속하는 코드워드가 지수 T+1-t를 갖는 클래스의 코딩 상태 중 하나에 속하는 경우 다음 서브코드의 ni+1비트 코드워드와 연결될 수 있다는 것이다. d 및 r 제약을 포함한 RLL 코드 구성에 대해, T=1+(d+1)×(r+1)를 얻을 수 있다.
후자의 설명은 서로 다른 코드워드 타입의 수에 대해 먼저 설명하겠다. 코드워드 타입은, 코드워드의 후미 비트면에서 정의된다. 또한, 낮은 지수를 갖는 코드워드 타입은, 지수가 높은 코드워드 타입보다 후속하는 코드워드의 선행 비트에 관해 덜 제한한다. 코드워드 타입 nr.1은, 어떠한 후속하는 코드워드와도 연결될 수 있다. 코드워드 타입 1에 속하는 코드워드는 모두 d+1 제로에서 끝난다, 즉:
Figure 112007028001473-PCT00131
이어서, 코드워드 타입 2,3,...,r+2에 속하는 코드워드는 모두 10d에서 끝난다. 이때, 이러한 마지막 런(run)은, 최소 런길이(d+1 채널비트)를 갖는 런이다. 이러한 마지막 런 10d 앞에는, r+1 경우들을 구별할 수 있고: 코드워드 타입 2는 최소 런길이보다 큰 런을 갖고, 코드워드 타입 3은 마지막 런 10d 앞의 정확히 하나의 최소 런길이를 갖고, 코드워드 타입 4는 마지막 런 10d 앞의 정확히 2개의 최소 런길이를 갖고,.., 그리고, 코드워드 타입 r+2는 마지막 런 10d 앞의 정확히 r개의 최소 런길이를 갖는다. 이들 r+1개의 서로 다른 경우는 아래에 열거되어 있다.
Figure 112007028001473-PCT00132
다음에, 코드워드 타입 (r+2)+1, (r+2)+2,..,(r+2)+(r+1)에 속하는 코드워드는 모두 10d-1에서 끝난다. 이때, 이러한 마지막 런은, 그것의 런길이가 정확히 (길 이(d+1 채널비트)의) 최소 런길이보다 짧은 1비트이므로 완전한 런일 수 없다. 이러한 마지막 런 10d-1 앞에는, r+1 경우를 구별할 수 있다: 코드워드 타입(r+2)+1은 최소 런길이보다 큰 런을 갖고, 코드워드 타입(r+2)+2는 마지막 런 10d-1 앞의 정확히 하나의 최소 런길이를 갖고, 코드워드 타입(r+2)+3은 마지막 런 10d-1 앞의 정확히 2개의 최소 런길이를 갖고, 코드워드 타입(r+2)+(r+1)는 마지막 런 10d-1 앞의 정확히 r개의 최소 런길이를 갖는다. 이들 r+1개의 서로 다른 경우는 아래에 열거되어 있다.
Figure 112007028001473-PCT00133
이러한 서로 다른 코드워드 타입의 열거는, 상기와 같이 동일한 라인을 따라 계속된다: 시간마다, 마지막 런의 시작 부분에서 채널비트의 수는 정확히 1채널비트만큼 감소된다. 주어진 스테이지에서, 마지막 런의 시작부분이 10으로 나타낸 정확히 2비트를 포함하는 경우에 도달한다. 서로 다른 코드워드 타입(r+1)의 수는 아래에 열거된다.
Figure 112007028001473-PCT00134
끝으로, 이러한 서로 다른 코드워드 타입의 열거에서의 마지막 스텝은, 마지막 런의 시작부분이 1로 나타낸 정확히 1비트를 포함하는 경우에 도착하는 경우에 도달된다. 서로 다른 코드워드 타입(r+1)의 수는 아래에 열거되어 있다.
Figure 112007028001473-PCT00135
전체적으로, (서로 다른 코드워드 타입을 열거하는) (d+1) 열거 스텝이 있고; 열거 스텝마다 r+1개의 서로 다른 코드워드 타입이 있다. 전체적으로, 이것은 상기 주어진 서로 다른 코드워드 타입의 수, T=1+(d+1)×(r+1)이 된다.
코딩 클래스의 개념을 도입하기 전에, 선행 비트 패턴은 (하지만 대응한 코드워드 타입의 후미 비트 패턴의 왼쪽에서 오른쪽으로 미러드 버전으로서 얻어진 각각의 선행 비트 패턴을 갖는) 코드워드 타입과 동일한 방식으로 열거된다. 이것에 의해 가능한 선행 비트 패턴의 카탈로그가 된다.
Figure 112007028001473-PCT00136
RLL 채널코드는, 다수의 코딩 상태를 포함한다. 본 발명에서, 적어도 각 코딩 상태는, 하나의 코딩 클래스로 이루어진 멤버이다. 지수 t를 갖는 코딩 클래스는, 1≤i≤t이도록 지수 i를 갖는 선행 비트 패턴을 갖는 모든 코드워드를 포함한다. 한편으로는 코드워드 타입의 구조와, 다른 한편으로는 코딩 클래스에 의해, 새 로운 코드 구성방법에서 사용될 때, 다음의 특성이 된다: 코드워드 타입 t에 속하는 코드워드는 그 코드워드가 코딩 클래스 T+1-t의 코딩 상태 중 하나에 속하는 경우 코드워드의 뒤에만 올 수 있게 된다.
상술한 것과 같은 코드워드 타입 및 코딩 상태의 구조로 인해, 주어진 고려대상의 코딩 클래스 i의 pi개의 코딩상태 각각이 i보다 큰 지수를 갖는 모든 코딩 클래스의 코딩 상태인 것을 더욱 주목하기 손쉽다.
섹션 1 및 2(d=1 및 r=2)에서의 상기 에시들의 경우에 대해, T=7개의 서로 다른 코딩 클래스아 코드워드 타입이 있다. 실제의 코드는, 9비트 배향 코드, 바이트 배향 코드 및, 모두가 d=1 및 r=2인 콤팩트한 4 대 6 매핑에 의한 코드에 대한 상기 섹션에서 설명된 것처럼 얻어졌다.
d=2 및 r=2의 경우에 대해, T=10개의 서로 다른 코딩 클래스와 코드워드 타입이 있다. 후자의 경우에 대해, 실제 코드 구성은, 다음의 서브 섹션에서 설명된다.
d=2 및 r=2의 아주 효율적인 RLL 코드.
조합된 RLL제약 d=2 및 r=2의 샤논 용량은, C(d=2, k=∞, r=2)=0.544997이 된다. 사용자 비트를 채널 비트 상에 32 대 59로 매핑하는 코드는 구성 가능할 수도 있는데, 그 이유는, 비율 R=0.542373≤C(d=2, k=∞, r=2)를 갖기 때문이고; 이러한 새로운 코드의 효율 η=R/C(d=2, k=∞, r=2)는, 이론적 상한치와 비교하여 작 은 부분만 1-η=0.48%를 잃는 것이다. 명백하게는, 32비트 엔트리를 갖는 코드북은, 너무 커서 실용적으로 사용될 수 없다. 이러한 문제를 해결하기 위해 제안한 해결책은, J.J.Ashley and B.H.Marcus,in "Time-Varying Encoders for Constrained Systems: an Approach to Limiting Error Propagation", IEEE Transactions on Information Theory,Vol.46,No.3,pp.1038-1043,May 2000에 제시된 알고리즘의 라인에 따라서 행한다는 것이다. 후자의 접근법은, (다수의 상태에서의) 다수의 코드의 연결을 위해 (효율적인 슬라이딩 블록 코드의 구성에 사용된), IEEE Transaction on Information Theory, Vol.IT-29,1983,pp.5-22에서 "Algorithms for Sliding Block Codes. An Application of Symbolic Dynamics to Information Theory"로 R.L.Adler,D.Coppersmith, and M.Hassner가 기재한 것과 같은 공지된 상태 분할 알고리즘 또는 ACH 알고리즘을 일반화하고, 이때 인코딩 및 디코딩은 일 상태에서 다음 상태로(또는 일 코드에서 다음 코드로) 순환적으로 진행한다. 실제로, 비율 R=32/59의 새로운 코드에 대해, 전체 코드는, 각각의 매핑이 8 대 15, 8 대 15, 8 대 15 및 8 대 14인 C1,C2,C3,C4로 나타낸 4개의 서브코드의 순환 연결로서 실현될 수 있다.
일반적인 경우에, 상기 전체 코드는 다수의 S개의 서브코드로 실현된다. 일반화된 ACH 알고리즘은, 서브코드마다 하나씩, S개의 근사 고유벡터로 이루어진 세트를 검색하되, 이때
Figure 112007028001473-PCT00137
는 k번째 서브코드에 대한 근사 고유벡터의 i번째 계수를 나타내고, 상기 계수는, RLL 제약을 설명하는 대응한 상태천이도(STD)의 모든 상태 i와, (k번째 서브코드에 대해 매핑 mk 대 nk를 갖는) 모든 서브코드 k에 대해 부등식의 세트를 만족시킨다.
Figure 112007028001473-PCT00138
이때, k=S일 경우, 서브코드의 순환 반복 주기로 인해 지수 k+1을 갖는 다음 서브코드는 1과 같은 지수를 갖는 서브코드이다. 상기 식에서, D는 소위 STD용 인접 매트릭스 또는 연결 매트릭스를 나타내고: 그 매트릭스 원소는 그에 대응한 2개의 STD 상태가 그래프에서 연결된 경우 1이고, 그들이 연결되지 않은 경우 0이다. RLL 제약 d=2,r=2의 새로운 코드에 대해, 4개의 서브코드의 파라미터는, m1=m2=m3=m4=8, n1=n2=n3=15, 및 n4=14이다. (이때, 이들 4개의 매핑들 중 임의의 스크램블링되지만 고정된 순서는 또 다른 코드 구성에 대해 유효한 순서이고, 본 발명의 범위 내에 속한다.) 4개의 서브코드(C1,C2,C3,C4로 나타냄)의 순환 반복은, 도 10에 개략적으로 도시되어 있다. 도 10은 4개의 서브코드(C1,C2,C3,C4)의 반복을 나타낸다. 사용자 워드(101a,101b,101c,101d,101e,101f)는 8비트이다. 상기 서브코드(C1,C2,C3,C4)의 반복주기(103)는, 화살표로 나타내고, 4개의 서브코드(C1,C2,C3,C4)의 반복으로 이루어진다. 사용자 워드(101a,101b,101c,101d,101e,101f)는,채널워드(102a,102b,102c,102d,102e, 102f)로 변환하고, 그 연결 후 코딩된 비트스트림(104)을 형성한다. 서브코드 중 하나의 서브코드 C4는, 8비트 사용자 워드(101e)를 14비트 채널워드(102e), 즉 코드워드로 변환하고, 나머지 서브코드 C1,C2,C3은 사용자 워드(101b,101c,101d)를 15비트 채널워드(102b,102c,102d)로 변환한다.
이것이 의미하는 것은, 다음의 부등식이 예상된 새로운 전체 코드에 대해 만족되어야 한다는 것이다.
Figure 112007028001473-PCT00139
및,
Figure 112007028001473-PCT00140
이제, 상기 식의 일부 파라미터를 설명한다. RLL 제약 d=2,r=2일 경우의 STD가 도 11에 도시되어 있다: 이 STD는 10개의 상태(201,202,203,204,205,206,207,208,209,210)로 이루어진다. 도 11에서, 상태 번호는, 그 상태를 기호화하는 원 안에 숫자로서 나타내었고, 이 텍스트에서 그 상태는 σ12,...,σ10으로 나타낸다. 주목해야 하는 것은, 본 STD에서는 k 제약을 고 려하지 않는다는 것이다. 이 k 제약은, 나중의 코드 설계 스테이지에서 도입되지만, 현재의 STD의 변경 때문에 도입하지 않는다. 주어진 STD 상태의 팬 아웃은 그 상태로부터 떠날 수 있는 (주어진 길이의) 코드워드의 콜렉션이다. STD 상태 σi에 대해서, 팬아웃은 Fσi로 나타낸다. 상기 10개의 STD 상태에 대한 팬아웃의 채널워드의 선행 비트는, 표 11(두 부분, 제 1의 5개 상태에 대한 Part-I와, 마지막 5개의 상태에 대한 Part-II)에 열거되어 있고; 또한 나중에 도입되고
Figure 112007028001473-PCT00141
로 나타낸 리넘버링된 STD 상태는 표 11에 열거되어 있다. 끝으로, 나중에 소개될 서로 다른 코딩 클래스도 표 11(Part-I와 Part-II)에 열거되어 있다.
Figure 112007028001473-PCT00142
Figure 112007028001473-PCT00143
Figure 112007028001473-PCT00144
표 11로부터 명백한 것은, 팬아웃에서 다음의 계층구조(팬아웃이 가장 큰 STD 상태σ4)를 적용한다.
Figure 112007028001473-PCT00145
새로운 RLL 코드는, 복수의 코딩 상태, 즉 서브코드마다 코딩 상태의 한 세트에 의해 구성된다. 본 발명에 의하면, 이들 코딩 상태는, 다음과 같이 T=1+(d+1)×(r+1)=10개(d=r=2이므로)의 클래스로 구성된다:
코딩 상태의 제1 클래스의 n비트 코드 워드는, Fσ8(또는
Figure 112007028001473-PCT00146
)에 속하고,
코딩 상태의 제2 클래스의 n비트 코드 워드는, Fσ5(또는
Figure 112007028001473-PCT00147
)에 속하고,
코딩 상태의 제3 클래스의 n비트 코드 워드는, Fσ1(또는
Figure 112007028001473-PCT00148
)에 속하고,
코딩 상태의 제4 클래스의 n비트 코드 워드는, Fσ9(또는
Figure 112007028001473-PCT00149
)에 속하고,
코딩 상태의 제5 클래스의 n비트 코드 워드는, Fσ6(또는
Figure 112007028001473-PCT00150
)에 속하고,
코딩 상태의 제6 클래스의 n비트 코드 워드는, Fσ2(또는
Figure 112007028001473-PCT00151
)에 속하고,
코딩 상태의 제7 클래스의 n비트 코드 워드는, Fσ10(또는
Figure 112007028001473-PCT00152
)에 속하고,
코딩 상태의 제8 클래스의 n비트 코드 워드는, Fσ7(또는
Figure 112007028001473-PCT00153
)에 속하고,
코딩 상태의 제9 클래스의 n비트 코드 워드는, Fσ3(또는
Figure 112007028001473-PCT00154
)에 속하고,
코딩 상태의 제10 클래스의 n비트 코드 워드는, Fσ4(또는
Figure 112007028001473-PCT00155
)에 속한다.
본 발명에 따른 코딩 클래스의 상기 특정 오더링에 기인하여, 코딩 클래스 i 의 코딩 상태도, i 보다 작지 않은 지수 j, 즉 j≥i인 모든 코딩 클래스의 코딩상태이다. 그래서, 다음과 같은 코드 워드의 선행 비트들의 가능 패턴을 오더링하는 것이 쉽다.
Figure 112007028001473-PCT00156
또한, 본 발명에 따른 코드 구성에 대해 표 13에 나타낸 것처럼 (STD의 도착 상태가 원래의 상태와 리넘버링된 상태로 나타낸) 후미 비트 패턴의 다음의 오더링을 고려하는 것이 이롭다. 본 발명에 의하면, 코드워드는, 대응한 코드워드들의 후미 비트 패턴으로 특정된 것과 같은 T=10개의 서로 다른 타입으로 나눌 수 있다.
Figure 112007028001473-PCT00157
주목해야 하는 것은, (표 13의) 상기 오더링된 후미 비트 패턴이 (표 12의) 그에 대응한 오더링된 선행 비트 패턴의 미러드 버전이라는 것이다. 다음에, 이미 설명된 STD 상태의 리넘버링을 설명한다. 표 13에 열거되어 있으므로 상기 후미 비트 패턴의 오더링면에서 STD의 상태를 리넘버링하는 것이 쉽다. 이러한 새로운 넘버링은, 표 13의 마지막 2열에 기재되어 있다. 그 새로운 리넘버링된 상태는,
Figure 112007028001473-PCT00158
로 나타낸다. 이러한 새로운 넘버링에 의해, 타입 i의 코드워드는, 동일한 지수, 즉
Figure 112007028001473-PCT00159
를 갖는 (리넘버링된) STD 상태에 도달하고, 그에 따라서 타입 i의 코드워 드는 후속하는 코드워드로서 클래스 T+1-i=11-i의 코딩 상태에 속하는 임의의 코드워드와 연결될 수 있다. 주목할 것은, 클래스 T+1-i=11-i의 코딩 상태에 속하는 코드워드가 지수 l를 갖는 (표 12의) 선행 비트 패턴을 갖고, 여기서 1≤l≤11-i이다는 것이다. 일례로서, (후미 비트 패턴...0001000100|으로 끝나는)타입 3의 코드워드는, 클래스 85의 코딩 상태로부터의 코드워드와 연결될 수 있는데, 이것은 후자의 코드워드가 선행 비트 패턴(표 12) i=1,i=2,...,i=8에서 시작하여도 된다는 것을 의미한다. 이러한 코드워드의 T=10개의 서로 다른 타입의 코드워드로의 분할과, 코딩 상태의 T=10개의 서로 다른 코딩 클래스로의 배치는, 또 다른 코드 구성의 기본을 형성하고: 이렇게 하여, RLL 제약 d=2 및 r=2는, 순환적으로 연속 서브코드의 코드워드의 연결시에도 항상 만족되어 있다. 표 13으로부터 명백한 것은, 리넘버링된 STD 상태에 대해 다음의 팬아웃에서의 계층 구조를 적용한다.
Figure 112007028001473-PCT00160
Figure 112007028001473-PCT00161
로부터
Figure 112007028001473-PCT00162
로 감소하는 팬아웃에 따른 열거하는 랭킹에 따라, 상기 리넘버링된 STD 상태
Figure 112007028001473-PCT00163
는 전체 중에서 가장 큰 팬아웃이고,
Figure 112007028001473-PCT00164
은 가장 작은 팬아웃이다. 상기 리넘버링된 STD 상태와, 그에 따라서
Figure 112007028001473-PCT00165
로 나타낸 재배치 된 연결 매트릭스에 의해, ("새로운" 고유벡터
Figure 112007028001473-PCT00166
에 대해) 상기 근사 고유벡터 부등식은, 다음과 같이 재기록된다.
Figure 112007028001473-PCT00167
Figure 112007028001473-PCT00168
Figure 112007028001473-PCT00169
가능 코드워드의 선행비트 패턴과 후미 비트 패턴은, 표 12 및 13에서 확인된다. 선행 비트 패턴 i에서 시작하고 후미 비트 패턴 j로 끝나는 길이 n의 코드워드의 수는,
Figure 112007028001473-PCT00170
로 나타내어진다. 근접 검사 후, 다음식으로 판명되었다:
Figure 112007028001473-PCT00171
(여기서, 수 11은 T=10인 경우 T+1로부터 얻어진다). 이러한 내용에 의거하여, 상기 근사 고유벡터 부등식은 다음 형태로 재기록될 수 있다:
Figure 112007028001473-PCT00172
및,
Figure 112007028001473-PCT00173
코딩 클래스마다의 코딩 상태의 수는, s번째 서브코드(s=1,2,3,4)에 대해 벡터 ps로 나타낸다. 근사 고유벡터
Figure 112007028001473-PCT00174
와의 관계는 (i 번째 성분, 1≤i≤10에 대해) 다음식으로 나타낸다.
Figure 112007028001473-PCT00175
이때, 이러한 바람직한 구성에 의해, 코딩 클래스는, 리넘버링된 STD 상태의 넘버링 시스템에 정확히 상보적인 넘버링 시스템을 갖는다; 이것은 이미 표 11로부터 자명하고, 여기서 STD 상태의 리넘버링은 언급되었지만, 설명하지 않는다. 또 한, 서로 다른 코딩 클래스의 특정 구성에 기인하여, 다음의 부등식은 (서브코드 s(s=1,2,3,4)마다) 성립한다.
Figure 112007028001473-PCT00176
코드 설계: k=∞인 경우
먼저, k 제약을 갖지 않는 경우(k=∞)를 고려한다. 길이 n=15와 n=14에 대해
Figure 112007028001473-PCT00177
로 나타낸 특정 선행비트 패턴(i)과 후미 비트 패턴(j)을 갖는 코드워드의 수는, 아래와 같이 나타내어진다.
Figure 112007028001473-PCT00178
Figure 112007028001473-PCT00179
코드 설계: k 제약을 갖는 경우
명백히 포함된 k 제약을 갖는 변경식 STD를 사용하지 않고 k 제약을 발생하기 위해서, 코드워드에서의 선행 및 후미의 0들의 수를 제한하는 것이 바람직하다. 코드워드에서의 선행하는 0들의 최대수를 l0로 나타내고; 후미의 0들의 최대 수를 r0로 나타낸다. l0와 r0에 관한 추가 제약을 갖는 특정 선행 비트 패턴 i와 후미 비트 패턴 j를 갖는 코드워드의 수는, 코드워드의 길이 n에 대해
Figure 112007028001473-PCT00180
로 나타낸다. 주목해야 하는 것은, 이전에 정의된 매트릭스가 다음식으로 확인될 수 있다는 것이다.
Figure 112007028001473-PCT00181
상기 추가의 제약 k=26은, 4개의 서브코드에 대해 l0=r0=13을 선택하여 구현된다. 매트릭스
Figure 112007028001473-PCT00182
Figure 112007028001473-PCT00183
는, 다음과 같이 나타내어진다.
Figure 112007028001473-PCT00184
Figure 112007028001473-PCT00185
이때, 길이 n=14의 코드워드에서의 선행 및 후미 제로들의 수의 상기 선택에 의해, 모두 제로인 코드워드만을 생략한다(이것이 의미하는 것은, 위치(1,1)에서의 매트릭스 원소가, k 제약없는 매트릭스와 비교하여 하나씩 감소된다는 것이다); n=15일 경우, 추가로 2개의 코드워드 |1014| 및 |0141|도 생략된다. 상기 재기록된 근사 고유벡터 부등식의 근사 고유벡터로 이루어진 실제 세트는, 다음과 같이 나타낸다.
Figure 112007028001473-PCT00186
Figure 112007028001473-PCT00187
8 대 15 매핑에 의해 C1으로 나타낸 제1 서브코드는 총 26개의 코딩 상태이고, 8 대 15 매핑에 의해 C2로 나타낸 제2 서브코드는 총 24개의 코딩 상태이고, 8 대 15 매핑에 의해 C3으로 나타낸 제3 서브코드는 총 22개의 코딩 상태이고, 8 대 14 매핑에 의해 C4으로 나타낸 제4 서브코드는 총 20개의 코딩 상태이다. T=10개의 서로 다른 코딩 클래스에 대해서 (서브코드마다) 코딩 상태의 총수의 분포는, (주어진 서브코드마다) 근사 고유벡터에 의해 제어된다.
k=26의 경우에 대한 코드표의 구성
이 코드표는, (가능한 모든 다음 상태를 갖는) 코드워드가 하나의 특별한 코딩 상태에서만 나타날 수 있도록 추가로 구성된다. 디코딩 동작의 경우, 이것이 의미하는 것은, 그 다음 코드워드가 현재의 코드워드의 "다음 상태" 기능을 유일하게 특정한다는 것이다.
k=26의 경우에 대한 코드로 인코딩 및 디코딩
인코딩
8비트 사용자 워드의 인코딩을 위해,
(1) 현재 사용자 워드가 인코딩되어야 하는 서브코드 Ci와,
(2) Ci-Sj로 나타낸 서브코드 Ci의 상태 j와, 인코딩하는데 사용되는 대응한 코드표를 알아야 한다.
인코딩 처리에서, 인코더는, 출력으로서,
(1) 사용될 코드표에 따른 코드워드와,
(2) 단순히 (i=4에 대해, 4개의 서브코드의 순환 반복에 기인하는 C1와 같은) Ci+1인 다음의 8비트 사용자 워드를 인코딩하는데 사용될 다음 서브코드와,
(3) 현재 사용자 워드를 인코딩할 때 사용될 코드표에 따른 다음 서브코드 Ci+1의 다음 상태를 발생하되, 여기서 이 다음 상태는, 다음 8비트 사용자 워드를 다음 서브코드 Ci+1로 인코딩하는데 어느 코드표가 사용될 것인지를 특정한다.
디코딩
이 디코딩은 상태 독립적이다, 즉 그것은 (디코딩되어야 한다고 생각하는) 8 비트 사용자 워드를 인코더가 인코딩한 상태를 알 필요가 없다. 상태 독립적 디코딩은, 일어날 수도 있는 코드워드와 다음 상태 조합 모두가 (전체 코드표 중에서) 하나의 단일 코드표에서 한번만 일어난다는 사실에 의해 이루어진다. 또한, 코드워드를 사용자 워드로 디코딩하기 위해서, 현재의 코드워드의 다음 상태를 알 필요가 있다. 후자의 다음 상태는, 현재의 코드워드의 바로 뒤에 오는 다음 코드워드로부터 얻어질 수 있다. 이것이 가능한 사실은, 코딩 상태의 구성에 의해 얻어져서, (그 다음 상태에 독립적인) 각 코드워드는 전체 코드표 중에서 단일의 코드표에서 일어나기만 할 수 있고, 그래서 다음 코드워드는 명료하게 현재의 코드워드의 다음 상태를 판정한다. 주목해야 하는 것은, (서브코드 Cp로 인코딩되었던) 주어진 코드워드의 다음 상태가, 다음 서브코드인 Cp+1의 가능한 상태들 중 하나이다는 것이다.
디코딩 처리를 다음과 같이 더욱 설명한다. 디코더의 입력에는, 2개의 코드워드, 즉 서브코드 Cp로 인코딩된 코드워드 Wi와, 다음 서브코드 Cp+1로 인코딩된 Wi+1이 있다. 양쪽의 코드워드에 대해, 그리고 코드워드 Wi와 Wi+1 각각에 적용하는 서브코드에 독립적인 지수를 (예를 들면, d=2 RLL 제약의 열거 디코딩에 의거하여) 얻을 수 있다. 각각의 지수는, 현재의 코드워드와 다음 코드워드에 대해 Ii와 Ii+1로 나타내어진다. 다음에, 지수 Ii+1는, (고려된 워드 Wi+1에 적용하는 서브코드에 의존하는) 전용 변환표를 사용하여 현재의 코드워드 Wi의 "다음 상태"로 변환되고, 이 표는 코드워드(의 지수) 각각을 (여기서, Cp+1인) 고려된 서브코드에 대해 속하는 상태 상에서 매핑한다. 이러한 "다음 상태"를 NSi로 나타낸다. 그 디코딩된 다음 상태 NSi와 조합하여, 현재의 코드워드 Wi의 지수, 즉 Ii의 조합은, 디코딩된 (8비트) 사용자 워드를 산출하는 주어진 서브코드 Cp에 대한 전용 디코딩표의 입력이다.
(섹션 5)
2 대 3 매핑에 의한 d=1과 RMTR 제약 r=2를 갖는 RLL 코드
경판정 비트 검출과 관련하여, r=2의 RMTR 제약을 갖는 일부의 새로운 d=1 RLL 코드를 상기에서 제안하였고, 이것은 섹션 1에서 RLL 인코더의 입력에 9비트 사용자 워드에 대해서 또한, 섹션 2에서 RLL 인코더의 입력에서 8비트 사용자 워드 또는 바이트에 대해서 매우 높은 효율을 갖는다. 이들 코드들은 코딩 상태의 수면에서 복잡성이 크고; 또한 그들은 길이 8 또는 9비트의 그들의 입력 사용자 워드에서 갖는다. 후자의 2개의 국면은, 연판정 RLL 디코딩에 적합하지 않은 이들의 아주 효율적인 d=1 & r=2 RLL 코드를 만드는데, 그 이유는, 그와 같은 경우에 하드웨어 복잡성을 한정하기 위해서, 제한된 수의 코딩 상태를 허용할 수만 있고 사용자 비트들로부터 채널 비트들 상에 매핑하는 간결한 코드를 가져야 하기 때문이다. 그러나, 아주 높은 효율을 갖는 후자의 2개의 d=1 & r=2 RLL 코드의 코드 구성이 된다는 고찰은, 현재의 ID에서도 이용되어 새로운 코드를 발생하고, 이 코드는 다음 섹션에 규정된 것과 같은 모든 특성을 갖고, 연판정 SISO-RLL 디코딩에 훨씬 보다 적 합하게 한다. 이러한 목적에 대한 제 1 시도는, 상술한 것처럼, 4 대 6 매핑에 의한 새로운 코드로 된다. 현재의 제 2의 시도는, 가능한, 아주 콤팩트한 매핑, 즉 2 대 3 매핑에 의한 코드를 수반한다.
연판정 RLL 디코딩에 적합한 d=1 & r=2 RLL 코드
r=2 RLL 제약은, (경판정 비트 검출을 위한 PRML 비트 검출기와, 연판정 비트 검출을 위한 BCJR 채널 검출기 또는 맥스(Max)-로그-MAP 채널 검출기인) 채널 검출기의 성능에 대해 이롭다. 이를테면, 경판정 비트 검출을 위해, r=2제약은, r≥6인 경우에 대해 약 5%의 용량 이득을 산출한다. 따라서, 현재 ID의 목적은 다음의 특성을 갖는 d=1 RLL 코드를 발생하는 것이다:
· 그것은 RMTR 제약 r=2를 갖고,
· 그것은 제한된 수의 코딩 상태를 갖고,
· 그것은, 아주 높은 효율을 갖지 않아야 하는데, 그 이유는 후자에 대해 선택하면 그 코드의 복잡성이 너무 커지게 되기 때문이고, 이것에 의해 연판정 SISO-RLL 디코딩에 적합하지 않고; 그래서, 코드비율 R=⅔도 만족하고,
· 그것은, 코드의 각 코딩 상태로부터 분기의 팬아웃을 22=4로 제한하는 간결한 매핑, 예를 들면 2 대 3 매핑을 갖고,
· 아울러, 그것은, 바람직하게는 k 제약도 가져야 한다.
상기 특성 모두는, 다음과 같은 코드 구성으로 구현된다.
일반적인 국면들
현 코드 설게의 목적은, 사용자 비트를 채널 비트 상에 콤팩트 매핑에 의해 채널 코드를 가져야 하는데 있어서, (총 분기 수의 면에서) 연판정 SISO-RLL 디코더의 하드웨어 복잡성이 낮게 유지될 수 있다. 새로운 코드는, 사용자 비트를 채널비트 상에 2 대 3 매핑을 한다(그래서, 코드 비율 R=⅔). 상술한 것처럼, 조합된 RLL제약 d=1 및 r=2의 샤논 용량은, C(d=1, k=∞, r=2)=0.679286이 된다. 사용자 비트를 채널 비트 상에 2 대 3으로 매핑하는 코드는 구성 가능할 수도 있는데, 그 이유는, 비율 R=0.6667≤C(d=1, k=∞, r=2)를 갖기 때문이다.
슬라이딩 블록 런길이 제한(RLL) 코드의 구성은, IEEE Transaction on Information Theory, Vol.IT-29,1983,pp.5-22에서 "Algorithms for Sliding Block Codes. An Application of Symbolic Dynamics to Information Theory"로 R.L.Adler,D.Coppersmith, and M.Hassner가 기재한 것과 같은 ACH 알고리즘에 근거한다. 이러한 알고리즘은, 근사 고유벡터로 이루어진 세트를 검색하되, 이때 νi는 근사 고유벡터의 i번째 계수를 나타내고, 이 계수는, (m 대 n 매핑에 의한 코드에 대해) RLL 제약을 설명하는 대응한 상태천이도(STD)의 모든 상태 i에 대한 부등식의 세트를 만족시킨다:
Figure 112007028001473-PCT00188
상기 식에서, D는 소위 STD용 인접 매트릭스 또는 연결 매트릭스를 나타내고: 그 매트릭스 원소는 그에 대응한 2개의 STD 상태가 그래프에서 연결된 경우 1이고, 그들이 연결되지 않은 경우 0이다. RLL 제약 d=1,r=2의 새로운 코드에 대해, 그 코드의 파라미터는, m=2, n=3이다. 이것이 의미하는 것은, 다음의 부등식이 (RLL 제약을 설명하는 상태 천이도에서의 상태의 수가 7임; 다음 서브섹션 참조) 예상된 새로운 전체 코드에 대해 만족되어야 한다는 것이다:
Figure 112007028001473-PCT00189
상태천이도(STD)
주목해야 하는 것은, 상태천이도(STD)가 채널 비트스트림에 의해 만족되어야 하는 기본 런길이 제약을 설명한다는 것이다. 이들 런길이 제약을 만족시키는 RLL 코드는, 특정 수의 상태로 이루어진 유한상태 머신(FSM)에 의거한다. 코드의 FSM의 분기를 따라서, RLL 코드의 코드워드가 도시되어 있다. RLL 인코더는 주어진 FSM 상태에 있다고 하고; 2m=4 입력워드마다, 상기 FSM상태를 떠나는 유일한 분기가 있다. 각 분기는, 상기 분기의 도착상태인 "다음 상태"와 함께 코드워드인 분기 라벨을 유일하게 특징으로 한다. FSM의 구조에 따른 코드워드의 연결은, STD에 나타낸 것과 같은 런길이 제약을 만족하는 채널 비트스트림이 된다.
RLL 제약 d=1,r=2일 경우의 STD가 도 2에 도시되어 있다: 이 STD는 σ12,...,σ7으로 나타낸 7개의 상태로 이루어진다. 주목해야 하는 것은, 본 STD에서는 k 제약을 고려하지 않는다는 것이다.
다음에, 각 STD 상태의 팬아웃을 해석한다. 주어진 STD 상태의 팬아웃은 그 상태로부터 떠날 수 있는 (주어진 길이의) 코드워드의 콜렉션이다. STD 상태 σ1에 대해서, 팬아웃은 Fσ1로 나타낸다. 상기 7개의 STD 상태에 대한 팬아웃의 채널워드의 선행 비트는, 표 14에 열거되어 있다. 그 목적이 2 대 3 매핑에 의한 코드, 즉 3비트 채널워드 또는 코드워드에 대한 것이므로, 코드워드가 보다 긴 이전에 설계된 코드와 비교하여 약간씩 해석을 변경한다. 주어진 STD 상태의 팬아웃에 대한 코드워드들에서의 특징적 비트 패턴은, 일부의 경우에 3보다 많은 채널비트를 포함하고, 이러한 경우에, 주어진 STD 상태의 팬아웃도 상기 고려된 STD상태로부터 나온 현재의 3비트 코드워드 바로 뒤에 3비트 코드워드의 가능성을 제한하고, 이것은 r=2 제약이기 때문이다. 또한,
Figure 112007028001473-PCT00190
로 나타낸 리넘버링된 STD 상태는 표 14에 열거되어 있다. 끝으로, 나중에 소개될 서로 다른 코딩 클래스도 표 14에 열거되어 있다. 완벽함을 위해, 주목해야 하는 것은, 연속적인 3비트 코드워드간의 워드 경계가 수직선 "|"으로 나타내어져 있다.
Figure 112007028001473-PCT00191
Figure 112007028001473-PCT00192
표 14로부터 명백한 것은, 팬아웃에서 다음의 계층구조(팬아웃이 가장 큰 STD 상태σ3)를 적용한다:
Figure 112007028001473-PCT00193
새로운 RLL 코드는, 복수의 코딩 상태에 의거해 구성된다. 본 발명에 의하 면, 이들 코딩 상태는, 다음과 같이 (최대) 7개의 클래스(d=1 및 r=2인 Tmax=1+(d+1)×(r+1))로 구성된다:
코딩 상태의 제1 클래스의 n비트 코드 워드는, Fσ6(또는
Figure 112007028001473-PCT00194
)에 속하고,
코딩 상태의 제2 클래스의 n비트 코드 워드는, Fσ4(또는
Figure 112007028001473-PCT00195
)에 속하고,
코딩 상태의 제3 클래스의 n비트 코드 워드는, Fσ1(또는
Figure 112007028001473-PCT00196
)에 속하고,
코딩 상태의 제4 클래스의 n비트 코드 워드는, Fσ7(또는
Figure 112007028001473-PCT00197
)에 속하고,
코딩 상태의 제5 클래스의 n비트 코드 워드는, Fσ5(또는
Figure 112007028001473-PCT00198
)에 속하고,
코딩 상태의 제6 클래스의 n비트 코드 워드는, Fσ2(또는
Figure 112007028001473-PCT00199
)에 속하고,
코딩 상태의 제7 클래스의 n비트 코드 워드는, Fσ3(또는
Figure 112007028001473-PCT00200
)에 속한다.
본 발명에 따른 코딩 클래스의 상기 특정 오더링에 기인하여, 코딩 클래스 i 의 코딩 상태도, i 보다 작지 않은 지수 j, 즉 j≥i인 모든 코딩 클래스의 코딩상태이다. 그래서, 다음과 같은 코드 워드의 선행 비트들의 가능 패턴을 오더링하는 것이 쉽다(여기서, 일부의 경우에도, 연속적인 코드워드의 하나 또는 심지어 2개의 관련 비트들을 나타내는데 필요하다):
Figure 112007028001473-PCT00201
또한, 본 발명에 따른 코드 구성에 대해 표 16에 나타낸 것처럼 (STD의 도착 상태가 원래의 상태와 리넘버링된 상태로 나타낸) 후미 비트 패턴의 다음의 오더링을 고려하는 것이 이롭다. 본 발명에 의하면, 코드워드는, 그들의 후미 비트 패턴으로 특정된 것과 같은 7개의 서로 다른 타입으로 나눌 수 있다. (2 대 3 매핑에 대해) 3비트만의 짧은 코드워드 길이에 의해, 코드워드 타입은, 현재의 코드워드의 비트들과, 또한 이전에 출력된 코드워드의 (모두가 아닌 경우) 일부의 비트들에 의존한다.
Figure 112007028001473-PCT00202
주목해야 하는 것은, (표 16의) 상기 오더링된 후미 비트 패턴이 (표 15의) 그에 대응한 오더링된 선행 비트 패턴의 미러드 버전이라는 것이다. 다음에, 이미 설명된 STD 상태의 리넘버링을 설명한다. 표 16에 열거되어 있으므로 상기 후미 비트 패턴의 오더링면에서 STD의 상태를 리넘버링하는 것이 바람직하다. 이러한 새로운 넘버링은, 표 16의 마지막 2열에 기재되어 있다. 그 새로운 리넘버링된 상태는,
Figure 112007028001473-PCT00203
로 나타낸다. 이러한 새로운 넘버링에 의해, 타입 i의 코드워드는, 동일한 지수, 즉
Figure 112007028001473-PCT00204
를 갖는 (리넘버링된) STD 상태에 도달하고, 그에 따라서 기본 규칙은, 타입 i의 코드워드가 후속하는 코드워드로서 클래스 8-i의 코딩 상태에 속하는 임의의 코드워드와 연결될 수 있다.
주목할 것은, 클래스 8-i의 코딩 상태에 속하는 코드워드가 지수 l를 갖는 (표 15의) 선행 비트 패턴을 갖고, 여기서 1≤l≤8-i이다는 것이다. 일례로서, (후미 비트 패턴...001010|으로 끝나는)타입 3의 코드워드는, 클래스 5의 코딩 상태로부터의 코드워드와 연결될 수 있는데, 이것은 후자의 코드워드가 선행 비트 패턴(표 15) i=1,i=2,...,i=5에서 시작하여도 된다는 것을 의미한다. 이러한 코드워드의 7개의 서로 다른 타입의 코드워드로의 분할과, 코딩 상태의 7개의 서로 다른 코딩 클래스로의 배치는, 또 다른 코드 구성의 기본을 형성하고: 이렇게 하여, RLL 제약 d=1 및 r=2는, (코드워드의 연결시에도) 항상 만족되고 있다. 표 16으로부터 명백한 것은, 리넘버링된 STD 상태에 대해 다음의 팬아웃에서의 계층 구조를 적용한다.
Figure 112007028001473-PCT00205
Figure 112007028001473-PCT00206
로부터
Figure 112007028001473-PCT00207
로 감소하는 팬아웃에 따른 열거하는 랭킹에 따라, 상기 리넘버링된 STD 상태
Figure 112007028001473-PCT00208
는 전체 중에서 가장 큰 팬아웃이고,
Figure 112007028001473-PCT00209
은 가장 작은 팬아웃이다. 상기 리넘버링된 STD 상태와, 그에 따라서
Figure 112007028001473-PCT00210
로 나타낸 재배치된 연결 매트릭스에 의해, ("새로운" 고유벡터
Figure 112007028001473-PCT00211
에 대해) 상기 근사 고유벡터 부등식은, 다음과 같이 재기록된다:
Figure 112007028001473-PCT00212
코딩 클래스마다의 코딩 상태의 수는, 벡터 p로 나타낸다. 근사 고유벡터
Figure 112007028001473-PCT00213
와의 관계는 (i 번째 성분, 1≤i≤7에 대해) 다음식으로 나타낸다:
Figure 112007028001473-PCT00214
이때, 이러한 바람직한 구성에 의해, 코딩 클래스는, 리넘버링된 STD 상태의 넘버링 시스템에 정확히 상보적인 넘버링 시스템을 갖는다; 이것은 이미 표 14로부터 명백하고, 여기서 STD 상태의 리넘버링은 언급되었지만, 설명하지 않는다. 또한, 서로 다른 코딩 클래스의 특정 구성에 기인하여, 다음의 부등식이 성립한다:
Figure 112007028001473-PCT00215
사소한 코딩 클래스의 개념
상기 논증 과정에서는, RLL 인코더의 FSM코드로부터 코드워드를 방출하는 경우 도착상태들로서 모든 STD 상태를 방문한다는 것을 가정하였다. 이것은, 그것의 모든 성분이 논제로인 근사 고유벡터의 상황에 대응한다. 그러나, ACH 알고리즘을 사용하여 코드 구성에 있어서, 일부의 STD 상태의 근사 고유벡터의 성분은 0인 것이 가능하다. 단지 간단하게 하기 위해서,
Figure 112007028001473-PCT00216
이도록 지수 8-j를 갖는 상기 STD 상태만 있는 경우( 1보다 많은 상기와 같은 STD 상태를 갖는 경우가 사소한 확장임)를 고려한다. 대응한 코딩 클래스는, pj=0, 즉 코딩되지 않은 상태를 포함하므로 코딩 클래스가 비어 있는, 지수 j를 갖는다. 이러한 비어 있는 코딩 클래스를 사소한 코딩 클래스라고 한다. 그러므로, Ncc로 나타낸 사소하지 않은(비어 있지 않은) 코딩 클래스의 실제 수는, Ncc≤Tmax=1+(d+1)×(r+1)의 관계를 만족해야 한다. 식(95)에 나타낸 것과 같은 서로 다른 코딩 클래스들에 대한 코딩 상태의 수 pi에서의 계층 구조는, 사소하지 않은 코딩 클래스에 대해 적용될 뿐이다. 이것은,, 코딩 클래스 j가 사소한 코딩 클래스(pj=0)인 경우의 d=1 및 r=2로 실례에 대해 설명된다:
Figure 112007028001473-PCT00217
실제 설계 선택.
적합한 근사 고유벡터로서, v={3,5,5,2,4,2,0} 또는
Figure 112007028001473-PCT00218
={5,5,4,0,3,2,2}를 선택할 수 있다. 코딩 클래스에서 코딩 상태의 수인 수 pj에 대해, p={2,2,3,0,4,5,5}로 한다. 지수 j=4인 하나의 사소한 빈 코딩 클래스가 있다. 그래서, T 또는 Ncc로 나타낸 사소하지 않은 코딩 클래스의 수는 6이다. 코딩 클래스 를 CCi로 나타내는 것에 의해, 코딩 클래스에 대해 다음의 코딩 상태의 분포가 된다:
Figure 112007028001473-PCT00219
Figure 112007028001473-PCT00220
다음은 코딩 클래스들 각각에 사용될 때의 코드워드의 리스팅이다.
코딩 클래스 CC1
Figure 112007028001473-PCT00221
코딩 클래스 CC2
CC1과 동일함.
코딩 클래스 CC3
Figure 112007028001473-PCT00222
코딩 클래스 CC4
사소한 코딩 상태이므로 적용 불가능.
코딩 클래스 CC5
Figure 112007028001473-PCT00223
코딩 클래스 CC6
Figure 112007028001473-PCT00224
코딩 클래스 CC7
CC6과 동일함.
코드표: 유도 스크램블링을 거친 DC 제어에 의한 코드
주목해야 하는 것은, 코딩 상태 ∑1 및 ∑2가 코드워드 |000| 및 |001|를 사용하고 있고, 3개의 다른 코딩 상태 ∑3, ∑4 및 ∑5가 다른 3개의 코드워드 |010|,|100| 및 |101|를 사용한다. 이들은 코드워드의 2개의 공통원소를 갖지 않는 세트이다. 이 때문에, 이러한 작용을 사용하여 룩어헤드 디코딩에 대한 디코딩 윈도우를 (현재의 3 비트 코드워드와 아울러, 3개의 다음 3비트 코드워드까지) 제한할 수 있다. 상기 내용으로부터 얻어진 코드표는, 아래에 "코드표(A)"로서 열거되어 있다:
Figure 112007028001473-PCT00225
다음에, 패리티 보존 특성은, 상기 코드에 대해 구현되어 그 특성에 의해 DC 제어를 적용하여야 한다. 중간 스텝으로서, 코드표(A)는, 동일한 상태 내에서 표-엔트리들의 일부의 교체에 의해 코드표(B)로 변환된다. "코드표(B)"는 아래에 열거되어 있다:
Figure 112007028001473-PCT00226
DC 제어를 위한 패리티 보존 특성을 갖는 코드표들
상기 코드표(B)는 아직 패리티 보존을 하지 않고 있다. 2개의 여분의 상태의 첨가에 의해, 패리티 보존 RLL 코드가 구현된다. 최종 코드표(C)는 다음이 된다:
Figure 112007028001473-PCT00227
여분의 코딩 쉘을 통한 k=13 제약
상기 코딩표들(코드의 PP버전 및 논(non)-PP 버전)로부터 분명한 것은, 제로들의 무한 스트림(FSM 상태 ∑1으로부터 사용자 디(di)-비트 "00"를 갖는 엔트리 "0"의 무한 반복)을 방출하는 것이 가능하다는 것이다. 그 목적은, FSM 인코더의 실행 후 실행되는 여분의 코딩 쉘을 통한 유한 k 제약을 실현하는데 있다. 이제, 그 7 상태 FSM에 의한 코드의 PP 버전에 관해 초점을 맞추어 설명을 하겠다. 상기 코딩표로부터 |101|010|의 비트 패턴을 상기 인코더에 의해 생성할 수 없다고 해석할 수 있다. 이러한 국면을 사용하여 상기 전용 패턴에 의거하여 채널 비트스트림의 치환을 수행한다. 인코더에서는, 상기 치환의 여분의 세트를 FSM 인코더에 의해 적분방식으로 실행하고, 디코더에서는 상기 치환의 여분의 세트를 (경판정 비트 검출의 경우에) 슬라이딩 블록 디코더 앞에서 실행한다. FSM 인코더에 의해 적분된 것처럼 인코더에서의 상기 치환의 세트를 설명하는 것; 다음의 10개의 특수한 경우로 구별되어야 한다:
Figure 112007028001473-PCT00228
이들 입력 패턴 각각의 경우, PP 버전의 코드표들(위의 코드표(C))을 이용하여 채널 비트스트림이 될 것이다:
Figure 112007028001473-PCT00229
상기 치환을 이용하여, 채널 비트스트림을 다음으로 치환한다:
Figure 112007028001473-PCT00230
주목해야 하는 것은, 채널 비트스트림에서 후자의 12비트 스트링이, FSM 인코더에 의해 생성될 수 없으므로 유일하다는 것이다. 또한, 12 비트 스트링의 시작과 끝에서 FSM 인코더에서의 현재 상태(cs)와 다음 상태(ns)는 변경되지 않고: 이 것에 의해 인코더 상태의 정보를 필요로 하지 않고 채널 비트스트림에 관해 디코더의 측면에서 역치환을 수행할 수 있다. 이것은, 오차 전달의 최소화에 이롭다. 또한, 이들 치환은, 코드의 전체 PP 특성을 보존한다. 이러한 방식으로 k=13 제약이 실현될 수 있다는 것을 확인할 수 있다.
(섹션 6)
연판정 RLL 디코딩에 적합한 콤팩트 2 대 3 매핑에 의한 d=1,r=2,k=12 RLL 코드
본 예시에 대한 적합한 근사 고유벡터로서, v={6,10,10,5,9,4,6} 또는
Figure 112007028001473-PCT00231
={10,10,9,6,6,5,4}를 선택할 수 있다. 코딩 클래스에서 코딩 상태의 수인 수 pj에 대해, p={4,5,6,6,9,10,10}로 한다. 사소한 빈 코딩 클래스가 없어서, T 또는 Ncc로 나타낸 사소하지 않은 코딩 클래스의 수는 T=Tmax=7이다. 코딩 클래스를 CCi로 나타내는 것에 의해, 코딩 클래스에 대해 다음의 코딩 상태의 분포가 된다:
Figure 112007028001473-PCT00232
Figure 112007028001473-PCT00233
코딩 클래스들 각각에서 사용될 수 있는 코드워드들
코딩 클래스 CC1
Figure 112007028001473-PCT00234
코딩 클래스 CC2
코딩 클래스 CC3
Figure 112007028001473-PCT00236
코딩 클래스 CC4
Figure 112007028001473-PCT00237
코딩 클래스 CC5
Figure 112007028001473-PCT00238
코딩 클래스 CC6
Figure 112007028001473-PCT00239
코딩 클래스 CC7
Figure 112007028001473-PCT00240
k 제약이 없는 코드표
d=1,k=∞,r=2 RLL 제약을 갖는 10 상태 FSM에 대한 결과적인 코드표가 아래에 나타내어져 있다:
10 유한 상태 머신에 의한 d=1, k=무한대, r=2의 코드표
Figure 112007028001473-PCT00241
Figure 112007028001473-PCT00242
Figure 112007028001473-PCT00243
k=12 제약을 갖는 코드표
주목해야 하는 것은, 상기 코드표에서는, (코딩 클래스 CC7로부터 사용 가능한 것처럼) 다음 상태 ∑5를 갖는 코드워드 |101|를 사용하지 않는다는 것이다. 따라서, 그것을 이용하여 상기 다음 상태 ∑5를 갖는 사용되지 않는 코드워드 |101|에 의해 대체된 그것의 첫 번째 엔트리(다음 상태 ∑1을 갖는 |000|)를 갖는 상태 ∑1을, ∑11으로 나타낸 추가의 코딩 상태로 복제함으로써, 유한 k 제약, 즉 k=12를 실현할 수 있다; 또한 제1 코딩 상태 ∑1 자체의 첫 번째 엔트리는, 다음 상태 ∑1을 갖는 |000|로부터 다음 상태 ∑11을 갖는 |000|로 변경된다.
d=1, k=12,r=2 RLL 제약을 갖는 11 상태 FSM에 대한 결과적인 코드표가 아래에 나타내어져 있다:
11 유한 상태 머신에 의한 d=1, k=12, r=2의 코드표
Figure 112007028001473-PCT00244
Figure 112007028001473-PCT00245

Claims (64)

  1. 전체 채널 코드에 의해 사용자 비트스트림을 코딩된 비트스트림으로 변환하는 방법으로서,
    - M 비트 정보 워드를 N비트 코드 워드로 변환하는 단계와,
    - 각 서브 코드는 ni 비트 코드 워드로 변환된 mi 비트 정보워드를 수신하고, 여기서 mi은 서브코드마다의 정수 특성이고, ni는 서브코드마다의 정수 특성이고, 서브코드마다, 상기 특성 정수 ni는 상기 특성 정수 mi보다 커서, 상기 반복 주기 내의 모든 서브코드의 mi수의 합이 M이고, 상기 반복 주기 내의 모든 서브코드의 ni수의 합이 N인 경우, 상기 전체 채널 코드를, 순환 반복 순으로 소정의 반복주기를 갖는 서브코드의 수 S를 연결하여서 실현하는 단계와,
    - 서브코드마다, 그의 ni 비트 코드 워드를, 다수의 Tmax 서로 다른 코드워드 타입으로 분할하고, 주어진 서브코드마다, 타입 t(여기서, t는 1과 Tmax 사이의 정수임)의 ni 비트 코드워드를 연결된 코드워드의 세트로 연결되도록 코딩 상태의 Tmax 코딩 클래스에 그 ni 비트 코드워드를 배치하여, 다음 서브코드의 연속적인 코드 워드가 지수 Tmax+1-t를 갖는 코딩 클래스의 코딩 상태들 중 하나에 속하는 경우 다음 서브코드의 ni+1 비트 코드워드에 의해, 상기 코딩된 비트스트림을 발생하는 상기 전체 채 널코드의 N비트 코드워드들을 실현하는 단계를 포함한 것을 특징으로 하는 변환방법.
  2. 제 1 항에 있어서,
    상기 코드 워드 타입은, 상기 코드 워드의 다수의 후미 비트로 판정하는 것을 특징으로 하는 변환방법.
  3. 제 1 항에 있어서,
    상기 코드 워드 타입은, 선행하는 코드 워드의 적어도 하나의 비트와, 상기 코드 워드의 모든 비트에 의해 판정하는 것을 특징으로 하는 변환방법.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 코딩된 비트스트림을 실현하는 연결된 N 비트 코드 워드의 세트는 dkr 제약을 만족하고, 여기서 d는 코딩된 비트스트림에 있는 2개의 연속적인 1-비트들 사이에서의 0-비트들의 최소 수를 나타내고, k는 코딩된 비트스트림에 있는 2개의 연속적인 1-비트들 사이에서의 0-비트들의 최대 수를 나타내고, 또 r은 각각 1-비트씩 앞선 0-비트들의 연속적인 최소 런의 최대 수를 나타낸 것을 특징으로 하는 변환방법.
  5. 제 4 항에 있어서,
    서로 다른 코드 워드 타입과 적어도 하나의 코딩 상태에 있도록 정의된 비어 있지 않은 코딩 클래스의 수 T는 Tmax=1+(d+1)x(r+1)이하인 것을 특징으로 하는 변환방법.
  6. 제 4 항에 있어서,
    서로 다른 코드 워드 타입의 수 T와 서로 다른 비어 있지 않은 코딩 클래스의 수 T, 여기서 T는 Tmax=1+(d+1)x(r+1)인 것을 특징으로 하는 변환방법.
  7. 제 5 항 또는 제 6 항에 있어서,
    d=1 및 r=2이면, Tmax는 7인 것을 특징으로 하는 변환방법.
  8. 제 7 항에 있어서,
    T=Tmax=7이고, 서브코드의 수 S는 6인 것을 특징으로 하는 변환방법.
  9. 제 8 항에 있어서,
    상기 서브코드 중 하나는, m=8 및 n=11로 매핑을 하고, 나머지 서브코드는 m=8 및 n=12로 매핑을 하는 것을 특징으로 하는 변환방법.
  10. 제 7 항에 있어서,
    T=Tmax=7이고, 서브코드의 수 S는 3인 것을 특징으로 하는 변환방법.
  11. 제 10 항에 있어서,
    서브코드 중 하나는 m=9 및 n=14를 갖고, 나머지 서브코드는 m=9 및 n=13을 갖는 특징으로 하는 변환방법.
  12. 제 7 항에 있어서,
    T=Tmax=7이고, 서브코드의 수 S는 1인 것을 특징으로 하는 변환방법.
  13. 제 12 항에 있어서,
    상기 서브코드는, m=4 및 n=6으로 매핑을 하는 것을 특징으로 하는 변환방법.
  14. 제 12 항에 있어서,
    단일 서브코드는, m=2 및 n=3으로 매핑을 하는 것을 특징으로 하는 변환방법.
  15. 제 5 항 또는 제 6 항에 있어서,
    서브코드마다, 상기 코딩 상태의 T≤Tmax의 비어 있지 않은 코딩 클래스 각각은, p1,p2,...,pmax코딩 상태를 포함하고, 여기서, 비어 있지 않은 코딩 클래스의 상태의 논제로 수 p1≤p2...≤pmax를 나타내는 수들에 대해서, 또한, pmax가 고려대상의 서브코드의 코딩 상태의 총 수를 나타내면, 주어진 고려 대상의 클래스 "i"의 pi코딩 상태 각각도 "i"보다 큰 지수를 갖는 모든 클래스의 코딩 상태이도록 사소한 비어 있는 코딩 클래스들을 생략하는 것을 특징으로 하는 변환방법.
  16. 제 7 항에 있어서,
    서브코드마다 후미 비트는, 다음 세트의 규칙으로 서로 다른 코드 워드 타입에 대해 특정되고, 즉,
    제1 타입의 n비트 코드 워드는 "00"으로 끝나고,
    제2 타입의 n비트 코드 워드는 "0010"으로 끝나고,
    제3 타입의 n비트 코드 워드는 "001010"으로 끝나고,
    제4 타입의 n비트 코드 워드는 "00101010"으로 끝나고,
    제5 타입의 n비트 코드 워드는 "001"로 끝나고,
    제6 타입의 n비트 코드 워드는 "00101"로 끝나고,
    제7 타입의 n비트 코드 워드는 "0010101"로 끝나고,
    여기서, 서로 다른 코딩 클래스에 속하는 코드워드의 선행 비트는, 다음의 세트의 규칙으로 결정되고, 즉,
    제1 클래스의 코딩 상태의 n비트 코드 워드는, "00"으로 시작하고,
    제2 클래스의 코딩 상태의 n비트 코드 워드는, "00" 또는 "0100"으로 시작하고,
    제3 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100" 또는 "010100"으로 시작하고,
    제4 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100" 또는 "01010100"으로 시작하고,
    제5 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100" 또는 "100"으로 시작하고,
    제6 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100", "100" 또는 "10100"으로 시작하고,
    제7 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100", "100", "10100" 또는 "1010100"으로 시작하는 것을 특징으로 하는 변환방법.
  17. 제 9 항 및 제 16 항에 있어서,
    제1 서브코드에 대해 코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=11, p2=15, p3=17, p4=17, p5=24, p6=27 및 p7=28이 되고, 제2 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=10, p2=14, p3=15, p4=16, p5=22, p6=25 및 p7=26이 되고, 제3 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=9, p2=13, p3=14, p4=14, p5=20, p6=23 및 p7=24가 되고, 제4 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=8, p2=11, p3=13, p4=13, p5=19, p6=21 및 p7=22가 되고, 제5 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=8, p2=11, p3=12, p4=12, p5=17, p6=19 및 p7=20이 되고, 제6 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=7, p2=10, p3=11, p4=12, p5=16, p6=18 및 p7=19가 되는 것을 특징으로 하는 변환방법.
  18. 제 11 항 및 제 16 항에 있어서,
    제1 서브코드에 대해 코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=7, p2=10, p3=11, p4=11, p5=16, p6=18 및 p7=19가 되고, 제2 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=8, p2=12, p3=13, p4=13, p5=19, p6=21 및 p7=22가 되고, 제3 서브코드에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=10, p2=14, p3=15, p4=16, p5=22, p6=25 및 p7=26이 되는 것을 특징으로 하는 변환방법.
  19. 제 13 항 및 제 16 항에 있어서,
    코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=3, p2=4, p3=5, p4=5, p5=7, p6=8 및 p7=8이 되는 것을 특징으로 하는 변환방법.
  20. 제 19 항에 있어서,
    유한 k 제약은 여분의 코딩 상태에 의해 실현되는 것을 특징으로 하는 변환방법.
  21. 제 14 항 및 제 16 항에 있어서,
    사소하지 않은 코딩 클래스의 수 T는 6이고, 이때 코딩 클래스 수 4가 비어 있는 코딩 클래스이고, p4=0을 산출하고, 여기서 코딩 상태의 사소하지 않은 코딩 클래스 각각에 대해 코딩 상태의 수 p1, p2, p3, p5, p6, p7는 p1=2, p2=2, p3=3, p5=4, p6=5 및 p7=5가 되는 것을 특징으로 하는 변환방법.
  22. 제 21 항에 있어서,
    패리티 보존 특성은, 적어도 하나의 여분의 코딩 상태에 의해 실현되는 것을 특징으로 하는 변환방법.
  23. 제 21 항에 있어서,
    유한 k 제약은, 상기 코드의 기본적인 2 대 3 매핑에 의해 유한상태 머신에 바로 뒤이어 여분의 코딩 쉘에 의해 실현되는 것을 특징으로 하는 변환방법.
  24. 제 5 항 또는 제 6 항에 있어서,
    d=2, r=2이고, Tmax는 10인 것을 특징으로 하는 변환방법.
  25. 제 24 항에 있어서,
    T=Tmax=10, 서브코드의 수 S는 4인 것을 특징으로 하는 변환방법.
  26. 제 25 항에 있어서,
    서브코드들 중 하나는, m=8, n=14로 매핑을 하고, 나머지 서브코드는 m=8, n=15로 매핑을 하는 것을 특징으로 하는 변환방법.
  27. 제 24 항에 있어서,
    서브코드마다 후미 비트들은, 다음의 세트의 규칙으로 서로 다른 코드 워드 타입에 대해 특정되고, 즉,
    제1 타입의 n비트 코드 워드는 "000"으로 끝나고,
    제2 타입의 n비트 코드 워드는 "000100"으로 끝나고,
    제3 타입의 n비트 코드 워드는 "000100100"으로 끝나고,
    제4 타입의 n비트 코드 워드는 "000100100100"으로 끝나고,
    제5 타입의 n비트 코드 워드는 "00010"으로 끝나고,
    제6 타입의 n비트 코드 워드는 "00010010"으로 끝나고,
    제7 타입의 n비트 코드 워드는 "00010010010"으로 끝나고,
    제8 타입의 n비트 코드 워드는 "0001"로 끝나고,
    제9 타입의 n비트 코드 워드는 "0001001"로 끝나고,
    제10 타입의 n비트 코드 워드는 "0001001001"로 끝나고,
    서로 다른 코딩 클래스에 속하는 코드 워드의 선행 비트는, 다음의 세트의 규칙으로 결정되고, 즉,
    제1 클래스의 코딩 상태의 n비트 코드 워드는, "000"으로 시작하고,
    제2 클래스의 코딩 상태의 n비트 코드 워드는, "000" 또는 "001000"으로 시작하고,
    제3 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000" 또는 "001001000"으로 시작하고,
    제4 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000" 또는 "001001001000"으로 시작하고,
    제5 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000" 또는 "01000"으로 시작하고,
    제6 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000" 또는 "01001000"으로 시작하고,
    제7 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000" 또는 "01001001000"으로 시작하고,
    제8 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000" 또는 "1000"으로 시작하고,
    제9 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000", "1000" 또는 "1001000"으로 시작하고,
    제10 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000", "1000", "1001000" 또는 "1001001000"으로 시작하는 것을 특징으로 하는 변환방법.
  28. 제 26 항 및 제 27 항에 있어서,
    제1 서브코드에 대해 코딩 상태의 T=10 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10은, p1=8, p2=11, p3=12, p4=12, p5=16, p6=17, p7=18, p8=24, p9=26 및 p10=26이 되고, 제2 서브코드에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10은, p1=7, p2=10, p3=11, p4=11, p5=15, p6=16, p7=16, p8=21, p9=23 및 p10=24가 되고, 제3 서브코드에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10은, p1=7, p2=9, p3=10, p4=10, p5=13, p6=14, p7=15, p8=19, p9=21 및 p10=22가 되고, 제4 서브코드에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10은, p1=6, p2=8, p3=9, p4=9, p5=12, p6=13, p7=13, p8=18, p9=19 및 p10=20이 되는 것을 특징으로 하는 변환방법.
  29. 제 14 항 및 제 16 항에 있어서,
    사소하지 않은 코딩 클래스의 수 T는 7이고, 이때 코딩 상태의 7개의 사소하지 않은 코딩 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는 p1=4, p2=5, p3=6, p4=6, p5=9, p6=10 및 p7=10이 되는 것을 특징으로 하는 변환방법.
  30. 제 29 항에 있어서,
    k=12 제약은, 상기 코드의 유한상태 머신에서의 여분의 코딩 상태에 의해 실현되는 것을 특징으로 하는 변환방법.
  31. 제 29 항 또는 제 30 항에 있어서,
    유도 스크램블링의 방법은 DC 제어에 사용되는 것을 특징으로 하는 변환방법.
  32. M 비트 정보 워드를 N비트 코드 워드로 변환함으로써 전체 채널 코드에 의해 사용자 비트스트림을 코딩된 비트스트림으로 변환하는 코더로서, 상기 코더는, 소정의 반복주기를 갖는 순환 순으로 반복된 서브코더를 구비하고, 각 서브코더는 서브코드를 사용하고, 상기 각 서브코더는 mi 비트 정보워드를 수신하도록 구성되고, 여기서 mi은 서브코드마다의 정수 특성이고, 상기 각 서브코더는 상기 수신된 mi 비트 정보워드를 ni 비트 코드 워드로 변화하도록 구성되고, 여기서, ni는 서브코드마다의 정수 특성이고, 서브코드마다, 상기 특성 정수 ni는 상기 특성 정수 mi보다 커 서, 상기 반복 주기 내의 모든 서브코드의 mi수의 합이 M이고, 상기 반복 주기 내의 모든 서브코드의 ni수의 합이 N이고, 서브코드마다, 그의 ni 비트 코드 워드는 다수의 Tmax 서로 다른 코드워드 타입으로 분할되고, 주어진 서브코드마다, 타입 t(여기서, t는 1과 Tmax 사이의 정수임)의 ni 비트 코드워드를 연결된 코드워드의 세트로 연결되도록 코딩 상태의 Tmax 코딩 클래스에 배치하여, 다음 서브코드의 연속적인 코드 워드가 지수 Tmax+1-t를 갖는 코딩 클래스의 코딩 상태들 중 하나에 속하는 경우 다음 서브코드의 ni+1 비트 코드워드에 의해, 상기 코딩된 비트스트림을 발생하고 상기 전체 채널코드의 N비트 코드워드들을 실현하는 것을 특징으로 하는 코더.
  33. 제 32 항에 있어서,
    상기 코드 워드 타입은, 상기 코드 워드의 다수의 후미 비트로 판정하는 것을 특징으로 하는 코더.
  34. 제 32 항에 있어서,
    상기 코드 워드 타입은, 선행하는 코드 워드의 적어도 하나의 비트와, 상기 코드 워드의 모든 비트에 의해 판정하는 것을 특징으로 하는 코더.
  35. 제 33 항 또는 제 34 항에 있어서,
    상기 코딩된 비트스트림을 실현하는 연결된 N 비트 코드 워드의 세트는 dkr 제약을 만족하고, 여기서 d는 코딩된 비트스트림에 있는 2개의 연속적인 1-비트들 사이에서의 0-비트들의 최소 수를 나타내고, k는 코딩된 비트스트림에 있는 2개의 연속적인 1-비트들 사이에서의 0-비트들의 최대 수를 나타내고, 또 r은 각각 1-비트씩 앞선 0-비트들의 연속적인 최소 런의 최대 수를 나타낸 것을 특징으로 하는 코더.
  36. 제 35 항에 있어서,
    서로 다른 코드 워드 타입과 적어도 하나의 코딩 상태에 있도록 정의된 비어 있지 않은 코딩 클래스의 수 T는 Tmax=1+(d+1)x(r+1)이하인 것을 특징으로 하는 코더.
  37. 제 35 항에 있어서,
    서로 다른 코드 워드 타입의 수 T와 서로 다른 비어 있지 않은 코딩 클래스의 수 T, 여기서 T는 Tmax=1+(d+1)x(r+1)인 것을 특징으로 하는 코더.
  38. 제 36 항 또는 제 37 항에 있어서,
    d=1 및 r=2이면, Tmax는 7인 것을 특징으로 하는 코더.
  39. 제 38 항에 있어서,
    T=Tmax=7이고, 서브코더의 수 S는 6인 것을 특징으로 하는 코더.
  40. 제 39 항에 있어서,
    상기 서브코더 중 하나는, m=8 및 n=11로 매핑을 하고, 나머지 서브코더는 m=8 및 n=12로 매핑을 하는 것을 특징으로 하는 코더.
  41. 제 40 항에 있어서,
    T=Tmax=7이고, 서브코더의 수 S는 3인 것을 특징으로 하는 코더.
  42. 제 41 항에 있어서,
    서브코더 중 하나는 m=9 및 n=14를 사용하고, 나머지 서브코더는 m=9 및 n=13을 사용하는 것을 특징으로 하는 코더.
  43. 제 38 항에 있어서,
    T=Tmax=7이고, 서브코더의 수 S는 1인 것을 특징으로 하는 코더.
  44. 제 43 항에 있어서,
    상기 서브코더는, m=4 및 n=6의 매핑을 사용하는 것을 특징으로 하는 코더.
  45. 제 43 항에 있어서,
    단일 서브코더는, m=2 및 n=3의 매핑을 사용하는 것을 특징으로 하는 코더.
  46. 제 36 항 또는 제 37 항에 있어서,
    서브코더마다, 상기 코딩 상태의 T≤Tmax의 비어 있지 않은 코딩 클래스 각각은, p1,p2,...,pmax코딩 상태를 포함하고, 여기서, 비어 있지 않은 코딩 클래스의 상태 의 논제로 수 p1≤p2...≤pmax를 나타내는 수들에 대해서, 또한, pmax가 고려대상의 서브코드의 코딩 상태의 총 수를 나타내면, 주어진 고려 대상의 클래스 "i"의 pi코딩 상태 각각도 "i"보다 큰 지수를 갖는 모든 클래스의 코딩 상태이도록 사소한 비어 있는 코딩 클래스들을 생략하는 것을 특징으로 하는 코더.
  47. 제 38 항에 있어서,
    서브코더마다 후미 비트는, 다음 세트의 규칙으로 서로 다른 코드 워드 타입에 대해 특정되고, 즉,
    제1 타입의 n비트 코드 워드는 "00"으로 끝나고,
    제2 타입의 n비트 코드 워드는 "0010"으로 끝나고,
    제3 타입의 n비트 코드 워드는 "001010"으로 끝나고,
    제4 타입의 n비트 코드 워드는 "00101010"으로 끝나고,
    제5 타입의 n비트 코드 워드는 "001"로 끝나고,
    제6 타입의 n비트 코드 워드는 "00101"로 끝나고,
    제7 타입의 n비트 코드 워드는 "0010101"로 끝나고,
    여기서, 서로 다른 코딩 클래스에 속하는 코드워드의 선행 비트는, 다음의 세트의 규칙으로 결정되고, 즉,
    제1 클래스의 코딩 상태의 n비트 코드 워드는, "00"으로 시작하고,
    제2 클래스의 코딩 상태의 n비트 코드 워드는, "00" 또는 "0100"으로 시작하고,
    제3 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100" 또는 "010100"으로 시작하고,
    제4 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100" 또는 "01010100"으로 시작하고,
    제5 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100" 또는 "100"으로 시작하고,
    제6 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100", "100" 또는 "10100"으로 시작하고,
    제7 클래스의 코딩 상태의 n비트 코드 워드는, "00", "0100", "010100", "01010100", "100", "10100" 또는 "1010100"으로 시작하는 것을 특징으로 하는 코더.
  48. 제 40 항 및 제 47 항에 있어서,
    제1 서브코더에 대해 코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=11, p2=15, p3=17, p4=17, p5=24, p6=27 및 p7=28이 되고, 제2 서브코더에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=10, p2=14, p3=15, p4=16, p5=22, p6=25 및 p7=26이 되 고, 제3 서브코더에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=9, p2=13, p3=14, p4=14, p5=20, p6=23 및 p7=24가 되고, 제4 서브코더에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=8, p2=11, p3=13, p4=13, p5=19, p6=21 및 p7=22가 되고, 제5 서브코더에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=8, p2=11, p3=12, p4=12, p5=17, p6=19 및 p7=20이 되고, 제6 서브코더에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=7, p2=10, p3=11, p4=12, p5=16, p6=18 및 p7=19가 되는 것을 특징으로 하는 코더.
  49. 제 42 항 및 제 47 항에 있어서,
    제1 서브코더에 대해 코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=7, p2=10, p3=11, p4=11, p5=16, p6=18 및 p7=19가 되고, 제2 서브코더에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=8, p2=12, p3=13, p4=13, p5=19, p6=21 및 p7=22가 되고, 제3 서브코더에 대해 코딩 상태의 7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=10, p2=14, p3=15, p4=16, p5=22, p6=25 및 p7=26이 되는 것을 특징으로 하는 코더.
  50. 제 44 항 및 제 47 항에 있어서,
    코딩 상태의 T=7 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는, p1=3, p2=4, p3=5, p4=5, p5=7, p6=8 및 p7=8이 되는 것을 특징으로 하는 코더.
  51. 제 50 항에 있어서,
    유한 k 제약은 여분의 코딩 상태에 의해 실현되는 것을 특징으로 하는 코더.
  52. 제 45 항 및 제 47 항에 있어서,
    사소하지 않은 코딩 클래스의 수 T는 6이고, 이때 코딩 클래스 수 4가 비어 있는 코딩 클래스이고, p4=0을 산출하고, 여기서 코딩 상태의 사소하지 않은 코딩 클래스 각각에 대해 코딩 상태의 수 p1, p2, p3, p5, p6, p7는 p1=2, p2=2, p3=3, p5=4, p6=5 및 p7=5가 되는 것을 특징으로 하는 코더.
  53. 제 52 항에 있어서,
    패리티 보존 특성은, 적어도 하나의 여분의 코딩 상태에 의해 실현되는 것을 특징으로 하는 코더.
  54. 제 52 항에 있어서,
    서브코더는, 상기 코드의 기본적인 2 대 3 매핑에 의한 유한상태 머신을 포함하고, 여기서 유한 k 제약은, 상기 유한상태 머신에 바로 뒤이어 여분의 코딩 쉘에 의해 실현되는 것을 특징으로 하는 코더.
  55. 제 36 항 또는 제 37 항에 있어서,
    d=2, r=2이고, Tmax는 10인 것을 특징으로 하는 코더.
  56. 제 55 항에 있어서,
    T=Tmax=10, 서브코더의 수 S는 4인 것을 특징으로 하는 코더.
  57. 제 56 항에 있어서,
    서브코더들 중 하나는, m=8, n=14의 매핑을 사용하고, 나머지 서브코더는 m=8, n=15의 매핑을 사용하는 것을 특징으로 하는 코더.
  58. 제 55 항에 있어서,
    서브코더마다 후미 비트들은, 다음의 세트의 규칙으로 서로 다른 코드 워드 타입에 대해 특정되고, 즉,
    제1 타입의 n비트 코드 워드는 "000"으로 끝나고,
    제2 타입의 n비트 코드 워드는 "000100"으로 끝나고,
    제3 타입의 n비트 코드 워드는 "000100100"으로 끝나고,
    제4 타입의 n비트 코드 워드는 "000100100100"으로 끝나고,
    제5 타입의 n비트 코드 워드는 "00010"으로 끝나고,
    제6 타입의 n비트 코드 워드는 "00010010"으로 끝나고,
    제7 타입의 n비트 코드 워드는 "00010010010"으로 끝나고,
    제8 타입의 n비트 코드 워드는 "0001"로 끝나고,
    제9 타입의 n비트 코드 워드는 "0001001"로 끝나고,
    제10 타입의 n비트 코드 워드는 "0001001001"로 끝나고,
    서로 다른 코딩 클래스에 속하는 코드 워드의 선행 비트는, 다음의 세트의 규칙으로 결정되고, 즉,
    제1 클래스의 코딩 상태의 n비트 코드 워드는, "000"으로 시작하고,
    제2 클래스의 코딩 상태의 n비트 코드 워드는, "000" 또는 "001000"으로 시작하고,
    제3 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000" 또는 "001001000"으로 시작하고,
    제4 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000" 또는 "001001001000"으로 시작하고,
    제5 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000" 또는 "01000"으로 시작하고,
    제6 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000" 또는 "01001000"으로 시작하고,
    제7 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000" 또는 "01001001000"으로 시작하고,
    제8 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000" 또는 "1000"으로 시작하고,
    제9 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000", "1000" 또는 "1001000"으로 시작하고,
    제10 클래스의 코딩 상태의 n비트 코드 워드는, "000", "001000", "001001000", "001001001000", "01000", "01001000", "01001001000", "1000", "1001000" 또는 "1001001000"으로 시작하는 것을 특징으로 하는 코더.
  59. 제 26 항 및 제 27 항에 있어서,
    제1 서브코더에 대해 코딩 상태의 T=10 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10은, p1=8, p2=11, p3=12, p4=12, p5=16, p6=17, p7=18, p8=24, p9=26 및 p10=26이 되고, 제2 서브코더에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10은, p1=7, p2=10, p3=11, p4=11, p5=15, p6=16, p7=16, p8=21, p9=23 및 p10=24가 되고, 제3 서브코더에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10은, p1=7, p2=9, p3=10, p4=10, p5=13, p6=14, p7=15, p8=19, p9=21 및 p10=22가 되고, 제4 서브코더에 대해 코딩 상태의 10 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10은, p1=6, p2=8, p3=9, p4=9, p5=12, p6=13, p7=13, p8=18, p9=19 및 p10=20이 되는 것을 특징으로 하는 코더.
  60. 제 45 항 및 제 47 항에 있어서,
    사소하지 않은 코딩 클래스의 수 T는 7이고, 이때 코딩 상태의 7개의 사소하지 않은 코딩 클래스 각각에 대한 코딩 상태의 수 p1, p2, p3, p4, p5, p6, p7는 p1=4, p2=5, p3=6, p4=6, p5=9, p6=10 및 p7=10이 되는 것을 특징으로 하는 코더.
  61. 제 60 항에 있어서,
    k=12 제약은, 상기 서브코더의 유한상태 머신에서의 여분의 코딩 상태에 의해 실현되는 것을 특징으로 하는 코더.
  62. 제 60 항 또는 제 61 항에 있어서,
    유도 스크램블링의 방법은 DC 제어에 사용되는 것을 특징으로 하는 코더.
  63. 청구항 1 내지 31에 기재된 방법을 사용하여 코딩되는 코딩된 비트 스트림으로 이루어진 신호를 구비한 것을 특징으로 하는 기록매체.
  64. 청구항 32 내지 62 중 어느 한 항에 기재된 코더를 구비한 것을 특징으로 하는 레코더.
KR1020077008290A 2004-09-15 2005-09-08 코더와, r=2의 rmtr 제약을 갖는 코드의 코딩방법 KR20070054241A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04104449 2004-09-15
EP04104449.6 2004-09-15

Publications (1)

Publication Number Publication Date
KR20070054241A true KR20070054241A (ko) 2007-05-28

Family

ID=35509289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077008290A KR20070054241A (ko) 2004-09-15 2005-09-08 코더와, r=2의 rmtr 제약을 갖는 코드의 코딩방법

Country Status (7)

Country Link
US (2) US7403138B2 (ko)
EP (1) EP1792404A1 (ko)
JP (1) JP2008514088A (ko)
KR (1) KR20070054241A (ko)
CN (1) CN101023585B (ko)
TW (1) TW200627811A (ko)
WO (1) WO2006030349A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101244580B1 (ko) * 2005-12-19 2013-03-25 소니 주식회사 코더, 및 제약 d=1,r=2를 갖는 패리티 상보적 워드할당에 의한 코드의 코딩방법
EP1990918A1 (en) * 2007-05-07 2008-11-12 Deutsche Thomson OHG Method and apparatus for channel coding
US8159375B2 (en) 2007-10-01 2012-04-17 Rambus Inc. Simplified receiver for use in multi-wire communication
US9318145B2 (en) * 2009-03-30 2016-04-19 General Electric Company Method for decoding under optical and electronic noise
US7916605B2 (en) * 2009-03-30 2011-03-29 General Electric Company Joint DC minimization and bit detection
US8327247B2 (en) * 2009-03-30 2012-12-04 General Electric Company Bit probability estimation method for noisy modulation code
EP2254248A1 (en) 2009-05-19 2010-11-24 Thomson Licensing Method for modifying a channel encoder finite state machine, and method for channel encoding
US9092213B2 (en) * 2010-09-24 2015-07-28 Intel Corporation Functional unit for vector leading zeroes, vector trailing zeroes, vector operand 1s count and vector parity calculation
US8659450B1 (en) * 2011-04-21 2014-02-25 Sk Hynix Memory Solutions Inc. MTR and RLL code design and encoder and decoder
KR20130080203A (ko) * 2012-01-04 2013-07-12 삼성전자주식회사 셀 상태들의 비대칭 특성을 고려한 프로그램 데이터를 생성하는 방법 및 그것을 이용한 메모리 시스템
US9324371B2 (en) * 2012-07-02 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-stage decoding processing
US8730067B2 (en) 2012-08-02 2014-05-20 Lsi Corporation Optimized multi-level finite state machine with redundant DC nodes
US20140143289A1 (en) * 2012-11-20 2014-05-22 Lsi Corporation Constrained System Endec
US10312947B2 (en) * 2016-01-21 2019-06-04 Huawei Technologies Co., Ltd. Concatenated and sliding-window polar coding
US11424766B1 (en) * 2020-01-31 2022-08-23 Marvell Asia Pte Ltd. Method and device for energy-efficient decoders

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5387911A (en) * 1992-02-21 1995-02-07 Gleichert; Marc C. Method and apparatus for transmitting and receiving both 8B/10B code and 10B/12B code in a switchable 8B/10B transmitter and receiver
US5943368A (en) 1996-07-08 1999-08-24 U.S. Philips Corporation Transmission, recording and reproduction of a digital information signal
CN1595811A (zh) * 1998-01-09 2005-03-16 皇家菲利浦电子有限公司 包含二进制源信号的数据比特流的记录载体
JP3882308B2 (ja) * 1998-01-26 2007-02-14 ソニー株式会社 符号分割方法
JP3985173B2 (ja) * 1998-05-29 2007-10-03 ソニー株式会社 変調装置および方法、復調装置および方法、並びにデータ格納媒体
NZ513968A (en) * 2000-01-07 2001-09-28 Konink Philips Electronics N Method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, device for encoding, signal comprising a stream of databits of a constrained binary channel signal, record carrier and device for decoding
UA71024C2 (uk) * 2000-05-10 2004-11-15 Конінклійке Філіпс Електронікс Н.В. Спосіб перетворення потоку бітів двійкового інформаційного сигналу у потік бітів двійкового канального сигналу, що підпорядковується певним обмеженням, пристрій для кодування, сигнал, який включає в себе потік бітів двійкового канального сигналу, що підпорядковується певним обмеженням, носій запису, спосіб декодування, пристрій для декодування
JP2003534624A (ja) * 2000-05-25 2003-11-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 検知器、再現システム、受信器、及び方法
AU2001211783A1 (en) 2000-11-11 2002-05-27 Lg Electronics Inc. Method and apparatus for coding information, method and apparatus for decoding coded information, method of fabricating a recording medium, the recording mediumand modulated signal
WO2003032497A1 (fr) * 2001-10-03 2003-04-17 Sony Corporation Procede de codage et de decodage

Also Published As

Publication number Publication date
JP2008514088A (ja) 2008-05-01
CN101023585B (zh) 2010-06-16
CN101023585A (zh) 2007-08-22
TW200627811A (en) 2006-08-01
US20090027239A1 (en) 2009-01-29
EP1792404A1 (en) 2007-06-06
US7403138B2 (en) 2008-07-22
US20070257826A1 (en) 2007-11-08
WO2006030349A1 (en) 2006-03-23

Similar Documents

Publication Publication Date Title
KR20070054241A (ko) 코더와, r=2의 rmtr 제약을 갖는 코드의 코딩방법
KR101244580B1 (ko) 코더, 및 제약 d=1,r=2를 갖는 패리티 상보적 워드할당에 의한 코드의 코딩방법
Immink Runlength-limited sequences
KR101114057B1 (ko) Rll 인코딩
JP3769753B2 (ja) 符号化装置および符号化方法、記録媒体、並びにプログラム
US6130629A (en) Rate 24/25 (0,9) code method and system for PRML recording channels
KR101165865B1 (ko) 복호 장치 및 방법과 프로그램 기록 매체
KR101211244B1 (ko) 모듈레이션 코딩 및 디코딩
JP5011116B2 (ja) 変調の制約及び誤り制御を用いて情報の符号化及び復号化を実行する方法及びシステム
Gu et al. A new approach to constructing optimal block codes for runlength-limited channels
JP2000040968A (ja) 符号化方法および符号化装置、復号化方法および復号化装置、並びに提供媒体
KR20070054242A (ko) Rll(1,k) 및 mtr(2) 제약을 갖는 변조 코딩
US6985320B2 (en) Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system
Immink Constructions of almost block-decodable runlength-limited codes
JP5046477B2 (ja) 復号装置および方法、記録再生装置および方法、プログラム記録媒体、並びにプログラム
Cai et al. A general construction of constrained parity-check codes for optical recording
Hu et al. DC-free four-ary (2, 8) run-length limited code for multi-level recording channels
Immink EFM coding: Squeezing the last bits
McLaughlin et al. One-pairs codes for partial response magnetic recording
JP4110483B2 (ja) 符号化装置および符号化方法、復号装置および復号方法、並びに、記録媒体
Sankarasubramaniam New capacity-approaching codes for run-length-limited channels
Marcus et al. Modulation codes for digital data storage
Cai et al. Distance-Enhancing Constrained Codes for Optical Recording Channels
Benachour et al. Improved decoding technique for the DVD
Immink MultiMedia Compact Disc: System Requirements and Channel Coding

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid