CN110876063A - 交织预测的快速编码方法 - Google Patents

交织预测的快速编码方法 Download PDF

Info

Publication number
CN110876063A
CN110876063A CN201910828199.XA CN201910828199A CN110876063A CN 110876063 A CN110876063 A CN 110876063A CN 201910828199 A CN201910828199 A CN 201910828199A CN 110876063 A CN110876063 A CN 110876063A
Authority
CN
China
Prior art keywords
block
sub
prediction
blocks
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910828199.XA
Other languages
English (en)
Other versions
CN110876063B (zh
Inventor
张凯
张莉
刘鸿彬
王悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of CN110876063A publication Critical patent/CN110876063A/zh
Application granted granted Critical
Publication of CN110876063B publication Critical patent/CN110876063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及一种交织预测的快速编码方法,并描述了与视频编码中的基于子块的运动预测相关的方法、系统和装置。在一个代表性方面中,视频处理的方法包含,使用第一中间预测块和第二中间预测块基于视频块的特性确定视频块的预测块,以及使用预测块生成视频块的编码表示。通过将视频块细分为子块的第一集合生成第一中间预测块,并且通过将视频块细分为子块的第二集合生成第二中间预测块。第二集合中的至少一个子块具有与第一集合中的子块不同的尺寸。

Description

交织预测的快速编码方法
相关申请的交叉引用
根据适用的专利法和/或根据巴黎公约的规则,本申请及时要求于2018年9月3日提交的国际专利申请号PCT/CN2018/103770的优先权和权益。出于全部目的,国际专利申请号PCT/CN2018/103770的全部公开通过引用整合作为本专利文件的公开的一部分。
技术领域
本专利文档涉及视频处理技术、装置和系统。
背景技术
运动补偿(MC)是视频处理中的技术,其用于在给定之前帧和/或未来帧的情况下,通过考虑到相机的运动和/或视频中的对象而预测视频中的帧。运动补偿可用于视频数据的编码以用于视频压缩。
发明内容
本文档公开了涉及视频运动补偿中的基于子块的运动预测的方法、系统和装置。
在一个代表性方面中,公开了一种视频处理的方法。该方法包含,基于视频块的特性,使用第一中间预测块和第二中间预测块确定视频块的预测块,以及使用预测块生成视频块的编码表示。通过将视频块细分为子块的第一集合生成第一中间预测块,并且通过将视频块细分为子块的第二集合生成第二中间预测块。第二集合中的至少一个子块具有与第一集合中的子块不同的尺寸。
在另一代表性方面中,公开了一种用于改善基于块的运动预测视频系统的带宽使用和预测精度的方法。方法包含,选择来自视频帧的像素集合以形成块,根据第一样式将块细分为子块的第一集合,基于子块的第一集合生成第一中间预测块,根据第二样式将块细分为子块的第二集合,基于子块的第二集合生成第二中间预测块,以及基于第一中间预测块和第二中间预测块确定预测块。第二集合中的至少一个子块具有与第一集合中的子块不同的尺寸。
在另一代表性方面中,公开了一种用于改善视频系统中的基于块的运动预测的方法。方法包含,选择来自视频帧的像素集合以形成块,基于块的尺寸或来自空域上或时域上与块相邻的另一块的信息将块细分为多个子块,以及通过将编码算法应用到多个子块生成运动矢量预测。多个子块中的至少一个子块具有与其他子块不同的尺寸。
在另一代表性方面中,公开了一种包括处理器和其上具有指令的非瞬态存储器的设备。由处理器执行指令时,使处理器选择来自视频帧的像素集合以形成块,根据第一样式将块细分为子块的第一集合,基于子块的第一集合生成第一中间预测块,根据第二样式将块细分为子块的第二集合,其中第二集合中的至少一个子块具有与第一集合中的子块不同的尺寸,基于子块的第二集合生成第二中间预测块,以及基于第一中间预测块和第二中间预测块确定预测块。
在又一代表性方面中,本文中所描述的各种技术可以是实施为非瞬态计算机可读介质上储存的计算机程序产品。计算机程序产品包含用于进行本文中所描述的方法的程序代码。
在又一代表性方面中,视频解码器设备可以实现如本文中所描述的方法。
以下所附附件、附图以及说明书中提出了一个或多个实现方式的细节。其他特征从说明书和附图以及权利要求将变得清楚。
附图说明
图1是示出基于子块的预测的示例的示意图。
图2示出了由两个控制点运动矢量描述的块的仿射运动场的示例。
图3示出了块的每个子块的仿射运动矢量场的示例。
图4示出了AF_INTER模式中的块400的运动矢量预测的示例。
图5A示出了当前编码单元(CU)的候选块的选择顺序的示例。
图5B示出了AF_MERGE模式中的当前CU的候选块的另一示例。
图6示出了CU的可选时域运动矢量预测(ATMVP)运动预测过程的示例。
图7示出了具有四个子块和相邻块的一个CU的示例。
图8示出了双向光流(BIO)方法中的示例性光流轨迹。
图9A示出了块之外的访问位置的示例。
图9B示出了可以用于避免额外存储器访问和计算的填充区域(padding area)。
图10示出了帧速率上转换(FRUC)方法中使用的双边匹配的示例。
图11示出了FRUC方法中使用的模板匹配的示例。
图12示出了FRUC方法中的单边运动估计(ME)的示例。
图13示出了根据本公开技术的具有两种细分样式的交织预测的示例。
图14A示出了根据本公开技术的将块细分为4×4子块的示例性细分样式。
图14B示出了根据本公开技术的将块细分为8×8子块的示例性细分样式。
图14C示出了根据本公开技术的将块细分为4×8子块的示例性细分样式。
图14D示出了根据本公开技术的将块细分为8×4子块的示例性细分样式。
图14E示出了根据本公开技术的将块细分为非均匀子块的示例性细分样式。
图14F示出了根据本公开技术的将块细分为非均匀子块的另一示例性细分样式。
图14G示出了根据本公开技术的将块细分为非均匀子块的又一示例性细分样式。
图15A是根据本公开的技术的用于改善基于块的运动预测视频系统的带宽使用和预测精度的方法的示例性流程图。
图15B是根据本公开的技术的用于改善基于块的运动预测视频系统的带宽使用和预测精度的方法的另一示例性流程图。
图16是图示了可以用于实现本公开的技术的各部分的计算机系统或其他控制装置的架构的示例的框图。
图17示出了可以用来实现本公开技术的各部分的移动装置的示例性实施例的框图。
图18A至18C示出了部分交织预测技术的示例性实施例。
图19是用于改善视频系统中的基于块的运动预测的方法的流程图表示。
图20是可以实现本公开的技术的示例性视频处理系统的框图。
具体实施方式
全局运动补偿是运动补偿技术的多种变体之一,并且可以用于预测相机的运动。然而,在帧内运动对象未由全局运动补偿的各种实现方式充分地表示。将帧细分为像素的块以用于进行运动预测的局部运动估计(诸如块运动补偿)可以用于考虑帧内运动的对象。
基于块运动补偿开发的基于子块的预测首先由高效视频编码(HEVC)Annex I(3D-HEVC)引入到视频编码标准中。图1是示出基于子块的预测的示例的示意图。在基于子块的预测的情况下,块100(诸如编码单元(CU)或预测单元(PU))被细分为若干不重叠的子块101。不同的子块可以分配不同的运动信息,诸如参考索引或运动矢量(MV)。然后对于每个子块单独地进行运动补偿。
为了探索HEVC之外的未来视频编码技术,由视频编码专家组(VCEG)和运动图片专家组(MPEG)于2015年联合成立了联合视频探索组(JVET)。许多方法已经被JVET采用并添加到名为联合探索模型(JEM)的参考软件。在JEM中,基于子块的预测被在若干编码技术中采用,诸如以下详细讨论的仿射预测、可选时域运动矢量预测(ATMVP)、空域-时域运动矢量预测(STMVP)、双向光流(BIO),以及帧速率上转换(FRUC)。
仿射预测
在HEVC中,仅平移运动模型被应用于运动补偿预测(MCP)。然而,相机和对象可以具有许多类型的运动,例如放大/缩小、旋转、透视运动和/或其他不常规运动。另一方面,JEM应用简化的仿射变换运动补偿预测。图2示出了由两个控制点运动矢量V0和V1描述的块200的仿射运动场的示例。块200的运动矢量场(MVF)可以由以下等式描述:
Figure BDA0002189803530000041
如图2中所示,(v0x,v0y)是左上角控制点的运动矢量,并且(v1x,v1y)是右上角控制点的运动矢量。为简化运动补偿预测,可以应用基于子块的仿射变换预测。子块尺寸M×N如以下导出:
Figure BDA0002189803530000051
此处,MvPre是运动矢量分数精度(例如,JEM中的1/16)。(v2x,v2y)是根据等式(1)计算的左下控制点的运动矢量。如果需要,则M和N可以被向下调整,以使其分别为w和h的除数。
图3示出了块300的每个子块的仿射MVF的示例。为导出每个M×N子块的运动矢量,可以根据等式(1)计算每个子块的中央样本的运动矢量,并且四舍五入到运动矢量分数精度(例如,JEM中的1/16)。然后,可以应用运动补偿插值滤波器,以用导出的运动矢量生成每个子块的预测。在MCP之后,每个子块的高精度运动矢量被四舍五入且保存为与普通运动矢量相同精度。
在JEM中,存在两种仿射运动模式:AF_INTER模式和AF_MERGE模式。对于宽度和高度两者都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级中的仿射标志,以指示是否使用AF_INTER模式。在AF_INTER模式中,使用相邻块构建具有运动矢量对{(v0,v1)|v0={vA,vB,vc},v1={vD,vE}}的候选列表。图4示出了AF_INTER模式中的块400的运动矢量预测(MVP)的示例。如图4中所示,从子块A、B或C的运动矢量选择v0。来自相邻块的运动矢量可以根据参考列表被缩放。运动矢量也可以根据相邻块的参考的图片顺序计数(POC)、当前CU的参考的POC,以及当前CU的POC之间的关系被缩放。从相邻子块D和E选择v1的方案是类似的。如果候选列表的数目小于2,则由通过复制AMVP候选中的每一个构成的运动矢量对来填充该列表。当候选列表大于2时,候选可以首先根据相邻运动矢量(例如,基于一对候选中的两个运动矢量的相似度)进行分类。在一些实现方式中,前两个候选被保留。在一些实施例中,使用速率失真(RD)成本检查来确定将哪个运动矢量对候选选择为当前CU的控制点运动矢量预测(CPMVP)。可以在比特流中信令通知指示CPMVP在候选列表中的位置的索引。在当前仿射CU的CPMVP被确定之后,应用仿射运动估计,并且找到控制点运动矢量(CPMV)。然后在比特流中信令通知CPMV与CPMVP之间的差异。
当CU在AF_MERGE模式中应用时,其从有效相邻重构的块得到以仿射模式编码的第一块。图5A示出了当前CU 500的候选块的选择顺序的示例。如图5A中所示,选择顺序可以为从当前CU 500的左(501)、上(502)、右上(503)、左下(504)至左上(505)。图5B示出了AF_MERGE模式中的当前CU 500的候选块的另一示例。如果相邻左下块501以仿射模式编码,如图5B中所示,则导出含有子块501的CU的左上角、右上角和左下角的运动矢量v2、v3和v4。基于v2、v3和v4计算当前CU 500上的左上角的运动矢量v0。相应地计算当前CU的右上的运动矢量v1
在当前CU v0和v1的CPMV根据等式(1)中的仿射运动模型计算之后,可以生成当前CU的MVF。为了识别当前CU是否以AF_MERGE模式编码,当存在以仿射模式编码的至少一个相邻块时,可以在比特流中信令通知仿射标志。
可选时域运动矢量预测(ATMVP)
在ATMVP方法中,通过从小于当前CU的块取回运动信息的多个集合(包含运动矢量和参考索引)来修改时域运动矢量预测(TMVP)方法。
图6示出了CU 600的ATMVP运动预测过程的示例。ATMVP方法以两个步骤预测CU600内的子CU 601的运动矢量。第一步骤是以时域矢量识别参考图片650中的对应的块651。参考图片650还称为运动源图片。第二步骤是将当前CU 600分割为子CU 601,并且从对应于每个子CU的块获取每个子CU的运动矢量以及参考索引。
在第一步骤中,由当前CU 600的空域相邻块的运动信息确定参考图片650和对应的块。为了避免相邻块的重复扫描过程,使用当前CU 600的MERGE候选列表中的第一MERGE候选。第一可用运动矢量及其相关联的参考索引设定为时域矢量和运动源图片的索引。以此方式,与TMVP相比可以更准确地识别对应的块,其中对应的块(有时称为搭配块)总是相对于当前CU在右下或中央位置。
在第二步骤中,通过将时间矢量添加到当前CU的坐标中,通过运动源图片650中的时间矢量识别子CU 651的对应块。对于每个子CU,使用其对应的块(例如,覆盖中央样本的最小运动网格)的运动信息来导出子CU的运动信息。在识别对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换为当前子CU的运动矢量和参考索引,其中运动缩放和其他过程适用。例如,解码器检查是否满足低延迟条件(例如当前图片的全部参考图片的POC小于当前图片的POC),并且可能地使用运动矢量MVx(例如,对应于参考图片列表X的运动矢量)来预测每个子CU的运动矢量MVy(例如,X等于0或1,并且Y等于1-X)。
空域-时域运动矢量预测(STMVP)
在STMVP方法中,遵循光栅扫描顺序,递归地导出子CU的运动矢量。图7示出了具有四个子块和相邻块的一个CU的示例。考虑8×8 CU 700,其包含四个4×4子CU,A(701)、B(702)、C(703)以及D(704)。当前帧中的相邻4×4块标记为a(711)、b(712)、c(713)以及d(714)。
子CU A的运动导出开始于识别其两个空域邻域(neighbor)。第一邻域是子CU A701上方的N×N块(块c 713)。如果该块c(713)不可用或是帧内编码的,则检查子CU A(701)上方的其他N×N块(从左到右,从块c 713开始)。第二邻域是在子CU A 701左侧的块(块b712)。如果块b(712)不可用或是帧内编码的,则检查在子CU A 701左侧的其他块(从上到下,从块b 712开始)。对于每个列表从相邻块获取的运动信息被缩放到对于给定列表的第一参考帧。接下来,通过遵循与如HEVC中所指定的TMVP相同的过程来导出子块A 701的时域运动矢量预测(TMVP)。块D 704处的搭配块的运动信息被相应地取回和缩放。最终,在提取和缩放运动信息之后,全部可用运动矢量对于每个参考列表被分开地平均。平均的运动矢量被分配为当前子CU的运动矢量。
双向光流(BIO)
双向光流(BIO)方法是在对双向预测的块方面(block-wise)运动补偿之上进行的样本方面(sample-wise)运动细化。在一些实现方式中,样本级运动细化不使用信令通知。
使I(k)为块运动补偿之后来自参考k(k=0,1)的亮度值,并且
Figure BDA0002189803530000071
分别为I(k)梯度的水平和垂直分量。假设光流是有效的,运动矢量场(vx,vy)由以下给出:
Figure BDA0002189803530000072
将此光流等式与用于每个样本的运动轨迹的埃尔米特(Hermite)插值组合得到唯一的三阶多项式,其匹配函数值I(k)和端部处的导数
Figure BDA0002189803530000081
两者。该多项式在t=0处的值是BIO预测:
Figure BDA0002189803530000082
图8示出了双向光流(BIO)方法中的示例性光流轨迹。此处,τ0和τ1指代与参考帧的距离。基于Ref0和Ref1的POC计算距离τ0和τ1:τ0=POC(当前)-POC(Ref0),τ1=POC(Ref1)-POC(当前)。如果两个预测来自相同的时间方向(都来自过去或来自未来),则符号是不同的(例如,τ0·τ1<0)。在此情况下,如果预测不是来自相同时刻(例如,τ0≠τ1),则应用BIO。两个参考区域都具有非零运动(例如,MVx0,MVy0,MVx1,MVy1≠0),并且块运动矢量与时间距离成比例(例如,MVx0/MVx1=MVy0/MVy1=-τ01)。
通过最小化A点和B点中的值之间的差异Δ来确定运动矢量场(vx,vy)。图9A-9B示出了运动轨迹和参考帧平面的交叉的示例。对于Δ,模型仅使用局部泰勒(Taylor)展开的第一线性项:
Figure BDA0002189803530000083
以上等式中的全部值取决于样本位置,指代为(i′,j′)。假设运动在局部围绕区域中是一致的,则Δ可以在(2M+1)×(2M+1)正方形窗Ω内被最小化,正方形窗Ω以当前预测的点(i,j)为中心,其中M等于2:
Figure BDA0002189803530000084
对于此最优化问题,JEM使用简化的方案,首先在垂直方向上并且然后在水平方向上进行最小化。这得到以下:
Figure BDA0002189803530000085
Figure BDA0002189803530000086
其中,
Figure BDA0002189803530000087
为了避免除以零或很小的值,正则化参数r和m可以被引入到等式(7)和等式(8)中。
r=500·4d-8 等式(10)
m=700·4d-8 等式(11)
此处,d是视频样本的位深度。
为了使如BIO的存储器访问与常规双向预测运动补偿一样,对当前块内的位置计算全部预测和梯度值I(k)
Figure BDA0002189803530000091
图9A示出了块900之外的访问位置的示例。如图9A中所示,在等式(9)中,预测的块的边界上的当前预测的点为中心的(2M+1)×(2M+1)正方形窗Ω需要访问块之外的位置。在JEM中,块之外的I(k)
Figure BDA0002189803530000092
的值被设定为等于块内的最接近可用值。例如,这可以实现为填充区域901,如图9B中所示。
使用BIO,可以将运动场对于每个样本细化。为了降低计算复杂度,在JEM中使用基于块的设计的BIO。可以基于4x4块计算运动细化。在基于块的BIO中,4x4块中的全部样本的等式(9)中的sn的值可以被聚集,并且然后sn的聚集的值被用于导出4×4块的BIO运动矢量偏移。更具体地,以下公式可以用于基于块的BIO导出:
Figure BDA0002189803530000093
此处,bk指代属于预测的块的第k个4x4块的样本的集合。等式(7)和等式(8)中的sn被((sn,bk)>>4)取代,以导出相关联的运动矢量偏移。
在一些情形下,由于噪声或不常规运动,BIO的MV团(regiment)可能是不可靠的。因此,在BIO中,MV团的大小被修剪到阈值。阈值是基于当前图片的参考图片是否全部来自一个方向而确定的。例如,如果当前图片的全部参考图片来自一个方向,则阈值的值设定为12×214-d;否则,将其设定为12×213-d
可以在与运动补偿插值的同时使用与HEVC运动补偿过程(例如,2D可分离有限脉冲响应(FIR))一致的操作计算BIO的梯度。在一些实施例中,2D可分离FIR的输入是与运动补偿过程和根据块运动矢量的分数部分的分数位置(fracX,fracY)相同的参考帧样本。对于水平梯度
Figure BDA0002189803530000101
首先使用BIOfilterS对信号进行垂直地插值,其对应于具有去缩放位移d-8的分数位置fracY。然后将梯度滤波器BIOfilterG应用于对应于具有去缩放位移18-d的分数位置fracX的水平方向上。对于垂直梯度
Figure BDA0002189803530000102
对应于具有去缩放位移d-8的分数位置fracY,使用BIOfilterG垂直地应用梯度滤波器。然后对应于具有去缩放位移18-d的分数位置fracX,在水平方向使用BIOfilterS进行信号置换。梯度计算的插值滤波器的长度BIOfilterG和信号置换BIOfilterF可以更短(例如,6-tap),以便保持合理的复杂度。表1示出了可以用于BIO中的块运动矢量的不同分数位置的梯度计算的示例性滤波器。表2示出了可以用于BIO中的预测信号生成的示例性插值滤波器。
表1:BIO中的梯度计算的示例性滤波器
分数像素位置 梯度的插值滤波器(BIOfilterG)
0 {8,-39,-3,46,-17,5}
1/16 {8,-32,-13,50,-18,5}
1/8 {7,-27,-20,54,-19,5}
3/16 {6,-21,-29,57,-18,5}
1/4 {4,-17,-36,60,-15,4}
5/16 {3,-9,-44,61,-15,4}
3/8 {1,-4,-48,61,-13,3}
7/16 {0,1,-54,60,-9,2}
1/2 {-1,4,-57,57,-4,1}
表2:BIO中的预测信号生成的示例性插值滤波器
分数像素位置 预测信号的插值滤波器(BIOfilterS)
0 {0,0,64,0,0,0}
1/16 {1,-3,64,4,-2,0}
1/8 {1,-6,62,9,-3,1}
3/16 {2,-8,60,14,-5,1}
1/4 {2,-9,57,19,-7,2}
5/16 {3,-10,53,24,-8,2}
3/8 {3,-11,50,29,-9,2}
7/16 {3,-11,44,35,-10,3}
1/2 {3,-10,35,44,-11,3}
在JEM中,当两个预测来自不同参考图片时,BIO可以应用于全部双向预测块。当局部照明补偿(LIC)对CU启用时,BIO可以被禁用。
在一些实施例中,在普通MC过程之后,对块应用OBMC。为了降低计算复杂度,在OBMC过程期间可以不应用BIO。这意味着在OBMC过程期间,当使用其自身的MV时,在块的MC过程中应用BIO,并且当使用相邻块的MV时,在MC过程中不应用BIO。
帧速率上转换(FRUC)
当CU的Merge标志为真时,可以向该CU信令通知FRUC标志。当FRUC标志为伪时,Merge索引可以被信令通知,并且使用常规Merge模式。当FRUC标志为真时,附加FRUC模式标志可以被信令通知,以指示要使用哪种方法(例如,双边匹配或模板匹配)来导出块的运动信息。
在编码器侧,是否对CU使用FRUC Merge模式的决定是基于RD成本选择,如对普通Merge候选进行的。例如,通过使用RD成本选择,对于CU检查多个匹配模式(例如,双边匹配和模板匹配)。指向最小成本的一个被进一步与其他CU模式比较。如果FRUC匹配模式是最高效率的一个,则对CU将FRUC标志设定为真,并且使用相关的匹配模式。
典型地,FRUC Merge模式中的运动导出过程具有两个步骤:首先进行CU级运动搜索,然后是子CU级运动细化。在CU级,基于双边匹配或模板匹配,对于整个CU导出初始运动矢量。首先,生成MV候选的列表,并且将指向最小匹配成本的候选选择为进一步CU级细化的起点。然后在起点周围进行基于双边匹配或模板匹配的局部搜索。导致最小匹配成本的MV被作为整个CU的MV。随后,运动信息在子CU级被用导出的CU运动矢量作为起点进一步细化。
例如,对于W×H CU运动信息导出进行以下导出过程。在第一阶段,导出整个W×HCU的MV。在第二阶段,CU被进一步细分为M×M子CU。如(16)中计算M的值,D是预定分割深度,其在JEM中默认设定为3。然后导出每个子CU的MV。
Figure BDA0002189803530000121
图10示出了在帧速率上转换(FRUC)方法中使用的双边匹配的示例。双边匹配用于通过在两个不同参考图片(1010,1011)中沿着当前CU(1000)的运动轨迹找到两个块之间的最接近匹配,来导出当前CU的运动信息。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0(1001)和MV1(1002)与当前图片与两个参考图片之间的时域距离——例如,TD0(1003)和TD1(1004)成比例。在一些实施例中,当当前图片1000在时间上在两个参考图片(1010,1011)之间并且从当前图片到两个参考图片的时域距离相同时,双边匹配变为基于双向MV的镜像。
图11示出了FRUC方法中使用的模板匹配的示例。模板匹配可以用于通过找到当前图片中的模板(例如,当前CU的上和/或左相邻块)与参考图片1110中的块(例如,与模板相同大小)之间的最接近匹配,来导出当前CU 1100的运动信息。除了上述FRUC Merge模式之外,模板匹配也可以应用于AMVP模式。在JEM和HEVC两者中,AMVP有两个候选。使用模板匹配方法,可以导出新的候选。如果通过模板匹配的新导出的候选与第一现有AMVP候选不同,则将其插入AMVP候选列表的最开始,并且然后将列表大小设置为2(例如,通过移除第二现有AMVP候选)。应用于AMVP模式时,仅应用CU级搜索。
在CU级设定的MV候选可以包含以下:(1)如果当前CU处于AMVP模式,则为原始AMVP候选,(2)全部Merge候选,(3)插值MV场(后面描述)中的的若干MV以及上和左相邻运动矢量。
当使用双边匹配时,Merge候选的每个有效MV可以用作输入,以在双边匹配的假设下生成MV对。例如,Merge候选的一个有效MV是在参考列表A处的(MVa,refa)。然后,在其他参考列表B中找到其配对双边MV的参考图片refb,使得refa和refb在时间上位于当前图片的不同侧。如果参考列表B中这样的refb不可用,则refb被确定为与refa不同的参考,并且其到当前图片的时域距离是列表B中的最小的一个。在确定refb之后,基于当前图片与refa、refb之间的时域距离,通过缩放MVa导出MVb。
在一些实现方式中,还可以将来自插值的MV场的四个MV添加到CU级候选列表。更具体地,添加当前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)处的插值MV。当FRUC应用于AMVP模式时,原始AMVP候选也被添加到CU级MV候选集合。在一些实现方式中,在CU级,可以将用于AMVP CU的15个MV和用于Merge CU的13个MV添加到候选列表。
在子CU级的MV候选集合包括从(1)CU级搜索确定的MV,(2)上、左、左上和右上相邻MV,(3)来自参考图片的搭配MV的缩放版本,(4)一个或多个ATMVP候选(例如,多至四个),以及(5)一个或多个STMVP候选(例如,多至四个)。来自参考图片的缩放的MV如下导出。遍历两个列表中的参考图片。参考图片中的子CU的搭配位置处的MV被缩放到起始CU级MV的参考。ATMVP和STMVP候选可以是前四个。在子CU级,将一个或多个MV(例如,多至17个)添加到候选列表。
插值的MV场的生成
在对帧进行编码之前,基于单边ME为整个图片生成插值运动场。然后,运动场可以之后被用作CU级或子CU级MV候选。
在一些实施例中,两个参考列表中的每个参考图片的运动场在4×4块级遍历。图12示出了FRUC方法中的单边运动估计(ME)1200的示例。对于每个4×4块,如果与块相关联的运动通过当前图片中的4×4块(如图12所示)并且该块尚未被分配任何插值运动,则参考块的运动根据时间距离TD0和TD1(与HEVC中的TMVP的MV缩放的方式相同)缩放到当前图片,并且缩放的运动被分配给当前帧中的块。如果没有缩放的MV被分配给4×4块,则在插值的运动场中将块的运动标记为不可用。
插值和匹配成本
当运动矢量指向分数样本位置时,需要运动补偿插值。为了降低复杂度,可以将双线性插值代替常规8抽头(tap)HEVC插值用于双边匹配和模板匹配两者。
匹配成本的计算在不同步骤略有不同。当从CU级的候选集合中选择候选时,匹配成本可以是双边匹配或模板匹配的绝对和差(SAD)。在确定起始MV之后,如下计算子CU级搜索的双边匹配的匹配成本C:
Figure BDA0002189803530000141
此处,w是权重因子。在一些实施例中,w可凭经验设置为4。MV和MVs分别指示当前MV和起始MV。SAD仍可用作子CU级搜索的模板匹配的匹配成本。
在FRUC模式中,仅通过使用亮度样本来导出MV。导出的运动将用于MC帧间预测的亮度和色度两者。在决定MV之后,使用用于亮度的8抽头(tap)插值滤波器和用于色度的4抽头插值滤波器来进行最终MC。
MV细化是基于MV搜索的样式,其具有双边匹配成本或模板匹配成本的标准。在JEM中,支持两种搜索样式——分别在CU级和子CU级用于MV细化的无限制中央偏置菱形搜索(UCBDS)和自适应交叉搜索(adaptive cross search)。对于CU和子CU级MV细化,以四分之一亮度样本MV精度直接搜索MV,并且接着是八分之一亮度样本MV细化。用于CU和子CU步骤的MV细化的搜索范围被设定为等于8个亮度样本。
在双边匹配Merge模式中,应用双向预测,因为CU的运动信息是基于沿两个不同参考图片中的当前CU的运动轨迹的两个块之间的最接近匹配而导出的。在模板匹配Merge模式中,编码器可以在对于CU的来自list0的单向预测、来自list1的单向预测或者双向预测中选择。选择可以基于模板匹配成本,如下所示:
Figure BDA0002189803530000142
此处,cost0是list0模板匹配的SAD,cost1是list1模板匹配的SAD,并且costBi是双向预测模板匹配的SAD。例如,当因数(factor)的值等于1.25时,这意味着选择过程偏向于双向预测。帧间预测方向选择可以应用于CU级模板匹配过程。
当子块的尺寸较小时,上面讨论的基于子块的预测技术可用于获取每个子块的更准确的运动信息。然而,较小的子块在运动补偿中造成了更高的带宽要求。另一方面,针对较小子块导出的运动信息可能不准确,尤其是当块中存在一些噪声时。因此,在一个块内具有固定的子块大小可能是次优的。
本文件描述了可以在各种实施例中使用的技术,以使用非均匀和/或可变子块大小来解决固定子块大小引入的带宽和精度问题。这些技术(也称为交织预测)使用不同的细分块的方式,使得可以更加鲁棒地获取运动信息而不增加带宽消耗。
使用交织预测技术,将块以一个或多个细分模式细分为子块。细分样式表示将块细分为子块的方式,包括子块的大小和子块的位置。对于每个细分样式,可以通过基于细分样式导出每个子块的运动信息来生成对应的预测块。因此,在一些实施例中,即使对于一个预测方向,也可以通过多个细分样式生成多个预测块。在一些实施例中,对于每个预测方向,可以仅应用一个细分样式。
图13示出了根据本公开的技术的具有两个细分样式的交织预测的示例。当前块1300可以细分为多个样式。例如,如图13所示,当前块被细分为样式0(1301)和样式1(1302)两者。生成两个预测块P0(1303)和P1(1304)。可以通过计算P0(1303)和P1(1304)的加权和,来生成当前块1300的最终预测块P(1305)。
更一般地,给定X个细分样式,可以通过具有X个细分样式的基于子块的预测来生成当前块的X个预测块,表示为P0,P1,......,PX-1。表示为P的当前块的最终预测可以生成为
Figure BDA0002189803530000151
此处,(x,y)是块中的像素的坐标,并且wi(x,y)是Pi的权重值。作为示例且非限制性地,权重可以表达为:
Figure BDA0002189803530000152
N是非负值。替代地,等式(16)中的位移位操作也可以表达为:
Figure BDA0002189803530000161
作为2的幂的权重之和允许通过执行比特移位操作而不是浮点除法来更有效地计算加权和P。
细分样式可以具有子块的不同的形状、尺寸或位置。在一些实施例中,细分样式可包含不规则的子块尺寸。图14A-14G示出了用于16×16块的细分样式的若干示例。在图14A中,根据所公开的技术将块细分为4×4子块。此样式也用于JEM中。图14B示出了根据本公开的技术将块细分为8×8子块的示例。图14C示出了根据本公开技术将块细分为8×4子块的示例。图14D示出了根据本公开的技术将块细分为4×8子块的示例。在图14E中,根据本公开的技术,块的一部分被细分为4×4子块。块边界处的像素被细分为具有诸如2×4、4×2或2×2的大小的更小子块。可以合并一些子块以形成更大的子块。图14F示出了相邻子块的示例,诸如4×4子块和2×4子块,其被合并以形成具有诸如6×4、4×6或6×6的尺寸的更大子块。在图14G中,块的一部分被细分为8×8子块。块边界处的像素被细分为较小的子块,其具有诸如8×4、4×8或4×4的尺寸。
可以基于编码块的形状和/或大小和/或编码块信息来确定基于子块的预测中的子块的形状和大小。例如,在一些实施例中,当当前块具有M×N的大小时,子块具有4×N(或8×N等)的大小。也就是说,子块具有与当前块相同的高度。在一些实施例中,当当前块具有M×N的大小时,子块具有M×4(或M×8等)的大小。也就是说,子块具有与当前块相同的宽度。在一些实施例中,当当前块具有M×N(其中M>N)的大小时,子块具有A×B的大小,其中A>B(例如,8×4)。替代地,子块可以具有B×A(例如4×8)的大小。
在一些实施例中,当前块具有M×N的大小。当M×N<=T(或Min(M,N)<=T,或Max(M,N)<=T等)时,子块具有A×B的大小,并且当M×N>T(或Min(M,N)>T,或Max(M,N)>T等)时,子块具有C×D的大小,其中A<=C且B<=D。例如,如果M×N<=256,则子块可以是4×4的大小。在一些实现方式中,子块具有8×8的大小。
在一些实施例中,可以基于帧间预测方向来确定是否应用交织预测。例如,在一些实施例中,交织预测可以应用于双向预测,但不应用于单向预测。作为另一示例,当应用多假设时,当存在多于一个参考块时,可以将交织预测应用于一个预测方向。
在一些实施例中,还可以基于帧间预测方向来确定如何应用交织预测。在一些实施例中,具有基于子块的预测的双向预测块对于两个不同参考列表以两个不同细分样式被细分为子块。例如,当从参考列表0(L0)预测时,双向预测块被细分为4×8子块,如图14D所示。当从参考列表1(L1)预测时,将相同的块细分为8×4子块,如图14C所示。最终预测P计算为
Figure BDA0002189803530000171
此处,P0和P1分别是来自L0和L1的预测。w0和w1分别是L0和L1的权重值。如等式(16)所示,权重值可以确定为:w0(x,y)+w1(x,y)=1<<N(其中N是非负整数值)。因为在每个方向上用于预测的子块更少(例如,与8×8子块相比,4×8子块),与现有的基于子块的方法相比,计算需要更少的带宽。通过使用更大的子块,预测结果也更不易受噪声干扰的影响。
在一些实施例中,具有基于子块的预测的单向预测块对于相同参考列表以两种或更多种不同细分样式被细分为子块。例如,列表L(L=0或1)的预测PL被计算为
Figure BDA0002189803530000172
这里XL是列表L的细分样式的数目。
Figure BDA0002189803530000173
是用第i细分样式预测生成的,并且
Figure BDA0002189803530000174
Figure BDA0002189803530000175
的权重值。例如,当XL为2时,两种细分样式应用于列表L。在第一细分样式中,块被细分为4×8子块,如图14D所示。在第二细分样式中,块被细分为8×4子块如图14D所示。
在一个实施例中,具有基于子块的预测的双向预测块被认为是分别来自L0和L1的两个单向预测块的组合。来自每个列表的预测可以按上述示例中的描述导出。最终预测P可以被计算为
Figure BDA0002189803530000176
这里,参数a和b是应用于两个内部预测块的两个附加权重。在该具体示例中,a和b可以都设定为1。类似于上面的示例,因为在每个方向上使用更少的子块用于预测(例如,与8×8子块相比,4×8子块),带宽使用比现有基于子块的方法更好或同等水平。同时,通过使用更大的子块可以改善预测结果。
在一些实施例中,可以在每个单向预测块中使用单个非均匀样式。例如,对于每个列表L(例如,L0或L1),块被分成不同的样式(例如,如图14E或图14F所示)。使用较少数目的子块降低了对带宽的需求。子块的非均匀性也增加了预测结果的鲁棒性。
在一些实施例中,对于多假设编码块,对于每个预测方向(或参考图片列表),可以存在由不同细分样式生成的多于一个预测块。可以使用多个预测块来生成应用了附加权重的最终预测。例如,附加权重可以设定为1/M,其中M是所生成的预测块的总数。
在一些实施例中,编码器可以确定是否应用以及如何应用交织预测。然后,编码器可以在序列级、图片级、视图级、条带级、编码树单元(CTU)(也称为最大编码单元(LCU))级、CU级、PU级、树单元(TU)级、或区域级(可包含多个CU/PU/Tu/LCU)将对应于该确定的信息发送到解码器。可以在序列参数集(SPS)、视图参数集(VPS)、图片参数集(PPS)、条带报头(SH)、CTU/LCU、CU、PU、TU、或区域的第一个块中将信息信令通知。
在一些实现方式中,交织预测适用于现有的子块方法,例如仿射预测、ATMVP、STMVP、FRUC或BIO。在这种情况下,不需要额外的信令成本。在一些实现方式中,可以将由交织预测生成的新子块Merge候选插入到Merge列表中,例如,交织预测+ATMVP、交织预测+STMVP、交织预测+FRUC等。
在一些实施例中,可以基于来自空域和/或时域相邻块的信息导出当前块要使用的细分样式。例如,不是依赖于编码器来信令通知相关信息,而是编码器和解码器两者都可以采用一组预定规则来基于时域邻接(例如,先前使用的相同块的细分样式)或空域邻接(例如,相邻块使用的细分样式)来获取细分样式。
在一些实施例中,权重值w可以是固定的。例如,全部细分样式可以相等地加权:wi(x,y)=1。在一些实施例中,可以基于块的位置以及所使用的细分样式来确定权重值。例如,对于不同的(x,y),wi(x,y)可以是不同的。在一些实施例中,权重值还可以取决于基于子块预测的编码技术(例如,仿射或ATMVP)和/或其他编码信息(例如,跳过或非跳过模式,和/或MV信息)。
在一些实施例中,编码器可以确定权重值,并且在序列级、图片级、条带级、CTU/LCU级、CU级、PU级或区域级(其可以包括多个CU/PU/Tu/LCU))中将值发送到解码器。可以在序列参数集(SPS)、图片参数集(PPS)、条带报头(SH)、CTU/LCU、CU、PU或区域的第一块中信令通知权重值。在一些实施例中,可以从空域和/或时域相邻块的权重值导出权重值。
注意,本文公开的交织预测技术可以应用于基于子块的预测中的一种、一些或全部编码技术。例如,交织预测技术可以应用于仿射预测,而基于子块的预测的其他编码技术(例如,ATMVP、STMVP、FRUC或BIO)不使用交织预测。作为另一个例子,仿射、ATMVP和STMVP的全部都应用本文公开的交织预测技术。
图15A是根据本公开技术的用于改善视频系统中的运动预测的方法1500的示例性流程图。方法1500包含在1502处从视频帧选择像素集合以形成块。方法1500包含在1504处根据第一样式将块细分为子块的第一集合。方法1500包含在1506处基于子块的第一集合生成第一中间预测块。方法1500包含在1508处根据第二样式将块细分为子块的第二集合。第二集合中的至少一个子块具有与第一集合中的子块不同的大小。方法1500包含在1510处基于子块的第二集合生成第二中间预测块。方法1500还包含在1512处基于第一中间预测块和第二中间预测块确定预测块。
在一些实施例中,使用(1)仿射预测方法,(2)可选时域运动矢量预测方法,(3)空域-时域运动矢量预测方法,(4)双向光流方法,或(5)帧速率上转换方法中至少一者来生成第一中间预测块或第二中间预测块。
在一些实施例中,第一集合或第二集合中的子块具有矩形形状。在一些实施例中,子块的第一集合中的子块具有非均匀的形状。在一些实施例中,子块的第二集合中的子块具有非均匀的形状。
在一些实施例中,该方法包含基于块的大小确定第一样式或第二样式。在一些实施例中,该方法包含基于来自与块在时域上或空域上相邻的第二块的信息来确定第一样式或第二样式。
在一些实施例中,为了块在第一方向上的运动预测进行将块细分为子块的第一集合。在一些实施例中,为了块在第二方向上的运动预测进行将块细分为第二子块集合。
在一些实施例中,为了块在第一方向上的运动预测进行将块细分为子块的第一集合并将块细分为子块的第二集合。在一些实施例中,该方法还包含通过以下来进行块在第二方向上的运动预测:根据第三样式将块细分为子块的第三集合,基于子块的第三集合生成第三中间预测块,根据第四样式将块细分为子块的第四集合,其中第四集合中的至少一个子块具有与第三集合中的子块不同的尺寸,基于子块的第四集合生成第四中间预测块,基于第三中间预测块和第四中间预测块确定第二预测块,以及基于预测块和第二预测块确定第三预测块。
在一些实施例中,该方法包含将细分块的第一样式和第二样式的信息传输到基于块的运动预测视频系统中的编码装置。在一些实施例中,传输第一样式和第二样式的信息在以下之一处进行:(1)序列级,(2)图片级,(3)视图级,(4)条带级,(5)编码树单元,(6)最大编码单元级,(7)编码单元级,(8)预测单元级,(10)树单元级,或(11)区域级。
在一些实施例中,确定预测结果包含将权重的第一集合应用到第一中间预测块,以获取第一加权预测块,将权重的第二集合应用到第二中间预测块,以获取第二加权预测块,以及计算第一加权预测块和第二加权预测块的加权和,以获取预测块。
在一些实施例中,权重的第一集合或权重的第二集合包含固定权重值。在一些实施例中,基于来自与该块在时域上或空域上相邻的另一块的信息来确定权重的第一集合或权重的第二集合。在一些实施例中,使用用于生成第一预测块或第二预测块的编码算法来确定权重的第一集合或权重的第二集合。在一些实现方式中,权重的第一集合中的至少一个值不同于权重的第一集合中的另一值。在一些实现方式中,权重的第二集合中的至少一个值不同于权重的第二集合中的另一值。在一些实现方式中,权重之和等于2的幂。
在一些实施例中,该方法包含将权重传输到基于块的运动预测视频系统中的编码装置。在一些实施例中,传输权重在以下之一处进行:(1)序列级,(2)图片级,(3)视图级,(4)条带级,(5)编码树单元,(6)最大编码单元级,(7)编码单元级,(8)预测单元级,(10)树单元级,或(11)区域级。
图15B是根据所公开的技术的用于改善视频系统中的基于块的运动预测的方法1550的示例流程图。方法1550包括在1552处从视频帧中选择像素集合以形成块。方法1550包括在1554处基于块的大小或来自与块在空域上或时域上相邻的另一块的信息将块细分为多个子块。多个子块中的至少一个子块具有与其他子块不同的大小。方法1550还包括在1556处通过将编码算法应用于多个子块来生成运动矢量预测。在一些实施例中,编码算法包括(1)仿射预测方法,(2)可选时域运动矢量预测方法,(3)空域-时域运动矢量预测方法,(4)双向光流方法,或(5)帧速率上转换方法中的至少一个。
在方法1500和1550中,可以实现部分交织。使用该方案,预测样本的第一子集中的样本被计算为第一中间预测块的加权组合,并且预测样本的第二子集中的样本被从基于子块的预测复制,其中第一子集和第二子集是基于细分样式。第一子集和第二子集可以一起构成整个预测块,例如,当前正被处理的块。如图18A-18C中所示,在各种示例中,从交织中排除的第二子集可以由(a)角部子块或(b)子块的最上和最下行或(c)子块的最左或右列构成。当前正在处理的块的大小可以用作决定是否从交织预测中排除某些子块的条件。例如,下文中描述的某些条件。
如在本文件中进一步描述的,编码过程可以避免检查从母块细分的块的仿射模式,其中母块本身用不同于仿射模式的模式编码。
图16是示出可以用来实现本公开技术的各部分的计算机系统或其他控制装置1600的架构的示例的框图。在图16中,计算机系统1600包含经由互连件1625连接的一个或多个处理器1605和存储器1610。互连件1625可以表示任意一个或多个分开的物理总线、点对点连接或两者,其由适当的桥接、适配器,或控制器连接。因此,互连件1625可以包含例如系统总线、外围部件互连(PCI)总线、超传输(HyperTransport)或行业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线,或电气与电子工程师学会(IEEE)标准674总线,有时称为“火线(Firewire)”。
(多个)处理器1605可以包含中央处理单元(CPU),以控制例如主机计算机的总体操作。在某些实施例中,(多个)处理器1605通过储存在存储器1610中的执行软件或固件将此实现。(多个)处理器1605可以是或可以包含一个或多个可编程通用或专用微处理器、数字信令处理器(DSP)、可编程控制器、应用专用集成电路(ASIC)、可编程逻辑装置(PLD)等,或这样的装置的组合。
存储器1610可以是或包含计算机系统的主存储器。存储器1610表示任意适当形式的随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器等,或这样的装置的组合。在使用中,存储器1610除其他之外可以含有机器指令集,当由处理器1605执行该机器指令集时,使处理器1605进行操作,以实现本公开技术的实施例。
还通过互连件1625连接到(多个)处理器1605的是(可选的)网络适配器1615。网络适配器1615为计算机系统1600提供与远程装置(诸如储存客户端,和/或其他储存服务器)通信的能力,并且可以是例如以太网适配器或光纤通道适配器。
图17示出了可以用来实现本公开技术的各部分的移动装置1700的示例性实施例的框图。移动装置1700可以是膝上式计算机、智能电话、平板计算机、摄录机,或能够处理视频的其他类型的装置。移动装置1700包含处理器或控制器1701以处理数据,以及与处理器1701通信的存储器1702,以储存和/或缓冲数据。例如,处理器1701可以包含中央处理单元(CPU)或微控制器单元(MCU)。在一些实现方式中,处理器1701可以包含现场可编程门阵列(FPGA)。在一些实现方式中,移动装置1700包含以下或与以下通信:图形处理单元(GPU)、视频处理单元(VPU)和/或用于智能电话装置的各种视觉和/或通信数据处理功能的无线通信单元。例如,存储器1702可以包含并储存处理器可执行代码,当由处理器1701执行该代码时,将移动装置1700配置为进行各种操作,例如,诸如接收信息、命令,和/或数据,处理信息和数据,以及将处理的信息/数据传输或提供到另一装置,诸如致动器或外部显示器。为了支持移动装置1700的各种功能,存储器1702可以储存信息和数据,诸如指令、软件、值、图像,以及由处理器1701处理或引用的其他数据。例如,各种类型的随机存取存储器(RAM)装置、只读存储器(ROM)装置、闪速存储器装置,以及其他适当储存介质可以用于实现存储器1702的储存功能。在一些实现方式中,移动装置1700包含输入/输出(I/O)单元1703,以将处理器1701和/或存储器1702与其他模块、单元或装置相接。例如,I/O单元1703可以将处理器1701和存储器1702与典型的数据通信标准兼容的各种类型的无线接口相接并将其利用,例如,诸如在云中的一个或多个计算机与用户装置之间。在一些实现方式中,移动装置1700可以经由I/O单元1703使用有线连接与其他装置相接。移动装置1700还可以与其他外部接口(诸如数据储存,和/或视觉或音频显示装置1704)相接,以取回并传输可由处理器处理的数据和信息,储存在存储器中,或展示在显示装置1704的输出单元或外部装置上。例如,显示装置1704可以显示基于根据本公开技术的MVP修改的视频帧(例如,包含预测块1305的视频帧,如图13中所示)。
在一些实施例中,视频解码器设备可实施视频解码的方法,其中如本文中所描述的经改善的基于块的运动预测用于视频解码。该方法可以包含使用来自视频帧的像素集合来形成视频的块。可以根据第一样式将块细分为子块的第一集合。第一中间预测块可以对应于子块的第一集合。该块可以包含根据第二样式的子块的第二集合。第二集合中的至少一个子块具有与第一集合中的子块不同的大小。该方法还可以基于第一中间预测块和从子块的第二集合生成的第二中间预测块来确定预测块。该方法的其他特征可以类似于上述方法1500。
在一些实施例中,视频解码的解码器侧方法可以使用基于块的运动预测以用于通过使用用于预测的视频帧的块来改善视频质量,其中块对应于像素块的集合。可以基于块的大小或者来自与块在空域上或时域上相邻的另一块的信息将块细分为多个子块,其中多个子块中的至少一个子块具有与其他子块不同的大小。解码器可以使用通过将编码算法应用于多个子块而生成的运动矢量预测。关于图15B和对应的描述描述了该方法的其他特征。
在一些实施例中,可以使用实现在关于图16和图17描述的硬件平台上的解码设备实现视频解码方法。
部分交织
在一些实施例中,部分交织预测可以如下实现。
在一些实施例中,交织预测应用到当前块的一部分。一些位置处的预测样本被计算为两个或更多个基于子块的预测的加权和。其他位置处的预测样本不用于加权和。例如,这些预测样本从具有特定细分样式的基于子块的预测复制。
在一些实施例中,由分别具有细分样式D0和细分样式D1的基于子块的预测P1和P2预测当前块。最终预测计算为P=w0×P0+w1×P1。在一些位置处,w0≠0且w1≠0。但在一些其他位置处,w0=1且w1=0,即,交织预测不应用于那些位置。
在一些实施例中,交织预测不应用于如图18A中所示的四个角部子块。
在一些实施例中,交织预测不应用于如图18B中所示的子块的最左列和子块的最右列。
在一些实施例中,交织预测不应用于如图18C中所示的子块的最顶部行和子块的最底部行。
整合在编码器实施例内的技术的示例
在一些实施例中,交织预测不应用于运动估计(ME)过程。
例如,对于6-参数仿射预测,交织预测不应用于ME过程。
例如,如果当前块的尺寸满足诸如以下的特定条件,则交织预测不应用于ME过程。此处,假设当前块的宽度和高度分别为W和H,并且T、T1、T2为整数值:
W>=T1且H>=T2;
W<=T1且H<=T2;
W>=T1或H>=T2;
W<=T1或H<=T2;
W+H>=T
W+H<=T
W×H>=T
W×H<=T
例如,如果当前块是从母块分割的,并且母块在编码器处不选择仿射模式,则在ME过程省略交织预测。
图19是用于改善视频系统中的基于块的运动预测的方法1900的流程图表示。方法1900包含,在操作1902,基于视频块的特性,使用第一中间预测块和第二中间预测块确定视频块的预测块。方法1900包含,在操作1904,使用预测块生成视频块的编码表示。通过将视频块细分为子块的第一集合生成第一中间预测块,并且通过将视频块细分为子块的第二集合生成第二中间预测块。第二集合中的至少一个子块具有与第一集合中的子块不同的尺寸。
在一些实施例中,在编码过程中的运动估计的阶段进行确定。在一些实施例中,视频块的特性指示预测块不是基于仿射预测确定的。
在一些实施例中,块具有W的宽度和H的高度,并且视频块的特性指示预测块是由于W和H不满足一个或多个条件而确定的。在一些实施例中,一个或多个条件包含W≥T1且H≥T2,T1和T2为预定整数值。在一些实施例中,一个或多个条件包含W≤T1且H≤T2,T1和T2为预定整数值。在一些实施例中,一个或多个条件包含W≥T1或H≥T2,T1和T2为预定整数值。在一些实施例中,一个或多个条件包含W≤T1或H≤T2,T1和T2为预定整数值。在一些实施例中,一个或多个条件包含W+H≥T,T为预定整数值。在一些实施例中,一个或多个条件包含W+H≤T,T为预定整数值。在一些实施例中,一个或多个条件包含W×H≥T,T为预定整数值。在一些实施例中,一个或多个条件包含W×H≤T,T为预定整数值。
在一些实施例中,视频块的特性指示视频块不是从母块分割的。在一些实施例中,视频块的特性指示块是从仿射编码的母块分割的。
替代地,如果当前块是从母块分割的,并且母块在编码器处不选择仿射模式,则在编码器处不检查仿射模式。
图20是示出可以实现本文公开的各种技术的示例性视频处理系统2000的框图。各种实现方式可以包含系统2000的一些或全部组件。系统2000可以包含用于接收视频内容的输入2002。视频内容可以以原始或未压缩格式接收,例如8或10比特多分量像素值,或者可以是压缩或编码格式。输入2002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包含诸如以太网,无源光网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统2000可以包含编码组件2004,其可以实现本文档中描述的各种编码或编码方法。编码组件2004可以将来自输入2002的视频的平均比特率减小到编码组件2004的输出,以产生视频的编码表示。因此,编码技术有时被称为视频压缩或视频转码技术。编码组件2004的输出可以储存或者经由连接的通信传输,如组件2006所表示的。在输入2002处接收的视频的存储或通信的比特流(或编码)表示可以由组件2008使用,以生成发送到显示接口2010的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编码”操作或工具,但是应当理解,编码工具或操作在编码器处使用,并且逆转编码结果的相应的解码工具或操作将由解码器进行。
外围总线接口或显示接口的示例可以包含通用串行总线(USB)或高分辨率多媒体接口(HDMI)或显示端口(Displayport)等。存储接口的示例包含SATA(串行先进技术附件)、PCI、IDE接口等。本文档中描述的技术可以实施为各种电子设备,诸如移动电话、膝上型计算机、智能电话或能够执行数字数据处理和/或视频显示的其他装置。
从前述内容可以理解,本文已经出于说明的目的描述了本公开技术的具体实施例,但是在不脱离本发明的范围的情况下可以进行各种修改。相应地,除了所附权利要求之外,本发明所公开的技术不受限制。
本文档中描述的公开的和其他实施例、模块和功能操作可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包含本文档中公开的结构及其结构等同,或者它们中的一个或多个的组合。所公开的和其他实施例可以实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器装置、影响机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理设备”包含用于处理数据的全部设备、装置和机器,包含例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该设备还可以包含为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统,或者它们中的一个或多个的组合。传播信令是人工生成的信号,例如机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包含编译或解释语言,并且它可以以任何形式部署,包含如独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在文件的保存其他程序或数据的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码的部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本文档中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以实现为专用逻辑电路。
适合于执行计算机程序的处理器包含例如通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包含用于存储数据的一个或多个大容量装置设备(例如磁盘、磁光盘或光盘)或与之可操作地耦合以从一个或多个大容量装置设备接收数据或将数据传输到一个或多个大容量装置设备。但是,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包含全部形式的非易失性存储器、介质和存储器装置,包含例如半导体存储器设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及,CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在单独的实施例的上下文中在本专利文档中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中去除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解成为了实现期望的结果要求以所示的特定顺序或按顺序执行这样的操作,或者执行全部示出的操作。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在全部实施例中都需要这种分离。
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实现方式、增强和变化。

Claims (16)

1.一种处理视频的方法,包括:
基于视频块的特性,使用第一中间预测块和第二中间预测块确定所述视频块的预测块;以及
使用所述预测块生成所述视频块的编码表示,
其中通过将所述视频块细分为子块的第一集合生成所述第一中间预测块,其中通过将所述视频块细分为子块的第二集合生成所述第二中间预测块,并且其中所述第二集合中的至少一个子块具有与所述第一集合中的子块不同的尺寸。
2.如权利要求1所述的方法,其中在编码过程中的运动估计的阶段中进行所述确定。
3.如权利要求1所述的方法,其中所述视频块的特性指示所述预测块不是基于仿射预测确定的。
4.如权利要求1或2所述的方法,其中所述视频块具有W的宽度和H的高度,并且其中所述视频块的特性指示所述预测块是由于W和H不满足一个或多个条件而确定的。
5.如权利要求4所述的方法,其中所述一个或多个条件包含W≥T1且H≥T2,T1和T2为预定整数值。
6.如权利要求4所述的方法,其中所述一个或多个条件包含W≤T1且H≤T2,T1和T2为预定整数值。
7.如权利要求4所述的方法,其中所述一个或多个条件包含W≥T1或H≥T2,T1和T2为预定整数值。
8.如权利要求4所述的方法,其中所述一个或多个条件包含W≤T1或H≤T2,T1和T2为预定整数值。
9.如权利要求4所述的方法,其中所述一个或多个条件包含W+H≥T,T为预定整数值。
10.如权利要求4所述的方法,其中所述一个或多个条件包含W+H≤T,T为预定整数值。
11.如权利要求4所述的方法,其中所述一个或多个条件包含W×H≥T,T为预定整数值。
12.如权利要求4所述的方法,其中所述一个或多个条件包含W×H≤T,T为预定整数值。
13.如权利要求1或2所述的方法,其中所述视频块的特性指示所述视频块不是从母块分割的。
14.如权利要求1或2所述的方法,其中所述视频块的特性指示所述视频块是从仿射编码的的母块分割的。
15.一种视频系统中的设备,包括处理器和其上具有指令的非瞬态存储器,其中由所述处理器执行所述指令时,使所述处理器实现权利要求1至14中的一个或多个所述的方法。
16.一种非瞬态计算机可读介质,包含其上存储的所述计算机代码,所述计算机程序代码用于执行权利要求1至14中的一个或多个所述的方法。
CN201910828199.XA 2018-09-03 2019-09-03 交织预测的快速编码方法 Active CN110876063B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2018103770 2018-09-03
CNPCT/CN2018/103770 2018-09-03

Publications (2)

Publication Number Publication Date
CN110876063A true CN110876063A (zh) 2020-03-10
CN110876063B CN110876063B (zh) 2023-01-31

Family

ID=67928865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910828199.XA Active CN110876063B (zh) 2018-09-03 2019-09-03 交织预测的快速编码方法

Country Status (3)

Country Link
CN (1) CN110876063B (zh)
TW (1) TWI833795B (zh)
WO (1) WO2020049447A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023020392A1 (en) * 2021-08-16 2023-02-23 Mediatek Inc. Latency reduction for reordering merge candidates

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025951B2 (en) * 2019-01-13 2021-06-01 Tencent America LLC Method and apparatus for video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252686A (zh) * 2008-03-20 2008-08-27 上海交通大学 基于交织预测的视频帧内无损编解码方法及系统
CN101491107A (zh) * 2006-07-07 2009-07-22 艾利森电话股份有限公司 视频数据管理
US20100118943A1 (en) * 2007-01-09 2010-05-13 Kabushiki Kaisha Toshiba Method and apparatus for encoding and decoding image
CN101766030A (zh) * 2007-07-31 2010-06-30 三星电子株式会社 使用加权预测的视频编码和解码方法以及设备
CN108109629A (zh) * 2016-11-18 2018-06-01 南京大学 一种基于线性预测残差分类量化的多描述语音编解码方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817884B2 (en) * 2009-11-20 2014-08-26 Texas Instruments Incorporated Techniques for perceptual encoding of video frames

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101491107A (zh) * 2006-07-07 2009-07-22 艾利森电话股份有限公司 视频数据管理
US20100118943A1 (en) * 2007-01-09 2010-05-13 Kabushiki Kaisha Toshiba Method and apparatus for encoding and decoding image
CN101766030A (zh) * 2007-07-31 2010-06-30 三星电子株式会社 使用加权预测的视频编码和解码方法以及设备
CN101252686A (zh) * 2008-03-20 2008-08-27 上海交通大学 基于交织预测的视频帧内无损编解码方法及系统
CN108109629A (zh) * 2016-11-18 2018-06-01 南京大学 一种基于线性预测残差分类量化的多描述语音编解码方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHANG,KAI 等: "CE4-related: Interweaved Prediction for Affine Motion Compensation", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 11TH MEETING: LJUBLJANA, SI, 10–18 JULY 2018》, 18 July 2018 (2018-07-18), pages 1 - 2 *
ZHANG,KAI 等: "CE4-related: Simplified Affine Prediction", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 11TH MEETING: LJUBLJANA, SI, 10–18 JULY 2018》, 18 July 2018 (2018-07-18) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023020392A1 (en) * 2021-08-16 2023-02-23 Mediatek Inc. Latency reduction for reordering merge candidates
US11805245B2 (en) 2021-08-16 2023-10-31 Mediatek Inc. Latency reduction for reordering prediction candidates

Also Published As

Publication number Publication date
TW202027501A (zh) 2020-07-16
CN110876063B (zh) 2023-01-31
TWI833795B (zh) 2024-03-01
WO2020049447A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
CN112913249B (zh) 广义双向预测索引的简化编解码
CN110557640B (zh) 加权交织预测
CN110572645B (zh) 非对称加权双向预测Merge
CN112956197A (zh) 基于编解码信息的解码器侧运动矢量推导的限制
CN110582000A (zh) 改进的模式匹配的运动矢量推导
CN110740321B (zh) 基于更新的运动矢量的运动预测
CN110891174B (zh) 不同视频块尺寸的仿射模式计算
CN113454999A (zh) 划分模式之间的运动矢量推导
CN110662076B (zh) 子块的边界增强
CN110876063B (zh) 交织预测的快速编码方法
CN111010570B (zh) 基于仿射运动信息的尺寸限制
CN110876064B (zh) 部分交织的预测
CN110557639B (zh) 交织预测的应用
CN113261281A (zh) 交织预测的使用

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant