KR100298307B1 - 바이너리트리구조의벡터양자화기 - Google Patents

바이너리트리구조의벡터양자화기 Download PDF

Info

Publication number
KR100298307B1
KR100298307B1 KR1019970078837A KR19970078837A KR100298307B1 KR 100298307 B1 KR100298307 B1 KR 100298307B1 KR 1019970078837 A KR1019970078837 A KR 1019970078837A KR 19970078837 A KR19970078837 A KR 19970078837A KR 100298307 B1 KR100298307 B1 KR 100298307B1
Authority
KR
South Korea
Prior art keywords
signal
unit
vector
counter
multiplexer
Prior art date
Application number
KR1019970078837A
Other languages
English (en)
Other versions
KR19990058689A (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 KR1019970078837A priority Critical patent/KR100298307B1/ko
Publication of KR19990058689A publication Critical patent/KR19990058689A/ko
Application granted granted Critical
Publication of KR100298307B1 publication Critical patent/KR100298307B1/ko

Links

Images

Classifications

    • 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/94Vector quantisation
    • 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/98Adaptive-dynamic-range coding [ADRC]

Abstract

디스턴스 계산을 줄이기 위하여 간단한 구조의 왜곡 처리기 모듈(Distortion Processor Module; 이하 DPM이라 칭함.)로 구성된 바이너리 트리 구조의 벡터 양자화기가 개시되어 있다. 카운터는 바이너리 트리 구조의 각 노드에 저장된 테스트 벡터를 순서대로 가리키고, 코드북부는 테스트 벡터를 출력하며 왜곡 처리기 모듈부는 평균 제곱 에러(Mean Square Error; 이하 MSE라 칭함.)를 구한다. 또한 제1 지연기는 제1 지연신호를 발생하고, 비교기는 비교 데이터를 출력하며, 디멀티플렉서는 디멀티플렉싱 연산을 행한 후 코드북부에 신호를 제공하고, 직 병렬 변환기는 비교 데이터를 병렬 형태로 변환한 후 제2 지연기는 어드레스 해당치인 제2 지연신호를 출력한다. 이때 코드북부내의 테스트 벡터부는 디멀티플렉싱신호와 카운터신호를 근거로 테스트 벡터부에 내장된 4개의 테스트 벡터를 순차적으로 출력한다. 또한 왜곡 처리기 모듈부내의 제1 논리 연산 장치는 입력 데이터신호 및 코드북부로부터 코드 벡터신호를 제공받아 제1 연산 논리신호를 출력하고, 자승기는 제1 연산 논리 장치로부터 제1 연산 논리신호를 제공받아 자승신호를 출력하며, 제2 논리 연산 장치는 리커시브(Recursive) 구조로 구성되어 MSE신호를 출력하므로써 왜곡 처리기 모듈의 부피를 줄였다.

Description

바이너리 트리 구조의 벡터 양자화기
본 발명은 디스턴스 계산을 줄이기 위하여 간단한 구조의 왜곡 처리기 모듈로 구성된 바이너리 트리 구조의 벡터 양자화기에 관한 것이다.
도 1은 어버트, 타오 그리고 스미스가 1987년에 제안한 왜곡 처리기 모듈(Distortion Processor Module ; 이하 DPM이라고 약칭함)의 블록도이다.
도 1의 DPM은 상기 제1 연산 논리 장치(Arithmetic Logic Unit; 10), 자승기(20) 및 제2 연산 장치(30)로 구성된다.
상기 제1 연산 논리 장치(10)는 일단을 통해 k번째의 x신호( xk )를 제공받고, 타단을 통해 k번째의 y신호( yk )를 제공받아 이를 연산한 후 두 신호의 차신호의 절대치인 제1 연산 논리신호(11)를 상기 자승기(20)에 제공한다.
상기 자승기(20)는 상기 제1 논리 연산 장치(10)로부터 차신호의 절대치신호를 제공받아 이를 자승한 자승신호(21)를 상기 제2 논리 연산 장치(30)에 제공한다.
상기 제2 논리 연산 장치(30)는 일단을 통해 상기 자승기(20)로부터 자승신호(21)를 제공받고, 타단을 통해 바로 전 단계에 위치한 DPM으로부터 출력된 (k-1)번째의 디스턴스 값인 신호(Dk-1; 29)를 제공받아 상기 두 신호의 차신호의 절대치신호(Dk; 31)를 출력한다.
상기한 과정의 결과값을 수식으로 나타내면 하기한 수식 1과 같다.
수식 1
Di=Di-1+(yi-xi)2
이때 Di는 i번째 DPM의 출력으로써 i차원까지 계산되는 부분 디스턴스(partial distance)를 나타내고, xi yi 는 소스와 코드 벡터의 i번째 요소를 나타낸다.
도 2는 어버트, 타오 그리고 스미스가 1987년에 제안한 사이스톨릭 어레이(Systolic Array; 100)의 구조를 간략히 나타낸다.
상기 도 2의 사이스톨릭 어레이(100)는 제1 DPM(110), 제2 DPM(120), 제3 DPM(130), . . . , 및 제k DPM(1k0)으로 구성된다.
상기 제1 DPM(110)은 제1 입력단을 통해 X0을 입력받고, 제2 입력단을 통해 Y0을 입력받으며, 제3 입력단을 통해 '0'을 제공받은 후 MSE(mean square error; 평균 제곱 에러)를 계산한 후 제1 MSE를 상기 제2 DPM(120)에 제공한다.
상기 제2 DPM(120)은 제1 입력단을 통해 X1을 입력받고, 제2 입력단을 통해 Y1을 입력받으며, 제3 입력단을 통해 상기 제1 DPM(110)으로부터 제1 MSE를 제공받아 MSE를 계산한 후 제2 MSE를 상기 제3 DPM(130)에 제공한다.
상기 제3 DPM(130)은 제1 입력단을 통해 X2를 입력받고, 제2 입력단을 통해 Y2를 입력받으며, 제3 입력단을 통해 상기 제2 DPM(120)으로부터 제2 MSE를 제공받아 MSE를 계산한 후 제3 MSE를 출력한다.
상기한 과정을 계속 거쳐 최종단인 상기 제k DPM(1k0)은 제1 입력단을 통해 Xk를 입력받고, 제2 입력단을 통해 Yk를 입력받으며, 제3 입력단을 통해 제(k-1) DPM()으로부터 제(k-1) MSE를 제공받아 MSE를 계산한 후 제k MSE인 최종 신호(Dk)를 출력한다.
상기한 도 1과 도 2의 과정으로 MMSE(Minimum Mean Square Error; MSE가 가장 작은 값 또는 디스턴스)를 보다 간략한 수식으로 표현하면 하기한 수식 2와 같다.
식 2
MMSE=
Figure 1019970078837_B1_M0001
이때 xi 는 원영상을 임의의 수(i)로 블록화한 값이고, yi j 는 상기 임의의 수, i만큼 대표값으로 코드화한 코드북의 출력 데이터로써, j는 상기 블록화한 원영상의 어드레스(j)이며 픽셀을 k개의 블록으로 분리했으므로 i를 1부터 k까지 가산했다.
본 발명에 사용되는 서브 밴드 코딩(Sub-Band Coding; 이하 SBC라 칭함.)에 대해 간략히 설명한다.
서브 밴드 필터(Sub-band filter)는 영상을 여러 스펙트럼 밴드들로 분할하는 일련의 필터링 작업을 수행한다. 예를 들어 영상은 서브 밴드 필터를 통해 저역 주파수 성분을 갖는 서브 영상을 갖게 되는데, 이 영상은 원영상보다 흐려지고, 무디어진다. 그리고 밴드 수에 따라 연속적으로 고역 주파수 성분을 갖는 서브 영상을 갖게 되는데, 이 영상들은 원래 영상의 수직, 수평 및 대각선의 모서리 성분을 갖게 되는데 이것은 나중에 저역 주파수 성분의 영상에 더해짐으로써 영상을 보다 선명하게 만들어 주는 중요한 역할을 하게 된다.
영상신호의 대부분의 에너지는 수평 방향과 수직 방향의 저역 주파수 성분에 밀집되어 있다. 영상의 주파수 밴드를 나누는 원리는 영상의 주파수 밴드를 둘로 나눈 다음 그 결과를 계속해서 다시 2부분으로 나누어 가는 것이다. 여기서 영상의 2개의 주파수 밴드 즉, 저역 주파수 밴드와 고역 주파수 밴드로 나눌 수 있는 것은 QMF(Quadrature Mirror Filter)를 통해서 나눌 수 있는데, 이의 주파수 특성은 도 3에 나타내었다. 이것은 저역 통과 필터(Low Pass Filter)와 고역 통과 필터(High Pass Filter)의 임펄스 응답을 잘 설계함으로써 구현할 수 있다.
원래의 영상에서 복원된 주파수 밴드의 대역폭은 원래 영상의 대역폭보다 반으로 줄어들게 되기 때문에 각 주파수 밴드는 2:1로 복원된다.
실제의 저역 통과 필터와 고역 통과 필터는 이상적이지 않기 때문에 (예를 들어 저역 통과 필터와 고역 통과 필터가 겹치는 부분이 생기거나, 또는 필터의 리플등) 서브 영상들을 원래의 영상으로 복원할 때 바라지 않는 에어라이징(aliasing) 성분을 갖게 된다. 이상 설명한 바와 같이 종래에는 상기 서브 밴드 코딩(SBC)의 각 서브 밴드들을 풀서치 벡터 양자화기로써 부호화를 행하였다.
본 발명의 목적은 서브 밴드 코딩(SBC)에서 각 서브 밴드들을 풀서치 벡터 양자화기가 아닌 바이너리 트리 구조의 벡터 양자화기를 사용함으로써 디스턴스 계산을 줄이기 위한 보다 간단한 구조의 DPM으로 구성된 바이너리 트리 구조의 벡터 양자화기를 제공하는 것을 그 목적으로 한다.
도 1은 어버트, 타오 그리고 스미스가 제안한 왜곡 처리기 모듈(Distortion Processor Module ; 이하 DPM이라고 약칭함)의 블록도이다.
도 2는 어버트, 타오 그리고 스미스가 제안한 사이스톨릭 어레이(Systolic Array)의 구조를 간략히 나타낸다.
도 3은 QMF(Quadrature Mirror Filter)의 주파수 특성을 나타낸다.
도 4는 본 발명의 일 실시예에 의한 바이너리 트리 구조의 벡터 양자화기를 나타낸 도면이다.
도 5는 본 발명에 의한 코드북부의 일 실시예를 나타낸다.
도 6은 본 발명을 설명하기 위한 코드북 바이너리 트리 상태도를 나타낸다.
<도면의 주요부분에 대한 부호의 설명>
10, 30 : 연산 논리 장치(Arithmetic Logic Unit)
20 : 자승기 100 : 카운터
200 : 코드북부 210 : 테스트 벡터부
220 : 코드 벡터부 250 : 멀티플렉서부
290 : 멀티플렉서 300 : 왜곡 처리기 모듈부(DPM부)
320 : 자승기 400 : 연산처리부
410, 620 : 지연기 420 : 비교기
500 : 디멀티플렉서 600 : 어드레스 발생부
610 : 직 병렬 변환기
상기한 본 발명의 목적을 실현하기 위하여, 본 발명은 카운터신호를 발생하기 위한 카운터, 상기 카운터신호에 응답하여 코드북신호를 발생하기 위한 코드북부, 상기 코드북부로부터 코드북신호를 제공받고, 외부로부터 입력신호를 제공받아 MSE(mean square error)신호를 발생하기 위한 DPM부, 상기 DPM부로부터 제공된 MSE신호를 연산 처리하여 연산신호를 발생하기 위한 연산처리부, 상기 연산처리부로부터 제공된 연산신호를 디멀티플렉싱 연산을 수행한 후 디멀티플렉싱신호를 상기 코드북부에 제공하기 위한 디멀티플렉서, 그리고 상기 연산처리부로부터 연산신호를 제공받아 어드레스신호를 발생하기 위한 어드레스 발생부로 구성된 바이너리 트리 구조의 벡터 양자화기를 제공한다.
상기 바이너리 트리 구조의 벡터 양자화기에 의하면, 서브 밴드 코딩(Sub Band Coding; SBC)시 각 서브 밴드들을 풀서치 벡터 양자화가 아닌 트리 구조 검색 벡터 양자화기를 사용함으로써 디스턴스 계산을 줄일 수 있다.
이하, 첨부한 도면을 참조하여, 본 발명의 일 실시예를 통해 본 발명을 보다 상세하게 설명하고자 한다.
도 4는 본 발명의 일 실시예에 의한 바이너리 트리 구조의 벡터 양자화기를 나타낸 도면이다.
도 4를 참조하면, 상기 바이너리 트리 구조의 벡터 양자화기는 카운터(100), 코드북부(200), DPM부(300), 연산처리부(400), 디멀티플렉서(500) 그리고 어드레스 발생부(600)로 구성된다.
상기 카운터(100)는 바이너리 트리 구조 서치 방식에서 바이너리 트리 상태도의 절점(또는 분기점)인 각 노드(node)에 저장된 복수의 테스트 벡터를 차례로 가리키기 위한 카운터신호(101)를 상기 코드북부(200)에 제공한다.
상기 코드북부(200)는 테스트 벡터부(210), 코드 벡터부(220), 멀티플렉서부(250) 및 멀티플렉서(290)로 구성되어 상기 카운터(100)로부터 카운터신호(101)를 제공받아 코드북신호(291)를 상기 DPM부(300)에 제공한다.
이를 보다 상세히 설명하면, 상기 테스트 벡터부(210)는 상기 카운터(100)로부터 제공받은 카운터신호(101)에 응답하여 테스트 벡터신호(219)를 상기 멀티플렉서부(250)에 제공한다. 또한 상기 코드 벡터부(220)는 상기 카운터(100)로부터 제공받은 카운터신호(101)에 응답하여 코드 벡터신호(229)를 상기 멀티플렉서부(250)에 제공한다. 또한 상기 멀티플렉서부(250)는 상기 테스트 벡터부(210)로부터 테스트 벡터신호(219)를 제공받고, 상기 코드 벡터부(220)로부터 코드 벡터신호(229)를 제공받으며, 상기 디멀티플렉서(500)로부터 디멀티플렉싱신호(501)를 제공받아 멀티플렉싱신호(251)를 상기 멀티플렉서(290)에 제공한다. 또한 상기 멀티플렉서(250)는 상기 멀티플렉서부(250)로부터 멀티플렉싱신호(251)를 제공받고, 외부로부터 제공되는 소정의 셀렉트신호(SEL1,SEL2)에 응답하여, 상기 멀티플렉싱신호(251)를 다중화하여 상기 DPM부(300)에 제공한다. 이때 상기 소정의 셀렉트신호(SEL1,SEL2)는 멀티플렉싱신호(251)의 데이터워드에 따라 결정된다.
상기 DPM부(300)는 제1 논리 연산 장치(310), 자승기(320) 그리고 제2 논리 연산 장치(330)로 구성되어, 상기 코드북부(200)로부터 코드북신호(291)를 제공받고, 또한 외부(도시하지 않음)로부터 제공되는 입력신호(299)를 제공받아 MSE(Mean Square Error)연산을 행한 후 MSE신호(301)를 상기 연산처리부(400)에 제공한다.
이를 보다 상세히 설명하면, 상기 제1 논리 연산 장치(ALU; 310)는 제1 입력단을 통해 입력 데이터신호(299)를 제공받고, 제2 입력단을 통해 상기 코드북부(200)로부터 코드 벡터신호(291)를 제공받아 두 신호를 감산한 후 그 결과치의 절대치신호인 제1 연산 논리신호(311)를 상기 자승기(320)에 제공한다. 또한 상기 자승기(320)는 상기 제1 연산 논리 장치(310)로부터 제1 연산 논리신호(311)를 제공받아 이를 자승 연산한 후 자승신호(321)를 상기 제2 논리 연산 장치(330)에 제공한다. 또한 상기 제2 논리 연산 장치(ALU; 330)는 제1 입력단을 통해 상기 자승기(320)로부터 자승신호(321)와 출력단을 통해 제공되는 바로 전 단계의 MSE신호(301)를 제2 입력단을 통해 제공받아 상기 연산처리부(400)에 제공한다.
상기 연산처리부(400)는 제1 지연기(410) 및 비교기(420)로 구성되어 상기 DPM부(300)로부터 MSE신호(301)를 제공받아 연산신호(401)를 상기 디멀티플렉서부(500) 및 어드레스 발생부(600)에 각각 제공한다.
이를 보다 상세히 설명하면, 상기 제1 지연기(410)는 상기 DPM부(300)로부터 MSE신호(301)를 일정 시간 동안 지연시킨 제1 지연신호(411)를 상기 비교기(420)에 제공하고, 상기 비교기(420)는 상기 DPM부(300)로부터 제공된 MSE신호(301)와 상기 제1 지연기(410)로부터 제공된 제1 지연신호(411)를 비교하여 연산신호(401)를 상기 디멀티플렉서부(500) 및 어드레스 발생부(600)에 각각 제공한다.
상기 디멀티플렉서부(500)는 디멀티플렉서로 구성되어 상기 연산처리부(400)의 비교기(420)로부터 제공된 연산신호(401)를 디멀티플렉싱 연산을 수행한 후 디멀티플렉싱신호(601)를 상기 코드북부(200)의 멀티플렉서부(250)에 제공한다.
상기 어드레스 발생부(600)는 직 병렬 변환기(610) 및 제2 지연기(620)로 구성되어 상기 연산처리부(400)의 비교기(420)로부터 연산 처리신호(401)를 제공받아 어드레스신호(601)를 발생한다.
보다 상세히는 상기 직 병렬 변환기(610)는 상기 비교기(420)로부터 제공된 직렬 형태의 연산 처리신호(401)를 병렬로 변환한 후 병렬 형태의 데이터(611)를 상기 제2 지연기(620)에 제공하여 일정 시간 동안 지연한 후 어드레스 해당치인 어드레스신호(601)를 발생한다.
상기한 코드북부(200)를 일예를 통해 보다 상세히 설명한다.
도 5는 본 발명에 의한 코드북부(200)의 일 실시예를 나타낸다.
도 5를 참조하여 본 발명에 의한 상기 코드북부(200)는 테스트 벡터부(210), 코드 벡터부(220), 멀티플렉서부(250) 및 멀티플렉서(290)로 구성된다.
상기 테스트 벡터부(210)는 제1 테스트 벡터부(211), 제2 테스트 벡터부(212), 제3 테스트 벡터부(213)로 구성되어 상기 카운터(100)로부터 카운터신호를 제공받아 이에 응답하여 내장되어 있는 테스트 벡터신호를 상기 멀티플렉서부(250)에 출력한다.
보다 상세히는 상기 제1 테스트 벡터부(211)는 제1 테스트 벡터 블록 (211 a) 및 제2 테스트 벡터 블럭(211 b)으로 구성되고, 상기 제2 테스트 벡터부(212)는 제3 테스트 벡터 블록(212 a), 제4 테스트 벡터 블록(212 b), 제5 테스트 벡터 블록(212 c), 제6 테스트 벡터 블록(212 d)으로 구성되고, 상기 제3 테스트 벡터부(213)는 제7 테스트 벡터 블록(213 a), 제8 테스트 벡터 블록(213 b), 제9 테스트 벡터 블록(213 c), 제10 테스트 벡터 블록(213 d), 제11 테스트 벡터 블록(213 e), 제12 테스트 벡터 블록(213 f), 제13 테스트 벡터 블록(213 g) 및 제14 테스트 벡터 블록(213 h)으로 구성되어 각각의 테스트 벡터 블록들은 4개씩의 테스트 벡터를 가지고 있다.
상기 코드 벡터부(220)는 제1 코드 벡터 블럭(214 a), 제2 코드 벡터 블럭 (214 b), 제3 코드 벡터 블럭(214 c), 제4 코드 벡터 블럭(214 d), 제5 코드 벡터 블럭(214 e), 제6 코드 벡터 블럭(214 f), 제7 코드 벡터 블럭(214 g), 제8 코드 벡터 블럭(214 h), 제9 코드 벡터 블럭(214 i), 제10 코드 벡터 블럭(214 j), 제11 코드 벡터 블럭(214 k), 제12 코드 벡터 블럭(214 l), 제13 코드 벡터(214 m), 제14 코드 벡터(214 n), 제15 코드 벡터(214 o) 및 제16 코드 벡터 블럭(214 p)으로 구성되어, 각각의 코드 벡터 블록들은 4개씩의 코드 벡터를 가지고 있다.
상기 테스트 벡터 블록들은 동작시 상기 카운터(100)로부터 카운터신호(101)를 제공받는데, 상기 디멀티플렉서(600)로부터 제공되는 제1 디멀티플렉싱된 신호(S1)가 하이(high)레벨일 때 상기 카운터신호(101)는 카운터 업(count up)하여 상기 제1 테스트 벡터 블록(211 a)내에 존재하는 첫 번째 테스트 벡터를 출력하고, 두 번째 테스트 벡터, 세 번째 테스트 벡터 및 네 번째 테스트 벡터를 선택하는 동작을 행한다. 그후 상기 디멀티플렉서(600)의 제1 디멀티플렉싱된 신호(S1)가 로우(low)레벨로 떨어지면 상기 카운터신호(101)는 카운터 업하여 상기 제2 테스트 벡터 블록(211 b)내에 존재하는 첫 번째 테스트 벡터를 출력하고, 두 번째 테스트 벡터, 세 번째 테스트 벡터 및 네 번째 테스트 벡터를 선택하는 동작을 행한다.
상기한 동작은 카운터가 하이 레벨일 때, 또는 로우 레벨일 때 각각의 제2 테스트 벡터부(212)의 홀수 번째 테스트 벡터 블록(212 a, 212 c) 및 짝수 번째 테스트 벡터 블록(212 b, 212 d)에 적용되어 각각의 테스트 벡터를 선택하고, 이러한 동작은 제3 테스트 벡터부(213) 및 코드 벡터부(214)에도 마찬가지로 행해진다.
상기한 테스트 벡터신호(219) 및 코드 벡터신호(229)를 제공받는 멀티플렉서부(250)는 상기 디멀티플렉서(600)로부터 제1 디멀티플렉싱된 신호(S1), 제2 디멀티플렉싱된 신호(S2), 제3 디멀티플렉싱된 신호(S3) 및 제4 디멀티플렉싱된 신호(S4)를 제공받아 복수의 멀티플렉싱신호를 상기 멀티플렉서(290)에 출력한다.
상기한 멀티플렉서부(250)에는 이진 나무(Binary tree) 구조의 형태를 띄면서 복수의 멀티플렉서들이 내재한다. 이를 보다 상세히 설명하면, 제1 테스트 벡터부(211)에 제1 디멀티플렉싱된 신호(S1)를 제공받기 위한 멀티플렉서가 하나 존재하여 상기 제1 디멀티플렉싱된 신호(S1)에 응답하여 제1 테스트 벡터 블록 (211 a) 또는 제2 테스트 벡터 블럭(211 b)을 선택적으로 택하여 내재된 4개의 테스트 벡터들을 차례로 출력하게끔 경로를 열어 준다.
제2 테스트 벡터부(212)에 제1 디멀티플렉싱된 신호(S1)를 제공받기 위한 멀티플렉서가 피라미드 구조로 3개가 존재하여 상기 제1 디멀티플렉싱된 신호(S1)에 응답하여 하단의 첫 번째 멀티플렉서는 제1 테스트 벡터 블록(212 a) 또는 제2 테스트 벡터 블록(212 b)을 선택적으로 택하여 내재된 4개의 테스트 벡터들을 차례로 출력하게끔 경로를 열어 준다. 또한 하단의 두 번째 멀티플렉서는 제3 테스트 벡터 블록(212 c) 또는 제4 테스트 벡터 블록(212 d)을 선택적으로 택하여 내재된 4개의 테스트 벡터들을 차례로 출력하게끔 경로를 열어 준다.
그후 디멀티플렉서(600)로부터 제공되는 제2 디멀티플렉싱된 신호(S2)를 제공받아 이에 응답하여 상기 하단의 첫 번째 및 두 번째 멀티플렉서는 상단의 멀티플렉서에 신호를 제공하여 작은 경로의 벡터를 택한 후 상기 멀티플렉서(290)에 제공한다.
상기한 과정을 제3 테스트 벡터부(213)에도 동일한 과정을 행한다. 이때 다른 점은 멀티플렉서의 수가 피라미드 구조로 7개로 증가하고, 최하단의 4개의 멀티플렉서는 제1 디멀티플렉싱된 신호(S1)를 제공받고, 중간단의 2개의 멀티플렉서는 제2 디멀티플렉싱된 신호(S2)를 제공받으며, 상단의 1개의 멀티플렉서는 제3 디멀티플렉싱된 신호(S3)를 제공받아 가장 작은 경로의 벡터를 상기 멀티플렉서(290)에 제공한다.
또한 코드 벡터부(220)의 동작에도 테스트 벡터가 사용되지 않고 코드 벡터가 사용되고 멀티플렉서의 수가 피라미드 구조로 멀티플렉서가 15개가 배열되고 최상단에는 바로 하단의 두 개의 멀티플렉서로부터 코드 벡터신호를 제공받고 상기 디멀티플렉서(600)로부터 제4 디멀티플렉싱된 신호(S4)를 제공받아 가장 작은 경로의 벡터를 상기 멀티플렉서(290)에 제공한다.
상기 멀티플렉서(290)는 소정의 셀렉트신호(SEL1, SEL2)에 응답하여 상기 멀티플렉서부(250)로부터 멀티플렉싱신호(251)를 제공받아 이를 다중화하여 상기 DPM부(300)에 출력한다. 이때 상기 소정의 셀렉트신호(SEL1, SEL2)는 2비트의 데이터로 구성되어 만일 '00'이라면, 제1 테스트 벡터부(211)로부터 테스트 벡터를 출력하고, '01'이라면, 제2 테스트 벡터부(212)로부터 테스트 벡터를 출력하고, '10'이라면, 제3 테스트 벡터부(213)로부터 테스트 벡터를 출력하며, '11'이라면 코드 벡터부(220)로부터 코드 벡터를 출력한다.
상기와 같이 구성된 바이너리 트리 구조의 벡터 양자화기의 동작을 첨부 도면을 참조하여 보다 상세히 설명한다.
도 6은 본 발명을 설명하기 위한 코드북 바이너리 트리(Codebook binary tree) 상태도를 나타낸다.
상기한 도 6의 코드북 바이너리 트리 상태도를 참조하여 본 발명에서 제안하는 코드북 바이너리 트리 구조의 서치 벡터 양자화기를 간략히 설명한다.
도 6과 같은 코드북 바이너리 트리 상태도에서 가장 위측에 위치한 절점(node; 230)을 시발점(Origin node)이라 부르며, 나무 상태도의 절점(또는 노드)상에서 가지의 방향은 정보 비트에 따라 선택되는데, 본 예에서는 데이터가 '0'이면 가지는 좌측으로 향하고, 데이터가 '1'이라면 우측으로 향한다고 가정한다. 그러나 발명자에 따라서 우측으로 향하는 가지를 '0'으로 좌측으로 향하는 가지를 '1'로 규정하는 경우도 있다.
본 발명을 설명하기 위한 바이너리 트리 상태도는 시발점(230)을 시작으로 입력 데이터가 '0'인 제1 노드(231), 입력 데이터가 '1'이라면 제2 노드(232), 상기 제1 노드(231)를 시작으로 입력 데이터가 '0'이라면 제3 노드(232), 입력 데이터가 '1'이라면 제4 노드(234), 그리고 상기 제2 노드(232)를 시작으로 입력 데이터가 '0'이라면 제5 노드(235), 입력 데이터가 '1'이라면 제6 노드(236)까지 포함한다. 그리고 상기한 각각의 노드에는 4개의 테스트 벡터가 들어 있다.
상기한 도 6의 바이너리 트리 상태도와 상기한 도 5를 연계하여 각 단계별로 설명한다. 먼저 카운터(100)는 제1 노드(231)의 테스트 벡터 4개를 순서대로 가리켜 코드북(200)밖으로 상기 테스트 벡터를 출력하여 입력 데이터(299; x1, x2, x3, x4)와의 MSE를 구한 후 그 결과인 제1 MSE신호를 제1 지연기(400)에 저장한다. 그후 또한 카운터(100)는 제2 노드(232)의 테스트 벡터 4개를 순서대로 가리켜 코드북(200) 밖으로 출력하여 입력 데이터(299; x1, x2, x3, x4)와의 MSE를 구하여 제2 MSE신호를 출력한다.
그후 상기 제1 지연기(400)에 저장되어 있는 제1 노드(231)에 의해 출력된 제1 MSE신호와 제1 노드(231)에 의해 출력된 제2 MSE신호를 비교하여 상기 제1 MSE신호가 작다면, 경로를 제3 노드(233) 및 제4 노드(234)쪽으로 열면서 디먹스(600)에 '0'값을 제공함과 동시에 상기 직 병렬 변환기(700)에 이를 저장한다.
그후 제3 노드(233) 및 제4 노드(234)에 대해서도 상기 단계(a) 및 단계(b)를 반복한다. 이때 만일 제3 노드(233)에 의해 출력된 제3 MSE신호와 제4 노드(234)에 의해 출력된 제4 MSE신호를 비교하여 상기 제4 노드(234)에 의해 출력된 제4 MSE신호가 작다면, '1'값을 직 병렬 변환기(700)에 저장한 후 '01'값인 어드레스에 해당하는 값을 전송한다.
이상 설명한 바와 같이 본 발명은 서브 밴드 코딩(SBC)에서 각 서브 밴드들을 풀서치 벡터 양자화기가 아닌 바이너리 트리 구조의 벡터 양자화기를 사용함으로써 디스턴스 계산을 줄일 수 있다.
이상, 설명한 바와 같이 본 발명에 따라 서브 밴드 코딩(SBC; Sub-Band Coding)에서 각 서브 밴드들을 풀서치 벡터 양자화기(Full Searched Vector Quantization)가 아닌 나무 구조 검색 벡터 양자화기(Binary Tree Searched Vector Quantization)를 사용함으로써 디스턴스 계산을 줄일 수 있다.
상기한 구조를 다시 언급하면 카운터는 코드북내의 코드 벡터신호 및 테스트 벡터신호의 각 요소들을 순차적으로 카운트 업(count up)하는 동작을 반복 수행하고 상기 코드북의 구조는 상기 카운터로부터 제공된 카운터신호를 근거로 테스트 벡터를 발생하기 위한 테스트 벡터부, 코드 벡터를 발생하기 위한 코드 벡터부 및 복수의 멀티플렉서로 구성하여 상기 벡터부의 적절한 벡터의 출력을 유도하기 위한 제어 로직으로 구성한다.
또한 왜곡 처리기 모듈부내의 왜곡 처리기 모듈을 리커시브(Recursive)한 구조의 형태로써 구성함으로써 복수개의 왜곡 처리기 모듈을 구성하여 바로 전단계의 왜곡 처리기 모듈로부터 평균 제곱 에러(MSE; Mean Square Error)신호를 제공받아 최소 평균 제곱 에러(MMSE; Minimum Mean Square Error)신호를 출력하는 장치보다 훨씬 간단한 구조로써 왜곡 처리기 모듈부를 구성하여 벡터 양자화기의 부피를 줄였다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (2)

  1. 카운터신호(101)를 발생하기 위한 카운터(100);
    상기 카운터신호91010에 응답하여 테스트 벡터신호(219)를 발생하기 위한 테스트 벡터부(210);
    상기 카운터신호(101)에 응답하여 코드 벡터신호(229)를 발생하기 위한 코드 벡터부(220);
    상기 테스트 벡터부(210) 및 코드 벡터부(220)로부터 각각 테스트 벡터신호(219) 및 코드 벡터신호(229)를 제공받고, 디멀티플렉싱신호(501)를 제공받아 멀티플렉싱신호(251)를 출력하기 위한 멀티플렉서부(250);
    외부로부터 제공되는 셀렉트신호9SEL1, SEL2)에 응답하여 상기 멀티플렉서부9250)로부터 제공되는 멀티플렉싱신호(251)를 다중화하기 위한 멀티플렉서(290);
    외부로부터 입력 데이터신호(299)를 제공받고, 상기 코드 벡터신호(229)를 제공받아 두 신호를 감산하고, 그 감산 결과의 절대치에 해당하는 제1 연산 논리신호(311)를 출력하기 위한 제1 논리 연산 장치(ALU; 310);
    상기 제1 연산 논리신호(311)를 제공받아 이를 자승 연산한 후 자승신호(3210를 출력하기 위한 자승기(320);
    제1 입력단을 통해 상기 자승신호(321)를 입력받고, 출력단을 통해 제공되는 바로 전단계의 평균 제곱 에러신호(301)를 제2 입력단을 통해 제공받아서 출력하기 위한 제2 논리 연산 장치(ALU; 330);
    상기 평균 제곱 에러신호(301)를 일정 시간 동안 지연하여 제1 지연신호(411)를 출력하기 위한 제1 지연기(410);
    상기 평균 제곱 에러신호(301)와 상기 제1 지연신호(411)를 비교하여 연산시호(401)를 발생하기 위한 비교기(420);
    상기 연산신호(401)를 디멀티플렉싱한 후, 디멀티플렉싱신호(501)를 상기 멀티플렉서부(250)로 제공하기 위한 디멀티플렉서(500);
    상기 연산신호(401)를 직렬형태로 입력받아 병렬형태로 변환하기 위한 직병렬 변환기(610); 그리고
    상기 직 별렬 변환기(610)로부터 병렬 데이터를 제공받아 일정 시간 동안 저장한 후 어드레스신호9699)를 발생하기 위한 제2 지연기9620)를 포함하는 것을 특징으로 하는 바이너리 트리 구조의 벡터 양자화기.
  2. 제1항에 있어서, 상기 카운터신호(101)는 바이너리 트리(Binary Tree) 구조의 각 노드에서 복수의 테스트 벡터를 순서대로 가리키는 것을 특징으로 하는 바이너리 트리 구조의 벡터 양자화기.
