[go: up one dir, main page]

CN114128285B - 用于利用帧间预测来编码和解码视频的方法和装置 - Google Patents

用于利用帧间预测来编码和解码视频的方法和装置 Download PDF

Info

Publication number
CN114128285B
CN114128285B CN202080043507.9A CN202080043507A CN114128285B CN 114128285 B CN114128285 B CN 114128285B CN 202080043507 A CN202080043507 A CN 202080043507A CN 114128285 B CN114128285 B CN 114128285B
Authority
CN
China
Prior art keywords
sample
block
affine
sub
motion prediction
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.)
Active
Application number
CN202080043507.9A
Other languages
English (en)
Other versions
CN114128285A (zh
Inventor
姜制远
朴相孝
朴胜煜
林和平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hyundai Motor Co
Ewha Womans University
Kia Corp
Original Assignee
Hyundai Motor Co
Ewha Womans University
Kia Corp
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 Hyundai Motor Co, Ewha Womans University, Kia Corp filed Critical Hyundai Motor Co
Priority to CN202410870380.8A priority Critical patent/CN118612457A/zh
Priority to CN202410870072.5A priority patent/CN118678097A/zh
Priority to CN202410871184.2A priority patent/CN118612458A/zh
Priority to CN202410871513.3A priority patent/CN118612459A/zh
Priority to CN202410871515.2A priority patent/CN118678098A/zh
Priority claimed from PCT/KR2020/007721 external-priority patent/WO2020251325A1/ko
Publication of CN114128285A publication Critical patent/CN114128285A/zh
Application granted granted Critical
Publication of CN114128285B publication Critical patent/CN114128285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本发明涉及编码的图像序列的逐块影像解码,所述影像解码包括:从比特流解码第一高级语法元素,以确定在序列级别上是否允许仿射运动预测的步骤;凭借第一高级语法元素,从比特流提取用于至少一个编码工具的每个的第二高级语法元素的步骤,从而确定在图像级别上是否允许至少一个编码工具的每个。所述至少一个编码工具包括仿射运动预测样本的逐样本调整。根据序列级别和图像级别的确定,影像解码装置对目标块和仿射运动预测样本的逐样本调整适应性地执行仿射运动预测。

Description

用于利用帧间预测来编码和解码视频的方法和装置
技术领域
本发明涉及视频的编码和解码,更具体地,本发明涉及用于改善帧间预测的压缩性能的编码工具。
背景技术
由于视频数据量大于语音数据量或静止图像数据量,因此在不进行压缩处理的情况下存储或传输视频数据需要大量的硬件资源(包括存储器)。相应地,在存储或传输视频数据时,通常利用编码器来压缩视频数据以进行存储或传输。然后,解码器接收压缩的视频数据,解压并再现视频数据。用于这种视频的压缩技术包括H.264/AVC和高效率视频编码(High Efficiency Video Coding,HEVC),所述高效率视频编码(HEVC)比H.264/AVC的编码效率提高了大约40%。
然而,图像大小、分辨率和帧速率逐渐增加,并且相应地,要编码的数据量也在增多。因此,需要一种与现有压缩技术相比具有更好的编码效率和更高的影像质量的新压缩技术。
在视频编码中,预测编码主要用于改善压缩性能。存在用于基于当前图像中的预先重构的样本来预测要编码的目标块的帧内预测以及用于利用预先重构的参考图像来预测当前块的帧间预测。特别地,帧间预测由于相比帧内预测展现出更好的压缩性能而广泛用于视频编码。
本发明提出了用于改善现有帧间预测的压缩性能的编码工具。
具体地,本发明涉及用于改善帧间预测的压缩性能的编码工具,并且在一个方面涉及能够补偿包括平移运动的物体的各种运动的编码工具。
发明内容
根据本发明的一个方面,提供了用于对编码的图像序列逐块解码的视频解码方法。所述方法包括:通过从比特流解码第一高级语法元素,在序列级别上设置是否允许仿射运动预测;根据第一高级语法元素,通过从比特流解码用于至少一个编码工具的每个的一个或更多个第二高级语法元素,在图像级别上设置是否允许至少一个编码工具的每个,所述至少一个编码工具包括仿射运动预测样本的逐样本调整;当在序列级别上的设置指示出允许仿射运动预测时,确定利用仿射运动预测而编码的目标块的多个控制点运动矢量,并且通过利用控制点运动矢量以子块为单位执行仿射运动预测,生成用于目标块中的每个子块的仿射预测样本;当基于在图像级别上的设置识别出对于包含目标块的当前图像允许仿射运动预测样本的逐样本调整时,通过基于目标块的控制点运动矢量,根据每个子块中的样本位置补偿运动来修改仿射预测样本的样本值。
根据本发明的另一个方面,提供了用于对编码的图像序列逐块解码的视频解码装置。所述装置包括解码器,所述解码器配置为:通过从比特流解码第一高级语法元素,在序列级别上设置是否允许仿射运动预测,并且根据第一高级语法元素,通过从比特流解码用于至少一个编码工具的每个的一个或更多个第二高级语法元素,在图像级别上设置是否允许至少一个编码工具的每个。特别地,至少一个编码工具包括仿射运动预测样本的逐样本调整。
所述装置还包括预测器,所述预测器配置为:当在序列级别上的设置指示出允许仿射运动预测时,确定利用仿射运动预测而编码的目标块的多个控制点运动矢量,并且通过利用控制点运动矢量执行逐子块仿射运动预测来生成用于目标块中的每个子块的仿射预测样本。响应于基于在图像级别上的设置识别出对于包含目标块的当前图像允许仿射运动预测样本的逐样本调整,预测器配置为通过基于目标块的控制点运动矢量,根据每个子块中的样本位置补偿运动来修改仿射预测样本的样本值。
根据本发明的另一个方面,提供了用于对编码的图像序列逐块编码的方法。所述方法包括:在序列头中编码序列级别的第一高级语法元素,以指示是否禁止仿射运动预测和至少一个编码工具两者,所述至少一个编码工具包括仿射运动预测样本的逐样本调整;根据第一高级语法元素,编码一个或更多个第二高级语法元素,所述第二高级语法元素指示关于是否允许至少一个编码工具的每个的序列级别或图像级别的设置;当第一高级语法元素指示出禁止仿射运动预测和至少一个编码工具两者时,确定用于要编码的目标块的控制点运动矢量,并且通过利用控制点运动矢量执行逐子块仿射运动预测来生成用于每个子块的仿射预测样本;当对于包含目标块的当前图像允许仿射运动预测样本的逐样本调整时,通过基于目标块的控制点运动矢量,根据每个子块中的样本位置补偿运动来修改仿射预测样本的样本值。
附图说明
图1是能够实现本发明的技术的视频编码装置的示例性框图。
图2示例性地示出了利用QTBTTT结构的块分区结构。
图3示例性地示出了多个帧内预测模式。
图4示例性地示出了当前块周围的相邻块。
图5是能够实现本发明的技术的视频解码装置的示例性框图。
图6是示出由本发明提供的双向预测光流的概念的示例性图。
图7是示出用于推导双向光流中的块边界样本的梯度的方法的示例性图。
图8和图9是示出由本发明提供的仿射运动预测的示例性图。
图10是示出用于从相邻块的平移运动矢量来推导用于仿射运动预测的合并候选的方法的示例性图。
图11是示出根据由本发明提供的照度补偿的实施方案,推导照度补偿参数的方法的示例性图。
图12是示出根据由本发明提供的照度补偿的另一个实施方案,将目标块分割为多个区域的方法的示例性图。
图13是示出根据由本发明提供的照度补偿的另一个实施方案,当将目标块分割为四个区域时确定要用于推导补偿参数的参考样本的方法的示例性图。
图14和图15是示出根据由本发明提供的照度补偿的另一个实施方案,当将目标块分割为四个区域时利用针对四个区域的照度补偿参数执行照度补偿的方法的示例性图。
图16和图17是示出根据由本发明提供的照度补偿的另一个实施方案,当将目标块分割为两个区域时对每个区域执行照度补偿的方法的示例性图。
图18是示出根据由本发明提供的照度补偿的另一个实施方案,当将目标块分割为多于四个区域的多个区域时对每个区域执行照度补偿的方法的示例性图。
具体实施方式
在下文中,将参考所附附图对本发明的一些实施方案进行详细描述。应当注意,在将附图标记添加到各个附图中的组成元件时,尽管元件在不同的附图中示出,但是相同的附图标记也表示相同的元件。此外,在本发明的以下描述中,将省略并入本文中的已知功能和配置的详细描述,以避免模糊本发明的主题。
图1是能够实现本发明的技术的视频编码装置的示例性框图。在下文中,将参考图1来描述视频编码装置以及该装置的元件。
视频编码装置包括:块分割器110、预测器120、减法器130、变换器140、量化器145、重排单元150、熵编码器155、逆量化器160、逆变换器165、加法器170、环路滤波单元180和存储器190。
视频编码装置的每个元件可以以硬件或软件、或者硬件和软件的组合来实现。各个元件的功能可以实现为软件,并且微处理器可以实现为执行对应于各个元件的软件功能。
一个视频由包括多个图像的一个或更多个序列组成。每个图像分割为多个区域,并且对每个区域执行编码。例如,一个图像分割为一个或更多个瓦片(tile)或/和切片(slice)。特别地,一个或更多个瓦片可以被定义为瓦片组。每个瓦片或切片分割为一个或更多个编码树单元(coding tree unit,CTU)。每个CTU通过树结构分割为一个或更多个编码单元(coding unit,CU)。应用于每个CU的信息被编码为CU的语法,并且共同应用于包括在一个CTU中的CU的信息被编码为CTU的语法。另外,共同应用于一个切片中的所有块的信息被编码为切片头的语法,而应用于构成一个或更多个图像的所有块的信息被编码在图像参数集(Picture Parameter Set,PPS)或图像头中。
此外,由多个图像组成的序列共同参考的信息被编码在序列参数集(SequenceParameter Set,SPS)中。此外,共同应用于一个瓦片或瓦片组的信息可以被编码为瓦片头或瓦片组头的语法。包括在SPS、PPS、切片头以及瓦片头或瓦片组头中的语法可以被称为高级语法。
块分割器110配置为确定编码树单元(CTU)的大小。关于CTU的大小(CTU尺寸)的信息被编码为SPS或PPS的语法,并且被传输至视频解码装置。另外,块分割器110配置为将构成视频的每个图像分割为具有预定大小的多个CTU,然后利用树结构来递归地分割CTU。在树结构中,叶节点用作编码单元(CU),所述编码单元(CU)是编码的基本单元。
树结构可以是四叉树(QuadTree,QT)、二叉树(BinaryTree,BT)、三叉树(TernaryTree,TT)、或由两个或更多个QT结构、BT结构和TT结构的组合形成的结构,所述四叉树(QT)即节点(或父节点)被分割为相同大小的四个从节点(或子节点),所述二叉树(BT)即节点被分割为两个从节点,所述三叉树(TT)即节点以1:2:1的比率被分割为三个从节点。例如,可以使用四叉树加二叉树(QuadTree plus BinaryTree,QTBT)结构,或者可以使用四叉树加二叉树三叉树(QuadTree plus BinaryTree TernaryTree,QTBTTT)结构。这里,BTTT可以统称为多类型树(multiple-type tree,MTT)。
图2示例性地示出QTBTTT分割树结构。如图2所示,CTU可以首先分割为QT结构。可以重复QT分割,直到分割块的大小达到QT中允许的叶节点的最小块大小MinQTSize。由熵编码器155对指示QT结构的每个节点是否被分割为下层的四个节点的第一标志(QT_split_flag)编码,并将其用信号通知视频解码装置。当QT的叶节点等于或小于BT中允许的根节点的最大块大小(MaxBTSize)时,可以进一步将其分割为一个或更多个BT结构或TT结构。BT结构和/或TT结构可以具有多个分割方向。例如,可以存在两个方向,即,水平地分割节点的块的方向和竖直地分割块的方向。
如图2所示,当MTT分割开始时,通过熵编码器155对指示节点是否被分割的第二标志(mtt_split_flag)、指示分割情况下的分割方向(竖直或水平)的标志、和/或指示分割类型(二叉或三叉)的标志编码,并将其用信号通知视频解码装置。替选地,在对指示每个节点是否被分割为下层的4个节点的第一标志(QT_split_flag)编码之前,可以对指示节点是否被分割的CU分割标志(split_cu_flag)编码。当CU分割标志(split_cu_flag)的值指示出没有执行分割时,节点的块成为分割树结构中的叶节点,并用作编码单元(CU),编码单元(CU)是编码的基本单元。当CU分割标志(split_cu_flag)的值指示出执行分割时,视频编码装置开始以上述方式从第一标志起对标志编码。
当利用QTBT作为树结构的另一个示例时,可以存在两种分割类型,即将块水平地分割为相同大小的两个块的类型(即,对称水平分割)和将块竖直地分割为相同大小的两个块的类型(即,对称竖直分割)。由熵编码器155对指示BT结构的每个节点是否被分割为下层的块的分割标志(split_flag)和指示分割类型的分割类型信息进行编码,并将其传输至视频解码装置。可以存在将节点的块分割为两个非对称块的额外类型。非对称分割类型可以包括以1:3的大小比率将块分割为两个矩形块的类型,或者对角线地分割节点的块的类型。
另外,CU可以根据CTU的QTBT或QTBTTT分割而具有各种大小。在下文中,与要编码或解码的CU(即,QTBTTT的叶节点)相对应的块被称为“当前块”。在采用QTBTTT分割时,当前块的形状可以是正方形或矩形。预测器120对当前块进行预测以生成预测块。预测器120包括帧内预测器122和帧间预测器124。
帧内预测器122配置为利用在包括当前块的当前图像中位于当前块周围的样本(参考样本)来预测当前块中的样本。根据预测方向,存在多个帧内预测模式。例如,如图3所示,多个帧内预测模式可以包括2种非方向模式和65种方向模式,所述2种非方向模式包括平面(planar)模式和DC模式。针对每种预测模式不同地定义要使用的相邻样本和等式。
帧内预测器122可以配置为确定对当前块编码时要使用的帧内预测模式。在一些示例中,帧内预测器122可以配置为利用若干帧内预测模式来对当前块编码,并且从测试的模式中选择要使用的适当的帧内预测模式。例如,帧内预测器122可以配置为利用若干测试的帧内预测模式的率失真(rate distortion)分析来计算率失真值,并且在测试的模式中选择具有最佳率失真特性的帧内预测模式。
帧内预测器122配置为多个帧内预测模式中的一个帧内预测模式,并且利用根据选择的帧内预测模式确定的相邻像素(参考像素)和等式来预测当前块。由熵编码器155对关于选择的帧内预测模式的信息编码,并将其传输至视频解码装置。帧间预测器124配置为通过运动补偿来生成当前块的预测块。另外,帧间预测器124配置为在比当前图像更早已被编码和解码的参考图像中搜索与当前块最相似的块,并且利用搜索到的块来生成当前块的预测块。
然后,帧间预测器配置为生成与当前图像中的当前块和参考图像中的预测块之间的位移(displacement)相对应的运动矢量(motion vector)。通常,对亮度(luma)分量执行运动估计,并且基于亮度分量计算的运动矢量用于亮度分量和色度分量两者。由熵编码器155对包括关于参考图像的信息和有关用于预测当前块的运动矢量的信息的运动信息进行编码,并将其传输至视频解码装置。
帧间预测器124可以配置为在参考图像或参考块上执行插值,以增加预测准确性。换句话说,通过向包括两个整数样本的多个连续整数样本应用滤波器系数来在两个连续整数样本之间插值子样本。当对插值的参考图像执行搜索与当前块最相似的块的操作时,运动矢量可以以小数样本单位的精度级表达,而不是以整数样本单位的精度级表达。
对要编码的每个目标区域,例如,诸如切片、瓦片、CTU或CU的每个单元,可以不同地设置运动矢量的精度或分辨率。当应用这样的自适应运动矢量分辨率时,应当针对每个目标区域用信号通知关于要应用于每个目标区域的运动矢量分辨率的信息。例如,当目标区域是CU时,用信号通知关于应用于每个CU的运动矢量分辨率的信息。关于运动矢量分辨率的信息可以是指示运动矢量差的精度的信息,这将随后描述。
帧间预测器124可以配置为利用双向预测来执行帧间预测。在双向预测中,帧间预测器124利用两个参考图像和表示各个参考图像中与当前块最相似的块位置的两个运动矢量。帧间预测器124配置为分别从参考图像列表0(RefPicList0)和参考图像列表1(RefPicList1)选择第一参考图像和第二参考图像,在各个参考图像中搜索与当前块相似的块,并且生成第一参考块和第二参考块。然后,帧间预测器124配置为通过对第一参考块和第二参考块进行平均或加权来生成用于当前块的预测块。然后,帧间预测器124配置为向编码器传送包括关于用于预测当前块的两个参考图像和两个运动矢量的信息的运动信息。
具体地,RefPicList0可以由在重构的图像中按显示顺序在当前图像之前的图像组成,并且RefPicList1可以由在重构的图像中按显示顺序在当前图像之后的图像组成。然而,实施方案不限于此。按显示顺序在当前图像之后的预先重构的图像可以进一步包括在RefPicList0中,相反地,在当前图像之前的预先重构的图像可以进一步包括在RefPicList1中。
可以利用各种方法来使对运动信息进行编码所需的比特数最小化。例如,在当前块的参考图像和运动矢量与相邻块的参考图像和运动矢量相同时,关于当前块的运动信息可以通过用于识别相邻块的编码信息发送到解码装置。这种方法称为“合并模式(mergemode)”。
在合并模式中,帧间预测器124从当前块的相邻块中选择预定数量的合并候选块(在下文中称为“合并候选”)。如图4所示,与当前图像中的当前块相邻的左侧块L、上侧块A、右上侧块AR、左下侧块BL和左上侧块AL的全部或部分可以用作用于推导合并候选的相邻块。此外,除了当前块所在的当前图像之外,位于参考图像内的块(其可以与用于预测当前块的参考图像相同或不同)可以用作合并候选。例如,在参考图像中与当前块处于相同位置处的同位块(co-located block)或与该同位块相邻的块可以额外地用作合并候选。
帧间预测器124利用这样的相邻块来配置包括预定数量的合并候选的合并列表。帧间预测器124配置为从合并列表中包括的合并候选之中选择要用作关于当前块的运动信息的合并候选,并且生成用于识别选择的候选的合并索引信息。生成的合并索引信息由编码器155编码并发送到解码装置。
用于对运动信息进行编码的另一种方法是AMVP模式。在AMVP模式中,帧间预测器124配置为利用当前块的相邻块来推导用于当前块的运动矢量的预测的运动矢量候选。在图2中的当前图像中,与当前块相邻的左侧块L、上侧块A、右上侧块AR、左下侧块BL和左上侧块AL的全部或部分可以用作用于推导预测的运动矢量候选的相邻块。此外,除了包括当前块的当前图像之外,位于参考图像内的块(其可以与用于预测当前块的参考图像相同或不同)可以用作用于推导预测的运动矢量候选的相邻块。例如,可以利用在参考图像中与当前块处于相同位置处的同位块或与该同位块相邻的块。
帧间预测器124配置为利用相邻块的运动矢量来推导预测的运动矢量候选,并且利用预测的运动矢量候选来确定用于当前块的运动矢量的预测的运动矢量。然后,通过将当前块的运动矢量减去预测的运动矢量来计算运动矢量差。
可以通过将预定义函数(例如,用于计算中值、平均值等的函数)应用于预测的运动矢量候选来获得预测的运动矢量。特别地,视频解码装置还知道预定义的功能。由于用于推导预测的运动矢量候选的相邻块已经被编码和解码,所以视频解码装置也已经知道相邻块的运动矢量。相应地,视频编码装置不需要对用于识别预测的运动矢量候选的信息进行编码。因此,在这种情况下,对关于运动矢量差的信息和关于用于预测当前块的参考图像的信息进行编码。
可以通过选择预测的运动矢量候选的任何一个来确定预测的运动矢量。具体地,用于识别选择的预测的运动矢量候选的信息与要用于预测当前块的关于运动矢量差的信息以及关于参考图像的信息一起被进一步编码。
减法器130配置为将当前块减去由帧内预测器122或帧间预测器124生成的预测块以生成残差块。变换器140可以配置为将残差块分割为一个或更多个子块,并且对一个或更多个子块应用变换,从而将变换块的残差值从样本域变换到频域。在频域中,变换块被称为包含一个或更多个变换系数值的系数块或变换块。二维变换核可以用于变换,而一维变换核可以分别用于水平变换和竖直变换。变换核可以基于离散余弦变换(discrete cosinetransform,DCT)、离散正弦变换(discrete sine transform,DST)等。
变换器140可以配置为利用残差块的整个大小作为变换单元来变换残差块中的残差信号。替选地,可以将残差块分割为多个子块,并且可以利用子块作为变换单元对子块中的残差信号进行变换。
变换器140可以配置为在水平方向和竖直方向上单独地变换残差块。对于变换,可以利用各种类型的变换函数或变换矩阵。例如,用于水平变换和竖直变换的成对变换函数可以被定义为多变换集(multiple transform set,MTS)。变换器140可以配置为选择MTS中具有最佳变换效率的一对变换函数,并且分别在水平方向和竖直方向上变换残差块。由熵编码器155对关于在MTS中选择的变换函数对的信息(mts_idx)编码,并将其用信号通知视频解码装置。
量化器145配置为利用量化参数对从变换器140输出的变换系数进行量化,并且将量化的变换系数输出到熵编码器155。对于一些块或帧,量化器145可以配置为不经变换而直接对相关残差块进行量化。量化器145可以配置为根据变换块中的变换系数的位置来应用不同的量化系数(缩放值)。可以对应用于二维布置的量化的变换系数的量化的系数的矩阵进行编码并用信号通知视频解码装置。
重排单元150可以配置为对用于量化的残差值的系数值进行重新分类。重排单元150可以配置为通过系数扫描(coefficient scanning)来将2维系数阵列改变为1维系数序列。例如,重排单元150可以配置为利用锯齿形扫描(zig-zag scan)或对角线扫描(diagonal scan)从直流(DC)系数向高频区域中的系数对系数进行扫描,以输出1维系数序列。根据变换单元的大小和帧内预测模式,可以利用竖直扫描或水平扫描代替锯齿形扫描,所述竖直扫描即在列方向上对系数的二维阵列进行扫描,所述水平扫描即在行方向上对二维块形状的系数进行扫描。换句话说,可以根据变换单元的大小和帧内预测模式在锯齿形扫描、对角线扫描、竖直扫描和水平扫描中确定要使用的扫描模式。
熵编码器155配置为利用诸如基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Code,CABAC)和指数哥伦布(exponential Golomb)的各种编码技术来对从重排单元150输出的一维量化的变换系数进行编码,以生成比特流。熵编码器155配置为对与块分割相关的信息(例如,CTU大小、CU分割标志、QT分割标志、MTT分割类型和MTT分割方向)编码,使得视频解码装置可以以与视频编码装置相同的方式来分割块。
另外,熵编码器155配置为对关于指示当前块是由帧内预测编码还是由帧间预测编码的预测类型的信息进行编码,并且根据预测类型对帧内预测信息(即,关于帧内预测模式的信息)或帧间预测信息(用于合并模式的合并索引,关于用于AMVP模式的参考图像索引和运动矢量差的信息)进行编码。此外,熵编码器155还对与量化有关的信息(也就是关于量化参数的信息和关于量化矩阵的信息)进行编码。
逆量化器160配置为对从量化器145输出的量化的变换系数进行逆量化,以生成变换系数。逆变换器165配置为将从逆量化器160输出的变换系数从频域变换到空域,并且重构残差块。
此外,加法器170配置为将重构的残差块和由预测器120生成的预测块相加,以重构当前块。重构的当前块中的样本在执行后续块的帧内预测时用作参考样本。环路滤波单元180配置为对重构的样本进行滤波,以减少由于基于块的预测和变换/量化而产生的块伪影(blocking artifacts)、振铃伪影(ringing artifacts)和模糊伪影(blurringartifacts)。环路滤波单元180可以包括去块滤波器182、样本自适应偏移(sampleadaptive offset,SAO)滤波器184或自适应环路滤波器(adaptive loop filter,ALF)186的至少一个。
去块滤波器182配置为对重构的块之间的边界进行滤波,以去除由逐块编码/解码引起的块伪影,并且SAO滤波器184对去块滤波的视频执行额外的滤波。SAO滤波器184是用于对由有损编码(lossy coding)引起的重构的样本与原始的样本之间的差进行补偿的滤波器,并且以将相对应的偏移和每个重构的样本相加的方式来执行滤波。ALF 186配置为通过对目标样本和目标样本的相邻样本应用滤波器系数来对要滤波的目标样本执行滤波。ALF 186可以配置为将包括在图像中的样本划分为预定组,然后确定要应用于相应组的一个滤波器,以对每个组差分地执行滤波。可以对关于要用于ALF的滤波器系数的信息进行编码,并且将其用信号通知视频解码装置。
通过环路滤波单元180滤波的重构的块存储在存储器190中。一旦一个图像中的所有块被重构,则重构的图像可以用作对后续要被编码的图像中的块进行帧间预测的参考图像。
图5是能够实现本发明的技术的视频解码装置的示例性功能框图。在下文中,将参考图5来描述视频解码装置和该装置的元件。视频解码装置可以包括:熵解码器510、重排单元515、逆量化器520、逆变换器530、预测器540、加法器550、环路滤波单元560和存储器570。
类似于图1的视频编码装置,视频解码装置的每个元件可以用硬件、软件或硬件和软件的组合来实现。此外,每个元件的功能可以用软件来实现,并且微处理器可以实现为执行对应于每个元件的软件功能。
熵解码器510配置为通过对由视频编码装置生成的比特流解码并提取与块分割相关的信息来确定要解码的当前块,并且提取重构当前块所需的预测信息和关于残差信号的信息等。另外,熵解码器510配置为从序列参数集(SPS)或图像参数集(PPS)中提取关于CTU大小的信息,确定CTU的大小,并且将图像分割为确定大小的CTU。然后,解码器配置为将CTU确定为树结构的最高层(即,根节点),并且提取关于CTU的分割信息,以利用树结构来分割CTU。
例如,当利用QTBTTT结构来分割CTU时,提取与QT的分割相关的第一标志(QT_split_flag),以将每个节点分割为子层的四个节点。对于与QT的叶节点相对应的节点,提取与MTT的分割有关的第二标志(MTT_split_flag)以及关于分割方向(竖直/水平)和/或分割类型(二叉/三叉)的信息,从而以MTT结构来分割对应的叶节点。相应地,以BT或TT结构来递归地分割QT的叶节点下方的每个节点。
作为另一个示例,当利用QTBTTT结构来分割CTU时,可以提取指示是否分割CU的CU分割标志(split_cu_flag)。当分割对应块时,可以提取第一标志(QT_split_flag)。在分割操作中,在零个或多个递归QT分割之后,每个节点都可能发生零个或多个递归MTT分割。例如,CTU可以配置为直接经历MTT分割而不经历QT分割,或者仅经历QT分割多次。
作为另一个示例,当利用QTBT结构来分割CTU时,提取与QT分割相关的第一标志(QT_split_flag),并且将每个节点分割为下层的四个节点。然后,提取指示是否以BT进一步分割与QT的叶节点相对应的节点的分割标志(split_flag)以及分割方向信息。
一旦通过树结构分割来确定要解码的当前块,熵解码器510就配置为提取关于指示当前块是被帧内预测还是被帧间预测的预测类型的信息。当预测类型信息指示帧内预测时,熵解码器510配置为提取用于当前块的帧内预测信息(帧内预测模式)的语法元素。当预测类型信息指示帧间预测时,熵解码器510配置为提取用于帧间预测信息的语法元素,也就是说,指示运动矢量和由运动矢量参考的参考图像的信息。
熵解码器510还配置为提取关于量化的当前块的变换系数的信息作为与量化有关的信息和关于残差信号的信息。重排单元515可以配置为以由视频编码装置执行的系数扫描的相反顺序,将由熵解码器510进行熵解码的一维量化的变换系数的序列改变为2维系数阵列(即,块)。
逆量化器520配置为利用量化参数对量化的变换系数进行逆量化。逆量化器520可以配置为向布置为二维的量化的变换系数应用不同的量化系数(缩放值)。逆量化器520可以配置为通过将来自视频编码装置的量化系数(缩放值)矩阵应用于量化的变换系数的2维系数阵列来执行逆量化。
逆变换器530配置为将逆量化的变换系数从频域逆变换到空域,以重构残差信号,从而生成重构的当前块的残差块。另外,当应用MTS时,逆变换器530配置为利用从视频编码装置用信号通知的MTS信息(mts_idx)来确定要分别在水平方向和竖直方向上应用的变换函数或变换矩阵,并且利用确定的变换函数在水平方向和竖直方向上对变换块中的变换系数进行逆变换。
预测器540可以包括帧内预测器542和帧间预测器544。在当前块的预测类型是帧内预测时,激活帧内预测器542,而在当前块的预测类型是帧间预测时,激活帧间预测器544。帧内预测器542配置为基于从熵解码器510提取的帧内预测模式的语法元素,在多个帧内预测模式中确定当前块的帧内预测模式,并且根据帧内预测模式,利用当前块周围的参考样本来预测当前块。
帧间预测器544配置为利用由熵解码器510提取的帧内预测模式的语法元素来确定当前块的运动矢量和由运动矢量参考的参考图像,并且基于运动矢量和参考图像来预测当前块。加法器550配置为通过将从逆变换器输出的残差块与从帧间预测器或帧内预测器输出的预测块相加来重构当前块。在对后续要被解码的块进行帧内预测时,重构的当前块中的样本用作参考样本。
环路滤波单元560可以包括去块滤波器562、SAO滤波器564或ALF 566的至少一个。去块滤波器562对重构的块之间的边界进行去块滤波,以去除由逐块解码引起的块伪影。SAO滤波器564配置为以在对相应的偏移进行去块滤波之后添加重构的块的方式执行滤波,以补偿由有损编码引起的重构的样本与原始的样本之间的差。ALF 566配置为通过对目标样本和目标样本的相邻样本应用滤波器系数来对要滤波的目标样本执行滤波。ALF 566可以配置为将图像中的样本划分为预定组,然后确定要应用于相应组的一个滤波器,以对每个组差分地执行滤波。基于关于从比特流解码的滤波器系数的信息来确定ALF的滤波器系数。
通过环路滤波单元560滤波的重构的块存储在存储器570中。当一个图像中的所有块被重构时,重构的图像用作对后续要被编码的图像中的块进行帧间预测的参考图像。
以下公开涉及用于改善帧间预测的压缩性能的编码工具,其可以由视频编码装置的帧间预测器124和视频解码装置的帧间预测器544来操作。如本文中所使用的,术语“目标块”可以具有与以上使用的术语“当前块”或“编码单元(CU)”相同的含义,或者可以表示CU的局部区域。
I.双向光流
双向光流是在假设构成视频的样本或物体以恒定的速度移动并且样本值几乎没有变化的情况下,对利用双向运动预测而预测的样本的运动进行额外补偿的技术。
图6是示出BIO的基本概念的示例性图。假设通过用于目标块的(正常的)双向运动预测,在参考图像Ref0和Ref1中已经确定了指向与当前图像中的要编码的目标块最相似的相应区域(即,参考块)的双向运动矢量MV0和MV1。这两个运动矢量具有表示整个目标块的运动的值。在图6的示例中,P0是由运动矢量MV0指示的并与目标块中的样本P相对应的参考图像Ref0中的样本,而P1是由运动矢量MV1指示的并与目标块中的样本P相对应的参考图像Ref1中的样本。
此外,假设图6中样本P的运动与目标块的整体运动略有不同。例如,当位于图6的Ref0中的样本A处的物体经由当前图像的目标块中的样本P向Ref1中的样本B移动时,样本A和样本B可以具有彼此非常相似的值。另外,在这种情况下,Ref0中与目标块中的样本P最相似的点不是由双向运动矢量MV0指示的P0,而是从P0移位了预定位移矢量(vxt0,vyt1)的样本A。Ref1中与目标块中的样本P最相似的点不是由双向运动矢量MV1指示的P1,而是从P1移位了预定位移矢量(-vxt0,-vyt1)的样本B。具体地,t0和t1分别表示Ref0和Ref1相对于当前图像的时间轴距离,并且是基于图像顺序计数(picture order count,POC)来计算的。在下文中,(vx,vy)被称为“光流(optical flow)”。
在预测当前图像中的当前块的样本P的值时,两个参考样本A和B能够实现比由双向运动矢量MV0和MV1指示的参考样本P0和P1更准确的预测。具体地,I(0)(i,j)表示由运动矢量MV0指示的同时与目标块中的样本(i,j)相对应的参考图像Ref0中的样本的值,而I(1)(i,j)表示由运动矢量MV1指示的同时与目标块中的样本(i,j)相对应的参考图像Ref1中的样本的值。
由BIO运动矢量(vx,vy)指示的同时与目标块中的样本相对应的参考图像Ref0中的样本A的值可以定义为I(0)(i+vxt0,j+vyt0),并且参考图像Ref1中的样本B的值可以定义为I(1)(i-vxt1,j-vyt1)。这里,当仅利用泰勒级数的一阶项执行线性逼近时,A和B可以表达为等式1。
等式1
其中,Ix (k)和Iy (k)(k=0,1)是在Ref0和Ref1的位置(i,j)处在水平方向和竖直方向上的梯度值。另外,t0和t1分别表示Ref0和Ref1相对于当前图像的时间轴距离,并且是基于POC:t0=POC(当前)-POC(Ref0),和t1=POC(Ref1)-POC(当前)来计算的。
块中每个样本的双向光流(vx,vy)确定为使Δ最小化的解,所述Δ定义为样本A与样本B之间的差。可以利用从等式1推导的A和B的线性近似由等式2来定义Δ。
等式2
为了简单起见,从等式2的每个项中省略样本位置(i,j)。
为了实现更具鲁棒性的光流估计,假设运动与相邻样本局部一致。对于当前要预测的样本(i,j)的BIO运动矢量,考虑在以样本(i,j)为中心的一定大小的掩膜Ω中存在的所有样本(i',j')的等式2中的差Δ。也就是说,当前样本(i,j)的光流可以确定为使目标函数Φ(vx,vy)最小化的矢量,所述目标函数Φ(vx,vy)是在掩膜Ω中为各个样本获得的差Δ[i',j']的平方和,如等式3所示。
等式3
本发明的双向光流可以应用于这样的情况,用于双向预测的两个参考图像的一个按显示顺序在当前图像之前,另一个在当前图像之后,并且两个参考图像与当前图像的距离彼此相等,也就是说,每个参考图像与当前图像之间的图像顺序计数(POC)的差彼此相等。因此,t0和t1可以忽略。
此外,本发明的双向光流可以仅应用于亮度组件。对于应用了双向预测的目标块,基于子块而非基于像素来执行本发明的双向光流。在下面的描述中,为了简单起见,假设可以具有2×2、4×4和8×8的各种大小的子块具有4×4的大小。
在执行光流之前,视频编码装置的帧间预测器124利用上述双向预测来生成用于目标块的两个参考块。两个参考块的第一参考块表示由利用目标块的第一运动矢量MV0从参考图像Ref0生成的预测的样本组成的块,并且第二参考块表示由利用运动矢量MV1从参考图像Ref1生成的预测的样本组成的块。
帧间预测器124配置为利用第一参考块和第二参考块中的预测的样本的水平梯度值和竖直梯度值,为构成目标块的4×4子块的每个来计算被称为光流的(vx,vy)。光流(vx,vy)确定为使得来自参考图像Ref0的预测的样本与来自参考图像Ref1的预测的样本之间的差最小化。帧间预测器124配置为利用针对4×4子块计算的(vx,vy)和4×4子块中的预测的样本的梯度来推导用于修改4×4子块的双向预测的样本的样本偏移。
具体地,帧间预测器124利用等式4来计算位置(i,i)处的样本值的水平梯度和竖直梯度。
等式4
其中,k为0或1,I(0)(i,j)和I(1)(i,j)分别表示第一参考块和第二参考块中的位置(i,j)处的样本值。另外,Shift1是从亮度分量的比特深度推导的值,例如Shift1=max(6,比特深度-6)。
为了推导位于每个参考块的边界处的样本的梯度,需要在第一参考块和第二参考块的边界之外的样本。相应地,如图7所示,每个参考块向左方和向右方扩展一列,并且向上侧和向下侧扩展一行。为了减少计算量,扩展部分中的每个样本可以用参考块中最近的位置处的样本或整数样本来填充。另外,在每个参考块的边界之外的样本位置处的梯度可以用与最近的位置处的样本相对应的梯度来填充。
帧间预测器124配置为利用覆盖4×4子块的6×6窗口中的水平梯度和竖直梯度来计算与梯度的自相关和互相关相对应的S1、S2、S3、S5和S6,如图7所示。
等式5
S1=∑(i,j)∈Ωψx(i,j)·ψx(i,j),S3=∑(i,j)∈Ωθ(i,j)·ψx(i,j)
S5=∑(i,j)∈Ωψy(i,j)·ψy(i,j)S6=∑(i,j)∈Ωθ(i,j)·ψy(i,j)
其中,Ω表示覆盖子块的窗口。另外,如下面的等式6所示,Ψx(i,j)表示第一参考块和第二参考块中位置(i,j)处的水平梯度值的和,Ψy(i,j)表示第一参考块和第二参考块中位置(i,j)处的竖直梯度值的和,而θ(i,j)表示第二参考块中位置(i,j)处的样本值与第一参考块中位置(i,j)处的样本值之间的差。
等式6
θ(i,j)=(I(1)(i,j)>>nb)-(I(0)(i,j)>>nb)
其中,na和nb是从比特深度推导的值,并且具有min(1,比特深度-11)和min(4,比特深度-8)的值。
帧间预测器124配置为基于S1、S2、S3、S5和S6利用等式7来计算4×4子块的光流(vx,vy)。
等式7
其中, th′BIO=2max(5,BD-7)是向下取整函数(floor function),并且
可以利用针对4×4子块计算的光流和样本位置(x,y)处的梯度值来计算用于修改目标块中的4×4子块中的每个样本位置(x,y)处的预测的样本的样本偏移,如等式8所示。在等式8中,rnd()表示舍入运算。
等式8
帧间预测器124配置为利用位置(x,y)处的样本偏移b(x,y)和第一参考块中的预测样本I(0)(x,y)以及第二参考块中的预测的样本I(1)(x,y)来生成最终预测的样本pred(x,y),如等式9所示。
等式9
pred(x,y)=(I(0)(x,y)+I(1)(x,y)+b(x,y)+ooffsgt)>>shift
其中,shift是Max(3,15-比特深度),而Ooffset是用于舍入运算的值,并且是shift的一半。
如上所述,双向光流技术使用利用用于双向预测的运动信息(两个运动矢量和两个参考图像)而预测的样本的值。因此,视频解码装置的帧间预测器544也可以配置为利用从视频编码装置接收的用于双向预测的运动信息(运动矢量、参考图像)以与视频编码装置相同的方式执行双向光流。不需要视频编码装置将用于双向光流处理的额外信息用信号通知视频解码装置。
II.仿射运动预测
上述帧间预测是反映平移运动模型的运动预测。换句话说,这是用于在水平方向(x轴方向)和竖直方向(y轴方向)上预测运动的技术。然而,实际上,可能存在各种类型的运动,例如,除平移运动之外,还要旋转、放大或缩小。本发明的一个方面提供能够覆盖这样的各种类型的运动的仿射运动预测。
图8是示出仿射运动预测的示例性图。可能存在用于仿射运动预测的两种类型的模型。一种模型是利用当前要编码的目标块的左上角和右上角的两个控制点的运动矢量的模型,也就是说,四个参数,如图8(A)所示。另一种模型是利用目标块的左上角、右上角和左下角的三个控制点的运动矢量的模型,也就是说,六个参数,如图8(B)所示。
四个参数仿射模型由等式10表达。在目标块中的样本位置(x,y)处的运动可以由等式10计算。这里,假设目标块的左上方样本的位置为(0,0)。
等式10
六个参数仿射模型由等式11表达。在目标块中的样本位置(x,y)处的运动可以由等式11计算。
等式11
其中,(mv0x,mv0y)是左上角控制点的运动矢量,(mv1x,mv1y)是右上角控制点的运动矢量,并且(mv2x,mv2y)是左下角控制点的运动矢量。w是由目标块的水平长度确定的常数,并且H是由目标块的竖直长度确定的常数。
可以利用通过等式10或等式11计算的运动矢量对目标块中的每个样本执行仿射运动预测。替选地,为了降低计算复杂性,可以对从目标块分割的每个子块执行预测,如图9所示。例如,子块的大小可以是4×4、2×2或8×8。在下面的示例性实施方案中,基于4×4子块来执行用于目标块的仿射运动预测。该示例仅是为了便于说明,并且本发明不限于此。
在基于子块的仿射运动预测中,通过将每个子块的中心位置代入等式10或等式11的(x,y)中来计算每个子块的运动矢量(仿射运动矢量)。具体地,中心位置可以是子块的实际中心点或中心点的右下方样本位置。例如,在左下方样本的坐标为(0,0)的4×4子块的情况下,子块的中心位置可以是(1.5,1.5)或(2,2)。利用子块的仿射运动矢量(mvx,mvy)来生成用于每个子块的预测的块。
运动矢量(mvx,mvy)可以设置为具有1/16样本精度。具体地,通过等式10或等式11而计算的运动矢量(mvx,mvy)可以以1/16样本单位四舍五入。自适应运动矢量分辨率可以应用于仿射运动预测,如同在正常的帧间预测中一样。具体地,对于每个目标块用信号通知关于目标块的运动矢量分辨率(也就是说,运动矢量的精度)的信息。
不仅可以对亮度分量而且还可以对色度分量执行仿射运动预测。在4:2:0视频格式的情况下,当基于4×4子块执行用于亮度分量的仿射运动预测时,可以基于2×2子块来执行用于色度分量的仿射运动预测。可以从相应的亮度分量的运动矢量推导色度分量的每个子块的运动矢量(mvx,mvy)。替选地,用于色度分量的仿射运动预测的子块的大小可以与用于亮度分量的子块的大小相同。
当基于4×4子块执行用于亮度分量的仿射运动预测时,还可以基于4×4子块来执行用于色度分量的仿射运动预测。在这种情况下,由于用于色度分量的4×4子块对应于用于亮度分量的四个4×4子块,可以通过计算亮度分量的四个相应的子块的运动矢量的平均值来计算用于色度分量的子块的运动矢量(mvx,mvy)。
视频编码装置执行帧内预测、帧间预测(平移运动预测)、仿射运动预测等,并且计算率失真(rate-distortion,RD)代价以选择最佳预测方法。为了执行仿射运动预测,视频编码装置的帧间预测器124确定使用两种类型的模型的哪种类型的模型,并且根据确定的类型来确定两个或三个控制点。帧间预测器124利用控制点的运动矢量来计算目标块中的4×4子块中每个子块的运动矢量(mvx,mvy)。然后,所述帧间预测器124利用每个子块的运动矢量(mvx,mvy)以逐子块为基础在参考图像中执行运动补偿,以生成用于目标块中的每个子块的预测的块。
视频编码装置的熵编码器155配置为对包括指示是否将仿射运动预测应用于目标块的标志、指示仿射模型的类型的类型信息以及指示每个控制点的运动矢量的运动信息的仿射相关的语法元素进行编码,并且将其发送到视频解码装置。当执行仿射运动预测时,可以用信号通知关于控制点的类型信息和运动信息,并且可以用信号通知与根据类型信息确定的数量一样多的控制点的运动矢量。此外,当应用自适应运动矢量分辨率时,用信号通知关于目标块的仿射运动矢量的运动矢量分辨率信息。
视频解码装置配置为利用用信号通知的语法元素来确定仿射模型的类型和控制点运动矢量,并且利用等式10或等式11来计算目标块中每个4×4子块的运动矢量(mvx,mvy)。当用信号通知关于目标块的仿射运动矢量的运动矢量分辨率信息时,通过诸如舍入的操作将运动矢量(mvx,mvy)校正到由运动矢量分辨率信息识别的精度。
视频解码装置配置为利用用于每个子块的运动矢量(mvx,mvy)在参考图像内执行运动补偿来生成用于每个子块的预测的块。为了减少编码控制点的运动矢量所需的比特量,可以应用如在上述正常帧间预测(平移运动预测)中使用的方法。
作为示例,在合并模式中,视频编码装置的帧间预测器124配置为从目标块的相邻块推导每个控制点的运动矢量。例如,帧间预测器124配置为通过从图4所示的目标块的相邻样本L、BL、A、AR和AL推导预定义数量的合并候选来生成合并候选列表。包括在列表中的每个合并候选与两个或三个控制点的成对运动矢量相对应。
首先,帧间预测器124配置为从相邻块中以仿射模式预测的相邻块的控制点运动矢量来推导合并候选。在一些实施方案中,可以限制从以仿射模式预测的相邻块推导的合并候选的数量。例如,帧间预测器124可以配置为从以仿射模式预测的相邻块来推导两个合并候选:L和BL的一个以及A、AR和AL的一个。可以按照L和BL的顺序以及A、AR和AL的顺序来分配优先级。当合并候选的总数大于或等于3时,帧间预测器124可以配置为从相邻块的平移运动矢量来推导必要数量的合并候选。
图10是示出用于从相邻块的平移运动矢量来推导用于仿射运动预测的合并候选的方法的示例性图。帧间预测器124配置为分别从相邻块组{B2,B3,A2}、相邻块组{B1,B0}和相邻块组{A1,A0}推导控制点运动矢量CPMV1、CPMV2、CPMV3。作为示例,可以按照B2、B3、A2的顺序、B1和B0的顺序以及A1和A0的顺序来分配每个相邻块组中的优先级。另外,从参考图像中的同位块T推导另一控制点运动矢量CPMV4。帧间预测器124配置为通过四个控制点运动矢量中的两个或三个控制点运动矢量的组合来生成与必要的数量一样多的合并候选。组合的优先级分配如下所示。按照控制点运动矢量的左上角、右上角和左下角的顺序列出每个组中的元素。
{CPMV1,CPMV2,CPMV3},{CPMV1,CPMV2,CPMV4},{CPMV1,CPMV3,CPMV4},{CPMV2,CPMV3,CPMV4},{CPMV1,CPMV2},{CPMV1,CPMV3}
帧间预测器124配置为选择合并候选列表中的合并候选,并且对目标块执行仿射运动预测。当选择的候选由两个控制点运动矢量组成时,利用四参数模型执行仿射运动预测。另一方面,当选择的候选由三个控制点运动矢量构成时,利用六参数模型来执行仿射运动预测。视频编码装置的熵编码器155配置为编码索引信息并将其用信号通知视频解码装置,所述索引信息指示在合并候选列表中的合并候选中选择的合并候选。
视频解码装置的熵解码器510配置为对从视频编码装置用信号通知的索引信息进行解码。视频解码装置的帧间预测器544以与视频编码装置相同的方式构建合并候选列表,并且利用与由索引信息指示的合并候选相对应的控制点运动矢量来执行仿射运动预测。
作为另一示例,在AMVP模式中,视频编码装置的帧间预测器124配置为确定用于目标块的仿射模型的类型和控制点运动矢量。然后,帧间预测器124配置为计算运动矢量差,该运动矢量差是目标块的实际控制点运动矢量与各个控制点的预测的运动矢量之间的差,并且发送分别对应于控制点的运动矢量差。
相应地,视频编码装置的帧间预测器124配置预定义数量的仿射AMVP的列表。当目标块是4参数类型时,包括在列表中的候选各自由成对的两个控制点运动矢量组成。另一方面,当目标块是6参数类型时,包括在列表中的候选各自由成对的三个控制点运动矢量组成。可以以与上述用于构造合并候选列表的方法相似的方式,利用相邻块的控制点运动矢量或平移运动矢量来推导仿射AMVP列表。
然而,为了推导要包括在仿射AMVP列表中的候选,可能存在这样的限制:仅考虑相邻块,所述相邻块参考与图4的相邻块中的目标块相同的参考图像。
另外,在AMVP模式中,应当考虑目标块的仿射模型类型。当目标块的仿射模型类型是4参数类型时,视频编码装置配置为利用相邻块的仿射模型来推导两个控制点运动矢量(目标块的左上角和右上角控制点运动矢量)。当目标块的仿射模型类型是6参数类型时,所述装置利用相邻块的仿射模型来推导三个控制点运动矢量(目标块的左上角、右上角和左下角控制点运动矢量)。
当相邻块为4参数类型时,利用相邻块的两个控制点运动矢量,根据目标块的仿射模型类型来预测两个或三个控制点运动矢量。例如,可以使用由等式10表达的相邻块的仿射模型。在等式10中,(mv0x,mv0y)和(mv1x,mv1y)分别由相邻块的左上角和右上角控制点运动矢量代替。特别地,W由相邻块的水平长度代替。通过将目标块的相应控制点的位置与相邻块的左上角的位置之间的差置入(x,y)中来推导用于目标块的每个控制点的预测的运动矢量。
当相邻块为6参数类型时,利用相邻块的三个控制点运动矢量,根据目标块的仿射模型类型来预测两个或三个控制点运动矢量。例如,可以使用由等式11表达的相邻块的仿射模型。在等式11中,(mv0x,mv0y)、(mv1x,mv1y)和(mv2x,mv2y)分别由相邻块的左上角、右上角和左下角的控制点运动矢量代替。特别地,W和H分别由相邻块的水平长度和竖直长度代替。通过将目标块的相应控制点的位置与相邻块的左上角的位置之间的差置入(x,y)中来推导用于目标块的每个控制点的预测的运动矢量。
视频编码装置的帧间预测器124配置为在仿射AMVP列表中选择一个候选,并且生成每个实际控制点的运动矢量与选择的候选的相应控制点的预测的运动矢量之间的运动矢量差。视频编码装置的熵编码器155配置为对指示目标块的仿射模型类型的类型信息、指示仿射AMVP列表中的候选中的选择的候选的索引信息以及与每个控制点相对应的运动矢量差进行编码,并将其发送到视频解码装置。
视频解码装置的帧间预测器544配置为利用从视频编码装置用信号通知的信息来确定仿射模型类型,并且生成每个控制点的运动矢量差。然后,帧间预测器配置为以与视频编码装置相同的方式生成仿射AMVP列表,并且选择由仿射AMVP列表中用信号通知的索引信息所指示的候选。视频解码装置的帧间预测器544配置为通过将选择的候选的每个控制点的预测的运动矢量与相应的运动矢量差相加来计算每个控制点的运动矢量。
III.仿射运动预测样本的逐样本调整
上面已经描述了针对目标块的逐子块仿射运动预测。本发明的另一方面涉及在逐样本的基础上调整由逐子块仿射运动预测生成的预测的样本的样本值。在形成仿射运动预测的基础的每个子块中额外补偿根据每个样本的位置的运动。
当作为针对目标块的逐子块仿射运动预测的结果而生成的任何一个子块中的样本值为I(x,y)时,视频编码装置计算每个样本位置处的水平梯度gx(i,j)和竖直梯度gy(i,j)。等式12可以用于计算梯度。
等式12
gx(i,j)=I(i+1,j)-I(i-1,j)
gy(i,j)=I(i,j+1)-I(i,j-1)
用于调整预测样本的样本偏移Δi(i,j)由以下等式计算。
等式13
ΔI(i,j)=gx(i,j)*Δmvx(i,j)+gy(i,j)*Δmvy(i,j)
其中,Δmv(i,j)表示运动偏移,也就是说,样本(i,j)中的仿射运动矢量与子块的中心位置处的仿射运动矢量之间的差,并且可以根据目标块的仿射模型类型通过应用等式10或等式11来计算。换句话说,可以根据等式10或等式11通过将(i,j)置入(x,y)时给出的运动矢量减去将子块中心位置置入(x,y)时给出的运动矢量来计算Δmv(i,j)。另外,可以根据通过将从子块中心位置到样本位置(i,j)的水平偏移和竖直偏移代入等式11和等式12中的(x,y)并消除最后项“+mv0x”和“+mv0y”而获得的等式来计算Δmv(i,j)。中心位置可以是子块的实际中心点,或者可以是中心点的右下方样本位置。
用于计算Δmv(i,j)的目标块的每个控制点的运动矢量以及子块的样本位置(i,j)与中心位置之间的差对于所有子块是相同的。相应地,Δmv(i,j)的值可以仅为一个子块(例如,第一子块)计算,并且可以重复用于其他子块。
本发明的技术基于物体以恒定速度移动并且样本值的变化平顺的假设。因此,通过将Δmv(i,j)的x分量(Δmvx)和y分量(Δmvy)分别乘以水平样本梯度值和竖直样本梯度值来获得水平方向上的样本变化量和竖直方向上的样本变化量。通过将两个样本变化量相加来计算样本偏移ΔI(i,j)。预测的样本的最终值计算如下。
等式14
I′(i,j)=I(i,j)+ΔI(i,j)
当应用用于仿射运动预测样本的逐样本调整时,视频编码装置的帧间预测器124和视频解码装置的帧间预测器544执行上述处理以修改通过仿射运动预测生成的预测的样本的样本值。从通过仿射运动预测而产生的预测的样本推导梯度值,并且从目标块的控制点运动矢量推导Δmv(i,j)。因此,不需要视频编码装置将用于本技术的处理的额外信息用信号通知视频解码装置。
IV.用于仿射运动预测样本的局部照度补偿
局部照度补偿技术是用线性模型补偿目标块与预测的块之间的照度变化量的编码技术。视频编码装置的帧间预测器124配置为利用目标块的运动矢量(平移运动矢量)来确定参考图像中的参考块,并且利用参考块(的上侧和左侧)周围的预先重构的样本和目标块(的上侧和左侧)周围的预先重构的样本来获得用于照度补偿的线性模型的参数。
当参考块周围的预先重构的样本称为x并且目标块周围的相应预先重构的样本称为y时,如等式15推导参数“A”和“b”,使得y与(Ax+b)之间的差的平方和最小化。
等式15
argmin{∑(y-Ax-b)2}
通过将权重A和偏移b应用到由目标块的运动矢量生成的预测的块(参考块)中的样本来生成最终预测的样本,如等式16所示。在等式16中,pred[x][y]是由目标块的运动矢量生成的位置(x,y)处的预测的样本,predLIC[x][y]是照度补偿之后的最终预测的样本。
等式16
predLIC[x][y]=A*pred[x][y]+b
本发明的另一方面涉及用于将照度补偿技术与仿射运动预测相结合的技术。
如上所述,当对目标块应用逐子块仿射运动预测时,生成用于每个子块的运动矢量。可以利用用于每个子块的相应运动矢量来推导照度补偿参数,然后可以利用相应的运动矢量以子块为单位执行照度补偿。然而,这不仅增加了计算的复杂性,而且还引起了延迟问题。由于每个子块中重构的样本需要对后续子块的照度补偿,应当暂停用于子块的照度补偿处理,直到相邻子块被重构(也就是说,直到用于子块的预测块和残差块两者都被重构)。本发明旨在解决这些问题。
图11示出根据本发明的实施方案的确定参考块的位置以推导照度补偿参数的各种示例。在本实施方案中,推导用于目标块的一个照度补偿参数集(A,b),并且将相同的参数应用于目标块中的所有子块。也就是说,用一个照度补偿参数集来修改整个目标块。
如图11(A)所示,视频编码装置的帧间预测器124可以配置为利用位于目标块的左上方处的子块的仿射运动矢量或目标块的左上角控制点运动矢量来确定参考块在参考图像中的位置。确定的参考块周围的预先重构的样本用于参数推导。替选地,如图11(B)所示,可以利用目标块中的中心子块的仿射运动矢量来确定参考块的位置。一旦确定了参考块的位置,就利用与参考块的顶侧和左侧相邻的预先重构的样本和与目标块的顶侧和左侧相邻的相应预先重构的样本来推导照度补偿参数。
作为另一个示例,可以使用目标块中的多个子块。如图11(C)所示,帧间预测器124利用位于目标块中的边界处的子块(边界子块)的仿射运动矢量来确定与每个边界子块相对应的参考子块。分别从与目标块中的边界子块和相应的参考子块相邻的预先重构的样本提取用于推导照度补偿参数的样本。对于目标块中位于顶侧边界处的子块和相对应的参考子块,从与顶侧相邻的预先重构的样本提取样本。对于目标块中位于左侧边界处的子块和相对应的参考子块,从与左侧相邻的预先重构的样本提取样本。
在本实施方案中,由于利用目标块周围的预先构造的样本和参考块周围的预先构造的样本来推导照度补偿参数,从而可以解决上述延迟问题。然而,对应用了逐子块仿射运动预测的目标块仅应用一个照度补偿参数可能会潜在地导致较低的编码效率。下面描述的另一个实施方案使得编码效率增加,作为复杂性的轻微增加的折衷。
根据本发明的另一个实施方案,视频编码装置的帧间预测器124将目标块分割为多个区域。每个区域包括至少一个子块,该子块是执行仿射运动预测的单元。帧间预测器124配置为计算用于多个区域的照度补偿参数,并且基于计算出的照度补偿参数以目标块中的区域或子块为单位来执行照度补偿。
1.目标块的分割
视频编码装置的帧间预测器124配置为将目标块分割为多个区域,每个区域包括一个或更多个子块,所述子块是在其中执行仿射运动预测的单元。
可以通过利用目标块的控制点运动矢量来划分目标块。图12是利用控制点运动矢量来分割目标块的示例。参考图12(A),当目标块的左上角控制点运动矢量MV0和右上角控制点运动矢量MV1之间的角度为钝角(大于90度)时,竖直地分割目标块。例如,可以将目标块分割为两个区域。否则,不对目标块进行竖直分割。参考图12(B),当左上角控制点运动矢量MV0和左下角控制点运动矢量MV2之间的角度为钝角时,水平地将目标块分割为例如两半。否则,不对目标块进行水平分割。当目标块的仿射模型类型为4个参数时,可以通过将目标块的左下角样本的坐标代入等式1中的(x,y)来推导左下角控制点运动矢量MV2
基于由控制点运动矢量形成的角度,帧间预测器124或者跳过分割目标块,或者将目标块分割为两个区域(在竖直分割的情况下为左侧区域和右侧区域,在水平分割的情况下为上侧区域和下侧区域)或者分割为4个区域。当两个矢量的点积小于0时,所述角度为钝角。相应地,帧间预测器124可以基于两个矢量的点积来确定控制点运动矢量之间的角度是否为钝角。
虽然在上述示例中示出当两个控制点运动矢量之间的角度为钝角时分割目标块,但当角度为锐角(小于90度的角度)时也可以分割块。另外,在分割目标块时可以考虑目标块的大小。例如,当水平长度超过预设阈值时,竖直地分割目标块。当竖直长度超过预设阈值时,水平地分割目标块。为了分割目标块,可以使用目标块的大小和控制点运动矢量之间的角度。
例如,视频编码装置可以配置为仅当目标块的水平和/或竖直长度大于预设阈值时才基于控制点运动矢量之间的角度来确定是否分割块。作为另一个示例,当水平长度超过预设阈值时,视频编码装置可以配置为基于目标块的左上角和右上角的控制点运动矢量之间的角度来确定是否竖直地分割块。此外,当竖直长度超过预定阈值时,所述装置可以配置为基于目标块的左上角和左下角的控制点运动矢量之间的角度来确定是否竖直地分割块。
虽然已经描述了基于目标块的控制点运动矢量来将目标块分割为多个区域,但实施方案不限于此。例如,可以使用目标块中的左上方子块、右上方子块和左下方子块的仿射运动矢量来代替左上角控制点运动矢量MV0、右上角控制点运动矢量MV1和左下角控制点运动矢量MV2
虽然图12示出目标块在水平方向或竖直方向上被一分为二,但实施方案不限于此。例如,目标块可以在水平方向上分割为多个块和/或在竖直方向上分割为多个块。替选地,目标块可以分割为已执行仿射运动预测的子块。在这种情况下,一个子块构成一个区域。
来自目标块的每个分割区域必须大于或等于已执行仿射运动预测的子块的大小。换句话说,每个区域必须由一个或更多个子块组成。例如,当子块的大小为4×4时,区域的大小为2m×2n(其中,m和n是大于或等于2的整数)。
当目标块未被分割时,可以根据上述第一实施方案来推导照度补偿参数。在下文中,在分割目标块的情况下,将描述用于推导照度补偿参数的方法。
2.照度补偿参数的推导以及照度补偿
视频编码装置配置为计算分别对应于多个区域的照度补偿参数。利用多个照度补偿参数,以目标块中的区域或子块为单位来执行照度补偿。视频编码装置配置为对于多个区域中的每个,确定要用于推导补偿参数的当前图像和参考图像中的预先构造的样本(参考样本)。从与目标块相邻的预先构造的样本中选择当前图像中的参考样本。对于与目标块的左边界间隔开的区域,选择与目标块的左侧相邻的预先构造的样本作为参考样本。对于与目标块的上边界间隔开的区域,选择与目标块的顶侧相邻的预先构造的样本作为参考样本。
可以利用目标块的控制点运动矢量或从控制点运动矢量推导的一个或更多个运动矢量来选择参考图像中的参考样本。在下文中,将详细描述根据目标块的各种分割类型用于推导照度补偿参数并执行照度补偿的方法。
2-1.当将目标块分割为4个区域时
首先,作为示例,将描述具有W的水平长度和H的竖直长度的目标块被在水平方向和竖直方向上分割并因此由四个区域组成的情况。视频编码装置配置为确定要用于推导用于每个区域的补偿参数的当前图像和参考图像中的预先构造的样本(参考样本)。
图13是示出用于确定要用于推导补偿参数的参考样本的方法的示例性图。对于目标块中的左上方区域,视频编码装置选择当前图像中与左上方区域的顶侧相邻的T0至TW/2-1和与左上方区域的左侧相邻的L0至LH/2-1作为要用于推导补偿参数的参考样本。然后,利用左上方区域的代表性运动矢量来确定与参考图像中的左上方区域相对应的参考区域,然后选择与参考区域的顶侧和左侧相邻的预先构造的样本作为参考样本。具体地,左上方区域的代表性运动矢量可以是目标块的左上角控制点运动矢量MV0
对于右上方区域,视频编码装置配置为选择与右上方区域的顶侧相邻的TW/2至TW-1作为要用于推导补偿参数的至少一些参考样本。具体地,可以额外选择与目标块的左侧相邻的L0至LH/2-1作为参考样本。由于在右上方区域的左侧附近没有预先构造的样本,在目标块的左侧上的L0至LH/2-1可以填充为在右上方区域的左侧上的参考样本。
然后,视频编码装置配置为利用右上方区域的代表性运动矢量来确定与参考图像中的右上方区域相对应的参考区域,并且选择与参考区域的顶侧相邻的预先构造的样本作为要用于推导补偿参数的参考样本。当额外地选择与目标块的左侧相邻的L0至LH/2-1时,视频编码装置可以额外地选择与参考区域的左侧相邻的预先构造的样本作为参考样本。具体地,右上方区域的代表性运动矢量可以是目标块的右上角控制点运动矢量MV1
对于左下方区域,视频编码装置选择与左下方区域的左侧相邻的LH/2至LH-1作为至少一些参考样本。可以额外选择与目标块的顶侧相邻的T0至TW/2-1。然后,视频编码装置配置为利用左下方区域的代表性运动矢量来确定与参考图像中的左下方区域相对应的参考区域,并且选择与参考区域的左侧相邻的预先构造的样本作为参考样本。当额外地选择与目标块的顶侧相邻的T0至TW/2-1时,视频编码装置可以配置为额外地选择与参考区域的顶侧相邻的预先构造的样本。这里,左上方区域的代表性运动矢量可以是目标块的左下角控制点的运动矢量MV1
一旦确定了目标块中的左上方、右上方和左下方区域的每个的参考样本,视频编码装置就配置为通过将从参考图像选择的参考样本和从当前图像选择的参考样本分别置入到等式15的x和y来推导用于每个区域的照度补偿参数。可以从左上方、右上方和左下方区域的照度补偿参数推导用于右下方区域的照度补偿参数。例如,右下方区域的照度补偿参数可以设置为右上方区域和左下方区域的照度补偿参数的平均值。
替选地,视频编码装置可以配置为确定用于右下方区域的代表性运动矢量,并且利用代表性运动矢量来推导用于右下方区域的照度补偿参数。用于右下方区域的代表性运动矢量可以是目标块的右下角的控制点运动矢量。视频编码装置可以配置为通过将目标块中右下角样本(右下方区域的右下角样本)的坐标(W-1,H-1)代入等式10或等式11中的(x,y)来推导目标块的右下角的控制点运动矢量。
在目标块的右下方区域附近没有预先构造的样本。因此,与目标块的顶侧和左侧相邻的TW/2至TW-1和LH/2至LH-1用作用于推导补偿参数的参考样本。然后,基于目标块的右下角控制点的运动矢量来确定参考图像中的参考区域,并且选择与参考区域顶侧和左侧相邻的预先构造的样本作为参考样本。视频编码装置利用等式15以及选择的参考样本来推导用于右下方区域的照度补偿参数。
在上述示例中,为了确定用于推导补偿参数的参考图像中的参考样本,使用每个区域的代表性运动矢量。作为示例,使用控制点运动矢量(即,用于仿射运动预测的参数)。然而,实施方案不限于此。每个区域的代表性运动矢量可以是从目标块的控制点运动矢量推导的运动矢量。
在示例性实施方案中,每个区域的代表性运动矢量可以是从目标块的控制点运动矢量推导的预定义位置的运动矢量。作为示例,在仿射运动预测中预先生成的目标块中的4×4左上方、右上方、左下方和右下方子块的仿射运动矢量可以分别用作左上方、右上方、左下方和右下方区域的代表性运动矢量。作为另一示例,在左上方、右上方、左下方和右下方区域中的每个的中心点处的仿射运动矢量可以用作每个区域的代表性运动矢量。在每个区域的中心点处的仿射运动矢量可以通过将每个区域的中心位置代入等式10或等式11中的(x,y)来生成。
在另一个示例性实施方案中,每个区域中的子块的仿射运动矢量的平均值可以用作相应区域的代表性运动矢量。作为确定要在参考图像中使用的参考样本以推导补偿参数的另一种方法,可以使用每个区域中的子块的仿射运动矢量代替每个区域的代表性运动矢量。换句话说,可以在参考图像中确定由每个区域中的4×4子块的仿射运动矢量指示的位置处的4×4参考块,并且可以选择与4×4参考块的顶侧和左侧相邻的预先构造的像素作为参考像素。
图14是用于描述利用针对目标块的四个区域的照度补偿参数来执行照度补偿的方法的示例性图。每个区域包括一个或更多个子块,所述子块是执行仿射转换的单元。在图14的示例中,目标块的左上方区域TL、右上方区域TR、左下方区域BL和右下方区域BR分别包括四个子块(4×4子块)。视频编码装置配置为利用每个区域的照度补偿参数对相应区域中的预测样本(通过仿射运动预测生成的预测样本)执行照度补偿。可以利用子块所属的区域的照度补偿参数来补偿每个子块。例如,利用左上方区域的照度补偿参数(A0,b0)来补偿包括在左上方区域中的四个子块。
在一些其他实施方案中,视频编码装置可以配置为通过利用四个区域TL、TR、BL和BR的照度补偿参数来插值分别与每个区域中的子块相对应的照度补偿参数,然后利用插值的照度补偿参数对每个子块执行照度补偿。如上所述,可以从区域的代表性运动矢量推导每个区域的照度补偿参数。然而,代表性运动矢量可能不会反映相应区域中所有子块的运动。
例如,可以从目标块的左上角控制点、右上角控制点、左下角控制点和右下角控制点的控制点运动矢量,或者目标块的4×4左上方、右上方、左下方和右下方子块的仿射运动矢量推导各个区域的照度补偿参数。特别地,4×4左上方、右上方、左下方和右下方子块的运动可能对照度补偿参数的推导有更大的影响。相应地,视频编码装置可以配置为通过利用各个区域的照度补偿参数的插值来推导各个子块的照度补偿参数。
图15是示出利用各个区域的照度补偿参数用于对子块的照度补偿参数进行插值的方法的示例性图。(A0,b0)至(A3,b3)是分别从目标块的左上角、右上角、左下角和右下角的控制点运动矢量,或者从目标块的4×4左上方、右上方、左下方和右下方子块的仿射运动矢量推导的各个区域的照度补偿参数。另外,假设(A0,b0)为目标块的左上方区域中的左上方4×4子块的照度补偿参数。类似地,假设(A1,b1)至(A3,b3)为右上方区域中的右上方4×4子块的照度补偿参数、左下方区域中的左下方4×4子块的照度补偿参数以及右下方区域中的右下方4×4子块的照度补偿参数。换句话说,假设(A0,b0)至(A3,b3)为目标块的四个角子块的补偿参数。
视频编码装置利用四个角子块的补偿参数来对其他子块的补偿参数进行插值。可以执行线性插值或利用四个角子块的双线性插值。例如,可以利用(A0,b0)和(A2,b2)对目标块中的第一行中的子块进行插值。可以利用(A0,b0)和(A2,b2)对目标块中的第一列中的子块进行插值。以此方式,推导所有子块的补偿参数。
具体地,可以根据角子块的位置与目标子块的位置之间的差(或角点子块与目标子块之间的距离)来设置用于插值的滤波器系数或权重。较小的位置上的差被赋予较大的权重。
替选地,可以根据用于推导角子块的补偿参数的运动矢量(目标块的左上角、右上角、左下角和右下角的控制点运动矢量,或目标块的左上方、右上方、左下方和右下方4×4子块的仿射运动矢量)与目标子块的仿射运动矢量之间的差来设置用于插值的滤波器系数或权重。较小的运动矢量的差被赋予较大的权重。
2.2当将目标块分割为两个区域时
即使当将目标块分割为两个区域时,也可以以与当将目标块分割为四个区域时相同的方式推导每个区域的照度补偿参数。例如,参考图16,视频编码装置选择与顶部区域的顶侧相邻的预先构造的样本T0至Tw-1以及与顶部区域的左侧相邻的预先构造的样本L0至LH/2-1作为当前图像中用于推导顶部区域的补偿参数的参考样本。然后,视频编码装置配置为利用顶部区域的代表性运动矢量来确定参考图像中的参考区域,并且选择与参考区域的顶侧和左侧相邻的预先构造的样本作为参考样本。
顶部区域的代表性运动矢量可以是目标块的左上角的控制点运动矢量。替选地,所述顶部区域的代表性运动矢量可以是从目标块的控制点运动矢量推导的运动矢量。例如,可以使用顶部区域中的左上方4×4子块的仿射运动矢量,或者可以使用与顶部区域的中心点相对应的仿射运动矢量。作为另一示例,每个区域中的子块的仿射运动矢量的平均值可以用作相应区域的代表性运动矢量。
视频编码装置配置为选择与目标块的顶侧相邻的预先构造的样本T0至Tw-1以及与底部区域的左侧相邻的预先构造的样本LH/2至LH-1作为当前图像中用于推导底部区域的补偿参数的参考样本。然后,视频编码装置配置为利用底部区域的代表性运动矢量来确定参考图像中的参考区域,并且选择与参考区域的顶侧和左侧相邻的预先构造的样本作为参考样本。
底部区域的代表性运动矢量可以是目标块的左下角的控制点运动矢量。替选地,所述底部区域的代表性运动矢量可以是从目标块的控制点运动矢量推导的运动矢量。例如,可以使用底部区域中的左下方4×4子块的仿射运动矢量,或者可以使用与底部区域的中心点相对应的仿射运动矢量。作为另一示例,底部区域中的子块的仿射运动矢量的平均值可以用作底部区域的代表性运动矢量。
在上述示例中,作为用于确定用于推导补偿参数的参考图像中的参考样本的方法,使用每个区域的代表性运动矢量。然而,可以使用每个区域中的子块的仿射运动矢量代替每个区域的代表性运动矢量。也就是说,对于每个区域,可以在参考图像中确定由4×4子块的仿射运动矢量指示的位置处的4×4参考块,并且可以选择与4×4参考块的顶侧和左侧相邻的预先构造的像素作为参考像素。
对于每个区域,视频编码装置配置为将在参考图像中选择的参考样本和在当前图像中选择的参考样本分别置入等式15中的x和y,以推导用于各个区域的补偿参数。另外,视频编码装置利用每个区域的照度补偿参数对相应区域中的预测样本(通过仿射运动预测生成的预测样本)执行照度补偿。可以利用子块所属的区域的照度补偿参数来补偿每个子块。
替选地,视频编码装置可以配置为通过利用各个区域的照度补偿参数来插值分别对应于子块的照度补偿参数,并且利用插值的参数对每个子块执行照度补偿,如同将目标块分割为四个区域的情况一样。
当用于推导补偿参数的每个区域的代表性运动矢量与每个区域中的特定位置相关时,可以应用插值。例如,目标块的左上角和左下角的控制点运动矢量,或者目标块的左上方和左下方4×4子块的仿射运动矢量可以用作代表性运动矢量。具体地,这两个区域的补偿参数被视为目标块中左上角子块TL和左下角子块BL的照度补偿参数,如图17所示。
视频编码装置可以配置为通过对顶部区域的补偿参数(A0,b0)和底部区域的补偿参数(A2,b2)应用权重来插值目标子块的补偿参数。具体地,可以根据目标块中的左上角子块和左下角子块与目标子块之间的距离来分配权重。替选地,可以根据用于推导两个区域的补偿参数的运动矢量(目标块的左上角和左下角的控制点运动矢量,或目标块的左上方和左下方4×4子块的仿射运动矢量)与目标子块的仿射运动矢量之间的差来设置权重。随着运动矢量之间的差减小,权重增加。
即使当将目标块竖直地分割为两个区域时,也可以使用与当将目标块水平地分割为两个区域时相同的方法。具体地,两个区域(左方区域和右方区域)的代表性运动矢量可以是例如目标块的左上角和右上角的控制点运动矢量,或者目标块的左上方和右上方4×4子块的仿射运动矢量。替选地,每个区域的中心点的仿射运动矢量或每个区域的子块的仿射运动矢量的平均值可以用作每个区域的代表性运动矢量。其它操作与上面描述的水平分割的情况相同,或者可以从中清楚地推导,因此省略其进一步的详细描述。
2.3当将目标块分割为4个以上子块时
如上所述,可以将目标块在水平方向上分割为2m块而在竖直方向上分割为2n块(其中,m和n是大于或等于2的整数)。例如,目标块可以分割为子块,所述子块是执行仿射运动预测的单元。图18中示出了这种情况。参考图18,视频编码装置利用如2.1部分所述的方法推导目标块的左上方区域TL、右上方区域TR、左下方区域BL和右下方区域BR的照度补偿参数。
对于这四个区域以外的其他区域,可以通过应用2.1部分中描述的插值来推导其他区域的照度补偿参数。替选地,对于其他区域,可以以与左上方区域TL、右上方区域TR、左下方区域BL和右下方区域BR的情况相同的方式来推导照度补偿参数。例如,对于区域A,视频编码装置选择位于区域A的顶侧且与目标块相邻的预先构造的样本以及位于区域A的左侧且与目标块相邻的预先构造的样本作为当前图像中的参考像素。此外,利用区域A的左上角控制点的运动矢量、位于区域A的左上角的4×4子块的仿射运动矢量或区域A的中心点的仿射运动矢量来选择参考图像中的参考样本。利用选择的参考样本推导区域A的照度补偿参数。
上面描述的照度补偿技术是利用可以通过预先构造的样本和仿射运动预测而获得的运动矢量的技术。相应地,视频解码装置可以配置为以与视频编码装置相同的方式执行照度补偿。不需要视频编码装置将用于照度补偿处理的额外信息用信号通知视频解码装置。
除了仿射运动预测之外,上述照度补偿技术可以与用于以子块为单位补偿目标块的运动的其他编码工具一起使用。例如,所述照度补偿技术可以应用于双向光流。视频编码装置和视频解码装置可以配置为通过针对目标块在逐子块的基础上执行双向光流来生成用于每个子块的预测样本,并且可以额外地配置为对目标块中的预测样本执行上述照度补偿。应用于双向光流的照度补偿技术除了以下几点以外与上述照度补偿技术相同。
在上述照度补偿技术中,目标块的控制点运动矢量或子块的仿射运动矢量用于分割目标块和计算从目标块分割的每个区域的代表性运动矢量。然而,在双向光流的情况下,既不存在控制点运动矢量,也不存在仿射运动矢量。相应地,当照度补偿技术应用于双向光流时,使用子块的光流(vx,vy)来代替子块的控制点运动矢量或仿射运动矢量。
V.用信号通知语法
本发明的另一个方面涉及用于将控制上述各种工具的开/关的高级语法用信号通知的技术。上述仿射运动预测、用于仿射运动预测样本的逐样本调整、自适应运动矢量分辨率和照度补偿是用于提高视频编码效率的编码工具。然而,对于诸如以下的特定内容,例如屏幕内容,前述各种编码工具可能无助于改善压缩性能。相应地,基于用信号通知是否应用每个编码工具的编码单元或基于确定是否应用每个编码工具的编码单元可能会降低编码效率或增加计算复杂性。本发明提供了用于有效地控制上述编码工具的用信号通知技术。
为了对图像序列进行编码,视频编码装置配置为对指示是否禁止多个编码工具的序列级别的第一高级语法元素进行编码。第一高级语法元素可以被编码在序列头中,也就是说,SPS中。具体地,多个编码工具包括仿射运动预测,并且还包括用于仿射运动预测样本的逐样本调整、自适应运动矢量分辨率和照度补偿的至少一个。
当第一高级语法元素指示出禁止多个编码工具的全部时,不对序列的编码应用编码工具。换句话说,上述编码工具不应用于序列中的任何图像。当第一高级语法元素指示出没有禁止多个编码工具时,可以使用多个编码工具以编码相应的序列。例如,仿射运动预测可以应用于序列中的所有图像。相应地,视频编码装置可以对指示是否已将利用仿射运动预测的编码应用到每个编码单元的编码单元标志进行编码,并将其用信号通知视频解码装置。
当由编码单元标志指示出仿射运动预测已经应用于相应的编码单元时,视频解码装置可以配置为对编码单元执行上述仿射运动预测。当第一高级语法元素指示出没有禁止多个编码工具时,视频编码装置可以配置为对一个或更多个第二高级语法元素进行编码,所述第二高级语法元素指示在序列级别或图像级别上是否允许多个编码工具的至少一部分中的每个编码工具。
在用于编码一个或更多个第二高级语法元素的一些实施方案中,视频编码装置为每个编码工具编码序列级别标志,该序列级别标志指示在SPS中是否允许相应的编码工具。当序列级别标志指示出不允许相应的编码工具时,不使用相应的编码工具编码属于序列的图像。此外,视频编码装置配置为根据序列级别标志的值对图像级别标志进行编码,所述图像级别标志指示在属于序列的每个图像的图像头(即,PPS)中是否允许相应的编码工具。
例如,当序列级别标志指示出在序列级别上允许相应的编码工具时,对用于指示在图像级别上是否允许相应编码工具的图像级别标志进行编码。当第一高级语法元素指示出禁止多个编码工具的全部或序列级别标志指示出在序列级别上不允许相应的编码工具时,不对图像级别标志进行单独编码。具体地,视频解码装置配置为自动地将图像级别标志设置为指示出不允许相应编码工具的值。
可以根据用于仿射运动预测的图像级别标志用信号通知用于除仿射运动预测之外的编码工具的图像级别标志。当用于仿射运动预测的图像级别标志指示出在图像级别上不允许仿射运动预测时,不对用于其他编码工具的图像级别标志进行编码,并且在图像级别上不允许其他的编码工具。当用于其他编码工具的图像级别标志不包括在比特流中时,视频解码装置配置为将每个图像级别标志设置为指示出在图像级别上不允许相应编码工具的值。
视频解码装置可以配置为在图像级别上根据从视频编码装置用信号通知的图像级别标志或自动设置值的图像级别标志来设置是否允许相应的编码工具。可以省略用于仿射运动预测的第二高级语法元素。具体地,在序列级别上是否允许仿射运动预测受第一高级语法控制。视频解码装置配置为对来自视频编码装置的第一高级语法进行解码,然后确定在序列级别上是否允许仿射运动预测。
根据上述语法结构,视频编码装置可以配置为自适应地确定在序列级别和图像级别上是否允许编码工具。此外,视频解码装置可以配置为通过对从视频编码装置用信号通知的语法进行解码来自适应地确定在序列级别和图像级别上是否允许编码工具。
在用于编码一个或更多个第二高级语法元素的一些其他实施方案中,上述实施方案的图像级别标志可以用切片级标志代替。换句话说,当序列级别标志指示出在序列级别上允许相应的编码工具时,视频编码装置在切片头中对用于指示在切片级上是否允许相应编码工具的切片级标志进行编码。当序列级别标志指示出不允许相应的编码工具时,不对切片级标志进行编码。视频编码装置可以配置为自适应地确定在序列级别和切片级上是否允许编码工具。视频解码装置可以配置为通过切片级标志来确定在切片级上是否允许每个工具。
在用于编码一个或更多个第二高级语法元素的一些其他实施方案中,可以省略序列级别标志。根据第一高级语法元素用信号通知图像级别标志或切片级标志。当第一高级语法元素指示出允许多个编码工具时,图像级别标志或切片级标志被编码在图像头或切片头中。
应当理解的是,可以以许多不同的方式来实现上述示例性实施方案。在一个或多个示例中描述的功能可以以硬件、软件、固件或其任何组合来实现。应当理解的是,本文中描述的功能组件已被标记为“单元”,以进一步强调其实施独立性。
本发明中描述的各种功能或方法可以用存储在非易失性记录介质中的指令来实现,所述指令可以由一个或更多个处理器读取和执行。非易失性记录介质包括,例如,所有类型的记录器件,其中数据以计算机系统可读的形式存储。例如,非易失性记录介质包括存储介质,例如可擦除可编程只读存储器(EPROM)、闪存驱动器,光盘驱动器、磁性硬盘驱动器和固态驱动器(SSD)。
尽管已经出于说明的目的描述了示例性实施方案,但是本领域的技术人员将理解,在不脱离实施方案的思想和范围的情况下,各种修改和变化是可能的。为了简洁和清楚起见,已经描述了示例性实施方案。相应地,普通技术人员应当理解,实施方案的范围不受以上明确描述的实施方案限制,而是包括在权利要求及其等同形式内。
相关申请的交叉引用
本申请要求2019年6月14日提交的韩国专利申请No.10-2019-0070633、2019年7月8日提交的韩国专利申请No.10-2019-0082010以及2020年6月15日提交的韩国专利申请No.10-2020-0072332的优先权,其全部内容通过引用合并于本文中。

Claims (16)

1.一种视频解码方法,其用于对编码的图像序列逐块解码,所述方法包括:
通过从比特流解码第一高级语法元素,在序列级别上设置是否允许仿射运动预测;
根据第一高级语法元素,通过从比特流解码用于至少一个编码工具的每个的一个或更多个第二高级语法元素,在图像级别上设置是否允许至少一个编码工具的每个,所述至少一个编码工具包括仿射运动预测样本的逐样本调整;
当在序列级别上的设置指示出允许仿射运动预测时,确定利用仿射运动预测编码的目标块的多个控制点运动矢量,并且通过利用控制点运动矢量,以子块为单位执行仿射运动预测来生成用于目标块中的每个子块的仿射预测样本;以及
当基于在图像级别上的设置识别出对于包含目标块的当前图像允许仿射运动预测样本的逐样本调整时,通过基于目标块的控制点运动矢量,根据每个子块中的样本位置补偿运动来修改仿射预测样本的样本值。
2.根据权利要求1所述的方法,其中,所述第一高级语法元素从序列头解码。
3.根据权利要求2所述的方法,其中,对用于仿射运动预测样本的逐样本调整的一个或更多个第二高级语法元素进行解码包括:
当第一高级语法元素指示出允许仿射运动预测时,从序列头解码指示是否允许仿射运动预测样本的逐样本调整的序列级别标志;以及
根据序列级别标志,从属于序列的每个图像的图像头解码指示是否允许仿射运动预测样本的逐样本调整的图像级别标志。
4.根据权利要求3所述的方法,其中,当第一高级语法元素指示出不允许仿射运动预测或者序列级别标志指示出不允许逐样本调整时,所述图像级别标志设置为指示出不允许逐样本调整的值,而无需从图像头解码。
5.根据权利要求1所述的方法,其中,当第一高级语法元素指示出不允许仿射运动预测时,对于序列中的所有图像,不允许任何的仿射运动预测和至少一个编码工具。
6.根据权利要求1所述的方法,其中,修改仿射预测样本的样本值包括:
利用目标块的控制点运动矢量,生成由要修改的目标子块中的样本位置与目标子块的中心之间的差产生的运动偏移;
生成相对于目标子块中的样本位置的水平梯度和竖直梯度;
利用水平梯度和竖直梯度以及运动偏移,生成用于与目标子块中的样本位置相对应的仿射预测样本的样本偏移;以及
将样本偏移和与样本位置相对应的仿射预测样本的样本值相加。
7.根据权利要求6所述的方法,其中,为目标子块中的样本位置生成的运动偏移重复用作用于目标块的另一个子块中的相同样本位置的运动偏移。
8.一种视频解码装置,其用于对编码的图像序列逐块解码,所述视频解码装置包括:
解码器,其配置为:
通过从比特流解码第一高级语法元素,在序列级别上设置是否允许仿射运动预测;以及
根据第一高级语法元素,通过从比特流解码用于至少一个编码工具的每个的一个或更多个第二高级语法元素,在图像级别上设置是否允许至少一个编码工具的每个,所述至少一个编码工具包括仿射运动预测样本的逐样本调整;以及
预测器,其配置为当在序列级别上的设置指示出允许仿射运动预测时,确定利用仿射运动预测编码的目标块的多个控制点运动矢量,并且通过利用控制点运动矢量,以子块为单位执行仿射运动预测来生成用于目标块中的每个子块的仿射预测样本,
其中,当基于在图像级别上的设置识别出对于包含目标块的当前图像允许仿射运动预测样本的逐样本调整时,所述预测器配置为通过基于目标块的控制点运动矢量,根据每个子块中的样本位置补偿运动来修改仿射预测样本的样本值。
9.根据权利要求8所述的装置,其中,所述第一高级语法元素从序列头解码。
10.根据权利要求9所述的装置,其中,所述解码器通过以下方式对用于仿射运动预测样本的逐样本调整的一个或更多个第二高级语法元素进行解码:
当第一高级语法元素指示出允许仿射运动预测时,从序列头解码指示是否允许仿射运动预测样本的逐样本调整的序列级别标志;以及
根据序列级别标志,从属于序列的每个图像的图像头解码指示是否允许仿射运动预测样本的逐样本调整的图像级别标志。
11.根据权利要求10所述的装置,其中,当第一高级语法元素指示出不允许仿射运动预测或者序列级别标志指示出不允许逐样本调整时,所述解码器配置为将图像级别标志设置为指示出不允许逐样本调整的值,而无需从图像头解码。
12.根据权利要求8所述的装置,其中,所述预测器配置为通过以下方式修改仿射预测样本的样本值:
利用目标块的控制点运动矢量,生成由要修改的目标子块中的样本位置与目标子块的中心之间的差产生的运动偏移;
生成相对于目标子块中的样本位置的水平梯度和竖直梯度;
利用水平梯度和竖直梯度以及运动偏移,生成用于与目标子块中的样本位置相对应的仿射预测样本的样本偏移;以及
将样本偏移和与样本位置相对应的仿射预测样本的样本值相加。
13.根据权利要求12所述的装置,其中,为目标子块中的样本位置生成的运动偏移重复用作用于目标块的另一个子块中的相同样本位置的运动偏移。
14.一种用于对编码的图像序列逐块编码的方法,所述方法包括:
在序列头中编码序列级别的第一高级语法元素,以指示是否禁止仿射运动预测和至少一个编码工具两者,所述至少一个编码工具包括仿射运动预测样本的逐样本调整;
根据第一高级语法元素,对一个或更多个第二高级语法元素进行编码,所述第二高级语法元素指示关于是否允许至少一个编码工具的每个的序列级别或图像级别的设置;
当第一高级语法元素指示出禁止仿射运动预测和至少一个编码工具两者时,确定用于要编码的目标块的控制点运动矢量,并且通过利用控制点运动矢量执行逐子块仿射运动预测来生成用于每个子块的仿射预测样本;以及
当对于包含目标块的当前图像允许仿射运动预测样本的逐样本调整时,通过基于目标块的控制点运动矢量,根据每个子块中的样本位置补偿运动来修改仿射预测样本的样本值。
15.根据权利要求14所述的方法,其中,对用于仿射运动预测样本的逐样本调整的至少一个第二高级语法元素进行编码包括:
当第一高级语法元素指示出允许仿射运动预测时,编码指示在序列头中是否允许仿射运动预测样本的逐样本调整的序列级别标志;以及
根据序列级别标志,对指示在属于序列的每个图像的图像头中是否允许逐样本调整的图像级别标志进行编码。
16.根据权利要求14所述的方法,其中,修改仿射预测样本的样本值包括:
利用目标块的控制点运动矢量,生成由要修改的目标子块中的样本位置与目标子块的中心之间的差产生的运动偏移;
生成相对于目标子块中的样本位置的水平梯度和竖直梯度;
利用水平梯度和竖直梯度以及运动偏移,生成用于与目标子块中的样本位置相对应的仿射预测样本的样本偏移;
将样本偏移和与样本位置相对应的仿射预测样本的样本值相加。
CN202080043507.9A 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置 Active CN114128285B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202410870380.8A CN118612457A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410870072.5A CN118678097A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871184.2A CN118612458A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871513.3A CN118612459A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871515.2A CN118678098A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20190070633 2019-06-14
KR10-2019-0070633 2019-06-14
KR20190082010 2019-07-08
KR10-2019-0082010 2019-07-08
PCT/KR2020/007721 WO2020251325A1 (ko) 2019-06-14 2020-06-15 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치

Related Child Applications (5)

Application Number Title Priority Date Filing Date
CN202410871184.2A Division CN118612458A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871515.2A Division CN118678098A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410870380.8A Division CN118612457A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871513.3A Division CN118612459A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410870072.5A Division CN118678097A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置

Publications (2)

Publication Number Publication Date
CN114128285A CN114128285A (zh) 2022-03-01
CN114128285B true CN114128285B (zh) 2024-07-19

Family

ID=74089084

Family Applications (6)

Application Number Title Priority Date Filing Date
CN202410870072.5A Pending CN118678097A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202080043507.9A Active CN114128285B (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871515.2A Pending CN118678098A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871513.3A Pending CN118612459A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871184.2A Pending CN118612458A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410870380.8A Pending CN118612457A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202410870072.5A Pending CN118678097A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置

Family Applications After (4)

Application Number Title Priority Date Filing Date
CN202410871515.2A Pending CN118678098A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871513.3A Pending CN118612459A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410871184.2A Pending CN118612458A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置
CN202410870380.8A Pending CN118612457A (zh) 2019-06-14 2020-06-15 用于利用帧间预测来编码和解码视频的方法和装置

Country Status (5)

Country Link
US (5) US11190761B2 (zh)
EP (2) EP4664884A2 (zh)
JP (5) JP7275326B2 (zh)
KR (1) KR20200143296A (zh)
CN (6) CN118678097A (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120676166A (zh) 2019-02-07 2025-09-19 交互数字Vc控股公司 用于利用光流的帧间预测细化的系统、装置和方法
JP7321583B2 (ja) * 2019-04-25 2023-08-07 オーピー ソリューションズ, エルエルシー ピクチャヘッダ内の大域的運動ベクトルの信号伝達
US12160582B2 (en) * 2019-06-21 2024-12-03 Interdigital Vc Holdings, Inc. Precision refinement for motion compensation with optical flow
KR102836162B1 (ko) * 2019-06-24 2025-07-21 엘지전자 주식회사 쌍 예측을 적용하는 영상 디코딩 방법 및 그 장치
MX2023009739A (es) * 2021-02-22 2023-08-30 Guangdong Oppo Mobile Telecommunications Corp Ltd Metodo de compensacion de iluminacion, codificador, decodificador y medio de almacenamiento.
US12382100B2 (en) * 2021-09-29 2025-08-05 Tencent America LLC Techniques for constraint flag signaling for range extension with coding for last significant coefficient
CN118575477A (zh) * 2022-01-04 2024-08-30 Lg电子株式会社 图像编码/解码方法和装置及存储比特流的记录介质
EP4505736A1 (en) * 2022-04-08 2025-02-12 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
EP4559182A1 (en) * 2022-07-19 2025-05-28 MediaTek Inc Method and apparatus using affine motion estimation with control-point motion vector refinement
US12348747B2 (en) 2023-04-25 2025-07-01 Tencent America LLC Implicit masked blending mode
US12477122B2 (en) 2023-06-20 2025-11-18 Tencent America LLC Implicit masked blending mode improvement
US12284375B2 (en) * 2023-06-27 2025-04-22 Tencent America LLC Implicit masked blending mode improvement with high level syntax

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104247432A (zh) * 2011-11-11 2014-12-24 弗兰霍菲尔运输应用研究公司 使用深度图估计和更新的高效多视点编码

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013075042A1 (en) * 2011-11-18 2013-05-23 General Instrument Corporation Efficient storage of motion information for high efficiency video coding
JP6614472B2 (ja) * 2013-09-30 2019-12-04 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2016008157A1 (en) 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
SG11201706531UA (en) * 2015-02-16 2017-09-28 Hfi Innovation Inc Method and apparatus for palette predictor initialization for palette coding in video and image compression
AU2015385634B2 (en) 2015-03-10 2019-07-18 Huawei Technologies Co., Ltd. Picture prediction method and related apparatus
CN107925758B (zh) * 2015-08-04 2022-01-25 Lg 电子株式会社 视频编译系统中的帧间预测方法和设备
CN112929660B (zh) 2015-10-13 2023-12-26 三星电子株式会社 用于对图像进行编码或解码的方法和设备
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
EP4614977A3 (en) * 2016-03-15 2025-12-03 HFI Innovation Inc. Method and apparatus of video coding with affine motion compensation
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10701390B2 (en) 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US10645417B2 (en) 2017-10-09 2020-05-05 Google Llc Video coding using parameterized motion model
US11877001B2 (en) * 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
US11889100B2 (en) * 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
EP3942823A4 (en) 2019-03-18 2023-04-05 Tencent America LLC METHOD AND DEVICE FOR VIDEO CODING
WO2020233662A1 (en) 2019-05-21 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Syntax signaling for optical-flow based inter coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104247432A (zh) * 2011-11-11 2014-12-24 弗兰霍菲尔运输应用研究公司 使用深度图估计和更新的高效多视点编码

Also Published As

Publication number Publication date
JP2023087041A (ja) 2023-06-22
JP7541689B2 (ja) 2024-08-29
US20210266531A1 (en) 2021-08-26
JP2023087039A (ja) 2023-06-22
JP7275326B2 (ja) 2023-05-17
EP3979649A4 (en) 2023-06-07
EP3979649A1 (en) 2022-04-06
JP7541690B2 (ja) 2024-08-29
JP7541688B2 (ja) 2024-08-29
US20210409694A1 (en) 2021-12-30
KR20200143296A (ko) 2020-12-23
JP2023087040A (ja) 2023-06-22
JP2023093748A (ja) 2023-07-04
US11677937B2 (en) 2023-06-13
JP7541687B2 (ja) 2024-08-29
US20210409693A1 (en) 2021-12-30
JP2022536400A (ja) 2022-08-15
CN118612457A (zh) 2024-09-06
CN118612458A (zh) 2024-09-06
EP4664884A2 (en) 2025-12-17
US11683483B2 (en) 2023-06-20
US11683482B2 (en) 2023-06-20
EP3979649B1 (en) 2025-12-17
CN118678097A (zh) 2024-09-20
CN114128285A (zh) 2022-03-01
US20210409695A1 (en) 2021-12-30
US11190761B2 (en) 2021-11-30
US11683481B2 (en) 2023-06-20
US20210409692A1 (en) 2021-12-30
CN118612459A (zh) 2024-09-06
CN118678098A (zh) 2024-09-20

Similar Documents

Publication Publication Date Title
CN114128285B (zh) 用于利用帧间预测来编码和解码视频的方法和装置
US11432002B2 (en) Method and apparatus for encoding and decoding video using inter-prediction
US20220385940A1 (en) Method and apparatus for encoding and decoding video using inter-prediction
CN114503560B (zh) 用于凭借帧间预测来编码和解码视频的方法和装置
CN114128290B (zh) 一种视频解码方法、视频编码方法和提供与视频数据相关的比特流的方法
US11785247B2 (en) Method and apparatus for encoding and decoding video using inter-prediction
RU2778099C9 (ru) Способ и устройство для кодирования и декодирования видео с использованием интер-предсказания
CN120266473A (zh) 在基于仿射模型的预测中自适应地利用运动补偿滤波器的视频编解码的方法和装置

Legal Events

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