CN117597932A - 选择性的基于子块的运动细化 - Google Patents
选择性的基于子块的运动细化 Download PDFInfo
- Publication number
- CN117597932A CN117597932A CN202280046856.5A CN202280046856A CN117597932A CN 117597932 A CN117597932 A CN 117597932A CN 202280046856 A CN202280046856 A CN 202280046856A CN 117597932 A CN117597932 A CN 117597932A
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- picture
- current
- current 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
Links
- 238000000034 method Methods 0.000 claims abstract description 81
- 239000013598 vector Substances 0.000 claims abstract description 24
- 230000000694 effects Effects 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013139 quantization Methods 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 claims description 2
- 230000011664 signaling Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000001131 transforming effect 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/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/513—Processing of motion vectors
-
- 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/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
Abstract
提供了一种对图片进行编码的方法。该方法包括:选择用于图片内的当前块的运动向量MV。该方法包括:确定是否满足条件,其中,确定是否满足条件包括:(i)确定基于子块的运动细化是否适用于当前块,以及(ii)确定当前块内的第一子块是否满足标准。该方法包括:作为确定满足条件的结果,不使用所选择的MV对当前块进行编码。
Description
技术领域
本公开涉及用于选择性触发基于子块的运动细化(refinement)的方法和装置。
背景技术
视频及图片
视频(又名视频序列)包括一系列图片(又名图像),其中每个图片包括一个或多个分量。在通用视频编码(VVC)中,每个图片用图片顺序计数(POC)值进行标识。
HEVC和VVC
高效视频编码(HEVC)是一种由ITU-T和MPEG标准化的基于块的视频编解码器,其利用时间预测和空间预测两者。空间预测是使用当前图片内的帧内(I)预测来实现的。时间预测是通过使用先前解码的参考图片在块级别上的单向(P)或双向帧间(B)预测来实现的。在编码器中,原始像素数据与预测像素数据之间的差值(称为残差)被变换到频域,被量化,然后被熵编码,然后与也被熵编码的必要预测参数(例如预测模式和运动向量)一起被发送。解码器执行熵解码、逆量化和逆变换以获得残差,然后将残差与帧内或帧间预测相加以重构图片。
MPEG和ITU-T正在联合视频探索小组(JVET)内致力于开发HEVC的继任者。该视频编解码器的名称是通用视频编码(VVC),VVC规范的第1版(撰写本文时是VVC的当前版本)在2020年已被发布为Rec.ITU-T H.266|ISO/IEC 23090-3,“通用视频编码”。
分量
每个分量可以被描述为二维矩形样本值阵列。视频序列中的图片通常由三个分量组成:一个亮度(luma)分量Y(其中样本值是亮度值)和两个色度(chroma)分量Cb和Cr(其中样本值是色度值)。同样常见的是,色度分量的尺寸在每个维度上是亮度分量的二分之一。例如,HD图片的亮度分量的大小为1920x1080,而色度分量的大小均为960x540。分量有时被称为颜色分量。
编码单元和编码块
块是一个二维样本阵列。在视频编码中,每个分量被划分成块,编码视频比特流由一系列编码块组成。在视频编码中,通常将图片划分成覆盖图片的特定区域的单元。每个单元由来自构成该特定区域的所有分量的所有块组成,并且每个块完全属于一个单元。H.264中的宏块和HEVC中的编码单元(CU)是单元的示例。在VVC中,CU可以被递归地划分为更小的CU。顶层的CU被称为编码树单元(CTU)。
CU通常包含三个编码块,即,一个用于亮度的编码块和两个用于色度的编码块。亮度编码块的大小与CU相同。在当前的VVC(即版本1)中,CU的大小可以是4x4直到128x128。
帧内预测
在帧内预测(也称为空间预测)中,使用同一图片内先前被解码的块来预测块。换句话说,同一图片内先前被解码的块内的样本被用于预测当前块内的样本。仅由帧内预测块组成的图片被称为帧内图片。
帧间预测
在帧间预测(也称为时间预测)中,使用先前被解码的图片的块来预测当前图片的块。换句话说,来自先前被解码的图片的块的样本被用于预测当前块的样本。允许帧间预测块的图片被称为帧间图片。被用于帧间预测的先前被解码的图片被称为参考图片。
使用运动向量(MV)来指示参考图片内的参考块的位置。每个MV由x和y分量组成,每个分量表示当前块与参考块之间在x或y维度上的位移。分量的值可以具有比整数位置更精细的分辨率。在这种情况下,将进行滤波(通常是插值)以计算用于预测的值。图1a示出了用于当前块C的MV的示例。MV=(2,1)指示参考块的位置是当前块的位置向右两步并且向下一步。
帧间图片可以使用多个参考图片。参考图片通常被放入两个参考图片列表L0和L1中。在当前图片之前输出的参考图片通常是L0中的第一图片。在当前图片之后输出的参考图片通常是L1中的第一图片。
两种预测类型(即,单预测(uni-prediction)和双预测(bi-prediction))中的一个可以用于帧间预测块。单预测块可以使用L0或L1从一个参考图片来预测。双预测块可以从两个参考图片来预测,一个来自L0,另一个来自L1。图2示出了预测类型的示例。
分数MV(Fractional MV)
MV的x或y分量的值可能对应于具有比整数(样本)位置更精细的粒度的样本位置。这些位置也称为分数(样本)位置。在VVC中,MV可以位于1/16样本位置。图1b示出了水平(x)维度上的几个分数位置。实心方块表示整数(样本)位置,而圆表示分数(样本)位置-1/16位置。例如,MV=(4,10)意味着MV的x分量位于4/16样本位置,而MV的y分量位于10/16样本位置。
残差、变换和量化
源块(其包含原始样本)的样本与预测块的样本之间的差通常被称为“残差块”。然后,通常通过空间变换来压缩残差块以去除进一步的冗余。然后,通过量化参数(QP)对空间变换的变换系数进行量化,以控制残差块的保真度以及压缩该块所需的比特率。编码块标志(CBF)被用于指示是否存在任何非零量化变换系数。然后,所有编码参数在编码器处进行熵编码并在解码器处进行解码。如果编码块标志为1,则可以通过对经量化的变换系数进行逆量化和逆变换来导出重构块,并且重构块可以被与预测块相加。
分层图片编码结构
在通常被称为“随机访问配置”的情况下,帧内编码图片被以固定间隔(例如每秒)放置。帧内编码图片之间的图片通常用如图3所示的B-GOP结构进行编码。图3示出了每图片使用两个参考图片的四层B-GOP结构的示例。首先对图片0进行编码,然后使用图片0作为其参考图片对图片8进行编码。然后以图片8和图片0为参考图片对图片4进行编码。同样,使用图片0、4、8对图片2和图片6进行编码。然后使用图片1、2、4、6和8对图片1、3、5、7进行编码。
图片1、3、5和7被称为处于最高层级,图片2和6被称为处于第二最高层级,图片4被称为处于第三最高层级,图片8被称为处于最低级别。通常,图片1、3、5和7不用作任何其他图片的参考。它们被称为非参考图片。
针对图片分配的QP通常是不同的并且根据层级被设置。较高的QP被分配给处于较高层级的图片。
帧间预测/运动信息
VVC中的帧间编码图片中的帧间编码块的帧间预测信息可以由以下三个元素组成:
1.参考图片列表标志(RefPicListFlag)。该标志用信号通知使用哪个参考图片列表。当该标志的值等于0时,意味着使用L0。当该标志的值等于1时,意味着使用L1。当该标志的值等于2时,意味着使用L0和L1两者。
2.所使用的每参考图片列表的参考图片索引(RefPicIdx)。索引用信号通知使用参考图片列表内的哪个参考图片。
3.所使用的每参考图片的运动向量(MV)。MV用信号通知参考图片内的被用于预测当前块的位置。
帧间预测信息也称为运动信息。解码器存储用于每个帧间编码块的运动信息。换句话说,帧间编码块维护其自己的运动信息。
编码器决策和率失真(RD)成本
为了使编码器决定当前块的最佳预测模式,编码器将评估当前块的许多或所有可能的预测模式,并选择产生最小率失真(RD)成本的预测模式。
RD成本可以被计算为D+λ*R。D(失真)测量重构块与对应的源块之间的差值。用于计算D的一种常用度量是差值平方和SSE=∑x,y(PA(x,y)-PB(x,y))2,其中PA和PB分别是在两个块A和B中的样本值。R(率)通常是对该模式中编码所花费的比特数的估计。λ是R与D之间的权衡参数。
用信号通知运动信息
VVC包括隐式地用信号通知每个块的运动信息的多种方法,包括合并方法和子块合并方法。隐式方法背后的常见动机是从相邻编码块继承运动信息。
合并(又名块合并)方法
合并方法与HEVC标准中的方法类似。该方法有时被称为块合并方法,因为所导出的运动信息被用于生成整个块的样本。
该方法首先生成运动信息候选者列表。该列表也称为合并列表。候选者是从先前编码的块中导出的。这些块可以是空间上相邻的相邻块(与当前块相邻)或者相对于当前块的时间上共址(collocated)的块。图4示出了用于获取相邻运动信息的可能空间块,即,空间相邻块:左(L)、顶部(T)、右上(TR)、左下(LB)、以及左上(TL)。
在合并列表被生成之后,列表内的候选者之一被用于导出当前块的运动信息。候选者选择过程在编码器侧完成。编码器可以从列表中选择最佳候选者并将索引(merge_index)编码在比特流中以用信号通知解码器。解码器接收索引,遵循与编码器相同的合并列表导出过程,使用该索引来检索正确的候选者。
显式运动信息信令发送
VVC还包括显式运动信息信令发送方法,例如替代运动向量预测(AMVP)。对于被用AMVP编码的当前帧间编码块,其参考图片的数量、参考图片索引和相关联的运动向量被显式用信号通知并被编码到比特流中。
一般而言,就运动信息的信令发送所花费的比特数量而言,与显式运动信息信令发送方法相比,块合并方法是一种更便宜的替代方案,因为仅需要用信号通知一个索引值(即,merge_idx)。当对帧间块进行编码时,编码器可以选择以合并模式对块进行编码,因为合并方法给出比显式运动信息信令发送方法更小的RD成本,即使从相邻帧间块导出的(即,继承的)运动信息不太适合当前块。尽管存在提供相对差的适配的缺点,但显著便宜的信令发送成本的好处可能超过缺点。但是在不花费更多比特的情况下改进适配性仍然是有益的。
解码器侧运动向量细化(DMVR)
VVC包括一个名为DMVR的工具,用于通过双预测MV进一步细化用于以合并模式编码的块的MV。DMVR可以在不花费更多比特的情况下改进适配。
DMVR在子块的基础上细化MV。DMVR的第一步是将当前块划分成一组子块。例如,如果当前帧间块具有宽度=W和高度=H,则每个子块的宽度sbW可以是min(W,16)。类似地,每个子块的高度sbH可以是min(H,16)。本文的min(,)函数取函数的两个输入值中的最小值。然后,DMVR对具有大小sbW x sbH的每个子块执行MV细化。图5示出了一个32x32块和与32x32块相对应的四个16x16子块。
初始MV(即,要被细化的MV)是使用合并方法导出的。如图6所示,用于当前块的初始MV被假设为是MV0和MV1。在图6中,与初始MV相关联的位置在参考图片0和1中被标记为正方形,而与搜索窗口相关联的位置被标记为圆。
每个圆可以表示相对于初始MV位置的偏移MVoffset。例如,空心圆与相对于MV0的初始位置(参考图片0中的正方形)的MVoffset=(-1,1)相对应。该空心圆对应于新的运动向量MV0',其可以等于MV0+MVoffset。遵循镜像规则来导出新的运动向量MV1',其可以等于MV1–Mvoffset。
换句话说,搜索窗口内的任何点都可能产生新的MV对(MV0',MV1'):
MV0′=MV0+MVoffset
MV1′=MV1-MVoffset
其中,MVoffset表示在参考图片之一中的初始MV与细化MV之间的偏移。在VVC中,MVoffset的最大x或y分量被设置为2个整数样本。
DMVR在搜索窗口内搜索所有MVoffset,并寻找给出L0参考块与L1参考块之间的最小差值的MVoffset。该差值被计算为L0参考块内的样本值与L1参考块内的样本值之间的绝对差之和(SAD),即,SAD=∑x,y|P0(x,y)-P1(x,y)|,其中,P0和P1是在L0和L1参考块内的样本值。
然后,经细化的MV(从最佳MVoffset导出)可以被用于生成当前块的预测样本。
在VVC中,没有显式用信号通知的用于开启/关闭DMVR的块级标志。换句话说,当初始MV是双预测的并且满足一些其他条件时,即使没有显式信令,也会应用DMVR。用于确定DMVR是否适用于当前块的条件列表可在B.Bross、J.Chen、S.Liu、Y.-K Wang的“通用视频编码(草案10)”中找到(2020年7月,电话会议,文档编号JVET-S2001-vH,其通过引用并入)。一些条件如下:
-块处于合并模式,并且块的MV是双预测MV。
-块具有超过64个样本。
-块的高度和块的宽度大于或等于8个样本。
-双预测MV指向按显示顺序在当前图片之前的一个参考图片以及按显示顺序在当前图片之后的另一参考图片。
-两个参考图片到当前图片的距离相同。
-两个参考图片是短期参考图片。
-具有CU级别权重(BCW)权重索引的双预测使用相等的权重。
-未针对块启用加权预测。
-未针对块启用组合帧内-帧间预测模式。
发明内容
目前存在某些挑战。例如,现有的DMVR方案独立地细化用于每个子块的MV。这可能在子块之间引入细化MV的不一致。在此,不一致意味着MV之间的较大差异或变化。举例来说,如果用于两个相邻子块的细化MV在x或y分量中具有4个整数样本的差异,则这种差异很可能导致重构图片中明显的子块边界,由此导致较差的主观质量。
图8示出了来自用VTM-11(VVC参考软件)编码器编码的重构图片的有问题区域802的示例。区域802对应于应用了DMVR的块。在图8所示的块中,可以清楚地看到子块边界。
因此,在本公开的一些实施例中,提供了一种选择性地触发用于对当前块进行编码的DMVR的方法。所述方法可以确定当前块是否可能遭受DMVR主观问题。如果是,则所述方法可以选择另一对MV或其他模式以避免将DMVR应用于当前块。所述方法可以由编码器侧的一个或多个实体来执行。
因此,在一个方面,提供了一种对图片进行编码的方法。所述方法可以包括:选择用于所述图片内的当前块的运动向量MV。所述方法还可以包括:确定是否满足条件,其中,确定是否满足所述条件包括:(i)确定基于子块的运动细化是否适用于所述当前块,以及(ii)确定所述当前块内的第一子块是否满足标准。所述方法还可以包括:作为确定满足所述条件的结果,不使用所选择的MV对所述当前块进行编码。
在另一方面,提供了一种包括指令的计算机程序,所述指令在由处理电路执行时使得所述处理电路执行上述方法。
在另一方面,提供了一种用于对图片进行编码的装置。所述装置可以被配置为:选择用于所述图片内的当前块的运动向量MV。所述装置还可以被配置为:确定是否满足条件,其中,确定是否满足所述条件包括:(i)确定基于子块的运动细化是否适用于所述当前块,以及(ii)确定所述当前块内的第一子块是否满足标准。所述装置还可以被配置为:作为确定满足所述条件的结果,不使用所选择的MV对所述当前块进行编码。
在另一方面,提供了一种装置,包括存储器和耦合到所述存储器的处理电路。所述装置可以被配置为执行上述方法。
优点
通过避免在当前块可能遭受DMVR主观问题(例如,可以清楚地看到子块边界的问题)的情况下应用DMVR,能够提高编码图片/视频的质量。
附图说明
被并入本文并形成说明书的一部分附图示出了各种实施例。
图1a示出了运动向量(MV)的示例。
图1b示出了水平(x-)维度中的MV样本位置的示例。
图2示出了单帧间预测和双帧间预测。
图3示出了四层B-GOP结构的示例。
图4示出了用于获取相邻运动信息的可能空间块。
图5示出了块和子块的示例。
图6示出了初始MV和搜索窗口的示例。
图7示出了初始MV、MVoffset和细化MV的示例。
图8示出了重构图片中的问题区域的示例。
图9示出了重构图片中的改进区域的示例。
图10示出了根据实施例的过程。
图11示出了根据实施例的装置。
具体实施方式
如上所述,本公开的实施例避免对容易出现DMVR主观问题的块应用DMVR,从而提高主观质量。
图9示出了与区域802相对应的区域902。使用根据本公开实施例的方法对区域902进行编码。因此,在图9中,区域802中所示的子块边界被去除。
可以针对整个视频序列完全关闭DMVR,而不是选择性地应用DMVR。但是完全关闭DMVR可能导致压缩增益(即,压缩性能)显著降低。
下表示出了根据本公开实施例的编码方法与VTM-11(VVC参考软件)和DMVR关闭的VTM-11相比的客观性能。表中的数字示出了该方法实现与VTM-11和DMVR关闭的VTM-11等效的客观视频质量(以PSNR测量)的相对比特成本。BD率数-0.67%意味着该方法需要比DMVR关闭的VTM-11少0.67%的比特来实现相同的客观视频质量。如表中所示,在根据本公开实施例的方法中保留了来自DMVR的大部分压缩增益。
表1-根据本公开的实施例的方法与DMVR关闭的VTM-11相比的性能。
表2-根据本公开的实施例的方法与VTM-11.0(其已开启DMVR)相比的性能。
本公开的实施例提供了一种用于选择性地应用基于子块的运动细化(例如,VVC中的DMVR)的方法。术语“基于子块”意味着运动细化是在子块的基础上执行的(即,具有小于块的大小的样本的网格)。该方法可以由编码器执行。尽管DMVR是一种类型的基于子块的运动细化,但是为了简单说明,DMVR和基于子块的运动细化在本公开中可互换地使用。
当评估是否用一对初始MV对当前块进行编码(从而确定是否触发DMVR)时,根据一些实施例的方法可以确定当前子块和相邻子块(例如,位于当前子块正上方的子块和位于当前子块左侧的子块)是否都具有低空间活动度。如果是,则将从DMVR获得的用于当前子块和相邻子块的细化MV相互比较。在用于当前子块和相邻子块的细化MV之间的差值超过阈值时,该方法可以限制编码器不使用初始MV对当前块进行编码,以防止触发DMVR。对于低空间活动度子块(通常对应于平滑区域),子块之间不一致的MV可能导致可见的子块边界。根据本公开的实施例的方法能够防止使这样的子块边界可见。
1.用于选择性触发DMVR的方法
为了对视频序列内的当前图片内的当前块进行编码,编码器可以实现针对当前块选择性地触发DMVR的方法。为了确定是否触发DMVR,该方法可以评估是否对具有第一MV候选者(例如,MV0)的当前块进行编码。如上所述,可以使用合并方法来获得第一MV候选者。
如果编码器决定不对具有第一MV候选者的当前块进行编码,则不触发DMVR。另一方面,如果编码器决定对具有第一MV候选者的当前块进行编码,则可以触发DMVR。该方法可以包括以下步骤:
步骤1)编码器可以确定DMVR是否适用于具有第一MV候选者的当前块。
步骤2)响应于确定DMVR适用于具有第一MV候选者的当前块:
步骤2-1)编码器可以确定评估当前块内的子块并且(可选地)使用DMVR导出用于子块的细化MV。
步骤2-2)编码器可以确定子块是否满足第一标准A。
步骤3)响应于确定满足第一标准A,编码器可以确定不对具有第一MV候选者的当前块进行编码。
通过决定不对具有第一MV候选者的当前块进行编码,不触发DMVR。
一种不使编码器对具有第一MV候选者的当前块进行编码的方式是将第一MV候选者的关联RD成本设置为最大允许值。例如,如果编码器中的RD成本被存储在16位无符号变量中,则关联的RD成本可以被设置为(2^16-1)。
在上述实施例中,如果在当前块内存在满足第一标准A的子块,则执行步骤3。然而,在其他实施例中,仅在当前块内至少存在特定数量的子块满足第一标准A时,才执行步骤3。在进一步的实施例中,仅在当前块内的所有子块满足第一标准A时,才执行步骤3。
2.评估是否满足第一标准A
在一些实施例中,可以基于进行步骤2-1和步骤2-2的子块(下文中称为“当前子块”)的空间活动度值(Sa)来确定对第一标准A的满足。当空间活动度值(Sa)不大于(或等于)空间活动度阈值Th1时,可以确定满足第一标准A。换句话说,如果当前子块是低空间活动度子块,则确定满足第一标准A。
可以基于当前子块内的源样本的值来计算当前子块的空间活动度值。例如,在一个实施例中,当前子块的空间活动度值可以被计算为子块内的多个样本(例如,所有样本)的空间活动度值的平均值。
存在不同的计算当前子块内的样本的空间活动度值的方法。例如,如果Pi,j表示当前子块内位置(i,j)处的原始(即,未压缩)图片的当前样本的值,则当前样本的空间活动度值Acti,j可以被计算为当前样本与其一个或多个相邻样本(例如,位于当前样本上方或左侧的相邻样本)之间的平均绝对样本值差。
更具体地,在一个示例中,当前样本的空间活动度值可以被计算为Acti,j=(|Pi,j-Pi-1,j|+|Pi,j-Pi,j-1|)/2,其中,Pi-1,j表示在当前样本左侧的相邻样本的值,Pi,j-1表示在当前样本之上的相邻样本的值。
然后,如果当前子块的大小为M×N(其中M是在子块的列中的样本数,N是在子块的行中的样本数),则当前子块的空间活动度值可以被计算为Sa=(∑i∈M,j∈NActi,j)/(M×N)。
在其他实施例中,代替将当前子块的空间活动度值计算为当前子块内的所有样本的空间活动度值的平均值,在计算当前子块的空间活动度值时,当前子块中的第一行和第一列样本的空间活动度值可以被排除。这是因为第一行中的样本和/或第一列中的样本没有在样本上方或左侧的任何相邻样本(来自同一子块)。在这样的实施例中,当前子块的空间活动度值可以被计算为Sa=(∑i∈M-1,i∈N-1Acti,j)/((M-1)×(N-1))。
在其他实施例中,当前子块的空间活动度值可以被测量为当前子块内的样本值的方差。
在其他实施例中,代替使用原始(即,未压缩)样本的值,预测样本的值可以被用于计算当前子块内的样本的空间活动度值。
在这样的实施例中,位于图片内的位置(i,j)处且在当前子块内的当前样本的空间活动度值Acti,j可以被计算为Acti,j=(|Ri,j-Ri-1,j|+|Ri,j-Ri,j-1|)/2,其中,Ri,j是使用用于当前子块的细化运动向量rMVcurr获得的当前子块的当前样本(位于图片内的(i,j)处)的值,并且细化运动向量rMVcurr是使用DMVR获得的。
类似地,可以根据通过使用细化运动向量rMVabove和rMVleft获得的预测样本,计算与当前子块相邻的子块(例如,位于当前子块上方的相邻子块和位于子块左侧的相邻子块)内的样本的空间活动度值。
在其他实施例中,代替使用从细化运动向量获得的预测样本来计算样本的空间活动度值,从非细化运动向量获得的预测样本可以被用于计算空间活动度值。在细化之前,当前块内的所有子块具有与当前块相同的运动向量(MV)。
在这样的实施例中,位于图片内的位置(i,j)处且在当前子块内的当前样本的空间活动度值Acti,j可以被计算为Acti,j=(|Ri,j-Ri-1,j|+|Ri,j-Ri,j-1|)/2,其中,Ri,j是使用非细化运动向量MV(即,当前块的运动向量)获得的当前子块的当前样本(位于图片内的(i,j)处)的值。
类似地,可以根据通过使用非细化运动向量MV获得的预测样本,计算与当前子块相邻的子块(例如,位于当前子块上方的相邻子块和位于子块左侧的相邻子块)内的样本的空间活动度值。
3.设置空间活动度阈值Th1
在一个实施例中,空间活动度阈值Th1可以取决于当前块的量化参数(QP)。换句话说,Th1可以是QP的函数。随着QP增大,Th1也可增大。用于导出Th1的函数可以是QP的多项式函数。例如,该函数可以是Th1=f(QP)=a+b*QP+c*QP2,其中,a=0,b=0.0667,以及c=0.0109。
在其他实施例中,用于从QP导出Th1的函数可以被实现为查找表。在此,QP是查找表的输入条目,Th1是查找表中存储的查找值。下表是查找表的示例。
QP | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
Th1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 3 | 4 | 4 | 5 |
QP | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
Th1 | 5 | 6 | 6 | 7 | 7 | 8 | 9 | 9 | 10 | 10 | 11 | 12 | 13 | 13 | 14 | 15 | 16 | 17 | 18 |
QP | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 |
Th1 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | 36 | 36 | 36 |
QP | 57 | 58 | 59 | 60 | 61 | 62 | 63 | ||||||||||||
Th1 | 36 | 37 | 37 | 37 | 37 | 37 | 37 |
在其他实施例中,空间活动度阈值Th1可以取决于当前切片的QP而不是当前块的QP。
在其他实施例中,Th1可以取决于当前图片的层级。在这样的实施例中,具有高层级的图片可以导致高Th1。
4.不触发DMVR的第一附加条件
如上所述,如果(1)DMVR适用于具有第一MV候选者的当前块并且(2)如果存在满足第一标准A的任何子块,则编码器可以确定不对具有第一MV候选者的当前块进行编码,从而不触发DMVR。
在一些实施例中,可以存在用于确定是否对具有第一MV候选者的当前块进行编码的附加条件。附加条件包括与当前子块相邻的一个或多个子块(例如,位于当前子块上方或左侧的相邻子块)满足第一标准A。因此,选择性地触发DMVR的方法可以进一步包括确定与当前子块相邻的一个或多个子块(例如,位于当前子块上方或左侧的相邻子块)是否满足第一标准A。如果当前子块和相邻子块都是低空间活动度子块(即,如果当前子块和相邻子块均满足第一标准A),则编码器可以确定不对具有第一MV候选者的当前块进行编码。
5.不触发DMVR的第二附加条件
在一些实施例中,确定是否对具有第一MV候选者的当前块进行编码还可以取决于满足与包括在当前块中的子块的细化MV相关的附加限制标准(“第二标准B”)。
在这样的实施例中,编码器可以执行以下步骤以对视频序列内的当前图片内的当前块进行编码:
步骤1)编码器可以确定DMVR是否适用于具有第一MV候选者的当前块。如上所述,可以使用合并方法来获得第一MV候选者。
步骤2)响应于确定DMVR适用于具有第一MV候选者的当前块:
步骤2-1)编码器可以确定评估当前块内的子块。
步骤2-2)编码器可以确定子块是否满足第一标准A。
步骤3)在确定子块满足第一标准A之后:
步骤3-1)编码器可以使用DMVR针对子块导出细化MV。
步骤3-2)编码器可以确定子块是否满足第二标准B。
步骤4)响应于确定子块满足第一标准A和第二标准B,编码器可以确定不对具有第一MV候选者的当前块进行编码,从而防止触发DMVR。
在上述实施例中,如果在当前块内存在满足第一标准A和第二标准B的子块,则执行步骤4。然而,在其他实施例中,如果在当前块内存在至少特定数量的子块满足第一标准A和第二标准B,则可以执行步骤4。在进一步的实施例中,只有在当前块内的所有子块满足第一标准A和第二标准B时,才可以执行步骤4。
另外,在其他实施例中,步骤3至3-2可以在步骤2至2-2之前执行。在这样的实施例中,编码器可以响应于确定DMVR适用于具有第一MV候选者的当前块而执行步骤3-1和3-2,并且在确定子块满足第二标准B之后,编码器可以执行步骤2-1和2-2。
如果当前子块的细化MV(mvC)与相邻子块的细化MV之间的绝对差值不小于阈值Th2,则可以确定满足第二标准B。
例如,如果mvA是来自上面的相邻子块的细化MV并且mvL是来自左侧的相邻子块的细化MV,则当满足以下条件之一时,可以确定满足第二标准B。
|mvC.x-mvA.x|≥Th2
|mvC.y-mvA.y|≥Th2
|mvC.x-mvL.x|≥Th2
|mvC.x-mvL.y|≥Th2
在一些实施例中,Th2可以具有一个样本的精度(例如,Th2=1个样本、2个样本......)。然而,在其他实施例中,Th2可以具有一个样本的分数的精度。例如,Th2可以具有1/16个样本的精度并且具有为24的值(即,Th2=24/16个样本)。
6.块大小阈值
在一些实施例中,可以仅针对具有特定大小的块来实现选择性触发DMVR的方法。例如,可以仅针对大小不小于64×64的块来实现该方法。
7.QP阈值
在一些实施例中,可以仅针对具有高于(或等于)特定QP阈值(例如,41)的QP的块来实现用于选择性触发DMVR的方法。换句话说,当块具有低于QP阈值的QP时,该方法可以被去激活。替代地,可以针对切片内具有高于特定QP阈值的QP的块或图片内具有高于特定QP阈值的QP的块来实现该方法。
图10示出了根据一些实施例的过程1000。过程1000可以从步骤s1002开始。步骤s1002包括选择用于图片内的当前块的运动向量(MV)。步骤s1004包括确定是否满足条件。确定是否满足条件可以包括:(i)确定基于子块的运动细化是否适用于当前块,以及(ii)确定当前块内的第一子块是否满足标准。步骤s1006包括作为确定满足条件的结果,不使用所选择的MV对当前块进行编码。
在一些实施例中,确定当前块内的第一子块是否满足标准是作为确定基于子块的运动细化适用于当前块的结果而执行的。
在一些实施例中,基于子块的运动细化是解码器侧运动细化DMVR。
在一些实施例中,确定当前块内的第一子块是否满足标准包括:计算第一子块的空间活动度值,将所计算的空间活动度值与空间活动度阈值进行比较,以及基于该比较,确定第一子块是否满足标准。
在一些实施例中,第一子块的空间活动度值是基于与第一子块相关联的至少一个图片样本的空间活动度值计算的。
在一些实施例中,至少一个图片样本的空间活动度值是基于与第一子块相关联的两个或更多个图片样本的样本值确定的。
在一些实施例中,至少一个图片样本是具有第一样本值的第一图片样本,两个或更多个图片样本包括:i)第一图片样本,ii)与第一图片样本相邻并且具有第二样本值的第二图片样本,以及iii)与第一图片样本相邻并且具有第三样本值的第三图片样本,以及至少一个图片样本的空间活动度值是基于第一样本值与第二样本值之间的第一绝对样本值差和第一样本值与第三样本值之间的第二绝对样本值差的平均值确定的。
在一些实施例中,两个或更多个图片样本是未压缩图片样本。
在一些实施例中,两个或更多个图片样本是使用所选择的MV或使用利用基于子块的运动细化获得的细化MV来生成的预测样本。
在一些实施例中,空间活动度阈值是基于以下项中的一项或以下项的组合来确定的:与当前块相关联的量化参数QP,与当前切片相关联的QP,或图片的层级,以及空间活动度阈值随着以下项中的一项或以下项的组合的增大而增大:与当前块相关联的QP,与当前切片相关联的QP,或图片的层级。
在一些实施例中,当i)基于子块的运动细化适用于当前块并且ii)第一子块满足标准时,满足条件。
在一些实施例中,确定第一子块满足标准,以及确定是否满足条件进一步包括:确定与第一子块相邻的一个或多个子块是否满足标准。
在一些实施例中,当i)基于子块的运动细化适用于当前块,ii)第一子块满足标准,并且iii)与第一子块相邻的一个或多个子块中的每个子块满足标准时,满足条件。
在一些实施例中,确定是否满足条件进一步包括:获得用于第一子块的第一细化MV,其中,第一细化MV是使用基于子块的运动细化获得的,获得用于与第一子块相邻的子块的第二细化MV,其中,第二细化MV是使用基于子块的运动细化获得的,将第一细化MV与第二细化MV之间的差值与阈值进行比较,以及至少基于比较的结果,确定是否满足条件。
在一些实施例中,该方法仅在以下情况下实现:(i)当前块的大小大于或等于块大小阈值,(ii)与当前块相关联的QP大于或等于QP阈值,或者(iii)与包括当前块的图片或切片相关联的QP大于或等于QP阈值。
图11是根据一些实施例的用于实现上述编码器的装置1100的框图。如图11所示,装置1100可以包括:处理电路(PC)1102,其可以包括一个或多个处理器(P)1155(例如,通用微处理器和/或一个或多个其他处理器,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等),这些处理器可以共同位于单个机壳中或单个数据中心中,或者可以在地理上分布(即,装置1100可以是分布式计算设备);至少一个网络接口1148,其包括发射机(Tx)1145和接收机(Rx)1147,用于使得装置1100能够向连接到网络接口1148(直接或间接)被连接到(例如,网络接口1148可以无线地连接到网络110,在这种情况下网络接口1148连接到天线装置)的网络110(例如,网际协议(IP)网络)的其他节点发送数据并从其接收数据;以及存储单元(也称为“数据存储系统”)1108,其可以包括一个或多个非易失性存储设备和/或一个或多个易失性存储设备。在PC 1102包括可编程处理器的实施例中,可以提供计算机程序产品(CPP)1141。CPP 1141包括存储计算机程序(CP)1143的计算机可读介质(CRM)1142,计算机程序(CP)1143包括计算机可读指令(CRI)1144。CRM 1142可以是非暂时性计算机可读介质,例如磁介质(例如,硬磁盘)、光学介质、存储设备(例如,随机存取存储器、闪存)等。在一些实施例中,计算机程序1143的CRI 1144被配置为使得当由PC 1102执行时,CRI使得装置1100执行本文描述的步骤(例如,本文参考流程图描述的步骤)。在其他实施例中,装置1100可以被配置为执行本文描述的步骤而不需要代码。也就是说,例如,PC 1102可以仅由一个或多个ASIC组成。因此,本文描述的实施例的特征可以以硬件和/或软件来实现。
虽然本文描述了各种实施例,但是应当理解,它们仅通过示例而非限制的方式呈现。因此,本公开的广度和范围不应受到任何上述示例性实施例的限制。此外,除非本文另外指出或另外与上下文明显矛盾,否则本公开涵盖上述元素在其所有可能变型中的任何组合。
另外,虽然在以上所述和在附图中所示的过程被示为步骤序列,但这仅仅是为了说明的目的。因此,构想了可以添加一些步骤,可以省略一些步骤,可以重新布置步骤的顺序,以及可以并行执行一些步骤。
Claims (20)
1.一种对图片进行编码的方法(1000),所述方法包括:
选择(s1002)用于所述图片内的当前块的运动向量MV;
确定(s1004)是否满足条件,其中,确定是否满足所述条件包括:(i)确定基于子块的运动细化是否适用于所述当前块,以及(ii)确定所述当前块内的第一子块是否满足标准;以及
作为确定满足所述条件的结果,不使用(s1006)所选择的MV对所述当前块进行编码。
2.根据权利要求1所述的方法,其中,确定所述当前块内的所述第一子块是否满足所述标准是作为确定所述基于子块的运动细化适用于所述当前块的结果而执行的。
3.根据权利要求1或2所述的方法,其中,所述基于子块的运动细化是解码器侧运动细化DMVR。
4.根据权利要求1-3中任一项所述的方法,其中,确定所述当前块内的所述第一子块是否满足所述标准包括:
计算所述第一子块的空间活动度值,
将所计算的空间活动度值与空间活动度阈值进行比较,以及
基于所述比较,确定所述第一子块是否满足所述标准。
5.根据权利要求4所述的方法,其中,所述第一子块的所述空间活动度值是基于与所述第一子块相关联的至少一个图片样本的空间活动度值计算的。
6.根据权利要求5所述的方法,其中,所述至少一个图片样本的所述空间活动度值是基于与所述第一子块相关联的两个或更多个图片样本的样本值确定的。
7.根据权利要求6所述的方法,其中,
所述至少一个图片样本是具有第一样本值的第一图片样本,
所述两个或更多个图片样本包括:i)所述第一图片样本,ii)与所述第一图片样本相邻并且具有第二样本值的第二图片样本,以及iii)与所述第一图片样本相邻并且具有第三样本值的第三图片样本,以及
所述至少一个图片样本的所述空间活动度值是基于所述第一样本值与所述第二样本值之间的第一绝对样本值差和所述第一样本值与所述第三样本值之间的第二绝对样本值差的平均值确定的。
8.根据权利要求6或7所述的方法,其中,所述两个或更多个图片样本是未压缩图片样本。
9.根据权利要求6或7所述的方法,其中,所述两个或更多个图片样本是使用所选择的MV或使用利用所述基于子块的运动细化获得的细化MV来生成的预测样本。
10.根据权利要求4-9中任一项所述的方法,其中,
所述空间活动度阈值是基于以下项中的一项或以下项的组合来确定的:与所述当前块相关联的量化参数QP,与当前切片相关联的QP,或所述图片的层级,以及
所述空间活动度阈值随着以下项中的一项或以下项的组合的增大而增大:与所述当前块相关联的所述QP,与所述当前切片相关联的所述QP,或所述图片的所述层级。
11.根据权利要求1-10中任一项所述的方法,其中,当i)所述基于子块的运动细化适用于所述当前块并且ii)所述第一子块满足所述标准时,满足所述条件。
12.根据权利要求1-10中任一项所述的方法,其中,
确定所述第一子块满足所述标准,以及
确定是否满足所述条件进一步包括:确定与所述第一子块相邻的一个或多个子块是否满足所述标准。
13.根据权利要求12所述的方法,其中,当i)所述基于子块的运动细化适用于所述当前块,ii)所述第一子块满足所述标准,并且iii)与所述第一子块相邻的所述一个或多个子块中的每个子块满足所述标准时,满足所述条件。
14.根据权利要求1-13中任一项所述的方法,其中,
确定是否满足所述条件进一步包括:
获得用于所述第一子块的第一细化MV,其中,所述第一细化MV是使用所述基于子块的运动细化获得的,
获得用于与所述第一子块相邻的子块的第二细化MV,其中,所述第二细化MV是使用所述基于子块的运动细化获得的,
将所述第一细化MV与所述第二细化MV之间的差值与阈值进行比较,以及
至少基于所述比较的结果,确定是否满足所述条件。
15.根据权利要求1-14中任一项所述的方法,其中,所述方法仅在以下情况下实现:
(i)所述当前块的大小大于或等于块大小阈值,
(ii)与所述当前块相关联的QP大于或等于QP阈值,或者
(iii)与包括所述当前块的图片或切片相关联的QP大于或等于QP阈值。
16.一种包括指令(1144)的计算机程序(1143),所述指令(1144)在由处理电路(1102)执行时使得所述处理电路(1102)执行上述权利要求中任一项的方法。
17.一种包含权利要求16的计算机程序的载体,其中,所述载体是电信号、光信号、无线电信号、以及计算机可读存储介质(1142)中的一个。
18.一种用于对图片进行编码的装置(1100),所述装置被配置为:
选择(s1002)用于所述图片内的当前块的运动向量MV;
确定(s1004)是否满足条件,其中,确定是否满足所述条件包括:(i)确定基于子块的运动细化是否适用于所述当前块,以及(ii)确定所述当前块内的第一子块是否满足标准;以及
作为确定满足所述条件的结果,不使用(s1006)所选择的MV对所述当前块进行编码。
19.根据权利要求18所述的装置,其中,所述装置还被配置为执行根据权利要求2-15中任一项的方法。
20.一种装置(1100),所述装置包括:
存储器(1142);以及
耦合到所述存储器(1142)的处理电路(1102),其中,所述装置(1100)被配置为执行根据权利要求1-15中任一项的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163216729P | 2021-06-30 | 2021-06-30 | |
US63/216,729 | 2021-06-30 | ||
PCT/SE2022/050531 WO2023277755A1 (en) | 2021-06-30 | 2022-06-02 | Selective subblock-based motion refinement |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117597932A true CN117597932A (zh) | 2024-02-23 |
Family
ID=84690508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280046856.5A Pending CN117597932A (zh) | 2021-06-30 | 2022-06-02 | 选择性的基于子块的运动细化 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4364419A1 (zh) |
CN (1) | CN117597932A (zh) |
WO (1) | WO2023277755A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10742971B2 (en) * | 2016-10-05 | 2020-08-11 | Lg Electronics Inc. | Inter prediction method and device that performs prediction by applying weights to motion information of a current block |
JP7046186B2 (ja) * | 2017-12-08 | 2022-04-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 |
US10638153B2 (en) * | 2018-07-02 | 2020-04-28 | Tencent America LLC | For decoder side MV derivation and refinement |
SG11202107970QA (en) * | 2019-02-22 | 2021-08-30 | Huawei Tech Co Ltd | Early termination for optical flow refinement |
CN113615194B (zh) * | 2019-03-05 | 2023-06-06 | 华为技术有限公司 | 使用抽取预测块的dmvr |
WO2020177696A1 (en) * | 2019-03-05 | 2020-09-10 | Huawei Technologies Co., Ltd. | Use of extended samples during search in decoder-side motion refinement |
TWI738248B (zh) * | 2019-03-14 | 2021-09-01 | 聯發科技股份有限公司 | 運動細化以及子分區基礎填充的視訊處理的方法以及裝置 |
CN113796084B (zh) * | 2019-04-14 | 2023-09-15 | 北京字节跳动网络技术有限公司 | 运动矢量和预测样点细化 |
-
2022
- 2022-06-02 WO PCT/SE2022/050531 patent/WO2023277755A1/en active Application Filing
- 2022-06-02 CN CN202280046856.5A patent/CN117597932A/zh active Pending
- 2022-06-02 EP EP22833756.4A patent/EP4364419A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4364419A1 (en) | 2024-05-08 |
WO2023277755A1 (en) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7253844B2 (ja) | 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読記録媒体 | |
CN110999304B (zh) | 图像处理方法和图像编码/解码方法以及使用图像处理方法和图像编码/解码方法的装置 | |
CA2932811C (en) | Adaptive motion vector resolution signaling for video coding | |
JP2023009280A (ja) | 画像符号化/復号化方法、装置、及びビットストリームを保存した記録媒体 | |
US8948243B2 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
KR20190038371A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20180061041A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20120066593A (ko) | 인터 예측 부호화된 동영상 복호화 방법 | |
US20200162736A1 (en) | Method and apparatus for image processing using quantization parameter | |
KR20130085393A (ko) | 쌍방향 예측 및 블록 병합을 제한하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 | |
US11496737B2 (en) | Image encoding/decoding method and apparatus, and recording medium storing bitstream | |
US20220150529A1 (en) | Image encoding/decoding method and apparatus, and recording medium storing bitstream | |
KR20180061042A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
US20240073448A1 (en) | Image encoding/decoding method and device, and recording medium in which bitstream is stored | |
US20240155134A1 (en) | Method and apparatus for video coding using improved cross-component linear model prediction | |
de-Frutos-López et al. | An improved fast mode decision algorithm for intraprediction in H. 264/AVC video coding | |
CN117597932A (zh) | 选择性的基于子块的运动细化 | |
KR101659343B1 (ko) | 동영상 처리 방법 및 장치 | |
KR101914667B1 (ko) | 동영상 처리 방법 및 장치 | |
CN117546466A (zh) | 重叠解码器侧运动细化 | |
US11483576B2 (en) | Method and a device for picture encoding and decoding | |
CN112806018B (zh) | 图像编码/解码方法和设备以及存储比特流的记录介质 | |
KR20230109587A (ko) | 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체 | |
WO2024039910A1 (en) | Method and apparatus for adaptive motion compensated filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |