The GOP structure with two consecutive non-used-for-reference B frames (IPbbPbbPbb…) is widely used in various applications.
In the figure above lines denote “refering to”.
What are pros and cons of such GOPs?
Cons:
1) Distance between two successive P-frames is two leaps in frames. Consequently, the coding efficiency deteriorated.
2) One of references of each B-frame is not nearest. Hence, the coding efficiency deteriorated.
Pros:
1) Easy to parallel encoding and decoding processes at frame-level. Because two successive non-reference B-frames are independent each another, hence they can be encoded and decoded in parallel.
Approximately 2/3 frames in the GOP – IbbPbbPbbP…. are B frames. Let’s assume that the average processing time of a single frame is T and GOP length in frames is N.
Without parallelization the whole GOP processing time is NxT.
With processing B-frames in parallel the GOP processing time is approximately 1/3NxT + (2/3NxT)/2 = 2/3NxT
The GOP processing speed is increased by 1.5x times if non-reference B-frames are processed in parallel.
2) Enhancement in Error Resilience: if a bitstream error or packet loss or too-late packet incurs a B-frame corrupted then visual impairments are “locked” within this frame and they are not temporally propagated (since B-frames are not used for reference).
3) Bitrate Adaptation by stream thinning: in case of network jams Middle Box can safety discard non-reference B-frames from a stream without a risk of incurring severe and long-term visual distortions, only jerkiness effects can be visible.
Penalty in bit-sizes of using IPbbPbb over IPbPb, the latter GOP structure is more coding efficient since distance between P frames is only single frame leap, each B-frame has nearest references.
I use x265 in constant QP mode (QP=25), closed GOP = 30 frames:
on container yuv sequence (384×320, 300 frames): a penalty (in bit-size) of using IPbbPbb against IPbPbP is ~6%.
on akiyo sequence, (384×320, 300 frames): a penalty is ~3.5%
x265 command line for IPbPb:
x265 –input akiyo_384x320.yuv –input-res 384×320 –fps 30 –b-adapt 0 -b 1 –ref 1 –no-scenecut –keyint 30 –min-keyint 30 –repeat-headers –qp 25 -o testa_ipb.h265
for IPbbPbbP:
x265 –input akiyo_384x320.yuv –input-res 384×320 –fps 30 –b-adapt 0 -b 2 –no-b-pyramid –ref 1 –no-scenecut –keyint 30 –min-keyint 30 –repeat-headers –qp 25 -o testb_ibb.h265
23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents).
the author is looking for new job, my resume
I discovered your blog site on google and check a few of your early posts. Continue to keep up the very good operate. I just additional up your RSS feed to my MSN News Reader. Seeking forward to reading more from you later on!…
I am constantly thought about this, regards for posting.
You have noted very interesting details ! ps decent internet site.
I have been browsing online more than three hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. Personally, if all site owners and bloggers made good content as you did, the internet will be much more useful than ever before.
You have remarked very interesting points! ps nice website.
You really make it seem so easy with your presentation but I find this matter to be actually something which I think I would never understand. It seems too complex and extremely broad for me. I am looking forward for your next post, I will try to get the hang of it!
I’ve been surfing online greater than 3 hours today, but I never discovered any interesting article like yours. It’s lovely value sufficient for me. In my view, if all website owners and bloggers made good content material as you probably did, the web might be much more useful than ever before.
It’s really a nice and helpful piece of information. I’m glad that you shared this helpful information with us. Please keep us up to date like this. Thanks for sharing.
There is noticeably a bundle to know about this. I assume you made certain nice points in features also.
I savour, cause I discovered just what I used to be taking a look for. You’ve ended my 4 day long hunt! God Bless you man. Have a great day. Bye
I dugg some of you post as I cogitated they were invaluable very useful
Enjoyed looking at this, very good stuff, appreciate it.
Thanks for all your efforts that you have put in this. very interesting information.