CN103914861B - 图片处理方法及装置 - Google Patents
图片处理方法及装置 Download PDFInfo
- Publication number
- CN103914861B CN103914861B CN201310006129.9A CN201310006129A CN103914861B CN 103914861 B CN103914861 B CN 103914861B CN 201310006129 A CN201310006129 A CN 201310006129A CN 103914861 B CN103914861 B CN 103914861B
- Authority
- CN
- China
- Prior art keywords
- pixel
- picture
- gradient
- grad
- ownership
- 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.)
- Active
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开一种图片处理方法及装置,该方法包括:接收待处理的图片;侦测到图片处理指令后,对所述图片按照特定的规则进行梯度计算,获得每个像素点的梯度信息;统计图片的每个像素点在特定区域内且处于各预设方向上的像素点的梯度信息,并根据统计的各个梯度信息找出图片的每个像素点对应的归属梯度方向;根据对应的归属梯度方向及该归属梯度方向的梯度值,对每个像素点进行模糊处理。相对于现有技术,通过本发明技术方案的处理后的图片的轮廓更能体现人在艺术创作中对物体的勾勒效果,从而提高图像效果的逼真性。
Description
技术领域
本发明涉及图片处理领域,尤其涉及一种图片处理方法及装置。
背景技术
随着计算机技术的不断进步和计算机图形处理能力的大幅度提高,尤其是GPU的飞速发展,图像处理技术也日新月异。例如可以通过计算机处理技术进行边缘检测,从而刻画图像的轮廓。现有技术是利用边缘检测算法(如 canny算子,DOG(Difference Of Gauss)等),检测出图像的边缘,然后直接利用边缘作为线条。该边缘检测算法虽然能够刻画出图像的轮廓信息,但其产生的线条比较机器化,从而影响计算机模拟人在艺术创作中对物体的勾勒效果的逼真性。
发明内容
本发明实施例的主要目的是提供一种图片处理方法,旨在提高图像效果的逼真性。
为实现上述目的,本发明实施例提出了一种图片处理方法,包括以下步骤:
接收待处理的图片;
侦测到图片处理指令后,对所述图片按照特定的规则进行梯度计算,获得每个像素点的梯度信息;
统计图片的每个像素点在特定区域内且处于各预设方向上的像素点的梯度信息,并根据统计的各个梯度信息找出图片的每个像素点对应的归属梯度方向;
根据对应的归属梯度方向及该归属梯度方向的梯度值,对每个像素点进行模糊处理。
本发明实施例还提出了一种图片处理装置,包括:
图片梯度计算模块,用于接收待处理的图片,并在侦测到图片处理指令后,对所述图片按照特定的规则进行梯度计算,获得每个像素点的梯度信息;
归属梯度方向判断模块,用于统计图片的每个像素点在特定区域内且处于各预设方向上的像素点的梯度信息,并根据统计的各个梯度信息找出图片的每个像素点对应的归属梯度方向;
模糊处理模块,用于根据对应的归属梯度方向及该归属梯度方向的梯度值,对每个像素点进行模糊处理。
相对于现有技术,本发明实施例通过计算图片每个像素的梯度信息,并根据每个像素点为中心的特定区域内且处于预设方向上的梯度信息,确定每个像素点的归属梯度方向及其在归属梯度方向上的梯度值,然后根据像素点对应的归属梯度方向及梯度值,对每个像素点进行模糊之后形成的图片的轮廓更能体现人在艺术创作中对物体的勾勒效果,从而提高图像效果的逼真性。
附图说明
图1是本发明图片处理方法一实施例的流程示意图;
图2是本发明图片处理方法中确定每个像素点对应的归属梯度方向的流程示意图;
图3是图2所示的方法中像素点的状态示意图;
图4a是利用现有技术的边缘检测算法处理后的图片轮廓的示意图;
图4b是利用本发明的图片处理方法处理后的图片轮廓的示意图;
图5是本发明图片处理方法另一实施例的流程示意图;
图6是本发明图片处理装置较佳实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,提出本发明图片处理方法一实施例。该实施例的图片处理方法包括以下步骤:
步骤S110、接收待处理的图片;
步骤S120、侦测到图片处理指令后,对所述图片按照特定的规则进行梯度计算,获得每个像素点的梯度信息;
本发明实施例中,当图片选择功能被触发后,则弹出图片选择菜单,并等待用户选择。接收到用户的图片选择操作后,获取用户所选择的图片,然后再等待用户发出图片处理指令。当然,该步骤S120中的图片处理指令可以通过用户端发起,也可以为接收到待处理的图片时自动触发产生图片处理指令。当然也不限定于此,例如本发明实施例中,还可以为:在侦测到图片处理指令后,则弹出图片选择菜单,供用户选择待处理的图片,接收到用户的图片选择操作后,则获取用户所选择的图片,作为待处理的图片。
然后对该待处理的图片进行梯度计算,并获得每个像素点的梯度信息。下面先对图片的梯度进行简单的描述。
若图片的图像信息以一二维的离散函数f(x,y)来表示,则图片的每个像素点的梯度即为该二维的离散函数f(x,y)在每个像素点上的导数,且该梯度为一向量信息,可以通过如下公式表示:
其中,Grad[f(x,y)]表示图像函数f(x,y)的梯度,包括(x,y)的像素点的灰度沿x方向和y方向的变化率,指向灰度变化最大的方向。因此,根据上述梯度即可获得(x,y)像素点的梯度值及梯度方向。例如,(x,y)像素点的梯度值为:
(x,y)像素点的梯度方向为:
本发明实施例中梯度信息的获得方法为:根据预先设置的梯度算子,将梯度算子与图片进行卷积计算,获得图片的每个像素点的向量信息。其中,该梯度算子可包括sobel算子,Laplace算子、Roberts算子、Prewitt算子等等。利用不同的梯度算子,将其与图片进行卷积计算,从而获得图片的每个像素点的向量信息。以sobel算子为例,该算子包括两组3*3的矩阵,分别为横向及纵向,如下:
及
当计算(x,y)像素点的梯度,则以该像素点为中心,获取其相邻像素的灰度值,如下:
Z1 | Z2 | Z3 |
Z4 | Z5 | Z6 |
Z7 | Z8 | Z9 |
然后计算该像素点分别在水平方向及垂直方向的梯度:
以此类推,计算图片的每个像素点的梯度。
步骤S130、统计图片的每个像素点在特定区域内且处于各预设方向上的像素点的梯度信息,并根据统计的各个梯度信息找出图片的每个像素点对应的归属梯度方向;
参照图2,本实施例中的步骤S130可包括以下步骤:
步骤S131、遍历图片的每个像素点,并将遍历的当前像素点为中心像素点,预设边长的方形作为特定区域,获取该特定区域内且处于各预设方向上的像素点的梯度信息,计算获得各个像素点的梯度值;
具体地,如图3所示,遍历图片的每个像素点,然后确定每个像素点的梯度值。以像素点a为例,先以该像素点为中心点,预设边长的方形作为特定区域,如虚线框所围成的区域。然后获取该虚线框内且处于各预设方向上的像素点的梯度信息,该预设方向可以根据具体的情况而设置,本发明实施例中,预设方向为0°、45°、90°、135°、180°、225°、270°、315°这8个方向。因此所获取的梯度信息则如图3中所示的像素点的梯度信息,其中白色圆圈表示未获取梯度信息的像素点,黑色圆圈表示获取了梯度信息的像素点。然后计算每个像素点的梯度值。
步骤S132、比较所获得的各个像素点的梯度值,将中心像素点指向梯度值最大的像素点的方向作为该中心像素点的归属梯度方向,且该最大的梯度值作为该中心像素点的归属梯度方向的梯度值。
比较所获得各个像素点的梯度值,若像素点b的梯度值最大,则将像素点a指向像素点b的方向L作为该像素点a的归属梯度方向,且像素点b的梯度值为该像素点a在归属梯度方向上的梯度值。
步骤S140、根据对应的归属梯度方向及该归属梯度方向的梯度值,对每个像素点进行模糊。
当确定好每个像素点的归属梯度方向及其归属梯度方向上的梯度值,则遍历每个像素点,以遍历的当前像素点为中心像素点,并根据所述中心像素点的归属梯度方向及该归属梯度方向的梯度值,以该中心像素点为中心沿着归属梯度方向进行高斯模糊。具体地,通过采用如下公式对每个像素点进行模糊:
,
其中,G(n)为高斯参数,p(n)是该中心像素点在各个预设方向上的梯度值,由于步骤S130仅记录该中心像素点在其归属梯度方向上的梯度值,所以该中心像素点的梯度值设置为该中心像素点在其归属梯度方向上的梯度值与其相应的高斯参数相乘所获得的梯度值。从而实现了对该中心像素点的模糊。
如图4a及图4b所示,相对于现有技术,本发明实施例通过计算图片每个像素的梯度信息,并根据每个像素点为中心的特定区域内且处于预设方向上的梯度信息,确定每个像素点的归属梯度方向及其在归属梯度方向上的梯度值,然后在像素点对应的归属梯度方向及梯度值,对每个像素点进行模糊之后形成的图片的轮廓更能体现人在艺术创作中对物体的勾勒效果,从而提高图像效果的逼真性。
参照图5,提出本发明图片处理方法另一实施例。与上述方法实施例的基础上,本实施例中图片处理方法在步骤S120之后还包括:
步骤S150、计算每个像素点的梯度值,并筛选出梯度值大于或等于预设阈值的像素点。
设定一阈值,该阈值是用于初步筛选图像的轮廓所在的像素点。然后比较每个像素点的梯度值与该阈值,大于或等于该阈值的则保留,小于该阈值的则删除,从而保证后续步骤S130、S140中所执行的像素点均为轮廓所在的像素点,而不再需要对图片的每个像素点进行计算及模糊,从而进一步提高了该图片处理的效率。
参照图6,提出本发明图片处理装置一实施例。该实施例的图片处理装置包括:
图片梯度计算模块110,用于接收待处理的图片,并在侦测到图片处理指令后,对所述图片按照特定的规则进行梯度计算,获得每个像素点的梯度信息;
归属梯度方向判断模块120,用于统计图片的每个像素点在特定区域内且处于各预设方向上的像素点的梯度信息,并根据统计的各个梯度信息找出图片的每个像素点对应的归属梯度方向;
模糊处理模块130,用于根据对应的归属梯度方向及该归属梯度方向的梯度值,对每个像素点进行模糊。
本发明实施例中,当图片处理装置上的图片选择功能被触发后,则弹出图片选择菜单,并等待用户选择。在接收到用户的图片选择操作后,图片梯度计算模块110则接收用户所选择的图片,然后再等待用户发出图片处理指令。当然,上述图片处理指令可以通过用户端发起,也可以为接收到待处理的图片时自动触发产生图片处理指令。当然也不限定于此,例如本发明实施例中,还可以为:图片梯度计算模块110在侦测到图片处理指令后,则弹出图片选择菜单,供用户选择待处理的图片,接收到用户的图片选择操作后则获取用户所选择的图片,作为待处理的图片。然后对该待处理的图片进行梯度计算,并获得每个像素点的梯度信息。本发明实施例中梯度信息的获得方法为:根据预先设置的梯度算子,将梯度算子与图片进行卷积计算,获得图片的每个像素点的向量信息。其中,该梯度算子可包括sobel算子,Laplace算子、Roberts算子、Prewitt算子等等。利用不同的梯度算子,将其与图片进行卷积计算,从而获得图片的每个像素点的向量信息。通过sobel算子计算图片每个像素点的梯度的过程可参照前面方法实施例所述,在此就不再赘述。
获得图片每个像素点的梯度信息后,归属梯度方向判断模块120将遍历图片的每个像素点,并将遍历的当前像素点为中心像素点,预设半径的圆作为特定区域,获取该特定区域内且处于各预设方向上的像素点的梯度信息,计算获得各个像素点的梯度值;比较所获得的各个像素点的梯度值,将中心像素点指向梯度值最大的像素点的方向作为该中心像素点的归属梯度方向,且该最大的梯度值作为该中心像素点的归属梯度方向的梯度值。具体地,该预设方向可以根据具体情况而设置,本发明实施例中,预设方向为0°、45°、90°、135°、180°、225°、270°、315°这8个方向。如图3所示,以像素点a为例,先以该像素点为中心点,预设半径的圆作为特定区域,如虚线框所围成的区域。然后获取该虚线框内且处于各预设方向上的像素点的梯度信息,即图3所示的黑色圆圈所代表的像素点的梯度信息被获取。然后计算每个像素点的梯度值。比较所获得各个像素点的梯度值,若像素点b的梯度值最大,则将像素点a指向像素点b的方向L作为该像素点a的归属梯度方向,且像素点b的梯度值为该像素点a在归属梯度方向上的梯度值。
最后,当确定好每个像素点的归属梯度方向及其归属梯度方向上的梯度值,模糊处理模块130则遍历每个像素点,以遍历的当前像素点为中心像素点,以所述特定区域为模糊区域,并根据所述中心像素点的归属梯度方向及该归属梯度方向的梯度值,以中心像素点为中心沿着归属梯度方向进行高斯模糊。具体的模糊过程可参照前面方法实施例所述,在此就不再赘述。
相对于现有技术,本发明实施例通过计算图片每个像素的梯度信息,并根据每个像素点为中心的特定区域内且处于预设方向上的梯度信息,确定每个像素点的归属梯度方向及其在归属梯度方向上的梯度值,然后在像素点对应的归属梯度方向及梯度值,对每个像素点进行模糊之后形成的图片的轮廓更能体现人在艺术创作中对物体的勾勒效果,从而提高图像效果的逼真性。
本发明图片处理装置的另一实施例中,图片处理装置还包括:
像素点筛选模块140,用于在获得每个像素点的梯度信息后,计算每个像素点的梯度值,并筛选出梯度值大于或等于预设阈值的像素点。
上述预设阈值用于初步筛选图像的轮廓所在的像素点。然后比较每个像素点的梯度值与该阈值,大于或等于该阈值的则保留,小于该阈值的则删除,从而保证后续归属梯度方向判断模块120、模糊处理模块130所处理的像素点均为轮廓所在的像素点,而不再需要对图片的每个像素点进行计算及模糊,从而进一步提高了该图片处理的效率。
以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种图片处理方法,其特征在于,包括以下步骤:
接收待处理的图片;
侦测到图片处理指令后,对所述图片按照特定的规则进行梯度计算,获得每个像素点的梯度信息;
统计图片的每个像素点在特定区域内且处于各预设方向上的像素点的梯度信息,并根据统计的各个梯度信息找出图片的每个像素点对应的归属梯度方向;
根据对应的归属梯度方向及该归属梯度方向的梯度值,对每个像素点进行模糊处理;
其中,所述统计图片的每个像素点在特定区域内且处于各预设方向上的像素点的梯度信息,并根据统计的各个像素点的梯度信息找出图片的每个像素点对应的归属梯度方向包括:
遍历图片的每个像素点,并将遍历的当前像素点为中心像素点,预设边长的方形作为特定区域,获取该特定区域内且处于各预设方向上的像素点的梯度信息,计算获得各个像素点的梯度值;
比较所获得的各个像素点的梯度值,将中心像素点指向梯度值最大的像素点的方向作为该中心像素点的归属梯度方向,且该最大的梯度值作为该中心像素点的归属梯度方向的梯度值。
2.根据权利要求1所述的图片处理方法,其特征在于,所述侦测到图片处理指令后,对所述图片进行梯度计算,获得每个像素点的梯度信息包括:
侦测到图片处理指令后,根据预先设置的梯度算子,将梯度算子与图片进行卷积计算,获得图片的每个像素点的向量信息。
3.根据权利要求1所述的图片处理方法,其特征在于,所述根据对应的归属梯度方向及该归属梯度方向的梯度值,对每个像素点进行模糊包括:
遍历每个像素点,以遍历的当前像素点为中心像素点,以所述特定区域为模糊区域,并根据所述中心像素点的归属梯度方向及该归属梯度方向的梯度值,对该中心像素点进行高斯模糊处理。
4.根据权利要求1-3任一项所述的图片处理方法,其特征在于,所述获得每个像素点的梯度信息之后还包括:
计算每个像素点的梯度值,并筛选出梯度值大于或等于预设阈值的像素点。
5.一种图片处理装置,其特征在于,包括:
图片梯度计算模块,用于接收待处理的图片,并在侦测到图片处理指令后,对所述图片按照特定的规则进行梯度计算,获得每个像素点的梯度信息;
归属梯度方向判断模块,用于统计图片的每个像素点在特定区域内且处于各预设方向上的像素点的梯度信息,并根据统计的各个梯度信息找出图片的每个像素点对应的归属梯度方向;
模糊处理模块,用于根据对应的归属梯度方向及该归属梯度方向的梯度值,对每个像素点进行模糊处理;
其中,所述归属梯度计算模块用于:
遍历图片的每个像素点,并将遍历的当前像素点为中心像素点,预设边长的方形作为特定区域,获取该特定区域内且处于各预设方向上的像素点的梯度信息,计算获得各个像素点的梯度值;
比较所获得的各个像素点的梯度值,将中心像素点指向梯度值最大的像素点的方向作为该中心像素点的归属梯度方向,且该最大的梯度值作为该中心像素点的归属梯度方向的梯度值。
6.根据权利要求5所述的图片处理装置,其特征在于,所述图片梯度计算模块用于:侦测到图片处理指令后,根据预先设置的梯度算子,将梯度算子与图片进行卷积计算,获得图片的每个像素点的向量信息。
7.根据权利要求5所述图片处理装置,其特征在于,所述模块处理模块用于:
遍历每个像素点,以遍历的当前像素点为中心像素点,以所述特定区域为模糊区域,并根据所述中心像素点的归属梯度方向及该归属梯度方向的梯度值,对该中心像素点进行高斯模糊处理。
8.根据权利要求5-7任一项所述的图片处理装置,其特征在于,还包括:
像素点筛选模块,用于在获得每个像素点的梯度信息后,计算每个像素点的梯度值,并筛选出梯度值大于或等于预设阈值的像素点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310006129.9A CN103914861B (zh) | 2013-01-08 | 2013-01-08 | 图片处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310006129.9A CN103914861B (zh) | 2013-01-08 | 2013-01-08 | 图片处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914861A CN103914861A (zh) | 2014-07-09 |
CN103914861B true CN103914861B (zh) | 2018-02-27 |
Family
ID=51040515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310006129.9A Active CN103914861B (zh) | 2013-01-08 | 2013-01-08 | 图片处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914861B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989575B (zh) * | 2015-03-02 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 一种图像模糊处理方法和装置 |
CN105976333A (zh) * | 2016-04-29 | 2016-09-28 | 广东小天才科技有限公司 | 图片模糊的校正方法、装置及智能设备 |
CN109472848A (zh) * | 2018-10-29 | 2019-03-15 | 广东小天才科技有限公司 | 一种防止指纹信息泄露的图片处理方法及终端设备 |
CN111260581B (zh) * | 2020-01-17 | 2023-09-26 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465001A (zh) * | 2008-12-31 | 2009-06-24 | 昆山锐芯微电子有限公司 | 一种基于Bayer RGB的图像边缘检测方法 |
CN101521740A (zh) * | 2009-04-01 | 2009-09-02 | 北京航空航天大学 | 基于多尺度不变特征的实时运动估计方法 |
CN102663692A (zh) * | 2012-03-28 | 2012-09-12 | 汕头大学 | 医学超声图像自适应susan扩散去噪方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1846893B1 (en) * | 2005-02-03 | 2015-09-16 | Koninklijke Philips N.V. | Radial adaptive filter for metal artifact correction |
-
2013
- 2013-01-08 CN CN201310006129.9A patent/CN103914861B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465001A (zh) * | 2008-12-31 | 2009-06-24 | 昆山锐芯微电子有限公司 | 一种基于Bayer RGB的图像边缘检测方法 |
CN101521740A (zh) * | 2009-04-01 | 2009-09-02 | 北京航空航天大学 | 基于多尺度不变特征的实时运动估计方法 |
CN102663692A (zh) * | 2012-03-28 | 2012-09-12 | 汕头大学 | 医学超声图像自适应susan扩散去噪方法 |
Non-Patent Citations (2)
Title |
---|
一种基于梯度的图像滤波算法;李伟;《南通纺织职业技术学院学报(综合版)》;20050925;第5卷(第3期);第18页第2节第1段 * |
自动聚焦评价函数的精确度和稳定性研究;高赞;《中国优秀硕士学位论文全文数据库.信息科技辑》;20070915(第03期);第50页5.1.1第4段 * |
Also Published As
Publication number | Publication date |
---|---|
CN103914861A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104408460B (zh) | 一种车道线检测及跟踪检测方法 | |
CN104574353B (zh) | 基于视觉显著性的表面缺陷判定方法 | |
CN104751146B (zh) | 一种基于3d点云图像的室内人体检测方法 | |
CN107067382A (zh) | 一种改进的图像边缘检测方法 | |
CN103914861B (zh) | 图片处理方法及装置 | |
CN109284674A (zh) | 一种确定车道线的方法及装置 | |
CN104484868B (zh) | 一种结合模板匹配和图像轮廓的运动目标航拍跟踪方法 | |
CN105139391B (zh) | 一种雾霾天气交通图像边缘检测方法 | |
CN105469084A (zh) | 一种靶标中心点快速提取方法及*** | |
CN105678768B (zh) | 一种基于机器视觉的胎面检测方法 | |
CN105457908B (zh) | 基于单目ccd的小尺寸玻璃面板的分拣快速定位方法及*** | |
CN103455813A (zh) | 一种ccd图像测量***光斑中心定位的方法 | |
CN105023256A (zh) | 一种图像去雾方法及*** | |
CN106813569B (zh) | 一种基于线结构光的汽车轮胎三维定位方法 | |
Zhang et al. | Edge detection based on improved sobel operator | |
CN104778707A (zh) | 一种改进广义Hough变换的电解电容检测方法 | |
CN106991418A (zh) | 飞虫检测方法、装置及终端 | |
CN112991374A (zh) | 基于Canny算法的边缘增强方法、装置、设备及存储介质 | |
CN107818563A (zh) | 一种输电线路***导线间距空间测量与定位方法 | |
CN109833003B (zh) | 扫地机器人及其进行区域划分的方法 | |
CN105894474A (zh) | 一种非线性图像增强方法及边缘检测方法 | |
Wang et al. | The improved canny edge detection algorithm based on an anisotropic and genetic algorithm | |
CN103914829A (zh) | 一种含噪图像边缘检测方法 | |
CN104732530A (zh) | 一种图像边缘的检测方法 | |
CN106127147B (zh) | 一种基于三维数据的人脸深度纹理修复方法 |
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 |