一种增强视频无损压缩方法及装置与流程
本发明属于数据处理,具体涉及一种增强视频无损压缩方法及装置。
背景技术:
1、随着安防监控、移动直播、工业巡检等场景中视频采集终端数量的激增,以及超高清视频应用的普及,传统传输网络与存储基础设施面临严峻挑战:一方面,如4k/8k等高分辨率的视频流导致传输带宽需求呈指数级增长,网络拥塞与延迟问题频发;另一方面,海量视频数据的长期留存需求使存储成本居高不下,特别在法律要求重点区域监控视频需保留90日以上,海量视频原始数据存储成本进一步激增。针对行业传输带宽与存储资源瓶颈,各领域普遍采用成熟的视频压缩系统解决方案,基于帧间预测/变换编码的智能压缩算法,在保持关键信息完整性的前提下实现较为高效的压缩比,有效控制码流膨胀的同时实现存储tco优化。
2、在引入视频压缩系统的方案后,常见的部署方案有前置部署方案和旁挂部署方案,视频压缩系统位于摄像机与视频平台、存储系统链路中间,其可靠性对视频转发、存储都有着重要的影响。视频流的稳定不中断有特别重要的现实意义,特别在司法取证与公共安全事件调查中,监控视频是具备法律效力的关键电子证据。一旦因视频压缩系统故障导致视频中断或丢失,进而可能造成关键时间节点行为链断裂,影响案件侦破效率。故对视频压缩系统提出了非常高的可靠性要求,须尽可能避免出现由于视频压缩系统故障引起视频中断。
技术实现思路
1、针对现有技术的以上缺陷或改进需求中的一种或者多种,本发明提供了一种增强视频无损压缩方法及装置,其通。
2、为实现上述目的,本发明提供一种增强视频无损压缩方法,包括以下步骤:
3、获取原始数据帧,为所述原始数据帧分配唯一标识,并将带有所述唯一标识的所述原始数据帧存入缓存队列;
4、将所述原始数据帧发送至第二节点进行处理,并接收所述第二节点返回的带有对应唯一标识的处理后数据帧;
5、响应于接收到所述处理后数据帧,更新所述缓存队列中对应原始数据帧的状态,并输出所述处理后数据帧,其中,所述原始数据帧的缓存释放被延迟至接收到属于下一数据分组的起始帧时执行;
6、响应于检测到所述第二节点异常,从所述缓存队列中获取当前数据分组的起始帧及后续原始数据帧并输出。
7、作为本发明的进一步优选,所述原始数据帧的缓存释放被延迟至接收到属于下一数据分组的起始帧时执行,包括以下步骤:
8、解析接收到的数据帧的帧头信息,提取帧类型标识;
9、当所述帧类型标识指示当前数据帧为所述下一数据分组的起始帧时,触发对所述缓存队列中属于前一数据分组的所有原始数据帧的缓存释放。
10、作为本发明的进一步优选,所述数据分组为图像组gop,所述起始帧为关键帧i帧,所述数据分组内的非起始帧为预测帧p帧或b帧;
11、所述解析接收到的数据帧的帧头信息,提取帧类型标识,包括以下步骤:
12、读取视频编码标准协议下的网络抽象层单元nalu头信息或切片头信息,获取帧类型字段;
13、当所述帧类型字段指示当前数据帧为i帧时,确定当前数据帧为所述下一数据分组的起始帧;
14、所述触发对所述缓存队列中属于前一数据分组的所有原始数据帧的缓存释放,包括以下步骤:
15、遍历所述缓存队列,查找帧类型标识为i帧、p帧或b帧且状态已更新为已发送的原始数据帧,调用内存回收接口释放所述原始数据帧占用的内存空间。
16、作为本发明的进一步优选,所述预测帧p帧或b帧在解码时依赖于所述关键帧i帧的参考数据,通过延迟释放所述关键帧i帧及其关联的预测帧的原始数据帧的缓存,确保在所述第二节点异常时能够回退输出完整的图像组以避免解码花屏。
17、作为本发明的进一步优选,所述响应于检测到所述第二节点异常,从所述缓存队列中获取当前数据分组的起始帧及后续原始数据帧并输出,包括以下步骤:
18、响应于检测到心跳超时、连接中断或响应超时中的至少一种,确定所述第二节点异常;
19、丢弃所述当前数据分组内已接收的所述处理后数据帧;
20、将数据输出通道从输出所述处理后数据帧切换为输出所述原始数据帧,并从所述当前数据分组的起始帧开始依次输出所述原始数据帧。
21、作为本发明的进一步优选,在所述将数据输出通道从输出所述处理后数据帧切换为输出所述原始数据帧之后,所述方法还包括以下步骤:
22、持续向所述第二节点发送探测报文,并监听所述第二节点的响应状态;
23、当接收到所述第二节点返回的正常响应报文时,确定所述第二节点恢复正常;
24、响应于所述第二节点恢复正常,重新建立与所述第二节点的数据传输连接,并将所述数据输出通道从输出所述原始数据帧切回为输出所述处理后数据帧;
25、在切回所述数据输出通道后,清空所述缓存队列中残留的所述原始数据帧以释放内存资源。
26、作为本发明的进一步优选,所述清空所述缓存队列中残留的所述原始数据帧,包括以下步骤:获取所述缓存队列的当前头指针和尾指针,遍历所述头指针至所述尾指针之间的所有节点,将所述节点指向的原始数据帧内存块归还给系统内存池,并将所述头指针和尾指针重置为初始状态。
27、作为本发明的进一步优选,所述方法还包括以下步骤:
28、在未检测到所述第二节点异常的情况下,监测所述缓存队列的当前长度;
29、当所述当前长度超过预设阈值时,强制从所述缓存队列的头部弹出所述原始数据帧并输出,同时释放被弹出的所述原始数据帧的缓存。
30、作为本发明的进一步优选,所述为所述原始数据帧分配唯一标识,并将带有所述唯一标识的所述原始数据帧存入缓存队列,包括以下步骤:
31、获取当前系统的高精度时间戳或递增的序列号,将其作为所述原始数据帧的所述唯一标识;
32、将所述唯一标识作为键值,将所述原始数据帧的内存地址及帧状态信息作为值,构建键值对;
33、将所述键值对插入至采用哈希表或双向链表结构实现的所述缓存队列中;
34、所述响应于接收到所述处理后数据帧,更新所述缓存队列中对应原始数据帧的状态,包括以下步骤:
35、解析所述处理后数据帧携带的所述唯一标识,在所述哈希表中通过所述键值进行o时间复杂度的查找,或在所述双向链表中通过遍历节点进行匹配;
36、当查找到匹配的节点时,将所述节点中的所述帧状态信息从待处理状态更新为已发送状态,但不执行内存释放操作,直至满足所述缓存释放的延迟触发条件。
37、还公开了一种增强视频无损压缩装置,其采用上述的增强视频无损压缩方法,其包括:
38、缓存管理模块,用于获取原始数据帧,为所述原始数据帧分配唯一标识,并将带有所述唯一标识的所述原始数据帧存入缓存队列;
39、数据收发模块,用于将所述原始数据帧发送至第二节点进行处理,并接收所述第二节点返回的带有对应唯一标识的处理后数据帧;
40、状态控制模块,用于响应于接收到所述处理后数据帧,更新所述缓存队列中对应原始数据帧的状态,并输出所述处理后数据帧,其中,所述原始数据帧的缓存释放被延迟至接收到属于下一数据分组的起始帧时执行;
41、异常降级模块,用于响应于检测到所述第二节点异常,从所述缓存队列中获取当前数据分组的起始帧及后续原始数据帧并输出。
42、总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有的有益效果包括:
43、本发明的增强视频无损压缩方法及装置,其通过在发送端缓存带有唯一标识的原始数据帧,并将缓存释放时机延迟至接收到下一数据分组的起始帧时执行,使得在第二节点发生故障时,缓存队列中始终保留有当前数据分组完整的原始数据帧序列。当检测到异常时,系统能够从当前数据分组的起始帧开始回退输出原始数据帧,替代残缺的处理后数据帧。这种基于数据分组边界的延迟清理与故障回退协同机制,一方面利用原始数据帧填补了故障期间的数据空缺,保证了数据流的连续性;另一方面,通过回退至分组起始帧进行输出,确保了输出数据符合编码依赖结构,避免了因帧间参考缺失导致的解码花屏现象,从而实现了高可靠性的无损容错传输。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com