CN113302934B - 图像预测方法、编码器、解码器以及存储介质 - Google Patents
图像预测方法、编码器、解码器以及存储介质 Download PDFInfo
- Publication number
- CN113302934B CN113302934B CN201980087536.2A CN201980087536A CN113302934B CN 113302934 B CN113302934 B CN 113302934B CN 201980087536 A CN201980087536 A CN 201980087536A CN 113302934 B CN113302934 B CN 113302934B
- Authority
- CN
- China
- Prior art keywords
- block
- upsampling
- mip
- prediction block
- current block
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种图像预测方法、编码器、解码器以及存储介质,该方法包括:确定当前块的基于矩阵的帧内预测模式MIP输入采样矩阵;根据MIP输入采样矩阵,计算当前块的MIP预测块;根据当前块的参数,对MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,第一滤波处理包括第一上采样处理,第一上采样处理表示对MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将第一上采样块和第二上采样块的加权均值作为第一滤波预测块;将第一滤波预测块设置为当前块的帧内预测块;其中,帧内预测块包含当前块中全部像素位置的预测采样值。
Description
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种图像预测方法、编码器、解码器以及存储介质。
背景技术
随着人们对视频显示质量要求的提高,高清和超高清视频等新视频应用形式应运而生。H.265/高效率视频编码(High Efficiency Video Coding,HEVC)已经无法满足视频应用迅速发展的需求,联合视频研究组(Joint Video Exploration Team,JVET)提出了下一代视频编码标准H.266/多功能视频编码(Versatile Video Coding,VVC),其相应的测试模型为VVC的参考软件测试平台(VVC Test Model,VTM)。
在H.266/VVC中,目前已经接受了基于矩阵的帧内预测(Matrix-based IntraPrediction,MIP)技术。该技术针对帧内亮度块种类的不同,在帧内亮度预测过程中增加了不同数量的MIP预测模式。在MIP预测的上采样过程中,由于部分参考像素并没有参与到上采样过程,导致上采样结果不够准确,降低了MIP预测的准确度。
发明内容
本申请实施例提供一种图像预测方法、编码器、解码器以及存储介质,可以充分利用参考像素信息,能够提高MIP预测的准确度。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种图像预测方法,应用于编码器或解码器,该方法包括:
确定当前块的基于矩阵的帧内预测模式MIP输入采样矩阵;
根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
第二方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元、第一计算单元、第一处理单元和第一预测单元;其中,
第一确定单元,配置为确定当前块的MIP输入采样矩阵;
第一计算单元,配置为根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
第一处理单元,配置为根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
第一预测单元,配置为将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
第三方面,本申请实施例提供了一种编码器,该编码器包括第一存储器和第一处理器;其中,
第一存储器,用于存储能够在第一处理器上运行的计算机程序;
第一处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种解码器,该解码器包括第二确定单元、第二计算单元、第二处理单元和第二预测单元;其中,
第二确定单元,配置为确定当前块的MIP输入采样矩阵;
第二计算单元,配置为根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
第二处理单元,配置为根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
第二预测单元,配置为将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
第五方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器;其中,
第二存储器,用于存储能够在第二处理器上运行的计算机程序;
第二处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第六方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有图像预测程序,所述图像预测程序被第一处理器或第二处理器执行时实现如第一方面所述的方法。
本申请实施例提供了一种图像预测方法、编码器、解码器以及存储介质,通过确定当前块的MIP输入采样矩阵;根据MIP输入采样矩阵,计算当前块的MIP预测块,其中,MIP预测块包含所述当前块中部分像素位置的预测采样值;根据当前块的参数,对MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,第一滤波处理包括第一上采样处理;将第一滤波预测块设置为当前块的帧内预测块,该帧内预测块包含当前块中全部像素位置的预测采样值。这样,由于第一上采样处理表示对MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,以及对MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,再将第一上采样块和第二上采样块的加权均值作为第一滤波预测块;如此,通过第一上采样块和第二上采样块能够充分利用当前块的参考像素信息,而且还能够充分考虑预测采样在不同方向上的预测特性,使得最终得到帧内预测块的上采样结果更准确,从而不仅提高了MIP预测的准确度,还提升了视频图像质量。
附图说明
图1为相关技术方案提供的一种MIP预测过程的流程框图;
图2A为本申请实施例提供的一种视频编码系统的组成框图;
图2B为本申请实施例提供的一种视频解码系统的组成框图;
图3为本申请实施例提供的一种图像预测方法的流程示意图;
图4为本申请实施例提供的另一种图像预测方法的流程示意图;
图5A为本申请实施例提供的一种参考像素位置的结构示意图;
图5B为本申请实施例提供的一种参考像素下采样处理的结构示意图;
图6A为相关技术方案提供的一种缓冲区填充的结构示意图;
图6B为相关技术方案提供的另一种缓冲区填充的结构示意图;
图7为本申请实施例提供的又一种图像预测方法的流程示意图;
图8为本申请实施例提供的一种生成预测值的结构示意图;
图9为本申请实施例提供的一种填充预测采样像素的结构示意图;
图10为本申请实施例提供的一种上采样先水平插值的结构示意图;
图11为本申请实施例提供的一种线性插值权重的分布示意图;
图12为本申请实施例提供的一种上采样再垂直插值的结构示意图;
图13为本申请实施例提供的另一种上采样先垂直插值的结构示意图;
图14为本申请实施例提供的另一种上采样再水平插值的结构示意图;
图15为本申请实施例提供的另一种填充预测采样像素的结构示意图;
图16为本申请实施例提供的一种预测采样像素所在行插值的结构示意图;
图17为本申请实施例提供的一种预测采样像素所在行和列插值的结构示意图;
图18为本申请实施例提供的一种子块内部上采样插值的结构示意图;
图19为本申请实施例提供的又一种上采样插值的结构示意图;
图20为本申请实施例提供的一种编码器的组成结构示意图;
图21为本申请实施例提供的一种编码器的具体硬件结构示意图;
图22为本申请实施例提供的一种解码器的组成结构示意图;
图23为本申请实施例提供的一种解码器的具体硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
在视频图像中,一般采用第一图像分量、第二图像分量和第三图像分量来表征编码块(Coding Block,CB);其中,这三个图像分量分别为一个亮度分量、一个蓝色色度分量和一个红色色度分量,具体地,亮度分量通常使用符号Y表示,蓝色色度分量通常使用符号Cb或者U表示,红色色度分量通常使用符号Cr或者V表示;这样,视频图像可以用YCbCr格式表示,也可以用YUV格式表示。
在本申请实施例中,第一图像分量可以为亮度分量,第二图像分量可以为蓝色色度分量,第三图像分量可以为红色色度分量,但是本申请实施例不作具体限定。
下面将针对目前MIP技术的预测过程进行相关技术方案描述。
MIP预测的输入数据,主要包括有:当前块的位置(xTbCmp,yTbCmp)、当前块所应用的MIP预测模式(可以用modeId表示)、当前块的高度(用nTbH表示)、当前块的宽度(用nTbW表示)以及是否需要转置的转置处理指示标志(可以用isTransposed表示)等;
MIP预测的输出数据,主要包括有当前块的预测块,该预测块中像素坐标[x][y]所对应的预测值为predSamples[x][y];其中,x=0,1,…,nTbW-1;y=0,1,…,nTbH-1。
这里,如图1所示,MIP预测过程可以分为四个步骤:配置核心参数11、获取参考像素12、构造输入采样13以及生成预测值14。具体地,对于配置核心参数11来说,根据帧内当前块的大小,可以将当前块划分为三类,用mipSizeId记录当前块的种类;而且不同种类的当前块,参考采样点数量和矩阵乘法输出采样点数量是不同的。对于获取参考像素12来说,预测当前块时,这时候当前块的上块和左块都是已编码的块,MIP技术的参考像素为当前块的上一行像素和左一列像素的重建值,获取当前块的上侧边相邻的参考像素(用refT表示)和左侧边相邻的参考像素(用refL表示)的过程即为参考像素的获取过程。对于构造输入采样13来说,该步骤用于矩阵乘法的输入,主要可以包括:获取参考采样131、构造参考采样缓冲区132和推导矩阵乘法输入采样133;其中,获取参考采样的过程为下采样过程,而构造参考采样缓冲区132又可以包括不需要转置时缓冲区的填充方式1321和需要转置时缓冲区的填充方式1322。对于生成预测值14来说,该步骤用于获取当前块的MIP预测值,主要可以包括:构造矩阵乘法输出采样块141、矩阵乘法输出采样嵌位142、矩阵乘法输出采样转置143和生成MIP最终预测值144;其中,构造矩阵乘法输出采样块141又可以包括获取权重矩阵1411、获取移位因子和偏移因子1412和矩阵乘法运算1413,生成MIP最终预测值144又可以包括生成不需要上采样的预测值1441和生成需要上采样的预测值1442。这样,在经过该四个步骤之后,可以得到当前块中至少一个像素的预测值。
在如图1所示的MIP预测过程中,针对生成MIP最终预测值144的步骤,当该步骤需要进行上采样处理时,目前的方案为固定上采样方式,即“先水平方向上采样、再垂直方向上采样”。在这种固定上采样方式的情况下,将会使得部分参考像素没有参与到上采样过程,比如对于左侧边的参考像素中部分参考像素始终没有作为上采样的参考,也即在上采样过程中将会丢失这一部分参考像素信息,从而导致所得到的上采样结果不够准确;另外,在上采样过程中,针对“先水平方向上采样、再垂直方向上采样”和“先垂直方向上采样、再水平方向上采样”这两种上采样方式,由于不同的采样顺序对左侧边的参考像素和上侧边的参考像素的参考程度不同,而且不同的采样顺序对MIP预测块在不同方向上的特性的参考程度也不同,使得两种上采样方式所得到的上采样结果不同,即MIP预测值不同;如此,针对任意的当前块,如果全部使用“先水平方向上采样、再垂直方向上采样”的固定上采样方式,那么会使得上采样结果不够准确,降低了MIP预测的准确度;从而将在MIP预测的上采样过程中引入更多的当前预测值与原始值之间的偏差,导致视频图像质量下降。
本申请实施例提供了一种图像预测方法,首先确定当前块的MIP输入采样矩阵;然后根据MIP输入采样矩阵,计算当前块的MIP预测块,其中,MIP预测块包含当前块中部分像素位置的预测采样值;再根据当前块的参数,对MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,第一滤波处理包括第一上采样处理;最后将第一滤波预测块设置为当前块的帧内预测块,该帧内预测块包含当前块中全部像素位置的预测采样值。这样,由于第一上采样处理表示对MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,以及对MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,再将第一上采样块和第二上采样块的加权均值作为第一滤波预测块;如此,通过第一上采样块和第二上采样块能够充分利用当前块的参考像素信息,而且还能够充分考虑预测采样在不同方向上的预测特性,使得最终得到帧内预测块的上采样结果更准确,从而不仅提高了MIP预测的准确度,还提升了视频图像质量。
下面将结合附图对本申请各实施例进行详细说明。
参见图2A,其示出了本申请实施例提供的一种视频编码系统的组成框图示例;如图2A所示,该视频编码系统10包括变换与量化单元101、帧内估计单元102、帧内预测单元103、运动补偿单元104、运动估计单元105、反变换与反量化单元106、滤波器控制分析单元107、滤波单元108、编码单元109和解码图像缓存单元110等,其中,滤波单元108可以实现去方块滤波及样本自适应缩进(Sample Adaptive0ffset,SAO)滤波,编码单元109可以实现头信息编码及基于上下文的自适应二进制算术编码(Context-based Adaptive BinaryArithmatic Coding,CABAC)。针对输入的原始视频信号,通过编码树块(Coding TreeUnit,CTU)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元101对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元102和帧内预测单元103是用于对该视频编码块进行帧内预测;明确地说,帧内估计单元102和帧内预测单元103用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元104和运动估计单元105用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元105执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元104基于由运动估计单元105所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元103还用于将所选择的帧内预测数据提供到编码单元109,而且运动估计单元105将所计算确定的运动向量数据也发送到编码单元109;此外,反变换与反量化单元106是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元107和滤波单元108去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元110的帧中的一个预测性块,用以产生经重构建的视频编码块;编码单元109是用于编码各种编码参数及量化后的变换系数,在基于CABAC的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该视频信号的码流;而解码图像缓存单元110是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元110中。
参见图2B,其示出了本申请实施例提供的一种视频解码系统的组成框图示例;如图2B所示,该视频解码系统20包括解码单元201、反变换与反量化单元202、帧内预测单元203、运动补偿单元204、滤波单元205和解码图像缓存单元206等,其中,解码单元201可以实现头信息解码以及CABAC解码,滤波单元205可以实现去方块滤波以及SAO滤波。输入的视频信号经过图2A的编码处理之后,输出该视频信号的码流;该码流输入视频解码系统20中,首先经过解码单元201,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元202进行处理,以便在像素域中产生残差块;帧内预测单元203可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元204是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元202的残差块与由帧内预测单元203或运动补偿单元204产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元205以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元206中,解码图像缓存单元206存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的原始视频信号。
本申请实施例中的图像预测方法,主要应用在如图2A所示的帧内预测单元103部分和如图2B所示的帧内预测单元203部分。也就是说,本申请实施例中的图像预测方法,既可以应用于视频编码系统,也可以应用于视频解码系统,甚至还可以同时应用于视频编码系统和视频解码系统,但是本申请实施例不作具体限定。还需要说明的是,当该图像预测方法应用于帧内预测单元103部分时,“当前块”具体是指帧内预测中的当前编码块;当该图像预测方法应用于帧内预测单元203部分时,“当前块”具体是指帧内预测中的当前解码块。
基于上述图2A或者图2B的应用场景示例,参见图3,其示出了本申请实施例提供的一种图像预测方法的流程示意图。如图3所示,该方法可以包括:
S301:确定当前块的MIP输入采样矩阵;
需要说明的是,视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块(Coding Block,CB)。这里,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的编码块。
其中,假定当前块进行第一图像分量预测,而且第一图像分量为亮度分量,即待预测图像分量为亮度分量,那么当前块也可以称为亮度块;或者,假定当前块进行第二图像分量预测,而且第二图像分量为色度分量,即待预测图像分量为色度分量,那么当前块也可以称为色度块。
还需要说明的是,对于MIP技术,在确定MIP输入采样矩阵之前,首先需要配置MIP核心参数。这里,MIP技术是根据针对当前块的宽度和高度将当前块划分为三类,用mipSizeId表示当前块的种类。针对不同种类的当前块,参考采样的个数(每边需要boundySize个参考采样点)、矩阵乘法输入采样的个数inSize和矩阵乘法输出采样的个数(排列成predSize×predSize)是不同的。
根据当前块的大小,确定MIP预测块大小索引序号mipSizeId的一种实施方式为:
如果当前块的宽度和高度均等于4,那么可以将mipSizeId的取值设置为0;
反之,如果当前块的宽度和高度之一等于4,或者当前块的宽度和高度均等于8,那么可以将mipSizeId的取值设置为1;
反之,如果当前块为其他大小的块,那么可以将mipSizeId的取值设置为2。
可选地,根据当前块的大小,确定MIP预测块大小索引序号mipSizeId的另一种实施方式为:
如果当前块的宽度和高度均等于4,那么可以将mipSizeId的取值设置为0;
反之,如果当前块的宽度和高度之一等于4,那么可以将mipSizeId的取值设置为1;
反之,如果当前块为其他大小的块,那么可以将mipSizeId的取值设置为2。
如此,根据mipSizeId的取值,可以根据表1所示的查找表(Look-Up Table,LUT),能够确定出相邻边界参考采样的个数(变量为boundarySize)和MIP预测块的大小(变量为predSize,MIP预测块的大小为predSize×predSize),并计算出用于MIP矩阵乘法运算过程的输入采样的个数(变量为inSize),计算公式如下,
inSize=(2×boundarySize)-(mipSizeId==2)?1:0 (1)
其中,式(1)中的运算符的运算规则与ITU-TH.265标准中定义的运算符相同,例如“==”为逻辑“相等(equal to)”运算符。
表1
mipSizeId | boundarySize | predSize |
0 | 2 | 4 |
1 | 4 | 4 |
2 | 4 | 8 |
这样,根据表1,当mipSizeId的取值为0时,boundarySize的取值可以为2,predSize的取值可以为4;也就是说,这时候参考像素为每个边选取两个像素点,矩阵乘法输出为4×4的MIP预测块;或者,当mipSizeId的取值为1时,boundarySize的取值可以为4,predSize的取值可以为4;也就是说,这时候参考像素为每个边选取四个像素点,矩阵乘法输出为4×4的MIP预测块;或者,当mipSizeId的取值为2时,boundarySize的取值可以为4,predSize的取值可以为8;也就是说,这时候参考像素为每个边选取四个像素点,矩阵乘法输出为8×8的MIP预测块。
可选地,还可以根据mipSizeId的取值,使用表2所示的LUT,同时能够确定出boundarySize、inSize和predSize的取值。
表2
mipSizeId | boundarySize | inSize | predSize |
0 | 2 | 4 | 4 |
1 | 4 | 8 | 4 |
2 | 4 | 7 | 8 |
这样,根据表2,当mipSizeId的取值为0时,boundarySize的取值可以为2,inSize的取值可以为4,predSize的取值可以为4;也就是说,这时候参考像素为每个边选取两个像素点,矩阵乘法输入采样点数量为四个,矩阵乘法输出为4×4的MIP预测块;或者,当mipSizeId的取值为1时,boundarySize的取值可以为4,inSize的取值可以为8,predSize的取值可以为4;也就是说,这时候参考像素为每个边选取四个像素点,矩阵乘法输入采样点数量为八个,矩阵乘法输出为4×4的MIP预测块;或者,当mipSizeId的取值为2时,boundarySize的取值可以为4,inSize的取值可以为7,predSize的取值可以为8;也就是说,这时候参考像素为每个边选取四个像素点,矩阵乘法输入采样点数量为七个,矩阵乘法输出为8×8的MIP预测块。
进一步地,在配置MIP核心参数之后,还需要获取参考像素,以构造出MIP输入采样矩阵。因此,在一些实施例中,如图4所示,对于S301来说,所述确定当前块的MIP输入采样矩阵,可以包括:
S301-1:确定当前块的相邻参考采样集;其中,所述相邻参考采样集中包括至少一个参考采样值;
需要说明的是,针对当前块来说,当左侧相邻区域、左下侧相邻区域、上侧相邻区域和右上侧相邻区域都是有效区域时,相邻参考采样集可以是从当前块的左侧相邻区域和上侧相邻区域中的参考像素中滤波得到的,也可以是从当前块的左侧相邻区域和左下侧相邻区域中的参考像素中滤波得到的,还可以是从当前块的上侧相邻区域和右上侧相邻区域中的参考像素中滤波得到的,本申请实施例不作具体限定。
在一些实施例中,对于S301-1来说,所述确定当前块的相邻参考采样集,可以包括:
获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上侧边、右上侧边、左侧边和左下侧边;
根据所获取的参考像素,确定所述当前块的相邻参考采样集。
这里,当前块的至少一个边可以是上侧边(也可以称为上行),也可以是右上侧边(也可以称为右上行),还可以是左侧边(也可以称为左列)或者左下侧边(也可以称为左下列);甚至还可以是两个边的组合,比如上侧边和左侧边;但是本申请实施例不作限定。
进一步地,在一些实施例中,如果当前块的至少一个边仅包括左侧边和/或上侧边,那么对于S301-1来说,所述确定当前块的相邻参考采样集,可以包括:
获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括上侧边和/或左侧边;
根据所获取的参考像素,确定所述当前块的相邻参考采样集。
需要说明的是,当前块的至少一个边可以包括当前块的左侧边和/或当前块的上侧边;即当前块的至少一个边可以是指当前块的上侧边,也可以是指当前块的左侧边,甚至还可以是指当前块的上侧边和左侧边,本申请实施例不作具体限定。
这样,当左侧相邻区域和上侧相邻区域全部为有效区域时,这时候相邻参考采样集可以是从与当前块的左侧边相邻的参考像素和与当前块的上侧边相邻的参考像素中滤波得到的,当左侧相邻区域为有效区域、而上侧相邻区域为无效区域时,这时候相邻参考采样集可以是从与当前块的左侧边相邻的参考像素中滤波得到的;当左侧相邻区域为无效区域、而上侧相邻区域为有效区域时,这时候相邻参考采样集可以是从与当前块的上侧边相邻的参考像素中滤波得到的。这里的滤波可以是下采样滤波处理,也可以是低通滤波处理,本申请实施例不作具体限定。
实际应用中,在预测当前块时,这时候当前块的上块和左块都是已经编码的;MIP技术的参考像素可以为当前块上一行相邻的参考像素的重建值和当前块左一列相邻的参考像素的重建值。这时候当前块的参考像素可以是获取当前块的上侧边对应的参考像素和左侧边对应的参考像素得到的。如图5A所示,其示出了本申请实施例提供的一种参考像素的位置示意图。在图5A中,左侧相邻区域和上侧相邻区域全部为有效区域;其中,当前块的上侧边对应的参考像素为用灰色填充的像素,可以用refT表示;当前块的左侧边对应的参考像素为用斜线填充的像素,可以用refL表示,那么当前块的参考像素可以包括refT和refL,而相邻参考采样集则是通过对refT和refL进行滤波得到的。这里,需特别注意的是,对于无效位置(比如图像的边界),可以采用与传统帧内预测技术中获取参考像素相同的方法进行填充。
这样,由于当前块的宽高和大于矩阵乘法输入采样点数量,而且MIP技术为了使用尺寸更小的矩阵,这时候还需要对所获得的参考像素(包括refT和refL)进行下采样处理,以得到相邻参考采样集。
在一些实施例中,可选地,所述根据所获取的参考像素,确定所述当前块的相邻参考采样集,可以包括:
对所述当前块的至少一个边相邻的参考像素进行第二滤波处理,确定所述至少一个边相邻的参考采样值;
根据所确定的参考采样值,组成所述当前块的相邻参考采样集。
进一步地,该方法还可以包括:
所述第二滤波处理包括下采样滤波处理或低通滤波处理。
在一些实施例中,可选地,所述根据所获取的参考像素,确定所述当前块的相邻参考采样集,可以包括:
基于所述当前块的至少一个边,确定参考像素的采样位置;
从所获取的参考像素中选取与所述采样位置对应的参考采样值,将选取得到的参数采样值组成所述相邻参考采样集。
进一步地,所述基于所述当前块的至少一个边,确定参考像素的采样位置,可以包括:
对所述当前块的至少一个边进行下采样处理,确定所述采样位置。
需要说明的是,在当前块的每条参考边(包括上侧边和左侧边)上需要分别采样出boundarySize个参考样本,而且boundarySize的取值与当前块的种类mipSizeId有关,如表1或表2所示。
具体地,对于参考像素refS,其参考像素的个数(即当前块的边长)为nTbS;这时候需要下采样出的参考样本个数为boundarySize。其中,每条参考边的采样率可以用bDwn表示。那么在参考像素refS中,对每bDwn个参考像素进行平均操作,求得的平均值作为参考采样redS中的一个采样点,可以根据式(2)计算redS。这里,S可以分别被W和H替代,其中,W表示上侧边,H表示左侧边。
经过式(2)的下采样处理之后,可以得到两部分的参考采样:对当前块的上侧边参考像素refT进行下采样处理得到的上侧边参考采样redT,以及对当前块的左侧边参考像素refL进行下采样处理得到的左侧边参考采样redL;也就是说,上侧边参考像素refT进行下采样处理后所得到的下采样值(共boundarySize个)存储在一维数组redT中,左侧边参考像素refL进行下采样处理后所得到的下采样值(共boundarySize个)存储在一维数组redL中。如图5B所示,以4×4的当前块为例,左侧边上进行下采样处理得到的redL包括有两个参考像素,即参考像素1和参考像素2;上侧边上进行下采样处理得到的redT包括有两个参考像素,即参考像素3和参考像素4;如此,当前块的相邻参考采样集包括有四个参考像素。
S301-2:将所述相邻参考采样集进行缓存,构造输入参考样值集;
需要说明的是,在得到相邻参考采样集之后,可以先构造一个输入参考样值集,以方便后续进行MIP输入采样矩阵的构造。
还需要说明的是,针对输入参考样值集的构造,在编码器侧和解码器侧的构造方式是有区别的,主要是和转置处理指示标志(可以用isTransposed表示)的确定方式有关。
当应用于编码器侧时,在一些实施例中,所述将所述相邻参考采样集进行缓存,构造输入参考样值集,可以包括:
利用率失真优化的方式,确定转置处理指示标志的取值;
当所述转置处理指示标志的取值为0时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,则将所述缓冲区确定为所述输入参考样值集;或者,
当所述转置处理指示标志的取值为1时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,对所述缓冲区进行转置处理,将转置后的缓冲区确定为所述输入参考样值集。
也就是说,利用率失真优化(Rate Distortion Optimization,RDO)的方式,可以确定出转置处理指示标志的取值;比如通过分别计算进行转置处理的第一代价值和不进行转置处理的第二代价值;如果第一代价值小于第二代价值,这时候可以确定转置处理指示标志的取值为1,此时可以将相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,或者将相邻参考采样集中左侧边对应的参考采样值存储在上侧边对应的参考采样值之前,即需要进行转置处理;如果第一代价值不小于第二代价值,这时候可以确定转置处理指示标志的取值为0,此时可以将相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,或者将相邻参考采样集中左侧边对应的参考采样值存储在上侧边对应的参考采样值之后,即不需要进行转置处理。
还需要说明的是,在编码器侧,还需要将所确定的转置处理指示标志的取值写入码流中,便于后续在解码器侧进行解析处理。如此,当应用于解码器侧时,在一些实施例中,所述将所述相邻参考采样集进行缓存,构造输入参考样值集,可以包括:
解析码流,获得转置处理指示标志的取值;
当所述转置处理指示标志的取值为0时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,则将所述缓冲区确定为所述输入参考样值集;或者,
当所述转置处理指示标志的取值为1时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,对所述缓冲区进行转置处理,将转置后的缓冲区确定为所述输入参考样值集。
需要说明的是,在解码器侧,可以通过解析码流,直接获取到转置处理指示标志的取值;然后根据转置处理指示标志的取值,确定是否需要对缓冲区进行转置处理。
也就是说,在确定出转置处理指示标志(isTransposed)的取值之后,假定缓冲区可以用pTemp表示,当isTransposed为0时,这时候在pTemp中先存储上侧边对应的所有参考像素redT,然后在redT全部存储之后的下一位,继续存储左侧边对应的所有参考像素redL;如图6A所示,以4×4的当前块为例,redL包括有参考像素1和参考像素2,redT包括有参考像素3和参考像素4;这样,pTemp中缓存顺序为参考像素3、参考像素4、参考像素1和参考像素2;由于上侧边对应的参考像素全部存储在左侧边对应的参考像素之前,此时不需要进行转置,所得到的缓冲区即为输入参考样值集。
当isTransposed为1时,这时候在pTemp中先存储左侧边对应的所有参考像素redL,然后在redL全部存储之后的下一位,继续存储上侧边对应的所有参考像素redT;如图6B所示,仍以4×4的当前块为例,redL包括有参考像素1和参考像素2,redT包括有参考像素3和参考像素4;这样,pTemp中缓存顺序为参考像素1、参考像素2、参考像素3和参考像素4;由于上侧边对应的参考像素全部存储在左侧边对应的参考像素之后,此时需要进行转置,然后将转置后的缓冲区确定为输入参考样值集。
S301-3:根据所述输入参考样值集,确定MIP输入采样矩阵。
需要说明的是,矩阵乘法输入采样(用P表示)是用于矩阵乘法过程的输入;通过与相应矩阵相乘,可以获得矩阵乘法输出采样(用predMip表示)。其中,矩阵乘法输入采样P是由缓冲区(用pTemp表示)、当前块的种类(用mipSizeId表示)、待预测图像分量对应的比特深度值(用BitDepth表示)确定,而矩阵乘法输入采样P中所包含的输入参考采样个数inSize则仅与当前块的种类mipSizeId有关,最终可以获取输入采样矩阵中第x输入采样值(用P[x]表示)。
这里,输入采样矩阵P[x]的具体构造过程如下,
当mipSizeId=0或1时,pTemp中第零个位置的样值需要减去1<<(BitDepth-1)作为输入采样矩阵中第零个位置的采样值,用P[0]表示;然后输入采样矩阵中其他位置的每一位置对应的采样值则需要由pTemp中对应位置的样值减去pTemp中第零个位置的值得到,可以用P[x]表示;具体如下所示,
当mipSizeId=2时,输入采样矩阵中其他位置的每一位置对应的采样值均是由pTemp中对应位置的后一个位置的样值减去减去pTemp中第零个位置对应的样值得到;具体如下所示,
p[x]=pTemp[x+1]-pTemp[0]for x=0,...,inSize-1 (4)
这样,仍以4×4的当前块为例,缓冲区pTemp中存储有四个值,但是输入采样个数为四个,这时候根据式(3)或式(4)可以确定出四个输入采样值,用p[x]表示,x=0,1,2,3;从而得到1×4的输入采样矩阵。
S302:根据所述MIP输入采样矩阵,计算当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
需要说明的是,在得到MIP输入采样矩阵之后,可以结合权重矩阵(可以用mWeight表示)、移位因子(可以用sW表示)和偏移因子(可以用fO表示)进行矩阵乘法运算,从而能够得到MIP预测块。
具体地,在MIP技术中,可以根据当前块的种类mipSizeId和MIP预测模式modeId来获取权重矩阵mWeight、移位因子sW和偏移因子fO;然后将输入采样矩阵P[x]、权重矩阵mWeight、移位因子sW和偏移因子fO输入矩阵乘法的过程,以获得矩阵乘法输出的MIP预测块(可以用predMip表示)。
这样,在得到MIP输入采样矩阵之后,可以首先计算MIP预测块中至少一个像素的临时预测值,再依次经过嵌位处理和转置处理等,可以确定出MIP预测块。因此,在一些实施例中,如图7所示,该方法可以包括:
S401:根据MIP输入采样矩阵,获得当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
需要说明的是,在得到输入采样矩阵之后,还可以获取当前块对应的权重矩阵(用mWeight表示)、移位因子(用sW表示)和偏移因子(用fO表示),然后利用第一预设计算模型来计算出MIP预测块(用predMip表示)中至少一个像素的临时预测值,以得到MIP预测块。
在一些实施例中,对于S401来说,所述根据MIP输入采样矩阵,获得当前块的MIP预测块,可以包括:
获取所述当前块对应的权重矩阵、移位因子和偏移因子;
利用第一预设计算模型对所述输入采样矩阵与所述权重矩阵、所述移位因子以及所述偏移因子进行矩阵乘法处理,计算得到所述MIP预测块。
也就是说,在编码器或解码器中,预先建立有权重矩阵表,并且该权重矩阵表存储在编码器或解码器中。这样,根据当前块种类mipSizeId和MIP预测模式modeId,可以通过查表的方式确定出当前块所需要使用的权重矩阵mWeight[x][y]。其中,权重矩阵mWeight[x][y]的大小仅与当前块的种类mipSizeId有关,如表3所示;在权重矩阵中,列数为矩阵乘法输入采样的个数inSize,行数为矩阵乘法输出采样的个数predSized×predSized。
表3
mipSizeId | 列数 | 行数 |
0 | 4 | 16 |
1 | 8 | 16 |
2 | 7 | 64 |
进一步地,在编码器或解码器中,还预先建立有移位因子表,并且该移位因子表也存储在编码器或解码器中。本申请实施例中,针对移位因子sW的确定可以包括如下三种方式:
在一种实施方式中,如表4所示,根据当前块的种类mipSizeId和MIP预测模式modeId,也可以通过查表的方式确定出矩阵乘法中所需要使用的移位因子sW。
表4
在另一种实施方式中,如表5所示,仅根据当前块的种类mipSizeId,也可以通过查表的方式确定出矩阵乘法中所需要使用的移位因子sW。
表5
MipSizeId | sW |
0 | 5 |
1 | 6 |
2 | 5 |
在又一种实施方式中,sW还可以设置为一个固定常数值。例如,针对不同种类的当前块以及不同的MIP预测模式,sW均可以设置为5;或者,针对不同种类的当前块以及不同的MIP预测模式,sW均可以设置为6;或者,针对不同种类的当前块以及不同的MIP预测模式,sW均可以设置为7。
进一步地,在编码器或解码器中,还预先建立有偏移因子表,并且该偏移因子表也存储在编码器或解码器中。本申请实施例中,针对偏移因子fO的确定也可以包括如下三种方式:
在一种实施方式中,如表6所示,根据当前块的种类mipSizeId和MIP预测模式modeId,也可以通过查表的方式确定出矩阵乘法中所需要使用的移位因子fO。
表6
在另一种实施方式中,如表7所示,仅根据当前块的种类mipSizeId,也可以通过查表的方式确定出矩阵乘法中所需要使用的移位因子fO。
表7
MipSizeId | sW |
0 | 5 |
1 | 6 |
2 | 5 |
在又一种实施方式中,fO还可以设置为一个固定常数值,通常取值范围为0~100。例如,针对不同种类的当前块以及不同的MIP预测模式,fO均可以设置为32;或者,针对不同种类的当前块以及不同的MIP预测模式,fO均可以设置为46;或者,针对不同种类的当前块以及不同的MIP预测模式,fO均可以设置为56;或者,针对不同种类的当前块以及不同的MIP预测模式,fO均可以设置为66。
这样,在获取到当前块种类mipSizeId和MIP预测模式modeId之后,可以利用查表的方式确定出权重矩阵mWeight[x][y]、移位因子sW和偏移因子fO,即可以计算出MIP预测块predMip[x][y],并且将predMip[x][y]中的采样点按照predSize×predSize排列成矩阵形式。其中,第一预设计算模型如下,
其中,[x][y]表示像素点的位置坐标,x表示水平方向,y表示垂直方向;inSize表示输入采样个数,predSize表示MIP预测块predMip的边长。这里,predSize仅与当前块种类mipSizeId有关;当mipSizeId=0或1时,所输出的MIP预测块为4×4,那么predSize等于4;当mipSizeId=2时,所输出的MIP预测块为8×8,那么predSize等于8。如此,根据上述式(5),可以计算出MIP预测块predMip中至少一个像素的临时预测值,以得到MIP预测块。
还需要说明的是,mWeight[x][y]为MIP矩阵,可以根据mipSizeId的取值和modeId的取值从预设的一组MIP矩阵中选择出对应的MIP矩阵,即权重矩阵。其中,modeId表示当前块的MIP预测模式;在编码器侧,仍然可以采用率失真优化的方式确定出当前块的MIP预测模式,即modeId的取值,然后将modeId的取值写入码流中;在解码器侧,可以通过解析码流来获得modeId的取值。
S402:对所述MIP预测块中的预测采样值进行嵌位处理,获得所述当前块的MIP预测块;
需要说明的是,在得到MIP预测块中至少一个像素的临时预测值之后,可以对MIP预测块中至少一个像素的临时预测值进行嵌位处理。具体地,如果MIP预测块中采样点的临时预测值小于0,那么可以将其设置为0;如果MIP预测块中采样点的临时预测值大于(1<<BitDepth)-1,那么可以将其设置为(1<<BitDepth)-1;从而可以使得MIP预测块中所有采样点的预测值都嵌位在0到(1<<BitDepth)-1之间。
这样,在对MIP预测块进行嵌位处理之后,可以得到MIP预测块中至少一个像素的预测值,且预测值的范围处于0到(1<<BitDepth)-1之间;然后再根据转置的符号位isTransposed确定是否需要转置处理,以确定出最终的MIP预测块。
S403:判断是否对所述MIP预测块进行转置处理;
S404:当判断结果为是时,对所述MIP预测块中的预测采样值进行转置处理,将转置后的MIP预测块确定为当前块的MIP预测块;
S405:当判断结果为否时,将所述MIP预测块确定为所述当前块的MIP预测块;
需要说明的是,当应用于编码器侧时,在一些实施例中,对于S403来说,所述判断是否对所述MIP预测块进行转置处理,可以包括:
利用率失真优化的方式,分别计算对所述MIP预测块进行转置处理的第一代价值和对所述MIP预测块不进行转置处理的第二代价值;
当所述第一代价值小于所述第二代价值时,确定对所述MIP预测块进行转置处理;或者,
当所述第一代价值不小于所述第二代价值时,确定不对所述MIP预测块进行转置处理。
还需要说明的是,当应用于解码器侧时,在一些实施例中,对于S403来说,所述判断是否对所述MIP预测块进行转置处理,可以包括:
解析码流,获得转置处理指示标志的取值;
根据所述转置处理指示标志的取值,判断是否对所述MIP预测块进行转置处理。
也就是说,转置处理指示标志用isTransposed表示,可以根据isTransposed的取值判断MIP预测块是否需要转置处理。具体地,在编码器侧,如果第一代价值小于第二代价值,这时候isTransposed的取值设置为1,那么可以确定需要对MIP预测块进行转置处理;或者,如果第一代价值不小于第二代价值,这时候isTransposed的取值设置为0,那么可以确定不需要对所述MIP预测块进行转置处理。而在解码器侧,通过解析码流可以获得转置处理指示标志的取值;如果解析出isTransposed的取值为1,那么可以确定需要对MIP预测块进行转置处理;或者,如果解析出isTransposed的取值为0,那么可以确定不需要对MIP预测块进行转置处理。
更具体地,当isTransposed为0时,表明了MIP预测块不需要转置处理,这时候可以直接得到MIP预测块;当isTransposed为0时,表明了MIP预测块需要转置处理,这时候可以采用下述公式进行转置处理,
这样,根据式(6),在对MIP预测块进行转置处理之后,可以获得转置后的MIP预测块,并且将转置后的MIP预测块置为MIP预测块。如此,在得到MIP预测块之后,可以根据MIP预测块以及当前块的参数,执行后续步骤,比如对MIP预测块进行第一滤波处理,以便最终确定出当前块的帧内预测块。
S303:根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块;
S304:将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
需要说明的是,假设待预测图像分量为亮度分量,那么当前块可以为当前亮度块,最终可以得到当前亮度块的亮度预测块,该亮度预测块提供了至少一个像素的亮度预测值;或者,假设待预测图像分量为色度分量,那么当前块可以为当前色度块,最终可以得到当前色度块的色度预测块,该色度预测块提供了至少一个像素的色度预测值,本申请实施例不作任何限定。
还需要说明的是,第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块。
具体地,在得到MIP预测块之后,由于MIP预测块的尺寸只包括有两种:4×4的MIP预测块和8×8的MIP预测块;这样,当前块的尺寸与MIP预测块的尺寸可能相同,也可能不相同;也就是说,MIP预测块对应的采样值不一定能够填满当前块,使得最终预测值的生成可能需要对MIP预测块进行第一滤波处理,即通过判断MIP预测块的尺寸与当前块的尺寸是否相同,以确定是否对MIP预测块进行第一滤波处理。
在一些实施例中,如图7所示,在步骤S405之后,该方法还可以包括:
S406:判断MIP预测块的尺寸与当前块的尺寸是否相同;
S407:当所述MIP预测块的尺寸与所述当前块的尺寸相同时,将所述当前块的帧内预测块设置为等于所述MIP预测块;其中,所述MIP预测块中包含所述当前块中全部像素位置的预测采样值;
也就是说,在得到MIP预测块之后,由于MIP预测块的尺寸只包括有两种:4×4的MIP预测块和8×8的MIP预测块;这样,当前块的尺寸与MIP预测块的尺寸可能相同,也可能不相同;也就是说,MIP预测块对应的采样值不一定能够填满当前块,使得最终预测值的生成可能需要对MIP预测块进行上采样操作,即通过判断MIP预测块的尺寸与当前块的尺寸是否相同,以确定是否对MIP预测块进行上采样处理。
具体地,当MIP预测块的尺寸与当前块的尺寸相同时,即MIP预测块的宽度和高度均与当前块相同,表明了不需要对MIP预测块进行上采样处理,这时候可以将MIP预测块直接填充进当前块中,即填充后的当前块内没有空余的像素点,此时当前块中每一像素的预测值可以直接置为MIP预测块中每一像素的预测值,如下所示,
predSamples[x][y]=predMip[x][y] (7)
其中,[x][y]表示像素点的位置坐标,x表示水平方向,y表示垂直方向;predSamples[x][y]表示当前块中位置坐标[x][y]的像素点所对应的预测值,predMip[x][y]表示MIP预测块中位置坐标[x][y]的像素点所对应的预测值。如此,根据式(7),可以将MIP预测块predMip[x][y]直接作为当前块的帧内预测块predSamples[x][y]。
S408:当所述MIP预测块的尺寸与所述当前块的尺寸不相同时,根据所述当前块的参数对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,将所述第一滤波预测块设置为所述当前块的帧内预测块。
也就是说,当MIP预测块的尺寸与当前块的尺寸不相同时,即MIP预测块的宽度和高度中至少之一与当前块不相同,这时候MIP预测块不能够填满当前块,即填充后的当前块内存在有空余的像素点,表明了这时候需要对MIP预测块进行第一滤波处理。
具体地,针对当前块来说,如果在水平方向和垂直方向上都需要进行上采样处理,那么可以先对MIP预测块进行水平方向上采样后再进行垂直方向上采样,以得到第一上采样块,可以用predSamples[x][y]表示;然后对MIP预测块进行垂直方向上采样后再进行水平方向上采样,以得到第二上采样块,可以用predSamplesTemp[x][y]表示;最后将predSamples[x][y]和predSamplesTemp[x][y]进行加权均值计算,最终得到当前块的帧内预测块。
示例性地,如果当前块的边长nTbS(这里,S可分别被W和H替代)均等于predMip的边长predSize(这里,predSize仅与当前块的种类mipSizeId有关)时,这时候可以直接将MIP预测块置为当前块的帧内预测块predSamples;否则,将需要对MIP预测块进行第一滤波处理,以得到当前块的帧内预测块predSamples。其中,帧内预测块predSamples的生成过程可以参见图8所示,仍以4×4的当前块为例,在图8中,由于当前块与MIP预测块的尺寸相同,这时候是不需要进行第一滤波处理,可以将MIP预测块直接置为当前块的帧内预测块。
在一些实施例中,对于S303来说,所述根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,可以包括:
当所述当前块的宽度和高度均大于所述MIP预测块的宽度和高度时,对所述MIP预测块进行所述第一滤波处理,得到所述第一滤波预测块。
进一步地,所述当前块的宽度和高度相等。
也就是说,在得到当前块的宽度和高度之后,还可以通过判断当前块的宽度和高度是否相等,以确定所选择的滤波处理方式或者上采样处理方式,进而确定出当前块的帧内预测块。其中,如果当前块的宽度和高度相等,表明了当前块为正方形块,这时候可以针对MIP预测块采用第一滤波处理(即第一上采样处理),用于计算得到第一滤波预测块,然后将其作为当前块的帧内预测块。
在本申请实施例中,假定MIP预测块的宽和高均为predSize,当前块的宽为nTbW,当前块的高为nTbH;那么根据MIP预测块的边长predSize和当前块的宽nTbW,可以计算得到水平上采样因子(用upHor表示);同样根据MIP预测块的边长predSize和当前块的高nTbH,可以计算得到垂直上采样因子(用upVer表示);具体计算公式如下,
这时候,可以根据水平上采样因子upHor和垂直上采样因子upVer对当前块进行填充,即进行上采样操作,填充对应位置的方式如下,
predSamples[(x+1)×upHor-1][(y+1)×upVer-1]=predMip[x][y] (9)
其中,x=0,1,...,nTbW–1;y=0,1,…,nTbH-1。
由于MIP预测块的尺寸与当前块的尺寸是否相同可以决定是否进行滤波处理,即根据MIP预测块的宽和高与当前块的宽和高是否相同决定是否进行滤波处理;而水平上采样因子upHor和垂直上采样因子upVer可以反映MIP预测块的宽和高与当前块的宽和高是否相同,也就是说,可以根据水平上采样因子upHor和垂直上采样因子upVer来判断是否需要进行第一滤波处理,比如第一上采样滤波处理。
其中,当水平上采样因子upHor和垂直上采样因子upVer都等于1时,这时候MIP预测块的尺寸与当前块的尺寸相同,将upHor=1和upVer=1代入式(9)中,可以得到predSamples[x][y]=predMip[x][y],这时候可以将MIP预测块predMip[x][y]直接作为当前块的帧内预测块predSamples[x][y]。需要注意的是,目前的MIP技术中,只有4×4的块不需要进行第一滤波处理。
当水平上采样因子upHor和垂直上采样因子upVer中均大于1时,这时候MIP预测块的尺寸与当前块的尺寸不相同,此时需要进行第一滤波处理来得到当前块的帧内预测块。
这里,先将上侧边参考像素refT填充到当前块的上一行的对应位置predSamples[x][-1],然后将左侧边参考像素refL填充到当前块的左一列的对应位置predSamples[-1][y];其中,x=0,1,...,nTbW–1;y=0,1,…,nTbH-1。这时候根据式(9)可以将MIP预测块predMip填充到当前块predSamples中对应位置((x+1)×upHor-1,(y+1)×upVer-1)中。可以理解为将当前块均等划分为predSize×predSize个子块,并且填充到每个子块的右下角位置,如图9所示,以32×32的当前块为例,其中,交叉线填充的像素为上侧边参考像素refT,斜线填充的像素为左侧边参考像素refL,黑色填充的像素为MIP预测块中预测采样像素所填充的位置。
如果水平上采样因子upHor大于1,这时候先进行水平方向的上采样处理,具体根据第二预设计算模型确定当前块中水平方向待填充像素位置的第一预测值;第二预设计算模型如下所示,
其中,(xHor,yHor)=(m×upHor-1,n×upVer-1),m=0,1,…,predSize-1,n=1,2,…,predSize,dX=1,2,…,upHor-1。
该水平方向的上采样过程如图10所示,仍以32×32的当前块为例,水平上采样时左侧边参考像素与MIP预测块填充到水平位置对应的预测采样像素都将作为水平上采样的参考点,这里也将其进行黑色填充;在图10中,所有黑色填充的像素均为水平上采样的参考点;其中,水平方向上每两个黑色填充的像素之间通过线性插值方式得到灰色填充像素的预测值。
其中,上采样方式即为采用线性插值的上采样方式,在每两个上采样参考点(用黑色填充的像素点)之间的每一个插值点(用灰色填充的像素点)的值都是由两个上采样参考点的加权平均得到。根据式(10)可以得到,左侧上采样参考点的权重为(upHor-dX)/upHor,右侧参考点的权重为dX/upHor;其中,dX表示当前插值点与左侧参考点之间的距离,且dX=1,2,…,upHor-1。也就是说,在水平方向的上采样过程中,权重均与水平上采样因子upHor有关。如图11所示,其示出了一种权重取值的示例,在该示例中,upHor=4。
进一步地,如果垂直上采样因子upVer大于1,这时候还需要进行垂直方向的上采样处理,该过程与水平方向的上采样处理的过程类似。具体根据第三预设计算模型确定当前块中垂直方向待填充像素位置的第一预测值;第三预设计算模型如下所示,
其中,(xVer,yVer)=(m,n×upVer-1),m=0,1,…,predSize-1,n=0,1,…,predSize-1,dY=1,2,…,upVer-1。
该垂直方向的上采样过程如图12所示,仍以32×32的当前块为例,在完成如图10所示的水平上采样之后,上侧边参考像素与当前块内所有已填充的像素点都将作为垂直上采样的参考点,这里仍然将其进行黑色填充;在图12中,所有黑色填充的像素均为垂直上采样的参考点;其中,垂直方向上每两个黑色填充的像素之间通过线性插值方式得到灰色填充像素的预测值。
其中,上采样方式即为采用线性插值的上采样方式,在每两个上采样参考点(用黑色填充的像素点)之间的每一个插值点(用灰色填充的像素点)的值都是由两个上采样参考点的加权平均得到。根据式(11)可以得到,上侧上采样参考点的权重为(upVer-dY)/upVer,下侧参考点的权重为dY/upVer;其中,dY表示当前插值点与上侧参考点之间的距离,且dY=1,2,…,upVer-1。也就是说,在垂直方向的上采样过程中,权重均与垂直上采样因子upVer有关。
可以看出,当水平上采样因子和垂直上采样因子都大于1,即水平方向和垂直方向均需要进行上采样处理时,这时候如果仅采用固定的一种上采样方式(比如“先水平方向上采样、再垂直方向上采样”),将会使得部分参考像素没有参与到上采样过程,具体地,对于左侧边的参考像素中部分参考像素值在上采样过程中始终没有作为上采样的参考,使得在上采样过程中将会丢失这一部分参考像素信息,从而导致所得到的上采样结果不够准确;因此,本申请实施例除了会采用“先水平方向上采样、再垂直方向上采样”的上采样方式之外,还会采用“先垂直方向上采样、再水平方向上采样”的另一种上采样方式,以充分利用当前块的参考像素信息。
具体地,针对另一种上采样方式,首先需要构造出临时预测块predSamplesTemp,然后将MIP预测块填充到临时预测块predSamplesTemp中,如下所示,
predSamplesTemp[(x+1)×upHor-1][(y+1)×upVer-1]=predMip[x][y] (12)
在构造出临时预测块predSamplesTemp之后,先将上侧边参考像素refT填充到当前块的上一行的对应位置predSamplesTemp[x][-1],然后将左侧边参考像素refL填充到当前块的左一列的对应位置predSamplesTemp[-1][y];其中,x=0,1,...,nTbW–1;y=0,1,…,nTbH-1。
由于水平上采样因子和垂直上采样因子都大于1,这时候先进行垂直方向的上采样处理,具体根据第四预设计算模型确定当前块中垂直方向待填充像素位置的第二预测值;第四预设计算模型如下所示,
其中,(xVer,yVer)=(m×upHor-1,n×upVer-1),m=1,2,…,predSize,n=0,1,…,predSize-1,dY=1,2,…,upVer-1。
该垂直方向的上采样过程如图13所示,仍以32×32的当前块为例,垂直上采样时上侧边参考像素与MIP预测块填充到垂直位置对应的预测采样像素都将作为垂直上采样的参考点,这里也将其进行黑色填充;在图13中,所有黑色填充的像素均为垂直上采样的参考点;其中,垂直方向上每两个黑色填充的像素之间通过线性插值方式得到灰色填充像素的预测值。
其中,上采样方式即为采用线性插值的上采样方式,在每两个上采样参考点(用黑色填充的像素点)之间的每一个插值点(用灰色填充的像素点)的值都是由两个上采样参考点的加权平均得到。根据式(13)可以得到,上侧上采样参考点的权重为(upVer-dY)/upVer,下侧参考点的权重为dY/upVer;其中,dY表示当前插值点与上侧参考点之间的距离,且dY=1,2,…,upVer-1。也就是说,在垂直方向的上采样过程中,权重均与垂直上采样因子upVer有关。
进一步地,再进行水平方向的上采样处理,该过程与垂直方向的上采样处理的过程类似。具体根据第五预设计算模型确定当前块中水平方向待填充像素位置的第二预测值;第五预设计算模型如下所示,
其中,(xHor,yHor)=(m×upHor-1,n),m=0,1,…,predSize-1,n=0,1,…,predSize-1,dX=1,2,…,upHor-1。
该水平方向的上采样过程如图14所示,仍以32×32的当前块为例,在完成如图13所示的垂直上采样之后,左侧边参考像素与当前块内所有已填充的像素点都将作为水平上采样的参考点,这里仍然将其进行黑色填充;在图14中,所有黑色填充的像素均为水平上采样的参考点;其中,水平方向上每两个黑色填充的像素之间通过线性插值方式得到灰色填充像素的预测值。
其中,上采样方式即为采用线性插值的上采样方式,在每两个上采样参考点(用黑色填充的像素点)之间的每一个插值点(用灰色填充的像素点)的值都是由两个上采样参考点的加权平均得到。根据式(14)可以得到,左侧上采样参考点的权重为(upHor-dX)/upHor,右侧参考点的权重为dX/upHor;其中,dX表示当前插值点与左侧参考点之间的距离,且dX=1,2,…,upHor-1。也就是说,在水平方向的上采样过程中,权重均与水平上采样因子upHor有关。
这样,在得到第一上采样块和第二上采样块之后,可以通过均值计算,以得到当前块的帧内预测块。具体地,可以包括:利用第六预设计算模型对所述第一上采样块中第一像素位置的预测值和所述第二上采样块中第一像素位置的预测值进行均值计算,计算出当前块中第一像素位置的帧内预测值,以得到所述帧内预测块;其中,帧内预测块至少包括所述第一像素。
也就是说,在得到第一上采样块(用predSamples[x][y]表示)和第二上采样块(用predSamplesTemp[x][y]表示)之后,可以利用第六预设计算模型求取均值,进而得到当前块的帧内预测块。这里,第六预设计算模型如上述的式(15)所示,如下所示,
predSamples[x][y]=(predSamples[x][y]+predSamplesTemp[x][y]+1)>>1 (15)
其中,x=0,1,…,nTbW-1,y=0,1,…,nTbH-1;nTbW表示当前块的宽度,nTbH表示当前块的高度。这样,根据式(15)所示的第六预设计算模型,可以计算得到当前块的帧内预测块。
通过本申请实施例所提供的图像预测方法,可以对上采样过程的优化,即使用“先水平方向上采样、再垂直方向上采样”和“先垂直方向上采样、再水平方向上采样”的两种上采样方式所得到的预测值进行平均值计算,从而得到最终的目标预测值。如此,由于参考像素refT和refL中所有像素都将用作上采样的参考,并且还充分考虑了不同方向上的预测特性,从而使得MIP预测更加准确。例如,该图像预测方法应用在VTM7.0上,以24帧间隔在AllIntra条件下进行测试,基于同等峰值信噪比(Peak Signal to Noise Ratio,PSNR)下的平均码率变化,可以在三个图像分量(比如Y,Cb和Cr)上分别获得-0.02%、-0.02%、-0.01%的BD-rate变化;尤其是在大分辨率的序列上,将会有更好的性能表现,具体地,在Class A1上可以达到Y有-0.04%的BD-rate变化,从而不仅提高了MIP预测的准确度,还提升了视频图像质量。
进一步地,在能够充分利用参考像素refT和refL中所有像素的基础上,对于MIP预测块填充到当前块中预测采样像素所在的水平行和垂直列内的预测像素点,当第一滤波处理为第一上采样处理方式时,“先水平方向上采样、再垂直方向上采样”和“先垂直方向上采样、再水平方向上采样”这两种上采样操作所插值的预测值是相同的,这时候存在冗余操作。为了避免冗余操作,下面将针对其他上采样处理方式进行描述。
在一些实施例中,对于S303来说,所述根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,可以包括:
根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理;
根据所设置的第一滤波处理,得到所述第一滤波预测块;其中,所述第一滤波处理还包括下述一个或多个:第二上采样处理、第三上采样处理、第四上采样处理和第五上采样处理;
所述第二上采样处理表示对所述MIP预测块进行水平方向上采样处理得到所述第一滤波预测块;
所述第三上采样处理表示对所述MIP预测块进行垂直方向上采样处理得到所述第一滤波预测块;
所述第四上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到所述第一滤波预测块;
所述第五上采样处理表示对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到所述第一滤波预测块。
需要说明的是,第一滤波处理除了可以为第一上采样处理之外,还可以为第二上采样处理、第三上采样处理、第四上采样处理和第五上采样处理等其中至少一项或多项;其中,对于第一滤波处理的选择,可以是根据当前块的参数(比如当前块的宽度和高度)来确定的。
还需要说明的是,在得到当前块的宽度和高度之后,还可以通过判断当前块的宽度和高度是否相等,以确定所选择的上采样处理方式,进而确定出当前块的帧内预测块。因此,在一些实施例中,具体地,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,可以包括:
当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度时,将所述第一滤波处理设置为所述第一上采样处理。
进一步地,所述当前块的宽度和高度相等。
也就是说,在得到当前块的宽度和高度之后,还可以通过判断当前块的宽度和高度是否相等,以确定所选择的上采样处理方式,进而确定出当前块的帧内预测块。其中,如果当前块的宽度和高度相等,表明了当前块为正方形块,这时候可以针对MIP预测块采用第一上采样处理,用于计算得到第一滤波预测块,然后将其作为当前块的帧内预测块。
进一步地,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,可以包括:
当所述当前块的高度与所述MIP预测块的高度相等、所述当前块的宽度大于所述MIP预测块的宽度时,将所述第一滤波处理设置为所述第二上采样处理。
也就是说,当水平上采样因子大于1且垂直上采样因子等于1时,这时候可以利用第二上采样处理对MIP预测块进行第一滤波处理,即利用第二预设计算模型仅对MIP预测块进行水平方向上采样处理,以得到第一滤波预测块,将所得到的第一滤波预测块确定为当前块的帧内预测块。
进一步地,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,可以包括:
当所述当前块的宽度与所述MIP预测块的宽度相等、所述当前块的高度大于所述MIP预测块的高度时,将所述第一滤波处理设置所述第三上采样处理。
也就是说,当垂直上采样因子大于1且水平上采样因子等于1时,这时候可以利用第三上采样处理对MIP预测块进行第一滤波处理,即利用第四预设计算模型仅对MIP预测块进行垂直方向上采样处理,以得到第一滤波预测块,将所得到的第一滤波预测块确定为当前块的帧内预测块。
进一步地,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,可以包括:
当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度、所述当前块的宽度大于所述当前块的高度时,将所述第一滤波处理设置为所述第四上采样处理。
也就是说,当水平上采样因子大于1且垂直上采样因子大于1时,但是当前块的宽度大于当前块的高度,这时候可以利用第二预设计算模型对MIP预测块进行水平方向上采样处理后再利用第三预设计算模型对MIP预测块进行垂直方向上采样处理,以得到第一滤波预测块,将所得到的第一滤波预测块确定为当前块的帧内预测块。
进一步地,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,可以包括:
当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度、所述当前块的高度大于所述当前块的宽度时,将所述第一滤波处理设置为所述第五上采样处理。
也就是说,当水平上采样因子大于1且垂直上采样因子大于1时,但是当前块的高度大于当前块的宽度,这时候可以利用第四预设计算模型对MIP预测块进行垂直方向上采样处理后再利用第五预设计算模型对MIP预测块进行水平方向上采样处理,以得到第一滤波预测块,将所得到的第一滤波预测块确定为当前块的帧内预测块。
换句话说,在将MIP预测块填充到当前块predSamples之后,若水平上采样因子upHor和垂直上采样因子upVer均等于1,则此时的predSamples就是当前块的帧内预测值;否则,需要根据水平上采样因子upHor和垂直上采样因子upVer来确定上采样处理方式,如下所示:
在一种实施方式中,如果upHor大于1且upVer等于1,那么帧内预测块predSamples中预测采样像素所在的水平行内待填充像素位置的预测值可以通过第二上采样处理插值得到,这时候无需进行垂直上采样;
在另一种实施方式中,如果upHor大于1且upVer等于1,那么帧内预测块predSamples中预测采样像素所在的垂直列内待填充像素位置的预测值可以通过第三上采样处理插值得到,这时候无需进行水平上采样。
需要说明的是,这两种实施方式可以任意调换顺序,无顺序之分。除了这两种实施方式之外,本申请实施例还存在一种实施方式,即:
在又一种实施方式中,如果upHor大于1且upVer大于1,那么可以将当前块划分为多个子块,针对每个子块内未插值的像素点可以使用类似于PLANAR预测方式进行滤波处理,可以确定出每个子块内待填充像素位置的预测值,以得到帧内预测块。
具体地,在一些实施例中,当水平上采样因子大于1且垂直上采样因子大于1时,该方法还可以包括:
基于所述MIP预测块,将所述当前块划分为多个子块;其中,每一子块内包括有所述MIP预测块中的一个预测采样像素;
根据所述MIP预测块、所述水平上采样因子和所述垂直上采样因子,利用第二预设计算模型确定所述当前块中预测采样像素所在的水平行内待填充像素位置的第一预测值,利用第四预设计算模型确定所述当前块中预测采样像素所在的垂直列内待填充像素位置的第二预测值;
根据所述当前块中预测采样像素所在的水平行内待填充像素位置的第一预测值和所述当前块中预测采样像素所在的垂直列内待填充像素位置的第二预测值,利用第七预设计算模型确定至少一个子块中待填充像素位置的预测值,以得到帧内预测块。
需要说明的是,下面以32×32的当前块为例,具体操作步骤如下,
首先,如图15所示,将MIP预测块填充到当前块中;在图15中,可以看作将当前块均等划分为predSize×predSize个子块,并且MIP预测块内的每一预测采样像素填充到每个子块的右下角位置;其中,交叉线填充的像素为上侧边参考像素refT,斜线填充的像素为左侧边参考像素refL,黑色填充的像素为MIP预测块中预测采样像素所填充的位置。
其次,如图16所示,将预测采样像素所在的水平行内待填充像素位置的预测值通过水平上采样方式插值得到,比如可以根据式(10)所示的第二预设计算模型计算得到;在图16中,所有黑色填充的像素均为上采样的参考点;其中,水平方向上每两个黑色填充的像素之间通过线性插值方式得到灰色填充像素的预测值。
再次,如图17所示,将预测采样像素所在的垂直列内待填充像素位置的预测值通过垂直上采样方式插值得到,比如可以根据式(13)所示的第四预设计算模型计算得到;在图17中,所有黑色填充的像素均为上采样的参考点;其中,垂直方向上每两个黑色填充的像素之间通过线性插值方式得到灰色填充像素的预测值;而且图17中预测采样像素所在的水平行和垂直列内所有待填充像素位置的预测值均已经插值得到。
最后,经过上述步骤之后,相当于将当前块分割为predSize×predSize个子块;如图18所示,其给出了其中一个子块的示例;从图18可以看出,该子块的上下左右四个边界均已有预测值;其中,对于当前块上边界的子块所在上边界的预测值为上侧边参考像素值,对于当前块左边界的子块所在左边界的预测值为左侧边参考像素值,其他边界的预测值可以为上采样插值得到的;针对未插值部分,比如图18中的白色填充的像素(即待填充像素位置),这时候可以使用两个方向上线性插值的均值作为预测值。
进一步地,在一些实施例中,所述利用第七预设计算模型确定至少一个子块中待填充像素位置的预测值,可以包括:
利用第七预设计算模型对所述至少一个子块中待填充像素位置进行双线性插值计算,得到所述至少一个子块中待填充像素位置的预测值。
也就是说,以图18为例,图18为图17中一个子块的示例;用黑色填充的四个角为预测采样像素,而用灰色填充的像素为插值所得到的预测点;这时候针对白色填充的像素进行插值,该插值方法可以为双线性插值方式,即在两个方向上线性插值的平均;其中,以圆圈标记的待填充像素位置为例,其上下左右四个参考像素也以圆圈进行标出。其中,双线性插值方式如下,
第一步,进行水平方向插值;其中,左侧像素点的权重为(upHor-dX)/upHor,右侧像素点的权重为dX/upHor,dX表示当前插值点与左侧像素点之间的距离;
第二步,进行垂直方向插值;其中,上侧像素点的权重为(upVer-dY)/upVer,下侧像素点的权重为dY/upVer,dY表示当前插值点与上侧像素点之间的距离;
第三步,将第一步所得到的插值与第二步所得到的插值求取均值,以得到待填充像素位置的预测值。
需要说明的是,本申请实施例的计算结果与前述实施例中根据第一上采样块和第二上采样块求取均值的计算结果相同。另外,针对第三步,还可以通过四个点的加权平均计算来实现。因此,在一些实施例中,所述利用第七预设计算模型确定至少一个子块中待填充像素位置的预测值,可以包括:
利用第七预设计算模型对所述至少一个子块中待填充像素位置进行加权平均计算,得到所述至少一个子块中待填充像素位置的预测值。
需要说明的是,针对四个点的加权平均计算,每个点的权重如下:上侧点的权重为(upVer-dY)/(2×upVer),下侧点的权重为dY/(2×upVer),左侧点的权重为(upHor-dX)/(2×upHor),右侧点的权重为dX/(2×upHor);其中,dY为当前插值点与上侧点之间的距离,dX为当前插值点与左侧点之间的距离。这里,如果不考虑除法过程中整型保留精度问题,那么加权平均方式与双线性插值方式的计算结果将是一致的。
还需要说明的是,针对四个点的加权平均计算,每个点的权重还可以如下:上侧点的权重为(upVer-dY)/(upHor+upVer),下侧点的权重为dY/(upHor+upVer),左侧点的权重为(upHor-dX)/(upHor+upVer),右侧点的权重为dX/(upHor+upVer);其中,dY为当前插值点与上侧点之间的距离,dX为当前插值点与左侧点之间的距离。这里,当upHor和upVer相等时,这两种加权平均计算结果是相同的;当upHor和upVer不相等时,这两种加权平均计算结果也是不同的。
除此之外,在本申请实施例中,可以在应用所有当前块种类的MIP预测模式下,同时增加一些当前块尺寸,当前块种类或者MIP预测模式等限制条件。比如,当mipSizeId等于2时,这时候应用本申请实施例中非固定的上采样方式,即可以利用“先水平方向上采样、再垂直方向上采样”得到第一上采样块和利用“先垂直方向上采样、再水平方向上采样”得到第二上采样块并且对其求取均值得到;否则,这时候应用相关技术方案中固定的上采样方式,即“先水平方向上采样、再垂直方向上采样”。或者,由于本申请实施例针对大尺寸的当前块效果更佳,故可以限制大尺寸的当前块使用本申请实施例中非固定的上采样方式,而小尺寸的当前块使用相关技术方案中固定的上采样方式;或者,限制条件还可以为mipSizeId,也可以为当前预测块的宽度和高度等信息,本申请实施例均不作具体限定。
也就是说,针对当前块的帧内预测块,还可以充分考虑其他MIP相关信息,比如当前块的大小、modeId、mipSizeId以及isTransposed等信息所带来的特性,进而设计不同的上采样方式。下面将以当前块的大小(即当前块的宽度和高度)为例进行详细说明。
在一些实施例中,该方法还可以包括:
获取所述当前块的宽度和高度;
判断所述当前块的宽度和高度是否相等;
当判断结果为是时,将所述第一滤波处理设置为第一上采样处理。
可选地,在一些实施例中,当判断结果为否时,该方法还可以包括:
当所述当前块的宽度大于高度时,将所述第一滤波处理设置为第四上采样处理;
当所述当前块的高度大于宽度时,将所述第一滤波处理设置为第五上采样处理。
可选地,在一些实施例中,当判断结果为否时,该方法还可以包括:
当所述当前块的宽度大于第一预设倍数的高度时,将所述第一滤波处理设置为第四上采样处理;
当所述当前块的高度大于第二预设倍数的宽度时,将所述第一滤波处理设置为第五上采样处理。
需要说明的是,在得到当前块的宽度和高度之后,可以通过判断当前块的宽度和高度是否相等,以确定所选择的上采样处理方式,进而确定出当前块的帧内预测块。
具体地,针对帧内预测块的确定方式,假定第一种确定方式为,直接使用第一上采样处理计算得到第一滤波预测块作为帧内预测块。即先执行“先水平方向上采样、再垂直方向上采样”以计算出当前块的第一上采样块(可以用predSamples0[x][y]表示),再执行“先垂直方向上采样、再水平方向上采样”以计算出当前块的第二上采样块(可以用predSample1[x][y]表示),然后计算predSamples0[x][y]和predSamples1[x][y]之间的均值,将该均值确定为当前块的帧内预测块。
第二种确定方式为,对于正方形块(即宽度和高度相等的当前块),可以直接使用如第一种确定方式来计算predSamples;而对于矩形块(即宽度和高度不相等的当前块),可以采用下述方式:
在一种实施方式中,根据当前块的宽度和高度来确定帧内预测块;具体地,如果当前块的宽度大于高度,那么可以直接使用第四上采样处理计算得到第一滤波预测块作为帧内预测块,即执行“先水平方向上采样、再垂直方向上采样”以计算出第一滤波预测块;反之,如果当前块的高度大于宽度,那么可以直接使用第五上采样处理计算得到第一滤波预测块作为帧内预测块,即执行“先垂直方向上采样、再水平方向上采样”以计算出第一滤波预测块。
在另一种实施方式中,仍然根据当前块的宽度和高度来确定目前预测块;具体地,如果当前块的宽度大于高度的某个倍数(比如,宽度大于等于4倍高度),那么可以直接使用第四上采样处理计算得到第一滤波预测块作为帧内预测块;反之,如果当前块的高度大于宽度的某个倍数(比如,高度大于等于4倍宽度),那么可以直接使用第五上采样处理计算得到第一滤波预测块作为帧内预测块;反之,对于其他情况,可以直接使用如第一种确定方式来计算帧内预测块、或者也可以固定采用第四上采样处理(即“先水平方向上采样、再垂直方向上采样”)来计算帧内预测块、或者还可以固定采用第五上采样处理(即“先垂直方向上采样、再水平方向上采样”)来计算帧内预测块;本申请实施例不作具体限定。
另外,除了可以根据当前块的宽度和高度进行判断之外,还可以根据水平方向的水平上采样因子或者垂直方向的垂直上采样因子进行判断;比如判断水平上采样因子是否大于1和/或垂直上采样因子是否大于1,来确定上采样方式,进而确定出帧内预测块。
进一步地,对于上述的帧内预测块的确定方式,在具体的实施方式上,除了可以采用与现有技术类似的逐行或逐列的顺序进行水平方向或垂直方向的上采样操作之外,还可以以子块的方式进行上采样操作。
如图19所示,黑色填充的像素表示MIP预测块predMip中填充到当前块的对应位置,白色填充的像素表示当前块中待进行上采样操作的待填充像素位置,而交叉线填充和斜线填充的像素为参考像素(包括左侧边参考像素refL和上侧边参考像素refT)。这样,以图19为例,一种实施方式为从子块0开始,按照光栅扫描的顺序,依次计算各个子块的预测值;或者,另一种实施方式是首先计算子块0的预测值,然后同时计算两个子块1的预测值,然后再同时计算子块2的预测值。即沿着当前块对角线的方向,依次计算与该对角线(加粗实线箭头表示)垂直的对角线(虚线表示)上各个子块的上采样值,从而确定出当前块的帧内预测块;这种方式下,以子块的方式进行上采样操作,可以获得编码效率的提升。
在本申请实施例中,当该图像预测方法应用于编码器侧时,可以利用该图像预测方法计算出当前块中至少一个像素的预测值,然后可以根据当前块中至少一个像素的真实值与预测值之间的差值计算出至少一个像素对应的残差,并将计算得到的残差写入码流中;另外,在得到转置处理指示标志(isTransposed)之后,还需要将isTransposed的取值也写入码流中;然后该码流由编码器侧传输到解码器侧;对应地,当该图像预测方法应用于解码器侧时,可以通过解析码流来确定isTransposed的取值,然后确定是否需要转置处理;另外,还可以利用该图像预测方法计算出当前块中至少一个像素的预测值,然后还可以通过解析码流来直接获得至少一个像素对应的残差,再根据当前块中至少一个像素的预测值和残差,能够得出当前块中至少一个像素的真实值。
本实施例提供了一种图像预测方法,确定当前块的MIP输入采样矩阵;根据MIP输入采样矩阵,计算当前块的MIP预测块,其中,MIP预测块包含当前块中部分像素位置的预测采样值;根据当前块的参数,对MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,第一滤波处理包括第一上采样处理;将第一滤波预测块设置为当前块的帧内预测块,其中,帧内预测块包含当前块中全部像素位置的预测采样值。这样,由于第一上采样处理表示对MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,以及对MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,再将第一上采样块和第二上采样块的加权均值作为第一滤波预测块;如此,通过第一上采样块和第二上采样块能够充分利用当前块的参考像素信息,而且还能够充分考虑预测采样在不同方向上的预测特性,使得最终得到帧内预测块的上采样结果更准确,从而不仅提高了MIP预测的准确度,还提升了视频图像质量。
基于前述实施例相同的发明构思,参见图20,其示出了本申请实施例提供的一种编码器200的组成结构示意图。如图200所示,该编码器200可以包括:第一确定单元2001、第一计算单元2002、第一处理单元2003和第一预测单元2004;其中,
第一确定单元2001,配置为确定当前块的MIP输入采样矩阵;
第一计算单元2002,配置为根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
第一处理单元2003,配置为根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
第一预测单元2004,配置为将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
在上述方案中,第一处理单元2003,具体配置为当所述当前块的宽度和高度均大于所述MIP预测块的宽度和高度时,对所述MIP预测块进行所述第一滤波处理,得到所述第一滤波预测块。
在上述方案中,所述当前块的宽度和高度相等。
在上述方案中,参见图20,编码器200还可以包括第一设置单元2005,配置为根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理;
第一处理单元2003,配置为根据所设置的第一滤波处理,得到所述第一滤波预测块;其中,所述第一滤波处理还包括下述一个或多个:第二上采样处理、第三上采样处理、第四上采样处理和第五上采样处理;
所述第二上采样处理表示对所述MIP预测块进行水平方向上采样处理得到所述第一滤波预测块;
所述第三上采样处理表示对所述MIP预测块进行垂直方向上采样处理得到所述第一滤波预测块;
所述第四上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到所述第一滤波预测块;
所述第五上采样处理表示对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到所述第一滤波预测块。
在上述方案中,第一设置单元2005,还配置为当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度时,将所述第一滤波处理设置为所述第一上采样处理。
在上述方案中,所述当前块的宽度和高度相等。
在上述方案中,第一设置单元2005,具体配置为当所述当前块的高度与所述MIP预测块的高度相等、所述当前块的宽度大于所述MIP预测块的宽度时,将所述第一滤波处理设置为所述第二上采样处理。
在上述方案中,第一设置单元2005,具体配置为当所述当前块的宽度与所述MIP预测块的宽度相等、所述当前块的高度大于所述MIP预测块的高度时,将所述第一滤波处理设置所述第三上采样处理。
在上述方案中,第一设置单元2005,具体配置为当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度、所述当前块的宽度大于所述当前块的高度时,将所述第一滤波处理设置为所述第四上采样处理。
在上述方案中,第一设置单元2005,具体配置为当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度、所述当前块的高度大于所述当前块的宽度时,将所述第一滤波处理设置为所述第五上采样处理。
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种计算机存储介质,应用于编码器200,该计算机存储介质存储有图像预测程序,所述图像预测程序被第一处理器执行时实现前述实施例中任一项所述的方法。
基于上述编码器200的组成以及计算机存储介质,参见图21,其示出了本申请实施例提供的编码器200的具体硬件结构示例,可以包括:第一通信接口2101、第一存储器2102和第一处理器2103;各个组件通过第一总线系统2104耦合在一起。可理解,第一总线系统2104用于实现这些组件之间的连接通信。第一总线系统2104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图21中将各种总线都标为第一总线系统2104。其中,
第一通信接口2101,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器2102,用于存储能够在第一处理器2103上运行的计算机程序;
第一处理器2103,用于在运行所述计算机程序时,执行:
确定当前块的MIP输入采样矩阵;
根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
可以理解,本申请实施例中的第一存储器2102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器2102旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器2103可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器2103中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器2103可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器2102,第一处理器2103读取第一存储器2102中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器2103还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种编码器,该编码器可以包括第一确定单元、第一计算单元、第一处理单元和第一预测单元;其中,第一确定单元,配置为确定当前块的MIP输入采样矩阵;第一计算单元,配置为根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块;第一处理单元,配置为根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理;第一预测单元,配置为将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,帧内预测块包含所述当前块中全部像素位置的预测采样值。这样,由于第一上采样处理表示对MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,以及对MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,再将第一上采样块和第二上采样块的加权均值作为第一滤波预测块;如此,通过第一上采样块和第二上采样块能够充分利用当前块的参考像素信息,而且还能够充分考虑预测采样在不同方向上的预测特性,使得最终得到帧内预测块的上采样结果更准确,从而不仅提高了MIP预测的准确度,还提升了视频图像质量。
基于前述实施例相同的发明构思,参见图22,其示出了本申请实施例提供的一种解码器220的组成结构示意图。如图22所示,该解码器220可以包括:第二确定单元2201、第二计算单元2202、第二处理单元2203和第二预测单元2204;其中,
第二确定单元2201,配置为确定当前块的MIP输入采样矩阵;
第二计算单元2202,配置为根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
第二处理单元2203,配置为根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
第二预测单元2204,配置为将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
在上述方案中,第二处理单元2203,具体配置为当所述当前块的宽度和高度均大于所述MIP预测块的宽度和高度时,对所述MIP预测块进行所述第一滤波处理,得到所述第一滤波预测块。
在上述方案中,所述当前块的宽度和高度相等。
在上述方案中,参见图22,解码器220还可以包括第二设置单元2205,配置为根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理;
第二处理单元2203,配置为根据所设置的第一滤波处理,得到所述第一滤波预测块;其中,所述第一滤波处理还包括下述一个或多个:第二上采样处理、第三上采样处理、第四上采样处理和第五上采样处理;
所述第二上采样处理表示对所述MIP预测块进行水平方向上采样处理得到所述第一滤波预测块;
所述第三上采样处理表示对所述MIP预测块进行垂直方向上采样处理得到所述第一滤波预测块;
所述第四上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到所述第一滤波预测块;
所述第五上采样处理表示对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到所述第一滤波预测块。
在上述方案中,第二设置单元2205,还配置为当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度时,将所述第一滤波处理设置为所述第一上采样处理。
在上述方案中,所述当前块的宽度和高度相等。
在上述方案中,第二设置单元2205,具体配置为当所述当前块的高度与所述MIP预测块的高度相等、所述当前块的宽度大于所述MIP预测块的宽度时,将所述第一滤波处理设置为所述第二上采样处理。
在上述方案中,第二设置单元2205,具体配置为当所述当前块的宽度与所述MIP预测块的宽度相等、所述当前块的高度大于所述MIP预测块的高度时,将所述第一滤波处理设置所述第三上采样处理。
在上述方案中,第二设置单元2205,具体配置为当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度、所述当前块的宽度大于所述当前块的高度时,将所述第一滤波处理设置为所述第四上采样处理。
在上述方案中,第二设置单元2205,具体配置为当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度、所述当前块的高度大于所述当前块的宽度时,将所述第一滤波处理设置为所述第五上采样处理。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于解码器220,该计算机存储介质存储有图像预测程序,所述图像预测程序被第二处理器执行时实现前述实施例中任一项所述的方法。
基于上述解码器220的组成以及计算机存储介质,参见图23,其示出了本申请实施例提供的解码器220的具体硬件结构示例,可以包括:第二通信接口2301、第二存储器2302和第二处理器2303;各个组件通过第二总线系统2304耦合在一起。可理解,第二总线系统2304用于实现这些组件之间的连接通信。第二总线系统2304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图23中将各种总线都标为第二总线系统2304。其中,
第二通信接口2301,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器2302,用于存储能够在第二处理器2303上运行的计算机程序;
第二处理器2303,用于在运行所述计算机程序时,执行:
确定当前块的MIP输入采样矩阵;
根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
可选地,作为另一个实施例,第二处理器2303还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器2302与第一存储器2102的硬件功能类似,第二处理器2303与第一处理器2103的硬件功能类似;这里不再详述。
本实施例提供了一种解码器,该解码器可以包括第二确定单元、第二计算单元、第二处理单元和第二预测单元;其中,第二确定单元,配置为确定当前块的MIP输入采样矩阵;第二计算单元,配置为根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块;第二处理单元,配置为根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理;第二预测单元,配置为将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,帧内预测块包含所述当前块中全部像素位置的预测采样值。这样,由于第一上采样处理表示对MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,以及对MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,再将第一上采样块和第二上采样块的加权均值作为第一滤波预测块;如此,通过第一上采样块和第二上采样块能够充分利用当前块的参考像素信息,而且还能够充分考虑预测采样在不同方向上的预测特性,使得最终得到帧内预测块的上采样结果更准确,从而不仅提高了MIP预测的准确度,还提升了视频图像质量。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,首先确定当前块的MIP输入采样矩阵;然后根据MIP输入采样矩阵,计算当前块的MIP预测块,其中,MIP预测块包含当前块中部分像素位置的预测采样值;再根据当前块的参数,对MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,第一滤波处理包括第一上采样处理;最后将第一滤波预测块设置为当前块的帧内预测块,该帧内预测块包含当前块中全部像素位置的预测采样值。这样,由于第一上采样处理表示对MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,以及对MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,再将第一上采样块和第二上采样块的加权均值作为第一滤波预测块;如此,通过第一上采样块和第二上采样块能够充分利用当前块的参考像素信息,而且还能够充分考虑预测采样在不同方向上的预测特性,使得最终得到帧内预测块的上采样结果更准确,从而不仅提高了MIP预测的准确度,还提升了视频图像质量。
Claims (15)
1.一种图像预测方法,应用于编码器或解码器,所述方法包括:
确定当前块的基于矩阵的帧内预测模式MIP输入采样矩阵;
根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
2.根据权利要求1所述的方法,其中,所述根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,包括:
当所述当前块的宽度和高度均大于所述MIP预测块的宽度和高度时,对所述MIP预测块进行所述第一滤波处理,得到所述第一滤波预测块。
3.根据权利要求2所述的方法,其中,所述方法还包括:
所述当前块的宽度和高度相等。
4.根据权利要求1所述的方法,其中,所述根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,包括:
根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理;
根据所设置的第一滤波处理,得到所述第一滤波预测块;其中,所述第一滤波处理还包括下述一个或多个:第二上采样处理、第三上采样处理、第四上采样处理和第五上采样处理;
所述第二上采样处理表示对所述MIP预测块进行水平方向上采样处理得到所述第一滤波预测块;
所述第三上采样处理表示对所述MIP预测块进行垂直方向上采样处理得到所述第一滤波预测块;
所述第四上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到所述第一滤波预测块;
所述第五上采样处理表示对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到所述第一滤波预测块。
5.根据权利要求4所述的方法,其中,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,包括:
当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度时,将所述第一滤波处理设置为所述第一上采样处理。
6.根据权利要求5所述的方法,其中,所述方法还包括:
所述当前块的宽度和高度相等。
7.根据权利要求4所述的方法,其中,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,包括:
当所述当前块的高度与所述MIP预测块的高度相等、所述当前块的宽度大于所述MIP预测块的宽度时,将所述第一滤波处理设置为所述第二上采样处理。
8.根据权利要求4所述的方法,其中,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,包括:
当所述当前块的宽度与所述MIP预测块的宽度相等、所述当前块的高度大于所述MIP预测块的高度时,将所述第一滤波处理设置为所述第三上采样处理。
9.根据权利要求4所述的方法,其中,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,包括:
当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度、所述当前块的宽度大于所述当前块的高度时,将所述第一滤波处理设置为所述第四上采样处理。
10.根据权利要求4所述的方法,其中,所述根据所述当前块的尺寸和所述MIP预测块的尺寸,设置所述第一滤波处理,包括:
当所述当前块的高度和宽度均大于所述MIP预测块的高度和宽度、所述当前块的高度大于所述当前块的宽度时,将所述第一滤波处理设置为所述第五上采样处理。
11.一种编码器,所述编码器包括第一确定单元、第一计算单元、第一处理单元和第一预测单元;其中,
所述第一确定单元,配置为确定当前块的MIP输入采样矩阵;
所述第一计算单元,配置为根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
所述第一处理单元,配置为根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
所述第一预测单元,配置为将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
12.一种编码器,所述编码器包括第一存储器和第一处理器;其中,
所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至10任一项所述的方法。
13.一种解码器,所述解码器包括第二确定单元、第二计算单元、第二处理单元和第二预测单元;其中,
所述第二确定单元,配置为确定当前块的MIP输入采样矩阵;
所述第二计算单元,配置为根据所述MIP输入采样矩阵,计算所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中部分像素位置的预测采样值;
所述第二处理单元,配置为根据所述当前块的参数,对所述MIP预测块进行第一滤波处理,得到第一滤波预测块,其中,所述第一滤波处理包括第一上采样处理,所述第一上采样处理表示对所述MIP预测块进行水平方向上采样后再进行垂直方向上采样得到第一上采样块,对所述MIP预测块进行垂直方向上采样后再进行水平方向上采样得到第二上采样块,将所述第一上采样块和所述第二上采样块的加权均值作为所述第一滤波预测块;
所述第二预测单元,配置为将所述第一滤波预测块设置为所述当前块的帧内预测块;其中,所述帧内预测块包含所述当前块中全部像素位置的预测采样值。
14.一种解码器,所述解码器包括第二存储器和第二处理器;其中,
所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
所述第二处理器,用于在运行所述计算机程序时,执行如权利要求1至10任一项所述的方法。
15.一种计算机存储介质,其中,所述计算机存储介质存储有图像预测程序,所述图像预测程序被第一处理器或第二处理器执行时实现如权利要求1至10任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/127635 WO2021127923A1 (zh) | 2019-12-23 | 2019-12-23 | 图像预测方法、编码器、解码器以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113302934A CN113302934A (zh) | 2021-08-24 |
CN113302934B true CN113302934B (zh) | 2022-10-18 |
Family
ID=76573453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980087536.2A Active CN113302934B (zh) | 2019-12-23 | 2019-12-23 | 图像预测方法、编码器、解码器以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113302934B (zh) |
WO (1) | WO2021127923A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101715135A (zh) * | 2009-09-30 | 2010-05-26 | 武汉大学 | 基于模板匹配的自适应帧内预测滤波编码方法 |
WO2012047047A2 (ko) * | 2010-10-06 | 2012-04-12 | 에스케이텔레콤 주식회사 | 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치 |
CN108810552A (zh) * | 2017-04-28 | 2018-11-13 | 华为技术有限公司 | 图像预测方法和相关产品 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100370076B1 (ko) * | 2000-07-27 | 2003-01-30 | 엘지전자 주식회사 | 다운 컨버젼 기능을 갖는 비디오 디코더 및 비디오 신호를디코딩 하는 방법 |
WO2012008039A1 (ja) * | 2010-07-15 | 2012-01-19 | 株式会社 東芝 | 画像符号化方法及び画像復号化方法 |
US8885701B2 (en) * | 2010-09-08 | 2014-11-11 | Samsung Electronics Co., Ltd. | Low complexity transform coding using adaptive DCT/DST for intra-prediction |
US9894353B2 (en) * | 2011-06-13 | 2018-02-13 | Sun Patent Trust | Method and apparatus for encoding and decoding video using intra prediction mode dependent adaptive quantization matrix |
GB2552323B (en) * | 2016-07-18 | 2020-04-29 | Imagination Tech Ltd | Mip map compression |
-
2019
- 2019-12-23 WO PCT/CN2019/127635 patent/WO2021127923A1/zh active Application Filing
- 2019-12-23 CN CN201980087536.2A patent/CN113302934B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101715135A (zh) * | 2009-09-30 | 2010-05-26 | 武汉大学 | 基于模板匹配的自适应帧内预测滤波编码方法 |
WO2012047047A2 (ko) * | 2010-10-06 | 2012-04-12 | 에스케이텔레콤 주식회사 | 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치 |
CN108810552A (zh) * | 2017-04-28 | 2018-11-13 | 华为技术有限公司 | 图像预测方法和相关产品 |
Non-Patent Citations (1)
Title |
---|
Liu Hongbin 等.CE3-3:Up-sampling with a fixed order in MIP.《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》.2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113302934A (zh) | 2021-08-24 |
WO2021127923A1 (zh) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113924775B (zh) | 基于矩阵的帧内预测中的限制的上采样 | |
TWI755665B (zh) | 使用具有鄰近取樣縮減的線性或仿射變換的內預測 | |
JP2016201814A (ja) | ビデオコード化のためのサブ画素の値を補間するための適応サポート | |
CN113225562B (zh) | 图像分量预测方法、编码器、解码器以及存储介质 | |
CN113891082B (zh) | 图像分量预测方法、编码器、解码器以及存储介质 | |
EP4090014A1 (en) | Encoding method, decoding method, encoder, decoder, and storage medium | |
CN116601957A (zh) | 一种帧内预测方法、装置及解码器和编码器 | |
CN112616057A (zh) | 图像预测方法、编码器、解码器以及存储介质 | |
US20220329809A1 (en) | Transform method, encoder, decoder, and storage medium | |
US20220329862A1 (en) | Transformation method, encoder, decoder, and storage medium | |
CN113302934B (zh) | 图像预测方法、编码器、解码器以及存储介质 | |
CN112532997B (zh) | 图像预测方法、编码器、解码器以及存储介质 | |
CN113261279B (zh) | 预测值的确定方法、编码器、解码器以及存储介质 | |
EP3952308B1 (en) | Image component prediction method and device, and computer storage medium | |
CN113411588B (zh) | 预测方向的确定方法、解码器以及计算机存储介质 | |
WO2021134637A1 (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 |