首页 / 专利库 / 显示技术 / 视差 / 剖析三维视频译码中的语法元素

剖析三维视频译码中的语法元素

阅读:1020发布:2021-01-26

专利汇可以提供剖析三维视频译码中的语法元素专利检索,专利查询,专利分析的服务。并且在当前视图是相依性纹理视图、当前译码单元CU未经 帧 内译码且所述当前CU的分割模式等于PART_2Nx2N时,视频译码器从包括视频数据的经编码表示的位流获得所述当前CU的加权因数索引,其中所述当前CU在属于当前视图的图片中。在所述当前视图不是相依性纹理视图或所述当前CU经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N时,视频 解码器 假定所述加权因数索引等于指示关于所述当前CU未应用残余预测的特定值。,下面是剖析三维视频译码中的语法元素专利的具体信息内容。

1.一种对视频数据进行解码的方法,所述方法包括:
在当前视图是相依性纹理视图、当前译码单元CU未经内译码且所述当前CU的分割模式等于PART_2Nx2N时,从包括所述视频数据的经编码表示的位流获得所述当前CU的加权因数索引,其中所述当前CU在属于当前视图的图片中;以及
在所述当前视图不是相依性纹理视图或所述当前CU经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N时,假定所述加权因数索引等于指示关于所述当前CU未应用残余预测的特定值;
基于所述当前CU的所述加权因数索引确定加权因数;以及
基于所述加权因数确定是否预测所述当前CU的残余信号
2.根据权利要求1所述的方法,其中所述位流符合使所述当前CU的所述加权因数索引经受约束的视频译码标准,所述约束要求在没有所述当前CU的分区具有时间运动向量或所述当前CU的视差向量不可用时所述当前CU的所述加权因数索引等于所述特定值。
3.根据权利要求1所述的方法,其中确定是否预测所述当前CU的所述残余信号包括:
响应于确定所述加权因数不等于所述特定值,使用参考残余信号乘以所述加权因数来预测所述当前CU的所述残余信号。
4.根据权利要求1所述的方法,其中所述位流符合使所述位流中的残余预测旗标经受约束的视频译码标准,所述约束要求在没有所述当前CU的对应内的预测单元PU经帧间译码的情况下或没有所述当前CU的所述对应块内的PU具有不等于0的亮度色度经译码块旗标CBF的值的情况下所述残余预测旗标等于0,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且其中所述对应块在参考视图图片中。
5.根据权利要求4所述的方法,其进一步包括响应于确定残余预测针对所述当前CU经启用而从所述位流获得所述残余预测旗标,且无需确定所述当前CU的所述对应块内的至少一个PU是否未经帧内译码且无需确定所述当前CU的所述对应块的所述亮度和色度CBF的所述值不等于0。
6.根据权利要求1所述的方法,其中所述位流符合使所述位流中的照明补偿旗标经受约束的视频译码标准,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿不用于所述当前CU的值。
7.根据权利要求6所述的方法,其中:
所述当前CU在当前切片中,且
所述方法进一步包括,响应于确定照明补偿针对所述当前切片经启用且无需确定所述当前CU的至少一个PU是否使用视图间参考图片,从所述位流获得所述照明补偿旗标,所述照明补偿旗标指示照明补偿是否用于所述当前CU。
8.一种对视频数据进行编码的方法,所述方法包括:
响应于确定当前视图是相依性纹理视图、当前译码单元CU未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N,在包括所述视频数据的经编码表示的位流中包含指示所述当前CU的加权因数索引的数据,其中所述当前CU在属于所述当前视图的图片中;
响应于确定所述当前视图不是相依性纹理视图或所述当前CU未经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N,从所述位流省略指示所述当前CU的所述加权因数索引的所述数据;以及
输出所述位流。
9.根据权利要求8所述的方法,其中所述位流符合使所述加权因数索引经受约束的视频译码标准,所述约束要求在没有所述当前CU的分区具有时间运动向量或所述当前CU的视差向量不可用时所述当前CU的所述加权因数索引具有特定值,其中等于所述特定值的所述当前CU的所述加权因数索引指示关于所述当前CU未应用残余预测。
10.根据权利要求8所述的方法,其进一步包括当所述加权因数不等于所述特定值时:
确定参考残余信号;以及
使用所述参考残余信号和所述加权因数确定所述当前CU的最终残余数据。
11.根据权利要求8所述的方法,其中所述位流符合使所述位流中的残余预测旗标经受约束的视频译码标准,所述约束要求在没有所述当前CU的对应块内的预测单元PU经帧间译码的情况下或没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标CBF的值的情况下所述残余预测旗标等于0,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且其中所述对应块在参考视图图片中。
12.根据权利要求8所述的方法,其中所述位流符合使所述位流中的照明补偿旗标经受约束的视频译码标准,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿不用于所述当前CU的值。
13.根据权利要求12所述的方法,其中:
所述当前CU在当前切片中,且
所述方法进一步包括:
当照明补偿针对所述当前切片经启用时,在所述位流中包含指示所述照明补偿旗标的数据,所述照明补偿旗标指示照明补偿是否用于所述当前CU,无论所述当前CU的至少一个PU是否使用视图间参考图片。
14.一种视频解码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:
在当前视图是相依性纹理视图、当前译码单元CU未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N时,从包括视频数据的经编码表示的位流获得所述当前CU的加权因数索引,其中所述当前CU在属于当前视图的图片中;以及
在所述当前视图不是相依性纹理视图或所述当前CU经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N时,假定所述加权因数索引等于指示关于所述当前CU未应用残余预测的特定值;
基于所述当前CU的所述加权因数索引确定加权因数;以及
基于所述加权因数确定是否预测所述当前CU的残余信号。
15.根据权利要求14所述的视频解码装置,其中所述位流符合使所述当前CU的所述加权因数索引经受约束的视频译码标准,所述约束要求在没有所述当前CU的分区具有时间运动向量或所述当前CU的视差向量不可用时所述当前CU的所述加权因数索引等于所述特定值。
16.根据权利要求14所述的视频解码装置,其中所述一或多个处理器经配置以使得响应于确定所述加权因数不等于所述特定值,所述一或多个处理器使用参考残余信号乘以所述加权因数来预测所述当前CU的所述残余信号。
17.根据权利要求14所述的视频解码装置,其中所述位流符合使所述位流中的残余预测旗标经受约束的视频译码标准,所述约束要求在没有所述当前CU的对应块内的预测单元PU经帧间译码的情况下或没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标CBF的值的情况下所述残余预测旗标等于0,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且其中所述对应块在参考视图图片中。
18.根据权利要求17所述的视频解码装置,其中所述一或多个处理器经配置以响应于确定残余预测针对所述当前CU经启用而从所述位流获得所述残余预测旗标且无需确定所述当前CU的所述对应块内的至少一个PU是否未经帧内译码且无需确定所述当前CU的所述对应块的所述亮度和色度CBF的所述值不等于0。
19.根据权利要求14所述的视频解码装置,其中所述视频译码标准使所述位流中的照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿不用于所述当前CU的值。
20.根据权利要求19所述的视频解码装置,其中:
所述当前CU在当前切片中,且
所述一或多个处理器经配置以使得响应于确定照明补偿针对所述当前切片经启用且无需确定所述当前CU的至少一个PU是否使用视图间参考图片,所述一或多个处理器从所述位流获得所述照明补偿旗标,所述照明补偿旗标指示照明补偿是否用于所述当前CU。
21.一种视频解码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:
从符合视频译码标准且包含视频数据的经编码表示的位流获得指示照明补偿是否用于当前译码单元CU的照明补偿旗标,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及
响应于基于所述照明补偿旗标确定照明补偿将针对所述当前CU执行,执行所述当前CU的照明补偿。
22.根据权利要求21所述的视频解码装置,其中所述当前CU在当前切片中,且所述一或多个处理器经配置以使得响应于确定照明补偿针对所述当前切片经启用且无需确定所述当前CU的至少一个PU是否使用视图间参考图片,所述一或多个处理器从所述位流获得所述照明补偿旗标。
23.一种视频解码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:
从符合视频译码标准且包含视频数据的经编码表示的位流获得当前译码单元CU的残余预测旗标,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元PU经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标CBF的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及
响应于基于所述残余预测旗标确定残余预测用于所述当前CU,执行所述当前CU的残余预测。
24.根据权利要求23所述的视频解码装置,其中所述一或多个处理器经配置以响应于确定残余预测针对所述当前CU经启用而从所述位流获得所述残余预测旗标且无需确定所述当前CU的所述对应块内的至少一个PU是否未经帧内译码且无需确定所述当前CU的所述对应块的所述亮度和色度CBF的所述值不等于0。

说明书全文

剖析三维视频译码中的语法元素

[0001] 本申请案主张2012年12月28日提交的第61/747,137号美国临时专利申请案的权益,其整个内容以引用的方式并入本文中。

技术领域

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

背景技术

[0003] 数字视频能可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频压缩技术,例如,由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)定义的标准、目前正在开发的高效率视频译码(HEVC)标准及此类标准的扩展中所描述的视频压缩技术。视频装置通过实施这些视频压缩技术可更有效地发射、接收、编码、解码及/或存储数字视频信息。
[0004] 视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于的视频译码,可将视频切片(即,视频或视频帧的一部分)分割成块。使用相对于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的块进行编码。图片的经帧间译码(P或B)切片中的块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
[0005] 空间或时间预测导致用于待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测块的参考样本块的运动向量及指示经译码块与预测块之间的差的残余数据编码的。经帧内译码块是根据帧内译码模式及残余数据来编码。为了实现进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余系数,接着可以对残余系数进行量化。可扫描最初布置为二维阵列的经量化的系数,以便产生系数的一维向量,且可应用熵译码以实现更多压缩。
[0006] 可例如从多个视编码视图来产生多视图译码位流。已经开发利用多视图译码方面的一些三维(3D)视频标准。举例来说,不同视图可传输左眼及右眼视图以支持3D视频。或者,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量及一个深度视图分量。

发明内容

[0007] 一般来说,本发明涉及改善视频译码扩展的稳健性和处理量,例如高效率视频译码(HEVC)的多视图和三维(3D)视频译码扩展。在本发明的一些实例中,视频解码器基于加权因数索引确定加权因数。所述加权因数索引经受约束,以使得在没有当前译码单元(CU)的分区具有时间运动向量或当前CU的视差向量不可用时所述加权因数索引等于特定值。视频解码器基于所述加权因数确定是否预测当前CU的残余信号
[0008] 在一个实例中,本发明描述一种对视频数据进行解码的方法,所述方法包括:在当前视图是相依性纹理视图、当前译码单元(CU)未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N时,从包括所述视频数据的经编码表示的位流获得所述当前CU的加权因数索引,其中所述当前CU在属于当前视图的图片中;以及在所述当前视图不是相依性纹理视图或所述当前CU经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N时,假定所述加权因数索引等于指示关于所述当前CU未应用残余预测的特定值;基于所述当前CU的所述加权因数索引确定加权因数;以及基于所述加权因数确定是否预测所述当前CU的残余信号。
[0009] 在另一个实例中,本发明描述一种对视频数据进行编码的方法,所述方法包括:响应于确定当前视图是相依性纹理视图、当前译码单元(CU)未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N,在包括所述视频数据的经编码表示的位流中包含指示所述当前CU的加权因数索引的数据,其中所述当前CU在属于所述当前视图的图片中;响应于确定所述当前视图不是相依性纹理视图或所述当前CU未经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N,从所述位流省略指示所述当前CU的所述加权因数索引的所述数据;以及输出所述位流。
[0010] 在另一个实例中,本发明描述一种视频解码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:在当前视图是相依性纹理视图、当前译码单元(CU)未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N时,从包括视频数据的经编码表示的位流获得所述当前CU的加权因数索引,其中所述当前CU在属于当前视图的图片中;以及在所述当前视图不是相依性纹理视图或所述当前CU经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N时,假定所述加权因数索引等于指示关于所述当前CU未应用残余预测的特定值;基于所述当前CU的所述加权因数索引确定加权因数;以及基于所述加权因数确定是否预测所述当前CU的残余信号。
[0011] 在另一个实例中,本发明描述一种视频编码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:响应于确定当前视图是相依性纹理视图、当前译码单元(CU)未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N,在包括视频数据的经编码表示的位流中包含指示所述当前CU的加权因数索引的数据,其中所述当前CU在属于所述当前视图的图片中;响应于确定所述当前视图不是相依性纹理视图或所述当前CU未经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N,从所述位流省略指示所述当前CU的所述加权因数索引的所述数据;以及输出所述位流。
[0012] 在另一个实例中,本发明描述一种视频解码装置,其包括:用于在当前视图是相依性纹理视图、当前译码单元(CU)未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N时从包括视频数据的经编码表示的位流获得所述当前CU的加权因数索引的装置,其中所述当前CU在属于当前视图的图片中;以及用于在所述当前视图不是相依性纹理视图或所述当前CU经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N时假定所述加权因数索引等于指示关于所述当前CU未应用残余预测的特定值的装置;用于基于所述当前CU的所述加权因数索引确定加权因数的装置;以及用于基于所述加权因数确定是否预测所述当前CU的残余信号的装置。
[0013] 在另一个实例中,本发明描述一种视频编码装置,其包括:用于响应于确定当前视图是相依性纹理视图、当前译码单元(CU)未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N在包括视频数据的经编码表示的位流中包含指示所述当前CU的加权因数索引的数据的装置,其中所述当前CU在属于所述当前视图的图片中;用于响应于确定所述当前视图不是相依性纹理视图或所述当前CU未经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N从所述位流省略指示所述当前CU的所述加权因数索引的所述数据的装置;以及用于输出所述位流的装置。
[0014] 在另一个实例中,本发明描述一种其上具有指令的非暂时性计算机可读数据存储媒体,所述指令在由视频解码装置的一或多个处理器执行时致使所述视频解码装置:在当前视图是相依性纹理视图、当前译码单元(CU)未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N时,从包括视频数据的经编码表示的位流获得所述当前CU的加权因数索引,其中所述当前CU在属于当前视图的图片中;以及在所述当前视图不是相依性纹理视图或所述当前CU经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N时,假定所述加权因数索引等于指示关于所述当前CU未应用残余预测的特定值;基于所述当前CU的所述加权因数索引确定加权因数;以及基于所述加权因数确定是否预测所述当前CU的残余信号。
[0015] 在另一个实例中,本发明描述一种其上具有指令的非暂时性计算机可读数据存储媒体,所述指令在由视频编码装置的一或多个处理器执行时致使视频编码装置:响应于确定当前视图是相依性纹理视图、当前译码单元(CU)未经帧内译码且所述当前CU的分割模式等于PART_2Nx2N,在包括视频数据的经编码表示的位流中包含指示所述当前CU的加权因数索引的数据,其中所述当前CU在属于所述当前视图的图片中;响应于确定所述当前视图不是相依性纹理视图或所述当前CU未经帧内译码或所述当前CU的所述分割模式不等于PART_2Nx2N,从所述位流省略指示所述当前CU的所述加权因数索引的所述数据;以及输出所述位流。
[0016] 在另一个实例中,本发明描述一种对视频数据进行解码的方法,所述方法包括:从符合视频译码标准且包含视频数据的经编码表示的位流获得指示照明补偿是否用于当前译码单元(CU)的照明补偿旗标,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及响应于基于所述照明补偿旗标确定照明补偿将针对所述当前CU执行,执行所述当前CU的照明补偿。
[0017] 在另一个实例中,本发明描述一种对视频数据进行编码的方法,所述方法包括:在符合视频译码标准且包含视频数据的经编码表示的位流中包含指示照明补偿是否用于当前译码单元(CU)的照明补偿旗标,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及输出所述位流。
[0018] 在另一个实例中,本发明描述一种视频解码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:从符合视频译码标准且包含视频数据的经编码表示的位流获得指示照明补偿是否用于当前译码单元(CU)的照明补偿旗标,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及响应于基于所述照明补偿旗标确定照明补偿将针对所述当前CU执行,执行所述当前CU的照明补偿。
[0019] 在另一个实例中,本发明描述一种视频编码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:在符合视频译码标准且包含视频数据的经编码表示的位流中包含指示照明补偿是否用于当前译码单元(CU)的照明补偿旗标,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及输出所述位流。
[0020] 在另一个实例中,本发明描述一种视频解码装置,其包括:用于从符合视频译码标准且包含视频数据的经编码表示的位流获得指示照明补偿是否用于当前译码单元(CU)的照明补偿旗标的装置,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及用于响应于基于所述照明补偿旗标确定照明补偿将针对所述当前CU执行而执行所述当前CU的照明补偿的装置。
[0021] 在另一个实例中,本发明描述一种视频编码装置,其包括:用于在符合视频译码标准且包含视频数据的经编码表示的位流中包含指示照明补偿是否用于当前译码单元(CU)的照明补偿旗标的装置,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及用于输出所述位流的装置。
[0022] 在另一个实例中,本发明描述一种其上具有指令的非暂时性计算机可读数据存储媒体,所述指令在由视频解码装置的一或多个处理器执行时致使所述视频解码装置:从符合视频译码标准且包含视频数据的经编码表示的位流获得指示照明补偿是否用于当前译码单元(CU)的照明补偿旗标,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及响应于基于所述照明补偿旗标确定照明补偿将针对所述当前CU执行,执行所述当前CU的照明补偿。
[0023] 在另一个实例中,本发明描述一种其上具有指令的非暂时性计算机可读数据存储媒体,所述指令在由视频编码装置的一或多个处理器执行时致使视频编码装置:在符合视频译码标准且包含视频数据的经编码表示的位流中包含指示照明补偿是否用于当前译码单元(CU)的照明补偿旗标,其中所述视频译码标准使所述照明补偿旗标经受约束,所述约束要求在没有所述当前CU的PU使用视图间参考图片的情况下所述照明补偿旗标指定指示照明补偿未用于所述当前CU的值;以及输出所述位流。
[0024] 在另一个实例中,本发明描述一种对视频数据进行解码的方法,所述方法包括:从符合视频译码标准且包含视频数据的经编码表示的位流获得当前译码单元(CU)的残余预测旗标,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元(PU)经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度色度经译码块旗标(CBF)的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及响应于基于所述残余预测旗标确定残余预测用于所述当前CU,执行所述当前CU的残余预测。
[0025] 在另一个实例中,本发明描述一种对视频数据进行编码的方法,所述方法包括:在符合视频译码标准且包含视频数据的经编码表示的位流中包含当前译码单元(CU)的残余预测旗标,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元(PU)经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标(CBF)的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及输出所述位流。
[0026] 在另一个实例中,本发明描述一种视频解码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:从符合视频译码标准且包含视频数据的经编码表示的位流获得当前译码单元(CU)的残余预测旗标,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元(PU)经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标(CBF)的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及响应于基于所述残余预测旗标确定残余预测用于所述当前CU,执行所述当前CU的残余预测。
[0027] 在另一个实例中,本发明描述一种视频编码装置,其包括存储器和一或多个处理器,所述一或多个处理器经配置以:在符合视频译码标准且包含视频数据的经编码表示的位流中包含当前译码单元(CU)的残余预测旗标,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元(PU)经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标(CBF)的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及输出所述位流。
[0028] 在另一个实例中,本发明描述一种视频解码装置,其包括:用于从符合视频译码标准且包含视频数据的经编码表示的位流获得当前译码单元(CU)的残余预测旗标的装置,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元(PU)经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标(CBF)的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及用于响应于基于所述残余预测旗标确定残余预测用于所述当前CU而执行所述当前CU的残余预测的装置。
[0029] 在另一个实例中,本发明描述一种视频编码装置,其包括:用于在符合视频译码标准且包含视频数据的经编码表示的位流中包含当前译码单元(CU)的残余预测旗标的装置,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元(PU)经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标(CBF)的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及用于输出所述位流的装置。
[0030] 在另一个实例中,本发明描述一种具有存储于其上的指令的非暂时性计算机可读数据存储媒体,所述指令在由视频解码装置的一或多个处理器执行时致使所述视频解码装置:从符合视频译码标准且包含视频数据的经编码表示的位流获得当前译码单元(CU)的残余预测旗标,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元(PU)经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标(CBF)的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及响应于基于所述残余预测旗标确定残余预测用于所述当前CU,执行所述当前CU的残余预测。
[0031] 在另一个实例中,本发明描述一种具有存储于其上的指令的非暂时性计算机可读数据存储媒体,所述指令在由视频编码装置的一或多个处理器执行时致使所述视频编码装置:在符合视频译码标准且包含视频数据的经编码表示的位流中包含当前译码单元(CU)的残余预测旗标,其中等于0的所述当前CU的所述残余预测旗标指示残余预测不用于所述当前CU,且所述视频译码标准使所述残余预测旗标经受约束,所述约束要求在没有所述当前CU的对应块内的预测单元(PU)经帧间译码的情况下或在没有所述当前CU的所述对应块内的PU具有不等于0的亮度和色度经译码块旗标(CBF)的值的情况下所述残余预测旗标等于0,其中所述对应块在参考视图图片中;以及输出所述位流。
[0032] 在附图和下文描述中阐述本发明的一或多个实例的细节。其它特征、目标和优点将从所述描述、图式以及权利要求书而显而易见。

附图说明

[0033] 图1是说明可以利用本发明中描述的技术的实例视频编码系统的框图
[0034] 图2是说明相对于当前PU的实例性在空间上相邻的预测单元(PU)的概念图
[0035] 图3是说明实例多视图解码次序的概念图。
[0036] 图4是说明用于多视图译码的实例预测结构的概念图。
[0037] 图5是说明多视图视频译码中的高级残余预测(ARP)的实例性预测结构的概念图。
[0038] 图6是说明当前块、参考块和运动补偿块之间的实例关系的概念图。
[0039] 图7是说明可实施本发明中描述的技术的实例视频编码器的框图。
[0040] 图8是说明可实施本发明中描述的技术的实例视频解码器的框图。
[0041] 图9是说明根据本发明的一或多个技术的视频编码器的实例操作的流程图
[0042] 图10是说明根据本发明的一或多种技术的用于对当前CU进行编码的实例操作的流程图。
[0043] 图11是说明用于确定当前译码单元(CU)的残余样本阵列的视频编码器的实例操作的流程图。
[0044] 图12是说明根据本发明的一或多个技术的视频解码器的实例操作的流程图。
[0045] 图13是说明根据本发明的一或多种技术的用于对当前CU进行解码的视频解码器的实例操作的流程图。
[0046] 图14是说明根据本发明的一或多种技术的用于确定当前CU的残余样本阵列的视频解码器的实例操作的流程图。
[0047] 图15A是说明根据本发明的实例的视频解码器的实例操作的流程图。
[0048] 图15B是说明根据本发明的实例的视频编码器的实例操作的流程图。
[0049] 图16A是说明根据本发明的实例的视频解码器的实例操作的流程图。
[0050] 图16B是说明根据本发明的实例的视频编码器的实例操作的流程图。
[0051] 图17A是说明根据本发明的实例的视频解码器的实例操作的流程图。
[0052] 图17B是说明根据本发明的实例的视频编码器的实例操作的流程图。

具体实施方式

