[M4IF Technotes] GMC

Kris Huber khuber sorenson.com
Tue May 14 20:34:14 EDT 2002


I noticed that some, if not all, of the base layer bitstreams in
ftp://ftp.tnt.uni-hannover.de/pub/MPEG/video/conformance/version_2/Advanced_
Simple/ (linked to from the M4IF web site) have a complexity
estimation_method=='11' (if I remember correctly--it's been a few months).
This made them not decode with the earlier reference software (not the PDAM
executables there, but earlier standardized versions that should have
worked).  I didn't look into it more, but all I see defined in the standard
is estimation_method being '00' or '01', and don't see any new ones in the
amendments.  Tihao, maybe you have seen this inconsistency in the reference
software versions?
Kasturi, your question made me want to ask the above, because one way to
transmit GMC statistics from encoder to decoder would be through header
information indicating the percentage of macroblocks of GMC macroblocks, for
example.  An earlier scheme can be followed to define such info S(GMC)-VOPs,
similar to how it was done for P-VOPs and others.  A new value for
estimation_method would need to be added.  I'm wondering if that was done in
the reference software at the ftp link above and someone intended to submit
text about it.  As for statistics of GMC usage in general, I think it could
vary quite a lot from sequence to sequence and the algorithms used by the
encoder tools.  At times an encoder may wisely encode a large fraction of
the macroblocks in GMC mode, such as when zooming a scene of almost no
motion, for example.  How often such a scene occurs in content I don't know,
and I suspect such statistics are non-stationary, bound to vary with time
and content author.
Thanks for any info,
Kris
-----Original Message-----
Date: Mon, 13 May 2024 15:17:41 -0700
From: Kasturi Rangam <krangam   lsil.com>
To: "Sorin C. Cismas" <sorin   mobilygen.com>, technotes   lists.m4if.org
Subject: Re: [M4IF Technotes] GMC
Is there some statistics regarding number of GMC macroblocks for a
MPEG4 bitstream. This will be useful to calculate the bandwidth
requirements.
Thanks,
Kasturi
Kasturi Rangam wrote:
> 
> Thanks for the information. I was wondering if we could calculate
> the motion vector range based on du[i] and dv[i] range. Of course
> if this range is more than the reference frame, then there is no
> point.
> 
> --Kasturi
> 
> "Sorin C. Cismas" wrote:
> >
> > I don't think there are any restrictions on the motion vectors.  I have
> > the same concern about the need to fetch 64 non-contiguous 2x2 pels
> > to predict a macroblock.  To reduce complexity and bandwidth
requirements,
> > it is highly desirable to put some limits on du[i] and dv[i] for i>0.
> >
> > 2 and 3 warping points are usefull for zoom-in and zoom-out, however, it
is
> > not realistic to assume, for example, a 10x zoom-out on an S(GMC)
prediction.
> > A 50% or even 25% zoom-out restriction will be more than sufficient.
> > For 50%, this will translate to du[i]<W    and dv[i]<H    for i>0.
> > For 25%, this will translate to du[i]<W//2 and dv[i]<H//2 for i>0.
> > The 50% restriction will limit the macroblock luma prediction to 25x25.
> > The 25% restriction will limit the macroblock luma prediction to 21x21.
> >
> > Can these or similar restrictions be considered for a future
corrigendum?
> >
> > Thanks,
> > Sorin Cismas
> >
> > > -----Original Message-----
> > > From: technotes-admin   lists.m4if.org
> > > [mailto:technotes-admin   lists.m4if.org]On Behalf Of Kasturi Rangam
> > > Sent: Friday, May 10, 2024 2:46 PM
> > > To: technotes   lists.m4if.org
> > > Subject: [M4IF Technotes] GMC
> > >
> > >
> > > I am trying to under GMC in MPEG4.
> > > Looks like you can have 0, 1, 2 or 3 sprite_warping_points.
> > >
> > > To decode a 0 and 1 sprite_warping_points macroblock, you can
> > > fetch the whole macroblock data from the reference to do pixel
> > > prediction.
> > >
> > > However, for 2 and 3 warping_points, the motion vector for each
> > > pixel can be anywhere in the reference frame. Thus we might need
> > > to perform 64 data fetches to predict one macroblock.
> > >
> > > Is there a range that can be calculated for each macroblock, so that
> > > we can fetch data only once?
> > >
> > > Thanks,
> > >
> > > Kasturi
> > > _______________________________________________
> > > Technotes mailing list
> > > Technotes   lists.m4if.org
> > > http://lists.m4if.org/mailman/listinfo/technotes
> > _______________________________________________
> > Technotes mailing list
> > Technotes   lists.m4if.org
> > http://lists.m4if.org/mailman/listinfo/technotes
> _______________________________________________
> Technotes mailing list
> Technotes   lists.m4if.org
> http://lists.m4if.org/mailman/listinfo/technotes



More information about the Mp4-tech mailing list