KR20040068167A - 데이터 스트림을 코딩하는 방법 - Google Patents

데이터 스트림을 코딩하는 방법 Download PDF

Info

Publication number
KR20040068167A
KR20040068167A KR10-2004-7008033A KR20047008033A KR20040068167A KR 20040068167 A KR20040068167 A KR 20040068167A KR 20047008033 A KR20047008033 A KR 20047008033A KR 20040068167 A KR20040068167 A KR 20040068167A
Authority
KR
South Korea
Prior art keywords
data stream
value
dsv
coding
coded data
Prior art date
Application number
KR10-2004-7008033A
Other languages
English (en)
Other versions
KR100908763B1 (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 KR20040068167A publication Critical patent/KR20040068167A/ko
Application granted granted Critical
Publication of KR100908763B1 publication Critical patent/KR100908763B1/ko

Links

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
    • 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
    • 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/16Digital recording or reproducing using non self-clocking codes, i.e. the clock signals are either recorded in a separate clocking track or in a combination of several information tracks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes

Landscapes

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

Abstract

본 발명은, 데이터 스트림(DS : data stream)을 코딩(coding)하는 방법으로서, 코딩된 데이터 스트림(CS)의 디지털 합 값(DSV : digital sum value)이 제로(0)에 근접하며 2개의 대안적인 코드 워드(alternative code word)(CWa, CWb)가 가능한 데이터 값(Bytes) 중 적어도 일부를 코딩하는데 사용될 수 있는, 데이터 스트림(DS)을 코딩하는 방법에 관한 것이다. 본 발명의 목적은, 디지털 합 값(DSV)이 제로(0)에 근접하도록 보장하는 동시에 데이터 스트림(CS)을 간단히 코딩할 수 있는 데이터 스트림(DS)을 코딩하는 방법을 제안하는 것이다. 본 발명에 따라, 본 목적은, 코딩된 데이터 스트림(CS)의 디지털 합 값(DSV)을 결정하는 단계와, 이 디지털 합 값을 코딩된 데이터 스트림(CS)의 극성(polarity)(Pol)에 따라 제 1 또는 제 2 경계값(BV)과 비교하는 단계와, 상기 비교 결과에 따라 각 경계값(BV : boundary value)에 속하는 제 1 또는 제 2 코드 워드(CWa, CWb)에 의해 수신된 데이터 값(Byte)을 코딩하는 단계를 포함하는 방법에 의해 달성된다.

Description

데이터 스트림을 코딩하는 방법{METHOD FOR CODING A DATA STREAM}
이러한 방법은, 예를 들어, 광 저장 매체에 저장되어야 하는 데이터 스트림을 코딩하는데 사용된다. 이러한 방법이 사용되는 알려진 광 저장 매체는, 예를 들어, 비디오, 음악 또는 컴퓨터 데이터, 또는 특히 음악 아이템에 사용되며 알려져 있는 콤팩트 디스크(CD)의 더 나은 발달을 나타내는 슈퍼 오디오 CD(SACD : Super-Audio CD)에 사용되는 특히 디지털 다용도 디스크(DVD : digital versatile disk)이다.
DVD 및 SACD 모두에 대해 또한 다른 광 저장 매체에 대해, CD로부터 알려져 있는 8/14 채널 변조 구조(channel modulation scheme)(8 : 14 변조, EFM)의 변형을 나타내는 채널 변조 구조는 데이터 스트림을 코딩하는데 사용된다. 변형된 채널 변조 구조는 EFM+로 알려져 있으며, 8 비트 데이터 값(data value)을 직접 16 비트 코드 워드(code word)로 변환한다. 데이터 스트림을 코딩하기 위해, 16 비트 코드워드가 EFM+ 변환 테이블(conversion table)로부터 선택된다. 8 비트 데이터 값은 256개의 다른 값을 취할 수 있다. 더우기, 4개의 가능한 런랭스 상태(run length state)가 있다. 런랭스는 2개의 논리 일(1) 사이에 연속하는 논리 제로(0)의 수로 이해된다. 데이터 값과 런랭스 상태의 각 조합을 위해 변환 테이블은 16 비트 EFM+ 코드 워드와 코딩될 그 다음 데이터 값에 대한 런랭스 상태를 포함한다.
코딩된 데이터 스트림에는 규칙적인 간격으로 코딩된 데이터 스트림을 디코딩하는 동안 타이밍을 위해 사용되는 32비트 동기화 코드 워드(synchronization code word)(SYNC 코드)가 제공된다. 동기화 코드 워드에는 8개의 다른 카테고리가 있으며, 각 카테고리에서 제 1 및 제 2 동기화 코드 워드로부터 선택되는 것도 가능하다. 하나의 SYNC 코드로부터 그 다음 SYNC 코드로 코딩된 데이터 스트림은 동기화 프레임(frame) 또는 SYNC 프레임이라고 불리운다.
광 저장 매체를 판독출력하는 동안 데이터 신호를 신뢰성 있게 추적하며 신뢰성 있게 검출하는 것을 보장하기 위해, 코딩된 데이터 스트림에서 저주파수 성분을 억압하는 것이 중요하다. 이를 위해, 코딩된 데이터 스트림의 디지털 합 값(DSV : digital sum value)의 절대값, 즉 논리 일(1)의 수에서 논리 제로(0)의 수를 뺀 것의 절대 값은 최소로 되며 다시 말해 제로(0)에 근접하게 유지된다. 이것은, 메인 테이블(main table)과는 별도로, 데이터 값과 런랭스 상태의 조합 중 적어도 일부에 대해 대안적인 코드 워드(alternative code word)를 제공하는 대체 테이블(substitute table)을 포함하는 EFM+ 변환 테이블에 의해 가능하게 이루어진다. 2채널 비트 최소값과 10채널 비트 최대값의 런랭스 제한사항(run lengthlimitation){RLL(2, 10)}을 고려하면, 351개의 코드 워드가 런랭스 코딩(run length coding)에 기본적으로 이용가능하다. 역사적 이유로 인해, 이들 코드 워드 중 7개는 사용되지 않으며, 나머지 344개의 코드 워드가 이용가능하게 남아 있다. 이들 중에서, 대체 테이블에 88개가 사용될 수 있도록 메인 테이블에는 256개가 요구된다. 이 대체 테이블은 88개의 최저 데이터 값을 코딩하는데 사용된다. 이들 88개의 데이터 값을 코딩하기 위해, 이들 코드 워드 중 어느 것이 디지털 합 값(digital sum value)의 절대 값이 더 낮게 되는 코드 워드인가에 따라 메인 테이블로부터 오는 코드 워드 또는 대체 테이블로부터 오는 코드 워드가 사용될 수 있다.
코딩될 데이터 값이 88 내지 255의 범위 내에 있는 경우, 그리고 현재의 런랭스 상태가 1 또는 4인 경우에, 런랭스 상태(1 또는 4)에 속하는 코드 워드는 각 경우에 코딩을 위해 선택적으로 사용될 수 있다. 따라서, 디지털 합 값은 이 범위의 데이터 값 내에서 영향을 받을 수도 있다. 그러나, 이 런랭스 제한사항이 적용된다는 사실에 주의하여야 한다. 디지털 합 값의 절대 값을 증가시키면서도 이 런랭스 제한사항을 적용될 수 있는 코딩을 위한 코드 워드를 선택하는 것이 필요할 수 있다. 런랭스 상태(2 또는 3)에 있는 88 내지 255 사이의 범위에 있는 데이터 값에 대해, 각 경우에 코딩을 위해 단 하나의 코드 워드만이 이용가능하다.
요약하면, 디지털 합 값의 절대 값을 최소화하기 위한 다음의 가능성, 즉
A) 제 1 및 제 2 SYNC 코드 사이에 SYNC 코드를 선택하는 경우와,
B) 모든 런랭스 상태에 대해 0 내지 87 사이의 범위에 있는 데이터 값에 대해 메인 테이블로부터 또는 대체 테이블로부터 코드 워드를 선택하는 경우와,
C) 현재의 런랭스 상태가 1 또는 4 라면, 88 내지 255 사이의 범위에 있는 데이터 값에 대해 런랭스 상태(1 또는 4)에 대해 코드 워드로부터 코드 워드를 선택하는 경우
가 있다.
EFM+ 채널 변조 구조에 기초하여 데이터 스트림을 코딩하는 알려진 방법은 2개의 코딩된 데이터 스트림을 생성하는 것이다. 제 1 데이터 스트림은 제 1 SYNC 코드로 시작하며 제 2 데이터 스트림은 동일한 카테고리의 제 2 SYNC 코드로 시작한다. 2개의 데이터 스트림은 다른 디지털 합 값을 가지는데, 그 이유는 제 1 SYNC 코드의 비트 시퀀스(bit sequence)와 제 2 SYNC 코드의 비트 시퀀스가 서로 다르기 때문이다.
전술된 경우 B) 및 C)에서, 각 경우에 데이터 값을 코딩하는데 2개의 가능성이 존재한다. 이 이유로 인해, 2개의 가능한 코드 워드로부터 선택할 필요가 있는 점까지 두 코딩된 데이터 스트림에 대해 먼저 디지털 합 값이 계산된다. 이때 디지털 합 값의 절대 값이 더 낮은 데이터 스트림이 선택되어 제 2 데이터 스트림 내로 복사(copied)되는데, 즉 이것은 제 2 데이터 스트림 또는 제 2 데이터 스트림의 현재 SYNC 프레임을 각각 대체한다. 이후, 제 1 가능한 코드 워드가 제 1 데이터 스트림에 첨부되며 제 2 가능한 코드 워드는 제 2 데이터 스트림에 첨부되며 그리고 코딩이 계속된다. 이것은, 경우 B) 또는 C)가 일어날 때마다 반복된다.
경우 B)는 항상 두 코딩된 데이터 스트림의 동일한 지점에서 일어나는 반면,경우 C) 는 코딩된 데이터 스트림 중 어느 하나에만 일어날 수도 있다. 이 경우, 3개의 단계로 이루어진 절차, 즉
1. 두 데이터 스트림의 디지털 합 값의 절대 값을 비교하는 단계와,
2. 경우 C)가 일어나는 코딩된 데이터 스트림의 디지털 합 값의 절대 값이 다른 코딩된 데이터 스트림의 절대 값보다 더 작은 경우, 영향을 받은 코딩된 데이터 스트림이 선택되고 다른 코딩된 데이터 스트림 내에 복사되며, 2개의 코딩된 데이터 스트림의 각각에는 2개의 가능한 코드 워드 중 하나가 첨부되는 단계와,
3. 경우 C)가 일어나는 코딩된 데이터 스트림의 디지털 합 값의 절대 값이 다른 코딩된 데이터 스트림의 절대 값보다 더 큰 경우, 경우 C)의 발생은 무시되며 현재의 런랭스 상태에 속하는 코드 워드가 두 코딩된 데이터 스트림을 코딩하는데 사용되는 단계
로 이루어진 절차가 수행되어야 한다.
경우 A)에 대해, 본 방법은 2개의 코딩된 데이터 스트림의 디지털 합 값을 각 SYNC 프레임의 마지막에 서로 비교하는 단계를 제공한다. 그 절대 값이 더 낮은 디지털 합 값을 가지는 코딩된 데이터 스트림이 선택되고 다른 데이터 스트림 내로 복사된다. 이후, 제 1 및 제 2 SYNC 코드 사이의 선택이 그 다음 SYNC 프레임에서 계속된다.
이 알려진 방법은, 데이터 스트림의 코딩 동안, 2개의 코딩된 데이터 스트림이 영구히 생성되어야 하며, 그 디지털 합 값이 반복적으로 계산되어야 하는 단점을 가진다. 이것은 코딩을 하는데 상당한 복잡성을 유발하며, 이와 연관하여 높은코스트를 유발한다.
본 발명은, 데이터 스트림을 코딩하는 방법으로서 코딩된 데이터 스트림의 디지털 합 값이 제로(0)에 근접하며 2개의 대안적인 코드 워드가 가능한 데이터 값 중 적어도 일부를 코딩하는데 사용될 수 있는, 데이터 스트림을 코딩하는 방법, 및 데이터 스트림을 코딩하는 방법을 사용하는 디바이스에 관한 것이다.
도 1 은 종래 기술에 따른 데이터 스트림을 코딩하는 방법을 도시하는 도면.
도 2 는 데이터 스트림을 코딩하기 위한 본 발명에 따른 방법을 도시하는 도면.
그러므로, 본 발명의 목적은 상기 단점을 회피하며 디지털 합 값(digital sum value)을 제로(0)에 근접하도록 보장하는 동시에 데이터 스트림을 간단히 코딩할 수 있는 데이터 스트림을 코딩하는 방법을 제안하는 것이다.
본 발명에 따라, 본 목적은 다음의 단계, 즉
- 코딩될 데이터 스트림의 데이터 값을 수신하는 단계와,
- 이미 코딩된 데이터 스트림의 극성(polarity)을 결정하는 단계와,
- 이미 코딩된 데이터 스트림의 디지털 합 값을 결정하는 단계와,
- 상기 디지털 합 값을 이미 코딩된 데이터 스트림의 극성에 따라 제 1 또는 제 2 경계값(boundary value)과 비교하는 단계와,
- 상기 비교 결과에 따라, 각 경계값에 속하는, 제 1 또는 제 2 코드 워드에 의해 코딩될 데이터 값을 코딩하는 단계와,
- 상기 코딩된 데이터 값을 이미 코딩된 데이터 스트림에 첨부하는 단계
를 구비하는 방법에 의해 달성된다.
본 방법은, 그 디지털 합 값과 그 극성이 결정된 단 하나의 코딩된 데이터 스트림이 생성될 필요가 있는 잇점을 제공한다. 이 극성(polarity)은, 코딩된 데이터 스트림의 마지막 채널 비트가 논리 제로(0)인지 또는 논리 일(1)인지를 의미한다. 코딩을 하는데 사용될 코드 워드는 이후 이 극성에 따라 디지털 합 값을 경계값(boundary value)과 비교한 것에 기초하여서만 선택된다.
디지털 합 값이 이 경계값보다 큰지 또는 작은지에 따라, 제 1 또는 제 2 가능한 코드 워드가 코딩을 하는데 사용된다. 이것은 코딩을 하는데 필요한 코딩 복잡도를 상당히 줄인다.
제 1 및 제 2 경계값은 유리하게도 각 경우에 코딩될 데이터 값에 특정되어 있다. 이것은 이 경계 값을 각 데이터 값에 최적으로 적응할 수 있게 하여 디지털 합 값의 절대 값을 최소화할 수 있게 보장한다.
본 발명에 따라, 코딩된 데이터 스트림에는, 다음의 단계, 즉
- 이미 코딩된 데이터 스트림의 극성을 결정하는 단계와,
- 이미 코딩된 데이터 스트림의 디지털 합 값을 결정하는 단계와,
- 상기 디지털 합 값을 이미 코딩된 데이터 스트림의 극성에 따라 제 1 또는 제 2 경계값과 비교하는 단계와,
- 상기 비교 결과에 따라 각 경계값에 속하는 제 1 또는 제 2 동기화 코드 워드를 선택하는 단계와,
- 상기 동기화 코드 워드를 이미 코딩된 데이터 스트림에 첨부하는 단계
에 의해 결정된 동기화 코드 워드가 규칙적인 간격으로 제공된다.
본 방법은, 2개의 코딩된 데이터 스트림을 생성할 필요가 없이 그리고 서로 디지털 합 값을 비교할 필요 없이 각 경우에 하나의 카테고리의 2개의 가능한 동기화 코드 워드 중 하나가 코딩된 데이터 스트림에 제공될 수 있게 한다. 이 동기화 코드 워드는 코딩된 데이터 스트림을 디코딩하는 동안, 단순히 타이밍을 위해 제공한다.
경계값, 코드 워드, 및 동기화 코드 워드는 테이블에 저장되는 것이 바람직하다. 이것은, 요구되는 경계값, 코드 워드, 및 동기화 코드 워드를 신속하고 간단한 방법으로 결정할 수 있게 해준다. 경계값, 코드 워드 및 동기화 코드 워드는 각 경우에 별도의 테이블에 또는 공동 테이블에서 저장될 수 있다.
본 발명에 따라, 각 경우에 코드 워드와 동기화 코드 워드에 의해 유발된 디지털 합 값의 부호있는 변화 값(signed change value)은 또한 하나 이상의 테이블에 저장된다. 연관된 경계값과 동일한 테이블에 변화값을 저장하는 것이 적절하지만, 그 변화값은 코드 워드를 갖는 테이블에, 별도의 테이블에 또는 공동의 테이블에 또한 위치될 수 있다. 이 변화 값은 양(positive), 음(negative), 또는 또한 제로(0)일 수 있으며, 각 코드 워드가 이미 코딩된 데이터 스트림에 첨부되는 경우 디지털 합 값이 변화되는 값을 명시한다. 변화값의 부호(sign)도 또한 이 테이블에 명시된다. 변화 값이 그 부호와 함께 이용가능하다는 사실로 인해, 코딩된 데이터 값이 첨부된 후에는 디지털 합 값을 계산하기 위해 이미 결정된 디지털 합 값에 그 연관된 변화값을 더하는 것만으로도 충분하다. 이것은 디지털 합 값을 용이하게 계산할 수 있게 한다.
유리하게도, 경계값에 속하는 코드 워드 중 하나는 다른 코드 워드보다 더 작은 변화값을 가진다. 이것은, 예를 들어, -4의 변화값이 +2의 변화값보다 더 작도록 변화값의 부호를 고려하여야 한다. 따라서, 고려되는 것은 변화값의 절대 값이 아니다. 일반적으로, 하나의 코드 워드는 음의 변화값을 공급하며, 다른 코드 워드는 양의 변화값을 공급할 것이다. 이것은, 디지털 합 값의 절대 값이 모든 경우에 감소될 수 있도록 디지털 합 값이 감소되고 증가될 수 있는 것을 보장한다. 개개의 경우에, 2개의 코드 워드는 양의 변화값이나 음의 변화값을 각각 가지며, 적어도 변화값의 절대값은 서로 다르다. 이러한 경우에, 디지털 합 값의 절대 값을 줄이는 것은 가능하지 않을 수 있지만, 그 증가는 감소될 수 있다.
본 발명에 따라, 디지털 합 값은, 디지털 합 값의 절대 값이 임계값보다 더 작거나 이와 동일한 경우, 제 1 또는 제 2 경계값과만 비교된다. 이 방식으로, 이 경계값과의 비교는, 그 비교가 조금이라도 적절한 디지털 합 값에 대한 값의 범위로 제한될 수 있다. 특히, 이것은, 디지털 합 값이 제로(0)에 근접하는 경우에 그러하다. 이것은 코딩의 복잡도를 더 감소시킨다. DVD에 저장하기 위해 데이터 스트림을 코딩하는 경우에, 적절한 임계값은 예를 들어 10이다.
본 발명에 따라, 코딩된 데이터 스트림의 디지털 합 값이 임계값보다 더 큰 경우에는 데이터 값을 코딩하는데 더 작은 변화값을 갖는 코드 워드가 사용되며, 코딩된 데이터 스트림의 디지털 합 값이 음의 임계값보다 더 작은 경우에는 더 큰 변화값을 갖는 코드 워드가 사용된다. 이것은, 디지털 합 값의 절대 값이 항상 코딩된 데이터 값을 첨부함으로써 최대 크기로 감소되거나 또는 이미 코딩된 데이터 스트림의 디지털 합 값의 절대 값이 임계값보다 더 클 때에는 최소 크기로 증가되는 것을 보장한다.
코딩된 데이터 스트림은 다수의 가능한 상태 중 어느 하나로 항상 존재하는 것이 유리하며, 각 상태는 첨부된 마지막 코드 워드에 의해 결정되며 첨부되는 다른 코드 워드에 의해 재결정된다. 이 상태는 코딩된 데이터 스트림의 현재 런랭스에 의해 결정된다. 그러나, 또한 코딩된 데이터 스트림의 다른 파라미터에 의해 명시된 상태를 생각한 것도 가능하다. 다수의 상태를 사용하면 디지털 합 값의 절대 값을 최소화하는 것과는 별도로, 동시에 런랭스 제한사항이 데이터 스트림의 코딩에 적용되는 것을 보장할 수 있다.
특정 제 1 및 제 2 경계값과 그 연관된 제 1 및 제 2 코드 워드는 각 경우에 가능한 데이터 값과 상태의 조합 중 적어도 일부에 대해 유리하게 제공된다. 가능한 코드 워드 중 제한된 수만이 가능한 데이터 값을 코딩하는데 이용가능하기 때문에, 모든 데이터 값과 모든 상태에 2개의 대안적인 코드 워드를 제공하는 것은 가능하지 않을 수 있다. 그러나, 대안적인 코드 워드가 데이터 값과 상태의 조합 중 적어도 일부에 제공되는 경우, 코딩된 데이터 스트림의 디지털 합 값의 절대 값을 최소화하는 것과 런랭스 제한사항이 적용되는 것을 보장하는 것은 여전히 가능하다.
본 발명에 따라, 코딩된 데이터 스트림의 런랭스에 대한 가능한 코드 워드의 영향에 관한 정보는 데이터 값의 적어도 일부를 위한 테이블 중 어느 하나에 저장되며, 그리고 본 발명에 따른 방법에 의해 결정된 코드 워드를 갖는 데이터 값을 코딩하는 것이 런랭스 제한사항을 어기게 하는지 여부가 저장된 정보에 의해 체크되며, 만일 그 어기게 되는 경우에 해당하는 경우라면 대안적인 코드 워드가 코딩하는데 사용된다.
유리하게도, 데이터 스트림을 코딩하기 위한 본 발명에 따른 방법은 광 기록 매체로부터 판독 및/또는 이 매체에 기록하는 디바이스에 의해 사용된다. 이것은광 기록 매체에 기록하는데 필요한 데이터 스트림을 코딩하는 것이 거의 코딩을 복잡하게 하지 않고 구현될 수 있다는 잇점을 제공한다.
자연적으로, 유리한 특징의 조합은 또한 본 발명의 유효 범위 내에 있다.
이하의 상세한 설명에서, 본 발명은 더 나은 이해를 제공하기 위해 도 1 및 도 2를 참조하여 설명된다. 여기서 동일한 참조 부호는 동일한 요소를 나타낸다.
도 1 은 종래 기술에 따른 데이터 스트림(DS)을 코딩하는 방법을 개략적으로 도시한다. 앞서 이미 언급된 바와 같이, 제 1 및 제 2 SYNC 코드가 선택된 후에, 2개의 코딩된 데이터 스트림이 생성된다. 2개의 코딩된 데이터 스트림이 동일한 방식으로 생성되며 디지털 합 값의 절대 값이 더 낮은 코딩된 데이터 스트림이 SYNC 프레임의 종료 후에 다만 선택되기 때문에, 그 설명(representation)은 SYNC 코드의 완전한 선택 후에 하나의 코딩된 데이터 스트림(CS)을 생성하는 것에 제한된다.
데이터 값(Byte)은 코딩될 데이터 스트림(DS)으로부터 수신된다. 만일 데이터 값(Byte)이 0 내지 87 사이의 범위에 있는 경우, 메인 테이블(Main)과 대체 테이블(Subs)로부터의 코드 워드(CW_M, CW_S)가 코딩에 이용가능하다. 이들 코드 워드(CW_M, CW_S)를 사용하면, 2개의 코딩된 데이터 스트림(CS_M, CS_S)이 생성되며,메인 테이블(Main)로부터의 코드 워드(CW_M)는 코딩을 위해 제 1 데이터 스트림(CS_M)에 사용되며, 대체 테이블(Subs)로부터의 코드 워드(CW_S)는 코딩을 위해 제 2 데이터 스트림(CS_S)에 사용된다. 이후, 2개의 코딩된 데이터 스트림(CS_M, CS_S)의 디지털 합 값(DSV)의 절대 값()이 계산되고 비교된다. 디지털 합 값(DSV)의 절대 값()이 더 낮은 코드 워드(CW_M, CW_S)가 최종적으로 코딩을 하는데 사용된다. 이것은, 디지털 합 값(DSV)의 절대 값()이 더 낮은 코딩된 데이터 스트림(CS_M, CS_S)이 다른 데이터 스트림(CS_M, CS_S) 내에 복사되어 2개의 동일한 코딩된 데이터 스트림(CS)을 제공하는 방식으로 수행된다.
코딩될 데이터 값(Byte)이 87보다 더 큰 경우, 메인 테이블(Main)로부터의 값(CW1, CW2, CW3, CW4)만이 코딩에 이용가능하다. 이 경우에, 이미 코딩된 데이터 스트림(CS)의 런랭스 상태(State)가 코딩을 위해 고려되어야 한다. 만일 런랭스 상태(State)가 2 또는 3이라면, 그 데이터 값(Byte)에 속하며 그 런랭스 상태(State)에 속하는 정확히 하나의 코드 워드(CW2, CW3)가 각 경우에 코딩을 위해 이용가능하다. 이 코드 워드(CW2, CW3)를 사용하여, 데이터 값(Byte)이 코딩되며 이미 코딩된 데이터 스트림(CS)에 첨부된다. 만일 이와 대조적으로 코딩된 데이터 스트림(CS)이 런랭스 상태(State)(1 또는 4)에 있는 경우, 그 데이터 값(Byte)과 그 런랭스 상태(State)(1 또는 4)에 속하는 코드 워드(CW1, CW4)는 각 경우에 코딩을 위해 사용될 수 있다. 그리하여 2개의 코딩된 데이터 스트림(CS1, CS4)이 생성되고, 런랭스 상태(State)(1)에 할당된 코드 워드(CW1)는 제 1 코딩된 데이터 스트림(CS1)에 사용되며, 런랭스 상태(State)(4)에 할당된 코드 워드(CW4)는 제 2 코딩된 데이터 스트림(CS4)에 사용된다. 이후, 디지털 합 값(DSV)의 절대 값()이 2개의 데이터 스트림(CS1, CS4)에 대해 계산되고 서로 비교된다. 마지막으로, 디지털 합 값(DSV)의 더 낮은 절대 값()을 공급하는 코드 워드(CW1, CW4)가 코딩에 사용된다. 이 경우에, 또한 이것은, 디지털 합 값(DSV)의 절대값()이 더 낮은 코딩된 데이터 스트림(CS1, CS4)이 다른 데이터 스트림(CS1, CS4) 내에 복사되어, 2개의 동일한 코딩된 데이터 스트림(CS)을 제공하는 방식으로 수행된다.
도 2 는 데이터 스트림(DS)을 코딩하기 위한 본 발명에 따른 방법의 예시적인 실시예를 도시한다. 일단 데이터 값(Byte)이 코딩될 데이터 스트림(DS)으로부터 수신되면, 이미 코딩된 데이터 스트림(CS)의 극성(Pol)이 결정된다. 코딩된 데이터 스트림(CS)의 마지막 비트가 논리 제로(0)라면, 극성(Pol)은 -1이 되며, 만일 마지막 비트가 논리 일(1)이라면, 극성(Pol)은 1이 된다. 결정된 극성(Pol)에 따라, 제 1 테이블(Tab1) 또는 제 2 테이블(Tab2)이 코딩에 사용된다. 예시적인 실시예에서, 3개의 값(Da_DSV, Db_DSV, BV)이 코딩을 위해 2개의 코드 워드(CWa, CWb) 사이에 선택할 수 있는, 데이터 값(Byte)과 런랭스 상태(State)의 모든 조합에 특정된다. 제 1 값(Da_DSV)은 코딩을 위해 제 1 코드 워드(CWa)를 사용할 때 디지털 합 값(DSV)의 변화값을 기술하며, 제 2 값(Db_DSV)은 코딩을 하는데 제 2 코드 워드(CWb)를 사용할 때 디지털 합 값(DSV)의 변화값을 기술하며, 제 3 값(BV)은 코드 워드(CWa, CWb) 중 어느 것이 코딩에 사용되어야 할 지를 결정하기 위하여 코딩된 데이터 스트림(CS)의 현재 디지털 합 값(DSV)과 비교되는 경계값(boundary value)을 나타낸다. 제 1 및 제 2 값(Da_DSV, Db_DSV)에는 부호가 있다. 먼저, 디지털 합 값(DSV)이 임계값(TH)과 비교된다. 만일 디지털 합 값(DSV)이 음의 임계값(-TH)보다 더 작은 경우, 더 큰 변화값(Da_DSV, Db_DSV)을 가지는 코드 워드(CWa, CWb)가 코딩에 사용된다. 만일 디지털 합 값(DSV)이 임계값(TH)보다 더 큰 경우에는, 더 작은 변화값(Da_DSV, Db_DSV)을 가지는 코드 워드(CWa, CWb)가 코딩에 사용된다. 만일 디지털 합 값(DSV)이 음의 임계값(-TH)과 임계값(TH) 사이에 있는 경우, 디지털 합 값(DSV)은 경계값(BV)과 비교된다. 디지털 합 값(DSV)이 경계값(BV)보다 더 작은 경우, 제 1 코드 워드(CWa)가 코딩에 사용된다. 만일 디지털 합 값(DSV)이 경계값(BV)보다 더 크다면, 제 2 코드 워드(CWb)가 코딩에 사용된다. 마지막으로, 이 방식으로 명확하게 결정된 코드 워드(CWa, CWb)는 메인 테이블(Main) 또는 대체 테이블(Subs)로부터 판독 출력되며 이미 코딩된 데이터 스트림(CS)에 첨부된다. 도 2 는 데이터 값(Byte)과 상태(State)의 특정 조합에 하나의 가능한 코드 워드만이 이용가능한 경우를 보여주지 않는다. 원칙적으로, 극성(Pol)을 결정하는 단계와, 임계값(TH) 또는 이 경우에 경계값(BV)과 디지털 합 값(DSV)을 각각 비교하는 단계를 생략하는 것도 가능하다.
SYNC 코드는 동일한 방식으로 하나의 카테고리의 제 1 및 제 2 SYNC 코드로부터 선택되고 그리하여 여기에서 더 상세하게 설명되지 않는다.
전술한 바와 같이, 본 발명은 데이터 스트림을 코딩하는 방법 및 광 기록 매체로부터 판독 및/또는 이 매체에 기록하기 위한 디바이스에 이용가능하다.

