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

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

Info

Publication number
CN114503560A
CN114503560A CN202080070159.4A CN202080070159A CN114503560A CN 114503560 A CN114503560 A CN 114503560A CN 202080070159 A CN202080070159 A CN 202080070159A CN 114503560 A CN114503560 A CN 114503560A
Authority
CN
China
Prior art keywords
block
prediction
sub
target block
sample
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
CN202080070159.4A
Other languages
English (en)
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
Industry Collaboration Foundation of Ewha University
Kia Corp
Original Assignee
Hyundai Motor Co
Industry Collaboration Foundation of Ewha 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, Industry Collaboration Foundation of Ewha University, Kia Corp filed Critical Hyundai Motor Co
Priority claimed from PCT/KR2020/012976 external-priority patent/WO2021071145A1/ko
Publication of CN114503560A publication Critical patent/CN114503560A/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/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/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/527Global motion vector 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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)

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是示出根据由本发明提供的照度补偿的实施方案推导照度补偿参数的方法的示例性图。
具体实施方式
在下文中,将参考所附附图对本发明的一些实施方案进行详细描述。应当注意,在将附图标记添加到各个附图中的组成元件时,尽管元件在不同的附图中示出,但是相同的附图标记也表示相同的元件。此外,在以下对本发明的描述中,将省略并入本文中的已知功能和配置的详细描述,以避免模糊本发明的主题。
图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)或图像头中。此外,由多个图像组成的序列共同参考的信息被编码在序列参数集(Sequence Parameter 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向编码器150传送包括关于用于预测当前块的两个参考图像和两个运动矢量的信息的运动信息。这里,RefPicList0可以由在重构的图像中按显示顺序在当前图像之前的图像组成,并且RefPicList1可以由在重构的图像中按显示顺序在当前图像之后的图像组成。然而,实施方案不限于此。按显示顺序在当前图像之后的预先重构的图像可以进一步包括在RefPicList0中,相反地,在当前图像之前的预先重构的图像可以进一步包括在RefPicList1中。
帧间预测器124可以利用加权平均来执行双向预测,即所谓的加权双向预测。帧间预测器124确定分别应用于第一参考图像和第二参考图像的权重。分配给第一参考图像的权重应用于第一参考图像中的块,并且分配给第二参考图像的权重应用于第二参考图像中的块。帧间预测器124将分配给第一参考图像的权重应用于第一参考块并将分配给第二参考图像的权重应用于第二参考块,从而通过第一参考块和第二参考块的加权求和或加权平均运算来生成目标块的最终预测块。将在帧间预测中使用的参考图像的权重信息用信号通知给视频解码装置。
另一方面,可以独立地确定用于预测亮度分量的权重和用于预测色度分量的权重。在这种情况下,分别用信号通知关于要应用于亮度分量的亮度权重的信息和关于要应用于色度分量的色度权重的信息。
应当将用于帧间预测的运动信息(运动矢量、参考图像)用信号通知给视频解码装置。可以利用各种方法来使对运动信息进行编码所需的比特数最少。
例如,在当前块的参考图像和运动矢量与相邻块的参考图像和运动矢量相同时,关于当前块的运动信息可以通过用于识别相邻块的编码信息被传送到解码装置。这种方法称为“合并模式(merge mode)”。
在合并模式中,帧间预测器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可以对残差块中的残差信号进行变换。残差块的二维(2D)大小可以用作用于执行变换的块大小的变换单元(在下文中为“TU”)。替选地,可以将残差块划分为多个子块,并且可以通过利用每个子块作为TU对相应子块中的残差信号进行变换。
变换器140可以将残差块分割为一个或更多个子块,并且对一个或更多个子块应用变换,从而将变换块的残差值从像素域变换到频域。在频域中,变换块被称为包含一个或更多个变换系数值的系数块或变换块。二维变换核可以用于变换,一维变换核可以分别用于水平变换和竖直变换。变换核可以基于离散余弦变换(DCT)、离散正弦变换(DST)等。
变换器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-basedAdaptive 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)和模糊伪影(blurring artifacts)。环路滤波单元180可以包括去块滤波器182、采样自适应偏移(sample adaptive 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提取的帧间预测的语法元素来确定当前块的运动矢量和由该运动矢量参考的参考图像,并且基于运动矢量和参考图像来预测当前块。
类似于视频编码装置的帧间预测器124,帧间预测器544可以利用双向预测来生成当前块的预测块。当应用加权双向预测时,熵解码器510从比特流提取应用于要用于当前块的双向预测的两个参考图像的权重信息。权重信息可以包括要应用于亮度分量的权重信息和要应用于色度分量的权重信息。帧间预测器544利用权重信息来生成用于当前块的亮度分量的预测块和色度分量的预测块。
加法器550通过将从逆变换器输出的残差块与从帧间预测器或帧内预测器输出的预测块相加来重构当前块。在对后续要被解码的块进行帧内预测时,重构的当前块中的样本用作参考样本。
环路滤波单元560可以包括去块滤波器562、SAO滤波器564和ALF 566的至少一个。去块滤波器562对重构的块之间的边界进行去块滤波,以去除由逐块解码引起的块伪影。SAO滤波器564以在对相应偏移进行去块滤波之后添加重构的块的方式执行滤波,以便补偿由有损编码引起的重构的样本与原始的样本之间的差。ALF 566通过对目标样本和目标样本的相邻样本应用滤波器系数来对要滤波的目标样本执行滤波。ALF 566可以将图像中的样本划分为预定组,然后确定要应用于相应组的一个滤波器,以对每个组差分地执行滤波。基于关于从比特流解码的滤波器系数的信息来确定ALF的滤波器系数。
通过环路滤波单元560滤波的重构的块存储在存储器570中。当一个图像中的所有块被重构时,重构的图像用作对后续要被编码的图像中的块进行帧间预测的参考图像。
以下公开涉及用于改善帧间预测的压缩性能的编码工具,其可以由视频编码装置的帧间预测器124和视频解码装置的帧间预测器544来操作。如本文中所使用的,术语“目标块”可以具有与以上使用的术语“当前块”或“编码单元(CU)”相同的含义,或者可以表示CU的局部区域。
I.组合的帧间-帧内预测
如上所述,通过帧间预测和帧内预测的一个来预测目标块。本发明中描述的组合的帧间-帧内预测是利用帧内预测信号来补充帧间预测信号的技术。当应用组合的帧间-帧内预测时,视频编码装置的帧间预测器124确定目标块的运动矢量并利用确定的运动矢量来预测目标块以生成帧间预测块。视频编码装置的帧内预测器124利用目标块周围的参考样本来预测目标块并生成帧内预测块。作为用于生成帧内预测块的帧内预测模式,可以固定地使用上述多个帧内预测模式的任一个。例如,平面模式或DC模式可以用作用于生成帧内预测块的预测模式。最终预测块由帧间预测块和帧内预测块的平均或加权平均生成。如下给出用于计算组合的帧间-帧内预测中的最终预测块的等式。
[等式1]
Pfinal=((4-wt)*Pinter+wt*Pitra+2)>>2
这里,Pinter表示帧间预测块,Pintra并且表示帧内预测块。wt表示权重。+2是用于舍入运算的偏移量。
可以基于是否使用帧间预测或帧内预测来预测与目标块相邻的预编码的/解码的相邻块来确定权重。例如,当对目标块的左侧块和上侧块两者进行帧内预测时,对帧内预测块(Pintra)赋予更大的权重。例如,将wt设置为3。当仅对左侧块和上侧块的一个进行帧内预测时,对帧间预测块(Pinter)和帧内预测块(Pintra)赋予相同的权重。例如,将wt设置为2。当既不对左侧块进行帧内预测也不对上侧块进行帧内预测时,对帧间预测块(Pinter)赋予更大的权重。例如,将wt设置为1。
当通过组合的帧间-帧内预测来预测目标块时,视频解码装置的帧间预测器544从比特流提取关于目标块的运动矢量的信息以确定目标块的运动矢量。然后,以与视频编码装置相同的方式预测目标块。
组合的帧间-帧内预测是用帧内预测信号来补充帧间预测信号的技术,因此当帧间预测或多或少不正确时(例如,当由合并模式来确定目标块的运动矢量时)可能是有效的。由此,仅当由合并模式来确定目标块的运动矢量时,才可以应用组合的帧间-帧内预测。
II.双向光流
双向光流是在假设构成视频的样本或物体以恒定的速度移动并且样本值几乎没有变化的情况下,对利用双向运动预测而预测的样本的运动进行额外补偿的技术。
图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移位了预定位移矢量(vxτ0,vyτ1)的样本A。Ref1中与目标块中的样本P最相似的点不是由双向运动矢量MV1指示的P1,而是从P1移位了预定位移矢量(-vxτ0,-vyτ1)的样本B。这里,τ0和τ1分别表示Ref0和Ref1相对于当前图像的时间轴距离,并且是基于图像顺序计数(picture order count,POC)来计算的。在下文中,(vx,vy)被称为“光流”或“运动偏移”。
在预测当前图像中的当前块的样本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+vxτ0,j+vyτ0),并且参考图像Ref1中的样本B的值可以定义为I(1)(i-vxτ1,j-vyτ1)。这里,当仅利用泰勒级数的一阶项执行线性近似时,A和B可以表达为等式2。
[等式2]
Figure BDA0003582290140000131
Figure BDA0003582290140000132
这里,Ix (k)和Iy (k)(k=0,1)是在Ref0和Ref1的位置(i,j)处在水平方向和竖直方向上的梯度值。此外,τ0和τ1分别表示Ref0和Ref1相对于当前图像的时间轴距离,并且是基于POC:τ0=POC(当前)-POC(Ref0),和τ1=POC(Ref1)-POC(当前)来计算的。
块中每个样本的双向光流(vx,vy)确定为使Δ最小化的解,所述Δ定义为样本A与样本B之间的差。可以利用从等式2推导的A和B的线性近似由等式3来定义Δ。
[等式3]
Figure BDA0003582290140000133
为了简单起见,从等式3的每个项中省略样本位置(i,j)。
为了实现更具鲁棒性的光流估计,假设运动与相邻样本局部一致。对于当前要预测的样本(i,j)的BIO运动矢量,考虑在以样本(i,j)为中心的一定大小的掩膜Ω中存在的所有样本(i',j')的等式3中的差Δ。也就是说,当前样品(i,j)的光流可以确定为使目标函数Φ(vx,vy)最小化的矢量,所述目标函数Φ(vx,vy)是在掩膜Ω中为各个样本获得的差Δ[i',j']的平方和,如等式4所示。
[等式4]
Figure BDA0003582290140000134
本发明的双向光流可以应用于这样的情况,用于双向预测的两个参考图像的一个按显示顺序在当前图像之前,另一个在当前图像之后,并且两个参考图像与当前图像的距离彼此相等,也就是说,每个参考图像与当前图像之间的图像顺序计数(POC)的差彼此相等。因此,τ0和τ1可以忽略。
此外,本发明的双向光流可以仅应用于亮度分量。
对于应用了双向预测的目标块,基于子块而非基于像素来执行本发明的双向光流。在下面的描述中,为了简单起见,假设可以具有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利用等式5来计算位置(i,j)处的样本值的水平梯度和竖直梯度。
[等式5]
Figure BDA0003582290140000141
Figure BDA0003582290140000142
这里,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所示。
[等式6]
S1=∑(i,j)∈Ωψx(i,j)·ψx(i,j),S3=Σ(i,j)∈Ωθ(i,j)·ψx(i,j)
Figure BDA0003582290140000143
S5=∑(i,j)∈Ωψy(i,j)·ψy(i,j) S6=∑(i,j)∈Ωθ(i,j)·ψy(i,j)
这里,Ω表示覆盖子块的窗口。此外,如下面的等式7所示,Ψx(i,j)表示第一参考块和第二参考块中位置(i,j)处的水平梯度值的和,Ψy(i,j)表示第一参考块和第二参考块中位置(i,j)处的竖直梯度值的和,而θ(i,j)表示第二参考块中位置(i,j)处的样本值与第一参考块中位置(i,j)处的样本值之间的差。
[等式7]
Figure BDA0003582290140000151
Figure BDA0003582290140000152
θ(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利用等式8来计算4×4子块的光流(vx,vy)。
[等式8]
Figure BDA0003582290140000153
Figure BDA0003582290140000154
这里,
Figure BDA0003582290140000155
Figure BDA0003582290140000156
Figure BDA0003582290140000157
是向下取整函数,并且
Figure BDA0003582290140000158
可以利用针对4×4子块计算的光流和样本位置(x,y)处的梯度值来计算用于修改目标块中的4×4子块中的每个样本位置(x,y)处的预测的样本的样本偏移,如等式9所示。在等式9中,md()表示舍入运算。
[等式9]
Figure BDA0003582290140000159
帧间预测器124利用位置(x,y)处的样本偏移量b(x,y)和第一参考块中的预测的样本I(0)(x,y)以及第二参考块中的预测的样本I(1)(x,y)来生成最终预测的样本pred(x,y),如等式10所示。
[等式10]
pred(x,y)=(I(0)(x,y)+I(1)(x,y)+b(x,y)+ooffset)>>shift
这里,shift是Max(3,15-比特深度),而Ooffset是用于舍入运算的值,并且是shift的一半。
如上所述,双向光流技术使用利用用于双向预测的运动信息(两个运动矢量和两个参考图像)而预测的样本的值。因此,视频解码装置的帧间预测器544也可以利用从视频编码装置接收的用于双向预测的运动信息(运动矢量、参考图像)以与视频编码装置相同的方式执行双向光流。不需要视频编码装置将用于双向光流处理的附加信息用信号通知给视频解码装置。
上述双向光流技术可以应用于色度分量。在这种情况下,为了降低计算复杂度,可以将针对亮度分量计算的光流用作色度分量的光流,而不需要重新计算针对色度分量的光流(vx,vy)。因此,当对色度分量应用双向光流时,只需要计算每个样本的色度分量的水平梯度和竖直梯度。
上述双向光流本身需要大量的计算。此外,当与其他编码工具一起使用时,双向光流可以进一步增加计算复杂度并延迟编码/解码处理。此外,与一些编码工具相组合的双向光流可能不会有助于编码效率的提高。考虑到这几点,双向光流的执行可能在某些条件下受到限制。视频编码装置和视频解码装置通过在执行双向光流之前检查预定义条件是否得到满足来跳过双向光流。下面对用于约束双向光流的执行的条件进行描述。当一个或更多个条件得到满足时,不执行并跳过双向光流。
在一些实施方案中,双向光流不与稍后要描述的仿射运动预测一起使用。由于双向光流和仿射运动预测两者都需要大量的计算,两种编码工具的组合不仅增加了计算的复杂度,而且延迟了编码/解码处理。因此,当对目标块使用仿射运动预测时,不执行对目标块的双向光流。
在一些其他实施方案中,双向光流可以约束为不与帧间-帧内合并预测技术一起使用。当将帧间-帧内合并预测技术应用于目标块时,不应用对目标块的双向光流。在帧内预测中,使用目标块周围的预重构样本,因此在完成相邻块的解码(样本重构)之后可以对目标块进行预测。因此,当应用组合的帧间-帧内预测和双向光流两者时,应该停止双向光流处理,直到对目标块的所有相邻块解码完成之后才可以执行目标块的帧内预测。这可能会导致解码处理中的严重延迟。相应地,双向光流可以不应用于应用了组合的帧间-帧内预测的块。
此外,可以限制双向光流与局部照度补偿一起使用,这将在后面描述。例如,当应用局部照明补偿时,不应用双向光流。
在一些其他实施方案中,当包括目标块或由目标块参考的参考图像的当前图像是分割为子图像的图像时,不应用双向光流。
在一些其他实施方案中,当对目标块执行加权双向预测并且对两个参考块(第一参考块和第二参考块)应用不同的权重时,不执行双向光流。也就是说,当要应用于两个参考块(两个参考块中的亮度分量)以预测亮度分量的权重彼此不同时,不执行目标块的双向光流。此外,当要应用于两个参考块(两个参考块中的色度分量)以预测色度分量的权重彼此不同时,不执行目标块的双向光流。如上所述,双向光流基于图像之间的样本值几乎没有变化的假设。相反,加权双向预测假设图像之间的样本值发生变化。相应地,当执行应用不同权重的加权双向预测时,跳过目标块的双向光流。
替选地,在应用不同权重的双向预测的情况下,可以通过应用不同的权重来执行双向光流。当应用于第一个参考块(I(0)(x,y))和第二个参考块(I(1)(x,y))的权重分别为w0和w1时,等式5到等式10中的I(0)(x,y)和I(1)(x,y)可以被w0 I(0)(x,y)和w1 I(0)(x,y)替换。也就是说,代替两个参考块中的样本值,乘以分别与两个参考块相对应的权重的样本值可以用于计算光流(vx,vy)、样本偏移量b(x,y)和最终的预测样本pred(x,y)。
III.仿射运动预测
上述帧间预测是反映平移运动模型的运动预测。也就是说,这是用于在水平方向(x轴方向)和竖直方向(y轴方向)上预测运动的技术。然而,实际上,可能存在各种类型的运动,例如,除平移运动之外,还要旋转、放大或缩小。本发明的一个方面提供能够覆盖这样的各种类型的运动的仿射运动预测。
图8是示出仿射运动预测的示例性图。
可能存在用于仿射运动预测的两种类型的模型。一种模型是利用当前要编码的目标块的左上角和右上角的两个控制点的运动矢量(也就是说,四个参数)的模型,如图8(A)所示。另一种模型是利用目标块的左上角、右上角和左下角的三个控制点的运动矢量(也就是说,六个参数)的模型,如图8(B)所示。
四参数仿射模型由等式11表达。在目标块中的样本位置(x,y)处的运动可以由等式11计算。这里,假设目标块的左上方样本的位置为(0,0)。
[等式11]
Figure BDA0003582290140000171
六参数仿射模型由等式12表达。在目标块中的样本位置(x,y)处的运动可以由等式12计算。
[等式12]
Figure BDA0003582290140000172
这里,(mv0x,mv0y)是左上角控制点的运动矢量,(mv1x,mv1y)是右上角控制点的运动矢量,并且(mv2x,mv2y)是左下角控制点的运动矢量。W是根据目标块的水平长度确定的常数,并且H是根据目标块的竖直长度确定的常数。
可以利用通过等式11或等式12计算的运动矢量对目标块中的每个样本执行仿射运动预测。
替选地,为了降低计算复杂度,可以对从目标块分割的每个子块执行预测,如图9所示。例如,子块的大小可以是4×4、2×2或8×8。在下面的示例性实施方案中,基于4×4子块来执行用于目标块的仿射运动预测。该示例仅是为了便于说明,并且本发明不限于此。
在基于子块的仿射运动预测中,通过将每个子块的中心位置代入等式11或等式12的(x,y)中来计算每个子块的运动矢量(仿射运动矢量)。这里,中心位置可以是子块的实际中心点或中心点的右下方样本位置。例如,在4×4子块中左下方样本的坐标为(0,0)的情况下,子块的中心位置可以是(1.5,1.5)或(2,2)。利用子块的仿射运动矢量(mvx,mvy)来生成用于每个子块的预测的块。
运动矢量(mvx,mvy)可以设置为具有1/16样本精度。在这种情况下,通过等式11或等式12计算的运动矢量(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对包括指示是否将仿射运动预测应用于目标块的标志、指示仿射模型的类型的类型信息以及指示每个控制点的运动矢量的运动信息的仿射相关的语法元素进行编码,并且将其传送到视频解码装置。当执行仿射运动预测时,可以用信号通知关于控制点的类型信息和运动信息,并且可以用信号通知与根据类型信息确定的数量一样多的控制点的运动矢量。此外,当应用自适应运动矢量分辨率时,用信号通知关于目标块的仿射运动矢量的运动矢量分辨率信息。
视频解码装置利用用信号通知的语法元素来确定仿射模型的类型和控制点运动矢量,并且利用等式11或等式12来计算目标块中每个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参数类型时,利用相邻块的两个控制点运动矢量,根据目标块的仿射模型类型来预测两个或三个控制点运动矢量。例如,可以使用由等式11表达的相邻块的仿射模型。在等式11中,(mv0x,mv0y)和(mv1x,mv1y)分别由相邻块的左上角和右上角控制点运动矢量代替。W由相邻块的水平长度代替。通过将目标块的相应控制点的位置与相邻块的左上角的位置之间的差置入(x,y)中来推导用于目标块的每个控制点的预测的运动矢量。
当相邻块为6参数类型时,利用相邻块的三个控制点运动矢量,根据目标块的仿射模型类型来预测两个或三个控制点运动矢量。例如,可以使用由等式12表达的相邻块的仿射模型。在等式12中,(mv0x,mv0y)、(mv1x,mv1y)和(mv2x,mv2y)分别由相邻块的左上角、右上角和左下角的控制点运动矢量代替。W和H分别由相邻块的水平长度和竖直长度代替。通过将目标块的相应控制点的位置与相邻块的左上角的位置之间的差置入(x,y)中来推导用于目标块的每个控制点的预测的运动矢量。
视频编码装置的帧间预测器124在仿射AMVP列表中选择一个候选,并且生成每个实际控制点的运动矢量与选择的候选的相应控制点的预测的运动矢量之间的运动矢量差。视频编码装置的熵编码器155对指示目标块的仿射模型类型的类型信息、指示仿射AMVP列表中的候选中的选择的候选的索引信息以及与每个控制点相对应的运动矢量差进行编码,并将其传送到视频解码装置。
视频解码装置的帧间预测器544利用从视频编码装置用信号通知的信息来确定仿射模型类型,并且生成每个控制点的运动矢量差。然后,帧间预测器以与视频编码装置相同的方式生成仿射AMVP列表,并且选择由仿射AMVP列表中用信号通知的索引信息所指示的候选。视频解码装置的帧间预测器544通过将选择的候选的每个控制点的预测的运动矢量与相应的运动矢量差相加来计算每个控制点的运动矢量。
IV.用于仿射运动预测样本的逐样本调整
上面已经描述了针对目标块的逐子块仿射运动预测。本发明的另一方面涉及在逐样本的基础上调整由逐子块仿射运动预测生成的预测的样本的样本值。在形成仿射运动预测的基础的每个子块中额外补偿根据每个样本的位置的运动。
当作为针对目标块的逐子块仿射运动预测的结果而生成的任何一个子块中的样本值为I(x,y)时,视频编码装置计算每个样本位置处的水平梯度gx(i,i)和竖直梯度gy(i,j)。等式13可以用于计算梯度。
[等式13]
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)由以下等式计算。
[等式14]
ΔI(i,j)=gx(i,j)*Δmvx(i,j)+gy(i,j)*Δmvy(f,j)
这里,Δmv(i,j)表示运动偏移,也就是说,样本(i,j)中的仿射运动矢量与子块的中心位置处的仿射运动矢量之间的差,并且可以根据目标块的仿射模型类型通过应用等式11或等式12来计算。也就是说,可以根据等式11或等式12通过将(i,j)置入(x,y)时给出的运动矢量减去将子块中心位置置入(x,y)时给出的运动矢量来计算Δmv(i,i)。换句话说,可以根据通过将从子块中心位置到样本位置(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)。
预测的样本的最终值计算如下。
[等式15]
I′(i,j)=I(i,j)+ΔI(i,j)
当应用用于仿射运动预测样本的逐样本调整时,视频编码装置的帧间预测器124和视频解码装置的帧间预测器544执行上述处理以修改通过仿射运动预测生成的预测的样本的样本值。根据通过仿射运动预测而生成的预测的样本推导梯度值,并且根据目标块的控制点运动矢量推导Δmv(i,j)。因此,不需要视频编码装置将用于本技术的处理的附加信息用信号通知给视频解码装置。
将上述用于仿射运动预测样本的逐样本调整技术应用于亮度分量。此外,本技术甚至可以应用于色度分量。在这种情况下,针对亮度分量计算的Δmvx和Δmvy可以用作针对色度分量的Δmvx和Δmvy,而无需单独计算。也就是说,视频编码装置和视频解码装置为通过仿射运动预测生成的色度分量的预测的样本来计算梯度值。然后,可以通过将色度分量的梯度值以及针对亮度分量计算的Δmvx和Δmvy代入等式14和等式15来调整通过仿射运动预测生成的色度分量的预测的样本。
在双向预测的情况下,将等式14和等式15应用于两个参考图像的每个。视频编码装置和视频解码装置通过对参考图像列表0的参考图像和参考图像列表1的参考图像的每个的仿射预测样本执行逐样本调整来生成两个参考块。这两个参考块由等式14和等式15生成。目标块的最终预测块可以通过在两个参考块之间进行平均来生成。当比特深度为10时,生成最终预测块的处理表达如下。
[等式16]
Figure BDA0003582290140000221
在等式16中,“I0(i,j)+clip3()”是通过将本技术应用于参考图像列表0的参考图像而生成的参考块中的预测样本,并且“I1(i,j)+clip3()”是通过将本技术应用于参考图像列表1的参考图像而生成的参考块中的预测样本。
为了防止由于对仿射运动预测样本执行逐样本调整技术而导致的延迟,可以在执行该技术之前确定该技术的应用是否合适,从而可以跳过该技术而不执行该技术。
作为示例,视频编码装置可以基于预定义的影像区域来确定是否应用本技术,并且将指示是否应用该技术的标志用信号通知给视频解码装置。这里,预定义的影像区域可以是图像序列、图像或切片。当在逐序列、逐图像或逐切片的基础上确定本技术的应用时,可以将标志包括在序列的头(SPS)、图像的头(PPS)或切片头中。视频解码装置可以提取包含在比特流中的标志并且确定是否将本技术应用于与提取的标志相对应的影像区域中的块。
作为另一个示例,可以基于目标块的控制点运动矢量来预先确定是否将本技术应用于目标块。当目标块的控制点运动矢量的值全都相同时,不应用该技术。在目标块的仿射类型为4参数模型的情况下,当左上角和右上角的控制点运动矢量相同时,不执行该技术。在6参数模型的情况下,当左上角、右上角和左下角的控制点运动矢量相同时,不执行该技术。
作为另一个示例,可以基于控制点运动矢量之间的角度来确定是否应用本技术。例如,当控制点运动矢量之间的角度是钝角时(即,矢量之间的点积为负),可以不应用本技术。替选地,当控制点运动矢量之间的角度为锐角时(即,矢量之间的点积为正),可以限制本技术的应用。
作为另一个示例,当目标块的控制点运动矢量参考不同的参考图像列表中的参考图像时,可以排除本技术的应用。
作为另一个示例,为了使延迟最小化,可以限制该技术与组合的帧间-帧内预测技术一起使用,例如在双向光流的情况下。此外,在应用下述局部照明补偿的情况下或在双向预测的情况下,可以排除本技术的应用。
作为另一个示例,在单向或双向预测中,如果由目标块参考的参考图像不是短期参考图像,则不执行该技术。
作为另一个示例,当包括目标块或由目标块参考的参考图像的当前图像是分割为子图像的图像时,不应用该技术。
作为另一个示例,当执行双向预测并对通过仿射运动预测生成的两个预测块(第一参考块和第二参考块)应用不同的权重时,不执行本技术。也就是说,当要应用于两个参考块(两个参考块中的亮度分量)以预测亮度分量的亮度权重彼此不同时,不将该技术应用于目标块。而且,当要应用于两个参考块(两个参考块中的色度分量)以预测色度分量的色度权重彼此不同时,不将该技术应用于目标块。
替选地,在应用不同权重的双向预测的情况下,可以通过应用不同的权重来执行本技术。例如,视频编码装置或视频解码装置通过对参考图像列表0的参考图像和参考图像列表1的参考图像的每个的仿射预测样本执行逐样本调整来生成两个参考块。在下文中,通过将相应权重应用于两个参考块来生成最终预测块。
即使在对仿射运动预测样本执行逐样本调整技术之后,如果Δmvx和Δmvy的值小于预定阈值,则可以停止本技术的执行。
V.局部照度补偿
局部照度补偿技术是用线性模型补偿目标块与预测的块之间的照度变化量的编码技术。视频编码装置的帧间预测器124利用目标块的运动矢量(平移运动矢量)来确定参考图像中的参考块,并且利用参考块周围(在参考块的上侧和左侧)的预先重构的样本和目标块周围(在参考块的上侧和左侧)的预先重构的样本来获得用于照度补偿的线性模型的参数。
当参考块周围的预先重构的样本称为x并且目标块周围的相应预先重构的样本称为y时,如等式17推导参数“A”和“b”,使得y与(Ax+b)之间的差的平方和最小化。
[等式17]
argmin{∑(y-Ax-b)2}
通过将权重A和偏移量b应用到由目标块的运动矢量生成的预测块(参考块)中的样本来生成最终预测样本,如等式18所示。在等式18中,pred[x][y]是由目标块的运动矢量生成的(x,y)位置的预测样本,并且predLIC[x][y]是照度补偿之后的最终预测样本。
[等式18]
predLIC[x][y]=A*pred[x][y]+b
本发明的另一方面涉及用于将照度补偿技术与仿射运动预测相结合的技术。
如上所述,当对目标块应用逐子块仿射运动预测时,生成用于每个子块的运动矢量。可以利用用于每个子块的相应运动矢量来推导照度补偿参数,然后可以利用相应的运动矢量以子块为单位执行照度补偿。然而,这不仅增加了计算的复杂度,而且还引起了严重的延迟问题。由于每个子块中的重构的样本需要后续子块的照度补偿,应当暂停用于子块的照度补偿处理,直到相邻子块被重构(也就是说,直到用于子块的预测块和残差块两者都被重构)。本发明旨在解决这些问题。
图11示出根据本发明实施方案的确定参考块的位置以推导照度补偿参数的各种示例。在本实施方案中,推导用于目标块的一个照度补偿参数集(A,b),并且将相同的参数应用于目标块中的所有子块。也就是说,用一个照度补偿参数集来修改整个目标块。
如图11(A)所示,视频编码装置的帧间预测器124可以利用位于目标块的左上方处的子块的仿射运动矢量或目标块的左上角控制点运动矢量来确定参考块在参考图像中的位置。确定的参考块周围的预先重构的样本用于参数推导。替选地,如图11(B)所示,可以利用目标块中的中心子块的仿射运动矢量来确定参考块的位置。一旦确定了参考块的位置,就利用与参考块的上侧和左侧相邻的预先重构的样本和与目标块的上侧和左侧相邻的相应预先重构的样本来推导照度补偿参数。
作为另一个示例,可以使用目标块中的多个子块。如图11(C)所示,帧间预测器124利用位于目标块中的边界处的子块(边界子块)的仿射运动矢量来确定与每个边界子块相对应的参考子块。分别从与目标块中的边界子块和相应的参考子块相邻的预先重构的样本提取用于推导照度补偿参数的样本。对于目标块中位于上侧边界处的子块和相对应的参考子块,从与上侧相邻的预先重构的样本提取样本。对于目标块中位于左侧边界处的子块和相对应的参考子块,从与左侧相邻的预先重构的样本提取样本。
上述一个或更多个编码工具可以用于改善帧间预测的预测性能。为了解决诸如复杂度或延迟的问题,应用某些编码工具可能需要将其他编码工具排除在应用之外。
另一方面,仿射预测样本的逐样本调整和双向光流两者是在预测之后修改预测的样本的技术,并且使用样本的梯度进行修改。相应地,为了降低计算复杂度和硬件复杂度,可以以用于双向预测的仿射预测样本的逐样本调整的等式的形式来修改双向光流的等式。替选地,可以以双向光流的等式的形式来修改用于双向预测的仿射预测样本的逐样本调整的等式。
通过将等式9代入等式10,用于获得双向光流中的最终预测的样本的等式可以表达如下。
[等式19]
Figure BDA0003582290140000251
等式19以等式16的形式表达如下。
[等式20]
Figure BDA0003582290140000252
也就是说,应用双向光流的最终预测的样本可以通过等式20而不是等式19来计算。由于等式20以类似于仿射预测的样本的逐样本调整技术的形式来表达,因此不需要根据双向光流技术来单独地设计硬件以实现等式。此外,由于等式20以来自参考图像列表0中的参考图像的预测的块和来自参考图像列表1中的参考图像的预测的块的平均的形式来表达,从而简化了硬件设计。
此外,双向光流技术的运动偏移(光流)(vx,vy)的运动矢量精度与用于仿射预测的样本的逐样本调整技术的运动偏移(Δmvx,Δmvy)的运动矢量精度可以彼此匹配。例如,两种技术的运动偏移两者可以用1/32子样本单位的精度来表达。
应当理解的是,可以以许多不同的方式来实现上述示例性实施方案。在一个或多个示例中描述的功能可以实现为硬件、软件、固件或其任何组合。应当理解的是,本文中描述的功能组件已被标记为“...单元”,以进一步强调其实施独立性。
本发明中描述的各种功能或方法可以实现为存储在非易失性记录介质中的指令,所述指令可以由一个或更多个处理器读取和执行。非易失性记录介质包括,例如,所有类型的记录器件,其中数据以计算机系统能够读取的形式存储。例如,非易失性记录介质包括存储介质,例如可擦除可编程只读存储器(EPROM)、闪存驱动器,光盘驱动器、磁性硬盘驱动器和固态驱动器(SSD)。
尽管已经出于说明的目的描述了示例性实施方案,但是本领域技术人员将理解的是,在不脱离实施方案的思想和范围的情况下,各种修改和变化是可能的。为了简洁和清楚起见,已经描述了示例性实施方案。相应地,普通技术人员应当理解的是,实施方案的范围不受以上明确描述的实施方案限制,而是包括在权利要求书及其等同形式内。
相关申请的交叉引用
本申请要求2019年10月6日提交的韩国专利申请No.10-2019-0123491、2019年12月2日提交的韩国专利申请No.10-2019-0158564以及2020年9月24日提交的韩国专利申请No.10-2020-0123619的优先权,其全部内容通过引用结合于本文中。

Claims (15)

1.一种视频解码装置,其用于预测要解码的当前图像中的目标块,所述视频解码装置包括:
预测器,其配置为:
通过对比特流解码来确定用于双向预测的第一参考图像和第二参考图像以及第一运动矢量和第二运动矢量,
从由第一运动矢量参考的第一参考图像生成第一参考块,并且从由第二运动矢量参考的第二参考图像生成第二参考块,以及
利用第一参考块和第二参考块来生成目标块的预测块,
其中,所述预测器包括第一编码工具,所述第一编码工具配置为通过利用第一参考块和第二参考块执行双向光流处理来生成目标块的预测块,
其中,当分配给用于预测目标块的亮度分量的第一参考图像和第二参考图像的每个的亮度权重彼此不同时,不执行第一编码工具,并且
当分配给用于预测目标块的色度分量的第一参考图像和第二参考图像的每个的色度权重彼此不同时,不执行第一编码工具。
2.根据权利要求1所述的视频解码装置,其中,所述预测器配置为:
当分配给第一参考图像和第二参考图像的每个的亮度权重彼此不同时,通过将分别对应于第一参考块和第二参考块的亮度权重应用于第一参考块和第二参考块来预测目标块的亮度分量,以及
当分配给第一参考图像和第二参考图像的每个的色度权重彼此不同时,通过将分别对应于第一参考块和第二参考块的色度权重应用于第一参考块和第二参考块来预测目标块的色度分量。
3.根据权利要求1所述的视频解码装置,其中,当执行第一编码工具时,针对从目标块分割的子块,所述预测器配置为:
针对与目标块的子块相对应的第一参考块中的子块的各个亮度样本,生成第一水平梯度和第一竖直梯度,
针对与目标块的子块相对应的第二参考块中的子块的各个亮度样本,生成第二水平梯度和第二竖直梯度,
利用针对亮度样本的第一水平梯度和第二水平梯度以及第一竖直梯度和第二竖直梯度,计算与目标块的子块相对应的运动偏移,以及
利用第一参考块的子块的亮度样本值、第二参考块的子块的亮度样本值以及运动偏移,预测目标块的子块中的亮度样本。
4.根据权利要求3所述的视频解码装置,其中,所述预测器配置为通过以下操作来预测目标块的子块中的亮度样本:
利用与亮度样本位置相对应的第一水平梯度与第二水平梯度之间的差、与亮度样本位置相对应的第一竖直梯度与第二竖直梯度之间的差以及与目标块的子块相对应的运动偏移,计算目标块的子块中的亮度样本位置的样本偏移,以及
利用与亮度样本位置相对应的第一参考块和第二参考块中的亮度样本值以及所述亮度样本位置的样本偏移,预测亮度样本位置的亮度样本。
5.根据权利要求4所述的视频解码装置,其中,所述预测器配置为:
生成用于第一参考块的子块的各个色度样本的第三水平梯度和第三竖直梯度,
生成用于第二参考块的子块的各个色度样本的第四水平梯度和第四竖直梯度,
通过利用与色度样本位置相对应的第三水平梯度与第四水平梯度之间的差、与色度样本位置相对应的第三竖直梯度与第四竖直梯度之间的差以及与目标块的子块相对应的运动偏移,计算目标块的子块中的色度样本位置的样本偏移,以及
利用与色度样本位置相对应的第一参考块和第二参考块中的色度样本值以及所述色度样本位置的样本偏移,预测色度样本位置的色度样本。
6.根据权利要求1所述的视频解码装置,其中,所述预测器包括第二编码工具,所述第二编码工具配置为利用第一参考块和第二参考块来生成帧间预测块,通过对目标块执行帧内预测来生成帧内预测块,并且通过对帧间预测块和帧内预测块进行加权平均来生成目标块的预测块,
其中,所述第二编码工具的执行限制第一编码工具的执行。
7.根据权利要求6所述的视频解码装置,其中:
当执行第二编码工具时,所述预测器利用多个帧内预测模式中的平面模式来生成帧内预测块。
8.根据权利要求6所述的视频解码装置,其中:
用于加权平均的权重值由包括目标块的左侧块和上部块的相邻块中的帧内预测块的数量来确定。
9.一种视频编码装置,其用于对要编码的当前图像中的目标块进行帧间预测,所述视频编码装置包括:
预测器,其配置为:
确定用于双向的第一运动矢量和第二运动矢量,
从由第一运动矢量参考的第一参考图像生成第一参考块,并且从由第二运动矢量参考的第二参考图像生成第二参考块,以及
利用第一参考块和第二参考块来生成目标块的预测块,
其中,所述预测器包括第一编码工具,所述第一编码工具配置为通过利用第一参考块和第二参考块执行双向光流来生成目标块的预测块,
其中,当分配给用于预测目标块的亮度分量的第一参考图像和第二参考图像的每个的亮度权重彼此不同时,不执行第一编码工具,并且
当分配给用于预测目标块的色度分量的第一参考图像和第二参考图像的每个的色度权重彼此不同时,不执行第一编码工具。
10.根据权利要求9所述的视频编码装置,其中,当执行第一编码工具时,针对从目标块分割的子块,所述预测器配置为:
针对与目标块的子块相对应的第一参考块中的子块的各个亮度样本,生成第一水平梯度和第一竖直梯度,
针对与目标块的子块相对应的第二参考块中的子块的各个亮度样本,生成第二水平梯度和第二竖直梯度,
利用针对亮度样本的第一水平梯度和第二水平梯度以及第一竖直梯度和第二竖直梯度,计算与目标块的子块相对应的运动偏移,以及
利用第一参考块的子块的亮度样本值、第二参考块的子块的亮度样本值以及运动偏移,预测目标块的子块中的亮度样本。
11.根据权利要求10所述的视频编码装置,其中,所述预测器配置为通过以下操作来预测目标块的子块中的亮度样本:
利用与亮度样本位置相对应的第一水平梯度与第二水平梯度之间的差、与亮度样本位置相对应的第一竖直梯度与第二竖直梯度之间的差以及与目标块的子块相对应的运动偏移,计算目标块的子块中的亮度样本位置的样本偏移,以及
利用与亮度样本位置相对应的第一参考块和第二参考块中的亮度样本值以及所述亮度样本位置的样本偏移,预测亮度样本位置的亮度样本。
12.根据权利要求11所述的视频编码装置,其中,所述预测器配置为:
生成用于第一参考块的子块的各个色度样本的第三水平梯度和第三竖直梯度,
生成用于第二参考块的子块的各个色度样本的第四水平梯度和第四竖直梯度,
利用与色度样本位置相对应的第三水平梯度与第四水平梯度之间的差、与色度样本位置相对应的第三竖直梯度与第四竖直梯度之间的差以及与目标块的子块相对应的运动偏移,计算目标块的子块中的色度样本位置的样本偏移,以及
利用与色度样本位置相对应的第一参考块和第二参考块中的色度样本值以及所述色度样本位置的样本偏移,预测色度样本位置的色度样本。
13.根据权利要求9所述的视频编码装置,其中,所述预测器包括第二编码工具,所述第二编码工具配置为利用第一参考块和第二参考块来生成帧间预测块,通过对目标块执行帧内预测来生成帧内预测块,并且通过对帧间预测块和帧内预测块进行加权平均来生成目标块的预测块,
其中,所述第二编码工具的执行限制第一编码工具的执行。
14.根据权利要求6所述的视频编码装置,其中:
用于加权平均的权重由包括目标块的左侧块和上部块的相邻块中的帧内预测块的数量来确定。
15.一种用于预测当前图像中的目标块的方法,所述方法包括:
确定用于双向的第一运动矢量和第二运动矢量;
从由第一运动矢量参考的第一参考图像生成第一参考块,并且从由第二运动矢量参考的第二参考图像生成第二参考块;以及
利用第一参考块和第二参考块来预测目标块,
其中,所述预测目标块包括:
执行第一编码工具,所述第一编码工具配置为通过利用第一参考块和第二参考块执行双向光流处理来生成目标块的预测块,
其中,当分配给用于预测目标块的亮度分量的第一参考图像和第二参考图像的每个的亮度权重彼此不同时,不执行第一编码工具,并且
当分配给用于预测目标块的色度分量的第一参考图像和第二参考图像的每个的色度权重彼此不同时,不执行第一编码工具。
CN202080070159.4A 2019-10-06 2020-09-24 用于凭借帧间预测来编码和解码视频的方法和装置 Pending CN114503560A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2019-0123491 2019-10-06
KR20190123491 2019-10-06
KR20190158564 2019-12-02
KR10-2019-0158564 2019-12-02
PCT/KR2020/012976 WO2021071145A1 (ko) 2019-10-06 2020-09-24 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치

Publications (1)

Publication Number Publication Date
CN114503560A true CN114503560A (zh) 2022-05-13

Family

ID=75477594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080070159.4A Pending CN114503560A (zh) 2019-10-06 2020-09-24 用于凭借帧间预测来编码和解码视频的方法和装置

Country Status (2)

Country Link
KR (1) KR20210040787A (zh)
CN (1) CN114503560A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024077970A1 (en) * 2022-10-12 2024-04-18 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023219288A1 (ko) * 2022-05-12 2023-11-16 현대자동차주식회사 양방향 예측을 이용하는 크로마 성분의 인터 예측을 위한 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103096071A (zh) * 2011-11-07 2013-05-08 吴秀美 导出运动信息的方法
KR20180119084A (ko) * 2017-04-24 2018-11-01 에스케이텔레콤 주식회사 움직임 보상을 위한 옵티컬 플로우 추정 방법 및 장치
WO2018221631A1 (ja) * 2017-06-02 2018-12-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
US20190124332A1 (en) * 2016-03-28 2019-04-25 Lg Electronics Inc. Inter-prediction mode based image processing method, and apparatus therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103096071A (zh) * 2011-11-07 2013-05-08 吴秀美 导出运动信息的方法
US20190124332A1 (en) * 2016-03-28 2019-04-25 Lg Electronics Inc. Inter-prediction mode based image processing method, and apparatus therefor
KR20180119084A (ko) * 2017-04-24 2018-11-01 에스케이텔레콤 주식회사 움직임 보상을 위한 옵티컬 플로우 추정 방법 및 장치
WO2018221631A1 (ja) * 2017-06-02 2018-12-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN JIANLE ET AL.: "Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6)", 《JOINT VIDEO EXPERTS TEAM(JVET)OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11》, 10 September 2019 (2019-09-10), pages 46 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024077970A1 (en) * 2022-10-12 2024-04-18 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data

Also Published As

Publication number Publication date
KR20210040787A (ko) 2021-04-14

Similar Documents

Publication Publication Date Title
US11677937B2 (en) Method and apparatus for encoding and decoding video using inter-prediction
US11432002B2 (en) Method and apparatus for encoding and decoding video using inter-prediction
US11785251B2 (en) Method and apparatus for encoding and decoding video using inter-prediction
CN114503560A (zh) 用于凭借帧间预测来编码和解码视频的方法和装置
CN114128290A (zh) 用于利用帧间预测来编码和解码视频的方法和装置
US20220385940A1 (en) Method and apparatus for encoding and decoding video using inter-prediction
US11785247B2 (en) Method and apparatus for encoding and decoding video using inter-prediction
RU2801342C2 (ru) Способ и устройство для кодирования и декодирования видео с использованием интер-предсказания
RU2806280C2 (ru) Способ и устройство для кодирования и декодирования видео с использованием интер-предсказания
RU2806279C2 (ru) Способ и устройство для кодирования и декодирования видео с использованием интер-предсказания
RU2802844C2 (ru) Способ и устройство для кодирования и декодирования видео с использованием интер-предсказания
RU2778099C1 (ru) Способ и устройство для кодирования и декодирования видео с использованием интерпредсказания
RU2778099C9 (ru) Способ и устройство для кодирования и декодирования видео с использованием интер-предсказания
EP4090027A1 (en) Image encoding and decoding based on reference picture having different resolution
US20230396795A1 (en) Inter prediction-based video encoding and decoding
US20230179762A1 (en) Video encoding and decoding using arbitrary block partitioning
US20230308662A1 (en) Method and apparatus for video coding using block merging
CN116097648A (zh) 用于预测视频编码/解码装置中使用的量化参数的方法
CN116918323A (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