CN116896640A - 视频编解码方法及相关装置 - Google Patents

视频编解码方法及相关装置 Download PDF

Info

Publication number
CN116896640A
CN116896640A CN202310379836.6A CN202310379836A CN116896640A CN 116896640 A CN116896640 A CN 116896640A CN 202310379836 A CN202310379836 A CN 202310379836A CN 116896640 A CN116896640 A CN 116896640A
Authority
CN
China
Prior art keywords
block
sub
current block
inter prediction
current
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
CN202310379836.6A
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.)
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
Publication of CN116896640A publication Critical patent/CN116896640A/zh
Pending legal-status Critical Current

Links

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/583Motion compensation with overlapping 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/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/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/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/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

Landscapes

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

Abstract

本发明提供一种视频编解码方法及相关装置。视频编解码方法包括接收与当前块相关联的输入数据,其中,输入数据包括编码器侧待编码的当前块的像素数据或解码器侧与待解码的当前块相关联的编码数据;从当前块的一组帧间预测编解码工具中确定一帧间预测工具;基于与为当前块选择的帧间预测工具或邻近块的帧间预测工具相关的信息来确定当前块的OBMC子块大小;以及根据OBMC子块大小,将子块OBMC应用于当前块的邻近子块和当前子块之间的子块边界。本发明的视频编解码方法及相关装置可以节省比特率或降低解码器复杂度。

Description

视频编解码方法及相关装置
【技术领域】
本发明涉及视频编解码***。更具体地,本发明涉及视频编解码***中的重迭块运动补偿(Overlapped Block Motion Compensation,简写为OBMC),其使用具有子块处理的各种帧间预测编解码工具。
【背景技术】
通用视频编解码(versatile video coding,简写为VVC)是由ITU-T视频编解码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)的联合视频专家组(JVET)共同制定的最新国际视频编解码标准。该标准已作为ISO标准发布:ISO/IEC 23090-3:2021,Informationtechnology-Coded representation of immersive media-Part 3:Versatile VideoCoding,2021年2月发布。VVC是在其前身HEVC(High Efficiency Video Coding)的基础上通过添加更多的编解码工具来提高编解码效率,也可以处理各种类型的视频源,包括3维(3-dimensional,简写为3D)视频信号。
图1A说明了包含环路处理(loop processing)的示例性自适应帧间/帧内(adaptive Inter/Intra)视频编码***。对于帧内预测,预测数据是根据当前图片中先前编解码的视频数据导出的。对于帧间预测112,在编码器侧执行运动估计(MotionEstimation,简写为ME)并且基于ME的结果执行运动补偿(Motion Compensation,简写为MC)以提供从其他图片和运动数据导出的预测数据。开关114选择帧内预测110或帧间预测112并且所选择的预测数据被提供给加法器116以形成预测误差,也称为残差。预测误差然后由变换(T)118和随后的量化(Q)120处理。变换和量化的残差然后由熵编码器122编码以包括在对应于压缩的视频数据的视频比特流中。与变换系数相关联的比特流然后与辅助信息(side information)(例如与帧内预测和帧间预测相关联的运动和编解码模式)以及其他信息(例如与应用于底层图像区域(underlying image area)的环路滤波器相关联的参数)一起打包。与帧内预测110、帧间预测112和环内滤波器130相关联的辅助信息被提供给熵编码器122,如图1A所示。当使用帧间预测模式时,也必须在编码器端重建一个或多个参考图片。因此,经变换和量化的残差由逆量化(IQ)124和逆变换(IT)126处理以恢复残差。然后在重建(REC)128处将残差加回到预测数据136以重建视频数据。重建的视频数据可以存储在参考图片缓冲器134中并用于预测其他帧。
如图1A所示,输入的视频数据在编码***中经过一系列处理。由于一系列处理,来自REC 128的重建的视频数据可能会受到各种损害。因此,环路滤波器130经常在重建的视频数据被存储在参考图片缓冲器134中之前应用于重建的视频数据以提高视频品质。例如,可以使用去块滤波器(deblocking filter,简写为DF)、样本自适应偏移(Sample AdaptiveOffset,简写为SAO)和自适应环路滤波器(Adaptive Loop Filter,简写为ALF)。可能需要将环路滤波器信息合并到比特流中,以便解码器可以正确地恢复所需的信息。因此,环路滤波器信息也被提供给熵编码器122以合并到比特流中。在图1A中,在重建的样本被存储在参考图片缓冲器134中之前环路滤波器130被应用于重建的视频。图1A中的***旨在说明典型的视频编码器的示例性结构。它可以对应于高效视频编解码(HEVC)***、VP8、VP9、H.264或VVC。
如图1B所示,解码器可以使用与编码器相似或相同的功能块,除了变换118和量化120之外,因为解码器只需要逆量化124和逆变换126。取代熵编码器122,解码器使用熵解码器140将视频比特流解码为量化的变换系数和所需的编解码信息(例如ILPF信息、帧内预测信息和帧间预测信息)。解码器侧的帧内预测150不需要执行模式搜索。相反,解码器仅需要根据从熵解码器140接收的帧内预测信息生成帧内预测。此外,对于帧间预测,解码器仅需要根据从熵解码器接收的帧间预测信息执行运动补偿(MC 152)140而无需运动估计。
根据VVC,类似于HEVC,输入图片被分区(partition)为称为CTU(编解码树单元)的非重迭方形块区域(non-overlapped square block region)。每个CTU都可以划分为一个或多个较小尺寸的编解码单元(CU)。生成的CU分区可以是正方形或长方形。此外,VVC将CTU划分为预测单元(PU),作为应用预测处理(例如帧间预测、帧内预测等)的单元。
VVC标准合并了各种新的编解码工具以进一步提高超过HEVC标准的编解码效率。此外,已经提出了各种新的编解码工具,以供在VVC之外的新编解码标准的开发中考虑。在各种新的编解码工具中,本发明提供了一些建议的方法来改进这些编解码工具中的一些。
【发明内容】
本发明提供一种视频编解码方法及相关装置。
本发明提供一种视频编解码方法,包括接收与当前块相关联的输入数据,其中,输入数据包括编码器侧待编码的当前块的像素数据或解码器侧与待解码的当前块相关联的编码数据;从当前块的一组帧间预测编解码工具中确定一帧间预测工具;基于与为当前块选择的帧间预测工具或邻近块的帧间预测工具相关的信息来确定当前块的OBMC子块大小;以及根据OBMC子块大小,将子块OBMC应用于当前块的邻近子块和当前子块之间的子块边界。
本发明还提供一种用于视频编解码的装置,装置包括一个或多个电子设备或处理器,用于:接收与当前块相关联的输入数据,其中,输入数据包括编码器侧待编码的当前块的像素数据或解码器侧与待解码的当前块相关联的编码数据;从当前块的一组帧间预测编解码工具中确定一帧间预测工具;基于与为当前块选择的帧间预测工具或邻近块的帧间预测工具相关的信息来确定当前块的OBMC子块大小;以及根据OBMC子块大小,将子块OBMC应用于当前块的邻近子块和当前子块之间的子块边界。
本发明的视频编解码方法及相关装置可以节省比特率或降低解码器复杂度。
在阅读了在各种图表和图形中所图示的优选实施例的下述详细说明书之后,本发明的这些和其他目的对本领域技术人员来说无疑将变得明显。
【附图说明】
包括附图以提供对本公开的进一步理解,并且附图被并入本公开并构成本公开的一部分。附图示出了本公开的实施方式,并且与描述一起用于解释本公开的原理。可以理解的是,附图不一定按比例绘制,因为为了清楚地说明本公开的概念,某些组件可能被显示为与实际实现中的尺寸不成比例。
图1A说明了包含环路处理(loop processing)的示例性自适应帧间/帧内(adaptive Inter/Intra)视频编码***。
图1B示出了图1A中的编码器的相应解码器。
图2图示了几何分区的重迭运动补偿的示例。
图3A-B示了用于2NxN(图3A)和Nx2N块(图3B)的OBMC的示例。
图4A图示了应用OBMC的子块的示例,其中该示例包括在CU/PU边界处的子块。
图4B示出了应用OBMC的子块的示例,该示例包括以AMVP模式编解码的子块。
图5示出了针对当前块使用上方和左侧相邻块的OBMC处理的示例。
图6A示出了使用来自右侧和底部的相邻块对当前块的右侧和底部部分进行OBMC处理的示例。
图6B示出了使用来自右、下和右下的相邻块对当前块的右侧和下方部分进行OBMC处理的示例。
图7图示了解码侧运动矢量细化的示例。
图8A示出了基于4参数仿射运动的控制点的示例。
图8B示出了基于6参数仿射运动的控制点的示例。
图9示出了基于仿射运动模型为当前块的4x4子块推导运动矢量的示例。
图10示出了用于继承仿射模型的运动信息的相邻块的示例。
图11图示了从当前块的左侧子块继承用于仿射模型的运动信息的示例。
图12示出了通过组合每个控制点的邻***移运动信息构造的仿射候选的示例。
图13示出了通过组合每个控制点的相邻平移运动信息来构造的仿射候选的运动矢量使用的示例。
图14示出了仿射模式的利用光流的预测细化的示例。
图15A图示了VVC中基于子块的时间运动矢量预测(SbTMVP)的示例,其中检查空间相邻块以获得运动信息的可用性。
图15B图示了用于通过应用来自空间邻近的运动偏移并且缩放来自对应并置的子CU的运动信息来导出子CU运动场域的SbTMVP的示例。
图16示出了根据本发明的实施例的视频编解码***中的示例性重迭块运动补偿(OBMC)处理的流程图。
【具体实施方式】
将容易理解的是,如本文附图中大体描述和图示的本发明的组件可以以多种不同的配置来布置和设计。因此,以下对如图所示的本发明的***和方法的实施例的更详细描述并不旨在限制所要求保护的本发明的范围,而仅代表本发明的选定实施例。贯穿本说明书对“一个实施例”、“一实施例”或类似语言的引用意味着结合该实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。因此,贯穿本说明书各处出现的短语“在一个实施例中”或“在一实施例中”不一定都指代相同的实施例。
此外,所描述的特征、结构或特性可以以任何合适的方式组合在一个或多个实施例中。然而,相关领域的技术人员将认识到,本发明可以在没有一个或多个特定细节的情况下实践,或使用其他方法、组件等来实践。在其他情况下,未显示或未显示众所周知的结构或操作详细描述以避免模糊本发明的方面。参考附图将最好地理解本发明的所示实施例,其中相同的部分自始至终由相同的数字表示。下面的描述仅旨在作为示例,并且简单地说明与如本文要求保护的本发明一致的设备和方法的某些选定实施例。
重迭块运动补偿(Overlapped Block Motion Compensation,简写为OBMC)
重迭块运动补偿(OBMC)基于从其附近的块运动矢量(MV)导出的运动补偿的(motion-compensated)信号来找到像素强度值的线性最小均方误差(Linear MinimumMean Squared Error,简写为LMMSE)估计。从理论估计(estimation-theoretic)的角度来看,这些MV被视为其真实运动的不同合理假设(plausible hypotheses),并且为了最大化编解码效率,它们的权重应该最小化受单位增益约束的均方预测误差。
当开发出高效视频编解码(HEVC)时,提出了使用OBMC来提供编解码增益的若干提议。其中一些描述如下。
在JCTVC-C251(Peisong Chen等人,“Overlapped block motion compensationin TMuC”,ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的视频编解码联合协作组(JCT-VC),第3次会议:中国,广州,2010年10月7-15日,文件:JCTVC-C251),OBMC应用于几何分区。在几何分区中,一个变换块很可能包含属于不同分区的像素。在几何分区中,由于使用两个不同的运动矢量进行运动补偿,因此分区边界处的像素可能具有较大的不连续性,从而产生类似于块效应的视觉伪影。这反过来又降低了变换效率。几何分区创建的两个区域用区域1和区域2表示。来自区域1(2)的像素被定义为边界像素(boundary pixel),如果它的四个相邻邻近(connected neighbor)(左、上、右和下)中的任何一个属于区域2(1)。图2显示了一个示例,其中灰色点像素属于区域1(灰色区域)的边界,白色点像素属于区域2(白色区域)的边界。如果像素是边界像素,则使用来自两个运动矢量的运动预测的加权和来执行运动补偿。对于使用包含边界像素的区域的运动矢量的预测,权重是3/4,对于使用其他区域的运动矢量的预测,权重是1/4。重迭边界改善了重建视频的视觉品质,同时还提供了BD速率增益。
在JCTVC-F299(Liwei Guo等人,“CE2:Overlapped Block Motion Compensationfor 2NxN and Nx2N Motion Partitions”,ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11视频编解码联合协作组(JCT-VC),第6次会议:都灵,2011年7月14-22日,文件:JCTVC-F299),OBMC应用于对称的运动分区(symmetrical motion partition)。如果编解码单元(CU)被划分为2个2NxN或Nx2N预测单元(PU),则OBMC应用于两个2NxN预测块的水平边界和两个Nx2N预测块的垂直边界。由于这些分区可能具有不同的运动矢量,因此分区边界处的像素可能具有较大的不连续性,这可能会产生视觉伪影并且还会降低变换/编解码效率。在JCTVC-F299中,引入了OBMC来平滑运动分区的边界。
图3A-B图示了用于2NxN(图3A)和Nx2N块(图3B)的OBMC的示例。灰色像素是属于分区0的像素,白色像素是属于分区1的像素。亮度分量中的重迭区域定义为水平(垂直)边界两侧的2行(row)(列(column))像素。对于距离分区边界1行(列)的像素,即图3A-B中标记为A的像素,OBMC加权因子为(3/4,1/4)。对于距分区边界2行(列)的像素,即图3A-B中标记为B的像素,OBMC加权因子为(7/8,1/8)。对于色度分量,重迭区域定义为水平(垂直)边界每一侧的1行(列)像素,权重因子为(3/4,1/4)。
目前,OBMC是在一般MC之后进行的,BIO也分别应用在这两个MC过程中。也就是说,两个CU或PU之间的重迭区域的MC结果是由另一个进程,而不是在一般的MC进程中生成的。然后应用双向光流(Bi-Directional Optical Flow,简写为BIO)来改进这两个MC结果。当两个相邻的MV相同时,这有助于跳过冗余的OBMC和BIO过程。但是,与将OBMC过程集成到一般MC过程中相比,重迭区域所需的带宽和MC操作增加了。例如,当前PU大小为16x8,重迭区域为16x2,MC中的插值滤波器(interpolation filter)为8抽头(8-tap)。如果OBMC在一般MC之后执行,那么对于当前PU和相关OBMC,每个参考列表我们需要(16+7)x(8+7)+(16+7)x(2+7)=552个参考像素。如果OBMC操作与普通MC合并为一个阶段,则当前PU和相关OBMC的每个参考列表只有(16+7)x(8+2+7)=391个参考像素。因此,在下文中,为了降低BIO的计算复杂度或存储器带宽,当BIO和OBMC同时启用时,提出了几种方法。
在JEM(联合探索模型)中,OBMC也被应用。在JEM中,与H.263不同,OBMC可以使用CU级别的句法打开和关闭。当在JEM中使用OBMC时,OBMC对除CU的右边界和下边界之外的所有运动补偿(MC)块边界执行。此外,它适用于亮度和色度分量。在JEM中,一个MC块对应一个编解码块。当CU采用子CU模式(包括子CU合并、仿射和FRUC模式)编解码时,CU的每个子块都是一个MC块。为了以统一的方式处理CU边界,OBMC在子块级别对所有MC块边界执行,其中子块大小设置为4×4,如图4A-B所示。
当OBMC被应用到当前子块时,除了当前运动矢量之外,四个相连的邻近子块的运动矢量(如果可用且与当前运动矢量不相同),也被用于导出当前子块的预测块。这些基于多个运动矢量的多个预测块被组合以生成当前子块的最终预测信号。基于相邻子块的运动矢量的预测块记为PN,N表示邻近上、下、左、右子块的索引,基于当前子块的运动矢量的预测块表示为PC。图4A示出了当前CU 410的子块的OBMC的示例,其使用邻近的上方子块(即,当前子块为PN1时)、左侧邻近子块(即,当前子块为PN2时)、左侧和上方子块(即,当前子块为PN3时)。图4B图示了用于ATMVP模式的OBMC的示例,其中块PN使用来自四个邻近子块的MV用于OBMC。当PN基于包含与当前子块相同的运动信息的邻近子块的运动信息时,不从PN执行OBMC。否则,将PN的每个样本添加到PC中的相同样本,即PN的四行/列添加到PC。权重因子{1/4、1/8、1/16、1/32}用于PN,权重因子{3/4、7/8、15/16、31/32}用于PC。小MC块(即,当编解码块的高度或宽度等于4或CU以子CU模式编解码时)是例外情况,PN只有两行/列被添加到PC。在这种情况下,权重因子{1/4,1/8}用于PN,权重因子{3/4,7/8}用于PC。对于基于垂直(水平)邻近子块的运动矢量生成的PN,将PN同一行(列)的样本以相同的权重因子添加到PC。
在JEM中,对于大小小于或等于256个亮度样本的CU,发送CU级别标志(CU levelflag)以指示是否将OBMC应用于当前CU。对于大小大于256个亮度样本或未使用AMVP模式编解码的CU,默认应用OBMC。在编码器,当OBMC应用于CU时,其影响在运动估计阶段被考虑在内。OBMC利用顶部邻近块和左侧邻近块的运动信息形成的预测信号用于补偿当前CU的原始信号的顶部和左侧边界,然后应用一般运动估计过程。
在用于VVC开发的联合探索模型(Joint Exploration Model for VVCdevelopment,简写为JEM)中,应用了OBMC。例如,如图5所示,对于当前块510,如果上方的块和左侧的块采用帧间模式编解码,则取上方块的MV生成OBMC块A,取左侧块的MV左块生成OBMC块L。OBMC块A和OBMC块L的预测子与当前预测子混合(blend)。为了减少OBMC的存储器带宽,建议执行上方的4行MC,左侧4列的MC以及邻近的块。比如在执行上方的块MC的时候,额外取出4行生成一个(上方块+OBMC块A)(above block+OBMC block A)的块。OBMC块A的预测子存储在缓冲器中,用于对当前块进行编解码。在执行左侧块MC的时候,额外取出4列,生成一个(左侧块+OBMC块L)(left block+OBMC block L)的块。OBMC块L的预测子存储在缓冲器中,用于对当前块进行编解码。因此,在对当前块进行MC时,额外取出四行和四列参考像素,生成当前块的预测子、OBMC块B和OBMC块R,如图6A所示(可能还生成如图6B所示的OBMC块BR)。OBMC块B和OBMC块R存储在缓冲器中,用于底部邻近块和右邻近块的OBMC处理。
对于MxN块,如果MV不是整数并且应用了8抽头插值滤波器,则使用大小为(M+7)x(N+7)的参考块来进行运动补偿。但是,如果应用BIO和OBMC,则需要额外的参考像素,这会增加最坏情况下的存储器带宽。
有两种不同的方案来实现OBMC。
在第一种方案中,OBMC块是在对每个块进行运动补偿时预先生成的。这些OBMC块将存储在本地缓冲器中用于邻近块。在第二种方案中,在进行OBMC时,OBMC块是在每个块的混合处理之前生成的。
在这两种方案中,提出了几种方法来降低计算复杂度,特别是对于插值滤波,以及OBMC的额外带宽需求。
VVC中解码器侧运动矢量细化(Decoder Side Motion Vector Refinement,简写为DMVR)
为了增加合并模式的MV的准确性,在VVC中应用基于双边匹配(bilateral-matching,简写为BM)的解码器侧运动矢量细化。在双预测操作中,针对当前块720和当前图片710在参考图片列表L0 712和参考图片列表L1 714中的初始MV(732和734)周围搜索细化的MV。L0和L1中并置的(collocated)块722和724是根据初始MV 732和734)和当前块720在当前图片中的位置确定的,如图7所示。BM方法计算参考图片列表L0和列表L1中两个候选块(742和744)之间的失真。通过将两个相反的偏移量(762和764)添加到两个初始MV(732和734)来导出两个候选MV(752和754)来确定两个候选块(742和744)的位置。如图7所示,计算基于初始MV(732或734)周围的每个MV候选的候选块(742和744)之间的SAD。具有最低SAD的MV候选(752或754)成为细化的MV并用于生成双向预测的信号。
在VVC中,DMVR的应用受到限制,仅适用于以以下模式和特征编解码的CU:
–具有双向预测MV的CU级合并模式
–相对于当前图片的一张参考图片是过去的,另一张参考图片是未来的
–两张参考图片到当前图片的距离(即POC差(POC difference))相同
–两个参考图片都是短期(short-term)参考图片
–CU有超过64个亮度样本
–CU高度和CU宽度均大于或等于8个亮度样本
–BCW权重指数指示相等权重
–当前块未启用WP
–当前块不使用CIIP模式
通过DMVR过程导出的细化的MV用于生成帧间预测样本,并且还用于未来图片编解码的时间运动矢量预测。而原始MV用于去块过程,也用于未来CU编解码的空间运动矢量预测。
DMVR的附加特征在以下子条款中提及。
DMVR搜索方案(DMVR Searching Scheme)
在DMVR中,搜索点(search point)围绕初始MV并且MV偏移服从MV差异镜像规则(MV difference mirroring rule)。换句话说,任意搜索点由DMVR程序所检查过,表示为候选MV对(MV0,MV1),遵循以下两个等式:
MV0′=MV0+MV_offset, (1)
MV1′=MV1-MV_offset. (2)
其中MV_offset表示参考图片之一中初始MV和细化的MV之间的细化偏移量(refinement offset)。细化搜索范围(refinement search range)是来自初始MV的两个整数亮度样本。搜索包括整数样本偏移搜索阶段和分数样本细化阶段。
二十五(25)点全搜索(full search)应用于整数样本偏移(integer sampleoffset)搜索。首先计算初始MV对的SAD。如果初始MV对的SAD小于阈值,则DMVR的整数样本阶段终止。否则,按照光栅扫描顺序计算并检查剩余24个点的SAD。选择具有最小SAD的点作为整数样本偏移搜索阶段的输出。为了减少DMVR细化的不确定性的代价,建议在DMVR过程中有利(favour)于原始MV。初始MV候选引用的参考块之间的SAD减少了1/4SAD值。
整数样本搜索之后是分数样本细化(fractional sample refinement)。为了节省计算复杂性,分数样本细化是通过使用参数误差曲面方程(parametric error surfaceequation)推导的,而不是使用SAD比较进行额外搜索。根据整数样本搜索阶段的输出,有条件地调用分数样本细化。当整数样本搜索阶段在第一次迭代或第二次迭代搜索中以具有最小SAD的中心终止时,进一步应用分数样本细化。
在基于参数误差曲面(parametric error surface based)的子像素偏移估计(sub-pixel offsets estimation)中,中心位置成本和距中心的四个邻近位置处的成本用于拟合以下形式的二维抛物线误差曲面形式方程(2-D parabolic error surfaceequation)
E(x,y)=A(x-xmin)2+B(y-ymin)2+C, (3)
其中(xmin,ymin)对应于成本最低的分数字置,C对应于最小成本值。通过使用五个搜索点的成本值求解上述等式,the(xmin,ymin)计算如下:
xmin=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0))), (4)
ymin=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0))). (5)
xmin和ymin的值自动限制在-8和8之间,因为所有成本值都是正的并且最小值是E(0,0)。这对应于VVC中具有1/16像素MV精度的半峰值偏移。将计算出的分数(xmin,ymin)添加到整数距离细化MV以获得子像素精确细化增量MV。
双线性插值和样本填充
在VVC中,MV的分辨率是1/16亮度样本。使用8抽头插值滤波器对分数字置的样本进行插值。在DMVR中,搜索点围绕具有整数样本偏移的初始分数像素MV,因此需要对这些分数字置的样本进行插值以进行DMVR搜索过程。为了降低计算复杂度,双线性插值滤波器用于生成分数样本,用于DMVR中的搜索过程。另一个重要的影响是通过使用具有2个样本搜索范围的双线性滤波器,与一般的运动补偿过程相比,DVMR不会访问更多的参考样本。在通过DMVR搜索过程获得细化的MV后,应用一般的8抽头插值滤波器生成最终预测。为了不访问比一般MC过程更多的参考样本,基于原始MV的插值过程不需要但基于细化的MV的插值过程需要的样本将从这些可用样本中填充。
当CU的宽度和/或高度大于16个亮度样本时,它将进一步拆分为宽度和/或高度等于16个亮度样本的子块。DMVR搜索过程的最大单元大小限制为16x16。
VVC中的仿射运动补偿的预测(Affine Motion Compensated Prediction)
在HEVC中,仅平移运动模型(translation motion model)被应用于运动补偿预测(MCP)。而在现实世界中,有很多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,应用基于块的仿射变换运动补偿预测。如第8A-B图所示,块的仿射运动场域(affine motion field)由图8A中当前块810的两个控制点(4参数)的运动信息或图8B中当前块820的三个控制点运动矢量(6参数)描述。
对于4参数仿射运动模型,块中样本位置(x,y)处的运动矢量被导出为:
对于6参数仿射运动模型,块中样本位置(x,y)处的运动矢量被导出为:
其中(mv0x,mv0y)左上角控制点的运动矢量,(mv1x,mv1y)为右上角控制点的运动矢量,而(mv2x,mv2y)为左下角控制点的运动矢量。
为了简化运动补偿预测,应用基于块的仿射变换预测。为了导出每个4×4亮度子块的运动矢量,根据上述等式计算每个子块的中心样本的运动矢量,如图9所示,并四舍五入到1/16分数精度。然后应用运动补偿插值滤波器以生成具有导出的运动矢量的每个子块的预测。色度分量的子块大小也设置为4×4。4×4色度子块的MV计算为并置的8x8亮度区域中左上角和右下角亮度子块的MV的平均值。
如对平移运动帧间预测所做的那样,还有两种仿射运动帧间预测模式:仿射合并模式和仿射AMVP模式。
仿射合并预测(Affine merge prediction)
AF_MERGE(即,仿射合并)模式可以应用于宽度和高度都大于或等于8的CU。在该模式中,当前CU的CPMV是基于空间邻近CU的运动信息生成的。最多可以有五个CPMVP候选,并且发信索引来指示要用于当前CU的那个。使用以下三种CPMV候选构成仿射合并候选列表:
–从邻近CU的CPMV推断出的继承的仿射合并候选
–使用邻近CU的平移MV导出的构造的仿射合并候选CPMVP
–零MV
在VVC中,最多有两个继承的仿射候选,它们自邻近块的仿射运动模型导出,一个来自左邻近CU,一个来自上方邻近CU。候选块如图10所示。对于左预测子,扫描顺序为A0->A1,对于上方预测子,扫描顺序为B0->B1->B2。仅选择每一方的第一个继承的候选。在两个继承的候选之间不执行修剪检查(pruning check)。当识别出邻近的仿射CU时,其控制点运动矢量用于导出当前CU的仿射合并列表中的CPMVP候选。如图11所示,如果当前CU 1110的邻近左下角块A以仿射模式编解码,则得到包含块A的CU 1120的左上角、右上角和左下角的运动矢量v2、v3和v4。当块A采用4参数仿射模型编解码时,根据v2、v3计算当前CU的两个CPMV。在块A采用6参数仿射模型编解码的情况下,根据v2、v3和v44计算当前CU的三个CPMV。
构造的仿射候选是指通过结合每个控制点的邻***移运动信息(neighbortranslational motion information)来构造候选。如图12所示,控制点的运动信息是从当前块1210的指定空间相邻和时间相邻导出的。CPMVk(k=1,2,3,4)表示第k个控制点。对于CPMV1,B2->B3->A2块的顺序检查,并使用第一个可用块的MV。对于CPMV2,按照B1->B0块的顺序检查,对于CPMV3,按照A1->A0块的顺序检查。如果TMVP可用,则将其用作CPMV4。
在获得四个控制点的MV后,基于这些控制点的运动信息构建仿射合并候选。以下控制点MV的组合用于按顺序构建:
{CPMV1,CPMV2,CPMV3},{CPMV1,CPMV2,CPMV4},{CPMV1,CPMV3,
CPMV4},{CPMV2,CPMV3,CPMV4},{CPMV1,CPMV2},{CPMV1,CPMV3}
三个CPMV的组合构建了一个6参数仿射合并候选,并且两个CPMV的组合构建了一个4参数仿射合并候选。为了避免运动缩放过程,如果控制点的参考索引不同,则丢弃控制点MV的相关组合。
在检查了继承的仿射合并候选和构造的仿射合并候选之后,如果列表仍未满,则将零MV(zero MVs)***到列表的末尾。
仿射AMVP预测
仿射AMVP模式可以应用于宽度和高度都大于或等于16的CU。在比特流中发送CU级的仿射标志以指示是否使用仿射AMVP模式,然后发送另一个标志以指示是4参数仿射还是6参数仿射。在这种模式下,在比特流中发信当前CU的CPMV与其预测子CPMVP的差异。仿射AVMP候选列表大小为2,由以下四种CPMV候选依次生成:
–从邻近CU的CPMV推断出的继承的仿射AMVP候选
–使用邻近CU的平移MV导出的构建的仿射AMVP候选CPMVP
–来自邻近CU的平移MV
–零MV(Zero MVs)
继承的仿射AMVP候选的检查顺序与继承的仿射合并候选的检查顺序相同。唯一的区别是,对于AVMP候选,仅考虑具有与当前块中相同参考图片的仿射CU。将继承的仿射运动预测子***候选列表时,不应用修剪过程。
构造的AMVP候选是从图12中所示的指定空间邻近导出的。使用与仿射合并候选构建中相同的检查顺序。此外,还检查邻近块的参考图片索引。使用检查顺序中的第一个块,该块被帧间编解码并且具有与当前CU中相同的参考图片。当当前CU采用4参数仿射模式编解码,并且mv0和mv1都可用时,将它们作为一个候选添加到仿射AMVP列表中。当当前CU使用6参数仿射模式编解码,并且所有三个CPMV都可用时,它们将作为一个候选添加到仿射AMVP列表中。否则,将构造的AMVP候选设置为不可用。
如果***有效的继承的仿射AMVP候选和构造的AMVP候选后,仿射AMVP列表候选仍然小于2,将依次添加mv0、mv1和mv2,作为平移MV,用于预测当前CU的所有控制点MV(如果可用)。最后,如果仿射AMVP列表仍未满,则使用零MV来填充它。
仿射运动信息存储
在VVC中,仿射CU的CPMV存储在单独的缓冲器中。存储的CPMV仅用于在仿射合并模式和仿射AMVP模式下生成继承的CPMVP用于最近编解码的CU。从CPMV导出的子块MV用于运动补偿、平移MV中的合并列表或是AMVP列表以及去方块滤波器。
为了避免图片行缓冲器用于额外的CPMV,相对于一般的邻近CU继承的仿射运动数据,从上方CTU的CU继承的仿射运动数据会被差异化对待。如果用于仿射运动数据继承的候选CU在上方CTU行中,则行缓冲器(line buffer)中的左下和右下子块MV(而不是CPMV)用于仿射MVP推导。这样,CPMV仅存储在本地缓冲器中。如果候选CU是6参数仿射编解码的,则仿射模型退化(degraded)为4参数模型。如图13所示,沿顶部CTU边界,CU的左下和右下子块运动矢量用于底部CTU中CU的仿射继承。在图13中,行(line)1310和行1312表示左上角为原点(0,0)的图片的x和y坐标。图例1320显示了各种运动矢量的含义,其中箭头1322表示局部缓冲器(local buff)中用于仿射继承的CPMV,箭头1324表示用于局部缓冲器中的MC/合并/跳过(skip)/AMVP/去块(deblocking)/TMVP和行缓冲器中的仿射继承的子块矢量,箭头1326代表用于MC/合并/跳过/AMVP/去块/TMVP的子块矢量。
仿射模式的光流预测细化(Prediction refinement with optical flow)
与基于像素的运动补偿相比,基于子块的仿射运动补偿可以节省存储器访问带宽并降低计算复杂度,但代价是预测精度下降。为了实现更精细的运动补偿粒度,使用光流预测细化(prediction refinement with optical flow,简写为PROF)来细化基于子块的仿射运动补偿预测,而不增加用于运动补偿的存储器访问带宽。在VVC中,在执行基于子块的仿射运动补偿后,通过添加由光流方程导出的差值来细化亮度预测样本。PROF描述为以下四个步骤:
步骤1)执行基于子块的仿射运动补偿以生成子块预测I(i,j)。
步骤2)在每个样本位置使用3抽头滤波器[-1,0,1]计算子块预测的空间梯度gx(i,j)和gy(i,j)。梯度计算与BDOF中的梯度计算完全相同。
gx(i,j)=(I(i+1,j)>>shift1)-(I(i-1,j)>>shift1) (8)
gy(i,j)=(I(i,j+1)>>shift1)-(I(i,j-1)>>shift1) (9)
在上方的等式中,shift1用于控制梯度的精度。子块(即4x4)预测在每一侧扩展一个样本以进行梯度计算。为了避免额外的记忆体带宽和额外的插值计算,扩展的边界上的那些扩展的样本是从参考图片中最近的整数像素位置复制的。
步骤3)亮度预测细化由以下光流方程计算。
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)(10)
其中Δv(i,j)是为样本位置(i,j)计算的样本MV(表示为v(i,j))与样本(i,j)所属子块的子块MV之间的差异,如图14所示。Δv(i,j)以1/32亮度样本精度为单位进行量化。在图14中,子块1422对应于由运动矢量VSB(1412)指向的子块1420的参考子块。参考子块1422表示由块1420的平移运动产生的参考子块。参考子块1424对应于具有PROF的参考子块。每个像素的运动矢量由Δv(i,j)细化。例如,子块1420的左上像素的细化的运动矢量v(i,j)1414是基于由Δv(i,j)1416修改的子块MV VSB(1412)导出的。
由于仿射模型参数和样本相对于子块中心的位置在子块与子块之间没有改变,因此可以为第一个子块计算Δv(i,j),并将其重新用于同一CU中的其他子块。设dx(i,j)和dy(i,j)为样本位置(i,j)到子块中心(xSB,ySB)的水平和垂直偏移量,可通过以下等式推导出Δv(x,y),
为了保持精度,子块(xSB,ySB)的中心计算为((WSB-1)/2,(HSB-1)/2),其中WSB和HSB分別是子块的宽度和高度。
对于4参数仿射模型,
对于6参数仿射模型,
其中(v0x,v0y)、(v1x,v1y)、(v2x,v2y)是左上、右上和左下控制点运动矢量,w和h是CU的宽度和高度。
PROF的第四步如下:
步骤4)最后,将亮度预测细化ΔI(i,j)添加到子块预测I(i,j)。最终预测I'的生成如下式:
I′(i,j)=I(i,j)+ΔI(i,j)(15)
在两种情况下PROF不应用仿射编解码的CU:1)所有控制点MV相同,这表明CU仅具有平移运动;2)仿射运动参数大于指定的限制,因为基于子块的仿射MC降级为基于CU的MC以避免大的存储器访问带宽需求。
应用快速编码方法来降低具有PROF的仿射运动估计的编码复杂度。在以下两种情况下,PROF不应用于仿射运动估计阶段:a)如果该CU不是根块并且其父块未选择仿射模式作为其最佳模式,则不应用PROF,因为当前CU选择仿射模式为最佳模式的可能性较低;b)如果四个仿射参数(C、D、E、F)的大小(magnitude)都小于预定义的阈值并且当前图片不是低延迟图片,则不应用PROF,因为对于这种情况,PROF引入的改进较小。以此方式,可以加速具有PROF的仿射运动估计。
VVC中基于子块的时间运动矢量预测(Subblock-based Temporal Motion VectorPrediction,简写为SbTMVP)
VVC支持基于子块的时间运动矢量预测(SbTMVP)方法。类似于HEVC中的时间运动矢量预测(temporal motion vector prediction,简写为TMVP),SbTMVP使用并置图片中的运动场域来改进当前图片中CU的运动矢量预测和合并模式。TMVP使用的相同并置图片用于SbTMVP。SbTMVP与TMVP的区别主要有以下两个方面:
–TMVP预测CU级别的运动,但SbTMVP预测子CU级别的运动;
–TMVP从并置图片中的并置块获取时间运动矢量(并置块是相对于当前CU的右下或中心块),SbTMVP在从并置图片获取时间运动信息之前应用运动偏移,其中运动偏移是从当前CU的空间邻近块之一的运动矢量获得的。
图15A-B示出了SbTMVP过程。SbTMVP分两步预测当前CU内子CU的运动矢量。在第一步中,检查图15A中的空间邻近A1。如果A1具有使用并置图片作为其参考图片的运动矢量,则选择该运动矢量作为要应用的运动偏移。如果未识别出此类运动,则将运动偏移设置为(0,0)。
在第二步中,应用在步骤1中识别的运动偏移(即,添加到当前块的坐标)以从并置图片获得子CU级运动信息(运动矢量和参考索引),如图15B所示。图15B中的示例假设运动偏移设置为块A1的运动,其中帧1520对应于当前图片,帧1530对应于参考图片(即并置图片)。然后,对于每个子CU,其在并置图片中的对应块(覆盖中心样本的最小运动网格)的运动信息用于导出子CU的运动信息。在确定并置子CU的运动信息后,将其转换为当前子CU的运动矢量和参考索引,其方式与HEVC的TMVP过程类似,其中时间运动缩放被应用来将时间运动矢量的参考图片对齐到当前CU的图片。在图15B中,并置图片1530的每个子块中的箭头对应于并置子块的运动矢量(L0 MV的粗线箭头和L1MV的细线箭头)。对于当前图片1520,每个子块中的箭头对应于当前子块的缩放的运动矢量(L0 MV的粗线箭头和L1 MV的细线箭头)。
在VVC中,包含SbTMVP候选和仿射合并候选的组合的基于子块的合并列表用于基于子块的合并模式的发信。SbTMVP模式由序列参数集(SPS)标志启用/禁用。如果启用SbTMVP模式,则将SbTMVP预测子添加为基于子块的合并候选列表的第一个条目,然后是仿射合并候选。在VVC中基于子块的合并列表的大小在SPS中发信,并且基于子块的合并列表的最大允许大小为5。
SbTMVP中使用的子CU大小固定为8x8,和仿射合并模式一样,SbTMVP模式只适用于宽高都大于等于8的CU。
额外的SbTMVP合并候选的编码处理流程与其他合并候选相同,即对于P或B切片中的每个CU,执行额外的RD检查以决定是否使用SbTMVP候选。
不同编解码工具中的运动单元不同。例如,在仿射中是4x4子块,在多通道DMVR中是8x8子块。子块边界OBMC使用不同的运动来进行MC以细化每个子块预测子,以减少子块边界中的不连续性/块伪影。然而,在VVC基础上开发的国际视频编解码标准的当前增强压缩模型(Enhanced Compression Model,简写为ECM)中,子块边界OBMC在仿射模式和多通道DMVR模式下将所有运动单元视为4x4子块大小。因此,子块边界OBMC可能无法正确处理子块边界。这个问题也可能存在于其他支持子块处理的预测编解码工具中。
提出了一种新的自适应OBMC子块大小方法。在该方法中,当OBMC应用于当前块时,OBMC子块大小可以根据当前块选择的帧间预测工具的相关信息(例如,其当前块预测信息、当前块模式信息、当前块大小、当前块形状或与为当前块选择的帧间预测工具相关的任何其他信息)、与邻近块的帧间预测工具相关的信息(例如,邻近块信息、邻近块大小、邻近块形状或与邻近块的帧间预测工具相关的任何其他信息)、成本度量或它们的任意组合。OBMC子块大小可以与不同预测模式下的最小(或最佳)运动改变单元(motion changing unit)相匹配,或者无论预测模式如何,它都可以始终是相同的OBMC子块大小。运动改变单元也称为运动处理单元(motion processing unit)。
在一个实施例中,当当前块在DMVR模式下编解码时,对于亮度(luma),OBMC子块大小被设置为M1xN1(M1和N1为非负整数),取决于DMVR模式下的最小运动改变单元(smallestmotion changing unit)。例如,对于亮度,DMVR模式的OBMC子块大小可以设置为8x8,而其他编解码模式的OBMC子块大小始终设置为M2xN2(M2和N2为非负整数)。例如,对于其他模式,OBMC子块大小可以是4x4。
在另一个实施例中,当当前块以仿射模式编解码时,对于亮度,OBMC子块大小被设置为M1xN1(M1和N1为非负整数),取决于仿射模式中的最小运动改变单元。例如,对于亮度,仿射模式的OBMC子块大小可以设置为4x4,而其他模式的OBMC子块大小始终设置为M2xN2(M2和N2为非负整数)。例如,对于其他编解码模式,OBMC子块大小可以是4x4或8x8。
在另一个实施例中,对于亮度,当当前块以SbTMVP模式编解码时,OBMC子块大小设置为M1xN1(M1和N1为非负整数),取决于SbTMVP模式中的最小运动改变单元。例如,SbTMVP模式的OBMC子块大小可以设置为4x4,而其他模式的OBMC子块大小始终设置为M2xN2(M2和N2为非负整数)用于亮度。例如,对于其他编解码模式,OBMC子块大小可以是4x4或8x8。
在另一个实施例中,当当前块在将细化子块级别的运动的预测模式中编解码时,OBMC子块大小被设置为运动改变子块大小用于亮度,取决于每个预测模式中的最小运动改变单元。例如,8x8的OBMC子块大小可以用于DMVR模式编解码的当前块,4x4的OBMC子块大小可以用于仿射模式或SbTMVP模式编解码的当前块。
在另一个实施例中,当当前块以几何预测模式(GPM)编解码或以几何形状分区时,OBMC子块大小被设置为运动改变子块大小用于亮度,这取决于在其预测模式形状或其分区形状中的最小运动改变单元。
在另一个实施例中,当邻近块以将细化子块级别中的运动的预测模式编解码时,对于要应用OBMC的当前块,当前块的OBMC子块大小被设置为运动改变子块大小用于亮度,取决于来自邻近块或来自当前块的每个预测模式中的最小运动改变单元。例如,8x8 OBMC子块大小用于在DMVR模式下编解码的块,4x4 OBMC子块大小用于在仿射模式或SbTMVP模式下编解码的块。
在另一个实施例中,当邻近块以几何预测模式(GPM)编解码或以(其运动可以在几何区域中)几何形状分区时,对于亮度,当前块的OBMC子块大小被设置为运动改变子块大小,取决于来自邻近块或来自当前块的每个预测模式中的最小运动改变单元。例如,8x8OBMC子块大小用于DMVR模式编解码的块,4x4 OBMC子块大小用于仿射模式或SbTMVP模式编解码的块。
在另一个实施例中,当OBMC应用于当前块时,它可以使用邻近重建样本来计算成本来决定OBMC子块大小。例如,可以采用模板匹配法或双边匹配法计算代价,并据此确定最小运动改变单元。
在另一个实施例中,当OBMC应用于当前块时,对每个子块进行模板匹配以计算当前子块上方或左侧的子块的重建样本和参考样本之间的成本。如果成本小于阈值,则由于运动相似性高,所以OBMC子块大小被放大。否则(即成本大于阈值),OBMC子块大小保持不变,因为邻近运动和当前运动不相似。
任何前述提出的方法都可以在编码器和/或解码器中实现。例如,在编码器端,可以在预测子推导模块(例如如图1A所示的帧间预测单元的一部分)中实现所需的OBMC和相关处理。然而,编码器也可以使用额外的处理单元来实现所需的处理。对于解码器端,所需的OBMC和相关处理可以在预测子推导模块中实现,例如图1B中所示的MC单元152的一部分。然而,解码器也可以使用额外的处理单元来实现所需的处理。帧间预测112和MC 152显示为单独的处理单元,它们可能对应于存储在媒体(例如硬盘或闪存)上的可执行软件或固件代码,用于CPU(中央处理单元)或可程序化设备(例如DSP(数字信号)处理器)或FPGA(现场可程序化门阵列))。备选地,所提出的任何方法都可以实现为耦合到编码器的预测子推导模块和/或解码器的预测子推导模块的电路,以便提供预测子推导模块所需的信息。
图16示出了根据本发明实施例的视频编解码***中的示例性重迭块运动补偿(OBMC)过程的流程图。流程图中所示的步骤可以实现为可在编码器侧的一个或多个处理器(例如,一个或多个CPU)上执行的程序代码。流程图中所示的步骤也可以基于硬件来实现,诸如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。根据该方法,在步骤1610中接收与当前块相关联的输入资料,其中输入资料包括在编码器侧待编码的当前块的像素资料或在解码器侧待解码的与当前块相关联的编码资料。在步骤1620中,从一组帧间预测编解码工具中确定用于当前块的帧间预测工具。在步骤1630中,基于与为当前块选择的帧间预测工具或相邻块的帧间预测工具相关的信息来确定当前块的OBMC(重迭边界运动补偿)子块大小。在步骤1640中,根据OBMC子块大小将子块OBMC(重迭边界运动补偿)应用于当前块的相邻子块和当前子块之间的子块边界。
所示的流程图旨在说明根据本发明的视频编解码的示例。在不脱离本发明的精神的情况下,本领域技术人员可以修改每个步骤、重新安排步骤、拆分步骤或组合步骤来实施本发明。在本公开中,已经使用特定语法和语义来说明示例以实现本发明的实施例。在不脱离本发明的精神的情况下,本领域技术人员可以通过用等同的句法和语义替换句法和语义来实施本发明。
提供以上描述是为了使本领域技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域技术人员而言将是显而易见的,并且本文定义的一般原理可以应用于其他实施例。因此,本发明并不旨在限于所示出和描述的特定实施例,而是符合与本文公开的原理和新颖特征一致的最宽范围。在以上详细描述中,举例说明了各种具体细节以提供对本发明的透彻理解。然而,本领域技术人员将理解可以实施本发明。
如上所述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实现。例如,本发明的一个实施例可以是集成到视频压缩芯片中的一个或多个电路或者集成到视频压缩软件中的程序代码以执行这里描述的处理。本发明的实施例还可以是要在数字信号处理器(DSP)上执行以执行这里描述的处理的程序代码。本发明还可以涉及由计算机处理器、数字信号处理器、微处理器或现场可程序化门阵列(FPGA)执行的许多功能。这些处理器可以被配置为通过执行定义由本发明体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。软件代码或固件代码可以以不同的程序化语言和不同的格式或风格来开发。也可以为不同的目标平台编译软件代码。然而,软件代码的不同代码格式、风格和语言以及配置代码以执行根据本发明的任务的其他方式都不会脱离本发明的精神和范围。
本发明可以在不脱离其精神或基本特征的情况下以其他特定形式体现。所描述的示例在所有方面都应被视为说明性而非限制性的。因此,本发明的范围由所附权利要求而不是由前述描述来指示。落入权利要求等同物的含义和范围内的所有变化都应包含在其范围内。

Claims (11)

1.一种视频编解码方法,该方法包括:
接收与当前块相关联的输入数据,其中,该输入数据包括编码器侧待编码的该当前块的像素数据或解码器侧与待解码的该当前块相关联的编码数据;
从该当前块的一组帧间预测编解码工具中确定一帧间预测工具;
基于与为该当前块选择的帧间预测工具或邻近块的该帧间预测工具相关的信息来确定该当前块的重迭边界运动补偿子块大小;以及
根据该重迭边界运动补偿子块大小,将子块重迭边界运动补偿应用于该当前块的邻近子块和当前子块之间的子块边界。
2.根据权利要求1所述的视频编解码方法,其特征在于,该重迭边界运动补偿子块大小取决于与为该当前块选择的该帧间预测工具相关联的最小处理单元。
3.根据权利要求2所述的视频编解码方法,其特征在于,为该当前块选择的该帧间预测工具对应于解码器侧运动矢量细化模式。
4.根据权利要求2所述的视频编解码方法,其特征在于,如果为该当前块选择的该帧间预测工具对应于解码器侧运动矢量细化模式,则该重迭边界运动补偿子块大小被设置为8x8,如果为该当前块选择的该帧间预测工具对应于该解码器侧运动矢量细化模式之外的帧间预测工具,则该重迭边界运动补偿子块大小被设置为4x4。
5.根据权利要求2所述的视频编解码方法,其特征在于为该当前块选择的该帧间预测工具对应于仿射模式。
6.根据权利要求2所述的视频编解码方法,其特征在于,如果为当前块选择的该帧间预测工具对应于仿射模式,则该重迭边界运动补偿子块大小被设置为4x4,并且如果该帧间预测工具被选择对应于该仿射模式以外的帧间预测工具,则该重迭边界运动补偿子块大小被设置为包括8x8大小。
7.根据权利要求2所述的视频编解码方法,其特征在于,为该当前块选择的该帧间预测工具对应于基于子块的时间运动矢量预测模式。
8.根据权利要求2所述的视频编解码方法,其特征在于,如果为该当前块选择的该帧间预测工具对应于基于子块的时间运动矢量预测模式,则该重迭边界运动补偿子块大小被设置为4x4,如果为该当前块选择的该帧间预测工具对应于该基于子块的时间运动矢量预测以外的帧间预测工具,则该重迭边界运动补偿子块大小被设置为包括8x8大小。
9.根据权利要求2所述的视频编解码方法,其特征在于,如果为该当前块选择的该帧间预测工具对应于解码器侧运动矢量细化模式,则该重迭边界运动补偿子块大小被设置为8x8,如果为该当前块选择的该帧间预测工具对应仿射模式或基于子块的时间运动矢量预测模式,则该重迭边界运动补偿子块大小被设置为4x4。
10.根据权利要求2所述的视频编解码方法,其特征在于,为该当前块选择的该帧间预测工具对应于几何分区模式。
11.一种用于视频编解码的装置,该装置包括一个或多个电子设备或处理器,用于:
接收与当前块相关联的输入数据,其中,该输入数据包括编码器侧待编码的该当前块的像素数据或解码器侧与待解码的该当前块相关联的编码数据;
从该当前块的一组帧间预测编解码工具中确定一帧间预测工具;
基于与为该当前块选择的帧间预测工具或邻近块的该帧间预测工具相关的信息来确定该当前块的重迭边界运动补偿子块大小;以及
根据该重迭边界运动补偿子块大小,将子块重迭边界运动补偿应用于该当前块的邻近子块和当前子块之间的子块边界。
CN202310379836.6A 2022-04-11 2023-04-11 视频编解码方法及相关装置 Pending CN116896640A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263329509P 2022-04-11 2022-04-11
US63/329,509 2022-04-11
US18/181,858 2023-03-10
US18/181,858 US20230328278A1 (en) 2022-04-11 2023-03-10 Method and Apparatus of Overlapped Block Motion Compensation in Video Coding System

Publications (1)

Publication Number Publication Date
CN116896640A true CN116896640A (zh) 2023-10-17

Family

ID=88239035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310379836.6A Pending CN116896640A (zh) 2022-04-11 2023-04-11 视频编解码方法及相关装置

Country Status (3)

Country Link
US (1) US20230328278A1 (zh)
CN (1) CN116896640A (zh)
TW (1) TW202341741A (zh)

Also Published As

Publication number Publication date
TW202341741A (zh) 2023-10-16
US20230328278A1 (en) 2023-10-12

Similar Documents

Publication Publication Date Title
CN112154660B (zh) 使用双向编码单元加权的视频编码方法和装置
CN111937391B (zh) 用于视频编解码***中的子块运动补偿的视频处理方法和装置
TW202046718A (zh) 用於多個工具的互相排斥設定
JP7446339B2 (ja) 幾何学的分割モードコーディングを用いた動き候補リスト
TW201944781A (zh) 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置
CN113170191B (zh) 视频编解码的预测方法以及预测装置
WO2018028615A1 (en) Methods and apparatuses of predictor-based partition in video processing system
WO2020098653A1 (en) Method and apparatus of multi-hypothesis in video coding
TW202029773A (zh) 簡化的三角形合併模式候選列表導出的方法以及裝置
US11785242B2 (en) Video processing methods and apparatuses of determining motion vectors for storage in video coding systems
TWI830558B (zh) 視頻編解碼系統中多重假設預測的方法和裝置
US20230232012A1 (en) Method and Apparatus Using Affine Non-Adjacent Candidates for Video Coding
TW202327351A (zh) 視頻編解碼系統中編解碼模式選擇的方法和裝置
EP4243416A2 (en) Method and apparatus of chroma direct mode generation for video coding
CN116896640A (zh) 视频编解码方法及相关装置
WO2024027784A1 (en) Method and apparatus of subblock-based temporal motion vector prediction with reordering and refinement in video coding
WO2024146374A1 (en) Method and apparatus of parameters inheritance for overlapped blocks motion compensation in video coding system
WO2024016844A1 (en) Method and apparatus using affine motion estimation with control-point motion vector refinement
WO2023207511A1 (en) Method and apparatus of adaptive weighting for overlapped block motion compensation in video coding system
WO2024078331A1 (en) Method and apparatus of subblock-based motion vector prediction with reordering and refinement in video coding
WO2023020389A1 (en) Method and apparatus for low-latency template matching in video coding system
WO2023221993A1 (en) Method and apparatus of decoder-side motion vector refinement and bi-directional optical flow for video coding
WO2024149035A1 (en) Methods and apparatus of affine motion compensation for block boundaries and motion refinement in video coding
WO2024017224A1 (en) Affine candidate refinement
WO2023134564A1 (en) Method and apparatus deriving merge candidate from affine coded blocks for video coding

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