H265的参考帧理解

1.为什么要分短时参考帧short-term reference和长时参考帧long-term reference

       参考https://blog.csdn.net/vbLittleBoy/article/details/8179101中所述,因为short term参考帧以frame_num做为索引,而frame_num是有最大值的,达到最大值后会进行取模,所以短期参考帧不能长期存在于参考列表中,因为一旦frame_num达到最大值后取模为0,该索引就失去意义了,而长期参考帧则不同!

2.参考图片列表重构

       指用多个已经解码的图片预测当前图片的slice。

3.参考图像列表

       对于每个PU,参考图像的选择是通过一个指向参考图像列表(RPL)的相关的reference index完成。有两个RPL(list0和list1)被重构来预测当前图片。两个列表的参考图像选择可能不同。

4.RPL中图片的选择和排序(两步完成)

       (1)初始RPL(init RPL)重构完成(按照以下顺序排列)

                1.POC值小于当前图片的短时参考帧

                2.POC值大于当前图片的短时参考帧

                3.长时参考帧

       (2)最终的RPL是一个有着num_ref_idx_10_active_minus1+1个入口的图片数组,其中num_ref_idx_10_active_minus1是slice层的语法元素,表示list0或1可能用来解码当前slice的参考图片数量。默认情况下,final RPL会通过复制Initial RPL的num_ref_idx_10_active_minus1+1个入口来生成,如果NumPicTotalCurr比final RPL的长度要大,则initial RPL中的后几个入口(指参考图片)会被丢弃,不会出现在final RPL中;如果NumPicTotalCurr比final RPL的长度要小,则initial RPL会被重复直到所所有的final RPL的entries入口会被填满。

5.NumPicTotalCurr

          指4中Initial RPL参考图片的总数量。

7.RPLM(reference picture list modication)

          如果需要的话,标准可以选择基于参考图片的特征进行构造RPL用不同的方式。对于每个dinal RPL中的particular特定的入口,任何initial RPL中的特定参考图片分配到这个入口。通过slice层的ref_pic_list_modification_flag_10来标识。当它为1时,final RPL的每一个入口的参考图片会被明确标记。

8.DPB(解码图片缓冲区管理)

           在HEVC中,滤波后的当前图片和已经解码的图片会被放到DPB中,参考图片一定是放在DPB中,但是DPB中并不一定都是参考图片,因为有些显示顺序在当前图片之后的非参考图片也会放在DPB中,他们等待出去DPB知道所有在他们显示顺序之前的图片从DPB出去。一旦图片变成不再作为参考图片并且不再waiting for out,它会从DPB中移走,相应的图片缓冲区然后被清空,然后为储存将来的图片打开。当解码器开始解码图片,需要一个空的缓冲区用来存储当前图片,直到完成当前图片的解码,当前图片会被标志为短时参考图片“use for short-term reference”,并且存储在DPB中作为将来图片的参考图片。在任何时候,DPB中的图片数量(包括当前图片在解码时)不能超过最大的DPB容量。

9.问题:长时参考帧long-term reference是怎么被标记的?在哪里?什么时间被标记的?

    

          

猜你喜欢

转载自blog.csdn.net/qq_27942333/article/details/89670610
今日推荐