CN111064984B - 一种视频帧的智能信息叠加显示方法、装置及硬盘录像机 - Google Patents
一种视频帧的智能信息叠加显示方法、装置及硬盘录像机 Download PDFInfo
- Publication number
- CN111064984B CN111064984B CN201811202542.1A CN201811202542A CN111064984B CN 111064984 B CN111064984 B CN 111064984B CN 201811202542 A CN201811202542 A CN 201811202542A CN 111064984 B CN111064984 B CN 111064984B
- Authority
- CN
- China
- Prior art keywords
- intelligent information
- video frame
- displayed
- information
- video
- 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 110
- 239000000872 buffer Substances 0.000 claims abstract description 183
- 230000006870 function Effects 0.000 claims description 114
- 238000001514 detection method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000007717 exclusion Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种视频帧的智能信息叠加显示方法、装置及硬盘录像机,方法包括:获取视频帧数据,其中,视频帧数据包括待显示视频帧的时间戳;根据待显示视频帧的时间戳,从智能信息缓冲区中查找与待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,其中,智能信息缓冲区缓存有待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;将待叠加智能信息叠加至待显示视频帧;显示叠加了待叠加智能信息的待显示视频帧。通过本方案,可以提高视频中智能信息叠加显示的质量。
Description
技术领域
本发明涉及图像显示技术领域,特别是涉及一种视频帧的智能信息叠加显示方法、装置及硬盘录像机。
背景技术
硬盘录像机是NVR(Network Video Recorder,网络视频录像机)和DVR(DigitalVideo Recorder,数字视频录像机)的统称,硬盘录像机主要用于对摄像机拍摄的视频进行存储、显示、控制等操作。为了提高用户的交互体验,要求在视频显示时,叠加显示智能信息,例如,以方框的形式显示出每一个视频帧中的检测目标、检测范围、警戒线等。
在相应的智能信息叠加显示方法中,对每一个视频帧进行智能分析,得到智能信息,将智能信息叠加至对应的视频帧,进而在显示视频帧时,可以实现智能信息的叠加显示。
然而,由于受摄像机打码流方式的影响,有一些视频帧并不存在智能信息,这样,会造成视频中智能信息显示的不连续,呈现智能信息忽有忽无的闪烁现象,严重影响视频中智能信息叠加显示的质量。
发明内容
本发明实施例的目的在于提供一种视频帧的智能信息叠加显示方法、装置及硬盘录像机,以提高视频中智能信息叠加显示的质量。具体技术方案如下:
第一方面,本发明实施例提供了一种视频帧的智能信息叠加显示方法,所述方法包括:
获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;
根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;
将所述待叠加智能信息叠加至所述待显示视频帧;
显示叠加了所述待叠加智能信息的所述待显示视频帧。
可选的,在所述根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息之前,所述方法还包括:
识别所述待显示视频帧所属视频的通道类型;
若所述通道类型为模拟通道,则从所述模拟通道中获取所述视频;对所述视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区。
可选的,在所述根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息之前,所述方法还包括:
识别所述待显示视频帧所属视频的通道类型;
若所述通道类型为网络摄像机IPC通道,则对所述IPC通道中的所述视频进行解码;对解码后的所述视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区;
或者,从所述IPC通道的码流中解析得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区。
可选的,所述确定叠加功能开启成功,包括:
获取用户输入的叠加功能开启指令,所述叠加功能开启指令包括叠加参数;
分配智能信息缓冲区;
确定叠加功能开启成功;
所述将所述待叠加智能信息叠加至所述待显示视频帧,包括:
根据所述叠加参数,将所述待叠加智能信息叠加至所述待显示视频帧。
可选的,在所述分配智能信息缓冲区之前,所述方法还包括:
判断是否满足预设开启条件,所述预设开启条件包括:校验确定所述叠加参数正确、获取到智能信息叠加锁和叠加功能未开启;
若满足所述预设开启条件,则执行所述分配智能信息缓冲区;
在所述备份所述叠加参数之后,所述方法还包括:
释放所述智能信息叠加锁。
可选的,在所述分配智能信息缓冲区之后,所述方法还包括:
获取用户输入的叠加功能关闭指令;
释放所述智能信息缓冲区;
确定叠加功能关闭成功。
可选的,在所述释放所述智能信息缓冲区之前,所述方法还包括:
判断是否满足预设关闭条件,所述预设关闭条件包括获取到智能信息叠加锁和叠加功能已开启;
若满足所述预设关闭条件,则执行所述释放所述智能信息缓冲区;
在所述释放所述智能信息缓冲区之后,所述方法还包括:
释放所述智能信息叠加锁。
可选的,所述将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区,包括:
在临时缓存空间中,备份所述视频中视频帧的智能信息及所述智能信息的时间戳;
若当前待备份的智能信息的时间戳与所述临时缓存空间中已备份的时间戳相比发生变化,则将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并释放所述临时缓存空间。
可选的,所述根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,包括:
提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳;
根据所述待显示视频帧的时间戳及所述智能信息的时间戳,判断所述待显示视频帧与所述智能信息之间的时间差绝对值是否小于第一预设阈值;
若所述时间差绝对值小于所述第一预设阈值,则确定所述智能信息为待叠加智能信息。
可选的,所述将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,包括:
将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的空闲数据队列的头结点;
将所述空闲数据队列的头结点中的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并确定所述空闲数据队列的头结点的下一个结点为更新的头结点。
可选的,所述智能信息包括规则信息;
在所述根据所述待显示视频帧的时间戳及所述智能信息的时间戳,判断所述待显示视频帧与所述智能信息之间的时间差绝对值是否小于第一预设阈值之后,所述方法还包括:
若所述时间差绝对值不小于所述第一预设阈值,则判断所述待显示视频帧的时间戳是否大于所述智能信息的时间戳;
若所述待显示视频帧的时间戳大于所述智能信息的时间戳,则将提取的所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳缓存至所述空闲数据队列的尾部,并确定所述有效数据队列的头结点的下一个结点为更新的头结点;
若所述待显示视频帧的时间戳小于所述智能信息的时间戳,则根据上一个视频帧叠加的规则信息,将所述规则信息叠加至所述待显示视频帧。
可选的,所述智能信息包括规则信息;
在所述提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳之前,所述方法还包括:
识别所述有效数据队列是否为空;
若所述有效数据队列不为空,则执行所述提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳;
若所述有效数据队列为空,则判断按照预设周期连续识别到所述有效数据队列为空的次数;若所述次数小于第三预设阈值,则根据上一个视频帧叠加的规则信息,将所述规则信息叠加至所述待显示视频帧;若所述次数不小于所述第三预设阈值,则显示未叠加智能信息的所述待显示视频帧。
可选的,在所述将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区之后,所述方法还包括:
分别判断各智能信息中是否包含报警信息;
若包含报警信息,则根据所述报警信息,确定报警绘制信息,所述报警绘制信息包括报警目标ID、报警规则ID及与所述报警目标ID和所述报警规则ID对应的绘制次数;
将所述报警绘制信息缓存至预先建立的报警缓冲队列的尾部。
可选的,所述将所述报警绘制信息缓存至预先建立的报警缓冲队列的尾部,包括:
将所述报警绘制信息缓存至预先建立的报警空闲队列的头结点;
将所述报警空闲队列的头结点中的报警绘制信息缓存至预先建立的报警缓冲队列的尾部,并确定所述报警空闲队列的头结点的下一个结点为更新的头结点。
可选的,在所述将所述待叠加智能信息叠加至所述待显示视频帧之前,所述方法还包括:
识别所述报警缓冲队列是否为空;
若所述报警缓冲队列不为空,则提取所述报警缓冲队列的头结点中的报警绘制信息;
判断所述报警绘制信息中的报警目标ID以及报警规则ID是否出现在所述智能信息中;
若未出现,则将提取的所述报警缓冲队列的头结点中的报警绘制信息缓存至所述报警空闲队列的尾部;
若都出现,则执行将所述待叠加智能信息叠加至所述待显示视频帧,并将所述与所述报警目标ID和所述报警规则ID对应的绘制次数进行累加;
若累加次数超过第四预设阈值,则将提取的所述报警缓冲队列的头结点中的报警绘制信息缓存至所述报警空闲队列的尾部。
第二方面,本发明实施例提供了一种视频帧的智能信息叠加显示装置,所述装置包括:
获取模块,用于获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;
查找模块,用于根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;
叠加模块,用于将所述待叠加智能信息叠加至所述待显示视频帧;
显示模块,用于显示叠加了所述待叠加智能信息的所述待显示视频帧。
可选的,所述装置还可以包括:
识别模块,用于识别所述待显示视频帧所属视频的通道类型;
缓存模块,用于若所述通道类型为模拟通道,则从所述模拟通道中获取所述视频;对所述视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区。
可选的,所述装置还可以包括:
识别模块,用于识别所述待显示视频帧所属视频的通道类型;
缓存模块,用于若所述通道类型为网络摄像机IPC通道,则对所述IPC通道中的所述视频进行解码;对解码后的所述视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区;或者,从所述IPC通道的码流中解析得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区。
可选的,所述缓存模块,具体可以用于:
获取用户输入的叠加功能开启指令,所述叠加功能开启指令包括叠加参数;分配智能信息缓冲区;确定叠加功能开启成功;
所述叠加模块,具体可以用于:
根据所述叠加参数,将所述待叠加智能信息叠加至所述待显示视频帧。
可选的,所述缓存模块,具体还可以用于:
判断是否满足预设开启条件,所述预设开启条件包括:校验确定所述叠加参数正确、获取到智能信息叠加锁和叠加功能未开启;若满足所述预设开启条件,则执行所述分配智能信息缓冲区;在备份所述叠加参数之后,释放所述智能信息叠加锁。
可选的,所述缓存模块,具体还可以用于:
获取用户输入的叠加功能关闭指令;释放所述智能信息缓冲区;确定叠加功能关闭成功。
可选的,所述缓存模块,具体还可以用于:
判断是否满足预设关闭条件,所述预设关闭条件包括获取到智能信息叠加锁和叠加功能已开启;若满足所述预设关闭条件,则执行所述释放所述智能信息缓冲区;在释放所述智能信息缓冲区之后,释放所述智能信息叠加锁。
可选的,所述缓存模块,具体可以用于:
在临时缓存空间中,备份所述视频中视频帧的智能信息及所述智能信息的时间戳;若当前待备份的智能信息的时间戳与所述临时缓存空间中已备份的时间戳相比发生变化,则将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并释放所述临时缓存空间。
可选的,所述查找模块,具体可以用于:
提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳;根据所述待显示视频帧的时间戳及所述智能信息的时间戳,判断所述待显示视频帧与所述智能信息之间的时间差绝对值是否小于第一预设阈值;若所述时间差绝对值小于所述第一预设阈值,则确定所述智能信息为待叠加智能信息。
可选的,所述缓存模块,具体可以用于:
将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的空闲数据队列的头结点;
将所述空闲数据队列的头结点中的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并确定所述空闲数据队列的头结点的下一个结点为更新的头结点。
可选的,所述智能信息包括规则信息;
所述查找模块,具体还可以用于:
若所述时间差绝对值不小于所述第一预设阈值,则判断所述待显示视频帧的时间戳是否大于所述智能信息的时间戳;若所述待显示视频帧的时间戳大于所述智能信息的时间戳,则将提取的所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳缓存至所述空闲数据队列的尾部,并确定所述有效数据队列的头结点的下一个结点为更新的头结点;若所述待显示视频帧的时间戳小于所述智能信息的时间戳,则根据上一个视频帧叠加的规则信息,将所述规则信息叠加至所述待显示视频帧。
可选的,所述智能信息包括规则信息;
所述查找模块,具体还可以用于:
识别所述有效数据队列是否为空;若所述有效数据队列不为空,则执行所述提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳;若所述有效数据队列为空,则判断按照预设周期连续识别到所述有效数据队列为空的次数;若所述次数小于第三预设阈值,则根据上一个视频帧叠加的规则信息,将所述规则信息叠加至所述待显示视频帧;若所述次数不小于所述第三预设阈值,则显示未叠加智能信息的所述待显示视频帧。
可选的,缓存模块,具体还可以用于:
分别判断各智能信息中是否包含报警信息;若包含报警信息,则根据所述报警信息,确定报警绘制信息,所述报警绘制信息包括报警目标ID、报警规则ID及与所述报警目标ID和所述报警规则ID对应的绘制次数;将所述报警绘制信息缓存至预先建立的报警缓冲队列的尾部。
可选的,所述缓存模块,具体可以用于:
将所述报警绘制信息缓存至预先建立的报警空闲队列的头结点;
将所述报警空闲队列的头结点中的报警绘制信息缓存至预先建立的报警缓冲队列的尾部,并确定所述报警空闲队列的头结点的下一个结点为更新的头结点。
可选的,所述装置还可以包括:
识别模块,用于识别所述报警缓冲队列是否为空;
提取模块,用于若所述报警缓冲队列不为空,则提取所述报警缓冲队列的头结点中的报警绘制信息;
判断模块,用于判断所述报警绘制信息中的报警目标ID以及报警规则ID是否出现在所述智能信息中;
所述缓存模块,还用于若所述判断模块的判断结果为未出现,则将提取的所述报警缓冲队列的头结点中的报警绘制信息缓存至所述报警空闲队列的尾部;
累加模块,用于若所述判断模块的判断结果为都出现,则执行将所述待叠加智能信息叠加至所述待显示视频帧,并将所述与所述报警目标ID和所述报警规则ID对应的绘制次数进行累加;
所述缓存模块,还可以用于:
若累加次数超过第四预设阈值,则将提取的所述报警缓冲队列的头结点中的报警绘制信息缓存至所述报警空闲队列的尾部。
第三方面,本发明实施例提供了一种硬盘录像机,包括处理器、存储器和显示器,其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的计算机程序时,实现如下步骤:获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;将所述待叠加智能信息叠加至所述待显示视频帧;将叠加了所述待叠加智能信息的所述待显示视频帧发送至所述显示器;
所述显示器,用于显示叠加了所述待叠加智能信息的所述待显示视频帧。
第四方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面所述的方法步骤。
第五方面,本发明实施例提供了一种显示系统,所述显示系统包括:多个摄像机以及硬盘录像机;
所述多个摄像机,用于拍摄视频,并将所述视频发送至所述硬盘录像机;
所述硬盘录像机,用于从所述视频中获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;将所述待叠加智能信息叠加至所述待显示视频帧;显示叠加了所述待叠加智能信息的所述待显示视频帧。
本发明实施例提供的一种视频帧的智能信息叠加显示方法、装置及硬盘录像机,获取视频帧数据,根据视频帧数据中待显示视频帧的时间戳,从智能信息缓冲区中查找与待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,将待叠加智能信息叠加至待显示视频帧,显示叠加了待叠加智能信息的待显示视频帧。通过在智能信息缓冲区中缓存待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳,在获取到待显示视频帧后,从智能信息缓冲区中查找与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息进行叠加,只要能够从智能信息缓冲区中查找到与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息,即使该待显示视频帧不存在智能信息,也可以实现该待显示视频帧的智能信息叠加显示,则在视频显示时有效地避免了智能信息显示忽有忽无的闪烁现象,从而提高了视频中智能信息叠加显示的质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的视频帧的智能信息叠加显示方法的执行框架示意图;
图2为本发明实施例的智能信息叠加显示的整体处理流程示意图;
图3为本发明实施例的视频帧的智能信息叠加显示方法的流程示意图;
图4为本发明实施例的模拟通道智能信息的产生、缓存的流程示意图;
图5为本发明实施例的IPC通道智能信息的产生、缓存的流程示意图;
图6为本发明实施例的智能信息叠加功能开启的流程示意图;
图7为本发明实施例的智能信息叠加功能关闭的流程示意图;
图8为本发明实施例的有效数据队列的结构示意图;
图9为本发明实施例的智能信息缓存的流程示意图;
图10为本发明实施例的智能信息缓存的链表操作流程示意图;
图11为本发明实施例的智能信息提取的流程示意图;
图12为本发明实施例的智能信息报警处理流程示意图;
图13为本发明实施例的智能信息叠加效果示意图;
图14为本发明实施例的报警信息叠加效果示意图;
图15为本发明实施例的视频帧的智能信息叠加显示装置的结构示意图;
图16为本发明实施例的硬盘录像机的结构示意图;
图17为本发明实施例的显示系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高视频中智能信息叠加显示的质量,本发明实施例提供了一种视频帧的智能信息叠加显示方法、装置、硬盘录像机、机器可读存储介质及显示系统。
本发明实施例所提供的视频帧的智能信息叠加显示方法的执行框架如图1所示,包括多个摄像机、硬盘录像机和显示器。摄像机可以为IPC(IP Camera,网络摄像机)、模拟摄像机等,用于拍摄视频,并将所拍摄的视频发送至硬盘录像机进行处理。硬盘录像机可以为NVR、DVR等,NVR是一种通过网络接收IPC传输的数字视频码流,并进行存储、显示、管理的硬盘录像设备;DVR是一种接收模拟摄像机传输的视频数据,并进行存储、显示、管理的硬盘录像设备。
通过VGA(Video Graphics Array,视频图形阵列)/HDMI(High DefinitionMultimedia Interface,高清晰度多媒体接口)向用户输出实时预览视频播放或者进行录像回放时,硬盘录像机可以通过对视频进行处理,将智能信息叠加至各视频帧,由显示器为用户显示视频中的智能信息。
实现本发明实施例所提供的视频帧的智能信息叠加显示方法的方式可以为设置于硬盘录像机中的软件、硬件电路和逻辑电路中的至少一种方式。
本发明实施例所提供的智能信息叠加显示方法的整体流程如图2所示,主要包括:获取视频数据;判断是否需要叠加智能信息;若是,则叠加智能信息;视频帧输出显示。
视频数据即为用户请求显示的实时预览视频或者进行录像回放的视频的相关数据,视频数据对于模拟通道来讲直接采集时就可以获取到,而对于IPC通道预览和录像回放来讲是解码备份得到。是否需要叠加智能信息的判断,实际包括判断是否存在满足叠加要求的智能信息、是否开启叠加功能等。叠加智能信息就是在视频中分别叠加各视频帧的智能信息,模拟通道的智能信息通过硬盘录像机本地检测实现,IPC通道的智能信息可以从码流中解析,也可以采用硬盘录像机本地检测实现。视频帧输出显示可以实现视频的智能信息叠加显示。
下面将通过更为详细的实施例,对本发明实施例所提供的视频帧的智能信息叠加显示方法进行介绍。
如图3所示,本发明实施例所提供的一种视频帧的智能信息叠加显示方法可以包括如下步骤:
S301,获取视频帧数据,其中,视频帧数据包括待显示视频帧的时间戳。
待显示视频帧为用户请求显示的实时预览视频或者进行录像回放的视频中的视频帧,视频帧数据为该待显示视频帧的相关数据,包括该待显示视频帧、该待显示视频帧所属的视频标识、该待显示视频帧的时间戳等,待显示视频帧的时间戳即为获取到该待显示视频帧的具体时间,或者该待显示视频帧中携带的时间,或者待显示视频帧的采集时间。
S302,根据待显示视频帧的时间戳,从智能信息缓冲区中查找与待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息。
其中,智能信息缓冲区缓存有待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳。
智能信息是智能目标和智能规则的统称。智能目标包括行为分析目标、人脸、车牌、人体、车辆等,行为分析目标就是指SMD(Smart Motion Detect,智能移动侦测)目标,SMD是对画面中移动目标进行检测,并进行相关规则(进入区域、跨线检测等)的判断的侦测技术;智能规则包括检测区域、屏蔽区域、警戒线等。智能信息还可以包括报警信息,将报警目标以突显的方式进行标注显示。
智能信息的时间戳与对应的视频帧的时间戳相同,例如视频帧的时间戳为12:00,则该视频帧的智能信息的时间戳也为12:00。智能信息缓冲区中缓存着多个智能信息以及这些智能信息各自的时间戳,通过查找与待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,可以保证待显示视频帧和待叠加智能信息的时间差异很小,这样待叠加智能信息能够逼近于待显示视频帧的实际智能信息,这是由于连续的视频帧之间由于目标、背景等变化不大,因此,通常将第一预设阈值设置为一个较小的值,例如可以设置为80ms,如果设置的太大,实际差异会比较大,而设置的太小,有可能会导致查找不到待叠加智能信息。
从智能信息缓冲区中查找待叠加智能信息的方式可以为遍历的方式,即将待显示视频帧的时间戳与智能信息缓冲区中缓存的各智能信息的时间戳分别作比较,找到时间差绝对值小于第一预设阈值的待叠加智能信息,这种方式效率较低;从智能信息缓冲区中查找待叠加智能信息的方式还可以为链表查找的方式,每次只和队列头结点进行比较,这种方式效率较高,因此,优选的,本发明实施例采用链表查找的方式进行待叠加智能信息的查找。当然,本发明实施例还可以采用例如队列等方式进行待叠加智能信息的查找,但不仅限于上述这几种方式,这里不再一一列举。
S303,将待叠加智能信息叠加至待显示视频帧。
在查找到与待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息后,可以将待叠加智能信息叠加至待显示视频帧。具体的叠加方式,可以依据用户配置的叠加参数进行叠加,叠加参数可以包括目标类型(人脸、人体、车辆、行为分析目标等)、是否显示智能规则、目标框显示颜色、规则信息显示颜色等。
S304,显示叠加了待叠加智能信息的待显示视频帧。
在待显示视频帧叠加了待叠加智能信息后,可以利用传统的显示技术(如VGA/HDMI等),对该待显示视频帧进行显示。
应用本实施例,通过在智能信息缓冲区中缓存待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳,在获取到待显示视频帧后,从智能信息缓冲区中查找与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息进行叠加,只要能够从智能信息缓冲区中查找到与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息,即使该待显示视频帧不存在智能信息,也可以实现该待显示视频帧的智能信息叠加显示,则在视频显示时有效地避免了智能信息显示忽有忽无的闪烁现象,从而提高了视频中智能信息叠加显示的质量。
下面,结合图3所示实施例,对本发明实施例所提供的其他实施例一一介绍。
可选的,在图3所示实施例的步骤S302之前,本发明实施例所提供的方法还可以包括智能信息产生、缓存的步骤。具体的,智能信息产生、缓存的步骤可以包括:
识别待显示视频帧所属视频的通道类型;
若通道类型为模拟通道,则从模拟通道中获取视频;对视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区。
视频数据的来源可以是模拟摄像机,智能信息的产生需要进行智能检测,对于模拟通道预览叠加智能信息,智能信息由硬盘录像机进行本地智能检测,并给出智能信息。
模拟通道的视频帧的智能信息产生、缓存流程如图4所示,在从模拟通道获取到视频数据后,硬盘录像机直接对每一个视频帧进行智能检测,并且在确定叠加功能开启成功后,将智能信息送入智能信息缓冲区进行缓存。如果叠加功能未开启,则返回执行视频数据获取的步骤。
可选的,智能信息产生、缓存的步骤还可以包括:
识别待显示视频帧所属视频的通道类型;
若通道类型为IPC通道,则对IPC通道中的视频进行解码;对解码后的视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区;或者,从IPC通道的码流中解析得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区。
视频数据的来源还可以是IPC,对于IPC通道实时预览以及录像回放,支持从码流中解析智能信息,也支持由硬盘录像机进行本地智能检测,并给出智能信息。
当IPC通道本地预览或者录像回放开启叠加功能,由硬盘录像机做智能检测,其处理流程和模拟通道类似,只是视频获取时有区别,IPC通道是解码后再做智能分析。
IPC通道本地预览或者录像回放通道智能信息也可以不由硬盘录像机进行智能检测,此时智能信息从码流中解析,解析出来之后送到智能信息缓冲区进行缓存。具体的流程如图5所示,在码流接收后,解析码流中的智能信息,并在确定叠加功能开启成功后,将智能信息送入智能信息缓冲区进行缓存。如果叠加功能未开启,则返回执行码流接收的步骤。
可选的,在图4和图5所示实施例中,确定叠加功能开启成功的步骤,具体可以包括:
获取用户输入的叠加功能开启指令,其中,叠加功能开启指令包括叠加参数;分配智能信息缓冲区;确定叠加功能开启成功。
硬盘录像机可以给用户提供GUI(Graphical User Interface,图像用户界面),为用户提供叠加功能开启指令的输入接口,用户通过该接口,向硬盘录像机发送叠加功能开启指令。叠加功能还可以支持配置选择采用本地智能信息(该选项不勾选,则采用码流中的智能信息;若勾选,则采用本地硬盘录像机检测出的智能信息)。对于模拟通道,要进行智能信息叠加显示必须配置采用本地智能信息;对于IPC通道实时预览显示以及录像回放,支持配置采用本地智能信息或者采用码流中的智能信息。
在获取到叠加功能开启指令后,可以分配智能信息缓冲区,智能信息缓冲区可以是硬盘录像机中的任意缓存空间,叠加参数可以是用户通过GUI配置的目标类型、是否显示智能规则、目标框显示颜色、规则信息显示颜色等参数。通过GUI配置采用本地智能信息时,硬盘录像机会发送对应的智能检测功能到APP(应用程序)开启该功能,具体的智能检测功能的配置可以是通过训练神经网络、设置ROI(Region of Interest,感兴趣区域)检测等实现,这里不再赘述。在分配智能信息缓冲区之后,还可以对叠加参数进行备份,以在智能信息叠加时使用。
由于硬盘录像机的存储空间有限,有可能无法成功分配智能信息缓冲区,此时,需停止叠加功能开启流程,生成一错误码,用于表示智能信息缓冲区分配失败,并确定叠加功能开启失败。
可选的,在分配智能信息缓冲区的步骤之前,本发明实施例所提供的方法还可以包括如下步骤:
判断是否满足预设开启条件,其中,预设开启条件包括:校验确定叠加参数正确、获取到智能信息叠加锁和叠加功能未开启;
若满足预设开启条件,则执行分配智能信息缓冲区的步骤。
由于叠加参数是用户配置的,与硬盘录像机所支持的可能会存在偏差,因此需要进行叠加参数的校验,确保叠加参数正确,例如硬盘录像机支持将报警目标的颜色设置为红色或者黑色,而用户配置的报警目标的颜色为蓝色,这会使得显示出现冲突;智能信息叠加锁是针对每一个通道的视频设置的一个互斥锁,以防止不同通道的视频之间相互影响,因此需要获取到智能信息叠加锁;叠加功能未开启时,说明还未为智能信息分配缓冲区,因此,在分配智能信息缓冲区之前需要满足这三个条件,并且三个条件满足的先后顺序不做具体限定。当然,智能信息叠加锁的使用,只是实现互斥的一种具体实施方式,也可以为例如信息量等其他的互斥方式,这里不再一一列举。
如果经过校验确定叠加参数错误,则停止叠加功能开启流程,生成一错误码,用来标识叠加错误,并且确定叠加功能开启失败;如果叠加功能已开启,则说明已分配有智能信息缓冲区,因此,可以跳过分配智能信息缓冲区的步骤,直接执行备份叠加参数的步骤;没有获取到智能信息叠加锁,则会一直等待,直至获取到智能信息叠加锁,才继续执行叠加功能开启流程。
当然,以上满足预设开启条件时,进行智能信息缓冲区分配,只是一种实施方式;智能信息缓冲区也可以是在智能信息的缓存过程中进行分配;还可以是在接收到用户输入的叠加功能开启指令后,就进行分配,在满足上述预设开启条件后再进行缓存。由于在实际应用场景下,智能信息的叠加功能可以是默认开启的,则智能信息缓冲区可以是在设备启动时就已经分配好;也可以是在智能信息缓存之前的任意时刻进行分配,这里不做具体的限定。
可选的,在备份叠加参数的步骤之后,本发明实施例所提供的方法还可以包括如下步骤:
释放智能信息叠加锁。
如果成功分配智能信息缓冲区,且备份叠加参数,则可以释放智能信息叠加锁,以保证后续流程可以正常使用叠加参数和智能信息。如果分配智能信息缓冲区失败,也需要释放智能信息叠加锁。
为了增强用户交互体验,在确定叠加功能开启成功或者叠加功能开启失败之后,可以将开启成功或者失败的结果信息返回给GUI,由GUI显示给用户叠加功能成功开启的提示或者叠加功能开启失败的提示,并提示失败原因。GUI在接收到结果信息之前,可以一直等待接收返回结果信息。
可选的,图3所示实施例的步骤S303具体可以为:
根据叠加参数,将待叠加智能信息叠加至待显示视频帧。
如图6所示,为本发明实施例的具体的智能信息叠加功能开启流程。
用户可以直接对GUI进行操作,开启智能信息叠加功能,硬盘录像机中的APP在接收到叠加功能开启指令后,分别进行叠加参数校验、是否获取到智能信息叠加锁的判断以及叠加功能是否已开启的判断,在满足叠加参数正确、获取到智能信息叠加锁且叠加功能未开启的条件下,分配智能信息缓冲区,在分配成功的情况下,对叠加参数进行备份,以在智能信息叠加时使用,在释放智能信息叠加锁后确定叠加功能开启成功。如果叠加参数错误或者智能信息缓冲区分配失败,则停止叠加功能开启流程,确定叠加功能开启失败并生产相应的错误码。
APP将叠加功能是否开启成功的结果信息返回给GUI,GUI根据返回结果信息判断,并通过界面显示的方式提示用户叠加功能开启成功或者失败。
由于用户根据自己的意愿,可以在任意时刻选择关闭叠加功能,因此,可选的,本发明实施例所提供的方法还可以包括如下步骤:
获取用户输入的叠加功能关闭指令;释放智能信息缓冲区;确定叠加功能关闭成功。
关闭智能信息叠加功能时,需要释放智能信息缓冲区。如果采用本地智能信息,关闭叠加功能时,还需要关闭对应的智能检测功能。
可选的,在释放智能信息缓冲区的步骤之前,本发明实施例所提供的方法还可以包括如下步骤:
判断是否满足预设关闭条件,其中,预设关闭条件包括获取到智能信息叠加锁和叠加功能已开启;
若满足预设关闭条件,则执行释放智能信息缓冲区的步骤。
智能信息叠加锁是针对每一个通道的视频设置的一个互斥锁,以防止不同通道的视频之间相互影响,因此需要获取到智能信息叠加锁;叠加功能必须处于已开启的状态才能进行关闭,因此,在释放智能信息缓冲区之前需要满足这两个条件,而这两个条件满足的先后顺序不做具体限定。
如果叠加功能未开启,则说明不需要进行叠加功能关闭的流程,直接释放智能信息叠加锁;没有获取到智能信息叠加锁,则会一直等待,直至获取到智能信息叠加锁,才继续执行叠加功能关闭的流程。
当然,以上满足预设关闭条件时,进行智能信息缓冲区释放,只是一种实施方式;智能信息缓冲区也可以是根据设定,周期性的进行释放;还可以是在接收到用户输入的叠加功能关闭指令后,就进行释放,这里不做具体的限定。
可选的,在释放智能信息缓冲区的步骤之后,本发明实施例所提供的方法还可以包括如下步骤:
释放智能信息叠加锁。
如果释放了智能信息缓冲区,还可以释放智能信息叠加锁,以使得叠加功能的关闭流程解锁。
为了增强用户交互体验,在确定叠加功能关闭成功之后,可以将关闭成功的结果信息返回给GUI,由GUI显示给用户叠加功能成功关闭的提示。GUI在接收到结果信息之前,可以一直等待接收返回结果信息。
如图7所示,为本发明实施例的具体的智能信息叠加功能关闭流程。
用户可以直接对GUI进行操作,关闭智能信息叠加功能,硬盘录像机中的APP在接收到叠加功能关闭指令后,分别进行是否获取到智能信息叠加锁的判断以及叠加功能是否已开启的判断,在满足获取到智能信息叠加锁且叠加功能已开启的条件下,释放智能信息缓冲区,并释放智能信息叠加锁,从而确定叠加功能关闭成功。APP可以将叠加功能关闭成功的结果信息返回给GUI,GUI通过界面显示的方式提示用户叠加功能关闭成功。
可选的,在图4和图5所示实施例中,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区的步骤,具体可以包括:
在临时缓存空间中,备份视频中视频帧的智能信息及该智能信息的时间戳;
若当前待备份的智能信息的时间戳与临时缓存空间中已备份的时间戳相比发生变化,则将临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并释放临时缓存空间。
智能信息缓存时,为了提高缓存效率以及智能信息叠加的效率,可以采用链表的管理方法,在智能信息缓冲区中预先建立一个有效数据队列,该有效数据队列是链表形式的队列,如图8所示,其中,Head表示队列头结点指针;Next表示下一个结点指针;Prev表示前一个结点指针;Data表示结点数据,可以指向智能信息和时间戳实际的缓存位置;Tail表示队列尾部结点指针。
在缓存视频帧的智能信息及时间戳时,可以是接收到摄像机发来的一个视频帧就进行一次上述缓存操作,也可以是接收到摄像机发来的一段视频、对该视频中的视频帧进行一帧一帧的缓存操作。由于摄像机在拍摄视频时视频帧的时间戳具有先后顺序,对应的,智能信息的时间戳也具有先后顺序,为了保证时间戳比较时可以按照时间戳从先到后的顺序进行比较,则针对视频段中各智能信息的缓存的方式,可以按照时间戳从先到后的顺序来缓存智能信息和时间戳。
由于不同的智能信息可能具有相同的时间戳,例如,同一时刻的智能信息既包括规则信息,又包括报警信息和目标框信息,为了保证相同时间戳的智能信息可以缓存在有效数据队列中的相同结点上,可以先将一个智能信息和其时间戳备份在缓存空间中,如果当前待备份的智能信息的时间戳与已备份的时间戳相比未变化,则继续在临时缓存空间中备份智能信息,如果当前待备份的智能信息的时间戳与已备份的时间戳相比发生变化,则将临时缓存空间中已备份的各智能信息和时间戳缓存至有效数据队列的尾部,并在智能信息和时间戳缓存至有效数据队列后,释放临时缓存空间。
可选的,将临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部的步骤,具体可以为:
将临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的空闲数据队列的头结点;
将空闲数据队列的头结点中的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并确定空闲数据队列的头结点的下一个结点为更新的头结点。
在智能信息缓冲区中还可以预先建立一个空闲数据队列,起到智能信息和时间戳的中间缓存作用,在每次向有效数据队列缓存智能信息和时间戳时,都是先将智能信息和时间戳缓存至空闲数据队列的头结点,再将空闲数据队列的头结点中的数据缓存至有效数据队列的尾部。此过程中,可以是视频段的多个智能信息和时间戳都已缓存至空闲数据队列,再从空闲数据队列缓存至有效数据队列的过程。
如图9所示的智能信息缓存流程,当接收到智能信息之后,按照链表方式进行缓存,在当前待备份的智能信息的时间戳发生变化时,从空闲数据队列freeQueue中取出头结点,并将时间戳信息和对应智能信息复制到结点数据Data,完成之后将该结点中的智能信息和时间戳缓存到有效数据队列bufQueue的尾部。具体的链表操作流程如图10所示,freeQueue的头结点中的智能信息和时间戳缓存到bufQueue的尾部后,freeQueue的Head会指向下一个结点。
基于图9所示实施例,智能信息叠加时,会先访问bufQueue的头结点,当智能信息叠加操作完成之后,会将bufQueue的该头结点再重新放到freeQueue尾部,以便下一次缓存使用。这样,每次在进行智能信息叠加时,只需要从bufQueue的头结点提取智能信息的时间戳与待显示视频帧的时间戳进行比较即可,不需要全部遍历,效率更高。
可选的,图3所示实施例的步骤S302,具体可以包括:
提取有效数据队列的头结点中的智能信息及智能信息的时间戳;
根据待显示视频帧的时间戳及智能信息的时间戳,判断待显示视频帧与智能信息之间的时间差绝对值是否小于第一预设阈值;
若时间差绝对值小于第一预设阈值,则确定智能信息为待叠加智能信息。
智能信息叠加过程是将智能信息叠加到待显示视频帧上,从而可以进行输出显示,当收到一帧待显示视频帧之后,从智能信息缓冲区中,查找对应待显示视频帧时间戳的智能信息,将智能信息叠加到待显示视频帧上进行显示。在整个智能信息叠加显示过程中,需要保证显示的流畅性,避免闪烁。在这个过程中,由于一些摄像机并不是每帧都对应有智能信息,因此需要进行如下处理:
智能信息和待显示视频帧的时间戳不需要完全一致,当待显示视频帧的时间戳和智能信息的时间戳差值绝对值小于第一预设阈值,认为是匹配上的,则直接进行叠加,通常情况下第一预设阈值可以设置为80ms。
从有效数据队列bufQueue中查找智能信息时,从头结点开始查找,如果头结点的智能信息与待显示视频帧之间的时间差绝对值小于第一预设阈值,则认为头结点的智能信息为待叠加智能信息,直接叠加至待显示视频帧进行显示。
在将待叠加智能信息叠加至待显示视频帧之后,可以继续基于bufQueue的头节点进行匹配。如果智能信息包括报警信息,则需要将报警信息置0,这样下一次不会重复报警。
可选的,本发明实施例所提供的方法,还可以包括如下步骤:
若时间差绝对值不小于第一预设阈值,则判断待显示视频帧的时间戳是否大于智能信息的时间戳;
若待显示视频帧的时间戳大于智能信息的时间戳,则将提取的有效数据队列的头结点中的智能信息及该智能信息的时间戳缓存至空闲数据队列的尾部,并确定有效数据队列的头结点的下一个结点为更新的头结点;
若待显示视频帧的时间戳小于智能信息的时间戳,则根据上一个视频帧叠加的规则信息,将规则信息叠加至待显示视频帧。
如果待显示视频帧的时间戳和智能信息的时间戳差值绝对值超过第一预设阈值,可以分为以下两种情况。
第一种情况是待显示视频帧的时间戳大于智能信息的时间戳,实际应该将bufQueue的头结点中的智能信息清除,因为,视频帧已经晚于智能信息,在进行叠加时需要使用更新的智能信息,因此,需要将提取的头结点中的智能信息及该智能信息的时间戳缓存至空闲数据队列freeQueue的尾部,用于下一次新的智能信息缓存使用,并且更新bufQueue的头结点,将bufQueue原本的头结点的下一个结点确定为更新的头结点,然后继续从bufQueue更新的头结点开始查找,直到找到差值绝对值小于第一预设阈值的智能信息,如果遍历完bufQueue都没有找到差值绝对值小于第一预设阈值的智能信息,即bufQueue中的所有智能信息的时间戳都小于待显示视频帧时间戳超过第一预设阈值,则采用上一个视频帧叠加的规则信息进行叠加,不绘制目标信息和报警信息。
第二种情况是待显示视频帧的时间戳小于智能信息的时间戳,也就是说,视频帧早于智能信息,这样,可以继续保持bufQueue的头结点中的智能信息和时间戳不变,以便于后续时间戳更晚的视频帧可以第一时间查找到对应的智能信息。对于第二种情况,由于不存在较早时间戳的智能信息,则可以采用上一个视频帧叠加的规则信息进行叠加,不绘制目标信息和报警信息。
可选的,在提取有效数据队列的头结点中的智能信息及智能信息的时间戳的步骤之前,本发明实施例所提供的方法还可以包括如下步骤:
识别有效数据队列是否为空;
若有效数据队列不为空,则执行提取有效数据队列的头结点中的智能信息及智能信息的时间戳的步骤;
若有效数据队列为空,则判断按照预设周期连续识别到有效数据队列为空的次数;若次数小于第三预设阈值,则根据上一个视频帧叠加的规则信息,将规则信息叠加至待显示视频帧;若次数不小于第三预设阈值,则显示未叠加智能信息的待显示视频帧。
如果获取到待显示视频帧时,有效数据队列bufQueue是空的,则判断按照预设周期连续识别到bufQueue为空的次数,如果小于第三预设阈值,则采用上一个视频叠加的规则信息进行叠加,目标信息和报警信息不进行叠加;如果大于或等于第三预设阈值,则不进行叠加,认为智能叠加功能已经关闭。预设周期可以是视频的帧率,也可以是设置的一个值。第三预设阈值可以设置为32。
综上所述,如图11所示,为智能信息读取的详细流程。
在获取到视频帧数据后,判断bufQueue是否有结点,也就是判断bufQueue是否为空,如果有结点,则遍历队列结点,提取bufQueue头结点,判断待显示视频帧的时间戳是否大于智能信息的时间戳,且超过80ms,如果是则将结点中的智能信息和时间戳缓存至freeQueue尾部,判断遍历是否完成,如果完成,则采用上一个视频帧的规则信息进行叠加,如果遍历未完成,则返回继续遍历。如果待显示视频帧的时间戳大于智能信息的时间戳不超过80ms,或者待显示视频帧的时间戳小于智能信息的时间戳,则判断待显示视频帧的时间戳与智能信息的时间戳差值绝对值是否小于80ms,若是则叠加智能信息,若否则采用上一个视频帧的规则信息进行叠加,并在叠加后,将结点中的智能信息和时间戳缓存至bufQueue头部。如果bufQueue没有结点,即bufQueue为空,则判断连续无结点次数是否超过32,若是则不叠加智能信息直接显示视频帧,若否则采用上一个视频帧的规则信息进行叠加。
一般情况下,在配置叠加参数时,可以设置为:当叠加智能信息时,目标可以采用绿色框,规则信息可以采用蓝色框,当对应的目标有报警信息时,对应的目标框和规则框需要采用红色框。当然,颜色是可以支持配置的,用户可以按照个人的习惯进行配置。
可选的,在图4和图5所示实施例的将智能信息送入智能信息缓冲区的步骤之后,本发明实施例所提供的方法还可以包括如下步骤:
分别判断各智能信息中是否包含报警信息;
若包含报警信息,则根据报警信息,确定报警绘制信息,其中,报警绘制信息包括报警目标ID、报警规则ID及与报警目标ID和报警规则ID对应的绘制次数;
将报警绘制信息缓存至预先建立的报警缓冲队列的尾部。
报警功能实现采用链表实现机制,在报警信息叠加相应的叠加参数时,可以配置一个显示时间(例如50帧),如果在配置的显示时间的过程中目标小或者规则改变,则不再显示报警信息。当视频帧和智能信息匹配上需要叠加时,先判断是否有报警信息,如果有报警信息,则可以将报警绘制信息(报警目标ID、报警规则ID和绘制次数,绘制次数初始为0,该报警目标每绘制一次增加1)缓存至报警缓冲队列alertBufQueue的尾部。
可选的,将报警绘制信息缓存至预先建立的报警缓冲队列的尾部的步骤,具体可以为:
将报警绘制信息缓存至预先建立的报警空闲队列的头结点;
将报警空闲队列的头结点中的报警绘制信息缓存至预先建立的报警缓冲队列的尾部,并确定报警空闲队列的头结点的下一个结点为更新的头结点。
与缓存智能信息和时间戳的方式相类似,在每次向报警缓冲队列alertBufQueue缓存报警绘制信息时,都是先将报警绘制信息缓存至报警空闲队列alertFreeQueue的头结点,再将alertFreeQueue的头结点中的数据缓存至alertBufQueue的尾部。此过程中,可以是视频段的多个视频帧的报警绘制信息都已缓存至alertFreeQueue,再从alertFreeQueue缓存至alertBufQueue的过程。
可选的,在图3所示实施例的步骤S303之前,本发明实施例所提供的方法还可以包括如下步骤:
识别报警缓冲队列是否为空;
若报警缓冲队列不为空,则提取报警缓冲队列的头结点中的报警绘制信息;
判断报警绘制信息中的报警目标ID以及报警规则ID是否出现在智能信息中;
若未出现,则将提取的报警缓冲队列的头结点中的报警绘制信息缓存至报警空闲队列的尾部;
若都出现,则执行将待叠加智能信息叠加至待显示视频帧,并将与报警目标ID和报警规则ID对应的绘制次数进行累加;
若累加次数超过第四预设阈值,则将提取的报警缓冲队列的头结点中的报警绘制信息缓存至报警空闲队列的尾部。
提取报警缓冲队列alertBufQueue的头结点中的报警绘制信息,比较此时报警目标ID和报警规则ID,是否在待显示视频帧的智能信息中出现,如果都出现,则将报警信息进行叠加;同时累加绘制次数,如果累加次数超过第四预设阈值,则将该结点中的报警绘制信息缓存至报警空闲队列alertFreeQueue的尾部,以便下一次缓存报警信息使用,如果累加次数没有超过第四预设阈值,则该报警绘制信息继续作为报警缓冲队列的头结点,以便继续进行报警信息是否出现在智能信息中的判断。如果报警目标ID和/或报警规则ID在待显示视频帧的智能信息中未出现,则将该结点中的报警绘制信息缓存至alertFreeQueue的尾部,以便下一次缓存报警信息使用。
智能信息报警处理的具体流程如图12所示。
在获取到当前视频帧智能信息后,首先判断智能信息是否有报警信息,若是则从alertFreeQueue中获取头结点,将报警绘制信息缓存到头结点,将结点中的报警绘制信息缓存至alertBufQueue的尾部;判断alertBufQueue是否有结点,如果是则遍历alertBufQueue,读取alertBufQueue头结点,判断报警目标ID以及报警规则ID是否出现在智能信息中,若是则将报警目标和规则绘制为红色,同时累加绘制次数,在累加次数不超过50帧时,将结点中的报警绘制信息缓存到alertBufQueue的头部。如果报警目标ID和/或报警规则ID未出现在智能信息中,或者累加次数超过50帧,则将结点中的报警绘制信息缓存到alertFreeQueue的尾部。
图13为利用本发明实施例所提供的视频帧的智能信息叠加显示方法,得到的智能信息叠加效果,黑色框为目标信息、白色框和白色直线为规则信息。
图14为利用本发明实施例所提供的视频帧的智能信息叠加显示方法,得到的智能信息报警叠加效果,黑色框为报警目标、黑色直线为规则信息中的警戒线、白色框为规则信息中的检测区域。
相应于上述方法实施例,本发明实施例提供了一种视频帧的智能信息叠加显示装置,如图15所示,该装置可以包括:
获取模块1510,用于获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;
查找模块1520,用于根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;
叠加模块1530,用于将所述待叠加智能信息叠加至所述待显示视频帧;
显示模块1540,用于显示叠加了所述待叠加智能信息的所述待显示视频帧。
可选的,所述装置还可以包括:
识别模块,用于识别所述待显示视频帧所属视频的通道类型;
缓存模块,用于若所述通道类型为模拟通道,则从所述模拟通道中获取所述视频;对所述视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区。
可选的,所述装置还可以包括:
识别模块,用于识别所述待显示视频帧所属视频的通道类型;
缓存模块,用于若所述通道类型为网络摄像机IPC通道,则对所述IPC通道中的所述视频进行解码;对解码后的所述视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区;或者,从所述IPC通道的码流中解析得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区。
可选的,所述缓存模块,具体可以用于:
获取用户输入的叠加功能开启指令,所述叠加功能开启指令包括叠加参数;分配智能信息缓冲区;确定叠加功能开启成功;
所述叠加模块1530,具体可以用于:
根据所述叠加参数,将所述待叠加智能信息叠加至所述待显示视频帧。
可选的,所述缓存模块,具体还可以用于:
判断是否满足预设开启条件,所述预设开启条件包括:校验确定所述叠加参数正确、获取到智能信息叠加锁和叠加功能未开启;若满足所述预设开启条件,则执行所述分配智能信息缓冲区;在备份所述叠加参数之后,释放所述智能信息叠加锁。
可选的,所述缓存模块,具体还可以用于:
获取用户输入的叠加功能关闭指令;释放所述智能信息缓冲区;确定叠加功能关闭成功。
可选的,所述缓存模块,具体还可以用于:
判断是否满足预设关闭条件,所述预设关闭条件包括获取到智能信息叠加锁和叠加功能已开启;若满足所述预设关闭条件,则执行所述释放所述智能信息缓冲区;在释放所述智能信息缓冲区之后,释放所述智能信息叠加锁。
可选的,所述缓存模块,具体可以用于:
在临时缓存空间中,备份所述视频中视频帧的智能信息及所述智能信息的时间戳;若当前待备份的智能信息的时间戳与所述临时缓存空间中已备份的时间戳相比发生变化,则将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并释放所述临时缓存空间。
可选的,所述查找模块1520,具体可以用于:
提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳;根据所述待显示视频帧的时间戳及所述智能信息的时间戳,判断所述待显示视频帧与所述智能信息之间的时间差绝对值是否小于第一预设阈值;若所述时间差绝对值小于所述第一预设阈值,则确定所述智能信息为待叠加智能信息。
可选的,所述缓存模块,具体可以用于:
将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的空闲数据队列的头结点;
将所述空闲数据队列的头结点中的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并确定所述空闲数据队列的头结点的下一个结点为更新的头结点。
可选的,所述智能信息包括规则信息;
所述查找模块1520,具体还可以用于:
若所述时间差绝对值不小于所述第一预设阈值,则判断所述待显示视频帧的时间戳是否大于所述智能信息的时间戳;若所述待显示视频帧的时间戳大于所述智能信息的时间戳,则将提取的所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳缓存至所述空闲数据队列的尾部,并确定所述有效数据队列的头结点的下一个结点为更新的头结点;若所述待显示视频帧的时间戳小于所述智能信息的时间戳,则根据上一个视频帧叠加的规则信息,将所述规则信息叠加至所述待显示视频帧。
可选的,所述智能信息包括规则信息;
所述查找模块1520,具体还可以用于:
识别所述有效数据队列是否为空;若所述有效数据队列不为空,则执行所述提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳;若所述有效数据队列为空,则判断按照预设周期连续识别到所述有效数据队列为空的次数;若所述次数小于第三预设阈值,则根据上一个视频帧叠加的规则信息,将所述规则信息叠加至所述待显示视频帧;若所述次数不小于所述第三预设阈值,则显示未叠加智能信息的所述待显示视频帧。
可选的,缓存模块,具体还可以用于:
分别判断各智能信息中是否包含报警信息;若包含报警信息,则根据所述报警信息,确定报警绘制信息,所述报警绘制信息包括报警目标ID、报警规则ID及与所述报警目标ID和所述报警规则ID对应的绘制次数;将所述报警绘制信息缓存至预先建立的报警缓冲队列的尾部。
可选的,所述缓存模块,具体可以用于:
将所述报警绘制信息缓存至预先建立的报警空闲队列的头结点;
将所述报警空闲队列的头结点中的报警绘制信息缓存至预先建立的报警缓冲队列的尾部,并确定所述报警空闲队列的头结点的下一个结点为更新的头结点。
可选的,所述装置还可以包括:
识别模块,用于识别所述报警缓冲队列是否为空;
提取模块,用于若所述报警缓冲队列不为空,则提取所述报警缓冲队列的头结点中的报警绘制信息;
判断模块,用于判断所述报警绘制信息中的报警目标ID以及报警规则ID是否出现在所述智能信息中;
所述缓存模块,还用于若所述判断模块的判断结果为未出现,则将提取的所述报警缓冲队列的头结点中的报警绘制信息缓存至所述报警空闲队列的尾部;
累加模块,用于若所述判断模块的判断结果为都出现,则执行将所述待叠加智能信息叠加至所述待显示视频帧,并将所述与所述报警目标ID和所述报警规则ID对应的绘制次数进行累加;
所述缓存模块,还可以用于:
若累加次数超过第四预设阈值,则将提取的所述报警缓冲队列的头结点中的报警绘制信息缓存至所述报警空闲队列的尾部。
应用本实施例,通过在智能信息缓冲区中缓存待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳,在获取到待显示视频帧后,从智能信息缓冲区中查找与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息进行叠加,只要能够从智能信息缓冲区中查找到与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息,即使该待显示视频帧不存在智能信息,也可以实现该待显示视频帧的智能信息叠加显示,则在视频显示时有效地避免了智能信息显示忽有忽无的闪烁现象,从而提高了视频中智能信息叠加显示的质量。
本发明实施例还提供了一种硬盘录像机,如图16所示,可以包括处理器1601、存储器1602和显示器1603,其中,
所述存储器1602,用于存放计算机程序;
所述处理器1601,用于执行所述存储器1602上所存放的计算机程序时,实现如下步骤:
获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;将所述待叠加智能信息叠加至所述待显示视频帧;将叠加了所述待叠加智能信息的所述待显示视频帧发送至所述显示器;
所述显示器1603,用于显示叠加了所述待叠加智能信息的所述待显示视频帧。
上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器1601、存储器1602与显示器1603之间可以通过有线连接或者无线连接的方式进行数据传输,并且电子设备可以通过有线通信接口或者无线通信接口与其他的设备进行通信。图16所示的仅为处理器1601、存储器1602和显示器1603之间通过总线进行数据传输的示例,不作为具体连接方式的限定。
本实施例中,处理器1601通过读取存储器1602中存储的计算机程序,并通过运行该计算机程序,能够实现:通过在智能信息缓冲区中缓存待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳,在获取到待显示视频帧后,从智能信息缓冲区中查找与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息进行叠加,只要能够从智能信息缓冲区中查找到与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息,即使该待显示视频帧不存在智能信息,也可以实现该待显示视频帧的智能信息叠加显示,则在视频显示时有效地避免了智能信息显示忽有忽无的闪烁现象,从而提高了视频中智能信息叠加显示的质量。
本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述视频帧的智能信息叠加显示方法的所有步骤。
本实施例中,机器可读存储介质存储有在运行时执行本发明实施例所提供的视频帧的智能信息叠加显示方法的计算机程序,因此能够实现:通过在智能信息缓冲区中缓存待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳,在获取到待显示视频帧后,从智能信息缓冲区中查找与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息进行叠加,只要能够从智能信息缓冲区中查找到与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息,即使该待显示视频帧不存在智能信息,也可以实现该待显示视频帧的智能信息叠加显示,则在视频显示时有效地避免了智能信息显示忽有忽无的闪烁现象,从而提高了视频中智能信息叠加显示的质量。
本发明实施例还提供了一种显示系统,如图17所示,所述显示系统包括:多个摄像机1701以及硬盘录像机1702;
所述多个摄像机,用于拍摄视频,并将所述视频发送至所述硬盘录像机;
所述硬盘录像机,用于从所述视频中获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;将所述待叠加智能信息叠加至所述待显示视频帧;显示叠加了所述待叠加智能信息的所述待显示视频帧。
应用本实施例,通过在智能信息缓冲区中缓存待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳,在获取到待显示视频帧后,从智能信息缓冲区中查找与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息进行叠加,只要能够从智能信息缓冲区中查找到与待显示视频帧之间的时间差绝对值小于第一预设阈值的智能信息,即使该待显示视频帧不存在智能信息,也可以实现该待显示视频帧的智能信息叠加显示,则在视频显示时有效地避免了智能信息显示忽有忽无的闪烁现象,从而提高了视频中智能信息叠加显示的质量。
对于硬盘录像机、机器可读存储介质及显示系统实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、硬盘录像机、机器可读存储介质及显示系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (19)
1.一种视频帧的智能信息叠加显示方法,其特征在于,所述方法包括:
获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;
根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;
将所述待叠加智能信息叠加至所述待显示视频帧;
显示叠加了所述待叠加智能信息的所述待显示视频帧。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息之前,所述方法还包括:
识别所述待显示视频帧所属视频的通道类型;
若所述通道类型为模拟通道,则从所述模拟通道中获取所述视频;对所述视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息之前,所述方法还包括:
识别所述待显示视频帧所属视频的通道类型;
若所述通道类型为网络摄像机IPC通道,则对所述IPC通道中的所述视频进行解码;对解码后的所述视频进行智能检测,得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区;
或者,从所述IPC通道的码流中解析得到多个视频帧的智能信息及各智能信息的时间戳;在确定叠加功能开启成功后,将各智能信息及各智能信息的时间戳缓存至所述智能信息缓冲区。
4.根据权利要求2或3所述的方法,其特征在于,所述确定叠加功能开启成功,包括:
获取用户输入的叠加功能开启指令,所述叠加功能开启指令包括叠加参数;
分配智能信息缓冲区;
确定叠加功能开启成功;
所述将所述待叠加智能信息叠加至所述待显示视频帧,包括:
根据所述叠加参数,将所述待叠加智能信息叠加至所述待显示视频帧。
5.根据权利要求4所述的方法,其特征在于,在所述分配智能信息缓冲区之前,所述方法还包括:
判断是否满足预设开启条件,所述预设开启条件包括:校验确定所述叠加参数正确、获取到智能信息叠加锁和叠加功能未开启;
若满足所述预设开启条件,则执行所述分配智能信息缓冲区;
所述方法还包括:
若所述叠加功能已开启,则备份所述叠加参数;
在所述备份所述叠加参数之后,所述方法还包括:
释放所述智能信息叠加锁。
6.根据权利要求4所述的方法,其特征在于,在所述分配智能信息缓冲区之后,所述方法还包括:
获取用户输入的叠加功能关闭指令;
释放所述智能信息缓冲区;
确定叠加功能关闭成功。
7.根据权利要求6所述的方法,其特征在于,在所述释放所述智能信息缓冲区之前,所述方法还包括:
判断是否满足预设关闭条件,所述预设关闭条件包括获取到智能信息叠加锁和叠加功能已开启;
若满足所述预设关闭条件,则执行所述释放所述智能信息缓冲区;
在所述释放所述智能信息缓冲区之后,所述方法还包括:
释放所述智能信息叠加锁。
8.根据权利要求2或3所述的方法,其特征在于,所述将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区,包括:
在临时缓存空间中,备份所述视频中视频帧的智能信息及所述智能信息的时间戳;
若当前待备份的智能信息的时间戳与所述临时缓存空间中已备份的时间戳相比发生变化,则将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并释放所述临时缓存空间。
9.根据权利要求8所述的方法,其特征在于,所述根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,包括:
提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳;
根据所述待显示视频帧的时间戳及所述智能信息的时间戳,判断所述待显示视频帧与所述智能信息之间的时间差绝对值是否小于第一预设阈值;
若所述时间差绝对值小于所述第一预设阈值,则确定所述智能信息为待叠加智能信息。
10.根据权利要求9所述的方法,其特征在于,所述将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,包括:
将所述临时缓存空间中已备份的各智能信息及时间戳缓存至预先建立的空闲数据队列的头结点;
将所述空闲数据队列的头结点中的各智能信息及时间戳缓存至预先建立的有效数据队列的尾部,并确定所述空闲数据队列的头结点的下一个结点为更新的头结点。
11.根据权利要求10所述的方法,其特征在于,所述智能信息包括规则信息;
在所述根据所述待显示视频帧的时间戳及所述智能信息的时间戳,判断所述待显示视频帧与所述智能信息之间的时间差绝对值是否小于第一预设阈值之后,所述方法还包括:
若所述时间差绝对值不小于所述第一预设阈值,则判断所述待显示视频帧的时间戳是否大于所述智能信息的时间戳;
若所述待显示视频帧的时间戳大于所述智能信息的时间戳,则将提取的所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳缓存至所述空闲数据队列的尾部,并确定所述有效数据队列的头结点的下一个结点为更新的头结点;
若所述待显示视频帧的时间戳小于所述智能信息的时间戳,则根据上一个视频帧叠加的规则信息,将所述规则信息叠加至所述待显示视频帧。
12.根据权利要求9所述的方法,其特征在于,所述智能信息包括规则信息;
在所述提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳之前,所述方法还包括:
识别所述有效数据队列是否为空;
若所述有效数据队列不为空,则执行所述提取所述有效数据队列的头结点中的智能信息及所述智能信息的时间戳;
若所述有效数据队列为空,则判断按照预设周期连续识别到所述有效数据队列为空的次数;若所述次数小于第三预设阈值,则根据上一个视频帧叠加的规则信息,将所述规则信息叠加至所述待显示视频帧;若所述次数不小于所述第三预设阈值,则显示未叠加智能信息的所述待显示视频帧。
13.根据权利要求2或3所述的方法,其特征在于,在所述将各智能信息及各智能信息的时间戳缓存至智能信息缓冲区之后,所述方法还包括:
分别判断各智能信息中是否包含报警信息;
若包含报警信息,则根据所述报警信息,确定报警绘制信息,所述报警绘制信息包括报警目标ID、报警规则ID及与所述报警目标ID和所述报警规则ID对应的绘制次数;
将所述报警绘制信息缓存至预先建立的报警缓冲队列的尾部。
14.根据权利要求13所述的方法,其特征在于,所述将所述报警绘制信息缓存至预先建立的报警缓冲队列的尾部,包括:
将所述报警绘制信息缓存至预先建立的报警空闲队列的头结点;
将所述报警空闲队列的头结点中的报警绘制信息缓存至预先建立的报警缓冲队列的尾部,并确定所述报警空闲队列的头结点的下一个结点为更新的头结点。
15.根据权利要求14所述的方法,其特征在于,在所述将所述待叠加智能信息叠加至所述待显示视频帧之前,所述方法还包括:
识别所述报警缓冲队列是否为空;
若所述报警缓冲队列不为空,则提取所述报警缓冲队列的头结点中的报警绘制信息;
判断所述报警绘制信息中的报警目标ID以及报警规则ID是否出现在所述智能信息中;
若未出现,则将提取的所述报警缓冲队列的头结点中的报警绘制信息缓存至所述报警空闲队列的尾部;
若都出现,则执行将所述待叠加智能信息叠加至所述待显示视频帧,并将所述与所述报警目标ID和所述报警规则ID对应的绘制次数进行累加;
若累加次数超过第四预设阈值,则将提取的所述报警缓冲队列的头结点中的报警绘制信息缓存至所述报警空闲队列的尾部。
16.一种视频帧的智能信息叠加显示装置,其特征在于,所述装置包括:
获取模块,用于获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;
查找模块,用于根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;
叠加模块,用于将所述待叠加智能信息叠加至所述待显示视频帧;
显示模块,用于显示叠加了所述待叠加智能信息的所述待显示视频帧。
17.一种硬盘录像机,其特征在于,包括处理器、存储器和显示器,其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的计算机程序时,实现如下步骤:获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;将所述待叠加智能信息叠加至所述待显示视频帧;将叠加了所述待叠加智能信息的所述待显示视频帧发送至所述显示器;
所述显示器,用于显示叠加了所述待叠加智能信息的所述待显示视频帧。
18.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-15任一项所述的方法步骤。
19.一种显示系统,其特征在于,所述显示系统包括:多个摄像机以及硬盘录像机;
所述多个摄像机,用于拍摄视频,并将所述视频发送至所述硬盘录像机;
所述硬盘录像机,用于从所述视频中获取视频帧数据,所述视频帧数据包括待显示视频帧的时间戳;根据所述待显示视频帧的时间戳,从智能信息缓冲区中查找与所述待显示视频帧的时间差绝对值小于第一预设阈值的待叠加智能信息,所述智能信息缓冲区缓存有所述待显示视频帧所属视频中多个视频帧的智能信息及各智能信息的时间戳;将所述待叠加智能信息叠加至所述待显示视频帧;显示叠加了所述待叠加智能信息的所述待显示视频帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811202542.1A CN111064984B (zh) | 2018-10-16 | 2018-10-16 | 一种视频帧的智能信息叠加显示方法、装置及硬盘录像机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811202542.1A CN111064984B (zh) | 2018-10-16 | 2018-10-16 | 一种视频帧的智能信息叠加显示方法、装置及硬盘录像机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111064984A CN111064984A (zh) | 2020-04-24 |
CN111064984B true CN111064984B (zh) | 2022-02-08 |
Family
ID=70296668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811202542.1A Active CN111064984B (zh) | 2018-10-16 | 2018-10-16 | 一种视频帧的智能信息叠加显示方法、装置及硬盘录像机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064984B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112950951B (zh) * | 2021-01-29 | 2023-05-02 | 浙江大华技术股份有限公司 | 智能信息显示方法、电子装置和存储介质 |
CN114051120A (zh) * | 2021-10-26 | 2022-02-15 | 远光软件股份有限公司 | 视频告警方法、装置、存储介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909548A (en) * | 1996-10-31 | 1999-06-01 | Sensormatic Electronics Corporation | Apparatus for alerting human operator to status conditions of intelligent video information management system |
CN1761245A (zh) * | 2004-10-11 | 2006-04-19 | 华为技术有限公司 | 告警消息处理方法 |
CN102204248A (zh) * | 2011-05-18 | 2011-09-28 | 华为技术有限公司 | 视频数据处理方法、视频图像展示方法和装置 |
CN104333736A (zh) * | 2014-10-28 | 2015-02-04 | 山东大学 | 无人变电站智能识别监控系统及方法 |
CN105898207A (zh) * | 2015-01-26 | 2016-08-24 | 杭州海康威视数字技术股份有限公司 | 视频数据的智能处理方法及系统 |
CN106375793A (zh) * | 2016-08-29 | 2017-02-01 | 东方网力科技股份有限公司 | 一种视频结构化信息的叠加方法、用户终端及叠加系统 |
CN106803936A (zh) * | 2017-02-24 | 2017-06-06 | 深圳英飞拓科技股份有限公司 | 基于内存编码机制的视频抓拍方法及装置 |
CN107666619A (zh) * | 2017-06-15 | 2018-02-06 | 北京金山云网络技术有限公司 | 直播数据传输方法、装置、电子设备、服务器及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202904A (zh) * | 2006-12-15 | 2008-06-18 | 深圳市锐明视讯技术有限公司 | 一种系统信息与视频流的数据打包方法 |
CN101702778B (zh) * | 2009-11-30 | 2011-04-13 | 公安部第一研究所 | 使用ps封装技术携带osd信息的网络视频编码器 |
US10412440B2 (en) * | 2010-03-24 | 2019-09-10 | Mlb Advanced Media, L.P. | Media and data synchronization system |
CN101930779B (zh) * | 2010-07-29 | 2012-02-29 | 华为终端有限公司 | 一种视频批注方法及视频播放器 |
CN103685975B (zh) * | 2012-09-05 | 2017-08-25 | 中兴通讯股份有限公司 | 一种视频播放系统及方法 |
WO2015015712A1 (ja) * | 2013-07-30 | 2015-02-05 | パナソニックIpマネジメント株式会社 | 映像受信装置、付加情報表示方法および付加情報表示システム |
JP2017083278A (ja) * | 2015-10-28 | 2017-05-18 | アイシン・エィ・ダブリュ株式会社 | 情報提供システム、情報提供方法及びコンピュータプログラム |
CN106504270B (zh) * | 2016-11-08 | 2019-12-20 | 浙江大华技术股份有限公司 | 一种视频中目标物体的展示方法及装置 |
CN108540756A (zh) * | 2017-03-01 | 2018-09-14 | 中国电信股份有限公司 | 基于视频与电子设备标识的识别方法、装置及系统 |
CN108521578A (zh) * | 2018-05-15 | 2018-09-11 | 北京奇虎科技有限公司 | 一种检测视频中可贴图区域、实现在视频中贴图的方法 |
-
2018
- 2018-10-16 CN CN201811202542.1A patent/CN111064984B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909548A (en) * | 1996-10-31 | 1999-06-01 | Sensormatic Electronics Corporation | Apparatus for alerting human operator to status conditions of intelligent video information management system |
CN1761245A (zh) * | 2004-10-11 | 2006-04-19 | 华为技术有限公司 | 告警消息处理方法 |
CN102204248A (zh) * | 2011-05-18 | 2011-09-28 | 华为技术有限公司 | 视频数据处理方法、视频图像展示方法和装置 |
CN104333736A (zh) * | 2014-10-28 | 2015-02-04 | 山东大学 | 无人变电站智能识别监控系统及方法 |
CN105898207A (zh) * | 2015-01-26 | 2016-08-24 | 杭州海康威视数字技术股份有限公司 | 视频数据的智能处理方法及系统 |
CN106375793A (zh) * | 2016-08-29 | 2017-02-01 | 东方网力科技股份有限公司 | 一种视频结构化信息的叠加方法、用户终端及叠加系统 |
CN106803936A (zh) * | 2017-02-24 | 2017-06-06 | 深圳英飞拓科技股份有限公司 | 基于内存编码机制的视频抓拍方法及装置 |
CN107666619A (zh) * | 2017-06-15 | 2018-02-06 | 北京金山云网络技术有限公司 | 直播数据传输方法、装置、电子设备、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111064984A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108259934B (zh) | 用于回放所记录的视频的方法和装置 | |
US9141866B2 (en) | Summarizing salient events in unmanned aerial videos | |
US11676389B2 (en) | Forensic video exploitation and analysis tools | |
US11893796B2 (en) | Methods and systems for detection of anomalous motion in a video stream and for creating a video summary | |
CN108062507B (zh) | 一种视频处理方法及装置 | |
US10043079B2 (en) | Method and apparatus for providing multi-video summary | |
CN106559697A (zh) | 一种基于pvr机顶盒的录制文件封面显示方法及系统 | |
US20150104149A1 (en) | Video summary apparatus and method | |
CN101860731A (zh) | 视频信息处理方法、系统及服务器 | |
CN107004271A (zh) | 显示方法、装置、电子设备、计算机程序产品和非暂态计算机可读存储介质 | |
JP2000106661A (ja) | 画像処理方法及びシステム並びに装置 | |
CN105323657B (zh) | 提供视频摘要的成像设备和方法 | |
CN111064984B (zh) | 一种视频帧的智能信息叠加显示方法、装置及硬盘录像机 | |
CN103826109A (zh) | 一种视频监控图像数据处理方法及系统 | |
US20230093631A1 (en) | Video search device and network surveillance camera system including same | |
WO2020108573A1 (zh) | 视频图像遮挡方法、装置、设备及存储介质 | |
CN111212246B (zh) | 视频生成方法、装置、计算机设备及存储介质 | |
KR101033238B1 (ko) | 영상 감시 장치와 영상 감시 프로그램이 기록된 기록매체 | |
KR101619791B1 (ko) | 블랙박스 녹화 영상의 분산 저장 방법 | |
KR20150043962A (ko) | 동영상 요약 장치 및 방법 | |
US20240305750A1 (en) | Video reception/search apparatus and video display method | |
CN110909579A (zh) | 一种视频图像处理方法、装置、电子设备及存储介质 | |
US20230290144A1 (en) | System and method for an automatic video production based on an off-the-shelf video camera | |
CN118283223A (zh) | 一种基于Web的视频监控系统 | |
CN116389430A (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 |