CN113454992A - 基于帧内预测的视频信号处理方法和设备 - Google Patents

基于帧内预测的视频信号处理方法和设备 Download PDF

Info

Publication number
CN113454992A
CN113454992A CN202080015505.9A CN202080015505A CN113454992A CN 113454992 A CN113454992 A CN 113454992A CN 202080015505 A CN202080015505 A CN 202080015505A CN 113454992 A CN113454992 A CN 113454992A
Authority
CN
China
Prior art keywords
mode
block
intra
intra prediction
prediction mode
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
CN202080015505.9A
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.)
Humax Co Ltd
Original Assignee
Humax Co Ltd
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 Humax Co Ltd, Wilus Institute of Standards and Technology Inc filed Critical Humax Co Ltd
Publication of CN113454992A publication Critical patent/CN113454992A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

公开了一种用于编码或解码视频信号的视频信号处理方法和设备。该视频信号处理方法包括步骤:识别当前色度块的树类型;如果当前色度块的树类型为双树,则根据预设位置处的亮度帧内预测模式导出当前色度块的色度帧内预测模式;根据色度帧内预测模式,生成当前色度块的预测块;通过将当前色度块的残差块与预测块相加,恢复当前色度块,其中,如果预设位置处的亮度预测模式为帧内块复制模式,则可以将亮度帧内预测模式设置为预设模式。

Description

基于帧内预测的视频信号处理方法和设备
技术领域
本公开涉及一种视频信号处理方法和设备,更具体地,涉及一种基于帧内预测编码或解码视频信号的视频信号处理方法和设备。
背景技术
压缩编译指代用于通过通信线路发送数字化信息或以适合于存储介质的形式存储信息的一系列信号处理技术。压缩编码的对象包括诸如语音、视频和文本的对象,并且特别地,用于对图像执行压缩编码的技术被称为视频压缩。考虑到空间相关性、时间相关性和随机相关性,通过去除过多的信息来执行对视频信号的压缩编译。然而,随着各种媒体和数据传输媒体的最新发展,需要更有效的视频信号处理方法和装置。
发明内容
技术问题
本公开是为了提高视频信号的编译效率。
技术方案
为解决上述问题,本发明提供如下视频信号处理设备及视频信号处理方法。
根据本公开的一个实施例,提供了一种视频信号处理方法,包括:识别当前色度块的树类型;基于预先配置的位置的亮度帧内预测模式,导出当前色度块的色度帧内预测模式;基于色度帧内预测模式,生成当前色度块的预测块;以及通过将当前色度块的残差块与预测块相加来重构当前色度块,其中,当预先配置的位置的亮度预测模式为帧内块复制模式时,亮度帧内预测模式被配置为预先配置的模式。
作为实施例,导出色度帧内预测模式可以包括根据亮度帧内预测模式,获取其中模式索引指示在预先配置的映射表内的当前色度帧内预测模式的第一语法元素。
作为实施例,预先配置的位置可以是当前色度块的右下中心样本位置的亮度位置。
作为实施例,预先配置的模式可以是帧内DC模式。
作为实施例,当当前色度块的树类型为双树时,指示是否对当前色度块应用帧内块复制模式的第二语法元素可以被推断为预先配置的值而不被解析。
作为实施例,预先配置的值可以是0,其中,对其树类型为双树的当前色度块可以不应用帧内块复制模式。。
根据本公开的实施例,提供了包括处理器的视频信号处理设备,其中,处理器:识别当前色度块的树类型;如果当前色度块的树类型为双树,基于预先配置的位置的亮度帧内预测模式,导出当前色度块的色度帧内预测模式;基于色度帧内预测模式,生成当前色度块的预测块;以及通过将当前色度块的残差块与预测块相加来重构当前色度块,其中,当预先配置的位置的亮度预测模式为帧内块复制模式时,亮度帧内预测模式被配置为预先配置的模式。
作为实施例,处理器可以根据亮度帧内预测模式,获取其中模式索引指示在预先配置的映射表内的当前色度帧内预测模式的第一语法元素。
作为实施例,预先配置的位置可以是当前色度块的右下中心样本位置的亮度位置。
作为实施例,预先配置的模式可以是帧内DC模式。
作为实施例,当当前色度块的树类型为双树时,指示是否对当前色度块应用帧内块复制模式的第二语法元素可以被推断为预先配置的值而不被解析。
作为实施例,预先配置的值可以是0,以及对其树类型为双树的当前色度块可以不应用帧内块复制模式。
根据本公开的一个实施例,提供了一种视频信号处理方法,包括:确定当前色度块的树类型;基于预先配置的位置的亮度帧内预测模式,确定当前色度块的色度帧内预测模式;基于色度帧内预测模式,生成当前色度块的预测块;以及通过从原始块中减去预测块来导出当前色度块的残差块,其中,当预先配置的位置的亮度预测模式为帧内块复制模式时,亮度帧内预测模式被配置为预先配置的模式。
根据本公开的实施例,提供了一种非暂时性计算机可读介质(计算机可执行组件),其中,存储了被配置为由计算设备的一个或多个处理器执行的计算机可执行组件,计算机可执行组件被配置为:识别当前色度块的树类型;基于预先配置的位置的亮度帧内预测模式,导出当前色度块的色度帧内预测模式;基于色度帧内预测模式,生成当前色度块的预测块;以及通过将当前色度块的残差块与预测块相加来重构当前色度块,其中,当预先配置的位置的亮度预测模式为帧内块复制模式时,亮度帧内预测模式被配置为预先配置的模式。
根据本公开的实施例,一种视频信号处理方法包括:获取指示是否使用最可能模式(MPM)编码当前块的第一语法元素,其中,MPM指示其中由当前块周围的帧内预测块导出当前块的帧内预测模式的模式;当不使用MPM编码当前块时,获取被配置为指示除MPM候选之外的帧内预测模式当中的当前块的帧内预测模式的第二语法元素;基于当前块的左和上相邻块的帧内预测模式,配置MPM候选列表;基于第二语法元素,导出当前块的帧内预测模式;以及基于该帧内预测模式,生成当前块的预测块,其中,使用通过将第二语法元素加1获得的值导出当前块的帧内预测模式,而与MPM候选列表中包括的MPM候选无关。
作为实施例,MPM候选列表可以包括五个MPM候选,并且MPM候选列表可以不包括平面模式。
作为实施例,导出帧内预测模式可以包括通过交换(swap)MPM候选列表中的MPM候选来重新排列MPM候选列表。
作为实施例,导出帧内预测模式可以包括将重新排列的MPM候选列表中的MPM候选与通过将第二语法元素加1获得的值进行比较。
作为实施例,导出帧内预测模式可以包括当通过将第二语法元素加1获得的值大于或等于重新排列的MPM候选列表中的MPM候选时,将通过将第二语法元素加1获得的值加1。
作为实施例,该方法可以包括当使用MPM编码当前块时,获取指示当前块的帧内预测模式是否为平面模式的第三语法元素。
根据本公开的实施例,提供了一种包括处理器的视频信号处理设备,其中,处理器获取指示是否使用最可能模式(MPM)编码当前块的第一语法元素,其中,MPM指示其中由当前块周围的帧内预测块导出当前块的帧内预测模式的模式;当不使用MPM编码当前块时,获取被配置为指示除MPM候选之外的帧内预测模式当中的当前块的帧内预测模式的第二语法元素;基于当前块的左和上相邻块的帧内预测模式,配置MPM候选列表;基于第二语法元素,导出当前块的帧内预测模式;以及基于该帧内预测模式,生成当前块的预测块,其中,使用通过将第二语法元素加1获得的值导出当前块的帧内预测模式,而与MPM候选列表中包括的MPM候选无关。
作为实施例,MPM候选列表可以包括五个MPM候选,并且MPM候选列表可以不包括平面模式。
作为实施例,处理器可以通过交换MPM候选列表中的MPM候选来重新排列MPM候选列表。
作为实施例,处理器可以将重新排列的MPM候选列表中的MPM候选与通过将第二语法元素加1获得的值进行比较。
作为实施例,当通过将第二语法元素加1获得的值大于或等于重新排列的MPM候选列表中的MPM候选时,处理器可以将通过将第二语法元素加1获得的值加1。
作为实施例,在视频信号处理设备中,当使用MPM编码当前块时,处理器可以获取指示当前块的帧内预测模式是否为平面模式的第三语法元素。
根据本公开的实施例,提供了一种视频信号处理方法,包括:编码指示是否使用最可能模式(MPM)编码当前块的第一语法元素,其中,MPM指示其中由当前块周围的帧内预测块导出当前块的帧内预测模式的模式;当不使用MPM编码当前块时,编码被配置为指示除MPM候选之外的帧内预测模式当中的当前块的帧内预测模式的第二语法元素;基于当前块的左和上相邻块的帧内预测模式,配置MPM候选列表;基于第二语法元素,确定当前块的帧内预测模式;以及基于该帧内预测模式,生成当前块的预测块,其中,使用通过将第二语法元素加1获得的值导出当前块的帧内预测模式,而与MPM候选列表中包括的MPM候选无关。
根据本公开的实施例,提供了一种非暂时性计算机可读介质(计算机可执行组件),其中,存储了被配置为由计算设备的一个或多个处理器执行的计算机可执行组件,计算机可执行组件被配置为:获取指示是否使用最可能模式(MPM)编码当前块的第一语法元素,其中,MPM指示其中由当前块周围的帧内预测块导出当前块的帧内预测模式的模式;当不使用MPM编码当前块时,获取被配置为指示除MPM候选之外的帧内预测模式当中的当前块的帧内预测模式的第二语法元素;基于当前块的左和上相邻块的帧内预测模式,配置MPM候选列表;基于第二语法元素,导出当前块的帧内预测模式;以及基于该帧内预测模式,生成当前块的预测块,其中,使用通过将第二语法元素加1获得的值导出当前块的帧内预测模式,而与MPM候选列表中包括的MPM候选无关。
有益效果
根据本公开的实施例,可以提高视频信号的编译效率。
附图说明
图1是根据本发明的实施例的视频信号编码装置的示意性框图。
图2是根据本发明的实施例的视频信号解码装置的示意性框图。
图3示出在图片中编译树单元被划分为编译单元的实施例。
图4示出用于用信号告知四叉树和多类型树的划分的方法的实施例。
图5和图6根据本公开的实施例,更详细地图示帧内预测方法。
图7图示根据本公开的实施例的帧间预测方法。
图8是具体地图示用于通过编码器变换残差信号的方法的图。
图9是具体地图示用于通过编码器和解码器对变换系数进行逆变换来获得残差信号的方法的图。
图10是用于描述根据本公开的实施例的当前图片参考方法的图。
图11是图示根据本公开的实施例的配置合并候选列表的方法的图。
图12是图示根据本公开的实施例的编译单元语法结构的图。
图13是图示根据本公开的实施例的编译单元语法结构的图。
图14是图示根据本公开的实施例的编译单元语法结构的图。
图15是图示根据本公开的实施例的导出色度分量的帧内预测模式的方法的图。
图16是图示根据本公开的实施例的导出色度分量的帧内预测模式的方法的图。
图17是图示根据本公开的实施例的帧内预测模式导出方法的图。
图18是图示根据本公开的实施例的MPM列表配置方法的图。
图19是图示根据本公开的实施例的导出帧内预测模式的图。
图20是图示根据本公开的实施例的MPM列表配置方法的图。
图21是图示根据本公开的实施例的视频信号处理方法的流程图。
图22是图示根据本公开的实施例的帧内预测模式导出方法的图;以及
图23是图示根据本公开的实施例的视频信号处理方法的流程图。
具体实施方式
考虑到本公开中的功能,本说明书中使用的术语可以是当前广泛使用的通用术语,但是可以根据本领域的技术人员的意图、习俗或新技术的出现而改变。另外,在某些情况下,可能存在申请人任意选择的术语,并且在这种情况下,其含义在本公开的相应描述部分中进行了描述。因此,应基于整个说明书中的术语和内容的实质含义来解释本说明书中使用的术语。
在本说明书中,一些术语可以解释如下。在一些情况下,编译可以解释为编码或解码。在本说明书中,通过执行视频信号的编码(编译)来生成视频信号比特流的装置被称为编码装置或编码器,并且执行视频信号比特流的解码(解码)以重构视频信号的装置被称为解码装置或解码器。另外,在本说明书中,视频信号处理装置被用作包括编码器和解码器两者的概念的术语。信息是包括所有值、参数、系数、元素等的术语。在一些情况下,含义被不同地解释,因此本公开不限于此。“单元”被用作指代图像处理的基本单位或图片的特定位置的含义,并且指代包括亮度分量和色度分量两者的图像区域。另外,“块”指代包括亮度分量和色度分量(即,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可以使用运动矢量和参考图片索引来获得当前块的参考块。参考块在与参考图片索引相对应的参考图片中。而且,由运动矢量指定的块的样本值或其内插值可以用作当前块的预测子(predictor)。对于具有子像素(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)模式。
在本公开的附加实施例中,可以附加地使用在第一角度范围之外的角度模式。作为实施例,第一角度范围之外的角度模式可以是图6的-14到-1或67到80中的角度模式。如上所述,扩展角度模式的数量可以根据当前块的大小和/或形状而改变,并且可以扩展到图6的80或-14的角度模式。例如,可以根据基于当前块的宽度和高度的比率的值来确定扩展角度的数量或扩展模式的索引。在实施例中,基于当前块的宽度和高度的比率的值可以是Abs(Log2(宽度/高度))。当前块可以是变换块。可替代地,当前块可以是CU或PU。
在下文中,参照图7描述根据本公开的实施例的帧间预测方法。在本公开中,帧间预测方法可以包括为平移运动优化的一般帧间预测方法和基于仿射模型的帧间预测方法。此外,运动矢量可以包括用于根据一般帧间预测方法的运动补偿的一般运动矢量和用于仿射补偿的控制点运动矢量中的至少一个。
图7图示了根据本公开的实施例的帧间预测方法。如上所述,解码器可以参考另一解码图片的重构样本来预测当前块。参照图7,解码器基于当前块701的运动信息集来获取参考图片720内的参考块702。在这种情况下,运动信息集可以包括参考图片索引和运动矢量(MV)。参考图片索引指示参考图片列表中,包括用于当前块的帧间预测的参考块的参考图片720。根据实施例,参考图片列表可以包括L0图片列表或L1图片列表中的至少一个。运动矢量指示当前图片710内的当前块701的坐标值与参考图片720内的参考块702的坐标值之间的偏移。解码器基于参考块702的样本值,获取当前块701的预测子并且使用预测子,重构当前块701。
具体地,编码器可以通过在具有较高恢复序列的图片中搜索与当前块相似的块来获取参考块。例如,编码器可以在预设搜索区域内搜索与当前块的样本值的差值之和最小的参考块。在这种情况下,为了测量当前块和参考块的样本之间的相似性,可以使用绝对差和(SAD)和哈达玛变换差和(SATD)中的至少一个。在此,SAD可以是通过将包括在两个块中的样本值的差的所有绝对值相加而获得的值。此外,SATD可以是通过将通过包括在两个块中的样本值的差的哈达玛变换获取的哈达玛变换系数的所有绝对值相加而获得的值。
同时,可以使用一个或多个参考区域来预测当前块。如上所述,可以使用两个或更多个参考区域,通过一对预测方法来帧间预测当前块。根据实施例,解码器可以基于当前块的两个运动信息集来获取两个参考块。进一步地,解码器可以基于两个所获取的参考块的样本值,获取当前块的第一预测子和第二预测子。此外,解码器可以使用第一预测子和第二预测子来重构当前块。例如,解码器可以基于第一预测子和第二预测子的每个样本的平均值来重构当前块。
如上所述,对于当前块的运动补偿,可以发信号告知一个或多个运动信息集。在这种情况下,可以使用用于多个块中的每一个的运动补偿的运动信息集之间的相似性。例如,可以由用于预测其他重构样本中的一个的运动信息集推导出用于预测当前块的运动信息集。为此,编码器和解码器可以减少信令开销。
例如,可能存在很可能基于与当前块的运动信息集相同或相似的运动信息集预测出的多个候选块。解码器可以基于多个候选块生成合并候选列表。在此,合并候选列表可以包括与在比当前块更早重构的样本之中,很可能已经根据与当前块的运动信息集相关的运动信息集预测出的样本相对应的候选。编码器和解码器可以根据预定义的规则,配置当前块的合并候选列表。在此,分别由编码器和解码器配置的合并候选列表可以相同。例如,编码器和解码器可以基于当前块在当前图片中的位置来配置当前块的合并候选列表。在本公开中,特定块的位置指示特定块的左上样本在包括该特定块的图片中的相对位置。
同时,为了提高编译效率,可以使用量化对残差信号进行变换获得的变换系数值并且对量化的变换系数进行编译,而不是原样编译上述残差的方法。如上所述,变换单元可以通过对残差信号进行变换来获得变换系数值。在这种情况下,特定块的残差信号可以分布在当前块的整个区域上。因此,可以通过残差信号的频域转换,将能量集中在低频区域中,从而提高编译效率。在下文中,将详细地描述变换或逆变换残差信号的方法。
图8是具体示出用于通过编码器变换残差信号的方法的图。如上所述,可以将空间域中的残差信号变换成频域。编码器可以通过变换所获得的残差信号来获得变换系数。首先,编码器可以获得包括用于当前块的残差信号的至少一个残差块。残差块可以是当前块,也可以是从当前块划分的块之一。在本公开中,残差块可以被称为残差阵列或残差矩阵,其包括当前块的残差样本。在本公开中,残差块可以表示变换单元或具有与变换块相同大小的块。
接下来,编码器可以通过使用变换核来变换残差块。用于变换残差块的变换核可以是具有垂直变换和水平变换的可分离特性的变换核。在这种情况下,可以将用于残差块的变换分别执行为垂直变换和水平变换。例如,编码器可以通过在残差块的垂直方向上应用变换核来执行垂直变换。编码器可以通过在残差块的水平方向上应用变换核来执行水平变换。在本公开中,变换核可以被用作指代用于残差信号的变换的参数集的术语,诸如变换矩阵、变换阵列、变换函数和变换。根据实施例,变换核可以是多个可用核中的任何一个。基于不同变换类型的变换核可以被用于垂直变换和水平变换中的每一个。
编码器可以将从残差块变换的变换块传递到量化单元,并且量化该变换块。变换块可以包括多个变换系数。具体地,变换块可以包括以二维排列的多个变换系数。与残差块的情况一样,变换块的大小可以与当前块或从当前块划分的块的大小相同。传递到量化单元的变换系数可以被表示为量化值。
编码器可以在对变换系数进行量化之前执行附加变换。如图8所示,上述变换方法可以被称为初次变换,以及附加变换可以被称为二次变换。对于每个残差块,二次变换是可选择的。根据实施例,编码器可以通过对仅通过初次变换难以将能量集中在低频区域中的区域执行二次变换来提高编译效率。例如,可以将二次变换添加到其中在除了残差块的水平或垂直方向外的方向中残差值显示出较大的块。与帧间预测块的残差值相比,帧内预测块的残差值在除了水平或垂直方向以外的方向上具有更高的变换概率。因此,编码器可以对帧内预测块的残差信号附加地执行二次变换。编码器可以省略用于帧间预测块的残差信号的二次变换。
作为另一示例,可以根据当前块或残差块的大小来确定是否执行二次变换。另外,可以根据当前块或残差块的大小,使用具有不同大小的变换核。例如,可以将8X8二次变换应用于宽度或高度中的较短边的长度等于或大于第一预配置的长度的块。此外,4X4二次变换可以应用于宽度或高度中的较短边的长度等于或大于第二预配置长度并且小于第一预配置长度的块。第一预配置长度可以大于第二预配置长度,但本公开不限于此。此外,与初次变换不同,二次变换可以不分为垂直变换和水平变换。这种二次变换可以被称为低频不可分离变换(LFNST)。
执行了频率变换,也不会减少高频带中的能量。因此,可能劣化归因于量化的压缩性能。当对残差值很少存在的区域执行变换时,可能会不必要地增加编码时间和解码时间。因此,可以省略对特定区域的残差信号的变换。可以通过与特定区域的变换有关的语法元素来确定是否对特定区域的残差信号执行变换。例如,语法元素可以包括变换跳过信息。变换跳过信息可以是变换跳过标志。如果关于残差块的变换跳过信息指示变换跳过,则不执行对残差块的变换。在这种情况下,编码器可以立即量化未对其执行相应区域的变换的残差信号。可以经由图1的变换单元,执行参考图8描述的编码器的操作。
上述变换相关语法元素可以是从视频信号比特流解析的信息。解码器可以对视频信号比特流进行熵解码,以便获得变换相关语法元素。编码器可以对变换相关语法元素进行熵编译,以便生成视频信号比特流。
图9是具体图示用于通过编码器和解码器,对变换系数进行逆变换来获得残差信号的方法的图。为了便于描述,将描述经由编码器和解码器中的每一个的逆变换单元执行逆变换操作。逆变换单元可以通过对逆量化的变换系数进行逆变换来获得残差信号。首先,逆变换单元可以从区域的变换相关语法元素中检测是否对特定区域执行逆变换。根据实施例,当用于特定变换块的变换相关语法元素指示变换跳过时,可以省略对变换块的变换。在这种情况下,可以省略上述关于变换块的初次逆变换和二次逆变换。可以将逆量化的变换系数用作残差信号。例如,解码器可以通过将逆量化的变换系数用作残差信号来重构当前块。
根据另一实施例,用于特定变换块的变换相关语法元素可以不指示变换跳过。在这种情况下,逆变换单元可以确定是否对二次变换执行二次逆变换。例如,当变换块是帧内预测块的变换块时,可以对变换块执行二次逆变换。可以基于与变换块相对应的帧内预测模式来确定用于变换块的二次变换核。作为另一示例,可以基于变换块的大小来确定是否执行二次逆变换。可以在逆量化之后并且在初次逆变换之前执行二次逆变换。
逆变换单元可以对逆量化的变换系数或二次逆变换的变换系数执行初次逆变换。在初次逆变换的情况下,与初次变换的情况一样,可以单独地执行垂直变换和水平变换。例如,逆变换单元可以通过对变换块执行垂直逆变换和水平逆变换来获得残差块。逆变换单元可以基于用于对变换块进行变换的变换核来对变换块进行逆变换。例如,编码器可以显式地或隐式地发信号告知指示多个可用变换核当中的被应用于当前变换块的变换核的信息。解码器可以通过使用指示发信号告知的变换核的信息,从多个可用变换核当中选择要用于变换块的逆变换的变换核。逆变换单元可以通过使用经由对变换系数进行逆变换而获得的残差信号来重构当前块。
图10是用于描述根据本公开的实施例的当前图片参考方法的图。如上所述,当对当前块执行预测时,编码器/解码器可以对参考图片内的块(即,参考图片内的参考块)进行参考。根据本公开的实施例,参考图片可以是包括当前块的图片,即当前图片。也就是说,当对当前块执行预测时,编码器/解码器可以参考当前图片内的块。在本公开中,通过参考当前图片内的块来执行预测的这种方法可以被称为当前图片参考(CPR)或帧内块复制(IBC)。在实施例中,当使用IBC时,即当将CPR应用于当前块时,当前图片可以是IBC预测的唯一参考图片。在这种情况下,编码器/解码器可以在不执行用于指示参考图片的信令/解析的情况下执行推断。
根据实施例,当应用IBC时,可能存在指示由当前块参考的参考块的运动矢量。根据实施例,当应用IBC时,可以限制参考块的位置。例如,可以基于当前块位置,将参考块的位置限制在一定范围内的区域。例如,参考块的位置可以限于包括当前块的编译树单元(CTU)(即,当前CTU)内的区域。可替代地,参考块的位置可以限于包括包含当前块的CTU的至少一部分的位置。根据本公开的实施例,通过限制参考块的位置,可以减少存储器负担并且可以提高压缩效率。
根据本公开的实施例,可以存在指示当前块是否使用IBC(或IBC是否被应用于当前块)的信令(或语法元素)。作为实施例,该信令可以是包括当前块的更大单元(或更高级别)中的信令。例如,可以在切片或贴片级发信号告知指示当前块是否使用IBC的语法元素。作为实施例,在当前块所参考的参考图片为当前图片时,可以使用IBC。可替代地,如果当前图片是唯一的参考图片,则编码器/解码器可以使用IBC。另外,如果当前块是不使用帧内预测的块,则可以使用IBC。即,例如,在对应于当前块的参考图片是当前图片时,如果不使用帧内预测,则可以使用IBC。作为实施例,可以定义指示当前图片是否为唯一参考图片的变量,并且例如可以将指示当前图片为唯一参考图片的变量表示为CurrPicIsOnlyRef。可替代地,使用IBC可以指示参考图片是当前图片。可替代地,使用IBC可以指示参考图片是当前图片并且不使用帧内预测。
根据本公开的实施例,当使用(或应用)IBC时,编码器/解码器可以通过使用前述合并模式、AMVP模式等,指示(或发信号告知)运动信息。当使用IBC时,可以将当前切片或贴片配置(或定义)为P切片或P贴片。当使用IBC时,指示使用双树的标志(或语法元素或变量)可以被配置为指示使用双树的值。在本公开中,双树可以是指对应于亮度分量的树和对应于色度分量的树可以是不同的树结构。
参考图10,可以存在由当前图片的实线表示的当前块,以及由虚线表示的参考块可以存在于当前图片中。在这种情况下,可能存在指示参考块位置的运动信息。参照图10,箭头可以表示指示参考块位置的运动信息。根据本公开的实施例,当使用IBC时,候选列表配置可以不同。例如,当使用IBC时,时间候选可能不包括在候选列表中。在实施例中,当使用IBC时,可以不缩放在附近参考的运动信息。
图11是图示根据本公开的实施例的配置合并候选列表的方法的图。根据实施例,使用IBC时的合并候选列表配置方法可以与不使用IBC时的合并候选列表配置方法不同。例如,在不使用IBC时可以添加到合并候选列表中的一部分候选在使用IBC时可能无法添加到合并候选列表中。作为实施例,当使用IBC时,可以不使用零运动矢量(MV)。这是因为当前图片中由零MV指示的参考块可以是当前块。作为实施例,当使用IBC时,可以不使用时间运动矢量(即,并置的MV)。这是因为当使用IBC时,可能不会参考当前图片以外的图片。
作为实施例,当使用IBC时,可以不使用HMVP候选或成对平均候选。作为实施例,当使用IBC时,可以使用基于HMVP候选或成对平均候选的候选。作为实施例,当使用IBC时,可以不使用子块合并模式。当使用IBC时,解码器可以在不解析指示是否应用子块合并模式的标志的情况下执行推断。
图12是图示根据本公开的实施例的编译单元语法结构的图。根据本公开的实施例,IBC可以作为独立的预测模式存在(或被定义)。即,上述帧内预测和帧间预测可以被分别表示为MODE_INTRA和MODE_INTER,并且可以定义不同于MODE_INTRA和MODE_INTER的MODE_IBC。如在前图中所示,MODE_INTRA、MODE_INTER和MODE_IBC可以由CuPredMode值表示。在此,CuPredMode是指示当前预测模式的变量。
参照图12,贴片组可以是比CU、CTU或PU更高级别的处理单元。根据本公开的实施例的贴片组可以是能够并行处理的单元。在本公开中,贴片组可以由切片或能够并行处理的不同的单元代替。双向预测(B)贴片组可以使用帧内预测、帧间预测、IBC等。B贴片组在块中可以使用多达两个运动矢量和多达两个参考索引。B贴片组在块中可以使用的一个或多个运动矢量和一个或多个参考索引。
在实施例中,帧内预测可以包括IBC预测。帧内预测可以是仅参考当前图片的预测方法。帧间预测可以是参考当前图片以外的图片作为参考图片的预测方法。预测(P)贴片组可以使用帧内预测、帧间预测、IBC预测等。P贴片组可以在块中使用多达一个运动矢量和多达一个参考索引。B贴片组在块中可以不使用两个或更多个运动矢量和两个或更多个参考索引。
帧内(I)贴片组指示可以使用帧内预测和IBC预测的贴片组(切片)。I贴片组可以不参考除当前图片之外的图片作为参考图片。
根据本公开的实施例,在S1201中,如果(tile_group_type!=I||sps_ibc_enabled_flag),则可能存在解析cu_skip_flag、pred_mode_flag和pred_mode_ibc_flag的可能性。即,如果不满足(tile_group_type!=I||sps_ibc_enabled_flag),解码器可能不会解析所有cu_skip_flag、pred_mode_flag和pred_mode_ibc_flag。在此,sps_ibc_enabled_flag可以是指示是否可以使用IBC的更高级别的信令(或语法元素)。如果将sps_ibc_enabled_flag配置为0,则可以不使用IBC,并且如果将sps_ibc_enabled_flag配置为1,则可以使用IBC。此外,cu_skip_flag表示指示是否使用跳过模式的语法元素。如果cu_skip_flag为1,则可以使用跳过模式。可以基于pred_mode_flag或pred_mode_ibc_flag来确定预测模式。即,可以基于pred_mode_flag或pred_mode_ibc_flag来确定当前模式是MODE_INTRA、MODE_INTER还是MODE_IBC。可替代地,可以基于pred_mode_flag或pred_mode_ibc_flag来确定CuPredMode值。
此外,tile_group_type可以指示贴片组类型。如上所述,贴片组类型可以包括I贴片组、P贴片组和B贴片组。此外,I、P和B的tile_group_type值可以分别指示I贴片组、P贴片组和B贴片组。如上所述,在本公开中,贴片组可以被称为切片或能够并行处理的不同的单元。
根据本公开的实施例,在S1203中,如果(cu_skip_flag[x0][y0]==0&&tile_group_type!=I),解码器可以解析pred_mode_flag。如果cu_skip_flag为1,则解码器可以不解析pred_mode_flag。如果tile_group_type为I,则解码器可以不解析pred_mode_flag。
根据本公开的实施例,在S1204中,如果((tile_group_type==I&&cu_skip_flag[x0][y0]==0)||(tile_group_type!=I&&(cu_skip_flag[x0][y0]||CuPredMode[x0][y0]!=MODE_INTRA))&&sps_ibc_enabled_flag&&blockSizeCondition),则解码器可以解析pred_mode_ibc_flag。例如,如果(tile_group_type==I&&cu_skip_flag[x0][y0]==0),则解码器可以解析pred_mode_ibc_flag。可替代地,如果(tile_group_type!=I&&(cu_skip_flag[x0][y0]||CuPredMode[x0][y0]!=MODE_INTRA)),则解码器可以解析pred_mode_ibc_flag。可替代地,如果既不(tile_group_type==I&&cu_skip_flag[x0][y0]==0)也不(tile_group_type!=I&&(cu_skip_flag[x0][y0]||CuPredMode[x0][y0]!=MODE_INTRA)),则解码器可以不解析pred_mode_ibc_flag。如果sps_ibc_enabled_flag为1,则解码器可以解析pred_mode_ibc_flag,以及如果sps_ibc_enabled_flag为0,则解码器可以不解析pred_mode_ibc_flag。可以预定义基于能够解析pred_mode_ibc_flag的块大小的条件。参考图12,作为示例,块大小条件可以被定义(或配置)为cbWidth和cbHeight两者的值都小于32的情况。在此,cbWidth是指示当前块(即编译单元或编译块)的宽度的变量,而cbHeight为指示当前块的高度的变量。
作为实施例,在S1205中,如果CuPredMode为MODE_INTRA,则解码器可以解析与帧内预测相关的语法元素。如果CuPredMode为MODE_INTRA,则解码器可以不解析与运动矢量相关的语法元素。如果CuPredMode不是MODE_INTRA,则解码器可以解析与帧间预测相关的语法元素。如果CuPredMode不是MODE_INTRA,则可以解析与IBC相关的语法元素。IBC相关语法元素可包括运动矢量相关语法元素。即,如果CuPredMode为MODE_IBC,则可以解析IBC相关的语法元素。IBC相关语法元素可以包括合并模式相关语法元素和AMVP相关语法元素。在IBC中,预测模式可能比MODE_INTER的情况更严格,并且要解析的语法元素的数量可能比MODE_INTER的情况少。例如,在MODE_IBC的情况下,解码器可以仅解析参考列表L0的语法元素。作为另一示例,在MODE_IBC的情况下,解码器可以不解析在merge_data语法结构中指示是否使用该模式的标志的一部分。如果CuPredMode不是MODE_INTRA,则解码器可以解析帧间预测相关的语法元素或者可以解析IBC相关的语法元素。如果解析了IBC相关的语法元素,则解码器可以不解析色度分量的语法元素。可替代地,如果CuPredMode不是MODE_INTRA,则解码器可以解析帧间预测相关语法元素,并且IBC相关语法元素的解析可以是treeType不是DUAL_TREE_CHROMA的情况。DUAL_TREE_CHROMA指示树类型为色度分量的双树。
在此,treeType是指示当前块(即,编译单元或编译块)的树类型的变量。即,treeType是指示当分割作为当前编译树节点的当前块时使用的树类型的变量。树类型可以包括双树或单树。在双树的情况下,treeType可以指示亮度分量的双树或色度分量的双树。
作为本公开的实施例,编码器/解码器可以基于treeType来确定(决定)要进行语法解析的分量(例如,亮度分量(块)或色度分量(块))或要处理的分量。如果treeType是SINGLE_TREE,则亮度分量和色度分量可以共享语法元素值。如果treeType是SINGLE_TREE,则可以以相同的方式(或以相同的结构)分割亮度块和色度块。如果treeType是DUAL_TREE,则可以以不同的方式分割亮度块和色度块。进一步地,DUAL_TREE的treeType可以包括DUAL_TREE_LUMA和DUAL_TREE_CHROMA。根据treeType是DUAL_TREE_LUMA还是DUAL_TREE_CHROMA,解码器可以确定(或决定)是处理亮度分量还是色度分量。
根据本公开的实施例,可以基于pred_mode_flag来确定当前编译单元的预测模式。可以基于pred_mode_flag来确定CuPredMode。可以基于pred_mode_flag来指示预测模式对应于帧间预测还是帧内预测。根据本公开的实施例,如果pred_mode_flag为0,则CuPredMode可以被配置为MODE_INTER。如果pred_mode_flag为1,则CuPredMode可以被配置为MODE_INTRA。根据实施例,pred_mode_flag可以指示当前CU是处于帧间预测模式还是帧内预测模式。
如果pred_mode_flag不存在,解码器可以推断pred_mode_flag或CuPredMode。如果pred_mode_flag不存在,则可以基于贴片组(或切片)的类型来推断pred_mode_flag或CuPredMode。例如,在I贴片组的情况下,解码器可以将CuPredMode推断为MODE_INTRA。在P贴片组或B贴片组的情况下,解码器可以将CuPredMode推断为MODE_INTER。
根据本公开的实施例,可以基于pred_mode_ibc_flag来确定当前编译单元的预测模式。可以基于pred_mode_ibc_flag来确定CuPredMode。编码器/解码器可以基于pred_mode_ibc_flag来指示预测模式是否是IBC模式。
在实施例中,如果pred_mode_ibc_flag为0,则CuPredMode可以被配置为MODE_INTER。如果pred_mode_ibc_flag为1,则CuPredMode可以被配置为MODE_IBC。如果pred_mode_ibc_flag为0,则CuPredMode可以被配置为MODE_IBC以外的值。
如果pred_mode_ibc_flag不存在,解码器可以推断pred_mode_ibc_flag或CuPredMode。如果pred_mode_ibc_flag不存在,则解码器可以基于贴片组(或切片)的类型来推断pred_mode_flag或CuPredMode。例如,在I贴片组的情况下,CuPredMode可以被推断为MODE_INTRA。在P贴片组或B贴片组的情况下,CuPredMode可以被推断为MODE_INTER。
根据本公开的实施例,当使用IBC时,编码器/解码器可以使用跳过模式。例如,当对I贴片组(或切片)使用IBC时,编码器/解码器可以使用跳过模式。例如,对于I贴片组,编码器/解码器可以将跳过模式用于使用IBC的CU。例如,可以假设I贴片组中的IBC模式和跳过模式的情况。在这种情况下,sps_ibc_enabled_flag可以是1。解码器可以解析cu_skip_flag。在此,cu_skip_flag的值可以是1(指示使用跳过模式的值)。如果cu_skip_flag为1,或者在I贴片组的情况下,解码器可以不解析pred_mode_flag。在这种情况下,关于I贴片组,解码器可以将CuPredMode推断为MODE_INTRA。在I贴片组的情况下,并且如果cu_skip_flag为1,则可以不解析pred_mode_ibc_flag。在这种情况下,对于I贴片组,解码器可以将CuPredMode推断为MODE_INTRA。因此,可能发生尽管使用IBC,CuPredMode可能不被表示为MODE_IBC的情况。
图13是图示根据本公开的实施例的编译单元语法结构的图。根据本公开的实施例,编码器/解码器可以不对色度分量使用IBC模式。具体来说,如果树类型为DUAL_TREE_CHROMA,则编码器/解码器可以不使用IBC模式。参考图13,在S1301中,如果treeType不是DUAL_TREE_CHROMA,则解码器可以解析pred_mode_ibc_flag。如果treeType是DUAL_TREE_CHROMA,则解码器可以不解析pred_mode_ibc_flag。根据实施例,如果treeType是DUAL_TREE_CHROMA,则解码器可以将CuPredMode推断为MODE_INTRA。
图14是图示根据本公开的实施例的编译单元语法结构的图。图14所示的编译单元语法例示了与帧内预测相关的语法。根据本公开的实施例,可以存在intra_chroma_pred_mode信令。在此,intra_chroma_pred_mode表示指示色度分量的帧内预测模式的语法元素。如下所述,intra_chroma_pred_mode可以是根据亮度分量的帧内预测模式,指示帧内预测模式表内的特定预测模式组合的索引,并且在本公开中,intra_chroma_pred_mode可以被称为色度帧内预测模式索引。
参考图14,在S1401中,如果treeType是SINGLE_TREE或DUAL_TREE_CHROMA,则解码器可以解析intra_chroma_pred_mode。如果treeType是DUAL_TREE_LUMA,解码器可以不解析intra_chroma_pred_mode。
图15是图示根据本公开的实施例的导出色度分量的帧内预测模式的方法的图。参照图15,在根据本公开的实施例的导出用于色度分量的帧内预测模式的过程中,当前色度编译块的左上样本位置以及当前色度编译块的宽度和高度可以是输入,以及在该过程中可以导出色度帧内预测模式。在图15中,IntraPredModeC指示用于色度分量的帧内预测模式。xCb和yCb可以表示基于亮度位置的色度编译块的左上样本。IntraPredModeY可以是用于亮度分量的帧内预测模式。
根据本公开的实施例,可以基于IntraPredModeY确定IntraPredModeC。可以基于IntraPredModeY和intra_chroma_pred_mode来确定IntraPredModeC。IntraPredModeY可以是对应于当前色度块的亮度块的帧内预测模式。根据实施例,可以预先配置对应于特定位置的IntraPredModeC的IntraPredModeY的使用位置。根据实施例,预先配置的位置可以是对应于当前色度块的中心位置的亮度块位置。例如,在导出位置(xCb,yCb)的IntraPredModeC时,编码器/解码器可以参考位置(xCb+cbWidth/2,yCb+cbHeight/2)的IntraPredModeY。可替代地,在导出位置(xCb,yCb)的IntraPredModeC时,预配置的位置可以是基于亮度位置(xCb,yCb)配置的位置。
根据本公开的实施例,可以参考下表1或表2确定根据IntraPredModeY的IntraPredModeC值。表1示出了当可能不能使用跨分量线性模型(CCLM)时(即如果sps_cclm_enalbed_flag为0)的色度帧内预测模式确定方法,以及表2示出了可以使用CCLM时(即,如果sps_cclm_enalbed_flag为1)的色度帧内预测模式确定方法。CCLM预测模式可以是基于另一颜色分量的值(例如,另一颜色分量的恢复值)获取预测样本的预测方法。可替代地,CCLM预测模式可以是基于颜色分量之间的线性模型获取预测样本的预测方法。
[表1]
Figure BDA0003219772900000321
[表2]
Figure BDA0003219772900000331
参考表1和表2,编码器/解码器可以参考根据预先配置的位置(例如色度编译块的右下中心亮度位置)的IntraPredModeY值的列,并且在该列中对应于intra_chroma_pred_mode的值可以是IntraPredModeC。例如,如果IntraPredModeY为1且intra_chroma_pred_mode为1,则IntraPredModeC可以为50。
根据实施例,sps_cclm_enalbed_flag可以是指示CCLM是否适用的更高级别的信令(或语法元素)。例如,如果sps_cclm_enalbed_flag为1,则CCLM可能适用。如果sps_cclm_enalbed_flag为0,则CCLM可能不适用。
在表2中,IntraPredModeC值81、82或83可以指示应用CCLM模式。当表1的sps_cclm_enabled_flag为0时的IntraPredModeC值4可以指示当前色度分量的预测模式对应于DM模式。当表2的sps_cclm_enabled_flag为1时的IntraPredModeC值7可以指示当前色度分量的预测模式对应于DM模式。
可以预定义发信号告知intra_chroma_pred_mode的bin串。例如,编码器/解码器可以通过使用具有最少比特的intra_chroma_pred_mode来指示DM模式。例如,编码器/解码器可以通过使用1比特的intra_chroma_pred_mode来指示DM模式。
根据实施例,如果sps_cclm_enalbed_flag为0,则编码器/解码器可以配置(或指配)指示intra_chroma_pred_mode值4、0、1、2和3的比特数逐渐增加或者可以将其配置为相同的值。根据实施例,如果sps_cclm_enalbed_flag为0,则可以将表示intra_chroma_pred_mode值4、0、1、2和3的空串分别配置(或指配)为0、100、101、110和111。
根据实施例,如果sps_cclm_enalbed_flag为1,则编码器/解码器可以配置(或指配)表示intra_chroma_pred_mode值7、4、5、6、0、1、2和3的比特数逐渐增加或者可以将其配置为相同的值。根据实施例,如果sps_cclm_enalbed_flag为1,则可以将表示intra_chroma_pred_mode值7、4、5、6、0、1、2和3的空串分别配置(或指配)为0、10、1110、1111、11000、11001、11010和11011。
根据前述实施例,可能存在色度块的帧内预测不容易的情况。特别地,可能存在不容易导出用于色度块的帧内预测模式的情况。如上所述,如果色度块对应于帧内预测,则为了确定帧内预测模式,可能需要参考用于相应亮度块的帧内预测模式。然而,可能发生相应亮度位置不使用帧内预测的情况,换言之,可能发生不是MODE_INTRA的情况。例如,如果亮度位置为MODE_IBC,则可能不存在相应的帧内预测模式。根据实施例,在SINGLE_TREE的情况下,相应亮度块和色度块可以使用相同的预测模式。在DUAL_TREE的情况下,相应亮度块和色度块可以使用不同的预测模式。在I贴片组的情况下,可以使用DUAL_TREE。在I贴片组的情况下,可以使用MODE_INTRA或MODE_IBC。因此,在相同位置(或相应位置)中,可能会存在DUAL_TREE_LUMA使用MODE_IBC以及DUAL_TREE_CHROMA使用MODE_INTRA的情况。
图16是图示根据本公开的实施例的导出色度分量的帧内预测模式的方法的图。图16的实施例可能涉及用于解决图15中描述的问题的方法。根据本公开的实施例,如果IntraPredModeY不存在,则可以将IntraPredModeY配置为预先配置的模式(或值)。换言之,如果色度分量的相应位置处的亮度分量的帧内预测模式不存在,则可以将用于导出色度分量的帧内预测模式的亮度帧内预测模式配置为预先配置的模式(或值)。因此,即使对应于色度块的亮度位置不使用帧内预测或使用IBC模式,也可以基于预先配置的值导出IntraPredModeC。
更具体地说,如果IntraPredModeY不存在,则可以将IntraPredModeY配置为平面模式(即值0或模式编号0)。在这种情况下,根据上表1和表2中描述的信令方法,编码器可以通过使用少量比特来将平面模式发信号告知解码器。
可替代地,如果IntraPredModeY不存在,则IntraPredModeY可以被配置为DC模式(即值1或模式编号1)。在这种情况下,根据上表1和表2中描述的信令方法,编码器可以通过使用少量比特来将DC模式发信号告知解码器。
可替代地,如果IntraPredModeY不存在,则IntraPredModeY可以被配置为垂直模式(即值50或模式编号50)。在这种情况下,根据上表1和表2中描述的信令方法,编码器可以通过使用少量比特来将垂直模式发信号告知解码器。
可替代地,如果IntraPredModeY不存在,则IntraPredModeY可以被配置为水平模式(即值18或模式编号18)。在这种情况下,根据上表1和表2中描述的信令方法,编码器可以通过使用少量比特来将水平模式发信号告知解码器。
作为另一个实施例,如果IntraPredModeY不存在,则可以将对应于intra_chroma_pred_mode值的IntraPredModeC值确定为上表1和表2中未示出的值。即,不存在IntraPredModeY值的列可以单独地存在。例如,对应于intra_chroma_pred_mode 4、0、1、2和3的IntraPredModeC可以分别为0、1、50和18。可替代地,对应于intra_chroma_pred_mode4、0、1、2、3的IntraPredModeC可以分别为0、50、18和1。这适用于sps_cclm_enabled_flag为0的情况和sps_cclm_enabled_flag为1的情况两者。
作为另一个实施例,如果IntraPredModeY不存在,则IntraPredModeC可以被配置为预先配置的值。例如,如果IntraPredModeY不存在,则IntraPredModeC可以被配置为预先配置的值,而与intra_chroma_pred_mode无关。如果IntraPredModeY不存在,可以总是使用0来发信号告知intra_chroma_pred_mode值。例如,如果IntraPredModeY不存在,则IntraPredModeC可以被配置为平面模式。可替代地,如果IntraPredModeY不存在,则IntraPredModeC可以被配置为CCLM。可替代地,如果IntraPredModeY不存在,则IntraPredModeC可以被配置为DM模式。如果IntraPredModeY不存在,则解码器可以不解析上文图14中描述的intra_chroma_pred_mode。
作为另一个实施例,如果IntraPredModeY不存在,则编码器/解码器可以改变参考IntraPredModeY的位置。
如上所述,在上述实施例中IntraPredModeY不存在的情况可以指示在导出色度帧内预测模式时参考的相应亮度位置不是MODE_INTRA的情况。即,IntraPredModeY不存在的情况可以指示当导出位置(xCb,yCb)的色度帧内预测模式时对应于亮度分量的CuPredMode[xCb+cbWidth/2][yCb+cbHeight/2]不是MODE_INTRA,或者为MODE_IBC的情况。
参考图16,在推导IntraPredModeC[xCb][yCb]时,如果IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]不存在(如果不是MODE_INTRA,或者如果是MODE_IBC),编码器/解码器可以将IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]配置为预先配置的值。可以参考所配置的IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]和上表1或表2导出IntraPredModeC。
在推导IntraPredModeC[xCb][yCb]时,如果存在IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2],编码器/解码器可以参考IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]和上表1或表2导出IntraPredModeC。
根据本公开的另一实施例,当预测色度块时,如果相应的亮度块使用IBC模式,则可能限制预测模式。更具体地,当对色度块进行帧内预测时,如果相应的亮度块使用IBC模式,则可能限制帧内预测模式。例如,在这种情况下,可能不使用DM模式。这是因为如果相应的亮度块和色度块使用不同的模式,则两者之间的相似度可能会降低。
根据本公开的实施例,可以根据帧内预测模式的预测模式索引来定义帧内预测模式的预测角度。在实施例中,可以如下表3所示,定义预测模式索引和角度之间的映射表。在本说明书中,帧内预测模式索引可以被称为模式索引、预测模式编号、模式编号等。
[表3]
predModeIntra -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 2 3 4 5 6 7 8
intraPredAngle 114 93 79 68 60 54 49 45 39 35 32 29 26 23 21 19 17
predModeIntra 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
intraPredAngle 15 13 11 9 7 5 3 2 1 0 -1 -2 -3 -5 -7 -9 -11
predModeIntra 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
intraPredAngle -13 -15 -17 -19 -21 -23 -26 -29 -32 -29 -26 -23 -21 -19 -17 -15 -13
predModeIntra 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
intraPredAngle -11 -9 -7 -5 -3 -2 -1 0 1 2 3 5 7 9 11 13 15
predModeIntra 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
intraPredAngle 17 19 21 23 26 29 32 35 39 45 49 54 60 68 79 93 114
在表3中,predModeIntra是指示帧内预测模式(或预测模式索引或预测模式编号)的参数(或变量)。在说明书中,predModeIntra可以被称为帧内预测模式。此外,intraPredAngle是指示帧内预测模式的角度(或预测角度)的参数(或变量)。在说明书中,intraPredAngle可以被称为预测角度。在实施例中,可以根据帧内预测模式确定预测角度。编码器/解码器可以基于预测角度来确定其相对于当前样本的哪个位置或角度将用于预测的参考样本。
根据本公开的实施例,表3可以指示与图6中描述的预测模式相关联的预测模式索引和角度参数之间的映射。根据实施例,表3的帧内预测模式可以指示要用于实际预测的预测模式的索引,该索引是从发信号告知的索引变换而来的。例如,如果相对于发信号告知的模式索引当前块是非正方形块,则可以经由以下过程应用变换。换言之,在实施例中,相对于其宽度和高度不同的非正方形块,可以将帧内预测模式修改为以下过程。
-A.如果满足所有下述条件,则可以将帧内预测模式(predModeIntra)配置为(predModeIntra(即发信号告知的模式索引)+65)。
-a.nTbW大于nTbH的情况
-b.帧内预测模式大于或等于2的情况
-c.帧内预测模式小于(whRatio>1)?12:8的情况
-B.否则,如果满足所有以下条件,则可以将帧内预测模式配置为(predModeIntra-67)。
-a.nTbH大于nTbW的情况
-b.帧内预测模式等于或小于66的情况
-c.帧内预测模式大于(whRatio>1)?56:60的情况
在上述过程中,nTbW表示当前处理块(编译块或变换块)的宽度,以及nTbH表示当前处理块的高度。whRatio是表示宽高比的变量。例如,whRatio可以被配置为Min(Abs(Log2(nTbW/nTbH),2)。A?B:C表示如果A为真,则导出B的值,而如果A为假,则导出C的值的运算。
根据本公开的实施例,可以根据帧内预测模式的预测模式索引来定义帧内预测模式的预测角度。在实施例中,如在下表4中所示,可以定义预测模式索引和角度之间的映射表。
[表4]
predModeIntra -14 -13 -12 -11 -10 -9 8 -7 -6 -5 -4 -3 -2 -1 2 3 4
intraPredAngle 512 341 256 171 128 102 86 73 64 57 51 45 39 35 32 29 26
predModeIntra 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
intraPredAngle 23 20 18 16 14 12 10 8 6 4 3 2 1 0 -1 -2 -3
predModeIntra 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
intraPredAngle -4 -6 -8 -10 -12 -14 -16 -18 -20 -23 -26 -29 -32 -29 -26 -23 -20
predModeIntra 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
intraPredAngle -18 -16 -14 -12 -10 -8 -6 -4 -3 -2 -1 0 1 2 3 4 6
predModeIntra 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
intraPredAngle 8 10 12 14 16 18 20 23 26 29 32 35 39 45 51 57 64
predModeIntra 73 74 75 76 77 78 79 80
intraPredAngle 73 86 102 128 171 256 341 512
在表4中,predModeIntra是指示帧内预测模式(或预测模式索引或预测模式编号)的参数(或变量)。在说明书中,predModeIntra可以被称为帧内预测模式。此外,intraPredAngle是指示帧内预测模式的角度(或预测角度)的参数(或变量)。在说明书中,intraPredAngle可以被称为预测角度。在实施例中,可以根据帧内预测模式确定预测角度。编码器/解码器可以基于预测角度来确定其相对于当前样本的哪个位置或角度将用于预测的参考样本。
根据本公开的实施例,表4可以指示与图6中描述的预测模式相关联的预测模式索引和角度参数之间的映射。根据实施例,表2的帧内预测模式可以指示要用于实际预测的预测模式的索引,该索引是从发信号告知的索引变换而来的。例如,如果相对于发信号告知的模式索引当前块是非正方形块,则可以经由以下过程应用变换。换言之,在实施例中,相对于其宽度和高度不同的非正方形块,可以将帧内预测模式修改为以下过程。
-A.如果满足所有下述条件,则wideAngles可以被配置为1,并且可以将帧内预测模式(predModeIntra)配置为(predModeIntra(即发信号告知的模式索引)+65)。
-a.nTbW大于nTbH的情况
-b.帧内预测模式大于或等于2的情况
-c.帧内预测模式小于(whRatio>1)?(8+2*whRatio):8的情况
-B.否则,如果满足所有以下条件,则wideAngles可以被配置为1,并且可以将帧内预测模式配置为(predModeIntra-67)。
-a.nTbH大于nTbW的情况
-b.帧内预测模式小于或等于66的情况
-c.帧内预测模式大于(whRatio>1)?(60-2*whRatio):60的情况
在上述过程中,nTbW表示当前处理块(编译块或变换块)的宽度,以及nTbH表示当前处理块的高度。whRatio是表示宽高比的变量(或参数)。例如,whRatio可以被配置为Min(Abs(Log2(nTbW/nTbH),2)。A?B:C表示如果A为真,则导出B的值,而如果A为假,则导出C的值的运算。WideAngle是指示是否将广角应用于当前块的变量(或参数)。
根据本公开的实施例,可以以下述方式,使用(或应用)表3和表4中描述的帧内预测角度。例如,可以基于预测角度导出作为逆角度参数的invAngle。更具体地说,可以将invAngle导出为Round(256*32/intraPredAngle)。编码器/解码器可以基于invAngle来生成参考样本阵列。编码器/解码器可以基于invAngle执行位置相关帧内预测样本过滤。可以基于帧内预测角度导出用于指定参考样本(或预测样本)的位置的变量iIdx和iFact的值。可以基于iIdx和iFact导出预测样本。可以基于ref、iIdx和iFact来导出预测样本。
在实施例中,编码器/解码器可以通过应用下述方法,基于帧内预测角度来生成预测样本。如果帧内预测模式大于或等于34,则可以基于下面的等式1导出索引变量iIdx和乘法因子iFact。
[公式1]
iIdx=((y+1+refIdx)*intraPredAngle)>>5+refIIx
iFact=((y+1+refIdx)*intraPredAngle)&31
在等式1中,refIdx可以是指示用于帧内预测的参考样本线的索引。可以如在以下等式2中,导出预测样本。
[公式2]
predSamples[×][y]=Clip1Y(((求和{i为从0到3}(fT[i]*ref[×+iIdx+i]))+32)>>6)
在实施例中,如果cIdx为0(即,如果当前分量是亮度分量),则可以执行根据等式2的预测样本推导。在等式2中,fT可以是插值滤波器系数。此外,求和{i为从x到y}(eq(i))表示在i从x变成y时,相加eq(i)的值的运算。运算Clip1Y可以具有与下面等式3相同的含义。
[公式3]
Clip1Y(x)=Clip3(0,(1<<BitDepthY)-1,x)
Clip1C(x)=Clip3(0,(1<<BitDepthC)-1,x)
Clip3(x,y,z)在z<x时可以是x,当z>y时可以是y,否则可以是z。
可以根据以下过程导出预测样本。
-如果iFact不为0,则可以根据下面的等式4导出指示预测样本值的predSamples[x][y]。
[公式4]
predSamples[x][y]=((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5
否则,可以根据下面的等式5导出指示预测样本值的predSamples[x][y]。
[公式5]
predSamples[x][y]=ref[x+iIdx+1]
在实施例中,如果cIdx不为0(即,如果当前分量是色度分量),则可以执行通过等式4和5的推导。如果帧内预测模式小于34,则可以基于下面的等式6导出索引变量iIdx和乘法因子iFact。
[公式6]
iIdx=((x+1+refIdx)*intraPredAngle)>>5
iFact=((x+1+refIdx)*intraPredAngle)&31
在等式6中,refIdx可以是指示用于帧内预测的参考样本线的索引。可以如在以下等式7中导出预测样本。
[公式7]
predSamples[x][y]=Clip1Y(((求和{i为从0到3}(fT[i]*ref[y+iIdx+i]))+32)>>6)
在实施例中,如果cIdx为0(即,如果当前分量是亮度分量),则可以执行根据等式7的预测样本推导。在等式2中,fT可以是插值滤波器系数。此外,求和{i为从x到y}(eq(i))表示在i从x变成y时,相加eq(i)的值的运算。
可以根据以下过程导出预测样本。
-如果iFact不为0,则可以根据下面的等式8导出指示预测样本值的predSamples[x][y]。
[公式8]
predSamples[x][y]=((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5
否则,可以根据下面的等式9导出指示预测样本值的predSamples[x][y]。
[公式9]
predSamples[x][y]=ref[y+iIdx+1]
在实施例中,如果cIdx不为0(即,如果当前分量是色度分量),则可以执行通过等式8和9的推导。
对比上述表3和表4,与表3相比,表4中增加了-14到-11和77到80的帧内预测模式。在表3和表4中,可以对相同的帧内预测模式确定不同的帧内预测角度值。例如,参考表3和表4,可以在-10至-4、6至14、22至30、38至46、54至62和70至76的帧内预测模式中不同地定义(或配置)帧内预测角度值。
下表5图示了更具体地表示上述实施例的预测样本推导过程。
[表5]
Figure BDA0003219772900000431
Figure BDA0003219772900000441
Figure BDA0003219772900000442
Figure BDA0003219772900000451
在表5中,p[x][y]可以指示相邻的参考样本。当前块的左上坐标可以定义为(0,0)。参考表5,编码器/解码器可以根据表5所示的过程导出当前块的预测样本。编码器/解码器可以根据当前块的帧内预测模式应用不同的推导方法。具体地,编码器/解码器可以基于当前块的预测模式,导出参考样本阵列(可以被称为主参考样本),以及可以基于所导出的参考样本,导出当前块的预测样本。在这种情况下,可以应用上面等式1至9中所述的方法。
图17是图示根据本公开的实施例的帧内预测模式导出方法的图。参照图17,IntraPredModeY可以是指示帧内预测模式的值。例如,IntraPredModeY可以是指示亮度帧内预测模式的值。根据本公开的实施例,可以存在从模式列表中导出IntraPredModeY的方法。在另一个实施例中,可以存在从未包括在模式列表中的模式导出IntraPredModeY的方法。在本公开中,模式列表可以被称为MPM列表、候选列表和候选模式列表。例如,模式列表可以是指示图17的候选模式列表的变量candModeList。根据实施例,可以存在一个或多个模式列表。模式列表中包括的模式的数量可以是一个或多个。
根据本公开的实施例,可以基于最可能模式(MPM)标志来不同地配置(或定义)导出帧内预测模式的方法。在此,最可能模式(MPM)指示从与当前块相邻的帧内预测块导出当前块的帧内预测模式的模式。最可能模式(MPM)标志指示表示是否使用MPM对当前块的帧内预测模式进行编码的标志(或语法元素)。在本公开中,MPM标志可以被表示为intra_luma_mpm_flag。例如,如果MPM标志为1,则可以从模式列表中导出IntraPredModeY,如上所述。可替代地,如果MPM标志为0,则可以从未包括在模式列表中的模式导出IntraPredModeY,如上所述。
在实施例中,如果MPM标志为1,则可以基于发信号告知的索引来配置IntraPredModeY。例如,如果MPM标志为1,则可以基于发信号告知的索引和模式列表来配置IntraPredModeY。更具体地说,参考图17,如果MPM标志为1,则可以将IntraPredModeY配置为candModeList[intra_luma_mpm_idx]。
在本公开和附图中,参数(或变量)值或语法元素值可以基于坐标或位置,其中,如果参数或语法元素值对应于当前块,则可以省略其标记。例如,[xCb][yCb]可以指示图17中的当前块的位置,但当在本发明中提供描述时可以省略。
作为实施例,如果MPM标志为0,则可以执行候选模式列表重新排列和IntraPredModeY配置。重新排列前的候选模式列表可以是MPM列表。重新排列可以是候选模式列表值的重新排列。例如,当重新排列前的候选模式列表为candModeList[0]=a_0、candModeList[1]=a_1、candModeList[2]=a_2...和candModeList[N-1]=a_{N-1}时,a_0、a_1、a_2、...和a_{N-1}可以被排列并分配给candModeList[0]、candModeList[1]、candModeList[2]、...和candModeList[N-1]。在此,可以按升序或降序执行排列。例如,当a_0、a_1、a_2...和a_{N-1}按升序排列时,排列可能会导致b_0、b_1、b_2...和b_{N-1},并且可以执行配置为candModeList[0]=b_0、candModeList[1]=b_1、candModeList[2]=b_2、...和candModeList[N-1]=b_{N-1}。由图17的(1.)指示的部分可以对应于候选模式列表的重新排列。例如,可以从i=0到N-1定义candModeList[i]。在这种情况下,相对于从0到(N-2)的i和对每个i从(i+1)到(N-1)的j,如果candModeList[i]大于candModeList[j],可以交换candModeList[i]和candModeList[j]的值。交换运算可以被表示为(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])。Swap(x,y)的结果可以是(y,x)。
因此,(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])的运算可能会使在执行运算前分别为a和b的candModeList[i]和candModeList[j],在执行运算后成为分别为b和a的candModeList[i]和candModeList[j]。参考图17,N可以是6。在candModeList[i]中,i可以被配置为从0到5。
IntraPredModeY的配置可以基于intra_luma_mpm_remainder值。参考图17,可以基于intra_luma_mpm_remainder来配置IntraPredModeY。可以跟随有基于候选模式列表对IntraPredModeY的修改。例如,相对于从0到N-1的i,如果IntraPredModeY大于或等于candModeList[i],则可以使IntraPredModeY加1。作为相加的结果而生成的基于IntraPredModeY的值可以被用于帧内预测模式。例如,可以在本公开中描述的IntraPredModeY推导之后执行广角确定和模式修改过程。
参照图17,该过程可以是在由图17的(2.)指示的部分中执行的过程。在i可以被配置为从0到5的情况下,如果相对于0到5的i,IntraPredModeY大于或等于candModeList[i],则candModeList[i]可以使IntraPredModeY加1。可能需要对IntraPredModeY进行上述修改,因为如果MPM标志为0,则使用除模式列表中包括的模式之外的模式中的intra_luma_mpm_remainder来执行信令。例如,这是因为,在candModeList[0]=0、candModeList[1]=3、candModeList[2]=1、candModeList[3]=5、candModeList[4]=33和candModeList[5]=65的情况下,当候选模式列表中包括的值被发信号告知时,MPM标志可以为1,以及当MPM标志为0时,IntraPredModeY的可能值可以是2,4,6,...,32,34,...,64,66等。在这种情况下,当用0来发信号告知intra_luma_mpm_remainder时,这可以指示IntraPredModeY 2。
图18是图示根据本公开的实施例的MPM列表配置方法的图。MPM列表可以是候选模式列表。根据本公开的实施例,可以基于candIntraPredModeX配置MPM列表。例如,可能有多个candIntraPredModeX。例如,candIntraPredModeX可以是candIntraPredModeA和candIntraPredModeB。例如,candIntraPredModeX可以是对应于当前块周围的位置的IntraPredModeY。可替代地,candIntraPredModeX指示预先配置的模式。例如,candIntraPredModeX可以是INTRA_PLANAR。INTRA_PLANAR可以是对应于模式索引(或模式编号)0的值。INTRA_DC可以是对应于模式索引(或模式编号)1的值。参考图18,INTRA_PLANAR和INTRA_DC分别被指示为平面和DC。
根据本公开的实施例,候选模式列表可以始终包括特定值。候选模式列表中的特定值的位置可以是固定的。例如,候选模式列表可以总是包括INTRA_PLANAR。INTRA_PLANAR可以总是位于候选模式列表的最前面。作为另一示例,候选模式列表可以总是包括INTRA_DC。
图18示出了简化的MPM列表配置方法。根据实施例,candIntraPredModeA和candIntraPredModeB可以是分别对应于当前块周围的左侧和上侧的IntraPredModeY。例如,candIntraPredModeA可以是IntraPredModeY[xCb-1][yCb+cbHeight-1]。例如,candIntraPredModeB可以是IntraPredModeY[xCb+cbWidth-1][yCb-1]。[xCb][yCb]可以是对应于当前块的坐标。更具体地,[xCb][yCb]可以是对应于当前块的左上的坐标。进一步地,cbWidth和cbHeight可以分别为当前块的宽度和高度。如上所述,candIntraPredModeA和candIntraPredModeB可以被配置为预先配置的值。
根据实施例,MPM列表配置方法可以基于candIntraPredModeA和candIntraPredModeB是相同还是不同而改变。MPM列表配置方法可以根据candIntraPredModeA和candIntraPredModeB是否为角度模式而改变。角度模式可能不包括INTRA_PLANAR和INTRA_DC。角度模式可以是除了INTRA_PLANAR和INTRA_DC之外的任何值。与角度模式相对应的值可以大于INTRA_PLANAR和INTRA_DC值。INTRA_PLANAR和INTRA_DC可以被称为非角度模式。
如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA为角度模式,则可以如下确定候选模式列表。
-candModeList[0]=INTRA_PLANAR
-candModeList[1]=candIntraPredModeA
-candModeList[2]=2+((candIntraPredModeA+61)%64)
-candModeList[3]=2+((candIntraPredModeA-1)%64)
-candModeList[4]=INTRA_DC
-candModeList[5]=2+((candIntraPredModeA+60)%64)
在此,%可以代表模运算。
如果candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA或candIntraPredModeB为角度模式,则可以如下确定候选模式列表。
-minAB=Min(candIntraPredModeA,candIntraPredModeB)
-maxAB=Max(candIntraPredModeA,candIntraPredModeB)
如果candIntraPredModeA和candIntraPredModeB两者都是角度模式,则可以如下确定候选模式列表。即,当结合上述条件时,candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA和candIntraPredModeB都是角度模式。
-candModeList[0]=INTRA_PLANAR
-candModeList[1]=candIntraPredModeA
-candModeList[2]=candIntraPredModeB
-candModeList[3]=INTRA_DC
如果maxAB-minAB在2到62(含2和62)的范围中:
-candModeList[4]=2+((maxAB+61)%64)
-candModeList[5]=2+((maxAB-1)%64)
如果maxAB-minAB不在2到62(含2和62)的范围内:
-candModeList[4]=2+((maxAB+60)%64)
-candModeList[5]=2+((maxAB)%64)
如果candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA或candIntraPredModeB为角度模式,则可以如下确定候选模式列表。
-minAB=Min(candIntraPredModeA,candIntraPredModeB)
-maxAB=Max(candIntraPredModeA,candIntraPredModeB)
如果candIntraPredModeA和candIntraPredModeB中只有一个是角度模式,则可以如下确定候选模式列表。即,当结合上述条件时,candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA和candIntraPredModeB中只有一个是角度模式。
-candModeList[0]=INTRA_PLANAR
-candModeList[1]=maxAB
-candModeList[2]=INTRA_DC
-candModeList[3]=2+((maxAB+61)%64)
-candModeList[4]=2+((maxAB-1)%64)
-candModeList[5]=2+((maxAB+60)%64)
在其他情况下,可以如下确定候选模式列表。即,1)如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA为非角度模式,或者2)如果candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA和candIntraPredModeB两者都是非角度,可以如下确定候选模式列表。
-candModeList[0]=INTRA_PLANAR
-candModeList[1]=INTRA_DC
-candModeList[2]=INTRA_ANGULAR50
-candModeList[3]=INTRA_ANGULAR18
-candModeList[4]=INTRA_ANGULAR46
-candModeList[5]=INTRA_ANGULAR54
在此,INTRA_ANGULARxx可以是对应于模式索引(或模式编号)xx的值。
图19是图示根据本公开的实施例的帧内预测模式的推导的图。图17中描述的模式导出方法可以包括冗余操作。例如,当使用图18中描述的MPM列表配置方法时,图17中描述的模式导出方法可以包括冗余操作。在对本公开的实施例的描述中,将省略与图17重复的描述。
作为实施例,如果MPM标志为0,则可以执行候选模式列表重新排列和IntraPredModeY配置。重新排列前的候选模式列表可以是MPM列表。重新排列可以是候选模式列表值的重新排列。当执行候选模式列表重新排列时,如果candModeList[i]大于candModeList[j],则可以交换candModeList[i]和candModeList[j]的值。交换运算可以被表示为(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])。Swap(x,y)的结果可以是(y,x)。因此,(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])的运算可能会使在执行运算前分别为a和b的candModeList[i]和candModeList[j],在执行运算后变为分别为b和a的candModeList[i]和candModeList[j]。
根据本公开的实施例,可以仅对候选模式列表中的一些,而不是对所有候选模式列表执行重新排列。即,当对从0到N-1的i定义candModeList[i]时,可以仅对比N少的候选模式列表而不是对所有候选模式列表执行重新排列。可以预先配置不执行重新排列的候选模式列表。例如,不对其执行重新排列的候选模式列表可以与MPM列表配置中取决于情况而改变的配置方法中的存在于相同位置处的模式索引相关。例如,可以只对排除candModeList[0]后剩余的候选模式列表执行重新排列。例如,当对于i=0到N-1定义candModeList[i]时,如果相对于从0到(N-2)的i和对每个i从(i+1)到(N-1)的j,candModeList[i]大于candModeList[j],可以交换candModeList[i]和candModeList[j]的值。
这可能是因为无论是否对candModeList[0]执行重新排列,都获得了相同的结果。例如,如图18所述,candModeList[0]可以总是INTRA_PLANAR,在这种情况下,candModeList[0]可以总是具有最小值。
参考图19,在图19的(1.)所示的部分中,执行候选模式列表重新排列。例如,N可以是6。在candModeList[i]中,i可以定义为0到5。即候选模式列表可以总共有6个元素。在这种情况下,相对于从1到4的i和对于每个i从(i+1)到5的j,如果candModeList[i]大于candModeList[j],则可以交换candModeList[i]和candModeList[j]的值。交换操作可以被表示为(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])。
IntraPredModeY配置可以基于intra_luma_mpm_remainder值。参考图19,可以基于intra_luma_mpm_remainder来配置IntraPredModeY。随后可以修改IntraPredModeY。在这种情况下,可以包括不基于候选模式列表的对IntraPredModeY的修改,以及基于候选模式列表的对IntraPredModeY的修改。
根据实施例,intra_luma_mpm_remainder可以是语法元素。此外,intra_luma_mpm_remainder可以是当指示不包括在MPM列表中的模式时发信号告知的值。例如,intra_luma_mpm_remainder可以是当MPM标志为0时发信号告知的值。在intra_luma_mpm_remainder中,小于帧内模式总数的值可以是最大值。例如,在intra_luma_mpm_remainder中,((信令范围内的帧内模式总数)-(MPM列表中的元素数)-1)可以具有最大值。例如,(信令范围内的帧内模式总数)可以是67。例如,(MPM列表中的元素的数量)可以是6。例如,intra_luma_mpm_remainder的最大值可以是60。
根据本公开的实施例,IntraPredModeY的修改可以包括在不基于候选模式列表的情况下执行预先配置的修改。例如,IntraPredModeY的修改可以包括向IntraPredModeY添加预先配置的值。参考图19的(ii.)指示的部分,通过使IntraPredModeY加2获得的值可以被配置为IntraPredModeY。
根据本公开的实施例,修改IntraPredModeY可以包括基于候选模式列表修改IntraPredModeY。例如,将IntraPredModeY与candModeList[i]进行比较,如果满足条件,则可以执行IntraPredModeY的修改。根据本公开的实施例,当执行与candModeList[i]的比较并且修改IntraPredModeY时,可以仅对一些候选模式列表而不是对所有候选模式列表执行比较和修改。即,当对从0到N-1的i定义candModeList[i]时,可以只对比N少的候选模式列表而不是对所有的候选模式列表执行比较和修改。可以预先配置不执行比较和修改的候选模式列表。例如,可以不对其执行比较和修改的候选模式列表可能与MPM列表配置中取决于情况而改变的配置方法中将包括在几种情况中的模式索引相关。例如,可以仅对排除candModeList[0]或candModeList[1]后剩余的候选模式列表执行与IntraPredModeY的比较和IntraPredModeY的修改。
例如,当从i=0到N-1定义candModeList[i]时,可以相对于具有大于0的值到(N-1)的值的i,执行与IntraPredModeY的比较和IntraPredModeY的修改。例如,当从i=0到N-1定义candModeList[i]时,可以相对于从2到(N-1)的i,执行与IntraPredModeY的比较和IntraPredModeY的修改。
例如,比较和修改可以如下。例如,如果IntraPredModeY大于或等于candModeList[i],则可以执行IntraPredModeY的修改。例如,如果IntraPredModeY大于或等于candModeList[i],则可以使IntraPredModeY值加1。
参考由图19的(iii.)指示的部分,如果相对于为2到5的i,IntraPredModeY大于或等于candModeList[i],则可以使IntraPredModeY增加1。这是因为候选模式列表可能总是包括某些模式索引。这也是因为在重新排列的候选模式列表中的某个位置处可能存在固定模式索引。例如,在重新排列的候选模式列表中,candModeList[0]可能总是INTRA_PLANAR,并且candModeList[1]可能总是INTRA_DC。
根据本公开的实施例,在IntraPredModeY的修改中,在不基于候选模式列表执行的预先配置的修改期间的预先配置的值可以与基于候选模式列表执行的IntraPredModeY的修改期间从比较目标中排除的候选模式列表的数量相关联。例如,如果在基于候选模式列表执行的IntraPredModeY的修改期间,从比较目标排除所有候选模式列表中的M个,则在不基于候选模式列表执行的预先配置的修改期间的预先配置的值可以是M或更大。更具体地,例如,如果在基于候选模式列表执行的IntraPredModeY的修改期间,从比较目标中排除所有候选模式列表
中的M个,则在不基于候选模式列表执行的预先配置的修改期间的预
先配置的值可以是M。例如,M可以是2。
因此,参照图19,IntraPredModeY的修改可以如下。IntraPredModeY值可以被配置为intra_luma_mpm_remainder值。可以使IntraPredModeY值增加2。相对于为2到5(含2和5)的i,当IntraPredModeY大于或等于candModeList[i]时,可以使IntraPredModeY增加1。
图19示出了当MPM标志为0时,执行候选模式列表的重新排列和IntraPredModeY的修改。然而,作为稍后将在图20至图22中提供的描述,如果存在平面标志,或者在通过划分预先配置的模式、候选模式列表中包括的模式以及其他模式来执行信令的情况下,当推导其他模式时可以使用图19的实施例中描述的方法。平面标志指示表示帧内预测模式是否为平面模式的标志(或语法元素),并且在本公开中可以被表示为planar_flag。
图20是图示根据本公开的实施例的MPM列表配置方法的图。根据本公开的实施例,INTRA_PLANAR可以由平面标志指示。平面标志可以是不同于上述MPM标志的信令(或语法元素)。根据本公开的实施例,预先配置的模式可以不总是被包括在MPM列表,即,候选模式列表中。根据本公开的实施例,INTRA_PLANAR可以不总是被包括在MPM列表,即,候选模式列表中。
MPM列表可以是候选模式列表。根据本公开的实施例,可以基于candIntraPredModeX配置MPM列表。例如,可能有多个candIntraPredModeX。例如,candIntraPredModeX可以是candIntraPredModeA和candIntraPredModeB。例如,candIntraPredModeX可以是对应于当前块周围位置的IntraPredModeY。可替代地,candIntraPredModeX可以指示预先配置的模式。例如,candIntraPredModeX可以是INTRA_PLANAR。INTRA_PLANAR可以是对应于模式索引0的值。INTRA_DC可以是对应于模式索引1的值。参考图20,INTRA_PLANAR和INTRA_DC可以分别被表示为平面和DC。
根据本公开的实施例,候选模式列表可以总是包括特定值。候选模式列表中的特定值的位置可以是固定的。例如,候选模式列表可以总是包括INTRA_DC。
图20示出了简化的MPM列表配置方法。根据实施例,candIntraPredModeA和candIntraPredModeB可以是分别对应于当前块周围的左侧和上侧的IntraPredModeY。例如,candIntraPredModeA可以是IntraPredModeY[xCb-1][yCb+cbHeight-1]。例如,candIntraPredModeB可以是IntraPredModeY[xCb+cbWidth-1][yCb-1]。[xCb][yCb]可以是对应于当前块的坐标。更具体地,[xCb][yCb]可以是对应于当前块的左上的坐标。进一步地,cbWidth和cbHeight可以分别为当前块的宽度和高度。如上所述,candIntraPredModeA和candIntraPredModeB可能被配置为预先配置的值。
根据实施例,MPM列表配置方法可以基于candIntraPredModeA和candIntraPredModeB是相同还是不同而改变。MPM列表配置方法可以根据candIntraPredModeA和candIntraPredModeB是否为角度模式而改变。角度模式可以不包括INTRA_PLANAR和INTRA_DC。角度模式可以是除INTRA_PLANAR和INTRA_DC之外的任何值。与角度模式相对应的值可以大于INTRA_PLANAR和INTRA_DC值。INTRA_PLANAR和INTRA_DC可以被称为非角度模式。
如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA为角度模式,则可以如下确定候选模式列表。
-candModeList[0]=candIntraPredModeA
-candModeList[1]=2+((candIntraPredModeA+61)%64)
-candModeList[2]=2+((candIntraPredModeA-1)%64)
-candModeList[3]=INTRA_DC
-candModeList[4]=2+((candIntraPredModeA+60)%64)
在此,%可以代表模运算。
如果candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA或candIntraPredModeB为角度模式,则可以如下确定候选模式列表。
-minAB=Min(candIntraPredModeA,candIntraPredModeB)
-maxAB=Max(candIntraPredModeA,candIntraPredModeB)
如果candIntraPredModeA和candIntraPredModeB两者都是角度模式,则可以如下确定候选模式列表。即,当结合上述条件时,candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA和candIntraPredModeB都是角度模式。
-candModeList[0]=candIntraPredModeA
-candModeList[1]=candIntraPredModeB
-candModeList[2]=INTRA_DC
如果maxAB-minAB在2到62(含2和62)的范围中
-candModeList[3]=2+((maxAB+61)%64)
-candModeList[4]=2+((maxAB-1)%64)
如果maxAB-minAB不在2到62(含2和62)的范围内:
-candModeList[3]=2+((maxAB+60)%64)
-candModeList[4]=2+((maxAB)%64)
如果candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA或candIntraPredModeB为角度模式,则可以如下确定候选模式列表。
-minAB=Min(candIntraPredModeA,candIntraPredModeB)
-maxAB=Max(candIntraPredModeA,candIntraPredModeB)
如果candIntraPredModeA和candIntraPredModeB中只有一个是角度模式,则可以如下确定候选模式列表。即,当结合上述条件时,candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA和candIntraPredModeB中只有一个是角度模式。
-candModeList[0]=maxAB
-candModeList[1]=INTRA_DC
-candModeList[2]=2+((maxAB+61)%64)
-candModeList[3]=2+((maxAB-1)%64)
-candModeList[4]=2+((maxAB+60)%64)
在其他情况下,可以如下确定候选模式列表。即,1)如果candIntraPredModeA和candIntraPredModeB相同,并且candIntraPredModeA为非角度模式,或者2)如果candIntraPredModeA和candIntraPredModeB不相同,并且candIntraPredModeA和candIntraPredModeB两者都是非角度,可以如下确定候选模式列表。
-candModeList[0]=INTRA_DC
-candModeList[1]=INTRA_ANGULAR50
-candModeList[2]=INTRA_ANGULAR18
-candModeList[3]=INTRA_ANGULAR46
-candModeList[4]=INTRA_ANGULAR54
在此,INTRA_ANGULARxx可以是对应于模式索引(或模式编号)xx的值。
图21是图示根据本公开的实施例的帧内预测模式导出方法的图。
如图20所示,可以存在由平面标志指示的预先配置的模式,可以存在包括在候选模式列表中的模式,并且可以存在其他模式。根据本公开的实施例,如果平面标志为1,则IntraPredModeY可以被配置为预先配置的模式。参考图21,如果平面标志为1,则IntraPredModeY可以被配置为INTRA_PLANAR。
根据本公开的实施例,为了指示包括在候选模式列表中的模式,可以参考MPM标志。如果MPM标志为1,则IntraPredModeY可以被配置为candModeList[intra_luma_mpm_idx]。参考图21,如果平面标志为0且MPM标志为1,则IntraPredModeY可以被配置为candModeList[intra_luma_mpm_idx]。
根据本公开的实施例,可以使用平面标志和MPM标志的组合来确定IntraPredModeY是预先配置的模式、候选模式列表中包括的模式还是其他模式。例如,如果平面标志为1,则IntraPredModeY可以是预先配置的模式。如果平面标志为0且MPM标志为1,则IntraPredModeY可以是候选模式列表中包括的模式。如果平面标志为0且MPM标志为0,则IntraPredModeY可以是其他模式。
根据本公开的另一实施例,可以使用平面标志和MPM标志的组合来确定IntraPredModeY是预先配置的模式、候选模式列表中包括的模式还是其他模式。例如,如果平面标志为1且MPM标志为1,则IntraPredModeY可以是预先配置的模式。如果平面标志为0且MPM标志为1,则IntraPredModeY可以是候选模式列表中包括的模式。如果MPM标志为0,则IntraPredModeY可以是其他模式。
如下所述,可以推导在其他模式的情况下的帧内预测模式。
如图20所示,候选模式列表中的元素数量可以是五个。候选模式列表可能并不总是包括INTRA_PLANAR。候选模式列表可能总是包括INTRA_DC。在本实施例中,可以省略与图17至图20重复的描述。
作为实施例,如果指示其他模式,则可以执行候选模式列表重新排列和IntraPredModeY配置。重新排列前的候选模式列表可以是MPM列表。重新排列可以是候选模式列表值的重新排列。例如,当重新排列前的候选模式列表为candModeList[0]=a_0、candModeList[1]=a_1、candModeList[2]=a_2、...和candModeList[N-1]=a_{N-1}时,a_0、a_1、a_2、...和a_{N-1}可以被排列并输入到candModeList[0]、candModeList[1]、candModeList[2]...和candModeList[N-1]。在此,可以按升序或降序执行排列。例如,当按升序排列a_0、a_1、a_2...和a_{N-1}时,排列可能会导致b_0、b_1、b_2...和b_{N-1},并且可以执行配置为candModeList[0]=b_0、candModeList[1]=b_1、candModeList[2]=b_2...和candModeList[N-1]=b_{N-1}。
由图21的(1.)指示的部分可以对应于候选模式列表的重新排列。例如,可以从i=0到N-1定义candModeList[i]。在这种情况下,相对于从0到(N-2)的i和对于每个i从(i+1)到(N-1)的j,如果candModeList[i]大于candModeList[j],可以交换candModeList[i]和candModeList[j]的值。交换运算可以被表示为(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])。Swap(x,y)的结果可以是(y,x)。因此,(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])的运算可能会使在执行运算前分别为a和b的candModeList[i]和candModeList[j],在执行运算后变为分别为b和a的candModeList[i]和candModeList[j]。参考图21,N可以是5。在candModeList[i]中,i可以被配置为0到4。
参考图21,在图21的(1.)指示的部分中,可以执行候选模式列表重新排列。例如,在candModeList[i]中,i可以定义为0到4。即候选模式列表可以总共有5个元素。在这种情况下,相对于从0到3的i和对于每个i从(i+1)到4的j,如果candModeList[i]大于candModeList[j],则可以交换candModeList[i]和candModeList[j]的值。交换运算可以被表示为(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])。
IntraPredModeY配置可以基于intra_luma_mpm_remainder值。参考图21,可以基于intra_luma_mpm_remainder来配置IntraPredModeY。随后可以修改IntraPredModeY。在这种情况下,可以包括不基于候选模式列表的对IntraPredModeY的修改,以及基于候选模式列表的对IntraPredModeY的修改。
根据实施例,intra_luma_mpm_remainder可以是语法元素。此外,intra_luma_mpm_remainder可以是当指示其他模式时发信号告知的值。例如,intra_luma_mpm_remainder可以是当MPM标志为0时发信号告知的值。可替代地,intra_luma_mpm_remainder可以是当平面标志和MPM标志都为0时发信号告知的值。在intra_luma_mpm_remainder中,小于帧内模式总数的值可以是最大值。例如,在intra_luma_mpm_remainder中,((信令范围内的帧内模式总数)-(预先配置的模式的数量)-(MPM列表元素的数量)-1)可以具有最大值。例如,(信令范围内的帧内模式总数)可以是67。例如,(预先配置的模式的数量)可以是1。例如,(MPM列表元素的数量)可以是5。例如,intra_luma_mpm_remainder的最大值可以是60。
根据本公开的实施例,IntraPredModeY的修改可以包括在不基于候选模式列表的情况下执行预先配置的修改。例如,IntraPredModeY的修改可以包括向IntraPredModeY添加预先配置的值。参考图21的(ii.)指示的部分,通过使IntraPredModeY加1获得的值可以被配置为IntraPredModeY。这可能是因为与属于候选模式列表的模式分开地发信号告知预先配置的模式。
根据本公开的实施例,修改IntraPredModeY可以包括基于候选模式列表修改IntraPredModeY。例如,相对于从0到N-1的i,如果IntraPredModeY大于或等于candModeList[i],则可以使IntraPredModeY加1。作为相加的结果而生成的基于IntraPredModeY的值可以被用于帧内预测模式。例如,可以在本公开中描述的IntraPredModeY推导之后执行广角确定和模式修改过程。参照图21,该过程可以是在由图21的(iii.)指示的部分中执行的过程。例如,N可以是5。在i可以被配置为0到4的情况下,如果相对于0到4的i,IntraPredModeY大于或等于candModeList[i],则candModeList[i]可以使IntraPredModeY加1。可能需要对IntraPredModeY的上述修改,因为如果MPM标志为0,则使用除模式列表中包括的模式之外的模式中的intra_luma_mpm_remainder来执行信令。例如,这是因为,在candModeList[0]=64、candModeList[1]=3、candModeList[2]=1、candModeList[3]=5、candModeList[4]=33的情况下,当发信号告知包括在候选模式列表中的值时,MPM标志或平面标志可以为1,并且当发信号告知除预先配置的模式和属于候选模式列表的模式以外的模式时,IntraPredModeY的可能值为2,4,6,...,32,34,...,63,65,66等等。在这种情况下,当用0发信号告知intra_luma_mpm_remainder时,这可以指示IntraPredModeY 2。
图22是图示根据本公开的实施例的帧内预测模式推导方法的图。如图22所示,可以存在由平面标志指示的预先配置的模式,可以存在包括在候选模式列表中的模式,并且可以存在其他模式。根据本公开的实施例,如果平面标志为1,则IntraPredModeY可以被配置为预先配置的模式。参考图22,如果平面标志为1,则IntraPredModeY可以被配置为INTRA_PLANAR。
根据本公开的实施例,为了指示包括在候选模式列表中的模式,可以参考MPM标志。如果MPM标志为1,则IntraPredModeY可以被配置为candModeList[intra_luma_mpm_idx]。参考图15,如果平面标志为0且MPM标志为1,则IntraPredModeY可以被配置为candModeList[intra_luma_mpm_idx]。
根据本公开的实施例,可以使用平面标志和MPM标志的组合来确定IntraPredModeY是预先配置的模式、候选模式列表中包括的模式还是其他模式。例如,如果平面标志为1,则IntraPredModeY可以是预先配置的模式。如果平面标志为0且MPM标志为1,则IntraPredModeY可以是候选模式列表中包括的模式。如果平面标志为0且MPM标志为0,则IntraPredModeY可以是其他模式。
根据本公开的另一实施例,可以使用平面标志和MPM标志的组合来确定IntraPredModeY是预先配置的模式、候选模式列表中包括的模式还是其他模式。例如,如果平面标志为1且MPM标志为1,则IntraPredModeY可以是预先配置的模式。如果平面标志为0且MPM标志为1,则IntraPredModeY可以是候选模式列表中包括的模式。如果MPM标志为0,则IntraPredModeY可以是其他模式。
如下所述,可以推导在其他模式的情况下的帧内预测模式。
如图22所述,候选模式列表中的元素数量可以是五个。候选模式列表可能并不总是包括INTRA_PLANAR。候选模式列表可以总是包括INTRA_DC。
在本实施例中,可以省略与图17至图21重复的描述。
作为实施例,如果指示其他模式,则可以执行候选模式列表重新排列和IntraPredModeY配置。本实施例中,重新排列的描述可以参见图21。
参考图21,在图21的(1.)指示的部分中,可以执行候选模式列表重新排列。例如,在candModeList[i]中,i可以被定义为0到4,即,候选模式列表总共可以有5个元素。在这种情况下,相对于从0到3的i和对于每个i从(i+1)到4的j,如果candModeList[i]大于candModeList[j],则可以交换candModeList[i]和candModeList[j]的值。交换运算可以被表示为(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j])。
图21中描述的模式导出方法可以包括冗余操作。例如,当使用图18或图22中描述的MPM列表配置方法时,图21中描述的模式导出方法可以包括冗余操作。
IntraPredModeY配置可以基于intra_luma_mpm_remainder值。参考图21,可以基于intra_luma_mpm_remainder来配置IntraPredModeY。随后可以修改IntraPredModeY。在这种情况下,可以包括不基于候选模式列表的IntraPredModeY修改以及基于候选模式列表的IntraPredModeY的修改。根据实施例,intra_luma_mpm_remainder可以是语法元素,其描述可以参考图21。
根据本公开的实施例,IntraPredModeY的修改可以包括在不基于候选模式列表的情况下执行预先配置的修改。例如,IntraPredModeY的修改可以包括使IntraPredModeY增加预先配置的值。参考图22的(ii.)指示的部分,通过使IntraPredModeY值加2获得的值可以被配置为IntraPredModeY。
根据本公开的实施例,修改IntraPredModeY可以包括基于候选模式列表修改IntraPredModeY。例如,将IntraPredModeY与candModeList[i]进行比较,如果满足条件,则可以执行IntraPredModeY的修改。根据本公开的实施例,当执行与candModeList[i]的比较并且修改IntraPredModeY时,可以仅对一些候选模式列表而不是对所有候选模式列表执行比较和修改。即,当对从0到N-1的i定义candModeList[i]时,可以只对比N少的候选模式列表而不是对所有的候选模式列表执行比较和修改。可以预先配置不执行比较和修改的候选模式列表。例如,可以不对其执行比较和修改的候选模式列表可能与MPM列表配置中取决于情况而改变的配置方法中将包括在几种情况中的模式索引相关。例如,可以仅对排除candModeList[0]后剩余的候选模式列表执行与IntraPredModeY的比较和IntraPredModeY的修改。
例如,当从i=0到N-1定义candModeList[i]时,可以相对于具有大于0的值到(N-1)的值的i,执行与IntraPredModeY的比较和IntraPredModeY的修改。例如,当从i=0到N-1定义candModeList[i]时,可以相对于从1到(N-1)的i,执行与IntraPredModeY的比较和IntraPredModeY的修改。
例如,比较和修改可以如下。例如,如果IntraPredModeY大于或等于candModeList[i],则可以执行IntraPredModeY的修改。例如,如果IntraPredModeY大于或等于candModeList[i],则可以使IntraPredModeY值加1。
参考由图22的(iii.)指示的部分,如果相对于为1到4的i,IntraPredModeY大于或等于candModeList[i],则可以使IntraPredModeY增加1。这是因为候选模式列表可能总是包括某些模式索引。这也是因为在重新排列的候选模式列表中的某个位置处可能存在固定模式索引。例如,这是因为在重新排列的候选模式列表中,candModeList[0]可能总是INTRA_DC。
根据本公开的实施例,在IntraPredModeY的修改中,在不基于候选模式列表执行的预先配置的修改期间的预先配置的值可以与基于候选模式列表执行的IntraPredModeY的修改期间从比较目标中排除的候选模式列表的数量相关联。例如,如果在基于候选模式列表执行的IntraPredModeY的修改期间,从比较目标排除所有候选模式列表中的M个,则在不基于候选模式列表执行的预先配置的修改期间的预先配置的值可以是M或更大。更具体地,例如,如果在基于候选模式列表执行的IntraPredModeY的修改期间。从比较目标中排除所有候选模式列表
中的M个,则在不基于候选模式列表执行的预先配置的修改期间的预
先配置的值可以大于M。例如,M可以是1。
在IntraPredModeY的修改中,在不基于候选模式列表的情况下执行的预先配置的修改中,可以关联预先配置的值和预先配置的模式的数量。例如,如果预先配置的模式的数量为L,则在不基于候选模式列表执行的预先配置的修改中,预先配置的值可能为L或更大。更具体地,例如,如果预先配置的模式的数量为L,则在不基于候选模式列表执行的预先配置的修改中,预先配置的值可以大于L。例如,L可以是1。
因此,参照图22,IntraPredModeY的修改可以如下。IntraPredModeY值可以被配置为intra_luma_mpm_remainder值。IntraPredModeY值可以增加2。相对于为1到4(含1和4)的i,当IntraPredModeY大于或等于candModeList[i]时,IntraPredModeY可以增加1。
图23是图示根据本公开的实施例的视频信号处理方法的流程图。参照图23,为了便于说明,主要基于解码器提供描述,但本公开不限于此。此外,可以以基本相同的方式,将根据本公开的实施例的视频信号处理方法应用于编码器。
解码器检查当前色度块的树类型(S2301)。
解码器基于预先配置的位置的亮度帧内预测模式导出当前色度块的色度帧内预测模式(S2302)。
解码器基于色度帧内预测模式生成当前色度块的预测块(S2303)。
解码器通过将当前色度块的残差块与预测块相加来重构当前色度块(S2304)。
提供了一种视频信号处理方法,其中,当预先配置的位置的亮度预测模式为帧内块复制模式时,将亮度帧内预测模式配置为预先配置的模式。
如上所述,色度帧内预测模式的导出可以包括根据亮度帧内预测模式,获取其中模式索引指示预先配置的映射表内的当前色度帧内预测模式的第一语法元素。
如上所述,预先配置的位置可以是当前色度块的右下中心样本位置的亮度位置。
如上所述,预先配置的模式可以是帧内DC模式。
如上所述,当当前色度块的树类型为双树时,可以将指示是否将帧内块复制模式应用于当前色度块的第二语法元素推断为预先配置的值,而无需被解析。
如上所述,当预先配置的值可以为0并且其树类型是双树时,可以不将帧内块复制模式应用于当前色度块。
可以通过各种手段来实现本发明的上述实施例。例如,可以通过硬件、固件、软件或其组合来实现本发明的实施例。
对于通过硬件实现的情况,可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等中的一个或多个来实现根据本发明的实施例的方法。
在通过固件或软件实现的情况下,可以以执行上述功能或操作的模块、过程或函数的形式来实现根据本发明的实施例的方法。可以将软件代码存储在存储器中并由处理器驱动。存储器可以位于处理器内部或外部,并且可以通过各种已知的方式与处理器交换数据。
还可以以诸如由计算机执行的程序模块的包括计算机可执行指令的记录介质的形式来实现某些实施例。计算机可读介质可以是可由计算机访问的任何可用介质,并且可以包括所有易失性、非易失性、可移除和不可移除的介质。另外,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的方法或技术实现的所有易失性、非易失性、可移动和不可移动介质。通常,通信介质包括计算机可读指令、调制数据信号的其他数据(诸如数据结构或程序模块)或其他传输机制,并且包括任何信息传输介质。
本发明的上述描述仅用于说明目的,并且将会理解,本发明所属的本领域的普通技术人员可以在不改变本发明的技术思想或者基本特征的情况下对本发明进行改变,并且本发明可以以其他特定形式容易地被修改。因此,上述实施例是说明性的,并且在所有方面均不受限制。例如,被描述为单个实体的每个组件可以被分布和实现,并且同样,被描述为被分布的组件也可以以关联的方式被实现。
本发明的范围由所附权利要求书而不是上述详细描述来限定,并且从所附权利要求书的含义和范围及其等效物导出的所有改变或修改都应解释为包括在本发明的范围内。
工业适用性
为了说明的目的,公开本公开的上述优选实施例,并且本领域技术人员可以在下文所附权利要求中提供的本公开的技术精神和技术范围内,改进、改变、替换或增加各种其他实施例。

Claims (14)

1.一种视频信号处理方法,包括:
识别当前色度块的树类型;
基于预先配置的位置的亮度帧内预测模式,导出所述当前色度块的色度帧内预测模式;
基于所述色度帧内预测模式,生成所述当前色度块的预测块;以及
通过将所述当前色度块的残差块与所述预测块相加来重构所述当前色度块,
其中,当所述预先配置的位置的亮度预测模式为帧内块复制模式时,所述亮度帧内预测模式被配置为预先配置的模式。
2.根据权利要求1所述的方法,
其中,导出所述色度帧内预测模式包括根据所述亮度帧内预测模式,获取其中模式索引指示在预先配置的映射表内的当前色度帧内预测模式的第一语法元素。
3.根据权利要求1所述的方法,
其中,所述预先配置的位置是所述当前色度块的右下中心样本位置的亮度位置。
4.根据权利要求1所述的方法,
其中,所述预先配置的模式是帧内DC模式。
5.根据权利要求1所述的方法,
其中,当所述当前色度块的树类型为双树时,指示是否对所述当前色度块应用帧内块复制模式的第二语法元素被推断为预先配置的值而不被解析。
6.根据权利要求5所述的方法,
其中,所述预先配置的值是0,
其中,对其树类型为双树的所述当前色度块不应用帧内块复制模式。
7.一种包括处理器的视频信号处理设备,
其中,所述处理器被配置为:
识别当前色度块的树类型;
当所述当前色度块的树类型为双树时,基于预先配置的位置的亮度帧内预测模式,导出所述当前色度块的色度帧内预测模式;
基于所述色度帧内预测模式,生成所述当前色度块的预测块;以及
通过将所述当前色度块的残差块与所述预测块相加来重构所述当前色度块,
其中,当所述预先配置的位置的亮度预测模式为帧内块复制模式时,所述亮度帧内预测模式被配置为预先配置的模式。
8.根据权利要求7所述的方法,
其中,所述处理器被配置为根据所述亮度帧内预测模式,获取其中模式索引指示在预先配置的映射表内的当前色度帧内预测模式的第一语法元素。
9.根据权利要求7所述的方法,
其中,所述预先配置的位置是所述当前色度块的右下中心样本位置的亮度位置。
10.根据权利要求7所述的方法,
其中,所述预先配置的模式是帧内DC模式。
11.根据权利要求7所述的方法,
其中,当所述当前色度块的树类型为双树时,指示是否对所述当前色度块应用帧内块复制模式的第二语法元素被推断为预先配置的值而不被解析。
12.根据权利要求11所述的设备,
其中,所述预先配置的值是0,以及对其树类型为双树的所述当前色度块不应用帧内块复制模式。
13.一种视频信号处理方法,包括:
确定当前色度块的树类型;
基于预先配置的位置的亮度帧内预测模式,确定所述当前色度块的色度帧内预测模式;
基于所述色度帧内预测模式,生成所述当前色度块的预测块;以及
通过从原始块中减去所述预测块来导出所述当前色度块的残差块,
其中,如果预先配置的位置的亮度预测模式为帧内块复制模式,则所述亮度帧内预测模式被配置为预先配置的模式。
14.一种非暂时性计算机可读介质(计算机可执行组件),其中,存储了被配置为由计算设备的一个或多个处理器执行的计算机可执行组件,所述计算机可执行组件被配置为:
识别当前色度块的树类型;
基于预先配置的位置的亮度帧内预测模式,导出所述当前色度块的色度帧内预测模式;
基于所述色度帧内预测模式,生成所述当前色度块的预测块;以及
通过将所述当前色度块的残差块与所述预测块相加来重构所述当前色度块,
其中,当所述预先配置的位置的亮度预测模式为帧内块复制模式时,所述亮度帧内预测模式被配置为预先配置的模式。
CN202080015505.9A 2019-02-19 2020-02-19 基于帧内预测的视频信号处理方法和设备 Pending CN113454992A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2019-0019512 2019-02-19
KR20190019512 2019-02-19
KR20190039132 2019-04-03
KR10-2019-0039132 2019-04-03
PCT/KR2020/095004 WO2020171681A1 (ko) 2019-02-19 2020-02-19 인트라 예측 기반 비디오 신호 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
CN113454992A true CN113454992A (zh) 2021-09-28

Family

ID=72145125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080015505.9A Pending CN113454992A (zh) 2019-02-19 2020-02-19 基于帧内预测的视频信号处理方法和设备

Country Status (5)

Country Link
US (1) US20210400279A1 (zh)
JP (2) JP7399973B2 (zh)
KR (1) KR20210119429A (zh)
CN (1) CN113454992A (zh)
WO (1) WO2020171681A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020173399A1 (en) * 2019-02-25 2020-09-03 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods using intra mode coding for intra prediction
JP7332721B2 (ja) * 2019-05-25 2023-08-23 北京字節跳動網絡技術有限公司 イントラブロックコピー符号化ブロックにおけるブロックベクトルの符号化
KR20220024764A (ko) * 2019-07-19 2022-03-03 엘지전자 주식회사 Ibc를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021060827A1 (ko) * 2019-09-23 2021-04-01 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012121535A2 (ko) * 2011-03-06 2012-09-13 엘지전자 주식회사 휘도 샘플을 이용한 색차 블록의 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
US20140314142A1 (en) * 2011-11-04 2014-10-23 Infobridge Pte. Ltd. Apparatus of decoding video data
CN105409218A (zh) * 2013-04-08 2016-03-16 Ge视频压缩有限责任公司 分量间预测
KR20160072181A (ko) * 2013-10-14 2016-06-22 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩 및 디코딩을 위한 인트라 블록 카피 예측 모드의 피쳐
KR20160129075A (ko) * 2014-03-04 2016-11-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 인트라 블록 카피 예측에서의 스킵 모드 및 블록 플립핑
WO2018062950A1 (ko) * 2016-09-30 2018-04-05 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
WO2018064948A1 (en) * 2016-10-04 2018-04-12 Mediatek Inc. Method and apparatus for intra chroma coding in image and video coding
US20180255295A1 (en) * 2015-09-11 2018-09-06 Kt Corporation Method and device for processing video signal
CN108712650A (zh) * 2012-06-29 2018-10-26 韩国电子通信研究院 视频解码方法、视频编码方法和计算机可读介质
US20180332283A1 (en) * 2017-05-09 2018-11-15 Futurewei Technologies, Inc. Coding Chroma Samples In Video Compression
US20180352224A1 (en) * 2011-06-23 2018-12-06 JVC Kenwood Corporation Picture coding device, picture coding method, picture coding program

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE063103T2 (hu) * 2010-11-04 2023-12-28 Ge Video Compression Llc Blokk összefûzést és átugrási módot támogató képkódolás
AU2012277220B2 (en) * 2011-06-30 2016-08-11 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
EP4354856A2 (en) 2014-06-19 2024-04-17 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
CN116614641A (zh) * 2016-07-12 2023-08-18 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
US10715800B2 (en) 2016-09-16 2020-07-14 Sony Corporation Image processing apparatus and image processing method
WO2018116925A1 (ja) 2016-12-21 2018-06-28 シャープ株式会社 イントラ予測画像生成装置、画像復号装置、および画像符号化装置
US10848788B2 (en) * 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
US11418803B2 (en) * 2018-04-01 2022-08-16 Lg Electronics Inc. Intra-prediction-based image coding method and device therefor
US10448025B1 (en) 2018-05-11 2019-10-15 Tencent America LLC Method and apparatus for video coding
KR20200033210A (ko) * 2018-09-19 2020-03-27 한국전자통신연구원 화면 내 예측 모드 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012121535A2 (ko) * 2011-03-06 2012-09-13 엘지전자 주식회사 휘도 샘플을 이용한 색차 블록의 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
US20180352224A1 (en) * 2011-06-23 2018-12-06 JVC Kenwood Corporation Picture coding device, picture coding method, picture coding program
US20140314142A1 (en) * 2011-11-04 2014-10-23 Infobridge Pte. Ltd. Apparatus of decoding video data
CN108712650A (zh) * 2012-06-29 2018-10-26 韩国电子通信研究院 视频解码方法、视频编码方法和计算机可读介质
CN105409218A (zh) * 2013-04-08 2016-03-16 Ge视频压缩有限责任公司 分量间预测
KR20160072181A (ko) * 2013-10-14 2016-06-22 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩 및 디코딩을 위한 인트라 블록 카피 예측 모드의 피쳐
KR20160129075A (ko) * 2014-03-04 2016-11-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 인트라 블록 카피 예측에서의 스킵 모드 및 블록 플립핑
US20180255295A1 (en) * 2015-09-11 2018-09-06 Kt Corporation Method and device for processing video signal
WO2018062950A1 (ko) * 2016-09-30 2018-04-05 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
WO2018064948A1 (en) * 2016-10-04 2018-04-12 Mediatek Inc. Method and apparatus for intra chroma coding in image and video coding
US20180332283A1 (en) * 2017-05-09 2018-11-15 Futurewei Technologies, Inc. Coding Chroma Samples In Video Compression

Also Published As

Publication number Publication date
US20210400279A1 (en) 2021-12-23
KR20210119429A (ko) 2021-10-05
JP7399973B2 (ja) 2023-12-18
JP2022521911A (ja) 2022-04-13
JP2024026277A (ja) 2024-02-28
WO2020171681A1 (ko) 2020-08-27

Similar Documents

Publication Publication Date Title
CN112823515B (zh) 使用用于多参考线的mpm配置方法处理视频信号的方法和设备
CN112840654B (zh) 使用多假设预测的视频信号处理方法和装置
CN110719470B (zh) 视频编码的块尺寸限制
KR102388221B1 (ko) 팔레트 기반 비디오 코딩에서의 예측자 팔레트 초기화
CN113785566A (zh) 基于帧内预测处理视频信号的方法和设备
KR20220012393A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN114128266A (zh) 视频信号处理方法和设备
CN113196780A (zh) 使用多变换核处理视频信号的方法和设备
CN111919449A (zh) 使用运动补偿的视频信号处理方法及设备
CN112237001A (zh) 使用自适应运动矢量分辨率的视频信号处理方法及装置
EP4002847A1 (en) Method and device for processing video signal
CN113454992A (zh) 基于帧内预测的视频信号处理方法和设备
KR102625145B1 (ko) 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치
US20210377519A1 (en) Intra prediction-based video signal processing method and device
CN112823526B (zh) 通过使用交叉分量线性模型来处理视频信号的方法和设备
KR20210084567A (ko) 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치
CN114208205A (zh) 视频信号处理方法和设备
CN110730349B (zh) 用于微块的约束
KR20230003061A (ko) 모션 정밀 신택스을 위한 엔트로피 코딩
CN113228636A (zh) 使用当前图片参考的视频信号处理方法和设备
CN117915085A (zh) 用于编码或解码视频信号的视频信号处理方法和设备
CN117939122A (zh) 用于编码或解码视频信号的视频信号处理方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220825

Address after: Gyeonggi Do, South Korea

Applicant after: HUMAX Co.,Ltd.

Address before: Gyeonggi Do, South Korea

Applicant before: WILUS INSTITUTE OF STANDARDS AND TECHNOLOGY Inc.

Applicant before: HUMAX Co.,Ltd.