掌桥专利:专业的专利平台
掌桥专利
首页

图像块的确定方法及装置、存储介质及电子装置

文献发布时间:2024-04-18 19:58:30


图像块的确定方法及装置、存储介质及电子装置

技术领域

本发明涉及图像处理技术领域,具体而言,涉及一种图像块的确定方法及装置、存储介质及电子装置。

背景技术

视频镜头变化是视频监控领域常见场景,而摄像头变化造成的视频画面出现连续运动的状态通常无法实时感知。由于视频运动感知除自动布控场景外,在视频稳定矫正、视频目标匹配等领域均有较广泛的应用。现有技术中,对于视频镜头运动的检测,存在有直方图法、像素匹配差分法、边缘提取图对比、图像帧背景区域对比等感知方法。这一类的方法都基于画面的全局误差匹配进行检测,对于检测镜头切换帧有明显效果,但未考虑到真实视频运动的连续性和局部性,无法区分视频运动的方向及感知细粒度运动。

进一步的,视频镜头变化通常会导致视频整体画面的移动或者拉近缩放等。为区分局部运动和整体运动,基于运动估计技术来统计视频整体运动幅度方向。运动估计是视频编码标准中的重要技术,对编码速度、码率和编码质量有重要影响。在h.264/h.265/av1/vp9等常见和最新视频编码标准中,同时运动估计是整个系统中计算复杂度最高的,耗时占整个编码过程的60%~80%。

具体而言,运动估计是指将视频序列每帧分成不重叠的图像块,在搜索窗口内对每个待匹配块到参考帧根据一定匹配准则计算,找出与当前块最相似的块,匹配块与当前块的相对位移即为运动矢量。最简单的运动搜索算法是全搜索算法(Full Search,简称FS),即在搜索窗口内的每个点都进行匹配计算,该算法在搜索范围合适的情况下可以准确找到最优匹配块,但计算量大,不适用于大量实时传输的场景。为能快速准确的搜索图像块的运动矢量,很多快速搜索算法被提出,包括早期的三步搜索模版,钻石搜索模版,六边形搜索模版、非对称十字型多层次六边形格点搜索算法(Unsymmetrical cross Multi-Hexagon-grid Search,简称UMHexagonS)等,虽然这些搜索模板对应的搜索方法与全搜索相比可以减小80%运算量,但这些搜索模版对应的搜索方法仍存在运动估计优化效率低的缺陷。

针对相关技术中,对图像块的匹配过程计算量大,效率低的问题,目前尚未提出有效的解决方案。

因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。

发明内容

本发明实施例提供了一种图像块的确定方法及装置、存储介质及电子装置,以至少解决对图像块的匹配过程计算量大,效率低的问题。

根据本发明实施例的一方面,提供一种图像块的确定方法,包括:通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块。

在一个示例性的实施例中,通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,包括:以所述第一图像块对应的第一搜索中心点为原点,根据所述目标子模板确定所述第一图像块中的m个待匹配点,以及确定所述前一帧图像中的m个匹配点,其中,所述m个待匹配点中的待匹配点和所述m个匹配点中的匹配点存在一一对应关系,其中,m为正整数;根据所述m个待匹配点、所述m个匹配点、和所述第一搜索中心点确定所述第一图像块的运动属性。

在一个示例性的实施例中,根据所述m个待匹配点、所述m个匹配点、和所述第一搜索中心点确定所述第一图像块的运动属性,包括:匹配所述m个待匹配点和所述m个匹配点,以得到m个匹配值; 确定所述m个匹配值中的最小匹配值;根据所述最小匹配值与所述第一搜索中心点对应的原点匹配值的比值确定所述第一图像块的运动属性。

在一个示例性的实施例中,根据所述运动属性确定所述第一图像块对应的第二模板集合,包括:在所述运动属性为第一幅度运动的情况下,确定所述第二模板集合中仅包括所述目标子模板,其中,所述第一幅度运动为比值大于第一值的运动,其中,所述比值为根据所述目标子模板确定的,所述第一图像块与所述前一帧图像的最小匹配值与原点匹配值的比值;在所述运动属性为第二幅度运动的情况下,确定所述多个子模板中的x个子模板,并根据所述x个子模板和所述目标子模板确定第二模板集合,其中,所述x个子模板是所述多个子模板中用于小范围更新所述最佳匹配点的子模板, x为正整数,其中,所述第二幅度运动为所述比值小于第二值、大于第三值的运动,其中,所述第一值大于所述第二值,所述第二值大于所述第三值;在所述运动属性为第三幅度运动的情况下,将所述第一模板集合确定为所述第二模板集合,其中,所述第三幅度运动为所述比值大于第二值、小于第一值,或者所述比值小于第三值的运动。

在一个示例性的实施例中,根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块,包括:确定第一匹配点,其中,所述第一匹配点为根据所述多个子模板中的y个子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点,其中,所述y个子模板均以第一搜索中心点为原点,所述第一搜索中心点是所述第一图像块最初的搜索中心点,所述y个子模板包括所述目标子模板,其中,y是正整数,所述y个子模板与所述x个子模板不包括相同的子模板;通过所述第一匹配点更新第一搜索中心点,得到第二搜索中心点;通过所述x个子模板和所述第二搜索中心点确定目标匹配点,并根据所述目标匹配点在所述前一帧图像中进行搜索,以得到所述第二图像块,其中,所述目标匹配点为最终更新得到的所述最佳匹配点。

在一个示例性的实施例中,根据所述多个子模板中的y个子模板确定第一匹配点,包括:确定第二匹配点,其中,所述第二匹配点为根据所述目标子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点;在y大于1的情况下,确定第三匹配点,其中,所述第三匹配点为根据当前子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点,所述当前子模板为所述y个子模板中除了所述目标子模板中的任一子模板;在所述第三匹配点的匹配值小于所述第二匹配点的匹配值的情况下,将所述第三匹配点更新为所述第一匹配点;在所述第三匹配点的匹配值大于所述第二匹配点的匹配值的情况下,将所述第二匹配点确定为所述第一匹配点。

在一个示例性的实施例中,通过所述x个子模板和所述第二搜索中心点确定目标匹配点,包括:确定所述x个子模板的被使用顺序;在按照所述被使用顺序通过所述x个子模板更新所述第一图像块的最佳匹配点的情况下,对于所述x个子模板中的任一子模板,基于所述第二搜索中心点进行匹配,以确定当前最佳匹配点,并通过所述当前最佳匹配点更新所述第二搜索中心点;在所述当前最佳匹配点与所述第二搜索中心点重合的情况下,将所述当前搜索中心点确定为所述目标匹配点。

根据本发明实施例的另一方面,还提供了一种图像块的确定装置,包括:第一确定模块,用于通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;第二确定模块,用于根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;第三确定模块,用于根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块。

根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述图像块的确定方法。

根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述图像块的确定方法。

通过本发明,通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块。采用上述技术方案,通过确定第一图像块的运动属性进而确定第一图像块对应的第二模板集合,进而对于不同运动属性的第一图像块,可以通过第二模板集合确定前一帧图像中与所述第一图像块匹配的第二图像块,解决了对图像块的匹配过程计算量大,效率低的问题,进而在进行运动估计的过程中,可以根据第一图像块的运动属性有针对性的选择第一图像块对应的第二模板集合,进而可以提高运动估计的效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的图像块的确定方法的计算机终端的硬件结构框图;

图2是根据本发明实施例的图像块的确定方法的流程图;

图3是根据本发明实施例的图像块的确定方法的步骤流程图;

图4是根据本发明实施例的图像块的确定方法的小菱形模板示意图;

图5是根据本发明实施例的图像块的确定方法的大菱形模板示意图;

图6是根据本发明实施例的图像块的确定方法的非十字对称模板示意图;

图7是根据本发明实施例的图像块的确定方法的大六边形模板示意图;

图8是根据本发明实施例的图像块的确定方法的六边形模板示意图;

图9是根据本发明实施例的图像块的确定方法的菱形模板示意图;

图10是根据本发明实施例的图像块的确定装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的图像块的确定方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的图像块的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

为了解决上述问题,在本实施例中提供了一种图像块的确定方法,应用于上述计算机终端,图2是根据本发明实施例的图像块的确定方法的流程图,该流程包括如下步骤:

步骤S202,通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;

步骤S204,根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;

步骤S206,根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块。

通过上述步骤,通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块。采用上述技术方案,通过确定第一图像块的运动属性进而确定第一图像块对应的第二模板集合,进而对于不同运动属性的第一图像块,可以通过第二模板集合确定前一帧图像中与所述第一图像块匹配的第二图像块,解决了对图像块的匹配过程计算量大,效率低的问题,进而在进行运动估计的过程中,可以根据第一图像块的运动属性有针对性的选择第一图像块对应的第二模板集合,进而可以提高运动估计的效率。

可选的,在上述步骤S202之前,即通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性之前,所述方法还包括:通过以下之一方式确定所述第一图像块在所述前一帧图像中的全局搜索范围:接收目标对象为所述第一图像块设置的所述全局搜索范围;获取所述前一帧图像的运动矢量的平均值,根据所述平均值确定所述全局搜索范围。

可选的,获取所述前一帧图像的运动矢量的平均值,根据所述平均值确定所述全局搜索范围,包括:通过如下公式确定所述全局搜索范围:

其中,SA表示全局搜索范围,

可以理解的是,1)在当前帧图像不存在前一帧图像的情况下,可以通过目标对象设置所述全局搜索范围,其中,目标对象可以是带有摄像头的摄像装置的用户、视频运动估计领域的研究人员等。在人为设置的情况下,全局搜索范围的初始值可以设置为-128~128,对应的搜索范围可以优选为分块后的当前帧图像的第一图像块的1/8。2)在当前帧图像存在前一帧图像的情况下,可以根据前一帧的图像确定所述全局搜索范围,进而相比于人为设置全局搜索范围的方案,通过前一帧的运动矢量的平均值可以得到一个较为合理的全局搜索范围,进一步的降低视频运动估计方法的计算量,进而提高估计效率。需要说明的是,前一帧图像和当前帧图像可以是从连续视频中截取的连续(或非连续,但存在一定运动关联)的两帧图像,前一帧图像也可以是仅作为参考的独立参考帧图像。

在一个示例性的实施例中,通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,包括:以所述第一图像块对应的第一搜索中心点为原点,根据所述目标子模板确定所述第一图像块中的m个待匹配点,以及确定所述前一帧图像中的m个匹配点,其中,所述m个待匹配点中的待匹配点和所述m个匹配点中的匹配点存在一一对应关系,其中,m为正整数;根据所述m个待匹配点、所述m个匹配点、和所述第一搜索中心点确定所述第一图像块的运动属性。

即通过目标子模板(包括m个搜索点)确定第一图像块中的m个待匹配点、以及前一帧图像中的m个匹配点,进而根据所述m个待匹配点、所述m个匹配点对应的m个匹配值、和所述第一搜索中心点对应的原点匹配值可以确定所述第一图像块的运动属性。

可选的,确定第一图像块对应的第一搜索中心点,可以采用帧内预测或者帧间预测方法。

可选的,可以根据当前正在搜索的第一图像块的前一个第一图像块的搜索中心点确定第一图像块的第一搜索中心点,即根据第一图像块和前一第一图像块的相对位移,以及前一第一图像块的搜索中心点确定所述第一搜索中心点,具体为,将所述前一第一图像块(第三图像块)的搜索中心点按照所述相对位移进行移动,即可得到所述第一搜索中心点。也可以一定程度上提高运动估计效率。

在一个示例性的实施例中,根据所述m个待匹配点、所述m个匹配点、和所述第一搜索中心点确定所述第一图像块的运动属性,包括:匹配所述m个待匹配点和所述m个匹配点,以得到m个匹配值; 确定所述m个匹配值中的最小匹配值;根据所述最小匹配值与所述第一搜索中心点对应的原点匹配值的比值确定所述第一图像块的运动属性。

可选的,可以通过如下公式确定所述运动属性:

其中,DA表示所述比值,

示例性的,确定所述运动属性的目标搜索模板优选为具有4个搜索点(即m等于4)的小菱形模板。进而根据小菱形模板以第一搜索中心点为原点,确定第一图像块中对应小菱形模板的4个待匹配点,以及前一帧图像中对应小菱形模板的4个匹配点,确定4个匹配点和4个待匹配点的匹配值,进而确定4个匹配值中最小匹配值;再确定所述第一搜索中心点对应的原点匹配值,将最小匹配值与原点匹配值的比值作为确定运动属性的依据。

进一步的,根据所述最小匹配值与所述原点匹配值的比值确定所述第一图像块的运动属性,包括:获取运功属性对应表,其中,所述运动属性对应表记载有所述比值与所述运动属性的对应关系;根据所述比值从所述运动属性对应表中查询所述第一图像块的运动属性。

在一个示例性的实施例中,根据所述运动属性确定所述第一图像块对应的第二模板集合,包括:在所述运动属性为第一幅度运动的情况下,确定所述第二模板集合中仅包括所述目标子模板,其中,所述第一幅度运动为比值大于第一值的运动,其中,所述比值为根据所述目标子模板确定的,所述第一图像块与所述前一帧图像的最小匹配值与原点匹配值的比值;在所述运动属性为第二幅度运动的情况下,确定所述多个子模板中的x个子模板,并根据所述x个子模板和所述目标子模板确定第二模板集合,其中,所述x个子模板是所述多个子模板中用于小范围更新所述最佳匹配点的子模板, x为正整数,其中,所述第二幅度运动为所述比值小于第二值、大于第三值的运动,其中,所述第一值大于所述第二值,所述第二值大于所述第三值;在所述运动属性为第三幅度运动的情况下,将所述第一模板集合确定为所述第二模板集合,其中,所述第三幅度运动为所述比值大于第二值、小于第一值,或者所述比值小于第三值的运动。

可以理解的是,根据前述实施例中的所述比值的归属范围可以确定运动属性,具体而言:1)在所述比值大于等于第一值的情况下,所述第一图像快的运动属性为第一幅度运动。可选的,第一值优选为3,第一幅度运动可以理解为静止运动,进而对于属于第一幅度运动的第一图像块,可以根据目标子模板确定运动属性后,搜索周边图像块进行状态验证。2)在所述比值大于第三值小于第二值的情况下,可以确定所述第一图像块的运动属性为第二幅度运动。可选的,第二值优选为0.6,第三值优选为0.3,第二幅度运动可以理解为一种小幅运动。小幅运动可以采用目标子模板结合多个子模板中用于小范围搜索的x个子模板,进行第二图像块的搜索过程。3)对于不在第一幅度运动和第二幅度运动的比值所属区间的其余比值,其对应的第一图像块均可确认为第三幅度运动,第三幅度运动可以理解为一种大幅运动。针对大幅运动,为准确确定第一图像块对应的第二图像块,可以将第一模板集合直接作为第二模板集合。

在一个示例性的实施例中,根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块,包括:确定第一匹配点,其中,所述第一匹配点为根据所述多个子模板中的y个子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点,其中,所述y个子模板均以第一搜索中心点为原点,所述第一搜索中心点是所述第一图像块最初的搜索中心点,所述y个子模板包括所述目标子模板,其中,y是正整数,所述y个子模板与所述x个子模板不包括相同的子模板;通过所述第一匹配点更新第一搜索中心点,得到第二搜索中心点;通过所述x个子模板和所述第二搜索中心点确定目标匹配点,并根据所述目标匹配点在所述前一帧图像中进行搜索,以得到所述第二图像块,其中,所述目标匹配点为最终更新得到的所述最佳匹配点。

示例性的,第一模板集合中包括双菱形模版(小菱形模板,大菱形模板)、非十字对称模板、八点大六边形模板、小六边形模板及菱形模版,其中目标子模板即小菱形模板,大菱形模板和非十字对称模板即可共同作为y个子模板(此时,y=3);小六边形模板作为一种迭代模板,和菱形模板共同作为专用于小范围搜索的模板(即对应所述x个子模板,此时x=2)。进而,确定第二图像块,包括:1)通过小菱形模板确定运动属性,在运动属性为静止运功的情况下,第二模板集合的搜索过程结束,接下来仅搜索周边的第一图像块进行验证;2)在运动属性为大幅运动的情况下,通过小菱形模板、大菱形模板、和非十字对称模板共同确定第一匹配点(即小菱形模板、大菱形模板、和非十字对称模板这三个子模板对应的第一图像块的最小匹配点);通过第一匹配点更新第一搜索中心点,得到第二搜索中心点;进而通过八点大六边形模板、小六边形模板及菱形模版依次进行第二搜索中心点的更新,可以进一步确定第二搜索中心点对应的目标匹配点,通过目标匹配点确定第二图像块;3)在运动属性为小幅运动的情况下,与大幅运动的搜索过程不同的是,小幅运动仅根据目标子模板确定第一匹配点,进而进行第一搜索中心点的更新,得到第二匹配点,其余过程与大幅运动相同。

在一个示例性的实施例中,根据所述多个子模板中的y个子模板确定第一匹配点,包括:确定第二匹配点,其中,所述第二匹配点为根据所述目标子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点;在y大于1的情况下,确定第三匹配点,其中,所述第三匹配点为根据当前子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点,所述当前子模板为所述y个子模板中除了所述目标子模板中的任一子模板;在所述第三匹配点的匹配值小于所述第二匹配点的匹配值的情况下,将所述第三匹配点更新为所述第一匹配点;在所述第三匹配点的匹配值大于所述第二匹配点的匹配值的情况下,将所述第二匹配点确定为所述第一匹配点。

可选的,在y=1的情况下,即运动属性为小幅运动、y个子模板中仅包括目标子模板的情况下,将所述第二匹配点确定为第一匹配点。

示例性的,y=3的情况下,通过小菱形模板、大菱形模板、和非十字对称模板共同确定第一匹配点,包括:通过小菱形模板确定第二匹配点,通过大菱形模板(和/或非十字对称模板)确定第三匹配点,比较第三匹配点的匹配值与第二匹配点的匹配值,将其中较小的作为第一匹配点。

需要说明的是,y个子模板中,除了目标子模板用于确定运动属性,需要最先被使用,剩余y-1个子模板的使用顺序不作限定。进而上述第一匹配值的确定方案也可以理解为:以第一搜索中心点为原点,确定y个子模板共同的最小匹配值(第四匹配值),作为第一匹配值。

在一个示例性的实施例中,通过所述x个子模板和所述第二搜索中心点确定目标匹配点,包括:确定所述x个子模板的被使用顺序;在按照所述被使用顺序通过所述x个子模板更新所述第一图像块的最佳匹配点的情况下,对于所述x个子模板中的任一子模板,基于所述第二搜索中心点进行匹配,以确定当前最佳匹配点,并通过所述当前最佳匹配点更新所述第二搜索中心点;在所述当前最佳匹配点与所述第二搜索中心点重合的情况下,将所述当前搜索中心点确定为所述目标匹配点。

需要说明的是,x个子模板是存在使用顺序的,例如:x=2的情况下,小六边形模板及菱形模版中小六边形模板作为第一个使用的子模板,菱形模版作为第二个使用的子模板。

在使用小六边形的情况下,通过小六边形模板以第二搜索中心为原点,确定小六边形的6个搜索点对应的最小匹配点(当前最佳匹配点),通过所述当前最佳匹配点更新所述第二搜索中心点,不断循环迭代使用小六边形模板,最终得到目标匹配点。

可选的,使用菱形模板的情况下,仅进行菱形模板对应的最小匹配点的确定过程即可,将菱形模板对应的最小匹配点确定为目标匹配点。

可选的,在使用x个子模板之前,还可以采用n个子模板进行第二搜索中心点的更准确定位。即确定n个子模板的使用顺序,按照使用顺序确定n个子模板中的当前子模板对应的最小匹配点(第五匹配点),通过n个子模板中的当前子模板对应的最小匹配点更新第二搜索中心点,其中,n为正整数。实际上是n个子模板中的每个子模板不断对第二搜索中心点进行更新的过程,更新后的第二搜索中心点作为n个子模板中的下一个子模板的搜索原点。例如,在n=1的情况下,即采用八点大六边形模板以第一搜索中心为原点,确定并通过八点大六边形模板对应的最小匹配点更新第二搜索中心点。

显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述图像块的确定方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:

为实现视频运动感知,本发明实施例将运动感知问题转换成运动估计加整体运动占比、运动幅度、运动方向判断的问题。关键技术在于如何进行快速运动估计。

具体地,本发明实施例基于运动估计提出了一种快速运动状态感知方案,具体如图3所示,包括:

步骤S301,输入当前帧和参考帧。

步骤S302,确定全局搜索范围。

首先将图像分块进行运动估计,图像分块的搜索范围初始值(相当于上述实施例中的全局搜索范围)设置为-128~128,针对快速运动估计,统计发现,搜索步长为图像块大小的1/8时能实现大致准确预测。

更新图像全局搜索范围:自然视频序列中大部分帧的运动幅度较小,且相邻帧间运动状态具有连续性,根据前一帧的mv可限制该帧的全局搜索范围。全局搜索范围的确定公式:

其中,

步骤S303,确定待匹配图像块。

步骤S304,图像块初始运动矢量(Motion Vector,简称mv)预测。

各图像块的mv初始值预测。可采用编码器常用的帧内预测或者帧间预测方法。

步骤S305,确定待预测块(相当于上述实施例中的第一图像块)个数是否小于总数的12%,在小于的情况下,进入步骤S306;在大于等于的情况下,进入步骤S307。

步骤S306,确定当前帧(相当于上述实施例中的当前帧图像)状态同上帧(相当于上述实施例中的前一帧图像)。直接进入步骤S312。

步骤S307,图像块运动状态确定,其中,步骤S307确定的运动属性包括:步骤S3071,静止;步骤S3072,小幅运动;步骤S3073,大幅运动。其中,静止运动进入步骤S310,小幅运动和大幅运动进入步骤S308。

可选的,图像块运动属性判断:通过图像块局部范围内的匹配结果差判断图像块的运动属性,共分为三类,静止,小幅运动和大幅运动。通过失真比定义运动属性

其中,以960x540视频为例,

步骤S308,更新搜索范围和步长。

步骤S309,DA_UMH算法搜索。

在进行DA_UMH算法搜索之前,对现有技术中的UMH运动模版进行优化,具体为:UMH算法(即UMH运动模板)通用模版按阶段分别为正方形模版、非十字对称模版、十六点大六边形模板、小六边形模板及菱形模版。优化后模版按阶段分别为双菱形模版、非十字对称模板、八点大六边形模板、小六边形模板及菱形模版。通过优化后的UMH模板进行运动估计的计算复杂度如下表1所示。

根据运动属性动态选择搜索算法(即选择优化后的UMH模板):当视频序列运动剧烈时,采用UMH搜索算法能快速准确的匹配出正确的块,但当视频运动缓慢时,采用UMH算法会存在多次重复复杂搜索且易出现远距离误匹配。因此针对不同运动属性的图像块可采用不同的搜索模板进行运动估计。静止图像块只需搜索周边图像块进行状态验证;小幅运动图像块仅需采用迭代六边形模板及菱形模板进行小范围预测;大幅运动采用优化后的UMH算法进行预测。

可选的,本发明实施例可以动态设置搜索步长:针对快速求解运动状态的场景,可根据搜索范围动态调整步长,加快搜索速度。

步骤S310,输出运动矢量。

步骤S311,根据全帧(相当于上述实施例中的当前帧图像)mv判断状态。

步骤S312,输出运动状态。

根据动态判断策略判断该帧的运动状态。基础判断条件为本帧(相当于上述实施例中的当前帧图像)mv大于静止帧(相当于上述实施例中的前一帧图像)平均幅值的占比、平均mv的幅值大小和平均mv的角度变化。为视频的连续转动和小范围抖动,进而设置移动窗口阈值判断,运动片段超过5帧且运动方向一致则为连续的转动,否则为小范围抖动。

具体地,通过优化后的UMH算法进行运动状态感知的具体实现步骤如下:

步骤S401:确定全局搜索范围。

步骤S402:根据业务需要过滤掉不需要做匹配的图像块,部分图像块过于平坦,无有用纹理信息,会影响全局判断。

步骤S403:确定初始mv(帧间预测或帧内预测),更新搜索中心点(MBD点)。其中,MBD点是指Motion-Compensated Block Difference点。MBD点是一种用于描述视频压缩和运动估计的技术术语。它是指在视频中的每个帧中,通过将一个运动补偿的块与参考帧中的相应块进行比较,并计算它们之间的差异来评估运动。这种差异通常被称为MBD值,代表了两个块之间的运动差异程度。

步骤S404具体包括如下步骤S4041-S4043:

步骤S4041:小菱形模版搜索,搜索模版如图4所示。具体步骤是将参考帧与当前MBD点坐标位置相同点作为搜索中心,对以搜索中心为原点的小菱形模版(4个点)所在点,与待匹配块做匹配运算,并记录最小sad点。根据最小sad点与原点sad比计算运动属性,静止图像块终止搜索。其中,SAD代表“Sum of Absolute Differences(绝对差值之和)。

步骤S4042:大菱形模版搜索,搜索模版如图5所示。小幅运动跳过这一步。具体步骤是对以搜索中心为原点的大菱形模版(8个点)所在点,与待匹配块做匹配运算,计算sad并与前一步最小sad点比较,记录新的最小sad点。

步骤S4043:非对称十字模板搜索,小幅运动跳过这一步。具体步骤是对以搜索中心为原点的水平方向和垂直方向按图6所示模版所在点,与待匹配块做匹配运算,与前一步最小sad点比较,记录新的最小sad点。更新MBD点为步骤S4041-S4043的最佳匹配点。

步骤S405包括如下步骤S4051-S4053:

步骤S4051:使用多层改进型大六边形模板搜索,具体步骤是将参考帧与当前MBD点坐标位置相同点作为搜索中心,对以搜索中心为原点的多层大六边形模板按图7所示模版所在点,与待匹配块做匹配运算,并与前一步最小sad点比较,记录新的最小sad点。更新MBD点为当前步骤的最佳匹配点。

步骤S4052:迭代使用六边形搜索。具体步骤是将参考帧与当前MBD点坐标位置相同点作为搜索中心,对以搜索中心为原点的六边形模板按图8所示模版所在点,与待匹配块做匹配运算,记录最佳匹配点并将MBD点移至最佳匹配点,重复上述匹配步骤直至最优点在中心,更新MBD点为当前步骤的最佳匹配点。

步骤S4053:菱形搜索,此时匹配搜索已大致完成,在最优点以菱形模板搜索附近四点如图9所示,以搜索到更精确的匹配块。

步骤S406:根据动态判断策略判断该帧(相当于上述实施例中的第一图像块)的运动状态。

和传统的运动估计方法比较,本发明实施例提供的方法具有如下优点:

1)视频两帧间的运动有明显相关性和一致性,可以根据视频前一帧的运动矢量限定当前帧的搜索范围。能在减小搜索范围的同时减少匹配规则计算误差引起的误匹配。

2)对图像块进行运动分级,可以动态调整图像块的搜索范围及搜索步长,根据搜索范围和搜索步长选择不同的搜索模版,可以减少搜索模版的重复计算,能更快速的找到最优匹配块,跟UMH算法相比可减少轻微运动的图像块90%以上的计算量。

3)就视频整体而言,dynamic-UMH搜索算法(即DA_UMH算法)相对于原始UMH算法平均可节省80%以上的计算量,对于一些要求快速求解运动的场景调整起始步长可节省90%以上的计算量。

4)在视频转动感知方向应用可在单cpu的场景达到16路视频实时进行运动估计,且准确率和召回率与其他通用搜索算法相当。整体计算量对比如下表1:

表1:几种搜索算法的块计算次数对比

5)本发明实施例上述运动估计应用在视运动感知领域,通过运动估计判断图像帧相对于上一帧是否存在镜头变化。对于其他运动估计应用场景如视频编解码、镜头抖动矫正和目标匹配等等可以通过调整相关参数后,进行应用。

在本实施例中还提供了一种图像块的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图10是根据本发明实施例的图像块的确定装置的结构框图,该装置包括:

第一确定模块1002,用于通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;

第二确定模块1004,用于根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;

第三确定模块1006,用于根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块

上述装置,通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块。采用上述技术方案,通过确定第一图像块的运动属性进而确定第一图像块对应的第二模板集合,进而对于不同运动属性的第一图像块,可以通过第二模板集合确定前一帧图像中与所述第一图像块匹配的第二图像块,解决了对图像块的匹配过程计算量大,效率低的问题,进而在进行运动估计的过程中,可以根据第一图像块的运动属性有针对性的选择第一图像块对应的第二模板集合,进而可以提高运动估计的效率。

在一个示例性的实施例中,第一确定模块1002,还用于以所述第一图像块对应的第一搜索中心点为原点,根据所述目标子模板确定所述第一图像块中的m个待匹配点,以及确定所述前一帧图像中的m个匹配点,其中,所述m个待匹配点中的待匹配点和所述m个匹配点中的匹配点存在一一对应关系,其中,m为正整数;根据所述m个待匹配点、所述m个匹配点、和所述第一搜索中心点确定所述第一图像块的运动属性。

在一个示例性的实施例中,第一确定模块1002,还用于匹配所述m个待匹配点和所述m个匹配点,以得到m个匹配值;确定所述m个匹配值中的最小匹配值;根据所述最小匹配值与所述第一搜索中心点对应的原点匹配值的比值确定所述第一图像块的运动属性。

在一个示例性的实施例中,第二确定模块1004,还用于在所述运动属性为第一幅度运动的情况下,确定所述第二模板集合中仅包括所述目标子模板,其中,所述第一幅度运动为比值大于第一值的运动,其中,所述比值为根据所述目标子模板确定的,所述第一图像块与所述前一帧图像的最小匹配值与原点匹配值的比值;在所述运动属性为第二幅度运动的情况下,确定所述多个子模板中的x个子模板,并根据所述x个子模板和所述目标子模板确定第二模板集合,其中,所述x个子模板是所述多个子模板中用于小范围更新所述最佳匹配点的子模板, x为正整数,其中,所述第二幅度运动为所述比值小于第二值、大于第三值的运动,其中,所述第一值大于所述第二值,所述第二值大于所述第三值;在所述运动属性为第三幅度运动的情况下,将所述第一模板集合确定为所述第二模板集合,其中,所述第三幅度运动为所述比值大于第二值、小于第一值,或者所述比值小于第三值的运动。

在一个示例性的实施例中,第三确定模块1006,还用于确定第一匹配点,其中,所述第一匹配点为根据所述多个子模板中的y个子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点,其中,所述y个子模板均以第一搜索中心点为原点,所述第一搜索中心点是所述第一图像块最初的搜索中心点,所述y个子模板包括所述目标子模板,其中,y是正整数,所述y个子模板与所述x个子模板不包括相同的子模板;通过所述第一匹配点更新第一搜索中心点,得到第二搜索中心点;通过所述x个子模板和所述第二搜索中心点确定目标匹配点,并根据所述目标匹配点在所述前一帧图像中进行搜索,以得到所述第二图像块,其中,所述目标匹配点为最终更新得到的所述最佳匹配点。

在一个示例性的实施例中,第三确定模块1006,还用于确定第二匹配点,其中,所述第二匹配点为根据所述目标子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点;在y大于1的情况下,确定第三匹配点,其中,所述第三匹配点为根据当前子模板确定的、所述第一图像块在所述前一帧图像中的最小匹配点,所述当前子模板为所述y个子模板中除了所述目标子模板中的任一子模板;在所述第三匹配点的匹配值小于所述第二匹配点的匹配值的情况下,将所述第三匹配点更新为所述第一匹配点;在所述第三匹配点的匹配值大于所述第二匹配点的匹配值的情况下,将所述第二匹配点确定为所述第一匹配点。

在一个示例性的实施例中,第三确定模块1006,还用于确定所述x个子模板的被使用顺序;在按照所述被使用顺序通过所述x个子模板更新所述第一图像块的最佳匹配点的情况下,对于所述x个子模板中的任一子模板,基于所述第二搜索中心点进行匹配,以确定当前最佳匹配点,并通过所述当前最佳匹配点更新所述第二搜索中心点;在所述当前最佳匹配点与所述第二搜索中心点重合的情况下,将所述当前搜索中心点确定为所述目标匹配点。

本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;

S2,根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;

S3,根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,通过第一模板集合中的目标子模板确定当前帧图像中第一图像块的运动属性,其中,所述第一模板集合包括多个子模板,所述多个子模板中的每个子模板用于更新所述第一图像块在所述当前帧图像的前一帧图像中的最佳匹配点;

S2,根据所述运动属性确定所述第一图像块对应的第二模板集合,其中,所述第一模板集合包括:所述第二模板集合;所述第二模板集合包括所述目标子模板;

S3,根据所述第二模板集合确定所述前一帧图像中与所述第一图像块匹配的第二图像块。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 送风方式的确定方法及装置、存储介质、电子装置
  • 策略确定方法及装置、存储介质、电子装置
  • 配送参数的确定方法、确定装置、存储介质和电子设备
  • 一种图像相似度确定方法、装置、设备及存储介质
  • 图像模糊度确定方法、装置、计算机设备及存储介质
  • 修改参考图像的参考块的方法、借助参考块编码或解码图像的块的方法及其装置,以及承载借助于修改后的参考块而编码的块的存储介质或信号
  • 图像候选确定装置、图像候选确定方法、控制图像候选确定装置的程序以及存储该程序的记录介质
技术分类

06120116497892