KR100395614B1 - Two dimensional discrete wavelet transformation apparatus - Google Patents
Two dimensional discrete wavelet transformation apparatus Download PDFInfo
- Publication number
- KR100395614B1 KR100395614B1 KR10-2000-0056772A KR20000056772A KR100395614B1 KR 100395614 B1 KR100395614 B1 KR 100395614B1 KR 20000056772 A KR20000056772 A KR 20000056772A KR 100395614 B1 KR100395614 B1 KR 100395614B1
- Authority
- KR
- South Korea
- Prior art keywords
- register
- data
- output
- pass filter
- data output
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
본 발명의 2차원 이산 웨이브렛 변환 장치에 관한 것이다. 이 2차원 이산 웨이브렛 변환 장치는 외부로부터 입력되는 디지털 신호 및 웨이브렛 변환된 중간 결과값을 받아서 저장하는 레지스터 어레이; 상기 레지스터 어레이로부터 출력되는 데이터에 대해 저역 통과 필터링을 수행한 후, 필요한 경우 중간 결과값으로 상기 레지스터 어레이로 출력하는 저역 통과 필터; 상기 레지스터 어레이로부터 출력되는 데이터에 대해 고역 통과 필터링을 수행하는 고역 통과 필터; 상기 저역 통과 필터로부터 출력되는 데이터를 저장하는 저역 통과 필터용 라인 버퍼; 상기 고역 통과 필터로부터 출력되는 데이터를 저장하는 고역 통과 필터용 라인 버퍼; 상기 저역 통과 필터용 라인 버퍼의 출력 데이터와 상기 고역 통과 필터용 라인 버퍼의 출력 데이터 중 하나를 선택하여 중간 결과값으로 상기 레지스터 어레이로 출력하는 멀티플렉서를 포함한다. 본 발명에 따르면, 최고주파 대역에 대해서 종방향으로 나누지 않고, 또한 LPF 및 HPF를 별도로 사용함과 동시에 상수 곱셈기를 사용함으로써 하드웨어의 크기가 줄어들고, 횡방향 필터링과 종방향 필터링이 그 연산이 끝나는 순서대로 교대로 처리됨으로써 매우 효과적인 영상 압축이 수행된다.The present invention relates to a two-dimensional discrete wavelet transform apparatus. The 2D discrete wavelet converting apparatus includes: a register array configured to receive and store a digital signal inputted from an external source and a wavelet transformed intermediate result value; A low pass filter performing low pass filtering on the data output from the register array and outputting the intermediate result to the register array if necessary; A high pass filter for performing high pass filtering on the data output from the register array; A low pass filter line buffer for storing data output from the low pass filter; A line buffer for a high pass filter for storing data output from the high pass filter; And a multiplexer for selecting one of output data of the low pass filter line buffer and output data of the high pass filter line buffer and outputting the intermediate result to the register array. According to the present invention, the size of the hardware is reduced by not using longitudinal division for the highest frequency band, and by using a constant multiplier while using LPF and HPF separately, and lateral filtering and longitudinal filtering are performed in the order of completion of the calculation. Alternately, very effective image compression is performed.
Description
본 발명은 이산 웨이브렛 변환 장치(discrete wavelet transformation apparatus)에 관한 것으로서, 특히 LPF(Low Pass Filter)와 HPF(High Pass Filter)를 개별적으로 사용하고, 상수 곱셈기를 이용하여 하드웨어의 크기를 감소시킨 2차원 이산 웨이브렛 변환 장치에 관한 것이다.The present invention relates to a discrete wavelet transformation apparatus. In particular, a low pass filter (LPF) and a high pass filter (HPF) are used separately, and the size of hardware is reduced by using a constant multiplier. A dimensional discrete wavelet transform apparatus.
영상 압축 방법 중 DCT(Discrete Cosine Transformation)와 같은 변환 부호화 방식은 압축률이 우수하나 사용되는 기저(basis)들이 블록 사이에서 비연속적이므로 재생 연산에서 블록 효과가 발생한다. 이러한 블록 효과를 줄이기 위하여 최근 이산 웨이브렛 변환이 제시되었다.Transform coding schemes such as Discrete Cosine Transformation (DCT) among the image compression methods have excellent compression ratios, but block effects occur in reproduction operations because the basis used is discontinuous between blocks. Discrete wavelet transforms have recently been proposed to reduce this block effect.
도 1은 이산 웨이브렛 변환의 기본적인 개념을 설명하기 위한 블록도이다.1 is a block diagram illustrating a basic concept of discrete wavelet transform.
도 1에 도시되어 있듯이, 입력 신호는 고역 통과 필터(HPF, 1)와 저역 통과 필터(LPF, 2)를 각각 통과하면서 필터링된 후, 각각 1/2 다운샘플러(down-sampler, 3, 4)에 의해 1/2 다운샘플링됨으로써 웨이브렛 변환된다.As shown in FIG. 1, the input signal is filtered while passing through the high pass filter (HPF, 1) and the low pass filter (LPF, 2), respectively, and then each half down-sampler (3, 4). The wavelet transform is performed by half downsampling by.
이와 같이 웨이브렛 변환된 데이터를 사용하여 다시 원래의 신호를 복원하고자 할 때에는 상기 웨이브렛 변환의 과정을 역으로 수행하면 된다. 즉, 웨이브렛 변환된 데이터를 2 업샘플러(upsampler, 5, 6)를 사용하여 2 업샘플링한 후, 각각 LPF(7)와 HPF(8)를 통과시킴으로써 원래의 신호가 복원된다.When the original signal is to be restored using the wavelet transformed data as described above, the wavelet transform process may be reversed. That is, the wavelet transformed data is subjected to two upsampling using two upsamplers 5 and 6, and then the original signal is restored by passing through the LPF 7 and the HPF 8, respectively.
한편, 영상 신호는 2차원의 특성을 가지고 있기 때문에 상기 이산 웨이브렛 변환도 2차원적으로 이루어져야 한다.On the other hand, since the video signal has a two-dimensional characteristic, the discrete wavelet transform must also be two-dimensional.
도 2는 2차원 이산 웨이브렛 변환의 개념을 나타내는 블록도이다.2 is a block diagram illustrating the concept of two-dimensional discrete wavelet transform.
도 2에 도시되어 있듯이, 입력 영상 신호는 1차 횡방향으로 HPF(11)와 LPF(12)를 통해 필터링된 후, 다시 1/2 다운샘플러(13, 14)에 의해 다운샘플링된다.As shown in FIG. 2, the input video signal is filtered through the HPF 11 and the LPF 12 in the primary transverse direction and then downsampled by the half downsamplers 13 and 14.
그 후, 각각의 결과는 2차 종방향으로 다시 HPF(15, 17)와 LPF(16, 18)를 통해 필터링된 후, 1/2 다운샘플러(19, 20, 21, 22)에 의해 다운샘플링된다.Each result is then filtered back through the HPF (15, 17) and LPF (16, 18) in the secondary longitudinal direction and then downsampled by the half downsampler (19, 20, 21, 22). do.
이러한 연산 과정이 수행되면, 최종 영상은 4개의 서브밴드(subband), 즉 HH 밴드, HL 밴드, LH 밴드, LL 밴드로 구분된다.When this operation is performed, the final image is divided into four subbands, that is, an HH band, an HL band, an LH band, and an LL band.
HH 밴드는 대각선 방향 영상 경계(고주파 성분)의 데이트를 주로 내포하고 있고, HL 밴드는 가로 방향 영상 경계의 데이터, LH 밴드는 세로 방향 영상 경계의데이터를 주로 내포하고 있다.The HH band mainly contains data of a diagonal image boundary (high frequency component), the HL band mainly contains data of a horizontal image boundary, and the LH band mainly contains data of a vertical image boundary.
한편, LL 밴드는 사람의 시각에 민감한 저주파 성분의 데이터들을 포함하고 있다. 이와 같이, 중요한 데이터 성분이 LL 밴드에 집중되기 때문에 사람의 시각에 덜 민감한 고주파 대역의 데이터는 압축을 많이 하고, 시각에 민감한 저주파 대역의 데이터는 저압축을 함으로써 2차원 이산 웨이브렛 변환은 영상 압축에 응용될 수 있다.The LL band, on the other hand, contains low frequency components that are sensitive to human vision. Thus, since important data components are concentrated in the LL band, data in the high frequency band which is less sensitive to human vision is compressed, and data in the low frequency band which is sensitive to vision is low compressed, so that the two-dimensional discrete wavelet transform compresses the image. It can be applied to.
2차원 이산 웨이브렛 변환의 서브밴드를 나누는 방법은 여러 가지가 있으나, 일반적으로 말라(Mallat)가 제안한 방식이 많이 이용되고 있다.There are various ways to divide the subbands of the 2D discrete wavelet transform, but in general, the method proposed by Malalat is widely used.
도 3은 이산 웨이브렛 변환에서 말라에 의해 제안되는 서브밴드 코딩 방법의 개념을 나타내는 도면이다.3 is a diagram illustrating the concept of a subband coding method proposed by Mala in discrete wavelet transform.
도 3에 도시되어 있듯이, 말라에 의해 제안되는 서브밴드 코딩 방법은 저주파 대역을 집중적으로 코딩하는 방법이다.As shown in FIG. 3, the subband coding method proposed by Mala is a method of intensively coding a low frequency band.
즉, 2차원 이산 웨이브렛 변환 결과 생성되는 최종 영상 중 LL 밴드를 2레벨 더 압축시켜 2레벨 깊이의 서브밴드를 더 형성시키는 방법이다.That is, the LL band is further compressed by two levels of the final image generated as a result of the 2D discrete wavelet transform to further form a subband having two levels of depth.
일반적으로, 영상 압축에서는 4∼5 레벨 정도의 서브밴드로 나누면 압축 효율이 거의 포화가 되기 때문에 4∼5 레벨의 서브밴드 코딩을 적용하고 있다.In general, in video compression, subband coding of about 4 to 5 levels results in almost saturation of compression efficiency. Therefore, 4 to 5 levels of subband coding are applied.
도 4는 도 3의 서브밴드를 구성하기 위한 2차원 이산 웨이브렛 변환 구조를 도시한 도면이다.FIG. 4 is a diagram illustrating a 2D discrete wavelet transform structure for configuring the subband of FIG. 3.
도 4에 도시되어 있는 2차원 이산 웨이브렛 변환 구조는 3레벨 깊이의 서브밴드를 구성하기 위한 구조로써, 도 2에 도시되어 있는 1레벨 깊이의 서브밴드를구성하기 위한 웨이브렛 변환 구조를 2개 더 사용하여 구성된다.The two-dimensional discrete wavelet transform structure shown in FIG. 4 is a structure for configuring subbands having three levels of depth, and two wavelet transform structures for forming a subband with one level depths shown in FIG. It is further configured using.
효율적인 압축을 위해 HPF와 LPF의 필터 계수들은 많은 사람들에 의해 연구되어 지고 있다. 그 중, Daubechies 9-7 필터는 LPF로 9 탭, HPF로 7 탭의 계수를 사용하는 필터이다. 필터 계수의 종류는 LPF에 5개, HPF에 4개가 존재한다. LPF의 계수를 gi, HPF의 계수를 hj라고 하면, 각 필터의 계수는 다음과 같다.For efficient compression, the filter coefficients of HPF and LPF have been studied by many people. Among them, the Daubechies 9-7 filter is a filter that uses a coefficient of 9 taps with LPF and 7 taps with HPF. There are five types of filter coefficients in LPF and four in HPF. If the coefficient of LPF is g i and the coefficient of HPF is h j , the coefficient of each filter is as follows.
g0= 0.602949, g1= 0.266864, g2= 0.078223, g3= 0.016864, g4= 0.026749g 0 = 0.602949, g 1 = 0.266864, g 2 = 0.078223, g 3 = 0.016864, g 4 = 0.026749
--------------------(1)--------------------(One)
h0= 0.557543, h1= 0.295636, h2= 0.028772, h3= 0.045636 --------(2)h 0 = 0.557543, h 1 = 0.295636, h 2 = 0.028772, h 3 = 0.045636 -------- (2)
시간 t를 기준으로 기준 시간의 데이터를 dt라고 하면 LPF의 결과값 Li와 HPF의 결과값 Hi+1는 다음과 같은 수식으로 표현될 수 있다.When the data of the reference time is d t based on the time t, the result L i of the LPF and the result H i + 1 of the HPF can be expressed by the following equation.
Li= g0*di+ g1*(di+1+ di-1) - g2*(di+2+ di-2) - g3*(di+3+ di-3) + g4*(di+4+ di-4) ------------------------------------(3)L i = g 0 * d i + g 1 * (d i + 1 + d i-1 )-g 2 * (d i + 2 + d i-2 )-g 3 * (d i + 3 + d i -3 ) + g 4 * (d i + 4 + d i-4 ) -------------------------------- ---- (3)
Hi+1= h0*di+1- h1*(di+2+ di) - h2*(di+3+ di-1) + h3*(di+4+ di-2) ------(4)H i + 1 = h 0 * d i + 1 -h 1 * (d i + 2 + d i )-h 2 * (d i + 3 + d i-1 ) + h 3 * (d i + 4 + d i-2 ) ------ (4)
여기서, Li와 Hi+1를 번갈아 연산하는 이유는 각각의 필터링 결과가 1/2 다운샘플링되기 때문이다.Here, the reason why L i and H i + 1 are alternately calculated is that each filtering result is half-sampled.
상기한 바와 같은 이산 웨이브렛 변환은 시간과 주파수에 대해 국부성을 가지고 신호를 표현할 수 있어 일반적으로 비정체성 신호를 갖는 영상 신호를 해석하는데 유리하고, 블록킹 효과가 없으며, 속도가 빠르고 압축률이 높고, 변환 영역이 인간의 시각 특성과 비슷한 다중 해상도로 표현되어 영상 압축에 적용할 수 있다.Discrete wavelet transforms as described above can represent signals with locality over time and frequency, which is generally advantageous for interpreting video signals with non-identical signals, no blocking effect, high speed, high compression ratio, The transformed region is expressed in multiple resolutions similar to human visual characteristics and can be applied to image compression.
그러나, 상기한 종래의 기술은 하나의 필터에서 고대역 필터링과 저대역 필터링을 모두 처리하기 때문에 곱셈기의 두 개 입력 중 상수를 입력하는 부분에 멀티플렉서가 사용되고, 따라서 상수 곱셈기를 사용하지 못하므로 하드웨어의 크기가 크다는 문제점이 있다.However, since the above-described conventional technology handles both high-band and low-band filtering in one filter, a multiplexer is used for a constant input part of the two inputs of the multiplier, and therefore, a constant multiplier cannot be used. There is a problem that the size is large.
또한, 고대역 필터링 및 저대역 필터링이 모두 가능한 필터를 두 개 사용하여, 하나는 횡방향만을 처리하고 나머지 하나는 종방향만을 처리한다.In addition, by using two filters capable of both high-band filtering and low-band filtering, one processes only the transverse direction and the other processes only the longitudinal direction.
또한, 이산 웨이브렛 변환은 변환 방식의 복잡성 때문에 하드웨어의 구현시 여러 가지 사항들을 고려하여야 하는 어려움이 따른다. 또한, 영상의 실시간 처리를 위해서는 하드웨어의 동작속도가 빨라야하고, 하드웨어의 제작 비용을 적게 하기 위해서는 작은 면적으로 구현 가능한 VLSI 구조가 요구된다.In addition, the discrete wavelet transform has a difficulty in considering various aspects in hardware implementation due to the complexity of the conversion scheme. In addition, in order to process an image in real time, the operation speed of hardware must be high, and in order to reduce the manufacturing cost of hardware, a small area VLSI structure is required.
웨이브렛 변환을 하드웨어로 구현하기 위해서는 동작 클럭의 속도, 사용되는 곱셈기와 덧셈기의 수, 중간 값을 저장하기 위한 레지스터의 수, 회로 내부의 연결선의 복잡성 등이라는 많은 사항들이 고려되어야 한다.To implement wavelet transformation in hardware, many considerations must be taken into account: the speed of the operating clock, the number of multipliers and adders used, the number of registers to store intermediate values, and the complexity of the interconnects within the circuit.
따라서, 본 발명에서는 LPF 및 HPF를 별도로 사용함과 동시에 상수 곱셈기를 사용하며, 횡방향 필터링과 종방향 필터링을 그 연산이 끝나는 순서대로 교대로 처리하는 2차원 이산 웨이브렛 변환 장치를 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a two-dimensional discrete wavelet transform apparatus that uses LPF and HPF separately and uses a constant multiplier, and alternately processes transverse filtering and longitudinal filtering in the order of completion of the operation. have.
도 1은 이산 웨이브렛 변환의 기본적인 개념을 설명하기 위한 블록도이다.1 is a block diagram illustrating a basic concept of discrete wavelet transform.
도 2는 2차원 이산 웨이브렛 변환의 개념을 나타내는 블록도이다.2 is a block diagram illustrating the concept of two-dimensional discrete wavelet transform.
도 3은 이산 웨이브렛 변환에서 말라(Mallat)에 의해 제안되는 서브밴드(subband) 코딩 방법의 개념을 나타내는 도면이다.FIG. 3 is a diagram illustrating the concept of a subband coding method proposed by Malat in discrete wavelet transform.
도 4는 도 3의 서브밴드를 구성하기 위한 2차원 이산 웨이브렛 변환 구조를 도시한 도면이다.FIG. 4 is a diagram illustrating a 2D discrete wavelet transform structure for configuring the subband of FIG. 3.
도 5는 본 발명의 실시예에 따른 말라 블록의 구조를 도시한 도면이다.5 is a diagram illustrating a structure of a Mala block according to an embodiment of the present invention.
도 6은 도 5의 말라 블록을 구성하기 위한 2차원 이산 웨이브렛 변환 구조를 도시한 도면이다.FIG. 6 is a diagram illustrating a two-dimensional discrete wavelet transform structure for forming the Mala block of FIG. 5.
도 7은 본 발명의 실시예에 따른 2차원 이산 웨이브렛 변환기의 구조를 도시한 블록도이다.7 is a block diagram showing the structure of a two-dimensional discrete wavelet converter according to an embodiment of the present invention.
도 8은 도 7의 2차원 이산 웨이브렛 변환기의 상세 블록도이다.FIG. 8 is a detailed block diagram of the two-dimensional discrete wavelet converter of FIG. 7.
도 9는 도 7의 레지스터 어레이(200) 내의 Reg1, Reg2, Reg3, Reg4, Reg5의 한가지 실시예에 따른 상세 블록도이다.9 is a detailed block diagram of one embodiment of Reg1, Reg2, Reg3, Reg4, Reg5 in the register array 200 of FIG.
도 10은 도 9의 Reg1에 저장되는 데이터가 영상의 시작 경계 부분인 경우의데이터 흐름을 도시한 도면이다.FIG. 10 is a diagram illustrating a data flow when data stored in Reg1 of FIG. 9 is a start boundary of an image.
도 11은 도 9의 Reg1에 저장되는 데이터가 영상의 끝 경계 부분인 경우의 데이터 흐름을 도시한 도면이다.FIG. 11 is a diagram illustrating a data flow when data stored in Reg1 of FIG. 9 is an end boundary portion of an image.
도 12는 도 7의 레지스터 어레이(200) 내의 Reg1, Reg2, Reg3, Reg4, Reg5의 다른 실시예에 따른 상세 블록도이다.12 is a detailed block diagram of another embodiment of Reg1, Reg2, Reg3, Reg4, Reg5 in the register array 200 of FIG.
도 13은 도 12의 실시예에 따라 Reg1(210)에 저장되는 데이터가 영상의 시작 경계 부분인 경우의 데이터 흐름을 도시한 도면이다.FIG. 13 is a diagram illustrating a data flow when data stored in Reg1 210 is a start boundary of an image according to the embodiment of FIG. 12.
도 14는 도 8의 라인 버퍼(510, 610)에 저장되는 데이터가 영상의 경계 부분인 경우의 데이터 흐름을 도시한 도면이다.FIG. 14 is a diagram illustrating a data flow when data stored in the line buffers 510 and 610 of FIG. 8 is a boundary portion of an image.
상기한 목적을 달성하기 위하여 본 발명은 외부로부터 입력되는 디지털 신호 및 웨이브렛 변환된 중간 결과값을 받아서 저장하는 레지스터 어레이; 상기 레지스터 어레이로부터 출력되는 데이터에 대해 저역 통과 필터링을 수행한 후, 필요한 경우 중간 결과값으로 상기 레지스터 어레이로 출력하는 저역 통과 필터; 상기 레지스터 어레이로부터 출력되는 데이터에 대해 고역 통과 필터링을 수행하는 고역 통과 필터; 상기 저역 통과 필터로부터 출력되는 데이터를 저장하는 저역 통과 필터용 라인 버퍼; 상기 고역 통과 필터로부터 출력되는 데이터를 저장하는 고역 통과 필터용 라인 버퍼; 상기 저역 통과 필터용 라인 버퍼의 출력 데이터와 상기 고역 통과 필터용 라인 버퍼의 출력 데이터 중 하나를 선택하여 중간 결과값으로 상기 레지스터 어레이로 출력하는 멀티플렉서를 포함한다.In order to achieve the above object, the present invention includes a register array for receiving a digital signal and a wavelet transformed intermediate result value input from the outside; A low pass filter performing low pass filtering on the data output from the register array and outputting the intermediate result to the register array if necessary; A high pass filter for performing high pass filtering on the data output from the register array; A low pass filter line buffer for storing data output from the low pass filter; A line buffer for a high pass filter for storing data output from the high pass filter; And a multiplexer for selecting one of output data of the low pass filter line buffer and output data of the high pass filter line buffer and outputting the intermediate result to the register array.
상기 레지스터 어레이는 상기 외부로부터 입력되는 디지털 신호를 받아서 저장하는 레지스터; 상기 저역 통과 필터 및 멀티플렉서로부터 출력되는 데이터를 받아서 중간 결과값으로 저장하는 복수의 레지스터; 및 상기 복수의 레지스터에 저장된 데이터 중 하나를 선택하여 상기 저역 통과 필터 및 고역 통과 필터로 출력하는 제2 멀티플렉서를 포함한다.The register array includes a register for receiving and storing a digital signal input from the outside; A plurality of registers for receiving data output from the low pass filter and the multiplexer and storing the data as intermediate result values; And a second multiplexer for selecting one of data stored in the plurality of registers and outputting the selected one to the low pass filter and the high pass filter.
이하, 본 발명의 실시예에 대해 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 5는 본 발명의 실시예에 따른 말라 블록의 구조를 도시한 도면이다.5 is a diagram illustrating a structure of a Mala block according to an embodiment of the present invention.
NTSC(National Television Standards Committee) 표준은 영상의 크기가 720 ×486이며 초당 30 프레임을 처리하는 것을 기준으로 한다.The NTSC (National Television Standards Committee) standard is based on processing an image of 720 x 486 and processing 30 frames per second.
이를 프레임 단위가 아닌 필드 단위로 처리하게 되면 720 ×243 영상을 초당60 필드를 처리하게 된다.If this is processed in field units instead of frame units, 720 x 243 images are processed at 60 fields per second.
일반적으로, 영상은 정방형에 가까운 특성을 가지고 있으며, 고주파 영역에는 데이터 성분비가 매우 낮고, 내부에 필요한 버퍼의 용량을 줄일 수 있기 때문에, 본 발명의 실시예에 따른 말라 블록에서는 최고주파 대역에 대해서 종방향으로 나누지 않는다. 또한, 서브밴드가 5 레벨의 깊이로 구성된다.In general, the image has a near-square characteristic, and the data component ratio is very low in the high frequency region, and the capacity of the buffer required therein can be reduced. Do not divide by direction. In addition, the subband is composed of five levels of depth.
도 6은 도 5의 말라 블록을 구성하기 위한 2차원 이산 웨이브렛 변환 구조를 도시한 도면이다.FIG. 6 is a diagram illustrating a two-dimensional discrete wavelet transform structure for forming the Mala block of FIG. 5.
도 6에 도시되어 있는 본 발명의 실시예에 따른 2차원 이산 웨이브렛 변환 구조는 5 레벨 깊이의 서브밴드를 구성하기 위한 구조로써, 1차 레벨의 횡방향 웨이브렛 변환에서 HPF를 통과한 입력 영상 신호는 최고 주파 대역인 H0 밴드로 출력되고, LPF를 통과한 입력 영상 신호에 의해 형성되는 서브밴드만이 종래의 4레벨 웨이브렛 변환에 의해 다음의 서브밴드를 형성함으로써 본 발명의 실시예에 따른 서브밴드가 최종 형성된다.The 2D discrete wavelet transform structure according to the embodiment of the present invention shown in FIG. 6 is a structure for configuring subbands having 5 levels of depth, and the input image passed through the HPF in the 1st level transverse wavelet transform. The signal is output in the H0 band, which is the highest frequency band, and only the subbands formed by the input video signal passing through the LPF form the following subbands by conventional four-level wavelet transform, according to an embodiment of the present invention. The subbands are finally formed.
도 7은 본 발명의 실시예에 따른 2차원 이산 웨이브렛 변환기의 구조를 도시한 블록도이다.7 is a block diagram showing the structure of a two-dimensional discrete wavelet converter according to an embodiment of the present invention.
도 7에 도시되어 있듯이, 본 발명의 실시예에 따른 2차원 이산 웨이브렛 변환기는 영상 신호 복호기(100), 레지스터 어레이(200), LPF(300), HPF(400), LPF 라인 버퍼(500), HPF 라인 버퍼(600), 멀티플렉서(multiplexer:MUX, 700)를 포함한다.As shown in FIG. 7, the two-dimensional discrete wavelet converter according to an embodiment of the present invention includes a video signal decoder 100, a register array 200, an LPF 300, an HPF 400, and an LPF line buffer 500. , HPF line buffer 600, and a multiplexer (MUX, 700).
영상 신호는 영상 신호 복호기(100)를 통해 디지털 신호로 변환되어 레지스터 어레이(200)로 입력되지만, 이것에만 한정되는 것은 아니고, 프레임 그래버(frame grabber) 등 다른 영상 장치로부터 출력되는 디지털 영상 신호가 레지스터 어레이(200)로 입력될 수 있다.The video signal is converted into a digital signal through the video signal decoder 100 and input to the register array 200, but the present invention is not limited thereto, and the digital video signal output from another video device such as a frame grabber is registered. It may be input to the array 200.
레지스터 어레이(200)는 영상 신호 복호기(100)로부터 출력되는 디지털 신호와 LPF(300)의 출력을 입력받아서 순차적으로 지연시켜 처리할 데이터를 저장한다.The register array 200 receives the digital signal output from the image signal decoder 100 and the output of the LPF 300 and sequentially stores the data to be processed by delaying them sequentially.
레지스터 어레이(200)는 LPF 라인 버퍼(500) 또는 HPF 라인 버퍼(600)를 통해 출력되는 LPF(300) 또는 HPF(400)의 출력 데이터를 MUX(700)를 통해 입력받는다.The register array 200 receives the output data of the LPF 300 or the HPF 400 output through the LPF line buffer 500 or the HPF line buffer 600 through the MUX 700.
MUX(700)를 통과한 데이터는 Daubechies 9-7 탭 필터를 이용하였을 9 바이트의 데이터가 병렬로 출력된다. 최종 데이터 출력은 LPF(300)와 HPF(400)의 출력을 통해 이루어지며, 매번 출력되는 것이 아니라 유효한 데이터 출력을 선정하여 출력하게 된다.Data passing through the MUX 700 outputs 9 bytes of data in parallel using Daubechies 9-7 tap filter. The final data output is made through the output of the LPF 300 and the HPF 400, and is not output every time, but selects and outputs a valid data output.
도 8은 도 7의 2차원 이산 웨이브렛 변환기의 상세 블록도이다.FIG. 8 is a detailed block diagram of the two-dimensional discrete wavelet converter of FIG. 7.
도 8에 도시되어 있듯이, 영상 신호는 영상 신호 복호기(100)를 통해 디지털 신호로 변환되어 레지스터 어레이(200)로 입력된다. 이 때 변환되는 신호는 예를 들어 unsigned 8 비트 데이터일 수 있고, 이 데이터는 레지스터 어레이(200)의 Reg1(210)에 저장된다.As shown in FIG. 8, the image signal is converted into a digital signal through the image signal decoder 100 and input to the register array 200. In this case, the signal to be converted may be, for example, unsigned 8-bit data, which is stored in Reg1 210 of the register array 200.
레지스터 어레이(200) 내의 Reg1(210), Reg2(220), Reg3(230), Reg4(240), Reg5(250)에 대한 상세 블록도는 여러 가지 형태로 구현될 수 있으며, 이 중 한가지 실시예가 도 9에 도시되어 있다.Detailed block diagrams of Reg1 210, Reg2 220, Reg3 230, Reg4 240, and Reg5 250 in register array 200 may be implemented in various forms, one embodiment of which 9 is shown.
Reg1(210), Reg2(220), Reg3(230), Reg4(240), Reg5(250)는 모두 동일한 구조를 가지므로, 여기에서는 Reg1(210)을 대표로 설명한다.Since Reg1 (210), Reg2 (220), Reg3 (230), Reg4 (240), and Reg5 (250) all have the same structure, Reg1 (210) will be described here as a representative.
Reg1(210)은 모두 9개의 레지스터(211, 212, 213, 214, 215, 216, 217, 218, 219)로 구성되며, 각 레지스터(211 ∼ 219)의 비트 수는 Reg1(210)의 입력 비트 수와 동일하다. 즉, Reg1(210)의 경우 입력 비트 수가 8 비트이므로, 9개의 레지스터(211 ∼ 219)는 모두 8 비트 레지스터이다.Reg1 210 consists of nine registers 211, 212, 213, 214, 215, 216, 217, 218, 219, and the number of bits in each register 211 to 219 is the input bit of Reg1 210. Same as number. That is, in the case of Reg1 210, since the number of input bits is 8 bits, all nine registers 211 to 219 are eight bit registers.
9개의 레지스터(211 ∼ 219)는 각각 데이터 입력을 받아들이기 위해 로드(load) 신호인 ld 신호를 갖는다. 기본적으로, ld 신호가 뜰 때마다 레지스터(218)에 저장된 데이터는 레지스터(219)로, 레지스터(217)에 저장된 데이터는 레지스터(218)로, 레지스터(216)에 저장된 데이터는 레지스터(217)로, 레지스터(215)에 저장된 데이터는 레지스터(216)로, 레지스터(214)에 저장된 데이터는 레지스터(215)로, 레지스터(213)에 저장된 데이터는 레지스터(214)로, 레지스터(212)에 저장된 데이터는 레지스터(213)로, 레지스터(211)에 저장된 데이터는 레지스터(212)로, 영상 신호 복호기(100)으로부터의 입력은 레지스터(211)로 쉬프트되면서 입력된다.The nine registers 211 to 219 each have an ld signal which is a load signal to accept a data input. By default, whenever the ld signal occurs, the data stored in register 218 goes to register 219, the data stored in register 217 goes to register 218, and the data stored in register 216 goes to register 217. The data stored in the register 215 is the register 216, the data stored in the register 214 is the register 215, the data stored in the register 213 is the register 214, the data stored in the register 212. Is a register 213, data stored in the register 211 is input to the register 212, while the input from the video signal decoder 100 is shifted to the register 211.
9개의 레지스터(211 ∼ 219)에는 필터 탭 수만큼의 데이터가 저장된다. 시간 i+5의 시점에서 9개의 레지스터(211 ∼ 219)에 저장되는 데이터들은 (di+4, di+3, di+2, di+1, di, di-1, di-2, di-3, di-4)이다. 레지스터 값(di+4, di+3, di+2, di+1, di, di-1, di-2, di-3, di-4)는 상기 식 (3)의 저역 통과 필터링에 사용되며, 레지스터 값(di+4,di+3, di+2, di+1, di, di-1, di-2)은 상기 식 (4)의 고역 통과 필터링에 사용된다.Nine registers 211 to 219 store data for the number of filter taps. The data stored in the nine registers 211 to 219 at the time i + 5 are (d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i , d i-1 , d i-2 , d i-3 , d i-4 ). The register values d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i , d i-1 , d i-2 , d i-3 , d i-4 3 is used for low pass filtering, and the register values d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i , d i-1 , d i-2 4) is used for high pass filtering.
Reg2(220), Reg3(230), Reg4(240), Reg5(250)는 필터링된 연산의 중간값을 저장하는 레지스터로써, 그 구조는 Reg1(210)과 동일하나, 입력이 9.7(정수부의 비트 수.소수점 이하의 비트 수) 포맷으로 입력되는 것이 다르다.Reg2 (220), Reg3 (230), Reg4 (240), and Reg5 (250) are registers that store the median value of the filtered operation. The structure is the same as that of Reg1 (210), but the input is 9.7 (bit of integer part). It is different from input in format.
start 신호는 9개의 레지스터(211 ∼ 219) 중 4개의 레지스터(216, 217, 218, 219)로 입력되는 값을 제어하는 신호로써, 영상의 시작 경계 부분을 제어한다.The start signal is a signal for controlling a value input to four registers 216, 217, 218, and 219 of the nine registers 211 to 219, and controls the start boundary of the image.
영상의 시작 경계 부분에서는 di-1, di-2, di-3, di-4의 위치에 해당되는 데이터가 존재하지 않기 때문에 영상을 플립(flip)시켜야 한다.Since there is no data corresponding to the positions d i-1 , d i-2 , d i-3 , and d i-4 at the start boundary of the image, the image should be flipped.
따라서, 2 ×1 멀티플렉서(221, 222, 223, 224)와 이들의 제어 신호인 start 신호를 이용하여 영상의 경계를 플립시킨다.Accordingly, the boundary of the image is flipped using the 2x1 multiplexers 221, 222, 223, and 224 and a start signal which is a control signal thereof.
멀티플렉서(221)는 레지스터(215)의 출력과 레지스터(217)의 출력을 받아서 start 신호에 의해 선택되는 하나의 출력을 레지스터(216)로 입력하고, 멀티플렉서(222)는 레지스터(216)의 출력과 레지스터(218)의 출력을 받아서 start 신호에 의해 선택되는 하나의 출력을 레지스터(217)로 입력하고, 멀티플렉서(223)는 레지스터(217)의 출력과 레지스터(219)의 출력을 받아서 start 신호에 의해 선택되는 하나의 출력을 레지스터(218)로 입력하고, 멀티플렉서(224)는 레지스터(218)의 출력과 영상 입력을 받아서 start 신호에 의해 선택되는 하나의 출력을 레지스터(219)로 입력한다.The multiplexer 221 receives the output of the register 215 and the output of the register 217, and inputs one output selected by the start signal to the register 216. The multiplexer 222 is connected to the output of the register 216. Receives the output of the register 218 and inputs one output selected by the start signal to the register 217, the multiplexer 223 receives the output of the register 217 and the output of the register 219 by the start signal The selected output is input to the register 218, and the multiplexer 224 receives the output of the register 218 and an image input and inputs one output selected by the start signal to the register 219.
도 10은 Reg1(210)에 저장되는 데이터가 영상의 시작 경계 부분인 경우의 데이터 흐름을 도시한 도면이다.FIG. 10 is a diagram illustrating a data flow when data stored in Reg1 210 is a start boundary of an image.
도 10에 도시되어 있듯이, 영상의 시작에 대응되는 데이터가 d0인 경우, start 신호는 d1이 입력된 후에 4번의 ld 신호가 인가되는 동안 하이 상태를 유지하면서 레지스터(211)와 레지스터(219)로부터 데이터를 중앙의 레지스터(215) 쪽으로 모아간다.As shown in FIG. 10, when the data corresponding to the start of the image is d0, the start signal is kept from the register 211 and the register 219 while being held high for four times the ld signal is applied after d1 is input. Data is collected toward the center register 215.
start 신호가 로우 상태로 떨어지는 시점인 빗금친 부분이 영상의 경계에 대한 필터링을 처리하기 위한 데이터가 9개의 레지스터(211 ∼ 219)에 저장된 모습이다.The hatched portion, which is the point where the start signal falls to the low state, is stored in nine registers 211 to 219 for processing filtering on the boundary of the image.
한편, 영상의 끝 경계 부분에서도 di+1, di+2, di+3, di+4에 해당되는 데이터가 존재하지 않기 때문에 또한 영상을 플립시켜야 한다. 이를 제어하기 위한 신호가 last 신호이다.On the other hand, since there is no data corresponding to d i + 1 , d i + 2 , d i + 3 , and d i + 4 , the image should also be flipped. The signal for controlling this is the last signal.
이 last 신호는 도 9에 도시되어 있는 바와 같이, 2 ×1 멀티플렉서(225), 4 ×1 멀티플렉서(226), 및 2 비트 카운터(227)를 제어한다.This last signal controls the 2x1 multiplexer 225, the 4x1 multiplexer 226, and the 2-bit counter 227, as shown in FIG.
2 비트 카운터(227)는 초기에 "11"로 설정되어 있다. 2 비트 카운터(227)는 last 신호가 하이 상태에서 ld 신호의 입력 개수를 카운트하여 출력한다.The 2-bit counter 227 is initially set to "11". The 2-bit counter 227 counts and outputs the number of inputs of the ld signal when the last signal is high.
4 ×1 멀티플렉서(226)는 4개의 레지스터(212, 214, 216, 218)의 출력을 받아서 2 비트 카운터(227)에서 출력되는 카운트 값에 의해 선택되는 하나의 출력을 2 ×1 멀티플렉서(225)로 출력한다.The 4x1 multiplexer 226 receives the outputs of the four registers 212, 214, 216, and 218 and outputs one output selected by the count value output from the 2-bit counter 227 to the 2x1 multiplexer 225. Will output
2 ×1 멀티플렉서(225)는 영상 입력과 4 ×1 멀티플렉서(226)의 출력을 받아서 last 신호에 의해 선택되는 하나의 출력을 레지스터(211)로 출력한다.The 2x1 multiplexer 225 receives an image input and an output of the 4x1 multiplexer 226 and outputs one output selected by the last signal to the register 211.
도 11은 Reg1(210)에 저장되는 데이터가 영상의 끝 경계 부분인 경우의 데이터 흐름을 도시한 도면이다.FIG. 11 is a diagram illustrating a data flow when data stored in Reg1 210 is an end boundary portion of an image.
도 11에서, count는 2 비트 카운터(227)의 값을 나타낸다.In FIG. 11, count represents the value of the two bit counter 227.
2 비트 카운터(227)는 last 신호가 하이 상태에서 ld 신호의 개수를 카운트하고, 그 결과 값이 4 ×1 멀티플렉서(226)를 제어함으로써, 첫 번째 빗금친 부분(▨ 형태로 빗금친 부분)에서 영상의 플립이 시작되고, 두 번째 빗금친 부분(▧ 형태로 빗금친 부분)에서 영상의 플립이 완결된다.The 2-bit counter 227 counts the number of ld signals when the last signal is high, and the resulting value controls the 4x1 multiplexer 226, so that at the first hatched portion (hatched portion). The flip of the image starts, and the flip of the image is completed at the second hatched portion (the hatched portion).
한편, Reg1(210)의 구조에 대한 다른 실시예가 도 12에 도시되어 있다.Meanwhile, another embodiment of the structure of Reg1 210 is shown in FIG. 12.
본 실시예에서의 Reg1(210)도 모두 9개의 레지스터(261, 262, 263, 264, 265, 266, 267, 268, 269)로 구성되며, 각 레지스터(261 ∼ 269)에 저장되는 데이터와 관련되는 사항은 상기 도 9를 참조하여 설명한 내용과 동일하므로 여기에서는 생략한다.Reg1 210 in this embodiment also consists of nine registers 261, 262, 263, 264, 265, 266, 267, 268, 269, and is associated with the data stored in each register 261-269. The matters described above are the same as the contents described with reference to FIG. 9 and will not be described herein.
본 실시예와 전술한 실시예 사이의 차이점은 Reg(210)로 입력되는 데이터가 영상의 시작 경계 부분 데이터인 경우의 제어이다.The difference between the present embodiment and the above-described embodiment is control in the case where the data input to the Reg 210 is the start boundary portion data of the image.
본 실시예에서는 2 ×1 멀티플렉서(271, 272, 273, 274), 카운터 및 주변 회로(278) 및 이들의 제어 신호인 start 신호를 이용하여 영상의 경계를 플립시킨다.In the present embodiment, the boundary of the image is flipped using the 2x1 multiplexers 271, 272, 273, 274, the counter and the peripheral circuit 278, and a start signal which is a control signal thereof.
멀티플렉서(271)는 레지스터(262)의 출력과 영상 입력을 받아서 카운터 및 주변 회로(278)에 의해 선택되는 하나의 출력을 레지스터(263)로 입력하고, 멀티플렉서(272)는 레지스터(264)의 출력과 영상 입력을 받아서 카운터 및 주변 회로(278)에 의해 선택되는 하나의 출력을 레지스터(265)로 입력하며, 멀티플렉서(273)는 레지스터(266)의 출력과 영상 입력을 받아서 카운터 및 주변 회로(278)에 의해 선택되는 하나의 출력을 레지스터(267)로 입력하고, 멀티플렉서(274)는 레지스터(268)의 출력과 영상 입력을 받아서 카운터 및 주변 회로(278)에 의해 선택되는 하나의 출력을 레지스터(269)로 입력한다.The multiplexer 271 receives the output of the register 262 and an image input, and inputs one output selected by the counter and the peripheral circuit 278 to the register 263, and the multiplexer 272 outputs the register 264. And an output selected by the counter and peripheral circuit 278 to the register 265, and the multiplexer 273 receives the output and the image input of the register 266 to receive the counter and peripheral circuit 278 A single output selected by the register 267 is input to the register 267, and the multiplexer 274 receives an output of the register 268 and an image input and receives one output selected by the counter and the peripheral circuit 278. 269).
멀티플렉서(271, 272, 273, 274)는 카운터 및 주변 회로(278)로부터 제어 신호를 받는데, 그 제어 신호가 "1"이면 영상 입력 신호를 출력하고, 반대로 "0"이면 전단의 입력 레지스터(262, 264, 266, 268)의 값을 각각 출력한다.The multiplexers 271, 272, 273, and 274 receive control signals from the counter and the peripheral circuit 278. If the control signal is "1", the multiplexer outputs a video input signal. , 264, 266, and 268) are output respectively.
한편, 카운터 및 주변 회로(278)는 start 신호가 "1"이고 카운터의 값인 count가 "11"인 경우, 멀티플렉서(271)로 "1"을 출력하고, 그 외의 멀티플렉서(272, 273, 274)로는 "0"을 출력하며, start 신호가 "1"이고 카운터의 값인 count가 "00"인 경우, 멀티플렉서(272)로 "1"을 출력하고, 그 외의 멀티플렉서(271, 273, 274)로는 "0"을 출력하며, start 신호가 "1"이고 카운터의 값인 count가 "01"인 경우, 멀티플렉서(273)로 "1"을 출력하고, 그 외의 멀티플렉서(271, 272, 274)로는 "0"을 출력하며, start 신호가 "1"이고 카운터의 값인 count가 "10"인 경우, 멀티플렉서(274)로 "1"을 출력하고, 그 외의 멀티플렉서(271, 272, 273)로는 "0"을 출력한다.On the other hand, when the start signal is "1" and the counter value count is "11", the counter and the peripheral circuit 278 output "1" to the multiplexer 271, and the other multiplexers 272, 273, 274. When the start signal is "1" and the count value of the counter is "00", the controller outputs "1" to the multiplexer 272. The other multiplexers 271, 273, 274 output "1". 0 ", when the start signal is" 1 "and the counter value count is" 01 "," 1 "is output to the multiplexer 273, and" 0 "is output to the other multiplexers 271, 272, and 274. If the start signal is "1" and the counter value count is "10", "1" is output to the multiplexer 274, and "0" is output to the other multiplexers 271, 272, and 273. do.
도 13은 도 12의 실시예에 따라 Reg1(210)에 저장되는 데이터가 영상의 시작 경계 부분인 경우의 데이터 흐름을 도시한 도면이다.FIG. 13 is a diagram illustrating a data flow when data stored in Reg1 210 is a start boundary of an image according to the embodiment of FIG. 12.
도 13에 도시되어 있듯이, 영상의 시작에 대응되는 데이터가 d0인 경우, start 신호는 d1이 입력된 후에 4번의 ld 신호가 인가되는 동안 하이 상태를 유지하면서 카운터(278)의 값을 변화시킨다. 카운터(278)의 값이 "11"인 경우 주변 회로(278)에서는 제어 신호 "1"을 멀티플렉서(271)로만 출력하고, 멀티 플렉서(271)는 제어 신호가 "1"이므로 영상 입력인 d1을 레지스터(263)로 출력한다. 카운터(278)의 다른 값인 "00", "01", "10"에 대해서도 멀티플렉서(272, 273, 274)에 대해 멀티플렉서(271)과 유사하게 동작하므로 이에 대한 설명은 생략한다.As shown in FIG. 13, when the data corresponding to the start of the image is d0, the start signal changes the value of the counter 278 while maintaining a high state for four times the ld signal is applied after d1 is input. When the value of the counter 278 is "11", the peripheral circuit 278 outputs the control signal "1" only to the multiplexer 271. Since the control signal is "1", the multiplexer 271 is an image input d1. Is output to the register 263. Other values of "00", "01", and "10" of the counter 278 operate similarly to the multiplexer 271 with respect to the multiplexers 272, 273, and 274, and thus description thereof will be omitted.
start 신호가 로우 상태로 떨어지는 시점인 빗금친 부분이 영상의 경계에 대한 필터링을 처리하기 위한 데이터가 9개의 레지스터(261 ∼ 269)에 저장된 모습이다.The hatched portion, which is the point where the start signal falls to the low state, is stored in nine registers 261 to 269 for processing filtering on the boundary of the image.
상기한 방식으로 시작 경계 처리를 하면 빗금친 부분에서 첫 번째 필터링하는 부분 뿐만아니라 그 이전의 사이클에서도 완전한 경계 플립핑이 수행된다.Starting boundary processing in the above manner results in complete boundary flipping not only in the first filtering portion of the hatched portion but also in the previous cycle.
한편, 본 실시예에서 영상의 끝 경계 부분에 대한 처리는 전술한 실시예와 동일하므로 여기에서는 생략한다.On the other hand, the processing for the end boundary portion of the image in the present embodiment is the same as the above-described embodiment, so it will be omitted here.
다시, 도 8을 참조하면, 영상 신호 복호기(100)로부터 출력되는 영상 신호가 저장된 Reg1(210)의 9개의 레지스터(211 ∼ 219) 데이터는 6 ×1 멀티플렉서(270)를 통해 LPF(300)와 HPF(400)로 입력되어 횡방향 필터링이 수행된다.Referring back to FIG. 8, the data of the nine registers 211 to 219 of Reg1 210 in which the video signal output from the video signal decoder 100 is stored is connected to the LPF 300 through the 6 × 1 multiplexer 270. Transverse filtering is input to the HPF 400.
먼저, LPF(300)에 의한 필터링에 대해 설명한다.First, the filtering by the LPF 300 will be described.
LPF(300)에 의해 수행되는 횡방향 필터링 관련 수식은 상기 (3)에 나타나 있다.The transverse filtering-related equations performed by the LPF 300 are shown in (3) above.
Reg1(210)으로부터 출력되는 데이터는 di-4∼ di+4로 총 9개이며, 이들은 unsigned 8.0 포맷으로, 6 ×1 멀티플렉서(270)에서 sign '0'이 추가되는 동시에 소수점 이하 7 비트에 0이 추가되어 9.7 포맷으로 변환되어 LPF(300)로 입력된다.Reg1 (210) outputs a total of 9 data from d i-4 to d i + 4 , and these are unsigned 8.0 format, and sign '0' is added to 6x1 multiplexer 270 and 7 bits after the decimal point. 0 is added to the 9.7 format to be input to the LPF 300.
LPF(300)는 레지스터 어레이(200)로부터 출력되는 9개의 데이터를 사용하여 수식 (3)의 형태로 필터링을 수행한다.The LPF 300 performs filtering in the form of Equation (3) by using nine data output from the register array 200.
LPF(300)는 레지스터 어레이(200)로부터 출력되는 데이터(di+4, di+3, di+2, di+1, di, di-1, di-2, di-3, di-4) 중 해당 데이터(di+4, di+3, di+2, di+1, di-1, di-2, di-3, di-4)를 더하여 출력하는 4개의 가산기(311, 312, 313, 314), 레지스터 어레이(200)로부터 출력되는 데이터(di+4, di+3, di+2, di+1, di, di-1, di-2, di-3, di-4) 중 해당 데이터(di) 및 가산기(311, 312, 313, 314)로부터 출력되는 데이터를 저장하는 파이프라인 레지스터(pipe 1)(320), 파이프라인 레지스터(320)에 저장된 데이터 중 해당 데이터를 곱하여 출력하는 5개의 곱셈기(331, 332, 333, 334, 335), 곱셈기(331, 332, 333, 334, 335)로부터 출력되는 데이터를 저장하는 파이프라인 레지스터(pipe 2)(340), 파이프라인 레지스터(340)로부터 출력되는 데이터에 대해 상기 수식 (3)의 연산을 수행하는 어큐뮬레이터(accumulator)(350), 어큐뮬레이터(350)로부터 출력되는 데이터에 대해 정수부는 새츄레이션(saturation)시키고 소수점 이하는 라운딩(rounding)시켜 9.7 포맷으로 변환하는 새츄레이션 및 라운딩부(SatRnd)(360), 새츄레이션 및 라운딩부(360)로부터 출력되는 데이터를 최종 결과로써 출력하는 어큐뮬레이터(370)를 포함한다.The LPF 300 may output data d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i , d i-1 , d i-2 , d i from the register array 200. -3 , d i-4 ) of the corresponding data (d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i-1 , d i-2 , d i-3 , d i- Four adders 311, 312, 313, and 314 that add and output 4 ) and data output from the register array 200 (d i + 4 , d i + 3 , d i + 2 , d i + 1 , d Pipeline register which stores corresponding data d i and data output from adders 311, 312, 313, 314 among i , d i-1 , d i-2 , d i-3 , d i-4 (pipe 1) 320, five multipliers (331, 332, 333, 334, 335) multiplying the corresponding data among the data stored in the pipeline register 320, multipliers (331, 332, 333, 334, 335 Pipeline register (pipe 2) 340 for storing the data output from the; and accumulator (accumulator) for performing the operation of the equation (3) on the data output from the pipeline register (340) ( 350, the saturation unit and the rounding unit (SatRnd) 360, saturation and rounding to saturate the data output from the accumulator 350 and rounding down to a decimal point The accumulator 370 outputs the data output from the unit 360 as a final result.
가산기(311, 312, 313, 314)는 먼저 레지스터 어레이(200)로부터 출력되는 9개의 데이터(di+4, di+3, di+2, di+1, di, di-1, di-2, di-3, di-4)로부터 각각 (di+1+ di-1), (di+2+ di-2), (di+3+ di-3), (di+4+ di-4)를 구한다. 여기서, 가산기(311, 312, 313, 314)가 사용하는 이유는 9탭의 필터링을 위해서는 9개의 곱셈기가 필요하지만, 가산기를 사용함으로써 곱셈기의 숫자를 5개로 줄일 수 있기 때문이다.The adders 311, 312, 313, 314 are first composed of nine data output from the register array 200 (d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i , d i- 1 , d i-2 , d i-3 , d i-4 ) from (d i + 1 + d i-1 ), (d i + 2 + d i-2 ), (d i + 3 + d i-3 ), (d i + 4 + d i-4 ). The reason why the adders 311, 312, 313, and 314 are used is that nine multipliers are required for the filtering of nine taps, but the number of multipliers can be reduced to five by using the adder.
레지스터 어레이(200)로부터 출력되는 데이터의 포맷은 9.7이고, 가산기(311, 312, 313, 314)는 9.7 포맷 데이터 두 개를 더하므로 그 결과 데이터의 포맷은 10.7이 된다.The format of the data output from the register array 200 is 9.7, and the adders 311, 312, 313, and 314 add two 9.7-format data, so that the format of the data is 10.7.
가산기(311, 312, 313, 314)의 결과 값과 레지스터 어레이(200)으로부터 출력되는 데이터 di는 파이프라인 레지스터(320)를 통해 곱셈기(331, 332, 333, 334, 335)로 파이프라인된다. 파이프라인되는 가산기(311, 312, 313, 314)의 결과값은 각각 곱셈기(331, 332, 333, 334)로 입력되어 LPF(300)의 계수들과 연산이 수행된다.The resultant values of the adders 311, 312, 313, 314 and the data d i output from the register array 200 are pipelined to the multipliers 331, 332, 333, 334, 335 through the pipeline register 320. . The resultant values of the adders 311, 312, 313, and 314 that are pipelined are input to the multipliers 331, 332, 333, and 334, respectively, to perform coefficients and operations of the LPF 300.
LPF(300)의 필터 계수들은 수식 (1)에 의해 이미 정해져 있기 때문에 곱셈기의 크기를 줄이기 위해 상수 곱셈기가 사용될 수 있다.Since the filter coefficients of the LPF 300 are already determined by Equation (1), a constant multiplier may be used to reduce the size of the multiplier.
여기서, LPF(300)의 계수는 unsigned 12 비트로 가정하여 설명한다.Herein, the coefficient of the LPF 300 is assumed to be 12 bits unsigned.
LPF(300)의 계수는 1보다 작기 때문에 0.12 포맷을 갖는 갖는다. 따라서, 곱셈기(331, 332, 333, 334)에 의해 출력되는 값의 포맷은 10.7 ×0.12의 연산 포맷인 10.19가 된다.The coefficient of LPF 300 is smaller than 1 and therefore has a 0.12 format. Therefore, the format of the value output by the multipliers 331, 332, 333, and 334 is 10.19, which is an operation format of 10.7 x 0.12.
한편, 레지스터 어레이(200)로부터 9.7 포맷의 데이터가 파이프라인 레지스터(320)에 의해 파이프라인된 후, 곱셈기(335)에 의해 곱셈 연산된 결과값의 포맷은 9.7 × 0.12의 연산 포맷인 9.19가 된다.On the other hand, after the 9.7 format data is pipelined from the register array 200 by the pipeline register 320, the format of the result value multiplied by the multiplier 335 becomes 9.19, which is an operation format of 9.7 × 0.12. .
곱셈기(331)의 출력은 g4*(di+4+ di-4)이고, 곱셈기(332)의 출력은 g3*(di+3+ di-3)이며, 곱셈기(333)의 출력은 g2*(di+2+ di-2)이고, 곱셈기(334)의 출력은 g1*(di+1+ di-1)이며, 곱셈기(335)의 출력은 g0*di가 된다.The output of multiplier 331 is g 4 * (d i + 4 + d i-4 ), the output of multiplier 332 is g 3 * (d i + 3 + d i-3 ), and multiplier 333 The output of is g 2 * (d i + 2 + d i-2 ), the output of multiplier 334 is g 1 * (d i + 1 + d i-1 ), and the output of multiplier 335 is g 0 * d i .
곱셈기(331, 332, 333, 334, 335)의 출력은 다시 파이프라인 레지스터(340)에 의해 파이프라인된다.The outputs of multipliers 331, 332, 333, 334, 335 are again pipelined by pipeline register 340.
어큐뮬레이터(350)는 파이프라인 레지스터(340)에 의해 파이프라인되어 출력되는 데이터에 대해 수식 (3)의 연산을 최종으로 수행한다. 연산 결과 14.19 포맷이 되고, 이 결과 데이터는 SatRnd(360)을 통해 정수부는 새츄레이션되고, 소수점 이하는 라운딩되어 최종 9.7 포맷의 데이터로 변환된다.The accumulator 350 finally performs the operation of Equation (3) on the data pipelined and output by the pipeline register 340. The result is 14.19 format, and the result data is rounded down via SatRnd 360, rounded down to a decimal point, and converted into data in the final 9.7 format.
SatRnd(360)의 결과는 L0이고, 이 값은 다시 2차원 웨이브렛 변환을 위해 레지스터 어레이(200)로 궤환된다.The result of SatRnd 360 is L0, which is fed back to register array 200 for two-dimensional wavelet transformation.
다음, LPF(300)와 마찬가지로 HPF(400)도 수식 (4)에 해당하는 연산을 수행한다.Next, like the LPF 300, the HPF 400 performs a calculation corresponding to Equation (4).
HPF(400)는 레지스터 어레이(200)로부터 출력되는 7개의 데이터를 사용하여 수식 (3)의 형태로 필터링을 수행한다.The HPF 400 performs filtering in the form of Equation (3) using seven data output from the register array 200.
HPF(400)는 레지스터 어레이(200)로부터 출력되는 데이터(di+4, di+3, di+2, di+1, di, di-1, di-2, di-3, di-4) 중 해당 데이터(di+4, di+3, di+2, di, di-1, di-2)를 더하여 출력하는 3개의 가산기(411, 412, 413), 레지스터 어레이(200)로부터 출력되는 데이터(di+4, di+3, di+2, di+1, di, di-1, di-2, di-3, di-4) 중 해당 데이터(di+1) 및 가산기(411, 412, 413)로부터 출력되는 데이터를 저장하는 파이프라인 레지스터(pipe 3)(420), 파이프라인 레지스터(420)에 저장된 데이터 중 해당 데이터를 곱하여 출력하는 4개의 곱셈기(431, 432, 433, 434), 곱셈기(431, 432, 433, 434)로부터 출력되는 데이터를 저장하는 파이프라인 레지스터(pipe 4)(440), 파이프라인 레지스터(440)로부터 출력되는 데이터에 대해 상기 수식 (4)의 연산을 수행하는 어큐뮬레이터(450), 어큐뮬레이터(450)로부터 출력되는 데이터에 대해 정수부는 새츄레이션시키고 소수점 이하는 라운딩시켜 9.7 포맷으로 변환하는 새츄레이션 및 라운딩부(SatRnd)(460), 새츄레이션 및 라운딩부(360)로부터 출력되는 데이터를 최종 결과로써 출력하는 어큐뮬레이터(470)를 포함한다.The HPF 400 stores data output from the register array 200 (d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i , d i-1 , d i-2 , d i). 3 adders 411, which adds and outputs the corresponding data (d i + 4 , d i + 3 , d i + 2 , d i , d i-1 , d i-2 ) of -3 , d i-4 ) 412 and 413 and data output from the register array 200 d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i , d i-1 , d i-2 , d i -3, 4-d i) of the data (d i + 1) and the adder (411, 412, a pipeline register (pipe 3) (420), a pipeline register (420 to store the data outputted from 413)) Four multipliers (431, 432, 433, 434) for multiplying the corresponding data among the data stored in the multiplier, and a pipeline register (pipe 4) 440 for storing data output from the multipliers (431, 432, 433, 434). The accumulator 450 and the accumulator 450 that perform the operation of Equation (4) on the data output from the pipeline register 440 are output from the accumulator 450. The accumulator outputs the data output from the saturation and rounding unit (SatRnd) 460 and the saturation and rounding unit 360 to saturate the data, round down to a decimal point, and convert it to the 9.7 format. 470).
HPF(400)의 동작은 LPF(300)의 동작과 유사하므로 간단하게 설명한다.The operation of the HPF 400 is similar to that of the LPF 300, and thus will be described briefly.
먼저, 가산기(411, 412, 413)는 레지스터 어레이(200)로부터 출력되는 데이터(di+4, di+3, di+2, di+1, di, di-1, di-2, di-3, di-4)를 사용하여 (di+2+ di), (di+3+ di-1), (di+4+ di-2) 값을 연산하고, 이 값 및 레지스터 어레이(200)로부터 출력되는 di+1은 파이프라인 레지스터(420)를 통해 파이프라인된다.First, the adders 411, 412, and 413 output data d i + 4 , d i + 3 , d i + 2 , d i + 1 , d i , d i-1 , d from the register array 200. i-2 , d i-3 , d i-4 ) using (d i + 2 + d i ), (d i + 3 + d i-1 ), (d i + 4 + d i-2 ) Compute the value, and d i + 1 output from register array 200 is pipelined through pipeline register 420.
파이프라인된 결과값들은 곱셈기(431, 432, 433, 434)에 의해 곱셈 연산된 후 파이프라인 레지스터(440)를 통해 다시 파이프라인된다.The pipelined results are multiplied by multipliers 431, 432, 433, 434 and then pipelined back through pipeline register 440.
파이프라인된 결과값들은 어큐뮬레이터(450)와 SatRnd(460)를 통해 최종 필터링되어 출력된다.The pipelined results are finally filtered through the accumulator 450 and SatRnd 460 and output.
이 때, 출력되는 결과값은 어큐뮬레이터(470)를 통해 최종 출력되는데, 이 값이 본 발명의 실시예에 따른 말라 블록 상 H0에 해당한다.At this time, the output result is finally output through the accumulator 470, which corresponds to the H0 on the Mala block according to the embodiment of the present invention.
한편, LPF(300)에 의해 필터링된 결과값인 L0는 레지스터 어레이(200)의 Reg2(220)로 입력되어 저장된다.Meanwhile, L0 which is a result value filtered by the LPF 300 is input to and stored in Reg2 220 of the register array 200.
Reg2(220)에 입력된 값들은 다시 6 ×1 멀티플렉서(270)를 통해 선택된 후, LPF(300), HPF(400)로 입력되어 상기한 바와 같은 횡방향 필터링이 반복 수행된다.The values input to Reg2 220 are again selected through 6 × 1 multiplexer 270 and then input to LPF 300 and HPF 400 to repeat the lateral filtering as described above.
다음, LPF(300), HPF(400)에 의해 횡방향 필터링된 결과값들은 다시 종방향으로 필터링이 수행되어야 한다.Next, the lateral filtered results by the LPF 300 and the HPF 400 should be filtered in the longitudinal direction again.
이 때, 종방향으로의 필터링이 수행되기 위해서는 9개의 라인에 대한 결과값이 필요하기 때문에 LPF(300) 및 HPF(400)에 대응되는 라인 버퍼(500, 600)를 사용하여 영상의 결과값을 저장한다.At this time, since the result values for nine lines are needed to perform the filtering in the longitudinal direction, the result values of the image are obtained by using the line buffers 500 and 600 corresponding to the LPF 300 and the HPF 400. Save it.
영상의 크기가 N ×M이라고 하면, 두 번의 필터링과 두 번의 다운샘플링이 수행된 후이므로, N/4 × 8 라인 ×16 비트의 크기를 갖는 라인 버퍼가 필요하다. 이러한 라인 버퍼는 LPF(300) 및 HPF(400) 각각에 대하여 필요로 하며, L_LB1(510) 및 H_LB1(610)이 해당 라인 버퍼이다.If the size of the image is N × M, since two filtering and two downsampling are performed, a line buffer having a size of N / 4 × 8 lines × 16 bits is required. These line buffers are required for LPF 300 and HPF 400 respectively, and L_LB1 510 and H_LB1 610 are the corresponding line buffers.
한편, 라인 버퍼(510, 610)에는 9개의 라인 데이터가 저장된 후에 레지스터어레이(200)로 출력되므로, 9번째 라인 데이터는 필터링된 결과를 바로 사용할 수 있기 때문에 라인 버퍼의 라인 수는 8 라인이며, 출력은 9 라인이 동시에 레지스터 어레이(200)로 출력된다.Meanwhile, since nine line data are stored in the line buffers 510 and 610 and then output to the register array 200, since the ninth line data can directly use the filtered result, the number of lines of the line buffer is eight lines. The output is 9 lines are output to the register array 200 at the same time.
이러한 라인 버퍼(510, 610)에서도 레지스터 어레이(200) 내의 Reg1(210)에 대해 설명한 바와 같이 영상 경계에 대한 처리가 필요하다.The line buffers 510 and 610 also need to process image boundaries as described with respect to Reg1 210 in the register array 200.
4줄의 영상이 라인 버퍼(510, 610)에 채워지고 5번째 줄의 영상이 입력되는 순간부터 필터링이 처리되어야 하는데, di-1, di-2, di-3, di-4의 위치에 해당되는 데이터가 없기 때문에, 이를 위해 시작 경계에 대한 처리가 요구된다.Filtering should be processed from the moment 4 images are filled in the line buffers 510 and 610 and 5 images are input. D i-1 , d i-2 , d i-3 , d i-4 Since there is no data corresponding to the position of, processing for the starting boundary is required for this.
라인 버퍼(500, 600) 내의 4 ×1 멀티플렉서(550, 650)가 이러한 영상 경계 처리를 수행한다.4x1 multiplexers 550 and 650 in line buffers 500 and 600 perform this image boundary processing.
상기한 영상 경계 처리에 대한 설명은 레지스터 어레이(200)의 Reg1(210)에서와 유사하므로 여기에서는 생략한다. 첨부한 도 14는 영상의 경계에서 라인 버퍼(510, 610)의 출력의 변화를 나타내는 도면으로, 각각 시작 경계에서의 출력 변화와 끝 경계에서의 출력 변화를 나타낸다.The description of the image boundary processing described above is similar to that in Reg1 210 of the register array 200 and thus is omitted here. FIG. 14 is a diagram illustrating a change in output of the line buffers 510 and 610 at the boundary of the image, and illustrates the change in output at the start boundary and the change in output at the end boundary, respectively.
한편, 종방향 필터링은 LPF(300)에 의해 저역 통과 필터링된 것과 HPF(400)에 의해 고역 통과 필터링된 것에 대해 두 번에 걸쳐 수행되어야 한다.On the other hand, the longitudinal filtering should be performed twice for low pass filtering by LPF 300 and high pass filtering by HPF 400.
먼저, HPF(400)에 의해 고역 통과 필터링된 결과가 HPF 라인 버퍼(600)의 H_LB1(610)에 저장되고, 9번째 라인이 H_LB1(610)으로 입력되는 때에 H_LB1(610)으로부터 총 9 라인에 대한 출력이 4 ×1 멀티플렉서(650)를 통해 선택되어 2 ×1 멀티플렉서(700)로 입력된다.First, the high pass filtered result by the HPF 400 is stored in the H_LB1 610 of the HPF line buffer 600, and a total of 9 lines from the H_LB1 610 when the ninth line is input to the H_LB1 610. Output is selected through a 4x1 multiplexer 650 and input to a 2x1 multiplexer 700.
현재 HPF(400)의 출력에 대한 종방향 필터링이 수행되어야 하므로, 2 ×1 멀티플렉서(700)는 HPF 라인 버퍼(600)로부터의 출력을 레지스터 어레이(200)의 Reg6(260)으로 입력시킨다.Since longitudinal filtering on the output of the current HPF 400 must be performed, the 2x1 multiplexer 700 inputs the output from the HPF line buffer 600 to Reg6 260 of the register array 200.
레지스터 어레이(200)의 Reg6(260)은 9개의 16 비트 데이터를 동시에 저장하는 레지스터이다.Reg6 260 of the register array 200 is a register that simultaneously stores nine 16-bit data.
Reg6(260)의 데이터는 6 ×1 멀티플렉서(270)를 통해 LPF(300), HPF(400)로 입력되어 종방향 필터링이 수행된다.The data of Reg6 260 is input to the LPF 300 and the HPF 400 through the 6 × 1 multiplexer 270 to perform longitudinal filtering.
이와 같은 종방향 필터링의 수행 결과, LPF(300)의 결과는 본 발명의 실시예에 따른 말라 블록 HL1이며, HPF(400)의 결과는 말라 블록 HH1이 된다. 말라 블록 HL1 및 HH1은 각 어큐뮬레이터(370, 470)를 통해 최종 결과로써 출력된다.As a result of performing the longitudinal filtering, the result of the LPF 300 is the actin block HL1 according to the embodiment of the present invention, and the result of the HPF 400 is the actin block HH1. The actin blocks HL1 and HH1 are output as final results through the accumulators 370 and 470.
다음, LPF(300)에 의해 저역 통과 필터링된 결과가 LPF 라인 버퍼(500)의 L_LB1(510)에 저장되었다가 4 ×1 멀티플렉서(550), 2 ×1 멀티플렉서(700)를 통해 레지스터 어레이(200)의 Reg6(260)로 입력된다.Next, the low pass filtered result by the LPF 300 is stored in the L_LB1 510 of the LPF line buffer 500 and then the register array 200 through the 4x1 multiplexer 550 and the 2x1 multiplexer 700. ) Is input to Reg6 (260).
Reg6(260)에 저장되는 데이터는 6 ×1 멀티플렉서(270)를 통해 LPF(300), HPF(400)으로 입력되어 필터링이 수행된다.Data stored in Reg6 260 is input to LPF 300 and HPF 400 through 6 × 1 multiplexer 270 to perform filtering.
이와 같은 종방향 필터링의 수행 결과, LPF(300)의 결과는 본 발명의 실시예에 따른 말라 블록 LL1이며, HPF(400)의 결과는 말라 블록 LH1이 된다. 말라 블록 LH1은 HPF(400)의 어큐뮬레이터(470)를 통해 최종 결과로써 출력되지만, 말라 블록 LL1은 다시 2차원 웨이브렛 변환이 수행되어 HH2, LH2, HL2, LL2로 분할되어야 함므로, 레지스터 어레이(200)의 Reg3(230)으로 입력되어 상기한 바와 같은 횡방향 및 종방향 필터링이 반복 수행된다.As a result of performing the longitudinal filtering, the result of the LPF 300 is the Mala block LL1 according to the embodiment of the present invention, and the result of the HPF 400 is the Mala block LH1. The actin block LH1 is output as the final result through the accumulator 470 of the HPF 400, but the actin block LL1 is again subjected to two-dimensional wavelet transformation to be partitioned into HH2, LH2, HL2, and LL2. The lateral and longitudinal filtering as described above is inputted to Reg3 230 of 200 and repeated.
이러한 형태의 연산이 반복 수행되면, 본 발명의 실시예에 따른 말라 블록이 얻어질 수 있다.When this type of operation is repeatedly performed, a Mala block according to an embodiment of the present invention can be obtained.
라인 버퍼(500, 600)의 L_LB2(520) 및 H_LB2(620)는 N/8 ×8 라인 ×16 비트의 용량을 필요로 하고, L_LB3(530) 및 H_LB3(630)는 N/16 ×8 라인 ×16 비트의 용량을 필요로 하고, L_LB4(540) 및 H_LB4(640)는 N/32 ×8 라인 ×16 비트의 용량을 필요로 한다.The L_LB2 520 and H_LB2 620 of the line buffers 500, 600 require a capacity of N / 8 x 8 lines x 16 bits, and the L_LB3 530 and H_LB3 630 are N / 16 x 8 lines. A capacity of 16 bits is required, and L_LB4 540 and H_LB4 640 require a capacity of 16 bits of N / 32 x 8 lines.
따라서, LPF 라인 버퍼(500) 및 HPF 라인 버퍼(600)의 총 용량은 2 ×(N/4 + N/8 + N/16 + N/32) ×8 라인 ×16 비트 = 15N/32 × 8 라인 ×16 비트가 요구된다.Thus, the total capacity of the LPF line buffer 500 and HPF line buffer 600 is 2 × (N / 4 + N / 8 + N / 16 + N / 32) × 8 lines × 16 bits = 15N / 32 × 8 Line x 16 bits are required.
NTSC 표준의 경우, Y, Cb, Cr이 4:2:2 형태로 27 MHz 8 비트 화소가 입력되는데, 이 때 필요한 연산량을 계산하면 다음과 같다.In the NTSC standard, 27 MHz 8-bit pixels are input in a 4: 2: 2 format of Y, Cb, and Cr.
Y의 경우에는 13.5 MHz로 입력되는데, 첫 번째 레벨의 말라 블록을 분할하는데 13.5/2 MHz의 연산이 필요하다.In the case of Y, it is entered at 13.5 MHz, which requires 13.5 / 2 MHz of operation to split the first level Mala block.
다시 두 번째 레벨의 말라 블록을 분할하는데 13.5/4 MHz + 2 ×13.5/8 MHz의 연산이 필요하며, 세 번째 레벨의 말라 블록을 분할하는데 13.5/8 MHz + 2 ×13.5/16 MHz의 연산이 필요하고, 네 번째 레벨의 말라 블록을 분할하는데 13.5/16 MHz + 2 ×13.5/32 MHz의 연산이 필요하며, 다섯 번째 레벨의 말라 블록을 분할하는데 13.5/32 MHz + 2 ×13.5/64 MHz의 연산이 필요하다.Again, splitting the 2nd level actin block requires 13.5 / 4 MHz + 2 × 13.5 / 8 MHz, and splitting the 3rd level actin block requires 13.5 / 8 MHz + 2 × 13.5 / 16 MHz. 13.5 / 16 MHz + 2 × 13.5 / 32 MHz operations are needed to split the fourth level actin blocks, and 13.5 / 32 MHz + 2 × 13.5 / 64 MHz operations are needed to divide the fifth level actin blocks. Operation is required.
이러한 연산을 모두 더하면 13.5 ×(1/2 + 1/2 +1/4 +1/8 +1/16) MHz의 연산이 필요하다. 따라서, 본 발명의 실시예에 따른 2차원 이산 웨이브렛 변환기는 27 MHz로 동작하는 경우에 상기와 같은 모든 처리가 가능해진다.Adding all these operations requires 13.5 × (1/2 + 1/2 + 1/4 +1/8 +1/16) MHz. Accordingly, the two-dimensional discrete wavelet converter according to the embodiment of the present invention enables all the above processes when operating at 27 MHz.
마찬가지로, Cb, Cr은 6.75 MHz로 입력되므로, 이 또한 27 MHz로 동작하는 본 발명의 2차원 이산 웨이브렛 변환기에 의해 Cb, Cr이 동시에 처리 가능하다.Similarly, since Cb and Cr are input at 6.75 MHz, the Cb and Cr can be processed simultaneously by the two-dimensional discrete wavelet converter of the present invention which also operates at 27 MHz.
비록, 본 발명이 가장 실제적이며 바람직한 실시예를 참조하여 설명되었지만, 본 발명은 상기 개시된 실시예에 한정되지 않으며, 후술되는 특허청구범위 내에 속하는 다양한 변형 및 등가물들도 포함한다.Although the present invention has been described with reference to the most practical and preferred embodiments, the present invention is not limited to the above disclosed embodiments, but also includes various modifications and equivalents within the scope of the following claims.
본 발명에 따르면, LPF 및 HPF를 별도로 사용함과 동시에 상수 곱셈기를 사용함으로써 하드웨어의 크기가 줄어들고, 횡방향 필터링과 종방향 필터링이 그 연산이 끝나는 순서대로 교대로 처리됨으로써 매우 효과적인 영상 압축이 수행된다.According to the present invention, by using the LPF and HPF separately, and by using a constant multiplier, the size of the hardware is reduced, and the lateral filtering and the longitudinal filtering are alternately processed in the order in which the operation is completed, so that very effective image compression is performed.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0056772A KR100395614B1 (en) | 2000-09-27 | 2000-09-27 | Two dimensional discrete wavelet transformation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0056772A KR100395614B1 (en) | 2000-09-27 | 2000-09-27 | Two dimensional discrete wavelet transformation apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020024924A KR20020024924A (en) | 2002-04-03 |
KR100395614B1 true KR100395614B1 (en) | 2003-08-21 |
Family
ID=19690714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0056772A KR100395614B1 (en) | 2000-09-27 | 2000-09-27 | Two dimensional discrete wavelet transformation apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100395614B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101412964B1 (en) * | 2013-01-11 | 2014-06-30 | 한밭대학교 산학협력단 | Low area and high performance multi-mode 1D transform block for HEVC and data processing method using thereof |
KR102161613B1 (en) * | 2013-12-11 | 2020-10-05 | 엘지이노텍 주식회사 | Apparatus for generating depth map |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960028429A (en) * | 1994-12-13 | 1996-07-22 | 배순훈 | Image Coding Device Using Wavelet Transform |
KR970025174A (en) * | 1995-10-31 | 1997-05-30 | 배순훈 | Image Data Processing Device and Waveform Conversion Method Using Wavelet Transform |
KR19980047256A (en) * | 1996-12-14 | 1998-09-15 | 양승택 | Discrete Wavelet Transducer and Its Driving Method |
US5984514A (en) * | 1996-12-20 | 1999-11-16 | Analog Devices, Inc. | Method and apparatus for using minimal and optimal amount of SRAM delay line storage in the calculation of an X Y separable mallat wavelet transform |
KR20000056311A (en) * | 1999-02-19 | 2000-09-15 | 박래홍 | VLSI Architecture for the 2-D Discrete Wavelet Transform |
-
2000
- 2000-09-27 KR KR10-2000-0056772A patent/KR100395614B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960028429A (en) * | 1994-12-13 | 1996-07-22 | 배순훈 | Image Coding Device Using Wavelet Transform |
KR970025174A (en) * | 1995-10-31 | 1997-05-30 | 배순훈 | Image Data Processing Device and Waveform Conversion Method Using Wavelet Transform |
KR19980047256A (en) * | 1996-12-14 | 1998-09-15 | 양승택 | Discrete Wavelet Transducer and Its Driving Method |
US5984514A (en) * | 1996-12-20 | 1999-11-16 | Analog Devices, Inc. | Method and apparatus for using minimal and optimal amount of SRAM delay line storage in the calculation of an X Y separable mallat wavelet transform |
KR20000056311A (en) * | 1999-02-19 | 2000-09-15 | 박래홍 | VLSI Architecture for the 2-D Discrete Wavelet Transform |
Also Published As
Publication number | Publication date |
---|---|
KR20020024924A (en) | 2002-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3436832B2 (en) | Wavelet transform filter | |
US6215908B1 (en) | Symmetric filtering based VLSI architecture for image compression | |
JPS60500349A (en) | Image processing method using block overlap conversion procedure | |
US6996593B2 (en) | Filter processing apparatus and its control method, program, and storage medium | |
US5706220A (en) | System and method for implementing the fast wavelet transform | |
JPH08116265A (en) | Coding method, coding/decoding method and decoding method | |
US6591017B1 (en) | Wavelet transform method and apparatus | |
WO2007064341A2 (en) | Combined scaling, filtering, and scan conversion | |
JP3906630B2 (en) | Image encoding apparatus and method, and image decoding apparatus and method | |
US5828849A (en) | Method to derive edge extensions for wavelet transforms and inverse wavelet transforms | |
KR100395614B1 (en) | Two dimensional discrete wavelet transformation apparatus | |
US6182102B1 (en) | System and method for implementation of inverse wavelet transforms | |
EP1189145A2 (en) | Parallel inverse discrete wavelet transform | |
US7940991B2 (en) | Image signal processing apparatus | |
US8031782B2 (en) | Systems and methods for compression, transmission and decompression of video codecs | |
KR100629310B1 (en) | Apparatus, and associated method, for altering the resolution of a digital image | |
US20030198395A1 (en) | Wavelet transform system, method and computer program product | |
US20030190083A1 (en) | Image transformation apparatus and method | |
JP2004194224A (en) | Device and method for transforming wavelet | |
JP2001197499A (en) | Method and device for encoding animation, method and device for decoding the same, and method and device for transmitting animation | |
JP4700838B2 (en) | Filter processing device | |
US6751355B1 (en) | Wavelet image compression using quantization based on frequency ranges and absolute values in wavelet image compression | |
JP4217408B2 (en) | Filter processing device | |
WO2005008595A1 (en) | Implementation of the jpeg2000 compression algorithm in hardware | |
JP2001086506A (en) | Device and method for encoding image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120809 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20130910 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20140805 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20150908 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20170808 Year of fee payment: 15 |
|
LAPS | Lapse due to unpaid annual fee |