[XviD-devel] GME and Block ME
Michael Militzer
michael at xvid.org
Tue Apr 22 16:18:32 CEST 2003
Hi,
Quoting Christoph Lampert <chl at math.uni-bonn.de>:
> On Fri, 18 Apr 2003, Radek Czyz wrote:
>
> > Hi everyone,
> >
> > gruel wrote:
> > > Currently, I "solve" this by using _two_ block searches, one
> pre-analysis
> > > before GME and the ordinary after GME. I can't just use MEAnalysis (for
> > > B-frame decision) as pre-analysis, because it's too coarse. I need at
> > > least 16x16 blocks in halfpel resolution, so just ordinary ME, except
> for
> > > 4MV. With MEAnalysis this make 3 step of block ME... suboptimal!
> >
> > > Is anyone interested in a small discussion about how to get rid of this
> > > double/trippe work? Syskin perhaps?
> >
> > After one day of thinking, I really didn't come up with anything...
> > So let me just ask you, how bad MEAnalysis is? I never checked it ;)
> > How bad would it be to follow it with halfpel refinement? This can
> > only be done in FrameCodeP, because we don't have halfpel-filtered
> > pictures available during p/b/i decision. We could also peform the
> > motion search for all edge macroblocks, because we have edges then (we
> > ignore all edge MBs during decision, not only because edges are not
> > available, but also because it could be difficult to find good motion
> > for them for example in case of camera panning).
>
> 32x32 blocks is too coarse (I believe), at least in low sizes (352x288 and
> below). I rather think we should do a good MEAnalysis and reduce later ME
> instead of doing a coarse MEAnalysis and full ME.
ok, unfortunately I'm lacking a deeper understanding of GMC so I can't help you
here. Anyways, 3x ME (2x Block- and 1x GME) to allow GMC sounds not really
optimal...
I wonder why do we perform this coarse MEAnalysis at all? Couldn't we simply do
a full and precise ME step including halfpel instead? So in case we'd decide
the current frame should become a P-frame, we would be finished already without
any additional work needed. In case we code the frame as b-frame, we can store
the results and then don't need to perform forward ME anymore when coding the b-
frame.
BTW: gruel, why do you need a precise ME, then GME, followed again by precise
ME? Why is precise ME + GME no sufficient? Wouldn't it be possible to somwhow
merge the steps or at least to somehow speed-up the final block search?
Would it be sufficient to first do a precise ME (but without refinement), then
GME, then do an additional search using the GME result as predictor and finally
perform the refinement step?
bye,
Michael
More information about the XviD-devel
mailing list