分层B帧码预测结构

分层B帧预测结构由德国HHI实验室提出,具有良好的编码性能,相比H.264/AVC标准的传统编码结构IBBP,分层B帧预测结构能够进一步提高编码效率,因而被JVT选作多视点视频测试软件JMVC的参考预测结构。

分层B帧预测结构

结构

一个视频序列由多个图像组(GOP)组成,一个GOP可以包括I帧、P帧和B帧三种类型的帧,分别采用帧内预测、帧内/单向帧间预测、帧内/双向帧间预测方式进行编码。
一个GOP由一个关键帧(通常为I帧或P帧,显示顺序位于非关键图像之后)和一组非关键帧(B帧)构成。关键帧采用帧内编码方式有利于随机访问,使用预测编码可以得到较高的编码效率。非关键帧预测关系如下图所示,一般情况下一个GOP包含8帧,前7帧为非关键帧B帧,最后一帧为关键帧I/P帧。注意序列的第一帧不属于任一GOP。
分层B帧码预测结构_第1张图片
图像按照当前帧与其时间参考帧的时间间隔长短分成不同的时间层(Temporal Layer,TL),不同颜色的B帧处于不同的时间层。下图更清楚的展示了这种时间分层关系。
这里写图片描述
第1-8帧属于一个GOP,第0帧不属于任何GOP。可见第0帧和第8帧为关键帧,其时间层最低,设为TL=0。非关键帧分为了3层,第4帧位于TL=1层,第2帧和第6帧位于TL=2层,第1、3、5、7帧位于TL=3层。

编码顺序

在分层的预测结构中图像编码顺序和显示顺序是独立的。处于高时间层的B帧可以使用低于其时间层的已编码帧作参考。关键帧的编码顺序和显示顺序相同。非关键帧在H.264中按照其所处时间层顺序从低至高进行编码,在3D-HEVC中则再此基础上增加了二叉树深度遍历进行编码。显示则按照实际的图像顺序进行显示。
以图中为例,H.264中的编码顺序为(数字表示第几帧)0-8-4-2-6-1-3-5-7,即按照时间层由低到高依次编码。而HEVC中的编码顺序为0-8-4-2-1-3-6-5-7,非关键层的编码以二叉树深度遍历顺序进行。
使用分层B帧预测结构具有良好的时域可伸缩性。所有关键帧组成的序列时域分辨率最低,随着时域层数的增加,序列的时域分辨率逐渐提高。

基于分层B帧的视点间预测和时域预测相结合的预测编码结构

MVC中使用了基于分层B帧的视点间预测和时域预测相结合的预测编码结构,如下图,在分层B帧的基础上增加了视点间的预测。
分层B帧码预测结构_第2张图片
每个视点中GOP的长度均为8,对每个视点在时间方向上采用分层B帧结构进行预测,在视点方向上,使用IBPBPBPP视点间预测结构。V0为基础视点(Base View)仅使用时间预测,不使用视点间预测;其它视点为非基础视点(Non-base View),使用时间预测+视点间预测。V2、V4、V6仅对关键帧使用视点间预测,V1、V3、V5、V7的关键帧和非关键帧都可以使用视点间预测。

你可能感兴趣的:(视频编码,h.264,视频编码,预测)