首页 / 专利库 / 视听技术与设备 / 运动补偿预测 / 涉及仿射运动的一般应用

涉及仿射运动的一般应用

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

专利汇可以提供涉及仿射运动的一般应用专利检索,专利查询,专利分析的服务。并且本 申请 公开了涉及仿射运动的一般应用。 视频编码 方法包括:在视频的当前 块 和当前块的比特流表示之间的转换期间,使用当前块的所述仿射模型;其中仿射模型使用从当前块内的子块的中心偏移的代表点。,下面是涉及仿射运动的一般应用专利的具体信息内容。

1.一种视频处理方法,包括:
在视频的当前和所述当前块的比特流表示之间的转换期间,使用所述当前块的仿射模型,
其中所述仿射模型使用从所述当前块内的子块的中心偏移的代表点。
2.根据权利要求1所述的方法,其中,所述子块包括M x N个像素,其中M和N是整数,并且所述代表点被设置为((M>>1)-0.5,(N>>1)-0.5)、或者((M>>1)-0.5,(N>>1))、或者((M>>
1),(N>>1)-0.5)、或者((M>>1)+0.5,(N>>1))、或者((M>>1),(N>>1)+0.5)、或者((M>>1)+
0.5,(N>>1)+0.5)。
3.根据权利要求1所述的方法,其中,当所述子块的左上相对于所述当前块的左上角样本点的坐标为(xs,ys)时,所述代表点的坐标被定义为(xs+1.5,ys+1.5)。
4.根据权利要求3所述的方法,其中,通过使用所述代表点的所述坐标导出所述代表点的运动矢量
5.根据权利要求3所述的方法,其中,将附加偏移(0.5,0.5)或(-0.5,-0.5)或(0,0.5),或(0.5,0),或(-0.5,0)或(0,-0.5)添加到所述代表点。
6.根据权利要求1所述的方法,还包括:
将所述当前块的一个或多个存储的运动信息与用于所述当前块的运动补偿的对应运动信息对齐。
7.根据权利要求6所述的方法,其中,位于子块角的所述一个或多个存储的运动信息被用于所述当前块的运动补偿的位于子块中心的所述对应运动信息替换。
8.一种视频处理方法,包括:
在视频的当前块和所述当前块的比特流表示之间的转换期间,使用以不同于从非仿射编码块提取的第二运动候选的方式从仿射编码块提取的第一运动候选;以及使用所述第一运动候选或所述第二运动候选执行所述转换。
9.根据权利要求8所述的方法,其中,所述第一和第二运动候选是运动矢量预测模式的运动矢量预测候选或Merge候选。
10.根据权利要求9所述的方法,其中,不将所述第一运动候选放入运动候选列表或Merge候选列表。
11.根据权利要求9所述的方法,其中,以低于所述第二运动候选的优先级将所述第一运动候选放入运动候选列表或Merge候选列表。
12.根据权利要求11所述的方法,其中,将所述第一运动候选置于所述运动候选列表或所述Merge候选列表中较后的位置
13.一种视频处理方法,包括:
在视频的当前块和所述当前块的比特流表示之间的转换期间,使用仿射运动矢量预测候选列表和/或仿射Merge候选列表;
其中,所述运动矢量预测候选列表和/或所述仿射Merge候选列表具有自适应的尺寸。
14.根据权利要求13所述的方法,其中,所述仿射运动矢量预测候选列表和/或所述仿射Merge候选列表的所述尺寸基于所述当前块的尺寸自适应。
15.根据权利要求14所述的方法,其中,所述仿射运动矢量预测候选列表和/或所述仿射Merge候选列表的所述尺寸与所述当前块的所述尺寸成比例。
16.根据权利要求13所述的方法,其中,所述仿射运动矢量预测候选列表和/或所述仿射Merge候选列表的所述尺寸基于一个或多个空间或视域相邻块的编码模式自适应。
17.根据权利要求16所述的方法,其中,所述仿射Merge候选列表的所述尺寸与仿射编码的空间相邻块的数目成比例。
18.一种视频处理方法,包括:
在视频的当前块和所述当前块的比特流表示之间的转换期间,导出存储在位于所述当前块的一个或多个边界处的子块中的运动矢量;以及
使用存储在所述子块中的所述运动矢量执行所述转换。
19.根据权利要求18所述的方法,其中,所述当前块的所述一个或多个边界包括所述当前块的右边界和/或底边界。
20.根据权利要求18或19所述的方法,其中,通过使用代表点在所述子块外的仿射模型导出存储在位于所述当前块的一个或多个边界处的所述子块中的所述运动矢量。
21.根据权利要求19所述的方法,其中,通过使用4参数仿射模型或6参数仿射模型导出存储在位于所述当前块的一个或多个边界处的所述子块中的所述运动矢量。
22.根据权利要求21所述的方法,还包括:
确定所述子块的位置;以及
基于所述子块的所述位置,确定代表点相对于所述当前块的左上角坐标的坐标,其中所述子块包括M x N个像素,其中M和N是整数。
23.根据权利要求22所述的方法,其中,响应于所述子块位于右边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M+M/2,N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
24.根据权利要求22所述的方法,其中,响应于所述子块位于底边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M/2,N+N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
25.根据权利要求22所述的方法,其中,响应于所述子块位于当前块的右下角的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M+M/2,N/2)、(M/2,N+N/2)或(M+M/2,N+N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
26.根据权利要求22所述的方法,其中,响应于所述子块位于右边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M/2,N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
27.根据权利要求22所述的方法,其中,响应于所述子块位于底边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M/2,N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
28.根据权利要求22所述的方法,其中,响应于所述子块位于底边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M,N),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
29.根据权利要求22所述的方法,其中,响应于所述子块位于右边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M,N),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
30.根据权利要求22所述的方法,其中,响应于所述子块位于底边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(0,N),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
31.根据权利要求22所述的方法,其中,响应于所述子块位于右边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M,0),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
32.根据权利要求22所述的方法,其中,响应于所述子块位于右下角的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M,N),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
33.根据权利要求1至32中任一项所述的方法,其中所述转换包括:从所述比特流表示重构所述当前块。
34.根据权利要求1至32中任一项所述的方法,其中所述转换包括:从所述当前块生成所述比特流表示。
35.一种视频处理装置,其包括处理器,所述处理器被配置为实现权利要求1至34中任一项或多项所述的方法。
36.一种其上存储了代码的计算机可读程序介质,所述代码包括指令,当所述指令被处理器执行时,使所述处理器实现权利要求1至34中任一项或多项所述的方法。

说明书全文

涉及仿射运动的一般应用

[0001] 相关申请的交叉引用
[0002] 根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2018年9月23日提交的国际专利申请号PCT/CN2018/107165的优先权和利益。将国际专利申请号PCT/CN2018/107165的全部公开以引用方式并入本文,作为本申请公开的一部分。

技术领域

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

背景技术

[0004] 运动补偿(MC)是一种视频处理中的技术,给出先前的和/或将来的,通过考虑相机和/或视频中的对象的运动来预测视频中的帧。运动补偿可以用于视频数据的编码以实现视频压缩。发明内容
[0005] 本文件公开了与视频编码和解码中的仿射运动补偿的使用相关的方法、系统和设备。
[0006] 在一个示例方面,公开了一种视频编码或解码的方法。该方法包括:在视频的当前和当前块的比特流表示之间的转换期间,使用当前块的仿射模式;为当前块的一部分确定运动补偿之后的当前块的更新的运动信息;在后续视频块和其各自的比特流表示的转换期间使用更新的运动信息。
[0007] 在另一示例方面,公开了一种视频处理方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,导出所述当前块的非仿射模式的运动矢量预测,以及使用所述当前块的所述非仿射模式执行所述转换。基于仿射模型从相邻仿射编码块导出所述非仿射模式。
[0008] 在又一示例方面,公开了一种视频处理方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用所述当前块的仿射编码模式。所述仿射模式使用从所述当前块中心偏移的代表点。
[0009] 在又一示例方面,公开了一种视频处理方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用以不同于从非仿射编码块提取的第二运动候选的方式从仿射编码块提取的第一运动候选;以及使用所述第一运动候选或所述第二运动候选执行所述转换。
[0010] 在另一示例方面,公开了一种用于视频处理的方法。该方法包括:在视频的当前块和当前块的比特流表示之间的转换期间,使用运动矢量预测(MVP)候选列表和仿射Merge候选列表;以及使用MVP候选列表或仿射Merge候选列表执行所述转换。
[0011] 在另一示例方面,公开了一种用于视频处理的方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用所述当前块的仿射运动模式;在运动补偿之后更新所述当前块的运动信息,以获得所述当前块的更新的运动信息;以及在后续视频块和其各自的比特流表示的转换期间使用所述更新的运动信息。
[0012] 在另一示例方面,公开了一种用于视频处理的方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,导出所述当前块的非仿射模式的运动矢量预测,其中基于仿射模型从相邻仿射编码块导出所述非仿射模式的运动矢量预测;以及使用所述当前块的所述非仿射模式的运动矢量预测执行所述转换。
[0013] 在另一示例方面,公开了一种用于视频处理的方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用所述当前块的所述仿射模型;其中所述仿射模型使用从所述当前块内的子块的中心偏移的代表点。
[0014] 在另一示例方面,公开了一种用于视频处理的方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用以不同于从非仿射编码块提取的第二运动候选的方式从仿射编码块提取的第一运动候选;以及使用所述第一运动候选或所述第二运动候选执行所述转换。
[0015] 在另一示例方面,公开了一种用于视频处理的方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用仿射运动矢量预测候选列表和/或仿射Merge候选列表;并且其中,所述运动矢量预测候选列表和/或所述仿射Merge候选列表具有自适应的尺寸。
[0016] 在另一示例方面,公开了一种用于视频处理的方法。该方法包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,导出存储在位于所述当前块的一个或多个边界处的子块中的运动矢量;以及使用存储在所述子块中的所述运动矢量执行所述转换。
[0017] 在另一示例方面,公开了实现上述视频解码方法的视频解码器装置。
[0018] 在另一方面,公开了一种视频编码器装置,其包括配置成实现上述公开方法的一个或多个处理器。
[0019] 在又一典型方面,本文描述的各种技术可以被实现为存储在非暂时性计算机可读介质上的计算机程序产品。计算机程序产品包括用于执行本文所述方法的程序代码。
[0020] 在又一典型方面,视频解码器装置可以实现本文所述的方法。
[0021] 在附件、附图、和下面的说明书中描述了一个或多个实现的细节。其它特征将从描述和附图、以及从权利要求书中显而易见。

附图说明

[0022] 图1示出了基于子块的预测计算的示例。
[0023] 图2A-2B示出了简化仿射运动模型的示例。(a)4参数仿射模型;(b)6参数仿射模型。
[0024] 图3示出了每个子块的仿射运动矢量场(MVF)的示例。
[0025] 图4A-4B显示AF_Merge模式的候选。
[0026] 图5示出了位于右边界和底边界处的子块被突出的块的示例。
[0027] 图6A-6D示出了用于导出存储在右边界和底边界处的子块中的MV的位置的示例。
[0028] 图7示出了用于导出MV预测的像素位置。
[0029] 图8是示出可用于实现本公开技术的各个部分的计算机系统或其他控制设备的架构的示例的框图
[0030] 图9示出了可用于实现本公开技术的各个部分的移动设备的示例性实施例的框图。
[0031] 图10是视觉媒体处理的示例方法的流程图
[0032] 图11是视频处理的另一示例方法的流程图。
[0033] 图12是视频处理的另一示例方法的流程图。
[0034] 图13是视频处理的另一示例方法的流程图。
[0035] 图14是视频处理的另一示例方法的流程图。
[0036] 图15是视频处理的另一示例方法的流程图。
[0037] 图16是视频处理的另一示例方法的流程图。
[0038] 图17示出了典型的高效视频编码(HEVC)视频编码器和解码器的示例框图。

具体实施方式

