Log in

View Full Version : Is it true that quadpel improve visual quality?


nilgosavi
26th December 2005, 10:25
i am developing wavelet based video codecs.i have implemented half pel,but i want to improve visual quality of picture ,can i go for quadpel to improve quality .Which interpolation is best for quadpel please help me?

bond
26th December 2005, 12:41
i am developing wavelet based video codecs.i have implemented half pel,but i want to improve visual quality of picture ,can i go for quadpel to improve quality .Which interpolation is best for quadpel please help me?imho in mpeg-4 asp qpel improves sharpness a lot
avc/h.264 always uses qpel

Kostarum Rex Persia
27th December 2005, 01:40
Anz idea about 1/8 frame motion search, exact double compared with qpel prediction?

I meant, qpel is two times simplier then opel (1/8 frame search).

I suppose, somewhere in 2008 H.264 will use this, and become H.264+ standard.

IgorC
27th December 2005, 02:04
qpel is not 1/4 of frame. Qpel - quarter pixel (1/4 pixel). 1/8 pixel in future? Hm .. I doubt.
Half of pixel 0.5 . Qpel (for exaple 0.25-0.75) already requires (usefull it or not it would spend approx 30-45 kbit/s for usual DVDrip resolution) some extra bits but increase sharpness usefully. Thatīs why for very low bitrate it sometimes better not to set Qpel.

1/8 pel will requeires even more bits. I don't know if it will be usefull trade on blockness/sharpness. Indeed Dev's commentaries are welcome. :)

Manao
27th December 2005, 09:11
h264 was planned initially with 1/8th pel motion compensation. It has been dropped ( except for the chroma ), because it lacked efficiency. A better motion precision doesn't allow a better sharpness ( that's the interpolation filter that sets the sharpness, hpel could be sharp if it was made to ), but it allows a better prediction, which means les bits will be taken by the dct coefficient. However, more bits will be taken by motion vectors. from halfpel to qpel, it's still worth it. But from qpel to 1/8th pel, it seems it doesn't.

bond
27th December 2005, 11:53
at least they could have given us the choice! :D

virus
27th December 2005, 20:03
h264 was planned initially with 1/8th pel motion compensation. It has been dropped ( except for the chroma ), because it lacked efficiency.
<nitpicking>
IIRC for chroma in 4:2:0 it's not really "1/8th pixel", but "1/8th sample". That is, along every axis you compute 8 values from the original sample. Given that in 4:2:0 each chroma sample is taken every two pixels, then 2 / 8 = 0.25 and so interpolated chroma planes are effectively "1/4th pixel" in resolution like luma.
</nitpicking> :p

