[XviD-devel] Smoothening of the vector field

Radek Czyz xvid-devel@xvid.org
Sun, 15 Dec 2002 23:10:13 +1030


Hello,

Sunday, Christoph wrote:

> I would therefore like to see an option for smoothening the vector field
> after ME: In a second pass one tests for each MV if the current vector
> really is that much better than the one of it's left and right neighbours.
> Somehow this is done in normal ME already, because search starts with
> prediction of left, top and topright vectors. But that does not consider
> blocks to the right and botto, of course.

I was experimenting with something like that in second-pass hinted
search, quite a long time ago. There was no success, but then again I
didn't try that hard ;).

> Also, there is also code that favours (0,0) in order to increase the
> number of not_coded (SKIP) blocks. It seems that when there are large flat
> areas, this causes the vector field to always skip between (0,0) and the
> large vector of "real" motion.

> So again, either we have to _not_ favour SKIP during normal ME, and check
> for more skip possibilities later (including the length of vectors that
> _have_ to be coded, if the current block is skipped), or we leave ME as it
> is and then remove SKIPs later when we know what the next vectors are
> going to.

I'm in the middle if trying the first approach - not doing any SKIP
during ME, and then making the decisions on the basis of _real_ bit
gains and loses. I'm pretty happy with the results now - SKIPping can
sometimes increase number of bits needed, and this approach can
find the cases easly.
Still work in progress :)

Radek