Claims (12)

  1. 데이터 스트림(DS : data stream)을 코딩(coding)하는 방법으로서, 코딩된 데이터 스트림(CS)의 디지털 합 값(DSV : digital sum value)이 제로(0)에 근접하며, 2개의 대안적인 코드 워드(alternative code word)(CWa, CWb)가 가능한 데이터 값(Bytes) 중 적어도 일부를 코딩하는데 사용될 수 있는, 데이터 스트림(DS)을 코딩하는 방법에 있어서,
    - 상기 데이터 스트림(DS)의 데이터 값(Byte)을 수신하는 단계와,
    - 상기 코딩된 데이터 스트림(CS)의 극성(polarity)(Pol)을 결정하는 단계와,
    - 상기 코딩된 데이터 스트림(CS)의 디지털 합 값(DSV)을 결정하는 단계와,
    - 상기 디지털 합 값(DSV)을 상기 코딩된 데이터 스트림(CS)의 극성(Pol)에 따라 제 1 또는 제 2 경계값(BV : boundary value)과 비교하는 단계와,
    - 상기 비교 결과에 따라, 각 경계값(BV)에 속하는 제 1 또는 제 2 코드 워드(CWa, CWb)에 의해 상기 수신된 데이터 값(Byte)을 코딩하는 단계와,
    - 상기 코딩된 데이터 값(CWa, CWb)을 상기 코딩된 데이터 스트림(CS)에 첨부하는 단계
    를 포함하는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  2. 제 1 항에 있어서, 상기 제 1 및 제 2 경계값(BV)과 각각 연관된 제 1 및 제2 코드 워드(CWa, CWb)는 코딩될 데이터 값에 특정되어 있는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 코딩된 데이터 스트림(CS)에는,
    - 상기 코딩된 데이터 스트림(CS)의 극성(Pol)을 결정하는 단계와,
    - 상기 코딩된 데이터 스트림(CS)의 디지털 합 값(DSV)을 결정하는 단계와,
    - 상기 디지털 합 값(DSV)을 상기 코딩된 데이터 스트림(CS)의 극성(Pol)에 따라 제 1 또는 제 2 경계값(BV)과 비교하는 단계와,
    - 상기 비교 결과에 따라, 각 경계값(BV)에 속하는 제 1 또는 제 2 동기화 코드 워드(synchronization code word)를 선택하는 단계와,
    - 상기 동기화 코드 워드를 상기 코딩된 데이터 스트림(CS)에 첨부하는 단계
    에 의해 결정된 동기화 코드 워드가, 일정한 간격으로 제공되는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  4. 제 3 항에 있어서, 상기 경계값(BV), 상기 코드 워드(CWa, CWb), 및 상기 동기화 코드 워드는 테이블(Tab1, Tab2, Main, Subs)에 저장되는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  5. 제 4 항에 있어서, 각 경우에 상기 코드 워드(CWa, CWb)와 상기 동기화 코드 워드에 의해 유발된, 상기 디지털 합 값(DSV)의 부호있는 변화 값(signed changevalue)(Da_DSV, Db_DSV)은 상기 테이블(Tab1, Tab2, Main, Subs) 중 어느 하나에 저장되는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 경계값(BV)에 속하는 상기 코드 워드(CWa, CWb) 중 어느 하나는, 그 부호를 고려하여, 다른 코드 워드(CWa, CWb)보다도 더 작은 변화 값(Da_DSV, Db_DSV)을 가지는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 디지털 합 값(DSV)의 절대값()이 임계값(TH)보다 더 작거나 같은 경우, 상기 디지털 합 값(DSV)은 상기 제 1 또는 제 2 경계값(BV)과만 비교되는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  8. 제 7 항에 있어서, 상기 코딩된 데이터 스트림(CS)의 디지털 합 값(DSV)이 임계값(TH)보다 더 큰 경우에는, 더 작은 변화 값(Da_DSV, Db_DSV)을 가지는 코드 워드(CWa, CWb)가 코딩을 위해 사용되며, 그리고 상기 코딩된 데이터 스트림(CS)의 디지털 합 값(DSV)이 음의 임계값(-TH)보다 더 작은 경우에는 더 큰 변화 값(Da_DSV, Db_DSV)을 가지는 코드 워드(CWa, CWb)가 사용되는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서, 상기 코딩된 데이터 스트림(CS)은 다수의 가능한 상태(State) 중 어느 하나에 있으며, 여기서 각 상태(State)는 첨부되는 마지막 코드 워드(CWa, CWb)에 의해 결정되며 다른 코드 워드(CWa, CWb)를 첨부하는 것에 의해 재한정(redefined)되는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  10. 제 9 항에 있어서, 데이터 값(Byte)과 상태(State)의 가능한 조합 중 적어도 일부에 대해 각 경우에 특정 제 1 및 제 2 경계값(BV)과, 연관된 제 1 및 제 2 코드 워드(CWa, CWb)가 존재하는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서, 상기 코딩된 데이터 스트림(CS)의 런랭스(run length)에 대한 가능한 코드 워드(CWa, CWb)의 영향에 관한 정보는 상기 데이터 값(Byte) 중 적어도 일부에 대해 테이블(Tab1, Tab2, Main, Subs) 중 어느 하나에 저장되며, 제 1 항 내지 제 10 항 중 어느 한 항에 따른 방법에 의해 결정된 상기 코드 워드(CWa, CWb)로 데이터 값(Byte)을 코딩하는 것이 런랭스 제한사항(run length limitation)을 어기게 하는지 여부가 저장된 정보에 의해 체크되며, 만약 어기게 하는 경우 코딩을 하기 위해 대안적인 코드 워드(CWa, CWb)가 사용되는 것을 특징으로 하는, 데이터 스트림을 코딩하는 방법.
  12. 광 기록 매체로부터 판독 및/또는 이 매체에 기록하기 위한 디바이스로서, 제 1 항 내지 제 11 항 중 어느 한 항에 기재된 방법을 사용하는 것을 특징으로 하는, 광 기록 매체로부터 판독 및/또는 이 매체에 기록하기 위한 디바이스.
