图像映射方法、装置、硬件装置和计算机可读存储介质与流程

文档序号:16253911发布日期:2018-12-12 00:16阅读:158来源:国知局
图像映射方法、装置、硬件装置和计算机可读存储介质与流程

本公开涉及一种图像技术领域,特别是涉及一种图像映射方法、装置、硬件装置和计算机可读存储介质。

背景技术

随着互联网和网络技术的日渐成熟,更具表现力且便捷方便的数字图像作为传递信息的媒介正越来越被人们喜爱。数字图像像素打乱是指将图像搅乱,消除位置或灰度相关性,从而使人类或计算机系统无法理解原始图像所表达的真实含义。数字图像像素的打乱技术,可以看做数字图像加密的一种途径,也可以用作数字图像隐藏、数字水印图像植入和数字图像秘密共享的预处理和后处理过程。常见的图像像素打乱方法有arnold变换、fibonacci-q变换、幻方变换、骑士巡游变换、hilbert曲线、conway游戏、混沌排序方法等。其中,以arnold变换、fibonacci-q变换和幻方变换为代表的图像打乱算法在图像加密、信息隐藏和数字水印领域中应用最为广泛,它们具有变换阵构造简单、打乱实现容易等特点,且能抵御剪切、添加噪声等常规图像攻击。但缺点是需要进行多次重复打乱,才能达到满意的打乱效果,并且利用周期性来恢复图像耗时过长,不利于图像打乱后的快速恢复。



技术实现要素:

本公开解决的技术问题是提供一种图像映射方法,以至少部分地解决如何减少占用资源、加快图像处理速度的技术问题。此外,还提供一种图像映射装置、图像映射硬件装置和计算机可读存储介质。

为了实现上述目的,根据本公开的一个方面,提供以下技术方案:

一种图像映射方法,包括:

获取对待映射图像进行多次映射的多个第一映射关系;

根据映射顺序将所述多个第一映射关系级联成第二映射关系;

根据所述第二映射关系对所述待映射图像进行映射。

进一步地,根据映射顺序将所述多个第一映射关系级联成第二映射关系,包括:

根据所述映射顺序将第二个第一映射关系代入第一个第一映射关系中,得到当前级联结果;

根据所述映射顺序将其余第一映射关系依次代入当前级联结果进行更新,最终得到所述第二映射关系。

进一步地,所述第一映射关系和第二映射关系为映射矩阵;

所述根据所述映射顺序将第二个第一映射关系代入第一个第一映射关系中,得到当前级联结果,包括:

将所述第一个第一映射关系中任一矩阵位置处的第一值更新为第二值,所述第二值位于所述第二个第一映射关系中所述第一值指向的第二元素位置处。

进一步地,根据映射顺序将所述多个第一映射关系级联成第二映射关系,包括:

将所述多个第一映射关系进行分组;其中每一个分组包括一个或多个第一映射关系;

对于每一个分组,根据映射顺序将所述多个第一映射关系进行级联,形成多个第二映射关系。

进一步地,将所述多个第一映射关系进行分组,包括:

根据图像映射设备的处理能力将所述多个第一映射关系进行分组,以使每一个分组中多个第一映射关系中的第一参数总数在所述图像映射设备的处理能力范围之内。

进一步地,所述图像映射设备的处理能力包括所述图像映射设备执行一次渲染时能够接受的参数个数。

进一步地,根据所述第二映射关系对所述待映射图像进行映射,包括:

以所述映射顺序按照多个所述第二映射关系将所述待映射图像进行映射。

进一步地,获取对待映射图像进行多次映射的多个第一映射关系之后,包括:

根据预设采样分辨率对所述多个第一映射关系进行采样,得到采样后的多个第一映射关系;

根据映射顺序将所述多个第一映射关系级联成第二映射关系,包括:

根据映射顺序将采样后的所述多个第一映射关系级联成采样后的第二映射关系。

进一步地,根据映射顺序将采样后的所述多个第一映射关系级联成采样后的第二映射关系之后,包括:

将采样后的第二映射关系进行插值,得到最终第二映射关系;其中,所述最终第二映射关系的分辨率与采样前所述第一映射关系的分辨率相同。

进一步地,所述预设采样分辨率根据以下参数中的至少之一预先设置:图像映射设备的处理能力、实时性要求。

为了实现上述目的,根据本公开的另一个方面,还提供以下技术方案:

一种图像映射装置,包括:

获取模块,用于获取对待映射图像进行多次映射的多个第一映射关系;

级联模块,用于根据映射顺序将所述多个第一映射关系级联成第二映射关系;

映射模块,用于根据所述第二映射关系对所述待映射图像进行映射。

进一步地,所述级联模块,包括:

第一级联子模块,用于根据所述映射顺序将第二个第一映射关系代入第一个第一映射关系中,得到当前级联结果;

第二级联子模块,用于根据所述映射顺序将其余第一映射关系依次代入当前级联结果进行更新,最终得到所述第二映射关系。

进一步地,所述第一映射关系和第二映射关系为映射矩阵;

所述第一级联子模块,包括:

更新子模块,用于将所述第一个第一映射关系中任一矩阵位置处的第一值更新为第二值,所述第二值位于所述第二个第一映射关系中所述第一值指向的第二元素位置处。

进一步地,级联模块,包括:

第一分组子模块,用于将所述多个第一映射关系进行分组;其中每一个分组包括一个或多个第一映射关系;

第三级联子模块,用于对于每一个分组,根据映射顺序将所述多个第一映射关系进行级联,形成多个第二映射关系。

进一步地,所述第一分组子模块,包括:

第二分组子模块,用于根据图像映射设备的处理能力将所述多个第一映射关系进行分组,以使每一个分组中多个第一映射关系中的第一参数总数在所述图像映射设备的处理能力范围之内。

进一步地,所述图像映射设备的处理能力包括所述图像映射设备执行一次渲染时能够接受的参数个数。

进一步地,所述映射模块,包括:

第一映射子模块,用于以所述映射顺序按照多个所述第二映射关系将所述待映射图像进行映射。

进一步地,所述获取模块之后,包括:

采样模块,用于根据预设采样分辨率对所述多个第一映射关系进行采样,得到采样后的多个第一映射关系;

所述级联模块,包括:

第四级联子模块,用于根据映射顺序将采样后的所述多个第一映射关系级联成采样后的第二映射关系。

进一步地,所述第四级联子模块之后,包括:

插值模块,用于将采样后的第二映射关系进行插值,得到最终第二映射关系;其中,所述最终第二映射关系的分辨率与采样前所述第一映射关系的分辨率相同。

进一步地,所述预设采样分辨率根据以下参数中的至少之一预先设置:图像映射设备的处理能力、实时性要求。

为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:

一种图像映射硬件装置,包括:

存储器,用于存储非暂时性计算机可读指令;以及

处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现上述任一方法所述的步骤。

为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:

一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述任一方法中所述的步骤。

本公开实施例提供一种图像映射方法、图像映射装置、图像映射硬件装置和计算机可读存储介质。其中,该图像映射方法包括获取对待映射图像进行多次映射的多个第一映射关系;根据映射顺序将所述多个第一映射关系级联成第二映射关系;根据所述第二映射关系对所述待映射图像进行映射。本公开实施例在对映射关系进行级联时,不需要进行图像渲染,而仅仅在利用第二映射关系对待映射图像进行映射时才会执行图像渲染,渲染次数最低可以达到一次(所有第一映射关系被级联成一个第二映射关系的情况下),因此相较于已有技术,大大地节省了资源,提高了图像处理速度,从而提高了用户体验效果。

上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1为根据本公开一个实施例的图像映射方法的流程示意图;

图2为根据图1所示实施例中步骤s2的步骤流程示意图;

图3为根据本公开一实施例中步骤s2的又一步骤流程示意图;

图4为根据本公开一个实施例的图像映射装置的结构示意图;

图5为根据本公开一个实施例的图像映射硬件装置的结构示意图;

图6为根据本公开一个实施例的计算机可读存储介质的结构示意图;

图7为根据本公开一个实施例的图像映射终端的结构示意图。

具体实施方式

以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。

还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。

为了解决如何提高用户体验效果的技术问题,本公开实施例提供一种图像映射方法。如图1所示,该图像映射方法主要包括如下步骤s1至步骤s3。其中:

步骤s1:获取对待映射图像进行多次映射的多个第一映射关系。

其中,待映射图像可以是数字图像。映射是指通过预设映射关系将待映射图像变换成不同的图像,预设映射关系可以用于将待映射图像上的像素位置打乱,以实现对待映射图像的加密等目的。在一实施例中,预设映射关系可以是映射矩阵,该映射矩阵的大小可以与待映射图像大小相同,在进行映射后得到的结果图像中任一位置a处的元素值等于映射前待映射图像上位置b处的元素值,而位置a与位置b的映射关系从映射矩阵中获得,例如可以将映射矩阵位置a处的元素值直接设置为位置b,或者设置为位置b的计算函数等。多次映射是指通过多个不同的预设映射关系将待映射图像进行映射,即利用第一个预设映射关系对初始的待映射图像进行映射得到第一结果图像,之后再利用第二个预设映射关系对第一结果图像再进行映射得到第二结果图像,依此类推,进行多次映射后,得到最终的映射结果。在其他实施例中,预设映射关系也可以是能够将待映射图像上任一位置映射至另一位置的函数,对此本公开不做限制。

本实施例中的第一映射关系即为上述提到的预设映射关系,第一映射关系也可以认为是位置映射关系,用于将待映射图像上一位置a映射到另一位置b,即待映射图像映射后得到的结果图像中一位置a处的元素值等于另一位置b处的元素值。

步骤s2:根据映射顺序将所述多个第一映射关系级联成第二映射关系。

其中,映射顺序是指在进行多次映射时,使用多个第一映射关系对待映射图像进行映射时的先后顺序。多次映射时,多个第一映射关系的映射顺序是预先定义好的。因此,本实施例中按照映射顺序先将多个第一映射关系进行级联,得到第二映射关系。对于第一映射关系为映射矩阵的情况,级联是指将顺序在前的第一映射关系中任一位置c处的元素值映射为顺序在后的第一映射关系中某一位置d处的元素值,其中该任一位置c处的元素值指向该某一位置d。需要说明的是,第二映射关系可以是一个也可以是多个,但是其数量小于第一映射关系的数量,也即可以根据实际情况将所有第一映射关系级联成一个第二映射关系,也可以将所有第一映射关系分成多组,对每组进行级联得到多个第二映射关系。

以将多个第一映射关系级联成一个第二映射关系为例,假如获取了三个第一映射关系a、b、c,其映射顺序为a、b、c;将三个第一映射关系a、b、c进行级联时,先将第一映射关系a与第一映射关系b进行级联,得到级联结果,再将该级联结果与第一映射关系c进行级联,得到第二映射关系。例如,第一映射关系a、b、c均为映射矩阵,那么将第一映射关系a和第一映射关系b进行级联后,得到的级联结果为结果映射矩阵,结果映射矩阵中任一位置c处的元素值等于第一映射关系b对应的映射矩阵中位置d处的元素值,而该位置d的坐标为第一映射关系a对应的映射矩阵中位置c处的元素值。

步骤s3:根据所述第二映射关系对所述待映射图像进行映射。

其中,根据第二映射关系对待映射图像进行映射可以是将待映射图像中任一位置按照第二映射关系映射到另一位置,也即将待映射图像上任一位置处的元素值变换为另一位置处的元素值。对于第二映射关系为映射矩阵的情况,映射矩阵元素值为位置坐标,用于将待映射图像上对应位置映射到该位置坐标。例如,第二映射关系中位置[0,0]处的元素值为[3,4],那么在映射以后,待映射图像上位置[0,0]处的元素值变换成待映射图像上位置[3,4]处的元素值。

本公开实施例中,在对待映射图像进行多次映射时,首先获得进行多次映射的多个第一映射关系,之后先对该多个第一映射关系进行级联,并利用级联得到的第二映射关系对待映射图像进行映射。已有技术中,在对待映射图像进行多次映射时,按照映射顺序基于映射关系逐个对待映射图像进行映射,而每进行一次图像映射,图形处理器(gpu)都会进行一次图像渲染,也即已有技术中,对待映射图像进行多少次映射,gpu就执行多少次的图像渲染,而图像渲染又非常耗费gpu资源,在待映射图像非常大,且映射关系中参数非常多的情况下,会极大地降低图像处理速度,降低用户体验。而本实施例中,在对映射关系进行级联时,不需要进行图像渲染,而仅仅在利用第二映射关系对待映射图像进行映射时才会执行图像渲染,渲染次数最低可以达到一次(所有第一映射关系被级联成一个第二映射关系的情况下),因此相较于已有技术,大大地节省了资源,提高了图像处理速度,从而提高了用户体验效果。

在一个可选的实施例中,如图2所示,步骤s2即根据映射顺序将所述多个第一映射关系级联成第二映射关系的步骤,可以包括:

步骤s21:根据所述映射顺序将第二个第一映射关系代入第一个第一映射关系中,得到当前级联结果;

步骤s22:根据所述映射顺序将其余第一映射关系依次代入当前级联结果进行更新,最终得到所述第二映射关系。

该可选的实现方式中,映射关系包括用于打乱待映射图像上像素位置的位置映射方式。对待映射图像进行多次映射时,理论上可以理解为将待映射图像上的像素位置按照第一个第一映射关系的位置映射方式打乱,之后再按照第二个第一映射关系的位置映射方式打乱像素位置,依此类推,直到按照最后一个第一映射关系的位置映射方式打乱像素位置。可以理解的是,多次映射实际上是对待映射图像上的像素位置进行了多次打乱。那么在实际操作过程中,为了节省资源,提高图像处理速度,可以先对多个第一映射关系进行级联,得到一个或几个第二映射关系,之后再利用第二映射关系对待映射图像进行映射。以函数表示的第一映射关系为例,第一映射关系中包括将待映射图像上的任一位置进行计算后得到另一个位置的一组函数表示,而映射顺序中的前后两个第一映射关系就可以看作是对待映射图像上任一位置进行先后两次计算后得到另一个位置的两组函数表示。因此,可以先对映射顺序中的前后两个第一映射关系进行级联,也即将后一第一映射关系所包括的一组函数表示分别代入前一第一映射关系的一组函数表示中,得到一组函数表示,也即将两组函数表示合成为一组函数表示,最终的结果是利用该组合成的函数表示对待映射图像进行映射得到的结果,与利用前后两个第一映射关系中的两组函数表示分别对待映射图像进行映射的效果是一样的。多个第一映射关系的级联与上述两个第一映射关系的级联类似,按照映射顺序第二个第一映射关系代入第一个第一映射关系后得到当前级联结果,之后再将第三个第一映射关系带入当前级联结果,得到更新后的当前级联结果,依此类推,直到进行级联的所有第一映射关系都级联完成后,得到第二映射关系。

在一个可选的实施例中,所述第一映射关系和第二映射关系为像素映射矩阵;

且步骤s21即所述根据所述映射顺序将第二个第一映射关系代入第一个第一映射关系中,得到当前级联结果的步骤,可以包括:

将所述第一个第一映射关系中任一矩阵位置处的第一值更新为第二值,所述第二值位于所述第二个第一映射关系中所述第一值指向的第二元素位置处。

该可选的实现方式中,第一映射关系可以包括映射矩阵,其中映射矩阵的每个元素可以指向一个矩阵位置,所指向的该矩阵位置可以与当前元素所在的位置相同也可以不同。在将第一个第一映射关系与第二个第一映射关系级联时,将第一个第一映射关系中任一矩阵位置处的第一值更新为第二个第一映射关系中一矩阵位置处的第二值,第二个第一映射关系中该一矩阵位置即为第一个第一映射关系中第一值所指向的矩阵位置,通过这种方式可以得到第一个第一映射关系与第二个第一映射关系的级联矩阵,之后可以通过同样的处理,将后续的第一映射关系与级联矩阵进行级联,最终得到第二映射关系。

在一个可选的实施例中,如图3所示,步骤s2即根据映射顺序将所述多个第一映射关系级联成第二映射关系的步骤可以包括:

步骤s31:将所述多个第一映射关系进行分组;其中每一个分组包括一个或多个第一映射关系;

步骤s32:对于每一个分组,根据映射顺序将所述多个第一映射关系进行级联,形成多个第二映射关系。

该可选的实施例中,还可以将多个第一映射关系进行分组,每组分别进行级联得到多个第二映射关系,之后再按照映射顺序分别使用多个第二映射关系对待映射图像进行映射。在一实施例中,可以通过第一映射关系的个数来判断是否进行分组;例如可以预先定义每次能够级联的第一映射关系的最多个数,在第一映射关系的总数超过预先定义的最多个数时,将多个第一映射关系进行分组,且每组所包括的第一映射关系的个数不超过最多个数。在其他实施例中,还可以通过其他条件触发对第一映射关系的分组,例如多个第一映射关系中所包括的参数(一些情况下,位置映射是通过参数计算实现的)超过预定数量,为了避免gpu处理不过来或者超负载运行,可以对第一映射关系进行分组。通过这种方式,可以对多个第一映射关系分组级联,以避免由于参数过多而影响系统正常运行的情况。

在一个可选的实施例中,步骤s31即将所述多个第一映射关系进行分组的步骤可以包括:

根据图像映射设备的处理能力将所述多个第一映射关系进行分组,以使每一个分组中多个第一映射关系中的第一参数总数在所述图像映射设备的处理能力范围之内。

该可选的实施例中,在将多个第一映射关系进行级联时,会涉及函数计算、变量的传递等;而不同的图像映射设备的处理能力不同,其能够处理的最大变量数量也不同。第一映射关系中包括参数的情况下,多个第一映射关系的级联时,总的参数数量可能会以指数级增加,最终的结果可能会导致图像映射设备无法同时处理这些参数。因此,对多个第一映射关系的级联可以限制在图像映射设备的处理能力范围之内,保证图像映射设备在运行过程中能够正常运行。此外,实际应用中,图像映射设备在进行图像映射处理的同时,可能还需要对其他操作做出响应,因此可以根据实际情况限制一组第一映射关系中的数量,以便图像映射设备在处理图像映射的过程中,还具备其他处理能力。通过这种方式,能够在图像映射过程中尽可能节省资源的情况下,保证图像映射设备的正常运行。

在一可选的实施例中,所述图像映射设备的处理能力包括所述图像映射设备执行一次渲染时能够接受的参数个数。

该可选的实现方式中,根据第二映射关系对待映射图像进行映射时,图像映射设备中的gpu都会对映射后的图像进行渲染。而每一次渲染时所能接受的参数个数也即处理能力基于硬件设备的性能不同而不同。对于同样的多个第一映射关系,性能较高的图像映射设备,其可以接受的参数个数较多,因此可以级联的第一映射关系个数也较多,分组相对少或者不需要分组,而性能较低的图像映射设备,其可以接受的参数个数较少,因此可以级联的第一映射关系个数也较少,需要分组或者分组相对较多。此外,除了考了图像映射设备执行一次渲染时所能够接受的参数个数之外,还可以考虑预留图像映射设备的一部分性能,用于对其他操作进行响应。通过这种方式,至少可以保证图像映射设备在进行图像映射时,不会因为渲染过程中参数过多而导致系统奔溃等异常情况发生。

在一个可选的实施例中,步骤s3即将根据所述第二映射关系对所述待映射图像进行映射的步骤可以包括:

以所述映射顺序按照多个所述第二映射关系将所述待映射图像进行映射。

该可选的实施例中,在将多个第一映射关系进行分组,并针对每组进行了级联的情况下,可以得到多个第二映射关系。这种情况下,可以利用多个第二映射关系对待映射图像进行多次映射,而映射顺序与第一映射关系的映射顺序保持一致。但是由于第二映射关系已经是对第一映射关系的级联结果,其数量会远小于第一映射关系的数量,此种情况下,即使对待映射图像进行了多次映射,相较于直接用多个第一映射关系对待映射图像进行映射而言,依然大大减少了映射次数,并且还保证了图像映射设备的正常运行。

在一个可选的实施例中,步骤s1即获取对待映射图像进行多次映射的多个第一映射关系之后,还可以包括:

根据预设采样分辨率对所述多个第一映射关系进行采样,得到采样后的多个第一映射关系。

步骤s2即根据映射顺序将所述多个第一映射关系级联成第二映射关系的步骤,可以包括:

根据映射顺序将采样后的所述多个第一映射关系级联成采样后的第二映射关系。

该可选的实施例中,该可选的实施例中,在待映射图像的分辨率较高时,由于第一映射关系是针对待映射图像上每个像素位置的位置映射关系,因此第一映射关系的分辨率也会较高,因此在级联过程中,所占用的资源也较多。因此,为了加快处理速度,节省设备资源,可以将第一映射关系进行向下低分辨率采样,即可以预先设置预设采样分辨率,进而利用预设采样分辨率对每个待级联的第一映射关系进行采用,以降低其分辨率。第一映射关系被向下低采样后,利用采样后的第一映射关系进行级联,得到分辨率较低的第二映射关系。通过这种方式,能够在待映射图像分辨率较高、级联第一映射关系涉及的计算量较大时,可以通过采样的方式减少计算量,节省资源,加快处理速度。

在一个可选的实施例中,根据映射顺序将采样后的所述多个第一映射关系级联成采样后的第二映射关系的步骤之后,还可以包括:

将采样后的第二映射关系进行插值,得到最终的第二映射关系;其中,所述最终第二映射关系的分辨率与采样前所述第一映射关系的分辨率相同。

该可选的实施例中,由于第一映射关系时采样后的,而级联得到的第二映射关系也是采样后的,其分辨率与待映射图像的分辨率不同,因此需要对第二映射关系进行插值,以得到与待映射图像分辨率相同的第二映射关系。第二映射关系的插值可以采用已有的一些图像插值法,也即利用已知邻近像素点的灰度值(或rgb图像中的三色值)来产生未知像素点的灰度值,以便由级联得到的第二映射关系再生出具有更高分辨率的最终第二映射关系;插值方法可以采用已有技术,例如最邻近插值、双线性插值、高阶插值等,本公开对此不做限制。在将第二映射关系插值后,利用插值后的第二映射关系对待映射图像进行映射。

在一个可选的实施例中,所述预设采样分辨率根据以下参数中的至少之一预先设置:图像映射设备的处理能力、实时性要求。

该可选的实现方式中,对第一映射关系进行采样的预设采样分辨率基于图像映射设备的处理能力、实时性要求、图像分辨率要求等进行。对于与待映射图像具有相同分辨率的第一映射关系进行级联时,如果分辨率高,则耗费的处理能力较多,而分辨率较低,则耗费的处理能力较少。因此如果图像映射的处理能力有限,则可以通过对第一映射关系进行采样的方式降低占用资源,因此可以设置在图像映射设备的处理能力范围之内的预设采样分辨率对第一映射关系进行采样,之后再进行级联。此外,图像映射设备对第一映射关系进行级联时,所占用资源较多,则会造成设备实时性下降,因此还可以考虑实时性的要求,设置预设采样分辨率,以便图像映射设备在对采样后的第一映射关系级联时,能够满足实时性要求。因此,在实际应用过程中,可以考虑图像映射设备的处理能力、实时性要求或者结合两者设置预设采样分辨率。

在上文中,虽然按照上述的顺序描述了上述方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。

下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。

为了解决如何提高用户体验效果的技术问题,本公开实施例提供一种图像映射装置。该装置可以执行上述图像映射方法实施例中所述的步骤。如图4所示,该装置主要包括:获取模块41、级联模块42和映射模块43。其中,获取模块41用于获取对待映射图像进行多次映射的多个第一映射关系;级联模块42用于根据映射顺序将所述多个第一映射关系级联成第二映射关系;映射模块43用于根据所述第二映射关系对所述待映射图像进行映射。

本实施例中获取模块41用于获取对待映射图像进行多次映射得多个第一映射关系,第一映射关系也可以认为是位置映射关系,用于将待映射图像上一位置a映射到另一位置b,即待映射图像映射后得到的结果图像中一位置a处的元素值等于另一位置b处的元素值。

本实施例中,级联模块42按照映射顺序先将多个第一映射关系进行级联,得到第二映射关系。对于第一映射关系为映射矩阵的情况,级联是指将顺序在前的第一映射关系中任一位置c处的元素值映射为顺序在后的第一映射关系中某一位置d处的元素值,其中该任一位置c处的元素值指向该某一位置d。需要说明的是,第二映射关系可以是一个也可以是多个,但是其数量小于第一映射关系的数量,也即可以根据实际情况将所有第一映射关系级联成一个第二映射关系,也可以将所有第一映射关系分成多组,对每组进行级联得到多个第二映射关系。

映射模块43在根据第二映射关系对待映射图像进行映射,可以是将待映射图像中任一位置按照第二映射关系映射到另一位置,也即将待映射图像上任一位置处的元素值变换为另一位置处的元素值。对于第二映射关系为映射矩阵的情况,映射矩阵元素值为位置坐标,用于将待映射图像上对应位置映射到该位置坐标。例如,第二映射关系中位置[0,0]处的元素值为[3,4],那么在映射以后,待映射图像上位置[0,0]处的元素值变换成待映射图像上位置[3,4]处的元素值。

上述图像映射装置与上述图1所示实施例中得图像映射方法对应一致,具体细节可参考上述对图像映射方法的描述,在此不再赘述。

本公开实施例中,在对待映射图像进行多次映射时,首先获得进行多次映射的多个第一映射关系,之后先对该多个第一映射关系进行级联,并利用级联得到的第二映射关系对待映射图像进行映射。已有技术中,在对待映射图像进行多次映射时,按照映射顺序基于映射关系逐个对待映射图像进行映射,而每进行一次图像映射,图形处理器(gpu)都会进行一次图像渲染,也即已有技术中,对待映射图像进行多少次映射,gpu就执行多少次的图像渲染,而图像渲染又非常耗费gpu资源,在待映射图像非常大,且映射关系中参数非常多的情况下,会极大地降低图像处理速度,降低用户体验。而本实施例中,在对映射关系进行级联时,不需要进行图像渲染,而仅仅在利用第二映射关系对待映射图像进行映射时才会执行图像渲染,渲染次数最低可以达到一次(所有第一映射关系被级联成一个第二映射关系的情况下),因此相较于已有技术,大大地节省了资源,提高了图像处理速度,从而提高了用户体验效果。

在一个可选的实施例中,所述级联模块42,包括:

第一级联子模块,用于根据所述映射顺序将第二个第一映射关系代入第一个第一映射关系中,得到当前级联结果;

第二级联子模块,用于根据所述映射顺序将其余第一映射关系依次代入当前级联结果进行更新,最终得到所述第二映射关系。

该可选的实现方式中,映射关系包括用于打乱待映射图像上像素位置的位置映射方式。对待映射图像进行多次映射时,理论上可以理解为将待映射图像上的像素位置按照第一个第一映射关系的位置映射方式打乱,之后再按照第二个第一映射关系的位置映射方式打乱像素位置,依此类推,直到按照最后一个第一映射关系的位置映射方式打乱像素位置。可以理解的是,多次映射实际上是对待映射图像上的像素位置进行了多次打乱。那么在实际操作过程中,为了节省资源,提高图像处理速度,可以先对多个第一映射关系进行级联,得到一个或几个第二映射关系,之后再利用第二映射关系对待映射图像进行映射。以函数表示的第一映射关系为例,第一映射关系中包括将待映射图像上的任一位置进行计算后得到另一个位置的一组函数表示,而映射顺序中的前后两个第一映射关系就可以看作是对待映射图像上任一位置进行先后两次计算后得到另一个位置的两组函数表示。因此,可以先对映射顺序中的前后两个第一映射关系进行级联,也即将后一第一映射关系所包括的一组函数表示分别代入前一第一映射关系的一组函数表示中,得到一组函数表示,也即将两组函数表示合成为一组函数表示,最终的结果是利用该组合成的函数表示对待映射图像进行映射得到的结果,与利用前后两个第一映射关系中的两组函数表示分别对待映射图像进行映射的效果是一样的。多个第一映射关系的级联与上述两个第一映射关系的级联类似,按照映射顺序第二个第一映射关系代入第一个第一映射关系后得到当前级联结果,之后再将第三个第一映射关系带入当前级联结果,得到更新后的当前级联结果,依此类推,直到进行级联的所有第一映射关系都级联完成后,得到第二映射关系。

在一个可选的实施例中,所述第一映射关系和第二映射关系为像素映射矩阵;

所述第一级联子模块,包括:

更新子模块,用于将所述第一个第一映射关系中任一矩阵位置处的第一值更新为第二值,所述第二值位于所述第二个第一映射关系中所述第一值指向的第二元素位置处。

该可选的实现方式中,第一映射关系可以包括映射矩阵,其中映射矩阵的每个元素可以指向一个矩阵位置,所指向的该矩阵位置可以与当前元素所在的位置相同也可以不同。在将第一个第一映射关系与第二个第一映射关系级联时,将第一个第一映射关系中任一矩阵位置处的第一值更新为第二个第一映射关系中一矩阵位置处的第二值,第二个第一映射关系中该一矩阵位置即为第一个第一映射关系中第一值所指向的矩阵位置,通过这种方式可以得到第一个第一映射关系与第二个第一映射关系的级联矩阵,之后可以通过同样的处理,将后续的第一映射关系与级联矩阵进行级联,最终得到第二映射关系。

在一个可选的实施例中,所述级联模块42,包括:

第一分组子模块,用于将所述多个第一映射关系进行分组;其中每一个分组包括一个或多个第一映射关系;

第三级联子模块,用于对于每一个分组,根据映射顺序将所述多个第一映射关系进行级联,形成多个第二映射关系。

该可选的实施例中,还可以将多个第一映射关系进行分组,每组分别进行级联得到多个第二映射关系,之后再按照映射顺序分别使用多个第二映射关系对待映射图像进行映射。在一实施例中,可以通过第一映射关系的个数来判断是否进行分组;例如可以预先定义每次能够级联的第一映射关系的最多个数,在第一映射关系的总数超过预先定义的最多个数时,将多个第一映射关系进行分组,且每组所包括的第一映射关系的个数不超过最多个数。在其他实施例中,还可以通过其他条件触发对第一映射关系的分组,例如多个第一映射关系中所包括的参数(一些情况下,位置映射是通过参数计算实现的)超过预定数量,为了避免gpu处理不过来或者超负载运行,可以对第一映射关系进行分组。通过这种方式,可以对多个第一映射关系分组级联,以避免由于参数过多而影响系统正常运行的情况。

在一个可选的实施例中,所述第一分组子模块,包括:

第二分组子模块,用于根据图像映射设备的处理能力将所述多个第一映射关系进行分组,以使每一个分组中多个第一映射关系中的第一参数总数在所述图像映射设备的处理能力范围之内。

该可选的实施例中,在将多个第一映射关系进行级联时,会涉及函数计算、变量的传递等;而不同的图像映射设备的处理能力不同,其能够处理的最大变量数量也不同。第一映射关系中包括参数的情况下,多个第一映射关系的级联时,总的参数数量可能会以指数级增加,最终的结果可能会导致图像映射设备无法同时处理这些参数。因此,对多个第一映射关系的级联可以限制在图像映射设备的处理能力范围之内,保证图像映射设备在运行过程中能够正常运行。此外,实际应用中,图像映射设备在进行图像映射处理的同时,可能还需要对其他操作做出响应,因此可以根据实际情况限制一组第一映射关系中的数量,以便图像映射设备在处理图像映射的过程中,还具备其他处理能力。通过这种方式,能够在图像映射过程中尽可能节省资源的情况下,保证图像映射设备的正常运行。

在一可选的实施例中,所述图像映射设备的处理能力包括所述图像映射设备执行一次渲染时能够接受的参数个数。

该可选的实现方式中,根据第二映射关系对待映射图像进行映射时,图像映射设备中的gpu都会对映射后的图像进行渲染。而每一次渲染时所能接受的参数个数也即处理能力基于硬件设备的性能不同而不同。对于同样的多个第一映射关系,性能较高的图像映射设备,其可以接受的参数个数较多,因此可以级联的第一映射关系个数也较多,分组相对少或者不需要分组,而性能较低的图像映射设备,其可以接受的参数个数较少,因此可以级联的第一映射关系个数也较少,需要分组或者分组相对较多。此外,除了考了图像映射设备执行一次渲染时所能够接受的参数个数之外,还可以考虑预留图像映射设备的一部分性能,用于对其他操作进行响应。通过这种方式,至少可以保证图像映射设备在进行图像映射时,不会因为渲染过程中参数过多而导致系统奔溃等异常情况发生。

在一个可选的实施例中,所述映射模块43,包括:

第一映射子模块,用于以所述映射顺序按照多个所述第二映射关系将所述待映射图像进行映射。

该可选的实施例中,在将多个第一映射关系进行分组,并针对每组进行了级联的情况下,可以得到多个第二映射关系。这种情况下,可以利用多个第二映射关系对待映射图像进行多次映射,而映射顺序与第一映射关系的映射顺序保持一致。但是由于第二映射关系已经是对第一映射关系的级联结果,其数量会远小于第一映射关系的数量,此种情况下,即使对待映射图像进行了多次映射,相较于直接用多个第一映射关系对待映射图像进行映射而言,依然大大减少了映射次数,并且还保证了图像映射设备的正常运行。

在一个可选的实施例中,所述获取模块41之后,包括:

采样模块,用于根据预设采样分辨率对所述多个第一映射关系进行采样,得到采样后的多个第一映射关系;

所述级联模块42,包括:

第四级联子模块,用于根据映射顺序将采样后的所述多个第一映射关系级联成采样后的第二映射关系。

该可选的实施例中,该可选的实施例中,在待映射图像的分辨率较高时,由于第一映射关系是针对待映射图像上每个像素位置的位置映射关系,因此第一映射关系的分辨率也会较高,因此在级联过程中,所占用的资源也较多。因此,为了加快处理速度,节省设备资源,可以将第一映射关系进行向下低分辨率采样,即可以预先设置预设采样分辨率,进而利用预设采样分辨率对每个待级联的第一映射关系进行采用,以降低其分辨率。第一映射关系被向下低采样后,利用采样后的第一映射关系进行级联,得到分辨率较低的第二映射关系。通过这种方式,能够在待映射图像分辨率较高、级联第一映射关系涉及的计算量较大时,可以通过采样的方式减少计算量,节省资源,加快处理速度。

在一个可选的实施例中,所述第四级联子模块之后,包括:

插值模块,用于将采样后的第二映射关系进行插值,得到最终第二映射关系;其中,所述最终第二映射关系的分辨率与采样前所述第一映射关系的分辨率相同。

该可选的实施例中,由于第一映射关系时采样后的,而级联得到的第二映射关系也是采样后的,其分辨率与待映射图像的分辨率不同,因此需要对第二映射关系进行插值,以得到与待映射图像分辨率相同的第二映射关系。第二映射关系的插值可以采用已有的一些图像插值法,也即利用已知邻近像素点的灰度值(或rgb图像中的三色值)来产生未知像素点的灰度值,以便由级联得到的第二映射关系再生出具有更高分辨率的最终第二映射关系;插值方法可以采用已有技术,例如最邻近插值、双线性插值、高阶插值等,本公开对此不做限制。在将第二映射关系插值后,利用插值后的第二映射关系对待映射图像进行映射。

在一个可选的实施例中,所述预设采样分辨率根据以下参数中的至少之一预先设置:图像映射设备的处理能力、实时性要求。

该可选的实现方式中,对第一映射关系进行采样的预设采样分辨率基于图像映射设备的处理能力、实时性要求、图像分辨率要求等进行。对于与待映射图像具有相同分辨率的第一映射关系进行级联时,如果分辨率高,则耗费的处理能力较多,而分辨率较低,则耗费的处理能力较少。因此如果图像映射的处理能力有限,则可以通过对第一映射关系进行采样的方式降低占用资源,因此可以设置在图像映射设备的处理能力范围之内的预设采样分辨率对第一映射关系进行采样,之后再进行级联。此外,图像映射设备对第一映射关系进行级联时,所占用资源较多,则会造成设备实时性下降,因此还可以考虑实时性的要求,设置预设采样分辨率,以便图像映射设备在对采样后的第一映射关系级联时,能够满足实时性要求。因此,在实际应用过程中,可以考虑图像映射设备的处理能力、实时性要求或者结合两者设置预设采样分辨率。

有关图像映射装置实施例的工作原理、实现的技术效果等详细说明可以参考前述图像映射方法实施例中的相关说明,在此不再赘述。

图5是图示根据本公开的实施例的图像映射硬件装置的硬件框图。如图5所示,根据本公开实施例的图像映射硬件装置50包括存储器51和处理器52。

该存储器51用于存储非暂时性计算机可读指令。具体地,存储器51可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。

该处理器52可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制图像映射硬件装置50中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器52用于运行该存储器51中存储的该计算机可读指令,使得该图像映射硬件装置50执行前述的本公开各实施例的图像映射方法的全部或部分步骤。

本领域技术人员应能理解,为了解决如何获得良好用户体验效果的技术问题,本实施例中也可以包括诸如通信总线、接口等公知的结构,这些公知的结构也应包含在本公开的保护范围之内。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

图6是图示根据本公开的实施例的计算机可读存储介质的示意图。如图6所示,根据本公开实施例的计算机可读存储介质60,其上存储有非暂时性计算机可读指令61。当该非暂时性计算机可读指令61由处理器运行时,执行前述的本公开各实施例的图像映射方法的全部或部分步骤。

上述计算机可读存储介质60包括但不限于:光存储介质(例如:cd-rom和dvd)、磁光存储介质(例如:mo)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置rom的媒体(例如:rom盒)。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

图7是图示根据本公开实施例的终端设备的硬件结构示意图。如图7所示,该图像映射终端70包括上述图像映射装置实施例。

该终端设备可以以各种形式来实施,本公开中的终端设备可以包括但不限于诸如移动电话、智能电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置、车载终端设备、车载显示终端、车载电子后视镜等等的移动终端设备以及诸如数字tv、台式计算机等等的固定终端设备。

作为等同替换的实施方式,该终端还可以包括其他组件。如图7所示,该图像特效处理终端70可以包括电源单元71、无线通信单元72、a/v(音频/视频)输入单元73、用户输入单元74、感测单元75、接口单元76、控制器77、输出单元78和存储单元79等等。图7示出了具有各种组件的终端,但是应理解的是,并不要求实施所有示出的组件,也可以替代地实施更多或更少的组件。

其中,无线通信单元72允许终端70与无线通信系统或网络之间的无线电通信。a/v输入单元73用于接收音频或视频信号。用户输入单元74可以根据用户输入的命令生成键输入数据以控制终端设备的各种操作。感测单元75检测终端70的当前状态、终端70的位置、用户对于终端70的触摸输入的有无、终端70的取向、终端70的加速或减速移动和方向等等,并且生成用于控制终端70的操作的命令或信号。接口单元76用作至少一个外部装置与终端70连接可以通过的接口。输出单元78被构造为以视觉、音频和/或触觉方式提供输出信号。存储单元79可以存储由控制器77执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据。存储单元79可以包括至少一种类型的存储介质。而且,终端70可以与通过网络连接执行存储单元79的存储功能的网络存储装置协作。控制器77通常控制终端设备的总体操作。另外,控制器77可以包括用于再现或回放多媒体数据的多媒体模块。控制器77可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。电源单元71在控制器77的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。

本公开提出的图像映射方法的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,本公开提出的图像特效处理方法的各种实施方式可以通过使用特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,本公开提出的图像映射方法的各种实施方式可以在控制器77中实施。对于软件实施,本公开提出的图像映射方法的各种实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储单元79中并且由控制器77执行。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“a、b或c的至少一个”的列举意味着a或b或c,或ab或ac或bc,或abc(即a和b和c)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

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