本发明属于数字视频压缩领域,尤其涉及一种参考图像管理方法。
背景技术:
参考帧管理是视频编码中的一项关键技术,主要负责管理解码图像缓冲区(DPB),并从中选取最优的参考方案,创建参考图像队列。参考图像管理方法是编解码框架的高层结构,为帧间预测提供了基础。视频编解码框架,比如HEVC,一般采用参考帧集(RPS)的技术来管理已经解码的帧,并作为后续编码的参考帧。RPS是一个包含了构建当前编解码图像的参考图像队列、管理DPB的参数信息集合。编码端通过对编码图像配置RPS,使得每幅图像中都包含对DPB中图像管理的标记,进而达到对参考图像管理的目的;解码端通过解析得到的RPS构建参考图像队列和标识DPB中解码图像是否为可被参考图像,并且通过RPS检验是否存在丢帧图像。为了提高帧间预测的准确度,多参考帧通常作为一种比较有效的方法。解码已经完成的图像,被存入解码图像缓冲区(DPB)中,以备后续参考,而且在DPB中的每一帧图像,会被标记不同的状态,包括被参考(长期参考,短期参考)和不被参考等几种标记状态。DPB中只存储一定量的图像,随着当前解码图像,以先入先出的方式,将新的解码图像移入DPB而将离当前帧最远的一帧移出DBP,进而保证存储在DPB中的图像均是最近解码的图像。不同的GOP结构中不同的帧类型执行不同的参考帧管理方式。
同样地,在三维视频编码中,参考帧管理方案有着更重要的地位。三维视频编码中的预测不仅包括时域预测还包括视间预测。前者表示同一视点上的各帧之间的参考关系而后者表示不同视点间的参考关系。一般来说,同一视点上的参考图像管理方式与传统的2D视频编码框架相同,而不同视点间的参考图像管理就相对比较特殊,可以有不同的设计方法。视间参考帧的设计可以与时域参考帧结合,也可以单独进行构建,删除和管理操作。目前,缺少一种能够在编解码过程中实现时域参考帧和视间参考帧的合理的被参考,提高编解码效率的有效的参考帧管理方案。
现有的相关专利,例如申请号为200310116085.1的中国发明专利申请,涉及一种参考图像缓冲区管理方法,包括:根据编码的方式,在缓冲区中保留用于编/解码的参考图像;每一个参考图像都通过一个参考索引来标记;当前图像根据参考索引来确定参考图像,完成编解码;如果当前编/解码图像为I帧/场或P帧/场,则将解码后的I/P帧/场替换缓冲区中离当前图像最远的参考帧/场,编/解码下一个图像;如果所有的图像都完成了编/解码,则删除缓冲区中的所有图像。但该方法编/解码效率低。
技术实现要素:
本发明主要解决的技术问题是提供一套有效的参考帧管理方案,从而实现编解码过程中时域参考帧和视间参考帧的合理的被参考,提高编解码效率。
本发明具体公开了一种参考图像管理方法,该方法通过构建,移入,删除等操作管理视间参考图像队列的方法,并通过CU(coding unit)层的标识符来进行编码,从而与时域参考帧管理相结合形成一套完整的参考帧管理方法。其具体包括对依赖视点的编码,新增一个视间参考图像队列,单独管理视间参考图像,而不是在原本时域参考帧队列中替换某些时域参考帧的方式。对于视间参考标识符的标记是以CU为单位,视间参考模式对应的语法元素进行编码到码流。
本发明的目的是通过以下技术方案实现的。
一种视间参考图像管理方法,其包括:
定义和构建视间参考帧缓冲区:定义依赖视点的视间参考帧缓冲区、所述视间参考帧缓冲区的大小、其存储的视间参考图像类型以及位置,并且构建所述视间参考帧缓冲区;
构建和管理依赖视点的视间参考帧队列:在所述视间参考图像缓冲区存储来自基准视点的视间参考帧图像作为所述依赖视点的视间参考帧队列,定义每帧视间参考图像的帧索引号、定义何时移入来自基准视点的视间参考帧图像以及定义何时将其删除。
优选地,构建和管理依赖视点的视间参考帧队列还包括:在CU(编码单位)层,编码端经过率失真优化决策,判定当前块是否为视间参考块,若是,则判断是否是视间参考模式,若是,则将其作为新增的视间参考模式编码到码流,以便解码端识别所述视间参考块采用的是视间参考模式。
优选地,所述定义何时移入来自基准视点的视间参考帧图像的操作包括:在同一时刻的基准视点的图像的纹理编码完毕之后,将该基准点的该时刻的经纹理编码的图像移入该依赖视点的视间参考图像缓冲区中,作为依赖视点编码过程中的视间参考图像;所述定义何时将其删除的操作包括:在对所述视间参考帧队列中、编码的当前帧对应的最后一个依赖视点进行纹理和深度均编码完毕之后,将所述视间参考帧从参考帧队列中删除。
优选地,所述构建依赖视点的视间参考帧队列是在其对应的基准视点编码开始之前独立完成构建。
一种参考图像管理方法,包括时域参考图像管理方法和上述的视间参考图像管理方法。
与现有技术相比,本发明公开的参考图像管理方法,具有如下有益效果:
既不改变原来时域参考帧的管理方式,又有利于视间参考帧从一帧到多帧的扩展。通过该发明提供的时域和视间参考图像相结合的方法,可以大幅度提高依赖视点的编码性能。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
图1是根据本发明实施方式的依赖视点的不同类型编码图像的参考图像队列形成原理图;
图2是根据本发明实施方式的LDP配置下基准视点和依赖视点的预测参考关系图;
图3是根据本发明实施方式的RA配置下基准视点和依赖视点的预测参考关系图;
图4根据本发明实施方式的RA配置下,AVS 3D参考图像管理方法在RFD中的性能表示图;
图5根据本发明实施方式的LDP配置下,AVS 3D参考图像管理方法在RFD中的性能表示图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提供了一套基于三维视频编码框架的参考图像的管理方法,具体地,是一种时域参考和视间参考结合的3D编码参考图像管理方案。其中,对于时域参考,同一视点间的图像参考关系中,对于每一个视点内部来说,都维持了同样的参考帧管理方案。而对于视间参考,本发明提出了一种视间参考帧单独构建,移入,删除的管理方式。由于视间参考的实质即是依赖视点只能参考基准视点,对于基准视点来说时域参考帧原有的移入,删除操作都要相应的做出调整,以供依赖视点合理有效的参考,从而形成一套完善的参考帧管理方法。
在三维视频编码中,基准视点中的图像只能参考本视点的图像,依赖视点的图像可以参考基准视点中的图像。在LDP和RA配置下,基准视点和依赖视点预测参考关系如图2和图3所示。每个视点都单独维护一套参考图像管理列表,依赖视点的参考图像列表中加入了视间参考图像,在当前帧编码结束之后就将视间参考帧从参考帧队列中删除,其他时间域的参考帧的添加、删除操作与基准视点的参考帧管理机制一样。
图1示出了依赖视点的不同类型编码图像的参考图像队列形成原理图,其中,编码端中,若依赖视点中的I帧可以参考与其处在同一时间域的基准视点图像编码,此时依赖视点的编码类型从I帧图像变成P/F帧图像,此时参考图像队列中只有基准视点图像。依赖视点的P/F帧图像的参考图像队列包括时域参考图像队列和视间参考图像队列,其中时域参考图像队列包含来自同一视点的时域图像,视间参考图像队列中包括来自基准视点的视间参考图像。依赖视点的B图像的参考图像构建成两个参考图像队列,包含时域参考图像队列和视间参考图像队列,其中时域参考图像队列中包含来自同一视点的前后两个时域参考图像,而视间参考图像队列中包含来自基准视点的视间参考图像。
依赖视点图像在建立视间参考图像列表的过程中,视间参考图像缓冲区中目前只包含一帧图像,即来自同一时刻的基准试点的图像。也可以扩展到包含多个视间参考图像。
视间参考图像的删除操作是在当前帧对应的基准试点和依赖视点的纹理和深度均编码完毕之后,再进行删除。
而视间参考图像的移入操作是在基准视点的纹理编码完毕之后,将该基准视点移入依赖视点的视间参考图像队列中,作为依赖视点编码过程中的视间参考图像。
其中,在3D-AVS(audio video coding standard)中图像类型中,AVS里的解码图像包括:
——帧内解码图像(I图像);
——单前向帧间解码图像(P图像);
——双向帧间解码图像(B图像);
——前向帧间解码图像(F图像);
——应输出的帧内解码场景图像(G图像);
——不应输出的帧内解码场景图像(GB图像);
——应参考场景图像的单前向帧间解码图像(S图像)
本发明的实施方式中,时域参考延用AVS2基准档次的管理方法,同时新构建一个视间参考图像队列来存储视间参考图像。本发明给出了一个具体实施例,其实现了视间参考帧队列的构建,修改和删除,过程如下:
一、视间参考图像队列的构建
在编码每一帧之前,时域参考帧队列和视间参考帧队列都会将对应的参考帧缓冲区构建完成。而依赖视点的视间参考帧队列的构建是在其对应的基准视点编码开始之前独立完成构建。依赖视点的时域参考帧队列的构建与基准视点的时域参考帧队列构建采用相同的方法。
具体方法见伪代码:
If(imgType!=I_IMG&&imgViewIdx>0){
constructInterRefList();//构建视间参考帧队列,完成视间参考相关的数据更新
}
二、视间参考图移入和删除
对于依赖视点,视间参考图像的移入操作是在同一时刻的基准视点编码完毕之后,将该基准视点帧移入到视间参考图像缓冲区imgInterRefBuf中。删除操作是在当前帧对应的最后一个依赖视点的纹理和深度编码完毕之后再进行删除。
具体方法见伪代码:
移入:
if(imgViewIdx==0){
imgInterRefBuf[pos][isDepth]=imgTr;//imgTr是当前编码的帧索引号,也即是POC值。
}
删除:
if(imgViewIdx==InputViewIdx-1){
imgInterRefBuf[pos][isDepth]=-256;
}
三、编码标识符flag的方法
视间参考标识符的判定在CU层进行的。对于依赖视点来说,如果经过率失真优化决策为视间参考块,那么会有一个interview_flag作为标志。如果interview_flag值为1,则说明当前块是视间参考模式,用interview_prediction_mode表示。作为新增的视间参考模式,interview_prediction_mode被编码进码流,以便解码端识别当前块采用的是视间参考模式。
为了测试本发明的性能状况,利用AVS 3D参考软件RFD5.0作为性能测试平台,测试结果如图4和如图5所示,我们采用的测试序列是AVS 3D标准测试序列。其中,video0,video1和video2分别对应于基准试点,和两个依赖视点。video PSNR栏中的videobitrate和totalbitrate分别为纹理和纹理+深度的性能。最后,synth PSNR对应的是合成视点的性能。如图4和图5中所有的数据均表示BD-rate。
本发明提供的视间参考帧管理方法完善了时域参考的参考关系,使得其在三维视频中形成一套完整的参考图像管理方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。