KR1020047008033A 2001-12-21 2002-12-09 데이터 스트림을 코딩하는 방법 KR100908763B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10163556.7 2001-12-21
DE10163556A DE10163556A1 (de) 2001-12-21 2001-12-21 Verfahren zum Kodieren eines Datenstroms
PCT/EP2002/013902 WO2003054877A2 (en) 2001-12-21 2002-12-09 Method for coding a data stream

Publications (2)

Publication Number Publication Date
KR20040068167A true KR20040068167A (ko) 2004-07-30
KR100908763B1 KR100908763B1 (ko) 2009-07-22

Family

ID=7710573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047008033A KR100908763B1 (ko) 2001-12-21 2002-12-09 데이터 스트림을 코딩하는 방법

Country Status (8)

Country Link
US (1) US6985094B2 (ko)
EP (1) EP1456843A2 (ko)
JP (1) JP2005513706A (ko)
KR (1) KR100908763B1 (ko)
CN (1) CN100444273C (ko)
AU (1) AU2002358643A1 (ko)
DE (1) DE10163556A1 (ko)
WO (1) WO2003054877A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3947876B2 (ja) * 2004-02-03 2007-07-25 Necアクセステクニカ株式会社 Pcm符号を用いたデータ伝送システムおよび方法
GB2530753A (en) * 2014-09-30 2016-04-06 Canon Kk DC-Free nyquist-free error correcting line coding

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57176866A (en) * 1981-04-24 1982-10-30 Sony Corp Encoder of binary signal
EP0178813B1 (en) * 1984-10-01 1993-08-18 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding binary data
DE3605396A1 (de) * 1986-02-20 1987-08-27 Thomson Brandt Gmbh Uebertragungssystem mit einem uebertragungscode fuer binaere daten
JPH01141436A (ja) * 1987-11-27 1989-06-02 Sony Corp フレーム同期化方法
JP2809832B2 (ja) * 1990-07-13 1998-10-15 株式会社東芝 符号変調方法
JPH05235775A (ja) * 1992-02-25 1993-09-10 Mitsubishi Electric Corp 情報変換方法及びそれを用いた情報変換装置
JPH05284035A (ja) * 1992-03-31 1993-10-29 Sony Corp 情報変換方法
JP3240341B2 (ja) * 1993-07-06 2001-12-17 三菱電機株式会社 情報変換方法及び記録再生装置
KR100310217B1 (ko) * 1993-12-21 2002-06-20 이데이 노부유끼 디지탈데이타처리장치및그방법
JP3541439B2 (ja) * 1994-07-08 2004-07-14 ソニー株式会社 信号変調方法及び装置、並びに信号復調装置及び方法
JP3464558B2 (ja) * 1995-03-31 2003-11-10 富士通株式会社 エンコード装置及び記憶装置
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 松下電器産業株式会社 デジタル変調装置、その方法及び記録媒体
TW362305B (en) * 1996-10-18 1999-06-21 Koninkl Philips Electronics Nv Apparatus and method for converting a sequence of m-bit information words into a modulated signal
JP2000105981A (ja) * 1998-09-29 2000-04-11 Toshiba Corp データ変換方法および装置
US6531968B2 (en) * 2001-03-26 2003-03-11 Lg Electronics Inc. Digital data modulating method and apparatus and modulated data recording medium using the same

