广义B帧GPB

380 阅读4分钟

HEVC通常有三种类型帧,I帧、P帧、B帧。

  • I帧:使用帧内预测。
  • P帧:使用单向帧间预测,参考帧来自前面已编码帧。
  • B帧:使用双向帧间预测,参考帧来自前面和后面已编码帧。

在HM中也为编码提供了三种配置:

  • All intra:所有帧都作为I帧编码。
  • Random access(RA):图像按层次结构编码,可以在约1秒内进行随机访问。
  • Low delay B(LDB):所有图像按播放顺序编码,除第一帧为I帧外,其余帧都是B帧,但是B帧参考图像都来自前面已编码帧。

Fig.1展示了RA和LDB配置的时域预测结构。RA配置专门针对需要随机访问的应用,例如广播、视频回播。LDB针对交互式实时通信,需要延迟更低,例如视频会议、视频电话。为了达到更低的延迟,LDB不允许参考后面的帧,如Fig.1(b),参考帧都来自前面。

LDB中的B帧称为广义B帧(GPB,generalized P and B)。和B帧一样,GPB也需要两个参考图像,但是其参考图像都来自前面(即参考图像POC小于当前图像POC) 。且GPB的两个参考图像列表也是完全一样,即对于任意索引n:ref_list0[n] == ref_list1[n]。但是GPB的两个参考帧却不必相同,它们可以来自两个参考列表的不同位置。注意:RA中也可以有GPB帧。

运动信息相同的情况

有些时候双向预测的两个运动信息指向同一个参考块,此时双向预测的结果和仅使用其中一个进行单向预测相同。

在一般情况下,当L0和L1中两个参考图像相同且两个mv相同时,运动信息相同。在GPB情况下,仅需两个参考帧索引和mv相同,运动信息就相同。因为GPB的两个参考图像列表是相同的,refIdxL0 == refIdxL1也意味着RefPicL0 == RefPicL1

上表中统计了RA和LDB配置下的:1)双向预测百分比。2)双向预测中运动信息相同的百分比。可以看见RA和LDB的双向预测百分比接近,分别为70.4%和71.0%,但是双向预测中运动信息相同的百分比相差很大,分别为1.8%和42.2%。

分析

由上表可见在LDB配置中,双向预测中运动信息相同出现的更频繁。主要有下面几个原因:

  1. 在LDB配置下除了第一帧其他都是LDB帧。
  2. HEVC中可以使用merge模式来进行运动信息传输,使得可以从时域和空域邻近块继承MV和参考索引。在时域merge模式中,当从前面帧(按解码顺序)同位PU继承运动信息时,为了减少复杂度两个merge候选项的参考索引都设为0。对于GPB帧,此时造成两个参考图像相同。
  3. 在HEVC中,有时进行时域MV预测时其同位参考块是单向预测的仅有一个MV0,此时将另一个MV1设置为等于MV0。
  4. 由于上面3条,LDB配置下时域merge模式很容易出现运动信息相同的情况。一旦双向预测运动信息相同的情况发生了,很容易通过空域merge模式传播。

Fig.3展示了merge模式双向预测运动信息相同时空域传播。运动信息和模式信息来自BasketballDrive序列的第15帧的第278个CTU,该序列使用LDB配置编码,QP=32。

上表是Fig.3中块A的merge候选列表。在Fig.3例子中,最终选择了表中merge_index == 1的候选项作为块A的预测。比较Fig.3(c)(d)容易发现块A两个运动信息相同,且通过merge传播到相邻的B、C、D、W、X、Y、Z块。

参考文献

Kim K , Kim H , Choi J , et al. MC Complexity Reduction for Generalized P and B Pictures in HEVC[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2014, 24(10):1723-1728.​

感兴趣的请关注微信公众号Video Coding