构造用于多视图或3DV视频译码的参考图片列表.pdf

上传人:a1 文档编号:4071123 上传时间:2018-08-13 格式:PDF 页数:51 大小:3.66MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380042802.2

申请日:

2013.08.16

公开号:

CN104584557A

公开日:

2015.04.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N 19/597申请日:20130816|||公开

IPC分类号:

H04N19/597; H04N19/70

主分类号:

H04N19/597

申请人:

高通股份有限公司

发明人:

陈颖; 张莉; 阿达许·克里许纳·瑞玛苏布雷蒙尼安

地址:

美国加利福尼亚州

优先权:

61/684,033 2012.08.16 US; 61/750,710 2013.01.09 US; 61/753,822 2013.01.17 US; 13/968,140 2013.08.15 US

专利代理机构:

北京律盟知识产权代理有限责任公司11287

代理人:

宋献涛

PDF下载: PDF下载
内容摘要

在一个实例中,例如视频编码器或解码器的视频译码器经配置以对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码,且当所述层识别符的所述值不等于零时,根据基础视频译码标准对语法元素的第一集合进行译码,且根据对所述基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码。语法元素的所述第二集合可包含表示用于参考图片列表中的参考层的层间参考图片的识别符的位置的语法元素,且所述视频译码器可构造所述参考图片列表以使得所述层间参考图片的所述识别符位于所述所确定位置中。

权利要求书

权利要求书1.  一种对视频数据进行解码的方法,所述方法包括:对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行解码;以及当所述层识别符的所述值不等于零时:根据基础视频译码标准对语法元素的第一集合进行解码;以及根据对所述基础视频译码标准的扩展对一或多个语法元素的第二集合进行解码。2.  根据权利要求1所述的方法,其中所述基础视频译码标准包括高效视频译码HEVC基础规范。3.  根据权利要求2所述的方法,其中所述扩展包括可缩放视频译码S-HEVC、多视图视频译码MV-HEVC和三维3D-HEVC中的一者。4.  根据权利要求1所述的方法,其中一或多个语法元素的所述第二集合包含表示用于参考图片列表中的参考层的层间参考图片的识别符的位置的语法元素,所述方法进一步包括:构造所述参考图片列表以使得所述层间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中。5.  根据权利要求4所述的方法,其中所述层间参考图片包括视图间参考图片,并且其中所述参考层包括参考视图。6.  根据权利要求1所述的方法,其进一步包括当所述层识别符的所述值等于零时,根据所述基础视频译码标准仅对语法元素的所述第一集合进行解码。7.  根据权利要求1所述的方法,其中对语法元素的所述第二集合进行解码包括仅当所述层识别符不等于零时对语法元素的所述第二集合进行解码。8.  根据权利要求1所述的方法,其中对语法元素的所述第一集合进行解码和对语法元素的所述第二集合进行解码包括对所述当前切片的所述切片标头、包含所述当前切片的图片的图片参数集PPS以及含有包含所述当前切片的所述图片的图片序列的序列参数集SPS中的至少一者中的语法元素的所述第一集合和语法元素的所述第二集合进行解码。9.  一种对视频数据进行编码的方法,所述方法包括:当当前切片形成多层视频数据的基础层的部分时根据基础视频译码标准对所述当前切片的视频数据进行编码,且当所述当前切片形成所述多层视频数据的非基础层的部分时根据对所述基础视频译码标准的扩展对所述当前切片的所述视频数据进行编码;对所述当前切片的切片标头中的层识别符的值进行编码,其中所述层识别符的所述值指示所述当前切片是否形成所述基础层或所述非基础层的部分;以及当所述当前切片形成所述非基础层的部分时:根据所述基础视频译码标准对语法元素的第一集合进行编码;以及根据对所述基础视频译码标准的所述扩展对一或多个语法元素的第二集合进行编码。10.  根据权利要求9所述的方法,其中所述基础视频译码标准包括高效视频译码HEVC基础规范,并且其中所述扩展包括可缩放视频译码S-HEVC、多视图视频译码MV-HEVC和三维3D-HEVC中的一者。11.  根据权利要求9所述的方法,其中一或多个语法元素的所述第二集合包含表示用于参考图片列表中的参考层的层间参考图片的识别符的位置的语法元素,所述方法进一步包括:构造所述参考图片列表以使得所述层间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中。12.  根据权利要求11所述的方法,其中所述层间参考图片包括视图间参考图片,并且其中所述参考层包括参考视图。13.  根据权利要求9所述的方法,其进一步包括当所述当前切片形成所述基础层的部分时,根据所述基础视频译码标准仅对语法元素的所述第一集合进行编码。14.  根据权利要求9所述的方法,其中对语法元素的所述第二集合进行编码包括仅当所述当前切片形成所述非基础层的部分时对语法元素的所述第二集合进行编码。15.  根据权利要求9所述的方法,其中对语法元素的所述第一集合进行编码和对语法元素的所述第二集合进行编码包括对所述当前切片的所述切片标头、包含所述当前切片的图片的图片参数集PPS以及含有包含所述当前切片的所述图片的图片序列的序列参数集SPS中的至少一者中的语法元素的所述第一集合和语法元素的所述第二集合进行编码。16.  一种用于对视频数据进行译码的装置,所述装置包括视频译码器,所述视频译码器经配置以对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码,且当所述层识别符的所述值不等于零时,根据基础视频译码标准对语法元素的第一集合进行译码,且根据对所述基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码。17.  根据权利要求16所述的装置,其中所述基础视频译码标准包括高效视频译码HEVC基础规范,并且其中所述扩展包括可缩放视频译码S-HEVC、多视图视频译码MV-HEVC和三维3D-HEVC中的一者。18.  根据权利要求16所述的装置,其中一或多个语法元素的所述第二集合包含表示用于参考图片列表中的参考层的层间参考图片的识别符的位置的语法元素,并且其中所述视频译码器进一步经配置以构造所述参考图片列表以使得所述层间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中。19.  根据权利要求18所述的装置,其中所述层间参考图片包括视图间参考图片,并且其中所述参考层包括参考视图。20.  根据权利要求16所述的装置,其中所述视频译码器进一步经配置以当所述层识别符的所述值等于零时根据所述基础视频译码标准仅对语法元素的所述第一集合进 行译码。21.  根据权利要求16所述的装置,其中所述视频译码器经配置以仅当所述层识别符不等于零时对语法元素的所述第二集合进行译码。22.  根据权利要求16所述的装置,其中所述视频译码器经配置以对所述当前切片的所述切片标头、包含所述当前切片的图片的图片参数集PPS以及含有包含所述当前切片的所述图片的图片序列的序列参数集SPS中的至少一者中的语法元素的所述第一集合和语法元素的所述第二集合进行译码。23.  根据权利要求16所述的装置,其中所述视频译码器包括经配置以对视频数据的所述当前切片进行解码的视频解码器。24.  根据权利要求16所述的装置,其中所述视频译码器包括经配置以对视频数据的所述当前切片进行编码的视频编码器。25.  一种用于对视频数据进行译码的装置,所述装置包括:用于对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码的装置;用于当所述层识别符的所述值不等于零时根据基础视频译码标准对语法元素的第一集合进行译码的装置;以及用于当所述层识别符的所述值不等于零时根据对所述基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码的装置。26.  根据权利要求25所述的装置,其中一或多个语法元素的所述第二集合包含表示用于参考图片列表中的参考层的层间参考图片的识别符的位置的语法元素,所述装置进一步包括:用于构造所述参考图片列表以使得所述层间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中的装置。27.  根据权利要求26所述的装置,其中所述层间参考图片包括视图间参考图片,并且其中所述参考层包括参考视图。28.  一种计算机可读存储媒体,其具有存储于其上的指令,所述指令在被执行时致使处理器进行以下操作:对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码;以及当所述层识别符的所述值不等于零时:根据基础视频译码标准对语法元素的第一集合进行译码;以及根据对所述基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码。29.  根据权利要求28所述的计算机可读存储媒体,其中所述基础视频译码标准包括高效视频译码HEVC基础规范,并且其中所述扩展包括可缩放视频译码S-HEVC、多视图视频译码MV-HEVC和三维3D-HEVC中的一者。30.  根据权利要求28所述的计算机可读存储媒体,其中一或多个语法元素的所述第二集合包含表示用于参考图片列表中的参考层的层间参考图片的识别符的位置的语法元素,所述计算机可读存储媒体进一步包括致使所述处理器进行以下操作的指令:构造所述参考图片列表以使得所述层间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中。31.  根据权利要求30所述的计算机可读存储媒体,其中所述层间参考图片包括视图间参考图片,并且其中所述参考层包括参考视图。32.  一种对视频数据进行译码的方法,所述方法包括:针对用于当前视图的当前切片的参考图片列表的构造确定用于参考视图的视图间参考图片的识别符的位置;构造所述参考图片列表以使得所述视图间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中;针对所述当前切片的一部分对对应于所述所确定位置的索引值进行译码;以及基于所述索引值使用所述视图间参考图片对所述当前切片的所述部分进行译码。33.  根据权利要求32所述的方法,其进一步包括对指示用于所述视图间参考图片的所述识别符的所述位置的语法信息进行译码。34.  根据权利要求33所述的方法,其中对所述语法信息进行译码包括对切片标头、调适参数集APS、图片参数集PPS、序列参数集SPS和视频参数集VPS中的至少一者进行译码。35.  根据权利要求32所述的方法,其中确定包括确定视图间参考图片将在所述参考图片列表中连续放置。36.  根据权利要求32所述的方法,其中确定包括确定视图间参考图片将放置在用于所述当前切片的初始参考图片列表的开始处。37.  根据权利要求32所述的方法,其中确定包括确定视图间参考图片将放置在具有比所述当前切片的图片次序计数POC值小的POC值的时间参考图片之后。38.  根据权利要求32所述的方法,其中确定包括确定视图间参考图片将放置在具有比所述当前切片的POC值大的POC值的时间参考图片之后。39.  根据权利要求32所述的方法,其中确定包括确定视图间参考图片将放置在长期参考图片之后。40.  根据权利要求32所述的方法,其中构造所述参考图片列表包括以基于所述视图间参考图片的所述所确定位置的次序构造包含时间参考图片的时间参考图片列表。41.  根据权利要求32所述的方法,其中对所述索引值进行译码包括对所述索引值进行解码,并且其中对所述当前切片的所述部分进行译码包括对所述当前切片的所述部分进行解码。42.  根据权利要求32所述的方法,其中对所述索引值进行译码包括对所述索引值进行编码,并且其中对所述当前切片的所述部分进行译码包括对所述当前切片的所述部 分进行编码。43.  一种用于对视频数据进行译码的装置,所述装置包括视频译码器,所述视频译码器经配置以针对用于当前视图的当前切片的参考图片列表的构造确定用于参考视图的视图间参考图片的识别符的位置,构造所述参考图片列表以使得所述视图间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中,针对所述当前切片的一部分对对应于所述所确定位置的索引值进行译码,以及基于所述索引值使用所述视图间参考图片对所述当前切片的所述部分进行译码。44.  根据权利要求43所述的装置,其中所述视频译码器进一步经配置以对指示用于所述视图间参考图片的所述识别符的所述位置的语法信息进行译码。45.  根据权利要求43所述的装置,其中所述视频译码器经配置以确定以下各项中的一者:视图间参考图片将在所述参考图片列表中连续放置,视图间参考图片将放置在用于所述当前切片的初始参考图片列表的开始处,视图间参考图片将放置在具有比所述当前切片的图片次序计数POC值小的POC值的时间参考图片之后,视图间参考图片将放置在具有比所述当前切片的POC值大的POC值的时间参考图片之后,以及视图间参考图片将放置在长期参考图片之后。46.  根据权利要求43所述的装置,其中所述视频译码器包括视频编码器和视频解码器中的一者。47.  一种用于对视频数据进行译码的装置,所述装置包括:用于针对用于当前视图的当前切片的参考图片列表的构造确定用于参考视图的视图间参考图片的识别符的位置的装置;用于构造所述参考图片列表以使得所述视图间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中的装置;用于针对所述当前切片的一部分对对应于所述所确定位置的索引值进行译码的装置;以及用于基于所述索引值使用所述视图间参考图片对所述当前切片的所述部分进行译码的装置。48.  一种计算机可读存储媒体,其具有存储于其上的指令,所述指令在被执行时致使处理器进行以下操作:针对用于当前视图的当前切片的参考图片列表的构造确定用于参考视图的视图间参考图片的识别符的位置;构造所述参考图片列表以使得所述视图间参考图片的所述识别符位于所述参考图片列表的所述所确定位置中;针对所述当前切片的一部分对对应于所述所确定位置的索引值进行译码;以及基于所述索引值使用所述视图间参考图片对所述当前切片的所述部分进行译码。

说明书

说明书构造用于多视图或3DV视频译码的参考图片列表
本申请案主张2012年8月16日申请的第61/684,033号美国临时申请案、2013年1月9日申请的第61/750,710号美国临时申请案和2013年1月17日申请的第61/753,822号美国临时申请案的权益,以上美国临时申请案中的每一者特此以全文引用的方式并入本文。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频译码技术,例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)所定义的标准、目前正在开发的高效率视频译码(HEVC)标准及这些标准的扩展中所描述的视频译码技术。视频装置可通过实施此类视频译码技术而更有效率地发射、接收、编码、解码及/或存储数字视频信息。
视频译码技术包含空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码来说,视频切片(即,视频帧或视频帧的一部分)可以分割成视频块,视频块还可被称作树块、译码单元(CU)及/或译码节点。使用相对于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间编码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测导致对块的预测块进行译码。残余数据表示待译码的原始块与预 测块之间的像素差。经帧间译码块是根据指向形成预测块的参考样本块的运动向量及指示经译码块与预测块之间的差的残余数据编码的。经帧内译码块是根据帧内译码模式及残余数据来编码。为了实现进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可以对残余变换系数进行量化。可扫描最初布置为二维阵列的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以实现更多压缩。
发明内容
一般来说,本发明描述用于至少部分基于用以对包含切片标头的切片进行译码的视频译码范例对切片标头的语法元素进行译码的技术。举例来说,所述语法元素可包含与构造例如用于三维(3D)视频译码的视图间参考图片的参考图片列表有关的值。为了提供用于3D视频效果的视频数据,场景的两个或两个以上图像可同时或大体上同时播放,其中所述图像对应于场景的不同“视图”,即不同水平相机视角。多视图视频译码技术包含用于例如使用视图间预测对这些图像进行译码的技术。为了在译码期间参考视图间参考图片,视频译码器可使用到参考图片列表中的索引。视频编码器和视频解码器可根据本发明的技术配置以初始化且构造参考图片列表,以使得经译码索引值表示参考图片列表中的正确参考图片。也就是说,当层识别符指示切片包含在根据对基础视频译码标准的扩展译码的层中时,可提供具有对于对基础视频译码标准的扩展为特定的表示如何构造和/或修改参考图片列表的值的某些语法元素。
在一个实例中,一种对视频数据进行解码的方法包含对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行解码,并且当所述层识别符的值不等于零时:根据基础视频译码标准对语法元素的第一集合进行解码,且根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行解码。
在另一实例中,一种对视频数据进行编码的方法包含当当前切片形成多层视频数据的基础层的部分时根据基础视频译码标准对当前切片的视频数据进行编码,且当当前切片形成多层视频数据的非基础层的部分时根据对基础视频译码标准的扩展对当前切片的视频数据进行编码,对当前切片的切片标头中的层识别符的值进行编码,其中所述层识别符的值指示当前切片是否形成所述基础层或所述非基础层的部分,并且当当前切片形成所述非基础层的部分时:根据基础视频译码标准对语法元素的第一集合进行编码,且根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行编码。
在另一实例中,一种用于对视频数据进行译码的装置包含视频译码器,所述视频译码器经配置以对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码,并且当所述层识别符的值不等于零时,根据基础视频译码标准对语法元素的第一集合进行译码,且根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码。
在另一实例中,一种用于对视频数据进行译码的装置包含用于对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码的装置,用于当所述层识别符的值不等于零时根据基础视频译码标准对语法元素的第一集合进行译码的装置,以及用于当所述层识别符的值不等于零时根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码的装置。
在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使处理器对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码,并且当所述层识别符的值不等于零时:根据基础视频译码标准对语法元素的第一集合进行译码,且根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码。
在另一实例中,一种对视频数据进行译码的方法包含针对用于当前视图的当前切片的参考图片列表的构造确定用于参考视图的视图间参考图片的识别符的位置,构造所述参考图片列表以使得所述视图间参考图片的识别符位于所述参考图片列表的所确定位置中,针对当前切片的一部分对对应于所确定位置的索引值进行译码,且基于所述索引值使用所述视图间参考图片对当前切片的所述部分进行译码。
在另一实例中,一种视频译码装置包含例如视频编码器或视频解码器的视频译码器,其经配置以针对用于当前视图的当前切片的参考图片列表的构造确定用于参考视图的视图间参考图片的识别符的位置,构造所述参考图片列表以使得所述视图间参考图片的识别符位于所述参考图片列表的所确定位置中,针对当前切片的一部分对对应于所确定位置的索引值进行译码,且基于所述索引值使用所述视图间参考图片对当前切片的所述部分进行译码。
在另一实例中,一种视频译码装置包含用于针对用于当前视图的当前切片的参考图片列表的构造确定用于参考视图的视图间参考图片的识别符的位置的装置,用于构造所述参考图片列表以使得所述视图间参考图片的识别符位于所述参考图片列表的所确定位置中的装置,用于针对当前切片的一部分对对应于所确定位置的索引值进行译码的装置,以及用于基于所述索引值使用所述视图间参考图片对当前切片的所述部分 进行译码的装置。
在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使处理器针对用于当前视图的当前切片的参考图片列表的构造确定用于参考视图的视图间参考图片的识别符的位置,构造所述参考图片列表以使得所述视图间参考图片的识别符位于所述参考图片列表的所确定位置中,针对当前切片的一部分对对应于所确定位置的索引值进行译码,且基于所述索引值使用所述视图间参考图片对当前切片的所述部分进行译码。
随附图式和以下描述中陈述一或多个实例的细节。其它特征、目标及优势将从所述描述及所述图式以及从权利要求书显而易见。
附图说明
图1是说明可利用用于构造参考图片列表的技术的实例视频编码和解码系统的框图。
图2是说明可实施用于构造参考图片列表的技术的视频编码器的实例的框图。
图3是说明可实施用于构造参考图片列表的技术的视频解码器的实例的框图。
图4是说明用于构造参考图片列表且在对当前切片的一部分进行译码时使用参考图片列表的实例方法的流程图。
图5是说明根据本发明的技术的用于使用不同视频译码标准对多层视频数据进行编码的实例方法的流程图。
图6是说明根据本发明的技术的对视频数据进行解码的实例方法的流程图。
具体实施方式
一般来说,本发明的技术是针对至少部分基于切片是否包含在根据基础视频译码标准译码的层中或根据所述基础视频译码标准的扩展译码的层中来进行的语法元素的译码。举例来说,所述基础视频译码标准可对应于高效视频译码(HEVC),且所述扩展可对应于多视图HEVC(MV-HEVC)、三维HEVC(3D-HEVC)或可缩放HEVC(S-HEVC)扩展。不同层(例如,可缩放层或视图)可根据不同类型的译码范例来译码。举例来说,基础层可根据例如HEVC等基础视频译码标准来译码,且增强层(或相依视图)可根据例如MV-HEVC、3D-HEVC或S-HEVC等基础视频译码标准的扩展来译码。
用于基础层中的切片的语法元素可符合基础视频译码标准(也就是说,包含符合基础视频译码标准的语法元素),而用于增强层中的切片的语法元素(或相依性视图)可包 含符合基础视频译码标准的语法元素和符合视频译码标准的扩展的语法元素(假定所述增强层使用所述扩展来译码)。作为一个实例,为了扩展添加到基础视频译码标准的语法元素可包含参考图片列表构造和/或修改语法元素,如下方更详细地所论述。
视频译码(例如,编码或解码)大体上涉及通过利用图片中的冗余(无论是空间冗余还是时间冗余)对一系列图片进行译码。可使用帧内预测来利用空间冗余,而当前图片的块可相对于相邻经先前译码块的像素来预测。可使用帧间预测来利用时间冗余,从而当前图片的块可相对于经先前译码图片的像素来预测。
所述系列的图片可以某一次序俘获或产生,所述次序可实质上类似于(或等同于)图片将显示的次序。然而,所述系列的图片经译码(经编码或解码)的次序不一定与所述图片俘获、产生或显示的次序(大体上被称作显示次序)相同。这允许一些图片(例如,B图片)参考在时间上较早图片和在时间上较晚图片两者来译码,其可产生极接近于当前译码图片的实际值的预测值。
因此,对于当前图片的帧间预测,视频译码器(例如视频编码器和视频解码器)可产生各种参考图片列表。举例来说,列表0可包含具有比当前译码图片早的显示次序的参考图片,而列表1可包含具有比当前译码图片晚的显示次序的参考图片。以此方式,当对当前图片(或其切片)进行译码时将使用的参考图片可使用到参考图片列表(例如,列表0和列表1)中的一者中的索引值来识别。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。此外,存在一种新的视频译码标准,即高效视频译码(HEVC),其正由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)进行开发。HEVC的最新工作草案(WD)被称作HEVC WD8或简称为WD8。WD8在布洛斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案8”(文献JCTVC-J1003_d7,ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),瑞典斯德哥尔摩第10次会议,2012年7月11-20日)中描述,所述文献从2013年8月14日起可从http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip得到。
在一些情况下,视频数据包含多个层。举例来说,在用于HEVC的可缩放视频译码(S-HEVC)中,可存在基础层和一或多个增强层,所述增强层可包含用于增强基础层的图片的数据。作为一实例,基础层图片可具有相对低空间分辨率,且增强层可包含 用于增加基础层(和/或较低增强层)的空间分辨率的数据。增强层可在一或多个维度中增强基础层,例如空间分辨率、信噪比(SNR)质量水平、位深度或类似者。
另外或替代地,在用于HEVC的多视图视频译码(例如,MV-HEVC或3D-HEVC)中,可存在基础视图和一或多个相依性视图,其中每一视图可对应于场景的不同相机视角,例如用于再现三维视频数据。相依性视图可为相对于基础视图(或在视图阶层中较低的非基础视图)经视图间译码。因此,每一视图可视为相应的视频数据层。
本发明认识到HEVC可在将来进一步扩展。S-HEVC、MV-HEVC和3D-HEVC是即将来临的对HEVC的扩展,且在将来可添加其它扩展。通常,对视频标准的扩展包含额外信令数据。本发明提出与扩展HEVC例如用于多层译码(其可包含多视图译码)有关的各种技术。
作为一个实例,本发明提出根据HEVC基本规范对基础层进行译码。以此方式,用于基础层中的视频数据的信令数据不需要相对于HEVC基本规范改变。基础层可经界定为层识别符(layer_id)具有值零的层。因此,可仅针对非基础层(例如,层识别符具有非零值的层)来用信号发送额外数据。
如上文所论述,基于块的视频译码大体上包含视频数据块的预测,其可使用帧内预测或帧间预测来执行。为了使用帧间预测对块进行译码,视频译码器构造参考图片列表,包含用于包含所述块的切片的潜在参考图片。随后,视频译码器对表示到所述参考图片列表中的索引的块的数据进行译码,其中所述索引对应于用以预测所述块的实际参考图片。以此方式,重要的是视频编码器和视频解码器两者以同一方式构造参考图片列表。
参考图片列表的构造可包含根据默认构造规则从参考图片集的一或多个子集(其中每一子集可被称为“RPS子集”)构造临时参考图片列表。视频译码器可随后重新布置临时参考图片列表。视频编码器可确定重新布置临时参考图片列表的适当方式,且视频解码器可使用信令数据来确定如何重新布置临时参考图片列表。视频译码器还通常每切片构造多达两个参考图片列表:列表0和列表1。因此,视频译码器构造多达两个临时参考图片列表。参考图片列表可被称为RefPicListX,且用于RefPicListX的临时参考图片列表可被称为RefPicListTempX,其中X等于0或1。
根据HEVC WD8,视频译码器可基于三个参考图片集(RPS)子集:RefPicSetStCurrBefore、RefPicSetStCurrAfter和RefPicSetLtCurr,来执行参考图片列表初始化以产生默认列表0和列表1(如果切片是B切片)。具有比当前图片较早(较晚)输出次序的短期参考图片可首先以图片次序计数(POC)距离的升序插入到列表0(列表1) 中,随后具有比当前图片较晚(较早)输出次序的短期参考图片可以POC距离的升序插入到列表0(列表1)中,且最后长期参考图片可插入在末端。
在用于列表0的RPS方面,RefPicSetStCurrBefore中的条目可插入在初始列表中,随后是RefPicSetStCurrAfter中的条目。然后,可附加RefPicSetLtCurr中的条目(如果可用)。在HEVC中,当列表中条目的数目小于作用中参考图片的目标数目(在图片参数集(PPS)或切片标头中用信号表示)时重复以上过程(再次添加已经添加到参考图片列表的参考图片)。当条目的数目大于目标数目时,HEVC WD8指定所述列表将经截断。
在参考图片列表已初始化之后,其可基于参考图片列表修改命令而经修改以使得用于当前图片的参考图片可按任何次序布置,包含其中一个特定参考图片可在所述列表中在一个以上位置中出现的情况。当指示修改是否存在的旗标经设定成一时,用信号发送固定数目(等于参考图片列表中的条目的目标数目)的命令,且每一命令插入用于参考图片列表的一个条目。在所述命令中通过从RPS信令导出的到用于当前图片的参考图片的列表的索引可识别参考图片。
下方表1提供用于参考图片列表修改数据结构的语法:
表1

表1的变量NumPocTotalCurr可设定为等于NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr。表1的List_entry_lX[i](其中X等于0或1)可指定RefPicSetCurrTempListX中的参考图片的索引将放置在参考图片列表LX(其中X为0或1)的当前位置。list_entry_lX[i]语法元素的长度可经界定为Ceil(Log2(NumPocTotalCurr))个位。list_entry_lX[i]的值可在0到NumPocTotalCurr-1(包含性)的范围内。如果语法元素list_entry_lX[i]不存在,那么可推断其等于0。以此 方式,表1提供可用以修改初始化列表的语法元素。
视频译码器可根据HEVC WD8的技术配置以使用表1的语法元素来如下修改参考图片列表。当对P或B切片进行译码时可调用以下过程。视频译码器可将变量NumRpsCurrTempList0设定为等于Max(num_ref_idx_l0_active_minus1+1,NumPocTotalCurr)且如下构造列表RefPicListTemp0(其中“#-#”指代HEVC WD8的对应部分):

视频译码器可随后如下构造列表RefPicList0:
for(rIdx=0;rIdx≤num_ref_idx_l0_active_minus1;rIdx++)    (8-9)
      RefPicList0[rIdx]=ref_pic_list_modification_flag_l0?
          RefPicListTemp0[list_entry_l0[rIdx]]:RefPicListTemp0[rIdx]
其中公式结构“COND?X:Y”评估COND的值,且如果COND是真,则返回X,否则(如果COND是假)返回Y。
当切片是B切片时,可将变量NumRpsCurrTempList1设定为等于Max(num_ref_idx_l1_active_minus1+1,NumPocTotalCurr)且视频译码器可如下构造列表RefPicListTemp1:


视频译码器可随后如下构造RefPicList1,假定切片是B切片:
for(rIdx=0;rIdx≤num_ref_idx_l1_active_minus1;rIdx++)    (8-11)
      RefPicList1[rIdx]=ref_pic_list_modification_flag_l1?
          RefPicListTemp1[list_entry_l1[rIdx]]:RefPicListTemp1[rIdx]
视频译码标准可经扩展以支持各种其它类型的视频数据。举例来说,HEVC的立体声/多视图扩展正在JCT-3V下标准化,而无需考虑深度信息。增强视图中的视图分量的参考图片列表可明确地用信号表示或以类似于ITU-T H.264/AVC的MVC扩展(也被称作H.264/MVC或MVC)的方式用信号表示。当类似于H.264/MVC时,视图间参考是在初始化期间添加在时间参考图片之后,以使得RefPicListTempX(其中X为0或1)含有跟随全部时间参考图片的视图间参考图片。一旦RefPicListTempX产生,便可纯粹基于RefPicListTempX完成参考图片的重排序/修改,而无需知道其内部的条目是否为视图间参考。
为了支持多层视频译码(例如,层间或视图间预测),视频译码器可需要经配置以将层间(其再次可包含视图间)参考图片在特定位置插入到参考图片列表中。在某些扩展中,可有利的是在一个位置添加层间参考图片,且在其它扩展中,可有利的是在不同位置添加层间参考图片。因此,额外信令数据的一个实例是用信号表示层间参考图片将插入到中参考图片列表中的位置的数据。
举例来说,在一个实例中,可用信号表示(例如,在切片标头、图片参数集(PPS)或序列参数集(SPS)中)指示层间参考图片插入到初始参考图片列表中的默认位置的数据。应理解此数据将仅针对非基础层用信号表示。在一些实例中,另外,初始参考图片列表的构造可基于用信号表示的数据而改变。或者,可改变用信号表示以重新布置初始参考图片列表的数据。
在另一实例中,数据可针对非基础层用信号表示,其指示层间参考图片是否将插入在列表0的初始参考图片列表的开始处、具有小于列表0中的当前图片的POC值的图片次序计数(POC)值的时间参考图片之后、具有大于列表0中的当前图片的POC值的POC值的时间参考图片之后,或列表0中的长期参考图片(如果存在)之后。相似数 据可针对列表1用信号表示。列表0中的位置可不同于列表1中的位置,如针对列表0和列表1用信号表示的数据指示。
当对P或B切片进行译码时可能的参考图片列表初始化过程如下。变量NumRpsCurrTempList0可设定为等于Max(num_ref_idx_l0_active_minus1+1,NumPocTotalCurr)且视频译码器可如下构造列表RefPicListTemp0:

视频译码器可随后如下构造列表RefPicList0:
for(cIdx=0;cIdX≤num_ref_idx_l0_active_minus1;cIdx++)    (F-26)
      RefPicList0[cIdx]=ref_pic_list_modification_flag_l0?
          RefPicListTemp0[list_entry_l0[cIdx]]:RefPicListTemp0[cIdx]
当切片是B切片时,视频译码器可将变量NumRpsCurrTempList1设定为等于Max(num_ref_idx_l1_active_minus1+1,NumPocTotalCurr)且如下构造列表RefPicListTemp1:


当切片是B切片时,视频译码器可如下构造RefPicList1:
for(cIdx=0;cIdX≤num_ref_idx_l1_active_minus1;cIdx++)    (F-28)
      RefPicList0[cIdx]=ref_pic_list_modification_flag_l1?
          RefPicListTemp1[list_entry_l1[cIdx]]:RefPicListTemp1[cIdx]
视频译码器可将变量NumPocTotalCurr设定为等于NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr+NumPocIvCurr。RePIcSetIvCurr指代视图间参考图片的RPS子集,且NumPocIvCurr指代视图间参考图片的数目。
参考图片列表构造和修改的当前设计可经受某些问题。举例来说,在许多情形中,视图间参考图片并不跟随全部时间参考图片,且甚至不跟随用于RefPicList0的RefPicSetStCurrBefore中的全部条目。当此情况发生时,可需要参考图片列表修改的完整循环,其可耗费许多位。可能存在其中视图间参考图片放在参考图片列表结束处的情况,其并不需要参考图片列表修改。本发明描述可用以克服与HEVC的当前技术相关联的这些和/或其它问题的技术。
视频译码器可经配置以根据本发明的各种技术初始化和/或修改参考图片列表。这些技术可单独或以任何组合使用。在一个实例中,视频译码器可对切片标头表示初始参考图片列表中的视图间参考的默认位置的值进行译码,其中视图间参考图片在参考图片列表中连续存在。在除先前实例之外的另一实例中,作为呈某一次序的RPS子集的联合的时间列表RefPicListTempX可基于视图间参考图片的用信号表示的位置而改变。或者,不需要改变RefPicListTempX,而是改为可改变初始列表。
在另一实例中,视频译码器可对切片标头、图片参数集(PPS)或序列参数集(SPS)中指示视图间参考图片是否放置在切片的初始参考图片列表0(RefPicList0)的开始、恰好在具有比RefPicList0的当前POC值小的POC值的时间参考图片之后(也就是说,紧接在其之后)、恰好在具有比RefPicList0的当前POC大的POC值的时间参考图片之后或恰好在长期参考图片(如果存在)之后的值进行译码。另外,视频译码器可在切片标头、 PPS或SPS中对视图间参考是否放在切片的初始参考图片列表1(RefPicList1)的开始、恰好在具有比RefPicList1的当前POC大的POC值的时间参考图片之后、恰好在具有比RefPicList1的当前POC小的POC值的时间参考图片之后或恰好在长期参考图片(如果存在)之后进行译码。
为了添加新语法元素用于对视频译码标准的扩展,例如HEVC扩展,视频译码器可对在layer_id(reserved_zero_6bits)不等于0的条件下添加的此类语法元素进行译码。因此,这些语法元素可存在且与已经由基础视频译码标准(例如HEVC基本规范)界定的语法元素交错。
图1是说明可利用用于构造参考图片列表的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含源装置12,其提供稍后将由目的地装置14解码的经编码视频数据。明确地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置12和目的地装置14可能经装备以用于无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时将经编码的视频数据直接发射到目的地装置14的通信媒体。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线路。通信媒体可能形成基于包的网络(例如局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它装备。
在一些实例中,经编码数据可从输出接口22输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码的视频数据的合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取经 存储的视频数据。文件服务器可以是能够存储经编码视频数据并且将所述经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。此可包含适合于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码的视频数据从存储装置的发射可能是流式发射、下载发射或两者的组合。
本发明的技术不必限于无线应用或设置。所述技术可以应用于支持多种多媒体应用中的任一者的视频译码,例如空中协议电视广播、有线电视发射、卫星电视发射、因特网流式视频发射(例如,动态自适应HTTP流式传输(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包括输入接口28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于构造参考图片列表的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如外部相机)接收视频数据。同样,目的地装置14可以与外部显示装置介接,而非包含集成显示装置。
图1的说明的系统10只是一个实例。用于构造参考图片列表的技术可由任何数字视频编码和/或解码装置执行。尽管本发明的技术一般通过视频编码装置来执行,但是所述技术还可通过视频编码器/解码器(通常被称作“编解码器”)来执行。此外,本发明的技术还可由视频预处理器来执行。源装置12及目的地装置14仅为源装置12在其中产生经译码视频数据以供发射到目的地装置14的此些译码装置的实例。在一些实例中,装置12、14可以实质上对称的方式操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传播以例如用于视频流式传输、视频回放、视频广播或视频电话。
源装置12的视频源18可包含视频俘获装置,例如视频摄像机、含有先前所俘获视频的视频存档及/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、所存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18是摄像机,则源装置12 及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线及/或有线应用。在每一种情况下,可由视频编码器20编码所俘获、经预先俘获或计算机产生的视频。经编码视频信息可接着通过输出接口22输出到计算机可读媒体16上。
计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(也就是说,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可以从源装置12接收经编码的视频数据,并且例如经由网络发射将经编码的视频数据提供到目的地装置14。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可以从源装置12接收经编码的视频数据并且生产容纳经编码的视频数据的光盘。因此,在各种实例中,计算机可读媒体16可以理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息,所述语法信息还供视频解码器30使用,所述语法信息包含描述块及其它经译码单元(例如,GOP)的特性及/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可以根据一种视频译码标准(例如目前正在开发的高效视频译码(HEVC)标准)来操作,并且可以符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可以根据其它专有或业界标准来操作,所述标准例如是ITU-T H.264标准,也被称为MPEG-4第10部分高级视频译码(AVC),或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2及ITU-T H.263。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当MUX-DEMUX单元或其它硬件及软件,以处置对共同数据流或单独数据流中的音频及视频两者的编码。如果适用的话,多路复用器-多路分用器单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
ITU-T H.264/MPEG-4(AVC)标准是作为被称为联合视频小组(JVT)的集体联盟的产品而由ITU-T视频译码专家组(VCEG)连同ISO/IEC移动图片专家组(MPEG)制定。在一些方面中,本发明中描述的技术可应用到一般符合H.264标准的装置。H.264标准描述于ITU-T研究组的日期为2005年3月的“ITU-T推荐H.264,用于通用视听服务的 高级视频译码(ITU-T Recommendation H.264,Advanced Video Coding for generic audiovisual services)”中,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频组(JVT)持续致力于扩展H.264/MPEG-4 AVC。
视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(CODEC)的部分。
JCT-VC正在致力于开发HEVC标准。HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的进化模型。HM假设视频译码装置根据(例如)ITU-T H.264/AVC相对于现有装置的若干额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是HM可提供多达三十三种帧内预测编码模式。
一般来说,HM的工作模型描述视频帧或图片可以分成包含亮度及色度样本两者的一连串树块或最大译码单元(LCU)。位流内的语法数据可以定义最大译码单元(LCU,依据像素数目来说,其为最大译码单元)的大小。切片包含呈译码次序的多个连续树块。视频帧或图片可以被分割成一或多个切片。每一树块可以根据四叉树分裂成译码单元(CU)。一般来说,四叉树数据结构包含每个CU一个节点,其中根节点对应于所述树块。如果一个CU分裂成4个子CU,那么对应于CU的节点包含四个叶节点,其中的每一者对应于所述子CU中的一者。
四叉树数据结构的每一节点可以提供相对应的CU的语法数据。举例来说,四叉树中的一个节点可包括一个分裂旗标,这表明对应于所述节点的所述CU是否分裂成子CU。CU的语法元素可以递归地来定义,且可以取决于CU是否分裂成子CU。如果CU不进一步分裂,那么将其称为叶CU。在本发明中,叶CU的子CU也将被称作叶CU,即使不存在原始叶CU的明确分裂时也是如此。举例来说,如果16x16大小的CU不进一步分裂,那么这四个8x8子CU将也被称作叶CU,虽然16x16 CU从未分裂。
CU具有类似于H.264标准的宏块的目的,但是CU并不具有大小区别。举例来说,树块可以分裂成四个子节点(还被称作子CU),并且每一子节点又可以是父节点并且可以分裂成另外四个子节点。最终的未分裂子节点(被称作四叉树的叶节点)包括译码节点,还称为叶CU。与经译码位流相关联的语法数据可以界定树块可以分裂的最大次 数,被称作最大CU深度,并且还可界定译码节点的最小大小。因此,位流还可定义最小译码单元(SCU)。本发明使用术语“块”指代HEVC的上下文中的CU、PU或TU中的任一者,或者其它标准的上下文中的类似数据结构(例如,其在H.264/AVC中的宏块和子块)。
CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小可从8x8像素到具有最大64x64像素或更大的树块的大小变动。每一CU可含有一或多个PU及一或多个TU。举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可以在CU被跳过或经直接模式编码、帧内预测模式编码或帧间预测模式编码之间有区别。PU可分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树到一或多个TU的分割。TU可以是正方形或非正方形(例如,矩形)形状。
HEVC标准允许根据TU的变换,TU可针对不同CU而有所不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而设置,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU的残余样本可以使用一种被称为“残余四叉树”(RQT)的四叉树结构细分成较小单元。RQT的叶节点可被称为变换单元(TU)。可以变换与TU相关联的像素差值以产生变换系数,可以将所述变换系数量化。
叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应于相对应的CU的全部或一部分的空间区域,并且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,用于PU的数据可以包含在残余四叉树(RQT)中,残余四叉树可包含描述用于对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的一或多个运动向量的数据。举例来说,定义PU的运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片和/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
具有一个或一个以上PU的叶CU还可包含一个或一个以上变换单元(TU)。变换单元可以使用RQT(还称为TU四叉树结构)来指定,如上文所论述。举例来说,分裂旗标可以指示叶CU是否分裂成四个变换单元。接着,每一变换单元可以进一步分裂成其它的子TU。当TU未经进一步分裂时,其可被称作叶TU。总体上,对于帧内译码,所有属于一个叶CU的叶TU共享相同的帧内预测模式。也就是说,总体上应用相同帧内 预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可以使用帧内预测模式针对每一叶TU计算残余值,作为CU的对应于TU的部分与原始块之间的差。TU不必限于PU的大小。因此,TU可大于或小于PU。对于帧内译码,PU可以与相同CU的相对应的叶TU位于同一地点。在一些实例中,叶TU的最大大小可以对应于对应叶CU的大小。
此外,叶CU的TU还可与相应四叉树数据结构(被称作残余四叉树(RQT))相关联。也就是说,叶CU可包含指示叶CU如何分割成TU的四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于树块(或LCU)。未经分裂的RQT的TU被称作叶TU。一般来说,除非以其它方式提及,否则本发明分别使用术语CU及TU来指叶CU及叶TU。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)一般包括一系列一或多个视频图片。GOP可包含GOP的标头、图片中的一者或一者以上的标头或其它地方中的语法数据,其描述GOP中包含的图片的数目。图片的每一切片可包含描述用于相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块操作以便编码视频数据。视频块可以对应于CU内的译码节点。视频块可以具有固定或变化的大小,并且根据指定译码标准可以有不同大小。
作为实例,HM支持各种PU大小的预测。假设特定CU的大小是2Nx2N,则HM支持2Nx2N或NxN的PU大小的帧内预测,及2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间预测。HM还支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,而将另一方向分割成25%及75%。CU的对应于25%分区的部分表示成“n”,接着是用“上方”、“下方”、“左侧”或“右侧”指示。因此,例如,“2N×nU”是指经水平分割的2N×2N CU,其中顶部为2N×0.5N PU,而底部为2N×1.5N PU。
在本发明中,“N×N”及“N乘N”可以互换使用以指在垂直尺寸及水平尺寸方面的视频块的像素尺寸,例如,16×16像素或16乘16像素。大体来说,16x16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,NxN块总体上在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可按行及列布置。此外,块未必需要在水平方向与垂直方向上具有相同数目的像素。举例来说,块可包括NxM像素,其中M未必等于N。
在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可以计算CU的TU的残余数据。PU可包括描述在空间域(还被称作像素域)中产生预测性像素 数据的方法或模式的语法数据,并且TU可包括在对残余视频数据应用变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后在变换域中的系数。残余数据可以对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可以形成包含用于CU的残余数据的TU,并且接着变换TU以产生用于CU的变换系数。
在进行用于产生变换系数的任何变换之后,视频编码器20可执行变换系数的量化。量化一般是指将变换系数量化以可能减少用以表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些系数或全部相关联的位深度。举例来说,可在量化期间将n位值向下舍入到m位值,其中n大于m。
在量化之后,视频编码器可以扫描变换系数,从包括经量化变换系数的二维矩阵产生一维向量。扫描可以经设计以将较高能量(并且因此较低频率)的系数放置在阵列正面,并且将较低能量(并且因此较高频率)的系数放置在阵列的背面。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对所述一维向量进行熵编码。视频编码器还20可对与经编码的视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据解码时使用。
为了执行CABAC,视频编码器20可以向待发射的符号指派上下文模型内的一个上下文。上下文可涉及(例如)符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可选择用于待发射的符号的可变长度码。可构造VLC中的码字以使得相对较短代码对应于更有可能的符号,而较长代码对应于不太可能的符号。(例如)与对待发射的每一符号使用等长度码字的情形相比较,以此方式,使用VLC可实现位节省。概率确定可基于指派给符号的上下文。
根据本发明的技术,视频译码器(例如,视频编码器20或视频解码器30)可经配置以基于切片是否处于基础层或增强层中而利用不同语法元素集合用于切片的切片标头。也就是说,假定基础层的视频数据是根据基础视频译码标准(例如,HEVC)来译码且增强层的视频数据是根据基础视频译码标准的扩展(例如,MV-HEVC、3D-HEVC、S-HEVC或类似者)来译码,相对于基础层中的切片的切片标头中的语法元素,额外语法元素可在增强层中的切片的切片标头中提供。因此,视频译码器可经配置以基于切 片是否处于基础层中或增强层中而利用第一语法元素集合用于切片的切片标头。
视频编码器20和视频解码器30可经配置以对切片的切片标头中的层识别符进行译码,其中所述层识别符(例如,layer_id)具有表示所述切片存在的层的值。确切地说,视频编码器20可确定视频数据是否正针对基础层或增强层译码,且相应地对用于层识别符的值进行编码。另一方面,视频解码器30可经配置以基于层识别符的经解码值确定切片是否为基础层或增强层的一部分。层识别符的零值大体上指示对应层是基础层,而层识别符的非零值大体上指示对应层是非基础层,例如增强层(或用于多视图视频译码的相依性视图)。
因此,视频编码器20和视频解码器30可经配置以当层识别符具有零值(或指示对应层是基础层的其它值)时根据基础视频译码标准(例如,HEVC)对切片的切片标头的第一语法元素集合进行译码。同样,视频编码器20和视频解码器30可经配置以当层识别符具有非零值(或指示对应层不是基础层的其它值)时根据基础视频译码标准对第一语法元素集合以及根据对基础视频译码标准的扩展(例如,MV-HEVC、3D-HEVC、S-HEVC或类似者)对第二语法元素集合进行译码。当组合时,第一和第二语法元素集合可表示增强层中对应于层识别符的切片的切片标头的语法元素的完整集合。
如上文所论述,可针对增强层(或相依性视图)译码的一个语法元素集合是用于参考图片列表的初始化和/或修改的一或多个语法元素的集合。视频编码器20和视频解码器30可经配置以根据本发明的技术中的任一者或全部(单独或以任一组合)初始化参考图片列表。举例来说,视频编码器20和视频解码器30可经配置以根据下方表2对切片标头进行译码:
表2

表2的实例中的切片标头包含相对于例如HEVC WD8的常规切片标头的额外语法元素inter_view_ref_start_position。虽然表2中未图示,但在一些实例中,此额外语法元素将仅存在于具有指示切片发生在非基础层(或非基础视图)中的层识别符(例如,不等于零的layer_id)的切片标头中。在一些实例中,视频编码器20和视频解码器30可对切片标头的其它位置中的inter_view_ref_start_position的值进行译码,而不是遵循slice_header_extension_length。在表2的实例中,inter_view_ref_start_position可指定在参考图片列表初始化之后参考图片列表0中的视图间参考图片的起始位置。Inter_view_ref_start_position可具有在0到min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr)(包含性)的范围内的值。或者,inter_view_ref_start_position可具有在0到num_ref_idx_l0_active_minus1(包含性)的范围内的值。
在表2的实例中,inter_view_ref_start_position使用指数-哥伦布译码经译码为ue(v),也就是说,无符号整数。在其它实例中,视频编码器20和视频解码器30可改为使用可变数目的位将inter_view_ref_start_position译码为u(v),也就是说,无符号整数。使用的位数目可取决于用以对切片标头中的其它语法元素进行译码的位数目。在一些实例中,视频编码器20和视频解码器30可进一步对inter_view_ref_start_position_l1的值进行译码,以指定在参考图片列表初始化之后参考图片列表1中的视图间参考图片的起始位置。
视频编码器20和视频解码器30可以不同于HEVC WD8和H.264/MVC的方式构造RefPicListTemp0。确切地说,视频编码器20和视频解码器30可将视图间参考图片放在与inter_view_ref_start_position有关的位置中。举例来说,视频编码器20和视频解码器30可经配置以例如当对P或B切片标头进行译码时执行用于参考图片列表的以下初始化过程。视频编码器20和视频解码器30可将变量NumRpsCurrTempList0设定为等于Max(num_ref_idx_l0_active_minus1+1,NumPocTotalCurr),且如下构造RefPicListTemp0:


视频编码器20和视频解码器30可随后如下构造列表RefPicList0:
for(cIdx=0;cIdX≤num_ref_idx_l0_active_minus1;cIdx++)    (F-26)
      RefPicList0[cIdx]=ref_pic_list_modification_flag_l0?
          RefPicListTemp0[list_entry_l0[cIdx]]:RefPicListTemp0[cIdx]
当切片是B切片时,视频编码器20和视频解码器30可将变量NumRpsCurrTempList1设定为等于Max(num_ref_idx_l1_active_minus1+1,NumPocTotalCurr)且如下构造列表RefPicListTemp1:

当切片是B切片时,视频编码器20和视频解码器30可如下构造RefPicList1:
for(cIdx=0;cIdX≤num_ref_idx_l1_active_minus1;cIdx++)    (F-28)
      RefPicList0[cIdx]=ref_pic_list_modification_flag_l1?
          RefPicListTemp1[list_entry_l1[cIdx]]:RefPicListTemp1[cIdx]
或者,视频编码器20和视频解码器30可经配置以执行以下译码过程。在此实例中,视频编码器20和视频解码器30可以视图间参考仍跟随时间参考的方式构造RefPicLIstTemp0。然而,当构造初始参考图片列表时,视频编码器20和视频解码器30可基于inter_view_ref_start_position将视图间参考放置在较早位置中。Inter_view_ref_start_position可具有在0到M=min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore-1)(包含性)的范围内的值。或者,M可设定为等于min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr+NumPocIvCurr-1)。作为另一替代,M可设定为等于min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr-2)。在再一替代例中,M可设定为等于min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr-1)。或者,inter_view_ref_start_position可以Ceil(Log2(M+1))个位经译码为u(v)。
视频编码器20和视频解码器30可当对P或B切片标头进行译码时初始化参考图片列表,如下文所论述。视频编码器20和视频解码器30可将变量NumRpsCurrTempList0设定为等于Max(num_ref_idx_l0_active_minus1+1,NumPocTotalCurr),且如下构造列表RefPicListTemp0:


视频编码器20和视频解码器30可随后如下构造RefPicList0:

当切片是B切片时,视频编码器20和视频解码器30可将变量NumRpsCurrTempList1设定为等于Max(num_ref_idx_l1_active_minus1+1,NumPocTotalCurr)且如下构造列表RefPicListTemp1:

当切片是B切片时,视频编码器20和视频解码器30可如下构造列表RefPicList1:
for(cIdx=0;cIdX≤num_ref_idx_l1_active_minus 1;cIdx++)    (F-28)
      RefPicList0[cIdx]=ref_pic_list_modification_flag_l1?
          RefPicListTemp1[list_entry_l1[cIdx]]:RefPicListTemp1[cIdx]
视频编码器20和视频解码器30可将变量NumPocTotalCurr设定为等于NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr+NumPocIvCurr。在此实例中,RePIcSetIvCurr是视图间参考图片的RPS子集。
或者,在以上各种实例中,可以切片标头中视图间参考图片的起始位置将相似解码过程应用于参考图片列表1。
在一些实例中,视频编码器20和视频解码器30可对指示在RefPicListTemp0中何处添加视图间参考的2位指示符inter_view_pos_idc进行译码。下方表3概括用于此两位指示符的每一可能二进制值的inter_view_pos_idc的值和语义的一个实例:
表3

视频编码器20和视频解码器30可经配置以执行用于初始化RefPicListTemp0的以下过程。


视频编码器20和视频解码器30可对切片标头、图片参数集(PPS)、序列参数集(SPS)、调适参数集(APS)或视频参数集(VPS)中的inter_view_pos_idc进行译码。
在一些实例中,视频编码器20和视频解码器30可最初将视图间参考图片放置在RefPicSetStCurrBefore之后。举例来说,当对P或B切片标头进行译码时,视频编码器20和视频解码器30可将变量NumRpsCurrTempList0设定为等于Max(num_ref_idx_l0_active_minus1+1,NumPocTotalCurr)且如下构造列表RefPicListTemp0:


视频编码器20和视频解码器30可随后如下构造列表RefPicList0:

当切片是B切片时,视频编码器20和视频解码器30可将变量NumRpsCurrTempList1设定为等于Max(num_ref_idx_l1_active_minus1+1,NumPocTotalCurr)且如下构造列表RefPicListTemp1:

或者,视频编码器20和视频解码器30可如下构造列表RefPicListTemp1:


当切片是B切片时,视频编码器20和视频解码器30可如下构造列表RefPicList1:
for(cIdx=0;cIdX≤num_ref_idx_l1_active_minus1;cIdx++)    (F-28)
      RefPicList0[cIdx]=ref_pic_list_modification_flag_l1?
          RefPicListTemp1[list_entry_l1[cIdx]]:RefPicListTemp1[cIdx]
视频编码器20和视频解码器30可将变量NumPocTotalCurr设定为等于NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr+NumPocIvCurr。在此实例中,RePIcSetIvCurr是视图间参考图片的RPS子集。
或者,视频编码器20和视频解码器30可根据下方表4对切片标头进行译码:
表4

在此实例中,相对于HEVC WD8,在slice_header_extension_length之后将两个额外语法元素添加到切片标头。或者,新引入的语法元素可存在于切片标头的其它位置中且存在于参考图片列表修改(RPLM)语法元素之前。等于1的Inter_view_ref_pos_default_flag可指示视图间参考图片插入在参考图片列表0的默认起始位置中且inter_view_ref_start_position经导出为NumPocStCurrBefore。等于0的Inter_view_ref_pos_default_flag可指示视图间参考图片的起始位置由inter_view_ref_start_position决定。
或者,等于1的inter_view_ref_pos_default_flag可指示视图间参考图片插入在参考图片列表0的默认起始位置中,而等于0的inter_view_ref_pos_default_flag可指示视图间参考图片的起始位置由inter_view_ref_start_position决定。视频编码器20和视频解码器30可如下推导默认位置。首先,视频编码器20和视频解码器30可将KeyPicPoc设定为经解码图片缓冲器(DPB)中的图片的POC值,其中DPB中的全部图片当中的最大POC值具有等于0的temporalID且POC值小于当前POC。如果全部短期参考图片具有比KeyPicPoc小的POC值,那么inter_view_ref_start_position可导出为等于1;否则,inter_view_ref_start_position可导出为NumPocStCurrBefore。
在此实例中,inter_view_ref_start_position可指定在参考图片列表初始化之后参考图片列表0中的视图间参考图片的起始位置。Inter_view_ref_start_position可具有在0到min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr)(包含性)的范围内的值。或者,inter_view_ref_start_position可具有在0到num_ref_idx_l0_active_minus1(包含性)的范围内的值。用于参考图片列表初始化的译码过程可与如上文所描述的技术中的任一者相同。
或者,所述两个语法元素inter_view_ref_pos_default_flag和inter_view_ref_start_position可由单个语法元素inter_view_ref_start_position_plus1替换。等于零的Inter_view_ref_start_position_plus1可指示针对视图间参考图片未用信号表示明确的起始位置。对于inter_view_ref_start_position_plus1的其它值,inter_view_ref_start_position_plus1减1可指示参考图片列表中视图间参考图片的起始位置。
或者,视频编码器20和视频解码器30可根据下方表5对切片标头进行译码,其中带下划线的文字表示相对于HEVC WD8的添加:
表5

或者,新引入的语法元素(带下划线)可呈现在切片标头的其它位置中且存在于RPLM语法元素之前。或者,视图间参考图片的默认起始位置可能仅针对RefPicList0用信号表示,且用于RefPicList1的解码过程可保持与当前MV-HEVC规范相同。在此情况下,用于RefPicList1的参考图片列表初始化过程可保持不变。
在表5的实例中,inter_view_ref_start_position_LX_plus 1指定在参考图片列表初始化之后参考图片列表X中视图间参考图片的起始位置。Inter_view_ref_start_position_LX_plus1处于0到min(num_ref_idx_lX_active_minus1+1,NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr)(包含性)的范围内。当inter_view_ref_start_position_LX_plus1等于零时,在表5的实例中,视图间参考图片存在于参考图片列表中的默认位置中。对于其它非零值,在表5的实例中,inter_view_ref_start_position_LX_plus1减1表示初始参考图片列表中视图间参考图片的起始位置。当不存在时,inter_view_ref_start_position_LX_plus1可推断为默认值,其可等于NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr+1。
视频编码器20和视频解码器30可经配置以如下推导值InterViewRefStartPosLX:

或者,inter_view_ref_start_position_LX_plus1可用信号表示为两个语法元素:inter_view_ref_start_position_flag_LX和inter_view_ref_start_position_LX,其中 inter_view_ref_start_position_LX可在当且仅当inter_view_ref_start_position_flag_LX的值等于1的条件下用信号表示。Inter_view_ref_start_position_LX可指定在参考图片列表初始化之后参考图片列表X中视图间参考图片的起始位置。Inter_view_ref_start_position可在0到min(num_ref_idx_lX_active_minus1,NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr)(包含性)的范围内。当不存在时,inter_view_ref_start_position_LX可推断为等于(NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr)。
在一些实例中,当inter_view_ref_start_position_LX_plus1等于1时,参考图片列表初始化可能不改变,且因此,可与MV-HEVC工作草案中指定的相同。
视频解码器30可经配置以当根据以上表5实施时在解码过程期间执行以下操作。确切地说,视频解码器30可当对P或B切片标头进行解码时执行以下过程。视频解码器30可将变量NumRpsCurrTempList0设定为等于Max(num_ref_idx_l0_active_minus1+1,NumPocTotalCurr)。视频解码器30可随后如下构造列表RefPicListTemp0:

视频解码器30根据表5的实例可随后如下构造列表RefPicList0:
for(cIdx=0;cIdX≤num_ref_idx_l0_active_minus1;cIdx++)    (F-26)
      RefPicList0[cIdx]=ref_pic_list_modification_flag_l0?
          RefPicListTemp0[list_entry_l0[cIdx]]:RefPicListTemp0[cIdx]
当切片是B切片时,视频解码器30根据表5的实例可将变量NumRpsCurrTempList1设定为等于Max(num_ref_idx_l1_active_minus1+1,NumPocTotalCurr)。视频解码器30可随后如下构造列表RefPicListTemp1:

当切片是B切片时,视频解码器30根据表5的实例可如下构造列表RefPicList1:
for(cIdx=0;cIdX≤num_ref_idx_l1_active_minus 1;cIdx++)    (F-28)
      RefPicList1[cIdx]=ref_pic_list_modification_flag_l1?
          RefPicListTemp1[list_entry_l1[cIdx]]:RefPicListTemp1[cIdx]
