视频编译系统中的帧间预测方法和装置与流程

文档序号:31050339发布日期:2022-08-06 06:53阅读:56来源:国知局
视频编译系统中的帧间预测方法和装置与流程
视频编译系统中的帧间预测方法和装置
1.本技术是2018年3月22日提交的国际申请日为2016年7月15日的申请号为201680055123.2(pct/kr2016/007734)的,发明名称为“视频编译系统中的帧间预测方法和装置”的专利申请的分案申请。
技术领域
2.本发明涉及一种视频编译技术,并且更加具体地,涉及一种在视频编译系统中的帧间预测方法和装置。


背景技术:

3.对于高分辨率、高质量图像,诸如hd(高清)图像和uhd(超高清)图像的需求在各个领域不断增加。因为图像数据具有高分辨率和高质量,所以,相对于传统图像数据,要发送的信息或比特的量增加。因此,当使用诸如传统的有线/无线宽带线路的媒介发送图像数据或者使用现有存储介质存储图像数据时,其传输成本和存储成本增加。
4.因此,存在对于用于有效地发送、存储和再生高分辨率和高质量图像的信息的高效图像压缩技术的需求。


技术实现要素:

5.技术目的
6.本发明提供一种用于增强图像编译效率的方法和设备。
7.本发明的另一技术目的是为了提供一种基于仿射运动模型的帧间预测方法和设备。
8.本发明的另一技术目的是为了提供一种用于执行基于样本单元运动矢量的帧间预测的方法和设备。
9.本发明的另一技术目的是为了提供一种基于当前块的控制点的运动矢量来推导样本单元运动矢量的方法和设备。
10.本发明的另一技术目的是为了提供一种基于邻近块的样本推导关于作为非方块的当前块的控制点的运动矢量的方法和设备。
11.本发明的另一技术目的是为了提供一种基于关于先前解码的邻近块的控制点的运动矢量推导关于当前块的控制点的运动矢量的方法和设备。
12.技术方案
13.在一个方面,提供一种由解码设备执行的视频解码方法。该解码方法包括:推导用于当前块的控制点(cp);获得用于cp的运动矢量;基于获得的运动矢量推导当前块中的样本单元运动矢量;以及基于样本单元运动矢量推导用于当前块的预测样本。
14.另一方面,提供一种执行视频解码的解码设备。该解码设备包括:解码单元,该解码单元从比特流获得关于当前块的预测模式信息;预测单元,该预测单元推导关于当前块的控制点(cp);获得关于cp的运动矢量;基于获得的运动矢量推导当前块中的样本单元运
动矢量;以及基于样本单元运动矢量推导关于当前块的预测样本;以及加法器,该加法器基于预测样本生成重建的样本。
15.另一方面,提供一种由编码设备执行的视频编码方法。该视频编码方法包括:推导关于当前块的驱动控制点(cp);获得关于cp的运动矢量;基于获得的运动矢量推导当前块中的样本单元运动矢量;基于样本单元运动矢量生成关于当前块的预测样本;以及编码关于当前块的预测模式信息并且输出编码的预测模式信息。
16.另一方面,提供一种执行视频编码的编码设备。该编码设备包括:预测单元,该预测单元确定关于当前块的预测模式,推导关于当前块的控制点(cp),获得关于cp的运动矢量,基于获得的运动矢量推导当前块中的样本单元运动矢量,并且基于样本单元运动矢量生成关于当前块的预测样本;以及编码单元,该编码单元对关于当前块的预测模式信息进行编码并且输出编码的预测模式信息。
17.有益效果
18.根据本发明,可以推导当前块的更准确的基于样本的运动矢量,并且因此帧间预测效率可以被显著地提高。
19.根据本发明,可以基于当前块的控制点的运动矢量高效地推导当前块中的样本的运动矢量。
20.根据本发明,在不另外发送关于当前块的控制点的运动矢量的信息的情况下,可以基于先前解码的邻近块的控制点的运动矢量推导当前块的控制点的运动矢量。因此,可以消除或减少控制点的运动矢量的数据量,并且可以改进整体编译效率。
21.根据本发明,即使在当前块中的图像被旋转、放大、缩小或变形为平行四边形的情况以及当前块的图像被平面移位的情况下,通过样本单元运动矢量有效地执行帧间预测。因此,当前块的残差信号的数据量可以被消除或减少,并且可以改进整体编译效率。
附图说明
22.图1是示意性图示根据本发明的实施例的视频编码设备的框图。
23.图2是示意性图示根据本发明的实施例的视频解码设备的框图。
24.图3是图示其中在应用平移运动模型的帧间预测中生成预测块的配置的视图。
25.图4是图示其中在应用仿射运动模型的帧间预测中生成预测块的配置的视图。
26.图5是图示其中生成预测块的状态和仿射运动模型被应用于的帧间预测的运动矢量的视图。
27.图6是图示基于分割类型2nx2n从cu分割的pu的cp的视图。
28.图7是图示基于分割类型nx2n从cu分割的pu的cp的视图。
29.图8是图示基于分割类型2nxn从cu分割的pu的cp的视图。
30.图9是图示非对称pu的cp的视图。
31.图10是图示分割类型2nx2n被应用于的pu的cp的运动信息预测候选的视图。
32.图11图示分割类型2nxn被应用于的pu的cp的运动信息预测候选的示例。
33.图12是图示其中分割类型2nxn被应用于的pu的cp的预测候选限于两个预测候选的配置的视图。
34.图13是图示分割类型nx2n被应用于的pu的cp的运动信息预测候选的视图。
35.图14是图示其中分割类型nx2n被应用于的pu的cp的预测候选限于两个预测候选的配置的视图。
36.图15是图示非对称pu的cp的运动信息预测候选的视图。
37.图16是图示其中非对称pu的cp的预测候选限于两个预测候选的配置的视图。
38.图17是图示包括需要运动信息编译的cp和不需要运动信息编译的cp的pu的视图。
39.图18是图示包括不需要运动信息编译的cp的pu的视图。
40.图19是示意性地图示根据本发明的编码设备的视频编码方法的视图。
41.图20是示意性地图示根据本发明的解码设备的视频解码方法的视图。
具体实施方式
42.本发明可以以各种形式修改,并且在附图中将会描述和图示其具体实施例。但是,实施例不意欲限制本发明。在以下的描述中使用的术语仅用于描述特定的实施例,但是,不意欲限制本发明。单数的表示包括复数的表示,只要其被清楚不同地理解。诸如“包括”和“具有”的术语意欲指示存在在以下的描述中使用的特征、数目、步骤、操作、元件、组件或者其组合,并且因此,应该理解,不排除存在或者增加一个或多个不同的特征、数目、步骤、操作、元件、组件或者其组合的可能性。
43.另一方面,为了便于解释图像编码/解码设备中的不同的特定功能,在本发明中描述的附图中的元件被独立地绘制,但这并不意味着元件由独立的硬件或者独立的软件来实现。例如,元件中的两个或更多个元件可以合并以形成单个元件,或者一个元件可以被划分成多个元件。不脱离本发明的概念,元件被合并和/或划分的实施例属于本发明的范围。
44.在下文中,将参考附图详细描述本发明的示例性实施例。
45.图1是图示根据本发明的实施例的视频编码设备的框图。
46.参考图1,视频编码设备100包括图片分割模块105、预测模块110、变换模块120、量化模块125、重排模块130、熵编码模块135、去量化模块140、逆变换模块145、滤波模块155和存储器160。
47.图片分割模块105可以被配置成将输入图片分割成至少一个处理单元块。就此而言,作为处理单元的块可以是预测单元pu、变换单元tu或编码单元cu。图片可以由多个编码树单元ctu组成。每个ctu可以被分割成cu作为四叉树结构。cu可以被分割为具有更深深度的cu作为四叉树结构。pu和tu可以从cu中获得。例如,可以从cu中将pu分割成对称或不对称的正方形结构。此外,可以从cu中将tu分割成四叉树结构。ctu可以对应于编码树块ctb,cu可以对应于编码块cb,pu可以对应于预测块pb并且tu可以对应于变换块tb。
48.预测模块110包括稍后将会描述的执行帧间预测过程的帧间预测单元和执行帧内预测过程的帧内预测单元。预测模块110对由图片分割模块105分割的图片的处理单元执行预测过程以创建包括预测样本或者预测样本阵列的预测块。在预测模块110中,图片的处理单元可以是cu、tu或者pu。预测模块110可以确定对相应的处理单元执行的预测是帧间预测还是帧内预测,并且可以确定特定的详情,例如,预测方法的预测模式。经历预测过程的处理单元可以不同于确定预测方法和特定详情的处理单元。例如,预测方法和预测模式可以以pu为单位来确定,并且预测过程可以以tu为单位来执行。
49.在帧间预测中,基于与当前图片的先前图片和/或后续图片中的至少一个有关的
信息来执行预测过程以创建预测块。在帧内预测中,可以基于当前图片的像素信息执行预测过程以创建预测块。
50.作为帧间预测方法,可以使用跳过模式、合并模式以及高级运动矢量预测(amvp)。在帧间预测中,可以为pu选择参考图片,并且可以选择与pu相对应的参考块。可以基于整数像素(或样本)或者分数像素(或样本)选择参考块。然后,生成预测块,其中,与pu有关的残差信号被最小化并且运动矢量幅度也被最小化。像素(pixels)、像素(pels)和样本(samples)可以在此被互换地使用。
51.预测块可以被生成为整数像素单元,或者可以被生成为诸如1/2像素单元或者1/4像素单元的分数像素单元。就此而言,运动矢量也可以被表达为分数像素单元。
52.诸如经由帧间预测选择的参考图片的索引、运动矢量差mdv、运动矢量预测子mvp,残差信号等的信息可以被熵编码,并且然后被发送到解码设备。当应用跳过模式时,预测块可以被用作重建块,使得可以不生成、变换、量化或发送残差。
53.当执行帧内预测时,可以以pu为单位确定预测模式并且可以以pu为单位执行预测过程。可替选地,预测模式可以以pu为单位来确定并且可以以tu为单位执行帧间预测。
54.作为示例,帧内预测中的预测模式可以包括33个定向预测模式和至少两个非定向模式。非定向模式可以包括dc预测模式和平面模式。
55.在帧内预测中,可以在对参考样本应用滤波器之后配置预测块。此时,根据帧内预测模式和/或当前块的大小,可以确定滤波器是否应被应用于参考样本。
56.所构建的预测块和原始块之间的残留值(残差块或者残差信号)被输入给变换模块120。被用于预测的预测模式信息、运动矢量信息等等通过熵编码模块135与残留值一起被编码,并且被发送给解码设备。
57.变换模块120以tu为单位对残留块执行变换过程,并且生成变换系数。
58.变换块是样本的矩形块,并且是应用相同变换的块。变换块可以是tu并且可以具有四叉树结构。
59.变换模块120可以根据应用于残差块的预测模式和块的大小来执行变换过程。
60.例如,当帧内预测应用于残余块并且残差块具有4
×
4阵列时,使用离散正弦变换dst来变换残差块。否则,可以使用离散余弦变换dct来变换残差块。
61.变换模块120可以通过变换来构建变换系数的变换块。
62.量化模块125可以量化由变换模块120变换的残差值,即,变换系数,并且可以创建量化系数。由量化模块125计算的值可以被供应给去量化模块140和重排模块130。
63.重排模块130可以重新排列从量化模块125供应的变换系数。通过重新排列量化系数,能够增强熵编码模块135中的编码效率。
64.重排模块130可以通过使用系数扫描方法将二维块形式的量化变换系数重新排列为一维矢量的形式。
65.熵编码模块135可以被配置成根据基于由重排模块130重排的量化变换值或编码过程期间计算的编码参数值等的概率分布来对符号进行熵编码,并且然后输出比特流。熵编码方法是接收具有各种值的符号并且将该符号表达为可以被解码的二进制串同时去除其统计冗余的方法。
66.就此而言,符号意指将被编码/解码的语法元素、编码参数、残差信号值等。编码参
数是编码和解码所必需的。编码参数可以包含可以在编码或解码期间被推断的信息,以及像语法元素一样在编码设备中编码并且被传递到解码设备的信息。编码参数是编码或解码图像所需的信息。编码参数可以包括统计数据或值,诸如帧内/帧间预测模式、移动/运动矢量、参考图片索引、编码块图案、残差信号存在或不存在、变换系数、量化变换系数、量化参数、块大小、块分割信息等。此外,残差信号可以意指原始信号和预测信号之间的差异。此外,原始信号与预测信号之间的差异可以被变换以定义残差信号,或者原始信号与预测信号之间的差异可以被变换和量化以定义残差信号。残差信号可以被称为块单元中的残差块,并且可以被称为样本单元中的残差样本。
67.当应用熵编码时,可以表达符号使得将少量的比特分配给具有高出现概率的符号,并且将大量的比特分配给具有低出现概率的符号。这可以减小待编码的符号的比特串的大小。因此,图像编码的压缩性能可以经由熵编码而增加。
68.诸如指数哥伦布码、上下文自适应可变长度编码(cavlc)和上下文自适应二进制算术编码(cabac)的编码方案可以被用于熵编码。例如,熵编码模块135可以在其中存储用于执行熵编码的表格,诸如可变长度编码/码(vlc)表格。熵编码模块135可以使用所存储的vlc表来执行熵编码。此外,熵编码模块135推导相应符号的二值化方法和相应符号/bin的概率模型,并且然后使用推导的二值化方法或概率模型来执行熵编码。
69.如有必要,熵编码模块135可以对要发送的参数集或语法给予预定的变化。
70.去量化模块140对量化模块125量化的值变换系数进行去量化。逆变换模块145逆变换由去量化模块140去量化的值。
71.由去量化模块140和逆变换模块145生成的残差值或残差样本或残差样本阵列以及由预测模块110预测的预测块可以被组合以形成包括重建的样本或一个重建的样本阵列的重建块。
72.在图1中,通过加法器添加残差块和预测块以创建重建块。此时,加法器可以被认为是生成重建块的特定单元重建块创建单元。
73.滤波模块155将去块滤波器、alf自适应环路滤波器、sao样本自适应偏移应用于重建的图片。
74.去块滤波器去除在重建的图片中的块之间的边界处产生的块失真。alf基于原始图像与块被去块滤波器滤波的重建图像的比较结果值来执行滤波过程。只有在需要高效率的情况下才可以使用alf。sao重建具有应用与其的去块滤波器的残差块与原始图片之间的偏移差,并且以带偏移、边缘偏移等的形式来应用sao。
75.存储器160可以存储由滤波模块155计算的重建的块或图片。存储在存储器160中的重建的块或图片可以被供应给执行帧间预测的预测模块110。
76.图2是示意性地图示根据本发明的实施例的视频解码设备的框图。参考图2,视频解码设备200可以包括熵解码模块210、重排模块215、去量化模块220、逆变换模块225、预测模块230、滤波模块235和存储器240。
77.当从视频编码设备输入视频比特流时,可以基于视频编码设备处理视频信息的顺序来对输入比特流进行解码。
78.熵解码模块210可以根据概率分布对输入比特流进行熵解码以生成量化系数形式的符号。熵解码方法是接收一系列二进制数并使用该序列生成每个符号的方法。熵解码方
法类似于上述的熵编码方法。
79.例如,当诸如cavlc的可变长度编码vlc(在下文中称为“vlc”)被用于在视频编码设备中执行熵编码时,熵解码模块210可以使用与编码设备中使用的vlc表相同的vlc表来执行解码。此外,当cabac被用于在视频编码设备中执行熵编码时,熵解码模块210可以使用cabac来执行熵解码。
80.更具体地说,cabac熵解码方法可以包括:接收对应于比特流中的每个语法元素的bin,使用待解码语法元素信息确定上下文模型,解码邻近块和待解码块的信息、或者在前一步骤中解码的符号/bin的信息,以及根据确定的上下文模型来预测bin出现的概率并且从而执行bin的算术解码以生成与每个语法元素的值相对应的符号。就此而言,在确定上下文模型之后,cabac熵解码方法还可以包括使用解码的符号/bin的信息来更新上下文模型以确定下一个符号/bin的上下文模型的步骤。
81.可以将用于从由熵解码模块210解码的信息构造预测块的信息供应给预测模块230,并且由熵解码模块210熵解码的残差值,即,量化的变换系数可以被输入到重排模块215。
82.重排模块215可以基于视频编码设备中的重排方法重新排列由熵解码模块210熵解码的比特流信息,即,量化的变换系数。
83.重排模块215可以将以一维矢量的形式表达的系数重建并且重新排列为二维块形式的系数。重排模块215可以基于应用于当前块变换块的预测模式和变换块的大小来扫描系数,并且可以以二维块的形式创建系数量化变换系数的阵列。
84.去量化模块220可以基于从视频编码设备供应的量化参数和重新排列的块的系数值来执行去量化。
85.逆变换模块225可以对来自视频编码设备的量化结果执行已经由视频编码设备的变换模块执行的dct和/或dst的逆dct和/或逆dst。
86.可以基于由视频编码设备确定的图片的传送单元或分割单元来执行逆变换。视频编码设备的变换模块可以根据诸如预测方法、当前块的大小和预测方向的多个信息片段来选择性地执行dct和/或dst,并且视频解码设备的逆变换模块225可以基于关于由视频编码设备的变换模块执行的变换的变换信息来执行逆变换。
87.预测模块230基于由熵解码模块210提供的预测块生成相关信息和先前解码的块和/或从存储器提供的图片信息生成包括预测样本或预测样本阵列的预测块240。
88.如果用于当前pu的预测模式是帧内预测模式,则预测模块230可以执行帧内预测以基于当前图片中的像素信息来生成预测块。
89.如果用于当前pu的预测模式是帧间预测模式,则预测模块230可以被配置成基于包括在先前图片或者后续图片到当前图片的至少一个图片中的信息来对当前pu执行帧间预测。就此而言,可以经由检查从编码设备接收的跳过标志和合并标志来推断关于在视频编码设备中提供的当前pu的帧间预测所必需的运动信息的信息,诸如运动矢量和参考图片索引。
90.当对当前图片执行帧间预测时,预测模块230可以生成预测块使得相对于当前块的残差信号被最小化并且运动矢量的大小被最小化。
91.另一方面,可以根据当前块的预测模式来改变运动信息推导方法。应用于帧间预
测的预测模式可以包括高级运动矢量预测(amvp)模式、合并模式等。
92.例如,当应用合并模式时,编码设备和解码设备可以使用重建的空间邻近块的运动矢量和/或与作为时间邻近块的col块对应的运动矢量来生成合并候选列表。在合并模式中,在合并候选列表中选择的候选块的运动矢量被用作当前块的运动矢量。编码设备可以向解码设备发送指示具有从包括在合并候选列表中的候选块当中选择的最优运动矢量的候选块的合并索引。在这样的情况下,解码设备可以使用合并索引来推导当前块的运动矢量。
93.在另一示例中,当应用amvp(高级运动矢量预测)模式时,编码设备和解码设备使用重建的空间邻近块的运动矢量和/或对应于作为时间邻近块的col块的运动矢量来生成运动矢量预测子候选列表。也就是说,重建的空间邻近块的运动矢量和/或与作为时间邻近块的col块相对应的运动矢量可以被用作运动矢量候选。编码设备可以向解码设备发送指示从包括在运动矢量预测子候选列表中的运动矢量候选中选择的最优运动矢量的预测运动矢量索引。就此而言,解码设备可以使用运动矢量索引从包括在运动矢量候选列表中的运动矢量候选中选择用于当前块的预测运动矢量。
94.编码设备可以获得用于当前块的运动矢量与运动矢量预测因子(mvp)之间的运动矢量差mvd,对mvd进行编码,并且将编码的mvd发送到解码设备。也就是说,mvd可以是通过从当前块的运动矢量(mv)中减去运动矢量预测子(mvp)而获得的值。就此而言,解码设备可以解码接收到的运动矢量差,并且经由经解码的运动矢量差与运动矢量预测子之间的相加来推导当前块的运动矢量。
95.此外,编码设备可以将指示参考图片的参考图片索引发送到解码设备。
96.解码设备的预测模块230可以使用邻近块的运动信息来预测当前块的运动矢量,并且使用从编码设备接收到的残差来推导当前块的运动矢量。解码设备可以基于从编码设备接收的推导的运动矢量和参考图片索引信息来生成当前块的预测样本(或者预测的样本阵列)。
97.解码设备可以通过将如从编码设备发送的变换系数获得的预测样本(或预测样本阵列)和残差样本相加来生成重建样本(或重建样本阵列)。基于这些重建的样本,可以生成重建的块和重建的图片。
98.在上述amvp和合并模式中,可以使用重建的邻近块的运动信息和/或col块的运动信息来推导当前块的运动信息。
99.在作为用于图片间预测的其他模式之一的跳过模式中,邻近块信息可以照原样被用于当前块。因此,在跳过模式的情况下,除了指示哪个块的运动信息用作当前块的运动信息的信息之外,编码设备不向解码设备发送诸如残差的语法信息。
100.可以使用由预测模块230生成的预测块和由逆变换模块225提供的残差块来生成重建的块。图2图示使用加法器,预测块和残差块被组合以生成重建的块。就此而言,加法器可被视为被配置成生成重建块的单独模块(重建块生成模块)。就此而言,重建块包括如上所述的重建样本或重建样本阵列;预测块包括预测样本或预测样本阵列;残差块可以包括残差样本或残差样本阵列。因此,可以认为通过将相应的预测样本或预测样本阵列与相应的残差样本或残差样本阵列进行组合来生成重建样本或重建样本阵列。
101.当跳过模式被用于块时,可以不发送残差信号,并且可以将预测块用作重建块。
102.可以将重建的块和/或图片供应给滤波模块235。滤波模块235可以对重建的块和/或图片执行去块滤波操作、sao操作和/或alf操作。
103.存储器240可以存储重建的图片或块以用作参考图片或参考块,并且可以将重建的图片供应给输出单元。
104.被包括在解码设备200中的熵解码模块210、重排模块215、去量化模块220、逆变换模块225、预测模块230、滤波模块235和存储器240当中的与解码图像直接有关的元件,例如,熵解码模块210、重排模块215、去量化模块220、逆变换模块225、预测模块230、滤波模块235等可以被表达为解码器或与其他元件区分的解码模块。
105.另外,解码设备200还可以包括在附图中未图示的解析模块,该解析模块解析与包括在比特流中的编码图像有关的信息。解析模块可以包括熵解码模块210,并且可以被包括在熵解码模块210中。这样的解析模块也可以被实现为解码模块的元件。
106.考虑到目标对象或图片之间的图像的运动,可以在当前块上执行帧间预测。然而,基于对于平移运动(平移运动模型)的补偿的方法执行现有的帧间预测方法。因为通过基于一个运动矢量推导与当前块匹配的参考块来执行帧间预测,所以平移运动模型可以被称为块匹配方法。也就是说,在应用于现有帧间预测和平移运动模型的方法中,预测单元(pu)的所有样本具有相同的运动信息。
107.图3是图示其中从应用平移运动模型的帧间预测生成预测块的方式的视图。
108.参考图3,由于pu的所有样本具有相同的运动信息,所以以有限的形式执行预测和补偿。具体而言,根据平移运动模型,使用在x轴方向上的运动矢量mv
x
和在y轴方向上的运动矢量mvy将具有与参考图片内的预测块的形状和尺寸相同的形状和尺寸的区域指定为预测参考块,用于一个运动矢量的运动参数以pu为单位,并且参考块内的样本被用作预测块的预测样本。然而,平移运动模型的应用具有预测效率因诸如图像的放大、缩小、旋转等变形而降低的限制。根据本发明,能够修改其中以现有pu为单位发送和推导相同运动信息的过程,使得pu中的样本可以具有不同的运动信息。根据本发明的预测模型可以被称为二维仿射变换方法或仿射运动模型。使用仿射运动模型的帧间预测可以与图4中图示的相同。
109.图4图示其中在使用仿射运动模型的帧间预测中生成预测块的示例。在下文中,当前块可以对应于pu。
110.参考图4,x和y分别表示当前块中每个样本的x坐标和y坐标。x'和y'分别表示对应于x和y的参考图片中相应样本的x坐标和y坐标。在这种情况下,包括指向的样本位置(x',y')处的样本的区域可以被称为参考块或参考区域。在这种情况下,参考块可以对应于包括根据关于当前块内的图像的旋转变形、形状变形、诸如放大或缩小等的尺寸变形而变换的图像的区域。因此,参考块的大小和形状可能与当前块的大小和形状不同。在图5中图示推导对于图4中图示的当前块中的每个样本而言不同或唯一的运动矢量的具体方法。
111.图5是图示其中生成预测块的状态和使用仿射运动模型的帧间预测中的运动矢量的视图。参考图5,示出当应用仿射运动模型时推导运动矢量的公式。运动矢量可以基于以下等式来推导。
112.[等式1]
[0113][0114]
这里,v
x
表示当前块中(x,y)坐标样本的样本单元运动矢量的x分量,并且vy表示在当前块中的(x,y)坐标样本的样本单元运动矢量的y分量。也就是说,(v
x
,vy)是用于(x,y)坐标样本的样本单元运动矢量。这里,a、b、c、d、e和f表示用于从当前块的控制点(cp)推导(x,y)坐标的样本单元运动矢量(运动信息)的等式的参数。cp可以被表达为转向像素(steered pixel)。可以从以pu为单位发送的每个pu的cp的运动信息中推导参数。用于推导从cp的运动信息推导的样本单元运动矢量的等式可以应用于每个pu的每个样本,或者可以根据每个pu样本的x和y轴的相对位置被推导到参考图像中的预测样本的位置。根据应用于编译单元(cu)的分割、非对称或对称类型、分割id等,取决于pu的大小,样本单元运动矢量可以被推导为不同。将参考图6至图16描述其具体实施例。
[0115]
图6是图示基于分割类型2n
×
2n从cu分割的pu的cp的视图。
[0116]
如上面的等式(1)所图示,用于推导样本单元运动矢量的等式的参数可以基于当前块的cp的运动矢量被推导为不同的值。cp可以是三个cp。cp可以根据pu的形状在不同的位置使用cp的运动信息。
[0117]
参考图6,示出针对用于推导样本单元运动矢量的等式基于分割类型2n
×
2n从cu分割的pu中的方法。例如,pu中的左上样本的运动矢量可以被称为v0。另外,使用与pu相邻的邻近块的样本,每个cp的运动矢量可以是v1和v2。也就是说,当pu的宽度和高度是s并且pu的左上样本位置的坐标是(xp,yp)时,可以将cp当中的cp0的坐标设置为(xp,yp),cp1的坐标可以被设置为(xp+s,yp),并且cp2的坐标可以被设置为(xp,yp+s)。cp0的运动矢量可以被设置为v0,cp1的运动矢量可以被设置为v1,并且cp2的运动矢量可以是v2。可以使用cp的运动矢量来推导样本单元运动矢量。可以基于以下等式推导样本单元运动矢量。
[0118]
[等式2]
[0119][0120]
这里,v
x
和vy分别表示用于当前块中的(x,y)坐标的样本的运动矢量的x分量和y分量,vx0和vy0表示用于cp0的运动矢量v0的x分量和y分量,vx1和vy1分别表示用于cp1的运动矢量v1的x分量和y分量,并且vx2和vy2分别表示用于cp2的运动矢量v2的x分量和y分量。根据如等式2中的用于推导样本单元运动矢量的等式,可以基于针对基于分割类型2n
×
2n从cu分割的pu的每个样本在pu中的相对位置推导运动矢量。
[0121]
图7图示基于分割类型n
×
2n从cu分割的pu的cp。参考图7,示出基于分割类型nx2n推导从cu分割的pu的运动矢量的过程。用于推导pu中的样本单元运动矢量的等式可以通过与前述分割类型2n
×
2n的情况的方法相同的方法来推导。在推导公式的过程中,可以使用与pu的形状对应的宽度值。为了推导样本单元运动矢量,可以推导三个cp,并且可以调整cp的位置,如图7中所图示。也就是说,当pu的宽度和高度分别是s/2和s并且pu的左上样本位置的坐标是(xp,yp)时,cp当中的cp0的坐标是(xp,yp),cp1的坐标可以是(xp+s/2,yp),并且cp2的坐标可以是(xp,yp+s)。可以基于以下等式来推导样本单元运动矢量。
[0122]
[等式3]
[0123][0124]
这里,v
x
和vy分别表示用于当前块中的(x,y)坐标的样本的运动矢量的x分量和y分量,vx0和vy0表示用于cp0的运动矢量v0的x分量和y分量,vx1和vy1分别表示用于cp1的运动矢量v1的x分量和y分量,并且vx2和vy2分别表示用于cp2的运动矢量v2的x分量和y分量。等式3表示用于考虑pu的宽度是s/2来推导样本单元运动矢量的等式。根据如等式3中的用于推导样本单元运动矢量的等式,可以基于针对基于分割类型n
×
2n从cu中分割的pu的每个样本在pu中的相对位置推导运动矢量。
[0125]
图8图示基于分割类型2n
×
n从cu分割的pu的cp。如图8中所图示,为了推导样本单元运动矢量,可以推导三个cp,并且可以如图8所示调整cp的位置以根据图8中图示的pu的形状将高度调整为s/2。也就是说,当pu的宽度和高度分别是s和s/2并且pu的左上样本位置的坐标是(xp,yp)时,cp当中的cp0的坐标可以是(xp,yp),cp1的坐标是(xp+s,yp),并且cp2的坐标可以是(xp,yp+s/2)。可以基于以下等式推导样本单元运动矢量。
[0126]
[等式4]
[0127][0128]
这里,v
x
和vy分别表示用于当前块中的(x,y)坐标的样本的运动矢量的x分量和y分量,vx0和vy0表示用于cp0的运动矢量v0的x分量和y分量,vx1和vy1表示用于cp1的运动矢量v1的x分量和y分量,并且vx2和vy2分别表示用于cp2的运动矢量v2的x分量和y分量。等式4表示用于考虑pu的高度是s/2来推导样本单元运动矢量的等式。根据如等式4中的用于推导样本单元运动矢量的等式,可以基于用于基于分割类型2n
×
n从cu中分割pu的每个样本在pu中的相对位置推导运动矢量。
[0129]
图9图示不对称pu的cp。不对称pu可以是基于分割类型nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd从cu分割的pu。
[0130]
如图9中所图示,非对称pu的宽度和高度可以分别是w和h。在这种情况下,可以如下地推导用于推导pu中的样本单元运动矢量的等式。为了推导样本单元运动矢量,可以推导用于每个pu的三个cp,并且可以根据如图9中所图示的pu的形状基于宽度和高度调整cp的坐标。也就是说,当pu的宽度和高度是w和h并且每个pu的左上样本位置的坐标是(xp,yp)时,可以将cp当中的cp0的坐标设置为(xp,yp),cp1的坐标可以被设置为(xp+w,yp),并且cp2的坐标可以被设置为(xp,yp+h)。在这种情况下,可以基于以下等式来推导pu中的样本单元运动矢量。
[0131]
[等式5]
[0132][0133]
这里,v
x
和vy分别表示用于当前块中的(x,y)坐标的样本的运动矢量的x分量和y分量,vx0和vy0表示用于cp0的运动矢量v0的x分量和y分量,vx1和vy1表示用于cp1的运动矢量v1的x分量和y分量,并且vx2和vy2分别表示用于cp2的运动矢量v2的x分量和y分量。等式5表示用于考虑非对称pus的宽度和高度来推导样本单元运动矢量的等式。根据如等式5中的用于推导样本单元运动矢量的等式,可以基于用于基于分割类型nl
×
2n、nr
×
2n、2n
×
nu、或
2n
×
nd从cu分割的pu的每个样本在pu中的相对位置推导运动矢量。
[0134]
同时,根据本发明,为了减少以pu为单位发送的cp的运动信息,例如,三个cp,可以基于邻近块的运动信息或pu的邻近样本选择用于至少一个cp的运动信息预测候选。运动信息预测候选可以被称为运动信息候选或运动矢量候选。
[0135]
图10图示应用分割类型2n
×
2n的pu的cp的运动信息预测候选。参考图10,示出配置cp的运动信息预测候选的方法。可以使用与每个cp相邻的邻近块(或邻近样本)的运动信息作为用于三个cp的运动信息的预测候选。另外,可以使用与每个cp相邻的邻近样本的运动信息作为每个cp的运动信息预测候选。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以通过a0、a1和a2来表示。在pu的宽度和高度是s并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0是(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0136]
另外,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由b0和b1来表示。在pu的宽度和高度是s并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s-1,yp-1)坐标,并且b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0137]
而且,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度是s并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量并且c1可以表示(xp-1,yp+s-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0138]
在这种情况下,如果仿射运动模型被应用于包括相应位置处的样本的邻近块,则可以基于相应位置处的样本的运动矢量推导预测候选位置的运动信息,并且如果仿射运动模型未被应用于包括相应位置处的样本的邻近块,则可以基于包括相应位置处的样本的邻近块的运动矢量来推导预测候选位置的运动信息。这在下面的图10至图16的其他剩余实施例的情况下是相同的。详细地说,例如,在将仿射运动模型应用于包括(xp-1,yp-1)坐标的样本的邻近块的情况下,可以基于(xp-1,yp-)坐标的样本的运动矢量推导a0,并且在仿射运动模型未被应用于包括(xp-1,yp-1)坐标的样本的邻近块的情况下,可以基于包括(xp-1,yp-1)坐标的样本的邻近块的运动矢量块推导a0。
[0139]
在这种情况下,用于图中每个cp的预测候选的数量可以用于在预测候选之间进行区分或者可以指示预测候选的优先级顺序。例如,在用于cp0的预测候选的情况下,a0可以具有比a1更高的优先级,并且a1可以具有比a2更高的优先级。这对于下面图11至图16的其他剩余实施例的情况来说是相同的。
[0140]
图11图示应用分割类型2nxn的pu的cp的运动信息预测候选。参考图11,示出配置cp的运动信息预测候选的方法。如图11中所图示,考虑到pu不具有正方形的事实,可以配置用于cp的运动矢量的预测候选,并且可以考虑pu的解码处理顺序配置用于cp的运动矢量的预测候选。
[0141]
可以将与每个cp相邻的邻近块(或邻近样本)的运动信息用作用于三个cp的运动信息的预测候选。当将仿射运动模型应用于邻近块时,可以使用与每个cp相邻的邻近样本的运动信息作为每个cp的运动信息预测候选。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以用a0、a1和a2表示。在pu的宽度和高度分别是s和s/2并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0是(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0142]
另外,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由b0和b1表示。在pu的宽度和高度分别是s和s/2并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s-1,yp-1)坐标的样本的运动矢量,b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0143]
而且,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是s和s/2并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s/2)坐标,并且c1可以表示(xp-1,yp+s/2-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0144]
在另一实施例中,当pu的分割id是1时,当前cu的邻近块的样本可以进一步被包括作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的情况下,可以进一步包括先前解码的邻近块(即,当前cu的邻近块或邻近样本)的运动信息作为预测候选。详细地,邻近样本的三条运动信息中的至少一条可以进一步用作预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括pu的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc)坐标的样本的运动矢量,a4可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量a3、a4和a5中的至少一个可以被进一步用作v0的预测候选。
[0145]
而且,在cp1的运动矢量v1的情况下,先前解码的邻近块(或邻近样本)的运动信息可以用作预测候选。详细地,邻近样本的三条运动信息中的至少一条可以进一步用作预测候选,并且三条运动信息可以分别由b2、b3和b4表示。在包括pu的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+s,yc)坐标的样本的运动矢量,b3可以表示(xc+s-1,yc-1)坐标的样本的运动矢量,并且b4可以表示(xc+s-1,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量b2、b3和b4中的至少一个可以被进一步用作v1的预测候选。
[0146]
在另一实施例中,cu中包括的每个pu可以使用cu中的pu的相同预测候选作为用于cp的运动矢量的预测候选,不管分割id如何。例如,在每个pu的cp0的运动矢量v0的情况下,先前解码的邻近块(即,当前cu的邻近块或邻近样本)的多条运动信息当中的三条运动信息可以被用作预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,a0可以表示(xc-1,yc-1)坐标的样本的运动矢量,a1可以表示(xc,yc-1)坐标的样本的运动矢量,并且a2可以表示(xc-1,yc)坐
标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0147]
另外,在每个pu的cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,b0可以表示(xc+s,yc-1)坐标的样本的运动矢量,并且b1可以表示(xc+s-1,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0148]
而且,在每个pu的cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以分别由c0和c1表示。在cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,c0可以表示(xc-1,yc+s)坐标的样本的运动矢量并且c1可以表示(xc-1,yc+s-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0149]
作为配置用于应用2n
×
n分割类型的pu的cp的运动矢量的预测候选的方法,预测候选可以被限制为预定数量以便被配置。
[0150]
图12图示其中应用分割类型2n
×
n的pu的cp的预测候选限于两个预测候选的配置。参考图12,图示包括作为pu的每个cp的预测候选的两个样本的列表被配置。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息信息可以由a0和a1表示。在pu的宽度和高度分别是s和s/2并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,a0和a1可以被用作v0的预测候选。
[0151]
而且,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由b0和b1表示。在pu的宽度和高度分别是s和s/2并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s-1,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1可以被用作v1的预测候选。
[0152]
而且,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是s和s/2并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s/2)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+s/2-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1可以被用作v2的预测候选。
[0153]
图13图示应用分割类型n
×
2n的pu的cp的运动信息预测候选。参考图13,示出配置cp的运动信息预测候选的方法。如图13中所图示,考虑到pu不具有正方形形状的事实,可以配置用于cp的运动矢量的预测候选,并且可以考虑pu的解码处理顺序配置用于cp的运动矢量的预测候选。
[0154]
如图13中所图示,与每个cp相邻的邻近块(或邻近样本)的编译的运动信息可以用作用于三个cp的运动信息的预测候选。在将仿射运动模型应用于邻近块的情况下,可以使用与每个cp相邻的邻近样本的运动信息作为每个cp的运动信息预测候选。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的三条
运动信息作为预测候选,并且三条运动信息可以用a0、a1和a2表示。在pu的宽度和高度分别是s/2和s并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0是(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0155]
而且,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由b0和b1表示。在pu的宽度和高度分别是s/2和s并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s/2,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+s/2-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。而且,在pu的分割id是0的情况下,(xp+s/2+1,yp-1)坐标的样本的运动矢量b2和(xp+s/2+2,yp-1)坐标的样本的运动矢量b3作为v1的预测候选被进一步包括。
[0156]
另外,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是s/2和s并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+s-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0157]
在另一实施例中,当pu的分割id是1时,可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量v0的情况下,可以进一步包括先前解码的邻近块(即,当前cu的邻近块或邻近样本)的运动信息作为预测候选。详细地,邻近样本的三条运动信息中的至少一条可以进一步用作预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括pu的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,a4可以表示(xc,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,运动矢量a3、a4和a5中的至少一个可以被进一步用作v0的预测候选。
[0158]
而且,在cp2的运动矢量v2的情况下,先前解码的邻近块(或邻近样本)的运动信息可以用作预测候选。详细地,邻近样本的三条运动信息中的至少一条可以进一步用作预测候选,并且三条运动信息可以分别由c2、c3和c4表示。在包括pu的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+s)坐标的样本的运动矢量,c3可以表示(xc,yc+s)坐标的样本的运动矢量,并且c4可以表示(xc-1,yc+s-1)坐标的样本的运动矢量。在这种情况下,运动矢量c2、c3和c4中的至少一个可以被进一步用作v2的预测候选。
[0159]
在另一个实施例中,cu中包括的每个pu可以使用cu中的pu的相同预测候选作为cp的运动矢量的预测候选,不管分割id如何。例如,在每个pu的cp0的运动矢量v0的情况下,先前解码的邻近块(即,当前cu的邻近块或邻近样本)的多条运动信息当中的三条运动信息可以被用作预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,a0可以表示(xc-1,yc-1)坐标的样本的运动矢量,a1可以表示(xc,yc-1)坐标的样本的运动矢量,并且a2可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测
候选。
[0160]
而且,在每个pu的cp1的运动矢量v1的情况下,先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息可以用作预测候选,并且两条运动信息可以由b0和b1表示。在cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,b0可以表示(xc+s,yc-1)坐标的样本的运动矢量,并且b1可以表示(xc+s-1,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0161]
而且,在每个pu的cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以分别由c0和c1表示。在cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,c0可以表示(xc-1,yc+s)坐标的样本的运动矢量并且c1可以表示(xc-1,yc+s-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0162]
作为配置应用n
×
2n分割类型的pu的cp的运动矢量的预测候选的方法,预测候选可以被限制为预定数量以便被配置。
[0163]
图14图示其中应用分割类型n
×
2n的pu的cp的预测候选限于两个预测候选的配置。参考图14,图示配置包括作为pu的每个cp的预测候选的两个样本的列表。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息信息可以由a0和a1表示。在pu的宽度和高度分别是s/2和s并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,a0和a1可以被用作v0的预测候选。
[0164]
而且,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由b0和b1表示。在pu的宽度和高度分别是s/2和s并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s/2,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+s/2-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1可以被用作v1的预测候选。
[0165]
而且,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是s/2和s并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+s-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1可以被用作v2的预测候选。
[0166]
图15图示非对称pu的cp的运动信息预测候选。非对称pu可以是基于分割类型nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd从cu分割的pu。
[0167]
参考图15的(a),示出配置应用分割类型nl
×
2n的pu的cp的运动信息预测候选的方法。如图图15的(a)中所图示,考虑到pu不具有正方形形状的事实,可以配置用于cp的运动矢量的预测候选,并且可以考虑到pu的解码处理顺序配置用于cp的运动矢量的预测候选。
[0168]
如图15的(a)中所图示,可以使用与每个cp相邻的邻近块(或邻近样本)的编译的运动信息作为用于三个cp的运动信息的预测候选。当将仿射运动模型应用于邻近块时,可以使用与每个cp相邻的邻近样本的运动信息作为每个cp的运动信息预测候选。例如,在cp0
的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以用a0、a1和a2表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0是(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0169]
而且,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息中的两条运动信息作为预测候选,并且两条运动信息可以分别由b0和b1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0170]
而且,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0171]
在另一实施例中,当pu的分割id是1时,可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量v0的情况下,可以进一步包括先前解码的邻近块(即,当前cu的邻近块或邻近样本)的运动信息作为预测候选。详细地,邻近样本的两条运动信息中的至少一条可以进一步用作预测候选,并且这两条运动信息可以分别由a3和a4表示。在包括pu的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a4可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,运动矢量a3和a4中的至少一个可以被进一步用作v0的预测候选。
[0172]
而且,在cp2的运动矢量v2的情况下,可以进一步包括先前解码的邻近块(或邻近样本)的运动信息作为预测候选。详细地,邻近样本的两个运动信息中的至少一个可以进一步用作预测候选,并且这两个运动信息可以分别由c2和c3表示。在包括pu的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+h)坐标的样本的运动矢量,并且c3可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,运动矢量c2和c3中的至少一个可以被进一步用作v2的预测候选。
[0173]
参考图15的(b),示出配置应用分割类型nr
×
2n的pu的cp的运动信息的预测候选的方法。考虑到pu不具有正方形的事实,可以配置cp的运动矢量的预测候选,并且可以考虑到pu解码处理顺序配置用于cp的运动矢量的预测候选pu。
[0174]
如图15的(b)中所图示,与每个cp相邻的邻近块的编译的运动信息可以被用作三个cp的运动信息预测候选。在将仿射运动模型应用于邻近块的情况下,可以使用与每个cp相邻的邻近样本的运动信息作为用于每个cp的运动信息的预测候选。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以通过a0、a1和a2表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0是(xp-1,yp-1)坐标的样本的运
动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0175]
而且,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息中的两条运动信息作为预测候选,并且两条运动信息可以分别由b0和b1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0176]
而且,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0177]
在另一实施例中,当pu的分割id是1时,可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量v0的情况下,可以进一步包括先前解码的邻近块(即,当前cu的邻近块或邻近样本)的运动信息作为预测候选。详细地,邻近样本的三条运动信息中的至少一条可以进一步用作预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括pu的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,a4可以表示(xc,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,运动矢量a3、a4和a5中的至少一个可以被进一步用作v0的预测候选。
[0178]
另外,在cp2的运动矢量v2的情况下,先前解码的邻近块(或邻近样本)的运动信息可以用作预测候选。详细地,邻近样本的三条运动信息中的至少一条可以进一步用作预测候选,并且三条运动信息可以分别由c2、c3和c4表示。在包括pu的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+h)坐标的样本的运动矢量,c3可以表示(xc,yc+h)坐标的样本的运动矢量,并且c4可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,运动矢量c2、c3和c4中的至少一个可以被进一步用作v2的预测候选。
[0179]
参考图15的(c),示出配置用于应用分割类型2n
×
nu的pu的cp的运动信息的预测候选的方法。如图15的(c)中所图示,考虑到pu不具有正方形形状的事实,可以配置用于cp的运动矢量的预测候选,并且可以考虑到pu的解码处理顺序配置用于cp的运动矢量的预测候选。
[0180]
如图15的(c)中所图示,与每个cp相邻的邻近块的编译运动信息可以被用作三个cp的运动信息预测候选。在将仿射运动模型应用于邻近块的情况下,可以使用与每个cp相邻的邻近样本的运动信息作为用于每个cp的运动信息的预测候选。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以通过a0、a1和a2表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0是(xp-1,yp-1)的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的
样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0181]
另外,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息当中的两条运动信息作为预测候选,并且两条运动信息运动信息可以分别由b0和b1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0182]
另外,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0183]
在另一实施例中,当pu的分割id是1时,可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的情况下,可以进一步包括先前解码的邻近块(即,当前cu的邻近块或邻近样本)的运动信息作为预测候选。详细地,邻近样本的两条运动信息中的至少一条可以进一步用作预测候选,并且这两条运动信息可以分别由a3和a4表示。在包括pu的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a4可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量a3和a4中的至少一个可以被进一步用作v0的预测候选。
[0184]
另外,在cp1的运动矢量v1的情况下,可以进一步包括先前解码的邻近块(或邻近样本)的运动信息作为预测候选。详细地,邻近样本的两条运动信息中的至少一条可以进一步用作预测候选,并且这两条运动信息可以分别由b2和b3表示。在包括pu的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+s,yc-1)坐标的样本的运动矢量,并且b3可以表示(xc+s-1,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量b2和b3中的至少一个可以被进一步用作v1的预测候选。
[0185]
参考图15的(d),示出配置应用分割类型2n
×
nd的pu的cp的运动信息的预测候选的方法。如图15的(d)中所图示,考虑到pu不具有正方形形状的事实,可以配置用于cp的运动矢量的预测候选,并且可以考虑到pu的解码处理顺序配置用于cp的运动矢量的预测候选。
[0186]
如图15的(d)中所图示,与每个cp相邻的邻近块(或邻近样本)的编译的运动信息可以用作三个cp的运动信息的预测候选。在将仿射运动模型应用于邻近块的情况下,可以使用与每个cp相邻的邻近样本的运动信息作为每个cp的运动信息预测候选。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以通过a0、a1和a2表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0可以是(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0187]
另外,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息中的两条运动信息作为预测候选,并且两条运动信息可以分别通过b0和b1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0188]
另外,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0189]
在另一实施例中,当pu的分割id是1时,可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的情况下,可以进一步包括先前解码的邻近块(即,当前cu的邻近块或邻近样本)的运动信息作为预测候选。详细地,邻近样本的三条运动信息中的至少一条可以进一步用作预测候选,并且三条运动信息可以分别通过a3、a4和a5表示。在包括pu的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc)坐标的的样本的运动矢量,a4可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量a3、a4和a5中的至少一个可以被进一步用作v0的预测候选。
[0190]
而且,在cp1的运动矢量v1的情况下,可以进一步包括先前解码的邻近块(或邻近样本)的运动信息作为预测候选。详细地,邻近样本的三条运动信息中的至少一条可以进一步用作预测候选,并且三条运动信息可以分别通过b2、b3和b4表示。在包括pu的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+w,yc)坐标的样本的运动矢量,b3可以表示(xc+w,yc-1)坐标的样本的运动矢量,并且b4可以表示(xc+w-1,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量b2、b3和b4中的至少一个可以被进一步用作v1的预测候选。
[0191]
包括在图15中图示的cu中的每个pu可以使用cu中的pu的相同预测候选作为用于cp的运动矢量的预测候选,不管形状和分割id如何。例如,在每个pu的cp0的运动矢量v0的情况下,在先前解码的邻近块的运动信息(即,当前cu的邻近块或邻近样本)当中的三条运动信息可以用作预测候选,并且三条运动信息可以分别通过a0、a1和a2表示。在cu的宽度和高度分别是w和h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a0可以表示(xc-1,yc-1)坐标的样本的运动矢量,a1可以表示(xc,yc-1)坐标的样本的运动矢量,并且a2可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,运动矢量a0、a1和a2中的至少一个可以被用作v0的预测候选。
[0192]
而且,在每个pu的cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以通过b0和b1表示。在cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b0可以表示(xc+w,yc-1)坐标的样本的运动矢量,并且b1可以表示(xc+w-1,yc-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1中的至少一个可以被用作v1的预测候选。
[0193]
而且,在每个pu的cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以分别由c0和c1表示。在cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,c0可以表示(xc-1,yc+h)坐标的样本的运动矢量并且c1可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1中的至少一个可以被用作v2的预测候选。
[0194]
作为配置应用nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd分割类型的pu的cp的运动矢量的预测候选的方法,预测候选可以被限制为预定数量以便被配置。
[0195]
图16图示其中非对称pu的cp的预测候选限于两个预测候选的配置。非对称pu可以是基于分割类型nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd从cu分割的pu。
[0196]
参考图16,图示其中每个pu的每个cp的预测候选限于两个预测候选的配置。例如,在cp0的运动矢量v0的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息信息可以由a0和a1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,a0和a1可以被用作v0的预测候选。
[0197]
而且,在cp1的运动矢量v1的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由b0和b1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,运动矢量b0和b1可以被用作v1的预测候选。
[0198]
而且,在cp2的运动矢量v2的情况下,可以使用先前解码的邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以分别由c0和c1表示。在pu的宽度和高度分别是w和h并且pu的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,运动矢量c0和c1可以被用作v2的预测候选。
[0199]
同时,当如上述实施例中所描述推导每个cp的运动矢量时,用于运动信息的数据量可能稍微增加。可以使用应用每个cp位于当前pu的边界处的特征来减少数据量的方法。
[0200]
如果紧挨着当前pu的要被解码的pu(下一个pu)的cp具有与当前pu的cp相同的位置,则编码设备可以不单独地编码关于下一pu的cp的运动信息,并且可以在前一解码过程中不存在运动信息的情况下使用仅针对cp的上述预测候选的编码方法。
[0201]
图17图示包括需要运动信息编译的cp和不需要运动信息编译的cp的pu。可以通过检查编码设备/解码设备内的当前pu的邻近块的运动信息的解码过程确定pu是否是需要运动信息的pu。因此,在确定pu是否是需要运动信息的pu时,可能不需要附加语法信息的传输。参考图17,图示当前pu的cp。当前pu的左上样本可以被称为cp0,当前pu的右上方邻近样本可以被称为cp1,并且当前pu的左下邻近样本可以被称为cp2。在根据光栅扫描顺序对块进行编译的情况下,可以确定当前pu的右块尚未被解码。因此,可以确定用于位于右块的cp的运动信息需要被编译。例如,因为已经在解码先前pu的过程中推导出除cp1之外的cp的运动矢量,所以编码设备可以仅编码用于cp1的运动信息并且通过比特流发送编译的运动信息。
[0202]
图18图示包括不需要运动信息编码的cp的pu。参考图18,已经从当前pu的上部块中推导出其中当前pu的cp位于的样本的运动信息。因此,编码设备可以在不解码附加的运动信息的情况下编码相应的运动信息。也就是说,在不接收附加的运动信息的情况下,解码设备可以基于先前解码过程中推导的运动矢量来推导当前pu的cp的运动矢量。
[0203]
例如,在cp0的情况下,在基于仿射运动模型对与当前块的左边界相邻的左邻近块当中的最上面的块进行解码的情况下,相应的块的cp1的运动矢量可以被用作当前块的cp0的运动矢量。而且,在基于仿射运动模型解码与当前块的上边界相邻的上部邻近块当中的最左边的块的情况下,相应块的cp2的运动矢量可以被用作当前块的cp0的运动矢量。而且,在基于仿射运动模型对当前块的左上邻近块进行解码的情况下,可以将基于相应块的cp推导的相应块的右下邻近样本的运动矢量用作当前块的cp0的运动矢量。在这种情况下,可以基于上述等式2至5基于相应块的cp来推导相应块的右下邻近样本的运动矢量。
[0204]
例如,在cp1的情况下,在基于仿射运动模型对当前块的右上邻近块进行解码的情况下,相应块的cp2的运动矢量可以用作当前块的cp1的运动矢量。在基于仿射运动模型对与当前块的上边界相邻的上部邻近块的最右边的块进行解码的情况下,基于块的cp推导的相应块的右下邻近样本的运动矢量可以被用作当前块的cp1的运动矢量。在这种情况下,可以基于上述等式2至5基于相应块的cp来推导相应块的右下邻近样本的运动矢量。
[0205]
例如,在cp2的情况下,在基于仿射运动模型对当前块的左下邻近块进行解码的情况下,相应块的cp1的运动矢量可以用作当前块的cp2的运动矢量。而且,在基于仿射运动模型对与当前块的左边界相邻的左邻近块的最下面的块进行解码的情况下,基于当前块的cp推导的相应的块的右下邻近块的运动矢量可以被用作当前块的cp2的运动矢量。在这种情况下,可以基于上述等式2至5基于相应块的cp来推导相应块的右下邻近样本的运动矢量。
[0206]
图19示意性地图示根据本发明的编码设备的视频编码方法。在图19中公开的方法可以由图1中公开的编码设备执行。具体地说,例如,图19的步骤s1900至s1930可以由编码设备的预测单元执行,并且步骤s1940可以由编码设备的熵编码单元执行。
[0207]
编码设备推导用于当前块的控制点(cp)(s1900)。编码设备可以基于rd成本确定是否应用当前块的仿射运动模型。在将仿射运动模型应用于当前块的情况下,编码设备可以推导cp以应用仿射运动模型。cp可以是三个cp。
[0208]
例如,在当前块是基于分割类型2n
×
2n从cu分割的pu并且当前块的宽度和高度是s的情况下,编码设备可以推导其中cp0是(0,0)坐标的样本的三个cp,cp1是(s,0)坐标的样本,并且cp2是基于当前块的左上样本位置的坐标(0,0)的(0,s)坐标的样本。
[0209]
而且,在当前块是基于分割类型n
×
2n从cu分割的pu并且当前块的宽度和高度分别是s/2和s的情况下,编码设备可以推导三个cp其中cp0是(0,0)坐标的样本,cp1是(s/2,0)坐标的样本,并且cp2是基于(0,0)的坐标(0,0)的当前块的左上样本位置。
[0210]
而且,在当前块是基于分割类型2n
×
n从cu分割的pu并且当前块的宽度和高度分别是s和s/2的情况下,编码设备可以推导三个cp,其中cp0是(0,0)坐标的样本,cp1是(s/2,0)坐标的样本,cp2是基于当前块的左上样本位置的坐标(0,0)的(0,s/2)坐标的样本。
[0211]
而且,在当前块是基于分割类型nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd并且当前块的宽度和高度分别是w和h的情况下,编码设备可以推导三个cp,其中cp0是(0,0)坐标的样本,cp1是(w,0)坐标的样本,并且cp2是基于当前块的左上样本位置的坐标(0,0)的(0,h)坐标
的样本。
[0212]
编码设备获得用于cp的运动矢量(s1910)。编码设备可以基于与cp相邻的邻近样本推导用于cp的运动矢量。与cp相邻的样本可以被配置为预测候选。编码设备可以基于与每个cp相邻的邻近块(或样本)的编译运动信息来配置用于cp的运动矢量的预测候选,并且基于配置的预测候选中的最佳候选来推导每个cp的运动矢量。可以基于分割类型、分割id和当前块的形状来确定预测候选。
[0213]
例如,在当前块是应用分割类型2n
×
2n的pu的情况下,在cp0的运动矢量v0的情况下,编码设备可以使用邻近块(或邻近样本)的运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度是s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,编码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本的邻近样本组0推导关于cp0的运动矢量v0。
[0214]
而且,在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度是s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,编码设备可以基于包括(xp+s,yp-1)坐标的样本和(xp+s-1,yp-1)坐标的样本的邻近样本组1推导关于cp1的运动矢量v1。
[0215]
而且,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度是s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+s-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。即,编码设备可以基于包括(xp-1,yp+s)坐标的样本和(xp-1,yp+s-1)的样本中的至少一个的邻近样本组2推导关于cp2的运动矢量v2。
[0216]
在另一示例中,在当前块是应用分割类型2n
×
n的pu的情况下,在cp0的运动矢量v0的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示样本的运动矢量(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,编码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。
[0217]
而且,在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在
当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,编码设备可以基于包括(xp+s,yp-1)坐标的样本和(xp+s-1,yp-1)坐标的样本中的至少一个的邻近样本组1推导关于cp1的运动矢量v1。
[0218]
而且,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s/2)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+s/2-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。也就是说,编码设备可以基于包括(xp-1,yp+s/2)坐标的样本和(xp-1,yp+s/2-1)坐标的样本中的至少一个的邻近样本组2推导关于cp2的运动矢量v2。
[0219]
在当前块的分割id是1的情况下,编码设备还可以包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的情况下,编码设备还可以包括作为预测候选的邻近块(即,邻近样本)的运动信息。详细地,编码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括当前块的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc)坐标的样本的运动矢量,a4可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量a3、a4和a5中的至少一个作为v0的预测候选。也就是说,编码设备可以进一步包括邻近样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)的样本中的至少一个。
[0220]
而且,在cp1的运动矢量v1的情况下,编码设备可以进一步包括当前cu的邻近块的运动信息作为预测候选。详细地,编码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由b2、b3和b4表示。在包括当前块的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+s,yc)坐标的样本的运动矢量,b3可以表示(xc+s,yc-1)坐标的样本的运动矢量,并且b4可以表示(xc+s-1,yc-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量b2、b3和b4中的至少一个作为v1的预测候选。也就是说,编码设备可以进一步包括在邻近样本组1中的(xc+s,yc)坐标的样本、(xc+s,yc-1)坐标的样本和(xc+s-1,yc-1)坐标中的至少一个。
[0221]
另外,编码设备可以通过将预测候选的数量限制为某个数量来配置用于当前块的cp的运动矢量的预测候选。在cp0的运动矢量v0的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以是由a0和a1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量并且a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用a0和a1作为v0的预测候选。也就是说,编码设备可以包括邻近样本组0中的(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本,并且(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本的可用性可以根据第一预
定义优先级顺序被顺序地确定。
[0222]
在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s,yp-1)坐标的样本的运动矢量并且b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用b0和b1作为v1的预测候选。也就是说,编码设备可以包括邻近样本组1中的(xp+s,yp-1)坐标的样本和(xp+s-1,yp-1)坐标的样本,并且(xp+s,yp-1)坐标的样本和(xp+s-1,yp-1)坐标的样本的可用性可以根据第二预定优先级顺序被顺序地确定。
[0223]
在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s/2)坐标的样本的运动矢量并且c1可以表示(xp-1,yp+s/2-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用c0和c1作为v2的预测候选。也就是说,编码设备可以包括邻近样本组2中的(xp-1,yp+s/2)坐标的样本和(xp-1,yp+s/2-1)坐标的样本,并且(xp-1,yp+s/2)坐标的样本和(xp-1,yp+s/2-1)坐标的样本的可用性可以根据第三预定义的优先级顺序被顺序地确定。
[0224]
在另一示例中,在当前块是应用分割类型n
×
2n的pu的情况下,在cp0的运动矢量v0的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,编码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本的邻近样本组0推导关于cp0的运动矢量v0。
[0225]
此外,在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s/2,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+s/2-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。此外,在当前块的分割id是0的情况下,编码设备还可以包括(xp+s/2+1,yp-1)坐标的样本的运动矢量b2和(xp+s/2+2,yp-1)坐标的样本的运动矢量b3作为v1的预测候选。也就是说,编码设备可以基于包括(xp+s/2,yp-1)坐标的样本和(xp+s/2-1,yp-1)坐标的样本的邻近样本组1推导关于cp1的运动矢量v1。
[0226]
另外,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量并且c1可以表示(xp-1,yp+s-1)坐标的
样本的运动矢量。在这种情况下,编码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。即,编码设备可以基于包括(xp-1,yp+s)坐标的样本和(xp-1,yp+s-1)坐标的样本的邻近样本组2推导关于cp2的运动矢量v2。。
[0227]
在当前块的分割id是1的情况下,编码设备可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量v0的情况下,编码设备还可以包括作为预测候选的邻近块(即,邻近样本)的运动信息。详细地,编码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括当前块的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,a4可以表示(xc,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量a3、a4和a5中的至少一个作为v0的预测候选。也就是说,编码设备可以进一步包括邻近的样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)坐标的样本中的至少一个。
[0228]
而且,在cp2的运动矢量v2的情况下,编码设备可以进一步包括邻近块(或邻近样本)的运动信息作为预测候选。详细地,编码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由c2、c3和c4表示。在包括当前块的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+s)坐标的样本的运动矢量,c3可以表示(xc,yc+s)坐标的样本的运动矢量,并且c4可以表示(xc-1,yc+s-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量c2、c3和c4中的至少一个作为v2的预测候选。也就是说,编码设备可以进一步包括邻近样本组2中的(xc-1,yc+s)坐标的样本、(xc,yc+s)坐标的样本和(xc-1,yc+s-1)坐标的样本中的至少一个。
[0229]
而且,编码设备可以通过将预测候选的数量限制为某一数量来配置用于当前块的cp的运动矢量的预测候选。在cp0的运动矢量v0的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以是由a0和a1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量并且a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用a0和a1作为v0的预测候选。也就是说,编码设备可以包括邻近样本组0中的(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本,并且(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本的可用性可以根据第一预定义优先级顺序被顺序地确定。
[0230]
在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s/2,yp-1)坐标的样本的运动矢量并且b1可以表示(xp+s/2-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用b0和b1作为v1的预测候选。即,编码设备可以包括邻近样本组1中的(xp+s/2,yp-1)坐标的样本和(xp+s/2-1,yp-1)坐标的样本,并且(xp+s/2,yp-1)坐标的样本和(xp+s/2-1,yp-1)坐标的样本的可用性可以根据第二预定义的优先级顺序被顺序地确定。
[0231]
另外,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量并且c1可以表示(xp-1,yp+s-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用c0和c1作为v2的预测候选。也就是说,编码设备可以包括邻近样本组2中的(xp-1,yp+s)坐标的样本和(xp-1,yp+s-1)坐标的样本,并且(xp-1,yp+s/2)坐标的样本和(xp-1,yp+s/2-1)坐标的样本的可用性可以根据第三预定义的优先顺序被顺序地确定。
[0232]
在另一示例中,在当前块是应用分割类型nl
×
2n的pu的情况下,例如,在cp0的运动矢量v0的情况下,编码设备可以使用在邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,编码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本以及(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。
[0233]
而且,在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,编码设备可以基于包括(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本的邻近样本组1推导关于cp1的运动矢量v1。
[0234]
而且,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。也就是说,编码设备可以基于包括(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)样本的邻近样本组2推导关于cp2的运动矢量v2。
[0235]
而且,在当前块的分割id是1的情况下,编码设备还可以包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量v0的情况下,编码设备还可以包括作为预测候选的邻近块(即,邻近样本)的运动信息。详细地,编码设备可以进一步使用邻近样本的两个运动信息中的至少一个作为预测候选,并且这两个运动信息可以分别由a3和a4表示。在包括当前块的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a4可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量a3和a4中的至少一个作为v0的预测候选。也就是说,编码设备可以进一步包括邻近
的样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)坐标的样本中的至少一个。
[0236]
而且,在cp2的运动矢量v2的情况下,编码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地,编码设备可以进一步使用邻近样本的两个运动信息中的至少一个作为预测候选,并且这两个运动信息可以分别由c2和c3表示。在包括当前块的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+h)坐标的样本的运动矢量,并且c3可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量c2和c3中的至少一个作为v2的预测候选。也就是说,编码设备可以进一步包括邻近样本组2中的(xc-1,yc+h)坐标的样本和(xc-1,yc+h-1)坐标的样本中的至少一个。
[0237]
在另一示例中,在当前块是应用分割类型nr
×
2n的pu的情况下,例如,在cp0的运动矢量v0的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,编码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本以及(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。
[0238]
而且,在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,编码设备可以基于包括(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本的邻近样本组1推导关于cp1的运动矢量v1。
[0239]
而且,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。也就是说,编码设备可以基于包括(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)样本的邻近样本组2推导关于cp2的运动矢量v2。
[0240]
而且,在当前块的分割id是1的情况下,编码设备还可以包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量v0的情况下,编码设备还可以包括作为预测候选的邻近块(即,邻近样本)的运动信息。详细地,编码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括当前块的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,a4可
以表示(xc,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量a3、a4和a5中的至少一个作为v0的预测候选。也就是说,编码设备可以进一步包括在相邻的样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)的样本中的至少一个。
[0241]
而且,在cp2的运动矢量v2的情况下,编码设备可以进一步包括作为预测候选的邻近块(即,邻近样本)的运动信息。详细地,编码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由c2、c3和c4表示。在包括当前块的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+h)坐标的样本的运动矢量,c3可以表示(xc,yc+h)坐标的样本的运动矢量,并且c4可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量c2、c3和c4中的至少一个作为v2的预测候选。也就是说,编码设备可以进一步包括在邻近样本组2中的(xc-1,yc+h)坐标的样本、(xc,yc+h)坐标的样本和(xc-1,yc+h-1)坐标的样本中的至少一个。
[0242]
在另一示例,在当前块是应用分割类型2n
×
nu的pu的情况下,例如,在cp0的运动矢量v0的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,编码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本以及(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。
[0243]
而且,在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,编码设备可以基于包括(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)的样本中的至少一个的邻近样本组1推导关于cp1的运动矢量v1。
[0244]
而且,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。即,编码设备可以基于包括(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)的样本中的至少一个的邻近样本组2推导关于cp2的运动矢量v2。
[0245]
而且,在当前块的分割id是1的情况下,编码设备可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的情况下,编码设备还可以包括邻近块(即,邻近样本)的运动信息作为预测候选。详细
地,编码设备可以进一步使用邻近样本的两个运动信息中的至少一个作为预测候选,并且这两个运动信息可以分别由a3和a4表示。在包括当前块的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a4可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量a3和a4中的至少一个作为v0的预测候选。也就是说,编码设备可以进一步包括邻近样本组0中的(xc-1,yc-1)坐标的样本和(xc,yc-1)坐标的样本中的至少一个。
[0246]
而且,在cp1的运动矢量v1的情况下,编码设备还可以包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地,编码设备可以进一步使用邻近样本的两个运动信息中的至少一个作为预测候选,并且这两个运动信息可以分别由b2和b3表示。在包括当前块的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+w,yc-1)坐标的样本的运动矢量,b3可以表示(xc+w-1,yc-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量b2和b3中的至少一个作为v1的预测候选。也就是说,编码设备可以进一步包括邻近样本组1中的(xc+w,yc-1)坐标的样本和(xc+w-1,yc-1)坐标的样本中的至少一个。
[0247]
在另一示例中,在当前块是应用分割类型2n
×
nd的pu的情况下,例如,在cp0的运动矢量v0的情况下,编码设备可以使用在邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,编码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本以及(xp-1,yp)坐标的样本中的至少一个的邻近样本组0的推导关于cp0的运动矢量v0。
[0248]
而且,在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,编码设备可以基于包括(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)的样本中的至少一个的邻近样本组1推导关于cp1的运动矢量v1。
[0249]
而且,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。即,编码设备可以基于包括(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)的样本中的至少一个的邻近样本组2推导关于cp2的运动矢量v2。
[0250]
另外,在当前块的分割id是1的情况下,编码设备还可以包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的
情况下,编码设备还可以包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地,编码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括当前块的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc)坐标的样本的运动矢量,a4可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量a3、a4和a5中的至少一个作为v0的预测候选。也就是说,编码设备可以进一步包括邻近样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)的样本中的至少一个。
[0251]
而且,在cp1的运动矢量v1的情况下,编码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地,编码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由b2、b3和b4表示。在包括当前块的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+w,yc)坐标的样本的运动矢量,b3可以表示(xc+w,yc-1)坐标的样本的运动矢量,并且b4可以表示(xc+w-1,yc-1)坐标的样本的运动矢量。在这种情况下,编码设备可以进一步使用运动矢量b2、b3和b4中的至少一个作为v1的预测候选。也就是说,编码设备可以进一步包括邻近样本组1中的(xc+w,yc)坐标的样本、(xc+w,yc-1)坐标的样本和(xc+w-1,yc-1)坐标的样本中的至少一个。
[0252]
在另一示例中,编码设备可以使用包括在cu中的pu的相同预测候选作为用于cp的运动矢量的预测候选,不管分割id如何。例如,在当前块的cp0的运动矢量v0的情况下,编码设备可以使用邻近块(即,当前cu的邻近块或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在cu的宽度和高度分别是w和h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a0可以表示(xc-1,yc-1)坐标的样本的运动矢量,a1可以表示(xc,yc-1)坐标的样本的运动矢量,并且a2可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。
[0253]
另外,在当前块的cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b0可以表示(xc+w,yc-1)坐标的样本的运动矢量,并且b1可以表示(xc+w-1,yc-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。
[0254]
另外,在当前块的cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以分别由c0和c1表示。在cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,c0可以表示(xc-1,yc+h)坐标的样本的运动矢量并且c1可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。
[0255]
在另一示例中,作为配置应用nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd分割类型的pu的cp的运动矢量的预测候选的方法,预测候选可以被限制为预定数目以便被配置。
[0256]
在另一示例中,在当前块是应用分割类型nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd的pu的情况下,编码设备可以通过将其数目限制为两个来配置每个cp的预测候选。例如,在cp0的运动矢量v0的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由a0和a1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用a0和a1作为v0的预测候选。也就是说,编码设备可以包括邻近样本组0中的(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本,并且(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本的可用性可以根据第一预定义优先级顺序被顺序地确定。
[0257]
另外,在cp1的运动矢量v1的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用b0和b1作为v1的预测候选。也就是说,编码设备可以包括邻近样本组1中的(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本,并且(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本的可用性可以根据第二预定义的优先级顺序被顺序地确定。
[0258]
而且,在cp2的运动矢量v2的情况下,编码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,编码设备可以使用c0和c1作为v2的预测候选。也就是说,编码设备可以包括邻近样本组2中的(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)坐标的样本,并且(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)坐标的样本的可用性可以根据第三预定义的优先顺序被顺序地确定。
[0259]
编码设备基于用于cp的运动矢量推导当前块中的样本单元运动矢量(s1920)。根据仿射运动模型,运动矢量可以根据当前块中的每个样本坐标而不同。如果cp0的运动矢量、cp1的运动矢量和cp2的运动矢量已知,则可以推导根据当前块中的样本位置的运动矢量。也就是说,根据仿射运动模型,可以基于坐标(x,y)与三个控制点之间的距离比使用cp中的运动矢量—cp0的运动矢量(v
x0
,v
y0
)、cp1的运动矢量(v
x1
,v
y1
)以及cp2的运动矢量(v
x2
,v
y2
)来推导样本位置的样本单元运动矢量。在这种情况下,编码设备可以基于上述等式2至5推导当前块中的样本位置的样本单元运动矢量。
[0260]
编码设备基于样本单元运动矢量生成用于当前块的预测样本(s1930)。编码设备可以基于样本单元运动矢量推导参考图片中的参考区域,并且基于参考区域中的重构样本生成当前块的预测样本。如果用于当前块的预测模式不是跳过模式,则编码设备可以基于原始图片的原始样本和预测样本生成残差样本(或残差信号)。
[0261]
编码设备对当前块的预测模式信息进行编码并输出编码信息(s1940)。编码设备可以编码用于当前块的预测模式和推导的运动矢量,并且以比特流的形式输出编码信息。另外,当要解码的先前块的cp具有与当前块的cp相同的位置时,编码设备可以不单独地编
码关于当前块的cp的运动信息。
[0262]
例如,在用于当前块的cp0的运动信息的情况下,在基于仿射运动模型对与当前块的左边界相邻的左邻近块当中的最上面的块进行解码的情况下,相应块的cp1的运动矢量可以被用作当前块的cp0的运动矢量,并且因此,用于cp0的运动信息可以不被单独编译。而且,在基于仿射运动模型解码与当前块的上边界相邻的上不邻近块当中的最左边的块的情况下,相应块的cp2的运动矢量可以被用作cp0的运动矢量,并且因此,用于cp0的运动信息可以不被单独地编译。而且,在基于仿射运动模型对当前块的左上邻近块进行解码的情况下,可以将基于相应块的cp推导的相应块的右下邻近样本的运动矢量用作当前块的cp0的运动矢量,并且因此,用于cp0的运动信息可以不被单独地编译。在这种情况下,可以基于上述等式2至5基于相对应的块的cp推导相应块的右下邻近样本的运动矢量。
[0263]
例如,在当前块的cp1的情况下,在基于仿射运动模型对当前块的右上邻近块进行解码的情况下,相应块的cp2的运动矢量可以被用作当前块的cp1的运动矢量,并且因此,用于cp0的运动信息可以不被单独地编译。另外,在基于仿射运动模型解码与当前块的上边界相邻的上邻近块的最右侧的块的情况下,基于块的cp推导的相应块的右下邻近样本的运动矢量可以被用作当前块的cp1的运动矢量,并且因此用于cp0的运动信息可以不被单独地编译。在这种情况下,可以基于上述等式2至5基于相应块的cp推导相应块的右下邻近样本的运动矢量。
[0264]
例如,在当前块的cp2的情况下,在基于仿射运动模型对当前块的左下邻近块进行解码的情况下,相应块的cp1的运动矢量可以被用作当前块的cp2的运动矢量,并且因此,用于cp0的运动信息可以不被单独地编译。而且,在基于仿射运动模型对与当前块的左边界相邻的左邻近块的最下面的块进行解码的情况下,基于当前块的cp推导的相对应块的右下邻近样本的运动矢量可以被用作当前块的cp2的运动矢量,并且因此,用于cp0的运动信息可以不被单独地编译。
[0265]
比特流可以通过网络或存储介质被发送到解码设备。
[0266]
虽然未示出,但编码设备可以对关于当前块的残差样本的信息进行编码并且输出该信息。有关残差样本的信息可以包括与残差样本有关的变换系数。
[0267]
图20示意性地图示根据本发明的解码设备的视频解码方法。图20中公开的方法可以由图2中公开的解码设备执行。具体地说,例如,图20的步骤s2000至s2030可以由解码设备的预测单元执行。
[0268]
解码设备推导用于当前块的控制点(cp)(s2000)。解码设备可以通过比特流接收关于当前块的帧间预测的信息。在将仿射运动模型应用于当前块的情况下,解码设备可以推导cp以应用仿射运动模型。cp可以是三个cp。例如,在当前块是基于分割类型2n
×
2n从cu分割的pu并且当前块的宽度和高度是s的情况下,解码设备可以基于当前块的左上样本位置的坐标(0,0)推导三个cp,其中cp0是(0,0)坐标的样本,cp1是(s,0)坐标的样本,并且cp2是(0,s)坐标的样本。
[0269]
而且,在当前块是基于分割类型n
×
2n从cu分割的pu并且当前块的宽度和高度分别是s/2和s的情况下,解码设备可以推导基于前块的左上样本位置的坐标(0,0)推导三个cp,其中cp0是(0,0)坐标的样本,cp1是(s/2,0)坐标的样本,并且cp2是(0,s)坐标的样本。
[0270]
另外,在当前块是基于分割类型2n
×
n从cu分割的pu并且当前块的宽度和高度分
别是s和s/2的情况下,解码设备可以基于当前块的左上样本位置的坐标(0,0)推导三个cp,其中cp0是(0,0)坐标的样本,cp1是(s/2,0)坐标的样本,cp2是(0,s/2)的坐标的样本。
[0271]
而且,在当前块是基于分割类型nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd从cu分割的pu并且当前块的宽度和高度分别是w和h的情况下,解码设备可以基于当前块的左上样本位置的坐标(0,0)推导三个cp,其中cp0是(0,0)坐标的样本,cp1是(w,0)坐标的样本,并且cp2是(0,h)坐标的样本。
[0272]
解码设备获得用于cp的运动矢量(s2010)。
[0273]
解码设备可以基于用于当前块的运动矢量和当前块的邻近块的运动矢量推导cp的运动矢量。解码设备可以通过比特流接收cp的运动信息。在解码当前块之前推导用于与当前块的cp的位置相同的cp的运动矢量的情况下,解码设备可以不接收关于当前块的cp的信息。解码设备可以将每个cp的邻近样本配置为邻近样本组,并且基于邻近样本组推导cp的运动矢量。可以基于分割类型、分割id和当前块的形状确定邻近样本组。
[0274]
例如,在当前块是应用分割类型2n
×
2n的pu的情况下,在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻近样本)的多条信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度是s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,解码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本的邻近样本组0推导关于cp0的运动矢量v0。
[0275]
另外,在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度是s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,解码设备可以基于包括(xp+s,yp-1)坐标的样本和(xp+s-1,yp-1)坐标的样本的邻近样本组1推导关于cp1的运动矢量v1。
[0276]
而且,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度是s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+s-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。即,解码设备可以基于包括(xp-1,yp+s)坐标的样本和(xp-1,yp+s-1)坐标的样本中的至少一个的邻近样本组2推导关于cp2的运动矢量v2。
[0277]
在另一示例中,在当前块是应用分割类型2n
×
n的pu的情况下,在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示
(xp-1,yp)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,解码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。坐标。
[0278]
而且,在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s,yp-1)坐标的样本的运动矢量,b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,解码设备可以基于包括(xp+s,yp-1)坐标的样本和(xp+s-1,yp-1)坐标的样本中的至少一个的邻近样本组1推导关于cp1的运动矢量v1。
[0279]
而且,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s/2)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+s/2-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。也就是说,解码设备可以基于包括(xp-1,yp+s/2)坐标的样本和(xp-1,yp+s/2-1)坐标的样本中的至少一个的邻近样本组2推导关于cp2的运动矢量v2。
[0280]
在当前块的分割id是1的情况下,解码设备可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的情况下,解码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地说,解码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括当前块的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc)坐标的样本的运动矢量,a4可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量a3、a4和a5中的至少一个作为v0的预测候选。也就是说,解码设备可以进一步包括邻近样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)的样本中的至少一个。
[0281]
而且,在cp1的运动矢量v1的情况下,解码设备可以进一步包括邻近块(或邻近样本)的运动信息作为预测候选。详细地,解码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由b2、b3和b4表示。在包括当前块的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+s,yc)坐标的样本的运动矢量,b3可以表示(xc+s,yc-1)坐标的样本的运动矢量,并且b4可以表示(xc+s-1,yc-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量b2、b3和b4中的至少一个作为v1的预测候选。也就是说,解码设备可以进一步包括邻近样本组1中的(xc+s,yc)坐标的样本、(xc+s,yc-1)坐标的样本和(xc+s-1,yc-1)坐标的样本中的至少一个。
[0282]
而且,解码设备可以通过将预测候选的数量限制为某一数量来配置用于当前块的cp的运动矢量的预测候选。在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻
近样本)的多条运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以是由a0和a1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量和a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用a0和a1作为v0的预测候选。也就是说,解码设备可以包括邻近样本组0中的(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本,并且(xp-1,yp-1)坐标和(xp,yp-1)坐标的样本的可用性可以根据第一预定义的优先级顺序被顺序地确定。
[0283]
在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s,yp-1)坐标的样本的运动矢量和b1可以表示(xp+s-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用b0和b1作为v1的预测候选。也就是说,解码设备可以包括邻近样本组1中的(xp+s,yp-1)坐标的样本和(xp+s-1,yp-1)坐标的样本,并且(xp+s,yp-1)坐标的样本和(xp+s-1,yp-1)坐标的样本的可用性可以根据第二预定优先级顺序被顺序地确定。
[0284]
在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是s和s/2并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示当前块的运动矢量(xp-1,yp+s/2)坐标的样本的运动矢量并且c1可以表示(xp-1,yp+s/2-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用c0和c1作为v2的预测候选。也就是说,解码设备可以包括邻近样本组2中的(xp-1,yp+s/2)坐标的样本和(xp-1,yp+s/2-1)坐标的样本,并且(xp-1,yp+s/2)坐标的样本和(xp-1,yp+s/2-1)坐标的样本的可用性可以根据第三预定义的优先级顺序被顺序地确定。
[0285]
在另一示例中,在当前块是应用分割类型n
×
2n的pu的情况下,在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,解码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本以及(xp-1,yp)坐标的样本的邻近样本组0推导关于cp0的运动矢量v0。
[0286]
而且,在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s/2,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+s/2-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。另外,在当前块的分割id是0的情况下,解码设备可以进一步包括(xp+s/2+1,yp-1)坐标的样本的运动矢量b2和(xp+s/2+2,yp-1)坐标的样本的运动矢量b3作为
v1的预测候选。即,解码设备可以基于包括(xp+s/2,yp-1)坐标的样本和(xp+s/2-1,yp-1)坐标的样本的邻近样本组1推导关于cp1的运动矢量v1。
[0287]
另外,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量并且c1可以表示(xp-1,yp+s-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。也就是说,解码设备可以基于包括(xp-1,yp+s)坐标和(xp-1,yp+s-1)坐标的样本的邻近样本组2推导关于cp2的运动矢量v2。
[0288]
在当前块的分割id是1的情况下,解码设备还可以包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量v0的情况下,解码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地说,解码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括当前块的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,a4可以表示(xc,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量a3、a4和a5中的至少一个作为v0的预测候选。也就是说,解码设备可以进一步包括邻近样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)坐标的样本中的至少一个。
[0289]
而且,在cp2的运动矢量v2的情况下,解码设备可以进一步包括邻近块(或邻近样本)的运动信息作为预测候选。详细地,解码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由c2、c3和c4表示。在包括当前块的cu的宽度和高度是s并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+s)坐标的样本的运动矢量,c3可以表示(xc,yc+s)坐标的样本的运动矢量,并且c4可以表示(xc-1,yc+s-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量c2、c3和c4中的至少一个作为v2的预测候选。也就是说,解码设备可以进一步包括在邻近样本组2中的(xc-1,yc+s)坐标的样本、(xc,yc+s)坐标的样本和(xc-1,yc+s-1)坐标的样本中的至少一个。
[0290]
而且,解码设备可以通过将预测候选的数量限制为某一数量来配置用于当前块的cp的运动矢量的预测候选。在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以是由a0和a1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量并且a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用a0和a1作为v0的预测候选。也就是说,解码设备可以包括邻近样本组0中的(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本,并且(xp-1,yp-1)坐标和(xp,yp-1)坐标的样本的可用性可以根据第一预定义的优先级顺序被顺序地确定。
[0291]
在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前
块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+s/2,yp-1)坐标的样本的运动矢量并且b1可以表示(xp+s/2-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用b0和b1作为v1的预测候选。也就是说,解码设备可以包括邻近样本组1中的(xp+s/2,yp-1)坐标的样本和(xp+s/2-1,yp-1)坐标的样本,并且(xp+s/2,yp-1)坐标的样本和(xp+s/2-1,yp-1)坐标的样本的可用性可以根据第二预定义的优先级顺序被顺序地确定。
[0292]
另外,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是s/2和s并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+s)坐标的样本的运动矢量并且c1可以表示(xp-1,yp+s-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用c0和c1作为v2的预测候选。也就是说,解码设备可以包括邻近样本组2中的(xp-1,yp+s)坐标的样本和(xp-1,yp+s-1)坐标的样本,并且(xp-1,yp+s)坐标的样本和(xp-1,yp+s-1)坐标的样本的可用性可以根据第三预定义的优先顺序被顺序地确定。
[0293]
在另一示例中,在当前块是应用分割类型nl
×
2n的pu的情况下,例如,在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,解码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。
[0294]
另外,在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。即,解码设备可以基于包括(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本的邻近样本组1推导关于cp1的运动矢量v1。
[0295]
另外,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。即,解码设备可以基于包括(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)的样本的邻近样本组2推导关于cp2的运动矢量v2。
[0296]
而且,在当前块的分割id是1的情况下,解码设备可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量
v0的情况下,解码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。具体地,解码设备可以进一步使用邻近样本的两个运动信息中的至少一个作为预测候选,并且这两个运动信息可以分别由a3和a4表示。在包括当前块的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a4可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量a3和a4中的至少一个作为v0的预测候选。也就是说,解码设备可以进一步包括邻近样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)坐标的样本中的至少一个。
[0297]
而且,在cp2的运动矢量v2的情况下,解码设备还可以包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地说,解码设备可以进一步使用邻近样本的两条运动信息中的至少一条作为预测候选,并且这两条运动信息可以分别由c2和c3表示。在包括当前块的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+h)坐标的样本的运动矢量,并且c3可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量c2和c3中的至少一个作为v2的预测候选。也就是说,解码设备可以进一步包括邻近样本组2中的(xc-1,yc+h)坐标的样本和(xc-1,yc+h-1)坐标的样本中的至少一个。
[0298]
在另一示例中,在当前块是应用分割类型nr
×
2n的pu的情况下,例如,在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,解码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。
[0299]
而且,在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。即,解码设备可以基于包括(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本的邻近样本组1推导关于cp1的运动矢量v1。
[0300]
另外,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。即,解码设备可以基于包括(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)的样本的邻近样本组2推导关于cp2的运动矢量v2。
[0301]
另外,在当前块的分割id是1的情况下,解码设备还可以包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp2的运动矢量v2的预测候选。例如,在cp0的运动矢量v0的情况下,解码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地说,解码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括当前块的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,a4可以表示(xc,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量a3、a4和a5中的至少一个作为v0的预测候选。也就是说,解码设备可以进一步包括邻近样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)的样本中的至少一个。
[0302]
而且,在cp2的运动矢量v2的情况下,解码设备还可以包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地,解码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由c2、c3和c4表示。在包括当前块的cu的宽度和高度是h并且cu的左上样本位置的坐标是(xc,yc)的情况下,c2可以表示(xc-1,yc+h)坐标的样本的运动矢量,c3可以表示(xc,yc+h)坐标的样本的运动矢量,并且c4可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量c2、c3和c4中的至少一个作为v2的预测候选。也就是说,解码设备可以进一步包括邻近样本组2中的(xc-1,yc+h)坐标的样本、(xc,yc+h)坐标的样本以及(xc-1,yc+h-1)坐标的样本中的至少一个。
[0303]
在另一示例中,在当前块是应用分割类型2n
×
nu的pu的情况下,例如,在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,解码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。
[0304]
而且,在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,解码设备可以基于包括(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本中的至少一个的邻近样本组1推导关于cp1的运动矢量v1。
[0305]
另外,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样
本的运动矢量。在这种情况下,解码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。也就是说,解码设备可以基于包括(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)坐标的样本中的至少一个的邻近样本组2推导关于cp2的运动矢量v2。
[0306]
而且,在当前块的分割id是1的情况下,解码设备可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的情况下,解码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。具体地,解码设备可以进一步使用邻近样本的两个运动信息中的至少一个作为预测候选,并且这两个运动信息可以分别由a3和a4表示。在包括当前块的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a4可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量a3和a4中的至少一个作为v0的预测候选。也就是说,解码设备可以进一步包括邻近样本组0中的(xc-1,yc-1)坐标的样本和(xc,yc-1)坐标的样本中的至少一个。
[0307]
而且,在cp1的运动矢量v1的情况下,解码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地说,解码设备可以进一步使用邻近样本的两个运动信息中的至少一个作为预测候选,并且这两个运动信息可以分别由b2和b3表示。在包括当前块的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+w,yc-1)坐标的样本的运动矢量,并且b3可以表示(xc+w-1,yc-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量b2和b3中的至少一个作为v1的预测候选。也就是说,解码设备可以进一步包括邻近样本组1中的(xc+w,yc-1)坐标的样本和(xc+w-1,yc-1)坐标的样本中的至少一个。
[0308]
在另一示例中,在当前块是应用分割类型2n
×
nd的pu的情况下,例如,在cp0的运动矢量v0的情况下,解码设备可以使用在邻近块(或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,a1可以表示(xp,yp-1)坐标的样本的运动矢量,并且a2可以表示(xp-1,yp)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。也就是说,解码设备可以基于包括(xp-1,yp-1)坐标的样本、(xp,yp-1)坐标的样本和(xp-1,yp)坐标的样本中的至少一个的邻近样本组0推导关于cp0的运动矢量v0。
[0309]
另外,在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,并且b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。也就是说,解码设备可以基于包括(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)的样本中的至少一个的邻近样本组1推导关于cp1的运动矢量v1。
[0310]
另外,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,
c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。也就是说,解码设备可以基于包括(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)坐标的样本中的至少一个的邻近样本组2推导关于cp2的运动矢量v2。
[0311]
另外,在当前块的分割id是1的情况下,解码设备可以进一步包括当前cu的邻近块的样本作为用于cp0的运动矢量v0和cp1的运动矢量v1的预测候选。例如,在cp0的运动矢量v0的情况下,解码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地说,解码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由a3、a4和a5表示。在包括当前块的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,a3可以表示(xc-1,yc)坐标的样本的运动矢量,a4可以表示(xc-1,yc-1)坐标的样本的运动矢量,并且a5可以表示(xc,yc-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量a3、a4和a5中的至少一个作为v0的预测候选。也就是说,解码设备可以进一步包括在邻近样本组0中的(xc-1,yc-1)坐标的样本、(xc-1,yc)坐标的样本和(xc,yc-1)坐标的样本中的至少一个。
[0312]
而且,在cp1的运动矢量v1的情况下,解码设备可以进一步包括邻近块(即,邻近样本)的运动信息作为预测候选。详细地,解码设备可以进一步使用邻近样本的三条运动信息中的至少一条作为预测候选,并且三条运动信息可以分别由b2、b3和b4表示。在包括当前块的cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b2可以表示(xc+w,yc)坐标的样本的运动矢量,b3可以表示(xc+w,yc-1)坐标的样本的运动矢量,并且b4可以表示(xc+w-1,yc-1)坐标的样本的运动矢量。在这种情况下,解码设备可以进一步使用运动矢量b2、b3和b4中的至少一个作为v1的预测候选。也就是说,解码设备可以进一步包括邻近样本组1中的(xc+w,yc)坐标的样本、(xc+w,yc-1)坐标的样本和(xc+w-1,yc-1)坐标的样本中的至少一个。
[0313]
在另一个示例中,解码设备可以使用包括在cu中的pu的相同预测候选作为用于cp的运动矢量的预测候选,不管分割id如何。例如,在当前块的cp0的运动矢量v0的情况下,解码设备可以使用邻近块(即,当前cu的邻近块或邻近样本)的多条运动信息当中的三条运动信息作为预测候选,并且三条运动信息可以分别由a0、a1和a2表示。在cu的宽度和高度分别是w和h并且cu的左上样本位置的坐标是(xc,yc)的情况下,a0可以表示(xc-1,yc-1)的样本的运动矢量,a1可以表示(xc,yc-1)坐标的样本的运动矢量,并且a2可以表示(xc-1,yc)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量a0、a1和a2中的至少一个作为v0的预测候选。
[0314]
此外,在当前块的cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,b0可以表示(xc+w,yc-1)坐标的样本的运动矢量,并且b1可以表示(xc+w-1,yc-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量b0和b1中的至少一个作为v1的预测候选。
[0315]
另外,在当前块的cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的运动信息当中的两条运动信息作为预测候选,并且这两条运动信息可以分别由c0
和c1表示。在cu的宽度和高度是w并且cu的左上样本位置的坐标是(xc,yc)的情况下,c0可以表示(xc-1,yc+h)坐标的样本的运动矢量并且c1可以表示(xc-1,yc+h-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用运动矢量c0和c1中的至少一个作为v2的预测候选。
[0316]
在另一示例中,作为配置用于应用nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd分割类型的pu的cp的运动矢量的预测候选的方法,预测候选可以被限制为预定数量以便被配置。
[0317]
在另一个示例中,在当前块是应用分割类型nl
×
2n、nr
×
2n、2n
×
nu或者2n
×
nd的pu的情况下,解码设备可以通过将其数目限制为两个来配置每个cp的预测候选。例如,在cp0的运动矢量v0的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由a0和a1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,a0可以表示(xp-1,yp-1)坐标的样本的运动矢量,并且a1可以表示(xp,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用a0和a1作为v0的预测候选。也就是说,解码设备可以包括邻近样本组0中的(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本,并且(xp-1,yp-1)坐标的样本和(xp,yp-1)坐标的样本的可用性可以根据第一预定义的优先级顺序被顺序地确定。
[0318]
另外,在cp1的运动矢量v1的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由b0和b1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,b0可以表示(xp+w,yp-1)坐标的样本的运动矢量,b1可以表示(xp+w-1,yp-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用b0和b1作为v1的预测候选。也就是说,解码设备可以包括邻近样本组1中的(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本,并且(xp+w,yp-1)坐标的样本和(xp+w-1,yp-1)坐标的样本的可用性可以根据第二预定义的优先级顺序被顺序地确定。
[0319]
而且,在cp2的运动矢量v2的情况下,解码设备可以使用邻近块(或邻近样本)的多条运动信息当中的两条运动信息作为预测候选,并且两条运动信息可以由c0和c1表示。在当前块的宽度和高度分别是w和h并且当前块的左上样本位置的坐标是(xp,yp)的情况下,c0可以表示(xp-1,yp+h)坐标的样本的运动矢量,并且c1可以表示(xp-1,yp+h-1)坐标的样本的运动矢量。在这种情况下,解码设备可以使用c0和c1作为v2的预测候选。也就是说,解码设备可以包括邻近样本组2中的(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)坐标的样本,并且(xp-1,yp+h)坐标的样本和(xp-1,yp+h-1)坐标的样本的可用性可以根据第三预定义的优先顺序被顺序地确定。
[0320]
另外,解码设备可以在不接收额外的运动信息的情况下基于先前解码过程中推导的运动矢量来推导当前pu的cp的运动矢量。
[0321]
例如,在cp0的情况下,在基于仿射运动模型对与当前块的左边界相邻的左邻近块当中的最上面的块进行解码的情况下,可以基于相应块的cp1的运动矢量推导当前块的cp0的运动矢量。而且,在基于仿射运动模型对与当前块的上边界相邻的上部邻近块当中的最左边的块进行解码的情况下,可以基于相应块的cp2的运动矢量推导当前块的cp0的运动矢量。而且,在基于仿射运动模型对当前块的左上邻近块进行解码的情况下,可以基于基于相应块的cp推导的相应块的右下邻近样本的运动矢量推导当前块的cp0的运动矢量。在这种
情况下,可以基于上述等式2至5基于相应块的cp推导相应块的右下邻近样本的运动矢量。
[0322]
例如,在cp1的情况下,在基于仿射运动模型对当前块的右上邻近块进行解码的情况下,可以基于相应块的cp2的运动矢量推导当前块的cp1的运动矢量。在基于仿射运动模型对与当前块的上边界相邻的上部邻近块的最右边的块进行解码的情况下,可以基于基于块的cp推导的相应块的右下邻近样本的运动矢量来推导当前块的cp1的运动矢量。在这种情况下,可以基于上述等式2至5基于相应块的cp推导相应块的右下邻近样本的运动矢量。
[0323]
例如,在cp2的情况下,在基于仿射运动模型对当前块的左下邻近块进行解码的情况下,可以基于相应块的cp1的运动矢量推导当前块的cp2的运动矢量。而且,在基于仿射运动模型对与当前块的左边界相邻的左邻近块的最下面的块进行解码的情况下,可以基于基于当前块的cp推导的相应块的右下邻近样本的运动矢量推导当前块的cp2的运动矢量。在这种情况下,可以基于上述等式2至5基于相应块的cp推导相应块的右下邻近样本的运动矢量。
[0324]
解码设备基于获得的运动矢量推导当前块中的样本单元运动矢量(s2020)。基于cp0的运动矢量、cp1的运动矢量和cp2的运动矢量,解码设备可以根据当前块中的样本位置推导样本单元运动矢量。在这种情况下,解码设备可以基于等式2至5推导当前块中的样本位置处的样本单元运动矢量。
[0325]
解码设备基于样本单元运动矢量推导用于当前块的预测样本(s2030)。解码设备可以基于样本单元运动矢量推导参考图片中的参考区域,并基于参考区域中的重建样本生成当前块的预测样本。
[0326]
解码设备可以基于预测样本生成重建样本。如果用于当前块的预测模式不是跳过模式,则解码设备可以从从编码设备接收的比特流中获取残差信号并且为当前块生成残差样本。在这种情况下,解码设备可以基于预测样本和残余样本生成重建的样本。解码设备可以基于重建的样本生成重建的图片。
[0327]
根据上面描述的本发明,可以推导用于当前块的更准确的样本单元运动矢量,并且可以显著地增加帧间预测效率。
[0328]
而且,根据本发明,可以基于用于当前块的控制点的运动矢量有效地推导用于当前块的样本的运动矢量。
[0329]
而且,根据本发明,在不另外发送关于用于当前块的控制点的运动矢量的信息的情况下,可以基于先前解码的邻近块的控制点的运动矢量推导用于当前块的控制点的运动矢量。因此,可以消除或减少用于控制点的运动矢量的数据量,并且可以提高整体编译效率。
[0330]
另外,根据本发明,即使在当前块的图像被旋转、放大、缩小或以平行四边形变形的情况以及在当前块的图像被平面移位的情况下,可以通过样本单元运动矢量来有效地执行帧间预测。因此,用于当前块的残差信号的数据量可以被消除或减少,并且可以提高整体编译效率。
[0331]
在上述的实施例中,基于使用一系列步骤或块的流程图对方法进行描述,但是本发明不限于步骤的顺序。某些步骤可以同时发生或者按照与上述的步骤不同的顺序发生。另外,本领域的技术人员应理解的是,顺序图中所示出的步骤不是排他性的,可以包括其他步骤,或者可以删除流程图中的一个或多个步骤,而不影响本发明的范围。
[0332]
上述的根据本发明的方法可以用软件实现。根据本发明的编码设备和/或解码设备可以被包括在执行图像处理的设备中,例如,用于tv、计算机、智能电话、机顶盒或显示设备。
[0333]
当本发明的实施例用软件实现时,可以通过执行上述的功能的模块(过程、函数等)来实现上述的方法。此类模块可以被存储在存储器中并由处理器执行。存储器可以在处理器内部或外部,并且存储器可以使用各种公知的手段耦合到处理器。处理器可以包括专用集成电路(asic)、其他芯片组、逻辑电路和/或数据处理设备。存储器可以包括rom(只读存储器)、ram(随机存取存储器)、闪速存储器、存储卡、存储介质和/或其他存储设备。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1