CN103853900B - 一种异常轨迹数据的修正方法、装置及交通管理*** - Google Patents

一种异常轨迹数据的修正方法、装置及交通管理*** Download PDF

Info

Publication number
CN103853900B
CN103853900B CN201210499093.8A CN201210499093A CN103853900B CN 103853900 B CN103853900 B CN 103853900B CN 201210499093 A CN201210499093 A CN 201210499093A CN 103853900 B CN103853900 B CN 103853900B
Authority
CN
China
Prior art keywords
track
dimensional space
data
vector representation
line segment
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
Application number
CN201210499093.8A
Other languages
English (en)
Other versions
CN103853900A (zh
Inventor
邹瑜斌
张帆
李晔
白雪
须成忠
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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201210499093.8A priority Critical patent/CN103853900B/zh
Publication of CN103853900A publication Critical patent/CN103853900A/zh
Application granted granted Critical
Publication of CN103853900B publication Critical patent/CN103853900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Traffic Control Systems (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Abstract

本发明适用于信息处理技术领域,提供了一种异常轨迹数据的修正方法、装置及交通管理***,所述方法包括:对原始轨迹数据进行一系列处理,生成一个轨迹的向量表示,再利用所述轨迹的向量表示,结合预设的修正阀值,以实现对异常轨迹进行识别并修正。本发明,由于所述轨迹的向量表示是所有原始轨迹数据的规则化结果,该结果仍保留交通轨迹的走向特征,因此以此规则化结果为依据进行异常轨迹数据噪音的修正,不用设置复杂的噪音规则来识别噪音,算法复杂度低,效率高,速度快,易于扩展。并且异常轨迹数据噪音的修正是基于原始轨迹数据的走向特征,因此对异常轨迹数据中的噪音识别率高,鲁棒性高。

Description

一种异常轨迹数据的修正方法、装置及交通管理***
技术领域
本发明属于信息处理技术领域,尤其涉及一种异常轨迹数据的修正方法、装置及交通管理***。
背景技术
近年来,城市机动车的数量急速增长,引发了许多诸如堵车、停车难、打车难等严重影响老百姓出行质量的问题。同时城市的交通网络也日趋复杂,对一个完善的交通管理***的要求越来越高。在未来构建智能城市的蓝图中,智能交通可谓是重中之重。对于智能交通的建设,必然会涉及到对于大规模交通轨迹的处理,而进一步地,由于卫星导航的误差、网络通信的延迟以及异常信号的干扰等不可预料的原因,交通轨迹数据中存在大量异常轨迹,这些异常轨迹严重影响对交通轨迹分析的客观性。于是,如何对海量轨迹数据中的异常轨迹进行去除处理成为了一个技术热点。
交通轨迹数据中的异常轨迹数据主要有以下特点:(1)需要处理的数据量大,假设某城市有50000台出租车,每台出租车每隔5秒钟向云服务中心发送一条包含其当前位置、当前时间、载人情况、司机电话号码等的记录,一条记录大约100个字节,则每个月大约会产生2.6TB的数据量;(2)异常轨迹数据多并且复杂,轨迹数据的完整性和正确性受到卫星定位的精度、定位设备的限制,网络信号等多种客观并且不可预知的因素的影响,导致轨迹数据中存在大量不可预知的数据;(3)对处理速度要求高,大量轨迹数据要求在可以忍受的时间内处理完,所以对于算法的时间复杂度有特殊要求。
现有的技术是通过设置过滤规则来对轨迹数据进行过滤,但是需要设置的过滤规则非常复杂,并且执行效率低,另外如果异常轨迹数据过多,可能会导致大量数据被过滤掉,这种过度的过滤同样对数据分析产生负面影响。
发明内容
本发明实施例提供了一种异常轨迹数据的修正方法、装置及交通管理***,旨在解决现有技术实现复杂,并且执行效率低,另外如果异常轨迹数据过多,可能会导致大量数据被过滤掉,这种过度的过滤同样对数据分析产生负面影响的问题。
一方面,提供一种异常轨迹数据的修正方法,所述方法包括:
将原始轨迹数据定义在第一二维空间中,并生成基于所述第一二维空间坐标轴的第一处理数据集;
将所述第一二维空间的坐标轴按预设的方向旋转预设的角度,生成第二二维空间;
将第一处理数据集中的所有点转换成基于第二二维空间坐标轴S’的点,形成第二处理数据集;
将所述第二处理数据集中的点转换成为有序的线段集合L;
在所述第二二维空间,对所述有序的线段集合L进行处理,生成一个轨迹的向量表示;
利用所述轨迹的向量表示,结合预设的修正阀值,对异常轨迹进行识别并修正。
另一方面,提供一种异常轨迹数据的修正装置,所述装置包括:
第一数据集生成单元,用于将原始轨迹数据定义在第一二维空间中,并生成基于所述第一二维空间坐标轴的第一处理数据集;
空间转换单元,用于将所述第一二维空间的坐标轴按预设的方向旋转预设的角度,生成第二二维空间;
第二数据集生成单元,用于将第一处理数据集中的所有点转换成基于第二二维空间坐标轴S’的点,形成第二处理数据集;
线段集合生成单元,用于将所述第二处理数据集中的点转换成为有序的线段集合L;
轨迹向量生成单元,用于在所述第二二维空间,对所述有序的线段集合L进行处理,生成一个轨迹的向量表示;
轨迹修正单元,用于利用所述轨迹的向量表示,结合预设的修正阀值,对异常轨迹进行识别并修正。
再一方面,提供一种交通管理***,所述交通管理***包括如上所述的异常轨迹数据的修正装置。
在本发明实施例,对原始轨迹数据进行一系列处理,生成一个轨迹的向量表示,再利用所述轨迹的向量表示,结合预设的修正阀值,以实现对异常轨迹进行识别并修正。由于所述轨迹的向量表示是所有原始轨迹数据的规则化结果,该结果仍保留交通轨迹的走向特征,因此以此规则化结果为依据进行异常轨迹数据噪音的修正,不用设置复杂的噪音规则来识别噪音,算法复杂度低,效率高,速度快,易于扩展。并且异常轨迹数据噪音的修正是基于原始轨迹数据的走向特征,因此对异常轨迹数据中的噪音识别率高,鲁棒性高。另外,进行修正时,可通过参数修正阀值控制异常轨迹数据的噪音修正的幅度,不会产生过度修正的问题。
附图说明
图1是本发明实施例一提供的异常轨迹数据的修正方法的实现流程图;
图2是本发明实施例二提供的异常轨迹数据的修正装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,先将原始轨迹数据定义在第一二维空间中;再将所述第一二维空间的坐标轴按预设的方向旋转预设的角度,生成第二二维空间;再次将由有向的GPS坐标点集合组成的原始轨迹数据转换成为有序的线段集合S;然后在所述第二二维空间,对所述有序的线段集合S进行处理,生成一个轨迹的向量表示;最后利用所述轨迹的向量表示,结合预设的修正阀值,对异常轨迹进行识别并修正。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的异常轨迹数据的修正方法的实现流程,详述如下:
在步骤S101中,将原始轨迹数据定义在第一二维空间中,并生成基于所述第一二维空间坐标轴的第一处理数据集。
在本实施例中,首先通过查询,获取原始轨迹数据的GPS坐标点,将GPS坐标点的表示定义在第一二维空间中,该第一二维空间的坐标轴包括x轴和y轴,将x轴对应的维度称为经度,将y轴对应的维度称为纬度,每个GPS坐标点的坐标由经度和纬度组成。再次获得经过任意两个GPS坐标点之间的所有轨迹,比如该两个GPS坐标点在第一二维空间中的坐标分别为(xs,ys)和(xd,yd),对于起点(xs,ys),设置一个距离阀值ε,对于任何GPS坐标(x′s,y′s),如果x′s∈(xs–ε,xs+ε)并且y′s∈(ys–ε,ys+ε),则经过该GPS坐标的所有轨迹都被放进轨迹备选列表中;对于终点(xd,yd),设置一个距离阀值ε′,对于任何GPS坐标(x′d,y′d),如果x′d∈(xd–ε,xd+ε)并且y′d∈(yd–ε,yd+ε),则把轨迹备选列表中所有经过(x′d,y′d)的轨迹放入处理列表形成原始轨迹数据的处理数据集,即基于第一二维空间坐标轴的第一处理数据集。该第一处理数据集由基于第一二维空间坐标轴的有向的GPS坐标点集合组成。
在步骤S102中,将所述第一二维空间的坐标轴按预设的方向旋转预设的角度,生成第二二维空间。
在本实施例中,将(xs,ys)和(xd,yd)之间的连线,记为L,假设L与第一二维空间的x轴之间的夹角为α,则将第一二维空间的坐标轴向左旋转α+45°,生成第二二维空间,将该第二二维空间对应的坐标轴记为S’。需要说明的是,在具体执行时,第一二维空间的旋转方向以及旋转的角度都可以不做限制。
在步骤S103中,将第一处理数据集中的所有点转换成基于第二二维空间坐标轴S’的点,形成第二处理数据集。
在本实施例中,将基于第一二维空间坐标轴的第一处理数据集中的所有点转换成基于第二二维空间坐标轴的点,形成新的处理数据集,即第二处理数据集。从这里开始,以下的所有步骤都是基于S’和这个新的处理数据集的。该第二处理数据集由基于第二二维空间坐标轴的有向的GPS坐标点集合组成。
在步骤S104中,将所述第二处理数据集中的点转换成为有序的线段集合L。
在本实施例中,将第二处理数据集中的相邻的坐标点连接,把第二处理数据集中的所有点转换成一个有序的线段集合L。
在步骤S105中,在所述第二二维空间,对所述有序的线段集合L进行处理,生成一个轨迹的向量表示。
在本实施例中,通过以下步骤生成一个轨迹的向量表示。
步骤1、在所述有序的线段集合L的起点和终点范围内,在所述第二二维空间的两个维度分别取样,得到两个有序取样点集合。
在本实施例中,基于S’坐标轴,转换后的起点坐标是(xS″,yS″),转换后的终点坐标是(xD″,yD″)在S’的x轴的[xS″,xD″]范围内,依次取n个点,记为一个有序取样点集合X={x1,…,xn};同样的方法,在S’的y轴的[yS″,yD″]上取m个点,记为有序取样点集合Y={y1…,ym},X和Y为得到的两个有序取样点集合
步骤2、根据所述有序的线段集合L,计算得到的所述两个有序取样点集合中的每个取样点在另外一个维度的映射,得到两个映射集合。
在本实施例中,根据所述有序的线段集合L,计算有序取样点集合X中的取样点xi(xi∈X)在y轴上的映射,记为有序投影集合Y’={y1′…,yn'},其中有序取样点集合X中的xi与有序投影集合Y’中yi'一一对应。
根据所述有序的线段集合L,计算有序取样点集合Y中的取样点yi(yi∈Y)在x轴上的映射,记为有序投影集合X’={x1',…,xm'},其中有序取样点集合Y中的yi与有序投影集合X’中的xi′一一对应。
步骤3、组合所述两个映射集合,形成一个轨迹的向量表示。
在本实施例中,组合有序投影集合Y’和有序投影集合X’,形成一个轨迹的向量表示Y’+X’={y1',…,yn',x1',…,xm'},放到结果数据集R中,直至处理完所有的轨迹。
在步骤S106中,利用所述轨迹的向量表示,结合预设的修正阀值,对异常轨迹进行识别并修正。
在本实施例中,首先对步骤S105生成的轨迹的向量表示进行聚类处理,再根据聚类处理结果以及预设的修正阀值,对异常轨迹进行识别并修正。
示例性的,先对R中的所有轨迹的规则化结果进行聚类,聚类的结果是k个类,类的中心是〔c1,c2,...,ck〕。
再设置一个修正阀值对于每个轨迹的规则化结果ri,ri属于第j个类,进行如下计算:
直至所处理完R中的所有轨迹的规则化结果,即可完成对异常轨迹的修正。
本实施例,对原始轨迹数据进行一系列处理,生成一个轨迹的向量表示,再利用所述轨迹的向量表示,结合预设的修正阀值,以实现对异常轨迹进行识别并修正。由于所述轨迹的向量表示是所有原始轨迹数据的规则化结果,该结果仍保留交通轨迹的走向特征,因此以此规则化结果为依据进行异常轨迹数据噪音的修正,不用设置复杂的噪音规则来识别噪音,算法复杂度低,效率高,速度快,易于扩展。并且异常轨迹数据噪音的修正是基于原始轨迹数据的走向特征,因此对异常轨迹数据中的噪音识别率高,鲁棒性高。另外,进行修正时,可通过参数修正阀值控制异常轨迹数据的噪音修正的幅度,不会产生过度修正的问题。
实施例二
图2示出了本发明实施例二提供的异常轨迹数据的修正装置的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该异常轨迹数据的修正装置2可以是交通管理***中的一个软件单元、硬件单元或者软硬件结合的单元。在本实施例中,该异常轨迹数据的修正装置2包括:第一数据集生成单元21、空间转换单元22、第二数据集生成单元23、线段集合生成单元24、轨迹向量生成单元25和轨迹修正单元26。
其中,第一数据集生成单元21,用于将原始轨迹数据定义在第一二维空间中,并生成基于所述第一二维空间坐标轴的第一处理数据集;
空间转换单元22,用于将所述第一二维空间的坐标轴按预设的方向旋转预设的角度,生成第二二维空间;
第二数据集生成单元23,用于将第一处理数据集中的所有点转换成基于第二二维空间坐标轴S’的点,形成第二处理数据集;
线段集合生成单元24,用于将所述第二处理数据集中的点转换成为有序的线段集合L;
轨迹向量生成单元25,用于在所述第二二维空间,对所述有序的线段集合L进行处理,生成一个轨迹的向量表示;
轨迹修正单元26,用于利用所述轨迹的向量表示,结合预设的修正阀值,对异常轨迹进行识别并修正。
具体的,所述轨迹向量生成单元25包括:取样点集合生成模块、映射集合生成模块和轨迹向量生成模块。
其中,取样点集合生成模块,用于在所述有序的线段集合L的起点和终点范围内,在所述第二二维空间的两个维度分别取样,得到两个有序取样点集合;
映射集合生成模块,用于根据所述有序的线段集合L,计算得到的所述两个有序取样点集合中的每个取样点在另外一个维度的映射,得到两个映射集合;
轨迹向量生成模块,用于组合所述两个映射集合,形成一个轨迹的向量表示。
具体的,所述轨迹修正单元26包括:聚类处理模块和轨迹修正模块。
其中,聚类处理模块,用于对所述轨迹的向量表示进行聚类处理;
轨迹修正模块,用于根据聚类处理结果以及所述预设的修正阀值,对异常轨迹进行识别并修正。。
本发明实施例提供的异常轨迹数据的修正装置可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
值得注意的是,上述***实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种异常轨迹数据的修正方法,其特征在于,所述方法包括:
将原始交通轨迹数据定义在第一二维空间中,并生成基于所述第一二维空间坐标轴的第一处理数据集;
将所述第一二维空间的坐标轴按预设的方向旋转预设的角度,生成第二二维空间;
将第一处理数据集中的所有点转换成基于第二二维空间坐标轴S’的点,形成第二处理数据集;
将所述第二处理数据集中的点转换成为有序的线段集合L;
在所述第二二维空间,对所述有序的线段集合L进行处理,生成一个轨迹的向量表示;
利用所述轨迹的向量表示,结合预设的修正阀值,对异常轨迹进行识别并修正;
所述在所述第二二维空间,对所述有序的线段集合L进行处理,生成一个轨迹的向量表示具体包括:
在所述有序的线段集合L的起点和终点范围内,在所述第二二维空间的两个维度分别取样,得到两个有序取样点集合;
根据所述有序的线段集合L,计算得到的所述两个有序取样点集合中的每个取样点在另外一个维度的映射,得到两个映射集合;
组合所述两个映射集合,形成一个轨迹的向量表示。
2.如权利要求1所述的方法,其特征在于,所述利用所述轨迹的向量表示,结合预设的修正阀值,对异常轨迹进行识别并修正具体包括:
对所述轨迹的向量表示进行聚类处理;
根据聚类处理结果以及所述预设的修正阀值,对异常轨迹进行识别并修正。
3.一种异常轨迹数据的修正装置,其特征在于,所述装置包括:
第一数据集生成单元,用于将原始交通轨迹数据定义在第一二维空间中,并生成基于所述第一二维空间坐标轴的第一处理数据集;
空间转换单元,用于将所述第一二维空间的坐标轴按预设的方向旋转预设的角度,生成第二二维空间;
第二数据集生成单元,用于将第一处理数据集中的所有点转换成基于第二二维空间坐标轴S’的点,形成第二处理数据集;
线段集合生成单元,用于将所述第二处理数据集中的点转换成为有序的线段集合L;
轨迹向量生成单元,用于在所述第二二维空间,对所述有序的线段集合L进行处理,生成一个轨迹的向量表示;
轨迹修正单元,用于利用所述轨迹的向量表示,结合预设的修正阀值,对异常轨迹进行识别并修正;
所述轨迹向量生成单元包括:
取样点集合生成模块,用于在所述有序的线段集合L的起点和终点范围内,在所述第二二维空间的两个维度分别取样,得到两个有序取样点集合;
映射集合生成模块,用于根据所述有序的线段集合L,计算得到的所述两个有序取样点集合中的每个取样点在另外一个维度的映射,得到两个映射集合;
轨迹向量生成模块,用于组合所述两个映射集合,形成一个轨迹的向量表示。
4.如权利要求3所述的装置,其特征在于,所述轨迹修正单元包括:
聚类处理模块,用于对所述轨迹的向量表示进行聚类处理;
轨迹修正模块,用于根据聚类处理结果以及所述预设的修正阀值,对异常轨迹进行识别并修正。
5.一种交通管理***,其特征在于,所述***包括如权利要求3至4任一项所述的异常轨迹数据的修正装置。
CN201210499093.8A 2012-11-29 2012-11-29 一种异常轨迹数据的修正方法、装置及交通管理*** Active CN103853900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210499093.8A CN103853900B (zh) 2012-11-29 2012-11-29 一种异常轨迹数据的修正方法、装置及交通管理***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210499093.8A CN103853900B (zh) 2012-11-29 2012-11-29 一种异常轨迹数据的修正方法、装置及交通管理***

Publications (2)

Publication Number Publication Date
CN103853900A CN103853900A (zh) 2014-06-11
CN103853900B true CN103853900B (zh) 2016-12-21

Family

ID=50861551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210499093.8A Active CN103853900B (zh) 2012-11-29 2012-11-29 一种异常轨迹数据的修正方法、装置及交通管理***

Country Status (1)

Country Link
CN (1) CN103853900B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778355B (zh) * 2015-04-03 2017-06-13 东南大学 基于广域分布交通***的异常轨迹检测方法
CN108955728B (zh) * 2018-08-30 2022-06-17 乐跑体育互联网(武汉)有限公司 一种运动轨迹纠偏方法
CN109671262A (zh) * 2019-01-16 2019-04-23 广州思创科技发展有限公司 基于事故黑点对司机行为预警的***及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334845A (zh) * 2007-06-27 2008-12-31 中国科学院自动化研究所 一种基于轨迹序列分析和规则归纳的视频行为识别方法
CN101719220A (zh) * 2009-12-02 2010-06-02 北京航空航天大学 基于有向截尾均值距离的轨迹聚类方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334845A (zh) * 2007-06-27 2008-12-31 中国科学院自动化研究所 一种基于轨迹序列分析和规则归纳的视频行为识别方法
CN101719220A (zh) * 2009-12-02 2010-06-02 北京航空航天大学 基于有向截尾均值距离的轨迹聚类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
关于运动对象轨迹的分割与聚类算法研究;张延玲;《万方学位论文数据库》;20090921;第25页第1段-第36页最后1段 *

Also Published As

Publication number Publication date
CN103853900A (zh) 2014-06-11

Similar Documents

Publication Publication Date Title
Parekh et al. A review on autonomous vehicles: Progress, methods and challenges
CN108763287B (zh) 大规模可通行区域驾驶地图的构建方法及其无人驾驶应用方法
CN108170793B (zh) 基于车辆语义轨迹数据的停留点分析方法及其***
CN103809194B (zh) 一种gps轨迹曲线的显示方法及装置
EP3696510A2 (en) Method, apparatus, and system for providing a campaign management platform to discover map data
US20200263993A1 (en) Method, apparatus, and system for providing a campaign management platform to update map data
CN107195180B (zh) 一种基于电警数据的交通出行轨迹提取方法和装置
CN102147260B (zh) 电子地图匹配方法和装置
CN106875744B (zh) 周边车辆识别***及方法
CN105865449A (zh) 基于激光和视觉的移动机器人的混合定位方法
EP3696509B1 (en) Method, apparatus, and system for providing a campaign management platform to validate map data
EP2906999A1 (en) System and method in connection with occurrence of platoons
CN103853725A (zh) 一种交通轨迹数据降噪方法及***
CN102012231B (zh) 数据更新方法和装置
CN103035123A (zh) 一种交通轨迹数据中异常数据获取方法及***
WO2021073526A1 (zh) 一种基于轨迹数据的信号控制时段划分方法
CN103853900B (zh) 一种异常轨迹数据的修正方法、装置及交通管理***
WO2017200889A1 (en) Classifying entities in digital maps using discrete non-trace positioning data
US20200264628A1 (en) Method, apparatus, and system for providing an interface for publishing sensor data requests in campaign management platform
CN110782774A (zh) 一种众包道路数据的分布式处理方法及装置
CN111666359B (zh) Poi候选到达点挖掘方法、装置与设备
CN113449217A (zh) 迁移轨迹、热力图生成及网点确定的方法、设备
Yin et al. Multimodal fusion of satellite images and crowdsourced GPS traces for robust road attribute detection
CN109918468A (zh) 基于墨卡托投影的物联网设备位置数据区域筛选方法
CN108932839A (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
C14 Grant of patent or utility model
GR01 Patent grant