[0053] 高效率视频译码(HEVC)是新开发的视频译码标准。在HEVC及其多视图和三维视频译码扩展(即,分别为MV-HEVC和3D-HEVC)中,视频编码器产生位流。位流包括视频数据的经编码表示。视频解码器执行剖析操作以从位流获得语法元素。一般来说,语法元素是位流中表示的数据的元素。另外,视频解码器执行解码操作,其使用从位流获得的语法元素重构视频数据的样本块。
[0054] 如在本发明中详细描述,存在其中剖析操作可需要具有在解码操作中产生的信息以便从位流获得特定语法元素的一些实例。举例来说,位流是否包含特定语法元素的确定可取决于由解码操作产生的信息。因此,剖析过程可取决于由解码过程产生的信息以便确定是否从位流获得语法元素。此些相依性可减慢剖析过程,这又可减慢解码过程。
[0055] 在一个特定实例中,与当前译码单元(CU)相关联的语法结构可包含或可不包含加权因数索引语法元素,其指示对将用于残余预测的加权因数的索引。如果当前CU的加权因数索引语法元素等于特定值(例如,0),那么残余预测不用于当前CU。在残余预测中,视频译码器可基于视差参考图片和时间视差参考图片中的样本确定残余预测符。视差参考图片和时间视差参考图片在不同于与当前CU相关联的视图的参考视图中。视差参考图片在与当前CU相同的存取单元中。视频译码器可使用当前CU的视差向量和时间运动向量来确定视差参考图片和时间视差参考图片中的样本。因此,关于当前CU的残余预测可仅在当前CU的一或多个分区(例如,当前CU的预测单元(PU))具有时间运动向量(即,指示与当前CU不同的时间实例中的参考图片的运动向量)的情况下且在当前CU的视差向量可用的情况下为可能的。在一些实例中,短语“当前CU的视差向量”可表示作为整体的CU的视差向量或形成CU的部分的PU的视差向量。
[0056] 在先前段落的实例中,加权因数索引语法元素可潜在地具有除0外的值,即使当前CU没有分区具有时间视差向量或当前CU的视差向量不可用也是如此。如果加权因数索引语法元素等于除0外的值且当前CU没有分区具有时间运动向量或当前CU的视差向量不可用,那么解码错误可发生。因此,已提出一些提议用于视频解码器在从位流获得加权因数索引语法元素之前确定当前CU的任何PU是否具有时间运动向量且确定CU的视差向量是否可用。在此些提议中,视频解码器仅在当前CU的分区具有时间运动向量且当前CU的视差向量可用的情况下从位流获得加权因数索引语法元素。然而,确定当前CU的任何分区是否具有时间运动向量且确定当前CU的视差向量是否可用可需要由解码过程产生的信息。因此,确定当前CU的任何分区是否具有时间运动向量且确定当前CU的视差向量是否可用在剖析过程中引入对由解码过程产生的信息的相依性。
[0057] 本发明的实例可减少剖析过程对由解码过程产生的信息的相依性。举例来说,在先前段落的实例中,可引入约束条件以使得如果当前CU中没有分区具有时间运动向量(例如,参考图片来自同一视图),和/或当前CU的视差向量不可用,那么加权因数索引将为0。换句话说,在当前CU没有分区具有时间运动向量和/或当前CU的视差向量不可用时,视频编码器可仅将加权因数索引语法元素设定为0(意味着不使用残余预测)。因为约束条件确保在这些情况下将加权因数索引语法元素设定成0,所以视频解码器并不需要检查当前CU的任何分区是否具有时间运动向量和/或检查当前CU的视差向量是否可用以便确保上文所提及的类型的解码错误不出现。因此,上文所提及的约束条件可消除此解码错误的发生,同时也消除剖析过程对解码过程中产生的信息的相依性。
[0058] 图1为说明可利用本发明的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”一般是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”一般可指视频编码或视频解码。
[0059] 如图1中所示,视频编解码系统10包含源装置12和目的地装置14。源装置12产生经编码的视频数据。因此,源装置12可以被称为视频编码装置或视频编码设备。目的地装置14可以对由源装置12所产生的经编码的视频数据进行解码。因此,目的地装置14可以被称为视频解码装置或视频解码设备。源装置12以及目的地装置14可以是视频编解码装置或视频编解码设备的实例。
[0060] 源装置12及目的地装置14可包括广泛范围的装置,包含桌上型计算机、行动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机(in-car computer)或其类似者。
[0061] 目的地装置14可以经由信道16从源装置12接收经编码的视频数据。信道16可以包括能够将经编码的视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可以包括使得源装置12能够实时地将经编码的视频数据直接发射到目的地装置14的一或多个通信媒体。在此实例中,源装置12可以根据例如无线通信协议等通信标准调制经编码的视频数据,并且可以将经调制的视频数据发射到目的地装置14。一或多个通信媒体可以包含无线通信媒体和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。一或多个通信媒体可以形成基于数据包的网络的一部分,基于数据包的网络例如局域网、广域网或全球网络(例如,因特网)。一或多个通信媒体可包含路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。
[0062] 在另一实例中,信道16可以包含存储由源装置12产生的经编码的视频数据的存储媒体。在此实例中,目的地装置14可以例如经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码的视频数据的其它合适数字存储媒体。
[0063] 在另一实例中,信道16可以包含存储由源装置12产生的经编码的视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可以经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的经编码的视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附接存储(NAS)装置及本地磁盘驱动器
[0064] 目的地装置14可以通过标准数据连接(例如,因特网连接)来存取经编码的视频数据。数据连接的实例类型可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等)或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码的视频数据从文件服务器的传输可为流式传输、下载传输或两者的组合。
[0065] 本发明的技术不限于无线应用或设置。所述技术可以应用于视频编解码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、编码视频数据以存储于数据存储媒体上、解码存储于数据存储媒体上的视频数据,或其它应用。在一些实例中,视频编解码系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
[0066] 图1仅为实例,且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输,等。视频编码装置可以对数据进行编码并且将数据存储到存储器,和/或视频解码装置可以从存储器检索数据并且对数据进行解码。在许多实例中,通过并不彼此通信而是简单地编码数据到存储器及/或从存储器检索数据且解码数据的装置来执行编码及解码。
[0067] 在图1的实例中,源装置12包含视频源18、视频编码器20以及输出接口22。在一些情况下,输出接口22可以包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。
[0068] 视频编码器20可以对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码的视频数据直接发射到目的地装置14。在其它实例中,经编码的视频数据还可以存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或回放。
[0069] 在图1的实例中,目的地装置14包含输入接口28、视频解码器30以及显示装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可经由信道
16接收经编码视频数据。视频解码器30可对经编码视频数据进行解码。显示装置32可显示经解码视频数据。显示装置32可与目的地装置14集成或在目的地装置14外部。显示装置32可以包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0070] 视频编码器20及视频解码器30各自可实施为例如以下各者的多种合适电路中的任一者:一或多个微处理器数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)、离散逻辑、硬件或其任何组合。当部分地以软件实施技术时,装置可以将软件的指令存储于合适的非暂时性计算机可读存储媒体中以及可以使用一或多个处理器以硬件执行指令从而执行本发明的技术。可以将前述内容中的任一者(包含硬件、软件、硬件与软件的组合等)视为一或多个处理器。视频编码器20及视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编码解码器)的部分。
[0071] 本发明可能总体上参考视频编码器20向另一装置(例如视频解码器30)“用信号表示”某些信息。术语“用信号表示”可以大体上是指对用以对经压缩的视频数据进行解码的语法元素和/或其它数据的通信。此通信可以实时地或接近实时地发生。替代性地,可历时时间跨度而发生此通信,例如当在编码时,以经编码位流将语法元素存储到计算机可读存储媒体时,可发生此通信,接着,在存储到此媒体之后可由解码装置在任何时间检索所述语法元素。
[0072] 在一些实例中,视频编码器20及视频解码器30根据视频压缩标准而操作,例如ISO/IEC MPEG-4视觉及ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)扩展、多视图视频译码(MVC)扩展及基于MVC的3DV扩展。此外,正在致力于产生H.264/AVC的三维视频(3DV)译码扩展,即基于AVC的3DV。H.264的MVC扩展的联合草案在2010年3月的ITU-T建议H.264“用于通用视听服务的高级视频译码”中描述。在其它实例中,视频编码器20和视频解码器30可根据ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉以及ITU-T H.263、ISO/IEC-4视觉来操作。因此,视频编码器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视觉和ITU-T H.264(也被称作ISO/IEC MPEG-4AVC)(包含其SVC和MVC扩展)的视频译码标准来操作。
[0073] 在其它实例中,视频编码器20及视频解码器30可根据由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)标准操作。被称作“HEVC工作草案9(HEVC Working Draft 9)”的HEVC的草案描述于布洛斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案9(High Efficiency Video Coding(HEVC)text specification draft 9)”(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),2012年10月中国上海第11届会议)中。此外,正在致力于产生可缩放视频译码、多视图译码,及HEVC的3DV扩展。HEVC的可缩放视频译码扩展可被称为SHEVC。视频编码器20和视频解码器30可根据对HEVC标准的此些扩展而操作。
[0074] 当前,VCEG及MPEG的3D视频译码联合合作小组(JCT-3C)正在开发基于HEVC的3DV标准,其标准化努力的部分包含基于HEVC的多视图视频编码解码器(MV-HEVC)的标准化及用于基于HEVC的3D视频译码(3D-HEVC)的另一部分。对于3D-HEVC,可包含且支持用于纹理及深度视图两者的新译码工具,包含在译码单元/预测单元层级中的那些工具。从
2013年12月19日起,用于3D-HEVC的软件(即,3D-HTM版本6.0)可从以下链接下载:
[0075] [3D-HTM]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-6.0/
[0076] 一般来说,HEVC的运动补偿循环与H.264/AVC中的相同。举例来说,当前帧的重构 可等于解量化系数r加时间预测P:
[0077]
[0078] 在以上公式中,P指示对P帧的单向预测或对B帧的双向预测。
[0079] 然而,HEVC中的运动补偿的单元不同于先前视频译码标准中的单元。举例来说,先前视频译码标准中的宏块的概念在HEVC中并不存在。而是,宏块被基于通用四叉树方案的高度灵活阶层式结构代替。在此方案内,界定三个类型的块,即,译码单元(CU)、预测单元(PU)和变换单元(TU)。CU是区分裂的基本单元。CU的概念类似于宏块的概念,但CU不限于最大大小且CU允许递归分裂为四个大小相等的CU以改善内容适应性。PU是帧间/帧内预测的基本单元且PU可在单个PU中含有多个任意形状的分区以对不规则图像模式进行有效地译码。TU是变换的基本单元。CU的TU可独立于CU的PU而界定。然而,TU的大小限于TU属于的CU。块结构成三个不同概念的此分开可允许每一者根据其作用被优化,这可导致改进的译码效率。
[0080] 在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可以包含三个样本阵列,表示为SL、SCb以及SCr。SL是亮度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可以被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含亮度样本阵列。
[0081] 为了产生图片的经编码的表示,视频编码器20可以产生译码树单元(CTU)的集合。CTU中的每一者可包括亮度样本的译码树块、色度样本的两个对应的译码树块,以及用以对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块及用于对所述译码树块的样本进行译码的语法结构。译码树块可以是样本的NxN块。CTU也可以被称为树块或最大译码单元(LCU)。HEVC的CTU可以广泛地类似于例如H.264/AVC等其它标准的宏块。然而,CTU不必限于特定大小且可包含一或多个CU。切片可包含按光栅扫描次序连续排序的整数数目的CTU。
[0082] 经译码切片可包含切片标头及切片数据。切片的切片标头可为包含提供关于切片的信息的语法元素的语法结构。切片数据可包含切片的经译码CTU。
[0083] 本发明可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块及用于译码所述一或多个样本块的样本的语法结构。实例类型的视频单元可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些情形中,PU的论述可与宏块或宏块分区的论述互换。
[0084] 为了产生经译码的CTU,视频编码器20可以对CTU的译码树块递归地执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxN块。CU可包括具有亮度样本阵列、Cb样本阵列和Cr样本阵列的图片的亮度样本的译码块以及色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块和用以对译码块的样本进行译码的语法结构。
[0085] 视频编码器20可以将CU的译码块分割成一或多个预测块。预测块是应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的PU可包括亮度样本的预测块、色度样本的两个对应预测块以及用以预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块和用以预测预测块的语法结构。视频编码器20可以产生用于CU的每个PU的亮度预测块、Cb预测块以及Cr预测块的预测性亮度块、Cb块以及Cr块。因此在本发明中,CU可称为分割成一或多个PU。为便于说明,本发明可简单地将PU的预测块的大小称为PU的大小。
[0086] 视频编码器20可以使用帧内预测或帧间预测来产生用于PU的预测性块。如果视频编码器20使用帧内预测来产生PU的预测块,那么视频编码器20可基于包含PU的图片的样本产生PU的预测性块。在本发明中,短语“基于”可指示“至少部分基于”。当CU的PU的预测性块是使用帧内预测产生时,当前CU的预测模式(即,PredMode)表示为MODE_INTRA。当CU的PU的预测性块是使用帧间预测产生时,当前CU的预测模式(即,PredMode)表示为MODE_INTER。
[0087] 如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可以基于不同于与PU相关联的图片的一或多个图片的经解码的样本来产生PU的预测性块。当使用帧间预测来产生块(例如,PU)的预测性块时,本发明可将所述块称为“经帧间译码”或“经帧间预测”。帧间预测可为单向的(即,单向预测)或双向的(即,双向预测)。为执行帧间预测,视频编码器20可产生当前图片的第一参考图片列表(RefPicList0)且还可产生当前图片的第二参考图片列表(RefPicList1)。参考图片列表中的每一者可以包含一或多个参考图片。在构造参考图片列表(即RefPicList0和RefPicList1,如果可用)之后,可使用到参考图片列表的参考索引来识别参考图片列表中包含的任何参考图片。
[0088] 当使用单向预测时,视频编码器20可以搜索RefPicList0和RefPicList1中的任一者中的参考图片,以确定参考图片内的参考位置。此外,当使用单向预测时,视频编码器20可以至少部分基于对应于参考位置的样本产生用于PU的预测性块。此外,在使用单向预测时,视频编码器20可产生指示PU的预测块与参考位置之间的空间移位的单一运动向量。
运动向量可包含平分量和垂直分量。水平分量指定PU的预测块与参考位置之间的水平位移且垂直分量指定PU的预测块与参考位置之间的垂直位移。
[0089] 在使用双向预测来编码PU时,视频编码器20可确定RefPicList0中的参考图片中的第一参考位置及RefPicList1中的参考图片中的第二参考位置。视频编码器20可至少部分基于对应于第一及第二参考位置的样本产生PU的预测性块。此外,当使用双向预测对PU进行编码时,视频编码器20可以产生指示PU的预测块与第一参考位置之间的空间移位的第一运动向量,以及指示PU的预测块与第二参考位置之间的空间移位的第二运动向量。
[0090] 如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可以基于不同于与PU相关联的图片的一或多个图片的样本来产生PU的预测性块。举例来说,视频编码器20可对PU执行单向帧间预测(即,单向预测)或双向帧间预测(即,双向预测)。
[0091] 在其中视频编码器20对PU执行单向预测的实例中,视频编码器20可基于PU的运动向量确定参考图片中的参考位置。视频编码器20可随后确定PU的预测性块。PU的预测性块中的每一样本可与参考位置相关联。在一些实例中,PU的预测性块中的样本可当所述样本在具有与PU相同大小的样本块内且其左上角是参考位置时与参考位置相关联。预测性块中的每一样本可为参考图片的实际或经内插样本。
[0092] 在其中视频编码器20对PU执行双向预测的实例中,PU具有两个运动向量。视频编码器20可基于PU的运动向量确定两个参考图片中的两个参考位置。视频编码器20可随后以上文所描述的方式确定与所述两个参考位置相关联的参考块。视频编码器20可随后确定PU的预测性块。预测性块中的每一样本可为参考块中的对应样本的加权平均。样本的加权可基于参考图片与含有PU的图片的时间距离。
[0093] 视频编码器20可根据各种分割模式将CU分割为一或多个PU。举例来说,如果帧内预测用以产生CU的PU的预测性块,那么可根据PART_2Nx2N模式或PART_NxN模式分割CU。在PART_2Nx2N模式中,CU仅具有一个PU。在PART_NxN模式中,CU具有四个大小相等的具有矩形预测块的PU。如果帧间预测用以产生CU的PU的预测性块,那么可根据PART_2Nx2N模式、PART_NxN模式、PART_2NxN模式、PART_Nx2N模式、PART_2NxnU模式、PART_2NxuD模式、PART_nLx2N模式或PART_nRx2N模式分割CU。在PART_2NxN模式和PART_Nx2N模式中,CU分割成两个大小相等的具有矩形预测块的PU。在PART_2NxnU模式、PART_2NxuD模式、PART_nLx2N模式和PART_nRx2N模式中的每一者中,CU分割成两个不相等大小的具有矩形预测块的PU。
[0094] 在视频编码器20产生CU的一或多个PU的预测性亮度、Cb及Cr块之后,视频编码器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译码块中的对应样本之间的差异。
[0095] 此外,视频编码器20可使用四叉树分割将CU的亮度、Cb及Cr残余块分解成一或多个亮度、Cb及Cr变换块。变换块是应用同一变换的样本的矩形(例如,正方形或非正方形)块。CU的TU可包括亮度样本的变换块、色度样本的两个对应的变换块,以及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可以与亮度变换块、Cb变换块以及Cr变换块相关联。与TU相关联的亮度变换块可以是CU的亮度残余块的子块。Cb变换块可以是CU的Cb残余块的子块。Cr变换块可以是CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块和用以对变换块的样本进行变换的语法结构。
[0096] 视频编码器20将一或多个变换应用到TU的亮度变换块以产生TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一或多个变换应用到TU的Cb变换块从而为TU产生Cb系数块。视频编码器20可以将一或多个变换应用到TU的Cr变换块从而产生TU的Cr系数块。
[0097] 在产生系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化大体上指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。视频编码器20可以基于与CU相关联的量化参数(QP)值而量化与CU的TU相关联的系数块。视频编码器20可以通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化的程度。在一些实例中,与CU相关联的QP值可与作为整体的当前图片或切片相关联。在视频编码器20量化系数块之后,视频编码器20可以对指示经量化变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。
[0098] 视频编码器20可输出包含形成经译码图片及相关联数据的表示的位序列的位流。位流可包括网络抽象层(NAL)单元的序列。NAL单元为含有NAL单元中的数据类型类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
[0099] 不同类型的NAL单元可囊封不同类型的RBSP。举例来说,不同类型的NAL单元可囊封用于视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、经译码切片、SEI等的不同RBSP。囊封用于视频译码数据的RBSP(与用于参数集及SEI消息的RBSP相比)的NAL单元可被称为视频译码层(VCL)NAL单元。
[0100] SPS可含有应用于经译码视频序列(CVS)的所有切片的信息。在HEVC中,CVS可开始于瞬时解码刷新(IDR)图片,或断链存取(BLA)图片,或为位流中的第一图片的清洁随机存取(CRA)图片,且包含并非IDR或BLA图片的所有后续图片。也就是说,在HEVC中,CVS可包括按解码次序由以下各项组成的存取单元序列:作为在位流中的第一存取单元的CRA存取单元,IDR存取单元或BLA存取单元,接着是零或多个非IDR和非BLA存取单元,包含直到但不包含任何后续IDR或BLA存取单元的所有后续存取单元。
[0101] VPS是包括应用于零个或零个以上整个CVS的语法元素的语法结构。SPS可包含识别在SPS在作用中时在作用中的VPS的语法元素。因此,VPS的语法元素可比SPS的语法元素更一般化地适用。PPS是包括应用于零个或零个以上经译码图片的语法元素的语法结构。PPS可包含识别在PPS在作用中时在作用中的SPS的语法元素。切片的切片标头可包含指示当切片正经译码时在作用中的PPS的语法元素。
[0102] 视频解码器30可以接收由视频编码器20产生的位流。另外,视频解码器30可以剖析位流以获得来自位流的语法元素。视频解码器30可至少部分基于从位流获得的语法元素重构视频数据的图片。用以重构视频数据的过程大体上可以与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量,以确定当前CU的PU的预测性块。另外,视频解码器30可以逆量化与当前CU的TU相关联的系数块。视频解码器30可以对系数块执行逆变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可以重构所述图片。
[0103] 在一些实例中,视频编码器20可使用合并/跳过模式或高级运动向量预测(AMVP)模式用信号表示PU的运动信息。举例来说,在HEVC中,存在用于运动参数预测的两个模式,一个是合并/跳过模式且另一个是AMVP。运动预测可包括基于一或多个其它视频单元的运动信息的视频单元(例如,PU)的运动信息的确定。PU的运动信息可包含PU的运动向量、PU的参考索引以及一或多个预测方向指示符。
[0104] 当视频编码器20使用合并模式用信号发送当前PU的运动信息时,视频编码器20产生合并候选者列表。换句话说,视频编码器20可执行运动向量预测符列表构造过程。合并候选者列表包含指示在空间上或在时间上相邻于当前PU的PU的运动信息的合并候选者的集合。也就是说,在合并模式中,构造运动参数(例如,参考索引、运动向量等)的候选者列表,其中候选者可来自空间及时间相邻块。
[0105] 此外,在合并模式中,视频编码器20可从所述合并候选者列表选择合并候选者且可使用由所选择的合并候选者指示的运动信息作为当前PU的运动信息。视频编码器20可用信号表示所选择的合并候选者在合并候选者列表中的位置。举例来说,视频编码器20可通过发射指示所述选定合并候选者在候选列表内的位置的索引(即,合并候选者索引)来用信号表示所述选定运动向量参数。视频解码器30可从位流获得进入候选者列表的索引(即,合并候选者索引)。另外,视频解码器30可产生同一合并候选者列表且可基于合并候选者索引确定所述选定合并候选者。接着,视频解码器30可以使用选定的合并候选者的运动信息来产生当前PU的预测性块。也就是说,视频解码器30可至少部分基于所述候选者列表索引来确定候选者列表中的所选择的候选者,其中所选择的候选者指定当前PU的运动向量。以此方式,在解码器侧处,一旦索引被解码,索引所指向的对应块的所有运动参数便可由当前PU继承。
[0106] 跳过模式类似于合并模式。在跳过模式中,视频编码器20及视频解码器30以视频编码器20及视频解码器30在合并模式中使用合并候选者列表相同的方式产生并使用合并候选者列表。然而,在视频编码器20使用跳过模式用信号发出当前PU的运动信息时,视频编码器20不用信号发出用于当前PU的任何残余数据。因此,视频解码器30可在不使用残余数据的情况下基于由合并候选者列表中的选定候选者的运动信息指示的参考块而确定PU的预测块。
[0107] AMVP模式类似于合并模式,类似之处在于视频编码器20可产生候选者列表并且可从候选者列表选择候选者。然而,当视频编码器20使用AMVP模式用信号表示当前PU的RefPicListX(其中X是0或1)运动信息时,视频编码器20除用信号表示当前PU的RefPicListX运动向量预测符(MVP)旗标之外,还可用信号表示当前PU的RefPicListX运动向量差(MVD)和当前PU的RefPicListX参考索引。当前PU的RefPicListX MVP旗标可指示AMVP候选者列表中的选定AMVP候选者的位置。当前PU的RefPicListX MVD可指示当前PU的RefPicListX运动向量与选定AMVP候选者的运动向量之间的差。以此方式,视频编码器20可通过用信号表示RefPicListX MVP旗标、RefPicListX参考索引值和RefPicListX MVD来用信号表示当前PU的RefPicListX运动信息。换句话说,在位流中的表示当前PU的运动向量的数据可包含表示参考索引的数据、到候选者列表的索引及MVD。因此,所选择的运动向量可通过发射到候选者列表中的索引来用信号表示。另外,也可用信号表示参考索引值及运动向量差。
[0108] 此外,在使用AMVP模式用信号表示当前PU的运动信息时,视频解码器30可从所述位流获得当前PU的MVD及MVP旗标。视频解码器30可产生相同的AMVP候选者列表且可基于MVP旗标确定所述选定AMVP候选者。换句话说,在AMVP中,基于经译码参考索引导出针对每一运动假设的运动向量预测符的候选者列表。如之前,此列表可包含与相同参考索引相关联的相邻块的运动向量以及基于时间参考图片中处于相同位置的块的相邻块的运动参数导出的时间运动向量预测符。视频解码器30可通过将MVD添加到由所述选定AMVP候选者指示的运动向量来恢复当前PU的运动向量。也就是说,视频解码器30可基于由所述选定AMVP候选者指示的运动向量和MVD确定当前PU的运动向量。视频解码器30接着可使用当前PU的所恢复的一或多个运动向量来产生当前PU的预测性块。
[0109] 当视频译码器(例如,视频编码器20或视频解码器30)产生当前PU的AMVP候选者列表时,视频译码器可基于覆盖在空间上相邻于当前PU的位置的PU(即,在空间上相邻的PU)的运动信息导出一或多个AMVP候选者以及基于在时间上相邻于当前PU的PU的运动信息导出一或多个AMVP候选者。在本发明中,如果PU的预测块(或视频单元的其它类型的样本块)包含一位置,那么PU(或其它类型的视频单元)可称为“覆盖”所述位置。候选者列表可包含与同一参考索引相关联的相邻块的运动向量以及基于时间参考图片中位于同一地点的块的相邻块的运动参数(即,运动信息)导出的时间运动向量预测符。图2为说明相对于当前PU 40的实例空间上相邻PU的概念图。在图2的实例中,在空间上相邻的PU可为覆盖指示为A0、A1、B0、B1及B2的位置的PU。合并候选者列表或AMVP候选者列表中基于在时间上相邻于当前PU的PU(即,在与当前PU不同的时间实例中的PU)的运动信息的候选者可被称为TMVP。TMVP可用以改善HEVC的译码效率,并且不同于其它译码工具,TMVP可需要存取经解码图片缓冲器中、更具体来说参考图片列表中的帧的运动向量。
[0110] 如上所提到,HEVC的多视图扩展(即,MV-HEVC)和HEVC的3DV扩展(即,3D-HEVC)在开发中。也就是说,VCEG及MPEG的3D视频译码联合合作小组(JCT-3V)正在开发基于HEVC的3DV标准,其标准化努力的部分包含基于HEVC的多视图视频编解码器(MV-HEVC)的标准化及用于基于HEVC的3D视频译码(3D-HEVC)的另一部分。MV-HEVC可保证仅存在对HEVC的高级语法(HLS)改变且HEVC的CU/PU层级没有模块需要再设计且HEVC的CU/PU层级的所有模块完全再用于MV-HEVC。3D-HEVC包含且支持用于纹理和深度视图两者的新译码工具,包含CU/PU层级的那些译码工具。
[0111] 格哈 德技 术公 司(Gerhard Tech)等 的“3D-HEVC测试 模型 描 述草 案1”(JCT3V-A1005,ITU-T SG 16WP 3和ISO/IEC JTC1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,瑞典斯德哥尔摩第1次会议,2012年7月16-20日)提供3D-HEVC的参考软件描述以及工作草案。格哈德技术公司等的“3D-HEVC测试模型2”(JCT3V-A1005,ITU-T SG 16WP 3和ISO/IEC JTC1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,中国上海第2次会议,2012年10月13-19日)(下文为3D-HEVC测试模型2”)是3D-HEVC的另一工作草案。格哈德技术公司等的“MV-HEVC工作草案1”(JCT3V-A1004,ITU-T SG 16WP 3和ISO/IEC JTC1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,瑞典斯德哥尔摩第1次会议,2012年7月16-20)(下文为“JCT3V-A1004”)提供MV-HEVC的工作草案。
[0112] 从2013年12月20日起,用于3D-HEVC的3D-HTM的软件从以下链接可得:[3D-HTM版 本 5.0]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-5.0/。此外,从2013年12月20日起,基于3D-HTM的MV-HEVC的参考软件从以下可得:[3D-HTM版本5.1]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-5.1/。
[0113] 在MV-HEVC和3D-HEVC中,可存在同一场景的来自不同视点的多个视图。术语“存取单元”可用以指对应于同一时间实例的图片集合。因此,视频数据可概念化为随时间过去而出现的一系列存取单元。“视图分量”可为单个存取单元中的视图的经译码表示。视图分量可包括纹理视图分量及深度视图分量。在本发明中,“视图”可指与相同视图识别符相关联的视图分量序列。
[0114] MV-HEVC和3D-HEVC支持视图间预测。视图间预测类似于用于HEVC中的帧间预测且可使用相同的语法元素。然而,当视频译码器对当前视频单元(例如PU)执行视图间预测时,视频编码器20可使用与当前视频单元在同一存取单元中但在不同视图中的图片作为参考图片。换句话说,在多视图译码中,在同一存取单元(即,同一时间实例内)的不同视图中俘获的图片当中执行视图间预测以移除视图之间的相关。相对比地,常规的帧间预测仅使用不同存取单元中的图片作为参考图片。
[0115] 在当前图片中的块是使用视图间预测经译码时,所述块具有指示视图间参考图片中的位置的运动向量。视图间参考图片可为与当前图片相同的时间实例中但在与当前图片不同的视图中的参考图片。因此,在视频译码器对当前视频单元(例如宏块或PU)执行视图间预测时,视频译码器可使用在与当前视频单元相同的存取单元中但在不同视图中的图片作为参考图片。
[0116] 因此,在多视图视频译码的上下文中,存在两个种类的运动向量。一个种类的运动向量是指向时间参考图片的正常运动向量。此类型的运动向量可在本文中被称作时间运动向量。对应于正常时间运动向量的类型的帧间预测可被称为运动补偿预测(MCP)。当视图间预测参考图片用于运动补偿时,对应运动向量可被称为“视差运动向量”。换句话说,视差运动向量指向不同视图中的图片(即,视差参考图片或视图间参考图片)。对应于视差运动向量的类型的帧间预测可被称为“视差补偿预测”或“DCP”。
[0117] 视频译码器可使用当前块的视差运动向量来确定当前块的预测性块。如果视频译码器是视频编码器,那么视频译码器可使用当前块的预测性块来产生当前块的残余数据。如果视频译码器是视频解码器,那么视频译码器可使用当前块的预测性块和当前块的残余数据来重构当前块的样本块。
[0118] 如3D-HEVC中,H.264/AVC的多视图译码(MVC)扩展允许同一存取单元(即,以同一时间实例)中的图片当中的视图间预测。在H.264/AVC的MVC扩展中,视差运动补偿支持视图间预测,所述视差运动补偿使用H.264/AVC运动补偿的语法,但允许将不同视图中的图片用作参考图片。对两个视图的译码还可受到H.264/AVC的MVC扩展支持。H.264/AVC的MVC扩展的优点中的一者是,MVC编码器可将两个以上视图视为3D视频输入且MVC解码器可解码此多视图表示。因此,具有MVC解码器的任何再现器可预期具有两个以上视图的3D视频内容。在MVC中,当对非基础视图中的一者中的图片进行译码时,如果图片处于不同视图中但在同一时间实例中,那么所述图片可添加到参考图片列表中。视图间参考图片可放置在参考图像列表的任何位置中,正如任何帧间预测参考图片一般。
[0119] 图3是说明实例多视图解码次序的概念图。多视图解码顺序可为位流次序。在图3的实例中,每一正方形对应于视图分量。正方形的列对应于存取单元。每一存取单元可经定义为含有时间实例的所有视图的经译码图片。正方形的行对应于视图。在图3的实例中,将存取单元标记为T0...T8及将视图标记为S0...S7。因为在下一存取单元的任何视图分量之前解码存取单元的每一视图分量,所以图3的解码次序可被称作时间优先译码。存取单元的解码次序可能并不等同于输出或显示次序。
[0120] 图4是说明用于多视图译码的实例预测结构的概念图。图4的多视图预测结构包含时间及视图间预测。在图4的实例中,每一正方形对应于视图分量。在图4的实例中,将存取单元标记为T0...T11及将视图标记为S0...S7。标记为“I”的正方形为经帧内预测视图分量。标记为“P”的正方形为经单向帧间预测视图分量。标记为“B”及“b”的正方形为经双向帧间预测视图分量。标记为“b”的正方形可将标记为“B”的正方形用作参考图片。从第一正方形指向第二正方形的箭头指示第一正方形可在帧间预测时用作第二正方形的参考图片。如由图4中的垂直箭头所指示,可将相同存取单元的不同视图中的视图分量用作参考图片。因此,图4展示用于多视图视频译码的典型的MVC预测(包含每一视图内的图片间预测及视图间预测两者)结构,其中由箭头指示预测,被指向对象使用指出对象用于预测参考。将存取单元的一个视图分量用作同一存取单元的另一视图分量的参考图片可被称作视图间预测。
[0121] 在多视图译码中,位流可具有多个层。所述层可对应于不同视图。如果视频解码器(例如,视频解码器30)可解码视图中的图片而无需参考任何其它视图中的图片,那么视图可被称为“基础视图”。如果视图的解码取决于一或多个其它视图中的图片的解码,那么所述视图可被称为非基础视图。
[0122] 在一些实例中,NAL单元可包含标头(即,NAL单元标头)和有效负载(例如,RBSP)。NAL单元标头可包含nuh_reserved_zero_6bits语法元素。具有指定不同值的nuh_reserved_zero_6bit语法元素的NAL单元属于位流的不同“层”。因此,在多视图译码、3DV或SVC中,NAL单元的nuh_reserved_zero_6bits语法元素指定NAL单元的层识别符(即,层ID)。在一些实例中,如果NAL单元涉及多视图译码、3DV译码或SVC中的基础层,那么NAL单元的nuh_reserved_zero_6bits语法元素等于0。可在不参考位流的任何其它层中的数据的情况下解码位流的基础层中的数据。如果NAL单元并不涉及多视图译码、3DV或SVC中的基础层,那么nuh_reserved_zero_6bits语法元素可具有非零值。如上文所指出,在多视图译码和3DV译码中,位流的不同层可对应于不同视图。在SVC中,除基础层外的层可被称为“增强层”且可提供增强从位流解码的视频数据的视觉质量的信息。
[0123] 此外,可在不参考相同层内的其它图片的情况下解码层内的一些图片。因此,可从位流移除囊封一层的某些图片的数据的NAL单元而不影响所述层中的其它图片的可解码性。移除囊封此些图片的数据的NAL单元可能会降低位流的帧速率。可在无需参考层内的其它图片的情况下解码的层内的图片的子集可在本文中被称作“子层”或“时间子层”。
[0124] NAL单元还可包含temporal_id语法元素。NAL单元的temporal_id语法元素可指定NAL单元的时间识别符。NAL单元的时间识别符可识别NAL单元相关联的子层。因此,位流的每一子层可与不同时间识别符相关联。如果第一NAL单元的时间识别符小于第二NAL单元的时间识别符,那么可在不参考由第二NAL单元囊封的数据的情况下解码由第一NAL单元囊封的数据。
[0125] 当对非基础视图中的一者中的图片进行译码时,如果图片处于与视频译码器当前正译码的图片不同的视图中但处于与视频译码器当前正译码的图片相同的时间实例(即,存取单元)中,那么视频译码器(例如视频编码器20或视频解码器30)可将图片添加到参考图片列表中。类似于其它帧间预测参考图片,视频译码器可在参考图片列表的任何定位处插入视图间预测参考图片。换句话说,以视图间预测经译码的图片可添加到用于另一非基础视图的视图间预测的参考图片列表中。
[0126] 此外,特定图片中的块可具有类似于视图间参考图片中的对应块的运动信息或残余数据的运动信息或残余数据。因此,当前图片中的当前块的运动信息或残余数据可基于视图间参考图片中的对应块的运动信息或残余数据而预测。在视图间残余预测中,视频译码器可基于与当前CU不同的视图中的残余数据确定当前CU的残余块。为了进一步改善译码效率,张等人在“3D-CE5.h相关:用于多视图译码的高级残余预测”(ITU-T SG 16WP 3和ISO/IEC JTC1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,中国上海第2次会议,2012年10月13-19日,在2012年10月第2次JCT-3V会议的文献JCT3V-B0051(下文为JCT3V-B0051))中提议高级残余预测(ARP)。
[0127] 为了进一步改善译码效率,3D-HEVC已采用照明补偿。照明补偿(IC)的基本想法是不同视图之间的照明差异应在视图间预测中校正。不同视图之间的此些差异可发生,因为不同相机可未经完美地校准,从而潜在地导致不同相机具有不同曝光时间。如在本发明中在别处所描述,是否应用IC可在CU层级决定,且针对其中使用视图间预测的CU来译码IC旗标。将应用IC的过程使用PU的视差向量。
[0128] 为了实现视图间运动预测、ARP和照明补偿,视频译码器可确定块(例如,PU、CU等)的视差向量。一般来说,视差向量用作两个视图之间的位移的估计器。视频译码器可使用块的视差向量来定位用于视图间运动或残余预测的另一视图中的参考块,或视频译码器可将视差向量转换为用于视图间运动预测的视差运动向量。
[0129] 在一些实例中,视频译码器可使用基于相邻块的视差向量(NBDV)的方法,以导出块的视差向量。NBDV导出过程使用来自空间和时间相邻块的视差运动向量和隐式视差运动向量来导出当前块的视差向量。因为相邻块(例如,在空间上或在时间上相邻于当前块的块)很可能在视频译码中共享几乎相同的运动和视差信息,所以当前块可使用相邻块中的运动向量信息作为当前块的视差向量的预测符。
[0130] 一般来说,照明补偿是用于对不同视图之间的照明差异进行有效译码的技术。照明补偿在2012年10月的第2次JCT-3V会议上采用到3D-HEVC中。从2013年12月20日起,与照明补偿有关的提议从以下可用:http://phenix.it-sudparis.eu/jct3v/doc_end_user/documents/2_Shanghai/wg11/JCT3V-B0045-v7.zip。
[0131] 在3D-HEVC中,在CU层级用信号表示照明补偿(IC)旗标。换句话说,CU的语法结构可包含照明补偿旗标。因此,在CU层级处决定IC的应用。如果经解码IC旗标等于1,那么针对当前CU内的经视图间预测PU启用IC。用于用信号表示IC是否应用于当前CU的语法元素由‘ic_flag’指示。用于用信号表示照明补偿是否应用于当前CU的语法元素在CU层级中有条件地用信号表示。
[0132] 对于当前CU的每一PU,如果PU是从RefPicListX(X等于0或1)中的参考图片预测且参考图片是视图间参考图片,那么视频译码器可进一步对预测信号进行滤波。换句话说,视频译码器可将一或多个滤波器应用于当前CU的PU的预测性块。所述一或多个滤波器中的每一者可具有一或多个滤波器系数。在一些实例中,视频译码器可通过CU的上方行和左边列以及由参考索引识别的RefPicListX中的参考图片中的参考块的对应行和列而导出用于对应于RefPicListX的预测方向的滤波器系数。
[0133] 以下表1展示如3D-HEVC测试模型2的章节G.7.3.9.1中呈现的coding_unit语法结构的一部分。coding_unit语法结构是含有与CU相关联的语法元素的语法结构。
[0134] 表1
[0135]
[0136] 在本发明中所示的语法表中,具有形式u(n)的类型描述符的语法元素(其中n是非负的整数)是长度n的无符号值。举例来说,具有类型描述符u(3)和u(8)的语法元素分别是具有3位和8位的无符号整数。
[0137] 在表1中,等于1的ic_flag语法元素指定照明补偿用于当前CU。等于0的ic_flag语法元素指定照明补偿不用于当前CU。当ic_flag语法元素不存在时,ic_flag语法元素可推断为等于0。
[0138] 此外,如表1中示出,当变量icEnableFlag等于1时ic_flag语法元素存在。换句话说,变量icEnableFlag指定ic_flag语法元素是否存在于位流中。在3D-HEVC模型2中,变量icEnableFlag导出为:
[0139] icEnableFlag=slice_ic_enable_flag&&anyIvRefPicFlag(G-27)。
[0140] 在以上等式中,slice_ic_enable_flag是切片标头中用信号表示的语法元素。等于1的slice_ic_enable_flag语法元素指定针对当前切片启用照明补偿。当前切片是包含当前CU的切片。等于0的slice_ic_enable_flag语法元素指定针对当前切片停用照明补偿。当slice_ic_enable_flag语法元素不存在时,slice_ic_enable_flag语法元素推断为等于0。
[0141] 在以上用于确定icEnableFlag的值的等式中,变量anyIvRefPicFlag指定当前CU的一或多个PU是否利用视图间参考图片。变量anyIvRefPicFlag初始地设定成等于0且在当前CU的至少一个PU利用视图间参考图片的情况下导出为1。在当前CU的预测模式(即,PredMode[x0][y0])不等于MODE_INTRA时,以下情况适用,其中X被0和1代替且Y等于1-X。
[0142] anyIvRefPicFlag=anyIvRefPicFlag||
[0143] (inter_pred_idc[x0][y0] ! = Pred_LY&&refViewIdxLX[x0][y0] ! =ViewIdx)||
[0144] (inter_pred_idc[x0][y1] ! = Pred_LY&&refViewIdxLX[x0][y1] ! =ViewIdx)||
[0145] (inter_pred_idc[x1][y0] ! = Pred_LY&&refViewIdxLX[x1][y0] ! =ViewIdx)||
[0146] (inter_pred_idc[x1][y1]!=Pred_LY&&refViewIdxLX[x1][y1]!=ViewIdx)(G-26)
[0147] 在以上用于确定anyIvRefPicFlag的等式中,变量refViewIdxLX[x][y](其中X被0和1代替)设定成等于RefPicListLX的视图次序索引[RefIdxLX[x][y]]。视图次序索引为指示存取单元中的视图分量的解码次序的索引。此外,在以上用于确定anyIvRefPicFlag的等式中,变量x1和y1指定相对于当前图片的左上样本的亮度位置。在3D-HEVC测试模型2中,变量x1和y1如以下等式中指定而导出。
[0148] x1=x0+
[0149] ((PartMode==PART_NxN||PartMode==PART_Nx2N)?(nCbs/2):0)+[0150] ((PartMode==PART_nLx2N)?(nCbs/4):0)+
[0151] ((PartMode==PART_nRx2N)?(3*nCbs/4):0)(G-23)
[0152] y1=y0+
[0153] ((PartMode==PART_NxN||PartMode==PART_2NxN)?(nCbs/2):0)+[0154] ((PartMode==PART_2NxnU)?(nCbs/4):0)+
[0155] ((PartMode==PART_2NxnD)?(3*nCbs/4):0)(G-24)
[0156] 在以上用于确定x1和y1的等式中,nCbs指示当前CU的大小。
[0157] 在一些情况下,视频译码器可基于每一CU的所导出的视差向量执行CU层级视图间残余预测(IVRP)。当视频译码器执行当前图片的当前CU的IVRP时,视频译码器可使用当前CU的PU的运动向量确定当前CU的运动补偿块。换句话说,当前CU的运动补偿块可包括当前CU的PU的预测性块。当前CU的运动补偿块可标示为Pe。当前CU的残余块中的每一样本(re)可指示当前CU的原始译码块中的样本与Pe中的对应样本之间的差异。另外,视频译码器可使用当前CU的视差向量确定参考图片中的视差参考CU。参考图片处于与当前图片不同的视图中。视差参考CU的残余块可标示为rb。视差参考CU的残余块的每一样本(rb)可指示视差参考CU的译码块的原始样本与视差参考CU的PU的预测性块中的对应预测性样本之间的差异。
[0158] 视频编码器20可在位流中包含指示最终残余块的数据。最终残余块中的每一样本可指示rb中的样本与re中的对应样本之间的差异。因此,在使用视图间残余预测时,可通过以下等式表达运动补偿:
[0159]
[0160] 其中当前块的重构 等于解量化系数re加预测Pe和量化经正规化的残余系数rb。视频译码器可将rb视为残余预测符。因此,类似于运动补偿,rb可从当前残余减去且仅所得差信号经变换译码。
[0161] 在一些实例中,视频编码器20用信号表示每一CU的IVRP旗标以指示是否应用残余预测。视频编码器20可用信号表示所述旗标以指示是否在CU层级上使用IVRP。当IVRP旗标等于1时,以除运动补偿预测符和此块的用信号表示的残余之外还添加残余残余预测信号(即,最终残余数据)的方式针对时间参考图片的PU启用IVRP。视频译码器基于所导出的视差向量定位参考视图中的参考块的残余信号(残余预测信号)。
[0162] 视频译码器可基于所导出的视差向量定位残余参考区。在3D-HEVC测试模型2中,视频译码器可使用上述NBDV导出过程来确定视差向量。如果视频译码器不能够使用NBDV导出过程确定当前CU的视差向量,那么视频译码器指示当前CU的视差向量不可用。在当前CU的视差向量不可用时,位流并不包含指示IVRP旗标的数据,且视频编码器20或视频解码器30都不将视图间残余预测应用于当前CU。
[0163] 当前CU的视差向量可指示视图间参考图片内的参考位置。视图间参考图片内的参考位置可为视差参考块的左上角。视差参考块可具有与当前CU相同的大小。当前CU的视差向量可具有全像素或子像素准确性。在其中当前CU的视差向量具有全像素准确性的实例中,视差参考块可包含视图间参考图片的样本。在其中视差向量具有子像素准确性的实例中,视频译码器可从视图间参考图片中的实际样本内插视差参考块中的样本。
[0164] 因此,假定当前CU的左上方位置是(x,y)且在考虑到由可能为在分数上准确的mvDisp表示的视差向量之后,从其预测残余的参考图片的位于同一地点的区域由左上和右下像素位置表示:
[0165] (x0,y0)=(Max(0,Min((picWidth-1),(x+(mvDisp[0]>>2)),y);
[0166] (x1,y1)= (Min((picWidth-1),x0+CUWidth-1),Min((picHeight-1),y0+CUHeight-1));
[0167] 其中mvDisp[0]指示视差向量的水平分量,(CUWidth,CUHeight)是当前CU的大小,且picWidth和picHeight是当前图片的宽度和高度。如果对应视图间参考块中没有PU经帧间译码且cbf_luma、cbf_cb和cbf_cr的值不等于0,那么不在CU层级用信号表示视图间残余预测旗标。一般来说,cbf_luma、cbf_cb和cbf_cr分别基于亮度、Cb和Cr样本而指示对应变换块是否包含非零系数。
[0168] 在一个实例中,视频译码器可使用以下程序导出残余参考块。在此实例中,视差向量由mvDisp指示,其水平分量和垂直分量分别由mvDisp[0]和mvDisp[1]指示。此外,在此实例中,视频译码器将mvDisp[1](即,视差向量的垂直分量)设定于0。另外,视频译码器定位对应块(例如,如在先前段落的实例中界定)。如果mvDisp指向整数位置(即,mvDisp[0]模4等于0),那么视频译码器将残余预测信号设定为等于对应块的残余。否则,如果mvDisp指向分数位置,那么视频译码器可通过使用双线性滤波器内插对应块的残余样本而获得残余预测信号。
[0169] 用于用信号表示IVRP是否应用于当前CU的语法元素由‘res_pred_flag’指示。res_pred_flag语法元素在CU层级有条件地用信号表示。换句话说,用于CU的语法结构(例如,coding_unit语法结构)可包含res_pred_flag语法元素。
[0170] 以下表2展示如3D-HEVC测试模型2的章节G.7.3.9.1中呈现的coding_unit语法结构的一部分(一般译码单元语法)。
[0171] 表2
[0172]
[0173] 在本发明中所示的语法表中,具有形式ae(v)的类型描述符的语法元素是经CABAC译码的语法元素。在表2的实例中,等于0的res_pred_flag语法元素指定不使用残余预测。等于1的res_pred_flag语法元素指定使用残余预测。在3D-HEVC测试模型2中,当res_pred_flag语法元素不存在时,res_pred_flag语法元素的值将推断为等于0。
[0174] 在表2中,当变量resPredEnableFlag等于1时res_pred_flag语法元素存在。换句话说,变量resPredEnableFlag指定res_pred_flag语法元素是否存在于位流中。在
3D-HEVC测试模型2中,变量resPredEnableFlag导出为:
[0175] resPredEnableFlag=multi_view_residual_pred_flag
[0176] &&PredMode!=MODE_INTRA
[0177] &&residualCbfNonZero&&anyTempRefPicFlag(G-28)
[0178] 在以上等式中,如下通过对应参考视图变换块的cbf_luma、cbf_cb、cbf_cr和PredMode的值导出变量residualCbfNonZero。如果对应变换块内的至少一个PU(即,具有至少部分在对应参考视图变换块中的一者内的预测块的至少一个PU)具有不等于MODE_INTRA的PredMode且如果对应参考视图变换块的cbf_luma、cbf_cb和cbf_cr中的任一者的值不等于0,那么视频译码器将变量residualCbfNonZero设定为1。否则,视频译码器将residualCbfNonZero设定为等于0。视频译码器可基于当前PU的位置和视差向量识别对应参考视图变换块。在以视差向量移位PU位置之后,所有对应参考视图变换块属于由视图间参考视图分量中的(当前PU的)对应矩形区域覆盖或部分覆盖的TU。当所导出的视差向量不可用时,视频译码器可将residualCbfNonZero设定为0。
[0179] 如上文所指出,视频译码器基于cbf_luma、cbf_cb和cbf_cr确定变量residualCbfNonZero。3D-HEVC测试模型2如下界定cbf_luma、cbf_cb、cbf_cr的语义:
[0180] 等于1的cbf_luma[x0][y0][trafoDepth]指定亮度变换块含有不等于0的一或多个变换系数等级。阵列索引x0、y0指定所考虑变换块的左上方亮度样本相对于图片的左上方亮度样本的位置(x0,y0)。阵列索引trafoDepth指定为了变换编码的目的将译码块细分为块的当前细分等级。针对对应于译码块的块,trafoDepth等于0。当cbf_luma[x0][y0][trafoDepth]不存在时,cbf_luma[x0][y0][trafoDepth]推断为等于1。
[0181] 等于1的cbf_cb[x0][y0][trafoDepth]指定Cb变换块含有不等于0的一或多个变换系数等级。阵列索引x0、y0指定所考虑TU的左上位置(x0,y0)。阵列索引trafoDepth指定为了变换编码的目的将译码块细分为块的当前细分等级。针对对应于译码块的块,trafoDepth等于0。当cbf_cb[x0][y0][trafoDepth]不存在时,如下推断cbf_cb[x0][y0][trafoDepth]。如果trafoDepth大于0且log2TrafoSize等于2,那么cbf_cb[x0][y0][trafoDepth]推断为等于cbf_cb[xBase][yBase][trafoDepth-1]。否则,cbf_cb[x0][y0][trafoDepth]推断为等于0。
[0182] 等于1的cbf_cr[x0][y0][trafoDepth]指定Cr变换块含有不等于0的一或多个变换系数等级。阵列索引x0、y0指定所考虑TU的左上位置(x0,y0)。阵列索引trafoDepth指定为了变换编码的目的将译码块细分为块的当前细分等级。针对对应于译码块的块,trafoDepth等于0。当cbf_cr[x0][y0][trafoDepth]不存在时,cbf_cr[x0][y0][trafoDepth]的值如下推断。如果trafoDepth大于0且log2TrafoSize等于2,那么cbf_cr[x0][y0][trafoDepth]推断为等于cbf_cr[xBase][yBase][trafoDepth-1]。否则,cbf_cr[x0][y0][trafoDepth]推断为等于0。
[0183] 此外,如上文所指出,用于确定resPredEnabledFlag的等式取决于变量anyTempRefPicFlag。变量anyTempRefPicFlag指定当前CU的一或多个PU是否利用时间参考图片。3D-HEVC测试模型2如下界定变量anyTempRefPicFlag。变量anyTempRefPicFlag初始地设定成等于0且在当前CU的至少一个PU利用时间参考图片的情况下推导为1。当PredMode[x0][y0]不等于MODE_INTRA时,以下情况适用,其中X被0和1代替且Y等于1-X。
[0184] anyTempRefPicFlag=anyTempRefPicFlag||
[0185] (inter_pred_idc[x0][y0] ! = Pred_LY&&refViewIdxLX[x0][y0] = =ViewIdx)||
[0186] (inter_pred_idc[x0][y1] ! = Pred_LY&&refViewIdxLX[x0][y1] = =ViewIdx)||
[0187] (inter_pred_idc[x1][y0] ! = Pred_LY&&refViewIdxLX[x1][y0] = =ViewIdx)||
[0188] (inter_pred_idc[x1][y1]!=Pred_LY&&refViewIdxLX[x1][y1]==ViewIdx)(G-25)
[0189] 在以上用于确定anyTempRefPicFlag的等式中,变量refViewIdxLX[x][y](其中X被0和1代替)设定成等于RefPicListLX的视图次序索引[RefIdxLX[x][y]]。此外,在以上用于确定anyTempRefPicFlag的等式中,变量x1和y1指定相对于当前图片的左上样本的亮度位置。在3D-HEVC测试模型2中,x1和y1如以下指定而导出:
[0190] x1=x0+((PartMode==PART_NxN||PartMode==PART_Nx2N)?
[0191] (nCbs/2):0)+((PartMode==PART_nLx2N)?(nCbs/4):0)+
[0192] ((PartMode==PART_nRx2N)?(3*nCbs/4):0)(G-23)
[0193] y1=y0+((PartMode==PART_NxN||PartMode==PART_2NxN)?
[0194] (nCbs/2):0)+((PartMode==PART_2NxnU)?(nCbs/4):0)+
[0195] ((PartMode==PART_2NxnD)?(3*nCbs/4):0)(G-24)
[0196] 在以上用于确定x1和y1的等式中,nCbs指示当前CU的大小。
[0197] L.张等人的“3D-CE5.h相关:用于多视图译码的高级残余预测”(ITU-T SG 16WP3和ISO/IEC JTC1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,第2次会议,中国上海,2012年10月13-19日,文献JCT3V-B0051(下文为“JCT3V-B0051”))提出了进一步改善视图间残余预测的译码效率的高级残余预测(ARP)方法。与上述残余预测方案对比,ARP可在PU层级而不是CU层级执行。为了区分上述残余预测方案与ARP,上述残余预测方案可被称为“基于CU的视图间残余预测”。
[0198] 图5是说明多视图视频译码中的ARP的实例预测结构的概念图。图5包含四个图片:当前图片70、时间参考图片72、视差参考图片74和时间视差参考图片76。当前图片70处于视图V1中且处于时间实例Tj中。时间参考图片72处于视图V1中且处于时间实例Ti中。视差参考图片74处于视图V0中且处于时间实例Tj中。时间视差参考图片76处于视图V0中且处于时间实例Ti中。
[0199] 当前图片70包含标示为“Dc”的当前PU。换句话说,Dc表示当前视图(视图1)中的当前块。Dc具有指示时间参考图片72中的位置的时间运动向量VD。视频编码器20可基于图片72中与由时间运动向量VD指示的位置相关联的样本而确定时间参考块Dr。因此,Dr表示Dc从同一视图(视图1)在时间Ti的时间预测块且VD表示从Dc到Dr的运动。
[0200] 此外,视频编码器20可基于视差参考图片74中与由Dc的视差向量指示的位置相关联的样本而确定视差参考块Bc。因此,Bc表示参考块(即,参考视图(视图0)中在时间Tj的Dc的表示)。通过将所导出的视差向量添加到Dc的左上位置可以所导出的视差向量计算Bc的左上位置。由于Dc和Bc可为同一对象在两个不同视图中的投影,因此Dc和Bc应共享同一运动信息。因此,Bc在视图0中在时间Ti的时间预测块Br可通过应用VD的运动信息而从Bc定位。
[0201] 视频编码器20可确定时间视差图片76中的时间视差参考块Br(Bc的预测性块)。如上文所指出,时间视差图片76处于与Br相同的视图(即,视图V0)中且处于与Dr相同的时间实例(即,时间实例Ti)中。视频编码器20可基于由Dc的运动向量VD指示的位置处的样本而确定Br。因此,通过将运动向量VD添加到Bc的左上位置可以再使用的运动向量VD计算Br的左上位置。Bc的左上位置可等于Dc的左上位置与视差向量的总和。因此,Br的左上位置可等于Dc的左上位置的坐标、视差向量和运动向量VD的总和。以此方式,如图5中由箭头78示出,视频编码器20可再使用运动向量VD用于确定Br。
[0202] 此外,在ARP中,第一残余块中的每一样本可指示Dc中的样本与Dr的对应样本之间的差异。第一残余块可被称为Dc的原始残余块。第二残余块中的每一样本可指示Bc中的样本与Br中的对应样本之间的差异。第二残余块可被称为“残余预测符”。因为视频编码器20使用运动向量VD确定Br,所以残余预测符可不同于Bc的实际残余数据。
[0203] 在视频编码器20确定残余预测符之后,视频编码器20可将残余预测符乘以加权因数。换句话说,将具有VD的运动信息的Bc的残余乘以加权因数且用作用于当前残余的残余预测符。加权因数可等于0、0.5或1。因此,在ARP中可使用三个加权因数(即,0、0.5和1)。在视频编码器20将残余预测符乘以加权因数之后,残余预测符可被称为经加权残余预测符。视频编码器20可选择产生当前CU(即,含有当前PU的CU)的最小速率失真代价的加权因数作为最终加权因数。视频编码器20可在位流中在CU层级包含指示加权索引的数据。加权索引可指示用于当前CU的最终加权因数(即,用以产生经加权残余预测符的加权因数)。在一些实例中,0、1和2的加权索引分别对应于0、1和0.5的加权因数。用于当前CU的0的加权因数的选择等效于针对当前CU的PU中的任一者不使用ARP。
[0204] 视频编码器20可随后确定当前PU的最终残余块。当前PU的最终残余块中的每一样本可指示原始残余块中的样本与经加权残余预测符中的对应样本之间的差异。当前CU(即,含有当前PU的CU)的残余块可包含当前PU的最终残余块连同当前CU的其它PU的残余块(如果存在)。如在本发明中在别处所描述,视频编码器20可在一或多个变换块当中分割当前CU的残余块。变换块中的每一者可与当前CU的TU相关联。对于每一变换块,视频编码器20可将一或多个变换应用于变换块来产生变换系数块。视频编码器20可在位流中包含表示变换系数块的经量化变换系数的数据。
[0205] 因此,在ARP中,为了确保两个视图的残余之间的高相关,视频编码器20可将当前PU的运动应用于参考视图图片中的对应块来产生将用于视图间残余预测的基础视图中的残余。以此方式,针对当前PU和参考视图中的对应参考块对准运动。此外,将自适应加权因数应用于残余信号以使得预测误差进一步减少。
[0206] 如果当前PU是双向预测的,那么当前PU具有RefPicList0运动向量、RefPicList1运动向量、RefPicList0参考索引和RefPicList1参考索引。本发明可将由当前PU的RefPicList0参考索引指示的参考图片称为当前PU的RefPicList0目标参考图片。当前PU的RefPicList1运动向量可指示当前PU的RefPicList1目标参考图片中的参考位置。本发明可将由当前PU的RefPicList1参考索引指示的参考图片称为当前PU的RefPicList1目标参考图片。当前PU的RefPicList1运动向量可指示当前PU的RefPicList1目标参考图片中的参考位置。
[0207] 因此,当视频编码器20对双向预测PU执行ARP时,视频编码器20可基于当前PU的RefPicList0运动向量确定当前PU的RefPicList0目标参考图片中的参考位置。本发明可将此参考位置称为当前PU的RefPicList0参考位置。视频编码器20可随后确定包含当前PU的RefPicList0目标参考图片的与当前PU的RefPicList0参考位置相关联的实际或内插样本的参考块。本发明可将此参考块称为当前PU的RefPicList0参考块。
[0208] 另外,视频编码器20可基于当前PU的RefPicList1运动向量确定当前PU的RefPicList1目标参考图片中的参考位置。本发明可将此参考位置称为当前PU的RefPicList1参考位置。视频编码器20可随后确定包含当前PU的RefPicList1目标参考图片的与当前PU的RefPicList0参考位置相关联的实际或内插样本的参考块。本发明可将此参考块称为当前PU的RefPicList1参考块。
[0209] 视频编码器20可基于当前PU的RefPicList0参考块和当前PU的RefPicList1参考块确定当前PU的时间预测性块。举例来说,当前PU的时间预测性块中的每一样本可指示当前PU的RefPicList0参考块和当前PU的RefPicList1参考块中的对应样本的加权平均。
[0210] 此外,当视频编码器20对双向预测PU执行ARP时,视频编码器20可基于当前PU的RefPicList0运动向量和视差参考块的视差参考帧内的位置确定时间视差参考图片中的时间视差参考位置。本发明可将此时间视差参考位置和此时间视差参考图片分别称为RefPicList0时间视差参考位置和RefPicList0时间视差参考图片。RefPicList0时间视差参考图片可具有与当前PU的RefPicList0目标参考图片相同的POC值。视频编码器20可随后确定包含RefPicList0时间视差参考图片的与RefPicList0时间视差参考位置相关联的实际或内插样本的样本块。本发明可将此样本块称为RefPicList0时间视差参考块。
[0211] 另外,视频编码器20可基于当前PU的RefPicList1运动向量和视差参考块的视差参考帧内的位置确定时间视差参考图片中的时间视差参考位置。本发明可将此时间视差参考位置和此时间视差参考图片分别称为RefPicList1时间视差参考位置和RefPicList1时间视差参考图片。RefPicList1时间视差参考图片可具有与当前PU的RefPicList1目标参考图片相同的POC值。因为当前PU的RefPicList0目标参考图片和当前PU的RefPicList1目标参考图片可不同,所以RefPicList1时间视差参考图片可不同于RefPicList0时间视差参考图片。视频编码器20可随后确定包含RefPicList1时间视差参考图片的与RefPicList1时间视差参考位置相关联的实际或内插样本的样本块。本发明可将此样本块称为RefPicList1时间视差参考块。
[0212] 接着,视频编码器20可基于RefPicList0时间视差参考块和RefPicList1时间视差参考块确定视差预测性块。在一些实例中,视差预测性块中的每一样本是RefPicList0时间视差参考块和RefPicList1时间视差参考块中的对应样本的加权平均。视频编码器20可随后确定残余预测符。残余预测符可为样本块。残余预测符中的每一样本可指示视差参考块中的样本与视差预测性块中的对应样本之间的差异。视频编码器20可随后通过将加权因数应用于残余预测符而产生经加权残余预测符。视频编码器20可随后确定当前PU的最终残余块。当前PU的最终残余块中的每一样本可指示当前PU的原始预测块中的样本与当前PU的时间预测性块中的对应样本之间的差异和经加权残余预测符。视频编码器20可在位流中用信号表示当前PU的最终残余块。
[0213] 视频解码器30可当对双向预测PU执行ARP时执行相似过程。举例来说,视频解码器30可以上述样本方式确定当前PU的时间预测性块和经加权残余预测符。视频解码器30可基于在位流中用信号表示的元素来确定当前PU的最终残余块。视频解码器30可随后通过将当前PU的最终残余块、当前PU的时间预测性块和经加权残余预测符相加来重构当前PU的预测块。
[0214] 图6是说明当前块、参考块和运动补偿块之间的实例关系的概念图。在图6的实例中,视频译码器当前在对当前图片81中的当前PU 80进行译码。当前图片81与视图V1和时间实例T1相关联。
[0215] 此外,在图6的实例中,视频译码器可确定包括参考图片83的与由当前PU 80的视差向量指示的位置相关联的实际或内插样本的参考块82(即,对应块)。举例来说,参考块82的左上角可为由当前PU 80的视差向量指示的位置。时间视差参考块95可具有与当前PU 80的预测块相同的大小。
[0216] 在图6的实例中,当前PU 80具有第一运动向量84和第二运动向量86。运动向量84指示时间参考图片88中的位置。时间参考图片88处于视图V1(即,与当前图片81相同的视图)和时间实例T0中。运动向量86指示时间参考图片90中的位置。时间参考图片
90处于视图V1和时间实例T3中。
[0217] 根据上述ARP方案,视频译码器可确定处于与参考图片83相同的视图中且处于与时间参考图片88相同的时间实例中的参考图片(即,参考图片92)。另外,视频译码器可将运动向量84添加到参考块82的左上角的坐标以导出时间视差参考位置。视频译码器可确定时间视差参考块93(即,运动补偿块)。时间视差参考块93中的样本可为参考图片92的与从运动向量84导出的时间视差参考位置相关联的实际或内插样本。时间视差参考块93可具有与当前PU 80的预测块相同的大小。
[0218] 类似地,视频译码器可确定处于与参考图片84相同的视图中且处于与时间参考图片90相同的时间实例中的参考图片(即,参考图片94)。另外,视频译码器可将运动向量86添加到参考块82的左上角的坐标以导出时间视差参考位置。视频译码器可随后确定时间视差参考块95(即,运动补偿块)。时间视差参考块95中的样本可为参考图片94的与从运动向量86导出的时间视差参考位置相关联的实际或内插样本。时间视差参考块95可具有与当前PU 80的预测块相同的大小。
[0219] 此外,在图6的实例中,视频译码器可基于时间视差参考块93和时间视差参考块95确定视差预测性块。视频译码器可随后确定残余预测符。残余预测符中的每一样本可指示参考块82中的样本与视差预测性块中的对应样本之间的差异。
[0220] 如上文所指出,残余预测可涉及使用加权因数和加权因数索引。在以下论述中,用于用信号表示加权因数索引的语法元素由‘weighting_factor_index’指示。weighting_factor_index语法元素在CU层级中有条件地用信号表示。下文描述语法元素和相关联语义的详细信息。
[0221] 下文表3展示实例coding_unit语法结构的一部分。在表3和本发明的其它语法表中,带下划线的文字指示添加到3D-HEVC测试模型2的文字。
[0222] 表3
[0223]
[0224] 当weighting_factor_index语法元素不存在于位流中时,加权因数推断为等于0。如表3中示出,weighting_factor_index语法元素可仅当满足所有以下条件时用信号表示:当前视图是相依性纹理视图,当前CU未经帧内译码,且当前CU的分割模式等于PART_2Nx2N。
[0225] 以下表4展示实例coding_unit语法结构的一部分。
[0226] 表4
[0227]
[0228] 在表4的实例中,weighting_factor_index语法元素指示到用于高级残余预测的加权因数的索引。当weighting_factor_index语法元素不存在时,针对当前CU停用高级残余预测。如果加权因数等于0,那么使用HEVC工作草案9中描述的变换编码对当前块的残余进行译码,且调用HEVC工作草案9的子条款8.5.2.2中的规范来得到预测样本。否则,使用潜在地内插的参考残余信号乘以加权因数来预测当前残余信号且仅发射差。对于其中利用时间参考图片的每一预测列表,可在运行中产生残余预测符。
[0229] 当weighting_factor_index语法元素不存在于位流中时,加权因数推断为等于0。此外,在表4的实例中,weighting_factor_index语法元素仅当满足所有以下条件时用信号表示:当前视图是相依性纹理视图;当前CU未经帧内译码且当前CU的分割模式等于PART_2Nx2N,所导出的视差向量是可用的,且至少一个分区具有时间运动向量(即,参考图片是来自同一视图)。在表4中,设定成等于1的TempMVAvai指示当前CU是从来自同一视图的至少一个参考图片预测。否则,TempMVAvai设定成等于0。此外,在表4中,如果可找到视差向量,那么DispVectAvai等于1。否则,DispVectAvai等于0。
[0230] 在其它实例中,weighting_factor_index语法元素可仅当满足所有以下条件时用信号表示:当前视图是相依性纹理视图,所导出的视差向量是可用的,当前CU的所有PU中的至少一个分区具有时间运动向量(即,参考图片是来自同一视图)。如之前,当weighting_factor_index语法元素不存在于位流中时,加权因数推断为等于0。
[0231] 在基于HEVC的多视图/3DV译码(即,3D-HEVC和MV-HEVC)中的视图间残余预测和照明补偿的上述设计中可存在若干剖析问题。举例来说,在上述3D-HEVC设计中,当剖析CU中的语法元素(例如,ic_flag语法元素或res_pred_flag语法元素)时,视频译码器可需要确定CU是否利用一或多个视图间参考图片。然而,确定CU是否使用视图间参考图片可需要合并或AMVP候选者列表的构造。因此,剖析过程(即,从位流获得语法元素的过程)取决于解码过程(即,基于语法元素重构样本块的过程),从而导致低处理量。因此,在解码过程的特定部分完成之前,剖析过程的一部分无法继续。
[0232] 在上述3D-HEVC设计中的另一实例问题中,剖析CU中的语法元素(例如,res_pred_flag)取决于视差导出过程的结果。举例来说,如上文所描述,当变量resPredEnableFlag等于1时res_pred_flag语法元素存在。此外,如上文所描述,确定变量resPredEnableFlag是否等于1需要确定视差向量。确定视差向量是解码过程的部分,而不是剖析过程的部分。因此,剖析过程取决于解码过程,再次导致低处理量。
[0233] 此外,在上述3D-HEVC设计中的另一实例问题中,为了确定位流是否包含ic_flag语法元素,视频译码器可需要确定当前CU的任何PU是否使用视图间参考图片。确定当前CU是否使用一或多个视图间参考需要视频译码器针对当前CU的每一PU确定PU是否使用一或多个视图间参考图片。视频译码器可需要剖析且解码PU以便确定所述PU是否使用一或多个视图间参考图片。因此,需要剖析当前CU内部的所有PU以用于剖析当前CU。因此,CU层级语法元素的剖析过程取决于经解码PU层级语法,其可能不是合意的。
[0234] 在上述3D-HEVC设计中的另一实例问题中,当剖析语法元素(例如,res_pred_flag语法元素)时,剖析过程取决于其它视图的经解码信息(例如,检查cbf_luma的值,存取译码模式,检查参考视图中的参考块的运动向量等)。因此,其它视图中需要的信息的丢失导致当前视图中的所有随后切片的熵解码的失败。
[0235] 本发明的技术可解决上文所提及的3D-HEVC中的剖析问题。举例来说,避免了例如ic_flag和res_pred_flag的一个语法元素的信令、例如当前CU是否使用视图间参考图片(作为参考图片列表中的一个条目)等与运动信息有关的条件的检查,以便使语法元素的剖析独立于解码过程。此外,在一些实例中,视频译码器可避免当确定是否用信号表示特定语法元素(例如,res_pred_flag)时检查视差向量的可用性的需要。
[0236] 此外,在本发明的一些实例技术中,当确定特定语法元素(例如,res_pred_flag)是否存在于位流中时,视频译码器可避免检查其它视图的经解码信息有关的条件(例如,例如参考块中是否存在至少一个PU经译码为帧间模式,或cbf_luma、cbf_cb或cbf_cr的值不等于0)。这可使特定语法元素的剖析独立于其它视图。
[0237] 在本发明的一些实例技术中,可在解码器侧引入关于以上相关语法元素(即,ic_flag、res_pred_flag和weighting_factor_index)的约束。举例来说,如果对应块中没有PU经帧间译码且cbf_luma、cbf_cb和cbf_cr的值不等于0,那么约束可要求res_pred_flag语法元素应为0。在另一个实例中,如果当前CU的视差向量不可用,那么约束可要求res_pred_flag语法元素和/或weighting_factor_index语法元素应为0。在另一个实例中,当视差向量不可用时,约束可要求使用零视差向量来定位参考块。此外,在一个实例中,如果没有当前CU的PU利用时间参考图片,那么约束可要求res_pred_flag语法元素和weighting_factor_index语法元素应为0。在另一个实例中,如果没有当前CU的PU利用视图间参考图片,那么约束可要求ic_flag语法元素应为0。
[0238] 因此,根据本发明的一或多个实例,视频编码器20可产生符合视频译码标准的位流。位流可包括视频数据的经译码表示。位流可包含指示当前CU的加权因数索引的数据。此外,在当前CU没有分区具有时间运动向量或当前CU的视差向量不可用时,视频译码标准可要求当前CU的加权因数索引具有特定值(例如,0)。在此些实例中,等于特定值的当前CU的加权因数索引指示关于当前CU不应用残余预测。在一些实例中,视频编码器20可确定参考残余信号且使用参考残余信号和加权因数确定当前CU的最终残余数据。视频编码器20可输出位流。
[0239] 在相似实例中,视频编码器20可确定当前视图是否是相依性纹理视图,当前CU是否未经帧内译码,且当前CU的分割模式是否等于PART_2Nx2N。响应于确定当前视图是相依性纹理视图、当前CU未经帧内译码且当前CU的分割模式等于PART_2Nx2N,视频编码器20可在包括视频数据的经编码表示的位流中包含指示当前CU的加权因数索引的数据。当前CU处于属于当前视图的图片中。然而,响应于确定当前视图不是相依性纹理视图或当前CU未经帧内译码或当前CU的分割模式不等于PART_2Nx2N,视频编码器20可从位流省略指示当前CU的加权因数索引的数据。在任一情况下,视频编码器20可输出位流。此外,在此实例中,位流可符合使加权因数索引经受约束的视频译码标准,所述约束要求当没有当前CU的分区具有时间运动向量或当前CU的视差向量不可用时当前CU的加权因数索引具有特定值。等于特定值的当前CU的加权因数索引指示关于当前CU不应用残余预测。
[0240] 类似地,在本发明的一些实例中,视频解码器30可从符合视频译码标准(例如,HEVC或其扩展)的位流获得当前CU的加权因数索引。在此些实例中,位流包括视频数据的经编码表示且视频译码标准使当前CU的加权因数索引经受约束,所述约束要求当当前CU没有分区具有时间运动向量或当前CU的视差向量不可用时当前CU的加权因数索引具有特定值。具有特定值的当前CU的加权因数索引指示关于当前CU不应用残余预测(例如,ARP)。在一些实例中,等于0的加权因数索引语法元素指示关于当前CU不应用残余预测。此外,在此些实例中,视频解码器30可基于当前CU的加权因数索引确定加权因数。举例来说,如果加权因数索引是0、1或2,那么视频解码器30可确定加权因数分别是0、0.5或1。
在此些实例中,视频解码器30可基于加权因数确定是否预测当前CU的残余信号。
[0241] 在相似实例中,视频解码器30可确定当前视图是否是相依性纹理视图,当前CU是否未经帧内译码,且当前CU的分割模式是否等于PART_2Nx2N。在当前视图是相依性纹理视图、当前CU未经帧内译码且当前CU的分割模式等于PART_2Nx2N时,视频解码器30可从包括视频数据的经编码表示的位流获得当前CU的加权因数索引。当前CU处于属于当前视图的图片中。在当前视图不是相依性纹理视图或当前CU经帧内译码或当前CU的分割模式不等于PART_2Nx2N时,视频解码器30可假定加权因数索引等于指示关于当前CU不应用残余预测的特定值。另外,视频解码器30可基于当前CU的加权因数索引确定加权因数。视频解码器30还可基于加权因数确定是否预测当前CU的残余信号。在此实例中,位流可符合使当前CU的加权因数索引经受约束的视频译码标准,所述约束要求在当前CU没有分区具有时间运动向量或当前CU的视差向量不可用时当前CU的加权因数索引等于特定值。
[0242] 如上文所描述,预测当前CU的残余信号是在执行残余预测(例如,ARP)中的步骤。为了预测当前CU的残余信号,视频解码器30可确定当前CU的PU的时间运动向量且可确定当前CU的视差向量。视频解码器30可使用视差向量来确定视差参考图片中的视差参考块。另外,视频解码器30可使用时间运动向量和视差向量来确定时间视差参考图片中的时间视差参考块。视频解码器30可随后基于视差参考块与时间视差参考块之间的差确定残余信号(即,残余预测符)。视频解码器30可将残余预测符乘以加权因数以确定用于在重构当前CU的译码块中使用的经修改残余预测符。
[0243] 图7是说明可以实施本发明的技术的实例视频编码器20的框图。图7是出于解释的目的而提供,并且不应被视为将技术限制为本发明中所大致例示及描述者。出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。
[0244] 在图7的实例中,视频编码器20包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116以及熵编码单元118。预测处理单元100包含帧间预测处理单元120以及帧内预测处理单元126。帧间预测处理单元120包含运动估计单元122以及运动补偿单元124。在其它实例中,视频编码器20可以包含更多、更少或不同的功能组件。
[0245] 视频编码器20可接收视频数据。视频编码器20可以对视频数据的图片的切片中的每个CTU进行编码。CTU中的每一者可以与图片的大小相等的亮度译码树块(CTB)以及对应的CTB相关联。作为对CTU进行编码的一部分,预测处理单元100可以执行四叉树分割以将CTU的CTB划分为逐渐更小的块。所述更小的块可以是CU的译码块。例如,预测处理单元100可将CTU的CTB分割成四个大小相等的子块,将子块中的一或多者分割成四个大小相等的子子块等。
[0246] 视频编码器20可对CTU的CU进行编码以产生CU的经编码表示(即,经译码CU)。作为对CU进行编码的一部分,预测处理单元100可以在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大小的非对称分割。
[0247] 帧间预测处理单元120可通过对CU的每一PU执行帧间预测产生PU的预测性数据。PU的预测性数据可以包含PU的预测性块以及PU的运动信息。取决于PU是在I切片中、P切片中或B切片中,帧间预测处理单元120可以对CU的PU执行不同操作。在I切片中,所有PU是经帧内预测。因此,如果PU是在I切片中,则帧间预测处理单元120并不对PU执行帧间预测。
[0248] 如果PU是在P切片中,则运动估计单元122可以对用于PU的参考区域搜寻参考图片列表(例如,“RefPicList0”)中的参考图片。用于PU的参考区可为参考图片内含有最接近地对应于PU的预测块的样本的区。运动估计单元122可以产生指示含有用于PU的参考区域的参考图片的RefPicList0中的位置的参考索引。另外,运动估计单元122可产生指示PU的预测块与和参考区相关联的参考位置之间的空间位移的运动向量。举例来说,运动向量可以是提供从当前图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元122可将参考索引及运动向量作为PU的运动信息而输出。基于由PU的运动向量指示的参考位置处的实际样本或经内插样本,运动补偿单元124可以产生PU的预测性块。
[0249] 如果PU是在B切片中,则运动估计单元122可以对PU执行单向预测或双向预测。为了对PU执行单向预测,运动估计单元122可以搜索RefPicList0的参考图片,或PU的参考区的第二参考图片列表(“RefPicList1”)。运动估计单元122可以将指示含有参考区的参考图片的RefPicList0或RefPicList1中的位置的参考索引、指示PU的预测块与相关联于参考区的参考位置之间的空间移位的运动向量以及指示参考图片是在RefPicList0中或在RefPicList1中的一或多个预测方向指示符输出为PU的运动信息。运动补偿单元
124可以至少部分基于由PU的运动向量指示的参考位置处的实际样本或经内插样本来产生PU的预测性块。
[0250] 为了对PU执行双向帧间预测,运动估计单元122可以在RefPicList0中的参考图片内搜索用于PU的参考区域,并且还可以在RefPicList1中的参考图片内搜索用于PU的另一参考区域。运动估计单元122可产生指示含有参考区的参考图片的RefPicList0及RefPicList1中的位置的参考索引。另外,运动估计单元122可产生指示与参考区相关联的参考位置与PU的预测块之间的空间移位的运动向量。PU的运动信息可包含PU的参考索引及运动向量。运动补偿单元124可至少部分基于在由PU的运动向量指示的参考位置处的实际或内插样本产生PU的预测性块。
[0251] 帧内预测处理单元126可通过对PU执行帧内预测而产生PU的预测性数据。PU的预测性数据可以包含PU的预测性块以及各种语法元素。帧内预测处理单元126可以对I切片、P切片以及B切片中的PU执行帧内预测。
[0252] 为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式产生PU的预测性块的多个集合。当使用特定帧内预测模式执行帧内预测时,帧内预测处理单元126可使用来自相邻块的样本的特定集合产生PU的预测性块。假定对于PU、CU及CTU采用从左到右、从上到下的编码次序,相邻块可在PU的预测块的上方、右上方、左上方或左方。帧内预测处理单元126可以使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可以取决于PU的预测块的大小。
[0253] 预测处理单元100可以从用于PU的由帧间预测处理单元120产生的预测性数据或用于PU的由帧内预测处理单元126产生的预测性数据当中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据的集合的速率/失真量度选择用于CU的PU的预测性数据。选定的预测性数据的预测性块在本文中可以被称为选定的预测性块。
[0254] 残余产生单元102可基于CU的亮度、Cb及Cr译码块以及CU的PU的选定预测性亮度、Cb及Cr块产生CU的亮度、Cb及Cr残余块。举例来说,残余产生单元102可产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应选定的预测性块中的对应样本之间的差的值。
[0255] 此外,在一些实例中,帧间预测处理单元120可关于当前块执行视图间残余预测。举例来说,帧间预测处理单元120可如本发明中在别处所描述确定当前块的残余预测符。
残余产生单元102可使用视差向量来基于视差参考图片的样本确定当前CU的残余信号。残余产生单元102可基于用于当前CU的加权因数而修改残余信号。残余产生单元102可随后确定当前CU的最终残余块。当前CU的最终残余块中的每一样本可等于当前CU的译码块中的对应样本的值减去经修改残余信号中的对应样本的值减去当前CU的PU的预测性块中的对应样本的值。视频编码器20可产生指示用于当前CU的加权因数的值的加权因数索引语法元素。根据本发明的一些实例,约束要求在没有当前CU的PU具有时间运动向量或当前CU的视差向量不可用时当前CU的加权因数索引语法元素等于特定值(例如,0)。
[0256] 变换处理单元104可执行四叉树分割以将CU的残余块(即,经修改最终残余块)分割为与CU的TU相关联的变换块。因此,TU可以与亮度变换块以及两个对应色度变换块相关联。CU的TU的亮度变换块以及色度变换块的大小和位置可以或可不基于CU的PU的预测块的大小和位置。
[0257] 变换处理单元104可以通过将一或多个变换应用到TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可以将各种变换应用到与TU相关联的变换块。例如,变换处理单元104可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可以处理为变换系数块。
[0258] 量化单元106可量化系数块中的变换系数。量化过程可以减小与变换系数中的一些或全部相关联的位深度。例如,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。量化可能引入信息丢失,因此经量化的变换系数可以具有比原始变换系数更低的精度
[0259] 逆量化单元108及逆变换处理单元110可分别将逆量化及逆变换应用于系数块,以从系数块重构残余块。重构单元112可以将经重构的残余块添加到来自由预测处理单元100产生的一或多个预测性块的对应样本,以产生与TU相关联的经重构变换块。通过以此方式重构CU的每一TU的变换块,视频编码器20可重构CU的译码块。
[0260] 滤波器单元114可以执行一或多个解块操作以减少与CU相关联的译码块中的成块假象。经解码图片缓冲器116可以在滤波器单元114对经重构的译码块执行一或多个解块操作之后存储经重构的译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可以使用经解码图片缓冲器116中的经重构的译码块以对处于与CU相同的图片中的其它PU执行帧内预测。
[0261] 熵编码单元118可以从视频编码器20的其它功能组件接收数据。例如,熵编码单元118可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一或多个熵编码操作以产生经熵编码的数据。例如,熵编码单元118可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码数据的位流。
[0262] 图8是说明经配置以实施本发明的技术的实例视频解码器30的框图。图8是出于解释的目的而提供,并且不将技术限制为本发明中所大致例示和描述者。出于解释的目的,本发明在HEVC译码的背景中描述视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。
[0263] 在图8的实例中,视频解码器30包含熵解码单元150、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160以及经解码的图片缓冲器162。预测处理单元152包含运动补偿单元164以及帧内预测处理单元166。在其它实例中,视频解码器30可以包含更多、更少或不同的功能组件。
[0264] 经译码图片缓冲器(CPB)151可接收且存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从CPB 151接收NAL单元,并剖析NAL单元以从位流获得语法元素。熵解码单元150可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158以及滤波器单元160可以基于自位流提取的语法元素来产生经解码的视频数据。
[0265] 位流的NAL单元可以包含经译码的切片NAL单元。作为对位流进行编码的一部分,熵解码单元150可以从经译码的切片NAL单元提取语法元素并且对所述语法元素进行熵解码。经译码切片中的每一者可包含切片标头和切片数据。切片标头可以含有关于切片的语法元素。
[0266] 根据本发明的一些实例,位流可符合视频译码标准(例如,HEVC或其扩展)且熵解码单元150可确定是否从位流获得用于当前CU的加权因数索引。在此些实例中,视频译码标准使当前CU的加权因数索引经受约束,所述约束要求当没有当前CU的分区具有时间运动向量或当前CU的视差向量不可用时当前CU的加权因数索引具有特定值(例如,0)。在此些实例中,所述特定值指示关于当前CU将不应用残余预测。根据此些实例,熵解码单元150可做出是否从位流获得当前CU的加权因数索引的确定而无需确定当前CU的任何分区是否具有时间运动向量且无需确定当前CU的视差向量。对当前CU的加权因数索引的值的约束可确保尽管不做出此些确定,视频解码器30在应用关于当前CU的残余预测时也不会遇到由于缺乏当前CU的分区的时间运动向量或缺乏当前CU的视差向量而引起的错误。
[0267] 除了从位流获得语法元素之外,视频解码器30可对CU执行解码操作。通过对CU执行解码操作,视频解码器30可重构CU的译码块。
[0268] 作为对CU执行解码操作的部分,逆量化单元154可逆量化(即,解量化)与CU的TU相关联的系数块。逆量化单元154可使用与TU的CU相关联的QP值来确定量化的程度,及同样逆量化单元154将应用的逆量化的程度。也就是说,可以通过调整当量化变换系数时所使用的QP的值来控制压缩比,即用以表示原始序列以及经压缩的序列的位的数目的比率。压缩比还可以取决于所采用的熵译码的方法。
[0269] 在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一或多个逆变换应用于系数块以便产生与TU相关联的残余块。举例来说,逆变换处理单元156可以将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用于系数块。
[0270] 如果使用帧内预测对PU进行编码,则帧内预测处理单元166可以执行帧内预测以产生用于PU的预测性块。帧内预测处理单元166可以使用帧内预测模式,以基于空间上相邻的PU的预测块产生用于PU的预测性亮度块、Cb块以及Cr块。帧内预测处理单元166可以基于从位流解码的一或多个语法元素来确定用于PU的帧内预测模式。
[0271] 预测处理单元152可基于从位流提取的语法元素来建构第一参考图片列表(RefPicList0)及第二参考图片列表(RefPicList1)。此外,如果PU是使用帧间预测编码,那么熵解码单元150可获得PU的运动信息。运动补偿单元164可以基于PU的运动信息确定用于PU的一或多个参考区域。运动补偿单元164可以基于在用于PU的一或多个参考块处的样本产生用于PU的预测性亮度块、Cb块以及Cr块。
[0272] 重构单元158可使用来自与CU的TU相关联的亮度、Cb和Cr变换块以及所述CU的PU的预测性亮度、Cb和Cr块的残余值(即,在适用时的帧内预测数据或帧间预测数据)来重构所述CU的亮度、Cb和Cr译码块。例如,重构单元158可以将亮度变换块、Cb变换块以及Cr变换块的样本添加到预测性亮度块、Cb块以及Cr块的对应样本以重构CU的亮度译码块、Cb译码块以及Cr译码块。
[0273] 在一些实例中,预测处理单元152可应用关于当前CU的残余预测。在此些实例中,预测处理单元152可基于当前CU的加权因数索引确定当前CU的加权因数。此外,预测处理单元152可基于加权因数索引确定是否预测当前CU的残余信号。预测处理单元152可基于在与当前图片相同的存取单元中但在与当前图片不同的视图中的参考图片中的样本而预测当前CU的残余信号(即,确定当前CU的残余预测符)。预测过程单元152可组合残余信号与一或多个预测性块。重构单元158可将所得样本添加到由逆变换处理单元156产生的用信号表示的残余数据的对应样本以重构当前CU的译码块。
[0274] 滤波器单元160可执行解块操作以减少与CU的亮度、Cb及Cr译码块相关联的成块假象。视频解码器30可以在经解码图片缓冲器162中存储CU的亮度译码块、Cb译码块以及Cr译码块。经解码图片缓冲器162可提供参考图片以用于后续运动补偿、帧内预测及在显示装置(例如图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的亮度、Cb及Cr块对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可以从位流提取重要亮度系数块的变换系数层级,逆量化变换系数层级,对变换系数层级应用变换以产生变换块,至少部分基于变换块产生译码块并且输出译码块用于显示。
[0275] 如在本发明中别处所描述,本发明的一些实例可减少剖析过程对由解码过程产生的信息的相依性。给出了解决照明补偿、视图间残余预测和高级残余预测中的剖析问题的实例。在一些此类实例中,语法元素表保持相同。然而,在一些此类实例中,特定语法元素和变量的语义改变。
[0276] 以下表5展示在本发明的一些实例中可使用的coding_unit语法结构的一部分。表5与上文的表1相同。表1展示如3D-HEVC测试模型2的章节G.7.3.9.1中呈现的coding_unit语法结构的一部分。
[0277] 表5
[0278]
[0279] 然而,根据本发明的一或多个实例,表5中所示的变量和语法元素的语义可不同于表1中所示的变量和语法元素的语义。举例来说,在表5中,等于1的ic_flag语法元素指定照明补偿用于当前CU。等于0的ic_flag语法元素指定照明补偿不用于当前CU。当不存在时,推断ic_flag等于0。
[0280] 在表5的实例中,变量icEnableFlag指定ic_flag语法元素是否存在于位流中。此外,在表5的实例中,变量icEnableFlag导出为:
[0281] icEnableFlag=slice_ic_enable_flag[[&&anyIvRefPicFlag]](G-27)[0282] 在以上等式和本发明的其它部分中,方括号中的斜体文字((例如,[[文字]])是从3D-HEVC测试模型2或其它适用文献移除的文字。因此,如上文的等式中示出,在此实例中icEnableFlag变量不取决于变量anyIvRefPicFlag,而是仅取决于slice_ic_enable_flag语法元素。以此方式,响应于确定针对当前切片启用照明补偿且无需确定当前CU的至少一个PU是否使用视图间参考图片,视频解码器30可从位流获得指示照明补偿是否用于当前CU的照明补偿旗标。同样,当针对当前切片启用照明补偿时,视频编码器20可在位流中包含指示照明补偿旗标的数据,照明补偿旗标指示照明补偿是否用于当前CU,不管当前CU的至少一个PU是否使用视图间参考图片。
[0283] 在一些实例中,可引入约束以使得如果没有当前CU内的PU利用视图间参考图片,那么icEnableFlag变量将等于0。换句话说,视频译码标准(例如,HEVC、3D-HEVC等)使位流中的照明补偿旗标经受约束,所述约束要求在没有当前CU的PU使用视图间参考图片的情况下照明补偿旗标指定指示照明补偿不用于当前CU的值(例如,0)。
[0284] 如上文所指出,用于CU的coding_unit语法结构可包含指示CU是否是使用视图间残余预测译码的res_pred_flag语法元素。根据本发明的一或多个实例,coding_unit语法元素表(即,coding_unit语法结构)不改变。然而,在本发明的此些实例中,可修改resPredEnableFlag的语义以便使res_pred_flag语法元素的剖析过程独立于解码过程。
[0285] 以下表6展示在本发明的一些实例中可使用的coding_unit语法结构的一部分。表6与上文的表2相同。表2展示如3D-HEVC测试模型2的章节G.7.3.9.1中呈现的coding_unit语法结构的一部分。
[0286] 表6
[0287]
[0288] 然而,根据本发明的一或多个实例,表6中所示的变量和语法元素的语义可不同于表2中所示的变量和语法元素的语义。在表6的实例中,等于0的res_pred_flag语法元素指定不使用残余预测。等于1的res_pred_flag语法元素指定使用残余预测。当res_pred_flag语法元素不存在时,res_pred_flag语法元素的值将推断为等于0。
[0289] 此外,在表6的实例中,变量resPredEnableFlag指定res_pred_flag语法元素是否存在于位流中。根据本发明的一个实例,resPredEnableFlag导出为:
[0290] resPredEnableFlag=multi_view_residual_pred_flag&&PredMode!=[0291] MODE_INTRA
[0292] [[&&residualCbfNonZero&&anyTempRefPicFlag]](G-28)
[0293] 因此,在此实例中,视频译码器当确定resPredEnableFlag变量的值时不再确定residualCbfNonZero和anyTempRefPicFlag。如上文所指出,确定residualCbfNonZero变量可需要确定参考视图中的对应块。因此,确定residualCbfNonZero变量需要确定视差向量,其为用于CU的解码过程的部分而不是用于CU的剖析过程的部分。类似地,确定anyTempRefPicFlag变量需要确定当前CU的一或多个PU是否使用时间参考图片。确定PU是否使用时间参考图片可需要确定合并或AMVP候选者列表。确定合并或AMVP候选者列表是用于PU的解码过程的部分,不是用于CU的剖析过程的部分。
[0294] 在本发明的另一实例中,视频译码器可导出变量resPredEnableFlag为:
[0295] resPredEnableFlag=multi_view_residual_pred_flag&&PredMode!=[0296] MODE_INTRA&&DispVectAvai[[residualCbfNonZero]]&&
[0297] anyTempRefPicFlag(G-28),
[0298] 其中如果可找到视差向量,那么变量DispVectAvai等于1。否则其等于0。
[0299] 因此,在此实例中,视频译码器并不基于residualCbfNonZero变量确定resPredEnableFlag变量。然而,在此实例中,resPredEnableFlag取决于DispVectAvai变量。如果可找到视差向量,那么DispVectAvai等于1。否则,DispVectAvai等于0。在此实例中,视差向量可从当剖析当前CU的语法元素时可能已经已知的相邻块导出。确定视差向量可不需要当前PU/CU的经解码信息,但此确定可依赖于来自相邻块的一些经解码信息。
[0300] 在本发明的另一实例中,变量resPredEnableFlag导出为:
[0301] resPredEnableFlag=multi_view_residual_pred_flag&&PredMode!=[0302] MODE_INTRA
[0303] [[&&residualCbfNonZero]]&&anyTempRefPicFlag(G-28)
[0304] 因此,在此实例中,视频译码器并不基于residualCbfNonZero变量确定resPredEnableFlag变量。然而,在此实例中,resPredEnableFlag确实取决于anyTempRefPicFlag变量。
[0305] 本发明的一些实例引入约束以使得如果对应块中没有PU经帧间译码且cbf_luma、cbf_cb和cbf_cr的值不等于0,那么res_pred_flag将为0。换句话说,在此实例中,视频译码标准(例如,HEVC、3D-HEVC等)使位流中的残余预测旗标经受约束,所述约束要求在当前CU的对应块内没有预测单元(PU)经帧间译码的情况下或在当前CU的对应块内没有PU具有不等于1的亮度和色度经译码块旗标(CBF)的值的情况下残余预测旗标等于0。等于0的当前CU的残余预测旗标指示残余预测不用于当前CU。在此实例中,对应块处于参考视图图片中。
[0306] 此外,在一些实例中,可引入约束以使得如果当前CU的视差向量不可用,那么res_pred_flag将为0。在一些实例中,引入约束以使得如果当前CU中没有PU是以时间参考图片译码,那么res_pred_flag将为0。
[0307] 如上文所指出,本发明的一些实例使用约束以便避免与剖析过程取决于解码过程有关的上述问题中的一或多者。举例来说,如上文所描述,coding_unit语法结构可包含指示对用于ARP的加权因数的索引的weighting_factor_index语法元素。以下表7展示根据本发明的一个实例的coding_unit语法结构的实例部分。
[0308] 表7
[0309]
[0310]
[0311] 在表7的实例中,引入约束以使得如果当前CU中没有分区具有时间运动向量(即,参考图片是来自同一视图),或当前CU的视差向量不可用,那么weighting_factor_index语法元素将为0。如上文所论述,如果加权因数索引语法元素不等于0且没有当前CU的PU具有时间运动向量或当前CU的视差向量不可用,那么译码错误可发生。因此,一些提议已提出在剖析加权因数索引语法元素之前检查当前CU的任何PU是否具有时间运动向量且检查当前CU的视差向量是否可用。因此,在此些提议中,因为在加权因数语法元素不存在于位流中的情况下假定加权因数索引语法元素为0,所以视频译码器在视频解码器确定没有当前CU的PU具有时间运动向量或当前CU的视差向量不可用的情况下将不执行残余预测。然而,当前CU的任何PU是否具有时间运动向量以及当前CU的视差向量是否可用的确定可需要在解码过程中产生的信息,其可减慢剖析过程。因此,在表7的实例中,约束可确保此类型的解码错误不发生,而不需要视频解码器在从位流获得加权因数索引语法元素之前检查当前CU的任何PU是否具有时间运动向量或当前CU的视差向量是否可用。
[0312] 以下表8是根据本发明的另一实例的coding_unit语法结构的一部分。
[0313] 表8
[0314]
[0315]
[0316] 在表8的实例中,可引入约束以使得如果当前CU的视差向量不可用,那么weighting_factor_index语法元素将为0。设定成等于1的TempMVAvai指示当前CU是从来自同一视图的至少一个参考图片预测。否则,TempMVAvai设定成等于0。
[0317] 以下表9是根据本发明的另一实例的coding_unit语法结构的一部分。
[0318] 表9
[0319]
[0320] 在表9的实例中,引入约束以使得如果当前CU中没有分区具有时间运动向量(即,所有参考图片是来自同一视图),那么weighting_factor_index语法元素将为0。
[0321] 图9是说明根据本发明的一或多个技术的视频编码器20的实例操作200的流程图。在图9的实例中,视频编码器20产生符合视频译码标准的位流(202)。位流包括视频数据的经译码表示。位流包含指示当前CU的加权因数索引的数据。视频译码标准使当前CU的加权因数索引经受约束,所述约束要求当没有当前CU的分区具有时间运动向量或当前CU的视差向量不可用时当前CU的加权因数索引具有特定值(例如,0)。具有特定值的当前CU的加权因数索引指示关于当前CU不应用残余预测。此外,在图9的实例中,视频编码器20输出位流(204)。
[0322] 图10是说明根据本发明的一或多种技术的用于对当前CU进行编码的实例操作250的流程图。在图10的实例中,视频编码器20可确定当前CU的任何PU(即,任何分区)是否具有时间运动向量(252)。响应于确定当前CU的PU中的至少一者具有时间运动向量(252的“是”),视频编码器20可确定当前CU的视差向量是否可用(254)。响应于确定当前CU的视差向量不可用(254的“否”)或响应于确定没有当前CU的PU具有时间运动向量(252的“否”),视频编码器20可将当前CU的加权因数设定为0且可将当前CU的加权因数索引设定为0(256)。
[0323] 不管视频编码器20在动作256中是否设定加权因数和加权因数索引,视频编码器20都可确定当前CU的一或多个预测性样本阵列(258)。举例来说,视频编码器20可确定当前CU的亮度预测性样本阵列(例如,predSamplesL)和两个色度预测性样本阵列(例如,predSamplesCb和predSamplesCr)。视频编码器20可通过确定当前CU的每一PU的预测性块而确定当前CU的预测性样本阵列。
[0324] 此外,在图10的实例中,视频编码器20可确定当前CU的残余样本阵列(260)。举例来说,视频编码器20可确定当前CU的亮度残余样本阵列(例如,resSamplesL)和两个色度残余样本阵列(例如,resSamplesCb和resSamplesCr)。视频编码器20可执行图11的实例操作以确定当前CU的残余样本阵列。
[0325] 另外,视频编码器20可确定是否在位流中包含指示当前CU的加权因数索引的数据(262)。位流包括视频数据的经译码表示。在一些实例中,视频编码器20可在当前CU不是深度视图分量、当前CU不在基础层中、当前CU的译码模式不是帧内预测且当前CU的分割模式是PART_2Nx2N时在位流中包含指示加权因数索引的数据。在此实例中,当前CU可在属于当前视图的图片中。因此,在此实例中,响应于确定当前视图是相依性纹理视图,当前CU未经帧内译码且当前CU的分割模式等于PART_2Nx2N,视频编码器20可在位流中包含指示当前CU的加权因数索引的数据。
[0326] 在其它实例中,视频编码器20可在当前CU不是深度视图分量、当前CU不在基础层中、当前CU的译码模式不是帧内预测、当前CU的分割模式是PART_2Nx2N且当前CU是从来自同一视图的至少一个参考图片预测时在位流中包含指示加权因数索引的数据。在其它实例中,视频编码器20可在当前CU不是深度视图分量、当前CU不在基础层中、当前CU的译码模式不是帧内预测、当前CU的分割模式是PART_2Nx2N且可找到当前CU的视差向量时在位流中包含指示加权因数索引的数据。响应于确定位流将包含指示当前CU的加权因数索引的数据(262的“是”),视频编码器20可在位流中包含指示当前CU的加权因数索引的数据(264)。否则,响应于确定位流将不包含指示当前CU的加权因数索引的数据(262的“否”),视频编码器20可从位流省略指示当前CU的加权因数索引的数据(266)。
[0327] 不管视频编码器20是否在位流中包含当前CU的加权因数索引,视频编码器20都可在位流中包含指示当前CU的残余样本阵列的数据(268)。举例来说,视频编码器20可将当前CU的残余样本阵列分割为与当前CU的一或多个TU相关联的变换块。在此实例中,视频编码器20可将变换应用于每一变换块且量化所得系数块。此外,在此实例中,视频编码器20可产生指示经量化系数块的语法元素。在此实例中,视频编码器20可对指示经量化系数块的语法元素进行熵编码。视频编码器20可在位流中包含经熵编码语法元素。因此,在此实例中,视频编码器20可在位流中包含指示当前CU的残余样本阵列的数据。以此方式,视频编码器20可在位流中用信号表示残余样本阵列。
[0328] 图11是说明用于确定当前CU的残余样本阵列的视频编码器20的实例操作300的流程图。在图11的实例中,视频编码器20可确定当前CU的加权因数是否已设定成0(302)。如图10的动作256中指示,当没有当前CU的PU具有时间运动向量或当前CU的视差向量不可用时当前CU的加权因数可设定成0。
[0329] 响应于确定当前CU的加权因数尚未设定成0(302的“否”),视频编码器20可执行相对于当前CU的ARP。因此,响应于确定当前CU的加权因数尚未设定成0(302的“否”),视频编码器20可确定当前CU的当前PU的视差参考块(304)。视频编码器20可从视图间参考图片(即,与和当前图片相同的存取单元相关联但在与当前图片不同的视图中的参考图片)的实际或内插样本确定视差参考块。此外,视频编码器20可确定当前PU的时间视差参考块(306)。视频编码器20可基于在与视差参考块相同的视图中但在与当前PU或视差参考块不同的存取单元中的参考图片的实际或内插样本而确定时间视差参考块。
[0330] 随后,视频编码器20可确定当前PU的残余预测符(308)。当前PU的残余预测符中的每一样本可指示视差参考块与时间视差参考块中的对应样本之间的差异。此外,视频编码器20可基于当前CU的加权因数修改残余预测符以便确定当前PU的经加权残余预测符(310)。举例来说,经加权残余预测符中的每一样本可等于残余预测符中的对应样本除以加权因数。
[0331] 在确定当前PU的经加权残余预测符之后,视频编码器20可确定是否存在当前CU的任何剩余PU(312)。当存在当前CU的剩余PU时(312的“是”),视频编码器20可以当前CU的另一PU作为当前PU再次执行动作304-312。以此方式,视频编码器20可执行相对于当前CU的每一PU的动作304-312。
[0332] 响应于确定不存在当前CU的剩余PU(312的“否”),视频编码器20可基于当前CU的译码块、当前CU的PU的经加权残余预测符以及当前CU的预测性样本阵列而确定当前CU的残余样本阵列(314)。举例来说,当前CU的残余样本阵列中的每一样本可等于当前CU的译码块、当前CU的PU的经加权残余预测符和当前CU的PU的预测性块中的对应样本之间的差异。
[0333] 如图11的实例中示出,在当前CU的加权因数设定成0时(302的“是”),视频编码器20并不执行相对于当前CU的ARP。而是,在当前CU的加权因数设定成0时(302的“是”),视频编码器20可基于当前CU的译码块和当前CU的预测性样本阵列而确定当前CU的残余样本阵列(316)。举例来说,当前CU的残余样本阵列中的每一样本可等于当前CU的译码块和当前CU的PU的预测性块中的对应样本之间的差异。
[0334] 在图11的实例中,当加权因数未先前设定成0时,视频编码器20可针对每一可用的加权因数(例如,0、0.5和1)多次执行操作300且随后基于速率/失真分析选择当前CU的加权因数(和当前CU的相关联残余样本阵列)。
[0335] 图12是说明根据本发明的一或多个技术的视频解码器30的实例操作350的流程图。如图12的实例中示出,视频解码器30从符合视频译码标准的位流获得当前CU的加权因数索引(352)。位流包括视频数据的经编码表示且视频译码标准可使当前CU的加权因数索引经受约束,所述约束要求在当前CU没有分区具有时间运动向量或当前CU的视差向量不可用时当前CU的加权因数索引具有特定值。所述特定值指示关于当前CU不应用残余预测。另外,视频解码器30可基于当前CU的加权因数索引确定加权因数(354)。
[0336] 此外,视频解码器30可基于加权因数确定是否预测当前CU的残余信号(356)。在一些实例中,视频解码器30可响应于确定当前CU的加权因数确实不等于特定值而使用参考残余信号乘以加权因数来预测当前CU的残余信号。在一些实例中,视频解码器30可基于视差参考块与时间视差参考块之间的差异来确定参考残余信号。
[0337] 图13是说明根据本发明的一或多种技术的用于对当前CU进行解码的视频解码器30的实例操作400的流程图。在图13的实例中,视频解码器30可执行操作(例如,剖析操作)以从位流获得与当前CU相关联的语法元素(402)。位流可包括视频数据的经译码表示。
[0338] 作为执行操作以获得与当前CU相关联的语法元素的部分,视频解码器30可确定位流中是否包含指示当前CU的加权因数索引的数据(404)。在一些实例中,在当前CU不是深度视图分量、当前CU不在基础层中、当前CU的译码模式不是帧内预测且当前CU的分割模式是PART_2Nx2N时,视频解码器30可确定位流包含指示加权因数索引的数据。因此,在此实例中,在当前视图是相依性纹理视图、当前CU未经帧内译码且当前CU的分割模式等于PART_2Nx2N时,视频解码器30可从位流获得当前CU的加权因数索引。此外,在此实例中,在当前视图不是相依性纹理视图、当前CU经帧内译码或当前CU的分割模式不等于PART_2Nx2N时,视频解码器30可假定加权因数索引等于特定值。
[0339] 在其它实例中,在当前CU不是深度视图分量、当前CU不在基础层中、当前CU的译码模式不是帧内预测、当前CU的分割模式是PART_2Nx2N且当前CU是从来自同一视图的至少一个参考图片预测时,视频解码器30可确定位流包含指示加权因数索引的数据。在其它实例中,在当前CU不是深度视图分量、当前CU不在基础层中、当前CU的译码模式不是帧内预测、当前CU的分割模式是PART_2Nx2N且可找到当前CU的视差向量时,视频解码器30可确定位流包含指示加权因数索引的数据。
[0340] 响应于确定位流包含指示当前CU的加权因数索引的数据(404的“是”),视频解码器30可从位流获得指示当前CU的加权因数索引的数据(406)。举例来说,视频解码器30可基于位流中的数据获得指示当前CU的加权因数索引的语法元素(例如,weighting_factor_index)。
[0341] 根据本发明的一些实例技术,应用约束以使得在当前CU没有分区(例如,PU)具有时间运动向量或当前CU的视差向量不可用时加权因数索引等于特定值(例如,0)。在其它实例中,应用约束以使得在当前CU的视差向量不可用时加权因数索引等于特定值(例如,0)。在另一实例中,应用约束以使得在没有当前CU的分区(例如,PU)具有时间运动向量时加权因数等于特定值(例如,0)。
[0342] 不管视频解码器30是否从位流获得指示加权因数索引的数据,视频解码器30都可从位流获得指示当前CU的一或多个用信号表示的残余块的数据(408)。举例来说,视频解码器30可基于位流中的数据获得指示与当前CU的TU相关联的经量化系数块的语法元素。在此实例中,视频解码器30可进行逆量化且将逆变换应用于经量化系数块以便获得当前CU的用信号表示的残余样本块。
[0343] 此外,在图13的实例中,视频解码器30可确定当前CU的预测性样本阵列(410)。视频解码器30可使用针对当前CU的PU指定的一或多个参考图片和语法元素来确定当前CU的预测性样本阵列。另外,视频解码器30可至少部分基于当前CU的用信号表示的残余块而确定当前CU的残余样本阵列(412)。视频解码器30可执行图14的实例操作以确定当前CU的残余样本阵列。视频解码器30可随后基于当前CU的预测性样本阵列和当前CU的残余样本阵列而重构当前CU的译码块(414)。在一些实例中,当前CU的译码块中的每一样本可等于当前CU的预测性样本阵列和当前CU的残余样本阵列中的对应样本的总和。在一些实例中,当视频解码器30重构当前CU的译码块时,视频解码器30应用一或多个解块滤波器。
[0344] 图14是说明根据本发明的一或多种技术的用于确定当前CU的残余样本阵列的视频解码器30的实例操作450的流程图。在图14的实例中,视频解码器30可基于当前CU的加权因数索引确定当前CU的加权因数(452)。举例来说,如果当前CU的加权因数索引等于0、1或2,那么视频解码器30可确定当前CU的加权因数分别等于0、0.5或1。
[0345] 视频解码器30可随后确定当前CU的加权因数是否等于0(454)。在当前CU的加权因数不等于0时,视频解码器30可执行关于当前CU的ARP。因此,响应于确定当前CU的加权因数不等于0(454的“否”),视频解码器30可确定当前CU的当前PU的视差参考块(456)。视频解码器30可从视图间参考图片(即,在与当前图片相同的存取单元中但在与当前图片不同的视图中的参考图片)的实际或内插样本确定视差参考块。此外,视频解码器30可确定当前PU的时间视差参考块(458)。视频解码器30可基于在与视差参考块相同的视图中但在与当前PU或视差参考块不同的存取单元中的参考图片的实际或内插样本而确定时间视差参考块。
[0346] 随后,视频解码器30可确定当前PU的残余预测符(460)。当前PU的残余预测符中的每一样本可指示视差参考块与时间视差参考块中的对应样本之间的差异。此外,视频解码器30可基于当前CU的加权因数修改残余预测符以便确定当前PU的经加权残余预测符(462)。举例来说,经加权残余预测符中的每一样本可等于残余预测符中的对应样本乘以当前CU的加权因数。
[0347] 在确定当前PU的经加权残余预测符之后,视频解码器30可确定是否存在当前CU的任何剩余PU(464)。当存在当前CU的剩余PU时(464的“是”),视频解码器30可以当前CU的另一PU作为当前PU再次执行动作456-464。以此方式,视频解码器30可执行相对于当前CU的每一PU的动作456-464。
[0348] 响应于确定不存在当前CU的剩余PU(464的“否”),视频解码器30可基于当前CU的PU的经加权残余预测符和当前CU的用信号表示的残余块而确定当前CU的残余样本阵列(466)。举例来说,当前CU的残余样本阵列中的每一样本可等于当前CU的PU的经加权残余预测符和当前CU的用信号表示的残余块中的对应样本的总和。
[0349] 如图14的实例中示出,在当前CU的加权因数设定成0时(454的“是”),视频解码器30并不执行相对于当前CU的ARP。而是,在当前CU的加权因数设定成0(454的“是”)时,当前CU的残余样本阵列包括当前CU的用信号表示的残余块(468)。
[0350] 图15A是说明根据本发明的实例的视频解码器30的实例操作的流程图。在图15A的实例中,视频解码器30可确定当前视图是否是相依性纹理视图,当前CU是否未经帧内译码,且当前CU的分割模式是否等于PART_2Nx2N(500)。在当前视图是相依性纹理视图、当前CU未经帧内译码且当前CU的分割模式等于PART_2Nx2N(500的“是”)时,视频解码器30可从包括视频数据的经编码表示的位流获得当前CU的加权因数索引(502)。当前CU处于属于当前视图的图片中。在当前视图不是相依性纹理视图或当前CU经帧内译码或当前CU的分割模式不等于PART_2Nx2N(500的“否”)时,视频解码器30可假定加权因数索引等于指示关于当前CU不应用残余预测的特定值(504)。另外,视频解码器30可基于当前CU的加权因数索引确定加权因数(506)。视频解码器30还可基于加权因数确定是否预测当前CU的残余信号(508)。
[0351] 图15B是说明根据本发明的实例的视频编码器20的实例操作的流程图。在图15B的实例中,视频编码器20可确定当前视图是否是相依性纹理视图,当前CU是否未经帧内译码,且当前CU的分割模式是否等于PART_2Nx2N(520)。响应于确定当前视图是相依性纹理视图、当前CU未经帧内译码且当前CU的分割模式等于PART_2Nx2N(520的“是”),视频编码器20可在包括视频数据的经编码表示的位流中包含指示当前CU的加权因数索引的数据(522)。当前CU处于属于当前视图的图片中。然而,响应于确定当前视图不是相依性纹理视图或当前CU未经帧内译码或当前CU的分割模式不等于PART_2Nx2N(520的“否”),视频编码器20可从位流省略指示当前CU的加权因数索引的数据(524)。在任一情况下,视频编码器20可输出位流(526)。
[0352] 图16A是说明根据本发明的实例的视频解码器30的实例操作的流程图。在图16A的实例中,视频解码器30可从符合视频译码标准且包含视频数据的经编码表示的位流获得指示照明补偿是否用于当前CU的照明补偿旗标(550)。所述视频译码标准可使照明补偿旗标经受约束,所述约束要求在没有当前CU的PU使用视图间参考图片的情况下照明补偿旗标指定指示照明补偿不用于当前CU的值。此外,视频解码器30可确定照明补偿旗标是否指示照明补偿将针对当前CU执行(552)。响应于基于照明补偿旗标确定照明补偿将针对当前CU执行(552的“是”),视频解码器30可执行用于当前CU的照明补偿(554)。否则,响应于基于照明补偿旗标确定照明补偿将不针对当前CU执行(552的“否”),视频解码器30并不执行用于当前CU的照明补偿(556)。
[0353] 图16B是说明根据本发明的实例的视频编码器20的实例操作的流程图。在图16B的实例中,视频编码器20可在符合视频译码标准且包含视频数据的经编码表示的位流中包含指示照明补偿是否用于当前CU的照明补偿旗标(570)。所述视频译码标准可使照明补偿旗标经受约束,所述约束要求在没有当前CU的PU使用视图间参考图片的情况下照明补偿旗标指定指示照明补偿不用于当前CU的值。视频编码器20可输出位流(572)。
[0354] 图17A是说明根据本发明的实例的视频解码器30的实例操作的流程图。在图17A的实例中,视频解码器30可从符合视频译码标准且包含视频数据的经编码表示的位流获得当前CU的残余预测旗标(600)。等于0的当前CU的残余预测旗标可指示残余预测不用于当前CU,且视频译码标准使残余预测旗标经受约束,所述约束要求在当前CU的对应块内没有PU经帧间译码的情况下或在当前CU的对应块内没有PU具有不等于0的亮度和色度CBF的值的情况下残余预测旗标等于0。对应块在参考视图图片中。在一些实例中,视频解码器30可响应于确定残余预测针对当前CU经启用而从位流获得残余预测旗标,且无需确定当前CU的对应块内的至少一个PU是否未经帧内译码且无需确定当前CU的对应块的亮度CBF和色度CBF的值不等于0。
[0355] 此外,在图17A的实例中,视频解码器30可基于残余预测旗标确定残余预测是否用于当前CU(602)。响应于基于残余预测旗标确定残余预测用于当前CU(602的“是”),视频解码器30可执行当前CU的残余预测(604)。否则,响应于确定残余预测不用于当前CU(602的“否”),视频解码器30并不执行当前CU的残余预测(606)。
[0356] 图17B是说明根据本发明的实例的视频编码器20的实例操作的流程图。在图17B的实例中,视频编码器20可在符合视频译码标准且包含视频数据的经编码表示的位流中包含当前CU的残余预测旗标(620)。等于0的当前CU的残余预测旗标可指示残余预测不用于当前CU,且视频译码标准使残余预测旗标经受约束,所述约束要求在当前CU的对应块内没有PU经帧间译码的情况下或在当前CU的对应块内没有PU具有不等于0的亮度和色度CBF的值的情况下残余预测旗标等于0。对应块在参考视图图片中。在一些实例中,当残余预测针对当前CU经启用时视频编码器20可在位流中包含残余预测旗标,而无需确定当前CU的对应块内的至少一个PU是否未经帧内译码且无需确定当前CU的对应块的亮度CBF和色度CBF的值不等于0。此外,视频编码器20可输出位流(622)。
[0357] 本发明揭示用于视频编码和视频解码的各种实例技术,其中一些在下文呈现。
[0358] 实例1。一种对视频数据进行解码的方法,所述方法包括:基于指示照明补偿是否可用于当前切片的语法元素的值且不基于指定当前CU的一或多个PU是否利用视图间参考图片的变量而确定变量的值;以及响应于确定所述变量的值是特定值,从位流剖析指示照明补偿是否针对当前CU经启用的照明补偿旗标。
[0359] 实例2。实例1的方法,其中如果没有当前CU的PU利用视图间参考图片,那么所述变量并不具有特定值。
[0360] 实例3。一种对视频数据进行编码的方法,所述方法包括:基于照明补偿是否可用于当前切片且不基于当前CU的一或多个PU是否利用视图间参考图片而确定变量的值;以及响应于确定所述变量的值是特定值而在位流中包含指示照明补偿是否针对当前CU经启用的照明补偿旗标。
[0361] 实例4。实例3的方法,其中如果没有当前CU的PU利用视图间参考图片,那么所述变量并不具有特定值。
[0362] 实例5。一种对视频数据进行解码的方法,所述方法包括:在不参考当前译码单元(CU)的对应块的预测单元(PU)的经译码块旗标(CBF)的情况下确定变量的值;以及响应于确定所述变量具有特定值,从位流剖析指示残余预测是否用于所述当前CU的残余预测旗标。
[0363] 实例6。实例5的方法,其中确定所述变量的值包括至少部分基于所述当前CU的预测模式是否是帧内模式而确定所述变量的所述值。
[0364] 实例7。实例5的方法,其中确定所述变量的所述值包括在无需确定所述当前CU的一或多个PU是否利用时间参考图片的情况下确定所述变量的所述值。
[0365] 实例8。实例5的方法,其中确定所述变量的所述值包括至少部分基于针对所述当前CU是否找到视差向量而确定所述变量的所述值。
[0366] 实例9。实例5的方法,其中如果所述当前CU的PU经帧间译码且所述当前CU的经译码块旗标的值不等于0,那么所述变量的所述值不等于所述特定值。
[0367] 实例10。实例5的方法,其中如果所述当前CU的视差向量不可用,那么所述变量的所述值不等于所述特定值。
[0368] 实例11。实例5的方法,其中如果没有所述当前CU的所述PU以时间参考图片经译码,那么所述变量的所述值不等于所述特定值。
[0369] 实例12。一种对视频数据进行编码的方法,所述方法包括产生位流以使得视频解码器能够在无需参考当前译码单元(CU)的对应块的预测单元(PU)的经译码块旗标(CBF)的情况下确定位流是否包含指示残余预测是否用于所述当前CU的残余预测旗标。
[0370] 实例13。实例12的方法,其中产生所述位流包括产生所述位流以使得所述视频解码器能够至少部分基于所述当前CU的预测模式是否是帧内模式而确定所述位流是否包含所述残余预测旗标。
[0371] 实例14。实例12的方法,其中产生所述位流包括产生所述位流以使得所述视频解码器能够在无需确定所述当前CU的一或多个PU是否利用时间参考图片的情况下确定所述位流是否包含所述残余预测旗标。
[0372] 实例15。实例12的方法,其中产生所述位流包括产生所述位流以使得所述视频解码器能够至少部分基于针对所述当前CU是否找到视差向量而确定所述位流是否包含所述残余预测旗标。
[0373] 实例16。实例12的方法,其中如果所述当前CU的所述PU经帧间译码且所述当前CU的经译码块旗标的值不等于0,那么所述位流并不包含所述残余预测旗标。
[0374] 实例17。实例12的方法,其中如果所述当前CU的视差向量不可用,那么所述位流并不包含所述残余预测旗标。
[0375] 实例18。实例12的方法,其中如果没有所述当前CU的所述PU以时间参考图片经译码,那么所述位流并不包含所述残余预测旗标。
[0376] 实例19。一种对视频数据进行解码的方法,所述方法包括:在没有当前译码单元(CU)的分区具有时间运动向量或所述当前CU的视差向量不可用时确定加权因数索引具有特定值;基于所述加权因数索引确定加权因数;以及基于所述加权因数确定是否预测所述当前CU的残余信号。
[0377] 实例20。一种用于对视频数据进行编码的方法,所述方法包括产生位流以使得视频解码器能够执行实例19的方法。
[0378] 实例21。一种对视频数据进行解码的方法,所述方法包括:至少部分基于当前译码单元(CU)是否是从来自与所述当前CU相同的视图的至少一个参考图片预测而确定是否从位流剖析指示加权因数索引的语法元素;在所述当前CU的视差向量不可用的情况下确定所述加权因数索引等于特定值;基于所述加权因数索引确定加权因数;以及基于所述加权因数确定是否预测所述当前CU的残余信号。
[0379] 实例22。一种对视频数据进行编码的方法,所述方法包括产生位流以使得视频解码器能够执行实例21的方法。
[0380] 实例23。一种对视频数据进行解码的方法,所述方法包括:至少部分基于针对当前译码单元(CU)是否找到视差向量而确定是否从位流剖析指示加权因数索引的语法元素;在没有所述当前CU的分区具有时间运动向量的情况下确定所述加权因数索引等于特定值;基于所述加权因数索引确定加权因数;以及基于所述加权因数确定是否预测所述当前CU的残余信号。
[0381] 实例24。一种具有存储于其上的指令的非暂时性计算机可读数据存储媒体,所述指令当经执行时致使视频解码装置:从符合视频译码标准的位流获得当前译码单元(CU)的加权因数索引,其中所述位流包括视频数据的经编码表示且所述视频译码标准使所述当前CU的所述加权因数索引经受约束,所述约束要求在没有所述当前CU的分区具有时间运动向量或所述当前CU的视差向量不可用时所述当前CU的所述加权因数索引具有特定值,其中所述特定值指示关于所述当前CU未应用残余预测;基于所述当前CU的所述加权因数索引确定加权因数;以及基于所述加权因数确定是否预测所述当前CU的残余信号。
[0382] 实例25。一种视频编码装置,包括一或多个处理器,所述一或多个处理器经配置以:产生符合视频译码标准的位流,所述位流包括视频数据的经译码表示,其中所述位流包含指示当前译码单元(CU)的加权因数索引的数据,其中所述视频译码标准要求在没有所述当前CU的分区具有时间运动向量或所述当前CU的视差向量不可用时所述当前CU的所述加权因数索引具有特定值,其中具有所述特定值的所述当前CU的所述加权因数索引指示关于所述当前CU未应用残余预测;以及输出所述位流。
[0383] 实例26。一种视频编码装置,包括用于产生符合视频译码标准的位流的装置,所述位流包括视频数据的经译码表示,其中所述位流包含指示当前译码单元(CU)的加权因数索引的数据,其中所述视频译码标准要求在没有所述当前CU的分区具有时间运动向量或所述当前CU的视差向量不可用时所述当前CU的所述加权因数索引具有特定值,其中具有所述特定值的所述当前CU的所述加权因数索引指示关于所述当前CU未应用残余预测;以及用于输出所述位流的装置。
[0384] 实例27。一种具有存储于其上的指令的非暂时性计算机可读数据存储媒体,所述指令当经执行时致使视频解码装置产生符合视频译码标准的位流,所述位流包括视频数据的经译码表示,其中所述位流包含指示当前译码单元(CU)的加权因数索引的数据,其中所述视频译码标准要求在没有所述当前CU的分区具有时间运动向量或所述当前CU的视差向量不可用时所述当前CU的所述加权因数索引具有特定值,其中具有所述特定值的所述当前CU的所述加权因数索引指示关于所述当前CU未应用残余预测;以及输出所述位流。
[0385] 上文实例中的任一者的任何细节可与符合本发明的其它实例组合。在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的任何媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可以对应于(1)非暂时形的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可以是可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0386] 借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或任何其它可用来存储指令或数据结构的形式的期望程序代码并且可由计算机存取的媒体。而且,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。上述各者的组合也应包含在计算机可读媒体的范围内。
[0387] 指令可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置用于编码及解码的专用硬件和/或软件模块内提供,或者并入于组合编码解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
[0388] 本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以配合合适的软件及/或固件组合在一个编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包括如上文所描述的一或多个处理器。
[0389] 已描述各种实例。这些及其它实例属于所附权利要求书的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