KR20010022324A - 연속 최소 런 길이 제한이 있는 변조/복조 장치 및 방법 - Google Patents

연속 최소 런 길이 제한이 있는 변조/복조 장치 및 방법 Download PDF

Info

Publication number
KR20010022324A
KR20010022324A KR1020007000903A KR20007000903A KR20010022324A KR 20010022324 A KR20010022324 A KR 20010022324A KR 1020007000903 A KR1020007000903 A KR 1020007000903A KR 20007000903 A KR20007000903 A KR 20007000903A KR 20010022324 A KR20010022324 A KR 20010022324A
Authority
KR
South Korea
Prior art keywords
code
conversion
data
length
string
Prior art date
Application number
KR1020007000903A
Other languages
English (en)
Other versions
KR100753966B1 (ko
Inventor
쇼우하머임민크코르넬리스에이.
칼만요세프에이.에이치.엠.
반덴엔덴규스베르트제이
나카가와티.
신푸쿠와이.
나오하라티.
나카무라케이.
Original Assignee
요트.게.아. 롤페즈
코닌클리케 필립스 일렉트로닉스 엔.브이.
이데이 노부유끼
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 요트.게.아. 롤페즈, 코닌클리케 필립스 일렉트로닉스 엔.브이., 이데이 노부유끼, 소니 가부시끼 가이샤 filed Critical 요트.게.아. 롤페즈
Publication of KR20010022324A publication Critical patent/KR20010022324A/ko
Application granted granted Critical
Publication of KR100753966B1 publication Critical patent/KR100753966B1/ko

Links

Classifications

    • 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
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dc Digital Transmission (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

과제: 높은 라인 밀도로 데이터를 기록 및 재생하는 방법. 이 과제를 해결하기 위한 수단: DSV 제어 비트 결정/삽입(11)은 DSV 제어를 행하는 DSV 제어 비트를 입력 데이터 스트링 내에 삽입하고, DSV 제어 비트를 포함하는 데이터 스트링을 변조부(12)에 출력한다. 변조부(12)는 변환 테이블에 따라 2비트의 기본 데이터 길이를 가진 데이터 스트링을, 3비트의 기본 코드 길이를 가진 가변 길이 코드로 변환하고, 그 변환에서 생긴 코드를 NRZI 인코딩부(13)에 출력한다. 변조부(12)에 의해 사용된 변환 테이블은 최소 런의 연속 출현의 수를 소정의 값으로 제한하는 치환 코드와 런 길이 제한값을 유지하는 치환 코드를 포함한다. 또한, 이 변환 테이블은 변환 규칙을 시행하고, 이 변환 규칙에 따라 데이트 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같다.

Description

연속 최소 런 길이 제한이 있는 변조/복조 장치 및 방법{APPARATUS AND METHOD FOR MODULATION/DEMODULATION WITH CONSECUTIVE MINIMUM RUNLENGTH LIMITATION}
일반적으로, 본 발명은 변조장치 및 변조방법, 복조장치 및 복조방법뿐만 아니라, 프로그램 제공 매체에 관한 것이다. 특히, 본 발명은 바람직한 변조장치 및 바람직한 변조방법, 바람직한 복조장치 및 바람직한 복조방법뿐만 아니라, 높은 기록 밀도로 데이터를 기록매체 상에 기록하고, 높은 기록 밀도로 기록 매체에 기록된 데이터를 재생하는 동작 중에 사용된 바람직한 프로그램 제공 매체에 관한 것이다.
종래기술
데이터가 전송선을 통해서 전송되어, 자기 디스크, 광 디스크 또는 광자기 디스크와 같은 기록매체 상에 기록될 때, 이 데이터는 전송 또는 기록 전에 전송선 또는 기록 매체와 매치(match)하는 코드로 변조된다. 변조 기술로서, 블록 인코딩이 알려져 있다. 블록 인코딩에 있어서, 데이터 스트링은 각각이 m×i 비트를 구비하는 유니트로 블록된다. 데이터 워드라고 칭하는 유니트의 각각은 적절한 코딩 규칙에 따라 n×i 비트를 구비하는 코드 워드로 변환된다. i=1이면, 이 코드 워드는 고정 길이 코드이다. 범위 1에서 imax, 즉 i의 최대값까지 각각 선택된 복수의 값을 갖는 i의 경우에 있어서, 결과의 코드 워드는 가변 길이 코드이다. 일반적으로, 블록 인코딩에서 생긴 코드는 가변 길이 코드(d, k; m, n; r)로서 표현된다.
여기서, i는 제한 길이라고 불려지고, r은 imax, 즉 최대 제한 길이이며, d는 2개의 연속 l 사이에 나타나는 0의 최대 수이고, d는 0의 최대 (run)이라고 칭한다. 다른 한편, k는 2개의 연속 l 사이에 나타나는 0의 최대 수로, k는 0의 최대 런이라고 칭한다.
그런데, 광 디스크 또는 광자기 디스크와 같은 기록매체 상에, 예컨대, 콤팩트 디스크(CD) 또는 미니디스크(MD) 상에 상술한 블록 인코딩으로부터 얻어진 가변 길이 코드를 기록하는 동작 중에, 가변 길이 코드는 NRZI(Non Return to Zero Inverted) 변조되고, 여기서 이 가변 길이 코드의 각 "1"은 반전으로서 해석되지만, "0"은 비반전으로서 해석된다. 그 후에, NRZI 변조를 완료한 가변 길이 코드가 기록된다. NRZI 변조를 완료한 가변 길이 코드는 기록 웨이브 트레인(recording wave train)이라고 칭한다. 기록 밀도가 높지 않은 예전 ISO 설명서에 다른 광자기 디스크의 경우에 있어서는, 이들 비트가 NRZI 변조되지 않기 때문에, 기록 변조를 완료한 비트의 열이 기록된다.
Tmin 및 Tmax는 각각 기록 웨이브 트레인의 최소 및 최대 반전 주기를 나타낸다고 하자. 이 경우에, 직선 진행 방향으로 높은 기록 밀도로 기록 웨이브 트레인을 기록하기 위해, 최소 반전 주기 Tmin기 길거나 또는 최소 런 d가 큰 것이 바람직하다. 또한, 클럭 발생의 관점에서는, 최대 반전 주기 Tmax가 짧거나 최대 런 k가 작은 것이 바람직하다. 이들 요구조건을 만족하기 위해, 다양한 변조기술이 제안되어 왔다.
구체적으로, 광 디스크, 자기 디스크 또는 광자기 디스크에 대해서는, (1, 7; m,n; r)로서 표현되는 가변 길이 코드 RLL(1-7)와 (2,7; m,n; r)로서 표현되는 가변 길이 코드 RLL(2-7)뿐만 아니라 ISO 설명서 MO에 사용된 (1,7; m,n; r)로서 표현되는 고정 길이 코드 RLL(1-7)를 발생하는 변조 기술이 제안되거나 또는 실제로 사용되었다. 기록 밀도가 높은 광 디스크 및 광자기 디스크와 같은 디스크 장치에 관해서는, 1의 최대 런 d를 가진 RLL 코드(Run length Limited Code)가 공통으로 사용된다.
다음은 가변 길이 RLL(1-7) 코드의 변환 테이블의 예를 나타낸다.
<테이블 1>
RLL(1,7;2,3;2)
데이터 코드
i=1 11 00x
10 10
1 10x
i=2 11 0 00x
10 0 10
1 100 00x
0 100 10
변환 테이블에 사용된 심볼 x는 다음에 오는 "0"의 채널 비트에 대하여 값 "1"을 갖고, 다음에 오는 "1"의 채널 비트에 대하여 값 "0"을 갖는다. 최대 제한 길이 r은 2이다.
가변 길이 코드 RLL(1-7)의 파라미터는 (1,7; 2,3; 2)이다. 따라서, (d+1)T로 표현될 수 있는 최소 반전 주기 Tmin는 2(=1+1)T이고, 이때 T는 기록 웨이브 트레인에서의 비트 간격이다. 이와 같이, (m/n)×2Tdata로도 표현될 수 있는 최소 반전 주기 Tmin은 1.33(=2/3×2)Tdata이고, 이때 Tdata는 데이터 스트링에서의 비트 간격이다. 따라서 (k+1)T로 표현될 수 있는 최대 반전 주기 Tmax는 (7+1)T=8T=8×(m/n)Tdata=8×2/3Tdata=5.33Tdata이다. (m/n)Tdata로 표현될 수 있는 검출 윈도우 폭 Tw는 0.67(=2/3)Tdata이다.
그런데, 테이블 1에 나타낸 RLL(1-7) 변조를 완료한 채널 비트 열에 있어서, 최소 반전 주기 Tmin과 같은 2T의 주기에 대응하는 발생 주파수는 3T 및 4T의 주기에 대응하는 발생 주파수 전에 오는 것으로 대부분 관측된다. 다수의 에지 정보가 2T 및 3T와 같은 짧은 간격으로 발생된다고 하는 사실은 많은 경우에 있어서 클럭 신호의 발생에 유리하다.
그러나, 기록 라인 밀도가 더 증가됨에 따라, 반대로 최소 런, 즉 이 시간이 문제가 된다. 즉, 최소 런 2T가 연속해서 발생되면, 기록 웨이브 트레인은 왜곡되기 쉽다. 이것은, 2T 웨이브 출력이 다른 웨이브 출력보다 작아서, 초점의 흐려짐 및 접선 틸트(tangential tilt)와 같은 인자에 쉽게 영향을 받기 때문이다. 또한, 높은 라인 밀도로, 최소 마크(2T)를 연속해서 기록하는 것도 노이즈와 같은 장애에 쉽게 영향을 받는다. 따라서, 데이터를 재생하는 동작도 오작동하기 경향이 있을 것이다. 이 경우에, 데이터 재생시의 오류의 패턴은 많은 경우에 있어서 최소 마크의 전후 에지의 시프트로서 관측된다. 그 결과, 발생된 비트 오류의 길이가 증가한다.
상술한 바와 같이, 데이터가 전송선을 통해서 전송되거나 기록매체 상에 기록될 때, 이 데이터가 전송 또는 기록 전에 전송선 또는 기록매체와 매치하는 코드로 변조된다. 변조에서 생긴 코드가 직류 구성요소를 포함하면, 디스크 드라이브의 서보 제어시 발생된 트랙킹 오류와 같은 다양한 오류 신호가 변화하기 쉬워지거나, 또는 지터(jitter)가 쉽게 발생된다. 이러한 이유 때문에, 될 수 있는 대로 변조된 코드가 직류 구성요소를 포함하는 것을 방지하기 위해 많이 노력하는 것이 바람직하다.
변조된 코드가 직류 구성요소를 포함하는 것을 방지하기 위해, 변조된 코드가 직류 구성요소를 포함하는 것을 방지하기 위한 DSV(Digital Sum Value)의 제어가 제안되어 왔다. DSV는 비트 열의 (데이터의 심볼)값을 합계함으로써 얻은 총계이고, 여기서 값 +1 및 -1은 채널 비트 열의 NRZI 변조(즉, 레벨 인코딩)에서 생긴 "1" 및 "0"에 각각 할당된다. DSV는 코드 열에 포함된 직류 구성요소의 표시기이다. DSV 제어를 통해서 DSV의 절대값을 감소시키는 것은, 코드 열 내에 포함된 직류 구성요소의 크기를 억제하는 것과 같다.
DSV 제어는 상술한 테이블 1로서 나타낸 가변 길이 RLL(1 - 7) 테이블에 따라 발생된 변조 코드에는 적용되지 않는다. 그러한 경우의 DSV 제어는, 변조 후에 소정의 주기 동안에 인코딩된 비트 스트링(채널 비트 열)의 DSV를 계산하여, 소정 개수의 DSV 제어 비트를 이 인코딩된 비트 스트링(채널 비트 열) 내에 삽입함으로써 달성된다.
어째든, DSV 제어 비트는 원래 중복 비트이다. 코드 변환의 효율을 고려하면, DSV 제어 비트의 수를 가능한 한 가장 작은 값으로 줄이는 것이 바람직하다.
또한, DSV 제어 비트가 삽입되면, 최소 런 d 및 최대 런 k를 변경시키지 않는 것이 바람직하다. 이것은, (d, k)의 변화가 기록/재생 특성에 효과를 나타내기 때문이다.
[발명이 해결하고자 하는 과제]
상술한 바와 같이, 높은 라인 밀도로 RLL 코드를 기록하는 동작 또는 높은 라인 밀도로 기록된 RLL 코드를 재생하는 동작에 있어서는, 연속 최소 런 d의 패턴에 의해 긴 오류가 쉽게 발생된다고 하는 문제를 일으킨다.
또한, RLL(1-7) 코드와 같은 RLL 코드의 경우에 있어서는, DSV 제어가 DVD 제어 비트를 코드 워드 스트링(채널 비트의 열)의 임의의 부분 내에 삽입하는 것을 필요로 한다. 그러나, DSV 제어 비트는 원래 중복 비트이기 때문에, 삽입된 DSV 제어 비트의 수를 가능한 한 가장 작은 값으로 줄이는 것이 바람직하다. 그러나, 최소 런 및 최대 런을 제한 값으로 유지하기 위해서는, DSV 제어 비트의 수는 적어도 2이다. 따라서, DSV 제어 비트의 수를 더욱 작은 값으로 줄이는 것이 바람직하다.
본 발명은 상술한 문제를 처리한다. 본 발명의 목적은, (1,7; 2,3)의 RLL 코드인 (d,k; m,n)의 RLL 코드(이때 최소 런 d=1)에 대하여 고효율의 제어 비트를 생성하기 위해 DSV 제어를 수행하여, 최소 런 및 최대 런이 유지되고 있는 동안에 연속 최소 런의 수를 감소시키는 것에 있다.
본 발명의 또 다른 목적은 가능한 한 가장 간단한 구성을 갖는 변환 테이블을 이용하여 복조 오류의 전파가 단계적으로 확대되는 것을 방지하는 것에 있다.
[과제를 해결하기 위한 수단]
청구항 1에 따른 변조장치는, 변환 테이블에 따라 입력 데이터를 코드로 변환하는 변환수단을 갖고, 상기 변환 테이블이 변환 규칙을 시행하며, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지가, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같고, 상기 변환 테이블의 변환 코드가,
d=1, k=7, m=2 및 n=3(이때, d는 최소 런, k는 런 길이 제한값)에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 한다.
청구항 25에 따른 변조방법은, 변환 테이블에 따라 입력 데이터를 코드로 변환하는 변환단계를 포함하고, 상기 변환 테이블은 변환 규칙을 시행하며, 그 변환규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같고, 상기 변환 테이블의 변환 코드가,
d=1, k=7, m=2 및 n=3(이때, d는 최소 런, k는 런 길이 제한값)에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 한다.
m비트의 기본 데이터 길이를 가진 데이터를, n비트의 기본 코드 길이를 가진 가변 길이 코드(d,k; m,n; k)로 변환하는 변조장치에서 변환 테이블 데이터에 따라 입력 데이터를 코드로 변환하는 변환단계를 포함하는 프로그램 실행 처리과정을 제공하는 청구항 26에 따른 프로그램 제공 매체는, 상기 변환 테이블이 변환 규칙을 시행하고, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지가, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같으며, 상기 변환 테이블의 변환 코드가,
d=1, k=7, m=2 및 n=3(이때, d는 최소 런, k는 런 길이 제한값)에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 한다.
청구항 27에 따른 복조장치는, 변환 테이블에 따라 입력 코드를 데이터로 변환하는 변환수단을 구비하고, 상기 변환 테이블이 변환 규칙을 시행하며, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지가, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같고, 상기 변환 테이블의 변환 코드가,
d=1, k=7, m=2 및 n=3(이때, d는 최소 런, k는 런 길이 제한값)에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 한다.
청구항 30에 따른 복조방법은, 변환 테이블에 따라 입력 코드를 데이터로 변환하는 변환단계를 구비하고, 상기 변환 테이블이 변환 규칙을 시행하며, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지가, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같으며, 상기 변환 테이블의 변환 코드가,
d=1, k=7, m=2 및 n=3(이때, d는 최소 런, k는 런 길이 제한값)에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 한다.
n비트의 기본 코드 길이를 가진 가변 길이 코드(d,k; m,n; k)를, m비트의 기본 데이터 길이를 가진 데이터로 변환하는 복조장치에서 변환 테이블에 따라 입력 코드를 데이터로 변환하는 변환단계를 포함하는 프로그램을 제공하는 청구항 31에 따른 프로그램 제공 매체는, 상기 변환 테이블이 변환 규칙을 시행하고, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지가, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같으며, 상기 변환 테이블의 변환 코드가,
d=1, k=7, m=2 및 n=3(이때, d는 최소 런, k는 런 길이 제한값)에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 한다.
청구항 1에 기재된 변조장치, 청구항 25에 기재된 변조방법, 청구항 26에 기재된 프로그램 제공 매체, 청구항 27에 기재된 복조장치, 청구항 30에 기재된 복조방법, 청구항 31에 기재된 프로그램 제공 매체에 따르면, 변환 처리는 변환 규칙을 시행하는 변환 테이블에 근거하여 행해지고, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같으며, 변환 테이블의 변환 코드는,
d=1, k=7, m=2 및 n=3에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값을 유지하는 제 2 치환 코드를 구비한다.
도 1은 본 발명에 의해 제공된 변조장치를 실행하는 실시예의 전형적인 구성을 나타내는 블록도이고,
도 2는 도 1에 나타낸 변조장치에 사용된 DSV 제어 비트 결정/삽입부(11)에 의해 행해진 처리를 설명하기 위해 사용된 도면이며,
도 3은 도 1에 나타낸 변조장치에 사용된 변조부(12)의 전형적인 구성을 나타내는 블록도이고,
도 4는 도 3에 나타낸 변조부(12)에 의해 행해진 처리를 예시하는 도면이며,
도 5는 본 발명에 의해 제공된 복조장치를 실행하는 실시예의 전형적인 구성을 나타내는 블록도이고,
도 6은 도 5에 나타낸 복조장치에 사용된 복조부(111)의 전형적인 구성을 나타내는 블록도이며,
도 7은 도 6에 나타낸 복조부(111)에 의해 행해진 처리를 설명하기 위해 사용된 도면이고,
도 8은 도 5에 나타낸 복조장치에 사용된 DSV 제어 비트 제거부(112)에 의해 행해진 동작을 설명할 때 참조용으로서 사용된 플로우챠트이며,
도 9는 본 발명에 의해 제공된 변조장치를 실행하는 실시예의 또 다른 전형적인 구성을 나타내는 블록도이고,
도 10은 본 발명에 의해 제공된 복조장치를 실행하는 실시예의 또 다른 전형적인 구성을 나타내는 블록도이며,
도 11은 동기 신호와 동기 신호 내에 삽입된 DSV 제어 비트가 기록된 코드의 예를 나타내는 도면이다.
*도면의 주요부분에 대한 부호의 설명*
11: DSV 제어 비트 결정/삽입부
12: 변조부
13: NRZI 인코딩부
31: 시프트 레지스터
32: 제한 길이 판정부
33: 최소 런 연속 출현 제한 코드 검출부
34: 런 길이 제한 보장 코드 검출부
35-1∼35-4: 변환부
36: 멀티플렉서
37: 버퍼
111: 복조부
112: DSV 제어 비트 제거부
121: 비교기
122: 제한 길이 판정부
123: 최소 런 연속 출현 제한 코드 검출부
124: 런 길이 제한 보장 코드 검출부
125-1∼125-4: 역 변환부
126: 멀티플렉서
본 발명의 바람직한 실시예를 설명하기 전에, 이 실시예에서 채택된 실행과 청구항에 기재된 본 발명의 수단을 결합하는 관계를 명확하게 하기 위해, 본 발명을 특징으로 하는 다음에 설명에 있어서, 그 수단의 각각은 "수단(예컨대 전형적인 실행에 의해 실행된)"에서 괄호 안에 포함된 전형적인 실행에 따른다. 그러나, 전형적인 실행이 제한된 의미로 해석되지 않는다는 것은 말할 필요도 없다. 즉, 수단은, 상기 수단과 관련된 전형적인 실행에 반드시 제한되는 것은 아니다.
청구항 1에 따른 변조장치는, 변환 테이블(예컨대 테이블 2에 의해 실행)에 따라 입력 데이터를 코드로 변환하는 변환수단(예컨대, 도 12에 나타낸 변조부에 의해 실행된)을 갖고, 상기 변환 테이블이 변환 규칙을 시행하며, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지가, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같고, 상기 변환 테이블의 변환 코드가,
d=1, k=7, m=2 및 n=3(이때, d는 최소 런, k는 런 길이 제한값)에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 한다.
청구항 12에 따르면, 청구항 1에 기재된 변조장치는, 상기 변환 테이블의 상기 변환 코드 내에 포함되지 않은 단일 패턴을 포함하는 동기 신호를 상기 코드 워드 스트링의 어떤 임의의 위치 내에 삽입하는 동기 신호 삽입수단(예컨대, 도 9에 나타낸 동기 신호 삽입부(212)에 의해 실행된)을 더 구비한 것을 더 특징으로 한다.
청구항 23에 따르면, 청구항 1에 기재된 변조장치는, 입력 데이터의 DSV를 제어하고, 상기 DSV를 상기 변환수단에 공급하는 DSV 제어수단(예컨대, 도 1에 나타낸 DSV 제어 비트 결정/삽입부(11)에 의해 실행된)을 더 구비한 것을 더 특징으로 한다.
청구항 24에 따르면, 청구항 1에 기재된 변조장치는, 상기 변환수단이,
상기 최소 런 d의 연속 출현의 수를 제한하기 위한 상기 제 1 치환 코드를 검출하는 제 1 코드 검출수단(예컨대, 도 3에 나타낸 최소 런 연속 출현 제한 코드 검출부(33)에 의해 실행된)과,
런 길이 제한값을 유기하기 위한 상기 제 2 치환 코드를 검출하는 제 2 코드 검출수단(예컨대, 도 3에 나타낸 최대 런 보장 코드 검출수단(34)에 의해 실행된)을 구비한 것을 더 특징으로 한다.
청구항 27에 따른 복조장치는, 변환 테이블에 따라 입력 코드를 데이터로 변환하는 변환수단(예컨대, 도 5에 나타낸 복조부(111)에 의해 실행된)을 구비하고, 상기 변환 테이블이 변환 규칙을 시행하며, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지가, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같고, 상기 변환 테이블의 변환 코드가,
d=1, k=7, m=2 및 n=3(이때, d는 최소 런, k는 런 길이 제한값)에 대한 기본 코드와,
상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 한다.
청구항 28에 따르면, 청구항 27에 기재된 복조장치는, 상기 코드 내에 소정의 간격으로 삽입된 중복 비트를 제거하는 비트 제거수단(예컨대, 도 5에 나타낸 DSV 제어 비트 제거부(112)에 의해 실행된)을 더 구비한 것을 더 특징으로 한다.
본 발명의 바람직한 실시예는 다음과 같이 설명된다. 이해하기 쉽게 설명하기 위해, 다음의 설명에 있어서, 변환 전의 데이터의 비트 '0' 및 '1'의 배열, 즉 사전 변환 데이터 스트링은 예컨대 (000011)와 같은 괄호( ) 안에 있는 비트 열로서 표현된다. 다른 한편, 변환에서 생긴 코드의 비트 '0' 및 '1'의 배열, 즉 사후 변환 워드 스트링은 예컨대 "100100"과 같은 한 쌍의 심볼로 범위가 정해진 비트 열로서 표현된다. 아래에 주어진 테이블 2와 테이블 3은 본 발명에 따라 데이터를 코드로 변환하는 변환 테이블의 예이다.
<테이블 2>
17PP.RML.32
데이터 코드
11 *0*
10 001
01 010
0011 010 100
0010 010 000
0001 000 100
000011 000 100 100
000010 000 100 000
000001 010 100 100
000000 010 100 000
"110111 001 000 000(next 010)
00001000 000 100 100 100
00000000 010 100 100 100
xx1이면 *0*=000
xx0이면 *0*=101
sync & 종료
#01 000 000 001(12개의 채널 비트)
또는
#01 001 000 000 001 000 000 001(24개의 채널 비트)
#=0: 종료하지 않은 경우
#=1: 종료한 경우
종료 테이블
00 000
0000 010 100
"110111 001 000 000(next 010)
다음 채널 비트가 '010'이면, 주 테이블 및 결과 테이블을 이용한 후에 '11 01 11'을 '001 000 000'으로 변환한다.
테이블 2에 나타낸 바와 같이, 변환 테이블은 기본 코드, 치환 코드 및 종료 코드를 포함하는 변환에서 생긴 코드를 나타낸다. 변환 처리는 기본 코드없이 실행될 수 없다. 변환 테이블에 있어서, 기본 코드는 데이트 스트링(11)을 (000000)로 변환할 때 생긴 코드이다. 변환 처리는, 치환 코드가 존재하지 않더라도 행해질 수 있다. 그러나, 치환 코드가 존재하면, 보다 효율적인 변환 처리가 행해질 수 있다. 변환 테이블에 있어서, 치환 코드는 데이터 스트링 (110111), (00001000) 및 (00000000)의 변환에서 생긴 코드이다. 종료 코드는 어떤 임의의 위치에서 변환시 생긴 코드를 종결하기 위해 사용된다. 이 테이블에서의 종료 코드는 데이트 스트링 (00) 및 (0000)의 변환에서 생긴 코드이다. 또한, 변환 테이블은 동기 신호를 규정한다.
테이블 2에서, 최소 런 d는 1이지만, 최대 런 k는 7이다. 기본 코드의 구성요소 중 하나는 소정의 코드, 즉, 별표 심볼 '*'로 표시된 코드를 포함한다. 직전 또는 직후의 코드 워드의 스트링에 관계없이 최소 런 d와 최대 런 k의 값을 유지하기 위해서는, 소정의 코드의 심볼 '*'로 표시된 비트가 "0" 또는 "1" 중 어느 하나로 결정될 수 있다. 즉, 변환될 2비트 데이터 스트링이 (11)이면, 변환시 발생된 코드는 직전 코드 워드의 스트링에 의존하여 "0" 또는 "101"이다. 보다 명확히 하면, 바로 앞의 코드 워드의 스트링의 단 하나의 채널 비트가 "1"이면, 2비트 데이터 스트링(11)은 최소 런 d를 유지하기 위해 코드 "0"으로 변환된다. 다른 한편, 바로 앞의 코드 워드의 스트링의 단 하나의 채널 비트가 "0"이면, 2비트 데이터 스트링(11)은 최대 런 k를 유지하기 위해 코드 "101"로 변환된다.
테이블 2의 변환 테이블에 나타낸 기본 코드는 가변 길이구조를 갖는다. 1의 제한 길이 i를 가진 기본 코드의 수는 3, 즉 필요한 개수 4(=2^m=2^2)보다 작은 값이다. 이들 3개의 기본 코드는 "*0*", "1" 및 "10"이다. 그 결과, 데이터 스트링을 변환하는 동작 중에, 1의 제한 길이 i만으로 변환될 수 없는 데이터 스트링을 만난다. 이 이유 때문에, 모든 데이터 스트링을 변환하는 동작 중에 테이블 2에서 3까지의 제한 길이 i를 가진 기본 코드에 대해서 언급할 필요가 있다. 즉, 3까지의 제한 길이 i를 가진 기본 코드가 테이블 2에 포함되어, 테이블 2가 충분히 변환 테이블로서의 역할을 할 수 있다.
또한, 테이블 2의 변환 테이블도 최소 런 d의 연속 출현을 제한하기 위한 치환 코드를 포함한다. 데이터 스트링이 (110111)이고, 데이터 스트링의 변환에서 생긴 코드의 다음에 오는 코드 워드의 스트링이 "10"이면, 데이터 스트링은 "010 000 000"의 코드 워드로 변환된다. 다른 한편, 데이터 스트링의 변환에서 생긴 코드의 다음에 오는 코드 워드 스트링이 "10"과 다르면, 데이터 스트링(110111)은 2비트 단위로 변환된다. 즉, 데이터 스트링에서의 2비트 열(11), (01) 및 (11)은 코드 워드의 열 "*0*010 및 *0*"으로 변환된다. 그 결과, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 최소 런 d의 연속 출현이 억제되어, 반복된 최소 런의 수를 최대 6으로 제한한다.
게다가, 테이블 2의 변환 테이블은 변환 규칙을 시행하고, 이 변환 규칙에 따라 데이터 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드의 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같다. 즉, 데이터 스트링에서 구성요소의 "1" 계수가 짝수이면, 코드 워드의 스트링에서 구성요소의 "1" 계수도 짝수이고, 다른 한편 데이터 스트링에서 구성요소의 "1" 계수가 홀수이면, 코드 워드의 스트링에서 구성요소의 "1" 계수도 홀수이다. 예컨대, (000001)의 데이트 스트링은 "010 100 000"의 코드 워드의 스트링으로 변환된다. 이 경우에, 데이터 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드의 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지인 1이다. 즉, 데이터 스트링의 "1" 계수와 코드 워드 스트링은 모두 홀수이다. 또 다른 예로서, (000000)의 데이터 스트링은 "010 100 100"의 코드 워드 스트링으로 변환된다. 이 경우에, 데이터 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지인 0이다. 즉, 데이터 스트링의 "1" 계수와 코드 워드 스트링은 모두 짝수이다.
또한, 테이블 2의 변환 테이블에서 최대 제한 길이 r은 4이다. 4의 제한 길이 i를 가진 테이블에서의 코드는 최대 런 k의 값 7을 충족시키는 치환 코드이다. 그러한 치환 코드는 코드를 보장하는 최대 런이라고 칭한다. 즉, (00001000)의 데이터 스트링은 "000 100 100 100"의 코드 워드 스트링으로 변환되지만, (00000000)의 데이터 스트링은 "010 100 100 100"의 코드 워드 스트링으로 변환된다. 이 경우에, 최대 런 d의 값도 1로 유지된다는 것에 유념해야 한다.
테이블 2의 변환 테이블이 4의 제한 길이 i를 가진 치환 코드를 포함하지 않으면, 이 테이블에 있어서 최대 제한 길이 r이 3이기 때문에, 8의 최대 런 k를 가진 코드가 발생된다. 그러나, 이 테이블은 4의 제한 길이 i를 가진 기본 코드를 포함하기 때문에, 7의 최대 런 k를 가진 코드가 발생된다.
일반적으로, 최대 런 k가 커짐에 따라, 클럭 신호의 발생이 더 불편해지기 때문에, 시스템의 안정도가 점점 나빠진다. 따라서, 8에서 7로 최대 런 k의 값을 줄임으로써, 최대 런 k가 감소되어 시스템의 특성이 적절하게 향상될 수 있다.
즉, 테이블 2의 변환 테이블이 기본 코드만을 포함하면, 그러한 테이블에 있어서 최대 제한 길이 r은 3이다. 이 경우에, 1의 최소 런 d와 8의 최대 런을 가진 코드를 발생할 수 있다. 또한, 데이터 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는 데이트 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다.
또, 이 변환 테이블이 기본 코드뿐만 아니라 최소 런 d의 연속 출현을 제한하기 위한 치환 코드를 포함하면, 그러한 테이블에 있어서 최대 제한 길이 r도 3이다. 그러나, 이 경우에는, 1의 최소 런 d와 8의 최대 런 d를 가진 코드를 발생할 수 있지만, 연속 최소 런 d의 수는 상위 제한 값으로 제한된다. 또한, 데이트 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다.
또한, 이 변환 테이블이 최소 런 d의 연속 출현을 제한하는 치환 코드 및 기본 코드뿐만 아니라 7의 최대 런 k를 보장하는 치환 코드를 포함하면, 그러한 테이블에 있어서 최대 제한 길이 r은 4이다. 이 경우에, 1의 최소 런 d와 7의 최대 런 k를 가진 코드를 발생할 수 있지만, 연속 최소 런 d의 수는 상위 제한 값으로 제한된다. 또한, 데이터 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다.
그러나, 일반적으로, 최대 제한 길이 r이 커짐에 따라, 비트 시프트의 경우에 발생된 복조 오류, 즉 에지 비트가 그것의 표준 위치에서 전후방향으로 1비트씩 시프트되기 때문에 발생되는 오류의 전파 특성이 점점 나빠진다.
테이블 2와 테이블 1의 비교에 의해 전자의 최대 제한 길이 r이 2이고, 후자의 최대 제한 길이 r이 4인 것을 알 수 있다. 따라서, 테이블 2의 특성은 테이블 1보다 더 나쁘다. 그러나, 테이블 7을 참조하면, 나중에 설명되는 시뮬레이션의 결과는, 테이블 2의 특성이 테이블 1과 비교하여 매우 나쁘지 않다는 것을 나타낸다. 예컨대, 도 7에 나타낸 바와 같이, 테이블 1의 평균 오류율은 1.014 바이트이지만, 테이블 2의 평균 오류율은 1.67 바이트, 즉 테이블 1의 값보다 훨씬 크지 않은 값이다. 평균 오류율의 차이는, 테이블 1에서의 변환 코드 그룹의 수가 테이블에서의 변환 코드 그룹의 수보다 2만큼 작다고 하는 사실 때문이라고 생각할 수 있다.
그런데, 동기 신호가 테이블 2의 변환 테이블에 따라 수행된 변환의 결과로서 발생된 코드 워드 스트링(즉, 채널 비트 열)의 어떤 임의의 위치 내에 삽입되는 경우에는, 이 변환 테이블은 가변 길이 구조를 가진 코드를 생성한다. 이것은, 변환 테이블이 어떤 임의의 위치에서의 변환시 발생된 코드를 종결시키는 종료 코드를 규정하는 종료 테이블을 포함하고 있기 때문이다. 종료 코드는 필요할 때마다 사용된다.
예컨대, 동기 신호가 변환에서 발생된 코드의 특정 위치 내에 삽입된다고 가정하자. 이 경우에, 우선 첫째로 특정 위치의 바로 앞의 코드 워드 스트링과 특정 위치의 바로 뒤의 코드 워드 스트링 사이의 접합점에서, 최소 런 d와 최대 런 k를 유지하는 동안에 접합 비트가 설정되고, 동기 신호를 나타내는 단일 패턴은 접합 비트 사이에서 설정된다. 최대 런 k의 값 7을 파괴하는 동기 신호의 패턴을 고려하자. 이 경우에, 최소 길이를 가진 동기 신호의 패턴은 다음과 같이 주어진 12비트 코드 워드(즉, 12 채널 비트)이다.
"#01 000 000 001"
동기 신호의 패턴의 선두에 있는 심볼 "#"은 나중에 설명되는 "0" 또는 "1"인 접합 비트이다. "#" 비트 다음에 오는 두 번째 채널 비트는 최소 런 d를 유지하기 위한 "0"이다. 세 번째 채널 비트와 그 다음의 채널 비트는, 8의 최대 런 k를 주기 위해 9T의 단일 패턴, 즉 테이블 2에는 규정되지 않는 코드 패턴을 형성하는 값으로 설정된다. 상기 패턴으로 나타낸 바와 같이, 세 번째 채널 비트와 마지막 채널 비트 사이에는 8개의 연속 "0" 비트가 삽입된다. 동기 신호의 패턴에서 마지막 채널 비트가 "1"로 설정되더라도, 테이블 2의 변환 테이블을 이용함으로써, 최소 런 d가 유지될 수 있다는 것에 유념해야 한다.
다음에, 동기 신호의 비트 패턴에서의 접합 비트 "#"와 종료 테이블에 대해서 설명한다. 테이블 2에 나타낸 바와 같이, 종료 테이블은 다음과 같이 구성된다.
00 000
000 010 100
필요한 수 4(=2^m=2^2)보다 작은 코드 워드 스트링과 데이터 스트링으로 각각 이루어진 쌍을 다수 제공하는 제한 길이 i를 가진 기본 코드에 대해서는 이 종료 테이블이 필요하다.
보다 상세히 말하면, 테이블 2의 경우에, 제한 길이 i=1에 대해서는, 데이터 스트링과 코드 워드 스트링으로 각각 이루어진 쌍의 수가 3이기 때문에, 이 종료 테이블이 필요하다. 제한 길이 i=3에 대해서는, 데이터 스트링과 코드 워드 스트링으로 각각 이루어진 쌍의 수가 치환 코드를 가진 쌍을 한 개 포함하는 5이다. 그 나머지는 기본 코드를 각각 포함하는 4쌍이다. 이 필요한 수 4가 충족되기 때문에, 종료 테이블은 필요하지 않다. 제한 길이 i=4에 대해서는, 코드 워드 스트링이 모두 치환 코드이기 때문에, 종료 코드를 고려할 필요가 없다. 따라서, 제한 길이 i=1에 대해서는 종료 테이블이 필요하고, (00)의 데이터 스트링에 대해서는 종료 코드가 사용된다. 게다가, 제한 길이 i=2에 대해서는 종료 테이블이 필요하고, (0000)의 데이터 스트링에 대해서는 종료 코드가 사용된다. 이 종료 테이블에 의하면, 데이트 스트링 (00) 및 (0000)은 코드 워드 스트링 "0" 및 "10100"으로 각각 변환된다. 그 결과, 이 변환 시스템은, 동기 신호를 삽입하는 동작 중에, 동기 신호의 패턴의 바로 앞의 데이터가 더 이상 변환될 수 없는 경우를 피할 수 있다. 즉, 변환 시스템은 동기 신호의 바로 앞의 코드가 더 이상 종결 코드로서의 역할을 할 수 없게 하는 경우를 제거할 수 있다.
동기 신호의 패턴의 비트 "#"는, 종료 테이블을 사용하지 않은 경우와 종료 테이블을 사용한 경우를 구별하기 위해 사용된다. 보다 명확히 하기 위해, 동기 신호의 패턴의 선두에 있는 첫 번째의 채널 비트 "#"를 "1"로 설정하여, 종료 코드를 사용한다는 것을 나타내고, 또 "0"으로 설정하여, 종료 코드를 사용하지 않는다는 것을 나타낸다. 그렇게 함으로써, 종료 테이블이 사용되는지 아닌지 여부, 즉 종료 코드가 사용되는지 아닌지 여부를 정확하게 결정할 수 있다.
상술한 바와 같이, 최소 길이를 가진 동기 신호의 패턴은 12비트 코드 워드(즉, 12 채널 비트)이다. 최대 런 k의 값 7을 파괴하지만, 8(9T)의 최대 런 k를 제공하는 동기 신호의 패턴이 용인될 수 있기 때문에, 적어도 12비트의 코드 워드를 형성하는 어떤 다른 동기 신호 패턴이 구성될 수 있다. 15비트 코드 워드를 형성하는 경우에는, 예컨대, 다음의 2개의 동기 신호가 만들어질 수 있다.
"#01 000 000 001 010"
"#01 000 000 001 001"
21비트 코드 워드를 형성하는 경우에는, 다음의 동기 신호가 만들어질 수 있다.
"#01 000 000 001 000 000 001"
상기 21비트 동기 신호는 8(9T)의 최대 런 k를 각각 제공하는 2개의 연속 패턴을 포함한다. 그러한 동기 신호가 보다 높은 신뢰도로 검출될 수 있다. 그 후에, 24비트 코드 워드를 형성하는 경우에는, 다음의 동기 신호가 만들어질 수 있다.
"#01 001 000 000 001 000 000 001"
상기 동기 신호, 즉 "3T - 9T - 9T"의 형태를 가진 패턴은, 8(9T)의 최대 런 k를 각각 제공하는 2개의 연속 패턴 전후에 큰 런(T)이 나타나는 확률을 감소시킬 뿐만 아니라 검출력도 증가시킨다. 동기 신호가 시스템 요구조건에 따라 어떤 검출력을 제공해야 하는지 선택할 수 있다.
테이블 3은 본 발명에 의해 제공된 또 다른 형태의 변환 테이블이다.
<테이블 3>
17PP.RML.52
i=1 주 테이블:
데이터 코드
00 101
01 100
10 1
11 111
i=2 치환 테이블 A(d를 1로 제한)
0000 100 010
0001 101 010
1000 000 010
1001 001 010
i=3 치환 테이블 B(k를 8로 제한)
111111 000 010 010
111110 001 010 010
011110 101 010 010
011111 100 010 010
i=4 치환 테이블 C(RMTR을 6으로 제한)
10001 100 010 010 010
chan -- 0 10010001 100 000 010 010
chan -- 1 10010001 000 010 010 010
r=4 치환 테이블 D(k를 7로 제한)
chan 010 11100000 000 001 010 010
chan 010 11100010 100 001 010 010
chan 010 11100001 001 010 010 010
chan 010 11100011 101 010 010 010
Sync
data: x1 ----- 0x
ch.: xx0 100 000 000 10x(12개의 채널 비트)
data: x1 ------- 0x
ch.: xx0 100 000 000 100 000 000 10x(24개의 채널 비트)
종료:
시작에서 데이터 비트 '01' 또는 '11'
및 끝에서 '00' 또는 '01'을 추가
------------------------------------------------------
테이블 3의 변환 테이블은, 최소 런 d=1, 최대 런 k=7, 제한 길이 i=1에 대하여, 4(=2^m=2^2)개의 기본 코드가 제공되는 구조를 갖는다. 즉, 제한 길이 i=1에 대해서는, 4개의 기본 코드가 주 테이블에 제공된다. 제한 길이 i=2에 관해서는, 최소 런 d와 최대 런 k와 같은 파라미터를 제한하기 위해 치환 코드의 테이블이 제공된다. 보다 명확히 하면, 제한 길이 i=2에 대한 테이블 A는 최소 런 d를 1로 제한하는 치환 코드를 규정한다. 제한 길이 i=3에 대한 테이블 B는 최대 런 k를 상위 제한 값 8로 제한하는 치환 코드를 규정한다. 제한 길이 i=4에 대한 테이블 C는 값 1을 가진 최소 런 d의 연속 출현을 제한하기 위한 치환 코드를 규정한다. 제한 길이 i=4에 대한 테이블 D는 최대 런 k를 상위 제한 값 7로 제한하는 치환 코드를 규정한다. 따라서, 테이블 3의 변환 테이블에 있어서, 최대 제한 값 r=4이다.
상술한 바와 같이, 테이블 3의 변환 테이블은 최소 런 d의 연속 출현을 제한하기 위한 치환 코드를 포함한다. 예컨대, (0001001)의 데이터 스트링은 "100 010 010 010"의 코드 워드 스트링으로 변환된다. (10010001)의 데이터 스트링에 관해서는, 바로 앞의 코드 워드는, 바로 앞의 채널 비트가 "0"인지 "1"인지 여부를 결정하는 것과 관련이 있다. 바로 앞의 채널 비트가 "0"이면, 데이터 스트링은 "100 000 010 010"의 코드 워드 스트링으로 변환된다. 다른 한편, 바로 앞의 채널 비트가 "1"이면, 데이터 스트링은 "000 010 010 010"의 코드 워드 스트링으로 변환된다. 그 결과, 데이터 변환에서 생긴 코드 워드 스트링은 최대 6으로 제한된 다수의 연속해서 반복된 최소 런을 갖는다.
또한, 테이블 3의 변환 테이블은 변환 규칙을 시행하고, 그것에 따라 데이트 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다. 즉, 데이터 스트링에서 구성요소의 "1" 계수가 짝수이면, 코드 워드 스트링에서 구성요소의 "1" 계수도 짝수이고, 그 반면 데이터 스트링에서 구성요소의 "1" 계수가 홀수이면, 코드 워드 스트링에서 구성요소의 "1" 계수도 홀수이다. 예컨대, (1000)의 데이터 스트링이 "000 010"의 코드 워드 스트링으로 변환된다. 이 경우에, 데이트 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지인 1이다. 즉, 데이터 스트링과 코드 워드 스트링의 "1" 계수는 모두 홀수이다. 또 다른 예로서, (111111)의 데이터 스트링은 "000 010 010"의 코드 워드 스트링으로 변환된다. 이 경우에, 데이트 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지인 0이다. 즉, 데이터 스트링과 코드 워드 스트링의 "1" 계수는 모두 짝수이다.
또한, 최대 제한 길이 r과 같은 4의 제한 길이 i를 가진 테이블 3의 변환 테이블에서의 코드는 최대 런 k의 값 7을 충족시키는 치환 코드이다. 그러한 치환 코드를 이용하는 변환의 경우에 있어서는, 바로 앞의 코드 워드 스트링이 참조된다. 보다 명확히 하면, 바로 앞의 코드 워드 스트링이 "10"이면, 변환이 실행된다. 데이터 스트링이 (11100000)이고, 바로 앞의 코드 워드 스트링이 "10"이면, 예컨대, 변환이 실행되어, "000 001 010 010"의 코드 워드 스트링이 생성된다. 또 다른 예로서, 데이터 스트링이 (11100010)이고, 바로 앞의 코드 워드 스트링이 "10"이면, 데이터 스트링은 "100 001 010 010"의 코드 워드 스트링으로 변환된다.
상술한 테이블 3의 변환 테이블은 RLL 인코딩을 실행하기 위해서 기본 코드만으로 확립될 수 없다. 확실한 최소 런 d와 확실한 최대 런 k를 가진 RLL 코드는 주 테이블 내의 기본 코드뿐만 아니라 2의 제한 길이 i에 대한 테이블 A와 3의 제한 길이 i에 대한 테이블 B 내의 치환 코드를 이용함으로써 생성될 수 있다. 이 경우에, 최대 제한 길이 r이 3이므로, 1의 최소 런 d와 8의 최대 런 k를 가진 코드를 발생할 수 있다. 또한, 데이터 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다.
최소 런 d의 연속 출현을 제한하기 위한 치환 코드를 규정하는 테이블 C가 주 테이블 및 테이블 A, B뿐만 아니라 테이블 3의 변환 테이블의 구성에 포함되면, 최대 제한 길이 r은 4이므로, 1의 최소 런 d, 8의 최대 런 k 및 최소 런 d의 연속 출현의 제한 수를 가진 코드를 발생할 수 있다. 또한, 데이트 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다. 이 경우에, 테이블 3의 테이블 C를 이용하는 경우와 같이 바로 앞의 코드 워드 스트링을 항상 참조할 필요는 없다.
7의 최대 런 k를 보장하기 위한 치환 코드를 규정하는 테이블 D가, 주 테이블 및 테이블 A, B와 최소 런 d의 연속 출현을 제한하기 위한 치환 코드를 규정하는 테이블 C의 구성에 포함되면, 최대 제한 길이 r이 4이므로, 1의 최소 런 d, 7의 최대 런 k 및 최소 런 d의 연속 출현의 제한 수를 가진 코드를 발생할 수 있다. 또한, 데이트 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다.
테이블 2의 종료 테이블은, 테이블 3의 변환 테이블을 이용하는 변환에서 생긴 코드 워드 스트링(또는 채널 비트 열)의 특정 위치 내에 동기 신호를 삽입하는 처리과정에서는 필요하지 않다. 이것은, 테이블 3의 변환 테이블에 따라, 코드가 1의 제한 길이 i에서 종료될 수 있기 때문이다.
동기 신호의 패턴의 삽입으로 가능한 한 효율적인 코드를 생성하기 위해서는, 이 패턴은 다음과 같이 결정된다. 동기 신호로서의 역할을 하는 단일 패턴(또는 코드 워드 스트링) 바로 앞의 3비트 코드 워드와 단일 패턴 바로 뒤의 3비트 코드 워드는, 테이블 3에 따른 변환에서 생긴 코드 워드이다. 단일 패턴 바로 앞뒤의 3비트 코드 워드는 각각 데이터 비트와 접합 비트가 다음과 같이 혼합되는 형식을 취하고 있다.
우선 첫째로, 바로 앞의 3비트 코드 워드는 다음과 같이 결정된다. m=2일 때 변환 전의 데이터 워드의 m비트 단위가 검사된다. 변환 전의 데이터 워드의 선두에 있는 2비트 단위의 첫 번째 비트는 정보 비트이고, 두 번째 비트는 동기 신호를 표시하기 위한 '1'의 값을 갖는다. 데이터 워드의 선두에 있는 2비트 단위는 테이블 3에 따라 코드 워드(채널 비트)로 변환된다. 구체적으로, 데이터 워드(xl)의 m비트(2비트)는 코드 워드 "xx0"의 n비트(3비트)로 변환된다.
그 후에, 바로 뒤의 3비트 코드 워드는 다음과 같이 결정된다. 게다가, m=2일 때 변환 전의 데이터 워드의 m비트 단위가 검사된다. 그러나, 이 경우에, 변환 전의 데이터 워드의 선두에 있는 2비트 단위의 첫 번째 비트는 동기 신호를 표시하기 위한 '0'의 값을 갖고, 두 번째 비트는 정보 비트이다. 데이터 워드의 선두에 있는 2비트 단위는 테이블 3에 따라 코드 워드(채널 비트)로 변환된다. 구체적으로, 데이터 워드(0x)의 m비트(2비트)는 코드 워드 "10x"의 n비트(3비트)로 변환된다.
동기 신호의 단일 패턴이 최대 런 k의 값 7을 파괴하는 패턴으로서 설정될 때, 가능한 가장 짧은 길이로 실행될 수 있는 동기 신호 패턴은 다음과 같이 주어진 적어도 12비트(12 채널 비트)의 단일 패턴 코드 워드를 포함한다.
"xx0 100 000 000 10x"
이때, "x"의 값은 변환 테이블에 의존한다. 상기 15비트 코드 워드는 3개의 "x"비트를 포함한다. 2개의 "x"비트는 이 코드 워드의 선두에 있으며, 1개의 "x"비트는 이 코드 워드의 끝부분에 있다. 3개의 "x"비트는 변환 전의 데이터 워드의 2비트 단위를 나타낸다. 코드 워드의 나머지 12개의 채널 비트는, 동기 신호 패턴을 실제로 나타내는 중복부분이다. 코드 워드의 세 번째의 채널 비트는 최소 런 d를 유지하기 위해 "0"으로 설정된다. 네 번째의 채널 비트로 시작하는 나머지 부분에 관해서는, 9T가 8의 최대 런 k를 제공하기 위해 동기 신호 패턴으로서 설정된다. 구체적으로, 8개의 "0"은 "1"과 "1" 사이에 연속해서 배치된다.
상술한 바와 같이, 최소 길이를 가진 동기 신호의 단일 패턴은 12비트 코드 워드(즉, 12개의 채널 비트)이다. 최대 런 k의 값 7을 파괴하지만 8의 최대 런 k(9T)를 제공하는 동기 신호 패턴이 용인될 수 있기 때문에, 적어도 12비트의 단일 코드 워드를 형성하는 어떤 다른 공기 신호 패턴은 구성될 수 있다. 15비트의 단일 패턴 코드 워드를 형성하는 경우에, 예컨대, 다음의 동기 신호가 만들어질 수 있다.
"xx0 100 000 000 100 10x"
21비트의 코드 워드를 형성하는 경우에, 다음의 동기 신호가 만들어질 수 있다.
"Xxx0 100 000 000 100 000 000 10x"
상기 21비트 동기 신호는 8의 최대 런 k(9T)를 각각 제공하는 2개의 연속 패턴으로 이루어져 있다. 동기 신호에 따라, 검출력이 증가될 수 있다. 동기 신호가 시스템의 요구조건에 따라 어떤 검출력을 제공해야 하는지 선택할 수 있다.
종래의 방법과 같이, 데이터 스트링이, 테이블 2 또는 테이블 3으로 나타낸 것과 같은 변환 테이블을 이용하여 변환된 후에는, DSV 제어가 변환에서 생긴 채널 비트 열에 소정의 간격으로 DSV 제어 비트를 추가함으로써 행해질 수 있다. 그러나, 테이블 2와 테이블 3에 근거한 변환에서 생긴 코드 워드 스트링과 데이터 스트링과의 관계를 이용함으로써, DSV 제어가 매우 높은 효율로 행해질 수 있다.
보다 상세히 말하면, 데이트 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다. 따라서, 반전을 나타내는 값 "1"과 비반전을 나타내는 값 "0"을 가진 DSV 제어 비트를 채널 비트의 열 내에 삽입하는 것은 반전을 나타내는 값 "1"과 비반전을 나타내는 값 "0"을 가진 DSV 제어 비트를 데이터 비트의 열 내에 삽입하는 것과 같다.
예컨대, 데이터의 3비트(001)가 테이블 2에 따라 변환되는 경우를 가정하자. 3비트 다음에 오는 DSV 제어 비트 x가 이 데이터 내에 삽입된다고 가정하자. 이 경우에, DSV 제어 비트를 포함하는 데이터는 (001-x)으로 되고, 이때 x는 값 '0' 또는 '1'을 가진 1비트 제어 비트이다. x=0에 관해서는, DSV 제어 비트를 포함하는 데이터가 다음과 같이 테이블 2에 따라 변환된다.
데이터 스트링 코드 워드 스트링
0010 010 000
그 반면, x=1에 관해서는, DSV 제어 비트를 포함하는 데이터가 다음과 같이 테이블 2에 따라 변환된다.
데이터 스트링 코드 워드 스트링
0011 010 100
테이블 2를 이용하는 변환에서 생긴 코드 워드 스트링에 NRZI 변호를 통한 레벨 인코딩을 적용함으로써, 다음과 같은 레벨 인코딩된 코드 스트링이 얻어진다.
데이터 스트링 코드 워드 스트링 인코딩된 코드 스트링
0010 010 000 011111
0011 010 100 011000
상기 테이블에 나타낸 바와 같이, 첫 번째의 인코딩된 코드 스트링의 마지막 3비트는 두 번째의 인코딩된 코드 스트링의 마지막 3비트로 반전된다. 상기의 결과는, DSV 제어 비트의 값으로 (1) 또는 (0)을 선택함으로써, DSV 제어가 데이터 스트링 내에서 행해질 수 있다는 것을 의미한다.
다음에, DSV 제어에 의해 소개된 중복성을 고려하자. 1 DSV 제어 비트를 데이터 스트링 내에 삽입하여 DSV 제어를 행하는 것은, 1.5 DSV 제어 비트를 채널 비트의 열 내에 삽입하여 DSV 제어를 실행하는 것에 대응하고, 이때, 값 1.5는 테이블 2와 테이블 3의 변환율 m/n=2/3의 역수이다. 테이블 1에 나타낸 것과 같은 RLL(1 - 7)에 대하여 DSV 제어를 행하기 위해서는, 채널 비트의 트레인에 제어를 적용할 필요가 있다. 이 경우에, 적어도 2개의 채널 비트가 최소 런 d를 유기하기 위해 필요하기 때문에, 테이블 2와 테이블 3의 데이터 스트링에 적용된 DSV 제어와 비교하여 중복도를 높게 할 수 있다. 즉, 본 시스템에 있어서, 데이터 스트링에서 DSV 제어를 행함으로써, DSV 제어의 효율성이 향상될 수 있다.
다음에, 본 발명에 의해 제공된 변조장치를 실행하는 실시예에 관해서는 도 1을 참조하면서 설명한다. 이 실시예에 있어서, 데이터 스트링은 테이블 2를 이용하여 가변 길이 코드 (d,k; m,n; r)=(1,7; 2,3; 4)로 변환된다.
도 1에 나타낸 바와 같이, 변조장치(1)는 DSV 제어 비트의 값이 '1' 또는 '0'인지 여부를 결정하거나, 그것에 공급된 데이터 스트링 내에 어떤 임의의 간격으로 DSV 제어 비트를 삽입하는 DSV 제어 비트 결정/삽입부(11)와, 데이터 스트링 내에 삽입된 DSV 비트로 데이터 스트링을 변조하는 변조부(12)와, 변조부(12)의 출력을 기록 웨이브 트레인으로 변환하는 NRZI 인코딩부(13)를 구비한다. 또한, 변조장치(1)는 타이밍 신호를 발생하여, 그 신호를 다양한 구성요소에 공급하는 타이밍 제어부(14)도 갖는다.
도 2는 DSV 제어 비트 결정/삽입부(11)에 의해 행해진 처리과정을 설명하기 위해 사용된 해석도이다. 도면에 나타낸 바와 같이, DSV 제어 비트의 값이 결정되고, DSV 제어 비트는 어떤 임의의 간격으로 데이터 스트링 내에 삽입된다. DSV 제어 비트를 인입 데이터 스트링의 데이터 DATA1과 DATA2의 단편 사이에 있는 위치 내에 삽입하기 위해서, DSV 제어 비트 결정/삽입부(11)는 DATA1까지 데이터에 대한 누적 DSV를 계산한다. 전체 DSV는 다음의 단계를 실행함으로써 계산된다:
DATA1을 채널 비트 열로 변환하는 단계;
이 비트 열에 대하여 NRZI 변조를 수행하는 단계;
값 +1을 NRZI 변조 결과의 H(하이)레벨(1)에 할당하고, 값 -1을 변조 결과의 L(로우)레벨(0)에 할당하는 단계; 및
NRZI 변조 결과의 레벨에 할당된 값을 합계하는 단계.
또한, DSV 제어 비트 결정/삽입부(11)는 DATA1의 다음에 오는 세그먼트 DATA 2에 대하여 전체 DSV를 계산한다. 데이터 DATA1과 DATA2의 단편 사이의 위치 내에 DSV 제어 비트 x1이 삽입된다고 가정하자. DSV 제어 비트 결정/삽입부(11)가 DSV 제어 비트 x1의 값을 결정하기 때문에, DATA1, x1 및 DATA2에 대한 DSV의 합계의 절대값은 0에 접근한다.
DSV 제어 비트 x1이 (1)로 설정되면, DATA1의 다음에 오는 세그먼트 DATA2의 레벨 코드는 반전된다. 그 반면, DSV 제어 비트 x1이 (0)로 설정되면, DATA1의 다음에 오는 세그먼트 DATA2의 레벨 코드는 반전되지 않는다. 이것은, 테이블 2 및 테이블 3의 변환 테이블의 각 구성요소에 있어서, 데이터 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지가 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 소자의 "1" 계수를 2로 나눈 나머지와 항상 같기 때문이다. 이와 같이, (1)비트를 데이터 스트링 내에 삽입하는 것은, 데이트 스트링의 변환에서 생긴 코드 워드 스트링 내에 "1"을 삽입함으로써 달성되어야 하고, 그 경우에 반전이 수반된다.
도 2에 나타낸 DSV 제어 비트 x1의 값이 상술한 바와 같이 결정된 후에, DSV 제어 비트 x2는 DATA2와 DATA3 사이에 삽입되어, 동일한 방법으로 DSV 제어를 행하기 위해 x1과 x2 사이에 소정의 데이터 간격을 제공한다. 이 경우에, 누적 DSV는 DATA1까지의 데이터에 대한 누적 DSV, x1에 대한 DSV 값, 및 세그먼트 DATA2에 대한 DSV 데이터의 합계이다.
상술한 바와 같이, DSV 제어 비트는, 데이터 스트링이 변조부(12)에 의해 변조되기 전에 미리 데이터 스트링 내에 삽입되어, 채널 비트 열을 발생한다.
도 3은 변조부(12)의 전형적인 구성을 나타내는 블록도이다. 도면에 나타낸 바와 같이, 시프트 레지스터(31)는 동시에 2비트씩 그 내부에 저장된 데이터를 시프트하여, 제한 길이 판정부(32), 최소 런 연속 출현 제한 코드 검출부(33), 런 길이 제한 보장 코드 검출부(34) 및 모든 변환부(35-1∼35-4)에 그것의 출력을 공급한다. 이 시프트 레지스터(31)는 처리하는 데에 필요한 만큼의 비트를 구성요소(32∼35)의 각각에 공급한다.
제한 길이 판정부(32)는 데이터의 제한 길이 i를 결정하고, 그 길이 i를 멀티플렉서(36)에 공급한다. 최소 런 연속 출현 제한 코드 검출부(33)가 최소 런 d의 연속 출현 제한을 필요로 하는 특정 데이터 워드를 검출하면, 최소 런 연속 출현 제한 코드 검출부(33)는 제한 길이 i를 나타내는 그것의 검출신호(i=3)를 제한 길이 판정부(3)에 공급한다. 테이블 2의 경우에 있어서, 특정 데이터 워드는 (110111)이다. 게다가, 런 길이 제한 보장 코드 검출부(34)가 최대 런 k의 보장을 필요로 하는 특정 데이터 워드를 검출할 때, 런 길 제한 보장 코드 검출부(34)는 제한 길이 i를 나타내는 그것의 검출신호(i=4)를 제한 길이 판정부(32)에 공급한다. 테이블 2의 경우에 있어서, 특정 데이터 워드는 (00001000) 또는 (00000000)이다.
특정 데이터 워드가 최소 런 연속 출현 제한 코드 검출부(33) 또는 런 길이 제한 보장 코드 검출부(34)에 의해 검출되면, 제한 길이 판정부(32)는 멀티플렉서(36)에 특정 데이터 워드의 제한 길이 i를 전달한다. 그 때, 제한 길이 판정부(32)는 그것만으로 제한 길이에 대한 또 다른 값을 결정할 수 있다. 그러나, 이 경우에, 제한 길이 판정부(32)는, 최소 런 연속 출현 제한 코드 검출부(33) 또는 런 길이 제한 보장 코드 검출부(34)에 의해 공급된 제한 길이가 그것 자체만으로 결정된 것보다 우선하게 해준다.
변환부(35-1∼35-4)는 각각 변환부에 공급된 데이터에 대한 기본 코드가 그 내부에 삽입된 변환 테이블의 목록에 기입되어 있는지 아닌지 여부에 관해서 판정한다. 이 기본 코드가 그 목록에 기입되어 있다고 발견되면, 데이터는 기본 코드로 표시된 코드 워드로 변환되고, 변환에서 생긴 코드 워드는 멀티플렉서(36)에 공급된다. 그 반면, 데이터에 대한 기본 코드가 변환 테이블의 목록에 기입되어 있지 않으면, 변환부(35-1∼35-4)는 그 데이터를 폐기한다.
테이블 2의 변환 테이블에 관해서 변조부(12)가 설계되기 때문에, 변환부(35-i)의 각각은 4까지의 제한 길이 i로 데이터를 변환하도록 설계된다. 즉, 변환부(35-i)의 각각은 4의 최대 제한 길이 r까지 데이터를 변환하도록 설계된다.
멀티플렉서(36)는 제한 길이 판정부(32)에 의해 공급된 제한 길이 i에 대응하는 변환부(35-i) 중 하나에 의해 행해진 변환에서 생긴 코드를 선택한다. 그 후에, 선택된 코드는 일련의 데이터로서 버퍼(37)에 의해 출력된다.
각 구성요소의 동작 타이밍은 타이밍 제어부(14)에 의해 발생된 타이밍 신호와 동기화하여 제어된다.
다음에, 이 실시예의 동작에 대해서 설명한다.
우선 첫째로, 시프트 레지스터(31)는 2비트 단위로 판정하는 것과 같은 처리에 필요한 만큼의 데이터 비트를, 제한 길이 판정부(32), 최소 런 연속 출현 제한 코드 검출부(33), 런 길이 제한 보장 코드 검출부(34) 및 모든 변환부(35-1∼35-4)에 공급한다.
테이블 2와 같은 변환 테이블이 삽입되면, 제한 길이 판정부(32)는 변환 테이블을 참조하여 제한 길이 i의 값을 판정하고, 그 값은 멀티플렉서(36)에 공급한다.
최소 런 연속 출현 제한 코드 검출부(33)에 있어서, 다음의 코드 워드가 "10"이면, 테이블 2의 최소 런 d의 연속 출현을 제한하는 치환 코드와 대체될 데이터 워드가 삽입된다. 테이블 2의 경우에는, 데이터 워드가 (110111)이다. 최소 런 d의 연속 출현의 제한을 필요로 하는 데이터가 이 부분의 변환 테이블을 참조한 결과로서 검출될 때, 최소 런 연속 출현 제한 코드 검출부(33)는 그 제한 길이 i=3을 나타내는 검출신호를 제한 길이 판정부(32)에 출력한다.
그 반면에, 런 길이 제한 보장 코드 검출부(34)에 있어서는, 테이블 2의 런 길이 제한을 보장하는 치환 코드와 대체될 데이터 워드가 삽입된다. 테이블 2의 경우에, 데이터 워드는 (00001000) 및 (00000000)이다. 런 길이 제한의 보장을 필요로 하는 데이터가 이 부분의 변환 테이블을 참조한 결과로서 검출되면, 런 길이 제한 보장 코드 검출부(34)는 그 제한 길이 i=4를 나타내는 검출신호를 제한 길이 판정부(32)에 출력한다.
테이블 2의 경우에 그 제한 길이 i=3을 나타내는 검출신호를 최소 런 연속 출현 제한 코드 검출부(33)로부터 수신할 때, 제한 길이 판정부(32)가 그것 자체만으로 결정된 값을 멀티플렉서(36)에 공급하는 대신에, 그것 자체만으로 제한 길이 i의 값을 판정하더라도, 제한 길이 판정부(32)는 값 i=3을 멀티플렉서(36)에 전달한다. 또, 테이블 2의 경우에 런 길이 제한 보장 코드 검출부(34)로부터 그 제한 길이 i=4를 나타내는 검출신호를 수신할 때, 제한 길이 판정부(32)가 그것 자체만으로 결정된 값을 멀티플렉서(36)에 공급하는 대신에 그것 자체만으로 제한 길이 i의 값을 판정하더라도, 제한 길이 판정부(32)는 i=4의 값을 멀티플렉서(36)에 전달한다.
이것은, 최소 런 연속 출현 제한 코드 검출부(33) 또는 런 길이 제한 보장 코드 검출부(34)에 의해 결정된 제한 길이 i의 값이 그것 자체만으로 결정된 값과 다르다고 발견되면, 제한 길이 판정부(32)가 그것 자체만으로 결정된 값을 공급하는 대신에, 최소 런 연속 출현 제한 코드 검출부(33) 또는 런 길이 제한 보장 코드 검출부(34)로부터 수신된 제한 길이 i의 값을 멀티플렉서(36)에 전달하는 것을 의미한다. 즉, 보다 큰 제한 길이가 멀티플렉서(36)에 전송되도록 선택된다.
도 4는 구체적인 용어로 실시예를 나타냄으로써 제한 길이 판정부(32), 최소 런 연속 출현 제한 코드 검출부(33) 및 런 길이 제한 보장 코드 검출부(34)에 의해 수행된 처리를 예시하는 도면이다.
상술한 바와 같이, 런 길이 제한 보장 코드 검출부(34)에 있어서, 테이블 2의 데이터 워드(00001000) 및 (00000000)은 제한 길이 i의 값을 결정하기 위한 함수의 일부로서 삽입된다. 데이터 워드(00001000) 및 (00000000)과 매치하는 8비트 데이터가 런 길이 제한 보장 코드 검출부(34)에 공급될 때, 런 길이 제한 보장 코드 검출부(34)는 그 제한 길이 i=4를 나타내는 검출신호를 제한 길이 판정부(32)에 출력한다.
그 반면, 최소 런 연속 출현 제한 코드 검출부(33)에 있어서, 테이블 2의 데이터 워드(110111)는 제한 길이 i의 값을 결정하기 위한 함수로서 삽입된다. 데이터 워드(110111)와 매치하는 6비트 데이터가 최소 런 연속 출현 제한 코드 검출부(33)에 공급되고, 데이터 워드의 다음에 오는 변환에서 생긴 3비트 코드 워드가 "10"일 때, 최소 런 연속 출현 제한 코드 검출부(33)는 그 제한 길이 i=3을 나타내는 검출신호를 제한 길이 판정부(32)에 출력한다. 3비트 코드 워드 "10"이 변환 전에 (01), (001) 또는 (00000)의 값을 가진 데이터 스트링의 변환 결과인 것에 유념해야 한다. 즉, 이 함수는 데이터 스트링(110111)+(01/001/00000)을 포함한다. 데이터 워드(110111)와 매치하는 6비트 데이터가 검출될 때, 그들이 서로 매치하는지 판정하기 위해 6비트 데이터의 다음에 오는 5비트까지의 데이터가 데이터 워드(01) 또는 (001) 또는 (00000)과 비교된다. 인입 데이터가 (11011101), (11011001) 또는 (11011100000)이면, 최소 런 연속 출현 제한 코드 검출부(33)는 그 제한 길이 i=3을 나타내는 검출신호를 제한 길이 판정부(32)에 출력한다.
제한 길이 판정부(32)에 있어서는, 테이블 2의 변환 테이블의 데이터 스트링이 삽입된다. 데이터 워드(000011), (000010), (000001) 또는 (000000)과 매치하는 6비트 데이터가 제한 길이 판정부(32)에 공급되면, 제한 길이 판정부(32)는 제한 길이 i의 값이 3이라고 결정한다. 데이터 워드(0011), (0010) 또는 (0001)과 매치하는 4비트 데이터가 제한 길이 판정부(32)에 공급되면, 제한 길이 판정부(32)는 제한 길이 i의 값이 2라고 결정한다. 데이터 워드(11), (10) 또는 (01)과 매치하는 2비트 데이터가 제한 길이 판정부(32)에 공급되면, 제한 길이 판정부(32)는 제한 길이 i의 값이 1이라고 결정한다.
6비트 데이터(000010)가 공급된다고 가정하자. 이 경우에, 제한 길이 판정부(32)는 제한 길이 i의 값이 3이라고 결정한다. 또한, 2비트(00)가 6비트 데이터의 다음에 온다고 가정하자. 그 결과, 데이터 워드(00001000)와 매치하는 8비트 데이터가 런 길이 제한 보장 코드 검출부(34)에 공급되어, 런 길이 제한 보장 코드 검출부(34)가 그 제한 길이 i=4를 나타내는 검출신호를 제한 길이 판정부(32)에 출력한다. 이 경우에, 제한 길이 판정부(32)는, 런 길이 제한 보장 코드 검출부(34)로부터 값 4를 전달하는 검출신호가 그것 자체만으로 결정된 값 3보다 우선하게 해주어, 제한 길이 i가 4의 값을 갖는다고 판정한다.
상술한 바와 같이, (1)와 (0)의 열로 이루어진 데이터의 제한 길이는, 최대 제한 길이에 대응하는 8비트까지의 공급된 데이터 워드와 필요하다면 3비트 코드 워드를 참조하여 테이블 2의 변환 테이블에 따라 결정될 수 있다. 하나의 대안으로서, (1)와 (0)의 열로 이루어진 데이터의 제한 길이는 11비트까지의 공급된 데이터 워드만을 참조하여 결정될 수 있다.
제한 길이 판정부(32)는 이와 같은 방법으로 결정된 제한 길이 i의 값을 멀티플렉서(36)에 공급한다.
제한 길이 판정부(32)가, 가장 작은 것으로 시작하는 i의 값이 증가하는 순서로, 즉 도 4에 나타낸 것과 대립하는 것으로서 i=1, i=2, i=3 및 i=4의 순서로 제한 길이 i의 값도 결정할 수 있다는 것에 유념해야 한다.
변환부(35-1∼35-4)는 각각 그것에 할당된 제한 길이의 값에 대응하는 변환 테이블을 갖는다. 보다 명확히 하면, 변환부(35-1∼35-4)는 i=1, i=2, i=3 및 i=4에 대한 변환 테이블을 각각 갖는다. 변환부(35-1∼35-4) 중 어느 하나에 공급된 데이터에 대한 변환 규칙이 변환부의 테이블의 목록에 기입되어 있으면, 공급된 데이터의 2 x i 비트는 기입된 변환 규칙에 따라 코드의 3 x i 비트로 변환된다. 그 다음에, 그 결과의 코드는 멀티플렉서(36)에 공급된다.
멀티플렉서(36)는 제한 길이 판정부(32)에 의해 공급된 제한 길이 i에 대응하는 변환부(35-i) 중 하나에 의해 행해진 변환에서 생긴 코드를 선택한다. 그 후에, 이 선택된 코드는 일련의 데이터로서 버퍼(37)에 의해 출력된다.
테이블 2에 나타낸 바와 같이, 제한 길이 i=3에 관해서는, 변환 테이블이 최소 런 d의 연속 반복 출현에 대한 제한을 필요로 하는 데이터 스트링(110111)에 대한 치환 코드를 포함하지 않는다. 다음의 데이터 스트링이 공급된다고 가정하자.
(1101110111011101)
이 경우에, 변환 처리는 다음과 같은 순서의 데이터 워드, 즉 (11), (01), (11), (01) 등으로 실행된다. 변환의 결과로서, 다음의 코드 워드 스트링(채널 비트 열)이 발생된다.
"101 010 101 010 101 010 101 010"
다음에, 전형적인 NRZI 변조는 레벨 인코딩을 수행하기 위해 발생된 코드 워드 스트링에 적용된다. 논리 반전은 신호에서 '1' 타이밍으로 발생하기 때문에, 상기 코드 워드 스트링은 다음의 코드 워드 스트링으로 변환된다.
'110 011 001 100 110 011'
이때, 2T의 최소 반전 간격은 이 스트링을 통해서 지속한다. 높은 라인 밀도로 기록 또는 재생했을 때, 그러한 코드 스트링은 기록 또는 재생 동작시 오류를 쉽게 일으키는 패턴으로 된다.
테이블 2의 변환 테이블도 최소 런 d의 반복 연속 출현에 대한 제한을 필요로 하는 데이터 스트링(110111)에 대한 치환 코드를 규정한다고 가정하자. 다음에, 다음의 데이터 스트링이 공급된다고 가정하자.
(1101110111011101)
이 경우에, 데이터 스트링에서의 제 1 데이터 워드(11011101)는 코드 워드 스트링 "10"으로 변환되는 데이터 워드(01) 전에 오는 데이터 워드(110111)로 이루어져 있다. 따라서, 제 1 데이터 워드는 다음의 코드 워드 스트링으로 변환된다.
"001 000 000 010"
마찬가지로, 데이터 스트링에서의 제 2 데이터 워드(11011101)도 코드 워드 스트링 "10"으로 변환되는 데이터 워드(01) 전에 오는 데이터 워드(110111)로 이루어져 있다. 따라서, 제 1 데이터 워드는 다음의 코드 워드 스트링으로 변환된다.
"001 000 000 010"
그 결과, 데이터 스트링은 다음의 코드 워드 스트링으로 변환된다.
"001 000 000 010 001 000 000 010..."
이때, 최소 런 d의 반복 연속 출현이 방지된다. 즉, 높은 라인 밀도로 기록 또는 재생하는 동작에서 오류를 쉽게 일으키는 패턴이 제거된다. 데이터 스트링을 상술한 코드 워드 스트링으로 변환할 때에, 최소 런 d와 최대 런 k는 그들의 각각의 값으로 유지된다는 것에 유념해야 한다.
상술한 바와 같이, 변조장치(1)에 의해 수행된 변환은 테이블 2의 변환 테이블에 근거한다. 이 변환도 테이블 3의 변환 테이블을 이용하여 행해질 수 있다는 것에 유념해야 한다. 이 경우에, 도 3에 나타낸 변조부(12)에 사용된 최소 런 연속 출현 제한 코드 검출부(33)는 테이블 3의 제한 길이 i=4에 대한 테이블 C를 가지고 있다. 그 반면, 런 길이 제한 보장 코드 검출부(34)는 제한 길이 i=2에 대한 테이블 A와, 제한 길이 i=3에 대한 테이블 B와, 테이블 3의 제한 길이 i=4에 대한 테이블 D를 가지고 있다.
그런데, 테이블 2 및 테이블 3에 있어서는, 동일한 제한 길이의 그룹 내에 있는 데이터 스트링과 코드 워드 스트링의 각 쌍의 합성이 변경될 수도 있다. 테이블 2의 제한 길이 i=1의 그룹의 경우에 있어서, 예컨대, 각 쌍의 합성은 원래 아래와 같이 표시된다.
데이터 코드
i=1 11 *0*
10 1
1 10
그 각 쌍의 합성은 다음과 같이 변경될 수 있다.
데이터 CD
i=1 11 *0*
10 10
1 1
변경된 쌍의 합성에서도, 데이터 스트링에서 구성요소의 "1" 계수를, 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같을 것이다.
다음에, 본 발명에 의해 제공된 변조장치를 실행하는 실시예에 대해서는 도 5를 참조하면서 설명한다. 본 실시예에 있어서, 가변 길이 코드(d,k; m,n; r)=(1,7; 2,3; 4)은 테이블 2를 이용하는 데이터 스트링으로 다시 복조된다.
도 5에 나타낸 바와 같이, 복조장치(100)는 전송선으로부터 수신된 신호 또는 기록매체로부터 재생된 신호를, 복조 테이블 또는 역변환 테이블을 이용하여 복조하는 복조부(111)와, 원형 데이터 스트링을 복구하기 위해 복조시 생긴 데이터 스트링 내에 삽입된 DSV 제어 비트를 데이터 스트링으로부터 임의의 간격으로 인출하는 DSV 제어 비트 제거부(122)를 구비한다. 버퍼(113)는 DSV 제어 비트 제거부(112)에 의해 발생된 일련의 데이터를 임시로 저장하기 위해 사용된다. 버퍼(113) 내에 저장된 데이터는 출력신호를 생성하기 위해 소정의 전송율로 나중에 다시 판독된다. 타이밍 제어부(114)는 타이밍 신호를 발생하고, 그 신호를 그들 동작의 타이밍을 제어하기 위해 다양한 구성요소에 공급한다.
도 6은 복조부(111)의 구성을 나타내는 블록도이다. 도면에 나타낸 바와 같이, 복조부(111)는 전송선으로부터 수신된 신호 또는 기록매체로부터 재생된 신호를 2진 데이터로 변환하는 비교기(121)를 갖는다. 비교기(121)에 공급된 신호가 NRZI 변조(즉, 레벨 인코딩)를 완료한 신호이면, 이 신호는 역 NRZI 인코딩 처리(즉, 에지 인코딩 처리)를 겪는다. 제한 길이 판정부(122)는 비교기(121)로부터 수신된 디지탈 신호의 제한 길이 i를 결정한다. 최소 런 연속 출현 제한 코드 검출부(123)가 비교기(121)에 의해 발생된 디지탈 신호에서 최소 런 d의 연속 출현을 제한하는 특정 코드를 검출할 때, 최소 런 연속 출현 제한 코드 검출부(123)는 제한 길이 i를 나타내는 그것의 검출신호(i=3)를 제한 길이 판정부(122)에 공급한다. 테이블 2의 경우에, 특정 코드는 "001 000 000"이다. 게다가, 런 길이 제한 보장 코드 검출부(124)가 최대 런 k를 보장하는 특정 코드를 검출할 때, 런 길이 제한 보장 코드 검출부(124)는 제한 길이 i를 나타내는 그것의 검출신호(i=4)를 제한 길이 판정부(122)에 공급한다. 테이블 2의 경우에, 특정 코드는 "000 100 100 100" 또는 "010 100 100 100"이다.
역 변환부(125-1∼125-4)는 각각 n x i 비트 가변 길이 코드를 다시 m x i 비트 데이터로 역 변환하기 위해 사용된 테이블을 갖는다. 테이블 2의 경우에, 역 변환부(125-1∼125-4)는 이전에 설명한 변환부(35-1∼35-4) 내에 삽입된 변환 테이블과 본질적으로 같은 제한 길이 i=1∼4에 대한 역 변환 테이블을 각각 갖는다. 멀티플렉서(126)는 제한 길이 판정부(122)로부터 수신된 판정 결과에 의존하여 역 변환부(125-1∼124-4)에 의해 발생된 출력 중 하나를 선택한다.
다음에, 도 6에 나타낸 복조부(111)의 동작에 대해서 설명한다. 전송선으로부터 수신된 신호 또는 기록매체로부터 재생된 신호는 비교기(121)에 공급되어 비교된다. 비교기(121)에 의해 출력된 신호는 역 NRZI 코드, 즉 에지를 나타내는 "1"을 가진 코드의 디지탈 신호이다. 그 후에, 이 디지탈 신호는 테이블 2의 변환 테이블(엄밀히 말하자면, 역 변환 테이블)을 이용하여 신호의 제한 길이 i를 결정하는 제한 길이 판정부(122)에 공급된다. 제한 길이 판정부(122)에 의해 생성된 판정결과, 즉 제한 길이 i의 값은 멀티플렉서(126)에 공급된다.
게다가, 비교기(121)에 의해 출력된 디지탈 신호는 최소 런 연속 출현 제한 코드 검출부(123)에도 공급된다. 최소 런 연속 출현 제한 코드 검출부(123)는 최소 런 d의 연속 출현을 제한하기 위한 테이블 2의 역 테이블의 치환 코드를 포함하는 내장 역 변환부를 갖는다. 테이블 2의 경우에, 치환 코드는 코드 워드 "001 000 000"이다. 최소 런 d의 연속 출현을 제한하기 위한 역 변환 테이블 내에 기입된 코드 "001 000 000 not 100"이 디지탈 데이터로부터 검출될 때, 최소 런 연속 출현 제한 코드 검출부(123)는 제한 길이 i=3을 제한 길이 판정부(122)에 출력한다.
또한, 비교기(121)에 의해 출력된 디지탈 신호는 런 길이 제한 보장 코드 검출부(124)에도 공급된다. 런 길이 제한 보장 코드 검출부(124)는 최대 런 k를 유기하기 위한 테이블 2의 역 테이블의 치환 코드를 포함하는 내장 역 변환부를 갖는다. 테이블 2의 경우에, 치환 코드는 코드 워드 "000 100 100 100" 및 "010 100 100 100"이다. 최대 런 k를 유기하기 위한 역 변환 테이블 내에 기입된 코드 워드 "000 100 100 100" 또는 "010 100 100 100"이 디지탈 데이터로부터 검출될 때, 런 길이 제한 보장 코드 검출부(124)는 제한 길이 i=4를 제한 길이 판정부(122)에 출력한다.
도 7은 복조장치(100)에 공급된 변조 코드의 제한 길이 i를 결정하기 위한 처리과정의 요약을 나타내는 도면이다. 도면에 나타낸 바와 같이, 런 길이 제한 보장 코드 검출부(124)는 테이블 2의 역 테이블의 코드 워드 "000 100 100 100" 및 "010 100 100 100"을 포함하는 내장 역 변환부를 갖는다. 런 길이 제한 보장 코드 검출부(124)에 공급된 12비트 코드 워드 스트링이 역 변환부 내의 코드 워드 중 어느 하나와 매치할 때, 런 길이 제한 보장 코드 검출부(124)는 제한 길이 i=4를 제한 길이 판정부(122)에 출력한다.
게다가, 최소 런 연속 출현 제한 코드 검출부(123)는 테이블 2의 역 테이블의 코드 워드 "001 000 000"을 포함하는 내장 역 변환부를 갖는다. 최소 런 연속 출현 제한 코드 검출부(123)에 공급된 12비트 코드 워드 스트링이 "001 000 000 not 100"와 매치할 때, 최소 런 연속 출현 제한 코드 검출부(123)는 제한 길이 i=3을 제한 길이 판정부(122)에 출력한다. 특별히 그것이 제한 길이 i의 변조와는 아무런 관계가 없더라도, 검출된 12비트 코드 워드 스트링은 실제로 "001 000 000 010"라는 것에 유념해야 한다.
제한 길이 판정부(122)는 테이블 2의 내장 역 변환 테이블을 갖는다. 제한 길이 판정부(122)에 공급된 9비트 코드 워드 스트링이 "000 100 100" 또는 "010 100 100"이면, 또는 제한 길이 판정부(122)에 공급된 12비트 코드 워드 스트링이 "000 100 000 not 100" 또는 "010 100 000 not 100"이면, 제한 길이 판정부(122)는 제한 길이 i가 3이라는 것을 결정한다. 그 반면, 제한 길이 판정부(122)에 공급된 6비트 코드 워드 스트링이 "010 100" 또는 "000 100"이면, 또는 제한 길이 판정부(122)에 공급된 9비트 코드 워드 스트링이 "010 000 not 100"이면, 제한 길이 판정부(122)는 제한 길이 i가 2라는 것을 결정한다. 다른 방법으로, 제한 길이 판정부(122)에 공급된 3비트 코드 워드 스트링이 "0", "101", "1" 또는 "10"이면, 제한 길이 판정부(122)는 제한 길이 i가 1이라는 것을 결정한다.
제한 길이 판정부(122), 최소 런 연속 출현 제한 코드 검출부(123) 및 런 길이 제한 보장 코드 검출부(124)도 각각 가장 작은 것으로 시작하는 i의 값이 상승하는 순서로, 즉 도 7에 나타낸 것과 대립되는 것으로서 i=1, i=2, i=3 및 i=4의 순서로 그 처리를 수행할 수 있다는 것에 유념해야 한다.
제한 길이 판정부(122)가 또한 i=2/i=3 및 i=4의 순서로 제한 길이 i의 값을 결정할 수 있고, 코드 워드 스트링 "000 100 100 100"이 제한 길이 판정부(122)에 공급된다고 가정하자. 제한 길이 판정부(122)는 가장 작은 것으로 시작하는 제한 길이 i의 값이 상승하는 순서로 내장 변환 테이블 내의 코드 워드와 제한 길이 판정부(22)에 공급된 코드 워드 스트링을 비교하여, 코드 워드 스트링이 이 코드 워드와 매치하는지 아닌지 여부에 관해서 판정한다. 제한 길이 판정부(122)에 공급된 코드 워드 스트링 "000 100 100 100"은 모드 제한 길이 i=1, i=2, i=3 및 i=4에 대한 코드 워드 중 하나와 매치한다. 그 경우에, 복조의 규칙으로서, 가장 큰 제한 길이가 선택되어 멀티플렉서(126)에 공급된다.
역 변환부(125-1)의 역 변환 테이블은 데이터(11)의 일부분이 어드레스 "101" 및 "0"에 저장되고, 데이터(10) 및 (01)의 일부분이 어드레스 "1" 및 "10"에 각각 저장되는 메모리로서 실행된다. 역 변환부(125-2 및 125-4)의 역 변환 테이블은 각각 역 변환부(125-1)와 같은 방법으로 데이터를 저장하는 메모리로서 실행된다. 역 변환부(125-i)에 공급된 3 X i 비트의 코드 워드 스트링은 멀티플렉서(126)에 공급되는 2 X i 비트의 데이터 스트링으로 다시 변환된다.
멀티플렉서(126)는 제한 길이 판정부(122)에 의해 출력된 제한 길이 i의 값의 복조 결과에 따라 역 변환부(125-1∼125-4)에 의해 공급된 데이터 스트링 중 하나를 선택한다.
도 4는 테이블 2에 대한 역 변환 테이블이다.
<테이블 4>
역 변환 테이블(1,7; 2,3; 4)
코드 워드 스트링 복조된 데이터 스트링
i=1 101 11
000 11
001 10
010 01
i=2 010 100 0011
010 000(not 100) 0010
000 100 0001
i=3 000 100 100 000011
000 100 000(not 100) 000010
010 100 100 000001
010 100 000(not 100) 000000
i=3: 최소 변환 런 길이 금지
001 000 000(not 100) 110111
i=4: k를 7로 제한
000 100 100 100 00001000
010 100 100 100 00000000
도 8은 DSV 제어 비트 제거부(112)에 의해 수행된 동작을 설명하기 위해 사용된 플로우챠트이다. DSV 제어 비트 제거부(112)는 내부 카운터를 가지고 있다. 도면에 나타낸 바와 같이, 이 플로푸챠트는 복조부(111)에 의해 공급된 데이터 스트링에서 비트의 수를 내부 카운터로 계산하는 단계 S1로 시작한다. 이 처리의 흐름은, 비트의 수가, DSV 제어 비트가 삽입되는 소정의 데이터 간격을 나타내는 값에 도달했는지의 여부에 관해서 판정하는 단계 S2로 진행해 간다. 판정 결과가 비트 수가 임의의 데이터 간격에 대응하지 않는다는 것을 나타내면, 그 처리의 흐름은 복조부(111)에 의해 공급된 데이터가 그대로 버퍼(113)에 출력되는 단계 S3으로 진행해 간다. 그 반면, 현 비트가 DSV 제어 비트라는 것을 나타내는 소정의 데이터 간격에 비트의 수가 대응한다는 것을 판정결과가 나타내면, 단계 S3의 처리과정을 건너뛴다. 즉, 이 경우에, 데이트 스트링의 현 비트는 버퍼(113)에 출력되는 대신에 폐기된다.
어느 쪽의 경우이든지, 처리의 흐름은, 다음의 데이터 스트링을 입력하는 처리가 행해지는 단계 S4로 진행해 간다. 그 후에, 이 처리의 흐름은, 모든 데이터의 처리가 완료되었는지 아닌지의 여부에 관해서 판정하는 단계 S5로 계속된다. 처리되지 않은 채 남아 있는 데이터가 존재하면, 이 처리의 흐름은 S1로 되돌아가서 그 처리의 실행을 반복한다. 그 반면, 단계 S5에서 판정한 결과가 모든 데이터가 처리되었다는 것을 나타내면, 이 처리는 종료된다.
그결과, DSV 제어 비트는 DSV 제어 비트 제거부(112)에 의해 출력된 데이터로부터 제거된다. 그 후에, 이 데이터는 버퍼(113)에 의해 출력된다.
상술한 설명에 따르면, 복조부(111)는 테이블 2의 변환 테이블 또는 엄밀히 말하자면, 테이블 4의 역 변환 테이블을 이용한다. 비슷한 처리가 테이블 3의 변환 테이블 또는 엄밀히 말하자면, 아래에 주어진 테이블 5의 역 변환 테이블을 이용하여 행해질 수 있다는 것에 유념해야 한다. 이 경우에, 도 6에 나타낸 복조부(111)에 사용된 최소 런 연속 출현 제한 코드 검출부(123)는 테이블 3의 제한 길이 i=4에 대한 테이블 C를 가지고 있다. 그 반면, 런 길이 제한 보장 코드 검출부(124)는 제한 길이 i=2에 대한 테이블 A, 제한 길이 i=3에 대한 테이블 B 및 테이블 3의 제한 길이 i=4에 대한 테이블 D를 가지고 있다.
<테이블 5>
역 변환 테이블(1,7; 2,3; 4)
코드 워드 스트링 복조된 데이터 스트링
r=1 주 테이블
101 00
100 01
001 10
000 11
r=2 치환 테이블 A(d를 1로 제한)
100 010 0000
101 010 0001
000 010 1000
001 010 1001
r=3 치환 테이블 B(k를 8로 제한)
000 010 010 111111
001 010 010 111110
101 010 010 011110
100 010 010 011111
r=4 치환 테이블 C(RMTR을 6으로 제한)
100 010 010 010 00010001
100 000 010 010 10010001
000 010 010 010 10010001
r=4 치환 테이블 D(k를 7로 제한)
000 001 010 010 11100000
100 001 010 010 11100010
001 010 010 010 11100001
101 010 010 010 11100011
그런데, 동기 신호(Sync)를 데이터 내에 삽입할 필요가 있는 경우가 있다. 다음에, 동기 신호가 삽입된 데이터를 복사할 수 있는 변조장치(1)와 복조장치(100)를 실행하는 실시예에 관해서는 도 9 및 도 10을 각각 참조하여 설명한다. 이들 실시예의 경우에도, 데이터 스트링은 가변 길이 코드(d,k; m,n; r)=(1,7; 2,3; 4)로 변조된다.
동기 신호가 소정의 간격으로 삽입되어 있는 도 9에 나타낸 본 발명의 또 다른 변조장치에 있어서, DSV 제어 비트 결정/삽입부(11)의 출력은 동기 신호 결정부(211)에 공급된다. 동기 신호 결정부(211)에 또 공급된 것은 변조부(12)의 출력이다. 동기 신호 결정부(211)가 DSV 제어 비트 결정/삽입부(11)와 변조부(12)에 의해 공급된 신호로부터 동기 신호를 결정할 때, 동기 신호 결정부(211)는 동기 신호를 동기 신호 삽입부(212)에 출력한다. 동기 신호 삽입부(212)는 동기 신호 결정부(211)에 의해 공급된 동기 신호를 변조부(12)에 의해 공급된 변조 신호 내에 삽입하고, 그것의 출력을 NRZI 인코딩부(13)에 공급한다. 이 구성의 나머지는 도 1에 나타낸 변조장치(1)와 동일하다.
동기 신호로서의 역할을 하는 24비트 코드 워드의 패턴의 경우에 있어서, 동기 신호는 테이블 2에 따라 동기 신호 결정부(211)에 의해 다음의 코드로 변환된다.
"#01 001 000 000 001 000 000 001"
이때, 심볼 #는 만약 있다면 동기 신호의 삽입에 의해 범위가 정해진 DSV 제어 비트를 포함하는, 바로 앞의 데이터 스트링에 의존하는 비트를 나타낸다. 보다 구체적으로, 변환 테이블을 이용하여 범위가 정해진 데이터 스트링을 변조하는 동작을 종료하기 위해 종료 테이블을 사용하면, "#"="1"이다. 그 반면, 종료를 위해 종료 테이블 대신에 테이블 2를 사용하면, "#"="0"이다. 따라서, 종료 테이블이 사용되거나 또는 사용되지 않으면, 변조부(12)는 "#"="1" 또는 "#"="0"을 동기 신호 결정부(211)에 출력한다. 변조부(12)로부터 "#"의 값을 수신하면, 동기 신호 결정부(211)는 동기 신호의 선두에 있는 "#"의 값을 추가한 후에 그 동긴 신호를 동기 신호 삽입부(212)에 출력한다.
동기 신호 삽입부(212)는 동기 신호 결정부(211)에 의해 공급된 동기 신호를 변조부(12)에 의해 공급된 변조 신호 내에 삽입하고, 그 출력을 NRZI 인코딩부(13)에 공급한다. 이 처리의 나머지는 도 1에 나타낸 변조장치(1)와 동일하다.
삽입된 동기 신호의 다음에 오는 제 1 데이터는 동기 신호의 바로 앞에 오는 데이터를 고려하지 않고 그것의 선두에서 시작하여 변환된다. 변조부(12) 및 동기 신호 결정부(211)는 각각 동기 신호가 삽입되는 소정 간격의 수를 계산하는 카운터를 가지고 있다. 카운터의 내용은 동기 신호의 위치를 결정하기 위해 사용된다.
상술한 바와 같이, 도 9에 나타낸 실시예는 테이블 2의 변환 테이블을 이용한다. 테이블 3의 변환 테이블도 사용할 수 있다는 것에 유념해야 한다. 이 경우에, 동기 신호 결정부(211)는 동기 신호의 패턴으로서 아래에 주어진 12비트 코드 워드를 이용한다.
"xx0 100 000 000 10x"
이때, 심볼 "x"는 만약 있다면 동기 신호의 삽입에 의해 범위가 정해진 DSV 제어 비트를 포함하는, 바로 앞뒤의 데이터 스트링에 의존하는 비트를 나타낸다. 동기 신호의 선두에 있는 3비트와 동기 신호의 끝부분에 있는 3비트는 다음과 같이 테이블 3에 의해 결정된다. (p)가 동기 신호의 삽입에 의해 범위가 정해진 마지막 데이터 스트링이고, (q)가 동기 신호의 바로 다음에 오는 제 1 데이터 스트링이라고 가정하자. 데이터 스트링 (p1)은 동기 신호의 선두에 있는 3비트로 변환되고, 데이터 스트링 (0q)은 테이블 3을 이용하여 동기 신호의 끝부분에 있는 3비트로 변환된다. 변환시 생긴 동기 신호의 선두에 있는 3비트와 동기 신호의 끝부분에 있는 3비트 사이에는 중간 비트 "100 000 000"이 삽입되어 상기의 패턴을 생성한다. 그렇게 함으로써, 필요한 최대 런 k를 파괴하지만 그것을 항상 k=8(9T)로 유지하는 동기 신호가 발생될 수 있다.
도 10은 도 9에 나타낸 변조장치(1)에 의해 행해진 변조에서 생긴 코드를 복조하기 위한 또 다른 복조장치(100)를 실행하는 실시예의 전형적인 구성을 나타내는 블록도이다. 도 10에 나타낸 바와 같이, 본 실시예에 있어서는, 소정의 전송 패턴으로 전송된 인입 신호는 복조부(111)와 동기 신호 식별부(221)에 공급된다. 동기 신호 식별부(221)는 인입 신호 및 복조부(111)로부터 수신된 신호를 이용하여 동기 신호를 식별하고, 그 동기 신호를 동기 신호 제거부(222)에 출력한다. 동기 신호 제거부(222)는 동기 신호 식별부(221)에 의해 출력된 신호에 따라 변조신호(111)에 의해 공급된 변조 신호로부터 동기 신호를 제거한다. 다음에 그 동기 신호가 제거된 복조 신호는 DSV 제어 비트 제거부(112)에 공급된다. 이 구성의 나머지는 도 5에 나타낸 복조장치(100)와 동일하다.
동기 신호 식별부(221)는 코드 워드의 수를 계산하는 내장 카운터를 가지고 있다. 이 카운터의 내용은 소정의 간격으로 데이터 워드 스트링 내에 삽입되는 동기 신호의 각 위치를 결정하기 위해 사용된다. 동기 신호 패턴의 위치가 식별된 후에, 변조시 결정된 "#" 비트가 판독된다. 즉, 동기 신호의 선두에 있는 비트가 판독되어 복조부(111)에 출력된다. 선두의 비트가 "1"이면, 복조부(111)는 동기 신호 바로 앞의 코드를 변조할 때 테이블 2의 종료 테이블을 이용한다. 그 반면, 선두의 비트가 "0"이면, 복조부(111)는 동기 신호의 바로 앞의 코드를 복조할 때 테이블 2의 변환 테이블을 이용한다. 동기 신호의 나머지 비트는 어떠한 정보도 전달하지 않기 때문에 폐기된다.
동기 신호 식별부(221)는 동기 신호를 구성하는 비트를 식별하기 위한 식별 신호를 동기 신호 제거부(222)에 출력한다. 동기 신호 제거부(222)는 동기 신호 식별부(221)에 의해 출력된 식별 신호에 따라 복조부(111)에 의해 공급된 복조 신호로부터 동기 신호를 제거한다. 그 후에, 그 동기 신호가 제거된 복조 신호가 DSV 제어 비트 제거부(112)에 공급된다.
상술한 바와 같이, 도 10에 나타낸 복조장치(100)는 테이블 2의 변환 테이블을 이용한다. 또한, 테이블 3도 사용될 수 있는 것에 유념해야 한다. 이 경우에, 예컨대, 동기 신호 식별부(221)는 소정의 간격으로 데이터 워드 스트링 내에 삽입되는 동기 신호의 각 위치를 결정하기 위해 카운터의 내용을 이용한다. 동기 신호 패턴의 위치가 식별된 후에, 동기 신호 식별부(221)는 동기 신호 패턴의 선두와 끝부분에 있는 3비트 코드 워드를 지정하는 신호를 복조부(111)에 출력하고, 그들 각각이 데이터 스트링을 포함하기 때문에 이들 코드 워드를 복조하는 복조부(111)를 필요로 한다.
동기 신호 식별부(221)는 데이터 스트링을 포함하는 코드 워드를 제외하고 동기 신호의 단일 패턴의 비트를 지정하는 신호를 동기 신호 제거부(222)에 출력한다. 따라서, 동기 신호 제거부(222)는 동기 신호 비트, 즉 동기 신호 식별부(221)로부터 수신된 신호에 의해 지정된 단일 패턴의 비트만을 제거할 수 있다.
도 11은 삽입되어 있는 DSV 제어 비트와 동기 신호가 기록된 코드의 예를 나타내는 도면이다. 이 예에 있어서, 24비트 코드 워드는 동기 신호로서 사용된다. DSV 제어가 56개의 데이터 비트의 간격으로 행해지고, 동기 신호는 5번의 DSV 제어의 실행마다 삽입된다. 따라서, 코드 워드의 수, 즉 각각의 동기 신호마다의 채널 비트의 수는, 24 + (1 + 56 + 1 + 56 + 1 + 56 + 1 + 56 + 1 + 56 + 1) X 1.5=453 코드 워드(채널 비트)이다. 데이터 워드 내에 도입된 중복도는 다음의 계산식으로부터 알 수 있듯이 대략 7.3%이다.
데이터의 양=(56 X 5)1.5/453=420/453=0.927
따라서, 중복도 = 1 - 0.927 = 0.07128 = 7.3%
본 발명자 및 일부 다른 사람들은 상술한 변환 테이블을 이용하는 시뮬레이션을 행하여 변조 결과를 생성한다. Tmin의 연속 출현이 제한된 DSV 제어 비트를 삽입한 데이터 스트링의 변조 결과에 대해서는 다음에 설명한다. 이 시뮬레이션에 있어서는, 테이블 2와 테이블 3이 사용되었다. 종래의 RLL(1-7) 변조에 대한 테이블 1을 이용하는 시뮬레이션도 목적 비교를 위해 행해졌다.
이 시뮬레이션에 있어서는, 임의로 만들어진 13,107,200 비트로 이루어진 임의의 데이터의 각 56개의 데이터 비트에 대하여 1 DSV 제어 비트를 삽입함으로써 DSV 제어가 행해졌고, 그 후에 데이터는 테이블 2 또는 테이블 3의 변환 코드 테이블을 이용하여 코드 워드 스트링(또는 채널 비트 열)으로 변환되었다. 또 다른 시뮬레이션에 있어서, 임의로 만들어진 13,107,200으로 이루어진 임의의 데이터는 테이블 1 및 테이블 2의 변환 코드 테이블을 이용하여 코드 워드 스트링(또는 채널 비트 열)으로 변환되었고, 그 후에 채널 비트는 DSV 제어를 행하기 위해, 112개의 코드 워드 또는 그 결과로서 생긴 코드 워드 스트링의 112개의 채널 비트의 각각에 대한 DSV 제어 비트로서 삽입되었다.
테이블 2 또는 테이블 3을 이용하는 시뮬레이션에 있어서는, 1 DSV 제어 비트가 각각의 56개의 데이터 비트에 대하여 삽입되지만, 테이블 1을 이용하는 시뮬레이션에 있어서는, 2 DSV 제어 비트가 각각의 112 코드 워드에 대하여 삽입되는 이유는, 양쪽 시뮬레이션에 대하여 DSV 제어 비트에 기인한 중복도를 같게 만들기 위한 것이다. 하나의 경우에서 DSV 제어에 필요한 비트의 수가 또 다른 경우에서의 비트 수와 다르고, 양쪽 경우에 있어서 중복도가 같게 되면, DSV 제어가 높은 효율로 행해질 수 있는 테이블 2 또는 테이블 3은 테이블 1과 비교하여 양호한 낮은 대역 특성을 제공한다.
시뮬레이션 결과의 수치 값은 다음과 같이 계산된다.
Ren_cnt[1∼10]: 1개의 단일 최소 런에서 10개의 연속 최소 런까지의 발생 계수.
T_size[2∼10] 2T 런에서 10T 런까지의 발생 계수.
Sum: 비트의 수
Total: 런 길이의 수, 즉 2T 런, 3T 런 등의 발생 계수의 전체 수.
평균 런:(Sum/Total)
런 분배의 수치 값:(T_size[i]*(i)/Sum) 이때 i=2,3,4,...10.
테이블 6의 열 2T∼10T에 대한 수치 값은 런 분배의 수치 값이다.
연속 최소 런 분배의 수치 값:
(Ren_cnt[i]*(i))/T_size[2T] 이때, i=1, 2, 3, 4, ....10.
테이블 6의 열 RMTR(1)∼RMTR(9)에 대한 수치 값은 연속 최소 런 분배의 수치 값이다.
Max_RMTR: 최소 런 반복 피크 DSV의 최대 수: 채널 비트 열에 대하여 DSV 제어를 행하는 프로세스에서 관찰된 포지티브(+)측 및 네가티브(-)측에 대하여 계산된 DSV 값의 피크.
각각의 56개의 데이터 비트에 대하여 1 DSV 비트를 삽입함으로써 발생된 중복도 계산은, 모두 56개의 데이터 비트에 대하여 1 DSV 비트가 존재한다는 사실에 근거한다. 따라서, 중복도는 다음과 같이 계산된다.
중복도 = 1/(1 + 56)=1.75%
각각의 112개의 코드 비트에 대하여 2 DSV 비트를 삽입함으로써 발생된 중복도의 계산은, 모두 112개의 코드 워드 비트에 대하여 2 DSV 비트가 존재한다는 사실에 근거한다. 따라서, 중복도는 다음과 같이 계산된다.
중복도 = 2/(2 + 112)=1.75%
따라서, 양쪽의 경우에 있어서 동일한 중복도가 얻어진다.
<테이블 6>
PP17 비교
〈테이블 2〉 〈테이블 3〉 〈테이블 1〉
17PP-32 17PP-52 +2비트-DC Without-DCC
(DSV 제어) DSV 제어가 없음
평균
3.3665 3.4048 3.3016 3.2868
Sum 20011947 20011947 20011788 19660782
Total 5944349 5877654 6061150 5981807
2T 0.2256 0.2246 0.2417 0.1419
3T 0.2217 0.2069 0.2234 0.2281
4T 0.1948 0.1935 0.1902 0.1915
5T 0.1499 0.1491 0.1502 0.1511
6T 0.1109 0.1904 0.1135 0.1141
7T 0.0579 0.0814 0.0561 0.0544
8T 0.0392 0.0351 0.0218 0.0188
9T ---- ---- 0.0023 ---- -----
10T ---- ---- 0.0009 ----- -----
RMTR(1) 0.3837 0.3890 0.3628 0.3641
RMTR(2) 0.3107 0.3137 0.2884 0.2883
RMTR(3) 0.1738 0.1906 0.1717 0.1716
RMTR(4) 0.0938 0.0806 0.0909 0.0907
RMTR(5) 0.0299 0.0228 0.0456 0.0452
RMTR(6) 0.0081 0.0033 0.0219 0.0217
RMTR(7) ---- ---- 0.0100 0.0099
RMTR(8) ---- ---- 0.0047 0.0046
RMTR(9) ---- ---- 0.0022 0.0022
Max_RMTR 6 6 18 18
피크 DSV #-36∼36#-35∼40*-46∼43*-1783∼3433
("#":56 데이터 비트 + 1 dc 비트, 1.75%) ("*": 112 비트 + 2 dc 비트, 1.75%)
상기 주어진 결과는, 테이블 2 및 테이블 3을 이용하여, RLL(1, 7) 시스템이 실행되고, 동시에 최소 및 최대 런이 유지되며, 최소 런의 연속 출현의 수가 6으로 제한된다는 것을 증명한다. 게다가, DSV의 결과는, 데이터 스트링에서 DSV 제어가 행해질 수 있다(즉, 피크 DSV의 값이 소정의 범위 내에 포함된다)는 것을 증명하고, 이 경우에, DSV 제어 비트의 효율이 높기 때문에, 코드 워드 스트링(채널 비트 열) 내에 DSV 비트를 삽입하는 종래의 방법보다 더 만족스러운 낮은 대역 구성요소를 얻을 수 있다. DSV 결과는, 테이블 1의 경우에 포지티브와 네가티브 피크 DSV 사이의 차가 89(=46 + 43)이고, 테이블 2의 경우에 그 차가 테이블 1의 값보다 작은 72(=36 + 36) 및 75(=35 + 40)이라는 것을 증명한다.
종래의 RLL(1-7) 시스템, 즉 테이블 1에 근거한 시스템과 비교하여, 테이블 2 또는 테이블 3을 이용하는 소위 17PP 시스템은 최소 런 반복의 수를 기껏해야 6으로 제한할 수 있다는 것을 상기 설명으로부터 알 수 있다. 그 결과, 높은 라인 밀도의 오류 특성의 향상이 기대될 수 있다.
게다가, DSV 제어의 효율이 우수하기 때문에, 종래의 RLL(1-7) 시스템과 같은 1.75% 중복도로 17PP 시스템에서 DSV 제어를 실행하면, 네가티브와 포지티브 피크 값 사이의 차가 작게 된다. 그 결과, 낮은 대역 구성요소가 삭제될 수 있기 때문에, 안정된 데이터 기록/재생 동작이 수행될 수 없다.
또한, 상술한 경우와 같은 임의의 데이터로부터 발생된 채널 비트 열에서 비트 시프트에 의해 발생된 복조 오류의 전파를 검사하기 위해 시뮬레이션을 행하였다. 이 시험 결과는, 17PP 시스템에서의 최악의 오류 전파가 3바이트라는 것을 나타낸다. 그러나, 이 결과도, 오류의 실제 발생의 빈도가 거의 0, 즉 종래의 RLL(1-7) 시스템과 비교하여 그리 많지 않은 열화를 나타낸 값이라는 것을 증명한다. 테이블 1에 대하여 1.014 바이트, 테이블 2에 대하여 1.167 바이트 및 테이블 3에 대하여 1.174 바이트의 평균 바이트 오류율이 증명되었다. 본 발명에 의해 제공된 변환 테이블에 있어서, 오류율 결과의 수치 값은 DSV 제어 비트를 포함하지만, 종래의 RLL(1-7) 시스템에 있어서, 수치 값은 DSV 제어 비트를 포함하지 않는다는 것에 유념해야 한다. 즉, 그 측정은 동일한 조건 하에서 반드시 수행되었다고 말할 수 없다. 측정 조건에서의 차이는 수치 값에 영향을 미치기 때문에, 비교시 그 값에 대한 차이의 효과를 고려할 필요가 있다.
<테이블 7>
시프트 오류 응답
〈테이블 2〉 〈테이블 3〉 〈테이블 1〉
17PP-32 17PP-52 +2비트-DC
최악의 경우 3바이트 3바이트 2바이트
(dc 비트) 포함된 포함된 제외된
바이트 오류(0) 0.028 0.096 0.080
바이트 오류(1) 0.777 0.0635 0.826
바이트 오류(2) 0.195 0.268 0.094
바이트 오류(3) 0.000 0.001 ----
평균
바이트 오류율 1.167바이트 1.174바이트 1.014바이트
상술한 바와 같이, 본 실시예에 있어서, 1의 최소 런 d, 7의 최대 런 k 및 2/3의 변환율 m/n을 가진 변환 테이블은 최소 런 길이 연속 출현의 수를 제한하기 위한 치환 코드를 포함하여, 다음의 효과를 발생한다.
(1) 높은 라인 밀도의 기록 및 재생 성능과 접선 틸트에 대한 허용 오차가 향상된다.
(2) 낮은 레벨 부분의 수를 줄이고, AGC 및 PLL와 같은 웨이브 처리의 정확도를 증가시켜, 전체 특성을 향상시킬 수 있다.
(3) 종래의 시스템과 비교하여, 비트 코드 등의 작은 패스 메모리 길이를 설계하여 회로의 크기를 감소시킬 수 있다.
게다가, 데이터 스트링에서 구성요소의 "1" 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 "1" 계수를 2로 나눈 나머지와 항상 같기 때문에, 다음의 추가 효과를 제공한다.
(4) DSV 제어에 대한 중복 비트의 수가 감소될 수 있다.
(5) 1의 최소 런 및 (2,3)의 변환 파라미터(m,n)에서, DSV 제어가 1.5비트 코드 워드로 행해질 수 있다.
(6) 낮은 중복도 외에도, 최소 및 최대 런 d 및 k가 유지될 수 있다.
또한, 변환 테이블은 특별히 런 길이 제한값을 유지하기 위한 치환 코드를 포함하여, 다음의 추가 효과를 발생한다.
(7) 이 테이블은 간결하다.
(8) 비트 시프트에 의해 발생된 변조 오류의 전파는 테이블 1에 근거한 종래의 시스템과 같은 상태에서 이루어질 수 있다.
상술한 처리를 행하기 위해 실행되어야 할 컴퓨터 프로그램을 제공하는 프로그램 제공 매체로서, 자기 디스크와 같은 기록매체뿐만 아니라, CD-ROM 및 고형 메모리, 네트워크 및 위성과 같은 통신 매체가 사용될 수 있다.
[발명의 효과]
상술한 바와 같이, 청구항 1에 기재된 변조장치, 청구항 25에 기재된 변조방법, 청구항 26에 기재된 프로그램 제공 매체, 청구항 27에 기재된 복조장치, 청구항 30에 기재된 복조방법 및 청구항 31에 기재된 프로그램 제공 매체에 의하면, 변환 규칙을 시행하는 변환 테이블에 근거하여 변환 처리를 행하고, 그것에 따라, 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같으며, 그 변환 테이블의 변환 코드는,
d=1, k=7, m=2 및 n=3에 대한 기본 코드와,
최소 런 d의 연속 출현 수를 제한하기 위한 제 1 치환 코드와,
런 길이 제한 k를 유지하기 위한 제 2 치환 코드를 구비한다.
그 결과, DSV 제어가 작은 수의 중복 비트를 이용하여 실행될 수 있고, 코드 워드 스트링은 높은 라인 밀도로 거의 오류가 없이 기록 및 재생될 수 있다. 게다가, 비트 시프트에 의해 발생된 복조 오류의 전파 증가가 억제될 수 있다.

Claims (31)

  1. m 비트의 기본 데이터 길이를 가진 데이터를, n비트의 기본 코드 길이를 가진 가변 길이 코드(d,k;m,n;r)로 변환하는 변조장치(이때, d는 최소 런, k는 런 길이 제한값)에 있어서,
    변환 테이블에 따라 입력 데이터를 코드로 변환하는 변환수단을 구비하고, 상기 변환 테이블은 변환규칙을 시행하며, 그 변환규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같고, 상기 변환 테이블의 변환 코드는,
    d=1, k=7, m=2 및 n=3에 대한 기본 코드와,
    상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
    상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 하는 변조장치.
  2. 제 1 항에 있어서,
    1의 제한 길이 i에 대하여 상기 기본 코드를 구성하는 코드 스트링과 데이터 스트링으로 각각 이루어진 쌍의 수는 4(=2^m=2^2)보다 작은 것을 특징으로 하는 변조장치.
  3. 제 1 항에 있어서,
    상기 변환 테이블의 상기 기본 코드는 가변 길이 구조를 갖는 것을 특징으로 하는 변조장치.
  4. 제 1 항에 있어서,
    상기 변환 테이블의 상기 기본 코드는 코드 '*0*'을 포함하고, 심볼 *은 바로 앞 또는 뒤의 코드 워드가 '1'일 때 '0', 상기 바로 앞 또는 뒤의 코드 워드가 '0'일 때 '1'인 중간 코드이므로, 상기 코드 '*0*'이 '000' 또는 '101'인 것을 의미하는 것을 특징으로 하는 변조장치.
  5. 제 1 항에 있어서,
    상기 변환 테이블의 변환 코드는 바로 뒤의 코드 워드 스트링 또는 바로 뒤의 데이터 스트링을 참조하여 각각 결정된 코드를 포함하는 것을 특징으로 하는 변조장치.
  6. 제 1 항에 있어서,
    상기 변환 테이블의 변환 코드는 바로 뒤의 코드 워드 스트링 또는 특정 형태의 코드 워드 스트링을 참조하여 각각 결정된 코드를 포함하는 것을 특징으로 하는 변조장치.
  7. 제 5 항에 있어서,
    바로 뒤의 코드 워드 스트링 또는 바로 뒤의 데이터 스트링을 참조하여 각각 결정된 상기 코드는 상기 제 1 또는 제 2 치환 코드인 것을 특징으로 하는 변조장치.
  8. 제 1 항에 있어서,
    1의 제한 길이 i에 대하여 상기 기본 코드를 구성하는 코드 스트링과 데이터 스트링으로 각각 이루어진 쌍의 수는 4(=2^m=2^2)인 것을 특징으로 하는 변조장치.
  9. 제 1 항에 있어서,
    2 이상의 제한 길이 i에 대하여, 상기 변환 코드는 모두 제 1 및 제 2 치환 코드인 것을 특징으로 하는 변조장치.
  10. 제 1 항에 있어서,
    2의 제한 길이 i에 대하여 상기 변환 코드는 상기 최소 런 d를 1로 유지하는 코드인 것을 특징으로 하는 변조장치.
  11. 제 1 항에 있어서,
    상기 변환 테이블의 상기 변환 코드는 바로 앞의 코드 워드 스트링을 참조하여 각각 결정된 코드를 포함하는 것을 특징으로 하는 변조장치.
  12. 제 1 항에 있어서,
    상기 장치는, 상기 변환 테이블의 상기 변환 코드 내에 포함되지 않은 단일 패턴을 포함하는 동기 신호를 상기 코드 워드 스트링의 어떤 임의의 위치 내에 삽입하는 동기 신호 삽입수단을 더 구비한 것을 특징으로 하는 변조장치.
  13. 제 12 항에 있어서,
    상기 단일 패턴은 상기 최대 런 k를 파괴하는 패턴인 것을 특징으로 하는 변조장치.
  14. 제 12 항에 있어서,
    상기 단일 패턴은 상기 최소 런 d를 유지하는 패턴인 것을 특징으로 하는 변조장치.
  15. 제 12 항에 있어서,
    상기 동기 신호에서의 단일 패턴은 바로 앞의 데이터까지의 변환에서 생긴 코드 워드를 가진 연결 비트로서의 역할을 하는 상기 동기 신호 패턴의 선두에 있는 1개의 코드 워드, 상기 최소 런 d를 유지하는 제 2 비트 및 제 3 비트로 이루어진 것을 특징으로 하는 변조장치.
  16. 제 12 항에 있어서,
    상기 동기 신호의 크기는 적어도 12개의 코드 워드인 것을 특징으로 하는 변조장치.
  17. 제 12 항에 있어서,
    적어도 21개의 코드 워드의 동기 신호의 크기에 대하여, 상기 동기 신호는 8의 최대 런 k를 가진 적어도 2개의 패턴을 포함하는 것을 특징으로 하는 변조장치.
  18. 제 12 항에 있어서,
    상기 변환 테이블의 상기 변환 코드는 변환에서 생긴 상기 코드를 종료하는 종료 코드를 포함하는 것을 특징으로 하는 변조장치.
  19. 제 18 항에 있어서,
    상기 종료 코드는 제한 길이 i를 가진 상기 기본 코드에 대하여 규정되고, 제한 길이 i에 대하여 상기 기본 코드를 구성하는 코드 스트링과 데이터 스트링으로 각각 이루어진 쌍의 수가 4(=2^m=2^2)보다 작으며, 변환 규칙을 시행하고, 이 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같은 것을 특징으로 하는 변조장치.
  20. 제 18 항에 있어서,
    상기 종료 코드를 식별하기 위해, 연결 비트로서의 역할을 하는 상기 동기 신호 패턴의 선두에 있는 1개의 코드 워드는 상기 종료 코드가 사용될 때 '1'로 설정되고, 상기 종료 코드가 사용되지 않을 때 '0'으로 설정되는 것을 특징으로 하는 변조장치.
  21. 제 12 항에 있어서,
    상기 단일 패턴은 상기 동기 신호의 선두에 있는 3비트와 상기 동기 신호의 끝부분에 있는 3비트 사이에 삽입되고, 상기 선두에 있는 상기 3비트와 상기 끝부분에 있는 3비트는 혼합된 데이터 및 연결 비트로 이루어진 접합부로서 각각 사용되는 것을 특징으로 하는 변조장치.
  22. 제 12 항에 있어서,
    상기 동기 신호의 선두에 있는 3비트 중 첫 번째의 비트는 m비트 단위로 변환 전에 데이터 워드를 나타내는 값을 갖고,
    상기 3비트 중 두 번째의 비트는 상기 동기 신호를 규정하기 위해 '1'로 설정되며,
    상기 동기 신호의 끝부분에 있는 3비트 중 첫 번째의 비트는 상기 동기 신호를 규정하기 위해 '0'으로 설정되고,
    상기 끝부분에 있는 상기 3비트 중 두 번째의 비트는 m비트 단위로 변환 전에 상기 데이터 워드를 나타내는 값을 갖는 것을 특징으로 하는 변조장치.
  23. 제 1 항에 있어서,
    상기 장치는 입력 데이터의 DSV를 제어하고, 상기 DSV를 상기 변환수단에 공급하는 DSV 제어수단을 더 구비한 것을 특징으로 하는 변조장치.
  24. 제 1 항에 있어서,
    상기 변환수단은,
    상기 최소 런 d의 연속 출현의 수를 제한하기 위한 상기 제 1 치환 코드를 검출하는 제 1 코드 검출수단과,
    런 길이 제한값을 유기하기 위한 상기 제 2 치환 코드를 검출하는 제 2 코드 검출수단을 구비한 것을 특징으로 하는 변조장치.
  25. m비트의 기본 데이터 길이를 가진 데이터를, n비트의 기본 코드 길이를 가진 가변 길이 코드(d,k; m,n; r)로 변환하는 (이때, d는 최소 런, k는 런 길이 제한값)변조장치에서 채택되는 변조방법에 있어서,
    변환 테이블에 따라 입력 데이터를 코드로 변환하는 변환단계를 포함하고, 상기 변환 테이블은 변환 규칙을 시행하며, 그 변환규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같고, 상기 변환 테이블의 변환 코드는,
    d=1, k=7, m=2 및 n=3에 대한 기본 코드와,
    상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
    상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 하는 변조방법.
  26. m비트의 기본 데이터 길이를 가진 데이터를, n비트의 기본 코드 길이를 가진 가변 길이 코드(d,k;m,n;k)로 변환하는 (이때 d는 최소 런, k는 런 길이 제한값) 변조장치에서 변환 테이블 데이터에 따라 입력 데이터를 코드로 변환하는 변환단계를 포함하는 프로그램 실행 처리과정을 제공하는 프로그램 제공 매체에 있어서,
    상기 변환 테이블은 변환 규칙을 시행하고, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같으며, 상기 변환 테이블의 변환 코드는,
    d=1, k=7, m=2 및 n=3에 대한 기본 코드와,
    상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
    상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 하는 프로그램 제공 매체.
  27. n비트의 기본 코드 길이를 가진 가변 길이 코드(d,k; m,n; k)를, m비트의 기본 데이터 길이를 가진 데이터로 변환(이때, d는 최소 런, k는 런 길이 제한값)하는 복조장치에 있어서,
    변환 테이블에 따라 입력 코드를 데이터로 변환하는 변환수단을 구비하고, 상기 변환 테이블은 변환 규칙을 시행하며, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같고, 상기 변환 테이블의 변환 코드는,
    d=1, k=7, m=2 및 n=3에 대한 기본 코드와,
    상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
    상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 하는 복조장치.
  28. 제 27 항에 있어서,
    상기 장치는, 상기 코드 내에 소정의 간격으로 삽입된 중복 비트를 제거하는 비트 제거수단을 더 구비한 것을 특징으로 하는 복조장치.
  29. 제 28 항에 있어서,
    상기 중복 비트는 DSV 비트 또는 동기 신호인 것을 특징으로 하는 복조장치.
  30. n비트의 기본 코드 길이를 가진 가변 길이 코드(d,k; m,n; k)를, m비트의 기본 데이터 길이를 가진 데이터로 변환(이때, d는 최소 런, k는 런 길이 제한값)하는 복조장치에서 채택되는 복조방법에 있어서,
    변환 테이블에 따라 입력 코드를 데이터로 변환하는 변환단계를 구비하고, 상기 변환 테이블은 변환 규칙을 시행하며, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같으며, 상기 변환 테이블의 변환 코드는,
    d=1, k=7, m=2 및 n=3에 대한 기본 코드와,
    상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
    상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 하는 복조방법.
  31. n비트의 기본 코드 길이를 가진 가변 길이 코드(d,k; m,n; k)를, m비트의 기본 데이터 길이를 가진 데이터로 변환하는 (이때 d는 최소 런, k는 런 길이 제한값)복조장치에서 변환 테이블에 따라 입력 코드를 데이터로 변환하는 변환단계를 포함하는 프로그램을 제공하는 프로그램 제공 매체에 있어서,
    상기 변환 테이블은 변환 규칙을 시행하고, 그 변환 규칙에 따라 데이터 스트링에서 구성요소의 '1' 계수를 값 0 또는 1을 가진 2로 나눈 나머지는, 상기 데이터 스트링의 변환에서 생긴 코드 워드 스트링에서 구성요소의 '1' 계수를 2로 나눈 나머지와 항상 같으며, 상기 변환 테이블의 변환 코드는,
    d=1, k=7, m=2 및 n=3에 대한 기본 코드와,
    상기 최소 런 d의 연속 출현의 수를 제한하는 제 1 치환 코드와,
    상기 런 길이 제한값 k를 유지하는 제 2 치환 코드를 구비한 것을 특징으로 하는 프로그램 제공 매체.
KR1020007000903A 1998-05-29 1999-05-25 연속 최소 런 길이 제한이 있는 변조/복조 장치 및 방법 KR100753966B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10150280 1998-05-29
JP15028098A JP3985173B2 (ja) 1998-05-29 1998-05-29 変調装置および方法、復調装置および方法、並びにデータ格納媒体
PCT/IB1999/000948 WO1999063671A1 (en) 1998-05-29 1999-05-25 Apparatus and method for modulation/demodulation with consecutive minimum runlength limitation

Publications (2)

Publication Number Publication Date
KR20010022324A true KR20010022324A (ko) 2001-03-15
KR100753966B1 KR100753966B1 (ko) 2007-08-31

Family

ID=15493529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007000903A KR100753966B1 (ko) 1998-05-29 1999-05-25 연속 최소 런 길이 제한이 있는 변조/복조 장치 및 방법

Country Status (40)

Country Link
US (5) US6496541B1 (ko)
EP (1) EP1000467B1 (ko)
JP (1) JP3985173B2 (ko)
KR (1) KR100753966B1 (ko)
CN (2) CN100557981C (ko)
AR (1) AR019600A1 (ko)
AT (1) ATE463082T1 (ko)
AU (1) AU758251B2 (ko)
BG (1) BG64243B1 (ko)
CA (2) CA2298685C (ko)
CY (1) CY1110892T1 (ko)
CZ (1) CZ303005B6 (ko)
DE (1) DE69942194D1 (ko)
DK (1) DK1000467T3 (ko)
EA (1) EA002209B1 (ko)
EE (1) EE05501B1 (ko)
EG (1) EG22694A (ko)
ES (1) ES2341927T3 (ko)
HK (1) HK1029458A1 (ko)
HR (1) HRP20000050B1 (ko)
HU (1) HU229922B1 (ko)
ID (1) ID24969A (ko)
IL (2) IL134229A (ko)
LT (1) LT4754B (ko)
LV (1) LV12526B (ko)
ME (1) ME01711B (ko)
MY (1) MY131577A (ko)
NO (1) NO332391B1 (ko)
NZ (1) NZ502506A (ko)
PL (1) PL338300A1 (ko)
PT (1) PT1000467E (ko)
RO (1) RO121883B1 (ko)
SI (1) SI20174B (ko)
SK (1) SK288035B6 (ko)
TR (1) TR200000248T1 (ko)
TW (1) TW498313B (ko)
UA (1) UA49081C2 (ko)
WO (1) WO1999063671A1 (ko)
YU (1) YU49188B (ko)
ZA (1) ZA200000371B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100407495B1 (ko) * 2000-06-22 2003-12-01 엘지전자 주식회사 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치
KR100700809B1 (ko) * 2005-02-07 2007-03-27 엘지전자 주식회사 광기록매체의 데이터 변/복조 방법
KR100972008B1 (ko) * 2008-07-16 2010-07-23 한국전력공사 이중전원 계통방식에서 절환시간을 최소화한 고속도 전원선택 차단기

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3985173B2 (ja) * 1998-05-29 2007-10-03 ソニー株式会社 変調装置および方法、復調装置および方法、並びにデータ格納媒体
JP3870573B2 (ja) * 1998-08-24 2007-01-17 ソニー株式会社 変調装置および方法、記録媒体、並びに復調装置および方法
RU2001127081A (ru) * 2000-01-07 2003-10-27 Конинклейке Филипс Электроникс Н.В. (Nl) Способ преобразования потока битов данных двоичного информационного сигнала в поток битов данных сигнала двоичного канала передачи с наличием ограничений, устройство кодирования, сигнал, содержащий в себе поток битов данных сигнала двоичного канала передачи с наличием ограничений, носитель записи и устройство декодирования
CN1386327A (zh) 2000-05-10 2002-12-18 皇家菲利浦电子有限公司 把二进制信息信号的数据比特流变换成约束的二进制信道信号的数据比特流的方法,用于编码的装置,包括约束的二进制信道信号的数据比特流的信号,记录载体,用于译码的方法,用于译码的装置
TW483038B (en) 2000-05-26 2002-04-11 Koninkl Philips Electronics Nv Display device
US7133331B2 (en) 2000-12-28 2006-11-07 Victor Company Of Japan, Limited Recording medium having a substrate containing microscopic pattern of parallel groove and land sections and recording/reproducing equipment therefor
KR100370493B1 (ko) * 2001-02-06 2003-02-05 엘지전자 주식회사 광기록매체의 데이터 변/복조 방법 및 장치
JP2002271205A (ja) 2001-03-09 2002-09-20 Victor Co Of Japan Ltd 変調方法、変調装置、復調方法、復調装置、情報記録媒体、情報伝送方法および情報伝送装置
CN100456640C (zh) 2001-06-07 2009-01-28 日本胜利株式会社 调制和解调方法与装置、信息传输方法和装置
LT4906B (lt) 2001-08-17 2002-04-25 Vytautas Sirvydis Pagerinti paukštininkystės maisto produktai, jų gavimo būdas ir paukščių mitybos papildas
JP2003168222A (ja) 2001-09-20 2003-06-13 Victor Co Of Japan Ltd 情報記録担体及び情報記録担体の再生方法及び情報記録担体の再生装置
JP4784030B2 (ja) 2001-09-21 2011-09-28 ソニー株式会社 記録装置、再生装置、記録方法、再生方法
US6577255B2 (en) 2001-10-29 2003-06-10 Victor Company Of Japan, Ltd. Method and apparatus for encoding digital data
CN1306516C (zh) * 2001-11-09 2007-03-21 株式会社东芝 信息记录/还原***和记录校正方法
US7426393B2 (en) * 2001-11-19 2008-09-16 Nokia Corporation Method and system of identifying network services
JP4132804B2 (ja) 2001-12-11 2008-08-13 ソニー株式会社 変調装置および方法、記録媒体、並びにプログラム
JP2003208764A (ja) * 2002-01-16 2003-07-25 Sony Corp 変調装置および方法、記録媒体、並びにプログラム
CN100477529C (zh) * 2002-01-23 2009-04-08 皇家飞利浦电子股份有限公司 把信息字变换成信号的方法及其编码设备和再现设备
JP4178795B2 (ja) * 2002-01-23 2008-11-12 ソニー株式会社 変調装置および方法、dsv制御ビット生成方法、記録媒体、並びにプログラム
AU2003201833A1 (en) * 2002-04-01 2003-10-23 Sony Corporation Storage medium initialization and cancellation method
WO2003085667A1 (en) * 2002-04-11 2003-10-16 Koninklijke Philips Electronics N.V. Stochastic dc control
US7177262B2 (en) 2002-04-19 2007-02-13 Victor Company Of Japan, Ltd. Reproducing system and corresponding information recording medium having wobbled land portions
JP4141175B2 (ja) * 2002-05-14 2008-08-27 ソニー株式会社 データ記録媒体、データ記録方法および装置
US6765511B2 (en) 2002-06-27 2004-07-20 Victor Company Of Japan, Ltd. Method and apparatus for encoding digital data
TWI283518B (en) * 2002-07-30 2007-07-01 Mediatek Inc Method for data modulation/demodulation and system using the same
US7706405B2 (en) * 2002-09-12 2010-04-27 Interdigital Technology Corporation System for efficient recovery of Node-B buffered data following MAC layer reset
US7212483B2 (en) * 2002-09-25 2007-05-01 Victor Company Of Japan, Limited Modulation device, modulation method and recording medium
US8139452B2 (en) * 2002-11-05 2012-03-20 Koninklijke Philips Electronics N.V. Record carrier comprising an additional sync-color pattern and method and device for use with such record carrier
JP3957679B2 (ja) 2002-12-18 2007-08-15 日本電気株式会社 符号化変調方法および変調装置、復調方法および復調装置、情報記録媒体
KR20040099945A (ko) * 2003-05-20 2004-12-02 삼성전자주식회사 디스크형 기록 매체로의 기록을 위한, 데이터 변조 방법및 그 장치와, 이에 사용되는 싱크 코드 삽입 방법 및 그장치와, 이를 구현하기 위한 프로그램을 기록한 기록 매체
JP5046477B2 (ja) * 2003-08-28 2012-10-10 ソニー株式会社 復号装置および方法、記録再生装置および方法、プログラム記録媒体、並びにプログラム
KR101165865B1 (ko) * 2003-08-28 2012-07-13 소니 주식회사 복호 장치 및 방법과 프로그램 기록 매체
KR101132342B1 (ko) 2003-10-13 2012-04-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 균형 잡힌 디스패리티 프레임 동기
US8611195B2 (en) 2003-11-21 2013-12-17 Koninklijke Philips N.V. Detection of data in burst cutting area of optical disk
PL1687823T3 (pl) * 2003-11-21 2018-07-31 Koninklijke Philips N.V. Nagrywanie i odtwarzanie obszarów burst cutting area
US7330137B2 (en) * 2003-12-12 2008-02-12 Mediatek Inc. Method and apparatus for RLL code encoding and decoding
TWI225730B (en) * 2003-12-31 2004-12-21 Ind Tech Res Inst Type-dependent coding method with type control
KR20070054241A (ko) * 2004-09-15 2007-05-28 코닌클리케 필립스 일렉트로닉스 엔.브이. 코더와, r=2의 rmtr 제약을 갖는 코드의 코딩방법
WO2006030359A1 (en) * 2004-09-15 2006-03-23 Koninklijke Philips Electronics N.V. Modulation coding with rll (1, k) and mtr (2) constraints
CN101023588A (zh) * 2004-09-17 2007-08-22 皇家飞利浦电子股份有限公司 将用户比特流转换为编码比特流的方法、检测信号中同步模式的方法、记录载体、信号、记录设备和重放设备
JP2008513921A (ja) * 2004-09-17 2008-05-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ユーザビットストリームを符号化ビットストリームに変換する方法、信号における同期パターンを検出する方法、自由に挿入可能な同期パターンを使用する記録キャリア、信号、記録装置及び再生装置
JP4768743B2 (ja) * 2004-10-20 2011-09-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 光ディスクの1次データビットストリームに2次信号を埋め込む装置及び方法
US7701825B2 (en) * 2005-06-17 2010-04-20 Macrovision Corporation Apparatus for and a method of authenticating recording media
JP4601512B2 (ja) 2005-08-05 2010-12-22 ルネサスエレクトロニクス株式会社 Dsv制御装置およびdsv制御方法
JP4826888B2 (ja) * 2005-11-10 2011-11-30 ソニー株式会社 復調テーブル、復調装置および復調方法、プログラム、並びに記録媒体
JP4692234B2 (ja) 2005-11-10 2011-06-01 ソニー株式会社 変調テーブル、変調装置および方法、プログラム、並びに記録媒体
JP4839784B2 (ja) * 2005-11-10 2011-12-21 ソニー株式会社 変調テーブル、変調装置および方法、プログラム、並びに記録媒体
JP4821297B2 (ja) * 2005-12-12 2011-11-24 ソニー株式会社 符号列生成方法、変調装置、変調方法、変調プログラム、復調装置、復調方法、復調プログラム及び記録媒体
CN100386812C (zh) * 2005-12-16 2008-05-07 清华大学 编码调制方法及装置、解调方法及装置
EP1966895A2 (en) * 2005-12-19 2008-09-10 Koninklijke Philips Electronics N.V. A coder and a method of coding for codes with a parity-complementary word assignment having a constraint of d=1, r=2
JP4983032B2 (ja) * 2006-02-08 2012-07-25 ソニー株式会社 復調テーブル、復調装置および方法、プログラム、並びに記録媒体
JP2007213655A (ja) * 2006-02-08 2007-08-23 Sony Corp 変調テーブル、変調装置および方法、プログラム、並びに記録媒体
US7348900B1 (en) 2006-03-07 2008-03-25 Mediatek Inc. Method and apparatus for encoding/decoding in fixed length
JP4899616B2 (ja) * 2006-04-28 2012-03-21 ソニー株式会社 変調装置および方法、プログラム、並びに記録媒体
JP4662164B2 (ja) * 2006-04-28 2011-03-30 ソニー株式会社 変調装置および方法、プログラム、並びに記録媒体
JP4735975B2 (ja) * 2006-04-28 2011-07-27 ソニー株式会社 変調装置および方法、プログラム、並びに記録媒体
JP4930760B2 (ja) 2006-04-28 2012-05-16 ソニー株式会社 変調装置および方法、並びに記録媒体
WO2007145619A1 (en) * 2006-06-12 2007-12-21 Mubina Gilliani System and method for dynamic electronic learning based on location, context, and category data
WO2007145622A1 (en) * 2006-06-12 2007-12-21 Thomson Licensing Method and apparatus for embedding second code into optical disc data by data modulation rule variation
JP2008004195A (ja) * 2006-06-23 2008-01-10 Toshiba Corp ラン長制限装置及びラン長制限方法
CN100547671C (zh) * 2006-07-25 2009-10-07 华中科技大学 用于高密度光盘的调制码的编码方法
US8238319B2 (en) * 2006-09-01 2012-08-07 Advanced Telecommunications Research Institute International Radio apparatus
US7557739B1 (en) * 2006-10-17 2009-07-07 Marvell International Ltd. Four-to-six modulation encoder
JP2010514085A (ja) * 2006-12-20 2010-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 透かしを含む光ディスク、およびかかるディスクの記録作成を行う方法ならびにレコーダ
EP1988636A1 (en) * 2007-05-03 2008-11-05 Deutsche Thomson OHG Method and apparatus for channel coding and decoding
WO2009027913A1 (en) * 2007-08-31 2009-03-05 Koninklijke Philips Electronics N.V. An optical disc comprising a watermark and a method and recorder for recording such a disc
KR20090085257A (ko) * 2008-02-04 2009-08-07 삼성전자주식회사 Dsv 제어 방법, 이에 적합한 기록매체 및 장치
WO2009103723A1 (en) * 2008-02-22 2009-08-27 Thomson Licensing Method for channel encoding, method and apparatus for channel decoding
EP2093884A1 (en) * 2008-02-22 2009-08-26 Deutsche Thomson OHG Method for channel encoding, method and apparatus for channel decoding
JP4961386B2 (ja) * 2008-05-20 2012-06-27 株式会社日立製作所 光情報記録装置、光情報記録方法、光情報記録再生装置および光情報記録再生方法
JP5161176B2 (ja) 2008-09-26 2013-03-13 太陽誘電株式会社 可視光通信用送信機及び可視光通信システム
EP2169833A1 (en) 2008-09-30 2010-03-31 Thomson Licensing Finite-state machine RLL coding with limited repeated minimum transition runlengths
JP4997211B2 (ja) 2008-10-23 2012-08-08 株式会社日立製作所 光ディスク、光ディスク記録方法及び装置、光ディスク再生方法及び装置
JP2011086333A (ja) * 2009-10-14 2011-04-28 Sony Corp データ変調装置および方法、並びにプログラム、記録媒体
JP4919121B2 (ja) * 2010-02-08 2012-04-18 ソニー株式会社 変調装置、変調方法、および記録媒体
JP5583999B2 (ja) 2010-03-24 2014-09-03 太陽誘電株式会社 可視光通信用送信機及び可視光通信システム
JP5399975B2 (ja) 2010-05-14 2014-01-29 太陽誘電株式会社 可視光通信用受信機、可視光通信システム、及び可視光通信方法
JP5640033B2 (ja) * 2012-03-22 2014-12-10 日立コンシューマエレクトロニクス株式会社 光情報記録装置、光情報記録方法、光情報記録再生装置および光情報記録再生方法
GB201206564D0 (en) * 2012-04-13 2012-05-30 Intrasonics Sarl Event engine synchronisation
CN112838868B (zh) * 2020-12-30 2022-09-09 天津瑞发科半导体技术有限公司 一种9b/10b编解码方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US198710A (en) * 1877-12-25 Improvement in harrows
US3773975A (en) * 1971-12-17 1973-11-20 Burroughs Corp Fsk digital transmitter
US5333126A (en) * 1990-01-03 1994-07-26 Hitachi, Ltd. Information recording method and optical disk apparatus using same
US5477222A (en) * 1993-05-04 1995-12-19 U.S. Philips Corporation Device for encoding/decoding N-bit source words into corresponding M-bit channel words, and vice versa
JP2947081B2 (ja) * 1994-06-29 1999-09-13 日本ビクター株式会社 デジタル情報変調装置
DE4425713C1 (de) * 1994-07-20 1995-04-20 Inst Rundfunktechnik Gmbh Verfahren zur Vielträger Modulation und Demodulation von digital codierten Daten
AU693967B2 (en) * 1994-12-12 1998-07-09 Sony Corporation Data encoding method and data decoding method
KR100377524B1 (ko) * 1995-04-04 2003-07-23 마쯔시다덴기산교 가부시키가이샤 기록매체,기록방법과장치,및재생방법과장치
US6079041A (en) * 1995-08-04 2000-06-20 Sanyo Electric Co., Ltd. Digital modulation circuit and digital demodulation circuit
JP3339539B2 (ja) * 1995-12-13 2002-10-28 松下電器産業株式会社 デジタル変調装置、その方法及び記録媒体
DE19607428C2 (de) * 1996-02-28 1999-01-28 Daimler Benz Ag Innenraumverkleidungsteil aus Kunststoff
EP0886275B1 (en) * 1996-10-11 2004-03-31 SANYO ELECTRIC Co., Ltd. Digital recording method
JPH10334616A (ja) * 1997-05-30 1998-12-18 Sony Corp 光ディスク装置およびデータ記録方法
US5978419A (en) * 1997-06-24 1999-11-02 Sun Microsystems, Inc. Transmitter and receiver circuits for high-speed parallel digital data transmission link
JP3760961B2 (ja) * 1997-09-11 2006-03-29 ソニー株式会社 変調装置および変調方法、復調装置および復調方法、並びに記録媒体
JP3716421B2 (ja) * 1997-09-19 2005-11-16 ソニー株式会社 復調装置および復調方法
JP3722331B2 (ja) * 1997-12-12 2005-11-30 ソニー株式会社 変調装置および方法、並びに記録媒体
BR9807593A (pt) 1997-12-22 2000-02-22 Koninkl Philips Electronics Nv Dispositivos e processos para codificar um fluxo de bits de dados de um sinal fonte binário em um fluxo de bits de dados de um sinal de canal binário e para decodificar um fluxo de bits de dados de um sinal de canal binário em um fluxo de bits de dados de um sinal fonte binário, e, dispositivo e suporte de gravação
JP3985173B2 (ja) * 1998-05-29 2007-10-03 ソニー株式会社 変調装置および方法、復調装置および方法、並びにデータ格納媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100407495B1 (ko) * 2000-06-22 2003-12-01 엘지전자 주식회사 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치
KR100700809B1 (ko) * 2005-02-07 2007-03-27 엘지전자 주식회사 광기록매체의 데이터 변/복조 방법
KR100972008B1 (ko) * 2008-07-16 2010-07-23 한국전력공사 이중전원 계통방식에서 절환시간을 최소화한 고속도 전원선택 차단기

Also Published As

Publication number Publication date
JP3985173B2 (ja) 2007-10-03
SI20174A (sl) 2000-08-31
DE69942194D1 (de) 2010-05-12
CZ303005B6 (cs) 2012-02-22
HRP20000050A2 (en) 2000-08-31
US20060132342A1 (en) 2006-06-22
CN1543076A (zh) 2004-11-03
TR200000248T1 (tr) 2000-10-23
SI20174B (sl) 2010-07-30
EG22694A (en) 2003-06-30
CN1183681C (zh) 2005-01-05
MY131577A (en) 2007-08-30
AU3725899A (en) 1999-12-20
NO20000392L (no) 2000-03-28
NO20000392D0 (no) 2000-01-26
ME01711B (me) 2004-07-15
ES2341927T3 (es) 2010-06-29
UA49081C2 (uk) 2002-09-16
HUP0003579A2 (hu) 2001-02-28
IL134229A (en) 2003-12-10
PL338300A1 (en) 2000-10-23
US20030142757A1 (en) 2003-07-31
HK1029458A1 (en) 2001-03-30
LT2000008A (en) 2000-09-25
BG104111A (en) 2000-08-31
US20040120408A1 (en) 2004-06-24
AU758251B2 (en) 2003-03-20
CA2298685A1 (en) 1999-12-09
CZ2000308A3 (cs) 2000-11-15
US7158060B2 (en) 2007-01-02
JPH11346154A (ja) 1999-12-14
SK1162000A3 (en) 2000-10-09
RO121883B1 (ro) 2008-06-30
EP1000467B1 (en) 2010-03-31
HRP20000050B1 (en) 2011-03-31
US6677866B2 (en) 2004-01-13
NZ502506A (en) 2002-04-26
TW498313B (en) 2002-08-11
PT1000467E (pt) 2010-06-17
US7466246B2 (en) 2008-12-16
HUP0003579A3 (en) 2003-01-28
HU229922B1 (en) 2015-01-28
CN1274484A (zh) 2000-11-22
AR019600A1 (es) 2002-02-27
BG64243B1 (bg) 2004-06-30
EE05501B1 (et) 2011-12-15
CA2298685C (en) 2009-12-22
NO332391B1 (no) 2012-09-10
CA2680404A1 (en) 1999-12-09
CN100557981C (zh) 2009-11-04
KR100753966B1 (ko) 2007-08-31
LT4754B (lt) 2001-01-25
WO1999063671A1 (en) 1999-12-09
EP1000467A1 (en) 2000-05-17
US6496541B1 (en) 2002-12-17
ID24969A (id) 2000-08-31
EE200000051A (et) 2000-10-16
EA002209B1 (ru) 2002-02-28
SK288035B6 (en) 2013-01-02
YU4100A (sh) 2001-07-10
ZA200000371B (en) 2001-03-02
YU49188B (sh) 2004-07-15
CY1110892T1 (el) 2015-06-10
ATE463082T1 (de) 2010-04-15
US20070063881A1 (en) 2007-03-22
LV12526A (en) 2000-08-20
EA200000175A1 (ru) 2001-02-26
IL134229A0 (en) 2001-04-30
LV12526B (en) 2000-10-20
DK1000467T3 (da) 2010-07-26
CA2680404C (en) 2013-11-19
US7098819B2 (en) 2006-08-29

Similar Documents

Publication Publication Date Title
KR100753966B1 (ko) 연속 최소 런 길이 제한이 있는 변조/복조 장치 및 방법
JP2000068846A (ja) 変調装置および方法、復調装置および方法、並びに提供媒体
JP3760961B2 (ja) 変調装置および変調方法、復調装置および復調方法、並びに記録媒体
KR100424482B1 (ko) 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치
JP3722331B2 (ja) 変調装置および方法、並びに記録媒体
KR100954986B1 (ko) 변조 장치 및 방법
JP4032329B2 (ja) 変調装置および方法、並びに記録媒体
JP3717024B2 (ja) 復調装置および方法
JP4479855B2 (ja) 変調装置、変調方法、記録媒体
JP4366662B2 (ja) 変調装置、変調方法、記録媒体
JP4479854B2 (ja) 変調装置、変調方法、記録媒体
JP4919121B2 (ja) 変調装置、変調方法、および記録媒体
KR100752880B1 (ko) 정보를 코딩/디코딩하는 방법 및 장치
KR100817936B1 (ko) 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치
KR100407496B1 (ko) 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치
JP2000068849A (ja) 変調装置および方法、復調装置および方法、並びに提供媒体
MXPA00000982A (en) Apparatus and method for modulation/demodulation with consecutive minimum runlength limitation

Legal Events

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

Payment date: 20120823

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130814

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150811

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160819

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170814

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180814

Year of fee payment: 12

EXPY Expiration of term