CN110505495B - 多媒体资源抽帧方法、装置、服务器及存储介质 - Google Patents

多媒体资源抽帧方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN110505495B
CN110505495B CN201910785564.3A CN201910785564A CN110505495B CN 110505495 B CN110505495 B CN 110505495B CN 201910785564 A CN201910785564 A CN 201910785564A CN 110505495 B CN110505495 B CN 110505495B
Authority
CN
China
Prior art keywords
video
frame
video frame
multimedia resource
specified
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
CN201910785564.3A
Other languages
English (en)
Other versions
CN110505495A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201910785564.3A priority Critical patent/CN110505495B/zh
Publication of CN110505495A publication Critical patent/CN110505495A/zh
Application granted granted Critical
Publication of CN110505495B publication Critical patent/CN110505495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment

Abstract

本公开公开了一种多媒体资源抽帧方法、装置、服务器及存储介质,属于多媒体技术领域。所述方法包括:查询指定数据库中是否存储有指定视频帧集合,指定视频帧集合应用于对指定多媒体资源进行检测的不同检测场景中;当存储有指定视频帧集合,将指定视频帧集合发送至终端;当未存储有指定视频帧集合,生成指定视频帧集合并发送至终端。本公开在接收到抽帧请求时,查询指定数据库中是否存指定视频帧集合,在存储时直接获取,在未存储时生成该指定视频帧集合,进而将该指定视频帧集合发送至终端。由于指定视频帧集合能够应用于对指定多媒体资源进行检测的不同检测场景,因而无需针对不同的检测场景分别进行抽帧处理,减小了计算资源和存储资源的消耗。

Description

多媒体资源抽帧方法、装置、服务器及存储介质
技术领域
本公开涉及多媒体技术领域,特别涉及一种多媒体资源抽帧方法、装置、服务器及存储介质。
背景技术
多媒体资源抽帧技术是指从多媒体资源中抽取某干视频帧的一种技术。多媒体资源抽帧技术作为多媒体资源特征读取的一种重要手段,可用于对多媒体资源进行检测。在对媒体资源进行检测时,基于从多媒体资源中抽取的视频帧,可以提高检测效率。
通常同一多媒体资源可应用于多种检测业务中,每种检测业务又具有不同的抽帧逻辑,这就需要针对每种检测业务均对多媒体资源进行抽帧处理,并存储每种检测业务对应的视频帧。采用该种方法会消耗大量的计算资源及存储资源,因此,亟需提供一种多媒体资源的抽帧方法,以降低抽帧过程所消耗的计算资源及存储资源。
发明内容
本公开实施例提供了一种多媒体资源抽帧方法、装置、服务器及存储介质,以至少解决对多媒体资源进行抽帧时计算资源及存储资源消耗大的问题。所述技术方案如下:
一方面,提供了一种多媒体资源抽帧方法,所述方法包括:
当接收到指定业务所使用的终端发送的对指定多媒体资源的抽帧请求时,查询指定数据库中是否存储有指定视频帧集合,所述指定视频帧集合应用于对所述指定多媒体资源进行检测的不同检测场景中,所述指定视频帧集合包括从所述指定多媒体资源中抽取的至少一个视频帧;
当所述指定数据库中存储有所述指定视频帧集合,将所述指定视频帧集合发送至所述终端;
当所述指定数据库中未存储有所述指定视频帧集合,生成所述指定视频帧集合,并将所述指定视频帧集合发送至所述终端。
在本公开的另一个实施例中,所述生成所述指定视频帧集合,包括:
获取所述指定多媒体资源的视频元信息,所述视频元信息用于指示所述指定多媒体资源的属性信息;
根据所述视频元信息,确定对所述指定多媒体资源进行抽帧的抽帧参数;
根据所述抽帧参数,对所述指定多媒体资源进行抽帧,得到所述指定视频帧集合。
在本公开的另一个实施例中,根据所述视频元信息,确定对所述指定多媒体资源进行抽帧的抽帧参数,包括:
从所述视频元信息中,获取所述指定多媒体资源的视频时长和视频帧总数;
根据所述指定多媒体资源的视频时长和预设时长,确定所述指定多媒体资源的抽帧策略;
根据所述指定多媒体资源的视频帧总数和预设数量,确定所述指定多媒体资源的抽帧数量;
其中,所述抽帧参数包括所述指定多媒体资源的视频时长、抽帧数量及抽帧策略。
在本公开的另一个实施例中,所述根据所述指定多媒体资源的视频时长和预设时长,确定所述指定多媒体资源的抽帧策略,包括:
当所述指定多媒体资源的视频时长大于所述预设时长,确定所述抽帧策略为每隔第一时间段抽取一个视频帧;
当所述指定多媒体资源的视频时长小于所述预设时长,确定所述抽帧策略为每隔第二时间段抽取一个视频帧;
所述根据所述指定多媒体资源的视频帧总数和预设数量,确定所述指定多媒体资源的抽帧数量,包括:
当所述指定多媒体资源的视频帧总数大于预设数量,确定所述抽帧数量为第一数量;
当所述指定多媒体资源的视频帧总数小于预设数量,确定所述抽帧数量为第二数量;
其中,所述第一时间段大于所述第二时间段,所述第一数量大于所述第二数量。
在本公开的另一个实施例中,所述根据所述抽帧参数,对所述指定多媒体资源进行抽帧,得到所述指定视频帧集合,包括:
按照所述抽帧策略从所述指定多媒体资源中抽取与所述抽帧数量相同的视频帧;
为所抽取的每个视频帧设置资源标识;
将每个视频帧与对应的资源标识存储到所述指定视频帧集合中。
在本公开的另一个实施例中,所述将所述指定视频帧集合发送至所述终端,包括:
根据所述指定业务所需求的视频帧数量及类型,从所述指定视频帧集合中选取与所述视频帧数量及类型相应的至少一个目标视频帧;
将所述至少一个目标视频帧发送至所述终端。
在本公开的另一个实施例中,所述方法还包括:
当通过多媒体资源抽帧元数据接口接收到所述终端发送的对抽帧参数的查询请求时,通过多媒体资源抽帧元数据接口将所述抽帧参数发送至所述终端;
其中,所述多媒体资源抽帧元数据接口用于终端查询多媒体资源的抽帧参数。
在本公开的另一个实施例中,所述方法还包括:
当通过多媒体资源抽帧数据访问接口接收到所述终端发送的对视频帧集合的获取请求或预览请求时,通过所述多媒体资源抽帧数据访问接口将所述指定视频帧集合发送至所述终端;
其中,所述多媒体资源抽帧数据访问接口用于终端获取及浏览多媒体资源对应的视频帧集合。
在本公开的另一个实施例中,所述方法还包括:
采用哈希算法计算所述指定视频帧集合中每个视频帧的资源标识,得到所述指定视频帧集合中每个视频帧的哈希值;
逐帧计算所述指定视频帧集合中相邻两个视频帧的哈希值之间的汉明距离;
如果任一视频帧与相邻视频帧的哈希值之间的汉明距离小于预设距离,将所述视频帧从所述指定视频帧集合中删除。
另一方面,提供了一种多媒体资源抽帧装置,所述装置包括:
查询模块,用于当接收到指定业务所使用的终端发送的对指定多媒体资源的抽帧请求时,查询指定数据库中是否存储有指定视频帧集合,所述指定视频帧集合应用于对所述指定多媒体资源进行检测的不同检测场景中,所述指定视频帧集合包括从所述指定多媒体资源中抽取的至少一个视频帧;
发送模块,用于当所述指定数据库中存储有所述指定视频帧集合,将所述指定视频帧集合发送至所述终端;
集合生成模块,用于当所述指定数据库中未存储有所述指定视频帧集合,生成所述指定视频帧集合,并将所述指定视频帧集合发送至所述终端。
在本公开的另一个实施例中,所述集合生成模块,还用于获取所述指定多媒体资源的视频元信息,所述视频元信息用于指示所述指定多媒体资源的属性信息;根据所述视频元信息,确定对所述指定多媒体资源进行抽帧的抽帧参数;根据所述抽帧参数,对所述指定多媒体资源进行抽帧,得到所述指定视频帧集合。
在本公开的另一个实施例中,所述集合生成模块,还用于从所述视频元信息中,获取所述指定多媒体资源的视频时长和视频帧总数;根据所述指定多媒体资源的视频时长和预设时长,确定所述指定多媒体资源的抽帧策略;根据所述指定多媒体资源的视频帧总数和预设数量,确定所述指定多媒体资源的抽帧数量;
其中,所述抽帧参数包括所述指定多媒体资源的视频时长、抽帧数量及抽帧策略。
在本公开的另一个实施例中,所述集合生成模块,还用于当所述指定多媒体资源的视频时长大于所述预设时长,确定所述抽帧策略为每隔第一时间段抽取一个视频帧;当所述指定多媒体资源的视频时长小于所述预设时长,确定所述抽帧策略为每隔第二时间段抽取一个视频帧;
所述集合生成模块,还用于当所述指定多媒体资源的视频帧总数大于预设数量,确定所述抽帧数量为第一数量;当所述指定多媒体资源的视频帧总数小于预设数量,确定所述抽帧数量为第二数量;
其中,所述第一时间段大于所述第二时间段,所述第一数量大于所述第二数量。
在本公开的另一个实施例中,所述集合生成模块,用于按照所述抽帧策略从所述指定多媒体资源中抽取与所述抽帧数量相同的视频帧;为所抽取的每个视频帧设置资源标识;将每个视频帧与对应的资源标识存储到所述指定视频帧集合中。
在本公开的另一个实施例中,所述发送模块,用于根据所述指定业务所需求的视频帧数量及类型,从所述指定视频帧集合中选取与所述视频帧数量及类型相应的至少一个目标视频帧;将所述至少一个目标视频帧发送至所述终端。
在本公开的另一个实施例中,
所述发送模块,用于当通过多媒体资源抽帧元数据接口接收到所述终端发送的对抽帧参数的查询请求时,通过多媒体资源抽帧元数据接口将所述抽帧参数发送至所述终端;
其中,所述多媒体资源抽帧元数据接口用于终端查询多媒体资源的抽帧参数。
在本公开的另一个实施例中,
所述发送模块,用于当通过多媒体资源抽帧数据访问接口接收到所述终端发送的对视频帧集合的获取请求或预览请求时,通过所述多媒体资源抽帧数据访问接口将所述指定视频帧集合发送至所述终端;
其中,所述多媒体资源抽帧数据访问接口用于终端获取及浏览多媒体资源对应的视频帧集合。
在本公开的另一个实施例中,所述装置还包括:
计算模块,用于采用哈希算法计算所述指定视频帧集合中每个视频帧的资源标识,得到所述指定视频帧集合中每个视频帧的哈希值;
所述计算模块,用于逐帧计算所述指定视频帧集合中相邻两个视频帧的哈希值之间的汉明距离;
删除模块,用于如果任一视频帧与相邻视频帧的哈希值之间的汉明距离小于预设距离,将所述视频帧从所述指定视频帧集合中删除。
另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现多媒体资源抽帧方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现多媒体资源抽帧方法。
本公开实施例提供的技术方案带来的有益效果是:
在接收到抽帧请求时,查询指定数据库中是否存指定视频帧集合,在存储时直接获取,在未存储时生成该指定视频帧集合,进而将该指定视频帧集合发送至终端。由于指定视频帧集合能够应用于对指定多媒体资源进行检测的不同检测场景中,因而无需针对不同的检测场景分别进行抽帧处理,减小了计算资源和存储资源的消耗。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的多媒体资源抽帧方法所涉及的实施环境;
图2是本公开实施例提供的一种多媒体资源抽帧方法流程图;
图3是本公开实施例提供的一种多媒体资源抽帧的时序图;
图4是本公开实施例提供的一种多媒体资源抽帧装置结构示意图;
图5是根据一示例性实施例示出的一种用于多媒体资源抽帧的服务器。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
请参考图1,其示出了本公开实施例提供的多媒体资源抽帧方法所涉及的实施环境,该实施环境包括:终端101和服务器102。
其中,终端101可以为智能手机、平板电脑、笔记本电脑等,本公开实施例不对终端101的产品类型作具体的限定。
服务器102具有存储能力,可存储有多媒体资源及对多媒体资源进行抽帧得到的视频帧集合;该服务器102还具有计算能力,可对多媒体资源进行抽帧处理,并对得到的视频帧集合进行优化。
上述终端101与服务器102之间可通过有线网络或无线网络进行通信。
本公开实施例提供了一种多媒体资源抽帧方法,以服务器执行本公开实施例为例,参见图2,本公开实施例提供的方法流程包括:
201、当接收到指定业务所使用的终端发送的对指定多媒体资源的抽帧请求时,服务器查询指定数据库中是否存储有指定视频帧集合。
其中,指定业务为多媒体资源进行检测的一种业务。终端为该指定业务所使用的终端。抽帧请求携带指定多媒体资源的资源标识等。指定数据库用于存储指定视频帧集合,该指定数据库可以为TiDB数据库等。其中,TiDB数据库为一种NewSQL数据库,能够将传统数据库与非关系型数据库相结合。TiDB数据库支持水平弹性扩展、ACID(A为Atomicity(原子性)的简写,C为Consistency(一致性)的简写,I为Isolation(隔离性)的简写,D为Durability(耐久性)的简写)事务、标准SQL(Structured Query Language,结构化查询语言)、MySQL语法和MySQL协议,具有数据强一致的高可用特性,不仅适合OLTP(On-LineTransaction Processing,联机事务处理过程)场景,还适合OLAP(On-Line AnalyticalProcessing,联机分析处理)场景。考虑到多媒体资源的数量至少为一个,为了便于区分不同多媒体资源对应的视频帧集合,指定数据库可根据多媒体资源的资源标识,对多媒体资源对应的视频帧集合进行存储。指定视频帧集合应用于对指定多媒体资源进行检测的不同检测场景中,该指定视频帧集合包括从指定多媒体资源中抽取的至少一个视频帧。
当接收到对指定多媒体资源的抽帧请求时,服务器根据多媒体资源的资源标识,查询指定数据库中是否存储有指定视频帧集合,如果指定数据库存储有指定视频帧集合,则执行步骤202,如果指定数据库中未存储有指定视频帧集合,则执行步骤203。
202、当指定数据库中存储有指定视频帧集合,服务器将指定视频帧集合发送至终端。
当指定数据库中存储有指定视频帧集合时,服务器可直接将指定视频帧集合发送至终端。服务器将指定视频帧集合发送至终端时,可向终端发送kafk消息,进而基于该kafk消息将指定视频帧集合发送至终端。其中,kafk为一种分布式消息队列,具有高性能、持久化、多副本备份、横向扩展能力。发送端在该kafk中写入消息,接收端可从该kafk中获取消息并执行业务逻辑。
203、当指定数据库中未存储有指定视频帧集合,服务器生成指定视频帧集合,并将指定视频帧集合发送至终端。
当指定数据库中未存储有指定视频帧集合,服务器将对指定多媒体资源进行抽帧,从而生成指定视频帧集合。具体地,可采用如下步骤:
2031、服务器获取指定多媒体资源的视频元信息。
其中,视频元信息用于指示指定多媒体资源的属性信息。服务器根据抽帧请求中携带的指定多媒体资源的资源标识,获取指定多媒体资源,并采用ffprobe从指定多媒体资源中获取视频元信息。
2032、服务器根据视频元信息,确定对指定多媒体资源进行抽帧的抽帧参数。
其中,抽帧参数包括指定多媒体资源的视频时长、抽帧数量及抽帧策略。抽帧策略包括所抽取的视频帧类型(例如,抽取关键帧还是非关键帧)、间隔时间(例如,每间隔1分钟抽取一个视频帧等)等。
服务器根据视频元信息,确定对指定多媒体资源进行抽帧的抽帧参数时,可采用如下方法:
20321、服务器根据视频元信息,确定指定多媒体资源的视频时长和视频帧总数。
根据视频元信息所指示的指定多媒体资源的属性信息,服务器可获取指定所媒体资源的视频时长,并获取该指定多媒体资源包括的视频帧总数。
20322、服务器根据指定多媒体资源的视频时长和视频帧总数,确定抽帧数量和抽帧策略。
服务器预先设置多媒体资源的视频时长与抽帧策略之间的对应关系,例如,设置多媒体资源的视频时长大于预设时长时,抽帧策略为每隔第一时间段抽取一个视频帧;设置多媒体资源的视频时长小于预设时长时,抽帧策略为每隔第二时间段抽取一个视频帧。其中,预设时长可根据对多个多媒体资源的统计结果确定。第一时间段大于第二时间段,本公开实施例不对第一时间段和第二时间段作具体的限定。基于所设置的对应关系,当获取到指定多媒体资源的视频时长,服务器将指定多媒体资源的视频时长与预设时长进行比较,当指定多媒体资源的视频时长大于预设时长,服务器确定抽帧策略为每隔第一时间段抽取一个视频帧;当指定多媒体资源的视频时长小于预设时长,服务器确定抽帧策略为每隔第二时间段抽取一个视频帧。
服务器还可预先设置视频帧总数与抽帧数量之间的对应关系,例如,设置视频帧总数大于预设数量时,对多媒体资源进行抽帧的抽帧数量为第一数量;设置视频帧总数小于预设数量时,对多媒体资源进行抽帧的抽帧数量为第二数量。其中,预设数量可根据对多个多媒体资源的统计结果确定。第一数量大于第二数量,本公开实施例不对第一数量和第二数量作具体的限定。基于所设置的对应关系,当获取到指定多媒体资源的视频帧总数,服务器将指定多媒体资源的视频帧总数与预设数量进行比较,当指定多媒体资源的视频帧总数大于预设数量,服务器确定对指定多媒体资源进行抽帧的抽帧数量为第一数量;当指定多媒体资源的视频帧总数小于预设数量,服务器确定对指定多媒体资源进行抽帧的抽帧数量为第二数量。
2033、服务器根据抽帧参数,对指定多媒体资源进行抽帧,得到指定视频帧集合。
服务器根据抽帧参数,对指定多媒体资源进行抽帧,得到指定视频帧集合时,可采用如下方法:
20331、服务器按照抽帧策略从指定多媒体资源中抽取与抽帧数量相同的视频帧。
服务器采用ffmepg,按照抽帧策略从指定多媒体资源中抽取与抽帧数量相同的视频帧。其中,ffmepg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。ffmepg采用LGPL或GPL许可证,能够提供录制、转换以及流化音视频的完整解决方案。
例如,抽帧数量为9帧,抽帧策略为每隔一分钟抽取一个视频帧,则基于该抽帧数量和抽帧策略,服务器以指定多媒体资源的起始播放位置为起点,采用ffmepg每隔1分钟从指定多媒体资源中抽取一个视频帧,直至抽取的视频帧数量达到9帧。
在本公开的另一个实施例中,服务器在从指定多媒体资源中抽取至少一个视频帧时,可屏蔽抽帧方式,将不同来源的多媒体资源,采用相同的抽帧方式进行抽帧。基于屏蔽抽帧方式,无论多媒体资源存储于服务器内部,还是存储于视频云等存储介质中,服务器均采取相同的抽帧方式。
20332、服务器为每个视频帧设置资源标识。
为了更好地对所抽取的视频帧进行管理,服务器还将为所抽取的每个视频帧设置资源标识,该资源标识能够唯一标识每个视频帧。
20333、服务器将每个视频帧与对应的资源标识存储到指定视频帧集合中。
当得到指定视频帧集合后,服务器可通过有线网络或无线网络将指定视频帧集合发送至终端。
在本公开的另一个实施例中,考虑到不同检测业务所需求的视频帧可能是不同的,为了满足不同检测业务的需求,在得到指定视频帧集合之后,服务器还可根据指定业务所需求的视频帧数量及类型,从指定视频帧集合中选取至少一个目标视频帧,进而通过有线网络或无线网络将所选取的至少一个目标视频帧发送至终端。
采用本公开实施例提供的方法实现了一次抽帧、多次获取,方便了后续抽帧的精细化及优化过程,屏蔽了不同的资源抽帧逻辑,大大节省了系统资源、人力资源。
在公开的另一个实施例中,服务器提供一个多媒体资源抽帧元数据接口,该多媒体资源抽帧元数据接口用于终端查询抽帧参数。基于所设置的多媒体资源抽帧元数据接口,不同的业务的终端可查询对指定多媒体资源进行抽帧的抽帧参数。例如,当通过多媒体资源抽帧元数据接口接收到终端发送的对抽帧参数的查询请求时,服务器可通过多媒体资源抽帧元数据接口将抽帧参数发送至终端。
在公开的另一个实施例中,服务器还提供一个多媒体资源抽帧数据访问接口,该多媒体资源抽帧数据访问接口用于终端获取及浏览指定视频帧集合。基于所设置的多媒体资源抽帧数据访问接口,不同的业务的终端可获取及浏览对指定多媒体资源进行抽帧得到的指定视频帧集合。例如,当通过多媒体资源抽帧数据访问接口接收到终端发送的对视频帧集合的获取请求或预览请求时,服务器可通过多媒体资源抽帧数据访问接口将指定视频帧集合发送至终端。
由于所抽取的视频帧质量直接影响对指定多媒体资源的检测结果,为了提高对指定多媒体资源的检测结果,服务器还将对指定视频帧集合进行优化。具体的优化过程为:
第一步,服务器采用哈希算法计算指定视频帧集合中每个视频帧的资源标识,得到指定视频帧集合中每个视频帧的哈希值。
服务器根据预先为指定视频帧集合中每个视频帧所设置的资源标识,采用哈希算法计算指定视频帧集合中每个视频帧的资源标识,得到指定视频帧集合中每个视频帧的哈希值。
第二步,服务器逐帧计算指定视频帧集合中相邻两个视频帧的哈希值之间的汉明距离。
以指定视频帧集合中第一个视频帧为起点,服务器逐帧计算指定视频帧集合中相邻两个视频帧的哈希值之间的汉明距离。
第三步,如果任一视频帧与相邻视频帧的哈希值之间的汉明距离小于预设距离,服务器将视频帧从指定视频帧集合中删除。
其中,预设距离可根据检测业务的精度需求进行设置。当任一视频帧与相邻视频帧的哈希值之间的汉明距离小于预设距离,说明这两帧视频帧比较相似,基于相似的视频帧对多媒体资源进行检测,检测结果并不准确。为此,当任一视频帧与相邻视频帧的哈希值之间的汉明距离小于预设距离时,服务器可将该视频帧从指定视频帧集合中删除,以确保检测结果。
图3为对多媒体资源进行抽帧的过程,参见图3,因业务需求,当接收到对多媒体资源的抽帧请求时,服务器查询是否已对该多媒体资源进行抽帧,如果已对该多媒体资源进行抽帧,则向业务方发送kafka消息,以通知业务方,该kafka消息携带对多媒体资源进行抽帧得到的视频帧集合;如果未对该多媒体资源进行抽帧,则采用ffprobe对视频帧的基本信息进行检测,得到抽帧参数,进而基于抽帧参数,对多媒体资源进行抽帧。当获取到视频帧集合后,采用哈希算法去除相似的视频帧,并将去重后的视频帧集合发送至业务方。
本公开实施例提供的方法,在接收到抽帧请求时,查询指定数据库中是否存指定视频帧集合,在存储时直接获取,在未存储时生成该指定视频帧集合,进而将该指定视频帧集合发送至终端。由于指定视频帧集合能够应用于对指定多媒体资源进行检测的不同检测场景中,因而无需针对不同的检测场景分别进行抽帧处理,减小了计算资源和存储资源的消耗。
参见图4,本公开实施例提供了一种多媒体资源抽帧装置,该装置包括:
查询模块401,用于当接收到指定业务所使用的终端发送的对指定多媒体资源的抽帧请求时,查询指定数据库中是否存储有指定视频帧集合,指定视频帧集合应用于对指定多媒体资源进行检测的不同检测场景中,指定视频帧集合包括从指定多媒体资源中抽取的至少一个视频帧;
发送模块402,用于当指定数据库中存储有指定视频帧集合,将指定视频帧集合发送至终端;
集合生成模块403,用于当指定数据库中未存储有指定视频帧集合,生成指定视频帧集合,并将指定视频帧集合发送至终端。
在本公开的另一个实施例中,集合生成模块403,还用于获取指定多媒体资源的视频元信息,视频元信息用于指示指定多媒体资源的属性信息;根据视频元信息,确定对指定多媒体资源进行抽帧的抽帧参数;根据抽帧参数,对指定多媒体资源进行抽帧,得到指定视频帧集合。
在本公开的另一个实施例中,集合生成模块403,还用于从视频元信息中,获取指定多媒体资源的视频时长和视频帧总数;根据指定多媒体资源的视频时长和预设时长,确定指定多媒体资源的抽帧策略;根据指定多媒体资源的视频帧总数和预设数量,确定指定多媒体资源的抽帧数量;
其中,抽帧参数包括指定多媒体资源的视频时长、抽帧数量及抽帧策略。
在本公开的另一个实施例中,集合生成模块403,还用于当指定多媒体资源的视频时长大于预设时长,确定抽帧策略为每隔第一时间段抽取一个视频帧;当指定多媒体资源的视频时长小于预设时长,确定抽帧策略为每隔第二时间段抽取一个视频帧;
集合生成模块403,还用于当指定多媒体资源的视频帧总数大于预设数量,确定抽帧数量为第一数量;当指定多媒体资源的视频帧总数小于预设数量,确定抽帧数量为第二数量;
其中,第一时间段大于第二时间段,第一数量大于第二数量。
在本公开的另一个实施例中,集合生成模块403,用于按照抽帧策略从指定多媒体资源中抽取与抽帧数量相同的视频帧;为所抽取的每个视频帧设置资源标识;将每个视频帧与对应的资源标识存储到指定视频帧集合中。
在本公开的另一个实施例中,发送模块402,用于根据指定业务所需求的视频帧数量及类型,从指定视频帧集合中选取与视频帧数量及类型相应的至少一个目标视频帧;将至少一个目标视频帧发送至终端。
在本公开的另一个实施例中,
发送模块402,用于当通过多媒体资源抽帧元数据接口接收到终端发送的对抽帧参数的查询请求时,通过多媒体资源抽帧元数据接口将抽帧参数发送至终端;
其中,多媒体资源抽帧元数据接口用于终端查询多媒体资源的抽帧参数。
在本公开的另一个实施例中,
发送模块402,用于当通过多媒体资源抽帧数据访问接口接收到终端发送的对视频帧集合的获取请求或预览请求时,通过多媒体资源抽帧数据访问接口将指定视频帧集合发送至终端;
其中,多媒体资源抽帧数据访问接口用于终端获取及浏览多媒体资源对应的视频帧集合。
在本公开的另一个实施例中,该装置还包括:
计算模块,用于采用哈希算法计算指定视频帧集合中每个视频帧的资源标识,得到指定视频帧集合中每个视频帧的哈希值;
计算模块,用于逐帧计算指定视频帧集合中相邻两个视频帧的哈希值之间的汉明距离;
删除模块,用于如果任一视频帧与相邻视频帧的哈希值之间的汉明距离小于预设距离,将视频帧从指定视频帧集合中删除。
综上,本公开实施例提供的装置,在接收到抽帧请求时,查询指定数据库中是否存指定视频帧集合,在存储时直接获取,在未存储时生成该指定视频帧集合,进而将该指定视频帧集合发送至终端。由于指定视频帧集合能够应用于对指定多媒体资源进行检测的不同检测场景中,因而无需针对不同的检测场景分别进行抽帧处理,减小了计算资源和存储资源的消耗。
图5是根据一示例性实施例示出的一种用于多媒体资源抽帧的服务器。参照图5,服务器500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述多媒体资源抽帧方法中服务器所执行的功能。
服务器500还可以包括一个电源组件526被配置为执行服务器500的电源管理,一个有线或无线网络接口550被配置为将服务器500连接到网络,和一个输入输出(I/O)接口558。服务器500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本公开实施例提供的服务器,在接收到抽帧请求时,查询指定数据库中是否存指定视频帧集合,在存储时直接获取,在未存储时生成该指定视频帧集合,进而将该指定视频帧集合发送至终端。由于指定视频帧集合能够应用于对指定多媒体资源进行检测的不同检测场景中,因而无需针对不同的检测场景分别进行抽帧处理,减小了计算资源和存储资源的消耗。
本公开实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现图2所示的多媒体资源抽帧方法。
本公开实施例提供的计算机可读存储介质,在接收到抽帧请求时,查询指定数据库中是否存指定视频帧集合,在存储时直接获取,在未存储时生成该指定视频帧集合,进而将该指定视频帧集合发送至终端。由于指定视频帧集合能够应用于对指定多媒体资源进行检测的不同检测场景中,因而无需针对不同的检测场景分别进行抽帧处理,减小了计算资源和存储资源的消耗。
需要说明的是:上述实施例提供的多媒体资源抽帧装置在对多媒体资源进行抽帧时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将多媒体资源抽帧装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多媒体资源抽帧装置与多媒体资源抽帧方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (18)

1.一种多媒体资源抽帧方法,其特征在于,所述方法包括:
当接收到指定业务所使用的终端发送的对指定多媒体资源的抽帧请求时,查询指定数据库中是否存储有指定视频帧集合,所述指定视频帧集合应用于对所述指定多媒体资源进行检测的不同检测场景中,所述指定视频帧集合包括从所述指定多媒体资源中抽取的至少一个视频帧;
当所述指定数据库中存储有所述指定视频帧集合,根据所述指定业务所需求的视频帧数量及类型,从所述指定视频帧集合中选取与所述视频帧数量及类型相应的至少一个目标视频帧;将所述至少一个目标视频帧发送至所述终端;
当所述指定数据库中未存储有所述指定视频帧集合,生成所述指定视频帧集合,并根据所述指定业务所需求的视频帧数量及类型,从所述指定视频帧集合中选取与所述视频帧数量及类型相应的至少一个目标视频帧;将所述至少一个目标视频帧发送至所述终端。
2.根据权利要求1所述的方法,其特征在于,所述生成所述指定视频帧集合,包括:
获取所述指定多媒体资源的视频元信息,所述视频元信息用于指示所述指定多媒体资源的属性信息;
根据所述视频元信息,确定对所述指定多媒体资源进行抽帧的抽帧参数;
根据所述抽帧参数,对所述指定多媒体资源进行抽帧,得到所述指定视频帧集合。
3.根据权利要求2所述的方法,其特征在于,所述根据所述视频元信息,确定对所述指定多媒体资源进行抽帧的抽帧参数,包括:
从所述视频元信息中,获取所述指定多媒体资源的视频时长和视频帧总数;
根据所述指定多媒体资源的视频时长和预设时长,确定所述指定多媒体资源的抽帧策略;
根据所述指定多媒体资源的视频帧总数和预设数量,确定所述指定多媒体资源的抽帧数量;
其中,所述抽帧参数包括所述指定多媒体资源的视频时长、抽帧数量及抽帧策略。
4.根据权利要求3所述的方法,其特征在于,所述根据所述指定多媒体资源的视频时长和预设时长,确定所述指定多媒体资源的抽帧策略,包括:
当所述指定多媒体资源的视频时长大于所述预设时长,确定所述抽帧策略为每隔第一时间段抽取一个视频帧;
当所述指定多媒体资源的视频时长小于所述预设时长,确定所述抽帧策略为每隔第二时间段抽取一个视频帧;
所述根据所述指定多媒体资源的视频帧总数和预设数量,确定所述指定多媒体资源的抽帧数量,包括:
当所述指定多媒体资源的视频帧总数大于预设数量,确定所述抽帧数量为第一数量;
当所述指定多媒体资源的视频帧总数小于预设数量,确定所述抽帧数量为第二数量;
其中,所述第一时间段大于所述第二时间段,所述第一数量大于所述第二数量。
5.根据权利要求3所述的方法,其特征在于,所述根据所述抽帧参数,对所述指定多媒体资源进行抽帧,得到所述指定视频帧集合,包括:
按照所述抽帧策略从所述指定多媒体资源中抽取与所述抽帧数量相同的视频帧;
为所抽取的每个视频帧设置资源标识;
将每个视频帧与对应的资源标识存储到所述指定视频帧集合中。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述方法还包括:
当通过多媒体资源抽帧元数据接口接收到所述终端发送的对抽帧参数的查询请求时,通过多媒体资源抽帧元数据接口将所述抽帧参数发送至所述终端;
其中,所述多媒体资源抽帧元数据接口用于终端查询多媒体资源的抽帧参数。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
当通过多媒体资源抽帧数据访问接口接收到所述终端发送的对指定视频帧集合的获取请求或预览请求时,通过所述多媒体资源抽帧数据访问接口将所述指定视频帧集合发送至所述终端;
其中,所述多媒体资源抽帧数据访问接口用于终端获取及浏览多媒体资源对应的视频帧集合。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
采用哈希算法计算所述指定视频帧集合中每个视频帧的资源标识,得到所述指定视频帧集合中每个视频帧的哈希值;
逐帧计算所述指定视频帧集合中相邻两个视频帧的哈希值之间的汉明距离;
如果任一视频帧与相邻视频帧的哈希值之间的汉明距离小于预设距离,将所述视频帧从所述指定视频帧集合中删除。
9.一种多媒体资源抽帧装置,其特征在于,所述装置包括:
查询模块,用于当接收到指定业务所使用的终端发送的对指定多媒体资源的抽帧请求时,查询指定数据库中是否存储有指定视频帧集合,所述指定视频帧集合应用于对所述指定多媒体资源进行检测的不同检测场景中,所述指定视频帧集合包括从所述指定多媒体资源中抽取的至少一个视频帧;
发送模块,用于当所述指定数据库中存储有所述指定视频帧集合,根据所述指定业务所需求的视频帧数量及类型,从所述指定视频帧集合中选取与所述视频帧数量及类型相应的至少一个目标视频帧;将所述至少一个目标视频帧发送至所述终端;
集合生成模块,用于当所述指定数据库中未存储有所述指定视频帧集合,生成所述指定视频帧集合,并根据所述指定业务所需求的视频帧数量及类型,从所述指定视频帧集合中选取与所述视频帧数量及类型相应的至少一个目标视频帧;将所述至少一个目标视频帧发送至所述终端。
10.根据权利要求9所述的装置,其特征在于,所述集合生成模块,还用于获取所述指定多媒体资源的视频元信息,所述视频元信息用于指示所述指定多媒体资源的属性信息;根据所述视频元信息,确定对所述指定多媒体资源进行抽帧的抽帧参数;根据所述抽帧参数,对所述指定多媒体资源进行抽帧,得到所述指定视频帧集合。
11.根据权利要求10所述的装置,其特征在于,所述集合生成模块,还用于从所述视频元信息中,获取所述指定多媒体资源的视频时长和视频帧总数;根据所述指定多媒体资源的视频时长和预设时长,确定所述指定多媒体资源的抽帧策略;根据所述指定多媒体资源的视频帧总数和预设数量,确定所述指定多媒体资源的抽帧数量;
其中,所述抽帧参数包括所述指定多媒体资源的视频时长、抽帧数量及抽帧策略。
12.根据权利要求11所述的装置,其特征在于,所述集合生成模块,还用于当所述指定多媒体资源的视频时长大于所述预设时长,确定所述抽帧策略为每隔第一时间段抽取一个视频帧;当所述指定多媒体资源的视频时长小于所述预设时长,确定所述抽帧策略为每隔第二时间段抽取一个视频帧;
所述集合生成模块,还用于当所述指定多媒体资源的视频帧总数大于预设数量,确定所述抽帧数量为第一数量;当所述指定多媒体资源的视频帧总数小于预设数量,确定所述抽帧数量为第二数量;
其中,所述第一时间段大于所述第二时间段,所述第一数量大于所述第二数量。
13.根据权利要求11所述的装置,其特征在于,所述集合生成模块,用于按照所述抽帧策略从所述指定多媒体资源中抽取与所述抽帧数量相同的视频帧;为所抽取的每个视频帧设置资源标识;将每个视频帧与对应的资源标识存储到所述指定视频帧集合中。
14.根据权利要求10至13中任一项所述的装置,其特征在于,
所述发送模块,用于当通过多媒体资源抽帧元数据接口接收到所述终端发送的对抽帧参数的查询请求时,通过多媒体资源抽帧元数据接口将所述抽帧参数发送至所述终端;
其中,所述多媒体资源抽帧元数据接口用于终端查询多媒体资源的抽帧参数。
15.根据权利要求9至13中任一项所述的装置,其特征在于,
所述发送模块,用于当通过多媒体资源抽帧数据访问接口接收到所述终端发送的对视频帧集合的获取请求或预览请求时,通过所述多媒体资源抽帧数据访问接口将所述指定视频帧集合发送至所述终端;
其中,所述多媒体资源抽帧数据访问接口用于终端获取及浏览多媒体资源对应的视频帧集合。
16.根据权利要求9至13中任一项所述的装置,其特征在于,所述装置还包括:
计算模块,用于采用哈希算法计算所述指定视频帧集合中每个视频帧的资源标识,得到所述指定视频帧集合中每个视频帧的哈希值;
所述计算模块,用于逐帧计算所述指定视频帧集合中相邻两个视频帧的哈希值之间的汉明距离;
删除模块,用于如果任一视频帧与相邻视频帧的哈希值之间的汉明距离小于预设距离,将所述视频帧从所述指定视频帧集合中删除。
17.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1至8中任一项所述的多媒体资源抽帧方法。
18.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现如权利要求1至8中任一项所述的多媒体资源抽帧方法。
CN201910785564.3A 2019-08-23 2019-08-23 多媒体资源抽帧方法、装置、服务器及存储介质 Active CN110505495B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910785564.3A CN110505495B (zh) 2019-08-23 2019-08-23 多媒体资源抽帧方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910785564.3A CN110505495B (zh) 2019-08-23 2019-08-23 多媒体资源抽帧方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN110505495A CN110505495A (zh) 2019-11-26
CN110505495B true CN110505495B (zh) 2021-12-07

Family

ID=68589328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910785564.3A Active CN110505495B (zh) 2019-08-23 2019-08-23 多媒体资源抽帧方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN110505495B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132786A (zh) * 2019-12-30 2021-07-16 深圳Tcl数字技术有限公司 一种用户界面显示方法、装置及可读存储介质
CN111325096B (zh) * 2020-01-19 2021-04-20 北京字节跳动网络技术有限公司 直播流采样方法、装置及电子设备
CN114079804B (zh) * 2020-08-13 2024-03-26 北京达佳互联信息技术有限公司 多媒体资源的检测方法、装置、终端及存储介质
CN111930998A (zh) * 2020-09-09 2020-11-13 蘑菇车联信息科技有限公司 视频抽帧方法及装置
CN112532998B (zh) * 2020-12-01 2023-02-21 网易传媒科技(北京)有限公司 抽取视频帧的方法、装置、设备和可读存储介质
CN114205632A (zh) * 2021-12-17 2022-03-18 深圳Tcl新技术有限公司 视频预览方法、装置、电子设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248684A (zh) * 2013-04-28 2013-08-14 北京奇虎科技有限公司 一种互联网中资源获取方法和装置
CN108924586A (zh) * 2018-06-20 2018-11-30 北京奇艺世纪科技有限公司 一种视频帧的检测方法、装置及电子设备
CN109618225A (zh) * 2018-12-25 2019-04-12 百度在线网络技术(北京)有限公司 视频抽帧方法、装置、设备和介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100590537B1 (ko) * 2004-02-18 2006-06-15 삼성전자주식회사 복수 영상의 요약 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248684A (zh) * 2013-04-28 2013-08-14 北京奇虎科技有限公司 一种互联网中资源获取方法和装置
CN108924586A (zh) * 2018-06-20 2018-11-30 北京奇艺世纪科技有限公司 一种视频帧的检测方法、装置及电子设备
CN109618225A (zh) * 2018-12-25 2019-04-12 百度在线网络技术(北京)有限公司 视频抽帧方法、装置、设备和介质

Also Published As

Publication number Publication date
CN110505495A (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
CN110505495B (zh) 多媒体资源抽帧方法、装置、服务器及存储介质
CN109800222B (zh) 一种HBase二级索引自适应优化方法和系统
CN111399764B (zh) 数据存储方法、读取方法、装置、设备及存储介质
CN112559475B (zh) 数据实时捕获和传输方法及系统
CN111831748A (zh) 数据同步方法、装置及存储介质
CN112685433A (zh) 元数据更新方法、装置、电子设备及计算机可读存储介质
CN113485962A (zh) 日志文件的存储方法、装置、设备和存储介质
CN114647698A (zh) 数据同步方法、装置及计算机存储介质
CN113806301A (zh) 数据同步方法、装置、服务器及存储介质
CN109145155A (zh) 海量遥感影像元数据高并发入库处理方法
CN112199443B (zh) 数据同步方法、装置、计算机设备和存储介质
CN113886485A (zh) 数据处理方法、装置、电子设备、系统和存储介质
CN112463527A (zh) 一种数据处理方法、装置、设备、系统及存储介质
CN112052248A (zh) 一种审计大数据处理方法及系统
CN112764988B (zh) 一种数据分段采集方法及装置
CN114297211A (zh) 一种数据在线分析系统、方法、设备及存储介质
CN110389966B (zh) 一种信息处理方法及装置
CN111190858B (zh) 软件信息存储方法、装置、设备和存储介质
CN114443595A (zh) 一种处理文件的方法及装置
CN103246711B (zh) 一种二进制大对象类型数据的快照生成方法及装置
CN111782588A (zh) 一种文件读取方法、装置、设备和介质
CN111259178A (zh) 图像数据同步方法、装置和系统
CN109710673B (zh) 作品处理方法、装置、设备和介质
CN111258978B (zh) 一种数据存储的方法
CN117390040B (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