[XviD-devel] SAD of last visited neighbour positions

Michael Militzer xvid-devel@xvid.org
Mon, 21 Oct 2002 19:21:40 +0200


Hi,

----- Original Message -----
From: "Marco Al" <m.f.al@student.utwente.nl>
To: <xvid-devel@xvid.org>
Sent: Monday, October 21, 2002 6:59 PM
Subject: Re: [XviD-devel] SAD of last visited neighbour positions


> Michael Militzer wrote:
>
> > The whole thing might become even more interesting for qpel: Currently
we're
> > using image based interpolation for the halfpel positions using a 6tap
> > low-pass filter (as proposed by the JVT specs). In my tests this seemed
to
> > be a pretty good approximation (at least for ME), however since I made
> > several changes to the interpolation (MC) code  since then, I feel I
should
> > redo these tests. Maybe the correct way (block-based interpolation using
the
> > 8-tap low-pass filter for calcualting the halfpel positions during the
ME
> > step) will give better results now. If so, a fast block-based refinement
> > will give a substantial speed improvement here, since the needed
> > interpolated pixels are much harder to calculate in qpel than in halfpel
> > mode...
>
> Shouldnt that be the other way around? The more computations needed for
> interpolation the less a block based approach will get you right? (Since
you are
> basically trading extra computations for less memory accesses, so the more
> computations the worse the deal.)

yes, this is correct. However we do not have the choice between block- and
image-based interpolation using the MPEG-4 low-pass filter due to the block
boundary mirroring that is used here. An image-based interpolation approach
will give incorrect results. It is possible that this effect is tolerable
(and early tests have shown that it is), however since I changed quite some
things in the meantime it is possible that the results of my early test are
not valid anymore and that higher quality/better results can be achieved by
block-based interplation (which is the correct way). In this case we'll have
to switch to block-based interpolation and then it would of course have a
major impact on speed if we could manage to decrease the number of blocks
that need to be interpolated...

bye,
Michael