CN117917077A - 用于视频编解码系统中硬件友好模板匹配的方法和装置 - Google Patents

用于视频编解码系统中硬件友好模板匹配的方法和装置 Download PDF

Info

Publication number
CN117917077A
CN117917077A CN202280060772.7A CN202280060772A CN117917077A CN 117917077 A CN117917077 A CN 117917077A CN 202280060772 A CN202280060772 A CN 202280060772A CN 117917077 A CN117917077 A CN 117917077A
Authority
CN
China
Prior art keywords
template
current
determined
region
block
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
CN202280060772.7A
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 CN117917077A publication Critical patent/CN117917077A/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Abstract

公开了用于确定的区域进行模板匹配的方法和装置。根据该方法,接收当前块的包括当前块的上侧、当前块的左侧或其组合的当前相邻像素的当前模板。然后确定参考图片中的区域,其中参考图片对应于先前编码的图片。然后确定参考块的受限参考模板与当前模板的匹配结果,其中受限参考模板是仅使用确定区域内的参考模板的相邻参考像素生成的,参考模板具有与当前模板相同的形状,参考模板的位置是根据来自当前模板的目标运动矢量(MV)确定的。

Description

用于视频编解码系统中硬件友好模板匹配的方法和装置
交叉引用
本申请享有2021年8月19日提交的申请号为63/234,739的美国临时专利申请之优先权,该先前申请在此全文引用。
技术领域
本发明涉及视频编解码系统。特别地,本发明涉及视频编解码系统中模板匹配编码工具的有效硬件实现。
背景技术
多功能视频编码(VVC)是由ITU-T视频编码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的联合视频专家组(JVET)开发的最新国际视频编码标准。该标准已作为ISO标准发布:ISO/IEC 23090-3:2021,信息技术-沉浸式媒体的编码表示-第3部分:多功能视频编码,2021年2月发布。VVC是基于其前身HEVC(High Efficiency Video Coding)通过添加更多的编码工具来提高编码效率并处理包括3维(3D)视频信号在内的各种类型的视频源。
图1A图示了结合循环处理的示例性自适应帧间/帧内视频编码系统。对于帧内预测110,预测数据是基于当前图片中先前编码的视频数据得出的。对于帧间预测112,在编码器侧执行运动估计(ME)并且基于ME的结果执行运动补偿(MC)以提供从其他图片和运动数据导出的预测数据。开关114选择帧内预测110或帧间预测112,并且选择的预测数据被提供给加法器116以形成预测误差,也称为残差。然后由变换(T)118接着量化(Q)120处理预测误差。然后由熵编码器122对变换和量化的残差进行编码以包括在对应于压缩视频数据的视频比特流中。然后,与变换系数相关联的比特流与诸如与帧内预测和帧间预测相关联的运动和编码模式等辅助信息以及与应用于底层图片区域的环路滤波器相关联的参数等其他信息打包。如图1A所示,与帧内预测110、帧间预测112和环路滤波器130相关联的边信息被提供给熵编码器122。当使用帧间预测模式时,参考图片也必须在编码器端重建。因此,变换和量化的残差由反量化(IQ)124和反变换(IT)126处理以恢复残差。然后在重建(REC)128将残差加回到预测资料136以重建视频资料。重构的视频资料可以存储在参考图片缓冲器134中并且用于其他帧的预测。
如图1A所示,输入视频数据在编码系统中经历一系列处理。由于一系列处理,来自REC 128的重建视频数据可能会受到各种损害。因此,在将重构视频数据存储在参考图片缓冲器134中之前,经常将环路滤波器130应用于重构视频数据,以提高视频质量。例如,可以使用去块滤波器(DF)、样本自适应偏移(SAO)和自适应环路滤波器(ALF)。可能需要将环路滤波器信息合并到比特流中,以便解码器可以正确地恢复所需的信息。因此,环路滤波器信息也被提供给熵编码器122以结合到比特流中。在图1A中,在将重构样本存储在参考图片缓冲器134中之前,将环路滤波器130应用于重构视频。图1A中的系统旨在说明典型视频编码器的示例性结构。它可以对应于高效视频编码(HEVC)系统、VP8、VP9、H.264或VVC。
如图1A、图1B所示,解码器可以使用与编码器相似或部分相同的功能块,除了变换118和量化120之外,因为解码器只需要反量化124和反变换126。如图所示,代替熵编码器122,解码器使用熵解码器140将视频比特流解码为量化的变换系数和所需的编码信息(例如,ILPF信息、帧内预测信息和帧间预测信息)。解码器侧的帧内预测150不需要执行模式搜索。相反,解码器只需要根据从熵解码器140接收到的帧内预测信息来生成帧内预测。此外,对于帧间预测,解码器只需要根据从熵解码器140接收到的帧内预测信息执行运动补偿(MC152)无需运动估计。
根据VVC,类似于HEVC,输入图片被划分为称为CTU(编码树单元)的非重迭方形块区域。每个CTU可以划分为一个或多个较小尺寸的视频单元(CU)。生成的CU分区可以是正方形或矩形。此外,VVC将CTU划分为预测单元(PU)作为一个单元来应用预测过程,例如帧间预测、帧内预测等。
VVC标准结合了各种新的编码工具,以进一步提高HEVC标准的编码效率。在各种新的编码工具中,有些已经被标准采用,有些没有。在新的编码工具中,公开了一种名为模板匹配(Template Matching)的技术,用于导出当前块的运动矢量(MV)。模板匹配简要回顾如下。
模板匹配(TM)
在JVET-J0021(Yi-Wen Chen,et al.,“Description of SDR,HDR and 360°videocoding technology proposal by Qualcomm and Technicolor–low and high complexversions”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11联合视频探索小组(JVET),第10次会议:美国圣地亚哥,2018年4月10日至20日,文件:JVET-J0021),模板匹配是一种解码器端的MV推导方法,通过找到当前图片中的模板(即当前CU的上方和/或左侧相邻块)与如图2中所示的参考图片。在图2中,当前图片210中当前块上方的行214的像素和当前块212左侧的列216的像素被选择为模板。搜索从参考图片中的初始位置(由初始MV 230标识)开始。如图2所示,在参考图片220中参考块222上方的对应行的像素224和参考块222左侧的列226的像素被识别。在搜索期间,在不同位置的相同的“L”形参考像素(即224和226)与当前块周围模板中的相应像素进行比较。在搜索之后确定具有最小匹配失真(matchingdistortion)的位置。在该位置,选择具有最佳“L”形像素作为其上方和左侧邻居(即最小失真)的块作为当前块的参考块。
由于在编码器侧和解码器侧都执行基于模板匹配的细化过程,因此解码器可以在不需要来自编码器侧的信号信息的情况下导出MV。在参考图片局部搜索区域内的,搜索范围为[-8,8]整数像素精度,模板匹配过程通过找到当前图片中的当前模板(当前块的上方和/或左侧相邻块)与参考模板(与当前模板大小相同)之间的最佳匹配来导出当前块的运动信息。
在确定细化MV后,在编码器端和解码器端执行运动补偿。根据细化的MV生成运动补偿预测器(或预测块),如果细化的MV不具有整数像素值,则可能需要进行一些插值。然后,编码器将使用此运动补偿预测器生成预测残差块,解码器将使用此运动补偿预测器生成重构块。
在AMVP(高级运动矢量预测(Advanced Motion Vector Prediction)或适应性运动矢量预测(Adaptive Motion Vector Prediction))模式下应用TM时,根据初始模板匹配误差确定MVP(运动矢量预测)候选者,以选取与当前块模板和参考块模板之间的差值达到最小的候选者。然后TM仅针对这个特定的MVP候选者进行MV细化(即,围绕初始MVP候选者进行局部搜索)。TM通过使用迭代菱形搜索,从[–8,+8]像素搜索范围内的全像素运动矢量差异(Motion Vector Difference,MVD)精度(或4像素AMVR模式的4像素)开始细化这个MVP候选者。AMVP候选者可以通过使用具有全像素MVD精度(或4像素用于4像素AMVR模式)的交叉搜索来进一步细化,然后根据表1中指定的AMVR模式依次进行半像素和四分之一像素搜索。这个搜索过程保证了MVP候选在TM过程之后仍然保持与AMVR模式指示的相同的MV精度。
表1.AMVR与具有AMVR之合并模式之搜索模型
在合并模式中,相似的搜索方法被应用于由合并索引指示的合并候选。如表1所示,TM可以一直执行到1/8像素MVD精度或跳过超过半像素MVD精度的那些,这取决于是否根据合并运动信息(如AltIF所示)使用替代插值滤波器(当AMVR为半像素模式时使用)。此外,当启用TM模式时,模板匹配可以作为一个独立的过程,也可以作为基于块和基于子块的双边匹配(bilateral matching,BM)方法之间的一个额外的MV细化过程,这取决于是否可以基于条件检查启用BM。当BM和TM都为CU启用时,TM的搜索过程停止在半像素MVD精度,并且使用相同的基于模型的MVD推导方法进一步在DMVR(解码器端运动矢量细化,Decoder-SideMotion Vector Refinement)中细化结果MV。
基本数据结构
在VVC中,还引入了一些新的数据结构。图片被划分为非重迭的正方形编码树单元(CTU)。每个CTU包含一个亮度编码树块(CTB)和两个色度CTB。使用带有嵌套多类型树(MTT)的四叉树(QT),可以将每个CTU视为一个或进一步划分为多个编码单元(CU)。CU分区对应一个编码树叶子节点,其中一个CU在一棵树中包含一个亮度编码块(CB)和两个色度CB(亮度和色度的编码树)。一个CB(Coding Block)包含一个亮度CB或两个色度CB的双叉树,即由一棵亮度编码树和另一棵色度编码树组成的颜色分离树(CST)。
除了一些CU模式或尺寸外,CU也被用作预测和变换的基本单位。最大亮度变换大小为64或32。当当前变换块(TB)的大小在宽度或高度上大于最大变换大小时,推断TB在水平或垂直方向上进一步均匀分割。例如,当最大亮度变换大小为64且大小为128x128亮度CB时,亮度CB被推断为划分为四个64x64亮度TB。
多类型树(MTT)包括以下分割,如图3所示:
水平二叉树(BT)分割(3120)
垂直BT分割(3210)
水平三叉树(TT)分割(3340)
垂直TT分割(3430)
从概念上讲,从CTU开始,每个编码树节点可以通过QT分割或四个MTT分割之一进一步分割。如果QT分割应用于父节点,则允许对其父节点的子节点进行QT、BT和TT分割(如果BT、TT或QT应用于父节点,则为两个、三个或四个)子节点。一旦将MTT分割应用于父节点,QT分割将对其所有后代节点禁用(MTT深度>0),并且后代节点仅允许BT和TT。
非对称二叉树分区
JVET-V0083中建议了四种新的非对称二叉树分割模式(F.Le Léannec等人,“EE2相关:VVC之上的非对称二叉树分割”,ITU-T SG 16的联合视频探索小组(JVET)WP 3和ISO/IEC JTC 1/SC 29/WG 11,第22次会议,电话会议,2021年4月20-28日,文件:JVET-V0083)和JVET-V0097(Kai Zhang等,“AHG12:不对称视频编码中的分区方法”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11联合视频探索小组(JVET),第22次会议,电话会议,2021年4月20-28日,文件:JVET-V0097)。建议在VVC的多类型树结构中添加4种不对称分割模式,以允许新的分割配置(即UBT-H1 410、UBT-H2 420、UBT-V1 430和UBT-V2 440)。这些添加的分割模式如图4所示。
UBT-H1和UBT-H2将一个维度为W×H的CU分成两个维度为{W×H/4,W×3H/4}和{W×3H/4,W×H/4}的子CU,分别。UBT-V1和UBT-V2将一个维度为W×H的CU分别分成两个维度为{W/4×H,3W/4×H}和{3W/4×H,W/4×H}的子CU。对于UBT,CU或TU的宽度或高度可能是非二元数(不是2N的形式)。一些编码工具,例如ISP(帧内子分区)模式、MIP(基于矩阵的帧内预测)模式和SBT(子块变换)模式应在这些CU中禁用(在JVET-V0097中提出)。此外,还应引入6点、12点、24点和48点变换/逆变换来对具有非二元维度的残差块进行编解码。
不对称四叉树(UQT)分区
JVET-V0097中提出了四种类型的UQT(即UQT-H1510、UQT-H2520、UQT-V1530和UQT-V2540),如图5所示。UQT-H1和UQT-H2分割了一个CU尺寸为W×H的四个子CU,尺寸分别为{W×H/8,W×H/2,W×H/4,W×H/8}和{W×H/8,W×H/4,W×H/2,W×H/8}。UQT-V1和UQT-V2将一个维度为W×H的CU分成四个维度为{W/8×H,W/2×H,W/4×H,W/8×H}和{W/8×H,W/4×H,W/2×H,W/8×H}子CU。
具有CU级权重的双向预测(BCW)
BCW允许L0参考图片列表和L1参考图片列表在双向预测中有不同的权重
双预测是用一个为编码单元信号通知的加权参数生成的,其中P0对应于L0的预测,P1对应于L1的预测,w是加权因子:
P雙預測=((8-w)*P0+w*P1+4)>>3
低延迟图片的五个w选项:{-2,3,4,5,10}。
非低延迟图片的三个w选项:{3,4,5}。
权重索引是针对帧间模式明确发出信号的。
对于合并模式,BCW索引继承自所选的合并候选者或设置为默认值,表示权重相等
一个SPS(序列参数集)标志用于指示启用或禁用此工具:
sps_bcw_enabled_flag
上面提到的模板匹配搜索需要访问额外的参考数据来执行TM搜索。参考数据通常存储在外部存储器中,例如DRAM(动态随机存取存储器奥里)。因此,TM搜索会导致系统带宽增加。此外,TM搜索和运动补偿将增加系统的复杂性。期望开发方法和装置来减少额外的带宽和/或减少TM的计算复杂度。
发明内容
公开了一种用于利用与根据本发明确定的区域进行模板匹配的视频编解码系统的方法和装置。视频编解码系统可对应于视频编码器或视频解码器。根据该方法,接收与当前画面中的视频单元的当前块相关联的输入数据。当前块可以对应于CU。视频单元可以对应于CTU。确定当前块的当前模板,当前模板包括当前块上方、当前块左侧或其组合的当前相邻像素。确定参考图片中的区域,其中参考图片对应于先前编码的图片。确定参考块的受限参考模板与当前模板的匹配结果,受限参考模板是仅使用确定区域内的参考模板的相邻参考像素生成的,参考模板的形状与当前模板相同,参考模板的位置根据来自当前模板的目标运动矢量(MV)确定。
在一个实施例中,所确定的区域还被应用于运动补偿过程以使用由细化的MV指示的参考图片的参考像素来生成预测块,并且其中预测块仅使用所确定的区域中的参考像素。
在一个实施例中,匹配结果基于参考模板和当前模板之间的逐像素差异。在一个实施例中,确定匹配结果的步骤是针对包括初始MV的多个目标MV进行的,并且选择达到最佳匹配的目标MV作为细化MV。所确定的区域的位置可以基于当前块MV来确定。
在一个实施例中,所确定的区域等于用于初始MV的当前块的运动补偿区域。在另一个实施例中,所确定的区域大于当前块的运动补偿区域。此外,所确定的区域可以比当前块的运动补偿区域大预定尺寸。
在一个实施例中,使用填充技术来为所确定的区域之外的相邻参考像素生成数据。填充技术可以对应于重复填充或镜像填充。
在一个实施例中,首先计算部分参考模板的部分匹配结果,然后通过根据部分参考模板的大小对部分匹配结果进行归一化,将部分匹配结果缩放为匹配结果。例如,部分参考模板可以对应于所确定区域内的参考模板。
在一个实施例中,当目标运动矢量被四舍五入为整数运动矢量并且整数运动矢量的参考模板在确定的区域内时,所述确定的匹配结果的确定使用在确定区域内的整数运动矢量的参考模板。
附图说明
图1A图示了结合循环处理的示例性自适应帧间/帧内视频编码系统。
图1B图示了用于图1A中的编码器的对应解码器。
图2图示了模板匹配的示例,其中选择当前块和参考块上方的像素行以及当前块和参考块左侧的像素列作为模板。
图3说明了多类型树(MTT)分割,包括水平二叉树、垂直二叉树、水平三叉树和垂直三叉树。
图4说明了一种新型的分区-非对称二叉树分区。
图5说明了另一种新型分区-非对称四叉树分区。
图6图示了根据本发明的实施例的边界框的示例。
图7图示了根据本发明的实施例的基于子分区的模板匹配的示例。
图8图示了根据本发明实施例的利用与边界框的模板匹配的示例性视频编码系统的流程图。
具体实施方式
很容易理解,本发明的组件,如本文附图中一般描述和图示的,可以以多种不同的配置布置和设计。因此,如附图中所表示的本发明的系统和方法的实施例的以下更详细的描述并不旨在限制所要求保护的本发明的范围,而仅代表本发明的选定实施例。在整个说明书中对“一个实施例”、“一实施例”或类似语言的引用意味着结合该实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”或“在一实施例中”不一定都指代相同的实施例。
此外,所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。然而,相关领域的技术人员将认识到,本发明可以在没有一个或多个具体细节的情况下,或使用其他方法、组件等来实践。在其他情况下,未示出或未示出众所周知的结构或操作。详细描述以避免模糊本发明的方面。通过参考附图将最好地理解本发明的所示实施例,其中相同的部件自始至终由相同的数字表示。以下描述仅作为示例,并且简单地说明了与如本文所要求保护的本发明一致的设备和方法的某些选定实施例。
如前所述,TM优化过程需要访问模板的参考数据。此外,在细化过程中,必须从不同位置多次访问模板的参考数据。因此,TM细化过程可能会消耗大量内存带宽。为了解决这个问题,下面公开了一种带宽受限的TM搜索算法。
带宽限制TM搜索技术
为了减少MC和TM搜索的外部带宽,提出了一种带宽受限的TM搜索方法。为TM搜索和MC定义了一个区域(例如,一个边界框(boundingBox))。根据本发明,TM搜索区域和MC过滤都被限制在边界框内。在这种情况下,参考数据被限制在TM搜索过程以及运动补偿(MC)过程的边界框内。边界框外的任何参考数据都不会用于TM搜索过程或MC过程。边界框的位置可以基于当前MV,并且边界框的位置可以对应于边界框的起始位置(例如,左上角位置)。在一些其他实施例中,为TM搜索和/或MC定义的区域可以是基于当前MV定义/确定的其他形状,本公开不应对此进行限制。
图6图示了根据本发明的实施例的边界框的示例。在图6中,当前图片610(仅示出了部分图片区域)中当前块上方的像素行614和当前块612左侧的像素列616被选择为模板。搜索从参考图片中的初始位置(由初始MV 630标识)开始。参考图片620(仅显示部分图片区域)中参考块622上方的对应像素行624和参考块622左侧的像素列626被识别为如图6所示。[–8,+8]像素搜索范围640由虚线方块指示。
如图6所示,对于给定的MV,例如初始MV,边界框可以等于当前CU的MC区域(用粗线650标记)。MC区域(也称为当前CU的MC区域)对应于给定MV对当前CU执行运动补偿所需的参考像素区域。在另一个实施例中,边界框可以比当前CU的MC区域更大(例如,预定义的大小),并且根据该实施例的边界框在图6中被示为点划线框660。
关于如何处理边界框外的TM或MC所需的像素,有几个实施例。在一个实施例中,MC不限于TM的边界框。换句话说,MC进程可能会使用边界框之外的参考数据。在另一个实施例中,TM的边界框仅约束TM,不约束MC。换句话说,TM搜索只能使用边界框内的参考数据,而MC过程可能使用边界框外的参考数据。
在图6所示的边界框示例中,我们可以将TM搜索范围从(-8;+8)缩小到(-4;+4),并且我们使用初始MV来获得MC块(粗线块650)、点划线块660在粗线块650周围增加了一个小区域(例如+/-1或+/-2)。在一个实施例中,模板和最终MC仅通过使用粗线标记的块650内或点划线标记的块660内的样本生成。对于这两个块中的任何一个或两个块之外的参考像素,可以使用资料填充来生成所需的参考像素。
在一个实施例中,当TM搜索所需的模板的一些像素在边界框之外时,可以使用填充技术来生成所需的像素。在一个实施例中,填充对应于重复填充,其中重复相同的像素值以生成需要的像素。在另一个实施例中,使用镜像填充,其中填充像素对应于跨越边界的内部像素的镜像图像。在又一个实施例中,首先计算部分L-匹配结果,然后使用缩放来补偿使用的区域。例如,如果只有50%的像素在边界框内,则TM可以使用可用像素与模板的当前L形部分匹配,然后根据用于TM的区域对计算的匹配成本进行归一化(在本例中,需要乘以2倍)。
在一个实施例中,如果MV的舍入(例如,舍入到整数像素精度)导致L形模板完全适合边界框,则使用对应于舍入后的MV的L形。在一种情况下,插值区域最左边的像素列(即包含L形模板的插值像素的区域)位于边界框之外;如果我们将初始MV舍入为整数精度,则整数像素L形模板将完全位于边界框内。在这种情况下,将使用与整数像素MV对应的L形模板来代替根据一个实施例的原始L形模板。
基于预取(Pre-Fetch)的TM区域
为了减少TM过程的延迟,可以使用更积极的预取方法。预取TM参考数据区域工作的假设是,在大多数视频中,相邻的CU具有非常相似的MV,并且MV通常遵循某种趋势。这种相似性可用于减少TM延迟。在所提出方法的一个实施例中,可以根据先前CU的已解码MV定义TM搜索区域和/或最终MC的边界框。使用前一个CU的已解码MV而不是当前MV,可以更早地从外部存储器检索参考像素。前一个CU的已解码MV可以是原始MV(来自MV重建阶段),也可以是细化(refine)后的MV。
例如,我们可以将之前CU的MV记录为(mvx,mvy),然后我们可以为当前CU定义边界框,如下所示:
边界框端点的水平位置:
CU_x+mvx’–N1:CU_x+CU_宽度+mvx’+N2,
边界框端点的垂直位置:
CU_y+mvy’–N3:CU_y+CU_高度+mvy’+N4.
这里mvx',mvy'可以分别对应mvx,mvy;N1~N4是用于定义边界框的预定义常量。
在一个实施例中,如果TM搜索和/或MC需要使用边界框外的像素,则TM搜索和/或MC可以使用填充像素或取消TM候选。
在另一个实施例中,对于切片(slice)/片段(tile)中的第一个CTU中的CU,或者对于整个CTU行中的第一个CU,或者对于一个CTU内的第一个CU,可以禁用TM以避免第一个CU的TM。在另一个实施例中,在这种情况下检查预定义的MV(例如,零MV)。在另一个实施例中,在这种情况下检查来自基于历史的表的候选MV(即,包含以前使用过的MV)。
基于子分区的TM
在真实的硬件解码器中,如果将TM应用于大CU(例如128x128CU),硬件解码器可能无法处理这种情况,因为用于缓冲参考模板的内部SRAM会太大。下面,提出一种使硬件实现更容易的方法。
在一个实施例中,建议将大CU划分为几个较小的CU(例如32x32),并对每个较小的CU(例如32x32)分别执行TM。每个子分区都可以使用其顶部或左侧邻居进行TM搜索。在某些情况下,子分区可能没有相邻的邻居,例如图7中的子分区“D”。在图7中,CU 710被划分为4个较小的子分区720(A、B、C和D)。当前大CU的水平相邻或垂直相邻像素分别表示为730和732。在这种情况下,每个子分区可以使用当前大CU的对应的水平相邻或垂直相邻像素(如图7所示)。例如,子分区A可以使用相邻像素740和742,子分区B可以使用相邻像素744和742,子分区C可以使用相邻像素740和746,子分区D可以使用相邻像素744和746。此外,对于内部块(即本例中的子分区D),一种建议的方法是使用上/左/左顶块的MV继承并使用“外部模板”。
在另一个实施例中,仅针对较小CU的选定子集(subset)执行TM(例如,在图7中仅选择较小的CU A)并为其余较小的CU继承MV细化(例如,例如图7中的CU B、C、D继承MV细化)。在另一个实施例中,其余较小CU的MV细化是基于所选子集定义的(例如,作为所选子集的线性组合或平均值)。
信令MVP指数
在该方法中,建议发送一个索引以通知解码器要细化哪个合并候选者。在JVET-U100(Yao-Jen Chang等人,“超越VVC的压缩效率方法”,ITU-T SG 16WP 3和ISO/IEC JTC1/SC 29/WG 11的联合视频探索小组(JVET),第21次会议,通过电话会议,2021年1月6日至15日,文件:JVET-U0100),公开了使用TM寻找最佳候选的方法。因此,解码器需要检查候选列表,这可能导致解码器侧的带宽大且复杂度高。为了降低复杂度并在解码器处实现TM,我们提出了一种通过将编码器导出的最佳候选的索引发送到解码器来降低解码器复杂度的方法。如本领域所知,可以使用语法发送索引。在这种情况下,解码器只需要细化与接收到的索引对应的一个候选。
TM的简化整数搜索
在这个提议的方法中,我们将误差曲面(Error Surface)方法合并到TM中误差曲面方法是一种基于插值的方法,根据两个相邻的整数搜索位置获得小数搜索位置的失真结果。使用误差曲面方法,无需计算小数位置TM匹配的失真。相反,失真是针对整数位置TM计算的,并且整数位置失真用于在小数位置处插入失真。
根据所提出方法的一个实施例,我们只搜索整数位置的所有候选,并使用整数位置的元素来形成TM模板。执行TM搜索后,我们可以得出所有(或部分)整数像素搜索位置的失真。为了推导分数MV部分,我们只需要识别小数位置周围的整数位置失真,并使用误差曲面方法在小数搜索位置插入新的失真。
在另一个实施例中,我们首先执行整数像素位置搜索,然后直接通过原始MV的小数MV部分调整细化的MV。例如,初始MV[3.75,-4.25]可以四舍五入为整数MV[4;-4]小数MV部分为[+0.25;+0.25]。经过TM细化后,找到的最佳整数MV是[5,-6]。因此,根据[-0.25;-0.25]修改最佳整数MV,最终MV变为[4.75,-6.25]。
自适应搜索范围
在这个提议的方法中,SR(搜索范围,Search Range)取决于当前CU的某些条件。
在一个实施例中,如果当前CU的MV在垂直方向上更多样化(即,垂直方向上的MV差异较大),则我们将水平方向的SR分配为低于垂直方向。在另一个实施例中,如果当前CU的MV在垂直方向上多样化程度低(即,垂直方向上的MV差异较小),则我们将水平方向的SR分配为大于垂直方向。
在另一个实施例中,如果当前CU的MV在水平方向上更加多样化(即,MV在水平方向上的差异较大),则我们为垂直方向分配的SR低于水平方向。在另一个实施例中,如果当前CU的MV在水平方向上多样化程度低(即,MV在水平方向上的差异很小),则我们将垂直方向的SR分配为大于水平方向。
在一个实施例中,如果周围的CU(例如,上方、左侧、左上方等)MV在垂直方向上更加多样化,则我们将水平方向的SR指定为低于垂直方向(或者,在另一个实施例中,情况相反)。
对于另一个实施例,如果周围的CU(例如上方、左侧、左上方等)MV在水平方向上更加多样化,那么我们将垂直方向的SR指定为低于水平方向(或者,在另一个实施例中,情况相反)。
在另一实施例中,较大CU的SR将较大。
在另一个实施例中,当前CU的SR可以取决于相邻CU的搜索结果。例如,如果上/左邻居TM模式在搜索后显示出较大的MVD,则可能会增加当前CU的SR。
在另一实施例中,如果参考图片距当前图片更远(根据参考图片与当前图片的POC(图片顺序计数,Picture Order Count)距离),则SR将增加。
通过POC距离约束TM候选者
在所提出的方法中,建议禁用TM搜索一些POC(图片顺序计数)距离大于阈值的参考图片。在一个实施例中,一些语法元素可以被包括在图片头或切片头中以通知解码器关于哪个参考图片将被禁用用于TM搜索。当当前CU的MV的参考索引与禁止图片匹配时,隐式关闭对当前MV的TM搜索。在另一个实施例中,POC距离的预定义阈值可以在报头元素中用信号发送(例如,在切片报头或图片报头或片段报头或序列报头中),并且解码器将计算POC距离(即,当前CU和参考图片之间的POC距离),如果POC距离大于预定义的阈值,则TM模式将被隐式关闭。
模板匹配可以用作帧间预测技术来导出MV。模板匹配也可用于优化初始MV。因此,模板匹配过程被认为是帧间预测的一部分。因此,可以在编码器和/或解码器中实现前述提出的与模板匹配有关的方法。例如,所提出的方法可以在编码器的帧间编码模块(例如,图1A中的帧间预测112)和/或解码器的帧间模块(例如,图1B中的MC 152)中实现。
图8示出了利用与根据本发明实施例确定的区域进行模板匹配的示例性视频编解码系统的流程图。视频编解码系统可对应于视频编码器或视频解码器。流程图中所示的步骤可以实现为可在编码器侧的一个或多个处理器(例如,一个或多个CPU)上执行的程序代码。流程图中所示的步骤也可以基于硬件来实现,诸如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。根据该方法,在步骤810中接收与当前画面中的视频单元的当前块相关联的输入数据。当前块可以对应于CU。视频单元可以对应于CTU。在步骤820中确定当前块的当前模板,其中当前模板包括当前块上方、当前块左侧或其组合的当前相邻像素。在步骤830中确定参考图片中的区域,其中参考图片对应于先前编码的图片。在步骤840中确定参考块的受限参考模板与当前模板之间的匹配结果,其中受限参考模板是仅使用确定区域内的参考模板的相邻参考像素生成的,参考模板与当前模板具有相同的形状,参考模板的位置根据来自当前模板的目标运动矢量(MV)确定。
所示流程图旨在说明根据本发明的视频编码的示例。本领域技术人员在不脱离本发明的精神的情况下,可以修改每个步骤、重新排列步骤、分割步骤或组合步骤来实施本发明。在本公开中,已经使用特定的句法和语义来说明示例以实现本发明的实施例。技术人员可以通过用等效的句法和语义代替句法和语义来实践本发明,而不背离本发明的精神。
呈现以上描述是为了使本领域普通技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域技术人员来说将是显而易见的,并且本文定义的一般原理可以应用于其他实施例。因此,本发明不旨在限于所示和描述的特定实施例,而是要符合与本文公开的原理和新颖特征相一致的最宽范围。在以上详细描述中,为了提供对本发明的透彻理解,说明了各种具体细节。然而,本领域的技术人员将理解,可以实践本发明。
如上所述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实现。例如,本发明的一个实施例可以是集成到视频压缩芯片中的一个或多个电路电路或集成到视频压缩软件中以执行本文描述的处理的程序代码。本发明的实施例还可以是要在数字信号处理器(DSP)上执行以执行这里描述的处理的程序代码。本发明还可以涉及由计算器处理器、数字信号处理器、微处理器或现场可编程门数组(FPGA)执行的许多功能。这些处理器可以被配置为通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。软件代码或固件代码可以以不同的编程语言和不同的格式或样式开发。软件代码也可以针对不同的目标平台进行编译。然而,软件代码的不同代码格式、风格和语言以及配置代码以执行根据本发明的任务的其他方式将不脱离本发明的精神和范围。
本发明可以在不背离其精神或基本特征的情况下以其他特定形式体现。所描述的示例在所有方面都仅被认为是说明性的而不是限制性的。因此,本发明的范围由所附请求保护范围而不是由前述描述指示。在请求保护范围的等效含义和范围内的所有变化都应包含在其范围内。

Claims (14)

1.一种视频编解码方法,该方法包括:
接收与当前图片中的视频单元的当前块相关联的输入数据;
确定该当前块的当前模板,其中,该当前模板包括该当前块的上方、当前块的左侧或其组合的当前相邻像素;
确定参考图片中的区域,其中该参考图片对应于先前编码的图片;以及
确定参考块的受限参考模板与该当前模板之间的匹配结果,其中该受限参考模板是仅使用确定区域内的参考模板的相邻参考像素生成的,参考模板与该当前模板是具有相同的形状的模板,该参考模板的位置根据来自该当前模板的目标运动矢量(MV)确定。
2.根据权利要求1所述的方法,其特征在于,所确定的区域还被应用于运动补偿过程以生成预测块,该预测块是使用由细化的MV指示的参考图片的参考像素生成的,并且其中该预测块仅使用该确定的区域中的参考像素。
3.根据权利要求1所述的方法,其特征在于,该匹配结果基于该参考模板和该当前模板之间的逐像素差异。
4.根据权利要求1所述的方法,其特征在于,该确定匹配结果是针对包括初始MV的多个目标MV进行的,并且选择达到最佳匹配的目标MV作为细化MV。
5.根据权利要求4所述的方法,其特征在于,所确定的区域的位置是基于该当前块MV来确定的。
6.根据权利要求1所述的方法,其特征在于,所确定的区域等于该当前块用于初始MV的运动补偿区域。
7.根据权利要求1所述的方法,其特征在于,所确定的区域大于该当前块的运动补偿区域。
8.根据权利要求7所述的方法,其特征在于,所确定的区域比该当前块的运动补偿区域大预定尺寸。
9.根据权利要求1所述的方法,其特征在于,使用填充技术来为所确定的区域之外的相邻参考像素生成数据。
10.根据权利要求9所述的方法,其特征在于,所述填充技术对应于重复填充或镜像填充。
11.根据权利要求1所述的方法,其特征在于,首先计算部分参考模板的部分匹配结果,然后通过根据该部分参考模板的大小归一化部分匹配结果,将该部分匹配结果缩放到匹配结果。
12.根据权利要求11所述的方法,其特征在于,该部分参考模板对应于所确定区域内的参考模板。
13.根据权利要求1所述的方法,其特征在于,当该目标MV被四舍五入为整数MV且该整数MV的参考模板在所确定的区域内时,该整数MV在所述确定区域内的参考模板被用于所述确定匹配结果。
14.一种视频编解码设备,该设备包括一个或多个电子电路或处理器,用于:
接收与当前图片中的视频单元的当前块相关联的输入数据;
为该当前块确定当前模板,其中该当前模板包括该当前块的上方、该当前块的左侧或其组合的当前相邻像素;
确定参考图片中的区域,其中该参考图片对应于先前编码的图片;以及
确定参考块的受限参考模板与该当前模板之间的匹配结果,其中该受限参考模板是仅使用所述确定区域内的参考模板的相邻参考像素生成的,该参考模板与该当前模板具有相同的形状,该参考模板的位置根据来自该当前模板的目标运动矢量(MV)确定。
CN202280060772.7A 2021-08-19 2022-08-18 用于视频编解码系统中硬件友好模板匹配的方法和装置 Pending CN117917077A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163234739P 2021-08-19 2021-08-19
US63/234,739 2021-08-19
PCT/CN2022/113410 WO2023020591A1 (en) 2021-08-19 2022-08-18 Method and apparatus for hardware-friendly template matching in video coding system

Publications (1)

Publication Number Publication Date
CN117917077A true CN117917077A (zh) 2024-04-19

Family

ID=85239548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280060772.7A Pending CN117917077A (zh) 2021-08-19 2022-08-18 用于视频编解码系统中硬件友好模板匹配的方法和装置

Country Status (3)

Country Link
CN (1) CN117917077A (zh)
TW (1) TWI830337B (zh)
WO (1) WO2023020591A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6043838A (en) * 1997-11-07 2000-03-28 General Instrument Corporation View offset estimation for stereoscopic video coding
CN108781295B (zh) * 2016-03-16 2022-02-18 联发科技股份有限公司 视频编码的样式基础的运动向量推导之方法及装置
US10432856B2 (en) * 2016-10-27 2019-10-01 Mediatek Inc. Method and apparatus of video compression for pre-stitched panoramic contents
KR20200014913A (ko) * 2017-07-04 2020-02-11 엘지전자 주식회사 인터 예측 기반의 영상 처리 방법 및 이를 위한 장치
EP3804329A1 (en) * 2018-06-01 2021-04-14 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Video codec using template matching prediction

Also Published As

Publication number Publication date
TW202316858A (zh) 2023-04-16
TWI830337B (zh) 2024-01-21
WO2023020591A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
US11695953B2 (en) Method and apparatus of constrained overlapped block motion compensation in video coding
US10880547B2 (en) Method of adaptive motion vector resolution for video coding
US20220248064A1 (en) Signaling for illumination compensation
WO2020173485A1 (en) Mutual excluding settings for multiple tools
AU2020235190B2 (en) Constraints on model-based reshaping in video processing
CN113170099A (zh) 块内拷贝模式和帧间预测工具之间的交互
US11109056B2 (en) Method and apparatus of current picture referencing for video coding using adaptive motion vector resolution and sub-block prediction mode
CN112997495A (zh) 当前图片参考中的取整
US11212532B2 (en) Method and apparatus for encoding and decoding motion information
WO2020098790A1 (en) Method and apparatus of improved merge with motion vector difference for video coding
CN114175636A (zh) 自适应参数集中的自适应环路滤波的指示
CN113785586B (zh) 用于视频编解码系统的简化仿射子块处理的方法及装置
TWI830337B (zh) 用於視頻編解碼系統中硬件友好模板匹配的方法和裝置
CN115516863A (zh) 用于分割语法的熵编解码
WO2023020389A1 (en) Method and apparatus for low-latency template matching in video coding system
WO2023020590A1 (en) Method and apparatus for hardware-friendly template matching in video coding system
RU2812648C2 (ru) Способ и устройство для обработки данных видео и носитель для хранения информации
WO2023246901A1 (en) Methods and apparatus for implicit sub-block transform coding
CN113574867B (zh) Mv精度约束
CN114097219A (zh) 基于历史的运动矢量预测表中的运动信息的存储
CN116896640A (zh) 视频编解码方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication