CN113645402A - 摄像设备的比特率控制方法、系统、存储介质及摄像设备 - Google Patents
摄像设备的比特率控制方法、系统、存储介质及摄像设备 Download PDFInfo
- Publication number
- CN113645402A CN113645402A CN202110851892.6A CN202110851892A CN113645402A CN 113645402 A CN113645402 A CN 113645402A CN 202110851892 A CN202110851892 A CN 202110851892A CN 113645402 A CN113645402 A CN 113645402A
- Authority
- CN
- China
- Prior art keywords
- bit rate
- storage medium
- time period
- memory
- buffer area
- 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
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/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
本发明公开了一种摄像设备比特率的控制方法、系统、存储介质及摄像设备,方法包括:获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;判断剩余内存的变化趋势在第一时段内是否升高或降低;若剩余内存的变化趋势逐渐降低,则获取存储媒体在第一时段内的写入速度的变化趋势;判断写入速度的变化趋势在第一时段内是否降低或升高;若写入速度的变化趋势降低,则在第一时段后,降低摄像设备的比特率至第一预设值;若写入速度的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第二预设值;若剩余内存的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第三预设值;本发明能够降低摄像设备的卡顿现象和漏录的情况发生的几率。
Description
技术领域
本发明涉及比特率控制技术领域,尤其涉及一种摄像设备比特率的控制方法、系统、存储介质及摄像设备。
背景技术
摄像设备在进行拍照、录像功能时,产生的数据会存储在其内的存储媒体内,常用的存储媒体包括机械硬盘、固态硬盘、内存卡等。
但是,存储媒体在长时间使用之后,写入速度会变慢,这是由于摄像设备的摄像数据的产生速度,大于存储媒体的写入速度,使得摄像数据在缓冲区堆积,造成缓冲区剩余内存的减少,因此摄像设备的主控芯片为了降低缓存区缓存摄像数据的速度,会降低摄像数据的产生速度,这就造成了卡顿现象,而在缓冲区剩余内存几乎减少为零时,摄像设备的主控芯片会停止摄像数据的产生速度,即停止录像,并在整理或清理存储媒体的内存空间后,重启录像功能,这就会导致摄像设备出现漏录的情况。
因此,亟待出现一种技术,能够降低摄像设备的卡顿现象和漏录的情况发生的几率。
发明内容
基于此,有必要针对上述问题,提出了一种摄像设备的比特率控制方法、系统、存储介质及摄像设备。
一种摄像设备的比特率控制方法方法,所述方法包括:获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;判断所述剩余内存的变化趋势在第一时段内是否升高或降低;若所述剩余内存的变化趋势逐渐降低,则获取存储媒体在所述第一时段内的写入速度的变化趋势,所述写入速度为将摄像数据从所述缓冲区写入所述存储媒体,以使所述存储媒体存储所述摄像数据的速度;判断所述写入速度的变化趋势在第一时段内是否降低或升高;若所述写入速度的变化趋势降低,则在所述第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;若所述写入速度的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;若所述剩余内存的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
其中,在所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,所述方法还包括:获取所述存储媒体已进行的擦写次数值,以及预设的擦写次数阈值;判断所述擦写次数值是否小于所述擦写次数阈值;若是,则不改变所述摄像设备的比特率,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤;若否,则降低所述摄像设备的比特率至第四预设值,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
其中,在所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,所述方法还包括:获取所述存储媒体的存储区的坏块比例值;判断所述坏块比例是否大于预设的坏块比例阈值;若是,则降低所述摄像设备的比特率至第五预设值,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤;若否,则不改变所述摄像设备的比特率,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
其中,在判断写入速度的变化趋势在第一时段内是否降低或升高后,所述方法还包括:若所述写入速度不变,则获取所述存储媒体的读写速度值;判断所述读写速度值是否小于预设的读写速度阈值;若是,则在所述第一时段后,降低所述摄像设备的比特率至第六预设值;若否,则在所述第一时段后,保持摄像设备的比特率不变。
其中,在获取存储媒体在所述第一时段内的写入速度的变化趋势,之前还包括:计算所述剩余内存占缓冲区总内存的百分比;若所述百分比小于预设的第一阈值,则控制所述摄像设备停止工作,并清理所述总内存内的资料;降低所述摄像设备的比特率至第七预设值,并控制所述摄像设备重新开始工作;若所述百分比大于所述第一阈值,则继续执行获取存储媒体在所述第一时段内的写入速度的步骤。
其中,在所述控制所述摄像设备重新开始工作后,所述方法还包括:重新判断所述剩余内存在第一时段后的第二时段内是否逐渐变小;若所述剩余内存逐渐变小,且所述剩余内存占总内存的百分比小于所述第一阈值,则在第二时段后,获取所述剩余内存逐渐变小的因素,并向预定接收端推送预定通知,所述预定通知包含所述剩余内存逐渐变小的因素。
其中,在所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,所述方法还包括:计算在相邻的两个第三时间段内所述摄像设备拍摄场景的相似度;判断所述相似度是否大于预设的相似度阈值;若大于或等于,则在相邻的两个第三时段后,降低所述摄像设备的比特率至第八预设值,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤;若小于,则在相邻的两个第三时段后,提升所述摄像设备的比特率至第九预设值,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
本发明第二方面提供一种摄像设备的比特率控制系统,所述系统包括:剩余内存获取模块,用于获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;第一判断模块,用于判断所述剩余内存的变化趋势在第一时段内是否升高或降低;写入速度获取模块,用于若所述剩余内存的变化趋势逐渐降低,则获取存储媒体在所述第一时段内的写入速度的变化趋势,所述写入速度为将摄像数据从所述缓冲区写入所述存储媒体,以使所述存储媒体存储所述摄像数据的速度;第二判断模块,用于判断所述写入速度的变化趋势在第一时段内是否降低或升高;第一控制模块,用于若所述写入速度的变化趋势降低,则在所述第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;若所述写入速度的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;若所述剩余内存的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
本发明第三方面提供一种摄像设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;判断所述剩余内存的变化趋势在第一时段内是否升高或降低;若所述剩余内存的变化趋势逐渐降低,则获取存储媒体在所述第一时段内的写入速度的变化趋势,所述写入速度为将摄像数据从所述缓冲区写入所述存储媒体,以使所述存储媒体存储所述摄像数据的速度;判断所述写入速度的变化趋势在第一时段内是否降低或升高;若所述写入速度的变化趋势降低,则在所述第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;若所述写入速度的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;若所述剩余内存的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
本发明第四方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;判断所述剩余内存的变化趋势在第一时段内是否升高或降低;若所述剩余内存的变化趋势逐渐降低,则获取存储媒体在所述第一时段内的写入速度的变化趋势,所述写入速度为将摄像数据从所述缓冲区写入所述存储媒体,以使所述存储媒体存储所述摄像数据的速度;判断所述写入速度的变化趋势在第一时段内是否降低或升高;若所述写入速度的变化趋势降低,则在所述第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;若所述写入速度的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;若所述剩余内存的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
采用本发明实施例,具有如下有益效果:
通过获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势,能够判断剩余内存在第一时段内是否升高或降低,剩余内存的变化趋势升高则表明摄像设备的摄像数据的产生速度,小于存储媒体的写入速度,此时提升比特率,能够提升摄像数据的质量;剩余内存的变化趋势降低则表明摄像设备的摄像数据的产生速度,大于存储媒体的写入速度,这就可能造成卡顿现象;
因此再通过判断写入速度的变化趋势在第一时段内是否降低或升高,则能够判断出,缓冲区的剩余内存是否处于增加或减少的状态,写入速度的变化趋势升高则会增加缓冲区被释放的速度,使得剩余内存的变化趋势会趋于平缓,直至在第一时段后,缓冲区的剩余内存的变化趋势升高,缓存区的剩余内存又会逐渐增加,可以缓冲更多的摄像数据,因此在第一时段后,可以提升比特率来提升摄像数据的质量;写入速度降低则降低了缓冲区被释放的速度,在第一时段后,缓冲区的剩余内存的变化趋势会降低,缓冲区的剩余内存逐渐减小,因此降低比特率来降低摄像数据在缓冲区占用的内存,降低缓冲区的剩余内存逐渐减少的几率,从而降低卡顿现象及漏录情况出现的几率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中摄像设备比特率的控制方法的流程图;
图2为一个实施例中摄像设备比特率的控制方法通过判断擦写数值是否小于擦写次数阈值的方式控制摄像设备比特率的方法的流程图;
图3为一个实施例中摄像设备比特率的控制方法通过判断坏块比例是否大于坏块比例阈值的方式控制摄像设备比特率的方法的流程图;
图4为一个实施例中摄像设备比特率的控制方法通过判断读写速度值是否小于读写速度阈值的方式控制摄像设备比特率的方法的流程图;
图5为一个实施例中摄像设备比特率的控制装置的结构框图;
图6为一个实施例中摄像设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在一个实施例中,本申请提供了一种摄像设备比特率的控制方法,包括:
S101、获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;
S102、判断剩余内存的变化趋势在第一时段内是否升高或降低;
S103、若剩余内存的变化趋势逐渐降低,则获取存储媒体在第一时段内的写入速度的变化趋势;
S104、判断写入速度的变化趋势在第一时段内是否降低或升高;
S105、若写入速度的变化趋势降低,则在第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;
S106、若写入速度的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;
S107、若剩余内存的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
在步骤S101中,存储媒体可以是机械硬盘、固态硬盘、内存卡等,在本实施例中,存储媒体为内存卡;剩余内存的变化趋势,则能够表示,剩余内存是否逐渐增加,或者逐渐减少,或者不变的情况。
在步骤S102中,判断剩余内存的变化趋势在第一时段内是否逐渐变小或变大,是为了判断摄像设备的摄像数据产生速度,和存储媒体的写入速度之间的关系,剩余内存的变化趋势逐渐变大,则表明摄像设备的摄像数据的产生速度,小于存储媒体的写入速度;剩余内存的变化趋势逐渐变小,则表明摄像设备的摄像数据的产生速度,大于存储媒体的写入速度,此种情况可能造成卡顿现象。
在步骤S103中,写入速度的变化趋势,则能够表示,写入速度是否逐渐升高,或者逐渐降低,或者不变的情况。在本实施例中,影响写入速度的因素包括:在摄像数据持续连续写入的情况下,碎片化空间会越来越多,大幅度影响写入速度;一些使用了闪存颗粒的存储媒体,闪存颗粒出现老化,会导致读写效率逐渐降低;另外随着闪存颗粒老化,存储媒体的坏块会逐渐变多,影响读写效率;受到摄像设备中,主控芯片的控制,会提升或降低读写速度。
在步骤S101中,通过获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势,能够通过步骤S102判断剩余内存在第一时段内是否升高或降低,剩余内存的变化趋势升高则表明摄像设备的摄像数据的产生速度,小于存储媒体的写入速度,此时可使用步骤S107,提升比特率来提升摄像数据的质量。
剩余内存的变化趋势降低则表明摄像设备的摄像数据的产生速度,大于存储媒体的写入速度,这就可能造成卡顿现象;因此再通过步骤S103、S104,判断写入速度的变化趋势在第一时段内是否降低或升高,则能够判断出,缓冲区的剩余内存是否处于增加或减少的状态,写入速度的变化趋势升高则会增加缓冲区被释放的速度,使得剩余内存的变化趋势会趋于平缓,直至在第一时段后,缓冲区的剩余内存的变化趋势升高,缓存区的剩余内存又会逐渐增加,可以缓冲更多的摄像数据,因此在第一时段后,可以通过步骤S106,提升比特率来提升摄像数据的质量;写入速度降低则降低了缓冲区被释放的速度,在第一时段后,缓冲区的剩余内存的变化趋势会降低,缓冲区的剩余内存逐渐减小,因此通过步骤S105,降低比特率来降低摄像数据在缓冲区占用的内存,降低缓冲区的剩余内存逐渐减少的几率,从而降低卡顿现象及漏录情况出现的几率。
如图2所示,在一个实施例中,在步骤S101,获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,摄像设备的比特率控制方法还包括:
S108、获取存储媒体已进行的擦写次数值,以及预设的擦写次数阈值;
S109、判断擦写次数值是否小于擦写次数阈值;
S110、若是,则不改变摄像设备的比特率至第四预设值;
S111、若否,则降低摄像设备的比特率。
在步骤S110及步骤S111任一步骤执行后,继续执行步骤S101,获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
在本实施例中,存储媒体的擦写次数值达到擦写次数阈值后,也有可能出现卡顿现象,例如,使用TLC颗粒的内存卡,擦写寿命大约为1000次,使用QLC颗粒的内存卡,擦写寿命大约为100-200次,超过擦写寿命则由卡顿的风险,因此通过步骤S109判断存储媒体的擦写次数值是否小于擦写次数阈值,小于则表示存储媒体不会因擦写寿命变的卡顿,此时无需改变摄像设备的比特率;大于则表示存储媒体会因擦写寿命变的卡顿,因此需要降低摄像设备的比特率,来降低摄像数据在缓冲区占用的内存,降低缓冲区的剩余内存逐渐减少的几率,从而降低卡顿现象及漏录情况出现的几率。
如图3所示,在一个实施例中,在步骤S101,获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,摄像设备的比特率控制方法还包括:
S112、获取存储媒体的存储区的坏块比例值;
S113、判断坏块比例是否大于预设的坏块比例阈值;
S114、若是,则降低摄像设备的比特率至第五预设值;
S115、若否,则不改变摄像设备的比特率。
在步骤S114及步骤S115任一步骤执行后,继续执行步骤S101,获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
在本实施例中,当存储媒体的存储区具有坏块时,坏块区域不能被使用,因此在总量上,会减少缓冲区的内存,从而使得缓冲区的剩余内存减少,若坏块比例超过坏块比例阈值,由于可用剩余内存的减少,也可能造成卡顿现象,在本实施例中,坏块比例阈值为5%。
因此在步骤S113判断坏块比例是否大于坏块比例阈值时,若判断结果为是,则表明存储媒体可能会因为坏块的原因造成卡顿,此时需要通过步骤S114,降低摄像设备的比特率,来降低摄像数据在缓冲区占用的内存,降低缓冲区的剩余内存逐渐减少的几率,从而降低卡顿现象及漏录情况出现的几率;若判断结果为否,则表明存储媒体不会因为坏块的原因造成卡顿,因此无需降低摄像设备的比特率,执行步骤S115.
如图4所示,在一个实施例中,在步骤S104中,在判断写入速度的变化趋势在第一时段内是否降低或升高后,摄像设备的比特率控制方法还包括:
S116、若写入速度不变,则获取存储媒体的读写速度值;
S117、判断读写速度值是否小于预设的读写速度阈值;
S118、若是,则在第一时段后,降低摄像设备的比特率至第六预设值;
S119、若否,则在第一时段后,保持摄像设备的比特率不变。
在本实施例中,读写速度阈值为存储媒体能够达到的最高读写速度,因此在写入速度不变的情况下,若读写速度值小于读写速度阈值,则可能会进一步造成缓冲区内的数据增多,使得卡顿现象进一步严重,因此需要执行步骤S118,降低摄像数据在缓冲区占用的内存,以降低缓冲区的剩余内存逐渐减少的几率,从而降低卡顿现象及漏录情况出现的几率;在写入速度不变的情况下,若读写速度值不小于读写速度阈值,此时达到了存储媒体能够达到的最高读写速度,因此执行步骤S119,保持摄像设备的比特率不变。
在一个实施例中,在步骤S101,取存储媒体在第一时段内的写入速度的变化趋势,之前,摄像设备的比特率控制方法还包括:
S120、计算剩余内存占缓冲区总内存的百分比;
S121、若百分比小于预设的第一阈值,则控制摄像设备停止工作,并清理总内存内的资料后;
S122、降低摄像设备的比特率至第七预设值,并控制摄像设备重新开始工作;
S123、若百分比大于第一阈值,则继续执行获取存储媒体在第一时段内的写入速度的步骤。
在本实施例中,若剩余内存占缓冲区总内存的百分比小于第一阈值,则表示缓冲区的剩余内存不多,出现了严重的卡顿现象,因此首先需要执行步骤S121,增加缓冲区的剩余内存,再执行步骤S122,降低比特率来降低摄像数据在缓冲区占用的内存,以降低缓冲区的剩余内存逐渐减少的几率,从而降低卡顿现象及漏录情况出现的几率;由于清理内存及调整比特率的用时较少,一般小于1秒,因此仅有不到1秒时间的漏录,不会影响摄像设备的正常运行,则能够继续执行步骤S101,获取存储媒体在第一时段内的写入速度的步骤。在本实施例中,第一阈值为20%。
在本实施例中,在步骤S123后,摄像设备的比特率控制方法还可包括:若百分比大于预设的第二阈值,且在判断写入速度在第一时段内是否逐渐降低时,若写入速度不变,则不改变摄像设备的比特率,第二阈值大于第一阈值。
若剩余内存占缓冲区总内存的百分比大于第二阈值,则表示缓冲区的剩余内存较多,因此即使变化数据逐渐变小,在写入速度不变的情况下,短时间内也不会出现卡顿现象,此时不改变摄像设备的比特率。在本实施例中,第二阈值为50%。
在一个实施例中,在步骤S122中,控制摄像设备重新开始工作后,摄像设备的比特率控制方法还包括:
S124、重新判断剩余内存在第一时段后的第二时段内是否逐渐变小;
S125、若剩余内存逐渐变小,且剩余内存占总内存的百分比小于第一阈值,则在第二时段后,获取剩余内存逐渐变小的因素,并向预定接收端推送预定通知,预定通知包含剩余内存逐渐变小的因素。
在本实施例中,在执行步骤S122后,执行步骤S124,若剩余内存在第一时段后的第二时段内仍然逐渐变小,则表示内存卡可能即将损坏,因此通过执行步骤S125,能够及时提醒用户及时更换内存卡,以降低内存卡损坏导致摄像设备不能正常工作的几率。
在本实施例中,剩余内存逐渐变小的因素包括:存储媒体即将损坏、存储媒体的擦写此数值达到擦写次数阈值、存储媒体的坏块比例大于坏块比例阈值等。
在一个实施例中,在步骤S101,获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,摄像设备的比特率控制方法还包括:
S126、计算在相邻的两个第三时间段内摄像设备拍摄场景的相似度;
S127、判断相似度是否大于预设的相似度阈值;
S128、若大于或等于,则在相邻的两个第三时段后,降低摄像设备的比特率至第八预设值,;
S129、若小于,则在相邻的两个第三时段后,提升摄像设备的比特率至第九预设值。
在步骤S128及步骤S129任一步骤执行后,继续执行步骤S101,获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
在本实施例中,若相邻的两个第三时段内摄像设备拍摄场景的相似度小于相似度阈值,则表示两个第三时段时,拍摄场景变化不大,大多为重复场景拍摄,因此执行步骤S129,降低摄像设备的比特率,从而减少重复场景拍摄产生的摄像数据占用的缓冲区的剩余内存,降低缓冲区的剩余内存逐渐减少的几率,从而降低卡顿现象及漏录情况出现的几率。在本实施例中,相似度阈值可以为90%;在其他实施例中,相似度阈值也可以为70%-89%,以及91%-100%中的任意数值。
相邻的两个第三时段内摄像设备拍摄场景的相似度大于或等于相似度阈值,则表示两个第三时段时,拍摄场景变化较大,需要提升摄像数据的质量,因此执行步骤S128,提升摄像设备的比特率,以提升摄像数据的品质。
在上述实施例中,调整比特率至第一预设值至第九预设值中的任一值时,调整方法包括:获取预设的参数表,参数表至少包含剩余内存的变化趋势参数、写入速度的变化趋势参数及调整参数;获取当前参数,并当前参数映射至参数表,确定与当前参数相同的剩余内存的变化趋势参数或写入速度的变化趋势参数对应的调整参数;根据调整参数调整比特率。
在本实施例中,当前参数可以是剩余内存的变化趋势,也可以是写入速度的变化趋势,根据不同的步骤,使用不同的参数,例如在步骤S105中,在降低摄像设备的比特率至第一预设值时,使用的当前参数为写入速度的变化趋势,执行上述的调整方法,将摄像设备的比特率降低至第一预设值。又例如在步骤S107,中,在提升摄像设备的比特率至第三预设值时,使用的当前参数为剩余内存的变化趋势,执行上述的调整方法,将摄像设备的比特率提升至第三预设值。
如图5所示,在一个实施例中,本发明还提供一种摄像设备的比特率控制系统,系统包括:剩余内存获取模块1、第一判断模块2、写入速度获取模块3、第二判断模块4及第一控制模块5;剩余内存获取模块1用于获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;第一判断模块2用于判断剩余内存的变化趋势在第一时段内是否升高或降低;写入速度获取模块3用于若剩余内存的变化趋势逐渐降低,则获取存储媒体在第一时段内的写入速度的变化趋势,写入速度为将摄像数据从缓冲区写入存储媒体,以使存储媒体存储摄像数据的速度;第二判断模块4用于判断写入速度的变化趋势在第一时段内是否降低或升高;第一控制模块5用于若写入速度的变化趋势降低,则在第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;若写入速度的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;若剩余内存的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
本实施例通过获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势,能够判断剩余内存在第一时段内是否升高或降低,剩余内存的变化趋势升高则表明摄像设备的摄像数据的产生速度,小于存储媒体的写入速度,此时提升比特率,能够提升摄像数据的质量;剩余内存的变化趋势降低则表明摄像设备的摄像数据的产生速度,大于存储媒体的写入速度,这就可能造成卡顿现象;
因此再通过判断写入速度的变化趋势在第一时段内是否降低或升高,则能够判断出,缓冲区的剩余内存是否处于增加或减少的状态,写入速度的变化趋势升高则会增加缓冲区被释放的速度,使得剩余内存的变化趋势会趋于平缓,直至在第一时段后,缓冲区的剩余内存的变化趋势升高,缓存区的剩余内存又会逐渐增加,可以缓冲更多的摄像数据,因此在第一时段后,可以提升比特率来提升摄像数据的质量;写入速度降低则降低了缓冲区被释放的速度,在第一时段后,缓冲区的剩余内存的变化趋势会降低,缓冲区的剩余内存逐渐减小,因此降低比特率来降低摄像数据在缓冲区占用的内存,降低缓冲区的剩余内存逐渐减少的几率,从而降低卡顿现象及漏录情况出现的几率
在一个实施例中,摄像设备的比特率控制系统还包括:擦写次数值获取模块、第三判断模块及第二控制模块;擦写次数值获取模块用于获取存储媒体已进行的擦写次数值,以及预设的擦写次数阈值;第三判断模块用于判断擦写次数值是否小于擦写次数阈值;第二控制模块用于若第三判断模块判断为是,则不改变摄像设备的比特率;还用于若第三判断模块判断为否,则降低摄像设备的比特率至第四预设值。
在一个实施例中,摄像设备的比特率控制系统还包括:坏块获取模块、第四判断模块及第三控制模块;坏块获取模块用于获取存储媒体的存储区的坏块比例值;第四判断模块用于判断坏块比例是否大于预设的坏块比例阈值;第三控制模块用于若第四判断模块判断为是,则降低摄像设备的比特率至第五预设值;还用于若第四判断模块判断为否,则不改变摄像设备的比特率。
在一个实施例中,摄像设备的比特率控制系统还包括:读写速度值获取模块、第五判断模块及第四控制模块;读写速度值获取模块用于若第二判断模块4判断写入速度不变,则获取存储媒体的读写速度值;第五判断模块用于判断读写速度值是否小于预设的读写速度阈值;第四控制模块用于若第五判断模块判断为是,则在第一时段后,降低摄像设备的比特率至第六预设值;还用于若第五判断模块判断为否,则在第一时段后,保持摄像设备的比特率不变。
在一个实施例中,摄像设备的比特率控制系统还包括:百分比计算模块、第五控制模块及第六控制模块;百分比计算模块用于若第一判断模块2判断为是,则计算剩余内存占缓冲区总内存的百分比;第五控制模块用于若百分比计算模块计算的百分比小于预设的第一阈值,则控制摄像设备停止工作,并清理总内存内的资料;降低摄像设备的比特率至第七预设值,并控制摄像设备重新开始工作;第六控制模块用于若百分比大于第一阈值,则继续执行获取存储媒体在第一时段内的写入速度的步骤。
在一个实施例中,摄像设备的比特率控制系统还包括:第七判断模块及通知推送模块;第七判断模块,用于在控制摄像设备重新开始工作后,重新判断剩余内存在第一时段后的第二时段内是否逐渐变小;通知推送模块,用于若第七判断模块判断为是,且剩余内存占总内存的百分比小于第一阈值,则在第二时段后,获取剩余内存逐渐变小的因素,并向预定接收端推送预定通知,预定通知包含剩余内存逐渐变小的因素。
在一个实施例中,摄像设备的比特率控制系统还包括:相似度计算模块、第八判断模块及第七控制模块,相似度计算模块用于计算在相邻的两个第三时间段内摄像设备拍摄场景的相似度;第八判断模块判断相似度是否大于预设的相似度阈值;第七控制模块用于若第八判断模块判断为是,则在相邻的两个第三时段后,降低摄像设备的比特率比特率至第八预设值;若第八判断模块判断为否,则在相邻的两个第三时段后,提升摄像设备的比特率至第九预设值。
图6示出了一个实施例中摄像设备的内部结构图。该摄像设备具体可以是终端,也可以是服务器。如图6所示,该摄像设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该摄像设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器摄像设备的比特率控制方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行摄像设备的比特率控制方法。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的摄像设备的限定,具体的摄像设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种摄像设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;判断剩余内存的变化趋势在第一时段内是否升高或降低;若剩余内存的变化趋势逐渐降低,则获取存储媒体在第一时段内的写入速度的变化趋势,写入速度为将摄像数据从缓冲区写入存储媒体,以使存储媒体存储摄像数据的速度;判断写入速度的变化趋势在第一时段内是否降低或升高;若写入速度的变化趋势降低,则在第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;若写入速度的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;若剩余内存的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;判断剩余内存的变化趋势在第一时段内是否升高或降低;若剩余内存的变化趋势逐渐降低,则获取存储媒体在第一时段内的写入速度的变化趋势,写入速度为将摄像数据从缓冲区写入存储媒体,以使存储媒体存储摄像数据的速度;判断写入速度的变化趋势在第一时段内是否降低或升高;若写入速度的变化趋势降低,则在第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;若写入速度的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;若剩余内存的变化趋势升高,则在第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种摄像设备的比特率控制方法,其特征在于,所述方法包括:
获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;
判断所述剩余内存的变化趋势在第一时段内是否升高或降低;
若所述剩余内存的变化趋势逐渐降低,则获取存储媒体在所述第一时段内的写入速度的变化趋势;
判断所述写入速度的变化趋势在第一时段内是否降低或升高;
若所述写入速度的变化趋势降低,则在所述第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;
若所述写入速度的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;
若所述剩余内存的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
2.根据权利要求1所述的摄像设备的比特率控制方法,其特征在于,
在所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,所述方法还包括:
获取所述存储媒体已进行的擦写次数值,以及预设的擦写次数阈值;
判断所述擦写次数值是否小于所述擦写次数阈值;
若是,则不改变所述摄像设备的比特率,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤;
若否,则降低所述摄像设备的比特率至第四预设值,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
3.根据权利要求1所述的摄像设备的比特率控制方法,其特征在于,
在所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,所述方法还包括:
获取所述存储媒体的存储区的坏块比例值;
判断所述坏块比例是否大于预设的坏块比例阈值;
若是,则降低所述摄像设备的比特率至第五预设值,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤;
若否,则不改变所述摄像设备的比特率,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
4.根据权利要求1所述的摄像设备的比特率控制方法,其特征在于,
在判断写入速度的变化趋势在第一时段内是否降低或升高后,所述方法还包括:
若所述写入速度不变,则获取所述存储媒体的读写速度值;
判断所述读写速度值是否小于预设的读写速度阈值;
若是,则在所述第一时段后,降低所述摄像设备的比特率至第六预设值;
若否,则在所述第一时段后,保持摄像设备的比特率不变。
5.根据权利要求1所述的摄像设备的比特率控制方法,其特征在于,
在获取存储媒体在所述第一时段内的写入速度的变化趋势,之前还包括:
计算所述剩余内存占缓冲区总内存的百分比;
若所述百分比小于预设的第一阈值,则控制所述摄像设备停止工作,并清理所述总内存内的资料;
降低所述摄像设备的比特率至第七预设值,并控制所述摄像设备重新开始工作;
若所述百分比大于所述第一阈值,则继续执行获取存储媒体在所述第一时段内的写入速度的步骤。
6.根据权利要求5所述的摄像设备的比特率控制方法,其特征在于,
在所述控制所述摄像设备重新开始工作后,所述方法还包括:
重新判断所述剩余内存在第一时段后的第二时段内是否逐渐变小;
若所述剩余内存逐渐变小,且所述剩余内存占总内存的百分比小于所述第一阈值,则在第二时段后,获取所述剩余内存逐渐变小的因素,并向预定接收端推送预定通知,所述预定通知包含所述剩余内存逐渐变小的因素。
7.根据权利要求1所述的摄像设备的比特率控制方法,其特征在于,
在所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势前,所述方法还包括:
计算在相邻的两个第三时间段内所述摄像设备拍摄场景的相似度;
判断所述相似度是否大于预设的相似度阈值;
若大于或等于,则在相邻的两个第三时段后,降低所述摄像设备的比特率至第八预设值,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤;
若小于,则在相邻的两个第三时段后,提升所述摄像设备的比特率至第九预设值,并继续执行所述获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势的步骤。
8.一种摄像设备的比特率控制系统,其特征在于,所述系统包括:
剩余内存获取模块,用于获取存储媒体的缓冲区在第一时段内剩余内存的变化趋势;
第一判断模块,用于判断所述剩余内存的变化趋势在第一时段内是否升高或降低;
写入速度获取模块,用于若所述剩余内存的变化趋势逐渐降低,则获取存储媒体在所述第一时段内的写入速度的变化趋势,所述写入速度为将摄像数据从所述缓冲区写入所述存储媒体,以使所述存储媒体存储所述摄像数据的速度;
第二判断模块,用于判断所述写入速度的变化趋势在第一时段内是否降低或升高;
第一控制模块,用于若所述写入速度的变化趋势降低,则在所述第一时段后,降低摄像设备的比特率至第一预设值,以降低摄像数据占用缓冲区的剩余内存;若所述写入速度的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第二预设值,以提升摄像数据的质量;若所述剩余内存的变化趋势升高,则在所述第一时段后,提升摄像设备的比特率至第三预设值,以提升摄像数据的质量。
9.一种摄像设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述摄像设备的比特率控制方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述摄像设备的比特率控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110851892.6A CN113645402B (zh) | 2021-07-27 | 2021-07-27 | 摄像设备的比特率控制方法、系统、存储介质及摄像设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110851892.6A CN113645402B (zh) | 2021-07-27 | 2021-07-27 | 摄像设备的比特率控制方法、系统、存储介质及摄像设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645402A true CN113645402A (zh) | 2021-11-12 |
CN113645402B CN113645402B (zh) | 2022-05-17 |
Family
ID=78418555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110851892.6A Active CN113645402B (zh) | 2021-07-27 | 2021-07-27 | 摄像设备的比特率控制方法、系统、存储介质及摄像设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645402B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1568609A (zh) * | 2002-04-19 | 2005-01-19 | 松下电器产业株式会社 | 数据接收装置和数据发布系统 |
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN101803383A (zh) * | 2008-07-17 | 2010-08-11 | 松下电器产业株式会社 | 发送装置、接收装置、速率控制装置、发送方法及接收方法 |
CN105744342A (zh) * | 2016-01-28 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 移动终端的数据传输方法和装置 |
CN106101596A (zh) * | 2016-08-15 | 2016-11-09 | Tcl集团股份有限公司 | 一种视频存储方法和装置 |
CN106301684A (zh) * | 2016-08-12 | 2017-01-04 | 广州市百果园网络科技有限公司 | 一种媒体数据传输方法及装置 |
CN106463164A (zh) * | 2014-07-29 | 2017-02-22 | 深圳市大疆创新科技有限公司 | 用于动态调整记录比特率以适应存储装置的写入速度的系统和方法 |
CN110427158A (zh) * | 2019-07-29 | 2019-11-08 | 浙江大华技术股份有限公司 | 固态硬盘的写入方法及固态硬盘 |
CN112738444A (zh) * | 2020-12-18 | 2021-04-30 | 浙江大华技术股份有限公司 | 视频码率控制方法、装置、计算机设备和存储介质 |
-
2021
- 2021-07-27 CN CN202110851892.6A patent/CN113645402B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1568609A (zh) * | 2002-04-19 | 2005-01-19 | 松下电器产业株式会社 | 数据接收装置和数据发布系统 |
CN101803383A (zh) * | 2008-07-17 | 2010-08-11 | 松下电器产业株式会社 | 发送装置、接收装置、速率控制装置、发送方法及接收方法 |
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN106463164A (zh) * | 2014-07-29 | 2017-02-22 | 深圳市大疆创新科技有限公司 | 用于动态调整记录比特率以适应存储装置的写入速度的系统和方法 |
CN105744342A (zh) * | 2016-01-28 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 移动终端的数据传输方法和装置 |
CN106301684A (zh) * | 2016-08-12 | 2017-01-04 | 广州市百果园网络科技有限公司 | 一种媒体数据传输方法及装置 |
CN106101596A (zh) * | 2016-08-15 | 2016-11-09 | Tcl集团股份有限公司 | 一种视频存储方法和装置 |
CN110427158A (zh) * | 2019-07-29 | 2019-11-08 | 浙江大华技术股份有限公司 | 固态硬盘的写入方法及固态硬盘 |
CN112738444A (zh) * | 2020-12-18 | 2021-04-30 | 浙江大华技术股份有限公司 | 视频码率控制方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113645402B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068391B2 (en) | Mapping table updating method for data storage device | |
CN106776095B (zh) | Ssd固态硬盘数据可靠性智能检测方法及检测装置 | |
US7246268B2 (en) | Method and apparatus for dynamic degradation detection | |
US9405670B2 (en) | Wear leveling method and apparatus | |
EP2921963B1 (en) | Memory recycling method and device | |
US9727487B2 (en) | Cache management method and apparatus for non-volatile storage device | |
US10417123B1 (en) | Systems and methods for improving garbage collection and wear leveling performance in data storage systems | |
US20140181380A1 (en) | Memory wear control | |
EP3252609A1 (en) | Cache data determination method and device | |
US7788415B2 (en) | Management of internal operations by a storage device | |
CN109032517B (zh) | 一种数据落盘的方法、装置和计算机可读存储介质 | |
CN113645402B (zh) | 摄像设备的比特率控制方法、系统、存储介质及摄像设备 | |
US8527690B2 (en) | Optimization of non-volatile solid-state memory by moving data based on data generation and memory wear | |
US11392510B2 (en) | Management method of cache files in storage space and recording device for storing cache files | |
CN108228342B (zh) | 终端设备控制方法及装置、终端设备及计算机可读存储介质 | |
CN115390752B (zh) | 一种多磁盘的缓存文件管理方法 | |
US11789864B2 (en) | Flush method for mapping table of SSD | |
CN104090731B (zh) | 一种自动进行Cache刷新参数调节的方法和装置 | |
CN111124307A (zh) | 一种数据下刷方法、装置、设备及可读存储介质 | |
CN115083506A (zh) | 固态硬盘存储性能测试方法、系统、图像存储设备和硬盘 | |
CN113986604A (zh) | 数据存储方法和数据存储装置 | |
CN113641305A (zh) | 固态硬盘的垃圾回收方法、装置、电子设备及存储介质 | |
CN106844226A (zh) | 基于norflash的宽带载波从节点控制方法 | |
CN113076062A (zh) | 一种提升qlcssd寿命的方法和设备 | |
US20190303286A1 (en) | Data storage device and operation method of the same |
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 |