用于视频译码中的高级残余预测的滤波器的制作方法

文档序号:11162271阅读:590来源:国知局
用于视频译码中的高级残余预测的滤波器的制造方法与工艺

技术领域

本发明涉及视频编码和视频解码。



背景技术:

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、ITU-T H.265所定义的标准、目前正在开发的高效率视频译码(HEVC)标准及这些标准的扩展中所描述的视频压缩技术。视频装置可以通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码和/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间编码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。

空间或时间预测产生待译码块的预测性块。残余数据表示待译码原始块与预测性块的间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据编码的。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换至变换域,从而产生残余系数,可接着量化所述残余系数。可扫描最初布置为二维阵列的经量化的系数,以便产生系数的一维向量,且可应用熵译码以实现更多压缩。

可例如从多个视角编码视图来产生多视图译码位流。已经开发利用多视图译码方面的一些三维(3D)视频标准。举例来说,不同视图可发射左眼和右眼视图以支持3D视频。或者,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量和一个深度视图分量。



技术实现要素:

一般来说,本发明描述基于高级编解码器的多视图和3维(3D)视频译码的技术,包含以3D-HEVC编解码器对两个或更多个视图的译码。更具体来说,本发明描述与非基础视图中的高级残余预测(ARP)相关的实例技术。

在一个实例方面中,本发明描述一种对视频数据进行解码的方法,所述方法包括:基于所述视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置;将可分离的双线性内插滤波器应用于所述第一参考图片的样本以确定所述第一参考块的样本;确定第二参考图片中的第二参考块的位置;将所述可分离的双线性内插滤波器应用于所述第二参考图片的样本以确定所述第二参考块的样本;将所述可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本,其中所述第一、第二和第三参考图片中的每一者是不同图片;确定预测性块,其中所述预测性块的每一相应样本等于所述第一参考块的相应样本加相应残余预测符样本,所述相应残余预测符样本等于加权因数乘以所述第二参考块的相应样本与所述第三参考块的相应样本之间的差,其中所述第一参考块的所述相应样本、所述第二参考块的所述相应样本以及所述第三参考块的所述相应样本在所述第一、第二和第三参考块内对应于所述预测性块的所述相应样本的位置的位置处;从位流获得表示残余块的数据;以及至少部分地基于所述残余块和所述预测性块而重构所述当前图片的译码块。

在另一实例方面中,本发明描述一种对视频数据进行编码的方法,所述方法包括:基于所述视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置;将可分离的双线性内插滤波器应用于所述第一参考图片的样本以确定所述第一参考块的样本;确定第二参考图片中的第二参考块的位置;将所述可分离的双线性内插滤波器应用于所述第二参考图片的样本以确定所述第二参考块的样本;将所述可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本,其中所述第一、第二和第三参考图片中的每一者是不同图片;确定预测性块,其中所述预测性块的每一相应样本等于所述第一参考块的相应样本减相应残余预测符样本,所述相应残余预测符样本等于加权因数乘以所述第二参考块的相应样本与所述第三参考块的相应样本之间的差,其中所述第一参考块的所述相应样本、所述第二参考块的所述相应样本以及所述第三参考块的所述相应样本在所述第一、第二和第三参考块内对应于所述预测性块的所述相应样本的位置的位置处;至少部分地基于所述预测性块确定残余块;以及在位流中包含表示所述残余块的数据。

在另一实例方面中,本发明描述一种视频译码装置,其包括:存储器,其经配置以存储视频数据;以及一或多个处理器,其经配置以:基于所述视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置;将可分离的双线性内插滤波器应用于所述第一参考图片的样本以确定所述第一参考块的样本;确定第二参考图片中的第二参考块的位置;将所述可分离的双线性内插滤波器应用于所述第二参考图片的样本以确定所述第二参考块的样本;将所述可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本,其中所述第一、第二和第三参考图片中的每一者是不同图片;以及确定预测性块,其中所述预测性块的每一相应样本等于所述第一参考块的相应样本减相应残余预测符样本,所述相应残余预测符样本等于加权因数乘以所述第二参考块的相应样本与所述第三参考块的相应样本之间的差,其中所述第一参考块的所述相应样本、所述第二参考块的所述相应样本以及所述第三参考块的所述相应样本在所述第一、第二和第三参考块内对应于所述预测性块的所述相应样本的位置的位置处。

在另一实例方面中,本发明描述一种视频译码装置,其包括:用于基于所述视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置的装置;用于将可分离的双线性内插滤波器应用于所述第一参考图片的样本以确定所述第一参考块的样本的装置;确定第二参考图片中的第二参考块的位置;用于将所述可分离的双线性内插滤波器应用于所述第二参考图片的样本以确定所述第二参考块的样本的装置;用于将所述可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本的装置,其中所述第一、第二和第三参考图片中的每一者是不同图片;以及用于确定预测性块的装置,其中所述预测性块的每一相应样本等于所述第一参考块的相应样本减相应残余预测符样本,所述相应残余预测符样本等于加权因数乘以所述第二参考块的相应样本与所述第三参考块的相应样本之间的差,其中所述第一参考块的所述相应样本、所述第二参考块的所述相应样本以及所述第三参考块的所述相应样本在所述第一、第二和第三参考块内对应于所述预测性块的所述相应样本的位置的位置处。

在另一实例方面中,本发明描述一种其上存储有指令的计算机可读存储媒体,所述指令在被执行时致使用于对视频数据进行译码的装置:基于所述视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置;将可分离的双线性内插滤波器应用于所述第一参考图片的样本以确定所述第一参考块的样本;确定第二参考图片中的第二参考块的位置;将所述可分离的双线性内插滤波器应用于所述第二参考图片的样本以确定所述第二参考块的样本;将所述可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本,其中所述第一、第二和第三参考图片中的每一者是不同图片;以及确定预测性块,其中所述预测性块的每一相应样本等于所述第一参考块的相应样本加相应残余预测符样本,所述相应残余预测符样本等于加权因数乘以所述第二参考块的相应样本与所述第三参考块的相应样本之间的差,其中所述第一参考块的所述相应样本、所述第二参考块的所述相应样本以及所述第三参考块的所述相应样本在所述第一、第二和第三参考块内对应于所述预测性块的所述相应样本的位置的位置处。

在附图和下文描述中陈述本发明的一或多个实例的细节。其它特征、目标和优点将从所述描述、图式以及权利要求书而显而易见。

附图说明

图1是说明可利用本发明中描述的技术的实例视频译码系统的框图。

图2是说明用于多视图译码的实例预测结构的概念图。

图3是说明相对于一个译码单元(CU)的实例空间运动向量相邻者的概念图。

图4说明用于多视图视频译码中的时间残余的高级残余预测(ARP)的实例预测结构。

图5是说明当前块和参考块之间的实例关系的概念图。

图6是说明用于视图间残余的ARP的概念图。

图7是说明用于照明补偿参数的导出的实例相邻样本的概念图。

图8是说明可实施本发明的技术的实例视频编码器的框图。

图9是说明可实施本发明的技术的实例视频解码器的框图。

图10是说明双线性内插中的分数样本位置相依变量以及周围的整数位置样本的概念图。

图11是说明用于八分之一样本内插的实例整数样本和分数样本位置的概念图。

图12是说明根据本发明的技术的视频编码器的实例操作的流程图。

图13是说明根据本发明的技术的视频解码器的实例操作的流程图。

具体实施方式

高级残余预测(ARP)是在多视图/3D视频译码中使用的视频数据压缩技术。使用ARP的视频编码器产生当前块的残余预测符。在一些实例中,当前块是预测单元(PU)的预测块。此外,在一些实例中,视频编码器将加权因数应用于残余预测符。另外,视频编码器使用帧间预测以产生当前块的初始预测性块。视频编码器接着可产生当前块的最终预测性块(即,最终预测符)。

概念上,最终预测性块中的每一相应样本等于当前块的残余预测符中的相应对应样本以及当前块的初始预测性块中的相应对应样本的总和。此外,视频编码器产生当前块的残余块。概念上,当前块的残余块中的每一相应样本指示当前块的最终预测性块中的相应对应样本与当前块自身中的相应对应样本之间的差。

样本是像素的颜色分量(例如,明度、色度等)的值。在本发明中,第一块中的样本可称为对应于第二块中的样本,前提是所述两个样本在第一和第二块内相对于第一和第二块的左上方样本具有相同的位置。视频编码器在包括经编码视频数据的位流中包含表示当前块的残余块的数据。

类似地,当使用ARP对当前块进行解码时,视频解码器产生当前块的残余预测符,在需要的情况下反转加权因数的应用。另外,视频解码器使用帧间预测以确定当前块的初始预测性块。视频译码器随后确定当前块的最终预测性块(即,最终预测符)。概念上,最终预测性块的每一样本等于残余预测符的对应样本以及初始预测性块的对应样本的总和。

视频解码器基于位流中的数据确定当前块的残余块。视频解码器基于当前块的残余块和当前块的最终预测性块而重构当前块。概念上,经重构当前块的每一相应样本等于当前块的残余块的相应对应样本以及当前块的最终预测性块的相应对应样本的总和。

如上文所指出,视频译码器(即,视频编码器或视频解码器)产生当前图片的当前块的残余预测符。为了产生残余预测符,视频译码器基于当前块的运动向量确定第一参考图片中的第一参考块的位置。在一些情况下,所述运动向量是时间运动向量。在其它情况下,所述运动向量是视差运动向量。

参考图片是可用于视频译码器在对当前图片进行译码中使用的经先前译码图片。参考块是在参考图片中或从参考图片中的样本内插的样本的块。除确定第一参考块的位置之外,视频译码器还确定第二参考图片中的第二参考块的位置和第三参考图片中的第三参考块的位置。

在一些实例中,第一参考块、第二参考块和第三参考块具有与当前块相同的大小。此外,在一些实例中,残余预测符可为具有与当前块相同大小的块。视频译码器可基于第二和第三参考块产生残余预测符。举例来说,残余预测符的每一相应残余样本可等于加权因数乘以第二参考块中的相应对应样本与第三参考块中的相应对应样本之间的差。

在一些实例中,当前块是经双向帧间预测。因此,在此些实例中,当前块具有两个相异运动向量:指示第一参考图片列表(L0)中的参考图片的运动向量以及指示第二参考图片列表(L1)中的参考图片的运动向量。当视频译码器使用ARP对经双向帧间预测当前块进行译码时,视频译码器使用当前块的L0运动向量以基于L0中的时间参考图片(即,L0参考图片)的样本而确定第一L0参考块。另外,视频译码器可确定L0残余预测符。

以在单向情况中视频译码器将使用运动向量确定残余预测符相同的方式,视频译码器可使用当前块的L0运动向量确定L0残余预测符。视频译码器接着可确定初始L0预测性块。初始L0预测性块中的每一相应样本可指示第一L0参考块的相应样本以及加权因数乘以L0残余预测符中的对应样本的总和。视频译码器可以L1运动向量重复此过程以确定初始L1预测性块。

接着,视频译码器可确定当前块的最终预测性块。概念上,最终预测性块的每一相应样本是初始L0和L1预测性块中的相应对应样本的加权平均。在所述加权平均中,指派给初始L0和L1预测性块的样本的权重可基于L0参考图片、L1参考图片和当前图片的POC值。因此,无论当前块是经单向还是双向帧间预测(即,单向预测或双向预测),视频译码器都可产生当前块的最终预测性块。本发明可简单地将最终预测性块称为预测性块和残余预测符。

在一些情况下,当前块的运动向量具有子整数精度。换句话说,运动向量可指示参考图片的两个实际样本(即,在整数位置的样本)之间的位置。在参考图片的整数位置的样本在本文中可被称作“整数样本”。当运动向量指示参考图片的两个实际样本之间的位置时,视频编码器基于参考图片的整数样本而内插参考块的样本。因此,视频译码器可内插参考块中的样本作为在ARP中产生残余预测符的部分。

在以上描述中,将各种块的样本描述为“概念上”具有等于其它块中的对应样本的总和或差的值。实际上,视频译码器可削减样本以确保样本保持在适用范围中。举例来说,视频译码器可支持具有8位的位深度的样本。因此,在此实例中,样本可具有从-128到127的范围。另外,在此实例中,两个样本的相加可导致大于127的值,且一个样本从另一样本减去可导致小于最小值(例如,-128)的值。因此,视频译码器可削减大于127的值为127且可削减小于-128的值为128。此外,内插过程可导致样本在适用范围之外。因此,在一些情况下,视频译码器可削减经内插样本。

3D-HEVC是用于对多视图/三维(3D)视频数据进行编码的新兴标准。3D-HEVC的一些视频译码器实施方案至少针对单向预测情况削减所有中间数据,因为视频译码器实施方案再使用HEVC内插功能。此些中间数据可包含当前块的预测性块和当前块的参考块的样本。因为视频译码器削减中间数据,所以视频译码器针对单向预测ARP每样本执行三次削减操作,因为视频译码器以内插过程产生三个预测块(即,当前块的预测性块和参考块)。

此外,3D-HEVC的一些视频译码器实施方案当使用ARP确定第一参考块和第二参考块的样本时使用不可分离的滤波器。当视频译码器应用不可分离的滤波器以确定在子整数位置的样本的值时,视频译码器使用削减操作以确定在全整数位置的周围样本的x和y坐标。

每一削减操作可涉及两个比较操作:一个用于比较值与上限且另一个用于比较值与下限。因此,执行削减操作增加了计算复杂性,其可减慢译码过程且可导致较大的电力消耗。

本发明的特定技术可减少ARP中涉及的削减操作的数目。举例来说,根据本发明的技术,当确定第一参考块时,视频译码器可将可分离的双线性内插滤波器应用于第一参考图片的样本以确定第一参考块的样本。类似地,当确定第二参考块时,视频译码器可将可分离的双线性内插滤波器应用于第二参考图片的样本以确定第二参考块的样本。类似地,当确定第三参考块时,视频译码器可将可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本。由于应用此可分离的双线性内插滤波器,因此可避免不可分离的滤波器涉及的削减操作,这可减少复杂性。另外,可再使用HEVC设计中的经加权预测过程。

在一些实例中,用于每一阶段(例如,子整数位置)的可分离的双线性内插滤波器中使用的系数的总和可共计为64,其与布洛斯等人的“高效视频译码(HEVC)缺陷报告3(High Efficiency Video Coding(HEVC)Defect Report 3)”(ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC)第16次会议,美国圣何塞,2014年1月,文档编号JCTVC-P1003_v1(下文为“HEVC版本1”或“HEVC草案规范”))中使用的其它双线性内插滤波器相同。换句话说,对于多个阶段中的每一相应阶段,用于相应阶段的可分离的双线性内插滤波器的系数的总和等于64,所述多个阶段对应于位流所符合的视频译码标准(例如,3D-HEVC)允许的子整数位置。在一些实例中,对于所述多个阶段中的每一相应相位,用于相应阶段的可分离的双线性内插滤波器的相应系数的总和等于(x*8,(8-x)*8),其中x等于在0到8的范围内的值。总计为64的系数可具有通过协调在ARP中使用的内插滤波器与在HEVC版本1中在别处使用的双线性内插滤波器而减少复杂性的增加益处。

因此,视频译码器可基于视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置。视频译码器可将可分离的双线性内插滤波器应用于第一参考图片的样本以确定第一参考块的样本。另外,视频译码器可确定第二参考图片中的第二参考块的位置。此外,视频译码器可将可分离的双线性内插滤波器应用于第二参考图片的样本以确定第二参考块的样本。视频译码器可将可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本。第一、第二和第三参考图片中的每一者是不同图片。视频译码器可确定预测性块。预测性块的每一相应样本等于第一参考块的相应样本加相应残余预测符样本。相应残余预测符样本等于非零加权因数乘以第二参考块的相应样本与第三参考块的相应样本之间的差。第一参考块的相应样本、第二参考块的相应样本以及第三参考块的相应样本在第一、第二和第三参考块内对应于预测性块的相应样本的位置的位置处。

图1是说明可利用本发明的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”一般是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。

如图1中所示,视频译码系统10包含源装置12、目的地装置14和网络元件15。源装置12产生经编码的视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地装置14可以对由源装置12所产生的经编码的视频数据进行解码。因此,目的地装置14可以被称为视频解码装置或视频解码设备。源装置12以及目的地装置14可以是视频编解码装置或视频编解码设备的实例。

源装置12和目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记本(例如,膝上型计算机)计算机、平板计算机、机顶盒、例如所谓的“智能”电话(即,智能电话、手机、蜂窝式电话)的电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车内计算机或类似物。

网络元件15可接收经编码视频数据且输出经处理的经编码视频数据。网络元件15可为媒体感知网络元件(MANE)、内容递送网络(CDN)装置或另一类型的装置(例如,计算装置)。网络元件15、源装置12、目的地装置14以及处理视频数据的其它类型的装置可视为视频处理装置。

目的地装置14可经由信道16从源装置12接收经编码视频数据。信道16可包括能够将经编码视频数据从源装置12移动至目的地装置14的一或多个媒体或装置。在一个实例中,信道16包括使得源装置12能够实时将经编码视频数据直接发射到目的地装置14的一或多个通信媒体。在此实例中,源装置12可以根据例如无线通信协议等通信标准调制经编码的视频数据,并且可以将经调制的视频数据发射到目的地装置14。一或多个通信媒体可以包含无线通信媒体和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。一或多个通信媒体可形成基于数据包的网络的一部分,基于数据包的网络例如局域网、广域网或全球网络(例如,因特网)。信道16可包含路由器、交换机、基站或促进从源装置12到目的地装置14的通信的其它设备。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可(例如)经由磁盘存取或卡存取来存取存储媒体。存储媒体可以包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码的视频数据的其它合适数字存储媒体。

在另一实例中,信道16可以包含存储由源装置12产生的经编码的视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可以经由流式传输或下载而存取存储于文件服务器或其它中间存储装置处的经编码的视频数据。文件服务器可为能够存储经编码视频数据并且将经编码视频数据传输到目的地装置14的一种类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置和本地磁盘驱动器。

目的地装置14可以通过标准数据连接(例如因特网连接)来存取经编码的视频数据。数据连接的实例类型可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从文件服务器的发射可为流式发射、下载发射或两者的组合。

本发明的技术不限于无线应用或设置。所述技术可应用于视频译码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、对视频数据进行编码以存储于数据存储媒体上、对存储在数据存储媒体上的视频数据进行解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播及/或视频电话等应用。

图1仅为实例,且本发明的技术可适用于未必包含编码及解码装置之间的任何数据通信的视频译码设定(例如视频编码或视频解码)。在其它实例中,从本地存储器检索、在网络上流式传输或以类似方式处理数据(例如,视频数据)。视频编码装置可将数据(例如,视频数据)编码且存储到存储器,和/或视频解码装置可从存储器检索且解码数据(例如,视频数据)。在许多实例中,通过并不彼此通信而是简单地编码数据到存储器和/或从存储器检索数据且解码数据(例如,视频数据)的装置执行编码和解码。

在图1的实例中,源装置12包含视频源18、视频编码器20以及输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、用于从视频内容提供者接收视频数据的视频馈入接口及/或用于产生视频数据的计算机图形系统,或视频数据的此等源的组合。因此,在一些实例中,源装置12包括经配置以俘获视频数据的相机。

视频编码器20可对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码的视频数据直接发射到目的地装置14。在其它实例中,经编码的视频数据也可存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或回放。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可经由信道16接收经编码视频数据。视频解码器30可对经编码视频数据进行解码。显示装置32经配置以显示经解码视频数据。显示装置32可与目的地装置14集成或在目的地装置14外部。显示装置32可以包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

视频编码器20和视频解码器30各自可实施为例如以下各者的多种合适电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施所述技术,那么装置可将软件的指令存储在合适的非暂时性计算机可读存储媒体中,且可使用一或多个处理器以硬件执行指令从而执行本发明的技术。可以将前述内容中的任一者(包含硬件、软件、硬件与软件的组合等)视为一或多个处理器。视频编码器20和视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的一部分。

本发明大体上可指视频编码器20将某些信息“用信号表示”给另一装置(例如,视频解码器30)。术语“用信号表示”可大体上指传达用以解码经压缩视频数据的语法元素及/或其它数据。此传送可实时或几乎实时发生。替代地,此通信可经过一段时间后发生,例如可在编码时以经编码位流将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。

在一些实例中,视频编码器20及视频解码器30根据视频压缩标准而操作,例如ISO/IEC MPEG-4Visual及ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)扩展、多视图视频译码(MVC)扩展及基于MVC的3DV扩展。在一些情况下,符合H.264/AVC的基于MVC的3DV扩展的任何位流始终含有顺应H.264/AVC的MVC扩展的子位流。MVC的最新联合草案描述于2010年3月的“用于通用视听服务的高级视频译码(Advanced video coding for generic audiovisual services)”(ITU-T建议H.264)中。此外,正在致力于产生H.264/AVC的三维视频(3DV)译码扩展,即基于AVC的3DV。在其它实例中,视频编码器20和视频解码器30可根据ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263以及ISO/IEC MPEG-4视觉来操作。

在其它实例中,视频编码器20及视频解码器30根据由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)标准操作。HEVC草案规范可得自:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/16_San%20Jose/wg11/JCTVC-P1003-v1.zip。

在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,表示为SL、SCb和SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可以被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。在其它实例中,图片可包括用于不同类型的颜色分量的样本阵列,例如RGB、YCgCo等等。

为了产生图片的经编码表示,视频编码器20产生译码树单元(CTU)的集合。CTU中的每一者可包括明度样本的译码树块(CTB)、色度样本的两个对应的译码树块,以及用以对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块和用于对所述译码树块的样本进行译码的语法结构。译码树块可为样本的NxN块。CTU也可以被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可以广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU未必限于特定大小,并且可以包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续排序的整数数目的CTU。

本发明可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块及用于对所述一或多个样本块中的样本进行译码的语法结构。实例类型的视频单元可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些情形中,PU的论述可与宏块或宏块分区的论述互换。

为了产生经编码CTU,视频编码器20可对CTU的译码树块递归地执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxN块。CU可包括具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块以及色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块和用以对译码块的样本进行译码的语法结构。

视频编码器20可将CU的译码块分割为一或多个预测块。预测块是对其应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括明度样本的预测块、色度样本的两个对应预测块和用以预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块和用以预测预测块的语法结构。视频编码器20可针对CU的每一PU的预测块(例如,明度、Cb和Cr预测块)产生预测性块(例如,明度、Cb和Cr预测性块)。

视频编码器20可使用帧内预测或帧间预测来产生PU的预测块。如果视频编码器20使用帧内预测以产生PU的预测性块,那么视频编码器20可基于包含PU的图片的经解码样本产生PU的预测性块。如果视频编码器20使用帧间预测以产生PU的预测性块,那么视频编码器20可基于除包含PU的图片外的一或多个图片的经解码样本而产生PU的预测性块。

在视频编码器20产生CU的一或多个PU的预测性块(例如,明度、Cb和Cr预测性块)之后,视频编码器20可产生CU的一或多个残余块。举例来说,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每个样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中对应的样本之间的差异。另外,视频编码器20可以产生CU的Cb残余块。CU的Cb残余块中的每一样本可以指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中对应的样本之间的差异。视频编码器20还可产生CU的Cr残余块。CU的Cr残余块中的每一样本可以指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差异。

此外,视频编码器20可使用四叉树分割将CU的残余块(例如,明度、Cb及Cr残余块)分解为一或多个变换块(例如,明度、Cb及Cr变换块)。变换块是对其应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括明度样本的变换块、色度样本的两个对应变换块及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可具有明度变换块、Cb变换块以及Cr变换块。TU的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可以是CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块和用以对变换块的样本进行变换的语法结构。

视频编码器20可以将一或多个变换应用到TU的变换块以产生TU的系数块。举例来说,视频编码器20可将一或多个变换应用到TU的明度变换块以产生TU的明度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用至TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用至TU的Cr变换块以产生TU的Cr系数块。

在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可以对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。

视频编码器20可输出包含形成经译码图片及相关联数据的表示的位序列的位流。因此,位流包括视频数据的经编码表示。位流可包括一连串网络抽象层(NAL)单元。NAL单元是含有NAL单元中的数据类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。

不同类型的NAL单元可囊封不同类型的RBSP。例如,不同类型的NAL单元可包封用于视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、经译码切片、补充增强信息(SEI)等的不同RBSP。囊封用于视频译码数据的RBSP(与用于参数集和SEI消息的RBSP相反)的NAL单元可被称为视频译码层(VCL)NAL单元。在HEVC(即,非多层HEVC)中,存取单元可为按解码次序连续且含有确切一个经译码图片的NAL单元的集合。除经译码图片的经译码切片NAL单元之外,存取单元还可含有不含经译码图片的切片的其它NAL单元。在一些实例中,对存取单元的解码始终产生经解码图片。补充增强信息(SEI)含有并非对来自VCL NAL单元的经译码图片的样本进行解码所必需的信息。SEI RBSP含有一或多个SEI消息。

视频解码器30可以接收由视频编码器20产生的位流。另外,视频解码器30可以剖析位流以获得来自位流的语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构视频数据的图片。用以重建视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量来确定当前CU的PU的预测性块。另外,视频解码器30可逆量化当前CU的TU的系数块。视频解码器30可对系数块执行逆变换以重构当前CU的TU的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可重构图片。

当前,VCEG和MPEG的3D视频译码联合合作小组(JCT-3C)正在开发基于HEVC的3DV标准,其标准化努力的部分包含基于HEVC的多视图视频编解码器(MV-HEVC)的标准化和用于基于HEVC的3D视频译码(3D-HEVC)的另一部分。对于3D-HEVC,可包含且支持用于纹理和深度视图两者的新译码工具,包含处于CU/PU层级的那些译码工具。参考软件描述如下可用:张等人的“3D-HEVC和MV-HEVC的测试模型6(Test Model 6of 3D-HEVC and MV-HEVC)”(JCT3V-F1005,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第6次会议:瑞士日内瓦,2013年11月,下文为“JCT3V-F1005”)。JCT3V-F1005可从以下链接下载:http://phenix.it-sudparis.eu/jct2/doc_end_user/current_document.php?id=1636。泰克等人的“3D-HEVC草案文本2(3D-HEVC Draft Text 2)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第6次会议:瑞士日内瓦,2013年11月,文献JCT3V-F1001(下文为“3D-HEVC草案文本2”))是3D-HEVC的工作草案。3D-HEVC草案文本2可从以下链接下载:http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V-F1001-v4.zip。

泰克等人的“3D-HEVC草案文本4(3D-HEVC Draft Text 4)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第8次会议:西班牙巴伦西亚,2014年3月29日至4月4日,文献JCT3V-H1001_v2(下文为“3D-HEVC草案文本4”或“当前3D-HEVC”))是3D-HEVC的另一工作草案。

本发明的技术潜在地适用于多视图译码和/或3DV标准和规范,包含MV-HEVC和3D-HEVC。在例如MV-HEVC、3D-HEVC草案文本2和3D-HEVC草案文本4中界定的多视图译码中,可存在同一场景的从不同视点的多个视图。在多视图译码和可缩放视频译码的上下文中,术语“存取单元”可用以指代对应于同一时间实例的图片的集合。在一些情况下,在多视图译码和可缩放视频译码的上下文中,存取单元可为根据指定分类规则彼此相关联、按解码次序连续且含有与同一输出时间相关联的所有经译码图片的VCL NAL单元及其相关联非VCL NAL单元的NAL单元的集合。因此,视频数据可经概念化为随时间出现的一系列存取单元。

在例如3D-HEVC草案文本4中界定的3DV译码中,“视图分量”可为单个存取单元中的视图的经译码表示。视图分量可含有纹理视图分量和深度视图分量。深度视图分量可为单个存取单元中的视图的深度的经译码表示。纹理视图分量可为单个存取单元中的视图的纹理的经译码表示。在本发明中,“视图”可指与相同视图识别符相关联的一连串视图分量。

视图的一图片集合内的纹理视图分量及深度视图分量可被视为对应于彼此。举例来说,视图的图片组内的纹理视图分量认为是对应于视图的所述图片组内的深度视图分量,且反之亦然(即,深度视图分量对应于所述组中的其纹理视图分量,且反之亦然)。如本发明中所使用,对应于深度视图分量的纹理视图分量可被视为纹理视图分量且深度视图分量为单一存取单元的同一视图的部分。

纹理视图分量包含所显示的实际图像内容。举例来说,所述纹理视图分量可包含明度(Y)及色度(Cb及Cr)分量。深度视图分量可指示其对应纹理视图分量中的像素的相对深度。作为一个实例,深度视图分量为仅包含明度值的灰阶图像。换句话说,深度视图分量可不传达任何图像内容,而是提供纹理视图分量中的像素的相对深度的量度。

在多视图译码和SVC译码中,位流可具有多个层。在多视图译码中,所述层中的每一者可对应于不同视图。如果视频解码器(例如,视频解码器30)可解码层中的图片而无需参考任何其它层中的图片,那么层可被称为“基础层”。如果层的解码取决于在一或多个其它层中的图片的解码,那么所述层可被称为“非基础层”或“相依性层”。当对非基础层中的一者中的图片进行译码时,视频译码器(例如,视频编码器20或视频解码器30)可在图片与视频译码器当前正译码的图片处于不同视图中但在同一时间实例(即,存取单元)内的情况下将所述图片添加到参考图片列表中。如同其它帧间预测参考图片,视频译码器可在参考图片列表的任何位置处插入视图间预测参考图片。

在SVC中,除基础层外的层可被称为“增强层”且可提供增强从位流解码的视频数据的视觉质量的信息。SVC可增强空间分辨率、信噪比(即,质量)或时间速率。在可缩放视频译码(例如,SHVC)中,“层表示”可为单个存取单元中的空间层的经译码表示。为便于说明,本发明可将视图分量和/或层表示称为“视图分量/层表示”或简称为“图片”。

为了实施所述层,NAL单元的标头可包含nuh_reserved_zero_6bits语法元素,其也可被称作“nuh_layer_id”语法元素。具有指定不同值的nuh_reserved_zero_6bit语法元素的NAL单元属于位流的不同层。因此,在多视图译码(例如,MV-HEVC)、3DV(例如,3D-HEVC)或SVC(例如,SHVC)中,NAL单元的nuh_reserved_zero_6bits语法元素指定所述NAL单元的层识别符(即,层ID)。在一些实例中,如果一NAL单元与多视图译码(例如,MV-HEVC)、3DV译码(例如,3D-HEVC)或SVC(例如,SHVC)中的基础层有关,那么所述NAL单元的nuh_reserved_zero_6bits语法元素等于0。可在不参考位流的任何其它层中的数据的情况下解码位流的基础层中的数据。如果NAL单元并不涉及多视图译码、3DV或SVC中的基础层,那么语法元素的nuh_reserved_zero_6bits语法元素可具有非零值。如上文所指出,在多视图译码和3DV译码中,位流的不同层可对应于不同视图。

此外,在一层内的一些视图分量/层表示可在不参考同一层内的其它视图分量/层表示的情况下加以解码。因此,囊封一层的某些视图分量/层表示的数据的NAL单元可从位流移除,而不影响所述层中的其它视图分量/层表示的可解码性。移除囊封此些视图分量/层表示的数据的NAL单元可减小位流的帧速率。可在不参考在一层内的其它视图分量/层表示的情况下解码的在所述层内的视图分量/层表示的子集可在本文中被称作“子层”或“时间子层”。

NAL单元可包含指定NAL单元的时间识别符(即,TemporalIds)的temporal_id语法元素。NAL单元的时间识别符识别NAL单元属于的子层。因此,位流的每一子层可具有不同时间识别符。一般来说,如果第一NAL单元的时间识别符小于第二NAL单元的时间识别符,那么可在不参考由第二NAL单元囊封的数据的情况下解码由第一NAL单元囊封的数据。

图2是说明用于多视图译码的实例预测结构的概念图。图2的多视图预测结构包含时间及视图间预测。在图2的实例中,每一正方形对应于一视图分量。在图2的实例中,将存取单元标记为T0...T11及将视图标记为S0...S7。标记为“I”的正方形为经帧内预测视图分量。标记为“P”的正方形为单向帧间预测视图分量。标记为“B”及“b”的正方形为经双向帧间预测视图分量。标记为“b”的正方形可将标记为“B”的正方形用作参考图片。从第一正方形指向第二正方形的箭头指示第一正方形可在帧间预测时用作第二正方形的参考图片。如由图2中的垂直箭头所指示,可将同一存取单元的不同视图中的视图分量作为参考图片。因此,图2展示用于多视图视频译码的典型的多视图译码预测(包含每一视图内的图片间预测及视图间预测两者)结构,其中由箭头指示预测,被指向对象使用指出对象用于预测参考。将存取单元的一个视图分量用作相同存取单元的另一视图分量的参考图片可被称为视图间预测。

在多视图译码中,在从同一存取单元的不同视图(即,具有相同时间例项)俘获的图片当中执行视图间预测以移除视图之间的相关度。以视图间预测译码的图片可添加到其它非基础视图的视图间预测的参考图片列表中。视图间预测参考图片可以与帧间预测参考图片相同的方式放入参考图片列表的任何位置中。

在多视图视频译码的的情况下,存在两个类型的运动向量。一种类型是指向时间参考图片的正常运动向量(即,时间运动向量)且对应时间帧间预测是运动补偿预测(MCP)。另一种类型是指向不同视图中的图片(即,视图间参考图片)的视差运动向量(DMV)且对应帧间预测为视差补偿预测(DCP)。视频译码器可使用时间运动向量和视差运动向量两者用于帧间预测。一般来说,视差向量不是视差运动向量,除非用于帧间预测。

在HEVC版本1中,存在两个帧间预测模式,对于PU分别被命名为合并(跳过视为合并的特殊情况)和高级运动向量预测(AMVP)模式。在AMVP或合并模式中,为多个运动向量预测符维持运动向量(MV)候选者列表。当前PU的运动向量(以及合并模式中的参考索引)是通过从MV候选者列表获取一个候选者而产生。

MV候选者列表含有用于合并模式的多达5个候选者和用于AMVP模式的仅两个候选者。合并候选者可含有运动信息集合,例如对应于两个参考图片列表(列表0和列表1)的运动向量和参考索引。如果通过合并索引来识别合并候选者,那么参考图片用于当前块的预测以及确定相关联的运动向量。然而,在AMVP模式下,对于自列表0或列表1起的每一潜在预测方向,将参考索引连同对MV候选者列表的MVP索引一起明确地用信号表示,这是因为AMVP候选者仅含有运动向量。在AMVP模式中,进一步用信号表示所选运动向量与对应于MVP索引的运动向量预测符之间的运动向量差。如可从上文看出,合并候选者对应于整个运动信息集合,而AMVP候选者仅含有用于特定预测方向的一个运动向量和参考索引。

在3D-HEVC草案文本4中,最终合并候选者列表包含来自HEVC基础合并列表(即,根据HEVC版本1产生的合并列表)的条目以及通过所谓的视图间预测导出的额外候选者。更具体来说,如下描述主要过程。

第一,将空间和时间合并候选者插入到基础合并候选者列表中,与HEVC版本1中类似。第二,当必要时将也被称作组合式双向预测合并候选者的虚拟候选者以及零候选者插入到基础合并候选者列表中,以使得候选者的总数等于MaxNumMergeCand,其等于例如在视图间预测或运动参数继承(MPI)经启用的情况下如切片标头中用信号表示的单视图HEVC候选者的数目加一。在此之后,形成HEVC基础候选者列表。第三,通过将额外3D-HEVC候选者以及HEVC基础候选者列表中的候选者插入到一个列表中而产生3D-HEVC合并列表。第四,额外3D-HEVC候选者包含:经视图间预测的运动候选者,表示为IvMC;视图间视差向量候选者,表示为IvDC;视图合成预测候选者,表示为VSP;移位候选者,表示为IvShift,等于表示为IvMCShift的经移位经视图间预测的运动候选者或由IvDCShift表示的经移位视差合并候选者。

视频译码器可将视差向量(DV)用作两个视图之间的视差的估计量。视频译码器可使用基于相邻块的视差向量(NBDV)过程以导出视差向量。NBDV过程用于3D-HEVC草案文本4中的视差向量导出方法,其使用纹理优先译码顺序用于所有视图。在3D-HEVC草案文本4中,通过从参考视图的深度图检索深度数据可进一步精炼从NBDV导出的视差向量。

当视频译码器执行NBDV过程以导出视差向量时,视频译码器使用视差向量(DV)作为两个视图之间的位移的估计量。因为相邻块在视频译码中几乎共享相同的运动/视差信息,所以当前块可使用相邻块中的运动向量信息作为良好预测符。依照此想法,NBDV过程使用相邻视差信息用于估计不同视图中的视差向量。

首先界定若干空间和时间相邻块。这些相邻块可被称为“视差运动向量候选者”。视频译码器随后以通过当前块与候选块之间的相关的优先级所确定的预定义次序检查空间和时间相邻块中的每一者。一旦视频译码器在视差运动向量候选者中找到视差运动向量(即,所述运动向量指向视图间参考图片),视频译码器便将视差运动向量转换为视差向量。视频译码器返回视差向量和相关联视图次序索引作为NBDV过程的输出。视图的视图次序索引可指示所述视图相对于其它视图的相机位置。如上方提及,视频译码器可在NBDV过程中使用相邻块的两个集合。相邻块的一个集合是空间相邻块并且相邻块的另一集合是时间相邻块。

L·张等人的“3D-CE5.h:视差向量产生结果(3D-CE5.h:Disparity vector generation results)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第1次会议:瑞典斯德哥尔摩,2012年7月16-20日,文献JCT3V-A0097(下文为“JCT3V-A0097”))中所提议的NBDV过程首先采用到3D-HEVC中。NBDV导出过程已经进一步调适。举例来说,在桑(Sung)等人的“3D-CE5.h:基于HEVC的3D视频译码的视差向量导出的简化(3D-CE5.h:Simplification of disparity vector derivation for HEVC-based 3D video coding)”(ITU-T SG 16WP 3和ISO/IEC JTC1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第1次会议:瑞典斯德哥尔摩,2012年7月16-20日,文献JCT3V-A0126(下文为“JCT3V-A0126”))中的简化NBDV包含隐式视差向量(IDV)。此外,在康等人的“3D-CE5.h相关:用于视差向量导出的改进(3D-CE5.h related:Improvements for disparity vector derivation)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第2次会议:中国上海,2012年10月13-19日,文献JCT3V-B0047(下文为“JCT3V-B0047”))中,通过移除存储在经解码图片缓冲器中的IDV而进一步简化NBDV导出过程,同时提供关于RAP图片选择的改进的译码增益。康等人的“CE2:在3D-HEVC中的基于CU的视差向量导出(CE2:CU-based Disparity Vector Derivation in 3D-HEVC)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第4次会议:韩国仁川,2013年4月20-26日,文献JCT3V-D0181)提出了基于CU的NBDV,其中DV是针对CU导出且应用于其中的所有PU。

在一些NBDV过程中,视频译码器使用五个空间相邻块用于视差向量导出。所述五个空间相邻块是覆盖当前PU的CU的左下方、左边、右上方、上方和左上方块,如图3中所示由A0、A1、B0、B1或B2表示。图3是说明相对于一个CU 40的实例空间运动向量相邻者的概念图。图3中所示的空间相邻者与HEVC版本1中的合并和AMVP模式中使用的那些空间相邻者相同。因此,在一些实例中,当执行NBDV过程时不需要额外存储器存取来检索空间相邻的运动信息。

对于在NBDV过程中检查时间相邻块,视频译码器首先执行候选图片列表的构造过程。视频译码器可处理来自当前视图的多达两个参考图片作为候选图片。首先将位于同一地点的参考图片插入到候选图片列表,接着按参考索引的升序插入额外候选图片。含有当前块的切片的切片标头中的一或多个语法元素可指示位于同一地点的参考图片。当两个参考图片列表中具有相同参考索引的参考图片可用时,位于同一地点的图片的同一参考图片列表中的参考图片在另一参考图片前面。对于候选图片列表中的每一候选图片,确定三个候选区以用于导出时间相邻块。

当块是以视图间运动预测译码时,需要导出视差向量用于选择不同视图中的对应块。隐式视差向量(IDV)被称作在视图间运动预测中导出的视差向量。IDV还可被称作“所导出的视差向量”。即使块是以运动预测译码的,为了对随后的块进行译码的目的也不会丢弃所导出的视差向量。

术语“3D-HTM”指代用于3D-HEVC的测试模型。在3D-HTM 7.0的设计和3D-HTM的随后版本中,执行NBDV过程的视频译码器按次序检查时间相邻块中的视差运动向量、空间相邻块中的视差运动向量以及随后的IDV。一旦视频译码器找到视差运动向量或IDV,则视频译码器终止NBDV过程。此外,在3D-HTM 7.0的当前设计和3D-HTM的稍后版本中,在NBDV过程中检查的空间相邻块的数目进一步减少到2。

在一些实例中,当视频译码器从NBDV过程导出视差向量时,视频译码器通过从参考视图的深度图检索深度数据而进一步精炼视差向量。在一些此类实例中,精炼过程包含两个步骤:

1.在例如基础视图等经先前译码参考深度视图中通过所导出的视差向量定位对应深度块。对应深度块的大小与当前PU的大小相同。

2.从对应深度块的四个拐角像素选择一个深度值且将所述选定深度值转换为经精炼视差向量的水平分量。视差向量的垂直分量不变。

在一些情况下,视频译码器使用经精炼视差向量用于视图间运动预测,同时视频译码器使用未精炼的视差向量用于视图间残余预测。另外,如果经精炼视差向量是以后向视图合成预测模式译码的,那么视频译码器将经精炼视差向量存储为一个PU的运动向量。在一些设计中,无论从NBDV过程导出的视图次序索引的值如何,视频译码器都始终存取基础视图的深度视图分量。

高级残余预测(ARP)是用于利用视图之间的残余相关的译码工具。在ARP中,视频译码器通过在参考视图中用于运动补偿的当前视图处对准运动信息而产生残余预测符。另外,引入加权因数以补偿视图之间的质量差。当ARP针对一个块经启用时,视频编码器20用信号表示当前残余与残余预测符之间的差。在一些实施方案中,ARP可仅适用于具有等于Part_2Nx2N的分割模式的经帧间译码CU(即,每一CU具有仅一个PU)。ARP可应用于明度(Y)分量和色度(Cb及Cr)分量。在以下描述中,对一个块(或像素)的操作(例如求和、减法)的应用意味着对所述块(或像素)中的每个像素的每一分量(Y、Cb及Cr)的操作的应用。当需要区分用于明度和色度分量的过程时,用于明度分量的过程被称作明度ARP(子PU ARP),且用于色度分量的过程被称作色度ARP(子PU ARP)。

短语“用于时间残余的ARP”可用以指代在当前块具有时间运动向量(即,指示参考图片中具有与当前图片的POC值不同的图片次序计数(POC)值的位置的运动向量)时ARP的使用。POC值是与每一图片相关联的变量,使得当相关联图片将从经解码图片缓冲器输出时,所述POC值指示所述相关联图片在输出次序中相对于同一CVS中将从经解码图片缓冲器输出的其它图片的输出次序位置的位置。用于时间残余的ARP在第4次JCT3V会议中的3D-HEVC标准中采用,如张等人的“CE4:用于多视图译码的高级残余预测(CE4:Advanced residual prediction for multiview coding)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第4次会议:韩国仁川,2013年4月20-26日,文献JCT3V-D0177(下文为“JCT3V-D0177”))中所提议。

图4说明多视图视频译码中用于时间残余(即,一个参考图片列表中的当前参考图片是时间参考图片)的ARP的实例预测结构。如图4中所示,在当前块的预测中调用以下块。

1.当前块:Curr

2.通过视差向量(DV)导出的参考/基础视图中的参考块:Base。

3.与通过当前块的(时间)运动向量(标示为TMV)导出的块Curr相同的视图中的块:CurrTRef。

4.与通过当前块的时间运动向量(TMV)导出的块Base相同的视图中的块:BaseTRef。此块是使用与当前块Curr进行比较的TMV+DV向量进行识别。

在图4的实例中,Curr在当前图片70中,CurrTRef在参考图片72中,Base在参考图片74中,且BaseTRef在参考图片76中。

残余预测符表示为BaseTRef-Base,其中减法运算应用于所表示像素阵列的每一像素。换句话说,残余预测符的每一相应样本可等于BaseTRef的相应对应样本减去Base的相应对应样本。将加权因数w进一步乘以残余预测符。因此,当前块的最终预测符表示为:CurrTRef+w*(BaseTRef-Base)。换句话说,当前块(Curr)的最终预测符(即,最终预测性块)的每一相应样本是基于CurrTRef的对应相应样本以及经加权残余预测符的相应对应样本的总和,即,w*(BaseTRef-Base)。下文和图4的描述都是基于应用单向预测的假设。当延伸到双向预测的情况时,以上步骤应用于每一参考图片列表。

在一些实例中,在ARP中使用三个加权因数,即0、0.5和1。导致当前CU的最小速率失真成本的加权因数可被选择为最终加权因数,且在CU层级在位流中发射对应加权因数索引(分别对应于加权因数0、1和0.5的0、1和2)。在一些实例中,一个CU中的所有PU预测共享相同加权因数。当加权因数等于0时,ARP不用于当前CU。

所提议的在解码器侧的ARP的主要程序可描述如下。首先,视频解码器30获得如3D-HEVC草案文本4中指定的指向目标参考视图的视差向量。随后,在同一存取单元内的参考视图的图片中,通过视差向量定位对应块。其次,再使用当前块的运动信息以导出参考块的运动信息。视频解码器30基于当前块以及参考块的参考视图中的所导出参考图片的同一运动向量应用用于对应块的运动补偿以导出残余块。

图5是说明当前块和参考块之间的实例关系的概念图。具体来说,图5展示当前块、对应块和运动补偿块之间的实例关系。将参考视图(V0)中具有与当前视图(Vm)的参考图片相同的POC值的参考图片选择为对应块的参考图片。第三,解码器30将加权因数应用于残余块以获得经加权残余块,且将经加权残余块的值添加到经预测样本。

在图5的实例中,当前块80在时间实例T1处在视图V1中发生。对应块82在与当前块80不同的视图(即,视图V0)中且在与当前块80相同的时间实例(即,时间实例T1)中。视频译码器可使用当前块80的视差向量以识别对应块82。在图5的实例中,当前块80是双向预测性的。因此,当前块80具有第一运动向量84和第二运动向量86。运动向量84指示参考图片88中的位置。参考图片88在视图V1中和时间实例T0中。运动向量86指示参考图片90中的位置。参考图片90在视图V0中和时间实例T3中发生。

在ARP中,视频译码器可将运动向量84和运动向量86应用于对应块82的位置以确定参考块93和95(即,运动补偿块)的位置。参考块93和95分别包含参考图片92和参考图片94的样本或是从所述样本内插。因为当前块80是双向帧间预测的,所以视频译码器可基于参考块93和95确定掺合的参考块。掺合参考块的每一相应样本是参考块93的相应对应样本和参考块95的相应对应样本的加权平均。视频译码器可使用当前块80的两个运动向量以确定第一残余预测符和第二残余预测符。另外,视频译码器可确定第一初始预测性块和第二初始预测性块。第一初始预测性块可为参考块93和第一残余预测符的总和。第二初始预测性块可为参考块95和第二残余预测符的总和。当前块80的最终残余预测符的每一样本可为第一和第二初始预测性块的对应样本的加权平均。

短语“用于视图间残余的ARP”可用以指代在当前块具有视差运动向量(即,指示参考图片中属于与当前图片的视图不同的视图的位置的运动向量)时ARP的使用。当ARP应用于视图间残余时,当前PU是使用视图间ARP。当ARP应用于时间残余时,当前PU是使用时间ARP。在以下描述中,如果一个参考图片列表的对应参考是时间参考图片且应用ARP,那么其指示为时间ARP。否则,如果用于一个参考图片列表的对应参考是视图间参考图片且应用ARP,那么其指示为视图间ARP。

类似于用于时间残余的ARP设计,在当前PU使用视图间参考图片时,可启用视图间残余的预测。首先,视频译码器计算不同存取单元内的视图间残余,随后视频译码器使用计算的残余信息来预测当前块的视图间残余。此部分是在张等人的“CE4:高级残余预测的进一步改进(CE4:Further improvements on advanced residual prediction)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展联合合作小组第6次会议:瑞士日内瓦,2013年10月25日-11月1日,文献JCT3V-F0123(下文为“JCT3V-F0123”))中提出,其已采用到3D-HEVC中。

图6是说明用于视图间残余的ARP的概念图。实际上,识别三个相关块:参考视图中通过当前块(由Base表示)的视差运动向量定位的参考块;参考视图中通过时间运动向量(mvLX)和由Base包含的参考索引(如果可用)定位的Base的参考块(由BaseRef表示);当前视图中通过再使用来自Base的时间运动信息产生的参考块(由CurrRef表示),如图6中所示。在一些实施方案中,视频解码器将CurrRef确定为在由BaseRef的位置坐标减视差运动向量(DMV)指示的位置,其等于由Curr的位置坐标加时间运动向量(mvLX)指示的位置。在图6的实例中,Curr在当前图片100中,Base是基于参考图片102中的样本,BaseRef是基于参考图片104中的样本,且CurrRef是基于参考图片106中的样本。

以所识别的三个块,视频译码器可将当前PU(即,Curr)的残余信号的残余预测符计算为不同存取单元中这两个块之间的差:CurrRef-BaseRef。换句话说,Curr的残余预测符的每一相应样本可基于CurrRef的相应对应样本减去BaseRef的相应对应样本。此外,视频编码器20可将视图间预测符乘以如当前ARP中使用的加权因数。视频解码器30可执行移位运算以反转加权因数的作用。视频编码器20可产生Curr的最终预测性块以使得最终预测性块的每一相应样本是基于Base的相应对应样本减去潜在地经加权残余预测符的相应对应样本。举例来说,最终残余块的每一相应样本可等于Base的相应对应样本减去潜在地经加权残余预测符的相应对应样本。Curr的残余的每一相应样本可基于Curr的预测块的相应对应样本减去Curr的最终预测性块的对应相应样本。

类似于用于时间残余的ARP,视频译码器可使用双线性滤波器以产生三个相对块。此外,当由Base包含的时间运动向量指向当前PU(即,Curr)的第一可用时间参考图片的不同存取单元中的参考图片时,视频译码器可首先将所述时间运动向量按比例缩放为第一可用时间参考图片。视频译码器接着可使用经按比例缩放运动向量来定位不同存取单元中的两个块(即,BaseRef和CurrRef)。

在张等人的“3D-CE4:用于多视图译码的高级残余预测(3D-CE4:Advanced residual prediction for multiview coding)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第3次会议:瑞士日内瓦,2013年1月17-23日,文献编号JCT3V-C0049,下文为“JCT3V-C0049”)中,以非零加权因数译码的PU的参考图片可在块之间不同。因此,可能需要存取来自参考视图的不同图片以产生对应块的经运动补偿块(即,图4中的BaseTRef)。当加权因数不等于0时,对于时间残余,在执行对于残余和残余预测符产生过程两者的运动补偿之前,朝向固定图片按比例缩放当前PU的运动向量。当ARP应用于视图间残余时,参考块(即,图4中的Base)的时间运动向量朝向固定图片按比例缩放,然而执行用于残余和残余预测符产生过程的运动补偿。在JCT3V-C0049中,对于两种情况(即,时间残余或视图间残余),将所述固定图片界定为每一参考图片列表的第一可用时间参考图片。当经解码的运动向量并不指向固定图片时,首先按比例缩放经解码运动向量,且接着将其用以识别CurrTRef和BaseTRef。用于ARP的此参考图片称为目标ARP参考图片。在当前切片(即,含有当前块的切片)是B切片时,目标ARP参考图片与参考图片列表相关联。因此,可使用两个目标ARP参考图片。

视频译码器可执行针对目标ARP参考图片的可用性检查。举例来说,将与参考图片列表X(其中X是0或1)相关联的目标ARP参考图片表示为“RpRefPicLX”,且将视图中具有等于从NBDV过程导出的视图次序索引的视图次序索引且具有RpRefPicLX的相同POC值的图片表示为“RefPicInRefViewLX”。在以下条件中的一者是假时,针对参考图片列表X停用ARP:

-RpRefPicLX不可用。

-RefPicInRefViewLX未存储在经解码图片缓冲器中。

-RefPicInRefViewLX未包含在通过来自NBDV过程的视差向量或当前块的(即,与其相关联)DMV而定位的对应块(即,图4和图6中的Base)的参考图片列表中的任一者中。

在一些实施方案中,当应用ARP时,视频译码器当产生残余和残余预测符时始终使用双线性滤波器。即,ARP过程中涉及的排除当前块的三个块是使用双线性滤波器产生(例如,图4中的Base、BaseTRef和CurrTRef以及图6中的Base、BaseRef和CurrRef)。

在HEVC版本1中,为了得到一个经帧间译码PU的预测性块,需要两个步骤:

1)以HEVC 8分支/6分支滤波器的可能的分数内插以确定具有增加的位深度的中间预测信号,(可在HEVC版本1的子条款8.5.3.3.3中找到细节)。

2)经加权样本预测过程,其中调用使中间预测信号移位回到原始位深度精度和削减操作以确保不存在溢出(参见子条款8.5.3.3.4)。

一般来说,滤波器的“分支”的数目对应于用以确定滤波器的输出值的样本的数目。

在3D-HEVC草案文本4中,当应用ARP时,视频解码器使用类似于H.264/AVC规范的经界定双线性滤波过程。供ARP与一起使用的3D-HEVC草案文本4中界定的双线性滤波过程导致与输入信号相同的位深度中的中间预测信号,即,3D-HEVC译码工具性能评估中使用的共同测试条件(CTC)下的8位。如3D-HEVC草案文本4的子条款I.8.5.3.3.7.2中所描述,视频解码器使用以下等式执行双线性滤波过程:

predPartLX[x][y]=(refPicLX[xA][yA]*(8-xFrac)*(8-yFrac)+

refPicLX[xB][yB]*(8-yFrac)*xFrac+

refPicLX[xC][yC]*(8-xFrac)*yFrac+

refPicLX[xD][yD]*xFrac*yFrac)>>6 (I-238)

然而,滤波过程随后,调用如HEVC版本1的子条款8.5.3.3.4中的经加权样本预测过程,且右移操作(例如,CTC下为6)造成错误预测值。以下是经加权样本预测过程中的移位操作的一些实例。如下界定最终预测信号predSamples:

●对于具有等于0的weighted_pred_flag的P切片中的单向预测块,以下适用:

predSamples[x][y]=Clip3(0,(1<<bitDepth)-1,

(predSamplesLX[x][y]+offset1)>>shift1)

其中predSamplesLX指示作为双线性滤波过程的输出的预测信号,且shift1设定成等于(14-bitDepth)且当shift1不等于0时offset1等于1<<(shift1-1)。最终预测信号预期在CTC情况中具有6的右移位以使滤波器系数的量值的总和正规化。

●对于具有等于0的weighted_bipred_flag的B切片中的双向预测块,以下适用:

predSamples[x][y]=Clip3(0,(1<<bitDepth)-1,

(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>shift2)(8-239)

在上方等式中,shift2设定成等于(15-bitDepth)且offset2等于1<<(shift2-1)。最终预测信号预期在CTC情况中具有7的右移位。3D-HEVC草案文本4的双线性内插是以类似于如等式I-238中的不可分离的滤波器的方式完成。

3D-HEVC草案文本4的当前设计具有若干问题。举例来说,3D-HEVC草案文本4的设计保持双线性运动补偿数据的错误精度,即当输入视频是8位时的8位。在另一实例中,用于3D-HEVC草案文本4的参考软件至少针对单向预测情况削减所有中间数据,因为当前实施方案重新使用HEVC内插功能。这导致针对单向预测ARP每像素削减操作数目的三倍,因为以内插过程产生三个预测块。以下等式描述所述削减:

predSamplesLXL[x][y]=clipy(predSamplesLXL[x][y])+

((clipy(rpSamplesLXL[x][y])-clipy(rpRefSamplesLXL[x][y]))>>shiftVal)(I-227)

此增加数目的削减操作可减慢编码和解码速度和/或不必要的降低经解码图片的视觉质量。

以下技术可独立地或组合地实施,如所属领域的技术人员将了解。确切地说,实例可包含以下方面中的任一者以解决上述问题或另外改善译码性能。更具体来说,实例可包含改善ARP的性能的以下方式中的一或多者。

在涉及ARP的一个实例技术中,可分离的双线性内插滤波器经配置以通过改变系数而使用HEVC版本1的HEVC运动补偿内插方案,以使得每一阶段的滤波器的系数(a,b)的总和加起来等于64,与HEVC版本1中使用的其它内插滤波器的总和相同。在此实例中,(a,b)可等于(x*8,(8-x)*8),其中整数x等于在0到8的范围内的值。

术语“可分离的滤波器”应用于可写成两个或更多个滤波器的乘积的滤波器。相比之下,不可分离的滤波器无法写成两个或更多个滤波器的乘积。在本发明的一些技术中使用的双线性内插滤波器的情况下,双线性内插滤波器是“可分离的”,因为应用第一滤波器以确定在主要子整数位置的样本的值。主要子整数位置从整数像素位置严格地垂直或水平。将第二滤波器应用于在主要子整数位置的样本以确定在辅助子整数位置的样本的值。辅助子整数位置并不从整数像素位置严格地垂直或水平。在此上下文中,术语“阶段”指代子整数位置。

当应用ARP时可分离的双线性内插滤波器的使用可减少当应用双线性内插滤波器时执行的削减操作的数目。此外,因为内插滤波器中针对每一子整数位置(即,阶段)使用的系数共计64,所以当应用ARP时使用的双线性内插滤波器可允许用于运动补偿的基础HEVC中使用的双线性内插滤波器硬件的再使用。

因此,在单向ARP实例中,视频编码器20可基于视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置。在图4的实例中,第一参考块标记为CurrTRef。在图6的实例中,第一参考块标记为Base。视频编码器20将可分离的双线性内插滤波器应用于第一参考图片的样本以确定第一参考块的样本。此外,在此单向ARP实例中,视频编码器20确定第二参考图片中的第二参考块的位置。在图4的实例中,第二参考块标记为BaseTRef。在图6的实例中,第二参考块标记为CurrRef。此外,在此实例中,视频编码器20可将可分离的双线性内插滤波器应用于第一参考图片的样本以确定第一参考块的样本。视频编码器20将相同或不同的可分离的双线性内插滤波器应用于第二参考图片的样本以确定第二参考块的样本。视频编码器20将相同或不同的可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本。在图4的实例中,第三参考块标记为Base。在图6的实例中,第三参考块标记为BaseRef。

在此实例中,视频编码器20确定预测性块。预测性块的每一相应样本可等于第一参考块的相应样本减去相应残余预测符样本。在此实例中,相应残余预测符样本可等于加权因数(例如,非零加权因数)乘以第二参考块的相应样本与第三参考块的相应样本之间的差。第一参考块的相应样本、第二参考块的相应样本以及第三参考块的相应样本在第一、第二和第三参考块内对应于预测性块的相应样本的位置的位置处。另外,在此实例中,视频编码器20确定残余块。在此实例中,残余块的每一相应样本等于当前块的相应样本与预测性块的相应样本之间的差。当前块的相应样本和预测性块的相应样本对应于残余块的相应样本的位置。视频编码器20在位流中包含表示残余块的数据。

在类似实例中,视频解码器30基于视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置。视频解码器30可将可分离的双线性内插滤波器应用于第一参考图片的样本以确定第一参考块的样本。在图4的实例中,第二参考块标记为CurrTRef。在图6的实例中,第二参考块标记为Base。另外,在此实例中,视频解码器30确定第二参考图片中的第二参考块的位置。在图4的实例中,第二参考块标记为BaseTRef。在图6的实例中,第三参考块标记为CurrRef。在此实例中,视频解码器30将可分离的双线性内插滤波器应用于第二参考图片的样本以确定第二参考块的样本。视频解码器30将可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本。在图4的实例中,第三参考块标记为Base。在图6的实例中,第三参考块标记为BaseRef。

此外,在此实例中,视频解码器30确定预测性块。预测性块的每一相应样本等于第一参考块的相应样本加相应残余预测符样本。在此实例中,相应残余预测符样本等于加权因数乘以第二参考块的相应样本与第三参考块的相应样本之间的差。第一参考块的相应样本、第二参考块的相应样本以及第三参考块的相应样本在第一、第二和第三参考块内对应于预测性块的相应样本的位置的位置处。在此实例中,视频解码器30从位流获得表示残余块的数据。视频解码器30部分地基于残余块和预测性块而重构当前图片的译码块。

在一些实例中,根据上文提供的视频编码器20和视频解码器30的实例,每一阶段的可分离的双线性内插滤波器的系数的总和等于64。在此些实例中,可分离的双线性内插滤波器的系数(a,b)的总和等于(x*8,(8-x)*8),其中x等于在0到8的范围内的值。

此外,根据上文提供的视频编码器20和视频解码器30的实例,视频编码器20和视频解码器30可使用ARP用于时间残余。在其中视频编码器20和视频解码器30使用ARP用于时间残余的实例中,当前图片(即,图4中的当前图片70)在第一视图(即,图4中的V0)中。第二参考图片(即,参考图片76)和第三参考图片(即,参考图片74)都在不同于第一视图的第二视图(即,图4中的V1)中。此外,在此实例中,当前块的运动向量是当前块的时间运动向量(即,TMV)。第三参考图片的POC值(即,图4中的T0)等于当前图片的POC值。在此实例中,视频译码器(例如,视频编码器20和/或视频解码器30)可确定第一参考图片(即,参考图片72)。第一参考图片的POC值(即,T1)等于第二参考图片的POC值。视频译码器可基于当前块的运动信息的参考索引确定第一参考图片。第一参考图片的POC值和第二参考图片的POC值不同于当前图片的POC值。此外,在此实例中,视频译码器基于当前块的视差向量(即,DV)确定第三参考块(即,Base)的位置。在此实例中,视频译码器确定第二参考块(即,BaseTRef)的位置以使得第二参考块的位置由当前块的时间运动向量和当前块的视差向量的总和指示。

在其中视频编码器20和视频解码器30使用ARP用于视图间残余的另一实例中,当前图片(例如,图6中的当前图片100)和第二参考图片(例如,图6中的参考图片106)都在第一视图(例如,图6中的V0)中。在此实例中,第三参考图片(例如,图6中的参考图片102)在不同于第一视图的第二视图(例如,图6中的V1)中。此外,在此实例中,当前块的运动向量是当前块的视差运动向量。第二参考图片的POC值(例如,图6中的T1)不同于当前图片的POC值(例如,图6中的T0)。第三参考图片的POC值不同于当前图片的POC值(例如,图6中的T0)且等于第二参考图片的POC值。在此实例中,视频译码器(例如,视频编码器20和/或视频解码器30)基于当前块的视差运动向量确定第一参考块(例如,图6中的Base)。第一参考图片具有与当前图片相同的POC值(例如,图6中的T0)且在第二视图(例如,图6中的V1)中。在此实例中,视频译码器确定第三参考块(例如,图6中的BaseRef)的位置以使得第三参考块的位置由第一参考块的时间运动向量指示。此外,在此些实例中,视频译码器通过再使用参考块的时间运动向量确定第二参考块的位置来确定第二参考块(例如,图6中的CurrRef)的位置。举例来说,在一些实例中,视频译码器可确定第二参考块的位置以使得第二参考块的位置由第三参考块(例如,图6中的BaseRef)的位置坐标减去当前块的视差运动向量而指示。在一些实例中,视频译码器可确定第二参考块的位置以使得第二参考块的位置由第一参考块的时间运动向量的位置坐标指示。

在涉及ARP的另一实例技术中,无论是使用可分离的双线性内插滤波器还是如3D-HEVC草案文本4中使用不可分离的双线性内插滤波器,运动补偿的结果都可以如下方式来布置:结果可通过(14-bitDepth)的右移位而经正规化,以与经加权样本预测过程对准,例如,如HEVC版本1的子条款8.5.3.3.4中的等式(8-239)。在此实例中,bitDepth是当前分量的位深度。

在一个替代的实例中,如果使用可分离的双线性滤波器,那么每一阶段的滤波器的系数(a,b)合计等于64。替代地,每一阶段的滤波器的系数(a,b)合计等于8,然而,在第二粗糙滤波(垂直)之后的移位值可能需要改变到较小值,此处移位值从6改变到0。在另一替代实例中,如果如3D-HEVC草案文本4中使用不可分离的双线性滤波器,那么更改内插以使得使用(bitDepth-8)的右移位而不是如3D-HEVC草案文本4中的6的右移位。

在可涉及在ARP期间用于运动补偿中间信号的相对高位深度的包含以上实例的一些实例中,无论使用单向预测还是双向预测,针对那些中间信号都不执行削减。举例来说,可仅在HEVC版本1中的经加权样本预测过程中执行削减操作。替代地,为了以16位的范围保持作为潜在地在基于运动补偿信号的两个双线性内插之间的减法的残余预测符,残余预测符的削减可应用于使经削减的数据处于[-215,215-1]的范围内。所述两个值-215、215-1指示在削减之后的最小值和最大值(包含性),因此唯一地界定削减函数。

多视图视频译码中的照明补偿(IC)用于补偿不同视图之间的照明差异,因为每一相机可具有对光源的不同曝光。通常,使用权重因数和/或偏移量来补偿不同视图中的经译码块与预测块之间的差。所述参数可或可不显式地发射到视频解码器。

根据刘等人的“3D-CE2.h:用于视图间预测的照明补偿的结果(3D-CE2.h:Results of Illumination compensation for inter-view prediction)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组第2次会议:中国上海2012年10月13-19日,文献JCT3V-B0045(下文为“JCT3V-B0045”))中所提议的设计,在CU层级用信号表示照明补偿,且通过如参考块的样本的当前块的相邻样本导出参数。随后,改变模式的信令,如井贝(Ikai)等人的“3D-CE5.h:用于照明补偿的剖析相依性的移除(3D-CE5.h:Removal of parsing dependency for illumination compensation)”(ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展联合合作小组第4次会议:韩国仁川,2013年4月20-26日,文献JCT3V-D0060(下文为“JCT3V-D0060”))中所提议。

引入照明补偿来改进从视图间参考图片预测的块的译码效率。因此,照明补偿可仅应用于通过视图间参考图片预测的块。因此,对于当前PU,在顶部相邻列和左边相邻列中的其相邻样本连同参考块的对应相邻样本是用于线性模型的输入参数。所述线性模型可通过最小平方解而导出按比例缩放因数a和偏移b。参考视图中的对应相邻样本是由当前PU的视差运动向量识别,如图7中所示。

在从视图间参考图片的运动补偿之后,将线性模型应用于预测块的每一值以更新当前PU的预测信号。进一步以a经按比例缩放且进一步以b相加预测块的每一值,如图7中所示。照明补偿中的AMVP和合并模式可在切片层级自适应地经启用或停用,以便减少额外位和不必要的计算。

图7是说明用于照明补偿(IC)参数的导出的实例相邻样本的概念图。在图7的实例中,非基础视图图片120包含当前PU 122。视频译码器使用当前PU 122的视差运动向量以确定基础视图图片126中的参考PU 124。视频译码器基于当前PU 122的相邻样本和参考PU 124的相邻样本确定按比例缩放因数a和偏移b。在图7的实例中,相邻样本展示为由正方形封闭的圆。对于当前PU 122的预测性块的每一相应样本,视频译码器可将相应样本设定为等于参考PU 124的相应对应样本由按比例缩放因数a按比例缩放加上偏移b的值。

在3D-HEVC草案文本4中,当针对双向预测PU启用IC时,当与HEVC相比时每个像素需要四次额外削减。具体地说,对于每一预测方向,将运动补偿样本和照明补偿样本两者削减到[0,(1<<BitDepth)-1],其中BitDepth是当前分量的位深度。

将PredMcLX[x]和IcPredLX[x]分别表示为从预测方向X在位置x处的运动补偿样本和IC样本,其中X等于0或1。分别将aLX和bLX表示为预测方向X中的当前PU的IC参数。将shift1设定为等于14-BitDepth,将offset1设定为等于1<<(shift1-1),将shift2设定为等于15-BitDepth,且将offset2设定为等于1<<(shift2-1)。将Pred[x]表示为在位置x处的最终预测样本。Pred[x]可根据以下步骤产生:

1.步骤1:运动补偿样本的削减。

PredMcLX[x]=clip3(0,(1<<BitDepth)-1,(PredMcLX[x]+offset1)>>shift1) (1)

2.步骤2:照明补偿样本的产生和削减。

IcPredLX[x]=aLX*PredMcLX[x]+bLX (2)

IcPredLX[x]=clip3(0,(1<<BitDepth)-1,IcPredMcLX[x]) (3)

3.步骤3:在经加权样本预测过程之前设定信号(编辑批注以使得等式(5)和(6)看起来与等式(7)和(8)相同)。

PredLX[x]=IcPredMcLX[x] (4)

4.经加权样本预测过程。

a.如果当前PU是从方向X单向预测,则

Pred[x]=clip3(0,(1<<BitDepth)-1,(PredL0[x]+offset1)>>shift1) (5)

b.如果当前PU是双向预测,则

Pred[x]=clip3(0,(1<<BitDepth)-1,(IcPredL0[x]+IcPredL1[x]+offset2)>>shift2) (6)

在以上步骤中,步骤1和步骤2两者中针对每一预测方向需要一个削减操作,且在步骤3中针对双向预测情况需要一个削减操作。总之,当IC经启用时,针对双向预测和单向预测分别需要五次削减和两次削减。

然而,在双向预测情况中,因为Pred[x]在步骤4中经削减到[0,(1<<BitDepth)-1],所以不必在步骤1和步骤2中另外削减中间结果(即,运动补偿样本和照明补偿样本)到[0,(1<<BitDepth)-1]。同样,在单向预测情况中,因为IcPredLX[x]在步骤2中经削减到[0,(1<<BitDepth)-1],所以不必在步骤1中另外削减运动补偿样本。

当IC停用时,Pred[x]可产生为:

1.如果当前PU是从方向X单向预测,则

Pred[x]=clip3(0,(1<<BitDepth)-1,(PredL0[x]+offset1)>>shift1) (7)

2.如果当前PU是双向预测,则

Pred[x]=clip3(0,(1<<BitDepth)-1,(PredL0[x]+PredL1[x]+offset2)>>shift2) (8)

因此,当IC停用时,针对双向预测和单向预测两者需要仅一个削减操作。

从以上分析,当是经启用时需要多达四次额外削减操作,这是极复杂的且不必要的。每一削减操作需要至少两次比较,且针对每一例如8x8块,比较的次数是192。因此,在IC中,执行了不必要次数的削减。举例来说,在双向预测IC的情况下为四次额外削减。此增加次数的削减操作可减慢编码和解码速度。

本发明的特定技术减少IC中涉及的削减操作。举例来说,根据本发明的技术,在IC中,移除了在步骤1和2、等式(1)和(3)中的所有以上所提到的削减。在另一实例中,在IC中,如等式(1)的步骤1中应用了应用于运动补偿信号的削减操作。然而,在此实例中,应用了如在步骤2等式(3)中对IC信号的削减操作,以使得IC信号在范围[0,216-1]内。所述两个值0、216-1指示在削减之后的最小值和最大值(包含性),且因此唯一地界定削减函数。

为了停用IC对经加权预测的应用,在经加权预测过程的一些实例中,可检查IC是否经启用,以使得经加权预测不应用于IC补偿块。替代地,当隐式经加权预测以不等于(1,0)、(0,1)或(0.5,0.5)的权重(例如,由等于1的weightedPredFlag指示)应用时可强加约束,以使得针对整个切片停用IC,即,slice_ic_enable_flag将等于1。

图8是说明可实施本发明的技术的实例视频编码器20的框图。图8是出于解释的目的而提供,且不应被视为将技术限制为本发明中所大致例示和描述。出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。

在图8的实例中,视频编码器20包含预测处理单元200、残余产生单元202、变换处理单元204、量化单元206、逆量化单元208、逆变换处理单元210、重构单元212、滤波器单元214、经解码图片缓冲器216以及熵编码单元218。预测处理单元200包含帧间预测处理单元220和帧内预测处理单元226。帧间预测处理单元220包含运动估计单元222和运动补偿单元224。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。

视频编码器20接收视频数据。视频数据存储器201存储待由视频编码器20的组件编码的视频数据。存储在视频数据存储器201中的视频数据可例如从视频源18获得。经解码图片缓冲器216可为存储参考视频数据用于由视频编码器20在对视频数据进行编码过程中使用(例如,在帧内或帧间译码模式中)的参考图片存储器。视频数据存储器201和经解码图片缓冲器216可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器201和经解码图片缓冲器216可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器201可与视频编码器20的其它组件一起在芯片上,或相对于所述组件在芯片外。

视频编码器20可对视频数据的图片的切片中的每个CTU进行编码。因此,对于切片的每一相应CTU,视频编码器20产生表示相应CTU的相应经编码数据。CTU中的每一者可具有大小相等的明度译码树块(CTB)和图片的对应CTB。作为对CTU进行编码的一部分,预测处理单元200可执行四叉树分割以将CTU的CTB划分为逐渐更小的块。较小块可为CU的译码块。例如,预测处理单元200可将CTU的CTB分割成四个大小相等的子块,将子块中的一或多者分割成四个大小相等的子子块等。

视频编码器20可对CTU的CU进行编码以产生CU的经编码表示(即,经译码的CU)。换句话说,对于CTU的每一相应的CU,视频编码器20产生表示所述相应的CU的相应经编码数据。作为对CU进行编码的一部分,预测处理单元200可以在CU的一或多个PU当中分割CU的译码块。因此,每一PU可具有明度预测块和对应的色度预测块。视频编码器20和视频解码器30可支持具有各种大小的PU。CU的大小可指CU的明度译码块的大小并且PU的大小可指PU的明度预测块的大小。假定特定CU的大小为2Nx2N,视频编码器20及视频解码器30可支持用于帧内预测的2Nx2N或NxN的PU大小,及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似大小的对称PU大小。视频编码器20以及视频解码器30还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N以及nRx2N的PU大小的非对称分割。

帧间预测处理单元220可通过对CU的每一PU执行帧间预测产生用于PU的预测性数据。PU的预测性数据可包含PU的预测性块和PU的运动信息。取决于PU是在I切片中、P切片中或B切片中,帧间预测处理单元220可对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU是在I切片中,则帧间预测处理单元220并不对PU执行帧间预测。

如果PU是在P切片中,则运动估计单元222可以对用于PU的参考区域搜索参考图片列表(例如,“RefPicList0”)中的参考图片。用于PU的参考区可为参考图片内含有最接近地对应于PU的预测块的样本的区。运动估计单元222可产生指示含有PU的参考区的参考图片的RefPicList0中的位置的参考索引。另外,运动估计单元222可产生指示PU的译码块与和参考区相关联的参考位置之间的空间位移的运动向量。举例来说,运动向量可以是提供从当前图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元222可将参考索引及运动向量作为PU的运动信息输出。运动补偿单元224可基于由PU的运动向量指示的参考位置处的实际或内插样本产生PU的预测性块。

如果PU是在B切片中,则运动估计单元222可以对PU执行单向预测或双向预测。为了对PU执行单向预测,运动估计单元222可以搜索RefPicList0的参考图片,或用于PU的参考区域的第二参考图片列表(RefPicList1)。运动估计单元222可以将指示含有参考区的参考图片的RefPicList0或RefPicList1中的位置的参考索引、指示PU的预测块与相关联于参考区的参考位置之间的空间移位的运动向量以及指示参考图片是在RefPicList0中或在RefPicList1中的一或多个预测方向指示符输出为PU的运动信息。运动补偿单元224可以至少部分基于由PU的运动向量指示的参考位置处的实际样本或经内插样本来产生PU的预测性块。

为了对PU执行双向帧间预测,运动估计单元222可在用于PU的参考区的RefPicList0中搜索参考图片,并且还可在用于PU的另一参考区的RefPicList1中搜索参考图片。运动估计单元222可产生指示含有参考区的参考图片的RefPicList0及RefPicList1中的位置的参考索引。另外,运动估计单元222可产生指示与参考区相关联的参考位置与PU的预测块之间的空间移位的运动向量。PU的运动信息可包含PU的参考索引和运动向量。运动补偿单元224可至少部分基于在由PU的运动向量指示的参考位置处的实际或内插样本产生PU的预测性块。

帧内预测处理单元226可通过对PU执行帧内预测来产生PU的预测性数据。PU的预测性数据可包含PU的预测性块和各种语法元素。帧内预测处理单元226可对I切片、P切片以及B切片中的PU执行帧内预测。

为了对PU执行帧内预测,帧内预测处理单元226可使用多个帧内预测模式产生PU的预测性块的多个集合。当使用特定帧内预测模式执行帧内预测时,帧内预测处理单元226可使用来自相邻块的样本的特定集合产生PU的预测性块。假定对于PU、CU及CTU采用从左到右、从上到下的编码次序,相邻块可在PU的预测块的上方、右上方、左上方或左方。帧内预测处理单元226可使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的预测块的大小。

预测处理单元200可从用于PU的由帧间预测处理单元220产生的预测性数据或用于PU的由帧内预测处理单元226产生的预测性数据当中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元200基于预测性数据集合的速率/失真量度选择CU的PU的预测性数据。所选预测性数据的预测性块在本文中可被称作所选预测性块。

预测处理单元200可执行ARP以产生PU的预测性块。根据本发明的实例技术,预测处理单元200基于当前图片中的当前PU的运动向量确定第一参考图片中的第一参考块的位置。此第一参考块可为由运动补偿单元224确定的预测性块。在此实例中,预测处理单元200确定第二参考图片中的第二参考块的位置。此外,在此实例中,预测处理单元200将可分离的双线性内插滤波器应用于第二参考图片的样本以确定第二参考块的样本。另外,在此实例中,预测处理单元200将可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本。在此实例中,预测处理单元200确定预测性块。预测性块的每一相应样本等于第一参考块的相应样本减去相应残余预测符样本。在此实例中,相应残余预测符样本等于加权因数乘以第二参考块的相应样本与第三参考块的相应样本之间的差。第一参考块的相应样本、第二参考块的相应样本以及第三参考块的相应样本在第一、第二和第三参考块内对应于预测性块的相应样本的位置的位置处。

残余产生单元202可基于CU的译码块和CU的PU的选定预测性块而产生CU的残余块。举例来说,残余产生单元202可基于CU的明度、Cb和Cr译码块以及CU的PU的选定预测性明度、Cb和Cr块而产生CU的明度、Cb和Cr残余块。在一些实例中,残余产生单元202可产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应所选预测性块中的对应样本之间的差的值。

变换处理单元204可执行四叉树分割以将CU的残余块分割成CU的TU的变换块。因此,TU可具有明度变换块和两个对应的色度变换块。CU的TU的变换块的大小和位置可以或可不基于CU的PU的预测块的大小和位置。

变换处理单元204可以通过将一或多个变换应用到TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元204可将各种变换应用于TU的变换块。例如,变换处理单元204可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元204不将变换应用于变换块。在此类实例中,变换块可被视作变换系数块。

量化单元206可以量化变换系数块中的变换系数。量化过程可减少变换系数中的一些或全部的位深度。举例来说,n位变换系数可在量化期间舍入到m位变换系数,其中n大于m。量化单元206可基于CU的量化参数(QP)值量化CU的TU的变换系数块。视频编码器20可通过调整用于CU的QP值而调整应用于CU的变换系数块的量化程度。量化可能使得信息丢失,因此经量化的变换系数可以具有比原始变换系数更低的精度。

逆量化单元208和逆变换处理单元210可分别将逆量化和逆变换应用于变换系数块,以从所述变换系数块重构残余块。重构单元212可以将经重构的残余块添加到来自由预测处理单元200产生的一或多个预测性块的对应样本,以产生TU的经重构变换块。通过以此方式重构CU的每一TU的变换块,视频编码器20可重构CU的译码块。

滤波器单元214可执行一或多个解块操作来减少CU的译码块中的成块假象。经解码图片缓冲器216可在滤波器单元214对经重构的译码块执行一或多个解块操作之后存储经重构的译码块。帧间预测处理单元220可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元226可使用经解码图片缓冲器216中的经重构译码块来对与CU处于相同图片中的其它PU执行帧内预测。

熵编码单元218可以从视频编码器20的其它功能组件接收数据。例如,熵编码单元218可以从量化单元206接收变换系数块,并且可以从预测处理单元200接收语法元素。熵编码单元218可以对所述数据执行一或多个熵编码操作以产生经熵编码的数据。例如,熵编码单元218可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元218产生的经熵编码数据的位流。

图9是说明可实施本发明的技术的实例视频解码器30的框图。图9是出于解释的目的而提供,且并不将技术限制为本发明中所大致例示及描述的。出于解释的目的,本发明描述在HEVC译码的背景下的视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。

在图9的实例中,视频解码器30包含经译码图片缓冲器250、熵解码单元252、预测处理单元254、逆量化单元256、逆变换处理单元258、重构单元260、滤波器单元262以及经解码图片缓冲器264。预测处理单元254包含运动补偿单元266和帧内预测处理单元268。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。

CPB 250接收且存储位流的经编码视频数据(例如,NAL单元)。存储在CPB 250中的视频数据可例如从信道16获得,例如,从例如相机等局部视频源、经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体。CPB 250可形成存储来自经编码视频位流的经编码视频数据的视频数据存储器。经解码图片缓冲器264可为参考图片存储器,其存储用于通过视频解码器30(例如)以帧内或帧间译码模式对视频数据进行解码的参考视频数据。CPB 250和经解码图片缓冲器264可由多种存储器装置中的任一者形成,例如,动态随机存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。CPB 250和经解码图片缓冲器264可由相同存储器装置或单独的存储器装置提供。在各种实例中,CPB 250可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。

熵解码单元252可从CPB 250接收NAL单元,并剖析NAL单元以从位流获得语法元素。熵解码单元252可对NAL单元中的经熵编码的语法元素进行熵解码。预测处理单元254、逆量化单元256、逆变换处理单元258、重构单元260和滤波器单元262可基于从位流获得的语法元素而产生经解码视频数据。

位流的NAL单元可包含经译码切片的NAL单元。作为解码位流的部分,熵解码单元252可对来自经译码切片NAL单元的语法元素进行熵解码。经译码切片中的每一者可包含切片标头以及切片数据。切片标头可以含有关于切片的语法元素。

除了从位流获得语法元素之外,视频解码器30可对CU执行解码操作。通过对CU执行解码操作,视频解码器30可重构CU的译码块。作为对CU执行解码操作的部分,逆量化单元256可逆量化(即,解量化)CU的TU的系数块。逆量化单元256可使用TU的CU的QP值来确定量化的程度,及同样逆量化单元256将应用的逆量化的程度。即,可通过调整当量化变换系数时所使用的QP的值来控制压缩比,即用以表示原始序列以及经压缩的序列的位的数目的比率。压缩比还可取决于所采用的熵译码的方法。

在逆量化单元256逆量化系数块之后,逆变换处理单元258可以将一或多个逆变换应用于系数块以便产生TU的残余块。例如,逆变换处理单元258可以将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用于变换系数块。

如果使用帧内预测对PU进行编码,那么帧内预测处理单元268可执行帧内预测以产生用于PU的预测性块。举例来说,帧内预测处理单元268可执行帧内预测以产生PU的明度、Cb及Cr预测性块。帧内预测处理单元268可使用帧内预测模式以基于空间相邻PU的预测块产生PU的预测性块。帧内预测处理单元268可基于从位流获得的一或多个语法元素确定用于PU的帧内预测模式。

预测处理单元254可基于从位流提取的语法元素来构造第一参考图片列表(RefPicList0)及第二参考图片列表(RefPicList1)。此外,如果PU是使用帧间预测经编码,那么运动补偿单元254可基于由熵解码单元252从位流获得的语法元素而确定PU的运动信息。运动补偿单元266可以基于PU的运动信息确定用于PU的一或多个参考区。运动补偿单元266可基于在用于PU的所述一或多个参考块处的样本而产生PU的预测性块。举例来说,运动补偿单元266可以基于PU的所述一或多个参考块的样本产生PU的明度、Cb及Cr预测性块。

预测处理单元254可执行ARP以确定PU的预测性块。根据本发明的实例技术,预测处理单元254基于视频数据的当前图片中的当前块的运动向量而确定第一参考图片中的第一参考块的位置。此第一参考块可为由运动补偿单元266产生的预测性块。此外,在此实例中,预测处理单元254确定第二参考图片中的第二参考块的位置。在此实例中,预测处理单元254将可分离的双线性内插滤波器应用于第二参考图片的样本以确定第二参考块的样本。另外,预测处理单元254将可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本。在此实例中,预测处理单元254确定预测性块。预测性块的每一相应样本等于第一参考块的相应样本减去相应残余预测符样本。在此实例中,相应残余预测符样本等于加权因数乘以第二参考块的相应样本与第三参考块的相应样本之间的差。第一参考块的相应样本、第二参考块的相应样本以及第三参考块的相应样本在第一、第二和第三参考块内对应于预测性块的相应样本的位置的位置处。

重构单元260可使用来自CU的TU的变换块和CU的PU的预测性块的残余值来重构CU的译码块。举例来说,重构单元260可使用来自CU的TU的明度、Cb及Cr变换块和CU的PU的预测性明度、Cb及Cr块的残余值来重构CU的明度、Cb及Cr译码块。举例来说,重构单元260可将变换块的样本添加到预测性块的对应样本以重构CU的译码块。

滤波器单元262可执行解块操作以减少与CU的译码块相关联的成块假象。视频解码器30可将CU的译码块存储在经解码图片缓冲器264中。经解码图片缓冲器264可提供参考图片用于后续运动补偿、帧内预测和在显示装置(例如图1的显示装置32)上呈现。举例来说,视频解码器30可基于经解码图片缓冲器264中的块对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可从位流获得系数块的变换系数层级,逆量化变换系数层级,对变换系数层级应用变换以产生变换块,至少部分基于变换块而产生译码块,且输出译码块以用于显示。

如上文所指出,在本发明的一些实例技术中,视频译码器经配置以当确定ARP中的参考块时使用可分离的双线性内插滤波器。以下文字展示对3D-HEVC草案文本4(即,文献JCT3V-H1001_v2)的实例改变以实施此些实例技术。在以下文字中,方括号中所示的斜体文字是从3D-HEVC草案文本4删除的文字。带下划线的文字是添加到3D-HEVC草案文本4的文字。此外,以下文字中提到的图I-1作为本发明的图10而再现。图10是说明双线性内插中的分数样本位置相依变量以及周围的整数位置样本的概念图。以下文字中提到的图x-x作为本发明的图11而再现。

I.8.5.3.3.7.1双线性样本内插过程

子条款8.5.3.3.3.1中的规范适用于以下修改:

-子条款8.5.3.3.3.2中指定的过程的所有调用被子条款I.8.5.3.3.7.2中指定的过程的调用替换,其中等于0的chromaFlag作为额外输入。

-子条款8.5.3.3.3.3中指定的过程的所有调用被子条款I.8.5.3.3.7.2中指定的过程的调用替换,其中等于1的chromaFlag作为额外输入。

I.8.5.3.3.7.2双线性明度和色度样本内插过程

对此过程的输入是:

-全样本单元(xInt,yInt)中的位置,

-分数样本单元(xFrac,yFrac)中的位置偏移,

-样本参考阵列refPicLX,

-旗标chromaFlag。

此过程的输出是预测样本值predPartLX[x][y]。

[[在图I-1中,标记有A、B、C和D的位置表示在样本的给定二维阵列refPicLX内的全样本位置处的样本。

1.图I-1双线性内插中的分数样本位置相依变量以及周围的整数位置样本A、B、C和D]]

变量picWidthInSamples设定成等于pic_width_in_luma_samples且变量picHeightInSamples设定成等于pic_height_in_luma_samples。

-如果chromaFlag等于0,那么xFrac设定成等于(xFrac<<1)且yFrac设定成等于(yFrac<<1)。

-否则(chromaFlag等于1),picWidthInSamples设定成等于(picWidthInSamples/SubWidthC)且picHeightInSamples设定成等于(picHeightInSamples/SubHeightC)。

[[如下导出位置A、B、C和D的坐标:

xA=Clip3(0,picWidthInSamples-1,xInt) (I-230)

xB=Clip3(0,picWidthInSamples-1,xInt+1) (I-231)

xC=Clip3(0,picWidthInSamples-1,xInt) (I-232)

xD=Clip3(0,picWidthInSamples-1,xInt+1) (I-233)

yA=Clip3(0,picHeightInSamples-1,yInt) (I-234)

yB=Clip3(0,picHeightInSamples-1,yInt) (I-235)

yC=Clip3(0,picHeightInSamples-1,yInt+1) (I-236)

yD=Clip3(0,picHeightInSamples-1,yInt+1) (I-237)]]

在HEVC规范的图8-5中,加阴影块内标记有大写字母Bi,j的位置表示取决于chromaFlag在明度/色度样本的给定二维阵列refPicLX内的全样本位置处的明度/色度样本。这些样本可以用于产生预测明度/色度样本值predSampleLX[x,y]。分数样本单元(xFracC,yFracC)中的位置偏移指定在全样本和分数样本位置处的所产生样本中的哪些指派给预测样本值predSampleLX[x,y]。此指派如表8-8中指定,其中xFracC被xFrac代替,yFracC被yFrac代替,且predSampleLXC[xC,yC]被predSampleLX[x,y]代替。输出是predSampleLX[x,y]的值。

如下导出给定阵列refPicLX内对应样本Bi,j中的每一者的位置(xBi,j,yBi,j):

xBi,j=Clip3(0,picWidthInSamples-1,xIntC+i) (x-xxx)

yBi,j=Clip3(0,picHeightInSamples-1,yIntC+j) (x-xxx)

将变量BitDepth设定为等于chromaFlag?BitDepthC:BitDepthY

如下导出变量shift1、shift2和shift3:

-变量shift1设定成等于BitDepth-8,变量shift2设定成等于6,且变量shift3设定成等于14-BitDepth。

给定在全样本位置(xBi,j,yBi,j)的色度样本Bi,j,如下导出在分数样本位置的色度样本ab0,0到hh0,0

-标记有ab0,0、ac0,0、ad0,0、ae0,0、af0,0、ag0,0和ah0,0的样本是通过将2分支滤波器应用于最近整数位置样本而导出,如下:

[Ed.(CY):需要调整以下等式数目。]

ab0,0=(56*B0,0+8*B1,0)>>shift1 (8-216)

ac0,0=(48*B0,0+16*B1,0)>>shift1 (8-217)

ad0,0=(40*B0,0+24*B1,0)>>shift1 (8-218)

ae0,0=(32*B0,0+32*B1,0)>>shift1 (8-219)

af0,0=(24*B0,0+40*B1,0)>>shift1 (8-220)

ag0,0=(16*B0,0+48*B1,0)>>shift1 (8-221)

ah0,0=(8*B0,0+56*B1,0)>>shift1 (8-222)

-标记有ba0,0、ca0,0、da0,0、ea0,0、fa0,0、ga0,0和ha0,0的样本是通过将2分支滤波器应用于最近整数位置样本而导出,如下:

ba0,0=(56*B0,0+8*B0,1)>>shift1 (8-223)

ca0,0=(48*B0,0+16*B0,1)>>shift1 (8-224)

da0,0=(40*B0,0+24*B0,1)>>shift1 (8-225)

ea0,0=(32*B0,0+32*B0,1)>>shift1 (8-226)

fa0,0=(24*B0,0+40*B0,1)>>shift1 (8-227)

ga0,0=(16*B0,0+48*B0,1)>>shift1 (8-228)

ha0,0=(8*B0,0+56*B0,1)>>shift1 (8-229)

-标记有bX0,0、cX0,0、dX0,0、eX0,0、fX0,0、gX0,0和hX0,0(X分别被b、c、d、e、f、g和h代替)的样本是通过在垂直方向上将2分支滤波器应用于中间值aX0,i(其中i=-1..2)而导出,如下:

bX0,0=(56*aX0,0+8*aX0,1)>>shift2 (8-230)

cX0,0=(48*aX0,0+16*aX0,1)>>shift2 (8-231)

dX0,0=(40*aX0,0+24*aX0,1)>>shift2 (8-232)

eX0,0=(32*aX0,0+32*aX0,1)>>shift2 (8-233)

fX0,0=(24*aX0,0+40*aX0,1)>>shift2 (8-234)

gX0,0=(16*aX0,0+48*aX0,1)>>shift2 (8-235)

hX0,0=(8*aX0,0+56*aX0,1)>>shift2 (8-236)

图x-x-针对八分之一样本内插的整数样本(具有大写字母的加阴影块)和分数样本位置(具有小写字母的不加阴影块)[Ed.(CY):所述图可在当前3D-HEVC WD文字中移除,因为所述文字参考HEVC版本1规范。此处为了清楚目的而将其保持。]

[[如以下指定导出predPartLX[x][y]的值:

predPartLX[x][y]=(refPicLX[xA][yA]*(8-xFrac)*(8-yFrac)+

refPicLX[xB][yB]*(8-yFrac)*xFrac+

refPicLX[xC][yC]*(8-xFrac)*yFrac+

refPicLX[xD][yD]*xFrac*yFrac)>>6(I-238)]]

注意-:当chromaFlag等于0时,所述两个变量(即,xFrac和yFrac)是经修改的输入,其中xFrac%2和yFrac%2两者将等于0。

图11是说明用于八分之一样本内插的实例整数样本和分数样本位置的概念图。在图11的实例中,具有大写字母名称的加阴影正方形对应于全整数像素位置。如以上文字中所示,视频译码器使用不同滤波器等式(即,滤波器等式8-216到8-236)以确定用于不同子整数像素位置处的样本的经滤波值。滤波器等式表示可分离的双线性内插滤波器。

此双线性内插滤波器是“可分离的”,因为第一滤波器应用于确定主要子整数位置处的样本的值。主要子整数位置从整数像素位置严格地垂直或水平。在图11中,主要子整数位置是位置ab0,0、ac0,0、ad0,0、ae0,0、af0,0、ag0,0、ah0,0、ba0,0、ca0,0、da0,0、ea0,0、fa0,0、ga0,0、ha0,0、ab0,1、ac0,1、ad0,1、ae0,1、af0,1、ag0,1、ah0,1、ba1,0、ca1,0、da1,0、ea1,0、fa1,0和ga1,0。第二滤波器应用于主要子整数位置处的样本以确定在辅助子整数位置处的样本的值。辅助子整数位置并不从整数像素位置严格地垂直或水平。在图11中,辅助子整数位置是由整数像素位置(即,B0,0、B1,0、B0,1和B1,1)和主要子整数位置界定的框内的子整数位置。

在此上下文中,术语“阶段”指代子整数位置。因此,每一相应主要子整数位置和辅助子整数是相应“阶段”。如上文所指出,每一阶段的滤波器的系数的总和合计达64。滤波器等式8-216到8-236中的每一者涉及两个系数,其可界定为a和b。在滤波器等式8-216到8-236中的每一者中,系数a和b的总和等于64。举例来说,用于子整数位置ab0,0的滤波器等式(即,等式8-216)包含两个系数56和8,其共计为64。

如以上文字中所示,双线性内插过程先前涉及视频译码器用以导出位置A、B、C和D的坐标的一系列削减操作(即,等式I-230到I-237),如图10中所示。此外,如本发明中在别处所论述,削减操作增加了译码过程的复杂性。此实例实施方案的经修改文字通过使用如等式(8-216到8-236)中所示的可分离的双线性内插滤波器而不是先前使用的不可分离的内插滤波器而减少削减操作的数目。

根据本发明的另一实例技术,通过利用用于双线性滤波器的较小系数可进一步简化以上文字。此实例不一定提供与以上实例实施方案相比位准确的结果。下文以带下划线的文字展示相对于上述实例实施方案实施此简化实例的改变。

-变量shift1设定成等于BitDepth-8,变量shift2设定成等于[[6]]0,且变量shift3设定成等于14-BitDepth。

给定在全样本位置(xBi,j,yBi,j)的色度样本Bi,j,如下导出在分数样本位置的色度样本ab0,0到hh0,0

-标记有ab0,0、ac0,0、ad0,0、ae0,0、af0,0、ag0,0和ah0,0的样本是通过将2分支滤波器应用于最近整数位置样本而导出,如下:

ab0,0=(7*B0,0+1*B1,0)>>shift1 (8-216)

ac0,0=(6*B0,0+2*B1,0)>>shift1 (8-217)

ad0,0=(5*B0,0+3*B1,0)>>shift1 (8-218)

ae0,0=(4*B0,0+4*B1,0)>>shift1 (8-219)

af0,0=(3*B0,0+5*B1,0)>>shift1 (8-220)

ag0,0=(2*B0,0+6*B1,0)>>shift1 (8-221)

ah0,0=(1*B0,0+7*B1,0)>>shift1 (8-222)

-标记有ba0,0、ca0,0、da0,0、ea0,0、fa0,0、ga0,0和ha0,0的样本是通过将2分支滤波器应用于最近整数位置样本而导出,如下:

ba0,0=(7*B0,0+1*B0,1)>>shift1 (8-223)

ca0,0=(6*B0,0+2*B0,1)>>shift1 (8-224)

da0,0=(5*B0,0+3*B0,1)>>shift1 (8-225)

ea0,0=(4*B0,0+4*B0,1)>>shift1 (8-226)

fa0,0=(3*B0,0+5*B0,1)>>shift1 (8-227)

ga0,0=(2*B0,0+6*B0,1)>>shift1 (8-228)

ha0,0=(1*B0,0+7*B0,1)>>shift1 (8-229)

-标记有bX0,0、cX0,0、dX0,0、eX0,0、fX0,0、gX0,0和hX0,0(X分别被b、c、d、e、f、g和h代替)的样本是通过在垂直方向上将2分支滤波器应用于中间值aX0,i(其中i=-1..2)而导出,如下:

bX0,0=(7*aX0,0+1*aX0,1)>>shift2 (8-230)

cX0,0=(6*aX0,0+2*aX0,1)>>shift2 (8-231)

dX0,0=(5*aX0,0+3*aX0,1)>>shift2 (8-232)

eX0,0=(4*aX0,0+4*aX0,1)>>shift2 (8-233)

fX0,0=(3*aX0,0+5*aX0,1)>>shift2 (8-234)

gX0,0=(2*aX0,0+6*aX0,1)>>shift2 (8-235)

hX0,0=(1*aX0,0+7*aX0,1)>>shift2 (8-236)

在本发明的其它实例技术中,使用双线性滤波器的不可分离的实施方案。在其中使用双线性滤波器的不可分离的实施方案的实例中,仅需要对如3D-HEVC草案文本4的I.8.5.3.3.7.1中的等式I-238的以下修改。此实例实施方案不一定提供与上述两个实例实施方案相比位准确的结果。

predPartLX[x][y]=(refPicLX[xA][yA]*(8-xFrac)*(8-yFrac)+

refPicLX[xB][yB]*(8-yFrac)*xFrac+

refPicLX[xC][yC]*(8-xFrac)*yFrac+

refPicLX[xD][yD]*xFrac*yFrac)>>[[6]]shift0

在以上等式中,shift0等于bitDepth-8。

如上文所指出,照明补偿过程可涉及不需要的削减操作。在解决IC中的冗余削减操作问题的一个实例中,移除IC中的所有冗余削减。此实例移除用于运动补偿样本和照明补偿样本两者的削减,即通过跳过等式(1)和(3)中的计算(即,分别为PredMcLX[x]=clip3(0,(1<<BitDepth)-1,(PredMcLX[x]+offset1)>>shift1)以及IcPredLX[x]=clip3(0,(1<<BitDepth)-1,IcPredMcLX[x])。在此实例中,以与HEVC版本1相同的方式,当IC经启用时针对双向预测和单向预测两者执行仅一个削减。

在解决IC中的冗余削减操作的另一实例中,将照明补偿样本削减到[0,32767]以显式地保证IC可由16位存储元件执行。此实例移除运动补偿样本的削减,即通过跳过等式(1)中的计算。另外,此实例如下改变照明补偿样本的削减(即,等式(3)):

IcPredLX[x]=clip3(0,32767,IcPredLX[x]) (8)

在此些实例中,当IC经启用时分别针对双向预测和单向预测执行三次削减和两次削减。这些实例均支持IC中以非规范性方式从双向预测到单向预测的转换(如果两个运动向量及其相关联参考图片是相同的,那么双向预测可作为单向预测执行)。

以下文字展示对3D-HEVC草案文本4的改变以减少或消除IC中的冗余削减操作。在以下文字中,加下划线指示添加的文字且双方括号中的斜体文字是从3D-HEVC草案文本4删除的文字。

I.8.5.3.3.6照明补偿样本预测过程

对此过程的输入是:

-相对于当前图片的左上方样本指定当前明度译码块的左上方样本的位置(xCb,yCb),

-当前明度译码块nCbS的大小,

-相对于当前译码块的左上方样本指定当前预测块的左上方样本的位置(xBl,yBl),

-此预测块的宽度及高度nPbW及nPbH,

-两个(nPbW)×(nPbH)阵列predSamplesL0及predSamplesL1,

-两个预测列表利用旗标predFlagL0及predFlagL1,

-两个参考索引refIdxL0及refIdxL1,

-两个运动向量mvL0和mvL1,

-颜色分量索引cIdx。

此过程的输出是:

-预测样本值的(nPbW)×(nPbH)阵列predSamples。

[[如下导出变量shiftl、shift2、offsetl和offset2:

-变量shift1设定成等于14-bitDepth且变量shift2设定成等于15-bitDepth,

-如下导出变量offset1:

-如果shift1大于0,那么offset1设定成等于1<<(shift1-1)。

-否则的话(shift1等于0),offset1设定成等于0。

-变量offset2设定为等于1<<(shift2-1)。]]

如下导出变量bitDepth:

-如果cIdx等于0,那么bitDepth设定成等于BitDepthY

-否则(cIdx等于1或2),bitDepth设定成等于BitDepthC

调用用于如子条款I.8.5.3.3.6.1中指定的照明补偿模式可用性和参数的导出过程,其中明度位置(xCb,yCb)、当前明度译码块nCbS的大小、预测列表利用旗标、predFlagL0和predFlagL1、参考索引refIdxL0和refIdxL1、运动向量mvL0和mvL1、样本的位深度bitDepth、指定颜色分量索引的变量cIdx作为输入,且输出是旗标puIcFlagL0和puIcFlagL1以及指定用于照明补偿的权重的变量icWeightL0和icWeightL1、指定用于照明补偿的偏移的变量icOffsetL0和icOffsetL1。

取决于predFlagL0和predFlagL1的值,如下导出照明补偿预测样本predSamplesIcLX[x][y],其中x=0..(nPbW)-1且y=0..(nPbH)-1:

-对于在0到1的范围内(包含性)的X,以下适用:

-当predFlagLX等于1时以下适用:

[[clipPredVal=

Clip3(0,(1<<bitDepth)-1,(predSamplesLX[x][y]+offset1)>>shift1)(I-192)]]

predSamplesIcLX[x][y][[predValX]]=!puIcFlagLX?predSamplesLX[x][y][[clipPredVal]]:

([[Clip3(0,(1<<bitDepth)-1,]]([[clipPredVal]]predSamplesLX[x][y]*icWeightLX)>>5)+(icOffsetLX<<(14-bitDepth))[[)]](I-193)

-[[如果predFlagL0等于1且predFlagL1等于1,那么以下适用:

predSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predVal0+predVal1+offset2)>>shift2)(I-194)

-否则(predFlagL0等于0或predFlagL1等于0),以下适用:

predSamples[x][y]=predFlagL0?predVal0:predVal1(I-195)]]

