[go: up one dir, main page]

CN113875253A - 用于利用光流基于边界平滑的运动补偿进行视频编码和解码的方法和装置 - Google Patents

用于利用光流基于边界平滑的运动补偿进行视频编码和解码的方法和装置 Download PDF

Info

Publication number
CN113875253A
CN113875253A CN202080038228.3A CN202080038228A CN113875253A CN 113875253 A CN113875253 A CN 113875253A CN 202080038228 A CN202080038228 A CN 202080038228A CN 113875253 A CN113875253 A CN 113875253A
Authority
CN
China
Prior art keywords
block
motion
image
sub
motion information
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
CN202080038228.3A
Other languages
English (en)
Inventor
F.加尔平
A.罗伯特
F.莱林内克
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.)
InterDigital VC Holdings Inc
Original Assignee
InterDigital VC Holdings 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 InterDigital VC Holdings Inc filed Critical InterDigital VC Holdings Inc
Publication of CN113875253A publication Critical patent/CN113875253A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/583Motion compensation with overlapping blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

描述了不同的实现方式,特别是提出了用于视频编码和解码的实现方式。根据实现方式,在用于编码或解码图像的一部分的方法中,执行了使用光流基于边界平滑的运动补偿的图像块的帧间预测细化。图像块的帧间预测细化还包括获得块的运动信息、顶部邻近块的运动信息、左侧邻近块的运动信息;以及基于所获得的运动信息的加权和来应用光流以细化对块的预测。有利地,如果图像块具有子块运动场,则在子块级在图像块的因果边界的边界子块上或图像块的任何子块上应用细化的帧间预测。

Description

用于利用光流基于边界平滑的运动补偿进行视频编码和解码 的方法和装置
技术领域
本实施例中的至少一个一般涉及例如用于视频编码或解码的方法或装置,并且更具体地,涉及包括使用光流基于边界平滑的运动补偿来细化图像块的帧间预测的方法或装置。
背景技术
一个或多个实现方式的领域技术领域一般涉及视频压缩。至少一些实施例涉及与诸如HEVC(HEVC是指高效视频编解码,也称为在“ITU的ITU-T H.265电信标准化部分(10/2014),系列H:视听和多媒体系统,视听服务的基础设施-运动视频的编解码,高效视频编解码,推荐ITU-T H.265”中描述的H.265和MPEG-H第2部分)的现有视频压缩系统相比,或者与诸如VVC(通用视频编解码,联合视频专家小组JVET正在开发的新标准)的正在开发的视频压缩系统相比提高压缩效率。
为了实现高压缩效率,图像和视频编解码方案通常采用图像分割、预测(包括运动矢量预测)和变换以利用(leverage)视频内容中的空间和时间冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后将原始图像和预测图像之间的差(通常表示为预测误差或预测残差)变换为频域系数,系数被量化,并被熵编解码。为了重构视频,通过与熵解码、逆量化、逆变换和预测对应的逆处理,来解码压缩的数据。
为了在比特率节省或复杂度降低方面提高视频压缩效率,希望减少块伪影。由于基于块的运动补偿例如涉及一些块伪影,因此希望进一步调整帧间编解码/解码工具以细化帧间预测。
发明内容
本发明的目的是克服现有技术的至少一个缺点。
为此,根据至少一个实施例的一般方面,提出了一种使用光流基于边界平滑的运动补偿来细化图像块的帧间预测的方法。术语“帧间预测”旨在是涵盖任何基于运动补偿的预测的广义术语,根据非限制性示例,包括VVC的帧内块复制预测模式。基于运动补偿的任何预测都与本原理相兼容。
根据至少一个实施例的另一一般方面,提出了一种用于在图像编码中对块进行编码的方法。该方法包括使用光流基于边界平滑的运动补偿对图像块进行帧间预测细化。
根据至少一个实施例的另一一般方面,提出了一种用于对图像的块进行解码的方法,包括使用光流基于边界平滑的运动补偿对图像块进行帧间预测细化。
根据至少一个实施例的另一一般方面,提出了一种用于视频编码的装置,包括用于实现编码方法的任何一个实施例的部件。
根据至少一个实施例的另一一般方面,提出了一种用于视频解码的装置,包括用于实现解码方法的任何一个实施例的装置。
根据至少一个实施例的另一一般方面,提供了一种用于视频编码的装置,包括一个或多个处理器和至少一个存储器。该一个或多个处理器被配置为实现编码方法的任何一个实施例。
根据至少一个实施例的另一一般方面,提供了一种用于视频解码的装置,包括一个或多个处理器和至少一个存储器。该一个或多个处理器被配置为实现解码方法的任何一个实施例。
根据至少一个实施例的另一一般方面,光流基于块的运动信息、顶部邻近块的运动信息、左侧邻近块的运动信息以及运动信息加权因子。
根据至少一个实施例的另一一般方面,获得块的运动信息、顶部邻近块的运动信息和左侧邻近块的运动信息;并且使用运动信息加权因子从该块的运动信息、顶部邻近块的运动信息、和左侧邻近块的运动信息的加权和来确定该块的新运动信息;通过基于块的新运动信息确定光流来获得图像块的细化帧间预测。
根据至少一个实施例的另一一般方面,针对图像块的因果边界的边界子块获得图像块的细化帧间预测。
根据至少一个实施例的另一一般方面,图像块具有子块运动场,并且对图像块的任何子块执行帧间预测细化。
根据至少一个实施例的另一一般方面,图像块具有子块运动场,并且图像块的帧间预测细化使用光流基于边界平滑的运动补偿并且进一步基于子块运动场。
根据至少一个实施例的另一一般方面,响应于块的大小大于一值或响应于块的帧间预测模式,在块级或子块级启用图像块的帧间预测细化。
根据至少一个实施例的另一一般方面,通过在信令语法元素中插入能够标识对其应用帧间预测细化的块或子块的标志,在块级、子块级启用图像块的帧间预测细化。
根据至少一个实施例的另一一般方面,从运动信息的可用性、存储的加权因子的集合以及要细化的帧间预测和邻近块的运动信息之间的距离中的至少一个推导运动信息加权因子。
根据至少一个实施例的另一一般方面,提出了一种非暂时性计算机可读介质,其包含根据任何前述描述的方法或装置生成的数据内容。
根据至少一个实施例的另一一般方面,提供了一种信号或比特流,其包括根据任何前述描述的方法或装置生成的视频数据。
本实施例的一个或多个实施例还提供了一种计算机可读存储介质,其上存储有用于根据上述任何方法来细化帧间预测、编码或解码视频数据的指令。本实施例还提供了一种计算机可读存储介质,其上存储有根据上述方法生成的比特流。本实施例还提供了用于发送根据上述方法生成的比特流的方法和装置。本实施例还提供了一种计算机程序产品,其包括用于执行所描述的任何方法的指令。
附图说明
图1示出了表示压缩的HEVC画面的编解码树单元(CTU)和编解码树(CT)概念。
图2示出了将编解码树单元划分为编解码单元、预测单元和变换单元的示例。
图3示出了根据特定实施例的用于获得帧间预测块的方法的流程图。
图4示出了根据特定实施例的重叠块运动补偿的示例。
图5示出了根据特定实施例的在双向光流中使用的扩展CU区域的示例。
图6示出了根据特定实施例的基于光流的运动细化流的示例。
图7示出了根据特定实施例的用于使用光流基于边界平滑的运动补偿来细化图像块的帧间预测的方法的流程图。
图8示出了根据特定实施例的用于对图像的块进行解码的方法的流程图。
图9示出了根据特定实施例的用于对图像的块进行编码的方法的流程图。
图10示出了根据另一特定实施例的用于使用光流基于边界平滑的运动补偿来细化图像块的帧间预测的方法的流程图。
图11示出了根据另一特定实施例的示例子块运动场,该示例子块运动场被应用了用于使用光流基于边界平滑的运动补偿来细化图像块的帧间预测的方法。
图12示出了子块B0及其邻近运动矢量的示例。
图13示出了根据特定实施例的基于光流的边界平滑的运动补偿方法的流程图。
图14示出了根据特定实施例的针对位置(i,j)处的像素的基于光流的边界平滑的运动补偿的流程图。
图15示出了根据特定实施例的针对L0列表预测器的顶部邻居的邻近运动提取的流程图。
图16示出了根据特定实施例的针对L0列表预测器的顶部邻居的替代邻近运动提取的示例。
图17示出了根据特定实施例的针对L0列表预测器的顶部邻居的替代邻近运动提取的另一示例。
图18示出了根据特定实施例的用于计算每个运动矢量的权重的方法的流程图。
图19示出了根据特定实施例的用于计算每个运动矢量的权重的方法。
图20示出了根据另一特定实施例的基于光流的边界平滑的运动补偿方法的流程图。
图21示出了其中可以实现实施例的各个方面的视频编码器的实施例的框图。
图22示出了其中可以实现实施例的各个方面的视频解码器的实施例的框图。
图23示出了其中可以实现实施例的各个方面的示例装置的框图。
具体实施方式
应当理解,附图和描述已经被简化以示出与清楚理解本原理相关的元素,同时为了清楚起见,消除了在典型编码和/或解码设备中找到的多个其他元素。应当理解,尽管术语第一和第二在本文可以用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语仅用于区分一个元素和另一元素。
关于图像的编码/解码描述了各种实施例。它们可以被应用于编码/解码图像的一部分,诸如条带(slice)或图块(tile)、图块组或整个图像序列。
上文描述了各种方法,并且每种方法包括用于实现所述方法的一个或多个步骤或动作。除非该方法的正确操作需要步骤或动作的特定顺序,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。
至少一些实施例涉及使用光流基于边界平滑的运动补偿来细化图像块的帧间预测。有利地,使用边界块的运动信息推导基于光流的校正,从而平滑块边界处的伪影。有利地,基于光流的校正是针对块(子块)的分割推导的,因此平滑了块内子块边界处的伪影。
在下文中,我们描述了有助于理解本原理的一般实施例,并且其中可以实现本原理。然后,我们公开了基于光流的边界平滑的运动补偿的几个实施例。最后,我们公开了附加信息和一般实施例。
在HEVC,运动补偿时间预测被用来利用在视频的连续画面之间存在的冗余。
图1示出了表示压缩的HEVC画面的编解码树单元(CTU)和编解码树(CT)概念。在HEVC编码器中,图像被分割为大块(CTU)。每个CTU由基于对CTU的递归四叉树或二叉树划分的编解码树表示,其中每个叶被称为编解码单元(CU),如图1所示。用一个或多个预测单元(PU)预测每个CU,然后给每个CU一些帧内或帧间预测参数(预测信息)。
图2示出了将编解码树单元划分为编解码单元、预测单元和变换单元的示例。如图2所示,在CU级分配帧内或帧间编解码模式。在HEVC中,每个PU恰好被分配一个运动矢量。该运动矢量被用于所考虑的PU的运动补偿时间预测。因此,在HEVC中,链接预测块和其参考块的运动模型仅仅在于转换。
在VVC的最新发展中,PU可以包含使用公共参数运动模型(例如仿射模式)或使用存储的时间运动(例如子块时间运动矢量预测器SbTMVP(又名ATMVP))的子块运动(例如4×4正方形子块)。
图3示出了根据特定实施例的用于获得帧间预测块的方法的流程图。示出了用于构建图像的块的管线(pipeline)的非限制性示例。根据变型实施例,这些阶段中的一些被旁路(by-pass)。例如,LIC和OBMC阶段被旁路。根据其他变型实施例,增加了图3中未表示的附加阶段。例如,添加了PROF。关于帧间预测块的解码,已经针对VVC的发展研究了以下处理:
-MC:运动补偿(按块或子块);
-LIC:局部光照补偿。使用线性自适应改变预测样本值。
-BIO或BDOF:双向预测光流。使用用于重构块的2个参考块之间的光流估计的结果来改变预测样本值。该工具将在下文被更详细地描述。
-DMVR:解码器侧运动矢量细化(图3中未示出):在解码器侧细化PU内的运动矢量,以用于双向预测。
-GBI广义双预测(也称为具有CU级权重的BCW双预测):用于重构块的2个参考块的加权平均值。
-OBMC:重叠块运动补偿。使用来自邻近块的不同运动矢量的运动补偿块的加权平均。该工具将在下文被更详细地描述。
-IQ/IT:用于重构残差的逆量化和变换。
-帧内预测:用于使用周围样本值预测块。
-多假设或CIIP组合帧间/帧内预测:使用取决于位置的加权平均将几个预测(通常是帧间和帧内)合并在一起。还扩展到三角多假设,其中几个帧间预测可以被合并在一个块内。
-CCLM:跨分量线性模型。使用另一已经重构的分量来使用线性模型预测当前分量。
图4示出了根据特定实施例的重叠块运动补偿的示例。VVC没有采用重叠块运动补偿,但在测试模型中研究了OMBC。根据测试模型,对于所有帧间CU,无论其编解码模式如何,运动补偿步骤之后都是称为重叠块运动补偿OBMC的处理,该处理旨在衰减CU之间的运动转换(某种程度上类似于具有块伪影的去块滤波器)。然而,这种方法需要通过PU或子块进行多次运动补偿,这增加了解码器的存储器带宽需求。本原理描述了帧间预测的细化,从而有利地避免了OBMC的多次运动补偿。然而,作为OBMC,本原理有利地适用于子块PU或非子块PU两者。
图4示出了使用顶部和左侧块的基于块的OBMC的OBMC的基本原理:
-首先用当前块的运动矢量对当前块C进行运动补偿,
-用左侧邻居块L的运动矢量对当前块C的左侧带进行运动补偿,
-使用顶部块邻居T0和T1的运动矢量对当前块C的顶部带进行运动补偿,
-然后执行加权求和(在块级或像素级),以便计算最终的运动补偿块。
对当前块的OBMC处理在该当前块的重构期间执行。这意味着需要在每个邻近块中保存执行对当前块的每个带的运动补偿所需的参数。
VVC规范包括用于帧间预测的预测细化的2个工具,其基于光流概念在像素级细化运动补偿。光流概念依赖于2个假设。首先,对象的运动是平滑的,其次,通过添加由光流等式推导的运动细化来细化预测样本。第一个工具是双向光流BDOF,其执行时间光流以获得细化的帧间预测。第二个工具是利用光流的预测细化PROF,其执行空间光流以获得细化的帧间预测。
BDOF用于通过最小化L0和L1预测样本之间的差来细化4×4子块级的块或CU的双预测。BDOF在VVC的发展期间被简化,使得BDOF的更简单版本需要更少的计算,尤其是在乘法次数和乘法器的大小方面。如果满足以下条件,BDOF将被应用于CU:
1)CU的高不是4,并且CU的大小也不是4×8,
2)CU未被使用仿射模式或sbTMVP合并模式进行编解码;
3)CU被使用“真”双预测模式进行编解码,即两个参考画面中的一个在显示顺序上在当前画面之前,而另一个在显示顺序上在当前画面之后。
BDOF仅适用于亮度分量。
顾名思义,BDOF模式基于光流概念,其假设对象的运动是平滑的,并且其亮度沿着所考虑的时间间隔是恒定的。对于每个4×4子块,通过最小化L0和L1预测样本之间的差来计算运动细化(vx,vy)。然后使用运动细化来调整4×4子块中的双预测样本值。以下步骤适用于BDOF处理。
首先,通过直接计算两个邻近样本之间的差来计算两个预测信号的水平梯度
Figure BDA0003369331580000071
和竖直梯度
Figure BDA0003369331580000072
即,
Figure BDA0003369331580000073
其中I(k)(i,j)是列表k(k=0,1)中预测信号在坐标(i,j)处的样本值。
然后,梯度S1、S2、S3、S5和S6的自相关和互相关计算如下
S1=∑(i,j)∈Ωψx(i,j)·ψx(i,j),S3=∑(i,j)∈Ωθ(i,j)·ψx(i,j)
Figure BDA0003369331580000081
S5=∑(i,j)∈Ωψy(i,j)·ψy(i,j) S6=∑(i,j)∈Ωθ(i,j)·ψy(i,j)
其中:
Figure BDA0003369331580000082
Figure BDA0003369331580000083
θ(i,j)=(I(1)(i,j)>>nb)-(I(0)(i,j)>>nb)
其中Ω是围绕4×4子块的6×6窗口。
然后,使用互相关项和自相关项,利用以下推导运动细化(vx,vy):
Figure BDA0003369331580000084
Figure BDA0003369331580000085
其中
Figure BDA00033693315800000810
t九′BIO=213-BD,并且
Figure BDA0003369331580000087
是地板函数(floor function)。
基于运动细化和梯度,针对4×4子块中的每个样本计算以下调整:
Figure BDA0003369331580000088
最后,通过如下调整双预测样本来计算CU的BDOF样本:
predBDOF(x,y)=(I(0)(x,y)+I(1)(x,y)+b(x,y)+ooffset)>>shift (3-6)
在以上,na、nb
Figure BDA0003369331580000089
的值分别等于3、6和12。选择这些值以使得BDOF处理中的乘法器不超过15比特,并且BDOF处理中的中间参数的最大比特宽保持在32比特以内。
为了推导梯度值,需要生成当前CU边界之外的列表k(k=0,1)中的一些预测样本I(k)(i,j)。如图5所示,BDOF的更简单版本在CU的边界周围使用一个扩展的行/列。为了控制生成边界外预测样本的计算复杂度,使用双线性滤波器在扩展区域(白色位置)中生成预测样本,并且使用正常的8抽头运动补偿插值滤波器在CU(灰色位置)中生成预测样本。这些扩展样本值仅用于梯度计算。对于BDOF处理中的剩余步骤,如果需要CU边界之外的任何样本和梯度值,则从它们最近的邻居填充(即重复)它们。双向光流(BDOF)是在用于双预测的逐块运动补偿之上执行的逐样本运动细化。样本级运动细化不使用信令。在双预测的情况下,BDOF的目标是假设两个参考画面之间的线性位移并基于光流的埃尔米特插值来细化每个样本的运动。
在VVC采用的第二个工具是用于校正基于块的仿射运动补偿的基于光流的运动细化,称为利用光流的预测细化或PROF。图6示出了根据特定实施例的基于光流的运动细化流的示例。为了实现更细粒度的运动补偿,该工具提出了一种用于利用空间光流细化基于子块的仿射运动补偿预测的方法。在执行基于子块的仿射运动补偿之后,通过添加通过光流等式推导的差来细化亮度预测样本。PROF被描述为以下四个步骤。
步骤1)执行基于子块的仿射运动补偿以生成子块预测I(i,j)。
步骤2)在每个样本位置处使用3抽头滤波器[-1,0,1]计算子块预测的空间梯度gx(i,j)和gy(i,j)。
gx(i,j)=I(i+1,j)-I(i-1,j)
gy(i,j)=I(i,j+1)-I(i,j-1)
对于梯度计算,子块预测在每一侧扩展一个像素。为了减少存储器带宽和复杂度,扩展的边界上的像素是从参考画面中最近的整数像素位置复制的。因此,避免了用于填充区域的附加插值。
步骤3)亮度预测细化是通过光流等式计算的。
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
其中Δv(i,j)是针对采样位置(i,j)计算的像素MV(由v(i,j)表示)和像素(i,j)所属的子块的子块MVVSB之间的差,如图6所示。由于仿射模型参数和相对于子块中心的像素位置不会从子块到子块而改变,因此可以为第一个子块计算Δv(i,j),并对同一CU中的其他子块重复使用。假设x和y是从像素位置到子块中心的水平和竖直偏移,则Δv(x,y)可以通过以下等式推导,
Figure BDA0003369331580000101
对于4参数仿射模型,
Figure BDA0003369331580000102
对于6参数仿射模型,
Figure BDA0003369331580000103
其中,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)是左上、右上和左下控制点运动矢量,w和九是CU的宽度和高度。
步骤4)最后,亮度预测细化被添加子块预测I(i,j)。最终预测I’由以下等式生成:I′(i,j)=I(i,j)+ΔI(i,j)。
图7示出了根据特定实施例的用于使用光流基于边界平滑的运动补偿来细化图像块的帧间预测的方法的流程图。如上所述,如果OBMC处理旨在衰减CU之间的运动转换,则其在重构特定块时会被动态应用,并且需要若干运动补偿,这增加了解码器中的存储器带宽需求问题。希望找到一种以较低的实现复杂度来平滑在块边界处的伪影的方法,如OBMC。为此,本原理公开了使用光流基于边界平滑的运动补偿来细化图像块的帧间预测。根据变型措辞,现在公开了一种用于使用基于光流的OBMC进行运动补偿预测细化的方法。不同于已知的基于光流的方法,例如用于细化给定预测(时间或仿射)的BDOF和PROF,本原理公开了一种在块边界平滑伪影的替代光流方法。在下文中,术语基于光流的边界平滑的运动补偿和术语基于光流的重叠块运动补偿可以被无差别地使用。
因此,如图7所示,用于细化图像块的帧间预测S100的方法包括基于光流的OMBC的步骤S110。有利地,用于细化帧间预测S100的方法的至少一个一般实施例
-通过仅使用运动信息来推导边界块上的光流预测细化;
-基于一些固定条件有条件地应用这种细化,或者发信号通知对细化的应用;
-在CU、子块(4x4)或更大的块(如16x16)级别应用细化。
有利地,用于细化帧间预测S100的方法的至少一个一般实施例使用单个运动补偿从运动补偿中去除块伪影。实际上,每个边界子块的细化是使用从光流概念推导的处理来完成的。
根据至少一个实施例的另一一般方面,提出了一种用于对图像的块进行解码的方法,包括使用光流基于边界平滑的运动补偿对图像块进行帧间预测细化。图8示出了根据特定实施例的用于对图像的块进行解码的方法的流程图。因此,根据其任何变型的帧间预测细化S100在解码方法S200中实现。
根据至少一个实施例的另一一般方面,提出了一种用于在图像编码中对块进行编码的方法。该方法包括使用光流基于边界平滑的运动补偿对图像块进行帧间预测细化。图9示出了根据特定实施例的用于对图像的块进行编码的方法的流程图。类似地,根据其任何变型的帧间预测细化S100在编码方法S300中实现。
根据第一变型,基于光流的边界平滑的运动补偿的至少一个实施例仅应用于亮度分量。根据第二变型,基于光流的边界平滑的运动补偿的至少一个实施例被应用于色度分量。
图10示出了根据另一特定实施例的用于使用基于光流的边界平滑的运动补偿来细化图像块的帧间预测的方法的流程图。对于如图4所示的每个块C,在第一步骤S111中,从存储器获得该块的运动信息、顶部邻近块的运动信息、左侧邻近块的运动信息。也就是说,至少检索当前块的运动矢量mvC、顶部块的运动矢量mvT和左侧块的运动矢量mvL。然后在步骤S112,新的逐像素运动矢量mv(i,j)被计算为3个运动矢量mvC、mvT和mvL的加权和,其中mv(i,j)=a(i,j)*mvC(i,j)+b(i,j)*mvT(i,j)+c(i,j)*mvL(i,j),其中相对权重a(i,j)、b(i,j)和C(i,j)响应于与邻近块的像素距离。然后,在步骤S113中,基于新运动矢量和当前块的运动矢量之间的差Δmv(i,j),为块的每个像素获得基于光流的细化,对于像素(i,j),通过Δmv(i,j)=mv(i,j)-mvC(i,j)计算该差。根据特定实施例,用于细化帧间预测的方法的不同步骤S11、S112和S113在子块上执行,因为在定义了运动场的特定示例中,运动信息对于块中的每个子块而言是不同的。有利地,块内的边界伪影因此被平滑。在下文中,描述了各种特征和实施例。
图11示出了根据另一特定实施例的示例子块运动场,该示例子块运动场被应用了用于使用基于光流的边界平滑的运动补偿来细化图像块的帧间预测的方法。根据该实施例,针对图像块的因果边界的边界子块获得图像块的细化帧间预测。图13示出了根据该特定实施例的基于光流的边界平滑的运动补偿方法的示例性流程图。对于CU C内的因果边界的每个子块(4x4),例如图11上的子块B0到B6,执行图13所示的整个处理。对所有预测(对单向预测为L0或L1,或对双向预测为两者)执行该处理。
-对于每个子块B0至B6,在步骤S111中,提取当前子块的当前mvC、顶部mvT和左侧mvL运动矢量。在下文中,公开了用于mv提取或检索的各种实施例。
-在步骤S112中,对于如例如在图12上以子块B0示出的当前子块B内的每个像素,新运动矢量mv(i,j)被计算为3个运动矢量mvC、mvT和mvL的加权和:mv(i,j)=a(i,j)*mvC(i,j)+b(i,j)*mvT(i,j)+c(i,j)*mvL(i,j)。在下文中,公开了用于获得加权因子的各种实施例。
-在步骤S113中,然后对子块的每个像素执行基于光流的细化。
图14示出了根据特定实施例的针对位置(i,j)处的像素的基于光流的边界平滑的运动补偿的流程图:
○计算子块的空间梯度gx(i,j)和gy(i,j)。梯度是通过将CU内因果边界的每个子块的运动补偿放大1个像素来计算的。根据用于计算梯度的一些变型:
■执行对块外像素的最近像素运动补偿,以有利地避免复杂的插值滤波器。
■如果当前子块不具有子块运动矢量(即,不是SbTMVP的仿射),则子块外部的右和下边界是从CU内部的邻近子块复制的。
○计算运动矢量差Δmv(i,j)=mv(i,j)-mvC(i,j)
○计算细化ΔI(i,j)=Δmv(i,j)_x*gx(i,j)+Δmv(i,j)_y*gy(i,j),其中I是当前预测图像,并且Δmv(i,j)_x和Δmv(i,j)_y是运动矢量差Δmv(i,j)的x和y分量
○细化预测是通过将经裁剪的细化与预测相加来获得的:I(i,j)←I(i,j)+clip(ΔI(i,j)).
■裁剪函数允许在大梯度或运动的情况下限制细化的校正。
通常,裁剪函数如下:
●Clip(x):如果x<-T则返回T,否则如果x>T则返回T,否则返回x。
●阈值T是固定的。对于10比特信号,典型值为8。
因此,使用基于光流的OMBC获得了细化帧间预测I。
图15示出了根据特定实施例的针对L0列表预测器的顶部邻居的邻近运动提取的流程图。本领域技术人员将容易地为其他邻近块推导对应的提取,例如为左侧邻居。在第一步骤中,如果存在运动矢量,则从列表L0中提取运动矢量。在运动矢量不存在的情况下,运动矢量mvT被设置为零值。如果运动矢量存在,则测试参考画面。在L0顶部块的参考画面和L0当前块的参考画面相同的情况下,从列表L0中针对顶部块提取的顶部块运动矢量mvT被存储,以用于在当前块的基于光流的OBMC中的进一步使用。在它们不同的情况下,运动矢量mvT被设置为零值。此外,列表L1的顶部和左侧邻居的运动矢量类似于列表L0的运动矢量。根据变型实施例,当mvT不存在时,运动矢量mvT不被设置为零,但是与缺失的运动矢量mvT相关联的权重b(i,j)被设置为零,从而导致在对应的顶部运动矢量的加权和中的权重贡献为零。
根据邻近运动矢量提取的变型实施例,如果邻近块的参考画面没有指向当前块的参考画面,则重新缩放运动矢量。图16示出了根据特定实施例的针对L0列表预测器的顶部邻居的替代邻近运动提取的示例。如前所述,在第一步骤中,如果运动矢量存在,则从列表L0中提取运动矢量。如果运动矢量存在,则测试参考画面。在L0顶部块的参考画面和L0当前块的参考画面相同的情况下,从列表L0中针对顶部块提取的顶部块运动矢量mvT被存储,以用于在当前块的基于光流的OBMC中的进一步使用。在它们不同的情况下,来自L0的运动矢量mvT被基于画面距离重新缩放以指向当前参考画面。实际上,重新缩放处理与标准自适应运动矢量预测AMVP处理中用于重新缩放运动矢量预测器的处理相同。在从列表L0中提取的运动矢量mvT不存在的情况下,运动矢量mvT,运动矢量mvT被设置为零值。
根据邻近运动矢量提取的又一变型实施例,如果运动矢量不存在于当前列表(在该示例中为L0)中,则另外从另一个列表(在该示例中为L1)中提取运动矢量。图17示出了根据特定实施例的针对L0列表预测器的顶部邻居的替代邻近运动提取的示例。如前所述,重新缩放处理与标准AMVP处理中用于重新缩放运动矢量预测器的处理相同。在第一步骤中,如果运动矢量存在,则从列表L0中提取运动矢量。如果运动矢量存在,则测试参考画面。在L0顶部块的参考画面和L0当前块的参考画面相同的情况下,从列表L0中针对顶部块提取的顶部块运动矢量mvT被存储,以用于在当前块的基于光流的OBMC中的进一步使用。在它们不同的情况下,来自L0的运动矢量mvT被基于画面距离重新缩放以指向当前参考画面。实际上,重新缩放处理与标准自适应运动矢量预测AMVP处理中用于重新缩放运动矢量预测器的处理相同。在从列表L0中提取的运动矢量mvT不存在的情况下,从列表L1中提取运动矢量mvT(如果存在的话)。如果从列表L1提取的运动矢量mvT存在,则测试参考画面。类似地,在L1顶部块的参考画面和L1当前块的参考画面相同的情况下,从列表L1中针对顶部块提取的顶部块运动矢量mvT被存储,以用于在当前块的基于光流的OBMC中的进一步使用。在参考画面不同的情况下,来自L1的运动矢量mvT被重新缩放以指向当前参考画面。如果从列表L1中提取的运动矢量mvT不存在,则运动矢量mvT被设置为零值。
图18示出了根据特定实施例的用于计算每个运动矢量的权重的方法的流程图。对于每个运动矢量,如果运动矢量不存在(如在用于运动信息提取的先前实施例中所述),则权重被设置为0,或者如果存在,则权重被设置为给定的权重(如下所述)。例如,在顶部运动矢量不存在的情况下,权重b’(i,j)被设置为零。类似地,在左侧运动矢量不存在的情况下,权重c’(i,j)被设置为零。除此之外,给定的权重a’(i,j)、b’(i,j)和c’(i,j)例如从LUT中检索或者基于像素到顶部或左侧邻近块的距离来计算。然后,在最后一步骤中,3个权重在被应用之前被归一化。可替代地,在计算运动矢量的加权和之后应用归一化。
图19示出了根据特定实施例的用于计算每个运动矢量的权重的方法。例如,在4×4子块中,图19示出了根据像素位置对每个运动矢量(左侧邻近运动矢量、顶部邻近运动矢量和当前块运动矢量)应用的默认权重(分别为左侧邻近运动矢量c’(i,j)、顶部邻近运动矢量b’(i,j)、当前邻近运动矢量a’(i,j))的示例。作为示例,权重为:
-深灰色,权重为0.5
-浅灰色,权重为0.25
-白色:权重为0
根据变型实施例,权重的LUT是从像素到所考虑的运动矢量的块的距离推导的。因此,权重是如图19的示例性实施例那样被预先计算并存储在默认权重的LUT中的,或者如下所述被在线计算,其中加权函数或参数W和K是自适应的。例如,对于顶部运动矢量,像素p(i,j)的权重由下式给出:
w(i,j)=W|1-1/K(i-i0)|如果i<i0+K
否则w(i,j)=0
其中i0是顶行的坐标,W是缩放因子,并且K是子块内平滑的长度。例如,通过取W=1,K=2,其给出:
w(i0,j)=1
w(i0+1,j)=1/2
w(i0+2,j)=0
w(i0+3,j)=0
可以使用从边界到中心的任何其他递减加权函数。
根据附加变型,在子块运动矢量的情况下(例如在仿射或sbTMVP的情况下出现),本原理以子块运动矢量进行应用,如下所述。图20示出了根据该特定实施例的基于光流的边界平滑的运动补偿方法的流程图。
根据第一变型,当所考虑的块具有子块运动场(即,每个子块的运动矢量潜在地不同)时,本原理被用于CU的每个子块。这对于其中运动场可能引入不连续性的sbTMVP CU特别有用。如图20所示,对于块C的任何子块(例如图11的16个子块),从存储器中检索当前子块、当前子块的顶部邻近子块和当前子块的左侧邻近子块的运动矢量。然后,对于当前子块的每个像素,从检索到的运动矢量的加权和中获得新运动矢量,并且应用光流来获得子块中的细化的帧间预测像素。针对因果边界子块B0-B6描述的任何变型实施例可以容易地针对该实施例推导。有利地,该实施例实现了内部块运动平滑。
根据第二变型,当非因果运动矢量可用时(例如,在如以上结合图20所述的全块处理中),通过不仅获取顶部和左侧邻近运动矢量,而且获取底部和右侧邻近运动矢量来应用本原理。该处理与之前相同,除了每个像素可以潜在地被表示为来自顶部、左侧、底部、右侧和当前子块的5个运动矢量的加权和。如前所述,相关联的权重是从像素到所考虑的边界的距离推导的。
根据第三变型,本原理与使用仿射生成的运动矢量来细化预测的PROF处理相兼容。为了同时使用PROF处理和这里描述的运动平滑,这2个处理可以被组合,因为它们使用相同的空间梯度。为了组合这些处理,仅改变运动矢量差,并且运动矢量差可以是来自PROF的运动矢量差和这里描述的运动矢量差的加权和。假设2个处理之间的权重是固定的(通常为0.5)。
根据另一实施例,本原理在图3的重构管线中实现。所描述的新工具例如被实现为:
-就在预测的运动补偿之后(即在MC和LIC之间),
-在预测已由诸如LIC的一些校正工具修改后(即LIC、BDOF、BCW或OBMC之后)。
根据变型实施例,本原理被自动地应用于所有CU,或者应用于遵守一些约束的CU,诸如:
-CU大小(表面或长度)大于阈值;
-针对CU对标志进行编解码,以指示该处理是否被激活。可以在其他级别(CTU、条带)设置标志;
-通过使用运动预测器的标志值,为某些模式(诸如合并模式)推断标志。
因此,根据变型实施例,响应于块的大小大于一值或响应于块的帧间预测模式,在块级或子块级启用图像块的帧间预测细化。有利地,启用不是发信号通知的,而是在解码器处从其他参数隐式推导的。前面的实施例是针对大小为4×4的块或子块描述的,然而,本实施例不限于4×4子块,并且任何子块大小都与本原理兼容。
根据变型实施例,通过在信令语法元素中插入能够标识对其应用帧间预测细化的块或子块的标志,在块级、子块级启用图像块的帧间预测细化。
根据变型实施例,通过在信令语法元素中插入能够标识对其应用帧间预测细化的图像的部分的标志,在CTU、条带或序列级别启用图像块的帧间预测细化。该标志是例如在SPS报头中发信号通知的。更一般地,使能对图像的至少一个区域进行帧间预测细化的至少一个高级语法元素是在序列参数集(SPS)中发信号通知的。
本申请描述了各种方面,包括工具、特征、实施例、模型、方法等。这些方面中的多个方面被具体地描述,并且至少为了示出各自特性而通常被以听起来可能是限制性的方式进行描述。然而,这是出于描述清楚的目的,而并不限制那些方面的应用或范围。事实上,所有不同的方面都可以被组合和互换以提供进一步的方面。此外,这些方面也可以与更早的文件中描述的各方面相结合和互换。
本申请中描述和预期的方面可以以多种不同的形式实现。以下图21、22和23提供了一些实施例,但是可以预期其他实施例,并且图21、22和23的讨论并不限制实现方式的广度。这些方面中的至少一个通常涉及视频编码和解码,并且至少一个其他方面通常涉及发送生成的或编码的比特流。这些和其他方面可以被实现为方法、装置、其上存储有用于根据所述方法中的任何一个来对视频数据进行编码或解码的指令的计算机可读存储介质、和/或其上存储有根据所述方法中的任何一个生成的比特流的计算机可读存储介质。
在本申请中,术语“重构”和“解码”可以互换使用,术语“像素”和“样本”可以互换使用,术语“图像”、“画面”和“帧”可以互换使用。通常,但不是必须的,将术语“重构”用于编码器侧,而将“解码”用于解码器侧。
本文描述了各种方法,并且这些方法中的每一种都包括用于实现所述方法的一个或多个步骤或动作。除非该方法的正确操作需要步骤或动作的特定顺序,否则特定步骤和/或动作的顺序和/或使用可以被修改或组合。
本申请中描述的各种方法和其他方面可以用于修改模块,例如,如图21和图22所示的视频编码器100和解码器200的运动估计和/或运动补偿模块(170、175、275)。此外,本方面不限于VVC或HEVC,并且可以应用于例如其他标准和推荐,无论是现有的还是未来开发的,以及任何这种标准和推荐(包括VVC和HEVC)的扩展。除非另有说明,或者技术上被排除,否则本申请中描述的各方面可以单独使用或者组合使用。
在本申请中使用了各种数值,例如,运动矢量的权重或块大小。特定值是为了示例的目的,并且所描述的方面不限于这些特定值。
图21示出了编码器100。预期了该编码器100的变型,但是为了清楚起见,下面描述了编码器100而未描述所有预期的变型。
在被编码之前,视频序列可以经过预编码处理(101),例如,对输入彩色画面应用颜色变换(例如,从RGB 4:4:4转换为YCbCr 4:2:0),或者执行输入画面分量的重新映射,以便获得对压缩更有弹性的信号分布(例如使用颜色分量之一的直方图均衡)。可将元数据与预处理相关联,并将元数据附加到比特流。
在编码器100中,由编码器元件对画面进行编码,如下所述。例如以CU为单位对要编码的画面进行分割(102)和处理。使用例如帧内或者帧间模式对每个单元进行编码。当以帧内模式对单元进行编码时,其执行帧内预测(160)。在帧间模式中,执行运动估计(175)和补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的哪一个用于对单元进行编码,并通过例如预测模式标志来指示该帧内/帧间决定。例如,通过从原始图像块中减去(110)预测块,来计算预测残差。
然后对预测残差进行变换(125)和量化(130)。对量化的变换系数、以及运动矢量和其他语法元素进行熵编解码(145)以输出比特流。编码器可以跳过变换,并对未变换的残差信号直接应用量化。编码器可以绕过变换和量化,即,直接对残差进行编解码,而不应用变换或量化处理。
编码器对编码的块进行解码,以为进一步的预测提供参考。对量化的变换系数进行逆量化(140)并逆变换(150)以解码预测残差。在组合(155)解码的预测残差和预测块的情况下,重构图像块。环内滤波器(165)被应用于重构的画面,以执行例如去块/SAO(样本自适应偏移)滤波,以减少编码伪影。滤波的图像存储在参考画面缓冲器(180)中。
图22示出了视频解码器200的框图。在解码器200中,由解码器元件对比特流进行解码,如下所述。视频解码器200通常执行与图21中描述的编码遍历相反(reciprocal)的解码遍历。编码器100通常还执行视频解码作为编码视频数据的一部分。
具体地,解码器的输入包括视频比特流,其可以由视频编码器100生成。首先对该比特流进行熵解码(230)以获得变换系数、运动矢量和其他编解码的信息。画面分割信息指示如何对画面进行分割。因此,解码器可以根据解码的画面分割信息来对画面进行划分(235)。对变换系数进行逆量化(240)和逆变换(250)以解码预测残差。在组合(255)解码的预测残差和预测块的情况下,重构图像块。可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)中获得(270)预测块。对重构的图像应用环内滤波器(265)。将滤波的图像存储在参考画面缓冲器(280)中。
解码的图像可以进一步经过后解码处理(285),例如逆颜色变换(例如,从YCbCr4:2:0转换为RGB 4:4:4)、或执行在预编码处理(101)中所执行的重新映射处理的逆的逆重新映射。后解码处理可以使用从预编码处理中推导并在比特流中发信号通知的元数据。
图23示出了其中实现了各个方面和实施例的系统的示例的框图。系统1000可以被实施为包括以下描述的各种组件的设备,并且被配置为执行本文档中描述的各方面中的一个或多个。这种设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频记录系统、连接的家用电器、以及服务器。系统1000的元件可以单独或组合地实施在单个集成电路(IC)、多个IC、和/或分立元件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件被分布在多个IC和/或分立元件上。在各种实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口来通信地耦接到一个或多个其他系统或其他电子设备。在各种实施例中,系统1000被配置为实现本文档中描述的各方面中的一个或多个。
系统1000包括至少一个处理器1010,其被配置为执行加载在其中的用于实现例如本文档中描述的各个方面的指令。处理器1010可以包括嵌入式存储器、输入输出接口、和本领域已知的各种其他电路。系统1000包括至少一个存储器1020(例如,易失性存储器件和/或非易失性存储设备)。系统1000包括存储设备1040,该存储设备1040可以包括非易失性存储器和/或易失性存储器,包括但不限于电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储装置、附加存储装置(包括可拆卸和不可拆卸存储装置)和/或网络可访问存储装置。
系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码的视频或解码的视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可以被包括在设备中以执行编码和/或解码功能的模块。如已知的,设备可以包括编码和解码模块中的一个或两者。此外,编码器/解码器模块1030可以被实现为系统1000的分离元件,或者可以作为本领域技术人员已知的硬件和软件的组合被合并在处理器1010内。
要加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各个方面的程序代码可以被存储在存储装置1040中,并随后加载到存储器1020上以供处理器1010运行。根据各种实施例,处理器1010、存储器1020、存储装置1040和编码器/解码器模块1030中的一个或多个可以在执行本文档中描述的处理期间存储各种项目中的一个或多个。这种存储的项目可以包括但不限于输入视频、解码视频或解码视频中的部分、比特流、矩阵、变量、以及来自等式、公式、运算和运算逻辑的处理的中间或最终结果。
在一些实施例中,处理器1010和/或编码器/解码器模块1030内部的存储器用于存储指令,并为编码或解码期间所需的处理提供工作存储器。然而,在其他实施例中,可以使用处理设备(例如,处理设备可以是处理器1010或编码器/解码器模块1030)外部的存储器用于这些功能中的一个或多个。外部存储器可以是存储器1020和/或存储装置1040,例如动态易失性存储器和/或非易失性闪存。在几个实施例中,使用外部非易失性闪存来存储例如电视的操作系统。在至少一个实施例中,诸如RAM的快速外部动态易失性存储器被用作用于视频编解码和解码操作的工作存储器,诸如用于MPEG-2(MPEG是指动态画面专家组,MPEG-2也被称为ISO/IEC 13818,并且13818-1也被称为H.222,并且13818-2也被称为H.262)、HEVC(HEVC是指高效视频编解码,也被称为H.265和MPEG-H第2部分)、或VVC(通用视频编解码,联合视频专家小组JVET正在开发的新标准)。
如框1130中所示,可以通过各种输入设备提供到系统1000的元件的输入。这种输入设备包括但不限于:(i)接收例如由广播者通过空中发送的射频(RF)信号的RF部分,(ii)组件(COMP)输入端(或COMP输入端集合),(iii)通用串行总线(USB)输入端,和/或(iv)高清晰度多媒体接口(HDMI)输入端。图23中未示出的其他示例包括复合视频。
在各种实施例中,框1130的输入设备具有相关联的相应的本领域已知的输入处理元件。例如,RF部分可以与适用于以下操作的元件相关联:(i)选择期望的频率(也称为选择信号,或者将信号频带限制到频带),(ii)下变换所选择的信号,(iii)再次频带限制到较窄的频带,以选择(例如)信号频带(在某些实施例中可以称为信道),(iv)解调下变换的和频带限制的信号,(v)执行纠错,以及(vi)解复用以选择期望的数据分组的流。各种实施例的RF部分包括用于执行这些功能的一个或多个元件,例如频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变换器、解调器、纠错器、和解复用器。RF部分可以包括执行这些功能中的各种的调谐器,这些功能包括例如将接收信号下变换至较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,RF部分及其相关联的输入处理元件接收通过有线(例如,电缆)介质发送的RF信号,并通过滤波、下变换和再次滤波至期望的频带来执行频率选择。各种实施例重新排列上述(和其他)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同的功能的其他元件。添加元件可以包括在现有元件之间插入元件,诸如,例如插入放大器和模数转换器。在各种实施例中,RF部分包括天线。
此外,USB和/或HDMI终端可以包括相应的接口处理器,以用于通过USB和/或HDMI连接将系统1000连接至其他电子设备。应当理解,可以根据需要在例如单独的输入处理IC内或处理器1010内实现输入处理的各个方面,例如里德-所罗门纠错。类似地,可以根据需要在单独的接口IC内或处理器1010内实现USB或HDMI接口处理的各方面。将解调的、纠错的和解复用的流提供至各种处理元件,包括例如处理器1010、和编码器/解码器1030,其与存储器和存储元件组合操作以根据需要处理数据流以在输出设备上呈现。
可以将系统1000的各种元件提供在集成外壳内。在集成外壳内,各种元件可以使用合适的连接布置1140(例如,本领域已知的内部总线,包括IC间(I2C)总线、布线、和印刷电路板)互连并在其间发送数据。
系统1000包括使能经由通信信道1060与其他设备通信的通信接口1050。通信接口1050可以包括但不限于被配置为通过通信信道1060发送和接收数据的收发器。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以在例如有线和/或无线介质内实现。
在各种实施例中,使用诸如Wi-Fi网络的无线网络(例如IEEE 802.11(IEEE指电气和电子工程师协会)),将数据流式传输或以其他方式提供至系统1000。这些实施例的Wi-Fi信号是通过适于Wi-Fi通信的通信信道1060和通信接口1050来接收的。这些实施例的通信信道1060通常被连接至提供对包括互联网的外部网络的接入的接入点或路由器,以用于允许流式传输应用和其他过顶通信(over-the-top communication)。其他实施例使用机顶盒向系统1000提供流式传输的数据,机顶盒通过输入框1130的HDMI连接传送数据。还有其他实施例使用输入框1130的RF连接向系统1000提供流式传输的数据。如上所述,各种实施例以非流式传输的方式提供数据。此外,各种实施例使用除Wi-Fi外的无线网络,例如蜂窝网络或蓝牙网络。
系统1000可以向各种输出设备提供输出信号,输出设备包括显示器1100、扬声器1110和其他外围设备1120。各种实施例的显示器1100包括例如触摸屏显示器、有机发光二极管(OLED)显示器、弯曲显示器、和/或可折叠显示器中的一个或多个。显示器1100可以用于电视机、平板计算机、膝上型计算机、蜂窝电话(移动电话)、或其他设备。显示器1100也可以与其他组件集成(例如,如在智能电话中),或者分离(例如,用于膝上型计算机的外部监视器)。在实施例的各种示例中,其他外围设备1120包括独立运行的数字视频盘(或数字多功能盘)(对于两个术语均为DVR)、盘播放器、立体声系统、和/或照明系统中的一个或多个。各种实施例使用基于系统1000的输出提供功能的一个或多个外围设备1120。例如,盘播放器执行播放系统1000的输出的功能。
在各种实施例中,使用诸如AV.Link、消费电子控制(CEC)、或在有或没有用户干预的情况下使能设备到设备控制的其他通信协议的信令来在系统1000和显示器1100、扬声器1110、或其他外围设备1120之间通信控制信号。输出设备可以通过相应的接口1070、1080和1090经由专用的连接通信地耦接至系统1000。可替代地,输出设备可以使用通信信道1060经由通信接口1050连接至系统1000。在电子设备(诸如,例如,电视机)中,显示器1100和扬声器1110可以与系统1000的其他组件集成在单个单元中。在各种实施例中,显示接口1070包括显示驱动器,诸如,例如,时序控制器(T Con)芯片。
显示器1100和扬声器1110可以可替代地与其他组件中的一个或多个分离,例如如果输入1130的RF部分是单独的机顶盒的部分。在显示器1100和扬声器1110是外部组件的各种实施例中,可以经由包括例如HDMI端口、USB端口、或COMP输出的专用输出连接来提供输出信号。
这些实施例可以通过由处理器1010实现的计算机软件、或通过硬件、或通过硬件和软件的组合来实现。作为非限制性示例,实施例可以由一个或多个集成电路来实现。作为非限制性示例,存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,诸如光存储设备、磁存储设备、基于半导体的存储设备、固定存储器、和可移除存储器。作为非限制性示例,处理器1010可以是适合于技术环境的任何类型,并且可以包括微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。
各种实现方式包括解码。本申请中使用的“解码”可以包含例如对接收的编码序列执行的全部或部分处理,以便产生适于显示的最终输出。在各种实施例中,这种处理包括通常由解码器执行的处理中的一个或多个,例如熵解码、逆量化、逆变换和差分解码。在各种实施例中,这种处理也包括或者可替代地包括由本申请中描述的各种实现方式的解码器执行的处理,例如,使用边界块的运动信息推导光流预测细化。
作为进一步的示例,在一个实施例中,“解码”仅指熵解码,在另一实施例中,“解码”仅指差分解码,而在另一实施例中,“解码”指熵解码和差分解码的组合。基于具体描述的上下文,短语“解码处理”旨在具体指操作的子集还是泛指更广泛的解码处理将会是清楚的,并且被认为是由本领域技术人员很好理解的。
各种实现方式涉及编码。以类似于上面关于“解码”的讨论的方式,本申请中使用的“编码”可以包含例如对输入视频序列执行的全部或部分处理,以便产生编码比特流。在各种实施例中,这种处理包括通常由编码器执行的处理中的一个或多个,例如分割、差分编码、变换、量化和熵编码。在各种实施例中,这种处理也包括或者可替代地包括由本申请中描述的各种实现方式的编码器执行的处理,例如,使用边界块的运动信息推导光流预测细化。
作为进一步的示例,在一个实施例中,“编码”仅指熵编码,在另一实施例中,“编码”仅指差分编码,而在另一实施例中,“编码”指差分编码和熵编码的组合。基于具体描述的上下文,短语“编码处理”旨在具体指操作的子集还是泛指更广泛的编码处理将会是清楚的,并且被认为是由本领域技术人员很好理解的。
注意,本文使用的语法元素是描述性术语,例如,用于在CU和/或CTU和/或条带级别发信号通知启用或禁用基于光流的重叠块运动细化的标志。因此,它们不排除对其他语法元素名称的使用。
当附图被呈现为流程图时,应当理解它也提供了对应装置的框图。类似地,当附图被呈现为框图时,应当理解它也提供了对应方法/处理的流程图。
本文描述的实现方式和各方面可以例如以方法或处理、装置、软件程序、数据流、或信号来实现。即使仅在单一形式的实现方式的上下文中进行讨论(例如,仅作为方法讨论),所讨论的特征的实现方式也可以其他形式(例如,装置或程序)来实现。装置可以例如以适当的硬件、软件和固件来实现。所述方法可以在例如处理器中实现,该处理器一般指处理设备,包括例如计算机、微处理器、集成电路、或可编程逻辑器件。处理器还包括通信设备,诸如,例如计算机、手机、便携式/个人数字助理(“PDA”)、和有助于终端用户之间的信息通信的其他设备。
对“一个实施例”或“实施例”或“一种实现方式”或“实现方式”、及其其他变型的引用意味着结合实施例所描述的特定特征、结构、特性等等被包括在至少一个实施例中。因此,贯穿本申请在各个地方出现的短语“在一个实施例中”或“在实施例中”或“在一种实现方式中”或“在实现方式中”、以及任何其他变型的出现并不一定全都指相同的实施例。
此外,本申请可涉及“确定”各条信息。确定信息可以包括例如估计信息、计算信息、预测信息、或从存储器中检索信息中的一个或多个。
此外,本申请可涉及“访问”各条信息。访问信息可以包括例如接收信息、检索信息(例如,从存储器中)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息、或估计信息中的一个或多个。
此外,本申请可涉及“接收”各条信息。与“访问”一样,接收意欲为广义的术语。接收信息可以包括例如访问信息、或检索信息(例如,从存储器中)中的一个或多个。此外,通常在诸如例如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息、或估计信息的操作期间,以一种方式或另一方式涉及“接收”。
应当理解,例如在“A/B”、“A和/或B”和“A和B中的至少一个”的情况下,对以下“/”、“和/或”和“…中的至少一个”中的任何一个的使用意欲包含仅选择第一个列出的选项(A),或仅选择第二个列出的选项(B),或选择两个选项(A和B)。作为另一示例,在“A、B、和/或C”和“A、B、和C中的至少一个”的情况下,这种措辞意欲包含仅选择第一个列出的选项(A),或仅选择第二个列出的选项(B),或仅选择第三个列出的选项(C),或仅选择第一和第二个列出的选项(A和B),或仅选择第一和第三个列出的选项(A和C),或仅选择第二和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。正如本领域和相关领域的普通技术人员所清楚的那样,这可以扩展到所列出的尽可能多的项目。
此外,如本文所使用的,词语“信号(signal)”尤其是指向对应解码器指示某物。例如,在某些实施例中,编码器发信号通知多个参数中的特定一个,以用于推导加权因子或者推导和/或推断启用基于光流的重叠块运动细化的标志。以这种方式,在实施例中,在编码器侧和解码器侧均使用相同的参数。因此,例如,编码器可以向解码器发送(显式信令)特定参数,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其他参数,则可以使用信令而不发送(隐式信令)来简单地允许解码器知道并选择特定参数。通过避免任何实际功能的传输,在各种实施例中实现了比特节省。应当理解,信令可以以多种方式完成。例如,在各种实施例中,一个或多个语法元素、标志等被用于向对应的解码器发信号通知信息。虽然前面提到了词语“信号”的动词形式,但是词语“信号”在本文也可以用作名词。
对于本领域普通技术人员来说将显而易见的是,各实现方式可以产生各种信号,这些信号被格式化以携带可被例如存储或发送的信息。该信息可以包括,例如用于执行方法的指令、或由所述实现方式中的一种所产生的数据。例如,信号可以被格式化以携带所述实施例的比特流。这种信号可以被格式化为,例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括,例如对数据流进行编码并用编码的数据流来调制载波。信号携带的信息可以是,例如模拟或数字信息。如已知的,可以通过各种不同的有线或无线链路来发送信号。可将信号存储在处理器可读介质上。
我们描述了多个实施例。这些实施例的特征可以跨各种权利要求类别和类型单独或以任何组合的方式提供。此外,实施例可以跨各种权利要求类别和类型单独地或者以任何组合的方式包括以下特征、设备或方面中的一个或多个:
●修改在解码器和/或编码器中应用的帧间预测处理。
●在解码器和/或编码器中使用边界块的运动信息推导光流预测细化。
●在解码器和/或编码器中,从当前块的运动矢量、顶部邻近块的运动矢量、左侧邻近块的运动矢量以及运动矢量加权因子,确定在基于光流的重叠块运动细化中使用的细化运动矢量。
●在解码器和/或编码器中,推导在基于光流的重叠块运动细化中使用的运动矢量加权因子。
●在解码器和/或编码器中启用基于光流的重叠块运动细化。
●在信令中插入语法元素,该语法元素使得解码器能够标识要在帧间预测中使用的基于光流的重叠块运动细化。
●在解码器和/或编码器中在CU、子块(4x4)或更大的块(例如16x16)级别启用基于光流的重叠块运动细化。
●在信令中插入语法元素,该语法元素使得解码器能够标识对其应用基于光流的重叠块运动细化的CU、子块或块。
●基于这些语法元素,选择基于光流的重叠块运动细化以应用于解码器。
●包括所描述的语法元素中的一个或多个或其变型的比特流或信号。
●包括传达根据所描述的实施例中的任何一个所生成的信息的语法的比特流或信号。
●创建和/或发送和/或接收和/或解码包括所描述的语法元素中的一个或多个或其变型的比特流或信号。
●根据所描述的实施例中的任何一个创建和/或发送和/或接收和/或解码。
●根据所描述的实施例中的任何一个的方法、处理、装置、存储指令的介质、存储数据的介质、或信号。
●TV、机顶盒、手机、平板计算机或其他电子设备,其执行根据所描述的实施例中的任何一个的基于光流的重叠块运动细化。
●TV、机顶盒、手机、平板计算机或其他电子设备,其执行根据所描述的实施例中的任何一个的基于光流的重叠块运动细化,并显示(例如,使用监视器、屏幕或其他类型的显示器)所得到的图像。
●TV、机顶盒、手机、平板计算机或其他电子设备,其选择(例如,使用调谐器)频道以接收包括编码图像的信号,并执行根据所描述的实施例中的任何一个的基于光流的重叠块运动细化。
●TV、机顶盒、手机、平板计算机或其他电子设备,其通过空中接收(例如使用天线)包括编码图像的信号,和根据所描述的实施例中的任何一个的基于光流的重叠块运动细化。

Claims (15)

1.一种用于对图像的块进行解码的方法,包括使用光流基于边界平滑的运动补偿来执行图像块的帧间预测细化(S100)。
2.一种用于对图像的块进行编码的方法,包括使用光流基于边界平滑的运动补偿来执行图像块的帧间预测细化(S100)。
3.一种用于对图像的块进行解码的装置,包括一个或多个处理器,其中所述一个或多个处理器被配置为使用光流基于边界平滑的运动补偿来执行图像块的帧间预测细化(S100)。
4.一种用于对图像的块进行编码的装置,包括一个或多个处理器,其中所述一个或多个处理器被配置为使用光流基于边界平滑的运动补偿来执行图像块的帧间预测细化(S100)。
5.根据权利要求1或2所述的方法,或根据权利要求3或4所述的装置,其中,所述光流基于块的运动信息、顶部邻近块的运动信息、左侧邻近块的运动信息、以及运动信息加权因子。
6.根据权利要求1、2和5中任一项所述的方法,或权利要求3-5中任一项所述的装置,所述图像块的所述帧间预测细化包括:
-获得(S111)所述块的运动信息、所述顶部邻近块的运动信息、所述左侧邻近块的运动信息;
-使用运动信息加权因子,从所述块的运动信息、所述顶部邻近块的运动信息和所述左侧邻近块的运动信息的加权和来获得(S112)所述块的新运动信息;
-通过基于所述块的所述新运动信息确定光流,获得(S113)所述图像块的细化帧间预测。
7.根据权利要求1、2和5-6中任一项所述的方法,或权利要求3-6中任一项所述的装置,其中针对所述图像块的因果边界的边界子块获得所述图像块的所述细化帧间预测。
8.根据权利要求1、2和5-6中任一项所述的方法,或权利要求3-6中任一项所述的装置,其中,所述图像块具有子块运动场,并且对所述图像块的任何子块执行所述帧间预测细化。
9.根据权利要求1、2和5-8中任一项所述的方法,或权利要求3-8中任一项所述的装置,其中,底部邻近块的运动信息和右侧邻近块的运动信息中的至少一个被进一步用于所述图像块的所述帧间预测细化。
10.根据权利要求1、2和5-9中任一项所述的方法,或权利要求3-9中任一项所述的装置,其中,所述图像块具有子块运动场,并且其中所述图像块的所述帧间预测细化使用光流基于边界平滑的运动补偿并进一步基于子块运动场。
11.根据权利要求1、2和5-10中任一项所述的方法,或权利要求3-10中任一项所述的装置,其中,响应于块的大小大于一值或响应于所述块的帧间预测模式,在块级或子块级启用所述图像块的所述帧间预测细化。
12.根据权利要求1、2和5-10中任一项所述的方法,或权利要求3-10中任一项所述的装置,其中,通过在信令语法元素中插入能够标识对其应用所述帧间预测细化的块或子块的标志,在块级、子块级启用所述图像块的所述帧间预测细化。
13.根据权利要求5-6中任一项所述的方法,或权利要求5-6中任一项所述的装置,其中,运动信息加权因子从以下至少一个推导:运动信息的可用性、存储的加权因子的集合、以及要细化的帧间预测和邻近块的运动信息之间的距离。
14.一种计算机程序产品,包括当由一个或多个处理器运行时用于执行权利要求1、2和5-13中任一项所述的方法的计算指令。
15.一种包括图像的编码块的信号,所述编码块通过使用光流基于边界平滑的运动补偿来执行所述图像块的帧间预测细化而形成。
CN202080038228.3A 2019-04-18 2020-04-14 用于利用光流基于边界平滑的运动补偿进行视频编码和解码的方法和装置 Pending CN113875253A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305508 2019-04-18
EP19305508.4 2019-04-18
PCT/US2020/028074 WO2020214564A1 (en) 2019-04-18 2020-04-14 Method and apparatus for video encoding and decoding with optical flow based on boundary smoothed motion compensation

Publications (1)

Publication Number Publication Date
CN113875253A true CN113875253A (zh) 2021-12-31

Family

ID=67437263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080038228.3A Pending CN113875253A (zh) 2019-04-18 2020-04-14 用于利用光流基于边界平滑的运动补偿进行视频编码和解码的方法和装置

Country Status (6)

Country Link
US (1) US11991389B2 (zh)
EP (1) EP3957073A1 (zh)
JP (1) JP7543301B2 (zh)
CN (1) CN113875253A (zh)
MX (1) MX2021012698A (zh)
WO (1) WO2020214564A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12256082B2 (en) 2019-06-03 2025-03-18 Interdigital Vc Holdings, Inc. Block boundary prediction refinement with optical flow

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11736720B2 (en) * 2019-09-03 2023-08-22 Tencent America LLC Motion vector refinement methods for video encoding
CN116134817A (zh) * 2020-06-22 2023-05-16 华为技术有限公司 使用稀疏光流表示的运动补偿
US11792438B2 (en) * 2020-10-02 2023-10-17 Lemon Inc. Using neural network filtering in video coding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523964B2 (en) * 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
TW201902223A (zh) 2017-03-24 2019-01-01 聯發科技股份有限公司 視頻編碼中重疊分塊運動補償的雙向光流的方法和裝置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12256082B2 (en) 2019-06-03 2025-03-18 Interdigital Vc Holdings, Inc. Block boundary prediction refinement with optical flow

Also Published As

Publication number Publication date
JP7543301B2 (ja) 2024-09-02
EP3957073A1 (en) 2022-02-23
JP2022529104A (ja) 2022-06-17
US11991389B2 (en) 2024-05-21
US20220201328A1 (en) 2022-06-23
WO2020214564A1 (en) 2020-10-22
MX2021012698A (es) 2021-11-12

Similar Documents

Publication Publication Date Title
US20230345043A1 (en) Method and apparatus for video encoding and decoding based on a linear model responsive to neighboring samples
US12212745B2 (en) Method and apparatus for deblocking an image
US20220159277A1 (en) Method and apparatus for video encoding and decoding with subblock based local illumination compensation
CN117597933A (zh) 空间局部光照补偿
US11991389B2 (en) Method and apparatus for video encoding and decoding with optical flow based on boundary smoothed motion compensation
CN112889287A (zh) 广义双向预测和加权预测
WO2020061147A1 (en) Method and apparatus for video encoding and decoding using bi-prediction
CN113330747A (zh) 利用适应于加权预测的双向光流进行视频编码和解码的方法和装置
KR20220123666A (ko) 가중-예측 파라미터들의 추정
CN114930819A (zh) 三角形合并模式中的子块合并候选
CN114097235A (zh) 用于仿射和sbtmvp运动矢量预测模式的hmvc
US12167001B2 (en) Local illumination compensation flag inheritance
JP2025041843A (ja) 画像をデブロッキングするための方法及び装置

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