[XviD-devel] GME

Christoph Lampert chl at math.uni-bonn.de
Fri Jul 11 19:33:34 CEST 2003


Hi,

I'm not sure I get your point 100 percent, but at least I know about GME:

Tranlsational global motion (left to right) can be detected, but maybe
that's not what you want: 

a) GlobalMotionEst is called in encoder.c, it returns a 2 warp point
approximation of global motion derived from local motion vectors.
b) GlobalMotionEstRefine can be called afterwards to refine this to 3 warp
points.
c) if the components 1 and 2 of warp are (0,0) then motion is really
translational, and component 0 tells the vector. But this is not the only
case when the effect you describe happens, e.g. when zooming out, this
occurs at all four sides of the picture. 

Anyway, you don't really want global motion, do you? You want to detect
macroblocks which are only partially restored from the previous image and
are partly "new" because information "scrolled in". If the MB was
completely new it would most likely be INTRA coded, but for slower motion
you are right, the block becomes INTER and possibly of slower quality,
although the block edge padding is supposed to prevent this. 

But: Why not just use the local motion vector for this? If a block is
restored from a position which lies outside the regular image, lower it's
quantizer a little and see if that helps. It's faster and more accurate
than GME. 

gruel



On Fri, 11 Jul 2003, elcabesa wrote:
> hi 
> encoding some DVD i found that when camera is panning one side of image loose 
> quality, i think that GME information could be used to help xvid compressor
> 
> suppose camera is panning left, so the image will move from left to right!!
> the residual image to be coded after GMC e Motion compensation has lot of info 
> in his first left pixel
> _______________________
> |X					|
> |X					|
> |X					|
> |X		----->		|
> |X					|
> |X					|
> _______________________
> 
> 
> X  = big residual to be encoded
> 
> if you look some shene where cameri is panning you could see that zone not 
> helped by motion compensation  ( X ones) have a lower psnr
> NEXT frame has the same problem , but also the problem that MC move the X 
> macrobloch to right to compensate  motion and use that to calculate residual 
> image
> the result is a noisi image on left with noise that move form left to right on 
> screen,( after some macroblock this noise is masked )
> 
> i think that using GME info from this frame or form prevous frame  could help 
> if GME told me that camera is panning i could give to  mblock on left a lower 
> quantizator ( -2). this way you have fewer noise in the overall image
> 
> can someone told me how to take GME info and translate them in a BIG MOTION 
> VECTOR INFO??
> and then how can i change quantizer as lumimask does??
> 
> thank you
> _______________________________________________
> XviD-devel mailing list
> XviD-devel at xvid.org
> http://list.xvid.org/mailman/listinfo/xvid-devel
> 
> 



More information about the XviD-devel mailing list