KR100628441B1 - Apparatus for lifting discrete wavelet transform of JPEG2000 - Google Patents

Apparatus for lifting discrete wavelet transform of JPEG2000 Download PDF

Info

Publication number
KR100628441B1
KR100628441B1 KR1020040074208A KR20040074208A KR100628441B1 KR 100628441 B1 KR100628441 B1 KR 100628441B1 KR 1020040074208 A KR1020040074208 A KR 1020040074208A KR 20040074208 A KR20040074208 A KR 20040074208A KR 100628441 B1 KR100628441 B1 KR 100628441B1
Authority
KR
South Korea
Prior art keywords
filter
output
signal
lifting
buffer
Prior art date
Application number
KR1020040074208A
Other languages
Korean (ko)
Other versions
KR20060025412A (en
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/en
Publication of KR20060025412A publication Critical patent/KR20060025412A/en
Application granted granted Critical
Publication of KR100628441B1 publication Critical patent/KR100628441B1/en

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

Abstract

본 발명은 종래의 구조들에 비해 하드웨어의 크기를 적게 하면서도 리프팅 이산 웨이브렛 변환을 실시간으로 처리할 수 있도록 한 JPEG2000의 리프팅 이산 웨이브렛 변환장치에 관한 것으로, 입력되는 영상신호에 대하여 리프팅 이산 웨이브렛 변환의 첫 번째 레벨의 행방향에 대한 필터링을 수행하는 수평 모듈; 및 상기 수평 모듈로부터의 신호에 대하여 첫 번째 레벨의 열방향에 대한 필터링뿐만 아니라 두 번째 레벨 이상의 행방향과 열방향 모두에 대한 필터링을 수행하는 수직 모듈을 구비한다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a JPEG2000 lifting discrete wavelet transform apparatus capable of processing a lifting discrete wavelet transform in real time while reducing the size of hardware compared to conventional structures. A horizontal module for performing filtering on the row direction of the first level of the transform; And a vertical module for performing filtering on the signal from the horizontal module in both the row direction and the column direction of the second level or more, as well as filtering in the column direction of the first level.

리프팅 이산 웨이브렛 변환, 실시간, 수평 필터, 수직 필터, 처리 유닛Lifting Discrete Wavelet Transform, Real Time, Horizontal Filter, Vertical Filter, Processing Unit

Description

JPEG2000의 리프팅 이산 웨이브렛 변환장치{Apparatus for lifting discrete wavelet transform of JPEG2000}Lifting Discrete Wavelet Transformer of XP2000

도 1은 종래의 리프팅 스텝을 설명하기 위한 도면,1 is a view for explaining a conventional lifting step,

도 2는 종래의 (5,3)필터에 대한 리프팅 스텝을 설명하기 위한 도면,2 is a view for explaining a lifting step for a conventional (5,3) filter,

도 3은 종래의 (9,7)필터에 대한 리프팅 스텝을 설명하기 위한 도면,3 is a view for explaining a lifting step for a conventional (9,7) filter,

도 4는 종래의 리프팅 연산을 위한 처리 유닛의 구성을 설명하기 위한 도면,4 is a view for explaining the configuration of a processing unit for a conventional lifting operation,

도 5는 본 발명의 실시예에 따른 JPEG2000의 리프팅 이산 웨이브렛 변환장치의 구성도,5 is a block diagram of a lifting discrete wavelet converter of JPEG2000 according to an embodiment of the present invention;

도 6은 본 발명에 적용되는 처리 유닛의 개략적인 구성도,6 is a schematic configuration diagram of a processing unit applied to the present invention;

도 7은 도 5에 도시된 수평 필터의 내부 구성도,7 is a diagram illustrating an internal configuration of the horizontal filter illustrated in FIG. 5;

도 8은 본 발명에 적용되는 (9,7)/(5,3)필터에 대한 리프팅 연산을 설명하는 도면,8 is a view for explaining a lifting operation for the (9,7) / (5,3) filter applied to the present invention,

도 9는 도 7에 도시된 수평 필터의 연산 순서를 나타낸 테이블도,9 is a table showing a calculation procedure of the horizontal filter shown in FIG.

도 10은 도 5에 도시된 수직 모듈에서의 연산 스케쥴링을 설명하는 도면,FIG. 10 is a diagram illustrating arithmetic scheduling in the vertical module shown in FIG. 5;

도 11은 도 5에 도시된 수직 모듈의 짝수행에서의 연산 타이밍도,11 is a calculation timing diagram of even rows of the vertical module illustrated in FIG. 5;

도 12는 도 5에 도시된 신호 버퍼의 내부 구성도,12 is an internal configuration diagram of the signal buffer shown in FIG. 5;

도 13은 도 5에 도시된 수직 필터의 내부 구성도,FIG. 13 is a diagram illustrating an internal configuration of the vertical filter illustrated in FIG. 5;

도 14는 도 13에 도시된 수직 필터내의 제 1처리 유닛의 내부 구성도,14 is an internal configuration diagram of the first processing unit in the vertical filter shown in FIG. 13;

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

20 : 수평 모듈 22 : 스플릿터20: horizontal module 22: splitter

24 : 수평 필터 30 : 수직 모듈24: horizontal filter 30: vertical module

32 : 신호 버퍼 34 : 수직 필터32: signal buffer 34: vertical filter

40, 41, 62, 64, 86, 88, 192, 195 : 멀티플렉서40, 41, 62, 64, 86, 88, 192, 195: multiplexer

42, 43, 51, 52, 60, 61, 142, 145, 148, 149, 152, 155, 158, 193 : 파이프라인 레지스터Pipeline registers 42, 43, 51, 52, 60, 61, 142, 145, 148, 149, 152, 155, 158, 193

44, 53, 63, 120, 191, 194 : 곱셈기 44, 53, 63, 120, 191, 194: multiplier

48, 49, 57, 58, 126, 130 : 덧셈기48, 49, 57, 58, 126, 130: adder

50, 59, 128 : 지연 레지스터 70 : 제 1버퍼 50, 59, 128: Delay register 70: First buffer

72, 74, 76, 78 : 제 2버퍼 80, 82 : 제 3버퍼 72, 74, 76, 78: second buffer 80, 82: third buffer

84 : 레지스터 90, 92, 94, 96 : 처리 유닛 84: register 90, 92, 94, 96: processing unit

본 발명은 JPEG2000의 리프팅 이산 웨이브렛 변환장치에 관한 것으로, 보다 상세하게는 JPEG2000의 쌍직교 (9,7)/(5,3)필터에 대한 리프팅 이산 웨이브렛 변환을 실시간으로 처리할 수 있도록 한 장치에 관한 것이다.The present invention relates to a lifting discrete wavelet transform apparatus of JPEG2000, and more particularly to a lifting discrete wavelet transform for a bi-orthogonal (9,7) / (5,3) filter of JPEG2000. Relates to a device.

이산 웨이브렛 변환(DWT:Discrete Wavelet Transform)을 기반으로 압축을 수행하는 JPEG2000은 이전의 이산 코사인 변환(DCT:Discrete Cosine Transform)을 기반으로 압축을 수행하는 JPEG에 비해 보다 향상된 기능 및 효율성을 제공하는 반면 실행 시간은 증가되었다. 특히 JPEG2000의 이산 웨이브렛 변환은 필터 뱅크들을 사용하여 구현되기 때문에 방대한 연산들을 요구한다. JPEG2000, which performs compression based on the Discrete Wavelet Transform (DWT), provides greater functionality and efficiency than JPEG, which performs compression based on the Discrete Cosine Transform (DCT). On the other hand, execution time has increased. In particular, the discrete wavelet transform of JPEG2000 requires extensive operations because it is implemented using filter banks.

이와 같은 방대한 연산량을 보다 감소시키기 위해 리프팅 기반의 이산 웨이브렛 변환 방법이 제안되었다. 리프팅 연산은 빠른 계산, 정수 대 정수 변환, 쉬운 역 구현 등 많은 장점들을 포함한다. 이와 같은 장점으로 인해 JPEG2000은 이산 웨이브렛변환 연산을 위해 컨볼루션 방법 이외에 리프팅 필터링 방법을 지원하며, 디폴트(default) 모드로 비가역 변환은 쌍직교(biorthogonal) (9,7)필터를 이용하고 가역 변환을 위해서는 (5,3)필터를 이용한다. 그러나, JPEG2000의 이산 웨이브렛 변환은 행방향과 열방향 모두에 대해 처리해야 하기 때문에 실시간 처리를 위해서는 정교한 하드웨어가 필수적이다.In order to further reduce such a large amount of computation, a lifting based discrete wavelet transform method has been proposed. Lifting operations include many advantages, including fast calculations, integer-to-integer conversion, and easy inverse implementation. Due to these advantages, JPEG2000 supports lifting filtering methods in addition to the convolution method for discrete wavelet transform operations.In the default mode, the irreversible transform uses a biorthogonal (9,7) filter and a reversible transform. To do this, use the (5,3) filter. However, since the discrete wavelet transform of JPEG2000 must be processed in both the row direction and the column direction, sophisticated hardware is essential for real time processing.

Mallet은 1차원 및 2차원 웨이브렛 변환 알고리즘을 개발했는데, 2차원 웨이브렛 변환의 경우 첫번째 분할 레벨에서 입력 영상은 행방향으로의 필터링 및 다운샘플링에 의해 2개의 부밴드(저주파(L), 고주파(H))로 분할되어지며, 이 2개의 부밴드들은 다시 열방향으로의 필터링 및 다운샘플링에 의해 4개의 부밴드(저주파-저주파(LL), 저주파-고주파(LH), 고주파-저주파(HL), 고주파-고주파(HH))로 분할되어진다. 2레벨 이상의 다중 레벨 분할은 입력 영상 대신 저주파-저주파 밴드를 가지고 위와 같은 과정을 반복적으로 수행한다. 결과로서 입력 영상(J=0, J는 웨이브렛 변환의 분할 레벨의 수를 나타냄)은 J 레벨에서 3J +1 부밴드로 분할되어지고, 각 부밴드의 사이즈는 N ×N 입력 영상에 대해 (N ×N)/4J 크기로 감소한다. Mallet has developed one- and two-dimensional wavelet transform algorithms. In the case of two-dimensional wavelet transform, the first image is divided into two subbands (low frequency (L), high frequency) by filtering and downsampling in the row direction. These two subbands are again divided into four subbands (low-low frequency (LL), low-frequency (LH), high-frequency-low frequency (HL) by filtering and downsampling in the column direction. ), And high frequency (HH)). Multilevel segmentation of more than two levels is performed repeatedly with the low frequency-low frequency band instead of the input image. As a result, the input image (J = 0, J represents the number of division levels of the wavelet transform) is divided into 3J +1 subbands at the J level, and the size of each subband is ( N × N) / 4 J decreases in size.

그리고, 리프팅 이론은 필터 뱅크들을 효율적으로 계산하기 위해서 I. Daubeches 와 W. Sweldens에 의해 제안되었으며, 이산 웨이브렛 변환 동작들을 간단한 필터링 스텝들로 분할한다. 리프팅 스텝들은 도 1에서와 같이 분할(split), 예측(predict), 갱신(update) 세 가지의 스텝들로 수행된다.And, lifting theory was proposed by I. Daubeches and W. Sweldens to efficiently calculate filter banks, and split the discrete wavelet transform operations into simple filtering steps. Lifting steps are performed in three steps, as shown in FIG. 1, split, predict, and update.

분할 스텝에서는 입력신호(X)들이 짝수 샘플(Xeven)과 홀수 샘플(Xodd)들로 분할되어진다. 예측 스텝에서는 짝수 샘플(Xeven)들이 홀수 샘플(Xodd)들을 예측하기 위해 사용되며, 홀수 샘플(Xodd)들과 예측값들 사이의 차를 계산하여 고주파 계수를 계산한다. 갱신 스텝에서는 그 예측 스텝에서 제공되는 고주파 계수들을 이용하여 저주파 계수들을 계산한다.  In the dividing step, the input signals X are divided into even samples Xeven and odd samples Xodd. In the prediction step, even samples Xeven are used to predict odd samples Xodd, and a high frequency coefficient is calculated by calculating a difference between the odd samples Xodd and the prediction values. In the update step, the low frequency coefficients are calculated using the high frequency coefficients provided in the prediction step.

JPEG2000에서 사용하는 쌍직교(biorthogonal) (9,7)/(5,3) 필터에 대한 리프팅 이산 웨이브렛 변환 계산은 다음의 식 (1)과 같이 나타낼 수 있다.The lifting discrete wavelet transform calculation for the biorthogonal (9,7) / (5,3) filter used in JPEG2000 can be expressed by the following equation (1).

식 (1)Formula (1)

d0(i) = X(2i+1), s0(i) = X(2i)d 0 (i) = X (2i + 1), s 0 (i) = X (2i)

d1(i) = d0(i)+α(s0(i)+s0(i+1)), s1(i) =s0(i)+β(d1(i-1)+d1(i))d 1 (i) = d 0 (i) + α (s 0 (i) + s 0 (i + 1)), s 1 (i) = s 0 (i) + β (d 1 (i-1) + d 1 (i))

d2(i) = d1(i)+γ(s1(i)+s1(i+1)), s2(i) = s1(i)+δ(d2(i-1)+d2(i))d 2 (i) = d 1 (i) + γ (s 1 (i) + s 1 (i + 1)), s 2 (i) = s 1 (i) + δ (d 2 (i-1) + d 2 (i))

H(i) = d(i) = d1(i) L(i) = s(i) = s1(i) for (5,3)filterH (i) = d (i) = d 1 (i) L (i) = s (i) = s 1 (i) for (5,3) filter

= (1/ζ)d2(i) =ζs2(i) for (9,7)filter= (1 / ζ) d 2 (i) = ζs 2 (i) for (9,7) filter

α= -0.5 β= 0.25 for (5,3)filterα = -0.5 β = 0.25 for (5,3) filter

= -1.586134342 = -0.0529811854 for (9,7)filter  = -1.586134342 = -0.0529811854 for (9,7) filter

γ= 0.8829110762, δ= 0.4435068522, ζ= 1.149604398γ = 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) 스텝에 의한 저주파 결과들을 나타낸다.In Equation (1), X (n) represents an input sequence and n = 0,1,2, ... N for N input sequences. In the case of i, i = 0, 1, 2, ... N / 2. D (i) denotes a high frequency result by a prediction step, and s (i) denotes a low frequency result by an update step.

그리고, 상기 식 (1)에서, ζ및 1/ζ는 스케일링 인자(Scaling factor)를 나타내며 (5,3)필터의 경우 1이다. (5,3)필터의 경우 도 2와 같이 한번의 예측스텝과 갱신 스텝으로 저주파와 고주파 결과를 계산할 수 있는데 반해, (9,7)필터는 도 3과 같이 예측 스텝과 갱신 스텝을 한번 더 수행함으로써 고주파 결과와 저주파 결과를 계산한다. In Equation (1), ζ and 1 / ζ represent a scaling factor, which is 1 for the (5,3) filter. In the case of the (5,3) filter, as shown in FIG. 2, the low frequency and high frequency results can be calculated using one prediction step and the update step, whereas the (9,7) filter performs the prediction step and the update step once more as shown in FIG. By calculating the high frequency and low frequency results.

짝수 샘플과 홀수 샘플이 매 싸이클마다 동시에 입력된다고 가정할 때 각 리프팅 스텝 계산을 위한 처리 유닛 구조는 도 4와 같다. Assuming that even and odd samples are input simultaneously for each cycle, the processing unit structure for each lifting step calculation is shown in FIG.

리프팅 연산 처리를 위한 상기 도 4의 처리 유닛(PE: Processing Element)은 1개의 곱셈기(10)와 2개의 덧셈기(11, 12)로 구성되어지며, 1개의 곱셈기(10)와 2개의 덧셈기(11, 12)의 임계경로(critical path)를 갖는다. 임계경로란 레지스터와 레지스터 사이의 경로 또는 입력과 출력사이의 경로를 의미한다.The processing element (PE) of FIG. 4 for the lifting operation is composed of one multiplier 10 and two adders 11 and 12, and one multiplier 10 and two adders 11. , 12) has a critical path. The critical path is a path between a register and a register or a path between an input and an output.

이와 같이 JPEG2000에서 사용되는 2차원 리프팅 이산 웨이브렛 변환에 대한 종래의 VLSI 구조들은 3가지로 구분된다. As such, the conventional VLSI structures for the two-dimensional lifting discrete wavelet transform used in JPEG2000 are classified into three types.

그 중 첫번째 구조는, 2개의 처리 유닛(PE: Processing Element)으로 구성된 1차원 이산 웨이브렛 모듈 1개를 사용하여 행(열)방향 연산을 수행하여 외부 메모리에 저장하고, 이를 다시 읽어들여 같은 모듈을 사용하여 열(행) 방향 연산을 수행하며, 하나의 레벨 연산이 모두 끝난 후 다음 레벨도 같은 방법으로 수행하는 구조로서 NㅧN 영상에 대해 N2 크기의 외부 메모리를 요구한다. The first structure is a single one-dimensional discrete wavelet module consisting of two processing units (PE) to perform a row (column) operation to store in the external memory, and read it back to the same module It performs column (row) direction operation, and after the one level operation is completed, the next level is also performed in the same way, it requires an external memory of N 2 size for the N ㅧ N image.

두번째 구조는, 2개의 처리유닛으로 구성된 이산 웨이브렛 모듈 2개(행방향, 열방향)를 사용하여 이산 웨이브렛 하나의 레벨에 대한 연산을 행방향과 열방향을 동시에 수행하며, 하나의 레벨에 대한 연산을 모두 수행한 후 다음 레벨 연산들을 수행하는 구조로서 N2/4 크기의 외부 메모리 모듈을 필요로 한다. The second structure uses two discrete wavelet modules consisting of two processing units (row direction and column direction) to perform operations on one level of discrete wavelets simultaneously in the row direction and in the column direction. after performing all of the operations and a structure for performing the following operation level it needs the N 2/4 size of the memory module of the.

세 번째 구조는 각각 4개의 처리 유닛으로 구성된 이산 웨이브렛 모듈 2개(행방향, 열방향)를 사용하여 반복 피라미드 알고리즘(RPA; Recursive Pyramid Algorithm)을 구현하는 구조이다. 그 반복 피라미드 알고리즘 구조는 외부 메모리 없이 단지 라인 메모리들만을 사용하지만 낮은 하드웨어 유용성으로 인해 두번째 구조에 비해 2배의 처리 유닛(즉, 8개의 처리 유닛)을 가진다.The third structure implements the Recursive Pyramid Algorithm (RPA) using two discrete wavelet modules (row and column) each consisting of four processing units. The iterative pyramid algorithm structure uses only line memories without external memory but has twice the processing units (ie eight processing units) compared to the second structure due to the low hardware availability.

본 발명은 상기한 종래의 사정을 감안하여 제안된 것으로, 본 발명의 목적은 종래의 구조들에 비해 하드웨어의 크기를 적게 하면서도 리프팅 이산 웨이브렛 변환을 실시간으로 처리할 수 있도록 한 JPEG2000의 리프팅 이산 웨이브렛 변환장치를 제공하기 위한 것이다.SUMMARY OF THE INVENTION The present invention has been proposed in view of the above-mentioned conventional circumstances, and an object of the present invention is to reduce the discrete discrete wave of JPEG2000 in real time to handle the discrete discrete wavelet transform while reducing the size of hardware compared to the conventional structures. To provide a lett inverter.

상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시예에 따른 JPEG2000의 리프팅 이산 웨이브렛 변환장치는, 입력되는 영상신호에 대하여 리프팅 이산 웨이브렛 변환의 첫 번째 레벨의 행방향에 대한 필터링을 수행하는 수평 모듈; 및 상기 수평 모듈로부터의 신호에 대하여 첫 번째 레벨의 열방향에 대한 필터링뿐만 아니라 두 번째 레벨 이상의 행방향과 열방향 모두에 대한 필터링을 수행하는 수직 모듈을 구비한다.In order to achieve the above object, a lifting discrete wavelet transform apparatus of JPEG2000 according to a preferred embodiment of the present invention performs filtering on a row direction of a first level of lifting discrete wavelet transform on an input video signal. Horizontal module; And a vertical module for performing filtering on the signal from the horizontal module in both the row direction and the column direction of the second level or more, as well as filtering in the column direction of the first level.

이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 JPEG2000의 리프팅 이산 웨이브렛 변환장치에 대하여 설명하면 다음과 같다.Hereinafter, a lifting discrete wavelet converter of JPEG2000 according to an embodiment of the present invention will be described with reference to the accompanying drawings.

도 5는 본 발명의 실시예에 따른 JPEG2000의 리프팅 이산 웨이브렛 변환장치의 구성도이다. 본 발명의 장치는, 입력되는 영상신호에 대하여 리프팅 이산 웨이 브렛 변환의 첫 번째 레벨의 행방향에 대한 필터링을 수행하는 수평 모듈(20); 및 상기 수평 모듈(20)로부터의 신호에 대하여 첫 번째 레벨의 열방향에 대한 필터링뿐만 아니라 두 번째 레벨 이상의 행방향과 열방향 모두에 대한 필터링을 수행하는 수직 모듈(30)을 구비한다. 5 is a block diagram of a lifting discrete wavelet converter of JPEG2000 according to an embodiment of the present invention. The apparatus of the present invention comprises: a horizontal module 20 for performing filtering on a row direction of a first level of a lifting discrete wavelet transform on an input video signal; And a vertical module 30 that performs filtering on the signal from the horizontal module 20 in both the row direction and the column direction of the second level or more, as well as the filtering in the column direction of the first level.

도 5의 장치는, 영상을 수평 방향으로의 웨이브렛 변환 후 이 결과들을 수직방향으로의 웨이브렛 변환을 수행한다. 수평방향으로의 웨이브렛변환 결과는 L(저주파) 밴드와 H(고주파) 밴드로 나누어지고, 이 L(저주파) 밴드에 대해 수직방향으로의 웨이브렛 변환 결과는 LL(저주파-저주파), LH(저주파-고주파) 밴드로 나누어지고, H(고주파)밴드에 대해 수직방향으로의 웨이브렛 변환 결과는 HL(고주파-저주파), HH(고주파-고주파) 밴드로 나누어진다. 즉, 1레벨(J=1) 웨이블렛 변환의 결과는 LL(저주파-저주파), LH(저주파-고주파), HL(고주파-저주파), HH(고주파-고주파)를 의미한다. 여기서, 저주파 밴드는 영상의 정보를 거의 가지고 있으며, 고주파 결과는 영상의 에지(edeg)와 같이 급격히 변화하는 영역에 대한 정보를 가지고 있다. 예로서, LH 결과는 수평방향으로는 저주파 성분을 가지고 있고 수직 방향으로는 고주파 성분을 가지고 있다. JPEG2000과 같은 웨이브렛변환을 이용하는 압축은 영상정보를 많이 가지는 저주파 영역에는 비트를 많이 할당하고, 에지외에는 영상정보를 거의 가지지 않는 고주파 영역에는 비트를 적게 할당하는 방식으로 압축을 수행한다.The apparatus of FIG. 5 performs wavelet transform of the image in the vertical direction after wavelet transform of the image in the horizontal direction. The wavelet transform results in the horizontal direction are divided into L (low frequency) bands and H (high frequency) bands. The wavelet transform results in the vertical direction with respect to the L (low frequency) bands are LL (low frequency to low frequency) and LH ( The wavelet transform results in the vertical direction with respect to the H (high frequency) band are divided into HL (high frequency-low frequency) bands and HH (high frequency-high frequency) bands. That is, the result of the 1 level (J = 1) wavelet transform means LL (low frequency-low frequency), LH (low frequency-high frequency), HL (high frequency-low frequency), and HH (high frequency-high frequency). Here, the low frequency band has almost image information, and the high frequency result has information about a rapidly changing region such as an edge of the image. As an example, the LH result has a low frequency component in the horizontal direction and a high frequency component in the vertical direction. Compression using a wavelet transform such as JPEG2000 performs compression by allocating a lot of bits in a low frequency region having a lot of image information and a few bits in a high frequency region having almost no image information except an edge.

도 5에서, 수평 모듈(20)은, 직렬로 매 싸이클마다 영상 입력들을 받아 두개 의 병렬 데이터를 2클럭 싸이클에 한번씩 출력하는 스플릿터(22); 및 상기 스플릿터(22)로부터 제공되는 두개의 병렬 데이터를 가지고서 행방향의 이산 웨이브렛 변환 연산을 행하여 저주파 결과값(L) 또는 고주파 결과값(H)을 출력하는 수평 필터(24)를 구비한다.In FIG. 5, the horizontal module 20 includes: a splitter 22 which receives image inputs in every cycle in series and outputs two parallel data once in two clock cycles; And a horizontal filter 24 for performing a discrete wavelet transform operation in a row direction using two parallel data provided from the splitter 22 to output a low frequency result value L or a high frequency result value H. .

상기 수평 필터(24)는 리프팅 연산을 위하여 내부적으로 2개의 처리 유닛을 가지게 되는데, 그 처리 유닛은 도 6에서와 같이 기본적으로 1개의 곱셈기(14)와 두개의 덧셈기(15, 16) 및 상태변수 저장용 레지스터(17)로 구성된다. 여기서, 상기 지연 레지스터(17)는 2개의 레지스터들이 직렬로 연결되어 두 싸이클의 전달 지연을 갖는다.
상기 곱셈기(14)는 이전 리프팅 스텝(예측, 갱신)의 짝수번째 출력들을 현재 리프팅 스텝 계산에서 사용되어지는 필터 계수(α 또는 β 또는 γ 또는 δ)와 곱셈하여 출력한다.
상기 덧셈기(15)는 이전 리프팅 스텝(예측, 갱신)의 홀수번째 출력들과 상기 곱셈기(14)의 출력을 덧셈하여 현재 상태변수를 출력하며, 상기 덧셈기(16)는 상기 곱셈기(14)로부터 출력된 데이터값과 상기 지연 레지스터(17)를 통해 입력된 이전 상태변수를 덧셈하여 소정의 출력계산을 한다.
그 도 6의 처리 유닛에서의 임계경로는 짝수번째 입력신호(PE_In(even))에서 곱셈기(14), 덧셈기(16)를 거친 후 출력신호(PE_Out)까지의 경로이기 때문에, 그 도 6의 처리 유닛은 1개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는다. 상기 임계경로는 레지스터와 레지스터 사이의 경로 또는 입력과 출력 사이의 경로중 가장 큰 경로를 의미한다.
The horizontal filter 24 has two processing units internally for the lifting operation, which basically has one multiplier 14, two adders 15, 16 and state variables as shown in FIG. It consists of a register 17 for storage. In this case, the delay register 17 has two registers connected in series and has a propagation delay of two cycles.
The multiplier 14 multiplies the even-numbered outputs of the previous lifting step (prediction, update) by the filter coefficients α or β or γ or δ used in the current lifting step calculation.
The adder 15 adds the odd-numbered outputs of the previous lifting step (prediction, update) and the output of the multiplier 14 to output a current state variable, and the adder 16 outputs from the multiplier 14. The data value and the previous state variable inputted through the delay register 17 are added to perform a predetermined output calculation.
Since the critical path in the processing unit of FIG. 6 is a path from the even-numbered input signal PE_In (even) to the output signal PE_Out after passing through the multiplier 14 and the adder 16, the processing of FIG. The unit has a critical path of one multiplier and one adder. The critical path refers to the largest path among the path between the register and the register or the path between the input and the output.

상기 도 6에 도시된 처리 유닛의 경우, 리프팅 스텝 계산을 위하여 다음의 식 (2)가 적용된다.In the case of the processing unit shown in FIG. 6, the following equation (2) is applied to the lifting step calculation.

식 (2)Formula (2)

d0(i) = X(2i+1), s0(i) = X(2i)d 0 (i) = X (2i + 1), s 0 (i) = X (2i)

d1(i) = αs0(i+1)+q0(i-1), s1(i) =βd1(i)+q1(i-1)d 1 (i) = αs 0 (i + 1) + q 0 (i-1), s 1 (i) = βd 1 (i) + q 1 (i-1)

q0(i) = αs0(i+1)+d0(i+1), q1(i) = βd1(i)+s 0(i+1)q 0 (i) = αs 0 (i + 1) + d 0 (i + 1), q 1 (i) = βd 1 (i) + s 0 (i + 1)

d2(i) = γs1(i+1)+q2(i-1), s2(i) = δd2(i)+q3(i-1)d 2 (i) = γs 1 (i + 1) + q 2 (i-1), s 2 (i) = δd 2 (i) + q 3 (i-1)

q2(i) = γs1(i+1)+d1(i+1), q3(i) = δd2(i)+s 1(i+1)q 2 (i) = γs 1 (i + 1) + d 1 (i + 1), q 3 (i) = δd 2 (i) + s 1 (i + 1)

H(i) = d(i) = d1(i) L(i) = s(i) = s1(i) for (5,3)filterH (i) = d (i) = d 1 (i) L (i) = s (i) = s 1 (i) for (5,3) filter

= (1/ζ)d2(i) = ζs2(i) for (9,7)filter= (1 / ζ) d 2 (i) = ζs 2 (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이다.Equation (2) is obtained by decomposing Equation (1) using the state variable q (i), where X (n) represents an input sequence and n = 0, for N input sequences. 1,2, ... N. In the case of i, i = 0, 1, 2, ... N / 2. D (i) denotes a high frequency result by a prediction step, and s (i) denotes a low frequency result by an update step. In Equation (2), α, β, γ, and δ are filter coefficients, ζ and 1 / ζ represent scaling factors, and (1) for the filter (5, 3).

상술한 수평 모듈(20)은 상기 식 (2)에서와 같이 영상의 두 열(짝수열, 홀수열)을 가지고서 필터링 연산을 수행하고, 라스터(Raster) 스캔의 경우 영상은 순차적으로 들어오기 때문에 영상의 순차적 데이터를 2개의 병렬 데이터로 변환해주는 변환기가 필요하다. 즉, 수평 모듈(20)내 스플릿터(Splitter)(22)는 직렬로 매 싸이클마다 영상 입력들을 받아 2개의 병렬 데이터를 2 클럭 싸이클에 한번씩 수평 필터(24)로 보내준다. 그 스플릿터(22)로부터의 2개의 병렬 데이터는 웨이브렛 변환장치 주파수의 2싸이클마다 갱신 되어지고, 수평 필터(24)는 스플릿터(22)로부터 영상의 두 열(짝수열, 홀수열)을 가지고서 상기 식 (2) 연산을 수행한다. 이산 웨이브렛변환 연산은 고주파 결과와 저주파 결과 모두 요구되기 때문에 상기 수평 필터(24)는 매 싸이클마다 고주파 결과 또는 저주파 결과를 계산한다. Since the horizontal module 20 performs the filtering operation with two columns (even and odd columns) of the image as in Equation (2), and the raster scan image is sequentially input. There is a need for a converter that converts the sequential data of the image into two parallel data. That is, the splitter 22 in the horizontal module 20 receives image inputs in every cycle in series and sends two parallel data to the horizontal filter 24 once in two clock cycles. The two parallel data from the splitter 22 are updated every two cycles of the wavelet converter frequency, and the horizontal filter 24 takes two columns (even and odd columns) of the image from the splitter 22. The above equation (2) is performed. Since the discrete wavelet transform operation requires both a high frequency result and a low frequency result, the horizontal filter 24 calculates a high frequency result or a low frequency result every cycle.

상기 수평 필터(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)를 구비한다.The internal configuration of the horizontal filter 24 will be described in more detail, as shown in FIG. 7. That is, in FIG. 7, the horizontal filter 24 includes an input image (X (n 1 , 2n 2 +1)) provided from the splitter 22 and a first feedback signal (from the pipeline register 60). A multiplexer 40 for receiving and multiplexing the signal); A multiplexer 41 for receiving and multiplexing an input image (X (n 1 , 2n 2 )) provided from the splitter 22 and a second feedback signal (signal from a pipeline register 61); A pipeline register (42) installed at an output of the multiplexer (40) to receive and store an output signal from the multiplexer (40) at every clock pulse; A pipeline register (43) installed at an output of the multiplexer (41) for receiving and storing an output signal from the multiplexer (41) at every clock pulse; A first processing unit (100) (PE0) which receives a signal from the pipeline registers (42, 43) and performs a calculation of a lifting prediction step; A pipeline register (51) for outputting after receiving the output signal of the pipeline register (43) every clock pulse; A pipeline register (52) for outputting the output signal (out) from the first processing unit (100) after receiving it every clock pulse; A second processing unit (110) (PE1) for receiving a signal from the pipeline registers (51, 52) and performing a calculation of a lifting update step; A pipeline register (60) which receives an output signal of the pipeline register (52) after every clock pulse and outputs it, but feeds the output signal as a first feedback signal to the multiplexer (40); After receiving the output signal (out) from the second processing unit 110 every clock pulse and outputting to the multiplexer 62 at the next stage, the output signal as the second feedback signal to the multiplexer 41 A pipeline register 61 fed back to; A multiplexer (62) for receiving and multiplexing signals from the pipeline registers (52, 61); A multiplier 63 for multiplying an output signal of the multiplexer 62 by a scaling factor ζ or 1 / ζ; And a multiplexer 64 for multiplexing the output signal of the multiplexer 62 and the output signal of the multiplier 63 according to a control signal 9_7sel.

도 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"이다.In FIG. 7, X (n 1 , n 2 ) represents an input image, and n 1 = 0,1, ... N-1, n 2 = 0,1, ... N− for an N × N image. 1 Here, n 1 means row and n 2 means column. X (n 1 , 2n 2 +1) represents odd columns (1, 3, 5, 7, 9, ...) in the row direction, and X (n 1 , 2n 2 ) represents even columns (0, 2) in the row direction , 4, 6, ...), where (n 1 = 0,1, ... N-1, n 2 = 0,1, ... (N / 2) -1) to be. 9_7sel is a control signal according to whether the filter is to be used as a (9,7) filter or a (5,3) filter. In FIG. 7, when the horizontal filter is used as the (9,7) filter, 9_7sel is "1". 5,3) 9_7sel is "0" when used as a filter.

또한, 도 7에서 상기 멀티플렉서(64)에서 출력되는 신호(H/L(n1,n2))는 행방향으로의 이산 웨이브렛 변환에 의한 2개의 부밴드(고주파(H), 저주파(L))를 나타내며, 여기서 NㅧN 영상에 대해 n1 = 0,1,...N-1, n2 = 0,1,...(N/2)-1을 나타낸다. In addition, in FIG. 7, the signals H / L (n 1 , n 2 ) output from the multiplexer 64 are divided into two subbands (high frequency (H) and low frequency (L) by discrete wavelet transformation in the row direction. ), Where n 1 = 0, 1, ... N-1, n 2 = 0, 1, ... (N / 2) -1.

한편, 상기 제 1처리 유닛(100)은, 상기 파이프라인 레지스터(43)의 출력단에 입력단이 연결되어 입력된 신호에 필터 계수(α또는 γ)를 적용시키는 곱셈기(44); 상기 파이프라인 레지스터(42)의 출력신호와 상기 곱셈기(44)의 출력신호를 더하는 덧셈기(48); 두개의 레지스터로 구성되어 상기 덧셈기(48)의 출력신호(q(i))(상태변수라고도 함)를 2클럭 싸이클 전달 지연시키는 지연 레지스터(50); 상기 곱셈(44)기의 출력신호와 상기 지연 레지스터(50)의 출력신호를 더하여 소정의 출력신호(out)를 내보내는 덧셈기(49)를 구비한다. 여기서, 제 1처리 유닛(100)은 한개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는다고 할 수 있다.On the other hand, the first processing unit 100, the input terminal is connected to the output terminal of the pipeline register 43, the multiplier 44 for applying a filter coefficient (α or γ) to the input signal; An adder 48 for adding the output signal of the pipeline register 42 and the output signal of the multiplier 44; A delay register 50 composed of two registers for delaying the transfer signal q (i) (also referred to as a state variable) of the adder 48 by two clock cycles; An adder 49 is added to output the predetermined output signal out by adding the output signal of the multiplier 44 and the output signal of the delay register 50. Here, it may be said that the first processing unit 100 has a critical path of one multiplier and one adder.

상기 제 2처리 유닛(110)은 상기 파이프라인 레지스터(52)의 출력단에 입력단이 연결되어 입력된 신호에 필터 계수(β또는 δ)를 적용시키는 곱셈기(53); 상기 파이프라인 레지스터(51)의 출력신호와 상기 곱셈기(53)의 출력신호를 더하는 덧셈기(57); 두개의 레지스터로 구성되어 상기 덧셈기(57)의 출력신호(q)(상태변수라고도 함)를 2클럭 싸이클 전달 지연시키는 지연 레지스터(59); 상기 곱셈기(53)의 출력신호와 상기 지연 레지스터(59)의 출력신호를 더하여 소정의 출력신호(out)를 내보내는 덧셈기(58)를 구비한다. 여기서, 그 제 2처리 유닛(110)은 한개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는다고 할 수 있다.The second processing unit (110) includes: a multiplier (53) for applying a filter coefficient (β or δ) to an input signal having an input terminal connected to an output terminal of the pipeline register (52); An adder (57) for adding the output signal of the pipeline register (51) and the output signal of the multiplier (53); A delay register 59 composed of two registers for delaying the transfer signal q (also referred to as a state variable) of the adder 57 by two clock cycles; And an adder 58 for adding the output signal of the multiplier 53 and the output signal of the delay register 59 to output a predetermined output signal out. Here, the second processing unit 110 can be said to have a critical path of one multiplier and one adder.

따라서, 상술한 수평 필터(24)는 2개의 처리 유닛(100, 110)을 갖추는데, 세부적으로는 3개의 곱셈기(44, 53, 63), 4개의 덧셈기(48, 49, 57, 58), 상태 변수들을 저장하기 위한 4개의 레지스터들(50, 59)을 포함하며, 파이프라인을 위한 6개의 레지스터들(42, 43, 51, 52, 60, 61)을 포함한다.Thus, the above-described horizontal filter 24 is equipped with two processing units 100 and 110, specifically three multipliers 44, 53, 63, four adders 48, 49, 57, 58, It includes four registers 50, 59 for storing state variables, and six registers 42, 43, 51, 52, 60, 61 for the pipeline.

상술한 바와 같이 구성된 수평 필터(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)) 계산한다. The horizontal filter 24 configured as described above operates according to the lifting calculation method of FIG. 8 and the calculation sequence of FIG. 9. That is, the first processing unit 100 performs the calculation of the lifting prediction step. When the horizontal filter 24 is used as the (5,3) filter in equation (2), only d 1 (i) is calculated, and in the equation (2) Count up to d 2 (i) (ie d 1 (i) and d 2 (i)). Then, the second processing unit 110 performs a calculation of the lifting update step. If horizontal filter 24 is used as filter (5,3) in equation (2), only s 1 (i) is calculated, and horizontal filter 24 is used as filter (9,7) in equation (2) Count up to s 2 (i) (ie s 1 (i) and s 2 (i)).

도 8은 입력 시퀀스 8(n=0,..7)에 대한 쌍직교 (9,7)/(5,3) 필터의 리프팅 연산을 나타내고, 도 9는 영상 행의 크기 8에 대한 수평 필터의 연산 순서를 나타낸다. 본 발명에서는 영상의 경계 영역 처리는 고려하지 않으며, '0' 이라 가정한다. JPEG2000에서 제시하는 영상의 경계영역처리는 점 대칭 확장(Point Symmetric Extension)과 주기적인 확장(Periodic symmetric Extension) 등을 제시하고 있으나 경계영역 처리를 위한 확장 회로는 웨이브렛 변환 장치 외부에서도 가능하기 때문에 본 발명에서는 고려하지 않는다. Fig. 8 shows the lifting operation of the biorthogonal (9,7) / (5,3) filter for input sequence 8 (n = 0, .. 7), and Fig. 9 shows the horizontal filter for size 8 of the image row. Indicates the order of operations. In the present invention, processing of the boundary region of the image is not considered and is assumed to be '0'. The boundary region processing of the image presented by JPEG2000 shows point symmetric extension and periodic symmetric extension, but the extension circuit for boundary region processing is possible outside the wavelet converter. It is not considered in the invention.

싸이클 5에서, 스플릿터(22)로부터의 입력영상 x(0,4)와 x(0,5)가 수평 필터(24)에 입력될 때 멀티플렉서(40)와 멀티플렉서(41)의 제어신호는 '0'이 되고 멀티플렉서(40)의 출력은 x(0,5)가 되며 멀티플렉서(41)의 출력은 x(0,4)이 된다. In cycle 5, when the input images x (0,4) and x (0,5) from the splitter 22 are input to the horizontal filter 24, the control signals of the multiplexer 40 and the multiplexer 41 are ' 0 'and the output of the multiplexer 40 becomes x (0,5) and the output of the multiplexer 41 becomes 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)를 계산한다. In cycle 6, the output of the pipeline register 42 is x (0,5), and the output of the pipeline register 43 is x (0,4). At this time, the multiplier 44 in the first processing unit 100 (PE0) multiplies the output coefficient x (0,4) of the pipeline register 43 by the filter coefficient α to multiply α * x (0,4). Output The adder 48 adds the output signal x (0,5) of the pipeline register 42 to the output signal of the multiplier 44 and adds the state variable value α * x (0,4) + x (0,5). Calculate the result. In this case, the adder 49 calculates and stores the state variable values α * x (0,2) + x (0,3) and the output of the multiplier 44 before two cycles which are output results from the delay register 50. Calculate d 1 (0,1) = α * x (0,4) + α * x (0,2) + x (0,3) by adding the signal α * x (0,4).

상기 계산되어진 d1(0,1)값은 다음 싸이클 때(즉, 싸이클 7) 파이프라인 레지스터(52)의 출력신호가 되고, 파이프라인 레지스터(43)의 출력신호인 x(0,4)는 다음싸이클(즉, 싸이클 7)때 파이프라인 레지스터(51)의 출력신호가 된다. The calculated value of d 1 (0,1) becomes the output signal of the pipeline register 52 at the next cycle (that is, cycle 7), and x (0,4), which is the output signal of the pipeline register 43, At the next cycle (i.e., cycle 7), it becomes the output signal of the pipeline register 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)를 계산한다. In the cycle 7, the multiplier 53 in the second processing unit 110 (PE1) multiplies the output coefficient d 1 (0,1) of the pipeline register 52 by the filter coefficient β and β * d 1 (0, Output 1). The adder 57 adds the output signal x (0,4) of the pipeline register 51 to the output signal of the multiplier 53 and adds the state variable value β * d 1 (0,1) + x (0,4). Calculate the result. At this time, the adder 58 calculates and stores the state variable values β * d 1 (0,0) + x (0,2) and the multiplier 53 before two cycles, which are output results from the delay register 59. S 1 (0,1) = β * d 1 (0,1) + β * d 1 (0,0) + x (0,2) by adding the output signal β * d 1 (0,1) do.

상기 수평 필터(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) 출력값이 된다. When the horizontal filter 24 operates as a (5,3) filter (control signal 9_7sel = '0' of the multiplexer 64), the output (d 1 (0,1)) of the pipeline register 52 is The control signal of the multiplexer 62 becomes '0' and becomes an H (0,1) output value, and the output s 1 (0,1) of the adder 58 becomes a pipeline register (i.e., cycle 8) at the next cycle. 61), and the control signal of the multiplexer 62 becomes '1' and becomes an L (0,1) output value.

상기 수평 필터(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) 된다. When the horizontal filter 24 is used as the (9,7) filter, the value s 1 (0,1), which is an output signal of the adder 58 at cycle 8, becomes an output signal of the pipeline register 61, and thus the multiplexer ( 41, and the value d 1 (0, 1), which is an output signal of the pipeline 52, becomes an output signal of the pipeline register 60 and is fed back to the multiplexer 40. At this time, the control signal of the multiplexer 40 and the multiplexer 41 is '1', the output of the multiplexer 40 is d 1 (0,1), the output of the multiplexer 41 is s 1 (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)를 계산한다. In cycle 9, the output of the pipeline register 42 is d 1 (0, 1), and the output of the pipeline register 43 is s 1 (0, 1). At this time, the multiplier 44 in the first processing unit 100 (PE0) multiplies the output coefficient s 1 (0,1) of the pipeline register 43 by the filter coefficient γ to γ * s 1 (0,1). ) The adder 48 adds the output signal d 1 (0,1) of the pipeline register 42 to the output signal of the multiplier 44 and adds the state variable value γ * s 1 (0,1) + d 1 ( 0,1) Calculate the result. In this case, the adder 49 calculates and stores the state variable value γ * s 1 (0,0) + d 1 (0,0) and the multiplier 44 before two cycles which are output results from the delay register 50. Add γ * s 1 (0,1) output signal of d 2 (0,0) = γ * s 1 (0,1) + γ * s 1 (0,0) + d 1 (0,0) Calculate

상기 계산되어진 d2(0,0)값은 다음 싸이클(즉, 싸이클 10)때 파이프라인 레지스터(52)의 출력신호가 되고, 파이프라인 레지스터(43)의 출력신호인 s1(0,1)는 다음싸이클(즉, 싸이클 10)때 파이프라인 레지스터(51)의 출력신호가 된다. The calculated value of d 2 (0,0) becomes the output signal of the pipeline register 52 at the next cycle (ie, cycle 10), and s 1 (0,1) which is the output signal of the pipeline register 43. Becomes the output signal of the pipeline register 51 at the next cycle (ie cycle 10).

싸이클 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)를 계산한다. In the cycle 10, the multiplier 53 in the second processing unit 110 (PE1) multiplies the output coefficient d 2 (0,0) of the pipeline register 52 by the filter coefficient δ to δ * d 2 (0, Output 0). The adder 57 adds the output signal s 1 (0,1) of the pipeline register 51 to the output signal of the multiplier 53, thereby adding the state variable value δ * d 2 (0,0) + s 1 (0). 1) Calculate the result. In this case, the adder 58 calculates and stores the state variable value s 1 (0,0) calculated before two cycles, which is an output result from the delay register 59, and δ * d 2 (0, which is an output signal of the multiplier 53). S 2 (0,0) = δ * d 2 (0,0) + s 1 (0,0) is calculated.

이때 파이프라인 레지스터(52)의 출력 d2(0,0)은 멀티플렉서(62)의 제어신호 가 '0'이 되어 H(0,0) 출력값이 되고, 계산되어진 덧셈기(58)의 출력 s2(0,0)은 다음 싸이클(즉, 싸이클 11)때 파이프라인 레지스터(61)의 출력이 되고, 이때 멀티플렉서(62)의 제어신호가 '1'이 되어 L(0,0) 출력값이 된다. At this time, the output d 2 (0,0) of the pipeline register 52 becomes the H (0,0) output value because the control signal of the multiplexer 62 becomes '0', and the output s 2 of the calculated adder 58 is calculated. (0,0) becomes the output of the pipeline register 61 at the next cycle (ie, cycle 11), and at this time, the control signal of the multiplexer 62 becomes '1' and becomes an L (0,0) output value.

이와 같이 상기 수평 필터(24)는 고주파 결과값(H) 또는 저주파 결과값(L)을 수직 모듈(30)에게로 보내고, 계산되어진 상태 변수들은 다음 계산을 위해 레지스터에 저장되어진다. 즉, 계산되어진 상태변수는 2싸이클 후에 사용되어지기 때문에 각 처리 유닛(100, 110)내 각 상태변수는 2개의 레지스터(50, 59)에 저장된다.As such, the horizontal filter 24 sends the high frequency result H or the low frequency result L to the vertical module 30, and the calculated state variables are stored in a register for the next calculation. That is, since the calculated state variables are used after two cycles, each state variable in each processing unit 100, 110 is stored in two registers 50, 59.

그리고, 상기 수직 모듈(30)의 경우 행방향 연산은 2 개의 열 데이터를 사용하여 동작하는 반면, 열방향으로의 연산은 2개의 행의 저주파와 고주파 결과들을 이용하여 연산을 수행한다. 즉, 첫번째 레벨의 연산의 경우 영상의 짝수 행에 대한 저주파와 고주파 결과만으로는 열방향으로의 연산을 수행할 수 없으며, 홀수 행의 저주파와 고주파 결과가 유용해야 비로소 열방향으로의 연산을 수행할 수 있다. 이와 같이 첫번째 레벨의 연산이 수행될 수 없는 짝수 번째 행의 주기는 2번째 레벨 이상의 연산을 수행하는데 사용될 수 있다(RPA). 상기 수직 모듈(30)은 수평 모듈(20)과는 달리 매 싸이클 마다 저주파 출력과 고주파 출력을 동시에 계산하여 출력하며 다음과 같은 연산 스케쥴링을 이용한다.In the vertical module 30, the row direction operation is performed using two column data, while the column direction operation is performed using the low frequency and high frequency results of the two rows. That is, in the case of the first level of operation, the low-frequency and high-frequency results of the even-numbered rows of the image cannot be performed in the column direction only, and the low-frequency and high-frequency results of the odd rows must be useful before the operation in the column direction can be performed. have. As such, the even-numbered row periods in which the first level of operations cannot be performed may be used to perform operations of the second level or more (RPA). Unlike the horizontal module 20, the vertical module 30 simultaneously calculates and outputs a low frequency output and a high frequency output for each cycle, and uses the following computational scheduling.

1) 수평 모듈(20)이 영상의 홀수행에 대한 L, H 출력 결과를 내보낼 때, 수직 모듈(30)은 첫번째 레벨의 열방향을 수행한다. 1) When the horizontal module 20 sends L and H output results for odd rows of an image, the vertical module 30 performs the first level column direction.

2) 수평 모듈(20)이 영상의 짝수행에 대한 L, H 출력 결과를 내보낼 때, 수 직 모듈(30)은 2번째 레벨 이상의 행방향과 열방향 연산을 수행한다.2) When the horizontal module 20 exports L and H output results for even rows of an image, the vertical module 30 performs row and column operations in the second level or more.

2a) 수평 모듈(20)이 영상의 2(J-1) k + (2(J-1) -2)행에 대한 출력 결과를 내보낼 때, 수직 모듈(30)은 J번째 레벨 행방향 연산을 수행한다. (J>1)(K= 0,1,2,…)2a) When the horizontal module 20 exports the output result for 2 (J-1) k + (2 (J-1) -2) rows of the image, the vertical module 30 performs the J th level row direction operation. To perform. (J> 1) (K = 0,1,2,…)

2b) 수평 모듈이 영상의 2J k + (2(J-1) -2)행에 대한 출력 결과를 내보낼 때, 수직 모듈(30)은 J번째 레벨 열방향 연산을 수행한다. (J>1)(K= 0,1,2,…)2b) When the horizontal module exports the output result for 2 J k + (2 (J-1) -2) rows of the image, the vertical module 30 performs the J th level columnwise operation. (J> 1) (K = 0,1,2,…)

이와 같이 동작하는 수직 모듈(30)의 3레벨 웨이브렛 변환 연산에 대한 연산 스케쥴링은 도 10에 예시된 바와 같으며, 도 10에서 각 심벌은 각 레벨의 하나의 행에 대한 행방향 또는 열방향 연산들을 나타낸다. Operation scheduling for the three-level wavelet transform operation of the vertical module 30 operating as described above is illustrated in FIG. 10, where each symbol is a row or column operation for one row of each level. Indicates.

그리고, 상기 수평 모듈(20)이 영상의 짝수번째 행에 대한 출력을 계산할 때, 수직 모듈(30)은 도 11에서와 같은 타이밍으로 2번째 레벨 이상의 연산을 수행한다.When the horizontal module 20 calculates the output for the even-numbered rows of the image, the vertical module 30 performs the second level or more operations at the same timing as in FIG. 11.

상기 수직 모듈(30)은 첫 번째 레벨의 열방향 연산 및 2번째 레벨 이상의 행방향과 열방향 연산에 필요한 신호를 임시적으로 버퍼링하는 신호 버퍼(32); 및 상호 파이프라인 형태로 연결된 네 개의 처리 유닛을 갖추되 제 1처리 유닛은 상기 신호 버퍼(32)로부터의 신호에 대하여 첫 번째 리프팅 예측 스텝의 연산을 수행하고, 제 2처리 유닛은 상기 제 1처리 유닛으로부터의 신호에 대하여 첫 번째 리프팅 갱신 스텝의 연산을 수행하며, 제 3처리 유닛은 상기 제 2처리 유닛으로부터의 신 호에 대하여 두 번째 리프팅 예측 스텝을 수행하고, 제 4처리 유닛은 상기 제 3처리 유닛으로부터의 신호에 대하여 두 번째 리프팅 리프팅 갱신 스텝의 연산을 수행하는 수직 필터(34)를 구비한다.The vertical module 30 includes: a signal buffer 32 for temporarily buffering signals necessary for column-level operation of the first level and row and column-direction operations of the second level or more; And four processing units connected in a mutual pipeline form, wherein the first processing unit performs the calculation of the first lifting prediction step on the signal from the signal buffer 32, and the second processing unit performs the first processing. The operation of the first lifting update step is performed on the signal from the unit, the third processing unit performs the second lifting prediction step on the signal from the second processing unit, and the fourth processing unit is the third processing unit. A vertical filter 34 is provided which performs the operation of the second lifting lifting update step on the signal from the processing unit.

상기 신호 버퍼(32)는 중간적인 신호 결과들의 저장 및 이 결과들을 수직 필터(34)에게로 출력하게 되는데, 상기 신호 버퍼(32)의 내부구성은 도 12와 같다.The signal buffer 32 stores intermediate signal results and outputs these results to the vertical filter 34. The internal configuration of the signal buffer 32 is shown in FIG.

도 12의 신호 버퍼(32)는, 입력 영상의 짝수 행에 대한 상기 수평 모듈(20)로부터의 고주파와 저주파 출력 결과들을 저장하는 제 1버퍼(70); 피드백되어 입력되는 2번째 레벨 이상(J>=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)로 구성된다. 여기서, 상기 J는 웨이브렛 변환의 분할 레벨의 수를 나타낸다.The signal buffer 32 of FIG. 12 includes a first buffer 70 for storing high frequency and low frequency output results from the horizontal module 20 for even rows of an input image; Two subbands ((LL) J-1 H (n 1 , n 2 ) and (LL) J- by discrete wavelet transform in the row direction of the second level or more (J> = 2) fed back and inputted. Second buffers 72, 74; 76, 78 for storing even and odd rows of 1 L (n 1 , n 2 )) (J>1); Third buffers 80, 82 for separately storing the result of even and odd columns of one subband (LL) J (J> 0) in one row by discrete wavelet transform in the column direction fed back and inputted ); A register for temporarily storing high and low frequency output results from the horizontal module 20 for odd rows of two subbands H / L (n 1 , n 2 ) by discrete wavelet transform in the row direction. (84); Signals for odd rows of (LL) J-1 L (n 1 , n 2 ) and (LL) J-1 H (n 1 , n 2 ) bands output from buffers 76 and 78 in the second buffer. And a multiplexer (86) for receiving and multiplexing the output signal of the register (84) and the odd-numbered columns of the (LL) J row output from the buffer (80) in the third buffer. And (LL) J-1 L (n 1 , n 2 ), (LL) J-1 H (outputted from the output signal from the first buffer 70 and the buffers 72 and 74 in the second buffer. n 1 , n 2 ) and a multiplexer 88 which receives and multiplexes the signal for the even row of the band and the (LL) J one even column of the signal output from the buffer 82 in the third buffer. Here, J represents the number of division levels of the wavelet transform.

상기 제 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)의 홀수 행을 저장한다.The buffers 72 and 74 in the second buffer are divided into two subbands ((LL) J-1 L (n 1 , n 2 ), (LL) Stores even rows of J-1 H (n 1 , n 2 )) (J> 1), and the buffers 76 and 78 in the second buffer are fed back to the second level or more in the row direction. Odd rows of two subbands ((LL) J-1 L (n 1 , n 2 ), (LL) J-1 H (n 1 , n 2 )) (J> 1) by discrete wavelet transform of Save it.

그리고, 상기 제 3버퍼내의 버퍼(80)는 피드백되어 입력되는 열방향으로의 이산 웨이브렛 변환에 의한 1개의 부밴드 (LL)J (J>0)한 행의 홀수 열들의 결과를 저장하고, 상기 제 3버퍼내의 버퍼(82)는 피드백되어 입력되는 열방향으로의 이산 웨이브렛 변환에 의한 1개의 부밴드 (LL)J (J>0)한 행의 짝수 열들의 결과를 저장한다.The buffer 80 in the third buffer stores the result of odd columns of one subband LL J (J> 0) by the discrete wavelet transform in the column direction fed back and inputted, The buffer 82 in the third buffer stores the result of even columns of one subband LL J (J> 0) by the discrete wavelet transform in the column direction fed back and input.

도 12에서, 레지스터(84)는 전달지연 레지스터로서, 하나의 레지스터를 나타 낸다. 따라서, 1클럭 싸이클의 전달지연이 생긴다. In Fig. 12, the register 84 is a propagation delay register and represents one register. Thus, there is a delay of one clock cycle.

도 12에서, 제 1버퍼(70)는 한행에 대한 1레벨의 행방향의 결과인 고주파와 저주파 출력 결과들을 저장하기 때문에 N 크기를 가지며, 제 2버퍼(72, 74; 76, 78)와 제 3버퍼(80, 82)는 2레벨 이상의 웨이브렛 연산에 사용되며 N/2(= N/4+(N/8)+...(N/2J) )(J>1) 크기를 가진다. In FIG. 12, the first buffer 70 has an N size because it stores the high frequency and low frequency output results, which are the result of the one-level row direction for one row, and has a second buffer (72, 74; 76, 78) and a second buffer. The three buffers 80 and 82 are used for wavelet calculations of two or more levels and have sizes N / 2 (= N / 4 + (N / 8) + ... (N / 2 J )) (J> 1). .

만약, 상기 수평 모듈(20)이 영상의 홀수 행에 대한 고주파 결과값(H), 저주파 결과값(L)들을 출력한다면, 상기 수직 필터(34)는 이전 짝수 행의 해당 열의 고주파 또는 저주파 결과를 제 1버퍼(70)((L/H)e행 버퍼)로부터 읽어 들여 고주파-저주파(HL), 고주파-고주파(HH) 또는 저주파-저주파(LL), 저주파-고주파(LH) 결과들을 출력한다. 계산되어진 저주파-저주파 결과는 2번째 레벨의 계산을 위해 제 3버퍼(80, 82)(LL 버퍼)에 저장된다. If the horizontal module 20 outputs the high frequency result value H and the low frequency result value L for the odd row of the image, the vertical filter 34 outputs the high frequency or low frequency result of the corresponding column of the previous even row. It reads from the first buffer 70 ((L / H) e row buffer) and outputs high frequency-low frequency (HL), high frequency-high frequency (HH), or low frequency-low frequency (LL) and low frequency-high frequency (LH) results. . The calculated low-low frequency results are stored in the third buffer 80, 82 (LL buffer) for the second level of calculation.

반면, 만약 상기 수평 모듈(20)이 짝수 행에 대한 고주파 결과값(H), 저주파 결과값(L)들을 출력한다면, 상기 수직 필터(34)는 상술한 연산 스케쥴링에 따라 2번째 레벨 이상의 행방향과 열방향 연산을 수행한다. On the other hand, if the horizontal module 20 outputs the high frequency result value H and the low frequency result value L for even rows, the vertical filter 34 has a row direction of a second level or more in accordance with the above-described calculation scheduling. Performs column and column operations.

상기 수직 필터(34)는 도 13과 같은 파이프라인 구조를 가진다. The vertical filter 34 has a pipeline structure as shown in FIG. 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)를 구비한다.The vertical filter 34 of FIG. 13 includes a signal L / H (2n 1 + 1, n 2 ) / LL (n 1 , 2n 2 +1) and a signal from the multiplexer 86 of the signal buffer 32. The signal L / H (2n 1 , n 2 ) / LL (n 1 , 2n 2 ) from the multiplexer 88 of the signal buffer 32 is input to calculate the first lifting prediction step. A first processing unit (90) which performs to calculate a predetermined high frequency result value (d 1 (i) in Equation (2)); A second low-frequency result value (s 1 (i) in Equation (2)) is calculated by receiving a signal from the first processing unit 90 and performing a calculation of the first lifting update step. Processing unit 92; A third that receives a signal from the second processing unit 92 and performs a second lifting prediction step to calculate a predetermined high frequency result value (d 2 (i) in Equation (2)) Processing unit 94; A fourth low-frequency result value (s 2 (i) in Equation (2)) is calculated by receiving a signal from the third processing unit 94 and performing a second lifting update step operation. Processing unit 96; A pipeline register (142) for providing a signal at the first output terminal of the first processing unit (90) to the first input terminal of the second processing unit (92) at every clock pulse; A pipeline register (145) for providing a signal of the second output terminal of the first processing unit (90) to the second input terminal of the second processing unit (92) at every clock pulse; A pipeline register (148) for providing a signal of the first output terminal of the second processing unit (92) to the first input terminal of the third processing unit (92) at every clock pulse; A pipeline register (149) for providing a signal at the second output terminal of the second processing unit (92) to the second input terminal of the third processing unit (94) at every clock pulse; A pipeline register 152 for providing a signal at the first output terminal of the second processing unit 94 to the first input terminal of the fourth processing unit 96 at every clock pulse; A pipeline register 155 which receives the second output terminal signal of the third processing unit 94 and provides it to the second input terminal of the fourth processing unit 96; A pipeline register 158 for outputting after receiving the first stage output signal of the fourth processing unit every clock pulse; A pipeline register 193 for outputting after receiving a signal at the second output terminal of the fourth processing unit 96 every clock pulse; A multiplier (191) for multiplying an output signal of the pipeline register (158) by a predetermined scaling factor (1 / ζ); The output signal of the pipeline register 148 and the output signal of the multiplier 191 are input and multiplexed according to the control signal 9_7sel to generate a high frequency and low frequency result value (HH / LH (n 1 , n 2 ) / (LL). A multiplexer 192 that outputs) H (n 1 , n 2 )); A multiplier (194) for multiplying an output signal of the pipeline register (193) by a predetermined scaling factor (ζ); And receiving the output signal of the pipeline register 149 and the output signal of the multiplier 194 and multiplexing according to a control signal 9_7sel to obtain high and low frequency result values (HH / LL (n 1 , n 2 ) / ( A multiplexer 195 for outputting LL) L (n 1 , n 2 )) is provided.

그리고, 수직 필터(34)내 처리 유닛들은 각각의 입력에 곱해지는 필터계수(제 1처리 유닛(90)의 경우: α, 제 2처리 유닛(92)의 경우: β, 제 3처리 유닛(94)의 경우: γ, 제 4처리 유닛(96)의 경우: δ)를 제외하고는 동일하다. Then, the processing units in the vertical filter 34 are filter coefficients multiplied by their respective inputs (for the first processing unit 90: α, for the second processing unit 92: β, third processing unit 94). ) Is the same except for [gamma], for the fourth processing unit 96: [delta].

상기 제 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)를 구비한다. As shown in FIG. 14, the internal structure of the first processing unit 90 has a filter coefficient for the input signal PE_IN (even) (H / L (2n 1 , n 2 ) / LL (n 1 , 2n 2 )). a multiplier 120 for applying (α); An adder 126 for adding an input signal PE_IN (odd) (H / L (2n 1 + 1, n 2 ) / LL (n 1 , 2n 2 +1)) and an output signal of the multiplier 120; A delay buffer 127 configured to have a 2N size line buffer to delay the transfer of the output signal qv (also referred to as a vertical state variable) of the adder 126 by 2 J N clock cycles during the thermal direction calculation at each level; A delay register 128 composed of one register for delaying the transfer of the output signal q H (also referred to as a horizontal state variable) of the adder 126 by one clock cycle in a row direction operation; A multiplexer 129 for receiving and multiplexing output signals from the delay buffer 127 and the delay register 128; The adder 130 adds an output signal of the multiplier 120 and an output signal of the multiplexer 129 to output a predetermined output signal out.

상기의 도 14에서, 지연 버퍼(127)는 N*N영상에 대해 2N 크기의 라인 메모리라고 할 수 있다.In FIG. 14, the delay buffer 127 may be referred to as a 2N size line memory for N * N images.

상술한 수직 필터(34)의 제 1처리 유닛(90)은 첫 번째 리프팅 예측 (Predict) 스텝의 연산을 수행하고 식 (2)에서 d1(i)를 계산한다. 제 2처리 유닛(92)은 첫 번째 갱신 (Update) 스텝의 연산을 수행하고 식 (2)에서 s1(i)를 계산한다. The first processing unit 90 of the vertical filter 34 described above performs the operation of the first lifting prediction step and calculates d 1 (i) in equation (2). The second processing unit 92 performs the operation of the first update step and calculates s 1 (i) in equation (2).

제 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) 결과가 출력된다.
상기 각 처리 유닛(90, 92, 94, 96)의 임계경로는 짝수번째 입력신호에 필터 계수를 적용시키는 곱셈기(120), 상기 곱셈기(120)의 출력신호와 상기 멀티플렉서(129)의 출력신호를 더하는 덧셈기(130)를 거쳐 출력신호까지의 경로이기 때문에, 1개의 곱셈기와 1개의 덧셈기의 임계경로를 갖는다.
The third processing unit 94 performs the operation of the second lifting prediction step and calculates d 2 (i) in equation (2), and the fourth processing unit 96 performs the second update step. Perform the operation of and calculate s 2 (i) in equation (2). In the case of the (5,3) filter, only d 1 (i) and s 1 (i) are required, so 9_7sel becomes '0' and the result of d 1 (i) and s 1 (i) is H (i). And L (i) results, and for the (9,7) filter, 9_7sel is '1' because d 2 (i) and s 2 (i) results are required, so d 2 (i) and s 2 ( H (i) and L (i) results are output by multiplying the result of i) by a scaling factor.
The critical paths of the processing units 90, 92, 94, and 96 each include a multiplier 120 for applying a filter coefficient to an even-numbered input signal, an output signal of the multiplier 120, and an output signal of the multiplexer 129. Since the addition is a path from the adder 130 to the output signal, it has a critical path of one multiplier and one adder.

한편, 상기 수직 필터(34)내의 각 처리 유닛(90, 92, 94, 96)은 행방향의 상태변수(qH)들을 위해 1개의 레지스터를 요구하며, 열방향의 상태 변수(qV)를 위해서는 모든 레벨의 하나의 행에 대한 상태변수를 저장해야 하기 때문에 2N(= N+(N/2)+...(N/2J-1) ) 크기의 버퍼를 필요로 한다. 이와 같이 상기 수직 필터(34)는 스케일링 인수를 포함하여 6개의 곱셈기와 8개의 덧셈기, 및 8N 크기의 버퍼들을 포함한다. On the other hand, each processing unit 90, 92, 94, 96 in the vertical filter 34 requires one register for the state variables q H in the row direction, and the state variables q V in the column direction. This requires a 2N (= N + (N / 2) + ... (N / 2 J-1 )) sized buffer, because we need to store state variables for one row at every level. As such, the vertical filter 34 includes six multipliers, eight adders, and 8N size buffers, including scaling factors.

이상 상세히 설명한 바와 같이 본 발명에 따르면, JPEG2000의 쌍직교 (9-7)/(5-3) 리프팅 이산 웨이브렛 변환을 본 발명의 VLSI 구조로 구현하였을 경우 N*N 영상에 대해 외부 메모리의 사용 없이 내부의 12N(신호버퍼: 4N, 수직버퍼:8N) 크기의 라인 메모리만을 사용하여 구현할 수 있으며, 쌍직교 (9-7)의 경우 종래의 RPA를 이용한 구조가 행방향 연산을 위한 처리 유닛 4개, 열방향 연산을 위한 처리 유닛 4개를 사용하는 반면 본 발명의 구조는 2번째 레벨 이상의 행방향 연산과 열방향 연산 모두를 첫번째 레벨의 열방향 연산을 수행하는 필터에서 수행하게 함으로써 행방향 연산을 위한 처리 유닛 2개, 열방향 연산을 위한 처리 유닛 4개를 가 진다. As described in detail above, according to the present invention, the use of an external memory for N * N images when the bi-orthogonal (9-7) / (5-3) lifting discrete wavelet transform of JPEG2000 is implemented with the VLSI structure of the present invention. It can be implemented using only 12N (signal buffer: 4N, vertical buffer: 8N) internal line memory, and in the case of bi-orthogonal (9-7), the structure using conventional RPA is processing unit 4 for row direction calculation. While four processing units for column and column operations are used, the structure of the present invention allows row and column operations to be performed in a filter that performs column operations of the first level or more, both in the row and column operations. It has two processing units for processing and four processing units for thermal calculation.

결과로서 종래의 RPA 기반 구조가 스케일링 인자(scaling factor)를 포함하여 12개의 곱셈기, 16개의 덧셈기가 필요한 반면, 본 발명의 구조는 9개의 곱셈기와 12개의 덧셈기만을 필요로 하여 하드웨어 양을 적게 차지한다. As a result, the conventional RPA-based architecture requires 12 multipliers and 16 adders, including a scaling factor, while the architecture of the present invention requires only 9 multipliers and 12 adders, which consumes less hardware. .

또한, 본 발명에서의 각 리프팅 스텝을 계산하는 처리 유닛은 1개의 곱셈기와 1개의 덧셈기의 임계경로를 가져, 종래에 제안된 1개의 곱셈기와 2개의 덧셈기의 임계경로에 대해 하나의 덧셈기 전달 지연을 감소시킬 수 있다.In addition, the processing unit for calculating each lifting step in the present invention has a critical path of one multiplier and one adder, so as to add one adder propagation delay to the conventional critical paths of one multiplier and two adders. Can be reduced.

한편, 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있고, 그러한 수정 및 변형이 가해진 기술사상 역시 이하의 특허청구범위에 속하는 것으로 보아야 한다.
On the other hand, the present invention is not limited only to the above-described embodiment, but can be modified and modified within the scope not departing from the gist of the present invention, the technical idea to which such modifications and variations are also applied to the claims Must see

Claims (7)

입력되는 영상신호에 대하여 리프팅 이산 웨이브렛 변환의 첫 번째 레벨의 행방향에 대한 필터링을 수행하는 수평 모듈; 및A horizontal module configured to perform filtering on the row direction of the first level of the lifting discrete wavelet transform on the input video signal; And 상기 수평 모듈로부터의 신호에 대하여 첫 번째 레벨의 열방향에 대한 필터링뿐만 아니라 두 번째 레벨 이상의 행방향과 열방향 모두에 대한 필터링을 수행하는 수직 모듈을 구비하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.Lifting Discrete Wavelet of JPEG2000, characterized in that it comprises a vertical module for filtering the signal from the horizontal module not only for the first level of the column direction but also for both the row and column direction of the second level or more. Inverter. 제 1항에 있어서,The method of claim 1, 상기 수평 모듈은, 직렬로 매 싸이클마다 영상 입력들을 받아 두개의 병렬 데이터를 2클럭 싸이클에 한번씩 출력하는 스플릿터; 및 상기 스플릿터로부터 제공되는 두개의 병렬 데이터를 가지고서 이산 웨이브렛 변환 연산을 행하여 저주파 결과값 또는 고주파 결과값을 출력하는 수평 필터를 구비하되,The horizontal module may include: a splitter that receives image inputs for each cycle in series and outputs two parallel data once every two clock cycles; And a horizontal filter for performing a discrete wavelet transform operation using two parallel data provided from the splitter to output a low frequency result value or a high frequency result value. 상기 수평 필터는 파이프라인 형태로 상호 연결된 두개의 처리 유닛을 구비하고, The horizontal filter has two processing units interconnected in the form of a pipeline, 상기 각각의 처리 유닛은 각 리프팅 스텝 연산을 위해 짝수번째 입력신호에 필터 계수를 곱하는 곱셈기, 현재 상태변수 계산을 위해 홀수번째 입력신호와 상기 곱셈기의 출력신호를 더하는 덧셈기, 두개의 레지스터로 구성되어 상기 덧셈기의 출력신호인 상태변수를 2클럭 싸이클 전달지연시키는 지연 레지스터, 및 상기 곱셈기의 출력신호와 상기 지연 레지스터의 출력신호를 더하여 소정의 출력신호를 내보내는 덧셈기를 구비하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.Each processing unit comprises a multiplier for multiplying even-numbered input signals by a filter coefficient for each lifting step operation, an adder for adding an odd-numbered input signal and an output signal of the multiplier for calculating a current state variable, and And a delay register for delaying the transfer of the state variable, which is the output signal of the adder, by two clock cycles, and an adder for adding a multiplier output signal and an output signal of the delay register to output a predetermined output signal. Wavelet inverter. 제 2항에 있어서,The method of claim 2, 상기 두개의 처리 유닛중에서 전단의 처리 유닛은 리프팅 예측 스텝의 연산을 수행하고 해당 수평 필터가 (5,3)필터로 사용되는 경우 하기의 식에서 d1(i)만을 계산하며 해당 수평 필터가 (9,7)필터로 사용되는 경우 하기의 식에서 d1(i) 및 d2(i)를 계산하고, 후단의 처리 유닛은 리프팅 갱신 스텝의 연산을 수행하고 해당 수평 필터가 (5,3)필터로 사용되는 경우 하기의 식에서 s1(i)만을 계산하며 해당 수평 필터가 (9,7)필터로 사용되는 경우 하기의 식에서 s1(i) 및 s2(i)를 계산하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.Among the two processing units, the preceding processing unit performs the calculation of the lifting prediction step, and when the corresponding horizontal filter is used as the (5,3) filter, only d 1 (i) is calculated in the following equation, and the corresponding horizontal filter is (9 (7) When used as a filter, d 1 (i) and d 2 (i) are calculated in the following equation, and the processing unit at the next stage performs the operation of the lifting update step and the corresponding horizontal filter is the (5,3) filter. when used only counts equation s 1 (i) below, and characterized in that the horizontal filter (9,7) calculate the equation s 1 (i) and s 2 (i) of the case to be used as a filter JPEG2000 Discrete wavelet inverter. (식)(expression) d0(i) = X(2i+1), s0(i) = X(2i)d 0 (i) = X (2i + 1), s 0 (i) = X (2i) d1(i) = αs0(i+1)+q0(i-1), s1(i) =βd1(i)+q1(i-1)d 1 (i) = αs 0 (i + 1) + q 0 (i-1), s 1 (i) = βd 1 (i) + q 1 (i-1) q0(i) = αs0(i+1)+d0(i+1), q1(i) = βd1(i)+s 0(i+1)q 0 (i) = αs 0 (i + 1) + d 0 (i + 1), q 1 (i) = βd 1 (i) + s 0 (i + 1) d2(i) = γs1(i+1)+q2(i-1), s2(i) = δd2(i)+q3(i-1)d 2 (i) = γs 1 (i + 1) + q 2 (i-1), s 2 (i) = δd 2 (i) + q 3 (i-1) q2(i) = γs1(i+1)+d1(i+1), q3(i) = δd2(i)+s 1(i+1)q 2 (i) = γs 1 (i + 1) + d 1 (i + 1), q 3 (i) = δd 2 (i) + s 1 (i + 1) H(i) = d(i) = d1(i) L(i) = s(i) = s1(i) for (5,3)filterH (i) = d (i) = d 1 (i) L (i) = s (i) = s 1 (i) for (5,3) filter = (1/ζ)d2(i) = ζs2(i) for (9,7)filter= (1 / ζ) d 2 (i) = ζs 2 (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)를 나타낸다.X (n) represents an input sequence and n = 0,1,2, ... N for N input sequences, and i = 0,1,2, .. ..N / 2. The d (i) refers to the high frequency result by the prediction step, and the s (i) represents the low frequency results by the update step. Α, β, γ, and δ are filter coefficients, ζ and 1 / ζ represent scaling factors. 제 1항에 있어서,The method of claim 1, 상기 수직 모듈은, 상기 수평 모듈이 영상의 홀수행에 대한 저주파 또는 고주파 출력을 계산할 때 첫 번째 레벨의 열방향 연산을 수행하고, 상기 수평 모듈이 영상의 영상의 짝수행에 대한 저주파 또는 고주파 출력을 계산할 때 두 번째 레벨 이상의 행방향과 열방향 연산을 수행하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.The vertical module performs a first level columnwise operation when the horizontal module calculates a low frequency or high frequency output for odd rows of an image, and the horizontal module performs a low frequency or high frequency output for even rows of an image. A lifting discrete wavelet transform apparatus of JPEG2000, characterized in that performing a row and column direction calculation of a second level or more when calculating. 제 4항에 있어서,The method of claim 4, wherein 상기 수직 모듈은, 상기 수평 모듈로부터의 신호를 임시적으로 버퍼링하는 신호 버퍼; 및 상호 파이프라인 형태로 연결된 제 1 내지 제 4처리 유닛을 갖춘 수직 필터를 구비하고,The vertical module includes a signal buffer for temporarily buffering a signal from the horizontal module; And a vertical filter having first to fourth processing units connected in a mutual pipeline form, 상기 제 1처리 유닛은 상기 신호 버퍼로부터의 신호에 대하여 첫 번째 리프 팅 예측 스텝의 연산을 수행하여 하기의 식에서 d1(i)을 계산하고, 상기 제 2처리 유닛은 상기 제 1처리 유닛으로부터의 신호에 대하여 첫 번째 리프팅 갱신 스텝의 연산을 수행하여 하기의 식에서 s1(i)을 계산하며, 상기 제 3처리 유닛은 상기 제 2처리 유닛으로부터의 신호에 대하여 두 번째 리프팅 예측 스텝을 수행하여 하기의 식에서 d2(i)를 계산하고, 상기 제 4처리 유닛은 상기 제 3처리 유닛으로부터의 신호에 대하여 두 번째 리프팅 리프팅 갱신 스텝의 연산을 수행하여 하기의 식에서 s2(i)를 계산하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.The first processing unit performs an operation of the first lifting prediction step on the signal from the signal buffer to calculate d 1 (i) in the following equation, and the second processing unit is obtained from the first processing unit. The first lifting update step is performed on the signal to calculate s 1 (i) in the following equation, and the third processing unit performs the second lifting prediction step on the signal from the second processing unit. Calculate d 2 (i) in the equation, and the fourth processing unit calculates s 2 (i) in the following equation by performing a second lifting lifting update operation on the signal from the third processing unit. A lifting discrete wavelet converter of JPEG2000. (식)(expression) d0(i) = X(2i+1), s0(i) = X(2i)d 0 (i) = X (2i + 1), s 0 (i) = X (2i) d1(i) = αs0(i+1)+q0(i-1), s1(i) =βd1(i)+q1(i-1)d 1 (i) = αs 0 (i + 1) + q 0 (i-1), s 1 (i) = βd 1 (i) + q 1 (i-1) q0(i) = αs0(i+1)+d0(i+1), q1(i) = βd1 (i)+s0(i+1)q 0 (i) = αs 0 (i + 1) + d 0 (i + 1), q 1 (i) = βd 1 (i) + s 0 (i + 1) d2(i) = γs1(i+1)+q2(i-1), s2(i) = δd2(i)+q3(i-1)d 2 (i) = γs 1 (i + 1) + q 2 (i-1), s 2 (i) = δd 2 (i) + q 3 (i-1) q2(i) = γs1(i+1)+d1(i+1), q3(i) = δd2(i)+s 1(i+1)q 2 (i) = γs 1 (i + 1) + d 1 (i + 1), q 3 (i) = δd 2 (i) + s 1 (i + 1) H(i) = d(i) = d1(i) L(i) = s(i) = s1(i) for (5,3)filterH (i) = d (i) = d 1 (i) L (i) = s (i) = s 1 (i) for (5,3) filter = (1/ζ)d2(i) = ζs2(i) for (9,7)filter= (1 / ζ) d 2 (i) = ζs 2 (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)를 나타낸다.X (n) represents an input sequence and n = 0,1,2, ... N for N input sequences, and i = 0,1,2, .. ..N / 2. The d (i) refers to the high frequency result by the prediction step, and the s (i) represents the low frequency results by the update step. Α, β, γ, and δ are filter coefficients, ζ and 1 / ζ represent scaling factors. 제 5항에 있어서,The method of claim 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,n2) 밴드의 홀수 행에 대한 신호와 상기 레지스터의 출력신호 및 상기 제 3버퍼에서 출력되는 (LL)J 한 행의 홀수 열의 신호를 입력받아 멀티플렉싱하는 멀티플렉서; 및 상기 제 1버퍼로부터의 출력신호와 상기 제 2버퍼에서 출력되는 (LL)J-1L(n1,n2), (LL)J-1H(n1,n2) 밴드의 짝수 행에 대한 신호와 상기 제 3버퍼에서 출력되는 (LL)J 한행의 짝수 열의 신호를 입력받아 멀티플렉싱하는 멀티플렉서로 구성되는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.The signal buffer comprises: a first buffer for storing high frequency and low frequency output results from the horizontal module for even rows of an input image; Two subbands ((LL) J-1 L (n 1 , n 2 ) and (LL) J-1 H (n 1 , n by discrete wavelet transform in the row direction of the second level or more fed back and inputted. A second buffer for storing even and odd rows of 2 )); A third buffer for separately storing the results of the even and odd columns of one subband (LL) J in one row by the discrete wavelet transformation in the column direction fed back; A register for temporarily storing high frequency and low frequency output results from the horizontal module for odd rows of two subbands L / H (n 1 , n 2 ) by discrete wavelet transformation in a row direction; Signals for odd rows of the (LL) J-1 L (n 1 , n 2 ), (LL) J-1 H (n 1 , n 2 ) bands output from the second buffer, the output signal of the register, and A multiplexer configured to receive and multiplex (LL) J odd-numbered columns of signals output from the third buffer; And even rows of the output signal from the first buffer and the (LL) J-1 L (n 1 , n 2 ) and (LL) J-1 H (n 1 , n 2 ) bands output from the second buffer. And a multiplexer configured to receive and multiplex a signal for (LL) J and an even column of one row output from the third buffer. 상기 J는 웨이브렛 변환의 분할 레벨의 수를 나타낸다.J represents the number of division levels of the wavelet transform. 제 5항에 있어서,The method of claim 5, 상기 각각의 제 1 내지 제 4처리 유닛은, 짝수번째 입력신호에 필터 계수를 적용시키는 곱셈기, 상태변수 계산을 위해 홀수번째 입력신호와 상기 곱셈기의 출력신호를 더하는 덧셈기, N×N 영상 크기에 대해 2N크기의 라인 버퍼로 구성되어 각 레벨의 열방향 연산시 상기 덧셈기의 출력신호를 2N클럭 싸이클 전달지연시키는 지연 버퍼, 한개의 레지스터로 구성되어 행방향 연산시 상기 덧셈기의 출력신호를 1클럭 싸이클 전달지연시키는 지연 레지스터, 상기 지연 버퍼와 지연 레지스터로부터의 출력신호를 입력받아 멀티플렉싱하는 멀티플렉서, 및 상기 곱셈기의 출력신호와 상기 멀티플렉서의 출력신호를 더하여 소정의 출력신호를 내보내는 덧셈기를 구비하는 것을 특징으로 하는 JPEG2000의 리프팅 이산 웨이브렛 변환장치.Each of the first to fourth processing units includes a multiplier for applying filter coefficients to even-numbered input signals, an adder for adding odd-numbered input signals and output signals of the multiplier to calculate state variables, and an N × N image size. It is composed of a line buffer of 2N size and delay buffer which delays the output signal of the adder for 2N clock cycle during each level column operation, and it is composed of one register and transmits the output signal of the adder 1 cycle for row direction operation. A delay register for delaying, a multiplexer for receiving and multiplexing output signals from the delay buffer and the delay register, and an adder for adding a output signal of the multiplier and an output signal of the multiplexer to output a predetermined output signal. Lifting Discrete Wavelet Inverter of JPEG2000.
KR1020040074208A 2004-09-16 2004-09-16 Apparatus for lifting discrete wavelet transform of JPEG2000 KR100628441B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040074208A KR100628441B1 (en) 2004-09-16 2004-09-16 Apparatus for lifting discrete wavelet transform of JPEG2000

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040074208A KR100628441B1 (en) 2004-09-16 2004-09-16 Apparatus for lifting discrete wavelet transform of JPEG2000

Publications (2)

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

Family

ID=37130927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040074208A KR100628441B1 (en) 2004-09-16 2004-09-16 Apparatus for lifting discrete wavelet transform of JPEG2000

Country Status (1)

Country Link
KR (1) KR100628441B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771153B1 (en) * 2006-05-11 2007-10-29 엠텍비젼 주식회사 Discrete wavelet transform device and the same method
KR100769109B1 (en) * 2006-08-08 2007-10-22 충북대학교 산학협력단 Method for efficient data compression using filter

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072494A (en) 2002-08-07 2004-03-04 National Taiwan Univ Flip type arithmetic method for use in realization of lifting based discrete wavelet transformation hardware, and hardware structure thereof
JP2004194224A (en) 2002-12-13 2004-07-08 Mega Chips Corp Device and method for transforming wavelet

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072494A (en) 2002-08-07 2004-03-04 National Taiwan Univ Flip type arithmetic method for use in realization of lifting based discrete wavelet transformation hardware, and hardware structure thereof
JP2004194224A (en) 2002-12-13 2004-07-08 Mega Chips Corp Device and method for transforming wavelet

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문

Also Published As

Publication number Publication date
KR20060025412A (en) 2006-03-21

Similar Documents

Publication Publication Date Title
US5875122A (en) Integrated systolic architecture for decomposition and reconstruction of signals using wavelet transforms
KR100380199B1 (en) A dwt-based up-sampling algorithm suitable for image display in an lcd panel
Lan et al. Low-power and high-speed VLSI architecture for lifting-based forward and inverse wavelet transform
US5706220A (en) System and method for implementing the fast 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 (en) Apparatus for lifting discrete wavelet transform of JPEG2000
US6182102B1 (en) System and method for implementation of inverse wavelet transforms
JPS622721A (en) Coding and decoding device for picture signal
KR101061008B1 (en) Convolution-based Discrete Wavelet Transform
US7940991B2 (en) Image signal processing apparatus
Bhanu et al. A detailed survey on VLSI architectures for lifting based DWT for efficient hardware implementation
Nagabushanam et al. FPGA Implementation of 1D and 2D DWT Architecture using modified Lifting Scheme
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 (en) VLSI Architecture for the 2-D Discrete Wavelet Transform
EP1298932A2 (en) Architecture component and method for performing discrete wavelet transforms
KR20080028608A (en) Apparatus and system for lifting discrete wavelet transform
Darji et al. High speed VLSI architecture for 2-D lifting Discrete Wavelet Transform
KR20060077196A (en) Filter module
JP2003283841A (en) Filtering processing apparatus and filtering processing method
Chetan et al. VLSI Implementation of Low Power and High Speed Architecture of DWT-IDWT using Lifting based Algorithm
Staworko et al. A high-performance VLSI architecture of 2D DWT processor for JPEG2000 encoder

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