CN113785586A - 用于视频编解码系统的简化仿射子块处理的方法及装置 - Google Patents

用于视频编解码系统的简化仿射子块处理的方法及装置 Download PDF

Info

Publication number
CN113785586A
CN113785586A CN202080028241.0A CN202080028241A CN113785586A CN 113785586 A CN113785586 A CN 113785586A CN 202080028241 A CN202080028241 A CN 202080028241A CN 113785586 A CN113785586 A CN 113785586A
Authority
CN
China
Prior art keywords
block
sub
current block
predictor
affine
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
CN202080028241.0A
Other languages
English (en)
Other versions
CN113785586B (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.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Priority to CN202311648114.2A priority Critical patent/CN117750033A/zh
Publication of CN113785586A publication Critical patent/CN113785586A/zh
Application granted granted Critical
Publication of CN113785586B publication Critical patent/CN113785586B/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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/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/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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/172Methods 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 picture, frame or field
    • 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/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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

公开了使用基于子块的仿射模式进行视频编解码的方法和装置。在一种方法中,如果使用仿射回退或控制点运动向量相同,则禁用所述基于子块的仿射模式,以降低计算复杂度。根据使用属于编解码工具组的编解码工具进行视频编解码的另一方法,针对所述当前块的目标子块的像素,推导预测项增强,所述编码工具组包括光流预测增强(PROF)和双向光流(BDOF),其中,推导所述预测项增强的步骤包括:推导所述当前块的所述目标子块的所述像素的梯度,并且将所述第一梯度右移公共移位。

Description

用于视频编解码系统的简化仿射子块处理的方法及装置
交叉引用
本发明要求于2019年4月12日提交的序号为62/832,941的美国临时专利申请、于2019年5月7日提交的序号为62/844,194的美国临时专利申请以及于2019年5月31日提交的序号为62/855,003的美国临时专利申请的优先权。所述美国临时专利申请在此通过引用将其全文并入。
技术领域
本发明涉及使用运动估计和运动补偿的视频编解码。尤其是,本发明涉及降低允许仿射模式和基于子块的仿射模式的系统的复杂度。
背景技术
在过去的二十年里已经开发了各种视频编解码标准。在较新的编码标准中,使用更强大的编码工具来提高编解码效率。高效视频编码(HEVC)是近年来开发的新编码标准。在高效视频编码(HEVC)系统中,用被称为编码单元(CU)的灵活块替换H.264/AVC的固定大小的宏块。CU中的像素共用相同的编码参数以提高编码效率。CU可以以最大CU(LCU)开始,在HEVC中,该LCU也被称为编码树单元(CTU)。除了编码单元的概念之外,HEVC中还引入了预测单元(PU)的概念。一旦完成了CU分层树的分割,则根据预测类型和PU划分,将各个叶CU进一步分割成一个或更多个预测单元(PU)。
在大多数编解码标准中,基于块使用自我调整帧间/帧内预测。在帧间预测模式下,针对各个块确定一个或两个运动向量,以选择一个参考块(即,单预测)或两个参考块(即,双预测)。确定一个或多个运动向量并且针对各个单独块进行编码。在HEVC中,以如下两种不同方式支援帧间运动补偿:显式信令或隐式信令。在显式信令中,使用预测编码方法来用信号通知块(即,PU)的运动向量。运动向量预测项(motion vector predictor)对应于与当前块的空间和时间邻居相关联的运动向量。在确定MV预测项之后,对运动向量差(MVD)进行编码和发送。该模式也被称为AMVP(高级运动向量预测)模式。在隐式信令中,从候选预测项集中选择一个预测项作为当前块(即,PU)的运动向量。由于编码器和解码器都将以相同的方式推导候选集并选择最终运动向量,因此无需在隐式模式下用信号通知MV或MVD。该模式也被称为合并模式(Merge mode)。在合并模式下形成预测项集也被称为合并候选者列表构造。用信号通知被称为合并索引的索引,以指示被选择为当前块的MV的预测项。
沿着时间轴跨图片发生的运动可以由许多不同模型来描述。假定A(x,y)是考虑中的位置(x,y)处的原始像素,A’(x’,y’)是当前像素A(x,y)在参考图片中的位置(x’,y’)处的对应像素,仿射运动模型描述如下。
仿射模型能够描述二维块旋转以及二维变形以将方形(或矩形)变换成平行四边形。该模型可以描述如下:
x’=a0+a1*x+a2*y,并且
y’=b0+b1*x+b2*y. (1)
在提交到ITU-VCEG(Lin等人的“Affine transform prediction for nextgeneration video coding”,ITU-U,Study Group 16,Question Q6/16,ContributionC1016,September 2015,Geneva,CH)的投稿ITU-T13-SG16-C1016中公开了一种包括仿射合并模式的四参数仿射预测。当仿射运动块移动时,可以通过两个控制点运动向量或以下四个参数来描述该块的运动向量场(motion vector field),其中(vx,vy)表示运动向
Figure BDA0003299285420000021
量:
图1A示出了四参数仿射模型的示例,其中,根据具有两个控制点运动向量(即v0和V1)的仿射模型来定位当前块110的对应参考块120。变换块是矩形块。该移动块中各个点的运动向量场可以用下式描述:
Figure BDA0003299285420000031
或者
Figure BDA0003299285420000032
在上式中,(V0x,V0y)是块左上角处的控制点运动向量(即,V0),并且(V1x,v1y)是块右上角处的另一控制点运动向量(即,V1)。当对两个控制点的MV进行解码时,可以根据上式确定该块的各个4×4块的MV。换句话说,可以通过两个控制点处的两个运动向量来指定该块的仿射运动模型。此外,虽然将块的左上角和右上角用作两个控制点,但是也可以使用其它两个控制点。如图1B所示,根据式(3),可以基于两个控制点的MV来针对各个4×4子块确定当前块的运动向量的示例。
另外,可以如下定义四个变数:
dHorX=(V1x-V0x)/w→ΔVx,当沿X方向移比特1个样本时,
dVerX=(V1y-V0y)/h→ΔVy,当沿X方向移比特1个样本时,
dHorY=(v2x-V0x)/w→ΔVx,当沿Y方向移比特1个样本时,
dVerY=(v2y-v0y)/h→ΔVy,当沿Y方向移比特1个样本时,
在投稿ITU-T13-SG16-C1016中,针对帧间模式编码CU,当CU大小等于或大于16×16时,用信号通知仿射标志,以指示是否应用仿射帧间模式。如果当前块(例如,当前CU)以仿射帧间模式被编码,则使用邻居有效重构块来构建候选MVP对列表。图2例示了用于推导角推导仿射候选的相邻块集。如图2所示,
Figure BDA0003299285420000041
与当前块210左上角处的块的运动向量V0相对应,该
Figure BDA0003299285420000042
选自相邻块a0(被称为左上块)、a1(被称为左上内块)和a2(被称为左上下方块)的运动向量,并
Figure BDA0003299285420000043
与当前块210右上角处的块V1的运动向量相对应,该
Figure BDA0003299285420000044
选自相邻块b0(被称为上方块)和b1(被称为右上块)的运动向量。
在投稿ITU-T13-SG16-C1016中,还提出了仿射合并模式。如果当前块是合并编码PU,则检查相邻的五个块(图3中的A0、A1、B0、B1和B2块)以确定这些块中的任何一个块是否以仿射帧间模式或仿射合并模式编码。如果是,则用信号通知affine_flag以指示当前PU是否处于仿射模式。当该当前PU以仿射合并模式应用时,该当前PU从有效邻居重构块中获得以仿射模式编码的第一块。候选块的选择顺序是从左块(A1)、上方块(B1)、右上块(B0)、左下块(A0)到左上块(B2)。换句话说,如图3所示,搜索顺序是A1 B1 B0 A0 B2。仿射编码块的仿射参数用于推导当前PU的v0和v1。在图3的示例中,用于构造仿射运动模型的控制点MV的相邻块(A0、A1、B0、B1和B2)在本公开中被称为相邻块集。
在仿射运动补偿(MC)中,当前块被划分成多个4×4子块。针对各个子块,通过对该子块使用式(3)来将中心点(2,2)用于推导MV。针对该当前块的MC,各个子块执行4×4子块平移MC。
在HEVC中,各个PU的解码MV以16∶1的比率下采样并且被存储在时间MV缓冲器中以用于后续帧的MVP推导。针对16×16块,仅左上4×4MV被存储在时间MV缓冲器中,并且所存储的MV表示整个16×16块的MV。
仿射光流
当以仿射模式对编码单元(CU)进行编码时,将编码单元划分成4×4子块,并且如图1B所示,针对各个子块,基于仿射模型推导一个运动向量,并执行运动补偿以生成对应预测项。使用4×4块作为一个子块而不是使用其它较小的大小的原因是为了在运动补偿的计算复杂度与编码效率之间取得良好的权衡。为了提高编码效率,JVET-N0236(J.Luo等人的“CE2-related:Prediction refinement with optical flov for affine mode”,JointVideo Experts Team(JVET)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,14thMeeting:Geneva,CH,19-27 March 2019,Document:JVET-N0236)、JVET-N0261(K.Zhang等人的“CE2-1.1:Interweaved Prediction for Affine Motion Compensation”.JointVideo Experts Team(JVET)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,14thMeeting:Geneva,CH,19-27March 2019,Document:JVET-N0261)、和JVET-N0262(H.Huang等人的“CE9-related:Disabling DMVR for non equal weight BPWA”,Joint VideoExperts Team(JVET)of ITU-T SG 16WP3and ISO/IEC JTC1/SC29/WG 11,14th Meeting:Geneva,CH,19-27March2019,Document:JVET-N0262)中公开了多种方法。
在JVET-N0236中,为了获得更精细的运动补偿细微性,该投稿提出了一种利用光流来增强(refine)基于子块的仿射运动补偿预测的方法。在执行基于子块的仿射运动补偿之后,通过添加通过光流方程推导出的差来增强亮度预测样本。所提出的光流预测增强(PROF)描述为以下四个步骤。步骤1),执行基于子块的仿射运动补偿,以生成子块预测I(i,j)。步骤2),使用3抽头滤波器[-1,0,1]在各个样本位置处计算子块预测的空间梯度gx(i,j)和gy(i,j)。
gy(i,j)=I(i,j+1)-I(i,j-1).
子块预测在各个侧上被扩展一个像素,以进行梯度计算。为了降低记忆体频宽和复杂度,从参考图片中最近的整数像素位置复制扩展边界上的像素。因此,避免了填充区域的附加插值。步骤3),通过光流方程计算亮度预测增强。
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
其中,如图4所示,Δv(i,j)是针对样本位置(i,j)计算的像素MV(由v(i,j)表示)与像素(i,j)所属于的块410的子块420的子块MV(表示为vSB(412))之差。在图4中,子块422与子块420的由运动向量vSB(412)指向的参考子块相对应。参考子块422表示由块420的平移运动产生的参考子块。参考子块424与利用PROF的参考子块相对应。各个像素的运动向量通过Δv(i,j)来增强。例如,基于通过Δv(i,j)416修改的子块MV VSB(412),推导出子块420的左上像素的经增强的运动向量V(i,j)414。
由于仿射模型参数和相对于子块中心的像素位置在子块之间没有变化,因此可以针对第一子块计算Δv(i,j),并将该Δv(i,j)重复用于同一CU中的其它子块。令x和y是从像素位置到子块中心的水准偏移量(offset)和垂直偏移量,可以通过下式推导出Δv(x,y):
Figure BDA0003299285420000061
针对4参数仿射模型,参数c和e可以推导为:
Figure BDA0003299285420000062
针对6参数仿射模型,参数c、d、e和f可以推导为:
Figure BDA0003299285420000063
其中,(V0x,v0y)、(V1x,V1y)、(V2x,V2y)是左上、右上和左下控制点运动向量,w和h是CU的宽度和高度。步骤4),最后,将亮度预测增强添加到子块预测I(i,j)。最终如下式生成预测I’:
I′(i,j)=I(i,j)+ΔI(i,j)。
在JVET-N0261中,在图5中提出了另一种基于子块的仿射模式(交织预测)。利用交织预测,将编码块510划分成具有两个不同划分模式(520和522)的子块。然后,通过具有两个划分模式的仿射运动补偿来生成两个辅助预测(P0 530和P1 532)。最终预测540被计算为两个辅助预测(530和532)的加权和。为了避免2×H或W×2块大小的运动补偿,如图6所示,交织预测仅适用于如下区域,在该区域中,针对两个划分模式,子块大小均是4×4。
根据JVET-N0261中公开的方法,基于2×2子块的仿射运动补偿仅应用于亮度样本的单预测,并且2×2子块运动场仅用于运动补偿。用于运动预测等的运动向量场的存储仍基于4×4子块。如果应用频宽约束,则当仿射运动参数不满足特定准则时,禁用基于2×2子块的仿射运动补偿。
在JVET-N0273(H.Huang等人的“CE9-related:Disabling DMVR for non equalweight BPWA”,Joint Video Experts Team(JVET)of ITU-T SG 16WP 3and ISO/IEC JTC1/SC 29/WG 11,14th Meeting:Geneva,CH,19-27 March 2019,Document:JVET-N0262)中,基于2×2子块的仿射运动补偿仅适用于亮度样本的单预测,并且2×2子块运动场仅用于运动补偿。如果应用频宽约束,则当仿射运动参数不满足特定准则时,禁用基于2×2子块的仿射运动补偿。
双向光流(BIO)
双向光流(BIO)是JCTVC-C204 (E.Alshina等人的Bi-directional opticalflow,Joint CollaboratiVe Team on Video Coding(JCT-VC)of ITU-T SG 16 WP 3 andISO/IEC JTC 1/SC 29/WG 11,3rd Meeting:Guangzhou,CN,7-15October,2010,Document:JCTVC-C204)和VCEG-AZ05(E.Alshina等人的Known tools performance investigationfor next generation video coding,ITU-T SG 16Question 6,Video Coding ExpertsGroup (VCEG),52nd Meeting:19-26June 2015,Warsaw,Poland,Document:VCEG-AZ05)中公开的运动估计/补偿技术。如图7所示,BIO基于光流和稳定运动的假定来推导样本级运动增强,其中,通过参考图片0(730)中的一个像素以及参考图片1(710)中的一个像素来预测B切片(双预测切片)720中的当前像素722。如图7所示,通过参考图片1(710)中的像素B(712)和参考图片0(730)中的像素A(732)来预测当前像素722。在图7中,vx和vy是使用双向光流(BIO)模型推导出的沿x方向和y方向的像素位移向量。这仅适用于从与前一图片和后一图片相对应的两个参考图片预测的真正双向预测块。在VCEG-AZ05中,BIO利用5×5视窗来推导各个样本的运动增强。因此,针对N×N块,需要(N+4)×(N+4)块的运动补偿结果和对应梯度资讯,以推导N×N块的基于样本的运动增强。根据VCEG-AZ05,使用6抽头梯度滤波器和6抽头插值滤波器来生成用于BIO的梯度资讯。因此,BIO的计算复杂度远高于传统的双向预测的计算复杂度。为了进一步提高BIO的性能,提出了以下方法。
在HEVC中的常规双预测中,使用下式生成预测项,其中,P(0)和P(1)分别是list0和list1预测项:
PConventionl[i,j]=(p(0)[i,j]+P(1)[i,j]+1)>>1
在JCTVC-C204和VECG-AZ05中,使用下式生成BIO预测项:
vy[i,j](Iy (0)-Iy (1)[i,j])+1)>>1
在上式中,
Figure BDA0003299285420000081
Figure BDA0003299285420000082
分别表示list0和list1预测项中的x方向梯度;
Figure BDA0003299285420000083
Figure BDA0003299285420000084
分别表示list0和list1预测项中的y方向梯度;Vx和Vy分别表示沿x方向和y方向的偏移量或位移。vx和vy的推导处理如下所示。首先,成本函式定义为diffCost(x,y)以找到最佳值vx和Vy。为了找到使成本函数diffCost(x,y)最小化的最佳值vx和vy,使用一个5×5视窗。Vx和Vy的解可以使用S1、S2、S3、S5和S6来表示。
Figure BDA0003299285420000091
最小成本函数mindiffCost(x,y)可以根据下式推导:
Figure BDA0003299285420000092
通过求解方程(3)和(4),可以根据下式求解vx和Vy
Figure BDA0003299285420000093
其中,
Figure BDA0003299285420000094
Figure BDA0003299285420000095
Figure BDA0003299285420000096
Figure BDA0003299285420000097
在上式中,与list0图片中的(x,y)处的像素的x方向梯度相对应,
Figure BDA0003299285420000098
与list1图片中的(x,y)处的像素的x方向梯度相对应,
Figure BDA0003299285420000099
与list 0图片中的(x,y)处的像素的y方向梯度相对应,
Figure BDA0003299285420000101
与list 1图片中的(x,y)处的像素的y方向梯度相对应。
在一些相关技术中,可以忽略S2,并且可以根据下式求解Vx和Vy
Figure BDA0003299285420000102
其中,
Figure BDA0003299285420000103
Figure BDA0003299285420000104
Figure BDA0003299285420000105
我们可以发现,BIO处理中所需的比特深度较大,尤其是计算S1、S2、S3、S5和S6。例如,如果视频序列中像素值的比特深度为10比特,并且通过分数插值滤波器或梯度滤波器增加梯度的比特深度,则需要16个比特来表示一个x方向梯度或一个y方向梯度。这16个比特可以通过等于4的梯度移位来进一步减少,因此一个梯度需要12个比特来表示该值。即使可以通过梯度移位将梯度的大小减小到12个比特,但是BIO操作所需的比特深度仍然很大。需要一个13比特乘13比特的乘法器来计算S1、S2和S5。为了获得S3和S6,需要13比特乘17比特的另一乘法器。当视窗大小很大时,需要超过32个比特来表示S1、S2、S3、S5和S6
发明内容
公开了由视频编码器或视频解码器执行的视频编解码的方法和装置,所述视频编码器或视频解码器利用包括仿射模式和基于子块的仿射模式的编解码工具集。根据该方法,在视频编码器侧接收与当前块相关的输入数据,或者在视频解码器侧接收与包括所述当前块的压缩数据相对应的视频比特流,其中,针对所述当前块,允许所述仿射模式和基于子块的仿射模式。针对所述当前块,确定是否满足一个或更多个条件。如果针对所述当前块满足所述一个或更多个条件,则针对所述当前块,禁用所述基于子块的仿射模式,并且使用不具有所述基于子块的仿射模式的经修改的编解码工具集对所述当前块进行编码或解码。
在一个实施方式中,所述条件包括与针对所述当前块选择的仿射回退模式相对应的目标条件。在另一实施方式中,当所述当前块使用4参数仿射模型时,所述条件包括与所述当前块的左上位置处的第一控制点运动向量等于所述当前块的右上位置处的第二控制点运动向量相对应的目标条件。在又一实施方式中,当所述当前块使用6参数仿射模型时,所述条件包括与所述当前块的左上位置处的第一控制点运动向量等于所述当前块的右上位置处的第二控制点运动向量并且所述当前块的所述左上位置处的所述第一控制点运动向量等于所述当前块的左下位置处的第三控制点运动向量相对应的目标条件。
在一个实施方式中,所述基于子块的仿射模式与光流预测增强(PROF)模式相对应。
在一个实施方式中,如果针对所述当前块满足所述条件,则使用所述仿射模式对所述当前块进行编码或解码。
根据使用属于编码工具组的编码工具进行视频编码的另一方法,所述编码工具组包括光流预测增强(PROF)和双向光流(BDOF),针对所述当前块的目标子块的像素,推导预测项(predictor)增强。所述预测项增强的推导包括:推导所述当前块的所述目标子块的所述像素的梯度,并且将所述梯度右移公共移位。然后,根据所述预测项增强和通过子块运动向量生成的子块预测项,生成经增强的子块预测项。基于所述经增强的子块预测项对所述目标子块进行编码或解码。在一个实施方式中,位移比特数等于6。
附图说明
图1A例示了四参数仿射模型的示例,其中,变换块仍是矩形块。
图1B例示了当前块的基于两个控制点的MV针对各个4×4子块确定的运动向量的示例。
图2例示了用于推导角推导仿射候选的相邻块集。
图3例示了用于推导继承的仿射候选(inherited affine candidate)的相邻块集。
图4例示了基于子块的仿射运动补偿的示例,其中,根据运动向量增强来推导子块的单个像素的运动向量。
图5例示了交织预测的示例,其中,利用两种不同划分模式将编码块划分成子块,然后通过具有两个划分模式的仿射运动补偿来生成两个辅助预测。
图6例示了针对交织预测避免2×H或W×2块大小的运动补偿的示例,其中,交织预测仅应用于针对两个划分模式子块大小是4×4的区域。
图7例示了根据双向光流的运动增强的示例。
图8例示了根据本发明实施方式的视频编码系统利用包括仿射模式和基于子块的仿射模式的编码工具集的示例性流程图,其中,当针对当前块满足一个或更多个条件时,禁用基于子块的仿射模式。
图9例示了视频编码系统利用属于包括光流预测增强(PROF)和双向光流(BDOF)的编码工具组的编码工具的示例性流程图,其中,PROF和BDOF共用相同的梯度移位。
具体实施方式
以下描述是执行本发明的最佳构想模式。进行该描述是出于例示本发明的一般原理的目的,并且不应被认为是限制性意义。本发明的范围最好通过参考所附权利要求书来确定。
在本发明中,公开了简化基于子块的仿射运动补偿的各种方法。
相变仿射MC
在仿射MC处理期间,当前块被划分成多个N×N(例如,4×4)子块。针对各个子块执行基于块的平移MC,这意味着在4×4块下不使用仿射模型。在本发明中,提出了另一种基于子块的仿射模式(相变仿射MC),以将仿射模型用于子块的MC而不是使用平移MC。
在针对仿射子块执行MC之前,首先推导块MV。推导一个或更多个仿射MV推导参数。例如,推导DMvHorX、DMvHorY、DMvVerX和DMvVerY的值,其中,DMvHorX和DMvHorY与两个控制点MV沿水准方向的差的相应x分量和y分量相对应,并且DMvVerX和DMvVerY与两个控制点MV沿垂直方向的差的相应x分量和y分量相对应。类似于式(3),可以将DMvHorX设置成等于(top_right_CPMVx-top_left_CPMVx)<<(K-log2BlockWidth)或(top_right_CPMVx-top_left_CPMVx)/宽度,可以将DMvHorY设置成等于(top_right_CPMVy-top_left_CPMVy)<<(K-log2BlockWidth)或(top_right_CPMVy-top_left_CPMVy)/宽度。上面和随后的说明书中的许多变数是不需加以说明的。例如,top_right_CPMVx与左上控制点MV的x分量相对应。在使用4参数仿射模型时,可以将DMvVerX设置成DmvHorY,可以将DMvVerY设置成DMvHorX。当使用6参数仿射模型时,可以将DMvVerX设置成(bottom left CPMVx-top_left_CPMVx)<<(K-log2BlockHeight)或(bottom_left_CPMVx-top_left_CPMVx)/高度,可以将DMvVerY设置成(bottom_left_CPMVy-top_left_CPMVy)<<(K-log2BlockHeight)或(bottom_left_CPMVy-top_left_CPMVy)/高度。K可以是7或者大于或等于log2BlockWidth和log2BlockHeight的最大值的整数。为了推导该块内的点(x,y)的MV(其中,x和y是与左上控制点MV(top_left_CPMV)相关的点位置),推导出的MVx可以等于Round((top_left_CPMVx<<L)+DMvHorX*x+DMvVerX*y+偏移量X,M);推导出的MVy可以等于Round((top_left_CPMVy<<L)+DMvHorY*x+DMvVerY*y+偏移量Y,M)。L可以是整数(例如,7)或等于K,M可以是整数(例如,7)或等于K。在以上描述中,“Round()”与舍入运算相对应。
在常规仿射模式MC中,当推导出子块MV时,执行基于N×N(例如,4×4)块的平移MC。在本发明中,该N×N子块中的像素MV可以不同。例如,提出了将不同MVx用于该N×N块中的不同行,和/或将不同MVy用于该N×N块中的不同列。在一个实施方式中,各行的MVx是通过使用该行中的一个样本(例如,该行中的中心样本或中心点)来推导的。各列的MVy是通过使用该列中的一个样本(例如,该列中的中心样本或中心点)来推导的。在另一示例中,在插值处理期间,在水准滤波阶段,提出了将不同MVx用于该N×N块中的不同行。针对各行,可以将不同MVx用于不同样本。在垂直滤波阶段中,在该N×N块中针对不同列使用不同MVy。针对各列,可以针对不同样本使用不同MVy。
在另一实施方式中,可以通过在原始推导出的子块MV上添加一个或更多个偏移量来推导出各行中的MVx和MVy。在一个示例中,各行的MVx可以是Round(subblock_MVx*Q+A*DMvVerX+偏移量,M),其中,A可以与行索引相关。各行的MVy可以是Round(subblock_MVy+B*DMvHorY+偏移量,M),其中,B可以与列索引相关。Q可以是128。在水准滤波阶段和垂直滤波阶段中,各行和各列/各样本的滤波相位是从各行/各列/各样本的MVx和MVy推导出的。
在一个实施方式中,不是每一水平行或每一垂直列都需要推导其相位。只有部分行或部分列需要推导其相位。针对其它行或列,滤波器相位可以与推导出的相位中的一个相位相同。例如,针对索引小于第一阈值的行,不推导MVx。该行可以使用相邻行的MVx。例如,该行可以使用索引等于第一阈值的行的MVx。在另一示例中,或者行索引大于第二阈值,不推导MVx。该行可以使用相邻行的MVx。例如,使用索引等于第二阈值的行的MVx。类似方法可以应用于列MVy推导。
在另一实施方式中,M×N子块MC可以划分成两部分。第一部分使用水准滤波器来生成M×O块,其中,M可以是子块宽度,O可以是(子块高度+插值滤波器长度-1)。第二部分使用垂直滤波器来对该M×O块进行滤波,以生成仿射预测项的M×N块。针对第一部分,执行O行水准滤波器。各行生成M个经滤波的样本。针对各行,MVy相同,或者MVy的整数部分相同。各行的MVy可以被设置成等于子块MVy。各行的MVx可以是Round(subblock_MVx*Q+A*DMvVerX+偏移量,M),其中,A可以与行索引相关。
各行的滤波器相位可以从各行的MVx推导,例如,通过MVx的分数部分选择滤波器。在一个示例中,各行的MVx可以被限制/截取(clip)在例如subblock_MVx±1-pel范围内,或[subblock_MVx的整数部分,subblock_MVx的整数部分+1-pel]范围内,或[subblock_MVx的整数部分,(subblock_MVx的整数部分+1-pel-1*K)]范围内,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;针对不同颜色分量,K可以不同。当M×O经水准滤波的样本准备就绪时,可以应用垂直滤波器。针对各列,MVy可以不同。各行的MVy可以是Round(subblock_MVy*Q+B*DMvHorY+偏移量,M),其中,B可以与列索引相关。各列的滤波器相位可以从各列的MVy推导,例如,通过MVy的分数部分选择滤波器。在一个示例中,各列的MVy可以被限制/截取在例如subblock_MVy±1-pel范围内,或[subblock_MVy的整数部分,(subblock_MVy的整数部分+1-pel)]范围内,或[subblock_MVy的整数部分,(subblock_MVy的整数部分+1-pel-1*K)]范围内,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;针对不同颜色分量,K可以不同。在另一示例中,针对垂直滤波列,输入的经滤波的样本应位于经滤波的M×O块的同一列中。在另一示例中,不应用MV截取。取而代之的是,应用样本填充来填充(子块高度+差值滤波器长度-1)个经滤波的样本之外的参考样本。在另一示例中,各行的MVy可以与subblock_MVy相同。
舍入可以舍入至零(例如,舍入偏移量等于(1<<(M-1))-1)或舍入远离零(例如,舍入偏移量等于(1<<(M-1)))。在另一示例中,舍入可以直接右移而无需添加舍入偏移量。在所提出的方法中,使用的插值滤波器的数量与基于块的平移MC相同。在一个实施方式中,不是每一水平行或每一垂直列都需要推导其相位。只有部分行或部分列需要推导其相位。针对其它行或列,滤波器相位可以与推导出的相位中的一个相位相同。例如,针对索引小于第一阈值的行,不推导MVx。该行可以使用相邻行的MVx。例如,该行可以使用索引等于第一阈值的行的MVx。在另一示例中,如果行索引大于第二阈值,则不推导MVx。该行可以使用相邻行的MVx。例如,该行可以使用索引等于第二阈值的行的MVx。类似方法可以应用于列MVy推导。
在另一实施方式中,M×N子块MC可以被划分成两部分。第一部分使用水准滤波器来生成M×O块,其中,M可以是子块宽度,O可以是(子块高度+插值滤波器长度-1)。第二部分使用垂直滤波器来对该M×O块进行滤波,以生成仿射预测项的M×N块。针对第一部分,执行O行水准滤波器。各行生成M个经滤波的样本。针对各行,MVy相同,或者MVy的整数部分相同。各行的MVy可以被设置成等于子块MVy。各样本的MVx可以是Round(subblock_MVx*Q+A*DMvVerX+C*DMvHorX+偏移量,M),其中,A可以与行索引相关,并且C可以与N×N子块中的列索引相关。各样本的滤波器相位可以从各样本的MVx推导,例如,通过MVx的分数部分选择滤波器。在一个示例中,各样本的MVx可以被限制/截取在例如row_base_MVx±1-pel范围内,或[row_base_MVx的整数部分,(row_base_MVx的整数部分+1-pel)]范围内,或[row_base_MVx的整数部分,(row_base_MVx的整数部分+1-pel-1*K)]范围内,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;针对不同颜色分量,K可以不同。
row_base_MVx可以通过Round(subblock_MVx*Q+A*DMvVerX+偏移量,M)或使用行中的一个位置(例如,行的中心位置)通过仿射模型而推导出的Mvx来推导。针对滤波器行的所需样本,需要最多(子块宽度+插值滤波器长度-1)个参考样本。在一个实施方式中,用于各个样本的各个滤波器的第一参考样本是连续样本(例如,连续样本的子块宽度)。针对水准滤波行,(子块宽度+插值滤波器长度-1)个参考样本用于生成滤波器样本的子块宽度。在另一示例中,针对水准滤波行,参考样本应在参考图片的同一行中。在一个示例中,各行的MVx可以被限制/截取在例如subblock_MVx±1-pel范围内,或[subblock_MVx的整数部分,(subblock_MVx的整数部分+1-pel)]范围内,或[subblock_MVx的整数部分,(subblock_MVx的整数部分+1-pel-1*K)]范围内,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;针对不同颜色分量,K可以不同。在另一示例中,不应用MV截取。取而代之的是,应用样本填充来填充(子块宽度+差值滤波器长度-1)个参考样本之外的参考样本。当M×O经水准滤波的样本准备就绪时,可以应用垂直滤波器。
针对各样本/各列,MVy可以不同。各样本的MVy可以是Round(subblock_MVy*Q+B*DMvHorY+D*DMvVerY+偏移量,M),其中,B可以与列索引相关,并且D可以与N×N子块中的行索引相关。各样本的滤波器相位可以从各样本的MVy推导,例如,通过MVy的分数部分选择滤波器。在一个示例中,各样本的MVy可以被限制/截取在例如subblock_MVy±1-pel范围内,或[subblock_MVy的整数部分,(subblock_MVy的整数部分+1-pel)]范围内,或[subblock_MVy的整数部分,(subblock_MVy的整数部分+1-pel-1*K)]范围内,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;针对不同颜色分量,K可以不同。在另一示例中,各样本的MVy可以被限制/截取在例如row_base_MVy±1-pel范围内,或[row_base_MVy的整数部分,(row_base_MVy的整数部分+1-pel)]范围内,或[row_base_MVy的整数部分,(row_base_MVy的整数部分+1-pel-1*K)]范围内,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;针对不同颜色分量,K可以不同。row_base_MVy可以通过Round(subblock_MVy*Q+B*DmvHorY,偏移量,M)、Round(subblock_MVy*Q+D*DMvVerY+偏移量,M)、或使用列中的一个位置(例如,列的中心位置)通过仿射模型而推导出的Mvy来推导。
针对滤波器列的所需样本,需要最多(子块高度+插值滤波器长度-1)个经滤波的样本(来自水准滤波阶段)。在一个实施方式中,用于各个样本的各个滤波器的第一参考样本是连续样本(例如,连续样本的子块高度)。针对垂直滤波列,(子块高度+插值滤波器长度-1)个经滤波的样本用于生成滤波器样本的子块高度。在另一示例中,针对垂直滤波列,输入的经滤波的样本应在经滤波的M×O块的同一列中。
在另一示例中,不应用MV截取。取而代之的是,应用样本填充来填充子块高度+差值滤波器长度-1个经滤波的样本之外的参考样本。在另一示例中,各行的MVy可以与subblock_MVy相同。舍入可以舍入至零(例如,舍入偏移量等于(1<<(M-1))-1)或舍入远离零(例如,舍入偏移量等于(1<<(M-1)))。在另一示例中,舍入可以直接右移而无需添加舍入偏移量。
在所提出的方法中,使用的插值滤波器的数量与基于块的平移MC相同。在一个实施方式中,不是每一水平行或每一垂直列都需要推导其相位。只有部分行或部分列需要推导其相位。针对其它行或列,滤波器相位可以与推导出的相位中的一个相位相同。例如,针对索引小于第一阈值的行,不推导MVx。各样本的滤波器相位可以使用相邻行的滤波器相位的MVx。例如,使用索引等于第一阈值的行的MVx。在另一示例中,如果行索引大于第二阈值,则不推导MVx。该行可以使用相邻行的各样本的MVx。例如,该行可以使用索引等于第二阈值的行的MVx。类似方法可以应用于列MVy推导。
仿射频宽约束
为了降低复杂度,根据本发明的一个实施方式,如果DMvHorX、DMvHorY、DMvVerX和/或DMvVerY太小,则仿射子块MC可以回退以使用基于块的平移MC。在一个实施方式中,如果DMvVerX太小(例如,abs(DMvVerX)小于(或者小于等于)32、64、128、256、512或1024),则应用基于块的水准滤波器(例如,MVx(与子块MVx)相同)。在另一实施方式中,如果DMvHorY太小(例如,abs(DMvHorY)小于(或者小于等于)32、64、128、256、512或1024),则应用基于块的垂直滤波器(例如,MVy(与子块MVy)相同)。在另一示例中,如果G*DMvVerX+H*DMvHorX太小(例如,abs(G*DMvVerX+H*DMvHorX)小于(或者小于等于)32、64、128、256、512或1024),则应用基于块的水准滤波器(例如,MVx(与子块MVx)相同)。在另一示例中,如果I*DMvHorY+J*DMvVerY太小(例如,abs(I*DMvHorY+J*DMvVerY)小于(或者小于等于)32、64、128、256、512或1024),则应用基于块的垂直滤波器(例如,MVy(与子块MVy)相同)。
在一个实施方式中,DMvVerX可以通过一数位归一化。该数位可以与DMvVerY相关。例如,DMvVerX=(DMvVerX)/(1+DMvVerY)或DMvVerX=(DMvVerX<<K)/((1<<K)+DMvVerY))。DMvHorY可以通过一数位归一化。该数位可以与DMvHorX相关。例如,DMvHorY=(DMvHorY)/(1+DMvHorX)或DMvHorY=(DMvHorY<<K)/((1<<K)+DMvHorX))。
当一个CU中的子块的MV非常不同时,各个子块的所需参考块的重迭区域很小,并且需要大量的记忆体频宽。因此,可以根据本发明的实施方式来应用仿射模型约束。例如,当满足或不满足一个或更多个条件时,可以将回退模式应用于仿射模型。当应用回退模式时,所有子块MV被设置成相同值。因此,仿射编码CU可以被视为平移移动CU。可以应用整个CU MC,并且可以降低频宽。如下推导变数bxWX4、bxHX4、bxWXh、bxHXh、bxWXv和bxHXv
maxW4=Max(0,Max(4*(2048+dHorX),Max(4*dHorY,4*(2048+dHorX)+4*dHorY)))
minW4=Min(0,Min(4*(2048+dHorX),in(4*dHorY,4*(2048+dHorX)+4*dHorY)))
maxH4=Max(0Max(4*dVerX.Max(4*(2048+dVerY),4*dVerX+4*(2048+dVerY))))
minH4=Min(0,Min(4*dVerX.Min(4*(2048+dVerY),4*dVerX+4*(2048+dVerY))))
bxWX4=((maxW4-minW4)>>11)+9
bxHX4=((maxH4-minH4)>>11)+9
bxWXh=((Max(04*(2048+dHorX))-Min(0,4*(2048+dHorX)))>>11)+9
bxHXh=((Max(04*dVerX)-Min(04*dVerX))>>11)+9
bxWXv=((Max(0,4*dVerY)-Min(0,4*dVerY))>>11)+9
bxHXv=((Max(0,4*(2048+dHorY))-Min(04*(2048+dHorY)))>>11)+9
在上式中,变数dHorX、dHorY、dVerX和dVerY是先前定义的。针对各个参考列表,如下推导fallbackMode:
如果双预测用于当前CU/PU(inter_pred_idc等于PRED_BI):
如果bxWX4*bxHX4小于或等于225,则fallbackModeTriggered被设置成等于0。
否则,fallbackModeTriggered被设置成等于1。
如果单预测用于当前CU/PU(inter_pred_idc不等于PRED_BI):
如果bxWXh*bxHXh小于或等于165并且bxWXv*bxHXv小于或等于165,则fallbackModeTriggered被设置成等于0。
否则,fallbackModeTriggered被设置成等于1。
如上所述的基于仿射的运动增强方法(或可以视为基于子块的仿射模式)(例如,仿射光流、交织仿射MC和/或相变仿射MC)可以增强预测项,然而,所需的计算复杂度巨大。上述基于仿射的运动增强方法可以实现更好的性能,特别是当一个CU中的具有相同仿射模型的子块的运动向量不是非常相似时。当子块的运动向量非常相似时,上述方法的性能将恶化,但是所需的计算复杂度仍然巨大。另一方面,当一个CU中的子块的MV非常不同时,各个子块的所需参考块的重迭区域很小,需要大量的记忆体频宽。因此,可以应用仿射模型约束。例如,当满足或不满足一个或更多个条件时,可以应用回退模式。
为了降低计算复杂度或降低仿射模式所需的频宽,提出了一种早期终止演算法。概念是,当允许基于仿射的MV增强方法并且一个CU中的具有相同仿射模型的子块的运动向量非常接近或非常不同时,隐式地禁用上述基于仿射的MV增强方法。在这种情况下,应用基于块的平移MC或4×4/8×8/4×8/8×4块MC。
禁用上述基于仿射的MV增强方法的条件可以取决于以下项中的一项或其组合:CU宽度(cuWidth)、CU高度(cuHeight)、控制点MV和/或仿射模型的位置(topLeftMVx、topLeftMVy、topRightMVx、topRightMVy、botLeftMVx、botLeftMVy、botRightMVx、botRightMVy)、预测模式(单预测、双预测、合并模式、AMVP模式、跳过模式、继承的仿射候选、经构造的仿射候选)、残差(cbf、非零残差)、dHorX、dHorY、dVerX、dverY或以上的任何组合、或从一个或更多个上述值推导的一个或更多个推导的变数。例如,当abs(topLeftMVx-topRightMVx)<cuWidth*比率、abs(topLeftMVy-topRightMVy)<cuWidth*比率、abs(topLeftMVx-botLeftMVx)<cuHeight*比率、abs(topLeftMVy-botLeftMVy)<cuHeight*比率、|dHorX|<阈值1、|dHorY|<阈值2、|dVerX|<阈值3、和/或|dVerY|<阈值4或以上任何组合时,则禁用上述基于仿射的MV增强方法。注意,上式还涵盖两个或更多个控制点运动向量相同的情况。例如,如果左上控制点运动向量与右上控制点运动向量相同(即,topLeftMVx=topRightMVx并且topLeftMVy=topRightMVy),则abs(topLeftMVx-topRightMVx)<(cuWidth*比率)以及abs(topLeftMVy-topRightMVy)<(cuWidth*比率)均被满足。类似地,如果左上控制点运动向量与左下控制点运动向量相同(即,topLeftMVx=botLeftMVx并且topLeftMVy=botLeftMVy),则abs(topLeftMVx-botLeftMVx)<(cuHeight*比率)以及abs(topLeftMVy-botLeftMVy)<(cuHeight*比率)均被满足。
可以在序列级、图片级、图块组级、图块级、CTU级或块级处显式地用信号通知上文提到的比率。或者,根据视频解析度、cuWidth、cuHeight、cuWidth×cuHeight或预测方向、仿射MV解析度隐式地决定比率。在另一示例中,当abs(botLeftMVx-topRightMVx)<(cuWidth*比率)并且abs(botLeftMVy-topRightMVy)<(cuHeight*比率)时,禁用上述基于仿射的MV增强方法。在另一示例中,当abs(topLeftMVx-topRightMVx)<(cuWidth*比率)并且abs(topLeftMVy-topRightMVy)<(cuHeight*比率)时,禁用上述基于仿射的MV增强方法。在另一示例中,当abs(topLeftMVx-topRightMVx)+abs(topLeftMVy-topRightMVy)<((cuWidth+cuHeight)*比率)时,禁用上述方法。在另一示例中,当abs(botLeftMVx-topRightMVx)+abs(botLeftMVy-topRightMVy)<((cuWidth+cuHeight)*比率)时,禁用上述基于仿射的MV增强方法。在另一示例中,当abs(topLeftMVx-topRightMVx)<tha、abs(topLeftMVy-topRightMVy)<thb、abs(topLeftMVx-botLeftMVx)<thc并且abs(topLeftMVy-botLeftMVy)<thd时,则禁用上述基于仿射的MV增强方法。可以在序列级、图片级、图块组级、图块级、CTU级或块级处显式地用信号通知tha、thb、thc、thd、阈值1、阈值2、阈值3、阈值4的值。或者根据视频解析度、cuWidth、cuHeight、cuWidth×cuHeight或预测方向、仿射MV解析度隐式地决定tha、thb、thc、thd、阈值1、阈值2、阈值3、阈值4的值。
在另一示例中,当abs(botLeftMVx-topRightMVx)<tha并且abs(botLeftMVy-topRightMVy)<thb时,禁用上述基于仿射的MV增强方法。在另一示例中,当abs(topLeftMVx-topRightMVx)<thc并且abs(topLeftMVy-topRightMVy)<thd时,禁用上述基于仿射的MV增强方法。在另一示例中,当abs(topLeftMVx-topRightMVx)+abs(topLeftMVy-topRightMVy)<tha时,禁用上述基于仿射的MV增强方法。在另一示例中,当abs(botLeftMVx-topRightMVx)+abs(botLeftMVy-topRightMVy)<thb时,禁用上述方法。可以在序列级、图片级、图块组级、图块级、CTU级或块级处显式地用信号通知tha和thb的值。或者根据视频解析度、cuWidth、cuHeight、cuWidth×cuHeight或预测方向、仿射MV解析度隐式地决定tha和thb的值。或者仅用信号通知tha的值,基于tha和cuWidth或cuHeight推导thb的值。在所有上述情况下,“较小”条件或“<”可以用“较大”或“>”代替。
在另一实施方式中,如果一个子块内的最大MVD(即,(LMVDx,LMVDy))的绝对值小于阈值,则禁用上述基于仿射的MV增强方法。在这种情况下,可以计算子块的多个位置(即,子块的左上、右上、左下、右下位置)中的MVD(即,像素MV与子块MV之间的MV差)。或仅计算左上位置和右下位置。或者仅计算右上位置和左下位置。例如,如果|LMVDx|+|LMVDy|<th1,则禁用上述方法。例如,如果|LMVDx+LMVDy|<th1,则禁用上述基于仿射的MV增强方法。例如,如果(LMVDx^2+LMVDy^2)<th1,则禁用上述方法。在另一实施方式中,如果仿射模型的左上位置中的MVD的绝对值小于阈值,则禁用上述基于仿射的MV增强方法。例如,如果|topLeftMVDx|+|topLeftMVDy|<th2,则禁用上述方法。例如,如果|topLeftMVDx+topLeftMVDy|<th2,则禁用上述基于仿射的MV增强方法。例如,如果(topLeftMVDx^2+topLeftMVDy^2)<th2,则禁用上述基于仿射的MV增强方法。可以在序列级、图片级、图块组级、图块级、CTU级或块级处显式地用信号通知th1和th2的值。或者根据视频解析度、cuWidth、cuHeight、cuWidth×cuHeight或预测方向、仿射MV解析度隐式地决定th的值。在另一实施方式中,如果仿射模型中的右上/左下/右下或任何预定位置中的MVD的绝对值也可以用于禁用上述方法。在所有上述情况下,“较小”条件或“<”可以用“较大”或“>”代替。
在针对仿射子块执行MC之前,首先推导块MV。推导一个或更多个仿射MV推导参数。例如,推导DMvHorX、DMvHorY、DMvVerX和DMvVerY的值。类似于式(3),可以将DMvHorX设置成等于(top_right_CPMVx-top_left_CPMVx)<<(K-log2BlockWidth)或(top_right_CPMVx-top_left_CPMVx)/宽度,可以将DMvHorY设置成等于(top_right_CPMVy-top_left_CPMVy)<<(K-1og2B1ockWidth)或(top_right_CPMVy-top_left_CPMVy)/宽度。在使用4参数仿射模型时,可以将DMvVerX设置成-DmvHorY,可以将DMvVerY设置成DMvHorX。当使用6参数仿射模型时,可以将DMvVerX设置成(bottom_left_CPMVx-top_left_CPMVx)<<(K-log2BlockHeight)或(bottom_left_CPMVx-top_left_CPMVx)/高度,可以将DMvVerY设置成(bottom_left_CPMVy-top_left_CPMVy)<<(K-log2BlockHeight)或(bottom_left_CPMVy-top_left_CPMVy)/高度。K可以是7或者大于或等于log2BlockWidth和log2BlockHeight的最大值的整数。早期终止还可以取决于中间参数(即,DMvHorX、DMvHorY、DMvVerX和/或DMvVerY)。如果DMvHorX、DMvHorY、DMvVerX和/或DMvVerY太小,则将禁用上述方法。在一个实施方式中,如果DMvHorX/DMvHorY/DMvVerX/DMvVerY小于(或者小于等于)32、64、128、256、512或1024。在另一实施方式中,如果(DMvHorX-DMvVerX)和/或(DMvHorY-DMvVerY)太小(例如,abs(DMvHorX-DMvVerX)小于(或者小于等于)32、64、128、256、512或1024),则将禁用以上方法。在另一示例中,如果(G*DMvVerX+H*DMvHorX)和/或(I*DMvVerY+J*DMvHorY)太小(例如,abs(G*DMvVerX+H*DMvHorX)小于(或者小于等于)32、64、128、256、512或1024),则将禁用上述基于仿射的MV增强方法。可以在序列级、图片级、图块组级、图块级、CTU级或块级处显式地用信号通知G、H、I、J的值。或者根据视频解析度、cuWidth、cuHeight、cuWidth×cuHeight或预测方向、仿射MV解析度隐式地决定G、H、I、J的值。在所有上述情况下,“较小”条件或“<”可以用“较大”或“>”代替。
在一个实施方式中,当|dHorY|<阈值2以及|dVerX|<阈值3时,禁用仿射光流、交织仿射MC和/或相变仿射MC。在一个实施方式中,当|dHorX|<阈值1、|dHorY|<阈值2、|dVerX|<阈值3以及|dVery|<阈值4时,禁用仿射光流、交织仿射MC和/或相变仿射MC。在另一实施方式中,当|dHorX|<阈值1时,禁用仿射光流、交织仿射MC和/或相变仿射MC。在另一实施方式中,当|dHorY|<阈值2时,禁用仿射光流、交织仿射MC、相变仿射MC的水准滤波部分和/或相变仿射MC。在另一实施方式中,当|dVerX|<阈值3时,禁用仿射光流、交织仿射MC、相变仿射MC的垂直滤波部分和/或相变仿射MC。在另一实施方式中,当|dVerY|<阈值4时,禁用仿射光流、交织仿射MC和/或相变仿射MC。
在一个实施方式中,当|dHorY|>阈值2或者|dVerX|>阈值3时,禁用仿射光流、交织仿射MC和/或相变仿射MC。在一个实施方式中,当|dHorX|>阈值1、|dHorY|>阈值2、|dVerX|>阈值3或者|dVery|>阈值4时,禁用仿射光流、交织仿射MC和/或相变仿射MC。在另一实施方式中,当|dHorX|>阈值1时,禁用仿射光流、交织仿射MC和/或相变仿射MC。在另一实施方式中,当|dHorY|>阈值2时,禁用仿射光流、交织仿射MC、相变仿射MC的水准滤波部分和/或相变仿射MC。在另一实施方式中,当|dVerX|>阈值3时,禁用仿射光流、交织仿射MC、相变仿射MC的垂直滤波部分和/或相变仿射MC。在另一实施方式中,当|dVerY|>阈值4时,禁用仿射光流、交织仿射MC和/或相变仿射MC。
在所有上述情况下,“较小”条件或“<”可以用“较大”或“>”代替。
在一个实施方式中,当使用回退模式时,禁用仿射光流、交织仿射MC和/或相变仿射MC。在不增强仿射光流、交织仿射MC和/或相变仿射MC的情况下,应用基于平移块的MC。
在另一实施方式中,可以取决于仿射MV解析度来应用上述基于仿射的MV增强方法。例如,条件可以取决于IMV索引,其中,IMV表示运动向量的解析度(例如,整数、1/2-pel、1/4-pel等)。仅在IMV索引等于零或不等于零时才可以应用上述基于仿射的MV增强方法。或仅在IMV索引不等于2或等于2时才可以应用上述方法。
在另一示例中,上述方法也可以用于确定子块大小。例如,如果水准位移太小,则可以使用M×N子块(其中,M大于或等于N,例如,8×4或4×2)。如果垂直位移太小,则可以使用N×M子块(其中,M大于或等于N,例如,4×8或2×4)。
在另一示例中,当子块的运动向量不相似时,可能需要太多的记忆体频宽来载入仿射MC的参考样本,并且(隐式地)禁用上述方法。上述确定方法可以从“>”更改为“<”或从“<”更改为“>”。
在另一实施方式中,当使用回退模式时,将N抽头滤波器用于插值。当不使用回退模式时,将M抽头滤波器用于插值。在一个示例中,针对亮度分量,N可以是8并且M可以是6。针对色度分量,M和N可以是4。
如上所述,提出了PROF以利用光流来增强基于子块的仿射运动补偿预测。在执行了基于子块的仿射运动补偿之后,通过添加通过光流方程推导出的差来增强亮度预测样本(或称为预测项)。BIO利用光流和稳定运动的假定来实现样本级运动增强。这仅适用于真正的双向预测块,所述真正的双向预测块从两个参考帧预测,并且一个参考帧是前一帧,另一参考帧是后一帧。上述两种方法具有非常相似的用于生成经增强的子块预测项的预测项增强处理。首先,使用3抽头滤波器[-1,0,1]在各样本位置处计算子块预测的空间梯度gx(i,j)和gy(i,j)。基于光流方程,分别推导出由vx和vy表示的x方向和y方向的偏移量。最后,通过如下光流方程来计算亮度预测增强:
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)。
针对硬体友好实现,如果PROF与BDOF之间的比特深度控制相似,则PROF和BDOF中的亮度预测项增强计算电路可以统一。
针对梯度计算,JVET-N0236中提出的PROF使用1/16-强度精度(例如,如果将强度比特深度设置成10比特,则是14比特),并且BDOF使用4-强度精度(例如,8比特)进行计算。在VTM-5.0采用JVET-N0325之后,BDOF的推导偏移量vx和vy的比特深度将被截取成6比特。然而,根据JVET-N0236,PROF中的推导偏移量被设计成以1/32像素精度截取成16比特。在PROF中,最终亮度预测增强将被截取成14比特。
下面是为修改PROF比特深度控制以简化计算复杂度而提出的一些方法。
方法1.限制PROF中的梯度范围
在一个实施方式中,提出了将梯度范围限制在预定比特深度内。如果梯度大于允许的最大值或小于允许的最小值,则将该梯度截取成允许值。例如,我们可以将梯度范围限制成10比特。在另一实施方式中,可以将梯度范围限制成8比特。取决于输入比特深度,该范围可以是隐式预定义值,或者在序列级、图片级或切片级显式地用信号通知给解码器。在另一实施方式中,预定义值与BDOF匹配,或基于BDOF以添加偏移量。在另一实施方式中,当梯度大于允许的最大值或小于允许的最小值时,跳过PROF处理。在另一实施方式中,在PROF处理中不使用梯度大于允许的最大值或小于允许的最小值的那些数据来推导偏移量Vx和Vy,并且那些像素不通过PROF增强。
在另一实施方式中,在强度梯度计算之后,PROF的梯度将右移6。右移值可以与BDOF梯度计算匹配,或者通过向BDOF梯度计算的右移值添加偏移量而推导出,或者右移值取决于输入比特深度。在另一实施方式中,可以首先将梯度右移,然后将该梯度截取到预定义范围。例如,如果预定义范围是9比特,则可以先将梯度右移3,然后再将该梯度截取成9比特。在另一实施方式中,可以将梯度限制在基于MSB(最高有效位)的范围内,以避免较大的梯度资讯丢失。例如,将梯度限制成8比特。在这种情况下,将仅保留第一MSB之后的8比特。
方法2.限制PROF中的偏移量vx和vy(位移)的范围
我们提出了将PROF位移范围限制在一些预定义比特深度中。在一个实施方式中,如果位移大于允许的最大值或小于允许的最小值,则将该位移截取成允许值。例如,我们可以将位移范围限制成6比特。例如,我们可以将位移范围限制成8比特。取决于输入比特深度,该范围可以是隐式预定义值,或者在序列级、图片级或切片级显式地用信号通知给解码器。另选地,以与BDOF位移计算相同的方式设计预定义比特深度,或者可以通过向BDOF位移计算的比特深度添加偏移量来推导预定义比特深度。在另一实施方式中,可以首先将位移右移,然后将该位移截取到预定范围。例如,如果预定义范围是6比特,则可以先将位移右移3,然后再将该位移截取成6比特。在另一实施方式中,可以将位移限制在基于MSB的范围内,以避免较大的位移资讯丢失。例如,将通过PROF推导出的位移限制成6比特。在这种情况下,将仅保留第一MSB之后的6比特。在另一实施方式中,可以首先右移位移,然后将该位移截取到预定义范围。在通过下式进行最终亮度增强推导之后,增强值将被左移:
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy,(i,j)*Δvy(i,j)。
例如,推导出的位移将首先右移1以变成较低的精度值,然后该位移被截取成6比特。之后,将该位移与强度梯度相乘以推导出亮度增强,并将其左移1比特。取决于输入比特深度,截取之前的右移比特数可以是预定义值,或者在序列级、图片级或切片级显式地用信号通知给解码器。截取之前的右移比特数可以取决于BDOF位移计算的比特深度,或者可以通过向BDOF位移计算的比特深度添加偏移量而推导出。
方法3.消除PROF中最终亮度增强的限制
为将BDOF电路重复用于PROF,可以移除通过PROF推导出的最终亮度增强。在一个实施方式中,可以在梯度计算处理或位移推导中将一些比特深度约束添加到PROF。
方法4.有条件地启用PROF
为避免用于PROF的附加电路,可以有条件地启用PROF。在一个实施方式中,仅当BDOF和仿射都被启用时才可以启用PROF。
可以在编码器和/或解码器中实现上文提出的方法中的任何方法。例如,可以在编码器和/或解码器的仿射帧间预测模组中实现上文提出的方法中的任何方法。另选地,上文提出的方法中的任何方法可以被实现为耦接至编码器和/或解码器的仿射帧间预测模组的电路。
图8例示了根据本发明的实施方式的视频编码系统利用包括仿射模式和基于子块的仿射模式的编码工具集的示例性流程图,其中,当针对当前块满足一个或更多个条件时,禁用基于子块的仿射模式。流程图中所示的步骤可以被实现为能够在编码器侧的一个或更多个处理器(例如,一个或更多个CPU)上执行的程式码。流程图中所示的步骤也可以基于硬体(诸如,被布置成执行流程图中的步骤的一个或更多个电子装置或处理器)来实现。根据该方法,在步骤810中,在视频编码器侧接收与当前块相关的输入数据,或者在视频解码器侧接收与包括当前块的压缩数据相对应的视频比特流,其中,针对当前块,允许仿射模式和基于子块的仿射模式。在步骤820中,针对当前块,确定是否满足一个或更多个条件。如果针对当前块满足所述一个或更多个条件(即,从步骤820的“是”路径),则执行步骤830和步骤840。否则(即,从步骤820的“否”路径),跳过步骤830和步骤840。在步骤830中,针对当前块,禁用基于子块的仿射模式。在步骤840中,使用不具有基于子块的仿射模式的经修改的编解码工具集对当前块进行编码或解码。
图9例示了视频编码系统利用属于包括光流预测增强(PROF)和双向光流(BDOF)的编解码工具组的编解码工具的示例性流程图,其中,PROF和BDOF共用相同的梯度移位。根据该方法,在步骤910中,接收与当前图片中的当前块相关的输入数据,其中,输入数据与当前块在视频编码器侧的变换块相对应,并且输入数据与当前块在视频解码器侧的经解码经量化的变换块相对应。在步骤920中,确定用于当前块的当前编解码工具。在步骤930中,确定当前编解码工具是否与PROF和BDOF中的一者相对应。如果当前编码工具与PROF和BDOF中的一者相对应(即,从步骤930的“是”路径),则在步骤940中,进一步测试当前编码工具是否与PROF和BDOF相对应。如果当前编码工具与PROF相对应,则处理进行至步骤950。如果当前编码工具与BDOF相对应,则处理进行至步骤960。如果当前编码工具不与PROF和BDOF中的一者相对应(即,从步骤930的“否”路径),则处理进行至“结束”。在步骤950中,根据PROF,针对当前块的目标子块的像素,推导第一预测项增强,所述推导第一预测项增强包括:推导当前块的目标子块的像素的第一梯度,并且将该第一梯度右移公共移位。在步骤952中,根据第一预测项增强和通过子块运动向量生成的子块预测项,生成经增强的子块预测项。在步骤954中,基于经增强的子块预测项对目标子块进行编码或解码。在步骤960中,根据BDOF,针对当前块的目标子块的像素,推导第二预测项增强,其中,所述推导第二预测项增强包括:推导当前块的目标子块的像素的第二梯度,并且将该第二梯度右移公共移位。在步骤962中,根据第二预测项增强和通过子块运动向量生成的子块预测项,生成经增强的子块预测项。在步骤964中,基于经增强的子块预测项对目标子块进行编码或解码。
所示的流程图旨在例示根据本发明的视频的示例。本领域技术人员可以在不脱离本发明的精神的情况下修改各个步骤、重新布置步骤、分割步骤或组合步骤以实践本发明。在本公开中,已经使用特定的语法和语义来例示实现本发明的实施方式的示例。技术人员可以在不脱离本发明的精神的情况下通过利用等效的语法和语义替换所述语法和语义来实践本发明。
呈现以上描述是为了使得本领域普通技术人员能够如在特定应用及其要求的背景下所提供的来实践本发明。对所描述的实施方式的多种修改针对本领域技术人员将是显而易见的,并且本文中定义的一般原理可以应用于其它实施方式。因此,本发明并不旨在限于所示出和所描述的特定实施方式,而是被赋予与本文所公开的原理和新颖特征相一致的最广范围。在以上详细描述中,例示了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解本发明是可以实践的。
如上所述的本发明的实施方式可以以各种硬体、软体代码或两者的组合来实现。例如,本发明的实施方式可以是集成到视频压缩晶片中的电路或集成到视频压缩软体中以执行本文描述的处理的程式码。本发明的实施方式还可以是要在数位讯号处理器(DSP)上执行以执行本文描述的处理的程式码。本发明还可以涉及由电脑处理器、数位讯号处理器、微处理器或现场可程式设计闸阵列(FPGA)执行的许多功能。这些处理器可以被配置成通过执行定义本发明所体现的特定方法的机器可读软体代码或固件代码来执行根据本发明的具体任务。可以以不同的程式设计语言和不同的格式或样式来开发软体代码或固件代码。也可以针对不同的目标平台编译软体代码。然而,不同的代码格式、软体代码的样式和语言以及配置代码以执行根据本发明的任务的其它手段将不脱离本发明的精神和范围。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其它特定形式实施。所描述的示例在所有方面仅应被认为是例示性的而非限制性的。因此,本发明的范围由所附权利要求而不是前述描述来指示。落入权利要求等同含义和范围内的所有改变均应包含在其范围内。

Claims (10)

1.一种用于由视频编码器或视频解码器执行的视频编解码的预测的方法,所述视频编码器或视频解码器利用包括仿射模式和基于子块的仿射模式的编解码工具集,所述方法包括:
在视频编码器侧接收与当前块相关的输入数据,或者在视频解码器侧接收与包括所述当前块的压缩数据相对应的视频比特流,其中,针对所述当前块,允许所述仿射模式和所述基于子块的仿射模式;
针对所述当前块,确定是否满足一个或更多个条件;
如果针对所述当前块满足所述一个或更多个条件,则:
针对所述当前块,禁用所述基于子块的仿射模式;并且
使用不具有所述基于子块的仿射模式的经修改的编码工具集对所述当前块进行编码或解码。
2.根据权利要求1所述的方法,其特征在于,所述一个或更多个条件包括目标条件,该目标条件与针对所述当前块选择的仿射回退模式相对应。
3.根据权利要求1所述的方法,其特征在于,当所述当前块使用4参数仿射模型时,所述一个或更多个条件包括与所述当前块的左上位置处的第一控制点运动向量等于所述当前块的右上位置处的第二控制点运动向量相对应的目标条件。
4.根据权利要求1所述的方法,其特征在于,当所述当前块使用6参数仿射模型时,所述一个或更多个条件包括与所述当前块的左上位置处的第一控制点运动向量等于所述当前块的右上位置处的第二控制点运动向量并且所述当前块的所述左上位置处的所述第一控制点运动向量等于所述当前块的左下位置处的第三控制点运动向量相对应的目标条件。
5.根据权利要求1所述的方法,其特征在于,所述基于子块的仿射模式与光流预测增强(PROF)模式相对应。
6.根据权利要求1所述的方法,其特征在于,如果针对所述当前块满足所述一个或更多个条件,则使用所述仿射模式对所述当前块进行编码或解码。
7.一种用于由视频编码器或视频解码器执行的视频编解码的帧间预测的装置,所述视频编码器或视频解码器利用包括仿射模式和基于子块的仿射模式的编码工具集,所述装置包括一个或更多个电子电路或处理器,所述一个或更多个电子电路或处理器被布置成:
在视频编码器侧接收与当前块相关的输入数据,或者在视频解码器侧接收与包括所述当前块的压缩数据相对应的视频比特流,其中,针对所述当前块,允许所述仿射模式和所述基于子块的仿射模式;
针对所述当前块,确定是否满足一个或更多个条件;
如果针对所述当前块满足所述一个或更多个条件,则:
针对所述当前块,禁用所述基于子块的仿射模式;并且
使用不具有所述基于子块的仿射模式的经修改的编码工具集对所述当前块进行编码或解码。
8.一种使用属于编解码工具组的编解码工具进行视频编解码的方法,所述编解码工具组包括光流预测增强(PROF)和双向光流(BDOF),所述方法包括:
接收与当前图片中的当前块相关的输入数据,其中,所述输入数据与所述当前块在视频编码器侧的变换块相对应,或者所述输入数据与所述当前块在视频解码器侧的经解码经量化的变换块相对应;
确定用于所述当前块的当前编码工具;
如果所述当前编码工具与所述PROF相对应,则:
根据PROF,针对所述当前块的目标子块的像素,推导第一预测项增强,其中,所述推导第一预测项增强包括:推导所述当前块的所述目标子块的所述像素的第一梯度,并且将所述第一梯度右移公共移位;
根据所述第一预测项增强和通过子块运动向量生成的子块预测项,生成经增强的子块预测项;并且
基于所述经增强的子块预测项对所述目标子块进行编码或解码;以及
如果所述当前编码工具与所述BDOF相对应,则:
根据BDOF,针对所述当前块的所述目标子块的所述像素推导第二预测项增强,其中,所述推导第二预测项增强包括:推导所述当前块的所述目标子块的所述像素的第二梯度,并且将所述第二梯度右移所述公共移位;
根据所述第二预测项增强和通过子块运动向量生成的所述子块预测项,生成所述经增强的子块预测项;并且
基于所述经增强的子块预测项对所述目标子块进行编码或解码。
9.根据权利要求8所述的方法,其特征在于,所述公共移位等于6。
10.一种使用属于编码工具组的编码工具进行视频编码的装置,所述编码工具组包括光流预测增强PROF和双向光流BDOF,所述装置包括一个或更多个电子电路或处理器,所述一个或更多个电子电路或处理器被布置成:
接收与当前图片中的当前块相关的输入数据,其中,所述输入数据与所述当前块在视频编码器侧的变换块相对应,或者所述输入数据与所述当前块在视频解码器侧的经解码经量化的变换块相对应;
确定用于所述当前块的当前编码工具;
如果所述当前编码工具与所述PROF相对应,则:
针对所述当前块的目标子块的像素,推导第一预测项增强,其中,推导所述第一预测项增强的步骤包括:推导所述当前块的所述目标子块的所述像素的第一梯度,并且将所述第一梯度右移公共移位;
根据所述第一预测项增强和通过子块运动向量生成的子块预测项,生成经增强的子块预测项;并且
基于所述经增强的子块预测项对所述目标子块进行编码或解码;以及
如果所述当前编码工具与所述BDOF相对应,则:
针对所述当前块的所述目标子块的所述像素,推导第二预测项增强,其中,推导所述第二预测项增强的步骤包括:推导所述当前块的所述目标子块的所述像素的第二梯度,并且将所述第二梯度右移所述公共移位;
根据所述第二预测项增强和通过子块运动向量生成的所述子块预测项,生成所述经增强的子块预测项;并且
基于所述经增强的子块预测项对所述目标子块进行编码或解码。
CN202080028241.0A 2019-04-12 2020-04-10 用于视频编解码系统的简化仿射子块处理的方法及装置 Active CN113785586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311648114.2A CN117750033A (zh) 2019-04-12 2020-04-10 用于视频编解码系统的简化仿射子块处理的方法及装置

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962832941P 2019-04-12 2019-04-12
US62/832,941 2019-04-12
US201962844194P 2019-05-07 2019-05-07
US62/844,194 2019-05-07
US201962855003P 2019-05-31 2019-05-31
US62/855,003 2019-05-31
PCT/CN2020/084223 WO2020207475A1 (en) 2019-04-12 2020-04-10 Method and apparatus of simplified affine subblock process for video coding system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311648114.2A Division CN117750033A (zh) 2019-04-12 2020-04-10 用于视频编解码系统的简化仿射子块处理的方法及装置

Publications (2)

Publication Number Publication Date
CN113785586A true CN113785586A (zh) 2021-12-10
CN113785586B CN113785586B (zh) 2023-12-22

Family

ID=72750813

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311648114.2A Pending CN117750033A (zh) 2019-04-12 2020-04-10 用于视频编解码系统的简化仿射子块处理的方法及装置
CN202080028241.0A Active CN113785586B (zh) 2019-04-12 2020-04-10 用于视频编解码系统的简化仿射子块处理的方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311648114.2A Pending CN117750033A (zh) 2019-04-12 2020-04-10 用于视频编解码系统的简化仿射子块处理的方法及装置

Country Status (6)

Country Link
US (1) US11985330B2 (zh)
EP (1) EP3949419A4 (zh)
KR (1) KR20210145816A (zh)
CN (2) CN117750033A (zh)
TW (1) TWI738292B (zh)
WO (1) WO2020207475A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885387A (zh) * 2019-05-02 2020-11-03 腾讯美国有限责任公司 用于仿射光流预测值细化的视频解码方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020228836A1 (en) * 2019-05-16 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Sub-region based determination of motion information refinement
EP3970374A4 (en) * 2019-06-19 2023-08-16 Beijing Dajia Internet Information Technology Co., Ltd. METHOD AND APPARATUS FOR PREDICTION REFINING WITH OPTICAL FLOW
CN115002454A (zh) * 2019-07-10 2022-09-02 北京达佳互联信息技术有限公司 关于利用光流的预测细化的方法和装置
KR20220036978A (ko) * 2019-08-31 2022-03-23 엘지전자 주식회사 Prof를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130170540A1 (en) * 2010-09-16 2013-07-04 Koninklijke Philips Electronics N.V. Apparatuses and methods for improved encoding of images
CN107079161A (zh) * 2014-09-01 2017-08-18 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
US20170332095A1 (en) * 2016-05-16 2017-11-16 Qualcomm Incorporated Affine motion prediction for video coding
US20180184110A1 (en) * 2016-12-28 2018-06-28 Arris Enterprises Llc Unequal weight planar prediction
CN108432250A (zh) * 2016-01-07 2018-08-21 联发科技股份有限公司 用于视频编解码的仿射帧间预测的方法及装置
CN108605137A (zh) * 2016-03-01 2018-09-28 联发科技股份有限公司 利用仿射运动补偿的视频编码方法与装置
CN108781284A (zh) * 2016-03-15 2018-11-09 联发科技股份有限公司 具有仿射运动补偿的视频编解码的方法及装置
US20190089960A1 (en) * 2017-09-21 2019-03-21 Futurewei Technologies, Inc. Restriction On Sub-Block Size Derivation For Affine Inter Prediction

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
US10523964B2 (en) 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
CN117478884A (zh) * 2017-07-03 2024-01-30 Vid拓展公司 用于视频编解码的设备、方法
US11877001B2 (en) * 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
TWI700922B (zh) * 2018-04-02 2020-08-01 聯發科技股份有限公司 用於視訊編解碼系統中的子塊運動補償的視訊處理方法和裝置
US10462488B1 (en) * 2018-07-13 2019-10-29 Tencent America LLC Method and apparatus for video coding

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130170540A1 (en) * 2010-09-16 2013-07-04 Koninklijke Philips Electronics N.V. Apparatuses and methods for improved encoding of images
CN107079161A (zh) * 2014-09-01 2017-08-18 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
CN108432250A (zh) * 2016-01-07 2018-08-21 联发科技股份有限公司 用于视频编解码的仿射帧间预测的方法及装置
CN108605137A (zh) * 2016-03-01 2018-09-28 联发科技股份有限公司 利用仿射运动补偿的视频编码方法与装置
US20190058896A1 (en) * 2016-03-01 2019-02-21 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
CN108781284A (zh) * 2016-03-15 2018-11-09 联发科技股份有限公司 具有仿射运动补偿的视频编解码的方法及装置
US20170332095A1 (en) * 2016-05-16 2017-11-16 Qualcomm Incorporated Affine motion prediction for video coding
US20180184110A1 (en) * 2016-12-28 2018-06-28 Arris Enterprises Llc Unequal weight planar prediction
US20190089960A1 (en) * 2017-09-21 2019-03-21 Futurewei Technologies, Inc. Restriction On Sub-Block Size Derivation For Affine Inter Prediction

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHUN-CHI CHEN ET AL.: "BoG report on CE2 sub-block based motion prediction related contributions", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA,JVET-N0776-V4, pages 1 - 12 *
HAHYUN LEE ET AL.: "CE9-related: A simple gradient calculation at the CU boundaries for BDOF", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARRAKECH,JVET-M0241, pages 1 - 4 *
HAN HUANG ET AL.: "CE2-related: Affine motion compensation using 2x2 subblock", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA,JVET-N0273, pages 1 *
JIANCONG (DANIEL) LUO ET AL.: "CE2-related: Prediction refinement with optical flow for affine mode", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA,JVET-N0236-R5, pages 1 *
MINHUA ZHOU ET AL.: "CE2: On restriction of memory bandwidth consumption of affine mode (CE2-4.8)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA, JVET-N0068-V1, pages 1 - 11 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885387A (zh) * 2019-05-02 2020-11-03 腾讯美国有限责任公司 用于仿射光流预测值细化的视频解码方法和装置
CN111885387B (zh) * 2019-05-02 2024-06-21 腾讯美国有限责任公司 用于仿射光流预测值细化的视频解码方法和装置

Also Published As

Publication number Publication date
KR20210145816A (ko) 2021-12-02
US20220210439A1 (en) 2022-06-30
EP3949419A1 (en) 2022-02-09
EP3949419A4 (en) 2023-01-04
TW202046728A (zh) 2020-12-16
WO2020207475A1 (en) 2020-10-15
CN117750033A (zh) 2024-03-22
CN113785586B (zh) 2023-12-22
US11985330B2 (en) 2024-05-14
TWI738292B (zh) 2021-09-01

Similar Documents

Publication Publication Date Title
CN112868240B (zh) 并置的局部照明补偿和修改的帧间预测编解码
CN113287317B (zh) 并置的局部照明补偿和修改的帧间编解码工具
CN113196772B (zh) 块内拷贝模式和基于子块的运动矢量预测模式之间的交互
CN111937391B (zh) 用于视频编解码系统中的子块运动补偿的视频处理方法和装置
KR102628361B1 (ko) 인터-예측을 위한 대역폭 제어 방법
CN113316933B (zh) 使用运动预测进行去方块滤波
CN110115032B (zh) 用于视频编解码的运动细化的方法以及装置
WO2018166357A1 (en) Method and apparatus of motion refinement based on bi-directional optical flow for video coding
CN113302918A (zh) 视频编解码中的加权预测
CN113785586B (zh) 用于视频编解码系统的简化仿射子块处理的方法及装置
CN114175636B (zh) 自适应参数集中的自适应环路滤波的指示
KR20210089155A (ko) 페어와이즈 평균 후보 계산에서 라운딩
CN118250459A (zh) 组合帧间帧内预测模式中的权重
KR102635518B1 (ko) 변환된 단예측 후보의 사용
CN113906759A (zh) 子块Merge模式中基于语法的运动候选推导
CN112970250B (zh) 视频编码的多重假设方法和装置
CN115918080A (zh) 视频编解码的仿射预测改进
CN113994682A (zh) 具有默认参数的基于历史的运动矢量预测
CN114097219A (zh) 基于历史的运动矢量预测表中的运动信息的存储
KR20210131347A (ko) 크기에 따른 인터 코딩
WO2024016844A1 (en) Method and apparatus using affine motion estimation with control-point motion vector refinement

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
TA01 Transfer of patent application right

Effective date of registration: 20220422

Address after: Hsinchu County, Taiwan, China

Applicant after: MEDIATEK Inc.

Address before: 1 Duxing 1st Road, Hsinchu Science Park, Hsinchu, Taiwan, China

Applicant before: MEDIATEK Inc.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant