[Ffmpeg-devel-old] Re: [Ffmpeg-devel] Snow motion blocks
Mon Apr 18 18:26:26 CEST 2005
On Fri, 2005-04-15 at 14:04, Tuukka Toivonen wrote:
> If you have SSD(x,y) (sum of squared differences, which is closely related
> to PSNR) for a reference block at integer MV (x,y) then the SSD at
> (x+1/2,y) after bilinearly interpolating the reference block into half
> pixel location is actually SSD(x,y)/2 + SSD(x+1,y)/2 - D(x,y)/4
> where D(x,y) is the squared sum of differentials at the reference blocks...
> in other words, it is the difference after subtracting the two reference
> blocks at integer pixels locations. If the blocks are very similar,
> D is small, but if the picture has noise, the D term is large, and
> therefore SSD is much smaller and PSNR higher at the half-pixel location.
... but SSD(x,) and SSD(x+1,..) will raise accordingly, if
there's noise. So i doubt the SSD is always lower. You have
to be more precise: SSD(x,..) is stained with temporal noise,
whereas D(x,y) is about spatial noise. Imagine the extreme
case where noise is added every two frames...
Anyway, it's sure bilinear interpolation washes out small
spatial noise, but i'm sure there's better denoising filter
> That about the mathematical explanation... details are in
> (sorry for the ad :)
I'm surprised by your results. I've tried the converse:
extrapolate the off-pel position that yields the lowest
interpolated SAD. But whereas the analytical calculations
gives exact results for real numbers, the experiments were
disappointingly bad, because every approximation that departs
from the exact (integer based) syntax ruins the coding
Details at: http://skal.planet-d.net/coding/interpolation.html
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Ffmpeg-devel mailing list
Ffmpeg-devel at lists.sourceforge.net
More information about the ffmpeg-devel