When you encode to MPEG2 you have to set the GOP structure, this is
how many P and B frames (called delta frames) follow an I frame
( a keyframe), but with MPEG4 there is no need to use such a fixed and
pre-determined GOP, instead you can tell the MPEG4 codec at what
interval you wish to use a Keyframe, or instead of that you can tell
it to use a keyframe upon a certain % level of scene change.
I don’t understand why. Can anyone clarify it for me? Why GOP level
is needed?
Also a GOP header is optional. Few information is contained in a GOP
header.
Best Regards
Jogging
Hello,
the GOP determines how many frames will be encoded together eventually
in function of one another. It starts with an I frame (or keyframe)
that is an image encoded independently from the others; then there are
P frames whose difference from the previous frame are encoded and then
B frames, that use both previous and future frames.
Said this, the length of a GOP, or the % of keyframes, causes a
different type of compression. Using many P and B frames will obtain
good results for videos with very few sudden changes between a frame
and another, but in other cases too sparse keyframes could cause a
degeneration in the quality. Further, using complex GOP structures may
require more resources on both the encoder and decoder side. From what
you have written, it seems that in MPEG2 a fixed GOP structure must be
used in all the video (a typical MPEG2 GOP structure is IBBPBBPBBPBB)
while MPEG4 can compute a GOP structure adaptively with the different
chunks of the video, so you must only specify the density of I frames
that you want in the encoded video. Manipulating the GOP level you can
try to improve the quality of your video for a given bitrate.
So long,
Stefano
Thanks,Stefano
Why a GOP level is used in Mpeg2 and Mpeg4 bitstream? GOP no longer
exists
in H.264.
Regards
Jogging