图像预测处理方法、装置、终端及计算机可读存储介质与流程

文档序号:21083882发布日期:2020-06-12 16:45阅读:169来源:国知局
图像预测处理方法、装置、终端及计算机可读存储介质与流程

本发明涉及视频编码技术领域,尤其涉及一种图像预测处理方法、装置、终端及计算机可读存储介质。



背景技术:

随着视频编码技术的发展,多种视频编码标准应运而生。在视频编码标准中,通常提供了多种预测模式。目前,为了在视频编码过程中确定最终采用的预测模式,需要计算每一种预测模式下的率失真代价,但率失真代价的计算量较大,导致确定预测模式的过程耗时长,效率低。



技术实现要素:

本发明实施例提供了一种图像预测处理方法、装置、终端及计算机可读存储介质,可以自适应且快速的确定编码单元的编码预测方式。

一方面,本发明实施例提供了一种图像预测处理方法,所述方法包括:

确定图像帧中编码单元的关联单元集合,所述关联单元集合包括关联编码单元,所述关联编码单元包括:所述图像帧中与所述编码单元相邻的目标单元,以及所述图像帧中与所述编码单元具有父子关系的编码单元中的至少一种;

根据所述关联单元集合中各关联编码单元的预测模式确定第一统计信息;

获取所述编码单元所对应的前处理图像块的第二统计信息;

根据所述第一统计信息以及所述第二统计信息确定所述编码单元的编码预测方式。

另一方面,本发明实施例提供了一种图像预测处理装置,所述装置包括:

处理单元,用于确定图像帧中编码单元的关联单元集合,所述关联单元集合包括关联编码单元,所述关联编码单元包括:所述图像帧中与所述编码单元相邻的目标单元,以及所述图像帧中与所述编码单元具有父子关系的编码单元中的至少一种;

获取单元,用于根据所述关联单元集合中各关联编码单元的预测模式确定第一统计信息;

所述获取单元,还用于获取所述编码单元所对应的前处理图像块的第二统计信息;

所述处理单元,还用于根据所述第一统计信息以及所述第二统计信息确定所述编码单元的编码预测方式。

再一方面,本发明实施例提供了一种终端,包括:处理器和存储器,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行上述图像预测处理方法。

相应地,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述图像预测处理方法。

本发明实施例通过根据与编码单元相邻的和/或与编码单元具有父子关系的单元的预测模式确定第一统计信息,并获取编码单元所对应的前处理图像块的第二统计信息,根据第一统计信息和第二统计信息确定编码单元的编码预测方式,从而可以自适应且快速的确定编码单元的编码预测方式,进而提高编码预测方式的确定效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种hevc编码框架的示意图;

图2是本发明实施例涉及的帧间预测模式对应的分割方式示意图;

图3是本发明实施例提供的一种预测流程示意图;

图4是本发明实施例提供的一种图像预测处理方法的流程示意图;

图5是本发明实施例提供的一种单元之间的位置关系示意图;

图6是本发明实施例提供的一种确定编码预测方式的流程示意图;

图7是本发明实施例提供的另一种确定编码预测方式的流程示意图;

图8是本发明实施例提供的另一种预测流程示意图;

图9是本发明实施例提供的又一种预测流程示意图;

图10是本发明实施例提供的一种图像预测处理装置的结构示意图;

图11是本发明实施例提供的一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。首先对本发明实施例所涉及的几个名词进行简介:

图像帧:一段视频由若干帧图像帧构成。视频压缩编码一般采取基于块的编码方式,即把视频中的一帧图像帧分成多个互不重叠的块,之后对这些块进行编码。每个图像帧在视频编码时可以采用帧间预测编码方式或帧内预测编码方式。

在高效率视频编码(highefficientvideocoding,hevc)标准中,提出了编码单元、预测单元和变换单元的概念。编码单元(codinguint,cu):是一个图像帧中进行编码的基本单元。编码单元可以是64×64、32×32、16×16、8×8等像素尺寸的块。预测单元(predictunit,pu):是一个图像帧中进行预测的基本单元。预测单元可以是64×64、64×32、32×64、32×32、32×16、16×32、16×16、16×8、8×16、8×8、8×4、4×8、4×4等像素尺寸的块。变换单元(transformunit,tu):是一个图像帧中呈现残差(residual)或变换系数(transformcoefficients)的基本单元。变换单元也可以是32×32、16×16、8×8、4×4等像素尺寸的块。

db:deblockingfilter,去块滤波;sao:sampleadaptiveoffset,自适应像素补偿;me:motionestimation,运动估计;rdcost:ratedistortioncost,率失真代价,用于多种选项中的择优。

视频编码技术的发展趋势是高清晰度、高帧率以及高压缩率,现在普及的视频压缩编码标准如h.264在原理上存在一定的局限性,不能满足视频编码技术的上述需求,因此高效率视频编码hevc标准应运而生。如图1所示,示出了一个标准的hevc编码框架。将图像帧fn送入到编码器,先按照一定的尺寸大小(例如64×64)将图像帧fn分割成多个编码树单元(codingtreeuint,ctu),编码树单元ctu经过深度划分得到多个编码单元cu,每个cu包含预测单元pu和变换单元tu。然后对每个pu进行预测处理,得到预测值,将预测值与输入数据相减,得到残差;对残差进行离散余弦变换(dct)和量化,得到残差系数,然后将残差系数送入熵编码模块进行处理得到码流。同时,残差系数经反量化、反变换之后,得到重建图像帧的残差值,再和预测值相加得到重建图像帧f'n,重建图像帧f'n经环内滤波之后,进入参考帧队列,作为下一图像帧的参考图像,从而依次向后编码。

pu预测分为帧内预测和帧间预测,先在相同预测类型内,不同pu间进行比较,找到最优的分割模式,再在帧内预测模式和帧间预测模式之间进行比较,找到当前cu下的最优预测模式;同时对cu进行基于四叉树结构的自适应变换(residualquad-treetransform,rqt),找出最优的tu模式;最后将图像帧分成一个个cu,以及cu对应的pu与tu。

如图2所示,示出了pu的8种分割模式。其中,帧间预测有7种分割模式,分别为2n×2n模式、矩形分割(rectangle,rect)模式和非对称分割(asymmetricmotionpartioning,amp)模式,其中,rect模式有2种具体的分割模式,分别为2n×n和n×2n;amp模式下有4种具体的分割模式,分别为2n×nu、2n×nd、nl×2n和nr×2n;上述7种分割模式对应7种帧间预测模式,分别为帧间2n×2n模式、帧间2n×n模式、帧间n×2n模式、帧间2n×nu模式、帧间2n×nd模式、帧间nl×2n模式、帧间nr×2n模式;除了上述7种帧间预测模式之外,hevc标准中还提供了帧间skip模式和帧间merge模式2种帧间预测模式。帧间预测需要从上述9种帧间预测模式中找出最优的一种预测模式,即率失真代价最小的预测模式。将帧间预测的最优结果与帧内预测的最优结果进行比较,决定最终选择帧间预测还是帧内预测。

目前在进行预测时,通常是按照图3所示的流程,先采用各种帧间(inter)预测模式进行预测,再采用帧内(intra)预测模式进行预测。上述预测过程需要采用每一种预测模式进行预测,可能存在大量的冗余计算。例如,如果事先可以确定出遍历计算后最优预测模式极大可能为intra预测模式,则在进行预测时,只进行intra预测,不再进行inter预测模式,进而可以节省inter预测,提高预测处理效率。基于此,本发明实施例提供了一种图像预测处理方法,通过利用编码单元的相邻单元的数量和最优预测模式、与编码单元之间具有父子关系的编码单元的数量和最优预测模式,以及图像帧前处理得到的信息中编码单元对应的图像块的数量、最优预测模式和率失真代价信息,自适应且快速的确定编码单元的编码预测方式,该编码预测方式用于指示选取何种预测模式以及预测模式的处理顺序,从而有效提高编码预测方式的确定效率。以下进行详细说明。

请参阅图4,为本发明实施例提供的一种图像预测处理方法的流程示意图。本发明实施例中所描述的图像预测处理方法可以应用于包括视频编码功能的终端中,例如计算机、视频编码器、服务器等。该方法包括:

s401、终端确定图像帧中编码单元的关联单元集合。

本发明实施例中,编码单元为图像帧分割成的任一个编码树单元ctu再经过深度划分得到的任一个编码单元。终端根据图像帧中划分得到的各单元之间的位置关系以及划分层级关系,确定编码单元的关联单元集合。关联单元集合由编码单元的关联编码单元组成,关联编码单元包括:图像帧中与编码单元相邻的目标单元,以及图像帧中与编码单元具有父子关系的编码单元中的一种或者多种。

在一实施例中,目标单元是图像帧中与编码单元在预设方向上相邻的相邻单元,该预设方向可以是左方、左上方、上方、右上方中的一种或者多种。目标单元可以是图像帧中的预测单元或者编码单元。与编码单元具有父子关系的编码单元包括:与编码单元之间具有父关系的编码单元,即编码单元所属的父编码单元,或者与编码单元之间具有子关系的编码单元,即编码单元划分成的子编码单元。

s402、所述终端根据所述关联单元集合中各关联编码单元的预测模式确定第一统计信息。

本发明实施例中,终端获取关联单元集合中各关联编码单元的预测模式,该预测模式包括第一预测模式或者第二预测模式;根据获取到的各关联编码单元的预测模式,统计关联单元集合中预测模式为第一预测模式的关联编码单元的数量;将关联单元集合中预测模式为第一预测模式的关联编码单元的数量确定为第一统计信息。在一实施方式中,第一预测模式为帧内预测模式,即intra预测模式;第二预测模式为帧间预测模式,即inter预测模式。

在另一实施例中,终端获取关联单元集合中关联编码单元的总数量,以及获取关联单元集合中各关联编码单元的预测模式;根据获取到的各关联编码单元的预测模式,统计关联单元集合中预测模式为第一预测模式的关联编码单元的数量;将关联单元集合中预测模式为第一预测模式的关联编码单元的数量、以及关联单元集合中关联编码单元的总数量确定为第一统计信息。

在一实施方式中,关联编码单元的总数量:为关联单元集合中编码单元的父编码单元的数量与目标单元的数量的和,或者为关联单元集合中编码单元的子编码单元的数量与目标单元的数量的和。预测模式为第一预测模式的关联编码单元的数量:为预测模式为第一预测模式的目标单元的数量,与编码单元的父编码单元中预测模式为第一预测模式的编码单元的数量的和,或者为预测模式为第一预测模式的目标单元的数量,与编码单元的子编码单元中预测模式为第一预测模式的编码单元的数量的和。

例如,第一预测模式为intra预测模式,目标单元为预测单元。如图5所示,e表示编码单元,a、b、c、d为与编码单元e相邻的预测单元pu,且预测单元a、b、c、d的最优预测模式已确定。501表示编码单元e的父编码单元,502表示编码单元e的子编码单元,图5中编码单元e按照中点位置划分为了4个子编码单元。预测单元a、b、c、d以及编码单元e的父编码单元或者子编码单元均为编码单元e的关联编码单元。统计编码单元e在a、b、c、d四个位置上的相邻预测单元是否存在,并记录相邻预测单元的数量,记作nblock1,记录相邻预测单元中最优预测模式为intra预测模式的单元的个数,记作nintra1。由于编码顺序的原因,编码单元e的父编码单元和子编码单元中只有一种情况存在;即如果父编码单元存在,子编码单元就不存在,如果子编码单元存在,父编码单元就不存在。

如果编码单元e的父编码单元存在,且父编码单元只有一个,则将nblock1的数量加1,即得到编码单元e的关联编码单元的总数量nblock。如果父编码单元的最优预测模式为intra预测模式,则将nintra1的数量加1,即得到编码单元e的关联编码单元中预测模式为intra预测模式的关联编码单元的数量nintra。

如果编码单元e的子编码单元存在,且子编码单元的数量为4,则将nblock1的数量加4,即得到编码单元e的关联编码单元的总数量nblock;再逐个判断每个子编码单元的最优预测模式是否为intra预测模式,若4个子编码单元的最优预测模式均为intra预测模式,则将nintra1的数量加4,即得到编码单元e的关联编码单元中预测模式为intra预测模式的关联编码单元的数量nintra。

s403、所述终端获取所述编码单元所对应的前处理图像块的第二统计信息。

本发明实施例中,编码单元所对应的前处理图像块是指:在对编码单元对应的图像帧进行前处理的过程中,图像帧中编码单元对应的图像区域被划分成的图像块。在一实施方式中,终端获取编码单元所对应的各前处理图像块的预测模式,该预测模式包括第一预测模式或者第二预测模式;根据获取到的各前处理图像块的预测模式,统计编码单元所对应的前处理图像块中预测模式为第一预测模式的前处理图像块的数量;将预测模式为第一预测模式的前处理图像块的数量确定为第二统计信息。其中,第一预测模式可以为帧内预测模式;第二预测模式可以为帧间预测模式。

在另一实施方式中,终端获取编码单元所对应的前处理图像块的总数量,以及获取各前处理图像块的预测模式,根据获取到的各前处理图像块的预测模式,统计编码单元所对应的前处理图像块中预测模式为第一预测模式的前处理图像块的数量;将前处理图像块的总数量、预测模式为第一预测模式的前处理图像块的数量确定为第二统计信息。

在又一实施方式中,终端获取编码单元所对应的前处理图像块的总数量,以及获取各前处理图像块的预测模式和率失真代价信息,率失真代价信息包括帧内率失真代价和帧间率失真代价,帧内率失真代价为前处理图像块采用第一预测模式(或者说帧内预测模式)时的最优率失真代价,帧间率失真代价为前处理图像块采用第二预测模式(或者说帧间预测模式)时的最优率失真代价;根据各前处理图像块的预测模式确定预测模式为第一预测模式的前处理图像块的数量;将各个前处理图像块的帧内率失真代价进行累加,得到帧内率失真代价总和值,以及将各个前处理图像块的帧间率失真代价进行累加,得到帧间率失真代价总和值。终端将前处理图像块的总数量、帧内率失真代价总和值以及帧间率失真代价总和值中的一种或者多种,以及预测模式为第一预测模式的前处理图像块的数量确定为第二统计信息。

在图像帧编码过程中,通常会有个前处理过程,例如x265中的预测先行(lookahead)处理过程。目的是通过对序列提前分析,来判断帧类型、指导码率控制等。x265是一个用于符合高效率视频编码标准的视频的开源自由软件及函数库。前处理过程得到的有些信息可用来指导后面的编码预测过程。在执行前处理的过程中,会对图像帧按照固定图像块大小做帧内预测以及帧间预测,进而可以获取编码单元对应的图像区域中的图像块的统计信息,包括图像块的总数量、帧内率失真代价总和值、帧间率失真代价总和值、最优预测模式为第一预测模式的图像块的数量等,以为确定编码单元的编码预测方式提供参考。

例如,将图像帧按照16×16的尺寸大小进行划分,并对各个16×16的图像块进行帧内预测以及帧间预测处理,可以得到各个16×16的图像块的帧内预测最优率失真代价以及帧间预测最优率失真代价。如果编码单元的尺寸大小为8×8或者16×16,则编码单元对应的图像区域中只有1个图像块;如果编码单元的尺寸大小为32×32,则编码单元对应的图像区域中有4个图像块;如果编码单元的尺寸大小为64×64,则编码单元对应的图像区域中有16个图像块。获取编码单元对应的图像区域中的图像块的总数量,记为num;获取编码单元对应的图像区域中的图像块的帧内预测最优率失真代价累加和,即帧内率失真代价总和值,并记为intracost;获取编码单元对应的图像区域中的图像块的帧间预测最优率失真代价累加和,即帧间率失真代价总和值,并记为intercost;以及获取编码单元对应的图像区域中的图像块中最优预测模式为intra预测模式的图像块的数量,并记为intra_num。

s404、所述终端根据所述第一统计信息以及所述第二统计信息确定所述编码单元的编码预测方式。

在一实施例中,第一统计信息包括预测模式为第一预测模式的关联编码单元的数量,第二统计信息包括预测模式为第一预测模式的前处理图像块的数量。终端检测预测模式为第一预测模式的关联编码单元的数量是否大于或者等于第一预设数值,并检测预测模式为第一预测模式的前处理图像块的数量是否大于或者等于第二预设数值;若预测模式为第一预测模式的关联编码单元的数量大于或者等于第一预设数值,且预测模式为第一预测模式的前处理图像块的数量大于或者等于第二预设数值,则将编码单元的编码预测方式确定为:采用第一预测模式对编码单元进行预测处理后,采用第二预测模式对编码单元进行预测处理;或者将编码单元的编码预测方式确定为:采用第一预测模式对编码单元进行预测处理。

在另一实施例中,第一统计信息包括:预测模式为第一预测模式的关联编码单元的数量、以及关联编码单元的总数量;第二统计信息包括:预测模式为第一预测模式的前处理图像块的数量、以及前处理图像块的总数量。终端检测预测模式为第一预测模式的关联编码单元的数量是否大于或者等于第一预设数值,并检测关联编码单元的总数量是否大于或者等于第三预设数值。若第一预测模式的关联编码单元的数量大于或者等于第一预设数值,且关联编码单元的总数量大于或者等于第三预设数值,则进一步检测预测模式为第一预测模式的前处理图像块的数量是否大于或者等于第二预设数值,并检测前处理图像块的总数量是否大于或者等于第四预设数值;若预测模式为第一预测模式的前处理图像块的数量大于或者等于第二预设数值,且前处理图像块的总数量大于或者等于第四预设数值,则将编码单元的编码预测方式确定为:采用第一预测模式对编码单元进行预测处理后,采用第二预测模式对编码单元进行预测处理;或者将编码单元的编码预测方式确定为:采用第一预测模式对编码单元进行预测处理。

上述两种方式中,可以根据编码单元的关联编码单元中预测模式为第一预测模式的编码单元的数量,以及编码单元对应的前处理图像块中预测模式为第一预测模式的前处理图像块的数量,自适应确定编码单元的编码预测方式。当预测模式为第一预测模式的编码单元的数量,以及预测模式为第一预测模式的前处理图像块的数量均大于预设数值时,可以确定编码单元的最优预测模式较大概率的为第一预测模式,此时可以直接将第一预测模式确定为编码单元的预测模式,或者确定将第一预测模式提前。由于统计数量的过程以及比较数量大小的过程所涉及的计算量小,耗时短,所以采用上述方式可以在较准确的确定出编码单元的编码预测方式的基础上,有效提高编码预测方式的确定效率。

由于上述两种方式的判断条件较为简单,故确定出的编码预测方式的准确性较低,为提高确定出的编码预测方式的准确性,可以采用如下的确定方式。其中,第一统计信息包括:预测模式为第一预测模式的关联编码单元的数量、以及关联编码单元的总数量;第二统计信息包括:预测模式为第一预测模式的前处理图像块的数量、前处理图像块的总数量、帧内率失真代价总和值以及所述帧间率失真代价总和值。

在一实施方式中,检测预测模式为第一预测模式的关联编码单元的数量、关联编码单元的总数量、预测模式为第一预测模式的前处理图像块的数量、前处理图像块的总数量、帧内率失真代价总和值以及帧间率失真代价总和值是否满足第一预设条件;若满足第一预设条件,则将第一编码预测方式确定为编码单元的编码预测方式。其中,第一编码预测方式为:采用第一预测模式对编码单元进行预测处理后,采用第二预测模式对编码单元进行预测处理。

满足第一预设条件可以是指:预测模式为第一预测模式的前处理图像块的数量与前处理图像块的总数量之间的差值小于或等于目标数值,且关联编码单元的总数量大于或等于第一数值,且预测模式为第一预测模式的关联编码单元的数量大于或等于第二数值,并且帧内率失真代价总和值小于帧间率失真代价总和值与第一参考值相乘后得到的值。其中,该第二数值是根据关联编码单元的总数量确定的,例如为关联编码单元的总数量的一半;该第一参考值与编码速度正相关,为大于0且小于或等于1的数值。该目标数值例如是0,该第一数值例如是2。

在另一实施方式中,检测预测模式为第一预测模式的关联编码单元的数量、关联编码单元的总数量、预测模式为第一预测模式的前处理图像块的数量、前处理图像块的总数量、帧内率失真代价总和值以及帧间率失真代价总和值是否满足第一预设条件;若满足第一预设条件,则进一步检测预测模式为第一预测模式的关联编码单元的数量、关联编码单元的总数量、帧内率失真代价总和值以及帧间率失真代价总和值是否满足第二预设条件;若满足第二预设条件,则将第二编码预测方式确定为编码单元的编码预测方式。若不满足第二预设条件,则将第一编码预测方式确定为编码单元的编码预测方式。其中,第二编码预测方式为采用第一预测模式对编码单元进行预测处理。

满足第二预设条件可以是指:预测模式为第一预测模式的关联编码单元的数量与关联编码单元的总数量之间的差值小于或等于目标数值,且帧内率失真代价总和值小于帧间率失真代价总和值与第二参考值相乘后得到的值。其中,该第二参考值与编码速度正相关,为大于或等于0且小于或等于1的数值,且小于该第一参考值。该目标数值例如是0,需要说明的是,第二预设条件中的目标数值与第一预设条件中的目标数值可以相同,也可以不同。满足第一预设条件所指的内容可参考前文描述,此处不再赘述。

例如,第一预测模式为intra预测模式,第二预测模式为inter预测模式。编码单元的关联单元集合中关联编码单元的总数量为nblock,关联单元集合中预测模式为intra预测模式的关联编码单元的数量为nintra;编码单元对应的前处理图像块的总数量为num,预测模式为intra预测模式的前处理图像块的数量为intra_num;前处理图像块的帧内率失真代价总和值以及帧间率失真代价总和值分别为intracost、intercost。第一参考值为thr1,第二参考值为thr2。如图6所示,判断nblock、nintra、num、intra_num、intracost、intercost五者之间是否满足式一所示的关系,式一如下:

(nblock>=2)&(nintra>nblock/2)&(num=intra_num)&(intracost<intercost×thr1)

其中,&表示且的意思。第一参考值thr1的取值范围可以是0.9~1,编码速度较慢时thr1取值为0.9,随着编码速度变快,thr1也逐渐增大。如果满足式一,则表明编码单元对应的各前处理图像块的预测模式均为intra预测模式,且编码单元的关联编码单元的数量大于等于2,且编码单元的关联编码单元中超过一半的单元的预测模式为intra预测模式,且前处理图像块的帧内率失真代价总和值intracost小于帧间率失真代价总和值intercost与第一参考值thr1相乘后得到的值。此时编码单元的最优预测模式较大可能为intra预测模式,可以将intra预测提前,故将编码单元的编码预测方式确定为先采用intra预测模式对编码单元进行预测处理,再采用intra预测模式对编码单元进行预测处理。

在确定将intra预测提前之后,进一步判断nintra、nblock、intracost、intercost四者之间是否满足式二所示的关系,式二如下:

(nintra=nblock)&(intracost<intercost×thr2)

其中,第二参考值thr2小于第一参考值thr1,thr2的取值范围可以是0~0.4,编码速度较慢时thr2取值0,随着编码速度变快,thr2也逐渐增大。如果满足式二,则表明编码单元的各关联编码单元的预测模式也均为intra预测模式,且前处理图像块的帧内率失真代价总和值intracost小于帧间率失真代价总和值intercost与第二参考值thr2相乘后得到的值。此时编码单元的最优预测模式极大可能为intra预测模式,可以只做intra预测,故将编码单元的编码预测方式确定为仅采用intra预测模式对编码单元进行预测处理。

在又一实施方式中,检测预测模式为第一预测模式的关联编码单元的数量、关联编码单元的总数量、预测模式为第一预测模式的前处理图像块的数量、前处理图像块的总数量、帧内率失真代价总和值以及帧间率失真代价总和值是否满足第三预设条件;若满足第三预设条件,则将第三编码预测方式确定为编码单元的编码预测方式。其中,第三编码预测方式为采用第二预测模式对编码单元进行预测处理。

满足第三预设条件可以是指:关联编码单元的总数量大于或等于第三数值,且预测模式为第一预测模式的关联编码单元的数量小于或等于第四数值,且前处理图像块的总数量大于或等于五数值,且预测模式为第一预测模式的前处理图像块的数量小于或等于第六数值,且帧间率失真代价总和值小于所述帧内率失真代价总和值与第三参考值相乘后得到的值。其中,该第三参考值与编码速度正相关,为大于0且小于或等于1的数值。该第三数值例如是2,该第五数值例如是1,该第四数值和第六数值例如是0。

例如,第三参考值为thr3。如图7所示,判断nblock、nintra、num、intra_num、intracost、intercost五者之间是否满足式三所示的关系,式三如下:

(nblock>=2)&(nintra=0)&(num>=1)&(intra_num=0)&(intercost<intracost×thr3)

其中,第三参考值thr3的取值范围可以是0.4~1,编码速度较慢时thr3取值为0.4,随着编码速度变快,thr3也逐渐增大。若满足式三,则表明编码单元的关联编码单元的数量大于等于2,且各个关联编码单元的最优预测模式均为inter预测模式;并且编码单元对应至少一个前处理图像块,且各个前处理图像块的最优预测模式均为inter预测模式,并且前处理图像块的帧间率失真代价总和值intercost小于帧内率失真代价总和值intracost与第三参考值thr3相乘后得到的值。此时编码单元的最优预测模式极大可能为inter预测模式,可以只做inter预测,故将编码单元的编码预测方式确定为仅采用inter预测模式对编码单元进行预测处理。

上述三种方式中,可以通过检测预测模式为第一预测模式的关联编码单元的数量、关联编码单元的总数量、预测模式为第一预测模式的前处理图像块的数量、前处理图像块的总数量、帧内率失真代价总和值以及所述帧间率失真代价总和值五个参数之间所满足的预设条件,自适应确定编码单元的编码预测方式,可以在适当增加判断条件的复杂程度的基础上,有效提高确定出的编码预测方式的准确性;上述检测过程所涉及的计算量同样小,耗时短,编码预测方式的确定效率高。

本发明实施例中,在确定出编码单元的编码预测方式之后,按照编码预测方式的指示对编码单元进行预测处理。如果选取的是第二编码预测方式,则在后续的预测处理过程中,仅采用第一预测模式对编码单元进行预测处理,从而节省采用第二预测模式对编码单元进行预测处理的步骤,可以节省预测处理消耗的时间以及软硬件资源,实现预测处理的加速。如果选取的是第三编码预测方式,则在后续的预测处理过程中,仅采用第二预测模式对编码单元进行预测处理,从而节省采用第一预测模式对编码单元进行预测处理的步骤,也可以节省预测处理消耗的时间以及软硬件资源,实现预测处理的加速。

例如,如图8所示,如果选取的编码预测方式指示仅进行intra预测,则在后续的预测处理过程中,仅对编码单元进行intra预测处理。如果选取的编码预测方式指示仅进行inter预测,则在后续的预测处理过程中,依次对编码单元进行merge和/或skip预测处理、inter2n×2n预测处理、rect预测处理、amp预测处理,以得到编码单元的最优inter预测模式。其中,rect预测处理包括inter2n×n预测处理和intern×2n预测处理,amp预测处理包括inter2n×nu预测处理、inter2n×nd预测处理、internl×2n预测处理和internr×2n预测处理。inter2n×2n预测处理也即是采用帧间2n×2n模式进行预测处理,其余描述类似。

在一实施例中,如果选取的是第一编码预测方式,则在后续的预测处理过程中,先采用第一预测模式对编码单元进行预测处理,并计算编码单元在采用第一预测模式时的第一率失真代价;然后采用目标类型的第二预测模式对编码单元进行预测处理,并计算编码单元在采用目标类型的第二预测模式时的第二率失真代价。在一实施方式中,目标类型的第二预测模式包括merge预测模式和/或skip预测模式。当目标类型的第二预测模式包括merge预测模式和skip预测模式时,第二率失真代价可以是编码单元在采用merge预测模式时的帧间率失真代价和编码单元在采用skip预测模式时的帧间率失真代价中的最小值。

检测第一率失真代价与第二率失真代价是否满足第四预设条件。在一实施方式中,满足第四预设条件是指:第一率失真代价小于第二率失真代价与第四参考值相乘后得到的值。该第四参考值与编码速度正相关,为大于0且小于或等于1的数值。若满足第四预设条件,则表明编码单元的最优预测模式极大可能为第一预测模式,此时可以将第一预测模式确定为编码单元的最优预测模式,并结束后续采用其他类型的第二预测模式对编码单元进行预测处理的步骤,从而节省采用第二预测模式对编码单元进行预测处理的部分步骤,也可以在一定程度上节省预测处理消耗的时间以及软硬件资源,实现预测处理的加速。

例如,第四参考值为thr4。如图9所示,当编码预测方式指示先做intra预测时,在预测处理过程中,先对编码单元进行intra预测,并计算intra预测的最优帧内率失真代价intrabestcost;然后对编码单元进行inter预测中的merge和skip预测,并计算merge和skip预测的最优帧间率失真代价interbestcost。如果intrabestcost小于interbestcost与第四参考值thr4相乘后得到的值,则表明编码单元的最优预测模式极大可能为intra预测模式,此时可以将intra预测模式确定为编码单元的最优预测模式,并结束剩余的inter预测,以跳过部分inter预测步骤,从而实现预测加速。如果intrabestcost大于或等于interbestcost与第四参考值thr4相乘后得到的值,则继续向下执行剩余的inter预测,以获取编码单元的最优预测模式。

需要说明的是,最优预测模式也即是率失真代价最小的预测模式。以上例子中均以第一预测模式为帧内预测模式,第二预测模式为帧间预测模式进行说明。可以理解的是,第一预测模式也可以为帧间预测模式,第二预测模式也可以为帧内预测模式,此时相应的处理方式类似。

本发明实施例通过根据与编码单元相邻的和/或与编码单元具有父子关系的单元的预测模式确定第一统计信息,并获取编码单元所对应的前处理图像块的第二统计信息,根据第一统计信息和第二统计信息确定编码单元的编码预测方式,从而可以自适应且快速的确定编码单元的编码预测方式,进而提高编码预测方式的确定效率。

请参阅图10,为本发明实施例提供的一种图像预测处理装置的结构示意图。本发明实施例中所描述的图像预测处理装置,对应于前文所述的终端,所述装置包括:

处理单元1001,用于确定图像帧中编码单元的关联单元集合,所述关联单元集合包括关联编码单元,所述关联编码单元包括:所述图像帧中与所述编码单元相邻的目标单元,以及所述图像帧中与所述编码单元具有父子关系的编码单元中的至少一种;

获取单元1002,用于根据所述关联单元集合中各关联编码单元的预测模式确定第一统计信息;

所述获取单元1002,还用于获取所述编码单元所对应的前处理图像块的第二统计信息;

所述处理单元1001,还用于根据所述第一统计信息以及所述第二统计信息确定所述编码单元的编码预测方式。

在一实施例中,所述获取单元1002,具体用于获取所述关联单元集合中关联编码单元的总数量,以及获取各关联编码单元的预测模式;

所述处理单元1001,具体用于:根据所述各关联编码单元的预测模式确定所述关联单元集合中预测模式为第一预测模式的关联编码单元的数量;将所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量确定为第一统计信息。

在一实施例中,所述获取单元1002,具体用于获取所述编码单元所对应的前处理图像块的总数量,并获取各前处理图像块的预测模式和率失真代价信息;

所述处理单元1001,具体用于:根据所述各前处理图像块的预测模式确定预测模式为第一预测模式的前处理图像块的数量;根据所述前处理图像块的总数量、所述预测模式为第一预测模式的前处理图像块的数量、所述率失真代价信息确定第二统计信息。

在一实施例中,所述率失真代价信息包括帧内率失真代价和帧间率失真代价;所述处理单元1001,具体用于:根据所述各前处理图像块的率失真代价信息确定帧内率失真代价总和值以及帧间率失真代价总和值;将所述前处理图像块的总数量、所述预测模式为第一预测模式的前处理图像块的数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值确定为第二统计信息。

在一实施例中,所述关联编码单元的总数量:为所述目标单元的数量和与所述编码单元之间具有父关系的编码单元的数量的和,或者为所述目标单元的数量和与所述编码单元之间具有子关系的编码单元的数量的和;所述预测模式为第一预测模式的关联编码单元的数量:是根据预测模式为第一预测模式的目标单元的数量和与所述编码单元之间具有父关系的编码单元中预测模式为第一预测模式的编码单元的数量确定的,或者是根据预测模式为第一预测模式的目标单元的数量和与所述编码单元之间具有子关系的编码单元中预测模式为第一预测模式的编码单元的数量确定的。

在一实施例中,所述处理单元1001,具体用于:

检测所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量、所述预测模式为所述第一预测模式的前处理图像块的数量、所述前处理图像块的总数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值是否满足第一预设条件;若满足所述第一预设条件,则将第一编码预测方式确定为所述编码单元的编码预测方式,其中,所述第一编码预测方式为采用第一预测模式对所述编码单元进行预测处理后,采用第二预测模式对所述编码单元进行预测处理。

在一实施例中,满足所述第一预设条件是指:所述预测模式为第一预测模式的前处理图像块的数量与所述前处理图像块的总数量之间的差值小于或等于目标数值,且所述关联编码单元的总数量大于或等于第一数值,且所述预测模式为第一预测模式的关联编码单元的数量大于或等于第二数值,且所述帧内率失真代价总和值小于所述帧间率失真代价总和值与第一参考值相乘后得到的值;其中,所述第二数值是根据所述关联编码单元的总数量确定的。

在一实施例中,所述处理单元1001,具体用于:

检测所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量、所述预测模式为所述第一预测模式的前处理图像块的数量、所述前处理图像块的总数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值是否满足第一预设条件;若满足所述第一预设条件,则检测所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值是否满足第二预设条件;若满足所述第二预设条件,则将第二编码预测方式确定为所述编码单元的编码预测方式,其中,所述第二编码预测方式为采用第一预测模式对所述编码单元进行预测处理。

在一实施例中,满足所述第二预设条件是指:所述预测模式为第一预测模式的关联编码单元的数量与所述关联编码单元的总数量之间的差值小于或等于目标数值,且所述帧内率失真代价总和值小于所述帧间率失真代价总和值与第二参考值相乘后得到的值。

在一实施例中,所述处理单元1001,具体用于:

检测所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量、所述预测模式为所述第一预测模式的前处理图像块的数量、所述前处理图像块的总数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值是否满足第三预设条件;若满足所述第三预设条件,则将第三编码预测方式确定为所述编码单元的编码预测方式,其中,所述第三编码预测方式为采用第二预测模式对所述编码单元进行预测处理。

在一实施例中,满足所述第三预设条件是指:所述关联编码单元的总数量大于或等于第三数值,且所述预测模式为第一预测模式的关联编码单元的数量小于或等于第四数值,且所述前处理图像块的总数量大于或等于五数值,且所述预测模式为所述第一预测模式的前处理图像块的数量小于或等于第六数值,且所述帧间率失真代价总和值小于所述帧内率失真代价总和值与第三参考值相乘后得到的值。

在一实施例中,所述装置包括计算单元1003,所述计算单元用于计算所述编码单元在采用所述第一预测模式时的第一率失真代价,并计算所述编码单元在采用目标类型的第二预测模式时的第二率失真代价;

所述处理单元1001,还用于检测所述第一率失真代价与所述第二率失真代价是否满足第四预设条件;若满足所述第四预设条件,则将所述第一预测模式确定为所述编码单元的预测模式。

在一实施例中,所述目标类型的第二预测模式包括merge预测模式(hevc标准提供的一种预测模式)和/或skip预测模式(hevc标准提供的一种预测模式);满足所述第四预设条件是指:所述第一率失真代价小于所述第二率失真代价与第四参考值相乘后得到的值。

可以理解的是,本发明实施例的图像预测处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

本发明实施例通过根据与编码单元相邻的和/或与编码单元具有父子关系的单元的预测模式确定第一统计信息,并获取编码单元所对应的前处理图像块的第二统计信息,根据第一统计信息和第二统计信息确定编码单元的编码预测方式,从而可以自适应且快速的确定编码单元的编码预测方式,进而提高编码预测方式的确定效率。

请参阅图11,图11为本发明实施例提供的一种终端的结构示意图。本发明实施例中所描述的终端包括:处理器1101、和存储器1102。其中,处理器1101、存储器1102可通过总线或其他方式连接,本发明实施例以通过总线连接为例。

处理器1101可以是中央处理器(centralprocessingunit,cpu)。所述处理器1101可以是硬件芯片。所述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。所述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

存储器1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的存储程序(比如文字存储功能、位置存储功能等);存储数据区可存储根据装置的使用所创建的数据(比如图像数据、文字数据)等,并可以包括应用存储程序等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述存储器1102还用于存储程序指令。所述处理器1101,用于执行所述存储器1102存储的程序指令,当所述程序指令被执行时,所述处理器1101用于:

确定图像帧中编码单元的关联单元集合,所述关联单元集合包括关联编码单元,所述关联编码单元包括:所述图像帧中与所述编码单元相邻的目标单元,以及所述图像帧中与所述编码单元具有父子关系的编码单元中的至少一种;根据所述关联单元集合中各关联编码单元的预测模式确定第一统计信息;获取所述编码单元所对应的前处理图像块的第二统计信息;根据所述第一统计信息以及所述第二统计信息确定所述编码单元的编码预测方式。

本发明实施例中处理器执行的方法均从处理器的角度来描述,可以理解的是,本发明实施例中处理器要执行上述方法需要其他硬件结构的配合。本发明实施例对具体的实现过程不作详细描述和限制。

在一实施例中,所述处理器1101根据所述关联单元集合中各关联编码单元的预测模式确定第一统计信息时,具体用于:获取所述关联单元集合中关联编码单元的总数量,以及获取各关联编码单元的预测模式;根据所述各关联编码单元的预测模式确定所述关联单元集合中预测模式为第一预测模式的关联编码单元的数量;将所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量确定为第一统计信息。

在一实施例中,所述处理器1101获取所述编码单元所对应的前处理图像块的第二统计信息时,具体用于:获取所述编码单元所对应的前处理图像块的总数量,以及获取各前处理图像块的预测模式和率失真代价信息;根据所述各前处理图像块的预测模式确定预测模式为第一预测模式的前处理图像块的数量;根据所述前处理图像块的总数量、所述预测模式为第一预测模式的前处理图像块的数量、所述率失真代价信息确定第二统计信息。

在一实施例中,所述率失真代价信息包括帧内率失真代价和帧间率失真代价;所述处理器1101根据所述前处理图像块的总数量、所述预测模式为第一预测模式的前处理图像块的数量、所述率失真代价信息确定第二统计信息时,具体用于:根据所述各前处理图像块的率失真代价信息确定帧内率失真代价总和值以及帧间率失真代价总和值;将所述前处理图像块的总数量、所述预测模式为第一预测模式的前处理图像块的数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值确定为第二统计信息。

在一实施例中,所述关联编码单元的总数量:为所述目标单元的数量和与所述编码单元之间具有父关系的编码单元的数量的和,或者为所述目标单元的数量和与所述编码单元之间具有子关系的编码单元的数量的和;所述预测模式为第一预测模式的关联编码单元的数量:是根据预测模式为第一预测模式的目标单元的数量和与所述编码单元之间具有父关系的编码单元中预测模式为第一预测模式的单元的数量确定的,或者是根据预测模式为第一预测模式的目标单元的数量和与所述编码单元之间具有子关系的编码单元中预测模式为第一预测模式的编码单元的数量确定的。

在一实施例中,所述处理器1101根据所述第一统计信息以及所述第二统计信息确定所述编码单元的编码预测方式时,具体用于:检测所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量、所述预测模式为所述第一预测模式的前处理图像块的数量、所述前处理图像块的总数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值是否满足第一预设条件;若满足所述第一预设条件,则将第一编码预测方式确定为所述编码单元的编码预测方式,其中,所述第一编码预测方式为采用第一预测模式对所述编码单元进行预测处理后,采用第二预测模式对所述编码单元进行预测处理。

在一实施例中,满足所述第一预设条件是指:所述预测模式为第一预测模式的前处理图像块的数量与所述前处理图像块的总数量之间的差值小于或等于目标数值,且所述关联编码单元的总数量大于或等于第一数值,且所述预测模式为第一预测模式的关联编码单元的数量大于或等于第二数值,且所述帧内率失真代价总和值小于所述帧间率失真代价总和值与第一参考值相乘后得到的值;其中,所述第二数值是根据所述关联编码单元的总数量确定的。

在一实施例中,所述处理器1101根据所述第一统计信息以及所述第二统计信息确定所述编码单元的编码预测方式时,具体用于:检测所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量、所述预测模式为所述第一预测模式的前处理图像块的数量、所述前处理图像块的总数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值是否满足第一预设条件;若满足所述第一预设条件,则检测所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值是否满足第二预设条件;若满足所述第二预设条件,则将第二编码预测方式确定为所述编码单元的编码预测方式,其中,所述第二编码预测方式为采用第一预测模式对所述编码单元进行预测处理。

在一实施例中,满足所述第二预设条件是指:所述预测模式为第一预测模式的关联编码单元的数量与所述关联编码单元的总数量之间的差值小于或等于目标数值,且所述帧内率失真代价总和值小于所述帧间率失真代价总和值与第二参考值相乘后得到的值。

在一实施例中,所述处理器1101根据所述第一统计信息以及所述第二统计信息确定所述编码单元的编码预测方式时,具体用于:检测所述预测模式为第一预测模式的关联编码单元的数量、所述关联编码单元的总数量、所述预测模式为所述第一预测模式的前处理图像块的数量、所述前处理图像块的总数量、所述帧内率失真代价总和值以及所述帧间率失真代价总和值是否满足第三预设条件;若满足所述第三预设条件,则将第三编码预测方式确定为所述编码单元的编码预测方式,其中,所述第三编码预测方式为采用第二预测模式对所述编码单元进行预测处理。

在一实施例中,满足第三预设条件是指:所述关联编码单元的总数量大于或等于第三数值,且所述预测模式为第一预测模式的关联编码单元的数量小于或等于第四数值,且所述前处理图像块的总数量大于或等于五数值,且所述预测模式为所述第一预测模式的前处理图像块的数量小于或等于第六数值,且所述帧间率失真代价总和值小于所述帧内率失真代价总和值与第三参考值相乘后得到的值。

在一实施例中,所述处理器1101将第一编码预测方式确定为所述编码单元的编码预测方式之后,所述处理器1101还用于:计算所述编码单元在采用所述第一预测模式时的第一率失真代价,并计算所述编码单元在采用目标类型的第二预测模式时的第二率失真代价;检测所述第一率失真代价与所述第二率失真代价是否满足第四预设条件;若满足所述第四预设条件,则将所述第一预测模式确定为所述编码单元的预测模式。

在一实施例中,所述目标类型的第二预测模式包括merge预测模式和/或skip预测模式;满足所述第四预设条件是指:所述第一率失真代价小于所述第二率失真代价与第四参考值相乘后得到的值。

具体实现中,本发明实施例中所描述的处理器1101和存储器1102可执行上述实施例提供的图像预测处理方法中所描述的终端的实现方式,也可执行上述实施例提供的图像预测处理装置中所描述的实现方式,在此不再赘述。

本发明实施例通过根据与编码单元相邻的和/或与编码单元具有父子关系的单元的预测模式确定第一统计信息,并获取编码单元所对应的前处理图像块的第二统计信息,根据第一统计信息和第二统计信息确定编码单元的编码预测方式,从而可以自适应且快速的确定编码单元的编码预测方式,进而提高编码预测方式的确定效率。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如本发明实施例所述的图像预测处理方法。

本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本发明实施例所述的图像预测处理方法。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1