CN110113542B - 防抖方法和装置、电子设备、计算机可读存储介质 - Google Patents
防抖方法和装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN110113542B CN110113542B CN201910561251.XA CN201910561251A CN110113542B CN 110113542 B CN110113542 B CN 110113542B CN 201910561251 A CN201910561251 A CN 201910561251A CN 110113542 B CN110113542 B CN 110113542B
- Authority
- CN
- China
- Prior art keywords
- data
- angular velocity
- acceleration
- amount
- compensation
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/685—Vibration or motion blur correction performed by mechanical compensation
- H04N23/687—Vibration or motion blur correction performed by mechanical compensation by shifting the lens or sensor position
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Gyroscopes (AREA)
- Studio Devices (AREA)
Abstract
本申请涉及一种防抖方法、装置、电子设备、计算机可读存储介质。方法包括:获取所述陀螺仪的角速度数据;获取所述加速度计的加速度数据;通过所述惯性测量器将所述角速度数据和加速度数据进行绑定,得到绑定后的数据,并将所述绑定后的数据发送至所述驱动器;通过驱动器对所述绑定后的数据进行解绑得到所述角速度数据和所述加速度数据;根据解绑后的所述角速度数据和所述加速度数据进行防抖处理。上述防抖方法、装置、电子设备、计算机可读存储介质,可以提高防抖的准确性。
Description
技术领域
本申请涉及计算机领域,特别是涉及一种防抖方法、装置、电子设备、计算机可读存储介质。
背景技术
随着计算机技术的发展,出现了各种防抖技术,如电子防抖、光学防抖等。在传统的防抖技术中,通过检测的角速度数据对摄像头进行补偿,使摄像头拍摄的图像尽量保持稳定,从而保证了图像的清晰度,有效克服因抖动产生的图像模糊。
然而,传统的防抖技术存在防抖不准确的问题。
发明内容
本申请实施例提供一种防抖方法、装置、电子设备、计算机可读存储介质,可以提高防抖的准确性。
一种防抖方法,应用于包含惯性测量器和驱动器的电子设备,所述惯性测量器包括陀螺仪和加速度计,包括:
获取所述陀螺仪的角速度数据;
获取所述加速度计的加速度数据;
通过所述惯性测量器将所述角速度数据和加速度数据进行绑定,得到绑定后的数据,并将所述绑定后的数据发送至所述驱动器;
通过驱动器对所述绑定后的数据进行解绑得到所述角速度数据和所述加速度数据;
根据解绑后的所述角速度数据和所述加速度数据进行防抖处理。
一种防抖装置,应用于包含惯性测量器和驱动器的电子设备,所述惯性测量器包括陀螺仪和加速度计,包括:
角速度数据获取模块,用于获取所述陀螺仪的角速度数据;
加速度数据获取模块,用于获取所述加速度计的加速度数据;
绑定模块,用于通过所述惯性测量器将所述角速度数据和加速度数据进行绑定,得到绑定后的数据,并将所述绑定后的数据发送至所述驱动器;
解绑模块,用于通过驱动器对所述绑定后的数据进行解绑得到所述角速度数据和所述加速度数据;
防抖处理模块,用于根据解绑后的所述角速度数据和所述加速度数据进行防抖处理。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述的防抖方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述防抖方法和装置、电子设备、计算机可读存储介质,获取陀螺仪的角速度数据和加速度计的加速度数据,通过惯性测量器将角速度数据和加速度数据进行绑定,并将绑定后的数据发送至驱动器,通过驱动器对绑定后的数据进行解绑得到角速度数据和加速度数据,解绑后得到的角速度数据与加速度数据相对应,避免了将角速度数据和加速度数据分别发送至驱动器,当其中一个数据发生延迟时造成驱动器接收的角速度数据和加速度数据不对应的问题,从而根据解绑后的相对应的角速度数据和加速度数据进行防抖处理,可以提高防抖的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中防抖方法的应用环境图;
图2为一个实施例中图像处理电路的示意图;
图3为一个实施例中防抖方法的流程图;
图4为一个实施例中补偿镜头抖动的示意图;
图5为一个实施例中惯性测量器的结构示意图;
图6为一个实施例中角速度数据中的属性数据的格式示意图;
图7为一个实施例中加速度数据中的属性数据的格式示意图;
图8为一个实施例中校验数据量步骤的流程图;
图9为一个实施例中防抖处理的示意图;
图10为一个实施例中电子设备的内部结构示意图;
图11为一个实施例中防抖装置的结构框图;
图12为另一个实施例中电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一校验值称为第二校验值,且类似地,可将第二校验值称为第一校验值。第一校验值和第二校验值两者都是校验值,但其不是同一校验值。
图1为一个实施例中防抖方法的应用环境示意图。如图1所示,该应用环境包括电子设备10,电子设备10中包含惯性测量器和驱动器,惯性测量器中包含陀螺仪和加速度计。电子设备10获取陀螺仪的角速度数据;获取加速度计的加速度数据;通过惯性测量器将角速度数据和加速度数据进行绑定,得到绑定后的数据,并将绑定后的数据发送至驱动器;通过驱动器对绑定后的数据进行解绑得到角速度数据和加速度数据;根据解绑后的角速度数据和加速度数据进行防抖处理。在另外一个实施例中,电子设备10还可以包括摄像头104。其中,电子设备10可以为手机、电脑、可穿戴设备、个人数字助理等,在此不做限定。
本申请实施例提供一种电子设备。上述电子设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义ISP(Image SignalProcessing,图像信号处理)管线的各种处理单元。图2为一个实施例中图像处理电路的示意图。如图2所示,为便于说明,仅示出与本申请实施例相关的图像处理技术的各个方面。
如图2所示,图像处理电路包括ISP处理器240和控制逻辑器250。成像设备210捕捉的图像数据首先由ISP处理器240处理,ISP处理器240对图像数据进行分析以捕捉可用于确定和/或成像设备210的一个或多个控制参数的图像统计信息。成像设备210可包括具有一个或多个透镜212和图像传感器214的照相机。图像传感器214可包括色彩滤镜阵列(如Bayer滤镜),图像传感器214可获取用图像传感器214的每个成像像素捕捉的光强度和波长信息,并提供可由ISP处理器240处理的一组原始图像数据。传感器220(如陀螺仪、霍尔传感器、加速度计)可基于传感器220接口类型把采集的图像处理的参数(如防抖参数)提供给ISP处理器240。传感器220接口可以利用SMIA(Standard MobileImaging Architecture,标准移动成像架构)接口、其它串行或并行照相机接口或上述接口的组合。
此外,图像传感器214也可将原始图像数据发送给传感器220,传感器220可基于传感器220接口类型把原始图像数据提供给ISP处理器240,或者传感器220将原始图像数据存储到图像存储器230中。
ISP处理器240按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,ISP处理器240可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
ISP处理器240还可从图像存储器230接收图像数据。例如,传感器220接口将原始图像数据发送给图像存储器230,图像存储器230中的原始图像数据再提供给ISP处理器240以供处理。图像存储器230可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括DMA(Direct MemoryAccess,直接直接存储器存取)特征。
当接收到来自图像传感器214接口或来自传感器220接口或来自图像存储器230的原始图像数据时,ISP处理器240可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器230,以便在被显示之前进行另外的处理。ISP处理器240从图像存储器230接收处理数据,并对所述处理数据进行原始域中以及RGB和YCbCr颜色空间中的图像数据处理。ISP处理器240处理后的图像数据可输出给显示器260,以供用户观看和/或由图形引擎或GPU(Graphics Processing Unit,图形处理器)进一步处理。此外,ISP处理器240的输出还可发送给图像存储器230,且显示器260可从图像存储器230读取图像数据。在一个实施例中,图像存储器230可被配置为实现一个或多个帧缓冲器。
ISP处理器240确定的统计数据可发送给控制逻辑器250单元。例如,统计数据可包括陀螺仪的振动频率、自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜212阴影校正等图像传感器214统计信息。控制逻辑器250可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备210的控制参数及ISP处理器240的控制参数。例如,成像设备210的控制参数可包括传感器220控制参数(例如增益、曝光控制的积分时间、防抖参数等)、照相机闪光控制参数、照相机防抖位移参数、透镜212控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。ISP控制参数可包括用于自动白平衡和颜色调整(例如,在RGB处理期间)的增益水平和色彩校正矩阵,以及透镜212阴影校正参数。
在一个实施例中,传感器220可以是惯性测量器,惯性测量器可以包含陀螺仪和加速度计。获取陀螺仪的角速度数据,获取加速度计的加速度数据,通过惯性测量器将角速度数据和加速度数据进行绑定发送至ISP处理器240进行处理,并将处理后的数据,即补偿数据发送至控制逻辑器250。控制逻辑器250接收到补偿数据后,根据补偿数据对成像设备210中的透镜212(镜头)进行防抖处理。通过防抖处理后的透镜212和图像传感器214可以获取更加清晰的图像,可以将图形发送至ISP处理器240进行处理,如滤波处理、美颜处理等。ISP处理器240可以将处理后的图像发送至图像存储器230进行存储,也可以将处理后的图像发送至显示器260,展示在电子设备的显示界面上。
在一个实施例中,传感器220还可以包含霍尔传感器。通过霍尔传感器获取透镜212的位置数据,并将位置数据发送至ISP处理器240。ISP处理器240可以基于实时获取的位置数据和补偿数据确定第二补偿量,并将第二补偿量发送至控制逻辑器250。控制逻辑器250根据第二补偿量控制透镜212进行移动。
图3为一个实施例中防抖方法的流程图。本实施例中的防抖方法,以运行于图1中的电子设备上为例进行描述。如图3所示,防抖方法应用于包含惯性测量器和驱动器的电子设备,惯性测量器包括陀螺仪和加速度计,包括步骤302至步骤310。
步骤302,获取陀螺仪的角速度数据。
惯性测量器(Inertial measurement unit,IMU)中包括陀螺仪和加速度计,可以测量电子设备的运动状态。其中,陀螺仪又叫角速度传感器,可以测量电子设备偏转、倾斜时的转动角速度。陀螺仪包括光纤陀螺仪、激光陀螺仪、MEMS(Micro Electro Mechanicalsystems,微电子机械***)陀螺仪等。
角速度指的是在物理学中描述物体转动时在单位时间内转过的角度以及转动的方向的矢量。角速度数据指的电子设备在单位时间内转过的角度以及转动的方向。角速度数据越大,表示电子设备转动的角度越大,转动的方向越大,则电子设备的抖动越大。
步骤304,获取加速度计的加速度数据。
加速度计可以测量电子设备的加速度。加速度指的是速度变化量与发生这一变化所用时间的比值,是描述电子设备速度变化快慢的物理量。当加速度越大,表示电子设备的速度变化越快。加速度计测量的加速度数据可以是角加速度数据,也可以是平移加速度数据,不限于此。
加速度数据越大,表示电子设备在单位时间内速度变化的越快,则电子设备的抖动越大。
步骤306,通过惯性测量器将角速度数据和加速度数据进行绑定,得到绑定后的数据,并将绑定后的数据发送至驱动器。
通过惯性测量器将角速度数据和加速度数据进行绑定,绑定之后的角速度数据和加速度数据作为一个整体发送至驱动器。
通过惯性测量器将角速度数据和加速度数据进行绑定,可以是将角速度数据和加速度数据进行首尾连接,也可以是将角速度数据和加速度数据存储在一个数据包中,还可以是对角速度数据和加速度数据建立对应关系,如对角速度数据和加速度数据标记同一个标签。本申请并不限定具体的绑定方式,可以根据用户需要进行设定。
在一个实施例中,上述防抖方法还包括:将绑定后的数据进行压缩,并将压缩后的数据发送至驱动器。
可以理解的是,当绑定后的数据较大时,将绑定后的数据发送至驱动器的时长较长,则在发送过程中容易发生丢包事件,导致驱动器接收的数据不完整。因此,为了保证驱动器可以较快地接收到完整的数据,可以将绑定后的数据进行压缩,再将压缩后的数据进行发送。
在一个实施例中,上述防抖方法还包括:将压缩后的数据进行加密,并将加密后的数据发送至驱动器。
为了保证数据的安全性以及数据传输过程中的安全性,可以将压缩后的数据进行加密,并将加密后的数据发送至驱动器。
步骤308,通过驱动器对绑定后的数据进行解绑得到角速度数据和加速度数据。
驱动器可以根据角速度数据和加速度数据计算得到防抖的数据,从而对电子设备进行防抖。在驱动器中,可以包含反馈控制器和DSP(Digital SignalProcessing,数字信号处理)控制器。反馈控制器用于将输出的数据反馈至输入接口,从而影响下一次输出的数据的结果。反馈控制器如正反馈控制器,负反馈控制器,负反馈控制器可以是PID(proportion、integral、differential,比例、积分、微分)控制器等。通过DSP控制器可以对角速度数据和加速度数据进行数字信号处理,如识别处理,解绑处理,解压处理等。
其中,正反馈控制器指的是输出的数据反馈至输入接口,进一步促进了下一次输出的数据。如输出数据A反馈至输入接口,则经过正反馈控制器后进一步将输出数据提高至B,再将输出数据B反馈至输入接口,再经过正反馈控制器进一步将输出数据提高至C。负反馈控制器指的是输出的数据反馈至输入接口,反而抑制了下一次输出的数据。如输出数据D反馈至输入接口,则经过负反馈控制器后将输出数据降低至E,再将输出数据E反馈至输入接口,再经过负反馈控制器后将输出数据降低至F。PID控制器通过比例、微分、积分控制,可以纠正输出数据按照预设数据进行输出。
驱动器接收到惯性测量器发送的绑定后的数据后,可以对该绑定后的数据进行解绑,得到角速度数据和加速度数据。可以理解的是,驱动器中的解绑算法和惯性测量器中的绑定算法相对应。
在一个实施例中,当驱动器接收到的数据为依次经过绑定、压缩后的数据时,可以对压缩后的数据进行解压,再将解压后的数据进行解绑,得到角速度数据和加速度数据。
在一个实施例中,当驱动器接收到的数据为依次经过绑定、压缩、加密后的数据时,可以对加密后的数据进行解密,再对解密后的数据进行解压,再将解压后的数据进行解绑,得到角速度数据和加速度数据。
可以理解的是,驱动器中的解绑算法和惯性测量器中的绑定算法相对应;驱动器中的解压算法和惯性测量器中的压缩算法相对应;驱动器中的解密算法和惯性测量器中的加密算法相对应。
步骤310,根据解绑后的角速度数据和加速度数据进行防抖处理。
通过角速度数据可以获取到电子设备在角度上的抖动,通过加速度数据可以获取到电子设备在角度上抖动的速度的快慢,也可以获取到电子设备在平移方向上的抖动速度的快慢。其中,平移方向可以是水平方向,也可以是垂直方向,不限于此。
因此,根据解绑后的角速度数据和加速度数据,不仅可以在角度上进行防抖,还可以在平移方向上进行防抖。如图4所示,根据解绑后的角速度数据和加速度数据不仅可以补偿镜头402沿X、Y、Z轴旋转时产生的抖动,还可以补偿沿X、Y、Z轴平移时的抖动,提高了防抖的准确性。
上述防抖方法,获取陀螺仪的角速度数据和加速度计的加速度数据,通过惯性测量器将角速度数据和加速度数据进行绑定,并将绑定后的数据发送至驱动器,通过驱动器对绑定后的数据进行解绑得到角速度数据和加速度数据,解绑后得到的角速度数据与加速度数据相对应,避免了将角速度数据和加速度数据分别发送至驱动器,当其中一个数据发生延迟时造成驱动器接收的角速度数据和加速度数据不对应的问题,从而根据解绑后的相对应的角速度数据和加速度数据进行防抖处理,可以提高防抖的准确性。
在一个实施例中,惯性测量器包括先入先出存储器,通过惯性测量器将角速度数据和加速度数据进行绑定,得到绑定后的数据,包括:通过先入先出存储器将角速度数据和加速度数据按照接收的先后顺序,将角速度数据和加速度数据进行首尾连接,得到绑定后的数据。
先入先出存储器(First Input First Output,FIFO)指的是先存储的数据先输出。在先入先出存储器中,可以将角速度数据和加速度数据按照接收的先后顺序,将角速度数据和加速度数据进行首尾连接,得到绑定后的数据。
具体地,可以根据角速度数据的时间戳和加速度数据的时间戳,当角速度数据的时间戳和加速度数据的时间戳均位于预设时间范围内时,将角速度数据和加速度数据进行首尾连接,得到绑定后的数据。
角速度数据的时间戳表示陀螺仪采集角速度数据的时刻,加速度数据的时间戳表示加速度计采集加速度数据的时刻。预设时间范围越小,则进行绑定的角速度数据的采集时刻和加速度数据的采集时刻越接近,则根据角速度数据和加速度数据进行防抖处理越准确。
在一个实施例中,如图5所示,惯性测量器50中包含了陀螺仪502、加速度计504、先入先出存储器506,SPI(Serial Peripheral Interface,串行外设接口)接口508。陀螺仪502将采集的角速度数据发送至先入先出存储器506,加速度计504将采集的加速度数据发送至先入先出存储器506。则先入先出存储器506可以将角速度数据和加速度数据按照接收的先后顺序,将角速度数据和加速度数据进行首尾连接,得到绑定后的数据,再将绑定后的数据发送至SPI接口508。SPI接口508与驱动器连接,则SPI接口508接收到绑定后的数据后,可以将绑定后的数据发送至驱动器。
上述防抖方法,通过先入先出存储器将角速度数据和加速度数据按照接收的先后顺序,将角速度数据和加速度数据进行首尾连接,得到绑定后的数据,可以提高防抖的准确性。
在一个实施例中,通过驱动器对绑定后的数据进行解绑得到角速度数据和加速度数据,包括:通过驱动器识别绑定后的数据中的角速度数据标识和加速度数据标识,得到角速度数据和加速度数据。
在角速度数据中包含了属性数据。属性数据用于表示角速度数据的属性,如角速度数据标识、角速度数据的数据量、角速度数据的时间戳等。同样地,在加速度数据中包含了属性数据。属性数据用于表示加速度数据的属性,如加速度数据标识、加速度数据的数据量、加速度数据的时间戳等。
如图6所示为角速度数据中的属性数据的格式示意图。其中,OX55指的是角速度数据的包头,0X52指的是角速度数据的标识,GxL指的是陀螺仪中的X轴角速度低字节,GxH指的是陀螺仪中的X轴角速度高字节,GyL指的是陀螺仪中的y轴角速度低字节,GyH指的是陀螺仪中的y轴角速度高字节,GzL指的是陀螺仪中的Z轴角速度低字节,GzH指的是陀螺仪中的Z轴角速度高字节,Sum指的是角速度数据的校验值。
如图7所示为加速度数据中的属性数据的格式示意图。其中,OX55指的是加速度数据的包头,0X51指的是加速度数据的标识,AxL指的是陀螺仪中的X轴加速度低字节,AxH指的是陀螺仪中的X轴加速度高字节,AyL指的是陀螺仪中的y轴加速度低字节,AyH指的是陀螺仪中的y轴加速度高字节,AzL指的是陀螺仪中的Z轴加速度低字节,AzH指的是陀螺仪中的Z轴加速度高字节,Sum指的是加速度数据的校验值。
当驱动器接收到绑定后的数据之后,可以识别绑定后的数据中的角速度数据标识和加速度数据标识,从而将绑定后的数据进行解绑,得到角速度数据和加速度数据。
上述防抖方法,通过驱动器识别绑定后的数据中的角速度数据标识和加速度数据标识,得到相对应的角速度数据和加速度数据,则根据角速度数据和加速度数据可以提高防抖的准确性。
在一个实施例中,如图8所示,角速度数据中包含第一校验值和第一数据,加速度数据中包含第二校验值和第二数据,第一数据是指角速度的大小和方向,第二数据是指加速度的大小和方向,上述方法还包括:
步骤802,通过驱动器确定第一数据的第一数据量和第二数据的第二数据量。
角速度数据中包含第一校验值和第一数据,第一校验值即为角速度数据中的第一数据的属性数据,指的是第一数据的数据量的校验值。加速度数据中包含第二校验值和第二数据,第二校验值即为加速度数据中的第二数据的属性数据,指的是第二数据的数据量的校验值。
驱动器通过识别角速度数据标识得到角速度数据后,可以获取角速度数据中的第一数据,并统计第一数据的数据量。具体地,当陀螺仪为三轴的陀螺仪时,即包含X轴、Y轴和Z轴。第一数据的数据量可以包含电子设备在X轴上的角速度数据,在Y轴上的角速度数据和在Z轴上的角速度数据。则第一数据量可以为X轴上的角速度数据的数据量、Y轴上的角速度数据以及Z轴上的角速度数据的总和。
同样地,驱动器通过识别加速度数据标识得到加速度数据后,可以获取加速度数据中的第二数据,并统计第二数据的数据量。具体地,第二数据的数据量可以是角加速度数据的数据量以及平移加速度数据的数据量的总和。其中,平移加速度数据的数据量可以包括水平方向的加速度数据的数据量和垂直方向的加速度数据的数据量。如图4所示,水平方向包括X轴方向和Y轴方向,垂直方向包括Z轴方向。则水平方向的加速度数据即X轴方向的加速度数据和Y轴方向的加速度数据,垂直方向的加速度数据即Z轴方向的加速度数据。
步骤804,获取角速度数据中的第一校验值和加速度数据中的第二校验值。
获取角速度数据中的第一校验值,第一校验值即是角速度数据中的第一数据的属性数据,指的是第一数据的数据量的校验值。获取加速度数据中的第二校验值,第二校验值即为加速度数据中的第二数据的属性数据,指的是第二数据的数据量的校验值。
步骤806,当第一数据量与第一校验值一致时,对第一数据的数据量校验成功。
可以理解的是,第一校验值为绑定之前的角速度数据中第一数据的数据量的值。当通过驱动器确定第一数据的第一数据量与第一校验值一致时,表示第一数据并未丢失,对第一数据的数据量校验成功。
当通过驱动器确定第一数据的第一数据量与第一校验值一致时,表示第一数据丢失或者第一数据存在错误。具体地,当通过驱动器确定第一数据的第一数据量小于第一校验值时,表示第一数据丢失;当通过驱动器确定第一数据的第一数据量大于第一校验值时,表示第一数据的数据量增多了,则可能第一数据在绑定或者传输的过程中发生错误。
步骤808,当第二数据量与第二校验值一致时,对第二数据的数据量校验成功。
可以理解的是,第二校验值为绑定之前的加速度数据中第二数据的数据量的值。当通过驱动器确定第二数据的第二数据量与第二校验值一致时,表示第二数据并未丢失,对第二数据的数据量校验成功。
当通过驱动器确定第二数据的第二数据量与第二校验值一致时,表示第二数据丢失或者第二数据存在错误。具体地,当通过驱动器确定第二数据的第二数据量小于第二校验值时,表示第二数据丢失;当通过驱动器确定第二数据的第二数据量大于第二校验值时,表示第二数据的数据量增多了,则可能第二数据在绑定或者传输的过程中发生错误。
上述防抖方法,通过驱动器确定第一数据的第一数据量和第二数据的第二数据量,并获取角速度数据中的第一校验值和加速度数据中的第二校验值,当第一数据量与第一校验值一致时,对第一数据的数据量校验成功;当第二数据量与第二校验值一致时,对第二数据的数据量校验成功,对第一数据的数据量和第二数据的数据量进行校验,可以避免在第一数据或第二数据发生丢包、错误等情况下根据角速度数据和加速度数据进行防抖,而存在防抖错误的问题,提高了防抖的准确性。
在一个实施例中,驱动器中包含反馈控制器,根据解绑后的角速度数据和加速度数据进行防抖处理,包括:根据解绑后的角速度数据和加速度数据得到补偿数据;将补偿数据发送至反馈控制器进行防抖处理。
驱动器可以根据角速度数据和加速度数据计算得到防抖的数据,从而对电子设备进行防抖。在驱动器中,可以包含反馈控制器和DSP控制器。反馈控制器如正反馈控制器,负反馈控制器,负反馈控制器可以是PID控制器等。通过DSP控制器可以对角速度数据和加速度数据进行数字信号处理,如识别处理,解绑处理,解压处理等。
具体地,惯性测量器可以将绑定后的数据发送至驱动器中的DSP控制器。则DSP控制器可以对绑定后的数据进行解绑得到角速度数据和加速度数据,再根据角速度数据和加速度数据得到补偿数据,并将补偿数据发送至驱动器中的反馈控制器。反馈控制器接收到补偿数据后,即可根据补偿数据进行防抖处理。
上述防抖方法,根据解绑后的角速度数据和加速度数据得到补偿数据,将补偿数据发送至反馈控制器进行防抖处理,可以提高防抖的准确性。
在一个实施例中,将补偿数据发送至反馈控制器进行防抖处理,包括:将补偿数据发送至反馈控制器;通过反馈控制器基于补偿数据确定第一补偿量,并将第一补偿量发送至马达;通过马达根据第一补偿量对镜头进行移动。
电子设备中的马达中绕有线圈,线圈通入电流之后可以产生洛伦兹力,该洛伦兹力可以推动镜头进行移动,即马达指的是将电能转化为机械能的装置。通过调整马达中通入的电流的大小,从而调整洛伦兹力的大小,从而可以将镜头推动不同的距离以实现防抖。
反馈控制器基于补偿数据可以确定第一补偿量,并将第一补偿量发送至马达。第一补偿量可以是电流的大小,马达获取到第一补偿量对应的电流,进而产生对应的洛伦兹力,从而推动镜头进行移动,实现了防抖。
上述防抖方法,将补偿数据发送至反馈控制器,通过反馈控制器基于补偿数据确定第一补偿量,并将第一补偿量发送至马达,通过马达根据第一补偿量对镜头进行移动,可以提高防抖的准确性。
在一个实施例中,上述方法还包括:通过霍尔传感器实时获取镜头的位置数据,并将位置数据反馈至反馈控制器;通过反馈控制器实时获取驱动器发送的补偿数据;基于实时获取的位置数据和补偿数据确定第二补偿量,并将第二补偿量发送至马达;通过马达根据第二补偿量对镜头进行移动。
霍尔传感器指的是测量位置数据的装置。通过霍尔传感器可以实时获取镜头的位置数据,并将位置数据反馈至反馈控制器。其中,位置数据可以用空间坐标表示。在镜头所处的空间建立空间坐标系,如建立X轴、Y轴和Z轴。如镜头的位置数据(3,5,-8),表示镜头所处的位置:X轴为3,Y轴为5以及Z轴为-8。
通过反馈控制器实时获取驱动器发送的补偿数据,并基于实时获取的镜头的位置数据和补偿数据可以确定第二补偿量,并将第二补偿量发送至马达。马达接收到第二补偿量后,可以根据第二补偿量对镜头进行移动。其中,第二补偿量可以是电流的大小。马达获取第二补偿量对应的电流,可以将电能转化为机械能,即产生洛伦兹力,从而推动镜头进行移动。
如图9所示,输入即补偿数据,902为PID控制器,即比例调节、积分调节和微分调节,904为马达,906为霍尔传感器,输出为马达产生的洛伦兹力。当马达904产生的洛伦兹力推动镜头进行移动时,通过霍尔传感器906可以实时获取镜头的位置数据,并将位置数据发送至PID控制器902。PID控制器902实时获取驱动器的输入,即补偿数据和霍尔传感器906实时发送的位置数据,可以根据位置数据和补偿数据进行比例调节、积分调节和微分调节,确定第二补偿量,并将第二补偿量发送至马达904。其中,第二补偿量可以为电流的大小。马达904根据第二补偿量获取对应的电流,马达中的线圈通入电流后可以产生洛伦兹力,从而推动镜头进行移动。
如图10为一个实施例中电子设备的内部结构图。其中,1002指的是摄像头模组,摄像头模组1002中包含驱动器1006,霍尔传感器1008,马达1010,镜头1012,1004指的是惯性测量器。惯性测量器1004将角速度数据和加速度数据进行绑定后发送至驱动器1006。驱动器1006获取到绑定的数据后,将绑定的数据进行解绑得到角速度数据和加速度数据,并根据角速度数据和加速度数据得到补偿数据,将补偿数据发送至驱动器中的反馈控制器。反馈控制器实时获取补偿数据,以及霍尔传感器1008实时发送的镜头的位置数据,并确定第二补偿量,将第二补偿量发送至马达1010。马达1010根据第二补偿量可以获取到对应的电流,将电能转化为机械能,即产生了洛伦兹力,推动镜头1012进行移动,从而实现了防抖。
应该理解的是,虽然图3和图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3和图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图11为一个实施例的防抖装置的结构框图。如图8所示,提供了一种防抖装置1100,包括:角速度数据获取模块1102、加速度数据获取模块1104、绑定模块1106、解绑模块1108和防抖处理模块1110,其中:
角速度数据获取模块1102,用于获取陀螺仪的角速度数据。
加速度数据获取模块1104,用于获取加速度计的加速度数据。
绑定模块1106,用于通过惯性测量器将角速度数据和加速度数据进行绑定,得到绑定后的数据,并将绑定后的数据发送至驱动器。
解绑模块1108,用于通过驱动器对绑定后的数据进行解绑得到角速度数据和加速度数据;
防抖处理模块1110,用于根据解绑后的角速度数据和加速度数据进行防抖处理。
上述防抖装置,获取陀螺仪的角速度数据和加速度计的加速度数据,通过惯性测量器将角速度数据和加速度数据进行绑定,并将绑定后的数据发送至驱动器,通过驱动器对绑定后的数据进行解绑得到角速度数据和加速度数据,解绑后得到的角速度数据与加速度数据相对应,避免了将角速度数据和加速度数据分别发送至驱动器,当其中一个数据发生延迟时造成驱动器接收的角速度数据和加速度数据不对应的问题,从而根据解绑后的相对应的角速度数据和加速度数据进行防抖处理,可以提高防抖的准确性。
在一个实施例中,上述绑定模块1106还用于通过先入先出存储器将角速度数据和加速度数据按照接收的先后顺序,将角速度数据和加速度数据进行首尾连接,得到绑定后的数据。
在一个实施例中,上述解绑模块1108还用于通过驱动器识别绑定后的数据中的角速度数据标识和加速度数据标识,得到角速度数据和加速度数据。
在一个实施例中,上述防抖装置还包括校验模块,用于通过驱动器确定第一数据的第一数据量和第二数据的第二数据量;获取角速度数据中的第一校验值和加速度数据中的第二校验值;当第一数据量与第一校验值一致时,对第一数据的数据量校验成功;当第二数据量与第二校验值一致时,对第二数据的数据量校验成功。
在一个实施例中,上述防抖处理模块1110还用于根据解绑后的角速度数据和加速度数据得到补偿数据;将补偿数据发送至反馈控制器进行防抖处理。
在一个实施例中,上述防抖处理模块1110还用于将补偿数据发送至反馈控制器;通过反馈控制器基于补偿数据确定第一补偿量,并将第一补偿量发送至马达;通过马达根据第一补偿量对镜头进行移动。
在一个实施例中,上述防抖处理模块1110还用于通过霍尔传感器实时获取镜头的位置数据,并将位置数据反馈至反馈控制器;通过反馈控制器实时获取驱动器发送的补偿数据;基于实时获取的位置数据和补偿数据确定第二补偿量,并将第二补偿量发送至马达;通过马达根据第二补偿量对镜头进行移动。
上述防抖装置中各个模块的划分仅用于举例说明,在其他实施例中,可将防抖装置按照需要划分为不同的模块,以完成上述防抖装置的全部或部分功能。
图12为一个实施例中电子设备的内部结构示意图。如图12所示,该电子设备包括通过***总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作***和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种防抖方法。内存储器为非易失性存储介质中的操作***计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑或者个人数字助理或穿戴式设备等。
本申请实施例中提供的防抖装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行防抖方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行防抖方法。
本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种防抖方法,应用于包含惯性测量器和驱动器的电子设备,所述惯性测量器包括陀螺仪、加速度计和先入先出存储器,其特征在于,包括:
获取所述陀螺仪的角速度数据;
获取所述加速度计的加速度数据;
通过所述先入先出存储器将所述角速度数据和所述加速度数据按照接收的先后顺序,将所述角速度数据和所述加速度数据进行首尾连接,得到绑定后的数据,并将所述绑定后的数据作为一个整体发送至所述驱动器;
通过驱动器识别所述绑定后的数据中的角速度数据标识和加速度数据标识,得到所述角速度数据和所述加速度数据;所述角速度数据中包含第一校验值和第一数据,所述加速度数据中包含第二校验值和第二数据,所述第一数据是指角速度的大小和方向,所述第二数据是指加速度的大小和方向;
通过所述驱动器确定所述第一数据的第一数据量和所述第二数据的第二数据量;所述第一数据量为X轴上的角速度数据的数据量、Y轴上的角速度数据的数据量以及Z轴上的角速度数据的数据量的总和;所述第二数据的数据量是角加速度数据的数据量以及平移加速度数据的数据量的总和;
获取所述角速度数据中的第一校验值和所述加速度数据中的第二校验值;
当所述第一数据量与所述第一校验值一致时,对所述第一数据的数据量校验成功;
当所述第二数据量与所述第二校验值一致时,对所述第二数据的数据量校验成功;
根据解绑后的所述角速度数据和所述加速度数据进行防抖处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述绑定后的数据进行压缩,并将压缩后的数据发送至所述驱动器。
3.根据权利要求1所述的方法,其特征在于,所述驱动器中包含反馈控制器,所述根据解绑后的所述角速度数据和所述加速度数据进行防抖处理,包括:
根据解绑后的所述角速度数据和所述加速度数据得到补偿数据;
将所述补偿数据发送至所述反馈控制器进行防抖处理。
4.根据权利要求3所述的方法,其特征在于,所述将所述补偿数据发送至所述反馈控制器进行防抖处理,包括:
将所述补偿数据发送至所述反馈控制器;
通过所述反馈控制器基于所述补偿数据确定第一补偿量,并将所述第一补偿量发送至马达;
通过所述马达根据所述第一补偿量对镜头进行移动。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
通过霍尔传感器实时获取所述镜头的位置数据,并将所述位置数据反馈至所述反馈控制器;
通过所述反馈控制器实时获取所述驱动器发送的补偿数据;
基于实时获取的所述位置数据和所述补偿数据确定第二补偿量,并将所述第二补偿量发送至马达;
通过所述马达根据所述第二补偿量对所述镜头进行移动。
6.一种防抖装置,应用于包含惯性测量器和驱动器的电子设备,所述惯性测量器包括陀螺仪、加速度计和先入先出存储器,其特征在于,包括:
角速度数据获取模块,用于获取所述陀螺仪的角速度数据;
加速度数据获取模块,用于获取所述加速度计的加速度数据;
绑定模块,用于通过所述先入先出存储器将所述角速度数据和所述加速度数据按照接收的先后顺序,将所述角速度数据和所述加速度数据进行首尾连接,得到绑定后的数据,并将所述绑定后的数据作为一个整体发送至所述驱动器;
解绑模块,用于通过驱动器识别所述绑定后的数据中的角速度数据标识和加速度数据标识,得到所述角速度数据和所述加速度数据;所述角速度数据中包含第一校验值和第一数据,所述加速度数据中包含第二校验值和第二数据,所述第一数据是指角速度的大小和方向,所述第二数据是指加速度的大小和方向;
校验模块,用于通过所述驱动器确定所述第一数据的第一数据量和所述第二数据的第二数据量;所述第一数据量为X轴上的角速度数据的数据量、Y轴上的角速度数据的数据量以及Z轴上的角速度数据的数据量的总和;所述第二数据的数据量是角加速度数据的数据量以及平移加速度数据的数据量的总和;获取所述角速度数据中的第一校验值和所述加速度数据中的第二校验值;当所述第一数据量与所述第一校验值一致时,对所述第一数据的数据量校验成功;当所述第二数据量与所述第二校验值一致时,对所述第二数据的数据量校验成功;
防抖处理模块,用于根据解绑后的所述角速度数据和所述加速度数据进行防抖处理。
7.根据权利要求6所述的装置,其特征在于,所述驱动器中包含反馈控制器,所述防抖处理模块还用于根据解绑后的所述角速度数据和所述加速度数据得到补偿数据;将所述补偿数据发送至所述反馈控制器进行防抖处理。
8.根据权利要求7所述的装置 ,其特征在于,所述防抖处理模块还用于将所述补偿数据发送至所述反馈控制器;通过所述反馈控制器基于所述补偿数据确定第一补偿量,并将所述第一补偿量发送至马达;通过所述马达根据所述第一补偿量对镜头进行移动。
9.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述的防抖方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910561251.XA CN110113542B (zh) | 2019-06-26 | 2019-06-26 | 防抖方法和装置、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910561251.XA CN110113542B (zh) | 2019-06-26 | 2019-06-26 | 防抖方法和装置、电子设备、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110113542A CN110113542A (zh) | 2019-08-09 |
CN110113542B true CN110113542B (zh) | 2021-05-11 |
Family
ID=67495822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910561251.XA Active CN110113542B (zh) | 2019-06-26 | 2019-06-26 | 防抖方法和装置、电子设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110113542B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351508B (zh) * | 2019-08-13 | 2021-09-28 | Oppo广东移动通信有限公司 | 基于录像模式的防抖处理方法和装置、电子设备 |
CN111031235B (zh) * | 2019-11-21 | 2021-10-22 | 维沃移动通信有限公司 | 一种ois驱动电路结构、数据获取方法及电子设备 |
CN113933855A (zh) * | 2020-06-29 | 2022-01-14 | 配天机器人技术有限公司 | 一种机器人抖动测试***、方法、装置及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10191153A (ja) * | 1996-12-26 | 1998-07-21 | Canon Inc | 撮像機器の振れ補正方法及び装置並びに記憶媒体 |
CN104967785A (zh) * | 2015-07-07 | 2015-10-07 | 小米科技有限责任公司 | 控制光学防抖的方法及装置 |
CN107888828A (zh) * | 2017-11-22 | 2018-04-06 | 网易(杭州)网络有限公司 | 空间定位方法及装置、电子设备、以及存储介质 |
CN109922264A (zh) * | 2019-03-26 | 2019-06-21 | Oppo广东移动通信有限公司 | 摄像头防抖***和方法、电子设备、计算机可读存储介质 |
CN109922253A (zh) * | 2017-12-13 | 2019-06-21 | 北京小米移动软件有限公司 | 镜头防抖方法及装置、移动设备 |
-
2019
- 2019-06-26 CN CN201910561251.XA patent/CN110113542B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10191153A (ja) * | 1996-12-26 | 1998-07-21 | Canon Inc | 撮像機器の振れ補正方法及び装置並びに記憶媒体 |
CN104967785A (zh) * | 2015-07-07 | 2015-10-07 | 小米科技有限责任公司 | 控制光学防抖的方法及装置 |
CN107888828A (zh) * | 2017-11-22 | 2018-04-06 | 网易(杭州)网络有限公司 | 空间定位方法及装置、电子设备、以及存储介质 |
CN109922253A (zh) * | 2017-12-13 | 2019-06-21 | 北京小米移动软件有限公司 | 镜头防抖方法及装置、移动设备 |
CN109922264A (zh) * | 2019-03-26 | 2019-06-21 | Oppo广东移动通信有限公司 | 摄像头防抖***和方法、电子设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110113542A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110012224B (zh) | 摄像头防抖***、方法、电子设备和计算机可读存储介质 | |
CN109842753B (zh) | 摄像头防抖***、方法、电子设备和存储介质 | |
CN108737734B (zh) | 图像补偿方法和装置、计算机可读存储介质和电子设备 | |
CN111147741B (zh) | 基于对焦处理的防抖方法和装置、电子设备、存储介质 | |
CN110035228B (zh) | 摄像头防抖***、方法、电子设备和计算机可读存储介质 | |
CN108769528B (zh) | 图像补偿方法和装置、计算机可读存储介质和电子设备 | |
CN110113542B (zh) | 防抖方法和装置、电子设备、计算机可读存储介质 | |
WO2020192479A1 (zh) | 摄像头防抖***和方法、电子设备 | |
CN110300263B (zh) | 陀螺仪处理方法和装置、电子设备、计算机可读存储介质 | |
CN109922264B (zh) | 摄像头防抖***和方法、电子设备、计算机可读存储介质 | |
CN109951638B (zh) | 摄像头防抖***、方法、电子设备和计算机可读存储介质 | |
CN111432118B (zh) | 图像防抖处理方法、装置、电子设备和存储介质 | |
CN109963080B (zh) | 图像采集方法、装置、电子设备和计算机存储介质 | |
CN111246100B (zh) | 防抖参数的标定方法、装置和电子设备 | |
CN109598764A (zh) | 摄像头标定方法和装置、电子设备、计算机可读存储介质 | |
CN109660718B (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN111246088A (zh) | 防抖方法、电子设备和计算机可读存储介质 | |
CN110266950B (zh) | 陀螺仪处理方法和装置、电子设备、计算机可读存储介质 | |
CN108260360B (zh) | 场景深度计算方法、装置及终端 | |
CN110233969B (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
JP2020056953A (ja) | 防振装置、画像処理装置、及び検出方法 | |
CN112129317B (zh) | 信息采集时间差确定方法、装置以及电子设备、存储介质 | |
CN110278374B (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
US20220174217A1 (en) | Image processing method and device, electronic device, and computer-readable storage medium | |
CN109685854A (zh) | 摄像头标定方法和装置、电子设备、计算机可读存储介质 |
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 |