KR100434207B1 - 인코딩장치와방법및디코딩장치와방법 - Google Patents

인코딩장치와방법및디코딩장치와방법 Download PDF

Info

Publication number
KR100434207B1
KR100434207B1 KR1019960705634A KR19960705634A KR100434207B1 KR 100434207 B1 KR100434207 B1 KR 100434207B1 KR 1019960705634 A KR1019960705634 A KR 1019960705634A KR 19960705634 A KR19960705634 A KR 19960705634A KR 100434207 B1 KR100434207 B1 KR 100434207B1
Authority
KR
South Korea
Prior art keywords
bit
words
weight vector
word
value
Prior art date
Application number
KR1019960705634A
Other languages
English (en)
Other versions
KR970702622A (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 KR970702622A publication Critical patent/KR970702622A/ko
Application granted granted Critical
Publication of KR100434207B1 publication Critical patent/KR100434207B1/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/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • 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

Landscapes

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

Abstract

(n-1)-비트 정보 워드들의 시퀀스를 n-비트의 채널 워드들의 시퀀스로 인코딩하는 인코딩 장치가 개시되어 있으며, 상기 장치는 정보 워드들을 수신하기 위한 입력 수단(1)과, (n-1)-비트 정보 워드들을 n-비트의 채널 워드들로 변환하기 위한 변환기 수단(2)과, 채널 워드들을 공급하기 위한 출력 수단(3)을 구비한다. 변환기 수단(2)은 n개의 가중 벡터 계수들(wi)을 갖는 가중 벡터(w)를 공급하기 위한 (n-1)-비트의 이진 워드들의 형태인 가중 벡터 계수를 공급하는 가중 벡터 공급 수단(7)-여기서, 가중 벡터는 n개의 가중 벡터 계수들(wi)을 가지며, i는 1에서 n까지 실행하는 정수이고, 가중 벡터 계수들은 (n-1)-비트의 이진 워드들의 형태임-과, 채널 워드를 얻기 위해 정보 워드를 사용하여 계산을 수행하는 계산 수단을 구비하고, 상기 계산은, (a) 실행 파라미터 j를 n과 동일하게 설정하는 단계와, (b) 정보 워드 값이 가중 벡터 계수(wj)와 같거나 또는 그 보다 큰 값인지의 여부를 결정하는 단계-만일 그렇다면, 채널 워드의 비트 위치(j)에서 상기 이진 값을 '0'으로 설정하고, 가중 계수(wj)의 값을 정보 워드의 값에서 감산하여 상기 정보 워드의 새로운 값을 얻고, 만일 그렇지 않으면, 상기 이진 값을 '1'로 설정함-와, (c) j에 대한 각각 다음의 작은 값에 대해 단계 (b)를 n-1번 반복하는 단계-여기서, wn은 최대값을 갖는 가중 벡터 계수이고, 다음의 작은 첨자 j를 갖는 가중 벡터 계수들은더 작은 값을 가짐-에 기초한다.
본 발명에 따라, 가중 벡터 계수 공급 수단은 가중 벡터 계수(wi)의 p개의 비트들을 공급하도록 적응되고, (n-1)-비트 가중 벡터 계수 워드의 나머지 n-1-p개의 비트들은 상기 p-비트 이진 워드의 앞 또는 뒤에, 또는 상기 p-비트 이진 워드의 앞과 뒤에 가중 벡터 계수를 얻도록 부가되는 '0'들이며, 상기 p는 1보다 크고, n-1보다는 작은 정수가 된다.

Description

인코딩 장치와 방법 및 디코딩 장치와 방법{Encoding arrangement for encoding a sequence of (n-1)-bit information words into a sequence of n-bit channel words, and a decoding arrangement for decoding a sequence of n-bit channel words a sequence of (n-1) bit information words}
서두에 정의한 인코딩 및 디코딩 장치는 IEEE Trans. Inform Theory의 더블유. 에이치. 카우츠(W.H. Kautz)에 의해 1965년 출판된 '동기화 제어를 위한 피보나치 코드(Fibonacci codes for synchronization control)'의 pp. 284-292에 기술되어 있다. 상술된 인코딩 방법은 k로 한정된 채널 워드들의 시퀀스를 얻기 위해 이용될 수 있으며, '계수 인코딩(enumerative encoding)'으로 공지되어 있다. 계수 디코딩은 수신한 이진 채널 워드와 n 계수의 가중 벡터의 내적(inner product)을 형성함으로써 실행된다. 가중 벡터는 채널을 강제로 한정하는 함수이며, 통상 먼저계산된다. 수신한 채널 워드가 이진수이므로, 간단한 덧셈으로 곱셈을 할 수 있다.
십진수를 이진수로 변환하는 것과 유사한 방법에 의해 인코딩이 실행되고, 여기서, 통상 이용되는 2의 제곱 대신에, n 계수의 가중 벡터가 이용된다.
된다. 카우츠 방법에서 가중 계수의 이진 표현은 n-1 비트를 필요로 한다. n 가중 계수가 이용되면, n 계수들을 저장하기 위해 n(n-1)의 저장 위치들의 메모리 용량이 필요하며, 예를 들어, 100 비트 채널 워드를 인코딩/디코딩할때, 9.9 K의 저장 위치들의 메모리 용량은 필요하게 될 것이다.
종래 기술의 두 번째 단점은 이진 채널 워드와 n 계수 벡터간의 내적을 이루는 덧셈이 더블 캐리(double carry)를 필요로 한다는 점이며, 이는 병렬 가산기의 구조를 복잡하게 한다. 이는 병렬 구조의 가산기를 간단한 직렬 구조의 가산기로 대체하는 것을 실제로 어렵게 한다.
상기 및 다른 단점들은 그 정도가 심하여, 정보화 이론 분야에서 계수 인코딩 및 디코딩의 이용이 제한된다.
본 발명은 (n-1)-비트 정보 워드들의 시퀀스를 n 비트의 채널 워드들의 시퀀스로 인코딩하는 인코딩 장치에 관한 것으로, 상기 인코딩 장치는,
- 상기 정보 워드들을 수신하기 위한 입력 수단,
- 상기 (n-1)-비트 정보 워드들을 n-비트의 채널 워드들로 변환하기 위한 변환기 수단,
- 상기 채널 워드들을 공급하기 위한 출력 수단을 구비하고,
상기 변환기 수단은,
- 가중 벡터(w)를 공급하기 위한 가중 벡터 계수 공급 수단-여기서, 가중 벡터는 n개의 가중 벡터 계수들(wi)을 가지며, i는 1 내지 n의 값을 갖는 정수이고, 상기 가중 벡터 계수들은 (n-1)-비트의 이진 워드들의 형태임-과,
- 채널 워드를 얻기 위해 정보 워드를 사용하여 계산을 수행하는 계산 수단을 구비하며,
상기 계산은,
(a) 실행 파라미터 j를 n과 동일하게 설정하는 단계,
(b) 상기 정보 워드 값이 가중 벡터 계수(wj)와 같거나 또는 그 보다 큰 값인지의 여부를 결정하는 단계-만일 그렇다면, 상기 채널 워드의 비트 위치(j)에서 상기 이진 값을 '0'으로 설정하고, 상기 가중 계수(wj)의 값을 상기 정보워드의 값에서 감산하여 상기 정보 워드의 새로운 값을 얻고, 만일 그렇지 않으면, 상기 이진 값을 '1'로 설정함-와,
(c) j에 대한 각각 다음의 작은 값에 대해 단계 (b)를 n-1번 반복하는 단계-여기서, wn은 최대값을 갖는 가중 벡터 계수이고, 다음의 작은 첨자 j를 갖는 가중 벡터 계수들은 더 작은 값을 가짐-에 기초하는, 인코딩 장치에 관한 것이다.
또한, 본 발명은 n-비트의 채널 워드들의 시퀀스를 (n-1)-비트 정보 워드들의 시퀀스로 디코딩하기 위한 디코딩 장치에 관한 것으로서, 상기 디코딩 장치는,
- 상기 채널 워드들을 수신하기 위한 입력 수단과,
- 상기 n-비트의 채널 워드들을 (n-1)-비트 정보 워드들로 변환하기 위한 변환기 수단과,
- 상기 정보 워드들을 공급하기 위한 출력 수단을 구비하고,
상기 변환기 수단은,
- 상기 채널 워드들을 인버팅하여 인버팅된 채널 워드들을 얻기 위한 인버터 수단과,
- 가중 벡터(w)를 공급하기 위한 가중 벡터 공급 수단-여기서, 가중 벡터는 n개의 가중 벡터 계수들(wi)을 가지며, i는 1 내지 n 값을 갖는 정수이고, 각각의 가중 벡터 계수(wi)는 이진 워드로서 표현됨-과,
- 정보 워드를 얻기 위해 인버팅된 채널 워드를 이용하여 계산을 실행하는 계산 수단을 구비하며,
상기 계산은,
인 내적(inner product)의 계산-여기서, xi는 상기 인버팅된 채널 워드의 i번째 비트이고, I는 상기 계산으로부터 얻은 상기 정보 워드이며, n은 정수 상수들(integer constants)-에 기초하는, 상기 디코딩 장치에 관한 것이다.
또한, 본 발명은 인코딩 및 디코딩 방법에 관한 것이다.
도 1은 인코딩 장치의 실시예를 도시하는 도면.
도 2는 도 1의 인코딩 장치의 가중 계수 발생기의 실시예를 도시하는 도면.
도 3은 디코딩 장치의 실시예를 도시하는 도면.
본 발명의 목적은 간단한 인코딩 및 디코딩 장치를 제공하는 것이다. 인코딩 및 디코딩 장치는, 가중 벡터 계수 공급 수단이 가중 벡터 계수 wi의 p 비트를 공급하도록 적응되고, (n-1)-비트의 가중 벡터 계수 워드의 나머지 n-1-p 비트는 가중 벡터 계수를 얻기 위해 p-비트 이진 워드의 앞 또는 뒤, 또는 p 비트 이진 워드의 앞과 뒤에 가산되는 '0'들이고, p는 1 보다 크고 n-1 보다는 작은 정수인 것을 특징으로 한다.
본 발명은, 가중 벡터 계수에 대해 p비트 워드를 발생시키고, p 비트 이진 워드의 앞 또는 뒤에, 또는 p 비트 이진 워드의 앞과 뒤 모두에 '0'들을 가산함으로써, n개의 가중 벡터 계수들을 발생시켜서 벡터 계수를 얻을 수 있다는 인식에 기초한다. 이와 같이 행함으로써, 여전히, 충분한 량의 계수들이 인코딩을 실행하는데 이용될 수 있다. 또한, 가중 벡터 계수 발생기 수단이 n개의 가중 계수들 각각에 대해 p-비트 워드들을 발생시키도록 적응되고, n개의 p-비트 워드들이 가중 벡터 계수 발생기 수단에 저장되는 경우에, 가중 벡터를 얻기 위해 p-비트 이진 워드의 앞에 및/또는 뒤에 가산될 '0'들이 저장될 필요가 없으므로, n-p 메모리 위치들의 메모리 용량이 필요하게 됨을 의미한다.
또한, 인코딩 장치는, 시퀀스에서 '1'과 후속하는 '1'사이에 최대 k번 연속되는 '0'들이 발생하는 장점(virtue)을 갖는 채널 워드들의 시퀀스를 발생하기 위해, 상기 채널 워드는 채널 워드들의 한 단부 및 동일한 단부에서 '0'들이 최대 r번 연속하여 발생하는 요건을 더 만족하며, 가중 계수들 wi은 다음의 식을 만족하는 것을 특징으로 한다.
여기서, j≤0에 대해 wj= 0 이고, 어떤 값의 FLOOR는 그 값보다 작은 최대정수 값과 같으며, r은 k 보다 작다.
이것은 후속하는 채널 워드들의 연결 이후에도, k-제한(k-constraint)을 만족하는 채널 신호들의 시퀀스를 발생할 수 있게 한다. r에 대한 값을 지정함으로써(r은 k 보다 작음), 채널 워드의 일 단부에서 특히 구체적으로 채널 워드의 선단부(leading end)에서 최대 1개의 '0'들을 갖고, 타단부 특히 채널 워드의 후단부에서 최대 r개의 '0'들을 갖는 채널 워드들을 얻는 것이 자동적으로 만족되며, 여기서, k=r+l 이다.
본 인코딩 방법은 196 대 197 변환 코드(196 to 197 conversion code)에서와 같은 고속 인코딩들을 위해 특히 유용하다.
본 인코딩 장치의 다른 양호한 실시예들은 청구항 3, 4 및 5의 주제가 된다. 디코딩 장치의 바람직한 실시예들은 청구항 7 내지 10의 주제가 된다. 청구항 11 과 12는 대응하는 인코딩 및 디코딩 방법들을 정의한다.
본 발명의 상기한 목적 및 다른 목적들은 이하에 설명되는 실시예들을 참조로 하여 더 설명되고 명백해질 것이다.
본 발명에 따른 인코딩 및 디코딩 장치의 설명은 카우츠 인코딩 및 디코딩방법(Kautz encoding and decoding method)의 설명과 함께 기술된다. 표 1은 동작을 명확하게 하기 위해 4-대-5 인코딩(4-to-5 encoding)의 예를 도시한다.
[표 1]
표 1은 4-비트 정보 워드들을 5-비트 채널 워드들로 인코딩/디코딩을 나타낸다. 결과적인 채널 워드들은 최대 2개의 후속하는 '0'들이 '1'들 사이에 존재하는 k=2 제한을 만족한다.
왼쪽 열(left hand column)은 정보 워드의 십진수 표현을 나타내고, 중간 열(middle column)은 정보 워드들의 이진수 표현을 나타낸다. 오른쪽 열은 대응하는 채널 워드들을 나타낸다. 채널 워드들은 후속하는 채널 워드들과 연결될 때 k-제한이 또한 만족되도록 최대 1개의 '0'으로 시작 및 종료한다.
디코딩 프로세스는 다음과 같다. 예를 들어, {11, 6, 3, 2, 1}로서 가중벡터 {w}를 정의한다. 가중 벡터는 다수(5개)의 가중 계수들(wi)의 형태이고, 여기서, i는 1 내지 5이다. 가중 계수들은 설명을 돕기 위해 십진수 표기법으로 표현되지만, 실질적으로, 가중 계수들은 4-비트의 이진수 형태이다.
디코딩 장치는 다음의 내적을 형성한다.
여기서, xi는 인버팅된 채널 워드의 i번째 비트이고, I는 상기 계산으로부터 얻어진 정보 워드이다. 표의 각각의 채널 워드에 대해, 그렇게 형성된 내적은 표에 정의된 것과 같이 채널 워드와 연련된 정보 워드의 정수 표현(I)과 동일함이 증명될 수 있다. 예를 들어, 채널 워드 '01010'은 1 x 11 + 0 x 6 + 1 x 3 + 0 x 2 + 1 x 1 = 15로서 디코딩되고, 그 결과로서 정보 워드는 '1111'이 된다. 본 예를 통해서, 내적을 간단한 덧셈들로 단순화할 수 있다는 것을 알 수 있다.
인코딩 프로세스들은 다음 방식으로 정보 워드들을 채널 워드들로 변환한다. 채널 워드를 얻기 위해 정보 워드를 이용하여 계산이 실행되는데, 이러한 계산은 다음 단계들에 기초한다.
(a) 실행 파라미터 j를 n과 같게 설정하는 단계와,
(b) 정보 워드 값이 가중 벡터 계수 wj와 같거나 또는 그 보다 큰지의 여부를 결정하는 단계-만약 그렇다면 채널 워드의 비트 위치 j에 이진 값을 '0'으로 설정하고, 정보 워드 값으로부터 가중 계수 wj의 값을 감산하여 정보 워드에 대한 새로운 값을 얻으며, 만일 그렇지 않다면, 상기 이진 값을 '1'로 설정함-와,
(c) j에 대한 각각 다음의 작은 값에 대해 단계(b)를 n-1번 반복하는 단계-여기서, wn은 최대값을 갖는 가중 벡터 계수이고, 다음의 작은 첨자 j를 갖는 가중 벡터 계수들은 더 작은 값을 가짐-에 기초한다.
카우츠 방법에 있어서, 가중 계수들 wi는 다음의 공식을 이용하여 얻을 수 있다.
상술한 바와 같이, 카우츠의 방법은 가중 계수들의 이진 값이 n-1 비트로 표현되는 가중 벡터를 필요로 하고, 따라서, n에 대한 값들이 큰 경우에는 대용량의 메모리가 필요하다.
본 발명에 따라, 가중 계수들(wi)은 p가 n-1 보다 작은 p 비트 이진 워드를이용하여 표현될 수 있도록 선택되고, (n-1)-비트 가중 벡터 계수 워드를 얻도록 '0'들이 p-비트 이진 워드의 앞 또는 뒤에, 또는 그 앞과 뒤 모두에 가산되여야 한다.
가중 계수들(wi)은 다음의 식을 이용하여 얻을 수 있다.
여기서, j≤0에 대해 wj=0 이고, 어떤 값의 FLOOR는 그 값보다 작은 최대 정수 값과 같다.
이들 가중 벡터 계수를 이용할 때, 채널 워드들이 얻어지는데, 여기서, 최대 r개의 연속적인 '0'들은 채널 워드들의 일 단부 및 동일한 단부에서, 구체적으로 채널 워드들의 후단부에서 발생한다. 채널 워드들의 후단부는 채널 워드의 최하위 비트들이 배치된 단부로서 정의된다. 이것은 2i-1과 같은 계수들(wi)의 수를 r+1 계수들로 제한함으로써 실현된다. 그 결과, 후속하는 채널 워드들의 연결은, 발생된 각각의 n-비트 채널 워드가 채널 워드의 선단부에서 최대 k-r개의 '0'들을 가지므로, k 제한의 위배로 되지 않을 것이다. 제 1 공식의 2i-1에서, 가중 계수들(wi)은 가중 계수의 임의의 비트 위치에서 단지 하나의 '1' 비트를 갖고, 가중 계수의 나머지 비트들은 모두 '0'임을 알 수 있다.
다른 가중 계수들은 플로어 함수(floor function)를 포함하는 제 2 및 제 3 수학식에 의해 얻어진다. 제 2 수학식은 wp에 대해 가중 계수들 wr+2를 정의하고, 제 3 수학식은 wn에 대해 가중 계수들 wp+1을 정의한다.
제 2 식에서, 각각의 후속하는 계수 wi는 k번째 이전 계수 wi-1-k를 wi-1에 합산함으로써 얻어지는 것이 명백하고, 여기서, 0과 같거나 작은 인덱스 번호(index number)를 갖는 그들 이전 계수들(wi)은 0으로 설정된다. 그 결과, 가중 계수의 r+1 인접한 비트 위치들에서 r+1개의 '1'들의 시퀀스를 갖는 가중 계수들이 얻어지고, 가중 계수의 나머지 비트들은 모두 '0'이다.
또한, 플로어 함수를 포함하는 제 3 식을 이용하여 wi를 유도하기 위해, 플로어 함수에서 합의 항(sum term)은 2i-1의 차수(order)가 된다. 상기 합의 항을 2i-1-p로 나누면, 2p의 차수인 값을 얻을 것이다. 따라서, 얻어진 값은 p 비트들로 표현될 수 있다. 플로어 함수를 취해 다시 2i-1-p로 곱함으로써, p 비트 워드들을 이용하고 p 비트 워드들의 앞 또는 뒤, 또는 앞과 뒤 모두에 '0'들을 부가하여 표시된 가중 계수들을 얻는다.
p가 k+2와 같으면, 가중 계수들 wi에 대한 상기 식들은 다음과 같이 변화한다.
196-대-197 인코딩 방법에 있어서, 얻어진 채널 워드들의 시퀀스는 k=7 및 r=4 라는 조건들을 만족하고, 가중 계수들 wi는 다음 식을 만족한다.
그 결과, wi에 대한 값은 다음과 같다.
[표 2]
표 2의 가중 벡터 계수들 wi는 196 비트의 공범위한 이진수의 형태이다.
각각의 wi는, 최대 9-비트 이진 워드를 생성하고 9-비트 이진 워드의 앞 또는 뒤, 또는 앞과 뒤 모두에 '0'들을 부가함으로써 얻을 수 있음을 주목한다. 이는가중 계수들 w10내지 w197은 495와 308 사이의 십진수 값과 동일한 항(505-i)을 포함하고 있기 때문이다. 이들 십진수 값들은, 표 2에 나타낸 것과 같이, 오른쪽 열의 9 비트들의 이진 값으로 표시될 수 있다.
표 2에서, 가중 계수들 w1내지 w5는, 심지어 5-비트 이진 값들 '00001' 내지 '10000'을 생성하고, 196-비트의 광범위한 가중 계수들을 얻도록 5-비트 이진 값들의 앞에 191개의 '0'들을 부가함으로써 얻을 수 있음이 명백하다. 또한, 심지어 최상위 비트로서 '1' 비트를 갖고 최하위 비트(만일 존재한다면)에 대해서 '0' 비트들을 갖는, 1 내지 5와 같은 i에 대한 i-비트 이진수를 생성할 수 있다.
가중 계수들 w6내지 w9는, 5-비트 이진 워드 '11111' 인 십진수 '31'을 생성하고, i=6인 상기 워드의 앞에는 191개의 '0'들을 부가하고, i=7인 워드의 앞에는 190개의 '0'들을, 뒤에는 1개의 '0'을 부가하고, i=8인 워드의 앞에는 189개의 '0'들을, 뒤에는 2개의 '0'들을 부가하며, i=9인 워드의 앞에는 188개의 '0'들을, 뒤에는 3개의 '0'들을 부가함으로써 얻을 수 있다.
가중 계수들 w10내지 w197은, 상술한 바와 같이, 십진수의 워드 '505-i'에 대응하는 9-비트 이진 워드를 생성하고, 9-비트 이진 워드의 앞에는 197-i개의 '0'들을, 뒤에는 i-10개의 '0'들을 부가함으로써 얻어진다.
도 1은 (n-1)-비트의 정보 워드를 n-비트의 채널 워드로 인코딩하는 인코딩 장치의 실시예를 도시한다. 도 1의 실시예는 (n-1)-비트 정보 워드들의 시퀀스를 수신하는 입력 단자(1)와, (n-1)-비트 정보 워드를 n-비트 채널 워드들로 변환하는변환 유닛(2)과, n 비트 채널 워드의 시퀀스를 출력하는 출력 단자(3)를 구비한다. 변환 유닛(2)은 계산 유닛(5) 및 가중 계수 발생기(7)를 구비한다. 가중 계수 발생기(7)는 입력(9)에 공급되는 1 내지 n의 값으로 실행하는 값 i에 응답하여 출력(11)에서 가중 계수들 wi를 생성한다. 또한, 값 i는 상기 장치의 내부에서 발생된다.
정보 워드를 대응하는 채널 워드로의 변환은 상술한 n개의 가중 벡터들 wi를 이용하고, 본 기술분야에 이미 공지되어 있기 때문에, 이후에 그러한 변환에 대한 다른 설명은 하지 않을 것이다. 그 가중 계수들의 생성은 가중 계수 발생기(7)에 대한 다른 실시예를 개시하는 도 2를 참조하여 더 설명될 것이다.
도 2의 발생기(7)는 n개의 p-비트의 이진 워드들을 저장하는 메모리 용량을 갖는 메모리(15)를 구비한다. 표 2의 예에 있어서, 메모리는 메모리에 저장된 197개의 9-비트 워드들을 가질 수 있다. 어드레스 입력(17)에 공급되는 값 i에 응답하여, 메모리(15)는 p-비트 이진 워드를 p-비트 출력(19)에 공급한다. p-비트 이진 워드들은 (n-1)-비트 출력(26)을 갖는 멀티플렉서(22)의 p-비트 입력(20)에 공급된다. 입력(24)에 공급되는 값 i에 응답하여, 멀티플렉서(22)는 p-비트 이진 워드를 p개의 인접한 출력 단자들(26.q 내지 26.p+q)로 다중화하고, 출력 단자들(26.1 내지 26.q 및, 26.p+q+1 내지 26.n-1)을 '0' 값 단자(도시되지 않음)에 접속한다.
표 2의 계수들의 실시예에 있어서, i가 1에서 5까지 실행하는 경우에 메모리(15)에 저장된 이진 워드(11111)를 갖도록 단자(26.i)에 접속하기 위한 '1'단자를 갖고, 이용 가능한 워드(11111)를 갖는 메모리(15)의 출력(19)의 5개의 출력 단자들을 6에서 9까지 실행하는 i에 대한 단자들(26.i-5 내지 26.i-1)에 접속하며, 메모리(15)에 저장된 188개의 9-비트 워드들을 갖고, 멀티플렉서(22)를 통해 그들 9-비트 워드들을 10에서 197까지 실행하는 i에 대한 출력 단자들(26.i-9 내지 26.i-1)에 공급하면 충분하다.
도 3은 n-비트 채널 워드들을 (n-1)-비트 정보 워드들로 디코딩하기 위한 디코딩 장치의 실시예를 도시한다. 도 3의 실시예는 n-비트 채널 워드들의 시퀀스를 수신하기 위한 입력 단자(30)와, n-비트 채널 워드들을 (n-1)-비트 정보 워드들로 변환하기 위한 변환 유닛(32)과, (n-1)-비트 정보 워드들의 시퀀스를 공급하기 위한 출력 단자(33)를 구비한다. 변환 유닛(32)은 계산 유닛(35) 및 가중 계수 발생기(7)를 구비한다. 가중 계수 발생기(7)는 입력(9)에 공급되는 1에서 n까지 실행하는 값 i에 응답하여 출력(11)에서 가중 계수들(wi)을 발생한다. 또한, 값 i는 상기 장치에서 내부적으로 발생된다. 가중 계수 발생기(7)는 도 2의 인코딩 장치의 가중 계수 발생기와 동일하게 될 수 있기 때문에, 입력(9)에 공급되는 값 i에 응답하여 동일한 계수들(wi)을 발생한다.
채널 워드를 대응하는 정보로의 변환은 상술한 n개의 가중 벡터들 wi를 이용하고, 더욱이 본 기술분야에 이미 공지되어 있기 때문에, 이후에 그러한 변환에 대한 다른 설명은 하지 않을 것이다. 그 가중 계수들의 생성은 상술하였기 때문에, 가중 계수들의 생성에 대한 다른 설명은 하지 않는다.
가중 벡터 계수들을 발생하기 위해 필요한 p-비트 워드들은 메모리에 저장될 수 있음을 주목한다. 이는 반드시 필요한 것은 아니다. 벡터 계수(wi)가 인코딩 또는 디코딩할 때마다, 상기 기술한 공식들과 같이, 계산 알고리즘을 이용하여 p-비트 워드들을 발생할 수 있다.

Claims (12)

  1. (n-1)-비트 정보 워드들의 시퀀스를 n-비트 채널 워드들의 시퀀스로 인코딩하기 위한 인코딩 장치로서,
    - 상기 정보 워드들을 수신하기 위한 입력 수단과,
    - 상기 (n-1)-비트 정보 워드들을 n-비트의 채널 워드들로 변환하기 위한 변환기 수단과,
    - 상기 채널 워드들을 공급하기 위한 출력 수단을 구비하고,
    상기 변환기 수단은,
    - 가중 벡터(w)를 공급하기 위한 가중 벡터 계수 공급 수단-여기서, 가중 벡터는 n개의 가중 벡터 계수들(wi)을 가지며, i는 1 내지 n의 값을 갖는 정수이고, 상기 가중 벡터 계수들은 (n-1)-비트의 이진 워드들의 형태임-과,
    - 채널 워드를 얻기 위해 정보 워드를 사용하여 계산을 수행하는 계산 수단을 구비하며,
    상기 계산은,
    (a) 실행 파라미터 j를 n과 동일하게 설정하는 단계와,
    (b) 상기 정보 워드 값이 가중 벡터 계수(wj)와 같거나 또는 그 보다 큰 값인지의 여부를 결정하는 단계-만일 그렇다면, 상기 채널 워드의 비트 위치(j)에서 상기 이진 값을 '0'으로 설정하고, 상기 가중 계수(wj)의 값을 상기 정보 워드의 값에서 감산하여 상기 정보 워드의 새로운 값을 얻고, 만일 그렇지 않으면, 상기 이진 값을 '1'로 설정함-와,
    (c) j에 대한 각각 다음의 작은 값에 대해 단계 (b)를 n-1번 반복하는 단계-여기서, wn은 최대값을 갖는 가중 벡터 계수이고, 다음의 작은 첨자 j를 갖는 가중 벡터 계수들은 더 작은 값을 가짐-에 기초하는, 상기 인코딩 장치에 있어서,
    상기 가중 벡터 계수 공급 수단은 가중 벡터 계수(wi)의 p개의 비트들을 공급하도록 적응되고, 상기 (n-1)-비트 가중 벡터 계수 워드의 나머지 n-1-p개의 비트들은 상기 p-비트 이진 워드의 앞 또는 뒤에, 또는 상기 p-비트 이진 워드의 앞과 뒤에 상기 가중 벡터 계수를 얻도록 부가되는 '0'들이며, 상기 p는 1보다 크고 n-1보다는 작은 정수인 것을 특징으로 하는, 인코딩 장치.
  2. 제 1 항에 있어서, 시퀀스에서 '1'과 후속하는 '1'사이에 최대 k개 연속되는 '0'들이 발생하는 장점(virtue)을 갖는 시퀀스를 생성하기 위해, 상기 채널 워드들은 최대 r개 연속되는 '0'들이 상기 채널 워드들의 단부 및 동일한 단부에서 발생하는 요건을 만족하며, 상기 가중 계수들(wi)은 다음 식을 만족하고,
    여기서, j≤0에 대해 wj=0이고, 어떤 값의 FLOOR는 그 값보다 작은 최대 정수 값과 동일하고, r은 k보다 작은 것을 특징으로 하는, 인코딩 장치.
  3. 제 2 항에 있어서, p=k+2 이고, 상기 가중 벡터 계수들(wi)은 다음 식,
    을 만족하는 것을 특징으로 하는, 인코딩 장치.
  4. 제 3 항에 있어서, n=197, k=7 및 r=4이고, 상기 가중 벡터 계수들(wi)은 다음 식,
    을 만족하는 것을 특징으로 하는, 인코딩 장치.
  5. 제 2 항에 있어서, 상기 채널 워드들은 최대 r개 연속되는 '0'들이 상기 채널 워드들의 후단부(trailing end)에서 발생하는 요건을 만족하는 것을 특징으로 하는, 인코딩 장치.
  6. n-비트 채널 워드들의 시퀀스를 (n-1)-비트 정보 워드들의 시퀀스로 디코딩하기 위한 디코딩 장치로서,
    - 상기 채널 워드들을 수신하기 위한 입력 수단과,
    - 상기 n-비트의 채널 워드들을 (n-1)-비트 정보 워드들로 변환하기 위한 변환기 수단과,
    - 상기 정보 워드들을 공급하기 위한 출력 수단을 구비하고,
    상기 변환기 수단은,
    - 상기 채널 워드들을 인버팅하여 인버팅된 채널 워드들을 얻기 위한 인버터 수단과,
    - 가중 벡터(w)를 공급하기 위한 가중 벡터 공급 수단-여기서, 가중 벡터는 n개의 가중 벡터 계수들(wi)을 가지며, i는 1 내지 n 값을 갖는 정수이고, 각각의 가중 벡터 계수(wi)는 이진 워드로서 표현됨-과,
    - 정보 워드를 얻기 위해 인버팅된 채널 워드를 이용하여 계산을 실행하는 계산 수단을 구비하며,
    상기 계산은 다음의 내적 계산에 기초하고,
    여기서, xi는 상기 인버팅된 채널 워드의 i번째 비트이고, I는 상기 계산으로부터 얻은 상기 정보 워드이며, n은 정수 상수들(integer constants)인, 상기 디코딩 장치에 있어서,
    상기 가중 벡터 계수 공급 수단은 가중 벡터 계수(wi)의 p개의 비트들을 공급하도록 적응되고, 상기 가중 벡터 계수 워드의 나머지 비트들은 상기 p-비트 이진 워드의 앞 또는 뒤에, 또는 상기 p-비트 이진 워드의 앞과 뒤에 부가된 '0'들이며, p는 1보다 크고, n-1보다는 작은 정수인 것을 특징으로 하는, 디코딩 장치.
  7. 제 6 항에 있어서, 채널 워드들의 시퀀스는 '1'과 후속하는 '1'사이에 최대 k개 연속되는 '0'들이 발생하는 장점을 갖고, 상기 채널 워드들은 최대 r개의 연속되는 '0'들이 상기 채널 워드들의 단부 및 동일한 단부에서 발생하는 요건을 더 만족하고,
    상기 가중 계수들 wi는 다음 식을 만족하며,
    여기서, j≤0에 대해 wj=0 이고, 어떤 값의 FLOOR은 그 값보다 작은 최대 정수 값과 같고, r은 k보다 작은 것을 특징으로 하는, 디코딩 장치.
  8. 제 7 항에 있어서, p=k+2 이고, 상기 가중 벡터 계수들(wi)은 다음 식,
    을 만족하는 것을 특징으로 하는, 디코딩 장치.
  9. 제 8 항에 있어서, n=197, k=7 및 r=4이고, 상기 가중 벡터 계수들(wi)은 다음 식,
    을 만족하는 것을 특징으로 하는, 디코딩 장치.
  10. 제 7 항에 있어서, 상기 채널 워드들은 최대 r개의 연속되는 '0'들이 상기 채널 워드들의 후단부에서 발생하는 요건을 만족하는 것을 특징으로 하는, 디코딩 장치.
  11. (n-1)-비트 정보 워드들의 시퀀스를 n-비트 채널 워드들의 시퀀스로 인코딩하기 위한 인코딩 방법으로서,
    - 상기 정보 워드들을 수신하기 위한 단계(1)와,
    - 상기 (n-1)-비트 정보 워드들을 n-비트의 채널 워드들로 변환하기 위한 단계(2)와,
    - 상기 채널 워드들을 공급하기 위한 단계(3)를 포함하고,
    상기 변환 단계(2)는,
    - 가중 벡터(w)를 공급하기 위한 단계-여기서, 가중 벡터는 n개의 가중 벡터 계수들(wi)을 가지며, i는 1 내지 n의 값을 갖는 정수이고, 상기 가중 벡터 계수들은 (n-1)-비트의 이진 워드들의 형태임-와,
    - 채널 워드를 얻기 위해 정보 워드를 사용하는 계산 단계를 포함하며,
    상기 계산은,
    (a) 실행 파라미터 j를 n과 동일하게 설정하는 단계와,
    (b) 상기 정보 워드 값이 가중 벡터 계수(wj)와 같거나 또는 그 보다 큰 값인지의 여부를 결정하는 단계-만일 그렇다면, 상기 채널 워드의 비트 위치(j)에서 상기 이진 값을 '0'으로 설정하고, 상기 가중 계수(wj)의 값을 상기 정보 워드의 값에서 감산하여 상기 정보 워드의 새로운 값을 얻고, 만일 그렇지 않으면, 상기 이진 값을 '1'로 설정함-와,
    (c) j에 대한 각각 다음의 작은 값에 대해 단계(b)를 n-1번 반복하는 단계-여기서, wn은 최대값을 갖는 가중 벡터 계수이고, 다음의 작은 첨자 j를 갖는 가중 벡터 계수들은 더 작은 값을 가짐-에 기초하는, 상기 인코딩 방법에 있어서,
    가중 벡터 계수(wi)의 p개의 비트들을 공급하는 단계(15)-여기서, (n-1)-비트 가중 벡터 계수 워드의 나머지 n-1-p개의 비트들은 상기 p-비트 이진 워드의 앞 또는 뒤에, 또는 상기 p-비트 이진 워드의 앞과 뒤에 가중 벡터 계수를 얻도록 부가(20)되는 '0'들이며, 상기 p는 1보다 크고, n-1보다는 작음-를 포함하는 것을 특징으로 하는, 인코딩 방법.
  12. n-비트 채널 워드들의 시퀀스를 (n-1)-비트 정보 워드들의 시퀀스로 디코딩하기 위한 디코딩 방법으로서,
    - 상기 채널 워드들을 수신하는 단계(30)와,
    - 상기 n-비트의 채널 워드들을 (n-1)-비트 정보 워드들로 변환하는 단계(32)와,
    - 상기 정보 워드들을 공급하는 단계(33)를 포함하고,
    상기 변환 단계(32)는,
    - 인버팅된 채널 워드들을 얻기 위해 상기 채널 워드들을 인버팅하는 단계와,
    - 가중 벡터(w)를 공급하기 위한 단계-여기서, 가중 벡터는 n개의 가중 벡터 계수들(wi)을 가지며, i는 1 내지 n 값을 갖는 정수이고, 각각의 가중 벡터 계수(wi)는 이진 워드로서 표현됨-와,
    - 정보 워드를 얻기 위해 상기 인버팅된 채널 워드를 이용하여 계산(35)을 실행하는 단계를 포함하며,
    상기 계산은,
    인 내적 계산-여기서, xi는 상기 인버팅된 채널 워드의 i번째 비트이고, I는 상기 계산으로부터 얻은 상기 정보 워드이며, n은 정수 상수임-에 기초하는, 상기 디코딩 방법에 있어서,
    가중 벡터 계수(wi)의 p개의 비트들을 공급하는 단계-상기 가중 벡터 계수 워드의 나머지 비트들은 상기 p-비트 이진 워드의 앞 또는 뒤에, 또는 상기 p-비트 이진 워드의 앞과 뒤에 부가된 '0'들이며, p는 1보다 크고, n-1보다는 작은 정수-를 포함하는 것을 특징으로 하는 디코딩 방법.
KR1019960705634A 1995-02-03 1996-01-19 인코딩장치와방법및디코딩장치와방법 KR100434207B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP95200261.6 1995-02-03
EP95200261 1995-02-03

Publications (2)

Publication Number Publication Date
KR970702622A KR970702622A (ko) 1997-05-13
KR100434207B1 true KR100434207B1 (ko) 2004-11-03

Family

ID=8219991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960705634A KR100434207B1 (ko) 1995-02-03 1996-01-19 인코딩장치와방법및디코딩장치와방법

Country Status (9)

Country Link
US (1) US5760718A (ko)
EP (1) EP0754373B1 (ko)
JP (1) JP3425152B2 (ko)
KR (1) KR100434207B1 (ko)
CN (1) CN1110903C (ko)
AT (1) ATE201943T1 (ko)
DE (1) DE69613181T2 (ko)
TW (1) TW290764B (ko)
WO (1) WO1996024194A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943368A (en) * 1996-07-08 1999-08-24 U.S. Philips Corporation Transmission, recording and reproduction of a digital information signal
JP3235543B2 (ja) * 1997-10-22 2001-12-04 松下電器産業株式会社 音声符号化/復号化装置
DE69840008D1 (de) * 1997-10-22 2008-10-23 Matsushita Electric Ind Co Ltd Verfahren und Vorrichtung für die Erzeugung von gestreuten Vektoren
US6700509B1 (en) * 1999-11-12 2004-03-02 Koninklijke Philips Electronics N.V. Device and method for processing a digital information signal
US6574773B1 (en) * 2000-03-09 2003-06-03 Stephen A. Turk Cost-effective high-throughput enumerative ENDEC employing a plurality of segmented compare tables
KR100879942B1 (ko) * 2002-02-16 2009-01-22 엘지전자 주식회사 채널품질지시자 코딩을 위한 기저수열 생성방법
US7030789B1 (en) 2004-12-01 2006-04-18 Hitachi Global Storage Technologies Netherlands B.V. Techniques for applying modulation constraints to data using periodically changing symbol mappings
US7071851B1 (en) 2005-01-31 2006-07-04 Hitachi Global Storage Technologies Netherlands B.V. Techniques for implementing non-uniform constraints in modulation encoded data
US7064687B1 (en) 2005-01-31 2006-06-20 Hitachi Global Storage Technologies Netherlands B.V. Techniques for modulating data using short block encoders
US7142134B2 (en) * 2005-02-01 2006-11-28 Hitachi Global Storage Technologies Netherlands B.V. Techniques for generating modulation codes using running substitutions
US7126502B2 (en) * 2005-02-01 2006-10-24 Hitachi Global Storage Technologies Netherlands B.V. Techniques for using interleaved encoders to obtain modulation constraints
US7696908B2 (en) * 2006-01-04 2010-04-13 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for reducing error propagation using modulation codes having a variable span
TW200945797A (en) * 2007-11-07 2009-11-01 Ibm Modulation coding and decoding
CN101431335B (zh) * 2007-11-07 2011-11-16 国际商业机器公司 用于调制编码和解码的方法、装置和系统
US7616134B1 (en) 2008-06-19 2009-11-10 International Business Machines Corporation Systems and methods for enumerative encoding and decoding of maximum-transition-run codes and PRML (G,I,M) codes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU662930A1 (ru) * 1976-07-19 1979-05-15 Таганрогский радиотехнический институт им. В.Д.Калмыкова Устройство дл приведени р-кодов фибоначчи к минимальной форме
SU732864A1 (ru) * 1976-12-22 1980-05-05 Таганрогский радиотехнический институт им.В.Д.Калмыкова Сумматор кодов фибоначчи
US4818969A (en) * 1984-08-09 1989-04-04 Kronos, Inc. Method of fixed-length binary encoding and decoding and apparatus for same
EP0234070B1 (en) * 1986-02-13 1994-12-07 Kronos, Inc. Apparatus for fixed-length binary encoding and decoding
US4792793A (en) * 1987-05-28 1988-12-20 Amdahl Corporation Converting numbers between binary and another base
US4989211A (en) * 1988-05-12 1991-01-29 Digital Equipment Corporation Sector mis-synchronization detection method

Also Published As

Publication number Publication date
EP0754373A1 (en) 1997-01-22
EP0754373B1 (en) 2001-06-06
ATE201943T1 (de) 2001-06-15
KR970702622A (ko) 1997-05-13
TW290764B (ko) 1996-11-11
DE69613181D1 (de) 2001-07-12
CN1148449A (zh) 1997-04-23
WO1996024194A1 (en) 1996-08-08
JP3425152B2 (ja) 2003-07-07
US5760718A (en) 1998-06-02
JPH09511375A (ja) 1997-11-11
DE69613181T2 (de) 2002-01-31
CN1110903C (zh) 2003-06-04

Similar Documents

Publication Publication Date Title
KR100434207B1 (ko) 인코딩장치와방법및디코딩장치와방법
KR0138964B1 (ko) 데이타 포멧 변화기를 포함한 차분 펄스 코드 변조기
EP0469841A1 (en) Data round-off device
US5045853A (en) Method and apparatus for statistically encoding digital data
RU2000116891A (ru) Устройство и способ перемежения/обратного перемежения для системы связи
KR100309724B1 (ko) 리드 솔로몬 부호화 장치 및 방법
US5832037A (en) Method of compressing and expanding data
KR0152169B1 (ko) 프라이어리티, 인코더
EP0409871B1 (en) Apparatus for decoding variable-length encoded data
EP1274172A3 (en) Digital signal modulation method and apparatus, encoding method and apparatus, storage medium, transmission apparatus and program
US4163287A (en) Binary multiplier circuit including coding circuit
EP0637797A1 (en) Calculation apparatus
US7071855B1 (en) Gray code conversion method and apparatus embodying the same
US4325056A (en) BCD To binary converter
US7113114B2 (en) Method and device of converting data words into code words
KR970057913A (ko) Mpeg-2 복호화기의 역양자화기
EP0470793A2 (en) Digital signal orthogonal transformer apparatus
JP3083532B2 (ja) 情報信号復号装置
US6047302A (en) Memory storing redundant binary codes and arithmetic unit and discrete cosine transformer using such memory
JP3332270B2 (ja) べき乗演算装置
KR100422345B1 (ko) 난수 발생기
JP2000132539A (ja) 演算装置
KR100512174B1 (ko) 갈로아 필드에서 파워 형태로 표현된 원소들을 다항식의형태로 변환하는 장치 및 방법
WO1995027940A1 (en) Economical generation of exponential and pseudo-exponential decay functions in digital hardware
CN115935874A (zh) 随机计算的随机源电路及其配置优化方法

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: 20080428

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee