嵌入式数字视频监控系统中的媒体存储策略.docxVIP

嵌入式数字视频监控系统中的媒体存储策略.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式数字视频监控系统中的媒体存储策略 近年来,随着嵌入式技术和视频压缩技术的发展,网络带宽度的逐步提高,嵌入式数字视频监控系统的特点是体积小、一体化、功能强、易受刺激、易维护、接入,深受安全监控领域的欢迎。除了可以对现场情况进行实时监控,嵌入式数字视频监控系统更多时候是将一些不需要及时处理、无人监视时段的前端现场或者突发报警事件等进行实时录像,供事后进行回放和分析评价。可见,媒体存储在嵌入式监控系统中是一项核心内容,数字视频存储的稳定性和清晰度是监控质量的重要保证 1 媒体图像存储 在设计存储策略时,数据一致性及可靠性、视频数据的连续性、硬盘读写的高效性、检索的快速精确性是本文研究的重点。 1) 可靠而稳定地将媒体数据存储至硬盘是监控录像的基础。“高清化”是安防监控的一大发展趋势,在一些平安城市早期项目中,由于存储的图像资料回放的效果清晰度不好,导致很多图像画面只能够看到作案的人,却看不清犯罪人员的面貌特征,因此对后期的追踪查证非常不利。目前,前端视频经过达芬奇芯片进行H. 264格式编码封装后的PS媒体流分辨率已经可以达到高清720p甚至1 080p,编码码率可以达到1. 5 ~ 10 Mbit /s。在这样较高的码率下,要实时存储PS流,必须设计合理的媒体图像存储算法。 2) 对于嵌入式视频监控系统,其存储介质一般为大容量的IDE/SATA硬盘或硬盘组。但由于多通道录像会在一定程度上影响硬盘I/O操作效率,文件不连续性将非常明显。因此必须设法提高硬盘I/O操作效率,同时尽可能避免硬盘碎片的产生,以满足对硬盘I/O操作效率要求。 3) 对于一个视频监控系统,同一视频源数据会有手动、录像、报警录像等不同的录像形态,并且同一录像时间段中可能会出现多种不同的录像形态。另一方面,由于视频监控系统前端的多路独立的视频源输入可能会要求设置成不同的录像数据保存时间段。因此需要在尽可能节省存储空间的条件下有效地反映出录像形态的区别,同时灵活地设计存储空间分配及存储覆盖算法。 4) 嵌入式监控系统一个十分重要的特性是能快速精确地查找到所需数据以供处理。其中,需要按照不同的类别进行检索,比如按事件检索、按时间检索等。而且,进行历史视频回放时需要能进行慢进慢退、快进快退等功能,同时需要保证视频画面的感官连续性。因此应该设计完善的索引机制。 2 嵌入式媒体存储策略的设计 2.1 双缓冲存储技术 一个典型的B/S架构的嵌入式数字视频监控系统的软件任务一般由媒体编码、媒体存储、实时传输、人机接口等模块构成,如图1所示。 媒体编码任务获得视频数据进行编码后需要将这些数据传送给媒体存储任务,在嵌入式Linux操作系统中, 进程间的通信方式有多种,对视频这类大量数据,最高效的是使用共享内存方式进行数据交换。本文提出了一种 “乒乓式”结构的双缓冲共享内存技术,如图2所示。 媒体编码任务和媒体存储任务被设计为2个进程, BUFFER1和BUFFER2分别是按2个进程约定的路径而开辟的2块共享内存。编码任务每次把1帧数据写入BUFFER1时,将BUFFER1加上“写入锁”,存储任务此时只能读BUFFER2的1帧数据,并同时将BUFFER2加上 “读出锁”; 每当编码任务写完BUFFER1时将其解写入锁,转而写BUFFER2,此时,若发现BUFFER2已加上读出锁,则空闲等待直至BUFFER2被存储任务解读出锁后再写入数据并加上写入锁。于是,编码任务交替写入BUFF- ER1和BUFFER2,存储任务交替读出BUFFER2和BUFF- ER1,如此乒乓式的循环,从而保证了存储任务能够读取到编码任务输出的所有PS媒体流数据,避免发生丢帧现象。 2.2 预分配空间数据文件的数据结构 监控系统在上电后,创建一个由若干指定大小空文件组成的空文件池。按需从该空文件池中获取句柄完成数据的写入,在写入数据前每个空文件的簇链表是已知的。所以写硬盘只会改写簇链表中的内容而不会影响到其本身的结构。当发生像断电这样的异常时,丢失的只是当前正在写入的数据,并没有造成文件本身的损坏。 设计预分配空数据文件数据结构如下: 定义一个NULL_FILE_INFO结构数组记录空文件池的信息: NULL_FILE_INFO null File Info Arr[max File Num]。 其中,file Integrity代表空文件完整性标志,num为空文件序列号,space为一个空文件所占空间。 创建每个文件时,为其分配一组连续的物理空间上的固定大小的簇,这会具有防止硬盘碎片产生、缩短硬盘寻道时间、提高硬盘读写速度等优点。防止磁盘碎片的产生是因为其在物理空间的连续性,而相邻时间具有相同性质的视频数据的聚类存储可以提高硬盘读写的效率并降低检索数据的响应时间。此外,应该在硬盘初始化时进行固定大小且

文档评论(0)

134****3501 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档