CN118175328A - 使用多假设预测的视频信号处理方法和装置 - Google Patents

使用多假设预测的视频信号处理方法和装置 Download PDF

Info

Publication number
CN118175328A
CN118175328A CN202410378795.3A CN202410378795A CN118175328A CN 118175328 A CN118175328 A CN 118175328A CN 202410378795 A CN202410378795 A CN 202410378795A CN 118175328 A CN118175328 A CN 118175328A
Authority
CN
China
Prior art keywords
prediction
block
current block
mode
transform
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
CN202410378795.3A
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.)
Wilus Institute of Standards and Technology Inc
Original Assignee
Wilus Institute of Standards and Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wilus Institute of Standards and Technology Inc filed Critical Wilus Institute of Standards and Technology Inc
Publication of CN118175328A publication Critical patent/CN118175328A/zh
Pending legal-status Critical Current

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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive 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/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/109Selection of coding mode or of prediction mode among a plurality of temporal 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/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
    • 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

Landscapes

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

Abstract

公开了一种使用多假设预测的视频信号处理方法和装置。具体地,视频信号处理方法包括以下步骤:接收用于预测当前块的信息;基于用于预测的信息,确定合并模式是否被应用于当前块;当合并模式被应用于当前块时,获得指示是否组合预测被应用于当前块的第一语法元素,其中,组合预测指示结合帧间预测和帧内预测的预测模式;当第一语法元素指示组合预测被应用于当前块时,生成当前块的帧间预测块和帧内预测块;以及通过对帧间预测块和帧内预测块进行加权求和,生成当前块的组合预测块。

Description

使用多假设预测的视频信号处理方法和装置
本申请是2021年4月12日提交进入中国专利局的国际申请日为2019年10月14日的申请号为201980067130.8(PCT/KR2019/013450)的,发明名称为“使用多假设预测的视频信号处理方法和装置”的专利申请的分案申请。
技术领域
本公开涉及一种用于处理视频信号的方法和装置,并且更具体地,涉及一种用于对视频信号进行编码和解码的视频信号处理方法和装置。
背景技术
压缩编译指代用于通过通信线路发送数字化信息或以适合于存储介质的形式存储信息的一系列信号处理技术。压缩编码的对象包括诸如语音、视频和文本的对象,并且特别地,用于对图像执行压缩编码的技术被称为视频压缩。考虑到空间相关性、时间相关性和随机相关性,通过去除过多的信息来执行对视频信号的压缩编译。然而,随着各种媒体和数据传输媒体的最新发展,需要更有效的视频信号处理方法和装置。
发明内容
技术问题
本公开的一方面在于增加视频信号的编译效率。此外,本公开的另一方面在于增加与当前块的运动信息集有关的信令效率。
技术方案
为了解决上述问题,本公开提供了一种视频信号处理设备和视频信号处理方法。
根据本公开的一方面,视频信号处理方法可以包括:使用空间候选来配置合并候选列表;将包括至少一个基于历史的运动向量预测器(HMVP)的HMVP表中的预定的HMVP添加到合并候选列表中,其中,HMVP是在多个编译块之前被编译的块的运动信息;获得指示合并候选列表中的用于预测当前块的合并候选的索引信息;以及基于以索引信息为基础确定的合并候选的运动信息,生成当前块的预测块,其中,如果当前块位于包括多个编译块的合并共享节点中,则使用与合并共享节点相邻的空间候选来配置合并候选列表,以及在HMVP表中不更新包括在合并共享节点中的多个编译块的至少一个的运动信息。
根据本公开的一方面,视频信号处理设备可以包括处理器,其中,该处理器使用空间候选配置合并候选列表,将包括至少一个基于历史的运动向量预测器(HMVP)的HMVP表中的预定的HMVP添加到合并候选列表中,其中,HMVP是在多个编译块之前被编译的块的运动信息;获得指示合并候选列表中的用于预测当前块的合并候选的索引信息;以及基于以索引信息为基础确定的合并候选的运动信息,生成当前块的预测块,其中,如果当前块位于包括多个编译块的合并共享节点中,则使用与合并共享节点相邻的空间候选来配置合并候选列表,以及在HMVP表中不更新包括在合并共享节点中的多个编译块的至少一个的运动信息。
根据实施例,该方法可以进一步包括:使用包括在合并共享节点中的多个编译块之中的在解码顺序中具有相对较晚次序的解码顺序的预定数量的编译块的运动信息来更新HMVP表。
根据实施例,该方法可以进一步包括:使用包括在合并共享节点中的多个编译块之中的在解码顺序中具有最晚次序的编译块的运动信息来更新HMVP表。
根据实施例,该方法可以进一步包括:如果当前块不位于合并共享节点中,则使用合并候选的运动信息来更新HMVP表。
根据实施例,将HMVP添加到合并候选列表的操作可以包括:使用在HMVP表中具有预先定义的预定索引的HMVP来识别是否存在合并候选列表中的候选的运动信息的重复运动信息;以及如果具有预定索引的HMVP不具有合并候选列表中的候选的运动信息的重复运动信息,则将具有预定索引的HMVP添加到合并候选列表中。
根据本发明的一方面,一种视频信号处理方法可以包括:接收用于预测当前块的信息;基于用于所述预测的信息,确定合并模式是否被应用于所述当前块;如果所述合并模式被应用于所述当前块,则获得指示是否组合预测被应用于所述当前块的第一语法元素,其中,所述组合预测是结合帧间预测和帧内预测的预测模式;如果所述第一语法元素指示所述组合预测被应用于所述当前块,则生成所述当前块的帧间预测块和帧内预测块;以及通过执行所述帧间预测块和所述帧内预测块的加权求和,生成所述当前块的组合预测块。
根据本发明的一方面,一种视频信号处理设备可以包括处理器,其中,该处理器被配置为:如果所述合并模式被应用于所述当前块,则获得指示是否组合预测被应用于所述当前块的第一语法元素,其中,所述组合预测是结合帧间预测和帧内预测的预测模式;如果所述第一语法元素指示所述组合预测被应用于所述当前块,则生成所述当前块的帧间预测块和帧内预测块;以及通过执行所述帧间预测块和所述帧内预测块的加权求和,生成所述当前块的组合预测块。
根据实施例,该方法可以进一步包括:解码所述当前块的残差块;以及使用所述组合预测块和所述残差块来重构所述当前块。
根据实施例,解码所述残差块的操作可以进一步包括:如果所述第一语法元素指示所述组合预测未被应用于所述当前块,则获得指示是否子块变换被应用于所述当前块的第二语法元素,以及其中,所述子块变换指示将变换应用于在水平方向或垂直方向上划分的所述当前块的任何一个子块的变换模式。
根据实施例,如果不存在所述第二语法元素,则所述第二语法元素的值被推断为0。
根据实施例,如果第一语法元素指示所述组合预测被应用于所述当前块,则用于所述当前块的帧内预测的帧内预测模式被设置为平面模式。
根据实施例,该方法可以进一步包括:设置被参考用于所述组合预测的左相邻块和上侧相邻块的位置,其中,所述左相邻块和所述上侧相邻块的位置与由所述帧内预测所参考的位置相同。
根据实施例,使用基于所述当前块的颜色分量索引值确定的缩放因子变量,来确定所述左相邻块和所述上侧相邻块的位置。
有益效果
根据本公开的实施例,可以提高视频信号的编译效率。此外,根据本公开的实施例,可以选择适合于当前变换块的变换核。
附图说明
图1是根据本公开的实施例的视频信号编码装置的示意性框图。
图2是根据本公开的实施例的视频信号解码装置的示意性框图。
图3示出将编译树单元被划分为图片中的编译单元的实施例。
图4示出用于用信号告知四叉树和多类型树的划分的方法的实施例。
图5和图6根据本公开的实施例,更详细地图示帧内预测方法。
图7是图示根据本公开的实施例的帧间预测方法的图。
图8是具体地图示用于通过编码器变换残差信号的方法的图。
图9是具体地图示用于通过编码器和解码器对变换系数进行逆变换来获得残差信号的方法的图。
图10是图示根据本公开的实施例的运动向量信令方法的图。
图11是图示根据本公开的实施例的发信号告知自适应运动向量分辨率信息的方法的图。
图12是图示根据本公开的实施例的基于历史的运动向量预测(HMVP)方法的图。
图13是图示根据本公开的实施例的更新HMVP表的方法的图。
图14是图示根据本公开的实施例的更新HMVP表的方法的图。
图15是图示根据本公开的实施例的更新HMVP表的方法的图。
图16是图示根据本公开的实施例的更新HMVP表的方法的图。
图17是图示根据本公开的实施例的更新HMVP表的方法的图。
图18是图示根据本公开的实施例的剪枝过程的图。
图19是图示根据本公开的实施例的添加HMVP候选的方法的图。
图20是图示根据本公开的实施例的合并共享节点的图。
图21是图示根据本公开的实施例,如果使用共享列表则更新HMVP的方法的图。
图22是图示根据本公开的实施例,基于合并共享节点中的块的运动信息来更新HMVP表的方法的图。
图23是图示根据本公开的实施例,如果使用共享列表则更新HMVP的方法的图。
图24是图示根据本公开的实施例,基于合并共享节点中的块的运动信息来更新HMVP表的方法的图。
图25是图示根据本公开的实施例,基于HMVP处理视频信号的方法的图。
图26是图示根据本公开的实施例的多假设预测方法的图。
图27是图示根据本公开的实施例的确定多假设预测模式的方法的图。
图28是图示根据本公开的实施例的确定多假设预测模式的方法的图。
图29是图示根据本公开的实施例的被参考用于多假设预测的相邻位置的图。
图30是图示根据本公开的实施例的对相邻区域中的模式进行参考的方法的图。
图31是图示根据本公开的实施例的候选列表生成方法的图。
图32是图示根据本公开的实施例的候选列表生成方法的图。
图33是图示根据本公开的实施例的被参考用于多假设预测的相邻位置的图;
图34是图示根据本公开的实施例的对相邻区域中的模式进行参考的方法的图。
图35是图示根据本公开的实施例的使用相邻参考样本的方法的图。
图36是图示根据本公开的实施例的变换模式的示例的图。
图37是图示根据本公开的实施例的色度分量的关系的图。
图38是图示根据本公开的实施例的颜色分量的关系的示例的图。
图39是图示根据本公开的实施例的相邻参考位置的示例的图。
图40是图示根据本公开的实施例的加权样本预测过程的图。
图41是图示根据本公开的实施例的相邻参考位置的图。
图42是图示根据本公开的实施例的加权样本预测过程的图。
图43是图示根据本公开的实施例的加权样本预测过程的图。
图44是图示根据本公开的实施例的加权样本预测过程的图。
图45是图示根据本公开的实施例的基于多假设预测的视频信号处理方法的图。
具体实施方式
考虑到本公开中的功能,本说明书中使用的术语可以是当前广泛使用的通用术语,但是可以根据本领域的技术人员的意图、习俗或新技术的出现而改变。另外,在某些情况下,可能存在申请人任意选择的术语,并且在这种情况下,其含义在本公开的相应描述部分中进行了描述。因此,应基于整个说明书中的术语和内容的实质含义来解释本说明书中使用的术语。
在本说明书中,一些术语可以解释如下。在一些情况下,编码可以解释为编码或解码。在本说明书中,通过执行视频信号的编码(编码)来生成视频信号比特流的装置被称为编码装置或编码器,并且执行视频信号比特流的解码(解码)以重构视频信号的装置被称为解码装置或解码器。另外,在本说明书中,视频信号处理装置被用作包括编码器和解码器两者的概念的术语。信息是包括所有值、参数、系数、元素等的术语。在一些情况下,含义被不同地解释,因此本公开不限于此。“单元”被用作指代图像处理的基本单位或图片的特定位置的含义,并且指代包括亮度分量和色度分量两者的图像区域。另外,“块”指代包括亮度分量和色度分量(即,Cb和Cr)当中的特定分量的图像区域。然而,取决于实施例,诸如“单元”、“块”、“分区(partition)”和“区域”的术语可以互换使用。另外,在本说明书中,单元可以用作包括编译单元、预测单元和变换单元的全部的概念。图片指示场或帧,并且根据实施例,这些术语可以互换使用。
图1是根据本公开的实施例的视频信号编码装置的示意性框图。参考图1,本公开的编码装置100包括变换单元110、量化单元115、逆量化单元120、逆变换单元125、滤波单元130、预测单元150和熵编译单元160。
变换单元110通过对残差信号进行变换来获得变换系数的值,该残差信号是输入的视频信号与由预测单元150生成的预测信号之间的差。例如,可以使用离散余弦变换(DCT)、离散正弦变换(DST)或小波变换。DCT和DST通过将输入图像信号分割成多个块来执行变换。在变换中,编码效率可以根据变换区域中的值的分布和特性而变化。量化单元115对从变换单元110输出的变换系数值的值进行量化。
为了改进编码效率,代替照原样对图像信号进行编码的方法,使用一种方法,其使用通过预测单元150已经编码的区域来预测图片,并通过将在原始图片和预测的图片之间的残差值添加到预测的图片来获得重构图像。为了防止编码器和解码器中的不匹配,当在编码器中执行预测时,应该使用可以在解码器中使用的信息。为此,编码器再次执行重构编码的当前块的处理。逆量化单元120对变换系数的值进行逆量化,并且逆变换单元125使用逆量化的变换系数值来重构残差值。同时,滤波单元130执行滤波操作以改善重构图片的质量并改善编码效率。例如,可以包括去块滤波器、样本自适应偏移(SAO)和自适应环路滤波器。滤波后的图片被输出或存储在解码图片缓冲器(DPB)156中,以用作参考图片。
为了提高编译效率,不原样编译图片信号,而是使用通过使用已编译的区域并且将原始图片和预测图片之间的残差值与预测图片相加来经由预测单元150预测图片,从而获得重构图片的方法。帧内预测单元152在当前图片内执行帧内预测,并且帧间预测单元154通过使用存储在解码图片缓冲器156中的参考图片来预测当前图片。帧内预测单元152从当前图片中的重构区域执行帧内预测,并且将帧内编译信息传送到熵编译单元160。帧间预测单元154可以包括运动估计单元154a和运动补偿单元154b。运动估计单元154a通过参考特定的重构区域来获得当前区域的运动矢量值。运动估计单元154a将参考区域的位置信息(参考帧、运动矢量等)传递到熵编译单元160,以使得将该位置信息包括在比特流中。运动补偿单元154b通过使用从运动估计单元154a传递的运动矢量值来执行帧间运动补偿。
预测单元150包括帧内预测单元152和帧间预测单元154。帧内预测单元152在当前图片内执行帧内预测,并且帧间预测单元154执行帧间预测以通过使用存储在DBP 156中的参考图片来预测当前图片。帧内预测单元152从当前图片中的重构样本执行帧内预测,并且将帧内编码信息传送到熵编译单元160。帧内编码信息可以包括帧内预测模式、最可能模式(MPM)标志和MPM索引中的至少一个。帧内编码信息可以包括关于参考样本的信息。帧间预测单元154可以包括运动估计单元154a和运动补偿单元154b。运动估计单元154a通过参考重构参考图片的特定区域来获得当前区域的运动矢量值。运动估计单元154a将用于参考区域的运动信息集(参考图片索引、运动矢量信息等)传递到熵编译单元160。运动补偿单元154b通过使用从运动估计单元154a传递的运动矢量值来执行运动补偿。帧间预测单元154将包括关于参考区域的运动信息的帧间编码信息传递到熵编译单元160。
根据另一实施例,预测单元150可以包括帧内块复制(BC)预测单元(未示出)。帧内BC预测单元基于当前图片中的重构样本来执行帧内BC预测,并将帧内BC编码信息传送到熵编译单元160。帧内BC预测单元获得参考当前图片中的特定区域,指示用于预测当前区域的参考区域的块矢量值。帧内BC预测单元可以使用所获得的块矢量值来执行帧内BC预测。帧内BC预测单元将帧内BC编码信息传送到熵编译单元160。帧内BC编码信息可以包括块矢量信息。
当执行上述图片预测时,变换单元110变换在原始图片和预测图片之间的残差值以获得变换系数值。在这种情况下,可以以图片内的特定块为单位执行变换,并且可以在预设范围内改变特定块的大小。量化单元115对在变换单元110中生成的变换系数值进行量化,并将其发送到熵编译单元160。
熵编译单元160对指示量化的变换系数的信息、帧内编码信息、帧间编码信息等进行熵编译,以生成视频信号比特流。在熵编译单元160中,可以使用可变长度编译(VLC)方案、算术编译方案等。可变长度编译(VLC)方案包括将输入符号变换成连续的码字,并且码字的长度可以是可变的。例如,频繁出现的符号由短码字表示,而很少出现的符号由长码字表示。基于上下文的自适应可变长度编译(CAVLC)方案可以被用作可变长度编译方案。算术编译可以将连续数据符号变换成单个质数,其中,算术编译可以获得表示每个符号所需的最佳比特。基于上下文的自适应二进制算术编译(CABAC)可以被用作算术编译。例如,熵编译单元160可以二值化指示量化的变换系数的信息。熵编译单元160可以通过算术编译二进制信息来生成比特流。
使用网络抽象层(NAL)单元作为基本单位来封装所生成的比特流。NAL单元包括整数个编译的编译树单元。为了在视频解码器中对比特流进行解码,首先,必须将比特流分离成NAL单元,并且然后必须对每个分离的NAL单元进行解码。同时,可以通过诸如图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)等等的高层集合的原始字节序列有效载荷(RBSP)来发送对视频信号比特流进行解码所需的信息。
同时,图1的框图示出根据本发明的实施例的编码装置100,并且分开显示的块在逻辑上区分并示出编码装置100的元件。因此,取决于设备的设计上述编码装置100的元件可以被安装为一个芯片或多个芯片。根据实施例,上述编码装置100的每个元件的操作可以由处理器(未示出)执行。
图2是根据本发明的实施例的视频信号解码装置200的示意性框图。参考图2,本发明的解码装置200包括熵解码单元210、逆量化单元220、逆变换单元225、滤波单元230和预测单元250。
熵解码单元210对视频信号比特流进行熵解码,以提取每个区域的变换系数信息、帧内编码信息、帧间编码信息等。例如,熵解码单元210可以从视频信号比特流中获得用于特定区域的变换系数信息的二值化代码。熵解码单元210通过对二进制码进行逆二值化来获得量化的变换系数。逆量化单元220对量化的变换系数进行逆量化,并且逆变换单元225通过使用逆量化的变换系数来重构残差值。视频信号处理设备200通过将由逆变换单元225获得的残差值与由预测单元250获得的预测值相加来重构原始像素值。
同时,滤波单元230对图片执行滤波以改善图像质量。这可以包括用于减少块失真的去块滤波器和/或用于去除整个图片的失真的自适应环路滤波器。滤波后的图片被输出或存储在DPB 256中,以用作下一个图片的参考图片。
预测单元250包括帧内预测单元252和帧间预测单元254。预测单元250通过使用通过上述熵解码单元210解码的编码类型、每个区域的变换系数和帧内/帧间编码信息来生成预测图片。为了重构其中执行解码的当前块,可以使用当前图片或包括当前块的其他图片的解码区域。在重构中,仅将当前图片,即,仅执行帧内预测或者帧内BC预测的图片(或贴片(tile)/切片(slice))称为帧内图片或I图片(或贴片/切片),并且将能够执行所有帧内预测、帧间预测以及帧内BC预测的图片(或贴片/切片)称为帧间图片(或贴片/切片)。为了预测帧间图片(或贴片/切片)当中的每个块的样本值,使用最多一个运动矢量和参考图片索引的图片(或者贴片/切片)被称为预测图片或P图片(或贴片/切片),并且使用最多两个运动矢量和参考图片索引的图片(或贴片/切片)称为双向预测图片或B图片(或贴片/切片)。换句话说,P图片(或贴片/切片)使用最多一个运动信息集来预测每个块,并且B图片(或贴片/切片)使用最多两个运动信息集来预测每个块。这里,运动信息集包括一个或多个运动矢量和一个参考图片索引。
帧内预测单元252使用帧内编码信息和当前图片中的重构的样本来生成预测块。如上所述,帧内编码信息可以包括帧内预测模式、最可能模式(MPM)标志和MPM索引中的至少一种。帧内预测单元252通过使用位于当前块的左边和/或上边的重构的样本作为参考样本来预测当前块的样本值。在本公开中,重构的样本、参考样本和当前块的样本可以表示像素。而且,样本值可以表示像素值。
根据实施例,参考样本可以是当前块的邻近块中包括的样本。例如,参考样本可以是与当前块的左边界相邻的样本和/或样本可以是与上边界相邻的样本。而且,参考样本可以是当前块的邻近块的样本当中的位于距当前块的左边界预定距离内的线上的样本和/或位于距当前块的上边界预定距离内的线上的样本。在这种情况下,当前块的邻近块可以包括左(L)块、上(A)块、左下(BL)块、右上(AR)块或左上(AL)块。
帧间预测单元254使用存储在DPB 256中的参考图片和帧间编码信息来生成预测块。帧间编译信息可以包括用于参考块的当前块的运动信息集(参考图片索引、运动矢量信息等)。帧间预测可以包括L0预测、L1预测和双向预测。L0预测意指使用L0图片列表中包括的一个参考图片进行预测,而L1预测意指使用L1图片列表中包括的一个参考图片进行预测。为此,可能需要一个运动信息集合(例如,运动矢量和参考图片索引)。在双向预测方法中,可以使用最多两个参考区域,并且两个参考区域可以存在于同一参考图片中或可以存在于不同图片中。即,在双向预测方法中,可以使用最多两个的运动信息集合(例如,运动矢量和参考图片索引),并且两个运动矢量可以对应于相同的参考图片索引或不同的参考图片索引。在这种情况下,在时间方面,可以在当前图片之前和之后显示(或输出)参考图片。根据实施例,在双向预测方案中使用的两个参考区域可以是分别从图片列表L0和图片列表L1中选择的区域。
帧间预测单元254可以使用运动矢量和参考图片索引来获得当前块的参考块。参考块在与参考图片索引相对应的参考图片中。而且,由运动矢量指定的块的样本值或其内插值可以用作当前块的预测器。对于具有子像素(sub-pel)单位像素准确度的运动预测,例如,可以使用用于亮度信号的8抽头内插滤波器和用于色度信号的4抽头内插滤波器。然而,以子像素为单位的用于运动预测的内插滤波器不限于此。以这种方式,帧间预测单元254执行运动补偿以根据先前使用运动信息重构的运动图片来预测当前单元的纹理。在这样的情况下,帧间预测单元可以使用运动信息集。
根据另一实施例,预测单元250可以包括帧内BC预测单元(未示出)。帧内BC预测单元可以通过参考包括当前图片内的重构样本的特定区域来重构当前区域。帧内BC预测单元从熵解码单元210获得当前区域的帧内BC编码信息。帧内BC预测单元获得指示当前图片中的特定区域的当前区域的块矢量值。帧内BC预测单元可以通过使用所获得的块矢量值来执行帧内BC预测。帧内BC编码信息可以包括块矢量信息。
通过将从帧内预测单元252或帧间预测单元254输出的预测值与从逆变换单元225输出的残差值相加生成重构的视频图片。即,视频信号解码装置200使用由预测单元250生成的预测块和从逆变换单元225获得的残差来重构当前块。
同时,图2的框图示出根据本公开的实施例的解码装置200,并且分开显示的块在逻辑上区分并示出解码装置200的元件。因此,取决于设备的设计上述解码装置200的元件可以被安装为一个芯片或多个芯片。根据实施例,上述解码装置200的每个元件的操作可以由处理器(未示出)执行。
图3图示其中在图片中编译树单元(CTU)被分割成编译单元(CU)的实施例。在视频信号的编码过程中,可以将图片分割成一系列编译树单元(CTU)。编译树单元由亮度样本的NXN块和与其相对应的色度样本的两个块组成。编译树单元可以被分割成多个编译单元。编译树单元可以不被分割,并且可以是叶节点。在这种情况下,编译树单元本身可以是编译单元。编译单元指代在上述视频信号的处理过程中,即,帧内/帧间预测、变换、量化和/或熵编译中用于处理图片的基本单元。一个图片中编译单元的大小和形状可能不恒定。编译单元可以具有正方形或矩形形状。矩形编译单元(或矩形块)包括垂直编译单元(或垂直块)和水平编译单元(或水平块)。在本说明书中,垂直块是其高度大于宽度的块,并且水平块是其宽度大于高度的块。此外,在本说明书中,非正方形块可以指代矩形块,但是本公开不限于此。
参考图3,首先将编译树单元分割成四叉树(QT)结构。即,在四叉树结构中具有2NX2N大小的一个节点可以被分割成具有NXN大小的四个节点。在本说明书中,四叉树也可以称为四元树。可以递归地执行四叉树分割,并非所有节点都需要以相同的深度分割。
同时,上述四叉树的叶节点可以进一步被分割成多类型树(MTT)结构。根据本公开的实施例,在多类型树结构中,一个节点可以被分割成水平或垂直划分的二叉或三叉树结构。即,在多类型树结构中,存在四个分割结构,诸如垂直二元分割、水平二元分割、垂直三元分割和水平三元分割。根据本公开的实施例,在每个树结构中,节点的宽度和高度都可以具有2的幂。例如,在二叉树(BT)结构中,2NX2N大小的节点可以通过垂直二元分割被分割成两个NX2N节点,并通过水平二元分割将其分割成两个2NXN节点。另外,在三叉树(TT)结构中,将2NX2N大小的节点通过垂直三元分割被分割成(N/2)X2N、NX2N和(N/2)X2N节点,并通过水平二元分割被分割成2NX(N/2)、2NXN和2NX(N/2)节点。可以递归地执行此多类型树分割。
多类型树的叶节点可以是编译单元。如果未指示用于编译单元的分割或针对最大变换长度该编译单元不大,则无需进一步划分就将编译单元用作预测和变换的单元。另一方面,可以通过诸如PPS、SPS、VPS等的高层集合的RBSP来预定义或发送上述四叉树和多类型树中的以下参数中的至少一个。1)CTU大小:四叉树的根节点大小,2)最小QT大小MinQtSize:允许的最小QT叶节点大小,3)最大BT大小MaxBtSize:允许的最大BT根节点大小,4)最大TT大小MaxTtSize:允许的最大TT根节点大小,5)最大MTT深度MaxMttDepth:从QT的叶节点分割而来的MTT的最大允许深度,6)最小BT大小MinBtSize:允许的最小BT叶节点大小,7)最小TT大小MinTtSize:允许的最小TT叶节点大小。
图4示出用于用信号发送四叉树和多类型树的分割的方法的实施例。可以使用预设标志来用信号发送上述四叉树和多类型树的分割。参考图4,指示是否分割四叉树节点的标志“qt_split_flag”、指示是否分割多类型树节点的标志“mtt_split_flag”、指示多类型树节点的分割方向的标志“mtt_split_vertical_flag”或者指示多类型树节点的分割类型的标志“mtt_split_binary_flag”中的至少一个可以被使用。
根据本公开的实施例,编译树单元是四叉树的根节点,并且可以首先被分割成四叉树结构。在四叉树结构中,为每个节点“QT_node”用信号发送“qt_split_flag”。如果“qt_split_flag”的值为1,则将该节点分割成4个正方形节点,并且如果“qt_split_flag”的值为0,则相应的节点成为四叉树的叶节点“QT_leaf_node”。
每个四叉树叶节点“QT_leaf_node”可以进一步被分割成多类型树结构。在多类型树结构中,为每个节点“MTT_node”用信号发送“mtt_split_flag”。当“mtt_split_flag”的值是1时,相应的节点被分割成多个矩形节点,并且当“mtt_split_flag”的值是0时,相应的节点是多类型树的叶节点“MTT_leaf_node”。当将多类型树节点“MTT_node”分割成多个矩形节点时(即,当“mtt_split_flag”的值是1时),可以附加地用信号发送节点“MTT_node”的“mtt_split_vertical_flag”和“mtt_split_binary_flag”。当“mtt_split_vertical_flag”的值是1时,指示节点“MTT_node”的垂直分割,并且当“mtt_split_vertical_flag”的值是0时,指示节点“MTT_node”的水平分割。另外,当“mtt_split_binary_flag”的值为1时,节点“MTT_node”被分割成2个矩形节点,并且当“mtt_split_binary_flag”的值为0时,节点“MTT_node”被分割成3个矩形节点。
对不再被划分的编译单元(即,编译单元树的叶节点)上执行用于编码的图片预测(运动补偿)。在下文中,用于执行预测的基本单元将被称为“预测单元”或“预测块”。
在下文中,在此使用的术语“单元”可以代替预测单元,该预测单元是用于执行预测的基本单元。然而,本公开不限于此,并且“单元”可以被理解为广泛地涵盖编译单元的概念。
图5和图6更加具体地图示根据本公开的实施例的帧内预测方法。如上所述,帧内预测单元通过使用位于当前块的左边和/或上边的重构的样本作为参考样本来预测当前块的样本值。
首先,图5示出在帧内预测模式中用于当前块的预测的参考样本的实施例。根据实施例,参考样本可以是与当前块的左边界相邻的样本和/或与上边界相邻的样本。如图5中所示,当当前块的大小是WXH并且与当前块相邻的单个参考线的样本被用于帧内预测时,可以使用位于当前块的左边和上边的最大2W+2H+1个邻近样本来配置参考样本。
当尚未重构要用作参考样本的至少一些样本时,帧内预测单元可以通过执行参考样本填充过程来获得参考样本。帧内预测单元可以执行参考样本滤波过程以减少帧内预测中的误差。也就是说,可以对通过参考样本填充过程获得的相邻样本和/或参考样本执行滤波,以便获得滤波的参考样本。帧内预测单元通过使用如上获得的参考样本来预测当前块的样本。帧内预测单元通过使用未滤波的参考样本或滤波的参考样本来预测当前块的样本。在本公开中,相邻样本可以包括至少一个参考线上的样本。例如,相邻样本可以包括在与当前块的边界相邻的线上的相邻样本。
接下来,图6示出用于帧内预测的预测模式的实施例。对于帧内预测,可以用信号发送指示帧内预测方向的帧内预测模式信息。帧内预测模式信息指示被包括在帧内预测模式集中的多个帧内预测模式中的一个。当当前块是帧内预测块时,解码器从比特流接收当前块的帧内预测模式信息。解码器的帧内预测单元基于提取的帧内预测模式信息对当前块执行帧内预测。
根据本公开的实施例,帧内预测模式集合可以包括在帧内预测中使用的所有帧内预测模式(例如,总共67个帧内预测模式)。更具体地说,帧内预测模式集合可以包括平面模式、DC模式以及多个(例如65个)角度模式(即,定向模式)。可以通过预设索引(即,帧内预测模式索引)来指示每个帧内预测模式。例如,如图6所示,帧内预测模式索引0指示平面模式,而帧内预测模式索引1指示DC模式。此外,帧内预测模式索引2至66可以分别指示不同的角度模式。角度模式分别指示在预设角度范围内彼此不同的角度。例如,角度模式可以指示在顺时针方向的45度和-135度之间的角度范围(即,第一角度范围)内的角度。可以基于12点钟方向来定义角度模式。在这种情况下,帧内预测模式索引2指示水平对角线(HDIA)模式,帧内预测模式索引18指示水平(水平,HOR)模式,帧内预测模式索引34指示对角(DIA)模式,帧内预测模式索引50指示垂直(VER)模式,而帧内预测模式索引66指示垂直对角(VDIA)模式。
在下文中,将参考图7描述根据本公开的实施例的帧间预测方法。在本公开中,帧间预测方法可以包括针对平移运动而优化的一般帧间预测方法和基于仿射模型的帧间预测方法。另外,运动向量可以包括根据一般帧间预测方法的用于运动补偿的一般运动向量和用于仿射运动补偿的控制点运动向量中的至少一个。
图7是图示根据本公开的实施例的帧间预测方法的图。如上所述,解码器可以通过参考不同的解码图片的重构样本来预测当前块。参考图7,解码器可以基于当前块701的运动信息集,获得参考图片720中的参考块702。在这种情况下,运动信息集可以包括参考图片索引和运动向量703。参考图片索引可以指示参考图片720,该参考图片720包括用于参考图片列表中的当前块的帧间预测的参考块。根据实施例,参考图片列表可以包括上述L0图片列表或L1图片列表中的至少一个。运动向量703可以指示当前图片710中的当前块701的坐标值与参考图片720中的参考块702的坐标值之间的偏移。解码器可以基于参考块702的样本值,获得当前块701的预测器,并且可以使用预测器来重构当前块701。
特别地,编码器可以通过从在重构顺序中具有较早次序的图片中搜索与当前块相似的块来获得上述参考块。例如,编码器可以搜索具有通过在预定搜索区域中将当前块与样本值之间的差相加获得的最小和的参考块。在这种情况下,为了测量当前块与参考块的样本之间的相似性,可以使用绝对差之和(SAD)或哈达玛变换差之和(SATD)中的至少一个。在此,SAD可以是通过将两个块中包括的样本之间的差的绝对值相加而获得的值。另外,SATD可以是通过将哈达玛变换系数的绝对值相加而获得的值,通过对包括在两个块中的样本之间的差执行哈达玛变换获得哈达玛变换系数。
可以使用一个或多个参考区域来预测当前块。如上所述,可以根据使用两个或更多个参考区域的双向预测方案来对当前块进行帧间预测。根据实施例,解码器可以基于当前块的两个运动信息集获得两个参考块。另外,解码器可以基于两个所获得的参考块中的每一个的采样值来获得当前块的第一预测器和第二预测器。另外,解码器可以使用第一预测器和第二预测器来重构当前块。例如,解码器可以基于第一预测器和第二预测器中的每一个的样本的平均值来重构当前块。
如上所述,对于当前块的运动补偿,可以发信号告知一个或多个运动信息集。在这种情况下,可以使用用于相对于多个块中的每一个的运动补偿的运动信息集之间的相似性。例如,可以从用于预测先前重构的其他样本中的任何一个的运动信息集导出用于预测当前块的运动信息集。综上所述,编码器和解码器可以减少信令开销。
例如,可能存在具有基于与当前块的运动信息集相同或相似的运动信息集被预测的可能性的多个候选块。解码器可以基于多个候选块来生成合并候选列表。在此,合并候选列表可以包括与在当前块之前重构的样本之中,具有基于与当前块的运动信息集有关的运动信息集而被预测的可能性的样本相对应的候选。编码器和解码器可以根据先前定义的规则来配置当前块的合并候选列表。在这种情况下,由编码器配置的合并候选列表和由解码器配置的合并候选列表可以彼此相同。例如,编码器和解码器可以基于当前块在当前图片中的位置,配置当前块的合并候选列表。将参考图9描述由编码器和解码器配置当前块的合并候选列表的方法。在本公开中,预定块的位置可以是在包括预定块的图片中预定块的左上样本的相对位置。
同时,为了提高编译效率,可以使用量化对残差信号进行变换获得的变换系数值并且编译量化的变换系数的方法,而不是原样编译上述残差。如上所述,变换单元可以通过对残差信号进行变换来获得变换系数值。在这种情况下,特定块的残差信号可以分布在当前块的整个区域上。因此,可以通过残差信号的频域转换,将能量集中在低频区域中,从而提高编译效率。在下文中,将详细地描述变换或逆变换残差信号的方法。
图8是具体示出用于通过编码器变换残差信号的方法的图。如上所述,可以将空间域中的残差信号变换成频域。编码器可以通过变换所获得的残差信号来获得变换系数。首先,编码器可以获得包括用于当前块的残差信号的至少一个残差块。残差块可以是当前块,也可以是从当前块划分的块之一。在本公开中,残差块可以被称为残差阵列或残差矩阵,其包括当前块的残差样本。在本公开中,残差块可以表示变换单元或具有与变换块相同大小的块。
接下来,编码器可以通过使用变换核来变换残差块。用于变换残差块的变换核可以是具有垂直变换和水平变换的可分离特性的变换核。在这种情况下,可以将用于残差块的变换分别执行为垂直变换和水平变换。例如,编码器可以通过在残差块的垂直方向上应用变换核来执行垂直变换。编码器可以通过在残差块的水平方向上应用变换核来执行水平变换。在本公开中,变换核可以被用作指代用于残差信号的变换的参数集的术语,诸如变换矩阵、变换阵列、变换函数和变换。根据实施例,变换核可以是多个可用核中的任何一个。基于不同变换类型的变换核可以被用于垂直变换和水平变换中的每一个。稍后将参考图12至图26描述选择多个可用变换核中的一个的方法。
编码器可以将从残差块变换的变换块传递到量化单元,并且量化该变换块。变换块可以包括多个变换系数。具体地,变换块可以包括以二维排列的多个变换系数。与残差块的情况一样,变换块的大小可以与当前块或从当前块划分的块的大小相同。传递到量化单元的变换系数可以被表示为量化值。
编码器可以在对变换系数进行量化之前执行附加变换。如图8所示,上述变换方法可以被称为初次变换,以及附加变换可以被称为二次变换。对于每个残差块,二次变换是可选择的。根据实施例,编码器可以通过对仅通过初次变换难以将能量集中在低频区域中的区域执行二次变换来提高编译效率。例如,可以将二次变换添加到其中在除了残差块的水平或垂直方向外的方向中残差值显示出较大的块。与帧间预测块的残差值相比,帧内预测块的残差值在除了水平或垂直方向以外的方向上具有更高的变换概率。因此,编码器可以对帧内预测块的残差信号附加地执行二次变换。编码器可以省略用于帧间预测块的残差信号的二次变换。
作为另一示例,可以取决于当前块的大小或残差块的大小来确定是否执行二次变换。可以取决于当前块的大小或残差块的大小,使用具有不同大小的变换核。例如,可以将8×8二次变换应用于宽度或高度之间的较短边的长度比第一预配置长度短的块。此外,可以将4×4二次变换应用于宽度或高度之间的较短边的长度大于第二预配置长度的块。在此,第一预配置长度可以是比第二预配置长度更大的值,但是本公开不限于此。不同于初次变换,二次变换可能不被分别执行为垂直变换和水平变换。该二次变换可以被称为低频带不可分离变换(低频不可分离变换,LFNST)。
在特定区域中的视频信号的情况下,即使由于亮度的突然改变而执行了频率变换,也不会减少高频带中的能量。因此,可能劣化归因于量化的压缩性能。当对残差值很少存在的区域执行变换时,可能会不必要地增加编码时间和解码时间。因此,可以省略对特定区域的残差信号的变换。可以通过与特定区域的变换有关的语法元素来确定是否对特定区域的残差信号执行变换。例如,语法元素可以包括变换跳过信息。变换跳过信息可以是变换跳过标志。如果关于残差块的变换跳过信息指示变换跳过,则不执行对残差块的变换。在这种情况下,编码器可以立即量化未对其执行相应区域的变换的残差信号。可以经由图1的变换单元,执行参考图8描述的编码器的操作。
上述变换相关语法元素可以是从视频信号比特流解析的信息。解码器可以对视频信号比特流进行熵解码,以便获得变换相关语法元素。编码器可以对变换相关语法元素进行熵编译,以便生成视频信号比特流。
图9是具体图示用于通过编码器和解码器,对变换系数进行逆变换来获得残差信号的方法的图。为了便于描述,将描述经由编码器和解码器中的每一个的逆变换单元执行逆变换操作。逆变换单元可以通过对逆量化的变换系数进行逆变换来获得残差信号。首先,逆变换单元可以从区域的变换相关语法元素中检测是否对特定区域执行逆变换。根据实施例,当用于特定变换块的变换相关语法元素指示变换跳过时,可以省略对变换块的变换。在这种情况下,可以省略上述关于变换块的初次逆变换和二次逆变换。可以将逆量化的变换系数用作残差信号。例如,解码器可以通过将逆量化的变换系数用作残差信号来重构当前块。
根据另一实施例,用于特定变换块的变换相关语法元素可以不指示变换跳过。在这种情况下,逆变换单元可以确定是否对二次变换执行二次逆变换。例如,当变换块是帧内预测块的变换块时,可以对变换块执行二次逆变换。可以基于与变换块相对应的帧内预测模式来确定用于变换块的二次变换核。作为另一示例,可以基于变换块的大小来确定是否执行二次逆变换。可以在逆量化之后并且在初次逆变换之前执行二次逆变换。
逆变换单元可以对逆量化的变换系数或二次逆变换的变换系数执行初次逆变换。在初次逆变换的情况下,与初次变换的情况一样,可以单独地执行垂直变换和水平变换。例如,逆变换单元可以通过对变换块执行垂直逆变换和水平逆变换来获得残差块。逆变换单元可以基于用于对变换块进行变换的变换核来对变换块进行逆变换。例如,编码器可以显式地或隐式地发信号告知指示多个可用变换核当中的被应用于当前变换块的变换核的信息。解码器可以通过使用指示发信号告知的变换核的信息,从多个可用变换核当中选择要用于变换块的逆变换的变换核。逆变换单元可以通过使用经由对变换系数进行逆变换而获得的残差信号来重构当前块。
图10是图示根据本公开的实施例的运动向量信令方法的图。根据实施例,可以基于运动向量预测(或预测器)(MVP)来生成运动向量(MV)。例如,如以下等式1所示,可以将MV确定为MVP。换句话说,MV可以被确定为(或被设置或导出为)与MVP相同的值。
[等式1]
MV=MVP
作为另一个示例,可以基于MVP和运动向量差(MVD)来确定MV,如下等式2所示。编码器可以将MVD信息发信号告知给解码器以便准确地表示MV,并且解码器可以通过将获得的MVD与MVP相加来得出MV。
[等式2]
MV=MVP+MVD
根据本公开的实施例,编码器可以将确定的运动信息发送到解码器,并且解码器可以从接收到的运动信息中生成(或导出)MV,并且可以基于其生成预测块。例如,运动信息可以包括MVP信息和MVD信息。在这种情况下,运动信息的分量可以取决于帧间预测模式而不同。例如,在合并模式下,运动信息可以包括MVP信息,并且可以排除MVD信息。作为另一示例,在高级运动向量预测(AMVP)模式下,运动信息可以包括MVP信息和MVD信息。
为了确定、发送和接收与MVP相关联的信息,编码器和解码器可以以相同的方式生成MVP候选(或MVP候选列表)。例如,编码器和解码器可以以相同顺序生成相同的MVP候选。编码器可以将指示所生成的MVP候选当中确定(或选择)的MVP的索引发送到解码器,并且解码器可以基于接收到的索引导出确定的MVP和/或MV。
根据本公开的实施例,MVP候选可以包括空间候选、时间候选等。如果应用合并模式,则MVP候选可以被称为合并候选。如果应用AMVP模式,则MVP候选可以被称为AMVP候选。空间候选可以是与基于当前块位于预定位置中的块相关联的MV(或运动信息)。例如,空间候选可以是存在于与当前块相邻或远离的位置中的块的MV。时间候选可以是与不同于当前图片的图片中的块相对应的MV。另外,例如,MVP候选可以包括仿射MV、ATMVP、STMVP、上述MV(或候选)的组合、上述MV(或候选)的平均MV、零MV等。
根据实施例,编码器可以将指示参考图片的信息发信号告知给解码器。根据实施例,如果MVP候选的参考图片和当前块(或当前处理块)的参考图片彼此不同,则编码器/解码器可以对MVP候选的MV执行缩放(运动向量缩放)。在这种情况下,可以基于当前图片的图片顺序计数(POC)、当前块的参考图片的POC以及MVP候选的参考图片的POC来执行MV缩放。
在下文中,将详细地描述与MVD信令方法相关联的详细实施例。表1示出了用于MVD信令的语法结构。
[表1]
参考图1,根据本公开的实施例,在MVD的情况下,可以分别地编译MVD的符号和MVD的绝对值。即,MVD的符号和绝对值可以是不同的语法(或语法元素)。此外,MVD的绝对值可以被完全原封不动地直接地被编译,也可以基于如表1所示的指示绝对值是否大于N的标记来顺序地被编译。如果绝对值大于N,则可以一起发信号告知(绝对值-N)的值。特别地,可以发送在表1的示例中,指示绝对值是否大于0的abs_mvd_greater0_flag。如果abs_mvd_greater0_flag指示(或示出)绝对值不大于0,则可以将MVD的绝对值确定为0。如果abs_mvd_greater0_flag指示绝对值大于0,则可能存在附加语法(或语法元素)。
例如,可以发送指示绝对值是否大于1的abs_mvd_greater1_flag。如果abs_mvd_greater1_flag指示(或显示)绝对值不大于1,则可以将MVD的绝对值确定为1。如果abs_mvd_greater1_flag指示绝对值大于1,则可能存在附加语法。例如,可能存在abs_mvd_minus2。abs_mvd_minus2可以是(绝对值-2)的值。基于abs_mvd_greater0_flag和abs_mvd_greater1_flag确定绝对值大于1(即,大于或等于2),可以发信号告知(绝对值-2)的值。与对绝对值进行二值化之后执行信令的情况相比,通过分层地执行与绝对值相关联的信息的语法信令,可以使用更少数量的比特。
根据实施例,可以通过应用基于可变长度的二值化方法(诸如指数哥伦布(Golomb)、截断一元码、截断莱斯码等)来对与绝对值有关的上述语法进行编译。另外,可以经由mvd_sign_flag来发信号告知指示MVD的符号的标记。
尽管在上述实施例中已经描述了MVD编译方法,但是除了MVD之外的其他信息也可以作为符号和绝对值分别地被发信号告知。绝对值可以被编译为指示该绝对值是否大于预先定义的预定值的标记以及通过从该绝对值中减去该预定值而获得的值。表1中的[0]和[1]可以是分量索引。例如,其可以是x分量(即水平分量)和y分量(即垂直分量)。
图11是图示根据本公开的实施例的发信号告知自适应运动向量分辨率信息的方法的图。根据本公开的实施例,可以存在用于表示MV或MVD的各种类型的分辨率。例如,可以基于像素(或画素(pel))来表示分辨率。例如,可以以1/4(四分之一)、1/2(一半)、1(整数)、2、4像素等为单位发信号告知MV或MVD。另外,编码器可以将MV或MVD的分辨率信息发信号告知给解码器。另外,例如,如果以1/4像素为单位执行信令,则可以将16编译为64(1/4*64=16)。如果以一个像素为单位执行信令,则可以将16编译为16(1*16=16)。如果以4个像素为单位执行信令,则可以将16编译为4(4*4=16)。即,可以基于下面的等式3来确定MV或MVD的值。
[等式3]
valueDetermined resolution*valuePerResolution
在等式3中,valueDetermined表示MV或MVD的值。另外,valuePerResolution可以指示基于所确定的分辨率发信号告知的值。在这种情况下,如果发信号告知为MV或MVD的值没有除以所确定的分辨率,则可以应用舍入处理等。如果使用高分辨率,准确度可能会很高。但是,要编译的值很大,并且可以使用大量的比特。如果使用低分辨率,准确度可能会变低。但是,要编译的值很小,并且可以使用少量的比特。根据实施例,可以基于诸如序列、图片、切片、编译树单元(CTU)、编译单元(CU)等之类的不同单元来不同地表示上述分辨率。即,编码器/解码器可以根据上述单元中的预定单元来自适应地确定/应用分辨率。
根据本公开的实施例,可以将上述分辨率信息从编码器发信号告知给解码器。在这种情况下,如上所述,可以基于可变长度对分辨率信息进行二值化并且可以发信号告知分辨率信息。在这种情况下,如果基于与最小值(即,最前面的值)相对应的索引来执行信令,则可以减少信令开销。根据实施例,分辨率可以从最高分辨率到最低分辨率顺序地映射到信令索引。
根据本公开的实施例,图11通过假设在各种分辨率中使用三种类型的分辨率的情况来图示信令方法。在这种情况下,三个信令比特可以是“0”、“10”和“11”,并且这三个信令索引可以分别表示第一分辨率、第二分辨率和第三分辨率。可能需要一个比特来发信号告知第一分辨率,而可能需要两个比特来发信号告知其余分辨率。因此,如果发信号告知第一分辨率,则可以相对减少信令开销。在图11中,可以将第一分辨率、第二分辨率和第三分辨率分别定义为1/4像素分辨率、1像素分辨率和4像素分辨率。下文所述的实施例中的MV分辨率可以指示MVD分辨率。
图12是图示根据本公开的实施例的基于历史的运动向量预测(HMVP)方法的图。如上所述,编码器/解码器可以使用空间候选、时间候选等作为运动向量候选。根据本公开的实施例,可以将基于历史的运动向量,即HMVP附加地用作运动向量候选。
根据本公开的实施例,编码器/解码器可以将先前编译的块的运动信息存储在表中。在本公开中,HMVP可以是先前编译的块的运动信息。即,编码器/解码器可以将HMVP存储在表中。在本公开中,存储HMVP的表被称为表或HMVP表,但是本公开不限于该名称。例如,该表(或HMVP表)可以被称为缓冲器、HMVP缓冲器、HMVP候选缓冲器、HMVP列表、HMVP候选列表等。
存储在HMVP表中的运动信息可以包括MV、参考列表、参考索引或利用标记中的至少一个。例如,运动信息可以包括参考列表L0的MV、L1的MV、L0参考索引、L1参考索引、L0预测列表利用标记或L1预测列表利用标记中的至少一个。在这种情况下,预测列表利用标记可以指示相应列表是否是可用信息、有意义的信息等。
另外,根据本公开的实施例,存储在HMVP表中的运动信息可以被生成为基于历史的运动信息并且可以被存储。从编译顺序的角度来看,基于历史的运动信息可以是在当前块之前被编译的块的运动信息。例如,编码器/解码器可以将在当前块之前编译的块的运动信息存储在HMVP表中。在这种情况下,该块可以是编译单元(CU)、预测单元(PU)等。该块的运动信息可以是用于与相应块相关联的运动补偿的运动信息、用于运动补偿的运动信息候选等。HMVP表中存储的运动信息(即,HMVP)可以被用于与将来要被编码/解码的块相关联的运动补偿。例如,存储在HMVP表中的运动信息可以被用于运动候选列表配置(运动候选列表构造)。
参考图12,在操作S1201中,编码器/解码器可以从HMVP表中调用一个或多个HMVP候选。编码器/解码器可以将HMVP候选添加到运动候选列表。例如,运动候选列表可以是合并候选列表(或合并列表)或AMVP候选列表(或AMVP列表)。在操作S1202中,编码器/解码器可以基于运动候选列表,执行与当前块相关联地的运动补偿和编码/解码。在操作S1203中,编码器/解码器可以使用用于与当前块相关联的运动补偿或解码的信息来更新HMVP表。
根据本公开的实施例,HMVP候选可以被用于合并候选列表配置过程。可以顺序地识别HMVP的各种最新HMVP候选,并且可以在时间运动向量预测(或预测器)(TMVP)候选之后将其插入(或添加)到合并候选列表。另外,当添加HMVP候选时,可以相对于除了子块运动候选(即,ATMVP)之外的合并列表中包括的空间或时间合并候选执行剪枝处理(或剪枝检查)。根据实施例,为了减少执行剪枝的次数,可以应用以下实施例。
1)例如,可以如以下等式4所示设置HMPV候选的数量。
[等式4]
L=(N<=4)?M:(8-N)
在等式4中,L表示HMPV候选的数量。N表示可用的非子块合并候选的数量。M表示表中可用的HMVP候选的数量。例如,N表示合并候选列表中包括的非子块合并候选的数量。如果N小于或等于4,则HMVP候选的数量可以被确定为M。否则,HMVP候选的数量可以被确定为(8-N)。
2)另外,例如,如果可用合并候选的总数达到通过从发信号告知的允许的合并候选的最大数量中减去1而获得的值,则可以终止基于HMVP列表的合并候选列表配置过程。
3)另外,例如,用于导出组合的双向预测合并候选的候选对的数量可以从12个减少到6个。
另外,根据本公开的实施例,HMVP候选可以被用于AMVP候选列表配置过程。可以在TMVP候选之后,插入在表中具有最后索引K的HMVP候选的运动向量。根据实施例,仅具有与AMVP目标参考图片相同的参考图片的HMVP候选可以被用于AMVP候选列表配置。在这种情况下,上述剪枝过程可以被应用于HMVP候选。例如,上述K可以被设置为4,并且AMVP列表的大小(或长度)可以被设置为2。
图13是图示根据本公开的实施例的更新HMVP表的方法的图。根据本公开的实施例,可以根据先进先出(FIFO)方案来维护/管理HMVP表。也就是说,如果提供了新的输入,则可以首先输出最久的元素(或候选)。例如,当将用于当前块的运动信息添加到HMVP表时,如果HMVP表被最大数量的元素填充,则编码器/解码器可以从HMVP表输出添加最久的运动信息,并且可以将用于当前块的运动信息添加到HMVP表。在这种情况下,如果输出包括在现有HMVP表中的运动信息,则编码器/解码器可以移动运动信息,以便用后续位置(或索引)的运动信息填充输出的运动信息的位置。例如,如果输出运动信息的HMVP表索引为m,而最久的元素位于HMVP表索引0,则与大于m的索引n相对应的运动信息可以被分别移动到HMVP表的索引(n-1)的位置。综上所述,与HMVP表中的高索引相对应的位置可以变为空,并且编码器/解码器可以将用于当前块的运动信息分配为HMVP表中的最高索引。即,如果包括有效元素的最大索引是M,则可以将当前块的运动信息插入到与索引(M+1)相对应的位置。
另外,根据本公开的实施例,当基于预定运动信息更新HMVP表时,编码器/解码器可以应用剪枝处理。即,编码器/解码器可以识别运动信息或与运动信息相对应的信息是否被包括在HMVP表中。可以取决于是否包括重复的运动信息来不同地定义HMVP表更新方法。综上所述,防止了重复的运动信息被包括在HMVP表中,并且可以考虑各种候选来进行运动补偿。
根据实施例,当基于用于当前块的运动信息来更新HMVP表时,如果运动信息已经被包括在HMVP表中,则编码器/解码器可以删除现有HMVP表中包括的重复运动信息,并且可以将运动信息新添加到HMVP表中。在这种情况下,已经在FIFO中描述的方法可以被用作删除现有候选并添加新候选的方法。即,将当前要添加到HMVP表的运动信息的索引确定为m,并且可以输出最久的运动信息。如果运动信息尚未被包括在HMVP表中,则编码器/解码器可以删除添加最久的运动信息,并且可以将运动信息添加到HMVP表中。
根据另一实施例,当基于用于当前块的运动信息来更新HMVP表时,如果运动信息已经被包括在HMVP表中,则编码器/解码器可以不改变HMVP表,而如果不包括该运动信息,则编码器/解码器可以根据FIFO方案更新HMVP表。
另外,根据本公开的实施例,编码器/解码器可以在预定的时间点或预定位置处初始化(或重置)HMVP表。编码器和解码器需要使用相同的运动候选列表,因此,编码器和解码器可能需要使用相同的HMVP表。在这种情况下,如果他们连续使用HMVP表而不进行初始化,则可能会出现编译块之间的依赖性,这是一个问题。因此,为了支持并行处理,需要减少块之间的依赖性,并且可以根据支持并行处理的单位来预先设置初始化HMVP表的操作。例如,编码器/解码器可以被配置为以切片级别、CTU行级别、CTU级别等来初始化HMVP表。例如,如果定义了以CTU行级别的HMVP表的初始化,则编码器/解码器可以在开始对每个CTU行的编译时以HMVP表为空的状态执行编码/解码。
图14是图示根据本公开的实施例的更新HMVP表的方法的图。参考图14,根据本公开的实施例,编码器/解码器可以根据本公开的实施例,基于mvCand来更新HMVPCandList。在本公开中,HMVPCandList表示HMVP表,而mvCand表示当前块的运动信息。图14所示的过程,可以将具有两个运动向量mvL0和mvL1、两个参考索引refIdxL0和refIdxL1以及两个预测列表利用标记predFlagL0和predFlagL1的运动候选mvCand用作输入。图14所示的过程可以输出校正后的HMVPCandList布置。
在第一步骤(步骤1)中,编码器/解码器可以通过将HMVPIdx值从0变为(HMVPCandNum-1)来识别mvCand是否与HMVPCandList[HMVPIdx]相同,其中,HMVPIdx值是指示HMVP表中HMVP的索引的变量。在此,HMVPCandNum表示HMVP表中包含的HMVP的数量。HMVPCandList[HMVPIdx]表示HMVP表中具有HMVPIdx值的候选。如果mvCand与HMVPCandList[HMVPIdx]相同,则编码器/解码器可以将指示候选是否相同的变量sameCand设置为“真”。根据实施例,当识别mvCand是否与HMVPCandList[HMVPIdx]相同时,编码器/解码器可以在L0相关MV和参考索引之间或L1相关MV和参考索引之间,与具有预测列表利用标记为1的运动信息进行比较。
在第二步骤(步骤2)中,编码器/解码器可以将作为指示临时索引的变量的变量tempIdx设置为HMVPCandNum。在第三步骤(步骤3)中,如果sameCand为真或HMVPCandNum与最大HMVP表的大小(或长度)相同,则编码器/解码器可以通过将tempIdx从(sameCand?HMVPIdx:1)变为(HMVPCandNum-1),将HMVPCandList[tempIdx]复制到HMVPCandList[tempIdx-1]。也就是说,如果sameCand为真,则tempIdx从HMVPIdx开始。编码器/解码器可以将HMVPIdx设置为通过将1加到与HMVP表中的mvCand相同的元素索引而获得的值。另外,如果sameCand为假,则tempIdx从1开始,并且HMVPCandList[0]可以被用作HMVPCandList[1]的内容。
在第四步骤(步骤4)中,编码器/解码器可以将作为要用于更新的运动信息的mvCand复制到HMVPCandList[tempIdx]中。在第五步骤(步骤5)中,如果HMVPCandNum小于最大HMVP表大小,则编码器/解码器可以使HMVPCandNum加1。
图15是示出根据本公开的实施例的更新HMVP表的方法的图。参考图15,根据本公开的实施例,在识别当前块的运动信息是否包括在HMVP表中的过程中,编码器/解码器可以从HMVPIdx具有大于0的值开始执行比较。例如,当识别当前块的运动信息是否包括在HMVP表中时,编码器/解码器可以在排除与HMVPIdx 0相对应的运动信息的情况下执行比较。换句话说,编码器/解码器可以将mvCand与从与HMVPIdx 1相对应的候选开始的候选进行比较。在图15所示的过程中,可以将具有两个运动向量mvL0和mvL1、两个参考索引refIdxL0和refIdxL1以及两个预测列表利用标记predFlagL0和predFlagL1的运动候选mvCand用作输入。图15所示的过程可以输出校正后的HMVPCandList布置。
再次参考图14中描述的HMVP表更新方法。在第一步骤中可以从与HMVPIdx 0相对应的运动信息开始检查是否存在与mvCand相同的运动信息。然而,如果mvCand存在于HMVPCandList[0]中,或者不存在于对应于HMVPIdx 0至HMVPCandNum的范围的HMVPCandList[HMVPIdx]中,则上述更新方法可以输出HMVPCandList[0]的运动信息。如果mvCand存在于不同于0的HMVPIdx当中的HMVPCandList[HMVPIdx]中,则不会更新HMVPCandList[0]的内容,因此,无需将mvCand与HMVPCandList[0]进行比较。另外,当前块的运动信息可以类似于空间上相邻的块的运动信息,因此,该运动信息可以具有与在HMVP表中最近添加的运动信息相似的高可能性。根据该假设,与对应于HMVPIdx 0的候选的运动信息相比,mvCand可能更类似于HMVPIdx大于0的候选的运动信息,并且如果发现相似(或相同)的运动信息,则可以终止剪枝过程。因此,通过从大于0的HMVPIdx执行图14的第一步骤,当与图14的实施例相比时,可以减少执行比较的次数。
图16是图示根据本公开的实施例的更新HMVP表的方法的图。参考图16,根据本公开的实施例,在识别当前块的运动信息(即,mvCand)是否包括在HMVP表中的过程中,编码器/解码器可以从具有大于0的值的HMVPIdx开始执行比较。在图16所示的过程中,可以将具有两个运动向量mvL0和mvL1、两个参考索引refIdxL0和refIdxL1以及两个预测列表利用标记predFlagL0和predFlagL1的运动候选mvCand用作输入。图16所示的过程可以输出校正后的HMVPCandList布置。例如,当识别HMVP表中是否包括mvCand时,编码器/解码器可以在排除对应于具有大于或等于0的值的HMVPIdx的预定数量的运动信息(或候选)的情况下执行比较过程(或剪枝处理),。特别地,如果指示要比较的元素的数量的变量是NumPrune,则编码器/解码器可以在与HMVPIdx相对应的元素的范围(HMVPCandNum-NumPrune+1)至(HMVPCandNum-1)中识别mvCand是否与HMVP表元素相同。通过上述过程,当与先前描述的实施例相比时,可以大大减少执行比较的次数。
根据另一个实施例,编码器/解码器可以将mvCand与HMVP表中预先设定并且不同于HMVPIdx 0的预定位置进行比较。例如,编码器/解码器可以通过与对应于HMVPIdxPruneStart到(HMVPCandNum-1)的元素范围内的HMVP表元素进行比较来检查mvCand是否是重复的运动信息。
图17是图示根据本公开的实施例的更新HMVP表的方法的图。参考图17,根据本公开的实施例,在识别HMVP表中是否包括mvCand的过程中,编码器/解码器可以按从最新添加的HMVP表元素到最久的HMVP表元素的顺序,将mvCand与HMVP表元素进行比较。在图17所示的过程中,可以将具有两个运动向量mvL0和mvL1、两个参考索引refIdxL0和refIdxL1以及两个预测列表利用标记predFlagL0和predFlagL1的运动候选mvCand用作输入。图17所示的过程可以输出校正后的HMVPCandList布置。mvCand具有与空间相邻块的运动信息相似的高可能性,因此,mvCand可以与HMVP表中相对较新添加的运动信息相似。以相同的方式,如果发现相似(或相同)的运动信息,则可以终止剪枝过程。综上所述,通过以与图17的实施例相同的方式,从与最近添加的元素相对应的HMVPIdx进行比较,可以减少需要执行比较的次数。
图18是图示根据本公开的实施例的剪枝过程的图。根据本公开的实施例,当检查当前块的运动信息是否已经包括在HMVP表中时,编码器/解码器可以与HMVP表的一些信息进行比较。这是为了减少由比较过程引起的复杂性。例如,在检查运动信息是否包括在HMVPCandList[HMVPIdx]中的情况下,编码器/解码器可以使用具有预定索引的HMVPCandList[HMVPIdx]或HMVPCandList[HMVPIdx]的子集来执行剪枝过程。例如,与L0和L1相关联的信息可以被包括在HMVPCandList[HMVPIdx]中。如果L0和L1利用标记全部为1,则编码器/解码器可以根据预定的协议(或条件)选择L0和L1中的任何一个,并且可以执行比较。例如,可以相对于L0参考索引和L1参考索引之间的仅较小参考列表来执行检查是否存在重复运动信息的剪枝过程。
根据实施例,编码器/解码器可以相对于HMVP表中的运动信息的L0参考索引和L1参考索引之间的仅较小参考列表来执行剪枝过程。例如,编码器/解码器可以相对于当前块的运动信息的L0参考索引和L1参考索引之间的仅较小参考索引来执行剪枝过程。根据另一实施例,编码器/解码器可以将基于当前块的运动信息比特和参考索引比特的子集获得的值与基于HMVP表元素的运动信息比特和参考索引比特的子集获得的值进行比较,以确定该值是否已经包括在HMVP表中。根据实施例,基于运动信息比特和参考索引比特的子集获得的值可以是运动信息比特和参考索引比特的一部分。根据另一实施例,基于运动信息比特和参考索引比特的子集获得的值可以是通过使第一子集和第二子集通过哈希函数而获得的值(或输出)。根据另一实施例,在剪枝过程中,如果两个运动向量之间的差小于或等于预定阈值,则编码器/解码器可以确定两个运动向量彼此相同或相似。
图19是图示根据本公开的实施例的添加HMVP候选的方法的图。根据本公开的实施例,编码器/解码器可以将包括在HMVP表中的MV添加到运动候选列表。根据实施例,当前块的运动可以具有与最近添加的运动相似的可能性,并且最近添加的运动可以具有可被用作候选的可能性,因此,编码器/解码器可以将HMVP表中最近添加的元素添加到候选列表。
在这种情况下,根据实施例,参考图19,与最新添加的HMVP表元素相反,编码器/解码器可以优先从具有预定索引值的元素向候选列表进行添加。可替代地,编码器/解码器可以从紧接在最新添加的HMVP表元素之后的元素,将预定数量的先前添加的元素添加到候选列表。
可替代地,根据实施例,编码器/解码器可以从排除了至少一个最新添加的HMVP表元素之后剩余的元素,向候选列表添加预定数量的先前添加的元素。在这种情况下,编码器/解码器可以优先地将HMVP表元素中的相对较新输入的运动信息添加到候选列表。
最新添加的HMVP表元素可以是在空间上与当前块相邻的块,因此,在候选列表配置过程中,该块可能具有已经被添加为空间候选的高可能性。因此,通过如实施例中所述,配置排除预定数量的最近添加的候选的候选列表,可以防止不必要的候选被添加到候选列表,并且当将候选添加到候选列表时可以减少剪枝处理器的复杂性。尽管已经主要从运动候选列表配置的角度描述了HMVP表元素及其使用,但是本公开不限于此,并且可以应用于另一参数或帧间/帧内预测相关信息。
图20是图示根据本公开的实施例的合并共享节点的图。根据本公开的实施例,为便于并行处理,编码器/解码器可以为多个块共享相同的候选列表。候选列表可以是运动候选列表。可以根据预定协议来定义多个块。例如,可以将从属于满足预定条件的块(或区域)块定义为多个块。可替代地,可以将包括在满足预定条件的块中的块定义为多个块。在说明书中,多个块共同使用的候选列表可以被称为共享列表。如果将其应用于合并候选列表,则合并候选列表可以被称为共享合并列表。
另外,在本说明书中,可以将满足预定条件的块称为合并共享节点(即,图20中用虚线标记的部分)、共享合并节点、合并共享区域、共享合并区域、共享合并列表节点、共享合并列表区域等。编码器/解码器可以基于与合并共享节点相邻的相邻块的运动信息来配置运动候选列表。通过相同的方式,可以确保对合并共享节点内的编译单元的并行处理。另外,可以将阈值用作上述预定条件。例如,可以基于阈值来定义(或确定)被定义为合并共享节点的块。例如,可以将用于预定条件的阈值设置为与块大小、块宽度或块高度有关的值。
图21是图示根据本公开的实施例,如果使用共享列表则更新HMVP的方法的图。图21假设了使用图20中描述的共享列表的情况。当使用HMVP候选配置共享列表时,编码器和解码器需要维护相同的HMVP表。如果未定义用于基于由使用相同共享列表的多个块使用的运动信息来更新HMVP表的规则,则它们可能无法配置相同候选列表。因此,假设如图21所示,在合并共享节点中CU1、CU2、CU3和CU4使用共享列表,将参考图22至图24描述更新HMVP表以确保合并共享节点中的相同共享列表的方法。
图22是图示根据本公开的实施例,基于合并共享节点中的块的运动信息来更新HMVP表的方法的图。参考图22,编码器/解码器可以将相同的共享列表应用于合并共享节点的从属节点编译单元中的CU1、CU2、CU3和CU4。特别地,在操作S2201、S2202、S2203和S2204中,编码器/解码器可以基于与合并共享节点相邻的相邻块的运动信息,为CU1、CU2、CU3和CU4配置相同的运动候选列表。运动候选列表可以包括运动向量分量和参考索引。
在使用共享运动候选列表导出或编码/解码与CU1、CU2、CU3和CU4相关联的运动信息之后,编码器/解码器可以在操作S2205中,使用与CU1、CU2、CU3和CU4相关联的运动信息来更新HMVP表。在需要使用相同候选列表的状态下,即,在合并共享节点中,如果多个CU执行HMVP表更新,则它们可以不使用相同候选列表。因此,根据本公开的实施例,在需要使用共享列表的状态下,可以在终止对合并共享节点中的所有CU的MV推导或编译之后,执行HMVP表的更新。因此,属于合并共享节点的所有CU可以基于相同的HMVP表来配置运动候选列表。
图23是图示根据本公开的实施例,如果使用共享列表则更新HMVP的方法的图。参考图23,假定使用已经在图20至22中描述的共享列表。在这种情况下,如果用于图22的每个CU的MV推导或编码/解码终止,则在合并共享节点中可以存在多个CU,因此,也可以存在多个使用过的运动信息。
根据实施例,如图23所示,编码器/解码器可以使用合并共享节点中的所有运动信息来更新HMVP表。换句话说,使用由使用相同共享列表的所有CU使用的运动信息,编码器/解码器可以更新HMVP表。在这种情况下,可能需要预先为编码器和解码器设置更新顺序。
根据实施例,编码器/解码器可以参考常规解码的顺序作为更新顺序。例如,如图23所示,可以以常规编译的顺序,顺序地使用与每个CU相对应的运动信息,作为更新HMVP表的过程的输入。可替代地,根据实施例,编码器/解码器可以通过参照参考索引的顺序、当前图片和参考图片之间的POC关系等来确定更新与多个CU的运动信息相关联的HMVP表的顺序。例如,可以按参考索引的顺序,以合并共享节点中的所有运动信息来更新HMVP表。可替代地,例如,可以按当前图片和参考图片之间的POC的差低的顺序或以差高的顺序,利用合并共享节点中的所有运动信息来更新HMVP表。
图24是图示根据本公开的实施例,基于合并共享节点中的块的运动信息来更新HMVP表的方法的图。参考图24,假设使用已经在图20至22中描述的共享列表。在这种情况下,如果终止用于图22的每个CU的MV推导或编码/解码,则在合并共享节点中可以存在多个CU,因此也可以存在多个使用过的运动信息。
根据本公开的实施例,编码器/解码器可以使用在合并共享节点中多个CU使用的一些运动信息来更新HMVP表。换句话说,编码器/解码器可以在HMVP表中,不更新在合并共享节点中多个CU使用的至少一些运动信息。例如,编码器/解码器可以参考常规解码的顺序作为更新顺序。例如,编码器/解码器可以使用预定数量的运动信息来更新HMVP表,该预定数量的运动信息在与每个CU相对应的运动信息之中,按常规解码的顺序具有较晚的解码次序。按常规编译顺序,具有较晚解码次序的块可能具有与随后要编译的块在空间上相邻的高可能性,并且在执行运动补偿时可能需要类似的运动。
根据实施例,参考图24,如果存在使用相同共享列表的CU1至CU4,则编码器/解码器可以仅使用与根据常规解码的顺序最后编译的CU4相关联的运动信息来更新HMVP表。根据另一实施例,编码器/解码器可以通过参照参考索引的顺序、当前图片和参考图片之间的POC关系等,使用多个CU的一些运动信息来更新HMVP表。
另外,根据本公开的另一实施例,当将来自HMVP表的HMVP候选添加到候选列表时,编码器/解码器可以通过参照当前块和与HMVP表中的元素相对应的块之间的关系来将HMVP候选添加到候选列表。可替代地,当将来自HMVP表的HMVP候选添加到候选列表时,编码器/解码器可以参照包括在HMVP表中的候选块之间的位置关系。例如,编码器/解码器可以通过考虑HMVP或块解码的顺序来将来自HMVP表的HMVP候选添加到候选列表。
图25是图示根据本公开的实施例的基于HMVP处理视频信号的方法的图。参考图25,为了便于描述,将主要从解码器的角度提供描述,但是本公开不限于此。根据实施例的基于HMVP的视频信号处理方法可以以基本上相同的方式应用于编码器。
具体地,如果当前块位于包括多个编译块的合并共享节点中,则在操作S2501中,解码器可以使用与合并共享节点相邻的空间候选来配置合并候选列表。在操作S2502中,解码器可以将包括至少一个基于历史的运动向量预测值(HMVP)的HMVP表的预定HMVP添加到合并候选列表。在此,HMVP是在多个编译块之前被编译的块的运动信息。
在操作S2503中,解码器可以从合并候选列表中获得指示用于预测当前块的合并候选的索引信息,并且在操作S2504中,可以基于合并候选的运动信息来生成当前块的预测块。解码器可以通过将预测块和残差块相加来生成当前块的重构块。如上所述,根据本公开的实施例,在HMVP表中可以不更新包括在合并共享节点中的多个编译块中的至少一个的运动信息。如上所述,解码器可以使用预定数量的编译块的运动信息来更新HMVP表,该预定数量的编译块在合并共享节点中包括的多个编译块中,具有按解码顺序的相对较晚的次序。
如上所述,解码器可以使用包括在合并共享节点中的多个编译块之中,按解码顺序具有最新次序的编译块的运动信息来更新HMVP表。另外,如果当前块不位于合并共享节点中,则解码器可以使用合并候选的运动信息来更新HMVP表。另外,如上所述,解码器可以使用在HMVP表中具有预先定义的预定索引的HMVP来检查是否存在合并候选列表中的候选的运动信息的重复运动信息。
图26是图示根据本公开的实施例的多假设预测方法的图。根据本公开的实施例,编码器/解码器可以基于各种预测方法来生成预测块。在说明书中,将基于各种预测模式的预测方法称为多假设预测。然而,本公开不限于名称,并且说明书中的多假设预测可以被称为多预测、众多预测、组合预测、帧间-帧内加权预测、组合帧间-帧内预测、组合帧间-帧内加权预测等。根据实施例,多假设预测可以是通过任意预测方法生成的块。另外,根据实施例,多重预测中的预测方法可以包括帧内预测方法、帧间预测方法等。另外,详细地,多预测中的预测方法可以是合并模式、AMVP模式、帧内预测的预定模式等。另外,编码器/解码器可以通过对基于多重预测而生成的预测块(或预测样本)执行加权求和来生成最终预测块。
根据本公开的实施例,可以预先设置用于多重预测的预测方法的最大数量。例如,多重预测的预测方法的最大数量可以是2。因此,在单向预测的情况下,通过应用两种预测,以及在双向预测的情况下,通过应用两种预测(即,将多重预测仅用于基于单个参考列表的预测的情况)或四种预测(即,将多重预测用于基于两个参考列表的预测的情况),生成预测块。
可替代地,根据本公开的实施例,可以预先设置可用在多假设预测中的预测模式。可替代地,可以预先设置可用于多假设预测的预测模式的组合。例如,编码器/解码器可以使用经由帧间预测和帧内预测生成的预测块(或预测样本)来执行多假设预测。
根据本公开的实施例,编码器/解码器可以将帧间预测和/或帧内预测模式中的一些用于多假设预测。例如,对于多假设预测,编码器/解码器可以仅使用帧间预测的合并模式。另外,对于多假设预测,与子块合并模式相反,编码器/解码器可以使用帧间预测模式的合并模式。可替代地,对于多假设预测,编码器/解码器可以使用帧内预测模式的预定帧内模式。例如,对于多假设预测,编码器/解码器可以限制性地使用包括帧内预测中的平面、DC模式以及垂直和/或水平模式中的至少一种的预测模式。根据实施例,编码器/解码器可以经由帧内预测和合并模式,基于预测来生成预测块。在这种情况下,可以将平面模式、DC模式以及垂直和/或水平模式中的至少一种限制性预测模式用作帧内预测。
参考图26,编码器/解码器可以使用第一预测(预测1)和第二预测(预测2)来生成预测块。特别地,编码器/解码器可以通过应用第一预测来生成第一临时预测块(或预测样本),并且可以通过应用第二预测来生成第二临时预测块。编码器/解码器可以通过对第一临时预测块和第二临时预测块执行加权求和来生成最终预测块。在这种情况下,编码器/解码器可以通过将第一权重(w1)应用于基于第一预测所生成的第一临时预测块,以及通过将第二权重(w2)应用于基于第二预测生成的第二临时预测块来实现加权求和。
根据本公开的实施例,在基于多假设预测生成预测块的情况下,可以基于块中的预定位置来确定应用于多假设预测的权重。在这种情况下,该块可以是当前块或相邻块。可替代地,多假设预测的权重可以基于用于生成预测的模式。例如,如果用于生成预测的模式之一对应于帧内预测,则编码器/解码器可以基于预测模式来确定权重。另外,例如,如果预测模式之一对应于帧内预测和方向性模式,则编码器/解码器可以增加远离参考样本的样本的权重。
根据本公开的实施例,如果用于多假设预测的帧内预测模式是方向性模式,并且另一预测模式对应于帧间预测,则编码器/解码器可以将相对较高的权重应用于基于应用于远离参考样本的样本的帧内预测生成的预测样本。在帧间预测的情况下,可以使用空间相邻候选来执行运动补偿。在这种情况下,被参考用于运动补偿的空间相邻块的运动可以具有与当前块的运动相同或相似的高可能性。因此,与空间相邻块相邻的区域的预测和包括移动的对象的区域的预测可以具有比其他部分更准确的高可能性。在这种情况下,在空间相邻块的相反方向上与边界相邻的残差信号的数量可以大于其他区域(或一部分)。根据本公开的实施例,这可以通过在多假设预测中应用帧内预测样本的组合来抵消。另外,根据实施例,帧内预测的参考样本的位置可以与帧间预测的空间相邻候选相邻。因此,编码器/解码器可以将高权重应用于相对远离它的区域。
根据另一实施例,如果用于生成多假设预测样本的模式之一对应于帧内预测和方向性模式,则编码器/解码器可以将高权重应用于相对接近于参考样本的样本。特别地,用于生成多假设预测样本的模式之一对应于帧内预测和方向性模式,并且用于生成另一多假设预测样本的模式对应于帧间预测,编码器/解码器可以将高权重应用于基于应用于接近参考样本的样本的帧内预测而生成的预测样本。在帧内预测中,随着预测样本与参考样本之间的距离越近,预测的准确度越高。
根据另一实施例,如果用于生成多假设预测样本的模式之一对应于帧内预测并且不是方向性模式(例如,平面模式或DC模式),则可以将权重设置为常数值,而与块中的位置无关。另外,根据实施例,在多假设预测中可以基于用于预测1的权重来确定用于预测2的权重。以下等式示出了基于多假设预测来确定预测样本的示例。
[等式5]
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(w*predSamples[x][y]+(8-w)*predSamplesIntra[x][y])>>3)
在等式5中,pbSamples是基于多假设预测生成的(最终)预测样本(或预测块)。predSamples表示由帧间预测生成的块/样本,而predSamplesIntra表示由帧内预测生成的块/样本。在等式5中,x和y表示块中的样本的坐标,并且其范围如下:x=0..nCbW-1和y=0..nCbH-1。另外,nCbW和nCbH分别表示当前块的宽度和高度。另外,根据实施例,可以根据下述过程来确定权重w。
-如果predModeIntra为INTRA_PLANAR或INTRA_DC,或者nCbW<4或nCbH<4或cIdx>0,则可以将w设置为4。
-否则,如果predModeIntra为INTRA_ANGULAR50且y<(nCbH/4),则可以将w设置为6。
-否则,如果predModeIntra为INTRA_ANGULAR50且(nCbH/4)<=y<(nCbH/2),则可以将w设置为5。
-否则,如果predModeIntra为INTRA_ANGULAR50且(nCbH/2)<=y<(3*nCbH/4),则可以将w设置为4。
-否则,如果predModeIntra为INTRA_ANGULAR50且(3*nCbH/4)<=y<nCbH,则可以将w设置为3。
-否则,如果predModeIntra为INTRA_ANGULAR18且x<(nCbW/4),则可以将w设置为6。
-否则,如果predModeIntra为INTRA_ANGULAR18且(nCbW/4)<=x<(nCbW/2),则可以将w设置为5。
-否则,如果predModeIntra为INTRA_ANGULAR18且(nCbW/2)<=x<(3*nCbW/4),则可以将w设置为4。
-否则,如果predModeIntra为INTRA_ANGULAR18且(3*nCbW/4)<=x<nCbW,则可以将w设置为3。
表2示出了根据本公开的实施例的与多假设预测有关的语法结构。
[表2]
在表2中,mh_intra_flag表示指示是否使用多假设预测的标记。根据本公开的实施例,仅当满足用于多假设预测的预先定义的预定条件(在说明书中,为便于描述被称为mh_conditions)时,才可以应用多假设预测。如果不满足mh_conditions,则编码器/解码器可以在不解析mh_intra_flag的情况下,将mh_intra_flag的值推断为“0”。例如,mh_conditions可以包括与块大小有关的条件。另外,mh_conditions可以包括与预先定义的预定模式的使用有关的条件。例如,如果作为指示是否应用合并模式的标记的merge_flag是1,并且作为指示是否应用子块合并模式的标记的subblock_merge_flag是0,则可以解析mh_intra_flag。换句话说,如果将合并模式应用于当前块,而不应用子块合并模式,则编码器/解码器可以考虑(或应用)多假设预测。
另外,根据本公开的实施例,为了确定多假设预测中的模式,编码器可以通过将候选模式划分成列表来配置多个列表,并且可以发信号告知要用于解码器的列表。参考表2,mh_intra_luma_mpm_flag可以是指示在多个列表当中要使用的列表的标记。如果不存在mh_intra_luma_mpm_flag,则将mh_intra_luma_mpm_flag的值被推断为(或视作)1。另外,根据本公开的实施例,多个列表可以是MPM列表和非MPM列表。
另外,根据实施例,编码器可以向解码器发信号告知指示在多个列表当中的列表中要使用的候选的索引(或索引信息)。参考表2,mh_intra_luma_mpm_idx可以是上述索引。此外,根据实施例,仅当选择预定列表时,才发信号告知该索引。仅当基于mh_intra_luma_mpm_flag确定了预定列表时,才解析mh_intra_luma_mpm_idx。
根据本公开的实施例,根据图26所述的实施例,可以基于以帧间预测为基础生成的预测和以帧内预测为基础生成的预测来执行多假设预测。例如,编码器/解码器可以仅在发信号告知使用帧间预测时才执行多假设预测。可替代地,仅当发信号告知使用帧间预测的预定模式(诸如合并模式)时,编码器/解码器才执行多假设预测。在这种情况下,不单独需要与帧间预测相关联的信令。另外,根据实施例,当编码器/解码器根据帧内预测执行预测时,候选模式的总数可以是4。例如,可以分别使用总共4个候选模式中的三个候选模式和一个候选模式来配置第一列表和第二列表。在这种情况下,选择包括一个预测模式的第二列表,编码器可以不向解码器发信号告知索引。另外,如果选择了第一列表,则可以将指示预定候选的索引发信号告知给解码器。在这种情况下,包括在第一列表中的候选的数量为3,因此,可以根据可变长度编译方案来执行1比特信令或2比特信令。
表3示出了根据本公开实施例的与多假设预测有关的语法结构。
[表3]
在表3中,如表2中所述,可以存在指示多个列表当中要使用的列表的信令,并且在表2至表3中mh_intra_luma_mpm_flag可以是这样的语法元素。将省略已经在表2中描述过的语法元素的说明。
根据本公开的实施例,可以仅对预定情况,显式地发信号告知指示要使用的列表的信令。如果没有显式地发信号告知要使用的列表,则编码器/解码器可以根据预定方法来推断语法元素的值。参考表3,如果满足mh_mpm_infer_condition的条件,则可能不存在显式信令。如果不满足mh_mpm_infer_condition的条件,则可能存在显式信令。另外,如果满足mh_mpm_infer_condition的条件,则不存在mh_intra_luma_mpm_flag。在这种情况下,将mh_intra_luma_mpm_flag的值推断为1。即,在这种情况下,编码器/解码器可以推断出使用了MPM列表。
表4示出了根据本公开的实施例的与多假设预测有关的语法结构。
[表4]
如表2至表3中所述,可以存在指示在多个列表当中要使用的列表的信令,并且如果满足预定条件,则编码器/解码器可以推断该值。将省略已经在表2和表3中描述过的语法元素的说明。
根据本公开的实施例,可以基于当前块的大小来确定用于推断指示在多个列表中要使用的列表的信令值(或者语法元素或参数)的条件。例如,编码器/解码器可以基于当前块的宽度和高度来确定条件。特别地,如果当前块的宽度和高度之间的较大值大于较小值的n倍,则编码器/解码器可以推断信令值。例如,可以将n设置为自然值,例如2、3、4等。参考表4,用于推断指示在多个列表当中要使用的列表的信令值的条件可以是当前块的宽度和高度之间的较大值应当大于较小值的两倍的条件。如果当前块的宽度和高度分别为cbWidth和cbHeight,则当cbWidth和cbHeight相同时,Abs(Log2(cbWidth/cbHeight))可以为0,而当cbWidth和cbHeight中的一个是另一个的两倍大时,Abs(Log2(cbWidth/cbHeight))可以为1。因此,如果cbWidth和cbHeight中的一个大于另一个的2倍,则Abs(Log2(cbWidth/cbHeight))可以大于1(即,可以具有大于或等于2的值)。
图27是图示根据本公开的实施例的确定多假设预测模式的方法的图。如表2至表4中所述,可以基于多个列表来确定要用于多假设预测的预测模式。例如,预测模式可以是用于基于帧内预测来生成预测的帧内模式。另外,多个列表可以包括两个列表,诸如第一列表和第二列表。参考图27,可以基于list1_flag确定是否使用第一列表。根据实施例,多个候选可以属于第一列表,并且一个候选可以属于第二列表。
如果list1_flag被推断,则在操作S2701中,编码器/解码器可以推断该值指示使用第一列表。在这种情况下,可以在操作S2704中对作为指示在第一列表中要使用的候选的索引的list1_index进行解析。如果在操作S2701中list1_flag未被推断,则编码器/解码器可以在操作S2702中解析list1_flag。如果list1_flag为1,则编码器/解码器可以解析list1_index。如果list1_flag不为1,则编码器/解码器可以不解析索引。另外,如果list1_flag为1,则可以在操作S2703中,基于索引来确定第一列表的候选模式之中实际要使用的模式。另外,如果list1_flag不为1,则编码器/解码器可以将第二列表中的候选模式确定为实际要使用的模式,而不使用索引。即,可以基于第一列表中的标记和索引两者来确定模式。可以基于第二列表中的标记来确定模式。
图28是图示根据本公开的实施例的确定多假设预测模式的方法的图。根据本公开的实施例,如果对确定列表中的候选模式的索引执行可变长度编译,则可以应用确定候选列表中包括的模式的顺序的方法以便增加编译效率。例如,可以存在确定第一列表中包括的模式的顺序的方法。在这种情况下,编码器/解码器可以参照当前块的相邻区域中的模式,以便确定模式的顺序。另外,在第二列表的情况下,可以在不参照当前块的相邻区域中的模式的情况下确定模式的顺序。例如,编码器/解码器可以通过参照当前块的相邻区域中的模式来生成第一列表,并且可以将未包括在第一列表中的模式添加到第二列表中。根据实施例,第一列表可以是MPM模式,而第二列表可以是非MPM模式。另外,候选模式的总数是4,并且在第一列表中包括三个模式,而在第二列表中包括一个候选模式。
参考图28,可以存在list1_flag,该list1_flag是指示是否使用第一列表的语法元素。如果使用第一列表,则在操作S2801和S2802中,编码器/解码器可以生成第一列表,并且可以选择第一列表中的预定模式。在这种情况下,可以以任意顺序执行第一列表的生成以及是否使用第一列表的识别。例如,在使用第一列表的情况下,可以在识别使用第一列表之前或之后生成第一列表。另外,如果使用第一列表,则编码器/解码器可以不执行生成第二列表的过程。
如果没有使用第一列表,则在操作S2803中,编码器/解码器可以生成第二列表,并且可以选择第二列表中的预定模式。在这种情况下,编码器/解码器可以生成第一列表以便生成第二列表。编码器/解码器可以将候选模式中未包括在第一列表中的候选添加到第二列表。另外,根据本公开的实施例,生成第一列表的方法可以相同,而与是否使用第一列表(list1_flag值)、推断是否使用第一列表等无关。在这种情况下,参考表2至表4以及图27的上述方法可以被应用于列表信令和模式信令。
在下文中,将另外描述已经参考图27和28描述过的配置(或生成)用于确定要用于多假设预测的预测模式的多个列表的方法。例如,如上所述,多个列表可以包括两个列表。即,多个列表可以包括第一列表和第二列表。另外,多个列表可以用于多假设预测处理。
根据本公开的实施例,编码器/解码器可以通过参照当前块的相邻区域中的模式来生成许多列表。另外,编码器/解码器可以使用在列表中选择的模式来执行帧内预测,并且可以将经由帧内预测生成的预测样本(或预测块)与帧间预测的预测样本进行组合,以便生成多假设预测块。在说明书中,尽管将经由多假设预测生成的最终预测样本(或预测块)称为多假设预测块,但是本公开不限于此。例如,多假设预测块可以被称为预测块、最终预测块、多重预测块、组合预测块、帧间-帧内加权预测块、组合帧间-帧内预测块、组合帧间-帧内加权预测块等。
根据实施例,可以将可以包括在列表中的模式(候选模式)设置为帧内预测方法的平面模式、DC模式、垂直模式和/或水平模式中的至少一种。在这种情况下,垂直模式可以是与图6的索引(或模式编号)50相对应的模式,而水平模式可以是对应于图6的索引18的模式。另外,平面模式和DC模式可以分别是索引0和索引1。
根据本公开的实施例,可以通过参照当前块的相邻块的预测模式来生成候选模式列表。另外,候选模式列表在说明书中可以被称为candModeList。根据实施例,候选模式列表可以是在上述实施例中已经描述过的第一列表。另外,根据实施例,当前块的相邻块的模式可以被表达为candIntraPredModeX。即,candIntraPredModeX是指示相邻块的模式的变量。在此,X可以是指示当前块的相邻区域中的预定位置(诸如A、B等)的变量。
根据实施例,编码器/解码器可以基于在多个candIntraPredModeX当中是否存在重复来生成候选模式列表。例如,candIntraPredModeX可以与两个位置相关联地存在,并且相应位置的模式可以表示为candIntraPredModeA和candIntraPredModeB。例如,如果candIntraPredModeA和candIntraPredModeB相同,则候选模式列表可以包括平面模式和DC模式。
根据实施例,如果candIntraPredModeA和candIntraPredModeB相同并且该值指示平面模式或DC模式,则编码器/解码器可以将由candIntraPredModeA和candIntraPredModeB指示的模式添加到候选模式列表。另外,编码器/解码器可以向候选模式列表添加平面模式和DC模式当中,不是由candIntraPredModeA和candIntraPredModeB指示的模式。另外,编码器/解码器可以将与平面模式或DC模式不同的预定模式添加到候选模式列表。根据实施例,在这种情况下,可以预先确定平面模式、DC模式和预定模式在候选模式列表中具有的次序。例如,模式的顺序可以是按平面模式、DC模式和预定模式的顺序。即,candModeList[0]=平面模式,candModeList[1]=DC模式,以及candModeList[2]=预定模式。另外,预定模式可以是垂直模式。根据另一实施例,在平面模式、DC模式和预定模式中,可以首先将由candIntraPredModeA和candIntraPredModeB指示的模式添加到候选模式列表。在平面模式和DC模式中,可以将未由candIntraPredModeA和candIntraPredModeB指示的模式添加为后续候选。随后,可以添加预定模式。
如果candIntraPredModeA和candIntraPredModeB相同,并且该值不指示平面模式或DC模式,则编码器/解码器可以将由candIntraPredModeA和candIntraPredModeB指示的模式添加到候选模式列表。另外,可以将平面模式和DC模式添加到候选模式列表。另外,可以预先确定候选模式列表中,由candIntraPredModeA和candIntraPredModeB指示的模式、平面模式和DC模式所具有的次序。另外,预定顺序可以是按由candIntraPredModeA和candIntraPredModeB指示的模式、平面模式和DC模式的顺序。即,candModeList[0]=candIntraPredModeA、candModeList[1]=平面模式、candModeList[2]=DC模式。
此外,如果candIntraPredModeA和candIntraPredModeB彼此不同,则编码器/解码器可以将candIntraPredModeA和candIntraPredModeB两者都添加到候选模式列表中。另外,candIntraPredModeA和candIntraPredModeB可以按预先定义的预定顺序包括在候选模式列表中。例如,可以按candIntraPredModeA和candIntraPredModeB的顺序,将candIntraPredModeA和candIntraPredModeB包括在候选模式列表中。另外,可以预先确定候选模式的顺序,并且编码器/解码器可以按预定顺序,将模式中的不同于candIntraPredModeA和candIntraPredModeB的模式添加到候选模式列表。另外,可以在候选模式列表中的candIntraPredModeA和candIntraPredModeB之后添加不同于candIntraPredModeA和candIntraPredModeB的模式。另外,预定顺序可以是按平面模式、DC模式和垂直模式的顺序。另外,预定顺序可以是按平面模式、DC模式、垂直模式和水平模式的顺序。也就是说,candModeList[0]=candIntraPredModeA,candModeList[1]=candIntraPredModeB,并且candModeList[2]可以是平面模式、DC模式和垂直模式当中的不同于candIntraPredModeA和candIntraPredModeB的模式中的在最前面的模式。
另外,根据实施例,可以将候选模式当中未包括在候选模式列表中的模式定义为candIntraPredModeC。例如,candIntraPredModeC可以被包括在第二列表中。另外,当指示使用第一列表的信令指示未使用第一列表时,可以确定candIntraPredModeC。如果使用第一列表,则编码器/解码器可以根据索引来确定候选模式列表中的模式。如果未使用第一列表,则可以使用第二列表中的模式。
另外,如上所述,在生成候选模式列表之后,可以添加校正候选模式列表的过程。例如,取决于当前块大小条件,编码器/解码器可以附加地或可以不附加地执行校正过程。例如,可以基于当前块的宽度和高度来确定当前块大小条件。例如,如果当前块的宽度和高度之间的较大值大于另一个的n倍,则可以附加地执行校正过程。例如,可以将n定义为2。
另外,根据实施例,校正过程可以是当模式被包括在候选模式列表中时用另一模式替换该模式的过程。例如,如果垂直模式被包括在候选模式列表中,则编码器/解码器可以将水平模式而不是垂直模式插入到候选模式列表中。可替代地,如果垂直模式被包括在候选模式列表中,则编码器/解码器可以将candIntraPredModeC而不是垂直模式添加到候选模式列表中。可替代地,由于当生成候选模式列表时平面模式和DC模式可以总是被包括在候选模式列表中,因此,candIntraPredModeC可以是水平模式。另外,当前块的高度大于宽度的n倍时,可以使用校正过程。例如,n可以被定义为2。如果高度大于宽度,则块的下侧远离帧内预测的参考样本,因此,垂直模式的准确度可能较低。可替代地,当推断出使用了第一列表时,可以使用校正过程。
另外,根据本公开的实施例,作为候选列表校正过程的另一示例,如果在候选模式列表中包括水平模式,则编码器/解码器可以将垂直模式而不是水平模式添加到候选模式列表。可替代地,如果水平模式被包括在候选模式列表中,则编码器/解码器可以将candIntraPredModeC而不是水平模式添加到候选模式列表中。可替代地,由于当生成候选模式列表时平面模式和DC模式可以总是被包括在候选模式列表中,因此,candIntraPredModeC可以是垂直模式。另外,当前块的宽度大于高度的n倍时,可以使用校正过程。例如,n可以被定义为2。如果宽度大于高度,则块的右侧远离帧内预测的参考样本,因此,水平模式的准确度可能较低。可替代地,当推断出使用了第一列表时,可以使用校正过程。
将另外描述上文已经描述过的列表配置方法的示例。在说明书中,IntraPredModeY表示当执行多假设预测时用于帧内预测的模式。另外,IntraPredModeY表示亮度分量的模式。根据实施例,在多假设预测中,可以从亮度分量导出色度分量的帧内预测模式。另外,在本说明书中,mh_intra_luma_mpm_flag表示指示多个列表当中要使用的列表的变量(或语法元素)。例如,mh_intra_luma_mpm_flag可以是表2至表4的mh_intra_luma_mpm_flag,或者可以是图27和28的list1_flag。另外,在本说明书中,mh_intra_luma_mpm_idx表示指示在列表中要使用的候选的索引。例如,mh_intra_luma_mpm_idx可以是表2至表4的mh_intra_luma_mpm_idx,或者可以是图27的list1_index。另外,在说明书中,xCb和yCb可以是当前块的左上处的x坐标和y坐标。cbWidth和cbHeight可以是当前块的宽度和高度。
图29是图示根据本公开的实施例的多假设预测所参照的相邻位置的图。参考图29,如上所述,在配置多假设预测的候选列表的过程中,编码器/解码器可以参照相邻位置。例如,可能需要上面已经描述过的candIntraPredModeX。在这种情况下,如图29所示,与当前块相邻的位置A和B可以是NbA和NbB。也就是说,这些位置可能位于当前块的左上处的样本的左侧和顶部。如果当前块的左上处的位置是Cb,如图18所示,并且其坐标是(xCb,yCb),则NbA可以是(xNbA,yNbA)=(xCb-1,yCb),而NbB可以是(xNbB,yNbB)=(xCb,yCb-1)。
图30是图示根据本公开的实施例的参照相邻区域中的模式的方法的图。参考图30,如上所述,在配置多假设预测的候选列表的过程中,编码器/解码器可以参照相邻位置。另外,可以使用相邻模式或基于相邻模式的模式来生成候选模式列表。例如,通过参照相邻位置而获得的模式可以是candIntraPredModeX。根据实施例,如果相邻位置不可用,则candIntraPredModeX可以是预定模式。相邻位置不可用的情况可以包括相邻位置使用帧间预测的情况、从编码/解码的预定顺序的角度未确定模式的情况等。另外,如果相邻位置不使用多假设预测,则candIntraPredModeX可以是预定模式。可替代地,如果相邻位置在CTU之外并且位于当前块所属的CTU上方,则candIntraPredModeX可以是预定模式。作为另一示例,如果相邻位置在当前块所属的CTU之外,则candIntraPredModeX可以是预定模式。另外,根据实施例,预定模式可以是DC模式。根据另一实施例,预定模式可以是平面模式。
根据本公开的实施例,取决于相邻位置的模式是否超过阈值角度,或者相邻位置的模式的索引是否超过阈值,可以设置candIntraPredModeX。例如,如果相邻位置的模式的索引大于预定方向性模式的索引,则编码器/解码器可以将candIntraPredModeX设置为垂直模式索引。另外,如果相邻位置的模式的索引小于或等于预定方向性模式的索引,并且对应于方向性模式,则编码器/解码器可以将candIntraPredModeX设置为水平模式索引。例如,预定方向性模式的索引可以是图6的模式34。另外,如果相邻位置的模式是平面模式或DC模式,则可以将candIntraPredModeX设置为平面模式或DC模式。
参考图30,mh_intra_flag可以是指示是否使用(或已经使用过)多假设预测的语法元素(或变量或参数)。另外,相邻块使用的帧内预测模式可以是X。另外,当前块可以使用多假设预测,并且可以使用基于相邻块的模式的候选帧内预测模式来生成候选列表。然而,在这种情况下,编码器/解码器可以将候选帧内预测模式设置为作为预定模式的DC模式,而与相邻块的帧内预测模式或者相邻块是否使用帧内预测无关,因为相邻块不使用多假设预测。
在下文中,再次描述参照相邻区域中的模式的方法的示例。
根据本公开的实施例,可以根据以下方法来导出作为相邻块的帧内预测模式的candIntraPredModeX(X是A或B)。
1.相邻块可用性检查过程调用对于指定块的可用性推导过程。可用性推导过程将位置(xCurr,yCurr)设置为(xCb,yCb),将输入(xNbX,yNbX)设置为相邻位置(xNbY,yNbY),并将输出分配给可用变量availableX。
2.可以根据以下方法来推导候选帧内预测模式candIntraPredModeX。
A.如果下述条件中的至少一个为真,则可以将candIntraPredModeX设置为INTRA_DC模式。
a)变量availableX为假。
b)mh_intra_flag[xNbX][yNbX]与1不同。
c)X为B,yCb-1小于((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)
B.否则,如果IntraPredModeY[xNbX][yNbX]>INTRA_ANGULAR34,则可以将candIntraPredModeX设置为INTRA_ANGULAR50。
C.否则,如果IntraPredModeY[xNbX][yNbX]<=INTRA_ANGULAR34,并且IntraPredModeY[xNbX][yNbX]>INTRA_DC,则可以将candIntraPredModeX设置为INTRA_ANGULAR18。
D.否则,将candIntraPredModeX设置为等于IntraPredModeY[xNbX][yNbX]。
如上所述,在上述列表配置方法中,可以根据参照相邻模式的方法来确定candIntraPredModeX。
图31是图示根据本公开的实施例的候选列表生成方法的图。根据已经参考表2至表4描述过的生成第一列表和第二列表的方法,编码器/解码器可以通过参照当前块的相邻区域中的模式来生成第一列表,并且可以使用候选模式当中的第一列表中不包括的模式来生成第二列表。由于图片内的空间相似性,所参照的相邻区域中的模式可能具有较高的优先级。即,第一列表可以具有比第二列表更高的优先级。然而,根据已经在表2至表4中描述过的发信号告知第一列表和第二列表的方法,如果没有推断确定列表的信令,则编码器/解码器可以使用标记和索引来执行信令以便使用第一列表中的模式,并且可以仅使用标记以便使用第二列表中的模式。即,编码器/解码器可以使用相对较少数量的比特来执行第二列表的信令。然而,从编译效率的角度来看,使用大量比特来发信号告知具有更高优先级的列表中的模式的事实可能是低效率的。因此,根据本公开的实施例,提供了一种使用较少数量的比特来发信号告知具有高优先级的列表和模式的方法。
即,根据本公开的实施例,取决于是否仅具有相对较高优先级的列表可用,可以不同地定义候选列表生成方法。是否仅第一列表可用可以指示是否指示要使用的列表的信令被推断。例如,如果假定存在使用候选模式,根据预定方法生成的第二列表,则编码器/解码器可以将第三列表分布式地插入到第一列表和第二列表中。例如,上述候选模式列表及其生成方法可以被应用作为根据预定方法和第三列表生成方法生成的第三列表。如果指示要使用的列表的信令被推断,则可以仅使用第一列表。在这种情况下,编码器/解码器可以从前部,用第三列表来填充第一列表。另外,如果指示要使用的列表的信令未被推断,则可以使用第一列表或第二列表。在这种情况下,编码器/解码器可以从第三列表的前部,用第三列表来填充第二列表,以及可以用剩余部分来填充第一列表。在这种情况下,编码器/解码器可以按照第三列表中命名的顺序用剩余部分填充第一列表。即,可以参考当前块的相邻区域中的模式,将candIntraPredModeX添加到候选列表。如果指示列表的信令被推断,则可以将candIntraPredModeX添加到第一列表。否则,可以将candIntraPredModeX添加到第二列表。
根据实施例,第二列表的大小可以是1。在这种情况下,如果指示列表的信令被推断,则编码器/解码器可以将candIntraPredModeA添加到第一列表。如果信令未被推断,则可以将candIntraPredModeA添加到第二列表。candIntraPredModeA可以是list3[0],其是第三列表中命名的最前面的模式。因此,在本公开中,可以取决于情况,将作为基于相邻区域中的模式的模式的candIntraPredModeA添加到第一列表和第二列表两者中。相反,根据表2至表4中所述的方法,可以将candIntraPredModeA仅添加到第一列表中。即,根据本公开,取决于是否指示要使用的列表的信令被推断,可以不同地配置第一列表生成方法。
参考图31,候选模式可以是可以用于生成多假设预测的帧内预测的候选。即,取决于是否作为指示要使用的列表的信令的list1_flag被推断,在操作S3101和S3102中可以改变候选列表生成方法。如果信令被推断,则推断出使用了第一列表,并且仅使用第一列表。因此,在操作S3103中,编码器/解码器可以从最前面的模式将第三列表添加到第一列表。当生成第三列表时,编码器/解码器可以将基于相邻区域中的模式的模式添加到第三列表的顶部。如果信令未被推断,则可以使用第一列表和第二列表两者。因此,在操作S3104中,编码器/解码器可以从最前面的模式将第三列表添加到需要小的信令的第二列表。如果需要第一列表,例如,如果发信号告知使用第一列表,则在操作S3105中,编码器/解码器可以从第三列表中排除添加到第二列表的候选,并且可以将剩余的候选添加到第一列表。在本公开中,尽管为了便于描述,以生成第三列表的情况为例提供了描述,但是本公开不限于此。可以通过对候选进行临时分类来生成第一列表和第二列表。
根据本公开的实施例,可以自适应地使用根据下文所述的实施例生成候选列表的方法以及已经参考图27和28描述过的生成候选列表的方法。例如,编码器/解码器可以取决于是否指示要使用的列表的信令被推断来选择生成候选列表的两种方法中的一种。另外,这可以对应于多假设预测的情况。另外,第一列表可以包括三个模式,以及第二列表可以包括一个模式。另外,如图27和28所示,编码器/解码器可以使用标记和索引来发信号告知第一列表中的模式,并且可以使用标记来发信号告知第二列表中的模式。
根据实施例,如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA是平面模式或DC模式,则确定List2[0]=平面模式,List1[0]=DC模式,List1[1]=垂直模式以及List1[2]=水平模式。根据另一实施例,如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA是平面模式或DC模式,则确定List2[0]=candIntraPredModeA,List1[0]=!candIntraPredModeA,List1[1]=垂直模式,而List1[2]=水平模式。
另外,根据实施例,如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA是方向性模式,则确定List2[0]=candIntraPredModeA,List1[0]=平面模式,List1[1]=DC模式,并且List1[2]=垂直模式。另外,根据实施例,如果candIntraPredModeA和candIntraPredModeB不同,则List2[0]=candIntraPredModeA,并且List1[0]=candIntraPredModeB。对于List1[1]和List1[2],可以首先添加在平面模式、DC模式、垂直模式和水平模式当中的与candIntraPredModeA和candIntraPredModeB不同的模式。
图32是图示根据本公开的实施例的候选列表生成方法的图。在上述实施例中,已经描述了基于多个列表确定模式的方法。参考图32,根据本公开的实施例,可以基于单个列表而不是多个列表来确定模式。特别地,如图32所示,可以生成包括多假设预测的所有候选模式的单个候选列表。表5示出了根据本公开的实施例的与多假设预测有关的语法结构。
[表5]
/>
参考表5,存在单个候选列表,因此,不存在用于选择列表的信令,但是可以存在指示候选列表中的模式之中要使用的模式的索引信令。因此,如果指示使用多假设预测的mh_intra_flag为“1”,则解码器可以解析作为候选索引的mh_intra_luma_idx。根据本公开的实施例,生成多假设预测的候选列表的方法可以基于现有的帧内预测的MPM列表生成方法。可替代地,根据实施例,可以以其中根据生成第一列表和第二列表的方法顺序地组合第一列表和第二列表的列表的形式来配置多假设预测的候选列表,如图28所述,。
即,如果将多假设预测的候选列表称为候选模式列表,则在该实施例中,候选模式列表的大小可以是4。如果candIntraPredModeA和candIntraPredModeB相同,并且对应于平面模式或DC模式,则可以按预定顺序确定候选模式列表。例如,candModeList[0]=平面模式,candModeList[1]=DC模式,candModeList[2]=垂直模式,candModeList[3]=水平模式。根据另一个实施例,如果candIntraPredModeA和candIntraPredModeB相同,并且对应于平面模式或DC模式,则确定candModeList[0]=candIntraPredModeA,candModeList[1]=!candIntraPredModeA,candModeList[2]=垂直模式,以及candModeList[3]=水平模式。
可替代地,如果candIntraPredModeA和candIntraPredModeB相同,并且对应于方向性模式,则确定candModeList[0]=candIntraPredModeA,candModeList[1]=平面模式,candModeList[2]=DC模式和candModeList[3]=不同于candIntraPredModeA、平面模式和DC模式的模式。如果candIntraPredModeA和candIntraPredModeB不同,则candModeList[0]=candIntraPredModeA,而candModeList[1]=candIntraPredModeB。另外,对于candModeList[2]和candModeList[3],可以按候选模式的预定顺序,顺序地添加与candIntraPredModeA和candIntraPredModeB不同的模式。预定顺序可以是按平面模式、DC模式、垂直模式和水平模式的顺序。
根据本公开的实施例,候选列表可以取决于块大小条件而不同。如果块的宽度和高度之间的较大值大于另一个的n倍,则候选列表可能很短。例如,如果宽度大于高度的n倍,则编码器/解码器可以从候选列表中去除水平模式,这已经参考图31进行了描述,并且可以用水平模式之后的模式来填充候选列表。另外,如果高度大于宽度的n倍,则编码器/解码器可以从候选列表中删除垂直模式,这已经参考图32进行了描述,并且可以用垂直模式之后的模式来填充候选列表。因此,如果宽度大于高度的n倍,则候选列表的大小可以为3。此外,如果宽度大于高度的n倍,则候选列表的大小可以小于或等于相反的情况。
根据实施例,根据图32的实施例,可以对候选索引执行可变长度编译。综上所述,可以将具有高使用概率的模式添加到列表的前部,因此,可以提高信令效率。根据另一实施例,根据图32的实施例,可以对候选索引执行固定长度编译。在多假设预测中使用的模式数量可以是2的n次方。例如,如上所述,可以使用四个帧内预测模式。在这种情况下,即使执行固定长度编译,也不存在未分配的值,并且在信令中可能不存在不必要的部分。另外,如果执行固定长度编译,则配置的列表的情况的数量可以是1。不管发信号告知哪个索引,比特的数量都是相同的。
根据实施例,取决于情况,可以对候选索引执行可变长度编译或固定长度编译。例如,如上所述,候选列表的大小可以取决于情况而不同。根据实施例,可以取决于候选列表的大小,对候选索引执行可变长度编译或固定长度编译。例如,如果候选列表的大小对应于2的n次方,则可以执行固定长度编译。否则,可以执行可变长度编译。即,根据上述实施例,编译方法可以取决于块大小条件而不同。
根据本公开的实施例,如果在使用多假设预测时使用DC模式,则与整个块相关联的多个预测的权重可以相同,因此结果可以与调整用于预测块的权重相同或相似。因此,可以从多假设预测中排除DC模式。根据实施例,在多假设预测中,编码器/解码器可以仅使用平面模式、垂直模式、水平模式。在这种情况下,编码器/解码器可以使用如图32所示的单个列表来发信号告知多假设预测。另外,编码器/解码器可以将可变长度编译用于索引信令。根据实施例,可以以固定顺序生成列表。例如,固定顺序可以是按平面模式、垂直模式和水平模式的顺序。
根据另一实施例,编码器/解码器可以通过参照当前块的相邻区域中的模式来生成列表。例如,如果candIntraPredModeA和candIntraPredModeB相同,则candModeList[0]=candIntraPredModeA。如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA是平面模式,则可以按预定顺序配置candModeList[1]和candModeList[2]。如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA与平面模式不同,则candModeList[1]=平面模式,并且candModeList[2]=与candIntraPredModeA和平面模式不同的模式。如果candIntraPredModeA和candIntraPredModeB不同,则candModeList[0]=candIntraPredModeA,candModeList[1]=candIntraPredModeB并且candModeList[2]=与candIntraPredModeA和candIntraPredModeB不同的模式。
根据另一实施例,在多假设预测中,编码器/解码器可以仅使用三种模式。三种模式可以包括平面模式和DC模式。另外,根据条件,这三种模式可以包括垂直模式和水平模式之一。该条件可以是与块大小有关的条件。例如,可以取决于块的宽度和高度中的哪一个是较大值来确定要包括水平模式和垂直模式之间的哪一种模式。例如,如果块的宽度大于高度,则可以包括垂直模式。如果块的高度大于宽度,则可以包括水平模式。如果块的高度和宽度相同,则可以包括预先在垂直模式和水平模式之间定义的预定模式。
另外,根据实施例,编码器/解码器可以以固定顺序生成列表。例如,可以以平面模式、DC模式、垂直模式或水平模式的顺序来定义固定顺序。根据另一实施例,可以通过参考当前块的相邻区域中的模式来生成列表。例如,如果candIntraPredModeA和candIntraPredModeB相同,则candModeList[0]=candIntraPredModeA。如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA与方向性模式不同,则编码器/解码器可以按预定顺序配置candModeList[1]和candModeList[2]。如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA是方向性模式,则candModeList[1]=平面模式,并且candModeList[2]=DC模式。如果candIntraPredModeA和candIntraPredModeB不同,则candModeList[0]=candIntraPredModeA,candModeList[1]=candIntraPredModeB并且candModeList[2]=与candIntraPredModeA和candIntraPredModeB不同的模式。
根据本公开的另一实施例,在多假设预测中可以使用仅两种模式。两种模式可以包括平面模式。另外,根据条件,两种模式可以包括垂直模式和水平模式之一。该条件可以是与块大小有关的条件。例如,取决于块的宽度和高度中的哪一个是较大的值,可以由编码器/解码器确定要包括水平模式和垂直模式之间的哪个模式。例如,如果块的宽度大于高度,则可以包括垂直模式。如果块的高度大于宽度,则可以包括水平模式。如果块的高度和宽度相同,则可以包括预先在垂直模式或水平模式之间定义的预定模式。在这种情况下,可以发信号告知指示将在多假设预测中使用的模式的标记。
根据实施例,编码器/解码器可以取决于块大小来排除预定模式。例如,如果块的尺寸小,则可以排除预定模式。例如,如果块的尺寸小,则在多假设预测中可以仅使用平面模式。如果排除了预定模式,则可以省略模式信令或者可以执行减少的信令。
根据本公开的另一实施例,编码器/解码器可以仅使用一种模式(即,帧内预测模式)来生成多假设预测中的帧内预测样本。根据实施例,一种模式可以被定义为平面模式。如上所述,多假设预测可以使用帧间预测样本和帧内预测样本。如果生成帧间预测样本,并且还通过确定最佳预测模式来生成帧内预测样本,则可以提高预测的准确性,但是可能增加编码的复杂性并且可能增加信令比特的数量。因此,当执行多假设预测时,通过仅使用统计上频繁地用作帧内预测模式的平面模式,可以改善编码的复杂性并且可以节省信令比特,因此可以提高压缩图像的性能。
根据另一实施例,可以基于垂直模式和水平模式之间的块大小来确定一个模式。例如,取决于块的宽度和高度中的哪一个是较大值,可以将垂直模式和水平模式之一确定为模式。例如,如果块的宽度大于高度,则可以将垂直模式确定为该模式。如果块的高度大于宽度,则可以将水平模式确定为该模式。如果块的宽度和高度相同,则编码器/解码器可以将预定模式确定为该模式。如果块的宽度和高度相同,则编码器/解码器可以将水平模式或垂直模式之间的预定模式确定为该模式。如果块的宽度和高度相同,则编码器/解码器可以将平面模式或DC模式之间的预定模式确定为该模式。
另外,根据本公开的实施例,可以存在翻转在多假设预测中生成的预测的翻转信令。综上所述,尽管在多假设预测中选择了单个模式,但是翻转可以去除另一侧的残差。另外,综上所述,可以减少在多假设预测中可用的候选模式的数量。更具体地,例如,对于实施例中仅使用单一模式的情况,可以使用翻转。综上所述,可以提高预测的性能。翻转可以是相对于x轴翻转、相对于y轴翻转或相对于x轴和y轴翻转。根据实施例,可以基于多假设预测中的选择模式来确定翻转方向。例如,如果在多假设预测中选择的模式是平面模式,则编码器/解码器可以确定该翻转是相对于x轴和y轴翻转。相对于x轴和y轴两者的翻转可以基于块大小或形状。例如,如果块不是正方形,则编码器/解码器可以确定可以不针对所有x轴和y轴执行翻转。例如,如果在多假设预测中选择的模式是水平模式,则编码器/解码器可以确定该翻转是相对于x轴翻转。例如,如果在多假设预测中选择的模式是垂直模式,则编码器/解码器可以确定该翻转是相对于y轴翻转。另外,如果在多假设预测中选择的模式是DC模式,则编码器/解码器可以确定不存在翻转并且可以不执行显式信令/解析。
另外,多假设预测中的DC模式可以提供类似于照度补偿的效果。因此,根据本公开的实施例,如果使用多假设预测中的DC模式和照度补偿中的一个,则可以不使用另一个。另外,多假设预测可以提供与广义双向预测(GBi)类似的效果。例如,在多假设预测中,DC模式可以提供类似于GBi的效果。GBi预测可以是以块为单位和以CU为单位来调整双向预测的两个参考块的权重的方案。因此,根据本公开的实施例,如果使用多假设预测(或多假设预测中的DC模式)和GBi预测中的一个,则可以不使用另一个。另外,这可能是在多假设预测的预测之中包括双向预测的情况。例如,如果从多假设预测中选择的合并候选是双向预测,则可以不使用GBi预测。在实施例中,多假设预测和GBi预测之间的关系可以限于其中使用多假设预测的预定模式(例如,DC模式)的情况。可替代地,在其中GBi预测有关的信令早于多假设预测有关的信令存在的情况下,如果使用GBi预测,则可以不使用多假设预测或多假设预测的预定模式。在本公开中,不使用预定方法意味着不执行与预定方法相关联的信令以及不解析相关语法。
图33是图示根据本公开的实施例,多假设预测所参照的相邻位置的图。如上所述,在配置多假设预测的候选列表的过程中,编码器/解码器可以参照相邻位置。例如,可能需要上文已经描述的candIntraPredModeX。在这种情况下,如图33所示,与当前块相邻并且被参照的位置A和B可以是NbA和NbB。如果如图29所示,当前块的左上处的位置是Cb,并且其坐标是(xCb,yCb),则NbA可以是(xNbA,yNbA)=(xCb-1,yCb+cbHeight-1),并且NbB可以是(xNbB,yNbB)=(xCb+cbWidth-1,yCb-1)。在此,cbWidth和cbHeight可以分别是当前块的宽度和高度。另外,在配置多假设预测的候选列表的过程中,相邻位置可以与被参照用于生成帧内预测的MPM列表的相邻位置相同。
根据另一实施例,被参照用于配置多假设预测的候选列表的相邻位置可以是当前块的左中心点、当前块的上中心点或与其相邻的位置。例如,NbA和NbB可以是(xCb-1,yCb+cbHeight/2-1),(xCb+cbWidth/2-1,yCb-1)。可替代地,NbA和NbB可以是(xCb-1,yCb+cbHeight/2),(xCb+cbWidth/2,yCb-1)。
图34是图示根据本公开的实施例的参照相邻区域中的模式的方法的图。如上所述,在生成多假设预测的候选列表的过程中参照相邻位置。在图30的实施例中,如果相邻位置未使用多假设预测,则可以将candIntraPredModeX设置为预定模式。这样做的原因是,当设置candIntraPredModeX时,有时相邻位置的模式与candIntraPredModeX不同。因此,根据本公开的实施例,尽管相邻位置不使用多假设预测,但是如果相邻位置使用的模式是用于多假设预测的模式,则编码器/解码器可以将candIntraPredModeX设置为相邻位置使用的模式。另外,用于多假设预测的模式可以是平面模式、DC模式、垂直模式和水平模式。
可替代地,尽管相邻位置未使用多假设预测,但是相邻位置使用的模式是预定模式,则编码器/解码器可以将candIntraPredModeX设置为相邻位置使用的模式。可替代地,尽管相邻位置未使用多假设预测,但是相邻位置使用的模式是垂直模式或高度模式,则编码器/解码器可以将candIntraPredModeX设置为相邻位置使用的模式。可替代地,在相邻位置位于当前块的上侧的情况下,尽管相邻位置未使用多假设预测,但是相邻位置使用的模式是垂直模式,则编码器/解码器可以将candIntraPredModeX设置为相邻位置使用的模式。可替代地,在相邻位置位于当前块的左侧的情况下,尽管相邻位置未使用多假设预测,但是相邻位置使用的模式是水平模式,则编码器/解码器可以将candIntraPredModeX设置为相邻位置使用的模式。
参考图34,mh_intra_flag可以是指示是否多假设预测被使用(或已经被使用)的语法元素(或变量)。另外,相邻块使用的帧内预测模式可以是水平模式。另外,当前块可以使用多假设预测,并且可以使用基于相邻块的模式的candIntraPredMode来生成候选列表。尽管在相邻区域中未使用多假设预测,但是相邻块的帧内预测模式是预定模式,例如,水平模式,则编码器/解码器可以将candIntraPredMode设置为水平模式。
在下文中,将结合图30的另一实施例再次描述上文已经描述过的参照相邻区域中的模式的方法的示例。根据本公开的实施例,可以根据以下方法来导出作为相邻块的帧内预测模式的candIntraPredModeX(X为A或B)。
1.相邻块可用性检查过程调用对于指定块的可用性推导过程。可用性推导过程将位置(xCurr,yCurr)设置为(xCb,yCb),将相邻位置(xNbY,yNbY)设置为等于作为输入的(xNbX,yNbX),并将输出指配给可用变量availableX。
2.可以根据以下方法来推导候选帧内预测模式candIntraPredModeX。
A.如果下述条件中的至少一个为真,则可以将candIntraPredModeX设置为INTRA_DC模式。
a)变量availableX为假。
b)mh_intra_flag[xNbX][yNbX]不同于1并且IntraPredModeY[xNbX][yNbX]不同于INTRA_ANGULAR50和INTRA_ANGULAR18。
c)X为B,yCb-1小于((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)
B.否则,如果IntraPredModeY[xNbX][yNbX]>INTRA_ANGULAR34,则可以将candIntraPredModeX设置为INTRA_ANGULAR50。
C.否则,如果IntraPredModeY[xNbX][yNbX]<=INTRA_ANGULAR34,并且IntraPredModeY[xNbX][yNbX]>INTRA_DC,则可以将candIntraPredModeX设置为INTRA_ANGULAR18。
D.否则,将candIntraPredModeX设置为IntraPredModeY[xNbX][yNbX]。
根据本公开的另一实施例,可以根据以下方法来导出作为相邻块的帧内预测模式的candIntraPredModeX(X为A或B)。
1.相邻块可用性检查过程调用对于指定块的可用性推导过程。可用性推导过程将位置(xCurr,yCurr)设置为(xCb,yCb),将相邻位置(xNbY,yNbY)设置为等于作为输入的(xNbX,yNbX),并将输出指配给可用变量availableX。
2.可以根据以下方法来推导候选帧内预测模式candIntraPredModeX。
A.如果下述条件中的至少一个为真,则可以将candIntraPredModeX设置为INTRA_DC模式。
a)变量availableX为假。
b)mh_intra_flag[xNbX][yNbX]不同于1并且IntraPredModeY[xNbX][yNbX]不同于INTRA_PLANAR、INTRA_DC、INTRA_ANGULAR50和INTRA_ANGULAR18。
c)X为B,yCb-1小于((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)
B.否则,如果IntraPredModeY[xNbX][yNbX]>INTRA_ANGULAR34,则可以将candIntraPredModeX设置为INTRA_ANGULAR50。
C.否则,如果IntraPredModeY[xNbX][yNbX]<=INTRA_ANGULAR34,并且IntraPredModeY[xNbX][yNbX]>INTRA_DC,则可以将candIntraPredModeX设置为INTRA_ANGULAR18。
D.否则,将candIntraPredModeX设置为IntraPredModeY[xNbX][yNbX]。
如上所述,在上述列表配置方法中,可以根据参照相邻模式的方法来确定candIntraPredModeX。
图35是示出根据本公开的实施例的使用相邻参考样本的方法的图。如上所述,如果使用多假设预测,则可以结合另一预测来使用帧内预测。因此,如果使用多假设预测,则可以将当前块的相邻样本用作参考样本来生成帧内预测。根据本公开的实施例,当使用多假设预测时,可以使用利用重构样本的模式。另外,当未使用多假设预测时,可以不使用利用重构样本的模式。重构样本可以是与当前块相邻的重构样本。
作为使用重构样本的模式的示例,可以使用模板匹配方法。即,可以将基于预定块的预定位置中的重构样本定义为模板(或模板区域)。模板匹配可以是比较当前块的模板和要比较的块的模板之间的成本,并找到需要低成本的块的操作。在这种情况下,可以将成本定义为模板的绝对值之和、差的平方和等。例如,编码器/解码器可以通过在当前块和参考图片的块之间执行模板匹配来搜索期望与当前块相似的块,并且可以基于其来配置或细化运动向量。另外,使用重构样本的模式的示例可以包括可以使用重构样本的运动向量细化和运动补偿。
为了使用与当前块相邻的重构样本,解码当前块的过程需要等待直到对相邻块的解码完成。在这种情况下,可能难以并行处理当前块和相邻块。因此,如果未使用多假设预测,则编码器/解码器可能不使用利用与当前块相邻的重构样本的模式以便实现并行处理。可替代地,如果使用多假设预测,则可以使用与当前块相邻的重构样本来生成帧内预测,因此,编码器/解码器可以使用利用与当前块相邻的重构样本的另一模式。
另外,根据本公开的实施例,尽管使用了多假设预测,但是取决于候选索引,与当前块相邻的重构样本是否可用可以有所不同。根据实施例,如果候选索引小于预先设置的预定阈值,则与当前块相邻的重构样本可以是可用的。如果候选索引低,则候选索引信令比特的数量可能低,并且候选的准确度可以高,并且可以通过将重构样本用于具有高编译效率的候选来提高准确度。根据另一实施例,如果候选索引大于预定阈值,则与当前块相邻的重构样本可以是可用的。如果候选索引高,则候选索引信令比特的数量可能高并且候选的准确度可能低,并且与当前块相邻的重构样本可以被用于具有低准确度的候选,从而提高准确度。
根据本公开的实施例,如果使用多假设预测,则编码器/解码器可以使用与当前块相邻的重构样本来生成帧间预测,并且可以通过将多假设预测的帧间预测与帧间预测组合来生成预测块。参考图35,作为指示当前块是否使用多假设预测的信令的mh_intra_flag的值是1。当前块使用多假设预测,因此,可以使用利用与当前块相邻的重构样本的模式。
图36是图示根据本公开的实施例的变换模式的示例的图。根据本公开的实施例,可以存在仅针对块的子部分执行变换的变换模式。在说明书中,如上所述,仅将变换应用于子部分的变换模式可以被称为子块变换(SBT)、空间变化变换(SVT)等。例如,CU或PU可以被划分为多个TU,并且可以变换多个TU中的一些。可替代地,例如,可以变换多个TU之一。多个TU当中未被变换的TU可以被配置为残差为0。
参考图36,SBT垂直(SBT-V)和SBT水平(SBT-H)可以是将单个CU或PU划分成多个TU的类型。根据SBT-V,多个TU的高度与CU或PU的高度相同,并且多个TU的宽度与CU或PU的宽度不同。根据SBT-H,多个TU的高度不同于CU或PU的高度,并且多个TU的宽度与CU或PU的宽度相同。根据实施例,可以发信号告知根据SBT-V变换的TU的宽度和位置。另外,可以发信号告知根据SBT-H变换的TU的高度和位置。根据实施例,可以预先确定与SBT类型、位置、宽度或高度相关联的变换核。
如上所述,可以存在对CU或PU的一部分进行变换的模式,因为有可能预测之后的残差主要存在于CU或PU的一部分中。即,SBT可以是与用于TU的跳过模式相同的概念。在这种情况下,现有的跳过模式可以是用于CU的跳过模式。
参考图36,可以为每种类型定义将被变换并用A标记的位置,即,SBT-V(36(a),36(b)),SBT-H(36(c),36(d))。宽度或高度可以被定义为CU的宽度或CU的高度的1/2或1/4。另外,可以认为与用A标记的区域不同的部分的残差为0。此外,可以定义使用SBT的条件。例如,可以与块大小有关的条件、与高级别的(例如,序列、切片、贴片等)语法的可用性相关联的信息相关联地发信号告知使用SBT的条件。
根据本公开的实施例,在多假设预测和变换模式之间可以存在关联。例如,取决于使用它们中的哪一个,可以确定是否要使用另一个。可替代地,取决于它们中的任何一个的模式,可以确定是否要使用另一个的模式。另外,取决于使用它们中的哪一个,可以确定是否要使用另一种的模式。根据实施例,变换模式可以是图36的SBT。即,取决于是否使用多假设预测,可以确定是否要使用SBT。可替代地,取决于是否使用SBT,可以确定是否要使用多假设预测。表6是示出根据本公开的实施例的多假设预测与变换模式之间的关系的语法结构。
[表6]
参考表6,取决于是否使用多假设预测,可以确定是否要使用SBT。即,如果多假设预测没有被应用于当前块(如果!mh_intra_flag为true),则解码器可以解析cu_sbt_flag,该cu_sbt_flag是指示是否应用SBT的语法元素。如果多假设预测未被应用于当前块,则可以不解析cu_sbt_flag。在这种情况下,根据预先定义的条件推断cu_sbt_flag的值为0。
如上所述,在SBT的情况下,如果在预测被处理的块之后残差仅存在于块的一部分中,则可以随后进行压缩性能细化。在多假设预测的情况下,可以经由帧间预测有效地反映对象的运动,并且并行地,可以经由帧内预测有效地执行对剩余区域的预测,因此,可以期望提高整个块的预测性能。即,如果应用多假设预测,则可以提高整个块的预测性能,因此,可以较少地出现残差集中在块的一部分中的现象。因此,根据本公开的实施例,如果应用了多假设预测,则编码器/解码器可以不应用SBT。可替代地,如果应用了SBT,则编码器/解码器可以不应用多假设预测。
根据本公开的实施例,取决于使用多假设预测或多假设预测的模式,可以限制根据SBT变换的TU的位置。可替代地,取决于使用多假设预测或多假设预测的模式,可以限制根据SBT变换的TU的宽度(SBT-V)或高度(SBT-H)。综上所述,可以减少与宽度或高度相关联的信令。例如,根据SBT变换的TU的位置可能与用于多假设预测的帧内预测的权重高的区域不同。可以通过多假设预测来减少权重高的区域中的残差。
因此,如果使用多假设预测,则在SBT中可能不存在对权重高的部分进行变换的模式。例如,如果在多假设预测中使用水平模式或垂直模式,则可以省略(即可以不考虑)图36(b)和36(d)的SBT类型。根据另一实施例,如果在多假设预测中使用平面模式,则可以限制根据SBT变换的TU的位置。例如,如果在多假设预测中使用了平面模式,则可以省略图36(a)和36(c)的SBT类型。如果在多假设预测中使用平面模式,则与帧内预测的参考样本相邻的区域可以具有与参考样本的值相似的值。因此,与参考样本相邻的区域可以具有相对较低的残差。
根据另一实施例,如果使用多假设预测,则根据可用的SBT变换的TU的宽度或高度可以不同。可替代地,如果在多假设预测中使用预定模式,则根据可用的SBT变换的TU的宽度或高度可以不同。例如,在使用多假设预测的情况下,残差可能不会保留在块的较宽部分中,因此,如果根据SBT变换的TU的宽度值或高度值具有较高的值,可以排除TU的宽度值或高度值。可替代地,在使用多假设预测的情况下,如果根据SBT变换的TU的宽度值或高度值与在多假设预测中基于其改变权重的单元相同,则可以排除TU的宽度值或高度值。
参考表6,可以存在指示是否使用SBT的cu_sbt_flag和指示是否使用多假设预测的mh_intra_flag。如果mh_intra_flag为0,则可以解析cu_sbt_flag。此外,如果不存在cu_sbt_flag,则将其推断为0。当在多假设预测中与帧内预测的结合以及SBT都不使用相应的技术时,旨在解决仅在一部分CU或PU中残留大量残差的问题。因此,两种技术可以彼此关联,由此,可以基于与另一技术相关联的信息来确定是否要使用其中一种技术、是否要使用一种技术的预定模式等。
另外,表6中的sbtBlockConditions可以是用于SBT的条件。用于SBT的条件可以包括与块大小有关的条件、指示高级别(例如序列、切片、贴片等)中的可用性的信令值等。
图37是图示根据本公开的实施例的色度分量的关系的图。参考图37,可以使用chroma_format_idc、色度格式、separate_colour_plane_flag等来表示颜色格式。在单色的情况下,可以仅存在一个样本阵列。另外,SubWidthC和SubHeightC两者都可以为1。在4:2:0采样的情况下,可以存在两个色度阵列(或色度分量或色度块)。另外,色度阵列可以具有与亮度阵列(或者亮度分量或者亮度块)的一半相对应的宽度,并且可以具有与亮度阵列的一半相对应的高度。另外,SubWidthC和SubHeightC两者可以均为2。当与亮度阵列相比时,SubWidthC和SubHeightC可以显示色度阵列的大小。如果色度阵列的宽度或高度是亮度阵列的一半,则SubWidthC或SubHeightC可以为2。如果色度阵列的宽度或高度与亮度阵列相同,则SubWidthC或SubHeightC可以为1。
在4:2:2采样的情况下,可能会出现两个色度阵列。另外,色度阵列可以具有亮度阵列的一半的宽度或相同的宽度。SubWidthC和SubHeightC可以分别为2和1。在4:4:4采样的情况下,色度阵列可以具有与亮度阵列相同的宽度和高度。SubWidthC和SubHeightC都可以为1。在这种情况下,可以基于separate_colour_plane_flag不同地执行该处理。如果separate_colour_plane_flag为0,则色度阵列的宽度和高度可以具有与亮度阵列相同的宽度和高度。如果separate_colour_plane_flag为1,则可以分别处理三个颜色平面(luma,Cb,Cr)。与separate_colour_plane_flag无关,在4:4:4的情况下,SubWidthC和SubHeightC两者都可以为1。
如果separate_colour_plane_flag为1,则在单个切片中可能存在对应于仅一个颜色分量的阵列。如果separate_colour_plane_flag为0,则在单个切片中可能存在与多个颜色分量相对应的阵列。参考图38,仅在4:2:2的情况下,SubWidthC和SubHeightC彼此不同。因此,在4:2:2的情况下,基于亮度的宽度与基于亮度的高度的关系可以不同于基于色度的宽度与基于色度的高度的关系。
例如,在基于亮度样本的宽度为widthL并且基于色度样本的宽度为widthC的情况下,如果widthL对应于widthC,则其关系可以如下面的等式6所示。
[等式6]
widthC=widthL/SubWidthC
即,widthL=widthC*SubWidthC
另外,在基于亮度样本的高度为heightL并且基于色度样本的高度为heightC的情况下,如果heightL对应于heightC,则其关系可以如下面的等式7所示。
[等式7]
heightC=heightL/SubHeightC
即,heightL=heightC*SubHeightC
另外,可以存在指示(表示)颜色分量的值。例如,cIdx可以指示颜色分量。例如,cIdx可以是颜色分量索引。如果cIdx为0,则这可以指示亮度分量。如果cIdx不同于0,则这可以指示颜色分量。此外,如果cIdx为1,则这可以指示色度Cb分量。此外,如果cIdx为2,则这可以指示色度Cr分量。
图38是图示根据本公开的实施例的颜色分量的关系的示例的图。图38(a),38(b),38(c)分别假设4:2:0、4:2:2和4:4:4。参考图38(a)所示,可以在水平方向上每两个亮度样本布置一个色度样本(一个Cb和一个Cr)。另外,可以在垂直方向上每两个亮度样本布置一个色度样本(一个Cb和一个Cr)。参考图38(b),可以在水平方向上每两个亮度样本布置一个色度样本(一个Cb和一个Cr)。另外,可以在垂直方向上为每个亮度样本布置一个色度样本(一个Cb和一个Cr)。参考图38(c),可以在水平方向上为每个亮度样本布置一个色度样本(一个Cb和一个Cr)。另外,可以在垂直方向上为每个亮度样本布置一个色度样本(一个Cb和一个Cr)。
如上所述,基于上述关系确定已经在图37中描述过的SubWidthC和SubHeightC。基于SubWidthC和SubHeightC,可以执行亮度样本参考和色度样本参考之间的变换。
图39是图示根据本公开的实施例的相邻参考位置的示例的图。根据本公开的实施例的编码器/解码器在执行预测时可以参照相邻位置。例如,如上所述,当执行组合的图片间合并和图片内预测(CIIP)时,编码器/解码器可以参照相邻位置。CIIP可以是上述多假设预测。即,CIIP可以是结合帧间预测(例如合并模式帧间预测)和帧内预测的预测方法。根据本公开的实施例,编码器/解码器可以通过参照相邻位置来组合帧间预测和帧内预测。例如,编码器/解码器可以通过参照相邻位置来确定帧间预测与帧内预测的比率。可替代地,当通过参照相邻位置来组合帧间预测和帧内预测时,编码器/解码器可以确定权重(加权)。可替代地,当通过参照相邻位置来执行帧间预测和帧内预测的加权求和(或加权平均)时,编码器/解码器可以确定权重。
根据本公开的实施例,所参照的相邻位置可以包括NbA和NbB。NbA和NbB的坐标分别可以是(xNbA,yNbA)和(xNbB,yNbB)。另外,NbA可以是当前块左侧的位置。特别地,如果当前块的左上的坐标是(xCb,yCb),并且当前块的宽度和高度分别是cbWidth和cbHeight,则NbA可以是(xCb-1,yCb+cbHeight-1)。当前块的左上的坐标(xCb,yCb)是基于亮度样本的值。可替代地,当前块的左上的坐标(xCb,yCb)对应于与当前图片的左上亮度样本相关联的当前亮度编译块的左上亮度样本的位置。另外,cbWidth和cbHeight可以表示基于相应颜色分量的宽度和高度。上述坐标可以与亮度分量(或亮度块)相关联。例如,cbWidth和cbHeight可以表示基于亮度分量的宽度和高度。
另外,NbB可能是当前块的顶部的位置。特别地,当前块的左上的坐标是(xCb,yCb),以及当前块的宽度和高度分别是cbWidth和cbHeight,NbB可以是(xCb+cbWidth-1,yCb-1)。当前块的左上坐标(xCb,yCb)可以是基于亮度样本的值。可替代地,当前块的左上角的坐标(xCb,yCb)对应于与当前图片的左上亮度样本相关联的当前亮度编译块的左上亮度样本的位置。另外,cbWidth和cbHeight可以是基于相应颜色分量的值。上述坐标可以与亮度分量(亮度块)相关联。例如,cbWidth和cbHeight可以是基于亮度分量的值。
参考图39,图示了亮度块的左上的坐标、NbA的坐标、NbB的坐标等。另外,NbA可以是当前块的左侧的位置。特别地,当前块的左上坐标是(xCb,yCb),当前块的宽度和高度分别是cbWidth和cbHeight,NbA可以是(xCb-1,yCb+2*cbHeight-1)。当前块的左上坐标(xCb,yCb)可以是基于亮度样本的值。可替代地,当前块的左上坐标(xCb,yCb)可以是与当前图片的左上亮度样本相关联的当前亮度编译块的左上亮度样本的位置。另外,cbWidth和cbHeight可以是基于相应颜色分量的值。上述坐标可以与色度分量(色度块)相关联。例如,cbWidth和cbHeight可以是基于色度分量的值。另外,坐标可以对应于4:2:0格式的情况。
另外,NbB可以是当前块的顶部的位置。特别地,如果当前块的左上坐标是(xCb,yCb),并且当前块的宽度和高度分别是cbWidth和cbHeight,则NbB可以是(xCb+2*cbWidth-1,yCb-1)。当前块的左上坐标(xCb,yCb)可以是基于亮度样本的值。可替代地,当前块的左上坐标(xCb,yCb)可以是与当前图片的左上亮度样本相关联的当前亮度编译块的左上亮度样本的位置。另外,cbWidth和cbHeight可以是基于相应颜色分量的值。上述坐标可以与色度分量相关联。例如,cbWidth和cbHeight可以是基于色度分量的值。另外,坐标可以对应于4:2:0格式或4:2:2格式的情况。参考图39,图示了色度块的左上坐标、NbA的坐标、NbB的坐标等。
图40是图示根据本公开的实施例的加权样本预测处理的图。根据图40的实施例,将描述组合两个或更多个预测信号的方法。另外,图40的实施例可以应用于使用CIIP的情况。另外,图40的实施例可以包括参照已经在图39中描述过的相邻位置的方法。参考图44,可以如以下等式8所示来描述作为指示缩放因子的变量的scallFact。
[等式8]
scallFact=(cIdx==0)?0:1
在等式8中,如果cIdx为0,则编码器/解码器可将scallFact设置为0。如果cIdx不为0,则编码器/解码器可以将scallFact设置为1。根据本公开的实施例,如果x为真或x不同于0,x?y:z表示y值。否则(即x为假(或x为0)),x?y:z表示z值。
另外,编码器/解码器可以设置(xNbA,yNbA)和(xNbB,yNbB),它们是被参考用于多假设预测的相邻位置NbA和NbB的坐标。根据图39中描述的实施例,可以将用于亮度分量的(xNbA,yNbA)和(xNbB,yNbB)分别设置为(xCb-1,yCb+cbHeight-1)和(xCb+cbWidth-1,yCb-1)。可以将用于色度分量的(xNbA,yNbA)和(xNbB,yNbB)分别设置为(xCb-1,yCb+2*cbHeight-1),(xCb+2*cbWidth-1,yCb-1)。乘以2^n的运算可以与进行n比特左移的运算相同。例如,乘以2的运算可以被计算为与通过左移一比特而获得的值相同。另外,相对于x执行n比特的左移可以被表示为“x<<n”。除以2^n的运算可以与进行n比特右移的运算相同。可以将除以2^n并四舍五入到最接近的整数的运算计算为与通过进行n比特右移而获得的值相同。例如,可以将除以2的运算计算为与进行右移一比特而获得的值相同。另外,相对于x执行n比特右移可以被表示为“x>>n”。因此,(xCb-1,yCb+2*cbHeight-1)和(xCb+2*cbWidth-1,yCb-1)可以表示为(xCb-1,yCb+(cbHeight<<1)-1)和(xCb+(cbWidth<<1)-1,yCb-1)。因此,如果将与亮度分量相关联的上述坐标和与色度分量相关联的坐标一起表示,则它们可以如下面的等式9所示。
[等式9]
(xNbA,yNbA)=(xCb-1,yCb+(cbHeight<<ScallFact)-1)
(xNbB,yNbB)=(xCb+(cbWidth<<scallFact)-1,yCb-1)
在等式9中,可以将scallFact确定为(cIdx==0)?0:1,如上所述。在这种情况下,cbWidth和cbHeight可以是基于每个颜色分量的宽度和高度。在基于亮度分量的宽度和高度为cbWidthL和cbHeightL的情况下,如果相对于亮度分量执行加权样本预测过程,则cbWidth和cbHeight可以分别为cbWidthL和cbHeightL。在基于亮度分量的宽度和高度为cbWidthL和cbHeightL的情况下,如果相对于色度分量执行加权样本预测过程,则cbWidth和cbHeight可以分别为cbWidthL/SubWidthC和cbHeightL/SubHeightC。
另外,根据实施例,编码器/解码器可以通过参照相邻位置来确定对应位置的预测模式。例如,编码器/解码器可以确定预测模式是否为帧内预测。另外,预测模式可以由CuPredMode指示。如果CuPredMode为MODE_INTRA,则这指示使用帧内预测。另外,CuPredMode的值可以是MODE_INTRA、MODE_INTER、MODE_IBC或MODE_PLT。如果CuPredMode为MODE_INTER,则这指示使用帧间预测。另外,如果CuPredMode为MODE_IBC,则这指示使用了帧内块复制(IBC)。另外,如果CuPredMode为MODE_PLT,则这可以指示使用了调色板模式。另外,可以取决于信道类型(chType)和位置来表达CuPredMode。例如,可以将其表达为CuPredMode[chType][x][y],并且其值可以是与位置(x,y)处的信道类型chType相关联的CuPredMode的值。
另外,根据本公开的实施例,chType可以基于树类型。例如,可以将树类型设置为SINGLE_TREE、DUAL_TREE_LUMA、DUAL_TREE_CHROMA等的值。在SINGLE_TREE的情况下,亮度分量和色度分量可以共享块分区的一部分。例如,在SINGLE_TREE的情况下,亮度分量和色度分量可以具有相同的块分区。可替代地,在SINGLE_TREE的情况下,亮度分量和色度分量可以具有相同或部分相同的块分区。可替代地,在SINGLE_TREE的情况下,可以通过相同的语法元素值来执行亮度分量的块分区和色度分量的块分区。
另外,根据本公开的实施例,在DUAL TREE的情况下,亮度分量的块分区和色度分量的块分区可以彼此无关。可替代地,在DUAL TREE的情况下,可以通过不同的语法元素值来执行亮度分量的块分区和色度分量的块分区。另外,在DUAL TREE的情况下,树类型值可以是DUAL_TREE_LUMA或DUAL_TREE_CHROMA。如果树类型为DUAL_TREE_LUMA,则这指示使用了DUAL TREE,并且其是与亮度分量相关联的过程。如果树类型为DUAL_TREE_CHROMA,则这指示使用了DUAL TREE,并且其是与色度分量相关联的过程。另外,chType可以确定树类型是否为DUAL_TREE_CHROMA。例如,如果树类型为DUAL_TREE_CHROMA,则chType可以设置为1,如果树类型不同于DUAL_TREE_CHROMA,则chType可以设置为0。因此,参考图40,可以确定CuPredMode[0][xNbX][yNbY]的值。X可以用A和B代替。也就是说,可以确定与NbA和NbB位置相关联的CuPredMode的值。
另外,根据本公开的实施例,可以基于相邻位置的预测模式的确定来设置isIntraCodedNeighbourX的值。例如,取决于与相邻位置相关联的CuPredMode是否为MODE_INTRA,可以设置isIntraCodedNeighbourX的值。如果与相邻位置关联的CuPredMode是MODE_INTRA,则可以将isIntraCodedNeighbourX的值设置为真。如果与相邻位置相关联的CuPredMode不是MODE_INTRA,则可以将isIntraCodedNeighbourX的值设置为假。在上文已经描述并且将在下文描述的本公开中,X可以用A、B等代替。X可以是指对应于位置X的事物。
另外,根据本公开的实施例,可以通过参照相邻位置来确定相应位置是否可用。可以基于availableX来设置相应位置是否可用。另外,可以基于availableX来设置isIntraCodedNeighbourX。例如,如果availableX为真,则可以将isIntraCodedNeighbourX设置为真。例如,如果availableX为假,则可以将isIntraCodedNeighbourX设置为假。参考图40,可以通过调用“相邻块可用性的推导过程”来确定相应位置是否可用。另外,可以基于相应位置是否落在当前图片内来确定相应位置是否可用。在相应位置是(xNbY,yNbY)的情况下,如果xNbY或yNbY小于0,则相应位置在当前图片之外,并且availableX可以被设置为假。另外,如果xNbY大于或等于图片宽度,则相应位置在当前图片之外,并且可以将availableX设置为假。图片宽度可以由pic_width_in_luma_samples指示。另外,如果yNbY大于或等于图片高度,则相应位置在当前图片之外,并且可以将availableX设置为假。图片高度可以由pic_height_in_luma_samples指示。另外,如果相应位置存在于与当前块不同的不同块或不同切片中,则可以将availableX设置为假。另外,如果相应位置的重构不完整,则可以将availableX设置为假。重构是否完成可以由IsAvailable[cIdx][xNbY][yNbY]指示。因此,如果满足下述条件之一,则可以将availableX设置为假。否则(如果不满足以下任何条件),则可以将availableX设置为真。
-条件1:xNbY<0
-条件2:yNbY<0
-条件3:xNbY>=pic_width_in_luma_samples
-条件4:yNbY>=pic_height_in_luma_samples
-条件5:IsAvailable[cIdx][xNbY][yNbY]==假
-条件6:相应位置(相邻位置或(xNbY,yNbY)的位置)属于与当前块不同的不同块(或不同切片)。
另外,根据本公开的实施例,通过根据选项确定当前位置和相应位置是否具有相同的CuPredMode,可以设置availableX。通过组合两个上述条件,可以设置isIntraCodedNeighbourX。例如,满足以下所有条件,可以将isIntraCodedNeighbourX设置为真。否则(如果不满足至少一个条件),可以将isIntraCodedNeighbourX设置为假。
-条件1:availableX==真
-条件2:CuPredMode[0][xNbX][yNbX]==MODE_INTRA
另外,根据本公开的实施例,可以基于多个isIntraCodedNeighbourX来确定CIIP的权重。例如,可以基于多个isIntraCodedNeighbourX来确定当结合帧间预测和帧内预测时要使用的权重。例如,可以基于isIntraCodedNeighbourA和isIntraCodedNeighbourB来确定这些权重。根据实施例,如果isIntraCodedNeighbourA和isIntraCodedNeighbourB均为真,则可以将w设置为3。例如,w可以是CIIP的权重,或者可以是用于确定权重的值。此外,如果isIntraCodedNeighbourA和isIntraCodedNeighbourB两者均为假,则可以将w设置为1。此外,如果isIntraCodedNeighbourA和isIntraCodedNeighbourB中的一个为假(如果其中之一为真),则可以将w设置为2。即,基于是否根据帧内预测来预测相邻位置或者根据帧内预测来预测多少相邻位置,可以设置w。
另外,根据本公开的实施例,w可以是用于帧内预测的权重。另外,可以基于w来确定与帧间预测相对应的权重。例如,对应于帧间预测的权重可以是(4-w)。当结合两个或更多个预测信号时,编码器/解码器可以使用下文的等式10。
[等式10]
predSampleComb[x][y]=(w*predSamplesIntra[x][y]+(4-w)*predSamplesInter[x][y]+2)>>2
在等式10中,predSamplesIntra和predSamplesInter可以是预测信号。例如,predSamplesIntra和predSamplesInter可以分别是根据帧内预测而预测的预测信号和根据帧间预测(例如,合并模式,更具体地常规合并模式)预测的预测信号。另外,predSampleComb可以是用于CIIP的预测信号。
另外,根据实施例,可以在应用等式10之前包括更新要被结合的预测信号的过程。例如,下面的等式11可以被应用到更新过程。例如,更新预测信号的过程可以是更新用于CIIP的帧间预测信号的过程。
[等式11]
idxY=predSamplesInter[x][y]>>Log2(OrgCW)
predSamplesInter[x][y]=Clip1Y(LmcsPivot[idxY]+(ScaleCoeff[idxY]*(predSamplesInter[x][y]-InputPivot[idxY])+(1<<10))>>11)
图41是图示根据本公开的实施例的相邻参考位置的图。
已经参考图39至图40描述了相邻参考位置。如果将所述位置用于所有情况(例如,所有色度块),则可能发生问题,并且参考图41来描述该问题。图41的实施例图示了色度块。在图39和40中,基于用于色度块的亮度样本表达的NbA和NbB的坐标分别为(xCb-1,yCb+2*cbHeight-1),(xCb+2*cbWidth-1,yCb-1)。如果SubWidthC或SubHeightC为1,则这可以指示图41中所示的位置,其不同于图39所示的位置。基于每种颜色分量(在本示例中为饱和度分量)表达cbWidth和cbHeight,基于亮度表达坐标。因此,在4:2:0的情况下,在上述坐标中,将cbWidth和cbHeight乘以2可以是为了与每个亮度样本的色度样本的数量相关联的补偿。即,这可以用于基于亮度表示以下情况的坐标:基于x轴,与两个亮度样本相对应的色度样本的数量是1,以及基于y轴,与两个亮度样本相对应的色度样本的数量为1。因此,如果SubWidthC或SubHeightC为1,则可以指示其他位置。因此,如果相对于色度块,总是使用(xCb-1,yCb+2*cbHeight-1)和(xCb+2*cbWidth-1,yCb-1)的位置,则可以参考远离当前色度块的位置。另外,在这种情况下,当前块的亮度块所使用的相对位置和色度块所使用的相对位置可能不相同。另外,可以参考与色度块相关联的另一位置,因此,可以通过参考与当前块的相关性低的位置来设置权重。可替代地,可以不根据块解码的顺序来执行解码/重构。
参考图41,图示了在4:4:4的情况下,即在SubWidthC和SubHeightC两者都为1的情况下,在基于亮度的坐标处的位置。NbA和NbB可以被布置在远离用实线标记的色度块的位置。
图42是图示根据本公开的实施例的加权样本预测过程的图。图42的实施例可以是解决已经参考图39至图41描述的缺点的实施例。此外,将省略对上述内容的重复内容的描述。在图40中,基于scallFact设置相邻位置,并且scallFact可以是如图41所示,当SubWidthC和SubHeightC为2时,用于变换位置的值。但是,如上所述,取决于颜色格式可能会发生问题,并且色度样本与亮度样本的比率可能取决于宽度和高度而不同。根据本公开的实施例,scallFact可以分别用于宽度和高度。
根据本公开的实施例,可以存在scallFactWidth和scallFactHeight,并且可以基于scallFactWidth和scallFactHeight来设置相邻位置。另外,可以基于亮度样本(亮度块)来设置相邻位置。此外,可以基于cIdx和SubWidthC设置scallFactWidth。例如,如果cIdx为0或SubWidthC为1,则可以将scallFactWidth设置为0。否则(如果cIdx与0不同并且SubWidthC与1不同(如果SubWidthC为2)),则scallFactWidth可以被设置为1。在这种情况下,可以使用下面的等式12确定scallFactWidth。
[等式12]
scallFactWidth=(cIdx==0||SubWidthC==1)?0:1此外,可以基于cIdx和SubHeightC设置scallFactHeight。例如,如果cIdx为0或SubHeightC为1,则可以将scallFactHeight设置为0。否则(cIdx与0不同且SubHeightC与1不同(SubHeightC为2)),则可以将scallFactHeight设置为1。在这种情况下,可以使用下述的等式13确定scallFactHeight。
[等式13]
scallFactHeight=(cIdx==0||SubHeightCC==1)?0:1
另外,可以基于scallFactWidth来表达相邻位置的x坐标,并且可以基于scallFactHeight来表达相邻位置的y坐标。例如,可以基于scallFactWidth来表达NbB的坐标。例如,可以基于scallFactHeight来表达NbA的坐标。此外,如上所述,某物基于scallFactWidth的事实指示该事物基于SubWidthC,而某物基于scallFactHeight的事实指示该事物基于SubHeightC。例如,相邻位置的坐标可以如下面的等式14所示。
[等式14]
(xNbA,yNbA)=(xCb-1,yCb+(cbHeight<<scallFactHeight)-1)
(xNbB,yNbB)=(xCb+(cbWidth<<scallFactWidth)-1,yCb-1)
在这种情况下,如上所述,xCb和yCb可以是基于亮度样本表示的坐标。另外,cbWidth和cbHeight可以是基于每个颜色分量表示的值。
因此,如果它是色度块并且SubWidthC为1,则(xNbB,yNbB)=(xCb+cbWidth-1,yCb-1)。即,在这种情况下,与亮度块相关联的NbB的坐标和与色度块相关联的NbB的坐标可以相同。另外,如果它是色度块并且SubHeightC是1,则(xNbA,yNbA)=(xCb-1,yCb+cbHeight-1)。即,在这种情况下,与亮度块相关联的NbA的坐标和与色度块相关联的NbA的坐标可以相同。
因此,根据图42的实施例,在4:2:0格式的情况下,相邻位置的坐标可以被设置为与图39和图40的实施例中的坐标相同,而在4:2:2格式或4:4:4格式的情况下,可以将相邻位置的坐标设置为与图39和40的实施例中的坐标不同。
图42的其他过程可以与参考图40描述的过程相同。即,可以基于图42中描述的相邻位置的坐标来确定预测模式或其可用性,以及可以确定用于CIIP的权重。在本公开中,相邻位置和相邻位置的坐标可以互换地使用。
图43是图示根据本公开的实施例的加权样本预测过程的图。图43的实施例可以以不同的方式表达已经参考图42描述的相邻位置的坐标。因此,可以省略上述内容的重复内容。如上所述,位移可以表达为乘法。图42提供了使用位移的描述,以及图43提供了使用乘法的描述。
根据实施例,可以基于cIdx和SubWidthC来设置scallFactWidth。例如,如果cIdx为0或如果SubWidthC为1,则可以将scallFactWidth设置为1。否则(如果cIdx与0不同并且SubWidthC与1不同(如果SubWidthC为2)),则可以将scallFactWidth设置为2。在这种情况下,可以使用下面的等式15确定scallFactWidth。
[等式15]
scallFactWidth=(cIdx==0||SubWidthC==1)?1:2
此外,可以基于cIdx和SubHeightC设置scallFactHeight。例如,如果cIdx为0或SubHeightC为1,则可以将scallFactHeight设置为1。否则(cIdx与0不同且SubHeightC与1不同(SubHeightC为2)),可以将scallFactHeight设置为2。在这种情况下,可以使用下述等式16来确定scallFactHeight。
[等式16]
scallFactHeight=(cIdx==0||SubHeightC==1)?1:2
另外,可以基于scallFactWidth来表达相邻位置的x坐标,并且可以基于scallFactHeight来表达相邻位置的y坐标。例如,可以基于scallFactWidth来表达NbB的坐标。例如,可以基于scallFactHeight来表达NbA的坐标。此外,如上所述,某物基于scallFactWidth的事实指示该事物基于SubWidthC,而某物基于scallFactHeight的事实指示该事物基于SubHeightC。例如,相邻位置的坐标可以如下文的等式17所示。
[等式17]
(xNbA,yNbA)=(xCb-1,yCb+(cbHeight*scallFactHeight)-1)
(xNbB,yNbB)=(xCb+(cbWidth*scallFactWidth)-1,yCb-1)
在这种情况下,如上所述,xCb和yCb可以是基于亮度样本表示的坐标。另外,cbWidth和cbHeight可以是基于每个颜色分量表示的值。
图44是图示根据本公开的实施例的加权样本预测过程的图。在图40、42、43等的实施例中,通过参照相邻位置来确定相应位置是否可用。在这种情况下,作为指示颜色分量的索引的cIdx被设置为0(亮度分量)。另外,在确定相应位置是否可用的过程中,可以使用cIdx来确定相应位置的cIdx的重构是否完成。即,在确定相应位置是否可用的过程中,可以使用cIdx来确定IsAvailable[cIdx][xNbY][yNbY]的值。然而,在对色度块执行加权样本预测过程的过程中,如果参照与cIdx0相对应的IsAvailable的值,则可能做出错误的确定。例如,在包括相邻位置的块的亮度分量的重构未完成但色度分量的重构完成的情况下,如果cIdx不同于0,则IsAvailable[0][xNbY][yNbY]可能为假并且IsAvailable[cIdx][xNbY][yNbY]可能为真。因此,即使相邻位置可用,也可能错误地确定相邻位置不可用。在图44的实施例中,为了解决该问题,当前编译块的cIdx可以被用作用于通过参照相邻位置来确定相应位置是否可用的输入。即,当前编译块的cIdx可以用作cIdx,其是用于调用“用于相邻块可用性的推导过程”的输入。在该实施例中,将省略参考图42和43描述的内容的重复描述。
另外,在确定已经描述过的相邻位置的预测模式的过程中,如果参照CuPredMode[0][xNbX][yNbY],其是与chType 0相对应的CuPredMode,并且与当前块的chType不相同,则可能参照不正确的参数。因此,根据本公开的实施例,当确定相邻位置的预测模式时,可以参照与对应于当前块的chType相对应的CuPredMode[chType][xNbX][yNbY]。
图45是图示根据本公开的实施例的基于多假设预测的视频信号处理方法的图。参考图45,为了便于描述,将主要从解码器的角度提供描述,但是本公开不限于此。可以基本上以相同的方式,将根据实施例的基于多假设预测的视频信号处理方法应用于编码器。
具体地,如果合并模式被应用于当前块,则在操作S4501中,解码器可以获得指示是否组合预测被应用于当前块的第一语法元素。在此,组合预测可以是结合帧间预测和帧内预测的预测模式。如上所述,本公开不限于名称,并且说明书中的多假设预测可以被称为多重预测、大量预测、组合预测、帧间帧内加权预测、组合帧间帧内预测、组合帧间帧内加权预测等。根据实施例,在操作S4501之前,解码器可以接收用于预测当前块的信息,并且可以基于用于预测的信息来确定是否合并模式被应用于当前块。
如果第一语法元素指示组合预测被应用于当前块,则在操作S4502中,解码器可以生成当前块的帧间预测块和帧内预测块。在操作S4503中,解码器可以通过执行帧间预测块和帧内预测块的加权求和来生成组合预测块。解码器可以解码当前块的残差块,并且可以使用组合预测块和残差块来重构当前块。
如上所述,根据实施例,对残差块进行解码的操作可以包括当第一语法元素指示组合预测没有被应用于当前块时,获得第二语法元素的操作,该第二语法元素指示是否子块变换被应用于当前块。即,仅当组合预测未被应用于当前块时才可以应用子块变换,并且可以执行与该应用相关联的语法信令。在此,子块变换可以是将变换应用于在水平方向或垂直方向上划分的当前块的任何一个子块的变换模式。
如上所述,根据实施例,如果第二语法元素不存在,则第二语法元素的值可以被推断为0。
如上所述,根据实施例,如果第一语法元素指示组合预测被应用于当前块,则用于当前块的帧内预测的帧内预测模式可以被设置为平面模式。
如上所述,根据实施例,解码器可以设置被参照用于组合预测的左相邻块和上侧相邻块的位置,并且可以基于所设置的位置的帧内预测模式来执行组合预测。根据实施例,解码器可以基于所设置的位置的帧内预测模式来确定要用于组合预测的权重。另外,如上所述,可以使用根据当前块的颜色分量索引确定的缩放因子变量来确定左相邻块和上侧相邻块的位置。
可以通过各种手段来实现本发明的上述实施例。例如,可以通过硬件、固件、软件或其组合来实现本发明的实施例。
对于通过硬件实现的情况,可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等中的一个或多个来实现根据本发明的实施例的方法。
在通过固件或软件实现的情况下,可以以执行上述功能或操作的模块、过程或函数的形式来实现根据本发明的实施例的方法。可以将软件代码存储在存储器中并由处理器驱动。存储器可以位于处理器内部或外部,并且可以通过各种已知的方式与处理器交换数据。
还可以以诸如由计算机执行的程序模块的包括计算机可执行指令的记录介质的形式来实现某些实施例。计算机可读介质可以是可由计算机访问的任何可用介质,并且可以包括所有易失性、非易失性、可移除和不可移除的介质。另外,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的方法或技术实现的所有易失性、非易失性、可移动和不可移动介质。通常,通信介质包括计算机可读指令、调制数据信号的其他数据(诸如数据结构或程序模块)或其他传输机制,并且包括任何信息传输介质。
本发明的上述描述仅用于说明目的,并且将会理解,本发明所属的本领域的普通技术人员可以在不改变本发明的技术思想或者基本特征的情况下对本发明进行改变,并且本发明可以以其他特定形式容易地被修改。因此,上述实施例是说明性的,并且在所有方面均不受限制。例如,被描述为单个实体的每个组件可以被分布和实现,并且同样,被描述为被分布的组件也可以以关联的方式被实现。
本发明的范围由所附权利要求书而不是上述详细描述来限定,并且从所附权利要求书的含义和范围及其等效物导出的所有改变或修改都应解释为包括在本发明的范围内。

Claims (20)

1.一种视频信号解码设备,所述设备包括:
处理器,
其中,所述处理器被配置为:
确定合并模式是否被应用于当前块,
当所述合并模式被应用于所述当前块时,获得指示组合预测是否被应用于所述当前块的第一语法元素的值,
其中,通过所述组合预测参考的相邻位置是(xCb-1,yCb-1+cbHeight)和(xCb-1+cbWidth,yCb-1),
其中,(xCb,yCb)为所述当前块的左上的坐标,所述cbHeight为所述当前块的高度并且所述cbWidth为所述当前块的宽度,
当所述第一语法元素指示所述组合预测不被应用于所述当前块时,获得指示子块变换是否被应用于所述当前块的第二语法元素的值,
其中,当所述第二语法元素不存在时,所述第二语法元素的值被推断为指示所述子块变换不被应用于所述当前块的值,
其中,所述组合预测是使用帧间预测和帧内预测的合并模式的预测模式,并且
其中,所述子块变换指示将变换应用于在水平方向上或在垂直方向上划分的所述当前块的子块的部分的变换模式。
2.根据权利要求1所述的设备,
其中,所述处理器被配置为:
当所述第一语法元素的值指示所述组合预测被应用于所述当前块时,基于所述组合预测重构所述当前块,
当所述第一语法元素的值指示所述组合预测不被应用于所述当前块并且所述第二语法元素的值指示所述子块变换被应用于所述当前块时,基于所述子块变换重构所述当前块。
3.根据权利要求2所述的设备,
其中,当所述第一语法元素的值指示所述组合预测被应用于所述当前块时,基于所述当前块的组合预测块来重构所述当前块,
其中,所述当前块的组合预测块是通过帧间预测块和帧内预测块的加权求和而获得的,
其中,所述帧间预测块是通过用于所述当前块的帧间预测的合并模式而获得的,并且所述帧内预测块是通过用于所述当前块的帧内预测而获得的。
4.根据权利要求3所述的设备,
其中,所述帧内预测块是基于平面模式而获得的。
5.根据权利要求1所述的设备,
其中,使用基于所述当前块的颜色分量索引值确定的缩放因子变量来确定所述相邻位置。
6.一种视频信号处理方法,所述方法包括:
确定合并模式是否被应用于当前块;
当所述合并模式被应用于所述当前块时,获得指示组合预测是否被应用于所述当前块的第一语法元素的值,
其中,通过所述组合预测参考的相邻位置是(xCb-1,yCb-1+cbHeight)和(xCb-1+cbWidth,yCb-1),
其中,(xCb,yCb)为所述当前块的左上的坐标,所述cbHeight为所述当前块的高度并且所述cbWidth为所述当前块的宽度;以及
当所述第一语法元素指示所述组合预测不被应用于所述当前块时,获得指示子块变换是否被应用于所述当前块的第二语法元素的值,
其中,当所述第二语法元素不存在时,所述第二语法元素的值被推断为指示所述子块变换不被应用于所述当前块的值,
其中,所述组合预测是使用帧间预测和帧内预测的合并模式的预测模式,并且
其中,所述子块变换指示将变换应用于在水平方向上或在垂直方向上划分的所述当前块的子块的部分的变换模式。
7.根据权利要求6所述的方法,所述方法进一步包括:
当所述第一语法元素的值指示所述组合预测被应用于所述当前块时,基于所述组合预测重构所述当前块;以及
当所述第一语法元素的值指示所述组合预测不被应用于所述当前块并且所述第二语法元素的值指示所述子块变换被应用于所述当前块时,基于所述子块变换重构所述当前块。
8.根据权利要求7所述的方法,
其中,当所述第一语法元素的值指示所述组合预测被应用于所述当前块时,基于所述当前块的组合预测块来重构所述当前块,
其中,所述当前块的组合预测块是通过帧间预测块和帧内预测块的加权求和而获得的,
其中,所述帧间预测块是通过用于所述当前块的帧间预测的合并模式而获得的,并且所述帧内预测块是通过用于所述当前块的帧内预测而获得的。
9.根据权利要求8所述的方法,
其中,所述帧内预测块是基于平面模式而获得的。
10.根据权利要求6所述的方法,
其中,使用基于所述当前块的颜色分量索引值确定的缩放因子变量来确定所述相邻位置。
11.一种视频信号编码设备,所述设备包括:
处理器,
其中,所述处理器被配置为:
确定合并模式是否被应用于当前块,
当所述合并模式被应用于所述当前块时,确定组合预测是否被应用于所述当前块,
其中,通过所述组合预测参考的相邻位置是(xCb-1,yCb-1+cbHeight)和(xCb-1+cbWidth,yCb-1),
其中,(xCb,yCb)为所述当前块的左上的坐标,所述cbHeight为所述当前块的高度并且所述cbWidth为所述当前块的宽度,
当所述组合预测没有被应用于所述当前块时,确定是否将子块变换应用于所述当前块,
获得用于重构所述当前块的比特流,
其中,当指示是否子块变换被应用于所述当前块的第二语法元素不被包括在所述比特流中时,所述子块变换不被应用于所述当前块,
其中,所述组合预测是使用帧间预测和帧内预测的合并模式的预测模式,并且
其中,所述子块变换指示将变换应用于在水平方向上或在垂直方向上划分的所述当前块的子块的部分的变换模式。
12.根据权利要求11所述的设备,
其中,所述处理器被配置为:
当所述组合预测被应用于所述当前块时,基于所述组合预测来重构所述当前块,
当所述组合预测没有被应用于所述当前块并且所述子块变换被应用于所述当前块时,基于所述子块变换重构所述当前块。
13.根据权利要求12所述的设备,
其中,当所述组合预测被应用于所述当前块时,基于所述当前块的组合预测块来重构所述当前块,
其中,所述当前块的组合预测块是通过帧间预测块和帧内预测块的加权求和而获得的,
其中,所述帧间预测块是通过用于所述当前块的帧间预测的合并模式而获得的,并且所述帧内预测块是通过用于所述当前块的帧内预测而获得的。
14.根据权利要求13所述的设备,
其中,所述帧内预测块是基于平面模式而获得的。
15.根据权利要求11所述的设备,
其中,使用基于所述当前块的颜色分量索引值确定的缩放因子变量来确定所述相邻位置。
16.一种用于获得比特流的方法,所述方法包括:
确定合并模式是否被应用于当前块,
当所述合并模式被应用于所述当前块时,确定组合预测是否被应用于所述当前块,
其中,通过所述组合预测参考的相邻位置是(xCb-1,yCb-1+cbHeight)和(xCb-1+cbWidth,yCb-1),
其中,(xCb,yCb)为所述当前块的左上的坐标,所述cbHeight为所述当前块的高度并且所述cbWidth为所述当前块的宽度;
当所述组合预测没有被应用于所述当前块时,确定是否将子块变换应用于所述当前块,以及
获得用于重构所述当前块的比特流,
其中,当指示是否子块变换被应用于所述当前块的第二语法元素不被包括在所述比特流中时,所述子块变换不被应用于所述当前块,
其中,所述组合预测是使用帧间预测和帧内预测的合并模式的预测模式,并且
其中,所述子块变换指示将变换应用于在水平方向上或在垂直方向上划分的所述当前块的子块的部分的变换模式。
17.根据权利要求16所述的方法,所述方法进一步包括:
当所述组合预测被应用于所述当前块时,基于所述组合预测来重构所述当前块,
当所述组合预测没有被应用于所述当前块并且所述子块变换被应用于所述当前块时,基于所述子块变换重构所述当前块。
18.根据权利要求17所述的方法,
其中,当所述组合预测被应用于所述当前块时,基于所述当前块的组合预测块来重构所述当前块,
其中,所述当前块的组合预测块是通过帧间预测块和帧内预测块的加权求和而获得的,
其中,所述帧间预测块是通过用于所述当前块的帧间预测的合并模式而获得的,并且所述帧内预测块是通过用于所述当前块的帧内预测而获得的。
19.根据权利要求18所述的方法,
其中,所述帧内预测块是基于平面模式而获得的。
20.根据权利要求16所述的方法,
其中,使用基于所述当前块的颜色分量索引值确定的缩放因子变量来确定所述相邻位置。
CN202410378795.3A 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置 Pending CN118175328A (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR20180121620 2018-10-12
KR10-2018-0121620 2018-10-12
KR20180145792 2018-11-22
KR10-2018-0145792 2018-11-22
KR10-2019-0111060 2019-09-06
KR20190111060 2019-09-06
PCT/KR2019/013450 WO2020076143A1 (ko) 2018-10-12 2019-10-14 다중 가정 예측을 사용하는 비디오 신호 처리 방법 및 장치
CN201980067130.8A CN112840654B (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980067130.8A Division CN112840654B (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置

Publications (1)

Publication Number Publication Date
CN118175328A true CN118175328A (zh) 2024-06-11

Family

ID=70164218

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201980067130.8A Active CN112840654B (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置
CN202410378795.3A Pending CN118175328A (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置
CN202410373304.6A Pending CN118175327A (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置
CN202410373256.0A Pending CN118158431A (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201980067130.8A Active CN112840654B (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202410373304.6A Pending CN118175327A (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置
CN202410373256.0A Pending CN118158431A (zh) 2018-10-12 2019-10-14 使用多假设预测的视频信号处理方法和装置

Country Status (6)

Country Link
US (2) US11601641B2 (zh)
EP (1) EP3866468A4 (zh)
JP (2) JP7342118B2 (zh)
KR (1) KR20210057187A (zh)
CN (4) CN112840654B (zh)
WO (1) WO2020076143A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7412343B2 (ja) * 2018-09-21 2024-01-12 日本放送協会 画像符号化装置、画像復号装置、及びプログラム
CN117459721A (zh) 2018-10-24 2024-01-26 华为技术有限公司 视频编解码器和方法
US20200169757A1 (en) * 2018-11-23 2020-05-28 Mediatek Inc. Signaling For Multi-Reference Line Prediction And Multi-Hypothesis Prediction
CA3121409A1 (en) * 2018-11-29 2020-06-04 Huawei Technologies Co., Ltd. Encoder, decoder and corresponding methods of most probable mode list construction for blocks with multi-hypothesis prediction
JP2022510120A (ja) * 2018-12-07 2022-01-26 インターデジタル ヴイシー ホールディングス, インコーポレイテッド コード化ツールの組み合わせおよび制限の管理
WO2020141766A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 머지 데이터에 대한 정보를 코딩하는 방법 및 장치
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
CN113475062A (zh) 2019-02-24 2021-10-01 北京字节跳动网络技术有限公司 确定屏幕内容编解码的条件
WO2020262992A1 (ko) * 2019-06-25 2020-12-30 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
CN114145013B (zh) 2019-07-23 2023-11-14 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
WO2021018166A1 (en) * 2019-07-29 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Scanning order improvements for palette mode coding
US20220353504A1 (en) * 2019-09-23 2022-11-03 Lg Electronics Inc. Image coding method based on transform, and device therefor
WO2023274181A1 (en) * 2021-06-28 2023-01-05 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
WO2023277603A1 (ko) * 2021-07-02 2023-01-05 현대자동차주식회사 비디오 부호화/복호화 방법 및 장치
US20230103505A1 (en) * 2021-10-01 2023-04-06 Tencent America LLC Secondary transforms for compound inter-intra prediction modes
US20230379479A1 (en) * 2022-05-17 2023-11-23 Tencent America LLC Systems and methods for determining chroma samples in an intra prediction mode of video coding
WO2023236914A1 (en) * 2022-06-06 2023-12-14 Mediatek Inc. Multiple hypothesis prediction coding
US20240129508A1 (en) * 2022-10-14 2024-04-18 Tencent America LLC Template matching based partitioning pattern derivation

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009081576A (ja) * 2007-09-25 2009-04-16 Toshiba Corp 動画像復号装置、および動画像復号方法
WO2011126272A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
KR101379188B1 (ko) * 2010-05-17 2014-04-18 에스케이 텔레콤주식회사 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
KR101215152B1 (ko) * 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
US9554149B2 (en) 2012-02-29 2017-01-24 Lg Electronics, Inc. Inter-layer prediction method and apparatus using same
AU2013202653A1 (en) * 2013-04-05 2014-10-23 Canon Kabushiki Kaisha Method, apparatus and system for generating intra-predicted samples
KR102057369B1 (ko) * 2013-12-13 2020-01-22 퀄컴 인코포레이티드 3d 비디오 코딩에서 깊이 인트라-예측 및 인터-예측 모드들을 위한 단순화된 깊이 코딩 (sdc) 의 시그널링
EP3076670A4 (en) 2014-01-03 2017-08-23 Samsung Electronics Co., Ltd. Method for encoding video and apparatus therefor, and method for decoding video and apparatus therefor using effective parameter delivery
CN105493505B (zh) * 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
WO2016195460A1 (ko) * 2015-06-05 2016-12-08 한양대학교 산학협력단 화면 내 예측에 대한 부호화/복호화 방법 및 장치
US10142627B2 (en) * 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
US20160373742A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US20180242004A1 (en) * 2015-08-23 2018-08-23 Lg Electronics Inc. Inter prediction mode-based image processing method and apparatus therefor
WO2017039117A1 (ko) * 2015-08-30 2017-03-09 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
KR20180041211A (ko) * 2015-09-10 2018-04-23 엘지전자 주식회사 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20170059718A (ko) * 2015-11-23 2017-05-31 삼성전자주식회사 디코딩 장치 및 그 방법
US11032550B2 (en) * 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
ES2699748B2 (es) * 2016-07-05 2021-05-13 Kt Corp Metodo y aparato para procesar senal de video
CN116614641A (zh) 2016-07-12 2023-08-18 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
US10116957B2 (en) * 2016-09-15 2018-10-30 Google Inc. Dual filter type for motion compensated prediction in video coding
WO2019076138A1 (en) 2017-10-16 2019-04-25 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR ENCODING
US11297348B2 (en) * 2018-04-13 2022-04-05 Mediatek Inc. Implicit transform settings for coding a block of pixels
CA3191812A1 (en) * 2018-07-04 2020-01-09 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
KR20200083339A (ko) * 2018-12-31 2020-07-08 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11290726B2 (en) 2019-02-07 2022-03-29 Qualcomm Incorporated Inter-intra prediction mode for video data
CN113632493A (zh) * 2019-03-13 2021-11-09 北京字节跳动网络技术有限公司 变换跳过模式中的子块变换
US11611759B2 (en) * 2019-05-24 2023-03-21 Qualcomm Incorporated Merge mode coding for video coding
CN114128295B (zh) * 2019-07-14 2024-04-12 北京字节跳动网络技术有限公司 视频编解码中几何分割模式候选列表的构建
JP2022543207A (ja) 2019-07-25 2022-10-11 ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティド ビデオ信号処理方法及び装置

Also Published As

Publication number Publication date
CN112840654A (zh) 2021-05-25
JP7342118B2 (ja) 2023-09-11
JP2023162362A (ja) 2023-11-08
CN112840654B (zh) 2024-04-16
CN118175327A (zh) 2024-06-11
WO2020076143A1 (ko) 2020-04-16
JP2022502972A (ja) 2022-01-11
CN118158431A (zh) 2024-06-07
EP3866468A1 (en) 2021-08-18
KR20210057187A (ko) 2021-05-20
EP3866468A4 (en) 2022-07-27
US11601641B2 (en) 2023-03-07
US20210235072A1 (en) 2021-07-29
US20230113874A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
CN112840654B (zh) 使用多假设预测的视频信号处理方法和装置
CN110677667B (zh) 查找表的使用
CN110662052B (zh) 更新查找表(lut)的条件
US11470306B2 (en) Method and device for processing video signal using MPM configuration method for multiple reference lines
EP3020198B1 (en) Palette prediction in palette-based video coding
CN113785566A (zh) 基于帧内预测处理视频信号的方法和设备
US20240048692A1 (en) Video signal processing method and device using motion compensation
CN112204967A (zh) 用于划分视频数据的帧间预测片段中的视频块的系统和方法
EP2763414A1 (en) Image decoding device, image decoding method, and image encoding device
CN111919449A (zh) 使用运动补偿的视频信号处理方法及设备
US20220141465A1 (en) Method and device for processing video signal
CN112823526B (zh) 通过使用交叉分量线性模型来处理视频信号的方法和设备
CN113454992A (zh) 基于帧内预测的视频信号处理方法和设备
CN113196751A (zh) 通过使用基于子块的运动补偿处理视频信号的方法和设备
CN113491116A (zh) 基于帧内预测的视频信号处理方法和装置
CN114208205A (zh) 视频信号处理方法和设备
CN113853791A (zh) 数字视频中的变换旁路编解码残差块
CN113228636A (zh) 使用当前图片参考的视频信号处理方法和设备
CN114747218A (zh) Hmvp表的更新

Legal Events

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