首页 / 专利库 / 电脑图像 / 运动矢量 / 块级别的运动矢量平面模式

级别的运动矢量平面模式

阅读:1091发布:2020-05-16

专利汇可以提供级别的运动矢量平面模式专利检索,专利查询,专利分析的服务。并且提出一种 块 级别的 运动矢量 平面模式,其中涉及一种视频处理的方法,该方法包括:从一组邻近块推导可以被划分成多个子块的当前块的运动预测;以及使用推导出的运动预测执行当前块和当前块的比特流表示之间的转换,其中,基于块级而不是子块级,将运动预测应用于当前块。,下面是级别的运动矢量平面模式专利的具体信息内容。

1.一种用于视频处理的方法,包括:从一组邻近推导能够被划分成多个子块的当前块的运动预测;以及使用推导出的运动预测执行当前块和当前块的比特流表示之间的转换,其中,基于块级而不是子块级,将运动预测应用于当前块。
2.如权利要求1所述的方法,其中,该组邻近块包括位于不同位置的至少两个邻近块。
3.如权利要求1所述的方法,其中,该组邻近块包括至少一个时间邻近块。
4.如权利要求2所述的方法,其中,该组邻近块包括位于第一位置的第一邻近块和位于第二位置的第二邻近块。
5.如权利要求4所述的方法,其中,推导当前块的运动预测包括:从位于第一位置的第一邻近块和位于第二位置的第二邻近块推导与当前块的特定位置相关联的第一组运动信息。
6.如权利要求5所述的方法,其中,第一位置是相对于当前块的左上方位置,并且第二位置是相对于当前块的右上方位置。
7.如权利要求5或6所述的方法,其中,该组邻近块还包括位于第三位置的第三邻近块和位于第四位置的第四邻近块。
8.如权利要求7所述的方法,其中,推导当前块的运动预测还包括:从位于第三位置的第三邻近块和位于第四位置的第四邻近块推导与当前块的特定位置相关联的第二组运动信息。
9.如权利要求8所述的方法,其中,第三位置是相对于当前块的左下方位置,并且第四位置是相对于当前块的右下方位置。
10.如权利要求9所述的方法,其中,该右下方位置的运动信息来自时间邻近块。
11.如权利要求8或9所述的方法,还包括:从第一组和第二组运动信息推导当前块的运动候选。
12.如权利要求4所述的方法,其中,该组邻近块还包括位于第三位置的第三邻近块。
13.如权利要求12所述的方法,其中,推导当前块的运动预测包括:从位于第一位置的第一邻近块、位于第二位置的第二邻近块和位于第三位置的第三邻近块确定6-参数仿射模型的参数,其中第一至第三邻近块是空间邻近块;以及使用6-参数仿射模型推导与当前块的特定位置相关联的第一组运动信息。
14.如权利要求13所述的方法,其中,第一位置是相对于当前块的左上方位置,第二位置是相对于当前块的右上方位置,并且第三位置是相对于当前块的左下方位置。
15.如权利要求13或14所述的方法,还包括:推导第四邻近块的运动信息,所述第四邻近块是位于相对于当前块的右下方位置的时间邻近块;以及从第一组运动信息和第四邻近块的运动信息推导当前块的运动候选。
16.如权利要求2所述的方法,其中,该组邻近块包括一对或多对邻近块,该一对或多对邻近块中的每一对包括位于不同位置的两个邻近块。
17.如权利要求16所述的方法,其中,不同位置包括相对于当前块的左上方、右上方、左下方和右下方位置中的任何两个。
18.如权利要求16或17所述的方法,还包括:从一对或多对邻近块确定用于4-参数仿射模型的多组参数;以及从多组4-参数仿射模型推导多组运动信息。
19.如权利要求18所述的方法,包括:从推导出的多组运动信息推导与当前块的特定位置相关联的一组运动信息;从推导出的该组运动信息推导当前块的运动候选。
20.如权利要求18所述的方法,其中,用于4-参数仿射模型的两组参数是从分别位于相对于当前块的左上方和右上方位置的一对邻近块和相对于当前块的左下方和右下方位置的一对邻近块推导的。
21.如权利要求2所述的方法,其中,该组邻近块包括一个或多个空间和时间邻近块,并且该方法包括:推导与一个或多个空间和时间邻近块相关联的一组运动信息;以及从该组运动信息推导当前块的运动候选,其中,将函数应用于该组运动信息中的所有可用运动信息。
22.如权利要求21所述的方法,其中,该函数是线性组合函数。
23.如权利要求21或22所述的方法,其中,在应用该函数之前,如果必要,将所有可用运动信息缩放到相同的参考图片。
24.如权利要求5、13或19所述的方法,其中,当前块的特定位置是当前块的中心。
25.如权利要求1-24中任一项所述的方法,其中,该转换包括将视频块编码成该视频块的比特流表示以及从该视频块的比特流表示解码该视频块中的至少一个。
26.一种视频处理装置,包括:处理器,被配置为实施权利要求1至25中任一项的方法。
27.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行权利要求1至25中任一项的方法的程序代码。

说明书全文

级别的运动矢量平面模式

[0001] 相关申请的交叉引用
[0002] 根据适用的专利法和/或巴黎公约的规则,本申请旨在及时要求2018年9月23日提交的国际专利申请第PCT/CN2018/107166号的优先权和利益。国际专利申请第PCT/CN2018/107166号的全部公开内容通过引用结合于此作为本申请公开内容的一部分。

技术领域

[0003] 本专利文档涉及视频编码技术、设备和系统。

背景技术

[0004] 运动补偿(Motion compensation,MC)是视频处理的一种技术,通过考虑相机和/或视频中对象的运动,在给定先前和/或未来的情况下,预测视频中的帧。运动补偿可以被用于视频数据的编码以进行视频压缩。发明内容
[0005] 该文档公开了与在视频编码和解码中使用仿射运动补偿相关的方法、系统和设备。
[0006] 在一个示例方面,一种视频处理的方法,包括:从一组邻近块推导可以被划分成多个子块的当前块的运动预测;以及使用推导出的运动预测执行当前块和当前块的比特流表示之间的转换,其中,基于块级而不是子块级,将运动预测应用于当前块。
[0007] 在又一代表性方面,公开了一种视频处理装置。该装置包括处理器,该处理器被配置为实施本文描述的方法。
[0008] 在又一代表性方面,本文描述的各种技术可以体现为存储在非暂时性计算机可读介质上的计算机程序产品。该计算机程序产品包括用于执行本文描述的方法的程序代码。
[0009] 在另一示例方面,视频编码器装置包括处理器和视频处理电路,被配置为实施视频编码方法。
[0010] 在又一代表性方面,视频解码器装置可以实施本文描述的方法。
[0011] 在又一方面,所描述的方法可以以处理器可执行代码的形式体现,并存储在计算机可读介质上。
[0012] 一个或多个实施方式的细节在下面所附的权利要求附图和描述中阐述。从说明书和附图以及权利要求书中,其他特征将是明显的。

附图说明

[0013] 图1示出了基于子块的预测计算的示例。
[0014] 图2A-图2B示出了简化的仿射运动模型:(a)4-参数仿射模型;(b)6-参数仿射模型。
[0015] 图3示出了每一子块的仿射运动矢量场(affine motion vector field,MVF)的示例。
[0016] 图4A-图4B示出了AF_MERGE模式的候选。
[0017] 图5示出了仿射merge模式的示例候选位置
[0018] 图6示出了具有四个子块(A-D)及其邻近块(a-d)的编码单元(Coding Unit,CU)的示例。
[0019] 图7示出了基于子块的空时merge模式实施方式的示例。
[0020] 图8示出了平面运动矢量预测过程的示例。
[0021] 图9是示出可以用于实施本公开的技术的各个部分的计算机系统或其他控制设备的体系结构的示例的框图
[0022] 图10示出了可以用于实施本公开的技术的各个部分的移动设备的示例实施例的框图。
[0023] 图11是视觉媒体处理的示例方法的流程图

具体实施方式

[0024] 本文档提供了若干种可以体现在数字视频编码器和解码器中的技术。为了理解清楚,在本文档中使用了章节标题,并且不将每个章节中公开的技术和实施例的范围仅限制于该章节。
[0025] 在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到对应的比特流表示的转换期间应用,反之亦然。
[0026] 1.概要
[0027] 该专利文档涉及视频/图像编码技术。具体地,该专利文档涉及视频/图像编码中的运动矢量预测。该专利文档可以应用于现有的视频编码标准(如HEVC),或即将最终确定的标准(通用视频编码)。它也可以适用于未来的视频/图像编码标准或视频/图像编解码器。
[0028] 2.介绍
[0029] 基于子块的预测首先由HEVC Annex I(3D-HEVC)引入到视频编码标准中。利用基于子块的预测,诸如编码单元(CU)或预测单元(PU)的块被分为若干不重叠的子块。可以为不同的子块分配不同的运动信息,诸如参考索引或运动矢量(MV),并且对每个子块单独地执行运动补偿(MC)。图1示出了基于子块的预测的概念。
[0030] 为了探索HEVC之外的未来视频编码技术,联合视频探索团队(Joint Video Exploration Team,JVET)由VCEG和MPEG于2015年共同创立。从那时起,JVET采用了许多新方法,并将其纳入名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。
[0031] 在JEM中,在若干编码工具中采用基于子块的预测,例如仿射预测、可选时域运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、双向光流(BIO)和帧速率上转换(FRUC)。仿射预测也被采用到VVC中。
[0032] 2.1仿射预测
[0033] 在HEVC中,仅将平移运动模型应用于运动补偿预测(MCP)。而在现实世界中,存在多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,应用简化的仿射变换运动补偿预测。如图2所示,块的仿射运动场由两个(在4参数仿射模型中)或三个(在6参数仿射模型中)控制点运动矢量描述。
[0034] 图2A-2B示出了简化的仿射运动模型(a)4参数仿射模型;(b)6参数仿射模型。
[0035] 块的运动矢量场(MVF)由具有4参数仿射模型的以下等式描述
[0036]
[0037] 和6参数仿射模型:
[0038]
[0039] 其中(mvh0,mvv0)是左上控制点的运动矢量,并且(mvh1,mvv1)是右上角控制点的运动矢量,并且(mvh2,mvv2)是左下角控制点的运动矢量。
[0040] 为了推导每个4×4子块的运动矢量,根据等式(1)或(2)计算每个子块的中心样本的运动矢量,如图3所示,并舍入到1/16分数精度。然后,应用运动补偿内插滤波器以用推导的运动矢量生成每个子块的预测。
[0041] 在VTM中,存在两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度均大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级中的仿射标志,以指示是否使用AF_INTER模式。在该模式中,构建具有两个候选的CP MVP候选列表。
[0042] 仿射模型可以从空域邻近的仿射编码块继承,诸如左、上、右上、左下和左上邻近块,如图4A中所示。例如,如果图4A中的邻近的左块A以仿射模式编码,如图4B中的A0所指代,则获取含有块A的邻近CU/PU的左上角、右上角和左下角的控制点(CP)运动矢量mv0N、mv1N和mv2N。并且基于mv0N、mv1N和mv2N计算当前CU/PU上的左上角/右上/左下的运动矢量mv0C、mv1C和mv2C(其仅用于6参数仿射模型)。
[0043] 应当注意,当用仿射merge模式编码CU时,即,在AF_MERGE模式中,它从有效的邻近重构块获得用仿射模式编码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图4A所示。
[0044] 当前块的推导的CP MV mv0C、mv1C和mv2C可以用作仿射merge模式中的CP MV。或者它们可以在VVC中用作仿射帧间模式的MVP。应当注意,对于merge模式,如果当前块用仿射模式编码,则在推导当前块的CP MV之后,可以将当前块进一步划分为多个子块,并且每个块将基于当前块的推导的CP MV推导其运动信息。
[0045] 2.2 JVET-K0186
[0046] 不同于其中仅一个仿射空域邻近块可以用于推导块的仿射运动的VTM,在JVET-K0186中,提出了为AF_MERGE模式构建仿射候选的单独列表。
[0047] 1)插入继承的仿射候选到候选列表中
[0048] 图5示出了仿射merge模式的候选位置的示例。
[0049] 继承的仿射候选是指由用仿射模式编码的有效邻近重构块推导的候选。
[0050] 如图5中所示,候选块的扫描顺序是A1,B1,B0,A0和B2。当选择块(例如,A1)时,应用两步过程:
[0051] a)首先,使用覆盖该块的CU的三个角部运动矢量,以推导当前块的两个/三个控制点。
[0052] b)基于当前块的控制点,以推导当前块内的每个子块的子块运动。
[0053] 2)插入构建的仿射候选
[0054] 如果仿射merge候选列表中的候选的数目少于MaxNumAffineCand,则构建的仿射候选被插入到候选列表中。
[0055] 构建的仿射候选是指通过组合每个控制点的邻近运动信息构建的候选。
[0056] 首先从指定的空域邻域和时域邻域推导控制点的运动信息,如图5中所示。CPk(k=1,2,3,4)表示第k个控制点。A0,A1,A2,B0,B1,B2和B3是预测CPk(k=1,2,3)的空域位置;T是预测CP4的时域位置。
[0057] CP1,CP2,CP3和CP4的坐标分别是(0,0),(W,0),(H,0)和(W,H),其中W和H是当前块的宽度和高度。
[0058] 每个控制点的运动信息根据以下优先级顺序获得:
[0059] -对于CP1,检查优先级是B2->B3->A2。如果B2可用则使用B2。否则,如果B2不可用,则使用B3。如果B2和B3都不可用,则使用A2。如果全部三个候选不可用,则CP1的运动信息无法获得。
[0060] -对于CP2,检查优先级是B1->B0;
[0061] -对于CP3,检查优先级是A1->A0;
[0062] -对于CP4,使用T。
[0063] 其次,控制点的组合用于构建运动模型。
[0064] 需要三个控制点的运动矢量来计算6参数仿射模型中的变换参数。可以从以下四个组合之一选择三个控制点:({CP1,CP2,CP4},{CP1,CP2,CP3},{CP2,CP3,CP4},{CP1,CP3,CP4})。例如,使用CP1,CP2和CP3控制点来构建6参数仿射运动模型,指代为仿射(CP1,CP2,CP3)。
[0065] 需要两个控制点的运动矢量来计算4参数仿射模型中的变换参数。可以从以下六个组合之一选择两个控制点({CP1,CP4},{CP2,CP3},{CP1,CP2},{CP2,CP4},{CP1,CP3},{CP3,CP4})。例如,使用CP1和CP2控制点来构建4参数仿射运动模型,指代为仿射(CP1,CP2)。
[0066] 构建的仿射候选的组合被以如下顺序插入到候选列表中:
[0067] {CP1,CP2,CP3},{CP1,CP2,CP4},{CP1,CP3,CP4},{CP2,CP3,CP4},{CP1,CP2},{CP1,CP3},{CP2,CP3},{CP1,CP4},{CP2,CP4},{CP3,CP4}
[0068] 3)插入零运动矢量
[0069] 如果仿射merge候选列表中的候选的数目少于MaxNumAffineCand,则将零运动矢量插入到候选列表中,直到列表充满。
[0070] 2.3 ATMVP(高级时域运动矢量预测)
[0071] 在第10次JVET会议上,高级时域运动矢量预测(ATMVP)被包含在基准集(BMS)-1.0参考软件中,其基于来自时域邻近图片的共位(collocated)块的运动信息推导一个编码单元(CU)的子块的多个运动。虽然它提高了时域运动矢量预测的效率,但是对现有的ATMVP设计识别出以下复杂度问题:
[0072] 如果使用多个参考图片,则不同ATMVP CU的共位图片可能不相同。这意味着需要取回多个参考图片的运动场。
[0073] 每个ATMVP CU的运动信息总是基于4×4单元推导,导致对一个ATMVP CU内的每个4×4子块的运动推导和运动补偿的多次调用。
[0074] 提出了对ATMVP的一些进一步简化,并且已经在VTM2.0中采用。
[0075] 2.3.1使用一个固定共位图片的简化的共位块推导
[0076] 在该方法中,提出了一种简化设计以使用与在HEVC中相同的共位图片,其在条带报头处信令通知,作为用于ATMVP推导的共位图片。在块级,如果邻近块的参考图片与该共位图片不同,则使用HEVC时域MV缩放方法来缩放块的MV,并且在ATMVP中使用缩放的MV。
[0077] 指代用于取回共位图片Rcol中的运动场的运动矢量作为MVcol。为了最小化由于MV缩放引起的影响,用于推导MVcol的空域候选列表中的MV以如下方式选择:如果候选MV的参考图片是共位图片,则选择该MV并将其用作MVcol,而不使用任何缩放。否则,选择具有最接近共位图片的参考图片的MV以利用缩放来推导MVcol。
[0078] 2.3.2自适应ATMVP子块大小
[0079] 在该方法中,提出支持用于ATMVP运动推导的子块尺寸的条带级适配。具体地,在序列级信令通知用于ATMVP运动推导的一个默认子块尺寸。另外,在条带级信令通知一个标志以指示默认子块尺寸是否用于当前条带。如果该标志为伪,则在条带的条带报头中进一步信令通知对应的ATMVP子块尺寸。
[0080] 2.4 STMVP(空时运动矢量预测)
[0081] STMVP在JEM中被提出并被采用,但尚未在VVC中被采用。在STMVP中,按照光栅扫描顺序递归地推导子CU的运动矢量。图6说明了这个概念。让我们考虑含有四个4×4子CU A,B,C和D的8×8CU。当前帧中的邻近4×4块标记为a,b,c和d。
[0082] 子CU A的运动推导以识别其两个空间邻域开始。第一邻域是子CU A上方的N×N块(块c)。如果该块c不可用或者是帧内编码的,则检查子CU A上方的其他N×N块(从左到右,始于块c)。第二邻域是子CU A左侧的块(块b)。如果块b不可用或者是帧内编码的,则检查子CU A左侧的其他块(从上到下,始于块b)。对每个列表从邻近块获得的运动信息被缩放到给定列表的第一参考帧。接下来,通过按照与HEVC中指定的TMVP推导相同的过程来推导子块A的时域运动矢量预测符(TMVP)。取回位置D处的共位块的运动信息并相应地缩放。最后,在检索和缩放运动信息之后,对于每个参考列表分开地平均全部可用的运动矢量(最多3个)。平均的运动矢量被指定为当前子CU的运动矢量。
[0083] 图6示出了具有四个子块(A-D)的一个CU及其邻近块(a-d)的示例。
[0084] 2.5非子块STMVP
[0085] 在该提议中,提出非子块STMVP作为空时merge模式。所提出的方法使用共位块,其与HEVC/JEM相同(只有一个图片,这里没有时间矢量)。所提出的方法还检查上方和左方空间位置,该位置在本提议中被调整。具体地,为了检查邻近的帧间预测信息,最多检查两个位置,上方和左方。来自上面行的Amid、Afar、来自左列的Lfar和Lmid的确切位置(如图7所示)如下所示:
[0086] Afar:(nPbW*5/2,-1),Amid(nPbW/2,-1)
[0087] Lfar:(-1,nPbH*5/2),Lmid(-1,nPbH/2)
[0088] 上块、左块和时间块的运动矢量的平均值的计算与BMS软件实施方式相同。如果3个参考帧间预测块可用,分别用(mvLX_A[0],mvLX_A[1])、(mvLX_L[0],mvLX_L[1])和(mvLX_C[0],mvLX_C[1])表示相关联的MV,并且最终预测值用(mvLX[0],mvLX[1])表示。
[0089] mvLX[0]=((mvLX_A[0]+mvLX_L[0]+mvLX_C[0])*43)/128
[0090] mvLX[1]=((mvLX_A[1]+mvLX_L[1]+mvLX_C[1])*43)/128
[0091] 如果只有两个或一个帧间预测块可用,则使用两个MV的平均值或仅使用一个MV。
[0092] mvLX[0]=(mvLX_D[0]+mvLX_E[0])/2
[0093] mvLX[1]=(mvLX_D[1]+mvLX_E[1])/2
[0094] 2.6 MV平面
[0095] 为了生成平滑的细化粒度运动场,图8给出了平面运动矢量预测过程的简要描述。
[0096] 平面运动矢量预测通过在4×4块的基础上平均平和垂直线性插值来实现,如下所示。
[0097] P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W)
[0098] W和H表示块的宽度和高度。(x,y)是当前子块相对于左上角子块的坐标。所有距离都用像素距离除以4来表示。P(x,y)是当前子块的运动矢量。
[0099] 位置(x,y)的水平预测Ph(x,y)和垂直预测Pv(x,y)计算如下:
[0100] Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)
[0101] Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
[0102] 其中L(-1,y)和R(W,y)是当前块的左方和右方的4×4块的运动矢量。A(x,-1)和B(x,H)是当前块的上方和下方的4×4块的运动矢量。
[0103] 左列和上面行邻域块的参考运动信息是从当前块的空间邻域块推导的。
[0104] 右列和底行邻域块的参考运动信息推导如下。
[0105] -推导右下方时间邻域4×4块的运动信息。
[0106] -使用推导出的右下方邻域4×4块的运动信息以及右上方邻域4×4块的运动信息,计算右列邻域4×4块的运动矢量,如等式1中所述。
[0107] -使用推导出的右下方邻域4×4块的运动信息以及左下方邻域4×4块的运动信息,计算底行邻域4×4块的运动矢量,如等式2中所述。
[0108] R(W,y)=((H-y-1)×AR+(y+1)×BR)/H  等式1
[0109] B(x,H)=((W-x-1)×BL+(x+1)×BR)/W  等式2
[0110] 其中,AR是右上方空间邻域4×4块的运动矢量,BR是右下方时间邻域4×4块的运动矢量,以及BL是左下方空间邻域4×4块的运动矢量。
[0111] 从每个列表的邻近块中获得的运动信息被缩放到给定列表的第一参考图片。
[0112] 3.问题
[0113] 当前基于子块的预测设计存在以下问题:
[0114] MV平面模式可以带来额外的编码增益,但代价是计算复杂度和存储器带宽较高。一方面,它引入增加带宽的子块运动。另一方面,每个子块需要推导自己的运动。
[0115] 非子块STMVP设计引入了对硬件实施方式不利的除法运算。
[0116] 非子块STMVP设计仅作为特殊的merge候选而添加。如果它也可以用于帧间模式,则可以预期额外的编码增益。
[0117] 4.示例技术
[0118] 下面的详细发明应该被认为是解释一般构思的示例。这些发明不应该被狭义地解释。此外,这些发明可以以任何方式组合。本发明和其他发明之间的组合也是适用的。
[0119] 技术1:更高的编码性能
[0120] 1.MV平面模式可以由分配给整个块的单组运动信息代替,而不是为每个子块分配的多组运动信息。
[0121] a.在一个示例中,上方邻近块(例如,图8中的AL和AR)可以用于推导位于当前块的中心位置的第一组运动信息。下方邻近块(例如,图8中的BL和BR)可以用于推导位于当前块中心位置的第二组运动信息。然后,从第一组和第二组运动信息推导当前块的最终运动候选。
[0122] b.在一个示例中,6-参数仿射模型(例如,应用于图8中的AL、AR和BL的)可以用于推导位于中心位置的第一组运动信息。第一组运动信息和时间运动信息(例如,与图8中的BR相关联的运动)可以被共同用来推导最终运动候选。
[0123] c.在一个示例中,运动信息对(AL,AR)、(AL,BL)、(BL,BR)、(AR,BR)、(BL,AR)和(AL,BR)中的一些或全部被用于推导若干组4-参数仿射模型,然后若干组4-参数仿射模型进一步用于推导位于中心位置的运动信息。这些多组运动信息可以被共同用来推导最终运动候选。
[0124] i.在一个示例中,(AL,AR)和(BL,BR)被用于推导两组4-参数仿射模型。
[0125] d.在一个示例中,多个空间和时间邻近块的运动信息可以用于推导一组运动信息,例如,与空间/时间邻近块相关联的所有可用运动信息的线性组合(例如,在潜在缩放到同一参考图片之后)可以用于推导最终运动候选。
[0126] 2.可以将从空间和时间运动信息共同推导出的运动候选添加到AMVP候选列表。
[0127] a.在一个示例中,给定目标参考图片(其可以在比特流中信令通知)的情况下,空间和时间块的MV可以首先被缩放到目标参考图片。缩放的MV可以共同用于推导最终运动矢量预测值。
[0128] b.在一个示例中,使用多个MV来形成最终MV预测值的推导过程被定义为线性函数。
[0129] i.在一个示例中,多个MV的平均值可以被定义为最终MV预测值。
[0130] ii.可替换地,不相等的加权可以应用于不同MV,以形成最终MV预测值。
[0131] 3.从上述方法推导的多个运动候选可以被添加到运动候选列表。
[0132] a.对于多个运动候选中的每一个,可以利用不同的空间或时间块。
[0133] b.在一个示例中,用于生成推导出的运动候选的两个或更多MV必须参考相同参考图片;
[0134] c.在一个示例中,用于生成推导出的运动候选的两个或更多MV必须参考相同参考列表中的参考图片;
[0135] d.在一个示例中,用于生成推导出的运动候选的两个或更多MV必须参考相同参考列表中具有相同参考索引的参考图片;
[0136] e.在一个示例中,用于生成推导出的候选运动的两个或更多MV可以参考不同参考图片。
[0137] i.在一个示例中,它们将被缩放到相同参考图片。
[0138] ii.在一个示例中,它们将被缩放到最接近当前图片的参考图片。
[0139] 4.在上述提出的方法中,空间邻近块的选择可以是固定的,或者可以自适应地改变。
[0140] a.在一个示例中,空间邻近块的选择可以取决于块尺寸和/或块形状。
[0141] b.在一个示例中,空间邻近块的选择可以取决于编码模式(仿射、非仿射、amvp或merge、条带类型等)。
[0142] c.在一个示例中,空间邻近块的选择可以取决于帧间预测方向(L0、L1或Bi)。
[0143] 5.提出了使用与在TMVP和/或ATMVP设计中使用的相同的共位图片(其在条头处信令通知)作为目标图片,其中MV被缩放以用于STMVP推导。
[0144] a.在块级别下,如果邻近块的参考图片不同于该共位图片,则例如使用HEVC时间MV缩放方法来缩放块的MV,并且缩放的MV被用于STMVP运动推导过程。
[0145] b.可替换地,目标图片由第一可用merge候选来确定。
[0146] c.可替换地,目标图片被确定为最接近当前图片的参考图片。
[0147] d.可替换地,对于一个参考图片列表,共位图片可以用作一个参考图片列表的目标图片,并且对于另一参考图片列表,可以选择与空间邻近块之一相关联的相同参考图片。
[0148] 6.利用上述方法,可以预先定义要添加到候选列表的候选的最大数量和/或对候选列表的哪种插入顺序。
[0149] a.可替换地,它可以取决于编码模式(例如,AMVP或merge;仿射或非仿射)。
[0150] b.可替换地,它可以取决于编码块尺寸/块形状/条带类型。
[0151] c.它可以在SPS、PPS、VPS、条带头/片头等中信令通知。
[0152] 7.提出了一个仿射模型需要4个控制点MV的8-参数仿射模型。
[0153] a.在一个示例中,除了在6-参数仿射模型中使用的三个CP(例如,图1中的CP0、CP1和CP2)之外,还涉及与当前块的右下方位置相关联的一个或多个CP。
[0154] i.在一个示例中,来自一个或多个时间邻近块的时间运动信息可以用作当前块的右下方CP的预测器。
[0155] b.在一个示例中,对于AMVP模式,可以信令通知4个MVD。可替换地,此外,可以应用这4个MVD之间的预测。
[0156] c.在一个示例中,即使在运动补偿中使用的运动信息可能不同,也存储与右下方CP相关联的CP MV。
[0157] 复杂度降低
[0158] 8.提出了对于子块STMVP和/或非子块STMVP仅访问位于某些位置的块或其他类型的运动候选。
[0159] a.在一个示例中,邻近块(x,y)的位置应该满足x%M=0和y%N=0,其中M和N是两个非零整数,诸如M=N=8或16、32或64。
[0160] b.在一个示例中,如果一个邻近块中的左上方样点不满足给定条件,则跳过对与该块相关联的运动信息的检查。因此,不能将相关联的运动信息添加到merge候选列表。
[0161] c.可替换地,如果一个邻近块中的左上方样点不满足给定条件,则可以移位、截断或舍入该块的位置,以确保条件得到满足。例如,(x,y)可以修改为((x/M)*M,(y/N)*N),其中“/”是整数除法。
[0162] d.覆盖所有邻近块的受限区域尺寸被预定义/信令通知。在这种情况下,当由给定偏移量(OffsetX,OffsetY)计算的邻近块在该区域之外时,它被标记为不可用或被视为帧内编码模式。对应的运动信息不能用于生成候选列表的运动候选。
[0163] i.在一个示例中,区域尺寸被定义为一个CTB或多个CTB。
[0164] ii.在一个示例中,区域尺寸被定义为W*H(例如,W=64以及H=64)。可替换地,此外,所有具有坐标(NAx,NAy)的邻近块应该至少满足以下条件之一:
[0165] 1)NAx>=((Cx/W)*W)
[0166] 2)NAx<=((Cx/W)*W)+W
[0167] 3)NAy>=((Cy/H)*H)
[0168] 4)NAy<=((Cy/H)*H)+H
[0169] 其中上述函数中的“>=”和/或“<=”可以用“>”和/或“<”代替,并且函数“/”表示整数除法运算,其中除法结果的小数部分被丢弃。
[0170] iii.可替换地,覆盖当前块的LCU行上方的所有块都被标记为不可用或被视为帧内编码模式。对应的运动信息不能用于生成候选列表的运动候选。
[0171] iv.可替换地,假设覆盖当前块的LCU的左上方样点坐标为(LX,LY)。(LX–Nax)和/或abs(LX-NAx)和/或(LY-NAy)和/或abs(LY-NAy)应该在阈值内,abs是绝对值符号。
[0172] 1.可以预定义一个或多个阈值。它们还可能进一步取决于CU高度的最小尺寸/宽度的最小尺寸/LCU尺寸等。例如,(LY-NAy)应该小于CU高度的最小尺寸,或者(LY-NAy)应该小于CU高度的最小尺寸的两倍。
[0173] v.区域尺寸或(多个)阈值可以在SPS、PPS、VPS、条带头/片头等中信令通知。
[0174] vi.在一个示例中,当前条带/片/其他类型的用于并行编码的单元之外的所有邻近块被标记为不可用,并且对应的运动信息不能用于推导候选列表的候选。
[0175] 9.计算2个或3个或更多运动矢量的平均值的除法运算用移位运算代替。
[0176] a.三个MV的平均值:
[0177] mvLX[0]=((mvLX_A[0]+mvLX_L[0]+mvLX_C[0])*S+W)>>N
[0178] mvLX[1]=((mvLX_A[1]+mvLX_L[1]+mvLX_C[1])*S+W)>>N
[0179] 例如,S=43,W=64,以及N=7。
[0180] b.两个MV的平均值:
[0181] mvLX[0]=((mvLX_A[0]+mvLX_L[0]+1))>>1
[0182] mvLX[1]=((mvLX_A[1]+mvLX_L[1]+1))>>1
[0183] c.M个MV的平均值计算如下:
[0184]
[0185]
[0186] 其中可以针对不同的M设计不同的S和N。例如,N可以是7、8、9、10等。
[0187] i.在一个示例中,给定N,S被选择为S/2^N最接近但小于或等于1/M的数。
[0188] ii.在一个示例中,给定N,S被选择为S/2^N最接近但大于或等于1/M的数。
[0189] iii.在一个示例中,如果S/2^N等于1/M,则O被选择为1<<(N–1)。
[0190] iv.在一个示例中,如果S/2^N小于1/M,则O被选择为大于或等于1<<(N–1)。
[0191] v.在一个示例中,如果S/2^N大于1/M,则O被选择为小于或等于1<<(N–1)。
[0192] d.可替换地,M个MV的平均值计算如下:
[0193]
[0194]
[0195] 图9是示出可用于实现本公开技术的各部分的计算机系统或其他控制装置2600的架构的示例的框图。在图9中,计算机系统2600包含经由互连2625连接的一个或多个处理器2605和存储器2610。互连2625可以表示由适当的桥接器、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或两者。因此,互连2625可以包含例如系统总线、外围组件互连(PCI)总线、HyperTransport或行业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线或电气和电子工程师协会(IEEE)标准674总线,有时也称为“Firewire”。
[0196] (多个)处理器2605可以包含中央处理单元(CPU),以控制例如主机计算机的整体操作。在某些实施例中,(多个)处理器2605通过执行存储在存储器2610中的软件或固件来实现此目的。(多个)处理器2605可以是或可包含一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、应用专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些器件的组合。
[0197] 存储器2610可以是或包含计算机系统的主存储器。存储器2610表示任何合适形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存等,或这些设备的组合。在使用中,除其他之外,存储器2610可以包含一组机器指令,当由处理器2605执行时,使得处理器2605执行操作以实现本公开技术的实施例。
[0198] 还通过互连2625连接到(多个)处理器2605的是(可选的)网络适配器2615。网络适配器2615向计算机系统2600提供与远程设备(例如存储客户端)和/或其他存储服务器通信的能,并且可以是例如以太网适配器或光纤信道适配器。
[0199] 图10示出了可用于实现本公开技术的各部分的移动装置2700的示例实施例的框图。移动装置2700可以是膝上型电脑,智能电话,平板电脑,摄录机或能够处理视频的其他类型的设备。移动装置2700包含用于处理数据的处理器或控制器2701,以及与处理器2701通信以存储和/或缓冲数据的存储器2702。例如,处理器2701可以包含中央处理单元(CPU)或微控制器单元(MCU)。在一些实现方式中,处理器2701可以包含现场可编程阵列(FPGA)。在一些实现方式中,移动装置2700包含用于智能手机装置的各种视觉和/或通信数据处理功能的图形处理单元(GPU)、视频处理单元(VPU)和/或无线通信单元或与之通信。例如,存储器2702可以包含并存储处理器可执行代码,当由处理器2701执行时,将移动装置2700配置为执行各种操作,例如接收信息、命令和/或数据,处理信息和数据,以及将处理过的信息/数据发送或提供给另一个设备,例如致动器或外部显示器。为了支持移动装置2700的各种功能,存储器2702可以存储信息和数据,例如指令、软件、值、图像以及由处理器2701处理或引用的其他数据。例如,各种类型的随机存取存储器(RAM)设备、只读存储器(ROM)设备、闪存设备和其他合适的存储介质可用于实现存储器2702的存储功能。在一些实现方式中,移动装置2700包含输入/输出(I/O))单元2703,用于将处理器2701和/或存储器2702连接到其他模块、单元或装置。例如,I/O单元2703可以与处理器2701和存储器2702相接,以利用与典型数据通信标准兼容的各种类型的无线接口,例如,在中的一个或多个计算机与用户设备之间。在一些实现方式中,移动装置2700可以经由I/O单元2703使用有线连接与其他设备接口。移动装置2700还可以与其他外部接口(例如数据存储器)和/或视觉或音频显示设备2704相接,以检索和传输可由处理器处理、存储在存储器中或在显示设备2704的输出单元或外部装置上展示的数据和信息。例如,显示设备2704可以显示基于根据所公开的技术的MVP修改的视频帧
[0200] 图11示出了视频处理的方法1100的流程图。方法1100包括从一组邻近块推导(1102)可以被划分成多个子块的当前块的运动预测。方法包括使用推导出的运动预测执行(1104)当前块和当前块的比特流表示之间的转换。在示例中,基于块级而不是子块级,将运动预测应用于当前块。
[0201] 可以在以下示例列表中描述本文档中公开的各种实施例和技术。
[0202] 1.一种视频处理的方法,包括:从一组邻近块推导可以被划分成多个子块的当前块的运动预测;以及使用推导出的运动预测执行当前块和当前块的比特流表示之间的转换,其中,基于块级而不是子块级,将运动预测应用于当前块。
[0203] 2.如示例1所述的方法,其中,该组邻近块包括位于不同位置的至少两个邻近块。
[0204] 3.如示例1所述的方法,其中,该组邻近块包括至少一个时间邻近块。
[0205] 4.如示例2所述的方法,其中,该组邻近块包括位于第一位置的第一邻近块和位于第二位置的第二邻近块。
[0206] 5.如示例4所述的方法,其中,推导当前块的运动预测包括:从位于第一位置的第一邻近块和位于第二位置的第二邻近块推导与当前块的特定位置相关联的第一组运动信息。
[0207] 6.如示例5所述的方法,其中,第一位置是相对于当前块的左上方位置,并且第二位置是相对于当前块的右上方位置。
[0208] 7.如示例5或6所述的方法,其中,该组邻近块还包括位于第三位置的第三邻近块和位于第四位置的第四邻近块。
[0209] 8.如示例7所述的方法,其中,推导当前块的运动预测还包括:从位于第三位置的第三邻近块和位于第四位置的第四邻近块推导与当前块的特定位置相关联的第二组运动信息。
[0210] 9.如示例8所述的方法,其中,第三位置是相对于当前块的左下方位置,并且第四位置是相对于当前块的右下方位置。
[0211] 10.如示例9所述的方法,其中,该右下方位置的运动信息来自时间邻近块。
[0212] 11.如示例8或9所述的方法,还包括:从第一组和第二组运动信息推导当前块的运动候选。
[0213] 12.如示例4所述的方法,其中,该组邻近块还包括位于第三位置的第三邻近块。
[0214] 13.如示例12所述的方法,其中,推导当前块的运动预测包括:从位于第一位置的第一邻近块、位于第二位置的第二邻近块和位于第三位置的第三邻近块确定6-参数仿射模型的参数,其中第一至第三邻近块是空间邻近块;以及使用6-参数仿射模型推导与当前块的特定位置相关联的第一组运动信息。
[0215] 14.如示例13所述的方法,其中,第一位置是相对于当前块的左上方位置,第二位置是相对于当前块的右上方位置,并且第三位置是相对于当前块的左下方位置。
[0216] 15.如示例13或14所述的方法,还包括:推导第四邻近块的运动信息,所述第四邻近块是位于相对于当前块的右下方位置的时间邻近块;以及从第一组运动信息和第四邻近块的运动信息推导当前块的运动候选。
[0217] 16.如示例2所述的方法,其中,该组邻近块包括一对或多对邻近块,该一对或多对邻近块中的每一对包括位于不同位置的两个邻近块。
[0218] 17.如示例16所述的方法,其中,不同位置包括相对于当前块的左上方、右上方、左下方和右下方位置中的任何两个。
[0219] 18.如示例16或17所述的方法,还包括:从一对或多对邻近块确定用于4-参数仿射模型的多组参数;以及从多组4-参数仿射模型推导多组运动信息。
[0220] 19.如示例18所述的方法,包括:从推导出的多组运动信息推导与当前块的特定位置相关联的一组运动信息;从推导出的该组运动信息推导当前块的运动候选。
[0221] 20.如示例18所述的方法,其中,用于4-参数仿射模型的两组参数是从分别位于相对于当前块的左上方和右上方位置的一对邻近块和相对于当前块的左下方和右下方位置的一对邻近块推导的。
[0222] 21.如示例2所述的方法,其中,该组邻近块包括一个或多个空间和时间邻近块,并且该方法包括:推导与一个或多个空间和时间邻近块相关联的一组运动信息;以及从该组运动信息推导当前块的运动候选,其中,将函数应用于该组运动信息中的所有可用运动信息。
[0223] 22.如示例21所述的方法,其中,该函数是线性组合函数。
[0224] 23.如示例21或22所述的方法,其中,在应用该函数之前,如果必要,将所有可用运动信息缩放到相同的参考图片。
[0225] 24.如示例5、13或19所述的方法,其中,当前块的特定位置是当前块的中心。
[0226] 25.如示例1-24中任一项所述的方法,其中,该转换包括将视频块编码成该视频块的比特流表示以及从该视频块的比特流表示解码该视频块中的至少一个。
[0227] 26.一种视频处理装置,包括:处理器,被配置为实施示例1至25中任一项的方法。
[0228] 27.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行示例1至25中任一项的方法的程序代码。
[0229] 在另一示例方面,公开了视频编码的另一种方法(“AMVP方法”)。AMVP方法包括对于当前块确定高级运动矢量预测(AMVP)列表,并通过使用AMVP列表确定运动矢量来执行当前块和当前块的比特流表示之间的转换。AMVP列表使用空间和时间运动信息。
[0230] 在又一示例方面,公开了另一种视频编码方法(8-参数仿射方法)。该方法包括使用8-参数仿射模式执行当前块和当前块的比特流表示之间的转换,该8-参数仿射模式使用4个控制点(CP)运动矢量(MV)。基于当前块的编码条件使用CP。
[0231] 关于方法1100、AMVP方法和8-参数仿射模式方法,在第4章节中描述的技术和所附权利要求的列表中提供了实施方式和实施例的附加示例,其形成说明书的一部分。
[0232] 在另一示例方面,视频编码器装置包括处理器和视频处理电路,被配置为实施视频编码方法。
[0233] 在又一代表性方面,视频解码器装置可以实施本文描述的方法。
[0234] 在又一方面,所描述的方法可以以处理器可执行代码的形式体现,并存储在计算机可读介质上。
[0235] 本文档中描述的公开的和其他实施例、模块和功能操作可以实现为数字电子电路,或者实现为计算机软件、固件或硬件,包含本文档中公开的结构及其结构等同,或者它们中的一个或多个的组合。所公开的和其他实施例可以实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储器装置、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理设备”涵盖用于处理数据的全部设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统的代码,或者它们中的一个或多个的组合。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器设备。
[0236] 计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括如独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在包含其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
[0237] 本文档中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(应用专用集成电路))执行,并且设备也可以实现为专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
[0238] 作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个大容量存储设备或可操作地耦接到一个或多个大容量存储设备,以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或两者,例如,磁盘、磁光盘或光盘。然而,计算机不一定需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括全部形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0239] 虽然本专利文档包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本专利文件中单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中移除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
[0240] 类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为实现期望的结果要求以所示的特定顺序或按顺序执行这样的操作,或者执行全部示出的操作。此外,在本专利文件中描述的实施例中的各种系统部件的分离不应被理解为在全部实施例中都需要这种分离。
[0241] 仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来做出其他实现、增强和变化。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