(hope I'm remembering things correctly :))

Kostarum Rex Persia
28th December 2005, 03:35
Well, who knows, perhaps 1/8 pel become part of H264 in year 2008 or 2009? ( H.264+ )

Any idea how to further improve CABAC in H.264 standard, and visual quality on 200-350 kbps.

unmei
29th December 2005, 15:24
I doubt you can improve CABAC efficiency with it still being CABAC - but what we hopefully can look to in the future are faster decoders for it.

Romario
6th January 2006, 01:26
Well, H.264 format is still in early development, so let wait and see! Who knows, what future will bring to us?

MfA
6th January 2006, 16:58
AFAIK 1/8 pel was dropped for complexity, not performance.

Nilgosavi, you should read the papers here (http://www.tnt.uni-hannover.de/js/project/coding/video/motion_compensated_prediction/) (start with the one from Thomas Wedi).

PS. I think making better and better linear interpolation filters is completely missing the point. There is a fundamental mismatch between how images are captured and linear filtering.

PPS. I wonder how much the impression of sharpness for qpel is just a side effect of the ringing of the filter (it works a bit like unsharp).

vlada
6th January 2006, 21:19
Well, H.264 format is still in early development, so let wait and see! Who knows, what future will bring to us?
The specifications are already set for quite a long time. The standard is not in development anymore and it won't change.

mg262
11th January 2006, 13:37
PS. I think making better and better linear interpolation filters is completely missing the point. There is a fundamental mismatch between how images are captured and linear filtering.I've run across this while trying to do this kind of thing in AVISynth filters... but I've found it very hard to find the information needed to build a better model. You wouldn't happen to know of any sources describing how images are captured, would you?!

MfA
11th January 2006, 17:25
Not exactly, usually point spread functions are approximated as anisotropic gaussians (in linear colourspace of course). Though it's not really all that important to me, any good model would be too complex to be of use for making a filter :)

What I find relevant is that pixels are effectively area sampled. Not point samples on a bandwith limited signal, that's not how cameras work and that is not how our own visual system works. The effect that has on stuff like resampling is often lost on people, even those who should know better. The amount of times I have seen it said that the Sinc doesn't work out to be the ideal resampling filter because the extent is not infinite in practice is sad.

mg262
11th January 2006, 18:13
Thanks for the reply!
What I find relevant is that pixels are effectively area sampled. Not point samples on a bandwith limited signal, that's not how cameras work and that is not how our own visual system works.I've seen that pointed out more than once... but note that is equivalent to a (real line, not integer) convolution followed by point sampling; thinking of it the latter way makes a lot of problems look more tractable.

Something I've been meaning to do for a long time is to take a perfect zoom (no internal motion -- not hard to find in animation, which is my main area of interest), and use a Fourier transform to extract the camera sampling kernel empirically... but of course this assumes that the various layers of (probably tape) transmission between source and DVD haven't messed things up too much. Edit: and also assuming that the sampling kernel is the same for all zoom factors... which is a big assumption. (That's the kind of thing I searched for information on.)

MfA
12th January 2006, 05:37
Looking at it as a point sampled signal doesn't help, since from a conventional point of view you just end up with a whole lotta aliasing. Talking about it in terms associated with filtering on critically sampled signals just reinforces bad habits in people ...

As long as there is any motion for which you have a good description you could simply assume a higher resolution ground truth and extract an overdetermined set of linear equations to find the PSF. I just don't see the point though ... it's not really relevant to the kind of ad hoc algorithms Im interested in.

Just googling for ccd and point-spread-function seems to provide decent results. For a CCD it is roughly a box shape, with tapered edges and lots of spikes.

mg262
12th January 2006, 14:14
Looking at it as a point sampled signal doesn't helpThe standard reconstruction kernels (bilinear, bicubic, etc) behave as approximate inverses to point sampling; while they clearly aren't 'right', I haven't to date seen anything robust that seems better. So thinking of sampling as convolution + point sampling allows you to reverse the process by applying a standard reconstruction kernel and then the appropriate real-line (de)convolution. You can then apply whatever operation you're interested in -- e.g. scaling -- to your real function, and then apply the camera forward convolution again before point sampling. [Since everything is linear, you will get a linear discrete operation out of this, and you can zero small coefficients to make it run at a sane speed.] I haven't referred to frequency at all because I think it's a red herring in this context... but I think we're on the same wavelength on this.

Talking about it in terms associated with filtering on critically sampled signals just reinforces bad habits in people ...Fair enough.

Just googling for ccd and point-spread-function seems to provide decent results.'Point spread function' isn't a phrase I'd heard before... but like you say it seems to be exactly what I need to find info. Thank you very much!

Edit:
As long as there is any motion for which you have a good description you could simply assume a higher resolution ground truth and extract an overdetermined set of linear equations to find the PSF.That's true; but apart from pure zooms the best candidates are pure pans, and it's not easy to obtain accurate subpixel motion vectors for pure pans...

MfA
12th January 2006, 19:16
Without knowing the extent of the errors you are introducing thinking that using a physical PSF for deconvolution will get you closer to the ground truth is hopefull thinking at best. My guess is that simply directly using your favourite linear interpolation and unsharp with visually tweaked parameters will perform equally and look better.