[M4IF Technotes] Rounding of motion vectors for chroma?

Christoph Lampert chl math.uni-bonn.de
Fri Nov 1 13:56:16 EST 2002


On Fri, 1 Nov 2002, Mithun N wrote:
> hi christoph,,
> 
> when quarter pel is active, the max accuracy u can
> seek is
> 0.25 ..right???
> [...]
> Now these vectors which can go to the accuracy of
> 1/16 (0.0625) have to be rounded to the nearest
> halfpel resolution
> as given in the table 7.6 - 7.9.... since the
> result needs to be at a half pixel
> i hope this answers ur query...

Sorry, not really.
Of course I know that vectors have to be rounded and that table 7.6 to
7.9 should be used for that. But the exact method _how_ this is supposed
to be done is very unclear. 
If K=4 and the lumi motion vectors in quarterpel resolution,
chroma (mv[0]+mv[1]+mv[2]+mv[3])/(2*K) would be 32th-pel(!) 
This is not allowed (and there's no table for that), so the standard
talks about dividing quarterpel values by 2 before doing the prodecure.
(If I am not mistaken, this section has been changed between different
versions of drafts etc.)
So is rounding supposed to be a two-step process in quarterpel-inter4v 
mode? First devide by 2. Then use table 7-6? What rounding is used for the
first division by 2? 
Next, what about K=1? Then the result if mv[0]/2 is 8th-pel. 
Should the 8th-pel table 7-8 be used for rounding as the reference
software does (if I remember correctly)? Why isn't it two-step again? 
And why is the whole process so complicated, why isn't there simply
another table for 32th-pel to halfpel? 
Christoph 
> 
> -----Original Message-----
> From: technotes-admin   lists.m4if.org
> [mailto:technotes-admin   lists.m4if.org]On Behalf
> Of Christoph Lampert
> Sent: Wednesday, October 30, 2023 8:21 PM
> To: technotes   lists.m4if.org
> Subject: [M4IF Technotes] Rounding of motion
> vectors for chroma?
> 
> 
> Hi,
> 
> I have a question about rounding motion vectors,
> especially for
> chroma if quarterpel is active. I'll use a simple
> example.
> Consider a macro block in inter4v mode with
> luminance motion vectors
> mv[0] to mv[3] in halfpel or quarterpel
> resolution.
> 
> How do I calculate the motion vector for chroma
> from them?
> I know of course that it's
> mv[0]+mv[1]+mv[2]+mv[3] / (2*4)
> but how exactly is rounding supposed to be done?
> What I read from the
> standard about this is as unclear as possible.
> 
> Thank you in advance,
> 
> Christoph
> 
> --
> Christoph H. Lampert chl   math,uni-bonn,de | Diese
> Signature wurde maschi-
> Beringstr. 6, Zi. 15, 53115 Bonn, Germany | nell
> erstellt und bedarf
> Tel. (0228) 73-4708  Fax. +49 228 73-7916 | keiner
> Unterschrift. AZ 27B-6
> 
> _______________________________________________
> 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