编码方法、装置和视频数据编码设备与流程

文档序号:18524816发布日期:2019-08-24 10:08阅读:138来源:国知局
编码方法、装置和视频数据编码设备与流程

本发明涉及视频编码领域,特别涉及一种编码方法、装置和视频数据编码设备。



背景技术:

视频数据的原始数据量较大,在存储或者传输之前,需要对视频数据进行压缩,压缩也可以称为编码。在h.265/hevc(highefficiencyvideocoding,高效视频编码)标准中,在对图像内的cu(codingunit,编码单元)进行帧内预测时,首先,需要对cu对应的每个pu(predictionunit,预测单元)遍历所有帧内预测模式,确定每个pu的目标帧内预测模式,然后,根据确定下的目标帧内预测模式进行帧内预测。

对于亮度分量的帧内预测,h.265/hevc标准中提供35个亮度帧内预测模式,可以更好地匹配视频中复杂的纹理,得到更好的预测效果,更加有效地去除空间冗余。在对一个pu的亮度帧内预测模式进行编码时,现有标准中为了减少编码所需的比特数,参考空域构造一个帧内预测模式候选列表,也即根据该pu的左相邻pu和上相邻pu的目标亮度帧内预测模式,建立帧内预测模式候选列表(candmodelist),该pu与相邻pu的位置关系如图1所示。一般来说,帧内预测模式候选列表中包含有3个可能的亮度帧内预测模式,如果该pu的亮度帧内预测模式存在于帧内预测模式候选列表中,则可以利用2bit(比特,信息量单位)来编码其在帧内预测模式候选列表中的索引,如果不属于,则需要利用5bit来对该pu的亮度帧内预测模式的模式编号进行编码。

利用帧内预测模式候选列表可以减少编码亮度帧内预测模式所需的比特数,提高视频数据的压缩率。但是参考空域的帧内预测模式候选列表中仅包含参考左相邻pu和上相邻pu得到的3个亮度帧内预测模式,使得选中基于帧内预测模式候选列表的编码方式的概率具有一定的局限性,给进一步提高压缩率带来限制。



技术实现要素:

本发明实施例提供了一种编码方法、装置和视频数据编码设备,在构造帧内预测模式候选列表时引入父层pu的亮度帧内预测模式,使得在进行帧内预测的过程中同时考虑了时域和空域,可以进一步提高视频数据的压缩率。本发明实施例提供的技术方案能够解决现有技术中选中基于帧内预测模式候选列表的编码方式的概率具有一定的局限性的问题,所述技术方案如下:

一方面,提供了一种编码方法,该方法包括:

在对目标预测单元pu的亮度分量进行帧内预测时,获取所述目标pu的亮度帧内预测模式;

基于所述目标pu的父层pu和相邻pu的目标亮度帧内预测模式,确定帧内预测模式候选列表;

基于所述帧内预测模式候选列表和所述目标pu的亮度帧内预测模式,对所述目标pu的亮度帧内预测模式进行编码。

一方面,提供了一种编码装置,该装置包括:

获取模块,用于在对目标预测单元pu的亮度分量进行帧内预测时,获取所述目标pu的亮度帧内预测模式;

确定模块,用于基于所述目标pu的父层pu和相邻pu的目标亮度帧内预测模式,确定帧内预测模式候选列表;

编码模块,用于基于所述帧内预测模式候选列表和所述目标pu的亮度帧内预测模式,对所述目标pu的亮度帧内预测模式进行编码。

一方面,提供了一种视频数据编码设备,所述视频数据编码设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的编码方法。

一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的编码方法。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例中,在亮度帧内预测模式的编码过程中,视频数据编码设备在确定帧内预测模式候选列表时,同时考虑时域和空域,利用目标pu的父层pu和相邻pu的亮度帧内预测模式作为参考,增大了目标pu的帧内预测模式存在于帧内预测模式候选列表中的可能性,进一步减少编码亮度帧内预测模式所需的比特数,可以进一步提高视频数据的压缩率。

附图说明

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

图1是本发明实施例提供的一种目标pu与相邻pu的位置关系示意图;

图2是本发明实施例提供的一种实施环境示意图;

图3是本发明实施例提供的一种cu四叉树划分示意图;

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

图5是本发明实施例提供的一种亮度帧内预测模式的编码方法流程图;

图6是本发明实施例提供的一种帧内预测pu划分示意图;

图7是本发明实施例提供的一种获取目标亮度帧内预测模式流程示意图;

图8是本发明实施例提供的一种建立帧内预测模式候选列表的流程示意图;

图9是本发明实施例提供的一种建立帧内预测模式候选列表的流程示意图;

图10是本发明实施例提供的一种建立帧内预测模式候选列表的流程示意图;

图11是本发明实施例提供的一种建立帧内预测模式候选列表的流程示意图;

图12是本发明实施例提供的一种编码亮度帧内预测模式的装置结构示意图;

图13是本发明实施例提供的一种视频数据编码设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种编码方法,该方法可以由视频数据编码设备来实现。

视频数据编码设备可以包括处理器、存储器、收发器等部件。处理器,可以为cpu(centralprocessingunit,中央处理单元)等,可以用于确定目标pu的亮度帧内预测模式、确定帧内预测模式候选列表、对目标pu的亮度帧内预测模式进行编码等处理。存储器,可以为ram(randomaccessmemory,随机存取存储器),flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如每个pu的亮度帧内预测模式、帧内预测模式候选列表、亮度帧内预测模式的编码等。收发器,可以用于与其它设备进行数据传输。

如图2所示的实施环境示意图,该方法可以应用于前端视频采集设备、视频数据编码设备、视频显示设备和视频存储设备构成的系统中。前端视频采集设备可以采集视频图像数据,然后,视频数据编码设备可以将获取上述视频图像数据,并且可以对视频图像数据进行编码,得到视频图像数据压缩后的码流,将压缩后的码流发送给视频显示设备。视频显示设备可以基于编码方法对应的解码方法,对压缩后的码流进行解码,并基于解码得到的视频图像数据,显示视频图像。上述前端视频采集设备和视频数据编码设备可以分别安装在不同的电子设备中,当然也可以安装在同一电子设备中,此处不作限定。视频数据编码设备还可以将上述压缩后的码流发送给视频存储设备,以便视频存储设备基于压缩后的码流进行存储。

h.265/hevc标准中提供了基于四叉树的图像划分模式,可以将视频图像逐层划分为各个单元,包括cu、pu和tu(transformunit,变换单元)。

cu是进行预测、变换、量化和熵编码等处理的基本单元,可以对cu进行多层次的四叉树划分,同一层次上的cu具有相同的深度,首层cu的深度为0,深度逐层递增1。如图3所示的cu四叉树划分示意图,cu2进行四叉树划分后得到cu3-cu6,cu2即为cu3-cu6的父层cu。

pu是帧间预测、帧内预测的基本单元,可以为其确定预测模式,并且pu还定义了与预测有关的信息,比如,帧内预测模式、帧间预测的分割方式、运动向量和帧间预测参考图像索引号等。pu可以根据cu得到,pu不大于其对应cu的大小。

tu是进行变换和量化的基本单元,可以由cu划分得到。

如图4所示的hevc编码框架示意图,一帧视频图像数据输入到编码器时,可以对每个cu进行帧内预测或帧间预测,得到预测后的视频图像数据。视频数据编码设备可以将输入的视频图像数据与预测后的视频图像数据相减得到残差值,然后将残差值进行变化和量化得到残差系数,对残差系数进行熵编码,得到视频图像数据压缩后的码流。同时,残差系数还可以经过逆量化和逆变化得到重构图像的残差值,然后和预测后的视频图像数据相加得到重构图像数据,重构图像数据经过去方块滤波(deblockingfilter)和样点自适应补偿(sampleadaptiveoffset,sao)。滤波后的重构图像数据可以添加到参考图像队列,作为下一帧视频图像数据的参考图像数据,从而一帧一帧向后编码。

对于帧间预测,输入的视频图像数据可以与参考图像数据进行运动估计(motionestimation,me),提取视频图像数据的运动信息,例如运动向量(motionvector,mv)。然后将得到的运动信息与参考图像数据进行运动补偿(motioncompensation,mc),得到cu对应的帧间预测后的视频图像数据。

对于帧内预测,一个大小为2n*2n的cu可以对应的pu主要有两种,分别为2n*2n和n*n的pu。输入的视频图像进行图像划分后,可以得到多个cu以及对应的pu,然后,视频数据编码设备可以逐层对每个pu遍历35个帧内预测模式,可以采用拉格朗日的率失真优化方法确定pu的目标帧内预测模式,目标帧内预测模式可以是率失真代价最小的模式。然后,再根据确定下的目标帧内预测模式进行帧内预测,得到cu对应的帧内预测后的视频图像。

一个视频图像中可能所有cu仅进行帧内预测或帧间预测,也可能部分cu进行帧内预测,部分cu进行帧间预测,但是一个cu可以仅进行帧内预测或帧间预测。例如,视频图像的i帧(一种无需参考其他图像便可独立进行编码或解码的图像帧)中的各个cu仅进行帧内预测。

帧内预测包括对亮度分量的帧内预测和对色度分量的帧内预测,本发明实施例主要涉及对亮度分量的帧内预测。如图5所示的亮度帧内预测模式的编码方法流程图,该方法的处理流程可以包括如下的步骤:

501、视频数据编码设备在对目标预测单元pu的亮度分量进行帧内预测时,获取目标pu的亮度帧内预测模式。

在一种可能的实施方式中,当视频数据编码设备获取到一帧待处理的视频图像时,可以进行如图4所示的编码处理。在对亮度分量的帧内预测过程中,视频数据编码设备可以逐层对cu进行处理。如图6所示的帧内预测pu划分示意图,每个cu可以对应于1个或4个pu。视频数据编码设备可以对每个pu遍历35个亮度帧内预测模式,确定目标亮度帧内预测模式,并且,当一个pu确定下目标亮度帧内预测模式后,才会继续确定下一个pu的目标亮度帧内预测模式。当前需要确定目标亮度帧内预测模式的pu即为目标pu。

确定每个pu的目标亮度帧内预测模式的顺序可以如下:可以确定深度为0的cu对应的pu的目标亮度帧内预测模式,1个cu对应4个pu的情况下,pu的顺序如图6所示,0-3的顺序可以是之字形顺序;如果cu存在四叉树划分的子层cu,则接着可以确定子层cu对应的pu的目标亮度帧内预测模式;如果cu不存在四叉树划分的子层cu,则接着可以确定同一层次cu对应的pu的目标亮度帧内预测模式,同一层次cu也可以按照上述之字形顺序进行处理。循环进行上述处理,得到每个pu的目标亮度帧内预测模式。

例如,确定目标亮度帧内预测模式时的处理过程包括:如果采用拉格朗日的率失真优化方法确定pu的目标帧内预测模式,则对于每种亮度帧内预测模式,视频数据编码设备可以根据采用该亮度帧内预测模式时的失真和所需的比特数,确定该亮度帧内预测模式的率失真代价,最后从35个亮度帧内预测模式中选择率失真代价最小的目标亮度帧内预测模式。本实施例提供的亮度帧内预测模式的编码方法,可以应用于确定采用亮度帧内预测模式时所需的比特数之中。

在对目标pu的亮度帧内预测模式进行编码的过程中,视频数据编码设备可以获取目标pu当前的亮度帧内预测模式,该亮度帧内预测模式可以是35个亮度帧内预测模式的其中之一。例如,上述35个亮度帧内预测模式可以包括planar模式、dc模式和33个角度模式,其中,planar模式为模式0,dc模式为模式1,33个角度模式分别为模式2-34。33个角度模式中,模式10表示水平方向,模式26表示垂直方向。模式0、模式1、模式10和模式26是典型的亮度帧内预测模式。

502、视频数据编码设备基于目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式,确定帧内预测模式候选列表。

在h.265/hevc标准的基础上,本发明实施例以帧内预测模式候选列表包括4个亮度帧内预测模式为例。当然,后续的标准中可能会增加新的亮度帧内预测模式,帧内预测模式候选列表中包括的亮度帧内预测模式也可以相应的增加,仍然可以基于本发明实施例来引入父层pu已确定好的目标亮度帧内预测模式,来构造帧内预测模式候选列表,使得编码时选中帧内预测模式候选列表的概率提升,从而达到节省比特数的目的。本发明实施例对帧内预测模式候选列表中亮度帧内预测模式的数目不作限定。

为了打破现有标准中帧内预测的过程仅参考空域的思想,本申请引入时域的参考,在现有标准参考左相邻pu和上相邻pu来构造帧内预测模式候选列表的基础上,引入父层pu。可选的,在确定帧内预测模式候选列表之前,视频数据编码设备可以获取目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式,具体处理可以如下:将目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式设置为初始亮度帧内预测模式;如果父层pu存在,则更新父层pu的目标亮度帧内预测模式;如果左相邻pu存在,则更新左相邻pu的目标亮度帧内预测模式;如果上相邻pu存在,则更新上相邻pu的目标亮度帧内预测模式。

如图7所示的获取目标亮度帧内预测模式流程示意图,父层pu的目标亮度帧内预测模式可以表示为mode_father,左相邻pu的目标亮度帧内预测模式可以表示为mode_a,上相邻pu的目标亮度帧内预测模式可以表示为mode_b,mode_father、mode_a和mode_b三个参数的赋值可以为对应的模式编号。视频数据编码设备可以对mode_father、mode_a和mode_b进行初始化,例如可以设置为“1”,也即初始亮度帧内预测模式为模式1。然后,视频数据编码设备可以依次判断目标pu的父层pu、左相邻pu或上相邻pu是否存在,如果存在,则分别将上述三个参数更新为确定下的目标亮度帧内预测模式。

时域上,目标pu对应的cu如果存在父层cu,则该父层cu对应区域上的pu,即为目标pu的父层pu。从上述确定目标亮度帧内预测模式时的处理顺序可以知道,由于采用了之字形顺序进行处理,在确定目标pu时,如果目标pu的父层pu、左相邻pu或上相邻pu存在,则父层pu、左相邻pu或上相邻pu的目标亮度帧内预测模式应该已经确定,可以满足该流程的处理。另外,由于在判断之前,已经将mode_father、mode_a和mode_b进行了初始化,如果目标pu的父层pu、左相邻pu或上相邻pu不存在,可以直接使用初始亮度帧内预测模式,保证方法的合理性。

在视频图像中,相邻pu之间往往具有较强的相关性,因此,相邻pu的目标亮度帧内预测模式相同或相似的概率较大,如果对每个pu都独立进行编码,会带来不必要的冗余,因此可以采用基于帧内预测模式候选列表的编码方式。

除了左相邻pu和上相邻pu,视频数据编码设备还可以引入目标pu的父层pu作为参考,建立帧内预测模式候选列表。由于目标pu与父层pu可能具有相同的纹理,也即具有较强的相关性,目标pu的目标亮度帧内预测模式可能与父层pu相同,则基于父层pu的目标亮度帧内预测模式,建立帧内预测模式候选列表,目标亮度帧内预测模式具有较高的可能性存在于帧内预测模式候选列表中,以减少编码亮度帧内预测模式所需的比特数。并且,帧内预测模式候选列表中的索引范围为0-3,所需比特数仍为2bit,没有增加编码索引所需的比特数。参考时域和空域构造的帧内预测模式候选列表,增加了一个可选的亮度帧内预测模式,进一步增加被选中的概率,可以进一步提高视频的压缩率,对于现有标准具有显著进步。

在一种可能的实施方式中,视频数据编码设备可以根据目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式之间是否相同,采用不同的规则,来确定帧内预测模式候选列表。如图8所示的确定帧内预测模式候选列表的流程示意图,对上述三个参数的判断可以分为三种情况:情况一,目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,此时,视频数据编码设备可以根据第一规则确定帧内预测模式候选列表;情况二,目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不相同,此时,视频数据编码设备可以根据第二规则确定帧内预测模式候选列表;情况三,目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,此时,视频数据编码设备可以根据第三规则确定帧内预测模式候选列表。

下面对三种情况进行详细介绍:

情况一:如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,且目标亮度帧内预测模式为模式0或模式1,则将模式0、模式1、模式10和模式26添加到帧内预测模式候选列表中;如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,且目标亮度帧内预测模式不为模式0和模式1,则将目标亮度帧内预测模式、目标亮度帧内预测模式的左相邻亮度帧内预测模式、目标亮度帧内预测模式的右相邻亮度帧内预测模式和模式1添加到帧内预测模式候选列表中。

上述三个参数相同的情况又可以分为两种情况,一种情况,同为模式0(planar模式)或模式1(dc模式),一种情况,同为角度模式中的一种模式,不同的情况可以对应于不同的帧内预测模式候选列表构造方式。示例性的,参数mode用于表示该相同的模式编号,candmodelist[0]-[3]用于表示4个可能的亮度帧内预测模式。图9可以是图8中根据第一规则确定帧内预测模式候选列表的框图的展开,如图9所示的建立帧内预测模式候选列表的流程示意图,如果mode_father、mode_a、mode_b均相同,则可以将mode_father赋值给mode(也可以是将mode_a或mode_b赋值给mode,结果是一样的)。视频数据编码设备可以对mode进行判断,如果判断出mode等于0或1,则帧内预测模式候选列表可以如下:

candmodelist[0]=1;

candmodelist[1]=0;

candmodelist[2]=10;

candmodelist[3]=26。

经过上述处理,帧内预测模式候选列表中可以包括与目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式相同的亮度帧内预测模式(如模式0或模式1),以及其它典型的亮度帧内预测模式(如模式10或模式26)。在实际应用中,典型的亮度帧内预测模式被确定为目标亮度帧内预测模式的概率比其它亮度帧内预测模式大,因此,将典型的亮度帧内预测模式添加到帧内预测模式候选列表中,可以提高被选中的概率,提高视频的压缩率。

如图9所示的建立帧内预测模式候选列表的流程示意图,如果判断出mode不等于0或1,也即mode属于角度模式,则帧内预测模式候选列表可以如下:

candmodelist[0]=mode;

candmodelist[1]=2+((mode+29)%32);

candmodelist[2]=2+((mode-2+1)%32);

candmodelist[3]=1。

其中,candmodelist[1]=2+((mode+29)%32)计算得到该角度模式的左相邻亮度帧内预测模式,candmodelist[2]=2+((mode-2+1)%32)计算得到该角度模式的右相邻亮度帧内预测模式。只有角度模式(即模式2-34)才有相邻的亮度帧内预测模式,例如,模式4的左相邻亮度帧内预测模式为模式3,右相邻亮度帧内预测模式为模式5。需要说明的是,模式2的左相邻亮度帧内预测模式为模式33、右相邻亮度帧内预测模式为模式3,模式33的左相邻亮度帧内预测模式为模式32、右相邻亮度帧内预测模式为模式2,模式34的左相邻亮度帧内预测模式为模式33、右相邻亮度帧内预测模式为模式3。对于角度模式,相邻的亮度帧内预测模式被确定为目标pu的目标亮度帧内预测模式的概率比较大,因此,将父层pu、左相邻pu或上相邻pu的相邻的亮度帧内预测模式添加到帧内预测模式候选列表中,也可以提高被选中的概率,提高视频的压缩率。

例如,目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式可以同为模式4,则构造出的帧内预测模式候选列表可以如下:

candmodelist[0]=4;

candmodelist[1]=3;

candmodelist[2]=5;

candmodelist[3]=1。

经过上述处理,帧内预测模式候选列表中可以包括与目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式相同的亮度帧内预测模式,以及相邻的亮度帧内预测模式、其它典型的亮度帧内预测模式(如模式1)。

情况二:如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不相同,则将父层pu的目标亮度帧内预测模式、左相邻pu的目标亮度帧内预测模式、上相邻pu的目标亮度帧内预测模式添加到帧内预测模式候选列表中;如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式1,则将模式1添加到帧内预测模式候选列表中;如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式0,则将模式0添加到帧内预测模式候选列表中;如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式10,则将模式10添加到帧内预测模式候选列表中;如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式26,则将模式26添加到帧内预测模式候选列表中。

图10可以是图8中根据第二规则确定帧内预测模式候选列表的框图的展开,如图10所示的建立帧内预测模式候选列表的流程示意图,视频数据编码设备可以对mode_father、mode_a、mode_b进行判断,如果mode_father、mode_a、mode_b均不相同,则可以将帧内预测模式候选列表前三项赋值如下:

candmodelist[0]=mode_father;

candmodelist[1]=mode_a;

candmodelist[2]=mode_b。

如果mode_father、mode_a、mode_b均不为1,则candmodelist[3]=1;

如果mode_father、mode_a、mode_b均不为0,则candmodelist[3]=0;

如果mode_father、mode_a、mode_b均不为10,则candmodelist[3]=10;

如果mode_father、mode_a、mode_b均不为26,则candmodelist[3]=26。

经过上述处理,帧内预测模式候选列表中可以包括与目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式相同的亮度帧内预测模式,以及其它典型的亮度帧内预测模式。

情况三:当上述两种情况均不满足时,必然满足情况三。与上述情况一相类似的,相同亮度帧内预测模式可以分为两种情况,一种为同为模式0(planar模式)或模式1(dc模式),一种为同为角度模式中的一种模式。视频数据编码设备具体的处理可以如下述两段。

如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,且相同亮度帧内预测模式为模式0或模式1,则将模式0、模式1和不同亮度帧内预测模式添加到帧内预测模式候选列表中;如果不同亮度帧内预测模式为模式26,则将模式10添加到帧内预测模式候选列表中;如果不同亮度帧内预测模式不为模式26,则将模式26添加到帧内预测模式候选列表中。

如果目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,且相同亮度帧内预测模式不为模式0和模式1,则将相同亮度帧内预测模式、相同亮度帧内预测模式的左相邻亮度帧内预测模式和相同亮度帧内预测模式的右相邻亮度帧内预测模式添加到帧内预测模式候选列表中;如果不同亮度帧内预测模式为左相邻亮度帧内预测模式或右相邻亮度帧内预测模式,则将模式1添加到帧内预测模式候选列表中;如果不同亮度帧内预测模式不为左相邻亮度帧内预测模式和右相邻亮度帧内预测模式,则将不同亮度帧内预测模式添加到帧内预测模式候选列表中。

图11可以是图8中根据第三规则确定帧内预测模式候选列表的框图的展开,如图11所示的建立帧内预测模式候选列表的流程示意图,mode_same用于表示上述相同亮度帧内预测模式,mode_nosame用于表示上述不同亮度帧内预测模式,赋值分别为对应的模式编号。视频数据编码设备可以对mode_same进行判断,如果mode_same等于0或1,则可以将帧内预测模式候选列表前三项赋值如下:

candmodelist[0]=0;

candmodelist[1]=1;

candmodelist[2]=mode_nosame。

然后,视频数据编码设备可以对mode_nosame进行判断,如果mode_nosame等于26,则candmodelist[3]=10;

如果mode_nosame不等于26,则candmodelist[3]=26。

经过上述处理,帧内预测模式候选列表中可以包括与目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式相同的亮度帧内预测模式,以及其它典型的亮度帧内预测模式。

如图11所示的建立帧内预测模式候选列表的流程示意图,如果mode_same不等于0或1,也即mode_same属于角度模式,则可以将帧内预测模式候选列表前三项赋值如下:

candmodelist[0]=mode_same;

candmodelist[1]=2+((mode_same+29)%32);

candmodelist[2]=2+((mode_same-2+1)%32)。

其中,candmodelist[1]=2+((mode_same+29)%32)计算得到mode_same的左相邻亮度帧内预测模式,candmodelist[2]=2+((mode_same-2+1)%32)计算得到mode_same的右相邻亮度帧内预测模式。

然后,视频数据编码设备可以对mode_nosame进行判断,如果mode_nosame等于candmodelist[1]或candmodelist[2],则candmodelist[3]=1;

如果mode_nosame不等于candmodelist[1]或candmodelist[2],则candmodelist[3]=mode_nosame。

经过上述处理,帧内预测模式候选列表中可以包括与目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式相同的亮度帧内预测模式,以及相邻的亮度帧内预测模式、其它典型的亮度帧内预测模式(如模式1)。

上述确定帧内预测模式候选列表的过程,可以作为h.265/hevc标准的扩展部分,当然,随着技术的发展,上述方法还可以应用于下一代视频压缩协议中,如h.266或avs3等。

503、视频数据编码设备基于帧内预测模式候选列表和目标pu的亮度帧内预测模式,对目标pu的亮度帧内预测模式进行编码。

视频数据编码设备经过上述处理确定了帧内预测模式候选列表后,可以判断步骤501中获取到的目标pu的亮度帧内预测模式是否存在与帧内预测模式候选列表中。

在一种可能的实施方式中,如果存在,则可以编码一个标识位“1”,标识位“1”可以用于表示采用帧内预测模式候选列表进行编码,然后再编码在帧内预测模式候选列表中的索引。

另一种可能的实施方式中,如果不存在,则可以编码一个标识位“0”,标识位“0”可以用于表示采用常规方式进行编码。上述帧内预测模式候选列表中的candmodelist[0]-candmodelist[2]可以是按照模式编号从小到大的顺序进行排列。视频数据编码设备可以判断目标pu的亮度帧内预测模式是否大于candmodelist[0]对应的模式编号,如果大于,则将目标pu的亮度帧内预测模式减1,继续与candmodelist[1]对应的模式编号进行对比。如果此时目标pu的亮度帧内预测模式大于candmodelist[1]对应的模式编号,则继续将目标pu的亮度帧内预测模式减1,继续与candmodelist[2]对应的模式编号进行对比。如果此时目标pu的亮度帧内预测模式大于candmodelist[2]对应的模式编号,则继续将目标pu的亮度帧内预测模式减1,并且,视频数据编码设备可以按照此时目标pu的亮度帧内预测模式进行编码,例如,如果步骤501中获取到的目标pu的亮度帧内预测模式为模式34,经过与candmodelist[0]-candmodelist[2]对比之后,进行了3次减1,则此时目标pu的亮度帧内预测模式为模式31,视频数据编码设备可以利用5bit进行对“31”进行编码。上述过程中,一旦存在当时目标pu的亮度帧内预测模式小于的情况,视频数据编码设备即可根据当时目标pu的亮度帧内预测模式进行编码。

对于帧内预测模式候选列表中仅包括3个亮度帧内预测模式的情况,采用帧内预测模式候选列表进行编码时,编码索引所需比特数也为2bit;采用常规方式进行编码时,编码索引所需比特数也为5bit。本发明实施例所提供的亮度帧内预测模式的编码方法没有增加编码索引所需的比特数。

当然,在对应的解码过程中,也可以基于上述方法构造帧内预测模式候选列表,确定每个pu采用的目标帧内预测模式,进而可以根据目标帧内预测模式进行解码。

现有标准中一般采用上述之字形顺序确定pu的目标亮度帧内预测模式,因此上述过程以相邻pu是左相邻pu和上相邻pu为例进行介绍。当然,相邻pu还可以是右相邻pu和下相邻pu。此时,上述步骤502的处理可以为:视频数据编码设备基于目标pu的父层pu、右相邻pu和下相邻pu的目标亮度帧内预测模式,确定帧内预测模式候选列表。上述确定每个pu的目标亮度帧内预测模式的顺序也可以进行相应的调整,以便在确定目标pu的目标亮度帧内预测模式时,保证右相邻pu和下相邻pu的目标亮度帧内预测模式已经确定。对应的解码方式也可以进行相应的调整。具体过程与上述介绍的过程相类似,左相邻pu和上相邻pu可以相应置换为右相邻pu和下相邻pu,此处不再赘述。

本发明实施例中,在亮度帧内预测模式的编码过程中,视频数据编码设备在确定帧内预测模式候选列表时,同时考虑时域和空域,利用目标pu的父层pu和相邻pu的亮度帧内预测模式作为参考,增大了目标pu的帧内预测模式存在于帧内预测模式候选列表中的可能性,进一步减少编码亮度帧内预测模式所需的比特数,可以进一步提高视频数据的压缩率。

基于相同的技术构思,本发明实施例还提供了一种编码装置,该装置可以是上述视频数据编码设备。如图12所示,该装置包括:

获取模块1210,用于在对目标预测单元pu的亮度分量进行帧内预测时,获取所述目标pu的亮度帧内预测模式;

确定模块1220,用于基于所述目标pu的父层pu和相邻pu的目标亮度帧内预测模式,确定帧内预测模式候选列表;

编码模块1230,用于基于所述帧内预测模式候选列表和所述目标pu的亮度帧内预测模式,对所述目标pu的亮度帧内预测模式进行编码。

可选的,所述确定模块1220用于:

基于所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式,确定帧内预测模式候选列表。

可选的,所述确定模块1220还用于:

将所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式设置为初始亮度帧内预测模式;

如果所述父层pu存在,则更新所述父层pu的目标亮度帧内预测模式;

如果所述左相邻pu存在,则更新所述左相邻pu的目标亮度帧内预测模式;

如果所述上相邻pu存在,则更新所述上相邻pu的目标亮度帧内预测模式。

可选的,所述确定模块1220用于:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,则根据第一规则确定帧内预测模式候选列表;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不相同,则根据第二规则确定帧内预测模式候选列表;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,则根据第三规则确定帧内预测模式候选列表。

可选的,所述确定模块1220用于:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,且所述目标亮度帧内预测模式为模式0或模式1,则将模式0、模式1、模式10和模式26添加到帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,且所述目标亮度帧内预测模式不为模式0和模式1,则将所述目标亮度帧内预测模式、所述目标亮度帧内预测模式的左相邻亮度帧内预测模式、所述目标亮度帧内预测模式的右相邻亮度帧内预测模式和模式1添加到帧内预测模式候选列表中。

可选的,所述确定模块1220用于:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不相同,则将所述父层pu的目标亮度帧内预测模式、所述左相邻pu的目标亮度帧内预测模式、所述上相邻pu的目标亮度帧内预测模式添加到帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式1,则将模式1添加到所述帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式0,则将模式0添加到所述帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式10,则将模式10添加到所述帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式26,则将模式26添加到所述帧内预测模式候选列表中。

可选的,所述确定模块1220用于:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,且所述相同亮度帧内预测模式为模式0或模式1,则将模式0、模式1和所述不同亮度帧内预测模式添加到帧内预测模式候选列表中;

如果所述不同亮度帧内预测模式为模式26,则将模式10添加到所述帧内预测模式候选列表中;

如果所述不同亮度帧内预测模式不为模式26,则将模式26添加到所述帧内预测模式候选列表中。

可选的,所述确定模块1220用于:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,且所述相同亮度帧内预测模式不为模式0和模式1,则将所述相同亮度帧内预测模式、所述相同亮度帧内预测模式的左相邻亮度帧内预测模式和所述相同亮度帧内预测模式的右相邻亮度帧内预测模式添加到帧内预测模式候选列表中;

如果所述不同亮度帧内预测模式为所述左相邻亮度帧内预测模式或所述右相邻亮度帧内预测模式,则将模式1添加到所述帧内预测模式候选列表中;

如果所述不同亮度帧内预测模式不为所述左相邻亮度帧内预测模式和所述右相邻亮度帧内预测模式,则将所述不同亮度帧内预测模式添加到所述帧内预测模式候选列表中。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例中,在亮度帧内预测模式的编码过程中,视频数据编码设备在确定帧内预测模式候选列表时,同时考虑时域和空域,利用目标pu的父层pu和相邻pu的亮度帧内预测模式作为参考,增大了目标pu的帧内预测模式存在于帧内预测模式候选列表中的可能性,进一步减少编码亮度帧内预测模式所需的比特数,可以进一步提高视频数据的压缩率。

需要说明的是:上述实施例提供的编码亮度帧内预测模式的装置在编码亮度帧内预测模式时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将视频数据编码设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的编码亮度帧内预测模式的装置与亮度帧内预测模式的编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图13是本发明实施例提供的一种视频数据编码设备的结构示意图,该视频数据编码设备1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1301和一个或一个以上的存储器1302,其中,所述存储器1302中存储有至少一条指令,所述至少一条指令由所述处理器1301加载并执行以实现下述亮度帧内预测模式的编码方法步骤:

在对目标预测单元pu的亮度分量进行帧内预测时,获取所述目标pu的亮度帧内预测模式;

基于所述目标pu的父层pu和相邻pu的目标亮度帧内预测模式,确定帧内预测模式候选列表;

基于所述帧内预测模式候选列表和所述目标pu的亮度帧内预测模式,对所述目标pu的亮度帧内预测模式进行编码。

可选的,所述至少一条指令由所述处理器1301加载并执行以实现下述方法步骤:

基于所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式,确定帧内预测模式候选列表。

可选的,所述至少一条指令由所述处理器1301加载并执行以实现下述方法步骤:

将所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式设置为初始亮度帧内预测模式;

如果所述父层pu存在,则更新所述父层pu的目标亮度帧内预测模式;

如果所述左相邻pu存在,则更新所述左相邻pu的目标亮度帧内预测模式;

如果所述上相邻pu存在,则更新所述上相邻pu的目标亮度帧内预测模式。

可选的,所述至少一条指令由所述处理器1301加载并执行以实现下述方法步骤:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,则根据第一规则确定帧内预测模式候选列表;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不相同,则根据第二规则确定帧内预测模式候选列表;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,则根据第三规则确定帧内预测模式候选列表。

可选的,所述至少一条指令由所述处理器1301加载并执行以实现下述方法步骤:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,且所述目标亮度帧内预测模式为模式0或模式1,则将模式0、模式1、模式10和模式26添加到帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均相同,且所述目标亮度帧内预测模式不为模式0和模式1,则将所述目标亮度帧内预测模式、所述目标亮度帧内预测模式的左相邻亮度帧内预测模式、所述目标亮度帧内预测模式的右相邻亮度帧内预测模式和模式1添加到帧内预测模式候选列表中。

可选的,所述至少一条指令由所述处理器1301加载并执行以实现下述方法步骤:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不相同,则将所述父层pu的目标亮度帧内预测模式、所述左相邻pu的目标亮度帧内预测模式、所述上相邻pu的目标亮度帧内预测模式添加到帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式1,则将模式1添加到所述帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式0,则将模式0添加到所述帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式10,则将模式10添加到所述帧内预测模式候选列表中;

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式均不为模式26,则将模式26添加到所述帧内预测模式候选列表中。

可选的,所述至少一条指令由所述处理器1301加载并执行以实现下述方法步骤:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,且所述相同亮度帧内预测模式为模式0或模式1,则将模式0、模式1和所述不同亮度帧内预测模式添加到帧内预测模式候选列表中;

如果所述不同亮度帧内预测模式为模式26,则将模式10添加到所述帧内预测模式候选列表中;

如果所述不同亮度帧内预测模式不为模式26,则将模式26添加到所述帧内预测模式候选列表中。

可选的,所述至少一条指令由所述处理器1301加载并执行以实现下述方法步骤:

如果所述目标pu的父层pu、左相邻pu和上相邻pu的目标亮度帧内预测模式中存在2个相同亮度帧内预测模式和1个不同亮度帧内预测模式,且所述相同亮度帧内预测模式不为模式0和模式1,则将所述相同亮度帧内预测模式、所述相同亮度帧内预测模式的左相邻亮度帧内预测模式和所述相同亮度帧内预测模式的右相邻亮度帧内预测模式添加到帧内预测模式候选列表中;

如果所述不同亮度帧内预测模式为所述左相邻亮度帧内预测模式或所述右相邻亮度帧内预测模式,则将模式1添加到所述帧内预测模式候选列表中;

如果所述不同亮度帧内预测模式不为所述左相邻亮度帧内预测模式和所述右相邻亮度帧内预测模式,则将所述不同亮度帧内预测模式添加到所述帧内预测模式候选列表中。

本发明实施例中,在亮度帧内预测模式的编码过程中,视频数据编码设备在确定帧内预测模式候选列表时,同时考虑时域和空域,利用目标pu的父层pu和相邻pu的亮度帧内预测模式作为参考,增大了目标pu的帧内预测模式存在于帧内预测模式候选列表中的可能性,进一步减少编码亮度帧内预测模式所需的比特数,可以进一步提高视频数据的压缩率。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的可能实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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