[M4IF Technotes] macroblock in B-VOP with co-located block SKIPed
Scott Anderson
scott sorenson.com
Wed Jul 24 17:58:20 EDT 2002
Christoph and all,
Our MPEG-4 project lead at Sorenson, Richard Shields, noticed the same
shortcoming this week. A SKIPed B-VOP block could be wrong.
> Isn't there a way to _do_ encode a motion
> vector, or at least cbp and residue?
I don't see a way, with the given MPEG-4 syntax.
One possible quick fix would be to not allow not_coded macroblocks within
P-VOPs when encoding B-VOPs. This would stop the SKIP in the B-VOP.
Perhaps a better fix would be to compare the block in the backward reference
P-VOP to the block in the B-VOP(s) while encoding the backward reference
P-VOP. If there is significant difference, don't allow the P-VOP to declare
the macroblock not_coded.
Are there any other suggestions out there?
Thanks,
Scott Anderson.
-----Original Message-----
From: technotes-admin lists.m4if.org
[mailto:technotes-admin lists.m4if.org]On Behalf Of Christoph Lampert
Sent: Wednesday, July 24, 2023 11:49 AM
To: technotes lists.m4if.org
Subject: [M4IF Technotes] macroblock in B-VOP with co-located block
SKIPed
Hi,
from what I read and saw in the reference implementation, a macroblock in
a B-VOP whose co-located block is skipped is _always_ encoded as
FORWARD mode with motion vector (0,0).
I also see that no modb, mb_type, cbp or dbquant information are saved
because the decoder known about the co-located block already.
So in fact the B-VOP block is SKIPed, too, because it's a just a copy of
the previous macroblock.
My question is: What if that's wrong? What if the block is not supposed to
be skiped in the B-VOP, e.g. because there is something like a fast
moving object which enters the block just for this particular moment.
It could be something like background -> object -> background
with GOP "PBP" where the second background is the same as the first,
so the co-located block is indeed skiped, but the object somehow has to be
encoded, too.
To me the method looked like a _must_ Isn't there a way to _do_ encode a
motion vector, or at least cbp and residue?
Christoph Lampert
P.S. Sorry if this mail was sent more than once. I had trouble with the
mail program, of course...
--
Christoph H. Lampert chl math.uni-bonn.de | Diese Signature wurde maschi-
Beringstr. 6, Raum 14 Tel. (0228) 73-2948 | nell erstellt und bedarf
Sprechstunden: keine, aber meistens da | keiner Unterschrift. AZ 27B-6
_______________________________________________
Technotes mailing list
Technotes lists.m4if.org
http://lists.m4if.org/mailman/listinfo/technotes
More information about the Mp4-tech
mailing list