CN117083861A - 用于帧间预测的重叠块运动补偿 - Google Patents
用于帧间预测的重叠块运动补偿 Download PDFInfo
- Publication number
- CN117083861A CN117083861A CN202280025153.4A CN202280025153A CN117083861A CN 117083861 A CN117083861 A CN 117083861A CN 202280025153 A CN202280025153 A CN 202280025153A CN 117083861 A CN117083861 A CN 117083861A
- Authority
- CN
- China
- Prior art keywords
- sub
- blocks
- block
- obmc
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 125
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims abstract description 77
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 29
- 239000013598 vector Substances 0.000 description 23
- 230000002123 temporal effect Effects 0.000 description 22
- 238000013461 design Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000002156 mixing Methods 0.000 description 10
- 239000000203 mixture Substances 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 10
- 238000000638 solvent extraction Methods 0.000 description 10
- 238000005192 partition Methods 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 241000723655 Cowpea mosaic virus Species 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/583—Motion compensation with overlapping blocks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种用于视频解码的方法。该方法包括获取视频帧的仿射编码单元(CU)内的多个子块,其中该多个子块包括多个边界子块和多个非边界子块。另外,该方法可以包括将重叠块运动补偿(OBMC)和仿射二次预测(ASP)两者应用于至少一个子块,以生成仿射CU的基于子块的预测,或者针对该多个非边界子块启用ASP并且针对该多个非边界子块禁用OBMC。
Description
相关申请的交叉引用
本申请要求于2021年3月29日提交的题为“Overlapped Block MotionCompensation for Inter Prediction(用于帧间预测的重叠块运动补偿)”的美国临时申请第63/167619号的优先权,该临时申请的全部内容出于所有目的通过引用被并入。
技术领域
本公开涉及视频编解码和压缩,并且特别地涉及但不限于关于用于帧间预测的重叠块运动补偿(overlapped block motion compensation,OBMC)的方法和装置。
背景技术
可以使用各种视频编解码技术对视频数据进行压缩。视频编解码是根据一种或多种视频编解码标准来执行的。例如,现在一些众所周知的视频编解码标准包括通用视频编解码(Versatile Video Coding,VVC)、高效视频编解码(High-Efficiency Video Coding,HEVC,也称为H.265或MPEG-H第2部分)、以及ISO/IEC MPEG和ITU-T VECG联合开发的高级视频编解码(Advanced Video Coding,AVC,也称为H.264或MPEG-4第10部分)。开放媒体联盟(AOM)开发了AOMedia Video 1(AV1),作为对其先前标准VP9的后继者。指代数字音频和数字视频压缩标准的音视频编解码(AVS)是由中国音频和视频编解码标准工作组开发的另一个视频压缩标准系列。大多数现有的视频编解码标准都是建立在著名的混合视频编解码框架之上的,即,使用基于块的预测方法(例如,帧间预测、帧内预测)来减少视频图像或序列中存在的冗余,并使用变换编解码来压缩预测误差的能量。视频编解码技术的重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。
发明内容
本公开提供了与提高编解码效率和简化OBMC的复杂度相关的技术的示例。
根据本公开的第一方面,提供了一种用于视频解码的方法。该方法包括:获取视频帧的仿射编码单元(coding unit,CU)内的多个子块,其中该多个子块包括多个边界子块和多个非边界子块;以及将OBMC和仿射二次预测(affine secondary prediction,ASP)两者应用于至少一个子块,以生成针对仿射CU的基于子块的预测。
根据本公开的第二方面,提供了一种用于视频解码的方法。该方法包括:获取视频帧的仿射CU内的多个子块,其中该多个子块包括多个边界子块和多个非边界子块;以及针对多个非边界子块启用ASP,并且针对非边界子块禁用OBMC。
根据本公开的第三方面,提供了一种用于视频解码的装置。该装置包括一个或多个处理器以及存储器,该存储器被配置为存储能够由该一个或多个处理器执行的指令。另外,在执行指令时,该一个或多个处理器被配置为执行根据第一方面的方法。
根据本公开的第四方面,提供了一种用于视频解码的装置。该装置包括一个或多个处理器以及存储器,该存储器被配置为存储能够由该一个或多个处理器执行的指令。另外,在执行指令时,该一个或多个处理器被配置为执行根据第二方面的方法。
根据本公开的第五方面,提供了一种存储计算机可执行指令的非暂时性计算机可读存储介质,当由一个或多个计算机处理器执行时,该计算机可执行指令使得该一个或多个计算机处理器执行根据第一方面的方法。
根据本公开的第六方面,提供了一种存储计算机可执行指令的非暂时性计算机可读存储介质,当由一个或多个计算机处理器执行时,该计算机可执行指令使得该一个或多个计算机处理器执行根据第二方面的方法。
附图说明
将通过参考附图中图示的具体示例来呈现本公开的示例的更具体的描述。鉴于这些附图仅描绘了一些示例,并且因此不被认为是对范围的限制,将通过使用附图用附加的特征和细节来描述和解释这些示例。
图1是图示根据本公开的一些实施方式的基于块的视频编码器的框图。
图2A是图示根据本公开的一些实施方式的四元分割树拆分模式的示意图。
图2B是图示根据本公开的一些实施方式的垂直二元分割树拆分模式的示意图。
图2C是图示根据本公开的一些实施方式的水平二元分割树拆分模式的示意图。
图2D是图示根据本公开的一些实施方式的垂直三元分割树拆分模式的示意图。
图2E是图示根据本公开的一些实施方式的水平三元分割树拆分模式的示意图。
图3是图示根据本公开的一些实施方式的基于块的视频解码器的框图。
图4图示了根据本公开的一些实施方式的基于子块的时间运动矢量预测(sub-block-based temporal motion vector prediction,SbTMVP)的子块级运动导出的示意图。
图5图示了根据本公开的一些实施方式的四参数仿射模型的示意图。
图6图示了根据本公开的一些实施方式的六参数仿射模型的示意图。
图7A图示了根据本公开的一些实施方式的左下方向上的运动矢量角度预测(motion vector angularprediction,MVAP)模式的示意图。
图7B图示了根据本公开的一些实施方式的左方向上的MVAP模式的示意图。
图7C图示了根据本公开的一些实施方式的左上方向上的MVAP模式的示意图。
图7D图示了根据本公开的一些实施方式的上方向上的MVAP模式的示意图。
图7E图示了根据本公开的一些实施方式的右上方向上的MVAP模式的示意图。
图8图示了根据本公开的一些实施方式的用于在没有子块运动补偿的情况下被编码的CU的OBMC过程的示意图。
图9图示了根据本公开的一些实施方式的用于通过子块模式被编码的CU的OBMC过程的示意图。
图10图示了根据本公开的一个或多个方面的允许的GPM分割的示意图。
图11A图示了根据本公开的一些实施方式的使用顶部邻居的MV的OBMC方案的示意图。
图11B图示了根据本公开的一些实施方式的使用左侧邻居的MV的OBMC方案的示意图。
图12图示了根据本公开的一些实施方式的当针对SbTMVP和MVAP的子块边界禁用OBMC时的OBMC过程的流程图,图示了使用顶部邻居的MV的OBMC方案的示意图。
图13图示了根据本公开的一些实施方式的将OBMC和ASP联合应用于一个仿射CU。
图14图示了框图,该框图图示了根据本公开的一些实施方式的用于视频解码的装置。
图15图示了流程图,该流程图图示了根据本公开的一些实施方式的用于视频解码的过程。
图16图示了流程图,该流程图图示了根据本公开的一些实施方式的用于视频解码的过程。
具体实施方式
现在将详细参考具体实施方式,其示例在附图中被图示。在以下详细描述中,阐述了众多非限制性的具体细节,以便辅助理解本文呈现的主题。但是对于本领域普通技术人员而言将显而易见的是,可以使用各种替代方案。例如,对于本领域普通技术人员而言将显而易见的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实施。
贯穿本说明书,对“一个实施例”、“实施例”、“示例”、“一些实施例”、“一些示例”或类似的语言的引用意为所描述的特定特征、结构或特性被包括在至少一个实施例或示例中。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、要素或特性也适用于其他实施例。
贯穿本公开,除非另有明确说明,否则术语“第一”、“第二”、“第三”等都用作仅用于指代相关要素(例如,设备、组件、成分、步骤等)的命名法,而不暗示任何空间或时间顺序。例如,“第一设备”和“第二设备”可以指代两个单独形成的设备,或者相同设备的两个部件、组件或操作状态,并且可以被任意命名。
术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可以包括存储可以由一个或多个处理器执行的代码或指令的存储器(共享的、专用的或成组的)。模块可以包括具有或不具有所存储的代码或指令的一个或多个电路。模块或电路可以包括直接或间接连接的一个或多个组件。这些组件可以或可以不彼此在物理上附接或者邻近地定位。
如本文所使用的,取决于上下文,术语“如果”或“当……时”可以被理解为意为“在……情况下”或“响应于”。这些术语如果出现在权利要求中,则可以不指示相关限制或特征是有条件的或可选的。例如,一种方法可以包括以下步骤:i)当条件X存在时或如果条件X存在,执行功能或动作X',以及ii)当条件Y存在时或如果条件Y存在,执行功能或动作Y'。该方法可以以执行功能或动作X'的能力和执行功能或动作Y'的能力两者来实现。因此,可以在该方法的多次执行中在不同时间执行功能X'和功能Y'两者。
可以通过纯软件、纯硬件或硬件和软件的组合来实现单元或模块。例如,在纯软件实施方式中,单元或模块可以包括功能上相关的代码块或软件组件,它们直接或间接地链接在一起,以便执行特定功能。
HEVC标准的第一版于2013年10月最终确定,与上一代视频编解码标准H.264/MPEGAVC相比,它提供了大约50%的比特率节省或同等的感知质量。尽管HEVC标准比其前身提供了显著的编解码改进,但有证据表明,可以使用附加的编解码工具来实现优于HEVC的编解码效率。基于此,VCEG和MPEG都开始了针对未来视频编解码标准化的新编解码技术的探索工作。2015年10月,ITU-T VECG和ISO/IEC MPEG成立了一个联合视频探索小组(JointVideo Exploration Team,JVET),开始对能够实现编解码效率的大幅提升的先进技术的重要研究。通过在HEVC测试模型(HM)之上集成若干附加的编解码工具,JVET维护了一个被称为联合探索模型(joint exploration model,JEM)的参考软件。
ITU-T和ISO/IEC发布了关于具有超越HEVC的能力的视频压缩的联合提案征集(call for proposals,CfP)。2018年4月,在第10届JVET会议上,接收并评估了23份CfP响应,其展现出比HEVC高约40%的压缩效率增益。基于这种评估结果,JVET启动了新的项目来开发新一代视频编解码标准,该标准被命名为通用视频编解码(Versatile Video Coding,VVC)。同月,建立了一个称为VVC测试模型(VVC test model,VTM)的参考软件代码库,用于演示VVC标准的参考实施方式。
第一代AVS标准包括中国国家标准“Information Technology,AdvancedAudioVideo Coding,Part 2:Video(信息技术,高级音视频编解码,第2部分:视频)”(称为AVS1)和“Information Technology,AdvancedAudio Video Coding Part 16:Radio TelevisionVideo(信息技术,高级音视频编解码,第16部分:广播电视视频)”(称为AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下提供大约50%的比特率节省。AVS1标准视频部分于2006年2月作为中国国家标准被颁布。第二代AVS标准包括中国国家标准“InformationTechnology,Efficient Multimedia Coding(信息技术,高效多媒体编解码)”(称为AVS2)系列,其主要针对超高清TV节目的传输。AVS2的编解码效率是AVS+的编解码效率的两倍。2016年5月,AVS2作为中国国家标准被发布。同时,AVS2标准视频部分由电气与电子工程师协会(IEEE)提交,作为一个国际应用标准。AVS3标准是用于UHD视频应用的一个新一代视频编解码标准,旨在超过最新的国际标准HEVC的编解码效率。2019年3月,在第68次AVS会议上,完成了AVS3-P2基线,与HEVC标准相比,它提供了大约30%的比特率节省。目前,存在一个称为高性能模型(HPM)的参考软件,其由AVS小组维护,以演示AVS3标准的参考实施方式。
如之前的标准(诸如HEVC)那样,VVC和AVS3都建立在基于块的混合视频编解码框架之上。图1是图示根据本公开的一些实施方式的基于块的视频编码器的框图。输入视频信号被逐块(称为编码单元(CU))处理。一个CU可以高达128x128个像素。然而,与仅基于四叉树对块进行分割的HEVC不同,在VVC中,一个编码树单元(coding tree unit,CTU)基于四叉树/二叉树/三叉树被拆分成CU,以适配变化的局部特性。此外,HEVC中多分割单元类型的概念被移除,即,在VVC中不再存在CU、预测单元(prediction unit,PU)和变换单元(transform unit,TU)的分离;相反,每个CU总是被用于预测和变换两者的基本单元,而没有进一步的分割。在多类型树结构中,一个CTU首先通过四叉树结构被分割。然后,每个四叉树叶节点可以通过二叉树结构和三叉树结构被进一步分割。
如图2A至2E所示,存在五种拆分类型:四元分割、水平二元分割、垂直二元分割、水平三元分割以及垂直三元分割。在图1中,可以执行空间预测和/或时间预测(例如,经由运动补偿101、运动估计102、帧内/帧间模式决策103、帧内预测104)。空间预测(或“帧内预测”)使用来自相同视频图片/条带中已经编码的邻居块的样点(其被称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已经编码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过一个或多个运动矢量(motionvector,MV)来用信号发送针对给定CU的时间预测信号,该一个或多个MV指示当前CU与其时间参考之间的运动量和运动方向。另外,如果支持多个参考图片,则附加地发送一个参考图片索引,该参考图片索引用于标识时间预测信号来自参考图片存储库(例如,存储器105、图片缓冲器106)中的哪个参考图片。在空间和/或时间预测之后,编码器中的模式决策块(例如,帧内/帧间模式决策103)选择最佳预测模式,例如基于率失真优化方法。然后从当前视频块中减去预测块;并且使用变换和量化(例如,经由变换108、量化109)来对预测残差进行去相关。对经量化的残差系数进行反量化和逆变换,以形成重建残差(例如,经由反量化111、逆变换112),然后将重建残差加回至预测块,以形成CU的重建信号。在重建CU被放入参考图片存储库并用于对未来视频块进行编码之前,可以对重建CU应用进一步的环路滤波(例如,环路滤波器107),诸如去块滤波器、样点自适应偏移(sample adaptive offset,SAO)以及自适应环路滤波器(adaptive in-loop filter,ALF)。为了形成输出视频比特流,编码模式(帧间或帧内)、预测模式信息、运动信息以及量化残差系数都被发送到熵编码单元(例如,熵编码110),以被进一步压缩和打包以形成比特流。
图3是图示根据本公开的一些实施方式的基于块的视频解码器的框图。视频比特流首先在熵解码单元(例如,熵解码301)处被熵解码。编码模式和预测信息被发送到空间预测单元(如果是帧内编码)(例如,帧内预测308)或时间预测单元(如果是帧间编码)(例如,运动补偿307)以形成预测块。残差变换系数被发送到反量化单元(例如,反量化302)和逆变换单元(例如,逆变换303)以对残差块进行重建。预测块和残差块然后被相加在一起(例如,通过帧内/帧间模式选择309和/或存储在存储器304中)。重建块在被存储在参考图片存储库(例如,图片缓冲器306)之前,可以进一步经过环路滤波。参考图片存储库中的重建视频然后被发送出去以驱动显示设备,以及用于预测未来视频块。
总体而言,除了进一步扩展和/或增强了若干模块之外,在VVC和AVS3中应用的基本帧间预测技术保持与HEVC相同。例如,基于块匹配的运动补偿(motion compensation,MC)仍然被用作VVC帧间编解码框架的主干,其中,当一个编码块是单向预测时,该编码块可以只与一个单个MV相关联,或者当一个编码块是双向预测时,该编码块可以与两个MV相关联。尽管基于块的MC对于处理均匀的平移运动是高效的,但由于相机的复杂运动和移动对象的不规则性,它仍然不足以捕捉时域中图片之间的真实相关性。相应地,这种不准确的运动经常导致重建视频信号的块效应伪像(blocking artifact)。OBMC是一种方法,其已被证明是一种克服了常规的基于块的MC的缺点的高效方法。OBMC的基本思想是使用来自邻居块的MV来对当前块执行运动补偿,并且使用邻居MV来组合多个预测信号,以生成当前块的最终预测信号。这可以大大减少预测误差,并且减轻预测阶段的块效应伪像。本公开的主要关注点在于进一步提高现有OBMC模式的编解码效率。此外,还提出了一些方法来降低OBMC计算复杂度,并且使其对实际硬件实施方式更加友好。为了便于以下描述,简要回顾当前VVC和AVS标准中的一些现有编解码工具的主要技术方面,这些现有编解码工具与本公开中提出的技术是密切相关的。
基于子块的运动补偿
在HEVC及其前身中,每个编码块对于一个预测方向至多具有一个MV。相比之下,在VVC和AVS3两者中,都采用了若干子块级运动补偿技术,以通过增加MV导出的粒度来提高运动补偿效率。具体地,当应用那些子块模式中的任何一种时,一个编码块被进一步拆分成多个小子块,并且针对每个子块的运动信息(即,MV和相关联的参考图片)被单独导出。然后,在运动补偿阶段,子块运动信息被用于生成每个子块的预测信号(以及最终生成该块)。在下文中,对VVC和AVS3标准中采用的一些主要子块帧间编码模式进行概述。
基于子块的时间运动矢量预测
VVC支持基于子块的时间运动矢量预测(SbTMVP)方法。与HEVC中的时间运动矢量预测(temporal motion vector prediction,TMVP)类似,SbTMVP使用同位图片中的运动场来提高当前图片中的帧间CU的MV精度。
图4中图示了SbTMVP模式的子块级运动导出。具体地,SbTMVP通过两个步骤来预测当前CU内的子块的MV。第一步,首先从当前块的空间邻居块的运动信息中识别出用于获取子块运动的同位块。具体地,在当前的ATMVP设计中,考虑了图4中的空间邻居A1。如果A1拥有一个MV(L0或L1),该MV使用同位图片(这在比特流中被用信号发送)作为其参考图片,则选择块A1的对应MV来识别同位图片中的同位块。通过将块A1的MV与当前块的坐标相加,确定同位图片中同位块的位置。第二步,针对当前块中的每个子块,根据该子块在同位块中的相对应的小块,导出该子块的运动信息。具体地,在识别出同位块中的每个小块的运动信息(如由箭头401、411指示的)之后,以与HEVC中现有的时间运动矢量预测(TMVP)相同的方式,将其转换为当前块中对应子块的运动信息(如由箭头402、412指示的),在HEVC中现有的TMVP中,可以应用时间运动矢量缩放。
在AVS3标准中,也采用了一种类似的工具,其称为增强时间运动矢量预测(enhanced temporal motion vectorprediction,ETMVP),它遵循SbTMVP的相同设计精神,但在一些设计细节上有细微的差别。
仿射模式
在常规MC技术中,仅平移运动模型被应用于运动补偿预测。而在现实世界中,存在许多种运动,例如放大/缩小、旋转、透视运动以及其他不规则运动。在VVC和AVS3标准中,通过针对每个帧间CU用信号发送一个标志来指示是平移运动模型还是仿射运动模型被应用于帧间预测,来应用仿射运动补偿预测。在当前的仿射设计中,对于一个仿射编码块,支持两种仿射模式,包括四参数仿射模式和六参数仿射模式。
四参数仿射模型具有以下参数:分别用于水平和垂直方向上的平移运动的两个参数、用于针对两个方向的缩放运动的一个参数和用于针对两个方向的旋转运动的一个参数。水平缩放参数等于垂直缩放参数。水平旋转参数等于垂直旋转参数。为了实现运动矢量和仿射参数的更好适应,那些仿射参数被转变成位于当前块的左上角和右上角处的两个MV(其也被称为控制点运动矢量(control point motion vector,CPMV))。图5图示了根据本公开的一些实施方式的四参数仿射模型的示意图。如图5所示,块的仿射运动场由两个控制点MV(V0,V1)描述。基于控制点运动,一个仿射编码块的运动场(vx,vy)被描述为:
六参数仿射模式具有以下参数:分别用于水平方向和垂直方向上的平移运动的两个参数、用于水平方向上的缩放运动的一个参数和用于水平方向上的旋转运动的一个参数、用于垂直方向上的缩放运动的一个参数和用于垂直方向上的旋转运动的一个参数。六参数仿射运动模型是利用三个CPMV处的三个MV来进行编解码的。如图6中所示,一个六参数仿射块的三个控制点位于块的左上角、右上角和左下角处。左上控制点处的运动与平移运动相关,并且右上控制点处的运动与水平方向上的旋转和缩放运动相关,并且左下控制点处的运动与垂直方向上的旋转和缩放运动相关。与四参数仿射运动模型相比,六参数的水平方向上的旋转运动和缩放运动可以与垂直方向上的旋转运动和缩放运动不相同。假设(V0,V1,V2)是图6中的当前块的左上角、右上角和左下角的MV,则每个子块的运动矢量(vx,vy)使用控制点处的三个MV被导出为:
为了简化仿射预测的计算复杂度,应用基于子块的MC来导出仿射模式的预测样点。具体地,给定一个仿射CU的所选择的CPMV,基于式(1)和式(2),并使用子块的中心作为目标坐标(即,式(1)和式(2)中的x和y),来导出CU内每个4x4子块的MV。假设子块内的所有样点共享相同的MV;相应地,将使用所计算的MV,利用现有的运动补偿插值滤波(motioncompensation interpolation filtering,MC-IF)过程来生成子块的预测样点。
仿射二次预测
仿射模型(如由控制点运动矢量所指示的)可以用于在一个仿射CU内的每个样点位置处导出一个特定运动。然而,这需要大量的计算和存储器带宽消耗,这两者对于硬件/软件编解码器实施方式来说都是非常昂贵的。因此,在VVC标准和AVS标准两者中,一种基于子块的MC方法被应用于仿射模式,其中一个仿射CU首先被划分成8x8/4x4子块,并且子块内的样点被分配有一个相同MV,该MV在子块的中心处被导出。显然,鉴于所导出的子块级MV不能反映一个仿射CU内的每个样点位置处的真实仿射运动,这种设计可能导致预测效率的不可忽略的损失。为了进一步提高仿射预测的质量,一种被称为仿射二次预测(ASP)的方法被应用,以在仿射模式的现有预测样点之上提供样点方面的预测细化。具体地,该方法在从基于子块的运动补偿生成的预测样点之上应用一个3乘3滤波器。此外,基于在每个样点位置处计算的真实MV和样点所位于的子块的MV之间的MV差,导出在每个样点位置处应用的滤波器系数。具体地,ASP模式的预测样点通过以下步骤被导出:
1)基于子块的MC:基于子块的仿射运动补偿被执行,以生成每个样点位置(i,j)处的预测样点I(i,j)。
2)MV差计算:在每个样点位置(i,j)处,一个MV差Δv(i,j)被计算为:
Δvx(i,j)=c*Δx+d*Δx
Δvy(i,j)=e*Δx+f*Δy
其中c,d,e和f是基于四/六参数仿射模型导出的参数,Δx和Δy是从样点位置(i,j)到对应样点位置的水平偏移和垂直偏移,该对应样点位置用于计算包含样点位置(i,j)的子块的子块MC的MV。具体地,基于当前CU内子块的位置,Δx和Δy的值被导出如下:
·对于左上子块,Δx=i,Δy=j。
·对于右上子块,Δx=(i-subwidth+1),Δy=j。
·对于左下子块,当应用六参数仿射模型时Δx=i,Δy=(j-subheight+1);并且当应用四参数仿射模型时Δx=(i-(subwidth>>1)-0.5),Δy=(j-(subheight>>1)-0.5)。
·对于其他子模块,Δx=(i-(subwidth>>1)-0.5),Δy=(j-(subheight>>1)-0.5)。
3)二次预测滤波:变量和/>首先被计算如下:
然后,通过根据以下条件应用附加的滤波操作来进一步调整基于子块的MC的预测样点:
其中threshvx和threshvy是预定义的常数阈值。此外,当用于滤波操作的预测样点的位置在当前CU的边界之外时,通过将CU边界上的预测样点扩展到扩展区域来对它们进行填充。
运动矢量角度预测
为了进一步提高帧间预测效率,在AVS3中应用了另一种子块运动预测模式,被称为运动矢量角度预测(MVAP)。类似于SbTMVP和仿射模式,MVAP在子块级别上进行运动补偿预测,其中每个子块的MV是从当前CU的邻居重建块的对应MV生成的。图7A-7E图示了根据本公开的一些实施方式的分别在左下方向、左方向、左上方向、上方向和右上方向上的运动矢量角度预测(MVAP)模式的示意图。如图7A-7E所图示,一个MVAP CU内的子块的MV是根据一个特定的投影方向从当前CU的顶部和左侧边界上的邻居MV投影的。在当前的MVAP设计中,共存在5种不同的MV预测方向,包括左下、左、左上、上和右上。对于每个特定的预测方向,每个子块的对应MV被计算如下:
1)左下方向:
pMV[x][u]=refMV[-1][x+y+1] (3)
2)左方向:
pMV[x][y]=refMV[-1][y] (4)
3)左上方向:
4)上方向:
pMV[x][y]=refMV[x][-1] (6)
5)右上方向:
pMV[x][y]=refMV[x+y+1][-1] (7)
其中refMV表示邻居块的MV,并且pMV表示当前CU内的子块的MV;x和y表示以当前CU的左上角为原点的一个子块的坐标。
此外,在一个邻居MV不可用的情况下(例如,邻居子块无效或通过帧内模式编码),通过重复与最接近子块的邻居的可用MV来生成对应的MV。
重叠块运动补偿
在JEM中应用OBMC来去除MC阶段的块效应伪像。如前所述,OBMC的基本思想是使用来自邻居块的MV来对当前块执行运动补偿,并使用邻居MV来组合多个预测信号,以生成CU的最终预测信号。在JEM中,对当前CU的顶部和左侧边界执行OBMC。此外,当以一个子块模式对一个视频块进行编码时,也在每个子块的所有内边界(即,顶部、左侧、底部和右侧边界)上执行OBMC。图8图示了在没有子块级运动补偿的情况下应用于CU的OBMC过程。如图8所示,B1至B7分别是当前CU的顶部和左侧边界上的子块,并且N1至N8是当前CU的上方和左侧的有因果关联的邻居子块。当OBMC被应用于一个子块(例如,图9中的子块A)时,除了一个子块的左侧和顶部邻居之外,还使用当前子块的右侧和底部的邻居子块的MV来导出预测信号;然后,对这四个预测块进行平均,以生成当前子块的最终预测信号。
图9图示了根据本公开的一些实施方式的用于通过子块模式编解码的CU的OBMC过程的示意图。如图9所示,使用来自所有四个邻居块(例如,阴影化的子CU块a、b、c、d)的MV来将OBMC应用于所有子CU块(例如,子CU块A)。
在OBMC中使用加权平均来生成一个子块的预测信号。将使用一个邻居子块的运动矢量的预测信号表示为PN,并且将使用当前子块的运动矢量的预测信号表示为PC。当应用OBMC时,将PN的前/后四行/列中的样点与PC中相同位置的样点进行加权平均。基于对应的邻居子块的位置来确定应用加权平均的样点。具体地,当邻居子块是顶部邻居(例如,图9中的子块b)时,调整当前子块的前四行中的样点;当邻居子块是底部邻居(例如,图9中的子块d)时,调整当前子块的后四行中的样点;当邻居子块是左侧邻居(例如,图9中的子块a)时,调整当前块的前四列中的样点;当邻居子块是右侧邻居时,调整当前子块的后四列中的样点。当不以子块模式对当前块进行编解码时,加权因子{1/4,1/8,1/16,1/32}被用于PN的前四行/列,并且加权因子{3/4,7/8,15/16,31/32}被用于PC的前四行/列。当以子块模式对当前块进行编解码时,则仅对PN和PC的前两行/列进行平均。在这种情况下,加权因子{1/4,1/8}被用于PN,并且加权因子{3/4,7/8}被用于PC。
几何分割模式
在VVC中,支持几何分割模式以用于帧间预测。通过一个CU级标志来将几何分割模式用信号发送为一种特殊的合并模式。在当前的GPM设计中,针对每个可能的CU尺寸,GPM模式共支持64个分割,在可能的CU尺寸中,宽度和高度两者都不小于8并且不大于64,不包括8x64和64x8。
当使用该模式时,如图10所示,CU被几何定位的直线拆分成两部分。拆分线的位置在数学上是从特定分割的角度和偏移参数导出的。CU中几何分割的每个部分都使用其自身的运动来进行帧间预测;每个分割只允许单向预测,即每个部分具有一个运动矢量和一个参考索引。应用单向预测运动约束以确保与常规的双向预测一样,每个CU只需要两次运动补偿预测。如果几何分割模式被用于当前CU,则进一步用信号发送指示几何分割的分割模式(角度和偏移)的几何分割索引和两个合并索引(每个分割一个)。最大GPM候选尺寸的数量在序列级被明确地用信号发送。在AVS3中,该工具也被称为角度加权预测(angularweighted prediction,AWP),它遵循GPM模式的类似设计,但有一些微小的差别,诸如不同的拆分方向和偏移、生成单向预测MV的方式等。
帧间预测滤波器
为了进一步提高预测效率,在AVS3标准中应用了帧间预测滤波器(interprediction filter,InterPF),它结合了一个CU的帧内预测和基于合并模式的帧间预测。具体地,对于每个合并CU,用信号发送一个附加标志以指示是否针对当前CU启用InterPF模式。当该标志为假时,禁用InterPF并且应用常规帧间预测来生成当前CU的预测样点;当第一标志为真时,将InterPF应用于当前CU并且用信号发送另一个标志以进一步指示使用两种InterPF模式中的哪一种。两种InterPF模式被描述如下:
InterPF模式一:组合预测样点被导出为帧间预测样点和来自左、右、上、下的五个邻居重建样点的加权平均:
Pred(x,y)=(Pred_inter(x,y)*5+Pred_Q(x,y)*3)>>3
Pred_Q(x,y)=(Pred_V(x,y)+Pred_H(x,y)+1)>>2
Pred_V(x,y)=((h-1-y)*Rec(x,-1)+(y+1)*Rec(-1,h)+(h>>1))>>log2(h)
Pred_H(x,y)=((w-1-x)*Rec(-1,y)+(x+1)*Rec(w,-1)+(w>>1))>>log2(w) (8)
InterPF模式二:组合预测样点被导出为帧间预测样点和来自左、上的三个邻居重建样点的加权平均:
P′(x,y)=f(x)·P(-1,y)+f(y)·P(x,-1)+(1-f(x)-f(y))·P(x,y) (9)
在式(9)中,权重参数f(x)和f(y)被预定义为一个查找表(look-up-table,LUT),该查找表是基于当前CU的尺寸和帧内预测方向确定的。
尽管现有的OBMC可以高效地减少运动补偿阶段的块效应伪像,但其性能仍有待提高。特别是,在当前设计中,重叠区域是固定的,在该重叠区域中,应用周围块的MV来修改当前CU的预测样点。这种设计不适用于VVC/AVS3的高级块分割结构,其中可以通过不同的QT/BT/TT组合来实现可变块尺寸。另一方面,当前的OBMC设计也给编码器和解码器两者的设计带来了显著的复杂度。特别是,当OBMC被应用在基于子块的MC之上时,鉴于需要重复多次相同的OBMC(每次针对一个单独的子块)来修改一个CU内的所有子块的预测信号,这种复杂度问题可能变得严重。这不仅会导致计算复杂度和存储器带宽的显著增加,还可能使硬件编码器/解码器处的流水线设计和并行处理复杂化。
在本公开中,提出了提高OBMC的编解码效率并简化现有的OBMC设计以促进其用于硬件编解码器的实施方式的方法。特别地,为了最大化OBMC的编解码增益,特别注意使OBMC更好地适应VVC和AVS3标准的当前可变块分割结构。总体而言,本公开中提出的技术的主要方面可以总结如下。
为了提高编解码效率,提出了一种自适应的OBMC方案。与其中OBMC固定地应用于4乘4单元的现有方法相比,所提出的算法自适应地调整OBMC所应用于的区域。此外,为了适应邻居MV之间变化的相关性,用于组合当前CU及其空间邻居的运动补偿预测的权重也可以自适应地改变。
为了降低OBMC的最坏情况复杂度,针对需要多个假设以生成当前CU的预测样点的编解码模式,提出了禁用OBMC的约束。首先,提出了一种基于单向预测的OBMC约束,其中仅允许将OBMC应用于从一个单个预测方向预测的帧间块(即,单向预测)。第二,提出了针对GPM/AWP和CIIP/InterPF禁用OBMC,在GPM/AWP和CIIP/InterPF中,引入了附加的帧内/混合操作以生成最终预测样点。
为了简化OBMC的计算复杂度,提出了仅对一个CU与其有因果关联的邻居(即,顶部和左侧)之间的边界上的预测样点启用OBMC。对于以任何子块模式编解码的CU,其内部子块边界上的OBMC始终被禁用。
具有可变应用区域和自适应混合的改进OBMC
如上文所讨论,在现有的OBMC设计中,无关于不同的块尺寸和编解码模式,重叠区域保持不变,在重叠区域中,一个当前CU的预测样点与其空间邻居的预测样点混合。然而,在现代视频编解码标准(诸如VVC和AVS3)中,应用可变块尺寸分割结构来适应不同视频的局部统计/相关性。相应地,就OBMC方案的编解码效率和编码/解码复杂度而言,始终使用固定尺寸的样点混合可能不是最佳的。首先,选择大的混合尺寸的缺点在于,使用邻居MV生成的预测样点往往远离对应的邻居块。因此,使用当前MV和邻居MV生成的预测样点之间的相关性可能不足。此外,鉴于在OBMC过程期间需要生成更多预测样点,大的混合区域也会导致计算复杂度的增加。另一方面,大的混合尺寸也可能是有利的,因为它可以在存在噪声(即,视频捕获噪声和编解码过程引起的噪声)的情况下产生更可靠的预测信号。因此,为不同的块尺寸和编解码模式选择最佳混合区域是重要的,其能够最大化用不同MV生成的多个预测之间的相关性,同时对编解码噪声提供足够的抵抗力。
基于以上考虑,本节提出了一种改进的OBMC方案。与现有的OBMC相比,所提出的算法具有两个主要区别:1)基于当前CU的块尺寸和编解码模式,自适应地调整一个CU/子块的每个边界上的OBMC混合区域;2)基于预测样点之间的相关性,自适应地确定用于组合多个OBMC预测样点的最佳权重因子。此外,为了避免复杂的二维(2-D)混合操作,类似于现有设计,所提出的OBMC被划分成具有1-D混合的多个步骤:在第一步,仅使用当前CU/子块上方的邻居块的MV来与接近当前CU/子块的顶部边界的预测样点进行组合;在第二步,仅使用当前CU/子块左侧的邻居块的MV来与当前CU/子块左侧边界附近的预测样点进行组合;此外,当通过一种子块分割模式(例如,仿射、SbTMVP和MVAP)对当前CU进行编解码时,将第三步和第四步应用于每个子块,其中使用当前子块下方和右侧的邻居子块的MV来修改接近子块的底部和右侧边界的预测样点。
为了便于描述,在下文中,以不进行子块分割的常规帧间预测为例(但不限于此示例)来说明所提出的算法。具体地,令Pobmc(x,y)表示在将当前CU的预测信号与基于其空间邻居的MV的多个预测信号组合后的在坐标(x,y)处的混合预测样点;Pcur(x,y)表示在当前CU的坐标(x,y)处的使用其对应MV的预测样点;Ptop(x,y)和Pleft(x,y)表示在当前CU的相同位置处、但分别使用该CU的左侧邻居和右侧邻居的MV的预测样点。
基于上述符号,使用当前CU的顶部和左侧有因果关联的邻居的MV来逐步更新当前CU的边界预测样点。如图11A和11B所示,首先检查当前块的顶部上的块A。如果块A是一个帧间块,则其MV将被分配给当前块以生成当前块的同位位置处的预测信号Ptop(x,y)。此后,将Pcur和Ptop中当前块的顶部边界(如由图11A中的阴影区域指示的)下的数个行进行混合,以生成对应的OBMC预测信号Pobmc。根据一个预定义函数来计算用于组合两个预测信号的加权参数,其中K是应用混合的行数,并且l=0,1,…,K-1。具体地,在应用OBMC之后,将当前块的顶部边界上的更新预测样点计算为:
接下来,通过遵循相同的过程,所提出的方案通过以下方式继续对当前块的左侧边界上的预测样点进行更新:1)使用左侧空间邻居(即,块B和C)的MV来生成当前块的同位预测样点Pleft(x,y);将Pleft(x,y)与式(10)中的现有预测信号进行混合,以生成最终的OBMC预测信号:
为了适应使用当前块及其邻居块的MV生成的预测样点之间的变化的相关性,可以使用不同的函数来生成用于OBMC混合的加权因子。在本公开的一个实施例中,提出使用以下余弦函数来将相关性函数公式化为:
其中,ω*是控制参数,其用于控制所应用的权重值的整体范围。对于现代视频编解码技术的技术人员而言,也可以应用其他公式函数(诸如升余弦/正弦、指数函数、高阶多项式函数等)来生成权重。在实践中,可以根据被编解码的视频的具体特性应用不同的ω*值。在一个实施例中,提出使用一个固定的权重值(例如,0.5);相应地,通过这种方法,不需要从编码器向解码器用信号发送权重值。在另一个实施例中,提出确定一组预定义的权重值(例如,0.125和0.875),并允许它时不时改变,并将所选择的权重值用信号发送到解码器。在又一个实施例中,提出给予编码器即时地导出任意权重值的自由,并将其在比特流中用信号发送。在这种情况下,可以完全灵活地选择所允许的权重,即最大化编码器的灵活性。同时,当应用上述基于信令的方案中的任一方案时,可以在各种编解码级别(例如,序列参数集(SPS)、图片参数集(PPS)、图片/条带级别或者甚至CTU/CU级别)上,用信号发送对应的权重值。
在图11A-11B中,当应用垂直/水平OBMC时,对预测样点的总行/列的一半进行混合。如上文提到的,不同的混合尺寸可能导致实际编解码器实施方式的不同的编解码性能/复杂度折中。在一个实施例中,提出针对所有帧间块使用一种固定混合尺寸(例如,沿一个CU/子块的顶部/左侧边界的4行/列)。在另一个实施例中,提出基于当前CU的具体尺寸和分割方法来自适应地调整混合区域。例如,对于常规CU(即,没有子块分割的CU),提出基于CU的尺寸来确定混合区域。具体地,对于启用垂直OBMC(即,来自顶部邻居的OBMC),仅将混合应用于接近CU顶部边界的M%行的预测样点;否则,当启用水平OBMC(即,来自左侧邻居的OBMC)时,仅将混合应用于接近CU左侧边界的M%列的预测样点。另一方面,当通过一种子块分割模式(例如,仿射、SbTMVP和MVAP)对当前CU进行编解码时,基于对应的子块尺寸而不是CU尺寸来确定对应的混合尺寸(例如,M%的行/列)。在一个具体示例中,提出将M设置为50,即一半的行/列适用于OBMC(如图11A-11B所示)。在另一个实施例中,提出令编码器决定在应用OBMC时的混合尺寸,并将该值用信号发送给解码器。
基于单向预测的OBMC
如上文所讨论,当针对一个帧间CU启用OBMC时,需要执行多次运动补偿,以沿CU和子块边界两者生成预测样点。增加的运动补偿不仅由于附加的插值操作而增加计算复杂度,还带来不可忽略的存储器带宽消耗的增加。为了解决上述复杂度问题,在本节中,提出了一种受约束的OBMC方案,其中仅允许将OBMC应用于从一个单个预测方向预测(即,单向预测)的帧间块。同时,当对用于生成当前块的OBMC预测样点的一个邻居块进行双向预测时,仅选择来自一个方向的MV。具体地,如果一个邻居块是单向预测的,则将直接应用对应的MV以产生用于OBMC的预测样点。否则(即,邻居块是双向预测的),基于来自一个预测列表(L0或L1)的单向预测来生成OBMC所使用的帧间预测样点。为了选择预测列表,可以应用不同的方法。在第一种方法中,提出针对通过两个参考图片预测的任何邻居块,始终选择第一预测(即,列表L0)。在第二种方法中,提出针对通过两个参考图片预测的任何邻居块,始终选择第二预测(即,列表L1)。在第三种方法中,应用一种自适应方法,其中,选择与距当前图片具有较小图片顺序计数(POC)距离的一个参考图片相关联的预测列表。在两个参考图片距当前图片的POC距离相等的情况下,将选择具有更小更好质量的图片。为了确定哪个参考图片具有更好的重建质量,可以应用两种方法。在第一种方法中,可以将应用于对对应的参考图片/块进行编解码的QP参数用作标准,并且具有小的QP的参考图片将被用于OBMC。在另一种方法中,可以将层id用作另一标准,并且可以选择当前预测结构(例如,分层B结构)中具有小的层id的参考图片/块。
此外,如上文提到的,GPM/AWP模式需要两个单独的运动补偿和一个加权平均操作,其计算复杂度已经大于常规的双向预测。因此,如果将OBMC进一步应用于GPM/AWP模式,将有可能超过现有的帧间预测的最坏情况复杂度。基于这种考虑,在一个实施例中,提出针对通过GPM/AWP模式被编解码的CU禁用OBMC。
类似于GPM/AWP,CIIP/InterPF模式也引入了多于预测的操作来生成最终的预测信号,包括一个运动补偿(当对当前CU进行双向预测时,其可以是双向预测)、一个帧内预测和一个加权平均。因此,为了控制OBMC整体复杂度,作为本公开的一个实施例,提出当通过CIIP/InterPF模式对当前CU进行编解码时,禁用OBMC。
针对子块边界禁用OBMC
如上文所讨论的,一个CU(其通过一种子块模式被编解码)的子块的内部边界之间的OBMC的动机是为了减少存在于子块边界处的块效应伪像。这是通过将使用邻居MV的多个预测信号与一个子块的预测信号进行组合来完成的。如之前所指出的,由于需要针对OBMC执行大量的运动补偿,这可能会给实际的硬件/软件编解码器设计带来严重的复杂度问题。这不仅会导致复杂度显著增加,还可能使编码器和解码器两者的流水线设计和并行处理复杂化。另一方面,现有的子块模式的运动参数是从其空间/时间邻居运动导出的。例如,SbTMVP的运动场是从时间邻居导出的,并且仿射模式的运动场是基于线性模式根据关键空间邻居运动导出的。因此,这导致大多数子块模式的运动场相对稳定/一致。这意味着,通过针对子块边界的内部OBMC过程实现的附加的性能改进应该非常有限。基于这种分析,对于应用了子块分割的CU(例如,仿射、SbTMVP和MVAP),提出针对沿不同子块之间的边界的所有预测样点都禁用OBMC,而沿CU边界的OBMC仍然被应用。在另一个实施例中,提出针对仿射模式的子块边界启用OBMC,但针对SbTMVP和MVAP模式的子块边界禁用OBMC。在另一个实施例中,提出针对仿射模式的子块边界禁用OBMC,但针对SbTMVP和MVAP模式的子块边界启用OBMC。图12图示了根据本公开的一些实施方式的当针对SbTMVP和MVAP的子块边界禁用OBMC时的OBMC过程的流程图,图示了根据本公开的一些实施方式的使用顶部邻居的MV的OBMC方案的示意图。
解决OBMC和ASP之间的交互
如上文所讨论,在当前的AVS3标准中应用ASP,以进一步提高仿射模式的预测质量,这进一步在预测样点之上应用一个滤波器,该预测样点根据仿射模式的默认的基于子块的运动补偿被生成。在本节中,下面提出了不同的方法来处理当OBMC和ASP被应用于仿射模式时的交互。
首先,为了实现最佳的编解码性能,编解码器可以将OBMC和ASP应用于一个仿射CU。此外,当两个编解码工具都被启用时,可能存在不同的应用顺序。在一种方法中,提出首先应用ASP,随后应用OBMC来调整CU顶部和左侧边界上的子块的预测样点。具体地,通过这种方法,针对沿着CU顶部和左侧边界的子块,首先在现有的基于子块的运动补偿样点之上应用基于ASP的样点细化。然后,通过将ASP的细化的预测样点与使用对应的邻居块的运动而生成的预测样点相组合来应用OBMC。另一方面,针对CU内的子块(即,非边界子块),仅应用ASP。在第二种方法中,提出针对沿着CU顶部和左侧边界的子块,首先应用OBMC,随后应用ASP。更具体地,当应用该方法时,首先应用OBMC,以基于其空间邻居运动修改CU边界子块的预测样点。此后,ASP被进一步应用于从OBMC输出的修改的预测样点。类似于第一种方法,针对CU内的子块,仅应用ASP。
第二,为了降低整体计算复杂度,编解码器可以针对仿射模式禁用OBMC,无论是否对一个仿射CU启用了ASP模式。在另一种方法中,提出当应用ASP时,针对仿射CU禁用OBMC。当ASP模式未被应用于一个CU时(例如,如在“仿射二次预测”中所提到的,通过MV差标准来绕过ASP模式),仍然应用OBMC。
第三,为了实现一个更好的性能/复杂度折中,编解码器可以针对沿着CU边界的子块启用OBMC并禁用ASP。同时,针对CU内的子块,仅应用ASP。图13图示了根据本公开的一些实施方式将OBMC和ASP联合应用于一个仿射CU 1301。如图13所示,仿射CU 1301包括顶部和左侧边界上的多个子块,这些子块被阴影化,并且OBMC被应用于这些阴影化的子块。除了这些阴影化的子块之外,仿射CU 1301包括在图13中未被阴影化的多个子块,并且ASP被应用于这些未被阴影化的子块。
图14是图示根据本公开的一些实施方式的用于视频压缩感测的装置的框图。装置1400可以是终端,诸如移动电话、平板电脑、数字广播终端、平板设备或个人数字助理。
如图14所示,装置1400可以包括以下组件中的一个或多个:处理组件1402、存储器1404、电源组件1406、多媒体组件1408、音频组件1410、输入/输出(I/O)接口1412、传感器组件1414和通信组件1416。
处理组件1402通常控制装置1400的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关的操作。处理组件1402可以包括一个或多个处理器1420,用于执行指令来完成上述方法的所有或部分步骤。此外,处理组件1402可以包括一个或多个模块,以促进处理组件1402和其他组件之间的交互。例如,处理组件1402可以包括多媒体模块,以促进多媒体组件1408和处理组件1402之间的交互。
存储器1404被配置为存储不同类型的数据,以支持装置1400的操作。这种数据的示例包括用于在装置1400上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1404可以由任何类型的易失性或非易失性存储设备或其组合来实现,并且存储器1404可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
电源组件1406为装置1400的不同组件供电。电源组件1406可以包括电源管理系统、一个或多个电源以及与为装置1400生成、管理和分配电力相关联的其他组件。
多媒体组件1408包括在装置1400和用户之间提供输出接口的屏幕。在一些示例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可以被实施为接收来自用户的输入信号的触摸屏。触摸面板可以包括一个或多个触摸传感器,用于感测触摸面板上的触摸、滑动和手势。触摸传感器不仅可以感测触摸或滑动动作的边界,还可以检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件1408可以包括前置相机和/或后置相机。当装置1400处于诸如拍摄模式或视频模式的操作模式时,前置相机和/或后置相机可以接收外部多媒体数据。
音频组件1410被配置为输出和/或输入音频信号。例如,音频组件1410包括麦克风(MIC)。当装置1400处于诸如呼叫模式、记录模式和语音识别模式的操作模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以进一步存储在存储器1404中,或者经由通信组件1416被发送。在一些示例中,音频组件1410进一步包括用于输出音频信号的扬声器。
I/O接口1412提供处理组件1402和外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可以包括但不限于主页按钮、音量按钮、开始按钮和锁定按钮。
传感器组件1414包括一个或多个传感器,用于为装置1400提供不同方面的状态评估。例如,传感器组件1414可以检测装置1400的开/关状态以及组件的相对位置。例如,组件是装置1400的显示器和键盘。传感器组件1414还可以检测装置1400或装置1400的组件的位置变化、用户在装置1400上的接触的存在或不存在、装置1400的方向或加速/减速以及装置1400的温度变化。传感器组件1414可以包括接近传感器,该接近传感器被配置为在没有任何物理触摸的情况下检测附近对象的存在。传感器组件1414可以进一步包括光学传感器,诸如在成像应用中使用的CMOS或CCD图像传感器。在一些示例中,传感器组件1414可以进一步包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1416被配置为促进装置1400和其他设备之间的有线或无线通信。装置1400可以基于诸如WiFi、4G或其组合的通信标准来接入无线网络。在一个示例中,通信组件1416经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在一个示例中,通信组件1416可以进一步包括用于促进短程通信的近场通信(NFC)模块。例如,NFC模块可以基于射频识别(RFID)技术、红外数据组织(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实施。
在一个示例中,装置1400可以由专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件中的一个或多个来实施以执行上述方法。非暂时性计算机可读存储介质可以是例如硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、混合驱动器或固态混合驱动器(SSHD)、只读存储器(ROM)、光盘只读存储器(CD-ROM)、磁带、软盘等。
图15图示了流程图,该流程图图示了根据本公开的一些实施方式的用于视频解码的过程。在步骤1501中,一个或多个处理器1420获取视频帧的仿射CU内的多个子块,其中该多个子块包括多个边界子块和多个非边界子块。
在一些示例中,如图8和图13所示,多个边界子块包括位于仿射CU的顶部和左侧边界上的多个左上边界子块。例如,在图8中,子块B1-B7是当前CU的左上边界子块。在图13中,阴影化的子块是仿射CU 1301的左上边界子块。
在步骤1502中,一个或多个处理器1420将OBMC和ASP两者应用于至少一个子块,以生成针对仿射CU的基于子块的预测。
在一些示例中,一个或多个处理器1420可以在多个左上边界子块之上应用ASP,随后应用OBMC,以调整多个左上边界子块的预测样点。例如,一个或多个处理器1420可以在多个左上边界子块上应用ASP,以获取对应于多个左上边界子块的细化的预测样点,并且然后通过将细化的预测样点和基于仿射CU的邻居块的运动而生成的预测样点进行组合来在细化的预测样点上应用OBMC。
在一些示例中,一个或多个处理器1420可以在多个左上边界子块上应用OBMC,随后应用ASP,以调整多个左上边界子块的预测样点。例如,一个或多个处理器1420可以在多个左上边界子块上应用OBMC,以基于仿射CU的邻居块的运动来修改多个左上边界子块的预测样点,并且然后将ASP应用于左上边界子块,以细化经修改的左上边界子块的预测样点。
在一些示例中,一个或多个处理器1420可以将ASP应用于多个非边界子块。
图16图示了流程图,该流程图图示了根据本公开的一些实施方式的用于视频解码的过程。在步骤1601中,一个或多个处理器1420获取视频帧的仿射CU内的多个子块,其中该多个子块包括多个边界子块和多个非边界子块。
在步骤1602中,一个或多个处理器1420针对多个非边界子块启用ASP,并且针对多个非边界子块禁用重叠块运动补偿OBMC。
在一些示例中,多个边界子块可以包括仿射CU的所有边界处的子块。例如,在图13中,阴影化的子块是位于仿射CU的顶部和左侧边界上的边界子块。
在一些示例中,多个非边界子块可以包括不位于仿射CU的一个或多个边界上的子块。例如,在图13中,未阴影化的子块是非边界子块。
在一些示例中,一个或多个处理器1420可以针对多个边界子块启用OBMC,并且针对多个边界子块禁用ASP。
在一些示例中,一个或多个处理器1420可以针对多个边界子块禁用OBMC。
在一些示例中,响应于确定ASP被应用于子块,一个或多个处理器1420可以针对子块禁用OBMC。
在一些示例中,响应于确定ASP没有被应用于子块,一个或多个处理器1420可以针对子块启用OBMC。
在一些其他示例中,提供了具有存储在其中的指令的非暂时性计算机可读存储介质1404。当指令由一个或多个处理器1420执行时,指令使得处理器执行如图15-16和上文描述的任何方法。
本公开的描述已经出于说明的目的而被呈现,并且不旨在是穷尽性的或限制于本公开。受益于前述描述和相关附图中呈现的教导,许多修改、变型和替代实施方式对于本领域普通技术人员将显而易见。
选择和描述示例是为了解释本公开的原理,并且使本领域的其他技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在本公开的范围内。
Claims (15)
1.一种用于视频解码的方法,包括:
获取视频帧的仿射编码单元(CU)内的多个子块,其中所述多个子块包括多个边界子块和多个非边界子块;以及
将重叠块运动补偿(OBMC)和仿射二次预测(ASP)两者应用于至少一个子块,以生成针对所述仿射CU的基于子块的预测。
2.根据权利要求1所述的方法,其中所述多个边界子块包括位于所述仿射CU的顶部和左侧边界上的多个左上边界子块,其中所述方法进一步包括:
在所述多个左上边界子块上应用所述ASP,随后应用所述OBMC,以调整所述多个左上边界子块的预测样点。
3.根据权利要求2所述的方法,其中在所述多个左上边界子块上应用所述ASP,随后应用所述OBMC,以调整所述多个左上边界子块的所述预测样点包括:
在所述多个左上边界子块上应用所述ASP,以获取对应于所述多个左上边界子块的细化的预测样点;以及
通过将所述细化的预测样点和基于所述仿射CU的邻居块的运动而生成的预测样点进行组合,来在所述细化的预测样点上应用所述OBMC。
4.根据权利要求1所述的方法,其中所述多个边界子块包括位于所述仿射CU的顶部和左侧边界上的多个左上边界子块,其中所述方法进一步包括:
在所述多个左上边界子块上应用所述OBMC,随后应用所述ASP,以调整所述多个左上边界子块的预测样点。
5.根据权利要求4所述的方法,其中在所述多个左上边界子块上应用所述OBMC,随后应用所述ASP,以调整所述多个左上边界子块的所述预测样点包括:
在所述多个左上边界子块上应用所述OBMC,以基于所述仿射CU的邻居块的运动来修改所述多个左上边界子块的所述预测样点;以及
将所述ASP应用于所述多个左上边界子块,以细化经修改的所述多个左上边界子块的所述预测样点。
6.根据权利要求1所述的方法,进一步包括:
将所述ASP应用于所述多个非边界子块。
7.一种用于视频解码的方法,包括:
获取视频帧的仿射编码单元(CU)内的多个子块,其中所述多个子块包括多个边界子块和多个非边界子块;以及
针对所述多个非边界子块启用仿射二次预测(ASP),并且针对所述多个非边界子块禁用重叠块运动补偿(OBMC)。
8.根据权利要求7所述的方法,进一步包括:
针对所述多个边界子块启用所述OBMC,并且针对所述多个边界子块禁用所述ASP。
9.根据权利要求7所述的方法,进一步包括:
针对所述多个边界子块禁用所述OBMC。
10.根据权利要求7所述的方法,进一步包括:
响应于确定所述ASP被应用于一子块,针对该子块禁用所述OBMC。
11.根据权利要求7所述的方法,进一步包括:
响应于确定所述ASP不被应用于一子块,针对该子块启用所述OBMC。
12.一种用于视频解码的装置,包括:
一个或多个处理器;以及
存储器,被配置为存储能够由所述一个或多个处理器执行的指令,
其中,在执行所述指令时,所述一个或多个处理器被配置为执行根据权利要求1-6中任一项所述的方法。
13.一种用于视频解码的装置,包括:
一个或多个处理器;以及
存储器,被配置为存储能够由所述一个或多个处理器执行的指令,
其中,在执行所述指令时,所述一个或多个处理器被配置为执行根据权利要求7-11中任一项所述的方法。
14.一种非暂时性计算机可读存储介质,存储计算机可执行指令,当由一个或多个计算机处理器执行时,所述计算机可执行指令使得所述一个或多个计算机处理器执行根据权利要求1-6中任一项所述的方法。
15.一种非暂时性计算机可读存储介质,存储计算机可执行指令,当由一个或多个计算机处理器执行时,所述计算机可执行指令使得所述一个或多个计算机处理器执行根据权利要求7-11中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163167619P | 2021-03-29 | 2021-03-29 | |
US63/167619 | 2021-03-29 | ||
PCT/US2022/022384 WO2022212405A1 (en) | 2021-03-29 | 2022-03-29 | Overlapped block motion compensation for inter prediction |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117083861A true CN117083861A (zh) | 2023-11-17 |
Family
ID=83459859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280025153.4A Pending CN117083861A (zh) | 2021-03-29 | 2022-03-29 | 用于帧间预测的重叠块运动补偿 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240015316A1 (zh) |
EP (1) | EP4315860A1 (zh) |
CN (1) | CN117083861A (zh) |
WO (1) | WO2022212405A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024146374A1 (en) * | 2023-01-03 | 2024-07-11 | Mediatek Inc. | Method and apparatus of parameters inheritance for overlapped blocks motion compensation in video coding system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10230980B2 (en) * | 2015-01-26 | 2019-03-12 | Qualcomm Incorporated | Overlapped motion compensation for video coding |
WO2018123444A1 (ja) * | 2016-12-28 | 2018-07-05 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
JP2021016018A (ja) * | 2017-11-13 | 2021-02-12 | シャープ株式会社 | 動画像符号化装置、動画像復号装置および動きベクトル導出装置 |
EP3782369B1 (en) * | 2018-05-30 | 2023-08-23 | Huawei Technologies Co., Ltd. | Multi-type tree depth extension for picture boundary handling |
US11310519B2 (en) * | 2019-09-18 | 2022-04-19 | Qualcomm Incorporated | Deblocking of subblock boundaries for affine motion compensated coding |
-
2022
- 2022-03-29 EP EP22782040.4A patent/EP4315860A1/en active Pending
- 2022-03-29 CN CN202280025153.4A patent/CN117083861A/zh active Pending
- 2022-03-29 WO PCT/US2022/022384 patent/WO2022212405A1/en active Application Filing
-
2023
- 2023-09-26 US US18/474,477 patent/US20240015316A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240015316A1 (en) | 2024-01-11 |
EP4315860A1 (en) | 2024-02-07 |
WO2022212405A1 (en) | 2022-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020172342A9 (en) | Methods and apparatus of motion vector rounding, clipping and storage for inter prediction | |
CN116506609B (zh) | 用于在视频编码中用信号发送合并模式的方法和装置 | |
CN115643400B (zh) | 用于视频解码的方法、装置和存储介质 | |
WO2021030502A1 (en) | Methods and apparatuses for adaptive motion vector resolution in video coding | |
US20240098290A1 (en) | Methods and devices for overlapped block motion compensation for inter prediction | |
US20240015316A1 (en) | Overlapped block motion compensation for inter prediction | |
WO2021188598A1 (en) | Methods and devices for affine motion-compensated prediction refinement | |
WO2022081878A1 (en) | Methods and apparatuses for affine motion-compensated prediction refinement | |
WO2022032028A1 (en) | Methods and apparatuses for affine motion-compensated prediction refinement | |
CN114513666B (zh) | 用于视频编解码中的解码器侧运动矢量细化的方法和装置 | |
CN114342390B (zh) | 用于仿射运动补偿的预测细化的方法和装置 | |
CN114128263B (zh) | 用于视频编解码中的自适应运动矢量分辨率的方法和设备 | |
CN114080807A (zh) | 利用三角分区进行视频编解码的方法和装置 | |
CN114051732A (zh) | 用于视频编解码中的解码器侧运动矢量细化的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |