[Mp4-tech] Question About H.264/AVC ---- POC
Tourapis, Alexis
Alexis.Tourapis dolby.net
Thu Dec 22 11:18:14 ESTEDT 2005
Dear Ming
As it is stated in the standard text:
"Picture order counts are used to determine initial picture orderings
for reference pictures in the decoding of B slices (see subclauses
8.2.4.2.3 and 8.2.4.2.4), to represent picture order differences between
frames or fields for motion vector derivation in temporal direct mode
(see subclause 8.4.1.2.3), for implicit mode weighted prediction in B
slices (see subclause 8.4.2.3.2), and for decoder conformance checking
(see subclause C.4)."
To simplify the above, see this as mainly a parameter inside the codec
that defines the dependencies in terms of picture ordering within the
codec. Note that the codec provides you great flexibility on how to use
this parameter.
In any case, the reason why the codec seems to be assigning POCs by
increments of 2 lies in field coding support. I believe that this case
was adopted in the software in an effort to "generalize" the
implementation and avoid having to handle one more case in it (i.e. is
this a frame only coding case, or adaptive frame/field). Basically, if
you examine all cases affected (direct modes, wp etc) you will notice
that there is hardly any difference if POCs were instead set as 0, 1, 2,
3 versus the values you are seeing (2*0, 2*1, 2*2, 2*3,...).
With regards to question 3, I am assuming you are not talking about the
reference software anymore. In certain places/documents where this is
used (or at least where I may have used myself) uppercase implies frames
used as references, while lowercase ones are non referenced frames. I.e.
the IbP case you mention means that I and P are frames coded using I and
P slices and will be added considered as references, but b is a frame
coded using b slices but will not be flagged as a non-reference frame.
Note that H.264/AVC allows marking of frames/pictures of any type (coded
using I/P/B or mixture of slices) as references or non references which
is quite different from older standards. In any case, maybe you could
elaborate where you have encountered this notation.
Best regards,
Alexis
________________________________
From: mp4-tech-bounces lists.mpegif.org
[mailto:mp4-tech-bounces lists.mpegif.org] On Behalf Of Ming Yang
Sent: Tuesday, December 20, 2023 7:00 PM
To: mp4-tech lists.mpegif.org
Subject: [Mp4-tech] Question About H.264/AVC ---- POC
Dear all:
I have some questions about H.264/AVC JM10.1:
(1) What does POC mean in the decoder output?
(2) What does POC Gap mean?
(3) What does IPP /IbP/IpP mean?
(4) Howcome the output frame #s are always:
0000
0002
0004
0006
........
they are not consecutive numbers no matter how I set IntraPeriod,
FrameSkip, and NumberBFrames. Even if the original video sequence is
encoded as all I-frames, the output is still like this.
Can anybody explain this to me? Thank you very much.
Ming
-----------------------------------------
This message (including any attachments) may contain confidential
information intended for a specific individual and purpose. If you are
not the intended recipient, delete this message. If you are not the
intended recipient, disclosing, copying, distributing, or taking any
action based on this message is strictly prohibited.
More information about the Mp4-tech
mailing list