视频处理方法和设备与流程

文档序号:20922506发布日期:2020-05-29 14:20阅读:222来源:国知局
视频处理方法和设备与流程

版权申明

本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。

本申请涉及图像处理领域,并且更具体地,涉及一种视频处理方法和设备。



背景技术:

预测是主流视频编码框架的重要模块,预测可以包括帧内预测和帧间预测。帧间预测模式可以包括高级运动向量预测(advancedmotionvectorprediction,amvp)模式和合并(merge)模式。在merge模式中,可以在运动矢量的预测值(motionvectorprediction,mvp)候选列表中确定mvp,并直接将该mvp确定为mv,并可以在码流中传递mvp和参考帧索引至解码端,以用于解码端的解码。

在构建上述mvp候选列表时,可以从基于历史的运动矢量预测(history-basedmotionvectorprediction,hmvp)候选列表中选择候选hmvp作为mvp候选列表中的候选mvp。

其中,hmvp候选列表是基于已编码或解码块的运动信息生成的。具体可以为在完成一个已编码或解码块的编码或解码时,利用该一个已编码或解码块的运动信息更新下一个待编码或解码块的hmvp列表,如此将使得图像块之间的依赖性较强。



技术实现要素:

本申请实施例提供一种视频处理方法和设备,可以克服多个图像块之间的依赖性,使得多个图像块可以独立编码或解码。

第一方面,提供了一种视频处理方法,包括:获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

第二方面,提供了一种视频处理方法,包括:利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。

第三方面,提供了一种视频处理设备,包括:获取单元,用于获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;编码或解码单元,用于根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

第四方面,提供了一种视频处理设备,其特征在于,包括编码或解码单元和更新单元;所述编码或解码单元用于:利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;所述更新单元用于:基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;所述编码或解码单元进一步用于:利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。

第五方面,提供了一种计算机系统,包括:存储器,用于存储计算机可执行指令;处理器,用于访问该存储器,并执行该计算机可执行指令,以进行上述第一或第二方面的方法中的操作。

第六方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述第一或第二方面的方法。

第七方面,提供了一种计算机程序产品,该程序产品包括程序代码,该程序代码可以用于指示执行上述第一或第二方面的方法。

在本申请实施例中,可以利用已编码或解码的第二图像块的运动信息构建历史运动信息候选列表,利用构建的历史运动信息候选列表对第一区域的多个第一图像块进行编码或解码,可以克服该多个第一图像块的依赖性,使得第一区域的多个第一图像块可以保持独立编码或解码。

附图说明

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

图1是根据本申请实施例的技术方案的架构图。

图2是根据本申请实施例视频处理方法的示意性流程图。

图3是根据本申请实施例视频处理方法的示意性流程图。

图4是根据本申请实施例的mer的构成图。

图5是根据本申请实施例的视频处理方法的示意性图。

图6是根据本申请实施例的hmvp更新的示意性图。

图7是根据本申请实施例的图像块的相邻块的示意性图。

图8是根据本申请实施例的图像块的空域候选的示意性图。

图9是跟本申请实施例的视频处理设备的示意性框图。

图10是跟本申请实施例的视频处理设备的示意性框图。

图11是跟本申请实施例的计算机系统的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。

图1是应用本申请实施例的技术方案的架构图。

如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后的数据108。例如,系统100可以接收待编码数据,对待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机)中的处理器。该处理器可以为任意种类的处理器,本发明实施例对此不做限定。在一些可能的设计中,该处理器可以包括编码器、解码器或编解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本发明实施例的技术方案的计算机可执行指令,待处理数据102、处理后的数据108等。该存储器可以为任意种类的存储器,本发明实施例对此也不做限定。

待编码数据可以包括文本,图像,图形对象,动画序列,音频,视频,或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风,近场传感器(例如,超声波传感器、雷达),位置传感器,温度传感器,触摸传感器等。在一些情况下,待编码数据可以包括来自用户的信息,例如,生物信息,该生物信息可以包括面部特征,指纹扫描,视网膜扫描,嗓音记录,dna采样等。

其中,在对每个图像进行编码时,图像可以最初被分成多个图像块。在一些实施例中,图像可以被分成多个图像块,所述图像块在一些编码准中被称为宏块或最大编码单元(lcu,largestcodingunit)。图像块可以具有或者可以不具有任何重叠部分。该图像可以被分成任何数量的图像块。举例而言,该图像可以被分成一个m×n图像块阵列。图像块可以具有矩形形状、正方形形状、圆形形状或任何其他形状。图像块可以具有任何尺寸,如p×q像素。在现代视频编码标准中,可以通过首先将该图像分成多个小块来对不同分辨率的图像进行编码。对于h.264,图像块被称为宏块,其大小可以是16×16像素,并且对于hevc,图像块被称为最大编码单元,其大小可以是64×64。每个图像块都可以具有相同尺寸和/或形状。替代地,两个或更多图像块可以具有不同的尺寸和/或形状。在一些实施例中,一个图像块也可以不是一个宏块或最大编码单元,而是包含一个宏块或最大编码单元的部分,或者包含至少两个完整的宏块(或最大编码单元),或者包含至少一个完整的宏块(或最大编码单元)和一个宏块(或最大编码单元)的部分,或者包含至少两个完整的宏块(或最大编码单元)和一些宏块(或最大编码单元)的部分。如此,在图像被分成多个图像块之后,可以分别对图像数据中的这些图像块进行编码。

在编码过程中,为了去除冗余,可以对图像进行预测。视频中不同的图像可采用不同的预测方式。根据图像所采用的预测方式,可以将图像区分为帧内预测图像和帧间预测图像,其中帧间预测图像包括前向预测图像和双向预测图像。i图像是帧内预测图像,也称为关键帧;p图像是前向预测图像,也即采用之前已编码的一个p图像或者i图像作为参考图像;b图像是双向预测图像,也即采用前后的图像作为参考图像。一种实现方式是编码端将多张图像进行编码后产生一段一段的图像组(groupofpicture,gop),该gop是由一张i图像,以及多张b图像(或双向预测图像)和/或p图像(或前向预测图像)构成的图像组。解码端在播放时则是读取一段一段的gop进行解码后读取画面再渲染显示。

其中,在进行帧间预测时,可以为每个图像块在参考帧中(一般为时域附近的已重构帧)寻找最相似块作为当前图像块的预测块。当前块与预测块之间的相对位移为运动矢量(motionvector,mv)。

视频编码标准中的帧间预测模式可以包括amvp模式和merge模式。

对于amvp模式而言,可以先确定mvp,在得到mvp之后,可以根据mvp确定运动估计的起始点,在起始点附近,进行运动搜索,搜索完毕之后得到最优的mv,由mv确定参考块在参考图像中的位置,参考块减去当前块得到残差块,mv减去mvp得到运动矢量差值(motionvectordifference,mvd),并将该mvd通过码流传输给解码端。

对于merge模式而言,可以先确定mvp,并直接将mvp确定为mv其中,为了得到mvp,可以先构建一个mvp候选列表(mergecandidatelist),在mvp候选列表中,可以包括至少一个候选mvp,每个候选mvp可以对应有一个索引,编码端在从mvp候选列表中选择mvp之后,可以将该mvp索引写入到码流中,则解码端可以按照该索引从mvp候选列表中找到该索引对应的mvp,以实现对图像块的解码。

为了更加清楚地理解merge模式,以下将介绍采用merge模式进行编码的操作流程。

步骤一、获取mvp候选列表;

步骤二、从mvp候选列表中选出最优的一个mvp,同时得到该mvp在mvp候选列表中的索引;

步骤三、把该mvp作为当前块的mv;

步骤四、根据mv确定参考块在参考图像中的位置;

步骤五、参考块减去当前块得到残差块;

步骤六、把残差数据和mvp的索引传给解码器。

应理解,以下流程只是merge模式的一种具体实现方式。merge模式还可以具有其他的实现方式。

例如,skip模式是merge模式的一种特例。按照merge模式得到mv之后,如果编码器确定当前块和参考块基本一样,那么不需要传输残差数据,只需要传递mv的索引,以及进一步地可以传递一个标志,该标志可以表明当前块可以直接从参考块得到。

也就是说,merge模式特点为:mv=mvp(mvd=0);而skip模式还多一个特点,即:重构值rec=预测值pred(残差值resi=0)。

在构建上述mvp候选列表时,可以从hmvp候选列表中选择候选hmvp作为mvp候选列表中的候选mvp。

对于以上提到的hmvp,可以在完成一个已编码块的编码时,利用该一个已编码块的运动信息更新下一个待编码块的hmvp列表,如此将使得图像块之间的依赖性较强。

在硬件实现时,为了增加吞吐量,可以使得相邻块的编码(例如运动估计等)过程并行进行,然而,在构建hmvp候选列表时,这种依赖性将会使得并行处理无法进行。

为此,本申请实施例提供的以下方案,可以克服图像块之间的依赖性。

应理解,本申请实施例的方案可以不限于用于以上提到的merge模式,还可以用于其他的编解码模式,也就是说可以适用于编解码过程中采用了历史运动信息候选列表(例如,hmvp候选列表)的任何编解码模式。

还应理解,本申请实施例的方案可以克服图像块之间的依赖性,从而可以用于图像块进行并行处理的场景,但应理解,本申请实施例还可以用于非并行处理的场景,也就是克服图像块之间的依赖性可以作为它用。

图2是根据本申请实施例的视频处理方法200的示意性流程图。该方法200包括以下内容中的至少部分内容。其中,以下的方法200可以用于编码端,也可以用于解码端。

在210中,获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;

在220中,根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

图3是根据本申请实施例的视频处理方法300的示意性流程图。该方法300包括以下内容中的至少部分内容。其中,以下的方法300可以用于编码端,也可以用于解码端。

在310中,利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;

在320中,基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;

在330中,利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。

在以上方法200或300中,可以利用已编码或解码的第二图像块的运动信息构建历史运动信息候选列表,利用构建的历史运动信息候选列表对第一区域的多个第一图像块进行编码或解码,可以克服该多个第一图像块之间的相互依赖性,使得第一区域的多个第一图像块可以保持独立编码或解码。

为了更加清楚地理解本申请,以下将对本申请实施例的具体实现方式进行说明。应理解,以下的描述可以适用以上的方法200和300。

本申请实施例中的历史运动信息候选列表可以包括至少一个候选历史运动信息,该候选历史运动信息可以被选择用于构建运动信息列表,编码端或解码端从而可以从该运动信息列表中选择当前图像块的运动信息。其中,候选历史运动信息可以基于已编码或解码图像块的运动信息获取的。

可选地,本申请实施例中的运动信息可以表示运动矢量、参考帧索引值、运动矢量差、运动矢量预测值中的一个或多个的组合。

本申请实施例中的历史运动信息候选列表可以是hmvp候选列表,而该hmvp候选列表可选地可以包括至少一个候选mvp。

本申请实施例中的区域(例如,第一区域或第二区域)可以为运动估计区域(motionestimationregion,mer)。mer可以是矩形区域,也可以是非矩形区域,例如,由多个正方形和或长方形组成的非矩形区域。

每个区域内的图像块的编码过程可以是并行处理的。

本申请实施例中的各个区域的大小可以相同,也可以不相同。区域可以是正方形、长方形、菱形、三角形、梯形或圆形等。

在本申请实施例中,一个区域可以仅属于一个ctu,也即区域可以是不跨ctu的,一个ctu可以包括一个或多个区域。当然,也可以是一个区域包括一个或多个ctu,或者包括非整数个ctu,也就是说,存在某个ctu是属于多个区域的。

在本申请实施例中,每个区域可以包括一个或多个图像块,各个图像块的大小可以相同,也可以不相同。各个区域包括的图像块的数量可以相同,也可以不相同。各个区域的像素可以不存在重叠的部分。

本申请实施例中的图像块可以为编码单元(codingunit,cu),当然,也可以是预测单元(predictionunit,pu),本申请实施例对此不做具体限定。

例如,如图4所示的四个mer,即mer1、mer2、mer3和mer4,其中,该四个mer的大小可以是相同,各个mer包括的图像块的数量可以是不同的,其中,mer1包括cu0、cu1、cu2和cu3共四个cu,mer2包括cu4、cu5、cu6、cu7和cu8共五个cu,mer3包括cu9,以及mer4包括cu10、cu11和cu12,各个cu的大小可以是不完全相同的。

可选地,在本申请实施例中,如图5所示,可以利用之前区域(第二区域)的已编码或解码图像块的运动信息,更新历史运动信息候选列表,并利用更新的历史运动信息候选列表,对当前区域(第一区域)的图像块进行编码或解码。进一步地,可以利用当前区域的已编码或解码图像块的运动信息对历史运动信息候选列表再次更新,以用于下一区域的图像块的编码或解码。

可选地,在本申请实施例中,针对所述第一区域,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中的顺序相同。

以区域为mer为例,当前mer中的所有图像块编码或解码完成之后,为了保证编码或解码下一个mer中的cu所使用的历史运动信息候选列表是和当前mer所使用的历史运动信息候选列表是不同的,可以利用当前mer中的图像块的运动信息对历史运动信息候选列表进行更新,编码或解码下一个mer中的cu时,使用更新后的历史运动信息候选列表得到构建运动信息列表。

例如,如图4所示,mer1中的所有图像块(cu0-cu3)编码或解码完成之后,在编码或解码mer2中的图像块之前,可以利用cu0-cu3的运动信息更新历史运动信息候选列表,在历史运动信息候选列表更新完成之后,对mer2中的所有图像块(cu4-cu8)进行编码或解码的过程中,所使用的历史运动信息候选列表不再进行更新,都是使用同一个历史运动信息候选列表。而mer3中的所有图像块(cu9)编码或解码完成之后,在编码或解码mer4中的图像块之前,需要利用cu9的运动信息更新历史运动信息候选列表,在历史运动信息候选列表更新完成之后,对mer4中的所有图像块(cu10-cu12)进行编码或解码的过程中,所使用的历史运动信息候选列表不再进行更新,都是使用同一个历史运动信息候选列表。

可选地,在本申请实施例中,在利用历史运动信息候选列表构建运动信息列表时,可以采用先进先出的原则,也即先被添加进入的历史运动信息,先被选择用于构建运动信息列表。

具体地,可以将第一运动信息(基于第二区域的已编码或解码图像块的运动信息得到的)加入到历史运动信息候选列表的表头中,其中,此处的表头是指历史运动信息候选列表中最先被选择用于构建运动信息列表的位置,从而可以使得先被加入到历史运动信息候选列表中的历史运动信息可以优先被选择用于构建运动信息列表。

可选地,在本申请实施例中,历史运动信息候选列表包括的候选历史运动信息的数量可以是预设的,也就是说历史运动信息候选列表的大小是固定的,例如,历史运动信息候选列表包括的候选历史运动信息的数量可以固定为6。

如此一来,将已编码或解码图像块的运动信息加入到历史运动信息候选列表将导致历史运动信息候选列表包括的候选历史运动信息的数量增加,从而可以同时从历史运动信息候选列表中删除相同数量的候选历史运动信息。

其中,在从历史运动信息候选列表中删除候选历史运动信息时,删除的候选历史运动信息可以是历史运动信息候选列表中处于表尾处的候选历史运动信息,其中,表尾处的候选历史运动信息是指最后被选择用于构建运动信息列表的候选历史运动信息。

或者,也可以采用其他的方式从历史运动信息候选列表中删除候选历史运动信息。

例如,添加到历史运动信息候选列表的候选历史运动信息与历史运动信息候选列表中已存在的候选历史运动信息相同,则可以将该相同的候选历史运动信息进行删除。此处,也可以理解为将相同的候选历史运动信息在历史运动信息候选列表中的位置进行了移动,移动到了历史运动信息候选列表的表头处。

例如,如图6所示,更新前的hmvp候选列表包括l个候选历史运动信息,需要添加的候选历史运动信息为hmvp2,对hmvp候选列表进行检查,发现更新前的hmvp候选列表存在相同的hmvp2,此时可以将该hmvp2移动到hmvp候选列表的表头,其他候选历史运动信息的位置相应调整。或者,图6也可以理解为在更新前的hmvp候选列表中加入hmvp2,以及将更新前的hmvp候选列表中的hmvp2进行删除。

应理解,以上提到的删除表尾处的候选历史运动信息以及将与添加的候选历史运动信息相同的候选历史运动信息进行删除的操作可以同时存在。

例如,需要加入的候选历史运动信息为2个,1个候选历史运动信息与更新前的列表中的某个候选历史运动信息相同,而另1个候选历史运动信息在更新前的列表中不存在相同的候选历史运动信息,此时,可以在列表中删除该相同的1个候选历史运动信息,以及删除表尾处的1个候选历史运动信息,使得添加的候选历史运动信息的数量与删除的候选历史运动信息的数量相同。

可选地,在本申请实施例中,在每次对历史运动信息候选列表进行更新的过程中,历史运动信息候选列表中添加的候选历史运动信息的数量和/或删除的候选历史运动信息的数量可以小于预设值,该预设值可以小于或等于历史运动信息候选列表中允许包括的候选历史运动信息的数量。

可选地,在本申请实施例中,第二区域的全部已编码或解码图像块的运动信息可以用于历史运动信息候选列表的更新,或者也可以是部分已编码或解码图像块的运动信息用于历史运动信息候选列表的更新。

可选地,在本申请实施例中,用于对历史运动信息候选列表进行更新的第二图像块可以是所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。

其中,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:

所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。

可选地,在本申请实施例中,第二区域中可以用于对历史运动信息候选列表进行更新的第二图像块可以是根据各个第二图像块的位置坐标和/或编码顺序选择的。

其中,所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。其中,此处提到的下侧和侧可以是相对的位置,而非必须正上或正下位置。或者,较早编码的图像块的运动信息的优先级高于较晚编码图像块的优先级。

例如,如图4所示,以mer2作为当前区域(也即第一区域),则mer1的cu1和cu3的优先级高于cu0和cu2的优先级,而cu3的优先级高于cu1的优先级。

应理解,在本申请实施例中,第二区域中各个第二图像块的优先级除了根据第二图像块的位置坐标和/或编码顺序而定,还可以根据其他因素而定,本申请实施例对此不做具体限定。

可选地,在本申请实施例的一种实现方式中,可以根据每次需要更新的历史运动信息的数量,从第二区域中选择已编码或解码图像块,选择的已编码或解码图像块的运动信息用于更新历史运动信息候选列表,其中,需要更新的历史运动信息的数量可以等于选择的已编码或解码图像块的数量。

例如,需要对历史运动信息候选列表更新2个候选历史运动信息,则可以从第二区域中选择2个已编码或解码图像块,并在历史运动信息候选列表中添加该选择的2个已编码或解码图像块的运动信息,并删除2个候选历史运动信息。

可选地,在本申请实施例的另一种实现方式中,选择的已编码或解码图像块的数量可以大于需要更新的历史运动信息的数量。此时,可以对全部或部分选择的已编码或解码图像块的运动信息进行加权处理,使得可用的历史运动信息的数量等于需要更新的候选历史运动信息的数量。

例如,需要对历史运动信息候选列表更新的历史运动信息的数量为1个,选择的已编码或解码图像块数量为3个,则可以对该3个已编码或解码图像块的运动信息进行加权处理得到1个候选历史运动信息,将该1个候选历史运动信息加入到历史运动信息候选列表中,并从该历史运动信息候选列表中删除1个候选历史运动信息。

例如,需要对历史运动信息候选列表更新的历史运动信息的数量为2个,选择的已编码或解码图像块的数量为3个,则可以对其中2个已编码或解码图像块的运动信息进行加权处理得到1个候选历史运动信息,将加权处理后的该1个候选历史运动信息和未处理的一个候选历史运动信息加入到历史运动信息候选列表中,并从该历史运动信息候选列表中删除2个候选历史运动信息。

其中,在对多个已编码或解码图像块的运动信息加权处理时,可以进行平均处理,也可以不进行平均处理,

其中,各个运动信息的权重可以根据各个已编码或解码图像块与第一区域的位置关系和/或各个已编码或解码图像块的编码或解码顺序而定。

例如,位于第一区域的左侧的属于第二区域的图像块的运动信息的优先级高于左上和左下的图像块的运动信息的优先级。

例如,较早编码的图像块的运动信息的优先级高于较晚编码图像块的优先级。

可选地,在本申请实施例中,在存在多个运动信息需要加入到历史运动信息候选列表时,该多个运动信息可以具有优先级,优先级高的运动信息加入到表头的更靠前的位置,优先级低的运动信息加入到表头的更靠后的位置。

其中,已编码或解码图像块的运动信息的优先级可以根据已编码或解码图像块与当前区域的位置关系而定。

例如,位于当前区域的左侧的图像块的运动信息的优先级高于左上和左下的图像块的运动信息的优先级。

可选地,在本申请实施例中,第二区域中可以用于对历史运动信息候选列表进行更新的图像块可以是仿射变换运动补偿模式(affine)模式的图像块。其中,affine模式可选地是根据控制点的运动信息描述整个图像块的仿射运动(放大/缩小,旋转等不规则运动)场。

可选地,在本申请实施例中,可以选择一个或多个第二区域对历史运动信息候选列表进行更新,其中,在选择一个第二区域对历史运动信息候选列表进行更新时,该一个第二区域可以是第一区域的前一个被编码或解码的区域。

可选地,在本申请实施例中,所述第二区域与所述第一区域沿图像的行方向排布,或沿图像的列方向排布。

也就是说,对当前区域所用的历史运动信息候选列表进行更新时,采用的区域需要与当前区域具有相同的行排布或相同的列排布。

例如,如图4所示,mer1可以用于对hmvp候选列表进行更新,用于mer2的编码或解码,以及mer3可以用于对hmvp候选列表进行更新,用于对mer4的编码或解码。而mer2不能用于对hmvp候选列表进行更新,用于对mer3进行编码或解码。

或者,如图4所示,mer1可以用于对hmvp候选列表进行更新,用于mer3的编码或解码,以及mer2可以用于对hmvp候选列表进行更新,用于对mer4的编码或解码。而mer3不能用于对hmvp候选列表进行更新,用于对mer2进行编码或解码。

可选地,在本申请实施例中,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述hmvp候选列表为空。

具体地,编码器在每次按行(或列)编码完一个行(或列)时,可以对历史运动信息候选列表进行清空,在对下一个行(或列)进行编码时,历史运动信息候选列表是空的。

此处提到的行(或列)可以包括多个区域,在编码完一行(列)的多个区域后,可以编码下一行(列)的多个区域,其中,各个行(或列)的行(或列)坐标的范围是相同的,列(或行)坐标的范围是不同的。

以上提到的行或列可以是ctu行或列,每个ctu行或ctu列包括至少一个ctu,每个ctu包括至少一个区域。

则此时在编码完一个ctu行或列时,可以对hmvp列表进行清空,再编码下一个ctu行或列。

例如,如图4所示,在编码mer1中的cu时,若mer1是当前ctu行中的第一个mer时,则mer1中的所有图像块所使用的历史运动信息候选列表为空;若mer1不是当前ctu行中的第一个mer,则mer1中的所有图像块所使用的历史运动信息候选列表是根据前一个mer中图像块的运动信息进行更新之后的历史运动信息候选列表。

应理解,本申请实施例中并不限于以上的描述,例如,只有对当前帧的第一个区域进行编码或解码时,历史运动信息候选列表才为空,其他的区域的历史运动信息候选列表均可以依据前一个区域的图像块的运动信息进行更新得到的。

例如,如图4所示,在编码mer1中的cu时,若mer1是当前帧中的第一个mer时,则mer1中的所有图像块所使用的历史运动信息候选列表为空;若mer1不是当前帧中的第一个mer,则mer1中的所有图像块所使用的历史运动信息候选列表是根据前一个mer中图像块的运动信息进行更新之后的历史运动信息候选列表。

可选地,在本申请实施例中,在对历史运动信息候选列表进行更新时,可以将选择用于更新的历史运动信息与其他更高优先级的列表(也就是相比于历史运动信息候选列表,该列表中的候选运动信息优先用于构建运动信息列表)中的可被选择的候选运动信息比较(pruning)。

其中,若已经利用其他更高优先级的列表构建运动信息列表,则可以将选择用于更新的历史运动信息与运动信息列表中已有的候选运动信息进行比较。

如果发现其他更高优先级的列表中的候选运动信息(或,运动信息列表中已有的候选运动信息)与该选择的用于更新的历史运动信息不相同,则可以将该历史运动信息加入到该历史运动信息候选列表中。

如果相同,可以不将该历史运动信息加入到该历史运动信息候选列表中,可以再选择新的历史运动信息加入到该历史运动信息候选列表中。

例如,选择第二区域中更低优先级的图像块的运动信息作为历史运动信息加入到该历史运动信息候选列表中,或者,也可以不对该历史运动信息候选列表中进行更新,或者进行较少数量的候选历史运动信息的更新。

其中,为了减少上述比较的次数以降低软硬件资源开销,可以对比较的次数进行限制。

比较的次数最大值可以根据以下参数确定:其他更高优先级的列表中的候选运动信息(或,运动信息列表中已有的候选运动信息)的数量,以及历史运动信息候选列表包括的候选历史运动信息的数量。

该最大值l的具体限制可以例如如下:

l=(n<=4)?m:(8-n)

其中,l代表比较次数,n表示其他更高优先级的列表中的候选运动信息(或,运动信息列表中已有的候选运动信息)的数量,m表示历史运动信息候选列表中的候选历史运动信息的数量。

以上公式的含义可以理解为:如果n小于或等于4,则比较的次数最大等于m,否则,比较的次数最大为8-n。

可选地,在本申请实施例中,上述历史运动信息候选列表可以存储在一个存储空间中。可选地,在该种情况下,利用当前帧的第二区域包括的至少一个第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行的。

具体地,上述历史运动信息候选列表存储在一个存储空间中可以理解为历史运动信息候选列表的数量可以为1个,此时,在利用该历史运动信息候选列表,对前一个区域的编码或解码完成之后,利用相应图像块的运动信息对该历史运动信息候选列表进行更新,并利用更新后的历史运动信息候选列表对当前区域的图像块进行编码或解码,在对当前区域的图像块进行编码或解码完成后,对该历史运动信息候选列表再次进行更新,再次更新的历史运动信息候选列表可以用于下一个区域的编码或解码。

可选地,在本申请实施例中,上述历史运动信息候选列表也可以分别存储在第一存储空间和非所述第一存储空间的第二存储空间中。此时,可以利用其中一个存储空间存储的历史运动信息候选列表对第二区域的图像块进行编码或解码,以及可以在第二区域进行编码或解码的过程中,可以利用第二区域的已编码或解码的第二图像块对另一个存储空间存储的历史运动信息候选列表进行更新,从而可以实现编码或解码过程与历史运动信息候选列表的同步进行。

为了便于理解,以下将提供两种实现方式对上述历史运动信息候选列表分别存储在第一存储空间和第二存储空间的情况下的历史运动信息候选列表的使用方式进行说明。

实现方式1

历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的;在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

进一步地,在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;利用所述第二存储空间中的更新后的所述历史运动信息候选列表,对第三区域的至少一个第三图像块进行编码或解码。其中,对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。

具体地,在编码或解码第一个区域,区域1(当前帧或当前ctu行的第一个区域)时,存储空间a和存储空间b分别存储有相同的历史运动信息候选列表(列表可以为空),可以对该区域1利用存储空间a中的历史运动信息候选列表进行编码或解码,由于区域1中的图像块的编码或解码的完成顺序存在先后,可以利用已完成编码或解码的图像块的运动信息对存储空间b中的历史运动信息候选列表进行更新,在区域1的编码或解码过程完成之后,存储空间b中的历史运动信息候选列表可能已经更新完毕,此时可以利用存储空间b中的更新后的历史运动信息候选列表对第二个区域,区域2进行编码或解码,同时利用存储空间b中的更新后的历史运动信息候选列表对存储空间a中的历史运动信息候选列表进行更新;在存储空间a中的历史运动信息候选列表在被基于存储空间b中的更新后的历史运动信息候选列表进行更新之后,可以在区域2的编码或解码过程中,利用区域2的已编码或解码的图像块对存储空间a中的历史运动信息候选列表再次进行更新;在区域2的编码或解码过程完成之后,存储空间a中的历史运动信息候选列表可能已经再次更新完成,则可以利用存储空间a中的再次更新后的历史运动信息候选列表对第三个区域,区域3中的图像块进行编码或解码,同时利用存储空间a中的再次更新后的历史运动信息候选列表对存储空间b中的历史运动信息候选列表再次进行更新,后续操作可以参考之前描述依次类推。

在该种实现方式中,历史运动信息候选列表被存储在两个存储空间中,每个存储空间中的历史运动信息候选列表交替用于区域的编码或解码,并在区域的编码或解码过程中,可以对当前未被利用的历史运动信息候选列表进行更新(包括将被利用的历史运动信息候选列表更新到该当前未被利用的历史运动信息候选列表,以及将当前已编码或解码的图像块的运动信息更新到该当前未被利用的历史运动信息候选列表),从而可以实现历史运动信息候选列表的更新和图像块编码或解码的同步进行,从而可以提高编码或解码效率。

实现方式2

所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的;在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。进一步地,在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新;根据所述第二存储空间中的再次更新后的所述历史运动信息候选列表,分别对第三区域的至少一个第三图像块进行编码或解码。其中,对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。

具体地,在编码或解码第一个区域,区域1(当前帧或当前ctu行的首个区域)时,存储空间a和存储空间b分别存储有相同的历史运动信息候选列表(列表可以为空),可以利用存储空间a中的历史运动信息候选列表,对该区域1进行编码或解码,由于区域1中的图像块的编码或解码的完成顺序存在先后,可以利用已完成编码或解码的图像块的运动信息对存储空间b中的历史运动信息候选列表进行更新,在区域1的编码或解码过程完成之后,存储空间b中的历史运动信息候选列表可能已经更新完毕,此时可以利用存储空间b中的历史运动信息候选列表对存储空间a中的历史运动信息候选列表进行更新,得到存储空间a的更新后的历史运动信息候选列表;并利用存储空间a的更新后的历史运动信息候选列表,对第二个区域,区域2进行编码或解码,并在对区域2进行编码或解码的过程中,对存储空间b中的历史运动信息候选列表进行再次更新,在区域2的编码或解码过程完成之后,存储空间b中的历史运动信息候选列表可能已经再次更新完毕,此时可以利用存储空间b中的历史运动信息候选列表对存储空间a中的历史运动信息候选列表进行再次更新,存储空间a中的再次更新历史运动信息候选列表可以对区域3进行编码或解码,后续操作可以按照以上描述依次类推。

在该种实现方式中,历史运动信息候选列表被存储在两个存储空间中,其中一个存储空间中的历史运动信息候选列表一直用于区域的编码或解码,在区域的编码或解码过程中,对另一个存储空间的历史运动信息候选列表更新,在区域的编码或解码之后,利用该另一个存储空间的更新后的历史运动信息候选列表更新该一个存储空间中的历史运动信息候选列表,由于利用一个更新后的历史运动信息候选列表去更新另一个历史运动信息候选列表的时间很大可能小于利用图像块的运动信息更新历史运动信息候选列表的时间,因此,在种实现方式中,在区域编码或解码完成后,只需利用一个更新后的历史运动信息候选列表去更新另一个历史运动信息候选列表,此处更新需的时间较短,从而可以提高编码或解码效率。

以上介绍了如何对历史运动信息候选列表进行更新,以下将介绍如何利用更新后的历史运动信息候选列表进行编码或解码。

具体地,可以使用更新后的所述历史运动信息候选列表,分别为第一区域的每个第一图像块生成运动信息列表;利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。

其中,对于编码端而言,在从运动信息列表中选择运动信息时,可以将当前待编码的第一图像块与运动信息列表中的各个运动信息对应的图像块进行匹配,选择匹配代价最小的图像块对应的运动信息作为选择的运动信息,并将运动信息的索引写入到码流中。

解码端可以采用相同的方式构建运动信息列表,并从码流中读取运动信息的索引,按照该索引直接从运动信息列表中选择当前图像块的运动信息,从而进一步依据该运动信息进行解码。

以下以merge模式以及运动信息列表为mvp候选列表为例描述如何构建运动信息列表。

其中,mvp候选列表的组成可以包括以下(1)至(5)中的至少部分。

具体地,可以利用(1)中的空域候选mv构建mvp候选列表,如果此时构成的mvp候选列表包括的候选mvp的数量未达到预设数量,则可以继续在包括空域候选mv中mvp候选列表中加入(2)中的时域候选mv,如果此时构成的mvp候选列表包括的候选mvp的数量未达到预设数量,则此时可以继续在包括空域候选mv和时域候选mv的mvp候选列表中加入(3)中的成对平均候选mv,如果此时构成的mvp候选列表包括的候选mvp的数量未达到预设数量,则此时可以继续在包括空域候选mv、时域候选mv和成对平均候选mv的mvp候选列表中加入(4)中的hmvp,如果此时构成的mvp候选列表包括的候选mvp的数量未达到预设数量,则此时可以继续在包括空域候选mv、时域候选mv、成对平均候选mv和hmvp的mvp候选列表中加入(5)中零向量,直到mvp候选列表的候选mvp的数量达到预设值。

其中,在将以下的某一项的部分候选加入到mvp候选列表时,该列表包括的候选mvp的数量已经达到预设数量,此时可以停止将该项的剩余部分元素加入到mvp候选列表。

以下将介绍组成候选mvp列表的各部分。

(1)空域候选mv

具体地,可以将与当前图像块空域上相邻图像块的mv作为能够加入到mvp候选列表中的候选mvp。

例如,如图7所示,假设当前图像块的左下角的图像块是a0,左侧的图像块是a1,左上角的图像块是b2,上方的图像块是b1,右上角是b0,则作为候选mvp的顺序按照优先级从高到低是a1->b1->b0->a0->b2。

(2)时域候选mv

具体地,可以将与当前图像块时域上相邻图像块的mv作为能加入到mvp候选列表中的候选mvp。

与空域候选mv情况不同,时域候选mv可以不直接使用候选块的运动信息,可以根据当前帧和参考帧之间的时域位置关系做相应的伸缩调整。

(3)成对平均候选mv

根据当前已构成mvp候选列表的候选mvp按预定义的配对求平均导出成对平均候选mv。

预定义的配对方式及顺序可以为:(0,1),(0,2),(1,2),(0,3),(1,3),(2,3),其中,0、1、2和3分别表示hmvp候选列表中已有的第1、2、3和4个候选mvp,每个括号代表其内的mvp候选进行求平均。

(4)hmvp

可以采用已编码图像块的mv,构建hmvp候选列表,hmvp候选列表中的候选hmvp可以被选择作为加入到mvp候选列表中的候选mvp。

(5)零向量

在将(1)-(4)的各项加入到mvp候选列表时,仍然mvp候选列表中的mvp候选仍然没有达到预定数量,则可以使用零向量进行填充,直到mvp候选列表的候选mvp的数量达到预设值。

应理解,以上介绍的运动信息列表仅仅是本申请实施例的一种具体实现方式,不应对本申请实施例造成特别限定。

可选地,在本申请实施例中,在对空域运动信息候选列表进行构建时,也可以避免采用相同的区域的图像块的运动信息进行构建。具体地,所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域

例如,如图8所示,对于第一个mer,图像块cu0的所有可能的空域候选运动信息(灰色填充块所在的图像块的运动信息)都是可得的,因为这些空域候选运动信息对应的图像块都在cu0所在的mer之外。对于第二个mer的cu5而言,空域候选运动信息原本应该包括周围的3个黑色填充块和1个白色填充块对应的图像块的运动信息,但是由于1个白色填充块对应的图像块还未编码,3个黑色填充块对应的图像块与cu5属于相同的mer,则cu5中的空域候选运动信息可以不包括这些块的运动信息,此时cu5的空域候选运动信息列表可以为空,或者选择其他的mer的图像块的运动信息作为空域候选运动信息列表的候选。对于cu9而言,空域候选运动信息原本应该包括周围的2个灰色填充块、1个黑色填充块和2个白色填充块对应的图像块的运动信息,但是由于白色填充块对应的图像块还未编码,1个黑色填充块对应的图像块与cu9属于相同的mer,则cu9的空域候选运动信息列表可以包括2个灰色填充块对应的图像块的运动信息。

在本申请实施例中,可以利用已编码或解码的第二图像块的运动信息构建历史运动信息候选列表,利用构建的历史运动信息候选列表对第一区域的多个第一图像块进行编码或解码,可以克服该多个第一图像块的依赖性,使得第一区域的多个第一图像块可以保持独立编码或解码。

图9是根据本申请实施例的视频处理设备400的示意性框图。该设备400包括获取单元410和编码或解码单元420。

其中,获取单元410,用于获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;编码或解码单元420,用于根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

可选地,在本申请实施例中,所述编码或解码单元420进一步用于:

根据所述历史运动信息候选列表,并行对所述多个第一图像块进行编码或解码。

可选地,在本申请实施例中,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中的顺序相同。

可选地,在本申请实施例中,所述获取单元410进一步用于:

利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息,对所述历史运动信息候选列表进行更新,更新后的所述历史运动信息候选列表用于对所述多个第一图像块进行编码或解码;

可选地,在本申请实施例中,所述第二区域的编码或解码过程早于所述第一区域,所述第二区域的图像块是采用未进行所述更新的所述历史运动信息候选列表进行编码或解码的。

可选地,在本申请实施例中,对所述历史运动信息候选列表进行更新时,在所述历史运动信息候选列表中添加的候选历史运动信息的数量小于预设值,和/或,在所述历史运动信息候选列表中删除的候选历史运动信息的数量小于预设值。

可选地,在本申请实施例中,设备400还包括选择单元430,用于:

基于所述第二区域的图像块的位置坐标,从所述第二区域包括的图像块中选择所述至少一个第二图像块。

可选地,在本申请实施例中,在从所述第二区域包括的图像块中选择所述至少一个第二图像块的过程中:

所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。

可选地,在本申请实施例中,所述至少一个第二图像块包括所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。

可选地,在本申请实施例中,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:

所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。

可选地,在本申请实施例中,所述获取单元410进一步用于:

对多个所述第二图像块的运动信息进行加权处理;

利用加权处理后的所述运动信息,对所述历史运动信息候选列表进行更新。

可选地,在本申请实施例中,所述第一区域与所述第二区域沿图像的行方向排布,或沿图像的列方向排布。

可选地,在本申请实施例中,所述第一区域与所述第二区域属于相同的编码树单元ctu行或ctu列,每个ctu行或ctu列包括至少一个ctu,每个ctu包括至少一个区域。

可选地,在本申请实施例中,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述历史运动信息候选列表为空。

可选地,在本申请实施例中,所述第二区域是所述第一区域的前一个被编码或解码的区域。

可选地,在本申请实施例中,所述获取单元410进一步用于:

将需要添加的第一候选历史运动信息加入到所述历史运动信息候选列表的表头中。

可选地,在本申请实施例中,所述获取单元410进一步用于:

将所述历史运动信息候选列表末尾处的候选历史运动信息删除,或者,将所述历史运动信息表中与所述第一候选历史运动信息相同的候选历史运动信息删除。

可选地,在本申请实施例中,所述第二图像块为非仿射变换运动补偿模式的图像块。

可选地,在本申请实施例中,所述编码或解码单元420进一步用于:

使用所述历史运动信息候选列表,分别为所述每个第一图像块生成运动信息列表;

利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。

可选地,在本申请实施例中,所述编码或解码单元420进一步用于:

使用所述历史运动信息候选列表,以及所述每个第一图像块对应的空域运动信息候选列表,分别为所述每个第一图像块生成运动信息列表;

所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域。

可选地,在本申请实施例中,所述历史运动信息候选列表为基于历史的运动矢量预测hmvp候选列表。

可选地,在本申请实施例中,所述历史运动信息候选列表存储在一个存储空间中。

可选地,在本申请实施例中,所述利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行的。

可选地,在本申请实施例中,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述获取单元进一步用于:

在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;

所述编码或解码单元420进一步用于:

根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

可选地,在本申请实施例中,所述获取单元410进一步用于:

在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新。

可选地,在本申请实施例中,所述获取单元410进一步用于:

对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。

可选地,在本申请实施例中,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述获取单元410进一步用于:

在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;

在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;

所述编码或解码单元420进一步用于:

根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

可选地,在本申请实施例中,所述获取单元410进一步用于:

在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;

在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新。

可选地,在本申请实施例中,所述获取单元410进一步用于:

对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。

应理解,该视频处理设备400可以实现以上方法实施例中由编码端或解码端实现的相应操作,为了简洁,在此不再赘述。

图10是根据本申请实施例的视频处理设备500的示意性框图。该设备500包括编码或解码单元510和更新单元520;

所述编码或解码单元510用于:利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;

所述更新单元520用于:基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;

所述编码或解码单元510进一步用于:利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。

可选地,在本申请实施例中,所述编码或解码单元510进一步用于:

利用更新后的所述历史运动信息候选列表,并行对所述多个第一图像块进行编码或解码。

可选地,在本申请实施例中,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中的顺序相同。

可选地,在本申请实施例中,对所述历史运动信息候选列表进行更新时,在所述历史运动信息候选列表中添加的候选历史运动信息的数量小于预设值,和/或,在所述历史运动信息候选列表中删除的候选历史运动信息的数量小于预设值。

可选地,在本申请实施例中,设备500还包括选择单元530,用于:

基于所述第二区域的图像块的位置坐标,从所述第二区域包括的图像块中选择所述至少部分第二图像块。

可选地,在本申请实施例中,在从所述第二区域包括的图像块中选择所述至少部分第二图像块的过程中:

所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。

可选地,在本申请实施例中,所述更新单元520进一步用于:

对所述至少部分第二图像块的运动信息进行加权处理;

利用加权处理后的所述运动信息,对所述历史运动信息候选列表进行更新。

可选地,在本申请实施例中,所述第二区域与所述第一区域沿图像的行方向排布,或沿图像的列方向排布。

可选地,在本申请实施例中,所述第二区域与所述第一区域属于相同的编码树单元ctu行或ctu列,每个ctu行或ctu列包括至少一个ctu,每个ctu包括至少一个区域。

可选地,在本申请实施例中,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述历史运动信息候选列表为空。

可选地,在本申请实施例中,所述第二区域是所述第一区域的前一个被编码或解码的区域。

可选地,在本申请实施例中,所述更新单元520进一步用于:

将需要添加的第一候选历史运动信息加入到所述历史运动信息候选列表的表头中。

可选地,在本申请实施例中,所述更新单元520进一步用于:

将所述历史运动信息候选列表末尾处的候选历史运动信息删除,或者,将所述历史运动信息表中与所述第一候选历史运动信息相同的候选历史运动信息删除。

可选地,在本申请实施例中,所述第二图像块为非仿射变换运动补偿模式的图像块。

可选地,在本申请实施例中,所述编码或解码单元510进一步用于:

使用更新后的所述历史运动信息候选列表,分别为每个第一图像块生成运动信息列表;

利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。

可选地,在本申请实施例中,所述编码或解码单元510进一步用于:

使用更新后的所述历史运动信息候选列表,以及所述每个第一图像块对应的空域运动信息候选列表,分别为所述每个第一图像块生成所述运动信息列表;

所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域。

可选地,在本申请实施例中,所述历史运动信息候选列表为基于历史的运动矢量预测hmvp候选列表。

可选地,在本申请实施例中,所述至少部分第二图像块包括所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。

可选地,在本申请实施例中,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:

所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。

可选地,在本申请实施例中,所述历史运动信息候选列表存储在一个存储空间中。

可选地,在本申请实施例中,所述利用所述当前帧的第二区域包括的所述至少部分第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行的。

可选地,在本申请实施例中,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述更新单元进一步用于:

在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的所述至少部分第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;

所述编码或解码单元520进一步用于:

根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

可选地,在本申请实施例中,所述更新单元520进一步用于:

在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新。

可选地,在本申请实施例中,所述更新单元520进一步用于:

对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。

可选地,在本申请实施例中,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述更新单元520进一步用于:

在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的所述至少部分第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;

在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;

所述编码或解码单元510进一步用于:根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

可选地,在本申请实施例中,所述更新单元520进一步用于:

在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;

在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新。

可选地,在本申请实施例中,所述更新单元520进一步用于:

对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。

应理解,该视频处理设备500可以实现以上方法实施例中由编码端或解码端实现的相应操作,为了简洁,在此不再赘述。

图11示出了本申请实施例的计算机系统600的示意性框图。

如图11所示,该计算机系统600可以包括处理器610,进一步地可以包括存储器620。

应理解,该计算机系统600还可以包括其他计算机系统中通常所包括的部件,例如,输入输出设备、通信接口等,本申请实施例对此并不限定。

存储器620用于存储计算机可执行指令。

存储器620可以是各种种类的存储器,例如可以包括高速随机存取存储器(randomaccessmemory,ram),还可以包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器,本申请实施例对此并不限定。

处理器610用于访问该存储器620,并执行该计算机可执行指令,以进行上述本申请实施例的用于视频处理的方法中的操作。

处理器610可以包括微处理器,现场可编程门阵列(field-programmablegatearray,fpga),中央处理器(centralprocessingunit,cpu),图形处理器(graphicsprocessingunit,gpu)等,本申请实施例对此并不限定。

本申请实施例的用于视频处理的设备和计算机系统可对应于本申请实施例的用于视频处理的方法的执行主体,并且用于视频处理的设备和计算机系统中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。

本申请实施例还提供了一种电子设备,该电子设备可以包括上述本申请各种实施例的用于视频处理的设备或者计算机系统。

本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述本申请实施例的环路滤波的方法。

应理解,在本申请实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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