图像特征搜索方法和装置、存储介质及处理器转让专利

申请号 : CN201610795462.6

文献号 : CN106375769B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏睿

申请人 : 西安万像电子科技有限公司

摘要 :

本发明公开了一种图像特征搜索方法和装置、存储介质及处理器。其中,该方法包括:分别将当前帧和参考帧拆分为多个单元;按照逐像素对比当前帧和参考帧同一位置的单元,判断同一位置两个单元是否为相同的单元;对于相同的单元,将参考帧的该单元的特征信息复制到当前帧的同一位置单元的特征信息表中。本发明解决了现有技术中的图像特征搜索方法,需要对所有存在的特征进行搜索,导致计算量增大,搜索速度慢的问题,去除了大量冗余的计算,提高了搜索速度。

权利要求 :

1.一种图像特征搜索方法,其特征在于,包括:

分别将当前帧和参考帧拆分为多个单元;

按照逐像素对比所述当前帧和所述参考帧同一位置的单元,判断同一位置两个单元是否为相同的单元;

对于相同的单元,将所述参考帧的该单元的特征信息复制到所述当前帧的同一位置单元的特征信息表中,其中,该单元的特征为该单元中一块特定大小且满足一定条件的图像块。

2.根据权利要求1所述的方法,其特征在于,将所述当前帧和所述参考帧拆分为多个单元包括:将所述当前帧划分为多个单元,每个单元中包含至少一个特征,并将所述参考帧划分为多个单元,每个单元中包含至少一个特征。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:对于不相同的单元,根据特征定义查找所述当前帧的该单元中的每个特征,并记录找到的每个特征。

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述特征信息包括:所述特征的位置信息、以及所述特征的特征值。

5.根据权利要求4所述的方法,其特征在于,所述特征值为所述特征包含的像素以及根据像素计算得到的索引值。

6.一种图像特征搜索装置,其特征在于,包括:

拆分模块,用于分别将当前帧和参考帧拆分为多个单元;

判断模块,用于按照逐像素对比所述当前帧和所述参考帧同一位置的单元,判断同一位置两个单元是否为相同的单元;

处理模块,用于对于相同的单元,将所述参考帧的该单元的特征信息复制到所述当前帧的同一位置单元的特征信息表中,其中,该单元的特征为该单元中一块特定大小且满足一定条件的图像块。

7.根据权利要求6所述的装置,其特征在于,所述拆分模块还用于将所述当前帧划分为多个单元,每个单元中包含至少一个特征,并将所述参考帧划分为多个单元,每个单元中包含至少一个特征。

8.根据权利要求6所述的装置,其特征在于,所述装置还包括:图像特征搜索模块,用于对于不相同的单元,根据特征定义查找所述当前帧的该单元中的每个特征,并记录找到的每个特征。

9.根据权利要求6至8中任一项所述的装置,其特征在于,所述特征信息包括:所述特征的位置信息、以及所述特征的特征值。

10.根据权利要求9所述的装置,其特征在于,所述特征值为所述特征包含的像素以及根据像素计算得到的索引值。

11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任意一项所述的图像特征搜索方法。

12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的图像特征搜索方法。

说明书 :

图像特征搜索方法和装置、存储介质及处理器

技术领域

[0001] 本发明涉及图像处理领域,具体而言,涉及一种图像特征搜索方法和装置、存储介质及处理器。

背景技术

[0002] 对连续多帧的计算机屏幕或移动终端屏幕图像进行压缩时,有两种处理方式,一种方式是对每一帧图像独立进行压缩,这里记为I方式,另一种方式是只对每一帧图像中新的内容进行压缩,相同的部分只编码参考图像索引和偏移位置信息即可,这是一种预测方式,这里记为P方式。对于I方式,一般用于连续多帧中的第一帧图像的编码,解码端直接恢复所有信息即可;对于P方式,适用于除了第一帧之外的图像,解码端从解码图像中找到参考图像,根据位置信息拷贝不变的图像部分,然后将改变的部分也恢复出来,两部分可以合成出发送端的图像。相对于I方式编码,P方式可以大大消除冗余,从而降低编码后的码率,对于计算机或移动终端屏幕这种图像来说,P方式很适合这类图像的编码。I方式和P方式的概念参见图1。
[0003] 在P方式中,需要找到当前要处理的这一帧与参考帧中相同的内容,有一部分内容是背景或不变部分,这些部分对于的位移是(0,0)向量;还有一些情况,与当前参考帧相同的内容位于参考帧中不同的位置,这往往是由于用户移动窗口,或者阅读文档等动作造成的,这种情况下就需要估计出这部分内容的位移向量,称为运动向量(MV)。在当前帧中找到相同内容相对于参考帧的位移就是运动估计过程。
[0004] 大多数的视频压缩标准,如H.263、H.264、MPEG-4等,基本上采用基于块匹配的运动估计方法,该方法先将图像划分为BxB的小块图像(通常设为16x16个像素),对于每一块小图像,都在参考帧对应位置的一个范围内(通常是一个大的矩形区域)搜索最近的宏块,记录相对位移。这种方法通用性较强,比较适应于自然视频图像。
[0005] 对于屏幕图像的这类图像压缩,也可以采用特征提取的方法求出MV。这类方法一般是先定义一种特征,这种特征一般定义为限制在MxN的区域内并且满足一定条件的一个图像块,这些特征在一定程度上可以标识所在图像区域的唯一性。例如,图2中定义的特征是32个像素值,满足以下条件,左上角4个灰色的像素值相同,而且和第一个像素值不相同,这样定义连续的32个像素为一个特征,可以看出这个特征限制在了1行像素之内。
[0006] 定义了特征值后,可以在参考图像和当前图像中都遍历出所有的特征,最后再寻找两帧图像能够匹配的所有特征,记录下特征在两帧图像上的偏移,也就找到了相应特征所在图像区域的MV。匹配特征的方法可以采用逐个像素比对的方法,记为精确比对方法(Refine方法),也可采用哈希值(Hash)相同的方法(求出特征像素的Hash值进行比对),记为Hash方法。Hash方法的计算量一般小于Refine方法,但由于Hash有可能产生碰撞(Hash值相同,但像素值不同)的情况,可以考虑两者结合使用(先采用Hash比对,对Hash相同的特征再进行Refine比对)。
[0007] 块匹配的方法对于计算机屏幕或移动屏幕这种人工合成图像,有以下缺点:
[0008] 1、计算量巨大,对于每一个图像小块都要找到一个MV;
[0009] 2、不能保证在全屏幕范围内搜索,如果扩大搜索范围,会增大每一个小块的ME的计算量,所以,一般都限定在一个相对小的范围内;
[0010] 3、基于块匹配技术来说,它的准则一般采用差的绝对值之和(SAD)最小的原则,对于人工合成图像来说,完全匹配时,SAD必然为零,否则,当前图像块会与参考图像有大的差异,而且差异的分布与自然视频不一定相同,所以不适合采用快速运动估计(ME)算法;
[0011] 4、特征比对的这类方法,现阶段也有一些不足,需要在当前帧中对所有存在的特征进行搜索,即使相对于参考帧图像不变化的部分也要进行搜索,因为后续的帧也有可能以这一帧为参考帧,这会造成计算量的增大。
[0012] 针对现有技术中的图像特征搜索方法,需要对所有存在的特征进行搜索,导致计算量增大,搜索速度慢的问题,目前尚未提出有效的解决方案。

发明内容

[0013] 本发明实施例提供了一种图像特征搜索方法和装置、存储介质及处理器,以至少解决现有技术中的图像特征搜索方法,需要对所有存在的特征进行搜索,导致计算量增大,搜索速度慢的技术问题。
[0014] 根据本发明实施例的一个方面,提供了一种图像特征搜索方法,包括:分别将当前帧和参考帧拆分为多个单元;按照逐像素对比当前帧和参考帧同一位置的单元,判断同一位置两个单元是否为相同的单元;对于相同的单元,将参考帧的该单元的特征信息复制到当前帧的同一位置单元的特征信息表中。
[0015] 进一步地,将当前帧和参考帧拆分为多个单元包括:将当前帧划分为多个单元,每个单元中包含至少一个特征,并将参考帧划分为多个单元,每个单元中包含至少一个特征。
[0016] 进一步地,方法还包括:对于不相同的单元,根据特征定义查找当前帧的该单元中的每个特征,并记录找到的每个特征。
[0017] 进一步地,特征信息包括:特征的位置信息、以及特征的特征值。
[0018] 进一步地,特征值为特征包含的像素以及根据像素计算得到的索引值。
[0019] 根据本发明实施例的另一方面,还提供了一种图像特征搜索装置,包括:拆分模块,用于分别将当前帧和参考帧拆分为多个单元;判断模块,用于按照逐像素对比当前帧和参考帧同一位置的单元,判断同一位置两个单元是否为相同的单元;处理模块,用于对于相同的单元,将参考帧的该单元的特征信息复制到当前帧的同一位置单元的特征信息表中。
[0020] 进一步地,拆分模块还用于将当前帧划分为多个单元,每个单元中包含至少一个特征,并将参考帧划分为多个单元,每个单元中包含至少一个特征。
[0021] 进一步地,装置还包括:图像特征搜索模块,用于对于不相同的单元,根据特征定义查找当前帧的该单元中的每个特征,并记录找到的每个特征。
[0022] 进一步地,特征信息包括:特征的位置信息、以及特征的特征值。
[0023] 进一步地,特征值为特征包含的像素以及根据像素计算得到的索引值。
[0024] 根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例中任意一项的图像特征搜索方法。
[0025] 根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例中任意一项的图像特征搜索方法。
[0026] 在本发明实施例中,采用分别将当前帧和参考帧拆分为多个单元;按照逐像素对比所述当前帧和所述参考帧同一位置的单元,判断同一位置两个单元是否为相同的单元;对于相同的单元,将所述参考帧的该单元的特征信息复制到所述当前帧的同一位置单元的特征信息表中。通过本发明解决了现有技术中的图像特征搜索方法,需要对所有存在的特征进行搜索,导致计算量增大,搜索速度慢的问题,去除了大量冗余的计算,加快了搜索速度。

附图说明

[0027] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0028] 图1是根据现有技术的屏幕图像压缩处理的示意图;
[0029] 图2是根据现有技术的可选的特征定义的示意图;
[0030] 图3是根据本发明实施例的图像特征搜索方法的流程图;
[0031] 图4是根据本发明实施例的可选的图像特征搜索方法的流程图;以及[0032] 图5是根据本发明实施例的图像特征搜索装置的结构框图。

具体实施方式

[0033] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0034] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0035] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0036] 根据本发明实施例,提供了一种图像特征搜索方法,图3是根据本发明实施例的图像特征搜索方法的流程图,如图3所示,该方法包括如下步骤:
[0037] 步骤S302,分别将当前帧和参考帧拆分为多个单元;
[0038] 步骤S304,按照逐像素对比当前帧和参考帧同一位置的单元,判断同一位置两个单元是否为相同的单元;
[0039] 步骤S306,对于相同的单元,将参考帧的该单元的特征信息复制到当前帧的同一位置单元的特征信息表中。
[0040] 在上述步骤中,可以将当前帧和参考帧进行比对,对于相同的单元进行特征信息复制,无需对所有单元的特征进行搜索,去除大量冗余的计算,加快了搜索速度。
[0041] 上述的当前帧和参考帧可以是桌面视频中的每一帧,可以将桌面视频中的每一帧按照能够包含特征的像素块为一组的原则,拆分为多个单元,即多个基本搜索单元,将多个基本搜索单元与参考帧中相同位置单元进行对比,如果相同,则相同单元所包含的特征信息也移动相同,可以直接拷贝参考帧对应部分的特征信息到当前帧的特征信息表中即可。
[0042] 为了将当前帧和参考帧拆分为多个单元,在一种可选的实施例中,可以将当前帧划分为多个单元,每个单元中包含至少一个特征,并将参考帧划分为多个单元,每个单元中包含至少一个特征。特征就是图像帧中一块特定大小的子图像,即,可以将当前帧的整个屏幕拆分为多个单元,例如屏幕的图像帧中一个特征构成一个单元,对于每一个单元,对比参考帧相同位置的单元,记录相同的和不同的单元。
[0043] 在将同一个位置的当前帧单元和参考帧单元进行对比后,如果同一个位置的两个单元是不同的单元,在另一种可选的实施例中,对于不相同的单元,可以根据特征定义查找当前帧的该单元中的每个特征,并记录找到的每个特征,其中,特征信息可以包括:特征的位置信息、以及特征的特征值,而特征值可以为特征包含的像素以及根据像素计算得到的索引值。也就是说,可以按照定义搜索这部分区域(即不相同的单元)即可,将搜索到的特征的位置、特征包含的像素和根据像素计算得到的索引值加入当前帧特征信息表中。例如,可以根据特征的定义范围,找到当前帧和参考帧不相同的单元,在这些单元内根据特征定义进行特征搜索,在当前帧中对找到的每个特征,计算并记录其索引值和位置。
[0044] 下面结合图2和图4,对本发明的一种优选的实施例进行详细说明,图2中特征是32x1大小的一块像素,如果特征的大小定义为MxN,本方法也适用,将搜索范围扩大为N行即可,不失一般性,现结合图2中特征的定义,图4给出了特征查找的流程图,这里的参考帧是已经处理的帧,可以假定参考帧的特征已经找到并存储了。在此假设下,如图4所示,该方法可以包括如下步骤:
[0045] 步骤S402,在当前帧内找到特征,特征匹配开始。
[0046] 步骤S404,从第一个单元开始逐单元与参考帧中相同位置的单元进行逐像素比对。
[0047] 步骤S406,判断是否到达最后一个单元。
[0048] 可选地,如果是最后一个单元,当前帧特征搜索过程结束,则进入步骤S420;否则,如果不是最后一个单元,则进入步骤S408。
[0049] 步骤S408,判断整个单元是否一致。
[0050] 可选地,如果整个单元一致,即两个单元相同,则进入步骤S410;如果整个单元不一致,即两个单元不相同,则进入步骤S412。
[0051] 步骤S410,从参考帧特征表中的相同位置得到这一单元的特征信息。
[0052] 可选地,如果一整行一致,即一整行相同,则从参考帧特征表中的相同位置得到这一行的特征信息,包括特征的位置、特征包含的像素和索引值等信息,然后进入步骤S418。
[0053] 步骤S412,从第一个像素开始按照特征的定义找到特征值,计算其索引值,记录到特征值表中。
[0054] 可选地,可以从第一个像素开始按照图2所述的特征的定义找到特征值,计算其索引值,记录特征的位置、索引值等信息,然后进入步骤S414。
[0055] 步骤S414,判断是否超过这个单元的最后一个像素。
[0056] 可选地,判断特征是否到达这个单元的边界,如果特征未到达这个单元边界,则进入步骤S416;否者,如果特征到达这个单元边界,则进入步骤S418。
[0057] 步骤S416,查找下一个特征。
[0058] 可选地,在这个单元中按照图2的定义,搜索下一个特征,并返回执行步骤S406。
[0059] 步骤S418,搜索下一个单元。
[0060] 可选地,在特征到达最后一个像素,或者从参考帧特征表中的相同位置得到这一行的特征信息的情况下,移到下一行,并返回执行步骤S404,直到最后一个单元。
[0061] 步骤S420,在当前帧内找到特征,特征匹配结束。
[0062] 可选地,如果到达当前帧的最后一行,当前帧特征搜索过程结束。
[0063] 通过本发明上述优选的实施例,可以达到如下效果:
[0064] 1、充分利用参考帧的特征搜索结果。
[0065] 2、只对与参考帧不相同的区域做特征搜索,加快当前帧图像特征的搜索速度。
[0066] 3、适应性强,适合于不同的特征和图像大小,区域划分可以很灵活。
[0067] 此处需要说明的是,可以从当前帧的第一行开始进行特征匹配,也可以改为从第二行开始,从最后一行开始等等,以行为单元进行特征匹配,与开始行的现有顺序无关,并且,也可以并行执行。本发明所提供的方法可以使用任何的计算机语言实现,也可以使用硬件实现,本发明对此不作具体限定。
[0068] 根据本发明实施例,提供了一种图像特征搜索装置,图5是根据本发明实施例的图像特征搜索装置的结构框图,如图5所示,该装置包括:
[0069] 拆分模块52,用于分别将当前帧和参考帧拆分为多个单元;
[0070] 判断模块54,用于按照逐像素对比当前帧和参考帧同一位置的单元,判断同一位置两个单元是否为相同的单元;
[0071] 处理模块56,用于对于相同的单元,将参考帧的该单元的特征信息复制到当前帧的同一位置单元的特征信息表中。
[0072] 上述的当前帧和参考帧可以是桌面视频中的每一帧,可以将桌面视频中的每一帧按照能够包含特征的像素块为一组的原则,拆分为多个单元,即多个基本搜索单元,将多个基本搜索单元与参考帧中相同位置单元进行对比,如果相同,则相同单元所包含的特征信息也移动相同,可以直接拷贝参考帧对应部分的特征信息到当前帧特征信息表中即可。
[0073] 为了将当前帧和参考帧拆分为多个单元,在一种可选的实施例中,上述拆分模块还用于将当前帧划分为多个单元,每个单元中包含至少一个特征,并将参考帧划分为多个单元,每个单元中包含至少一个特征。特征就是图像帧中一块特定大小的子图像,即,可以将当前帧的整个屏幕拆分为多个个单元,例如屏幕的图像帧中一个特征构成一个单元,对于每一个单元,对比参考帧相同位置的单元,记录相同的和不同的单元。
[0074] 在将同一个位置的当前帧单元和参考帧单元进行对比后,如果同一个位置的两个单元是不同的单元,在另一种可选的实施例中,上述装置还包括:图像特征搜索模块,用于对于不相同的单元,可以根据特征定义查找当前帧的该单元中的每个特征,并记录找到的每个特征,其中,特征信息可以包括:特征的位置信息、以及特征的特征值,而特征值可以为特征包含的像素以及根据像素计算得到的索引值。也就是说,可以按照定义搜索这部分区域(即不相同的单元)即可,将搜索到的特征的位置、特征包含的像素和根据像素计算得到的索引值加入当前帧特征信息表中。例如,可以根据特征的定义范围,找到当前帧和参考帧不相同的单元,在这些单元内根据特征定义进行特征搜索,在当前帧中对找到的每个特征,计算并记录其索引值和位置。
[0075] 根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例中任意一项的图像特征搜索方法。
[0076] 根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例中任意一项的图像特征搜索方法。
[0077] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0078] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0079] 在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0080] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0081] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0082] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器端或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0083] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。