[0039] 本文提供了几种可实施在数字视频编码器和解码器中的技术。为了清晰理解,在本文中使用了章节标题,并且不将每个章节中描述的技术和实施例的范围仅限于该章节。
[0040] 由于对更高分辨率视频的需求的增加,视频编码方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路软件,并且不断被改进以提供更高的编码效率。视频编解码器将未压缩视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂度、对数据丢失和错误的敏感性、编辑的简易性、随机访问、以及端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编码(HEVC)标准(也称为H.265或MPEG-H第2部分)、待定案的多功能视频编码(VVC)标准、或其他当前和/或未来的视频编码标准。
[0041] 1.总结
[0042] 本发明涉及视频/图像编码技术。具体来说,涉及视频/图像编码中的运动矢量预测。它可以应用于如HEVC的现有的视频编码标准,或待定案的标准(多功能视频编码)。它也可适用于未来的视频/图像编码标准或视频/图像编解码器。
[0043] 2.介绍
[0044] 基于子块的预测由HEVC附件I(3D-HEVC)首次引入到视频编码标准中。利用基于子块的预测,将诸如编码单元(CU)或预测单元(PU)的块划分为几个不重叠的子块。不同的子块可以被分配不同的运动信息,例如参考索引或运动矢量(MV),并且对每个子块分别执行运动补偿(MC)。图1示出了基于子块的预测的概念。
[0045] 为探索HEVC之外的未来视频编码技术,VCEG和MPEG于2015年共同成立了联合视频探索团队(JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。
[0046] 在JEM中,诸如仿射预测、可选时域运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、双向光流(BIO)和帧速率上转换(FRUC)的多种编码工具中都采用了基于子块的预测。在VVC中也采用了仿射预测。
[0047] 2.1仿射预测
[0048] 在HEVC中,仅将平移运动模型应用于运动补偿预测(MCP)。而在现实世界中,存在很多种运动,例如,放大/缩小、旋转、透视以及其它不规则运动。在VVC中,应用了简化的仿射变换运动补偿预测。如图2A-2B所示,块的仿射运动场由两个(在4参数仿射模型中)或三个(在6参数仿射模型中)控制点运动矢量描述。
[0049] 图2A和2B示出了简化的仿射运动模型。具体地,图2A示出了4参数仿射模型的示例;并且图2B示出了6参数仿射模型的示例。
[0050] 块的运动矢量场(MVF)用以下等式描述,其中4参数仿射模型:
[0051]
[0052] 和6参数仿射模型:
[0053]
[0054] 其中(mvh0,mvh0)为左上控制点的运动矢量,(mvh1,mvh1)为右上角控制点的运动矢量,并且(mvh2,mvh2)为左下角控制点的运动矢量,(x,y)表示代表点相对于当前块内的左上角样本点的坐标。CP运动矢量可以被信令通知(例如,在仿射AMVP模式中)或者是动态地导出(例如,在仿射Merge模式中)。w和h是当前块的宽度和高度。实际上,除法是通过右移和取整操作来实现的。在VVC测试模型(VTM)中,代表点被定义为子块的中心位置,例如,当子块的左上角相对于当前块内的左上角样本点的坐标为(xs,ys)时,代表点的坐标被定义为(xs+2,ys+2)。
[0055] 在免于除法的设计中,(1)和(2)实现为:
[0056]
[0057] 对于(1)中示出的4参数仿射模型:
[0058]
[0059] 对于(2)中示出的6参数仿射模型:
[0060]
[0061] 最后,
[0062]
[0063]
[0064] 其中,S表示计算精度。例如,在VVC中,S=7。在VVC中,MC中使用的左上角样本点在(xs,ys)处的子块的MV通过(6)计算(其中x=xs+2且y=ys+2)。
[0065] 为了导出每个4×4子块的运动矢量,如图3所示,根据等式(1)或等式(2)计算每个子块的中心样本点的运动矢量,并四舍五入到1/16分数精度。然后应用运动补偿插值滤波器,以利用导出的运动矢量生成每个子块的预测。
[0066] 图3示出了每个子块的仿射MVF的示例。
[0067] 可以从如图4A所示的诸如左、上、右上、左下和左上相邻块的空间相邻仿射编码块继承仿射模型。例如,如果相邻左下块A如图4B中所示以仿射模式编码,则获取包含块A的相邻CU的左上角、右上角和左下角的控制点(CP)运动矢量mv0N,mv1N和mv2N。基于mv0N,mv1N和mv2N计算当前CU的左上角/右上角/左下角的运动矢量mv0C,mv1C和mv2C(其仅用于6参数仿射模型)。
[0068] 继承的CP MVmv0C,mv1C和mv2C可以用作仿射Merge模式下的CP MV。或者它们可以用作VVC中仿射帧间模式的MVP。
[0069] 在VVC的当前仿射设计中,存储在子块中的运动矢量和用于执行运动补偿的运动矢量可以不同。以图3为例。对于4参数模型,子块角处的mv0和mv1分别存储在LT和RT两个子块中,而子块中心处的mv0'和mv1'分别用于执行LT和RT的MC。此外,子块角处的mv2存储在子块LB中,而mv2'用于对LB执行MC。此外,对于6参数模型,子块角处的mv3存储在子块LR中,而mv3'用于对LR执行MC。这种设计是为了更精确地预测使用仿射模式的相邻块的运动矢量。
[0070] 图4A和4B示出AF_Merge候选的示例。
[0071] 在当前的VVC中,仿射模型只能由仿射编码块使用,而不能由非仿射编码块使用。
[0072] 3.示例技术
[0073] 公开了允许仿射模型被非仿射编码块使用的几种方法。
[0074] 下面的详细示例和技术应视为解释一般概念的示例。这些发明不应狭义地加以解释。此外,这些发明可以以任何方式组合。本发明与其他发明之间的组合同样适用。
[0075] 技术1:与从仿射运动预测的非仿射块相关
[0076] 1.提出了在运动补偿之后更新仿射编码块的运动信息,并存储更新的运动信息,并用于后续编码/解码块的运动预测。
[0077] a.在一个示例中,更新的运动信息用于不同图片中的后续编码/解码块的运动预测。
[0078] b.在一个示例中,滤波处理(例如,去块化滤波器)取决于更新的运动信息。
[0079] c.可以在进一步的条件下调用更新处理,例如,仅对一个CTU的右侧和/或底部仿射子块。在这种情况下,滤波处理可取决于未更新的运动信息,并且更新的运动信息可用于当前条带/片或其它图片中的后续编码/
[0080] 解码块。
[0081] 2.在一个示例中,存储在位于右边界和/或底边界处的子块中的MV可以不同于用于子块的MC的MV。图5示出了示例,其中位于右边界和底边界的子块被阴影化。
[0082] a.在一个示例中,位于右边界和/或底边界的子块中存储的MV可以用作当前帧或不同帧中的后续编码/解码块的MV预测或候选。
[0083] b.在一个示例中,可以使用在子块外部具有代表点的仿射模型导出位于右边界和/或底边界的子块中存储的MV。
[0084] c.在一个示例中,为右边界和/或底边界存储两组MV,一组MV用于去块化、时域运动预测,并且另一组用于当前图片中后续PU/CU的运动预测。图5示出了右边界和底边界处的子块被阴影化的示例。
[0085] 3.假设当前块左上角的坐标为(x0,y0),子块左上角的坐标为(x',y'),子块的尺寸为M×N,并且存储在子块中的MV表示为(MVx,MVy)。(MVx,MVy)用4参数仿射模型的公式(1)计算,或用6参数仿射模型的公式(2)计算,其中代表点(x,y)设置为(xp-x0,yp-y0),并且(xp,yp)可定义如下:
[0086] a.如果子块在右边界,则xp=x’+M+M/2,yp=y’+N/2;在图6A中描绘了这样的示例。
[0087] b.如果子块在底边界,则xp=x’+M/2,yp=y’+N+N/2,在图6A中描绘了这样的示例;
[0088] c.对于右下角,代表点(x,y)可以定义为:
[0089] i.在一个示例中,如果子块在右下角,则xp=x’+M+M/2,yp=y’+N/2;
[0090] ii.在一个示例中,如果子块在右下角,则xp=x’+M/2,yp=y’+N+N/2;
[0091] iii.在一个示例中,如果子块在右下角,则xp=x’+M+M/2,yp=y’+N+N/2;
[0092] d.如果子块在右边界,则xp=x’+M,yp=y’+N/2;这样的示例在图6B中描述;
[0093] e.如果子块在底边界,则xp=x’+M/2,yp=y’+N;这样的示例在图6B中描述;
[0094] f.如果子块在右下角,则xp=x’+M,yp=y’+N。图6B中描绘了这样的示例;
[0095] g.如果子块在右边界或底边界,则xp=x’+M,yp=y’+N。图6C中描绘了这样的示例;
[0096] h.如果子块位于底边界,则xp=x’,yp=y’+N。图6D中描绘了这样的示例;
[0097] i.如果子块在右边界,则xp=x’+M,yp=y’;这样的示例在图6D中描述;
[0098] j.如果子块在右下角,则xp=x’+M,yp=y’+N。图6D描绘了这样的示例。图6A至6D示出了用以导出存储在右边界和底边界的子块中的MV的可能的位置。
[0099] 4.在一个示例中,当导出其存储的MV时,位于底边界或右边界的一些子块是特殊的。
[0100] a.对于右上角(如图3所示的块RT),它总是存储右上角的MV(如图3所示的mv1)。
[0101] b.对于左下角(如图3所示的块LB),它总是存储左下角的MV在(如图3所示的mv2)。
[0102] i.或者,对于左下角,它仅在mv2是信令通知的MV时存储MV。
[0103] c.对于右下角(如图3所示的块RB),它总是存储右下角的MV(如图3所示的mv3)。
[0104] 5.在一个示例中,可以基于仿射模型从相邻仿射编码块导出当前非仿射编码块的MV预测(可包括两个帧间预测方向的一个MV或两个MV)。
[0105] a.例如,当当前块用帧间模式编码时,MV预测可以用作MVP候选列表中的MVP候选。
[0106] b.例如,当当前块用Merge模式编码时,MV预测可以用作MVP候选列表中的Merge候选。
[0107] c.假设相邻仿射编码块的左上角坐标为(x0,y0),相邻仿射编码块的CP MV为左上角的 右上角的 和右下角的 相邻仿射编码块的宽度和高度为w和h。当前块左上角的坐标为(x’,y’),球当前块中任意点的坐标为(x”,y”)。当前块的宽度和高度为M和N。
[0108] i.在一个示例中,如果相邻仿射编码块使用4参数仿射模型,则从等式(1)将MV预测计算为(mvh(x,y),mvv(x,y)),其中x=x”-x0,y=y”-y0。
[0109] ii.在一个示例中,如果相邻仿射编码块使用6参数仿射模型,则从等式(2)将MV预测计算为(mvh(x,y),mvv(x,y)),其中x=x”-x0,y=y”-y0。
[0110] iii.(x”,y”)的一些可能位置是:(如图7所示)
[0111] 1.(x’,y’)
[0112] 2.(x’+M/2,y’)
[0113] 3.(x’+M/2+1,y’)
[0114] 4.(x’+M-1,y’)
[0115] 5.(x’+M,y’)
[0116] 6.(x’,y’+N/2)
[0117] 7.(x’+M/2,y’+N/2)
[0118] 8.(x’+M/2+1,y’+N/2)
[0119] 9.(x’+M-1,y’+N/2)
[0120] 10.(x’+M,y’+N/2)
[0121] 11.(x’,y’+N/2+1)
[0122] 12.(x’+M/2,y’+N/2+1)
[0123] 13.(x’+M/2+1,y’+N/2+1)
[0124] 14.(x’+M-1,y’+N/2+1)
[0125] 15.(x’+M,y’+N/2+1)
[0126] 16.(x’,y’+N-1)
[0127] 17.(x’+M/2,y’+N-1)
[0128] 18.(x’+M/2+1,y’+N-1)
[0129] 19.(x’+M-1,y’+N-1)
[0130] 20.(x’+M,y’+N-1)
[0131] 21.(x’,y’+N)
[0132] 22.(x’+M/2,y’+N)
[0133] 23.(x’+M/2+1,y’+N)
[0134] 24.(x’+M-1,y’+N)
[0135] 25.(x’+M,y’+N)
[0136] 6.如果相邻的基本单元块S(例如,在VVC中是4×4的块)属于仿射编码块T(例如,图4B中的基本单元块A0属于仿射编码块),则可以采用以下方式来获得运动预测候选:
[0137] a.在一个示例中,当基本单元块S被MVP列表构造过程和/或Merge
[0138] 候选列表构造过程访问时,不提取存储在S中的MV。相反地,提取从当前块的仿射编码块T导出的MV预测。
[0139] b.在一个示例中,基本单元块S被MVP列表构造过程和/或Merge
[0140] 候选列表构造过程访问两次。在一次访问中,提取存储在S中的MV。在另一次访问中,提取从当前块的仿射编码块T导出的MV预测作为额外的MVP候选或Merge候选。
[0141] 7.如果相邻的基本单元块S(例如,在VVC中是4×4的块)属于仿射编码块T,则可以将从当前块的仿射编码块T导出的额外的MVP候选或Merge候选添加到MVP候选列表或Merge候选列表中的以下位置:
[0142] a.在一个示例中,在从块S提取的候选之后;
[0143] b.在一个示例中,在从块S提取的候选之前;
[0144] c.在一个示例中,在所有普通空间候选之后但是在时域候选之前;
[0145] d.在一个示例中,在时域候选之后;
[0146] e.在一个示例中,位置可以从块到块自适应地改变。
[0147] 8.在一个示例中,从仿射编码块导出的额外候选的总数不可超过固定数目(例如1或2)。
[0148] a.可选地,固定可进一步数目取决于编码信息,例如,候选列表的尺寸、在添加这些额外候选之前可用运动候选的总数、块尺寸、块类型、编码模式(AMVP或Merge)、条带类型等。
[0149] 9.在一个示例中,从仿射编码块导出的额外候选可以与其他候选一起被修剪。如果导出的候选与列表中已存在的另一候选项相同,则不会将其添加到列表中。
[0150] a.在一个示例中,如果相邻基本单元块S(在VVC中是4×4的块)
[0151] 属于仿射编码块T,则将从仿射编码块T导出的额外候选与从S提取的MV进行比较。
[0152] b.在一个示例中,将导出的候选与其他导出的候选进行比较。
[0153] 10.在一个示例中,是否以及如何应用为当前非仿射编码块从相邻仿射编码块导出的MV预测可取决于当前块的维度(假设当前块尺寸为W×H)。
[0154] a.例如,如果W>=T且H>=T,则不应用它,其中T是诸如8的整数;
[0155] b.例如,如果W>=T或H>=T,则不应用它,其中T是诸如8的整数;
[0156] c.例如,如果W<=T且H<=T,则不应用它,其中T是诸如8的整数;
[0157] d.例如,如果W<=T或H<=T,则不应用它,其中T是8诸如8的整数;
[0158] 技术2:涉及仿射运动的一般应用
[0159] 11.代表点的选择可以相对于尺寸等于MxM的一个子块的左上角样本点偏移,而不是总是等于(M/2,N/2)。
[0160] a.在一个示例中,代表点可以被设置为((M>>1)-0.5,(N>>1)-0.5)。
[0161] b.在一个示例中,代表点可以被设置为((M>>1)-0.5,(N>>1)。
[0162] c.在一个示例中,代表点可以设置为((M>>1),(N>>1)-0.5)。
[0163] d.在一个示例中,代表点可以被设置为((M>>1)+0.5,(N>>1))。
[0164] e.在一个示例中,代表点可以被设置为((M>>1),(N>>1)+0.5)。
[0165] f.在一个示例中,代表点可以被设置为((M>>1)+0.5,(N>>1)+0.5)。
[0166] g.在一个示例中,当子块的左上角相对于当前块的左上角样本点的坐标为(xs,ys)时,代表点的坐标被定义为(xs+1.5,ys+1.5)。
[0167] i.在一个实施例中,重写等式(6)以导出新代表点的MV:
[0168]
[0169] ii.类似地,可以将附加偏移(0.5,0.5)或(-0.5,-0.5)或(0,0.5)、或(0.5,0)、或(-0.5,0)、或(0,-0.5)添加到这些代表点。
[0170] 12.提出将存储的运动信息与运动补偿中使用的运动信息对齐。
[0171] a.在一个示例中,当前存储在图3中的mvi被替换为mvi’,其中i是(0,和/或1,和/或2,和/或3)。
[0172] 13.提出从仿射编码块提取的运动候选(例如,AMVP模式的MVP候选或Merge候选)应以不同于从非仿射编码块提取的候选的方式使用。
[0173] a.例如,不可将从仿射编码块提取的运动候选放入运动候选列表或Merge候选列表中;
[0174] b.例如,可以以较低的优先级将从仿射编码块提取的运动候选放入运动候选列表或Merge候选列表中,例如,它应该被放在较后的位置。
[0175] c.可基于运动候选是否是从仿射编码块提取的来自适应地改变并入候选的顺序。
[0176] 14.仿射编码块的仿射MVP候选列表尺寸或仿射Merge候选列表尺寸可以是自适应的。
[0177] a.在一个示例中,仿射编码块的仿射MVP候选列表尺寸或仿射Merge候选列表尺寸可以基于当前块的尺寸自适应。
[0178] i.例如,如果该块较大,则仿射编码块的仿射MVP候选列表尺寸或仿射Merge候选列表尺寸可以更大。
[0179] b.在一个示例中,仿射编码块的仿射MVP候选列表尺寸或仿射Merge候选列表尺寸可以基于空间或时域相邻块的编码模式自适应。
[0180] i.例如,如果有更多的空间相邻块是仿射编码的,则仿射编码块的仿射MVP候选列表尺寸或仿射Merge候选列表尺寸可以更大。
[0181] 图8是说明可以用于实现本公开技术的各个部分的计算机系统或其他控制设备2600的结构的示例的示意图。在图8中,计算机系统2600包括通过互连2625连接的一个或多个处理器2605和存储器2610。互连2625可以表示由适当的桥、适配器或控制器连接的任何一条或多条单独的物理总线、点对点连接或两者。因此,互连2625可以包括例如系统总线、外围组件互连(PCI)总线、超传输或工业标准体系结构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线或电气与电子工程师协会(IEEE)标准674总线(有时被称为“火线”)。
[0182] 处理器2605可以包括中央处理器(CPU),来控制例如主机的整体操作。在一些实施例中,处理器2605通过执行存储在存储器2610中的软件或固件来实现这一点。处理器2605可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些器件的组合。
[0183] 存储器2610可以是或包括计算机系统的主存储器。存储器2610表示任何适当形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存等,或这些设备的组合。在使用中,存储器2610除其他外可包含一组机器指令,当处理器2605执行该指令时,使处理器2605执行操作以实现本公开技术的实施例。
[0184] 通过互连2625连接到处理器2605的还有(可选的)网络适配器2615。网络适配器2615为计算机系统2600提供与远程设备(诸如存储客户机和/或其他存储服务器)通信的能,并且可以是例如以太网适配器或光纤通道适配器。
[0185] 图9示出了可以用于实施本公开技术的各个部分的移动设备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使用有线连接与其他设备进行接口。I/O单元2703可以包括无线传感器,例如用于检测远程控制信号的红外探测器,或其他合适的无线人机界面技术。移动设备2700还可以与其他外部接口(例如数据存储器)和/或可视或音频显示设备2704连接,以检索和传输可由处理器处理、由存储器存储或由显示设备2704或外部设备的输出单元上显示的数据和信息。例如,显示设备2704可以根据所公开的技术显示基于MVP修改视频帧
[0186] 图10是视频处理的方法1000的示例流程图。方法1000包括:在视频的当前块和当前块的比特流表示之间的转换期间,使用(1002)当前块的仿射模式;为当前块的一部分确定(1004)运动补偿之后的当前块的更新的运动信息;以及在后续视频块和其各自的比特流表示的转换期间使用(1006)更新的运动信息。
[0187] 转换操作可以包括:由视频编码器从当前视频块生成比特流表示。转换操作可以包括:由视频解码器从比特流表示生成当前视频块。
[0188] 下面描述的条款进一步描述了所公开实施例的某些特征。
[0189] 1.一种视频编码方法,包括:在视频的当前块和当前块的比特流表示之间的转换期间,使用当前块的仿射运动模式;为当前块的一部分确定运动补偿之后的当前块的更新的运动信息;以及在后续视频块和其各自的比特流表示的转换期间使用更新的运动信息。
[0190] 2.根据条款1所述的方法,其中,所述后续视频块位于与所述当前块的图片不同的图片中。
[0191] 3.根据条款1或2所述的方法,还包括:使用所述更新的运动信息执行块滤波操作。
[0192] 4.根据条款3所述的方法,其中,所述块滤波操作包括去块化滤波操作。
[0193] 5.根据条款1所述的方法,其中,所述当前块的一部分仅包括一个编码单元的右侧或底部仿射子块。
[0194] 6.根据条款1所述的方法,其中,位于所述当前块的右边界或底边界的子块的所述更新的运动矢量信息不同于所述子块的运动补偿中使用的运动矢量。
[0195] 7.根据条款6所述的方法,其中,在后续视频块和其各自的比特流表示的转换期间使用所述子块的所述更新的运动矢量信息,其中所述后续视频块在与所述子块相同的图片中或在与所述子块不同的图片中。
[0196] 8.根据条款6所述的方法,其中,所述更新的运动信息包括所述右边界或所述底边界子块的两组运动矢量,并且其中第一组运动矢量用于去块化滤波或时域运动预测,并且第二组运动矢量用于作为所述当前块的当前图片中的后续预测单元或后续编码单元的运动预测。
[0197] 9.根据条款1所述的方法,其中,所述当前块的左上角的坐标为(x0,y0),子块的左上角的坐标为(x',y'),子块的尺寸为M×N个像素,并且为所述子块存储的运动矢量表示为(MVx,MVy),并且其中(MVx,MVy)用4参数仿射模型或6参数仿射模型计算。
[0198] 10.根据条款1所述的方法,其中,所述当前块的所述一部分不包括右边界或底边界处的子块。
[0199] 11.根据条款1、3至10所述的方法,其中,所述后续视频块与所述当前块在相同图片中。
[0200] 12.一种视频处理方法,包括:在视频的当前块和当前块的比特流表示之间的转换期间,导出所述当前块的非仿射模式的运动矢量预测;其中,基于仿射模式从相邻仿射编码块导出所述非仿射模式;以及使用所述当前块的所述非仿射模式执行所述转换。
[0201] 13.根据条款12所述的方法,其中,所述当前块用帧间模式编码,并且其中所述非仿射模式的运动矢量预测被用作运动矢量预测候选。
[0202] 14.根据条款12所述的方法,其中,所述当前块用帧间模式编码,并且其中所述非仿射模式的运动矢量预测被用作Merge候选。
[0203] 章节4的第5项中给出了条款12至14的其他示例。
[0204] 15.一种视频处理方法,包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用所述当前块的仿射编码模式;其中所述仿射模式使用从所述当前块中心偏移的代表点。
[0205] 16.根据条款15所述的方法,其中,所述当前块包括M x N个像素,其中M和N是整数,并且所述代表点被设置为((M>>1)-0.5,(N>>1)-0.5)。
[0206] 17.根据条款15所述的方法,其中,所述当前块包括M x N个像素,其中M和N是整数,并且所述代表点被设置为、或者((M>>1)-0.5,(N>>1))。
[0207] 章节4的第6-10和11项中给出了条款15至17的其它示例。
[0208] 18.根据条款1至17任一项中所述的方法,其中,存储的仿射模式的运动信息用于所述当前块的运动补偿。
[0209] 19.一种视频处理方法,包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用以不同于从非仿射编码块提取的第二运动候选的方式从仿射编码块提取的第一运动候选;以及使用所述第一运动候选或所述第二运动候选执行所述转换。
[0210] 20.根据条款19所述的方法,其中,所述第一运动候选不用于运动候选列表或Merge候选列表。
[0211] 21.根据条款19所述的方法,其中,以低于其它运动候选的优先级将所述第一运动候选用于运动候选列表或Merge候选列表。
[0212] 章节4的第13项中给出了条款19至21的其他示例。
[0213] 22.一种视频处理方法,包括:在视频的当前块和当前块的比特流表示之间的转换期间,使用运动矢量预测(MVP)候选列表和仿射Merge候选列表;以及使用MVP候选列表或仿射Merge候选列表执行所述转换。
[0214] 23.根据条款22所述的方法,其中,所述仿射Merge候选列表的尺寸是所述当前块的尺寸的函数。
[0215] 24.根据条款22所述的方法,其中,所述仿射Merge候选列表的尺寸是空间或时域相邻块的编码模式的函数。
[0216] 25.根据条款24所述的方法,其中,所述仿射Merge候选列表的尺寸随仿射编码的空间相邻块的数目增加。
[0217] 章节4的第14项中给出了条款22至25的其他示例。
[0218] 章节4的技术1和2中描述了各种其它细节。
[0219] 图11是视频编码方法1100的流程图表示。方法1100包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用(1102)所述当前块的仿射运动模式;在运动补偿之后更新(1104)所述当前块的运动信息,以获得所述当前块的更新的运动信息;以及在后续视频块和其各自的比特流表示的转换期间使用(1106)所述更新的运动信息。
[0220] 在一些实施例中,其中,所述后续视频块位于与所述当前块的图片不同的图片中。
[0221] 在一些实施例中,所述方法还包括:使用所述更新的运动信息执行块滤波操作。
[0222] 在一些实施例中,所述块滤波操作包括去块化滤波操作。
[0223] 在一些实施例中,更新所述当前块的运动信息包括:更新所述当前块的一部分的运动信息,所述当前块的一部分仅包括一个编码单元的右侧或底部仿射子块。
[0224] 在一些实施例中,所述方法还包括:使用未更新的运动信息执行块滤波操作;以及在当前条带/片或其他图片中的所述后续视频块和其各自的比特流表示的转换期间使用所述更新的运动信息。
[0225] 在一些实施例中,存储在位于所述当前块的右边界或底边界的子块中的运动矢量不同于所述子块的运动补偿中使用的运动矢量。
[0226] 在一些实施例中,在当前帧或不同帧中的后续视频块和其各自的比特流表示的转换期间,将存储在位于所述右边界或所述底边界的所述子块中的所述运动矢量用作运动矢量预测或候选。
[0227] 在一些实施例中,存储在位于所述右边界或所述底边界的所述子块中的所述运动矢量包括两组运动矢量,第一组运动矢量用于去块化滤波和/或时域运动预测,并且第二组运动矢量用于作为所述当前块的当前图片中的后续预测单元或后续编码单元的运动预测。
[0228] 在一些实施例中,更新所述当前块的运动信息不包括所述当前块的右边界或底边界处的子块。
[0229] 在一些实施例中,对于所述当前块的右上角处的所述子块,始终存储从所述仿射模型导出的所述右上角处的运动矢量。
[0230] 在一些实施例中,对于所述当前块的左下角处的所述子块,始终存储从所述仿射模型导出的所述左下角处的运动矢量。
[0231] 在一些实施例中,对于所述当前块的左下角处的所述子块,当所述运动矢量是信令通知的运动矢量时,存储从所述仿射模型导出的所述左下角处的运动矢量。
[0232] 在一些实施例中,对于所述当前块的右下角处的所述子块,始终存储从所述仿射模型导出的所述右下角处的运动矢量。
[0233] 图12是视频编码方法1200的流程图表示。方法1200包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,导出(1202)所述当前块的非仿射模式的运动矢量预测,其中基于仿射模型从相邻仿射编码块导出所述非仿射模式的运动矢量预测;以及使用所述当前块的所述非仿射模式的运动矢量预测执行所述转换。
[0234] 在一些实施例中,所述当前块用帧间模式编码,并且其中所述非仿射模式的运动矢量预测被用作运动矢量预测候选列表中的运动矢量预测候选。
[0235] 在一些实施例中,所述当前块用Merge模式编码,并且其中所述非仿射模式的运动矢量预测被用作运动矢量预测候选列表中的Merge候选。
[0236] 在一些实施例中,所述相邻仿射编码块使用具有四个参数的仿射模型,并且通过使用所述四个参数导出所述运动矢量预测;或者所述相邻仿射编码块使用具有六个参数的仿射模型,并且通过使用所述六个参数导出所述运动矢量预测。
[0237] 在一些实施例中,基于针对所述当前块内的位置的仿射模型导出所述运动矢量预测。
[0238] 在一些实施例中,所述还包括:通过使用运动矢量预测列表构造过程和/或Merge候选列表构造过程访问所述相邻仿射编码块的子单元块;基于所述当前块的仿射模型从所述相邻仿射编码块提取导出的运动矢量预测,作为运动预测候选和/或Merge候选。
[0239] 在一些实施例中,所述还包括:通过使用运动矢量预测列表构造过程和/或Merge候选列表构造过程访问所述相邻仿射编码块的子单元块两次;提取存储在所述子单元块中的运动矢量,作为运动预测候选和/或Merge候选;以及从所述当前块的所述相邻仿射编码块中提取导出的运动矢量预测,作为额外运动矢量预测候选或Merge候选。
[0240] 在一些实施例中,将所述额外运动矢量预测候选或Merge候选添加到所述运动预测候选列表或所述Merge候选列表的从所述子单元块提取的候选之后、或者从所述子单元块提取的候选之前、或者所有普通空间候选之后但在时域候选之前、或者所述时域候选之后、或者从块到块自适应地改变。
[0241] 在一些实施例中,从所述仿射编码块导出的所述额外运动矢量预测候选或Merge候选的总数不超过固定数目。
[0242] 在一些实施例中,所述固定数目取决于编码信息,所述编码信息包括:候选列表的尺寸、在添加这些额外候选之前可用运动候选的总数、块尺寸、块类型、编码模式和条带类型。
[0243] 在一些实施例中,从所述仿射编码块导出的所述候选和/或所述额外候选与其它候选一起被修剪。
[0244] 在一些实施例中,如果所述导出的候选与已经在所述列表中的另一候选相同,则不将其添加到所述列表中。
[0245] 在一些实施例中,将所述额外候选与从所述子单元块提取的所述运动矢量进行比较。
[0246] 在一些实施例中,将所述导出的候选与其他导出的候选进行比较。
[0247] 在一些实施例中,所述方法还包括:确定所述当前块的维度;基于所述确定,应用为所述当前非仿射编码块从所述相邻仿射编码块导出的运动矢量预测。
[0248] 在一些实施例中,响应于所述当前块的宽度大于预定整数且所述当前块的高度大于所述预定整数、或者所述当前块的所述宽度大于所述预定整数或所述当前块的所述高度大于所述预定整数、或者所述当前块的所述宽度小于所述预定整数并且所述当前块的所述高度小于所述预定整数、或者所述当前块的所述宽度小于预定整数或所述当前块的所述高度小于所述预定整数的确定而不应用运动矢量预测。
[0249] 在一些实施例中,所述转换包括:从所述比特流表示重构所述当前块。
[0250] 在一些实施例中,所述转换包括:从所述当前块生成所述比特流表示。
[0251] 图13是视频编码方法1300的流程图表示。方法1300包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用(1302)所述当前块的所述仿射模型;其中所述仿射模型使用从所述当前块内的子块的中心偏移的代表点。
[0252] 在一些实施例中,所述子块包括M x N个像素,其中M和N是整数,并且所述代表点被设置为((M>>1)-0.5,(N>>1)-0.5)、或者((M>>1)-0.5,(N>>1))、或者((M>>1),(N>>1)-0.5)、或者((M>>1)+0.5,(N>>1))、或者((M>>1),(N>>1)+0.5)、或者((M>>1)+0.5,(N>>1)+
0.5)。
[0253] 在一些实施例中,当所述子块的左上角相对于所述当前块的左上角样本点的坐标为(xs,ys)时,所述代表点的坐标被定义为(xs+1.5,ys+1.5)。
[0254] 在一些实施例中,通过使用所述代表点的所述坐标导出所述代表点的运动矢量。
[0255] 在一些实施例中,将附加偏移(0.5,0.5)或(-0.5,-0.5)或(0,0.5),或(0.5,0),或(-0.5,0)或(0,-0.5)添加到所述代表点。
[0256] 在一些实施例中,所述方法还包括:将所述当前块的一个或多个存储的运动信息与用于所述当前块的运动补偿的对应运动信息对齐。
[0257] 在一些实施例中,位于子块角的所述一个或多个存储的运动信息被用于所述当前块的运动补偿的位于子块中心的所述对应运动信息替换。
[0258] 图14是视频编码方法1400的流程图表示。方法1400包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用(1402)以不同于从非仿射编码块获取的第二运动候选的方式从仿射编码块获取的第一运动候选;以及使用所述第一运动候选或所述第二运动候选执行(1404)所述转换。
[0259] 在一些实施例中,所述第一和第二运动候选是运动矢量预测模式的运动矢量预测候选或Merge候选。
[0260] 在一些实施例中,不将所述第一运动候选放入运动候选列表或Merge候选列表。
[0261] 在一些实施例中,以低于所述第二运动候选的优先级将所述第一运动候选放入运动候选列表或Merge候选列表。
[0262] 在一些实施例中,将所述第一运动候选置于所述运动候选列表或所述Merge候选列表中较后的位置。
[0263] 图15是视频编码方法1500的流程图表示。方法1500包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,使用(1502)仿射运动矢量预测候选列表和/或仿射Merge候选列表;其中所述运动矢量预测候选列表和/或所述仿射Merge候选列表具有自适应的尺寸。
[0264] 在一些实施例中,所述仿射运动矢量预测候选列表和/或所述仿射Merge候选列表的所述尺寸基于所述当前块的尺寸自适应。
[0265] 在一些实施例中,所述仿射运动矢量预测候选列表和/或所述仿射Merge候选列表的所述尺寸与所述当前块的所述尺寸成比例。
[0266] 在一些实施例中,所述仿射运动矢量预测候选列表和/或所述仿射Merge候选列表的所述尺寸基于一个或多个空间或视域相邻块的编码模式自适应。
[0267] 在一些实施例中,所述仿射Merge候选列表的所述尺寸与仿射编码的空间相邻块的数目成比例。
[0268] 图16是视频编码方法1600的流程图表示。方法1600包括:在视频的当前块和所述当前块的比特流表示之间的转换期间,导出(1602)存储在位于所述当前块的一个或多个边界处的子块中的运动矢量;以及使用存储在所述子块中的所述运动矢量执行(1604)所述转换。
[0269] 在一些实施例中,所述当前块的所述一个或多个边界包括所述当前块的右边界和/或底边界。
[0270] 在一些实施例中,通过使用代表点在所述子块外的仿射模型导出存储在位于所述当前块的一个或多个边界处的所述子块中的所述运动矢量。
[0271] 在一些实施例中,通过使用4参数仿射模型或6参数仿射模型导出存储在位于所述当前块的一个或多个边界处的所述子块中的所述运动矢量。
[0272] 在一些实施例中,所述还包括:确定所述子块的位置;以及基于所述子块的所述位置,确定所述代表点相对于所述当前块的左上角坐标的坐标,其中所述子块包括M x N个像素,其中M和N是整数。
[0273] 在一些实施例中,响应于所述子块位于所述右边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M+M/2,N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0274] 在一些实施例中,响应于所述子块位于所述底边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M/2,N+N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0275] 在一些实施例中,响应于所述子块位于所述当前块的右下角的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M+M/2,N/2)、(M/2,N+N/2)或(M+M/2,N+N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0276] 在一些实施例中,响应于所述子块位于所述右边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M/2,N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0277] 在一些实施例中,响应于所述子块位于所述底边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M/2,N/2),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0278] 在一些实施例中,响应于所述子块位于所述底边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M,N),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0279] 在一些实施例中,响应于所述子块位于所述右边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M,N),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0280] 在一些实施例中,响应于所述子块位于所述底边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(0,N),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0281] 在一些实施例中,响应于所述子块位于所述右边界的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M,0),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0282] 在一些实施例中,响应于所述子块位于右下角的所述确定,将所述代表点相对于所述子块的左上角坐标的所述坐标设置为(M,N),以便确定所述代表点相对于所述当前块的左上角坐标的所述坐标。
[0283] 在一些实施例中,其中所述转换包括:从所述比特流表示重构所述当前块。
[0284] 在一些实施例中,其中所述转换包括:从所述当前块生成所述比特流表示。
[0285] 图17示出了典型HEVC视频编码器和解码器1700的示例性框图。产生符合HEVC的比特流的编码算法通常如下进行。每个图片被划分为块状区域,精确的块划分被传送到解码器。视频序列的第一图片(以及进入视频序列的每个干净的随机访问点处的第一图片)仅使用帧内预测(其使用同一帧内区域到区域的空间数据预测,但不依赖其他图片)进行编码。对于序列的或随机访问点之间的所有剩余图片,帧间时间预测编码模式通常用于大多数块。用于帧间预测的编码处理包括选择包括所选参考图片的运动数据和要应用于预测每个块的样本点的运动矢量(MV)。编码器和解码器通过使用MV和模式决策数据应用运动补偿(MC)来生成相同的帧间预测信号,其作为辅助信息被传输。
[0286] 通过线性空间变换来变换帧内或帧间预测的残差信号,其是原始块与其预测之间的差。然后对变换系数进行缩放,量化,熵编码,并与预测信息一起传输。
[0287] 编码器复制解码器处理循环(参见图17中的灰色阴影框),使得两者都将为后续数据生成相同的预测。因此,通过逆缩放来构造量化的变换系数,然后对其进行逆变换以复制残差信号的解码近似。然后将残差添加到预测,然后可以将该相加的结果馈送到一个或两个环路滤波器中以平滑由逐块处理和量化引起的伪像。最终图片表示(即解码器输出的副本)存储在解码图片缓冲器中以用于后续图片的预测。通常,图片的编码或解码处理的顺序通常不同于它们从源到达的顺序;需要区分解码器的解码顺序(即比特流顺序)和输出顺序(即显示顺序)。
[0288] 通常期望由HEVC编码的视频材料作为逐行扫描图像输入(由于源视频源自该格式或者由编码之前的去交错产生)。HEVC设计中不存在明确的编码特征以支持隔行扫描的使用,因为隔行扫描不再用于显示器,并且对于分发而言变得非常不常见。然而,在HEVC中已提供了元数据语法以允许编码器通过将隔行扫描视频的每个区(即,每个视频帧的偶数或奇数行)编码为单独的图片来指示已发送隔行扫描视频或通过将每个隔行扫描帧编码为HEVC编码图片指示它已被发送。这提供了一种对隔行扫描视频进行编码的有效方法,而不需要支持用于它的特殊解码处理。
[0289] 本专利文件中描述的主题的实现和功能操作可以在各种系统、数字电子电路、或计算机软件、固件或硬件中实现,包括本说明书中所公开的结构及其结构等效体,或其中一个或多个的组合。本说明说中描述的主题的实现可以实现为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。
[0290] 计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
[0291] 本说明书中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
[0292] 例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0293] 虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
[0294] 同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
[0295] 仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