[x264-devel] Block DCT query

Gabriel Bouvigne gabriel.bouvigne at joost.com
Tue Mar 17 10:41:01 CET 2009


Ajit Deshpande a écrit :
> Hello,
>    I am doing some basic Matlab simulations on DCT used in Video 
> Compression. I have following questions arised out of that:

This is not really related to x264, is it?

> 1.) In a 16x16 MB , if one does a 8x8 size block DCT (4-times) for that 
> MB in first case and a one shot 16x16 size block DCT in second case, 
> Will the reconstructed block at the decoder will have same/similar 
> values in both cases?

An integer dct is lossless, while a floating point dct is usually lossy 
because of roundings.
Now, if you are just using an iDct, there will be no loss, and thus 
reconstructed will be identical UNLESS you are quantizing the dct 
results. (in most perceptual compression schemes, it is not the 
transform which is lossy but the quantization of the results of the 
transform)

Btw, there is no 16x16 transform within h.264.


> 2.) Which case would there be any benefit in terms of lesser residue, 
> lesser bits needed for coding etc?

Sometimes one would be better, sometimes the other one would be better.
For "flat" residues, a bigger transform is usually better, while for 
"transcients" a smaller transform is usually better.

> 3.)  Will this analysis of block DCT also hold true for other transform 
> like the integer transform used in H.264 codec?

Likely

--
Gabriel


More information about the x264-devel mailing list