CN106569809B - 一种虚拟现实设备开机动画的实现方法和实现装置 - Google Patents
一种虚拟现实设备开机动画的实现方法和实现装置 Download PDFInfo
- Publication number
- CN106569809B CN106569809B CN201610938129.6A CN201610938129A CN106569809B CN 106569809 B CN106569809 B CN 106569809B CN 201610938129 A CN201610938129 A CN 201610938129A CN 106569809 B CN106569809 B CN 106569809B
- Authority
- CN
- China
- Prior art keywords
- animation
- image
- frame
- virtual reality
- screen
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种虚拟现实设备开机动画的实现方法和实现装置,该方法包括:获取开机动画所需要的图片素材并保存图片素材,利用图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的图片素材的大小和位置,对开机动画的每一帧图像进行压缩,将压缩后的所有图像打包为开机动画包,替换虚拟现实设备的操作系统中原有的开机动画包,使开机动画的显示元素不超出用户的可视范围,虚拟现实设备在开机的过程中开机动画不会出现扭曲,可以呈现给用户正常的开机动画效果,提高了用户体验。
Description
技术领域
本发明涉及虚拟现实技术领域,具体涉及一种虚拟现实设备开机动画的实现方法和实现装置。
背景技术
现有的各种操作系统,如Windows、Android等,都是针对传统的平面显示设备开发的,其开机动画通常显示在屏幕中心区域。
随着虚拟现实技术的发展,出现了各种虚拟现实产品。目前虚拟现实头戴显示设备的主要结构为“一块屏幕+两片透镜”,两片透镜与用户双眼的位置对应,左眼透过左侧的透镜获取屏幕左侧一个区域的图像,右眼透过右侧的透镜获取屏幕右侧一个区域的图像。当虚拟现实产品采用现有的操作系统时,由于开机动画显示在屏幕中心的一个区域中,显示给用户的开机动画是严重扭曲的,甚至完全显示不出开机动画,影响用户体验。
发明内容
本发明提供了一种虚拟现实设备开机动画的实现方法和实现装置,以解决现有的虚拟现实产品不能正常显示开机动画,影响用户体验的问题。
根据本发明的一个方面,本发明提供了一种虚拟现实设备开机动画的实现方法,包括:
获取开机动画所需要的图片素材并保存所述图片素材;
利用所述图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的所述图片素材的大小和位置;
对开机动画的每一帧图像进行压缩,将压缩后的所有图像打包为开机动画包,替换所述虚拟现实设备的操作系统中原有的开机动画包。
根据本发明的另一个方面,本发明提供了一种虚拟现实设备开机动画的实现装置,包括:
素材获取单元,用于获取开机动画所需要的图片素材并保存所述图片素材;
图像处理单元,用于利用所述图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的所述图片素材的大小和位置;
动画包生成单元,用于对开机动画的每一帧图像进行压缩,将压缩后的所有图像打包为开机动画包,替换所述虚拟现实设备的操作系统中原有的开机动画包。
本发明的有益效果是:利用获取到的图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的图片素材的大小和位置,使开机动画的显示元素不超出用户的可视范围,再将制作的每一帧图像进行压缩打包替换原有的开机动画包,使虚拟现实设备在开机的过程中开机动画不会出现扭曲,可以呈现给用户正常的开机动画效果,提高了用户体验。
附图说明
图1是本发明一个实施例提供的一种虚拟现实设备开机动画的实现方法的流程图;
图2是本发明一个实施例提供的一种虚拟现实设备开机动画的实现装置的功能框图。
具体实施方式
本发明的设计构思是:现有的各种操作系统都是针对传统的平面显示设备开发的,其开机动画通常显示在屏幕中心区域,而虚拟现实设备的有效显示区域为位于屏幕左右两侧的两个区域,因此采用这些操作系统的虚拟现实设备开机时,位于屏幕正中的开机动画无法正确显示给用户。针对这种情况,本发明利用获取到的图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的图片素材的大小和位置,使开机动画的显示元素不超出用户的可视范围,再将制作的每一帧图像进行压缩打包替换原有的开机动画包,使虚拟现实设备在开机的过程中开机动画不会出现扭曲,可以呈现给用户正常的开机动画效果,提高了用户体验。
实施例一
图1是本发明一个实施例提供的一种虚拟现实设备开机动画的实现方法的流程图,参见图1,本实施例提供的虚拟现实设备开机动画的实现方法包括:
步骤S110:获取开机动画所需要的图片素材并保存这些图片素材。
操作系统中的开机动画通常不是整个的视频文件或GIF动态图片,而是一系列静态的图像文件循环播放产生动态效果。因此首先需要获取并保存用于制作每一帧图像的图片素材。
步骤S120:利用图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的图片素材的大小和位置。
用户的双眼透过两片透镜分别获取位于屏幕左侧和右侧的各一个区域的图像,若是图像超出了这一范围,那么超出的部分用户是无法观察到的。因此需要调整每一帧图像中的图片素材的大小和位置,使得制作的左右双屏格式的每一帧图像中需要显示给用户的元素放置在特定的区域,用户可以正常观察到,这一区域可以根据屏幕的分辨率、透镜的直径、透镜的焦距、透镜与屏幕的相对位置等参数确定。
优选地,步骤S120具体包括:
在虚拟现实设备上运行图像处理软件,并将图片素材载入图像处理软件。如果需要平面效果的开机动画,那么在一帧图像的左侧和右侧放置相同的图片素材即可,使用户双眼可以看到完全相同的图像;如果需要立体效果的开机动画,在一帧图像的左侧和右侧放置相同的图片素材之后,还需要对两个图片素材进行视角的调整,使用户双眼可以观察到稍微不动的图像,感觉上是从不同角度观察同一对象,从而产生立体感。
根据虚拟现实设备的屏幕和透镜的参数值调整图像处理软件的设置参数,以调整每一帧图像中的所述图片素材的大小和位置,使图片素材不超出用户可视的范围,并且能够清晰显示。由于本优选实施例是直接在虚拟现实设备上运行图像处理软件进行图像的处理,因此可以方便地对处理之后的图像进行预览,免除了根据参数计算可视范围的过程,调整图像的过程更加直观、简便。可以一边对图像进行微调,一边透过透镜观察屏幕上显示的预览图,直至每一帧图像的预览图都清晰、大小适当、效果符合要求为止。
步骤S130:对开机动画的每一帧图像进行压缩,将压缩后的所有图像打包为开机动画包,替换虚拟现实设备的操作系统中原有的开机动画包。
Android系统是一种基于Linux的自由及开放源代码的操作系统,主要应用于移动设备,如智能手机和平板电脑。随着虚拟现实技术的发展,Android系统从最初的移动设备领域逐步扩展虚拟现实设备领域,有广泛的应用。本实施例中的虚拟现实设备即采用Android系统,下面以Android系统为例继续进行说明。
对于Android系统,其开机动画是由一系列连续的JPG图片作为图像帧组成的动画形式,因此步骤S120中处理完成的每一帧图像应保存为JPG格式的图片。
步骤S120中生成的图片文件较大,如果直接使用,开机动画在播放的过程中,打开每个图片文件的时间过长,会产生卡顿的现象,因此需要在保证画质不失真的前提下,对每一个图片文件进行压缩,虽然JPG格式的文件的压缩需要以牺牲图像质量为代价,但是通常JPG格式的文件在10:1到20:1的比率下可以轻松地压缩文件,且画质不会下降。同样可以通过观察预览图选择合适的压缩比率,使画质不失真。
将压缩之后的每一帧图像打包制作成开机动画包,并命名为bootanimation.zip,放置在\stsyem\media目录下,替换原有的开机动画包,即可在设备开机时播放制作的左右双屏格式的开机动画。
开机动画的每一帧图像需要按照特定的格式存放,通常bootanimation.zip中包括多个目录,每个目录对应动画的一个播放阶段,因此需要将制作好的每一帧图像按照播放的阶段存放在对应的目录中,并建立文件名为desc.txt的动画属性描述文本文件,在desc.txt中配置每一个目录中图像的帧数、每一个目录循环播放的次数、以及每一帧图像的宽度和高度。
例如bootanimation.zip有part1和part2两个目录,分别存储有相应的图片文件,desc.txt可以按如下格式配置:
1920 1080 30
p 1 0 part1
p 0 0 part2
其中1920 1080表示图片的宽度为1920像素,高度为1080像素,30表示帧数,p 1 0part1表示part1目录下的所有图片文件按顺序播放1次,p 0 0 part2表示part2目录下的所有图片文件循环播放。
配置好的desc.txt文件,和所有的存放有开机动画的图像的目录一起打包压缩为ZIP类型的压缩文件,并命名为bootanimation.zip,即是制作完成的开机动画包。
实施例二
图2是本发明一个实施例提供的一种虚拟现实设备开机动画的实现装置的功能框图,参见图2,本实施例提供的虚拟现实设备开机动画的实现装置包括:素材获取单元210、图像处理单元220、动画包生成单元230。
素材获取单元210获取开机动画所需要的图片素材并保存这些图片素材,图像处理单元220利用这些图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的图片素材的大小和位置,动画包生成单元230对开机动画的每一帧图像进行压缩,将压缩后的所有图像打包为开机动画包,替换虚拟现实设备的操作系统中原有的开机动画包,从而解决了现有的虚拟现实产品不能正常显示开机动画的问题,提高了用户体验。
优选地,图像处理单元220在虚拟现实设备上运行图像处理软件,并将图片素材载入图像处理软件,制作成左右双屏格式的每一帧图像,之后根据虚拟现实设备的屏幕和透镜的参数值调整图像处理软件的设置参数,以调整每一帧图像中的图片素材的大小和位置,直至透过所述透镜观察到的屏幕上显示的每一帧图像的预览图符合要求为止。
优选地,虚拟现实设备的操作系统为Android系统,开机动画的每一帧图像均为JPG格式,动画包生成单元230将开机动画的每一帧图像按照播放的阶段存放在对应的目录中,创建动画属性描述文本文件desc.txt,在文件desc.txt中配置每一个目录中图像的帧数、每一个目录循环播放的次数、以及每一帧图像的宽度和高度等参数,最后文件desc.txt、以及所有存放有开机动画的图像的目录一起打包制作为压缩文件作为开机动画包bootanimation.zip。
以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。
需要说明的是:
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
本发明的虚拟现实设备开机动画的实现装置传统上包括处理器和以存储器形式的计算机程序产品或者计算机可读介质。存储器可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器具有用于执行上述方法中的任何方法步骤的程序代码的存储空间。例如,用于程序代码的存储空间可以包括分别用于实现上面的方法中的各种步骤的各个程序代码。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。该存储单元可以类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本发明的方法步骤的计算机可读代码,即可以由例如处理器读取的代码,这些代码被运行时,导致该虚拟现实设备开机动画的实现装置执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包括”不排除存在未列在权利要求中的元件或步骤。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。
Claims (8)
1.一种虚拟现实设备开机动画的实现方法,其特征在于,包括:
获取开机动画所需要的图片素材并保存所述图片素材;
利用所述图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的所述图片素材的大小和位置;
对开机动画的每一帧图像进行压缩,将压缩后的所有图像打包为开机动画包,替换所述虚拟现实设备的操作系统中原有的开机动画包;
所述利用所述图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的所述图片素材的大小和位置,具体包括:
在虚拟现实设备上运行图像处理软件,并将所述图片素材载入图像处理软件,制作成左右双屏格式的每一帧图像;
根据虚拟现实设备的屏幕和透镜的参数值调整图像处理软件的设置参数,以调整每一帧图像中的所述图片素材的大小和位置,调整时,一边对图像进行微调,一边透过透镜观察屏幕上显示的预览图,直至透过所述透镜观察到的所述屏幕上显示的每一帧图像的预览图符合要求为止。
2.如权利要求1所述的方法,其特征在于,所述虚拟现实设备的操作系统为Android系统。
3.如权利要求2所述的方法,其特征在于,开机动画的每一帧图像均为JPG格式。
4.如权利要求2所述的方法,其特征在于,所述将压缩后的所有图像打包为开机动画包,具体包括:
将开机动画的每一帧图像按照播放的阶段存放在对应的目录中;
创建动画属性描述文本文件,在所述动画属性描述文本文件中配置每一个目录中图像的帧数、每一个目录循环播放的次数、以及每一帧图像的宽度和高度;
将所述动画属性描述文本文件、以及所有存放有开机动画的图像的目录一起打包制作为压缩文件作为开机动画包。
5.一种虚拟现实设备开机动画的实现装置,其特征在于,包括:
素材获取单元,用于获取开机动画所需要的图片素材并保存所述图片素材;
图像处理单元,用于利用所述图片素材制作左右双屏格式的开机动画的每一帧图像,并根据虚拟现实设备的屏幕及透镜的参数调整每一帧图像中的所述图片素材的大小和位置;
动画包生成单元,用于对开机动画的每一帧图像进行压缩,将压缩后的所有图像打包为开机动画包,替换所述虚拟现实设备的操作系统中原有的开机动画包;
所述图像处理单元具体用于:在虚拟现实设备上运行图像处理软件,并将所述图片素材载入图像处理软件,制作成左右双屏格式的每一帧图像;根据虚拟现实设备的屏幕和透镜的参数值调整图像处理软件的设置参数,以调整每一帧图像中的所述图片素材的大小和位置,调整时,一边对图像进行微调,一边透过透镜观察屏幕上显示的预览图,直至透过所述透镜观察到的所述屏幕上显示的每一帧图像的预览图符合要求为止。
6.如权利要求5所述的装置,其特征在于,所述虚拟现实设备的操作系统为Android系统。
7.如权利要求6所述的装置,其特征在于,开机动画的每一帧图像均为JPG格式。
8.如权利要求6所述的装置,其特征在于,所述动画包生成单元具体用于:将开机动画的每一帧图像按照播放的阶段存放在对应的目录中;创建动画属性描述文本文件,在所述动画属性描述文本文件中配置每一个目录中图像的帧数、每一个目录循环播放的次数、以及每一帧图像的宽度和高度;将所述动画属性描述文本文件、以及所有存放有开机动画的图像的目录一起打包制作为压缩文件作为开机动画包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610938129.6A CN106569809B (zh) | 2016-10-25 | 2016-10-25 | 一种虚拟现实设备开机动画的实现方法和实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610938129.6A CN106569809B (zh) | 2016-10-25 | 2016-10-25 | 一种虚拟现实设备开机动画的实现方法和实现装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106569809A CN106569809A (zh) | 2017-04-19 |
CN106569809B true CN106569809B (zh) | 2020-08-28 |
Family
ID=58534766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610938129.6A Active CN106569809B (zh) | 2016-10-25 | 2016-10-25 | 一种虚拟现实设备开机动画的实现方法和实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106569809B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110060310B (zh) * | 2019-01-30 | 2023-10-20 | 创新先进技术有限公司 | 文件压缩方法、装置及设备 |
CN111240619B (zh) * | 2019-12-31 | 2023-03-17 | 创泽智能机器人集团股份有限公司 | 一种双串口屏实现同步帧显示的方法 |
CN112802167A (zh) * | 2020-12-23 | 2021-05-14 | 广州朗国电子科技有限公司 | 开机动画包制作方法、装置及存储介质 |
CN116400967B (zh) * | 2023-03-27 | 2024-05-14 | 江苏卓易信息科技股份有限公司 | 一种基于uefi bios流畅播放开机动画的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1199207A (zh) * | 1997-05-14 | 1998-11-18 | 国际商业机器公司 | 三维虚拟现实中动画的重用 |
CN103533434A (zh) * | 2013-09-30 | 2014-01-22 | 珠海迈科电子科技有限公司 | 一种开机动画自定义的方法 |
CN103544048A (zh) * | 2013-10-31 | 2014-01-29 | Tcl集团股份有限公司 | 一种Androd系统开机动画显示方法及系统 |
CN105913477A (zh) * | 2016-04-18 | 2016-08-31 | 北京小鸟看看科技有限公司 | 一种实现虚拟现实系统立体启动动画的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7872652B2 (en) * | 2007-01-07 | 2011-01-18 | Apple Inc. | Application programming interfaces for synchronization |
-
2016
- 2016-10-25 CN CN201610938129.6A patent/CN106569809B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1199207A (zh) * | 1997-05-14 | 1998-11-18 | 国际商业机器公司 | 三维虚拟现实中动画的重用 |
CN103533434A (zh) * | 2013-09-30 | 2014-01-22 | 珠海迈科电子科技有限公司 | 一种开机动画自定义的方法 |
CN103544048A (zh) * | 2013-10-31 | 2014-01-29 | Tcl集团股份有限公司 | 一种Androd系统开机动画显示方法及系统 |
CN105913477A (zh) * | 2016-04-18 | 2016-08-31 | 北京小鸟看看科技有限公司 | 一种实现虚拟现实系统立体启动动画的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106569809A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569809B (zh) | 一种虚拟现实设备开机动画的实现方法和实现装置 | |
CN107454468B (zh) | 对沉浸式视频进行格式化的方法、装置和流 | |
WO2017193576A1 (zh) | 一种视频分辨率的适应方法、装置及虚拟现实终端 | |
US8570319B2 (en) | Perceptually-based compensation of unintended light pollution of images for projection display systems | |
KR102498598B1 (ko) | 영상 처리 장치 및 그 영상 처리 방법 | |
US20180012333A1 (en) | Method and apparatus for generating an extrapolated image based on object detection | |
CN105447898A (zh) | 一种虚拟现实设备中显示2d应用界面的方法和装置 | |
CN106296781B (zh) | 特效图像生成方法及电子设备 | |
CN107682713B (zh) | 媒体文件播放方法及装置 | |
CN113126937B (zh) | 一种显示终端调整方法及显示终端 | |
US20170186243A1 (en) | Video Image Processing Method and Electronic Device Based on the Virtual Reality | |
CN108924538A (zh) | Ar设备的屏幕拓展方法 | |
CN106569700B (zh) | 一种截图方法以及截图装置 | |
CN110913278B (zh) | 视频播放方法、显示终端及存储介质 | |
JP2015170904A (ja) | 画像処理装置及び画像処理方法、並びに画像処理システム | |
CN103297729A (zh) | 视频处理方法及装置 | |
TW201803358A (zh) | 將沈浸式視訊格式化用於傳統及沈浸式顯像元件之方法、裝置及串流 | |
CN111279687A (zh) | 视频的字幕处理方法和导播系统 | |
CN113906761A (zh) | 利用修补补片对3d场景进行编码和渲染的方法和装置 | |
US10043302B2 (en) | Method and apparatus for realizing boot animation of virtual reality system | |
CN109729338B (zh) | 显示数据的处理方法、装置和系统 | |
US10297009B2 (en) | Apparatus and method for generating an extrapolated image using a recursive hierarchical process | |
CN105049825A (zh) | 一种图像显示处理方法及终端 | |
KR20200001750A (ko) | 특정 영역의 화질을 개선하기 위해 복수의 가상현실영상을 재생하는 가상현실영상재생장치 및 가상현실영상생성방법 | |
US9460544B2 (en) | Device, method and computer program for generating a synthesized image from input images representing differing views |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |