CN116368799A - 用于帧间编解码的增强型运动估计 - Google Patents

用于帧间编解码的增强型运动估计 Download PDF

Info

Publication number
CN116368799A
CN116368799A CN202180070063.2A CN202180070063A CN116368799A CN 116368799 A CN116368799 A CN 116368799A CN 202180070063 A CN202180070063 A CN 202180070063A CN 116368799 A CN116368799 A CN 116368799A
Authority
CN
China
Prior art keywords
cpmv
optimal
video block
block
prediction
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.)
Pending
Application number
CN202180070063.2A
Other languages
English (en)
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 Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN116368799A publication Critical patent/CN116368799A/zh
Pending legal-status Critical Current

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
    • 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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • 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/567Motion estimation based on rate distortion criteria
    • 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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

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

Abstract

提供了用于对视频信号进行编码的方法、装置和非暂态计算机可读存储介质。解码器可以获得与该视频信号中的视频块相关联的第一运动矢量(MV)。该解码器可以使用该第一MV获得该视频块的第一预测信号。该解码器可以通过使用该第一预测信号和该第一MV以递归方式应用基于梯度的运动细化算法来识别最优MV。该解码器可以基于该最优MV来获得该视频块的第二预测信号。

Description

用于帧间编解码的增强型运动估计
相关申请的交叉引用
本申请基于2020年10月15日提交的临时申请第63/092,469号并要求其优先权,该临时申请的全部内容出于所有目的通过引用以其全文并入本文。
技术领域
本公开涉及视频编解码和压缩。更具体地,本公开涉及关于改进用于帧间预测的增强型运动估计的系统和方法。
背景技术
可以使用各种视频编解码技术来压缩视频数据。视频编解码是根据一个或多个视频编解码标准来执行的。例如,视频编解码标准包括通用视频编解码(versatile videocoding,VVC)、联合探索测试模型(joint exploration test model,JEM)、高效视频编解码(high-efficiency video coding,H.265/HEVC)、高级视频编解码(advanced videocoding,H.264/AVC)、运动图片专家组(moving picture expert group,MPEG)编解码等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等)进行,这些方法利用了存在于视频图像或序列中的冗余。视频编解码技术的一个重要目标在于,将视频数据压缩成使用更低比特率的形式,同时避免或最小化视频质量的下降。
发明内容
本公开的示例提供了用于视频编码的方法和装置。
根据本公开的第一方面,提供了一种用于视频编码的方法。该方法可以包括编码器获得与视频信号中的视频块相关联的第一运动矢量(MV)。解码器可以进一步使用第一MV推导视频块的第一预测信号。解码器可以进一步通过使用第一预测信号和第一MV以递归方式应用基于梯度的运动细化算法来识别最优MV。解码器可以进一步基于最优MV来获得视频块的第二预测信号。
根据本公开的第二方面,提供了一种用于对视频信号中的视频块进行编码的方法。该方法可以包括编码器在编码器处维护控制点运动矢量(CPMV)库。CPMV库可以包括为先前编解码的视频块的参考列表中的不同参考图片确定的一组或多组CPMV。解码器可以进一步使用CPMV库为视频块的每个参考图片确定最优CPMV。解码器可以进一步通过包含视频块的一组最优CPMV来更新CPMV库。每个CPMV可以对应于视频块的参考图片,并且被用来替换MV库中的一个或多个现有CPMV组。
应理解,上面的大体描述和下面的详细描述仅是示例性的和解释性的,而不旨在限制本公开。
附图说明
结合在本说明书中并构成本说明书的一部分的附图图示了与本公开一致的示例,并与该描述一起用于解释本公开的原理。
图1是根据本公开的示例的编码器的框图。
图2是根据本公开的示例的解码器的框图。
图3A是图示根据本公开的示例的多类型树结构中的块分区的图。
图3B是图示根据本公开的示例的多类型树结构中的块分区的图。
图3C是图示根据本公开的示例的多类型树结构中的块分区的图。
图3D是图示根据本公开的示例的多类型树结构中的块分区的图。
图3E是图示根据本公开的示例的多类型树结构中的块分区的图。
图4是示出了根据本公开的示例的运动估计方法的流程图。
图5A是根据本公开的示例的菱形搜索模板的图示。
图5B是根据本公开的示例的光栅搜索模板的图示。
图6是根据本公开的示例的修改后的运动估计过程的流程图。
图7是根据本公开的示例的修改后的运动估计过程的流程图。
图8是根据本公开的示例的修改后的运动估计过程的流程图。
图9是根据本公开的示例的用于对视频信号进行编码的方法。
图10是根据本公开的示例的用于对视频信号中的视频块进行编码的方法。
图11是图示根据本公开的示例的与用户界面耦接的计算环境的图。
具体实施方式
现在将详细参考示例实施例,附图中图示了这些实施例的示例。以下描述均参考附图,在附图中,除非另有说明,否则不同附图中的相同标记表示相同或相似的要素。以下示例实施例描述中阐述的实施方式并不表示与本公开一致的所有实施方式。而是,它们仅仅是与所附权利要求中叙述的与本公开相关的方面一致的装置和方法的示例。
本公开中使用的术语仅出于描述特定实施例的目的,而不旨在限制本公开。如在本公开和所附权利要求中使用的,单数形式“一个(a)”、“一种(an)”和“所述(the)”旨在也包括复数形式,除非上下文另有明确指示。还应当理解,本文使用的术语“和/或”旨在表示并包括相关联列举项目中的一个或多个项目的任何或所有可能组合。
应当理解,尽管本文可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是这些信息不应受这些术语的限制。这些术语仅仅是用来将一类信息与另一类信息进行区分。例如,在不脱离本公开的范围的情况下,第一信息可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,根据上下文,术语“如果”可以被理解为意指“当……时”或“在……时”或“响应于判断”。
HEVC标准的第一版本于2013年10月完成,其与上一代视频编解码标准H.264/MPEGAVC相比,提供了大约50%的比特率节省或同等的感知质量。尽管HEVC标准提供了优于其前身的显著编解码改进,但有证据表明,可以使用附加编解码工具实现优于HEVC的编解码效率。在此基础上,VCEG和MPEG都开始了新编解码技术的探索工作,以实现未来的视频编解码标准化。ITU-T VECG和ISO/IEC MPEG于2015年10月成立了一个联合视频探索小组(JointVideo Exploration Team,JVET),开始对能够大幅提高编解码效率的先进技术进行重大研究。JVET通过在HEVC测试模型(HEVC test model,HM)的基础上整合多个附加编解码工具来维护一种称为联合探索模型(joint exploration model,JEM)的参考软件。
2017年10月,ITU-T和ISO/IEC发布了关于具有超越HEVC的能力的视频压缩的联合提案(call for proposals,CfP)。2018年4月,第10届JVET会议上接收并评估了23份CfP回复,论证了压缩效率比HEVC提高约40%。基于这样的评估结果,JVET启动了开发名为通用视频编解码(VVC)的新一代视频编解码标准的新项目。同月,建立了一个称为VVC测试模型(VTM)的参考软件代码库,用于演示VVC标准的参考实施。
与HEVC一样,VVC在基于块的混合视频编解码框架上构建。
图1示出了用于VVC的基于块的视频编码器的总图。具体地,图1示出了典型的编码器100。编码器100具有视频输入110、运动补偿112、运动估计114、帧内/帧间模式决策116、块预测值140、加法器128、变换130、量化132、预测相关信息142、帧内预测118、图片缓冲器120、反量化134、逆变换136、加法器126、存储器124、环路滤波器122、熵编码138以及比特流144。
在编码器100中,视频帧被分区成多个视频块以进行处理。对于每个给定的视频块,基于帧间预测方法或帧内预测方法来形成预测。
将表示当前视频块(视频输入110的一部分)与其预测值(块预测值140的一部分)之间的差的预测残差从加法器128发送到变换130。然后,将变换系数从变换130发送到量化132,以进行熵减小。然后,将量化系数馈送到熵编码138,以生成压缩视频比特流。如图1所示,来自帧内/帧间模式决策116的预测相关信息142(比如视频块分区信息、运动矢量(motion vector,MV)、参考图片索引和帧内预测模式)也通过熵编码138被馈送并且被保存到压缩比特流144中。压缩比特流144包括视频比特流。
在编码器100中,还需要解码器相关电路,以为了预测的目的重建像素。首先,通过反量化134和逆变换136来重建预测残差。将该重建预测残差与块预测值140组合,以生成当前视频块的未滤波的重建像素。
空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已经编码的相邻块的样点(被称为参考样点)的像素来预测当前视频块。
时间预测(也被称为“帧间预测”)使用来自已编码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定编码单元(coding unit,CU)或编码块的时间预测信号通常由指示当前CU与其时间参考之间的运动量和运动方向的一个或多个MV用信号发送。进一步地,如果支持多个参考图片,则另外发送一个参考图片索引,该参考图片索引用于标识时间预测信号来自参考图片存储中的哪个参考图片。在一些示例中,CU可以包括一个或多个编码块。例如,CU可以包括三个编码块,这三个编码块可以是一个亮度编码块和两个色度编码块,并且编码块可以被进一步划分为子块。进一步地,在本文的CU的情况下执行的根据本申请的编解码方法也可以在块或视频块的情况下执行,其中,本文的块或视频块可以指编码块或子块。
运动估计114获取视频输入110和来自图片缓冲器120的信号,并且将运动估计信号输出到运动补偿112。运动补偿112获取视频输入110、来自图片缓冲器120的信号以及来自运动估计114的运动估计信号,并且将运动补偿信号输出到帧内/帧间模式决策116。
在执行空间预测和/或时间预测之后,编码器100中的帧内/帧间模式决策116例如基于率失真优化方法来选择最佳预测模式。然后,从当前视频块减去块预测值140,并且使用变换130和量化132对所产生的预测残差进行去相关。通过反量化134对所产生的量化残差系数进行反量化,并通过逆变换136对该量化残差系数进行逆变换以形成重建残差,然后将该重建残差加回到预测块以形成CU的重建信号。在将重建的CU置于图片缓冲器120的参考图片存储中并用于对未来的视频块编解码之前,可以对重建的CU应用比如去块滤波器、样点自适应偏移(sample adaptive offset,SAO)和/或自适应环路滤波器(adaptive in-loop filter,ALF)等进一步的环路滤波122。为了形成输出视频比特流144,将编码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数都发送至熵编码单元138,以进行进一步压缩和打包来形成比特流。
图1给出了通用的基于块的混合视频编码系统的框图。输入视频信号被逐块(被称为编码单元(CU))处理。在VTM-1.0中,CU的大小可以高达128×128像素。然而,不同于仅仅基于四叉树来将块分区的HEVC,在VVC中,一个编码树单元(CTU)被拆分成多个CU,以适应基于四/二/三叉树而不同的局部特性。另外,去除了HEVC中的多分区单元类型的概念,即,CU、预测单元(prediction unit,PU)和变换单元(transform unit,TU)的拆分不再存在于VVC中;相反,每个CU一直用作预测和变换两者的基本单元,而不进行进一步分区。在多类型树结构中,一个CTU首先被四叉树结构分区。然后,每个四叉树叶节点可以进一步被二叉树结构和三叉树结构分区。如图3A、图3B、图3C、图3D和图3E所示,有五种拆分类型,四元分区、水平二元分区、垂直二元分区、水平三元分区以及垂直三元分区。
图3A示出了图示多类型树结构中的块四元分区的图。图3B示出了图示多类型树结构中的块垂直二元分区的图。图3C示出了图示根据本公开的多类型树结构中的块水平二元分区的图。图3D示出了图示多类型树结构中的块垂直三元分区的图。图3E示出了图示多类型树结构中的块水平三元分区的图。
在图1中,可以执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中的已编码的相邻块的样点(被称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也被称为“帧间预测”或“运动补偿预测”)使用来自其他已经编码的图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定CU的时间预测信号通常由指示当前CU与其时间参考块之间的运动量和运动方向的一个或多个运动矢量(MV)用信号发送。同样,如果支持多个参考图片,则另外发送一个参考图片索引,该参考图片索引用于标识时间预测信号来自参考图片存储中的哪个参考图片。在进行空间和/或时间预测之后,编码器中的模式决策模块例如基于率失真优化方法来选择最佳预测模式。预测块可以基于所选的最佳预测模式来获得。然后,从当前视频块减去预测块;并且使用变换和量化对预测残差进行去相关。对经量化的残差系数进行反量化和逆变换以形成重建残差,然后将重建残差加回到预测块以形成CU的重建信号。进一步地,在将重建的CU置于参考图片存储中并用来预测未来的视频块之前,可以对重建的CU应用比如去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)等环路滤波。为了形成输出视频比特流,将编码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数都发送至熵编码单元,以进行进一步压缩和打包来形成比特流。
图2示出了用于VVC的视频解码器的总框图。具体地,图2示出了典型的解码器200的框图。解码器200具有比特流210、熵解码212、反量化214、逆变换216、加法器218、帧内/帧间模式选择220、帧内预测222、存储器230、环路滤波器228、运动补偿224、图片缓冲器226、预测相关信息234以及视频输出232。
解码器200与位于图1的编码器100中的重建相关部分类似。在解码器200中,首先通过熵解码212对传入的视频比特流210进行解码,以推导经量化的系数级别和预测相关信息。然后,通过反量化214和逆变换216来处理经量化的系数级别,以获得重建预测残差。在帧内/帧间模式选择器220中实施的块预测值机制被配置为基于已解码预测信息来执行帧内预测222或运动补偿224。通过使用求和器218对来自逆变换216的重建预测残差与由块预测值机制生成的预测输出进行求和来获得一组未滤波的重建像素。
在被存储到用作参考图片存储装置的图片缓冲器226中之前,重建块可以进一步通过环路滤波器228。图片缓冲器226中的重建视频可以被发送以驱动显示设备,并被用于预测未来的视频块。在环路滤波器228被开启的情况下,对这些重建像素执行滤波操作,从而推导最终的重建视频输出232。
图2给出了基于块的视频解码器的总框图。首先在熵解码单元处对视频比特流进行熵解码。将编码模式和预测信息发送到空间预测单元(在帧内编码的情况下)或时间预测单元(在帧间编码的情况下)以形成预测块。将残差变换系数发送到反量化单元和逆变换单元以重建残差块。然后,将预测块和残差块相加。在被存储到参考图片存储之前,重建块可以进一步通过环路滤波。然后,参考图片存储中的重建视频被发送出去以驱动显示设备,并被用于预测未来的视频块。
如上文描述的,VVC标准遵循了与如图1及图3A至图3E所示的相同的混合视频编解码框架的编码/解码工作流程。然而,与之前的标准(例如,H.265/HEVC和H.264/AVC)相比,几个编解码模块,特别是与帧间预测相关联的编解码模块得到了进一步扩展和增强。本公开的重点在于,改进用来推导帧间预测的最优运动参数的编码器侧运动估计方法。在下文中,首先,我们简要地回顾了VVC中包含并与所提出的编码器方法密切相关的帧间编解码工具技术。
常规帧间模式
一般来说,对于常规帧间块,VVC中的运动信息信令与HEVC标准中的运动信息信令保持相同。具体地,首先用信号发送一个帧间预测语法(即,inter_pred_idc),以指示预测信号是来自列表L0、列表L1还是两者。然后,对于每个使用的参考列表,通过为对应的参考列表用信号发送一个参考图片索引ref_idx_lx(x=0,1)来标识对应的参考图片,并且用一个用于选择MV预测值(MV predictor,MVP)的MVP索引mvp_lx_flag(x=0,1)来表示对应的MV,然后选择其在目标MV与所选MVP之间的运动矢量差(motion vector difference,MVD)。
用于常规帧间模式的运动估计
为了推导一个帧间块的MV,在VTM编码器处使用基于块匹配的运动估计方法。与HEVC标准一样,VVC中的MVD信令支持的最佳MV分辨率也是四分之一像素。为了生成在分数位置的参考样点,应用插值滤波器来从其在整数位置的相邻参考样点插入分数样点。另外,在VTM中应用多级运动估计方法来推导最优MV,而不是以四分之一像素分辨率来搜索所有MV候选。具体地,将测试区(test zone,TZ)算法应用于整数运动估计,以在整数像素准确度下找到最优MV。然后,依次应用一个半像素运动搜索过程和一个四分之一像素运动搜索过程。半像素运动搜索过程检查最佳整数像素MV周围的8个半像素相邻样点位置,而四分之一像素运动搜索过程检查最佳半像素精度MV周围的8个四分之一像素相邻样点位置。最佳整数像素/半像素精度MV被确定为是在搜索过程期间实现最小率失真(rate-distortion,R-D)代价的MV。在四分之一像素运动搜索之后,选择使R-D代价最小化的最终MV作为块的MV。为了计算R-D代价,绝对差和(sum of absolute difference,SAD)被用于整数像素运动搜索,而绝对变换差和(sum of absolute transformed difference,SATD)被用于半像素运动搜索和四分之一像素运动搜索。该率被计算为二进制位的数量,这些二进制位被生成来表示帧间块的对应运动信息,包括帧间预测方向、参考图片索引、运动预测值和运动矢量差。
为了减少搜索点的数量,将TZ应用于包含如图4所图示的三个步骤的整数运动搜索。
图4示出了VTM编码器中的运动估计方法的流程图。具体地,图4示出了流程图400,该流程图从步骤410开始,步骤420开始MV选择,步骤422测试MVP,步骤424测试零MV,步骤426是否启用帧间哈希搜索?,步骤428哈希帧间搜索、步骤430是否找到哈希匹配?,步骤440局部运动搜索、步骤450细化搜索,以及步骤460结束。流程图400从步骤410开始,并继续到开始MV选择的整个步骤420,该整个步骤包括完成测试MVP的步骤422、然后是完成测试零MV的步骤424、接下来是确定是否启用帧间哈希搜索的决策426,如果启用,则进行步骤428,否则执行步骤430。在步骤428中完成哈希帧间搜索,并且流程图继续到确定是否找到哈希匹配的决策步骤430。如果决策步骤430为是,则执行步骤460,否则执行步骤440。在步骤440中完成局部运动搜索,然后完成用于细化搜索的步骤450,最后步骤460是结束该过程。
首先,检查从AMVP推导过程中获得的MVP候选。然后,检查零MV(即,指向参考图片中位于当前块的相同位置处的参考块的MV)。另外,在VTM编码器中,可以针对4×4块、4×8块、8×4块、8×8块、16×16块、32×32块和64×64块可选地启用基于哈希的运动估计。具体地,对于参考列表L0和L1中的每个参考图片,基于32位循环冗余校验(Cyclic RedundancyCheck,CRC)值为所有可能的参考块创建与那些允许的块大小相对应的哈希表。然后,对于哈希表中的每个参考块,执行基于哈希的块匹配。当识别出一个哈希匹配时,对应的参考块将会被选定,并且接下来的运动搜索过程可以被提前终止,包括整数运动搜索、半像素运动搜索和四分之一像素运动搜索的其余部分。如果未找到哈希匹配,则基于菱形搜索模板执行一次局部运动搜索。进一步地,当菱形搜索的输出MV与起始MV之间的差大于一个预定义阈值时,进行一次附加的光栅搜索。
图5A示出了菱形搜索模板的图示。图5A示出了光栅搜索模板的图示。具体地,图5A示出了作为与起始位置具有相同距离的候选位置的正方形510、作为与起始位置具有相同距离的候选位置的正方形520以及作为搜索模板的起始位置的圆形530。图5B示出了光栅搜索的图示。具体地,图5B示出了作为与起始位置具有相同距离的候选位置的正方形540以及表示搜索模板的起始位置的圆形550。
仿射模式
在HEVC标准中,仅将平移运动模型应用于运动补偿预测。然而,在现实世界中,存在许多其他类型的运动,例如,放大/缩小运动、旋转运动、透视运动及其他不规则运动。在VVC中,通过针对每个帧间编码块用信号发送一个标志来指示是平移运动模型还是仿射运动模型被应用于帧间预测,以此应用仿射运动补偿预测。在当前的VVC设计中,支持两种仿射模式,包括4参数仿射模式和6参数仿射模式。
4参数仿射模型具有以下参数:分别用于水平方向和垂直方向上的平移运动的两个参数,用于这两个方向的缩放运动的一个参数和用于这两个方向的旋转运动的一个参数。水平缩放参数等于垂直缩放参数。水平旋转参数等于垂直旋转参数。为了更好地适应运动矢量和仿射参数,在VVC中,这些仿射参数被转换成位于当前块的左上角和右上角的两个MV(也被称为控制点运动矢量(control point motion vector,CPMV))。块的仿射运动场由两个控制点MV(V0,V1)来描述。基于控制点运动,一个仿射编码块的运动场(vx,vy)被描述为
Figure BDA0004174948980000091
Figure BDA0004174948980000092
6参数仿射模式具有以下参数:分别用于水平方向和垂直方向上的平移运动的两个参数,用于水平方向上的缩放运动的一个参数和用于水平方向上的旋转运动的一个参数,用于垂直方向上的缩放运动的一个参数和用于垂直方向上的旋转运动的一个参数。6参数仿射运动模型是用在三个CPMV处的三个MV来编码的。一个6参数仿射块的三个控制点位于该块的左上角、右上角和左下角。左上控制点处的运动与平移运动相关,并且右上控制点处的运动与水平方向的旋转和缩放运动相关,并且左下控制点处的运动与垂直方向的旋转和缩放运动相关。与4参数仿射运动模型相比,6参数在水平方向上的旋转和缩放运动可能与在垂直方向上的那些运动不同。假设(V0,V1,V2)是当前块的左上角、右上角和左下角的MV,则使用控制点处的三个MV可以推导每个子块的运动矢量(vx,vy)为:
Figure BDA0004174948980000093
Figure BDA0004174948980000094
仿射运动估计
对于现有的仿射运动估计过程(例如,在VTM中),运动模型是基于4参数仿射模型和6参数仿射模式的R-D代价来选择的。如(3)所示,R-D代价是通过考虑通过预测误差测得的失真以及编码所有仿射CPMV的比特来计算的。“o”表示原始信号,而“p”表示预测信号;R(MVi)是用于对第i个运动矢量MVi进行编码的比特数;K是CPMV的数量。对于平移模型,K设置为1,对于4参数仿射模型,K设置为2,而对于6参数仿射模型,K设置为3。λ是失真代价与比特代价之间的加权因子。
Figure BDA0004174948980000101
编码器将首先检查平移运动模型的R-D代价。如果当前块的宽度和高度都大于8,则用4参数仿射模型执行仿射运动估计。如果4参数仿射模型的R-D代价没有比平移运动模型的R-D代价大太多,则编码器将进一步用6参数仿射模型检查仿射运动代价。之后,编码器将选择具有最小R-D代价的最佳运动模型。为了降低6参数仿射运动估计的复杂度,编码器仅使用通过4参数仿射运动估计选择的最佳参考图片来执行仿射运动估计。要估计一个仿射块(对于4参数仿射模型或6参数仿射模型)的CPMV,有四个步骤:(1)用仿射运动补偿生成预测;(2)用索贝尔(Sobel)滤波计算两个方向上的空间梯度;(3)基于样点的梯度及其坐标来计算相关矩阵;(4)基于最小均方估计(least mean square estimation,LMSE)来计算仿射模型参数,并用仿射模型参数计算控制点的ΔMV。重复上述过程,直至仿射CPMV在一次迭代后未被更新。可以看出,仿射运动估计方法的计算复杂度相当高。为了降低仿射运动估计的复杂度,从仿射MV预测值或来自平移运动模型的MV中选择4参数仿射运动估计的起始点。在原始信号与预测信号之间测得的预测误差较小的起始点将被选为仿射运动估计的起始点。对于6参数仿射运动估计,判定对应的起始点时还包括4参数仿射模型的CPMV。
自适应运动矢量分辨率
在VVC中,引入了CU级自适应运动矢量分辨率(adaptive motion vectorresolution,AMVR)方案。AMVR允许以各种精度对一个编码块的MVD进行编码。根据当前CU的模式(正常AMVP模式或仿射AVMP模式),可以如下自适应地选择当前编码块的MVD的分辨率:
-正常AMVP模式:四分之一像素、整数像素和四像素
-仿射AMVP模式:四分之一像素、十六分之一像素和整数像素。
如果当前编码块具有至少一个非零MVD分量,则有条件地用信号发送AMVR模式。如果所有MVD(也就是说,参考列表L0和参考列表L1的水平MVD和垂直MVD两者)都为零,则推断出四分之一像素MVD分辨率。当启用AMVR模式时,用信号发送第一标志,以指示是否将四分之一像素MVD精度用于块。如果第一标志为0,则无需进一步发送信号,并应用四分之一像素MVD精度。否则,用信号发送第二标志,以指示是将整数像素MVD精度还是四像素MVD精度用于正常AMVP块,或者是将十六分之一像素MVD还是整数像素MVD用于仿射AMVR块。为了确保重建的MV具有预期精度,在与MVD相加之前,将块的MVP四舍五入到与MVD相同的精度。
编码器通过比较R-D代价来确定当前块的MV分辨率。为了降低编码复杂度,有条件地调用除四分之一像素外的MVD精度的R-D检查。对于正常AVMP模式,首先计算四分之一像素MVD精度以及整数像素MVD精度的R-D代价。当四分之一像素MVD精度的R-D代价远小于整数像素MVD精度的R-D代价时,跳过四像素MVD精度的R-D检查。对于仿射AMVP模式,如果在检查仿射合并/跳过模式、合并/跳过模式、四分之一像素正常AMVP模式和四分之一像素仿射AMVP模式的R-D代价后未选择仿射AMVP模式,则编码器跳过十六分之一像素MVD精度仿射AMVP模式和一像素MVD精度仿射AMVP模式的R-D检查。
对视频编码的改进
虽然现代编码器中现有的运动估计方法已经证明了其对帧间编码的优越性能,但当前设计中仍存在一些可以进一步改进的方面,如下所讨论的:
首先,如前所讨论的,仿射参数(即,CPMV)的估计过程与常规帧间模式的运动估计有很大不同。具体地,仿射运动估计是一种基于预测信号的空间梯度以及原始信号与预测信号之差的迭代搜索方法,而不是使用基于块匹配的运动搜索。由于高频的本质,推导得到的梯度因存在噪声(例如,在原始视频中捕获的噪声和在编码过程期间生成的编码噪声)而通常是不可靠的。这使得基于这种不精确的梯度很难推导精确的仿射CPMV。
其次,如“用于常规帧间模式的运动估计”章节中说明的,由运动估计推导得到的MV的准确度高度依赖于用于整个运动估计过程的起始点MV。在常见的编码器设计中,仅MVP候选、零MV和基于哈希的MV候选(当启用基于哈希的运动搜索时)被用来选择起始点MV。当当前块的MV与其相邻块的MV之间没有足够的相关性时,由上述方法推导得到的起始点MV的准确度较低。这通常使得整个MV搜索陷入二维(2-D)MV空间的一个局部极小值。
提出的方法
在本公开中,提出了两种编码器侧技术来增强用于常规帧间模式和仿射模式的现有运动估计算法,这些技术的主要特点总结如下:
首先,提出了一种改进的CPMV方案来提高仿射模式的估计CPMV的精度。所提出的方法建立在维护先前仿射块的一组单向预测CPMV的想法之上,这些先前仿射块是根据编码顺序在当前CU之前被编码的。这些被维护的CPMV将被用作确定当前CU的CPMV的候选。
其次,提出了一种基于梯度的运动估计算法来确定常规帧间CU的最优MV。与传统的基于块匹配的运动估计不同,所提出的方案基于光流概念,即计算CU中样点的局部梯度并使用这些梯度信息来迭代地寻找CU的最优MV。
基于先前仿射CU的CPMV的增强型仿射运动估计
如“用于常规帧间模式的运动估计”章节中所提到的,仅考虑了CPMV预测值来确定起始CPMV,以确定一个当前仿射CU的最优仿射参数。由于CPMV预测值是从当前块的空间/时间相邻块推导得到的事实,这种方案在当前CU的CPMV与其相邻块的CPMV之间存在强相关性时是有效的。另一方面,由于VVC中应用的通用块分区结构,每个块都可以通过多个树分区(即,四叉树、二叉树和三叉树)来进一步分区。因此,不同编码树级的块的CPMV之间或空间不相邻的块的MV之间可能存在强相关性。例如,在具有较少纹理的一个平坦区域中,一个编码块倾向于选择与其父级的较大编码块相同或相似的CPMV。在另一示例中,当应用三元树分区时,一个编码块在水平或垂直方向上以1:2:1的比率(如图3A至图3E所示)被进一步拆分成三个子分区。这样的分区通常适用于这样的场景,即有一个前景对象位于当前块的中心部分,而左部分和右部分属于背景。当发生这种情况时,左部分与右部分之间的相关性将比中心分区与左(或右)分区之间的相关性更强。
为了进一步提高运动估计效率,提出了一种基于CPMV库的方案来提高仿射运动估计的效率,其中,CPMV库包含为先前编码的仿射CU的每个参考图片列表中的每个图片确定的最优CPMV。库中的CPMV候选将被用作在当前CU的仿射运动估计过程期间确定最优CPMV的候选。具体地,列表的每个条目包含两种信息:1)块的位置和块大小(即,宽度和高度);2)对于每个CPMV,用于区分CPMV是与一个4参数仿射参数还是与一个6参数仿射参数相关联的一个指示符。进一步地,给定库中一个块的仿射模式的CPMV,则可以根据以下四个用例推导当前CU的对应CPMV。在以下推导中,块B是库中坐标为(xB,yB)的选定块,并且该块的宽度和高度分别是wB和hB;{MV0,MV1,MV2}是块B的三个CPMV;块C是坐标为(xC,yC)的当前CU,并且该块的宽度和高度为wC和hC。
用例#1:块B和块C与4参数仿射模式相关联。在这种情况下,块C的左上CPMV被推导为
Figure BDA0004174948980000131
Figure BDA0004174948980000132
并且块C的右上CPMV被推导为
Figure BDA0004174948980000133
Figure BDA0004174948980000134
用例#2:块B与4参数仿射模式相关联,并且块C与6参数仿射模式相关联。在这种情况下,使用方程(4)和方程(5)以相同的方式推导块C的左上CPMV和右上CPMV。并且块C的左下CPMV被推导为
Figure BDA0004174948980000135
Figure BDA0004174948980000136
用例#3:块B和块C与6参数仿射模式相关联。在这种情况下,块C的左上CPMV、右上CPMV和左下CPMV被推导为
Figure BDA0004174948980000137
Figure BDA0004174948980000138
Figure BDA0004174948980000141
Figure BDA0004174948980000142
Figure BDA0004174948980000143
Figure BDA0004174948980000144
用例#4:块B与6参数仿射模式相关联,并且块C与4参数仿射模式相关联。在这种情况下,块C的左上CPMV和右上CPMV被计算为
Figure BDA0004174948980000145
Figure BDA0004174948980000146
Figure BDA0004174948980000147
Figure BDA0004174948980000148
可能有多种方式来将库中的CPMV候选应用于仿射运动估计。在一种或多种方法中,提出将库中的附加CPMV候选与现有CPMV预测值一起用来确定仿射运动估计的起始CPMV。
图6示出了根据第一种提出的方法的修改后的仿射运动估计过程的流程图。图6图示了当CPMV库中的CPMV候选被用来选择用于仿射运动估计的起始CPMV时的对应工作流程。如图6所示,库中的CPMV候选与默认CPMV预测值竞争,并且具有较低RD代价(如方程(3)中计算的)的CPMV被选为起始CPMV,该起始CPMV将被用作基于梯度的局部仿射CPMV细化过程的输入CPMV。在一种或多种方法中,提出首先从CPMV库中选择最佳候选,然后通过局部仿射CPMV细化来对其进行细化;接下来,推导得到的CPMV将与通过使用默认CPMV预测值作为起始点的局部CPMV细化推导得到的CPMV竞争。具体地,图6示出了流程图600,该流程图从步骤610开始,步骤620开始MV选择,步骤622测试CPMV预测值,步骤624是否为CPMV库中的最后候选?,步骤626测试CPMV库,步骤630进行基于起始CPMV的仿射CPMV细化,以及步骤640结束。流程图600从步骤610开始,并继续到用于开始MV选择的整个步骤620。在整个步骤620中,步骤622测试CPMV预测值,然后决策624判定是否为CPMV库中的最后候选?。如果步骤624为是,则执行步骤630,否则执行完成测试CPMV候选的步骤626。在步骤630中,完成基于起始CPMV的仿射CPMV细化,然后完成步骤640并结束过程600。
图7示出了根据第二种提出的方法的修改后的仿射运动估计的流程图。图7图示了当应用这种方法时的对应仿射运动估计过程。具体地,图7示出了流程图700,该流程图从步骤710开始,步骤720测试CPMV预测值,步骤730进行基于CPMV预测值的仿射CPMV细化,步骤740是否为CPMV库中的最后候选?,步骤750测试CPMV候选,步骤760进行基于CPMV库中最佳候选的仿射CPMV细化,步骤770比较,以及步骤780结束。流程图从步骤710开始,并且继续到完成测试CPMV预测值的步骤720,然后到完成基于CPMV预测值的仿射CPMV细化的步骤730,接下来过程继续进行到步骤740和770。在决策步骤740中,确定是否为CPMV库中的最后候选。如果决策740为是,则执行步骤760,否则完成步骤750并执行CPMV候选测试。在步骤760中,完成基于CPMV库中最佳候选的仿射CPMV细化,然后770比较来自步骤760和步骤730的信息。接下来,过程继续到步骤780并结束。
在完成一个CU的仿射运动估计之后,可以通过将当前CU的CPMV合并到CPMV库中来更新CPMV库。具体地,CPMV库可以通过以下方式更新。如果库中有条目,并且该条目具有与当前块相同的块位置、块宽度和块高度,则用当前块的CPMV更新该条目的CPMV。否则(库中没有重复条目),将当前块添加为一个新的候选,以基于先进先出(First-in-first-out,FIFO)规则来替换库中最旧的候选。另外,考虑到一个块的MV与其父块的MV之间的强相关性,在应用一个特定块分区之前,父块级别的CPMV始终被保存在库中。
用于常规帧间模式的基于梯度的运动估计算法
如之前提到的,从运动估计中推导得到的MV的准确度高度依赖于从MVP候选、零MV和基于哈希的MV候选中选择的起始点MV。在起始点MV的准确度较低的情况下,整个MV搜索过程可能很容易陷入二维(2-D)MV空间的一个局部极小值。为了解决这个问题,提出了一种替代的运动估计算法来计算用于常规帧间模式的最优MV。所提出的方法基于经典光流模型,该经典光流模型指出一个图片的明亮度随时间的变化是保持不变的,即,
E(x,y,t)=E(x+dx,y+dy,t+dt) (3)
其中,x和y表示空间坐标,并且t表示时间。方程的右边可以通过关于(x,y,t)的泰勒级数展开。之后,光流方程变为
Figure BDA0004174948980000161
假设将相机的捕获时间用作基本时间单位(即,dt=1),则可以通过将光流函数从连续域改变为离散域来离散化方程(13)。设I(x,y)为相机捕获的样点值,则方程(13)变为以下方程。
Figure BDA0004174948980000162
方程(14)中的光流模型可以用来直接推导如下描绘的MV差
GxΔx+GyΔy=Porg-Ppred (6)
其中,Porg和Ppred是原始信号和使用当前MV的预测信号;Gx和Gy是预测信号Ppred的水平/垂直梯度,该水平/垂直梯度可以基于不同的梯度滤波器(例如,简单的索贝尔滤波器)来计算。方程(15)表示一组方程:每个样点一个方程,该方程中可以计算一个单独的Gx、Gv和Porg-Ppred。在有两个未知参数Δx和Δy的情况下,可以通过最小化方程的误差平方和来解决超定问题(如(15)所示),如下所示
Figure BDA0004174948980000163
其中,Gt=Porg-Ppred。基于方程(16),可以推导(Δx,Δy)的闭式解为
Figure BDA0004174948980000164
Figure BDA0004174948980000171
基于方程(17),所提出的基于梯度的运动估计算法可以以递归的方式识别出最优运动细化(即,(Δx,Δy)*)。该基于梯度的运动估计算法首先生成当前块的初始预测信号,然后基于(17)计算对应的Δ运动(Δx,Δy)*;按照(MV′x,MV′y)=(MYx,MVy)+(Δx,Δy)计算的细化MV将被用作生成的新预测样点的运动,然后新预测样点将更新局部细化(Δx,Δy)*的值。重复上述操作,直至MV不被更新或达到最大迭代次数。具体地,上述过程总结为编码器处的以下过程:
·步骤1:令l=0,根据块的起始MV MV(l)生成初始预测信号P(l)。例如,起始MV可以是原始MV,也可以是计算出或获得的第一MV。
·步骤2:基于(17)计算运动细化(Δx,Δy),并且将块的MV更新为
Figure BDA0004174948980000172
Figure BDA0004174948980000173
和/>
Figure BDA0004174948980000174
·步骤3:如果Δx和Δy为零或l=lmax,则停止过程;否则,转到步骤4。
·步骤4:使用MV MV(l)更新预测信号P(l+1)
·步骤5:令l=l+1并转到步骤2。
如上文提出的基于梯度的运动估计算法可以在有或没有基于传统块匹配的运动估计方案的情况下在编码器中应用。在一种方法中,提出使用基于梯度的运动估计算法来代替整个块匹配运动估计。在另一种方法中,提出执行梯度运动估计和基于块匹配的运动估计两者,并且分别计算两种方法的R-D代价;R-D代价较小的方案所推导得到的MV将被选为块的最终MV。
图8示出了联合应用基于梯度的运动估计和基于块匹配的运动估计的运动估计的流程图。具体地,图8示出了流程图800,该流程图从步骤810开始,步骤812进行基于块匹配的运动估计,步骤814进行基于梯度的运动估计,步骤816比较,以及步骤818结束。流程图800从步骤810开始,并继续到步骤812和814。在步骤816中比较来自步骤812和814的信息,并且在步骤818中结束流程图。
图8示出了联合应用两种方法时的图。另外,当这两种方法都应用时,编码器侧的运动估计复杂度可能会显著增加。为了降低编码复杂度,在一种方法中,提出仅在一定运动精度下针对一个帧间CU的运动搜索启用基于梯度的运动估计。作为一个具体示例,在1/4像素、1/2像素和1像素MV精度的运动估计中启用基于梯度的运动估计,但在超过1像素MV精度时禁用。在另一种方法中,提出仅针对低延迟图片的运动估计启用基于梯度的运动估计,其中,低延迟图片是指图片的所有参考图片的图像顺序计数(picture order count,POC)小于当前图片的POC的一个图片。
图9示出了用于对视频信号进行编码的方法。例如,该方法可以应用于编码器。
在步骤910中,编码器获得与视频信号中的视频块相关联的第一运动矢量(MV)。例如,编码器基于当前视频块与其时间参考之间的运动量和运动方向来获得与视频块相关联的初始MV。
在步骤912中,编码器使用第一MV推导视频块的第一预测信号。
在步骤914中,编码器通过使用第一预测信号和第一MV以递归方式应用基于梯度的运动细化算法来识别最优MV。例如,编码器可以通过以递归方式使用基于梯度的运动细化算法来计算要被用作起始点的最优MV。在另一示例中,编码器可以使用与视频块相关联的第一MV作为起始MV。
在步骤916中,编码器基于最优MV来获得视频块的第二预测信号。
图10示出了用于对视频信号中的视频块进行编码的方法。例如,该方法可以应用于编码器。
在步骤1010中,编码器在编码器处维护CPMV库。CPMV库可以包括为先前已编码的视频块的参考列表中的不同参考图片确定的一组或多组CPMV。例如,维护CPMV库以存储先前已编码的仿射视频块的每个参考图片列表中的每个图片的最优CPMV。
在步骤1012中,编码器使用CPMV库为视频块的每个参考图片确定最优CPMV。例如,编码器可以将库中的附加CPMV候选与现有CPMV预测值一起用来确定仿射运动估计的最优CPMV。在另一示例中,编码器可以首先从CPMV库中选择最佳候选,然后通过局部仿射CPMV细化对该最佳候选进行细化,接下来,推导得到的CPMV将与通过使用默认CPMV预测值作为起始点的局部CPMV细化推导得到的CPMV竞争。
在步骤1014中,编码器通过包含视频块的一组最优CPMV来更新CPMV库。每个CPMV可以对应于视频块的参考图片,并且被用来替换MV库中的一个或多个现有CPMV组。
上述方法可以使用包括一个或多个电路的装置来实施,该一个或多个电路包括专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子部件。该装置可以将这些电路与用于执行上文描述的方法的其他硬件或软件部件结合使用。上文公开的每个模块、子模块、单元或子单元都可以使用该一个或多个电路来至少部分地实施。
考虑在此公开的公开内容的说明书和实践,本公开的其他示例对于本领域技术人员而言将是显而易见的。本申请旨在涵盖遵循其一般原则对公开内容进行的任何变形、使用或改编,包括在本领域中已知或惯用实践内与本公开的偏离。旨在将说明书和示例仅视为示例性的。
应理解的是,本公开不限于上文描述和附图中所图示的确切示例,并且可以在不脱离其范围的情况下进行各种修改和改变。
图11示出了与用户界面1160耦接的计算环境1110。计算环境1110可以是数据处理服务器的一部分。计算环境1110包括处理器1120、存储器1140以及I/O接口1150。
处理器1120通常控制计算环境1110的整体操作,比如与显示、数据获取、数据通信以及图像处理相关联的操作。处理器1120可以包括执行指令的一个或多个处理器,以执行上文描述的方法中的所有或一些步骤。而且,处理器1120可以包括促进处理器1120与其他部件之间的交互的一个或多个模块。处理器可以是中央处理单元(CPU)、微处理器、单片机、GPU等。
存储器1140被配置为存储各种类型的数据,以支持计算环境1110的操作。存储器1140可以包括预定软件1142。这种数据的示例包括用于在计算环境1110上操作的任何应用程序或方法的指令、视频数据集、图像数据等。存储器1140可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实施,比如静态随机存取存储器(SRAM)、电可擦可编程只读存储器(EEPROM)、可擦可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪速存储器、磁盘或光盘。
I/O接口1150提供处理器1120与外围接口模块(比如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1150可以与编码器和解码器耦接。
在一些实施例中,还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质包括多个程序,这些程序比如包括在存储器1140中、可由计算环境1110中的处理器1120执行、用于执行上文描述的方法。例如,该非暂态计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘、光学数据存储设备等。
该非暂态计算机可读存储介质中存储有用于由具有一个或多个处理器的计算设备执行的多个程序,其中,该多个程序在由该一个或多个处理器执行时使该计算设备执行上文所描述的用于运动预测的方法。
在一些实施例中,计算环境1110可以用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、微控制器、微处理器或其他电子部件来实施,以供执行上述方法。
已经出于说明目的呈现了对本公开的描述,并且该描述不旨在是穷举的或限于本公开。受益于前述描述和相关联附图中呈现的教导,许多修改、变形和替代性实施方式对于本领域普通技术人员将是显而易见的。
选择并描述示例以便解释本公开的原理,并且使本领域其他技术人员能够理解本公开的各种实施方式并且最好地利用基本原理以及具有适合于设想的特定用途的各种修改的各种实施方式。因此,应当理解,本公开的范围不应受限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在本公开的范围内。

Claims (18)

1.一种用于对视频信号进行编码的方法,包括:
获得与所述视频信号中的视频块相关联的第一运动矢量MV;
使用所述第一MV推导所述视频块的第一预测信号;
通过使用所述第一预测信号和所述第一MV以递归方式应用基于梯度的运动细化算法来识别最优MV;以及
基于所述最优MV来获得所述视频块的第二预测信号。
2.如权利要求1所述的方法,其中,通过使用所述第一预测信号和所述第一MV以所述递归方式应用所述基于梯度的运动细化算法来识别所述最优MV包括:
通过使用所述第一预测信号作为初始预测信号并使用所述第一MV作为初始MV、基于所述视频块中的预测样点的梯度迭代地推导所述视频块的MV的运动细化来确定所述最优MV。
3.如权利要求2所述的方法,其中,通过使用所述第一预测信号作为初始预测信号并使用所述第一MV作为初始MV、基于所述视频块中的预测样点的梯度迭代地推导所述视频块的MV的运动细化来确定所述最优MV包括:
基于所述第一预测信号中的预测样点的梯度推导运动细化;
通过将所述运动细化添加到所述视频块的所述第一MV来获得更新的MV;
响应于确定不满足停止条件,基于所述更新的MV来推导更新的预测信号,将所述更新的预测信号设置为所述第一预测信号,将所述更新的MV设置为所述第一MV,并且基于所述第一预测信号中的所述预测样点的梯度推导所述运动细化;以及
响应于确定满足停止条件,终止所述基于梯度的运动细化算法,并且将所述更新的MV确定为所述最优MV。
4.如权利要求3所述的方法,其中,所述停止条件基于水平梯度和垂直梯度的幅值等于或小于第一预设阈值。
5.如权利要求3所述的方法,其中,所述停止条件基于:基于梯度的运动细化的迭代次数达到第二预设阈值。
6.如权利要求2所述的方法,其中,所述运动细化包括水平运动细化和垂直运动细化,其中,所述预测样点的梯度包括预测样点与对应的原始样点之间的样点差、以及所述预测样点的水平梯度和垂直梯度,并且其中,基于所述视频块中的所述预测样点的梯度来推导所述视频块的所述MV的运动细化包括:
基于所述视频块中的所述预测样点的样点差、水平梯度和垂直梯度来获得所述水平运动细化;以及
基于所述视频块中的所述预测样点的样点差、垂直梯度和水平梯度来获得所述垂直运动细化。
7.如权利要求6所述的方法,进一步包括:
基于所述视频块中的每个预测样点处的样点差和水平梯度的乘积总和来推导第一相关参数;
基于所述视频块中的每个预测样点处的样点差和垂直梯度的乘积总和来推导第二相关参数;
基于所述视频块中的每个预测样点处的水平梯度和垂直梯度的乘积总和来推导第三相关参数;
分别基于所述视频块中的每个预测样点处的水平梯度的平方和以及所述视频块中的每个预测样点处的垂直梯度的平方和来推导第一二次参数和第二二次参数;
推导第一分子作为所述第一相关参数和所述第二二次参数的乘积与所述第二相关参数和所述第三相关参数的乘积之间的差;
推导第一分母作为第一参数的平方和第二参数的平方的乘积与第三相关参数的平方之间的差;
推导第二分子作为所述第二相关参数和所述第一二次参数的乘积与所述第一相关参数和所述第三相关参数的乘积之间的差;
推导第二分母作为所述第一参数的平方和所述第二参数的平方的乘积与所述第三相关参数的平方之间的差;
推导所述第一分子与所述第一分母之比作为所述水平运动细化;以及
推导所述第二分子与所述第二分母之比作为所述垂直运动细化。
8.如权利要求1所述的方法,其中,通过使用所述第一预测信号和所述第一MV以所述递归方式应用所述基于梯度的运动细化算法来识别所述最优MV包括:
基于所述基于梯度的运动细化算法来获得第一最优MV;
基于块匹配运动估计算法来获得第二最优MV;以及
从所述第一最优MV和所述第二最优MV中选择所述视频块的最优MV。
9.如权利要求8所述的方法,其中,从所述第一最优MV和所述第二最优MV中选择所述视频块的最优MV包括:
计算与所述第一最优MV相关联的率失真R-D代价;
计算所述第二最优MV的R-D代价;
基于所述第一MV的R-D代价小于所述第二MV的R-D代价来选择所述第一最优MV;以及
基于所述第二MV的R-D代价小于所述第一MV的R-D代价来选择所述第二最优MV。
10.一种用于对视频信号中的视频块进行编码的方法,包括:
在编码器处维护控制点运动矢量CPMV库,其中,所述CPMV库包括为先前编码视频块的参考列表中的不同参考图片确定的一组或多组CPMV;
使用所述CPMV库为所述视频块的每个参考图片确定最优CPMV;以及
通过包含所述视频块的一组最优CPMV来更新所述CPMV库,其中,每个CPMV对应于所述视频块的参考图片,并且被用来替换所述MV库中的一个或多个现有CPMV组。
11.如权利要求10所述的方法,其中,所述CPMV库中的每个元素包括所述视频块的位置、视频块大小、以及所述CPMV是与4参数仿射参数还是与6参数仿射参数相关联。
12.如权利要求10所述的方法,其中,更新所述CPMV库包括先进先出FIFO策略。
13.如权利要求10所述的方法,其中,使用所述CPMV库为所述视频块的每个参考图片确定所述最优CPMV包括:
生成CPMV候选列表,所述CPMV候选列表包括CPMV预测值以及与所述CPMV库中的所述参考图片相关联的元素;
计算所述列表中的每个元素的率失真R-D代价,并且选择使所述R-D代价最小化的CPMV作为起始点CPMV;以及
基于局部CPMV细化过程并基于所述起始点CPMV来推导所述最优CPMV。
14.如权利要求10所述的方法,其中,使用所述CPMV库为所述视频块的每个参考图片确定所述最优CPMV包括:
计算所述CPMV库中的每个元素的率失真R-D代价,并且选择使所述R-D代价最小化的CPMV作为第一起始点CPMV;
基于局部CPMV细化过程使用所述第一起始点CPMV来推导第一最优CPMV;
获得CPMV预测值作为第二起始点CPMV;
基于相同的局部CPMV细化过程使用所述第二起始点CPMV来推导第二最优CPMV;以及
从所述第一最优CPMV和所述第二CPMV中选择使所述R-D代价最小化的最优CPMV。
15.一种计算设备,包括:
一个或多个处理器;以及
非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有能够由所述一个或多个处理器执行的指令,其中,所述一个或多个处理器被配置为执行权利要求1至9中任一项所述的方法。
16.一种计算设备,包括:
一个或多个处理器;以及
非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有能够由所述一个或多个处理器执行的指令,其中,所述一个或多个处理器被配置为执行权利要求10至14中任一项所述的方法。
17.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有用于由具有一个或多个处理器的计算设备执行的多个程序,其中,所述多个程序在由所述一个或多个处理器执行时,使所述计算设备执行如权利要求1至9中任一项所述的方法。
18.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有用于由具有一个或多个处理器的计算设备执行的多个程序,其中,所述多个程序在由所述一个或多个处理器执行时,使所述计算设备执行如权利要求10至14中任一项所述的方法。
CN202180070063.2A 2020-10-15 2021-10-15 用于帧间编解码的增强型运动估计 Pending CN116368799A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063092469P 2020-10-15 2020-10-15
US63/092,469 2020-10-15
PCT/US2021/055291 WO2022082053A1 (en) 2020-10-15 2021-10-15 Enhanced motion estimation for inter coding

Publications (1)

Publication Number Publication Date
CN116368799A true CN116368799A (zh) 2023-06-30

Family

ID=81209365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180070063.2A Pending CN116368799A (zh) 2020-10-15 2021-10-15 用于帧间编解码的增强型运动估计

Country Status (4)

Country Link
US (1) US20230254501A1 (zh)
EP (1) EP4222962A4 (zh)
CN (1) CN116368799A (zh)
WO (1) WO2022082053A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024008123A1 (en) * 2022-07-05 2024-01-11 Alibaba Damo (Hangzhou) Technology Co., Ltd. Decoder-side motion vector refinement for affine motion compensation
CN115190299B (zh) * 2022-07-11 2023-02-28 杭州电子科技大学 Vvc仿射运动估计快速计算方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2514334B (en) * 2013-05-13 2020-04-22 Snell Advanced Media Ltd Video processing
US10805630B2 (en) * 2017-04-28 2020-10-13 Qualcomm Incorporated Gradient based matching for motion search and derivation
US11146810B2 (en) * 2018-11-27 2021-10-12 Qualcomm Incorporated Decoder-side motion vector refinement
US11153590B2 (en) * 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
AU2020219836A1 (en) * 2019-02-07 2021-08-26 Vid Scale, Inc. Systems, apparatus and methods for inter prediction refinement with optical flow

Also Published As

Publication number Publication date
WO2022082053A1 (en) 2022-04-21
EP4222962A4 (en) 2024-03-20
US20230254501A1 (en) 2023-08-10
EP4222962A1 (en) 2023-08-09

Similar Documents

Publication Publication Date Title
JP7358436B2 (ja) マルチリファレンス予測のための動きベクトルの精密化
CN112868240B (zh) 并置的局部照明补偿和修改的帧间预测编解码
CN114339237B (zh) 用于视频编码的方法和电子设备
US20240098289A1 (en) Method and apparatus for encoding/decoding image
US20220210439A1 (en) Method and Apparatus of Simplified Affine Subblock Process for Video Coding System
US20230254501A1 (en) Enhanced motion estimation for inter coding
CN110832854A (zh) 利用插值进行帧内预测的方法和装置
EP3977741A1 (en) Methods and apparatus for signaling symmetrical motion vector difference mode
CN114128263A (zh) 用于视频编解码中的自适应运动矢量分辨率的方法和设备
JP2023063506A (ja) 構築されたアフィンマージ候補を導出する方法
WO2020049512A1 (en) Two-step inter prediction
CN113273208A (zh) 仿射预测模式的改进
TWI830334B (zh) 視頻編解碼系統中低延遲模板匹配的方法和裝置
KR102173576B1 (ko) 인터 예측 방법 및 그 장치
JP7210707B2 (ja) ビデオシーケンスの画像をコーディングするための方法および装置、ならびに端末デバイス
CN116158079A (zh) 用于视频编解码的加权ac预测
CN117321990A (zh) 具有运动矢量细化的几何分区模式
KR20140068741A (ko) 영상 부호화 방법 및 장치

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