HEVC参考帧技术

为了增强参考帧管理的抗差错能力,HEVC采用了参考帧集技术,通过直接在每一帧的片头码流中传输DPB中各个帧的状态变化,将当前帧以及后续帧可能用到的参考帧在DPB中都进行描述,描述以POC作为一帧的身份标识。因此,不需要依赖前面帧的DPB状态,从而增强了抗差错的性能。简而言之,每帧的第一个片中包含了一个RPS,由一组delta POC和是否用作当前帧/后续帧的参考这些标识信息组成,DPB根据片头中RPS的描述,对参考帧进行标记,例如POC = 4的B帧,只能参考POC = 0的I帧,其RPS 为poc = 3的B帧,可以参考poc = 4和poc = 2的. 的两个B帧,其RPS为 delta POC = -1,UsedByCurPic, delta POC = 1 Used by CurPic 若POC = 0 的I帧,不再出现在RPS中,则它被标记为unused for reference, 然后从DPB中移除。

参考帧RPS更新,

a) 在解码POC=1的帧前,DPB中有三个参考帧,分别是POC=0,4,2的帧。

b) 当接收到POC=1的片头中传输的RPS信息(描述了解码POC=1的帧时,DPB的状态,即POC=0和2的帧用作当前帧的short-term参考,poc=4的帧用作后续帧的参考)后,对DPB中的帧进行状态的标记,将POC=2和2的帧标记为Used for short-termreference,并且保留POC=0的帧,以用作后续参考,然后解码POC=1 帧,解码完成,将POC=1的帧放入DPB中,此时,DPB中有POC=0,4,2,1四帧。

c) 当接收到POC=3的片头传输的RPS信息(描述了解码POC=3的帧时,DPB中,POC=2和4的帧用作当前帧的short-term 参考,POC=0的帧用作后续的参考,POC=1的帧不再用作参考)后,对DPB中的帧进行状态的标记,将POC=2和4的帧标记为Used for short term reference 将POC=1的帧移出DPB,然后解码POC=3的帧,解码完成,将其放入DPB中,此时,DPB中有POC=0,4,2,3四帧。

3 RPS预测

从上述描述中可以看出,在用「POC值对参考帧进行身份描述时,不同帧的RPS中多个delta POC的值的差值是相同的,例如上例中,POC为1的帧的RPS描述中,delta POD分别是{1,3,-1}. POC为3的帧的RPS描述中,delta POC分别为3, -1, 1为delta POC之间的差值为2,因此,不通帧的RPS描述中,delta POC值仍然可以进行预测,即DeltaRPS = delta POC(RPScurr) - delta POC(RPSref) 以进一步减少传输代价。

你可能感兴趣的:(图搜索算法)