CN115171241B - 一种视频帧定位方法、装置、电子设备及存储介质 - Google Patents
一种视频帧定位方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115171241B CN115171241B CN202210770510.1A CN202210770510A CN115171241B CN 115171241 B CN115171241 B CN 115171241B CN 202210770510 A CN202210770510 A CN 202210770510A CN 115171241 B CN115171241 B CN 115171241B
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- video frame
- time
- time information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000000605 extraction Methods 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 108091006146 Channels Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
- G07C5/0866—Registering performance data using electronic data carriers the electronic data carrier being a digital video recorder in combination with video camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/915—Television signal processing therefor for field- or frame-skip recording or reproducing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
- H04N2005/91307—Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
- H04N2005/91335—Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal the copy protection signal being a watermark
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请涉及图像处理技术领域,尤其涉及一种视频帧定位方法、装置、电子设备及存储介质,依次针对获取到的视频文件中包含的各视频帧,分别执行以下操作,直至确定出参考视频帧:基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定出的时间偏移差值,若确定时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧,根据获取到的抽帧时间信息、所述参考视频帧的时间信息,以及所述视频文件的视频属性信息,确定出总偏移帧数,基于所述总偏移帧数,从所述各视频帧中,定位出目标视频帧,这样,能够提高视频帧定位的准确度。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种视频帧定位方法、装置、电子设备及存储介质。
背景技术
目前,视频存储技术能够应用到多种不同的场景中,例如,行车记录场景。在生成视频文件后,视频文件具有非常广泛的用途,例如,从视频文件中抽取所需的视频帧后,可以基于抽取的视频帧对地图进行更新。
在行车记录场景中,由于行车记录仪对于录像并没有非常高的精确要求,因此,记录到的视频文件的起始视频帧时间一般是秒级时间,也即,视频帧的真实时间信息的精度为秒。
现有技术中,在对起始时间为秒级的视频文件进行抽帧时,视频文件第一帧的时间信息为秒级时间戳*1000,然后通过请求时间信息减去第一帧的时间信息,获得目标视频帧与第一帧之间的相对偏移量,获取到的目标帧与真实帧之间的误差为0-1s。
因此,现有技术中的视频帧定位方法存在误差,准确度不高。
发明内容
本申请实施例提供一种视频帧定位方法、装置、电子设备及存储介质,以提高视频帧定位的准确度。
本申请实施例提供的具体技术方案如下:
一种视频帧定位方法,包括:
依次针对获取到的视频文件中包含的各视频帧,分别执行以下操作,直至确定出参考视频帧:基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧,其中,所述参考视频帧表征时间信息的秒位出现跳变的视频帧;
根据获取到的抽帧时间信息、所述参考视频帧的时间信息,以及所述视频文件的视频属性信息,确定出总偏移帧数,其中,所述总偏移帧数表征目标视频帧与所述视频文件中的首个视频帧之间间隔的视频帧的数量;
基于所述总偏移帧数,从所述各视频帧中,定位出目标视频帧。
可选的,依次针对获取到的视频文件中包含的各视频帧之前,还包括:
响应接收到的视频帧定位请求,基于所述视频帧定位请求中的抽帧时间信息,确定出对应的视频文件;
读取所述视频文件中包含的各视频帧,以及,确定所述视频文件对应的视频属性信息。
可选的,所述时间信息的获得方式为:
对视频帧进行解码,获得时间区域图像,其中,所述时间区域图像中包含有视频帧的待处理时间信息;
分别基于预设的各数字位置信息,对所述时间区域图像进行截取,获得所述各数字位置信息各自对应的数字区域图像;
基于已训练的图像识别模型,分别以各数字区域图像为输入参数,确定所述各数字区域图像中包含的区域识别结果;
基于各区域识别结果,确定待处理时间信息;
采用预设的时间转换方式,将所述待处理时间信息转换为标准格式下的时间,获得时间信息。
可选的,对视频帧进行解码,获得时间区域图像,包括:
对视频帧进行解码,获得解码后的视频帧;
采用预设的格式转换方式,将所述解码后的视频帧转换为标准图像格式下的标准图像;
基于预设的区域位置信息,对所述标准图像进行截取,获得时间区域图像,其中,所述区域位置信息用于指示包含有待处理时间信息的时间区域图像在所述标准图像中的位置。
可选的,基于已训练的图像识别模型,分别以各数字区域图像为输入参数,确定所述各数字区域图像中包含的区域识别结果,包括:
分别针对各数字区域图像,执行以下操作:
将任意一数字区域图像输入至已训练的图像识别模型中,对该数字区域图像进行特征提取,获得该数字区域图像对应的图像特征,分别确定所述图像特征与各数字之间的匹配概率,并将匹配概率最大的数字作为该数字区域图像的区域识别结果。
可选的,所述基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧,包括:
将下一个视频帧的时间信息,与任意一视频帧的时间信息相减,获得时间偏移差值;
若确定所述时间偏移差值为设定值,则确定所述时间偏移差值满足预设的时间跳变条件,将所述下一个视频帧作为参考视频帧。
可选的,所述视频属性信息还包括帧率信息,所述根据获取到的抽帧时间信息、所述参考视频帧的时间信息,以及所述视频文件的视频属性信息,确定出总偏移帧数,包括:
基于所述参考视频帧的时间信息与所述视频文件中的首个视频帧的时间信息之间的参考时间差,获得参考偏移帧数;
若确定所述抽帧时间信息大于所述参考视频帧的时间信息,则基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数;
若确定所述抽帧时间信息不大于所述参考视频帧的时间信息,则基于所述参考视频帧的时间信息与所述抽帧时间信息之间的第二时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数。
可选的,所述基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数,包括:
基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值,与所述帧率信息之间的比值,获得第一偏移帧数;
基于所述第一偏移帧数与所述参考偏移帧数之和,获得总偏移帧数;
所述基于所述参考视频帧的时间信息与所述抽帧时间信息之间的第二时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数,包括:
基于所述参考视频帧的时间信息与抽帧时间信息之间的第二时间差值,与所述帧率信息之间的比值,获得第二偏移帧数;
基于所述参考偏移帧数与所述第二偏移帧数之差,获得总偏移帧数。
可选的,所述视频属性信息还包括视频帧总数,所述基于所述总偏移帧数,从所述各视频帧中,定位出目标视频帧,包括:
确定所述总偏移帧数大于等于0,且所述总偏移帧数小于等于所述视频帧总数时,则读取所述视频文件;
基于所述总偏移帧数,从所述视频文件的各视频帧中,定位出目标视频帧。
可选的,所述方法还包括:
对所述目标视频帧进行解码,获得解码后的目标视频帧;
确定所述解码后的目标视频帧对应的当前帧偏移量;
若确定所述当前帧偏移量与所述总偏移帧数相同,则返回成功的定位结果。
可选的,所述方法还包括:
若确定所述总偏移帧数小于0,则读取上一个时间段的视频文件,并针对所述上一个时间段的视频文件,重新执行确定出参考视频帧的步骤;
若确定所述总偏移帧数大于所述视频帧总数,则读取下一个时间段的视频文件,并针对所述下一个时间段的视频文件,重新执行确定出参考视频帧的步骤。
一种视频帧定位装置,包括:
处理模块,用于依次针对获取到的视频文件中包含的各视频帧,分别执行以下操作,直至确定出参考视频帧:基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧,其中,所述参考视频帧表征时间信息的秒位出现跳变的视频帧;
确定模块,用于根据获取到的抽帧时间信息、所述参考视频帧的时间信息,以及所述视频文件的视频属性信息,确定出总偏移帧数,其中,所述总偏移帧数表征目标视频帧与所述视频文件中的首个视频帧之间间隔的视频帧的数量;
定位模块,用于基于所述总偏移帧数,从所述各视频帧中,定位出目标视频帧。
可选的,依次针对获取到的视频文件中包含的各视频帧之前,还包括读取模块,所述读取模块用于:
响应接收到的视频帧定位请求,基于所述视频帧定位请求中的抽帧时间信息,确定出对应的视频文件;
读取所述视频文件中包含的各视频帧,以及,确定所述视频文件对应的视频属性信息。
可选的,获得所述时间信息时,所述处理模块还用于:
对视频帧进行解码,获得时间区域图像,其中,所述时间区域图像中包含有视频帧的待处理时间信息;
分别基于预设的各数字位置信息,对所述时间区域图像进行截取,获得所述各数字位置信息各自对应的数字区域图像;
基于已训练的图像识别模型,分别以各数字区域图像为输入参数,确定所述各数字区域图像中包含的区域识别结果;
基于各区域识别结果,确定待处理时间信息;
采用预设的时间转换方式,将所述待处理时间信息转换为标准格式下的时间,获得时间信息。
可选的,对视频帧进行解码,获得时间区域图像时,所述处理模块还用于:
对视频帧进行解码,获得解码后的视频帧;
采用预设的格式转换方式,将所述解码后的视频帧转换为标准图像格式下的标准图像;
基于预设的区域位置信息,对所述标准图像进行截取,获得时间区域图像,其中,所述区域位置信息用于指示包含有待处理时间信息的时间区域图像在所述标准图像中的位置。
可选的,基于已训练的图像识别模型,分别以各数字区域图像为输入参数,确定所述各数字区域图像中包含的区域识别结果时,所述处理模块还用于:
分别针对各数字区域图像,执行以下操作:
将任意一数字区域图像输入至已训练的图像识别模型中,对该数字区域图像进行特征提取,获得该数字区域图像对应的图像特征,分别确定所述图像特征与各数字之间的匹配概率,并将匹配概率最大的数字作为该数字区域图像的区域识别结果。
可选的,所述基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧时,所述处理模块还用于:
将下一个视频帧的时间信息,与任意一视频帧的时间信息相减,获得时间偏移差值;
若确定所述时间偏移差值为设定值,则确定所述时间偏移差值满足预设的时间跳变条件,将所述下一个视频帧作为参考视频帧。
可选的,所述视频属性信息还包括帧率信息,所述确定模块还用于:
基于所述参考视频帧的时间信息与所述视频文件中的首个视频帧的时间信息之间的参考时间差,获得参考偏移帧数;
若确定所述抽帧时间信息大于所述参考视频帧的时间信息,则基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数;
若确定所述抽帧时间信息不大于所述参考视频帧的时间信息,则基于所述参考视频帧的时间信息与所述抽帧时间信息之间的第二时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数。
可选的,所述基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数时,所述确定模块还用于:
所述基于所述参考视频帧的时间信息与所述抽帧时间信息之间的第二时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数时,所述确定模块还用于:
基于所述参考视频帧的时间信息与抽帧时间信息之间的第二时间差值,与所述帧率信息之间的比值,获得第二偏移帧数;
基于所述参考偏移帧数与所述第二偏移帧数之差,获得总偏移帧数。
可选的,所述视频属性信息还包括视频帧总数,所述定位模块还用于:
确定所述总偏移帧数大于等于0,且所述总偏移帧数小于等于所述视频帧总数时,则读取所述视频文件;
基于所述总偏移帧数,从所述视频文件的各视频帧中,定位出目标视频帧。
可选的,所述装置还包括校验模块,所述校验模块用于:
对所述目标视频帧进行解码,获得解码后的目标视频帧;
确定所述解码后的目标视频帧对应的当前帧偏移量;
若确定所述当前帧偏移量与所述总偏移帧数相同,则返回成功的定位结果。
可选的,所述处理模块还用于:
若确定所述总偏移帧数小于0,则读取上一个时间段的视频文件,并针对所述上一个时间段的视频文件,重新执行确定出参考视频帧的步骤;
若确定所述总偏移帧数大于所述视频帧总数,则读取下一个时间段的视频文件,并针对所述下一个时间段的视频文件,重新执行确定出参考视频帧的步骤。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述视频帧定位方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频帧定位方法的步骤。
本申请实施例中,依次针对获取到的视频文件中包含的各视频帧,分别执行以下操作,直至确定出参考视频帧:基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定时间偏移差值满足预设的时间跳变条件,则将下一个视频帧作为参考视频帧,根据获取到的抽帧时间信息、参考视频帧的时间信息,以及视频文件的视频属性信息,确定出总偏移帧数,基于总偏移帧数,从各视频帧中,定位出目标视频帧。这样,基于视频文件中包含的各视频帧的时间信息,从各视频帧中确定出时间信息的秒位出现跳变的参考视频帧,并根据请求的抽帧时间信息、参考视频帧的额时间信息和视频属性信息,确定出目标视频帧与参考视频帧之间间隔的视频帧的数量,从而能够精准定位出抽帧时间信息对应的目标视频帧,减少了定位误差,提高了定位视频帧的准确度。
附图说明
图1为本申请实施例中一种视频帧定位方法的流程示意图;
图2为本申请实施例中确定时间区域图像的示例图;
图3为本申请实施例中确定数字区域图像示例图;
图4为本申请实施例中视频帧定位方法的另一流程示意图;
图5为本申请实施例中视频帧定位装置的结构示意图;
图6为本申请实施例中电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,视频存储技术能够应用到多种不同的场景中,例如,行车记录场景。
当业务需要相对精确实现GPS对应图片帧的进行匹配的时候,若直接通过水印识别,在秒级不变的情况下,是无法分辨当前视频帧所处是09:42:40:000还是09:42:40:999,这样,会导致匹配误差达到秒级,例如,以正常车辆60km/s进行行驶的时候,秒级误差会导致的位置误差为0-16.67m。
为了解决上述问题,本申请实施例中提供了一种视频帧定位方法,在对于视频文件进行分析时,通过对视频帧中的时间信息进行识别,可以将视频帧中的数字还原成真实的时间信息,当出现秒位跳变时,表征上一秒的最后一个视频帧跳变至下一秒的第一个视频帧,因此,可以基于识别出的时间信息从各视频帧中确定出参考视频帧,从而可以根据参考视频帧实现对于视频帧更精准的定位。
参阅图1所示,为本申请实施例中一种视频帧定位方法的流程示意图,具体包括:
步骤100:依次针对获取到的视频文件中包含的各视频帧,分别执行以下操作,直至确定出参考视频帧:基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定时间偏移差值满足预设的时间跳变条件,则将下一个视频帧作为参考视频帧。
其中,参考视频帧表征时间信息的秒位出现跳变的视频帧。
本申请实施例中,获取视频文件,依次读取视频文件中包含的各视频帧,并依次判断各视频帧对应的时间偏移差值是否满足预设的时间跳变条件,直至从视频文件包含的各视频帧中,确定出参考视频帧,下面以任意一个视频帧(以下称为视频帧a)为例,对本申请实施例中确定参考视频帧的过程进行说明:
首先,确定视频帧a中包含的时间信息,以及,确定视频帧a的下一个视频帧a+1中包含的时间信息,并基于视频帧a的时间信息和视频帧a+1的时间信息,确定出视频帧a与视频帧a+1之间的时间偏移差值,判断确定出的时间偏移差值是否满足预设的时间跳变条件,若确定时间偏移差值满足预设的时间跳变条件,则将视频帧a+1作为参考视频帧,若确定时间偏移差值未满足预设的时间跳变条件,则读取视频帧a+1的下一个视频帧a+2,并基于视频帧a+1中包含的时间信息和下一个视频帧a+2中包含的时间信息,确定出视频帧a+1与视频帧a+2之间的时间偏移差值,从而继续判断确定出的时间偏移差值是否满足预设的时间跳变条件。
具体的,本申请实施例中,在确定参考视频帧之前,需要获取视频文件,下面对本申请实施例中,获取视频文件的过程进行说明:
第一步:响应接收到的视频帧定位请求,基于视频帧定位请求中的抽帧时间信息,确定出对应的视频文件。
本申请实施例中,接收视频帧定位请求,在视频帧定位请求中,包含有用户输入的抽帧时间信息,响应接收到的视频帧定位请求,基于视频帧定位请求中的抽帧时间信息,对文件名进行定位,确定出抽帧时间信息对应的目标视频帧,以及目标视频帧所属的视频文件对应的文件位置,然后,通过预设的函数库,打开通过文件位置定位到的视频文件。
其中,抽帧时间信息为时间戳,且抽帧时间信息的类型为毫秒级,即,抽帧时间信息的单位为毫秒ms。
需要说明的是,本申请实施例中的函数库可以为FFmpeg,对此并不进行限制。
另外,需要说明的是,本申请实施例中的视频文件为存储有多个视频帧的文件,如,第一个视频文件中存储有10:00:01-10:00:10的各视频帧,第二个视频文件中存储有10:00:11-10:00:20的各视频帧,因此,基于抽帧时间信息,能够确定出目标视频帧所在的视频文件。
第二步:读取视频文件中包含的各视频帧,以及,确定视频文件对应的视频属性信息。
本申请实施例中,读取视频文件中包含的各视频帧,以及,读取当前的视频文件对应的视频属性信息。
其中,视频属性信息至少包括以下一种:帧率信息,即每秒传输帧数(Frames PerSecond,FPS)、视频帧总数(Fsum),本申请实施例中对此并不进行限制。
在获得视频文件后,识别视频帧a中包含的时间信息,以及,识别视频帧a+1中包含的时间信息,下面对本申请实施例中识别获得视频帧中包含的时间信息的过程进行说明:
S1:对视频帧进行解码,获得时间区域图像。
其中,时间区域图像中包含有视频帧的待处理时间信息。
本申请实施例中,首先,读取视频帧对应的视频帧数据,并采用预设的解码方式,对视频帧数据进行解码,获得时间区域图像。
需要说明的是,本申请实施例中的时间区域图像中包含有视频帧的待处理时间信息,例如,时间区域图像中包含有待处理时间信息“2021-10-21 09:00:01”。
可选的,本申请实施例中,为获得时间区域图像提供了一种可能的实施方式,下面对本申请实施例中,获得时间区域图像的过程进行说明,具体包括:
S11:对视频帧进行解码,获得解码后的视频帧。
本申请实施例中,采用预设的解码方式,对视频帧进行解码,获得解码后的视频帧。
其中,本申请实施例中的解码后的视频帧为YUV数据,“Y”表示明亮度,即,灰阶值,“U”和“V”为色度,因此,解码后的视频帧中,每个像素点均对应有YUV数据。
需要说明的是,本申请实施例中的预设的解码函数库可以为FFmpeg,对此并不进行限制。
S12:采用预设的格式转换方式,将解码后的视频帧转换为标准图像格式下的标准图像。
本申请实施例中,由于解码后的视频帧为YUV数据,图像识别模型所能够识别的图像数据格式为BGR,因此,采用预设的格式转换方式,基于YUV数据和BGR数据之间的对应关系,分别将解码后的视频帧中,各YUV格式下的像素点,转换为BGR格式下的像素点,由于BGR格式下的像素点为标准格式下的像素点,从而基于各BGR格式下的像素点,能够获得标准图像格式下的标准图像。
需要说明的是,BGR格式表征颜色通道顺序为[B,G,R],其中,B为蓝色,G为绿色,R为红色。
S13:基于预设的区域位置信息,对标准图像进行截取,获得时间区域图像。
其中,区域位置信息用于指示包含有待处理时间信息的时间区域图像在标准图像中的位置。
本申请实施例中,由于每张标准图像中的部分区域包含有待处理时间信息,并且,在各标准图像中,待处理时间信息所在的区域均是相同的,因此,基于预设的区域位置信息,对标准图像进行截取,从而获得包含有待处理时间信息的时间区域图像。
例如,参阅图2所示,为本申请实施例中确定时间区域图像的示例图,基于区域位置信息能够确定待处理时间信息在标准图像中的位置,对标准图像进行截取后能够获得包含有待处理时间信息“2021-8-27 09:42:40”的时间区域图像。
S2:分别基于预设的各数字位置信息,对时间区域图像进行截取,获得各数字位置信息各自对应的数字区域图像。
本申请实施例中,在时间区域图像中,包含有待处理时间信息,待处理时间信息是由多个数字构成的,每个数字均有其在时间区域中所在的固定位置,根据预设的各数字位置信息可确定每个数字在时间区域图像中所在的位置,因此,分别针对预设的各数字位置信息,执行以下操作:根据任意一个数字位置信息,对时间区域图像进行截取,从而获得该数字位置信息对应的数字区域图像,这样,即可获得待处理时间信息中的各数字所在的数字区域图像。
例如,参阅图3所示,为本申请实施例中确定数字区域图像示例图,时间区域图像中包含待处理时间信息“2021-08-11 08:22:03”,基于年、月、日、时、分、秒对应的各数字位置信息,对时间区域图像进行截取,获得相应的数字区域图像。
S3:基于已训练的图像识别模型,分别以各数字区域图像为输入参数,确定各数字区域图像对应的区域识别结果。
首先,介绍本申请实施例中图像识别模型的训练过程:获取不同场景下的视频文件,例如,晴天、雨天、白天、黑夜等,然后,根据数字位置信息,分别对各视频文件中的各视频帧包含的时间区域图像进行数字截取,从而获得0-9数字的数字区域图像作为样本,构建初始的图像识别模型,图像识别模型可以为卷积神经网络(Convolutional NeuralNetworks,CNN),CNN包括CNN层,批量归一化(Batch Normalization,BN)层,修正线性单元(Rectified linear unit,ReLU)层,通过将数字区域图像样本输入至初始的图像识别模型,得到训练完成的图像识别模型。
在获得已训练的图像识别模型后,即可基于图像识别模型确定数字区域图像对应的区域识别结果,本申请实施例中,为确定区域识别结果提供了一种可能的实施方式,下面以任意一个数字区域图像为例,对本申请实施例中确定区域识别结果的过程进行具体说明:
将任意一数字区域图像输入至已训练的图像识别模型中,对该数字区域图像进行特征提取,获得该数字区域图像对应的图像特征,分别确定图像特征与各数字之间的匹配概率,并将匹配概率最大的数字作为该数字区域图像的区域识别结果。
本申请实施例中,使用libncnn库加载已训练的图像识别模型,调整数字区域图像的大小,固定至28*28像素,从而获得28*28像素的数字区域图像,然后,将数字区域图像输入至已训练的图像识别模型中,对数字区域图像进行特征提取,获得该数字区域图像对应的图像特征,然后,基于图像特征,确定数字区域图像与各数字之间的匹配概率,并从各匹配概率中,确定出匹配概率数值最大对应的数字,作为该数字区域图像对应的区域识别结果,即,获得0-9之间的区域识别结果。
需要说明的是,本申请实施例中的图像特征为10维向量。
S4:基于各区域识别结果,获得待处理时间信息。
本申请实施例中,将各区域识别结果进行整合,获得待处理时间信息。
例如,将“时”的第一位的识别结果“1”、“时”的第二位识别结果“0”、“分”的第一位识别结果“0”和“分”的第二位识别结果“1”进行整合,获得待处理时间信息为10:01。
S5:采用预设的时间转换方式,将待处理时间信息转换为标准格式下的时间,获得时间信息。
本申请实施例中,采用预设的时间转换方式,将待处理时间信息转换为标准格式下的时间,从而获得时间信息。
需要说明的是,本申请实施例中,时间转换方式用于将时间转换为时间戳。
本申请实施例中,在获得时间信息后,即可基于时间信息确定出视频帧a是否为参考视频帧,下面对本申请实施例中确定参考视频帧的过程进行说明:
首先,将下一个视频帧的时间信息,与任意一视频帧的时间信息相减,获得时间偏移差值。
本申请实施例中,在获得视频帧a+1的时间信息和视频帧a的时间信息之后,将视频帧a+1的时间信息和视频帧a的时间信息相减,获得时间偏移差值。
具体的,本申请实施例中的时间偏移差值可以表示为:T=Ts2-Ts1。
其中,Ts2为视频帧a+1的时间信息,Ts1为视频帧a的时间信息,T为时间偏移差值。
需要说明的是,本申请实施例中,由于视频文件中的各视频帧是按照时间顺序排列的,因此,下一个视频帧为任意一个视频帧的下一个视频帧,即,下一视频帧为排列在任意一视频帧之后的视频帧。
然后,判断时间偏移差值是否为设定值,若确定时间偏移差值为设定值,则确定时间偏移差值满足预设的时间跳变条件,将下一个视频帧作为参考视频帧。
本申请实施例中,本申请实施例中,判断时间偏移差值是否为设定值,若确定时间偏移差值为设定值,则确定时间偏移差值满足预设的时间跳变条件,并将视频帧a+1作为参考视频帧,若确定时间偏移差值不为设定值,则确定时间偏移差值不满足预设的时间跳变条件,则读取视频帧a+1的下一个视频帧a+2,并确定基于视频帧a+1中包含的时间信息和视频帧a+2中包含的时间信息确定出的时间偏移差值,是否满足预设的时间跳变条件,从而确定视频帧a+2是否为参考视频帧。
其中,本申请实施例中的设定值可以为1s,当设定值为1s时,视频帧a与视频帧a+1的时间信息出现秒位跳变,确定视频帧a+1为参考视频帧。
例如,假设本申请实施例中的设定值为1s,若确定时间偏移差值为1s,即,Ts2-Ts1=1s,则在该情况中,视频帧a与视频帧a+1之间出现秒级跳变,将视频帧a+1作为参考时间帧,若确定时间偏移差值为0,即,Ts2-Ts1=0,则在该情况中,视频帧a与视频帧a+1之间未出现秒级跳变,读取视频帧a+2,并确定视频帧a+2是否为参考视频帧。
又例如,假设视频帧a和视频帧a+1在添加水印的时候,获取当前的秒级时间并实时打在视频帧画面上,从而通过水印识别,即图像识别,得到年月日,时分秒数据,视频帧a的时间信息为2021-08-27-09:42:40,从而确定出视频帧a+1对应的时间信息为2021-08-27-09:42:41,因此,可以确定出视频帧a+1出现秒位跳变,即上一秒的最后一针视频帧跳变到下一秒的第一帧,将视频帧a+1作为参考视频帧,从而可以利用参考视频帧实现对于视频帧更精准的定位。
步骤110:根据获取到的抽帧时间信息、参考视频帧的时间信息,以及视频文件的视频属性信息,确定出总偏移帧数。
其中,总偏移帧数表征目标视频帧与视频文件中的首个视频帧之间间隔的视频帧的数量。
本申请实施例中,由于接收到的视频帧定位请求中,还包含有抽帧时间信息,因此,基于视频帧定位请求中的抽帧时间信息、参考视频帧对应的时间信息,以及视频文件的视频属性信息,确定总偏移帧数。
可选的,本申请实施例中,为确定总偏移帧数提供了一种可能的实施方式,下面对本申请实施例中,确定总偏移帧数的过程进行说明:
第一步:基于参考视频帧的时间信息与视频文件中的首个视频帧的时间信息之间的参考时间差,获得参考偏移帧数。
本申请实施例中,计算参考视频帧的时间信息,与视频文件中的首个视频帧的时间信息之间的差值,获得参考时间差,然后,计算参考时间差与帧率信息之间的比值,获得的比值即为参考偏移帧数。
需要说明的是,本申请实施例中的参考偏移帧数表征参考视频帧与视频文件中的首个视频帧之间间隔的视频帧的数量。
例如,参考偏移帧数可以表示为:F2=(Ts2-Ts0)/FPS。
其中,F2为参考偏移帧数,Ts2为参考视频帧的时间信息,Ts0为视频文件中的首个视频帧的时间信息,FPS为帧率信息。
另外,需要说明的是,本申请实施例中的首个视频帧表征:按照顺序依次排列在视频文件中的各视频帧中,顺序最靠前的视频帧,即,视频文件中时间信息最早的视频帧。
第二步:判断抽帧时间信息是否大于参考视频帧的时间信息,具体可以分为以下两种情况:
第一种情况:抽帧时间信息大于参考视频帧的时间信息。
具体的,若确定抽帧时间信息大于参考视频帧的时间信息,则基于抽帧时间信息与参考视频帧的时间信息之间的第一时间差值、帧率信息,以及参考偏移帧数,确定总偏移帧数。
本申请实施例中,当确定抽帧时间信息大于参考视频帧的时间信息时,由于抽帧时间信息为毫秒级的时间戳,参考视频帧的时间信息为秒级时间戳,因此,需要先将参考视频帧的时间信息由秒级时间戳转换为毫秒级时间戳,然后,基于抽帧时间信息与转换后的参考视频帧的时间信息之间的第一时间差值、帧率信息和参考偏移帧数,确定总偏移帧数。
可选的,在上述情况中,提供了一种可能的实施方式:首先,基于抽帧时间信息与参考视频帧的时间信息之间的第一时间差值,与帧率信息之间的比值,获得第一偏移帧数,然后,基于第一偏移帧数与参考偏移帧数之和,获得总偏移帧数。
具体的,计算抽帧时间信息与转换后的参考视频帧的时间信息之间的差值,计算出的差值为抽帧时间信息与参考视频帧的时间信息之间的第一时间差值,然后确定第一时间差值与帧率信息之间的比值,确定出的比值为第一偏移帧数,最后,将计算出的第一偏移帧数与参考偏移帧数相加,获得总偏移帧数。
当Tms>Ts2*1000,上述情况中的总偏移帧数可以表示为:
Ft=(Tms-Ts2*1000)/FPS+F2
其中,Ft为总偏移帧数,Tms为抽帧时间信息,Ts2为参考视频帧的时间信息,FPS为帧率信息,F2为参考偏移帧数。
第二种情况:抽帧时间信息不大于参考视频帧的时间信息。
具体的,若确定抽帧时间信息不大于参考视频帧的时间信息,则基于参考视频帧的时间信息与抽帧时间信息之间的第二时间差值、帧率信息,以及参考偏移帧数,确定总偏移帧数。
本申请实施例中,当确定抽帧时间信息不大于参考视频帧的时间信息时,由于抽帧时间信息为毫秒级时间戳,参考视频帧的时间信息为秒级时间戳,因此,需要先将参考视频帧的时间信息由秒级时间戳转换为毫秒级时间戳,然后,基于转换后的参考视频帧的时间信息与抽帧时间信息之间的第二时间差值、帧率信息和参考偏移帧数,确定总偏移帧数。
可选的,在上述情况中,提供了一种可能的实施方式:首先,基于参考视频帧的时间信息与抽帧时间信息之间的第二时间差值,与帧率信息之间的比值,获得第二偏移帧数,然后,基于参考偏移帧数与第二偏移帧数之差,获得总偏移帧数。
具体的,计算转换后的参考视频帧的时间信息与抽帧时间信息之间的差值,计算出的差值为参考视频帧的时间信息与抽帧时间信息之间的第二时间差值,然后确定第二时间差值与帧率信息之间的比值,确定出的比值为第二偏移帧数,最后,将参考偏移帧数与第二偏移帧数相减,获得总偏移帧数。
其中,当Tms<=Ts2*1000,上述情况中的总偏移帧数可以表示为:
Ft=F2-(Ts2*1000-Tms)/FPS
步骤120:基于总偏移帧数,从各视频帧中,定位出目标视频帧。
本申请实施例中,在获得总偏移帧数后,即可根据总偏移帧数,从各视频帧中定位出目标视频帧。
可选的,本申请实施例中,为定位目标视频帧提供了一种可能的实施方式,判断总偏移帧数是否大于等于0,同时,判断总偏移帧数是否小于等于视频帧总数,具体可以分为以下三种情况:
第一种情况:总偏移帧数大于等于0,且总偏移帧数小于等于视频帧总数。
具体的,当确定总偏移帧数大于等于0,且总偏移帧数小于等于视频帧总数时,首先,读取视频文件。
本申请实施例中,判断总偏移帧数是否大于等于0,以及,判断总偏移帧数是否小于等于视频帧总数,若确定总偏移帧数大于等于0,且总偏移帧数小于等于视频帧总数,则读取视频文件。
然后,基于总偏移帧数,从视频文件的各视频帧中,定位出目标视频帧。
本申请实施例中,基于总偏移帧数,从视频文件的各视频帧中,定位出目标视频帧。
第二种情况:总偏移帧数小于0。
具体的,若确定总偏移帧数小于0,则读取上一个时间段的视频文件,并针对上一个时间段的视频文件,重新执行确定出参考视频帧的步骤。
本申请实施例中,当确定总偏移帧数小于0时,表征在步骤100中,基于抽帧时间信息确定出的视频文件是不准确的,因此,需要读取上一个时间段的视频文件,并针对上一个时间段的视频文件,重新执行步骤100中确定参考视频帧的步骤,直至确定出的总偏移帧数大于等于0,且小于等于视频帧总数。
第三种情况:总偏移帧数大于视频帧总数。
具体的,若确定总偏移帧数大于视频帧总数,则读取下一个时间段的视频文件,并针对下一个时间段的视频文件,重新执行确定出参考视频帧的步骤。
本申请实施例中,当确定总偏移帧数大于视频帧总数时,表征在步骤100中,基于抽帧时间信息确定出的视频文件是不准确的,因此,需要读取下一个时间段的视频文件,并针对下一个时间段的视频文件,重新执行步骤100中确定参考视频帧的步骤,直至确定出的总偏移帧数大于等于0,且小于等于视频帧总数。
进一步地,在确定出目标视频帧后,还可以对确定出的目标视频帧进行校验,从而确定目标视频帧是否为抽帧时间信息对应的视频帧,下面对本申请实施例中对目标视频帧进行校验的过程进行说明,具体包括:
M1:对目标视频帧进行解码,获得解码后的目标视频帧。
本申请实施例中,采用预设的解码方式,对目标视频帧进行解码,获得解码后的目标视频帧。
M2:确定解码后的目标视频帧对应的当前帧偏移量。
本申请实施例中,确定解码后的目标视频帧对应的当前帧偏移量。
具体的,本申请实施例中,由于视频文件中的各视频帧是按照时间顺序排列的,因此,可以基于确定出的目标视频帧在视频文件中的排列顺序信息,确定出的目标视频帧的当前帧偏移量。
M3:若确定当前帧偏移量与总偏移帧数相同,则返回成功的定位结果。
本申请实施例中,若确定计算出的当前帧偏移量,与通过步骤110计算出的总偏移帧数相同,则确定视频帧定位成功,并返回定位结果为成功。
例如,假设当前帧偏移量为Fr,若确定Fr==Ft,则表示已读取到目标视频帧,视频帧定位成功。
进一步地,本申请实施例中,对于实现毫秒级精度的时间戳抽取的方法,通常需要记录起始帧毫秒级时间戳作为参照帧,或者记录每个视频关键帧的毫秒级时间戳,然后才可以实现毫秒级误差的定位,因此,对于通常未记录毫秒级精度起始时间的文件,可以在视频初期在每张视频帧上加上毫秒级时间戳的水印,通过对视频帧进行时间信息的识别,可以实现毫秒级时间戳视频帧的抽取。
本申请实施例中,目前常规的行车记录仪或终端设备,其录制视频文件对应的文件名,以及视频文件中各视频帧的水印时间都是以秒为单位,采用本申请的技术方案,假设视频文件帧率信息FPS=30,则确定出的车辆的位置误差范围可以缩小到0-0.56m,并且,高速车辆中,GPS与图片帧匹配的误差能够降到更低,在没有毫秒级起始帧时间戳的情况下,通过水印秒位跳变实现定位时间戳基准的误差从秒级提升到毫秒级,具体理论精度为1000/FPS ms,比如FPS=30,则抽帧精度相比秒级精度可以提升30倍,时间误差从最高1s提升到33ms。
基于上述实施例,参阅图4所示,为本申请实施例中视频帧定位方法的另一流程示意图,具体包括:
步骤400:获取抽帧时间信息Tms。
步骤401:按照时间顺序排列视频文件,遍历获得Tms/1000所在的视频文件。
步骤402:采用FFMPEG读取视频文件,确定视频文件的帧率信息FPS和视频帧总数Fsum。
步骤403:读取视频帧,使用FFmpeg对视频帧进行解码,获得YUV格式下的解码后的视频帧。
步骤404:将解码后的视频帧转换为标准图像。
步骤405:从标准图像中,截取出待处理图像。
步骤406:将待处理图像输入至已训练的图像识别模型,获取待处理时间信息,并基于待处理时间信息,获得Ts1、Ts2、F1和F2。
其中,获得视频帧的时间信息Ts1和下一个视频帧的时间信息Ts2,以及,获取相对视频文件首个视频帧的时间偏移差值F1和F2。
步骤407:判断Ts1是否等于Ts2,若是,则执行步骤403,若否,则执行步骤408。
步骤408:判断Ts2-Ts1是否等于1s,若是,则执行步骤409,若否,则执行步骤403。
步骤409:判断Tms是否大于Ts2*1000,若是,则执行步骤410,若否,则执行步骤411。
步骤410:Ft=(Tms-T2*1000)/FPS+F2。
步骤411:Ft=F2-(Ts2*1000-Tms)/FPS。
步骤412:判断Ft是否小于0,若是,则执行步骤413,若否,则执行步骤414。
本申请实施例中,Ft为总偏移帧数,在确定出Ft后,判断Ft是否小于0,若确定Ft小于0,则设置读取的视频文件为遍历的上一个视频文件,若确定Ft不小于0,则判断Ft是否大于视频帧总数Fsum。
步骤413:设置读取的视频文件为遍历的上一个视频文件。
本申请实施例中,读取上一个视频文件,并重新执行步骤402。
步骤414:判断Ft是否大于Fsum,若是,则执行步骤415,若否,则执行步骤416。
本申请实施例中,判断Ft是否大于Fsum,若确定Ft大于Fsum,则设置读取的视频文件为遍历的下一个视频文件,若确定Ft不大于Fsum,则重新打开视频文件。
步骤415:设置读取视频文件为遍历的下一个视频文件。
本申请实施例中,读取下一个视频文件,并重新执行步骤402。
步骤416:重新打开视频文件。
本申请实施例中,通过FFmpeg重新打开通过步骤401获得的视频文件。
步骤417:读取视频帧并解码。
本申请实施例中,读取基于Ft定位出的视频帧,并对读取的视频帧进行解码。
步骤418:判断Fr是否等于Ft,若是,则执行步骤419,若否,则执行步骤417。
本申请实施例中,确定读取出的视频帧对应的当前帧偏移量Fr,判断Fr是否等于Ft,若确定Fr等于Ft,则将视频帧返回至终端,若确定Fr不等于Ft,则重新执行步骤417。
步骤419:将视频帧保存返回至终端。
本申请实施例中,通过步骤418校验是否获得所需的视频帧,在通过校验后,将视频帧保存并返回至终端。
基于同一发明构思,本申请实施例中还提供了一种视频帧定位装置,该视频帧定位装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图5所示,为本申请实施例中视频帧定位装置的结构示意图,具体包括:
处理模块500,用于依次针对获取到的视频文件中包含的各视频帧,分别执行以下操作,直至确定出参考视频帧:基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧,其中,所述参考视频帧表征时间信息的秒位出现跳变的视频帧;
确定模块510,用于根据获取到的抽帧时间信息、所述参考视频帧的时间信息,以及所述视频文件的视频属性信息,确定出总偏移帧数,其中,所述总偏移帧数表征目标视频帧与所述视频文件中的首个视频帧之间间隔的视频帧的数量;
定位模块520,用于基于所述总偏移帧数,从所述各视频帧中,定位出目标视频帧。
可选的,依次针对获取到的视频文件中包含的各视频帧之前,还包括读取模块530,所述读取模块530用于:
响应接收到的视频帧定位请求,基于所述视频帧定位请求中的抽帧时间信息,确定出对应的视频文件;
读取所述视频文件中包含的各视频帧,以及,确定所述视频文件对应的视频属性信息。
可选的,获得所述时间信息时,所述处理模块500还用于:
对视频帧进行解码,获得时间区域图像,其中,所述时间区域图像中包含有视频帧的待处理时间信息;
分别基于预设的各数字位置信息,对所述时间区域图像进行截取,获得所述各数字位置信息各自对应的数字区域图像;
基于已训练的图像识别模型,分别以各数字区域图像为输入参数,确定所述各数字区域图像中包含的区域识别结果;
基于各区域识别结果,确定待处理时间信息;
采用预设的时间转换方式,将所述待处理时间信息转换为标准格式下的时间,获得时间信息。
可选的,对视频帧进行解码,获得时间区域图像时,所述处理模块500还用于:
对视频帧进行解码,获得解码后的视频帧;
采用预设的格式转换方式,将所述解码后的视频帧转换为标准图像格式下的标准图像;
基于预设的区域位置信息,对所述标准图像进行截取,获得时间区域图像,其中,所述区域位置信息用于指示包含有待处理时间信息的时间区域图像在所述标准图像中的位置。
可选的,基于已训练的图像识别模型,分别以各数字区域图像为输入参数,确定所述各数字区域图像中包含的区域识别结果时,所述处理模块500还用于:
分别针对各数字区域图像,执行以下操作:
将任意一数字区域图像输入至已训练的图像识别模型中,对该数字区域图像进行特征提取,获得该数字区域图像对应的图像特征,分别确定所述图像特征与各数字之间的匹配概率,并将匹配概率最大的数字作为该数字区域图像的区域识别结果。
可选的,所述基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧时,所述处理模块500还用于:
将下一个视频帧的时间信息,与任意一视频帧的时间信息相减,获得时间偏移差值;
若确定所述时间偏移差值为设定值,则确定所述时间偏移差值满足预设的时间跳变条件,将所述下一个视频帧作为参考视频帧。
可选的,所述视频属性信息还包括帧率信息,所述确定模块510还用于:
基于所述参考视频帧的时间信息与所述视频文件中的首个视频帧的时间信息之间的参考时间差,获得参考偏移帧数;
若确定所述抽帧时间信息大于所述参考视频帧的时间信息,则基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数;
若确定所述抽帧时间信息不大于所述参考视频帧的时间信息,则基于所述参考视频帧的时间信息与所述抽帧时间信息之间的第二时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数。
可选的,所述基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数时,所述确定模块510还用于:
所述基于所述参考视频帧的时间信息与所述抽帧时间信息之间的第二时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数时,所述确定模块还用于:
基于所述参考视频帧的时间信息与抽帧时间信息之间的第二时间差值,与所述帧率信息之间的比值,获得第二偏移帧数;
基于所述参考偏移帧数与所述第二偏移帧数之差,获得总偏移帧数。
可选的,所述视频属性信息还包括视频帧总数,所述定位模块520还用于:
确定所述总偏移帧数大于等于0,且所述总偏移帧数小于等于所述视频帧总数时,则读取所述视频文件;
基于所述总偏移帧数,从所述视频文件的各视频帧中,定位出目标视频帧。
可选的,所述装置还包括校验模块540,所述校验模块540用于:
对所述目标视频帧进行解码,获得解码后的目标视频帧;
确定所述解码后的目标视频帧对应的当前帧偏移量;
若确定所述当前帧偏移量与所述总偏移帧数相同,则返回成功的定位结果。
可选的,所述处理模块500还用于:
若确定所述总偏移帧数小于0,则读取上一个时间段的视频文件,并针对所述上一个时间段的视频文件,重新执行确定出参考视频帧的步骤;
若确定所述总偏移帧数大于所述视频帧总数,则读取下一个时间段的视频文件,并针对所述下一个时间段的视频文件,重新执行确定出参考视频帧的步骤。
基于上述实施例,参阅图6所示为本申请实施例中电子设备的结构示意图。
本申请实施例提供了一种电子设备,该电子设备可以包括处理器610(CenterProcessing Unit,CPU)、存储器620、输入设备630和输出设备640等,输入设备630可以包括键盘、鼠标、触摸屏等,输出设备640可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器620可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器610提供存储器620中存储的程序指令和数据。在本申请实施例中,存储器620可以用于存储本申请实施例中任一种视频帧定位方法的程序。
处理器610通过调用存储器620存储的程序指令,处理器610用于按照获得的程序指令执行本申请实施例中任一种视频帧定位方法。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的视频帧定位方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种视频帧定位方法,其特征在于,包括:
依次针对获取到的视频文件中包含的各视频帧,分别执行以下操作,直至确定出参考视频帧:基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧,其中,所述参考视频帧表征时间信息的秒位出现跳变的视频帧;
基于所述参考视频帧的时间信息与所述视频文件中的首个视频帧的时间信息之间的参考时间差,将所述参考时间差与帧率信息之间的比值作为参考偏移帧数;所述帧率信息属于所述视频文件的视频属性信息;
根据获取到的抽帧时间信息、所述参考视频帧的时间信息、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数;其中,所述总偏移帧数表征目标视频帧与所述视频文件中的首个视频帧之间间隔的视频帧的数量;
基于所述总偏移帧数,从所述各视频帧中,定位出目标视频帧。
2.如权利要求1所述的方法,其特征在于,依次针对获取到的视频文件中包含的各视频帧之前,还包括:
响应接收到的视频帧定位请求,基于所述视频帧定位请求中的抽帧时间信息,确定出对应的视频文件;
读取所述视频文件中包含的各视频帧,以及,确定所述视频文件对应的视频属性信息。
3.如权利要求1所述的方法,其特征在于,所述时间信息的获得方式为:
对视频帧进行解码,获得时间区域图像,其中,所述时间区域图像中包含有视频帧的待处理时间信息;
分别基于预设的各数字位置信息,对所述时间区域图像进行截取,获得所述各数字位置信息各自对应的数字区域图像;
基于已训练的图像识别模型,分别以各数字区域图像为输入参数,确定所述各数字区域图像中包含的区域识别结果;
基于各区域识别结果,确定待处理时间信息;
采用预设的时间转换方式,将所述待处理时间信息转换为标准格式下的时间,获得时间信息。
4.如权利要求1所述的方法,其特征在于,所述基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧,包括:
将下一个视频帧的时间信息,与任意一视频帧的时间信息相减,获得时间偏移差值;
若确定所述时间偏移差值为设定值,则确定所述时间偏移差值满足预设的时间跳变条件,将所述下一个视频帧作为参考视频帧。
5.如权利要求1所述的方法,其特征在于,所述根据获取到的抽帧时间信息、所述参考视频帧的时间信息、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数,包括:
若确定所述抽帧时间信息大于所述参考视频帧的时间信息,则基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数;
若确定所述抽帧时间信息不大于所述参考视频帧的时间信息,则基于所述参考视频帧的时间信息与所述抽帧时间信息之间的第二时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数。
6.如权利要求5所述的方法,其特征在于,所述基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数,包括:
基于所述抽帧时间信息与所述参考视频帧的时间信息之间的第一时间差值,与所述帧率信息之间的比值,获得第一偏移帧数;
基于所述第一偏移帧数与所述参考偏移帧数之和,获得总偏移帧数;
所述基于所述参考视频帧的时间信息与所述抽帧时间信息之间的第二时间差值、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数,包括:
基于所述参考视频帧的时间信息与抽帧时间信息之间的第二时间差值,与所述帧率信息之间的比值,获得第二偏移帧数;
基于所述参考偏移帧数与所述第二偏移帧数之差,获得总偏移帧数。
7.如权利要求1所述的方法,其特征在于,所述视频属性信息还包括视频帧总数,所述基于所述总偏移帧数,从所述各视频帧中,定位出目标视频帧,包括:
确定所述总偏移帧数大于等于0,且所述总偏移帧数小于等于所述视频帧总数时,则读取所述视频文件;
基于所述总偏移帧数,从所述视频文件的各视频帧中,定位出目标视频帧。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述总偏移帧数小于0,则读取上一个时间段的视频文件,并针对所述上一个时间段的视频文件,重新执行确定出参考视频帧的步骤;
若确定所述总偏移帧数大于所述视频帧总数,则读取下一个时间段的视频文件,并针对所述下一个时间段的视频文件,重新执行确定出参考视频帧的步骤。
9.一种视频帧定位装置,其特征在于,包括:
处理模块,用于依次针对获取到的视频文件中包含的各视频帧,分别执行以下操作,直至确定出参考视频帧:基于任意一视频帧中包含的时间信息和下一个视频帧中包含的时间信息,确定时间偏移差值,若确定所述时间偏移差值满足预设的时间跳变条件,则将所述下一个视频帧作为参考视频帧,其中,所述参考视频帧表征时间信息的秒位出现跳变的视频帧;
确定模块,用于基于所述参考视频帧的时间信息与所述视频文件中的首个视频帧的时间信息之间的参考时间差,将所述参考时间差与帧率信息之间的比值作为参考偏移帧数;所述帧率信息属于所述视频文件的视频属性信息;
根据获取到的抽帧时间信息、所述参考视频帧的时间信息、所述帧率信息,以及所述参考偏移帧数,确定总偏移帧数;其中,所述总偏移帧数表征目标视频帧与所述视频文件中的首个视频帧之间间隔的视频帧的数量;
定位模块,用于基于所述总偏移帧数,从所述各视频帧中,定位出目标视频帧。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770510.1A CN115171241B (zh) | 2022-06-30 | 2022-06-30 | 一种视频帧定位方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770510.1A CN115171241B (zh) | 2022-06-30 | 2022-06-30 | 一种视频帧定位方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115171241A CN115171241A (zh) | 2022-10-11 |
CN115171241B true CN115171241B (zh) | 2024-02-06 |
Family
ID=83489654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210770510.1A Active CN115171241B (zh) | 2022-06-30 | 2022-06-30 | 一种视频帧定位方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115171241B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11146608B2 (en) * | 2017-07-20 | 2021-10-12 | Disney Enterprises, Inc. | Frame-accurate video seeking via web browsers |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157771A (en) * | 1996-11-15 | 2000-12-05 | Futuretel, Inc. | Method and apparatus for seeking within audiovisual files |
DE102005012668A1 (de) * | 2005-03-17 | 2010-05-20 | Blöchl, Bernhard | Rahmenfehlererkennungs- und -korrekturverfahren für digitales Video |
CN103544977A (zh) * | 2012-07-16 | 2014-01-29 | 三星电子(中国)研发中心 | 基于触摸控制的视频定位装置和方法 |
CN104967862A (zh) * | 2015-07-22 | 2015-10-07 | 东方网力科技股份有限公司 | 一种视频存储方法及装置和视频搜索方法及装置 |
CN104994340A (zh) * | 2015-06-25 | 2015-10-21 | 广东工业大学 | 一种音视频存储方式的精确定位回放方法 |
WO2018076952A1 (zh) * | 2016-10-24 | 2018-05-03 | 杭州海康威视数字技术股份有限公司 | 一种视频文件的存储、定位播放方法及装置 |
CN110147722A (zh) * | 2019-04-11 | 2019-08-20 | 平安科技(深圳)有限公司 | 一种视频处理方法、视频处理装置及终端设备 |
CN110430450A (zh) * | 2019-08-02 | 2019-11-08 | 北京奇艺世纪科技有限公司 | 一种视频定位的方法、装置及电子设备 |
CN110490075A (zh) * | 2019-07-17 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 获取稳定帧的方法、装置以及计算机可读介质 |
CN110996182A (zh) * | 2019-11-21 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 时间戳处理方法、装置、电子设备及计算机存储介质 |
CN111669645A (zh) * | 2020-06-12 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 视频的播放方法、装置、电子设备及存储介质 |
WO2021031790A1 (zh) * | 2019-08-21 | 2021-02-25 | 浙江商汤科技开发有限公司 | 一种信息处理方法、装置、电子设备、存储介质和程序 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080199154A1 (en) * | 2007-01-24 | 2008-08-21 | Yuichi Kanai | Apparatus and method with frame-by-frame display control |
-
2022
- 2022-06-30 CN CN202210770510.1A patent/CN115171241B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157771A (en) * | 1996-11-15 | 2000-12-05 | Futuretel, Inc. | Method and apparatus for seeking within audiovisual files |
DE102005012668A1 (de) * | 2005-03-17 | 2010-05-20 | Blöchl, Bernhard | Rahmenfehlererkennungs- und -korrekturverfahren für digitales Video |
CN103544977A (zh) * | 2012-07-16 | 2014-01-29 | 三星电子(中国)研发中心 | 基于触摸控制的视频定位装置和方法 |
CN104994340A (zh) * | 2015-06-25 | 2015-10-21 | 广东工业大学 | 一种音视频存储方式的精确定位回放方法 |
CN104967862A (zh) * | 2015-07-22 | 2015-10-07 | 东方网力科技股份有限公司 | 一种视频存储方法及装置和视频搜索方法及装置 |
WO2018076952A1 (zh) * | 2016-10-24 | 2018-05-03 | 杭州海康威视数字技术股份有限公司 | 一种视频文件的存储、定位播放方法及装置 |
CN110147722A (zh) * | 2019-04-11 | 2019-08-20 | 平安科技(深圳)有限公司 | 一种视频处理方法、视频处理装置及终端设备 |
CN110490075A (zh) * | 2019-07-17 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 获取稳定帧的方法、装置以及计算机可读介质 |
CN110430450A (zh) * | 2019-08-02 | 2019-11-08 | 北京奇艺世纪科技有限公司 | 一种视频定位的方法、装置及电子设备 |
WO2021031790A1 (zh) * | 2019-08-21 | 2021-02-25 | 浙江商汤科技开发有限公司 | 一种信息处理方法、装置、电子设备、存储介质和程序 |
CN110996182A (zh) * | 2019-11-21 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 时间戳处理方法、装置、电子设备及计算机存储介质 |
CN111669645A (zh) * | 2020-06-12 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 视频的播放方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115171241A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101650740B (zh) | 一种电视广告检测方法及装置 | |
CN103699532B (zh) | 图像颜色检索方法和系统 | |
US20110293176A1 (en) | Detection apparatus, detection method, and computer program | |
CN100596165C (zh) | 图像处理装置及其方法 | |
CN110490193B (zh) | 单个字符区域检测方法及票据内容识别方法 | |
US8437542B2 (en) | Image processing apparatus, method, and program | |
EP2165525B1 (en) | Method of processing moving picture and apparatus thereof | |
CN115171241B (zh) | 一种视频帧定位方法、装置、电子设备及存储介质 | |
CN111175318A (zh) | 屏幕划痕碎裂检测方法及设备 | |
CN111368134B (zh) | 一种交通数据处理的方法、装置、电子设备及存储介质 | |
CN111385640A (zh) | 视频封面的确定方法、装置、设备及存储介质 | |
CN113836360B (zh) | 数据检测方法及装置 | |
CN111369557A (zh) | 图像处理方法、装置、计算设备和存储介质 | |
KR20140026978A (ko) | 콘텐트에 포함된 이미지를 이용해 영상을 디스플레이 하는 전자 기기 및 그 전자 기기의 영상 디스플레이 방법 | |
CN112073713B (zh) | 视频漏录测试方法、装置、设备及存储介质 | |
EP1347393A1 (en) | Image searching device | |
CN114519689A (zh) | 图像篡改检测方法、装置、设备及计算机可读存储介质 | |
CN112258541A (zh) | 视频边界检测方法、系统、设备及存储介质 | |
CN111553261A (zh) | 一种基于人脸识别的广告效果监测方法、系统及智能终端 | |
CN106354736A (zh) | 一种重复视频的判断方法及装置 | |
US20110063453A1 (en) | Shot transition detection method and apparatus | |
CN104574343B (zh) | 一种视频中提取图像的方法及设备 | |
US11412304B2 (en) | Commercial information generating device, commercial information generating method, and program | |
CN111209733A (zh) | 文本记录处理方法及装置 | |
CN116600105B (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 |