首页 / 专利库 / 视听技术与设备 / 运动补偿预测 / 一种处理视频数据的方法,装置及计算机可读存储媒体

一种处理视频数据的方法,装置及计算机可读存储媒体

阅读:1037发布:2020-06-04

专利汇可以提供一种处理视频数据的方法,装置及计算机可读存储媒体专利检索,专利查询,专利分析的服务。并且本 发明 描述用于HEVC及3D‑HEVC中的视频译码的基于子预测单元PU的运动预测的技术。在一个实例中,所述技术包含用以在对于其可允许运动向量细化的 单层 译码中预测PU的子PU的高级时间运动向量预测TMVP模式。所述高级TMVP模式包含在至少两个阶段中确定所述PU的运动向量以导出所述PU的运动信息,所述运动信息包含所述PU的所述子PU中的每一者的不同运动向量及参考索引。在另一实例中,所述技术包含甚至在执行 运动补偿 之后存储针对使用子PU后向视图合成预测BVSP模式预测的当前PU的每一子PU导出的单独的运动信息。针对所述当前PU存储的额外运动信息可用于预测所述当前PU对于其是相邻 块 的后续PU。,下面是一种处理视频数据的方法,装置及计算机可读存储媒体专利的具体信息内容。

1.一种处理视频数据的方法,其包括:
从视频的译码单元CU的当前预测单元PU的相邻块确定所述当前PU的第一阶段运动向量以作为高级时间运动向量预测TMVP模式的第一阶段,其中所述第一阶段运动向量识别对应于所述当前PU的参考图片的块;
将所述当前PU分割为两个或更多个子PU,以使得所述当前PU的每一子PU具有在所述参考图片的所述块中的相应子PU;
作为所述高级TMVP模式的第二阶段,提取所述参考图片的所述块的子PU的运动信息,且将每一组运动信息作为第二阶段运动信息指派到所述当前PU的相应子PU,其中所述子PU中的每一者的所述第二阶段运动信息包含至少一个运动向量及相关联的参考索引;及基于所述子PU中的每一者的所述第二阶段运动信息而单独地执行用于所述子PU中的每一者的运动补偿
2.根据权利要求1所述的方法,其中确定所述当前PU的所述第一阶段运动向量包括从所述当前PU的空间相邻块或时间相邻块中的一或多者导出所述第一阶段运动向量。
3.根据权利要求1所述的方法,其中确定所述当前PU的所述第一阶段运动向量包括从所述当前PU的合并模式候选者列表选择所述第一阶段运动向量。
4.根据权利要求1所述的方法,其进一步包括在所述当前PU的合并模式候选者列表中产生高级TMVP候选者,其中所述高级TMVP候选者指示用以预测所述当前PU的所述高级TMVP模式的性能。
5.根据权利要求1所述的方法,其进一步包括基于所述子PU中的一者的所述第二阶段运动信息的所述至少一个运动向量不可用,使用所述子PU中的所述一者的代表性运动向量。
6.根据权利要求1所述的方法,其进一步包括确定使用所述高级TMVP模式预测的所述当前PU的运动细化数据。
7.根据权利要求6所述的方法,其中确定所述运动细化数据包括确定适用于所述当前PU的所述子PU中的每一者的所述第二阶段运动信息的所述当前PU的单一运动向量差。
8.根据权利要求6所述的方法,其中确定所述运动细化数据包括确定所述当前PU的所述子PU中的每一者的所述第二阶段运动信息的不同运动向量差。
9.根据权利要求6所述的方法,其进一步包括在所述当前PU的高级运动向量预测AMVP模式候选者列表中产生高级TMVP候选者,其中所述高级TMVP候选者指示使用所述运动细化数据预测所述当前PU的所述高级TMVP模式的性能。
10.根据权利要求1所述的方法,其进一步包括:
基于所述第二阶段运动信息而产生所述当前PU的所述子PU中的每一者的预测块;
基于所述视频块及所述当前PU的所述子PU中的每一者的所述预测块而产生残差块;及在视频位流中编码所述残差块及所述当前PU的至少所述第一阶段运动向量的指示符。
11.根据权利要求1所述的方法,其进一步包括:
从所接收的视频位流解码残差块及所述当前PU的至少所述第一阶段运动向量的指示符;
基于所述第二阶段运动信息而产生所述当前PU的所述子PU中的每一者的预测块;及基于所述残差块及所述当前PU的所述子PU中的每一者的所述预测块而产生所述视频块的经重构版本。
12.一种视频处理装置,其包括:
存储器,其经配置以存储视频数据;及
一或多个处理器,其与所述存储器通信且经配置以:
从视频块的译码单元CU的当前预测单元PU的相邻块确定所述当前PU的第一阶段运动向量以作为高级时间运动向量预测TMVP模式的第一阶段,其中所述第一阶段运动向量识别对应于所述当前PU的参考图片的块,
将所述当前PU分割为两个或更多个子PU,以使得所述当前PU的每一子PU具有在所述参考图片的所述块中的相应子PU,
作为所述高级TMVP模式的第二阶段,提取所述参考图片的所述块的子PU的运动信息,且将每一组运动信息作为第二阶段运动信息指派到所述当前PU的相应子PU,其中所述子PU中的每一者的所述第二阶段运动信息包含至少一个运动向量及相关联的参考索引,及基于所述子PU中的每一者的所述第二阶段运动信息而单独地执行用于所述子PU中的每一者的运动补偿。
13.根据权利要求12所述的装置,其中所述一或多个处理器经配置以从所述当前PU的空间相邻块或时间相邻块中的一或多者导出所述第一阶段运动向量。
14.根据权利要求12所述的装置,其中所述一或多个处理器经配置以从所述当前PU的合并模式候选者列表选择所述第一阶段运动向量。
15.根据权利要求12所述的装置,其中所述一或多个处理器经配置以在所述当前PU的合并模式候选者列表中产生高级TMVP候选者,其中所述高级TMVP候选者指示用以预测所述当前PU的所述高级TMVP模式的性能。
16.根据权利要求12所述的装置,其中,基于所述子PU中的一者的所述第二阶段运动信息的所述至少一个运动向量不可用,所述一或多个处理器经配置以使用所述当前PU的所述子PU中的所述一者的代表性运动向量。
17.根据权利要求12所述的装置,其中所述一或多个处理器经配置以确定使用所述高级TMVP模式预测的所述当前PU的运动细化数据。
18.根据权利要求17所述的装置,其中所述一或多个处理器经配置以确定适用于所述当前PU的所述子PU中的每一者的所述第二阶段运动信息的所述当前PU的单一运动向量差。
19.根据权利要求17所述的装置,其中所述一或多个处理器经配置以确定所述当前PU的所述子PU中的每一者的所述第二阶段运动信息的不同运动向量差。
20.根据权利要求17所述的装置,其中所述一或多个处理器经配置以在所述当前PU的高级运动向量预测AMVP模式候选者列表中产生高级TMVP候选者,其中所述高级TMVP候选者指示使用所述运动细化数据预测所述当前PU的所述高级TMVP模式的性能。
21.根据权利要求12所述的装置,其中所述视频处理装置包括视频编码装置,且其中所述一或多个处理器经配置以:
基于所述第二阶段运动信息而产生所述当前PU的所述子PU中的每一者的预测块;
基于所述视频块及所述当前PU的所述子PU中的每一者的所述预测块而产生残差块;及在视频位流中编码所述残差块及所述当前PU的至少所述第一阶段运动向量的指示符。
22.根据权利要求12所述的装置,其中所述视频处理装置包括视频解码装置,且其中所述一或多个处理器经配置以:
从所接收的视频位流解码残差块及所述当前PU的至少所述第一阶段运动向量的指示符;
基于所述第二阶段运动信息而产生所述当前PU的所述子PU中的每一者的预测块;及基于所述残差块及所述当前PU的所述子PU中的每一者的所述预测块而产生所述视频块的经重构版本。
23.一种视频处理装置,其包括:
用于从视频块的译码单元CU的当前预测单元PU的相邻块确定所述当前PU的第一阶段运动向量以作为高级时间运动向量预测TMVP模式的第一阶段的装置,其中所述第一阶段运动向量识别对应于所述当前PU的参考图片的块;
用于将所述当前PU分割为两个或更多个子PU,以使得所述当前PU的每一子PU具有在所述参考图片的所述块中的相应子PU的装置;
用于,作为所述高级TMVP模式的第二阶段,提取所述参考图片的所述块的子PU的运动信息,且将每一组运动信息作为第二阶段运动信息指派到所述当前PU的相应子PU的装置,其中所述子PU中的每一者的所述第二阶段运动信息包含至少一个运动向量及相关联的参考索引;及
用于基于所述子PU中的每一者的所述第二阶段运动信息而单独地执行用于所述子PU中的每一者的运动补偿的装置。
24.一种存储用于处理视频数据的指令的计算机可读存储媒体,所述指令在被执行时致使一或多个处理器:
从视频块的译码单元CU的当前预测单元PU的相邻块确定所述当前PU的第一阶段运动向量以作为高级时间运动向量预测TMVP模式的第一阶段,其中所述第一阶段运动向量识别对应于所述当前PU的参考图片的块;
将所述当前PU分割为两个或更多个子PU,以使得所述当前PU的每一子PU具有在所述参考图片的所述块中的相应子PU;
作为所述高级TMVP模式的第二阶段,提取所述参考图片的所述块的子PU的运动信息,且将每一组运动信息作为第二阶段运动信息指派到所述当前PU的相应子PU,其中所述子PU中的每一者的所述第二阶段运动信息包含至少一个运动向量及相关联的参考索引;及基于所述子PU中的每一者的所述第二阶段运动信息而单独地执行用于所述子PU中的每一者的运动补偿。

说明书全文

一种处理视频数据的方法,装置及计算机可读存储媒体

[0001] 本申请案主张2013年9月26日申请的第61/883,111号美国临时专利申请案的权益, 所述临时专利申请案的全部内容以引用的方式并入本文中。

技术领域

[0002] 本发明涉及视频译码。

背景技术

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

发明内容

[0006] 大体来说,本发明描述用于高效视频译码(HEVC)标准中和HEVC标准的3D扩展中的视频译码的基于子预测单元(PU)的运动预测的技术。在一个实例中,本发明描述用于执行高级时间运动向量预测(TMVP)模式以预测对于其可允许运动向量细化的单层译码中的PU的子PU的技术。常规上,仅针对使用并不允许经预测运动向量的进一步细化的合并帧间预测模式的层间或视图间运动预测启用所述子PU设计。所述高级TMVP模式包含在至少两个阶段中确定PU的运动向量以导出包含所述PU的子PU中的每一者的不同运动向量和参考索引的所述PU的运动信息。
[0007] 3D-HEVC扩展支持多视图视频加深度格式的译码。在一个实例中,在子PU后向视图合成预测(BVSP)模式中,从视差运动向量和相关联的视图间参考图片预测当前PU的运动信息,且基于与视图间参考图片的深度块相关联的子PU运动信息细化视差运动向量。在子PU BVSP模式中,执行运动补偿以基于单独的子PU运动信息预测PU的子PU 中的每一者。常规上,在执行运动补偿以预测子PU中的每一者之后,仅存储当前PU 的视差运动向量。根据本发明的技术,对于使用子PU BVSP模式预测的每一PU,视频译码装置甚至在执行运动补偿之后也存储针对当前PU的子PU中的每一者导出的单独运动信息。针对当前PU存储的额外运动信息接着可用于预测对于其当前PU为相邻块的后续PU。
[0008] 此外,本发明描述用于将解块滤波器应用到视频块的每一译码单元(CU)以通过在子 PU边界处产生人工PU边界或人工TU边界来对包含CU内的子PU边界的变换单元(TU) 边界和PU边界进行滤波。
[0009] 在一个实例中,本发明针对一种处理视频数据的方法,所述方法包括:从视频块的 CU的PU的相邻块确定所述PU的第一阶段运动向量以作为高级TMVP模式的第一阶段,其中所述第一阶段运动向量识别对应于所述PU的参考图片的块;将所述PU分割为两个或更多个子PU;从由所述第一阶段运动向量识别的参考图片的块确定子PU中的每一者的第二阶段运动信息以作为高级TMVP模式的第二阶段,其中子PU中的每一者的第二阶段运动信息包含至少一个运动向量和相关联的参考索引;及基于子PU中的每一者的第二阶段运动信息单独地执行用于子PU中的每一者的运动补偿。
[0010] 在另一实例中,本发明针对一种视频处理装置,其包括经配置以存储视频数据的存储器;以及与存储器通信的一或多个处理器。所述一或多个处理器经配置以:从视频块的CU的PU的相邻块确定所述PU的第一阶段运动向量以作为高级TMVP模式的第一阶段,其中所述第一阶段运动向量识别对应于所述PU的参考图片的块;将所述PU分割为两个或更多个子PU;从由所述第一阶段运动向量识别的参考图片的块确定子PU中的每一者的第二阶段运动信息以作为高级TMVP模式的第二阶段,其中子PU中的每一者的第二阶段运动信息包含至少一个运动向量和相关联的参考索引;及基于子PU中的每一者的第二阶段运动信息单独地执行用于子PU中的每一者的运动补偿。
[0011] 在另一实例中,本发明针对一种视频处理装置,其包括:用于从视频块的CU的PU 的相邻块确定所述PU的第一阶段运动向量以作为高级TMVP模式的第一阶段的装置,其中所述第一阶段运动向量识别对应于所述PU的参考图片的块;用于将所述PU分割为两个或更多个子PU的装置;用于从由所述第一阶段运动向量识别的参考图片的块确定子PU中的每一者的第二阶段运动信息以作为高级TMVP模式的第二阶段的装置,其中子PU中的每一者的第二阶段运动信息包含至少一个运动向量和相关联的参考索引;及用于基于子PU中的每一者的第二阶段运动信息单独地执行用于子PU中的每一者的运动补偿的装置。
[0012] 在额外实例中,本发明针对一种计算机可读存储媒体,所述计算机可读存储媒体存储用于处理视频数据的指令,所述指令在执行时致使一或多个处理器:从视频块的CU 的PU的相邻块确定所述PU的第一阶段运动向量以作为高级TMVP模式的第一阶段,其中所述第一阶段运动向量识别对应于所述PU的参考图片的块;将所述PU分割为两个或更多个子PU;从由所述第一阶段运动向量识别的参考图片的块确定子PU中的每一者的第二阶段运动信息以作为高级TMVP模式的第二阶段,其中子PU中的每一者的第二阶段运动信息包含至少一个运动向量和相关联的参考索引;及基于子PU中的每一者的第二阶段运动信息单独地执行用于子PU中的每一者的运动补偿。
[0013] 在另一实例中,本发明针对一种处理视频数据的方法,所述方法包括:根据BVSP 模式从视频块的CU的PU的相邻块确定所述PU的第一运动信息,其中所述第一运动信息包含至少一个视差运动向量和识别视图间参考图片的相关联的参考视图索引;将 PU分割为两个或更多个子PU;确定子PU中的每一者的第二运动信息,其中所述第二运动信息包含与对应于子PU中的每一者的视图间参考图片的深度块相关联的至少一个视差运动向量;基于第二运动信息执行运动补偿以从视图间参考图片预测子PU中的每一者;及将PU的子PU中的每一者的第二运动信息存储在存储器中以用于预测后续PU。
[0014] 在另一实例中,本发明针对一种视频处理装置,其包括经配置以存储视频数据的存储器;以及与存储器通信的一或多个处理器。所述一或多个处理器经配置以:根据BVSP 模式从视频块的CU的PU的相邻块确定所述PU的第一运动信息,其中所述第一运动信息包含至少一个视差运动向量和识别视图间参考图片的相关联的参考视图索引;将 PU分割为两个或更多个子PU;确定子PU中的每一者的第二运动信息,其中所述第二运动信息包含与对应于子PU中的每一者的视图间参考图片的深度块相关联的至少一个视差运动向量;及基于第二运动信息执行运动补偿以从视图间参考图片预测子PU中的每一者。所述存储器经配置以存储PU的子PU中的每一者的第二运动信息以用于预测后续PU。
[0015] 在额外实例中,本发明针对一种视频处理装置,其包括:用于根据BVSP模式从视频块的CU的PU的相邻块确定所述PU的第一运动信息的装置,其中所述第一运动信息包含至少一个视差运动向量和识别视图间参考图片的相关联的参考视图索引;用于将 PU分割为两个或更多个子PU的装置;用于确定子PU中的每一者的第二运动信息的装置,其中所述第二运动信息包含与对应于子PU中的每一者的视图间参考图片的深度块相关联的至少一个视差运动向量;用于基于第二运动信息执行运动补偿以从视图间参考图片预测子PU中的每一者的装置;及用于将PU的子PU中的每一者的第二运动信息存储在存储器中以用于预测后续PU的装置。
[0016] 在额外实例中,本发明针对一种计算机可读存储媒体,所述计算机可读存储媒体存储用于处理视频数据的指令,所述指令在执行时致使一或多个处理器:根据BVSP模式从视频块的CU的PU的相邻块确定所述PU的第一运动信息,其中所述第一运动信息包含至少一个视差运动向量和识别视图间参考图片的相关联的参考视图索引;将PU分割为两个或更多个子PU;确定子PU中的每一者的第二运动信息,其中所述第二运动信息包含与对应于子PU中的每一者的视图间参考图片的深度块相关联的至少一个视差运动向量;基于第二运动信息执行运动补偿以从视图间参考图片预测子PU中的每一者;及将PU的子PU中的每一者的第二运动信息存储在存储器中以用于预测后续PU。
[0017] 附图及以下描述中陈述一或多个实例的细节。其它特征、目标和优点将从所述描述和图式以及权利要求书而显而易见。

附图说明

[0018] 图1是说明可利用本发明的技术的实例视频编码和解码系统的框图
[0019] 图2是说明用于界定译码单元(CU)的预测单元(PU)的八个分割模式的概念图
[0020] 图3为说明CU内的变换树结构的概念图。
[0021] 图4A和4B是分别说明用于合并模式和高级运动向量预测(AMVP)模式的空间相邻候选者的概念图。
[0022] 图5A是说明时间运动向量预测(TMVP)候选者的概念图。
[0023] 图5B是说明用于TMVP的运动向量(MV)缩放的概念图。
[0024] 图6是说明解块滤波过程的实例处理流程的流程图
[0025] 图7是说明用于解块滤波过程的边界强度(Bs)计算的实例操作的流程图。
[0026] 图8是说明用于解块滤波过程的译码树单元(CTU)边界处的Bs计算的再使用或参引的信息的概念图。
[0027] 图9是说明用于解块滤波过程的开/关滤波器决策和强/弱滤波器选择的过程中所涉及的像素的概念图。
[0028] 图10是说明针对3视图情况的多视图预测结构的概念图,其中V3表示基础视图,且非基础视图(即,V1或V5)中的图片可从相同时间实例的基础视图中的图片预测。
[0029] 图11是说明针对基于相邻块的视差向量(NBDV)导出而存取的空间相邻块的概念图,其中用于NBDV导出的空间相邻块与针对合并模式和AMVP模式存取的空间相邻块相同。
[0030] 图12是说明针对PU的不同子PU指派不同运动向量的后向视图合成预测(BVSP) 模式的概念图。
[0031] 图13是说明子PU层级视图间运动预测的概念图。
[0032] 图14A和14B是说明用以在单层译码中预测PU中的子PU的高级TMVP模式的概念图。
[0033] 图15是说明可实施本发明的技术的视频编码器的实例的框图。
[0034] 图16是说明可实施本发明的技术的视频解码器的实例的框图。
[0035] 图17是说明使用子PU BVSP模式预测当前PU和存储所确定的子PU运动信息存储的实例操作的流程图。
[0036] 图18说明将解块滤波器应用到视频块的每一CU以对包含CU内的子PU边界的TU 边界和PU边界进行滤波的实例操作的流程图。
[0037] 图19是说明用以在单层译码中预测PU的子PU的高级TMVP模式的实例操作的流程图。

具体实施方式

[0038] 本发明描述用于针对使用高效视频译码(HEVC)标准的3D扩展进行视频译码的子预测单元(PU)层级运动预测的技术。3D-HEVC扩展支持多视图视频加深度格式的译码。在多视图视频译码中,可通过相同视图中的时间参考图片和参考视图中的视图间参考图片两者预测当前视频图片。
[0039] 在一个实例中,可使用子PU后向视图合成预测(BVSP)模式执行3D-HEVC中的视图合成预测。在子PU BVSP模式中,从视差运动向量和识别视图间参考图片的相关联参考视图索引预测当前PU的运动信息。在子PU BVSP模式中,当前PU分割成两个或更多个子PU,且基于针对子PU中的每一者(基于视图间参考图片的对应深度块)导出的子PU运动信息细化视差运动向量。基于单独的子PU运动信息执行运动补偿以预测PU 的子PU中的每一者。常规上,在执行运动补偿以预测子PU中的每一者之后,仅存储当前PU的视差运动向量。
[0040] 根据本发明的技术,对于使用子PU BVSP模式预测的每一PU,视频译码装置甚至在执行运动补偿之后也存储针对当前PU的子PU中的每一者导出的单独运动信息。针对当前PU存储的额外运动信息接着可用于预测对于其当前PU为相邻块的后续PU。
[0041] 作为另一实例,本发明描述用于执行高级时间运动向量预测(TMVP)模式以在对于其可允许运动向量细化的单层译码中预测PU的子PU的技术。常规上,仅针对使用并不允许对经预测运动向量的进一步细化的合并帧间预测模式的层间或视图间运动预测启用所述子PU设计。所述高级TMVP模式包含在至少两个阶段中确定PU的运动向量以导出包含所述PU的子PU中的每一者的不同运动向量和参考索引的所述PU的运动信息。PU内的子PU的大小可为N×N或N×M,其中N和M可为任何整数。典型的子PU 大小可为4×4、8×8、4×8或8×4。
[0042] 根据本发明的技术,从当前PU的相邻块确定所述PU的第一阶段运动向量,其中所述第一阶段运动向量识别对应于当前PU的参考图片的块。类似于3D-HEVC中的子 PU运动预测,包含较小子PU的参考图片的对应区域(例如,块)的大小与当前PU的大小相同。以此方式,当前PU的子PU具有以唯一运动向量识别的参考图片的对应区域中的对应子PU。可基于空间和/或时间相邻者识别第一阶段运动向量。或者,可将第一阶段运动向量设定为恒定的,例如0或另一预定义值,且与当前PU的大小相关。在另一替代方案中,PU的子PU中的每一者可使用不同运动向量识别参考图片的其对应块。
[0043] 如上文所描述,当前PU分割成两个或更多个子PU,且针对子PU中的每一者从由第一阶段运动向量识别的参考图片的对应区域(例如块)确定第二阶段运动信息,其中子 PU中的每一者的所述第二阶段运动信息包含至少一个运动向量和相关联的参考索引。基于子PU中的每一者的第二阶段运动信息执行运动补偿以单独地预测子PU中的每一者。此高级TMVP过程可实现为激活所有其它合并候选者中的一合并候选者,这意味着产生特定合并候选者以指示需要针对当前PU完成此过程。在一些实例中,代替于纯粹在合并模式中操作,可确定运动向量差以细化子PU中的每一者的第二阶段运动信息的至少一个运动向量。
[0044] 作为另一实例,本发明描述与应用到包含具有多个子PU的至少一个PU的视频块的译码单元(CU)的解块滤波过程相关的技术。用于HEVC标准的解块滤波器未经设计以在PU内(即,沿着PU的邻近子PU之间的子PU边界)滤波,因为对于HEVC块,假定运动补偿对于整个PU是相同的。本发明的技术实现通过将子PU转换为解块友好结构以使得HEVC解块滤波器可继续用于3D-HEVC块来对子PU边界进行解块。所提议的解块技术可适用于多层编解码器,包含3D-HEVC。
[0045] 根据本发明的技术,在将解块滤波器应用到包含具有子PU的PU的视频块的CU 之前,转换CU以便在子PU边界处产生人工PU边界或人工TU边界。在一个实例中,转换CU的变换树以便使PU与变换树层级相关联,且使子PU中的每一者与TU相关联,使得子PU边界转换为人工TU边界。在另一实例中,将CU转换为译码树以便使PU与 CU相关联,且使子PU中的每一者与PU相关联,使得将子PU边界转换为人工PU边界。可接着将解块滤波器应用到CU的两个邻近PU之间的PU边界和/或CU的两个邻近TU之间的TU边界,包含人工PU边界和人工TU边界。
[0046] 视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。ITU-T H.264系列H中描述MVC的最新联合草案:视听和多媒体系统、视听服务的基础架构- 移动视频的译码、用于通用视听服务的高级视频译码,国际电信联盟(ITU)的电信标准化部,2010年3月。
[0047] 此外,已由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)完成新的视频译码标准(即,高效率视频译码(HEVC))的设计。被称作“HEVC工作草案10”或“WD10”的HEVC草案说明书在布洛斯(Bross)等人的“高效视频译码(HEVC)文本说明书草案10(用于FDIS和最后调用)(High efficiency video coding(HEVC)text specification draft 10(for FDIS&Last Call))”(ITU-T SG16WP3和 ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),瑞士日内瓦第12次会议, 2013年1月14-23日)中描述,其可从http://phenix.int-evry.fr/jct/doc_end_user/documents/ 
12_Geneva/wg11/JCTVC-L1003-v34.zip获得。
[0048] 最终标准文献作为ITU-T H.265系列H公布:视听和多媒体系统、视听服务的基础架构-移动视频的译码、高效视频译码,国际电信联盟(ITU)的电信标准化部门,2013年 4月。Il-Koo Kim等人的“高效率视频译码(HEVC)测试模型10(HM10)编码器描述(High Efficiency Video Coding(HEVC)Test Model 10(HM10)Encoder Description)”中描述的 HEVC的最近编码器描述(ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),瑞士日内瓦第12次会议,2013年1月14-23日)可从 http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1002-v3.zip 获得。
[0049] 支持3D服务的HEVC的两个扩展已经在由ITU-T视频编码专家组(VCEG)和 ISO/IEC运动图片专家组(MPEG)的3D视频译码联合合作小组(JCT-3V)开发。所述两个扩展是对HEVC的多视图扩展(MV-HEVC)和对HEVC的3D扩展(3D-HEVC)。
[0050] MV-HEVC支持对多个纹理视图的译码而无需改变HEVC的块层级设计。被称作 MV-HEVC工作草案5(WD5)且在塔克(Tech)等人的“MV-HEVC草案文本5(MV-HEVC Draft Text 5)”(ITU-T SG16 WP3及ISO/IEC JTC1/SC29/WG11的3D视频译码扩展开发联合合作小组(JCT-3V),第5次会议:奥地利维也纳,2013年7月27日到8月2日, JCT3V-E1004v6)中所描述的MV-HEVC的草案规范可从 http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zip 得到。
[0051] 3D-HEVC支持对多视图视频加深度格式的译码且包含除了HEVC译码模块之外而构建的新的译码工具。新引入的译码工具适用于纹理译码和深度译码两者。被称作 3D-HEVC工作草案1(WD1)且在塔克(Tech)等人的“3D-HEVC草案文本1(3D-HEVC Draft Text 1)”(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组(JCT-3V),第5次会议:奥地利维也纳,2013年7月27日到8月2日, JCT3V-E1001v3)中所描述的3D-HEVC的草案规范可从http://phenix.it-sudparis.eu/jct2/ doc_end_user/documents/5_Vienna/wg11/JCT3V-E1001-v3.zip得到。
[0052] 图1为说明可利用本发明的技术的实例视频编码及解码系统10的框图。如图1中所示,系统10包含源装置12,所述源装置12提供经编码视频数据以在稍后时间由目的地装置14解码。具体来说,源装置12经由计算机可读媒体16将视频数据提供给目的地装置14。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或其类似者。在一些情况下,源装置12和目的地装置14 可能经装备以用于无线通信。
[0053] 目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时将经编码视频数据直接传输到目的地装置14的通信媒体。经编码视频数据可根据通信标准 (例如,无线通信协议)来调制,且被传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线路。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它装备。
[0054] 在一些实例中,经编码数据可以从输出接口22输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码视频数据的合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取经存储的视频数据。文件服务器可以是能够存储经编码视频数据并且将所述经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。此可包含无线通道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等),或适合于存取存储于文件服务器上的经编码视频数据的以上两者的组合。经编码视频数据从存储装置的传输可能是流式传输、下载传输或两者的组合。
[0055] 本发明的技术不必限于无线应用或环境。所述技术可以应用于支持多种多媒体应用中的任一者的视频译码,例如空中协议电视广播、有线电视传输、卫星电视传输、因特网流式视频传输(例如,动态自适应HTTP流式传输(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
[0056] 在图1的实例中,源装置12包含视频源18、深度估计单元19、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30、基于深度图像的再现 (DIBR)单元31和显示装置32。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如外部相机)接收视频数据。同样,目的地装置14可以与外部显示装置介接,而非包含集成显示装置。
[0057] 图1的所说明的系统10只是一个实例。本发明的技术可由任何数字视频编码和/或解码装置执行。尽管本发明的技术一般通过视频编码装置来执行,但是所述技术还可通过视频编码器/解码器(通常被称作“编码解码器”)来执行。此外,本发明的技术还可通过视频预处理器来执行。源装置12及目的地装置14仅为源装置12在其中产生经译码视频数据以供传输到目的地装置14的此些译码装置的实例。在一些实例中,装置12、 14可以大体上对称的方式操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传播以例如用于视频流式传输、视频回放、视频广播或视频电话。
[0058] 源装置12的视频源18可包含视频俘获装置,例如摄像机、含有先前所俘获视频的视频存档及/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、所存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18是摄像机,则源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线及/或有线应用。在每一种情况下,可由视频编码器20编码所俘获、经预先俘获或计算机产生的视频。经编码视频信息可接着通过输出接口22输出到计算机可读媒体16上。
[0059] 视频源18可将视频数据的多个视图提供到视频编码器20。举例来说,视频源18可对应于相机阵列,所述相机各自具有相对于所拍摄的特定场景的唯一位置。或者,视频源18可例如使用计算机图形从不同水平相机视产生视频数据。深度估计单元19 可经配置以确定对应于纹理图像中的像素的深度像素的值。举例来说,深度估计单元19 可表示声音导航与测距(SONAR)单元、光检测与测距(LIDAR)单元或能够在记录场景的视频数据时大体上同时地直接确定深度值的其它单元。
[0060] 另外或替代地,深度估计单元19可经配置以通过比较在大体上相同时间从不同水平相机视角俘获的两个或更多个图像来间接计算深度值。通过计算图像中的大体上类似像素值之间的水平视差,深度估计单元19可近似估计场景中的各种对象的深度。在一些实例中,深度估计单元19可在功能上与视频源18集成。举例来说,在视频源18产生计算机图形图像时,深度估计单元19可例如使用用以再现纹理图像的像素及对象的z 坐标提供用于图形对象的实际深度图。
[0061] 计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络传输,或存储媒体(也就是说,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可例如经由网络传输从源装置12接收经编码视频数据且将经编码视频数据提供给目的地装置14。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可以从源装置12接收经编码视频数据并且生产容纳经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可以理解为包含各种形式的一或多个计算机可读媒体。
[0062] 目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16 的信息可包含由视频编码器20界定的语法信息,所述语法信息还供视频解码器30使用,所述语法信息包含描述块及其它经译码单元(例如,GOP)的特性及/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。在一些实例中,显示装置32可包括能够同时或大体上同时显示两个或更多个视图(例如)以向观看者产生3D视觉效果的装置。
[0063] 目的地装置14的DIBR单元31可使用从视频解码器30接收的经解码视图的纹理及深度信息再现合成视图。举例来说,DIBR单元31可依据对应深度图中的像素的值确定纹理图像的像素数据的水平视差。DIBR单元31接着可通过使纹理图像中的像素向左或向右偏移所确定的水平视差而产生合成图像。以此方式,显示装置32可以任何组合显示可对应于经解码视图及/或合成视图的一或多个视图。视频解码器30可将深度范围及相机参数的精度值提供给DIBR单元31,DIBR单元31可使用所述深度范围及相机参数恰当地合成视图。
[0064] 尽管在图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器及解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件软件以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,则MUX-DEMUX 单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0065] 视频编码器20和视频解码器30可以根据一种视频译码标准(例如目前正在开发的高效率视频译码(HEVC)标准)来操作,并且可以符合HEVC测试模型(HM)。替代地,视频编码器20及视频解码器30可根据例如替代地被称作MPEG-4第10部分高级视频译码 (AVC)的ITU-T H.264标准等其它专属或工业标准或此类标准的扩展(例如,ITU-T H.264/AVC的MVC扩展)操作。
[0066] 视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(CODEC)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如蜂窝式电话。
[0067] 最初,将论述HEVC的实例译码技术。以上参考的HEVC WD10根据例如ITU-T H.264/AVC假定视频译码装置相对于现有装置的若干额外能力。例如,虽然H.264提供九种帧内预测编码模式,但HEVC WD10可提供多达三十三种角度帧内预测编码模式加上DC及平面模式。
[0068] 在HEVC WD10和其它视频译码标准中,视频序列通常包含一连串图片。图片也可被称作“帧”。图片可以包含三个样本阵列,标示为SL、SCb以及SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可以被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。
[0069] HEVC WD10描述可被划分成包含明度及色度样本两者的译码树单元(CTU)或最大译码单元(LCU)的序列的视频帧或图片。CTU具有与H.264标准的宏块类似的目的。切片包含呈译码次序的多个连续CTU。视频帧或图片可以被分割成一或多个切片。每一 CTU可根据四叉树而分裂成译码单元(CU)。举例来说,可将作为四叉树的根节点的CTU 分裂成四个子节点,并且每一子节点又可为父节点且可分裂成另外四个子节点。最终未分裂的子节点(作为四分树的叶节点)包括译码节点,即经译码视频块。与经译码位流相关联的语法数据可定义CTU可分裂的最大次数,并且还可定义译码节点的最小大小。
[0070] CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU 的大小对应于译码节点的大小并且形状必须是正方形。CU的大小可以在从8×8像素直到具有最大64×64像素或更大的树块的大小的范围内。每一CU可含有一或多个PU及一或多个TU。举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可以在CU被跳过或经直接模式编码、帧内预测模式编码或帧间预测模式编码之间有区别。PU可分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述 CU根据四叉树被分割为一或多个TU。TU可以是正方形或非正方形形状。
[0071] HEVC WD10标准允许根据TU的变换,TU可针对不同CU而有所不同。TU的大小通常是基于针对经分割CTU或LCU界定的给定CU内的PU的大小而设置,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU 的残差样本可以使用被称为“残差四叉树”(RQT)的四叉树结构而细分成较小单元。RQT 的叶节点可被称为TU。可以变换与TU相关联的像素差值以产生变换系数,可以将所述变换系数量化。
[0072] 一般来说,PU包含与预测过程有关的数据。举例来说,当PU经帧内模式编码时, PU可包含描述用于对应于PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含界定PU的运动向量的数据。界定PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧,和/或运动向量的参考图片列表 (例如,列表0或列表1)。
[0073] 一般来说,TU用于变换及量化过程。具有一或多个PU的给定CU还可包含一或多个TU。在预测之后,视频编码器20可计算对应于PU的残差值。残差值包括像素差值,所述像素差值可变换成变换系数、经量化且使用TU进行扫描以产生串行化变换系数以用于熵译码。本发明通常使用术语“视频块”来指代CU的译码节点。在一些特定状况下,本发明还可使用术语“视频块”来指包含译码节点以及PU及TU的CTU,其还被称作LCU或CU。
[0074] 视频序列通常包含一系列视频帧或图片。图片群组(GOP)一般包括一系列一或多个视频图片。GOP可包含GOP的标头、图片中的一或多者的标头或其它处的语法数据,其描述GOP中所包含的图片的数目。图片的每一切片可包含描述用于相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块操作以便编码视频数据。视频块可以对应于CU内的译码节点。视频块可以具有固定或变化的大小,并且根据指定译码标准可以有不同大小。
[0075] 作为实例,HM WD10支持各种PU大小的预测。假设特定CU的大小是2N×2N,那么HM WD10支持2N×2N或N×N的PU大小的帧内预测,及2N×2N、2N×N、N×2N 或N×N的对称PU大小的帧间预测。HM WD10还支持用于2N×nU、2N×nD、nL×2N及 nR×2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,而将另一方向分割成25%及75%。CU的对应于25%分区的部分由“n”继之以“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2N×nU”是指经水平分割的2N×2N CU,其中顶部为2N×0.5N PU,而底部为2N×1.5N PU。
[0076] 在本发明中,“N×N”与“N乘N”可以可互换地使用,以在垂直和水平尺寸方面指代视频块的像素尺寸,例如16×16像素或16乘16像素。一般来说,16×16块将在垂直方向上具有16个像素(y=16),并且在水平方向上具有16个像素(x=16)。同样地,N×N 块一般在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可按行及列布置。此外,块不需要一定在水平方向与垂直方向上具有相同数目的像素。举例来说,块可包括N×M像素,其中M未必等于N。
[0077] 在使用CU的PU进行帧内预测或帧间预测译码之后,视频编码器20可以计算CU 的TU的残差数据。PU可包括空间域(还被称作像素域)中的像素数据且TU可包括在对残差视频数据应用变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后的变换域中的系数。残差数据可以对应于未经编码图片的像素与对应于PU 的预测值之间的像素差。视频编码器20可以形成包含用于CU的残差数据的TU,并且接着变换TU以产生用于CU的变换系数。
[0078] 在进行用于产生变换系数的任何变换之后,视频编码器20可执行变换系数的量化。量化一般是指变换系数经量化以可能减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些系数或全部相关联的位深度。举例来说,可在量化期间将n位值向下舍入到m位值,其中n大于m。
[0079] 在一些实例中,视频编码器20可利用预先界定的扫描次序来扫描经量化的变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对所述一维向量进行熵编码。视频编码器还20可对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据解码时使用。
[0080] 为了执行CABAC,视频编码器20可以向待传输的符号指派上下文模型内的上下文。上下文可涉及(例如)符号的相邻值是否为非零。了执行CAVLC,视频编码器20可针对待传输的符号选择可变长度码。可建构VLC中的码字以使得相对较短代码对应于更有可能的符号,而较长代码对应于不太可能的符号。(例如)与对待传输的每一符号使用等长度码字的情形相比较,以此方式,使用VLC可实现位节省。概率确定可基于指派给符号的上下文。
[0081] 视频编码器20可输出包含形成经译码图片及相关联数据的表示的位序列的位流。位流可包括一连串网络抽象层(NAL)单元。所述NAL单元中的每一者包含NAL单元标头且囊封原始字节序列有效负载(RBSP)。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
[0082] 不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可囊封用于经译码切片的 RBSP,第三类型的NAL单元可囊封用于补充增强信息(SEI)的RBSP,等等。PPS为可含有适用于零或更多完整经译码图片的语法元素的语法结构。囊封视频译码数据的 RBSP(与参数集及SEI消息的RBSP相对)的NAL单元可被称为视频编码层(VCL)NAL 单元。囊封经译码切片的NAL单元可在本文中被称作经译码切片NAL单元。经译码切片的RBSP可包含切片标头及切片数据。
[0083] 视频解码器30可接收位流。另外,视频解码器30可解析位流以从位流对语法元素进行解码。视频解码器30可至少部分地基于从位流解码的语法元素重构视频数据的图片。用于重构视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量来确定当前CU的PU的预测块。视频解码器30 可使用PU的一或多个运动向量来产生PU的预测块。
[0084] 另外,视频解码器30可反量化与当前CU的TU相关联的系数块。视频解码器30 可对系数块执行反变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU 的PU的预测块的预测样本添加到当前CU的TU的变换块的对应的残差样本,视频解码器30可重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器 30可重构图片。视频解码器30可将经解码图片存储在经解码图片缓冲器中,以用于输出及/或用于对其它图片进行解码。
[0085] 在MV-HEVC及3D-HEVC中,视频编码器20可产生包括一连串网络抽象层(NAL) 单元的多层位流。所述位流的不同NAL单元可与所述位流的不同层相关联。可将层界定为一组视频译码层(VCL)NAL单元及具有相同的层识别符的相关联的非VCL NAL单元。层可等效于多视图视频译码中的视图。在多视图视频译码中,层可含有具有不同时间实例的相同层的所有视图分量。每一视图分量可为视频场景的属于特定时间实例处的特定视图的经译码图片。在3D-HEVC中,层可含有特定视图的所有经译码深度图片或特定视图的经译码纹理图片。类似地,在可缩放视频译码的情形下,层通常对应于具有不同于其它层中的经译码图片的视频特性的经译码图片。此些视频特性通常包含空间分辨率及质量水平(信噪比)。在HEVC及其扩展中,可通过将具有特定时间层级的图片群组界定为子层而在一个层内实现时间可缩放性。
[0086] 对于所述位流的每一相应的层,可在不参考任何较高层中的数据的情况下对较低层中的数据进行解码。在可缩放视频译码中,例如,可在不参考增强层中的数据的情况下对基础层中的数据进行解码。NAL单元仅囊封单层的数据。如果视频解码器30可在不参考任何其它层的数据的情况下对视图中的图片进行解码,那么所述视图可被称为“基础层”。基础层可符合HEVC基础规范。因此,可从位流移除囊封位流的最高剩余的层的数据的NAL单元而不影响所述位流的剩余的层中的数据的可解码性。在MV-HEVC 及3D-HEVC中,较高的层可包含额外的视图分量。
[0087] 现将更详细地论述视频译码的一些一般特征。起初,将论述运动信息。对于每一块,一组运动信息可为可用的。一组运动信息包含用于前向及后向预测方向的运动信息。此处,前向及后向预测方向是双向预测模式的两个预测方向,且术语“前向”及“后向”不一定具有几何意义;而是,它们对应于当前图片的参考图片列表0(RefPicList0)及参考图片列表1(RefPicList1)。在仅一个参考图片列表可用于图片或切片时,仅RefPicList0 可为可用的,且切片的每一块的运动信息始终是前向的。
[0088] 对于每一预测方向,所述运动信息包含参考索引及运动向量。在一些情况下,为简单起见,运动向量自身可以假定其具有相关联的参考索引的方式被参照。参考索引用于识别当前参考图片列表(RefPicList0或RefPicList1)中的参考图片。运动向量具有水平及垂直分量。
[0089] 图片次序计数(POC)广泛在视频译码标准中用于识别图片的显示次序。虽然存在其中一个经译码视频序列内的两个图片可具有相同POC值的情况,但其通常不发生在经译码视频序列内。在多个经译码视频序列存在于位流中时,具有相同的POC值的图片可在解码次序方面彼此更靠近。图片的POC值通常用于参考图片列表建构、参考图片集的导出(如在HEVC中)及运动向量缩放。
[0090] 现将论述H.264/AVC中的一些特定技术。起初,将论述AVC中的宏块结构。在 H.264/AVC中,每一帧间宏块(MB)可以四种不同方式被分割:一个16×16MB分区、两个16×8MB分区、两个8×16MB分区或四个8×8MB分区。一个MB中的不同MB分区可具有用于每一方向(RefPicList0或RefPicList1)的不同参考索引值。在MB未被分割成四个8×8MB分区时,其在每一方向上仅具有每一MB分区的一个运动向量。在MB 被分割成四个8×8MB分区时,每一8×8MB分区可进一步被分割成子块,其中的每一者可在每一方向上具有不同的运动向量。
[0091] 存在从8×8MB分区得到子块的四种不同方式:一个8×8子块、两个8×4子块、两个4×8子块或四个4×4子块。每一子块可在每一方向上具有不同的运动向量。因此,运动向量存在于等于或高于子块层级的层级处。
[0092] 现将论述AVC中的时间直接模式。在AVC中,可在用于B切片中的跳过或直接模式的MB层级或MB分区层级处启用时间直接模式。对于每一MB分区,与当前块的 RefPicList1[0]中的当前MB分区位于同一地点的块的运动向量用于导出运动向量。位于同一地点的块中的每一运动向量基于POC距离而被缩放。
[0093] 现将论述HEVC中的一些特定技术。在HEVC中,切片中的最大译码单元(CU)被称为译码树块(CTB)。CTB包含四叉树,且四叉树的节点是CU。CTB的大小在HEVC 主规范中可以在16×16到64×64的范围内,但技术上可支持8×8CTB大小。CU的大小可以在与CTB相同的大小到小至8×8的范围内。每一CU使用一个模式进行译码。在 CU经帧间译码时,可将CU进一步分割成两个或四个预测单元(PU)或在进一步分割不适用时,CU可变为仅一个PU。在CU经帧间译码时,CU的每一PU存在一组运动信息。另外,使用唯一帧间预测模式译码CU的每一PU以导出相关联的一组运动信息。
[0094] 图2是说明用于界定CU的PU的八个分割模式33A到33H(“分割模式33”)的概念图。PU是通过分割CU而界定的在在上面应用预测的区。如图2中所展示,PU不受限于正方形形状,以便促进将CU分割成匹配图片中的实际对象的边界。每一CU包含一个、两个或四个PU,其取决于分割模式。在一些实例中,在两个PU存在于一个CU 中时,所述PU可为一半大小的矩形,如PART_2N×N 33B及PART_N×2N 33C分割模式中。在其它实例中,在两个PU存在于一个CU中时,PU可为具有CU的大小的四分之一或四分之三的大小的两个矩形,如PART_2N×nU 
33E、PART_2N×nD 33F、PART_nL×2N 33G及PART_nR×2N 33H分割模式中。PART_2N×2N 
33A及PART_N×N 33D分割模式用于经帧内译码CU。仅在对应的CU大小等于最小CU大小时允许PART_N×N 33D分割模式。
[0095] 图3是说明CU内的变换树结构34的概念图。每一CU对应于一个变换树,其为四叉树,四叉树的叶是变换单元(TU)。变换树结构34中的TU中的每一者是通过CU的四叉树分割而界定的在上面应用变换及量化过程的正方形区。如图3中所展示,TU的形状始终是正方形。TU可大至32×32样本向下到4×4样本。可在切片标头语法中调整及指定最大四叉树深度,即,变换树结构34可分裂以形成叶节点的程度。对于帧间CU, TU可大于PU,即,TU可含有PU边界。然而,对于帧内CU,TU不可越过PU边界。
[0096] 等于1的语法元素rqt_root_cbf指定当前CU存在transform_tree语法结构。等于0 的语法元素rqt_root_cbf指定当前CU不存在transform_tree语法结构。在不存在语法元素rqt_root_cbf时,推断其值等于1。在语法元素rqt_root_cbf等于0时,变换树仅含有一个节点,其意味着其不进一步分裂且split_transform_flag等于0。对于变换树内部的节点,如果其具有等于1的split_transform_flag,那么其进一步分裂成四个节点,且变换树的叶具有等于0的split_transform_flag。
[0097] 为简单起见,如果TU或变换树对应于不具有变换的块,那么其仍被视为TU或变换单元,因为即使不应用变换,变换自身的层次仍存在。通常,变换跳过块对应于变换单元。
[0098] TU的等于1的经译码块旗标(cbf)指定所述TU含有一或多个非零变换系数水平,即,不等于0。TU的等于0的CBF指定TU的所有变换系数水平等于0。设定TU的每一分量的CBF,即,设定明度(Y)及色度(Cb及Cr)分量中的每一者的CBF。
[0099] 在HEVC标准中,存在用于预测当前预测单元(PU)的运动的两个帧间预测模式,称为合并及高级运动向量预测(AMVP)模式。跳过模式被视为合并模式的特殊情况。在 AMVP或合并模式中,维持包含多个运动向量预测符的运动向量(MV)候选者列表。通过从MV候选者列表选择候选者中的一者而产生当前PU的运动向量以及合并模式中的相关联的参考索引。
[0100] 在合并模式中,MV候选者列表包含多达五个候选者。合并候选者可含有一组运动信息,例如,对应于两个参考图片列表(列表0及列表1)的运动向量及相关联的参考索引。如果通过当前PU的合并索引识别合并候选者,那么运动向量及相关联的参考图片用于当前PU的预测。
[0101] 在AMVP模式中,MV候选者列表仅包含两个候选者。AMVP候选者含有对应于两个参考图片列表(列表0及列表1)的运动向量。如果通过当前PU的AMVP索引识别 AMVP候选者,那么需要针对从列表0或列表1的每一潜在预测方向与AMVP索引一起显式地发信号通知参考索引,这是因为AMVP候选者仅包含运动向量。在AMVP模式中,可通过发信号通知运动向量差且执行运动向量缩放而进一步细化所预测的运动向量。
[0102] 如上文所描述,合并候选者包含整组运动信息,而AMVP候选者仅包含用于特定预测方向的一个运动向量及显式地发信号通知的参考索引。类似地从当前PU的相同空间及时间相邻块导出两个模式的候选者。
[0103] 图4A和4B是分别说明合并模式及AMVP模式的空间相邻候选者的概念图。从图 4A和4B中展示的相邻块导出当前PU(PU0)的空间MV候选者,但用于从块产生候选者的方法对于合并及AMVP模式是不同的。
[0104] 在合并模式中,可以图4A中展示的编号次序从PU0 90的相邻块导出多达四个空间 MV候选者。在图4A的所说明的实例中,所述次序如下:左边块(0)、上方块(1)、右上方块(2)、左下方块(3)及左上方块(4)。
[0105] 在AMVP模式中,可以图4B中展示的编号次序从PU0 92的相邻块导出多达两个空间MV候选者。PU0 92的相邻块被划分成两个群组:包含左下方块(0)及左边块(1)的左边群组,及包含右上方块(2)、上方块(3)及左上方块(4)的上方群组,如图4B上所示。对于每一群组,参照与PU0 92的显式地发信号通知的参考索引相同的参考图片的相邻块的运动向量具有被选择为形成所述群组的最终MV候选者的最高优先级。在一些实例中,有可能没有相邻块具有指向显式地发信号通知的参考图片的运动向量。如果无法找到此MV候选者,那么将缩放第一可用的运动向量以形成所述群组的最终MV候选者。在此情况下,将补偿任何时间距离差异。
[0106] 图5A是说明当前PU(PU0)94的时间运动向量预测(TMVP)候选者的概念图。将 TMVP候选者(如果被启用且可用)添加到MV候选者列表中的空间MV候选者之后。 TMVP候选者的运动向量导出的过程对于合并模式及AMVP模式两者是相同的。然而,在合并模式中,TMVP候选者的目标参考索引始终被设定成0。
[0107] TMVP候选者导出的主要块位置是PU0 94的位于同一地点的PU(PU1)96外部的右下方块,如图5A中所展示为块T 97。选择右下方块T 97来补偿对用于产生空间相邻候选者的左上方块的偏置。然而,如果右下方块T定位在PU0 94的当前LCU 98外部(即,在位置99中)或右下方块T 97的运动信息不可用,那么用于TMVP候选者导出的块被 PU0 94的中心块T 95取代。
[0108] 图5B是说明当前图片102中的当前PU 100的TMVP模式的MV缩放的概念图。从在切片层级中指示的位于同一地点的图片106的位于同一地点的PU 104导出TMVP 候选者的运动向量。类似于上文描述的AVC中的时间直接模式,可使用缩放产生当前 PU 100的TMVP候选者的运动向量,执行所述缩放以补偿位于同一地点的时间距离(即,位于同一地点的图片106与位于同一地点的参考图片107之间的距离)与当前时间差异 (即,当前图片102与当前参考图片103之间),如图5B中所展示。
[0109] 现将论述HEVC中的运动向量预测的其它方面。在运动向量缩放中,假定运动向量的值与呈现时间中的图片的距离成比例。运动向量使两个图片相关联:参考图片及含有运动向量的图片(即含有的图片)。在利用运动向量预测另一运动向量时,基于所述图片的图片次序计数(POC)值而计算含有的图片与参考图片的距离。对于被预测的运动向量,其含有的图片及相关联的参考图片两者可不同。在此情况下,计算新的距离(基于POC)。基于这两个POC距离缩放运动向量。对于空间相邻候选者,所述两个运动向量的含有的图片是相同的,而参考图片是不同的。在HEVC中,运动向量缩放适用于空间及时间相邻候选者的TMVP及AMVP两者。
[0110] 在人工运动向量候选者产生中,如果运动向量候选者列表不完整(即,小于规定的数目的候选者是可用的),那么可产生人工运动向量候选者且在列表的末尾处插入,直到所述列表包含规定的数目的候选者。在合并模式中,存在两种类型的人工MV候选者:仅针对B切片导出的组合候选者,及在第一类型未提供足够的人工候选者的情况下仅用于 AMVP的零候选者。对于已经在候选者列表中且具有必要的运动信息的每对候选者,基于参照列表0中的图片的第一候选者的运动向量及参照列表1中的图片的第二候选者的运动向量的组合而导出双向组合运动向量候选者。
[0111] 在用于候选者插入的修剪过程中,来自不同块的候选者可能恰好相同,其降低了合并/AMVP候选者列表的效率。可应用修剪过程来解决此问题。修剪过程比较一个候选者与当前候选者列表中的其它候选者以避免在某些情形中插入相同的候选者。为减小复杂度,可应用仅有限数目的修剪过程,而是将每一潜在候选者与所有其它现有的候选者进行比较。
[0112] 现将描述HEVC中的解块滤波过程。以与解码过程相同的次序针对视频块的每一 CU执行解块滤波过程。首先,垂直边缘经滤波(即,水平滤波)且随后水平边缘经滤波(即,垂直滤波)。将解块滤波应用到所述CU内的确定被滤波的块边界(针对明度及色度分量两者)。在一些实例中,8×8块边界经滤波而4×4块边界不被处理以便减小复杂度。在解块滤波过程中涉及两个种类的边界:TU边界及PU边界。还考虑CU边界,因为CU边界一定也是TU及PU边界。
[0113] 图6是说明解块滤波过程的实例处理流108的流程图。边界可具有三个滤波状态值:无滤波、弱滤波及强滤波。每一滤波决策是基于边界强度Bs及阈值β及tC。
[0114] 图7是说明用于解块滤波过程的边界强度(Bs)计算110的实例操作的流程图。边界强度(Bs)反映边界可需要多强的滤波过程。例如,Bs值2指示强滤波,Bs值1指示弱滤波,且Bs值0指示无解块滤波。
[0115] 使P及Q界定为滤波中涉及的块,其中P表示定位在待解块的边界的左边(在垂直边缘情况中)或上方(在水平边缘情况中)的块,且Q表示定位在待解块的边界的右边(在垂直边缘情况中)或上方(在水平边缘情况中)的块。图7中说明的操作指示如何基于帧内译码模式、非零变换系数的存在、参考图片、运动向量的数目及运动向量差来计算Bs 值。
[0116] 图8是说明用于解块滤波过程的在译码树单元CTU)边界113处的网格112中的像素之间的Bs计算的再使用或参考的信息的概念图。基于4×4块而计算Bs,但其再映射到8×8网格。由4×4网格中的线组成的对应于8个像素的Bs的两个值中的最大值被选择为8×8网格中的边界的Bs。在CTU边界113处,如图8中所描绘,再使用关于左边或上方的每隔一个块(4×4网格上)的信息以便降低线缓冲器存储器要求。
[0117] 在滤波器开/关决策、强及弱滤波器选择及弱滤波过程中涉及阈值β′及tC′。从明度量化参数Q的值导出所述阈值,如下表1中所展示。
[0118] 表1-从输入Q导出阈值变量
[0119]Q 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
β′ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 7 8
tC′ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Q 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 β′ 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 34 36 tC′ 1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4
Q 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53       β′ 38 40 42 44 46 48 50 52 54 56 58 60 62 64 - -       tC′ 5 5 6 6 7 8 9 10 11 13 14 16 18 20 22 24       [0120] 如下从β′导出变量β:
[0121] β=β′*(1<<(BitDepthY-8))
[0122] 如下从tC′导出变量tC:
[0123] tC=tC′*(1<<(BitDepthY-8))
[0124] 图9是说明在用于边界114处的解块滤波过程的开/关滤波器决策及强/弱滤波器选择中涉及的P块116及Q块117中的像素的概念图。使用越过边界114的四个像素线作出滤波器开/关决策,所述四个像素线各自被分组为单元(在图9中使用黑色带轮廓方框展示)以减小计算复杂度。包含在第一组四个线118中的两个方框中的每一者中的六个像素用于确定滤波器针对第一组四个线118是开还是关。包含在第二组四个线119中的两个方框中的每一者中的六个像素用于确定滤波器针对第二组四个线119是开还是关。
[0125] 针对开/关滤波器决策界定以下变量:
[0126] dp0=|p2,0-2*p1,0+p0,0|
[0127] dp3=|p2,3-2*p1,3+p0,3|
[0128] dq0=|q2,0-2*q1,0+q0,0|
[0129] dq3=|q2,3-2*q1,3+q0,3|
[0130] 如果dp0+dq0+dp3+dq3<β,那么开启对第一组四个线118的滤波,且强/弱滤波器选择过程。如果不满足此条件,那么不针对第一组四个线118进行滤波。
[0131] 另外,如果满足所述条件,那么如下设定变量dE、dEp1及dEp2:
[0132] dE设定为等于1
[0133] 如果dp0+dp3<(β+(β>>1))>>3,那么变量dEp1设定为等于1
[0134] 如果dq0+dq3<(β+(β>>1))>>3,那么变量dEp1设定为等于1
[0135] 以与上文针对第二组四个线119所描述的类似方式作出滤波器开/关决策。
[0136] 如果开启滤波,那么在强及弱滤波之间作出决策。所涉及的像素与用于滤波器开/ 关决策的像素相同,如图9中所描绘。如果满足以下两组条件,那么将强滤波器用于第一组四个线118的滤波。否则,使用弱滤波器。
[0137] (1)2*(dp0+dq0)<(β>>2),|p30-p00|+|q00-q30|<(β>>3)且|p00-q00| <(5*tC+1)>>1
[0138] (2)2*(dp3+dq3)<(β>>2),|p33-p03|+|q03-q33|<(β>>3)且|p03-q03| <(5*tC+1)>>1
[0139] 以类似方式作出是否针对第二组四个线119选择强或弱滤波的决策。
[0140] 对于强滤波,通过以下等式获得经滤波的像素值。应注意,使用四个像素作为P块 116及Q块117中的每一者的输入来修改三个像素。
[0141] p0'=(p2+2*p1+2*p0+2*q0+q1+4)>>3
[0142] q0'=(p1+2*p0+2*q0+2*q1+q2+4)>>3
[0143] p1'=(p2+p1+p0+q0+2)>>2
[0144] q1'=(p0+q0+q1+q2+2)>>2
[0145] p2'=(2*p3+3*p2+p1+p0+q0+4)>>3
[0146] q2'=(p0+q0+q1+3*q2+2*q3+4)>>3
[0147] 对于弱滤波,通过以下等式获得经滤波的像素值。应注意,使用三个像素作为P块 116及Q块117中的每一者的输入来修改两个像素。
[0148] 如下界定Delta(Δ)。
[0149] Δ=(9*(q0-p0)-3*(q1-p1)+8)>>4
[0150] 在abs(Δ)小于tC*10时,
[0151] Δ=Clip3(-tC,tC,Δ)
[0152] p0'=Clip1Y(p0+Δ)
[0153] q0'=Clip1Y(q0-Δ)
[0154] 如果dEp1等于1,
[0155] Δp=Clip3(-(tC>>1),tC>>1,(((p2+p0+1)>>1)-p1+Δ)>>1)
[0156] p1'=Clip1Y(p1+Δp)
[0157] 如果dEq1等于1,
[0158] Δq=Clip3(-(tC>>1),tC>>1,(((q2+q0+1)>>1)-q1-Δ)>>1)
[0159] q1'=Clip1Y(q1+Δq)
[0160] 上文所描述的解块决策是针对对明度分量进行滤波。用于色度滤波的边界强度Bs 是从明度继承。如果Bs>1,那么执行色度滤波。不针对色度执行滤波器选择过程,这是因为仅可应用一个滤波器。如下导出经滤波的样本值p0'及q0'。
[0161] Δ=Clip3(-tC,tC,((((q0-p0)<<2)+p1-q1+4)>>3))
[0162] p0'=Clip1C(p0+Δ)
[0163] q0'=Clip1C(q0-Δ)
[0164] 现将论述3D-HEVC中的一些特定技术。HEVC标准的3D视频扩展(3D-HEVC)正由 JCT-3V开发。3D-HEVC扩展支持多视图视频加深度格式的译码。
[0165] 图10是说明3视图情况的多视图预测结构120的概念图,其中V3表示基础视图且可从相同时间实例的基础视图中的图片预测非基础视图(即,V1或V5)中的图片。HEVC 的多视图扩展(MV-HEVC)支持使用图10中说明的多视图预测结构120的视图间样本预测。MV-HEVC及3D-HEVC两者以基础或纹理视图(即,V3)可由HEVC解码器解码的方式与HEVC相容。
[0166] 在MV-HEVC中,可通过相同视图中的图片及相同时间实例的参考视图中的图片两者通过将所有这些图片包含在当前图片的参考图片列表中来预测非基础视图(即,V1或 V5)中的当前图片。因此,当前图片的参考图片列表含有时间参考图片及视图间参考图片两者。与对应于时间参考图片的参考索引相关联的运动向量被标示为时间运动向量。与对应于视图间参考图片的参考索引相关联的运动向量被标示为视差运动向量。
[0167] 3D-HEVC扩展支持MV-HEVC的所有特征,使得3D-HEVC也支持视图间样本预测。另外,3D-HEVC扩展支持更高级的仅纹理译码工具及深度相关/相依译码工具,其不被 MV-HEVC扩展支持。仅纹理译码工具可要求识别属于相同对象的视图之间的对应块。因此,视差向量导出是3D-HEVC中的基本技术。
[0168] 多视图译码技术的一个关键方面是通过精确及有效地导出视差向量来识别不同视图的对应块。在3D-HEVC中,以类似于HEVC中的AMVP及合并模式的方式设计基于相邻块的视差向量(NBDV)导出。然而,纯粹从相邻块导出视差向量,因此不需要额外的位来用于对视差向量的进一步细化或缩放。在启用视图间样本预测时,对应于视图间参考图片的运动向量(即,视差运动向量)已经与正常的运动向量(即,时间运动向量)一起存在于当前块的运动字段中。NBDV导出的基本想法是通过仅检查空间及时间相邻块而利用运动字段中的视差运动向量。
[0169] 图11是说明为了当前块122的NBDV导出而存取的空间相邻块的概念图,其中用于NBDV导出的空间相邻块与针对合并模式及AMVP模式存取的空间相邻块相同。为了NBDV存取的空间相邻块A0、A1、B0、B1及B2与针对AMVP及合并模式存取的空间相邻块相同,如图4A和4B及图11中所展示。
[0170] 然而,高度可能的是,不存在具有任何相关联的视差运动向量的当前块122的空间相邻块。在此情况下,还检查时间相邻块。当前块122的时间相邻块是如TMVP模式中使用的位于同一地点的图片以及另外可具有更好的机会使用视差运动补偿的另一图片 (例如,随机存取图片或具有最低temporalId的图片)中的块。对于每一时间图片,类似于图5A中说明的TMVP模式,检查中心及右下方的块。依序检查当前块122的所有空间及时间相邻块。一旦识别视差运动向量,导出当前块122的视差向量以与所识别的视差运动向量相同且NBDV导出过程终止。当前块122的视差向量用于识别如(例如)视图间运动预测及视图间残差预测中的参考视图的图片中的视图间参考块。
[0171] 在3D-HEVC中,可有可能存储一些经导出视差向量以作为NBDV导出的结果以进一步用于相邻块。所述经导出视差向量被称为隐式视差向量(IDV)。例如,如果NBDV 导出未从相邻块识别任何视差运动向量,那么可再次检查空间相邻块以识别空间相邻块的任何可用的IDV以用于导出当前块122的最终视差向量。最近,3D-HEVC还通过检查更少的空间及时间相邻块而包含NBDV方法的简化。
[0172] 通过两个主要技术模块实现3D-HEVC中的视图合成预测(VSP):深度定向的 NBDV(Do NBDV)及后向视图合成预测(BVSP)。
[0173] 在Do-NBDV导出中,可使用经译码深度图中的信息进一步细化由NBDV方案产生的视差向量。以此方式,可通过利用在基础视图深度图中译码的信息来增强视差向量的准确度。可如下描述细化步骤:
[0174] 1.基于由NBDV方案针对相同存取单元的先前经译码参考深度视图图片中(例如在基础视图中)的当前PU导出的视差向量而定位对应的深度块;所述对应的深度块的大小与当前PU的大小相同。
[0175] 2.基于四个隅角像素深度值的最大值从对应的深度块计算当前PU的视差向量。所述最大值被设定成等于所计算的视差向量的水平分量,而视差向量的垂直分量被设定成零。
[0176] 来自NBDV方案的视差向量随后被来自Do-NBDV方案的此新导出的视差向量取代,且细化的视差向量(来自Do-NBDV)用于当前PU的视图间运动预测。然而,未细化的视差向量(来自NBDV)可以用于当前PU的视图间残差预测。另外,细化的视差向量可在其是在BVSP模式中被译码的情况下被存储为当前PU的一个运动向量。
[0177] BVSP模式被实现为具有其设定成视差运动向量的起始运动向量的特殊合并模式候选者。此候选者被称为BVSP候选者。在当前PU的空间相邻块是在BVSP模式中被译码时,来自相邻块的相关联的视差向量及参考视图索引用于界定当前PU的额外BVSP 候选者。从此空间相邻块导出的空间合并模式候选者以等于1的BVSP旗标被加标签。
[0178] 图12是说明指派当前图片125中的当前PU 126的不同子PU的不同运动向量的 BVSP模式124的概念图。在本发明中,3D-HEVC中的当前模式可被称为子PU BVSP 模式。在BVSP模式中,从当前PU 126的空间或时间相邻块确定当前PU 126的第一运动信息。如上文所描述,可选择所述第一运动信息以作为合并模式候选者列表中的BVSP 候选者。所述第一运动信息包含视差运动向量及识别视图间参考图片128的相关联的参考视图索引。BVSP模式的此第一步骤可大体类似于上文描述的NBDV导出。
[0179] 当前PU 126随后进一步被分割成子区或子PU。例如,其大小由N×M标示的PU 可进一步被分割成若干子区或具有等于K×L的大小的子PU(其中K及L可为8或4,但两者不都为4)。对于每一子区或子PU,确定第二运动信息,所述第二运动信息包含通过存取与由与第一视差向量相关联的参考视图索引识别的视图间参考图片128相关联的参考深度视图图片
129中的深度块130中的对应一者而导出的单独的视差运动向量。更具体来说,对于当前PU 
126的每一子PU,深度块130中的所述对应一者的四个隅角像素的最大值被选择且转换成子PU的视差运动向量的水平分量;所述视差运动向量具有等于零的垂直分量。BVSP模式的此第二步骤可大体类似于上文描述的Do-NBDV导出。
[0180] 在当前PU 126的每一子区或子PU具有其被预测的运动信息之后,可使用HEVC 的运动补偿引擎基于每一子PU的第二运动信息从视图间参考图片128预测当前PU 126 的每一子区或子PU。在BVSP模式中,在执行运动补偿以预测当前PU 126的每一子PU 之后,仅为当前PU 126存储包含在为当前PU 126选择的第一运动信息中的第一视差运动向量,且丢弃包含在所述子PU的所述第二运动信息中的单独的视差向量。
[0181] 在BVSP模式下,每一PU可具有一组以上运动信息,意味着PU内部的子PU可具有不同的运动向量。此不同于其中每一PU仅具有一组运动信息的HEVC。通常在BVSP 模式中,虽然PU内部的子PU可具有不同的运动向量,但所述子PU的参考索引值是相同的。BVSP模式的复杂度增加主要在于增加的电力消耗,且最差情况的复杂度类似于 HEVC运动补偿,只要子PU的大小以及双向预测状态永不小于在HEVC中启用的运动补偿块的大小便如此。
[0182] 在3D-HEVC中,在相关联的纹理视图之后译码深度视图。在译码深度视图中的PU 时,所述PU的位于同一地点的区内的纹理视图的运动信息可产生当前PU的合并候选者。在此情况下,合并候选者可被称为运动参数继承(MPI)候选者,其含有整组运动信息。
[0183] 在JCT3V-E0184,安吉成(Jicheng An)等人的“3D-CE3.h相关:子PU层级视图间运动预测(3D-CE3.h related:Sub-PU level inter-view motion prediction)”(ITU-T SG 16 WP 3 及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展联合合作小组,第5次会议:奥地利维也纳,2013年7月27日到8月2日)中,针对视图间合并候选者(即,从视图间参考图片中的参考块导出的候选者)描述子PU层级视图间运动预测方法的使用。
[0184] 图13是说明当前视图(V1)132中的当前PU 134的子PU层级视图间运动预测131 的概念图。在启用视图间运动预测模式时,当前PU 134可对应于具有与由参考视图 (V0)136中的视差向量识别的当前PU相同大小的参考区域。在一些情况下,参考区域可具有比产生当前PU 134的仅一组运动信息所需的运动信息更丰富的运动信息。因此提出子PU层级视图间运动预测(SPIVMP)方法,其中当前PU 134被分割成多个子PU,且使用视差向量(DV)识别当前PU 134的子PU中的每一者的参考视图(V0)136中的参考块138。在SPIVMP模式中,当前PU 134的子PU中的每一者具有从参考块138复制的整组运动信息,使得当前PU 134可含有多组运动信息。还可发信号通知SPIVMP模式以作为特殊合并模式候选者,类似于上文描述的子PU BVSP模式。
[0185] 在2013年7月24日申请的陈莹(Ying Chen)及张力(Li Zhang)的标题为“用于3D视频译码的高级运动预测(ADVANCED MOTION PREDICTION FOR 3D VIDEO CODING)”的第61/858,089号美国临时申请案中,提出还可以类似于子PU层级视图间运动预测的方式扩展MPI候选者。例如,如果当前深度PU具有含有多个PU的位于同一地点的区,那么可将当前深度PU分离成子PU,其中的每一者可具有不同组运动信息。此方法可被称为子PU MPI。
[0186] 3D-HEVC中的子PU设计(包含上文描述的子PU BVSP、子PU视图间运动预测及子PU MPI)可经历一些问题。
[0187] 首先,如上文所描述,在子PU BVSP模式中,执行运动补偿以基于根据由针对当前PU选择的视差运动向量识别的视图间参考图片的对应深度块而导出的单独的子PU 运动信息来预测当前PU的子PU中的每一者。然而,在执行运动补偿以预测所述子PU 中的每一者之后,仅存储当前PU的对应于每一参考图片列表的视差运动向量。在此情况下,在使用当前PU预测后续PU时,当前PU的子PU被看作具有相同的运动向量,使得子PU BVSP模式对于提高运动向量预测的准确度具有极少的影响。
[0188] 其次,仅在启用层间预测时启用当前子PU设计。然而,子PU设计可适用于提高单层预测中的运动补偿使用的准确度。另外,当前子PU设计仅适用于其中不允许对候选运动向量的进一步细化的合并帧间预测模式。因此,不可针对其中允许运动细化的运动预测模式(例如,用于基于HEVC的编解码器的AMVP模式)启用当前子PU设计。
[0189] 第三,HEVC中使用的解块滤波器通常在HEVC扩展(包含3D-HEVC)中保持不变。然而,HEVC中的当前解块滤波器设计可不对子PU的边界进行滤波,因为在HEVC中假设一个PU内部的相同TU中的块是作为一个单一图片的整个块被运动补偿的。在此情况下,预期不存在成块假影或从PU内移除成块假影。为了在不改变3D-HEVC扩展中的解块滤波器设计的情况下对子PU边界进行解块,本发明描述在应用解块滤波过程之前将子PU转换为解块友好结构。例如,在解块滤波过程之前,利用子PU设计的每一PU可被转换成一或多个译码树,其中每一子PU可变为作为相应的译码树的节点的 CU中的PU。在此实例中,所述译码树结构与HEVC语法设计相容。
[0190] 然而,以上解决方案可出现一些额外问题。作为第一实例,如果已经使用正常帧间预测译码预测单元A(PU A),且使用子PU译码与PU A在相同CU内的另一预测单元(PU B),那么所述PU将需要被转换为两个CU且可在未被子分割的PU A内部发生滤波。作为第二实例,在针对包含具有子PU的至少一个PU的整个CU应用一个TU时,可将所述CU转换成多个CU,HEVC不支持具有相同TU的多个CU。
[0191] 本发明描述用以解决上文所描述的问题的若干技术。
[0192] 相对于上文描述的第一问题,在3D-HEVC中的子PU BVSP模式中,在执行运动补偿以基于根据由针对当前PU选择的视差运动向量识别的视图间参考图片的对应深度块而导出的单独的子PU运动信息来预测当前PU的子PU中的每一者之后,仅存储当前 PU的对应于每一参考图片列表的视差运动向量。针对每一参考图片列表存储单一视差运动向量,即使所述PU的所述运动补偿是基于包含在针对当前PU的多个子PU而导出的单独的运动信息中的多个运动向量也如此。
[0193] 根据本发明的技术,对于使用子PU BVSP模式预测的每一PU,视频译码装置(即,视频编码器20和/或视频解码器30)甚至在执行运动补偿之后保留(例如,存储或维持) 针对当前PU的子PU中的每一者导出的单独的运动信息。作为实例,视频编码器20和 /或视频解码器30可将针对所述子PU中的每一者导出的视差运动向量与包含由与当前 PU的视差运动向量相关联的参考视图索引识别的视图间参考图片的参考图片列表一起存储在例如经解码图片缓冲器等存储器中。
[0194] 为当前PU存储的额外的较丰富的运动信息接着可用于预测当前PU对于其是相邻块的后续PU。例如,视频编码器20和/或视频解码器30可产生用于预测后续PU的运动信息的合并模式候选者列表,其包含当前PU的子PU中的至少一者的所存储的运动信息以作为合并模式候选者列表中的子PU BVSP候选者。在一个实例中,如果在子PU BVSP模式中译码后续PU,那么视频编码器20和/或视频解码器30可不需要导出后续 PU的所述子PU中的每一者的单独的运动信息。而是,视频编码器20和/或视频解码器 30可替代地从用于预测后续PU的子PU的运动信息的合并模式候选者列表选择单独的运动信息以作为子PU BVSP候选者。下文相对于图17更详细地描述在子PU BVSP模式中预测PU及存储为所述PU的子PU中的每一者导出的运动信息的操作。
[0195] 相对于上文描述的第二问题,本发明描述用于执行高级TMVP模式以在对于其可允许运动向量细化的单层译码中预测PU的子PU的技术。视频编码器20和/或视频解码器 30可经配置以执行所述高级TMVP模式,其包含在至少两个阶段中确定PU的运动向量以导出所述PU的运动信息,所述运动信息包含所述PU的子PU中的每一者的不同运动向量及参考索引。
[0196] 图14A和14B是说明用以预测单层译码中的PU中的子PU的高级TMVP模式的概念图。如图14A中所说明,所述高级TMVP模式的第一阶段170确定识别当前图片中的当前PU 173的参考图片中的对应块174的运动向量,且所述高级TMVP模式的第二阶段172从所述参考图片中的对应块174的子PU提取多组运动信息,且将所述组运动信息中的每一者指派到当前图片中的当前PU 173的所述子PU中的一者。当前PU 173 的每一子PU因此被单独地运动补偿。
第一阶段170中的运动向量可从当前PU 173的空间及时间相邻块导出。在一个实例中,可将第一阶段运动向量选择为所有其它合并模式候选者中的合并模式候选者,其可包含或可不包含类似于HEVC中的TMVP候选者的候选者。在另一实例中,可将第一阶段运动向量选择为所有其它AMVP模式候选者中的 AMVP模式候选者且经细化。在此实例中,在子PU遇到每一预测方向的不可用的运动向量时,可使用代表性运动向量。
[0197] 适用于单层译码及子PU TMVP,视频编码器20或视频解码器30可确定使用MV 候选者列表的运动预测符索引发信号通知的PU或CU的运动细化数据,例如运动向量差。在一个实例中,对于每一预测方向,可确定单一运动向量差,且适用于所述子PU 或PU的所有运动向量。在另一实例中,对于每一预测方向,可确定所述子PU或PU中的每一者的单独的运动向量差。另外,对于每一水平分量或垂直分量,可变换运动向量差值,且可类似于视频编解码器中的像素残差对所得的变换系数进一步量化或截断及译码。
[0198] 在另一实例中,类似于HEVC,在将子PU MV候选者添加到AMVP模式候选者列表而不添加到合并模式候选者列表时,可将子PU运动向量的运动细化数据从视频编码器20发射到视频解码器30。在一个替代性实例中,仅在与所述子PU或PU的所有运动向量相关联的参考索引值相同的情况下子PU MV候选者可适用。在另一替代实例中,子PU MV候选者可始终适用且显式地发射与所述子PU的所有运动向量相关联的参考索引值。另外,如果运动向量差值的量化或变换适用,那么可朝向一个固定参考图片缩放运动向量。在收集运动向量差之后,将所述差添加到经缩放运动向量。然后,新的运动向量朝向由所述子PU或PU的不同参考索引值识别的它们的相应的不同参考图片而被缩放回。
[0199] 以下部分针对其中与子PU或PU的运动向量相关联的参考索引值是不同的情况提供关于上文描述的高级TMVP模式的实例实施细节。将首先论述第一阶段运动向量的识别。从当前PU的含有时间运动向量的空间相邻块转换第一阶段运动向量。所述空间相邻块属于用于典型运动向量预测的空间相邻块,例如,使用HEVC的AMVP及合并中的块。
[0200] 在空间相邻块具有与不同的参考索引值相关联的候选运动向量时,应用以下决策过程中的一者以决定使用哪一参考索引识别从其确定子PU层级运动信息的参考图片。
[0201] 1.选择具有最小参考索引值的块。其中,选择较早存取的块以返回时间运动向量作为“第一阶段向量”。假定所述块是基于所述块的相对空间位置以给定次序而存取的。
[0202] 2.选择具有最小参考索引值的块。这些块的运动向量被平均(如果有一个以上)为“第一阶段向量”,可替代地使用中间操作。
[0203] 3.选择相邻块的参考索引中具有最高频率的参考索引。在具有所述参考索引的块中,选择首先存取的运动向量,或使用所述运动向量的平均值(例如,中间值)作为“第一阶段向量”。或者,可应用其它数学函数以获得第一阶段运动向量。
[0204] 4.选择具有到当前图片最近的POC距离的参考索引。在具有所述参考索引的块中,选择首先存取的运动向量,或使用所述运动向量的平均值(例如,中间值或其它数学函数) 作为“第一阶段向量”。
[0205] 5.在切片标头中发信号通知主要参考索引,且使用类似于上文描述的方法的方法选择等于所述主要参考索引的参考索引的块以产生“第一阶段向量”。在没有块具有等于所述主要参考索引的参考索引时,可使用上文描述的选择参考索引的方法。
[0206] 6.由于用于TMVP的图片对于每一切片通常是固定的,如在AVC及HEVC中,所以主要参考索引可与指示TMVP的参考索引相同。
[0207] 7.以上参考索引可为到RefPicList0或RefPicList1的索引。或者,可通过RefPicList0 及RefPicList1产生参考图片列表并集(RefPicListU),且所述参考索引可为到RefPicListU 的索引。应注意,由RefPicListU识别的任何图片属于RefPicList0或ReficList1或这两者,且不存在属于RefPicListU但不在RefPicList0或RefPicList1中的图片。RefPicListU 不具有两个相同图片。或者且另外,RefPicListU可仅含有在相同层内或被标记为短期图片的时间参考图片。
[0208] 8.或者,可从合并模式候选者选择参考索引及“第一阶段向量”。
[0209] a.在一个实例中,参考索引及“第一阶段向量”选自从一个相对块位置(例如,左边相邻块)导出的一个空间合并模式候选者。
[0210] b.或者,可从合并模式候选者列表中的第一可用的候选者选择参考索引及“第一阶段向量”。
[0211] c.此外,在选定的合并候选者使用双向预测时,可从合并组的运动信息中的一者选择运动向量及参考索引。
[0212] 在识别参考索引及“第一阶段向量”时,用于确定子PU运动信息的参考图片也被识别为对应于当前PU的参考图片中的区。在一种情况下,参考索引可指示将不同于所述图片的参考图片用于TMVP,这例如归因于所述参考索引被导出且用于TMVP的图片被显式地发信号通知。在此情况下,可改变所述参考索引以识别用于TMVP的图片,且可基于POC距离朝向用于TMVP的图片缩放所述运动向量。
[0213] 在以上描述中,对“第一阶段向量”的识别仅利用空间相邻块。或者,时间相邻块可用于识别“第一阶段向量”,其中时间相邻块的位置类似于NBDV中使用的块。所述位置包含当前PU的中心位置或当前PU的右下方位置,每一者位于所识别的参考图片中。
[0214] 现将论述用于TMVP的子PU运动的产生。当前PU的每一子PU可将对应的子PU 定位在由“第一阶段向量”识别的参考图片的对应块内。针对当前PU中的子PU中的每一者产生从参考图片的对应子PU内的运动信息导出的一组运动信息,其类似于上文描述的子PU层级视图间运动预测。如果对应子PU的运动信息不可用,那么“第一阶段向量”可以用于当前PU的子PU以作为替代物。由于每一子PU可具有每一预测方向的不同参考索引,所以提出若干技术以用于将运动向量缩放到每一参考图片列表的目标参考图片。
[0215] 如图14B中所说明,由运动源参考图片182的对应子PU 185内部的运动向量186 识别的参考图片183是PicOri,含有对应子PU 185的参考图片(即,运动源图片)182是 PicT,当前图片180是PicCur且目标参考图片184是PicTarg。出于论述的目的而假设运动向量186是MV,且经缩放运动向量是MV'(即,用于预测当前图片180中的PU 181 的子PU的运动向量预测符188)。应注意,在高级TMVP模式的第一阶段中所识别的时间运动向量187与不是从其导出子PU运动信息的图片的参考图片相关联时,基于POC 距离缩放运动向量也可为可能的。
[0216] 1.朝向当前图片的固定参考索引缩放运动向量:MV'=MV*(POC(PicTarg)- POC(PicCur))/(POC(PicOri)-POC(PicT)),其中POC()函数返回给定图片的POC值。应注意,可以与HEVC TMVP中类似的方式简化以上乘法及偏差操作。
[0217] a.固定参考索引对于整个切片可为相同的,例如,其可与在HEVC中一样设定成等于0。
[0218] b.可从空间相邻块导出固定参考索引。
[0219] 2.始终朝向对应子PU的参考图片缩放运动向量,其为PicOri:MV'=MV* (POC(PicOri)-POC(PicCur))/(POC(PicOri)-POC(PicT))。
[0220] 3.始终朝向位于同一地点的图片缩放运动向量,其为PicT:MV'=MV*(POC(PicT) -POC(PicCur))/(POC(PicOri)-POC(PicT))。
[0221] 如上文所指示,来自每一参考图片列表的目标参考图片设定成参考图片列表中的具有等于0的参考索引的参考图片。在另一实例中,来自每一参考图片列表的目标参考图片设定成如上文所描述与“第一阶段向量”一起识别的相同参考图片。下文相对于图19 更详细地描述用于子PU层级运动向量预测的高级TMVP的操作。
[0222] 相对于上文描述的第三问题,本发明描述与应用到包含具有多个子PU的至少一个 PU的视频块的CU的解块滤波过程相关的技术。本发明的技术使得能够通过将子PU转换为解块友好结构而将子PU边界解块,使得HEVC解块滤波器可继续用于3D-HEVC 块。以此方式,解块滤波器的输入可改变以使得能够沿着子PU边界对块状假影进行滤波,同时保持解块滤波器不变。在本发明中,至少部分使用子PU译码的CU被称作高级CU,且使用被译码的高级CU内的子PU译码的PU涉及高级PU。高级CU中的其它PU(如果有)被称作正常PU。
[0223] 本发明中描述若干技术以将子PU的边缘引入到解块滤波器以便消除沿着子PU边界的假影。如在本发明中所描述的子PU转换过程可恰在解块滤波过程之前(即,在重构视频块以用于存储为参考图片之后但在实际上将经重构视频块存储在视频编码器20和/ 或视频解码器30的经解码图片缓冲器中之前)在3D-HEVC中引入。
[0224] 在第一实例中,恰在将解块滤波器应用到包含具有子PU的PU的CU之前,视频编码器20和/或视频解码器30可经配置以将利用子PU设计的每一PU转换为一或多个译码树,使得子PU中的每一者可变为是译码树的节点的译码单元中的PU。在此实例中,出于解块滤波器目的,子PU边界被转换成人工PU边界。译码树结构优选与HEVC语法设计相容。
[0225] 在其它实例中,在将解块滤波器应用到包含具有子PU的PU的视频块的CU之前,视频编码器20和/或视频解码器30可经配置以替代地转换所述CU以便在子PU边界处产生人工PU边界或人工TU边界。在一个实例中,视频编码器20和/或视频解码器30 可经配置以转换所述CU的变换树以便使所述PU与变换树层次相关联且使子PU中的每一者与TU相关联。在此实例中,出于解块滤波器的目的,子PU边界被转换成人工 TU边界。在另一实例中,视频编码器20和/或视频解码器30可经配置以将所述CU转换为译码树以便使所述PU与CU相关联且使子PU中的每一者与PU相关联。在此实例中,出于解块滤波器的目的,子PU边界被转换成人工PU边界。译码树结构优选与HEVC 语法设计相容。
[0226] 在以上实例中的任一者中,在将子PU转换为解块友好结构之后,可将解块滤波器应用到CU的两个邻近PU之间的PU边界及/或CU的两个邻近TU之间的TU边界,包含人工PU边界及人工TU边界。
[0227] 对于上文描述的其中CU的变换树经转换以便使PU与变换树层次相关联且使子PU 中的每一者与TU相关联以使得将子PU边界转换成人工TU边界的实例,可应用以下决策过程中的一或多者。
[0228] 1.在变换树具有拥有等于1的split_transform_flag的根时,对应于高级CU的正常 PU(如果存在)的节点不改变。
[0229] 2.在变换树具有拥有等于1的split_transform_flag的根时,改变高级PU中的节点以如下引入变换树层次:
[0230] a.对于当前节点,如果split_transform_flag是0,且TU大小大于子PU大小,那么将split_transform_flag设定为1,且对于四个子节点中的每一者,以下适用:
[0231] i.将节点的cbf_luma、cbf_cb及cbf_cr设定成与父节点的相同,且将split_transform_flag设定成等于0;
[0232] ii.将当前节点设定为子节点,且去往步骤a。
[0233] b.对于当前节点,如果split_transform_flag是1,那么对于四个子节点中的每一者,以下适用:将当前节点设定为子节点,且去往步骤a。
[0234] 3.或者,在针对PU引入变换树层次且将cbf_luma、cbf_cb及cbf_cr设定成新的拆分节点时,将节点的cbf_luma、cbf_cb及cbf_cr设定成0。
[0235] 4.或者,在针对PU引入变换树层次且将cbf_luma(或cbf_cb或cbf_cr)设定成新的拆分节点时,将节点的cbf_luma(或cbf_cb或cbf_cr)设定成任何非零正整数值(例如,1)(如果cbf_luma(或cbf_cb或cbf_cr)不等于0)或另外设定成0。
[0236] 5.在变换树具有拥有等于0的split_transform_flag的根时,正常PU(如果存在)依序通过以下步骤被拆分成变换单元。
[0237] a.首先将CU的split_transform_flag设定为1。
[0238] b.如果CU的分区是N×N,那么正常PU对应于一个节点。如果CU的分区是 2N×N或N×2N,那么正常PU对应于两个节点。
[0239] c.正常PU内的以上节点中的每一者被设定成具有被设定成0的 split_transform_flag及被设定成等于覆盖整个高级CU的原始变换单元的cbf_luma、 cbf_cb及cbf_cr的cbf_luma、cbf_cb及cbf_cr。
[0240] d.对于CU的高级PU中的每一者,首先产生覆盖PU的正方形区的1或2个节点,并且,对于每一节点,以在以上步骤2、3或4中类似地引入变换树层次。
[0241] 6.对以上步骤5替代地,对于正常PU内的以上节点中的每一者,cbf_luma、cbf_cb 及cbf_cr被设定成等于0。
[0242] 7.对以上步骤4替代地,对于正常PU内的以上节点中的每一者,cbf_luma(或cbf_cb 或cbf_cr)被设定成等于任何非零正整数值(例如,1)(如果cbf_luma(或cbf_cb或cbf_cr) 不等于0)或另外设定成等于0。
[0243] 对于上文描述的其中CU被转换成译码树以便使PU与CU相关联且使子PU中的每一者与PU相关联以使得子PU边界被转换成人工PU边界的实例,可应用以下决策过程中的一或多者。
[0244] 1.在转换之后,当前高级CU将变为译码树的根,即,经转换的根,其为含有至少四个译码单元的四叉树。
[0245] 2.对于高级CU中的任何正常PU,其被设定成一或多个译码单元。
[0246] 3.另外,从高级CU中的正常PU转换的经转换译码单元的每一分量的CBF值进一步被设定成0。因此,避免一个正常帧间预测PU内的滤波(即使所述PU已经被转换成两个CU)。
[0247] a.对于任何高级PU,如果当前高级CU的CBF值是非零,那么经转换译码树或是经转换根下方的一个层级的译码单元的CBF值被设定成非零。
[0248] b.此外,对于高级PU内部的任何经转换的CU或PU或译码树,如果其最初不具有发信号通知的CBF值,那么将其设定成与四叉树中的其父节点的CBF值相同,或设定成与四叉树中的其父节点的CBF值相同的零或非零状态。
[0249] 4.或者,对于高级CU,不可针对整个CU应用一个唯一变换单元,其意味着如果正常PU在高级CU内部,那么其必须含有不由所述CU的另一PU共享的变换单元。
[0250] a.或者或另外,对于每一高级PU,变换树的叶节点分布这比子PU更高或更深的一个层级,其意味着经转换CU内的四个子PU中的每一者具有发信号通知的唯一变换单元。
[0251] 5.更具体来说,如果具有2L×2L大小的CU含有利用子PU设计的PU,那么针对 CU中的所有PU执行以下转换。针对当前高级CU设定等于1的分裂旗标且以下适用且当前节点被设定成所述CU:
[0252] a.对于呈光栅扫描次序的当前节点的四分之一正方形区域中的每一者,以下适用:
[0253] i.将此四分之一区域设定为子节点。
[0254] ii.如果子节点未使用子PU译码,那么将其设定成具有2N×2N分区的译码单元(具有等于0的分裂旗标)。
[0255] 1.或者或另外,将子节点的每一分量的CBF值设定成0。
[0256] 2.或者或另外,将译码单元的TU分裂旗标设定成0。
[0257] iii.否则,如果子节点使用子PU译码且含有多于1个子PU,那么针对子节点将分裂旗标设定成1(因此被视为译码树)且以下适用:
[0258] 1.或者,另外,如果所述子节点不存在CBF值,那么将其设定成等于较高层级当前节点(此子节点的父节点)的CBF值。
[0259] 2.将子节点设定为当前节点,且去往步骤a。
[0260] iv.否则,如果子节点仅含有1个子PU,那么将所述子节点设定成译码树的叶,因此是译码单元(具有等于0的分裂旗标)。
[0261] 1.将子节点的分割模式设定成子PU的分割模式
[0262] a.如果子PU的分割模式是2N×2N,那么所述子PU含有一个2N×2N 块且将所述译码单元的分割模式设定成2N×2N。
[0263] b.如果子PU的分割模式是N×2N,那么所述子PU含有两个N×2N 块且将所述译码单元的分割模式设定成N×2N。
[0264] c.如果子PU的分割模式是2N×N,那么所述子PU含有两个2N×N 块且将所述译码单元的分割模式设定成2N×N。
[0265] 2.或者或另外,如果子节点不存在CBF值,那么将其设定成等于较高层级当前节点(此子节点的父节点)的CBF值。
[0266] 3.或者或另外,将译码单元的TU分裂旗标设定成0。
[0267] 作为上文描述的其中CU的变换树经转换以便使PU与变换树层次相关联且使子PU 中的每一者与TU相关联以使得将子PU边界转换成人工TU边界的实例的另一替代方案,可针对每一子PU的至少一部分应用以下决策过程中的一或多者。
[0268] 1.在变换树具有拥有等于1的split_transform_flag的根时,含有高级CU的仅正常 PU(或正常PU的部分)的正常节点不改变。
[0269] 2.在变换树具有拥有等于1的split_transform_flag的根时,改变含有任何子PU(或子PU的部分)的高级节点以如下引入变换树层次:
[0270] a.对于当前节点,如果其含有任何子PU(或子PU的部分),且 split_transform_flag是0,且TU大小大于子PU大小,那么将split_transform_flag设定为1,且对于四个子节点中的每一者,以下适用:
[0271] i.将节点的cbf_luma、cbf_cb及cbf_cr设定成与父节点的相同,且将 split_transform_flag设定成等于0;
[0272] ii.将当前节点设定为子节点,且去往步骤a。
[0273] b.对于当前节点,如果split_transform_flag是1,那么对于四个子节点中的每一者,以下适用:将当前节点设定为子节点,且去往步骤a。
[0274] 3.或者,在针对节点引入变换树层次且将cbf_luma、cbf_cb及cbf_cr设定成新拆分的节点时,将新拆分的节点的cbf_luma、cbf_cb及cbf_cr设定成0。
[0275] 4.或者,在针对节点引入变换树层次且将cbf_luma、cbf_cb及cbf_cr设定成新拆分的节点时,将新拆分的节点的cbf_luma(或cbf_cb或cbf_cr)设定成任何非零正整数值 (例如,1)(如果cbf_luma(或cbf_cb或cbf_cr)不等于0)或另外设定成0。
[0276] 5.在变换树具有拥有等于0的split_transform_flag的根时,仅含有正常PU(或正常 PU的部分)的正常节点必须依序通过以下步骤被拆分成变换单元。
[0277] a.首先将CU的split_transform_flag设定为1。
[0278] b.如果CU的分区是N×N,那么正常PU对应于一个正常节点。如果CU的分区是2N×N或N×2N,那么正常PU对应于两个正常节点。如果CU的分区是2N×nU、 2N×nD、nL×2N或nR×2N,那么正常PU对应于0或2个正常节点。
[0279] c.以上正常节点中的每一者被设定成具有被设定成0的split_transform_flag及被设定成等于覆盖整个高级CU的原始变换单元的cbf_luma、cbf_cb及cbf_cr的 cbf_luma、cbf_cb及cbf_cr。
[0280] d.对于含有CU的任何子PU(或子PU的部分)的高级节点中的每一者,以在以上步骤2、3或4中类似地引入变换树层次。
[0281] 6.对以上步骤5替代地,对于以上正常节点中的每一者,cbf_luma、cbf_cb及cbf_cr 被设定成等于0。
[0282] 7.对以上步骤4替代地,对于以上正常节点中的每一者,其cbf_luma(或cbf_cb或 cbf_cr)被设定成等于任何非零正整数值(例如,1)(如果cbf_luma(或cbf_cb或cbf_cr)不等于0),或另外设定成等于0。
[0283] 下文提供一些实例实施细节。以下文本指示对3D-HEVC WD1的所提出的修改以用于实施一些本发明中描述的技术。
[0284] 解码过程
[0285] H.8.1 通用解码过程
[0286] …
[0287] 3.子条款8.4、8.5、8.6、8.7及8.8中的过程使用所有语法结构层中的语法元素来指定解码过程。这是图片的经译码切片将针对图片的每个译码树单元含有切片片段数据的位流符合性要求,使得将所述图片分割为切片,将切片分割为切片片段,且将切片片段分割为各自形成图片的分区的译码树单元。
[0288] …
[0289] H.8.5.3.3.2参考图片选择过程
[0290] 此过程的输入是参考索引refIdxLX。
[0291] 此过程的输出是由明度样本的二维阵列refPicLXL及色度样本的两个二维阵列 refPicLXCb及refPicLXCr组成的参考图片。
[0292] 输出参考图片RefPicListX[refIdxLX]由明度样本的pic_width_in_luma_samples乘  pic_height_in_luma_samples阵列refPicLXL及色度样本的两个
PicWidthInSamplesC乘 PicHeightInSamplesC阵列refPicLXCb及refPicLXCr组成。
[0293] 参考图片样本阵列refPicLXL、refPicLXCb及refPicLXCr对应于通过子条款8.7及子条款8.8针对先前经解码图片导出的经解码样本阵列SL、SCb及SCr。
[0294] H.8.7 变换树修改过程
[0295] H.8.7.1概述
[0296] 此过程的输入是:译码树的分裂旗标阵列split_cu_flag、译码单元的分割模式阵列 PartMode、变换树的分裂旗标split_transform_flag、译码单元的子预测单元旗标阵列 subPuFlag、子预测单元大小subPuSize。此过程的输出是变换树的经修改的分裂旗标阵列split_transform_flag。
[0297] 对于每一译码单元,如果其在帧间预测模式中译码且其含有利用子预测单元设计的预测单元,那么修改变换树的分裂旗标以使子预测单元边界为变换单元边界:
[0298] -使用明度位置(xCb,yCb)调用子条款8.7.2中指定的变换树的修改过程,明度位置(xB0,yB0)设定成等于(0,0),明度译码块大小nCbS设定成等于(1<
[0299] H.8.7.2含有子预测单元的译码单元的变换树修改过程
[0300] 对此过程的输入是:
[0301] -相对于当前图片的左上方明度样本指定当前明度译码块的左上方样本的明度位置(xCb,yCb),
[0302] -相对于当前明度译码块的左上方样本指定当前明度块的左上方样本的明度位置(xB0,yB0),
[0303] -明度译码块大小nCbS,
[0304] -指定译码树深度的变量cuDepth,
[0305] -译码树的分裂旗标阵列split_cu_flag,
[0306] -变换树的分裂旗标阵列split_transform_flag,
[0307] -子预测单元旗标阵列subPuFlag,
[0308] -子预测单元大小subPuSize,
[0309] 此过程的输出是经修改的:
[0310] -变换树的分裂旗标阵列split_transform_flag,
[0311] 取决于split_cu_flag[xCb+xB0][yCb+yB0][cuDepth]的值,以下适用:
[0312] -如果split_cu_flag[xCb+xB0][yCb+yB0][cuDepth]等于1,以下经排序步骤适用:
[0313] 1.如下导出变量xB1及yB1:
[0314] -将变量xB1设定成等于xB0+(nCbS>>1)。
[0315] -将变量yB1设定成等于yB0+(nCbS>>1)。
[0316] 2.使用明度位置(xCb,yCb)、明度位置(xB0,yB0)调用此子条款中指定的变换树的修改过程,明度译码块大小nCbS设定成等于(nCbS>>1)、译码树深度cuDepth设定成等于cuDepth+1,译码树的分裂旗标阵列split_cu_flag、译码单元的分割模式阵列PartMode、变换树的分裂旗标阵列split_transform_flag、子预测单元旗标阵列subPuFlag及子预测单元大小subPuSize作为输入,且变换树的经修改的分裂旗标阵列split_transform_flag作为输出。
[0317] 3.使用明度位置(xCb,yCb)、明度位置(xB1,yB0)调用此子条款中指定的变换树的修改过程,明度译码块大小nCbS设定成等于(nCbS>>1)、译码树深度cuDepth设定成等于cuDepth+1、译码树的分裂旗标阵列split_cu_flag、译码单元的分割模式阵列PartMode、变换树的分裂旗标阵列split_transform_flag、子预测单元旗标阵列subPuFlag及子预测单元大小subPuSize作为输入,且变换树的经修改的分裂旗标阵列split_transform_flag作为输出。
[0318] 4.使用明度位置(xCb,yCb)、明度位置(xB0,yB1)调用此子条款中指定的变换树的修改过程,明度译码块大小nCbS设定成等于(nCbS>>1)、译码树深度cuDepth设定成等于cuDepth+1、译码树的分裂旗标阵列split_cu_flag、译码单元的分割模式阵列PartMode、变换树的分裂旗标阵列split_transform_flag、子预测单元旗标阵列subPuFlag及子预测单元大小subPuSize作为输入,且变换树的经修改的分裂旗标阵列split_transform_flag作为输出。
[0319] 5.使用明度位置(xCb,yCb)、明度位置(xB1,yB1)调用此子条款中指定的变换树的修改过程,明度译码块大小nCbS设定成等于(nCbS>>1)、译码树深度cuDepth设定成等于cuDepth+1、译码树的分裂旗标阵列split_cu_flag、译码单元的分割模式阵列PartMode、变换树的分裂旗标阵列split_transform_flag、子预测单元旗标阵列subPuFlag及子预测单元大小subPuSize作为输入,且变换树的经修改的分裂旗标阵列split_transform_flag作为输出。
[0320] -否则(split_cu_flag[xCb+xB0][yCb+yB0][cuDepth]等于0),如果nCbS大于 subPUSize,以下有序步骤适用:
[0321] 1.如下导出变量xB1及yB1:
[0322] -将变量xB1设定成等于xB0+(nCbS>>1)。
[0323] -将变量yB1设定成等于yB0+(nCbS>>1)。
[0324] 2.通过以下有序步骤导出变量subPuDeblockingFlag:
[0325] -将subPuDeblockingFlag设定成等于0。
[0326] -如果subPuFlag[xCb+xB0][yCb+yB0]等于1,那么将subPuDeblockingFlag 设定成等于1。
[0327] -如果subPuFlag[xCb+xB1][yCb+yB0]等于1,那么将subPuDeblockingFlag 设定成等于1。
[0328] -如果subPuFlag[xCb+xB0][yCb+yB1]等于1,那么将subPuDeblockingFlag 设定成等于1。
[0329] -如果subPuFlag[xCb+xB1][yCb+yB1]等于1,那么将subPuDeblockingFlag 设定成等于1。
[0330] -如果PartMode[xCb+xB0][yCb+yB0]等于PART_nLx2N,或 PartMode[xCb+xB0][yCb+yB0]等于PART_nRx2N,或PartMode[xCb+xB0][yCb +yB0]等于PART_2NxnU,或PartMode[xCb+xB0][yCb+yB0]等于PART_2NxnD,那么将subPuDeblockingFlag设定成等于0。
[0331] 3.如果subPuDeblockingFlag等于1,以下有序步骤适用:
[0332] -如果split_transform_flag[xCb+xB0][yCb+yB0][cuDepth]等于0,那么将 split_transform_flag[xCb+xB0][yCb+yB0][cuDepth]设定为等于1。
[0333] -使用明度位置(xCb,yCb)、明度位置(xB0,yB0)调用子条款8.7.3中指定的变换树的修改过程,译码树深度cuDepth、块大小nCbS、变换树的分裂旗标阵列 split_transform_flag、预测单元的子预测单元旗标阵列subPuFlag,及预测单元的子预测单元大小阵列subPuSize作为输入,且译码树的经修改的分裂旗标阵列 split_transform_flag作为输出。
[0334] H.8.7.3明度译码块的变换树修改过程
[0335] 对此过程的输入是:
[0336] -相对于当前图片的左上方明度样本指定当前亮度预测块的左上方样本的明度位置(xCb,yCb),
[0337] -相对于当前明度译码块的左上方样本指定当前明度块的左上方样本的明度位置 (xB0,yB0),
[0338] -指定块大小的变量nCbS,
[0339] -指定变换树深度的变量trafoDepth,
[0340] -变换树的分裂旗标阵列split_transform_flag,
[0341] -子预测单元旗标阵列subPuFlag,
[0342] -子预测单元大小subPuSize,
[0343] 此过程的输出是经修改的:
[0344] -变换树的分裂旗标阵列split_transform_flag,
[0345] 如果nCbS大于subPUSize,那么以下有序步骤适用。
[0346] -如下导出变量xB1及yB1:
[0347] -将变量xB1设定成等于xB0+(nCbS>>1)。
[0348] -将变量yB1设定成等于yB0+(nCbS>>1)。
[0349] -对于xB0、xB1中的x
[0350] -对于yB0、yB1中的y
[0351] -如果subPuFlag[xCb+x][yCb+y]等于1
[0352] -如果split_transform_flag[xCb+x][yCb+y][trafoDepth+1]等于0
[0353] -将split_transform_flag[xCb+x][yCb+y][trafoDepth+1]设定为等于1。
[0354] -使用明度位置(xCb,yCb)、明度位置(xCb+x,yCb+y)调用此子条款中指定的变换树的修改过程,变换树深度trafoDepth设定成等于 trafoDepth+1,块大小nCbS设定成等于(nCbS>>1)、变换树的分裂旗标阵列split_transform_flag、子预测单元旗标阵列subPuFlag、子预测单元大小subPuSize作为输入,且译码树的经修改的分裂旗标阵列 split_transform_flag作为输出。
[0355] -另外(如果将split_transform_flag[xCb+x][yCb+y][trafoDepth+ 1]设定为等于1),
[0356] -使用明度位置(xCb,yCb)、明度位置(xCb+x,yCb+y)调用此子条款中指定的变换树的修改过程,变换树深度trafoDepth设定成等于 trafoDepth+1,块大小nCbS设定成等于(nCbS>>1)、变换树的分裂旗标阵列split_transform_flag、子预测单元旗标阵列subPuFlag、子预测单元大小subPuSize作为输入,且译码树的经修改的分裂旗标阵列 split_transform_flag作为输出。
[0357] H.8.8 环路内滤波过程
[0358] …
[0359] 图15是说明可经配置以实施本发明的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片(例如,纹理图像及深度图两者的切片)内的视频块的帧内及帧间译码(包含视图间译码)。纹理信息一般包含明度(亮度或强度)和色度(颜色,例如红色调和蓝色调)信息。在一些实例中,视频编码器20可相对于明度切片确定译码模式,且再使用来自译码明度信息的预测信息以编码色度信息(例如,通过再使用分割信息、帧内预测模式选择、运动向量或类似者)。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的译码模式中的任一者。
[0360] 如图15中所展示,视频编码器20接收待编码的视频帧(例如,纹理图像或深度图) 内的当前视频块(即,视频数据块,例如明度块、色度块或深度块)。在图15的实例中,视频编码器20包含模式选择单元40、视频数据存储器41、经解码图片缓冲器64、求和器50、变换处理单元52、量化单元54、滤波器单元63及熵编码单元56。滤波器单元 63可应用如本发明中所描述的解块滤波过程。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测处理单元46及分割单元48。对于视频块重构,视频编码器 20还包含反量化单元58、反变换处理单元60及求和器62。滤波器单元63可包含解块滤波器及/或SAO滤波器以对块边界滤波,从而从经重构视频移除成块性假影。除了解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见未展示此些滤波器,但在需要时,此些滤波器可以对求和器50的输出进行滤波(作为环路内滤波器)。
[0361] 视频数据存储器41可存储待由视频编码器20的组件编码的视频数据。存储在视频数据存储器41中的视频数据可例如从视频源18获得。经解码图片缓冲器64可为存储供视频编码器20例如在帧内或帧间译码模式中编码视频数据的参考视频数据的参考图片存储器。视频数据存储器41及经解码图片缓冲器64可通过多种存储器装置中的任一者形成,例如动态随机存储器,包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻性RAM(RRAM)或其它类型的存储器装置。可由相同的存储器装置或单独的存储器装置提供视频数据存储器41及经解码图片缓冲器64。在各种实例中,视频数据存储器41 可与视频编码器20的其它组件在芯片上,或相对于那些组件在芯片外。
[0362] 在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可被划分成多个视频块。运动估计单元42及运动补偿单元44相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测译码以提供时间预测。帧内预测处理单元46可替代地相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收的视频块的帧内预测译码以提供空间预测。视频编码器20可以执行多个译码遍次,例如,以便为每一视频数据块选择一种适当的译码模式。
[0363] 此外,分割单元48可以基于前述译码遍次中的前述分割方案的评估将视频数据块分割成子块。举例来说,分割单元48最初可以将帧或切片分割成LCU,并且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割成子CU。模式选择单元40可以进一步产生指示LCU划分成子CU的四叉树数据结构。四叉树的叶节点CU可包含一或多个PU和一或多个TU。
[0364] 模式选择单元40可以基于错误结果选择译码模式中的一者(帧内或帧间),并且将所得的经帧内译码或经帧间译码块提供到求和器50以便产生残差块数据,并且提供到求和器62以便重构经编码块用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵编码单元56。
[0365] 运动估计单元42与运动补偿单元44可高度集成,但出于概念目的分开加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。
举例来说,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正经译码的当前块的移位。
[0366] 预测块是被发现在像素差方面与待译码块紧密匹配的块,像素差可通过绝对差总和 (SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码器20可计算存储于经解码图片缓冲器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。
因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。
[0367] 运动估计单元42通过比较PU的位置与参考图片的预测块的位置来计算经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述参考图片列表中的每一者识别存储在经解码图片缓冲器64中的一或多个参考图片。可使用本发明的技术建构所述参考图片列表。运动估计单元42 将计算出来的运动向量发送到熵编码单元56及运动补偿单元44。
[0368] 由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动向量提取或产生预测块。同样,在一些实例中,运动估计单元42与运动补偿单元44可以在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44便可以在参考图片列表中的一者中定位所述运动向量指向的预测块。求和器50通过从经译码的当前视频块的像素值减去预测块的像素值从而形成像素差值来形成残差视频块,如下文所论述。一般来说,运动估计单元42相对于明度分量执行运动估计,并且运动补偿单元 44对于色度分量及明度分量两者使用基于明度分量计算的运动向量。以此方式,运动补偿单元44可再用针对明度分量确定的运动信息来对色度分量进行译码,以使得运动估计单元42不需要对色度分量执行运动搜索。模式选择单元40还可产生与视频块和视频切片相关联的供视频解码器30在对视频切片的视频块进行解码时使用的语法元素。
[0369] 作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可以对当前块进行帧内预测。明确地说,帧内预测处理单元 46可以确定用来编码当前块的帧内预测模式。在一些实例中,帧内预测处理单元46可(例如)在单独编码回合期间使用各种帧内预测模式对当前块进行编码,且帧内预测处理单元 46(在一些实例中,或为模式选择单元40)可从所测试的模式中选择将使用的适当的帧内预测模式。
[0370] 举例来说,帧内预测处理单元46可以使用速率失真分析计算针对各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测处理单元46可以根据用于各种经编码块的失真及速率计算比率,以确定哪种帧内预测模式对于所述块展现最佳速率失真值。
[0371] 在选择了用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于所述块的选定帧内预测模式的信息提供给熵编码单元56。熵编码单元56可以对指示所选帧内预测模式的信息进行编码。视频编码器20可在所传输的位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表及多个修改的帧内预测模式索引表(还被称作码字映射表)、编码用于各种块的上下文的界定,及用于所述上下文中的每一者的最可能的帧内预测模式、帧内预测模式索引表及修改的帧内预测模式索引表的指示。
[0372] 视频编码器20通过从经译码的原始视频块减去来自模式选择单元40的预测数据形成残差视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残差块,从而产生包括残差变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子频带变换或其它类型的变换。在任何情况下,变换处理单元 52向残差块应用所述变换,从而产生残差变换系数的块。
[0373] 所述变换可将残差信息从像素值域转换到变换域,例如频域。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54将变换系数量化以进一步减小位速率。量化过程可减少与系数中的一些系数或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可以接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可以执行所述扫描。
[0374] 在量化之后,熵编码单元56对经量化的变换系数进行熵译码。举例来说,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码 (CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间划分熵(PIPE) 译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可以基于相邻块。在熵编码单元56的熵译码之后,可以将经编码位流传输到另一装置(例如视频解码器30),或者将所述视频存档用于以后传输或检索。
[0375] 反量化单元58及反变换处理单元60分别应用反量化及反变换以在像素域中重构残差块,例如以供稍后用作参考块。运动补偿单元44可以通过将残差块添加到存储在经解码图片缓冲器64中的参考图片中的一者的预测块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重新构造的残差块以计算子整数像素值以用于运动估计。求和器62将经重构的残差块添加到由运动补偿单元44产生的经运动补偿的预测块以产生经重构参考块以供存储在经解码图片缓冲器64中。经重构视频块可由运动估计单元42及运动补偿单元44用作参考块以对后续视频帧中的块进行帧间译码。
[0376] 视频编码器20可以大体上类似用于对明度分量进行译码的译码技术的方式对深度图进行编码,即使是在无对应色度分量的情况下也如此。举例来说,帧内预测处理单元 46可对深度图的块进行帧内预测,而运动估计单元42和运动补偿单元44可对深度图的块进行帧间预测。然而,如上文所论述,在深度图的帧间预测期间,运动补偿单元44 可基于深度范围中的差及深度范围的精度值缩放(即,调整)参考深度图的值。举例来说,如果当前深度图和参考深度图中的不同最大深度值对应于相同现实世界深度,那么视频编码器20可将参考深度图的最大深度值按缩放为等于当前深度图中的最大深度值以用于预测的目的。另外或替代地,视频编码器20可例如使用大体类似于视图间预测的技术,使用经更新的深度范围值和精度值产生用于视图合成预测的视图合成图片。
[0377] 视频编码器20表示可经配置以单独地或以任何组合执行本发明中描述的技术中的任一者的视频编码器的实例。例如,视频编码器20可经配置以执行用于3D-HEVC中的视频译码的子PU层级运动预测的技术。
[0378] 在一个实例中,视频编码器20可经配置以执行子PU BVSP模式以预测包含两个或更多个子PU的PU。在子PU BVSP模式中,视频编码器20的运动补偿单元44确定当前PU的第一运动信息,其包含至少一个视差运动向量及识别视图间参考图片的相关联的参考视图索引。运动补偿单元44随后将当前PU分割为两个或更多个子PU,且确定子PU中的每一者的第二运动信息,其包含与对应于子PU中的每一者的视图间参考图片的深度块相关联的至少一个视差运动向量。运动补偿单元44执行运动补偿以基于子 PU中的每一者的第二运动信息而预测所述PU的子PU中的每一者。根据本发明的技术,对于使用子PU BVSP模式预测的每一PU,视频编码器20甚至在执行运动补偿之后存储针对当前PU的子PU中的每一者导出的第二运动信息。所述第二运动信息可存储在经解码图片缓冲器64中。为当前PU存储的额外运动信息接着可用于预测当前PU是其相邻块的后续PU。
[0379] 在另一实例中,视频编码器20可经配置以执行高级TMVP模式以在对于其可允许运动向量细化的单层译码中预测PU的子PU。在高级TMVP模式中,视频编码器20的运动补偿单元44确定识别对应于当前PU的参考图片的块的当前PU的第一阶段运动向量。运动补偿单元44随后将当前PU分割为两个或更多个子PU,且从由第一阶段运动向量识别的参考图片的块确定子PU中的每一者的第二阶段运动信息,其中子PU中的每一者的第二阶段运动信息包含至少一个运动向量及相关联的参考索引。运动补偿单元 44执行运动补偿以基于子PU中的每一者的第二阶段运动信息而单独地预测子PU中的每一者。在一些实例中,运动补偿单元
44可确定运动向量差以细化子PU中的每一者的第二阶段运动信息的至少一个运动向量。
[0380] 在另一实例中,视频编码器20可经配置以执行与应用到包含具有多个子PU的至少一个PU的视频块的CU的解块滤波过程相关的技术。根据本发明的技术,在将解块滤波器应用到包含具有子PU的PU的视频块的CU之前,视频编码器20的滤波器单元63 转换所述CU以便在子PU边界处产生人工PU边界或人工TU边界。在一个实例中,滤波器单元63转换CU的变换树以便使PU与变换树层次相关联且使子PU中的每一者与 TU相关联,使得将子PU边界转换成人工TU边界。在另一实例中,滤波器单元63将 CU转换为译码树以便使PU与CU相关联且使子PU中的每一者与PU相关联,使得将子PU边界转换成人工PU边界。滤波器单元63随后将解块滤波器应用到CU的两个邻近PU之间的PU边界及/或CU的两个邻近TU之间的TU边界,包含人工PU边界及人工TU边界。
[0381] 图16是说明可实施本发明的技术的视频解码器30的实例的框图。在图16的实例中,视频解码器30包含熵解码单元70、视频数据存储器71、运动补偿单元72、帧内预测处理单元74、反量化单元76、反变换处理单元78、经解码图片缓冲器82、滤波器单元83及求和器80。在一些实例中,视频解码器30可执行一般与相对于视频编码器20(图 15)所描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量而产生预测数据,而帧内预测处理单元74可基于从熵解码单元70接收的帧内预测模式指示符而产生预测数据。
[0382] 视频数据存储器71可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储于视频数据存储器71中的视频数据可例如从计算机可读媒体16(例如,从本地视频源,例如相机)经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体而获得。视频数据存储器71可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器82可为存储供视频解码器30用于例如在帧内或帧间译码模式中解码视频数据的参考视频数据的参考图片存储器。视频数据存储器71及经解码图片缓冲器82可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻性RAM (RRAM)或其它类型的存储器装置。视频数据存储器71与经解码图片缓冲器82可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器71与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
[0383] 在解码过程期间,视频解码器30从视频编码器20接收表示经解码视频切片和相关联的语法元素的视频块的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化的系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70 将运动向量及其它语法元素转发到运动补偿单元72。视频解码器30可以接收在视频切片层级和/或视频块层级处的语法元素。
[0384] 当视频切片经译码为经帧内译码(I)切片时,帧内预测处理单元74可以基于用信号发送的帧内预测模式和来自当前图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。在视频帧被译码为经帧间译码(即,B或P)切片时,运动补偿单元 72基于运动向量及从熵解码单元70接收的其它语法元素而产生用于当前视频切片的视频块的预测块。可以从参考图片列表中的一者内的参考图片中的一者产生预测块。视频解码器30可基于存储于经解码图片缓冲器82中的参考图片使用本发明的技术来建构参考帧列表:列表0及列表1。运动补偿单元72通过解析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正被解码的当前视频块的预测块。举例来说,运动补偿单元72使用所接收的语法元素中的一些语法元素来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、用于切片的参考图片列表中的一或多者的建构信息、用于切片的每一经帧间编码视频块的运动向量、用于切片的每一经帧间译码视频块的帧间预测状态,及用以对当前视频切片中的视频块进行解码的其它信息。
[0385] 运动补偿单元72还可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元72可根据所接收的语法信息元素而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测块。
[0386] 反量化单元76将在位流中提供且由熵解码单元70解码的经量化变换系数反量化,即解量化。反量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算以确定应该应用的量化程度和同样反量化程度的量化参数QPY。反变换处理单元78对变换系数应用反变换,例如反DCT、反整数变换或概念上类似的反变换过程,以便产生像素域中的残差块。
[0387] 在运动补偿单元72基于运动向量及其它语法元素产生当前视频块的预测块之后,视频解码器30通过对来自反变换处理单元78的残差块与由运动补偿单元72产生的对应预测块求和而形成经解码视频块。求和器90表示执行此求和操作的组件。滤波器单元63可应用解块滤波过程。滤波器单元63可包含解块滤波器及/或SAO滤波器以对块边界进行滤波,从而从经重构视频移除成块性假影。除了解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见未展示此些滤波器,但在需要时,此些滤波器可对求和器80的输出进行滤波(作为环路内滤波器)。接着将给定帧或图片中的经解码视频块存储在经解码图片缓冲器82中,经解码图片缓冲器82存储用于后续运动补偿的参考图片。经解码图片缓冲器82还存储经解码视频以用于稍后呈现在显示器装置(例如,图1的显示器装置32)上。
[0388] 视频解码器30可以大体上类似于用于解码明度分量的解码技术的方式解码深度图,即使不具有对应的色度分量也如此。例如,帧内预测处理单元74可对深度图的块进行帧内预测,而运动补偿单元72可对深度图的块进行帧间预测。然而,如上文所论述,在深度图的帧间预测期间,运动补偿单元72可基于深度范围中的差异及深度范围的精度值而缩放(即,调整)参考深度图的值。例如,如果当前深度图及参考深度图中的不同最大深度值对应于相同的现实世界深度,那么视频解码器30可将参考深度图的最大深度值缩放为等于当前深度图中的最大深度值以用于预测的目的。另外或替代地,视频解码器30可使用经更新的深度范围值及精度值例如使用大体类似于视图间预测的技术产生用于视图合成预测的视图合成图片。
[0389] 视频解码器30表示可经配置以单独地或以任何组合执行本发明中描述的技术中的任一者的视频解码器的实例。例如,视频解码器30可经配置以执行用于3D-HEVC中的视频译码的子PU层级运动预测的技术。
[0390] 在一个实例中,视频解码器30可经配置以执行子PU BVSP模式以预测包含两个或更多个子PU的PU。在子PU BVSP模式中,视频解码器30的运动补偿单元72确定当前PU的第一运动信息,其包含至少一个视差运动向量及识别视图间参考图片的相关联的参考视图索引。运动补偿单元72随后将当前PU分割为两个或更多个子PU,且确定子PU中的每一者的第二运动信息,其包含与对应于子PU中的每一者的视图间参考图片的深度块相关联的至少一个视差运动向量。运动补偿单元72执行运动补偿以基于子 PU中的每一者的第二运动信息而预测所述PU的子PU中的每一者。根据本发明的技术,对于使用子PU BVSP模式预测的每一PU,视频解码器30甚至在执行运动补偿之后存储针对当前PU的子PU中的每一者导出的第二运动信息。所述第二运动信息可存储在经解码图片缓冲器82中。为当前PU存储的额外运动信息接着可用于预测当前PU是其相邻块的后续PU。
[0391] 在另一实例中,视频解码器30可经配置以执行高级TMVP模式以在对于其可允许运动向量细化的单层译码中预测PU的子PU。在高级TMVP模式中,视频解码器30的运动补偿单元72确定识别对应于当前PU的参考图片的块的当前PU的第一阶段运动向量。运动补偿单元72随后将当前PU分割为两个或更多个子PU,且从由第一阶段运动向量识别的参考图片的块确定子PU中的每一者的第二阶段运动信息,其中子PU中的每一者的第二阶段运动信息包含至少一个运动向量及相关联的参考索引。运动补偿单元 72执行运动补偿以基于子PU中的每一者的第二阶段运动信息而单独地预测子PU中的每一者。在一些实例中,运动补偿单元
72可确定运动向量差以细化子PU中的每一者的第二阶段运动信息的至少一个运动向量。
[0392] 在另一实例中,视频解码器30可经配置以执行与应用到包含具有多个子PU的至少一个PU的视频块的CU的解块滤波过程相关的技术。根据本发明的技术,在将解块滤波器应用到包含具有子PU的PU的视频块的CU之前,视频解码器30的滤波器单元83 转换所述CU以便在子PU边界处产生人工PU边界或人工TU边界。在一个实例中,滤波器单元83转换CU的变换树以便使PU与变换树层次相关联且使子PU中的每一者与 TU相关联,使得将子PU边界转换成人工TU边界。在另一实例中,滤波器单元83将 CU转换为译码树以便使PU与CU相关联且使子PU中的每一者与PU相关联,使得将子PU边界转换成人工PU边界。滤波器单元83随后将解块滤波器应用到CU的两个邻近PU之间的PU边界及/或CU的两个邻近TU之间的TU边界,包含人工PU边界及人工TU边界。
[0393] 图17是说明使用子PU BVSP模式预测当前PU且存储所确定的子PU运动信息存储的实例操作的流程图。本发明相对于图16的视频解码器30描述所说明的操作。在其它实例中,可由图15的视频编码器20或根据3D-HEVC标准操作的任何其它编码或解码装置执行所说明的操作。
[0394] 视频解码器30接收表示经编码视频切片及相关联的语法元素的视频块的经编码视频位流。视频解码器30的熵解码单元70解码所述位流以产生经量化变换系数、运动信息及预测模式指示符及其它语法元素。熵解码单元70将经解码的经量化变换系数发送到反量化单元76及反变换处理单元78以重构待解码的视频块的残差块。熵解码单元70 将经解码的运动信息及帧间预测模式指示符发送到运动补偿单元72。
[0395] 运动补偿单元72根据合并或AMVP帧间预测模式中的所指示的一者而预测待解码的视频块的每一CU的每一PU。例如,在合并模式中,运动补偿单元72可产生包含当前PU的空间及时间相邻块的运动信息(即,运动向量及相关联的参考索引)的运动信息合并模式候选者列表。在此情况下,经解码运动信息可包含指示合并模式候选者列表中的所述组运动信息中的用于预测当前PU的一组运动信息的合并索引。在BVSP模式中,合并模式候选者列表包含具有包含视差运动向量及相关联的参考视图索引的运动信息的特殊BVSP候选者,且使用深度信息来细化运动信息。
[0396] 根据本发明的技术,运动补偿单元72根据BVSP模式从当前PU的相邻块确定所述 PU的第一运动信息,其中所述第一运动信息包含至少一个视差运动向量及识别视图间参考图片的相关联的参考视图索引(140)。如上文所描述,运动补偿单元72可从合并模式候选者列表选择当前PU的第一运动信息以作为BVSP候选者。在一些情况下,当前 PU的第一运动信息可包含对应于第一和第二参考图片列表中的每一者的视差运动向量。
[0397] 运动补偿单元72随后将当前PU分割为两个或更多个子PU(142)。运动补偿单元72 确定子PU中的每一者的第二运动信息,其中所述第二运动信息包含与对应于子PU中的每一者的视图间参考图片的深度块相关联的至少一个视差运动向量(144)。例如,运动补偿单元72可选择对应于子PU中的每一者的视图间参考图片的深度块的四个隅角像素的最大值,且将所述最大值转换为子PU中的每一者的视差运动向量的水平分量。子PU 中的每一者的视差运动向量的垂直分量等于零。在一些情况下,子PU中的每一者的第二运动信息可包含对应于第一和第二参考图片列表中的每一者的视差运动向量。
[0398] 运动补偿单元72基于第二运动信息执行运动补偿以从视图间参考图片预测当前PU 的子PU中的每一者(146)。在执行运动补偿之后,视频解码器30将当前PU的子PU中的每一者的第二运动信息存储在存储器(例如,视频解码器30的经解码图片缓冲器82) 中以用于预测后续PU(148)。例如,视频解码器30可将为子PU中的每一者导出的视差运动向量存储在与包含由PU的第一运动信息的参考视图索引识别的视图间参考图片的参考图片列表相关联的经解码图片缓冲器82中。在运动补偿期间产生PU的子PU中的每一者的预测块之后,视频解码器30基于子PU中的每一者的对应残差块及预测块的经重构版本而产生视频块的经重构版本
[0399] 常规上,在3D-HEVC的BVSP模式中,在执行运动补偿以预测子PU中的每一者之后,仅存储当前PU的对应于每一参考图片列表的单一视差运动向量。存储每一参考图片列表的单一视差运动向量,即使PU的运动补偿是基于PU的多个子PU的多个运动向量也如此。在此情况下,在使用当前PU预测后续PU时,当前PU的子PU被看作具有相同的运动向量,使得子PU BVSP模式对提高运动向量预测的准确度具有极少的影响。
[0400] 根据本发明的技术,对于在子PU BVSP模式中译码的每一PU,视频解码器30甚至在执行运动补偿之后存储为当前PU的子PU中的每一者导出的第二运动信息。为当前PU存储的额外运动信息接着可用于预测当前PU是其相邻块的后续PU。例如,运动补偿单元72可产生用于预测后续PU的运动信息的合并模式候选者列表,其包含存储在经解码图片缓冲器82中的PU的子PU中的作为合并模式候选者列表中的子PU BVSP 候选者的至少一个子PU的第二运动信息。在一个实例中,如果在子PU BVSP模式中译码后续PU,那么运动补偿单元72可不需要导出后续PU的子PU中的每一者的第二运动信息。而是,运动补偿单元72可替代地从用于预测后续PU的子PU的运动信息的合并模式候选者列表选择第二运动信息作为子PU BVSP候选者。
[0401] 图18是说明将解块滤波器应用到视频块的每一CU以对包含所述CU内的子PU边界的TU边界及PU边界进行滤波的实例操作的流程图。在重构视频块之后且在将所述视频块存储在经解码图片缓冲器中以作为参考图片的块之前应用所述解块滤波器。本发明中相对于图16的视频解码器30描述所说明的操作。在其它实例中,可在图15的视频编码器20的视频块重构环路或使用子PU设计及解块滤波器的任何其它编码或解码装置中执行所说明的操作。
[0402] 视频解码器30基于对应残差块及预测块的经重构版本而产生视频块的经重构版本 (150)。所述视频块包含至少一个CU,且所述CU可包含被分割成两个或更多个子PU 的至少一个PU。如上文相对于图17所描述,视频解码器30的运动补偿单元72可在PU 的子PU中的每一者的视频压缩期间产生预测块。用于HEVC标准的解块滤波器未经设计以在PU内(即,沿着子PU边界)进行滤波,因为对于HEVC块,假定运动补偿对于整个PU都是相同的。本发明描述用于将具有子PU的PU转换为解块友好结构以使得 HEVC解块滤波器可继续用于3D-HEVC块的技术。
[0403] 在将解块滤波器应用到包含具有两个或更多个子PU的PU的视频块的CU之前,视频解码器30的滤波器单元83转换所述CU以在所述PU的两个邻近子PU之间的子 PU边界处产生人工PU边界或人工TU边界(152)。在一个实例中,滤波器单元83转换所述CU的变换树以便使PU与变换树层次相关联且使子PU中的每一者与TU相关联,使得将子PU边界转换成人工TU边界。在另一实例中,滤波器单元83将所述CU转换为译码树,以便使PU与CU相关联且使子PU中的每一者与PU相关联,使得将子PU 边界转换成人工PU边界。
[0404] 滤波器单元83随后将解块滤波器应用到CU的两个邻近PU之间的PU边界及/或 CU的两个邻近TU之间的TU边界,包含人工PU边界及人工TU边界(154)。在对视频块的经重构版本的CU中的每一者进行滤波之后,滤波器单元83将视频块存储在经解码图片缓冲器82中以作为参考图片的块(156)。
[0405] 图19是说明用以在单层译码中预测PU的子PU的高级TMVP模式的实例操作的流程图。在本发明中相对于图16的视频解码器30描述所说明的操作。在其它实例中,可由图15的视频编码器20或使用子PU设计的任何其它编码或解码装置执行所说明的操作。
[0406] 视频解码器30接收表示经编码视频切片及相关联的语法元素的视频块的经编码视频位流。视频解码器30的熵解码单元70解码所述位流以产生经量化变换系数、运动信息及预测模式指示符及其它语法元素。熵解码单元70将经解码的经量化变换系数发送到反量化单元76及反变换处理单元78以重构待解码的视频块的残差块。熵解码单元70 将经解码的运动信息及帧间预测模式指示符发送到运动补偿单元72。
[0407] 运动补偿单元72根据合并或AMVP帧间预测模式中的所指示的一者而预测待解码的视频块的每一CU的每一PU。例如,在合并模式中,运动补偿单元72可产生包含当前PU的空间及时间相邻块的运动信息(即,运动向量及相关联的参考索引)的运动信息合并模式候选者列表。在此情况下,经解码运动信息可包含指示合并模式候选者列表中的所述组运动信息中的用于预测当前PU的一组运动信息的合并索引。在另一实例中,在AMVP模式中,运动补偿单元72可产生仅包含当前PU的空间及时间相邻块的运动向量的AMVP模式候选者列表。在此情况下,经解码的运动信息可包含指示AMVP模式候选者列表中的运动向量中的一者的AMVP索引,并且还包含显式地发信号通知的参考索引及任何运动向量差以细化所选择的运动向量来用于预测当前PU。
[0408] 常规上,仅针对使用合并帧间预测模式的层间或视图间预测启用子PU设计。本发明描述用以在对于其可允许运动向量细化的单层译码中预测PU的子PU的高级TMVP 模式。在一个实例中,为指示预测当前PU的高级TMVP模式的性能,运动补偿单元72 可产生PU的合并模式候选者列表中的高级TMVP候选者,其中对高级TMVP候选者的选择指示预测PU的高级TMVP模式的性能。
[0409] 根据本发明的技术,运动补偿单元72从PU的相邻块确定识别对应于当前PU的参考图片的块的当前PU的第一阶段运动向量(160)。作为一个实例,运动补偿单元72可从当前PU的空间相邻块及/或时间相邻块导出所述第一阶段运动向量。作为另一实例,运动补偿单元72可从当前PU的合并模式候选者列表选择所述第一阶段运动向量。在其它实例中,可将所述第一阶段运动向量设定成恒定或预定义值。
[0410] 运动补偿单元72随后将当前PU分割为两个或更多个子PU(162)。运动补偿单元72 从由第一阶段运动向量识别的参考图片的块确定子PU中的每一者的第二阶段运动信息,其中子PU中的每一者的第二阶段运动信息包含至少一个运动向量及相关联的参考索引(164)。在一些情况下,子PU中的每一者的第二阶段运动信息可包含对应于第一和第二参考图片列表中的每一者的运动向量。在其中子PU中的一者的第二阶段运动信息的运动向量中的至少一者不可用的情况下,运动补偿单元72可使用子PU中的所述一者的代表性运动向量,例如第一阶段运动向量。
[0411] 在一些实例中,作为纯粹在合并模式中操作的替代,可启用类似于AMVP模式的运动向量细化。运动补偿单元72可确定使用高级TMVP模式预测的当前PU的运动细化数据。在一种情况下,运动补偿单元72可确定适用于子PU中的一或多者的第二阶段运动信息的运动向量差。如上文所描述,可在包含在经编码视频位流中的运动信息中发信号通知运动向量差。在此实例中,为指示使用运动细化数据预测当前PU的高级TMVP 模式的性能,运动补偿单元72可产生用于PU的AMVP模式候选者列表中的高级TMVP 候选者,其中对高级TMVP候选者的选择指示使用运动细化数据预测PU的高级TMVP 模式的性能。
[0412] 运动补偿单元72基于子PU中的每一者的第二阶段运动信息执行运动补偿以单独地预测子PU中的每一者(166)。在运动补偿期间产生PU的子PU中的每一者的预测块之后,视频解码器30基于子PU中的每一者的对应残差块及预测块的经重构版本而产生视频块的经重构版本。
[0413] 在一或多个实例中,所描述的功能可以用硬件、软件、固件或其任何组合来实施。如果以软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体一般可对应于(1) 非暂时性的有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
[0414] 举例来说且并非限制,所述计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM 或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,任何连接可恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它瞬时媒体,而是实际上针对非瞬时的有形存储媒体。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式重现数据,而光盘使用激光以光学方式重现数据。上述各者的组合也应包含在计算机可读媒体的范围内。
[0415] 指令可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
[0416] 本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或 IC组(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示技术的装置的功能方面,但不必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件及/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
[0417] 已描述各种实例。这些及其它实例在所附权利要求书的范围内。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