Also Published As

Publication number Publication date
EP1456843A2 (en) 2004-09-15
AU2002358643A8 (en) 2003-07-09
CN100444273C (zh) 2008-12-17
KR100908763B1 (ko) 2009-07-22
WO2003054877A2 (en) 2003-07-03
AU2002358643A1 (en) 2003-07-09
WO2003054877A3 (en) 2004-02-19
CN1606780A (zh) 2005-04-13
DE10163556A1 (de) 2003-08-07
US6985094B2 (en) 2006-01-10
JP2005513706A (ja) 2005-05-12
US20050097426A1 (en) 2005-05-05

Similar Documents

Publication Publication Date Title
US6268810B1 (en) Method of generating run length limited (RLL) code having improved DC suppression capability and modulation/demodulation method of the generated RLL code
EP1024489A2 (en) Eight-to-fifteen modulation using no merging bit and optical disc recording or reading systems based thereon
KR100352353B1 (ko) 신호변조방법,신호변조장치,신호복조방법및신호복조장치
KR100817226B1 (ko) 알.엘.엘. 코드 시퀀스에 보조 정보신호를 추가하거나 이시퀀스로부터 보조 정보신호를 추출하는 방법 및 장치
JPH10508456A (ja) mビットの情報語の系列を変調信号に変換する方法、記録キャリアを製造する方法、コード装置、装置、記録装置、信号及び記録キャリア
JP3363432B2 (ja) データ符号化システム
JP2004213863A (ja) 符号化変調方法および変調装置、復調方法および復調装置、情報記録媒体
JP3722331B2 (ja) 変調装置および方法、並びに記録媒体
JP4032329B2 (ja) 変調装置および方法、並びに記録媒体
US6188335B1 (en) Method and apparatus having cascaded decoding for multiple runlength-limited channel codes
JP2000040968A (ja) 符号化方法および符号化装置、復号化方法および復号化装置、並びに提供媒体
KR100274213B1 (ko) Rll(2,25)코드를 이용한 7/13 채널코딩 및 채널디코딩방법
US6559779B2 (en) Data encoding method, apparatus, and storage medium
US20080317140A1 (en) Method of Converting a User Bitstream Into Coded Bitstream, Method for Detecting a Synchronization Pattern in a Signal, a Record Carier, a Signal, a Recording Device and a Playback Device
KR100908763B1 (ko) 데이터 스트림을 코딩하는 방법
JP3717024B2 (ja) 復調装置および方法
KR20020086754A (ko) 일련의 엠-비트 정보어의 변조신호로의 변환방법
US6985320B2 (en) Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system
JP3187528B2 (ja) 符号化装置および復号化装置
US6700509B1 (en) Device and method for processing a digital information signal
JP4479855B2 (ja) 変調装置、変調方法、記録媒体
KR100470026B1 (ko) 정보를 코딩/디코딩하는 방법 및 장치
EP1241792A1 (en) Method of converting digital data
JP4366662B2 (ja) 変調装置、変調方法、記録媒体
JP4919121B2 (ja) 変調装置、変調方法、および記録媒体

Legal Events

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