CN114938449B - 帧内预测方法、图像编码方法、图像解码方法及装置 - Google Patents

帧内预测方法、图像编码方法、图像解码方法及装置 Download PDF

Info

Publication number
CN114938449B
CN114938449B CN202210855366.1A CN202210855366A CN114938449B CN 114938449 B CN114938449 B CN 114938449B CN 202210855366 A CN202210855366 A CN 202210855366A CN 114938449 B CN114938449 B CN 114938449B
Authority
CN
China
Prior art keywords
current block
intra
region
block
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210855366.1A
Other languages
English (en)
Other versions
CN114938449A (zh
Inventor
江东
林聚财
彭双
方诚
殷俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202210855366.1A priority Critical patent/CN114938449B/zh
Publication of CN114938449A publication Critical patent/CN114938449A/zh
Application granted granted Critical
Publication of CN114938449B publication Critical patent/CN114938449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

Landscapes

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

Abstract

本申请公开了一种帧内预测方法、图像编码方法、图像解码方法及装置。其中,该帧内预测方法包括:将当前块的模板候选范围划分为多个子区域;从多个子区域中选取至少一个子区域作为当前块的模板区域;计算模板区域中至少部分像素的梯度角度;基于至少部分像素的梯度角度,从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式;基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块。本申请可以提高压缩效率。

Description

帧内预测方法、图像编码方法、图像解码方法及装置
技术领域
本申请涉及图像编解码技术领域,特别是涉及一种帧内预测方法、图像编码方法、图像解码方法及装置。
背景技术
由于视频图像数据量比较大,通常需要对其进行编码压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。
整个视频编码流程包括预测、变换、量化、熵编码等过程。其中预测分为帧内预测和帧内预测两部分。帧内预测用的是相邻像素的强相关性来对图像进行压缩。本申请的发明人在长期的研发过程中,发现目前帧内预测方法还存在一定的局限性,也在一定程度上影响了压缩效率。
发明内容
本申请提供一种帧内预测方法、图像编码方法、图像解码方法及装置,可以提高压缩效率。
为达到上述目的,本申请提供一种帧内预测方法,该方法包括:
将当前块的模板候选范围划分为多个子区域;
从多个子区域中选取至少一个子区域作为当前块的模板区域;
计算模板区域中至少部分像素的梯度角度;
基于至少部分像素的梯度角度,从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式;
基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块。
其中,从多个子区域中选取至少一个子区域作为当前块的模板区域,包括:
基于当前块的尺寸,从多个子区域中选取至少一个子区域作为当前块的模板区域。
其中,基于当前块的尺寸,从多个子区域中选取至少一个子区域作为当前块的模板区域,包括:
若当前块的宽度大于高度,则将当前块的第一方向上的至少一个子区域作为当前块的模板区域;
若当前块的高度大于宽度,则将当前块的第二方向上的至少一个子区域作为当前块的模板区域。
其中,从多个子区域中选取至少一个子区域作为当前块的模板区域,包括:
计算每个区域组合的代价,其中,区域组合是由多个子区域中的至少一个子区域组成的;
将代价最小的区域组合作为当前块的模板区域。
其中,至少部分像素包括模板区域中的K个相邻像素集合,其中,K个相邻像素集合中的第N相邻像素集合由模板区域中的至少一个第N相邻像素构成,第N相邻像素与当前块之间相隔N-1个像素,K为正整数,N为正整数。
其中,至少部分像素包含的相邻像素集合个数与当前块的尺寸相对应。
其中,K个相邻像素集合至少包括第二相邻像素集合和第三相邻像素集合;
在当前块的尺寸大于或等于预定尺寸的情况下,统计像素包括模板区域中的第二相邻像素集合;
在当前块的尺寸小于预定尺寸的情况下,统计像素包括模板区域中的第二相邻像素集合和第三相邻像素集合。
其中,基于至少部分像素的梯度角度,从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式,包括:
计算模板区域中至少部分像素的梯度幅值;
计算出每个梯度角度对应的角度帧内预测模式的梯度幅值累加值;
基于梯度幅值累加值,从所有角度帧内预测模式中选取至少一个角度帧内预测模式。
其中,
至少一个角度帧内预测模式为梯度幅值累加值较高的至少一个角度帧内预测模式。
其中,计算模板区域中至少部分像素的梯度幅值,以及计算模板区域中至少部分像素的梯度角度,包括:
利用sobel算子、差分算子、Roberts算子或Prewitt算子,计算至少部分像素中每一像素的水平梯度和垂直梯度;
基于每一像素的水平梯度和垂直梯度,计算出模板区域中至少部分像素的梯度幅值和梯度角度。
其中,基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块,包括:
至少一个角度帧内预测模式中角度帧内预测模式的数量大于或等于二,将当前块的至少一个角度帧内预测模式的预测值进行加权融合;或,
将当前块的至少一个角度帧内预测模式的预测值、与当前块的至少一个预定帧内预测模式的预测值进行加权融合;
其中,至少一个预定帧内预测模式包括平面模式、直流模式、水平模式和垂直模式中的至少一种。
其中,将当前块的至少一个角度帧内预测模式的预测值、与当前块的至少一个预定帧内预测模式的预测值进行加权融合,之前包括:
确定当前块的尺寸对应的至少一个预定帧内预测模式;或,
确定至少一个子区域对应的至少一个预定帧内预测模式;或,
计算每种预定帧内预测模式组合的代价,其中,预定帧内预测模式组合是由平面模式、直流模式、水平模式和垂直模式中的至少一个模式组成的;将代价最小的预定帧内预测模式组合作为至少一个预定帧内预测模式。
其中,基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块,包括:
每一帧内预测模式的加权系数是固定的;或,
每一帧内预测模式的加权系数与每一帧内预测模式的第一比值呈正相关,每一帧内预测模式的第一比值等于每一帧内预测模式的梯度幅值累加值与所有帧内预测模式的梯度幅值累加值之和的比值;或;
至少部分帧内预测模式中每一帧内预测模式的加权系数是固定的,剩余部分帧内预测模式中每一帧内预测模式的加权系数与其第二比值呈正相关,每一帧内预测模式的第二比值等于每一帧内预测模式的梯度幅值累加值与剩余部分帧内预测模式的梯度幅值累加值之和的比值。
其中,
模板候选范围包括当前块的第一方向上的若干已重建像素行和当前块的第二方向上的若干已重建像素列。
其中,该方法还包括:
基于至少一个角度帧内预测模式,计算得到当前块对应的同位色度块的预测块;
其中,当前块及其对应的同位色度块分别为当前帧中同一区域的亮度分量及色度分量。
其中,
当前块的模板候选范围为当前块对应的同位亮度块的重建块,其中,当前块及其对应的同位亮度块分别为当前帧中同一区域的色度分量及亮度分量。
为达到上述目的,本申请还提供一种图像编码方法,该方法包括:
基于上述的帧内预测方法确定视频中当前帧的当前块的预测块;
基于预测块对当前块进行编码。
其中,基于预测块对当前块进行编码,包括:
在编码码流中设置预设句法元素的值,其中预设句法元素不同取值代表是否启用帧内预测方法。
其中,基于预测块对当前块进行编码,包括:
对当前块的预测块对应的模板区域的索引信息进行编码,得到编码码流。
为达到上述目的,本申请还提供一种图像解码方法,该方法包括:
基于上述的帧内预测方法确定视频中当前帧的当前块的预测块;
基于预测块对当前块进行解码。
为达到上述目的,本申请还提供一种编码器,该编码器包括处理器;处理器用于执行指令以实现上述方法。
为达到上述目的,本申请还提供一种解码器,该解码器包括处理器;处理器用于执行指令以实现上述方法。
为达到上述目的,本申请还提供一种计算机可读存储介质,其用于存储指令/程序数据,指令/程序数据能够被执行以实现上述方法。
本申请帧内预测方法中,先将当前块的模板候选范围划分为多个子区域,然后从多个子区域中选取至少一个子区域作为当前块的模板区域,继而计算模板区域中至少部分像素的梯度角度,进而基于至少部分像素的梯度角度,从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式,进而基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块,如此可以有选择性地从模板候选范围确定当前块的模板区域,以使得本实施方式帧内预测方法在预测模式的表达能力上能够得以提升,有利于提升压缩效率,并且可以便于确定出适合于当前块的帧内预测模式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是DIMD预测模式中当前块的模板区域示意图;
图2是DIMD预测模式中梯度算子的示意图;
图3是DIMD预测模式中预测块的计算流程示意图;
图4是本申请帧内预测方法一实施方式的流程示意图;
图5是本申请帧内预测方法中模板候选范围的示意图;
图6是本申请帧内预测方法中模板候选范围的一种划分示意图;
图7是本申请帧内预测方法中模板候选范围的另一种划分示意图;
图8是本申请帧内预测方法中模板候选范围的又一种划分示意图;
图9是本申请帧内预测方法中模板候选范围的再一种划分示意图;
图10是本申请帧内预测方法中梯度算子的示意图;
图11是本申请帧内预测方法中统计像素的一种选取示意图;
图12是本申请帧内预测方法中统计像素的另一种选取示意图;
图13是本申请帧内预测方法中统计像素的又一种选取示意图;
图14是本申请帧内预测方法中统计像素的再一种选取示意图;
图15是本申请图像编码方法一实施方式的流程示意图;
图16是本申请图像解码方法一实施例的流程示意图;
图17是本申请编码器一实施方式的结构示意图;
图18是本申请解码器一实施方式的结构示意图;
图19是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,除非另外指明(例如,“或另外”或“或在替代方案中”),否则如本文所使用的术语“或”指代非排他性的“或”(即,“和/或”)。并且,本文所描述的各种实施例不一定相互排斥,因为一些实施例可以与一个或多个其它实施例组合以形成新的实施例。
现有技术在利用相邻已重建像素推导出当前块的角度帧内预测模式时,均是将当前块的上方的若干行已重建像素行和左方的若干列已重建像素列构成的区域作为模板区域,即所用的模板区域相对固定,如此在现有的推导方法在预测模式的表达能力上非常有限,不利于压缩效率下降。
例如,现有解码端帧内模式推导(Decode Intra Mode Derived,DIMD)就是利用相邻已重建像素推导出当前块的帧内预测模式。
DIMD的具体推导过程,如下:
1、从当前块相邻的模板区域的重建相邻像素中用sobel算子导出直方图。
如图1中的(a)和(b)所示,已重建区域中的当前块的上方的若干行(即T行)已重建像素行和左方的若干列(即T列)已重建像素列构成的区域为当前块的模板区域,且模板区域的T=3。
直方图统计过程中,首先,如图1中的(b)所示,以sobel算子窗口在待统计相邻像素(图1中的(b)中的图案填充像素)上进行滑动。其中,sobel算子如图2所示,包括一个3x3水平sobel滤波器和一个垂直sobel滤波器,分别用于计算水平梯度Gx和垂直梯度Gy。然后,通过atan(Gy/Gx)求出对应像素的梯度角度θ,并将其转换为多功能视频编码(VersatileVideo Coding,VVC)中的65种角度帧内预测模式之一。最后,计算Gx和Gy的绝对值之和作为该待统计相邻像素的梯度幅值G。接着可计算出在所有待统计相邻像素中、每一角度帧内预测模式的所有梯度幅值之和,得到每一帧内预测模式的梯度幅值累加值。
2、选择直方图中梯度幅值累加值最大的两个角度帧内预测模式(图3中简称为角度模式)与Planar(平面)模式进行融合。
如图3所示,根据统计得到的直方图,推导出梯度幅值累加值ampl最大的两个角度帧内预测模式M1和M2。并将两个角度帧内预测模式的预测值(即第一预测块和第二预测块)与Planar模式的预测值(即第三预测块)进行加权融合而得到当前块的预测块,即当前块的预测块等于第一乘积、第二乘积和第三乘积的和,其中,第一乘积等于M1模式的加权系数W1和第一预测块的乘积,第二乘积等于M2模式的加权系数W2和第二预测块的乘积,第三乘积等于Planar模式的加权系数W3和第三预测块的乘积,而第一预测块是当前块基于参考像素和M1模式预测得到的预测块,第二预测块是当前块基于参考像素和M2模式预测得到的预测块,第三预测块是当前块基于参考像素和Planar模式预测得到的预测块。其中Planar模式的加权系数W3固定为21/64,另外两个角度帧内预测模式的加权系数W1和W2从梯度幅值累加值中导出,如下述公式所示,剩余的43/64加权系数根据这两个模式的梯度幅值累加值进行分配;
其中,ampl(M1)为M1模式的梯度幅值累加值;ampl(M2)为M2模式的梯度幅值累加值,W1为M1模式的加权系数,W2为M2模式的加权系数。
基于此,本申请在利用相邻已重建像素推导出当前块的角度帧内预测模式的过程中会根据当前块匹配模板区域,如此所用的模板区域不是唯一的且相对灵活,在预测模式的表达能力上得以提升,有利于提升压缩效率。
具体如图4所示,本实施方式的帧内预测方法包括以下步骤。需要注意的是,以下步骤编号仅用于简化说明,并不旨在限制步骤的执行顺序,本实施方式的各步骤可以在不违背本申请技术思想的基础上,任意更换执行顺序。
S101:将当前块的模板候选范围划分为多个子区域。
可以先将当前块的模板候选范围划分为多个子区域,以便后续从多个子区域中选取至少一个子区域作为当前块的模板区域,继而计算模板区域中至少部分像素的梯度角度,进而基于至少部分像素的梯度角度,从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式,进而基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块,如此可以有选择性地从模板候选范围确定当前块的模板区域,以使得本实施方式帧内预测方法在预测模式的表达能力上能够得以提升,有利于提升压缩效率,并且可以便于推导出适合于当前块的帧内预测模式。
其中,模板候选范围可以根据实际情况进行确定。
在一实现方式中,如图5所示,模板候选范围可以包括当前块的第一方向上的若干行已重建像素行和当前块的第二方向上的若干列已重建像素列。其中,第一方向和第二方向具体可以根据实际情况(例如编码方向)进行设定。例如,如图5所示,沿从左到右和从上到下的顺序对图像进行编码时,第一方向可以为上方,第二方向可以为左方,即模板候选范围可以包括当前块上方的若干行已重建像素行和左方的若干列已重建像素列。
在另一实现方式中,在当前块为当前帧中一区域的色度分量的情况下,当前块的模板候选范围可为当前块对应的同位亮度块的重建块。
在步骤S101中,可以基于与当前块的相对位置,将当前块的模板候选范围划分为多个子区域。
例如,在模板候选范围包括当前块的第一方向上的若干行已重建像素行和当前块的第二方向上的若干列已重建像素列的情况下,如图6所示,可以将模板候选范围根据位置划分为左下、左、左上、上、右上五个区域,分别为左上区域A、上区域B、左区域C、右上区域D、左下区域E。
又例如,在模板候选范围包括当前块的第一方向上的若干行已重建像素行和当前块的第二方向上的若干列已重建像素列的情况下,如图7所示,可以将模板候选范围根据位置划分为左、上、左上三个区域,分别为左上区域F、上区域G、左区域H。
另例如,在当前块为当前帧中一区域的色度分量,且当前块的模板候选范围为当前块对应的同位亮度块的重建块的情况下,如图8所示,可以将模板候选范围根据位置划分为左上区域I、左下区域K、右上区域J、右下区域L。
当然,也可以通过其他的划分方式将当前块的模板候选范围划分为多个子区域,在此不做限制。
例如,在当前块为当前帧中一区域的色度分量,且当前块的模板候选范围为当前块对应的同位亮度块的重建块的情况下,如图9所示,可以将模板候选范围垂直划分为第一区域O、第二区域P、第三区域Q和第四区域M。
S102:从多个子区域中选取至少一个子区域作为当前块的模板区域。
将模板候选区域划分为多个子区域后,可以从多个子区域中选取至少一个子区域作为当前块的模板区域。
可选地,可以基于当前块的尺寸,从多个子区域中选取至少一个子区域作为当前块的模板区域。
示例性地,每一尺寸均对应有一子区域选择方式,如此,在步骤S102中可以从多个子区域中选取当前块的尺寸对应的至少一个区域作为当前块的模板区域。例如,假设,如图6所示,模板候选区域根据位置划分为左上区域A、上区域B、左区域C、右上区域D、左下区域E;若当前块的尺寸为8*8,则在步骤S102中可以将区域ABC作为模板区域;若当前块的尺寸为16*16,则在步骤S102中可以将区域B作为模板区域;若当前块的尺寸为32*32,则在步骤S102中可以将区域C作为模板区域。
或者,可以根据当前块的宽和高的比较结果,确定子区域选择方式。具体地,可以选择当前块的宽和高较长的一侧的子区域作为模板区域。即若当前块的宽度大于高度,则将当前块的第一方向上的至少一个子区域作为当前块的模板区域;若当前块的高度大于宽度,则将当前块的第二方向上的至少一个子区域作为当前块的模板区域。例如,假设,如图6所示,模板候选区域根据位置划分为左上区域A、上区域B、左区域C、右上区域D、左下区域E;若当前块的H*W=8*4,则在步骤S102中可以将区域C作为模板区域;若当前块的H*W=4*8,则在步骤S102中可以将区域B作为模板区域。
在其他实施例中,也可以通过其他方式,从多个子区域中选取至少一个子区域作为当前块的模板区域。示例性地,可以按照代价从多个子区域中选取至少一个子区域作为当前块的模板区域。具体地,可以计算每个区域组合的代价,其中,区域组合是由多个子区域中的至少部分子区域组成的;将代价最小的区域组合作为当前块的模板区域。例如,模板候选区域根据位置划分为左上区域A、上区域B、左区域C、右上区域D、左下区域E;子区域选择方式为选择代价最小的组合区域,区域ABC、B、C的代价分别为500、750、800,故当前块使用区域ABC作为模板区域。其中,上述的代价可以是率失真代价。
S103:计算模板区域中至少部分像素的梯度角度。
在确定当前块的模板区域后,可以计算模板区域中至少部分像素的梯度角度,以便后续基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块。
可选地,可以通过计算模板区域中至少部分像素的梯度,然后通过至少部分像素的梯度确定出至少部分像素的梯度角度。
具体地,可以计算出至少部分像素中每个像素的水平梯度和垂直梯度,然后通过每个像素的水平梯度和垂直梯度计算出每个像素的梯度角度。
可以通过sobel算子、差分算子、Roberts算子、Prewitt算子等算子计算出至少部分像素中每个像素的水平梯度和垂直梯度。
例如,可以将如图2所示的水平sobel算子和垂直sobel算子分别与当前帧中至少部分像素中的每个像素为中心的区域进行卷积,以计算出每个像素的水平梯度Gx和垂直梯度Gy。
又例如,可以利用如图10所示的水平差分算子和垂直差分算子分别计算出至少部分像素中的每个像素的水平梯度Gx和垂直梯度Gy,其中,图10中值为“1”的位置为上述的“至少部分像素中的每个像素”所在位置。
计算出至少部分像素中每个像素的水平梯度Gx和垂直梯度Gy后,可以通过公式atan(Gy/Gx)计算出每个像素的梯度角度。
另外,上述的至少部分像素(需要计算出梯度角度的像素,也可称为统计像素)可以是模板区域中的全部像素,也可以是模板区域中的部分像素。具体地,上述的至少部分像素可包括模板区域中的k个相邻像素集合,其中,k个相邻像素集合中的第N相邻像素集合由模板区域中的至少一个第N相邻像素构成,第N相邻像素与当前块之间相隔N-1个像素,K和N均为正整数。
进一步地,模板区域中的k个相邻像素集合可以包括第一相邻像素集合、第二相邻像素集合、第三相邻像素集合和/或第四相邻像素集合。其中,第一相邻像素集合由模板区域中的至少一个第一相邻像素构成,第一相邻像素与当前块之间相隔0个像素,即对应于第一相邻像素集合,N取值为1。第二相邻像素集合由模板区域中的至少一个第二相邻像素构成,第二相邻像素与当前块之间相隔1个像素,具体地,第二相邻像素和当前块之间间隔有一个第一相邻像素,且对应于第二相邻像素集合N取值为2。第三相邻像素集合由模板区域中的至少一个第三相邻像素构成,第三相邻像素与当前块之间相隔2个像素,具体地,第三相邻像素和当前块之间间隔有一个第一相邻像素和一个第二相邻像素,且对应于第三相邻像素集合N取值为3。第四相邻像素集合由模板区域中的至少一个第四相邻像素构成,第四相邻像素与当前块之间相隔3个像素,具体地,第四相邻像素和当前块之间间隔有一个第一相邻像素、一个第二相邻像素和一个第三相邻像素,且对应于第四相邻像素集合N取值为4。更进一步地,一区域中的第N相邻像素集合可以指该区域中所有第N相邻像素的集合。
在一实现方式中,统计像素包含的相邻像素集合的个数可以是预先设定地。
示例性地,预设设定使用第二相邻像素集合作为统计像素。例如,假设如图6所示,模板候选区域根据位置划分为左上区域A、上区域B、左区域C、右上区域D、左下区域E,且将上区域B作为当前块的模板区域,则在步骤S103中,如图11所示,可以将区域B中的第二相邻像素集合作为统计像素,并计算出统计像素的梯度角度,其中,图11中所示的图案填充像素表示为被选中的统计像素。又例如,假设如图6所示,模板候选区域根据位置划分为左上区域A、上区域B、左区域C、右上区域D、左下区域E,且将左区域C作为当前块的模板区域,则在步骤S103中,如图12所示,可以将左区域C中的第二相邻像素集合作为统计像素,并计算出统计像素的梯度角度,其中,图12中所示的图案填充像素表示为被选中的统计像素。另例如,假设如图6所示,模板候选区域根据位置划分为左上区域A、上区域B、左区域C、右上区域D、左下区域E,且将区域ABC作为当前块的模板区域,则在步骤S103中,如图13所示,可以将区域A中的第二相邻像素集合、区域B中的第二相邻像素集合以及区域C中的第二相邻像素集合作为统计像素,其中,图13中所示的图案填充像素表示为被选中的统计像素。
或者,预先设定使用第三相邻像素作为统计像素。
又或者,预设设定使用第二相邻像素和第三相邻像素作为统计像素。例如假设如图6所示,模板候选区域根据位置划分为左上区域A、上区域B、左区域C、右上区域D、左下区域E,且将区域ABC作为当前块的模板区域,则在步骤S103中,如图14所示,可以将区域A中的第二相邻像素集合和第三相邻像素集合、区域B中的第二相邻像素集合和第三相邻像素集合、以及区域C中的第二相邻像素集合和第三相邻像素集合作为统计像素,其中,图14中所示的图案填充像素表示为被选中的统计像素。
在另一实现方式中,可以基于当前块的尺寸确定统计像素包含的像素集合的个数,即至少部分像素包含的相邻像素的种类可与当前块的尺寸相对应,也就是说,统计像素包含的像素的种类总数可与当前块的尺寸相对应,如此可利用更为灵活的方式确定统计像素,可以提高推导的准确性,以便提升压缩效率。
示例性地,统计像素根据尺寸越大使用越少种类的相邻像素的规则。例如,在当前块的尺寸大于或等于预定尺寸的情况下,统计像素包括模板区域中的第二相邻像素集合;在当前块的尺寸小于预定尺寸的情况下,统计像素包括模板区域中的第二相邻像素集合和第三相邻像素集合,如此在当前块尺寸较小时,利用更多的像素推导角度预测模式,可以提高推导的准确性,以便提升压缩效率。其中,预定尺寸在此不做限定,例如可为16*16或32*32。
S104:基于至少部分像素的梯度角度,从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式。
确定至少部分像素的梯度角度后,可以基于至少部分像素的梯度角度,从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式。
可选地,可以对所有统计像素的梯度角度进行统计,并基于统计结果从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式。
在一实现方式中,可以通过每一梯度角度的出现次数,将出现次数较高的至少一个梯度角度对应的角度帧内预测模式作为所选取的至少一个角度帧内预测模式。
在另一实现方式中,可以将每一统计像素的梯度角度转换为编解码中的角度预测模式,例如转换为多功能视频编码(Versatile Video Coding,VVC)中的65种角度帧内预测模式之一,然后统计每一角度帧内预测模式的出现次数,将出现次数较高的角度帧内预测模式作为所选取的至少一个角度帧内预测模式。例如,统计像素有20个,其中4个统计像素的角度帧内预测模式的模式编号为02,5个统计像素的角度帧内预测模式的模式编号为03,7个统计像素的角度帧内预测模式的模式编号为04,剩余统计像素的角度帧内预测模式的模式编号为07,若选取两个角度帧内预测模式,则在步骤S104中可将模式编号为03和04的角度帧内预测模式作为所选取的角度帧内预测模式。
在又一实现方式中,在步骤S104中,还可计算出每一统计像素的梯度幅值,接着将每一统计像素的梯度角度转换为编解码中的角度帧内预测模式;然后计算出在所有统计像素中、每一角度帧内预测模式的梯度幅值累加值;接着基于梯度幅值累加值,从所有角度帧内预测模式中选取至少一个角度帧内预测模式。
上述的每一统计像素的梯度幅值是基于每一统计像素的梯度计算得到的。例如,可以将每一统计像素的水平梯度Gx和垂直梯度Gy代入到|Gx|+|Gy|,得到每一统计像素的梯度幅值。
另外,在有些实施例中,可以通过遍历所有统计像素而绘制出角度帧内预测模式直方图,直方图的X坐标和Y坐标分别为角度帧内预测模式和梯度幅值累加值,如此通过绘制直方图的方式统计出在所有统计像素中、每一角度帧内预测模式的梯度幅值累加值。
比较优选的是,将梯度幅值累加值较高的至少一个角度帧内预测模式作为所选取的至少一个角度帧内预测模式(也可称为DIMD推导模式)。示例性地,可以按照梯度幅值累加值,按梯度幅值累加值从大到小进行排序,并按照排列次序将对应的角度帧内预测模式记为第几推导模式,比如将最大梯度幅值累加值对应的角度帧内预测模式记作第一推导模式,梯度幅值累加值第二对应的角度帧内预测模式记作第二推导模式,以此类推。然后在步骤S104基于需要选取的角度帧内预测模式的数量(也可称为预定数量),选取出排序在前的预定数量个角度帧内预测模式。例如,第一推导模式、第二推导模式、第三推导模式的模式编号分别为18、12、10,需选取出一个角度帧内预测模式,如此以第一推导模式作为DIMD推导模式,即18。另例如,第一推导模式、第二推导模式、第三推导模式的模式编号分别为18、10、07,需选取出两个角度帧内预测模式,如此在步骤S104中选取第一推导模式和第二推导模式作为DIMD推导模式,即18和10。又例如,第一推导模式、第二推导模式、第三推导模式的模式编号分别为10、07、03,需选取出三个角度帧内预测模式,如此选取第一推导模式、第二推导模式、第三推导模式作为DIMD推导模式,即10、07、03。
其中,步骤S104中所选取的角度帧内预测模式的数量可根据实际情况进行设定,在此不做限定。
示例性地,所选取的角度帧内预测模式的数量可以是预先设定地。
或者,可以基于当前块的尺寸确定所选取的角度帧内预测模式的数量,即所选取的角度帧内预测模式的数量可与当前块的尺寸相对应。具体地,当前块的尺寸越大,则所选取的角度帧内预测模式的数量越少。例如,在当前块的尺寸大于或等于第一尺寸的情况下,所选取的角度帧内预测模式的数量为一;在当前块的尺寸小于第一尺寸的情况下,所选取的角度帧内预测模式的数量为二。第一尺寸可根据实际情况进行设定,在此不做限定,例如可为16*16。
S105:基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块。
基于上述步骤确定出至少一个角度帧内预测模式后,可以基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块。
可选地,可以通过加权的方式将当前块的至少一个角度帧内预测模式的预测值进行融合,以得到当前块的预测块。可以理解的是,仅将当前块的至少一个角度帧内预测模式的预测值进行加权融合而得到当前块的预测块的方案中,至少一个角度帧内预测模式中角度帧内预测模式的数量大于或等于二。
或者,可以将当前块的至少一个角度帧内预测模式的预测值、与当前块的至少一个预定帧内预测模式的预测值进行加权融合,得到当前块的预测块。其中,至少一个预定帧内预测模式包括Planar模式、直流(DC)模式、水平模式和垂直模式中的至少一种。例如,假设步骤S104所选取的角度帧内预测模式为模式10和模式18,且至少一个预定帧内预测模式为水平模式,则在步骤S105中,可以将当前块在模式编号为10的角度帧内预测模式下的预测值、当前块在模式编号为18的角度帧内预测模式下的预测值以及当前块在水平模式下的预测值进行加权融合,得到当前块的预测块。
其中,步骤S105中是否选用预定帧内预测模式、以及所选取的至少一个预定帧内预测模式可以是预先设定的。例如,预先设定选用预定帧内预测模式,且至少一个预定帧内预测模式为平面模式。又例如,预先设定选用预定帧内预测模式,且至少一个预定帧内预测模式为垂直模式。
或者,可以根据当前块的尺寸确定是否选用预定帧内预测模式、以及所选取的至少一个预定帧内预测模式。例如,当前块的尺寸大于第二尺寸,则选用预定帧内预测模式,且选定的至少一个预定帧内预测模式为平面模式;若当前块的尺寸小于第二尺寸且大于第三尺寸,则选用预定帧内预测模式,且选定的至少一个预定帧内预测模式为水平模式和直流模式;若当前块的尺寸小于第三尺寸,则选用预定帧内预测模式,且选定的至少一个预定帧内预测模式为垂直模式。其中,第二尺寸大于第三尺寸,且第二尺寸和第三尺寸可根据实际情况进行设定,再次不做限制。例如,第二尺寸为32*32,第三尺寸为8*8。
或者,可以根据子区域选择方式确定是否选用预定帧内预测模式、以及所选取的至少一个预定帧内预测模式。例如,在步骤S102所选择的模板区域为区域ABC,则选用预定帧内预测模式,且至少一个预定帧内预测模式为平面模式;在步骤S102所选择的模板区域为区域B,则选用预定帧内预测模式,且至少一个预定帧内预测模式为垂直模式;在步骤S102所选择的模板区域为区域C,则选用预定帧内预测模式,且至少一个预定帧内预测模式为水平模式。
或者,可以根据代价确定是否选用预定帧内预测模式、以及所选取的至少一个预定帧内预测模式。具体地,可以计算每种帧内预测模式组合的代价;其中,帧内预测模式组合可为DIMD推导模式,或由平面模式、直流模式、水平模式、垂直模式中的至少一个模式和DIMD推导模式组成;将代价最小的帧内预测模式组合作为参与加权融合的帧内预测模式,而确定出当前块的预测块。上述的代价可以是率失真代价。
另外,在通过加权的方式将当前块的至少一个角度帧内预测模式的预测值进行融合时,各个帧内预测模式(该帧内预测模式可以指角度帧内预测模式和/或预定帧内预测模式)的加权系数可以是预先设定的,也可以是根据梯度幅值累加值计算得到的,在此不做限定。
在一实现方式中,各个帧内预测模式的加权系数是固定的。示例性地,假设共有M种帧内预测模式参与步骤S105中的加权融合,第m种帧内预测模式的加权系数为wm,m={1,...,M},且参与加权融合的所有帧内预测模式的加权系数之和为1,即例如,假设步骤S105采用将当前块的至少一个角度帧内预测模式的预测值、与当前块的至少一个预定帧内预测模式的预测值进行加权融合的方式,且至少一个预定帧内预测模式为水平模式,至少一个角度帧内预测模式为第一推导模式,第一推导模式和水平模式的加权系数分别固定为32/64。又例如,假设步骤S105采用将当前块的至少一个角度帧内预测模式的预测值、与当前块的至少一个预定帧内预测模式的预测值进行加权融合的方式,且至少一个预定帧内预测模式为垂直模式,至少一个角度帧内预测模式为第一推导模式,第一推导模式和垂直模式的加权系数分别固定为32/64。
在另一实现方式中,各个帧内预测模式的加权系数是基于参与加权融合的所有帧内预测模式的梯度幅值累加值计算得到的。具体地,每一帧内预测模式的加权系数与每一帧内预测模式的第一比值呈正相关,每一帧内预测模式的第一比值等于每一帧内预测模式的梯度幅值累加值与参与步骤S105中的加权融合的所有帧内预测模式的梯度幅值累加值之和的比值。示例性地,假设共有M种帧内预测模式参与加权融合,第m种帧内预测模式的梯度幅值累加值为Am,m={1,...,M},则第m种帧内预测模式的加权系数例如,假设步骤S105采用将当前块的至少一个角度帧内预测模式的预测值进行加权融合的方式,且至少一个角度帧内预测模式为第一推导模式和第二推导模式,第一推导模式和第二推导模式的梯度幅值累加值分别为75和25,第一推导模式和第二推导模式加权系数分别为75/(75+25)、25/(75+25)。
在又一实现方式中,至少部分帧内预测模式中每一帧内预测模式的加权系数是固定的,剩余部分帧内预测模式中每一帧内预测模式的加权系数是基于剩余部分帧内预测模式的梯度幅值累加值计算得到的。具体地,剩余部分帧内预测模式中每一帧内预测模式的加权系数与其第二比值呈正相关,每一帧内预测模式的第二比值等于每一帧内预测模式的梯度幅值累加值与剩余部分帧内预测模式的梯度幅值累加值之和的比值。示例性地,假设共有M种帧内预测模式参与步骤S105中的加权融合,其中的M1种使用固定加权的方式,M2种使用幅值加权的方式,加权系数分别为WM1和WM2,WM1+WM2=1,M1+M2=M。M1种模式中第m1种帧内预测模式的加权系数为Wm1,m1={1,...,M1},且加权系数之和为WM1,即M2种模式中第m2种帧内预测模式的梯度幅值累加值为Am2,m2={1,...,M2},则第m2种帧内预测模式的加权系数为/>例如,假设步骤S105采用将当前块的至少一个角度帧内预测模式的预测值、与当前块的至少一个预定帧内预测模式的预测值进行加权融合的方式,且至少一个预定帧内预测模式为平面模式,至少一个角度帧内预测模式为第一推导模式和第二推导模式,第一推导模式和第二推导模式的梯度幅值累加值分别为75和25,平面模式使用固定加权系数21/64,第一推导模式和第二推导模式的加权系数分别为(43/64)*75/(75+25)、(43/64)*25/(75+25)。
在本实施方式中,先将当前块的模板候选范围划分为多个子区域,然后从多个子区域中选取至少一个子区域作为当前块的模板区域,继而计算模板区域中至少部分像素的梯度角度,进而基于至少部分像素的梯度角度,从所有梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式,进而基于当前块的至少一个角度帧内预测模式的预测值,得到当前块的预测块,如此可以有选择性地从模板候选范围确定当前块的模板区域,以使得本实施方式帧内预测方法在预测模式的表达能力上能够得以提升,有利于提升压缩效率,并且可以便于确定出适合于当前块的帧内预测模式。
可选地,当前块为当前帧中一区域的亮度分量,模板候选区域包括当前块的第一方向上的若干行已重建像素行和当前块的第二方向上的若干列已重建像素列。如此可通过上述实施方式帧内预测方法确定出当前块的预测块。
进一步地,当前块的同位色度块可以采用直接模式,即基于当前块推导出的至少一个角度帧内预测模式,计算得到当前块对应的同位色度块的预测块。具体地,可以采用与当前块相同的至少一个角度帧内预测模式和/或预定帧内预测模式并基于同位色度块的至少一个角度帧内预测模式的预测值,得到同位色度块的预测块。且同位色度块的至少一个角度帧内预测模式和/或预定帧内预测模式的加权系数,等同于当前块的至少一个角度帧内预测模式和/或预定帧内预测模式的加权系数。例如,当前块(即亮度块)使用DIMD推导模式和Planar模式进行加权融合,且亮度块的DIMD推导模式包括第一推导模式和第二推导模式,采用根据混合加权的方式,并且二者的梯度幅值累加值分别为75和25,Planar模式使用固定加权系数21/64,DIDM第一推导模式和第二推导模式的加权系数分别为(43/64)*75/(75+25)、(43/64)*25/(75+25)。色度块使用直接模式,故色度块同样使用DIMD推导模式和Planar模式进行加权融合,色度DIMD推导模式同亮度DIMD的第一推导模式和第二推导模式,加权系数同亮度块的加权系数。
或者,当前块的同位色度块可以采用相邻像素推导模式,即同位色度块的模板候选区域包括同位色度块的第一方向上的若干行已重建像素行和同位色度块的第二方向上的若干列已重建像素列,且采用上述实施方式帧内预测方法确定出同位色度块的预测块。但是同位色度块在采用步骤S105确定同位色度块的预测块时,同位色度块的至少一个预定帧内预测模式是从平面模式、直流模式、水平模式、垂直模式和跨分量线性模式(CCLM)中取出来的。而CCLM包括但不限于CCLM_LT、CCLM_L、CCLM_T、MMLM_LT、MMLM_L、MMLM_T。例如,假设用于加权融合的帧内预测模式仅为色度DIMD推导模式和CCLM_LT模式,色度DIMD推导模式包括第一推导模式和第二推导模式,采用根据混合加权的方式,并且二者的梯度幅值分别为75和25;CCLM_LT模式使用固定加权系数32/64,第一推导模式和第二推导模式的加权系数分别为(32/64)*75/(75+25)、(32/64)*25/(75+25)。
又或者,当前块的同位色度块可以采用同位重建亮度像素推导方案,如此可以利用色度分量和亮度分量之间具有非常强的相关性的特点确定出较为匹配的至少一个角度帧内预测模式,从而使得得到的同位色度块的预测块更加准确,以提高色度块的预测准确性。具体地,同位色度块的模板候选区域为当前块对应的同位亮度块的重建块。且将同位色度块作为当前块,并采用上述实施方式帧内预测方法确定出同位色度块的预测块。但是同位色度块在采用步骤S105确定同位色度块的预测块时,同位色度块的至少一个预定帧内预测模式是从平面模式、直流模式、水平模式、垂直模式和跨分量线性模式(CCLM)中取出来的。而CCLM包括但不限于,CCLM_LT、CCLM_L、CCLM_T、MMLM_LT、MMLM_L、MMLM_T。
另外,上述的当前块及其同位色度块均可采用本申请的帧内预测方法确定各自的预测块。当前块及其同位色度块当然也可独立地采用本申请的帧内预测方法;例如,当前块采用本申请的帧内预测方法确定当前块的预测块,而同位色度块采用其他的帧内预测方法确定当前块的预测块;又例如,同位色度块采用本申请的帧内预测方法确定当前块的预测块,而当前块采用其他的帧内预测方法确定当前块的预测块。上述的其他的帧内预测方法包括原有DIMD方案、角度帧内预测模式、平面模式、直流模式等帧内预测方法。
即本申请的亮度块帧内预测方法可以独立替换原有亮度DIMD方案,而色度DIMD方案仍然使用原有色度DIMD方案。又或者,本申请的色度块帧内预测方法可以独立替换原有色度DIMD方案,而亮度DIMD方案仍然使用原有亮度DIMD方案。当然,本申请的色度块帧内预测方法和本申请亮度块帧内预测方法均可分别将原有色度DIMD方案和原有亮度DIMD方案替换掉。
请参阅图15,图15为本申请图像编码方法一实施方式的流程示意图。该图像编码方法可以应用到视频编码中。需注意的是,若有实质上相同的结果,本实施例并不以图8所示的流程顺序为限。本实施方式中,图像编码方法包括以下步骤:
S201:基于上述任一种帧内预测方法确定图像中的当前块的预测块。
S202:基于预测块对当前块进行编码。
可选地,在对当前块进行编码时,可以在编码码流中设置预设句法元素的值,其中预设句法元素不同取值代表是否启用本申请的帧内预测方法,即设置一个开关句法,用于标志本申请的帧内预测方法的使用状态。例如,在本申请亮度块帧内预测方法和本申请色度块帧内预测方法同时使用时,可以定义一个开关句法DIMD_FLAG标识是否使用DIMD模式,DIMD_FLAG=0标识不使用本申请的本申请帧内预测方法,DIMD_FLAG=1标识启用本申请的帧内预测方法。而本申请亮度块帧内预测方法和本申请色度块帧内预测方法独立使用时,开关句法DIMD_LUMA_FLAG和DIMD_CHRO MA_FLAG分别用于标志亮度分量和色度分量是否使用本申请帧内预测方法,DIMD_LUMA_FLAG=0标识亮度分量不使用本申请帧内预测方法,DIMD_LUMA_FLAG=1标识亮度分量启用本申请帧内预测方法;DIMD_CHROMA_FLAG=0标识色度分量不使用本申请帧内预测方法,DIMD_CHROMA_FLAG=1标识色度分量启用本申请帧内预测方法。
另外,在开关句法标识亮度分量和/色度分量使用本申请的帧内预测方法时,还可通过方案句法表示亮度分量和/或色度分量的模板区域的选取方式,即对亮度分量和/或色度分量的预测块对应的模板区域的索引信息进行编码,得到编码码流。例如,可通过方案句法DIMD_LUMA_MODE_IDX用于表达本申请的亮度块帧内预测方法采用的模板区域,DIMD_LUMA_MODE_IDX=0标识使用区域ABC作为模板区域,DIMD_LUMA_MODE_IDX=1标识使用区域B作为模板区域,DIMD_LUMA_MODE_IDX=2标识使用区域C作为模板区域。方案句法DIMD_CHROMA_MODE_IDX用于表达本申请的色度块帧内预测方法采用的模板区域,DIMD_CHRO MA_MODE_IDX=0标识使用区域IJKL作为模板区域,DIMD_CHROMA_MODE_IDX=1标识区域IJ作为模板区域,DIMD_CHROMA_MODE_IDX=2标识使用区域IK作为模板区域,DIMD_CHROMA_MODE_IDX=3标识使用区域I作为模板区域,DIMD_CHROMA_MODE_IDX=4标识区域J作为模板区域,DIMD_CHROMA_MODE_IDX=5标识使用区域K作为模板区域,DIMD_CHROMA_MODE_IDX=6标识使用区域L作为模板区域。又例如,也可以将开关句法作为方案句法,给开关句法赋予不同的值以表示模板区域的选取方式,开关句法DIMD_LUMA_FLAG=0标识亮度分量不使用本申请帧内预测方法;DIMD_LUMA_FLAG=1标识亮度分量启用本申请帧内预测方法,且模板区域为区域ABC;DIMD_LUMA_FLAG=2标识亮度分量启用本申请帧内预测方法,且模板区域为区域B;DIMD_LUMA_FLAG=3标识亮度分量启用本申请帧内预测方法,且模板区域为区域C。
此外,还可通过预设句法表示亮度分量和/或色度分量的模板候选区域以及模板候选区域的划分方式。当然,可以理解的是,在亮度分量和/或色度分量的模板候选区域以及模板候选区域的划分方式已经预先设定的情况下,无需将预设句法编码到码流中,编码端和解码端直接使用预先设定的划分方式对预先设定的模板候选区域进行划分。例如,可预先设定亮度分量的模板候选区域及其划分方式如图6所示,也可预先设定色度分量的模板候选区域及其划分方式如图3所示。
请参阅图16,图16为本申请图像解码方法一实施方式的流程示意图。该图像解码方法可以应用到视频解码中。需注意的是,若有实质上相同的结果,本实施例并不以图9所示的流程顺序为限。本实施方式中,图像解码方法包括以下步骤:
S301:基于上述任一种帧内预测方法确定图像中的当前块的预测块。
S302:基于预测块对当前块进行解码。
请参阅图17,图17是本申请编码器一实施方式的结构示意图。本编码器10包括处理器12,处理器12用于执行指令以实现上述帧内预测方法和图像编码方法。具体实施过程请参阅上述实施方式的描述,在此不再赘述。
处理器12还可以称为CPU(Central Processing Unit,中央处理单元)。处理器12可能是一种集成电路芯片,具有信号的处理能力。处理器12还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器12也可以是任何常规的处理器等。
编码器10还可进一步包括存储器11,用于存储处理器12运行所需的指令和数据。
处理器12用于执行指令以实现上述本申请帧内预测方法和图像编码方法任一实施例及任意不冲突的组合所提供的方法。
请参阅图18,图18是本申请解码器一实施方式的结构示意图。本解码器20包括处理器22,处理器22用于执行指令以实现上述帧内预测方法和图像解码方法。具体实施过程请参阅上述实施方式的描述,在此不再赘述。
处理器22还可以称为CPU(Central Processing Unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器22也可以是任何常规的处理器等。
解码器20还可进一步包括存储器21,用于存储处理器22运行所需的指令和数据。
处理器22用于执行指令以实现上述本申请帧内预测方法和图像解码方法任一实施例及任意不冲突的组合所提供的方法。
请参阅图19,图19为本申请实施方式中计算机可读存储介质的结构示意图。本申请实施例的计算机可读存储介质30存储有指令/程序数据31,该指令/程序数据31被执行时实现本申请帧内预测方法、图像解码方法和图像编码方法任一实施例以及任意不冲突的组合所提供的方法。其中,该指令/程序数据31可以形成程序文件以软件产品的形式存储在上述存储介质30中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质30包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (22)

1.一种帧内预测方法,其特征在于,所述方法包括:
将当前块的模板候选范围划分为多个子区域,所述模板候选范围中的像素为已重建像素;
从所述多个子区域中选取至少一个子区域作为当前块的模板区域;
计算所述模板区域中至少部分像素的梯度角度;
基于所述至少部分像素的梯度角度,从所有所述梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式;
基于所述当前块的所述至少一个角度帧内预测模式的预测值,得到所述当前块的预测块;
其中,所述基于所述当前块的所述至少一个角度帧内预测模式的预测值,得到所述当前块的预测块,包括:将所述当前块的所述至少一个角度帧内预测模式的预测值、与所述当前块的至少一个预定帧内预测模式的预测值进行加权融合,以得到所述当前块的预测块,其中,所述至少一个所述预定帧内预测模式是基于所述当前块的尺寸或所述至少一个子区域确定的。
2.根据权利要求1所述的帧内预测方法,其特征在于,从所述多个子区域中选取至少一个子区域作为当前块的模板区域,包括:
基于所述当前块的尺寸,从所述多个子区域中选取至少一个子区域作为当前块的模板区域。
3.根据权利要求2所述的帧内预测方法,其特征在于,所述基于所述当前块的尺寸,从所述多个子区域中选取至少一个子区域作为当前块的模板区域,包括:
若所述当前块的宽度大于高度,则将所述当前块的第一方向上的至少一个子区域作为当前块的模板区域;
若所述当前块的高度大于宽度,则将所述当前块的第二方向上的至少一个子区域作为当前块的模板区域。
4.根据权利要求1所述的帧内预测方法,其特征在于,所述从所述多个子区域中选取至少一个子区域作为当前块的模板区域,包括:
计算每个区域组合的代价,其中,所述区域组合是由所述多个子区域中的至少一个子区域组成的;
将代价最小的区域组合作为所述当前块的模板区域。
5.根据权利要求1所述的帧内预测方法,其特征在于,所述至少部分像素包括所述模板区域中的K个相邻像素集合,其中,所述K个相邻像素集合中的第N相邻像素集合由所述模板区域中的至少一个第N相邻像素构成,所述第N相邻像素与所述当前块之间相隔N-1个像素,所述K为正整数,所述N为正整数。
6.根据权利要求5所述的帧内预测方法,其特征在于,所述至少部分像素包含的相邻像素集合个数与所述当前块的尺寸相对应。
7.根据权利要求6所述的帧内预测方法,其特征在于,所述K个相邻像素集合至少包括第二相邻像素集合和第三相邻像素集合;
在所述当前块的尺寸大于或等于预定尺寸的情况下,所述至少部分像素包括所述模板区域中的第二相邻像素集合;
在所述当前块的尺寸小于预定尺寸的情况下,所述至少部分像素包括所述模板区域中的第二相邻像素集合和第三相邻像素集合。
8.根据权利要求1所述的帧内预测方法,其特征在于,所述基于所述至少部分像素的梯度角度,从所有所述梯度角度对应的角度帧内预测模式中选取至少一个角度帧内预测模式,包括:
计算所述模板区域中至少部分像素的梯度幅值;
计算出每个所述梯度角度对应的角度帧内预测模式的梯度幅值累加值;
基于所述梯度幅值累加值,从所有角度帧内预测模式中选取至少一个角度帧内预测模式。
9.根据权利要求8所述的帧内预测方法,其特征在于,
所述至少一个角度帧内预测模式的梯度幅值累加值高于除所述至少一个角度帧内预测模式以外的角度帧内预测模式的梯度幅值累加值。
10.根据权利要求8所述的帧内预测方法,其特征在于,所述计算所述模板区域中至少部分像素的梯度幅值,以及所述计算所述模板区域中至少部分像素的梯度角度,包括:
利用sobel算子、差分算子、Roberts算子或Prewitt算子,计算所述至少部分像素中每一像素的水平梯度和垂直梯度;
基于每一像素的水平梯度和垂直梯度,计算出所述模板区域中至少部分像素的梯度幅值和梯度角度。
11.根据权利要求1所述的帧内预测方法,其特征在于,至少一个所述预定帧内预测模式包括平面模式、直流模式、水平模式和垂直模式中的至少一种。
12.根据权利要求1所述的帧内预测方法,其特征在于,所述基于所述当前块的所述至少一个角度帧内预测模式的预测值,得到所述当前块的预测块,包括:
每一帧内预测模式的加权系数是固定的;或,
每一帧内预测模式的加权系数与每一帧内预测模式的第一比值呈正相关,所述每一帧内预测模式的第一比值等于所述每一帧内预测模式的梯度幅值累加值与所有帧内预测模式的梯度幅值累加值之和的比值;或;
至少部分帧内预测模式中每一帧内预测模式的加权系数是固定的,剩余部分帧内预测模式中每一帧内预测模式的加权系数与其第二比值呈正相关,所述每一帧内预测模式的第二比值等于所述每一帧内预测模式的梯度幅值累加值与所述剩余部分帧内预测模式的梯度幅值累加值之和的比值。
13.根据权利要求1所述的帧内预测方法,其特征在于,
所述模板候选范围包括所述当前块的第一方向上的若干已重建像素行和当前块的第二方向上的若干已重建像素列。
14.根据权利要求1所述的帧内预测方法,其特征在于,所述方法还包括:
基于所述至少一个角度帧内预测模式,计算得到所述当前块对应的同位色度块的预测块;
其中,所述当前块及其对应的所述同位色度块分别为当前帧中同一区域的亮度分量及色度分量。
15.根据权利要求1所述的帧内预测方法,其特征在于,
所述当前块的模板候选范围为所述当前块对应的同位亮度块的重建块,其中,所述当前块及其对应的所述同位亮度块分别为当前帧中同一区域的色度分量及亮度分量。
16.一种图像编码方法,其特征在于,所述方法包括:
基于权利要求1-15中任一项所述的帧内预测方法确定图像中的当前块的预测块;
基于所述预测块对所述当前块进行编码。
17.根据权利要求16所述的图像编码方法,其特征在于,所述基于所述预测块对所述当前块进行编码,包括:
在编码码流中设置预设句法元素的值,其中所述预设句法元素不同取值代表是否启用所述帧内预测方法。
18.根据权利要求16所述的图像编码方法,其特征在于,所述基于所述预测块对所述当前块进行编码,包括:
对所述当前块的预测块对应的模板区域的索引信息进行编码,得到编码码流。
19.一种图像解码方法,其特征在于,所述方法包括:
基于权利要求1-15中任一项所述的帧内预测方法确定图像中的当前块的预测块;
基于所述预测块对所述当前块进行解码。
20.一种编码器,其特征在于,所述编码器包括处理器;所述处理器用于执行指令以实现如权利要求1-18中任一项所述方法的步骤。
21.一种解码器,其特征在于,所述解码器包括处理器;所述处理器用于执行指令以实现如权利要求1-15和19中的任一项所述方法的步骤。
22.一种计算机可读存储介质,其上存储有程序和/或指令,其特征在于,所述程序和/或指令被执行时实现权利要求1-19中任一项所述方法的步骤。
CN202210855366.1A 2022-07-20 2022-07-20 帧内预测方法、图像编码方法、图像解码方法及装置 Active CN114938449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210855366.1A CN114938449B (zh) 2022-07-20 2022-07-20 帧内预测方法、图像编码方法、图像解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210855366.1A CN114938449B (zh) 2022-07-20 2022-07-20 帧内预测方法、图像编码方法、图像解码方法及装置

Publications (2)

Publication Number Publication Date
CN114938449A CN114938449A (zh) 2022-08-23
CN114938449B true CN114938449B (zh) 2023-10-27

Family

ID=82868863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210855366.1A Active CN114938449B (zh) 2022-07-20 2022-07-20 帧内预测方法、图像编码方法、图像解码方法及装置

Country Status (1)

Country Link
CN (1) CN114938449B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4346202A1 (en) * 2022-09-27 2024-04-03 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data
CN117956163A (zh) * 2022-10-20 2024-04-30 腾讯科技(深圳)有限公司 一种视频处理方法及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724509A (zh) * 2012-06-19 2012-10-10 清华大学 视频序列的最优帧内编码模式选择方法及装置
AU2016202817A1 (en) * 2010-12-21 2016-05-26 Ntt Docomo, Inc. Enhanced intra-prediction coding using planar representations
CN110166775A (zh) * 2019-06-25 2019-08-23 浙江大华技术股份有限公司 帧内预测方法、编码器及存储装置
CN110290388A (zh) * 2019-06-17 2019-09-27 浙江大华技术股份有限公司 帧内预测方法、视频编码方法、计算机设备及存储装置
CN113709501A (zh) * 2019-12-23 2021-11-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113747176A (zh) * 2020-05-29 2021-12-03 Oppo广东移动通信有限公司 图像编码方法、图像解码方法及相关装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230961B2 (en) * 2016-06-03 2019-03-12 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
EP3709644A1 (en) * 2019-03-12 2020-09-16 Ateme Method for image processing and apparatus for implementing the same
EP3629579A1 (en) * 2018-09-27 2020-04-01 Ateme Method for image processing and apparatus for implementing the same
EP3962080A1 (en) * 2020-08-26 2022-03-02 Ateme Method and apparatus for image processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016202817A1 (en) * 2010-12-21 2016-05-26 Ntt Docomo, Inc. Enhanced intra-prediction coding using planar representations
CN102724509A (zh) * 2012-06-19 2012-10-10 清华大学 视频序列的最优帧内编码模式选择方法及装置
CN110290388A (zh) * 2019-06-17 2019-09-27 浙江大华技术股份有限公司 帧内预测方法、视频编码方法、计算机设备及存储装置
CN110166775A (zh) * 2019-06-25 2019-08-23 浙江大华技术股份有限公司 帧内预测方法、编码器及存储装置
CN113709501A (zh) * 2019-12-23 2021-11-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113747176A (zh) * 2020-05-29 2021-12-03 Oppo广东移动通信有限公司 图像编码方法、图像解码方法及相关装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Sample-based edge prediction based on gradients for lossless screen content coding in HEVC;Victor Sanchez;《2015 Picture Coding Symposium (PCS)》;全文 *
基于梯度的H.265/HEVC帧内预测硬件加速算法研究;李文武;孙书为;郭阳;;计算机工程与科学(第04期);全文 *

Also Published As

Publication number Publication date
CN114938449A (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
CN114938449B (zh) 帧内预测方法、图像编码方法、图像解码方法及装置
CN107046645B (zh) 图像编解码方法及装置
EP3334153B1 (en) Reference frame decoding method
CN105704491B (zh) 图像编码方法、解码方法、编码装置和解码装置
CN108271024B (zh) 图像编码、解码方法及装置
JP2020529766A (ja) 画像符号化/復号化方法、装置、及びビットストリームを保存した記録媒体
KR101912059B1 (ko) 화상 부호화 장치 및 화상 복호 장치
JP2019537337A (ja) 距離重み付けされた双方向性イントラ予測
US20190335197A1 (en) Image encoding/decoding method and device, and recording medium having bitstream stored thereon
CN113507603B (zh) 图像信号编码/解码方法及其设备
CN113784124B (zh) 使用多种形状子块进行精细划分的块匹配编码和解码方法
CN113395517A (zh) 视频信号编码/解码方法及其设备
KR20180104581A (ko) 비디오 부/복호화를 위한 비정형 블록 기반 움직임 예측 및 보상 방법 및 그 장치
CN106303535B (zh) 参考像素取自不同程度重构像素的图像压缩方法和装置
KR20200132753A (ko) 영상 부호화 및 복호화 방법 및 장치
CN110971897B (zh) 色度分量的帧内预测模式的编码、解码方法、设备和系统
WO2020001210A1 (zh) 图像的编码、解码方法及装置、电子设备及系统
CN115917611B (zh) 使用参考区域的视频编解码的方法和系统
CN112565769A (zh) 块划分方法、帧间预测方法、视频编码方法及相关装置
CN114885160A (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN105828080B (zh) 图像编解码方法及装置
JP7436663B2 (ja) サンプルブロックの変換済み表現についてのコーディングコンセプト
CN110650343B (zh) 图像的编码、解码方法及装置、电子设备及系统
TW202345593A (zh) 具有去方塊濾波之前的樣點和樣點自我調整偏移之前的樣點的自我調整迴路濾波器
CN117041571A (zh) 滤波预测方法、视频编码方法、视频解码方法及装置

Legal Events

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