图像处理方法及装置与流程

文档序号:16901531发布日期:2019-02-19 18:02阅读:159来源:国知局
图像处理方法及装置与流程

本公开涉及图像处理技术领域,尤其涉及图像处理方法及装置。



背景技术:

一个图像帧可按照不同方式进行编码,编码方式包括帧内预测(英文全称:intra-prediction,英文简称:i)编码和帧间预测(英文全称:prediction,英文简称:p)编码,通常i帧的压缩比要比p帧小。

视频编码过程中,当前图像帧相比相邻前一帧差别较小时,将当前图像帧按照p帧进行编码。当前图像帧相比相邻前一帧差别较大时,将当前图像帧按照i帧进行编码。因此,每当图像内容出现较大变化时,就需要按照p帧编码。如果图像内容频繁变化,视频帧序列中i帧的数量就会增大,导致对视频帧序列的压缩比降低。



技术实现要素:

本公开实施例提供一种图像处理方法及装置,能够提高对视频帧序列的压缩比。所述技术方案如下:

根据本公开实施例的第一方面,提供一种图像处理方法,该方法包括:

获取目标帧,所述目标帧为待编码的图像帧;

当确定所述目标帧与当前参考帧失配时,在参考帧库中确定匹配帧,所述参考帧库包括k个历史参考帧,k≥2,所述匹配帧为所述k个历史参考帧中与所述目标帧匹配的一个历史参考帧;

以所述匹配帧为参考帧,将所述目标帧按照p帧编码。

本公开提供的技术方案,保存k个历史参考帧作为候选的参考帧,在待编码的图像帧与当前参考帧失配时,从k个历史参考帧中选择其一作为新的参考帧,然后根据新的参考帧将待编码的图像帧按照p帧编码,从而减少i帧的数量,增大对视频帧序列的压缩比。

在一个实施例中,还包括:

当所述k个历史参考帧与所述目标帧均不匹配时,将所述目标帧按照i帧编码,并将所述目标帧添加到所述参考帧库。

当参考帧库中不存在匹配帧时,将目标帧添加到参考帧库,作为历史参考帧,已备在将来再次用作参考帧。

在一个实施例中,所述在参考帧库中确定匹配帧,包括:

获取所述k个历史参考帧中第i个历史参考帧以及所述目标帧的特征数据;

当确定所述第i个历史参考帧与所述目标帧的特征数据匹配时,确定所述第i个历史参考帧为所述匹配帧。

在一个实施例中,所述确定所述第i个历史参考帧与所述目标帧的特征数据匹配,包括:

确定所述第i个历史参考帧以及所述目标帧对角线上图像数据的哈希值相等。

在一个实施例中,所述确定所述第i个历史参考帧与所述目标帧的特征数据匹配,包括:

确定所述第i个历史参考帧以及所述目标帧在s个子区域内相同图像数据的占比超过预设阈值,s≥1。

在一个实施例中,所述s个子区域包括第一子区域和第二子区域;

所述第一子区域位于所述第二子区域之内。

根据本公开实施例的第二方面,提供一种图像处理装置,包括:

采集模块,用于获取目标帧,所述目标帧为待编码的图像帧;

匹配模块,用于在确定所述目标帧与当前参考帧失配时,在参考帧库中确定匹配帧,所述参考帧库包括k个历史参考帧,k≥2,所述匹配帧为所述k个历史参考帧中与所述目标帧匹配的一个历史参考帧;

参考模块,用于以所述匹配帧为参考帧,将所述目标帧按照p帧编码。

在一个实施例中,还包括:

库管理模块,用于在所述k个历史参考帧与所述目标帧均不匹配时,将所述目标帧按照i帧编码,并将所述目标帧添加到所述参考帧库。

在一个实施例中,所述匹配模块包括:

提取子模块,用于获取所述k个历史参考帧中第i个历史参考帧以及所述目标帧的特征数据;

判定子模块,用于在确定所述第i个历史参考帧与所述目标帧的特征数据匹配时,确定所述第i个历史参考帧为所述匹配帧。

在一个实施例中,所述判定子模块包括:

运算单元,用于确定所述第i个历史参考帧以及所述目标帧对角线上图像数据的哈希值相等。

在一个实施例中,所述判定子模块包括:

数据单元,用于确定所述第i个历史参考帧以及所述目标帧在s个子区域内相同图像数据的占比超过预设阈值,s≥1。

在一个实施例中,所述判定子模块包括:

区域划分单元,用于确定所述s个子区域中的第一子区域和第二子区域,其中所述第一子区域位于所述第二子区域之内。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种图像处理方法的流程图。

图2是本公开实施例提供的一种图像处理方法的流程图。

图3是本公开实施例中对图像帧中子区域的说明示意图。

图4是本公开实施例中对图像帧中子区域的说明示意图。

图5是本公开实施例提供的图像处理方法的说明示意图。

图6是本公开实施例提供的一种图像处理装置的结构示意图。

图7是本公开实施例提供的一种图像处理装置的结构示意图。

图8是本公开实施例提供的一种图像处理装置的结构示意图。

图9是本公开实施例提供的一种图像处理装置的结构示意图。

图10是本公开实施例提供的一种图像处理装置的结构示意图。

图11是本公开实施例提供的一种图像处理装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

视频编码过程中,可将待编码图像帧编码为i帧或者p帧。

i帧通常保留待编码图像帧的完整数据,因此可根据i帧解码得到原始图像帧(即原待编码图像帧)。

p帧通常是保留待编码图像帧与前一i帧差异部分的数据,因此在解码时需要根据在先的i帧还原得到原始图像帧。

通常,一个i帧的数据量大于一个p帧的数据量。经过编码后的视频帧序列中,i帧数量越多,编码后的数据量越大,即压缩比越低。

本公开的目的在于提高对视频帧序列的压缩比。本公开的技术方案中,保存k个历史参考帧作为候选的参考帧,在编码过程中,尽可能地从k个历史参考帧中选择其一作为参考帧,根据选择的参考帧将待编码图像帧按照p帧编码,以减小i帧数量,提高压缩比。

本公开实施例提供一种图像处理方法,如图1所示,该图像处理方法包括以下步骤:

101、获取目标帧。

目标帧为待编码的图像帧。

在一个实施例中,目标帧为视频采集设备所采集的图像帧序列中的任一图像帧。其中,视频采集设备包括但不限于手机、相机、摄像头等设备。

102、当确定目标帧与当前参考帧失配时,在参考帧库中确定匹配帧。

目标帧与当前参考帧失配,是指目标帧与当前参考帧的相似度低于一定程度。

例如,将目标帧与当前参考帧进行比较,确定目标帧与当前参考帧的目标像素的数量。目标像素是指位置相同且像素值相同的像素。当目标像素的数量在目标帧像素的总数量中的占比低于预设值m(0<m<1)时,确定目标帧与当前参考帧失配。

参考帧库包括k个历史参考帧,k≥2。匹配帧为k个历史参考帧中与目标帧匹配的一个历史参考帧。一个历史参考帧与目标帧匹配是指,该历史参考帧与目标帧的相似度超过一定程度。

例如,将目标帧与参考帧库中的k个历史参考帧一一比较,当一个历史参考帧与目标帧目标像素的数量在目标帧像素的总数量中的占比高于预设值q(0<q<1)时,确定目标帧与该历史参考帧匹配,即将该历史参考帧作为匹配帧。

103、以匹配帧为参考帧,将目标帧按照p帧编码。

在确定目标帧与当前参考帧失配时,从k个历史参考帧中选择匹配帧作为新的参考帧,以匹配帧作为参考帧将目标帧按照p帧编码。编码时可标记目标帧的编码类型以及参考帧的帧号,解码端根据编码方式和参考帧帧号即可解码目标帧。

本公开实施例提供的图像处理方法,保存k个历史参考帧作为候选的参考帧,在待编码的图像帧与当前参考帧失配时,从k个历史参考帧中选择其一作为新的参考帧,然后根据新的参考帧将待编码的图像帧按照p帧编码,从而减少i帧的数量,增大对视频帧序列的压缩比。

基于上述图1对应的实施例提供的图像处理方法,本公开另一实施例提供一种图像处理方法。本实施例以对电脑屏幕所显示的视频帧序列进行编码的情形为例,对本公开提供的图像处理方法做进一步说明,其中部分步骤中的内容与图1对应的实施例中的步骤相同或类似,以下只对步骤中不同之处做详细说明。参照图2所示,本实施例提供的图像处理方法包括以下步骤:

201、获取目标帧。

在一个实施例中,视频采集端采集电脑屏幕的显示内容,生成视频帧序列,目标帧为该视频序列中的任一视频帧。

电脑画面有一个很重要的特性,即多窗口切换和多场景复用。所谓多窗口切换,即用户在使用电脑的过程中,会在多个窗口之间来回切换。所谓多场景复用,即很多软件窗口用户会多次开启,生成多个相同窗口来进行工作。在使用过程中,可能每隔一段时间某个固定窗口就会被切换至前端显示。也就是说电脑每隔一段时间都会显示画面内容相同或相似的视频帧,对于这些视频帧,可采用同一历史参考帧按照p帧编码以提高压缩比。

202、确定目标帧与当前参考帧匹配时,根据当前参考帧将目标帧按照p帧编码。

目标帧与当前参考帧匹配是指,目标帧与当前参考帧的相似度超过一定程度。例如,在t1-t2时段电脑持续显示软件a的最大化窗口,在t1-t2时段内采集的视频帧画面内容相同或相似,t1-t2时段内采集的视频帧均与当前参考帧匹配。

当目标帧与当前参考帧匹配时,无需选择新的参考帧,根据当前参考帧将目标帧按照p帧编码即可。

203、当确定目标帧与当前参考帧失配时,在参考帧库中确定匹配帧。

目标帧与当前参考帧失配,是指目标帧与当前参考帧的相似度低于一定程度。例如,在t1时刻电脑显示软件a的最大化窗口,在t2时刻软件b的最大化窗口切换至前端。窗口切换前后两视频帧显示内容出现变化,目标帧与当前参考帧失配。

在一个实施例中,通过比较目标帧以及k个历史参考帧的特征数据,从k个历史参考帧中选定匹配帧。以判定k个历史参考帧中第i个历史参考帧为匹配帧的情形为例进行说明,特征信息包括但不限于以下几种具体示例:

示例一,特征数据为对角线上图像数据的哈希值。

提取第i个历史参考帧对角线上的图像数据,计算哈希值,计作h1。提取目标帧对角线上的图像数据,计算哈希值,计作h2。当h1=h2时,确定第i个历史参考帧与目标帧的特征数据匹配,以第i个历史参考帧为匹配帧。

示例二,特征数据为s个子区域内相同图像数据的占比。

s为大于或者等于1的整数。以s=2的情形为例,参照图3所示,子区域31和子区域32为视频帧33内的两个子区域。

提取第i个历史参考帧子区域31和子区域32上的图像数据,提取目标帧子区域31和子区域32上的图像数据。以图像数据为像素值的情形为例,确定子区域31和子区域32内位置相同且像素值相同的像素数量x1,确定确定子区域31和子区域32内的像素总数x2。

两个子区域内相同图像数据的占比r=x1/x2,占比r越大表示第i个历史参考与目标帧相似度越高。

当x1与x2的比值超过预设阈值(例如取0.8)时,确定第i个历史参考帧为匹配帧。

可选的,s个子区域包括第一子区域和第二子区域,第一子区域位于第二子区域之内。

例如,参照图4所示,第一子区域41、第二子区域42均为矩形,长宽比与视频帧43相同,且第一子区域41、第二子区域42和视频帧43的对角线共线,第一子区域41位于第二子区域42之内。

当第i个历史参考帧与目标帧在第一子区域41内位置相同且像素值相同的像素数量超过预设阈值,且第i个历史参考帧与目标帧在第二子区域42内位置相同且像素值相同的像素数量超过预设阈值,则确定第i个历史参考帧与目标帧的特征数据匹配,以第i个历史参考帧为匹配帧。

示例三,特征数据包括对角线上图像数据的哈希值和s个子区域内相同图像数据的占比。

首先比较对角线上图像数据的哈希值,对历史参考帧和目标帧之间的相似程度做粗略判断,再根据s个子区域内相同图像数据的占比对相似程度做进一步精确判断。当哈希值相等时,再进一步计算s个子区域内相同图像数据的占比。若哈希值不相等,则无需再计算s个子区域内相同图像数据的占比,从而在判定相似性时,在保证比较结果准确度的条件下尽可能地减小计算量。

在一个实施例中,k个历史参考帧中,当有2个或以上个历史参考帧的特征数据与目标帧的特征数据匹配时,以匹配度最高的一个历史参考帧为匹配帧。

或者,提取k个历史参考帧中每一历史参考帧的特征数据,将每一历史参考帧的特征数据分别与目标帧的特征数据比较,确定每一历史参考帧对应的占比值。当第i个历史参考帧对应的占比值超过预设阈值且大于其他(k-1)的历史参考帧对应的占比值时,以第i个历史参考帧为匹配帧。

204、以匹配帧为参考帧,将目标帧按照p帧编码。

205、当k个历史参考帧与目标帧均不匹配时,将目标帧按照i帧编码,并将目标帧添加到参考帧库。

若参考帧库中的不存在匹配帧时,将目标帧按照i帧编码,并将目标帧添加到参考帧库。

在一个实施例中,参考帧库最多可保留d个历史参考帧,当k=d时,若有新的视频帧需要添加到参考帧库时,可将最早添加到参考帧库中的一个历史参考帧删除,或者,将k个历史参考帧中被选为匹配帧次数最少的一个历史参考帧删除,将新的视频帧添加到参考帧库。

参照图5所示,参考帧库包括k个历史参考帧,以及每个历史参考帧对应的特征数据。获取目标帧后,将目标帧与当前参考帧进行比较,当目标帧与当前参考帧匹配时,根据当前参考帧将目标帧按照p帧编码。当目标帧与当前参考帧失配时,判定参考帧库中是否有匹配帧,若有,则以匹配帧为参考帧将目标帧按照p帧编码。若无,则将目标帧按照i帧编码,并提取目标帧的特征数据,将目标帧及其特征数据添加到参考帧库中。

本公开实施例提供的图像处理方法,保存k个历史参考帧作为候选的参考帧,在待编码的图像帧与当前参考帧失配时,从k个历史参考帧中选择其一作为新的参考帧,然后根据新的参考帧将待编码的图像帧按照p帧编码,从而减少i帧的数量,增大对视频帧序列的压缩比。

基于上述图1-图5对应的实施例中所描述的图像处理方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

本公开实施例提供一种图像处理装置,如图6所示,图像处理装置包括:

采集模块61,用于获取目标帧,目标帧为待编码的图像帧。

匹配模块62,用于在确定目标帧与当前参考帧失配时,在参考帧库中确定匹配帧,参考帧库包括k个历史参考帧,匹配帧为k个历史参考帧中与目标帧匹配的一个历史参考帧,k≥2。

参考模块63,用于以匹配帧为参考帧,将目标帧按照p帧编码。

如图7所示,在一个实施例中,还包括:

库管理模块64,用于在k个历史参考帧与目标帧均不匹配时,将目标帧按照i帧编码,并将目标帧添加到参考帧库。

如图8所示,在一个实施例中,匹配模块62包括:

提取子模块621,用于获取k个历史参考帧中第i个历史参考帧以及目标帧的特征数据。

判定子模块622,用于在确定第i个历史参考帧与目标帧的特征数据匹配时,确定第i个历史参考帧为匹配帧。

如图9所示,在一个实施例中,判定子模块622包括:

运算单元623,用于确定第i个历史参考帧以及目标帧对角线上图像数据的哈希值相等。

如图10所示,在一个实施例中,判定子模块622包括:

数据单元624,用于确定第i个历史参考帧以及目标帧在s个子区域内相同图像数据的占比超过预设阈值,s≥1。

如图11所示,在一个实施例中,判定子模块622包括:

区域划分单元625,用于确定s个子区域中的第一子区域和第二子区域,其中第一子区域位于第二子区域之内。

本公开实施例提供的图像处理装置,保存k个历史参考帧作为候选的参考帧,在待编码的图像帧与当前参考帧失配时,从k个历史参考帧中选择其一作为新的参考帧,然后根据新的参考帧将待编码的图像帧按照p帧编码,从而减少i帧的数量,增大对视频帧序列的压缩比。

基于上述图1-图5对应的实施例中所描述的图像处理方法,本公开实施例还提供一种计算机可读存储介质。

该计算机可读存储介质可以是非临时性计算机可读存储介。例如,非临时性计算机可读存储介质可以是只读存储器(英文:readonlymemory,rom)、随机存取存储器(英文:randomaccessmemory,ram)、cd-rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,当计算机指令被执行时,可实现上述图1-图5对应的实施例中所描述的图像处理方法,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

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