CN112385230A - 通过使用仿射预测处理视频信号的方法和设备 - Google Patents

通过使用仿射预测处理视频信号的方法和设备 Download PDF

Info

Publication number
CN112385230A
CN112385230A CN201980045121.9A CN201980045121A CN112385230A CN 112385230 A CN112385230 A CN 112385230A CN 201980045121 A CN201980045121 A CN 201980045121A CN 112385230 A CN112385230 A CN 112385230A
Authority
CN
China
Prior art keywords
motion vector
affine
prediction
block
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980045121.9A
Other languages
English (en)
Inventor
金昇焕
S·帕鲁利
李在镐
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.)
LG Electronics Inc
Original Assignee
LG Electronics 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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN112385230A publication Critical patent/CN112385230A/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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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

Landscapes

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

Abstract

公开了一种用于处理视频信号的方法及其设备。具体地,一种通过利用仿射预测处理视频信号的方法可以包括以下步骤:检查仿射预测是否被应用于当前块;当确认仿射预测被应用于当前块时,获取指示用于仿射预测的运动矢量差的分辨率的至少一个语法元素;基于所述至少一个语法元素,推导当前块的控制点运动矢量;基于控制点运动矢量,推导当前块中包括的多个子块中的每一个的运动矢量;以及使用每个子块的运动矢量生成当前块的预测样本。

Description

通过使用仿射预测处理视频信号的方法和设备
技术领域
本公开涉及一种用于使用仿射预测(affine prediction)来处理视频信号的方法和设备,并且更具体地,涉及一种通过控制在仿射预测中使用的仿射运动矢量(affinemotion vector)的分辨率(resolution)来处理视频信号的方法和设备。
背景技术
压缩编码是指用于通过通信线路发送数字化信息的一系列信号处理技术,或用于以适合于存储介质的形式存储信息的技术。包括图片、图像、音频等的介质可以是用于压缩编码的目标,并且特别地,用于对图片执行压缩编码的技术被称为视频图像压缩。
一般认为下一代视频内容具有高空间分辨率、高帧速率和场景表示的高维度的特性。为了处理这样的内容,将导致存储器存储容量、存储器访问速率和处理能力的急剧增加。
因此,需要设计一种用于高效地处理下一代视频内容的编码工具。
发明内容
技术问题
本公开的目的是提出一种控制在仿射预测中使用的仿射运动矢量的分辨率的方法,以提高仿射预测的精确度。
此外,本公开的目的是提出在对MVD执行熵编码时依赖于运动模型的唯一统计的熵编码方法而不是恒定熵编码方法。
本公开中要实现的技术目的不限于上述技术目的,并且根据以下描述本公开所属领域的普通技术人员可以清楚地理解上面未描述的其它技术目的。
技术方案
在本公开的一方面,一种使用仿射预测来处理视频信号的方法可以包括以下步骤:检查仿射预测是否被应用于当前块;如果作为检查的结果应用仿射预测,则获得指示在仿射预测中使用的运动矢量差的分辨率的至少一个语法元素;基于所述至少一个语法元素,推导当前块的控制点运动矢量;基于控制点运动矢量,推导当前块中包括的多个子块中的每一个的运动矢量;以及使用每个子块的运动矢量生成当前块的预测样本。
优选地,获得至少一个语法元素的步骤可以包括以下步骤:获得指示运动矢量差的分辨率是否是预设的默认分辨率的第一语法元素;以及当运动矢量差的分辨率不是默认分辨率时,获得指示除默认分辨率之外的各项剩余分辨率当中的运动矢量差的分辨率的第二语法元素。
优选地,默认分辨率可以被预先设置为1/4像素精度。
优选地,各项剩余分辨率可以包括整数像素精度、4像素精度、1/8像素精度或1/16像素精度中的至少一种精度。
优选地,推导控制点运动矢量的步骤可以包括以下步骤:使用至少一个语法元素来确定运动矢量差的分辨率;以及基于运动矢量差的分辨率获得运动矢量差。
优选地,获得运动矢量差的步骤可以包括以下步骤:获得指示运动矢量差是否大于0的标志;以及当运动矢量差大于0时,获得指示运动矢量差是否大于预定义的特定值的标志。
优选地,当运动矢量差大于0并且小于或等于预定义的特定值时,可以使用阶数为1的指数Golomb码对运动矢量差进行二进制化。当运动矢量差大于预定义的特定值时,可以使用截断二进制化方法对运动矢量差进行二进制化。
在本公开的另一方面,一种用于使用仿射预测来处理视频信号的设备,该设备可以包括:仿射预测模式识别单元,其被配置为检查仿射预测是否被应用于当前块;语法元素获取单元,其被配置为如果作为检查的结果应用仿射预测,则获得指示在仿射预测中使用的运动矢量差的分辨率的至少一个语法元素;控制点运动矢量推导单元,其被配置为基于所述至少一个语法元素来推导当前块的控制点运动矢量;子块运动矢量推导单元,其被配置为基于控制点运动矢量来推导当前块中包括的多个子块中的每一个的运动矢量;以及预测样本生成单元,其被配置为使用每个子块的运动矢量来生成当前块的预测样本。
优选地,语法元素获取单元可以被配置为获得指示运动矢量差的分辨率是否是预设的默认分辨率的第一语法元素,并且当运动矢量差的分辨率不是默认分辨率时,获得指示除默认分辨率之外的各项剩余分辨率当中的运动矢量差的分辨率的第二语法元素。
优选地,默认分辨率可以被预先设置为1/4像素精度。
优选地,各项剩余分辨率可以包括整数像素精度、4像素精度、1/8像素精度或1/16像素精度中的至少一种精度。
优选地,控制点运动矢量推导单元可以被配置为使用所述至少一个语法元素来确定运动矢量差的分辨率,并且基于运动矢量差的分辨率来获得运动矢量差。
优选地,控制点运动矢量推导单元可以被配置为获得指示运动矢量差是否大于0的标志,并且当运动矢量差大于0时,获得指示运动矢量差是否大于预定义的特定值的标志。
优选地,当运动矢量差大于0且小于或等于预定义的特定值时,可以使用阶数为1的指数Golomb码对运动矢量差进行二进制化。当运动矢量差大于预定义的特定值时,可以使用截断二进制化方法对运动矢量差进行二进制化。
有益效果
根据本公开的一个实施方式,可以通过控制在仿射预测中使用的控制点的运动矢量精度来提高仿射运动预测的精确度并且可以提高压缩效率。
此外,根据本公开的一个实施方式,可以通过针对每个经分区的MVD区域自适应地设置二进制化方法来提高编码效率和压缩性能。
在本公开中可获得的效果不限于上述效果,并且本公开所属领域的普通技术人员可以根据以下描述清楚地理解以上未描述的其它技术效果。
附图说明
为了帮助理解本公开,作为详细描述的一部分包括的附图提供了本公开的实施方式,并且与详细描述一起描述了本公开的技术特征。
图1是作为应用了本公开的实施方式的其中执行视频/图像信号的编码的编码设备的示意性框图。
图2是作为应用了本公开的实施方式的其中执行视频/图像信号的解码的解码设备的示意性框图。
图3是示出可以应用本公开的多类型树结构的示例的图。
图4是示出作为可以应用本公开的实施方式的具有嵌套的多类型树结构的四叉树的分区信息的信令机制的图。
图5是示出作为可以应用本公开的实施方式的基于四叉树和嵌套的多类型树结构将CTU分割为多个CU的方法的图。
图6是示出作为可以应用本公开的实施方式的用于限制三叉树分割的方法的图。
图7是示出作为可以应用本公开的实施方式的在二叉树分区和三叉树分区中可能出现的冗余分区模式的图。
图8和图9是示出根据本公开的实施方式的基于帧间预测的视频/图像编码方法和根据本公开的实施方式的编码设备中的帧间预测单元的图。
图10和图11是示出根据本公开的实施方式的基于帧间预测的视频/图像解码方法和根据本公开的实施方式的解码设备中的帧间预测单元的图。
图12是用于描述作为应用了本公开的实施方式的在合并模式或跳过模式中使用的相邻块的图。
图13是示出根据应用了本公开的实施方式的用于配置合并候选列表的方法的流程图。
图14是示出根据应用了本公开的实施方式的用于配置合并候选列表的方法的流程图。
图15示出了根据本公开的一个实施方式的运动模型的示例。
图16示出了根据本公开的一个实施方式的用于仿射运动预测的控制点运动矢量的示例。
图17示出了已经应用根据本公开的一个实施方式的仿射运动预测的针对块的每个子块的运动矢量的示例。
图18示出了根据本公开的一个实施方式的在仿射合并模式下用于仿射运动预测的相邻块的示例。
图19示出了其中使用已经应用了根据本公开的实施方式的仿射运动预测的相邻块对其执行仿射运动预测的块的示例。
图20是用于描述根据本公开的一个实施方式的使用***仿射编码块生成合并候选列表的方法的图。
图21和图22是用于描述根据本公开的一个实施方式的使用由仿射预测编码的相邻块来配置仿射合并候选列表的方法的图。
图23示出了根据本公开的一个实施方式的在仿射帧间模式下用于仿射运动预测的相邻块的示例。
图24示出了根据本公开的一个实施方式的在仿射帧间模式下用于仿射运动预测的相邻块的示例。
图25和图26是示出根据本公开的一个实施方式的在仿射帧间模式下使用相邻块的运动信息来推导运动矢量候选的方法的图。
图27示出了根据本公开的一个实施方式的以子块为单位推导仿射运动矢量场的方法的示例。
图28示出了在已经应用了根据本公开的实施方式的仿射运动模型的帧间预测中生成预测块和运动矢量的方法。
图29是示出根据本公开的一个实施方式的基于控制点的运动矢量执行运动补偿的方法的图。
图30是示出根据本公开的一个实施方式的基于非规则块中的控制点的运动矢量来执行运动补偿的方法的图。
图31是示出根据本公开的一个实施方式的基于非规则块中的控制点的运动矢量来执行运动补偿的方法的图。
图32至图38是示出根据本公开的一个实施方式的基于非规则块中的控制点的运动矢量来执行运动补偿的方法的示图。
图39示出了根据本公开的一个实施方式的用于推导运动矢量的整体编码结构。
图40示出了根据本公开的一个实施方式的MVD编码结构的示例。
图41示出了根据本公开的一个实施方式的MVD编码结构的示例。
图42示出了根据本公开的一个实施方式的MVD编码结构的示例。
图43示出了根据本公开的一个实施方式的MVD编码结构的示例。
图44是示出根据应用了本公开的一个实施方式的推导仿射运动矢量差信息的方法的图。
图45是示出根据应用了本公开的一个实施方式的运动矢量差的编码结构的图。
图46是示出根据本公开的一个实施方式的基于精度信息推导仿射运动矢量的方法的图。
图47是示出根据应用了本公开的一个实施方式的运动矢量差的编码结构的图。
图48是示出根据应用了本公开的一个实施方式的基于仿射预测生成帧间预测块的方法的流程图。
图49是示出根据应用了本公开的一个实施方式的基于仿射预测的帧间预测设备的图。
图50示出应用了本公开的视频编码***。
图51是应用了本公开的一个实施方式,并且示出了内容流***的结构。
具体实施方式
在下文中,参照附图详细描述本公开的优选实施方式。将与附图一起公开的详细描述旨在描述本公开的一些实施方式,并且并非旨在描述本公开的唯一实施方式。以下详细描述包括更多细节以便于提供对本公开的全面理解。然而,本领域技术人员将理解,可以在没有这种更多细节的情况下实现本公开。
在一些情况下,为了避免本公开的概念变得模糊,已知的结构和装置被省略或可能基于每个结构和装置的核心功能以框图的形式示出。
尽管本公开中使用的大多数术语是从本领域中广泛使用的通用术语中选择的,但是申请人已经任意选择了一些术语,并且根据需要在以下描述中详细解释了它们的含义。因此,应当以术语的预期含义而不是其简单名称或含义来理解本公开。
已经提供了以下描述中使用的特定术语以帮助理解本公开,并且可以在不脱离本公开的技术精神的情况下以各种形式改变这些特定术语的使用。例如,可以在每个编码过程中适当地替换和解释信号、数据、样本、图片、帧和块等。
在本说明书中,“处理单元”是指其中执行诸如预测、变换和/或量化的编码/解码处理的单元。在下文中,为了便于描述,处理单元可以被称为“处理块”或“块”。
此外,处理单元可以解释为包括针对亮度分量的单元和针对色度分量的单元的含义。例如,处理单元可以与编码树单元(CTU)、编码单元(CU)、预测单元(PU)或变换单元(TU)相对应。
另外,处理单元可以解释为针对亮度分量的单元或针对色度分量的单元。例如,处理单元可以与针对亮度分量的编码树块(CTB)、编码块(CB)、预测单元PU或变换块(TB)相对应。此外,处理单元可以与针对色度分量的CTB、CB、PU或TB相对应。此外,处理单元不限于此,并且可以解释为包括针对亮度分量的单元和针对色度分量的单元的含义。
另外,处理单元不必限于方形块,并且可以被配置为具有三个或更多个顶点的多边形形状。
此外,在本说明书中,像素被称为样本。另外,使用样本可以意味着使用像素值等。
图1是作为应用了本公开的实施方式的对视频/图像信号进行编码的编码设备的示意性框图。
参照图1,编码设备100可以被配置为包括图像划分器110、减法器115、变换器120、量化器130、去量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测器180、帧内预测器185和熵编码器190。帧间预测器180和帧内预测器185可以统称为预测器。换句话说,预测器可以包括帧间预测器180和帧内预测器185。变换器120、量化器130、去量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。在一个实施方式中,图像划分器110、减法器115、变换器120、量化器130、去量化器140、逆变换器150、加法器155、滤波器160、帧间预测器180、帧内预测器185和熵编码器190可以被配置为一个硬件组件(例如,编码器或处理器)。此外,存储器170可以包括解码图片缓冲器(DPB),并且可以由数字存储介质来实现。
图像划分器110可以将输入到编码设备100的输入图像(或图片或帧)划分为一个或更多个处理单元。例如,处理单元可以被称为编码单元(CU)。在这种情况下,可以基于四叉树二叉树(QTBT)结构从编码树单元(CTU)或最大编码单元(LCU)递归地分割编码单元。例如,基于四叉树结构和/或二叉树结构,一个编码单元可以被分割为深度更深的多个编码单元。在这种情况下,例如,可以首先应用四叉树结构,并且然后可以应用二叉树结构。另选地,可以首先应用二叉树结构。可以基于不再被分割的最终编码单元来执行根据本公开的编码过程。在这种情况下,最大编码单元可以根据图像特性基于编码效率直接用作最终编码单元,或者如果需要,可以将编码单元递归地分割为更深的编码单元。因此,具有最优大小的编码单元可以用作最终编码单元。在这种情况下,编码过程可以包括诸如稍后将描述的预测、变换或重构的过程。针对另一个示例,处理单元还可以包括预测单元(PU)或变换单元(TU)。在这种情况下,可以从每个最终编码单元对预测单元和变换单元中的每一个进行划分或分区。预测单元可以是用于样本预测的单元,并且变换单元可以是从中推导变换系数的单元和/或其中从变换系数推导残差信号的单元。
根据情况,单元可以与块或区域互换使用。在一般情况下,M×N块可以指示配置有M列和N行的一组样本或一组变换系数。通常,样本可以指示像素或像素的值,并且可以仅指示亮度分量的像素/像素值或仅指示色度分量的像素/像素值。在样本中,一个图片(或图像)可以用作与像素或画素(pel)相对应的术语。
编码设备100可以通过从输入图像信号(原始块或原始样本阵列)中减去帧间预测器180或帧内预测器185输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。所生成的残差信号被发送到变换器120。在这种情况下,如图所示,编码设备100内的其中从输入图像信号(原始块或原始样本阵列)减去预测信号(预测块或预测样本阵列)的单元可以被称为减法器115。预测器可以对处理目标块(在下文中称为当前块)执行预测,并且可以生成包括针对当前块的预测样本的预测块。预测器可以确定在当前块或CU单元中是应用帧内预测还是应用帧间预测。预测器可以生成诸如稍后将在对每个预测模式的描述中描述的预测模式信息的关于预测的各项信息,并且可以将该信息发送到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且可以以比特流的形式输出。
帧内预测器185可以参照当前图片内的样本来预测当前块。所参考的样本的位置可以根据预测模式与当前块相邻或可以与当前块间隔开。在帧内预测中,预测模式可以包括多个非角度模式和多个角度模式。非角度模式例如可以包括DC模式和平面模式。例如,根据预测方向的精细程度,角度模式可以包括33个角度预测模式或65个角度预测模式。在这种情况下,例如,根据配置,可以使用多于或少于33个角度预测模式或65个角度预测模式的角度预测模式。帧内预测器185可以使用应用于相邻块的预测模式来确定应用于当前块的预测模式。
帧间预测器180可以基于在参考图片上由运动矢量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息的量,基于相邻块与当前块之间的运动信息的相关性,运动信息可以被预测为块、子块或样本单元。运动信息可以包括运动矢量和参考图片索引。运动信息还可包括帧间预测方向(L0预测、L1预测、Bi预测)信息。在帧间预测的情况下,相邻块可以包括当前图片内的空间相邻块和参考图片内的时间相邻块。包括参考块的参考图片和包括时间相邻块的参考图片可以相同或不同。时间相邻块可以被称为以下名称:并置参考块或并置CU(colCU)。包括时间相邻块的参考图片可以被称为并置图片(colPic)。例如,帧间预测器180可以基于相邻块来构造运动信息候选列表(motion information candidate list),并且可以生成指示哪个候选用于推导当前块的运动矢量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器180可以使用相邻块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可能不会发送残差信号。在运动矢量预测(motion vector prediction,MVP)模式的情况下,可以将相邻块的运动矢量用作运动矢量预测值(motion vector predictor)。当前块的运动矢量可以通过发信号通知运动矢量差来指示。
通过帧间预测器180或帧内预测器185生成的预测信号可以用于生成重构信号或残差信号。
变换器120可以通过将变换方案应用于残差信号来生成变换系数(transformcoefficient)。例如,变换方案可以包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loève变换(KLT)、基于图形的变换(GBT)或有条件的非线性变换(CNT)中的至少一个。在这种情况下,GBT表示如果将像素之间的关系信息表示为图形则从该图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而获得的变换。此外,可以将变换处理应用于具有相同大小的方形的像素块,或者可以应用于具有可变大小而非方形的块。
量化器130可以量化变换系数,并将其发送到熵编码器190。熵编码器190可以对经量化的信号(关于量化变换系数的信息)进行编码并且将其以比特流形式输出。关于量化变换系数的信息可以称为残差信息。量化器130可以基于系数扫描顺序(coefficient scansequence)以一维矢量形式重新布置块形式的量化变换系数,并且可以基于一维矢量形式的量化变换系数来生成关于量化变换系数的信息。熵编码器190可以执行诸如指数Golomb、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的各种编码方法。除了量化变换系数之外,熵编码器190还可以一起或另外对视频/图像重构所必需的信息(例如,语法元素的值)进行编码。编码信息(例如,编码的视频/图像信息)可以以比特流的形式以网络抽象层(NAL)单元为单位被发送或存储。比特流可以通过网络发送或者可以存储在数字存储介质中。在这种情况下,网络可以包括广播网络和/或通信网络。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD的各种存储介质。可以将发送由熵编码器190输出的信号的发送器(未示出)和/或用于存储信号的存储器(未示出)配置为编码设备100的内部/外部元件,或者发送器可以是熵编码器190的元件。
由量化器130输出的量化变换系数可以用于生成预测信号。例如,可以通过经由环路(loop)内的去量化器140和逆变换器150对量化变换系数应用去量化和逆变换来重构残差信号。加法器155可以将经重构的残差信号与由帧间预测器180或帧内预测器185输出的预测信号相加,从而可以生成重构信号(重构图像、重构块或重构样本阵列)。如果像已应用跳过模式的情况那样没有针对处理目标块的残差,则可以将预测块用作重构块。加法器155可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前图片内的下一处理目标块的帧内预测,并且可以通过滤波而用于下一图片的帧间预测,这将在后面进行描述。
滤波器160可以通过将滤波应用于重构信号来提高主观/客观图片质量。例如,滤波器160可以通过将各种滤波方法应用于重构图片来生成经修改的重构图片。经修改的重构图片可以存储在存储器170中,更具体地,存储在存储器170的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环路滤波和双边滤波。滤波器160可以生成用于滤波的各项信息(如稍后将在对每种滤波方法的描述中所述),并且可以将它们发送到熵编码器190。滤波信息可以由熵编码器190编码并且以比特流形式输出。
发送到存储器170的经修改的重构图片可以用作帧间预测器180中的参考图片。如果应用帧间预测,则编码设备可以避免编码设备100和解码设备中的预测失配,并且可以提高编码效率。
存储器170的DPB可以存储经修改的重构图片以将其用作帧间预测器180中的参考图片。存储器170可以存储其中推导(或编码)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被转发到帧间预测器180,以用作空间相邻块的运动信息或时间相邻块的运动信息。存储器170可以存储当前图片中的重构块的重构样本,并将其转发到帧内预测器185。
图2是应用本公开的实施方式,并且是用于对视频/图像信号进行解码的解码设备的示意性框图。
参照图2,解码设备200可以被配置为包括熵解码器210、去量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测器260和帧内预测器265。帧间预测器260和帧内预测器265可以统称为预测器。也就是说,预测器可以包括帧间预测器180和帧内预测器185。去量化器220和逆变换器230可以统称为残差处理器。也就是说,残差处理器可以包括去量化器220和逆变换器230。熵解码器210、去量化器220、逆变换器230、加法器235、滤波器240、帧间预测器260和帧内预测器265可以根据一个实施方式被配置为一个硬件组件(例如,解码器或处理器)。此外,存储器250可以包括解码图片缓冲器(DPB),并且可以由数字存储介质来实现。
当输入包括视频/图像信息的比特流时,解码设备200可以根据图1的编码设备中的处理视频/图像信息的处理来重构图像。例如,解码设备200可以使用在编码设备中应用的处理单元来执行解码。因此,例如,用于解码的处理单元可以是编码单元。可以根据四叉树结构和/或二叉树结构从编码树单元或最大编码单元分割编码单元。此外,可以通过回放装置回放通过解码设备200解码并输出的重构图像信号。
解码设备200可以以比特流形式接收由图1的编码设备输出的信号。可以通过熵解码器210对所接收的信号进行解码。例如,熵解码器210可以通过解析比特流来推导用于图像重构(或图片重构)的信息(例如,视频/图像信息)。例如,熵解码器210可以基于诸如指数Golomb、CAVLC或CABAC的编码方法对比特流内的信息进行解码,并且可以输出用于图像重构的语法元素的值或关于残差的变换系数的量化值。更具体地,在CABAC熵解码方法中,可以从比特流接收与每个语法元素相对应的二进制数(bin),可以使用解码目标语法元素信息和相邻和解码目标块的解码信息或在先前步骤中解码的符号/二进制数的信息来确定上下文模型,可以基于所确定的上下文模型来预测二进制数出现的概率,并且可以通过对二进制数执行算术解码来生成与每个语法元素的值相对应的符号。在这种情况下,在CABAC熵解码方法中,在确定上下文模型之后,可以使用针对下一符号/二进制数的上下文模型解码的符号/二进制数的信息来更新上下文模型。可以将在熵解码器2110中解码的信息当中的关于预测的信息提供给预测器(帧间预测器260和帧内预测器265)。可以将与已经在熵解码器210中对其执行了熵解码的残差值有关的参数信息(即,量化变换系数)输入到去量化器220。此外,可以将在熵解码器210中解码的信息当中的关于滤波的信息提供给滤波器240。此外,接收由编码设备输出的信号的接收器(未示出)可以被进一步配置为解码设备200的内部/外部元件,或者接收器可以是熵解码器210的元件。
去量化器220可以对量化变换系数进行去量化并输出变换系数。去量化器220可以以二维块形式重新布置量化变换系数。在这种情况下,可以基于在编码设备中执行的系数扫描顺序来执行重新布置。去量化器220可以使用量化参数(例如,量化步长信息)对量化变换系数执行去量化,并且可以获得变换系数。
逆变换器230可以通过对变换系数应用逆变换来输出残差信号(残差块或残差样本阵列)。
预测器可以对当前块执行预测,并且可以生成包括针对当前块的预测样本的预测块。预测器可以基于由熵解码器210输出的关于预测的信息来确定是对当前块应用帧内预测还是帧间预测,并且可以确定具体的帧内/帧间预测模式。
帧内预测器265可以参考当前图片内的样本来预测当前块。根据预测模式,参考样本的位置可以与当前块相邻或可以与当前块间隔开。在帧内预测中,预测模式可以包括多个非角度模式和多个角度模式。帧内预测器265可以使用应用于相邻块的预测模式来确定应用于当前块的预测模式。
帧间预测器260可以基于参考图片上由运动矢量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,基于相邻块与当前块之间的运动信息的相关性,运动信息可以被预测为块、子块或样本单元。运动信息可以包括运动矢量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测和Bi预测)信息。在帧间预测的情况下,相邻块可以包括当前图片内的空间相邻块和参考图片内的时间相邻块。例如,帧间预测器260可以基于相邻块来配置运动信息候选列表,并且可以基于所接收的候选选择信息来推导当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测。关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
加法器235可以通过将所获得的残差信号添加到由帧间预测器260或帧内预测器265输出的预测信号(预测块或预测样本阵列)中来生成重构信号(重构图片、重构块或重构样本阵列)。如果像已应用跳过模式的情况那样没有针对处理目标块的残差,则可以将预测块用作重构块。
加法器235可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前图片内的下一处理目标块的帧内预测,并且可以通过滤波而用于下一图片的帧间预测,这将在后面进行描述。
滤波器240可以通过将滤波应用于重构信号来提高主观/客观图片质量。例如,滤波器240可以通过将各种滤波方法应用于重构图片来生成经修改的重构图片,并且可以将经修改的重构图片发送到存储器250,更具体地,发送到存储器250的DPB。各种滤波方法可以包括例如解块滤波、样本自适应偏移SAO、自适应环路滤波ALF和双边滤波。
存储在存储器250的DPB中的(经修改的)重构图片可以用作帧间预测器260中的参考图片。存储器250可以存储其中推导(或解码)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被转发到帧间预测器260,以用作空间相邻块的运动信息或时间相邻块的运动信息。存储器170可以存储当前图片中的重构块的重构样本,并将其转发到帧内预测器265。
在本公开中,在编码设备100的滤波器160、帧间预测器180和帧内预测器185中描述的实施方式可以分别地、相同地或以对应方式应用于解码设备200的滤波器240、帧间预测器260和帧内预测器265。
块分区(Block Partitioning)
可以基于各种详细技术来执行根据本公开的视频/图像编码方法,并且如下描述各种详细技术中的每一个。对于本领域技术人员显而易见的是,本文中描述的技术可以与以上所述和/或以下所述的视频/图像编码/解码过程中的诸如预测、残差处理((逆)变换和(去)量化等)、语法元素编码、滤波、分区/分割等相关过程相关联。
根据本公开的块分区过程可以在上述编码设备的图像划分器110中执行,并且可以在熵编码器190中对分区相关信息进行(编码)处理,并将其以比特流格式转发给解码设备。解码设备的熵解码器210可以基于从比特流获得的分区相关信息来获得当前图片的块分区结构,并且基于此,可以执行用于图像解码的一系列过程(例如,预测、残差处理、块重构和环路滤波等)。
将图片分区为CTU
可以将图片划分为编码树单元(CTU)的序列。CTU可以与编码树块(CTB)相对应。另选地,CTU可以包括亮度样本的编码树块和相应的色度样本的两个编码树块。换句话说,针对包括三种类型的样本阵列的图片,CTU可以包括亮度样本的N×N块和色度样本的两个相应样本。
用于编码和预测的CTU的最大支持大小可以不同于用于变换的CTU的最大支持大小。例如,CTU中亮度块的最大支持大小可以是128×128。
使用树结构对CTU进行分区
CTU可以基于四叉树(QT)结构被划分为CU。四叉树结构可以被称为四元结构。这是为了反映各种局部特征。此外,在本公开中,可以基于包括二叉树(BT)和三叉树(TT)以及四叉树的多类型树结构分区来划分CTU。在下文中,QTBT结构可以包括四叉树和二叉树结构,并且QTBTTT可以包括基于二叉树和三叉树的分区结构。另选地,QTBT结构还可以包括基于四叉树、二叉树和三叉树的分区结构。在编码树结构中,CU可以具有方形形状或矩形形状。首先,CTU可以被划分为四叉树结构。并且然后,四叉树结构的叶节点可以通过多类型树结构另外划分。
图3是示出作为可以应用本公开的实施方式的多类型树结构的示例的图。
在本公开的一个实施方式中,多类型树结构可以包括如图3所示的4种分割类型。这4种分割类型可以包括垂直二元分割(SPLIT_BT_VER)、水平二元分割(SPLIT_BT_HOR)、垂直三元分割(SPLIT_TT_VER)和水平三元分割(SPLIT_TT_HOR)。可以将多类型树结构的叶节点称为CU。这样的CU可以用于预测和变换过程。在本公开中,通常,CU、PU和TU可以具有相同的块大小。然而,在最大支持的变换长度小于颜色分量的宽度或高度的情况下,CU和TU可以具有不同的块大小。
图4是示出作为可以应用本公开的实施方式的具有嵌套的多类型树结构的四叉树的分区分割信息的信令机制的图。
这里,CTU可以被视为四叉树的根,并且最初被分区为四叉树结构。之后可以将每个四叉树叶节点进一步分区为多类型树结构。在该多类型树结构中,发信号通知第一标志(例如,mtt_split_cu_flag)以指示相应的节点是否被进一步分区。在相应节点被进一步分区的情况下,可以发信号通知第二标志(例如,mtt_split_cu_vertical_flag)以指示分割方向。之后,可以发信号通知第三标志(例如,mtt_split_cu_binary_flag)以指示分割类型是二元分割还是三元分割。例如,基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下面的表1中所示推导多类型树分割模式(MttSplitMode)。
[表1]
MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag
SPLIT_TT_HOR 0 0
SPLIT_BT_HOR 0 1
SPLIT_TT_VER 1 0
SPLIT_BT_VER 1 1
图5是示出作为可以应用本公开的实施方式的基于四叉树和嵌套的多类型树结构将CTU分区为多个CU的方法的图。
这里,加粗的块边缘表示四叉树分区,并且剩余边缘表示多类型树分区。具有经嵌套的多类型树的四叉树分区可以提供内容自适应的编码树结构。CU可以与编码块(CB)相对应。或者,CU可以包括亮度样本的编码块和相应的色度样本的两个编码块。CU的大小可以大到与CTU一样大,也可以小至4×4(以亮度样本为单位)。例如,在4:2:0颜色格式(或色度格式)的情况下,最大色度CB大小可以是64×64,并且最小色度CB大小可以是2×2。
在本公开中,例如,最大支持的亮度TB大小可以是64×64,并且最大支持的色度TB大小可以是32×32。在根据树结构分区的CB的宽度或高度大于最大变换宽度或高度的情况下,CB可以被进一步分区,直到自动(或隐式)满足水平和垂直方向的TB大小限制为止。
此外,针对具有嵌套的多类型的四叉树编码树方案,可以将以下参数定义或识别为SPS语法元素。
-CTU大小:四叉树的根节点大小
-MinQTSize:最小允许四叉树叶节点大小
-MaxBtSize:最大允许二叉树根节点大小
-MaxTtSize:最大允许三叉树根节点大小
-MaxMttDepth:从四叉树叶中分割出的多类型树的最大允许层次深度(hierarchydepth)
-MinBtSize:最小允许二叉树叶节点大小
-MinTtSize:最小允许三叉树叶节点大小
作为具有嵌套的多类型树的四叉树编码树方案的示例,可以将CTU大小设置为128×128个亮度样本和两个相应色度样本的64×64个块(在4:2:0色度样本中)。在这种情况下,可以将MinOTSize设置为16×16,可以将MaxBtSize设置为128×128,可以将MaxTtSzie设置为64×64,可以将MinBtSize和MinTtSize(针对宽度和高度两者)设置为4×4,并且可以将MaxMttDepth设置为4。可以将四叉树分区应用于CTU并生成四叉树叶节点。四叉树叶节点可以被称为叶QT节点。四叉树叶节点的大小可以从16×16的大小(即,MinOTSize)到128×128的大小(即,CTU大小)。在叶QT节点为128×128的情况下,叶QT节点可以不被分区为二叉树/三叉树。这是因为,即使在叶QT节点被分区的情况下,叶QT节点也超过了MaxBtsize和MaxTtszie(即,64×64)。在其它情况下,叶QT节点可以被附加地分区为多类型树。因此,叶QT节点可以是多类型树的根节点,并且叶QT节点可以具有多类型树深度(mttDepth)0值。在多类型树深度达到MaxMttdepth(例如,4)的情况下,可以不再考虑附加分区。在多类型树节点的宽度等于MinBtSize且小于或等于2×MinTtSize的情况下,可以不再考虑附加水平分区。在多型树节点的高度等于MinBtSize且小于或等于2×MinTtSize的情况下,可以不再考虑附加垂直分区。
图6是示出了作为可以应用本公开的实施方式的用于限制三叉树分割的方法的图。
参照图6,为了在硬件解码器中支持64×64亮度块和32×32色度管道(pipeline)设计,在特定情况下可以限制TT分割。例如,在亮度编码块的宽度或高度大于预定特定值(例如,32、64)的情况下,如图6所示,可以限制TT分割。
在本公开中,编码树方案可以支持亮度和色度块具有各自的块树结构。针对P条带(slice)和B条带,单个CTU中的亮度和色度CTB可以被限制为具有相同的编码树结构。然而,针对I条带,亮度和色度块可以具有各自的单独的块树结构。在应用单独块树模式的情况下,可以基于特定的编码树结构将亮度CTB分区为CU,并且可以基于不同的编码树结构将色度CTB分区为色度CU。这可能意味着I条带中的CU可以包括色度分量的编码块或两个色度分量的编码块,并且P条带或B条带中的CU可以包括三个颜色分量的块。
在上述“使用树结构对CTU进行分区”中,描述了具有嵌套的多类型树的四叉树编码树方案,但是其中对CU进行分区的结构不限于此。例如,BT结构和TT结构可以被解释为包括在多分区树(MPT)结构中的概念,并且可以解释为CU通过QT结构和MPT结构被分区。在通过QT结构和MPT结构对CU进行分区的示例中,可以发信号通知包括关于QT结构的叶节点被分区为的块的数量的信息的语法元素(例如,MPT_split_type)和包括关于在垂直方向和水平方向当中的QT结构的叶节点被分区的方向的信息的语法元素(例如MPT_split_mode),并且可以确定分割结构。
在另一示例中,可以以不同于QT结构、BT结构或TT结构的方法来对CU进行分区。也就是说,与根据QT结构将较低层深度的CU分区为较高层深度的CU的1/4大小、根据BT结构将较低层深度的CU分区为较高层深度的CU的1/2大小、或根据TT结构将较低层深度的CU分区为较高层深度的CU的1/4大小或1/2大小不同,在一些情况下,将较低层深度的CU分区为较高层深度的CU的1/5、1/3、3/8、3/5、2/3或5/8大小,但是对CU进行分区的方法不限于此。
在树节点块的一部分超过底部或右侧图片边界的情况下,可以限制相应的树节点块,以使得所有经编码的CU的所有样本都位于图片边界内。在这种情况下,例如,可以应用以下分割规则。
-如果树节点块的一部分超过底部和右侧图片边界二者,
-如果块是QT节点,并且块的大小大于最小QT大小,则块被强制使用QT分割模式进行分割。
-否则,块被将强制使用SPLIT_BT_HOR模式进行分割
-否则,如果树节点块的一部分超过底部图片边界,
-如果块是QT节点,并且块的大小大于最小QT大小,并且块的大小大于最大BT大小,则块被强制使用QT分割模式进行分割。
-否则,如果块是QT节点,并且块的大小大于最小QT大小,并且块的大小小于或等于最大BT大小,则块被强制使用QT分割模式或SPLIT_BT_HOR模式进行分割。
-否则(块是BTT节点,或者块的大小小于或等于最小QT大小),则块被强制使用SPLIT_BT_HOR模式进行分割。
-否则,如果树节点块的一部分超过右侧图片边界,
-如果块是QT节点,并且块的大小大于最小QT大小,并且块的大小大于最大BT大小,则块被强制使用QT分割模式进行分割。
-否则,如果块是QT节点,并且块的大小大于最小QT大小,并且块的大小小于或等于最大BT大小,则块被强制使用QT分割模式或SPLIT_BT_VER模式进行分割。
-否则(块是BTT节点,或者块的大小小于或等于最小QT大小),则块被强制使用SPLIT_BT_VER模式进行分割。
伴随多类型树的四叉树编码块结构可以提供非常灵活的块分区结构。由于多类型树支持的分割类型,在一些情况下,不同的分割模式可能会导致相同的编码块结构。限制冗余分割模式的生成,以减少分区信息的数据量。将参照以下附图进行描述。
图7是示出作为可以应用本公开的实施方式的在二叉树分区和三叉树分区中可能出现的冗余分区模式的图。
如图7所示,在一个方向上的两级连续二元分割与在三元分割之后针对中间分区的二元分割具有相同的编码块结构。在这种情况下,可以限制针对三叉树分割的中间分区的二叉树分割(沿给定方向)。该限制可以应用于所有图片的CU。当特定分割被限制时,可以通过反映这种限制情况来修改语法元素的信令,并且可以通过经修改的信令来减少针对分区发信号通知的比特数。例如,与图7所示的示例类似,当针对CU的中间分区的二叉树分割被限制时,可以不发信号通知指示分割是二元分割还是三元分割的语法元素mtt_split_cu_binary_flag,并且解码器可以将该值推断为0。
预测
为了重构其中执行解码的当前处理单元,可以使用包括当前处理单元的当前图片或其它图片的解码部分。
仅将当前图片用于重构(即,执行帧内预测)的图片可以称为帧内图片或I图片(条带),使用最多一个运动矢量和参考索引以便预测每个单元的图片(条带)可以称为预测图片或P图片(条带),并且使用最多两个运动矢量和参考索引的图片(切片)可以称为双边预测图片(bi-predictive picture)或B图片(条带)。
帧内预测是指从同一解码图片(或条带)的数据元素(例如,样本值等)推导当前处理块的预测方法。换句话说,帧内预测是指通过参考当前图片中的重构区域来预测当前处理块的像素值的方法。
在下文中,将更详细地描述帧间预测。
帧间预测
帧间预测是指基于除当前图片之外的图片的数据元素(例如,样本值或运动矢量)来推导当前处理块的预测方法。换句话说,帧间预测是指通过参考除当前图片以外的其它重构图片中的重构区域来预测当前处理块的像素值的方法。
作为用于消除图片之间存在的冗余的技术的帧间预测(图片间预测)主要通过运动估计(motion estimation)和运动补偿(motion compensation)来执行。
在本公开中,进行以上在图1和图2中描述的帧间预测方法的详细描述,并且解码器可以被表示为将在下面描述的图10的基于帧间预测的视频/图像解码方法和图11的解码设备中的帧间预测单元。此外,编码器可以被表示为将在下面描述的图8的基于帧间预测的视频/图像编码方法和图9的编码设备中的帧间预测单元。另外,可以以比特流的形式存储图8和图9的编码数据。
编码设备/解码设备的预测单元可以通过以块为单位执行帧间预测来推导预测样本。帧间预测可以表示通过依赖于除当前图片之外的图片的数据元素(例如,样本值或运动信息)的方法推导的预测。当帧间预测被应用于当前块时,可以基于在参考图片索引所指示的参考图片上由运动矢量所指定的参考块(参考样本阵列)来推导针对当前块的预测块(预测样本阵列)。
在这种情况下,为了减少在帧间预测模式下发送的运动信息量,基于相邻块与当前块之间的运动信息的相关性,可以以块、子块或样本为单位来预测当前块的运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可以包括帧间预测类型(L0预测、L1预测和Bi预测等)信息。
在应用帧间预测的情况下,相邻块可以包括在当前图片中存在的空间相邻块和在参考图片中存在的时间相邻块。包括参考块的参考图片和包括时间相邻块的参考图片可以彼此相同或彼此不同。时间相邻块可以被称为诸如并置参考块、并置CU(colCU)等的名称,并且包括时间相邻块的参考图片可以被称为并置图片(colPic)。例如,可以基于当前块的相邻块来配置运动信息候选列表,并且可以发信号通知指示选择(使用)哪个候选的标志或索引信息以便于推导当前块的运动矢量和/或参考图片索引。
可以基于各种预测模式来执行帧间预测,并且例如,在跳过模式和合并模式的情况下,当前块的运动信息可以与所选相邻块的运动信息相同。在跳过模式的情况下,可以不像合并模式那样发送残差信号。在运动矢量预测(MVP)模式的情况下,可以将所选相邻块的运动矢量用作运动矢量预测值(motion vector predictor),并且可以发信号通知运动矢量差。在这种情况下,可以通过使用运动矢量预测值和运动矢量差之和来推导当前块的运动矢量。
图8和图9是示出根据本公开的实施方式的基于帧间预测的视频/图像编码方法和根据本公开的实施方式的编码设备中的帧间预测单元的图。
参考图8和图9,S801可以由编码设备的帧间预测单元180执行并且S802可以由编码设备的残差处理单元执行。具体地,S802可以由编码设备的减法单元115执行。在S803中,预测信息可以由帧间预测单元180推导,并且可以由熵编码单元190进行编码。在S803中,残差信息可以由残差处理单元推导,并且由熵编码单元190进行编码。残差信息是关于残差样本的信息。残差信息可以包括关于残差样本的量化变换系数的信息。
如上所述,可以通过编码设备的变换单元120将残差样本推导为变换系数,并且可以通过量化单元130将变换系数推导为量化变换系数。可以由熵编码单元190通过残差编码过程对关于量化变换系数的信息进行编码。
编码设备针对当前块执行帧间预测(S801)。编码设备可以推导当前块的帧间预测模式和运动信息,并生成当前块的预测样本。这里,可以同时执行帧间预测模式确定过程、运动信息推导过程以及预测样本的生成过程,并且任何一个过程可以比其它过程更早地执行。例如,编码设备的帧间预测单元180可以包括预测模式确定单元181、运动信息推导单元182和预测样本推导单元183,并且预测模式确定单元181可以确定针对当前块的预测模式,运动信息推导单元182可以推导当前块的运动信息,并且预测样本推导单元183可以推导当前块的预测样本。
例如,编码设备的帧间预测单元180可以通过运动估计来在参考图片的预定区域(搜索区域)中搜索与当前块相似的块,并且推导与当前块的差最小或等于或小于预定标准的参考块。可以基于其推导指示参考块所在的参考图片的参考图片索引,并且可以基于参考块与当前块之间的位置差来推导运动矢量。编码设备可以在各种预测模式当中确定应用于当前块的模式。编码设备可以比较针对各种预测模式的RD成本(RD cost),并且确定针对当前块的最优预测模式。
例如,当将跳过模式或合并模式应用于当前块时,编码设备可以配置以下将描述的合并候选列表(merging candidate list),并且在由合并候选列表中包括的合并候选所指示的参考块当中推导与当前块的差最小或等于或小于预定标准的参考块。在这种情况下,可以选择与所推导出的参考块相关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并将其发信号通知给解码设备。可以通过使用所选择的合并候选的运动信息来推导当前块的运动信息。
作为另一示例,当将(A)MVP模式应用于当前块时,编码设备可以配置下面将要描述的(A)MVP候选列表,并将(A)MVP候选列表中包括的运动矢量预测值(mvp)候选中的所选择的mvp候选的运动矢量用作当前块的mvp。在这种情况下,例如,指示通过运动估计推导的参考块的运动矢量可以用作当前块的运动矢量。并且,在mvp候选当中具有与当前块的运动矢量的差最小的运动矢量的mvp候选可以成为所选择的mvp候选。可以推导作为通过从当前块的运动矢量中减去mvp而获得的差的运动矢量差(MVD)。在这种情况下,可以将关于MVD的信息发信号通知给解码设备。此外,当应用(A)MVP模式时,参考图片索引的值可以被配置为参考图片索引信息,并且被单独地发信号通知给解码设备。
编码设备可以基于预测样本来推导残差样本(S802)。编码设备可以通过将当前块的原始样本与预测样本进行比较来推导残差样本。
编码设备对包括预测信息和残差信息的图像信息进行编码(S803)。编码设备可以以比特流的形式输出编码图像信息。预测信息可以包括关于预测模式信息的信息(例如,跳过标志、合并标志或模式索引等)和作为与预测过程有关的信息的关于运动信息的信息。关于运动信息的信息可以包括作为用于推导运动矢量的信息的候选选择信息(例如,合并索引、mvp标记或mvp索引)。此外,关于运动信息的信息可以包括关于MVD的信息和/或参考图片索引信息。
此外,关于运动信息的信息可以包括指示是应用L0预测、L1预测还是双边预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于残差样本的量化变换系数的信息。
输出比特流可以被存储在(数字)存储介质中,并且被传送到解码设备或者经由网络被传送到解码设备。
此外,如上所述,编码设备可以基于参考样本和残差样本来生成重构图片(包括重构样本和重构块)。这是为了推导与由解码设备执行的预测结果相同的预测结果,并且由此,可以提高编码效率。因此,编码设备可以将重构图片(或重构样本或重构块)存储在存储器中,并且将重构图片用作参考图片。如上所述,环路滤波过程可以进一步应用于重构图片。
图10和图11是示出根据本公开的实施方式的基于帧间预测的视频/图像解码方法和根据本公开的实施方式的解码设备中的帧间预测单元的图。
参照图10和图11,解码设备可以执行与由编码设备执行的操作相对应的操作。解码设备可以基于所接收的预测信息执行针对当前块的预测,并且推导预测样本。
可以由解码设备的帧间预测单元260执行S1001至S1003,并且可以由解码设备的熵解码单元210从比特流中获取S1004的残差信息。解码设备的残差处理单元可以基于残差信息来推导针对当前块的残差样本。具体地,残差处理单元的去量化单元220可以通过根据基于残差信息而推导的量化变换系数执行去量化来推导变换系数,并且残差处理单元的逆变换单元230可以通过针对变换系数执行逆变换来推导针对当前块的残差样本。S1005可以由解码设备的加法单元235或重构单元执行。
具体地,解码设备可以基于所接收的预测信息来确定针对当前块的预测模式(S1001)。解码设备可以基于预测信息中的预测模式信息来确定将哪种帧间预测模式应用于当前块。
例如,可以基于合并标志确定是将合并模式还是将(A)MVP模式应用于当前块。另选地,可以基于模式索引选择各种帧间预测模式候选之一。帧间预测模式候选可以包括跳过模式、合并模式和/或(A)MVP模式,或者可以包括以下将描述的各种帧间预测模式。
解码设备基于所确定的帧间预测模式来推导当前块的运动信息(S1002)。例如,当将跳过模式或合并模式应用于当前块时,解码设备可以配置以下将描述的合并候选列表,并且在合并候选列表中包括的合并候选当中选择一个合并候选。可以基于选择信息(合并索引)来执行选择。可以通过使用所选择的合并候选的运动信息来推导当前块的运动信息。所选择的合并候选的运动信息可以用作当前块的运动信息。
作为另一示例,当将(A)MVP模式应用于当前块时,解码设备可以配置以下将描述的(A)MVP候选列表,并将(A)MVP候选列表中包括的运动矢量预测值(mvp)候选当中的所选mvp候选的运动矢量用作当前块的mvp。可以基于选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息来推导当前块的MVD,并且可以基于当前块的mvp和MVD来推导当前块的运动矢量。此外,可以基于参考图片索引信息来推导当前块的参考图片索引。可以推导针对当前块的参考图片列表中的由参考图片索引所指示的图片,作为针对当前块的帧间预测所参考的参考图片。
此外,可以如下文所述在没有候选列表配置的情况下推导当前块的运动信息,并且在这种情况下,可以根据在下面将要描述的预测模式中公开的过程来推导当前块的运动信息。在这种情况下,可以省略候选列表配置。
解码设备可以基于当前块的运动信息来生成针对当前块的预测样本(S1003)。在这种情况下,可以基于当前块的参考图片索引来推导参考图片,并且可以通过使用参考图片上的由当前块的运动矢量指示的参考块的样本来推导当前块的预测样本。在这种情况下,如下文所述,在一些情况下,可以进一步执行针对当前块的全部或一些预测样本的预测样本滤波过程。
例如,解码设备的帧间预测单元260可以包括预测模式确定单元261、运动信息推导单元262和预测样本推导单元263,并且预测模式确定单元261可以基于所接收的预测模式信息来确定针对当前块的预测模式,运动信息推导单元262可以基于关于所接收的运动信息的信息来推导当前块的运动信息(运动矢量和/或参考图片索引),并且预测样本推导单元263可以推导当前块的预测样本。
解码设备基于所接收的残差信息生成针对当前块的残差样本(S1004)。解码设备可以基于预测样本和残差样本来生成针对当前块的重构样本,并且基于所生成的重构样本来生成重构图片(S1005)。此后,如上所述,可以将环路内滤波过程进一步应用于重构图片。
如上所述,帧间预测过程可以包括帧间预测模式确定步骤、根据所确定的预测模式的运动信息推导步骤、以及基于所推导的运动信息的预测执行(预测样本生成)步骤。
帧间预测模式的确定
各种帧间预测模式可以用于预测图片中的当前块。例如,可以使用包括合并模式、跳过模式、MVP模式和仿射模式(affine mode)等的各种模式。解码器侧运动矢量细化(decoder side motion vector refinement,DMVR)模式、自适应运动矢量分辨率(adaptive motion vector resolution,AMVR)模式等可以进一步用作辅助模式(ancillary mode)。仿射模式可以被称为仿射运动预测模式。MVP模式可以被称为高级运动矢量预测(AMVP)模式。
指示当前块的帧间预测模式的预测模式信息可以从编码设备被发信号通知给解码设备。预测模式信息可以被包括在比特流中并且由解码设备接收。预测模式信息可以包括指示多个候选模式中的一个的索引信息。另选地,帧间预测模式可以通过标志信息的分层信令来指示。在这种情况下,预测模式信息可以包括一个或更多个标志。
例如,可以通过发信号通知跳过标志来指示是否应用跳过模式,当不应用跳过模式时可以通过发信号通知合并标志来指示是否应用合并模式,当不应用合并模式时则指示应用MVP模式或者可以进一步发信号通知用于附加区分的标志。仿射模式可以作为独立模式(independent mode)被发信号通知,或者作为合并模式或MVP模式的相关模式(dependent mode)被发信号通知。例如,仿射模式可以被配置为如下文描述的合并候选列表或MVP候选列表的一个候选。
根据帧间预测模式推导运动信息
可以通过使用当前块的运动信息来执行帧间预测。编码设备可以通过运动估计过程来推导针对当前块的最优运动信息。例如,编码设备可以通过使用针对当前块的原始图片中的原始块来在参考图片中的预定搜索范围内以小数像素(fractional pixel)为单位搜索具有高相关性的相似参考块,并通过搜索到的参考块来推导运动信息。可以根据基于相位的样本值的差来推导块的相似度。例如,可以基于当前块(或当前块的模板(template))与参考块(或参考块的模板)之间的SAD来计算块的相似度。在这种情况下,可以基于在搜索区域中具有最小SAD的参考块来推导运动信息。可以基于帧间预测模式根据各种方法将所推导的运动信息发信号通知给解码设备。
合并模式和跳过模式
图12是用于描述作为应用本公开的实施方式的在合并模式或跳过模式中使用的相邻块的图。
当应用合并模式时,当前预测块的运动信息不直接发送,并且通过使用相邻预测块的运动信息来推导当前预测块的运动信息。因此,发送指示使用合并模式的标志信息和指示使用哪个相邻预测块的合并索引,以指示当前预测块的运动信息。
编码器可以搜索用于推导当前预测块的运动信息的合并候选块,以便于执行合并模式。例如,可以使用多达五个合并候选块,但是本公开不限于此。另外,可以在条带报头(或图块组报头(tile group header))中发送合并候选块的最大数量,并且本公开不限于此。在找到合并候选块之后,编码器可以生成合并候选列表,并且在合并候选块当中选择具有最小成本的合并候选块作为最终合并候选块。
本公开提供了针对构成合并候选列表的合并候选块的各种实施方式。
作为合并候选列表,例如,可以使用五个合并候选块。例如,可以使用四个空间合并候选和一个时间合并候选。作为具体示例,在空间合并候选的情况下,图12所示的块可以用作空间合并候选。
图13是示出根据应用本公开的实施方式的用于配置合并候选列表的方法的流程图。
参照图13,编码设备(编码器/解码器)将通过搜索当前块的空间相邻块而得到的空间合并候选***到合并候选列表中(S1301)。例如,空间相邻块可以包括当前块的左下角相邻块、左相邻块、右上角相邻块、上相邻块和左上角相邻块。然而,这是示例,并且除了上述空间相邻块之外,还可以将包括右相邻块、下相邻块和右下相邻块等的附加相邻块用作空间相邻块。编码设备可以通过基于优先级搜索空间相邻块来推导可用块,并且可以推导检测到的块的运动信息作为空间合并候选。例如,编码器和解码器可以按照A1、B1、B0、A0和B2的顺序搜索图12所示的五个块,并依次索引可用候选并将经索引的候选配置为合并候选列表。
编码设备将通过搜索当前块的时间相邻块而获得的时间合并候选***到合并候选列表中(S1302)。时间相邻块可以位于作为与当前块所在的当前图片不同的图片的参考图片上。时间相邻块所在的参考图片可以被称为并置图片或col图片。可以在col图片上按照针对当前块的并置块(co-located block)的右下角相邻块和右下中间块的顺序搜索时间相邻块。
此外,当应用运动数据压缩时,可以针对每个预定存储单元将特定运动信息作为col图片中的代表运动信息(representative motion information)进行存储。在这种情况下,不需要存储预定存储单元中的所有块的运动信息,并且结果,可以获得运动数据压缩效果。在这种情况下,可以针对每个16×16样本单元或8×8样本单元预先确定上述预定存储单元,或者可以将预定存储单元的大小信息从编码器发信号通知给解码器。当应用运动数据压缩时,可以将时间相邻块的运动信息替换为时间相邻块所在的预定存储单元的代表运动信息。
换句话说,在这种情况下,就实现而言,可以基于覆盖基于时间相邻块的坐标(左上样本位置)以预定值算术右移并且然后算术左移的位置的预测块(而不是位于时间相邻块的坐标的预测块)的运动信息来推导时间合并候选。例如,当预定存储单元是2n×2n样本单元时,如果时间相邻块的坐标是(xTnb,yTnb),位于作为经修改的位置的((xTnb>>n)<<n),(yTnb>>n)<<n))处的预测块的运动信息可以被用于时间合并候选。
具体地,例如,当预定存储单元是16×16样本单元时,如果时间相邻块的坐标是(xTnb,yTnb),位于作为经修改的位置的((xTnb>>4)<<4),(yTnb>>4)<<4))的预测块的运动信息可以被用于时间合并候选。另选地,例如,当预定存储单元是8×8样本单元时,如果时间相邻块的坐标是(xTnb,yTnb),位于作为经修改的位置的((xTnb>>3)<<3),(yTnb>>3)<<3))的预测块的运动信息可以被用于时间合并候选。
编码设备可以检查当前合并候选的数量是否小于合并候选的最大数量(S1303)。合并候选的最大数量可以被预先定义或从编码器被发信号通知给解码器。例如,编码器可以生成关于合并候选的最大数量的信息,并对生成的信息进行编码,并将经编码的信息以比特流的形式传送到解码器。当合并候选的最大数量完全用尽时,可以不执行后续的候选添加过程。
作为检查结果,当当前合并候选的数量小于合并候选的最大数量时,编码设备将附加的合并候选***到合并候选列表中(S1304)。附加的合并候选可以包括例如ATMVP、组合的双边预测合并候选(当当前条带的条带类型是类型B时)和/或零矢量合并候选。
作为检查结果,当当前合并候选的数量不小于合并候选的最大数量时,编码设备可以终止合并候选列表的配置。在这种情况下,编码器可以基于率失真(rate-distortion,RD)成本在构成合并候选列表的合并候选当中选择最优合并候选,并且向解码器发信号通知指示所选择的合并候选的选择信息(例如,合并索引)。解码器可以基于合并候选列表和选择信息来选择最优合并候选。
可以如上所述将所选合并候选的运动信息用作当前块的运动信息,并且可以基于当前块的运动信息来推导当前块的预测样本。编码器可以基于预测样本来推导当前块的残差样本,并将针对残差样本的残差信息发信号通知给解码器。解码器可以如上所述根据基于残差信息所推导的残差样本和预测样本来生成重构样本,并且基于所生成的重构样本来生成重构图片。
当应用跳过模式时,可以通过与如上所述应用合并模式的情况相同的方法来推导当前块的运动信息。然而,当应用跳过模式时,针对相应块的残差信号被省略,并且结果,预测样本可以被直接用作重构样本。
MVP模式
图14是示出根据应用了本公开的实施方式的用于配置合并候选列表的方法的流程图。
当应用运动矢量预测(MVP)模式时,可以通过使用经重构的空间相邻块(例如,可以是上面图12中描述的相邻块)的运动矢量和/或与时间相邻块(或Col块)相对应的运动矢量来生成运动矢量预测值(mvp)候选列表。换句话说,经重构的空间相邻块的运动矢量和/或与时间相邻块相对应的运动矢量可以用作运动矢量预测值候选。
关于预测的信息可以包括指示在列表中包括的运动矢量预测值候选当中所选择的最优运动矢量预测值候选的选择信息(例如,MVP标志或MVP索引)。在这种情况下,预测器可以通过使用选择信息在运动矢量候选列表中包括的运动矢量预测值候选当中选择当前块的运动矢量预测值。编码设备的预测器可以获得当前块的运动矢量和运动矢量预测值之间的运动矢量差(MVD),并且对所获得的MVD进行编码并且以比特流的形式输出经编码的MVD。换句话说,可以通过从当前块的运动矢量中减去运动矢量预测值而获得的值来获得MVD。在这种情况下,解码设备的预测器可以获得关于预测的信息中包括的运动矢量差,并通过将运动矢量差和运动矢量预测值相加来推导当前块的运动矢量。解码设备的预测器可以从关于预测的信息中获得或推导指示参考图片的参考图片索引。例如,可以如图14所示配置运动矢量预测值候选列表。
仿射运动预测
图15示出了根据本公开的一个实施方式的运动模型的示例。
常规的图像压缩技术(例如,高效视频编码(HEVC))使用一个运动矢量以便与表示编码块的运动。尽管可以在使用一个运动矢量的方法中针对每个块表示以块为单位的最优运动,但是最优运动实际上可能不是每个像素的最优运动。因此,如果以像素为单位确定最优运动矢量,则编码效率将提高。因此,本公开的一个实施方式描述了一种使用多运动模型对视频信号进行编码或解码的运动预测方法。特别地,可以使用在两个到四个控制点处的运动矢量在块的每个像素单元或子块单元中表示运动矢量。使用这样的多个控制点的运动矢量的预测方案可以被称为仿射运动预测、仿射预测等。
根据本公开的一个实施方式的仿射运动模型可以表示四个运动模型,诸如图15所示的四个运动模型。表示能够表示仿射运动模型的运动当中的三个运动(平移、缩放和旋转)的仿射运动模型被称为相似(similarity)(或简化)仿射运动模型。在描述本公开的实施方式时,为了便于描述,主要描述了相似(或简化)仿射运动模型,但是本公开不限于此。
图16示出了根据本公开的一个实施方式的用于仿射运动预测的控制点运动矢量的示例。
如图16中所示,仿射运动预测可以使用一对的两个控制点运动矢量(CPMV)v_0和v_1来确定块中包括的像素位置(或子块)的运动矢量。在这种情况下,一组运动矢量可以被称为仿射运动矢量场(MVF)。在这种情况下,可以使用下面的式1来确定仿射运动矢量场。
[式1]
Figure BDA0002882273210000281
在式1中,v_0(v_0={v_0x,v_0y})指示当前块1300的左上位置处的第一控制点处的运动矢量CPMV0。v_1(v_1={v_1x,v_1y})指示当前块1300的右上位置处的第二控制点处的运动矢量CPMV1。此外,w指示当前块1300的宽度。v(v={v_x,v_y})指示在{x,y}位置处的运动矢量。子块(或像素)单元中的运动矢量可以使用式1推导。在一个实施方式中,运动矢量精度可以取整为(rounded as)1/16精度。
图17示出了已经应用根据本公开的一个实施方式的仿射运动预测的块的针对每个子块的运动矢量的示例。
参照图17,在编码或解码过程中,可以以像素为单位或以块为单位确定仿射运动矢量场(MVF)。也就是说,在仿射运动预测中,可以以像素为单位或以子块为单位推导当前块的运动矢量。
如果以像素为单位确定仿射运动矢量场,则可以基于每个像素值获得运动矢量。如果以块为单位确定仿射运动矢量场,则可以基于相应块的中心像素值获得块的运动矢量。在本公开中,如图17所示,假定以4×4块为单位确定仿射运动矢量场(MVF)的情况。然而,这是为了便于描述,并且不限制本公开的实施方式。图17示出了由16×16个样本构成编码块并且以4×4大小的块为单位确定仿射运动矢量场(MVF)的情况的示例。
仿射运动预测可以包括仿射合并模式(或AF_MERGE)和仿射帧间模式(或AF_INTER)。AF_INTER模式可以包括使用基于四参数的运动模型的AF_4_INTER模式和使用基于六参数的运动模型的AF_6_INTER模式。
仿射合并模式
AF_MERGE根据被编码为仿射运动预测的相邻块的仿射运动模型确定控制点运动矢量(CPMV)。按搜索顺序的仿射编码的相邻块可以用于AF_MERGE。当一个或更多个相邻块被编码为仿射运动预测时,当前块可以被编码为AF_MERGE。
也就是说,如果应用仿射合并模式,则可以使用相邻块的CPMV来推导当前块的CPMV。在这种情况下,可以将相邻块的CPMV用作当前块的CPMV而无需任何改变。基于相邻块的大小和当前块的大小来修改相邻块的CPMV,并且可以将其用作当前块的CPMV。
图18示出了根据本公开的一个实施方式的在仿射合并模式下在仿射运动预测中使用的相邻块的示例。
在仿射合并(AF_MERGE)模式下,编码器可以如在以下过程中那样执行编码。
步骤-1:按字母顺序扫描当前编码块1800的相邻块A 1810、B 1820、C 1830、D1840和E 1850。根据扫描顺序首先以仿射预测模式被编码的块被确定为仿射合并的候选块(AF_MERGE)
步骤2:使用所确定的候选块的控制点运动矢量(CPMV)确定仿射运动模型
步骤3:根据候选块的仿射运动模型确定当前块1800的控制点运动矢量(CPMV),并确定当前块1800的MVF。
图19示出了其中使用已经应用了根据本公开的实施方式的仿射运动预测的相邻块执行仿射运动预测的块的示例。
例如,如图19中所示,如果以仿射模式对块A 1920进行编码,则在将块A 1920确定为候选块之后,可以使用块A 1920的控制点运动矢量(CPMV)(例如,v2和v3)来推导仿射运动模型,并且可以确定当前块1900的控制点运动矢量(CPMV)v0和v1。可以基于当前块1900的控制点运动矢量(CPMV)来确定当前块1900的仿射运动矢量场(MVF),并且可以执行编码。
图20是用于描述根据本公开的一个实施方式的使用***仿射编码块(peripheralaffine coding block)生成合并候选列表的方法的图。
参照图20,如果使用仿射合并候选确定CPMV对(CPMV pair),则可以使用诸如图20所示的候选的候选。在图20中,假定将候选列表的扫描顺序设置为A、B、C、D和E的情况。然而,本公开不限于此,并且可以以各种顺序预先设置扫描顺序。
在一个实施方式中,如果在相邻块(即,A、B、C、D和E)中可用的以仿射模式(或仿射预测)编码的候选(以下称为仿射候选)的数量为0,则可以跳过当前块的仿射合并模式。如果可用仿射候选的数量是一个(例如,A),则可以使用相应候选的运动模型来推导当前块的控制点运动矢量CPMV_0和CPMV_1。在这种情况下,指示相应候选的索引可以不是必需的(或被编码)。如果可用仿射候选的数量是两个或更多个,则可以以扫描顺序将两个候选配置为针对AF_MERGE的候选列表。在这种情况下,可以发信号通知诸如指示在候选列表内所选择的候选的索引的候选选择信息。选择信息可以是标志或索引信息,并且可以被标记为AF_MERGE_flag和AF_merge_idx等。
在本公开的一个实施方式中,可以基于子块的大小来执行针对当前块的运动补偿。在这种情况下,推导仿射块(当前块)的子块大小。如果子块的宽度和高度二者都大于4个亮度样本,则推导针对每个子块的运动矢量,并能够针对该子块调用基于DCT-IF的运动补偿(针对亮度为1/16画素并且针对色度为1/32)。否则,将针对整个仿射块调用基于增强型双线性插值滤波器的运动补偿。
在本公开的一个实施方式中,当合并/跳过标志为真且CU的宽度和高度二者均大于或等于8时,会在比特流中发信号通知CU级别的仿射标志,以指示是否使用仿射合并模式。并且当CU被编码为AF_MERGE时,发信号通知最大值为5的合并候选索引,以指定仿射合并候选列表中的哪个运动信息候选用于CUA。
图21和图22是用于描述根据本公开的一个实施方式的使用由仿射预测编码的相邻块来配置仿射合并候选列表的方法的图。
参照图21,仿射合并候选列表按照以下步骤进行构造。
1)***基于模型的仿射候选
基于模型的仿射候选是指候选是从以仿射模式编码的有效相邻重构块推导的。如图21所示,候选块的扫描顺序是从左(A)、上(b)、右上(C)、左下(D)到左上(E)。
如果相邻的左下块A以6参数仿射模式编码,则获得包含块A的CU的左上角、右上角和左下角的运动矢量v_4、v_5和v_6。并且通过六参数仿射模型根据v_4、v_5和v_6计算当前CU左上角的运动矢量v_0、v_1和v_2。
如果以4参数仿射模式对相邻的左下块A进行编码,则获得包含块A的CU的左上角和右上角的运动矢量v_4和v_5。并且通过4参数仿射模型根据v_4和v_5计算当前CU左上角的运动矢量v_0和v_1。
2)***基于控制点的仿射候选
参照图21,基于控制点的候选是指通过组合每个控制点的相邻运动信息来构造候选。
首先,从图21中所示的指定的空间相邻项和时间相邻项推导针对控制点的运动信息。CP_k(k=1、2、3、4)表示第k个控制点。A、B、C、D、E、F和G是用于预测CP_k的空间位置(k=1、2、3);H是用于预测CP4的时间位置。
CP_1、CP_2、CP_3和CP_4的坐标分别为(0,0)、(W,0)、(H,0)和(W,H),其中,W和H是当前块的宽度和高度。
根据以下优先顺序获得每个控制点的运动信息。
针对CP_1,检查优先级为A→B→C,如果可用,则使用A。否则,如果B可用,则使用B。如果A和B都不可用,则使用C。如果三个候选都不可用,则无法获得CP1的运动信息。
针对CP_2,检查优先级为E→D;
针对CP_3,检查优先级为G→F;
针对CP_4,使用H。
其次,使用控制点的组合来构造运动模型。
需要两个控制点的运动矢量来计算4参数仿射模型中的变换参数。可以从以下六个组合之一中选择两个控制点({CP_1,CP_4}、{CP_2,CP_3}、{CP_1,CP_2}、{CP_2,CP_4}、{CP_1,CP_3}、{CP_3,CP_4})。例如,使用CP_1和CP_2控制点构造4参数仿射运动模型,被标记为仿射(CP_1,CP_2)。
需要三个控制点的运动矢量来计算6参数仿射模型中的变换参数。可以从以下四个组合之一中选择三个控制点({CP_1,CP_2,CP_4}、{CP_1,CP_2,CP_3}、{CP_2,CP_3,CP_4}、{CP_1,CP_3,CP_4})。例如,使用CP_1、CP_2和CP_3控制点来构造6参数仿射运动模型,被标记为仿射(CP_1,CP_2,CP_3)。
此外,在本公开的一个实施方式中,在仿射合并模式中,如果存在仿射合并候选,则可以总是将其视为六参数仿射模式。
仿射帧间(inter)模式
图23示出了根据本公开的一个实施方式的在仿射帧间模式下的仿射运动预测中使用的相邻块的示例。
参照图23,仿射运动预测可以包括仿射合并模式(或AF_MERGE)和仿射帧间模式(或AF_INTER)。在仿射帧间模式(AF_INTER)中,在确定两个控制点运动矢量预测(CPMVP)和CPMV之后,可以将与差相对应的控制点运动矢量差CPMVD从编码器发送到解码器。对仿射帧间模式AF_INTER进行编码的具体过程可以如下。
步骤1:确定两个CPMVP对候选
步骤1.1:确定第十二个CPMVP候选组合的最大值(参考下面的式2)
[式2]
{(v0,v1,v2)|v0={vA,vB,vC},v1={vD,vE},v2={vF,vG}}
在式2中,v_0指示当前块2300的左上控制点2310处的运动矢量CPMV0。v_1指示当前块2300右上控制点2311处的运动矢量CPMV1。v_2指示当前块2300左下控制点2312处的运动矢量CPMV2。v_A表示与当前块2300的左上控制点2310的左上相邻的相邻块A 2320的运动矢量。v_B指示与当前块2300的左上控制点2310的上侧相邻的相邻块B 2322的运动矢量。v_C指示与当前块2300的左上控制点2310的左侧相邻的相邻块C 2324的运动矢量。v_D指示与当前块2300的右上控制点2311的上侧相邻的相邻块D 2326的运动矢量。v_E指示与当前块2300的右上控制点2311的右上相邻的相邻块E 2328的运动矢量。v_F指示与当前块2300的左下控制点2312的左侧相邻的相邻块F 2330的运动矢量。v_G指示与当前块2300的左下控制点2312的左下相邻的相邻块G 2332的运动矢量。
步骤1.2:使用在CPMVP候选组合中基于较小差值(DV)排序的前两个候选(参考下面的式3)
[式3]
DV=|(v1x-v0x)*h-(v2y-v0y)*w|+|(v1y-v0y)*h+(v2x-v0x)*w|
v_0x指示在当前块2300的左上控制点2310处的运动矢量V0或CPMV0的x轴元素(x-axis element)。v_1x指示当前块2300的右上控制点2311处的运动矢量V1或CPMV1的x轴元素。v_2x指示当前块2300的左下控制点2312处的运动矢量V_2或CPMV_2的x轴元素。v_0y指示当前块2300的左上控制点2310处的运动矢量V_0或CPMV_0的y轴元素。v_1y指示当前块2300的右上控制点2311处的运动矢量V_1或CPMV_1的y轴元素。v_2y指示当前块2300的左下控制点2312处的运动矢量V_2或CPMV_2的y轴元素。W指示当前块2300的宽度。H指示当前块2300的高度。
步骤2:当控制点运动矢量预测值(CPMVP)对候选小于2时,使用AMVP候选列表
步骤3:确定两个候选中的每一个的控制点运动矢量预测值(CPMVP),并通过比较RD成本最优地选择具有较小值的候选和CPMV
步骤4:发送与最优候选相对应的索引和控制点运动矢量差(CPMVD)
在本公开的一个实施方式中,在AF_INTER中,提供了CPMVP候选的构造过程。与AMVP相同,候选数量为2,并发信号通知指示候选列表的位置的索引。
CPMVP候选列表的构造过程如下:
1)扫描相邻块以检查其是否被编码为仿射运动预测。如果所扫描的块被编码为仿射预测,从所扫描的相邻块的仿射运动模型中推导当前块的运动矢量对,直到候选数量为2。
2)如果候选数量少于两个,则执行候选构造过程。另外,在本公开的一个实施方式中,四参数(两个控制点)仿射帧间模式用于利用放大/缩小和旋转的运动模型来预测内容。如图16所示,通过两个控制点运动矢量来描述块的仿射运动场。
块的运动矢量场(MVF)由前面描述的式1描述。
在现有技术中,高级运动矢量预测(AMVP)模式需要发信号通知运动矢量预测(MVP)索引和运动矢量差(MVD)。当在本公开中应用AMVP模式时,发信号通知affine_flag以指示是否使用仿射预测。如果应用了仿射预测,则发信号通知inter_dir、ref_idx、mvp_index和两个MVD(mvd_x和mvd_y)的语法。生成包含两个仿射MVP对的仿射MVP对候选列表。经信号通知的mvp_index用于选择它们中的一个。仿射MVP对由两种仿射MVP候选生成。一个是空间继承(spatial inherited)仿射候选,并且另一个是角推导(corner derived)仿射候选。如果相邻CU以仿射模式进行编码,则可以生成空间继承仿射候选。相邻仿射编码块的仿射运动模型用于生成两个控制点MVP对的运动矢量。空间继承仿射候选的两个控制点MVP对的MV通过使用下式推导。
[式4]
V0x=VB0x+(VB2_x-VB0x)*(posCurCU_Y-posRefCU_Y)/RefCU_height+(VB1x-VB0x)*(posCurCU_X-posRefCU_X)/RefCU_width
[式5]
V0y=VB0y+(VB2_y-VB0y)*(posCurCU_Y-posRefCU_Y)/RefCU_height+(VB1y-VB0y)*(posCurCU_X-posRefCU_X)/RefCU_width
其中,V_B0、V_B1和V_B2可以由任何参考/相邻CU的左上MV、右上MV和左下MV代替,(posCurCU_X,posCurCU_Y)是当前CU的左上样本相对于帧的左上样本的位置,(posRefCU_X,posRefCU_Y)是参考/相邻CU的左上样本相对于帧的左上样本的位置。
[式6]
V1x=VB0x+(VB1x-VB0x)*CU_width/RefCU_width
[式7]
V1y=VB0y+(VB1y-VB0y)*CU_width/RefCU_width
图24示出了根据本公开的一个实施方式的在仿射帧间模式下用于仿射运动预测的相邻块的示例。
参照图24,如果MVP对的数量小于2,则使用角推导仿射候选。如图24所示,相邻运动矢量被用于推导仿射MVP对。针对第一个角推导仿射候选,集合A(A0,A1和A2)中的第一可用MV和集合B(B0和B1)中的第一个可用MV用于构造第一MVP对。针对第二角推导仿射候选,集合A中的第一可用MV和集合C(C0和C1)中的第一可用MV用于计算右上控制点的MV。集合A中的第一可用MV和计算出的右上控制点MV是第二个MVP对。
在本公开的一个实施方式中,具有两个(三个)候选{mv_0,mv_1}({mv_0,mv_1,mv_2)的两个候选集(candidate set)被用于预测仿射运动模型的两个(三个)控制点。给定运动矢量差矢量mvd_0、mvd_1、mvd_2,可以使用下式计算控制点。
[式8]
Figure BDA0002882273210000351
Figure BDA0002882273210000352
Figure BDA0002882273210000353
图25和图26是示出根据本公开的一个实施方式的在仿射帧间模式使用相邻块的运动信息来推导运动矢量候选的方法的图。
仿射候选列表通过扩展来自空间相邻块的仿射运动(外推仿射候选)、来自空间相邻块的运动矢量的组合(虚拟仿射候选)以及HEVC运动矢量预测(MVP)候选而顺序添加,直到候选列表中有两个仿射MVP。候选集的构造如下:
1.从相邻块的仿射运动推导最多两个不同的仿射MV预测值集。检查如图25所示的相邻块A0、A1、B0、B1和B2。如果相邻块使用仿射运动模型进行编码,并且其参考帧与当前块的参考帧相同,则从该相邻项的仿射模型推导当前块的两个(针对4参数仿射模型)或三个(针对6参数仿射模型)控制点处的MV。
2.图29示出了用于生成虚拟仿射候选集的相邻块。相邻MV分为三组:S_0={mv_A,mv_B,mv_C}、S_1={mv_D,mv_E}和S_2={mv_F,mv_G}。mv_0是S0中的与当前块参考相同的参考图片的第一MV;mv_1是S1中的参考当前块的相同参考图片的第一MV;并且mv_2是S2中的参考当前块的相同参考图片的第一MV。
如果仅可以找到mv_0和mv_1,则可以通过使用下式推导mv_2。
[式9]
Figure BDA0002882273210000354
参照式9,当前块大小是W×H。
如果仅可以找到mv_0和mv_2,则通过使用下式推导mv_1。
[式10]
Figure BDA0002882273210000355
在本公开的一个实施方式中,可以根据以下顺序执行仿射帧间预测。
·输入:仿射运动参数,参考图片样本
·输出:CU的预测块
·处理
–推导仿射块的子块大小
–如果子块的宽度和高度二者都大于4个亮度样本,
–针对每个子块
–推导针对子块的运动矢量。
–针对子块调用基于DCT-IF的运动补偿(针对亮度为1/16画素并且针对色度为1/32)
–否则,针对整个仿射块调用基于增强型双线性插值滤波器的运动补偿
此外,在本公开的一个实施方式中,当合并/跳过标志为假并且CU的宽度和高度二者均大于或等于8时,在比特流中发信号通知CU级别的仿射标志以指示是否使用仿射帧间模式。并且当CU被编码为仿射帧间模式时,发信号通知模型标记以指定针对该CU使用4参数仿射模型还是6参数仿射模型。如果模型标志为真,则应用AF_6_INTER模式(6参数仿射模型),并将解析3个MVD;否则,将应用AF_4_INTER模式(4参数仿射模型),并将解析2个MVD。
在AF_4_INTER模式下,类似于仿射合并模式,构造从以仿射模式编码的相邻块外推(extrapolated)的仿射运动矢量对,并首先将其***候选列表。
之后,如果候选列表的大小小于4,则使用相邻块构造具有运动矢量对{(v_0,v_1)|v0={v_A,v_B,v_c},v_1={v_D,v_E}}的候选。如图22所示,从块A、B或C的运动矢量选择v_0。根据参考列表以及针对相邻块的参考的POC、针对当前CU的参考的POC和当前CU的POC之间的关系来缩放来自相邻块的运动矢量。并且从相邻块D和E选择v_1的方法类似。当候选列表大于4时,首先根据相邻运动矢量的一致性(成对候选中两个运动矢量的相似性)对候选进行排序,并且仅保留前四个候选。
如果候选列表的数量小于4,则通过经由复制AMVP候选中的每一个而组成的运动矢量对来对列表进行填充(pad)。
在AF_6_INTER模式下,与仿射合并模式类似,构造从以仿射模式编码的相邻块外推的仿射运动矢量三元组,并首先将其***候选列表。
之后,如果候选列表的大小小于4,使用相邻块构造具有运动矢量三元组(((v_0,v_1,v_2)|v0={v_A,v_B,v_C},v1={v_D,v_E},v2={v_G,v_H}}的候选。如图22所示,从块A、B或C的运动矢量选择v_0。根据参考列表以及针对相邻块的参考的POC、针对当前CU的参考的POC和当前CU的POC之间的关系来缩放来自相邻块的运动矢量。并且从相邻块D和E选择v_1和从F和G选择v_2的方法相似。当候选列表大于4时,首先根据相邻运动矢量的一致性(三元组候选中两个运动矢量的相似性)对候选进行排序,并且仅保留前四个候选。
如果候选列表的数量小于4,则通过经由复制AMVP候选中的每一个而组成的运动矢量三元组来对列表进行填充。
在推导当前CU的CPMV后,根据仿射参数的数量,针对4参数仿射模型根据下式11生成当前CU的MVF,并且针对6参数仿射模型根据下式12生成当前CU的MVF。
[式11]
Figure BDA0002882273210000371
[式12]
Figure BDA0002882273210000372
如下式13那样推导子块大小M×N,其中,MvPre是运动矢量分数精度(motionvector fraction accuracy)(1/16)。
[式13]
Figure BDA0002882273210000373
在由式12推导后,如有必要,应将M和N分别向下调整以使其分别是w和h的因数(divisor)。如果M或N小于8,则应用WIF;否则,应用基于子块的仿射运动补偿。
图27示出了根据本公开的一个实施方式的以子块为单位推导仿射运动矢量场的方法的示例。
参照图27,为了推导每个M×N子块的运动矢量,如图27所示,根据式11或式12计算每个子块的中心样本的运动矢量,并且将其取整到1/16的分数精度(fraction accuracy)。然后,将SHVC上采样插值滤波器(SHVC upsampling interpolation filter)应用于利用所推导的运动矢量来生成每个子块的预测。
与HEVC运动补偿插值滤波器具有相同的滤波器长度和归一化因子的SHVC上采样插值滤波器用作针对附加分数画素位置(additional fractional pel position)的运动补偿插值滤波器。色度分量运动矢量精度为1/32个样本,通过使用两个相邻的1/16画素分数位置的滤波器的平均值来推导1/32画素分数位置的附加插值滤波器。
以与执行常规合并模式选择类似的方式在编码器侧选择AF_MERGE模式。首先构造候选列表,并选择候选内部的最小RD成本与其他帧间模式的RD成本进行比较。比较结果决定是否应用AF_MERGE。
针对AF_4_INTER模式,使用RD成本检查(RD cost check)来确定选择哪个运动矢量对候选作为当前CU的控制点运动矢量预测(CPMVP)。在确定当前仿射CU的CPMVP之后,应用仿射运动估计并且找到控制点运动矢量(CPMV)。然后确定CPMV和CPMVP的差。
在编码器侧,仅当在先前的模式选择阶段中将AF_MERGE或AF_4_INTER模式选择为最佳模式时,才会验证AF_6_INTER模式。
在本公开的一个实施方式中,可以如下执行仿射帧间(affine AMVP)模式:
1)AFFINE_MERGE_IMPROVE:该改进尝试寻找具有最大编码单元大小的相邻块作为仿射合并候选,而不是寻找仿射模式下的第一相邻块。
2)AFFINE_AMVP_IMPROVE:与常规AMVP过程类似,将仿射模式下的相邻块添加到仿射AMVP候选列表。
仿射AMVP候选列表的详细构造过程如下。
首先,检查左下相邻块是否正在使用仿射运动模型并且具有与当前参考索引相同的参考索引。如果不存在,则然后以相同方式检查左相邻块。如果不存在,则检查左下相邻块是否正在使用仿射运动模型并且具有不同参考索引。如果存在,则将经缩放的仿射运动矢量添加到参考图片列表。如果不存在,则以相同的方式检查左相邻块。
其次,然后将以相同的方式检查右上相邻块、上相邻块和左上相邻块。
如果在上述过程之后我们找到了两个候选,则我们将完成仿射AMVP候选列表的构造。如果我们没有找到两个候选,则将在JEM软件中执行原始处理以构造仿射AMVP候选列表。
3)AFFINE_SIX_PARAM:除了四参数仿射运动模型之外,还添加六参数仿射运动模型作为附加模型。
通过使用下式推导六参数仿射运动模型。
[式14]
Figure BDA0002882273210000391
由于上述运动模型中存在六个参数,因此需要在左上位置MV_0、右上位置MV_1和左下位置MV_2的三个运动矢量来确定模型。以与四参数仿射运动模型中的两个运动矢量类似的方式确定三个运动矢量。需要注意,仿射模型合并始终设置为六参数仿射运动模型。
4)AFFINE_CLIP_REMOVE:删除针对所有仿射运动矢量的运动矢量约束。让运动补偿过程自己处置运动矢量约束。
仿射运动模型
如上所述,在仿射帧间预测中可以使用或考虑各种仿射运动模型。例如,仿射运动模型可以表示如图15中的四个运动。表示能够表示仿射运动模型的运动当中三个运动(平移、缩放和旋转)的仿射运动模型可以被称为相似(或简化)仿射运动模型。根据使用哪个仿射运动模型而推导的CPMV的数量并且/或者推导当前块的样本/子块单元MV的方法可以不同。
可以使用运动模型。在AF_INTER中,除了JEM中现有的四参数运动模型外,还提出使用六参数运动模型。下列式15描述了六参数仿射运动模型。
[式15]
x′=a*x+b*y+c
y′=d*x+e*y+f
这里,系数a、b、c、d、e和f是仿射运动参数,并且(x,y)和(x',y')是仿射运动模型的变换前后的像素位置坐标。为了在视频编码中使用仿射运动模型,如果CPMV0、CPMV1和CPMV2是CP0(左上)、CP1(右上)和CP2(左下)的MV,则式16可以描述为:
[式16]
Figure BDA0002882273210000401
其中,CPMV_0={v_0x,v_0y},CPMV_1={v_1x,v_1y},CPMV_2={v_2x,v_2y},w和h分别是编码块的宽度和高度。式16描述了块的运动矢量场(MVF)。
在CU级别解析标志以指示当相邻块被编码为仿射预测时是使用四参数还是六参数仿射运动模型。如果相邻块没有被编码为仿射预测,则跳过该标志并且将四参数模型用于仿射预测。换句话说,在一个或更多个相邻块被编码为仿射运动模型的条件下考虑六参数模型。当涉及到CPMVD的数量时,分别针对四参数和六参数仿射运动模型发信号通知两个CPMVD和三个CPMVD。
此外,在本公开的一个实施方式中,可以使用模式匹配运动矢量细化(pattern-matched motion vector refinement)。在JEM的模式匹配运动矢量推导(在JEM编码器描述中命名为PMMVD,在本文件中简称为PMVD)中,解码器需要评估多个运动矢量(MV)候选以确定针对CU级搜索的起始MV候选。在子CU级搜索中,除了最佳CU级MV外,还添加了几个MV候选。解码器需要评估这些MV候选,以找到最佳的MV,这需要大量的存储器带宽。在提出的模式匹配运动矢量细化(PMVR)中,采用了JEM中的PMVD中的模板匹配和双边匹配的概念。当选择跳过模式或合并模式时发信号通知一个PMVR_flag以指示是否启用PMVR。为了与PMVD相比显着降低存储器带宽需求,生成MV候选列表,并且如果应用了PMVR,则显式发信号通知起始MV候选索引。
通过使用合并候选列表生成过程来生成候选列表,但是排除子CU合并候选,例如,仿射候选和ATMVP候选。针对双边匹配,仅包括单边预测MV候选。双边预测MV候选被分成两个单边预测MV候选。此外,还去除了相似的MV候选(MV差小于预定义的阈值)。针对CU级搜索,从信号通知的MV候选开始执行菱形搜索MV细化(diamond search MV refinement)。
仅针对双边匹配合并模式启用子CU级搜索。为了减少存储器带宽,仅评估从CU级搜索确定的MV。针对所有子CU的子CU级搜索的搜索窗口与CU级搜索的搜索窗口相同。因此,针对子CU级搜索不需要额外带宽。
模板匹配还用于在AMVP模式下细化MVP。在AMVP模式下,通过使用HEVC MVP生成过程生成两个MVP,并发信号通知一个MVP索引以选择其中之一。通过在PMVR中使用模板匹配来细化所选的MVP。如果应用了自适应运动矢量分辨率(AMVR),则在模板匹配细化之前将MVP取整为相应的精度。该细化过程被称为模式匹配运动矢量预测值细化(PMVPR)。在本文件的剩余部分中,如果没有特别说明,则PMVR包括模板匹配PMVR、双边匹配PMVR和PMVPR。
为减少存储器带宽需求,针对4×4、4×8和8×4CU禁用了PMVR。为了进一步减少存储器带宽需求,将针对等于64的CU区域的{模板匹配,双边匹配}的搜索范围减小为{±2,±4},并且将针对大于64的CU区域的{模板匹配,双边匹配}的搜索范围减小为{±6,±8}。与HEVC中最差的情况相比,通过使用该PMVR部分中描述的所有上述方法,所需的存储器带宽从JEM-7.0的PMVD中的45.9x减少到PMVR中的3.1x。
在非QT块中使用仿射时的应用技术
图28示出了在已经应用了根据本公开的实施方式的仿射运动模型的帧间预测中生成预测块和运动矢量的方法。
图28示出了在应用仿射运动模型的情况下用于推导运动矢量的关系式。可以基于以下式17推导运动矢量。
[式17]
Figure BDA0002882273210000411
在这种情况下,v_x指示当前块内的(x,y)坐标样本的样本单元运动矢量的x分量。v_y表示当前块内的(x,y)坐标样本的样本单元运动矢量的y分量。也就是说,(v_x,v_y)成为(x,y)坐标样本的样本单元运动矢量。在这种情况下,a、b、c、d、e和f指示用于从当前块的控制点(CP)推导(x,y)坐标的样本单元运动矢量的关系式的参数。CP可以被表示为控制像素。可以从以PU为单位发送的每个PU的CP的运动信息中推导参数。可以将用于推导从CP的运动信息推导出的样本单元运动矢量的关系式应用于块的每个样本,并且可以基于每个样本的x轴和y轴相对位置被推导为参考图像内样本的位置。可以根据QTBT(TT)块分区结构的块的大小、不对称或对称和块位置等来不同地推导样本单元运动矢量,并且其详细实现方式通过图29至图38示出。
图29是示出根据本公开的一个实施方式的基于控制点的运动矢量执行运动补偿的方法的图。
参照图29,假设并描述了当前块是2N×2N块的情况。例如,当前块内的左上样本的运动矢量可以认为是v_0。此外,使用与当前块相邻的相邻块的样本作为CP,CP的运动矢量可以被认为是v_1和v_2。也就是说,假设当前块的宽度和高度为S并且当前块左上样本位置处的坐标为(xp,yp),则CP当中的CP0的坐标可以被认为是(xp,yp),CP1的坐标可以被认为是(xp+S,yp),并且CP2的坐标可以被认为是(xp,yp+S)。CP0的运动矢量可以被认为是v_0,CP1的运动矢量可以被认为是v_1,并且CP2的运动矢量可以被认为是v_2。可以使用CP的运动矢量来推导样本单元运动矢量。可以基于下式18推导样本单元运动矢量。
[式18]
Figure BDA0002882273210000421
在这种情况下,v_x和v_y分别指示针对当前块内的(x,y)坐标处的样本的运动矢量的x分量和y分量。v_x0和v_y0分别指示针对CP0的运动矢量v_0的x分量和y分量。v_x1和v_y1分别指示针对CP1的运动矢量v_1的x分量和y分量。v_x2和v_y2指示针对CP2的运动矢量v_2的x分量和y分量。可以根据诸如式18的用于推导样本单元运动矢量的关系式,基于当前块内的相对位置来推导当前块内的样本的运动矢量。
图30是示出根据本公开的一个实施方式的基于非规则块中的控制点的运动矢量来执行运动补偿的方法的图。
图30示出了被分区为N×2N的块的CP。可以使用与分区类型2N×2N相同的方法来驱动用于推导当前块内的样本单元运动矢量的关系式。在推导关系式的过程中,可以使用适合于当前块的形状的宽度值。为了推导样本单元运动矢量,可以推导三个CP。CP的位置可以如图30中那样调整。也就是说,假设当前块的宽度和高度为S/2和S并且当前块在左上样本位置处的坐标为(xp,yp),则CP中的CP0的坐标可以是(xp,yp),其CP1的坐标可以是(xp+S/2,yp),并且CP2的坐标可以是(xp,yp+S)。可以基于下式19推导样本单元运动矢量。
[式19]
Figure BDA0002882273210000422
在这种情况下,vx和vy分别指示针对当前块内(x,y)坐标处的样本的运动矢量的x分量和y分量。v_x0和v_y0分别指示针对CP0的运动矢量v_0的x分量和y分量。v_x1和v_y1分别指示针对CP1的运动矢量v_1的x分量和y分量。v_x2和v_y2分别指示针对CP2的运动矢量v_2的x分量和y分量。式3指示其中当前块的宽度被认为是S/2的用于推导样本单元运动矢量的关系式。可以根据诸如式19的用于推导样本单元运动矢量的关系式,基于当前块内的相对位置,来推导基于分区类型N×2N从CU分区的当前块内的样本的运动矢量。
图31是示出根据本公开的一个实施方式的基于非规则块中的控制点的运动矢量来执行运动补偿的方法的图。
图31示出了基于分区类型2N×N进行分区的块。为了推导样本单元运动矢量,可以推导三个CP。通过如图31所示调整CP的位置,可以基于图31所示的当前块的形状将当前块的高度调整为S/2。也就是说,假设当前块的宽度和高度为S和S/2并且当前块在左上样本位置处的坐标为(xp,yp),则CP当中的CP0的坐标可以是(xp,yp),CP1的坐标可以是(xp+S,yp),并且CP2的坐标可以是(xp,yp+S/2)。可以基于下式20推导样本单元运动矢量。
[式20]
Figure BDA0002882273210000431
在这种情况下,v_x和v_y分别指示针对在当前块内的(x,y)坐标处的样本的运动矢量的x分量和y分量。v_x0和v_y0分别指示针对CP0的运动矢量v_0的x分量和y分量。v_x1和v_y1分别指示针对CP1的运动矢量v_1的x分量和y分量。v_x2和v_y2分别指示针对CP2的运动矢量v_2的x分量和y分量。式4指示其中当前块的高度被认为是S/2的用于推导样本单元运动矢量的关系式。可以根据诸如式4.18的用于推导样本单元运动矢量的关系式,基于当前块内的相对位置,来推导从基于分区类型2N×N从CU分区的当前块内的每个样本的运动矢量。
图32至图38是示出根据本公开的一个实施方式的基于非规则块中的控制点的运动矢量来执行运动补偿的方法的示图。
图32示出了不对称当前块的CP。如图32所示,不对称当前块的宽度和高度可以被认为是W和H。为了推导样本单元运动矢量,可以推导每个当前块的三个CP。如图32所示,可以根据基于当前块的形状的宽度和高度来调整CP的坐标。也就是说,假设当前块的宽度和高度为W和H并且每个当前块在左上样本位置处的坐标为(xp,yp),则CP当中的CP0的坐标可以被设置为(xp,yp),CP1的坐标可以被设置为(xp+W,yp),并且CP2的坐标可以被设置为(xp,yp+H)。在这种情况下,可以基于下式21推导当前块内的样本单元运动矢量。
[式21]
Figure BDA0002882273210000441
在这种情况下,v_x和v_y分别指示针对当前块内的(x,y)坐标处的样本的运动矢量的x分量和y分量。v_x0和v_y0分别指示针对CP0的运动矢量v_0的x分量和y分量。v_x1和v_y1分别指示针对CP1的运动矢量v_1的x分量和y分量。v_x2和v_y2指示针对CP2的运动矢量v_2的x分量和y分量。式21指示其中已经考虑了不对称当前块的宽度和高度的用于推导样本单元运动矢量的关系式。
此外,根据本公开,为了减少以块为单位指示的针对CP的运动信息的数据量,可以基于针对当前块的相邻块或相邻样本的运动信息来选择针对至少一个CP的运动信息预测候选。运动信息预测候选可以被称为仿射运动信息候选或仿射运动矢量候选。仿射运动信息候选可以包括例如参照图33至图38公开的内容。
MVD编码
当前最新水平的视频编码标准使用运动矢量及其运动矢量预测值来生成运动矢量差(MVD)。MVD可以更正式地被定义为运动矢量和运动矢量预测值之间的差。与运动矢量类似,MVD具有与x(水平)方向和y(垂直)方向上的运动相对应的x分量和y分量。MVD是仅当使用(高级)运动矢量预测((A)MVP)模式对编码单元进行编码时才可用的属性。
一旦确定了MVD,则然后使用熵技术对其进行编码。视频标准依靠使用MVD作为其可能的方法之一来利用运动矢量中的冗余并实现压缩。在解码器处,在对编码单元的运动矢量进行解码之前,对运动矢量差(MVD)进行解码。通过对MVD进行编码而不是对实际的运动矢量进行编码,可以利用运动矢量及其预测值之间的冗余,从而提高压缩效率。
解码器处的至MVD编码级(MVD coding stage)的输入只是经解析以用于解码的经编码MVD二进制数。编码器处的至MVD编码级的输入是实际MVD值,并且另外还有指示用于MVD编码的分辨率的标志(“imv”标志)。该标志用于决定MVD是应该被表示为1画素(或像素)、4画素还是四分之一画素。
图39示出了根据本公开的一个实施方式的用于推导运动矢量的整体编码结构。
参照图39,首先检查编码单元是否为合并模式(S3901)。
如果编码单元处于合并模式,则仿射标志和合并索引被解析以进行解码(S3902)。
如果编码单元未处于合并模式,则它将处于AMVP模式。在AMVP模式中,首先解析列表信息(即,是要使用列表0、列表1、还是同时使用两个列表)(S3903)。
然后,解析仿射标志(S3904)。之后,检查经解析的仿射标志是真还是假(S3905)。
如果为真,则处理与左(LT)和右(RT)MVD相对应的parse_MVD_LT和parse_MVD_RT(S3906)。如果仿射标志为假,则处理MVD(S3907)。下面将详细描述AMVP的特殊情况下的仿射运动模型。
图40示出了根据本公开的一个实施方式的MVD编码结构的示例。
参照图40,首先,解析针对水平分量(MVDxGT0)和垂直分量(MVDyGT0)的MVD大于零标志(S4001)。
之后,检查针对水平分量的解析数据是否大于零(即,MVDxGT0)(S4002)。如果MVDxGT0标志为真(即,MVDxGT0等于“1”),则解析水平分量大于一(即,MVDxGT1)(S4002)。如果MVDxGT0不为真(即MVDxGT0等于“0”),则不解析MVDxGT1数据。
然后,针对垂直分量进行类似的步骤(S4003和S4004)。
此后,可以在标记为MVDx_Rem_Level和MVDy_Rem_Level的块中进一步处理经解析的MVD数据,以便获得重构的MVD(S4005和S4006)。
图41示出了根据本公开的一个实施方式的MVD编码结构的示例。
图41示出了解码器如何进一步处理图40中的块MVDx_Rem_Level中的数据以对MVDx分量进行解码。如果指示经解析的数据将大于零的解码标志(即,MVDxGT0)为真(S4101),并且指示经解析的数据的将大于1的解码标志(即,MVDxGT1)为真(S4102),则然后使用一阶的指数Golomb(EG)码来解码与经解析的MVDx分量相对应的二进制数(S4103)。EG的输入将是包含绝对值减2(absolute min two)(即,Abs-2)MVD值和阶数为1的Golomb的二进制数。
然后通过解码包含该信息的旁路二进制数(bypass bin)来解析符号信息(signinformation)(S4104)。如果解码的旁路二进制数的值为1,则将负号附加到经解码的MVDx。但是,如果解码的旁路二进制数的值为0,则将解码的MVD指示为正值。如果MVDxGR0为真,但MVDxGR1不为真,则表明正在解码的MVDx的绝对值为1。然后解析和更新符号信息。但是,如果MVDxGR0为假,则重构的MVDx为0。
在下面的图42中示出了在解码器处用于对MVDy(即,MVDy_Rem_Level)进行解码的类似过程。
图42示出了根据本公开的一个实施方式的MVD编码结构的示例。
参照图42,如果指示经解析的MVDy大于零的解码标志(即,MVDyGT0)为真(S4201),则检查标志MVDyGR1(S4202)。
如果MVDyGR0和MVDyGR1二者均为真,则使用输入为包含绝对值减2(Abs-2)MVD和1阶的二进制数的EG码对解析的MVD数据进行解码(S4203)。随后,对符号信息进行解析和解码以获得经解码的MVDy(S4204)。如果MVDyGR0为真,但MVDyGR1为假,则将绝对垂直值视为+1或-1。然后,以与上述方式相似的方式解析符号信息并对其进行解码,以获得经解码的MVDy。如果MVDyGR0标志为假,则MVDy为零。
图43示出了根据本公开的一个实施方式的MVD编码结构的示例。
参照图43,在编码器处,将对带符号的MVD值进行编码。与图41相似,通过检查水平和垂直分量的绝对值针对x分量和y分量对大于零二进制数(即,MVDxGR0和MVDyGR0)进行编码(S4301,S4311)。然后,针对水平分量和垂直分量对大于一标志(即,MVDxGR1和MVDyGR1)进行编码(S4302,S4312)。此后,与解码器类似,对绝对MVD值进行编码,然后对水平分量和垂直分量依次进行编码。
针对水平MVD编码,如果绝对水平MVD分量大于零(即,MVDxGR0)且大于1(即,MVDxGR1),然后使用一阶EG码对(绝对值-2)进行编码(S4303)。此后,使用旁路二进制数对符号信息进行编码(S4304)。如果MVDxGR0为真并且MVDxGR1不为真,则仅对符号信息进行编码。如果MVDxGR0不为真,则MVDx为零。重复相同的过程以对MVDy进行编码(S4313,S4314)。
仿射编码
先前的视频编码标准仅考虑了平移运动模型。但是,潜在的运动可以包含诸如缩放、旋转、平摇(panning)和其他不规则运动的效果。为了捕获这种运动的特性,最新的视频编码标准引入了仿射运动编码,由此可以使用4参数或6参数仿射运动模型来捕获运动信息的不规则特性。
如果使用4参数模型,则生成2个控制点,并且如果使用6参数模型,则使用3个控制点。先前描述的图16更清楚地示出了仿射运动的概念。通过使用4参数模型,使用由v_0(cpmv_0)和v1(cpmv_1)给出的两个控制点运动矢量对当前块进行编码。
一旦推导了这些控制点,通过下式22描述针对4×4子块中的每一个的MVF。
[式22]
Figure BDA0002882273210000471
其中,(v_0x,v_0y)是左上角控制点的运动矢量,并且(v_1x,v_1y)是右上角控制点的运动矢量。如前所述,如图27所示通过推导每个子块的中心样本的运动矢量来计算每个4×4子块的运动矢量。
实施方式1:MVD精度(MVD PRECISION)
仿射编码可以在合并模式和(A)MVP模式两种模式下使用。如上所述,在AMVP模式下,仿射编码可以根据所使用的运动模型来使用两个控制点或三个控制点。因此,可以存在两个或三个运动矢量差(MVD)。换句话说,如果根据运动模型使用两个控制点,则可以针对左上(LT)和/或右上(RT)控制点中的至少一个的MVD进行编码。如果使用三个控制点,则可以对左上(LT)、右上(RT)和/或右下(LB)控制点中的至少一个的MVD进行编码。
在解码器中,在最终确定编码单元中的运动矢量之前对MVD进行解码。在这种情况下,仿射预测(或仿射运动预测)的精确度可以取决于控制点运动矢量的精确度。结果,仿射预测的精确度可以取决于MVD编码的精确度。
然而,在常规图像压缩技术中,如果应用仿射预测,则仅以1/4画素(或像素、分数)精度(或精确度,分辨率)对MVD进行编码。
换句话说,仿射编码的效率可能极大地取决于控制点运动矢量的高精度以及之后的每个子块的中心样本的运动矢量的高精度。此外,用于推导运动矢量的前述关系式(例如,1、11、12、16和22)可以提供远高于1/16画素的精度。例如,如果使用1/16画素精度,则在上述关系式中计算出的值可以取整至1/16画素精度。这是有用的,因为可以应用以1/16画素精度操作的运动补偿内插滤波器以使用所推导的运动矢量容易地生成每个子块的预测样本。
在运动补偿之后,可以将具有高精度的每个子块的运动矢量以与普通运动矢量相同的精度取整并存储。基于预测值和实际运动矢量之间的差来计算MVD,并且可以以1/16画素精确度保持初始计算。然而,在常规图像压缩技术中,如果应用仿射预测,则MVD精度降低到1/4画素并被编码。为了更准确地对运动矢量进行解码,如果尽管应用了仿射预测但是仍保持较高的精度,则可以增加仿射预测的精确度,并且可以提高压缩效率。
在常规压缩技术中,以1/4画素、1画素(即,整数像素)或4画素精度处理(编码或发送)普通MVD(即,不是仿射预测的MVD)。此外,编码器/解码器使用精度标志(或语法元素)控制这种精度。然而,如上所述,在仿射预测中,仅以1/4画素精度存储MVD。因此,本公开提出了一种提高MVD的精度以便增加仿射预测的精确度的方法。
在本公开中,为了便于描述,如果仿射预测被应用,则MVD可以被表示为仿射MVD。
图44是示出根据应用了本公开的一个实施方式的推导仿射运动矢量差信息的方法的图。
参照图44,为了便于描述,主要描述了解码器,但是本公开不限于此。发信号通知仿射运动矢量差信息的方法可以基本上相同地应用于编码器。此外,在图44中,假设并描述了将左上和右上两个位置处的两个控制点用于仿射预测的情况,但是,本公开不限于此,并且可以基本上相同地应用于将左下、左上和右上位置处的三个控制点用于仿射预测的情况。
解码器检查是否将合并模式应用于当前块(S4401)。如果将合并模式应用于当前块,则解码器解析指示是否将仿射预测应用于当前块的仿射标志和/或指示合并候选列表内的应用于当前块的候选的合并索引(S4402)。
解码器解析指示当前块的参考方向(或预测方向、参考列表)的参考列表索引(或预测列表索引)(S4403)。
解码器解析指示是否将仿射预测应用于当前块的仿射标志(S4404)。
解码器基于仿射标志值检查仿射预测是否被应用于当前块(S4405)。
如果不将仿射预测应用于当前块,则解码器解析当前块的MVD(S4406)。
在本公开的一个实施方式中,如果将仿射预测应用于当前块,则解码器可以解析精度标志(或精度索引)并且对精度执行检查过程。
具体地,如果将仿射预测应用于当前块,则解码器解析MVD精度标志(S4407)。在这种情况下,MVD精度标志(或仿射MVD精度标志)指示是否应用自适应仿射MVD精度模式。在一个实施方式中,如果应用自适应仿射MVD精度模式,则仿射MVD可以以除预定义的默认(或基本)精度之外的另一精度推导。如果应用自适应仿射MVD精度模式,则仿射MVD可以以预定义的默认精度推导。在一个实施方式中,预定的默认精度可以是1/4画素精度。除了预定义的默认精度之外的另一精度可以包括整数画素、4画素、1/8画素和/或1/16画素精度中的至少一个。
解码器基于MVD精度标志值检查是否应用自适应仿射MVD精度模式(S4408)。如果应用自适应仿射MVD精度模式,则解码器以除了默认精度以外的另一精度推导针对两个控制点的MVD(S4409)。在一个实施方式中,如果应用自适应仿射MVD精度模式,即,如果应用除了默认精度以外的另一精度,则编码器可以将指示预设精度当中的特定精度的语法元素发送到解码器。
如果不应用自适应仿射MVD精度模式,则解码器以默认精度推导针对两个控制点的MVD(S4410)。
在一个实施方式中,可以通过比特流来发信号通知针对仿射MVD的精度。为此,编码器可以向解码器发信号通知更高级别的语法元素。例如,可以通过序列参数集、图片参数集、条带报头(或图块组报头)等来发信号通知更高级别的语法元素。此外,例如,编码器可以生成set_affine_MVD_precision_flag,并且可以将set_affine_MVD_precision_flag发信号通知给解码器。在这种情况下,set_affine_MVD_precision_flag表示指示仿射MVD的精度的更高级别的语法元素。
例如,set_affine_MVD_precision_flag可以指示仿射MVD的精度是否为预定义的默认(或基本)精度(例如,1/4画素精度)。如果不应用预定义的默认精度,则set_affine_MVD_precision_flag可以包括其他项精度信息。可以从编码器向解码器发信号通知附加精度信息。也就是说,编码器可以将指示仿射MVD的精度是否是预定义的默认精度(例如,1/4画素精度)的语法元素发送到解码器。如果仿射MVD的精度不是预定义的默认精度,则编码器可以将指示仿射MVD的详细精度的语法元素发送到解码器。例如,仿射MVD的详细精度可以包括整数画素、4画素、1/8画素或1/16画素精度中的至少一个。
另选地,例如,语法元素可以指示是否以更高的精度发送仿射MVD。
在一个实施方式中,可以根据表2将语法报头的位置概括为high_level_parameter_set()。此外,在一个实施方式中,辅助语法元素可以用作用于指示详细精度的语法元素(索引或标志)。
[表2]
Figure BDA0002882273210000501
在表2中,当set_affine_MVD_precision_flag为1时,这可以指示set_affine_MVD_precision_flag存在于编码视频序列(CVS)的非IDR图片的条带报头内。此外,当set_affine_MVD_precision_flag为0时,这可以指示set_affine_precision_flag不存在于条带报头中,并且在CVS中不使用根据本实施方式的自适应仿射MVD。
此外,在一个实施方式中,可以另外发信号通知用于指示详细精度信息的语法元素。例如,可以定义根据表3的语法结构。
[表3]
Figure BDA0002882273210000502
在表3中,slice_affine_mvd_precision_idx表示指示仿射MVD的特定(详细)精度的语法元素。在本公开中,slice_affine_mvd_precision_idx的名称不受限制,并且用于指示仿射MVD的特定精度的语法元素可以被表示为标志。此外,在表3中,假设在条带片段报头(slice segment header)中包括指示仿射MVD的特定精度的语法元素的情况,但是本公开不限于此。条带片段报头中可以包括具有各种级别的语法。例如,指示仿射MVD的特定(详细)精度的语法元素可以被包括在编码树单元语法或编码单元语法中。
在一个实施方式中,当slice_affine_mvd_precision_idx为0时,这可以指示1/4画素的默认的MVD精度。类似地,索引值1可以指示1/8画素的MVD精度,并且索引值2可以指示1/16画素的MVD精度。
实施方式2:熵和GOLOMB参数
本公开的一个实施方式提出了一种使用其中改变了MVD统计(MVD statistic)的特征的方法。具体地,帧间编码块的MVD统计取决于针对仅平移运动的运动模型。然而,仿射MVD的统计与普通AMVP块的统计不同,这是因为以仿射模式编码的预测单元(或编码块或编码单元)使用了其中考虑了其他各种运动的仿射运动模型。这意味着不应一般地使用相同的熵编码方法和/或参数来对所有块的MVD进行编码。
如以上参照图41至图43所述,在常规图像压缩技术中,当MVD的水平和垂直方向上的绝对值大于1时,使用阶数为1的指数Golomb码执行解码。当表示相似模式的数量或一组数量而不限制可以表示的最大数量时,指数Golomb码可以是非常有效的。
指数Golomb码的级数(degree)(在下文中可以称为Golomb级数)包含符号可能出现的可能性。在常规图像压缩技术中,无论MVD值的分布如何,都使用级数1。但是,在仿射运动的情况下,不必保持与该方法相同的方法。因此,本公开提出了一种具有取决于仿射MVD值的范围的级数的指数Golomb码。在一个实施方式中,编码器/解码器可以使用与图45的方法相同的方法来选择MVD的范围的划分,但是本公开不限于此。直方图分析在确定MVD绝对值的范围时可以是很有用的。可以对最频繁的值(most frequent value)进行分组,并且可以使用另一个Golomb级数对MVD的每个子区域(或范围)进行编码。
这可以是非常有效的,因为可以使用相同的级数对相似的MVD值进行编码。具体地,在仿射运动中,左侧和右侧的控制点可以具有非常紧密的关系。编码器/解码器可以使用任何一个控制点的统计来确定另一控制点的最可能的区域(或范围),并且可以基于最可能的区域(或范围)选择各种Golomb级数。
本公开的一个实施方式提出了一种在执行针对MVD的熵编码时依赖于运动模型的唯一统计(unique statistic)的熵编码方法,而不是恒定熵编码方法。参照附图对此进行描述。
图45是示出根据应用了本公开的一个实施方式的运动矢量差的编码结构的图。
参照图45,为了便于描述,主要描述了解码器,但是本公开不限于此。发信号通知仿射运动矢量差信息的方法可以基本上相同地应用于编码器。
在本公开的一个实施方式中,当MVD值大于0时,解码器可以基于给定的整数N值划分大于0的MVD而不受限制,诸如常规的MVDxGR1和MVDyGR1。此外,可以基于MVD值的分布来确定N。
具体地,解码器检查指示MVD值是否大于0的语法元素(标志)MVDxGR_0和MVDyGR_0(S4501,S4511)。当MVDxGR_0和/或MVDyGR_0值为0时,每个方向(水平或垂直方向)上的MVD值被认为是0。
当MVDxGR_0和MVDyGR_0的值为1时,解码器检查MVDxGR_N和MVDyGR_N语法元素(标志)(S4502,S4512)。当MVDxGR_N和/或MVDyGR_N值为1时,解码器使用Golomb级数k1(即,级数1),基于具有绝对值-N-1(Abs-N-1)的输入的指数Golomb码来对每个方向上的MVD值进行解码(或解析)(S4503,S4513)。
当MVDxGR_N和/或MVDyGR_N值为0时,解码器基于除Golomb级数k1之外的另一个级数使用指数Golomb码来对每个方向上的MVD值进行解码(或解析)(S4504,S4514)。在一个实施方式中,Golomb级数k2(即,级数2)的指数Golomb二进制化(binarization)可以用于对大于0且小于或等于N的相应绝对值进行编码/解码。
解码器对每个方向上的MVD的符号进行解码(或解析)(S4505,S4515)。
此外,在一个实施方式中,编码器/解码器可以将不同的二进制化应用于被划分为0和N的部分中的每个。例如,编码器/解码器可以使用指数Golomb码来对大于0且小于N的绝对值进行编码,并且可以使用截断二进制(truncated binary,TB)(或截断一元二进制化,truncated unary binarization)来对大于N的绝对值进行编码。
实施方式3:MVD的精度控制与熵和GOLOMB参数
本公开的一个实施方式提出了一种将两个实施方式(实施方式1和2)组合的方法。换句话说,本公开的一个实施方式可以包括将上述两个实施方式组合的特征。具体地,本公开的一个实施方式提出了一种集成针对MVD的精度信息和熵编码的方法。
图46是示出根据本公开的一个实施方式的基于精度信息推导仿射运动矢量的方法的图。
参照图46,为了便于描述,主要描述了解码器,但是本公开不限于此。发信号通知仿射运动矢量差信息的方法可以基本上相同地应用于编码器。
如果已经激活了精度控制功能,则解码器解析指示特定精度的语法元素(S4601)。在图46中,语法元素被表示为精度索引,但是不限于这种名称。
解码器基于在步骤S4601检查的精度,在水平/垂直方向上解析MVD值(S4602)。
在一个实施方式中,精度索引可以指示诸如1/16画素或1/8画素的高精度,并且可以指示诸如整数画素或4画素的低精度。例如,如果指示是否应用自适应仿***度模式的语法元素(例如,set_affine_MVD_precision_flag)为真,则解码器可以另外检查指示特定精度的语法元素(例如,slice_affine_mvd_precision_idx)。解码器可以确定基于指示特定精度的语法元素编码的MVD的精度。此外,解码器可以基于所确定的精度来在水平/垂直方向上解析MVD信息。
在一个实施方式中,在基于所确定的精度对MVD进行解码时,可以应用在实施方式2中描述的方法。如果应用高精度,则当水平和/或垂直方向上的MVD值大于0时,解码器可以解析MVDx_GR_N和/或MVDy_GR_N。如上所述,解码器可以在绝对值大于N时应用第一二进制化,并且可以在绝对值小于或等于N时应用第二二进制化(或二进制化方法)。例如,解码器可以将级数为1的指数Golomb码用作第一二进制化,并且可以将截断的二进制(TB)(或截断一元二进制化)用作第二二进制化。如果应用了低精度(例如,1/4、1或4画素精度),则解码器可以使用第三二进制化来执行MVD解码。例如,解码器可以将截断一元二进制化用作第三二进制化。
图47是示出根据应用了本公开的一个实施方式的运动矢量差的编码结构的图。
参照图47,为了便于描述,主要描述了解码器,但是本公开不限于此。发信号通知仿射运动矢量差信息的方法可以基本上相同地应用于编码器。
在本公开的一个实施方式中,当MVD值大于0时,解码器可以基于给定的整数N值划分大于0的MVD值而没有如在常规MVDxGR1和MVDyGR1中那样受到限制。此外,可以基于MVD值的分布来确定N。
具体地,解码器检查指示MVD值是否是大于0的语法元素(标志)MVDxGR_0和MVDyGR_0(S4701,S4711)。当MVDxGR_0和/或MVDyGR_0值为0时,每个方向(水平和/或垂直方向)上的MVD值都被认为是0。
当MVDxGR_0和MVDyGR_0的值为1时,解码器检查当前块的MVD精度是否高于预定义的精度(S4702,S4711)。例如,预定义的精度可以是1画素、1/4画素或1/8画素精度。
当当前MVD精度高于预定义的精度时,解码器检查MVDxGR_N和MVDyGR_N语法元素(标志)(S4703,S4713)。
当MVDxGR_N和/或MVDyGR_N值为1时,解码器使用第一二进制化(或二进制化方法)对每个方向上的MVD值进行解码(或解析)(S4704,S4714)。例如,第一二进制化可以是Golomb级数为k1(即,级数1)的指数Golomb码方法。也就是说,解码器可以使用Golomb级数k1基于具有绝对值-N(Abs-N)作为输入的指数Golomb码来对每个方向上的MVD值进行解码(或解析)。
当MVDxGR_N和/或MVDyGR_N值为0时,解码器使用第二二进制化对每个方向上的MVD值进行解码(或解析)(S4705,S4715)。例如,第二二进制化可以是使用除Golomb级数k1之外的另一级数的指数Golomb码,并且可以是截断二进制(TB)(或截断一元二进制化)。
当当前MVD精度小于或等于预定义的精度时,解码器使用第三二进制化对每个方向上的MVD值进行解码(或解析)(S4706,S4716)。例如,第三二进制化可以是使用除Golomb级数k1之外的另一级数的指数Golomb码,并且可以是截断的二进制(TB)(或截断的一元二进制化)。
解码器对每个方向上的MVD的符号进行解码(或解析)(S4707,S4717)。
为了便于描述,已经对本公开的前述实施方式进行了划分和描述,但是本公开不限于此。也就是说,可以独立地执行所描述的实施方式1至3,并且可以组合并执行一个或更多个实施方式。
图48是示出根据应用了本公开的一个实施方式的基于仿射预测生成帧间预测块的方法的流程图。
参照图48,为了便于描述,主要描述了解码器,但是本公开不限于此。根据本公开的一个实施方式的生成帧间预测块的方法可以在编码器和解码器中相同地执行。
解码器检查是否将仿射预测(或仿射运动预测)应用于当前块(S4801)。
如果作为检查的结果,仿射预测被应用,则解码器获得指示用于仿射预测的运动矢量差的分辨率(或精度或精确度)的至少一个语法元素(S4802)。
解码器基于所述至少一个语法元素来推导当前块的控制点运动矢量(S4803)。
解码器基于控制点运动矢量来推导当前块中包括的多个子块中的每一个的运动矢量(S4804)。
解码器使用每个子块的运动矢量来生成当前块的预测样本(S4805)。
如上所述,步骤S4802可以包括获得指示运动矢量差的分辨率是否是预设的默认分辨率的第一语法元素的步骤,以及如果运动矢量差的分辨率不是默认分辨率,则获得指示除默认分辨率之外的各项剩余分辨率当中的运动矢量差的分辨率的第二语法元素。
此外,如上所述,可以将默认分辨率预先设置为1/4像素精度。
此外,如上所述,各项剩余分辨率可以包括整数像素精度、4像素精度、1/8像素精度或1/16像素精度中的至少一种精度。
此外,如上所述,步骤S4804还可以包括以下步骤:使用至少一个语法元素来确定运动矢量差的分辨率的步骤;以及基于运动矢量差的分辨率获得运动矢量差的步骤。
此外,如上所述,获得运动矢量差的步骤还可以包括获得指示运动矢量差是否大于0的标志的步骤,以及当运动矢量差大于0时,获得指示运动矢量差是否大于预定义的特定值的标志的步骤。
此外,如上所述,当运动矢量差大于0且小于或等于预定义的特定值时,可以使用阶数为1的指数Golomb码对运动矢量差进行二进制化(binarized)。当运动矢量差大于预定义的特定值时,可以使用截断二进制化方法对运动矢量差进行二进制化。
图49是示出根据应用了本公开的一个实施方式的基于仿射预测的帧间预测设备的图。
在图49中,为了便于描述,帧间预测单元被示为一个块,但是帧间预测单元可以被实现为被包括在编码器和/或解码器中的结构。
参照图49,帧间预测单元实现图8至图48中提出的功能、过程和/或方法。具体地,帧间预测单元可以被配置为包括仿射预测模式识别单元4901、语法元素获取单元4902、控制点运动矢量推导单元4903、子块运动矢量推导单元4904和预测样本生成单元4905。
仿射预测模式识别单元4901检查是否将仿射预测应用于当前块。
如果作为检查的结果,应用仿射预测,则语法元素获取单元4902获得指示用于仿射预测的运动矢量差的分辨率的至少一个语法元素。
控制点运动矢量推导单元4903基于所述至少一个语法元素来推导当前块的控制点运动矢量。
子块运动矢量推导单元4904基于控制点运动矢量来推导当前块中包括的多个子块中的每一个的运动矢量。
预测样本生成单元4905使用每个子块的运动矢量来生成当前块的预测样本。
如上所述,语法元素获取单元4902可以获得指示运动矢量差的分辨率是否是预设的默认分辨率的第一语法元素,并且如果运动矢量差的分辨率不是默认分辨率,则可以获取指示除默认分辨率之外的各项剩余分辨率中的运动矢量差的分辨率的第二语法元素。
此外,如上所述,默认分辨率被预先设置为1/4像素精度。
此外,如上所述,各项剩余分辨率可以包括整数像素精度、4像素精度、1/8像素精度或1/16像素精度中的至少一种精度。
此外,如上所述,控制点运动矢量推导单元4903可以使用所述至少一个语法元素来确定运动矢量差的分辨率,并且可以基于运动矢量差的分辨率获得运动矢量差。
此外,如上所述,控制点运动矢量推导单元4903可以获得指示运动矢量差是否大于0的标志,并且当运动矢量差大于0时,可以获得指示运动矢量差是否大于预定义的特定值的标志。
此外,如上所述,当运动矢量差大于0且小于或等于预定义的特定值时,可以使用阶数为1的指数Golomb码对运动矢量差进行二进制化。当运动矢量差大于预定义的特定值时,可以使用截断二进制化方法对运动矢量差进行二进制化。
图50示出应用了本公开的视频编码***。
视频编码***可以包括源装置和接收装置。源装置可以通过数字存储介质或网络以文件或流格式将经编码的视频/图像信息或数据转发到接收装置。
源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以被包括在编码设备中。接收器可以被包括在解码设备中。渲染器可以包括显示单元,并且显示单元可以被构造为独立装置或外部组件。
视频源可以通过诸如捕获、合成或生成的过程获得视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。例如,视频/图像捕获装置可以包括一个或多个相机和包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以例如包括计算机、平板电脑和智能电话,并且可以例如(电)生成视频/图像。例如,可以通过计算机生成虚拟视频/图像,并且在这种情况下,视频/图像捕获过程可以由生成相关数据的过程代替。
编码设备可以对输入视频/图像进行编码。编码设备可以执行包括用于压缩和编码效率的预测、变换和量化等的一系列处理。
发送器可以通过数字存储介质或网络以文件或流格式将以比特流格式输出的经编码的视频/图像信息或数据转发到接收装置的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD和SSD等的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以提取比特流并将其转发到解码设备。
解码设备可以执行包括与编码设备的操作相对应的去量化、逆变换和预测等的一系列处理,并且对视频/图像进行解码。
渲染器可以对经解码的视频/图像进行渲染。经渲染的视频/图像可以通过显示单元显示。
图51是作为应用了本公开的一个实施方式的内容流传输***的配置图。
参照图51,应用了本公开的内容流传输***可以包括编码服务器、流服务器、Web服务器、媒体存储装置、用户设备和多媒体输入装置。
编码服务器用于将从诸如智能手机、照相机和便携式摄像机的多媒体输入装置输入的内容压缩为数字数据,以生成比特流并将比特流发送到流服务器。作为另一示例,当诸如智能电话、照相机和便携式摄像机的多媒体输入装置直接生成比特流时,可以省略编码服务器。
可以通过应用了本公开的编码方法或比特流生成方法来生成比特流,并且流服务器可以在发送或接收比特流的过程中临时存储比特流。
流服务器基于通过Web服务器的用户请求将多媒体数据发送到用户设备,并且Web服务器用作向用户通知服务的介质。当用户向Web服务器发送对所需服务的请求时,Web服务器将请求传递到流服务器,并且流服务器将多媒体数据发送给用户。这里,内容流***可以包括附加的控制服务器,并且在这种情况下,控制服务器用于控制内容流***中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,流服务器可以实时接收内容。在这种情况下,流服务器可以将比特流存储预定时间以便于提供流畅的流服务。
用户设备的示例可以包括蜂窝电话、智能电话、膝上型计算机、数字广播终端、PDA(个人数字助理)、PMP(便携式多媒体播放器)、导航装置、板式电脑、平板电脑、超级本、可穿戴装置(例如,智能手表、智能眼镜和HMD(头戴式显示器))、数字电视、台式计算机和数字标牌等。
内容流***中的每个服务器可以作为分布式服务器来操作,并且在这种情况下,可以以分布式方式处理每个服务器接收的数据。
本公开中描述的实施方式可以在处理器、微处理器、控制器或芯片上实现和执行。例如,附图中示出的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现和执行。
此外,应用了本公开的解码器和编码器可以被包括在多媒体广播发送和接收装置、移动通信终端、家庭影院视频装置、数字电影视频装置、用于监视的摄像机、视频对话装置、诸如视频通信的实时通信装置、移动流装置、存储介质、便携式摄像机、视频点播(VoD)服务提供装置、互联网(OTT)视频装置、互联网流服务提供装置、三维(3D)视频装置、视频电话装置和医疗视频装置,并且可以用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院***、智能手机、平板电脑和数字录像机(DVR)。
此外,可以以由计算机执行的程序的形式来产生应用了本公开的处理方法,并且可以将其存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括其中存储计算机可读数据的所有类型的存储装置。例如,计算机可读记录介质可以包括蓝光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载体形式实现的介质(例如,通过互联网的传输)。此外,使用编码方法生成的比特流可以存储在计算机可读记录介质中,或者可以在有线和无线通信网络上传输。
此外,本公开的一个实施方式可以被实现为使用程序代码的计算机程序产品。根据本公开的一个实施方式的程序代码可以由计算机执行。程序代码可以存储在计算机可读的载体上。
在前述实施方式中,已经以特定形式组合了本公开的元件和特征。除非另外明确描述,否则可以将每个元件或特征视为可选的。每个元件或特征可以以不与其它元件或特征组合的形式实现。此外,一些元件和/或特征可以组合以形成本公开的一个实施方式。在本公开的实施方式中描述的操作顺序可以改变。一个实施方式的某些元件或特征可以被包括在另一实施方式中,或者可以用另一实施方式的相应元件或特征来代替。显然,可以通过组合在权利要求中不具有明确引用关系的权利要求来构造实施方式,或者可以在提交申请后通过修改将其作为新权利要求包括在内。
根据本公开的实施方式可以通过例如硬件、固件、软件或其组合的各种方式来实现。在通过硬件实现的情况下,可以使用一个或更多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器和微处理器等来实现本公开的实施方式。
在通过固件或软件实现的情况下,本公开的实施方式可以以用于执行上述功能或操作的模块、过程或功能的形式来实现。软件代码可以存储在存储器中并由处理器驱动。存储器可以位于处理器内部或外部,并且可以通过各种已知方式与处理器交换数据。
对于本领域技术人员显而易见的是,在不脱离本公开的基本特征的情况下,本公开可以以其他特定形式来实现。因此,详细描述不应被解释为限制性的,而应被解释为从所有方面都是说明性的。本公开的范围应通过对所附权利要求的合理分析来确定,并且在本公开的等同范围内的所有改变都包括在本公开的范围内。
[工业适用性]
出于说明的目的已经公开了本公开的上述优选实施方式,并且在不脱离所附权利要求书公开的技术精神和范围的前提下,本领域技术人员可以进行改进、改变、替代或增加各种其它实施方式。

Claims (14)

1.一种使用仿射预测来处理视频信号的方法,该方法包括以下步骤:
检查所述仿射预测是否被应用于当前块;
如果作为检查的结果应用所述仿射预测,则获得指示在所述仿射预测中使用的运动矢量差的分辨率的至少一个语法元素;
基于所述至少一个语法元素推导所述当前块的控制点运动矢量;
基于所述控制点运动矢量推导所述当前块中包括的多个子块中的每一个的运动矢量;以及
使用每个所述子块的所述运动矢量生成所述当前块的预测样本。
2.根据权利要求1所述的方法,其中,获得所述至少一个语法元素的步骤包括以下步骤:
获得指示所述运动矢量差的所述分辨率是否是预设的默认分辨率的第一语法元素;以及
当所述运动矢量差的所述分辨率不是所述默认分辨率时,获得指示除所述默认分辨率之外的各项剩余分辨率当中的所述运动矢量差的所述分辨率的第二语法元素。
3.根据权利要求2所述的方法,
其中,所述默认分辨率被预先设置为1/4像素精度。
4.根据权利要求2所述的方法,
其中,所述各项剩余分辨率包括整数像素精度、4像素精度、1/8像素精度或1/16像素精度中的至少一种精度。
5.根据权利要求1所述的方法,
其中,推导所述控制点运动矢量的步骤包括以下步骤:
使用所述至少一个语法元素来确定所述运动矢量差的所述分辨率;以及
基于所述运动矢量差的所述分辨率获得所述运动矢量差。
6.根据权利要求5所述的方法,
其中,获得所述运动矢量差的步骤包括以下步骤:
获得指示所述运动矢量差是否大于0的标志;以及
当所述运动矢量差大于0时,获得指示所述运动矢量差是否大于预定义的特定值的标志。
7.根据权利要求6所述的方法,
其中,当所述运动矢量差大于0并且小于或等于所述预定义的特定值时,使用阶数为1的指数Golomb码对所述运动矢量差进行二进制化,并且
其中,当所述运动矢量差大于所述预定义的特定值时,使用截断二进制化方法对所述运动矢量差进行二进制化。
8.一种用于使用仿射预测来处理视频信号的设备,该设备包括:
仿射预测模式识别单元,所述仿射预测模式识别单元被配置为检查所述仿射预测是否被应用于当前块;
语法元素获取单元,所述语法元素获取单元被配置为如果作为检查的结果应用所述仿射预测,则获得指示在所述仿射预测中使用的运动矢量差的分辨率的至少一个语法元素;
控制点运动矢量推导单元,所述控制点运动矢量推导单元被配置为基于所述至少一个语法元素来推导所述当前块的控制点运动矢量;
子块运动矢量推导单元,所述子块运动矢量推导单元被配置为基于所述控制点运动矢量来推导所述当前块中包括的多个子块中的每一个的运动矢量;以及
预测样本生成单元,所述预测样本生成单元被配置为使用每个所述子块的所述运动矢量来生成所述当前块的预测样本。
9.根据权利要求8所述的设备,
其中,所述语法元素获取单元被配置为:
获得指示所述运动矢量差的所述分辨率是否是预设的默认分辨率的第一语法元素,并且
当所述运动矢量差的所述分辨率不是所述默认分辨率时,获得指示除所述默认分辨率之外的各项剩余分辨率当中的所述运动矢量差的所述分辨率的第二语法元素。
10.根据权利要求9所述的设备,
其中,所述默认分辨率被预先设置为1/4像素精度。
11.根据权利要求9所述的设备,
其中,所述各项剩余分辨率包括整数像素精度、4像素精度、1/8像素精度或1/16像素精度中的至少一种精度。
12.根据权利要求8所述的设备,
其中,所述控制点运动矢量推导单元被配置为:
使用所述至少一个语法元素来确定所述运动矢量差的所述分辨率;并且
基于所述运动矢量差的所述分辨率来获得所述运动矢量差。
13.根据权利要求12所述的设备,
其中,所述控制点运动矢量推导单元被配置为:
获得指示所述运动矢量差是否大于0的标志;并且
当所述运动矢量差大于0时,获得指示所述运动矢量差是否大于预定义的特定值的标志。
14.根据权利要求13所述的设备,
其中,当所述运动矢量差大于0并且小于或等于所述预定义的特定值时,使用阶数为1的指数Golomb码对所述运动矢量差进行二进制化,并且
其中,当所述运动矢量差大于所述预定义的特定值时,使用截断二进制化方法对所述运动矢量差进行二进制化。
CN201980045121.9A 2018-07-02 2019-07-02 通过使用仿射预测处理视频信号的方法和设备 Pending CN112385230A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862693390P 2018-07-02 2018-07-02
US62/693,390 2018-07-02
PCT/KR2019/008087 WO2020009449A1 (ko) 2018-07-02 2019-07-02 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
CN112385230A true CN112385230A (zh) 2021-02-19

Family

ID=69059388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980045121.9A Pending CN112385230A (zh) 2018-07-02 2019-07-02 通过使用仿射预测处理视频信号的方法和设备

Country Status (4)

Country Link
US (1) US20210105481A1 (zh)
KR (2) KR102608181B1 (zh)
CN (1) CN112385230A (zh)
WO (1) WO2020009449A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111919448A (zh) * 2018-01-26 2020-11-10 韩国电子通信研究院 用于使用时间运动信息的图像编码和图像解码的方法和设备
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
EP3850849A1 (en) * 2018-09-13 2021-07-21 InterDigital VC Holdings, Inc. Improved virtual temporal affine candidates
US11418793B2 (en) * 2018-10-04 2022-08-16 Qualcomm Incorporated Adaptive affine motion vector coding
US11190789B2 (en) 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding using inter-prediction mode signaling to dertermine motion vectors

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1378750A (zh) * 1999-08-11 2002-11-06 诺基亚有限公司 用于压缩运动矢量场的装置和方法
CN101600106A (zh) * 2009-06-22 2009-12-09 北京大学 一种全局运动估计方法及装置
CN105163116A (zh) * 2015-08-29 2015-12-16 华为技术有限公司 图像预测的方法及设备
WO2017052009A1 (ko) * 2015-09-24 2017-03-30 엘지전자 주식회사 영상 코딩 시스템에서 amvr 기반한 영상 코딩 방법 및 장치
US20180070102A1 (en) * 2015-05-15 2018-03-08 Huawei Technologies Co., Ltd. Adaptive Affine Motion Compensation Unit Determing in Video Picture Coding Method, Video Picture Decoding Method, Coding Device, and Decoding Device
US20180098089A1 (en) * 2016-10-04 2018-04-05 Qualcomm Incorporated Adaptive motion vector precision for video coding
CN107925758A (zh) * 2015-08-04 2018-04-17 Lg 电子株式会社 视频编译***中的帧间预测方法和设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9854253B2 (en) * 2014-06-30 2017-12-26 Qualcomm Incorporated Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data
CN106331722B (zh) * 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
US10560699B2 (en) * 2015-11-13 2020-02-11 Lg Electronics Inc. Method and apparatus for adaptively predicting image using threshold value in image coding system
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
KR20180043151A (ko) * 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1378750A (zh) * 1999-08-11 2002-11-06 诺基亚有限公司 用于压缩运动矢量场的装置和方法
CN101600106A (zh) * 2009-06-22 2009-12-09 北京大学 一种全局运动估计方法及装置
US20180070102A1 (en) * 2015-05-15 2018-03-08 Huawei Technologies Co., Ltd. Adaptive Affine Motion Compensation Unit Determing in Video Picture Coding Method, Video Picture Decoding Method, Coding Device, and Decoding Device
CN107925758A (zh) * 2015-08-04 2018-04-17 Lg 电子株式会社 视频编译***中的帧间预测方法和设备
CN105163116A (zh) * 2015-08-29 2015-12-16 华为技术有限公司 图像预测的方法及设备
WO2017052009A1 (ko) * 2015-09-24 2017-03-30 엘지전자 주식회사 영상 코딩 시스템에서 amvr 기반한 영상 코딩 방법 및 장치
US20180270485A1 (en) * 2015-09-24 2018-09-20 Lg Electronics Inc. Amvr-based image coding method and apparatus in image coding system
US20180098089A1 (en) * 2016-10-04 2018-04-05 Qualcomm Incorporated Adaptive motion vector precision for video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AKULA, SRI NITCHITH ET AL: "Description of SDR, HDR and 360° video coding technology proposal considering mobile application scenario by Samsung, Huawei, GoPro, and HiSilicon", JVET-J0024. JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11. 10TH MEETING, pages 55 - 57 *
朱映映,周洞汝,蔡波: "基于DC系数和运动矢量的快速场景分割算法", 小型微型计算机***, no. 04 *

Also Published As

Publication number Publication date
KR102608181B1 (ko) 2023-11-30
KR20210022760A (ko) 2021-03-03
KR20230165377A (ko) 2023-12-05
WO2020009449A1 (ko) 2020-01-09
US20210105481A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
CN112740695A (zh) 使用间预测处理视频信号的方法和装置
JP7141463B2 (ja) インター予測モードに基づいた映像処理方法およびそのための装置
CN112204964B (zh) 基于帧间预测模式的图像处理方法及其装置
CN112385213B (zh) 基于帧间预测模式处理图像的方法和用于该方法的设备
CN112385230A (zh) 通过使用仿射预测处理视频信号的方法和设备
CN111052739A (zh) 基于帧间预测模式的图像处理的方法和设备
US11877010B2 (en) Signaling method and device for merge data syntax in video/image coding system
US20230209090A1 (en) Image decoding method for residual coding and device for same
CN111903123B (zh) 基于帧间预测模式的图像处理方法和用于该方法的装置
KR20210150585A (ko) 비디오/영상 코딩 시스템에서 신택스 시그널링 방법 및 장치
KR20210149856A (ko) 비디오/영상 코딩 시스템에서 중복 시그널링 제거 방법 및 장치
US20220408095A1 (en) Image decoding method and apparatus therefor
WO2019194499A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US20240031604A1 (en) Image decoding method and apparatus therefor
KR20210148367A (ko) 인터 예측에 기반한 영상 코딩 방법 및 장치
US20230164361A1 (en) Image decoding method for coding image information including tsrc available flag, and device therefor
US20230164355A1 (en) Image decoding method and device therefor
US20220377343A1 (en) Method for image decoding for image information coding, and device therefor
US20230019471A1 (en) Image decoding method related to residual coding, and device therefor

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