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

文档序号:14213575阅读:208来源:国知局
视频编译系统中的帧间预测方法和设备与流程

本发明涉及一种视频编译技术,并且更加具体地,涉及一种在视频编译系统中的帧间预测方法和设备。



背景技术:

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

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



技术实现要素:

技术目的

本发明提供用于增强图像编译效率的方法和设备。

本发明的另一技术目的是为了提供一种基于仿射运动模型的帧间预测方法和设备。

本发明的另一技术目的是为了提供一种用于执行基于采样单元运动矢量的帧间预测的方法和设备。

本发明的另一技术目的是为了提供一种基于当前块的控制点的运动矢量来推导采样单元运动矢量的方法和设备。

本发明的另一技术目的是为了提供一种基于邻近块推导当前块的控制点的运动矢量的方法和设备。

本发明的另一技术目的是为了提供一种基于邻近块的采样来推导控制点的运动矢量的方法和设备。

技术方案

依照本发明的一个实施例,提供了一种由解码设备执行的视频解码方法。所述方法包括:推导当前块的控制点(cp);获得所述cp的运动矢量;基于所获得的运动矢量在所述当前块中在采样基础上推导运动矢量;基于所述基于采样的运动矢量推导所述当前块的预测采样;以及基于所述预测采样生成重建采样,其中,所述当前块中的右下采样的坐标是(0,0),其中,所述cp当中的cp0的坐标是(0,0)。

依照本发明的另一实施例,提供了一种用于执行视频解码的解码设备。所述设备包括:解码模块,所述解码模块被配置用于从比特流获得当前块的预测模式信息;预测模块,所述预测模块被配置用于:推导所述当前块的控制点(cp),获得所述cp的运动矢量,基于所获得的运动矢量在所述当前块中在采样基础上推导运动矢量,并且基于所述基于采样的运动矢量推导所述当前块的预测采样,其中,所述当前块中的右下采样的坐标是(0,0),其中,所述cp当中的cp0的坐标是(0,0);以及加法器,所述加法器被配置用于基于所述预测采样生成重建采样。

依照本发明的再一个实施例,提供了一种由编码设备执行的视频编码方法。所述方法包括:推导当前块的控制点(cp);获得所述cp的运动矢量;基于所获得的运动矢量在所述当前块中在采样基础上推导运动矢量;基于所述基于采样的运动矢量生成所述当前块的预测采样;以及对所述当前块的预测模式信息进行编码和输出,其中,所述当前块中的右下采样的坐标是(0,0),其中,所述cp当中的cp0的坐标是(0,0)。

依照本发明的再一个实施例,提供了一种用于执行视频编码的编码设备。所述设备包括:预测模块,所述预测模块被配置用于:推导当前块的控制点(cp),获得所述cp的运动矢量,基于所获得的运动矢量在所述当前块中在采样基础上推导运动矢量,并且基于所述基于采样的运动矢量生成所述当前块的预测采样,其中,所述当前块中的右下采样的坐标是(0,0),其中,所述cp当中的cp0的坐标是(0,0);以及编码模块,所述编码模块被配置用于对所述当前块的预测模式信息进行编码和输出。

有益效果

根据本发明,可以推导当前块的更准确的基于采样的运动矢量,并且因此帧间预测效率可以被显著地提高。

根据本发明,可以基于当前块的控制点的运动矢量高效地推导当前块中的采样的运动矢量。

根据本发明,在没有关于当前块的控制点的运动矢量的附加信息的情况下,可以基于可用邻近块的运动矢量来推导当前块中的采样的运动矢量。这能够消除或减少控制点的运动矢量的数据量并且因此提升整体编译效率。

根据本发明,不仅当当前块中的图像被平移时,而且当图像被旋转、放大、缩小或平行四边形变形时,可以使用基于采样的矢量有效地执行帧间预测。以这种方式,能够消除或减少当前块的残差信号的数据量,并且从而可以提升整体编译效率。

根据本发明,可以基于已经解码的邻近块推导控制点的运动矢量。这能够显著地减少关于控制点的运动矢量的信息量,并且从而提升整体编译效率。

附图说明

图1是示意性图示根据本发明的实施例的视频编码设备的框图。

图2是示意性图示根据本发明的实施例的视频解码设备的框图。

图3示出根据本发明的仿射运动模型的示例。

图4图示根据仿射运动模型的预测方向和参考区域。

图5图示性地示出块的cp的位置。

图6示出基于块中的右下采样的cp的位置和用于推导运动矢量和每个cp的运动矢量的候选块。

图7图示基于v1和v2的邻近候选块的可用性的确定过程。

图8示意性地示出根据本发明的编码设备的视频编码方法。

图9示出根据本发明的解码设备的视频解码方法。

具体实施方式

本发明能够以各种形式修改,并且在附图中将会描述和示出具体实施例。但是,实施例不意欲限制本发明。在以下的描述中使用的术语仅用于描述特定的实施例,但是,不意欲限制本发明。单数的表示包括复数的表示,只要其被清楚不同地理解。诸如“包括”和“具有”的术语意欲指示存在在以下的描述中使用的特征、数目、步骤、操作、元件、组件或者其组合,并且因此,应该理解,不排除存在或者增加一个或多个不同的特征、数目、步骤、操作、元件、组件或者其组合的可能性。

另一方面,为了便于解释图像编码/解码设备中的不同的特定功能,在本发明中描述的附图中的元件被独立地绘制,但这并不意味着元件由单独的硬件或者单独的软件来实现。例如,元件中的两个或更多个元件可以合并以形成单个元件,或者一个元件可以被划分成多个元件。不脱离本发明的概念,元件被合并和/或划分的实施例属于本发明的范围。

在下文中,将参考附图详细描述本发明的示例性实施例。

图1是图示根据本发明的实施例的视频编码设备的框图。

参考图1,视频编码设备100包括图片分割模块105、预测模块110、变换模块120、量化模块125、重排模块130、熵编码模块135、去量化模块140、逆变换模块145、滤波模块155和存储器160。

图片分割模块105可以被配置成将输入图片分割成至少一个处理单元块。就此而言,作为处理单元的块可以是预测单元pu、变换单元tu或编译单元cu。图片可以由多个编译树单元ctu组成。每个ctu可以被分割成cu作为四叉树结构。cu可以被分割为具有更深深度的cu作为四叉树结构。pu和tu可以从cu中获得。例如,可以从cu中将pu分割成对称或不对称的正方形结构。此外,可以从cu中将tu分割成四叉树结构。ctu可以对应于编译树块ctb,cu可以对应于编译块cb,pu可以对应于预测块pb并且tu可以对应于变换块tb。

预测模块110包括稍后将会描述的执行帧间预测过程的帧间预测单元和执行帧内预测过程的帧内预测单元。预测模块110对由图片分割模块105划分的图片的处理单元执行预测过程以创建包括预测采样或者预测采样阵列的预测块。在预测模块110中,图片的处理单元可以是cu、tu或者pu。预测模块110可以确定对相应的处理单元执行的预测是帧间预测还是帧内预测,并且可以确定特定的详情,例如,预测方法的预测模式。经历预测过程的处理单元可以不同于确定预测方法和特定详情的处理单元。例如,预测方法和预测模式可以以pu为单位来确定,并且预测过程可以以tu被单位来执行。

在帧间预测中,基于与当前图片的先前图片和/或后续图片中的至少一个有关的信息来执行预测过程以创建预测块。在帧内预测中,可以基于当前图片的像素信息执行预测过程以创建预测块。

作为帧间预测方法,可以使用跳过模式、合并模式以及高级运动矢量预测(amvp)。在帧间预测中,可以为pu选择参考图片,并且可以选择与pu相对应的参考块。可以基于整数像素(或采样)或者分数像素(或采样)选择参考块。然后,生成预测块,其中,与pu有关的残差信号被最小化并且运动矢量幅度也被最小化。像素(pixels)、像素(pels)和采样(samples)可以在此被互换地使用。

预测块可以被生成为整数像素单元,或者为诸如1/2像素单元或者1/4像素单元的分数像素单元。就此而言,运动矢量也可以被表达为分数像素单元。

诸如经由帧间预测选择的参考图片的索引、运动矢量差mdv、运动矢量预测子mvp,残差信号等的信息可以被熵编码,并且然后被发送到解码设备。当应用跳过模式时,预测块可以被用作重建块,使得可以不生成、变换、量化或发送残差。

当执行帧内预测时,可以以pu为单位确定预测模式并且可以以pu为单位执行预测过程。可替选地,预测模式可以以pu为单位来确定并且可以以tu为单位执行帧间预测。

作为示例,帧内预测中的预测模式可以包括33个定向预测模式和至少两个非定向模式。非定向模式可以包括dc预测模式和平面模式。

在帧内预测中,可以在对参考采样应用滤波器之后构建预测块。此时,根据帧内预测模式和/或当前块的大小,可以确定滤波器是否应被应用于参考采样。

所构建的预测块和原始块之间的残留值(残差块或者残差信号)被输入给变换模块120。被用于预测的预测模式信息、运动矢量信息等等通过熵编码模块135与残留值一起被编码,并且被发送给解码设备。

变换模块120以tu为单位对残留块执行变换过程,并且生成变换系数。

变换块是采样的矩形块,并且是应用相同变换的块。变换块可以是tu并且可以具有四叉树结构。

变换模块120可以根据应用于残差块的预测模式和块的大小来执行变换过程。

例如,当帧内预测应用于残余块并且残差块具有4×4阵列时,使用离散正弦变换dst来变换残差块。否则,可以使用离散余弦变换dct来变换残差块。

变换模块120可以通过变换来构建变换系数的变换块。

量化模块125可以量化由变换模块120变换的残差值,即,变换系数,并且可以创建量化系数。由量化模块125计算的值可以被供应给去量化模块140和重排模块130。

重排模块130可以重新排列从量化模块125供应的变换系数。通过重新排列量化系数,能够增强熵编码模块135中的编码效率。

重排模块130可以通过使用系数扫描方法将二维块形式的量化变换系数重新排列为一维矢量的形式。

熵编码模块135可以被配置成根据基于由重排模块130重排的量化变换值或编码过程期间计算的编码参数值等的概率分布来对符号进行熵编码,并且然后输出比特流。熵编码方法是接收具有各种值的符号并且将该符号表达为能够被解码的二进制串同时去除其统计冗余的方法。

就此而言,符号意指将被编码/解码的语法元素、编译参数、残差信号值等。编译参数是编码和解码所必需的。编码参数可以包含能够在编码或解码期间被推断的信息,以及像语法元素一样在编码设备中编码并且被传递到解码设备的信息。编码参数是编码或解码图像所需的信息。编码参数可以包括统计数据或值,诸如帧内/帧间预测模式、移动/运动矢量、参考图片索引、编译块图案、残差信号存在或不存在、变换系数、量化变换系数、量化参数、块大小、块分割信息等。此外,残差信号可以意指原始信号和预测信号之间的差异。此外,原始信号与预测信号之间的差异可以被变换以定义残差信号,或者原始信号与预测信号之间的差异可以被变换和量化以定义残差信号。残差信号能够被称为块单元中的残差块,并且能够被称为采样单元中的残差采样。

当应用熵编码时,可以表达符号使得将少量的比特分配给具有高出现概率的符号,并且将大量的比特分配给具有低出现概率的符号。这可以减小待编码的符号的比特串的大小。因此,图像编码的压缩性能可以经由熵编码来增加。

诸如指数哥伦布码、上下文自适应可变长度编译(cavlc)和上下文自适应二进制算术编码(cabac)的编码方案可以被用于熵编码。例如,熵编码模块135可以在其中存储用于执行熵编码的表格,诸如可变长度编译/码(vlc)表格。熵编码模块135可以使用所存储的vlc表来执行熵编码。此外,熵编码模块135导出相应符号的二值化方法和相应符号/bin的概率模型,并且然后使用导出的二值化方法或概率模型来执行熵编码。

如有必要,熵编码模块135可以对要发送的参数集或语法给予预定的变化。

去量化模块140对量化模块125量化的值变换系数进行去量化。逆变换模块145逆变换由去量化模块140去量化的值。

由去量化模块140和逆变换模块145生成的残差值或残差采样或残差采样阵列以及由预测模块110预测的预测块可以被组合以形成包括重建的采样或一个重建的采样阵列的重建块。

在图1中,通过加法器添加残差块和预测块以创建重建块。此时,加法器可以被认为是生成重建块的特定单元重建块创建单元。

滤波模块155将去块滤波器、alf自适应环路滤波器、sao采样自适应偏移应用于重建的图片。

去块滤波器去除在重建的图片中的块之间的边界处产生的块失真。alf基于原始图像与块被去块滤波器滤波的重建图像的比较结果值来执行滤波过程。只有在需要高效率的情况下才可以使用alf。sao重建具有应用与其的去块滤波器的残差块与原始图片之间的偏移差,并且以带偏移、边缘偏移等的形式来应用sao。

存储器160可以存储由滤波模块155计算的重建的块或图片。存储在存储器160中的重建的块或图片可以被供应给执行帧间预测的预测模块110。

图2是示意性地图示根据本发明的实施例的视频解码设备的框图。参考图2,视频解码设备200可以包括熵解码模块210、重排模块215、去量化模块220、逆变换模块225、预测模块230、滤波模块235和存储器240。

当从视频编码设备输入视频比特流时,可以基于视频编码设备处理视频信息的顺序来对输入比特流进行解码。

熵解码模块210可以根据概率分布对输入比特流进行熵解码以生成量化系数形式的符号。熵解码方法是接收一系列二进制数并使用该序列生成每个符号的方法。熵解码方法类似于上述的熵编码方法。

例如,当诸如cavlc的可变长度编译vlc(在下文中称为“vlc”)被用于在视频编码设备中执行熵编码时,熵解码模块210可以使用与编码设备中使用的vlc表相同的vlc表来执行解码。此外,当cabac被用于在视频编码设备中执行熵编码时,熵解码模块210可以使用cabac来执行熵解码。

更具体地说,cabac熵解码方法可以包括:接收对应于比特流中的每个语法元素的bin(二建制),使用待解码语法元素信息确定上下文模型,解码邻近块和待解码块的信息、或者在前一步骤中解码的符号/bin的信息,以及根据确定的上下文模型来预测bin出现的概率并且从而执行bin的算术解码以生成与每个语法元素的值相对应的符号。就此而言,在确定上下文模型之后,cabac熵解码方法还可以包括使用解码的符号/bin的信息来更新上下文模型以确定下一个符号/bin的上下文模型的步骤。

可以将用于从由熵解码模块210解码的信息构造预测块的信息供应给预测模块230,并且由熵解码模块210熵解码的残差值,即,量化的变换系数可以被输入到重排模块215。

重排模块215可以基于视频编码设备中的重排方法重新排列由熵解码模块210熵解码的比特流信息,即,量化的变换系数。

重排模块215可以将以一维矢量的形式表达的系数重建并且重新排列为二维块形式的系数。重排模块215可以基于应用于当前块变换块的预测模式和变换块的大小来扫描系数,并且可以以二维块的形式创建系数量化变换系数的阵列。

去量化模块220可以基于从视频编码设备供应的量化参数和重新排列的块的系数值来执行去量化。

逆变换模块225可以对来自视频编码设备的量化结果执行已经由视频编码设备的变换模块执行的dct和/或dst的逆dct和/或逆dst。

可以基于由视频编码设备确定的图片的传送单元或分割单元来执行逆变换。视频编码设备的变换模块可以根据诸如预测方法、当前块的大小和预测方向的多个信息片段来选择性地执行dct和/或dst,并且视频解码设备的逆变换模块225可以基于关于由视频编码设备的变换模块执行的变换的变换信息来执行逆变换。

预测模块230基于由熵解码模块210提供的预测块生成相关信息和先前解码的块和/或从存储器提供的图片信息生成包括预测采样或预测采样阵列的预测块240。

如果用于当前pu的预测模式是帧内预测模式,则预测模块230可以执行帧内预测以基于当前图片中的像素信息来生成预测块。

如果用于当前pu的预测模式是帧间预测模式,则预测模块230可以被配置成基于包括在先前图片或者后续图片到当前图片的至少一个图片中的信息来对当前pu执行帧间预测。就此而言,可以经由检查从编码设备接收的跳过标志和合并标志来推断关于在视频编码设备中提供的当前pu的帧间预测所必需的运动信息的信息,诸如运动矢量和参考图片索引。

当对当前图片执行帧间预测时,预测模块230可以生成预测块使得相对于当前块的残差信号被最小化并且运动矢量的大小被最小化。

另一方面,可以根据当前块的预测模式来改变运动信息导出方法。应用于帧间预测的预测模式可以包括高级运动矢量预测(amvp)模式、合并模式等。

例如,当应用合并模式时,编码设备和解码设备可以使用重建的空间邻近块的运动矢量和/或与作为时间邻近块的col块对应的运动矢量来生成合并候选列表。在合并模式中,在合并候选列表中选择的候选块的运动矢量被用作当前块的运动矢量。编码设备可以向解码设备发送指示具有从包括在合并候选列表中的候选块当中选择的最优运动矢量的候选块的合并索引。在这样的情况下,解码设备可以使用合并索引来导出当前块的运动矢量。

在另一示例中,当应用amvp(高级运动矢量预测)模式时,编码设备和解码设备使用重建的空间邻近块的运动矢量和/或对应于作为时间邻近块的col块的运动矢量来生成运动矢量预测子候选列表。也就是说,重建的空间邻近块的运动矢量和/或与作为时间邻近块的col块相对应的运动矢量可以被用作运动矢量候选。编码设备可以向解码设备发送指示从包括在运动矢量预测子候选列表中的运动矢量候选中选择的最优运动矢量的预测运动矢量索引。就此而言,解码设备可以使用运动矢量索引从包括在运动矢量候选列表中的运动矢量候选中选择用于当前块的预测运动矢量。

编码设备可以获得用于当前块的运动矢量与运动矢量预测因子(mvp)之间的运动矢量差mvd,对mvd进行编码,并且将编码的mvd发送到解码设备。也就是说,mvd可以是通过从当前块的运动矢量(mv)中减去运动矢量预测子(mvp)而获得的值。就此而言,解码设备可以解码接收到的运动矢量差,并且经由经解码的运动矢量差与运动矢量预测子之间的相加来导出当前块的运动矢量。

此外,编码设备可以将指示参考图片的参考图片索引发送到解码设备。

解码设备的预测模块230可以使用邻近块的运动信息来预测当前块的运动矢量,并且使用从编码设备接收到的残差来导出当前块的运动矢量。解码设备可以基于从编码设备接收的导出的运动矢量和参考图片索引信息来生成当前块的预测采样(或者预测的采样阵列)。

解码设备可以通过将如从编码设备发送的变换系数获得的预测采样(或预测采样阵列)和残差采样相加来生成重建采样(或重建采样阵列)。基于这些重建的采样,可以生成重建的块和重建的图片。

在上述amvp和合并模式中,可以使用重建的邻近块的运动信息和/或col块的运动信息来导出当前块的运动信息。

在作为用于图片间预测的其他模式之一的跳过模式中,邻近块信息可以照原样被用于当前块。因此,在跳过模式的情况下,除了指示哪个块的运动信息用作当前块的运动信息的信息之外,编码设备不向解码设备发送诸如残差的语法信息。

可以使用由预测模块230生成的预测块和由逆变换模块225提供的残差块来生成重建的块。图2图示使用加法器,预测块和残差块被组合以生成重建的块。就此而言,加法器可被视为被配置成生成重建块的单独模块(重建块生成模块)。就此而言,重建块包括如上所述的重建采样或重建采样阵列;预测块包括预测采样或预测采样阵列;残差块可以包括残差采样或残差采样阵列。因此,能够认为通过将相应的预测采样或预测采样阵列与相应的残差采样或残差采样阵列进行组合来生成重建采样或重建采样阵列。

当跳过模式被用于块时,可以不发送残差信号,并且可以将预测块用作重建块。

可以将重建的块和/或图片供应给滤波模块235。滤波模块235可以对重建的块和/或图片执行去块滤波操作、sao操作和/或alf操作。

存储器240可以存储重建的图片或块以用作参考图片或参考块,并且可以将重建的图片供应给输出单元。

被包括在解码设备200中的熵解码模块210、重排模块215、去量化模块220、逆变换模块225、预测模块230、滤波模块235和存储器240当中的与解码图像直接有关的元件,例如,熵解码模块210、重排模块215、去量化模块220、逆变换模块225、预测模块230、滤波模块235等可以被表达为解码器或与其他元件区分的解码模块。

另外,解码设备200还可以包括在附图中未示出的解析模块,该解析模块解析与包括在比特流中的编码图像有关的信息。解析模块可以包括熵解码模块210,并且可以被包括在熵解码模块210中。这样的解析模块也可以被实现为解码模块的元件。

可以考虑图片之间的目标对象或图像的运动来执行针对当前块的帧间预测。然而,常规的帧间预测方法基于补偿平移运动的方法(平移运动模型)。平移运动模型基于单个运动矢量推导与当前块匹配的参考块以执行帧间预测。因此,平移运动模型可以被称作块匹配方法。根据平移运动模型,在预测块(pb)基础上使用作为单个运动矢量的运动参数的在x轴方向上的运动矢量vx和在y轴方向上的运动矢量vy来指定形状和大小与存在于参考图片中的预测块类似的区域作为预测参考块。然后,将参考块中的采样用作预测块的预测采样。例如,可以基于以下等式推导根据平移运动模型的帧间预测:

【等式1】

就此而言,x和y分别指代当前块中的每个采样的x坐标和y坐标,并且a和b表示用于补偿当前块的运动的参数。x'和y'分别表示与x和y相对应的参考图片中的相应采样的x坐标和y坐标。在这种情况下,可以通过表达式vx=-a、vy=-b来表示vx和vy。

另一方面,实际屏幕中的对象不限于平面运动(即,平移运动)。对象可以经受绕特定轴的旋转、对象形状的变形、由于相机变焦而导致的大小变化等。因此,一直在使用上述的平移运动模型方法来表达图像的以上变形或运动方面存在限制。在下文中,图像的变形可以包括图像的旋转变形、其形状变形以及其经由变焦的大小变形。

本发明提供考虑图像的此类变形的帧间预测方法。根据本发明,可以有效地推导用于当前块中的采样的运动矢量,并且不管包括绕特定轴的旋转、对象形状的变形、由于相机放大或缩小而导致的大小变化等的图像变形如何都可以提高帧间预测的准确性。根据本发明,预测模型可以被称作二维仿射变换方法或仿射运动模型。在根据本发明的运动预测方法中,可以基于当前块的控制点(cp)的运动矢量来预测图像的变形类型。通过提高帧间预测的准确性,可提升图像的压缩性能。另外,根据本发明,可以使用邻近块的运动矢量来推导当前块的至少一个cp的运动矢量。这减少要添加的边信息的数据量并且因此显著地提升帧间预测效率。

在根据本发明的预测方法的一个示例中,需要三个cp处即三个参考点处的运动信息。

图3示出根据本发明的仿射运动模型的示例。参考图3,假定当前块300的高度和宽度等于s,但这仅仅是示例。可以不同地设定高度和宽度。就此而言,当前块300可以包括预测块。预测块可以是经由分割过程从编译块推导的块。可以确定特定帧间预测模式,包括是否在预测块基础上应用仿射运动模型。例如,在编译块基础上确定是应用帧间预测还是帧内预测。在对包括预测块的编译块应用帧间预测的情况下,可以确定是否对预测块应用特定帧间预测模式。

参考图3,x和y分别表示当前块300中的每个采样的x坐标和y坐标。x'和y'分别表示与x和y相对应的参考图片中的相应采样的x坐标和y坐标。在这种情况下,包含由(x',y')指向的采样位置的采样的区域可以被称为参考块350或参考区域350。在这种情况下,参考块350可以对应于包括经由旋转变形、形状变形以及经由当前块300中的图像的放大或缩小的大小变形而变形的图像的区域。因此,参考块350的大小和形状可以不同于当前块300的大小和形状。

当当前块300中的左上采样位置是(0,0)时,可以基于左上采样位置(0,0)确定x和y。另外,可以基于与参考图片内的当前块300的左上采样位置相同的位置或与参考图片内的当前块300的左上采样位置相对应的位置的坐标来确定x'和y'。

如图3中所示,可以基于以下等式推导x'和y':

【等式2】

就此而言,a、b、c、d、e和f表示用于补偿当前块的运动的参数。在这种情况下,可以将vx和vy表达为vx=x-x'、vy=y-y'。可以将以上等式概括如下。也就是说,可以基于以下等式推导仿射运动模型的运动矢量:

【等式3】

就此而言,vx表示当前块300中的(x,y)坐标采样的运动矢量的x分量。vy表示当前块300中的(x,y)坐标采样的运动矢量的y分量。也就是说,(vx,vy)变成(x,y)坐标采样的运动矢量。因此,根据当前块中的采样坐标,仿射运动模型可以具有不同或唯一的运动矢量。

图4图示根据仿射运动模型的预测方向和参考区域。

参考图4,当根据仿射运动模型对于当前图片中的当前块400执行预测时,可以像图4中所示出的那样定位参考区域450或460。

可以使用一个或两个参考图片列表来预测当前块。也就是说,可以将参考图片列表0或参考图片列表1用于预测当前块。可替选地,可以使用参考图片列表0和参考图片列表1两者。例如,如果包含当前块的条带的条带类型是b(b条带),则可以使用两个参考图片列表中的至少一个。如果包含当前块的条带的条带类型是p(p条带),则可以仅使用参考图片列表0。参考图片列表0可以被称作l0,而参考图片列表1可以被称作l1。在对于当前块执行预测时,当基于l0执行帧间预测时,这种预测可以被称为l0预测。在基于l1执行帧间预测的情况下,此预测可以被称作l1预测。如果基于l0和l1两者执行帧间预测,则此预测可被称为bi预测(即,组合l0预测和l1预测)。在这种情况下,可以将单独的运动矢量用于l0预测和l1预测中的每一个。换句话说,根据仿射运动模型,当推导基于采样的运动矢量时,可以根据是否应用了l0预测和/或l1预测在采样基础上推导单独的运动矢量。例如,可以单独地推导针对当前块中的第一采样的用于l0预测的运动矢量mvl0和用于l1预测的运动矢量mvl1。

例如,当在图4中,第一参考图片是包括在l0中的解码图片,包含当前块400的条带的条带类型是p或b,并且使用l0时,根据本发明可以使用第一参考图片来预测当前块400。在这种情况下,可以基于根据上述的仿射运动模型推导的当前块400的运动矢量来推导第一参考图片中的参考区域450。另外,可以基于参考区域450中的重建采样推导当前块400的预测采样。

另一方面,当在图4中,第一参考图片是包括在l0中的解码图片,并且第二参考图片是包含在l1中的解码图片,并且包含当前块400的条带的条带类型是b,以及使用l0和l1(即,bi)两者时,根据本发明第一参考图片和第二参考图片可以被用于当前块400的预测。在这种情况下,可以基于根据上述的仿射运动模型推导的用于当前块400的l0预测的运动矢量来推导第一参考图片中的参考区域450。另外,此方法可以基于用于l1预测的运动矢量来推导第二参考图片中的参考区域460。在这种情况下,可以基于参考区域450中的重建采样和参考区域460中的重建采样来推导当前块400的预测采样。在这种情况下,可以例如经由参考区域450中的重建采样与参考区域460中的重建采样之间的加权和来推导当前块400的预测采样。就此而言,加权和可以基于当前图片与第一参考图片之间的第一时间间隔以及当前图片与第二参考图片之间的第二时间间隔。就此而言,时间间隔指代poc(图片顺序计数)差。也就是说,当前图片的poc值与第一参考图片的poc值之间的差可以是第一时间间隔。当前图片的poc值与第二参考图片的poc值之间的差可以是第二时间间隔。

在下文中,为了避免描述的重复,将在下面描述应用l0预测和l1预测中的一种的情况。已经在上面描述了可以基于下面的描述单独地推导用于l0预测的运动矢量和用于l1预测的运动矢量。另外,已经在上面描述了可以基于下面的描述执行bi预测。

根据仿射运动模型,可以推导基于采样的(即,基于像素的)运动矢量,并且可显著地提高帧间预测的准确性。然而,根据仿射运动模型,运动补偿过程中的复杂度可能增加。例如,可以将用于平移运动模型的运动矢量表达式表达为vx=-a、vy=-b。因此,为了使用平移运动模型,有必要接收关于两个参数a和b的信息以补偿当前块的运动,然而,为了使用仿射运动模型,有必要接收和/或推导关于等式3中出现的六个参数a、b、c、d、e和f的信息。

一般地,与每预测块具有单个运动信息块的现有平移运动模型(或块匹配方法)相比,使用仿射运动模型的方法可能增加要编码的数据。也就是说,因为要发送到解码器的边信息的数据量可能增加,所以有必要减少边信息的数据量以便提高编译效率。因此,根据本发明,可以通过经由以下方法减少边信息的数据量来提高编译效率。

图5图示性地示出块的cp的位置。

为了应用仿射运动模型,必须定义控制点。可以基于在控制点处的运动矢量来推导当前块中的采样的运动矢量。

参考图5的(a),存在具有高度s和宽度s的块x。在这种情况下,例如,可以将定位在块x的左上部处的拐角坐标表达为(0,0),可以将右上拐角坐标表达为(s,0)。可以将左下拐角坐标表达为(0,s)。最后,可以将右下拐角坐标表达为(s,s)。如图5的(b)或(c)中所示,当基于采样位置表示坐标时,可以将块x中的左上采样的坐标表达为(0,0),可以将从左上采样向右移动宽度s的采样的坐标表达(s,0),可以将从左上采样向下移动高度s的采样的坐标表达为(0,s)。可以将从左上采样分别向右和向下移动宽度s和高度s的采样的坐标表达为(s,s)。参考图5的(b),存在以其中带十字形的圆标记的(0,0)、(s,0)、(0,s)和(s,s)的采样。(s,0)、(0,s)和(s,s)坐标的采样被认为被包括在当前块x的邻近块中。

为了应用仿射运动模型,可以将(0,0)、(s,0)、(0,s)坐标的采样定义为控制点。就此而言,此方法分别将(0,0)、(s,0)和(0,s)坐标的采样定义为控制点(xi,yi),i=0、1、2。可以将在每个控制点处的运动矢量表达为(vi)=(vxi,vyi),i=0、1、2。在下文中,(0,0)坐标的控制点可以被称为cp0,(s,0)坐标的控制点可以被称为cp1,(0,s)坐标的控制点可以被称为cp2。可以将cp0的运动矢量表达为v0,可以将cp1的运动矢量表达为v1,并且可以将cp2的运动矢量表达为v2。在此示例中,假定了块x的高度和宽度中的每一个均等于s。本发明不限于此。当块x的高度是h并且其宽度是w时,控制点可以具有(0,0)、(w,0)、(0,h)的坐标。w或h而不是s可以被插入到以下等式中或基于这些等式。

可以使用每个控制点和相应控制点的每个运动矢量来求解仿射运动模型的等式。就此而言,可以基于以下等式推导仿射运动模型的等式的参数a、b、c、d、e和f:

【等式4】

就此而言,vx0和vy0分别表示cp0的运动矢量的x分量和y分量,vx1和vy1分别表示cp1的运动矢量的x分量和y分量,并且vx2和vy2分别表示cp2的运动矢量的x分量和y分量。当w和h中的每一个等于s时,可以基于以下等式推导参数a、b、c、d、e和f:

【等式5】

就此而言,vx0和vy0分别表示cp0的运动矢量的x分量和y分量,vx1和vy1分别表示cp1的运动矢量的x分量和y分量,并且vx2和vy2分别表示cp2的运动矢量的x分量和y分量。

基于等式1的参数,可以基于以下等式推导块x中的(x,y)坐标采样的运动矢量:

【等式6】

当w和h中的每一个均等于s时,那么可以基于以下等式推导块x中的(x,y)坐标采样的运动矢量:

【等式7】

就此而言,当知道cp0的运动矢量、cp1的运动矢量和cp2的运动矢量时,可以根据以上等式推导根据当前块中的采样位置的运动矢量。也就是说,根据仿射运动模型,可以基于目标采样的坐标(x,y)与三个控制点之间的距离的比率使用控制点处的运动矢量v0(vx0,vy0)、v1(vx1,vy1)、v2(vx2,vy2)来推导采样位置的运动矢量。在这种情况下,如可以在图5的(b)中看到的,除左上采样之外的(s,0)、(0,s)和(s,s)坐标的采样可以被包括在与块x相邻的邻近块中。邻近块的网状网格彼此重叠,使得可以直观地执行使用仿射运动模型的预测。

图5(c)示出cp和用于推导cp的运动矢量的邻近采样。其中不具有十字形状的圆a、b、c、d、e和f表示邻近采样。邻近采样a、b和c的运动矢量可以用于推导矢量v0。邻近采样d和e的运动矢量可以用于推导矢量v1。邻近采样f、g的运动矢量可以用于推导矢量v2。换句话说,可以将邻近采样a、b和c的运动矢量用作矢量v0的预测候选组。可以将邻近采样d、e的运动矢量用作矢量v1的预测候选组。可以将邻近采样f、g的运动矢量用作矢量v2的预测候选组。可以将所有邻近采样的运动矢量用作预测候选组。如果不存在重叠运动矢量,则可以使用包含总共12个预测候选的一组候选组来推导每个cp的运动矢量。

另一方面,如在上述的实施例中所描述的,当推导每个cp的运动矢量时,计算运动信息的复杂度可能增加。编码设备可以计算多达12个预测候选的速率-失真(rd)成本并且将它们相互比较。该设备可以执行迭代操作以确定每个cp的mvd值。为了对所接收到的mv(预测)索引的一元码进行解码,解码设备可以获得每个mv(预测)候选的变形测量值并且可以基于每个mv(预测)候选的变形测量值按升序存储mv(预测)候选。可以基于以下等式获得变形测量值:

【等式8】

就此而言,d(v)表示变形测量值。v0表示cp0的mv(预测)候选,v1表示cp1的mv(预测)候选,并且v2表示cp2的mv(预测)候选。

解码设备接收索引信息以推导用于cp的最佳mv(预测)候选。如果用于当前块的帧间预测模式不是合并模式或跳过模式,则解码设备可以针对每个cp接收更多的mvd。

当如上所述将cp0定义为当前块中的左上采样并且将cp1和cp2用作右上和左下邻近块中的采样来应用仿射运动模型时,存在不管图像的变形变化如何都可以更准确地执行预测的优点。然而,要发送的边信息的数据量可能增加。此方法在块基础上定义三个cp。将发送每个cp的运动矢量信息。因此,与用于在块基础上推导运动矢量的常规方法相比,可能需要多达10个比特或更多比特的附加比特。

因此,为了减少边信息并且为了应用更高效的仿射运动模型,可以通过改变当前块的cp的位置来基于已经解码的邻近块推导cp的运动矢量。

图6示出基于块中的右下采样的cp的位置、每个cp的运动矢量以及用于推导运动矢量的候选块。块x可以对应于当前块。例如,块x可以是预测块(pb)。

参考图6的(a),存在具有高度s和宽度s的块x。在这种情况下,例如,可以将定位在块x的右下部处的拐角坐标表达为(0,0)。如图6的(a)中所示,当基于采样位置表达坐标时,可以将块x中的右下采样的坐标表达为(0,0),可以将从右下采样向上移动高度s的采样的坐标表达为(0,-s),可以将从右下采样向左移动宽度s的采样的坐标表达为(-s,0)。可以将从右下采样分别向左和向上移动宽度s和高度s的采样的坐标表达为(-s,-s)。

图6(c)示出块x的cp和每个cp的运动矢量。为了应用仿射运动模型,该方法可以将(0,0)、(0,-s)、(-s,0)坐标采样定义为cp。在下文中,可以将(0,0)坐标cp表达为cp0,可以将(0,-s)坐标cp表达为cp1,可以将(-s,0)坐标cp表达为cp2。可以将cp0的运动矢量定义为v0,将cp1的运动矢量定义为v1,并且将cp2的运动矢量定义为v2。在此示例中,假定块x具有与s相同的高度和宽度。本发明不限于此。如果块x的高度是h并且其宽度是w,则cp可以具有诸如(0,0)、(-w,0)、(0,-h)的坐标。另外,w或h而不是s可以被插入到在下面所描述的等式中或者基于这些等式。在这种情况下,因为已经重建了cp1和cp2所属的邻近块,所以可以采用经重建的邻近块的解码信息来推导v1和v2,而不需要单独的预测过程。

另一方面,可以使用块匹配方法来推导矢量v0作为具有最低拉格朗日成本的运动矢量。可以通过对块x应用反映邻近块的运动信息的仿射运动模型来推导矢量v0作为具有最低rd成本的运动矢量。编码设备可以以在amvp或合并模式下发送的方式发送矢量v0的运动信息。

可以通过使用每个控制点和相应控制点的运动矢量来求解仿射运动模型的等式。就此而言,可以基于以下等式推导仿射运动模型的等式的参数a、b、c、d、e和f:

【等式9】

就此而言,vx0和vy0分别表示cp0的运动矢量的x分量和y分量。vx1和vy1分别表示cp1的运动矢量的x分量和y分量。vx2和vy2分别表示cp2的运动矢量的x分量和y分量。如果w和h中的每一个等于s,则可以基于以下等式推导参数a、b、c、d、e和f:

【等式10】

就此而言,vx0和vy0分别表示cp0的运动矢量的x分量和y分量。vx1和vy1分别表示cp1的运动矢量的x分量和y分量。vx2和vy2分别表示cp2的运动矢量的x分量和y分量。

基于等式9的参数,可以基于以下等式推导作为块x中的采样的一组运动矢量的运动场。换句话说,可以基于以下等式推导块x中的(x,y)坐标采样的运动矢量:

【等式11】

如果w和h中的每一个等于s,则可以基于以下等式推导块x中的(x,y)坐标采样的运动矢量:

【等式12】

就此而言,当知道cp0的运动矢量、cp1的运动矢量和cp2的运动矢量时,可以根据以上等式推导根据当前块中的采样位置的运动矢量。也就是说,根据仿射运动模型,可以基于目标采样的坐标(x,y)与三个控制点之间的距离的比率使用控制点处的运动矢量v0(vx0,vy0)、v1(vx1,vy1)、v2(vx2,vy2)来推导采样位置的运动矢量。在这种情况下,可以基于运动矢量推导采样位置的运动矢量。

另一方面,编码设备可以在预测单元基础上将仿射运动标志发送到解码设备。编码设备可以根据rd成本计算结果来确定标志的值。例如,如果所接收到的仿射运动标志的值是1,则解码设备可以应用仿射运动模型。例如,如果仿射运动标志的值是0,则解码设备可以应用现有的平移运动模型。与使用平移运动模型的帧间预测方法相比,本方法可以仅使用1比特信令开销来更精确地补偿由于图像旋转和缩放而导致的变形。另外,可以使用已经导出的邻近块的运动矢量。因此,没有必要计算cp的运动信息或者像上面参考图5的方法所公开的那样附加地构建mv(预测)候选组,使得可以降低实现复杂度。另一方面,例如,可以使用如下表1和表2中所示出的语法来发送仿射运动标志。如表1中一样的语法(例如,cu语法)可以在跳过标志之后包括仿射运动标志。例如,语法可以是如表2中所示出的pu语法,其中该语法可以被包括在比特流中并在比特流中发送。

【表1】

[表2]

参考上面的表1和表2,affine_motion_flag语法元素对应于仿射运动标志。

再次参考图6,图6(b)示出当应用amvp模式时使用的空间候选列表。可以基于空间候选(邻近候选块)的可用性推导应用块x的仿射运动模型所需的矢量v1和矢量v2。在这种情况下,可以基于邻近候选块的可用性来确定基于采样的或基于块的运动矢量被用作矢量v1和矢量v2的邻近候选块。

图7示出根据矢量v1和矢量v2的邻近候选块的可用性的确定过程。另一方面,可以基于以下条件确定邻近候选块的可用性。

如果存在邻近候选块,则可以如下确定邻近候选块的可用性。例如,邻近候选块的位置应该存在于图片和/或条带中,并且相应的邻近候选块应该是就编译序列而言可参考的块。例如,邻近候选块不可用的情况可以包括相应邻近块的位置被定位在当前图片的外边缘处(例如,如果当前块被定位为与当前图片的左边界相邻,则当前块的左上邻近块或左下邻近块可以被确定为不可用)的情况,或相应邻近块被定位在除当前块中的条带或拼贴以外的条带或拼贴上的情况。就此而言,条带可以是整数ctu的序列。条带中的ctu可以被包括在独立条带片段和顺序相关条带片段中。拼贴是包含ctu(ctb)的矩形区域。可以基于图片中的特定拼贴行和特定拼贴列来识别该矩形区域。

图7(a)示出用于确定邻近候选块的可用性以确定矢量v1和v2以及邻近候选块的示例性流程图。

例如,如果邻近候选块b1可用,则可以将矢量v1推导为邻近候选块b1的右下采样的运动矢量。如果邻近候选块b1不可用,则可以确定邻近候选块b0的可用性。例如,如果邻近候选块b1不可用并且邻近候选块b0可用,则可以将矢量v1推导为邻近候选块b0的左下采样的运动矢量。例如,如果邻近候选块b0和邻近候选块b1都不可用,则可以将矢量v1推导为与矢量v0相同的运动矢量。如果仿射运动模型未被应用于邻近候选块b1,则可以将邻近候选块b1的基于块的运动矢量推导为右下采样的运动矢量。类似地,如果仿射运动模型未被应用于邻近候选块b0,则可以将邻近候选块b0的基于块的运动矢量推导为左下采样的运动矢量。

例如,如果邻近候选块a1可用,则可以将矢量v2推导为邻近候选块a1的右下采样的运动矢量。如果邻近候选块a1不可用,则可以确定邻近候选块a0的可用性。例如,如果邻近候选块a1不可用并且邻近候选块a0可用,则可以将矢量v2推导为邻近候选块a0的右上采样的运动矢量。例如,如果邻近候选块a0和邻近候选块a1都不可用,则可以将矢量v2推导为与矢量v0相同的运动矢量。如果仿射运动模型未被应用于邻近候选块a1,则可以将邻近候选块a1的基于块的运动矢量推导为右下采样的运动矢量。类似地,如果仿射运动模型未被应用于邻近候选块a0,则可以将邻近候选块a0的基于块的运动矢量推导为右上采样的运动矢量。

另一方面,以与上述的基于可用性确定来确定矢量v1和矢量v2的方法相同的方式,可以基于关于是否将帧间模式应用于邻近候选块的确定结果来确定矢量v1和矢量v2。这是因为当对邻近候选块应用帧内预测模式应时难以确定当前块的图像的运动趋势。

例如,如果帧间模式被应用于邻近候选块b1,则可以将矢量v1推导为邻近候选块b1的右下采样的运动矢量。如果帧间模式未被应用于邻近候选块b1,则可以确定帧间模式是否被应用于邻近候选块b0。例如,如果帧间模式未被应用于邻近候选块b1并且帧间模式被应用于邻近候选块b0,则可以将矢量v1推导为邻近候选块b0的左下采样的运动矢量。例如,如果帧间模式未被应用于邻近候选块b0和邻近候选块b1两者,则可以将矢量v1推导为与矢量v0相同的运动矢量。如果仿射运动模型未被应用于邻近候选块b1,则可以将邻近候选块b1的块单元的运动矢量推导为右下采样的运动矢量。类似地,如果仿射运动模型未被应用于邻近候选块b0,则可以将邻近候选块b0的块单元的运动矢量推导为左下采样的运动矢量。

例如,如果帧间模式被应用于邻近候选块a1,则可以将矢量v2推导为邻近候选块a1的右下采样的运动矢量。如果帧间模式未被应用于邻近候选块a1,则本方法可以确定是否将帧间模式应用于邻近候选块a0。例如,如果帧间模式未被应用于邻近候选块a1并且帧间模式被应用于邻近候选块a0,则可以将矢量v2推导为邻近候选块a0的右上采样的运动矢量。例如,如果帧间模式既未被应用于邻近候选块a0也未被应用于邻近候选块a1,则可以将矢量v2推导为与矢量v0相同的运动矢量。如果仿射运动模型未被应用于邻近候选块a1,则可以将邻近候选块a1的块单元的运动矢量推导为右下采样的运动矢量。类似地,如果仿射运动模型未被应用于邻近候选块a0,则可以将邻近候选块a0的块单位的运动矢量推导为右上采样的运动矢量。

如图6的(a)中所表达的,假定块x中的右下采样位置是坐标(0,0),可以基于上述的等式11推导除了块x的右下采样之外的采样的运动矢量。具有坐标(0,0)的右下采样的运动矢量被表示为v0。可以使用与推导块x的块单元的运动矢量相同的方法来推导矢量v0。

图8示意性地示出根据本发明的编码设备的视频编码方法。图8中所公开的方法可以由图1中的编码设备来执行。具体地,例如,在图8中,s800至s830可以由编码设备的预测模块来执行。s840可以由编码设备的熵编码模块来执行。

编码设备推导当前块的控制点(cp)(s800)。编码设备可以基于rd成本确定是否将仿射运动模型应用于当前块。如果仿射运动模型被应用于当前块,则编码设备可以推导cp以应用仿射运动模型。cp可以是三个。

例如,当当前块的高度和宽度分别是h和w并且当前块的右下采样位置的坐标被设定为(0,0)时,编码设备可以推导三个cp:cp0的坐标是(0,0),cp1的坐标是(0,-h),并且cp2的坐标是(-w,0)。也就是说,编码设备可以推导作为具有采样位置(0,0)的采样的cp0、作为具有采样位置(0,-h)的采样的cp1以及作为具有采样位置(-w,0)的采样的cp2。可替选地,当当前块的高度和宽度中的每一个均是s并且当前块的右下采样位置的坐标被设定为(0,0)时,编码设备可以推导三个cp:cp0的坐标是(0,0),cp1的坐标是(0,-s),cp2的坐标是(-s,0)。也就是说,编码设备可以推导作为具有采样位置(0,0)的采样的cp0、作为具有采样位置(0,-h)的采样的cp1、作为具有采样位置(-w,0)的采样的cp2。

编码设备获取cp的运动矢量(s810)。

如果当前块的右下采样位置的坐标是(0,0),则编码设备可以基于当前块的运动矢量和当前块的邻近块来推导cp的运动矢量。

例如,可以仅使用块匹配算法来将cp0的运动矢量推导为具有最低拉格朗日成本的运动矢量。例如,可以通过应用反映邻近块的运动信息的仿射运动模型来将cp0的运动矢量推导为具有最低rd成本的运动矢量。例如,编码设备可以基于rd成本推导当前块的运动矢量。编码设备可以将当前块的运动矢量推导为cp0的运动矢量。

可以基于邻近块推导cp1的运动矢量和cp2的运动矢量。编码设备可以将当前块的右上邻近块以及与当前块的顶部边界邻近的顶部邻近块当中的顶部和最右部邻近块推导为邻近块组1。编码设备可以将当前块的左下邻近块以及与当前块的左边界相邻的左部邻近块当中的底部和左部邻近块推导为邻近块组2。可以基于邻近块组1推导cp1的运动矢量,同时可以基于邻近块组2推导cp2的运动矢量。

至于cp1的运动矢量和cp2的运动矢量,可以基于邻近块组的可用性和/或是否对其应用帧间预测模式来确定基于采样的或基于块的运动矢量将被用作cp1的运动矢量和cp2的运动矢量的邻近块。在下文中,块不可用的情况可以包括相应块在帧间预测模式下未被编码或者帧间模式未被应用于其的情况。具体地,如果邻近块组1的顶部邻近块可用,则编码设备可以基于顶部邻近块推导cp1的运动矢量。如果顶部邻近块不可用并且右上邻近块可用,则编码设备可以基于右上邻近块推导cp1的运动矢量。例如,如果邻近块组1的所有块都不可用,则编码设备可以基于cp0的运动矢量推导cp1的运动矢量。可替选地,如果邻近块组2的左部邻近块可用,则编码设备可以基于左部邻近块推导cp2的运动矢量。如果左部邻近块不可用并且左下邻近块可用,则编码设备可以基于左下邻近块推导cp2的运动矢量。例如,如果邻近块组2的所有块都不可用,则编码设备可以基于cp0的运动矢量推导cp2的运动矢量。

可替选地,如果邻近块组1的顶部邻近块可用并且仿射运动模型被应用于顶部邻近块,则编码设备可以基于顶部邻近块的右下采样的运动矢量推导cp1的运动矢量。如果邻近块组的顶部邻近块可用并且仿射运动模型未被应用于顶部邻近块,则编码设备可以基于顶部邻近块的运动矢量推导cp1的运动矢量。如果邻近块组1的顶部邻近块不可用并且邻近块组1的右上邻近块可用并且仿射运动模型被应用于右上邻近块,则编码设备可以基于右上邻近块的左下采样的运动矢量推导cp1的运动矢量。如果邻近块组1的顶部邻近块不可用并且邻近块组1的右上邻近块可用并且仿射运动模型未被应用于右上邻近块,则编码设备可以基于右上邻近块的运动矢量推导cp1的运动矢量。

例如,如果邻近块组2的左部邻近块可用并且仿射运动模型被应用于左部邻近块,则编码设备可以基于左部邻近块的右下采样的运动矢量推导cp2的运动矢量。如果邻近块组2的左部邻近块可用并且仿射运动模型未被应用于左部邻近块,则编码设备可以基于左部邻近块的运动矢量推导cp2的运动矢量。如果邻近块组2的左部邻近块不可用并且邻近块组2的左下邻近块可用并且仿射运动模型被应用于左下邻近块,则编码设备可以基于左下邻近块的右上采样的运动矢量推导cp2的运动矢量。如果邻近块组2的左部邻近块不可用并且邻近块组2的左下邻近块可用并且仿射运动模型未被应用于左下邻近块,则编码设备可以基于左下邻近块的运动矢量推导cp2的运动矢量。

编码设备基于cp的运动矢量在当前块中在采样基础上推导运动矢量(s820)。就此而言,(vx,vy)表示当前块中的(x,y)坐标采样的基于采样的运动矢量。根据仿射运动模型,对于当前块中的不同的采样坐标可以存在不同的运动矢量。当知道cp0的运动矢量、cp1的运动矢量和cp2的运动矢量时,可以推导根据当前块中的采样位置的运动矢量。也就是说,根据仿射运动模型,可以基于目标采样的坐标(x,y)与三个控制点cp0、cp1和cp2之间的距离的比率使用在这些cp处的运动矢量(即,在cp0处的运动矢量v0(vx0,vy0)、在cp1处的运动矢量v1(vx1,vy1)和在控制点cp2处的v2(vx2,vy2))来推导采样位置的基于采样的运动矢量。在这种情况下,编码设备可以基于上述的等式11和12推导当前块中的采样位置的基于采样的运动矢量。

编码设备基于基于采样的运动矢量生成当前块的预测采样(s830)。编码设备可以基于基于采样的运动矢量推导参考图片中的参考区域。编码设备可以基于参考区域中的重建采样生成当前块的预测采样。如果用于当前块的预测模式不是跳过模式,则编码设备可以基于原始图片的原始采样和预测采样生成残差采样(或残差信号)。可替选地,如果仿射运动模型被应用于当前块,则编码设备可以将仿射运动标志的值设定为1。

编码设备对用于当前块的预测模式信息进行编码并输出经编码的信息(s840)。编码设备可以对关于用于当前块的预测模式的信息和所推导的运动矢量进行编码并以比特流格式输出经编码的信息。编码设备可以生成仿射运动标志并且以比特流格式对仿射运动标志进行编码和输出。可以通过网络或使用存储介质将比特流发送到解码设备。

尽管未示出,然而编码设备可以对关于用于当前块的残差采样的信息进行编码和输出。关于残差采样的信息可以包括与残差采样相关联的变换系数。

图9示出根据本发明的解码设备的视频解码方法。图9中所公开的解码设备可以由图2中的解码设备来执行。具体地,例如,在图9中,s900至s930可以由解码设备的预测模块来执行。s940可以由解码设备的加法器来执行。

解码设备推导当前块的控制点(cp)(s900)。解码设备可以从比特流接收仿射运动标志。如果仿射运动标志的值是1,则当前块可以经受仿射运动模型。如果仿射运动模型被应用于当前块,则解码设备可以推导cp以应用仿射运动模型。cp可以是三个。

例如,当当前块的高度和宽度分别是h和w并且当前块的右下采样位置的坐标被设定为(0,0)时,解码设备可以推导三个cp:cp0的坐标是(0,0),cp1的坐标是(0,-h),cp2的坐标是(-w,0)。也就是说,解码设备可以推导作为具有采样位置(0,0)的采样的cp0、作为具有采样位置(0,-h)的采样的cp1以及作为具有采样位置(-w,0)的采样的cp2。可替选地,当当前块的高度和宽度中的每一个均是s并且当前块的右下采样位置的坐标被设定为(0,0)时,解码设备可以推导三个cp:cp0的坐标是(0,0),cp1的坐标是(0,-s),cp2的坐标是(-s,0)。也就是说,解码设备可以推导作为具有采样位置(0,0)的采样的cp0、作为具有采样位置(0,-h)的采样的cp1和作为具有采样位置(-w,0)的采样的cp2。

解码设备推导cp的运动矢量(s910)。

解码设备可以基于当前块的运动矢量以及当前块的邻近块的运动矢量推导cp的运动矢量。

例如,至于cp0的运动矢量,解码设备可以基于当前块的空间和时间邻近块来生成合并候选列表或运动矢量预测子候选列表。解码设备可以基于合并候选列表或运动矢量预测子候选列表推导cp0运动矢量。

具体地,解码设备可以(在跳过模式或合并模式的情况下)基于从比特流获得的合并索引将来自合并候选列表的单个运动矢量推导为cp0的运动矢量。可替选地,解码设备基于从比特流获得的mvp标志将来自运动矢量预测子候选列表的单个运动矢量推导为用于cp0的运动矢量预测子。解码设备可以(在amvp模式的情况下)通过将从比特流获得的mvd添加到运动矢量预测子来推导cp0的运动矢量。可以从比特流获得关于帧间预测模式的信息。

可以基于邻近块推导cp1的运动矢量和cp2的运动矢量。编码设备可以将当前块的右上邻近块以及与当前块的顶部边界邻近的顶部邻近块当中的顶部和最右部邻近块推导为邻近块组1。编码设备可以将当前块的左下邻近块以及与当前块的左边界相邻的左部邻近块当中的底部和左部邻近块推导为邻近块组2。可以基于邻近块组1推导cp1的运动矢量,同时可以基于邻近块组2推导cp2的运动矢量。

至于cp1的运动矢量和cp2的运动矢量,可以基于邻近块组的可用性和/或是否对其应用帧间预测模式来确定基于采样的或基于块的运动矢量将被用作cp1的运动矢量和cp2的运动矢量的邻近块。在下文中,块不可用的情况可以包括相应块在帧间预测模式下未被编码或者帧间模式未被应用于其的情况。具体地,如果邻近块组1的顶部邻近块可用,则解码设备可以基于顶部邻近块推导cp1的运动矢量。如果顶部邻近块不可用并且右上邻近块可用,则解码设备可以基于右上邻近块推导cp1的运动矢量。例如,如果邻近块组1的所有块都不可用,则解码设备可以基于cp0的运动矢量推导cp1的运动矢量。可替选地,如果邻近块组2的左部邻近块可用,则解码设备可以基于左部邻近块推导cp2的运动矢量。如果左部邻近块不可用并且左下邻近块可用,则解码设备可以基于左下邻近块推导cp2的运动矢量。例如,如果邻近块组2的所有块都不可用,则解码设备可以基于cp0的运动矢量推导cp2的运动矢量。

可替选地,如果邻近块组1的顶部邻近块可用并且仿射运动模型被应用于顶部邻近块,则解码设备可以基于顶部邻近块的右下采样的运动矢量推导cp1的运动矢量。如果邻近块组的顶部邻近块可用并且仿射运动模型未被应用于顶部邻近块,则解码设备可以基于顶部邻近块的运动矢量推导cp1的运动矢量。如果邻近块组1的顶部邻近块不可用并且邻近块组1的右上邻近块可用并且仿射运动模型被应用于右上邻近块,则解码设备可以基于右上邻近块的左下采样的运动矢量推导cp1的运动矢量。如果邻近块组1的顶部邻近块不可用并且邻近块组1的右上邻近块可用并且仿射运动模型未被应用于右上邻近块,则解码设备可以基于右上邻近块的运动矢量推导cp1的运动矢量。

例如,如果邻近块组2的左部邻近块可用并且仿射运动模型被应用于左部邻近块,则解码设备可以基于左部邻近块的右下采样的运动矢量推导cp2的运动矢量。如果邻近块组2的左部邻近块可用并且仿射运动模型未被应用于左部邻近块,则解码设备可以基于左部邻近块的运动矢量推导cp2的运动矢量。如果邻近块组2的左部邻近块不可用并且邻近块组2的左下邻近块可用并且仿射运动模型被应用于左下邻近块,则解码设备可以基于左下邻近块的右上采样的运动矢量推导cp2的运动矢量。如果邻近块组2的左部邻近块不可用并且邻近块组2的左下邻近块可用并且仿射运动模型未被应用于左下邻近块,则解码设备可以基于左下邻近块的运动矢量推导cp2的运动矢量。

解码设备基于所获取的运动矢量推导当前块中的基于采样的运动矢量(s920)。解码设备可以基于cp0的运动矢量、cp1的运动矢量和cp2的运动矢量根据当前块中的采样位置推导基于采样的运动矢量。在这种情况下,解码设备可以基于以上等式11和等式12推导当前块中的采样位置的基于采样的运动矢量。

解码设备基于基于采样的运动矢量生成当前块的预测采样(s930)。解码设备可以基于基于采样的运动矢量推导参考图片中的参考区域。解码设备可以基于参考区域中的重建采样生成当前块的预测采样。如果仿射运动标志的值是1,则解码设备可以基于基于采样的运动矢量生成当前块的预测采样。

解码设备基于预测采样生成重建采样(s940)。如果用于当前块的预测模式不是跳过模式,则解码设备可以基于预测采样生成重建采样。解码设备可以从编码设备接收残差信号并且为当前块生成残差采样。在这种情况下,解码设备可以基于预测采样和残差采样生成重建采样。解码设备可以基于重建采样生成重建图片。

根据本发明,可以推导当前块的更准确的基于采样的运动矢量,并且因此可以显著地提高帧间预测效率。

根据本发明,可以基于当前块的控制点的运动矢量有效地推导当前块中的采样的运动矢量。

根据本发明,可以在没有关于当前块的控制点的运动矢量的附加信息的情况下基于可用邻近块的运动矢量来推导当前块中的采样的运动矢量。这可消除或减少控制点的运动矢量的数据量,并且因此提升整体编译效率。

根据本发明,不仅当当前块中的图像被平移时,而且当图像被旋转、放大、缩小或平行四边形变形时,可以使用基于采样的运动矢量来有效地执行帧间预测。以这种方式,可消除或减少当前块的残差信号的数据量,并且从而可提升整体编译效率。

根据本发明,可以基于已经解码的邻近块推导控制点的运动矢量。这可显著地减少关于控制点的运动矢量的信息量并且从而提升整体编译效率。

在上述的实施例中,基于使用一系列步骤或块的流程图对方法进行描述,但是本发明不限于步骤的顺序。某些步骤可以同时或者按照与上述的步骤不同的顺序发生。另外,本领域的技术人员应理解的是,顺序图中所示出的步骤不是排他性的,可以包括其他步骤,或者可以删除流程图中的一个或多个步骤,而不影响本发明的范围。

上述的根据本发明的方法可以用软件实现。根据本发明的编码设备和/或解码设备可以被包括在执行图像处理的设备中,例如,用于tv、计算机、智能电话、机顶盒或显示设备。

当本发明的实施例用软件实现时,可以通过执行上述的功能的模块(过程、函数等)来实现上述的方法。此类模块可以被存储在存储器中并由处理器执行。存储器可以在处理器内部或外部,并且存储器可以使用各种公知的手段耦合到处理器。处理器可以包括专用集成电路(asic)、其他芯片组、逻辑电路和/或数据处理设备。存储器可以包括rom(只读存储器)、ram(随机存取存储器)、闪速存储器、存储卡、存储介质和/或其他存储设备。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1