[go: up one dir, main page]

CN120569967A - 用于帧内模板匹配预测的多个块向量 - Google Patents

用于帧内模板匹配预测的多个块向量

Info

Publication number
CN120569967A
CN120569967A CN202480008498.8A CN202480008498A CN120569967A CN 120569967 A CN120569967 A CN 120569967A CN 202480008498 A CN202480008498 A CN 202480008498A CN 120569967 A CN120569967 A CN 120569967A
Authority
CN
China
Prior art keywords
block
current
search
vector
block vector
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
CN202480008498.8A
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 CN120569967A publication Critical patent/CN120569967A/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/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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

本公开提供了一种通过参考当前图片对像素块进行编解码的方法。视频编解码器可以信号传送或接收一个索引,以识别当前图片中的多个搜索区域中的一个搜索区域。视频编解码器通过计算识别的搜索区域内搜索位置的匹配成本来导出一个或多个块向量。视频编解码器使用第一块向量和第二块向量分别在当前图片中为当前块识别第一参考块和第二参考块。视频编解码器基于当前图片中由第一块向量和第二块向量识别的第一参考块和第二参考块生成预测器。视频编解码器通过使用生成的预测器对当前块进行编码或解码。视频编解码器将第一块向量和第二块向量存储在存储器中,以用于当前块或后续块的后续编码操作。

Description

用于帧内模板匹配预测的多个块向量
【交叉引用】
本公开内容是一项非临时申请的一部分,该申请要求分别于2023年1月19日和2023年3月8日提交的美国临时专利申请号63/480,550和63/488,984的优先权。上述申请的内容通过引用并入本文。
【技术领域】
本公开一般涉及视频编解码。特别地,本公开涉及通过帧内模板匹配预测(intratemplate matching prediction,简称IntraTMP)编解码像素块的方法。
【背景技术】
除非在此另有说明,本节中描述的方法不属于以下列出的权利要求的现有技术,并且通过包含在本节中不被承认为现有技术。
高效视频编解码(High-Efficiency Video Coding,简称HEVC)是由视频编解码联合协作组(Joint Collaborative Team on Video Coding,简称JCT-VC)开发的国际视频编解码标准。HEVC基于混合块基运动补偿DCT类变换编解码架构。压缩的基本单元称为编解码单元(coding unit,简称CU),是一个2Nx2N的像素方块,每个CU可以递归地分割成四个更小的CU,直到达到预定义的最小尺寸。每个CU包含一个或多个预测单元(prediction units,简称PUs)。
多功能视频编解码(Versatile Video Coding,简称VVC)是由ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频专家组(Joint Video Expert Team,简称JVET)开发的最新国际视频编解码标准。输入视频信号是从重建信号中预测的,重建信号是从编码的图片区域导出的。预测残差信号通过块变换处理。变换系数被量化并与其他附加信息一起在比特流中进行熵编码。重建信号是从预测信号和重建残差信号通过对去量化的变换系数进行逆变换后生成的。重建信号通过环路滤波进一步处理以去除编解码伪影。解码后的图片存储在帧缓冲区中,用于预测输入视频信号中的未来图片。
在VVC中,编码的图片被划分为由相关编解码树单元(coding tree units,简称CTUs)表示的不重叠方块区域。编解码树的叶节点对应于编解码单元(CUs)。编码的图片可以由一组切片表示,每个切片包括整数个CTUs。切片中的各个CTUs按光栅扫描顺序处理。双预测(B)切片可以使用帧内预测或帧间预测进行解码,最多使用两个运动向量和参考索引来预测每个块的样本值。预测(P)切片使用帧内预测或帧间预测进行解码,最多使用一个运动向量和参考索引来预测每个块的样本值。帧内(I)切片仅使用帧内预测进行解码。
CTU可以使用四叉树(quadtree,简称QT)与嵌套多类型树(multi-type-tree,简称MTT)结构划分为一个或多个不重叠的编解码单元(CUs),以适应各种局部运动和纹理特性。CU可以使用五种分割类型之一进一步分割为更小的CUs:四叉树分割、垂直二叉树分割、水平二叉树分割、垂直中心侧三叉树分割、水平中心侧三叉树分割。
每个CU包含一个或多个预测单元(PUs)。预测单元与相关的CU语法一起作为信号传送预测器信息的基本单元。指定的预测过程用于预测PU内部相关像素样本的值。每个CU可以包含一个或多个变换单元(TUs)用于表示预测残差块。变换单元(TU)由一个亮度样本的变换块(TB)和两个对应的色度样本的变换块组成,每个TB对应于来自一个颜色分量的一个残差块样本。整数变换应用于变换块。量化系数的级别值与其他附加信息一起在比特流中进行熵编码。术语编解码树块(coding tree block,简称CTB)、编解码块(coding block,简称CB)、预测块(prediction block,简称PB)和变换块(transform block,简称TB)被定义为分别指定与CTU、CU、PU和TU相关的单色分量的二维样本阵列。因此,CTU由一个亮度CTB、两个色度CTBs和相关的语法元素组成。CU、PU和TU也有类似的关系。
对于每个帧间预测的CU,运动参数包括运动向量、参考图片索引和参考图片列表使用索引以及附加信息用于帧间预测样本生成。运动参数可以以显式或隐式方式传送。当CU以跳过模式编码时,CU与一个PU相关联,并且没有显著的残差系数,没有编码的运动向量增量或参考图片索引。指定了一种合并模式,其中当前CU的运动参数从邻近的CUs中获得,包括空间和时间候选,以及在VVC中引入的附加计划。合并模式可以应用于任何帧间预测的CU。合并模式的替代方案是运动参数的显式传输,其中运动向量、每个参考图片列表的对应参考图片索引和参考图片列表使用标志以及其他所需信息在每个CU中显式传送。
【发明内容】
以下总结仅为说明性内容,并无意以任何方式进行限制。即,以下总结旨在介绍本文所述新颖且非显而易见技术的概念、亮点、益处和优势。选择性实施例将在详细描述中进一步说明。因此,以下总结无意识别所要求保护主题的基本特征,也无意用于确定所要求保护主题的范围。
本公开的一些实施例提供了一种通过参考当前图片对像素块进行编解码的方法。视频编译器可以信号传送或接收识别当前图片中多个搜索区域之一的索引。视频编译器通过计算识别的搜索区域内搜索位置的匹配成本来导出一个或多个块向量。视频编译器使用第一块向量和第二块向量分别在当前图片中为当前块识别第一参考块和第二参考块。视频编译器基于当前图片中由第一块向量和第二块向量识别的第一参考块和第二参考块生成预测器。视频编译器通过使用生成的预测器对当前块进行编码或解码。视频编译器将第一块向量和第二块向量存储在存储器中,以便当前块或后续块的后续编码操作。
多个搜索区域可以是当前图片的非重叠区域,或者是当前图片中可能重叠的不同区域。在一些实施例中,信号传送的索引识别多个搜索区域中的两个或更多搜索区域。在一些实施例中,不同的搜索区域被分配相应的索引,这些索引根据搜索区域与邻近块向量的距离进行排序。(邻近块向量是用于编码当前块的邻近块的块向量。)在一些实施例中,视频编译器可以信号传送语法元素以指示是否使用索引从多个搜索区域中选择一个搜索区域。在一些实施例中,视频编译器可以信号传送语法元素以指示包括多个搜索区域的搜索范围的大小。
在一些实施例中,搜索位置的匹配成本还基于邻近块向量与搜索位置之间的水平和垂直差异。在一些实施例中,搜索位置是基于邻近块向量来识别的。在一些实施例中,搜索的起始位置是基于邻近块向量来识别的。预测器可以是由第一块向量和第二块向量识别的第一参考块和第二参考块的融合,并且第一参考块和第二参考块的融合是基于第一块向量和第二块向量的匹配成本加权的。
在一些实施例中,当第一块向量的匹配成本低于(或等于)第二块向量的匹配成本,或者当第一块向量的大小小于第二块向量的大小时,可以在第二块向量之前从存储器中检索第一块向量。在一些实施例中,存储器可以存储两个或更多待插入候选。例如,第一待插入候选可以存储第一块向量和第二块向量,而第二待插入候选可以存储第三块向量和第四块向量。编解码工具可以随后从存储器中检索并使用第一待插入候选的第一块向量和第二待插入候选的第三块向量。
【附图说明】
附图包含在内以提供对本公开的进一步理解,并构成本公开的一部分。附图展示了本公开的实施例,并与描述一起用于解释本公开的原理。可以理解,附图不一定按比例,因为某些组件可能显示为与实际实施中的尺寸不成比例,以便清楚地说明本公开的概念。
图1概念性地说明当前图片参考(CPR)。
图2概念性地说明用于帧内模板匹配的搜索区域。
图3展示了使用邻近块的块向量用于当前块。
图4说明了用于搜索最佳帧内模板匹配预测器(IntraTMP)的多个搜索区域。
图5说明了为当前块的IntraTMP模式分配给多个不同搜索区域的不同索引。
图6说明了将多个候选预测器融合为一个当前块的IntraTMP预测器。
图7说明了根据与邻近块向量(BV)的距离重新排序的分配索引的搜索区域。
图8说明了由邻近BV确定的搜索起始点。
图9概念性地说明了缓冲存储器存储多个待插入候选。
图10说明了一个示例视频编码器,该编码器可以实现帧内块复制(IBC)或当前图片参考(CPR)。
图11说明了实现多个块向量的搜索和继承的视频编码器的部分。
图12概念性地说明了实现多个块向量继承的编码过程。
图13说明了一个示例视频解码器,该解码器可以实现帧内块复制(IBC)或当前图片参考(CPR)。
图14说明了实现多个块向量的搜索和继承的视频解码器的部分。
图15概念性地说明了实现多个块向量继承的解码过程。
图16概念性地说明了实施本公开某些实施例的电子系统。
【具体实施方式】
在以下详细描述中,通过示例列出了许多具体细节,以便对相关技术进行透彻理解。基于此处描述的技术的任何变体、衍生和/或扩展均在本公开的保护范围内。在某些情况下,涉及一个或多个示例实现的众所周知的方法、程序、组件和/或电路可能会在相对较高的层次上进行描述,以避免不必要地掩盖本公开技术的方面。
I.当前图片参考
运动补偿是一种视频编解码过程,旨在探索相邻图片之间的像素相关性。通常假设在视频序列中,帧中的对象或背景对应的模式会位移形成后续帧上的相应对象,或与当前帧内的其他模式相关联。通过估计这种位移(例如,使用块匹配技术),可以在不需要重新编码模式的情况下大部分重现该模式。块匹配和复制允许从同一图片中选择参考块,但在应用于相机捕获的视频时效率不高。部分原因是空间邻近区域中的文本模式可能与当前编解码块相似,但通常在空间上会有一些渐变。因此,在相机捕获的视频的同一图片中,块不太可能找到良好的匹配,从而限制了编解码性能的提高。
然而,同一图片内像素之间的空间相关性对于屏幕内容是不同的。对于典型的视频,其中包含文本和图形,通常在同一图片内存在重复的模式。因此,帧内(图片)块补偿被观察到非常有效。预测模式帧内块复制(IBC)模式或当前图片参考(CPR)因此可用于屏幕内容编解码。
图1概念性地展示了当前图片参考(CPR)。如图所示,作为当前块110的预测单元(PU)是从同一图片100内先前重建的块130预测的。位移向量120(称为块向量(blockvector)或BV)用于信号传送从当前块的位置到提供用于生成当前块预测器的参考样本的参考块的位置的相对位移。然后使用变换、量化和熵编解码对预测误差进行编码。参考样本可能对应于当前解码图片在环路滤波器操作之前重建的样本,包括去块效应和样本适应性偏移(SAO)滤波器。
II.帧内模板匹配预测
帧内模板匹配预测(IntraTMP)是一种特殊的帧内预测模式,它从当前帧的重建部分复制最佳预测块,其L形模板与当前编码块(当前块)邻近的模板(当前模板)匹配。对于预定义的搜索范围,编码器在当前帧的重建部分中搜索与当前模板最相似的模板,并使用相应的块作为预测块。然后,编码器信号传送此模式的使用,并在解码器端执行相同的预测操作。
图2概念性地展示了帧内模板匹配的搜索区域。如图所示,为了在当前图片200中编码当前块210,可以在几个预定义的搜索区域中进行匹配L形的搜索:R1是当前CTU;R2是左上CTU;R3是上方CTU;R4是左侧CTU。
绝对差值和(SAD)用作成本函数,以便在每个搜索区域内,解码器搜索与当前块210邻近的当前模板220具有最小SAD的参考模板230。参考模板230的相应块235用作预测块或参考块。所有搜索区域的尺寸(SearchRange_w,SearchRange_h)设置为与块尺寸(BlkW,BlkH)成比例,以便每个像素有固定数量的SAD比较。即:SearchRange_w=a*BlkW,SearchRange_h=a*BlkH。其中‘a’是控制增益/复杂性权衡的常数。在某些实施例中,‘a’设置为5。
在某些实施例中,为了加速模板匹配过程,所有搜索区域的搜索范围按2的因子进行子采样。这导致模板匹配搜索减少4倍。在找到最佳匹配后,执行精炼过程。精炼通过在最佳匹配周围进行第二次模板匹配搜索来完成,范围缩小。缩小的范围定义为min(BlkW,BlkH)/2。
在某些实施例中,帧内模板匹配模式对宽度和高度小于或等于64的CU启用。帧内模板匹配的最大CU尺寸是可配置的。当解码器端帧内模式导出(DIMD)未用于当前CU时,帧内模板匹配预测模式通过专用标志在CU级别信号传送。
在某些实施例中,从帧内模板匹配预测(IntraTMP)导出的块向量(BV)用于帧内块复制(IBC)预测模式。在某些实施例中,IntraTMP块向量作为空间候选添加到IBC块向量候选列表中。IntraTMP块向量可以存储在IBC块向量缓冲区中,当前IBC块可以使用其自身的IBC BV和邻近块的IntraTMP BV作为IBC BV候选列表的BV候选。邻近块的存储IntraTMP BV与IBC BV一起可用作IBC候选列表构建中的空间BV候选。
图3展示了邻近块的块向量在当前块中的使用。在该示例中,当前图片300中的当前块310(标示为Current IBC Block)通过IBC编码,而当前块的邻近块320(标示为IntraTMP Block)通过IntraTMP编码。IntraTMP编码的邻近块320具有通过模板匹配导出的块向量325,以参考参考块330。块向量325可以被当前块310继承为邻近BV,成为其IBC候选列表的一部分。
III.多个搜索区域用于块向量
本公开的一些实施例提供了通过信号传送附加语法或利用邻近信息来改善当前图片参考(例如,IntraTMP)预测性能的方法。在一些实施例中,IntraTMP使用多个搜索区域(或范围)来搜索最佳IntraTMP预测器。(这些搜索区域或范围可能是较大预定义区域的分区。)这些搜索区域可以是非重叠的,或者某些搜索区域可能会重叠。图4展示了用于搜索最佳IntraTMP预测器的多个搜索区域。在图中,当前块410通过IntraTMP在当前图片400的多个搜索区域421-426(标记为1st搜索区域到6th搜索区域)中搜索当前块的邻近L形模板415的最佳匹配来进行编码。
在一些实施例中,可以通过信号传送一个索引来指示选择并用于搜索最佳IntraTMP预测器的搜索区域。图5展示了为IntraTMP模式的当前块的多个不同搜索区域(标示为1st,2nd,3rd,4th range)分配不同的索引。在图中,搜索区域421-424分别被分配为索引0、1、2、3(标示为Index 0,1,2,3,4)。
在一些实施例中,可以根据与当前块的距离定义多个搜索区域。在一些实施例中,可以根据空间方向定义多个搜索区域。在一些实施例中,通过信号传送的索引选择两个或更多搜索区域,并在这些选定的搜索区域内搜索最佳IntraTMP预测器。在一些实施例中,可以在SPS、PPS、PH或SH中信号传送高级语法以指示是否允许或使用IntraTMP搜索区域选择索引用于当前序列、图片或片段。
在一些实施例中,可以应用融合方法将多个候选预测器融合为一个预测器。具体而言,可以在选定的搜索区域中根据模板匹配成本找到两个或更多候选预测器,然后将这两个或更多候选预测器融合为一个IntraTMP预测器。图6展示了将多个候选预测器融合为当前块的一个IntraTMP预测器。如图所示,对于当前图片400中的当前块410,通过模板匹配在搜索区域422中识别出两个候选预测器621和622。这两个候选预测器被融合/组合为用于编解码当前块410的融合预测器630。两个预测器621和622的融合可以加权,融合权重可以是固定权重,从其相应的匹配成本导出,或通过基于回归的方法导出。在一些实施例中,可能有多个选定的搜索区域,并且每个搜索区域的最佳候选可以融合为一个IntraTMP预测器。融合权重可以是固定权重,从其匹配成本导出,或通过基于回归的方法导出。
在一些实施例中,可以通过信号传送一个索引来指示IntraTMP搜索区域的大小。例如,搜索范围的大小可以是块宽度和/或块高度的倍数,并且该倍数可以由信号传送的索引确定。在一些实施例中,可以在SPS、PPS、PH或SH中信号传送高级语法以指示是否允许或使用IntraTMP搜索区域大小索引用于当前序列、图片或片段。
在一些实施例中,邻近编码的IBC块或IntraTMP块的块向量(BV)可以用于改善当前块的IntraTMP搜索过程。在一些实施例中,如果邻近编码块通过IBC或IntraTMP模式编码,不同的(IntraTMP)搜索区域被分配相应的索引,这些索引根据搜索区域与邻近BV(即,邻近IBC/IntraTMP块的BV)指定的像素位置的距离重新排序。
图7展示了根据与邻近BV的距离重新排序的索引分配的搜索区域。如图所示,当前块410的邻近块705通过使用BV 715进行编码。BV 715被当前块410继承为邻近BV。在所示示例中,BV 715指向搜索区域422中的一个位置,因此搜索区域422与邻近BV 715指向的位置的距离最小,并被分配为索引0。搜索区域421、423和424分别根据其与邻近BV 715指向的位置的相应距离分配为索引1、索引2和索引3(标示为Index 0,1,2,3)。在一些实施例中,搜索区域与邻近BV指向的位置的距离可以定义为搜索区域中心位置与邻近BV指向的位置之间的欧几里得距离,或搜索区域左上位置与邻近BV指向的位置之间的欧几里得距离。
在一些实施例中,如果邻近编码块通过IBC或IntraTMP模式编码,可以在IntraTMP搜索过程中添加BV成本。候选BV的BV成本可以是候选BV与邻近BV的水平差异和垂直差异之和,或邻近BV与候选BV之间的欧几里得距离。
在一些实施例中,如果邻近编码块通过IBC或IntraTMP模式编码,IntraTMP搜索过程的起始点由邻近BV确定。图8展示了由邻近BV确定的搜索起始点。
图中展示了当前图片400中当前块410的搜索区域421-424。当前块410的邻近块805通过使用BV 815进行编码。BV 815被当前块410继承为邻近BV。视频编译器从邻近BV815识别的起始点(在搜索区域422中)开始搜索。从该起始点开始,搜索遵循螺旋形状。在一些实施例中,如果邻近编码块通过IBC或IntraTMP模式编码,IntraTMP的最终预测器可以是IntraTMP搜索过程中最佳候选与邻近BV的预测器的融合。
IV.继承块向量
在某些实施例中,当使用多个块向量(BV)对当前块进行编解码时,BV可以被继承以供其他编解码工具使用。在某些实施例中,如果在IntraTMP预测中通过融合多个预测器使用多个BV,则具有最佳TM成本(例如,SAD或SATD)的BV可以被存储并由其他工具或后续块继承。在某些实施例中,具有较小或最小大小的BV被存储和继承。一个BV的大小可以定义为该BV在水平方向和垂直方向上的绝对值之和、平方值之和、BV的水平分量和垂直分量之间的最小值,或BV的水平分量和垂直分量之间的最大值。
在某些实施例中,如果在IntraTMP预测中通过融合多个预测器使用多个BV,则可以一起存储和继承两个或多个BV。一起使用的两个或多个BV(例如,用于融合多个预测器或需要两个或多个BV的编解码工具)可以作为“待插入”候选一起存储在存储器中。这样的存储器可以存储多个“待插入”候选,每个待插入候选包含要一起存储和继承的两个或多个BV。图9概念性地展示了一个缓冲存储器900,存储多个待插入候选910、920、930等。
在某些实施例中,如果一个编解码工具需要两个或多个BV,则缓冲器900中存储的两个或多个BV可以一起作为一个待插入候选。例如,假设BV 911和912在IntraTMP预测中通过融合多个预测器使用,并且这两个BV 911和912一起存储和继承在一个待插入候选910中。如果一个编解码工具需要两个或多个BV,则缓冲器900中存储的两个BV 911和912可以一起作为一个待插入候选910。
在某些实施例中,如果一个编解码工具只需要一个BV,则可以先取缓冲器中的第一个BV,然后是缓冲器中的第二个BV。例如,可以先取缓冲器900中待插入候选910中的第一个BV 911,然后是同一候选910中的第二个BV 912。缓冲器900中BV的放置顺序可能取决于BV的TM成本或大小。一个BV的大小可以是该BV在水平方向和垂直方向上的绝对值之和、平方值之和、BV的水平分量和垂直分量之间的最小值,或BV的水平分量和垂直分量之间的最大值。
在某些实施例中,如果一个编解码工具只需要一个BV,则可以先取缓冲器900中所有待插入候选(910、920、930等)的第一个BV(911、921、931等),然后是所有待插入候选的第二个BV(912、922、932等)。
在某些实施例中,如果在IntraTMP预测中通过融合多个预测器使用多个BV,则可以存储和继承两个或多个BV。对于不同的编解码工具,插入顺序可以不同。例如,对于IBC-AMVP模式,只考虑所有待插入候选的第一个BV;对于IBC-Merge模式,先取所有待插入候选的第一个BV,然后是所有待插入候选的第二个BV;对于IntraTMP,将一个待插入候选的BV一起取出。
在第四节中描述的BV继承方法可以应用于使用多个BV的基于融合的IntraTMP编码的CU、使用多个BV的基于融合的IBC编码的CU和/或使用两个BV的GPM预测。在某些实施例中,上述方法也可以通过将IntraTMP BV更改为IBC BV来应用于由IBC编码的CU。在某些实施例中,上述方法也可以通过将IntraTMP BV更改为GPM BV来应用于由GPM编码的CU。
上述任何建议的方法都可以在编码器和/或解码器中实现。例如,任何建议的方法都可以在编码器的帧间/帧内编解码中实现,和/或在解码器中实现。或者,任何建议的方法都可以实现为连接到编码器和/或解码器的帧间/帧内编解码的电路,以提供帧间/帧内编解码所需的信息。
V.示例视频编码器
图10展示了一个示例视频编码器1000,该编码器可以实现帧内块复制(IBC)或当前图片参考(CPR)。如图所示,视频编码器1000从视频源1005接收输入视频信号,并将信号编码为比特流1095。视频编码器1000具有多个用于编码来自视频源1005的信号的组件或模块,至少包含从变换模块1010、量化模块1011、逆量化模块1014、逆变换模块1015、帧内估计模块1020、帧内预测模块1025、运动补偿模块1030、运动估计模块1035、环路滤波器1045、重建图片缓冲器1050、MV缓冲器1065、MV预测模块1075和熵编码器1090中选择的一些组件。运动补偿模块1030和运动估计模块1035是帧间预测模块1040的一部分。
在某些实施例中,模块1010至1090是由计算设备或电子设备的一个或多个处理单元(例如,处理器)执行的软件指令模块。在某些实施例中,模块1010至1090是由电子设备的一个或多个集成电路(IC)实现的硬件电路模块。尽管模块1010至1090被示意为独立模块,但其中一些模块可以合并为一个单一模块。
视频源1005提供未压缩的每个视频帧的像素数据的原始视频信号。减法器1008计算视频源1005的原始视频像素数据与来自运动补偿模块1030或帧内预测模块1025的预测像素数据1013之间的差异,作为预测残差1009。变换模块1010将差异(或残差像素数据或残差信号1008)转换为变换系数(例如,通过执行离散余弦变换,或DCT)。量化模块1011将变换系数量化为量化数据(或量化系数)1012,由熵编码器1090编码为比特流1095。
反量化模块1014对量化数据(或量化系数)1012进行反量化以获得变换系数,反变换模块1015对变换系数进行反变换以生成重建残差1019。重建残差1019与预测像素数据1013相加以生成重建像素数据1017。在某些实施例中,重建像素数据1017暂时存储在行缓冲器(未示出)中用于帧内预测和空间MV预测。重建像素通过环路滤波器1045进行滤波并存储在重建图片缓冲器1050中。在某些实施例中,重建图片缓冲器1050是视频编码器1000外部的存储器。在某些实施例中,重建图片缓冲器1050是视频编码器1000内部的存储器。
帧内估计模块1020基于重建像素数据1017执行帧内预测以生成帧内预测数据。帧内预测数据被提供给熵编码器1090以编码为比特流1095。帧内预测数据也被帧内预测模块1025使用以生成预测像素数据1013。
运动估计模块1035通过生成MV来对存储在重建图片缓冲器1050中的先前解码帧的参考像素数据执行帧间预测。这些MV被提供给运动补偿模块1030以生成预测像素数据。
视频编码器1000使用MV预测生成预测MV,而不是在比特流中编码完整的实际MV,并将用于运动补偿的MV与预测MV之间的差异编码为残差运动数据并存储在比特流1095中。
MV预测模块1075基于为先前视频帧编码生成的参考MV,即用于执行运动补偿的运动补偿MV,生成预测MV。MV预测模块1075从MV缓冲器1065中检索先前视频帧的参考MV。视频编码器1000将为当前视频帧生成的MV存储在MV缓冲器1065中,作为生成预测MV的参考MV。
MV预测模块1075使用参考MV创建预测MV。预测MV可以通过空间MV预测或时间MV预测计算。当前帧的预测MV与运动补偿MV(MC MV)之间的差异(残差运动数据)由熵编码器1090编码为比特流1095。
熵编码器1090通过使用熵编解码技术(例如,context-适应性二进制算术编解码(CABAC)或霍夫曼编码)将各种参数和数据编码为比特流1095。熵编码器1090将各种标头元素、标志以及量化变换系数1012和残差运动数据作为语法元素编码为比特流1095。比特流1095随后存储在存储设备中或通过通信介质(例如网络)传输到解码器。
环路滤波器1045对重建像素数据1017执行滤波或平滑操作,以减少编解码的伪影,特别是在像素块的边界处。在某些实施例中,环路滤波器1045执行的滤波或平滑操作包括去块滤波器(DBF)、样本适应性偏移(SAO)和/或适应性环路滤波器(ALF)。
图11示出了实现多个块向量的搜索和继承的视频编码器1000的部分。如图所示,帧间预测模块1040和帧内预测模块1025从重建图片缓冲器1050中检索像素样本以生成预测像素数据1013中的当前块的预测器。在某些实施例中,帧内预测模块1025对常规帧内模式执行预测,其中可以执行模板匹配操作以选择一个或多个帧内预测方向。
帧间预测模块1040对帧间预测模式(例如,合并模式)执行运动估计和补偿。帧间预测模块1040还基于当前图片中的样本作为参考执行预测,例如在IBC或CPR或intraTMP模式中。帧间预测模块1040包括一个搜索引擎1110,该引擎在当前图片中搜索与当前块邻近的模板区域具有最低匹配成本的模板区域(参考模板)。搜索引擎1110接收一个搜索区域选择指示(例如,从熵编码器1090),该指示指定当前图片中要进行搜索的一个或多个搜索区域。在某些实施例中,该指示基于分配给不同搜索区域的索引,这些索引根据它们与继承的邻近块向量的距离排序。
根据搜索,搜索引擎1110可以生成一个或多个块向量,用于为当前块生成预测器。使用的块向量存储在参考存储器1140中,以便可以被当前块或后续块的后续编解码操作继承和使用(例如,作为邻近块向量)。当搜索引擎1110识别出多个块向量时,这些块向量用于从多个参考块中检索样本。这些样本可以融合或混合(作为加权和)以生成当前块的预测器。
图12概念性地展示了实现多个块向量继承的编码过程1200。在一些实施例中,执行编码器1000的计算设备的一个或多个处理单元(例如,处理器)通过执行存储在计算机可读介质中的指令来执行过程1200。在一些实施例中,实现编码器1000的电子设备执行过程1200。
编码器接收(在块1210)要编码为当前图片的当前块的像素之数据。编码器信号传送(在块1220)一个索引,以识别当前图片中的多个搜索区域中的一个搜索区域。多个搜索区域可以是当前图片的非重叠区域,或者是可能重叠的当前图片的不同区域。在一些实施例中,信号传送的索引识别多个搜索区域中的两个或更多搜索区域。在一些实施例中,不同的搜索区域被分配相应的索引,这些索引根据搜索区域与邻近块向量的距离进行排序。(邻近块向量是用于编码当前块的邻近块的块向量。)在一些实施例中,编码器可以信号传送一个语法元素以指示是否使用索引从多个搜索区域中选择一个搜索区域。在一些实施例中,编码器可以信号传送一个语法元素以指示包括多个搜索区域的搜索范围的大小。
编码器通过计算选定或识别的搜索区域内搜索位置的匹配成本来导出(在块1230)块向量。搜索位置的匹配成本是该位置的参考模板与邻近当前块的当前模板之间的差异。在一些实施例中,搜索位置的匹配成本还基于邻近块向量与搜索位置之间的水平和垂直差异。在一些实施例中,搜索位置是基于邻近块向量来识别的。
编码器使用(在块1240)第一和第二块向量分别在当前图片中为当前块识别第一和第二参考块。第一和第二块向量通过在识别的搜索区域内搜索位置来导出。编码器基于当前图片中由第一和第二块向量识别的第一和第二参考块生成(在块1250)预测器。预测器可以是由第一和第二块向量识别的第一和第二参考块的融合,并且第一和第二参考块的融合是基于第一和第二块向量的匹配成本加权的。编码器通过使用生成的预测器来编码(在块1260)当前块以生成预测残差。
编码器将第一和第二块向量存储(在块1270)在存储器中,以用于当前块或后续块的后续编码操作。当第一块向量的匹配成本低于(或等于)第二块向量的匹配成本,或者当第一块向量的大小小于第二块向量的大小时,第一块向量可以在第二块向量之前从存储器中检索。在一些实施例中,存储器可以存储两个或更多待插入候选。例如,第一待插入候选可以存储第一和第二块向量,而第二待插入候选可以存储第三和第四块向量。编解码工具随后可以从存储器中检索并使用第一待插入候选的第一块向量和第二待插入候选的第三块向量。
VI.示例视频解码器
在一些实施例中,编码器可以在比特流中信号传送(或生成)一个或多个语法元素,以便解码器可以从比特流中解析出所述一个或多个语法元素。
图13展示了一个示例视频解码器1300,可以实现帧内块复制(intra block copy,简称IBC)或当前图片参考(current picture referencing,简称CPR)。如图所示,视频解码器1300是一个图像解码或视频解码电路,接收比特流1395并将比特流的内容解码为视频帧的像素数据以供显示。视频解码器1300具有多个用于解码比特流1395的组件或模块,包括从逆量化模块1311、逆变换模块1310、帧内预测模块1325、运动补偿模块1330、环路滤波器1345、解码图片缓冲器1350、MV缓冲器1365、MV预测模块1375和解析器1390中选择的一些组件。运动补偿模块1330是帧间预测模块1340的一部分。
在一些实施例中,模块1310–1390是由计算设备的一个或多个处理单元(例如,处理器)执行的软件指令模块。在一些实施例中,模块1310–1390是由电子设备的一个或多个集成电路实现的硬件电路模块。尽管模块1310–1390被示为独立模块,但其中一些模块可以合并为一个单一模块。
解析器1390(或熵解码器)接收比特流1395并根据视频编解码或图像编解码标准定义的语法执行初始解析。解析的语法元素包括各种标头元素、标志以及量化数据(或量化系数)1312。解析器1390通过使用熵编解码技术(如上下文适应性二进制算术编解码(context-adaptive binary arithmetic coding,简称CABAC)或霍夫曼编码)解析出各种语法元素。
反量化模块1311对量化数据(或量化系数)1312进行反量化以获得变换系数,反变换模块1310对变换系数1316进行反变换以生成重构残差信号1319。重构残差信号1319与来自帧内预测模块1325或运动补偿模块1330的预测像素数据1313相加以生成解码像素数据1317。解码像素数据经过环路滤波器1345过滤后存储在解码图片缓冲器1350中。在一些实施例中,解码图片缓冲器1350是视频解码器1300外部的存储器。在一些实施例中,解码图片缓冲器1350是视频解码器1300内部的存储器。
帧内预测模块1325从比特流1395接收帧内预测数据,并根据该数据从存储在解码图片缓冲器1350中的解码像素数据1317生成预测像素数据1313。在一些实施例中,解码像素数据1317也存储在用于帧内图片预测和空间MV预测的线缓冲器(未示出)中。
在一些实施例中,解码图片缓冲器1350的内容用于显示。显示设备1355可以直接从解码图片缓冲器1350检索内容进行显示,或者将解码图片缓冲器的内容检索到显示缓冲器中。在一些实施例中,显示设备通过像素传输从解码图片缓冲器1350接收像素值。
运动补偿模块1330根据运动补偿MV(MC MV)从存储在解码图片缓冲器1350中的解码像素数据1317生成预测像素数据1313。这些运动补偿MV通过将从比特流1395接收的残差运动数据与从MV预测模块1375接收的预测MV相加来解码。
MV预测模块1375基于为解码先前视频帧生成的参考MV生成预测MV,例如用于执行运动补偿的运动补偿MV。MV预测模块1375从MV缓冲器1365检索先前视频帧的参考MV。视频解码器1300将为解码当前视频帧生成的运动补偿MV存储在MV缓冲器1365中,作为生成预测MV的参考MV。
环路滤波器1345对解码像素数据1317进行滤波或平滑操作,以减少编解码的伪影,特别是在像素块的边界处。在一些实施例中,环路滤波器1345执行的滤波或平滑操作包括去块滤波器(DBF)、样本适应性偏移(SAO)和/或适应性环路滤波器(ALF)。
图14展示了实现多个块向量搜索和继承的视频解码器1300的部分。如图所示,帧间预测模块1340和帧内预测模块1325从解码图片缓冲器1350检索像素样本以生成预测像素数据1313中的当前块的预测器。在一些实施例中,帧内预测模块1325为常规帧内模式执行预测,其中可以执行模板匹配操作以选择一个或多个帧内预测方向。
帧间预测模块1340为帧间预测模式(例如合并模式)执行运动估计和补偿。帧间预测模块1340还基于当前图片中的样本作为参考进行预测,例如在IBC或CPR或帧内TMP模式中。帧间预测模块1340包括搜索引擎1410,该引擎在当前图片中搜索与当前块邻近的模板区域具有最低匹配成本的模板区域(参考模板)。搜索引擎1410接收搜索区域选择指示(例如来自熵解码器1390),该指示指定当前图片中要进行搜索的一个或多个搜索区域。在一些实施例中,该指示基于分配给不同搜索区域的索引,这些索引根据它们与继承的邻近块向量的距离进行排序。
基于搜索,搜索引擎1410可以生成一个或多个块向量,这些块向量用于生成当前块的预测器。使用的块向量存储在参考存储器1440中,以便在当前块或后续块的后续编解码操作中继承和使用(例如作为邻近块向量)。当搜索引擎1410识别出多个块向量时,多个块向量用于从多个参考块中检索样本。这些样本可以融合或混合(作为加权和)以生成当前块的预测器。
图15概念性地展示了实现多个块向量继承的过程1500。在一些实施例中,实现解码器1300的计算设备的一个或多个处理单元(例如处理器)通过执行存储在计算机可读介质中的指令来执行过程1500。在一些实施例中,实现解码器1300的电子设备执行过程1500。
解码器接收(在块1510处)要解码为当前图片中当前块的像素的数据。解码器接收(在块1520处)识别当前图片中多个搜索区域中的一个搜索区域的索引。多个搜索区域可以是当前图片的非重叠区域,或者是当前图片的不同区域,这些区域可能重叠。在一些实施例中,信号传送的索引识别多个搜索区域中的两个或更多搜索区域。在一些实施例中,不同的搜索区域被分配相应的索引,这些索引根据搜索区域与邻近块向量的距离进行排序。(邻近块向量是用于编码当前块的邻近块的块向量。)在一些实施例中,解码器可以信号传送一个语法元素以指示是否使用索引从多个搜索区域中选择一个搜索区域。在一些实施例中,解码器可以信号传送一个语法元素以指示包括多个搜索区域的搜索范围的大小。
解码器通过计算选定或识别的搜索区域内搜索位置的匹配成本来导出(在块1530处)块向量。搜索位置的匹配成本是该位置的参考模板与邻近当前块的当前模板之间的差异。在一些实施例中,搜索位置的匹配成本还基于邻近块向量与搜索位置之间的水平和垂直差异。在一些实施例中,搜索位置是基于邻近块向量来识别的。
解码器使用(在块1540处)第一块向量和第二块向量分别在当前图片中为当前块识别第一参考块和第二参考块。第一块向量和第二块向量是通过在识别的搜索区域内搜索位置来导出的。解码器基于当前图片中由第一块向量和第二块向量识别的第一参考块和第二参考块生成(在块1550处)预测器。预测器可以是由第一块向量和第二块向量识别的第一参考块和第二参考块的融合,并且第一参考块和第二参考块的融合是基于第一块向量和第二块向量的匹配成本加权的。解码器通过使用生成的预测器重建(在块1560处)当前块。然后,解码器可以提供重建的当前块以作为重建的当前图片的一部分进行显示。
解码器将第一块向量和第二块向量存储(在块1570处)在存储器中,以用于当前块或后续块的后续解码操作。当第一块向量的匹配成本低于(或等于)第二块向量的匹配成本,或者当第一块向量的大小小于第二块向量的大小时,第一块向量可以在第二块向量之前从存储器中检索。在一些实施例中,存储器可以存储两个或更多待插入候选。例如,第一待插入候选可以存储第一块向量和第二块向量,而第二待插入候选可以存储第三块向量和第四块向量。编解码工具随后可以从存储器中检索并使用第一待插入候选的第一块向量和第二待插入候选的第三块向量。
VII.示例电子系统
上述许多特征和应用是作为软件过程实现的,这些过程被指定为记录在计算机可读存储介质(也称为计算机可读介质)上的一组指令。当这些指令由一个或多个计算或处理单元(例如,一个或多个处理器、处理器的核心或其他处理单元)执行时,它们使处理单元执行指令中指示的操作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、随机存取存储器(RAM)芯片、硬盘、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等。计算机可读介质不包括通过无线或有线连接传递的载波和电子信号。
在本说明书中,术语“软件”是指驻留在只读存储器中的固件或存储在磁性存储器中的应用程序,这些应用程序可以被读入存储器以供处理器处理。此外,在一些实施例中,多个软件发明可以作为较大程序的子部分实现,同时仍然是独立的软件发明。在一些实施例中,多个软件发明也可以作为独立程序实现。最后,任何组合的独立程序一起实现本文描述的软件发明都在本公开的范围内。在一些实施例中,当软件程序安装在一个或多个电子系统上运行时,定义了一个或多个特定的机器实现,这些实现执行和执行软件程序的操作。
图16概念性地展示了一个电子系统1600,一些实施例的本公开内容在其中实现。电子系统1600可以是计算机(例如,台式计算机、个人计算机、平板计算机等)、电话、PDA或任何其他类型的电子设备。这样的电子系统包括各种类型的计算机可读介质和用于各种其他类型的计算机可读介质的接口。电子系统1600包括总线1605、处理单元1610、图形处理单元(GPU)1615、系统内存1620、网络1625、只读存储器(ROM)1630、永久存储设备1635、输入设备1640和输出设备1645。
总线1605集体代表所有系统、外围设备和芯片组总线,这些总线将电子系统1600的众多内部设备通信连接。例如,总线1605将处理单元1610与GPU 1615、只读存储器1630、系统内存1620和永久存储设备1635通信连接。
从这些各种存储单元中,处理单元1610检索指令以执行并处理数据以执行本公开的过程。处理单元可以在不同的实施例中是单个处理器或多核处理器。一些指令被传递给GPU 1615并由其执行。GPU 1615可以卸载各种计算或补充处理单元1610提供的图像处理。
只读存储器(ROM)1630存储处理单元1610和电子系统的其他模块使用的静态数据和指令。另一方面,永久存储设备1635是一个读写存储设备。该设备是一个非易失性存储单元,即使在电子系统1600关闭时也存储指令和数据。本公开的一些实施例使用大容量存储设备(例如磁盘或光盘及其相应的磁盘驱动器)作为永久存储设备1635。
其他实施例使用可移动存储设备(例如软盘、闪存设备等及其对应的磁盘驱动器)作为永久存储设备。与永久存储设备1635类似,系统存储器1620是一个读写存储设备。然而,与存储设备1635不同,系统存储器1620是易失性读写存储器,例如随机存取存储器。系统存储器1620存储处理器在运行时使用的一些指令和数据。在某些实施例中,根据本公开的过程存储在系统存储器1620、永久存储设备1635和/或只读存储器1630中。例如,各种存储单元包括用于根据某些实施例处理多媒体剪辑的指令。从这些各种存储单元中,处理单元1610检索指令以执行和数据以处理,以便执行某些实施例的过程。
总线1605还连接到输入和输出设备1640和1645。输入设备1640使用户能够向电子系统传达信息和选择命令。输入设备1640包括字母数字键盘和指点设备(也称为“光标控制设备”)、摄像头(例如网络摄像头)、麦克风或类似的用于接收语音命令的设备等。输出设备1645显示由电子系统生成的图像或以其他方式输出数据。输出设备1645包括打印机和显示设备,例如阴极射线管(CRT)或液晶显示器(LCD),以及扬声器或类似的音频输出设备。某些实施例包括诸如触摸屏之类的设备,既可作为输入设备又可作为输出设备。
最后,如图16所示,总线1605还通过网络适配器(未显示)将电子系统1600耦合到网络1625。通过这种方式,计算机可以成为计算机网络(例如局域网(“LAN”)、广域网(“WAN”)或内联网,或网络的网络,例如互联网)的一部分。电子系统1600的任何或所有组件都可以与本公开结合使用。
某些实施例包括电子组件,例如微处理器、存储和存储器,这些组件在机器可读或计算机可读介质(也称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令。这种计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字多功能光盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如,SD卡、mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘、只读和可记录光盘、超密度光盘、任何其他光学或磁性介质,以及软盘。计算机可读介质可以存储由至少一个处理单元执行的计算机程序,并包括用于执行各种操作的指令集。计算机程序或计算机代码的示例包括机器代码,例如由编译器生成的代码,以及包含高级代码的文件,这些文件由计算机、电子组件或微处理器使用解释器执行。
虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但许多上述描述的功能和应用是由一个或多个集成电路执行的,例如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在某些实施例中,这种集成电路执行存储在电路本身上的指令。此外,某些实施例执行存储在可编程逻辑设备(PLD)、ROM或RAM设备中的软件。
在本说明书和本申请的任何权利要求中使用的术语“计算机”、“服务器”、“处理器”和“存储器”均指电子或其他技术设备。这些术语不包括个人或群体。就说明书而言,术语显示或显示是指在电子设备上显示。在本说明书和本申请的任何权利要求中使用的术语“计算机可读介质”、“计算机可读媒体”和“机器可读介质”完全限于以计算机可读形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号和任何其他短暂信号。
虽然本公开已参考众多具体细节进行描述,但本领域的普通技术人员将认识到,本公开可以在不脱离本公开精神的情况下体现为其他具体形式。此外,许多图(包括图12和图15)概念性地说明了过程。这些过程的具体操作可能不会按所示和所述的确切顺序执行。具体操作可能不会在一个连续的操作系列中执行,并且不同的具体操作可能在不同的实施例中执行。此外,该过程可以使用几个子过程实现,或作为更大宏过程的一部分。因此,本领域的普通技术人员将理解,本公开不应受上述说明性细节的限制,而应由所附权利要求定义。
以下是Spec的翻译:
本文所述的主题有时会展示包含在不同组件内或与不同其他组件连接的不同组件。应理解,这些所描绘的架构仅仅是示例,实际上可以实现许多其他架构以实现相同的功能。从概念上讲,任何组件的排列以实现相同的功能都有效地“关联”,以便实现所需的功能。因此,本文中任何两个组件结合以实现特定功能可以被视为“关联”彼此,以便实现所需的功能,无论架构或中间组件如何。同样,任何两个如此关联的组件也可以被视为“操作连接”或“操作耦合”彼此,以实现所需的功能,任何两个能够如此关联的组件也可以被视为“操作可耦合”彼此,以实现所需的功能。操作可耦合的具体示例包括但不限于物理可配合和/或物理交互的组件和/或无线可交互和/或无线交互的组件和/或逻辑交互和/或逻辑可交互的组件。
此外,关于本文中几乎任何复数和/或单数术语的使用,具有技术技能的人可以根据上下文和/或应用适当地从复数翻译为单数和/或从单数翻译为复数。为了清晰起见,本文中可能明确列出了各种单数/复数排列。
此外,技术人员将理解,通常本文中使用的术语,尤其是在附加的权利要求中,例如附加权利要求的主体,通常被视为“开放”术语,例如,“包含”一词应解释为“包含但不限于”,“具有”一词应解释为“至少具有”,“包括”一词应解释为“包括但不限于”等。技术人员还将理解,如果引入的权利要求陈述的具体数量是有意的,则该意图将在权利要求中明确陈述,且在没有这种陈述的情况下不存在这种意图。例如,为了帮助理解,以下附加权利要求可能包含使用介绍性短语“至少一个”和“一个或多个”来引入权利要求陈述。然而,使用这些短语不应被解释为暗示通过不定冠词“a”或“an”引入权利要求陈述限制任何包含这种引入权利要求陈述的特定权利要求仅包含一个这样的陈述,即使同一权利要求包括介绍性短语“一个或多个”或“至少一个”和不定冠词如“a”或“an”,例如,“a”和/或“an”应解释为“至少一个”或“一个或多个”;同样适用于用于引入权利要求陈述的定冠词。此外,即使明确陈述了引入的权利要求陈述的具体数量,技术人员将认识到这种陈述应解释为至少所述数量,例如,简单陈述“两次陈述”,没有其他修饰符,意味着至少两次陈述,或两次或更多次陈述。此外,在那些使用类似于“至少一个A、B和C等”的惯例的情况下,通常这种结构是以技术人员理解惯例的方式来进行的,例如,“具有至少一个A、B和C的系统”将包括但不限于具有A单独、B单独、C单独、A和B一起、A和C一起、B和C一起和/或A、B和C一起的系统等。在那些使用类似于“至少一个A、B或C等”的惯例的情况下,通常这种结构是以技术人员理解惯例的方式来进行的,例如,“具有至少一个A、B或C的系统”将包括但不限于具有A单独、B单独、C单独、A和B一起、A和C一起、B和C一起和/或A、B和C一起的系统等。技术人员还将理解,几乎任何分离词和/或短语呈现两个或多个替代术语,无论是在描述、权利要求还是图纸中,均应理解为考虑包含其中一个术语、任一术语或两个术语的可能性。例如,短语“A或B”将被理解为包括“A”或“B”或“A和B”的可能性。
从上述内容中可以理解,本文中为说明目的描述了本公开的各种实施例,并且可以在不偏离本公开的范围和精神的情况下进行各种修改。因此,本文中公开的各种实施例并不旨在限制,真正的范围和精神由以下权利要求指示。

Claims (21)

1.一种视频编解码方法,包括:
接收要编码或解码的数据作为视频的当前图片的当前块的像素;
使用第一块向量和第二块向量分别在该当前图片中为该当前块识别第一参考块和第二参考块;
基于该由第一块向量和第二块向量在该当前图片中识别的第一参考块和第二参考块生成预测器;
通过使用该生成的预测器编码或解码该当前块;以及
将该第一块向量和第二块向量存储在存储器中,以便该当前块或后续块的后续编码或解码操作。
2.如权利要求1所述的视频编解码方法,其中该第一块向量在该第二块向量之前从该存储器中检索,其中该第一块向量具有低于或等于该第二块向量的匹配成本,其中块向量的匹配成本是基于该块向量识别的参考模板与邻近该当前块的当前模板之间的差异来确定的。
3.如权利要求1所述的视频编解码方法,其中该第一块向量在该第二块向量之前从该存储器中检索,其中该第一块向量的大小小于该第二块向量的大小。
4.如权利要求1所述的视频编解码方法,其中该存储器存储两个或更多待插入候选,其中第一待插入候选包括该第一块向量和第二块向量。
5.如权利要求4所述的视频编解码方法,进一步包括从该存储器中检索第一待插入候选的该第一块向量和第二待插入候选的第三块向量以供编解码工具使用。
6.一种视频编解码方法,包括:
接收要编码或解码的数据作为视频的当前图片的当前块的像素;
在该当前图片中的多个搜索区域中信号传送或接收识别搜索区域的索引;
通过计算该识别的搜索区域内搜索位置的匹配成本来导出块向量,其中该搜索位置的匹配成本是该位置的参考模板与邻近该当前块的当前模板之间的差异;
基于该由该块向量在该当前图片中识别的参考块生成预测器;以及
通过使用该生成的预测器编码或解码该当前块。
7.如权利要求6所述的视频编解码方法,其中该多个搜索区域是该当前图片的非重叠区域。
8.如权利要求6所述的视频编解码方法,其中该多个搜索区域是该当前图片中的不同区域。
9.如权利要求6所述的视频编解码方法,其中使用邻近块向量通过参考该当前图片的样本来编解码邻近该当前块的块,其中该多个搜索区域被分配相应的索引,这些索引根据该搜索区域与该邻近块向量的距离进行排序。
10.如权利要求6所述的视频编解码方法,其中使用邻近块向量通过参考该当前图片的样本来编解码邻近该当前块的块,其中该搜索位置的匹配成本还基于该邻近块向量与该搜索位置之间的水平和垂直差异。
11.如权利要求6所述的视频编解码方法,其中该信号传送索引识别该多个搜索区域中的两个或更多搜索区域,其中该块向量通过在该识别的两个或更多搜索区域内搜索位置来导出。
12.如权利要求6所述的视频编解码方法,其中第一和第二块向量通过在该识别的搜索区域内搜索位置来导出,其中该预测器通过使用该第一块向量和第二块向量生成。
13.如权利要求12所述的视频编解码方法,其中该预测器是由该第一块向量和第二块向量识别的第一参考块和第二参考块的融合。
14.如权利要求12所述的视频编解码方法,其中该第一参考块和第二参考块的融合是基于该第一块向量和第二块向量的匹配成本加权的。
15.如权利要求6所述的视频编解码方法,进一步包括信号传送或接收语法元素以指示是否使用索引从多个搜索区域中选择一个搜索区域以导出该块向量。
16.如权利要求6所述的视频编解码方法,进一步包括信号传送或接收语法元素以指示包括该多个搜索区域的搜索范围的大小。
17.如权利要求6所述的视频编解码方法,其中该搜索位置是基于邻近块向量来识别,该邻近块向量用于通过参考该当前图片的样本来编解码邻近该当前块的块。
18.一种电子设备包括:
视频解编码器电路,被配置为执行包括以下操作:
接收要编码或解码为视频的当前图片的当前块的像素之数据;
使用第一块向量和第二块向量分别在该当前图片中为该当前块识别第一参考块和第二参考块;
基于该当前图片中该第一块向量和第二块向量所识别的第一参考块和第二参考块生成预测器;
通过使用该生成的预测器编码或解码该当前块;以及
将该第一块向量和第二块向量存储在存储器中以用于该当前块或后续块的后续编码操作。
19.一种视频编解码方法包括:
接收要编码或解码为视频的当前图片的当前块的像素之数据;
通过计算搜索区域内搜索位置的匹配成本来导出块向量,其中该搜索位置的匹配成本是该搜索位置的参考模板与邻近该当前块的当前模板之间的差异;
基于该块向量在该当前图片中识别的参考块生成预测器;以及
通过使用该生成的预测器编码或解码该当前块。
20.如权利要求19所述的视频编解码方法,其中使用邻近块向量通过参考该当前图片的样本来编解码邻近该当前块的块,其中该搜索位置的匹配成本还基于该邻近块向量与该搜索位置之间的水平和垂直差异。
21.如权利要求19所述的视频编解码方法,其中该搜索位置是基于用于通过参考该当前图片的样本来编解码邻近该当前块的块的邻近块向量来识别的。
CN202480008498.8A 2023-01-19 2024-01-10 用于帧内模板匹配预测的多个块向量 Pending CN120569967A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202363480550P 2023-01-19 2023-01-19
US63/480,550 2023-01-19
US202363488984P 2023-03-08 2023-03-08
US63/488,984 2023-03-08
PCT/CN2024/071524 WO2024152957A1 (en) 2023-01-19 2024-01-10 Multiple block vectors for intra template matching prediction

Publications (1)

Publication Number Publication Date
CN120569967A true CN120569967A (zh) 2025-08-29

Family

ID=91955355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202480008498.8A Pending CN120569967A (zh) 2023-01-19 2024-01-10 用于帧内模板匹配预测的多个块向量

Country Status (2)

Country Link
CN (1) CN120569967A (zh)
WO (1) WO2024152957A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2993104C (en) * 2015-07-27 2021-03-02 Mediatek, Inc. Method of system for video coding using intra block copy mode
US20200112717A1 (en) * 2018-10-05 2020-04-09 Qualcomm Incorporated Intra block copy prediction restrictions in video coding
EP3981147A1 (en) * 2019-06-07 2022-04-13 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Region based intra block copy
KR102828568B1 (ko) * 2019-07-19 2025-07-02 티씨엘 킹 일렉트리컬 어플라이언시스 (후이저우) 컴퍼니 리미티드 Ibc를 이용한 영상 부호화/복호화 방법 및 장치
MX2023003383A (es) * 2020-09-28 2023-03-31 Interdigital Ce Patent Holdings Sas Prediccion de coincidencia de plantilla para codificacion versatil de video.

Also Published As

Publication number Publication date
WO2024152957A1 (en) 2024-07-25

Similar Documents

Publication Publication Date Title
CN113455003B (zh) 视频编解码方法及电子设备
CN113853794B (zh) 视频解码方法与相关电子装置
US11245922B2 (en) Shared candidate list
CN110169061B (zh) 编解码电子装置与方法
WO2019210829A1 (en) Signaling for illumination compensation
CN117837145A (zh) 使用模板匹配细化候选选择
WO2023202569A1 (en) Extended template matching for video coding
WO2019161798A1 (en) Intelligent mode assignment in video coding
CN119054284A (zh) 基于模版的帧内模式推导和预测
TWI866159B (zh) 視訊編解碼方法及裝置
WO2023217140A1 (en) Threshold of similarity for candidate list
WO2025021011A1 (en) Combined prediction mode
CN119605169A (zh) 用于跨分量非线性模式推导的相邻采样存取
CN120569967A (zh) 用于帧内模板匹配预测的多个块向量
WO2024222399A1 (en) Refinement for merge mode motion vector difference
WO2025152878A1 (en) Regression-based matrix-based intra prediction
WO2025011496A1 (en) Local illumination compensation model inheritance
WO2025016295A1 (en) Cross-component model propagation
WO2025152999A1 (en) Geometric partitioning mode extensions
WO2025051138A1 (en) Inheriting cross-component model from rescaled reference picture
WO2024213123A1 (en) Intra-block copy with subblock modes and template matching
TW202518904A (zh) 基於塊向量和運動向量的跨分量模型傳播決策規則
CN119605172A (zh) 视频编解码中的出界检查
TW202415066A (zh) 多假設預測編解碼
CN121464631A (zh) 局部亮度补偿与合并斜率调整

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination