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

解码设备、编码设备和发送用于视频的数据的设备

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


解码设备、编码设备和发送用于视频的数据的设备

本申请是原案申请号为201980005861.X的发明专利申请(国际申请号:PCT/KR2019/008416,申请日:2019年7月9日,发明名称:基于图像编码系统中的仿射运动预测的图像解码方法和设备)的分案申请。

技术领域

本公开涉及图像编码技术,并且最具体地,涉及基于图像编码系统中的仿射运动预测的图像解码方法和设备。

背景技术

在各种领域中,对诸如HD(高清)图像和UHD(超高清)图像这样的高分辨率、高质量图像的需求正在增长。因为图像数据具有高分辨率和高质量,所以相对于传统图像数据,待传输的信息或比特的量增加。因此,当使用诸如传统有线/无线宽带线路这样的介质发送图像数据或者使用现有存储介质存储图像数据时,其传输成本和存储成本增加。

因此,需要用于有效地发送、存储和再现高分辨率高质量图像的信息的高效图像压缩技术。

发明内容

技术目的

本公开的技术目的是提供能增强图像编码效率的方法和设备。

本公开的另一技术目的是提供基于应用仿射预测的邻近块来推导当前块的仿射MV候选列表,然后,基于所推导出的仿射MVP候选列表对当前块执行预测的图像解码方法和设备。

本公开的另一技术目的是提供通过基于左块组推导第一仿射MVP候选列表并且基于上块组推导第二仿射MVP候选列表来推导当前块的仿射MVP候选列表,然后,基于所推导出的仿射MVP候选列表对当前块执行预测的图像解码方法和设备。

技术方案

根据本公开的实施方式,本文中提供了一种由解码设备执行的视频解码方法。该方法包括以下步骤:从比特流获得当前块的运动预测信息,构造包括所述当前块的仿射运动向量预测子(MVP)候选的仿射MVP候选列表;基于所述仿射MVP候选列表中所包括的所述仿射MVP候选中的一个来推导所述当前块的控制点(CP)的控制点运动向量预测子(CPMVP),基于所述运动预测信息来推导所述当前块的CP的控制点运动向量差(CPMVD),基于所述CPMVP和所述CPMVD来推导所述当前块的CP的控制点运动向量(CPMV),基于所述CPMV来推导所述当前块的预测样本;以及基于所推导出的所述预测样本来生成所述当前块的重构图片,其中,所述仿射MVP候选包括第一仿射MVP候选和第二仿射MVP候选,其中,基于包括左下角邻近块和左邻近块的左块组中的第一个块来推导所述第一仿射MVP候选,其中,用仿射运动模型对所述第一个块进行编码,并且所述第一个块的参考图片与所述当前块的参考图片相同,其中,基于包括右上角邻近块、上邻近块和左上角邻近块的上块组内的第二个块来推导所述第二仿射MVP候选,并且,其中,用所述仿射运动模型对所述第二个块进行编码,并且所述第二个块的参考图片与所述当前块的参考图片相同。

根据本公开的另一实施方式,本文中提供了一种执行视频解码方法的解码设备。该解码设备包括:熵编码器,该熵编码器从比特流获得当前块的运动预测信息;预测器,该预测器构造包括所述当前块的仿射运动向量预测子(MVP)候选的仿射MVP候选列表,基于所述仿射MVP候选列表中所包括的所述仿射MVP候选中的一个来推导所述当前块的控制点(CP)的控制点运动向量预测子(CPMVP),基于所述运动预测信息来推导所述当前块的CP的控制点运动向量差(CPMVD),基于所述CPMVP和所述CPMVD来推导所述当前块的CP的控制点运动向量(CPMV),并且基于所述CPMV来推导所述当前块的预测样本;以及加法器,该加法器基于所推导出的所述预测样本来生成所述当前块的重构图片,其中,所述仿射MVP候选包括第一仿射MVP候选和第二仿射MVP候选,其中,基于包括左下角邻近块和左邻近块的左块组中的第一个块来推导所述第一仿射MVP候选,其中,用仿射运动模型对所述第一个块进行编码,并且所述第一个块的参考图片与所述当前块的参考图片相同,其中,基于包括右上角邻近块、上邻近块和左上角邻近块的上块组内的第二个块来推导所述第二仿射MVP候选,并且其中,用所述仿射运动模型对所述第二个块进行编码,并且所述第二个块的参考图片与所述当前块的参考图片相同。

根据本公开的另一实施方式,本文中提供了一种由编码设备执行的视频编码方法。该方法包括以下步骤:构造包括当前块的仿射运动向量预测子(MVP)候选的仿射MVP候选列表;基于所述仿射MVP候选列表中所包括的所述仿射MVP候选中的一个来推导所述当前块的控制点(CP)的控制点运动向量预测子(CPMVP);推导所述当前块的CP的控制点运动向量(CPMV);基于所述CPMVP和所述CPMV来推导所述当前块的CP的控制点运动向量差(CPMVD);以及对包括关于所述CPMVD的信息的运动预测信息进行编码,其中,所述仿射MVP候选包括第一仿射MVP候选和第二仿射MVP候选,其中,基于包括左下角邻近块和左邻近块的左块组中的第一个块来推导所述第一仿射MVP候选,其中,用仿射运动模型对所述第一个块进行编码,并且所述第一个块的参考图片与所述当前块的参考图片相同,其中,基于包括右上角邻近块、上邻近块和左上角邻近块的上块组内的第二个块来推导所述第二仿射MVP候选,并且其中,用所述仿射运动模型对所述第二个块进行编码,并且所述第二个块的参考图片与所述当前块的参考图片相同。

根据本公开的另一实施方式,提供了一种执行视频编码方法的编码设备。该编码设备包括:预测器,该预测器构造包括当前块的仿射运动向量预测子(MVP)候选的仿射MVP候选列表,基于所述仿射MVP候选列表中所包括的所述仿射MVP候选中的一个来推导所述当前块的控制点(CP)的控制点运动向量预测子(CPMVP),以及推导所述当前块的CP的控制点运动向量(CPMV);减法器,该减法器基于所述CPMVP和所述CPMV来推导所述当前块的CP的控制点运动向量差(CPMVD);以及熵编码器,该熵编码器对包括关于所述CPMVD的信息的运动预测信息进行编码,其中,所述仿射MVP候选包括第一仿射MVP候选和第二仿射MVP候选,其中,基于包括左下角邻近块和左邻近块的左块组中的第一个块来推导所述第一仿射MVP候选,其中,用仿射运动模型对所述第一个块进行编码,并且所述第一个块的参考图片与所述当前块的参考图片相同,其中,基于包括右上角邻近块、上邻近块和左上角邻近块的上块组内的第二个块来推导所述第二仿射MVP候选,并且其中,用所述仿射运动模型对所述第二个块进行编码,并且所述第二个块的参考图片与所述当前块的参考图片相同。

本公开的效果

根据本公开,能增强整体图像/视频压缩效率。

根据本公开,能提高基于仿射运动预测的图像编码的效率。

根据本公开,当推导仿射MVP候选列表时,邻近块被划分成左块组和上块组,并且可以通过从每个块组推导MVP候选来构造仿射MVP候选列表。因此,能减少构造仿射MVP候选列表的过程的复杂度,并且能增强编码效率。

附图说明

图1是例示了适用本公开的视频编码设备的配置的示意图。

图2是例示了适用本公开的视频解码设备的配置的示意图。

图3例示了通过仿射运动模型表达的运动。

图4例示了使用3个控制点的运动向量的仿射运动模型。

图5例示了使用2个控制点的运动向量的仿射运动模型。

图6例示了基于仿射运动模型以子块为基础推导运动向量的方法。

图7是例示了根据本公开的实施方式的仿射运动预测方法的流程图。

图8是用于描述根据本公开的实施方式的推导控制点处的运动向量预测子的方法的示图。

图9是用于描述根据本公开的实施方式的推导控制点处的运动向量预测子的方法的示图。

图10例示了在选择邻近块A作为仿射合并候选的情况下执行仿射预测的示例。

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

图12例示了构造的仿射候选的示例性空间候选。

图13例示了构造仿射MVP列表的示例。

图14例示了构造仿射MVP列表的示例。

图15例示了构造仿射MVP列表的示例。

图16例示了根据本公开的由编码设备执行的图像编码方法的一般视图。

图17例示了根据本公开的执行图像编码方法的编码设备的一般视图。

图18例示了根据本公开的由解码设备执行的图像解码方法的一般视图。

图19例示了根据本公开的执行图像解码方法的解码设备的一般视图。

图20例示了应用本公开的内容流传输系统结构。

具体实施方式

本公开可以按各种形式进行修改,并且将在附图中描述和例示其具体实施方式。然而,这些实施方式并不旨在限制本公开。以下描述中使用的术语用于仅仅描述特定的实施方式,而不旨在限制本公开。单数的表述包括复数的表述,只要它被清楚不同地理解即可。诸如“包括”和“具有”这样的术语旨在指示存在以下描述中使用的特征、数字、步骤、操作、元件、组件或其组合,因此应该理解,没有排除有可能存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合。

此外,出于方便说明不同特定功能的目的,独立地绘制本公开中描述的图中的元件,这并不意味着这些元件是由独立硬件或独立软件实施的。例如,可以将这些元件中的两个或更多个元件组合,以形成单个元件,或者可以将一个元件划分成多个元件。在不脱离本公开的构思的情况下,其中组合和/或划分元件的实施方式属于本公开。

下文中,将参照附图来详细地描述本公开的实施方式。另外,在整个附图中,类似的附图标记用于指示类似的元件,并且将省略对类似元件的相同描述。

此外,本公开涉及视频/图像编码。例如,本公开中公开的方法/实施方式可以应用于多功能视频编码(VVC)标准或下一代视频/图像编码标准中公开的方法。

在本公开中,通常,图片意指表示特定时隙中的图像的单元,并且切片是构成编码中的图片的一部分的单元。图片可以包括多个切片,并且在某些情况下,图片和切片可以以混合方式使用。

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

单元表示图像处理的基本单位。单元可以包括图片的特定区域和与对应区域相关的信息中的至少一个。在某些情况下,可以将单元与块或区域以混合方式使用。在一般情况下,M×N块可以表示包括M列N行的样本或变换系数的集合。

图1是简要例示了适用本公开的视频编码设备的示图。

参照图1,视频编码设备100可以包括图片分割器105、预测器110、残差处理器120、熵编码器130、加法器140、滤波器150和存储器160。残差处理器120可以包括减法器121、变换器122、量化器123、重排器124、反量化器125和逆变换器126。

图片分割器105可以将输入图片分割成至少一个处理单元。

例如,处理器可以被称为编码单元(CU)。在这种情况下,可以根据四叉树二叉树三叉树(QTBT)结构从最大编码单元(LCU)递归地分割编码单元。例如,可以基于四叉树结构和/或二叉树结构将一个编码单元分割成深度较深的多个编码单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构。另选地,可以首先应用二叉树结构。可以基于不再被分割的最终编码单元来执行根据本公开的编码过程。在这种情况下,可以根据图像特性基于编码效率将最大的编码单元用作最终编码单元,或者可以在必要时将编码单元递归地分割成深度较深的编码单元,并且可以使用具有最佳尺寸的编码单元作为最终编码单元。这里,编码过程可以包括随后将描述的预测、变换和重构的过程。

在另一示例中,处理单元可以包括编码单元(CU)、预测单元(PU)或变换单元(TU)。可以根据四叉树结构将编码单元从最大编码单元(LCU)分割成深度较深的编码单元。在这种情况下,可以根据图像特性基于编码效率等直接将最大的编码单元用作最终编码单元,或者可以在必要时将编码单元递归地分割成深度较深的编码单元,并且可以使用具有最佳尺寸的编码单元作为最终编码单元。当设置了最小编码单元(SCU)时,编码单元可以不被分割成比最小编码单元小的编码单元。这里,最终编码单元是指被分割或划分成预测单元或变换单元的编码单元。预测单元是从编码单元分割出的单元,并且可以是样本预测的单元。这里,预测单元可以被分成子块。可以根据四叉树结构从编码单元分出变换单元,并且变换单元可以是推导变换系数的单元和/或从变换系数推导残差信号的单元。下文中,编码单元可以被称为编码块(CB),预测单元可以被称为预测块(PB),并且变换单元可以被称为变换块(TB)。预测块或预测单元可以是指采用图片中的块的形式的特定区域,并且包括预测样本的阵列。另外,变换块或变换单元可以是指采用图片中的块的形式的特定区域,并且包括变换系数或残差样本的阵列。

预测器110可以对处理目标块(下文中,当前块)执行预测,并且可以生成包括针对当前块的预测样本的预测块。在预测器110中执行的预测的单元可以是编码块,或者可以是变换块,或者可以是预测块。

预测器110可以确定对当前块是应用帧内预测还是帧间预测。例如,预测器110可以确定以CU为单位应用帧内预测还是帧间预测。

在帧内预测的情况下,预测器110可以基于当前块所属图片(下文中,当前图片)中的当前块之外的参考样本来推导当前块的预测样本。在这种情况下,预测器110可以基于当前块的邻近参考样本的平均或内插来推导预测样本(情况(i)),或者可以基于当前块的邻近参考样本当中的预测样本在特定(预测)方向上存在的参考样本来推导预测样本(情况(ii))。情况(i)可以被称为非定向模式或非角度模式,并且情况(ii)可以被称为定向模式或角度模式。在帧内预测中,作为示例,预测模式可以包括33种定向模式和至少两种非定向模式。非定向模式可以包括DC模式和平面模式。预测器110可以通过使用应用于邻近块的预测模式来确定要应用于当前块的预测模式。

在帧间预测的情况下,预测器110可以基于参考图片上的运动向量所指定的样本来推导当前块的预测样本。预测器110可以通过应用跳过模式、合并模式和运动向量预测(MVP)模式中的任一种来推导当前块的预测样本。在跳过模式和合并模式的情况下,预测器110可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,并不发送预测样本与原始样本之间的差(残差)。在MVP模式的情况下,邻近块的运动向量被用作运动向量预测器,因此被用作当前块的运动向量预测器来推导当前块的运动向量。

在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括时间邻近块的参考图片也可以被称为并置图片(colPic)。运动信息可以包括运动向量和参考图片索引。诸如预测模式信息和运动信息这样的信息可以被(熵)编码,然后被作为比特流的形式输出。

当在跳过模式和合并模式下使用时间邻近块的运动信息时,参考图片列表中的最高图片可以被用作参考图片。可以基于当前图片与对应的参考图片之间的图片序号(POC)差来对齐参考图片列表中所包括的参考图片。POC对应于显示顺序并且可以与编码顺序区分开。

减法器121生成残差样本,残差样本是原始样本与预测样本之间的差。如果应用跳过模式,则可以不如上所述地生成残差样本。

变换器122以变换块为单位变换残差样本以生成变换系数。变换器122可以基于对应变换块的尺寸和应用于与变换块在空间上交叠的预测块或编码块的预测模式来执行变换。例如,如果向与变换块交叠的预测块或编码块应用帧内预测,则可以使用离散正弦变换(DST)变换核来变换残差样本,变换块为4×4残差阵列,并且在其它情况下使用离散余弦变换(DCT)变换核来变换它。

量化器123可以量化变换系数,以生成量化后的变换系数。

重排器124对量化后的变换系数进行重排。重排器124可以通过系数扫描方法将块形式的量化后的变换系数重排成一维向量。尽管将重排器124描述为单独的组件,但是重排器124可以是量化器123的一部分。

熵编码器130可以对量化后的变换系数执行熵编码。熵编码可以包括诸如(例如)指数哥伦布(exponential Golomb)、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等这样的编码方法。熵编码器130可以一起或分别地对除了量化后的变换系数之外的视频重构所必需的信息(例如,语法元素的值等)进行编码。熵编码后的信息可以以比特流的形式以NAL(网络抽象层)为单位发送或存储。

反量化器125对由量化器123量化的值(变换系数)进行反量化,并且逆变换器126对由反量化器125反量化的值进行逆变换,以生成残差样本。

加法器140将残差样本与预测样本相加,以重构图片。可以以块为单位将残差样本与预测样本相加,以生成重构块。尽管将加法器140描述为单独的组件,但是加法器140可以是预测器110的一部分。此外,加法器140可以被称为重构器或重构块生成器。

滤波器150可以向重构图片应用去块滤波和/或样本自适应偏移。可以通过去块滤波和/或样本自适应偏移来校正重构图片中块边界处的伪像或量化中的失真。在去块滤波完成之后,可以以样本为单位应用样本自适应偏移。滤波器150可以向重构图片应用自适应环路滤波器(ALF)。可以向已应用了去块滤波和/或样本自适应偏移的重构图片应用ALF。

存储器160可以存储重构图片(解码图片)或编码/解码所需的信息。这里,重构图片可以是经滤波器150滤波的重构图片。所存储的重构图片可以被用作用于其它图片的(帧间)预测的参考图片。例如,存储器160可以存储用于帧间预测的(参考)图片。这里,可以根据参考图片集或参考图片列表来指定用于帧间预测的图片。

图2是例示了适用本公开的视频解码设备的配置的示意图。

参照图2,视频解码设备200包括图像解码器210、残差处理器220、预测器230、加法器240、滤波器250和存储器260。这里,残差处理器220可以包括重排器221、反量化器222和逆变换器223。

当输入包括视频信息的比特流时,视频解码设备200可以重构与在视频编码设备中处理视频信息的处理对应的视频。

例如,视频解码设备200可以使用在视频编码设备中应用的处理器来执行视频解码。因此,视频解码的处理单元块例如可以是编码单元,或者又如可以是编码单元、预测单元或变换单元。可以根据四叉树结构和/或二叉树结构从最大编码单元中分割出编码单元。

在某些情况下,还可以使用预测单元和变换单元,并且在这种情况下,预测块是从编码单元推导或分割出的块并且可以是样本预测的单元。这里,预测单元可以被分成子块。可以根据四叉树结构从编码单元分割出变换单元,并且变换单元可以是推导变换系数的单元或从变换系数推导残差信号的单元。

熵解码器210可以解析比特流,以输出视频重构或图片重构所需的信息。例如,熵解码器210可以基于诸如指数哥伦布编码、CAVLC、CABAC等这样的编码方法对比特流中的信息进行解码,并且可以输出视频重构所需的语法元素的值和用于残差的变换系数的量化值。

更具体地,CABAC熵解码方法可以接收与比特流中的每个语法元素对应的bin,使用解码目标语法元素信息和邻近和解码目标块的解码信息或先前步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且对bin执行算术解码以生成与每个语法元素值对应的符号。这里,CABAC熵解码方法可以在确定上下文模型之后,使用针对下一个符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。

在熵解码器210中解码的信息当中的用于预测的信息可以被提供到预测器230,并且残差值即熵解码器210已对其执行了熵解码的量化后的变换系数可以被输入到重排器221。

重排器221可以将量化后的变换系数重排为二维块形式。重排器221可以执行与由编码设备执行的系数扫描对应的重排。尽管将重排器221描述为单独的组件,但是重排器221可以是反量化器222的一部分。

反量化器222可以基于(反)量化参数对量化后的变换系数进行反量化,以输出变换系数。在这种情况下,可以从编码设备发信号发送用于推导量化参数的信息。

逆变换器223可以对变换系数进行逆变换,以推导残差样本。

预测器230可以对当前块执行预测,并且可以生成包括当前块的预测样本的预测块。在预测器230中执行的预测的单元可以是编码块或者可以是变换块或者可以是预测块。

预测器230可以基于用于预测的信息来确定是应用帧内预测还是帧间预测。在这种情况下,用于确定将使用帧内预测和帧间预测中的哪种的单元可以不同于用于生成预测样本的单元。另外,在帧间预测和帧内预测中,用于生成预测样本的单元也可以不同。例如,可以以CU为单位确定将应用帧间预测和帧内预测中的哪种。另外,例如,在帧间预测中,可以通过以PU为单位确定预测模式来生成预测样本,而在帧内预测中,可以通过以PU为单位确定预测模式来以TU为单位生成预测样本。

在帧内预测的情况下,预测器230可以基于当前图片中的邻近参考样本推导当前块的预测样本。预测器230可以通过基于当前块的邻近参考样本应用定向模式或非定向模式来推导当前块的预测样本。在这种情况下,可以通过使用邻近块的帧内预测模式来确定将应用于当前块的预测模式。

在帧间预测的情况下,预测器230可以基于根据运动向量在参考图片中指定的样本来推导当前块的预测样本。预测器230可以使用跳过模式、合并模式和MVP模式中的一种来推导当前块的预测样本。这里,可以基于用于预测的信息来获取或推导由视频编码设备提供的当前块的帧间预测所需的运动信息,例如,运动向量和用于参考图片索引的信息。

在跳过模式和合并模式下,可以将邻近块的运动信息作为当前块的运动信息。这里,邻近块可以包括空间邻近块和时间邻近块。

预测器230可以使用可用的邻近块的运动信息来构造合并候选列表,并且使用由合并候选列表上的合并索引所指示的信息作为当前块的运动向量。可以由编码设备发信号通知合并索引。运动信息可以包括运动向量和参考图片。当在跳过模式和合并模式下使用时间邻近块的运动信息时,参考图片列表中的最高图片可以被用作参考图片。

在跳过模式的情况下,与合并模式不同,不发送预测样本与原始样本之间的差(残差)。

在MVP模式的情况下,可以使用邻近块的运动向量作为运动向量预测器来推导当前块的运动向量。这里,邻近块可以包括空间邻近块和时间邻近块。

当应用合并模式时,例如,可以使用重构的空间邻近块的运动向量和/或与作为时间邻近块的Col块对应的运动向量来生成合并候选列表。在合并模式下,从合并候选列表中选择的候选块的运动向量被用作当前块的运动向量。以上提到的用于预测的信息可以包括合并索引,合并索引指示从合并候选列表中所包括的候选块中选择的具有最佳运动向量的候选块。这里,预测器230可以使用合并索引来推导当前块的运动向量。

当作为另一示例应用MVP(运动向量预测)模式时,可以使用重构的空间邻近块的运动向量和/或与作为时间邻近块的Col块对应的运动向量来生成运动向量预测器候选列表。即,可以使用重构的空间邻近块的运动向量和/或与作为时间邻近块的Col块对应的运动向量作为运动向量候选。以上提到的用于预测的信息可以包括指示从列表中所包括的运动向量候选中选择的指示最佳运动向量的预测运动向量索引。这里,预测器230可以使用运动向量索引,从运动向量候选列表中所包括的运动向量候选中选择当前块的预测运动向量。编码设备的预测器可以获得当前块的运动向量与运动向量预测器之间的运动向量差(MVD),对MVD进行编码并且以比特流的形式输出编码后的MVD。即,MVD可以是通过从当前块的运动向量中减去运动向量预测器来获得的。这里,预测器230可以获取用于预测的信息中所包括的运动向量,并且通过将运动向量差与运动向量预测器相加来推导当前块的运动向量。另外,预测器可以从以上提到的用于预测的信息获得或推导指示参考图片的参考图片索引。

加法器240可以将残差样本与预测样本相加,以重构当前块或当前图片。加法器240可以通过以块为单位将残差样本与预测样本相加来重构当前图片。当应用跳过模式时,不发送残差,因此预测样本可以成为重构样本。尽管将加法器240描述为单独的组件,但是加法器240可以是预测器230的一部分。此外,加法器240可以被称为重构器或重构块生成器。

滤波器250可以向重构图片应用去块滤波、样本自适应偏移和/或ALF。这里,在去块滤波之后,可以以样本为单位应用样本自适应偏移。可以在去块滤波和/或应用样本自适应偏移之后应用ALF。

存储器260可以存储重构图片(解码图片)或解码所需的信息。这里,重构图片可以是经滤波器250滤波的重构图片。例如,存储器260可以存储用于帧间预测的图片。这里,可以根据参考图片集或参考图片列表来指定用于帧间预测的图片。重构图片可以被用作其它图片的参考图片。存储器260可以按输出顺序输出重构图片。

此外,在帧间预测的情况下,已提出了考虑图像失真的帧间预测方法。具体地,已提出了仿射运动模型,以高效地推导当前块的子块或样本点的运动向量,并且尽管图像旋转、放大或缩小的变形,也提高了帧间预测的准确性。即,已提出了推导当前块的子块或样本点的运动向量的仿射运动模型。使用仿射运动模型的预测可以被称为仿射帧间预测或仿射运动预测。

例如,使用仿射运动模型的仿射帧间预测能高效地表达如下所述的四个运动,即,四种变形。

图3例示了通过仿射运动模型表达的运动。参照图3,可以通过仿射运动模型表示的运动可以包括平移运动、缩放运动、旋转运动和剪切运动。即,可以如图3中例示地有效表示图像的(一部分)根据时间的流逝而缩放的缩放运动、图像的(一部分)根据时间的流逝而旋转的旋转运动、图像的(一部分)根据时间的流逝而平行四边形变形的剪切运动以及图像的(一部分)根据时间的流逝而在平面上移动的平移运动。

编码设备/解码设备可以通过仿射帧间预测基于当前块的控制点(CP)处的运动向量来预测图像的失真形状,可以通过提高预测精度来改善图像的压缩性能。另外,由于可以使用当前块的邻近块的运动向量来推导当前块的至少一个控制点的运动向量,因此能减轻附加信息的数据量负担,并且能大幅改善帧间预测效率。

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

图4例示了使用3个控制点的运动向量的仿射运动模型。

在当前块(400)中的左上样本位置为(0,0)时,样本位置(0,0)、(w,0)、(0,h)可以被定义为控制点,如图4中所示。下文中,样本位置(0,0)的控制点可以被表示为CP0,样本位置(w,0)的控制点可以被表示为CP1,并且样本位置(0,h)的控制点可以被表示为CP2。

可以使用上述的控制点和对应控制点的运动向量来推导仿射运动模型的公式。可以如下地表示仿射运动模型的公式:

[式1]

这里,w表示当前块(400)的宽度;h表示当前块(400)的高度;v

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

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

[式2]

这里,w表示当前块(400)的宽度;h表示当前块(400)的高度,v

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

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

图5例示了使用两个控制点的运动向量的仿射运动模型。使用两个控制点的仿射运动模型可以表示三个运动,包括平移运动、缩放运动和旋转运动。表示这三个运动的仿射运动模型可以被称为相似度仿射运动模型或简化的仿射运动模型。

在当前块(500)中的左上样本位置为(0,0)时,样本位置(0,0)和(w,0)可以被定义为控制点,如图5中所示。下文中,样本位置(0,0)的控制点可以被表示为CP0,并且样本位置(w,0)的控制点可以被表示为CP1。

可以使用上述的控制点和对应控制点的运动向量来推导仿射运动模型的公式。可以如下地表示仿射运动模型的公式:

[式3]

这里,w表示当前块(500)的宽度,v

此外,式3中的四个参数可以被用如下式中的a、b、c和d表示,并且用这四个参数表示的仿射运动模型的公式可以如下。

[式4]

这里,w表示当前块(500)的宽度,v

此外,如上所述,可以通过仿射运动模型推导样本单元的运动向量,因此,能大幅提高帧间预测的精度。然而,在这种情况下,运动补偿处理的复杂度会大幅增加。

因此,可以进行限制,使得当前块中的子块单元的运动向量而非推导样本单元的运动向量被推导。

图6例示了基于仿射运动模型以子块为基础推导运动向量的方法。图6例示了其中当前块的大小为16×16并且以4×4子块为单元推导运动向量的情况。子块可以被设置为各种大小。例如,当子块被设置为n×n大小(n是正整数,例如,n为4)时,可以基于仿射运动模型在当前块中以n×n字块为单元推导运动向量,并且可以应用用于推导表示每个子块的运动向量的各种方法。

例如,参照图6,可以使用每个子块的中央或右下侧样本位置作为代表性坐标来推导每个子块的运动向量。这里,中央右下位置可以指示处于子块中心的四个样本当中的处于右下侧的样本位置。例如,当n为奇数时,一个样本可以处于子块的中央处,并且在这种情况下,可以使用中央样本位置推导子块的运动向量。然而,当n为偶数时,四个样本可以被设置成在子块的中央相邻,并且在这种情况下,可以使用右下样本位置推导运动向量。例如,参照图6,可以推导出每个子块的代表性坐标为(2、2),(6、2),(10、2),...,(14、14),并且编码设备/解码设备可以通过将子块的代表性坐标中的每一个代入上述式1或式3中来推导每个子块的运动向量。通过仿射运动模型推导的当前块中子块的运动向量可以被称为仿射MVF。

此外,作为示例,可以基于下式推导当前块中子块的大小。

[式5]

这里,M表示子块的宽度,并且N表示子块的高度。另外,v

此外,使用上述仿射运动模型的帧间预测(即,仿射运动预测)可以具有仿射合并模式(AF_MERGE)和仿射帧间模式(AF_INTER)。这里,仿射帧间模式可以被称为仿射MVP模式AF_MVP。

仿射合并模式与现有合并模式的相似之处在于,不发送用于控制点的运动向量的MVD。即,类似于现有的跳变/合并模式,仿射合并模式可以指代通过从当前块的邻近块推导针对两个或三个控制点中的每一个的CPMV来执行预测的编码/解码方法。

例如,当向当前块应用AF_MRG模式时,可以从当前块的邻近块当中的应用仿射模式的邻近块推导CP0和CP1的MV(即,CPMV0和CPMV1)。即,应用仿射模式的邻近块的CPMV0和CPMV1可以被推导为合并候选,并且合并候选可以被推导为当前块的CPMV0和CPMV1。

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

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

另外,仿射MVP候选中的每一个都可以指代4参数仿射运动模型中CP0和CP1的CPMVP的组合,并且可以指代6参数仿射运动模型中的CP0、CP1和CP2的CPMVP的组合。

图7例示了根据本公开的实施方式的仿射运动预测方法的流程图。

参照图7,仿射运动预测方法可以被如下地表示。当仿射运动预测方法开始时,首先,可以获得CPMV对(S700)。这里,当使用4参数仿射模型时,CPMV对可以包括CPMV0和CPMV1。

此后,可以基于CPMV对执行仿射运动补偿(S710),并且可以终止仿射运动预测。

另外,可能有两种用于确定CPMV0和CPMV1的仿射预测模式。这里,这两种仿射预测模式可以包括仿射帧间模式和仿射合并模式。在仿射帧间模式中,可以通过发信号通知CPMV0和CPMV1的两个运动向量差(MVD)信息来明确确定CPMV0和CPMV1。此外,在仿射合并模式中,可以在没有MVD信息信令的情况下推导CPMV对。

换句话说,在仿射合并模式下,可以使用以仿射模式编码的邻近块的CPMV来推导当前块的CPMV,并且在以子块为单元确定运动向量的情况下,仿射合并模式可以被称为子块合并模式。

在仿射合并模式中,编码设备可以向解码设备发信号通知以仿射模式编码的邻近块的索引以用于推导当前块的CPMV,并且还可以发信号通知邻近块的CPMV与当前块的CPMV之间的差值。这里,在仿射合并模式下,可以基于邻近块来构造仿射合并候选列表,并且邻近块的索引可以表示要引用的邻近块以便推导仿射合并候选列表上的当前块的CPMV。仿射合并候选列表可以被称为子块合并候选列表。

仿射帧间模式可以被称为仿射MVP模式。在仿射MVP模式中,可以基于控制点运动向量预测子(CPMVP)和控制点运动向量差(CPMVD)来推导当前块的CPMV。换句话说,编码设备可以确定当前块的CPMV的CPMVP,推导作为当前块的CPMV与CPMVP之间的差的CPMVD,并且向解码设备发信号通知关于CPMVP的信息和关于CPMVD的信息。这里,仿射MVP模式可以基于邻近块来构造仿射MVP候选列表,并且关于CPMVP的信息可以表示要引用的邻近块以便推导仿射MVP候选列表上的当前块的CPMV的CPMVP。仿射MVP候选列表可以被称为控制点运动西向量预测子候选列表。

例如,在应用6参数仿射运动模型的仿射帧间模式的情况下,可以如下所述对当前块进行编码。

图8是用于描述根据本公开的实施方式的用于推导控制点处的运动向量预测子的方法的示图。

参照图8,当前块的CP0的运动向量可以被表示为v

仿射MVP候选可以是CP0的CPMVP候选、CP1的CPMVP候选和CP2的CPMVP候选的组合。

例如,可以如下所述地推导仿射MVP候选。

更具体地,可以根据以下示出的公式来确定最多12个CPMVP候选组合。

[式6]

{(v

在此,v

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

更具体地,参照上述式6,CP0的CPMVP候选可以包括邻近块A的运动向量v

换句话说,可以基于左上样本位置的邻近块A、B和C中的至少一个的运动向量来推导CP0的CPMVP v

可以基于邻近块的运动向量来推导包括CP0的CPMVP候选、CP1的CPMVP候选和CP2的CPMVP候选的最多12个CPMVP候选的组合。

此后,可以通过具有较低DV值的候选的顺序来对准所推导出的CPMVP候选的组合。因此,前2个CPMVP候选组合可以被推导为仿射MVP候选。

可以使用下式来推导CPMVP候选组合的DV。

[式7]

DV=|(v

此后,编码设备可以确定仿射MVP候选中的每一个的CPMV。然后,通过比较CPMV的速率失真(RD)成本,可以选择具有较低RD成本的仿射MVP候选作为当前块的最佳仿射MVP候选。编码设备可以对指示最佳候选和CPMVD的索引进行编码和发信号通知。

另外,例如,在应用仿射合并模式的情况下,可以如下所述对当前块进行编码。

图9是用于描述根据本公开的实施方式的推导控制点处的运动向量预测子的方法的示图。

可以基于图9中示出的当前块的邻近块来构造当前块的仿射合并候选列表。邻近块可以包括邻近块A、邻近块B、邻近块C、邻近块D和邻近块E。并且,邻近块A可以表示当前块的左邻近块,邻近块B可以表示当前块的上邻近块,邻近块C可以表示当前块的右上角邻近块,邻近块D可以表示当前块的左下角邻近块,并且邻近块E可以表示当前块的左上角邻近块。

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

更具体地,例如,编码设备可以按特定扫描顺序来扫描当前块的邻近块A、邻近块B、邻近块C、邻近块D和邻近块E,并且按扫描顺序,首先将被编码为仿射预测模式的邻近块可以被确定为仿射合并模式的候选块,即,仿射合并候选。本文中,例如,特定扫描顺序可以是字母顺序。更具体地,特定扫描顺序可以是邻近块A、邻近块B、邻近块C、邻近块D和邻近块E。

此后,编码设备可以通过使用所确定的候选块来确定当前块的仿射运动模型,基于仿射运动模型来确定当前块的CPMV,并且基于CPMV来确定当前块的仿射MVF。

例如,在邻近块A被确定为当前块的候选块的情况下,可以如下所述对邻近块A进行编码。

图10例示了在选择邻近块A作为仿射合并候选的情况下执行仿射预测的示例。

参照图10,编码设备可以将当前块的邻近块A确定为候选块,并且编码设备可以基于邻近块的CPMV、v

此外,关于仿射帧间预测,正在考虑用于构造仿射MVP候选列表的继承的仿射候选。

本文中,继承的仿射候选可以如下所述。

例如,在当前块的邻近块是仿射块的情况下并且在当前块的参考图片与邻近块的参考图片相同的情况下,可以从邻近块的仿射运动模型来确定当前块的仿射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。并且,在通过使用仿射运动模型对邻近块进行编码的情况下并且在当前块的参考图片与邻近块的参考图片相同的情况下,可以基于邻近块的仿射运动模型来推导当前块的2个CPMV或3个CPMV。CPMV可以被推导为当前块的仿射MVP候选。仿射MVP候选可以代表继承的仿射候选。

例如,可以基于邻近块来推导最多两个继承的仿射候选。

例如,编码设备/解码设备可以基于邻近块内的第一个块来推导第一仿射MVP候选。本文中,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。更具体地,当按特定顺序检查邻近块时,第一个块可以是被验证为满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

此后,编码设备/解码设备可以基于邻近块内的第二个块来推导第二仿射MVP候选。本文中,可以通过使用仿射运动模型对第二个块进行编码,并且第二个块的参考图片与当前块的参考图片可以相同。更具体地,当按特定顺序检查邻近块时,第二个块可以是被验证为满足条件的第二个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

例如,可以基于邻近块来推导最多一个继承的仿射候选。

例如,编码设备/解码设备可以基于邻近块内的第一个块来推导第一仿射MVP候选。本文中,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。更具体地,当按特定顺序检查邻近块时,第一个块可以是被验证为满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

如以下在下表中所示,可以推导当前块的MVP候选推导的源代码。

[表1]

参照表1,编码设备/解码设备可以通过使用仿射运动模型来确定是否对左邻近块进行编码,并且还可以确定当前块的参考图片与左邻近块的参考图片是否相同。在满足上述条件的情况下,基于左邻近块的仿射运动模型推导出的CPMV可以被推导为当前块的CPMVP候选。

此后,编码设备/解码设备可以确定推导出的CPMVP候选的数目是否小于2。在推导出的CPMVP候选的数目不小于2的情况下,CPMVP候选推导过程可以结束。

另外,在推导出的CPMVP候选的数目小于2的情况下,可以确定是否通过使用仿射运动模型来对上邻近块进行编码以及当前块的参考图片与上邻近块的参考图片是否相同。并且,在满足上述条件的情况下,基于上邻近块的仿射运动模型推导出的CPMV可以被推导为当前块的CPMVP候选。

此后,编码设备/解码设备可以确定推导出的CPMVP候选的数目是否小于2。在推导出的CPMVP候选的数目不小于2的情况下,CPMVP候选推导过程可以结束。

另外,在推导出的CPMVP候选的数目小于2的情况下,可以确定是否通过使用仿射运动模型对右上角邻近块进行编码以及当前块的参考图片与右上角邻近块的参考图片是否相同。并且,在满足上述条件的情况下,基于右上角邻近块的仿射运动模型推导出的CPMV可以被推导为当前块的CPMVP候选。

此后,编码设备/解码设备可以确定推导出的CPMVP候选的数目是否小于2。在推导出的CPMVP候选的数目不小于2的情况下,CPMVP候选推导过程可以结束。

另外,在推导出的CPMVP候选的数目小于2的情况下,可以确定是否通过使用仿射运动模型对左下角邻近块进行编码以及当前块的参考图片与左下角邻近块的参考图片是否相同。并且,在满足上述条件的情况下,基于左下角邻近块的仿射运动模型推导出的CPMV可以被推导为当前块的CPMVP候选。

此后,编码设备/解码设备可以确定推导出的CPMVP候选的数目是否小于2。在推导出的CPMVP候选的数目不小于2的情况下,CPMVP候选推导过程可以结束。

另外,在推导出的CPMVP候选的数目小于2的情况下,可以确定是否通过使用仿射运动模型对左上角邻近块进行编码以及当前块的参考图片与左上角邻近块的参考图片是否相同。并且,在满足上述条件的情况下,基于左上角邻近块的仿射运动模型推导出的CPMV可以被推导为当前块的CPMVP候选。

另外,又如,可以如下所述地推导继承的仿射候选。

例如,编码设备/解码设备可以按特定顺序来依次检查邻近块。并且,在通过使用仿射运动模型对邻近块进行编码的情况下并且在当前块的参考图片与邻近块的参考图片相同的情况下,可以推导出基于邻近块不应用缩放的继承的仿射候选。并且,在通过使用仿射运动模型对邻近块进行编码的情况下并且在当前块的参考图片与邻近块的参考图片不相同的情况下,可以推导出基于邻近块应用缩放的继承的仿射候选。

更具体地,在通过使用仿射运动模型对邻近块进行编码的情况下并且在当前块的参考图片与邻近块的参考图片相同的情况下,如以上在先前实施方式中描述的,编码设备/解码设备可以基于邻近块的仿射运动模型来推导当前块的仿射MVP候选。

另外,在通过使用仿射运动模型对邻近块进行编码的情况下并且在当前块的参考图片与邻近块的参考图片不相同的情况下,编码设备/解码设备可以基于邻近块的仿射运动模型来推导当前块的CP的运动向量,可以通过使用缩放因子来缩放运动向量,并且可以将缩放后的运动向量推导为仿射MVP候选。本文中,缩放因子可以是第一时间距离与第二时间距离的距离比。更具体地,缩放因子可以是通过将第一时间距离除以第二时间距离而获得的值。第一时间距离可以是包括当前块的当前图片的图片顺序计数(POC)与当前块的参考图片的POC之间的差值。并且,第二时间距离可以是当前图片的POC与邻近块的参考图片的POC之间的差值。

如以下在下表中所示,可以推导出当前块的上述MVP候选推导的源代码。

[表2]

上述实施方式的性能和编码/解码时间非常相似。并且,因此,在执行复杂度分析之后,可以选择复杂度水平较低的实施方式。

如以下在下表中所示,可以推导出对这些实施方式的复杂度分析。

[表3]

/>

参照表3,不同于考虑了缩放的仿射MVP候选和未缩放的仿射MVP候选二者的第二实施方式,仅考虑了未缩放的仿射MVP候选的第一实施方式在具有较小数目的比较、移位和相加方面是优异的。

此外,本公开提出了与上述实施方式的性能和编码/解码时间相似而复杂度明显较低的方法。

例如,划分左预测子和上预测子,并且可以基于首先通过按特定顺序扫描左邻近块和左下角邻近块而推导出的具有与当前块相同的参考图片的仿射编码块来推导左预测子,并且可以基于首先通过按特定顺序扫描右上角邻近块、上邻近块和左上角邻近块而推导出的具有与当前块相同的参考图片的仿射编码块来推导上预测子。

更具体地,编码设备/解码设备可以从包括左邻近块和左下角邻近块的左块组推导当前块的第一仿射MVP候选,并且编码设备/解码设备可以从包括右上角邻近块、上邻近块和左上角邻近块的上块组推导当前块的第二仿射MVP候选。

本文中,可以基于左块组内的第一个块来推导第一仿射MVP候选,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。更具体地,第一个块可以是当按特定顺序检查左块组内的邻近块时经验证满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

另外,可以基于上块组内的第二个块来推导第二仿射MVP候选,可以通过使用仿射运动模型对第二个块进行编码,并且第二个块的参考图片和当前块的参考图片可以相同。更具体地,第二个块可以是当按特定顺序检查上块组内的邻近块时经验证满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

另外,例如,扫描左邻近块和左下角邻近块的顺序可以是左邻近块和左下角邻近块的顺序。并且,扫描右上角邻近块、上邻近块和左上角邻近块的顺序可以是右上角邻近块、上邻近块和左上角邻近块的顺序。另外,除了上述示例之外,可以使用扫描上述邻近块的顺序的另一示例。

如以下在下表中所示,可以推导出当前块的上述仿射MVP候选推导的源代码。

[表4]

另外,如以下在下表中所示,可以推导出本公开中提出的仿射MVP候选推导方法的复杂度分析。

[表5]

参照表5,所提出的仿射MVP候选推导方法是通过考虑与现有(或旧的)实施方式相比的最小数目的位置、候选、比较、移位和相加并且仅考虑非缩放的仿射MVP候选来执行的。因此,与以上提到的实施方式相比,所提出的方法的复杂度可以最低。因此,由于本公开中提出的仿射MVP候选推导方法在性能和编码/解码时间方面与现有(或旧的)实施方式相似同时具有最低的复杂度,因此可以确定所提出的方法比现有实施方式更加优异。

此外,例如,在继承的仿射候选的可用数目小于2的情况下,可以考虑所构造的仿射候选。可以如下所述地推导所构造的仿射候选。

图12例示了所构造的仿射候选的示例性空间候选。

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

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

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

[表6]

本文中,mv

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

本文中,mv

另外,mv

另外,mv

此外,在仅推导mv

[式8]

本文中,mv

此外,在仅推导mv

[式9]

/>

本文中,mv

另外,在可用的继承的仿射候选和/或可用的构造的仿射候选的数目小于2的情况下,可以向仿射MVP列表构造应用现有HEVC标准的AMVP处理。更具体地,在可用的继承的仿射候选和/或可用的构造的仿射候选的数目小于2的情况下,可以执行配置现有HEVC标准的MVP候选的处理。

此外,用于构造上述仿射MVP列表的实施方式的流程图如下所述。

图13例示了构造仿射MVP列表的示例。

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

更具体地,编码设备/解码设备可以从当前块的邻近块推导最多2个继承的仿射候选(S1305)。本文中,邻近块可以包括当前块的左邻近块A0、当前块的左下角邻近块A1、当前块的上邻近块B0、当前块的右上角邻近块B1和当前块的左上角邻近块B2。

例如,编码设备/解码设备可以基于邻近块内的第一个块来推导第一仿射MVP候选。本文中,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。更具体地,当按特定顺序检查邻近块时,第一个块可以是被验证为满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

此后,编码设备/解码设备可以基于邻近块内的第二个块来推导第二仿射MVP候选。本文中,可以通过使用仿射运动模型对第二个块进行编码,并且第二个块的参考图片与当前块的参考图片可以相同。更具体地,当按特定顺序检查邻近块时,第二个块可以是被验证为满足条件的第二个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

此外,特定顺序可以是左邻近块A0→左下角邻近块A1→上邻近块B0→右上角邻近块B1→左上角邻近块B2。另外,可以以除了上述顺序之外的顺序执行检查,并且该检查可以不仅限于上述示例。

编码设备/解码设备可以将构造的候选添加到当前块的仿射MVP列表中(S1310)。构造的候选可以表示上述的构造的仿射候选。在可用的继承的候选的数目小于2时,编码设备/解码设备可以将构造的候选添加到当前块的仿射MVP列表中。

编码设备/解码设备可以从第一组推导mv

本文中,mv

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

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

图14例示了构造仿射MVP列表的示例。

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

更具体地,编码设备/解码设备可以从包括左邻近块和左下角邻近块的左块组推导当前块的第一仿射MVP候选(S1405),并且编码设备/解码设备可以从包括右上角邻近块、上邻近块和左上角邻近块的上块组推导当前块的第二仿射MVP候选(S1410)。

本文中,可以基于左块组内的第一个块来推导第一仿射MVP候选,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。更具体地,当按特定顺序检查邻近块时,第一个块可以是被验证为满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

另外,可以基于上块组内的第二个块来推导第二仿射MVP候选,可以通过使用仿射运动模型对第二个块进行编码,并且第二个块的参考图片和当前块的参考图片可以相同。更具体地,当按特定顺序检查邻近块时,第二个块可以是被验证为满足条件的第二个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

此外,检查左块组的特定顺序可以是左邻近块和左下角邻近块的顺序。另选地,检查左块组的特定顺序可以是左下角邻近块和左邻近块的顺序。另外,检查上块组的特定顺序可以是右上角邻近块、上邻近块和左上角邻近块的顺序。另选地,检查上块组的特定顺序可以是上邻近块、右上角邻近块和左上角邻近块的顺序。另外,可以以除了上述顺序之外的顺序执行检查,并且该检查可以不仅限于上述示例。

编码设备/解码设备可以将构造的候选添加到当前块的仿射MVP列表中(S1420)。构造的候选可以表示上述的构造的仿射候选。在可用的继承的候选的数目小于2时,编码设备/解码设备可以将构造的候选添加到当前块的仿射MVP列表中。

编码设备/解码设备可以从第一组推导mv

本文中,mv

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

编码设备/解码设备可以将HEVC AMVP候选添加到当前块的仿射MVP列表中(S1430)。当可用的继承的候选和/或构造的候选的数目小于2时,编码设备/解码设备可以将HEVC AMVP候选添加到当前块的仿射MVP列表中。更具体地,在可用的继承的候选和/或构造的候选的数目小于2的情况下,编码设备/解码设备可以执行配置现有HEVC标准的MVP候选的处理。

图15例示了构造仿射MVP列表的示例。

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

更具体地,编码设备/解码设备可以从当前块的邻近块推导最多1个继承的仿射候选(S1505)。本文中,邻近块可以包括当前块的左邻近块A0、当前块的左下角邻近块A1、当前块的上邻近块B0、当前块的右上角邻近块B1和当前块的左上角邻近块B2。

例如,编码设备/解码设备可以基于邻近块内的第一个块来推导第一仿射MVP候选。本文中,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。更具体地,当按特定顺序检查邻近块时,第一个块可以是被验证为满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。

此外,特定顺序可以是左邻近块A0→左下角邻近块A1→上邻近块B0→右上角邻近块B1→左上角邻近块B2。另外,可以以除了上述顺序之外的顺序执行检查,并且该检查可以不仅限于上述示例。

编码设备/解码设备可以将构造的候选添加到当前块的仿射MVP列表中(S1510)。构造的候选可以表示上述的构造的仿射候选。在可用的继承的候选的数目小于2的情况下,编码设备/解码设备可以将构造的候选添加到当前块的仿射MVP列表中。

编码设备/解码设备可以从第一组推导mv

本文中,mv

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

编码设备/解码设备可以将HEVC AMVP候选添加到当前块的仿射MVP列表中(S1520)。在可用的继承的候选和/或构造的候选的数目小于2的情况下,编码设备/解码设备可以将HEVC AMVP候选添加到当前块的仿射MVP列表中。更具体地,在可用的继承的候选和/或构造的候选的数目小于2的情况下,编码设备/解码设备可以执行配置现有HEVC标准的MVP候选的处理。

上述流程图中公开的实施方式在推导继承的仿射候选的处理方面存在差异。因此,可以通过对推导继承的仿射候选的处理进行复杂度分析来进行上述实施方式之间的比较。

如以下在下表中所示,可以推导对上述实施方式的复杂度分析。

[表7]

另外,如以下在下表中所示,可以推导出上述实施方式的编码性能。

[表8]

参照表7,可以验证图14的实施方式和图15的实施方式的复杂度低于图13的实施方式。另外,参照表8,可以验证图13的实施方式、图14的实施方式和图15的实施方式的编码性能几乎相同。因此,对于编码/解码处理,可以更多地考虑复杂度较低且编码性能相同的图14的实施方式和图15的实施方式。

图16例示了根据本公开的由编码设备执行的图像编码方法的全视图。可以由图1中公开的编码设备(或装置)执行图16中提出的方法。更具体地,例如,图16的步骤S1600至S1630可以由编码设备的预测器执行,并且步骤S1640可以由编码设备的熵编码器执行。另外,尽管在附图中未示出,但是可以通过编码设备的预测器执行基于CPMV推导当前块的预测样本的处理。可以由编码设备的减法器执行基于当前块的预测样本和原始样本来推导当前块的残差样本的过程。可以由编码设备的变换器执行基于残差样本生成与当前块的残差相关的信息的过程。并且,可以由编码设备的熵编码器来执行对与残差相关的信息进行编码的处理。

编码设备构造包括当前块的仿射运动向量预测子(MVP)候选的仿射MVP候选列表(S1600)。

例如,仿射MVP候选可以包括第一仿射MVP候选和第二仿射MVP候选。

可以基于左块组内的第一个块来推导第一仿射MVP候选,该左块组包括当前块的左下角邻近块和左邻近块。本文中,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。

更具体地,第一个块可以是当根据特定顺序检查左块组内的邻近块时经验证满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。例如,编码设备可以根据特定顺序检查左块组内的块是否满足条件,然后,编码设备可以推导出第一个满足条件的第一个块,并且可以基于这第一个块来推导第一仿射MVP候选。

更具体地,例如,编码设备可以基于第一个块的仿射运动模型来推导当前块的CP的运动向量,并且可以推导出包括运动向量的第一仿射MVP候选作为CPMVP候选。可以如以上呈现的式1或式3所示地推导仿射运动模型。

此外,检查左块组内的块的特定顺序可以是从左邻近块开始直至左下角邻近块的顺序。另选地,检查左块组的特定顺序可以是从左下角邻近块开始直至左邻近块的顺序。

可以基于上块组内的第二个块来推导第二仿射MVP候选,该上块组包括当前块的右上角邻近块、上邻近块和左上角邻近块。本文中,可以通过使用仿射运动模型对第二个块进行编码,并且第二个块的参考图片与当前块的参考图片可以相同。

更具体地,第二个块可以是当根据特定顺序检查左块组内的邻近块时经验证满足条件的第二个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。例如,编码设备可以根据特定顺序检查上块组内的块是否满足条件,然后,编码设备可以推导出第一个满足条件的第二个块,并且可以基于这第二个块来推导第二仿射MVP候选。

更具体地,例如,编码设备可以基于第二个块的仿射运动模型来推导当前块的CP的运动向量,并且可以推导出包括运动向量的第二仿射MVP候选作为CPMVP候选。可以如以上呈现的式1或式3所示地推导仿射运动模型。

此外,检查上块组内的块的特定顺序可以是从上邻近块开始直至右上角邻近块和左上角邻近块的顺序。

另外,又如,仿射MVP候选可以包括如下所述地推导的第一仿射MVP候选。

可以基于当前块的邻近块内的第一个块来推导第一仿射MVP候选。本文中,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。另外,邻近块可以包括当前块的左邻近块、左下角邻近块、右上角邻近块、上邻近块和左上角邻近块。

第一个块可以是当根据特定顺序检查邻近块时经验证满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。例如,编码设备可以根据特定顺序检查邻近块是否满足条件,然后,编码设备可以推导出第一个满足条件的第一个块,并且可以基于这第一个块来推导第一仿射MVP候选。

更具体地,例如,编码设备可以基于第一个块的仿射运动模型来推导当前块的CP的运动向量,并且可以推导出包括运动向量的第一仿射MVP候选作为CPMVP候选。可以如以上呈现的式1或式3所示地推导仿射运动模型。

此外,检查邻近块的特定顺序可以是从左邻近块开始直至左下角邻近块、上邻近块、右上角邻近块和左上角邻近块的顺序。

本文中,例如,在当前块的大小为WxH的情况下,并且在当前块的左上样本位置的x分量为0并且y分量为0的情况下,左邻近块可以是包括坐标(-1,H-1)的样本的块,上邻近块可以是包括坐标(W-1,-1)的样本的块,右上邻近块可以是包括坐标(W,-1)的样本的块,左下邻近块可以是包括坐标(-1,H)的样本的块,并且左上邻近块可以是包括坐标(-1,-1)的样本的块。

此外,在未推导第一仿射MVP候选和/或第二仿射MVP候选的情况下,即,在通过执行上述处理而推导少于2个仿射MVP候选的情况下,仿射MVP候选可以包括构造的仿射MVP候选。

换句话说,例如,在未推导第一仿射MVP候选和/或第二仿射MVP候选的情况下,即,在通过执行上述处理而推导少于2个仿射MVP候选的情况下,编码设备可以基于邻近块来推导构造的仿射MVP候选。

更具体地,编码设备可以将邻近块的运动向量划分成第一组、第二组和第三组。第一组可以包括邻近块A的运动向量、邻近块B的运动向量和邻近块C的运动向量。第二组可以包括邻近块D的运动向量和邻近块E的运动向量。并且,第三组可以包括邻近块F的运动向量和邻近块G的运动向量。

另外,编码设备可以从第一组推导当前块的CP0的CPMVP候选,从第二组推导当前块的CP1的CPMVP候选,并且从第三组推导当前块的CP2的CPMVP候选。并且,编码设备可以推导包括CP的CPMVP候选的构造的仿射MVP候选。

CP0的CPMVP候选可以是当根据特定顺序检查第一组内的运动向量时经验证满足条件的第一运动向量。该条件可以是运动向量的参考图片与当前块的参考图片相同。换句话说,CP0的CPMVP候选可以是具有当根据特定顺序检查第一组内的运动向量时第一个被验证为与当前块的参考图片相同的参考图片的运动向量。例如,编码设备可以根据特定顺序检查第一组内的运动向量,以验证运动向量是否满足条件,并且经验证满足条件的第一运动向量可以被推导为CP0的CPMVP候选。本文中,例如,特定顺序可以是从邻近块A开始直至邻近块B和邻近块C的顺序。

CP1的CPMVP候选可以是当根据特定顺序检查第二组内的运动向量时经验证满足条件的第一运动向量。该条件可以是运动向量的参考图片与当前块的参考图片相同。换句话说,CP1的CPMVP候选可以是具有当根据特定顺序检查第二组内的运动向量时第一个被验证为与当前块的参考图片相同的参考图片的运动向量。例如,编码设备可以根据特定顺序检查第二组内的运动向量,以验证运动向量是否满足条件,并且经验证满足条件的第一运动向量可以被推导为CP1的CPMVP候选。本文中,例如,特定顺序可以是从邻近块D开始直至邻近块E的顺序。

CP2的CPMVP候选可以是当根据特定顺序检查第三组内的运动向量时经验证满足条件的第一运动向量。该条件可以是运动向量的参考图片与当前块的参考图片相同。换句话说,CP2的CPMVP候选可以是具有当根据特定顺序检查第三组内的运动向量时第一个被验证与为当前块的参考图片相同的参考图片的运动向量。例如,编码设备可以根据特定顺序检查第三组内的运动向量,以验证运动向量是否满足条件,并且经验证满足条件的第一运动向量可以被推导为CP2的CPMVP候选。本文中,例如,特定顺序可以是从邻近块F开始直至邻近块G的顺序。

本文中,邻近块A可以表示处于当前块的左上样本位置的左上侧的邻近块,邻近块B可以表示处于当前块的左上样本位置的上侧的邻近块,并且邻近块C可以表示处于当前块的左上样本位置的左侧的邻近块,邻近块D可以表示处于当前块的右上样本位置的上侧的邻近块,邻近块E可以表示处于当前块的右上样本位置的右上侧的邻近块,邻近块F可以表示处于当前块的左下样本位置的左侧的邻近块,并且邻近块G可以表示处于当前块的左下样本位置的左下侧的邻近块。

本文中,例如,在当前块的大小为W×H的情况下,并且在当前块的左上样本位置的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)的样本的块。另外,CP0可以表示当前块的左上位置,CP1可以表示当前块的右上位置,并且CP2可以表示当前块的左下位置。换句话说,CP可以包括处于当前块的左上样本位置处的CP0以及处于当前块的右上样本位置处的CP1,并且CP还可以包括处于当前块的左下样本位置处的CP2。

此外,在从第一组推导当前块的CP0的CPMVP候选的情况下,在从第二组推导当前块的CP1的CPMVP候选而不从第三组推导当前块的CP2的CPMVP候选的情况下,可以基于CP0的CPMVP候选和CP1的CPMVP候选通过使用上述的式8来推导CP2的CPMVP候选。

另外,在从第一组推导当前块的CP0的CPMVP候选的情况下,在从第三组推导当前块的CP2的CPMVP候选而不从第二组推导当前块的CP1的CPMVP候选的情况下,可以基于CP0的CPMVP候选和CP2的CPMVP候选通过使用上述的式9来推导CP1的CPMVP候选。

此外,在通过执行上述处理来推导少于2个仿射MVP候选的情况下,仿射MVP候选可以包括现有HEVC标准的MVP候选。

换句话说,例如,在通过执行上述处理来推导少于2个仿射MVP候选的情况下,编码设备可以推导现有HEVC标准的MVP候选。

编码设备基于仿射MVP候选列表中所包括的仿射MVP候选当中的一个仿射MVP候选来推导当前块的控制点(CP)的控制点运动向量预测子(CPMVP)(S1610)。编码设备可以推导具有最佳RD成本的当前块的CP的CPMV,并且可以选择仿射MVP候选当中的与CPMV最相近的仿射MVP候选作为当前块的仿射MVP候选。基于从仿射MVP候选列表中选择的所选择的仿射MVP候选,编码设备可以推导出当前块的控制点(CP)的控制点运动向量预测子(CPMVP)。

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

编码设备推导当前块的CP的CPMV(S1620)。编码设备可以推导当前块的CP中的每一个的CPMV。

编码设备基于CPMVP和CPMV来推导当前块的CP的控制点运动向量差(CPMVD)(S1630)。编码设备可以基于CP中的每一个的CPMVP和CPMV来推导当前块的CP的CPMVP。

编码设备对包括关于CPMVD的信息的运动预测信息进行编码(S1640)。编码设备可以以比特流格式输出包括关于CPMVD的信息的运动预测信息。换句话说,编码设备可以以比特流格式输出包括运动预测信息的图像(或视频)信息。编码设备可以对关于CP中的每一个的CPMVD的信息进行编码,并且运动预测信息可以包括关于CPMVD的信息。

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

此外,例如,编码设备可以基于CPMV来推导当前块的预测样本,并且可以基于当前块的预测样本和原始样本来推导当前块的残差样本。然后,编码设备可以生成可以基于残差样本生成的关于当前块的残差的信息,并且可以对关于残差的信息进行编码。图像信息可以包括关于残差的信息。

此外,可以通过网络或(数字)存储介质将比特流发送到解码设备。本文中,网络可以包括广播网络和/或通信网络等,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。

图17例示了根据本公开的执行图像编码方法的编码设备的一般视图。图16中公开的方法可以由图17中公开的编码设备执行。更具体地,例如,图17的编码设备的预测器可以执行图16的步骤S1600至S1630,并且图17的编码设备的熵编码器可以执行图16的步骤S1640。另外,尽管在附图中未示出,但是可以由图17的编码设备的预测器执行基于CPMV推导当前块的预测样本的处理。可以由图17的编码设备的减法器执行基于当前块的预测样本和原始样本来推导当前块的残差样本的处理。可以由图17的编码设备的变换器执行基于残差样本生成与当前块的残差相关的信息的处理。并且,可以由图17的编码设备的熵编码器来执行对与残差相关的信息进行编码的处理。

图18例示了根据本公开的由解码设备执行的图像解码方法的一般视图。可以由图2中公开的解码设备(或装置)执行图18中提出的方法。更具体地,例如,图18的步骤S1810至S1850可以由解码设备的预测器执行,并且步骤S1860可以由编码设备的加法器执行。另外,尽管在图中未示出,但是通过比特流获得关于当前块的残差的信息的处理可以由解码设备的熵解码器执行,并且基于残差信息推导当前块的残差样本的处理可以由解码设备的逆变换器执行。

解码设备可以从比特流获得运动预测信息(S1800)。解码设备可以从比特流获得包括运动预测信息的图像(或视频)信息。

另外,例如,运动预测信息可以包括关于当前块的控制点(CP)的控制点运动向量差(CPMVD)的信息。换句话说,运动预测信息可以包括关于当前块的CP中的每一个的CPMVD的信息。

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

解码设备构造包括当前块的仿射运动向量预测子(MVP)候选的仿射MVP候选列表(S1810)。

例如,仿射MVP候选可以包括第一仿射MVP候选和第二仿射MVP候选。

可以基于左块组内的第一个块来推导第一仿射MVP候选,该左块组包括当前块的左下角邻近块和左邻近块。本文中,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。

更具体地,第一个块可以是当根据特定顺序检查左块组内的邻近块时经验证满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。例如,解码设备可以根据特定顺序检查左块组内的块是否满足条件,然后,解码设备可以推导出第一个满足条件的第一个块,并且可以基于这第一个块来推导第一仿射MVP候选。

更具体地,例如,解码设备可以基于第一个块的仿射运动模型来推导当前块的CP的运动向量,并且可以推导出包括运动向量的第一仿射MVP候选作为CPMVP候选。可以如以上呈现的式1或式3所示地推导仿射运动模型。

此外,检查左块组内的块的特定顺序可以是从左邻近块开始直至左下角邻近块的顺序。另选地,检查左块组的特定顺序可以是从左下角邻近块开始直至左邻近块的顺序。

可以基于上块组内的第二个块来推导第二仿射MVP候选,该上块组包括当前块的右上角邻近块、上邻近块和左上角邻近块。本文中,可以通过使用仿射运动模型对第二个块进行编码,并且第二个块的参考图片与当前块的参考图片可以相同。

更具体地,第二个块可以是当根据特定顺序检查左块组内的邻近块时经验证满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。例如,解码设备可以根据特定顺序检查上块组内的块是否满足条件,然后,解码设备可以推导出第一个满足条件的第二个块,并且可以基于这第二个块来推导第二仿射MVP候选。

更具体地,例如,解码设备可以基于第二个块的仿射运动模型来推导当前块的CP的运动向量,并且可以推导包括运动向量的第二仿射MVP候选作为CPMVP候选。可以如以上呈现的式1或式3所示地推导仿射运动模型。

此外,检查上块组内的块的特定顺序可以是从上邻近块开始直至右上角邻近块和左上角邻近块的顺序。

另外,又如,仿射MVP候选可以包括如下所述地推导的第一仿射MVP候选。

可以基于当前块的邻近块内的第一个块来推导第一仿射MVP候选。本文中,可以通过使用仿射运动模型来对第一个块进行编码,并且第一个块的参考图片与当前块的参考图片可以相同。另外,邻近块可以包括当前块的左邻近块、左下角邻近块、右上角邻近块、上邻近块和左上角邻近块。

第一个块可以是当根据特定顺序检查邻近块时经验证满足条件的第一个块。所述条件可以是使用仿射运动模型执行编码并且块的参考图片与当前块的参考图片相同。例如,解码设备可以根据特定顺序检查邻近块是否满足条件,然后,解码设备可以推导出第一个满足条件的第一个块,并且可以基于这第一个块来推导第一仿射MVP候选。

更具体地,例如,解码设备可以基于第一个块的仿射运动模型来推导当前块的CP的运动向量,并且可以推导出包括运动向量的第一仿射MVP候选作为CPMVP候选。可以如以上呈现的式1或式3所示地推导仿射运动模型。

此外,检查邻近块的特定顺序可以是从左邻近块开始直至左下角邻近块、上邻近块、右上角邻近块和左上角邻近块的顺序。

本文中,例如,在当前块的大小为W×H的情况下,并且在当前块的左上样本位置的x分量为0并且y分量为0的情况下,左邻近块可以是包括坐标(-1,H-1)的样本的块,上邻近块可以是包括坐标(W-1,-1)的样本的块,右上邻近块可以是包括坐标(W,-1)的样本的块,左下邻近块可以是包括坐标(-1,H)的样本的块,并且左上邻近块可以是包括坐标(-1,-1)的样本的块。

此外,在未推导第一仿射MVP候选和/或第二仿射MVP候选的情况下,即,在通过执行上述处理而推导少于2个仿射MVP候选的情况下,仿射MVP候选可以包括构造的仿射MVP候选。

换句话说,例如,在未推导第一仿射MVP候选和/或第二仿射MVP候选的情况下,即,在通过执行上述处理而推导少于2个仿射MVP候选的情况下,解码设备可以基于邻近块来推导构造的仿射MVP候选。

更具体地,解码设备可以将邻近块的运动向量划分成第一组、第二组和第三组。第一组可以包括邻近块A的运动向量、邻近块B的运动向量和邻近块C的运动向量。第二组可以包括邻近块D的运动向量和邻近块E的运动向量。并且,第三组可以包括邻近块F的运动向量和邻近块G的运动向量。

另外,解码设备可以从第一组推导当前块的CP0的CPMVP候选,从第二组推导当前块的CP1的CPMVP候选,并且从第三组推导当前块的CP2的CPMVP候选。并且,解码设备可以推导包括CP的CPMVP候选的构造的仿射MVP候选。

CP0的CPMVP候选可以是当根据特定顺序检查第一组内的运动向量时经验证满足条件的第一运动向量。该条件可以是运动向量的参考图片与当前块的参考图片相同。换句话说,CP0的CPMVP候选可以是具有当根据特定顺序检查第一组内的运动向量时第一个被验证为与当前块的参考图片相同的参考图片的运动向量。例如,解码设备可以根据特定顺序检查第一组内的运动向量,以验证运动向量是否满足条件,并且经验证满足条件的第一运动向量可以被推导为CP0的CPMVP候选。本文中,例如,特定顺序可以是从邻近块A开始直至邻近块B和邻近块C的顺序。

CP1的CPMVP候选可以是当根据特定顺序检查第二组内的运动向量时经验证满足条件的第一运动向量。该条件可以是运动向量的参考图片与当前块的参考图片相同。换句话说,CP1的CPMVP候选可以是具有当根据特定顺序检查第二组内的运动向量时第一个被验证为与当前块的参考图片相同的参考图片的运动向量。例如,解码设备可以根据特定顺序检查第二组内的运动向量,以验证运动向量是否满足条件,并且经验证满足条件的第一运动向量可以被推导为CP1的CPMVP候选。本文中,例如,特定顺序可以是从邻近块D开始直至邻近块E的顺序。

CP2的CPMVP候选可以是当根据特定顺序检查第三组内的运动向量时经验证满足条件的第一运动向量。该条件可以是运动向量的参考图片与当前块的参考图片相同。换句话说,CP2的CPMVP候选可以是具有当根据特定顺序检查第三组内的运动向量时第一个被验证为与当前块的参考图片相同的参考图片的运动向量。例如,解码设备可以根据特定顺序检查第三组内的运动向量,以验证运动向量是否满足条件,并且经验证满足条件的第一运动向量可以被推导为CP2的CPMVP候选。本文中,例如,特定顺序可以是从邻近块F开始直至邻近块G的顺序。

本文中,邻近块A可以表示处于当前块的左上样本位置的左上侧的邻近块,邻近块B可以表示处于当前块的左上样本位置的上侧的邻近块,并且邻近块C可以表示处于当前块的左上样本位置的左侧的邻近块,邻近块D可以表示处于当前块的右上样本位置的上侧的邻近块,邻近块E可以表示处于当前块的右上样本位置的右上侧的邻近块,邻近块F可以表示处于当前块的左下样本位置的左侧的邻近块,并且邻近块G可以表示处于当前块的左下样本位置的左下侧的邻近块。

本文中,例如,在当前块的大小为W×H的情况下,并且在当前块的左上样本位置的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)的样本的块。另外,CP0可以表示当前块的左上位置,CP1可以表示当前块的右上位置,并且CP2可以表示当前块的左下位置。换句话说,CP可以包括处于当前块的左上样本位置处的CP0以及处于当前块的右上样本位置处的CP1,并且CP还可以包括处于当前块的左下样本位置处的CP2。

此外,在从第一组推导当前块的CP0的CPMVP候选的情况下,在从第二组推导当前块的CP1的CPMVP候选而不从第三组推导当前块的CP2的CPMVP候选的情况下,可以基于CP0的CPMVP候选和CP1的CPMVP候选通过使用上述的式8来推导CP2的CPMVP候选。

另外,在从第一组推导当前块的CP0的CPMVP候选的情况下,在从第三组推导当前块的CP2的CPMVP候选而不从第二组推导当前块的CP1的CPMVP候选的情况下,可以基于CP0的CPMVP候选和CP2的CPMVP候选通过使用上述的式9来推导CP1的CPMVP候选。

此外,在通过执行上述处理来推导少于2个仿射MVP候选的情况下,仿射MVP候选可以包括现有HEVC标准的MVP候选。

换句话说,例如,在通过执行上述处理来推导少于2个仿射MVP候选的情况下,解码设备可以推导现有HEVC标准的MVP候选。

解码设备基于仿射MVP候选列表中所包括的仿射MVP候选当中的一个仿射MVP候选来推导当前块的控制点(CP)的控制点运动向量预测子(CPMVP)(S1820)。

解码设备可以从仿射MVP候选列表中所包括的仿射MVP候选中选择特定的仿射MVP候选,然后,解码设备可以推导出所选择的仿射MVP候选作为当前块的CP的CPMVP。例如,解码设备可以从比特流获得当前块的仿射MVP候选索引,然后,然后,解码设备可以推导出仿射MVP候选列表包括的仿射MVP候选当中的由仿射MVP候选索引所指示的仿射MVP候选作为当前块的CP的CPMVP。

解码设备基于运动预测信息来推导当前块的CP的控制点运动向量差(CPMVD)(S1830)。运动预测信息可以包括关于CP中的每一个的CPMVD的信息,并且解码设备可以基于关于CP中的每一个的CPMVD的信息来推导当前块的CP中的每一个的CPMVD。

解码设备基于CPMVP和CPMVD来推导当前块的CP的控制点运动向量(CPMV)(S1840)。解码设备可以基于CP中的每一个的CPMVD和CPMVP来推导每个CP的CPMV。例如,解码设备可以通过将每个CP的CPMVD和CPMVP相加来推导CP的CPMV。

解码设备基于CPMV来推导当前块的预测样本(S1850)。解码设备可以基于CPMV来推导当前块的运动向量的子块单元或样本单元。即,解码设备可以推导当前块的每个子块或每个样本的运动向量。可以基于上述的式1或式3来推导子块单元或样本单元的运动向量。运动向量可以被指示为运动向量场(MVF)或运动向量阵列。

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

解码设备基于所推导出的预测样本来生成当前块的重构图片(S1860)。解码设备可以基于所推导出的预测样本来生成当前块的重构图片。解码设备可以按照预测模式直接将预测样本用作重构样本,或者解码设备可以通过将残差样本与预测样本相加来生成重构样本。在针对当前块存在残差样本的情况下,解码设备可以从比特流获得关于当前块的残差的信息。关于残差的信息可以包括与残差样本相关的变换系数。解码设备可以基于残差信息来推导当前块的残差样本(或残差样本阵列)。解码设备可以基于预测样本和残差样本来生成重构样本,并且解码设备可以基于重构样本来推导重构块或重构图片。此后,如上所述,为了按需要增强主观/客观图像质量,解码设备可以向重构图片应用诸如去块滤波和/或SAO过程这样的环路内滤波处理。

图19例示了根据本公开的执行图像解码方法的解码设备的一般视图。图18中公开的方法可以由图19中公开的解码设备执行。更具体地,例如,图19的解码设备的熵解码器可以执行图18的步骤S1800,图19的解码设备的预测器可以执行图18的步骤S1810至S1850,并且图19的解码设备的加法器可以执行步骤S1860。另外,尽管在图中未示出,但是通过比特流获得关于当前块的残差的信息的处理可以由图19的解码设备的熵解码器执行,并且基于残差信息推导当前块的残差样本的处理可以由图19的解码设备的逆变换器执行。

根据上述本公开,可以提高基于仿射运动预测的图像编码的效率。

根据上述本公开,当推导仿射MVP候选列表时,邻近块被划分成左块组和上块组,并且可以通过从每个块组推导MVP候选来构造仿射MVP候选列表。因此,可以减少构造仿射MVP候选列表的处理的复杂度,并且可以增强编码效率。

在以上的实施方式中,虽然已经基于使用一系列步骤或框的流程图描述了方法,但本公开不限于这些步骤的序列,并且这些步骤中的一些可以按与剩余步骤不同的序列执行或者可以与剩余步骤同时地执行。此外,本领域的技术人员将理解,用流程图示出的步骤不是排他性的,并且可以在不影响本公开的范围的情况下,可以包括其它步骤或者可以删除流程图中的一个或更多个步骤。

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

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

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

另外,本公开的实施方式可以通过程序代码被实现为计算机程序产品,并且程序代码可以根据本公开的实施方式在计算机中执行。程序代码可以被存储在可供计算机读取的载波上。

图20例示了应用本公开的内容流传输系统结构。

应用本公开的内容流传输系统可以包括编码服务器、流传输服务器、网络服务器、媒体存储器、用户装置和多媒体输入装置。

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

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

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

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

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

相关技术
  • 一种硅片位置信息采集装置、系统以及方法
  • 一种身份信息采集装置
  • 一种地理信息采集处理装置
  • 一种医疗器械设备管理用自动化信息采集装置
  • 一种具有自动化信息采集功能的水利装置水利监控装置
技术分类

06120116550089