DSPRelated.com
Forums

challenge: how to do filtering in DCT domain?

Started by walala November 20, 2003
Dear all,

I guess this is a little simple... Don't largh at me if it is too simple...

Basicall I have a 3x3 filter, let's say [ -0.1 0.2 -0.1;
                                           0.2 0.6 0.2;
                                          -0.1 0.2 -0.1];
I want to do this in DCT domain...

I know convolution in spatial domain is multiplication in frequency
domain... but here the DCT domain is 8x8 block based DCT...

So please tell me how to compute the value of the 8x8 DCT coefficients which
is equivalent to doing 3x3 convolution in spatial domain? Detailed/example
is appreciated, since I am a little headache about some abstract papers...

Thanks a lot,

-Walala


On Thu, 20 Nov 2003 21:54:13 -0500, walala wrote:
> Dear all, > > I guess this is a little simple... Don't largh at me if it is too simple... > > Basicall I have a 3x3 filter, let's say [ -0.1 0.2 -0.1; > 0.2 0.6 0.2; > -0.1 0.2 -0.1]; > I want to do this in DCT domain... > > I know convolution in spatial domain is multiplication in frequency > domain... but here the DCT domain is 8x8 block based DCT... > > So please tell me how to compute the value of the 8x8 DCT coefficients which > is equivalent to doing 3x3 convolution in spatial domain? Detailed/example > is appreciated, since I am a little headache about some abstract papers...
The DCT does not have the convolution property of the DFT, so you're basically going to have to inverse-DCT back to the time domain, and then do a time or frequency-domain convolution. You might think that you can take a short-cut to transform the DCT into a DFT. If you do that, though, you'll discover that you are limited to one tap of coefficient, because of circular-convolution effects. You really need overlapping FFT fields, which brings you back to the first approach (start from the time domain.) Sorry wrong sort of "frequency domain". -- Andrew