[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