KR1019970078837A 1997-12-30 1997-12-30 바이너리트리구조의벡터양자화기 KR100298307B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970078837A KR100298307B1 (ko) 1997-12-30 1997-12-30 바이너리트리구조의벡터양자화기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970078837A KR100298307B1 (ko) 1997-12-30 1997-12-30 바이너리트리구조의벡터양자화기

Publications (2)

Publication Number Publication Date
KR19990058689A KR19990058689A (ko) 1999-07-15
KR100298307B1 true KR100298307B1 (ko) 2001-10-27

Family

ID=37528339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970078837A KR100298307B1 (ko) 1997-12-30 1997-12-30 바이너리트리구조의벡터양자화기

Country Status (1)

Country Link
KR (1) KR100298307B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101348959B1 (ko) * 2013-06-04 2014-01-14 한국항공우주연구원 4 행로 나무구조 벡터 양자화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101348959B1 (ko) * 2013-06-04 2014-01-14 한국항공우주연구원 4 행로 나무구조 벡터 양자화 방법

Also Published As

Publication number Publication date
KR19990058689A (ko) 1999-07-15

Similar Documents

Publication Publication Date Title
KR100246878B1 (ko) 역이산 코사인변환 프로세서, 이산 코사인 변환계수의 매트릭스를 역변환하기 위한 방법 및 그 장치
WO1995014349A1 (en) Quadtree-structured walsh transform video/image coding
CN107135004B (zh) 一种对地震数据流的自适应实时无损压缩方法
KR20050008761A (ko) 신호의 다중속도 격자 벡터 양자화를 위한 방법 및 시스템
JP4805365B2 (ja) 置換符号による特にベクトル量子化におけるディジタル信号の符号化/復号化の改善
JPH09135149A (ja) 広帯域デジタルろ波方法およびこの方法を使用したフィルタ
WO1995014350A1 (en) Quadtree-structured walsh transform coding
US8165214B2 (en) Circuit and method for generating fixed point vector dot product and matrix vector values
WO2007114290A1 (ja) ベクトル量子化装置、ベクトル逆量子化装置、ベクトル量子化方法及びベクトル逆量子化方法
US20170359591A1 (en) Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing
EP0396121B1 (en) A system for coding wide-band audio signals
USRE38593E1 (en) Adaptive transform coding system, adaptive transform decoding system and adaptive transform coding/decoding system
KR20050012733A (ko) 패러미터 값들을 코드워드 인덱스들로 매핑하기 위한최적의 방법 및 시스템
KR100298307B1 (ko) 바이너리트리구조의벡터양자화기
US20090058694A1 (en) Decompressing Dynamic Huffman Coded Bit Streams
US4192008A (en) Wave digital filter with multiplexed arithmetic hardware
AU745212B2 (en) Circuit and method for arbitrarily shifting M-sequence
US6424986B1 (en) Architecture of discrete wavelet transformation
Moayeri et al. Wavelet transform image coding using trellis coded vector quantization
KR950022178A (ko) 디지탈신호의 부호화/복호화 방법 및 장치
JPH06350398A (ja) デジタル信号をろ波する方法及びデジタル・フィルタ
JP5557339B2 (ja) デシメーションフィルタ及びデシメーション処理方法
US5534930A (en) Method for constructing a quantization pattern codebook
US8370413B1 (en) No-multiply finite impulse response (FIR) filter using phase additions
Susilo et al. On the realtime satellite image compression of X-Sat

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
FPAY Annual fee payment

Payment date: 20120503

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130502

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee