CN104732479A - 对图像进行调整大小 - Google Patents

对图像进行调整大小 Download PDF

Info

Publication number
CN104732479A
CN104732479A CN201410802540.1A CN201410802540A CN104732479A CN 104732479 A CN104732479 A CN 104732479A CN 201410802540 A CN201410802540 A CN 201410802540A CN 104732479 A CN104732479 A CN 104732479A
Authority
CN
China
Prior art keywords
image
spatial domain
conversion
reference mark
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410802540.1A
Other languages
English (en)
Other versions
CN104732479B (zh
Inventor
F·米歇尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Dassault Systemes of America Corp
Original Assignee
Dassault Systemes of America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dassault Systemes of America Corp filed Critical Dassault Systemes of America Corp
Publication of CN104732479A publication Critical patent/CN104732479A/zh
Application granted granted Critical
Publication of CN104732479B publication Critical patent/CN104732479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明尤其涉及用于对图像I进行调整大小的计算机实现的方法。所述方法包括如下步骤:-提供要调整大小的图像I;-通过计算要调整大小的图像中的每一个像素的有效性来提供图像有效性;-提取所述有效性图像的原始空间域;-提供变换Tθ,所述变换Tθ由控制点的集合参数化为插值样条,所述变换Tθ从Ω到调整大小后的空间域Ω';-将Ω细分为单元,每一个单元由所述控制点的集合中的子集限定;-针对每一个单元,计算所述单元中像素的有效性的加权平均值,所述加权平均值使用插值样条来进行计算;-通过将具有更小加权平均值的单元的一个或多个控制点进行移位来对Ω的单元进行变形;-使用被移位的一个或多个控制点来计算所述图像I的空间域上的变换Tθ;-通过将计算出的变换Tθ应用至要调整大小的图像I的空间域上来计算调整大小后的图像J。

Description

对图像进行调整大小
技术领域
本发明涉及计算机程序和系统的领域,并且更具体地涉及用于对图像进行调整大小的方法、系统以及程序。
背景技术
感知内容的图像重新定向涉及图像处理,在图像处理中,根据其内容来对图像进行调整大小。在不移除图像的像素(与图像裁剪相反)或不使相关的内容失真(与图像缩放相反,其中减小了像素大小)的情况下来改变图像的大小。
在Seam carving for content-aware image resizing(作者Avidan和Shamir,在proceeding of SIGGRAPH'07ACM SIGGRAPH 2007,Article No.10)中,相邻像素的垂直和水平线从图像中移除,以减小图像的大小。通过添加相邻像素的线来完成对图像大小的增加。执行对图像有效性成本的计算,以便驱动算法并且告知算法要移除相邻像素的哪条线。
然而,细缝裁剪可能在图像中产生伪像,这是因为当移除垂直线条时只移除了图像中的每行的一个像素。所述移除在图像中产生了间断,所述间断也是这类方法的特性。
一次性移除一个像素或一组像素是分立的变换方法的特性。然而,这样的分立的变换方法全部经受了相同的缺陷;由于通过移除或聚集开始不连续的像素而产生的间断,所以这样的分立的变换方法会产生严重的伪像。
分立的变换方法与连续变换方法的不同,在连续的变换方法中,连续的数学函数向像素指派新的位置,并且由于这些位置并不总是整数位置而计算机存储器中表示的图像像素的位置却总是整数,所以需要插值(线性、二次......)来恢复图像。公知的连续变换方法通常通过插值来处理应用至图像的连续变换。
然而,这些变换也仅仅是被限定在图像上的单元中的仿射收缩,并且同样,这些变换在可能产生伪像的图像上只是分段平滑的,尤其是在单元的边缘处。这些方法还需要清楚地计算折叠,即,当变换使其自身折回时,像素简单地从图像中消失,导致令人不悦的视觉结果。
在这样的情况下,仍需要一种用于对图像进行调整大小的改进方法。
发明内容
因此,本发明提供了用于对图像I进行调整大小的计算机实现的方法。所述方法包括如下步骤:
-提供要调整大小的图像I;
-通过计算要调整大小的图像中的每一个像素的有效性来提供图像有效性;
-提取所述有效性图像的原始空间域;
-提供变换Tθ,所述变换Tθ由控制点的集合从所述原始空间域到调整大小后的空间域被参数化为插值样条;
-将所述原始空间域细分为单元,每一个单元由所述控制点的集合的子集来进行限定;
-针对每一个单元,计算所述单元中的像素的有效性的加权平均值,使用所述插值样条来进行计算所述加权平均值;
-通过将具有更小的加权平均值的单元的一个或多个控制点进行移位来使所述原始空间域的单元变形;
-使用被移位的一个或多个控制点来计算所述图像I的空间域上的变换Tθ
-通过将所计算的变换Tθ应用至要调整大小的图像I的空间域,来计算调整大小后的图像J。
所述方法可以包括如下内容中的一个或多个:
-所提供的变换Tθ为微分同胚变换Tθ,使得J(x)=I(Tθ -1(x)),其中,I为要调整大小的图像,J为调整大小后的图像,x为所述原始空间域(Ω)中给定像素的位置;
-所述微分同胚变换Tθ由方程式Tθ=x+uθ(x)定义,其中,x为所述原始空间域(Ω)中给定像素的位置,并且uθ(x)是移位函数,其中u是从所述原始空间域(Ω)到调整大小后的空间域(Ω')的映射;
-变换Tθ被参数化为自由变形插值样条,并且其中,移位函数uθ(x)由如下方程式限定:
其中,B0、B1、B2、B3是三次B-样条函数,θ是表示控制点的函数,sw是水平方向上两个控制点之间的空间,sh是垂直方向上两个控制点之间的空间,xw是在水平轴上原始空间域(Ω)中de像素的位置,xh是在垂直轴上原始空间域(Ω)中的像素的位置;
-控制点的集合形成栅格,并且θ是表示控制点的栅格的函数;
-针对每一个单元计算单元中的像素的有效性的加权平均值的步骤利用如下函数执行:其中,Ω(i,j)是所述原始空间域(Ω)的分区,s(x)表示所提供的有效性图像;
-所述分区Ω(i,j)是由所述单元覆盖的域;
-从所述有效性图像中提取的原始空间域(Ω)与要调整大小的图像I的空间域(Ω)相同;
-计算调整大小后的图像J的步骤包括减小或增大所述图像大小。
本发明进一步提供了包括用于执行所述方法的指令的计算机程序。
本发明进一步提供了在其上记录了所述计算机程序的计算机可读存储介质。
本发明进一步提供了包括耦合至存储器的处理器的系统,所述存储器在其上记录了所述计算机程序。
附图说明
现在作为非限制性示例并且参考附图,来对本发明的实施例进行描述,在附图中:
-图1示出了本方法的示例的流程图;
-图2示出了根据本发明的用于执行内容感知的图像重新定向的计算机程序的计算模块的示例;
-图3和图4示出了图像有效性计算的示例;
-图5和图6示出了概要图像计算的示例;
-图7示出了正向映射变换的示例;
-图8示出了反向映射变换的示例;
-图9示出了B-样条插值栅格的示例;
-图10示出了B-样条插值栅格的控制点的移位效果的示例;
-图11示出了要调整大小的原始图像I;
-图12示出了图11中图像的有效性图像;
-图13示出了用于对变换进行编码的B-样条插值栅格;
-图14示出了图12中有效性图像的概要图像;
-图15示出了图13中栅格的示例,通过减小具有最大有效性的栅格列来对所述栅格进行变形;
-图16示出了通过将变换应用到图11的原始图像I上而获得的调整大小后的图像;
-图17示出了用于执行根据本发明的方法的计算机系统的示例。
具体实施方式
参考图1的流程图,提出了用于对图像I进行调整大小的计算机实现的方法。所述方法包括提供要调整大小的图像I的步骤。所述方法进一步包括:计算要调整大小的图像I中的每一个像素的有效性以及提供图像有效性。图像有效性逐个像素地描述了要调整大小的图像I的有效性。所述方法还包括:提取有效性图像的原始空间域(Ω)。该方法进一步包括:提供被表示为Tθ的变换,变换Tθ由控制点的集合参数化为插值样条。所述变换是从原始空间域(Ω)到调整大小后的空间域(Ω')的映射。此外,所述方法包括:将原始空间域(Ω)细分为单元。每一个单元都由控制点的集合中子集限定。所述方法进一步包括:针对每一个单元,计算单元中的像素的有效性的加权平均值。加权平均值使用插值样条来进行计算。所述方法还包括:通过将具有更小的加权平均值的单元中的一个或多个控制点移位来使原始空间域(Ω)中的单元变形。而且,所述方法包括:使用被移位的一个或多个控制点来计算要调整大小的图像I的空间域上的变换Tθ。所述方法进一步包括:通过将计算出的变换Tθ应用至要调整大小的图像I的空间域来计算调整大小后的空间域(Ω')上的调整大小后的图像J。
这样的方法通过防止图像中的任何折叠并且避免可能出现的伪像而改进了对图像进行的调整大小。此外,所述方法提供了使用标准压缩算法更加容易地压缩的调整大小后的图像。实际上,被应用至要调整大小的图像I上的变换Tθ的参数定义了利用插值样条的控制点的集合进行局部控制的全局变换。该变换是连续的也是可逆的,并且该变换的衍生物同样是连续的和可逆的。因此,本发明在图像中产生了更加平滑的变换,使得人眼看上去更加自然,这是因为该变换的特性防止了图像中的任何折叠并且避免了可能出现在单元边缘上的伪像。此外,根据本发明进行调整大小的图像通过标准压缩算法(例如JPEG、JPEG200)更加容易地被压缩,所述标准压缩算法极大地依赖于用于描述图像的特性的不连续性:图像具有的不连续越多,压缩文件就越大。因此,通过限制图像衍生物中的不连续,就可以使用更高的压缩率。
该方法是计算机实现的方法。这意味着该方法的步骤(或者基本上是所有步骤)至少由计算机或任何相似的系统执行。因此,该方法的步骤由计算机可能全自动地或者半自动地执行。在示例中,对该方法的至少一些步骤的触发可以通过用户-计算机交互来执行。所需要的用户-计算机交互的水平可以取决于自动预见的水平并且与实现用户希望的需要相平衡。在示例中,所述水平可以是用户限定的和/或预定义的。
例如,提供要调整大小的图像I的步骤可以在用户行动时执行,所述用户行动即用户选择要被调整大小的图像。所述选择可以如本领域中公知的方法来执行,例如,可以经由触觉设备(例如,键盘、鼠标、触针、触摸屏等)来执行选择。例如,在双键鼠标中,左键可以用于选择图像。系统还可以通过默认来识别图像,即,不需要用户选择。
所述方法的计算机实现的典型示例是使用适用于该目的的系统来执行所述方法。系统可以包括耦合至存储器和图形用户界面(GUI)的处理器,所述存储器在其上记录了包括用于执行所述方法的指令的计算机程序。所述存储器还可以存储数据库。所述存储器是适用于这样的存储的任何硬件,所述这样的存储可能包括几个物理上不同的部分(例如,一部分用于程序,而可能另一部分用于数据库)。
图17示出了计算机系统的示例,所述计算机系统中处理器耦合至存储器。处理器可以耦合至图形用户界面,例如,用于显示调整大小后的图像。
所述示例中的客户端计算机包括连接至内部通信总线1000的中央处理单元(CPU)1010、以及同样连接至总线的随机存取存储器(RAM)1070。所述客户端计算机进一步被提供有图形处理单元(GPU)1110,所述图形处理单元1110与连接至总线的视频随机存取存储器1100相关联。视频RAM1100在本领域中也被称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(例如,硬盘驱动器1030)的访问。适合用于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,例如,包括:半导体存储设备(例如,EPROM、EEPROM和闪速存储器设备);磁盘(例如,内部硬盘和可移动盘);磁光盘;以及CD-ROM盘1040。上述的任何存储器都可以由专门设计的ASIC(专用集成电路)补充或将任何上述任何存储器可以并入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备(例如,光标控制设备、键盘等)。光标控制设备用于在客户端计算机中允许用户选择性地将光标定位在显示器1080上任何期望的位置。此外,光标控制设备允许用户选择各种命令和输入控制信号。光标控制设备包括用于向系统输入控制信号的多个信号生成设备。通常,光标控制设备可以是鼠标,鼠标的按键用于生成信号。可替换地或另外,客户端计算机系统可以包括触敏板和/或触敏屏。
计算机程序可以包括由计算机可执行的指令,所述指令包括用于使上述系统执行所述方法的单元。所述程序可以被记录在任何数据存储介质上,包括系统的存储器。所述程序例如可以实现在数字电子电路或者计算机硬件、固件、软件或其结合中。所述程序可以被实现为装置,例如有形地体现在机器可读存储设备中用于由可编程处理器执行的产品。方法步骤可以由执行程序的指令的可编程处理器执行,用于通过操作输入数据并且生成输出数据来执行所述方法的功能。处理器因此可以是可编程的并且耦合到数据存储系统用于从至少一个输入设备接收数据和指令以及向至少一个输出设备发送数据和指令。应用程序可以以高级程序编程语言或面向对象的编程语言或者如果需要以汇编语言或机器语言实现。在任何情况下,语言可以是编译语言或解释语言。程序可以是完整的安装程序或更新程序。在任何情况下,系统上的程序的应用产生用于执行所述方法的指令。
返回参考图1中的流程图,在步骤S10中,提供了要调整大小的图像I。提供图像(例如,要调整大小的图像I)意味着该图像对于执行根据本发明的方法的系统而言是可用的。例如,该图像可以被暂时存储在计算机的存储器中,并且由计算机程序访问、由包括用于执行所述方法的指令的计算机执行。换句话说,步骤S10就是输入要调整大小的图像I。图像可以也可以不在例如图17中的显示器1080上向用户显示。
图像可以具有但不限于向量或光栅格式。在图像具有光栅格式的事件中,根据本发明的方法可以直接在位图像素阵列上执行。在图像具有向量格式的事件中,要调整大小的图像被转换为光栅格式,在所述光栅格式上执行根据本发明的方法。
仅出于进行解释说明的原因,现在将讨论图像的数学定义。图像是从空间域Ω(空间域Ω具有大小d)到图像值的空间V(V具有大小c)的映射。不对Ω或V的性质进行假设,以便将图像定义为具有最通用的意义。
例如,在跨域计算机存储器上256级灰阶的大小为m×n的二维(2D)图像I可以被定义为映射(方程式1):
在该示例中,空间域Ω具有大小d=2,并且图像值的空间V具有大小c=1。该2D图像可以被认为是分立的图像,因为其被定义在分立的空间域Ω上。这与定义在形式为的空间域Ω上的连续图像相反。
分立的变换通常指作用在分立的图像上的变换,而连续变换作用在连续的图像。由于只有分立的图像空间才可以被表示在计算机的存储器中,所以数值方法(例如,插值)被用于计算在整数位置处的图像的值,如本领域中公知的。
在步骤S20中,通过计算要调整大小的图像I中的每一个像素的有效性来提供图像I的图像有效性S。图像有效性被限定为与图像的每一个像素相关联的成本。所述成本直接相联系到像素传递的信息量。由像素传递的信息的量可以为但不限于,图像中像素的相关性,例如,该相关性可以由用户确定。图像I的像素的有效性对用于图像的完整性的像素的重要性进行了量化。因此,图像I的图像有效性显示了比其它像素传递更多信息的图像I中的像素。
例如,在图3中,减少物像的左边和右边的白色区域不会改变对该景象的视觉理解,事实上,旁观者从图3的图像和减少了白色区域的图像中得到的信息是相同的。在不对视觉外观进行重大修改就无法调节内容的区域中,理想的图像有效性将具有更大的值。
在实践中,图像有效性本身被表示图像。而且,图像和有效性图像二者的空间域相同,换句话说,两个图像中的像素位置表示相同的空间位置。
被指派给有效性图像的每一个像素的值表示由像素传递的信息量。这在图4中示出,图4显示了从图3的图像中获得的有效性图像:在图4中,更暗的区域表示高信息内容区域。有效性图像的呈现允许容易地理解,所有白色区域都可以被减少而不会较大地影响图像整体信息能力。
本领域中公知的任何图像有效性计算方法都可以使用。例如,可以使用用于计算图像有效性的最基本的方法:图像梯度模方的平滑化版本,其中,平滑化可以使用2D高斯滤波器来完成。图4示出了对图3中的图像的梯度模方进行平滑后的图3中的图像。作为图像有效性计算的另一个示例,可以使用图像显著性计算。图像显著性旨在找出用于图像分段的图像相关部分。令人感兴趣的是,当图像不是静态的而是动态的(例如,图像是视频的情况下)时,图像有效性还可以通过使用移动信息来进行计算。当对视频进行重新定向时,这对于保持视频的重新定向的帧之间的时间一致性尤其有用。移动信息通常被编码为图像的光流并且可以使用本领域中任何公知的技术来进行计算。
接下来,在步骤S30中,提取有效性图像的原始空间域。所述原始空间域被表示为Ω。空间域是数字图像由其像素的空间坐标(通常情况下,在2D图像的情况中为x、y,)限定的域(例如,平面)。正如所讨论的,有效性图像的空间域可以与要调整大小的图像I的空间域相同。在有效性图像和图像I的空间域二者相同的情况下,两个图像中的像素位置表示相同的空间位置。
接下来,在步骤S40中,提供了被表示为Tθ的变换。Tθ由从原始空间域(Ω)到调整大小后的空间域(Ω')的控制点的集合参数化为插值样条。
术语“变换”是指应用至图像I的像素位置的运算符,并且其对I的现有像素的位置进行移位,从而产生调整大小后的图像J。因此,变换作用在像素坐标上,而不是作用在其值上。任何种类的变换都是可能的,从分立的变换到连续变换的变换,在分立的变换中,只涉及要调整大小的图像I的像素坐标的子集,在连续变换中,涉及图像I的所有像素。变换被表示为Tθ,其中T是为了指出变换,并且θ是为了指出变换的参数,这将在后文中进行解释。
出于解释的目的,现在将讨论变换Tθ的数学定义。图像变换(例如,变换Tθ),是从输入空间域Ω到输出空间域Ω'的映射。输入空间域Ω可以是在步骤S30中提取的有效性图像的原始空间域。输出空间域Ω'可以是调整大小后的图像J的空间域。Ω'是Ω的调整大小后的版本。Ω与Ω'具有相同的密度。术语“密度”描述了空间内的值的类型(实数、量化值、整数值......),但可能具有不同的范围。变换具有从Ω到Ω'的映射的所有特性,即,如果该映射是线性的,那么该变换也被认为是线性的,如果该映射是连续的,那么变换也是连续的。
调整大小后的图像J被定义为应用了变换Tθ的要调整大小的图像I。因此,对于Ω中的像素的所有位置x,一个位置应用如下方程式(方程式2):
J(Tθ(x))=I(x)
换句话说,在像素的每一个新的位置y=Tθ(x)中,值I(x)复制在J(y)中。不能修改像素的值,只可以修改其位置。像素从要调整大小的图像的坐标框架中“正向”移动到调整大小后的图像;在这样的情况下执行正向映射,如图7所示,其中,阴影正方形示出了空像素,这是因为变换映射到了新图像中的非整数位置。
令人感兴趣的是,变换Tθ可以是可逆的。也就是说,变换可以被逆转。在这样的情况下,对于要调整大小的图像I的空间域Ω中的所有位置x而言,一个位置应用如下方程式J(x)=I(Tθ -1(x))(方程式3):
方程式3的结果是,调整大小后的图像J中的每一个像素将被指派图像I中的一个位置。像素从调整大小后的图像J的坐标框架中“反向”移动到要调整大小的图像I;在这样的情况下执行反向映射,如图8所示。由于当处理原始位置空间中的非整数位置时,插值方案是可能的,所以可以执行反向映射。在实践中,可以使用任何变换逆转方案。例如,可以使用GaryE.Christensen、Hans J.Johnson:Consistent Image Registration.IEEE Trans.Med.Imaging20(7):508-582(2001)中讨论的逆转方案。
步骤S40中提供的变换Tθ可以为微分同胚变换Tθ。微分同胚变换是连续的、双射的、可区别的并且具有双射衍生的变换,其逆转变换也是连续的和可区别的。有利地,微分同胚变换能以平滑的方式对要调整大小的图像进行变换,而不会产生任何伪像,甚至是在要调整大小的图像的衍生物中也不会产生任何伪像。这与分段平滑变换相反,在分段平滑变换中,输入空间域Ω被进行分区,这在分区的边缘上产生了伪像。这些伪像中的每一个都会产生致使图像更不容易压缩的高频。微分同胚变换的另一个优点在于变换是可逆的:看起来不自然的所有变换都被丢弃,因此避免了众所周知的折叠问题。实际上,当变换在一个地点不可以逆时,我们可以获得:在空间域Ω中的两个不同的像素位置映射到调整大小后的空间域Ω'中的相同的像素位置。这就引起图像自身被折叠了的视觉效果。
对变换Tθ进行参数化。这意味着变换没有在整个空间域Ω上被清楚地进行,这是因为由于空间域Ω可能非常大(可能为无限大),所以在计算上是不现实的。被参数化的变换可以在Ω中的每一个以及各个位置处进行评估,但是只针对比Ω的基数更小的有限数量的参数。
变换Tθ被参数化为插值样条。如本领域中公知的,样条是分段定义的多项式函数,取决于样条的次数,各个分段之间的连接处的平滑度可以进行设定。分段连接中的样条的平滑度也是样条的整体平滑度。样条具有控制点,也被称为插值节点。控制点的移位会修改样条的形状。因此,变换Tθ由对Tθ进行参数化的插值样条的控制点的集合来进行参数化。
可以考虑任何类型的样条来对变换函数Tθ进行参数化。在实践中,存在尤其适用于图像处理的样条,例如但不限于:
-薄板样条,在IEEE Transactions on Pattern Analysis and MachineIntelligence archive,Volume 11Issue 6,1989年6月,第567-585页中的Bookstein,Fred L.“Principal warps:Thin-plate splines and the decompositionof deformations.”中进行了讨论;
-自由变形,在Proceeding of SIGGRAPH’86Proceeding of the 13th annualconference on Computer graphics and interactive techniques,第151-160页中的Sederberg、Thomas W.以及Scott R.Parry.“Free-form deformation of solidgeometric models”中进行了讨论;
-非均匀有理B-样条或NURBS,在Piegl、Les A.以及Wayne Tiller.“TheNURBS book”中进行了讨论。
变换是从输入空间域Ω到输出空间域Ω'的映射。对于每一个像素,变换Tθ可以是像素位置x与其移位uθ(x)的和,其中uθ是从Ω到Ω'的映射。对于Ω中的所有位置x,变换Tθ可以由如下方程式(方程式4)表示:
Tθ=x+uθ(x)
使用变换Tθ的这样的表示有利地允许按照对像素进行移位而没有共性的损耗来表示Tθ。变换被分解为与其位置和像素位置的实际移位相关联的部分,甚至当移位相当小(在较大的域上)时,变换也可以相当大。
现在参考图9,图9示出了被定义在从有效性图像提取出的原始空间域Ω上的控制点的集合的示例。附带地,我们可以注意到若干个控制点在原始空间域Ω的外面。在本示例中,原始空间域Ω具有大小d=2,并且由阴影长方形表示。所述控制点的集合控制对变换Tθ进行参数化的插值样条的参数,并且所述控制点的集合由黑点表示。仅为了解释,将集中讨论自由变形(FFD)插值样条。
每一个控制点位置中的位置可以被表示为θ(i,j),其中,θ(i,j)是表示(i,j)控制点的位置的2D向量。控制点分别利用索引i和j从左到右以及从上到下任意地编入索引。水平方向上的两个控制点之间的空间可以表示为sw,并且垂直方向上的两个控制点之间的空间可以表示为sh,以相同的方式,原始空间域Ω中的位置x在水平轴上的投射为xw,并且原始空间域Ω中的位置x在垂直轴上的投影为xh。要调整大小的图像I的空间域也被认为是从左到右以及从上到下的定向。
水平方向和垂直方向是任意选择的,并且可以使用参考坐标系(x,y)来进行限定。例如,在图9中,参考坐标系由具有同源的两个箭头表示,所述参考坐标系位于Ω的左上角。因此,在图9中,x轴表示水平方向,y轴表示垂直方向。
仍然参考图9,控制点的集合形成规则栅格,其中控制点均匀地分布在原始空间域Ω中。控制点的栅格从FFD中获得;在本示例中,取决于样条的次数,计算出了由四个控制点支撑的2D Bezier插值样条。术语“规则栅格”是指两个控制点之间的原始水平空间sw的值总是相同的。类似地,两个控制点之间的原始垂直空间sh的值也总是相同的。水平空间sw可以具有与垂直空间sh相同的值,如图9所示。应理解,图9中的控制点的集合中的控制点在本发明的过程期间可以被移动,这将在下面进行解释。
令人感兴趣的是,该控制点的集合创建了被定义在原始空间域Ω上的新的域。所述新的域被称为Λ,并且将在后文进行讨论。Λ作用于Ω上,这就意味着控制点(例如,图10中的控制点100)的移位将会影响样条,所述样条继而局部地影响Ω。
如上述所讨论的,变换Tθ是从输入空间域Ω到输出空间域Ω'的映射,从Ω到Ω'的变换是像素位置x与其移位uθ(x)的和。根据任何像素位置,移位函数uθ(x)可以从控制点位置获得。因此,方程式4的移位函数uθ′可以被定义为控制点的位置的加权线性组合,如下面方程式5所示:
在方程式5中,FFD的表示使用了三次B-样条:函数Bk和Bl是与相同次数的伯恩斯坦多项式相一致的三次B-样条,如本领域所公知的。应理解,可以使用任何不同次数的B-样条,并且本发明不限于三次的B-样条。本发明不限于与FFD相联系的B-样条,而可以使用上面讨论的任何种类的样条。
如上面所讨论的,每一个控制点的位置可以表示为θ(i,j)。在方程式5中,θ是表示参数化的变换的控制点的集合的函数。特别地,函数θ是变换Tθ的唯一参数:实际上,对θ的认识允许充分地描述移位uθ,从而充分地描述变换Tθ。因此,栅格中控制点的移位会相应地改变变换Tθ。控制点的移位仅仅会影响空间域Ω的局部部分:实际上,如方程式5所描述的,只有在控制点位置周围的大小为4s4sw邻域内的Ω中的像素位置x受到了该移动的影响。应理解,具有更小程度的B-样条的邻域大小可以是不同的。
基于FDD的方程式5的三次B-样条通过设计平滑为三次的,所述次数比当伯恩斯坦多项式的阶数更低时的次数要小。移位以及其第一衍生物的可逆性和双射性是通过控制点移位上的约束来实现的:如果控制点的移位比控制点的空间sh和sw小0.48倍,则由FFD移位产生的变换是微分同胚变换;这个结果在本领域中是公知的,例如,在IEEE Transactions onVisualization and Computer Graphics archive,Volume 2Issue 4,第337-354页,1996年12月中的Lee、Seungyong等人“Image metamorphosis withscattered feature constraints.”中。因此,由控制点的移动产生的Ω中的位置x的移位将在控制点的移位之后发生。最终,两个控制点的相互靠近会减小两个控制点位置之间的图像,同时扩大控制点之间的空间会使控制点位置之间的图像增大。应理解,Ω中被移位的位置x的周围区域(4s4sw)也会受到影响,以便保持变换的连续性。
返回参考图1,在步骤S50中,原始空间域Ω被细分为单元。每一个单元由所述控制点的集合的子集限定。因此,术语“单元”限定了调整大小后的空间域Ω'的子部分,并且所述子部分由控制点的子集进行定界。所述单元的集合在空间域Ω上形成了空间域。单元是闭合表面,这包含单元由至少三个控制点形成。
在图9中,单元90由连接四个控制点的四个边来进行限定。位于单元90的闭合表面中的两个对角线边没有被表示出来;这两个边不参与对单元的闭合表面进行定界。仍然参考图9,控制点形成单元的规则栅格;例如,由四个控制点限定的单元90是由四个控制点进行定界的多边形。应理解,控制点的集合不一定会形成规则栅格;例如,可以使用多于或少于四个控制点的单元。
从控制点的集合获得的栅格可以被看作是空间域Ω中的控制点的坐标的呈现。
控制点没有在空间域Ω中进行限定,但是某些控制点的位置与空间域Ω相互重叠,使用与Ω重叠的控制点来将单元限定在空间域Ω中。
所述单元的集合可以看作是原始空间域Ω上的一层。每一个单元与原始空间域Ω的一个或多个像素相关联:由每一个单元形成的区域覆盖一个或多个像素。Ω和Λ不是不相关联的,Λ是Ω的细分。在Λ是Ω上的四个单元的规则栅格的情况下,我们具有单元索引(0,0)、(0,1)、(1,0)和(1,1),并且每一个单元都是Ω的子域,例如,单元(0,0)包含来自Ω的这就是说在图像上画出了多边形,多边形中的每一个以及各个像素都属于该单元。
减小单元的大小,即减小其表面区域就等同于使单元周围的控制点相互靠近,并且因此也等同于减小单元的位置处的图像域。在增加单元大小的情况下,也是如此。图像域事实上表现出与对单元进行变形相同的方式。并且如果被限定在空间域Ω外面的控制点被固定为保留在位于空间域Ω内部的控制点的距离sh和sw处,那么输出图像域的空间域Ω'将具有与内部单元的累积区域相同的区域。应理解,需要被固定的控制点的数量取决于样条的次数。该次数由方程式4定义的变换Tθ产生。
在步骤S50中,确定了对原始空间域Ω进行细分的单元的集合。所述单元的集合限定出原始空间域Ω的分立的域,分立的域被表示为Λ。每一个单元可以以与图像的像素位置相同的方式来进行考虑,并且可以以相同的方式来编入索引。例如,如果在方程式1的空间域Ω上定义了四个单元,那么这四个单元分别被编入索引为(0,0)、(0,1)、(1,0)和(1,1),并且每一个单元是Ω的子域,例如,单元(0,0)包含来自Ω的 [ 0,1 , . . . , ( m 2 ) - 1 ] × [ 0,1 , . . . , ( n 2 ) - 1 ] .
接下来,在步骤S60中,针对Λ的每一个单元,计算单元中的像素的有效性的加权平均值。因此限定了Λ上的有效性。利用形成Λ的单元的集合形成了概要图像S:概要图像中的每一个单元都可以被看作是该概要图像的像素。
由于Λ是由Ω的分区组成的,所以域Λ可以被写作Λ={Ω(0,0),Ω(0,1),...,Ω(K,L)},其中K和L是Ω的每一个方向中的分区的数量,并且Ω(i,j)是Ω的分区,是由单元(i,j)覆盖的域。Ω的水平方向和垂直方向可以任意选择并且可以使用参考坐标系(x,y)来进行限定,如上面已经讨论过的。
加权平均值使用插值样条来进行计算。实际上,对于Λ中的每一个y=(i,j)位置,可以定义三次B-样条FFD的概要图像。概要图像SI可以由方程式6来进行定义:
其中,S(x)是表示被提供的有效性图像的函数。
现在参考图5,图5示出了图4中图像的有效性图像,在所述图4中图像的有效性图像中,单元的集合限定了原始空间域Ω的分立的域Λ。域Λ位于有效性图像的原始空间域Ω上。在图5中,域Λ完全覆盖了图4中的原始空间域Ω。进一步地,所述单元的集合是从控制点的集合中获得的,所述控制点的集合形成了均匀分布在原始空间域Ω上的控制点的栅格,如参考图9所讨论的。
现在参考图6,图6示出了根据形成Λ的单元的集合计算出的概要图像,对于每一个单元,计算出了单元中像素的有效性的加权平均值。概要图像的每一个单元都使用用于表示单元的有效性的灰阶来标记颜色,因而包括在单元中的像素的集合的有效性也被标记了颜色。例如,物像左边和右边的区域被表示为白色,由此意味着这些区域对于对该景象的视觉理解是不重要的。
回到图1的流程图,在步骤S70中,原始空间域Ω的单元通过使具有更小加权平均值的一个或多个控制点移位来进行变换。
用于移除或添加像素从而对图像进行调整大小的公知的用于内容感知的算法领域的算法中的一个算法,可以被直接应用于概要图像,除了这些算法将对单元(即,控制点的分组)上而不是对像素进行操作的情况以外。上述算法由图像有效性引导,并且将根据某些最优性约束来调整变换参数,以改变图像,同时至少改变图像概要。最优性约束包括如下的事实:图像应保持垂直边,但还可以包括如下约束:至少使图像变形(在具有相同的结果图像有效性成本的情况下,若干个变换仍然可能取决于参数空间大小,添加这些约束允许在可能的变换参数中选择变换参数,并且因此变换才是最适当的)。
对单元进行操作涉及如下算法(i)识别具有更小加权平均值的一个或多个单元,以及(ii)修改所识别的单元的大小(而不是由这些算法所完成的,移除或添加像素)。相对应的单元的大小也将被修改,如前面已讨论的:
-当所述单元由算法识别为要移除像素时,该单元的大小减小;
-当所述单元由算法识别为要添加像素时,该单元的大小增加。在实践中,对单元进行调整大小可以达到控制点的空间的0.48倍,以便保持变换的微分同胚性。
接下来,在步骤S80中,使用被移位的一个或多个控制点在图像I的空间域上计算变换Tθ。方程式5的函数θ是表示参数化的变换的控制点的集合的函数,并且函数θ是变换Tθ的唯一参数。因此,一旦控制点被移位,如在步骤S70中执行的,变换Tθ的参数就被设定。因此可能的是如方程式5定义的来计算变换Tθ
最后,在步骤S90,通过将计算出的变换Tθ应用到要调整大小的图像I的空间域来计算调整大小后的图像J。调整大小后的图像被定义在调整大小后的空间域Ω'上。应用计算出的变换Tθ意味着执行从图像I的输出空间域Ω到图像J的输出空间域Ω'的映射:每一个像素的位置根据方程式3和4来进行修改。
现在参考图2,图2示出了用于根据本发明来执行对图像进行调整大小的计算机程序的计算模块的示例。每一个模块包括可以由计算机(例如,图17中的计算机系统)执行的指令。
有效性计算模块20将要调整大小的图像I作为输入(步骤S10)。例如,要调整大小的图像I可以是图11中的图像。模块20计算图像I的每一个像素的有效性。模块的输出根据步骤S20提供了图像I的图像有效性。图12示出了图11中的图像的有效性图像的示例。
概要图像计算模块30将模块20的输出作为输入并且根据步骤S30至S60来计算概要图像。图14示出了由模块30根据图12的有效性图像计算出的概要图像的示例。因此,模块30计算对变换Tθ进行参数化的插值样条的控制点的集合。概要图像计算模块30可以实现各种种类的插值样条函数;对一个样条函数的选择可以在用户行动时或通过默认来执行。从插值样条获得的控制点的集合可以被表示为栅格,例如,规则栅格,在该规则栅格中,控制点均匀地分布在图11的输入图像的原始空间域Ω上,如图13所示。
优化器模块40将概要图像作为输入。优化器模块返回概要图像的哪一个像素应当被删除或添加。
优化器模块40是将图像有效性联系到概要图像变换定义的计算模块。优化器模块40实现了在内容感知算法领域中专用于像素的移除或添加的一个或多个公知的算法。应理解,可以使用能够识别具有更小加权平均值的一个或多个单元并且能够做出决定来修改所识别的单元的大小的算法。因此,该模块提供了概要图像的变换参数。从多个算法中选择一个算法可以在用户行动时或通过默认执行。
控制点移动模块50限定了一个或多个控制点的移位,如在步骤S70中限定的,并且进一步计算变换Tθ(步骤S80)。该模块的输出包括计算出的变换的变换参数。这些变换参数形成了修改的栅格,如图15所示的栅格。所述模块50减少了来自模块40的输出中的控制点的位置,即从模块40的输出中概要图像的哪个像素可能被删除或添加。
变换模块60将计算出的变换Tθ应用到要调整大小的图像I的空间域上(步骤S90)。变换模块的输出是调整大小后的图像J,例如,图16中的图像。
然后检查图像I的新大小是否与所期望的大小相一致,在实践中,可以在不计算变换后的图像的情况下来检查变换后的图像的期望大小。在调整大小后的图像与所期望的大小相一致的情况下,变换模块80的输出被认为是新的调整大小后的图像J。在调整大小后的图像与所期望的大小不一致的情况下,使用新的变换参数来重复整个过程(步骤S20至S80):控制点的新的移位由控制点移动模块50与优化模块40协作确定。
取决于由优化模块40使用的算法,然后或者只需要进行一次处理,并且不进行迭代80,或者如果在一个步骤中所期望的大小没有获得,则进一步执行迭代80,直到达到了所期望的大小。
令人感兴趣的是,如果用于优化模块40中的算法需要重新计算图像有效性,则可以在任何时刻使用当前移位的栅格来重新计算图像有效性。
本发明有利地允许重新使用已经与当前感知内容的图像重新定向(例如,Seam carving for content-aware image resizing中描述的)一起使用的一些计算模块。现有的有效性计算模块20、优化模块40和变换模块60可以重新使用。这有利地限制了研发成本并且使得本发明容易地与当前的感知内容的图像重新定向软件进行集成。
已经对本发明的优选实施例进行了描述。应理解,可以在不偏离本发明的精神与范围的情况下,做出各种修改。因此,其它实现也落在如下权利要求书的范围内。例如,本发明还可以使用提高计算速度的多尺度/多分辨率方法(如在IEEE Transactions on Visualization and Computer Graphics第3卷第3期,第228-244页,1997年7月中Lee、Seungyong、George Wolberg以及Sung Yong Shin.“Scattered data interpolation with multilevel B-splines”,中描述的方法),而不对该算法做任何修改;在每一个新尺度/分辨率水平之后,只需要重新计算图像有效性。

Claims (12)

1.一种用于对图像I进行调整大小的计算机实现的方法,所述方法包括如下步骤:
-提供(S10)要调整大小的所述图像I;
-通过计算要调整大小的所述图像中的每一个像素的有效性来提供图像有效性(S20);
-提取(S30)有效性图像的原始空间域(Ω);
-提供(S40)变换Tθ,所述变换Tθ由控制点的集合参数化为插值样条,所述变换Tθ从所述原始空间域(Ω)到调整大小后的空间域(Ω');
-将所述原始空间域(Ω)细分(S50)为单元,每一个单元由所述控制点的集合中的子集限定;
-针对每一个单元,计算(S60)所述单元中的所述像素的有效性的加权平均值,所述加权平均值是使用所述插值样条进行计算的;
-通过对具有更小加权平均值的所述单元中的一个或多个控制点进行移位来对所述原始空间域(Ω)中的所述单元进行变形(S70);
-使用所移位的一个或多个控制点来计算(S80)所述图像I的空间域上的变换Tθ
-通过将所计算出的变换Tθ应用至要调整大小的所述图像I的所述空间域来计算(S90)调整大小后的图像J。
2.根据权利要求1所述的计算机实现的方法,其中,所提供的变换Tθ是微分同胚变换Tθ,使得J(x)=I(Tθ -1(x)),其中,I是要被调整大小的所述图像,J是所述调整大小后的图像,x是所述原始空间域(Ω)中给定的像素的位置。
3.根据权利要求2所述的计算机实现的方法,其中,所述微分同胚变换Tθ由方程式Tθ=x+uθ(x)限定,其中,x是所述原始空间域(Ω)中所述给定的像素的位置,并且uθ(x)是移位函数,其中,u是从所述原始空间域(Ω)到所述调整大小后的空间域(Ω')的映射。
4.根据权利要求3所述的计算机实现的方法,其中,所述变换Tθ被参数化为自由变形插值样条,并且其中,移位函数uθ(x)由如下方程式定义:
其中,B0、B1、B2、B3是三次B-样条函数,θ是表示所述控制点的函数,sw是水平方向上的两个控制点之间的空间,sh是垂直方向上的两个控制点之间的空间,xw是在水平轴上所述原始空间域(Ω)中的像素的位置,xh是在垂直轴上所述原始空间域(Ω)中的像素的位置。
5.根据权利要求4所述的计算机实现的方法,其中,所述控制点的集合形成栅格,并且θ是表示控制点的栅格的函数。
6.根据权利要求4至5中的任一项所述的计算机实现的方法,其中,针对每一个单元计算所述单元中的像素的有效性的加权平均值的所述步骤利用如下函数执行:
其中,Ω(i,j)是所述原始空间域(Ω)的分区,s(x)表示所提供的有效性图像。
7.根据权利要求6所述的计算机实现的方法,其中,所述分区Ω(i,j)是由所述单元覆盖的域。
8.根据权利要求1至7中的任一项所述的计算机实现的方法,其中,从所述有效性图像提取的所述原始空间域(Ω)与所述要调整大小的图像I的所述空间域(Ω)相同。
9.根据权利要求1至8中的任一项所述的计算机实现的方法,其中,计算调整大小后的图像J的所述步骤包括减小或增大图像大小。
10.一种计算机程序,包括用于执行根据权利要求1-9中的任一项所述方法的指令。
11.一种计算机可读存储介质,其上记录有根据权利要求10所述的计算机程序。
12.一种包括耦合至存储器的处理器的系统,所述存储器在其上记录了根据权利要求10所述的计算机程序。
CN201410802540.1A 2013-12-20 2014-12-19 对图像进行调整大小 Active CN104732479B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13306825.4 2013-12-20
EP13306825.4A EP2887305B1 (en) 2013-12-20 2013-12-20 Resizing an image

Publications (2)

Publication Number Publication Date
CN104732479A true CN104732479A (zh) 2015-06-24
CN104732479B CN104732479B (zh) 2020-03-17

Family

ID=50002436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410802540.1A Active CN104732479B (zh) 2013-12-20 2014-12-19 对图像进行调整大小

Country Status (6)

Country Link
US (1) US9501811B2 (zh)
EP (1) EP2887305B1 (zh)
JP (1) JP6463625B2 (zh)
KR (1) KR20150073120A (zh)
CN (1) CN104732479B (zh)
CA (1) CA2875426C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106097347A (zh) * 2016-06-14 2016-11-09 福州大学 一种多模态医学图像配准与可视化方法
CN106713923A (zh) * 2015-10-30 2017-05-24 达索系统公司 三维建模对象的压缩

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6958062B2 (ja) * 2016-11-11 2021-11-02 株式会社リコー 画像生成ユニット、画像投影装置及びヒートシンク
JP6955244B2 (ja) * 2017-04-12 2021-10-27 株式会社オーエスエム 映写用伸縮スクリーン装置
KR102007738B1 (ko) 2017-08-30 2019-08-07 한국과학기술원 콘텐츠 기반 이미지 리사이징 방법 및 장치
US11257184B1 (en) 2018-02-21 2022-02-22 Northrop Grumman Systems Corporation Image scaler
US10996748B2 (en) * 2018-09-10 2021-05-04 Apple Inc. Gaze-dependent display encryption
US11610142B2 (en) 2019-05-28 2023-03-21 Ati Technologies Ulc Safety monitor for image misclassification
US11210199B2 (en) * 2019-05-31 2021-12-28 Ati Technologies Ulc Safety monitor for invalid image transform
US10878641B1 (en) * 2019-06-07 2020-12-29 Adobe Inc. Editing bezier patch by selecting multiple anchor points

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100124371A1 (en) * 2008-11-14 2010-05-20 Fan Jiang Content-Aware Image and Video Resizing by Anchor Point Sampling and Mapping
US20120121204A1 (en) * 2010-11-11 2012-05-17 Yuanyuan Ding Importance filtering for image retargeting

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483513B2 (en) * 2010-01-22 2013-07-09 Corel Corporation, Inc. Method of content aware image resizing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100124371A1 (en) * 2008-11-14 2010-05-20 Fan Jiang Content-Aware Image and Video Resizing by Anchor Point Sampling and Mapping
US20120121204A1 (en) * 2010-11-11 2012-05-17 Yuanyuan Ding Importance filtering for image retargeting

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YU-SHUEN WANG ET AL: ""Optimized scale-and-stretch for image resizing"", 《ACM TRANSACTIONS ON GRAPHICS (TOG)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713923A (zh) * 2015-10-30 2017-05-24 达索系统公司 三维建模对象的压缩
CN106097347A (zh) * 2016-06-14 2016-11-09 福州大学 一种多模态医学图像配准与可视化方法

Also Published As

Publication number Publication date
JP2015122069A (ja) 2015-07-02
CN104732479B (zh) 2020-03-17
JP6463625B2 (ja) 2019-02-06
US20150178889A1 (en) 2015-06-25
US9501811B2 (en) 2016-11-22
KR20150073120A (ko) 2015-06-30
CA2875426C (en) 2022-10-11
EP2887305A1 (en) 2015-06-24
EP2887305B1 (en) 2019-02-20
CA2875426A1 (en) 2015-06-20

Similar Documents

Publication Publication Date Title
CN104732479A (zh) 对图像进行调整大小
US9972129B2 (en) Compression of a three-dimensional modeled object
CN107256557B (zh) 一种误差可控的细分曲面图像矢量化方法
US11144679B2 (en) Engraving a 2D image on a subdivision surface
JP4012258B2 (ja) プログレッシブメッシュの適応細分方法および装置
JP4569680B2 (ja) 解像度変換方法
US11314400B2 (en) Unified digital content selection system for vector and raster graphics
JP2008512767A (ja) 一般的な2次元空間変換の表現システム及び方法
CN110428504B (zh) 文本图像合成方法、装置、计算机设备和存储介质
RU2469400C1 (ru) Способ преобразования растрового изображения в метафайл
JP2010515131A (ja) ベクトルグラフィックをラスター化するプロセスにおいて境界を発生させるための方法およびシステム、ならびに、システムを製造するための方法
WO2016040717A2 (en) Text realization
JP2837584B2 (ja) 地形データの作成方法
JP2006237858A (ja) 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム、および記録媒体
JPH07334648A (ja) 画像処理方法及びその装置
CN111047666B (zh) 用于矢量图形和栅格图形的统一数字内容选择系统
Liu et al. An image interpolation method based on weighted subdivision
JP4125245B2 (ja) 文書表示方法および文書表示装置
JP2019121062A (ja) 画像拡大装置
KR100925180B1 (ko) 통계적 위치 복구력 및 다중 해상도를 이용한 영상분할방법
Bergamasco et al. Saliency-driven Variational Retargeting for Historical Maps
JP6351299B2 (ja) 画像処理装置及び画像処理方法
CN114882199A (zh) 一种基于像素级图像融合的深度设计图生成方法和系统
JP5504142B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JPH04167076A (ja) 二次元画像変形処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant