KR20060025412A - Jpeg2000의 리프팅 이산 웨이브렛 변환장치 - Google Patents

Jpeg2000의 리프팅 이산 웨이브렛 변환장치 Download PDF

Info

Publication number
KR20060025412A
KR20060025412A KR1020040074208A KR20040074208A KR20060025412A KR 20060025412 A KR20060025412 A KR 20060025412A KR 1020040074208 A KR1020040074208 A KR 1020040074208A KR 20040074208 A KR20040074208 A KR 20040074208A KR 20060025412 A KR20060025412 A KR 20060025412A
Authority
KR
South Korea
Prior art keywords
filter
signal
lifting
processing unit
output
Prior art date
Application number
KR1020040074208A
Other languages
English (en)
Other versions
KR100628441B1 (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 KR1020040074208A priority Critical patent/KR100628441B1/ko
Publication of KR20060025412A publication Critical patent/KR20060025412A/ko
Application granted granted Critical
Publication of KR100628441B1 publication Critical patent/KR100628441B1/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H2218/00Indexing scheme relating to details of digital filters
    • H03H2218/02Coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 발명은 종래의 구조들에 비해 하드웨어의 크기를 적게 하면서도 리프팅 이산 웨이브렛 변환을 실시간으로 처리할 수 있도록 한 JPEG2000의 리프팅 이산 웨이브렛 변환장치에 관한 것으로, 입력되는 영상신호에 대하여 리프팅 이산 웨이브렛 변환의 첫 번째 레벨의 행방향에 대한 필터링을 수행하는 수평 모듈; 및 상기 수평 모듈로부터의 신호에 대하여 첫 번째 레벨의 열방향에 대한 필터링뿐만 아니라 두 번째 레벨 이상의 행방향과 열방향 모두에 대한 필터링을 수행하는 수직 모듈을 구비한다.
리프팅 이산 웨이브렛 변환, 실시간, 수평 필터, 수직 필터, 처리 유닛

Description

JPEG2000의 리프팅 이산 웨이브렛 변환장치{Apparatus for lifting discrete wavelet transform of JPEG2000}
도 1은 종래의 리프팅 스텝을 설명하기 위한 도면,
도 2는 종래의 (5,3)필터에 대한 리프팅 스텝을 설명하기 위한 도면,
도 3은 종래의 (9,7)필터에 대한 리프팅 스텝을 설명하기 위한 도면,
도 4는 종래의 리프팅 연산을 위한 처리 유닛의 구성을 설명하기 위한 도면,
도 5는 본 발명의 실시예에 따른 JPEG2000의 리프팅 이산 웨이브렛 변환장치의 구성도,
도 6은 본 발명에 적용되는 처리 유닛의 개략적인 구성도,
도 7은 도 5에 도시된 수평 필터의 내부 구성도,
도 8은 본 발명에 적용되는 (9,7)/(5,3)필터에 대한 리프팅 연산을 설명하는 도면,
도 9는 도 7에 도시된 수평 필터의 연산 순서를 나타낸 테이블도,
도 10은 도 5에 도시된 수직 모듈에서의 연산 스케쥴링을 설명하는 도면,
도 11은 도 5에 도시된 수직 모듈의 짝수행에서의 연산 타이밍도,
도 12는 도 5에 도시된 신호 버퍼의 내부 구성도,
도 13은 도 5에 도시된 수직 필터의 내부 구성도,
도 14는 도 13에 도시된 수직 필터내의 제 1처리 유닛의 내부 구성도,
* 도면의 주요부분에 대한 부호의 설명
20 : 수평 모듈 22 : 스플릿터
24 : 수평 필터 30 : 수직 모듈
32 : 신호 버퍼 34 : 수직 필터
40, 41, 62, 64, 86, 88, 192, 195 : 멀티플렉서
42, 43, 51, 52, 60, 61, 142, 145, 148, 149, 152, 155, 158, 193 : 파이프라인 레지스터
44, 53, 63, 120, 191, 194 : 곱셈기
48, 49, 57, 58, 126, 130 : 덧셈기
50, 59, 128 : 지연 레지스터 70 : 제 1버퍼
72, 74, 76, 78 : 제 2버퍼 80, 82 : 제 3버퍼
84 : 레지스터 90, 92, 94, 96 : 처리 유닛
본 발명은 JPEG2000의 리프팅 이산 웨이브렛 변환장치에 관한 것으로, 보다 상세하게는 JPEG2000의 쌍직교 (9,7)/(5,3)필터에 대한 리프팅 이산 웨이브렛 변환을 실시간으로 처리할 수 있도록 한 장치에 관한 것이다.
이산 웨이브렛 변환(DWT:Discrete Wavelet Transform)을 기반으로 압축을 수행하는 JPEG2000은 이전의 이산 코사인 변환(DCT:Discrete Cosine Transform)을 기반으로 압축을 수행하는 JPEG에 비해 보다 향상된 기능 및 효율성을 제공하는 반면 실행 시간은 증가되었다. 특히 JPEG2000의 이산 웨이브렛 변환은 필터 뱅크들을 사용하여 구현되기 때문에 방대한 연산들을 요구한다.
이와 같은 방대한 연산량을 보다 감소시키기 위해 리프팅 기반의 이산 웨이브렛 변환 방법이 제안되었다. 리프팅 연산은 빠른 계산, 정수 대 정수 변환, 쉬운 역 구현 등 많은 장점들을 포함한다. 이와 같은 장점으로 인해 JPEG2000은 이산 웨이브렛변환 연산을 위해 컨볼루션 방법 이외에 리프팅 필터링 방법을 지원하며, 디폴트(default) 모드로 비가역 변환은 쌍직교(biorthogonal) (9,7)필터를 이용하고 가역 변환을 위해서는 (5,3)필터를 이용한다. 그러나, JPEG2000의 이산 웨이브렛 변환은 행방향과 열방향 모두에 대해 처리해야 하기 때문에 실시간 처리를 위해서는 정교한 하드웨어가 필수적이다.
Mallet은 1차원 및 2차원 웨이브렛 변환 알고리즘을 개발했는데, 2차원 웨이브렛 변환의 경우 첫번째 분할 레벨에서 입력 영상은 행방향으로의 필터링 및 다운샘플링에 의해 2개의 부밴드(저주파(L), 고주파(H))로 분할되어지며, 이 2개의 부밴드들은 다시 열방향으로의 필터링 및 다운샘플링에 의해 4개의 부밴드(저주파-저주파(LL), 저주파-고주파(LH), 고주파-저주파(HL), 고주파-고주파(HH))로 분할되어진다. 2레벨 이상의 다중 레벨 분할은 입력 영상 대신 저주파-저주파 밴드를 가지고 위와 같은 과정을 반복적으로 수행한다. 결과로서 입력 영상은 J 레벨에서 3J +1 부밴드로 분할되어지고, 각 밴드의 사이즈는 N ×N 입력 영상에 대해 (N ×N)/4J크기로 감소한다.
그리고, 리프팅 이론은 필터 뱅크들을 효율적으로 계산하기 위해서 I. Daubeches 와 W. Sweldens에 의해 제안되었으며, 이산 웨이브렛 변환 동작들을 간단한 필터링 스텝들로 분할한다. 리프팅 스텝들은 도 1에서와 같이 분할(split), 예측(predict), 갱신(update) 세 가지의 스텝들로 수행된다.
분할 스텝에서는 입력신호(X)들이 짝수 샘플(Xeven)과 홀수 샘플(Xodd)들로 분할되어진다. 예측 스텝에서는 짝수 샘플(Xeven)들이 홀수 샘플(Xodd)들을 예측하기 위해 사용되며, 홀수 샘플(Xodd)들과 예측값들 사이의 차를 계산하여 고주파 계수를 계산한다. 갱신 스텝에서는 그 예측 스텝에서 제공되는 고주파 계수들을 이용하여 저주파 계수들을 계산한다.
JPEG2000에서 사용하는 쌍직교(biorthogonal) (9,7)/(5,3) 필터에 대한 리프팅 이산 웨이브렛 변환 계산은 다음의 식 (1)과 같이 나타낼 수 있다.
식 (1)
d0(i) = X(2i+1), s0(i) = X(2i)
d1(i) = d0(i)+α(s0(i)+s0(i+1)), s1(i) =s0(i)+β(d1(i-1)+d1(i))
d2(i) = d1(i)+γ(s1(i)+s1(i+1)), s2(i) = s1(i)+δ(d2(i-1)+d2(i))
H(i) = d(i) = d1(i) L(i) = s(i) = s1(i) for (5,3)filter
= (1/ζ)d2(i) =ζs2(i) for (9,7)filter
α= -0.5 β= 0.25 for (5,3)filter
= -1.586134342 = -0.0529811854 for (9,7)filter
γ= 0.8829110762, δ= 0.4435068522, ζ= 1.149604398
상기 식 (1)에서, X(n)는 입력 시퀀스(sequence)를 나타내며 N개의 입력 시퀀스(sequence)에 대해 n=0,1,2,...N 이다. i의 경우는 i=0,1,2,....N/2 이다. 그리고, d(i)는 예측(Predict) 스텝에 의한 고주파 결과를 지칭하며, s(i)는 갱신(Update) 스텝에 의한 저주파 결과들을 나타낸다.
그리고, 상기 식 (1)에서, ζ및 1/ζ는 스케일링 인자(Scaling factor)를 나타내며 (5,3)필터의 경우 1이다. (5,3)필터의 경우 도 2와 같이 한번의 예측스텝과 갱신 스텝으로 저주파와 고주파 결과를 계산할 수 있는데 반해, (9,7)필터는 도 3과 같이 예측 스텝과 갱신 스텝을 한번 더 수행함으로써 고주파 결과와 저주파 결과를 계산한다.
짝수 샘플과 홀수 샘플이 매 싸이클마다 동시에 입력된다고 가정할 때 각 리프팅 스텝 계산을 위한 처리 유닛 구조는 도 4와 같다.
리프팅 연산 처리를 위한 상기 도 4의 처리 유닛(PE: Processing Element)은 1개의 곱셈기(10)와 2개의 덧셈기(11, 12)로 구성되어지며, 1개의 곱셈기(10)와 2개의 덧셈기(11, 12)의 임계경로(critical path)를 갖는다. 임계경로란 레지스터와 레지스터 사이의 경로 또는 입력과 출력사이의 경로를 의미한다.
이와 같이 JPEG2000에서 사용되는 2차원 리프팅 이산 웨이브렛 변환에 대한 종래의 VLSI 구조들은 3가지로 구분된다.
그 중 첫번째 구조는, 2개의 처리 유닛(PE: Processing Element)으로 구성된 1차원 이산 웨이브렛 모듈 1개를 사용하여 행(열)방향 연산을 수행하여 외부 메모리에 저장하고, 이를 다시 읽어들여 같은 모듈을 사용하여 열(행) 방향 연산을 수행하며, 하나의 레벨 연산이 모두 끝난 후 다음 레벨도 같은 방법으로 수행하는 구조로서 NㅧN 영상에 대해 N2 크기의 외부 메모리를 요구한다.
두번째 구조는, 2개의 처리유닛으로 구성된 이산 웨이브렛 모듈 2개(행방향, 열방향)를 사용하여 이산 웨이브렛 하나의 레벨에 대한 연산을 행방향과 열방향을 동시에 수행하며, 하나의 레벨에 대한 연산을 모두 수행한 후 다음 레벨 연산들을 수행하는 구조로서 N2/4 크기의 외부 메모리 모듈을 필요로 한다.
세 번째 구조는 각각 4개의 처리 유닛으로 구성된 이산 웨이브렛 모듈 2개(행방향, 열방향)를 사용하여 반복 피라미드 알고리즘(RPA; Recursive Pyramid Algorithm)을 구현하는 구조이다. 그 반복 피라미드 알고리즘 구조는 외부 메모리 없이 단지 라인 메모리들만을 사용하지만 낮은 하드웨어 유용성으로 인해 두번째 구조에 비해 2배의 처리 유닛(즉, 8개의 처리 유닛)을 가진다.
본 발명은 상기한 종래의 사정을 감안하여 제안된 것으로, 본 발명의 목적은 종래의 구조들에 비해 하드웨어의 크기를 적게 하면서도 리프팅 이산 웨이브렛 변환을 실시간으로 처리할 수 있도록 한 JPEG2000의 리프팅 이산 웨이브렛 변환장치를 제공하기 위한 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시예에 따른 JPEG2000의 리프팅 이산 웨이브렛 변환장치는, 입력되는 영상신호에 대하여 리프팅 이산 웨이브렛 변환의 첫 번째 레벨의 행방향에 대한 필터링을 수행하는 수평 모듈; 및 상기 수평 모듈로부터의 신호에 대하여 첫 번째 레벨의 열방향에 대한 필터링뿐만 아니라 두 번째 레벨 이상의 행방향과 열방향 모두에 대한 필터링을 수행하는 수직 모듈을 구비한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 JPEG2000의 리프팅 이산 웨이브렛 변환장치에 대하여 설명하면 다음과 같다.
도 5는 본 발명의 실시예에 따른 JPEG2000의 리프팅 이산 웨이브렛 변환장치의 구성도이다. 본 발명의 장치는, 입력되는 영상신호에 대하여 리프팅 이산 웨이 브렛 변환의 첫 번째 레벨의 행방향에 대한 필터링을 수행하는 수평 모듈(20); 및 상기 수평 모듈(20)로부터의 신호에 대하여 첫 번째 레벨의 열방향에 대한 필터링뿐만 아니라 두 번째 레벨 이상의 행방향과 열방향 모두에 대한 필터링을 수행하는 수직 모듈(30)을 구비한다.
도 5의 장치는, 영상을 수평 방향으로의 웨이브렛 변환 후 이 결과들을 수직방향으로의 웨이브렛 변환을 수행한다. 수평방향으로의 웨이브렛변환 결과는 L(저주파) 밴드와 H(고주파) 밴드로 나누어지고, 이 L(저주파) 밴드에 대해 수직방향으로의 웨이브렛 변환 결과는 LL(저주파-저주파), LH(저주파-고주파) 밴드로 나누어지고, H(고주파)밴드에 대해 수직방향으로의 웨이브렛 변환 결과는 HL(고주파-저주파), HH(고주파-고주파) 밴드로 나누어진다. 즉, 1레벨(J=1) 웨이블렛 변환의 결과는 LL(저주파-저주파), LH(저주파-고주파), HL(고주파-저주파), HH(고주파-고주파)를 의미한다. 여기서, 저주파 밴드는 영상의 정보를 거의 가지고 있으며, 고주파 결과는 영상의 에지(edeg)와 같이 급격히 변화하는 영역에 대한 정보를 가지고 있다. 예로서, LH 결과는 수평방향으로는 저주파 성분을 가지고 있고 수직 방향으로는 고주파 성분을 가지고 있다. JPEG2000과 같은 웨이브렛변환을 이용하는 압축은 영상정보를 많이 가지는 저주파 영역에는 비트를 많이 할당하고, 에지외에는 영상정보를 거의 가지지 않는 고주파 영역에는 비트를 적게 할당하는 방식으로 압축을 수행한다.
도 5에서, 수평 모듈(20)은, 직렬로 매 싸이클마다 영상 입력들을 받아 두개 의 병렬 데이터를 2클럭 싸이클에 한번씩 출력하는 스플릿터(22); 및 상기 스플릿터(22)로부터 제공되는 두개의 병렬 데이터를 가지고서 행방향의 이산 웨이브렛 변환 연산을 행하여 저주파 결과값(L) 또는 고주파 결과값(H)을 출력하는 수평 필터(24)를 구비한다.
상기 수평 필터(24)는 리프팅 연산을 위하여 내부적으로 2개의 처리 유닛을 가지게 되는데, 그 처리 유닛은 도 6에서와 같이 기본적으로 1개의 곱셈기와 두개의 덧셈기 및 상태변수 저장용 레지스터로 구성된다. 그 도 6의 처리 유닛은 한개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는다.
상기 도 6에 도시된 처리 유닛의 경우, 리프팅 스텝 계산을 위하여 다음의 식 (2)가 적용된다.
식 (2)
d0(i) = X(2i+1), s0(i) = X(2i)
d1(i) = αs0(i+1)+q0(i-1), s1(i) =βd1(i)+q1(i-1)
q0(i) = αs0(i+1)+d0(i+1), q1(i) = βd1(i)+s 0(i+1)
d2(i) = γs1(i+1)+q2(i-1), s2(i) = δd2(i)+q3(i-1)
q2(i) = γs1(i+1)+d1(i+1), q3(i) = δd2(i)+s 1(i+1)
H(i) = d(i) = d1(i) L(i) = s(i) = s1(i) for (5,3)filter
= (1/ζ)d2(i) = ζs2(i) for (9,7)filter
상기 식 (2)는 상태변수 q(i)를 이용하여 상기 식 (1)을 분해한 것으로서, X(n)는 입력 시퀀스(sequence)를 나타내며 N개의 입력 시퀀스(sequence)에 대해 n=0,1,2,...N 이다. i의 경우는 i=0,1,2,....N/2 이다. 그리고, d(i)는 예측(Predict) 스텝에 의한 고주파 결과를 지칭하며, s(i)는 갱신(Update) 스텝에 의한 저주파 결과들을 나타낸다. 그리고, 상기 식 (2)에서 α, β, γ, δ는 필터 계수이고, ζ및 1/ζ는 스케일링 인자(Scaling factor)를 나타내며 (5,3)필터의 경우 1이다.
상술한 수평 모듈(20)은 상기 식 (2)에서와 같이 영상의 두 열(짝수열, 홀수열)을 가지고서 필터링 연산을 수행하고, 라스터(Raster) 스캔의 경우 영상은 순차적으로 들어오기 때문에 영상의 순차적 데이터를 2개의 병렬 데이터로 변환해주는 변환기가 필요하다. 즉, 수평 모듈(20)내 스플릿터(Splitter)(22)는 직렬로 매 싸이클마다 영상 입력들을 받아 2개의 병렬 데이터를 2 클럭 싸이클에 한번씩 수평 필터(24)로 보내준다. 그 스플릿터(22)로부터의 2개의 병렬 데이터는 웨이브렛 변환장치 주파수의 2싸이클마다 갱신 되어지고, 수평 필터(24)는 스플릿터(22)로부터 영상의 두 열(짝수열, 홀수열)을 가지고서 상기 식 (2) 연산을 수행한다. 이산 웨이브렛변환 연산은 고주파 결과와 저주파 결과 모두 요구되기 때문에 상기 수평 필터(24)는 매 싸이클마다 고주파 결과 또는 저주파 결과를 계산한다.
상기 수평 필터(24)의 내부 구성을 보다 상세히 설명하면, 도 7과 같은 파이프라인 구조를 가진다. 즉, 도 7에서 상기 수평 필터(24)는, 상기 스플릿터(22)로부터 제공되는 입력영상(X(n1, 2n2+1))과 제 1피드백 신호(파이프라인 레지스터(60)로부터의 신호)를 입력받아 멀티플렉싱하는 멀티플렉서(40); 상기 스플릿터(22)로부터 제공되는 입력영상(X(n1, 2n2))과 제 2피드백 신호(파이프라인 레지스터(61)로부터의 신호)를 입력받아 멀티플렉싱하는 멀티플렉서(41); 상기 멀티플렉서(40)의 출력단에 설치되어 매 클럭펄스마다 상기 멀티플렉서(40)로부터의 출력신호를 받아들여 보관하는 파이프라인 레지스터(42); 상기 멀티플렉서(41)의 출력단에 설치되어 매 클럭펄스마다 상기 멀티플렉서(41)로부터의 출력신호를 받아들여 보관하는 파이프라인 레지스터(43); 상기 파이프라인 레지스터(42, 43)로부터의 신호를 입력받아 리프팅 예측 스텝의 연산을 수행하는 제 1처리 유닛(100)(PE0); 상기 파이프라인 레지스터(43)의 출력신호를 매 클럭펄스마다 입력받은 후에 출력하는 파이프라인 레지스터(51); 상기 제 1처리 유닛(100)으로부터의 출력신호(out)를 매 클럭펄스마다 입력받은 후에 출력하는 파이프라인 레지스터(52); 상기 파이프라인 레지스터(51, 52)로부터의 신호를 입력받아 리프팅 갱신 스텝의 연산을 수행하는 제 2처리 유닛(110)(PE1); 상기 파이프라인 레지스터(52)의 출력신호를 매 클럭펄스마다 입력받은 후에 출력하되 그 출력되는 신호를 제 1피드백신호로 하여 상기 멀티플렉서(40)에게로 피드백시키는 파이프라인 레지스터(60); 상기 제 2처리 유닛(110)으로부터의 출력신호(out)를 매 클럭펄스마다 입력받은 후에 후단의 멀티플렉서(62)에게로 출력함과 더불어 그 출력되는 신호를 제 2피드백신호로 하여 상기 멀티플렉서(41)에게로 피드백시키는 파이프라인 레지스터(61); 상기 파이프라인 레지스터(52, 61)로부터의 신호를 입력받아 멀티플렉싱하는 멀티플렉서(62); 상기 멀티플렉서(62)의 출력신호에 스케일링 인자(ζ또는 1/ζ)를 곱하여 출력하는 곱셈기(63); 및 상기 멀티플렉서(62)의 출력신호와 상기 곱셈기(63)의 출력신호를 제어신호(9_7sel)에 따라 멀티플렉싱하는 멀티플렉서(64)를 구비한다.
도 7에서, X(n1,n2)은 입력영상을 나타내며, N ×N 영상에 대해 n1 = 0,1,...N-1, n2 = 0,1,...N-1이다. 여기서, n1은 행(row)을 의미하고, n2는 열(column)을 의미한다. X(n1, 2n2+1)은 행방향의 홀수열(1, 3, 5, 7, 9, …)을 나타내고, X(n1, 2n2)은 행방향의 짝수열(0, 2, 4, 6, …)을 나타내는데, 이때는 N ×N 영상에 대해 (n1 = 0,1,...N-1, n2 = 0,1,...(N/2)-1)이다. 그리고, 9_7sel은 필터가 (9,7)필터 또는 (5,3)필터로 사용할 것인지에 따른 제어신호로서, 도 7에서 수평 필터가 (9,7)필터로 사용할 경우 9_7sel이 "1"이며, (5,3)필터로 사용할 경우는 9_7sel이 "0"이다.
또한, 도 7에서 상기 멀티플렉서(64)에서 출력되는 신호(H/L(n1,n2))는 행방향으로의 이산 웨이브렛 변환에 의한 2개의 부밴드(고주파(H), 저주파(L))를 나타내며, 여기서 NㅧN 영상에 대해 n1 = 0,1,...N-1, n2 = 0,1,...(N/2)-1을 나타낸다.
한편, 상기 제 1처리 유닛(100)은, 상기 파이프라인 레지스터(43)의 출력단에 입력단이 연결되어 입력된 신호에 필터 계수(α또는 γ)를 적용시키는 곱셈기(44); 상기 파이프라인 레지스터(42)의 출력신호와 상기 곱셈기(44)의 출력신호를 더하는 덧셈기(48); 두개의 레지스터로 구성되어 상기 덧셈기(48)의 출력신호(q(i))(상태변수라고도 함)를 2클럭 싸이클 전달 지연시키는 지연 레지스터(50); 상기 곱셈(44)기의 출력신호와 상기 지연 레지스터(50)의 출력신호를 더하여 소정의 출력신호(out)를 내보내는 덧셈기(49)를 구비한다. 여기서, 제 1처리 유닛(100)은 한개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는다고 할 수 있다.
상기 제 2처리 유닛(110)은 상기 파이프라인 레지스터(52)의 출력단에 입력단이 연결되어 입력된 신호에 필터 계수(β또는 δ)를 적용시키는 곱셈기(53); 상기 파이프라인 레지스터(51)의 출력신호와 상기 곱셈기(53)의 출력신호를 더하는 덧셈기(57); 두개의 레지스터로 구성되어 상기 덧셈기(57)의 출력신호(q)(상태변수라고도 함)를 2클럭 싸이클 전달 지연시키는 지연 레지스터(59); 상기 곱셈기(53)의 출력신호와 상기 지연 레지스터(59)의 출력신호를 더하여 소정의 출력신호(out)를 내보내는 덧셈기(58)를 구비한다. 여기서, 그 제 2처리 유닛(110)은 한개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는다고 할 수 있다.
따라서, 상술한 수평 필터(24)는 2개의 처리 유닛(100, 110)을 갖추는데, 세부적으로는 3개의 곱셈기(44, 53, 63), 4개의 덧셈기(48, 49, 57, 58), 상태 변수들을 저장하기 위한 4개의 레지스터들(50, 59)을 포함하며, 파이프라인을 위한 6개의 레지스터들(42, 43, 51, 52, 60, 61)을 포함한다.
상술한 바와 같이 구성된 수평 필터(24)는 도 8의 리프팅 연산 방식 및 도 9의 연산순서에 따라 동작하게 된다. 즉, 제 1처리 유닛(100)은 리프팅 예측 (Predict) 스텝의 연산을 수행한다. 식 (2)에서 수평 필터(24)가 (5,3)필터로 사용되는 경우 d1(i) 만을 계산하며, 식 (2)에서 수평 필터(24)가 (9,7)필터로 사용되는 경우 d2(i)까지(즉, d1(i) 및 d2(i)) 계산한다. 그리고, 제 2처리 유닛(110)은 리프팅 갱신(Update) 스텝의 연산을 수행한다. 식 (2)에서 수평 필터(24)가 (5,3)필터로 사용되는 경우 s1(i) 만을 계산하며, 식 (2)에서 수평 필터(24)가 (9,7)필터로 사용되는 경우 s2(i)까지(즉, s1(i) 및 s2(i)) 계산한다.
도 8은 입력 시퀀스 8(n=0,..7)에 대한 쌍직교 (9,7)/(5,3) 필터의 리프팅 연산을 나타내고, 도 9는 영상 행의 크기 8에 대한 수평 필터의 연산 순서를 나타낸다. 본 발명에서는 영상의 경계 영역 처리는 고려하지 않으며, '0' 이라 가정한다. JPEG2000에서 제시하는 영상의 경계영역처리는 점 대칭 확장(Point Symmetric Extension)과 주기적인 확장(Periodic symmetric Extension) 등을 제시하고 있으나 경계영역 처리를 위한 확장 회로는 웨이브렛 변환 장치 외부에서도 가능하기 때문에 본 발명에서는 고려하지 않는다.
싸이클 5에서, 스플릿터(22)로부터의 입력영상 x(0,4)와 x(0,5)가 수평 필터(24)에 입력될 때 멀티플렉서(40)와 멀티플렉서(41)의 제어신호는 '0'이 되고 멀티플렉서(40)의 출력은 x(0,5)가 되며 멀티플렉서(41)의 출력은 x(0,4)이 된다.
싸이클 6때는 파이프라인 레지스터(42)의 출력은 x(0,5)가 되고, 파이프라인 레지스터(43)의 출력은 x(0,4)가 된다. 이때, 제 1 처리유닛(100)(PE0) 내 곱셈기(44)는 파이프라인 레지스터(43)의 출력 신호 x(0,4)에 필터계수(α)를 곱하여 α*x(0,4)를 출력한다. 덧셈기(48)는 상기 곱셈기(44)의 출력 신호에 파이프라인 레지스터(42)의 출력 신호(x(0,5))를 합하여 상태변수값 α*x(0,4)+x(0,5) 결과를 계산한다. 이때, 덧셈기(49)는 지연 레지스터(50)로부터의 출력결과인 2싸이클 전에 계산되어 저장된 상태변수값(α*x(0,2)+x(0,3))과 곱셈기(44)의 출력 신호인 α*x(0,4)를 합하여 d1(0,1)=α*x(0,4)+α*x(0,2)+x(0,3)를 계산한다.
상기 계산되어진 d1(0,1)값은 다음 싸이클 때(즉, 싸이클 7) 파이프라인 레지스터(52)의 출력신호가 되고, 파이프라인 레지스터(43)의 출력신호인 x(0,4)는 다음싸이클(즉, 싸이클 7)때 파이프라인 레지스터(51)의 출력신호가 된다.
싸이클 7때는 제 2처리유닛(110)(PE1)내 곱셈기(53)는 파이프라인 레지스터(52)의 출력 신호 d1(0,1)에 필터계수(β)를 곱하여 β*d1(0,1)를 출력한다. 덧셈기(57)는 곱셈기(53)의 출력 신호에 파이프라인 레지스터(51)의 출력 신호(x(0,4))를 합하여 상태변수값 β*d1(0,1)+x(0,4) 결과를 계산한다. 이때, 덧셈기(58)는 지연 레지스터(59)로부터의 출력결과인 2싸이클 전에 계산되어 저장된 상태변수값(β*d1(0,0)+x(0,2))과 곱셈기(53)의 출력 신호인 β*d1(0,1)를 합하여 s1(0,1)=β*d1(0,1)+β*d1(0,0)+x(0,2)를 계산한다.
상기 수평 필터(24)가 (5,3)필터로 동작할 경우(멀티플렉서(64)의 제어신호 9_7sel = '0')에는 파이프라인 레지스터(52)의 출력 (d1(0,1))은 멀티플렉서(62)의 제어신호는 '0'이 되어 H(0,1) 출력값이 되고, 덧셈기(58)의 출력 s1(0,1)은 다음 싸이클(즉, 싸이클 8)때 파이프라인 레지스터(61)의 출력이 되며, 이때 멀티플렉서(62)의 제어신호는 '1'이 되어 L(0,1) 출력값이 된다.
상기 수평 필터(24)가 (9,7)필터로 사용될 경우 싸이클 8때 덧셈기(58)의 출력신호인 s1(0,1)값은 파이프라인 레지스터(61)의 출력신호가 되어 상기 멀티플렉서(41)로 피드백되고, 파이프라인(52)의 출력신호인 d1(0,1) 값은 파이프라인 레지스터(60)의 출력신호가 되어 상기 멀티플렉서(40)로 피드백된다. 이때, 멀티플렉서(40)와 멀티플렉서(41)의 제어신호는 '1'이 되고, 멀티플렉서(40)의 출력은 d1(0,1)이 되며, 멀티플렉서(41)의 출력은 s1(0,1) 된다.
싸이클 9때는 파이프라인 레지스터(42)의 출력은 d1(0,1)가 되고, 파이프라인 레지스터(43)의 출력은 s1(0,1)가 된다. 이때, 제 1 처리유닛(100)(PE0) 내 곱셈기(44)는 파이프라인 레지스터(43)의 출력 신호 s1(0,1)에 필터계수(γ)를 곱하여 γ*s1(0,1)를 출력한다. 덧셈기(48)는 곱셈기(44)의 출력 신호에 파이프라인 레지스 터(42)의 출력 신호(d1(0,1))를 합하여 상태변수값 γ*s1(0,1)+d1(0,1)결과를 계산한다. 이때, 덧셈기(49)는 지연 레지스터(50)로부터의 출력결과인 2싸이클 전에 계산되어 저장된 상태변수값(γ*s1(0,0)+d1(0,0))과 곱셈기(44)의 출력 신호인 γ*s1(0,1)를 합하여 d2(0,0)=γ*s1(0,1)+γ*s1(0,0)+d1 (0,0)를 계산한다.
상기 계산되어진 d2(0,0)값은 다음 싸이클(즉, 싸이클 10)때 파이프라인 레지스터(52)의 출력신호가 되고, 파이프라인 레지스터(43)의 출력신호인 s1(0,1)는 다음싸이클(즉, 싸이클 10)때 파이프라인 레지스터(51)의 출력신호가 된다.
싸이클 10때는 제 2 처리유닛(110)(PE1)내 곱셈기(53)는 파이프라인 레지스터(52)의 출력 신호 d2(0,0)에 필터계수(δ)를 곱하여 δ*d2(0,0)를 출력한다. 덧셈기(57)는 곱셈기(53)의 출력 신호에 파이프라인 레지스터(51)의 출력 신호(s1(0,1))를 합하여 상태변수값 δ*d2(0,0)+s1(0,1) 결과를 계산한다. 이때 덧셈기(58)는 지연 레지스터(59)로부터의 출력결과인 2싸이클 전에 계산되어 저장된 상태변수값(s1(0,0))과 곱셈기(53)의 출력 신호인 δ*d2(0,0) 를 합하여 s2(0,0)=δ*d2(0,0)+s1(0,0)를 계산한다.
이때 파이프라인 레지스터(52)의 출력 d2(0,0)은 멀티플렉서(62)의 제어신호 가 '0'이 되어 H(0,0) 출력값이 되고, 계산되어진 덧셈기(58)의 출력 s2(0,0)은 다음 싸이클(즉, 싸이클 11)때 파이프라인 레지스터(61)의 출력이 되고, 이때 멀티플렉서(62)의 제어신호가 '1'이 되어 L(0,0) 출력값이 된다.
이와 같이 상기 수평 필터(24)는 고주파 결과값(H) 또는 저주파 결과값(L)을 수직 모듈(30)에게로 보내고, 계산되어진 상태 변수들은 다음 계산을 위해 레지스터에 저장되어진다. 즉, 계산되어진 상태변수는 2싸이클 후에 사용되어지기 때문에 각 처리 유닛(100, 110)내 각 상태변수는 2개의 레지스터(50, 59)에 저장된다.
그리고, 상기 수직 모듈(30)의 경우 행방향 연산은 2 개의 열 데이터를 사용하여 동작하는 반면, 열방향으로의 연산은 2개의 행의 저주파와 고주파 결과들을 이용하여 연산을 수행한다. 즉, 첫번째 레벨의 연산의 경우 영상의 짝수 행에 대한 저주파와 고주파 결과만으로는 열방향으로의 연산을 수행할 수 없으며, 홀수 행의 저주파와 고주파 결과가 유용해야 비로소 열방향으로의 연산을 수행할 수 있다. 이와 같이 첫번째 레벨의 연산이 수행될 수 없는 짝수 번째 행의 주기는 2번째 레벨 이상의 연산을 수행하는데 사용될 수 있다(RPA). 상기 수직 모듈(30)은 수평 모듈(20)과는 달리 매 싸이클 마다 저주파 출력과 고주파 출력을 동시에 계산하여 출력하며 다음과 같은 연산 스케쥴링을 이용한다.
1) 수평 모듈(20)이 영상의 홀수행에 대한 L, H 출력 결과를 내보낼 때, 수직 모듈(30)은 첫번째 레벨의 열방향을 수행한다.
2) 수평 모듈(20)이 영상의 짝수행에 대한 L, H 출력 결과를 내보낼 때, 수 직 모듈(30)은 2번째 레벨 이상의 행방향과 열방향 연산을 수행한다.
2a) 수평 모듈(20)이 영상의 2(J-1) k + (2(J-1) -2)행에 대한 출력 결과를 내보낼 때, 수직 모듈(30)은 J번째 레벨 행방향 연산을 수행한다. (J>1)(K= 0,1,2,…)
2b) 수평 모듈이 영상의 2J k + (2(J-1) -2)행에 대한 출력 결과를 내보낼 때, 수직 모듈(30)은 J번째 레벨 열방향 연산을 수행한다. (J>1)(K= 0,1,2,…)
이와 같이 동작하는 수직 모듈(30)의 3레벨 웨이브렛 변환 연산에 대한 연산 스케쥴링은 도 10에 예시된 바와 같으며, 도 10에서 각 심벌은 각 레벨의 하나의 행에 대한 행방향 또는 열방향 연산들을 나타낸다.
그리고, 상기 수평 모듈(20)이 영상의 짝수번째 행에 대한 출력을 계산할 때, 수직 모듈(30)은 도 11에서와 같은 타이밍으로 2번째 레벨 이상의 연산을 수행한다.
상기 수직 모듈(30)은 첫 번째 레벨의 열방향 연산 및 2번째 레벨 이상의 행방향과 열방향 연산에 필요한 신호를 임시적으로 버퍼링하는 신호 버퍼(32); 및 상호 파이프라인 형태로 연결된 네 개의 처리 유닛을 갖추되 제 1처리 유닛은 상기 신호 버퍼(32)로부터의 신호에 대하여 첫 번째 리프팅 예측 스텝의 연산을 수행하고, 제 2처리 유닛은 상기 제 1처리 유닛으로부터의 신호에 대하여 첫 번째 리프팅 갱신 스텝의 연산을 수행하며, 제 3처리 유닛은 상기 제 2처리 유닛으로부터의 신 호에 대하여 두 번째 리프팅 예측 스텝을 수행하고, 제 4처리 유닛은 상기 제 3처리 유닛으로부터의 신호에 대하여 두 번째 리프팅 리프팅 갱신 스텝의 연산을 수행하는 수직 필터(34)를 구비한다.
상기 신호 버퍼(32)는 중간적인 신호 결과들의 저장 및 이 결과들을 수직 필터(34)에게로 출력하게 되는데, 상기 신호 버퍼(32)의 내부구성은 도 12와 같다.
도 12의 신호 버퍼(32)는, 입력 영상의 짝수 행에 대한 상기 수평 모듈(20)로부터의 고주파와 저주파 출력 결과들을 저장하는 제 1버퍼(70); 피드백되어 입력되는 2번째 레벨 이상의 행방향으로의 이산 웨이브렛 변환에 의한 2개의 부밴드((LL)J-1H(n1,n2), (LL)J-1L(n1,n2))(J>1)의 짝수 행과 홀수 행을 저장하는 제 2버퍼(72, 74; 76, 78); 피드백되어 입력되는 열방향으로의 이산 웨이브렛 변환에 의한 1개의 부밴드 (LL)J (J>0)한 행의 짝수 열들과 홀수 열들의 결과를 분리적으로 저장하는 제 3버퍼(80, 82); 행방향으로의 이산 웨이브렛 변환에 의한 2개의 부밴드(H/L(n1,n2))의 홀수 행에 대한 상기 수평 모듈(20)로부터의 고주파와 저주파 출력 결과를 일시적으로 저장하는 레지스터(84); 상기 제 2버퍼내의 버퍼(76, 78)에서 출력되는 (LL)J-1L(n1,n2), (LL)J-1H(n1,n2 ) 밴드의 홀수 행에 대한 신호와 상기 레지스터(84)의 출력신호 및 상기 제 3버퍼내의 버퍼(80)에서 출력되는 (LL)J 한 행의 홀수 열의 신호를 입력받아 멀티플렉싱하는 멀티플렉서(86); 및 상기 제 1버퍼(70) 로부터의 출력신호와 상기 제 2버퍼내의 버퍼(72, 74)에서 출력되는 (LL)J-1L(n1,n2), (LL)J-1H(n1,n2) 밴드의 짝수 행에 대한 신호와 상기 제 3버퍼내의 버퍼(82)에서 출력되는 (LL)J 한행의 짝수 열의 신호를 입력받아 멀티플렉싱하는 멀티플렉서(88)로 구성된다.
상기 제 2버퍼내의 버퍼(72, 74)는 피드백되어 입력되는 2번째 레벨 이상의 행방향으로의 이산 웨이브렛 변환에 의한 2개의 부밴드((LL)J-1L(n1,n2), (LL)J-1H(n1,n2)) (J>1)의 짝수 행을 저장하고, 상기 제 2버퍼내의 버퍼(76, 78)는 피드백되어 입력되는 2번째 레벨 이상의 행방향으로의 이산 웨이브렛 변환에 의한 2개의 부밴드((LL)J-1L(n1,n2), (LL)J-1H(n1,n2)) (J>1)의 홀수 행을 저장한다.
그리고, 상기 제 3버퍼내의 버퍼(80)는 피드백되어 입력되는 열방향으로의 이산 웨이브렛 변환에 의한 1개의 부밴드 (LL)J (J>0)한 행의 홀수 열들의 결과를 저장하고, 상기 제 3버퍼내의 버퍼(82)는 피드백되어 입력되는 열방향으로의 이산 웨이브렛 변환에 의한 1개의 부밴드 (LL)J (J>0)한 행의 짝수 열들의 결과를 저장한다.
도 12에서, 레지스터(84)는 전달지연 레지스터로서, 하나의 레지스터를 나타 낸다. 따라서, 1클럭 싸이클의 전달지연이 생긴다.
도 12에서, 제 1버퍼(70)는 한행에 대한 1레벨의 행방향의 결과인 고주파와 저주파 출력 결과들을 저장하기 때문에 N 크기를 가지며, 제 2버퍼(72, 74; 76, 78)와 제 3버퍼(80, 82)는 2레벨 이상의 웨이브렛 연산에 사용되며 N/2(= N/4+(N/8)+...(N/2J) )(J>1) 크기를 가진다.
만약, 상기 수평 모듈(20)이 영상의 홀수 행에 대한 고주파 결과값(H), 저주파 결과값(L)들을 출력한다면, 상기 수직 필터(34)는 이전 짝수 행의 해당 열의 고주파 또는 저주파 결과를 제 1버퍼(70)((L/H)e행 버퍼)로부터 읽어 들여 고주파-저주파(HL), 고주파-고주파(HH) 또는 저주파-저주파(LL), 저주파-고주파(LH) 결과들을 출력한다. 계산되어진 저주파-저주파 결과는 2번째 레벨의 계산을 위해 제 3버퍼(80, 82)(LL 버퍼)에 저장된다.
반면, 만약 상기 수평 모듈(20)이 짝수 행에 대한 고주파 결과값(H), 저주파 결과값(L)들을 출력한다면, 상기 수직 필터(34)는 상술한 연산 스케쥴링에 따라 2번째 레벨 이상의 행방향과 열방향 연산을 수행한다.
상기 수직 필터(34)는 도 13과 같은 파이프라인 구조를 가진다.
도 13의 수직 필터(34)는, 상기 신호 버퍼(32)의 멀티플렉서(86)로부터의 신호(L/H(2n1+1,n2)/LL(n1,2n2+1)) 및 상기 신호 버퍼(32)의 멀티플렉서(88)로부터의 신호(L/H(2n1,n2)/LL(n1,2n2))를 입력받아 첫 번째 리프팅 예측(Predict) 스텝의 연 산을 수행하여 소정의 고주파 결과값(상기 식 (2)에서 d1(i))을 계산해 내는 제 1처리 유닛(90); 상기 제 1처리 유닛(90)으로부터의 신호를 입력받아 첫 번째 리프팅 갱신(Update) 스텝의 연산을 수행하여 소정의 저주파 결과값(상기 식 (2)에서 s1(i))을 계산해 내는 제 2처리 유닛(92); 상기 제 2 처리 유닛(92)으로부터의 신호를 입력받아 두 번째 리프팅 예측(Predict) 스텝의 연산을 수행하여 소정의 고주파 결과값(상기 식 (2)에서 d2(i))을 계산해 내는 제 3처리 유닛(94); 상기 제 3처리 유닛(94)으로부터의 신호를 입력받아 두 번째 리프팅 갱신(Update) 스텝의 연산을 수행하여 소정의 저주파 결과값(상기 식 (2)에서 s2(i))을 계산해 내는 제 4처리 유닛(96); 매 클럭펄스마다 상기 제 1 처리유닛(90)의 제 1 출력단의 신호를 상기 제 2처리 유닛(92)의 제 1입력단으로 제공하는 파이프라인 레지스터(142); 매 클럭펄스마다 상기 제 1 처리유닛(90)의 제 2출력단의 신호를 상기 제 2처리 유닛(92)의 제 2입력단으로 제공하는 파이프라인 레지스터(145); 매 클럭펄스마다 상기 제 2처리유닛(92)의 제 1출력단의 신호를 입력 상기 제 3처리 유닛(92)의 제 1입력단으로 제공하는 파이프라인 레지스터(148); 매 클럭펄스마다 상기 제 2처리 유닛(92)의 제 2출력단에서의 신호를 상기 제 3처리 유닛(94)의 제 2입력단으로 제공하는 파이프라인 레지스터(149); 매 클럭펄스마다 상기 제 2처리유닛(94)의 제 1 출력단의 신호를 상기 제 4처리 유닛(96)의 제 1입력단으로 제공하는 파이프라인 레지스터(152); 상기 제 3 처리유닛(94)의 제 2출력단 신호를 입력받아 상기 제 4처리 유 닛(96)의 제 2입력단으로 제공하는 파이프라인 레지스터(155); 매 클럭펄스마다 상기 제 4 처리유닛의 제 1단 출력 신호를 입력받은 후에 출력하는 파이프라인 레지스터(158); 매 클럭펄스마다 상기 제 4처리 유닛(96)의 제 2출력단에서의 신호를 입력받은 후에 출력하는 파이프라인 레지스터(193); 상기 파이프라인 레지스터(158)의 출력신호에 소정의 스케일링 인자(1/ζ)를 곱하는 곱셈기(191); 상기 파이프라인 레지스터(148)의 출력신호와 상기 곱셈기(191)의 출력신호를 입력받아 제어신호(9_7sel)에 따라 멀티플렉싱하여 고주파 및 저주파 결과값(HH/LH(n1,n2)/(LL)H(n1,n2))을 출력하는 멀티플렉서(192); 상기 파이프라인 레지스터(193)의 출력신호에 소정의 스케일링 인자(ζ)를 곱하는 곱셈기(194); 및 상기 파이프라인 레지스터(149)의 출력신호와 상기 곱셈기(194)의 출력신호를 입력받아 제어신호(9_7sel)에 따라 멀티플렉싱하여 고주파 및 저주파 결과값(HH/LL(n1,n2)/(LL)L(n1,n2))을 출력하는 멀티플렉서(195)를 구비한다.
그리고, 수직 필터(34)내 처리 유닛들은 각각의 입력에 곱해지는 필터계수(제 1처리 유닛(90)의 경우: α, 제 2처리 유닛(92)의 경우: β, 제 3처리 유닛(94)의 경우: γ, 제 4처리 유닛(96)의 경우: δ)를 제외하고는 동일하다.
상기 제 1처리 유닛(90)의 내부 구조는 도 14에서와 같이, 입력신호(PE_IN(even))(H/L(2n1,n2)/LL(n1,2n2))에 필터 계수(α)를 적용시키는 곱셈기(120); 입력신호(PE_IN(odd))(H/L(2n1+1,n2)/LL(n1,2n2+1))와 상기 곱셈기(120)의 출력신호를 더하는 덧셈기(126); 2N 크기의 라인 버퍼로 구성되어 각 레벨의 열방 향 연산시 상기 덧셈기(126)의 출력신호(qv)(수직 상태변수라고도 함)를 2JN 클럭 싸이클 전달 지연시키는 지연 버퍼(127); 한개의 레지스터로 구성되어 행방향 연산시 상기 덧셈기(126)의 출력신호(qH)(수평 상태변수라고도 함)를 1클럭 싸이클 전달 지연시키는 지연 레지스터(128); 상기 지연 버퍼(127)와 지연 레지스터(128)로부터의 출력신호를 입력받아 멀티플렉싱하는 멀티플렉서(129); 상기 곱셈기(120)의 출력신호와 상기 멀티플렉서(129)의 출력신호를 더하여 소정의 출력신호(out)를 내보내는 덧셈기(130)를 구비한다.
상기의 도 14에서, 지연 버퍼(127)는 N*N영상에 대해 2N 크기의 라인 메모리라고 할 수 있다.
상술한 수직 필터(34)의 제 1처리 유닛(90)은 첫 번째 리프팅 예측 (Predict) 스텝의 연산을 수행하고 식 (2)에서 d1(i)를 계산한다. 제 2처리 유닛(92)은 첫 번째 갱신 (Update) 스텝의 연산을 수행하고 식 (2)에서 s1(i)를 계산한다.
제 3처리 유닛(94)은 두 번째 리프팅 예측 (Predict) 스텝의 연산을 수행하고 식 (2)에서 d2(i)를 계산하며, 제 4처리 유닛(96)은 두 번째 갱신 (Update) 스텝의 연산을 수행하고 식 (2)에서 s2(i)를 계산한다. (5,3) 필터의 경우는 d1(i)과 s1(i) 만이 요구되어지기 때문에 9_7sel이 '0' 이 되어 d1(i)과 s1(i)의 결과가 H(i)와 L(i) 결과가 되며, (9,7)필터의 경우 d2(i)과 s2(i) 결과가 요구되어지기 때문에 9_7sel이 '1' 이 되어 d2(i)과 s2(i)의 결과에 스케일링 인자(scaling factor)를 곱하여 H(i)와 L(i) 결과가 출력된다.
한편, 상기 수직 필터(34)내의 각 처리 유닛(90, 92, 94, 96)은 행방향의 상태변수(qH)들을 위해 1개의 레지스터를 요구하며, 열방향의 상태 변수(qV)를 위해서는 모든 레벨의 하나의 행에 대한 상태변수를 저장해야 하기 때문에 2N(= N+(N/2)+...(N/2J-1) ) 크기의 버퍼를 필요로 한다. 이와 같이 상기 수직 필터(34)는 스케일링 인수를 포함하여 6개의 곱셈기와 8개의 덧셈기, 및 8N 크기의 버퍼들을 포함한다.
이상 상세히 설명한 바와 같이 본 발명에 따르면, JPEG2000의 쌍직교 (9-7)/(5-3) 리프팅 이산 웨이브렛 변환을 본 발명의 VLSI 구조로 구현하였을 경우 N*N 영상에 대해 외부 메모리의 사용 없이 내부의 12N(신호버퍼: 4N, 수직버퍼:8N) 크기의 라인 메모리만을 사용하여 구현할 수 있으며, 쌍직교 (9-7)의 경우 종래의 RPA를 이용한 구조가 행방향 연산을 위한 처리 유닛 4개, 열방향 연산을 위한 처리 유닛 4개를 사용하는 반면 본 발명의 구조는 2번째 레벨 이상의 행방향 연산과 열방향 연산 모두를 첫번째 레벨의 열방향 연산을 수행하는 필터에서 수행하게 함으로써 행방향 연산을 위한 처리 유닛 2개, 열방향 연산을 위한 처리 유닛 4개를 가 진다.
결과로서 종래의 RPA 기반 구조가 스케일링 인자(scaling factor)를 포함하여 12개의 곱셈기, 16개의 덧셈기가 필요한 반면, 본 발명의 구조는 9개의 곱셈기와 12개의 덧셈기만을 필요로 하여 하드웨어 양을 적게 차지한다.
또한, 본 발명에서의 각 리프팅 스텝을 계산하는 처리 유닛은 1개의 곱셈기와 1개의 덧셈기의 임계경로를 가져, 종래에 제안된 1개의 곱셈기와 2개의 덧셈기의 임계경로에 대해 하나의 덧셈기 전달 지연을 감소시킬 수 있다.
한편, 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있고, 그러한 수정 및 변형이 가해진 기술사상 역시 이하의 특허청구범위에 속하는 것으로 보아야 한다.

Claims (7)

  1. 입력되는 영상신호에 대하여 리프팅 이산 웨이브렛 변환의 첫 번째 레벨의 행방향에 대한 필터링을 수행하는 수평 모듈; 및
    상기 수평 모듈로부터의 신호에 대하여 첫 번째 레벨의 열방향에 대한 필터링뿐만 아니라 두 번째 레벨 이상의 행방향과 열방향 모두에 대한 필터링을 수행하는 수직 모듈을 구비하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.
  2. 제 1항에 있어서,
    상기 수평 모듈은, 직렬로 매 싸이클마다 영상 입력들을 받아 두개의 병렬 데이터를 2클럭 싸이클에 한번씩 출력하는 스플릿터; 및 상기 스플릿터로부터 제공되는 두개의 병렬 데이터를 가지고서 이산 웨이브렛 변환 연산을 행하여 저주파 결과값 또는 고주파 결과값을 출력하는 수평 필터를 구비하되,
    상기 수평 필터는 파이프라인 형태로 상호 연결된 두개의 처리 유닛을 구비하고, 상기 각각의 처리 유닛은 한개의 곱셈기와 두개의 덧셈기 및 상태변수 저장용인 두개의 레지스터를 갖추되 한개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.
  3. 제 2항에 있어서,
    상기 두개의 처리 유닛중에서 전단의 처리 유닛은 리프팅 예측 스텝의 연산을 수행하고 해당 수평 필터가 (5,3)필터로 사용되는 경우 하기의 식에서 d1(i)만을 계산하며 해당 수평 필터가 (9,7)필터로 사용되는 경우 하기의 식에서 d1(i) 및 d2(i)를 계산하고, 후단의 처리 유닛은 리프팅 갱신 스텝의 연산을 수행하고 해당 수평 필터가 (5,3)필터로 사용되는 경우 하기의 식에서 s1(i)만을 계산하며 해당 수평 필터가 (9,7)필터로 사용되는 경우 하기의 식에서 s1(i) 및 s2(i)를 계산하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.
    (식)
    d0(i) = X(2i+1), s0(i) = X(2i)
    d1(i) = αs0(i+1)+q0(i-1), s1(i) =βd1(i)+q1(i-1)
    q0(i) = αs0(i+1)+d0(i+1), q1(i) = βd1(i)+s 0(i+1)
    d2(i) = γs1(i+1)+q2(i-1), s2(i) = δd2(i)+q3(i-1)
    q2(i) = γs1(i+1)+d1(i+1), q3(i) = δd2(i)+s 1(i+1)
    H(i) = d(i) = d1(i) L(i) = s(i) = s1(i) for (5,3)filter
    = (1/ζ)d2(i) = ζs2(i) for (9,7)filter
    상기 X(n)는 입력 시퀀스(sequence)를 나타내며 N개의 입력 시퀀스(sequence)에 대해 n=0,1,2,...N 이고, i의 경우는 i=0,1,2,....N/2 이다. 상기 d(i)는 예측(Predict) 스텝에 의한 고주파 결과를 지칭하며, s(i)는 갱신(Update) 스텝에 의한 저주파 결과들을 나타낸다. 상기 α, β, γ, δ는 필터 계수이고, ζ및 1/ζ는 스케일링 인자(Scaling factor)를 나타낸다.
  4. 제 1항에 있어서,
    상기 수직 모듈은, 상기 수평 모듈이 영상의 홀수행에 대한 저주파 또는 고주파 출력을 계산할 때 첫 번째 레벨의 열방향 연산을 수행하고, 상기 수평 모듈이 영상의 영상의 짝수행에 대한 저주파 또는 고주파 출력을 계산할 때 두 번째 레벨 이상의 행방향과 열방향 연산을 수행하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.
  5. 제 4항에 있어서,
    상기 수직 모듈은, 상기 수평 모듈로부터의 신호를 임시적으로 버퍼링하는 신호 버퍼; 및 상호 파이프라인 형태로 연결된 제 1 내지 제 4처리 유닛을 갖춘 수직 필터를 구비하고,
    상기 제 1처리 유닛은 상기 신호 버퍼로부터의 신호에 대하여 첫 번째 리프 팅 예측 스텝의 연산을 수행하여 하기의 식에서 d1(i)을 계산하고, 상기 제 2처리 유닛은 상기 제 1처리 유닛으로부터의 신호에 대하여 첫 번째 리프팅 갱신 스텝의 연산을 수행하여 하기의 식에서 s1(i)을 계산하며, 상기 제 3처리 유닛은 상기 제 2처리 유닛으로부터의 신호에 대하여 두 번째 리프팅 예측 스텝을 수행하여 하기의 식에서 d2(i)를 계산하고, 상기 제 4처리 유닛은 상기 제 3처리 유닛으로부터의 신호에 대하여 두 번째 리프팅 리프팅 갱신 스텝의 연산을 수행하여 하기의 식에서 s2(i)를 계산하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.
    (식)
    d0(i) = X(2i+1), s0(i) = X(2i)
    d1(i) = αs0(i+1)+q0(i-1), s1(i) =βd1(i)+q1(i-1)
    q0(i) = αs0(i+1)+d0(i+1), q1(i) = βd1 (i)+s0(i+1)
    d2(i) = γs1(i+1)+q2(i-1), s2(i) = δd2(i)+q3(i-1)
    q2(i) = γs1(i+1)+d1(i+1), q3(i) = δd2(i)+s 1(i+1)
    H(i) = d(i) = d1(i) L(i) = s(i) = s1(i) for (5,3)filter
    = (1/ζ)d2(i) = ζs2(i) for (9,7)filter
    상기 X(n)는 입력 시퀀스(sequence)를 나타내며 N개의 입력 시퀀스(sequence)에 대해 n=0,1,2,...N 이고, i의 경우는 i=0,1,2,....N/2 이다. 상기 d(i)는 예측(Predict) 스텝에 의한 고주파 결과를 지칭하며, s(i)는 갱신(Update) 스텝에 의한 저주파 결과들을 나타낸다. 상기 α, β, γ, δ는 필터 계수이고, ζ및 1/ζ는 스케일링 인자(Scaling factor)를 나타낸다.
  6. 제 5항에 있어서,
    상기 신호 버퍼는, 입력 영상의 짝수 행에 대한 상기 수평 모듈로부터의 고주파와 저주파 출력 결과들을 저장하는 제 1버퍼; 피드백되어 입력되는 2번째 레벨 이상의 행방향으로의 이산 웨이브렛 변환에 의한 2개의 부밴드((LL)J-1L(n1,n2 ), (LL)J-1H(n1,n2))의 짝수 행과 홀수 행을 저장하는 제 2버퍼; 피드백되어 입력되는 열방향으로의 이산 웨이브렛 변환에 의한 1개의 부밴드 (LL)J 한 행의 짝수번째 열들과 홀수번째 열들의 결과를 분리적으로 저장하는 제 3버퍼; 행방향으로의 이산 웨이브렛 변환에 의한 2개의 부밴드(L/H(n1,n2))의 홀수 행에 대한 상기 수평 모듈로부터의 고주파와 저주파 출력 결과를 일시적으로 저장하는 레지스터; 상기 제 2버퍼에서 출력되는 (LL)J-1L(n1,n2), (LL)J-1H(n1,n 2) 밴드의 홀수 행에 대한 신호와 상기 레지스터의 출력신호 및 상기 제 3버퍼에서 출력되는 (LL)J 한 행의 홀수 열의 신호를 입력받아 멀티플렉싱하는 멀티플렉서; 및 상기 제 1버퍼로부터의 출력신호와 상기 제 2버퍼에서 출력되는 (LL)J-1L(n1,n2), (LL)J-1H(n 1,n2) 밴드의 짝수 행에 대한 신호와 상기 제 3버퍼에서 출력되는 (LL)J 한행의 짝수 열의 신호를 입력받아 멀티플렉싱하는 멀티플렉서로 구성되는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.
  7. 제 5항에 있어서,
    상기 각각의 제 1 내지 제 4처리 유닛은, 한개의 곱셈기와 두개의 덧셈기와 열방향의 상태변수 저장용 버퍼 및 행방향의 상태변수 저장용 레지스터로 구성되되, 각각 한개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.
KR1020040074208A 2004-09-16 2004-09-16 Jpeg2000의 리프팅 이산 웨이브렛 변환장치 KR100628441B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040074208A KR100628441B1 (ko) 2004-09-16 2004-09-16 Jpeg2000의 리프팅 이산 웨이브렛 변환장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040074208A KR100628441B1 (ko) 2004-09-16 2004-09-16 Jpeg2000의 리프팅 이산 웨이브렛 변환장치

Publications (2)

Publication Number Publication Date
KR20060025412A true KR20060025412A (ko) 2006-03-21
KR100628441B1 KR100628441B1 (ko) 2006-09-26

Family

ID=37130927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040074208A KR100628441B1 (ko) 2004-09-16 2004-09-16 Jpeg2000의 리프팅 이산 웨이브렛 변환장치

Country Status (1)

Country Link
KR (1) KR100628441B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100769109B1 (ko) * 2006-08-08 2007-10-22 충북대학교 산학협력단 필터를 사용한 효율적인 데이터 압축 방법
KR100771153B1 (ko) * 2006-05-11 2007-10-29 엠텍비젼 주식회사 이산 웨이블릿 변환 장치 및 그 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4012781B2 (ja) 2002-08-07 2007-11-21 國立台灣大學 リフト式離散ウェーブレット変換ハードウエア実現に使用されるフリップ式演算法及びそのハードウエア構造
JP4223795B2 (ja) 2002-12-13 2009-02-12 株式会社メガチップス ウェーブレット変換装置およびウェーブレット変換方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771153B1 (ko) * 2006-05-11 2007-10-29 엠텍비젼 주식회사 이산 웨이블릿 변환 장치 및 그 방법
KR100769109B1 (ko) * 2006-08-08 2007-10-22 충북대학교 산학협력단 필터를 사용한 효율적인 데이터 압축 방법

Also Published As

Publication number Publication date
KR100628441B1 (ko) 2006-09-26

Similar Documents

Publication Publication Date Title
KR100380199B1 (ko) Lcd패널에서의 이미지 디스플레이에 적합한dwt-기반 업샘플링 알고리즘
US5706220A (en) System and method for implementing the fast wavelet transform
US6587589B1 (en) Architecture for performing two-dimensional discrete wavelet transform
US5828849A (en) Method to derive edge extensions for wavelet transforms and inverse wavelet transforms
Mohanty et al. Memory-efficient architecture for 3-D DWT using overlapped grouping of frames
KR100628441B1 (ko) Jpeg2000의 리프팅 이산 웨이브렛 변환장치
JPS622721A (ja) 画像信号の符号化・復号化装置
US6182102B1 (en) System and method for implementation of inverse wavelet transforms
KR101061008B1 (ko) 컨벌루션 기반 이산 웨이블릿 변환 장치
Bhanu et al. A detailed survey on VLSI architectures for lifting based DWT for efficient hardware implementation
US20070237411A1 (en) Image signal processing apparatus
US20050232349A1 (en) Compressing video frames
Ismail et al. FPGA implementation of an efficient 3D-WT temporal decomposition algorithm for video compression
US7738713B2 (en) Method for processing digital image with discrete wavelet transform and apparatus for the same
Wu et al. An efficient architecture for two-dimensional inverse discrete wavelet transform
KR100300338B1 (ko) 2차원 이산 웨이브렛 변환을 위한 초고밀도 집적회로 구조
JP2004194224A (ja) ウェーブレット変換装置およびウェーブレット変換方法
KR20080028608A (ko) 리프팅 이산 웨이블릿 변환 장치 및 시스템
JP4700838B2 (ja) フィルタ処理装置
Darji et al. High speed VLSI architecture for 2-D lifting Discrete Wavelet Transform
KR20060077196A (ko) 필터 모듈
JP2003283841A (ja) フィルタ処理装置およびフィルタ処理方法
JP4444480B2 (ja) フィルタ処理装置
Saeed et al. High-Speed and Power Efficient Lifting-Based VLSI Architecture for Two-Dimesional Discrete Wavelet Transform
KR100769109B1 (ko) 필터를 사용한 효율적인 데이터 압축 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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