KR0170681B1 - Rll코드 데이터를 위한 부호화 및 복호화장치 - Google Patents

Rll코드 데이터를 위한 부호화 및 복호화장치 Download PDF

Info

Publication number
KR0170681B1
KR0170681B1 KR1019950024534A KR19950024534A KR0170681B1 KR 0170681 B1 KR0170681 B1 KR 0170681B1 KR 1019950024534 A KR1019950024534 A KR 1019950024534A KR 19950024534 A KR19950024534 A KR 19950024534A KR 0170681 B1 KR0170681 B1 KR 0170681B1
Authority
KR
South Korea
Prior art keywords
code
decoding
bit
data
encoding
Prior art date
Application number
KR1019950024534A
Other languages
English (en)
Other versions
KR970014342A (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 김광호
Priority to KR1019950024534A priority Critical patent/KR0170681B1/ko
Priority to US08/678,601 priority patent/US5703580A/en
Priority to JP18634196A priority patent/JP2994265B2/ja
Priority to DE19629743A priority patent/DE19629743A1/de
Priority to CN96110277A priority patent/CN1067819C/zh
Publication of KR970014342A publication Critical patent/KR970014342A/ko
Application granted granted Critical
Publication of KR0170681B1 publication Critical patent/KR0170681B1/ko

Links

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Dc Digital Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 발명은 (d,k,m,n)의 조건을 갖는 RLL코드로 데이터를 부호화해서 변조하고 변도된 신호를 복호화하는 장치에 관한 것으로, 본 발명의 장치는 병렬의 m비트의 입력코드를 입력하여 적어도 m이상이고 n보다는 작은 r비트의 데이터로 부호화하는 부호화용 LUT, 부호화된 r비트데이터를 입력하여 n비트의 전송코드로 부호화하는 후치부호기, n비트의 전송코드를 입력하여 최소런길이 조건에 따라 상기 r비트의 데이터로 복호화하는 전치복호기 및 복호화된 r비트데이터를 입력하여 원래의 m비트의 코드데이터로 복호화하는 복호용 LUT를 포함하여 RLL코드를 최소런길이조건에 따라 전송코드의 길이를 단축하여 부호화 및 복호화함으로써 메로리의 용량을 줄일 수 있다.

Description

RLL코드 데이터를 위한 부호화 및 복호화장치
제1도는 본 발명에 의한 RLL코드 데이터를 위한 복호화장치의 블록도이다.
제2도는 본 발명의 복호화장치의 일 실시예로서, (2,12,8,15)인 코드에 대한 복호화장치의 블록도이다.
제3도는 제2도에 도시된 3대 2 맵퍼의 상세회로도이다.
제4도는 본 발명의 복호화장치의 다른 실시예로서, EFM코드에 대한 복호화장치의 블록도이다.
제5도는 본 발명의 복호화장치의 또 다른 실시예로서, (2,10,8,16)인 코드에 대한 복호화장치의 블록도이다.
제6도는 제4도에 도시된 5대 3 맵퍼의 상세회로도이다.
제7도는 본 발명에 의한 RLL코드 데이터를 위한 부호화장치의 블록도이다.
제8도는 본 발명의 부호화장치의 일 실시예로서, (2,12,8,15)인 코드에 대한 부호화장치의 블록도이다.
제9도는 제8도에 도시된 2대 3 맵퍼의 상세회로도이다.
본 발명은 RLL코드 데이터를 위한 부호화 및 복호화장치에 관한 것으로, 특히 RLL코드로 부호화해서 변조하거나 또는 변조된 RLL코드를 복호화할 때 RLL코드길이를 단축하여 부호하 및 복호화시 필요한 메모리용량을 줄일 수 있는 부호화 및 복호화장치에 관한 것이다.
최근, 영상 및 음성신호를 송/수신하는 장치에 있어서 영상 및 음성 신호를 디지털데이터로 변환한 후 소오스(Source) 부호화 및 채널(Channel)부호화하여 전송하거나 자기기록매체 또는 광기록매체와 같은 저장매체에 저장하고, 이를 다시 채널 복호화 및 소오스 복호화하여 재생하는 방식이 보편화되고 있다.
소오스 부호화방법은 소오스 데이터의 용장도(redundancy)를 제거함으로써 소오스 데이터량을 압축하는 기법이지만 채널부호화방법은 이와는 달이 데이터에 용장도를 부가하여 채널상에서 발생하는 에러발생에 대하여 시스템의 강인도(robustness)를 증가하는 기법이다. 이러한 채널부호화(Channel Coding)를 일명 변조(Modulation)라고도 한다.
이러한 디지털데이터를 채널부호화하는 방법에 있어서, RLL(Run Length Limited)부호화방법에 의해 부호화된 코드데이터(이하 RLL코드 데이터FKRH 함)는 (d,k,m,n)조건을 가진다.
(d,k,m,n)조건에서 각각 d는 연속되는 0의 최소길이(이하 최소런길이라고 함), k는 연속되는 0의 최대길이(이하 최대런길이라고 함), m은 부호기에 입력되는 데이터의 비트수(이하 입력코드의 비트수 라고 함), n은 변조된 후의 전송코드의 비트수(이하 전송코드의 비트수라고 함)를 각각 나타낸다. 이러한 RLL코드 데이터는 적어도 d이상이고 k보다는 크지 않은 제로수로 억제되기 때문에 (d,k)-constraind RLL코드 데이터라고도 한다.
일반적으로 m비트의 입력 데이터를 (d,k,m,n)의 조건을 갖는 n비트의 RLL(Run Length Limited)코드로 변조하는 부호기 또는 전송된 코드를 복호화하는 복호기는 룩업테이블로 되어 있는 룸을 사용하는 것이 일반화되고 있다.
일반적으로 코드의 효율은 m/n으로 표시되며 같은 (d,k)조건에서는 m,n의 값이 커질 수록 효율은 높아지는 경향이 있다. 이는 m,n이 커질수록 코드이 종류가 2의 누승으로 증가하여 상대적으로 (d,k)조건을 만족하는 코드가 많아지기 때문이다.
그러나, RLL코드 데이터의 m 및 n의 크기가 증가함에 따라 복호기의 룩업테이블의 크기는 2의 누승으로 증가를 하게 된다. 즉, 복호기에 입력되는 전송코드의 길이 n이 1비트씩 증가함에 따라 복호용 룩업테이블의 크기는 2배씩 증가되는 문제점이 있었다.
부호기의 경우에 있어서는 룩업테이블의 출력 비트수가 n에 의해 선형적으로 증가하도록 되어 있어 복잡한 구조의 메모리를 사용해야 하는 문제점이 있었다. 예를 들어, 8비트의 입력 데이터를 16비트의 채널데이터로 변환하는 경우 부호기에 사용되는 룩업테이블은 최소한 28×16비트만큼의 메모리가 필요하고 복호기용 룩업테이블은 2의 16승 비트크기의 메모리가 필요하게 된다.
따라서, 본 발명의 목적은 RLL코드 데이터를 복호화할 때 전송코드를 실제로 복호화하기 전 최소런길이의 조건을 이용하여 전송코드의 워드길이를 단축한 전치복호화용 코드를 사용하여 메모리의 크기를 줄이는 복호화장치를 제공하는 데 있다.
본 발명의 다른 목적은 RLL코드 데이터를 부호화할 때 입력코드를 실제로 부호화하기 전 최소런길이의 조건을 이용하여 입력코드의 워드길이를 전송코드의 워드길이보다 단축하는 후치부호화용 코드를 사용하여 전송코드로 부호화함으로써 메모리의 크기를 줄이는 부호화장치를 제공하는 데 있다.
상술한 첫 번째 목적을 달상하기 위하여, 본 발명의 복호화장치는 최소런길이(d), 최대런길이(k) 및 입력코드의 비트수(m), 전송코드의 비트수(n)를 나타내는 (d,k,m,n)의 조건을 갖는 RLL(Run Length Limited)코드로 부호화된 데이터를 복호화하는 장치에 있어서; 병렬의 n비트의 전송코드를 입력하여 상기 최소런길이조건에 따라 적어도 m이상이고 n보다는 작은 r비트의 데이터로 복호화하는 전치복호화수단; 및 상기 복호화된 r비트의 데이터를 입력하여 m비트의 코드데이터로 복호화하는 복호화(Decoding) 수단을 포함함을 특징으로 하고 있다.
또한, 상술한 두 번째 목적을 달성하기 위하여, 본 발명의 장치는 최소런길이(d), 최대런길이(k) 및 입력코드의 비트수(m), 전송코드의 비트수(n)를 나타내는 (d,k,m,n)의 조건을 갖는 RLL(Run Length Limited)코드로 부호화하는 장치에 있어서; 병렬의 m비트의 입력코드를 입력하여 적어도 m이상이고 n보다는 작은 r비트의 데이터로 부호화하는 부호화수단; 및 상기 부호화된 r비트데이터를 입력하여 상기 최소런길이조건에 따라 n비트의 전송코드로 부호화하는 후치부호화수단을 포함함을 특징으로 하고 있다.
먼저, 본 발명에 제안하고 있는 최소런길이조건에 따라 입력되는 전송코드의 비트수를 줄일 수 있는 전치복호기의 특징을 설명하기로 한다.
(d,k)-constrained RLL코드 데이터는 I과 인접하는 I사이에 최소한 d개 이상, 최대한 k개 이하의 0을 가지도록 되어 있다. 본 발명에서는 최소런길이(d)의 조건만을 고려하며, 입력데이터의 워드길이(일명 어장이라고 함)는 아래 (표1)과 같은 비율로 맵퍼를 이용하여 줄일 수 있다.
이는 (d,k)조건에 의해 인접한 두 개의 1사이에는 반드시 d개수 만큼의 0이 들어 있어야하며 이는 임의의 비트 구간을 택했을 때 (d,k)조건을 만족할 수 있는 데이터의 경우의 수가 제한되기 때문이다.
d=2인 경우에 임의의 연속된 3비트의 데이터를 예로 하면 000,001,010,100의 4가지 이외의 데이터는 d조건을 만족하지 않기 때문에 발생할 수 없게 된다. 따라서 d=2인 RLL 코드의 복호화장치는 룩업테이블의 입력 데이터를 3비트씩 나누어 이 3비트의 데이터를 000은 '00', 001은 '01', 010은 '10', 100은 '11'과 같이 2비트로 바꿈으로써 이를 복호화하는 전치복호기를 사용하고 전치복호기의 출력을 본래의 m비트의 데이터로 복호하는 복호기(룩업테이블)를 사용함으로써 룩업테이블의 크기를 줄일 수 있게 된다.
이러한 전치복호기의 변환비율은 최소런길이(d)의 조건에 의해 결정이 되며, 표 1은 d조건을 만족하는 상태에서 가장 효율이 좋은 맵퍼의 조건을 보여주고 있는 것이다. 여기서, d의 값이 커질수록 발생가능한 데이터의 종류가 줄어 들기 때문에 d의 값이 커짐에 따라 전치복호기의 효율도 커지게 됨을 알 수 있다.
한편, 전치복호기는 룩업테이블의 크기를 감소시키기 위한 수단이기 때문에 전치복호기의 구성이 복잡해지면 그 본래의 의미를 상실하게 된다. 전치복호기의 복잡도는 전치복호기의 입력 비트수에 직접 관련이 있기 때문에 입력비트수를 가능한 한 작게 하면서 감소비가 큰 맵퍼(Mapper)를 사용할 필요가 있다. 표 1은 이러한 관점에서 구성이 된 것이다. 즉, 표 1에는 d의 조건에 의해 효율적으로 비트의 수를 줄일 수 있는 맵퍼의 입력워드길이(i) 및 출력워드길이(j)그리고 입력워드길이 대 출력워드길이의 비를 나타내고 있다.
전송코드의 미리 설정된 최소런길이(d)에 따라 표 1에 도시된 맵퍼중 최소런길이(d)이하의 맵퍼들을 선택하여 전송코드의 워드길이를 감소시킨다. 예를 들어, d의 값이 4인 경우에는 6대 3, 5대 3, 3대 2, 4대 3의 감소비율을 가지는 맵퍼를 사용할 수 있으며 가능한 한 간단한 구성을 갖는 맵퍼들을 조합해서 전송코드의 워드길이를 줄이는 것이 효율적이다.
이어서, 본 발명에 의한 RLL코드 데이터를 위한 복호화장치 및 부호화장치의 바람직한 실시예들을 설명하기로 한다.
제1도는 본 발명에 의한 RLL코드 데이터를 위한 복호화장치의 블록도이다.
제1도에 있어서, 직병렬(이하 S/P라고 함)변환기(10)는 입력되는 직렬의 n비트의 RLL코드 데이터를 병렬의 n비트의 RLL코드 데이터로 변환한다. S/P변환기(10)의 앞단에는 채널을 통해 전송되거나 기록매체로부터 재생되는 데이터로부터 신호열을 검출하는 검출기가 구성되어 있을 수 있으며, 기록시에 NRZI(Non Return to Zero Inverted)변환을 사용하여 진폭변조(pulse width modulation)의 상태로 기록하는 시스템에서는 NRZI 데이터를 원래의 NRZ(Non Return to Zero)데이터로 변환하는 NRZ변환기가 구성되어 있을 수 있다.
전치복호기(20)는 최소런길이(d)에 따라 (표1)에 도시된 바와 같이 가장 효율이 좋은 맵퍼의 조합으로 이루어지며, 병렬의 n비트의 전송코드를 n비트보다는 작은 비트(여기서는 r비트라고 함)인 병렬의 r비트데이터로 변환한다.
룩업테이블(이하 LUT라고 함)(30)는 2 ×m비트의 크기를 가지며, 병렬의 r비트데이터를 원래의 입력코드의 비트수인 m비트의 데이터로 복호화한 데이터를 출력한다.
제2도는 본 발명의 복호화장치의 일 실시예로서, (2,12,8,15)코드를 위한 복호화장치의 블록도이다.
제2도에 의하면, S/P변환기(10)는 부호화된 직렬의 15비트의 전송코드를 병렬의 15비트의 전송코드로 변환한다.
전치복호기(20)는 5개의 3대 2맵퍼(21-25)에 의해 병렬의 15비트의 전송코드를 10비트의 코드데이터도 변환한다.
여기서, 전치복호기(20)는 맵퍼들의 출력워드길이(j)의 합이 가장 작아지는 맵퍼들의 조합으로 구성하며, 맵퍼들의 입력워드길이(i)의 합은 전송코드의 비트수(n)에 가장 가까운 값으로 하되, 입력워드길이의 합이 전송코드의 비트수(n)보다 같거나 작은 값으로 한다. 전치복호기(20)의 입력코드의 비트수의 합이 n보다 작으면 전치복호기(20)에 입력되지 않은 전송코드의 나머지 비트는 그대로 LUT(30)에 입력한다.
또한, 감소비가 같은 맵퍼인 경우에는 입력워드길이(i)의 값이 작은 맵퍼를 선택할수록 하드웨어의 용량을 줄일 수 있다. 결론적으로, i의 값은 전치복호기의 회로의 크기를 결정하는 인자(parameter)가 된다. 즉 같은 비율로 워드길이를 줄이는 경우 i의 값이 작은 맵퍼의 회로의 크기가 작아진다. 예를 들면 두 개의 3대 2맵퍼의 하드웨어량이 하나의 6대 4맵퍼의 하드웨러량보다 작다.
따라서, 제2도에 도시된 전치복호기(20)를 예를 들어, 4개의 3대 2 맵퍼대신에 6대 4맵퍼 2개를 사용하여 구성할 수 있으나 3대 2 맵퍼들로 구성한 것보다 회로가 복잡하다.
LUT(30)는 3대 2 맵퍼들(21-25)로부터 출력되는 5개의 2비트 코드데이터를 입력하여 복호화된 10비트의 코드데이터를 출력한다.
(2,12,8,15)코드의 전송코드 워드길이는 15가 되고 이 15비트를 LUT를 이용하여 복호화할 경우 종래에는 2 ×8비트의 메모리가 필요하지만 본 발명에서는 (표1)에서 제시된 5개의 3대 2맵퍼(21-25)를 이용해서 LUT(30)에 입력되는 워드길이는 10비트로서 5비크가 줄어져서 입력되기 때문에 종래에 비해 LUT의 크기가 1/32로 줄어들게 된다.
제3도는 제2도에 도시된 3대 2맵퍼의 상세회로도로서, 실시예에서는 2개의 오아게이트들(G1,G2)과 같은 간단한 로직회로로 구성하였으나 맵핑 조건을 달리하면 회로가 바뀔 수도 있고 맵퍼는 룩업테이블로도 구성될 수 있다.
제3도에 있어서, 오아게이트(G1)는 n비트의 전송코드에서 분할된 3비트 전송코드에서 최상위 비트(MSB)와 두 번째 비트를 논리합해서 최상위비트(MSB)로 출력한다.
오아게이트(G2)는 n비트의 전송부호에서 분할된 3비트의 전송부호에서 최상위 비트(MSB)와 최하위 비트(LSB)를 논리합해서 최하위비트(LSB)로 출력한다.
제3도에 도시된 3대 2맵퍼의 코드맵은 아래 표 2에 도시되어 있다.
제4도는 본 발명의 복호화장치의 다른 실시예로서, EFM코드에 대한 복호화장치의 블록도로서, 제2도에 도시된 장치의 구성과 동일한 구성에 대해서는 동일한 참조번호를 부여한다.
여기서, 컴팩트 디스크 등에 사용되는 EFM(Eight to Fourteen Modulation)코드의 경우 d=2, k=10, m=8, n=14의 조건을 가지며 이 EFM코드를 (2,10)코드라고도 한다. 따라서, S/P변환기(10)는 부호화된 직렬의 14비트의 전송코드를 병렬의 전송코드로 변환한다.
전치복호기(20)는 S/P변환기(10)로부터 출력되는 병렬의 14비트의 전송코드중 12비트의 전송코드를 4개의 3대 2맵퍼(21-24)에 의해 8비트로 변환하고, 나머지 2비트의 전송코드는 맵퍼를 거치지 않고 그대로 LUT(30)에 출력된다.
LUT(30)는 전치복호기(20)로부터 출력되는 8비트의 데이터와 S/P변환기(10)로부터 출력되는 전치복호기(20)를 거치지 않은 2비트의 데이터를 입력하여 원래의 8비트의 코드데이터로 출력한다.
여기서, EFM코드의 전송코드 워드길이는 14가 되고, 이 14비트를 LUT를 이용하여 복호화할 경우 종래에는 2 ×8비트의 메모리가 필요하지만 본 발명에서는 복수개의 3대 2맵퍼(21-24)를 사용하면 LUT(30)에 입력되는 워드길이는 10비트로서 4비트가 줄어져서 입력되기 때문에 종래에 비해 LUT의 크기가 1/16로 줄어들게 된다.
제5도는 본 발명의 복호화장치의 다른 실시예로서, (2,10,8,16)인 코드에 대한 복호화장치의 블록도로서, 제2도에 도시된 장치의 구성과 동일한 구성에 대해서는 동일한 참조번호를 부여한다.
제5도에 있어서, S/P변환기(10)는 부호화된 직렬의 16비트의 전송코드를 병렬의 16비트의 전송코드로 변환한다.
전치복호기(20)는 S/P변환기(10)로부터 출력되는 병렬의 16비트 전송코드중 14비트의 전송코드는 3개의 3대 2맵퍼(21-23)와 1개의 5대 3맵퍼(27)에 의해 9비트의 코드데이터로 변환되고, 나머지 2비트의 전송코드는 맵퍼를 거치지 않고 그대로 LUT(30)에 출력된다.
LUT(30)는 전치복호기(20)로부터 출력되는 9비트의 코드데이터와 전치복호기(20)를 거치지 않은 S/P변환기(10)로부터 출력되는 2비트의 전송코드를 입력하여 원래의 8비트의 코드데이터로 복호화한 데이터를 출력한다.
(2,12,8,16)코드의 전송코드 워드길이는 16이 되고 이 16비트를 LUT를 이용하여 복호화할 경우 종래에는 2 ×8비트의 메모리가 필요하지만 본 발명에서는 복수개의 맵퍼(21-23,27)를 사용하여 LUT(30)에 입력되는 워드길이는 11비트로서 4비트가 줄어져서 입력되기 때문에 종래에 비해 LUT의 크기가 1/32로 줄어들게 된다.
제6도는 제5도에 도시된 5대 3맵퍼의 상세회로도로로서, 5대 3맵퍼는 오아게이트들(G11-G13)로 구성된다.
제6도에 있어서, 오아게이트(G11)는 16비트의 전송코드에서 분할된 5비트 전송코드의 최상위비트와 두 번째 하위비트를 놀리합하여 3비트 출력의 두 번째 비트로 출력한다.
오아게이트(G12)는 5비트 전송코드의 최상위비트와 두 번째 상위비트를 논리합한다. 오아게이트(G13)는 5비트 전송코드의 세 번째 하위비트와 오아게이트(G12)의 출력을 논리합해서 3비트 출력의 죄상위비트로 출력 한다. 5비트의 전송코드의 최하위비트는 그대로 3비트 출력의 최하위비트로 출력한다.
제6도에 도시된 5대 3코드맵은 아래 표 3에 도시되어 있다.
따라서, 표 2 및 표 3에는 d가 2인 경우에 사용할 수 있는 3대 2맵퍼와 d가 3인 경우 사용할 수 있는 5대 3맵퍼의 코드맵을 나타내고 있다. 이때 맵퍼는 제3도 및 제6도에 도시된 바와 같이 로직회로로 구현될 수도 있고, 룩업테이블과 같은 메모리로 구성될 수 있다.
상술한 바와 같이, RLL코드는 인접하는 I의 사이에 위치하는 0의 개수가 제한되는 특징을 가지고 있으므로 위 표 2와 표 3에 도시된 바와 같이, 맵퍼의 입력워드길이(i)로 표현이 가능한 전송코드들중 일부만 사용이 되고 있음을 알 수 있다.
한편, 표 1, 표 2 및 표 3에 나타난 맵퍼는 그 역 조건으로 부호화기에서 사용할 수 있다.
제7도는 본 발명에 의한 RLL코드 데이터를 위한 부호화장치의 블록도이다.
제7도에 의하면, S/P변환기(110)는 입력되는 직렬의 m비트의 데이터를 병렬의 m데이터로 변환한다. LUT(120)는 2 ×r비트의 크기를 가지며, 병렬의 m비트의 입력코드를 입력하여 최소한 m이상이고, n보다 작은 r비트의 부호화된 데이터를 출력한다. 후치부호기(130)는 부호화된 r비트의 데이터를 RLL조건에 맞도록 n비트의 채널코드로 변환한다. P/S변환기(140)에서는 병렬의 n비트의 채널코드를 직렬의 n비트의 전송코드로 변환하고 채널을 통해 전송되거나 기록매체에 기록된다.
여기서, 도면에는 도시되지 않았지만 P/S변환기(140)의 후단에 NRZI변환기, 등화기와 기록증폭기등이 구성될 수 있다.
제8도는 본 발명의 부호화장치의 일 실시예인 (2,12,8,15)코드의 부호화장치의 블록도로서 제9도를 결부시켜 설명하기로 한다.
제8도에 있어서, S/P변환기(110)는 직렬의 8비트의 데이터를 병렬의 8비트데이터로 변환하여 LUT(120)에 공급한다.
LUT(120)는 병렬의 8비트데이터를 입력하여 10비트의 부호화된 데이터를 출력한다. 예를 들어, (d,k,m,n)=(2,12,8,15)인 조건을 갖는 LUT(120)에 입력되는 병렬의 소정의 8비트 데이터가 xxxxxxxx일 때 소정데이터에 대해 출력되어야 할 RLL전송코드가 000100010001001로 되어야 한다고 가정하면 LUT(120)의 출력을 직접 15비트의 000100010001001과 같이 되도골 구성하지 않고 직접 10비트이 0011100101이 되도록 구성한 후 이를 각각 2비트씩 후치부호기(130)의 5개의 2대 3맵퍼(131-135)에 출력한다.
이때의 2대 3맵퍼의 맵핑 테이블은 표 2에 도시된 입력과 출력을 서로 바꾼 형태가 되고 2대 3맵퍼의 회로 구성은 제9도에 도시된 바와 같이 간단한 로직회로로 구성된다.
제9도에 있어서, 앤드게이트(G31)는 LUT(120)로부터 공급되는 2비트를 논리곱해서 3비트 출력의 최상위비트로 출력한다. 앤드게이트(G33)는 앤드 게이트(G31)의 출력을 반전하는 인버터(G32)의 출려과 LUT(120)로부터 공급되는 2비트중 최상위비트를 논리곱해서 3비트 출력의 두 번째 비트로 출력한다. 앤드게이트(G34)는 인버터(G32)의 출력과 LUT(120)로부터 공급되는 최하위비트를 논리곱해서 3비트 출력의 최하위비트로 출력한다.
여기서, 부호화장치도 복호화장치와 마찬가지로 코드의 맵핑방법을 바꾸면 맵퍼의 회로도 이에 맞도록 수정되어야하며, 이 맵퍼는 논리회로대신에 룩업테이블로도 구성이 가능함은 해당분야의 기술자라면 쉽게 이해할 수 있다.
후치부호기(130)에서 LUT(120)로부터 출력되는 10비트 코드데이터를 000100010001001과 같이 15비트 전송부호로 부호화하여 P/S변환기(140)를 통해 최종결과를 출력한다.
따라서, 종래의 부호화장치는 입력이 8비트이고, 출력이 15비트인 룩업테이블로 구성이 되었지만 본 발명에서는 소정의 (d,k,m,n)조건을 만족하도록 구성된 3대 2맵퍼의 역기능을 하는 2대 3맵퍼를 사용한 후치부호기(Post Encoder)를 사용하면 룩업테이블을 8비트 입력에 대해 10비트이 출력을 가지도록 구성할 수 있어 룩업테이블의 크기가 2/3만큼 줄어 들게 된다.
본 발명은 디지털전송장치 특히, 자기기록장치와 광기록재생 장치 등에 폭 넓게 이용될 수 있다.
상술한 바와 같이, 본 발명은 RLL코드를 부호화 및 복호화할 때 최소런길이조건을 이용하여 코드의 길이를 단축함으로써 부호화시 및 복호화시 필요한 메모리의 용량을 줄이는 효과가 있다.

Claims (27)

  1. 최소런길이(d), 최대런길이(k) 및 입력코드의 비트수(m), 전송코드의 비트수(n)를 나타내는 (d,k,m,n)의 조건을 갖는 RLL(Run Length Limited)코드로 부호화된 데이터를 복호화하는 장치에 있어서 : 병렬의 n비트의 전송코드를 입력하여 상기 최소런길이 조건에 따라 적어도 m이상이고 n보다는 작은 r비트의 데이터로 복호화하는 전치복호화수단; 및 상기 r비트데이터를 입력하여 m비트의 코드데이터로 복호화하는 복호화수단을 포함함을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  2. 제1항에 있어서, 상기 전치복호화수단은 상기 최소런길이 조건에 따라 입력워드길이가 (표1)에 도시된 바와 같은 출력워드길이로 감소되는 적어도 하나 이상의 맵퍼들로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  3. 제2항에 있어서, 상기 맵퍼는 로직 회로로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  4. 제2항에 있어서, 상기 맵퍼는 룩업테이블로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  5. 제2항에 있어서, 상기 전치복호화수단은 각 맵퍼의 출력워드길이의 합이 가장 작아지는 맵퍼들의 조합으로 구성함을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  6. 제2항에 있어서, 상기 전치복호화수단은 같은 코드 감소비를 갖더라도 맵퍼의 입력워드길이가 작은 맵퍼의 조합으로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  7. 제1항에 있어서, 입력되는 직렬의 n비트의 전송코드를 병렬의 전송코드로 변환하여 상기 전치복호화수단에 출력하는 변환수단을 더 포함함을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  8. 제1항에 있어서, 상기 복호화수단은 2r×m비트 크기를 갖는 룩업테이블로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  9. 제1항에 있어서, 상기 (d,k,m,n)조건을 갖는 RLL코드는 (2,12,8,15)임을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  10. 제11항에 있어서, 상기 전치복호화수단은 복수개의 3대 2맵퍼들로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  11. 제10항에 있어서, 상기 전치복호화수단은 15비트의 전송코드의 워드길이를 10비트로 줄이는 것을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  12. 제1항에 있어서, 상기 (d,k,m,n)조건을 갖는 RLL코드는 (2,10,8,14)조건을 갖는 EFM(Eight to Fourteen Modulation)코드임을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  13. 제12항에 있어서, 상기 전치복호화수단은 복수개의 3대 2맵퍼들로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  14. 제13항에 있어서, 상기 전치복호화수단은 14비트의 전송코드의 길이를 9비트로 줄이는 것을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  15. 제1항에 있어서, 상기 (d,k,m,n)조건을 갖는 RLL코드는 (2,10,8,16)임을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  16. 제15항에 있어서, 상기 전치복호화수단은 복수개의 3대 2맵퍼들과 5대 3맵퍼의 조합으로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  17. 제16항에 있어서, 상기 전치복호화수단은 16비트의 전송코드의 워드길이를 11비트로 줄이는 것을 특징으로 하는 RLL코드 데이터를 위한 복호화장치.
  18. 최소런길이(d), 최대런길이(k) 및 입력코드의 비트수(m), 전송코드의 비트수(n)를 나타내는 (d,k,m,n)의 조건을 갖는 RLL(Run Length Limited)코드로 데이터를 부호화하는 장치에 있어서 : 병렬의 m비트의 입력코드를 입력하여 적어도 m이상이고 n보다는 작은 r비트의 데이터로 부호화하는 부호화수단; 및 상기 부호화된 r비트데이터를 입력하여 상기 최소런길이조건에 따라 n비트의 전송코드로 부호화하는 후치부호화수단을 포함함을 특징으로 하는 RLL코드 데이터를 위한 부호화장치.
  19. 제18항에 있어서, 상기 부호화수단은 2m×r비트의 크기를 갖는 룩업테이블로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 부호화장치.
  20. 제18항에 있어서, 상기 후치부호화수단은 상기 최소런길이 조건에 따라(표1)에 도시된 입력워드길이와 출력워드길이를 바꾼 형태의 적어도 하나 이상의 맵퍼들로 구성됨을 특징으로 하는 RLL코드 데이트를 위한 부호화장치.
  21. 제19항에 있어서, 상기 맵퍼는 로직 회로로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 부호화장치.
  22. 제20항에 있어서, 상기 맵퍼는 룩업테이블로 구성됨을 특징으로 하는 RLL코드 데이터를 위한 부호화장치.
  23. 제18항에 있어서, 상기 (d,k,m,n)조건을 갖는 RLL코드는 (2,12,8,15)임을 특징으로 하는 RLL코드 데이터를 위한 부호화장치.
  24. 제18항에 있어서, 상기 (d,k,m,n)조건을 갖는 RLL코드는 (2,10,8,14)조건을 갖는 EFM(Eight to Fourteen modulation)코드임을 특징으로 하는 RLL코드 데이터를 위한 부호화장치.
  25. 제18항에 있어서, 상기 (d,k,m,n)조건을 갖는 RLL코드는 (2,10,8,16)임을 특징으로 하는 RLL코드 데이터를 위한 부호화장치.
  26. 제18항에 있어서, 입력되는 직렬의 m비트의 입력코드를 병렬의 입력코드로 변환하여 상기 부호화수단에 출력하는 제1변환수단; 및 상기 후치부호화수단으로부터 출력되는 병렬의 n비트의 전송코드를 직렬의 전송코드로 변환하는 제2변환수단을 더 포함함을 특징으로 하는 RLL코드 데이터를 위한 부호화장치.
  27. 최소런길이(d), 최대런길이(k) 및 입력코드의 비트수(m), 전송코드의 비트수(n)를 나타내는 (d,k,m,n)의 조건을 갖는 RLL(Run Length Limited)코드로 부호화하고, 부호화된 데이터를 복호화하는 장치에 있어서 : 병렬의 m비트의 입력코드를 입력하여 적어도 m이상이고 n보다는 작은 r비트의 데이터로 부호화하는 부호화수단; 상기 부호화된 r비트데이터를 입력하여 n비트의 전송코드로 부호화하는 후치부호화수단; 상기 n비트의 전송코드를 입력하여 상기 최소런길이 조건에 따라 상기 r비트의 데이터로 복호화하는 전치복호화수단; 및 상기 복호화된 r비트데이터를 입력하여 원래의 m비트의 코드데이터로 복호화하는 복호화수단을 포함함을 특징으로 하는 RLL코드 데이터를 위한 부호화 및 복호화장치.
KR1019950024534A 1995-08-09 1995-08-09 Rll코드 데이터를 위한 부호화 및 복호화장치 KR0170681B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019950024534A KR0170681B1 (ko) 1995-08-09 1995-08-09 Rll코드 데이터를 위한 부호화 및 복호화장치
US08/678,601 US5703580A (en) 1995-08-09 1996-07-15 Apparatus for encoding and decoding run length limited code data
JP18634196A JP2994265B2 (ja) 1995-08-09 1996-07-16 Rllコードデータのための符号化及び復号化装置
DE19629743A DE19629743A1 (de) 1995-08-09 1996-07-23 Apparat zur Codierung und Decodierung für Codedaten mit begrenzter Lauflänge
CN96110277A CN1067819C (zh) 1995-08-09 1996-07-25 用于游程长度受限码数据的编码和解码的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950024534A KR0170681B1 (ko) 1995-08-09 1995-08-09 Rll코드 데이터를 위한 부호화 및 복호화장치

Publications (2)

Publication Number Publication Date
KR970014342A KR970014342A (ko) 1997-03-29
KR0170681B1 true KR0170681B1 (ko) 1999-03-20

Family

ID=19423146

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950024534A KR0170681B1 (ko) 1995-08-09 1995-08-09 Rll코드 데이터를 위한 부호화 및 복호화장치

Country Status (5)

Country Link
US (1) US5703580A (ko)
JP (1) JP2994265B2 (ko)
KR (1) KR0170681B1 (ko)
CN (1) CN1067819C (ko)
DE (1) DE19629743A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7180955B2 (en) * 2000-08-22 2007-02-20 Texas Instruments Incorporated Parallel concatenated trellis-coded modulation with asymmetric signal mapping
US6195764B1 (en) * 1997-01-30 2001-02-27 Fujitsu Network Communications, Inc. Data encoder/decoder for a high speed serial link
KR20010096009A (ko) * 2000-04-15 2001-11-07 박순배 통신 및 멀티미디어를 위한 변조코드
US6392570B1 (en) * 2000-05-08 2002-05-21 Crossroads Systems, Inc. Method and system for decoding 8-bit/10-bit data using limited width decoders
KR100716956B1 (ko) * 2000-10-11 2007-05-10 삼성전자주식회사 데이터 변조 방법 및 그 검출 방법
TW541791B (en) * 2001-07-23 2003-07-11 Via Tech Inc Signal transmission device and method to reduce power bounce
US7558326B1 (en) * 2001-09-12 2009-07-07 Silicon Image, Inc. Method and apparatus for sending auxiliary data on a TMDS-like link
JP3769753B2 (ja) * 2003-03-24 2006-04-26 ソニー株式会社 符号化装置および符号化方法、記録媒体、並びにプログラム
US8427348B2 (en) * 2010-05-14 2013-04-23 Arun Kumar Sagar Parallel processing of sequentially dependent digital data
TWI420830B (zh) * 2010-12-31 2013-12-21 Ind Tech Res Inst 動態解碼查詢表之產生方法與應用其之電子裝置
CN102682810B (zh) * 2011-03-17 2014-11-26 清华大学 游程长度比率调制数据记录方法及其系统
US8493246B2 (en) * 2011-12-20 2013-07-23 General Electric Company Methods and systems for decoding data
CN103581666B (zh) * 2013-09-30 2016-08-17 西安空间无线电技术研究所 一种逐次更新屏蔽字的图像压缩游长编码方法
US10277921B2 (en) * 2015-11-20 2019-04-30 Nvidia Corporation Hybrid parallel decoder techniques
TWI780696B (zh) * 2021-05-10 2022-10-11 創鑫智慧股份有限公司 查找表壓縮方法與查找表讀取方法及其計算設備、主機與裝置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4818900A (en) * 1980-02-04 1989-04-04 Texas Instruments Incorporated Predecode and multiplex in addressing electrically programmable memory
US4724422A (en) * 1985-09-13 1988-02-09 Motorola, Inc. Redundant decoder
US4864303A (en) * 1987-02-13 1989-09-05 Board Of Trustees Of The University Of Illinois Encoder/decoder system and methodology utilizing conservative coding with block delimiters, for serial communication
JPS64821A (en) * 1987-06-23 1989-01-05 Matsushita Electric Ind Co Ltd Priority encoder
US5144304A (en) * 1989-07-17 1992-09-01 Digital Equipment Corporation Data and forward error control coding techniques for digital signals
US4971407A (en) * 1989-08-09 1990-11-20 Unisys Corp. Two stage run and string data compressor providing doubly compressed output
DE69031701T2 (de) * 1989-09-08 1998-03-12 Fujitsu Ltd Kodier- und Dekodierschaltung für lauflängenbegrenzte Kodierung
US5046182A (en) * 1989-12-01 1991-09-03 National Semiconductor Corporation Code points for transferring data from a network transmission medium to a station on the network
US5349350A (en) * 1991-10-31 1994-09-20 Integral Peripherals, Inc. Run length limited encoding/decoding system for low power disk drives
US5517533A (en) * 1992-03-04 1996-05-14 Digital Equipment Corporation Parallel implementation of run length coding apparatus and method
EP0644544B1 (en) * 1993-09-21 1999-11-17 STMicroelectronics S.r.l. High-frequency pipelined RLL decoder
US5471208A (en) * 1994-05-20 1995-11-28 David Sarnoff Research Center, Inc. Reference ladder auto-calibration circuit for an analog to digital converter

Also Published As

Publication number Publication date
JPH09167969A (ja) 1997-06-24
CN1143284A (zh) 1997-02-19
JP2994265B2 (ja) 1999-12-27
US5703580A (en) 1997-12-30
CN1067819C (zh) 2001-06-27
DE19629743A1 (de) 1997-02-13
KR970014342A (ko) 1997-03-29

Similar Documents

Publication Publication Date Title
KR0170681B1 (ko) Rll코드 데이터를 위한 부호화 및 복호화장치
KR100352353B1 (ko) 신호변조방법,신호변조장치,신호복조방법및신호복조장치
JPH09181609A (ja) デジタルデータチャンネル符号化及び復号化装置並びにその方法
JP2002271205A (ja) 変調方法、変調装置、復調方法、復調装置、情報記録媒体、情報伝送方法および情報伝送装置
US6275175B1 (en) Device for encoding/decoding n-bit source words into corresponding m-bit channel words, and vice versa
JP3240341B2 (ja) 情報変換方法及び記録再生装置
US6188335B1 (en) Method and apparatus having cascaded decoding for multiple runlength-limited channel codes
JP3704358B2 (ja) ディジタル情報信号の送信および受信
US6597297B1 (en) Encoding/decoding n-bit source words into corresponding m-bit channel words, and vice versea, such that the conversion is party inverting
JP2002280907A (ja) 変調方法、変調装置、復調方法、復調装置、情報記録媒体、情報伝送方法および情報伝送装置
KR19990041225A (ko) Rll(2,25)변조코드 및 이를 이용한 디지털데이터의 부호화/복호화 방법
KR0183722B1 (ko) 디지탈 신호 변조부호기 및 복호기
US5969651A (en) Signal modulating method, signal modulating apparatus, signal demodulating method and signal demodulating apparatus
US6954554B2 (en) Block coding/decoding method and apparatus for increasing code rate
JP3848163B2 (ja) 情報をコーディングする装置及びその方法、そのコーディングされせた情報をデコーディングする装置及びその方法、記録媒体への変調信号の記録方法、記録媒体並びに変調信号の変換方法
JPH06276100A (ja) 変調装置及び復調装置
KR20020038709A (ko) 이진 소스신호의 복수의 데이터 비트의 스트림을 이진채널신호의 복수의 데이터 비트의 스트림으로 인코딩하는장치, 메모리장치, 정보 기록장치, 기록매체, 코딩장치와,재생장치
KR100669623B1 (ko) 디지털 데이터 변환방법
JP4095440B2 (ja) 情報の符号化のための装置及び方法、その符号化された情報を復号するための装置及び方法、変調信号及び記録媒体の製造方法
GB2304260A (en) Apparatus for encoding and decoding for run length limited code data using two stages
KR20010021659A (ko) 입력 정보신호의 인코딩
KR100575638B1 (ko) 정보 코딩을 위한 장치 및 방법과, 그 코딩된 정보를디코딩하기 위한 장치 및 방법과, 변조 신호 및 기록 매체제조방법
KR100575658B1 (ko) 정보 코딩을 위한 장치 및 방법
KR0185944B1 (ko) (1,7)변조코드를 이용하는 복호화방법 및 그 장치
JP2006129506A (ja) 情報の符号化のための装置及び方法、その符号化された情報を復号するための装置及び方法、変調信号及び記録媒体の製造方法

Legal Events

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

Payment date: 20070928

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee