[go: up one dir, main page]

KR20060077196A - Filter module - Google Patents

Filter module Download PDF

Info

Publication number
KR20060077196A
KR20060077196A KR1020040115999A KR20040115999A KR20060077196A KR 20060077196 A KR20060077196 A KR 20060077196A KR 1020040115999 A KR1020040115999 A KR 1020040115999A KR 20040115999 A KR20040115999 A KR 20040115999A KR 20060077196 A KR20060077196 A KR 20060077196A
Authority
KR
South Korea
Prior art keywords
coefficient
pass filtering
register
multiplication
stage
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020040115999A
Other languages
Korean (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 KR1020040115999A priority Critical patent/KR20060077196A/en
Publication of KR20060077196A publication Critical patent/KR20060077196A/en
Withdrawn legal-status Critical Current

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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 영상 데이터에 대한 필터 모듈에 관한 것으로, 특히, 차세대 정지영상 압축표준인 JPEG2000에서 입력영상을 필터링하여 각 서브 밴드별로 구분하는 역할을 수행하는 1D-DWT(1-Dimension Discrete Wavelet Transform) 필터 모듈에 관한 것이다. JPEG2000 에서 사용되는 DWT 필터링은 컨벌루션(convolution) 연산에 기반한 구조와 리프팅(lifting)에 기반한 구조 두 가지가 있는데, 본 발명은 컨벌루션 연산에 기반한 구조의 성능 향상을 위한 것이다.The present invention relates to a filter module for image data, and more particularly, a 1D-DWT (1-Dimension Discrete Wavelet Transform) filter that performs a role of filtering input images by subbands in JPEG2000, the next-generation still image compression standard. It is about a module. There are two types of DWT filtering used in JPEG2000, a structure based on a convolution operation and a structure based on a lifting. The present invention is to improve the performance of a structure based on a convolution operation.

본 발명의 필터 모듈은, 영상 데이터를 한 픽셀씩 순차적으로 래치하기 위한 입력 레지스터; 상기 입력 레지스터에 저장된 값에 소정 필터 계수를 곱하기 위한 곱셈기 다수개로 구성된 곱셈부; 상기 각 곱셈기에 적용할 필터 계수를 선택하기 위한 계수 선택기 다수개로 구성된 계수 선택부; 상기 각 곱셈기의 곱셈 연산값을 저장하기 위한 곱셈 레지스터 다수개로 구성된 곱셈 레지스터부; 소정의 컨벌루션 연산된 데이터 스트림을 생성하기 위해, 상기 각 곱셈 레지스터의 각 저장값을 소정 순서로 덧셈 연산 및 시프트를 수행하기 위한 덧셈-시프트 레지스터부를 포함하는 것을 특징으로 한다.The filter module of the present invention comprises: an input register for sequentially latching image data by one pixel; A multiplier comprising a plurality of multipliers for multiplying a value stored in the input register by a predetermined filter coefficient; A coefficient selector comprising a plurality of coefficient selectors for selecting filter coefficients to be applied to each multiplier; A multiplication register unit comprising a plurality of multiplication registers for storing multiplication operation values of the multipliers; And an add-shift register unit for performing an addition operation and a shift on each stored value of each multiply register in a predetermined order to generate a predetermined convolutionally operated data stream.

DWT, JPEG2000, 컨벌루션, 필터 모듈, 영상 압축DWT, JPEG2000, Convolution, Filter Module, Image Compression

Description

필터 모듈{FILTER MODULE} Filter module {FILTER MODULE}             

도 1은 종래기술에 의한 1D-DWT 필터 모듈을 나타낸 블록도,1 is a block diagram showing a 1D-DWT filter module according to the prior art,

도 2는 본 발명에 의한 1D-DWT 필터 모듈의 일실시예을 나타낸 블록도.Figure 2 is a block diagram showing one embodiment of a 1D-DWT filter module according to the present invention.

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

110 : 입력 레지스터 120 : 곱셈부110: input register 120: multiplication unit

140 : 계수 선택부 160 : 곱셈 레지스터140: coefficient selection unit 160: multiplication register

180 : 덧셈-시프트 레지스터부
180: add-shift register section

본 발명은 영상 데이터에 대한 필터 모듈에 관한 것으로, 특히, 차세대 정지영상 압축표준인 JPEG2000에서 입력영상을 필터링하여 각 서브 밴드별로 구분하는 역할을 수행하는 1D-DWT(1-Dimension Discrete Wavelet Transform) 필터 모듈에 관한 것이다.The present invention relates to a filter module for image data, and more particularly, a 1D-DWT (1-Dimension Discrete Wavelet Transform) filter that performs a role of filtering input images by subbands in JPEG2000, the next-generation still image compression standard. It is about a module.

JPEG2000은 MPEG보다 뛰어난 압축률과 향상된 엔코딩 기술을 지원하며, DWT 를 사용하여 양자화, 엔트로피 코딩으로 높은 영상 압축률과 고화질을 제공한다. MPEG의 경우 해상도가 고정되어 있어서 영상 스케일 조절시 이미지가 손상되는 반면, DWT를 이용한 영상의 경우에는 영상의 확대나 축소시에도 이미지에 손상을 주지 않는 장점이 있어, 의료 분야, 보안 분야 및 멀티미디어 분야에서 폭넓은 응용이 가능하며, 특히, 디지털 카메라에서의 정지영상의 압축/복원에 효과적이다.JPEG2000 supports better compression and improved encoding technology than MPEG. It uses DWT to provide high image compression and high picture quality with quantization and entropy coding. In the case of MPEG, the resolution is fixed so that the image is damaged when the image is scaled, while the image using DWT does not damage the image even when the image is enlarged or reduced. A wide range of applications is possible, and is particularly effective for compressing and restoring still images in digital cameras.

도 1은 종래 기술에 의한 DWT 필터 모듈을 도시한 블록도이다. 도시한 DWT 필터 모듈은 입력 영상 데이터가 시프트 버퍼링되는 9개의 레지스터로 구성된 입력 레지스터부; 상기 9개의 레지스터 중 대칭적인 위치의 레지스터끼리 합산하기 위한 덧셈부; 상기 덧셈부의 덧셈 연산 결과를 저장하기 위한 덧셈 레지스터부; 상기 각 덧셈 레지스터에 저장된 값에 소정 계수를 곱하기 위한 곱셈기 다수개로 구성된 곱셈부; 상기 각 곱셈기에 적용할 상기 소정 계수를 선택하기 위한 계수 선택기 다수개로 구성된 계수 선택부; 상기 곱셈부의 연산 결과를 저장하기 위한 곱셈 레지스터부; 및 상기 곱셈 레지스터부의 각 구성 레지스터에 저장된 값을 더하기 위한 출력 덧셈기로 이루어진다.1 is a block diagram showing a DWT filter module according to the prior art. The illustrated DWT filter module comprises: an input register section consisting of nine registers in which input image data is shift buffered; An adder for summing registers of symmetric positions among the nine registers; An add register unit for storing an add operation result of the add unit; A multiplier comprising a plurality of multipliers for multiplying a value stored in each add register by a predetermined coefficient; A coefficient selector comprising a plurality of coefficient selectors for selecting the predetermined coefficients to be applied to each multiplier; A multiplication register unit for storing the operation result of the multiplication unit; And an output adder for adding a value stored in each component register of the multiplication register unit.

상기 구조는 이른바 다이렉트 구조로서, 입력영상 데이터가 9개의 시프트 레지스터에 각각 저장되고, 이 레지스터에 저장되어 있는 데이터와 계수 선택기에 의해 선택된 필터계수와의 곱셈 연산에 의해 산출된 데이터를 합산하여 하나의 필터링 처리된 픽셀을 얻는다.The structure is a so-called direct structure, in which the input image data is stored in nine shift registers, and the data calculated by the multiplication operation of the data stored in this register and the filter coefficient selected by the coefficient selector are added together. Get the filtered pixels.

도시한 바와 같은 다이렉트 1D-DWT 구조에는 상대적을 많은 레지스터를 가지며, 비효율적인 구조로 연산속도가 느린 문제점이 있었다.Direct 1D-DWT structure as shown has a relatively large number of registers, there is a problem that the operation speed is slow due to the inefficient structure.

본 발명은 상기 문제점들을 해결하기 위하여 안출된 것으로서, 보다 구조가 단순하고 효율적인 DWT 필터 모듈을 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, and an object thereof is to provide a DWT filter module with a simpler structure and more efficient.

또한, 본 발명은 보다 연산속도가 빠른 DWT 필터 모듈을 제공하는데 다른 목적이 있다.
It is another object of the present invention to provide a DWT filter module having a faster operation speed.

상기 목적을 달성하기 위한 본 발명의 필터 모듈은, 종래기술의 다이렉트 1D-DWT 구조를 뒤집은 구조를 가지고 있다. 즉, 입력 데이터를 바로 시프트 레지스터를 통과시키지 않고 바로 필터 계수와의 곱셈연산을 실행하고, 곱셈 연산을 마친 후에 시프트 레지스터에 따른 덧셈 연산을 수행하는 구조를 가진다. 이러한 구조의 경우 종래의 다이렉트 1D-DWT 구조에 비해 곱셈기와 덧셈기의 개수에는 변화가 없으나, 레지스터의 개수가 줄어들며 덧셈 연산의 비효율성을 개선할 수 있다.The filter module of the present invention for achieving the above object has a structure inverting the direct 1D-DWT structure of the prior art. That is, a multiplication operation is performed directly with the filter coefficients without directly passing the input data through the shift register, and after the multiplication operation is completed, the addition operation according to the shift register is performed. Such a structure has no change in the number of multipliers and adders compared to the conventional direct 1D-DWT structure, but the number of registers is reduced and the inefficiency of the addition operation can be improved.

JPEG2000에서 사용되는 DWT 필터링은 컨벌루션(convolution) 연산에 기반한 구조와 리프팅(lifting)에 기반한 구조 두 가지가 있는데, 본 발명은 컨벌루션 연산에 기반한 구조의 성능 향상을 위한 것이다. 본 발명이 구현하려는 컨벌루션 연산은 다음 수학식 1과 같다.There are two types of DWT filtering used in JPEG2000, a structure based on a convolution operation and a structure based on a lifting. The present invention is for improving the performance of a structure based on a convolution operation. The convolution operation to be implemented by the present invention is shown in Equation 1 below.

Figure 112004062608460-PAT00001
Figure 112004062608460-PAT00001

Figure 112004062608460-PAT00002
Figure 112004062608460-PAT00002

0<n≤N0 <n≤N

( x[n] : 1-D 입력영상 시퀀스,(x [n]: 1-D input image sequence,

y[n] : 1-D 각 서브 밴드별로 필터 처리된 시퀀스  y [n]: Filtered sequence for each subband of 1-D

N : 총 영상 픽셀 개수  N: total number of image pixels

y[2n-1] : 로우 패스 필터링된 서브 밴드   y [2n-1]: Low pass filtered subband

y[2n] : 하이 패스 필터링된 서브 밴드   y [2n]: High pass filtered subband

h[k] : 로우 패스 필터 계수  h [k]: Low pass filter coefficients

g[k] : 하이 패스 필터 계수  g [k]: high pass filter coefficients

Nh, Ph : 로우 패스 필터 계수의 최대 k값 및 최소 k값  Nh, Ph: maximum k value and minimum k value of the low pass filter coefficients

Ng, Pg : 하이 패스 필터 계수의 최대 k값 및 최소 k값 )  Ng, Pg: maximum k value and minimum k value of high pass filter coefficient)

상기 수식에서 h[k]와 g[k]는 대표적인 Daubechies 9/7 필터 계수로서 구체적인 값은 다음 표 1과 같다.In the above formula, h [k] and g [k] are representative Daubechies 9/7 filter coefficients and specific values are shown in Table 1 below.

kk Low-pass FilterLow-pass Filter High-pass FilterHigh-pass Filter 00 h0h0 0.60294901823635790.6029490182363579 g0g0 1.1150870524569941.115087052456994 ±1± 1 h1h1 0.26686411844287230.2668641184428723 g1g1 -0.5912717631142470-0.5912717631142470 ±2± 2 h2h2 -0.07822326652898785-0.07822326652898785 g2g2 -0.05754352622849957-0.05754352622849957 ±3± 3 h3h3 -0.01686411844287495-0.01686411844287495 g3g3 0.091271763114249480.09127176311424948 ±4± 4 h4h4 0.026748757410809760.02674875741080976

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하 기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, terms or words used in the specification and claims should not be construed as having a conventional or dictionary meaning, and the inventors should properly explain the concept of terms in order to best explain their own invention. Based on the principle that can be defined, it should be interpreted as meaning and concept corresponding to the technical idea of the present invention. Therefore, the embodiments described in the specification and the drawings shown in the drawings are only the most preferred embodiment of the present invention and do not represent all of the technical idea of the present invention, various modifications that can be replaced at the time of the present application It should be understood that there may be equivalents and variations.

(실시예)(Example)

도 2에 도시한 바와 같은 본 실시예의 필터 모듈은, 영상 데이터를 한 픽셀씩 순차적으로 래치하기 위한 입력 레지스터(110); 상기 입력 레지스터(110)에 저장된 값에 소정 필터 계수를 곱하기 위한 곱셈기 다수개로 구성된 곱셈부(120); 상기 각 곱셈기에 적용할 필터 계수를 선택하기 위한 계수 선택기 다수개로 구성된 계수 선택부(140); 상기 각 곱셈기의 곱셈 연산값을 저장하기 위한 곱셈 레지스터 다수개로 구성된 곱셈 레지스터부(160); 소정의 컨벌루션 연산된 데이터 스트림을 생성하기 위해, 상기 각 곱셈 레지스터의 각 저장값을 소정 순서로 덧셈 연산 및 시프트를 수행하기 위한 덧셈-시프트 레지스터부(180)를 포함하는 것을 특징으로 한다.The filter module of the present embodiment as shown in FIG. 2 includes an input register 110 for sequentially latching image data by one pixel; A multiplier comprising a plurality of multipliers for multiplying a value stored in the input register 110 by a predetermined filter coefficient; A coefficient selector (140) comprising a plurality of coefficient selectors for selecting filter coefficients to be applied to each multiplier; A multiplication register unit (160) comprising a plurality of multiply registers for storing multiply operation values of the multipliers; And an add-shift register unit 180 for performing an addition operation and a shift on each stored value of each multiply register in a predetermined order to generate a predetermined convolutional data stream.

도시한 입력 레지스터(110)는 시퀀스 형태로 입력되는 영상 데이터의 각 픽 셀값을 상기 곱셈부의 연산에 필요한 시간 만큼 래치하기 위한 것다. 영상 데이터의 입력 및 곱셈부의 연산 동작에 동기가 정확하여 별도의 래치 장비가 필요없거나, 본 실시예의 필터 모듈로 출력하는 장치의 출력단에 별도의 래치가 있거나, 상기 곱셈부에 별도의 래치가 있는 경우에는 상기 입력 레지스터를 구비하지 않을 수도 있다.The illustrated input register 110 is for latching each pixel value of the image data input in the sequence form by the time necessary for the operation of the multiplier. When the operation of inputting and multiplying image data is precisely synchronized, there is no need for a separate latch device, or there is a separate latch at the output terminal of the device output to the filter module of the present embodiment, or a separate latch is provided at the multiplier. May not be provided with the input register.

도시한 곱셈부(120)는 5개의 곱셈기(T0 ~ T4)로 이루어지는데, 각 곱셈기(T0 ~ T4)는 입력 레지스터(110)의 래치값과 각 계수 선택기(X0 ~ X4)에서 결정한 필터 계수를 곱하여 그 결과를 대응하는 각 곱셈 레지스터(M1 ~ M5)에 저장한다. 본 실시예의 경우 각 곱셈기(T0 ~ T4)는 4단 파이프라인 부스 곱셈기(pipelined booth multiplier)로 구현할 수도 있다.The illustrated multiplier 120 is composed of five multipliers T0 to T4. Each multiplier T0 to T4 stores the latch values of the input register 110 and the filter coefficients determined by the coefficient selectors X0 to X4. Multiply and store the result in each corresponding multiplication register (M1 to M5). In the present embodiment, each multiplier T0 to T4 may be implemented as a four-stage pipelined booth multiplier.

상기 표 1은 상기 곱셈기에서 적용할 하이 필터링 계수 및 로우 필터링 계수를 나타낸 것이다. 표 1의 계수 집합은 로우 패스 필터링 계수는 4차 고조파항까지 사용하며, 하이 패스 필터링 계수는 3차 고조파항까지 사용하는 경우에 적용하는 것이다.Table 1 shows high filtering coefficients and low filtering coefficients to be applied in the multiplier. The coefficient set in Table 1 applies when the low pass filtering coefficient is used up to the fourth harmonic term and the high pass filtering coefficient is used up to the third harmonic term.

도시한 계수 선택부(140)는 5개의 계수 선택기(X0 ~ X4)로 이루어지며, 첫째 계수 선택기(X0)는 0차 고조파항에 대한 하이 패스 필터링 계수(g0) 및 로우 패스 필터링 계수(h0) 중 하나를 선택하며, 둘째 계수 선택기(X1)는 1차 고조파항에 대한 하이 패스 필터링 계수(g1) 및 로우 패스 필터링 계수(h1) 중 하나를 선택하며, 세째 계수 선택기(X2)는 2차 고조파항에 대한 하이 패스 필터링 계수(g2) 및 로우 패스 필터링 계수(h2) 중 하나를 선택하며, 네째 계수 선택기(X3)는 3차 고조파항 에 대한 하이 패스 필터링 계수(g3) 및 로우 패스 필터링 계수(h3) 중 하나를 선택하며, 다섯째 계수 선택기(X4)는 0의 계수 및 4차 고조파항에 대한 로우 패스 필터링 계수(h4) 중 하나를 선택한다.The illustrated coefficient selector 140 is composed of five coefficient selectors X0 to X4, and the first coefficient selector X0 includes a high pass filtering coefficient g0 and a low pass filtering coefficient h0 for the 0th harmonic term. The second coefficient selector (X1) selects one of the high pass filtering coefficient (g1) and the low pass filtering coefficient (h1) for the first harmonic term, and the third coefficient selector (X2) selects the second harmonic Select one of the high pass filtering coefficient (g2) and the low pass filtering coefficient (h2) for the term, and the fourth coefficient selector (X3) selects the high pass filtering coefficient (g3) and the low pass filtering coefficient (for the third harmonic term). h3), the fifth coefficient selector X4 selects one of the coefficient of zero and the low pass filtering coefficient h4 for the fourth harmonic term.

도시한 바와 같이, 계수 선택부(140)는 한 번은 0차 고조파항에 대한 로우 패스 필터링 계수(h0), 1차 고조파항에 대한 하이 패스 필터링 계수(g1), 2차 고조파항에 대한 로우 패스 필터링 계수(h2), 3차 고조파항에 대한 하이 패스 필터링 계수(g3) 및 4차 고조파항에 대한 로우 패스 필터링 계수(h4)를 선택하고, 다음 번은 0차 고조파항에 대한 하이 패스 필터링 계수(g0), 1차 고조파항에 대한 로우 패스 필터링 계수(h1), 2차 고조파항에 대한 하이 패스 필터링 계수(g2), 3차 고조파항에 대한 로우 패스 필터링 계수(h3) 및 0의 계수를 선택하는 과정을 반복한다. As shown, the coefficient selector 140 once has a low pass filtering coefficient h0 for the zeroth harmonic term, a high pass filtering coefficient g1 for the first harmonic term, and a low pass for the second harmonic term. Select the filtering coefficient (h2), the high pass filtering coefficient for the third harmonic term (g3), and the low pass filtering coefficient for the fourth harmonic term (h4), the next time the high pass filtering coefficient for the zeroth harmonic term ( g0), the low pass filtering coefficient for the first harmonic term (h1), the high pass filtering coefficient for the second harmonic term (g2), the low pass filtering coefficient for the third harmonic term (h3), and the coefficient of zero. Repeat the process.

도시한 덧셈-시프트 레지스터부(180)는, 이전단의 저장값에 소정 가산치를 더한 값을 래치하는 9단계의 덧셈-시프트 래치(RA0 ~ RA8)로 이루어진다. 마지막단 곱셈 레지스터(M4)의 저장값은 최초단의 시프트 래치(RA0) 및 마지막단의 덧셈-시프트 래치(RA8)에 입력되며, 네째단 곱셈 레지스터(M3)의 저장값은 둘째단 덧셈-시프트 래치(RA1) 및 여덟째단 덧셈-시프트 래치(RA7)에 입력되며, 세째단 곱셈 레지스터(M2)의 저장값은 세째단의 덧셈-시프트 래치(RA2) 및 일곱째단의 덧셈-시프트 래치(RA6)에 입력되며, 둘째단 곱셈 레지스터(M1)의 저장값은 네째단 덧셈-시프트 래치(RA3) 및 여섯째단 덧셈-시프트 래치(RA5)에 입력되며, 최초단 곱셈 레지스터(M0)의 저장값은 다섯째단의 덧셈-시프트 래치(RA4)에 입력된다.
The illustrated add-shift register unit 180 includes nine addition-shift latches RA0 to RA8 for latching a value obtained by adding a predetermined addition value to the previous stored value. The stored value of the last stage multiplication register M4 is input to the first stage latch latch RA0 and the last stage of the add-shift latch RA8, and the stored value of the fourth stage multiplication register M3 is the second stage add-shift. The stored values of the third-stage multiply register (M2) are input to the latch (RA1) and the eighth-stage add-shift latch (RA7), and the third-stage add-shift latch (RA2) and the seventh-stage add-shift latch (RA6). The stored value of the second-stage multiply register (M1) is input to the fourth-stage add-shift latch (RA3) and the sixth-stage add-shift latch (RA5), and the stored value of the first-stage multiply register (M0) is fifth. It is input to the stage add-shift latch RA4.

이하, 본 실시예의 필터 모듈에 의한 영상 데이터 스트림의 변환 과정을 설명하기로 한다.Hereinafter, the conversion process of the image data stream by the filter module of the present embodiment will be described.

입력 레지스터(110)를 경유한 각 픽셀 데이터는 5개의 곱셈기(T0 ~ T4)에 의해 각각 소정의 필터링 계수가 적용되어 곱해진(weighted) 후, M0에서 M4까지의 5개의 곱셈 레지스터에 각각 저장된다. 곱셈 레지스터(M0 ~ M4)의 출력값은 덧셈-시프트 레지스터부(180)에 의해 정해진 순서대로 합산이 되어, R9 레지스터에는 최종적으로 DWT 필터링 처리된 영상 데이터가 저장된다. Each pixel data via the input register 110 is weighted by applying predetermined filtering coefficients by five multipliers T0 to T4, respectively, and then stored in five multiplication registers M0 to M4, respectively. . The output values of the multiplication registers M0 to M4 are summed in the order determined by the add-shift register unit 180, and finally, image data subjected to DWT filtering is stored in the R9 register.

입력 레지스터(110)는 클럭에 맞추어 영상 데이터 스트림을 구성하는 각 픽셀 데이터를 하나씩 래치하여, 5개의 곱셈기(T0 ~ T4)로 전송한다. 한편, 덧셈-시프트 레지스터부(180)를 구성하는 각 덧셈-시프트 래치(RA0 ~ RA8)는 클럭에 맞추어 이전단 시프트 래치에 해당 곱셈 레지스터 저장값을 합산하게 되므로, 최종단 덧셈 레지스터(R9)에는 해당 필터링 계수가 웨이트된(weighted) 9개의 픽셀값들의 합산값이 저장된다. 계수 선택기(X0 ~ X4)는 처음에는 도시한 위의 계수를 선택하며, 다음에는 도시한 아래의 계수가 선택하는 방식으로 동작하므로, 최종단 덧셈 레지스터(R9)에는, 홀수번 클럭에서는 h4, h3, h2, h1, h0, h1, h2, h3 및 h4의 순서의 필터링 계수가 곱해진 9개의 픽셀값에 대한 합산값이 생성되고, 짝수번 클럭에서는 g3, g2, g1, g0, g1, g2, 및 g3의 순서의 필터링 계수가 곱해진 7개의 픽셀값에 대한 합산값이 생성된다.The input register 110 latches each pixel data constituting the image data stream one by one according to a clock, and transmits them to five multipliers T0 to T4. On the other hand, each of the add-shift latches RA0 to RA8 constituting the add-shift register unit 180 adds the corresponding multiplication register stored value to the previous shift latch in accordance with a clock, so that the final add register R9 The sum of nine pixel values whose corresponding filtering coefficient is weighted is stored. The coefficient selectors X0 to X4 initially select the above coefficients shown in the figure, and then operate in such a manner that the below coefficients shown in the figure are selected. Therefore, in the last stage addition register R9, h4 and h3 at odd numbered clocks. , a summation is generated for the nine pixel values multiplied by the filtering coefficients in the order of h2, h1, h0, h1, h2, h3, and h4, and g3, g2, g1, g0, g1, g2, And a summation value for the seven pixel values multiplied by the filtering coefficients in the order of g3.

예컨대, 입력 픽셀 데이터가 x[1], x[2], x[3], ...와 같이 들어온다고 가정하였을 때, 첫 클럭 펄스 기간에는 x[1]·h4의 연산 결과가 M4 레지스터를 통과하 여 R1 레지스터에 저장된다. 두번째 클럭 펄스 기간에는 x[2]·h3이 연산결과가 M3 레지스터를 통과하여 R1 레지스터와 덧셈 연산을 수행하여 R2 레지스터에 저장된다. 상기 과정을 계속 반복하여 DWT 필터링 처리된 출력 영상 데이터 y[1], y[2]는 다음 수학식 2와 같이 표현된다.For example, assuming that input pixel data comes in as x [1], x [2], x [3], ..., the result of the calculation of x [1] · h4 in the first clock pulse period results in the M4 register. Passed through is stored in the R1 register. In the second clock pulse period, x [2] · h3 is stored in the R2 register by performing an addition operation with the R1 register through the M3 register. Repeating the above process, DWT filtered output image data y [1] and y [2] are expressed as in Equation 2 below.

y[1] = y [1] =

(x[1]·h4) + (x[2]·h3) + (x[3]·h2) + (x[4]·h1) + (x[5]·h0) + (x [1] .h4) + (x [2] .h3) + (x [3] .h2) + (x [4] .h1) + (x [5] .h0) +

(x[6]·h1) + (x[7]·h2) + (x[8]·h3) + (x[9]·h4)(x [6] h1) + (x [7] h2) + (x [8] h3) + (x [9] h4)

y[2] = y [2] =

(x[2]·0) + (x[3]·g3) + (x[4]·g2) + (x[5]·g1) + (x[6]·g0) +(x [2] .0) + (x [3] .g3) + (x [4] .g2) + (x [5] .g1) + (x [6] .g0) +

(x[7]·g1) + (x[8]·g2) + (x[9]·g3) + (x[10]·0)(x [7] .g1) + (x [8] .g2) + (x [9] .g3) + (x [10] .0)

결국, y{2n-1]은 로우 패스 필터링 계수와의 컨벌루션 연산에 의해 로우 패스 영역으로, y[2n]은 하이 패스 필터링 계수와의 컨벌루션 연산에 의해 하이 패스 영역으로 각각 분할된다. As a result, y {2n-1] is divided into a low pass region by a convolution operation with the low pass filtering coefficient, and y [2n] is divided into a high pass region by a convolution operation with the high pass filtering coefficient.

한편, 필터링 계수와 입력 데이터와의 곱셈 연산을 수행하는 부분은 0번 고조파항 계수를 중심으로 ±k의 값이 서로 대칭인 점을 이용하여, 9개의 픽셀로 된 필터링 연산 폭을 5개의 곱셈기로 수행토록 구현할 수 있다.On the other hand, the multiplication operation of the filtering coefficient and the input data uses the point that ± k values are symmetrical with respect to the harmonic coefficient 0, and the width of the filtering operation of 9 pixels is converted into 5 multipliers. Can be implemented to perform.

한편, 덧셈연산을 수행할 때마다 캐리 비트(carry bit)가 발생되는데, 상기 구조에서는 비트 깊이(bit depth)를 32비트로 제한하여 R1 ~ R9 시프트 래치를 경유할 때마다 비트 깊이가 커지는 것을 방지하도록 구현할 수 있다. On the other hand, a carry bit is generated every time the addition operation is performed. In the above structure, the bit depth is limited to 32 bits to prevent the bit depth from increasing each time through the R1 to R9 shift latches. Can be implemented.                     

본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.Although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited thereto, and the technical spirit of the present invention and the claims to be described below by those skilled in the art to which the present invention pertains. Of course, various modifications and variations are possible within the scope of equivalents.

예컨대, 상기 설명에서는 본 발명의 명칭을 필터 모듈로 정의하며, 각 구성부분에 대하여는 그 기능을 중심으로 설명하고 있지만, 각 구성부분을 이루는 덧셈기, 레지스터, 곱셈기 등은 공지기술에 의해, 하드웨어적 및/또는 소프트웨어적으로 구현이 가능하다. 따라서 본 발명의 필터 모듈도 상기 기능을 수행하는 소프트웨어가 설치된 범용 전산 장비가 될 수 있으며, 상기 각 구성요소들이 독립된 소자로 이루어진 기판 형태의 장비가 될 수 있으며, 원칩에 상기 각 구성요소들을 실장한 반도체 소자일 수도 있다.
For example, in the above description, the name of the present invention is defined as a filter module, and each component is described based on its function. However, adders, registers, and multipliers constituting each component are well-known by hardware and It can be implemented in software. Therefore, the filter module of the present invention can also be a general-purpose computer equipment installed with the software for performing the above functions, each of the components can be a board-type equipment consisting of independent elements, each of the components mounted on a single chip It may be a semiconductor element.

본 발명에 따른 필터 모듈을 실시함에 의해, 덧셈 연산을 종래 기술 보다 효율적으로 수행할 수 있는 효과가 있다. 또한, 중간 산출값을 저장하기 위한 레지스터의 개수를 줄일 수 있으므로, 필터 모듈을 하드웨어적으로 구현하는 경우 어 구현 면적을 절감하는 효과도 있다.By implementing the filter module according to the present invention, there is an effect that the addition operation can be performed more efficiently than the prior art. In addition, since the number of registers for storing the intermediate calculation value can be reduced, when implementing the filter module in hardware, there is an effect of reducing the area of implementation.

상기의 효과는 컨벌루션에 기반한 DWT 필터링에 유용히 사용될 수 있으므로, 영상 압축을 위한 소자나 장치의 성능을 개선하는 효과가 있다.
Since the above effects can be usefully used for convolution-based DWT filtering, there is an effect of improving the performance of the device or device for image compression.

Claims (8)

영상 데이터를 한 픽셀씩 순차적으로 래치하기 위한 입력 레지스터; An input register for sequentially latching image data by one pixel; 상기 입력 레지스터에 저장된 값에 소정 필터 계수를 곱하기 위한 곱셈기 다수개로 구성된 곱셈부; A multiplier comprising a plurality of multipliers for multiplying a value stored in the input register by a predetermined filter coefficient; 상기 각 곱셈기에 적용할 필터 계수를 선택하기 위한 계수 선택기 다수개로 구성된 계수 선택부; A coefficient selector comprising a plurality of coefficient selectors for selecting filter coefficients to be applied to each multiplier; 상기 각 곱셈기의 곱셈 연산값을 저장하기 위한 곱셈 레지스터 다수개로 구성된 곱셈 레지스터부; A multiplication register unit comprising a plurality of multiplication registers for storing multiplication operation values of the multipliers; 소정의 컨벌루션 연산이 적용된 데이터 스트림을 생성하기 위해, 상기 각 곱셈 레지스터의 각 저장값을 소정 순서로 덧셈 연산 및 시프트를 수행하기 위한 덧셈-시프트 레지스터부An add-shift register section for performing an addition operation and a shift of each stored value of each multiplication register in a predetermined order to generate a data stream to which a predetermined convolution operation is applied; 를 포함하는 필터 모듈.Filter module comprising a. 제1항에 있어서, The method of claim 1, 상기 필터 모듈의 출력은, 홀수번째 출력은 로우 패스 필터링을 적용한 것이며, 짝수번째 출력은 하이 패스 필터링을 적용한 것이며,The output of the filter module, the odd-numbered output is a low pass filtering, the even output is a high pass filtering, 상기 로우 패스 필터링 또는 하이 패스 필터링에 적용한 최고 고조파 항은 ±k(k는 정수)인 필터 모듈.The highest harmonic term applied to the low pass filtering or the high pass filtering is ± k (k is an integer). 제2항에 있어서, 상기 곱셈부는,The method of claim 2, wherein the multiplication unit, 입력 레지스터의 래치값과 소정의 필터 계수를 곱하여 그 결과를 출력하는 곱셈기 k+1개를 포함하는 필터 모듈.And a multiplier k + 1 for multiplying the latch value of the input register by a predetermined filter coefficient and outputting the result. 제1항에 있어서, 상기 곱셈부는,The method of claim 1, wherein the multiplication unit, 4단 파이프라인 부스(pipelined booth multiplier) 곱셈기인 필터 모듈.Filter module, a four-stage pipelined booth multiplier multiplier. 제2항에 있어서, 상기 계수 선택부는 k+1개의 계수 선택기로 이루어지며, The method of claim 2, wherein the coefficient selector comprises k + 1 coefficient selectors, 첫째 계수 선택기는 0차 고조파항에 대한 하이 패스 필터링 계수 및 로우 패스 필터링 계수 중 하나를 선택하며, The first coefficient selector selects one of the high pass filtering coefficient and the low pass filtering coefficient for the zeroth harmonic term, 둘째 계수 선택기는 1차 고조파항에 대한 하이 패스 필터링 계수 및 로우 패스 필터링 계수 중 하나를 선택하며, The second coefficient selector selects one of the high pass filtering coefficient and the low pass filtering coefficient for the first harmonic term, 세째 계수 선택기는 2차 고조파항에 대한 하이 패스 필터링 계수 및 로우 패스 필터링 계수 중 하나를 선택하는 방식 구조가 k차 고조파항까지 구현되며, The third coefficient selector implements a scheme of selecting one of the high pass filtering coefficient and the low pass filtering coefficient for the second harmonic term up to the kth harmonic term. 특정 차수의 고조파항에 대한 하이 패스 필터링 계수 또는 로우 필터 필터링 계수 중 하나만이 존재하면, 존재하지 않는 필터링 계수는 0의 계수로 적용되는 필터 모듈.A filter module in which a non-existent filtering coefficient is applied as a coefficient of zero if only one of a high pass filtering coefficient or a low filter filtering coefficient for a particular order harmonic term is present. 제2항에 있어서, 상기 계수 선택부는,The method of claim 2, wherein the coefficient selector, 한 번은, 짝수 고조파항에 대한 로우 패스 필터링 계수들 및 홀수 고조파항에 대한 하이 패스 필터링 계수들을 선택하고,Once, select low pass filtering coefficients for even harmonic terms and high pass filtering coefficients for odd harmonic terms, 다음 번은, 짝수 고조파항에 대한 하이 패스 필터링 계수들 및 홀수 고조파항에 대한 로우 패스 필터링 계수들을 선택하는 과정을 반복하는 필터 모듈.Next, the filter module repeats the process of selecting the high pass filtering coefficients for the even harmonic terms and the low pass filtering coefficients for the odd harmonic terms. 제3항에 있어서, 상기 덧셈-시프트 레지스터부는, The method of claim 3, wherein the add-shift register unit, 이전단의 저장값에 소정 가산치를 더한 값을 래치하는 2k+1 단계의 덧셈-시프트 래치를 포함하는 필터 모듈.And a 2k + 1 add-shift latch for latching a value obtained by adding a predetermined addition value to the previous stored value. 제7항에 있어서, 상기 덧셈-시프트 레지스터부는,The method of claim 7, wherein the add-shift register unit, 마지막단(k+1째)단 곱셈 레지스터의 저장값은 최초단의 덧셈-시프트 레치 및 마지막(2k+1째)단의 덧셈-시프트 래치에 입력되며, The stored value of the last stage (k + 1) stage multiplication register is input to the first stage addition-shift latch and the last stage (2k + 1 stage) addition-shift latch. k째단 곱셈 레지스터의 저장값은 2째단 덧셈-시프트 래치 및 2k째단 덧셈-시프트 래치에 입력되며, The stored value of the kth multiplication register is input to the 2nd stage add-shift latch and the 2nd stage add-shift latch. k-1단 곱셈 레지스터의 저장값은 3째단의 덧셈-시프트 래치 및 2k-1째단의 덧셈-시프트 래치에 입력되는 방식이 계속되며, The stored value of the k-1 multiplication register is inputted to the 3rd-stage add-shift latch and the 2k-1st-stage add-shift latch. 최초단 곱셈 레지스터의 저장값은 k+1째단의 덧셈-시프트 래치에 입력되는 필터 모듈.The filter module of the first stage multiplication register is input to the add-shift latch of the k + 1 stage.
KR1020040115999A 2004-12-30 2004-12-30 Filter module Withdrawn KR20060077196A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040115999A KR20060077196A (en) 2004-12-30 2004-12-30 Filter module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040115999A KR20060077196A (en) 2004-12-30 2004-12-30 Filter module

Publications (1)

Publication Number Publication Date
KR20060077196A true KR20060077196A (en) 2006-07-05

Family

ID=37169306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040115999A Withdrawn KR20060077196A (en) 2004-12-30 2004-12-30 Filter module

Country Status (1)

Country Link
KR (1) KR20060077196A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190087262A (en) * 2018-01-16 2019-07-24 한국과학기술원 A method and apparatus of image processing using line unit operation
CN114204917A (en) * 2020-09-17 2022-03-18 知微电子有限公司 Filter with approximate multiplication operation capability and method thereof
US11956569B2 (en) 2018-01-16 2024-04-09 Korea Advanced Institute Of Science And Technology Image processing method and device using a line-wise operation
US11962937B2 (en) 2018-01-16 2024-04-16 Korea Advanced Institute Of Science And Technology Method and device of super resolution using feature map compression

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190087262A (en) * 2018-01-16 2019-07-24 한국과학기술원 A method and apparatus of image processing using line unit operation
KR20190087263A (en) * 2018-01-16 2019-07-24 한국과학기술원 A method and apparatus of image processing using line unit operation
KR20190087265A (en) * 2018-01-16 2019-07-24 한국과학기술원 A method and apparatus of image processing using line unit operation
US11057585B2 (en) 2018-01-16 2021-07-06 Korea Advanced Institute Of Science And Technology Image processing method and device using line input and output
US11412175B2 (en) 2018-01-16 2022-08-09 Korea Advanced Institute Of Science And Technology Super-resolution method and device using linewise operation
US11956569B2 (en) 2018-01-16 2024-04-09 Korea Advanced Institute Of Science And Technology Image processing method and device using a line-wise operation
US11962937B2 (en) 2018-01-16 2024-04-16 Korea Advanced Institute Of Science And Technology Method and device of super resolution using feature map compression
US11968472B2 (en) 2018-01-16 2024-04-23 Korea Advanced Institute Of Science And Technology Image pipeline processing method and device
US11974069B2 (en) 2018-01-16 2024-04-30 Korea Advanced Institute Of Science And Technology Image processing method and device using feature map compression
CN114204917A (en) * 2020-09-17 2022-03-18 知微电子有限公司 Filter with approximate multiplication operation capability and method thereof

Similar Documents

Publication Publication Date Title
KR100246878B1 (en) Inverse discrete cosine transform processor
US7480416B2 (en) Implementation of discrete wavelet transform using lifting steps
US7236997B2 (en) Filter processing apparatus and method
Chiluveru et al. Memory efficient architecture for lifting-based discrete wavelet packet transform
Kim et al. Lossless and lossy image compression using biorthogonal wavelet transforms with multiplierless operations
US7940991B2 (en) Image signal processing apparatus
KR20060077196A (en) Filter module
Meher et al. Hardware-efficient systolic-like modular design for two-dimensional discrete wavelet transform
US7574064B2 (en) Fast lifting lossless wavelet transform
JP4323808B2 (en) Two-dimensional pyramid filter architecture
Bae et al. Synthesis of VLSI architectures for two-dimensional discrete wavelet transforms
JP2004194224A (en) Device and method for transforming wavelet
KR20000013653A (en) Forward/reverse optimum integer cosine transform apparatus and method
KR100300338B1 (en) VLSI Architecture for the 2-D Discrete Wavelet Transform
KR100628441B1 (en) Lifting Discrete Wavelet Converter of GP2000
Rao et al. Implementation of a 2D-DWT system architecture for JPEG2000 using MATLAB and DSP
Dhakar et al. A novel parallel architecture of lifting based 2D-discrete wavelet transform
Salehi et al. VLSI architectures of lifting-based discrete wavelet transform
JP4700838B2 (en) Filter processing device
Dang et al. Discrete wavelet transform for image compression: a hardware approach
KR100395614B1 (en) Two dimensional discrete wavelet transformation apparatus
Truong et al. A new architecture for the 2-D discrete wavelet transform
Lee General methods for L/M-fold resizing of compressed images using lapped transforms
Bhuvaneswary et al. Design of parallel pipelined architecture for wavelet based image compression using daubechie’s
Law et al. Issues of filter design for binary wavelet transform

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20041230

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid