首页 / 专利库 / 视听技术与设备 / 运动补偿预测 / 仿射的运动矢量访问范围

仿射的运动矢量访问范围

阅读:218发布:2020-05-11

专利汇可以提供仿射的运动矢量访问范围专利检索,专利查询,专利分析的服务。并且本公开涉及仿射的 运动矢量 访问 范围,提出了一种视频处理的方法,该方法包含:访问存储在与当前 块 相邻的基本单元块中的至少一个中的运动矢量(MV);以及,基于访问的MV,在当前块和当前块的比特流表示之间进行视频处理。,下面是仿射的运动矢量访问范围专利的具体信息内容。

1.一种用于视频处理的方法,包括:
访问储存在与当前相邻的基本单元块中的至少一个的运动矢量(MV);以及基于所访问的MV在所述当前块与所述当前块的比特流表示之间进行视频处理。
2.如权利要求1所述的方法,其中
所述基本单元块形成位于所述当前块上方的行,所述行包含具有左上坐标(xRS,yRS)的最左侧基本单元块和具有左上角坐标(xRE,yRE)的最右侧基本单元块中的至少一个。
3.如权利要求1所述的方法,其中
所述基本单元块形成位于所述当前块左侧的列,所述列包含具有左上角坐标(xCS,yCS)的顶部基本单元块和具有左上角坐标(xCE,yCE)的底部基本单元块中的至少一个。
4.如权利要求2所述的方法,其中
yRS=yRE=y0-B,(x0,y0)表示所述当前块的左上角的坐标,并且所述基本单元块具有B×B的尺寸。
5.如权利要求3所述的方法,其中
xCS=xCE=x0-B,(x0,y0)表示所述当前块的左上角的坐标,并且所述基本单元块具有B×B的尺寸。
6.如权利要求4或5所述的方法,其中B=4。
7.如权利要求4所述的方法,其中
xRS=x0-n×W-m,n和m是整数,W表示所述当前块的宽度。
8.如权利要求5所述的方法,其中
yCS=y0-n×H-m,n和m是整数,H表示所述当前块的高度。
9.如权利要求7或8所述的方法,其中
n=0,m=0;n=0,m=1;n=1,m=1;或n=2,m=1。
10.如权利要求4所述的方法,其中
xRE=x0+n×W+m,n和m是整数,W表示所述当前块的宽度。
11.如权利要求5所述的方法,其中
yCE=y0+n×H+m,n和m是整数,H表示所述当前块的高度。
12.如权利要求10或11所述的方法,其中
n=1,m=-B;n=1,m=B;n=2,m=-B;或n=3,m=-B。
13.如权利要求2所述的方法,其中不需要位于所述当前块上方的行来预测所述当前块。
14.如权利要求3所述的方法,其中不需要位于所述当前块左侧的列来预测所述当前块。
15.如权利要求4所述的方法,其中xRS和xRE中的至少一个的值取决于储存用于预测所述当前块的辅助MV的辅助块的位置
16.如权利要求5所述的方法,其中yCS和yCE中的至少一个的值取决于储存用于预测所述当前块的辅助MV的辅助块的位置。
17.如权利要求15所述的方法,其中所述辅助块被所述位于所述当前块上方的行覆盖
18.如权利要求16所述的方法,其中所述辅助块被所述位于所述当前块左侧的列覆盖。
19.如权利要求15所述的方法,其中所述辅助块与左上角坐标(xRS,yRS)和左上角坐标(xRE,yRE)中的任一个不重叠。
20.如权利要求16所述的方法,其中所述辅助块与左上角坐标(xCS,yCS)和左上角坐标(xCE,yCE)中的任一个不重叠。
21.如权利要求2所述的方法,其中位于所述当前块上方的行的范围取决于所述当前块的位置。
22.如权利要求21所述的方法,其中如果所述当前块被确定为在P×Q区域的顶部边界处,则不需要位于所述当前块上方的行来预测所述当前块。
23.如权利要求22所述的方法,其中如果y0%Q==0,则所述当前块被确定为在所述P×Q区域的顶部边界处,所述当前块的左上角坐标表示为(x0,y0)。
24.如权利要求21所述的方法,其中XRS==x0,所述当前块的左上角坐标表示为(x0,y0)。
25.如权利要求3所述的方法,其中位于所述当前块左侧的列的范围取决于所述当前块的位置。
26.如权利要求25所述的方法,其中如果所述当前块被确定为在P×Q区域的左侧边界处,则不需要位于所述当前块左侧的列来预测所述当前块。
27.如权利要求26所述的方法,其中如果x0%P==0,则所述当前块被确定为在所述P×Q区域的左侧边界处,所述当前块的左上角坐标表示为(x0,y0)。
28.如权利要求25所述的方法,其中yCS==y0,所述当前块的左上角坐标表示为(x0,y0)。
29.如权利要求26所述的方法,其中在编码树单元区域中Q=128,在流线区域中Q=
64。
30.如权利要求27所述的方法,其中在编码树单元区域中P=128,在流水线区域中P=
64。
31.如权利要求1所述的方法,其中所述当前块被分割为多个基本单元块,所述方法还包括:
将所述当前块的左下角处的控制点(CP)MV储存在所述当前块的左下基本单元块中;
和/或
将所述当前块的右下角处的控制点(CP)MV储存在所述当前块的右下基本单元块中。
32.如权利要求31所述的方法,其中所述当前块是用4参数仿射模型或6参数仿射模型编码的。
33.如权利要求1所述的方法,还包括:
通过使用储存在所述子块中的MV,为从所述当前块分割的子块进行运动补偿
34.如权利要求33所述的方法,其中
所储存的MV是所述当前块的控制点(CP)MV或用于预测所述当前块的辅助MV。
35.如权利要求1-34中任一项所述的方法,其中所述视频处理包括将所述视频块编码为所述视频块的比特流表示和从所述视频块的比特流表示解码所述视频块中的至少一个。
36.一种视频处理设备,包括处理器,被配置为实现权利要求1至35中任一项所述的方法。
37.一种计算机程序产品,储存在非瞬态计算机可读介质中,所述计算机程序产品包含用于执行权利要求1至35中任一项中的方法的程序代码。

说明书全文

仿射的运动矢量访问范围

[0001] 相关申请的交叉引用
[0002] 根据适用的专利法和/或根据巴黎公约的规则,本申请及时要求2018年9月26日提交的国际专利申请No.PCT/CN2018/107629和2018年9月27日提交的国际专利申请No.PCT/CN2018/107869的优先权和权益。国际专利申请No.PCT/CN2018/107629和国际专利申请No.PCT/CN2018/107869的全部公开内容通过引用结合在此作为本申请公开内容的一部分技术领域
[0003] 本专利文档涉及视频编码技术、装置和系统。

背景技术

[0004] 运动补偿(MC)是视频处理中的技术,在给定之前和/或未来的的情况下,其通过考虑到相机和/或视频中的对象的运动来预测视频中的帧。运动补偿可以用于视频数据的编码中以用于视频压缩。发明内容
[0005] 本文档公开了涉及在视频编码和解码中使用仿射运动补偿的方法、系统和装置。
[0006] 在一个示例性方面中,公开了一种视频处理的方法。该方法包含:访问储存在与当前相邻的基本单元块中的至少一个的运动矢量(MV);以及,基于所访问的MV进行所述当前块与所述当前块的比特流表示之间的视频处理。
[0007] 一个示例性方面中,公开了一种视频处理设备,包括处理器,该处理器被配置为实现本文所述的方法。
[0008] 在又一代表性方面中,本文中描述的各种技术可以实施为储存在非瞬态计算机可读介质上的计算机程序产品。计算机程序产品包含程序代码,以执行本文中描述的方法。
[0009] 在又一代表性方面中,视频解码器设备可以实现如本文中描述的方法。
[0010] 所附附件、附图和以下说明书中提出了一个或多个实现方式的细节。其他特征将从说明书和附图以及权利要求变得明显。

附图说明

[0011] 图1示出了基于子块的预测计算的示例。
[0012] 图2A-2B示出了简化的仿射运动模型的示例(a)4参数仿射模型;(b)6参数仿射模型。
[0013] 图3示出了每个子块的仿射运动矢量场(MVF)的示例。
[0014] 图4A-4B示出了AF_MERGE模式的候选。
[0015] 图5示出了仿射merge模式的示例性候选位置
[0016] 图6示出了具有四个子块(A-D)的编码单元(CU)及其邻近块(a–d)的示例。
[0017] 图7示出了由邻近块的两个右侧CP推导的仿射继承的示例。
[0018] 图8通过由邻近块的两个右CP推导的仿射继承。
[0019] 图9示出了由仿射编码的上方邻近块的底行中储存的MV推导的6参数仿射继承的示例。
[0020] 图10示出了可以储存辅助MV的基本单元块的底行(阴影的)的示例。
[0021] 图11示出由仿射编码的左侧邻近块的右列中储存的MV推导的6参数仿射继承的示例。
[0022] 图12示出了可以储存辅助MV的基本单元块的右列(阴影的)的示例。
[0023] 图13示出了所使用的MV储存体的示例。
[0024] 图14是图示了可以用于形成实现本公开技术的各部分的计算机系统或其他控制装置的架构的示例的框图
[0025] 图15示出了可以用于实现本公开技术的各部分移动装置的示例性实施例的框图。
[0026] 图16是视觉媒体处理示例性方法的流程图

具体实施方式

[0027] 本文档提供若干技术,其可以被实施为数字视频编码器和解码器。本文档中使用了章节标题以便于理解,并且不将每个章节中公开的技术和实施例的范围仅限制在该章节。
[0028] 在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,或反之亦然。
[0029] 1.概述
[0030] 本发明涉及视频/图像编码技术。具体地,其涉及视频/图像编码中的仿射预测。其可以应用到现有视频编码标准中,例如HEVC,或尚待敲定的标准(多功能视频编码)。其还可以应用于未来视频/图像编码标准或视频/图像编解码器。
[0031] 2.介绍
[0032] 基于子块的预测首先由HEVC Annex I(3D-HEVC)引入到视频编码标准中。利用基于子块的预测,诸如编码单元(CU)或预测单元(PU)的块被分为若干不重叠的子块。可以为不同的子块分配不同的运动信息,诸如参考索引或运动矢量(MV),并且对每个子块单独地执行运动补偿(MC)。图1示出了基于子块的预测的概念。
[0033] 为了探索HEVC之外的未来视频编码技术,联合视频探索团队(Joint Video Exploration Team,JVET)由VCEG和MPEG于2015年共同创立。从那时起,JVET采用了许多新方法,并将其纳入名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。
[0034] 在JEM中,在若干编码工具中采用基于子块的预测,例如仿射预测、可选时域运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、双向光流(BIO)和帧速率上转换(FRUC)。仿射预测也被采用到VVC中。
[0035] 2.1 仿射预测
[0036] 在HEVC中,仅将平移运动模型应用于运动补偿预测(MCP)。而在现实世界中,存在多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,应用简化的仿射变换运动补偿预测。如图2A-2B所示,块的仿射运动场由两个(在4参数仿射模型中)或三个(在6参数仿射模型中)控制点运动矢量描述。
[0037] 图2A-2B示出了简化的仿射运动模型(a)4参数仿射模型;(b)6参数仿射模型。
[0038] 块的运动矢量场(MVF)由具有4参数仿射模型的以下等式描述
[0039]
[0040] 和6参数仿射模型:
[0041]
[0042] 其中(mvh0,mvv0)是左上控制点的运动矢量,并且(mvh1,mvv1)是右上角控制点的h v运动矢量,并且(mv2,mv2)是左下角控制点的运动矢量。点(x,y)表示相对于当前块内的左上样本的代表性点的坐标。CP运动矢量可以被信令通知(如仿射AMVP模式中一样)或on-the-fly推导(如仿射merge模式中一样)。w和h是当前块的宽度和高度。实践中,除法通过带有舍入运算的右移实现。在VTM中,代表性点被定义为子块的中心位置,例如,当子块的左上角相对于当前块内的左上样本的坐标是(xs,ys)时,代表性点的坐标被定义为(xs+2,ys+
2)。
[0043] 在无除法设计中,(1)和(2)实现为
[0044]
[0045] 对于(1)中所示的4参数仿射模型:
[0046]
[0047] 对于(2)中所示的6参数仿射模型:
[0048]
[0049] 最终,
[0050]
[0051]
[0052] Off=1<<(S-1)                                (7)
[0053] 其中S表示计算精度,例如在VVC中,S=7。在VVC中,左上样本在(xs,ys)处的子块的MC中使用的MV通过(6)计算,其中x=xs+2且y=ys+2。
[0054] 为了推导每个4×4子块的运动矢量,根据等式(1)或(2)计算每个子块的中心样本的运动矢量,如图3所示,并舍入到1/16分数精度。然后,应用运动补偿内插滤波器以用推导的运动矢量生成每个子块的预测。
[0055] 仿射模型可以从空域邻近的仿射编码块继承,诸如左、上、右上、左下和左上邻近块,如图4A中所示。例如,如果图4A中的邻近左块A以仿射模式编码,如图4B中的A0所指代,则获取含有块A的邻近CU/PU的左上角、右上角和左下角的控制点(CP)运动矢量mv0N、mv1N和mv2N。并且基于mv0N、mv1N和mv2N计算当前CU/PU上的左上角/右上/左下的运动矢量mv0C、mv1C和mv2C(其仅用于6参数仿射模型)。应注意,在VTM-2.0中,如果当前块是仿射编码的,则子块(例如VTM中的4×4块)LT储存mv0,RT储存mv1。如果当前块是用6参数仿射模型编码的,则LB储存mv2;否则(在4参数仿射模型的情况下),则LB储存mv2’。其他子块储存用于MC的MV。
[0056] 应当注意,当用仿射merge模式编码CU时,即,在AF_MERGE模式中,它从有效的邻近重构块获得用仿射模式编码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图4A所示。
[0057] 当前块的推导的CP MV mv0C、mv1C和mv2C可以用作仿射merge模式中的CP MV。或者它们可以在VVC中用作仿射帧间模式的MVP。应当注意,对于merge模式,如果当前块用仿射模式编码,则在推导当前块的CP MV之后,可以将当前块进一步划分为多个子块,并且每个块将基于当前块的推导的CP MV推导其运动信息。
[0058] 2.2 JVET-K0186
[0059] 不同于其中仅一个仿射空域邻近块可以用于推导块的仿射运动的VTM,在JVET-K0186中,提出了为AF_MERGE模式构建仿射候选的单独列表。进行以下步骤。
[0060] 1)插入继承的仿射候选到候选列表中
[0061] 图5示出了仿射merge模式的候选位置的示例。
[0062] 继承的仿射候选是指由用仿射模式编码的有效邻近重构块推导的候选。
[0063] 如图5中所示,候选块的扫描顺序是A1,B1,B0,A0和B2。当选择块(例如,A1)时,应用两步过程:
[0064] a)首先,使用覆盖块的CU的三个角部运动矢量,以推导当前块的两个/三个控制点。
[0065] b)基于当前块的控制点,以推导当前块内的每个子块的子块运动。
[0066] 2)插入构建的仿射候选
[0067] 如果仿射merge候选列表中的候选的数目少于MaxNumAffineCand,则构建的仿射候选被插入到候选列表中。
[0068] 构建的仿射候选是指通过组合每个控制点的邻近运动信息构建的候选。
[0069] 首先从指定的空域邻域和时域邻域推导控制点的运动信息,如图5中所示。CPk(k=1,2,3,4)表示第k个控制点。A0,A1,A2,B0,B1,B2和B3是预测CPk(k=1,2,3)的空域位置;T是预测CP4的时域位置。
[0070] CP1,CP2,CP3和CP4的坐标分别是(0,0),(W,0),(H,0)和(W,H),其中W和H是当前块的宽度和高度。
[0071] 每个控制点的运动信息根据以下优先级顺序获得:
[0072] -对于CP1,检查优先级是B2->B3->A2。如果B2可用则使用B2。否则,如果B2不可用,则使用B3。如果B2和B3都不可用,则使用A2。如果全部三个候选不可用,则CP1的运动信息无法获得。
[0073] -对于CP2,检查优先级是B1->B0;
[0074] -对于CP3,检查优先级是A1->A0;
[0075] -对于CP4,使用T。
[0076] 其次,控制点的组合用于构建运动模型。
[0077] 需要三个控制点的运动矢量来计算6参数仿射模型中的变换参数。可以从以下四个组合之一选择三个控制点:({CP1,CP2,CP4},{CP1,CP2,CP3},{CP2,CP3,CP4},{CP1,CP3,CP4})。例如,使用CP1,CP2和CP3控制点来构建6参数仿射运动模型,指代为仿射(CP1,CP2,CP3)。
[0078] 需要两个控制点的运动矢量来计算4参数仿射模型中的变换参数。可以从以下六个组合之一选择两个控制点({CP1,CP4},{CP2,CP3},{CP1,CP2},{CP2,CP4},{CP1,CP3},{CP3,CP4})。例如,使用CP1和CP2控制点来构建4参数仿射运动模型,指代为仿射(CP1,CP2)。
[0079] 构建的仿射候选的组合被以如下顺序插入到候选列表中:
[0080] {CP1,CP2,CP3},{CP1,CP2,CP4},{CP1,CP3,CP4},{CP2,CP3,CP4},{CP1,CP2},{CP1,CP3},{CP2,CP3},{CP1,CP4},{CP2,CP4},{CP3,CP4}
[0081] 3)插入零运动矢量
[0082] 如果仿射merge候选列表中的候选的数目少于MaxNumAffineCand,则将零运动矢量插入到候选列表中,直到列表充满。
[0083] 2.3 ATMVP(高级时域运动矢量预测)
[0084] 在第10次JVET会议上,高级时域运动矢量预测(ATMVP)被包含在基准集(BMS)-1.0参考软件中,其基于来自时域邻近图片的共位(collocated)块的运动信息推导一个编码单元(CU)的子块的多个运动。虽然它提高了时域运动矢量预测的效率,但是对现有的ATMVP设计识别出以下复杂度问题:
[0085] 如果使用多个参考图片,则不同ATMVP CU的共位图片可能不相同。这意味着需要取回多个参考图片的运动场。
[0086] 每个ATMVP CU的运动信息总是基于4×4单元推导,导致对一个ATMVP CU内的每个4×4子块的运动推导和运动补偿的多次调用。
[0087] 提出了对ATMVP的一些进一步简化,并且已经在VTM2.0中采用。
[0088] 2.3.1 使用一个固定共位图片的简化的共位块推导
[0089] 在该方法中,提出了一种简化设计以使用与在HEVC中相同的共位图片,其在条带报头处信令通知,作为用于ATMVP推导的共位图片。在块级,如果邻近块的参考图片与该共位图片不同,则使用HEVC时域MV缩放方法来缩放块的MV,并且在ATMVP中使用缩放的MV。
[0090] 指代用于取回共位图片Rcol中的运动场的运动矢量作为MVcol。为了最小化由于MV缩放引起的影响,用于推导MVcol的空域候选列表中的MV以如下方式选择:如果候选MV的参考图片是共位图片,则选择该MV并将其用作MVcol,而不使用任何缩放。否则,选择具有最接近共位图片的参考图片的MV以利用缩放来推导MVcol。
[0091] 2.3.2 自适应ATMVP子块大小
[0092] 在该方法中,提出支持用于ATMVP运动推导的子块尺寸的条带级适配。具体地,在序列级信令通知用于ATMVP运动推导的一个默认子块尺寸。另外,在条带级信令通知一个标志以指示默认子块尺寸是否用于当前条带。如果该标志为伪,则在条带的条带报头中进一步信令通知对应的ATMVP子块尺寸。
[0093] 2.4 STMVP(空时运动矢量预测)
[0094] STMVP在JEM中被提出并被采用,但尚未在VVC中被采用。在STMVP中,按照光栅扫描顺序递归地推导子CU的运动矢量。图6说明了这个概念。让我们考虑含有四个4×4子CU A,B,C和D的8×8CU。当前帧中的邻近4×4块标记为a,b,c和d。
[0095] 子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的运动矢量。
[0096] 图6示出了具有四个子块(A-D)的一个CU及其邻近块(a-d)的示例。
[0097] 2.5 示例性仿射继承方法
[0098] 为了降低仿射模型继承的存储要求,一些实施例可以实现一种方案,其中通过仅访问当前块左侧一行的MV和当前块上方的一行的MV来继承仿射模型。
[0099] 可以通过由仿射编码的邻近块的左下MV和右下MV推导当前块的CP MV来进行仿射模型继承,如图7中所示。
[0100] a.在一个示例中,mv0C=(mv0Ch,mv0Cv)和mv1C=(mv1Ch,mv1Cv)由mv0N=(mv0Nh,mv0Nv)和mv1N=(mv1Nh,mv1Nv)推导如下:
[0101]
[0102] 其中w和w’分别是当前块的宽度和邻近块的宽度。(x0,y0)是当前块的左上角的坐标,并且(x’0,y’0)是邻近块的左下角的坐标。
[0103] 替代地,此外,a和b计算过程中的除法运算可以由有或没有加法运算的移位替代。
[0104] b.例如,通过由来自图4A中的“B”和“C”的仿射编码的邻近块的左下MV和右下MV推导当前块的CP MV来进行仿射模型继承。
[0105] i.替代地,通过由来自图4A中的“B”,“C”和“E”的仿射编码的邻近块的左下MV和右下MV推导当前块的CP MV来进行仿射模型继承。
[0106] c.例如,仅当邻近块在含有当前块的M×N区域的上方(或右上,或左上)的M×N区域中,才通过由仿射编码的邻近块的左下MV和右下MV推导当前块的CP MV来进行仿射模型继承。
[0107] d.例如,y0=y’0。
[0108] i.替代地,y0=1+y0’。
[0109] e.例如,如果当前块通过由仿射编码的邻近块的左下MV和右下MV推导当前块的CP MV来继承仿射模型,则将当前块视为使用4参数仿射模型。
[0110] 图7示出了通过由邻近块的两个底CP推导来仿射继承的示例。
[0111] 可以通过由仿射编码的邻近块的右上MV和右下MV推导当前块的CP MV进行仿射模型继承,如图8中所示。
[0112] a.例如,mv0C=(mv0Ch,mv0Cv)和mv1C=(mv1Ch,mv1Cv)可以由mv0N=(mv0Nh,mv0Nv)和mv1N=(mv1Nh,mv1Nv)推导如下:
[0113]
[0114] 其中h’是邻近块的高度。w是当前块的宽度。(x0,y0)是当前块的左上角的坐标,并且(x’0,y’0)是邻近块的右上角的坐标。
[0115] 替代地,此外,a和b计算过程中的除法运算可以由有或没有加法运算的移位替代。
[0116] b.例如,通过由来自图4A中的中“A”和“D”的仿射编码的邻近块的右上MV和右下MV推导当前块的CP MV进行仿射模型继承。
[0117] i.替代地,通过由来自图4A中的“A”,“D”和“E”的仿射编码的邻近块的右上MV和右下MV推导当前块的CP MV进行仿射模型继承。
[0118] c.例如,仅当邻近块在含有当前块的M×N区域的左侧(或左上、或左下)的M×N区域中,才通过由仿射编码的邻近块的右上MV和右下MV推导当前块的CP MV进行仿射模型继承。
[0119] d.例如,x0=x’0。
[0120] i.替代地,x0=1+x’0。
[0121] e.例如,如果当前块通过由仿射编码的邻近块的右上MV和右下MV推导当前块的CP MV继承仿射模型,则将当前块视为使用4参数仿射模型。
[0122] 如果当前块不使用6参数仿射模型,则可以推导更多的CP MV并储存以用于运动矢量预测和/或滤波过程。
[0123] a.在一个示例中,储存的左下MV可以用于运动预测,包含之后编码的PU/CU的仿射模型继承。
[0124] b.在一个示例中,储存的左下MV可以用于随后的图片的运动预测中。
[0125] c.在一个示例中,储存的左下MV可以用于去块滤波过程。
[0126] d.如果仿射编码的块不使用6参数仿射模型,则为仿射编码的块推导左下角的CP MV并储存在左下MV单元中,其在VVC中是4×4。
[0127] i.左下角的CP MV(记为mv2=(mv2h,mv2v))对于4参数仿射模型推导如下
[0128]
[0129] e.对于仿射编码块推导右下角的CP MV并储存在右下MV单元中,其在VVC中是4×4。储存的右下MV可以用于运动预测,包含用于之后编码的PU/CU的仿射模型继承,或随后的图片的运动预测或去块滤波过程。
[0130] i.右下角的CP MV(记为mv3=(mv3h,mv3v))对于4参数仿射模型推导如下
[0131]
[0132] ii.右下角CP MV对于6参数仿射模型推导如下
[0133]
[0134] iii.右下角的CP MV对于4参数仿射模型和6参数仿射模型两者推导如下
[0135] a.
[0136] b.如果4参数模型中的mv2=(mv2h,mv2v)如(10)计算。
[0137] 图8示出了通过由邻近块的两个右侧CP推导来仿射继承的示例。
[0138] 3.由实施例解决的问题
[0139] 一些之前的设计仅可以支持4参数仿射模型的继承,其可能导致当启用6参数仿射模型时的编码性能损失。
[0140] 4.示例性实施例
[0141] 我们提出若干方法来在降低存储要求的情况下继承6参数仿射模型。
[0142] 以下详细的描述发明应被视为示例来解释一般概念。这些发明不应狭义地解释。此外,这些发明可以任何方式组合。本发明和其他发明之间的组合也是适用的。
[0143] 在以下的讨论中,假设仿射编码的上方或左侧邻近CU的左上角/右上角/左下角/右下角的坐标分别是(LTNx,LTNy)/(RTNx,RTNy)/(LBNx,LBNy)/(RBNx,RBNy);当前CU的左上角/右上角/左下角/右下角的坐标分别是(LTCx,LTCy)/(RTCx,RTCy)/(LBCx,LBCy)/(RBCx,RBCy);仿射编码的上方或左侧邻近CU的宽度和高度分别是w’和h’;仿射编码的当前CU的宽度和高度分别是w和h。
[0144] 1.通过以不同方式使用直接在当前块上方的行中的MV(例如,与当前块相邻的块相关联的MV)来进行仿射模型继承,所述方式取决于仿射编码的上方邻近块采用4参数仿射模型还是6参数仿射模型。
[0145] a.在一个示例中,当仿射编码的上方邻近CU采用4参数仿射模型时,应用继承方法。
[0146] b.在一个示例中,如果仿射编码的上方邻近块采用6参数仿射模型,则可以通过从如图9中所示的仿射编码的上方邻近块的左下MV和右下MV以及一个辅助MV(即,mv0N、mv1N和与辅助点相关联的辅助MV)推导当前块的CPMV而进行6参数仿射模型继承。
[0147] i.在一个示例中,仅当仿射编码的上方邻近块采用6参数仿射模型且w’>Th0(例如,Th0为8),才进行所提出的6参数仿射模型继承
[0148] ii.替代地,当上方块是用仿射模式编码的,无论其是4或6参数仿射模式,都可以调用提出的6参数仿射模型继承。
[0149] c.在一个示例中,利用辅助位置,通过仿射编码的上方邻近块的仿射模型,推导辅助MV。
[0150] i.辅助位置是预定的;
[0151] ii.替代地,辅助位置是自适应性的。例如,辅助位置取决于上方邻近块的尺寸。
[0152] iii.替代地,辅助位置在VPS/SPS/PPS/条带报头/CTU/CU中被从编码器信令通知到解码器。
[0153] iv.替代地,辅助位置是(LTNx+(w’>>1),LTNy+h’+Offset)。Offset是整数。例如,K KOffset=2。在另一示例中,Offset=-2。在一些示例中,K可以是1、2、3、4或5。具体地,辅助位置是(LTNx+(w’>>1),LTNy+h’+8)。
[0154] v.辅助MV被储存在仿射编码的上方邻近块的底行基本单元块(例如VVC中的4x4块)中一个中,如图10中所示。要储存辅助MV的基本单元块被命名为辅助块。
[0155] (a)在一个示例中,辅助MV无法储存在仿射编码的上方邻近块的左下和右下角基本单元块中。
[0156] (b)基本单元块的底行从左至右指代为B(0),B(1),…,B(M-1)。在一个示例中,辅助MV储存在基本单元块B(M/2)中。
[0157] a.替代地,辅助MV储存在基本单元块B(M/2+1)中;
[0158] b.替代地,辅助MV储存在基本单元块B(M/2-1)中;
[0159] (c)在一个示例中,储存的辅助MV可以用于之后编码的PU/CU的运动预测或merge中。
[0160] (d)在一个示例中,储存的辅助MV可以用于后续图片的运动预测或merge中。
[0161] (e)在一个示例中,储存的辅助MV可以用于滤波过程(例如,去块滤波)中。
[0162] (f)替代地,附加缓冲器可以用于储存辅助MV,而不是将它们储存在基本单元块中。在此情况下,储存的辅助MV可以仅用于仿射运动继承,而不用于编码当前条带/片或不同图片中的之后编码的块,并且不用于滤波过程(例如,去块滤波)
[0163] vi.由Eq.(2)计算辅助MV,其中辅助位置的坐标在解码仿射编码的上方邻近块之后作为输入(x,y)。并且然后辅助MV储存在辅助块中。
[0164] (a)在一个示例中,储存在辅助块中的MV不用于为辅助块进行MC。
[0165] d.在图9中所示的一个示例中,当前块的三个CPMV,指代为mv0C=(mv0Ch,mv0Cv),C Ch Cv C Ch Cvmv1=(mv1 ,mv1 )和mv2=(mv2 ,mv2 ),被从作为仿射编码的上方邻近块的左下角处的MV的mv0N=(mv0Nh,mv0Nv)、作为仿射编码的上方邻近块的右下角处的MV的mv1N=(mv1Nh,mv1Nv)以及作为辅助MV的mvA=(mvAh,mvAv)推导如下
[0166]
[0167]
[0168]
[0169]
[0170]
[0171] 其中(x0,y0)是当前块的左上角的坐标,并且(x’0,y’0)是邻近块的左下角的坐标。
[0172] 替代地,此外,(14)中的除法运算可以由在移位之前添加或不添加偏移的右移替代。
[0173] i.例如,等式(14)中的数字K取决于如何定义辅助位置以得到辅助MV。在1.c.iv所公开的示例中,辅助位置是(LTNx+(w’>>1),LTNy+h’+Offset),其中Offset=2K。在示例中,K=3。
[0174] e.例如,仅当邻近块在含有当前块的M×N区域上方(或右上,或左上)的M×N区域中,才通过从仿射编码的邻近块的左下MV和右下MV推导当前块的CP MV来进行仿射模型继承。
[0175] i.例如,M×N区域是CTU,例如128×128区域;
[0176] ii.例如,M×N区域是流线尺寸,例如64×64区域。
[0177] f.例如,y0=y’0。
[0178] i.替代地,y0=1+y’0。
[0179] 图9示出了通过从储存在仿射编码的上方邻近块的底行中的MV推导的6参数仿射继承的示例。
[0180] 图10示出了可以储存辅助MV的基本单元块的底行(阴影的)的示例。
[0181] 2.通过使用当前块左侧的行中的MV以不同方式进行仿射模型继承,所述方式取决于仿射编码的左侧邻近CU采用4参数仿射模型还是6参数仿射模型。
[0182] a.在一个示例中,当仿射编码的左侧邻近CU采用4参数仿射模型时,应用之前公开的方法。
[0183] b.在一个示例中,如果仿射编码的左侧邻近块采用6参数仿射模型,则可以通过从图11中所示的仿射编码的左侧邻近块的右上MV和右下MV以及一个辅助MV推导当前块的CPMV,进行6参数仿射模型继承。
[0184] i.在一个示例中,仅当仿射编码的左侧邻近块采用6参数仿射模型且h’>Th1(例如,Th1为8),才可以进行6参数仿射模型继承。
[0185] ii.替代地,当左侧块是用仿射模式编码时,无论其是4还是6参数仿射模式,都可以调用提出的6参数仿射模型继承。
[0186] c.在一个示例中,利用辅助位置,通过仿射编码的左侧邻近块的仿射模型推导辅助MV。
[0187] i.在一个示例中,辅助位置是预定的;
[0188] ii.在一个示例中,辅助位置是自适应性的。例如,辅助位置取决于左侧邻近块的尺寸。
[0189] iii.在一个示例中,辅助位置在VPS/SPS/PPS/条带报头/CTU/CU中被从编码器信令通知到解码器。
[0190] iv.在一个示例中,辅助位置是(LTNx+w’+Offset),LTNy+(h’>>1))。Offset是整K K数。例如,Offset=2 。在另一示例中,Offset=-2。在一些示例中,K可以是1、2、3、4或5。特别地,辅助位置是(LTNx+w’+8,LTNy+(h’>>1))。
[0191] v.辅助MV储存在仿射编码的左侧邻近块的基本单元块(例如VVC中的4x4块)的右列之一中,如图12中所示。要储存辅助MV的基本单元块命名为辅助块。
[0192] (a)在一个示例中,辅助MV无法储存在仿射编码的左侧邻近块的右上和右下角基本单元块中。
[0193] (b)基本单元块的右列从顶至底指代为B(0),B(1),…,B(M-1)。在一个示例中,辅助MV储存在基本单元块B(M/2)中。
[0194] a.替代地,辅助MV储存在基本单元块B(M/2+1)中;
[0195] b.替代地,辅助MV储存在基本单元块B(M/2-1)中;
[0196] (c)在一个示例中,储存的辅助MV可以用于之后编码的PU/CU的运动预测或merge。
[0197] (d)在一个示例中,储存的辅助MV可以用于后续图片的运动预测或merge。
[0198] (e)在一个示例中,储存的辅助MV可以用于滤波过程(例如,去块滤波)。
[0199] (f)替代地,附加缓冲器可以用于储存辅助MV,而不是将它们储存在基本单元块中。在此情况下,储存的辅助MV可以仅用于仿射运动继承,而不用于编码当前条带/片或不同图片中的之后编码的块,并且不用于滤波过程(例如,去块滤波)
[0200] vi.由等式(2)计算辅助MV,其中辅助位置的坐标在解码仿射编码的左侧邻近块之后作为输入(x,y)。并且然后辅助MV储存在辅助块中。
[0201] (a)在一个示例中,储存在辅助块中的MV不用于进行用于辅助块的MC。
[0202] d.在如图11中所示的一个示例中,当前块的三个CPMV,指代为mv0C=(mv0Ch,mv0Cv),mv1C=(mv1Ch,mv1Cv)和mv2C=(mv2Ch,mv2Cv),被从作为仿射编码的左侧邻近块的右上角处的N Nh Nv N NhMV的mv0 =(mv0 ,mv0 )、作为仿射编码的左侧邻近块的右下角处的MV的mv1 =(mv1 ,mv1Nv)以及作为辅助MV的mvA=(mvAh,mvAv),推导如下
[0203]
[0204]
[0205]
[0206]
[0207]
[0208] 其中(x0,y0)是当前块的左上角的坐标,(x’0,y’0)是邻近块的右上角的坐标。
[0209] 替代地,此外,(15)中的除法运算可以被有或没有加法运算的移位替代。
[0210] i.例如,等式(15)中的数字K取决于如何定义辅助位置以得到辅助MV。在2.c.iv所K公开的示例中,辅助位置是(LTNx+w’+Offset),LTNy+(h’>>1))其中Offset=2。在示例中,K=3。
[0211] e.例如,仅当邻近块在含有当前块的M×N区域左侧(或左上、或左下)的M×N区域中,才通过从仿射编码的邻近块的右上MV和右下MV推导当前块的CP MV来进行仿射模型继承。
[0212] i.例如,M×N区域是CTU,例如128×128区域;
[0213] ii.例如,M×N区域是流水线尺寸,例如64×64区域。
[0214] f.例如,x0=x’0。
[0215] i.替代地,x0=1+x’0。
[0216] 3.在一个示例中,当前块仅需要访问储存在当前块上方的行中的和当前块左侧的列中的基本单元(例如VVC中的4×4块)中的MV,如图13中所示。当前块的左上位置的坐标指代为(x0,y0)。当前块可以访问当前块上方的开始于具有左上坐标(xRS,yRS)的基本单元并且结束于具有左上坐标(xRE,yRE)的基本单元的基本单元行(指代为所需的上方的行)中的MV。相似地,当前块可以访问当前块左侧的开始于具有左上坐标(xCS,yCS)的基本单元并且结束于具有左上坐标(xCE,yCE)的基本单元的基本单元列(指代为所需的左侧的列)中的MV。当前块的宽度和高度分别指代为W和H。假设基本单元尺寸是B×B(例如在VVC中4×4),则yRS=yRE=y0-B且xCS=xCE=x0-B。
[0217] a.所需的上方的行和所需的左侧的列的范围可以受限。
[0218] i.在一个示例中,xRS=x0-n×W-m。n和m是整数,诸如n=0,m=0,n=0,m=1,n=1,m=1,或n=2,m=1;
[0219] ii.在一个示例中,xRE=x0+n×W+m。n和m是整数,诸如n=1,m=-B,n=1,m=B,n=2,m=-B,或n=3,m=-B;
[0220] iii.在一个示例中,yCS=y0-n×H-m。n和m是整数,诸如n=0,m=0,n=0,m=1,n=1,m=1,或n=2,m=1;
[0221] iv.在一个示例中,yCE=y0+n×H+m。n和m是整数,诸如n=1,m=-B,n=1,m=B,n=2,m=-B,或n=3,m=-B;
[0222] v.在一个示例中,当前块不需要所需的上方的行;
[0223] vi.在一个示例中,当前块不需要所需的左侧的列;
[0224] vii.在一个示例中,xRS,xRE,yCS和yCE的选择可以取决于辅助块的位置。
[0225] (a)在一个示例中,辅助块总是被所选的上方的行或左侧的列覆盖。
[0226] (b)替代地,此外,(xRS,yRS),(xRE,yRE),(xCS,yCS)和(xCE,yCE)不应与辅助块重叠。
[0227] viii.在一个示例中,所需的上方的行和所需的左侧的列的范围取决于当前块的位置。
[0228] (a)如果当前块在P×Q区域的顶部边界处,即当y0%Q==0时,其中Q可以是128(CTU区域)或64(流水线区域)
[0229] a.在一个示例中,当前块不需要所需的上方的行;
[0230] b.在一个示例中,xRS=x0;
[0231] (b)如果当前块在P×Q区域的左边界处,即当x0%P==0时,其中P可以是128(CTU区域)或64(流水线区域)
[0232] a.在一个示例中,当前块不需要所需的左侧的列;
[0233] b.在一个示例中,yCS=y0;
[0234] 4.作为标题2.d的替代方法,当前块的三个CPMV,指代为mv0C=(mv0Ch,mv0Cv),mv1C=(mv1Ch,mv1Cv)and mv2C=(mv2Ch,mv2Cv),被从作为仿射编码的左侧邻近块的右上角处的MV的mv0N=(mv0Nh,mv0Nv)、作为仿射编码的左侧邻近块的右下角处的MV的mv1N=(mv1Nh,mv1Nv)以及作为辅助MV的mvA=(mvAh,mvAv),推导如下
[0235]
[0236]
[0237]
[0238]
[0239]
[0240] 其中(x0,y0)是当前块的左上角的坐标,并且(x’0,y’0)是邻近块的右上角的坐标。
[0241] 替代地,此外,(16)中的除法运算可以被有或没有加法运算的移位替代。
[0242] 5.在标题1.c.v中,仅当仿射编码的上方邻近块是用6参数仿射模型编码的,才将辅助MV储存在仿射编码的上方邻近块的基本单元块(例如VVC中的4x4块)的底行之一(诸如中间的一个)中。
[0243] a.替代地,辅助MV储存在仿射编码的上方邻近块的基本单元块(例如VVC中的4x4块)的底行之一(诸如中间的一个)中,无论仿射编码的上方邻近块是用4参数仿射模型还是6参数仿射模型编码的。
[0244] 6.在标题2.c.v中,仅当仿射编码的左侧邻近块是用6参数仿射模型编码的,才将辅助MV储存在仿射编码的左侧邻近块的基本单元块(例如VVC中的4x4块)的右列之一(诸如中间的一个)中。
[0245] a.替代地,将辅助MV储存在仿射编码的左侧邻近块的基本单元块(例如VVC中的4x4块)的右列之一(诸如中间的一个)中,无论仿射编码的左侧邻近块是用4参数仿射模型还是6参数仿射模型编码的。
[0246] 7.在一个示例中,当前块的左下基本单元块总是储存左下角处的CPMV,无论当前块采用4参数模型还是6参数模型。例如在图3中,块LB总是储存mv2。
[0247] 8.在一个示例中,当前块的右下基本单元块总是储存右下角处的CPMV,无论当前块采用4参数模型还是6参数模型。例如在图3中,块RB总是储存mv3。
[0248] 9.以相同方式进行仿射继承,无论仿射编码的邻近块采用4参数模型还是6参数模型。
[0249] a.以6参数仿射模型继承方式从储存在仿射编码的邻近块的左上基本块、右上基本块和左下基本单元中的MV推导当前块在左上角、右上角和左下角处的CPMV(例如图4(b)中的mv0C,mv1C和mv2C)。
[0250] i.例如,储存在仿射编码的邻近块的左上基本块、右上基本块和左下基本单元中的MV是仿射编码的邻近块的左上角、右上角和右下角处的CPMV。
[0251] b.以标题1中限定的方式从储存在仿射编码的上方邻近块的基本单元的底行的左下基本单元、右下基本单元和额外基本单元中的MV推导当前块在左上角、右上角和左下角C C C处的CPMV(例如图4(b)中的mv0,mv1和mv2)。
[0252] i.例如,储存在仿射编码的上方邻近块的基本单元的底行中的左下基本单元、右下基本单元和额外基本单元中的MV是仿射编码的邻近块的左下角处的CPMV、右下角处的CPMV和辅助MV。
[0253] c.以标题2中限定的方式从储存在仿射编码的左侧邻近块的基本单元的右列中的右上基本单元、右下基本单元和额外基本单元中的MV推导当前块在左上角、右上角和左下角处的CPMV(例如图4(b)中的mv0C,mv1C和mv2C)。
[0254] i.例如,储存在仿射编码的左侧邻近块的基本单元的右列中的右上基本单元、右下基本单元和额外基本单元中的MV是仿射编码的邻近块的右上角处的CPMV、右下角处的CPMV和辅助MV。
[0255] d.继承的仿射merge块总是标记为“使用6参数”
[0256] e.当从上方邻近块继承仿射模型,并且上方邻近块的宽度不大于8时,则将辅助MV计算为储存在左下基本单元和右下基本单元中的MV的平均。
[0257] i.例如,储存在仿射编码的上方邻近块的左下基本单元、右下基本单元中的MV是仿射编码的上方邻近块的左下角处的CPMV和右下角处的CPMV。
[0258] f.当从左侧邻近块继承仿射模型,并且左侧邻近块的高度不大于8时,则将辅助MV计算为储存在右上基本单元和右下基本单元中的MV的平均。
[0259] i.例如,储存在仿射编码的左侧邻近块的右上基本单元、右下基本单元中的MV是仿射编码的左侧邻近块的右上角处的CPMV和右下角处的CPMV。
[0260] 10.在一个示例中,由储存在子块中的MV进行用于子块的MC。
[0261] a.例如,储存的MV是CPMV;
[0262] b.例如,储存的MV是辅助MV。
[0263] 11.以相同方式进行仿射继承,无论仿射编码的邻近块采用4参数模型还是6参数模型。
[0264] 12.每个编码块要储存的辅助MV可以多于1。
[0265] a.辅助MV的使用可以与上述方式相同。
[0266] 图11示出了通过从储存在仿射编码的左侧邻近块的右列中的MV推导的6参数仿射继承的示例。
[0267] 图12示出了可以储存辅助MV的基本单元块的右列(阴影的)的示例。
[0268] 图13示出了MV储存体的示例。
[0269] 5.其他实施例
[0270] 本章节公开了所提出的本发明的实施例的示例。应注意,其仅是所提出的方法的全部可能实施例之一,并且不应以狭隘方式理解。
[0271] 归一化(a,b)如等式(7)中定义。
[0272] 输入:
[0273] 当前块到左上角的坐标,记为(posCurX,posCurY);
[0274] 邻近块的左上角的坐标,记为(posLTX,posLTY);
[0275] 邻近块的右上角的坐标,记为(posRTX,posRTY);
[0276] 邻近块的左下角的坐标,记为(posLBX,posLBY);
[0277] 邻近块的右下角的坐标,记为(posRBX,posRBY);
[0278] 当前块的宽度和高度,记为W和H;
[0279] 邻近块的宽度和高度,记为W’和H’;
[0280] 邻近块的左上角处的MV,记为(mvLTX,mvLTY);
[0281] 邻近块的右上角处的MV,记为(mvRTX,mvRTY);
[0282] 邻近块的左下角处的MV,记为(mvLBX,mvLBY);
[0283] 邻近块的右下角处的MV,记为(mvRBX,mvRBY);
[0284] 常数:移位,其可以为任意正整数,诸如7或8。
[0285] 输出:
[0286] 当前块的左上角处的MV,记为(MV0X,MV0Y);
[0287] 当前块的右上角处的的MV,记为(MV1X,MV1Y);
[0288] 当前块的右下角处的MV,记为(MV2X,MV2Y);
[0289] 仿射模型继承的例程:
[0290]
[0291]
[0292]
[0293] 图14是示出可用于实现本公开技术的各部分的计算机系统或其他控制装置2600的架构的示例的框图。在图14中,计算机系统2600包含经由互连2625连接的一个或多个处理器2605和存储器2610。互连2625可以表示由适当的桥接器、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或两者。因此,互连2625可以包含例如系统总线、外围组件互连(PCI)总线、HyperTransport或行业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线或电气和电子工程师协会(IEEE)标准674总线,有时也称为“Firewire”。
[0294] (多个)处理器2605可以包含中央处理单元(CPU),以控制例如主机计算机的整体操作。在某些实施例中,(多个)处理器2605通过执行存储在存储器2610中的软件或固件来实现此目的。(多个)处理器2605可以是或可包含一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、应用专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些器件的组合。
[0295] 存储器2610可以是或包含计算机系统的主存储器。存储器2610表示任何合适形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存等,或这些设备的组合。在使用中,除其他之外,存储器2610可以包含一组机器指令,当由处理器2605执行时,使得处理器2605执行操作以实现本公开技术的实施例。
[0296] 还通过互连2625连接到(多个)处理器2605的是(可选的)网络适配器2615。网络适配器2615向计算机系统2600提供与远程设备(例如存储客户端)和/或其他存储服务器通信的能,并且可以是例如以太网适配器或光纤信道适配器。
[0297] 图15示出了可用于实现本公开技术的各部分的装置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修改视频帧
[0298] 图16是一种用于视频处理的方法1600的流程图。方法1600包括:访问(1602)储存在与当前块相邻的基本单元块中的至少一个中的运动矢量(MV);以及,基于所访问的MV,在当前块与当前块的比特流表示之间进行(1604)视频处理。
[0299] 本文档中公开的各种实施例和技术可以在以下示例的列表中描述。
[0300] 1.视频处理的方法,包括:
[0301] 访问储存在与当前块相邻的基本单元块中的至少一个的运动矢量(MV);以及[0302] 基于所访问的MV在所述当前块与所述当前块的比特流表示之间进行视频处理。
[0303] 2.如示例1所述的方法,其中
[0304] 所述基本单元块形成位于所述当前块上方的行,所述行包含具有左上角坐标(xRS,yRS)的最左侧基本单元块和具有左上角坐标(xRE,yRE)的最右侧基本单元块中的至少一个。
[0305] 3.如示例1所述的方法,其中
[0306] 所述基本单元块形成位于所述当前块左侧的列,所述列包含具有左上角坐标(xCS,yCS)的顶部基本单元块和具有左上角坐标(xCE,yCE)的底部基本单元块中的至少一个。
[0307] 4.如示例2所述的方法,其中
[0308] yRS=yRE=y0-B,(x0,y0)表示所述当前块的左上角的坐标,并且所述基本单元块具有B×B的尺寸。
[0309] 5.如示例3所述的方法,其中
[0310] xCS=xCE=x0-B,(x0,y0)表示所述当前块的左上角的坐标,并且所述基本单元块具有B×B的尺寸。
[0311] 6.如示例4或5所述的方法,其中B=4。
[0312] 7.如示例4所述的方法,其中
[0313] xRS=x0-n×W-m,n和m是整数,W表示所述当前块的宽度。
[0314] 8.如示例5所述的方法,其中
[0315] yCS=y0-n×H-m,n和m是整数,H表示所述当前块的高度。
[0316] 9.如示例7或8所述的方法,其中
[0317] n=0,m=0;n=0,m=1;n=1,m=1;或n=2,m=1。
[0318] 10.如示例4所述的方法,其中
[0319] xRE=x0+n×W+m,n和m是整数,W表示所述当前块的宽度。
[0320] 11.如示例5所述的方法,其中
[0321] yCE=y0+n×H+m,n和m是整数,H表示所述当前块的高度。
[0322] 12.如示例10或11所述的方法,其中
[0323] n=1,m=-B;n=1,m=B;n=2,m=-B;或n=3,m=-B。
[0324] 13.如示例2所述的方法,其中不需要位于所述当前块上方的行来预测所述当前块。
[0325] 14.如示例3所述的方法,其中不需要位于所述当前块左侧的列来预测所述当前块。
[0326] 15.如示例4所述的方法,其中xRS和xRE中的至少一个的值取决于储存用于预测所述当前块的辅助MV的辅助块的位置。
[0327] 16.如示例5所述的方法,其中yCS和yCE中的至少一个的值取决于储存用于预测所述当前块的辅助MV的辅助块的位置。
[0328] 17.如示例15所述的方法,其中所述辅助块被所述位于所述当前块上方的行覆盖。
[0329] 18.如示例16所述的方法,其中所述辅助块被所述位于所述当前块左侧的列覆盖。
[0330] 19.如示例15所述的方法,其中所述辅助块与左上角坐标(xRS,yRS)和左上角坐标(xRE,yRE)中的任一个不重叠。
[0331] 20.如示例16所述的方法,其中所述辅助块与左上角坐标(xCS,yCS)和左上角坐标(xCE,yCE)中的任一个不重叠。
[0332] 21.如示例2所述的方法,其中位于所述当前块上方的行的范围取决于所述当前块的位置。
[0333] 22.如示例21所述的方法,其中如果所述当前块被确定为在P×Q区域的顶部边界处,则不需要位于所述当前块上方的行来预测所述当前块。
[0334] 23.如示例22所述的方法,其中如果y0%Q==0,则所述当前块被确定为在所述P×Q区域的顶部边界处,所述当前块的左上角坐标表示为(x0,y0)。
[0335] 24.如示例21所述的方法,其中XRS==x0,所述当前块的左上角坐标表示为(x0,y0)。
[0336] 25.如示例3所述的方法,其中位于所述当前块左侧的列的范围取决于所述当前块的位置。
[0337] 26.如示例25所述的方法,其中如果所述当前块被确定为在P×Q区域的左侧边界处,则不需要位于所述当前块左侧的列来预测所述当前块。
[0338] 27.如示例26所述的方法,其中如果x0%P==0,则所述当前块被确定为在所述P×Q区域的左侧边界处,所述当前块的左上角坐标表示为(x0,y0)。
[0339] 28.如示例25所述的方法,其中yCS==y0,所述当前块的左上角坐标表示为(x0,y0)。
[0340] 29.如示例26所述的方法,其中在编码树单元区域中Q=128,在流水线区域中Q=64。
[0341] 30.如示例27所述的方法,其中在编码树单元区域中P=128,在流水线区域中P=64。
[0342] 31.如示例1所述的方法,其中所述当前块被分割为多个基本单元块,所述方法还包括:
[0343] 将所述当前块的左下角处的控制点(CP)MV储存在所述当前块的左下基本单元块中;和/或
[0344] 将所述当前块的右下角处的控制点(CP)MV储存在所述当前块的右下基本单元块中。
[0345] 32.如示例31所述的方法,其中所述当前块是用4参数仿射模型或6参数仿射模型编码的。
[0346] 33.如示例1所述的方法,还包括:
[0347] 通过使用储存在所述子块中的MV,为从所述当前块分割的子块进行运动补偿。
[0348] 34.如示例33所述的方法,其中
[0349] 所储存的MV是所述当前块的控制点(CP)MV或用于预测所述当前块的辅助MV。
[0350] 35.如示例1-34中任一项所述的方法,其中所述视频处理包括将所述视频块编码为所述视频块的比特流表示和从所述视频块的比特流表示解码所述视频块中的至少一个。
[0351] 36.一种视频处理设备,包括处理器,被配置为实现示例1至35中任一项所述的方法。
[0352] 37.一种计算机程序产品,储存在非瞬态计算机可读介质中,所述计算机程序产品包含用于执行示例1至35中任一项中的方法的程序代码。
[0353] 本文档中描述的公开的和其他实施例、模块和功能操作可以实现为数字电子电路,或者实现为计算机软件、固件或硬件,包含本文档中公开的结构及其结构等同,或者它们中的一个或多个的组合。所公开的和其他实施例可以实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储器装置、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理设备”涵盖用于处理数据的全部设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统的代码,或者它们中的一个或多个的组合。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器设备。
[0354] 计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括如独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在包含其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
[0355] 本文档中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(应用专用集成电路))执行,并且设备也可以实现为专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
[0356] 作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个大容量存储设备或可操作地耦接到一个或多个大容量存储设备,以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或两者,例如,磁盘、磁光盘或光盘。然而,计算机不一定需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括全部形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0357] 虽然本专利文档包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本专利文件中单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中移除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
[0358] 类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为实现期望的结果要求以所示的特定顺序或按顺序执行这样的操作,或者执行全部示出的操作。此外,在本专利文件中描述的实施例中的各种系统部件的分离不应被理解为在全部实施例中都需要这种分离。
[0359] 仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来做出其他实现、增强和变化。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