著录项信息
专利名称 | 一种缓存补录方法和装置 |
申请号 | CN201510547688.X | 申请日期 | 2015-08-31 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2015-12-23 | 公开/公告号 | CN105187754A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N5/76 | IPC分类号 | H;0;4;N;5;/;7;6查看分类表>
|
申请人 | 浙江宇视科技有限公司 | 申请人地址 | 浙江省杭州市滨江区西兴街道江陵路88号10幢南座1-11层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浙江宇视科技有限公司 | 当前权利人 | 浙江宇视科技有限公司 |
发明人 | 朱洪燕 |
代理机构 | 北京博思佳知识产权代理有限公司 | 代理人 | 林祥 |
摘要
本发明提供一种缓存补录方法和装置,该方法包括:网络故障后视频编码设备根据固定周期校正系统时间,同时进行本地存储;网络恢复后视频管理服务器发送携带已校正的检索时间段的录像检索请求;视频编码设备检索本地存储的录像数据,并将包含完整I帧组时间信息的录像时间段作为检索结果返回;视频管理服务器接收视频编码设备发送的录像数据流,同时根据补录时间段将接收的录像数据写入存储设备。该方案保证网络故障恢复后补录的录像与视频管理服务器上已有录像无缝衔接,解决录像数据不完整或录像数据重复引起的回放画面卡顿和时间OSD跳秒等体验性差的问题。
1.一种缓存补录方法,应用于视频监控系统,所述视频监控系统包括视频编码设备和视频管理服务器,其特征在于,所述方法包括:
视频编码设备在网络发生故障后,根据固定周期校正系统时间,并根据已校正的系统时间进行本地存储,且本地存储的录像数据已进行时间OSD叠加处理;
视频管理服务器在网络故障恢复后,发送录像检索请求,所述录像检索请求包括已校正的检索时间段;其中,所述检索时间段基于视频管理服务器的系统时间与视频编码设备的系统时间的差异校正得到;
视频编码设备根据所述录像检索请求检索本地存储的录像数据,并对匹配的录像数据进行I帧组完整性检查,将包含完整I帧组时间信息的录像时间段作为检索结果返回;
视频管理服务器判断所述检索结果所携带的录像时间段是否与请求的检索时间段一致,如果不一致,则校正补录时间段;
视频管理服务器发送录像数据流请求,并接收视频编码设备发送的录像数据流,同时根据已校正的补录时间段将接收的录像数据写入存储设备。
2.如权利要求1所述的方法,其特征在于,所述根据固定周期校正系统时间,包括:
视频编码设备获取其与视频管理服务器间每次时间同步前后的系统时间差值,同时根据该时间差值计算每相差TI时间的间隔T,并取T的绝对值|T|作为网络故障后校正系统时间的固定周期,其中TI时间单位为毫秒;
如果间隔T为正数,则每经过固定周期|T|,取当前系统时间与TI的和作为校正后的系统时间;如果间隔T为负数,则每经过固定周期|T|,取当前系统时间与TI的差作为校正后的系统时间。
3.如权利要求1所述的方法,其特征在于,所述已校正的检索时间段的计算方式,包括:
视频管理服务器获取视频编码设备存储异常的时间间隔NVR_IPCOffLineTI和视频管理服务器与视频编码设备间的时间差值NVR_IPC_TD,并根据所述NVR_IPCOffLineTI和NVR_IPC_TD计算视频管理服务器与视频编码设备间每秒钟的时间差值TS,其中TS=NVR_IPC_TD/NVR_IPCOffLineTI,且NVR_IPCOffLineTI、NVR_IPC_TD及TS的单位为毫秒;
视频管理服务器统计补录时间段,所述补录时间段的补录起始时间为NVRBeginT,补录结束时间为NVREndT,其中NVRBeginT和NVREndT的单位为毫秒;
视频管理服务器校正检索时间段,所述检索时间段的检索起始时间为IPCBeginT,其中IPCBeginT=NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)),所述检索时间段的检索结束时间为IPCEndT,其中IPCEndT=NVREndT-((NVREndT-NVR_IPCOfflineT)*TS)),NVR_IPCOfflineT为网络故障发生时的系统时间,且IPCBeginT、IPCEndT及NVR_IPCOfflineT的单位为毫秒。
4.如权利要求1所述的方法,其特征在于,所述对匹配的录像数据进行I帧组完整性检查,包括:
视频编码设备本地存储时在每个I帧组的I帧帧头部分记录该I帧组最后一个P帧的结束时间;
如果检索结束时间访问到的数据帧不是其所在I帧组的最后一个P帧,则将最后一个P帧的时间信息作为检索结果中录像时间段的结束时间返回。
5.如权利要求1或3所述的方法,其特征在于,所述校正补录时间段,包括:
视频编码设备返回的检索结果,包括录像起始时间NewIPCBenginT和录像结束时间NewIPCEndT,其中NewIPCBenginT和NewIPCEndT的单位为毫秒;
如果录像起始时间NewIPCBenginT与检索起始时间IPCBeginT不相同,则将补录的起始时间校正为NewNVRBenginT,其中NewNVRBenginT=NewIPCBenginT+(NewIPCBenginT-NVR_IPCOfflineT)*TS;其中,TS为视频管理服务器与视频编码设备间每秒钟的时间差值;
如果录像结束时间NewIPCEndT与检索结束时间IPCEndT不相同,则将补录的结束时间校正为NewNVREndT,其中NewNVREndT=NewIPCEndT+(NewIPCEndT-NVR_IPCOfflineT)*TS。
6.一种缓存补录装置,应用于视频监控系统,所述视频监控系统包括视频编码设备和视频管理服务器,其特征在于,所述装置包括:
存储时间校正模块,用于在网络故障发生后,视频编码设备根据固定周期进行系统时间校正,并根据已校正的系统时间进行本地存储,且本地存储的录像数据已进行时间OSD叠加处理;
检索时间校正模块,用于在网络故障恢复后,视频管理服务器发送录像检索请求,所述录像检索请求包括已校正的检索时间段;其中,所述检索时间段基于视频管理服务器的系统时间与视频编码设备的系统时间的差异校正得到;
录像I帧组完整性检查模块,用于视频编码设备根据所述录像检索请求检索本地存储的录像数据,并对匹配的录像数据进行I帧组完整性检查,将包含完整I帧组时间信息的录像时间段作为检索结果返回;
补录时间校正模块,用于视频管理服务器判断所述检索结果所携带的录像时间段是否与请求的检索时间段一致,如果不一致,则校正补录时间段;
录像补录模块,用于视频管理服务器发送录像数据流请求,并接收视频编码设备发送的录像数据流,同时根据已校正的补录时间段将接收的录像数据写入存储设备。
7.如权利要求6所述的装置,其特征在于,所述存储时间校正模块,还用于:
通过视频编码设备获取其与视频管理服务器间每次时间同步前后的系统时间差值,同时根据该时间差值计算每相差TI时间的间隔T,并取T的绝对值|T|作为网络故障后校正系统时间的固定周期,其中TI时间单位为毫秒;
如果间隔T为正数,则每经过固定周期|T|,取当前系统时间与TI的和作为校正后的系统时间;如果间隔T为负数,则每经过固定周期|T|,取当前系统时间与TI的差作为校正后的系统时间。
8.如权利要求6所述的装置,其特征在于,所述检索时间校正模块,还用于:
视频管理服务器获取视频编码设备存储异常的时间间隔NVR_IPCOffLineTI和视频管理服务器与视频编码设备间的时间差值NVR_IPC_TD,并根据所述NVR_IPCOffLineTI和NVR_IPC_TD计算视频管理服务器与视频编码设备间每秒钟的时间差值TS,其中TS=NVR_IPC_TD/NVR_IPCOffLineTI,且NVR_IPCOffLineTI、NVR_IPC_TD及TS的单位为毫秒;
视频管理服务器统计补录时间段,所述补录时间段的补录起始时间为NVRBeginT,补录结束时间为NVREndT,其中NVRBeginT和NVREndT的单位为毫秒;
视频管理服务器校正检索时间段,所述检索时间段的检索起始时间为IPCBeginT,其中IPCBeginT=NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)),所述检索时间段的检索结束时间为IPCEndT,其中IPCEndT=NVREndT-((NVREndT-NVR_IPCOfflineT)*TS)),NVR_IPCOfflineT为网络故障发生时的系统时间,且IPCBeginT、IPCEndT及NVR_IPCOfflineT的单位为毫秒。
9.如权利要求6所述的装置,其特征在于,所述录像I帧组完整性检查模块,还用于:
视频编码设备本地存储时在每个I帧组的I帧帧头部分记录该I帧组最后一个P帧的结束时间;
如果检索结束时间访问到的数据帧不是其所在I帧组的最后一个P帧,则将最后一个P帧的时间信息作为检索结果中录像时间段的结束时间返回。
10.如权利要求6或8所述的装置,其特征在于,所述补录时间校正模块,还用于:
视频编码设备返回的检索结果,包括录像起始时间NewIPCBenginT和录像结束时间NewIPCEndT,其中NewIPCBenginT和NewIPCEndT的单位为毫秒;
如果录像起始时间NewIPCBenginT与检索起始时间IPCBeginT不相同,则校正补录的起始时间NewNVRBenginT,其中NewNVRBenginT=NewIPCBenginT+(NewIPCBenginT-NVR_IPCOfflineT)*TS;其中,TS为视频管理服务器与视频编码设备间每秒钟的时间差值;
如果录像结束时间NewIPCEndT与检索结束时间IPCEndT不相同,则校正补录的结束时间NewNVREndT,其中NewNVREndT=NewIPCEndT+(NewIPCEndT-NVR_IPCOfflineT)*TS。
一种缓存补录方法和装置\n技术领域\n[0001] 本发明涉及存储技术领域,尤其涉及一种缓存补录方法和装置。\n背景技术\n[0002] ANR(Automatic Network Replenishment Technology,断网智能补录技术)是一种结合本地存储和网络存储的技术。具备ANR技术的视频编码设备会在网络出现故障时自动启用本地存储,该过程通常称为缓存;网络恢复后再将视频编码设备存储在本地的录像数据同步至视频管理服务器,该过程通常称为补录。\n[0003] 在视频监控领域中,通常由视频管理服务器主动根据本地录像缺失时间段向视频编码设备检索需补录的录像,其中检索精度为秒级,再将获取的视频编码设备存储在本地的录像数据写入存储设备。同时为便于事后分析录像数据,通常将视频画面进行时间OSD(On Screen Display,屏幕菜单式调节方式)叠加处理后再进行存储,即通常存储的录像数据中已叠加时间OSD信息。\n[0004] 由于视频编码设备和视频管理服务器的时间晶振频率不同或硬件的差异,两者间存在时间不同步的问题。在网络故障发生后,视频编码设备与视频管理服务器间无法通过信令进行时间同步。当两者时间不同步时,后续补录的录像与已有录像存在衔接不连续引起的事后取证关键线索丢失的问题和回放画面卡顿、回放画面上的时间OSD跳秒等体验差的问题。\n发明内容\n[0005] 有鉴于此,本发明提供一种缓存补录方法和装置,保证网络恢复后补录的视频编码设备的本地存储录像与视频管理服务器上已有录像无缝衔接,解决录像数据不完整引起的事后取证关键线索丢失的问题及解决录像数据不完整或录像数据重复引起的回放画面卡顿和回放画面上时间OSD跳秒等体验性差的问题。\n[0006] 该缓存补录方法,应用于视频监控系统,所述视频监控系统包括视频编码设备和视频管理服务器,其特征在于,所述方法包括:\n[0007] 视频编码设备在网络发生故障后,根据固定周期校正系统时间,并根据已校正的系统时间进行本地存储,且本地存储的录像数据已进行时间OSD叠加处理;\n[0008] 视频管理服务器在网络故障恢复后,发送录像检索请求,所述录像检索请求包括已校正的检索时间段;\n[0009] 视频编码设备根据所述录像检索请求检索本地存储的录像数据,并对匹配的录像数据进行I帧组完整性检查,将包含完整I帧组时间信息的录像时间段作为检索结果返回;\n[0010] 视频管理服务器判断所述检索结果所携带的录像时间段是否与请求的检索时间段一致,如果不一致,则校正补录时间段;\n[0011] 视频管理服务器发送录像数据流请求,并接收视频编码设备发送的录像数据流,同时根据已校正的补录时间段将接收的录像数据写入存储设备。\n[0012] 优选地,所述根据固定周期进行系统时间校正,包括:视频编码设备获取其与视频管理服务器间每次时间同步前后的系统时间差值,同时根据该时间差值计算每相差TI时间的间隔T,并取T的绝对值|T|作为网络故障后校正系统时间的固定周期,其中TI时间单位为毫秒;如果间隔T为正数,则每经过固定周期|T|,取当前系统时间与TI的和作为校正后的系统时间;如果间隔T为负数,则每经过固定周期|T|,取当前系统时间与TI的差作为校正后的系统时间。\n[0013] 优选地,所述已校正的检索时间段的计算方式,包括:视频管理服务器获取视频编码设备存储异常的时间间隔NVR_IPCOffLineTI和视频管理服务器与视频编码设备间的时间差值NVR_IPC_TD,并根据所述NVR_IPCOffLineTI和NVR_IPC_TD计算视频管理服务器与视频编码设备间每秒钟的时间差值TS,其中TS=NVR_IPC_TD/NVR_IPCOffLineTI,且NVR_IPCOffLineTI、NVR_IPC_TD及TS的单位为毫秒;视频管理服务器统计补录时间段,所述补录时间段的补录起始时间为NVRBeginT,补录结束时间为NVREndT,其中NVRBeginT和NVREndT的单位为毫秒;视频管理服务器校正检索时间段,所述检索时间段的检索起始时间为IPCBeginT,其中IPCBeginT=NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)),所述检索时间段的检索结束时间为IPCEndT,其中IPCEndT=NVREndT-((NVREndT-NVR_IPCOfflineT)*TS)),NVR_IPCOfflineT为网络故障发生时的系统时间,且IPCBeginT、IPCEndT及NVR_IPCOfflineT的单位为毫秒。\n[0014] 优选地,所述录像I帧组完整性检查,包括:视频编码设备本地存储时在每个I帧组的I帧帧头部分记录该I帧组最后一个P帧的结束时间;如果检索结束时间访问到的数据帧不是其所在I帧组的最后一个P帧,则将最后一个P帧的时间信息作为检索结果中录像时间段的结束时间返回。\n[0015] 优选地,所述校正补录时间段,包括:视频编码设备返回的检索结果,包括录像起始时间NewIPCBenginT和录像结束时间NewIPCEndT,其中NewIPCBenginT和NewIPCEndT的单位为毫秒;如果录像起始时间NewIPCBenginT与检索起始时间IPCBeginT不相同,则校正补录的起始时间NewNVRBenginT,其中NewNVRBenginT=NewIPCBenginT+(NewIPCBenginT-NVR_IPCOfflineT)*TS;如果录像结束时间NewIPCEndT与检索结束时间IPCEndT不相同,则校正补录的结束时间NewNVREndT,其中NewNVREndT=NewIPCEndT+(NewIPCEndT-NVR_IPCOfflineT)*TS。\n[0016] 基于同样的构思,本发明提供一种缓存补录装置,应用于视频监控系统,包括视频编码设备和视频管理服务器,其特征在于,所述装置包括:\n[0017] 存储时间校正模块,用于在网络故障发生后,视频编码设备根据固定周期进行系统时间校正,并根据已校正的系统时间进行本地存储,且本地存储的录像数据已进行时间OSD叠加处理;\n[0018] 检索时间校正模块,用于在网络故障恢复后,视频管理服务器发送录像检索请求,所述录像检索请求包括已校正的检索时间段;\n[0019] 录像I帧组完整性检查模块,用于视频编码设备根据所述录像检索请求检索本地存储的录像数据,并对匹配的录像数据进行I帧组完整性检查,将包含完整I帧组时间信息的录像时间段作为检索结果返回;\n[0020] 补录时间校正模块,用于视频管理服务器判断所述检索结果所携带的录像时间段是否与请求的检索时间段一致,如果不一致,则校正补录时间段;\n[0021] 录像补录模块,用于视频管理服务器发送录像数据流请求,并接收视频编码设备发送的录像数据流,同时根据已校正的补录时间段将接收的录像数据写入存储设备。\n[0022] 优选地,所述存储时间校正模块,还包括:通过视频编码设备获取其与视频管理服务器间每次时间同步前后的系统时间差值,同时根据该时间差值计算每相差TI时间的间隔T,并取T的绝对值|T|作为网络故障后校正系统时间的固定周期,其中TI时间单位为毫秒;\n如果间隔T为正数,则每经过固定周期|T|,取当前系统时间与TI的和作为校正后的系统时间;如果间隔T为负数,则每经过固定周期|T|,取当前系统时间与TI的差作为校正后的系统时间。\n[0023] 优选地,所述检索时间校正模块,还包括:视频管理服务器获取视频编码设备存储异常的时间间隔NVR_IPCOffLineTI和视频管理服务器与视频编码设备间的时间差值NVR_IPC_TD,并根据所述NVR_IPCOffLineTI和NVR_IPC_TD计算视频管理服务器与视频编码设备间每秒钟的时间差值TS,其中TS=NVR_IPC_TD/NVR_IPCOffLineTI,且NVR_IPCOffLineTI、NVR_IPC_TD及TS的单位为毫秒;视频管理服务器统计补录时间段,所述补录时间段的补录起始时间为NVRBeginT,补录结束时间为NVREndT,其中NVRBeginT和NVREndT的单位为毫秒;\n视频管理服务器校正检索时间段,所述检索时间段的检索起始时间为IPCBeginT,其中IPCBeginT=NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)),所述检索时间段检索结束时间为IPCEndT,其中IPCEndT=NVREndT-((NVREndT-NVR_IPCOfflineT)*TS)),NVR_IPCOfflineT为网络故障发生时的系统时间,且IPCBeginT、IPCEndT及NVR_IPCOfflineT的单位为毫秒。\n[0024] 优选地,所述录像I帧组完整性检查模块,还包括:视频编码设备本地存储时在每个I帧组的I帧帧头部分记录该I帧组最后一个P帧的结束时间;如果检索结束时间访问到的数据帧不是其所在I帧组的最后一个P帧,则将最后一个P帧的时间信息作为检索结果中录像时间段的结束时间返回。\n[0025] 优选地,所述补录时间校正模块,还包括:视频编码设备返回的检索结果,包括录像起始时间NewIPCBenginT和录像结束时间NewIPCEndT,其中NewIPCBenginT和NewIPCEndT的单位为毫秒;如果录像起始时间NewIPCBenginT与检索起始时间IPCBeginT不相同,则校正补录的起始时间NewNVRBenginT,其中NewNVRBenginT=NewIPCBenginT+(NewIPCBenginT-NVR_IPCOfflineT)*TS;如果录像结束时间NewIPCEndT与检索结束时间IPCEndT不相同,则校正补录的结束时间NewNVREndT,其中NewNVREndT=NewIPCEndT+(NewIPCEndT-NVR_IPCOfflineT)*TS。\n[0026] 相较于现有技术,本发明方案在缓存补录过程中,网络故障发生后通过视频编码设备根据固定周期校正系统时间,尽可能地保证视频编码设备与视频管理服务器间的时间同步,即尽可能地保证视频编码设备本地存储的录像数据中叠加的时间OSD与视频管理服务器时间一致;网络故障恢复后通过视频管理服务器校正检索时间,同时将检索时间精确到毫秒,保证检索结果与需补录的录像信息一致;通过视频编码设备对检索到的录像信息进行录像I帧组完整性检查,保证返回的检索结果包含完整I帧组时间信息的录像时间段;\n通过校正补录时间,保证补录的录像与检索结果一致。通过上述方式,保证网络恢复后补录的视频编码设备本地存储的录像与视频管理服务器上已有录像无缝衔接,解决录像数据不完整引起的事后取证关键线索丢失的问题及解决录像数据不完整或录像数据重复引起的回放画面卡顿和回放画面上时间OSD跳秒等体验性差的问题。\n附图说明\n[0027] 图1是本发明实施例的流程图;\n[0028] 图2是本发明实施例的时间校正周期计算说明图;\n[0029] 图3是本发明实施例的检索时间段校正说明图;\n[0030] 图4是本发明实施例的装置逻辑结构图。\n具体实施方式\n[0031] 下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。\n[0032] 监控行业常见的组网方式为:视频管理服务器通过网络管理多个视频编码设备,两者通过私有信令或标准信令(比如ONVIF)进行交互。视频编码设备通常为网络摄像机(IPC)、编码器(EC),视频管理服务器通常为网络硬盘录像机(NVR)。本实施例以NVR管理IPC方式进行详细说明。\n[0033] 请参图1,本实施例的缓存补录方法包括如下步骤:\n[0034] 步骤1、网络故障发生后IPC根据固定周期校正系统时间,并根据已校正的系统时间进行本地存储,且本地存储的录像数据已进行时间OSD叠加处理。\n[0035] 为便于事后分析录像数据,通常将视频画面进行时间OSD叠加处理后再进行存储。\n在视频监控领域中,通常由NVR通过信令向IPC下发叠加时间OSD的配置指令,即IPC根据该配置指令,在视频画面上根据自身系统时间叠加时间OSD,并将已叠加时间OSD的视频数据发送给NVR进行存储;当网络发生故障后,IPC将已叠加时间OSD的视频数据进行本地存储。\n其中本地存储和叠加时间OSD的方案均为现有技术,故不再赘述。\n[0036] IPC在网络故障发生时根据固定周期校正系统时间,用于保证本地存储的录像画面中叠加的时间OSD与NVR时间一致,保证待网络恢复后补录录像所叠加的时间OSD与NVR上已有录像所叠加的时间OSD能够无缝衔接,解决因时间不同步导致的回放画面时间OSD跳秒问题。\n[0037] IPC时间校正的固定周期的计算过程,请参图2所示流程图,包括如下步骤:\n[0038] S21、网络正常情况下,IPC与NVR间通过信令进行时间同步,通常同步周期为半小时;\n[0039] IPC与NVR可以通过私有信令或标准信令(比如ONVIF)进行时间同步。通过信令进行时间同步的技术方案为现有技术,故本发明不再赘述。本实施例中同步时间为半小时,相关技术人员在实施本实施例时可以结合实际应用进行设置,本发明不对此进行限制。\n[0040] S22、IPC判断本次时间同步是否为第1次同步,若是,则记录同步后的系统时间为TB1,否则记录同步前的系统时间TA及同步后的系统时间TB2,其中TB1、TA及TB2的精度均为毫秒级;\n[0041] IPC在接入NVR管理时进行第1次时间同步,在此之前IPC可能独立运行也可能被其他NVR管理,在第1次时间同步前IPC的系统时间无法估计,故取第1次时间同步后的系统时间TB1作为原始时间点。在后续的时间同步时,记录该次时间同步前的系统时间TA及同步后的系统时间TB2。\n[0042] S23、计算每相差TI毫秒需经过的时间间隔T,其中T=((TA-TB1)*TI)/(TB2-TA);\n[0043] 以TB1为原始时间点,根据每次时间同步前后的系统时间差值来计算每相差TI毫秒所需要经过的时间间隔T。T的计算公式同样也可以是T=((TA-TB1)*TI)/(TA-TB2)。\n[0044] 人眼对画面卡顿的敏感阈值为300毫秒,但根据人体差异该敏感阈值存在上下一定范围的浮动,为尽可能地保证人眼不会感觉到因时间校正引起的画面卡顿感,故校正幅度TI可选范围为50-150毫秒,本实施例TI选值为100毫秒。\n[0045] S24、取T的绝对值|T|作为系统时间校正的固定周期,用于网络故障发生后自动校正系统时间。\n[0046] 由于时间同步前的系统时间TA可能慢于同步后的系统时间TB2,也可能快于同步后的系统时间TB2,故间隔T的值可能为正数,也可能为负数。故取时间间隔T的绝对值|T|作为系统时间校正的固定周期。\n[0047] 如果T为正数,则每经过固定周期|T|,取当前系统时间与TI的和作为校正后的系统时间;如果T为负数,则每经过固定周期|T|,取当前系统时间与TI的差作为校正后的系统时间。\n[0048] 为减少计算误差,作为一个例子,可取N次时间同步时的同步前系统时间TA与对应的同步后系统时间TB2来计算每相差TI毫秒需经过的时间间隔T,并对计算得到的N个T求其平均值,其中 N大于等于2。将计算得到的平均值T的绝对值|T|作为系统时间校正的固定周期,用于网络故障发生后IPC自动校正系统时间。\n[0049] 步骤2、网络故障恢复后NVR向IPC发送录像检索请求,且录像检索请求包括已校正的检索时间段。\n[0050] 由于步骤1中IPC在网络故障发生时用于校正系统时间的校正幅度TI为经验值,故网络故障恢复时IPC的系统时间与NVR的系统时间仍有可能不相同。故NVR需要校正检索时间段,同时将检索时间精确到毫秒,以保证检索结果与需补录的录像信息一致。\n[0051] 检索时间段校正的过程,请参图3所示流程图,包括如下步骤:\n[0052] S31、网络故障恢复后,NVR计算IPC存储异常时间NVR_IPCOffLineTI。\n[0053] 网络故障发生后,IPC无法将视频数据发送给NVR,且与NVR间无法通过信令交互,即IPC处于未被NVR管理的状态,将此状态称为IPC离线;网络故障恢复后,IPC与NVR间恢复信令交互及可以将视频数据发送给NVR,即IPC处于被NVR管理的状态,将此状态称为IPC上线。在IPC离线时间内,NVR上未收到IPC发送的视频数据,故不能将视频数据写入存储设备,即认为该时间段内IPC发生存储异常。\n[0054] NVR在网络故障发生后记录IPC离线时的系统时间NVR_IPCOfflineT,并在网络故障恢复后记录IPC上线时的系统时间NVR_IPCOnlineT,其中NVR_IPCOfflineT和NVR_IPCOnlineT的单位均为毫秒。然后NVR计算NVR_IPCOnlineT与NVR_IPCOfflineT的差值,并将该差值作为IPC存储异常时间间隔NVR_IPCOffLineTI。\n[0055] S32、计算NVR与IPC间存在的时间差值NVR_IPC_TD。\n[0056] IPC上线时其信令消息中携带IPC当前的系统时间IPCT,其中IPCT的单位为毫秒。\nNVR计算NVR_IPCOnlineT与IPCT的差值,作为其与IPC间存在的时间差值NVR_IPC_TD。\n[0057] S33、计算NVR与IPC间每秒存在的时间差值TS。\n[0058] NVR将NVR_IPC_TD与NVR_IPCOffLineTI相除,即可获得其与IPC间每秒存在的时间差值TS,即TS=NVR_IPC_TD/NVR_IPCOffLineTI。\n[0059] S34、统计补录时间段,其中补录起始时间为NVRBeginT,补录结束时间为NVREndT。\n[0060] 如果NVR上配置的IPC录像计划包含IPC存储异常时间段,则需要补录的时间段即为IPC存储异常时间段;如果NVR上配置的IPC录像计划未包含IPC存储异常时间段,则不需要进行补录;如果NVR上配置的IPC录像计划包含IPC存储异常时间段中的部分时间段,则需要结合具体的录像计划和IPC存储异常时间段进行统计需要补录的时间段。\n[0061] 作为一个例子,NVR上配置的IPC录像计划为10:00:00:000~11:00:00:000,12:\n00:00:000~13:00:00:000,即NVR仅在10:00:00:000~11:00:00:000和12:00:00:000~\n13:00:00:000两个时间段内需将该IPC的视频数据写入存储设备。当IPC存储异常时间段为\n10:05:37:200~11:25:28:335时,则需要补录的时间段为10:05:37:200~11:00:00:000,其中10:05:37:200表示10点05分37秒200毫秒。\n[0062] S35、校正检索时间段,其中检索开始时间为IPCBeginT,检索结束时间为IPCEndT。\n[0063] 由于NVR与IPC间存在时间不同步问题,故不能将补录时间段直接作为检索时间段来检索IPC本地存储的录像数据。\n[0064] NVR校正检索时间段的开始时间IPCBeginT,其中IPCBeginT=NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS));NVR校正检索时间段的结束时间IPCEndT,其中IPCEndT=NVREndT-((NVREndT-NVR_IPCOfflineT)*TS))。\n[0065] 步骤3、IPC根据NVR发送的录像检索请求,检索本地存储的录像数据,并对匹配的录像数据进行I帧组完整性检查,将包含完整I帧组时间信息的录像时间段作为检索结果返回。\n[0066] IPC本地存储时,在每个I帧组的I帧帧头部分记录该I帧组最后一个P帧的时间信息。\n[0067] IPC根据检索时间段检索本地存储的匹配录像数据,根据检索开始时间访问到的首个I帧的时间信息作为检索结果的开始时间;根据检索结束时间访问到的数据帧所在I帧组的最后一个P帧的时间信息作为检索结果的结束时间。即当检索结束时间访问到P帧时判断该P帧是否为其所在I帧组的最后一个P帧,若是,则将该P帧的时间信息作为检索结果的结束时间,否则,将该I帧组最后一个P帧的时间信息作为检索结果的结束时间;当检索结束时间访问到I帧时,将该I帧所在的I帧组的最后一个P帧的时间信息作为检索结果中录像时间段的结束时间。\n[0068] IPC将包括录像开始时间NewIPCBeginT和录像结束时间NewIPCEndT的检索结果返回给NVR。\n[0069] 作为一个例子,检索时间段为10:05:33:375~10:59:58:125。检索开始时间10:\n05:33:375访问到的数据帧为P帧,故将该P帧所在I帧组的I帧的时间信息10:05:32:400作为检索结果的开始时间,即NewIPCBeginT为10:05:32:400;检索结束时间10:59:58:125访问到的数据帧为P帧,但发现10:59:58:125与该P帧所在I帧组的I帧帧头所记录的最后一个P帧的时间信息10:59:58:800不一致,则将该P帧所在I帧组的最后一个P帧的时间信息10:\n59:58:800作为检索结果的结束时间,即NewIPCEndT为10:59:58:800。\n[0070] 通过IPC对检索到的录像数据进行录像I帧组完整性检查,保证返回的检索结果包含完整I帧组的时间信息,解决录像数据不完整引起的事后取证关键线索丢失的问题。\n[0071] 步骤4、NVR判断IPC返回的检索结果携带的录像时间段是否与请求的检索时间段一致,如果不一致,则校正补录时间段。\n[0072] 由于检索开始时间访问到的帧不一定是该I帧组的I帧,但IPC均会把首个I帧的时间信息作为检索结果的开始时间返回给NVR,同时IPC本地存储空间有限,当网络长时间处于故障状态时,需要存储的数据量将远大于本地存储空间,则IPC进行本地满覆盖存储,即当存储空间满时,将最新要存储的录像数据覆盖最旧的已存储录像数据,故IPC返回的检索结果开始时间与检索请求的开始时间不一致;检索结束时间访问到的帧不一定是该I帧组的最后一个P帧,但IPC均会把该I帧组的最后一个P帧的时间信息作为检索结果的结束时间返回给NVR,故IPC返回的检索结果结束时间与检索请求的结束时间不一致,故需要NVR判断IPC返回的检索结果携带的录像时间段是否与请求的检索时间段一致,从而校正补录时间段。\n[0073] 如果检索结果的起始时间NewIPCBenginT与检索请求的起始时间IPCBeginT不相同,则根据公式NewNVRBenginT=NewIPCBenginT+(NewIPCBenginT-NVR_IPCOfflineT)*TS重新计算补录的起始时间NewNVRBenginT;\n[0074] 如果检索结果的结束时间NewIPCEndT与检索请求的结束时间IPCEndT不相同,则根据公式NewNVREndT=NewIPCEndT+(NewIPCEndT-NVR_IPCOfflineT)*TS重新计算补录的结束时间NewNVREndT。\n[0075] 通过校正补录时间,保证补录录像与检索结果一致。\n[0076] 步骤5、NVR发送录像数据流请求,并接收IPC发送的录像数据流,同时根据已校正的补录时间段将接收的录像数据写入存储设备。\n[0077] 补录时间校正结束后,NVR请求IPC发送录像数据流,其中该请求携带录像时间段NewIPCBenginT,NewIPCEndT。IPC接收NVR发送的录像数据流发送请求,把匹配的录像数据发送给NVR。NVR接收IPC发送的录像数据,并根据补录时间段NewNVRBenginT,NewNVREndT,将接收的录像数据写入存储设备。\n[0078] 存储设备通常为NVR本地安装的磁盘,也可以是NVR外接的磁盘扩展柜,本实施例对此不进行限制。录像数据写入存储设备的方案为现有技术,故不再赘述。\n[0079] 通过上述方式,保证网络恢复后补录的视频编码设备的本地存储录像与视频管理服务器上已有录像无缝衔接,解决录像数据不完整引起的事后取证关键线索丢失的问题及解决录像数据不完整或录像数据重复引起的回放画面卡顿和回放画面上的时间OSD跳秒等体验性差的问题。\n[0080] 基于同样的构思,本发明还提供一种缓存补录装置。请参图4,该装置包括:\n[0081] 存储时间校正模块11,用于在网络故障发生后,视频编码设备根据固定周期进行系统时间校正,并根据所述已校正的系统时间进行本地存储,所述本地存储的录像数据已进行时间OSD叠加处理;\n[0082] 检索时间校正模块12,用于在网络故障恢复后,视频管理服务器发送录像检索请求,所述录像检索请求包括已校正的检索时间段;\n[0083] 录像I帧组完整性检查模块13,用于视频编码设备根据所述录像检索请求检索本地存储的录像数据,并对匹配的录像数据进行I帧组完整性检查,将包含完整I帧组时间信息的录像时间段作为检索结果返回;\n[0084] 补录时间校正模块14,用于视频管理服务器判断所述检索结果所携带的录像时间段是否与请求的检索时间段一致,如果不一致,则校正补录时间段;\n[0085] 录像补录模块15,用于视频管理服务器发送录像数据流请求,并接收视频编码设备发送的录像数据流,同时根据已校正的补录时间段将接收的录像数据写入存储设备。\n[0086] 所述存储时间校正模块11,还包括:通过视频编码设备获取其与视频管理服务器间每次时间同步前后的系统时间差值,同时根据该时间差值计算每相差TI时间的间隔T,并取T的绝对值|T|作为网络故障后校正系统时间的固定周期,其中TI时间单位为毫秒;如果间隔T为正数,则每经过固定周期|T|,取当前系统时间与TI的和作为校正后的系统时间;如果间隔T为负数,则每经过固定周期|T|,取当前系统时间与TI的差作为校正后的系统时间。\n[0087] 所述检索时间校正模块12,还包括:视频管理服务器获取视频编码设备存储异常的时间间隔NVR_IPCOffLineTI和视频管理服务器与视频编码设备间的时间差值NVR_IPC_TD,并根据所述NVR_IPCOffLineTI和NVR_IPC_TD计算视频管理服务器与视频编码设备间每秒钟的时间差值TS,其中TS=NVR_IPC_TD/NVR_IPCOffLineTI,且NVR_IPCOffLineTI、NVR_IPC_TD及TS的单位为毫秒;视频管理服务器统计补录时间段,所述补录时间段的补录起始时间为NVRBeginT,补录结束时间为NVREndT,其中NVRBeginT和NVREndT的单位为毫秒;视频管理服务器校正检索时间段,所述检索时间段的检索起始时间为IPCBeginT,其中IPCBeginT=NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)),所述检索时间段检索结束时间为IPCEndT,其中IPCEndT=NVREndT-((NVREndT-NVR_IPCOfflineT)*TS)),NVR_IPCOfflineT为网络故障发生时的系统时间,且IPCBeginT、IPCEndT及NVR_IPCOfflineT的单位为毫秒。\n[0088] 所述录像I帧组完整性检查模块13,还包括:视频编码设备本地存储时在每个I帧组的I帧帧头部分记录该I帧组最后一个P帧的结束时间;如果检索结束时间访问到的数据帧不是其所在I帧组的最后一个P帧,则将最后一个P帧的时间信息作为检索结果中录像时间段的结束时间返回。\n[0089] 所述补录时间校正模块14,还包括:视频编码设备返回的检索结果,包括录像起始时间NewIPCBenginT和录像结束时间NewIPCEndT,其中NewIPCBenginT和NewIPCEndT的单位为毫秒;如果录像起始时间NewIPCBenginT与检索起始时间IPCBeginT不相同,则校正补录的起始时间NewNVRBenginT,其中NewNVRBenginT=NewIPCBenginT+(NewIPCBenginT-NVR_IPCOfflineT)*TS;如果录像结束时间NewIPCEndT与检索结束时间IPCEndT不相同,则校正补录的结束时间NewNVREndT,其中NewNVREndT=NewIPCEndT+(NewIPCEndT-NVR_IPCOfflineT)*TS。\n[0090] 其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块,本发明对此不作限制。\n[0091] 本发明提供一种缓存补录方法和装置,保证网络恢复后补录的视频编码设备的本地存储录像与视频管理服务器上已有录像无缝衔接,解决录像数据不完整引起的事后取证关键线索丢失的问题及解决录像数据不完整或录像数据重复引起的回放画面卡顿和回放画面上时间OSD跳秒等体验性差的问题。\n[0092] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
法律信息
- 2018-09-14
- 2016-02-10
实质审查的生效
IPC(主分类): H04N 5/76
专利申请号: 201510547688.X
申请日: 2015.08.31
- 2015-12-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-04-02
|
2006-04-11
| | |
2
| | 暂无 |
2009-05-11
| | |
3
| |
2008-02-20
|
2007-09-24
| | |
4
| |
2009-05-20
|
2008-11-29
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |