CN114503561A - 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 - Google Patents
用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 Download PDFInfo
- Publication number
- CN114503561A CN114503561A CN202080070878.6A CN202080070878A CN114503561A CN 114503561 A CN114503561 A CN 114503561A CN 202080070878 A CN202080070878 A CN 202080070878A CN 114503561 A CN114503561 A CN 114503561A
- Authority
- CN
- China
- Prior art keywords
- picture
- flag
- prof
- decoder
- sps
- 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
Images
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/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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/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/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
-
- 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/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
提供了比特深度表示方法、装置和非暂时性计算机可读存储介质。解码器获得与视频信号内的视频块相关联的参考图片I。解码器从参考图片I中的参考块获得视频块的预测样本I(i,j)。解码器通过基于用于达到预设精度的比特移位值对PROF导出过程的内部PROF参数应用右移来控制内部PROF参数。解码器根据PROF导出过程基于预测样本I(i,j)被应用于视频块,获得视频块中样本的预测细化值。解码器基于预测样本和预测细化值的组合获得视频块的预测样本。
Description
相关申请的交叉引用
本申请基于2019年10月9日提交的临时申请第62/913,141号并要求享有该申请的优先权,该申请的全部内容通过引用整体并入本文。
技术领域
本公开涉及视频编解码和压缩。更具体地,本公开涉及关于在通用视频编解码(VVC)标准中研究的两种帧间预测工具(即,利用光流的预测细化(PROF)和双向光流(BDOF))的方法和装置。
背景技术
可以使用各种视频编解码技术来压缩视频数据。根据一种或多种视频编解码标准执行视频编解码。例如,视频编解码标准包括通用视频编解码(VVC)、联合探索测试模型(JEM)、高效视频编解码(H.265/HEVC)、高级视频编解码(H.264/AVC)、运动图像专家组(MPEG)编解码等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等),这些预测方法利用视频图像或序列中存在的冗余。视频编解码技术的一个重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。
发明内容
本公开的示例提供用于双向光流的比特深度控制的方法和装置。
根据本公开的第一方面,提供了一种PROF的比特深度表示方法。该方法可以包括解码器获得与视频信号内的视频块相关联的参考图片I。解码器还可以从参考图片I中的参考块获得视频块的预测样本I(i,j)。i和j表示一个样本关于视频块的坐标。解码器可以进一步通过基于用于达到预设精度的比特移位值对PROF导出过程的内部PROF参数应用右移来控制内部PROF参数。内部PROF参数可以包括针对预测样本I(i,j)导出的水平梯度值、垂直梯度值、水平运动差值和垂直运动差值。解码器还可以根据PROF导出过程基于预测样本I(i,j)被应用于视频块,获得视频块中的样本的预测细化值。解码器可以进一步基于预测样本和预测细化值的组合,获得视频块的预测样本。
根据本公开的第二方面,提供了一种BDOF的比特深度控制方法。该方法可以包括解码器获得与视频块相关联的第一参考图片I(0)和第二参考图片I(1)。按照显示顺序,第一参考图片I(0)在当前图片之前并且第二参考图片I(1)在当前图片之后。解码器还可以从第一参考图片I(0)中的参考块获得视频块的第一预测样本I(0)(i,j)。i和j表示一个样本关于当前图片的坐标。解码器可以进一步从第二参考图片I(1)中的参考块获得视频块的第二预测样本I(1)(i,j)。解码器还可以通过对BDOF导出过程的内部BDOF参数应用移位来控制内部BDOF参数。内部BDOF参数包括基于第一预测样本I(0)(i,j)、第二预测样本I(1)(i,j)导出的水平梯度值和垂直梯度值、第一预测样本I(0)(i,j)与第二预测样本I(1)(i,j)之间的样本差以及中间BDOF导出参数。中间BDOF导出参数可以包括sGxdI参数、sGydI参数、sGx2参数、sGxGy参数和sGy2参数。sGxdI和sGydI可以包括水平梯度值与样本差值之间的交叉相关值,以及垂直梯度值与样本差值之间的交叉相关值。sGx2和sGy2可以包括水平梯度值和垂直梯度值的自相关值。sGxGy可以包括水平梯度值与垂直梯度值之间的交叉相关值。
根据本公开的第三方面,提供了BDOF、PROF和DMVR的方法。该方法可以包括解码器接收序列参数集(SPS)中的三个控制标志。第一控制标志指示是否启用BDOF以用于解码当前视频序列中的视频块。第二控制标志指示是否启用PROF以用于解码当前视频序列中的视频块。第三控制标志指示是否启用DMVR以用于解码当前视频序列中的视频块。当第一控制标志为真时,解码器还可以接收SPS中的第一存在标志,当第二控制标志为真时,接收SPS中的第二存在标志,以及当第三控制标志为真时,接收SPS中的第三存在标志。当SPS中的第一存在标志指示针对每个图片中的视频块禁用BDOF时,解码器可以进一步接收该图片的图片头中的第一图片控制标志。当SPS中的第二存在标志指示针对每个图片中的视频块禁用PROF时,解码器还可以接收该图片的图片头中的第二图片控制标志。当SPS中的第三存在标志指示针对每个图片中的视频块禁用DMVR时,解码器可以进一步接收该图片的图片头中的第三图片控制标志。
根据本公开的第四方面,提供了一种计算设备。计算设备可以包括一个或多个处理器、存储能够由一个或多个处理器执行的指令的非暂时性计算机可读存储器。一个或多个处理器可以被配置为获得与视频信号内的视频块相关联的参考图片I。一个或多个处理器还可以被配置为从参考图片I中的参考块获得视频块的预测样本I(i,j)。i和j表示一个样本关于视频块的坐标。一个或多个处理器可以进一步被配置为通过基于用于达到预设精度的比特移位值对PROF导出过程的内部PROF参数应用右移来控制内部PROF参数。内部PROF参数可以包括针对预测样本I(i,j)导出的水平梯度值、垂直梯度值、水平运动差值和垂直运动差值。一个或多个处理器还可以被配置为根据PROF导出过程基于预测样本I(i,j)被应用于视频块,获得视频块中的样本的预测细化值。一个或多个处理器可以进一步被配置为基于预测样本和预测细化值的组合,获得视频块的预测样本。
根据本公开的第五方面,提供了一种计算设备。该计算设备可以包括一个或多个处理器、存储能够由一个或多个处理器执行的指令的非暂时性计算机可读存储器。一个或多个处理器可以被配置为获得与视频块相关联的第一参考图片I(0)和第二参考图片I(1)。按照显示顺序,第一参考图片I(0)在当前图片之前并且第二参考图片I(1)在当前图片之后。一个或多个处理器可以进一步被配置为从第一参考图片I(0)中的参考块获得视频块的第一预测样本I(0)(i,j)。i和j表示一个样本关于当前图片的坐标。一个或多个处理器还可以被配置为根据PROF导出过程基于预测样本I(i,j)被应用于视频块来获得视频块中的样本的预测细化值。一个或多个处理器可以进一步被配置为从第二参考图片I(1)中的参考块获得视频块的第二预测样本I(1)(i,j)。一个或多个处理器可以进一步被配置为通过对BDOF导出过程的内部BDOF参数应用移位来控制内部BDOF参数。内部BDOF参数包括基于第一预测样本I(0)(i,j)、第二预测样本I(1)(i,j)导出的水平梯度值和垂直梯度值、第一预测样本I(0)(i,j)与第二预测样本I(1)(i,j)之间的样本差以及中间BDOF导出参数。中间BDOF导出参数可以包括sGxdI参数、sGydI参数、sGx2参数、sGxGy参数和sGy2参数。sGxdI和sGydI可以包括水平梯度值与样本差值之间的交叉相关值以及垂直梯度值与样本差值之间的交叉相关值。sGx2和sGy2可以包括水平梯度值和垂直梯度值的自相关值。sGxGy可以包括水平梯度值与垂直梯度值之间的交叉相关值。一个或多个处理器可以进一步被配置为根据BDOF基于第一预测样本I(0)(i,j)和第二预测样本I(1)(i,j)被应用于视频块来获得视频块中样本的运动细化。一个或多个处理器可以进一步被配置为基于运动细化获得视频块的双向预测样本。
根据本公开的第六方面,提供了一种其中存储有指令的非暂时性计算机可读存储介质。当指令由装置的一个或多个处理器执行时,指令可以使该装置接收序列参数集(SPS)中的三个控制标志。第一控制标志指示是否启用BDOF以用于解码当前视频序列中的视频块。第二控制标志指示是否启用PROF以用于解码当前视频序列中的视频块。第三控制标志指示是否启用DMVR以用于解码当前视频序列中的视频块。指令还可以使装置当第一控制标志为真时,接收SPS中的第一存在标志,当第二控制标志为真时,接收SPS中的第二存在标志,以及当第三控制标志为真时,接收SPS中的第三存在标志。该指令可以进一步使装置:当SPS中的第一存在标志指示针对每个图片中的视频块禁用BDOF时,接收该图片的图片头中的第一图片控制标志。该指令还可以使装置:当SPS中的第二存在标志指示针对每个图片中的视频块禁用PROF时,接收该图片的图片头中的第二图片控制标志。该指令可以进一步使装置:当SPS中的第三存在标志指示针对每个图片中的视频块禁用DMVR时,接收该图片的图片头中的第三图片控制标志。
应当理解,上述总体描述和以下详细描述都只是示例,而不是对本公开的限制。
附图说明
并入本说明书中并构成本说明书一部分的附图示出了与本公开一致的示例,并且与描述一起用于解释本公开的原理。
图1是根据本公开的示例的编码器的框图。
图2是根据本公开的示例的解码器的框图。
图3A是示出根据本公开的示例的多类型树结构中的块分区的图。
图3B是示出根据本公开的示例的多类型树结构中的块分区的图。
图3C是示出根据本公开的示例的多类型树结构中的块分区的图。
图3D是示出根据本公开的示例的多类型树结构中的块分区的图。
图3E是示出根据本公开的示例的多类型树结构中的块分区的图。
图4是根据本公开的示例的双向光流(BDOF)模型的示意图。
图5A是根据本公开的示例的仿射模型的图示。
图5B是根据本公开的示例的仿射模型的图示。
图6是根据本公开的示例的仿射模型的图示。
图7是根据本公开的示例的利用光流的预测细化(PROF)的图示。
图8是根据本公开的示例的BDOF的工作流。
图9是根据本公开的示例的PROF的工作流。
图10是根据本公开的示例的BDOF的方法。
图11是根据本公开的示例的BDOF和PROF的方法。
图12是根据本公开的示例的BDOF、PROF和DMVR的方法。
图13是根据本公开的示例的用于双向预测的PROF的工作流的图示。
图14是根据本公开的BDOF和PROF过程的流水线阶段的图示。
图15是根据本公开的BDOF的梯度导出方法的图示。
图16是根据本公开的PROF的梯度导出方法的图示。
图17A是根据本公开的示例的针对仿射模式导出模板样本的图示。
图17B是根据本公开的示例的针对仿射模式导出模板样本的图示。
图18A是根据本公开的示例的针对仿射模式排他地启用PROF和LIC的图示。
图18B是根据本公开的示例的针对仿射模式联合地启用PROF和LIC的图示。
图19A是示出根据本公开的示例的所提出的应用于16×16BDOF CU的填充方法的图。
图19B是示出根据本公开的示例的所提出的应用于16×16BDOF CU的填充方法的图。
图19C是示出根据本公开的示例的所提出的应用于16×16BDOF CU的填充方法的图。
图19D是示出根据本公开的示例的所提出的应用于16×16BDOF CU的填充方法的图。
图20是示出根据本公开的示例的与用户接口耦合的计算环境的图。
具体实施方式
现在将详细参考示例实施例,其示例在附图中示出。以下描述参考附图,其中除非另有说明,否则不同附图中相同的数字表示相同或相似的元件。以下示例实施例的描述中阐述的实现方式并不代表与本公开一致的所有实现方式。相反,它们仅仅是与如所附权利要求中叙述的本公开相关的方面一致的装置和方法的示例。
本公开中使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。如在本公开和所附权利要求中使用的,除非上下文另有明确指示,否则单数形式“一(a)”、“一个(an)”和“该(the)”旨在也包括复数形式。还应理解,本文使用的术语“和/或”旨在表示并包括关联列出项目中的一个或多个的任何或所有可能的组合。
应当理解,尽管在本文中可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是该信息不应受这些术语的限制。这些术语仅用于将一类信息与另一类信息区分开来。例如,在不脱离本公开的范围的情况下,第一信息可以称为第二信息;类似地,第二信息也可以称为第一信息。如本文所使用的,根据上下文,术语“如果”可以理解为表示“当……时(when)”、或“在……后(upon)”、或“响应于判断”。
HEVC标准的第一版本于2013年10月完成,与上一代视频编解码标准H.264/MPEGAVC相比,它提供了大约50%的比特率节省或等效的感知质量。尽管HEVC标准比其前代提供了显著的编解码改进,但有证据表明,使用附加的编解码工具可以实现与HEVC相比更高的编解码效率。在此基础上,VCEG和MPEG都开始了针对未来视频编解码标准化的新编解码技术的探索工作。ITU-T VECG和ISO/IEC MPEG于2015年10月成立了一个联合视频探索团队(JVET),以开始对可以实现对编解码效率的显著提高的先进技术进行重大研究。JVET通过在HEVC测试模型(HM)之上整合几个附加的编解码工具来维护称为联合探索模型(JEM)的参考软件。
2017年10月,ITU-T和ISO/IEC发布了关于具有超越HEVC能力的视频压缩的联合征集提案(CfP)。2018年4月,在第10次JVET会议上收到并评估了23份CfP回复,表明压缩效率比HEVC提高了约40%。基于这样的评估结果,JVET启动了新项目来开发新一代视频编解码标准,该标准称为通用视频编解码(VVC)。同月,建立了称为VVC测试模型(VTM)的参考软件代码库,用于演示VVC标准的参考实现。
与HEVC一样,VVC建立在基于块的混合视频编解码框架之上。
图1示出了用于VVC的基于块的视频编码器的总体图。具体地,图1示出了典型的编码器100。编码器100具有视频输入110、运动补偿112、运动估计114、帧内/帧间模式决策116、块预测值140、加法器128、变换130、量化132、预测相关信息142、帧内预测118、图片缓冲器120、逆量化134、逆变换136、加法器126、存储器124、环路滤波器122、熵编码138和比特流144。
在编码器100中,视频帧被分区成多个视频块以用于处理。对于每个给定视频块,基于帧间预测方法或帧内预测方法形成预测。
预测残差从加法器128发送到变换130,预测残差表示当前视频块(视频输入110的一部分)与其预测值(块预测值140的一部分)之间的差。然后变换系数从变换130发送到量化132以用于熵减少。然后将量化系数馈送到熵编码138以生成压缩的视频比特流。如图1所示,来自帧内/帧间模式决策116的预测相关信息142(例如,视频块分区信息、运动矢量(MV)、参考图片索引和帧内预测模式)也通过熵编码138被馈送并保存到已压缩比特流144中。已压缩比特流144包括视频比特流。
在编码器100中,还需要与解码器相关的电路以便重建像素以用于预测。首先,通过逆量化134和逆变换136重建预测残差。该重建的预测残差与块预测值140组合以生成当前视频块的未滤波的重建像素。
空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已经编码的相邻块(称为参考样本)的样本的像素来预测当前视频块。
时间预测(也称为“帧间预测”)使用来自已编码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定编码单元(CU)或编码块的时间预测信号通常由一个或多个MV用信号通知,这些MV指示当前CU与其时间参考之间的运动的量和方向。此外,如果支持多个参考图片,则附加地发送一个参考图片索引,其用于标识时间预测信号来自参考图片存储装置中的哪个参考图片。
运动估计114接收视频输入110和来自图片缓冲器120的信号,并且将运动估计信号输出到运动补偿112。运动补偿112接收视频输入110、来自图片缓冲器120的信号以及来自运动估计114的运动估计信号,并且将运动补偿信号输出到帧内/帧间模式决策116。
在执行空间和/或时间预测之后,编码器100中的帧内/帧间模式决策116例如基于率失真优化方法选择最佳预测模式。然后从当前视频块中减去块预测值140,并且使用变换130和量化132将得到的预测残差去相关。得到的量化残差系数由逆量化134进行逆量化并由逆变换136进行逆变换,以形成重建残差,然后将重建残差加回预测块以形成CU的重建信号。此外,在重建CU被放入图片缓冲器120的参考图片存储装置并用于对未来的视频块进行编码之前,可以将环路滤波122(例如,去块滤波器、样本自适应偏移(SAO)和/或自适应环路滤波器(ALF))应用于重建CU。为了形成输出视频比特流144,编码模式(帧间或帧内)、预测模式信息、运动信息和量化残差系数都被发送到熵编码单元138以被进一步压缩和打包以形成比特流。
图1给出了通用的基于块的混合视频编码系统的框图。输入视频信号被逐块(称为CU)处理。在VTM-1.0中,一个CU可以达到128×128像素。然而,与仅基于四叉树对块进行分区的HEVC不同,在VVC中,一个编码树单元(CTU)被分割为CU,以适应基于四叉树/二叉树/三叉树的不同局部特性。此外,去除了HEVC中多分区单元类型的概念,即,VVC中不再存在CU、预测单元(PU)和变换单元(TU)的分离;相反,每个CU始终用作预测和变换两者的基本单元,而不进行进一步分区。在多类型树结构中,一个CTU首先按四叉树结构分区。然后,每个四叉树叶节点可以按二叉树和三叉树结构进一步分区。如图3A、图3B、图3C、图3D和图3E中所示,存在五种分割类型,四元分区、水平二元分区、垂直二元分区、水平三元分区和垂直三元分区。
图3A示出了图示根据本公开的多类型树结构中的块四元分区的图。
图3B示出了图示根据本公开的多类型树结构中的块垂直二元分区的图。
图3C示出了图示根据本公开的多类型树结构中的块水平二元分区的图。
图3D示出了图示根据本公开的多类型树结构中的块垂直三元分区的图。
图3E示出了图示根据本公开的多类型树结构中的块水平三元分区的图。
在图1中,可以执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中的已经编码的相邻块的样本(称为参考样本)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已经编码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定CU的时间预测信号通常由一个或多个运动矢量(MV)表示,MV指示当前CU与其时间参考之间的运动的量和方向。此外,如果支持多个参考图片,则附加地发送一个参考图片索引,其用于标识时间预测信号来自参考图片存储库中的哪个参考图片。在空间和/或时间预测之后,编码器中的模式决策块选择最佳预测模式,例如,基于率失真优化方法。然后从当前视频块中减去预测块;并且对预测残差使用变换进行去相关并进行量化。对量化残差系数进行逆量化和逆变换,以形成重建残差,然后将重建残差加回预测块,以形成CU的重建信号。此外,在将重建CU放入参考图片存储库中并用于对未来的视频块进行编码之前,可以将环路滤波(例如,去块滤波器、样本自适应偏移(SAO)和自适应环路滤波器(ALF))应用于重建CU。为了形成输出视频比特流,编码模式(帧间或帧内)、预测模式信息、运动信息和量化残差系数都被送到熵编码单元以被进一步压缩和打包以形成比特流。
图2示出了用于VVC的视频解码器的总体框图。具体地,图2示出了典型的解码器200框图。解码器200具有比特流210、熵解码212、逆量化214、逆变换216、加法器218、帧内/帧间模式选择220、帧内预测222、存储器230、环路滤波器228、运动补偿224、图片缓冲器226、预测相关信息234和视频输出232。
解码器200类似于位于图1的编码器100中的重建相关部分。在解码器200中,传入的视频比特流210首先通过熵解码212进行解码,以导出量化系数水平和预测相关信息。然后通过逆量化214和逆变换216处理量化系数水平以获得重建预测残差。在帧内/帧间模式选择器220中实现的块预测值机制被配置为基于已解码预测信息来执行帧内预测222或运动补偿224。通过使用求和器218将来自逆变换216的重建预测残差与块预测值机制生成的预测输出相加来获得一组未滤波的重建像素。
重建块在被存储在用作参考图片存储库的图片缓冲器226中之前可以进一步经过环路滤波器228。图片缓冲器226中的重建视频可以被发送以驱动显示设备,以及用于预测未来的视频块。在环路滤波器228开启的情况下,对这些重建像素执行滤波操作以导出最终的重建视频输出232。
图2给出了基于块的视频解码器的总体框图。视频比特流首先在熵解码单元处进行熵解码。编码模式和预测信息被发送到空间预测单元(如果是帧内编码)或时间预测单元(如果是帧间编码)以形成预测块。残差变换系数被发送到逆量化单元和逆变换单元以重建残差块。然后将预测块和残差块相加。重建块在被存储在参考图片存储装置中之前可以进一步经过环路滤波。然后将参考图片存储装置中的重建视频发送出去以驱动显示设备,并且用于预测未来的视频块。
通常,除了进一步扩展和/或增强了几个模块之外,在VVC中应用的基本帧间预测技术保持与HEVC相同。特别地,对于所有先前的视频标准,当编码块为单向预测的时,一个编码块只能与一个单一的MV相关联,或者当编码块为双向预测的时,一个编码块只能与两个MV相关联。由于传统的基于块的运动补偿的这种限制,在运动补偿之后,小运动仍然可以保留在预测样本内,从而对运动补偿的整体效率产生负面影响。为了改进MV的粒度和精度两者,目前针对VVC标准研究了两种基于光流的逐样本细化方法,即,针对仿射模式的双向光流(BDOF)和利用光流的预测细化(PROF)。下面简要回顾这两种帧间编解码工具的主要技术方面。
双向光流
在VVC中,应用BDOF来细化双向预测编码块的预测样本。具体地,如图4所示,BDOF是在使用双向预测时在基于块的运动补偿预测之上执行的逐样本运动细化。
图4示出了根据本公开的BDOF模型的图示。
每个4×4子块的运动细化(vx,vy)通过如下操作来计算:当在围绕子块的一个6×6窗口Ω内应用BDOF之后,最小化L0和L1预测样本之间的差。具体地,(vx,vy)的值导出为
其中是向下取整函数;clip3(min,max,x)是在[min,max]范围内裁剪一个给定值x的函数;符号>>表示逐位右移运算;符号<<表示逐位左移运算;thBDOF是用于防止由于不规则的局部运动引起的传播误差的运动细化阈值,其等于1<<max(5,bit-depth-7).,其中bit-depth是内部比特深度。在(1)中,
S1、S2、S3、S5和S6的值计算为
其中
θ(i,j)=(I(1)(i,j)>>max(4,bit-depth-8))-(I(0)(i,j)>>max(4,bit-depth-8))
基于(1)中导出的运动细化,CU的最终双向预测样本是通过基于光流模型沿运动轨迹对L0/L1预测样本进行插值来计算的,如下所示
其中shift和ooffset是被应用于组合L0和L1预测信号以用于双向预测的右移值和偏移值,分别等于15-bit-depth和1<<(14-bit-depth)+2·(1<<13)。基于上述比特深度控制方法,保证整个BDOF过程的中间参数的最大比特深度不超过32比特,而乘法的最大输入在15比特以内,即,对于BDOF实现,一个15比特乘法器是足够的。
仿射模式
在HEVC中,仅平移运动模型被应用于运动补偿预测。而在现实世界中,有很多种运动,例如,放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,通过用信号通知用于每个帧间编码块的一个标志以指示是平移运动还是仿射运动模型被应用于帧间预测来应用仿射运动补偿预测。在当前的VVC设计中,对于一个仿射编码块支持两种仿射模式,包括4参数仿射模式和6参数仿射模式。
4参数仿射模型具有以下参数:分别用于水平方向和垂直方向的平移运动的两个参数,用于缩放运动的一个参数和用于两个方向的旋转运动的一个参数。水平缩放参数等于垂直缩放参数。水平旋转参数等于垂直旋转参数。为了更好地适应运动矢量和仿射参数,在VVC中,这些仿射参数被转换成位于当前块的左上角和右上角的两个MV(也称为控制点运动矢量(CPMV))。如图5A和图5B中所示,块的仿射运动场由两个控制点MV(V0,V1)描述。
图5A示出了根据本公开的4参数仿射模型的图示。
图5B示出了根据本公开的4参数仿射模型的图示。
基于控制点运动,一个仿射编码块的运动场(vx,vy)被描述为
6参数仿射模式具有以下参数:分别用于水平方向和垂直方向的平移运动的两个参数,水平方向上用于缩放运动的一个参数和用于旋转运动的一个参数,垂直方向上用于缩放运动的一个参数和用于旋转运动的一个参数。6参数仿射运动模型在三个CPMV处使用三个MV进行编码。
图6示出了根据本公开的6参数仿射模型的图示。
如图6所示,一个6参数仿射块的三个控制点位于该块的左上角、右上角和左下角。左上控制点处的运动与平移运动有关,右上控制点处的运动与水平方向的旋转和缩放运动有关,而左下控制点处的运动与垂直方向的旋转和缩放运动有关。与4参数仿射运动模型相比,6参数的水平方向的旋转和缩放运动可能与垂直方向的那些运动不同。假设(V0,V1,V2)是图6中当前块的左上角、右上角和左下角的MV,每个子块的运动矢量(vx,vy)使用控制点处的三个MV导出为:
针对仿射模式的利用光流的预测细化
为了改进仿射运动补偿精度,在当前的VVC中正在研究PROF,其基于光流模型细化了基于子块的仿射运动补偿。具体地,在执行基于子块的仿射运动补偿之后,通过基于光流方程导出的一个样本细化值修改一个仿射块的亮度预测样本。详细地,PROF的操作可以概括为以下四个步骤:
步骤一:执行基于子块的仿射运动补偿,以使用在针对4参数仿射模型的(6)中和针对6参数仿射模型的(7)中导出的子块MV来生成子块预测I(i,j)。
步骤二:将每个预测样本的空间梯度gx(i,j)和gy(i,j)计算为
为了计算梯度,需要在一个子块的每一侧生成预测样本的一个附加的行/列。为了减少存储器带宽和复杂度,将扩展边界上的样本从参考图片中最近的整数像素位置复制,以避免附加的插值过程。
步骤三:通过下式计算亮度预测细化值
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j) (9)
其中,Δv(i,j)是针对样本位置(i,j)计算的像素MV(由v(i,j)表示)与像素(i,j)所位于的子块的子块MV之间的差。另外,在当前的PROF设计中,在对原始预测样本添加预测细化后,进行一次裁剪运算,以将细化后的预测样本的值裁剪到15比特以内,即
Ir(i,j)=I(i,j)+ΔI(i,j)
Ir(i,j)=clip3(-214,214-1,Ir(i,j))
其中I(i,j)和Ir(i,j)分别是位置(i,j)处的原始预测样本和细化后的预测样本。
图7示出了根据本公开的针对仿射模式的PROF过程。图7包括块710、块720和块730。块730是块720的旋转块。
因为仿射模型参数和相对于子块中心的像素位置在子块之间没有改变,所以Δv(i,j)可以针对第一子块来计算,并且重用于同一CU中的其他子块。令Δx和Δy为从样本位置(i,j)到样本所属子块的中心的水平偏移和垂直偏移,Δv(i,j)可以导出为
基于仿射子块MV导出方程(6)和(7),可以导出MV差Δv(i,j)。具体地,对于4参数仿射模型,
对于6参数仿射模型,
其中,(v0x,v0y)、(v1x,v1y)、(v2x,v2y)是当前编码块的左上、右上和左下控制点MV,w和h是块的宽度和高度。在现有的PROF设计中,MV差Δvx和Δvy总是以1/32像素的精度导出。
局部光照补偿
局部光照补偿(LIC)是用于解决存在于时间相邻图片之间的局部光照变化的问题的编解码工具。将一对权重和偏移参数应用于参考样本以获得一个当前块的预测样本。通用数学模型如下
P[x]=α*Pr[x+v]+β (11)
其中,Pr[x+v]是运动矢量v指示的参考块,[α,β]是参考块的对应的一对权重和偏移参数,并且P[x]是最终预测块。使用最小线性均方误差(LLMSE)算法基于当前块的模板(即,相邻重建样本)和模板的参考块(使用当前块的运动矢量导出)来估计该对权重和偏移参数。通过最小化模板样本与模板的参考样本之间的均方差,可以如下导出α和β的数学表示
其中,I表示模板中的样本数。Pc[xi]是当前块的模板的第i个样本,并且Pr[xi]是基于运动矢量v的第i个模板样本的参考样本。
除了应用于针对每个预测方向(L0或L1)最多包含一个运动矢量的常规帧间块之外,LIC还应用于仿射模式编码的块,其中一个编码块被进一步分割为多个较小的子块,并且每个子块可以与不同的运动信息相关联。为了针对仿射模式编码块的LIC导出参考样本,如图17A和图17B(下面描述)所示,一个仿射编码块的顶部模板中的参考样本是使用顶部子块行中的每个子块的运动矢量来取得的,而左侧模板中的参考样本是使用左侧子块列中的子块的运动矢量来取得的。之后,应用与(12)中所示的相同的LLMSE导出方法,以基于复合模板导出LIC参数。
图17A示出了根据本公开的用于针对仿射模式导出模板样本的图示。图示包含CurFrame 1720和Cur CU 1722。Cur Frame 1720是当前帧。Cur CU 1722是当前编码单元。
图17B示出了用于针对仿射模式导出模板样本的图示。图示包含Ref Frame 1740、Col CU 1742、A Ref 1743、B Ref 1744、C Ref 1745、D Ref 1746、E Ref 1747、F Ref 1748和G Ref 1749。Ref Frame1740是参考帧。Col CU 1742是同位编码单元。A Ref 1743、B Ref1744、C Ref 1745、D Ref 1746、E Ref 1747、F Ref 1748和G Ref 1749是参考样本。
针对仿射模式的利用光流的预测细化的效率低下
虽然PROF可以提高仿射模式的编码效率,但其设计仍可以进一步改进。特别是考虑到PROF和BDOF两者都建立在光流概念之上,因此非常希望尽可能协调PROF和BDOF的设计,以使得PROF可以最大限度地利用BDOF的现有逻辑来促进硬件实现。基于这种考虑,在本公开中标识出了当前PROF和BDOF设计之间的交互的以下低效率。
第一,如“针对仿射模式的利用光流的预测细化”部分中描述的,在公式(8)中,梯度的精度是基于内部比特深度确定的。另一方面,MV差(即,Δvx和Δvy)总是以1/32像素的精度导出。相应地,基于公式(9),导出的PROF细化的精度取决于内部比特深度。然而,与BDOF类似,PROF应用于处于中高比特深度(即,16比特)的预测样本值之上,以便保持更高的PROF导出精度。因此,无论内部编码比特深度如何,PROF导出的预测细化的精度都应与中等预测样本的精度(即,16比特)相匹配。换言之,现有PROF设计中MV差和梯度的表示比特深度并不完全匹配从而导出相对于预测样本精度(即,16比特)的准确预测细化。同时,基于公式(1)、(4)和(8)的比较,现有PROF和BDOF使用不同的精度来表示样本梯度和MV差。如前面指出的,这种不统一的设计对于硬件来说是不期望的,因为现有BDOF逻辑不能被重用。
第二,如“针对仿射模式的利用光流的预测细化”部分中讨论的,当一个当前仿射块是双向预测的时,PROF单独地应用于列表L0和L1中的预测样本;然后,对增强后的L0和L1预测信号进行平均,以生成最终的双向预测信号。相反,不是针对每个预测方向单独地导出PROF细化,而是BDOF一次导出预测细化,然后将其应用于增强组合的L0和L1预测信号。图8和图9(下面描述)比较了当前BDOF和PROF用于双向预测的工作流。在实际的编解码器硬件流水线设计中,通常为每个流水线阶段指派不同的主要编码/解码模块,使得可以并行处理更多的编码块。然而,由于BDOF和PROF工作流之间的差异,这可能会导致难以拥有一个可以由BDOF和PROF共享的相同流水线设计,这对于实际编解码器实现是不友好的。
图8示出了根据本公开的BDOF的工作流。工作流800包括L0运动补偿810、L1运动补偿820和BDOF 830。L0运动补偿810例如可以是来自先前参考图片的运动补偿样本的列表。先前参考图片是视频块中的当前图片之前的参考图片。L1运动补偿820例如可以是来自下一个参考图片的运动补偿样本的列表。下一个参考图片是视频块中当前图片之后的参考图片。BDOF 830从L1运动补偿810和L1运动补偿820中获取运动补偿样本并输出预测样本,如以上关于图4所描述的。
图9示出了根据本公开的现有PROF的工作流。工作流900包括L0运动补偿910、L1运动补偿920、L0 PROF 930、L1 PROF 940和平均960。L0运动补偿910例如可以是来自先前参考图片的运动补偿样本的列表。先前参考图片是视频块中当前图片之前的参考图片。例如,L1运动补偿920可以是来自下一个参考图片的运动补偿样本的列表。下一个参考图片是视频块中当前图片之后的参考图片。L0 PROF 930从L0运动补偿910中获取L0运动补偿样本并输出运动细化值,如以上关于图7所描述的。L1 PROF 940从L1运动补偿920中获取L1运动补偿样本并输出运动细化值,如以上关于图7所描述的。平均960对L0 PROF 930和L1 PROF940的运动细化值输出取平均。
第三,对于BDOF和PROF两者,需要针对当前编码块内的每个样本计算梯度,这要求在块的每一侧上生成预测样本的一个附加的行/列。为了避免样本插值的附加的计算复杂度,块周围的扩展区域中的预测样本被直接从整数位置的参考样本进行复制(即,没有插值)。然而,根据现有的设计,选择不同位置的整数样本来生成BDOF和PROF的梯度值。具体地,对于BDOF,使用位于预测样本左侧(对于水平梯度)和预测样本上方(对于垂直梯度)的整数参考样本;对于PROF,最接近预测样本的整数参考样本用于梯度计算。与比特深度表示问题类似,这种非统一梯度计算方法对于硬件编解码器实现也是不期望的。
第四,如前面指出的,PROF的动机是补偿每个样本的MV与在该样本所属的子块的中心处导出的子块MV之间的小的MV差。根据目前的PROF设计,PROF总是在一个编码块由仿射模式预测时被调用。然而,如公式(6)和(7)所指示的,一个仿射块的子块MV是从控制点MV导出的。因此,当控制点MV之间的差相对小时,每个样本位置处的MV应该是一致的。在这种情况下,由于应用PROF的益处可能非常有限,因此在考虑性能/复杂度权衡时可能不值得进行PROF。
对针对仿射模式的利用光流的预测细化的改进
在本公开中,提供了改进和简化现有PROF设计以促进硬件编解码器实现的方法。尤其是,要特别注意协调BDOF和PROF的设计,以最大限度地与PROF共享现有的BDOF逻辑。总体上,本公开中提出的技术的主要方面总结如下。
第一,为了改进PROF的编码效率,同时实现一个更统一的设计,提出了一种方法来统一由BDOF和PROF使用的样本梯度和MV差的表示比特深度。
第二,为了便于硬件流水线设计,提出了将PROF的工作流与BDOF的工作流相协调以用于双向预测。具体地,与单独地针对L0和L1导出预测细化的现有PROF不同,所提出的方法导出预测细化一次,该预测细化应用于组合的L0和L1预测信号。
第三,提出了两种方法来协调整数参考样本的导出以计算由BDOF和PROF使用的梯度值。
第四,为了降低计算复杂度,提出了提前终止方法以在满足某些条件时自适应地禁用用于仿射编码块的PROF过程。
PROF梯度和MV差的改进的比特深度表示设计
如“问题陈述”部分中分析的,当前PROF中的MV差和样本梯度的表示比特深度未对齐来导出准确的预测细化。此外,BDOF和PROF之间样本梯度和MV差的表示比特深度不一致,这对硬件不友好。在本部分中,通过将BDOF的比特深度表示方法扩展到PROF,提出了一种改进的比特深度表示方法。具体地,在所提出的方法中,每个样本位置处的水平梯度和垂直梯度计算为
另外,假设Δx和Δy是从一个样本位置到样本所属的子块的中心的、以1/4像素精度表示的水平偏移和垂直偏移,则样本位置处的对应PROF MV差导出为
其中dMvBits是BDOF过程使用的梯度值的比特深度,即,dMvBits=max(5,(bitdepth-7))+1。在公式(13)和(14)中,c、d、e和f是基于仿射控制点MV导出的仿射参数。具体地,对于4参数仿射模型,
对于6参数仿射模型,
其中,(v0x,v0y)、(v1x,v1y)、(v2x,v2y)是当前编码块的左上、右上和左下控制点MV,其以1/16像素精度表示,并且w和h是块的宽度和高度。
在上述讨论中,如公式(13)和(14)所示,应用一对固定的右移来计算梯度和MV差的值。在实践中,可以将不同的逐位右移应用于(13)和(14)实现梯度和MV差的各种表示精度,以在中等计算精度和内部PROF导出过程的比特宽度之间进行不同的权衡。例如,当输入视频包含大量噪声时,导出的梯度可能无法可靠地表示每个样本处的真实局部水平/垂直梯度值。在这种情况下,使用更多比特来表示MV差相比于梯度更有意义。另一方面,当输入视频显示稳定运动时,仿射模型导出的MV差应该非常小。如果是这样,使用高精度MV差不能提供附加的益处来提高导出的PROF细化的精度。换言之,在这种情况下,使用更多的比特来表示梯度值更有利。基于上述考虑,在本公开的一个或多个实施例中,下面提出了一种用于针对PROF计算梯度和MV差的通用方法。具体地,假设每个样本位置处的水平梯度和垂直梯度是通过对相邻预测样本的差应用na次右移来计算的,即
样本位置处的对应的PROF MV差Δv(x,y)应计算为
其中,Δx和Δy是以1/4像素准确度表示的、从一个样本位置到样本所属的子块的中心的水平偏移和垂直偏移,并且c、d、e和f是是基于1/16像素仿射控制点MV导出的仿射参数。最后,样本的最终PROF细化计算为
ΔI(i,j)=(gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)+1)>>1 (17)
在另一个实施例中,如下提出了另一种PROF比特深度控制方法。在该方法中,每个样本位置处的水平梯度和垂直梯度仍然如(13)中通过对相邻预测样本的差值应用na比特右移来计算。样本位置处的对应的PROF MV差应计算为:
Δvx(i,j)=(c*Δx+d*Δy)>>(14-na)
Δvy(i,j)=(e*Δx+f*Δy)>>(14-na)
此外,为了将整个PROF导出保持在适当的内部比特深度,对导出的MV差应用裁剪,如下:
Δvx(i,j)=Clip3(-limit,limit,Δvx(i,j))
Δvy(i,j)=Clip3(-limit,limit,Δvy(i,j))
其中limit是等于的阈值,并且clip3(min,max,x)是一个函数,它在[min,max]的范围内对给定值x进行裁剪。在一个示例中,nb的值设置为2max(5,bitdepth-7)。最后,样本的PROF细化计算为
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
此外,在本公开的一个或多个实施例中,提出了一种PROF比特深度控制方案。在该方法中,每个样本位置(i,j)处的水平和垂直PROF运动细化导出为
Δvx(i,j)=(c*Δx+d*Δy)>>(13-max(5,bit-depth-7))
Δvy(i,j)=(e*Δx+f*Δy)>>(13-max(5,bit-depth-7))
此外,导出的水平和垂直运动细化被裁剪为
Δvx(i,j)=Clip3(-max(5,bit-depth-7),max(5,bit-depth-7)-1,Δvx(i,j))
Δvy(i,j)=Clip3(-max(5,bit-depth-7),max(5,bit-depth-7)-1,Δvy(i,j))
这里,在给定如上面导出的运动细化的情况下,位置(i,j)处的最终PROF样本细化被计算为
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
在本公开的另一个实施例中,提出了另一种PROF比特深度控制方案。在第二种方法中,样本位置(i,j)处的水平和垂直PROF运动细化导出为
Δvx(i,j)=(c*Δx+d*Δy)>>(13-max(6,bit-depth-6))
Δvy(i,j)=(e*Δx+f*Δy)>>(13-max(6,bit-depth-6))
然后,导出的运动细化被裁剪为
Δvx(i,j)=Clip3(-max(5,bit-depth-7),max(5,bit-depth-7)-1,Δvx(i,j))
Δvy(i,j)=Clip3(-max(5,bit-depth-7),max(5,bit-depth-7)-1,Δvy(i,j))
因此,在给定如上面导出的运动细化的情况下,位置(i,j)处的最终PROF样本细化被计算为
ΔI(i,j)=(gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)+1)>>1
在本公开的一个或多个实施例中,提出了将方案中的运动细化精度控制方法与第二种方案中的PROF样本细化导出方法相结合。具体地,通过这种方法,每个样本位置(i,j)处的水平和垂直PROF运动细化导出为
Δvx(i,j)=(c*Δx+d*Δy)>>(13-max(5,bit-depth-7))
Δvy(i,j)=(e*Δx+f*Δy)>>(13-max(5,bit-depth-7))
此外,导出的水平和垂直运动细化被裁剪为
Δvx(i,j)=Clip3(-max(5,bit-depth-7),max(5,bit-depth-7)-1,Δvx(i,j))
Δvy(i,j)=Clip3(-max(5,bit-depth-7),max(5,bit-depth-7)-1,Δvy(i,j))
这里,在给定如上面导出的运动细化的情况下,位置(i,j)处的最终PROF样本细化被计算为
ΔI(i,j)=(gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)+1)>>1
在一个或多个实施例中,提出了以下PROF样本细化导出方法:
第一,通过应用以下固定右移将PROF水平和垂直运动细化计算为处于1/32像素精度,如所指示的Δvx(i,j)=(c*Δx+d*Δy)>>8
Δvy(ij)=(e*Δx+f*Δy)>>8
第二,将计算的PROF运动细化值裁剪到一个对称范围[-31,31]。
Δvx(i,j)=Clip3(-31,31,Δvx(i,j))
Δvy(i,j)=Clip3(-31,31,Δvy(i,j))
第三,样本的PROF细化被计算为
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
图10示出了PROF的比特深度表示方法。例如,该方法可以应用于解码器。
在步骤1010中,解码器可以获得与视频信号内的视频块相关联的参考图片I。
在步骤1012中,解码器可以从参考图片I中的参考块获得视频块的预测样本I(i,j)。i和j可以表示一个样本关于视频块的坐标。
在步骤1014中,解码器可以通过基于用于达到预设精度的比特移位值对PROF导出过程的内部PROF参数应用右移来控制内部PROF参数。内部PROF参数包括针对预测样本I(i,j)导出的水平梯度值、垂直梯度值、水平运动差值和垂直运动差值。
在步骤1016中,解码器可以根据PROF导出过程基于预测样本I(i,j)被应用于视频块来获得视频块中的样本的预测细化值。
在步骤1018中,解码器可以基于预测样本和预测细化值的组合来获得视频块的预测样本。
此外,同样的参数导出方法也可以应用于BDOF样本细化过程,如所示出的
vx=sGx2>0?Clip3(-31,31,-(sGxdI<<2)>>Floor(Log2(sGx2))):0
vy=sGy2>0?Clip3(-31,31,((sGydI<<2)-((vx*sGxGym)<<12+vx*sGxGys)>>1)>>Floor(Log2(sGy2))):0
其中,sGxdI、sGx2、sGxGym、sGxGys和sGy2是中间BDOF导出参数。
图11示出了BDOF的比特深度控制方法。例如,该方法可以应用于解码器。
在步骤1110中,解码器可以获得与视频块相关联的第一参考图片I(0)和第二参考图片I(1)。按照显示顺序,第一参考图片I(0)在当前图片之前并且第二参考图片I(1)在当前图片之后。
在步骤1112中,解码器可以从第一参考图片I(0)中的参考块获得视频块的第一预测样本I(0)(i,j)。i和j可以表示一个样本关于当前图片的坐标。
在步骤1114中,解码器可以从第二参考图片I(1)中的参考块获得视频块的第二预测样本I(1)(i,j)。
在步骤1116中,解码器可以通过对BDOF导出过程的内部BDOF参数应用移位来控制内部BDOF参数。内部BDOF参数包括基于第一预测样本I(0)(i,j)、第二预测样本I(1)(i,j)导出的水平梯度值和垂直梯度值、第一预测样本I(0)(i,j)与第二预测样本I(1)(i,j)之间的样本差以及中间BDOF导出参数。中间BDOF导出参数包括sGxdI、sGydI、sGx2、sGxGy和sGy2参数。sGxdI和sGydI包括水平梯度值与样本差值之间的交叉相关值,以及垂直梯度值与样本差值之间的交叉相关值。sGx2和sGy2包括水平梯度值和垂直梯度值的自相关值。sGxGy包括水平梯度值与垂直梯度值之间的交叉相关值。
在步骤1118中,解码器可以根据BDOF基于第一预测样本I(0)(i,j)和第二预测样本I(1)(i,j)被应用于视频块来获得视频块中的样本的运动细化。
在步骤1120中,解码器可以基于运动细化获得视频块的双向预测样本。
用于双向预测的BDOF和PROF的经协调的工作流
如前面讨论的,当一个仿射编码块被双向预测时,当前PROF以单边方式应用。更具体地,PROF样本细化是单独导出的,并且应用于列表L0和L1中的预测样本。之后,分别来自列表L0和L1的细化预测信号被平均以生成块的最终双向预测信号。这与BDOF设计形成对比,在BDOF设计中样本细化被导出并应用于双向预测信号。BDOF和PROF的双向预测工作流之间的这种差异可能对实际编解码器流水线设计不友好。
为了便于硬件流水线设计,根据本公开的一种简化方法用于修改PROF的双向预测过程,使得两种预测细化方法的工作流协调。具体地,不是针对每个预测方向单独地应用细化,而是所提出的PROF方法基于列表L0和L1的控制点MV一次导出预测细化;然后将导出的预测细化应用于组合的L0和L1预测信号以提高质量。具体地,基于公式(14)中导出的MV差,通过所提出的方法将一个仿射编码块的最终双向预测样本计算为
其中,shift和ooffset是应用于组合L0和L1预测信号以用于双向预测的右移值和偏移值,其分别等于(15-bitdepth)和1<<(14-bitdepth)+(2<<13)。此外,如(18)所示,在所提出的方法中去除了现有PROF设计中的裁剪运算(如(9)所示)。
图13示出了当应用所提出的双向预测PROF方法时的对应PROF过程。PROF过程1300包括L0运动补偿1310、L1运动补偿1320和双向预测PROF 1330。L0运动补偿1310例如可以是来自先前参考图片的运动补偿样本的列表。先前参考图片是视频块中当前图片之前的参考图片。L1运动补偿1320例如可以是来自下一个参考图片的运动补偿样本的列表。下一个参考图片是视频块中当前图片之后的参考图片。如上面描述的,双向预测PROF 1330从L1运动补偿1310和L1运动补偿1320中获取运动补偿样本并输出双向预测样本。
为了展示所提出的用于硬件流水线设计的方法的潜在益处,图14(下面描述)示出了一个示例来说明当应用BDOF和所提出的PROF两者时的流水线阶段。在图14中,一个帧间块的解码过程主要包含三个步骤:
第一,解析/解码编码块的MV并取得参考样本。
第二,生成编码块的L0和/或L1预测信号。
第三,当编码块是通过一种非仿射模式预测的时,基于BDOF对生成的双向预测样本执行逐样本细化;或当编码块是通过仿射模式预测的时,基于PROF对生成的双向预测样本执行逐样本细化。
图14示出了根据本公开的当应用BDOF和所提出的PROF两者时的示例流水线阶段的图示。图14展示了所提出的用于硬件流水线设计的方法的潜在益处。流水线阶段1400包括解析/解码MV并取得参考样本1410、运动补偿1420、BDOF/PROF 1430。流水线阶段1400将对视频块BLK0、BKL1、BKL2、BKL3和BLK4进行编码。每个视频块将从解析/解码MV并取得参考样本1410开始,并且依次移动到运动补偿1420,然后是运动补偿1420、BDOF/PROF 1430。这意味着直到BLK0移动到运动补偿1420,BLK0才会在流水线阶段1400过程中开始。随着时间从T0到T1、T2、T3和T4,对于所有阶段和视频块都是如此。
如图14所示,在应用所提出的协调方法后,BDOF和PROF两者直接应用于双向预测样本。考虑到BDOF和PROF应用于不同类型的编码块(即,BDOF应用于非仿射块,而PROF应用于仿射块),这两种编解码工具不能同时调用。因此,它们对应的解码过程可以通过共享相同的流水线阶段来进行。这比现有的PROF设计更高效,在现有的PROF设计中,由于BDOF和PROF的不同的双向预测工作流,因此很难为BDOF和PROF两者指派相同的流水线阶段。
在上述讨论中,所提出的方法仅考虑了BDOF和PROF的工作流的协调。然而,根据现有设计,两种编解码工具的基本操作单元也以不同的大小执行。例如,对于BDOF,一个编码块被分割成多个大小为Ws×Hs的子块,其中Ws=min(W,16)且Hs=min(H,16),其中W和H是编码块的宽度和高度。BDOF操作(例如,梯度计算和样本细化导出)是针对每个子块独立执行的。另一方面,如前面描述的,仿射编码块被划分为4×4子块,其中每个子块被指派基于4参数或6参数仿射模型导出的一个单独的MV。因为PROF只适用于仿射块,它的基本运算单位是4×4的子块。与双向预测工作流问题类似,对于PROF使用与BDOF不同的基本操作单元大小对硬件实现也是不友好的,并且使得BDOF和PROF难以共享整个解码过程的相同流水线阶段。为了解决这样的问题,在一个或多个实施例中,提出将仿射模式的子块大小对齐为与BDOF的子块大小相同。例如,根据所提出的方法,如果一个编码块通过仿射模式编码,它将被分割成大小为Ws×Hs的子块,其中Ws=min(W,16)且Hs=min(H,16),其中W和H是编码块的宽度和高度。每个子块被指派一个单独的MV,并且被视为一个独立的PROF操作单元。值得一提的是,独立的PROF操作单元确保在其之上执行PROF操作,而无需参考来自相邻PROF操作单元的信息。例如,将一个样本位置处的PROF MV差计算为样本位置处的MV与样本所在的PROF操作单元的中心处的MV之间的差;PROF导出使用的梯度是通过沿每个PROF操作单元填充样本来计算的。所提出的方法实现的益处主要包括以下方面:1)简化的流水线架构,具有统一的基本操作单元大小以用于运动补偿和BDOF/PROF细化两者;2)减少的存储器带宽使用,这是由于仿射运动补偿的子块大小扩大;3)降低的分数样本插值的每样本计算复杂度。
还应该提到的是,由于使用所提出的方法降低了计算复杂度(即,第3项),可以去除用于仿射编码块的现有6抽头插值滤波器约束。相反,用于非仿射编码块的默认8抽头插值也用于仿射编码块。在这种情况下,总体计算复杂度仍然可以与现有的PROF设计(即,基于具有6抽头插值滤波器的4×4子块)相媲美。
针对BDOF和PROF的梯度导出的协调
如前面描述的,BDOF和PROF两者计算当前编码块内的每个样本的梯度,其访问该块的每一侧上的预测样本的一个附加行/列。为了避免附加的插值复杂度,块边界周围的扩展区域中的所需预测样本直接从整数参考样本中复制。然而,正如“问题陈述”部分中所指出的,不同位置处的整数样本用于计算BDOF和PROF的梯度值。
为了实现一种更统一的设计,下面提出两种方法来统一BDOF和PROF使用的梯度导出方法。在第一种方法中,提出将PROF的梯度导出方法对齐为与BDOF的梯度导出方法相同。例如,通过第一种方法,用于生成扩展区域中的预测样本的整数位置是通过对分数样本位置进行向下取整来确定的,即,选择的整数样本位置位于分数样本位置的左侧(对于水平梯度)和分数样本位置上方(对于垂直梯度)。在第二种方法中,提出将BDOF的梯度导出方法对齐为与PROF的梯度导出方法相同。更详细地,当应用第二种方法时,最接近预测样本的整数参考样本用于梯度计算。
图15示出了根据本公开的使用BDOF的梯度导出方法的示例。在图15中,空白圆圈1510表示整数位置处的参考样本,三角形1530表示当前块的分数预测样本,而黑色圆圈1520表示用于填补当前块的扩展区域的整数参考样本。
图16示出了根据本公开的使用PROF的梯度导出方法的示例。在图16中,空白圆圈1610表示整数位置处的参考样本,三角形1630表示当前块的分数预测样本,而黑色圆圈1620表示用于填补当前块的扩展区域的整数参考样本。
图15和图16分别示出了在应用第一种方法(图15)和第二种方法(图16)时用于导出BDOF和PROF的梯度的对应整数样本位置。在图15和图16中,空白圆圈表示整数位置处的参考样本,三角形表示当前块的分数预测样本,而有图案的圆圈表示用于填补当前块的扩展区域以进行梯度导出的整数参考样本。
另外,根据现有BDOF和PROF设计,预测样本填充是以不同的编码级别进行的。例如,对于BDOF,填充沿每个sbWidth×sbHeight子块的边界应用,其中sbWidth=min(CUWidth,16)且sbHeight=min(CUHeight,16)。CUWidth和CUHeight是一个CU的宽度和高度。另一方面,PROF的填充始终应用于4×4子块级别。在上面的讨论中,仅在BDOF和PROF之间统一了填充方法,而填充子块大小仍然不同。这对于实际的硬件实现也不友好,考虑到需要为BDOF和PROF的填充过程实现不同的模块。为了实现一种更统一的设计,提出统一BDOF和PROF的子块填充大小。在本公开的一个或多个实施例中,提出以4×4级别应用BDOF的预测样本填充。例如,通过该方法,首先将CU划分为多个4×4的子块;在对每个4×4子块进行运动补偿之后,通过复制对应的整数样本位置来填充沿顶部/底部和左侧/右侧边界的扩展样本。图19A、图19B、图19C和图19D示出了将所提出的填充方法应用于一个16×16BDOF CU的一个示例,其中虚线表示4×4子块边界,而蓝色带表示每个4×4子块的填充样本。
图19A示出了根据本公开的所提出的应用于16×16BDOF CU的填充方法,其中虚线表示左上4×4子块边界1920。
图19B示出了根据本公开的所提出的应用于16×16BDOF CU的填充方法,其中虚线表示右上4×4子块边界1940。
图19C示出了根据本公开的所提出的应用于16×16BDOF CU的填充方法,其中虚线表示左下4×4子块边界1960。
图19D示出了根据本公开的所提出的应用于16×16BDOF CU的填充方法,其中虚线表示右下4×4子块边界1980。
启用/禁用BDOF、PROF和DMVR的高级别信令语法
在现有的BDOF和PROF设计中,在序列参数集(SPS)中用信号通知两个不同的标志来单独地控制两种编解码工具的启用/禁用。然而,由于BDOF和PROF之间的相似性,更希望通过一个相同的控制标志从高级别启用和/或禁用BDOF和PROF。基于这样的考虑,在SPS处引入了一个新的标志,称为sps_bdof_prof_enabled_flag,如表1所示。如表1所示,BDOF的启用和禁用仅依赖于sps_bdof_prof_enabled_flag。当标志等于1时,启用BDOF以对序列中的视频内容进行编解码。否则,当sps_bdof_prof_enabled_flag等于0时,将不应用BDOF。另一方面,除了sps_bdof_prof_enabled_flag,SPS级别仿射控制标志(即,sps_affine_enabled_flag)也用于有条件地启用和禁用PROF。当标志sps_bdof_prof_enabled_flag和sps_affine_enabled_flag两者都等于1时,针对以仿射模式编码的所有编码块启用PROF。当标志sps_bdof_prof_enabled_flag等于1并且sps_affine_enabled_flag等于0时,禁用PROF。
表1带有所提出的BDOF/PROF启用/禁用标志的修改后的SPS语法表
sps_bdof_prof_enabled_flag指定是否启用双向光流和利用光流的预测细化。当sps_bdof_prof_enabled_flag等于0时,双向光流和利用光流的预测细化两者都被禁用。当sps_bdof_prof_enabled_flag等于1且sps_affine_enabled_flag等于1时,双向光流和利用光流的预测细化两者都被启用。否则(sps_bdof_prof_enabled_flag等于1且sps_affine_enabled_flag等于0),启用双向光流,而禁用利用光流的预测细化。
sps_bdof_prof_dmvr_slice_preset_flag指定何时在条带级别用信号通知标志slice_disable_bdof_prof_dmvr_flag。当标志等于1时,语法slice_disable_bdof_prof_dmvr_flag针对引用当前序列参数集的每个条带来用信号通知。否则(当sps_bdof_prof_dmvr_slice_present_flag等于0时),语法slice_disabled_bdof_prof_dmvr_flag将不会在条带级别用信号通知。当标志没有用信号通知时,它被推断为0。
此外,当使用所提出的SPS级别BDOF和PROF控制标志时,总体约束信息语法中的对应控制标志no_bdof_constraint_flag也应修改为
no_bdof_prof_constraint_flag等于1指定sps_bdof_prof_enabled_flag应等于0。no_bdof_constraint_flag等于0不施加约束。
除了上述SPS BDOF/PROF语法之外,还提出在条带级别引入另一个控制标志,即,引入slice_disable_bdof_prof_dmvr_flag以用于禁用BDOF、PROF和DMVR。SPS标志sps_bdof_prof_dmvr_slice_present_flag(其在DMVR或BDOF/PROF sps级别控制标志中的任一个为真时在SPS中用信号通知)用于指示slice_disable_bdof_prof_dmvr_flag的存在。如果存在,则用信号通知slice_disable_bdof_dmvr_flag。表2示出了在应用所提出的语法之后的修改后的条带头语法表。在另一个实施例中,提出在条带头仍然使用两个控制标志来单独地控制BDOF和DMVR的启用/禁用以及PROF的启用/禁用。例如,该方法在条带头中使用两个标志:一个标志slice_disable_bdof_dmvr_slice_flag用于控制BDOF和DMVR的开/关,而另一个标志disable_prof_slice_flag用于单独控制PROF的开/关。
表2带有所提出的BDOF/PROF启用/禁用标志的修改后的SPS语法表
在另一个实施例中,提出通过两个不同的SPS标志单独地控制BDOF和PROF。例如,引入两个单独的SPS标志sps_bdof_enable_flag和sps_prof_enable_flag来单独地启用/禁用这两个工具。另外,需要在general_constrain_info()语法表中增加一个高级别控制标志no_prof_constraint_flag来强制禁用PROF工具。
sps_bdof_enabled_flag指定是否启用双向光流。当sps_bdof_enabled_flag等于0时,双向光流被禁用。当sps_bdof_enabled_flag等于1时,双向光流被启用。
sps_prof_enabled_flag指定是否启用利用光流的预测细化。当sps_prof_enabled_flag等于0时,利用光流的预测细化被禁用。当sps_prof_enabled_flag等于1时,利用光流的预测细化被启用。
no_prof_constraint_flag等于1指定sps_prof_enabled_flag应等于0。no_prof_constraint_flag等于0不施加约束。
在条带级别,在本公开的一个或多个实施例中,提出在条带级别引入另一个控制标志,即,引入slice_disable_bdof_prof_dmvr_flag以一起禁用BDOF、PROF和DMVR。在另一个实施例中,提出在条带级别添加两个单独的标志,即,slice_disable_bdof_dmvr_flag和slice_disable_prof_flag。第一个标志(即,slice_disable_bdof_dmvr_flag)用于自适应地打开/关闭一个条带的BDOF和DMVR,而第二个标志(即,slice_disable_prof_flag)用于在条带级别控制PROF工具的启用和禁用。此外,当应用第二种方法时,仅当启用SPS BDOF或SPS DMVR标志时才需要用信号通知标志slice_disable_bdof_dmvr_flag,并且仅当启用SPS PROF标志时才需要用信号通知该标志。
在第16次JVET会议上,图片头被采纳到VVC草案中。图片头按每个条带用信号通知一次,其语法元素之前在条带头中并且从条带到条带不会改变。
基于所采用的图片头,在本公开的一个或多个实施例中,提出了控制从当前条带头到图片头的BDOF、DMVR和PROF控制标志。例如,在所提出的方法中,三个不同的控制标志sps_dmvr_picture_header_present_flag、sps_bdof_picture_header_present_flag和sps_prof_picture_header_present_flag在SPS中用信号通知。当三个标志之一被用信号通知为真时,将在图片头中用信号通知一个附加控制标志,以指示针对引用图片头的条带启用或禁用对应工具(即,DMVR、BDOF和PROF)。所提出的语法元素指定如下。
sps_dmvr_picture_header_preset_flag指定标志picture_disable_dmvr_flag是否在图片头用信号通知。当该标志等于1时,针对引用当前序列参数集的每个图片用信号通知语法picture_disable_dmvr_flag。否则,语法picture_disable_dmvr_flag将不会在图片头用信号通知。当标志没有用信号通知时,它被推断为0。
sps_bdof_picture_header_preset_flag指定标志picture_disable_bdof_flag是否在图片头用信号通知。当该标志等于1时,针对引用当前序列参数集的每个图片用信号通知语法picture_disable_bdof_flag。否则,语法picture_disable_bdof_flag将不会在图片头用信号通知。当标志没有用信号通知时,它被推断为0。
sps_prof_picture_header_preset_flag指定标志picture_disable_prof_flag是否在图片头用信号通知。当该标志等于1时,针对引用当前序列参数集的每个图片用信号通知语法picture_disable_rpof_flag。否则,语法picture_disable_prof_flag将不会在图片头用信号通知。当标志没有用信号通知时,它被推断为0。
picture_disable_dmvr_flag指定是否针对引用当前图片头的条带启用dmvr工具。当标志等于1时,针对引用当前图片头的条带启用dmvr工具。否则,针对引用当前图片头的条带禁用dmvr工具。当标志不存在时,标志被推断为0。
picture_disable_bdof_flag指定是否针对引用当前图片头的条带启用bdof工具。当标志等于1时,针对引用当前图片头的条带启用bdof工具。否则,针对引用当前图片头的条带禁用bdof工具。
picture_disable_prof_flag指定是否针对引用当前图片头的条带启用prof工具。当标志等于1时,针对引用当前图片头的条带启用prof工具。否则,针对引用当前图片头的条带禁用prof工具。
图12示出了BDOF、PROF和DMVR的方法。例如,该方法可以应用于解码器。
在步骤1210中,解码器可以接收序列参数集(SPS)中的三个控制标志。第一控制标志指示是否启用BDOF以用于解码当前视频序列中的视频块。第二控制标志指示是否启用PROF以用于解码当前视频序列中的视频块。第三控制标志指示是否启用DMVR以用于解码当前视频序列中的视频块。
在步骤1212中,解码器可以当第一控制标志为真时接收SPS中的第一存在标志,当第二控制标志为真时接收SPS中的第二存在标志,并且当第三控制标志为真时接收SPS中的第三存在标志。
在步骤1214中,解码器可以当SPS中的第一存在标志指示针对图片中的视频块禁用BDOF时,接收每个图片的图片头中的第一图片控制标志。
在步骤1216中,解码器可以当SPS中的第二存在标志指示针对图片中的视频块禁用PROF时,接收每个图片的图片头中的第二图片控制标志。
在步骤1218中,解码器可以当SPS中的第三存在标志指示针对图片中的视频块禁用DMVR时,接收每个图片的图片头中的第三图片控制标志。
基于控制点MV差提前终止PROF
根据当前的PROF设计,PROF总是在通过仿射模式预测一个编码块时被调用。然而,如公式(6)和(7)所示,一个仿射块的子块MV是从控制点MV导出的。因此,当控制点MV之间的差相对小时,每个样本位置处的MV应该是一致的。在这种情况下,应用PROF的益处可能非常有限。因此,为了进一步降低PROF的平均计算复杂度,提出基于在一个4×4子块内的逐样本MV与逐子块MV之间的最大MV差,自适应地跳过基于PROF的样本细化。因为一个4×4子块内的样本的PROF MV差的值关于子块中心对称,所以最大水平和垂直PROF MV差可以基于公式(10)计算为
根据当前公开,可以在确定MV差是否小到足以跳过PROF过程时使用不同的度量。
在一个示例中,基于公式(19),当绝对最大水平MV差和绝对最大垂直MV差之和小于一个预定义阈值时,可以跳过PROF过程,即
其中MAX(a,b)是返回输入值a和b之间的较大值的函数。
除了以上两个示例之外,当前公开的精神还适用于使用其他度量来确定MV差是否足够小以跳过PROF过程的情况。
在上述方法中,基于MV差的幅值跳过PROF。另一方面,除了MV差之外,还基于一个运动补偿块中每个样本位置处的局部梯度信息计算PROF样本细化。对于包含较少高频细节的预测块(例如,平坦区域),梯度值往往很小,因此导出的样本细化的值应该很小。考虑到这一点,根据另一实施例,提出仅将PROF应用于包含足够高频信息的块的预测样本。
可以使用不同的度量来确定块是否包含足够的高频信息,使得值得针对该块调用PROF过程。在一个示例中,基于预测块内样本的梯度的平均幅值(即,绝对值)做出决策。如果平均幅值小于一个阈值,则预测块被分类为平坦区域,并且不应当应用PROF;否则,预测块被认为包含足够的高频细节,其中PROF仍然适用。在另一示例中,可以使用预测块内样本的梯度的最大幅值。如果最大幅值小于一个阈值,则针对该块跳过PROF。在又一示例中,预测块的最大样本值和最小样本值之间的差Imax-Imin可以用于确定PROF是否适用于该块。如果这样的差值小于阈值,则针对该块跳过PROF。值得注意的是,本公开的精神也适用于使用一些其他度量来确定给定块是否包含足够的高频信息的情况。
处理针对仿射模式的PROF和LIC之间的交互
因为当前块的相邻重建样本(即,模板)被LIC用于导出线性模型参数,所以一个LIC编码块的解码取决于其相邻样本的完全重建。由于这种相互依赖性,对于实际的硬件实现,LIC需要在重建阶段执行,在重建阶段中相邻重建样本变得可用于LIC参数导出。因为块重建必须顺序执行(即,一个接一个),吞吐量(即,每单位时间可以并行完成的工作量)是在将其他编解码方法联合地应用于LIC编码块时要考虑的一个重要问题。在本部分中,提出了两种方法来处理当针对仿射模式启用PROF和LIC两者时的交互。
在本公开的第一实施例中,提出了针对一个仿射编码块排他地应用PROF模式和LIC模式。如前面讨论的,在现有设计中,PROF在不用信号通知的情况下隐含地应用于所有仿射块,同时在编码块级别用信号通知或继承一个LIC标志以指示是否将LIC模式应用于一个仿射块。根据本公开的方法,提出了基于一个仿射块的LIC标志的值有条件地应用PROF。当标志等于1时,通过基于LIC权重和偏移调整整个编码块的预测样本,仅应用LIC。否则(即,LIC标志等于0),PROF应用于仿射编码块,以基于光流模型细化每个子块的预测样本。
图18A示出了基于所提出的方法的解码过程的一个示例性流程图,其中不允许同时应用PROF和LIC。
图18A示出了根据本公开的基于所提出的方法的解码过程的图示,其中不允许PROF和LIC。解码过程1820包括确定步骤1822、LIC 1824和PROF 1826。确定步骤1822确定LIC标志是否开启,并且根据该确定来进行下一步骤。如果LIC标志被置位,则LIC 1824是LIC的应用。如果LIC标志未被置位,则PROF 1826是PROF的应用。
在本公开的第二实施例中,提出了在PROF之后应用LIC来生成一个仿射块的预测样本。例如,在完成基于子块的仿射运动补偿后,基于PROF样本细化对预测样本进行细化;然后,通过将一对权重和偏移(如从模板及其参考样本导出的)应用于经PROF调整的预测样本来进行LIC,以获得块的最终预测样本,示为
P[x]=α*(Pr[x+v]+ΔI[x])+β (22)
其中,Pr[x+v]是运动矢量v所指示的当前块的参考块;α和β是LIC权重和偏移;P[x]是最终的预测块;ΔI[x]是在(15)中导出的PROF细化。
图18B示出了根据本公开的解码过程的图示,其中应用PROF和LIC。解码过程1860包括仿射运动补偿1862、LIC参数导出1864、PROF 1866和LIC样本调整1868。仿射运动补偿1862应用仿射运动并且是LIC参数导出1864和PROF 1866的输入。应用LIC参数导出1864以导出LIC参数。PROF 1866是正在应用PROF。LIC样本调整1868是LIC权重和偏移参数正在与PROF组合。
图18B示出了当应用第二方法时的示例性解码工作流。如图18B所示,因为LIC使用模板(即,相邻重建样本)来计算LIC线性模型,所以只要相邻重建样本变得可用,就可以立即导出LIC参数。这意味着可以同时进行PROF细化和LIC参数导出。
LIC权重和偏移(即,α和β)以及PROF细化(即,ΔI[x])通常是浮点数。对于友好的硬件实现,这些浮点数运算通常被实现为与一个整数值的乘法,然后是多个比特的右移运算。在现有的LIC和PROF设计中,由于这两个工具是单独设计的,因此在两个阶段分别应用NLIC比特和NPROF比特的两次不同右移。
根据第三实施例,为了改进在将PROF和LIC联合地应用于仿射编码块的情况下的编码增益,提出以高精度应用基于LIC的样本调整和基于PROF的样本调整。这是通过将它们的两个右移操作合二为一并在最后应用它以导出当前块的最终预测样本(如(12)所示)来完成的。
解决将PROF与加权预测和带有CU级别权重的双向预测(BCW)相结合时的乘法溢出问题
根据目前VVC工作草案中的PROF设计,PROF可以与加权预测(WP)联合应用。例如,当它们组合时,一个仿射CU的预测信号将通过以下过程生成:
第一,对于位置(x,y)处的每个样本,基于PROF计算L0预测细化ΔI0(x,y)并将细化加到原始L0预测样本I0(x,y),即
ΔI0(x,y)=(gh0(x,y)·Δvx0(x,y)+gv0(x,y)·Δvy0(x,y)+1)>>1
I′0(x,y)=I0(x,y)+ΔI0(x,y) (23)
其中I′0(x,y)是细化样本;gh0(x,y)和gv0(x,y)和Δvx0(x,y)和Δvy0(x,y)是位置(x,y)处的L0水平/垂直梯度和L0水平/垂直运动细化。
第二,对于位置(x,y)处的每个样本,基于PROF计算L1预测细化ΔI1(x,y)并将细化加到原始L1预测样本I1(x,y),即
ΔI1(x,y)=(gh1(x,y)·Δvx1(x,y)+gv1(x,y)·Δvy1(x,y)+1)>>1
I′1(x,y)=I1(x,y)+ΔI1(x,y) (24)
其中I′1(x,y)是细化样本;gh1(x,y)和gv1(x,y)和Δvx1(x,y)和Δvy1(x,y)是位置(x,y)处的L1水平/垂直梯度和L1水平/垂直运动细化。
第三,组合细化的L0和L1预测样本,即
Ibi(x,y)=(W0·I′0(x,y)+W1·I′1(x,y)+Offset)>>shift (25)
其中W0和W1是WP和BCW权重;shift和Offset是应用于针对WP和BCW的双向预测的L0和L1预测信号的加权平均的偏移和右移。这里,WP的参数包括W0和W1和Offset,而BCW的参数包括W0和Wi和shift。
如从上面的公式可以看出的,由于逐样本细化,即,ΔI0(x,y)和ΔI1(x,y),PROF之后的预测样本(即,I′0(x,y)和I′1(x,y))将相比于原始预测样本(即,I0(x,y)和I1(x,y))具有一个增加的动态范围。在给定细化的预测样本将与WP和BCW加权因子相乘的情况下,这将增加所需乘数的长度。例如,基于目前的设计,当内部编码比特深度的范围为8-12比特时,预测信号I0(x,y)和I1(x,y)的动态范围为16比特。但是,在PROF之后,预测信号I′0(x,y)和I′1(x,y)的动态范围为17比特。因此,在应用PROF时,可能会导致16比特乘法溢出问题。为了解决此类溢出问题,以下提出了多种方法:
第一,在第一种方法中,提出在将PROF应用于一个仿射CU时禁用WP和BCW。
第二,在第二种方法中,提出在导出的样本细化被加到原始预测样本之前对导出的样本细化应用一次裁剪操作,使得细化的预测样本I′0(x,y)和I′1(x,y)的动态范围将具有与原始预测样本I0(x,y)和I1(x,y)相同的动态比特深度。例如,通过这种方法,样本细化ΔI0(x,y)和ΔI1(x,y)将在(23)和(24)中通过引入一个裁剪操作进行修改,如所描述的:
ΔI0(x,y)=clip3(-2dI-1,2dI-1-1,ΔI0(x,y))
ΔI1(x,y)=clip3(-2dI-1,2dI-1-1,ΔI1(x,y))
其中dI=dIbase+max(0,BD-12),其中BD是内部编码比特深度;dIbase是基本比特深度值。在一个或多个实施例中,提出将dIbas。的值设置为14。在另一个实施例中,提出将该值设置为13。在另一个实施例中,提出将dI的值直接设置为固定的。在一个示例中,提出将dI的值设置为13,即,样本细化将被裁剪到范围[-4096,4095]。在另一个示例中,提出将dI的值设置为14,即,样本细化将被裁剪到范围[-8192,8191]。
第一,在第三种方法中,提出直接裁剪细化的预测样本,而不是裁剪样本细化,使得细化样本具有与原始预测样本相同的动态范围。例如,通过第三种方法,细化的L0和L1样本将是
I′0(x,y)=clip3(-2dR,2dR-1,I0(x,y)+ΔI0(x,y))
I′1(x,y)=clip3(-2dR,2aR-1,I1(x,y)+ΔI1(x,y))
其中dR=16+max(0,BD-12)(或等效地为max(16,BD+4)),其中BD是内部编码比特深度。
第二,在第四种方法中,提出在WP和BCW之前对细化的L0和L1预测样本应用一定的右移;然后通过附加的左移将最终预测样本调整到原始精度。例如,最终预测样本导出为
Ibi(x,y)=(W0·(I′0(x,y)>>nb)+Wi·(I′1(x,y)>>nb)+Offset)>>(shift-nb)
其中nb是应用的附加比特移位的数量,其可以基于PROF样本细化的对应动态范围来确定。
第三,在第五种方法中,提出将(25)中L0/L1预测样本与对应WP/BCW权重的每一次乘法分成两次乘法,并且两次乘法均不超过16比特,描述为
Ibi(x,y)=(W0·I0(x,y)+W0·ΔI0(x,y)+W1·I1(x,y)+W1·ΔI1(x,y)+Offset)>>shift
图20示出了与用户接口2060耦合的计算环境2010。计算环境2010可以是数据处理服务器的一部分。计算环境2010包括处理器2020、存储器2040和I/O接口2050。
处理器2020典型地控制计算环境2010的整体操作,例如,与显示、数据采集、数据通信和图像处理相关联的操作。处理器2020可以包括一个或多个处理器以执行指令来执行上述方法中的步骤中的所有或一些步骤。此外,处理器2020可以包括促进处理器2020与其他组件之间的交互的一个或多个模块。处理器可以是中央处理单元(CPU)、微处理器、单片机、GPU等。
存储器2040被配置为存储各种类型的数据以支持计算环境2010的操作。存储器2040可以包括预定软件2042。这种数据的示例包括用于在计算环境2010上操作的任何应用或方法的指令、视频数据集、图像数据等。存储器2040可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实现,例如,静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪速存储器、磁盘或光盘。
I/O接口2050提供处理器2020与外围接口模块(例如,键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口2050可以与编码器和解码器耦合。
在一些实施例中,还提供了一种非暂时性计算机可读存储介质,其包括多个程序,例如包括在存储器2040中,可由处理器2020在计算环境2010中执行,以用于执行上述方法。例如,非暂时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘、光数据存储设备等。
非暂时性计算机可读存储介质已经在其中存储了用于由具有一个或多个处理器的计算设备执行的多个程序,其中多个程序在由一个或多个处理器执行时使计算设备执行上述运动预测方法。
在一些实施例中,计算环境2010可以用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、控制器、微控制器、微处理器或其他电子组件来实现,以用于执行上述方法。
本公开的描述是为了说明的目的而呈现的,而并不旨在穷举或限制本公开。许多修改、变化和替代实现方式对于受益于前述描述和相关联的附图中呈现的教导的本领域普通技术人员将是显而易见的。
选择和描述这些示例是为了解释本公开的原理并使本领域的其他技术人员能够理解本公开的各种实现方式,并且最好地利用具有适合于预期的特定用途的各种修改的基本原理和各种实现方式。因此,应当理解,本公开的范围不限于所公开的实现方式的具体示例,并且修改和其他实现方式旨在包括在本公开的范围内。
Claims (28)
1.一种用于解码视频信号的利用光流的预测细化(PROF)的比特深度表示方法,包括:
在解码器处,获得与所述视频信号内的视频块相关联的参考图片I;
在所述解码器处,从所述参考图片I中的参考块获得所述视频块的预测样本I(i,j),其中,i和j表示一个样本关于所述视频块的坐标;
在所述解码器处,通过基于用于达到预设精度的比特移位值对PROF导出过程的内部PROF参数应用右移来控制所述内部PROF参数,其中,所述内部PROF参数包括针对所述预测样本I(i,j)导出的水平梯度值、垂直梯度值、水平运动差值和垂直运动差值;
在所述解码器处,根据所述PROF导出过程基于所述预测样本I(i,j)被应用于所述视频块,获得所述视频块中的样本的预测细化值;以及
在所述解码器处,基于所述预测样本和所述预测细化值的组合,获得所述视频块的预测样本。
2.如权利要求1所述的方法,其中,所述预设精度等于1/32像素。
3.如权利要求1所述的方法,其中,通过对所述PROF导出过程的内部PROF参数应用右移来控制所述内部PROF参数包括:
在所述解码器处,基于第一预测样本I(i+1,j)与第一预测样本I(i-1,j)之间的差,获得第一预测样本I(i,j)的水平梯度值;
在所述解码器处,基于第一预测样本I(i,j+1)与第一预测样本I(i,j-1)之间的差,获得所述第一预测样本I(i,j)的垂直梯度值;
在所述解码器处,获得所述第一预测样本I(i,j)的控制点运动矢量(MV),其中,所述控制点MV包括包含所述视频块的一个块的左上角块、右上角块和左下角块的MV;
在所述解码器处,获得基于所述控制点MV导出的仿射模型参数;
在所述解码器处,基于所述仿射模型参数,获得所述第一预测样本I(i,j)的水平MV差Δvx(i,j)和垂直MV差Δvy(i,j);以及
在所述解码器处,将所述水平MV差Δvx(i,j)和所述垂直MV差Δvy(i,j)右移所述比特移位值,其中,所述比特移位值等于8。
4.如权利要求3所述的方法,还包括:
在所述解码器处,将所述水平MV差Δvx(i,j)裁剪到[-31,31]的对称范围;以及
在所述解码器处,将所述垂直MV差Δvy(i,j)裁剪到[-31,31]的对称范围。
5.如权利要求3所述的方法,其中,获得所述视频块中的样本的所述预测细化值包括:
在所述解码器处,基于所述水平梯度值、所述水平MV差Δvx(i,j)、所述垂直梯度值和所述垂直MV差Δvy(i,j),获得所述预测细化值。
6.一种用于解码视频信号的双向光流(BDOF)的比特深度控制方法,包括:
在解码器处,获得与视频块相关联的第一参考图片I(0)和第二参考图片I(1),其中,按照显示顺序,所述第一参考图片I(0)在当前图片之前并且所述第二参考图片I(1)在所述当前图片之后;
在所述解码器处,从所述第一参考图片I(0)中的参考块获得所述视频块的第一预测样本I(0)(i,j),其中,i和j表示一个样本关于所述当前图片的坐标;
在所述解码器处,从所述第二参考图片I(1)中的参考块获得所述视频块的第二预测样本I(1)(i,j);
在所述解码器处,通过对BDOF导出过程的内部BDOF参数应用移位来控制所述内部BDOF参数,其中,所述内部BDOF参数包括基于所述第一预测样本I(0)(i,j)、所述第二预测样本I(1)(i,j)导出的水平梯度值和垂直梯度值、所述第一预测样本I(0)(i,j)与所述第二预测样本I(1)(i,j)之间的样本差以及中间BDOF导出参数,其中,所述中间BDOF导出参数包括sGxdI参数、sGydI参数、sGx2参数、sGxGy参数和sGy2参数,其中,sGxdI和sGydI包括所述水平梯度值与所述样本差值之间的交叉相关值以及所述垂直梯度值与所述样本差值之间的交叉相关值,其中,sGx2和sGy2包括所述水平梯度值和所述垂直梯度值的自相关值,其中,sGxGy包括所述水平梯度值与所述垂直梯度值之间的所述交叉相关值;
在所述解码器处,根据所述BDOF基于所述第一预测样本I(0)(i,j)和所述第二预测样本I(1)(i,j)被应用于所述视频块,获得所述视频块中的样本的运动细化;以及
在所述解码器处,基于所述运动细化,获得所述视频块的双向预测样本。
7.如权利要求6所述的方法,其中,在所述解码器处,控制所述BDOF导出过程的内部比特深度以用于内部BDOF导出参数的表示精度包括:
在所述解码器处,基于所述第一预测样本I(0)(i,j)、所述第二预测样本I(1)(i,j)获得所述中间BDOF导出参数;
在所述解码器处,基于所述sGx2参数和所述sGxdI参数,获得水平运动细化值;
在所述解码器处,基于所述sGy2参数、所述sGydI参数、所述sGxGy参数,获得垂直运动细化值;以及
在所述解码器处,将所述水平运动细化值和所述垂直运动细化值裁剪到[-31,31]的对称范围。
8.一种双向光流(BDOF)、利用光流的预测细化(PROF)和解码器侧运动矢量细化(DMVR)的方法,包括:
通过解码器,接收序列参数集(SPS)中的三个控制标志,其中,第一控制标志指示是否启用所述BDOF以用于解码当前视频序列中的视频块,其中,第二控制标志指示是否启用所述PROF以用于解码所述当前视频序列中的所述视频块,并且其中,第三控制标志指示是否启用所述DMVR以用于解码所述当前视频序列中的所述视频块;
当所述第一控制标志为真时,通过所述解码器,接收所述SPS中的第一存在标志,当所述第二控制标志为真时,接收所述SPS中的第二存在标志,以及当所述第三控制标志为真时,接收所述SPS中的第三存在标志;
当所述SPS中的所述第一存在标志指示针对每个图片中的所述视频块禁用所述BDOF时,通过所述解码器,接收所述图片的图片头中的第一图片控制标志;
当所述SPS中的所述第二存在标志指示针对每个图片中的所述视频块禁用所述PROF时,通过所述解码器,接收所述图片的图片头中的第二图片控制标志;以及
当所述SPS中的所述第三存在标志指示针对每个图片中的所述视频块禁用所述DMVR时,通过所述解码器,接收每个图片的图片头中的第三图片控制标志。
9.如权利要求8所述的方法,其中,通过所述解码器接收所述SPS中的所述三个控制标志包括:
通过所述解码器,接收sps_bdof_enabled_flag标志,其中,所述sps_bdof_enabled_flag标志指示所述BDOF是否被允许用于解码所述序列中的所述视频块;
通过所述解码器,接收sps_prof_enabled_flag标志,其中,所述sps_prof_enabled_flag标志指示所述PROF是否被允许用于解码所述序列中的所述视频块;以及
通过所述解码器,接收sps_dmvr_enabled_flag标志,其中,所述sps_dmvr_enabled_flag标志指示所述DMVR是否被允许用于解码所述序列中的所述视频块。
10.如权利要求8所述的方法,还包括:
当sps_dmvr_enabled_flag标志为真时,通过所述解码器,接收sps_dmvr_picture_header_present_flag标志,其中,所述sps_dmvr_picture_header_present_flag标志用信号通知是否在引用当前SPS的每个图片的图片头中用信号通知picture_disable_dmvr_flag标志;
当sps_bdof_enabled_flag标志为真时,通过所述解码器,接收sps_bdof_picture_header_present_flag标志,其中,所述sps_bdof_picture_header_present_flag标志用信号通知是否在引用当前SPS的每个图片的所述图片头中用信号通知picture_disable_bdof_flag标志;以及
当sps_prof_enabled_flag标志为真时,通过所述解码器,接收sps_prof_picture_header_present_flag标志,其中,所述sps_prof_picture_header_present_flag标志用信号通知是否在引用当前SPS的每个图片的所述图片头中用信号通知picture_disable_prof_flag标志。
11.如权利要求10所述的方法,还包括:
当所述sps_bdof_picture_header_present_flag标志的值为假时,通过所述解码器,在解码器处应用所述BDOF以生成未以仿射模式编码的帧间编码块的所述预测样本;
当所述sps_prof_picture_header_present_flag标志的值为假时,通过所述解码器,在解码器处应用所述PROF以生成以所述仿射模式编码的所述帧间编码块的所述预测样本;以及
当所述sps_dmvr_picture_header_present_flag标志的值为假时,通过所述解码器,在解码器处应用所述DMVR以生成未以所述仿射模式编码的所述帧间编码块的所述预测样本。
12.如权利要求10所述的方法,还包括:
当所述sps_dmvr_picture_header_present_flag标志为真时,通过所述解码器,接收图片头控制标志,其中,所述图片头控制标志是用信号通知针对引用所述图片头的条带禁用所述DMVR的所述picture_disable_dmvr_flag标志。
13.如权利要求10所述的方法,还包括:
当所述sps_bdof_picture_header_present_flag标志为真时,通过所述解码器,接收图片头控制标志,其中,所述图片头控制标志是用信号通知针对引用所述图片头的条带禁用所述BDOF的所述picture_disable_bdof_flag标志。
14.如权利要求10所述的方法,还包括:
当所述sps_prof_picture_header_present_flag标志为真时,通过所述解码器,接收图片头控制标志,其中,所述图片头控制标志是用信号通知针对引用所述图片头的条带禁用所述PROF的所述picture_disable_prof_flag标志。
15.一种计算设备,包括:
一个或多个处理器;
存储能够由所述一个或多个处理器执行的指令的非暂时性计算机可读存储介质,其中,所述一个或多个处理器被配置为:
获得与所述视频信号内的视频块相关联的参考图片I;
从所述参考图片I中的参考块获得所述视频块的预测样本I(i,j),其中,i和j表示一个样本关于所述视频块的坐标;
通过基于用于达到预设精度的比特移位值对利用光流的预测细化(PROF)导出过程的内部PROF参数应用右移来控制所述内部PROF参数,其中,所述内部PROF参数包括针对所述预测样本I(i,j)导出的水平梯度值、垂直梯度值、水平运动差值和垂直运动差值;
根据所述PROF导出过程基于所述预测样本I(i,j)被应用于所述视频块,获得所述视频块中的样本的预测细化值;以及
基于所述预测样本和所述预测细化值的组合,获得所述视频块的预测样本。
16.如权利要求15所述的计算设备,其中,所述预设精度等于1/32像素。
17.如权利要求15所述的计算设备,其中,被配置为通过对所述PROF导出过程的内部PROF参数应用右移来控制所述内部PROF参数的所述一个或多个处理器进一步被配置为:
基于第一预测样本I(i+1,j)与第一预测样本I(i-1,j)之间的差,获得第一预测样本I(i,j)的水平梯度值;
基于第一预测样本I(i,j+1)与第一预测样本I(i,j-1)之间的差,获得所述第一预测样本I(i,j)的垂直梯度值;
获得所述第一预测样本I(i,j)的控制点运动矢量(MV),其中,所述控制点MV包括包含所述视频块的一个块的左上角块、右上角块和左下角块的MV;
获得基于所述控制点MV导出的仿射模型参数;
基于所述仿射模型参数,获得所述第一预测样本I(i,j)的水平MV差Δvx(i,j)和垂直MV差Δvy(i,j);以及
将所述水平MV差Δvx(i,j)和所述垂直MV差Δvy(i,j)右移所述比特移位值,其中,所述比特移位值等于8。
18.如权利要求18所述的计算设备,其中,所述一个或多个处理器进一步被配置为:
将所述水平MV差Δvx(i,j)裁剪到[-31,31]的对称范围;以及
将所述垂直MV差Δvy(i,j)裁剪到[-31,31]的对称范围。
19.如权利要求18所述的计算设备,其中,被配置为获得所述视频块中的样本的所述预测细化值的所述一个或多个处理器进一步被配置为:
基于所述水平梯度值、所述水平MV差Δvx(i,j)、所述垂直梯度值和所述垂直MV差Δvy(i,j),获得所述预测细化值。
20.一种计算设备,包括:
一个或多个处理器;
存储能够由所述一个或多个处理器执行的指令的非暂时性计算机可读存储介质,其中,所述一个或多个处理器被配置为:
获得与视频块相关联的第一参考图片I(0)和第二参考图片I(1),其中,按照显示顺序,所述第一参考图片I(0)在当前图片之前并且所述第二参考图片I(1)在所述当前图片之后;
从所述第一参考图片I(0)中的参考块获得所述视频块的第一预测样本I(0)(i,j),其中,i和j表示一个样本关于所述当前图片的坐标;
从所述第二参考图片I(1)中的参考块获得所述视频块的第二预测样本I(1)(i,j);
通过对BDOF导出过程的内部BDOF参数应用移位来控制所述内部BDOF参数,其中,所述内部BDOF参数包括基于所述第一预测样本I(0)(i,j)、所述第二预测样本I(1)(i,j)导出的水平梯度值和垂直梯度值、所述第一预测样本I(0)(i,j)与所述第二预测样本I(1)(i,j)之间的样本差以及中间BDOF导出参数,其中,所述中间BDOF导出参数包括sGxdI参数、sGydI参数、sGx2参数、sGxGy参数和sGy2参数,其中,sGxdI和sGydI包括所述水平梯度值与所述样本差值之间的交叉相关值以及所述垂直梯度值与所述样本差值之间的交叉相关值,其中,sGx2和sGy2包括所述水平梯度值和所述垂直梯度值的自相关值,其中,sGxGy包括所述水平梯度值与所述垂直梯度值之间的所述交叉相关值;
根据所述BDOF基于所述第一预测样本I(0)(i,j)和所述第二预测样本I(1)(i,j)被应用于所述视频块,获得所述视频块中的样本的运动细化;以及
基于所述运动细化,获得所述视频块的双向预测样本。
21.如权利要求20所述的计算设备,其中,被配置为控制所述BDOF导出过程的内部比特深度以用于内部BDOF导出参数的表示精度的所述一个或多个处理器进一步被配置为:
基于所述第一预测样本I(0)(i,j)、所述第二预测样本I(1)(i,j)获得所述中间BDOF导出参数;
基于所述sGx2参数和所述sGxdI参数,获得水平运动细化值;
基于所述sGy2参数、所述sGydI参数、所述sGxGy参数,获得垂直运动细化值;以及
将所述水平运动细化值和所述垂直运动细化值裁剪到[-31,31]的对称范围。
22.一种非暂时性计算机可读存储介质,其存储用于由具有一个或多个处理器的计算设备执行的多个程序,其中,所述多个程序在由所述一个或多个处理器执行时使所述计算设备执行动作,所述动作包括:
通过解码器,接收序列参数集(SPS)中的三个控制标志,其中,第一控制标志指示是否启用双向光流(BDOF)以用于解码当前视频序列中的视频块,其中,第二控制标志指示是否启用利用光流的预测细化(PROF)以用于解码所述当前视频序列中的所述视频块,并且其中,第三控制标志指示是否启用解码器侧运动矢量细化(DMVR)以用于解码所述当前视频序列中的所述视频块;
当所述第一控制标志为真时,通过所述解码器,接收所述SPS中的第一存在标志,当所述第二控制标志为真时,接收所述SPS中的第二存在标志,以及当所述第三控制标志为真时,接收所述SPS中的第三存在标志;
当所述SPS中的所述第一存在标志指示针对每个图片中的所述视频块禁用所述BDOF时,通过所述解码器,接收所述图片的图片头中的第一图片控制标志;
当所述SPS中的所述第二存在标志指示针对每个图片中的所述视频块禁用所述PROF时,通过所述解码器,接收所述图片的图片头中的第二图片控制标志;以及
当所述SPS中的所述第三存在标志指示针对每个图片中的所述视频块禁用所述DMVR时,通过所述解码器,接收每个图片的图片头中的第三图片控制标志。
23.如权利要求22所述的非暂时性计算机可读存储介质,其中,所述多个程序进一步使所述计算设备执行:
当sps_dmvr_enabled_flag标志为真时,通过所述解码器,接收sps_dmvr_picture_header_present_flag标志,其中,所述sps_dmvr_picture_header_present_flag标志用信号通知是否在引用当前SPS的每个图片的图片头中用信号通知picture_disable_dmvr_flag标志;
当sps_bdof_enabled_flag标志为真时,通过所述解码器,接收sps_bdof_picture_header_present_flag标志,其中,所述sps_bdof_picture_header_present_flag标志用信号通知是否在引用当前SPS的每个图片的所述图片头中用信号通知picture_disable_bdof_flag标志;以及
当sps_prof_enabled_flag标志为真时,通过所述解码器,接收sps_prof_picture_header_present_flag标志,其中,所述sps_prof_picture_header_present_flag标志用信号通知是否在引用当前SPS的每个图片的所述图片头中用信号通知picture_disable_prof_flag标志。
24.如权利要求22所述的非暂时性计算机可读存储介质,其中,所述多个程序进一步使所述计算设备执行:
当所述sps_bdof_picture_header_present_flag标志的值为假时,在解码器处应用所述BDOF以生成未以仿射模式编码的帧间编码块的所述预测样本;
当所述sps_prof_picture_header_present_flag标志的值为假时,在解码器处应用所述PROF以生成以所述仿射模式编码的所述帧间编码块的所述预测样本;以及
当所述sps_dmvr_picture_header_present_flag标志的值为假时,在解码器处应用所述DMVR以生成未以所述仿射模式编码的所述帧间编码块的所述预测样本。
25.如权利要求24所述的非暂时性计算机可读存储介质,其中,所述多个程序进一步使所述计算设备执行:
当所述sps_dmvr_picture_header_present_flag标志为真时,通过所述解码器,接收图片头控制标志,其中,所述图片头控制标志是用信号通知针对引用所述图片头的条带禁用所述DMVR的所述picture_disable_dmvr_flag标志。
26.如权利要求24所述的非暂时性计算机可读存储介质,其中,所述多个程序进一步使所述计算设备执行:
当所述sps_bdof_picture_header_present_flag标志为真时,通过所述解码器,接收图片头控制标志,其中,所述图片头控制标志是用信号通知针对引用所述图片头的条带禁用所述BDOF的所述picture_disable_bdof_flag标志。
27.如权利要求24所述的非暂时性计算机可读存储介质,其中,所述多个程序进一步使所述计算设备执行:
当所述sps_prof_picture_header_present_flag标志为真时,通过所述解码器,接收图片头控制标志,其中,所述图片头控制标志是用信号通知针对引用所述图片头的条带禁用所述PROF的所述picture_disable_prof_flag标志。
28.如权利要求24所述的非暂时性计算机可读存储介质,其中,所述多个程序进一步使所述计算设备执行:
当所述sps_prof_picture_header_present_flag标志为真时,通过所述解码器,接收图片头控制标志,其中,所述图片头控制标志是用信号通知针对引用所述图片头的条带禁用所述PROF的所述picture_disable_prof_flag标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210553996.3A CN114979631B (zh) | 2019-10-09 | 2020-10-09 | 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962913141P | 2019-10-09 | 2019-10-09 | |
US62/913,141 | 2019-10-09 | ||
PCT/US2020/055153 WO2021072326A1 (en) | 2019-10-09 | 2020-10-09 | Methods and apparatuses for prediction refinement with optical flow, bi-directional optical flow, and decoder-side motion vector refinement |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210553996.3A Division CN114979631B (zh) | 2019-10-09 | 2020-10-09 | 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114503561A true CN114503561A (zh) | 2022-05-13 |
Family
ID=75437762
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080070878.6A Pending CN114503561A (zh) | 2019-10-09 | 2020-10-09 | 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 |
CN202210553996.3A Active CN114979631B (zh) | 2019-10-09 | 2020-10-09 | 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210553996.3A Active CN114979631B (zh) | 2019-10-09 | 2020-10-09 | 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US12069297B2 (zh) |
EP (1) | EP4022923A4 (zh) |
JP (2) | JP7281602B2 (zh) |
KR (4) | KR20230070535A (zh) |
CN (2) | CN114503561A (zh) |
MX (1) | MX2022004332A (zh) |
WO (1) | WO2021072326A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118450117A (zh) * | 2019-11-18 | 2024-08-06 | Lg电子株式会社 | 图像编码/解码方法、比特流生成方法和数据发送方法 |
KR20240052025A (ko) * | 2021-09-03 | 2024-04-22 | 주식회사 윌러스표준기술연구소 | Lic(local illumination compensation) 모드를 이용한 비디오 신호 처리 방법 및 이를 위한 장치 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140029670A1 (en) * | 2012-07-27 | 2014-01-30 | Motorola Mobility Llc | Devices and methods for processing of partition mode in high efficiency video coding |
US10003793B2 (en) * | 2012-10-01 | 2018-06-19 | Google Technology Holdings LLC | Processing of pulse code modulation (PCM) parameters |
CN110691244B (zh) * | 2014-06-20 | 2022-07-08 | 寰发股份有限公司 | 视频编码中的语法的二进制化和上下文自适应编码的方法和装置 |
JP2019519148A (ja) * | 2016-05-13 | 2019-07-04 | ヴィド スケール インコーポレイテッド | ビデオ符号化のための一般化された多重仮説予測(Generalized Multi−Hypothesis Prediction)のためのシステムおよび方法 |
EP3264769A1 (en) * | 2016-06-30 | 2018-01-03 | Thomson Licensing | Method and apparatus for video coding with automatic motion information refinement |
WO2018128380A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자(주) | 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
US10523964B2 (en) * | 2017-03-13 | 2019-12-31 | Qualcomm Incorporated | Inter prediction refinement based on bi-directional optical flow (BIO) |
KR102409430B1 (ko) * | 2017-04-24 | 2022-06-15 | 에스케이텔레콤 주식회사 | 움직임 보상을 위한 옵티컬 플로우 추정 방법 및 장치 |
US10986360B2 (en) * | 2017-10-16 | 2021-04-20 | Qualcomm Incorproated | Various improvements to FRUC template matching |
KR102616680B1 (ko) * | 2019-03-08 | 2023-12-20 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인터 예측을 위한 인코더, 디코더 및 대응하는 방법 |
JP7302009B2 (ja) * | 2019-04-18 | 2023-07-03 | 北京字節跳動網絡技術有限公司 | クロスコンポーネントモードの利用可能性に対する制約 |
JP2022547599A (ja) | 2019-09-12 | 2022-11-14 | アリババ グループ ホウルディング リミテッド | 映像符号化情報をシグナリングするための方法及び装置 |
WO2021050226A1 (en) | 2019-09-12 | 2021-03-18 | Alibaba Group Holding Limited | Method and apparatus for encoding or decoding video |
WO2021060834A1 (ko) * | 2019-09-24 | 2021-04-01 | 엘지전자 주식회사 | 서브픽처 기반 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
-
2020
- 2020-10-09 KR KR1020237016305A patent/KR20230070535A/ko active Application Filing
- 2020-10-09 EP EP20875076.0A patent/EP4022923A4/en active Pending
- 2020-10-09 JP JP2022521352A patent/JP7281602B2/ja active Active
- 2020-10-09 KR KR1020227010894A patent/KR102533731B1/ko active IP Right Grant
- 2020-10-09 CN CN202080070878.6A patent/CN114503561A/zh active Pending
- 2020-10-09 CN CN202210553996.3A patent/CN114979631B/zh active Active
- 2020-10-09 WO PCT/US2020/055153 patent/WO2021072326A1/en unknown
- 2020-10-09 KR KR1020237002341A patent/KR20230018532A/ko active Application Filing
- 2020-10-09 MX MX2022004332A patent/MX2022004332A/es unknown
- 2020-10-09 KR KR1020237016304A patent/KR20230070534A/ko active Application Filing
-
2022
- 2022-04-06 US US17/714,916 patent/US12069297B2/en active Active
-
2023
- 2023-05-12 JP JP2023079701A patent/JP7559136B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP4022923A1 (en) | 2022-07-06 |
EP4022923A4 (en) | 2022-11-23 |
JP7281602B2 (ja) | 2023-05-25 |
KR20230070534A (ko) | 2023-05-23 |
US20220239943A1 (en) | 2022-07-28 |
KR20220046707A (ko) | 2022-04-14 |
KR20230018532A (ko) | 2023-02-07 |
CN114979631A (zh) | 2022-08-30 |
KR102533731B1 (ko) | 2023-06-19 |
US12069297B2 (en) | 2024-08-20 |
JP2023100979A (ja) | 2023-07-19 |
WO2021072326A1 (en) | 2021-04-15 |
MX2022004332A (es) | 2022-04-26 |
KR20230070535A (ko) | 2023-05-23 |
JP2022541685A (ja) | 2022-09-26 |
CN114979631B (zh) | 2024-10-11 |
JP7559136B2 (ja) | 2024-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7372433B2 (ja) | オプティカルフローを用いた予測リファインメントに関する方法および装置 | |
KR102502614B1 (ko) | 광학 흐름을 사용한 예측 미세조정을 위한 방법 및 장치 | |
JP7313533B2 (ja) | オプティカルフローによる予測洗練化における方法および装置 | |
CN113994692A (zh) | 用于利用光流的预测细化的方法和装置 | |
JP7559136B2 (ja) | オプティカルフローによる予測洗練化、双方向オプティカルフローおよびデコーダ側の動きベクトル洗練化のための方法および装置 | |
CN114125441B (zh) | 对视频信号解码的双向光流方法、计算设备和存储介质 | |
CN113728639A (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 |