通过调用子条款8.5.3.3.4中指定的经加权样本预测过程而导出阵列predSamples,其中预测块宽度nPbW、预测块高度nPbH以及样本阵列predSamplesIcL0和predSamplesIcL1、以及变量predFlagL0、predFlagL1、refIdxL0、refIdxL1和cIdx作为输入。

经加权样本预测过程

综述

对此过程的输入是:

-指定明度预测块的宽度及高度的两个变量nPbW及nPbH,

-两个(nPbW)×(nPbH)阵列predSamplesL0及predSamplesL1,

-预测列表利用旗标predFlagL0及predFlagL1,

-参考索引refIdxL0及refIdxL1,

-指定颜色分量索引的变量cIdx。

此过程的输出是预测样本值的(nPbW)x(nPbH)阵列predSamples。

如下导出变量bitDepth:

-如果cIdx等于0,那么bitDepth设定成等于BitDepthY

-否则,bitDepth设定成等于BitDepthC

如下导出变量weightedPredFlag:

-如果slice_type等于P,那么weightedPredFlag设定成等于weighted_pred_flag。

-否则(slice_type等于B),weightedPredFlag设定成等于weighted_bipred_flag。

以下适用:

-如果weightedPredFlag等于0或ic_flag等于1,那么通过调用如子条款8.5.3.3.4.2中指定的默认经加权样本预测过程而导出预测样本,其中明度预测块宽度nPbW、明度预测块高度nPbH、两个(nPbW)x(nPbH)阵列predSamplesL0和predSamplesL1、预测列表利用旗标predFlagL0和predFlagL1以及位深度bitDepth作为输入。

-否则(weightedPredFlag等于1),通过调用如子条款8.5.3.3.4.3中指定的经加权样本预测过程而导出预测样本的阵列predSample,其中明度预测块宽度nPbW、明度预测块高度nPbH、两个(nPbW)x(nPbH)阵列predSamplesL0和predSamplesL1、预测列表利用旗标predFlagL0和predFlagL1、参考索引refIdxL0和refIdxL1、颜色分量索引cIdx以及位深度bitDepth作为输入。

图12是说明根据本发明的技术的视频编码器20的实例操作的流程图。提供本发明的流程图作为实例。其它实例可包含更多、更少或不同的动作,或可包含呈不同次序或并行的动作。在图12的实例中,视频编码器20基于视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置(300)。视频编码器20可将可分离的双线性内插滤波器应用于第一参考图片的样本以确定第一参考块的样本(301)。

另外,视频编码器20确定第二参考图片中的第二参考块的位置(302)。此外,视频编码器20将可分离的双线性内插滤波器应用于第二参考图片的样本以确定第二参考块的样本(304)。视频编码器20将可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本(306)。第一、第二和第三参考图片中的每一者是不同图片。

在一些实例中,每一阶段的可分离的双线性内插滤波器的系数的总和等于64。举例来说,可分离的双线性内插滤波器的系数(a,b)的总和等于(x*8,(8-x)*8),其中x等于在0到8的范围内的值。因此,在一些实例中,对于第一参考块、第二参考块或第三参考块的每一相应样本,视频解码器30可基于相应样本的位置应用以下公式中的一或多者以确定相应样本:

ab0,0=(56*B0,0+8*B1,0)>>shift1,

ac0,0=(48*B0,0+16*B1,0)>>shift1,

ad0,0=(40*B0,0+24*B1,0)>>shift1,

ae0,0=(32*B0,0+32*B1,0)>>shift1,

af0,0=(24*B0,0+40*B1,0)>>shift1,

ag0,0=(16*B0,0+48*B1,0)>>shift1,

ah0,0=(8*B0,0+56*B1,0)>>shift1,

ba0,0=(56*B0,0+8*B0,1)>>shift1,

ca0,0=(48*B0,0+16*B0,1)>>shift1,

da0,0=(40*B0,0+24*B0,1)>>shift1,

ea0,0=(32*B0,0+32*B0,1)>>shift1,

fa0,0=(24*B0,0+40*B0,1)>>shift1,

ga0,0=(16*B0,0+48*B0,1)>>shift1,

ha0,0=(8*B0,0+56*B0,1)>>shift1,

bX0,0=(56*aX0,0+8*aX0,1)>>shift2,

cX0,0=(48*aX0,0+16*aX0,1)>>shift2,

dX0,0=(40*aX0,0+24*aX0,1)>>shift2,

eX0,0=(32*aX0,0+32*aX0,1)>>shift2,

fX0,0=(24*aX0,0+40*aX0,1)>>shift2,

gX0,0=(16*aX0,0+48*aX0,1)>>shift2,

hX0,0=(8*aX0,0+56*aX0,1)>>shift2,

在以上等式中,对于标记有bX0,0、cX0,0、dX0,0、eX0,0、fX0,0、gX0,0和hX0,0的样本,X分别被b、c、d、e、f、g和h代替。Shift1等于相应样本的位深度减8且shift2等于6。图11展示上文指示的位置。

视频编码器20确定预测性块(308)。预测性块的每一相应样本等于第一参考块的相应样本减去相应残余预测符样本。相应残余预测符样本等于加权因数乘以第二参考块的相应样本与第三参考块的相应样本之间的差。第一参考块的相应样本、第二参考块的相应样本以及第三参考块的相应样本在第一、第二和第三参考块内对应于预测性块的相应样本的位置的位置处。举例来说,预测性块的相应样本可在坐标(4,5)处,其中所述坐标是相对于预测性块的左上方样本。在此实例中,第一、第二和第三参考块的相应样本可在坐标(4,5)处,其中所述坐标是分别相对于第一、第二和第三参考块的左上方样本。在一些实例中,加权因数等于0、0.5或1。因为加权因数可等于1,所以在根本不应用加权因数的实例中,相应残余预测符样本仍等于加权因数(即,1)乘以第二参考块的相应样本与第三参考块的相应样本之间的差。

视频编码器20确定残余块(310)。在其中当前块是单向的实例中,残余块的每一相应样本等于当前块的相应样本与预测性块的相应样本之间的差。当前块的相应样本和预测性块的相应样本对应于残余块的相应样本的位置。如本发明中在别处所描述,在其中当前块是双向的实例中,预测性块是第一预测性块,且视频编码器20基于第一预测性块中的样本、第二预测性块中的样本和当前块中的样本确定残余块。

视频编码器20在位流中包含表示残余块的数据(312)。举例来说,视频编码器20可基于残余块产生一或多个变换系数块。此外,在此实例中,视频编码器20可量化变换系数块且可产生表示经量化变换系数块的语法元素。视频编码器20可对所述语法元素进行熵编码且在位流中包含经熵编码语法元素。因此,在此实例中,经熵编码语法元素包括表示残余块的数据。

图13是说明根据本发明的技术的视频解码器30的实例操作的流程图。在图13的实例中,视频解码器30基于视频数据的当前图片中的当前块的运动向量确定第一参考图片中的第一参考块的位置(350)。视频解码器30可将可分离的双线性内插滤波器应用于第一参考图片的样本以确定第一参考块的样本(351)。

另外,视频解码器30确定第二参考图片中的第二参考块的位置(352)。视频解码器30将可分离的双线性内插滤波器应用于第二参考图片的样本以确定第二参考块的样本(354)。此外,视频解码器30将可分离的双线性内插滤波器应用于第三参考图片的样本以确定第三参考块的样本(356)。第一、第二和第三参考图片中的每一者是不同图片。在一些实例中,视频解码器30应用可分离的双线性内插滤波器以确定第一参考块的样本。

在某一实例中,每一阶段的可分离的双线性内插滤波器的系数的总和等于64。举例来说,可分离的双线性内插滤波器的系数(a,b)的总和等于(x*8,(8-x)*8),其中x等于在0到8的范围内的值。因此,在一些实例中,对于第一参考块、第二参考块或第三参考块的每一相应样本,视频解码器30可基于相应样本的位置应用以下公式中的一或多者以确定相应样本:

ab0,0=(56*B0,0+8*B1,0)>>shift1,

ac0,0=(48*B0,0+16*B1,0)>>shift1,

ad0,0=(40*B0,0+24*B1,0)>>shift1,

ae0,0=(32*B0,0+32*B1,0)>>shift1,

af0,0=(24*B0,0+40*B1,0)>>shift1,

ag0,0=(16*B0,0+48*B1,0)>>shift1,

ah0,0=(8*B0,0+56*B1,0)>>shift1,

ba0,0=(56*B0,0+8*B0,1)>>shift1,

ca0,0=(48*B0,0+16*B0,1)>>shift1,

da0,0=(40*B0,0+24*B0,1)>>shift1,

ea0,0=(32*B0,0+32*B0,1)>>shift1,

fa0,0=(24*B0,0+40*B0,1)>>shift1,

ga0,0=(16*B0,0+48*B0,1)>>shift1,

ha0,0=(8*B0,0+56*B0,1)>>shift1,

bX0,0=(56*aX0,0+8*aX0,1)>>shift2,

cX0,0=(48*aX0,0+16*aX0,1)>>shift2,

dX0,0=(40*aX0,0+24*aX0,1)>>shift2,

eX0,0=(32*aX0,0+32*aX0,1)>>shift2,

fX0,0=(24*aX0,0+40*aX0,1)>>shift2,

gX0,0=(16*aX0,0+48*aX0,1)>>shift2,

hX0,0=(8*aX0,0+56*aX0,1)>>shift2,

在以上等式中,对于标记有bX0,0、cX0,0、dX0,0、eX0,0、fX0,0、gX0,0和hX0,0的样本,X分别被b、c、d、e、f、g和h代替。Shift1等于相应样本的位深度减8且shift2等于6。图11展示上文指示的位置。

视频解码器30确定预测性块(358)。在一些实例中,预测性块的每一相应样本等于第一参考块的相应样本加相应残余预测符样本。在此些实例中,相应残余预测符样本等于加权因数乘以第二参考块的相应样本与第三参考块的相应样本之间的差。第一参考块的相应样本、第二参考块的相应样本以及第三参考块的相应样本在第一、第二和第三参考块内对应于预测性块的相应样本的位置的位置处。举例来说,预测性块的相应样本可在坐标(4,5)处,其中所述坐标是相对于预测性块的左上方样本。在此实例中,第一、第二和第三参考块的相应样本可在坐标(4,5)处,其中所述坐标是分别相对于第一、第二和第三参考块的左上方样本。

视频解码器30从位流获得表示残余块的数据(360)。举例来说,视频解码器30可对位流中的位序列进行熵解码以恢复表示经量化变换系数值的语法元素。在此实例中,视频解码器30可逆量化经量化变换系数且应用逆变换以恢复残余块的样本。

此外,视频解码器30至少部分地基于残余块和预测性块而重构当前图片的译码块(362)。举例来说,当前块可为具有对应于CU的译码块中的一些或全部的预测块的PU。在此实例中,假定PU是单向的,视频解码器30可重构PU的预测块(即,译码块的对应于PU的部分)以使得预测块的每一相应样本等于残余块的相应样本加预测性块的相应样本。残余块的相应样本和预测性块的相应样本是在残余块和预测性块内对应于PU的预测块的相应样本的位置的相应位置处。

在图12和图13的实例操作中,视频译码器(例如,视频编码器20或视频解码器30)可执行进一步执行类似操作用于双向帧间预测块。因此,上文所提及的预测性块可视为第一预测性块。举例来说,视频译码器可基于当前块的第二运动向量确定第四参考图片中的第四参考块(例如,CurrTRef)的位置。视频译码器可将可分离的双线性内插滤波器应用于第四参考图片的样本以确定第四参考块的样本。另外,视频译码器可部分地基于第二运动向量确定第五参考图片中的第五参考块(例如,BaseTRef)的位置。此外,视频译码器可将可分离的双线性内插滤波器应用于第五参考图片的样本以确定第五参考块的样本。视频译码器可将可分离的双线性内插滤波器应用于第六参考图片的样本以确定第六参考块(例如,Base)的样本。第四、第五和第六参考图片中的每一者是不同图片。在一些实例中,视频译码器还可应用可分离的双线性内插滤波器以确定第四参考块(例如,CurrTRef)的样本。此外,视频译码器可确定第二预测性块。第二预测性块的每一相应样本等于第四参考块(例如,CurrTRef)的相应样本加相应残余预测符样本。在此实例中,相应残余预测符样本等于加权因数乘以第五参考块(例如,BaseTRef)的相应样本与第六参考块(例如,Base)的相应样本之间的差。第四参考块的相应样本、第五参考块的相应样本以及第六参考块的相应样本在第四、第五和第六参考块内对应于第二预测性块的相应样本的位置的位置处。在一些实例中,第五和第六参考块中的至少一者相同于第二或第三参考块。

在此实例中,如果视频译码器是视频解码器,那么视频译码器可至少部分地基于残余块而重构第一预测性块并且还有第二预测性块,当前图片的译码块。举例来说,视频解码器可基于第一预测性块和第二预测性块确定最终预测性块。最终预测性块的每一相应样本可为第一预测性块和第二预测性块的对应样本的加权平均。在此实例中,经重构译码块的每一相应样本可等于残余块和最终预测性块中的对应样本的总和。

如果视频译码器是视频编码器,那么视频译码器可至少部分地基于第一预测性块和第二预测性块而确定残余块。举例来说,在此实例中,视频译码器可以上文所描述的方式确定最终预测性块。在此实例中,残余块的每一相应样本等于当前块的相应样本与最终预测性块的对应相应样本之间的差。第二块的相应样本和第二预测性块的相应样本对应于第二残余块的相应样本的位置。视频编码器可在位流中包含表示残余块的数据。

在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体(例如,数据存储媒体),或包含任何促进将计算机程序从一处传送到另一处(例如,根据通信协议)的媒体的通信媒体。以此方式,计算机可读媒体通常可以对应于(1)有形计算机可读存储媒体,其是非暂时的,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。

借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可以用来存储指令或数据结构的形式的期望程序代码并且可以由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。

可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可在广泛多种装置或设备中实施,包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件及/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。

描述了各种实例。这些及其它实例在所附权利要求书的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1