[M4IF Technotes] Range of Motion vectors.

Kris Huber khuber sorensontech.com
Mon Dec 17 10:53:03 EST 2001


Hello Biju,
The detailed explanation is given in clause 7.6.3 of the ISO/IEC 14496-2.
Look for the corrigenda or use the 2001 version, which has the corrigenda
text included, for added clarity in the explanation.  
Based on your summary of MPEG-2 motion vector ranges, MPEG-4 and MPEG-2
motion vector decoding are not identical.  In particular, in MPEG-4 there is
no vop_fcode which indicates a range as small as [-8:+7.5].  I am confused,
however, by your use of a non-integer value in the upper limit of this
motion vector range.  If the numbers are expressed in half-pel units as you
state, then +7.5 is a quarter-pel position.  I did not believe MPEG-2
included quarter-pel motion compensation.  Am I wrong?
For MPEG-4, the size of the possible search range is indicated in Table 7-5.
The intervals given there specify the range around each component of the
motion vector (0,0), so the search range is a rectangular region roughly
centered around (MVx, MVy)=(0,0).  Note that the region is not centered
around the predicted value of MV (Px,Py), nor the differential MV (MVDx,
MVDy).  Because of this, the useful search region depends only upon the
value of vop_fcode_forward and/or vop_fcode_backward (specifically, it is
not dependent upon the surrounding MV's).  Also note that it is possible to
reference pixels a large distance outside of the VOP boundary, in which case
the motion-compensated prediction data is based on extension of the boundary
pixel data.  In MPEG-4 the MV decoding process is generic; it is the same
for all motion vectors (e.g., 8x8, 16x16, GMC, sprite, interlace,
bidirectional, etc.) except that the calculation of the MV prediction vector
may be different.
Chau (this is the spelling I'm familiar with),
Kris
-----Original Message-----
From: Biju Ravindran [mailto:ravi_biju   yahoo.com]
Sent: Monday, December 17, 2023 2:54 AM
To: technotes   lists.m4if.org
Subject: [M4IF Technotes] Range of Motion vectors.
Hi,
     Could anybody explain in detail about how the
range of motion vetcors is definied?
In Mpeg-2 the range is given as
[-8:+7.5],[-16:+15.5],[-32:+31.5],[-64:+63.5],....[-2048:+2047.5].
Normally if we take a 16x16 macro block the motion
vectors will be in the range [-8:+7.5] in half pel
res.
       + . + . + . + . + . +
                -1 0 1 2 3 4     
       where,
            + integer pel position.
            . half-pel position.
What would be the search radius for other ranges such
a 16,32,64...2048? What could be the size of
macroblock in these cases and how the ME is found?
=====
ciao,
-biju
__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com
_______________________________________________
Technotes mailing list
Technotes   lists.m4if.org
http://lists.m4if.org/mailman/listinfo/technotes


More information about the Mp4-tech mailing list