掌桥专利:专业的专利平台
掌桥专利
首页

图像解码和编码方法、存储介质及数据的发送方法

文献发布时间:2024-04-18 20:01:23


图像解码和编码方法、存储介质及数据的发送方法

本申请是原案申请号为201980005219.1的发明专利申请(国际申请号:PCT/KR2019/011827,申请日:2019年9月11日,发明名称:在图像编码系统中基于以子块为单元进行的运动预测的图像解码方法和设备)的分案申请。

技术领域

本文件涉及图像编码技术,并且更具体地,涉及在图像编码系统中基于使用用于导出子块单元的运动信息的运动候选列表进行的运动预测的图像解码方法和设备。

背景技术

如今,在各个领域中对诸如4K、8K或更高的超高清(UHD)图像/视频这样的高分辨率和高质量图像/视频的需求已经不断增长。随着图像/视频数据变成更高分辨率和更高质量,与传统图像数据相比,所发送的信息量或比特量增加。因此,当使用诸如传统有线/无线宽带线这样的介质来发送图像数据或者使用现有存储介质来存储图像/视频数据时,其传输成本和存储成本增加。

另外,如今,对于诸如虚拟现实(VR)和人工现实(AR)内容或全息图等这样的沉浸式媒体的兴趣和需求正在增加,并且对具有与诸如游戏图像这样的真实图像不同的图像特征的图像/视频的广播正在增加。

因此,需要有效地压缩并发送或存储以及再现具有如上所述的各种特征的高分辨率和高质量图像/视频的信息的高效图像/视频压缩技术。

发明内容

技术问题

本文件中要解决的一个技术问题在于提供一种提高图像编码效率的方法和设备。

本文件中要解决的另一个技术问题在于提供一种通过只有在针对CP的所有候选运动向量可用时才基于邻近块导出构造的仿射MVP候选来配置当前块的仿射MVP候选列表并且基于所配置的仿射MVP候选列表对当前块执行预测的图像解码方法和设备。

本文件中要解决的另一个技术问题在于提供一种当可用的继承的仿射MVP候选和所构造的仿射MVP候选的数目小于MVP候选列表的候选的最大数目时使用在导出所构造的仿射MVP候选的处理中已导出的候选运动向量作为添加的仿射MVP候选来导出仿射MVP候选并且基于所配置的仿射MVP候选列表对当前块执行预测的图像解码方法和设备。

技术方案

根据本文件的示例,提供了一种由解码设备进行的图像解码方法,该图像解码方法包括以下步骤:从比特流获得针对当前块的运动预测信息;配置针对所述当前块的仿射运动向量预测项(MVP)候选列表;基于所述仿射MVP候选列表来导出针对所述当前块的控制点(CP)的控制点运动向量预测项(CPMVP);基于所述运动预测信息来导出针对所述当前块的CP的控制点运动向量差(CPMVD);基于所述CPMVP和CPMVD来导出针对所述当前块的CP的控制点运动向量CPMV;基于所述CPMV来导出针对所述当前块的预测样本;以及基于所导出的预测样本来生成针对所述当前块的重构图片,其中,配置所述仿射MVP候选列表的步骤包括以下步骤:检查第一仿射MVP候选是否可用,其中,当用仿射运动模型对左块组中的第一块进行编码并且所述第一块的参考图片索引与所述当前块的参考图片索引相同时,所述第一仿射MVP候选可用;检查第二仿射MVP候选是否可用,其中,当用所述仿射运动模型对上块组中的第二块进行编码并且所述第二块的参考图片索引与所述当前块的参考图片索引相同时,所述第二仿射MVP候选可用;当可用的仿射MVP候选的数目小于2时,检查第三仿射MVP候选是否可用,其中,当针对应用于帧间预测的4参数仿射模型分别从所述当前块的左上块组和所述当前块的右上块组导出针对所述当前块的CP0的第一运动向量和针对所述当前块的CP1的第二运动向量时,所述第三仿射MVP候选可用,并且其中,当针对应用于帧间预测的6参数仿射模型分别从所述当前块的左上块组、所述当前块的右上块组和所述左块组导出针对所述当前块的CP0的第一运动向量、针对所述当前块的CP1的第二运动向量和针对所述当前块的CP2的第三运动向量时,所述第三仿射MVP候选可用;当可用的仿射MVP候选的数目小于2并且所述第一运动向量可用时,导出第四仿射MVP候选,其中,所述第四仿射MVP候选包括针对所述CP0的运动向量作为针对所述CP的候选运动向量;当可用的仿射MVP候选的数目小于2并且所述第二运动向量可用时,导出第五仿射MVP候选,其中,所述第五仿射MVP候选包括针对所述CP1的运动向量作为针对所述CP的候选运动向量;当可用的仿射MVP候选的数目小于2并且针对所述当前块的CP2的第三运动向量可用时,导出第六仿射MVP候选,其中,所述第六仿射MVP候选包括所述第三运动向量作为针对所述CP的候选运动向量;当可用的仿射MVP候选的数目小于2并且基于所述当前块的时间邻近块导出的时间MVP候选可用时,导出第七仿射MVP候选,所述第七仿射MVP候选包括时间MVP作为针对所述CP的候选运动向量;以及当可用的仿射MVP候选的数目小于2时,导出第八仿射MVP候选,所述第八仿射MVP候选包括零运动向量作为针对所述CP的候选运动向量。

根据本发明的示例,提供了一种由编码设备进行的图像编码方法,该图像编码方法包括以下步骤:配置针对当前块的仿射运动向量预测项(MVP)候选列表;基于所述仿射MVP候选列表来导出针对所述当前块的控制点(CP)的控制点运动向量预测项(CPMVP);导出针对所述当前块的所述CP的CPMV;基于所述CPMVP和CPMV来导出针对所述当前块的CP的控制点运动向量差(CPMVD);以及对包括关于所述CPMVD的信息的运动预测信息进行编码,其中,配置所述仿射MVP候选列表的步骤包括以下步骤:检查第一仿射MVP候选是否可用,其中,当用仿射运动模型对左块组中的第一块进行编码并且所述第一块的参考图片索引与所述当前块的参考图片索引相同时,所述第一仿射MVP候选可用;检查第二仿射MVP候选是否可用,其中,当用仿射运动模型对上块组中的第二块进行编码并且所述第二块的参考图片索引与所述当前块的参考图片索引相同时,所述第二仿射MVP候选可用;当可用的仿射MVP候选的数目小于2时,检查第三仿射MVP候选是否可用,其中,当针对应用于帧间预测的4参数仿射模型分别从所述当前块的左上块组和所述当前块的右上块组导出针对所述当前块的CP0的第一运动向量和针对所述当前块的CP1的第二运动向量时,所述第三仿射MVP候选可用,并且其中,当针对应用于帧间预测的6参数仿射模型分别从所述当前块的左上块组、所述当前块的右上块组和所述左块组导出针对所述当前块的CP0的第一运动向量、针对所述当前块的CP1的第二运动向量和针对所述当前块的CP2的第三运动向量时,所述第三仿射MVP候选可用;当可用的仿射MVP候选的数目小于2并且所述第一运动向量可用时,导出第四仿射MVP候选,其中,所述第四仿射MVP候选包括针对所述CP0的运动向量作为针对所述CP的候选运动向量;当可用的仿射MVP候选的数目小于2并且所述第二运动向量可用时,导出第五仿射MVP候选,其中,所述第五仿射MVP候选包括针对所述CP1的运动向量作为针对所述CP的候选运动向量;当可用的仿射MVP候选的数目小于2并且针对所述当前块的CP2的第三运动向量可用时,导出第六仿射MVP候选,其中,所述第六仿射MVP候选包括所述第三运动向量作为针对所述CP的候选运动向量;当可用的仿射MVP候选的数目小于2并且基于所述当前块的时间邻近块导出的时间MVP候选可用时,导出第七仿射MVP候选,所述第七仿射MVP候选包括时间MVP作为针对所述CP的候选运动向量;以及当可用的仿射MVP候选的数目小于2时,导出第八仿射MVP候选,所述第八仿射MVP候选包括零运动向量作为针对所述CP的候选运动向量。

有益效果

根据本文件的示例,能够提高常规图像/视频压缩效率。

根据本文件,能够基于仿射运动预测来提高图像编码效率。

根据本文件,在导出仿射MVP候选列表时,只有当针对所构造的仿射MVP候选的CP的所有候选运动向量都可用时,才可以添加所构造的仿射MVP候选,据此能够降低导出所构造的仿射MVP候选的处理和配置仿射MVP候选列表的处理的复杂度,并且能够提高编码效率。

根据本文件,在导出仿射MVP候选列表时,可以基于在导出所构造的仿射MVP候选的处理中导出的针对CP的候选运动向量来导出附加的仿射MVP候选,据此能够降低配置仿射MVP候选列表的处理的复杂度,并且能够提高编码效率。

根据本文件,在导出继承的仿射MVP候选的处理中,只有当上邻近块被包括在当前CTU中时,可以使用上邻近块来导出继承的仿射MVP候选,据此能够减少用于仿射预测的行缓冲区的存储量,并且能够使硬件成本最小化。

附图说明

图1示意性地呈现可以应用本文件的视频/图像编码系统的示例。

图2是示意性地描述可以应用本文件的视频/图像编码设备的配置的图。

图3是示意性地描述可以应用本文件的视频/图像解码设备的配置的图。

图4呈现基于帧间预测的视频/图像编码方法的示例。

图5呈现基于帧间预测的视频/图像编码方法的示例。

图6例示性地呈现帧间预测过程。

图7例示性地呈现通过仿射运动模型表示的运动。

图8例示性地呈现使用针对三个控制点的运动向量的仿射运动模型。

图9例示性地呈现使用针对两个控制点的运动向量的仿射单元的运动模型。

图10例示性地呈现基于仿射运动模型以子块为单元导出运动向量的方法。

图11例示性地呈现用于导出继承的仿射候选的邻近块。

图12例示性地呈现用于所构造的仿射候选的空间候选。

图13例示性地呈现配置仿射MVP列表的示例。

图14呈现导出所构造的候选的示例。

图15呈现导出所构造的候选的示例。

图16例示性地呈现被扫描以导出继承的仿射候选的邻近块位置。

图17例示性地呈现被扫描以导出继承的仿射候选的邻近块位置。

图18例示性地呈现用于导出继承的仿射候选的位置。

图19呈现配置当前块的合并候选列表的示例。

图20呈现根据本文件的示例的用于导出所构造的候选的当前块的邻近块。

图21呈现导出针对应用于当前块的4仿射运动模型的所构造的候选的示例。

图22呈现导出针对应用于当前块的6仿射运动模型的所构造的候选的示例。

图23a和图23b例示性地呈现导出继承的仿射候选的示例。

图24示意性地呈现根据本文件的由编码设备进行的图像编码方法。

图25示意性地呈现根据本文件的执行图像编码方法的编码设备。

图26示意性地呈现根据本文件的由解码设备进行的图像解码方法。

图27示意性地呈现根据本文件的执行图像解码方法的解码设备。

图28例示性地呈现可以应用本文件中公开的实施方式的内容流传输系统结构图。

具体实施方式

尽管本文件可能易于进行各种修改并且包括各种实施方式,但是其具体实施方式已在附图中通过示例的方式示出,并且现在将对其进行详细描述。然而,这并不旨在将本文件限制于本文中公开的具体实施方式。本文中使用的术语只是出于描述特定实施方式的目的,而不旨在限制本文件的技术思路。单数形式可以包括复数形式,除非上下文中另外清楚指示。诸如“包括”和“具有”这样的术语旨在指示存在以下描述中使用的特征、数字、步骤、操作、元件、组件或其组合,因此不应该被理解为预先排除了存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合的可能性。

此外,为了方便描述彼此不同的特性功能,独立地例示了本文中描述的附图上的各组件,然而,并不意指各组件由单独的硬件或软件来实现。例如,可以组合这些组件中的任何两个或更多个以形成单个组件,并且任何单个组件可以被划分成多个组件。其中组件被组合和/或划分的实施方式将属于本文件的专利权的范围,只要它们不脱离本文件的实质即可。

下文中,将在参照附图的同时更详细地说明本文件的优选实施方式。另外,在附图上,相同的附图标记用于相同的组件,并且将省略对相同组件的重复描述。

图1示意性地呈现可以应用本文件的视频/图像编码系统的示例。

参照图1,视频/图像编码系统可以包括第一装置(源装置)和第二装置(接收装置)。源装置可以经由数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据传递到接收装置。

源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以被包括在编码设备中。接收器可以被包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的装置或外部组件。

视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。

编码设备可以对输入视频/图像进行编码。编码设备可以执行诸如针对压缩和编码效率的预测、变换和量化这样的一系列过程。编码后的数据(编码后的视频/图像信息)可以以比特流的形式输出。

发送器可以通过数字存储介质或网络以文件或流传输的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收装置的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码设备。

解码设备可以通过执行与编码设备的操作对应的诸如反量化、逆变换、预测等这样的一系列过程来解码视频/图像。

渲染器可以渲染解码后的视频/图像。可以通过显示器显示渲染后的视频/图像。

本文件涉及视频/图像编码。例如,本文件中公开的方法/实施方式可以应用于以通用视频编码(VVC)标准、基本视频编码(EVC)标准、AOMedia Video 1(AV1)标准、第二代音频视频编码标准(AVS2)或下一代视频/图像编码标准(例如,H.267、H.268等)公开的方法。

在本文件中,可以提供与视频/图像编码相关的各种实施方式,并且除非相反地指定,否则这些实施方式可以被彼此组合并执行。

在本文件中,视频可以意指随时间推移的一系列图像的集合。通常,图片意指表示特定时间区域的图像的单元,并且切片/图块(tile)是构成图片的一部分的单元。切片/图块可以包括一个或更多个编码树单元(CTU)。一幅图片可以由一个或更多个切片/图块构成。一幅图片可以由一个或更多个图块组构成。一个图块组可以包括一个或更多个图块。块部(brick)可以表示图片中的图块内的CTU行的矩形区域。图块可以被分割成多个块部,各块部由图块内的一个或更多个CTU行组成。没有被分割成多个块部的图块也可以称为块部。块部扫描可以是如下的分割图片的CTU的特定顺序排序:可以在块部中按CTU光栅扫描对CTU进行排序,可以按图块的块部的光栅扫描对图块内的块部进行连续排序,并且可以按图片的图块的光栅扫描对图片中的图块进行连续排序(块部扫描是如下的分割图片的CTU的特定顺序排序:在块部中按CTU光栅扫描对CTU进行连续排序,按图块的块部的光栅扫描对图块内的块部进行连续排序,并且按图片的图块的光栅扫描对图片中的图块进行连续排序)。图块是特定图块列和特定图块行内的CTU的矩形区域(图块是图片中的特定图块列和特定图块行内的CTU的矩形区域)。图块列是CTU的高度等于图片的高度并且宽度由图片参数集中的语法元素指定的矩形区域。图块行是CTU的宽度由图片参数集中的语法元素指定并且高度等于图片的高度的矩形区域(图块行是CTU的高度由图片参数集中的语法元素指定并且宽度等于图片的宽度的矩形区域)。块部扫描可以是以下的分割图片的CTU的特定顺序排序:可以在图块中按CTU光栅扫描对CTU进行连续排序,而可以按图片的图块的光栅扫描对图片中的图块进行连续排序(图块扫描可以是以下的分割图片的CTU的特定顺序排序:可以在图块中按CTU光栅扫描对CTU进行连续排序,而可以按图片的图块的光栅扫描对图片中的图块进行连续排序)。切片可以包括图片的可以被包含在单个NAL单元中的整数个块部(切片包括图片的可以被排他性地包含在单个NAL单元中的整数个块部)。切片可以由多个完整图块组成或者仅由一个图块的连续序列的完整块部组成。在本文件中,可以将图块组与切片彼此互换地使用。例如,在本文件中,图块组/图块组头可以被称为切片/切片头。

像素或pel可以意指构成一幅图片(或图像)的最小单元。另外,“样本”可以被用作与像素对应的术语。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。

单元可以表示图像处理的基本单元。单元可以包括特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在通常情况下,M×N块可以包括由M列和N行组成的样本(或样本阵列)或变换系数的集合(或阵列)。

在该文件中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“A/B”可以意指“A和/或B”。另外,“A、B”可以意指“A和/或B”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,“A、B、C”可以意指“A、B和/或C中的至少一个”。(在本文件中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“A/B”可以意指“A和/或B”。另外,“A、B”可以意指“A和/或B”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。)

另外,在该文件中,术语“或”应该被解释为指示“和/或”。例如,表述“A或B”可以包括1)“仅A”、2)“仅B”和/或3)“A和B”二者。换句话说,本文件中的术语“或”应该被解释为指示“另外地或另选地”。(另外,在该文件中,术语“或”应该被解释为指示“和/或”。例如,表述“A或B”可以包括1)仅A、2)仅B和/或3)A和B二者。换句话说,本文件中的术语“或”应该被解释为指示“另外地或另选地”。)

图2是示意性地描述可以应用本文件的视频/图像编码设备的配置的图。下文中,所谓的视频编码设备可以包括图像编码设备。

参照图2,编码设备200可以包括图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250、滤波器260和存储器270。预测器220可以包括帧间预测器221和帧内预测器222。残差处理器230可以包括变换器232、量化器233、反量化器234、逆变换器235。残差处理器230还可以包括减法器231。加法器250可以被称为重构器或重构块生成器。根据实施方式,上面已描述的图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可以由一个或更多个硬件组件(例如,编码器芯片组或处理器)构成。另外,存储器270可以包括解码图片缓冲器(DPB),并且可以由数字存储介质构成。硬件组件还可以包括存储器270作为内部/外部组件。

图像分割器210将输入到编码设备200的输入图像(或图片或帧)分割成一个或更多个处理单元。作为一个示例,处理单元可以被称为编码单元(CU)。在这种情况下,从编码树单元(CTU)或最大编码单元(LCU)开始,可以根据四叉树二叉树三叉树(QTBTTT)结构来递归地分割编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元划分成深度更深的多个编码单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三叉树结构。另选地,可以首先应用二叉树结构。可以基于没有被进一步分割的最终编码单元来执行根据本文件的编码过程。在这种情况下,基于根据图像特性的编码效率,可以将最大编码单元直接用作最终编码单元。另选地,可以按需要将编码单元递归地分割成深度进一步更深的编码单元,使得可以将最佳大小的编码单元用作最终编码单元。这里,编码过程可以包括随后将描述的诸如预测、变换和重构这样的过程。作为另一示例,处理单元还可以包括预测单元(PU)或变换单元(TU)。在这种情况下,可以从上述的最终编码单元划分或分割预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于导出变换系数的单元和/或用于根据变换系数导出残差信号的单元。

根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在常规情况下,M×N块可以表示由M列和N行组成的样本或变换系数的集合。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。样本可以被用作与一个图片(或图像)的像素或pel对应的术语。

在编码设备200中,从输入图像信号(原始块、原始样本阵列)中减去从帧间预测器221或帧内预测器222输出的预测信号(预测块、预测样本阵列)以生成残差信号(残差块、残差样本阵列),并且所生成的残差信号被发送到变换器232。在这种情况下,如所示出的,在编码设备200中从输入图像信号(原始块、原始样本阵列)中减去预测信号(预测块、预测样本阵列)的单元可以被称为减法器231。预测器可以对处理目标块(下文中,被称为“当前块”)执行预测,并且可以生成包括针对当前块的预测样本的预测块。预测器可以确定以当前块或CU为基础应用帧内预测还是帧间预测。如随后在对每种预测模式的描述中所讨论的,预测器可以生成诸如预测模式信息这样的与预测相关的各种信息,并且将所生成的信息发送到熵编码器240。关于预测的信息可以在熵编码器240中被编码并且以比特流的形式被输出。

帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33种定向预测模式或65种定向预测模式。然而,这仅仅是示例,并且根据设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。

帧间预测器221可以基于参考图片上的运动向量所指定的参考块(参考样本阵列)来导出针对当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以彼此相同或彼此不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等,并且包括时间邻近块的参考图片可以被称为并置图片(colPic)。例如,帧间预测器221可以基于邻近块来配置运动信息候选列表,并且生成指示哪个候选被用于导出当前块的运动向量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳变模式和合并模式的情况下,帧间预测器221可以使用邻近块的运动信息作为当前块的运动信息。在跳变模式下,与合并模式不同,不能发送残差信号。在运动信息预测(运动向量预测、MVP)模式的情况下,邻近块的运动向量可以被用作运动向量预测项,并且可以通过发信号通知运动向量差来指示当前块的运动向量。

预测器220可以基于各种预测方法来生成预测信号。例如,预测器可以将帧内预测或帧间预测应用于对一个块的预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以基于块内复制(IBC)预测模式或调色板模式,以便对块执行预测。IBC预测模式或调色板模式可以被用于诸如屏幕内容编码(SCC)这样的游戏等的内容图像/视频编码。尽管IBC基本上在当前块中执行预测,但是其执行方式与帧间预测的相似之处在于,它导出当前块中的参考块。即,IBC可以使用本文件中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编码或帧内预测的示例。当应用调色板模式时,可以基于关于调色板索引和调色板表的信息来发信号通知图片中的样本值。

通过预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可以被用于生成重构信号或者生成残差信号。变换器232可以通过向残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loève变换(KLT)、基于图的变换(GBT)或有条件非线性变换(CNT)中的至少一种。这里,GBT意指当用曲线图表示像素之间的关系信息时从曲线图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而获得的变换。另外,变换处理可以被应用于大小相同的正方形像素块,或者可以应用于大小可变的块而非正方形的块。

量化器233可以对变换系数进行量化并且将它们发送到熵编码器240,并且熵编码器240可以对量化后的信号(关于量化后的变换系数的信息)进行编码并且输出比特流中的编码后的信号。关于量化后的变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块类型的量化后的变换系数重新布置成一维向量形式,并且基于一维向量形式的量化后的变换系数来生成关于量化后的变换系数的信息。熵编码器240可以执行诸如例如指数哥伦布(exponential Golomb)、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等这样的各种编码方法。熵编码器240可以对除了量化后的变换系数(例如,语法元素的值等)之外的视频/图像重构所需的信息一起或分别进行编码。编码后的信息(例如,编码后的视频/图像信息)可以以比特流的形式在网络抽象层(NAL)的单元基础上进行发送或存储。视频/图像信息还可以包括关于诸如适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)等这样的各种参数集的信息。另外,视频/图像信息还可以包括常规约束信息。在本文件中,从编码设备发送到/发信号通知给解码设备的信息和/或语法元素可以被包括在视频/图像信息中。视频/图像信息可以通过上述编码过程进行编码并且被包括在比特流中。可以通过网络传输比特流,或者将其存储在数字存储介质中。这里,网络可以包括广播网络、通信网络和/或类似物,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送从熵编码器240输出的信号的发送器(未示出)或存储其的存储器(未示出)可以被配置为编码设备200的内部/外部元件,或者发送器可以被包括在熵编码器240中。

从量化器233输出的量化后的变换系数可以被用于生成预测信号。例如,通过利用反量化器234和逆变换器235向量化后的变换系数应用反量化和逆变换,可以重构残差信号(残差块或残差样本)。加法器155将重构后的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加,使得可以生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳变模式的情况下一样没有针对处理目标块的残差时,可以将预测块用作重构块。加法器250可以被称为重构器或重构块生成器。所生成的重构信号可以被用于当前块中的下一处理目标块的帧内预测,并且如随后描述的,可以被用于通过滤波进行的下一图片的帧间预测。

此外,在图片编码和/或重构处理中,可以应用具有色度缩放的亮度映射(LMCS)。

滤波器260可以通过向重构信号应用滤波来改善主观/客观视频质量。例如,滤波器260可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且可以将修改后的重构图片存储在存储器270中,尤其是存储在存储器270的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环形滤波器、双边滤波器等。如随后在对每种滤波方法的描述中所讨论的,滤波器260可以生成与滤波相关的各种信息,并且将所生成的信息发送到熵编码器240。关于滤波的信息可以在熵编码器240中被编码并且以比特流的形式被输出。

已发送到存储器270的修改后的重构图片可以被用作帧间预测器221中的参考图片。据此,编码设备可以避免在应用帧间预测时编码设备100和解码设备中的预测失配,并且还可以提高编码效率。

存储器270DPB可以存储修改后的重构图片,以便使用它作为帧间预测器221中的参考图片。存储器270可以存储从中已导出(或编码了)运动信息的当前图片中的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被发送到帧间预测器221,以被用作邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器222。

图3是示意性地描述可以应用本文件的视频/图像解码设备的配置的图。

参照图3,视频解码设备300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可以包括帧间预测器332和帧内预测器331。残差处理器320可以包括反量化器321和逆变换器322。根据实施方式,上面已描述的熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由一个或更多个硬件组件(例如,解码器芯片组或处理器)构成。另外,存储器360可以包括解码图片缓冲器(DPB),并且可以由数字存储介质构成。硬件组件还可以包括存储器360作为内部/外部组件。

当输入包括视频/图像信息的比特流时,解码设备300可以与据此已在图2的编码设备中处理视频/图像信息的处理对应地重构图像。例如,解码设备300可以基于与从比特流获得的与块分割相关的信息来导出单元/块。解码设备300可以通过使用在编码设备中应用的处理单元来执行解码。因此,解码的处理单元可以是例如编码单元,可以用编码树单元或最大编码单元顺着四叉树结构、二叉树结构和/或三叉树结构对其进行分割。可以用编码单元导出一个或更多个变换单元。并且,可以通过再现器来再现通过解码设备300解码并输出的重构图像信号。

解码设备300可以以比特流的形式接收从图2的编码设备输出的信号,并且可以通过熵解码器310对接收到的信号进行解码。例如,熵解码器310可以对比特流进行解析,以导出图像重构(或图片重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)等这样的各种参数集的信息。另外,视频/图像信息还可以包括常规约束信息。解码设备可以进一步基于关于参数集的信息和/或常规约束信息对图片进行解码。在本文件中,随后将描述的发信号通知/接收的信息和/或语法元素可以通过解码过程被解码并且从比特流中获得。例如,熵解码器310可以基于诸如指数哥伦布编码、CAVLC、CABAC等这样的编码方法对比特流中的信息进行解码,并且可以输出图像重构所需的语法元素的值和关于残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中的各语法元素对应的bin,使用解码目标语法元素信息以及邻近和解码目标块的解码信息或者在先前步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且对bin执行算术解码以生成与每个语法元素值对应的符号。这里,CABAC熵解码方法可以在确定上下文模型之后使用针对下一个符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。在熵解码器310中解码的信息当中的关于预测的信息可以被提供到预测器(帧间预测器332和帧内预测器331),并且在熵解码器310中已对其执行了熵解码的残差值(即,量化后的变换系数)和关联的参数信息可以被输入到残差处理器320。残差处理器320可以导出残差信号(残差块、残差样本、残差样本阵列)。另外,在熵解码器310中解码的信息当中的关于滤波的信息可以被提供到滤波器350。此外,接收从编码设备输出的信号的接收器(未示出)还可以将解码设备300构成为内部/外部元件,并且接收器可以是熵解码器310的组件。此外,根据本文件的解码设备可以被称为视频/图像/图片编码设备,并且解码设备可以被分为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器310,并且样本解码器可以包括反量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。

反量化器321可以通过对量化后的变换系数进行反量化来输出变换系数。反量化器321可以将量化后的变换系数重新布置为二维块的形式。在这种情况下,可以基于已在编码设备中执行的系数扫描的顺序来执行重新布置。反量化器321可以使用量化参数(例如,量化步长信息)对量化后的变换系数执行反量化,并且获得变换系数。

逆变换器322通过对变换系数进行逆变换来获得残差信号(残差块、残差样本阵列)。

预测器可以对当前块执行预测,并且生成包括针对当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且具体地可以确定帧内/帧间预测模式。

预测器330可以基于各种预测方法来生成预测信号。例如,预测器可以将帧内预测或帧间预测应用于对一个块的预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以基于块内复制(IBC)预测模式或调色板模式,以便对块执行预测。IBC预测模式或调色板模式可以被用于诸如屏幕内容编码(SCC)这样的游戏等的内容图像/视频编码。尽管IBC基本上在当前块中执行预测,但是其执行方式与帧间预测的相似之处在于,它导出当前块中的参考块。即,IBC可以使用本文件中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编码或帧内预测的示例。当应用调色板模式时,关于调色板表和调色板索引的信息可以被包括在视频/图像信息中并被发信号通知。

帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。

帧间预测器332可以基于参考图片上的运动向量所指定的参考块(参考样本阵列)来导出针对当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并且基于接收到的候选选择信息来导出当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。

加法器340将所获得的残差信号与从预测器(帧间预测器332或帧内预测器331)输出的预测信号(预测块、预测样本阵列)相加,使得可以生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳变模式的情况下一样没有针对处理目标块的残差时,可以将预测块用作重构块。

加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以被用于当前块中的下一处理目标块的帧内预测,并且如随后描述的,可以通过滤波来输出或者被用于下一图片的帧间预测。

此外,在图片解码处理中,可以应用具有色度缩放的亮度映射(LMCS)。

滤波器350可以通过向重构后的信号应用滤波来改善主观/客观视频质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且可以将修改后的重构图片发送到存储器360中,尤其是发送到存储器360的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环形滤波器、双边滤波器等。

已存储在存储器360的DPB中的(修改后的)重构图片可以被用作帧间预测器332中的参考图片。存储器360可以存储从中已导出(或解码了)运动信息的当前图片中的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被发送到帧间预测器332,以被用作邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器331。

在本说明书中,在编码设备200的滤波器260、帧间预测器221和帧内预测器222中描述的实施方式可以类似地或对应地应用于解码设备300的滤波器350、帧间预测器332和帧内预测器331。

如上所述,执行预测,以便提高执行视频编码时的压缩效率。据此,可以生成包括针对作为编码目标块的当前块的预测样本的预测块。这里,预测块包括空间域(或像素域)中的预测样本。可以在编码设备和解码设备中相同地导出预测块,并且编码设备可以通过向解码设备发信号通知并非原始块本身的原始样本值而是关于原始块与预测块之间的残差的信息(残差信息)来提高图像编码效率。解码设备可以基于残差信息来导出包括残差样本的残差块,通过将残差块与预测块相加来生成包括重构样本的重构块,并且生成包括重构块的重构图片。

可以通过变换过程和量化过程来生成残差信息。例如,编码设备可以导出原始块与预测块之间的残差块,通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来导出变换系数,并且通过对变换系数执行量化过程来导出量化后的变换系数,使得它可以(通过比特流)向解码设备发信号通知关联的残差信息。这里,残差信息可以包括量化后的变换系数的值信息、位置信息、变换技术、变换核、量化参数等。解码设备可以基于残差信息来执行量化/反量化过程并且导出残差样本(或残差样本块)。解码设备可以基于预测块和残差块来生成重构块。编码设备可以通过对量化后的变换系数进行反量化/逆变换来导出残差块以便作为下一个图片的帧间预测的参考,并且可以基于此来生成重构图片。

当应用帧间预测时,编码设备/解码设备的预测器可以以块单元为基础执行帧间预测并且导出预测样本。帧间预测可以是以取决于除了当前图片之外的图片的数据元素(例如,样本值或运动信息)的方式导出的预测。当向当前块应用帧间预测时,可以基于参考图片索引指示的参考图片上的运动向量所指定的参考块(参考样本阵列)来导出针对当前块的预测块(预测样本阵列)。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础的单元来预测当前块的运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测类型(L0预测、L1预测、Bi预测等)信息。在应用帧间预测时,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以彼此相同或彼此不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等,并且包括时间邻近块的参考图片可以被称为并置图片(colPic)。例如,可以基于当前块的邻近块来配置运动信息候选列表,并且可以发信号通知指示为了导出当前块的运动向量和/或参考图片索引而选择(使用)哪个候选的标志或索引信息。可以基于各种预测模式来执行帧间预测。例如,在跳变模式和(正常)合并模式的情况下,当前块的运动信息可以与所选择的邻近块的运动信息相同。在跳变模式下,与合并模式不同,不能发送残差信号。在运动信息预测(运动向量预测(MVP))模式的情况下,所选择的邻近块的运动向量可以被用作运动向量预测项,并且可以发信号通知运动向量差。在这种情况下,可以使用运动向量预测项和运动向量差之和来导出当前块的运动向量。

基于帧间预测的视频/图像编码过程可以示意性地包括例如以下内容。

图4呈现了基于帧间预测的视频/图像编码方法的示例。

编码设备对当前块执行帧间预测(S400)。编码设备可以导出当前块的帧间预测模式和运动信息,并且生成针对当前块的预测样本。这里,帧间预测模式确定、运动信息导出和预测样本生成过程可以被同时执行,或者被一个接一个地执行。例如,编码设备的帧间预测器可以包括预测模式确定部、运动信息导出部和预测样本导出部。预测模式确定部可以确定针对当前块的预测模式,运动信息导出部可以导出当前块的运动信息,并且预测样本导出部可以导出当前块的预测样本。例如,编码设备的帧间预测器可以通过运动估计在参考图片的一定区域(搜索区域)中搜索与当前块相似的块,并且导出与当前块的差异最小或者小于或等于一定水平的参考块。基于此,可以导出指示参考块所处的参考图片的参考图片索引,并且基于参考块与当前块之间的位置差异,可以导出运动向量。编码设备可以从各种预测模式当中确定被应用于当前块的模式。编码设备可以将针对各种预测模式的RD成本进行比较,并且确定针对当前块的最佳预测模式。

例如,当向当前块应用跳变模式或合并模式时,编码设备可以配置随后将描述的合并候选列表,并且导出合并候选列表中所包括的合并候选指示的参考块当中的与当前块的差异最小或者小于或等于一定水平的参考块。在这种情况下,可以选择与导出的参考块关联的合并候选,并且可以生成并向解码设备发信号通知指示所选择的合并候选的合并索引信息。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。

作为另一示例,当向当前块应用(A)MVP模式时,编码设备可以配置(A)MVP候选列表,并且使用在(A)MVP候选列表中所包括的mvp(运动向量预测项)候选当中选择的一个mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计导出的参考块的运动向量可以被用作当前块的运动向量,并且在mvp候选当中,具有与当前块的运动向量的差异最小的运动向量的mvp候选可以是被选择的mvp候选。可以导出作为通过从当前块的运动向量中减去mvp而获得的差的MVD(运动向量差)。在这种情况下,可以将关于MVD的信息发信号通知给解码设备。另外,当应用(A)MVP模式时,参考图片索引的值可以被配置为参考图片索引信息并且被分别发信号通知给解码设备。

编码设备可以基于预测样本来导出残差样本(S410)。编码设备可以经由对当前块的原始样本与预测样本进行比较来导出残差样本。

编码设备对包括预测信息和残差信息的图像信息进行编码(S420)。编码设备可以以比特流的形式输出编码后的图像信息。预测信息可以包括预测模式信息(例如,跳变标志、合并标志、模式索引等)和关于运动信息的信息作为关于预测过程的信息。关于运动信息的信息可以包括作为用于导出运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。另外,关于运动信息的信息可以包括关于上述MVD的信息和/或参考图片索引信息。另外,关于运动信息的信息可以包括指示是否应用了L0预测、L1预测或双向预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于针对残差样本的量化后的变换系数的信息。

输出比特流可以被存储在(数字)存储介质中并且被传递到解码设备,或者可以通过网络被传递到解码设备。

此外,如上所述,编码设备可以基于参考样本和残差样本来生成重构图片(包括重构样本和重构块)。这是为了在编码设备中导出与解码设备中执行的预测结果相同的预测结果,并且原因在于能够据此提高编码效率。因此,编码设备可以将重构图片(或重构样本、重构块)存储在存储器中,并且利用它作为用于帧间预测的参考图片。还可以向如上所述的重构图片应用环内滤波过程。

基于帧间预测的视频/图像解码过程可以示意性地包括例如以下内容。

图5表示基于帧间预测的视频/图像解码方法的示例。

参照图5,解码设备可以执行与在编码设备中已执行的操作对应的操作。解码设备可以对当前块执行预测,并且基于接收到的预测信息来导出预测样本。

具体地,解码设备可以基于接收到的预测信息来确定针对当前块的预测模式(S500)。解码设备可以基于预测信息中的预测模式信息来确定向当前块应用哪种帧间预测模式。

例如,可以基于合并标记来确定是将合并模式应用于当前块还是确定(A)MVP模式。另选地,可以基于模式索引从各种帧间预测模式候选当中选择一种帧间预测模式。帧间预测模式候选可以包括跳变模式、合并模式和/或(A)MVP模式,或者可以包括随后将描述的各种帧间预测模式。

解码设备基于所确定的帧间预测模式来导出当前块的运动信息(S510)。例如,当向当前块应用跳变模式或合并模式时,解码设备可以配置随后将描述的合并候选列表,并且选择合并候选列表中所包括的合并候选中的一个。可以基于上述选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。所选择的合并候选的运动信息可以被用作当前块的运动信息。

作为另一示例,当向当前块应用(A)MVP模式时,解码设备可以配置随后将描述的(A)MVP候选列表,并且使用在(A)MVP候选列表中所包括的mvp候选当中选择的运动向量预测项(MVP)候选的运动向量作为当前块的MVP。可以基于上述选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息来导出当前块的MVD,并且可以基于当前块的MVD和mvp来导出当前块的运动向量。另外,可以基于参考图片索引信息来导出当前块的参考图片索引。关于参考图片索引指示的当前块的参考图片列表中的图片可以被导出为进行当前块的帧间预测时参考的参考图片。

此外,如随后描述的,可以在不配置候选列表的情况下导出当前块的运动信息,并且在这种情况下,可以根据在随后将描述的预测模式下公开的过程来导出当前块的运动信息。在这种情况下,可以省略如上所述的候选列表的配置。

解码设备可以基于当前块的运动信息来生成针对当前块的预测样本(S520)。在这种情况下,可以基于当前块的参考图片索引来导出参考图片,并且可以使用由当前块的运动向量指示的参考图片上的参考块的样本来导出当前块的预测样本。在这种情况下,可以根据随后描述的情况进一步执行针对当前块的全部或一些预测样本的预测样本滤波过程。

例如,编码设备的帧间预测器可以包括预测模式确定部、运动信息导出部和预测样本导出部,可以基于在预测模式确定部处接收到的预测模式信息来确定针对当前块的预测模式,可以基于在运动信息导出部处接收到的关于运动信息的信息来导出当前块的运动信息(运动向量和/或参考图片索引和/或类似物),并且可以在预测样本导出部处导出当前块的预测样本。

解码设备基于接收到的残差信息来生成针对当前块的残差样本(S530)。解码设备可以基于残差样本和预测样本来生成针对当前块的重构样本,并且可以基于重构样本来生成重构图片(S540)。下文中,还可以向如上所述的重构图片应用环内滤波过程。

图6例示性地呈现了帧间预测过程。

参照图6,如上所述,帧间预测过程可以包括确定帧间预测模式、根据所确定的预测模式来导出运动信息以及基于所导出的运动信息来执行预测(生成预测样本)。帧间预测过程可以在如上所述的编码设备和解码设备中执行。在本文件中,编码设备可以包括编码设备和/或解码设备。

参照图6,解码设备确定针对当前块的帧间预测模式(S600)。可以使用各种帧间预测模式来预测图片中的当前块。例如,可以使用诸如合并模式、跳变模式、运动向量预测(MVP)模式、仿射模式、子块合并模式、与MVD模式的合并等这样的各种模式。解码器侧运动向量细化(DMVR)模式、自适应运动向量分辨率(AMVR)模式、具有CU级权重的双向预测(BCW)、双向光流(BDOF)等可以被用作附加模式,或者被用作替代。仿射模式可以被称为仿射运动预测模式。MVP模式可以被称为高级运动向量预测(AMVP)模式。在本文件中,一些模式和/或由一些模式导出的运动信息候选可以被包括作为与另一模式的运动信息相关的候选中的一个。例如,HMVP候选可以被添加为合并/跳变模式的合并候选,或者可以被添加作为MVP模式的MVP候选。当HVMP候选被用作合并模式或跳变模式的运动信息候选时,HVMP候选可以被称为HMVP合并候选。

可以从编码设备向解码设备发信号通知指示当前块的帧间预测模式的预测模式信息。预测模式信息可以被包括在比特流中并且在解码设备处被接收。预测模式信息可以包括指示多种候选模式中的一种的索引信息。另外,可以通过标志信息的分级信令来指示帧间预测模式。在这种情况下,预测模式信息可以包括一个或更多个标志。例如,可以指示是否通过发信号通知跳变标志来应用跳变模式,可以指示是否通过发信号通知针对未被应用的跳变模式的合并标志来应用合并模式,并且可以指示当未应用合并模式时应用MVP模式或者还可以发信号通知进一步分割的标志。仿射模式可以被作为独立模式发信号通知,或者可以被作为取决于合并模式、MVP模式等的模式发信号通知。例如,仿射模式可以包括仿射合并模式和仿射MVP模式。

编码设备导出针对当前块的运动信息(S610)。可以基于帧间预测模式来导出运动信息。

编码设备可以使用针对当前块的运动信息来执行帧间预测。编码设备可以通过运动估计过程来导出针对当前块的最佳运动信息。例如,编码设备可以使用针对当前块的原始图片中的原始块来搜索分数像素单元中的参考图片中的预定搜索范围中的相关性高的相似参考块,并且可以据此来导出运动信息。可以以基于相位的样本值之间的差为基础来导出块的相似度。例如,可以基于当前块(或当前块的模板)与参考块(或参考块的模板)之间的SAD来计算块的相似度。在这种情况下,可以基于在搜索区域中的具有最小SAD的参考块来导出运动信息。可以基于帧间预测模式根据各种方法将导出的运动信息发信号通知给解码设备。

编码设备基于针对当前块的运动信息来执行帧间预测(S620)。编码设备可以基于运动信息来导出针对当前块的预测样本。包括预测样本的当前块可以被称为预测块。

此外,在帧间预测的情况下,正在提出考虑图像的失真的帧间预测方法。具体地,提出了一种仿射运动模型,该仿射运动模型高效地导出针对当前块的样本块或子块的运动向量,并且尽管存在图像的诸如旋转、放大、缩小这样的变形,也提高了帧间预测的精度。即,仿射运动模型是导出针对当前块的样本点或子块的运动向量的模型,并且使用仿射运动模型的预测可以被称为仿射运动预测、仿射运动预测、子块单元的运动预测或子块运动预测。

例如,使用仿射运动模型的子块运动预测可以高效地表示随后描述的这四个运动,即,随后描述的这四个变形。

图7例示性地呈现了通过仿射运动模型表示的运动。参照图7,能够通过仿射运动模型表示的运动可以包括平移运动、缩放运动、旋转运动和剪切运动。即,如图7中所示,可以通过子块单元的运动预测高效地表示图像(或其一部分)随时间推移而在平面上移动的平移运动、图像(或其一部分)随时间推移而缩放的缩放运动、图像(或其一部分)随时间推移而旋转的旋转运动以及图像(或其一部分)随时间推移而变形为平行四边形的剪切运动。

编码设备/解码设备可以通过仿射帧间预测基于当前块的控制点(CP)处的运动向量来预测图像的失真形状,这可以造成预测精度的提高,从而改善图像的压缩性能。另外,通过使用当前块的邻近块的运动向量,可以导出针对当前块的至少一个控制点的运动向量,因此能够减少所添加的附加信息的数据量,并且显著地提高帧间预测效率。

作为仿射运动预测的一个示例,可能需要三个控制点(即,三个参考点)处的运动信息。

图8例示性地呈现使用针对三个控制点的运动向量的仿射运动模型。

如果当前块800中的左上样本位置被如图8中所示设置为(0,0),则样本位置(0,0)、(w,0)、(0,h)可以被确定为控制点。在下文中,(0,0)样本位置的控制点可以被表示为CP0;(w,0)样本位置的控制点可以被表示为CP1;并且(0,h)样本位置的控制点可以被表示为CP2。

通过使用上述多个控制点中的每一个和针对对应控制点的运动向量,可以导出针对仿射运动模型的等式。可以如下地表示针对仿射运动模型的等式:

[式1]

其中,w表示当前块800的宽度;h表示当前块800的高度;v

由于CP0的运动向量、CP1的运动向量和CP2的运动向量是已知的,因此可以基于式1来导出根据当前块中的样本位置的运动向量。即,根据仿射运动模型,可以基于目标样本的坐标(x,y)与三个控制点之间的距离的比率来缩放控制点处的运动向量v0(v

此外,针对以上式1的六个参数可以被表示为下式中的a、b、c、d、e和f,并且使用这六个参数表示的针对仿射运动模型的等式可以如下:

[式2]

/>

其中,w表示当前块800的宽度;h表示当前块800的高度;v

使用六个参数的仿射运动模型或仿射帧间预测可以被表示为6参数仿射运动模型或AF6。

另外,作为仿射运动预测的一个示例,可能需要两个控制点(即,两个参考点)处的运动信息。

图9例示性地呈现了使用针对两个控制点的运动向量的仿射单元的运动模型。使用两个控制点的仿射运动模型可以表示三个运动,包括平移运动、缩放运动和旋转运动。表示三个动作的仿射运动模型可以被表示为相似度仿射运动模型或简化的仿射运动模型。

如果当前块900中的左上样本位置被如图9中所示设置为(0,0),则样本位置(0,0)、(w,0)可以被确定为控制点。在下文中,(0,0)样本位置的控制点可以被表示为CP0;并且(w,0)样本位置的控制点可以被表示为CP0。

通过使用上述多个控制点中的每一个和针对对应控制点的运动向量,可以导出针对仿射运动模型的等式。可以如下地表示针对仿射运动模型的等式:

[式3]

其中,w表示当前块800的宽度;v

此外,针对以上式3的四个参数可以被表示为下式中的a、b、c和d,并且使用这四个参数表示的针对仿射运动模型的等式可以如下:

[式4]

/>

其中,w表示当前块900的宽度;v

此外,如上所述,可以通过仿射运动模型来导出样本单元的运动向量,并且据此能够显著地提高帧间预测的精度。然而,在这种情况下,运动补偿处理中的复杂度会极大地增加。

因此,可能限于导出当前块中的子块单元的运动向量而非样本单元的运动向量。

图10例示性地呈现了基于仿射运动模型以子块为单元导出运动向量的方法。图10例示性地呈现了其中当前块的大小为16×16并且以4×4子块为单元导出运动向量的情况。可以以各种大小来设置子块,例如,如果以n×n大小(n是正整数,例如,n为4)来设置子块,则可以基于仿射运动模型在当前块中以n×n子块为单元来导出运动向量,并且可以应用用于导出表示各子块的运动向量的各种方法。

例如,参照图10,可以在将每个子块的中央或中央右下侧样本位置设置为代表坐标来导出每个子块的运动向量。这里,中央右下侧位置可以表示位于子块的中央处的四个样本当中的处于右下侧的样本位置。例如,如果n为奇数,则一个样本可以位于子块的中央处,并且在这种情况下,可以使用中央样本位置来导出子块的运动向量。然而,如果n为偶数,则四个样本可以位于子块的中央附近,并且在这种情况下,可以使用右下侧样本位置来导出运动向量。例如,参照图10,各子块的代表坐标可以被导出为(2、2)、(6、2)、(10、2)、...、(14、14),并且编码设备/解码设备可以通过将子块的各代表坐标输入到式1至式3来导出各子块的运动向量。通过仿射运动模型预测当前块中的子块的运动可以被命名为子块单位的运动预测或子块运动预测,并且子块的这种运动向量可以被表示为MVF。

此外,作为一个示例,可以基于下式导出当前块中的子块的大小:

[式5]

其中,M表示子块的宽度;N表示子块的高度。另外,v

此外,在使用上述仿射运动模型进行的帧间预测(即,仿射运动预测)中,可以存在合并模式(AF_MERGE)和仿射帧间模式(AF_INTER)。这里,仿射帧间模式可以被表示为仿射运动向量预测模式(仿射MVP模式、AF_MVP)。

使用仿射运动模型的合并模式与现有合并模式的相似之处在于不发送用于针对控制点的运动向量的MVD。即,如同现有的跳变/合并模式,使用仿射运动模型的合并模式可以表示通过用当前块的邻近块导出针对两个或三个控制点中的每一个的CPMV而不对MVD(运动向量差)进行解码来执行预测的编码/解码方法。

例如,如果向当前块应用AF_MRG模式,则可以用当前块的邻近块当中的已应用使用仿射模式的预测模式(即,仿射运动预测)的邻近块来导出针对CP0和CP0的MV(例如,CPMV0和CPMV1)。即,已应用仿射模式的邻近块的CPMV0和CPMV1被导出为合并候选,并且合并候选可以被导出为针对当前块的CPMV0和CPMV1。

仿射帧间模式可以表示以下的帧间预测:通过导出针对控制点的运动向量的MVP(运动向量预测项),基于该MVP和接收到的MVP导出控制点的运动向量并且基于控制点的运动向量导出当前块的仿射MVF来执行基于仿射MVF的预测。这里,控制点的运动向量可以被表示为控制点运动向量(CPMV);控制点的MVP可以被表示为控制点运动向量预测项(CPMVP);并且控制点的MVD可以被表示为控制点运动向量差(CPMVD)。具体地,例如,编码设备可以导出针对CP0和CP1(或CP0、CP1和CP2)中的每一个的控制点运动向量预测项(CPMVP)和控制点运动向量(CPMV),并且可以发送或存储作为CPMVP和CPMV之间的差值的关于CPMVP和/或CPMVD的信息。

这里,如果向当前块应用仿射帧间模式,则编码设备/解码设备可以基于当前块的邻近块来构成仿射MVP候选列表,并且仿射MVP候选可以被称为CPMVP对候选,并且仿射MVP候选列表可以被称为CPMVP候选列表。

此外,每个仿射MVP候选可以意指在四参数仿射运动模型(四参数仿射运动模型)中的CP0和CP1的CPMVP的组合,并且可以意指在六参数仿射运动模型中的CP0、CP1和CP2的CPMVP的组合。

此外,相对于仿射帧间预测,正在针对仿射MVP候选列表配置考虑继承的仿射候选或继承的候选以及所构造的仿射候选。继承的候选可以是指这样的候选:将当前块的邻近块的未经其它修改或组合的运动信息(即,邻近块的CPMV本身)添加到当前块的运动候选列表中。在此,邻近块可以包括当前块的左下角邻近块A0、左邻近块A1、上邻近块B0、右上角邻近块B1和左上角邻近块B2。所构造的仿射候选意指通过至少两个邻近块的CPMW的组合来配置当前块的CPMV的仿射候选。下面,将详细地描述所构造的仿射候选的驱动。

这里,继承的仿射候选可以如下。

例如,当当前块的邻近块是仿射块并且当前块的参考图片与邻近块的参考图片相同时,可以用邻近块的仿射运动模型来确定当前块的仿射MVP对。这里,仿射块可以表示应用仿射帧间预测的块。继承的仿射候选可以表示已基于邻近块的仿射运动模型导出的CPMVP(例如,仿射MVP对)。

具体地,例如,可以如下所述地导出继承的仿射候选。

图11例示性地呈现了用于导出继承的仿射候选的邻近块。

参照图11,当前块的邻近块可以包括当前块的左邻近块A0、当前块的左下角邻近块A1、当前块的上邻近块B0、当前块的右上角邻近块B1和当前块的左上角邻近块B2。

例如,如果当前块的大小为WxH,并且当前块的左上样本位置的x分量为0并且其y分量为0,则左邻近块可以是包括坐标(-1,H-1)处的样本的块;上邻近块可以是包括坐标(W-1,-1)处的样本的块;右上角邻近块可以是包括坐标(W,-1)处的样本的块;左下角邻近块可以是包括坐标(-1,H)处的样本的块;并且左上角邻近块可以是包括坐标(-1,-1)处的样本的块。

编码设备/解码设备可以依次检查邻近块A0、A1、B0、B1和B2,并且如果已使用仿射运动模型对邻近块进行了编码,并且当前块的参考图片与邻近块的参考图片相同,则编码设备/解码设备可以基于邻近块的仿射运动模型来导出当前块的两个CPMV或三个CPMV。CPMV可以被导出为当前块的仿射MVP候选。仿射MVP候选可以表示继承的仿射候选。

作为一个示例,可以基于邻近块来导出最多两个继承的仿射候选。

例如,编码设备/解码设备可以基于邻近块中的第一块来导出当前块的第一仿射MVP候选。这里,可以用仿射运动模型对第一块进行编码,并且第一块的参考图片可以与当前块的参考图片相同。即,第一块可以是在以特定顺序检查邻近块的同时第一个被确认为满足条件的块。该条件可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。

下文中,编码设备/解码设备可以基于邻近块中的第二块来导出当前块的第二仿射MVP候选。这里,可以用仿射运动模型对第二块进行编码,并且第二块的参考图片可以与当前块的参考图片相同。即,第二块可以是在以特定顺序检查邻近块的同时第二个被确认为满足条件的块。该条件可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。

此外,例如,当可用的继承的仿射候选的数目小于2(即,所导出的继承的仿射候选的数目小于2)时,可以考虑所构造的仿射候选。可以如下地导出所配置的仿射候选。

图12例示性地呈现了针对所构造的仿射候选的空间候选。

如图12中所示,当前块的邻近块的运动向量可以被分成三组。参照图12,邻近块可以包括邻近块A、邻近块B、邻近块C、邻近块D、邻近块E、邻近块F和邻近块G。

邻近块A可以表示位于当前块的左上样本位置的左上部的邻近块;邻近块B可以表示位于当前块的左上样本位置的上部的邻近块;并且邻近块C可以表示位于当前块的左上样本位置的左部的邻近块。另外,邻近块D可以表示位于当前块的右上样本位置的上部的邻近块;并且邻近块E可以表示位于当前块的右上样本位置的右上部的邻近块。另外,邻近块F可以表示位于当前块的左下样本位置的左部的邻近块;并且邻近块G可以表示位于当前块的左下样本位置的左下部的邻近块。

例如,这三个组可以包括S

[表1]

其中,mv

编码设备/解码设备可以用S

这里,针对mv

另外,针对mv

另外,针对mv

此外,当仅mv

[式6]

其中,mv

此外,当仅导出mv

[式7]

其中,mv

另外,当可用的继承的仿射候选和/或所构造的仿射候选的数目小于2时,可以向仿射MVP列表配置应用常规HEVC标准的AMVP处理。即,当可用的继承的仿射候选和/或所构造的仿射候选的数目小于2时,可以执行在常规HEVC标准中配置MVP候选的处理。

此外,如随后描述一样配置以上仿射MVP列表的示例的流程图。

图13例示性地呈现了配置仿射MVP列表的示例。

参照图13,编码设备/解码设备可以将继承的候选添加到当前块的仿射MVP列表中(S1300)。继承的候选可以表示以上继承的仿射候选。

具体地,编码设备/解码设备可以用当前块的邻近块导出最多两个继承的仿射候选(S1305)。这里,邻近块可以包括当前块的左邻近块A0、左下角邻近块A1、上邻近块B0、右上角邻近块B1和左上角邻近块B2。

例如,编码设备/解码设备可以基于邻近块中的第一块来导出当前块的第一仿射MVP候选。这里,可以用仿射运动模型对第一块进行编码,并且第一块的参考图片可以与当前块的参考图片相同。即,第一块可以是在以特定顺序检查邻近块的同时第一个被确认为满足条件的块。该条件可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。

下文中,编码设备/解码设备可以基于邻近块中的第二块来导出当前块的第二仿射MVP候选。这里,可以用仿射运动模型对第二块进行编码,并且第二块的参考图片可以与当前块的参考图片相同。即,第二块可以是在以特定顺序检查邻近块的同时第二个被确认为满足条件的块。该条件可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。

此外,特定顺序可以如同以下这样:左邻近块A0→左下角邻近块A1→上邻近块B0→右上角邻近块B1→左上角邻近块B2。另外,可以以除了以上顺序之外的顺序执行,并且可以不限于以上示例。

编码设备/解码设备可以将所构造的候选添加到当前块的仿射MVP列表中(S1310)。所构造的候选可以表示以上所构造的仿射候选。所构造的候选可以被表示为所构造的仿射MVP候选。当可用的继承的候选的数目小于2时,编码设备/解码设备可以将所构造的候选添加到当前块的仿射MVP列表中。例如,编码设备/解码设备可以导出一个所构造的仿射候选。

此外,根据应用于当前块的仿射运动模型是6仿射运动模型还是4仿射运动模型,导出所构造的仿射候选的方法可以不同。随后将描述导出所构造的候选的方法的具体内容。

编码设备/解码设备可以将HEVC AMVP候选添加到当前块的仿射MVP列表中(S1320)。当可用的继承的候选和/或所构造的候选的数目小于2时,编码设备/解码设备可以将HEVC AMVP候选添加到当前块的仿射MVP列表中。即,当可用的继承的候选和/或所构造的候选的数目小于2时,编码设备/解码设备可以执行在常规HEVC标准中配置MVP候选的处理。

此外,导出所构造的候选的方法可以如下。

例如,当应用于当前块的仿射运动模型是6仿射运动模型时,可以如图14中所示的示例来导出所构造的候选。

图14表示导出所构造的候选的示例。

参照图14,编码设备/解码设备可以检查当前块的mv

例如,编码设备/解码设备可以以特定顺序检查第一组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,例如,编码设备/解码设备可以以特定顺序检查第二组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,例如,编码设备/解码设备可以以特定顺序检查第三组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

此外,第一组可以包括邻近块A的运动向量、邻近块B的运动向量和邻近块C的运动向量;第二组可以包括邻近块D的运动向量和邻近块E的运动向量;并且第三组可以包括邻近块F的运动向量和邻近块G的运动向量。邻近块A可以表示位于当前块的左上样本位置的左上部的邻近块;邻近块B可以表示位于当前块的左上样本位置的上部的邻近块;邻近块C可以表示位于当前块的左上样本位置的左部的邻近块;邻近块D可以表示位于当前块的右上样本位置的上部的邻近块;邻近块E可以表示位于当前块的右上样本位置的右上部的邻近块;邻近块F可以表示位于当前块的左下样本位置的左部的邻近块;并且邻近块G可以表示位于当前块的左下样本位置的左下部的邻近块。

当仅针对当前块的mv

当仅针对当前块的mv

编码设备/解码设备可以将所导出的mv

另外,当仅针对当前块的mv

另外,当仅针对当前块的mv

另外,例如,当应用于当前块的仿射运动模型是4仿射运动模型时,可以如图15中所示的示例来导出所构造的候选。

图15呈现了导出所构造的候选的示例。

参照图15,编码设备/解码设备可以检查当前块的mv

例如,编码设备/解码设备可以以特定顺序检查第一组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,例如,编码设备/解码设备可以以特定顺序检查第二组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,例如,编码设备/解码设备可以以特定顺序检查第三组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

此外,第一组可以包括邻近块A的运动向量、邻近块B的运动向量和邻近块C的运动向量;第二组可以包括邻近块D的运动向量和邻近块E的运动向量;并且第三组可以包括邻近块F的运动向量和邻近块G的运动向量。邻近块A可以表示位于当前块的左上样本位置的左上部的邻近块;邻近块B可以表示位于当前块的左上样本位置的上部的邻近块;邻近块C可以表示位于当前块的左上样本位置的左部的邻近块;邻近块D可以表示位于当前块的右上样本位置的上部的邻近块;邻近块E可以表示位于当前块的右上样本位置的右上部的邻近块;邻近块F可以表示位于当前块的左下样本位置的左部的邻近块;并且邻近块G可以表示位于当前块的左下样本位置的左下部的邻近块。

当仅针对当前块的mv

此外,当仅针对当前块的mv

此后,编码设备/解码设备可以将所导出的mv

此外,本文件提出了导出继承的仿射候选的另一示例。所提出的示例能够通过降低导出继承的仿射候选时的计算复杂度来提高编码性能。

此外,本文件提出了导出继承的仿射候选的另一示例。所提出的示例能够通过降低导出继承的仿射候选时的计算复杂度来提高编码性能。

图16例示性地呈现了被扫描以导出继承的仿射候选的邻近块位置。

编码设备/解码设备可以用当前块的邻近块导出最多两个继承的仿射候选。图16可以表示继承的仿射候选的邻近块。例如,邻近块可以包括图16中示出的邻近块A和邻近块B。邻近块A可以表示上述的左邻近块A0,并且邻近块B可以表示上述的上邻近块B0。

例如,编码设备/解码设备可以以特定顺序检查邻近块是否可用,并且基于第一个被确认为可用的邻近块来导出当前块的继承的仿射候选。即,编码设备/解码设备可以以特定顺序检查邻近块是否满足特定条件,并且基于第一个被确认为可用的邻近块来导出当前块的继承的仿射候选。另外,编码设备/解码设备可以基于第二个被确认为满足特定条件的邻近块来导出当前块的继承的仿射候选。即,编码设备/解码设备可以基于第二个被确认为满足特定条件的邻近块来导出当前块的继承的仿射候选。这里,可用可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。即,特定条件可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。另外,例如,该特定顺序可以是以下的顺序:邻近块A→邻近块B。此外,可以不执行两个继承的仿射候选(即,导出的继承的仿射候选)之间的修剪检查处理。修剪检查处理可以表示以下的处理:检查候选是否彼此相同,并且如果它们相同,则去除以随后的顺序导出的候选。

以上示例提出了以下的方法:通过仅检查两个邻近块(即,邻近块A和邻近块B)来导出继承的仿射候选,而非通过检查所有常规的邻近块(即,邻近块A、邻近块B、邻近块C、邻近块D和邻近块E)来导出继承的仿射候选。这里,邻近块C可以表示上述的右上角邻近块B1;邻近块D可以表示上述的左下角邻近块A1;邻近块E可以表示上述的左上角邻近块B2。

为了根据仿射帧间预测来分析邻近块与当前块之间的空间相关性,可以参考当向相应邻近块应用仿射预测时向当前块应用仿射预测的概率。当向相应邻近块应用仿射预测时向当前块应用仿射预测的概率可以被导出为下表。

[表2]

参照表2,可以确认邻近块当中的邻近块A和邻近块B与当前块的空间相关性高。因此,通过仅使用其空间相关性高的邻近块A和邻近块B来导出继承的仿射候选的示例,能够实现减少处理时间并提供高解码性能的有益效果。

此外,可以执行修剪检查处理,以防止候选列表中存在相同的候选。由于修剪检查处理可以去除冗余,因此在编码效率方面可能有优点,然而,存在通过执行修剪检查处理来增加计算复杂度的缺点。特别地,由于应当对仿射类型(例如,仿射运动模型是4仿射运动模型或6仿射运动模型)、参考图片(或参考图片索引)、MV的CP0、CP1和CP2执行针对仿射候选的修剪检查处理,因此计算复杂度非常高。因此,本示例提出了在基于邻近块A导出的继承的仿射候选(例如,inherited_A)与基于邻近块B导出的继承的仿射候选(例如,inherited_B)之间不执行修剪检查处理的方法。邻近块A与邻近块B的距离远,因此它们的空间相关性低。因此,inherited_A与inherited_B相同的可能性非常低。因此,适宜的是,不执行继承的仿射候选之间的修剪检查处理。

另选地,可以基于以上提出执行最小修剪检查处理的方法。例如,编码设备/解码设备可以通过对继承的仿射候选的CP0的MV进行比较来执行修剪检查处理。

此外,本文件提出了导出继承的仿射候选的另一示例。

图17例示性地呈现了被扫描以导出继承的仿射候选的邻近块位置。

编码设备/解码设备可以用当前块的邻近块导出最多两个继承的仿射候选。图17可以表示针对继承的仿射候选的邻近块。例如,邻近块可以包括图17中示出的邻近块A至邻近块D。邻近块A可以表示上述的左邻近块A0;邻近块B可以表示上述的上邻近块B0;邻近块C可以表示上述的右上角邻近块B1;并且邻近块D可以表示上述的左下角邻近块A1。

例如,编码设备/解码设备可以以特定顺序检查邻近块是否可用,并且基于第一个被确认为可用的邻近块来导出当前块的继承的仿射候选。即,编码设备/解码设备可以以特定顺序检查邻近块是否满足特定条件,并且基于第一个被确认为可用的邻近块来导出当前块的继承的仿射候选。另外,编码设备/解码设备可以基于第二个被确认为满足特定条件的邻近块来导出当前块的继承的仿射候选。即,编码设备/解码设备可以基于第二个被确认为满足特定条件的邻近块来导出当前块的继承的仿射候选。这里,可用可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。即,该特定条件可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。

当在继承的仿射候选当中导出左预测项时,可以使用图17的邻近块A和邻近块D,而在继承的仿射候选当中导出上预测项时,可以使用邻近块B和邻近块C。

可以将作为可以从左邻近块添加的运动候选的左预测项添加到继承了按块A→块D或块D→块A顺序第一个被确定可用的“邻近有效块”的候选中。可以将作为可以从上邻近块添加的运动候选的上预测项添加到继承了按块B→块C或块C→块B顺序第一个被确定可用的“邻近有效块”的候选中。即,可以用左预测项和上预测项中的每一个导出的继承的候选的最大数目为1。

当用4参数仿射运动模型对“邻近有效块”进行编码时,可以使用4参数仿射运动模型来确定继承的候选;并且当用6参数仿射运动模型对“邻近有效块”进行编码时,可以使用6参数仿射运动模型来确定继承的候选。

当由左预测项和上预测项确定的继承的候选的数目为2时,可以执行或不执行修剪检查处理。尽管通常执行修剪检查处理并且防止将相同候选添加到候选列表中,但是修剪检查处理增加了复杂度,因为应该在使用仿射模型的运动预测中对各CP的MV进行比较。然而,当使用参照图17描述的示例来配置继承的候选时,因为候选的距离远,所以由左预测项和右预测项确定的候选彼此不同的概率非常高。因此,带来的优点是,即便没有执行修剪检查处理,编码性能也很少降低。

此外,本文件提出了导出继承的仿射候选的又一示例。

图18例示性地呈现了用于导出继承的仿射候选的位置。

编码设备/解码设备可以用当前块的邻近块导出最多两个继承的仿射候选。图18可以表示根据示例的针对继承的仿射候选的邻近块。例如,邻近块可以包括图18中示出的邻近块A至邻近块E。邻近块A可以表示上述的左邻近块A0;邻近块B可以表示上述的上邻近块B0;邻近块C可以表示上述的右上角邻近块B1;邻近块D可以表示上述的左下角邻近块A1;并且邻近块E可以表示与左上角邻近块B2的底部相邻设置的左邻近块。

例如,编码设备/解码设备可以以特定顺序检查邻近块是否可用,并且基于第一个被确认为可用的邻近块来导出当前块的继承的仿射候选。即,编码设备/解码设备可以以特定顺序检查邻近块是否满足特定条件,并且基于第一个被确认为可用的邻近块来导出当前块的继承的仿射候选。另外,编码设备/解码设备可以基于第二个被确认为满足特定条件的邻近块来导出当前块的继承的仿射候选。即,编码设备/解码设备可以基于第二个被确认为满足特定条件的邻近块来导出当前块的继承的仿射候选。这里,可用可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。即,该特定条件可以是用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。

当在继承的仿射候选当中导出左预测项时,可以使用图18的邻近块A、邻近块D和邻近块E,而在继承的仿射候选中导出上预测项时,可以使用邻近块B和邻近块C。

可以将作为可以在左邻近块处添加的运动候选的左预测项添加到继承了按块A→块E→块D(或块A→块E→块D、块D→块A→块E)顺序第一个被确定可用的“邻近有效块”的候选中。可以将作为可以在上邻近块处添加的运动候选的上预测项添加到继承了按块B→块C或块C→块B顺序第一个被确定可用的“邻近有效块”的候选中。即,可以用左预测项和上预测项中的每一个导出的继承的候选的最大数目为1。

当用4参数仿射运动模型对“邻近有效块”进行编码时,可以使用4参数仿射运动模型来确定继承的候选;并且当用6参数仿射运动模型对“邻近有效块”进行编码时,可以使用6参数仿射运动模型来确定继承的候选。

当由左预测项和上预测项确定的继承的候选的数目为2时,可以执行或不执行修剪检查处理。尽管通常执行修剪检查处理并且防止将相同候选添加到候选列表中,但是修剪检查处理增加了复杂度,因为应该在使用仿射模型的运动预测中对各CP的MV进行比较。然而,当使用参照图18描述的示例来配置继承的候选时,因为候选的距离远,所以由左预测项和右预测项确定的候选彼此不同的概率非常高。因此,带来的优点是,即便没有执行修剪检查处理,编码性能也很少降低。

此外,可以使用复杂度低的修剪检查方法来替代执行修剪检查处理。例如,可以用仅对CP0的MV进行比较的方法来执行修剪检查处理。

确定E处于将为了继承的候选而扫描的邻近块的位置的原因如下。在随后将描述的行缓冲区减少方法中,当位于当前块上方的参考块(即,邻近块B、邻近块C)与当前块不存在于同一CTU中时,不能使用行缓冲区减少方法。因此,当在生成继承的候选的同时连同应用行缓冲区减少方法时,使用图18中表示的邻近块的位置来维持编码性能。

另外,该方法可以配置最多一个继承的候选并且将其用作仿射MVP候选。此时,基于A→B→C→D的顺序第一个有效的邻近块的运动向量可以被用作继承的候选,而用不区分左预测项和上预测项。

此外,本文件提出了导出继承的仿射候选的又一示例。

在本示例中,可以使用图18中示出的邻近块来导出继承的候选。

即,编码设备/解码设备可以用当前块的邻近块导出最多两个继承的仿射候选。

另外,编码设备/解码设备可以以特定顺序检查邻近块是否可用,并且基于第一个被确认为可用的邻近块来导出当前块的继承的仿射候选。即,编码设备/解码设备可以以特定顺序检查邻近块是否满足特定条件,并且基于第一个被确认为可用的邻近块来导出当前块的继承的仿射候选。另外,编码设备/解码设备可以基于第二个被确认为满足特定条件的邻近块来导出当前块的继承的仿射候选。即,编码设备/解码设备可以基于第二个被确认为满足特定条件的邻近块来导出当前块的继承的仿射候选。这里,可用可以是用仿射运动模型对块进行编码,并且块的参考图片与当前块的参考图片相同。即,该特定条件可以是用仿射运动模型对块进行编码,并且块的参考图片与当前块的参考图片相同。

如上所述,当在继承的仿射候选当中导出左预测项时,可以使用邻近块A、邻近块D和邻近块E,而在继承的仿射候选中导出上预测项时,可以使用邻近块B和邻近块C。

可以将作为可以在左邻近块处添加的运动候选的左预测项添加到继承了按块A→块E→块D(或块A→块E→块D、块D→块A→块E)顺序第一个被确定可用的“邻近有效块”的候选中。可以将作为可以在上邻近块处添加的运动候选的上预测项添加到继承了按块B→块C或块C→块B顺序第一个被确定可用的“邻近有效块”的候选中。即,可以用左预测项和上预测项中的每一个导出的继承的候选的最大数目为1。

当用4参数仿射运动模型对“邻近有效块”进行编码时,可以使用4参数仿射运动模型来确定继承的候选;并且当用6参数仿射运动模型对“邻近有效块”进行编码时,可以使用6参数仿射运动模型来确定继承的候选。

另外,根据甚至本示例,当由左预测项和上预测项确定的继承的候选的数目为2时,可以执行或不执行修剪检查处理。尽管通常执行修剪检查处理并且防止将相同候选添加到候选列表中,但是修剪检查处理增加了复杂度,因为应该在使用仿射模型的运动预测中对各CP的MV进行比较。然而,当使用参照图18描述的示例来配置继承的候选时,因为候选的距离远,所以由左预测项和右预测项确定的候选彼此不同的概率非常高。因此,带来的优点是,即便没有执行修剪检查处理,编码性能也很少降低。

此外,可以使用复杂度低的修剪检查方法来替代执行修剪检查处理。例如,可以仅在邻近块E是“邻近有效块”时才执行确定邻近块E是否被包括在与邻近块A相同的编码块中的修剪检查处理。因为它只执行一次修剪检查,所以复杂度低。仅对邻近块E执行修剪检查的原因在于,除了邻近块E之外的上预测项的参考块(邻近块B、邻近块C)以及左预测项的参考块(邻近块A、邻近块D)配置相同的继承的候选的概率非常低,因为它们的位置彼此足够远,并且因为相反地,在邻近块E的情况下,当它被包括在与邻近块A相同的块中时,存在它配置相同的继承的候选的可能性。

确定E为将为了继承的候选而扫描的邻近块的位置的原因如下。在随后将描述的行缓冲区减少方法中,当位于当前块上方的参考块(即,邻近块B、邻近块C)与当前块不存在于同一CTU中时,不能使用行缓冲区减少方法。因此,当在生成继承的候选的同时连同应用行缓冲区减少方法时,使用图18中表示的邻近块的位置来维持编码性能。

另外,该方法可以配置最多一个继承的候选并且将其用作仿射MVP候选。此时,基于A→B→C→D的顺序第一个有效的邻近块的运动向量可以被用作继承的候选,而用不区分左预测项和上预测项。

此外,根据本文件的示例,参照图16至图18描述的仿射MVP列表的生成方法可以应用于基于仿射运动模型导出合并候选列表的继承的候选的方法。根据本示例,在设计成本方面有优势,因为相同处理可以被应用于仿射MVP列表生成和合并候选列表生成。基于仿射运动模型生成合并候选列表的示例如下,并且该处理可以被应用于在生成其它合并列表时配置继承的候选。

具体地,可以如下地配置合并候选列表。

图19呈现了配置当前块的合并候选列表的示例。

参照图19,编码设备/解码设备可以将继承的合并候选添加到合并候选列表中(S1900)。

具体地,编码设备/解码设备可以基于当前块的邻近块来导出继承的候选。

用于导出继承的候选的当前块的邻近块如图11中一样。即,当前块的邻近块可以包括当前块的左下角邻近块A0、当前块的左邻近块A1、当前块的右上角邻近块B0、当前块的上邻近块B1和当前块的左上角邻近块B2。

可以基于已在仿射模式下编码的有效的邻近重构块来导出继承的候选。例如,编码设备/解码设备可以依次检查邻近块A0、A1、B0、B1和B2,或者依次检查邻近块A1、B1、B0、A0和B2,并且,如果邻近块已在仿射模式下被编码(即,如果邻近块是已通过使用仿射运动模型进行了有效重构的邻近块),则编码设备/解码设备可以基于邻近块的仿射运动模型来导出针对当前块的两个CPMV或三个CPMV,并且CPMV可以被导出为当前块的继承的候选。作为一个示例,最多五个继承的候选可以被添加到合并候选列表中。即,可以基于邻近块来导出最多五个继承的候选。

当遵循本示例时,为了导出继承的候选,可以不使用图11的邻近块而是使用图16至图18的邻近块,并且可以应用参照图16至图18描述的示例。

此后,编码设备/解码设备可以将所构造的候选添加到合并候选列表中(S1910)。

例如,如果合并候选列表的合并候选的数目小于5,则可以将所构造的候选添加到合并候选列表中。所构造的候选可以表示通过组合关于当前块的各CP的邻近运动信息(即,邻近块的运动向量和参考图片索引)而生成的合并候选。可以基于针对对应CP的空间邻近块或时间邻近块来导出关于各CP的运动信息。关于各CP的运动信息可以被表示为针对对应CP的候选运动向量。

图20呈现了根据本文件的示例的用于导出所构造的候选的当前块的邻近块。

参照图20,邻近块可以包括空间邻近块和时间邻近块。空间邻近块可以包括邻近块A0、邻近块A1、邻近块A2、邻近块B0、邻近块B1、邻近块B2和邻近块B3。图20中示出的邻近块T可以表示时间邻近块。

这里,邻近块B2可以表示位于当前块的左上样本位置的左上部的邻近块;邻近块B3可以表示位于当前块的左上样本位置的上部的邻近块;并且邻近块A2可以表示位于当前块的左上样本位置的左部的邻近块。另外,邻近块B1可以表示位于当前块的右上样本位置的上部的邻近块;并且邻近块B0可以表示位于当前块的右上样本位置的右上部的邻近块。另外,邻近块A1可以表示位于当前块的左下样本位置的左部的邻近块;并且邻近块A0可以表示位于当前块的左下样本位置的左下部的邻近块。

另外,参照图20,当前块的CP可以包括CP0、CP1、CP2和/或CP3。CP0可以表示当前块的左上位置;CP1可以表示当前块的右上位置;CP2可以表示当前块的左下位置;CP3可以表示当前块的右下位置。例如,如果当前块的大小为WxH,并且当前块的左上样本位置的x分量为0并且其y分量为0,则CP0可以表示坐标(0,0)处的位置;CP1可以表示坐标(W,0)处的位置;CP2可以表示坐标(0,H)处的位置;并且CP3可以表示坐标(W,H)处的位置。

可以如下地导出以上CP中的每一个的运动向量。

例如,编码设备/解码设备可以以第一顺序检查第一组中的邻近块是否可用,并且可以导出在检查处理期间第一个被确认为可用的邻近块的运动向量作为针对CP0的候选运动向量。即,针对CP0的候选运动向量可以是在以第一顺序检查第一组中的邻近块的同时第一个被确认为可用的邻近块的运动向量。可用可以表示存在邻近块的运动向量。即,可用的邻近块可以是已在帧间预测中编码的块(即,已对其应用帧间预测的块)。这里,例如,第一组可以包括邻近块B2、邻近块B3和邻近块A2。第一顺序可以是第一组中从邻近块B2到邻近块B3并且然后到邻近块A2的顺序。作为一个示例,如果邻近块B2可用,则邻近块B2的运动向量可以被导出为针对CP0的候选运动向量;如果邻近块B2不可用而邻近块B3可用,则邻近块B3的运动向量可以被导出为针对CP0的候选运动向量;如果邻近块B2和邻近块B3都不可用并且邻近块A2可用,则邻近块A2的运动向量可以被导出为针对CP0的候选运动向量。

另外,例如,编码设备/解码设备可以以第二顺序检查第二组中的邻近块是否可用,并且可以导出在检查处理期间第一个被确认为可用的邻近块的运动向量作为针对CP1的候选运动向量。即,针对CP1的候选运动向量可以是在以第二顺序检查第二组中的邻近块的同时第一个被确认为可用的邻近块的运动向量。可用可以表示存在邻近块的运动向量。即,可用的邻近块可以是已在帧间预测中编码的块(即,已对其应用帧间预测的块)。这里,第二组可以包括邻近块B1和邻近块B0。第二顺序可以是第二组中从邻近块B1到邻近块B0的顺序。作为一个示例,如果邻近块B1可用,则邻近块B1的运动向量可以被导出为针对CP1的候选运动向量;并且如果邻近块B1不可用而邻近块B0可用,则邻近块B0的运动向量可以被导出为针对CP1的候选运动向量。

另外,例如,编码设备/解码设备可以以第三顺序检查第三组中的邻近块是否可用,并且可以导出在检查处理期间第一个被确认为可用的邻近块的运动向量作为针对CP2的候选运动向量。即,针对CP2的候选运动向量可以是在以第三顺序检查第三组中的邻近块的同时第一个被确认为可用的邻近块的运动向量。可用可以表示存在邻近块的运动向量。即,可用的邻近块可以是已在帧间预测中编码的块(即,已对其应用帧间预测的块)。这里,第三组可以包括邻近块A1和邻近块A0。第三顺序可以是第三组中从邻近块A1到邻近块A0的顺序。作为一个示例,如果邻近块A1可用,则邻近块A1的运动向量可以被导出为针对CP2的候选运动向量;如果邻近块A1不可用而邻近块A0可用,则邻近块A0的运动向量可以被导出为针对CP2的候选运动向量。

另外,例如,编码设备/解码设备可以检查时间邻近块(即,邻近块T)是否可用,并且如果时间邻近块(即,邻近块T)可用,则时间邻近块(即,邻近块T)的运动向量可以被导出为针对CP3的候选运动向量。

针对CP0的候选运动向量、针对CP1的候选运动向量、针对CP2的候选运动向量和/或针对CP3的候选运动向量的组合可以被导出为所构造的候选。

例如,如上所述,6-仿射模型需要三个CP的运动向量。对于6-仿射模型,可以从CP0、CP1、CP2和CP3当中选择三个CP。例如,可以选择CP作为{CP0,CP1,CP3}、{CP0,CP1,CP2}、{CP1,CP2,CP3}和{CP0,CP2,CP3}中的一个。作为一个示例,可以通过使用CP0、CP1和CP2来配置6-仿射模型。在这种情况下,CP可以被表示为{CP0,CP1,CP2}。

另外,例如,如上所述,4-仿射模型需要两个CP的运动向量。对于4-仿射模型,可以从CP0、CP1、CP2和CP3当中选择两个CP。例如,可以选择CP作为{CP0,CP3}、{CP1,CP2}、{CP0,CP1}、{CP1,CP3}、{CP0,CP2}和{CP2,CP3}中的一个。作为一个示例,可以通过使用CP0和CP1来配置4-仿射模型。在这种情况下,CP可以被表示为{CP0,CP1}。

可以按以下顺序将作为候选运动向量的组合的所构造的候选添加到合并候选列表中。即,在已导出针对CP的候选运动向量之后,可以按以下顺序来导出所构造的候选:

{CP0,CP1,CP2}、{CP0,CP1,CP3}、{CP0,CP2,CP3},{CP1,CP2,CP3}、{CP0,CP1}、{CP0,CP2}、{CP1,CP2}、{CP0,CP3}、{CP1,CP3}、{CP2,CP3}。

即,例如,包括针对CP0的候选运动向量、针对CP1的候选运动向量和针对CP2的候选运动向量的所构造的候选、包括针对CP0的候选运动向量、针对CP1的候选运动向量和针对CP3的候选运动向量的所构造的候选、包括针对CP0的候选运动向量、针对CP2的候选运动向量和针对CP3的候选运动向量的所构造的候选、包括针对CP1的候选运动向量、针对CP2的候选运动向量和针对CP3的候选运动向量的所构造的候选、包括针对CP0的候选运动向量和针对CP1的候选运动向量的所构造的候选、包括针对CP0的候选运动向量和针对CP1的候选运动向量的所构造的候选、包括针对CP0的候选运动向量和针对CP2的候选运动向量的所构造的候选、包括针对CP1的候选运动向量和针对CP2的候选运动向量的所构造的候选、包括针对CP0的候选运动向量和针对CP3的候选运动向量的所构造的候选、包括针对CP1的候选运动向量和针对CP3的候选运动向量的所构造的候选以及包括针对CP2的候选运动向量和针对CP3的候选运动向量的所构造的候选可以按该顺序被添加到合并候选中。

此后,编码设备/解码设备可以将零运动向量添加到合并候选列表中(S1920)。

例如,如果合并候选列表的合并候选的数目小于5,则可以将包括零运动向量的合并候选添加到合并候选列表中,直到合并候选列表被配置有最大数目的合并候选为止。合并候选的最大数目可以为5。另外,零运动向量可以表示其向量值为零的运动向量。

此外,参照图16至图18描述的仿射MVP列表的生成方法中使用的用于配置候选和邻近块的位置的扫描方法可以被用于正常合并和正常MVP。这里,正常合并可以意指不是仿射合并模式并且可以在HEVC等中使用的合并模式,并且正常MVP也可以意指不是仿射MVP并且可以在HEVC中使用的AMVP。例如,将参照图16所描述的方法应用于正常合并和/或正常MVP具体地意指扫描图16的空间位置的邻近块,和/或使用图16的邻近块来配置左预测项和上预测项,和/或执行修剪检查或者用复杂度低的方法来执行。当这种方法应用于正常合并或正常MVP时,在设计成本方面会带来有利的影响。

另外,本文件提出了与上述示例不用的导出所构造的候选的方法。当与导出所构造的候选的上述示例相比时,所提出的示例能够通过降低复杂度来提高编码性能。所提出的示例如下所述。另外,当可用的继承的仿射候选的数目小于2(即,所导出的继承的仿射候选的数目小于2)时,可以考虑所构造的仿射候选。

例如,编码设备/解码设备可以检查针对当前块的mv

具体地,当前块的邻近块可以被划分成三组,并且邻近块可以包括邻近块A、邻近块B、邻近块C、邻近块D、邻近块E、邻近块F和邻近块G。第一组可以包括邻近块A的运动向量、邻近块B的运动向量和邻近块C的运动向量;第二组可以包括邻近块D的运动向量和邻近块E的运动向量;并且第三组可以包括邻近块F的运动向量和邻近块G的运动向量。邻近块A可以表示位于当前块的左上样本位置的左上部的邻近块;邻近块B可以表示位于当前块的左上样本位置的上部的邻近块;邻近块C可以表示位于当前块的左上样本位置的左部的邻近块;邻近块D可以表示位于当前块的右上样本位置的上部的邻近块;邻近块E可以表示位于当前块的右上样本位置的右上部的邻近块;邻近块F可以表示位于当前块的左下样本位置的左部的邻近块;并且邻近块G可以表示位于当前块的左下样本位置的左下部的邻近块。

编码设备/解码设备可以确定在第一组中是否存在可用的mv

具体地,例如,编码设备/解码设备可以以特定顺序检查第一组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,编码设备/解码设备可以以特定顺序检查第二组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,编码设备/解码设备可以以特定顺序检查第三组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

此后,当应用于当前块的仿射运动模型是4仿射运动模型时,并且当针对当前块的mv

另外,当应用于当前块的仿射运动模型是6仿射运动模型时,并且当针对当前块的mv

上述提出的示例是只有在用于生成当前块的仿射运动模型的CP的所有运动向量都可用时才将其视为所构造的候选的方法。这里,可用的含义可以表示邻近块的参考图片与当前块的参考图片相同。即,只有当针对当前块的相应CP的邻近块的运动向量当中存在满足条件的运动向量时,才可以导出所构造的候选。因此,当应用于当前块的仿射运动模型为4仿射运动模型时,并且只有当当前块的CP0和CP1的MV(即,mv

此外,不能执行在所导出的继承的仿射候选与所构造的仿射候选之间的修剪检查处理。修剪检查处理可以表示以下的处理:检查候选是否彼此相同,并且如果它们相同,则去除以随后的顺序导出的候选。

可以如图21和图22中一样地呈现上述示例。

图21呈现了导出应用于当前块的针对4仿射运动模型的所构造的候选的示例。

参照图21,编码设备/解码设备可以确定针对当前块的mv

编码设备/解码设备可以确定在第一组中是否存在可用的mv

具体地,当前块的邻近块可以被划分成三组,并且邻近块可以包括邻近块A、邻近块B、邻近块C、邻近块D、邻近块E、邻近块F和邻近块G。第一组可以包括邻近块A的运动向量、邻近块B的运动向量和邻近块C的运动向量;第二组可以包括邻近块D的运动向量和邻近块E的运动向量;并且第三组可以包括邻近块F的运动向量和邻近块G的运动向量。邻近块A可以表示位于当前块的左上样本位置的左上部的邻近块;邻近块B可以表示位于当前块的左上样本位置的上部的邻近块;邻近块C可以表示位于当前块的左上样本位置的左部的邻近块;邻近块D可以表示位于当前块的右上样本位置的上部的邻近块;邻近块E可以表示位于当前块的右上样本位置的右上部的邻近块;邻近块F可以表示位于当前块的左下样本位置的左部的邻近块;并且邻近块G可以表示位于当前块的左下样本位置的左下部的邻近块。

另外,编码设备/解码设备可以以特定顺序检查第一组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,编码设备/解码设备可以以特定顺序检查第二组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

当针对当前块的mv

此外,不能执行在所导出的继承的仿射候选与所构造的仿射候选之间的修剪检查处理。修剪检查处理可以表示以下的处理:检查候选是否彼此相同,并且如果它们相同,则去除以随后的顺序导出的候选。

图22呈现了导出应用于当前块的针对6仿射运动模型的所构造的候选的示例。

参照图22,编码设备/解码设备可以确定针对当前块的mv

编码设备/解码设备可以确定在第一组中是否存在可用的mv

具体地,当前块的邻近块可以被划分成三组,并且邻近块可以包括邻近块A、邻近块B、邻近块C、邻近块D、邻近块E、邻近块F和邻近块G。第一组可以包括邻近块A的运动向量、邻近块B的运动向量和邻近块C的运动向量;第二组可以包括邻近块D的运动向量和邻近块E的运动向量;并且第三组可以包括邻近块F的运动向量和邻近块G的运动向量。邻近块A可以表示位于当前块的左上样本位置的左上部的邻近块;邻近块B可以表示位于当前块的左上样本位置的上部的邻近块;邻近块C可以表示位于当前块的左上样本位置的左部的邻近块;邻近块D可以表示位于当前块的右上样本位置的上部的邻近块;邻近块E可以表示位于当前块的右上样本位置的右上部的邻近块;邻近块F可以表示位于当前块的左下样本位置的左部的邻近块;并且邻近块G可以表示位于当前块的左下样本位置的左下部的邻近块。

另外,编码设备/解码设备可以以特定顺序检查第一组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,编码设备/解码设备可以以特定顺序检查第二组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

另外,编码设备/解码设备可以以特定顺序检查第三组中的邻近块的运动向量是否满足特定条件。编码设备/解码设备可以将在检查处理期间第一个被确认为满足条件的邻近块的运动向量导出为mv

当针对当前块的mv

此外,不能执行在所导出的继承的仿射候选与所构造的仿射候选之间的修剪检查处理。

此外,当所导出的仿射候选的数目小于2时(即,当继承的仿射候选和/或所构造的仿射候选的数目小于2时),可以将HEVC AMVP候选添加到当前块的仿射MVP列表中。

例如,可以按以下顺序导出HEVC AMVP候选。

具体地,当所导出的仿射候选的数目小于2时,并且当所构造的仿射候选的CPMV0可用时,可以使用CPMV0作为仿射MVP候选。即,当所导出的仿射候选的数目小于2时,并且当所构造的仿射候选的CPMV0可用时(即,当所导出的仿射候选的数目小于2并且导出所构造的仿射候选的CPMV0时),可以导出包括作为CPMV0、CPMV1、CPMV2的所构造的仿射候选的CPMV0的第一仿射MVP候选。

另外,接下来,当所导出的仿射候选的数目小于2时,并且当所构造的仿射候选的CPMV1可用时,可以使用CPMV1作为仿射MVP候选。即,当所导出的仿射候选的数目小于2时,并且当所构造的仿射候选的CPMV0可用时(即,当所导出的仿射候选的数目小于2并且导出所构造的仿射候选的CPMV1时),可以导出包括作为CPMV0、CPMV1、CPMV2的所构造的仿射候选的CPMV1的第二仿射MVP候选。

另外,接下来,当所导出的仿射候选的数目小于2时,并且当所构造的仿射候选的CPMV2可用时,可以使用CPMV2作为仿射MVP候选。即,当所导出的仿射候选的数目小于2时,并且当所构造的仿射候选的CPMV2可用时(即,当所导出的仿射候选的数目小于2并且导出所构造的仿射候选的CPMV2时),可以导出包括作为CPMV0、CPMV1、CPMV2的所构造的仿射候选的CPMV2的第三仿射MVP候选。

另外,接下来,当所导出的仿射候选的数目小于2时,可以使用HEVC时间运动向量预测项(TMVP)作为仿射MVP候选。可以基于当前块的时间邻近块的运动信息来导出HEVCTMVP。即,当所导出的仿射候选的数目小于2时,可以导出作为CPMV0、CPMV1、CPMV2的包括当前块的时间邻近块的运动向量的第三仿射MVP候选。时间邻近块可以表示与当前块对应的并置图片中的并置块。

另外,接下来,当所导出的仿射候选的数目小于2时,可以使用零运动向量(零MV)作为仿射MVP候选。即,当所导出的仿射候选的数目小于2时,可以导出作为CPMV0、CPMV1、CPMV2的包括零运动向量的第三仿射MVP候选。零运动向量可以表示其值为零的运动向量。

与导出HEVC AMVP候选的常规方法相比,因为使用所构造的仿射候选的CPMV的步骤重新使用了为了生成所构造的仿射候选而已经考虑的MV,所以能降低复杂度。

此外,本文件提出了导出继承的仿射候选的另一示例。

为了导出继承的仿射候选,需要邻近块的仿射预测信息,并且具体地,需要如下的仿射预测信息。

1)指示是否应用了基于仿射预测的邻近块编码的Affine_flag

2)邻近块的运动信息

当向邻近块应用4仿射运动模型时,邻近块的运动信息可以包括针对CP0的L0运动信息和L1运动信息以及针对CP1的L0运动信息和L1运动信息。另外,当向邻近块应用6仿射运动模型时,邻近块的运动信息可以包括针对CP0的L0运动信息和L1运动信息以及针对CP2的L0运动信息和L1运动信息。这里,L0运动信息可以表示关于L0(列表0)的运动信息,并且L1运动信息可以表示关于L1(列表1)的运动信息。L0运动信息可以包括L0参考图片索引和L0运动向量,并且L1运动信息可以包括L1参考图片索引和L1运动向量。

如上所述,在仿射预测的情况下,要存储的信息量大,因此在实际将其在编码设备/解码设备中实施时,这可能成为增加硬件成本的主要原因。特别地,当邻近块位于当前块的上部并且是CTU边界时,应该使用行缓冲区来存储邻近块的仿射预测相关信息,因此,可能更多地出现成本问题。该问题在下文中可以被表示为行缓冲区问题。因此,本文件提出了导出继承的仿射候选的示例,其中,通过不将仿射预测相关信息存储在行缓冲区中或者通过减少它来使硬件成本最小化。所提出的示例能够通过降低导出继承的仿射候选时的计算复杂度来提高编码性能。此外,作为参考,在行缓冲区中已经存储了具有4×4大小的块的运动信息,并且当存储了仿射预测相关信息时,所存储的信息量与先前的存储量相比增加了三倍。

在本示例中,在行缓冲区中,可以不另外存储关于仿射预测的信息,并且当应该参考行缓冲区中的信息以便生成继承的仿射候选时,可以限制继承的仿射候选的生成。

图23a和图23b例示性地呈现导出继承的仿射候选的示例。

参照图23a,当当前块的邻近块B(即,当前块的上邻近块)并不存在于与当前块相同的CTU(即,当前CTU)中时,邻近块B可以不被用于生成继承的仿射候选。此外,即使邻近块A并不存在于与当前块相同的CTU中,关于邻近块A的信息也可以被用于生成继承的仿射候选,因为它没有被存储在行缓冲区中。因此,在本示例中,只有当当前块的上邻近块被包括在与当前块相同的CTU中时,它才可以被用于生成继承的仿射候选。另外,当当前块的上邻近块没有被包括在与当前块相同的CTU中时,上邻近块可以不被用于生成继承的仿射候选。

参照图23b,当前块的邻近块B(即,当前块的上邻近块)可以存在于与当前块相同的CTU中。在这种情况下,编码设备/解码设备可以参考邻近块B来生成继承的仿射候选。

图24示意性地呈现了根据本文件的由编码设备进行的图像编码方法。图24中公开的方法可以由图2中公开的编码设备执行。具体地,例如,图24的S2400至S2430可以由编码设备的预测器执行,并且S2440可以由编码设备的熵编码器执行。此外,尽管未示出,但是基于CPMV导出针对当前块的预测样本的处理可以由编码设备的预测器来执行;基于针对当前块的预测样本和原始样本导出针对当前块的残差样本的处理可以由编码设备的减法器来执行;基于残差样本生成关于当前块的残差的信息的处理可以由编码设备的变换器来执行;并且对关于残差的信息进行编码的处理可以由编码设备的熵编码器来执行。

编码设备配置针对当前块的仿射运动向量预测项(MVP)候选列表(S2400)。编码设备可以配置包括针对当前块的仿射MVP候选的仿射MVP候选列表。仿射MVP候选列表中的仿射MVP候选的最大数目可以是2。

另外,作为示例,仿射MVP候选列表可以包括继承的仿射MVP候选。编码设备可以检查当前块的继承的仿射MVP候选是否可用,并且当继承的仿射MVP候选可用时,可以导出继承的仿射MVP候选。例如,可以基于当前块的邻近块来导出继承的仿射MVP候选,并且继承的仿射MVP候选的最大数目可以是2。可以以特定顺序检查邻近块是否可用,并且可以基于检查到的可用的邻近块来导出继承的仿射MVP候选。即,可以以特定顺序检查邻近块是否可用,并且可以基于第一个被检查为可用的邻近块来导出第一继承的仿射MVP候选,并且可以基于第二个被检查为可用的邻近块来导出第二继承的仿射MVP候选。可用可以表示用仿射运动模型对块进行编码,并且邻近块的参考图片与当前块的参考图片相同。即,可用的邻近块是用仿射运动模型编码(即,对其应用仿射预测)并且其参考图片与当前块的参考图片相同的邻近块。具体地,编码设备可以基于第一个被检查为可用的邻近块的仿射运动模型来导出针对当前块的CP的运动向量,并且可以将包括运动向量的第一继承的仿射MVP候选导出为CPMVP候选。另外,编码设备可以基于第二个被检查为可用的邻近块的仿射运动模型来导出针对当前块的CP的运动向量,并且可以将包括运动向量的第二继承的仿射MVP候选导出为CPMVP候选。可以如上式1或式3导出仿射运动模型。

另外,换句话说,可以以特定顺序检查邻近块是否满足特定条件,并且可以基于已被检查为满足特定条件的邻近块来导出继承的仿射MVP候选。即,可以以特定顺序检查邻近块是否满足特定条件,并且可以基于第一个被检查为满足特定条件的邻近块来导出第一继承的仿射MVP候选,并且可以基于第二个被检查为满足特定条件的邻近块来导出第二继承的仿射MVP候选。具体地,编码设备可以基于第一个被检查为满足特定条件的邻近块的仿射运动模型来导出针对当前块的CP的运动向量,并且可以将包括运动向量的第一继承的仿射MVP候选导出为CPMVP候选。另外,编码设备可以基于第二个被检查为满足特定条件的邻近块的仿射运动模型来导出针对当前块的CP的运动向量,并且可以将包括运动向量的第二继承的仿射MVP候选导出为CPMVP候选。可以如上式1或式3导出仿射运动模型。此外,特定条件可以表示用仿射运动模型对块进行编码,并且邻近块的参考图片与当前块的参考图片相同。即,满足特定条件的邻近块是用仿射运动模型编码(即,对其应用仿射预测)并且其参考图片与当前块的参考图片相同的邻近块。

这里,例如,邻近块可以包括当前块的左邻近块、上邻近块、右上角邻近块、左下角邻近块和左上角邻近块。在这种情况下,特定顺序可以是从左邻近块到左下角邻近块到上邻近块到右上角邻近块并且然后到左上角邻近块的顺序。

另选地,例如,邻近块可以仅包括左邻近块和上邻近块。在这种情况下,特定顺序可以是从左邻近块到上邻近块的顺序。

另选地,例如,邻近块可以仅包括左邻近块,并且当上邻近块被包括在包括当前块的当前CTU中时,邻近块还可以包括上邻近块。在这种情况下,特定顺序可以是从左邻近块到上邻近块的顺序。另外,当上邻近块没有被包括在当前CTU中时,邻近块可以不包括上邻近块。在这种情况下,可以仅检查左邻近块。

此外,如果大小为WxH,并且当前块的左上样本位置的x分量为0并且其y分量为0,则左下角邻近块可以是包括坐标(-1,H)处的样本的块;左邻近块可以是包括坐标(-1,H-1)处的样本的块;右上角邻近块可以是包括坐标(W,-1)处的样本的块;上邻近块可以是包括坐标(W-1,-1)处的样本的块;并且左上角邻近块可以是包括坐标(-1,-1)处的样本的块。即,左邻近块可以是当前块的左邻近块当中的位于最下方的左邻近块,并且上邻近块可以是当前块的上邻近块当中的位于最左部的上邻近块。

另外,作为一个示例,当所构造的仿射MVP候选可用时,仿射MVP候选列表可以包括所构造的仿射MVP候选。编码设备可以检查当前块的所构造的仿射MVP候选是否可用,并且当所构造的仿射MVP候选可用时,可以导出所构造的仿射MVP候选。另外,例如,在已导出继承的仿射MVP候选之后,可以导出所构造的仿射MVP候选。当所导出的仿射MVP候选(即,继承的仿射MVP候选)的数目小于2并且所构造的仿射MVP候选可用时,仿射MVP候选列表可以包括所构造的仿射MVP候选。这里,所构造的仿射MVP候选可以包括针对CP的候选运动向量。当所有候选运动向量都可用时,所构造的仿射MVP候选可以是可用的。

例如,当向当前块应用4仿射运动模型时,当前块的CP可以包括CP0和CP1。当针对CP0的运动向量可用并且针对CP1的运动向量可用时,所构造的仿射MVP候选可以是可用的,并且仿射MVP候选列表可以包括所构造的仿射MVP候选。这里,CP0可以表示当前块的左上位置,并且CP1可以表示当前块的右上位置。

所构造的仿射MVP候选可以包括针对CP0的候选运动向量和针对CP1的候选运动向量。针对CP0的候选运动向量可以是第一块的运动向量,并且针对CP1的候选运动向量可以是第二块的运动向量。

另外,第一块可以是在以第一特定顺序检查第一组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。即,针对CP1的候选运动向量可以是在以第一特定顺序检查第一组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块的运动向量。可用可以表示存在邻近块并且在帧间预测中对该邻近块进行编码。这里,当第一组中的第一块的参考图片与当前块的参考图片相同时,针对CP0的候选运动向量可以是可用的。另外,例如,第一组可以包括邻近块A、邻近块B和邻近块C,并且第一特定顺序可以是从邻近块A到邻近块B并且然后到邻近块C的顺序。

另外,第二块可以是在以第二特定顺序检查第二组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。这里,当第二组中的第二块的参考图片与当前块的参考图片相同时,针对CP1的候选运动向量可以是可用的。另外,例如,第二组可以包括邻近块D和邻近块E,并且第二特定顺序可以是从邻近块D到邻近块E的顺序。

此外,如果当前块的大小为WxH,并且当前块的左上样本位置的x分量为0并且其y分量为0,则邻近块A可以是包括坐标(-1,-1)处的样本的块;邻近块B可以是包括坐标(0,-1)处的样本的块;邻近块C可以是包括坐标(-1,0)处的样本的块;邻近块D可以是包括坐标(W-1,-1)处的样本的块;并且邻近块E可以是包括坐标(W,-1)处的样本的块。即,邻近块A可以是当前块的左上角邻近块;邻近块B可以是当前块的上邻近块当中的位于最左部的上邻近块;邻近块C可以是当前块的左邻近块当中的位于最上部的左邻近块;邻近块D可以是当前块的上邻近块当中的位于最右部的上邻近块;并且邻近块E可以是当前块的右上角邻近块。

此外,当CP0的候选运动向量和CP1的候选运动向量中的至少一个不可用时,所构造的仿射MVP候选可能不可用。

另选地,例如,当向当前块应用6仿射运动模型时,当前块的CP可以包括CP0、CP1和CP2。当针对CP0的运动向量可用、针对CP1的运动向量可用并且针对CP2的运动向量可用时,所构造的仿射MVP候选可以是可用的,并且仿射MVP候选列表可以包括所构造的仿射MVP候选。这里,CP0可以表示当前块的左上位置;CP1可以表示当前块的右上位置;并且CP2可以表示当前块的左下位置。

所构造的仿射MVP候选可以包括针对CP0的候选运动向量、针对CP1的候选运动向量和针对CP2的候选运动向量。针对CP0的候选运动向量可以是第一块的运动向量,针对CP1的候选运动向量可以是第二块的运动向量,并且针对CP2的候选运动向量可以是第三块的运动向量。

另外,第一块可以是在以第一特定顺序检查第一组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。这里,当第一组中的第一块的参考图片与当前块的参考图片相同时,针对CP0的候选运动向量可以是可用的。另外,例如,第一组可以包括邻近块A、邻近块B和邻近块C,并且第一特定顺序可以是从邻近块A到邻近块B并且然后到邻近块C的顺序。

另外,第二块可以是在以第二特定顺序检查第二组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。这里,当第二组中的第二块的参考图片与当前块的参考图片相同时,针对CP1的候选运动向量可以是可用的。另外,例如,第二组可以包括邻近块D和邻近块E,并且第二特定顺序可以是从邻近块D到邻近块E的顺序。

另外,第三块可以是在以第三特定顺序检查第三组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。这里,当第三组中的第三块的参考图片与当前块的参考图片相同时,针对CP2的候选运动向量可以是可用的。另外,例如,第三组可以包括邻近块F和邻近块G,并且第三特定顺序可以是从邻近块F到邻近块G的顺序。

此外,如果当前块的大小为WxH,并且当前块的左上样本位置的x分量为0并且其y分量为0,则邻近块A可以是包括坐标(-1,-1)处的样本的块;邻近块B可以是包括坐标(0,-1)处的样本的块;邻近块C可以是包括坐标(-1,0)处的样本的块;邻近块D可以是包括坐标(W-1,-1)处的样本的块;邻近块E可以是包括坐标(W,-1)处的样本的块;邻近块F可以是包括坐标(-1,H-1)处的样本的块;并且邻近块G可以是包括坐标(-1,H)处的样本的块。即,邻近块A可以是当前块的左上角邻近块;邻近块B可以是当前块的上邻近块当中的位于最左部的上邻近块;邻近块C可以是当前块的左邻近块当中的位于最上部的左邻近块;邻近块D可以是当前块的上邻近块当中的位于最右部的上邻近块;邻近块E可以是当前块的右上角邻近块;邻近块F可以是当前块的左邻近块当中的位于最下部的左邻近块;并且邻近块G可以是当前块的左下角邻近块。

此外,当CP0的候选运动向量、CP1的候选运动向量和CP2的候选运动向量中的至少一个不可用时,所构造的仿射MVP候选可能不可用。

此后,可以基于下述步骤以特定顺序导出仿射MVP候选列表。

例如,当所导出的仿射MVP候选的数目小于2并且针对CP0的运动向量可用时,编码设备可以导出第一仿射MVP候选。这里,第一仿射MVP候选可以是包括针对CP0的候选运动向量作为针对CP的候选运动向量的仿射MVP候选。

另外,例如,当所导出的仿射MVP候选的数目小于2并且针对CP1的运动向量可用时,编码设备可以导出第二仿射MVP候选。这里,第二仿射MVP候选可以是包括针对CP1的候选运动向量作为针对CP的候选运动向量的仿射MVP候选。

另外,例如,当所导出的仿射MVP候选的数目小于2并且针对CP2的运动向量可用时,编码设备可以导出第三仿射MVP候选。这里,第三仿射MVP候选可以是包括针对CP2的候选运动向量作为针对CP的候选运动向量的仿射MVP候选。

另外,例如,当所导出的仿射MVP候选的数目小于2时,编码设备可以导出第四仿射MVP候选,第四仿射MVP候选包括基于当前块的时间邻近块导出的时间MVP作为针对CP的候选运动向量。时间邻近块可以表示与当前块对应的并置图片中的并置块。可以基于时间邻近块的运动向量来导出时间MVP。

另外,例如,当所导出的仿射MVP候选的数目小于2时,编码设备可以导出第五仿射MVP候选,第五仿射MVP候选包括零运动向量作为针对CP的候选运动向量。零运动向量可以表示其值为零的运动向量。

编码设备基于仿射MVP候选列表来导出针对当前块的控制点(CP)的控制点运动向量预测项(CPMVP)(S2410)。编码设备可以导出具有最佳RD成本的针对当前块的CP的CPMV,并且可以从仿射MVP候选当中选择与CPMV最相似的仿射MVP候选作为针对当前块的仿射MVP候选。编码设备可以基于从仿射MVP候选列表中所包括的仿射MVP候选当中选择的仿射MVP候选来导出针对当前块的控制点(CP)的控制点运动向量预测项(CPMVP)。具体地,当仿射MVP候选包括针对CP0的候选运动向量和针对CP1的候选运动向量时,仿射MVP候选的针对CP0的候选运动向量可以被导出为CP0的CPMVP,并且仿射MVP候选的针对CP1的候选运动向量可以被导出为CP1的CPMVP。另外,当仿射MVP候选包括针对CP0的候选运动向量、针对CP1的候选运动向量和针对CP2的候选运动向量时,仿射MVP候选的针对CP0的候选运动向量可以被导出为CP0的CPMVP,仿射MVP候选的针对CP1的候选运动向量可以被导出为CP1的CPMVP,并且仿射MVP候选的针对CP2的候选运动向量可以被导出为CP2的CPMVP。另外,当仿射MVP候选包括针对CP0的候选运动向量和针对CP2的候选运动向量时,仿射MVP候选的针对CP0的候选运动向量可以被导出为CP0的CPMVP,并且仿射MVP候选的针对CP2的候选运动向量可以被导出为CP2的CPMVP。

编码设备可以对指示从仿射MVP候选当中选择的仿射MVP候选的仿射MVP候选索引进行编码。仿射MVP候选索引可以指示针对当前块的仿射运动向量预测项(MVP)候选列表中所包括的多个仿射MVP候选当中的一个仿射MVP候选。

编码设备导出针对当前块的CP的CPMV(S2420)。编码设备可以导出针对当前块的相应CP的CPMV。

编码设备基于CPMVP和CPMV来导出针对当前块的CP的控制点运动向量差(CPMVD)(S2430)。编码设备可以基于针对相应CP的CPMV和CPMVP来导出针对当前块的CP的CPMVD。

编码设备对包括关于CPMVD的信息的运动预测信息进行编码(S2440)。编码设备可以以比特流的形式输出包括关于CPMVD的信息的运动预测信息。即,编码设备可以以比特流的形式输出包括运动预测信息的图像信息。编码设备可以对关于针对相应CP的CPMVD的信息进行编码,并且运动预测信息可以包括关于CPMVD的信息。

另外,运动预测信息可以包括仿射MVP候选索引。仿射MVP候选索引可以指示针对当前块的仿射运动向量预测项(MVP)候选列表中所包括的仿射MVP候选当中选择的仿射MVP候选。

此外,作为示例,编码设备可以基于CPMV来导出针对当前块的预测样本,基于针对当前块的预测样本和原始样本来导出针对当前块的残差样本,基于残差样本来生成关于针对当前块的残差的信息,并且对关于残差的信息进行编码。图像信息可以包括关于残差的信息。此外,可以通过网络或(数字)存储介质将比特流发送到解码设备。这里,网络可以包括广播网络、通信网络和/或类似物,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。

图25示意性地呈现了根据本文件的执行图像编码方法的编码设备。图24中公开的方法可以由图25中公开的编码设备执行。具体地,例如,图25的预测器可以执行图24中的S2400至S2410;并且编码设备的熵编码器可以执行图24中的S2420。此外,尽管未示出,但是基于CPMV导出针对当前块的预测样本的处理可以由图25的编码设备的预测器来执行;基于针对当前块的预测样本和原始样本导出针对当前块的残差样本的处理可以由图25的编码设备的减法器来执行;基于残差样本生成关于针对当前块的残差的信息的处理可以由图25的编码设备的变换器来执行;并且对关于残差的信息进行编码的处理可以由图25的编码设备的熵编码器来执行。

图26示意性地呈现了根据本文件的由解码设备进行的图像解码方法。图26中公开的方法可以由图3中公开的解码设备执行。具体地,例如,图26的S2600可以由解码设备的熵解码器执行;S2610至S2650可以由解码设备的预测器执行;并且S2660可以由解码设备的加法器执行。另外,尽管未示出,但是通过比特流获得关于当前块的残差的信息的处理可以由解码设备的熵解码器执行,并且基于残差信息导出针对当前块的残差样本的处理可以由解码设备的逆变换器执行。

编码设备从比特流获得针对当前块的运动预测信息(S2600)。解码设备可以从比特流获得包括运动预测信息的图像信息。

另外,例如,运动预测信息可以包括关于针对当前块的控制点(CP)的控制点运动向量差(CPMVD)的信息。即,运动预测信息可以包括关于针对当前块的相应CP的CPMVD的信息。

另外,例如,运动预测信息可以包括针对当前块的仿射MVP候选索引。仿射MVP候选索引可以指示针对当前块的仿射运动向量预测项(MVP)候选列表中所包括的多个仿射MVP候选当中的一个。

解码设备配置针对当前块的仿射运动向量预测项(MVP)候选列表(S2610)。解码设备可以配置包括针对当前块的仿射MVP候选的仿射MVP候选列表。仿射MVP候选列表中的仿射MVP候选的最大数目可以是2。

另外,作为示例,仿射MVP候选列表可以包括继承的仿射MVP候选。解码设备可以检查当前块的继承的仿射MVP候选是否可用,并且当继承的仿射MVP候选可用时,可以导出继承的仿射MVP候选。例如,可以基于当前块的邻近块来导出继承的仿射MVP候选,并且继承的仿射MVP候选的最大数目可以是2。可以以特定顺序检查邻近块是否可用,并且可以基于检查到的可用的邻近块来导出继承的仿射MVP候选。即,可以以特定顺序检查邻近块是否可用,并且可以基于第一个被检查为可用的邻近块来导出第一继承的仿射MVP候选,并且可以基于第二个被检查为可用的邻近块来导出第二继承的仿射MVP候选。可用可以表示用仿射运动模型对块进行编码并且块的参考图片与当前块的参考图片相同。即,可用的邻近块是用仿射运动模型编码(即,对其应用仿射预测)并且其参考图片与当前块的参考图片相同的邻近块。具体地,解码设备可以基于第一个被检查为可用的邻近块的仿射运动模型来导出针对当前块的CP的运动向量,并且可以将包括运动向量的第一继承的仿射MVP候选导出为CPMVP候选。另外,解码设备可以基于第二个被检查为可用的邻近块的仿射运动模型来导出针对当前块的CP的运动向量,并且可以将包括运动向量的第二继承的仿射MVP候选导出为CPMVP候选。可以如上式1或式3导出仿射运动模型。

另外,换句话说,可以以特定顺序检查邻近块是否满足特定条件,并且可以基于已被检查为满足特定条件的邻近块来导出继承的仿射MVP候选。即,可以以特定顺序检查邻近块是否满足特定条件,并且可以基于第一个被检查为满足特定条件的邻近块来导出第一继承的仿射MVP候选,并且可以基于第二个被检查为满足特定条件的邻近块来导出第二继承的仿射MVP候选。具体地,解码设备可以基于第一个被检查为满足特定条件的邻近块的仿射运动模型来导出针对当前块的CP的运动向量,并且可以将包括运动向量的第一继承的仿射MVP候选导出为CPMVP候选。另外,解码设备可以基于第二个被检查为满足特定条件的邻近块的仿射运动模型来导出针对当前块的CP的运动向量,并且可以将包括运动向量的第二继承的仿射MVP候选导出为CPMVP候选。可以如上式1或式3导出仿射运动模型。此外,特定条件可以表示用仿射运动模型对块进行编码并且邻近块的参考图片与当前块的参考图片相同。即,满足特定条件的邻近块是用仿射运动模型编码(即,对其应用仿射预测)并且其参考图片与当前块的参考图片相同的邻近块。

这里,例如,邻近块可以包括当前块的左邻近块、上邻近块、右上角邻近块、左下角邻近块和左上角邻近块。在这种情况下,特定顺序可以是从左邻近块到左下角邻近块到上邻近块到右上角邻近块并且然后到左上角邻近块的顺序。

另选地,例如,邻近块可以仅包括左邻近块和上邻近块。在这种情况下,特定顺序可以是从左邻近块到上邻近块的顺序。

另选地,例如,邻近块可以仅包括左邻近块,并且当上邻近块被包括在包括当前块的当前CTU中时,邻近块还可以包括上邻近块。在这种情况下,特定顺序可以是从左邻近块到上邻近块的顺序。另外,当上邻近块不被包括在当前CTU中时,邻近块可以不包括上邻近块。在这种情况下,可以仅检查左邻近块。

此外,如果大小为WxH,并且当前块的左上样本位置的x分量为0并且其y分量为0,则左下角邻近块可以是包括坐标(-1,H)处的样本的块;左邻近块可以是包括坐标(-1,H-1)处的样本的块;右上角邻近块可以是包括坐标(W,-1)处的样本的块;上邻近块可以是包括坐标(W-1,-1)处的样本的块;并且左上角邻近块可以是包括坐标(-1,-1)处的样本的块。即,左邻近块可以是当前块的左邻近块当中的位于最下部的左邻近块,并且上邻近块可以是当前块的上邻近块当中的位于最左部的上邻近块。

另外,作为一个示例,当所构造的仿射MVP候选可用时,仿射MVP候选列表可以包括所构造的仿射MVP候选。解码设备可以检查当前块的所构造的仿射MVP候选是否可用,并且当所构造的仿射MVP候选可用时,可以导出所构造的仿射MVP候选。另外,例如,在已导出继承的仿射MVP候选之后,可以导出所构造的仿射MVP候选。当所导出的仿射MVP候选(即,继承的仿射MVP候选)的数目小于2并且所构造的仿射MVP候选可用时,仿射MVP候选列表可以包括所构造的仿射MVP候选。这里,所构造的仿射MVP候选可以包括针对CP的候选运动向量。当所有候选运动向量都可用时,所构造的仿射MVP候选可以是可用的。

例如,当向当前块应用4仿射运动模型时,当前块的CP可以包括CP0和CP1。当针对CP0的运动向量可用并且针对CP1的运动向量可用时,所构造的仿射MVP候选可以是可用的,并且仿射MVP候选列表可以包括所构造的仿射MVP候选。这里,CP0可以表示当前块的左上位置,并且CP1可以表示当前块的右上位置。

所构造的仿射MVP候选可以包括针对CP0的候选运动向量和针对CP1的候选运动向量。针对CP0的候选运动向量可以是第一块的运动向量,并且针对CP1的候选运动向量可以是第二块的运动向量。

另外,第一块可以是在以第一特定顺序检查第一组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。即,针对CP1的候选运动向量可以是在以第一特定顺序检查第一组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块的运动向量。可用可以表示存在邻近块并且在进行帧间预测中对该邻近块进行编码。这里,当第一组中的第一块的参考图片与当前块的参考图片相同时,针对CP0的候选运动向量可以是可用的。另外,例如,第一组可以包括邻近块A、邻近块B和邻近块C,并且第一特定顺序可以是从邻近块A到邻近块B并且然后到邻近块C的顺序。

另外,第二块可以是在以第二特定顺序检查第二组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。这里,当第二组中的第二块的参考图片与当前块的参考图片相同时,针对CP1的候选运动向量可以是可用的。另外,例如,第二组可以包括邻近块D和邻近块E,并且第二特定顺序可以是从邻近块D到邻近块E的顺序。

此外,如果当前块的大小为WxH,并且当前块的左上样本位置的x分量为0并且其y分量为0,则邻近块A可以是包括坐标(-1,-1)处的样本的块;邻近块B可以是包括坐标(0,-1)处的样本的块;邻近块C可以是包括坐标(-1,0)处的样本的块;邻近块D可以是包括坐标(W-1,-1)处的样本的块;并且邻近块E可以是包括坐标(W,-1)处的样本的块。即,邻近块A可以是当前块的左上角邻近块;邻近块B可以是当前块的上邻近块当中的位于最左部的上邻近块;邻近块C可以是当前块的左邻近块当中的位于最上部的左邻近块;邻近块D可以是当前块的上邻近块当中的位于最右部的上邻近块;并且邻近块E可以是当前块的右上角邻近块。

此外,当CP0的候选运动向量和CP1的候选运动向量中的至少一个不可用时,所构造的仿射MVP候选可能不可用。

另选地,例如,当向当前块应用6仿射运动模型时,当前块的CP可以包括CP0、CP1和CP2。当针对CP0的运动向量可用、针对CP1的运动向量可用并且针对CP2的运动向量可用时,所构造的仿射MVP候选可以是可用的,并且仿射MVP候选列表可以包括所构造的仿射MVP候选。这里,CP0可以表示当前块的左上位置;CP1可以表示当前块的右上位置;并且CP2可以表示当前块的左下位置。

所构造的仿射MVP候选可以包括针对CP0的候选运动向量、针对CP1的候选运动向量和针对CP2的候选运动向量。针对CP0的候选运动向量可以是第一块的运动向量,针对CP1的候选运动向量可以是第二块的运动向量,并且针对CP2的候选运动向量可以是第三块的运动向量。

另外,第一块可以是在以第一特定顺序检查第一组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。这里,当第一组中的第一块的参考图片与当前块的参考图片相同时,针对CP0的候选运动向量可以是可用的。另外,例如,第一组可以包括邻近块A、邻近块B和邻近块C,并且第一特定顺序可以是从邻近块A到邻近块B并且然后到邻近块C的顺序。

另外,第二块可以是在以第二特定顺序检查第二组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。这里,当第二组中的第二块的参考图片与当前块的参考图片相同时,针对CP1的候选运动向量可以是可用的。另外,例如,第二组可以包括邻近块D和邻近块E,并且第二特定顺序可以是从邻近块D到邻近块E的顺序。

另外,第三块可以是在以第三特定顺序检查第三组中的邻近块的同时第一个被确认为其参考图片与当前块的参考图片相同的块。这里,当第三组中的第三块的参考图片与当前块的参考图片相同时,针对CP2的候选运动向量可以是可用的。另外,例如,第三组可以包括邻近块F和邻近块G,并且第三特定顺序可以是从邻近块F到邻近块G的顺序。

此外,如果当前块的大小为WxH,并且当前块的左上样本位置的x分量为0并且其y分量为0,则邻近块A可以是包括坐标(-1,-1)处的样本的块;邻近块B可以是包括坐标(0,-1)处的样本的块;邻近块C可以是包括坐标(-1,0)处的样本的块;邻近块D可以是包括坐标(W-1,-1)处的样本的块;邻近块E可以是包括坐标(W,-1)处的样本的块;邻近块F可以是包括坐标(-1,H-1)处的样本的块;并且邻近块G可以是包括坐标(-1,H)处的样本的块。即,邻近块A可以是当前块的左上角邻近块;邻近块B可以是当前块的上邻近块当中的位于最左部的上邻近块;邻近块C可以是当前块的左邻近块当中的位于最上部的左邻近块;邻近块D可以是当前块的上邻近块当中的位于最右部的上邻近块;邻近块E可以是当前块的右上角邻近块;邻近块F可以是当前块的左邻近块当中的位于最下部的左邻近块;并且邻近块G可以是当前块的左下角邻近块。

此外,当CP0的候选运动向量、CP1的候选运动向量和CP2的候选运动向量中的至少一个不可用时,所构造的仿射MVP候选可能不可用。

此后,可以基于下述步骤以特定顺序导出仿射MVP候选列表。

例如,当所导出的仿射MVP候选的数目小于2并且针对CP0的运动向量可用时,解码设备可以导出第一仿射MVP候选。这里,第一仿射MVP候选可以是包括针对CP0的候选运动向量作为针对CP的候选运动向量的仿射MVP候选。

另外,例如,当所导出的仿射MVP候选的数目小于2并且针对CP1的运动向量可用时,解码设备可以导出第二仿射MVP候选。这里,第二仿射MVP候选可以是包括针对CP1的候选运动向量作为针对CP的候选运动向量的仿射MVP候选。

另外,例如,当所导出的仿射MVP候选的数目小于2并且针对CP2的运动向量可用时,解码设备可以导出第三仿射MVP候选。这里,第三仿射MVP候选可以是包括针对CP2的候选运动向量作为针对CP的候选运动向量的仿射MVP候选。

另外,例如,当所导出的仿射MVP候选的数目小于2时,解码设备可以导出第四仿射MVP候选,第四仿射MVP候选包括基于当前块的时间邻近块导出的时间MVP作为针对CP的候选运动向量。时间邻近块可以表示与当前块对应的并置图片中的并置块。可以基于时间邻近块的运动向量来导出时间MVP。

另外,例如,当所导出的仿射MVP候选的数目小于2时,解码设备可以导出第五仿射MVP候选,第五仿射MVP候选包括零运动向量作为针对CP的候选运动向量。零运动向量可以表示其值为零的运动向量。

解码设备基于仿射MVP候选列表来导出针对当前块的控制点(CP)的控制点运动向量预测项(CPMVP)(S2620)。

解码设备可以从仿射MVP候选列表中所包括的仿射MVP候选当中选择特定的仿射MVP候选,并且可以将所选择的仿射MVP候选导出为针对当前块的CP的CPMVP。例如,解码设备可以从比特流获得针对当前块的仿射MVP候选索引,并且可以将仿射MVP候选列表中所包括的仿射MVP候选当中的仿射MVP候选索引指示的仿射MVP候选导出为针对当前块的CP的CPMVP。具体地,当仿射MVP候选包括针对CP0的候选运动向量和针对CP1的候选运动向量时,仿射MVP候选的针对CP0的候选运动向量可以被导出为CP0的CPMVP,并且仿射MVP候选的针对CP1的候选运动向量可以被导出为CP1的CPMVP。另外,当仿射MVP候选包括针对CP0的候选运动向量、针对CP1的候选运动向量和针对CP2的候选运动向量时,仿射MVP候选的针对CP0的候选运动向量可以被导出为CP0的CPMVP,仿射MVP候选的针对CP1的候选运动向量可以被导出为CP1的CPMVP,并且仿射MVP候选的针对CP2的候选运动向量可以被导出为CP2的CPMVP。另外,当仿射MVP候选包括针对CP0的候选运动向量和针对CP2的候选运动向量时,仿射MVP候选的针对CP0的候选运动向量可以被导出为CP0的CPMVP,并且仿射MVP候选的针对CP2的候选运动向量可以被导出为CP2的CPMVP。

解码设备基于运动预测信息来导出针对当前块的CP的控制点运动向量差(CPMVD)(S2630)。运动预测信息可以包括关于针对相应CP的CPMVD的信息,并且解码设备可以基于关于针对相应CP的CPMVD的信息来导出针对当前块的相应CP的CPMVD。

解码设备基于CPMVP和CPMVD来导出针对当前块的CP的控制点运动向量(CPMV)(S2640)。解码设备可以基于针对相应CP的CPMVD和CPMVP来导出针对各CP的CPMV。例如,解码设备可以通过将针对各CP的CPMVD和CPMVP相加来导出针对各CP的CPMV。

解码设备可以基于CPMV来导出针对当前块的预测样本(S2650)。解码设备可以基于CPMV来导出当前块的子块单元或样本单元的运动向量。即,解码设备可以基于CPMV来导出当前块的各子块或各样本的运动向量。可以基于上述的式1或式3来导出子块单元或样本单元的运动向量。运动向量可以被表示为仿射运动向量场(MVF)或运动向量阵列。

解码设备可以基于子块单元或样本单元的运动向量来导出针对当前块的预测样本。解码设备可以基于子块单元或样本单元的运动向量来导出参考图片中的参考区域,并且基于参考区域中的重构样本来生成当前块的预测样本。

解码设备基于所导出的预测样本来生成针对当前块的重构图片(S2660)。解码设备可以基于所导出的预测样本来生成针对当前块的重构图片。解码设备可以根据预测模式直接将预测样本用作重构样本,或者可以通过将残差样本与预测样本相加来生成重构样本。如果存在针对当前块的残差样本,则解码设备可以从比特流获取关于针对当前块的残差的信息。关于残差的信息可以包括与残差样本相关的变换系数。解码设备可以基于关于残差的信息来导出针对当前块的残差样本(或残差样本阵列)。解码设备可以基于预测样本和残差样本来生成重构样本,并且基于重构样本来导出重构块或重构图片。此后,如上所述,解码设备可以向重构图片应用诸如SAO过程和/或去块滤波这样的环形滤波过程,以便按需要提高主观/客观视频质量。

图27示意性地呈现了根据本文件的执行图像解码方法的解码设备。图26中公开的方法可以由图27中公开的解码设备执行。具体地,例如,图27的解码设备的熵解码器可以执行图26的S2600;图27的解码设备的预测器可以执行图26的S2610至S2650;并且图27的解码设备的加法器可以执行图26的S2660。另外,尽管未示出,但是通过比特流获得包括关于当前块的残差的信息的图像信息的处理可以由图27的解码设备的熵解码器执行,并且基于残差信息导出针对当前块的残差样本的处理可以由图27的解码设备的逆变换器执行。

根据上述的本文件,能够基于仿射运动预测来提高图像编码的效率。

另外,根据本文件,在导出仿射MVP候选列表时,只有当所构造的仿射MVP候选的针对CP的所有候选运动向量都可用时,才可以添加所构造的仿射MVP候选,据此能够降低导出所构造的仿射MVP候选的处理和配置仿射MVP候选列表的处理的复杂度,并且能够提高编码效率。

另外,根据本文件,在导出仿射MVP候选列表时,可以基于在导出所构造的仿射MVP候选的处理中导出的针对CP的候选运动向量来导出附加的仿射MVP候选,据此能够降低配置仿射MVP候选列表的处理的复杂度,并且能够提高编码效率。

另外,根据本文件,在导出继承的仿射MVP候选的处理中,只有当上邻近块被包括在当前CTU中时,才可以使用上邻近块来导出继承的仿射MVP候选,据此能够减少用于仿射预测的行缓冲区的存储量,并且能够使硬件成本最小化。

在上述实施方式中,借助于一系列步骤或框基于流程图来解释方法,但是本文件不限于步骤的顺序,并且特定步骤可以以不同的顺序发生或者与除了上述步骤之外的其它步骤同时发送。另外,本领域的普通技术人员可以理解,流程图中示出的步骤不是排他性的,并且可以在不影响本文件的范围的情况下,可以并入另一步骤或者可以去除流程图的一个或更多个步骤。

另外,本文件中描述的实施方式可以在处理器、微处理器、控制器或芯片上实施和执行。另外,每幅图中示出的功能单元可以在处理器、微处理器、控制器或芯片上实施和执行。在这种情况下,用于实施的信息或算法(例如,关于指令的信息)可以被存储在数字存储介质中。

另外,应用本文件的解码设备和编码设备可以被包括在多媒体广播收发器、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信这样的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、顶置(OTT)视频装置、互联网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置、运输工具终端(例如,车辆终端、飞机终端、轮船终端等)和医疗视频装置中,并且可以被用于处理视频信号或数据信号。例如,顶置(OTT)视频装置可以包括游戏控制台、蓝光播放器、互联网访问TV、家庭影院系统、智能电话、平板PC、数字录像机(DVR)等。

另外,应用本文件的处理方法可以以由计算机执行的程序的形式产生,并且被存储在计算机可读记录介质中。根据本文件的具有数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括其中存储了计算机可读数据的所有种类的存储装置和分布式存储装置。计算机可读记录介质可以包括例如蓝光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。另外,计算机可读记录介质还包括以载体(例如,互联网上的传输)的形式实施的媒体。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线或无线通信网络传输。

另外,本文件的实施方式可以通过程序代码被实施为计算机程序产品,并且程序代码可以通过本文件的实施方式在计算机中执行。程序代码可以被存储在计算机可读载体上。

图28呈现了可以应用本文件中公开的实施方式的内容流传输系统的示例。

参照图28,应用本文件的实施方式的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储器、用户装置和多媒体输入装置。

编码服务器将从诸如智能电话、相机、摄像机等这样的多媒体输入装置输入的内容压缩成数字数据以生成比特流,并且将该比特流发送到流传输服务器。作为另一示例,当诸如智能电话、相机、摄像机等这样的多媒体输入装置直接生成比特流时,可以省略编码服务器。

可以通过应用本文件的实施方式的编码方法或比特流生成方法来生成比特流,并且流传输服务器可以在发送或接收比特流的处理中临时存储比特流。

流传输服务器基于用户的请求通过网络服务器将多媒体数据发送到用户装置,并且网络服务器用作将服务告知用户的介质。当用户向网络服务器请求所期望的服务时,网络服务器将其传送到流传输服务器,并且流传输服务器将多媒体数据发送给用户。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流传输系统中的装置之间的命令/响应。

流传输服务器可以从媒体存储器和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时地接收内容。在这种情况下,为了提供平稳的流传输服务,流传输服务器可以将比特流存储预定时间。

用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航仪、触屏PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字TV、台式计算机、数字标牌等。内容流传输系统中的每个服务器都可以作为分布式服务器操作,在这种情况下,从每个服务器接收到的数据可以被分发。

内容流传输系统中的各服务器可以作为分布式服务器操作,在这种情况下,各服务器接收到的数据可以被分布式地处理。

相关技术
  • 一种高保湿修护面膜及其制备方法
  • 一种含有溶解性蜂蜡的滋润保湿修护精华霜及其制备方法
  • 一种抑菌抗过敏保湿喷雾及其制备方法
  • 一种改善雾化效果的保湿修护喷雾原料及其制备方法
  • 一种含改善雾化效果组合物的保湿化妆水及其制备方法
技术分类

06120116555292