类似于上述实例,针对RefPIcListX用信号表示的视图间参考起始位置在u(v)中用信号表示,而inter_view_ref_start_position或inter_view_ref_start_position_LX_plus1的范围在较小范围中,因此消耗较少位。
举例来说,inter_view_ref_start_position可在0到min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore)(包含性)的范围内。
或者,如在另一实例中,inter_view_ref_start_position处于0到min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore+NumPocStCurrAfter)(包含性)的范围内;且inter_view_ref_start_position_LX_plus1处于min(num_ref_idx_lX_active_minus1+1, (X?NumPocStCurrAfter:NumPocStCurrBefore))的范围内。
或者,如在另一实例中,inter_view_ref_start_position_LX_plus1处于min(num_ref_idx_lX_active_minus1+1,NumPocStCurrBefore+NumPocStCurrAfter)的范围内。
以上语法元素中的每一者的默认值当不存在时适于与所述语法元素的范围对准。
另一实例,类似于以上某些其它实例,inter_view_ref_pos_default_flag经扩展到RefPicList0和RefPicList1两者。Inter_view_ref_start_position或inter_view_ref_start_position_LX以如下范围用信号表示为u(v)。在一个此类实例中,inter_view_ref_start_position处于0到min(num_ref_idx_l0_active_minus1,NumPocStCurrBefore)(包含性)的范围内。inter_view_ref_start_position_LX处于min(num_ref_idx_lX_active_minus1,(X?NumPocStCurrAfter:NumPocStCurrBefore)-1)的范围内。
视频编码器20及视频解码器30各自可实施为可适用的多种合适的编码器或解码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20及视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为组合视频编码器/解码器(编解码器)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如蜂窝式电话。
图2是说明可实施用于构造参考图片列表的技术的视频编码器20的实例的框图。视频编码器20可以执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或去除视频序列的邻接帧或图片内的视频中的时间冗余。帧内模式(I模式)可以指若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可以指若干基于时间的译码模式中的任一者。
如图2中所示,视频编码器20接收待编码视频帧内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46及分割单元48。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60,及求和器62。还可包含解块滤波器(图2中未图示)以便对块边界进行滤波,以从经重构视频移除成块效应假象。必要时,解块滤波器 通常将对求和器62的输出进行滤波。除解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见未展示此类滤波器,但是必要时,这些滤波器可以对求和器50的输出进行滤波(作为环路内滤波器)。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可划分成多个视频块。运动估计单元42及运动补偿单元44相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测性译码以提供时间预测。帧内预测单元46可替代地相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收的视频块的帧内预测性译码以提供空间预测。视频编码器20可以执行多个译码遍次,例如,以为每一视频数据块选择一种适当的译码模式。
此外,分割单元48可以基于前述译码遍次中的前述分割方案的评估将视频数据块分割成子块。举例来说,分割单元48最初可以将帧或切片分割成LCU,并且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割成子CU。模式选择单元40可以进一步产生指示LCU划分成子CU的四叉树数据结构。四叉树的叶节点CU可包含一或多个PU和一或多个TU。
模式选择单元40可以基于错误结果选择译码模式中的一者(帧内或帧间),并且将所得的经帧内译码或经帧间译码块提供到求和器50以便产生残余块数据,并且提供到求和器62以便重构经编码块用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵编码单元56。
运动估计单元42与运动补偿单元44可高度集成,但出于概念目的分开加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正经译码的当前块的移位。
预测性块是被发现在像素差方面与待译码块紧密匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码器20可计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表 0)或第二参考图片列表(列表1),所述参考图片列表中的每一者识别存储在参考图片存储器64中的一或多个参考图片。
根据本发明的技术,当对非基础层的切片(可包含非基础视图的切片)进行编码时,运动估计单元42还可计算视图间运动向量(例如,用于视图间预测的视差运动向量)。因此,视频编码器20可将用于层间(或视图间)参考图片的识别符在特定位置添加到参考图片列表,以使得视频编码器20可对表示用于所述识别符的位置的语法元素进行编码。
如上文所论述,所述语法元素可具有表示在参考图片初始化过程期间将层间参考图片放置在何处的值。举例来说,所述语法元素可指示层间参考图片将在参考图片列表中连续放置,视图间参考图片将放置在用于当前切片的初始参考图片列表的开始,视图间参考图片将放置在具有比当前切片的图片次序计数(POC)值小的POC值的时间参考图片之后,视图间参考图片将放置在具有比当前切片的POC值大的POC值的时间参考图片之后,或视图间参考图片将放置在长期参考图片之后。
运动估计单元42将计算出来的运动向量发送到熵编码单元56及运动补偿单元44。由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动向量提取或产生预测性块。此外,在一些实例中,运动估计单元42与运动补偿单元44可以在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44便可以在参考图片列表中的一者中定位所述运动向量指向的预测性块。
求和器50通过从经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。一般来说,运动估计单元42相对于亮度分量执行运动估计,并且运动补偿单元44对于色度分量及亮度分量两者使用基于亮度分量计算的运动向量。模式选择单元40还可产生与视频块和视频切片相关联的供视频解码器30在对视频切片的视频块进行解码时使用的语法元素。
作为如上文所描述由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可以对当前块进行帧内预测。明确地说,帧内预测单元46可以确定用来编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可以例如在分开的编码编次期间使用各种帧内预测模式对当前块进行编码,并且帧内预测单元46(或在一些实例中为模式选择单元40)可以从所述测试模式中选择适当帧内预测模式来使用。
举例来说,帧内预测单元46可以使用速率失真分析计算针对各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预 测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可以根据用于各种经编码块的失真及速率计算比率,以确定哪种帧内预测模式对于所述块展现最佳速率失真值。
在针对一块选择帧内预测模式之后,帧内预测单元46可将指示用于所述块的所选帧内预测模式的信息提供到熵编码单元56。熵编码单元56可以编码指示选定帧内预测模式的信息。视频编码器20在发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表及多个经修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的上下文进行编码的定义,及对最可能帧内预测模式、帧内预测模式索引表及经修改的帧内预测模式索引表的指示以用于所述上下文中的每一者。
视频编码器20通过从经译码的原始视频块减去来自模式选择单元40的预测数据形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子带变换或其它类型的变换。
在任何情况下,变换处理单元52向残余块应用所述变换,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域,例如频域。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化所述变换系数以进一步减小位率。量化过程可减少与系数中的一些系数或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可以接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可以执行所述扫描。
在量化之后,熵编码单元56对经量化的变换系数进行熵译码。举例来说,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可以基于相邻块。在熵编码单元56的熵译码之后,可以将经编码位流发射到另一装置(例如视频解码器30),或者将所述视频存档用于以后发射或检索。
逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块,例如以供稍后用作参考块。运动补偿单元44可以通过将残余块加到参考图片存储器64中的帧中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重新构造的残余块以计算子整数像素值以用于运动估计。求和器62 将经重新构造的残余块加到由运动补偿单元44产生的经运动补偿的预测性块以产生经重新构造的视频块以用于存储在参考图片存储器64中。经重新构造的视频块可供运动估计单元42及运动补偿单元44用作参考块以帧间译码后续视频帧中的块。
虽然主要相对于时间预测而描述,但视频编码器20还可经配置以执行视图间预测。运动估计单元42和运动补偿单元44还可经配置以例如相对于视图间预测参考图片分别执行视差估计和视差补偿。因此,视频编码器20可经配置以利用本发明的技术来构造包含用于视图间参考图片的识别符的参考图片列表。
根据本发明的某些技术,视频编码器20可经配置以对多层视频数据(可包含多视图视频数据)进行译码。举例来说,视频编码器20可经配置以根据基础视频译码标准的扩展而对一或多个层(例如,一或多个视图)进行编码。作为一实例,视频编码器20可经配置以根据S-HEVC扩展对非基础层进行编码,或根据MV-HEVC或3D-HEVC扩展对非基础视图进行编码。视频编码器20可经配置以根据基础视频译码标准(例如,HEVC)对基础层视频数据进行编码。
通过根据基础视频译码标准对基础层(或基础视图)数据进行译码,视频编码器20不需要对用于基础层的基础视频译码标准的扩展的语法元素进行编码。举例来说,相对于以上实例,因为基础层视频数据无法经层间预测,所以将不存在对表示在用于基础层的参考图片列表中在何处定位用于层间参考图片的识别符的语法元素进行译码的理由。因此,视频编码器20可省略用于基础层视频数据的此类语法元素的译码。
然而,视频编码器20可根据对基础视频译码标准的扩展(例如S-HEVC、MV-HEVC或3D-HEVC)对非基础层视频数据(例如,切片标头中具有非零值的层识别符的切片)进行编码。因此,视频编码器20可对用于基础视频译码标准的语法元素和如由扩展界定的另一额外语法元素集合两者进行编码。此额外语法元素集合可包含(例如)表示参考图片列表中在何处定位层间参考图片的一或多个语法元素,如上文所论述。
图2的视频编码器20表示经配置以进行以下操作的视频译码器的实例:对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码,且当所述层识别符的值不等于零时根据基础视频译码标准对语法元素的第一集合进行译码,且根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码。
图2的视频编码器20还表示视频译码器的实例,其经配置以针对用于当前视图的当前切片的参考图片列表的构造而确定参考视图的视图间参考图片的识别符的位置,构造所述参考图片列表以使得视图间参考图片的识别符定位于参考图片列表的所确定位置中,对对应于当前切片的一部分的所确定位置的索引值进行译码,且基于所述索 引值使用视图间参考图片对当前切片的所述部分进行译码。
图3是说明可实施用于构造参考图片列表的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82及求和器80。在一些实例中,视频解码器30可执行总体上与关于视频编码器20(图2)描述的编码遍次互逆的解码遍次。
根据本发明的技术,视频解码器30可确定多层视频数据的切片是否处于基础层中或非基础层(例如,增强层或相依性视图)中。举例来说,视频解码器30可对切片的切片标头中具有指示所述切片处于基础层或非基础层中的层识别符进行解码。对于多视图视频数据,所述层识别符可对应于视图识别符(view_id)。在一些实例中,层识别符的零值指示切片处于基础层中,且层识别符的除零外的值指示切片处于非基础层(例如,增强层或相依性视图)中。
当视频解码器30确定切片处于基础层中时,视频解码器30可对符合基础视频译码标准的第一语法元素集合进行解码。当视频解码器30确定切片处于非基础层(例如,增强层或相依性视图)中时,除所述第一语法元素集合之外,视频解码器30可对符合基础视频译码标准的扩展的第二语法元素集合进行解码。所述第一和第二语法元素集合可经译码为序列参数集(SPS)、图片参数集(PPS)、切片标头或类似者中的任一者或任一组合的部分。
一般来说,所述第二语法元素集合包含用于不与基础视频译码标准相关的对基础视频译码标准的扩展的数据。举例来说,所述第二语法元素集合可包含与如何构造参考图片列表以包含层间(包含视图间)参考图片有关的一或多个语法元素。举例来说,在此实例中,所述一或多个语法元素可指示视图间参考图片将在参考图片列表中连续放置,放置在初始参考图片列表的开始,在具有比当前切片(其中正构造参考图片列表)的图片次序计数(POC)值小的POC值的时间参考图片之后,或在长期参考图片之后。
在上文所论述的实例中,视频解码器30可根据额外语法元素针对增强层或相依性视图中的切片构造参考图片列表。参考图片列表构造过程可包含以至少部分基于层间或视图间参考图片的位置的次序来构造包含时间参考图片的时间参考图片列表。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化的系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转发到运动补偿单元72。视频解码器30可以接收视 频切片层级及/或视频块层级处的语法元素。
运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可以基于用信号表示的帧内预测模式和来自当前图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(例如,B、P或GPB)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量及其它语法元素产生用于当前视频切片的视频块的预测性块。可以从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储于参考图片存储器82(也被称作经解码图片缓冲器)中的参考图片使用默认构造技术构造参考帧列表列表0和列表1。
运动补偿单元72通过剖析运动向量及其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码的当前视频块的预测性块。举例来说,运动补偿单元72使用一些接收到的语法元素确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态和用以对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元72还可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元72可根据接收的语法信息元素而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
逆量化单元76将在位流中提供且由熵解码单元70解码的经量化变换系数逆量化,即解量化。逆量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算以确定应应用的量化程度和同样逆量化程度的量化参数QPY。
逆变换单元78对变换系数应用逆变换,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残余块。
在运动补偿单元72基于运动向量及其它语法元素产生了当前视频块的预测性块之后,视频解码器30通过将来自逆变换单元78的残余块与由运动补偿单元72产生的相对应的预测性块求和来形成经解码视频块。求和器80表示可以执行此求和运算的一或多个组件。必要时,解块滤波器还可应用于对经解码块进行滤波以便移除成块假象。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变平滑或者以其 它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器82中,参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。
虽然主要相对于时间预测而描述,但视频解码器30还可经配置以执行视图间预测。运动补偿单元72还可经配置以例如相对于视图间预测参考图片执行视差补偿。因此,视频解码器30可经配置以利用本发明的技术来构造包含用于视图间参考图片的识别符的参考图片列表。
图3的视频解码器30表示经配置以进行以下操作的视频译码器的实例:对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码,且当所述层识别符的值不等于零时根据基础视频译码标准对语法元素的第一集合进行译码,且根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码。
图3的视频解码器30还表示视频译码器的实例,其经配置以针对用于当前视图的当前切片的参考图片列表的构造而确定参考视图的视图间参考图片的识别符的位置,构造所述参考图片列表以使得视图间参考图片的识别符定位于参考图片列表的所确定位置中,对对应于当前切片的一部分的所确定位置的索引值进行译码,且基于所述索引值使用视图间参考图片对当前切片的所述部分进行译码。
图4是说明用于构造参考图片列表且在对当前切片的一部分进行译码时使用参考图片列表的实例方法的流程图。视频编码器20和视频解码器30可经配置以执行图4的方法或大体上相似的方法。出于解释的目的,图4的方法是相对于视频解码器30而阐释,但应理解,视频编码器20还可经配置以执行相似方法。某些额外或替代的步骤可由视频编码器20执行,如下文所指出。
视频解码器30可首先接收且解码视图间参考图片(150)。确切地说,视频解码器30可例如以时间优先次序对各种视图中的图片(包含一或多个切片)进行解码。也就是说,位流可以在同一时间实例处用于全部图片的数据一起存在于位流中(例如,共同存取单元中)的方式来构造。因此,视频解码器30可以存取单元的图片在存取单元中且因此在位流中发生的次序对这些图片进行解码。当所述方法由视频编码器20执行时,视频编码器20或通信地耦合到视频编码器20的另一单元(例如多路复用器)可以此布置将视频数据组装到位流中,例如将用于共同时间实例的图片的视频数据囊封到存取单元中。视频解码器30可在参考图片存储器82中缓冲用于视图间参考图片的经解码数据。
视频解码器30可随后获得同一存取单元的不同视图中的图片(视图分量)的当前切 片的视频数据。当前切片的数据可使用视图间预测相对于视图间参考图片来译码。当所述方法由视频编码器20执行时,视频编码器20可例如使用速率失真优化来测试各种预测模式以确定视图间预测是否适当。在任何情况下,视频解码器30可确定参考图片列表中用于视图间参考图片识别符的位置(152)。
参考图片列表可包含例如存储于参考图片存储器82(也被称作经解码图片缓冲器)中的用于参考图片的识别符的有序集合。根据本发明的技术,所述参考图片列表可包含用于时间参考图片(当前视图的参考图片)的识别符和用于视图间参考图片的一或多个识别符。视频解码器30可经配置以使用上述技术中的任一者(单独或以任一组合)确定视图间参考图片识别符的位置。视频解码器30可随后构造参考图片列表(154),以使得视图间参考图片识别符定位于在步骤152中确定的位置。
视频解码器30可随后对用于当前切片的参考图片列表中视图间参考图片识别符的索引值进行译码(156)。也就是说,在此实例中,视频解码器30可接收索引值且对所述索引值进行解码,其中在此实例中,所述索引值对应于参考图片列表中视图间参考图片识别符的位置。以此方式,视频解码器30可确定将用以对当前切片的一部分进行解码的视图间参考图片。所述索引值可经译码为当前切片的块(例如预测单元(PU))的运动信息,且确切地说,经译码为所述运动信息中的参考索引。
当所述方法由视频编码器20执行时,如上文所解释,视频编码器20可确定当前切片的特定块应使用视图间预测来预测,且因此相应地对索引值进行译码。还应了解一般来说,所述索引值可对应于参考图片列表中的参考图片识别符中的任一者;然而在此具体实例中,所述索引对应于视图间参考图片的识别符以说明本发明的技术。
此外,因为所述索引值对应于参考图片列表中的视图间参考图片识别符,所以视频解码器30可使用视图间参考图片对当前切片的对应部分进行解码(158)。举例来说,假定所述部分对应于块(例如,PU),视频解码器30可接收界定(例如)所述块的视差运动向量的其它运动信息。视频解码器30(例如,视频解码器30的运动补偿单元72)可使用视差运动向量来检索用于当前块的经预测块。视频解码器30还可对残余信息(例如,经量化变换系数)进行解码且组合所述残余信息(在逆量化和逆变换之后)与经预测块以对当前块进行解码。另一方面,视频编码器20可将残余信息计算为原始块与经预测块之间的逐像素差的集合,且随后变换且量化所述残余信息。
以此方式,图4的方法表示对视频数据进行译码(例如,编码或解码)的方法的实例,所述方法包含针对用于当前视图的当前切片的参考图片列表的构造而确定参考视图的视图间参考图片的识别符的位置,构造参考图片列表以使得视图间参考图片的识 别符定位于参考图片列表的所确定位置,针对当前切片的一部分对对应于所确定位置的索引值进行译码,以及基于所述索引值使用视图间参考图片对当前切片的所述部分进行译码。
图5是说明根据本发明的技术的用于使用不同视频译码标准对多层视频数据进行编码的实例方法的流程图。虽然相对于图1和2的视频编码器20来阐释,但应理解其它视频编码装置可经配置以执行相似技术。举例来说,视频编码器或视频转码器可经配置以执行类似于图5的技术。
初始地,视频编码器20可对基础层的视频数据进行编码(200)。确切地说,视频编码器20可根据例如HEVC等基础视频译码标准对基础层的视频数据进行编码。举例来说,对于经帧内译码图片(I图片),视频编码器20可使用帧内预测对一或多个切片的块进行编码,且对于经帧间译码图片(P图片和B图片),视频编码器20可使用帧内预测、单向帧间预测或(对于B图片)双向预测中的任一者对一或多个切片的块进行编码。经编码后,基础层的视频数据可形成符合基础视频译码标准的位流。
视频编码器20还可对基础层中的切片的切片标头中具有零值的层识别符进行编码(202)。当层识别符的零值对应于基础层时使用零值。对于多视图视频译码,假定层识别符(例如,视图识别符)的零值对应于基础视图。在其中层(或视图)识别符的非零值对应于基础层/视图的实例中,视频编码器20可对基础层的切片的切片标头中对应于所述基础层的层识别符的值进行编码。
另外,视频编码器20可对用于基础层的切片的第一语法元素集合进行编码(204)。举例来说,视频编码器20可对用于基础层的切片的一或多个序列参数集(SPS)、图片参数集(PPS)和/或切片标头的语法元素进行编码。这些语法元素可符合基础视频译码标准的规范。此外,语法元素不需要包含对基础视频译码标准的扩展的语法数据。
视频编码器20可随后使用层间预测对非基础层的视频数据进行编码(206)。也就是说,视频编码器20可例如相对于基础层使用层间(或视图间)预测对非基础层(例如,可缩放扩展的增强层或用于多视图视频数据的相依性视图)的至少一些块进行编码。确切地说,视频编码器20可使用基础视频译码标准(即,基础层符合的基础视频译码标准)的扩展对非基础层的视频数据进行编码。假定基础视频译码标准是HEVC,在一些实例中所述扩展可对应于MV-HEVC、3D-HEVC或S-HEVC。当然,视频编码器20还可使用帧内预测和/或层内时间预测对非基础层的某些块进行编码。然而出于实例的目的,假定视频编码器20使用层间(或视图间)预测对至少一些块进行编码。
视频编码器20还可对非基础层的切片中具有不等于零的值的层识别符进行编码 (208)。在此实例中,假定层识别符的非零值对应于非基础层(或非基础视图,对于多视图视频译码)。然而,在其中非基础层可具有零值层识别符的情况下,视频编码器20可将所述层识别符编码为具有指示所述非基础层不是基础层的值。
另外,视频编码器20可对用于非基础层的切片的第一语法元素集合和第二语法元素集合的值进行编码(210)。也就是说,视频编码器20可对符合基础视频译码标准的语法元素集合以及符合基础层视频译码标准的扩展的一或多个语法元素的值进行编码。举例来说,视频编码器20可对符合表1到5中的一或多者的语法元素进行编码,如上文所论述。也就是说,在一些实例中,视频编码器20可对指示用于层间(或视图间)参考图片的识别符将在用于非基础层的切片的参考图片列表内定位在何处的语法元素进行编码。符合基础层视频译码标准的扩展的所述一或多个语法元素可包含在用于非基础层的SPS、PPS和/或切片标头中的任一者或全部内。视频编码器20可根据图4的实例方法对语法元素进行编码。
以此方式,图5的方法表示对视频数据进行编码的方法的实例,所述方法包含在当前切片形成多层视频数据的基础层的一部分时根据基础视频译码标准对当前切片的视频数据进行编码,且在当前切片形成多层视频数据的非基础层的一部分时根据对基础视频译码标准的扩展对当前切片的视频数据进行编码,对当前切片的切片标头中的层识别符的值进行编码,其中所述层识别符的值指示当前切片是否形成基础层或非基础层的一部分,并且,在当前切片形成非基础层的一部分时:根据基础视频译码标准对语法元素的第一集合进行编码,且根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行编码。
图6是说明根据本发明的技术的对视频数据进行解码的实例方法的流程图。虽然主要相对于图1和3的视频解码器30来描述,但应理解图6的方法可由任何视频解码装置(例如,视频解码器或视频转码器)执行。
视频解码器30可接收层的切片,且基于切片的切片标头中包含的层识别符的值而确定用于切片的层。在图6的实例中,视频解码器30首先对基础层的切片中为0的层识别符进行解码(230)。确切地说,视频解码器30确定切片处于基础层中,因为在此实例中层识别符等于零。当然,如果用于层识别符的不同值指派给基础层,那么视频解码器30可当在切片的切片标头中用信号表示的层识别符等于所述值时确定切片处于基础层中。此外,应理解层识别符可对应于多层译码中的层的识别符,其包含用于多视图译码的视图识别符。
基于切片处于基础层中的确定,视频解码器30可对用于基础层的切片的第一语法 元素集合进行解码(232)。举例来说,视频解码器30可根据例如HEVC等基础视频译码标准对语法元素进行解码。在一些实例中,这可包含选择经配置以根据基础视频译码标准剖析数据的剖析器。举例来说,所述剖析器可根据包含用于第一语法元素集合的条目而不包含用于其它语法元素(例如,对基础视频译码标准的扩展的语法元素)的条目的语法来配置。所述语法元素可包含(例如)序列参数集(SPS)、图片参数集(PPS)和/或切片标头。
视频解码器30可随后对基础层的视频数据进行解码(234)。举例来说,视频解码器30可确定基础层的切片的块是否经帧内译码或经帧间译码,且相应地对所述块进行解码。再次,根据视频数据处于基础层中的确定,视频解码器30可使用例如HEVC等基础视频译码标准的译码工具对视频数据进行解码。
视频解码器30可随后对非基础层的切片中具有非零值的层识别符进行解码(236)。确切地说,在对层识别符的非零值进行解码之后,视频解码器30可确定用于切片的层不是基础层。举例来说,视频解码器30可确定所述层是用于可缩放视频译码的增强层或用于多视图视频译码的相依性视图。再次,这是假定零值对应于基础层;在其中非零值对应于基础层的例子中,视频解码器30可当用于切片的层识别符具有除对应于基础层的值之外的值时确定切片处于非基础层中。
基于切片处于非基础层中的确定,视频解码器30可对用于非基础层的切片的第一语法元素集合(上文相对于基础层描述)和第二语法元素集合进行解码(238)。第二语法元素集合可对应于对于基础视频译码标准的扩展为特定的语法元素。也就是说,基础层可根据基础视频译码标准来译码,而非基础层可根据基础视频译码标准的扩展来译码。
因此,视频解码器30可对符合基础视频译码标准的语法元素(第一语法元素集合)以及符合基础视频译码标准的扩展的语法元素(第二语法元素集合)两者进行解码。假定基础视频译码标准是HEVC,所述扩展可对应于(例如)S-HEVC、MV-HEVC或3D-HEVC。如上文所解释,视频解码器30可选择根据基础视频译码标准的扩展配置的剖析器,以使得所述剖析器是根据包含用于第一语法元素集合和第二语法元素集合的条目的语法来构造。
视频解码器30可随后使用至少某种层间预测对非基础层的视频数据进行解码(240)。视频解码器30可使用帧内预测性或层内帧间预测性译码技术对非基础层的一些进行解码,但在此实例中假定非基础层的至少一些块是使用层间预测来译码。举例来说,所述块中的一些可使用视图间预测来译码。以此方式,视频解码器30可使用对基 础视频译码标准的扩展的译码工具来对经层间预测的块进行解码。
根据本发明的进一步技术,第二语法元素集合可包含指示如何对经层间预测块进行解码的数据。举例来说,第二语法元素集合可指示如何构造和/或修改参考图片列表以包含层间(可包含视图间)参考图片。使用这些语法元素,视频解码器30可构造或修改参考图片列表,例如如上文相对于图4所论述。
以此方式,图6的方法是对视频数据进行解码的方法的实例,所述方法包含对用于多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行解码,并且,当层识别符的值不等于零时:根据基础视频译码标准对语法元素的第一集合进行解码,且根据对基础视频译码标准的扩展对一或多个语法元素的第二集合进行解码。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序执行、可添加、合并或全部省略(例如,实践所述技术并不需要所有的所描述动作或事件)。此外,在某些实例中,可例如通过多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。
在一或多个实例中,所描述的功能可以用硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体一般可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一个或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或任何其它可用来存储指令或数据结构的形式的期望程序代码并且可由计算机存取的媒体。同样,任何连接可恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对非暂时性的有形存储媒体。如本文所使用,磁盘及光盘包含压缩光盘(CD)、 激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘使用激光以光学方式复制数据。上文的组合也应包含在计算机可读媒体的范围内。
指令可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
本发明的技术可以在广泛多种装置或设备中实施,包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件及/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述各种实例。这些和其它实例在所附权利要求书的范围内。

构造用于多视图或3DV视频译码的参考图片列表.pdf_第1页
第1页 / 共51页
构造用于多视图或3DV视频译码的参考图片列表.pdf_第2页
第2页 / 共51页
构造用于多视图或3DV视频译码的参考图片列表.pdf_第3页
第3页 / 共51页
点击查看更多>>
资源描述

《构造用于多视图或3DV视频译码的参考图片列表.pdf》由会员分享,可在线阅读,更多相关《构造用于多视图或3DV视频译码的参考图片列表.pdf(51页珍藏版)》请在专利查询网上搜索。

在一个实例中,例如视频编码器或解码器的视频译码器经配置以对多层视频数据的当前层中的当前切片的切片标头中的层识别符的值进行译码,且当所述层识别符的所述值不等于零时,根据基础视频译码标准对语法元素的第一集合进行译码,且根据对所述基础视频译码标准的扩展对一或多个语法元素的第二集合进行译码。语法元素的所述第二集合可包含表示用于参考图片列表中的参考层的层间参考图片的识别符的位置的语法元素,且所述视频译码器可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1