在以自适应区域数量进行的几何分区中的帧间预测
阅读说明:本技术 在以自适应区域数量进行的几何分区中的帧间预测 (Inter prediction in geometric partitioning with adaptive region number ) 是由 B·富尔赫特 H·卡瓦 V·阿季奇 于 2020-01-28 设计创作,主要内容包括:一种解码器,所述解码器包括电路,所述电路配置成接收比特流;经由几何分区模式将当前块分区成第一区域、第二区域和第三区域;确定与所述第一区域、所述第二区域或所述第三区域相关联的运动矢量,所述确定包括构建候选项列表;和利用所确定的运动矢量将所述当前块解码。还描述了相关设备、系统、技术和物件。(A decoder comprising circuitry configured to receive a bitstream; partitioning a current block into a first region, a second region, and a third region via a geometric partition mode; determining a motion vector associated with the first region, the second region, or the third region, the determining comprising constructing a list of candidates; and decoding the current block using the determined motion vector. Related apparatus, systems, techniques, and articles are also described.)
相关申请的交叉引用
本申请要求提交于2019年1月28日的标题为“具有自适应区域数量的几何分区的帧间预测(INTER PREDICTION IN GEOMETRIC PARTITIONING WITH AN ADAPTIVE NUMBEROF REGIONS)”、申请号为62/797,820的美国临时专利申请的优先权权益,该临时专利申请全文以引用方式并入本文。
技术领域
本发明总体涉及视频压缩领域。特别地,本发明涉及在以自适应区域数量进行的几何分区中的帧间预测。
背景技术
视频编解码器可包括电子电路或软件,该电子电路或软件将数字视频压缩或解压缩。其可将未压缩视频转换成压缩格式,反之亦然。在视频压缩的语境中,将视频压缩(和/或执行其一些功能)的装置通常可称为编码器,并且将视频解压缩(和/或执行其一些功能)的装置可称为解码器。
压缩数据的格式可符合标准视频压缩规范。压缩可为有损的,因为所压缩视频缺少原始视频中所存在的一些信息。这样的后果可包括,解压视频可具有相比于原始未压缩视频的较低质量,因为不存在充分信息来准确地重建原始视频。
在视频质量、用于表示视频的数据量(例如,由比特率所确定)、编码和解码算法的复杂性、对数据损失和误差的敏感性、编辑的便利性、随机访问、端至端延迟(例如,延迟时间)等之间可存在复杂关系。
发明内容
在一个方面,解码器包括电路,该电路配置成接收比特流;经由几何分区模式将当前块分区成第一区域、第二区域和第三区域;确定与第一区域、第二区域和第三区域的区域相关联的运动矢量,其中,该确定还包括构建候选项列表;和利用该确定的运动矢量将当前块解码。
在另一个方面,方法包括由解码器接收比特流。该方法包括由解码器经由几何分区模式将当前块分区成第一区域、第二区域和第三区域。该方法包括由解码器确定与第一区域、第二区域和第三区域的区域相关联的运动矢量,该确定包括构建候选项列表。该方法包括由解码器利用该确定的运动矢量而将当前块解码。
本文所描述主题的一种或多种变型的细节在下述附图和
具体实施方式
中进行阐述。本文所描述主题的其它特征和优点根据描述和附图并且根据权利要求书将为显而易见的。
附图说明
出于说明本发明的目的,附图示出了本发明的一个或多个实施例的方面。然而,应当理解,本发明不限于附图所示的精确布置和器械,其中:
图1为示出进行了几何分区的残余块(例如,当前块)的示例的图示,其中存在三个区域;
图2为示出可能的空间运动矢量候选项相对于根据几何分区所分区的示例当前块的第一区域(区域S0)的示例位置的示意图;
图3示出了具有注释的图2,从而示出包括第一区域S0的最左上亮度位置的亮度位置;
图4为示可能的在运动矢量候选项相对于根据几何分区所分区的示例当前块的第二区域S1的示例位置的示意图;
图5示出了具有注释的图4,从而示出包括第三区域S2的最左下亮度位置和第二区域S1的最右上亮度位置的亮度位置;
图6为示出可能的空间运动矢量候选项相对于根据几何分区所分区的示例当前块的第三区域(区域S2)的示例位置的示意图;
图7示出了具有注释的图6,从而示出包括第三区域S2的最左下亮度位置和第二区域S1的最右上亮度位置的亮度位置;和
图8为示出示例视频编码器的系统框图,该示例视频编码器能够利用帧间预测与以自适应区域数量进行的几何分区而将视频编码;
图9为示出示例过程的过程流程图,该示例过程根据当前主题的一些方面通过以自适应区域数量进行的几何分区和帧间预测而将视频编码,该示例过程可减小编码复杂性同时增加压缩效率;
图10为示出示例解码器的系统框图,该示例解码器能够利用帧间预测和以自适应区域数量进行的几何分区而将比特流解码,该示例解码器可改善视频编码和解码的复杂性和处理性能;
图11为示出示例过程的过程流程图,该示例过程利用帧间预测和以自适应区域数量进行的几何分区而将比特流解码,该示例过程可改善视频编码和解码的复杂性和处理性能;
图12为计算系统的框图,该计算系统可用于实施本文所公开方法的任一者或多者和其任何一个或多个部分。
附图未必按比例绘制,并且可以虚线、示意性表示和片段式视图来示出。在某些情况下,可已省略对于理解实施例非必需或使其它细节难以察觉的细节。各个图中的相同的附图标记表示相同的元素。
具体实施方式
当前主题的一些实施方式包括以区域执行帧间预测,这些区域已以自适应区域数量的几何分区模式进行分区,其中矩形块可划分成三个或更多个非矩形区域。以非矩形块(其已以自适应区域数量的几何分区进行分区)执行帧间预测可允许分区以更紧密地沿循物体边界,从而导致较低运动补偿预测误差,较小残差,和因而得到改善的压缩效率。在帧间预测期间,利用对于根据几何分区模式所确定的块(例如,编码单元、预测单元等)所预测的运动矢量,可执行运动补偿。运动矢量可利用高级运动矢量预测(AMVP)和/或经由合并模式进行预测,其中运动矢量选自运动矢量候选项的列表而无需编码运动矢量差值。
当前主题可适应于较大块,例如,诸如具有128×128或64×64尺寸的块。在一些实施方式中,几何分区可涉及将当前块分区成自适应数量的区域,诸如给定当前块的三个或更多个区域;并且可针对每个区域确定运动信息。
运动补偿可包括一种方式,该方式考虑摄像机和/或视频中物体的运动的先前和/或未来帧而预测视频帧或其部分。运动补偿可用于视频数据的编码和解码以用于视频压缩,例如用于利用运动图像专家组(MPEG)-2(也称为高级视频编码(AVC))标准的编码和解码。运动补偿可关于基准图像至当前图像的变换而描述图像。当相比于当前图像时,基准图像可为先前的或未来的。当图片可从先前所传送和/或存储图片进行准确地合成时,压缩效率可改善。
块分区可指代视频编码的一种方法,以找出类似运动的区域。某种形式的块分区可见于视频编解码标准中,包括MPEG-2、H.264(也称为AVC或MPEG-4第10部分)和H.265(也称为高效视频编码(HEVC))。在示例块分区方式中,视频帧的非重叠块可分区成矩形子块,以找出包含具有类似运动的像素的块分区。当块分区的所有像素具有类似运动时,这种方式可工作良好。块中的像素运动可相对于先前编码帧来确定。
运动矢量预测可能在具有自适应区域数量的几何分区来有效地实施。更详细地,具有自适应区域数量的几何分区可包括用于视频编码和解码的技术,其中矩形块进一步划分成两个或更多个区域,这些区域可能为非矩形的。例如,图1为示出具有几何分区的残余块(例如,当前块)100的示例的图示,其中存在三个区段S0、S1和S2。当前块100可具有M像素的宽度和N像素的高度,标注为M×N像素,诸如64×64或128×128。当前块可根据两个线段(P1P2和P3P4)进行几何分区,这两个线段可将当前块划分成三个区域S0、S1和S2。当区域S0中的像素具有类似运动时,运动矢量可描述该区域中所有像素的运动。如下文更全面地描述,相应运动矢量可根据AMVP模式或合并模式来确定。运动矢量可用于压缩区域S0。类似地,当区域S1中的像素具有类似运动时,相关运动矢量可描述区域S1中像素的运动。类似地,当区域S2中的像素具有类似运动时,相关运动矢量可描述区域S2中像素的运动。通过将位置P1、P2、P3、P4(或这些位置的表示,诸如利用极坐标、预定模板的索引,或分区的其它表征)编码,此类几何分区可在视频比特流中向接收器(例如,解码器)发出信号。
继续参考图1,当利用像素水平的几何分区而将视频数据编码时,线段P1P2(或更具体地,点P1和P2)可确定。为确定当利用像素水平的几何分区时将块最佳地划分的线段P1P2(或更具体地,点P1和P2),点P1和P2的可能组合取决于作为块宽度M和高度N。对于尺寸M×N的块,存在(M-l)×(N-l)×3个可能分区。因此,识别正确分区可成为评估所有可能分区的运动估计的计算高昂任务;相比于利用矩形分区的编码(例如,在未以像素水平的几何分区的情况下),这可能增加对于编码视频所需的时间量和/或处理能力。构成最佳或正确分区的像素可根据度量来确定,并且可随着实施方式而改变。
在一些实施方式中并且仍参考图1,迭代地发生分区,即可确定形成两个区域的第一分区(例如,确定线P1P2和相关区域),并且这些区域的一者然后可进一步分区。例如,参考图1所描述的分区可执行以将块分区成两个区域。这些区域的一者可进一步分区(例如,以形成新区域S1和区域S2)。过程可继续以执行块水平分区,直至达到停止标准。
继续参考图1,帧间预测可利用已进行几何分区的区域来执行。用于运动补偿的运动矢量可利用AMVP或合并模式来衍生。在AMVP中,运动矢量预测通过将索引发出至运动矢量候选列表中来进行,并且运动矢量差值(例如,残差)在比特流中进行编码并且包括于其中。在合并模式中,运动矢量选自运动矢量候选列表而无需将运动矢量差值编码,从而允许当前块采用另一先前解码块的运动信息。在AMVP和合并模式两者中,候选列表可通过编码器和解码器两者来构建,并且候选列表中的索引在比特流中发出信号。
图2为示出根据几何分区对示例当前块200进行分区的情况下,潜在空间运动矢量候选项相对于的第一区域(区域S0)的位置的非限制性示例位置的示意图。潜在空间运动矢量候选项可在AMVP模式或合并模式期间被考虑用于构建运动矢量候选列表。当前块200分别通过点P0、P1之间和点P2、P3之间的直线可分区成三个区域S0、S1和S2。区域S0、区域S1和区域S2的每一者可进行单向或双向预测。第一区域(区域S0)的空间候选项(例如,如图2所示)可包括左下候选项A0、左侧候选项A1、左上候选项B2、上侧候选项B1和右上候选项B0。
仍参考图2,如所示的那样并且在一些实施方式中,每个位置(A0、A1、B2、B1和B0)可表示各自位置处的块。例如,左上候选项B2可能为驻留于紧邻区域S0的左侧并且紧邻于其上方的位置处的块;例如,如果S0的左上角部亮度位置为(0,0),那么左上候选项B2可驻留于位置(-1,-1)处。左下候选项A0可定位成紧邻P1的左侧和下方;例如,如果P1的亮度位置为(P1x,P1y),那么左下候选项A0可驻留于位置(Plx-1,Ply+1)处。左侧候选项A1可定位成紧邻于P1的左侧;例如,左侧候选项A1可驻留于位置(Plx-1,Ply)处。上侧候选项B1可定位成紧邻于P0上方;例如,如果P0的亮度位置为(P0x,P0y),那么上侧候选项B1可位于(P0x,P0y-1)处。右上候选项B0可定位成紧邻于P0的上方和右侧;例如,右上候选项B0可驻留于位置(P0x+1,P0y-1)处。如在查看本公开的全文后对于本领域的技术人员将为显而易见的那样,其它位置也是可能的。图3示出了具有注释的图2,从而示出包括第一区域S0的最左上亮度位置的亮度位置。
在一些实施方式中并且仍参考图3,当构建区域S0的候选列表时,一些潜在候选项可自动地标记为不可用的,并且可从候选列表移除;因为在存在几何分区的情况下,此类分区可执行以将具有不同运动信息的帧内的区域(或物体)分区。因此,可推断,与这些候选项相关联的块同样表示具有不同运动的另一物体,并且因此这些候选项可自动地标记为不可用的(例如,不进一步考虑,从候选列表移除,等等)。在上文参考图2所示的示例中,关于区域S0,左下候选项A0可自动地标记为不可用的,因为可能的是,区域S0未与位于左下候选项A0处的块共享运动信息。类似地,关于区域S0,右上候选项B0可自动地标记为不可用的,因为可能的是,区域S0未与位于右上候选项B0处的块共享运动信息。在一些实施方式中,通过估计线段P0P1(或点P0,P1),例如通过确定线段P0P1,将该线段延伸至左下候选项A0块和/或右上候选项B0块中,并确定左下候选项A0和/或右上候选项B0是否与第一区域S0驻留于该延伸线段的同一侧上,可确定左下候选项A0和/或右上候选项B0是否有可能共享运动信息。
图4为示出根据几何分区对示例当前块400进行分区的情况下,潜在空间运动矢量候选项相对于第二区域(区域S1)的位置的非限制性示例的示意图。潜在空间运动矢量候选项可在AMVP模式或合并模式期间被考虑用于构建运动矢量候选列表。当前块400分别通过点P0、P1之间和点P2、P3之间的直线可能已被分区成三个区域S0、S1和S2。区域S0、区域S1和区域S2的每一者可进行单向或双向预测。第二区域(区域S1)的空间候选项的非限制性示例示出于图4中,并且包括左下候选项A0、左侧候选项A1、左上候选项B2、上侧候选项B1和右上候选项B0。
如所示的那样并且仍参考图4,每个位置(A0、A1、B2、B1和B0)可表示相应位置处的块。例如,左上候选项B2可能为驻留于亮度位置处的块,该亮度位置紧邻区域S1的最左上位置的左侧并且紧邻于其上方;例如,如果S1的左上角部亮度位置为具有亮度位置坐标的相邻P0(P0x+1,P0y),那么左上候选项B2可驻留于位置(P0x,P0y-1)处。左下候选项A0定位成紧邻第三区域(区域S2)的最左下位置下方;例如,如果第三区域(区域S2)的最左下位置位于(0,N-l)处,那么左下候选项A0可驻留于位置(0,N)处。左侧候选项A1可定位成紧邻于第三区域(区域S2)的最左下位置的左侧;例如,左侧候选项A1可驻留于位置(0,N-l)处。上侧候选项B1可定位成紧邻于区域S1的最右上位置上方;例如,如果区域S1的最右上位置位于(M-1,0)处,那么B1可驻留于位置(M-1,-1)处。右上候选项B0可定位成紧邻于区域S1的最右上位置的上方和右侧;例如,右上候选项B0可驻留于位置(M,-1)处。图5示出了具有注释的图4,从而示出包括第三区域S2的最左下亮度位置和第二区域S1的最右上亮度位置的亮度位置。
在一些实施方式中并且仍参考图5,当构建区域S1的候选列表时,一些潜在候选项可自动地标记为不可用的,并且可从候选列表移除;因为在存在几何分区的情况下,此类分区可能被执行以将具有不同运动信息的帧内的区域(或物体)分区。因此,可推断,与这些候选项相关联的块可能表示具有不同运动的另一物体,并且因此这些候选项可自动地标记为不可用的(例如,不进一步考虑,从候选列表移除,等等)。在上文参考图4所示的一个非限制性示例中,关于区域S1,左上候选项B2可自动地标记为不可用的,因为可能的是,区域S1未与位于左上候选项B2的块共享运动信息。类似地,在一些实施方式中,对于区域S1,左侧候选项A1可能自动地标记为不可用的,因为可能的是,区域S1未与位于左侧候选项A1的块(其可能为第三区域S2)共享运动信息。类似地,在一些实施方式中,对于区域S1,左下候选项A0可能自动地标记为不可用的,因为可能的是,区域S1未与位于左下候选项A0的块(其可能处于第三区域S2下方)共享运动信息。
图6为示出根据几何分区对示例当前块600进行分区对情况下,潜在空间运动矢量候选项相对于第三区域(区域S2)的示例位置的示意图。潜在空间运动矢量候选项可在AMVP模式或合并模式期间被考虑用于构建运动矢量候选列表。当前块600分别通过点P0、P1之间和点P2、P3之间的直线可分区成三个区域S0、S1和S2。区域S0、区域S1和区域S2的每一者可进行单向或双向预测。第三区域(区域S2)的空间候选项的非限制性示例示出于图6中,并且可包括左下候选项A0、左侧候选项A1、左上候选项B2、上侧候选项B1和右上候选项B0。
如所示并且仍参考图6,每个位置(A0、A1、B2、B1和B0)可表示相应位置处的块。例如,左上候选项可能为驻留于亮度位置处的块,该亮度位置处于区域S2的上方和左侧;例如,左上候选项B2可能为第一区域S0。如果S0位于(0,0)处,那么左上候选项B2可位于(0,0)处。左下候选项A0可定位成紧邻区域S2的最左下位置的左侧并且紧邻其下方;例如,如果区域S2的最左下位置位于(0,N-l)处,那么左下候选项A0可驻留于(-1,N)处。左侧候选项A1可定位成紧邻于区域S2的最左下位置的左侧;例如,左侧候选项A1可驻留于(-1,N-l)处。上侧候选项B1可位于区域S2的上方和左侧,其可能为相邻点P1;例如,如果P1位于(Plx,Ply)处,那么上侧候选项B1可位于(Plx-1,Ply)处。右上候选项B0可能为驻留于亮度位置处的块,该亮度位置处于区域S2的上方和右侧;例如,右上候选项B0可能为第二区域S1。例如,右上候选项可位于S1的最右上位置处,其可驻留于(M-l,0)处。图7示出了具有注释的图6,从而示出包括第三区域S2的最左下亮度位置和第二区域S1的最右上亮度位置的亮度位置。
在一些实施方式中并且仍参考图7,当构建区域S2的候选列表时,一些潜在候选项可自动地标记为不可用的,并且可从候选列表移除;因为在存在几何分区的情况下,此类分区可能被执行以将具有不同运动信息的帧内的区域(或物体)分区。因此,可推断,与这些候选项相关联的块可能表示具有不同运动的另一物体,并且因此这些候选项可自动地标记为不可用的(例如,不进一步考虑,从候选列表移除,等等)。在上文图6所提供的一个非限制性示例中,对于区域S2,左上候选项B2可自动地标记为不可用的,因为可能的是,区域S2未与位于左上候选项B2的块(例如,S0)共享运动信息。类似地,在一些实施方式中,对于区域S2,右上候选项A0可自动地标记为不可用的,因为可能的是,区域S2未与位于左侧候选项B0(其可能为第二区域S1)的块共享运动信息。类似地,在一些实施方式中,对于区域S2,上侧候选项B1可自动地标记为不可用的,因为可能的是,区域S2未与位于上侧候选项B1(其为第一区域S0的左侧)的块共享运动信息。
图8为示出示例视频编码器800的系统框图,示例视频编码器800能够利用帧间预测、以自适应区域数量进行几何分区而将视频编码。示例视频编码器800接收输入视频805,输入视频805可根据处理方案进行初始分段或划分,诸如树结构宏观块分区方案(例如,四叉树加二叉树)。树结构宏观块分区方案的一个示例可包括将图像帧分区成称为编码树单元(CTU)的大块元素。在一些实施方式中,每个CTU还可一次或多次分区成称为编码单元(CU)的多个子块。这种分区的最终结果可包括可称为预测单元(PU)的子块组。还可利用变换树(TU)。此类分区方案可包括根据当前主题的一些方面而以自适应区域数量进行几何分区。
仍参考图8,示例视频编码器800可包括帧内预测处理器815、运动估计/补偿处理器820(还称为帧间预测处理器)、变换/量化处理器825、反量化/反变换处理器830、环内滤波器835、解码图像缓冲器840和熵编码处理器845;运动估计/补偿处理器820能够支持包括AMVP模式和合并模式的以自适应区域数量进行的几何分区。在一些实施方式中,包括利用AMVP模式和合并模式,运动估计/补偿处理器820可执行以自适应区域数量的几何分区。表示几何分区模式、AMVP模式和合并模式的比特流参数可输入至熵编码处理器845以用于包括于输出比特流850中。
在操作中并且仍参考图8,可针对输入视频805的帧的每个块,决定是否经由帧内图像预测或利用运动估计/补偿来处理该块。块可提供至帧内预测处理器810或运动估计/补偿处理器820。如果块将经由帧内预测进行处理,那么帧内预测处理器810可执行处理以输出预测子。如果块将经由运动估计/补偿进行处理,那么运动估计/补偿处理器820可执行处理以输出预测子,该处理包括几何分区与AMVP模式和合并模式的使用。
继续参考图8,残差可通过从输入视频减去预测子来形成。残差可由变换/量化处理器825接收,变换/量化处理器825可执行变换处理(例如,离散余弦变换(DCT))以产生系数,该系数可量化。量化系数和任何相关信令信息可提供至熵编码处理器845以用于熵编码并且包括于输出比特流850中。熵编码处理器845可支持与几何分区模式、AMVP模式和合并模式相关的信令信息的编码。此外,量化系数可提供至可再现像素的反量化/反变换处理器830,其可与预测子组合并且由环内滤波器835进行处理,该环内滤波器835的输出可存储于解码图像缓冲器840中以由运动估计/补偿处理器820使用,运动估计/补偿处理器820能够支持几何分区模式、AMVP模式和合并模式。
图9为过程流程图,示出了根据当前主题的一些方面通过几何分区和帧间预测将视频编码的示例过程300,示例过程300可减小编码复杂性同时增加压缩效率。在步骤910,视频帧可经历初始块分段,例如利用树结构宏观块分区方案,该树结构宏观块分区方案可包括将图像帧分区成多个CTU和多个CU。在步骤920,块可被选择用于以自适应区域数量进行几何分区。选择可包括根据度量规则确定该块将根据几何分区模式进行处理。
在步骤930并且仍参考图9,可确定具有三个或更多个区域的几何分区。可确定至少两个线段,这些线段将根据其帧间运动而将块内所包括的像素分离成三个或更多个区域(例如,区域0、区域1和区域2),使得相应区域的每一者内的像素(例如,亮度样本)具有类似运动,该类似运动可能不同于其它区域(例如,区域1)内的像素运动。
在步骤940并且继续参考图9,每个区域的运动信息可利用AMVP模式或合并模式进行确定和处理。当利用AMVP模式处理区域时,通过考虑空间候选项和时间候选项两者(其可包括上文所描述的空间候选项,并且可包括将一些候选项标记为不可用的),候选列表可构建。运动矢量可选自运动矢量候选项的列表作为运动矢量预测,并且可能计算运动矢量差值(例如,残差)。可确定候选列表的索引。在合并模式中,通过考虑空间候选项和时间候选项两者(其可包括如上文所描述的空间候选项,并且可包括将一些候选项标记为不可用的),候选列表可构建。运动矢量可选自运动矢量候选项的列表,以用于区域采用另一块的运动信息。可确定候选列表的索引。
在步骤950并且仍参考图9,所确定的几何分区和运动信息可在比特流中发出信号。将几何分区在比特流中发出信号可包括例如P0、P1、P2、P3的位置;一个或多个预定模板的索引;等等。在利用AMVP处理区域时,运动信息的信令可能包括,将运动矢量差值(例如,残差)和运动矢量候选列表的索引包括在比特流中。在利用合并模式处理区域时,运动信息的信令可能包括将运动矢量候选列表的索引包括在比特流中。
图10为示出示例解码器1000的系统框图,示例解码器1000能够利用帧间预测和以自适应区域数量进行的几何分区而将比特流1070解码,其可改善视频编码和解码的复杂性和处理性能。解码器1000可包括熵解码器处理器1010、反量化和反变换处理器1020、去块滤波器1030、帧缓冲器1040、运动补偿处理器1050和帧内预测处理器1060。在一些实施方式中,比特流1070可包括参数,这些参数表示几何分区模式、AMVP模式和合并模式。利用如本文所描述的几何分区,运动补偿处理器1050可重建像素信息。
在操作中并且仍参考图10,比特流1070可由解码器1000接收并且输入至熵解码器处理器1010,该熵解码器处理器1010可将比特流解码成量化系数。量化系数可被提供至反量化和反变换处理器1020,反量化和反变换处理器1020可执行反量化和反变换以形成残差信号。残差信号根据处理模式可能被添加至运动补偿处理器1050或帧内预测处理器1060的输出。运动补偿处理器1050和帧内预测处理器1060的输出可包括基于先前解码块的块预测值。预测值和残差的总和可通过去块滤波器1030进行处理并且存储于帧缓冲器1040中。针对给定块(例如,CU或PU),当比特流1070发出信号(分区模式为几何分区)时,运动补偿处理器1050可基于本文所描述的几何分区方式构建预测值。
图11为示出示例过程1100的过程流程图,示例过程1100在以自适应区域数量进行的几何分区中利用帧间预测而将比特流解码,其可改善视频编码和解码的复杂性和处理性能。在步骤1110,接收比特流,该比特流可包括当前块(例如,CTU、CU、PU)。接收操作可包括提取和/或解析当前块和比特流的相关信令信息。解码器可提取或确定表征几何分区的一个或多个参数。这些参数可包括例如线段的起始和结束索引(例如,P0、P1、P2、P3)。提取或确定操作可包括识别并获取比特流的参数(例如,解析该比特流)。
在步骤1120并且仍参考图11,根据几何分区模式,可确定当前块的第一区域、第二区域和第三区域。该确定操作可包括确定是否针对当前块启用几何分区模式(例如,是)。如果未启用几何分区模式(例如,否),那么解码器可利用另选分区模式对块进行处理。如果启用了几何分区模式(例如,是),那么三个或更多个区域可进行确定和/或处理。
在步骤1130并且仍参考图11,可确定与第一区域、第二区域和第二区域的区域相关联的运动矢量。确定运动矢量可包括确定是否利用AMVP模式或合并模式确定区域的运动信息。当利用AMVP模式处理区域时,通过考虑空间候选项和时间候选项两者(其可包括上文所描述的空间候选项,并且可包括将一些候选项标记为不可用的),候选列表可构建。运动矢量可选自运动矢量候选项的列表,作为运动矢量预测;并且运动矢量差值(例如,残差)可进行计算。在合并模式中,该确操作可包括针对每个区域构建空间候选项和时间候选项的候选列表。构建候选列表可包括将候选项自动地标记为不可用的和从候选列表移除不可用的候选项。所构建候选列表的索引可从比特流解析出并且被用于从候选列表选择最终候选项。当前区域的运动信息可能被确定为与最终候选项的运动信息相同(例如,区域的运动矢量可从最终候选项来采用)。
仍参考图11,在步骤1140,当前块可利用所确定的运动矢量来解码。
虽然一些变型已在上文详细地描述,但是其它修改或添加为可能的。例如,几何分区可基于编码器中的速率失真决策而在比特流中发出信号。编码可基于规则预定分区(例如,模板)、分区的时间和空间预测和/或额外偏移的组合。每个几何分区区域可利用运动补偿预测或帧内预测。预测区域的边界可在添加残差之前进行平滑处理。
在一些实施方式中,可实施四叉树加二叉决策树(QTBT)。在QTBT中,在编码树单元水平,QTBT的分区参数可动态地衍生以适应于局部特性而无需传送任何开销。随后,在编码单元水平,联合分类器决策树结构可消除非必需迭代并且控制错误预测的风险。在一些实施方式中,在QTBT的每个叶节点处,以自适应区域数量进行的几何分区可能作为可用的额外分区选项为可用的。
在一些实施方式中,解码器可包括分区处理器,该分区处理器生成针对当前块的几何分区并且提供了针对从属过程的所有分区相关的信息。分区处理器可直接地影响运动补偿,因为在块进行几何分区的情况下,其可逐段执行。另外,分区处理器可将形状信息提供至帧内预测处理器和变换编码处理器。
在一些实施方式中,额外语法元素可能以比特流的不同分层水平发出信号。为针对整个序列启用以自适应区域数量进行的几何分区,启用标志可被编码在序列参数集(SPS)中。另外,CTU标志可以编码树单元(CTU)水平进行编码以指示任何编码单元(CU)是否利用以自适应区域数量进行的几何分区。CU标志可进行编码以指示当前编码单元是否利用以自适应区域数量进行的几何分区。可能对规定块上的线段的参数进行编码。针对每个区域,标志可被解码,这可能规定当前区域是否进行帧间或帧内预测。
在一些实施方式中,可规定最小区域尺寸。
本文所描述的主题提供了许多技术优点。例如,当前主题的一些实施方式可提供块的分区,其减少了复杂性,同时增加了压缩效率。在一些实施方式中,可减少物体边界处的块化伪像(artifacts)。
值得注意的是,本文所描述的方面和实施例的任一者或多者可利用以下项来方便地实施:数字电子电路、集成电路、特殊设计的专用集成电路(ASIC)、现场可编程门阵列(FPGA)、计算机硬件、固件、软件和/或其组合,如在一个或多个机器(例如,一个或多个计算装置(该一个或多个计算装置作为用于电子文件的用户计算装置)、一个或多个服务器装置(诸如文件服务器),等等)中所实现和/或实施,该一个或多个机器根据本说明书的教导内容进行编程,如对于计算机领域的一般技术人员将显而易见的。这些不同方面或特征可包括在一个或多个计算机程序和/或软件中的实施,该一个或多个计算机程序和/或软件为在包括至少一个可编程处理器的可编程系统上可执行的和/或可解释的,该至少一个可编程处理器出于专用和通用目的可联接以从存储系统、至少一个输入装置和至少一个输出装置接收数据和指令并且将数据和指令传送至存储系统、至少一个输入装置和至少一个输出装置。适当软件编码可由熟练程序员基于本公开的教导内容而易于制备,如对于软件领域的一般技术人员将显而易见的。上文所讨论的采用软件和/或软件模块的方面和实施方式还可包括适当硬件,以用于协助该软件和/或软件模块的机器可执行指令的实施。
此类软件可能为采用了机器可读存储介质的计算机程序产品。机器可读存储介质可能为能够存储和/或编码由机器(例如,计算装置)执行的指令序列并且引起机器执行本文所描述方法和/或实施例的任一者的任何介质。机器可读存储介质的示例包括但不限于磁盘、光盘(例如CD、CD-R、DVD、DVD-R等)、磁光盘、只读存储器“ROM”装置、随机存取存储器“RAM”装置、磁卡、光卡、固态存储装置、EPROM、EEPROM、可编程逻辑装置(PLD),和/或其任何组合。如本文所用,机器可读介质旨在包括单一介质,以及物理独立介质的集合,诸如,例如压缩盘或一个或多个硬盘驱动器与计算机存储器组合的集合。如本文所用,机器可读存储介质未包括临时形式的信号传送。
此类软件还可包括作为数据信号承载于数据载体(诸如,载波)上的信息(例如,数据)。例如,机器可执行信息可作为在数据载体中所实施的数据承载信号而包括在内,其中该信号编码了由机器(例如,计算装置)所执行的指令序列或其部分,以及任何相关信息(例如,数据结构和数据),该相关信息致使机器执行本文所描述方法和/或实施例的任一者。
计算装置的示例包括但不限于电子书阅读装置、计算机工作站、终端计算机、服务器计算机、手持装置(例如,平板计算机、智能电话等)、网络设备、网络路由器、网络交换机、网络桥接器,能够执行指令序列(规定了将由机器所采取的动作)的任何机器,和其任何组合。在一个示例中,计算装置可包括信息亭和/或可包括于信息亭中。
图12示出了计算机系统1200的示例性形式的计算装置的一个实施例的示意性表示,一组指令可在该计算装置内执行,该组指令用于致使控制系统执行本公开的方面和/或方法的任一者或多者。还据设想,多个计算装置可用于实施特别配置指令组以用于致使这些装置的一者或多者执行本公开的方面和/或方法的任一者或多者。计算机系统1200包括处理器1204和存储器1208,它们经由总线1212彼此通信并且与其它部件通信。利用多种总线架构的任一者,总线1212可包括数种类型总线结构的任一者,包括但不限于存储器总线、存储器控制器、外围总线、本地总线,和其任何组合。
存储器1208可包括各种部件(例如,机器可读介质),包括但不限于随机存取存储器部件、只读部件,和其任何组合。在一个示例中,基本输入/输出系统1216(BIOS)(包括有助于诸如在启动期间在计算机系统1200内的元件之间传输信息的基本路径)可存储于存储器1208中。存储器1208还可包括(例如,存储于一种或多种机器可读介质上的)指令(例如,软件)1220,指令1220实施本公开的方面和/或方法的任一者或多者。在另一个示例中,存储器1208还可包括任何数量的程序模块,包括但不限于操作系统、一个或多个应用程序、其它程序模块、程序数据,和其任何组合。
计算机系统1200还可包括存储装置1224。存储装置(例如,存储装置1224)的示例包括但不限于硬盘驱动器、磁盘驱动器、与光学介质组合的光盘驱动器、固态存储器装置,和其任何组合。存储装置1224可通过适当接口(未示出)连接至总线1212。示例接口包括但不限于SCSI、高级技术附件(ATA)、串行ATA、通用串行总线(USB)、IEEE 1394(火线),和其任何组合。在一个示例中,存储装置1224(或其一个或多个部件)可与计算机系统1200可移除地连接(例如,经由外部端口连接器(未示出))。特别地,存储装置1224和相关机器可读介质1228可向计算机系统1200提供机器可读指令、数据结构、程序模块和/或其它数据的非易失性和/或易失性存储。在一个示例中,软件1220可完全地或部分地驻留于机器可读介质1228内。在另一个示例中,软件1220可完全地或部分地驻留于处理器1204内。
计算机系统1200还可包括输入装置1232。在一个示例中,计算机系统1200的用户可经由输入装置1232将命令和/或其它信息输入至计算机系统1200。输入装置1232的示例包括但不限于字母数字输入装置(例如,键盘)、点击装置、操纵杆、游戏板、音频输入装置(例如,麦克风、语音应答系统等)、光标控制装置(例如,鼠标)、触摸板、光学扫描仪、视频捕获装置(例如,静止摄像机、视频摄像机)、触摸屏,和其任何组合。输入装置1232经由多种接口的任一者(未示出)可连接至总线1212,该接口包括但不限于串行接口、并行接口、游戏端口、USB接口、火线接口、与总线1212的直接接口,和其任何组合。输入装置1232可包括触摸屏界面,该触摸屏界面可为下文所进一步讨论的显示器1236的一部分或可与其分开。输入装置1232可用作用户选择装置,以用于选择如上文所描述的图形界面的一个或多个图形表示。
用户还可经由存储装置1224(例如,可移动磁盘驱动器、闪存驱动器等)和/或网络接口装置1240将命令和/或其它信息输入至计算机系统1200。网络接口装置(诸如网络接口装置1240)可用于将计算机系统1200连接至多种网络的一者或多者,诸如网络1244,和与之连接的一个或多个远程装置1248。网络接口装置的示例包括但不限于网络接口卡(例如,移动网络接口卡、LAN卡)、调制解调器,和其任何组合。网络的示例包括但不限于广域网(例如,互联网、企业网络)、局域网(例如,与办公室、建筑物、校园或其它较小地理空间相关联的网络)、电话网络、与电话/语音供应商相关联的数据网络(例如,移动通信供应商数据和/或语音网络)、两个计算装置之间的直接连接,和其任何组合。网络(诸如网络1244)可采用有线和/或无线通信模式。一般来讲,可使用任何网络拓扑结构。信息(例如,数据、软件1220等)可经由网络接口装置1240通信至计算机系统1200和/或从计算机系统1200发出。
计算机系统1200还可包括视频显示适配器1252以用于将可显示图片通信至显示装置,诸如显示装置1236。显示装置的示例包括但不限于液晶显示器(LCD)、阴极射线管(CRT)、等离子显示器、发光二极管(LED)显示器,和其任何组合。显示适配器1252和显示装置1236可结合处理器1204使用以提供本公开的一些方面的图形表示。除了显示装置,计算机系统1200还可包括一个或多个其它外围输出装置,包括但不限于音频扬声器、打印机,和其任何组合。此类外围输出装置经由外围接口1256可连接至总线1212。外围接口的示例包括但不限于串行端口、USB连接、火线连接、并行连接,和其任何组合。
前述内容已详细描述了本发明的例示性实施例。在不脱离本发明的精神和范围的情况下,可做出各种修改和添加。上文所描述各种实施例的每一者的特征可在适当情况下与其它所描述实施例的特征进行组合,以提供相关联的新实施例的多种特征组合。此外,虽然前述内容描述了多个独立实施例,但是本文已描述的内容仅说明本发明的原理应用。另外,尽管本文的特定方法可示出和/或描述成以特定次序执行,但是该次序在普通技术内用以实现如本文所公开的实施例的技术范围内为高度可变的。因此,本描述旨在仅以示例的方式来进行,而非以其它方式限制本发明的范围。
在上述描述和权利要求书中,诸如“......的至少一者”或“......的一者或多者”的短语可出现于连结元件或特征列表之后。术语“和/或”也可出现于两个或更多个元件或特征的列表中。除非与所使用语境隐含地或明确地矛盾,此类短语旨在单独地意指所列出元件或特征的任一者,或意指与其它所叙述元件或特征的任一者组合的所叙述元件或特征的任一者。例如,短语“A和B的至少一者”、“A和B的一者或多者”和“A和/或B”均旨在意指“单A、单B,或A和B两者”。类似解释也旨在用于包括三个或更多个项的列表。例如,短语“A、B和C的至少一者”、“A、B和C的一者或多者”和“A、B和/或C”均旨在意指“单A、单B、单C、A和B两者、A和C两者、B和C两者,或A和B和C三者”。此外,上文和权利要求书所用的术语“基于”旨在意指“至少部分地基于”,使得未列举特征和元件也为可容许的。
本文所描述的主题可在系统、设备、方法和/或物件中实现,取决于期望配置。前述描述所阐述的实施方式并不代表与本文所描述主题一致的所有实施方式。相反,它们仅为与所描述主题相关的方面一致的一些示例。虽然一些变型已在上文详细地描述,但是其它修改或添加为可能的。特别地,除了本文所阐述的那些特征之外,还可提供其它特征和/或变型。例如,上文所描述的实施方式可涉及所公开特征的各种组合和子组合和/或上文所公开的一些其它特征的组合和子组合。此外,附图所示和/或本文所描述的逻辑流程非必然地要求所示特定次序或顺序次序来实现期望结果。其它实施方式可落入下述权利要求书的范围内。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:指数分区的帧间预测