网络视频监控系统的设计与实现-优秀毕业论文.pdf_第1页
网络视频监控系统的设计与实现-优秀毕业论文.pdf_第2页
网络视频监控系统的设计与实现-优秀毕业论文.pdf_第3页
网络视频监控系统的设计与实现-优秀毕业论文.pdf_第4页
网络视频监控系统的设计与实现-优秀毕业论文.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

网络视频监控系统的设计与实现-优秀毕业论文.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京理工大学 硕士学位论文 网络视频监控系统的设计与实现 金俊丽 指导教师 皮德富教授 邵理堂副教授 论文级别 硕士 作者单位 淮海工学院 出版时间 201o 年12 月 n a n ji n gu n i v e r s i t yo fs c i e n c e t e c h n o l o g y p h m d i s s e r t a t i o n t h e d e s i g na n di m p l e m e n t a t i o no fn e t w o r k v i d e om o n i t o r i n gs y s t e m j nj 优nl i s u p e r v i s e db yp r o j p id e f u 1 s h a ol it a n g t h ed i s s e r t a t i o nl e v e l m a s t e rd e g r e e au t h o r 每w o r ku n i t h u a i ha ii n s t i t u t eo f t e c hn o l o g y o c t o b e r 2 0 10 声明 本学位论文是我在导师的指导下取得的研究成果 尽我所知 在本 学位论文中 除了加以标注和致谢的部分外 不包含其他人已经发表或 公布过的研究成果 也不包含我为获得任何教育机构的学位或学历而使 用过的材料 与我一同工作的同事对本学位论文做出的贡献均已在论文 中作了明确的说明 研究生签名 p7 1 年1 月2 日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档 可以借阅或 上网公布本学位论文的部分或全部内容 可以向有关部门或机构送交并 授权其保存 借阅或上网公布本学位论文的部分或全部内容 对于保密 论文 按保密的有关规定和程序处理 研究生签名 x f z i 10工 选项 目录菜单 添加了d i r e c t xs d k 头文件和库 路径 1 头文件路径 c d x s d k 的i n c l u d e c j d x s d kls a m p l e s d i r e c t s h o w 钐 b a s e c l a s s e s c d x s d k s a m p l e s 共同 的i n c l u d e 2 库文件路径 c d x s d k li b 中 gid x s d kls a m p l e s d i r e c t s h o w 的 b a s e c l a s s e s 调试 gid x s d kis a m p l e sld i r e c t s h o w 的ib a s e c l a s s e st 释放 2 编译基类的源代码 生成s t r m b a s d 1 i b 调试版本 s t r m b a s e 1 i b 发 布版 3 在设置一 链接菜单 添加s t r m b a s d 1 i bw i n m m 1 i bq u a r t z 1 i bv f w 3 2 1 i b 多线程 操作系统进程和线程在执行过程中的概念 是一个应用程序的实例 操作系统 的资源指派给它设置 包括堆栈 寄存器状态 每个进程都有它自己的虚拟地址 空间 其目的是引入多个程序并发执行 以提高资源利用率 提高系统吞吐量 2 7 4 监控系统中其它关键技术研究硕士学位论文 一个线程的调度执行单元的过程就是c p u 单元 基本上 线程不拥有系统资源 只有一个c p u 指令 一组寄存器 一个设置栈 这个过程是与其他线程共享相同 的进程资源 线程的引入 是为了减少处理时间和成本的空间 因此操作系统的 性能更好 一个进程可以有多个线程 一个线程只能属于一个过程 用户可以创 建多个应用程序线程 进程的虚拟地址空间 全局变量和系统资源的线程都在一 起 每个进程至少包含一个主线程由系统自动创建的 多线程并行处理可以实现 的 从而避免了c p u 时间被任务很长时间的占有 4 4 2 视频压缩原理 使用压缩技术可以使传输速度更快 提高信道利用率 以提供更多的并行任务 图像和数据的存储大和网络数据传输大 对视频制作提出了非常高的要求 在多 媒体应用中常见的像素的r g b 级 3 5 2 宰2 8 8 图像格式 因此 无论储存或 运输 必须得到有效压缩 这使得视频编码技术变得更加重要n 钔 视频压缩是数 字视频应用本身所具有的有关品种 删除多余的信息 保持信息的独立的组件 以实现对原始数据的有效压缩 数字视频数据冗余有以下几类 1 时间冗余 视频序列在本质上是连续的图像 连续采样 在一个非常小的 采样之间的时间间隔为o 0 4 秒 因此 相邻的两个图像之间是相似的 也就是说 有许多相同的地方 只有一个小排量的移动目标 这是冗余的时间 2 空间冗余 每个视频图像 用空间离散采样方法获得 对图像内容的区域 内缓慢变化的很大一部分 即相邻像素间点的光强和色彩以及色饱和度有很强的 相关性 每个独立像素携带的信息较少 这是空间冗余 也称几何冗余 3 视觉冗余 在大多数情况下 为人类视觉系统视频的最终接收者 关于人 类的敏感性 信息图像的某些非均匀和非线性 与其他一些比较特色的图像信息 视频系统相比不是很重要 在一定范围内的细微变化不能被人眼感知 该功能被 称为视觉冗余 4 编码冗余 如果用相同的长度符号表示图片的所有信息 会使用更多的比 特数 为了有效图像的像素信息表示 理想的情况下 与相应的信息熵位像素大 小分布是一致的 如果所有的像素分配相同数量的比特 编码使用的数位代码无 法达到或接近平均熵值 在这种情况下就有代码冗余 在实际应用中 很难具体 计算信息熵的像素 冗余的图像数据信息 是视频压缩和理论基础出发点 通过消除冗余 可显著 降低了原图像的数据量n 钉 因此 重要的是要学习图像压缩在多媒体通信领域的 应用 硕士学位论文网络视频监控系统的设计与实现 4 4 3 图象压缩编码标准 二十世纪九十年代以来 图像编码技术得到了飞速发展和广泛应用 图像压缩 目前在国际组织从事标准是国际标准化组织和国际电工委员会的联合 国际电信 联盟 国际电联一t 的视频编码专家组 v c e g 这两个组织建立的m p e g x 系 列 如m p e g i m p e g 2 和m p e g 4 的等 和h 2 6 x 系列 如h 2 6 l h 2 6 3 和h 2 6 4 等 视频压缩标准n 此外 i t u t 的和i s o i e c 于2 0 0 1 年成立了一个联合 视频组合作i v t 的 联合视频工作组 共同开发了低比特率视频标准h 2 6 4 a v c 的新一代 h 2 6 4 a v c 标准 以适应不同的应用 由于开发的联合核查小组的技术标准和 算法的局限性组不同 分为三个等级 专 分 2 0 0 3 年中指定的文件 即基本的 文件 b a s e li n e p r o f i l e 主文件 主模式 并扩展文件 扩展模式 h 2 6 4 a v c 标准的每个级别的标准是不同的参数设置 每个级别以下分为不同的层次 1 基层 该牌号包含最基本的差错控制编码和网络算法 其中包括芯片间的代码编码算 法 内部的芯片编码 基于内容的变长编码 c a v l c 编码 网络错误控制算法 冗余片 r s 等 该等级在低延时的实时交互式视频通信和其他应用 包括平台 的处理性能是有限的环境中 传播的丢包率高 对视频会议 高速率的无线通讯 实时视频通信中使用n 2 主级 等级不要求实时 是高效的编码应用 如数字广播电视和数字视频存储等n 引 它包含了一种自适应块大小的最基本的算法框架变换 a b t 的概念 熵编码的基 于上下文的算术编码 c a b a c 的一部分 以进一步提高性能的熵编码 比c a v l c 编码 比特率降低了1 0 1 5 3 扩展级 在视频流和其他应用程序特别有用n 们 对数据的重要性水平分割 所有特征的 基本水平 支持s p 和一些额外的网络流媒体技术的数据 对错误数据恢复的支持 4 监控系统中其它关键技术研究硕士学位论文 4 5 多线程 4 5 1 线程编程函数 w i n 3 2 提供了一系列的a p i 函数支持多线程程序设计 以下示例代码中的函数 分别负责线程的创建 挂起 恢复执行 终结自身 外部强行终止及将一条消息 放入指定线程的消息队列 在v c 6 o 多线程编程使用m f c 线程类的cw i n t h r e a d 直接从c c m d t a r g e t 的继承类 间接从c o b j e e t 继承 使用全局函数a f x b e g i n t h r e a d 来创建线程 该 函数返回一个指针到c 点w i n t h r e a d 类 示例代码创建一个工作线程 哪个线程 函数必须被视为一个静态全局函数或类的成员函数定义 线程创建的c r e a t e 暂停 或o 分别标识 创建一个线程 立即开始后的第一个挂起或线程 m f c 中的两种 类型的线程 用户界面线程和工作者线程 与路螺纹接口用于处理用户输入和响 应用户产生的事件和消息 工作线程完成任务 而无需用户交互的背景 7 7 7777 7777 程序示僦代码 77 7 7 h a n d l ec r e a t e t h r e a d l p s e c u r i t y t t r i b u t e sl p t h r e a d a t t r i b u t e s d w o r dr e s u m e t h r e a d h a n d l eh t h r e a d b o o lp o s t t h r e a d m e s s a g e d w o r di d t h r e a d v o i de x it t h r e a d d w o r dd w e x it c o d e d w o r ds u s p e n d t h r e a d h a n d l eh t h r e a d b o o lt e r m in a t e t h r e a d h a n d l eh t h r e a d d w o r dd w e x it c o d e 7 7 7 7 程序示僦代码i i i i i i i i i i 7 程芹示铫代码7 77 7 7 c w i n t h r e a d a f x b e g i n t h r e a d a f xt h r e a d p r o cp f n t h r e a d p r o c 线程函数地址 u i n tn s t a c k s i z e 0 线程堆栈大小 默认为l m l p v o i dp p a r a m 线程参数 i n tn p r i o r i t y t h r e a dp r i o r i t yn o r m a l 线程优先级 d w o r dd w c r e a t e f l a g s 0 线程创建标志 l p s e c u r i t y t t r i b u t e sl p s e c u r i t y a t t r s n u l l 指向安全描述符的指针 7 7 7 7 77 程序示懒代码 7 7 4 5 2 线程的同步技术 w i n d o w s 操作系统提供了多种同步对象 主要包括以下4 种 1 临界区 c r i ti c a l s e c t i o n 2 互斥量 m u t e x 3 信号量 s e m a p h o r e 4 事件 3 0 硕士学位论文 网络视频监控系统的设计与实现 e v e n t 表4 1 列出了各同步对象的使用场合及具体区别 同一进程的多个线 程共享相同的数据段 并行或并发的多个线程同时访问数据或资源 会造成访问 冲突 使程序出错甚至崩溃 因此各线程需要实现同步 除了在c r i t i c a l s e c t i o n 其他三个对象是同步对象的操作系统内核的关键领域 这四种m f c 的对象进行了 同步 使c c r i t i c a l s e c t i o n c m u t e x c s e m a p h o r e 和c e v e n t 类是来自同步对象 类c s y n c o b j e c t 此外 m f c 提供了两个独立的对象类c m u l ti l o c k 和c s i n g l e l o c k 同时访问 表4 1m f c 中的同步类 对象名类名描述 临界区c s e c ti o n允许一个线程访问某个对象 互斥量 c m u t e x只允许系统中一个线程访问某个对象 信号量 c s e m a p h o r e只允许已知线程同时访问某个对象 事件 c e v e n t当某个事件发生时通知一个线程 多锁 c m u i ti l o c k为多对象加锁 单锁c s i n g l e l o c k为单对象加锁 4 5 3 线程池技术 空闲队列中的线程被阻塞 不占用c p u 只占用较少的内存空间 当一个线程 中运行的任务被要求 提出从线程池中的线程来执行任务 任务完成后 线程被 放回池中的空闲线程队列 见图4 1 预创建的线程池线程使用技术 能有效地解 决这些矛盾 应用程序启动后立即创造进入空闲队列一定数量的线程 当任务处 于闲置状态 多数已被阻塞的线程 线程池自动销毁线程 回收系统资源的一部 分 也可以等待所有操作听从一个命令 当i o 等待操作完成后 调用一个线程来 执行相应的回调函数将在i o 线程池工作线程 然而 有一个多线程更关键的问题 是使用频繁的线程创建和切换会降低系统效率 降低稳定性 应对这种需要为服 务器访问大量应用多线程的程序结构 有必要建立一个线程每次访问是很容易理 解和管理的运作模式 此外 网络服务器的网络不可避免地涉及到大量的1 0 访问 需要等待i o 操作完成后才能工作 导致在c p u 闲置时 在该系统的低效率 这是 一个矛盾的问题 需要解决多个多线程 对其他线程创建 上下文切换 并等待 i o 操作会导致效率低下 4 监控系统中其它关键技术研究 硕士学位论文 曰三 图4 1 线程池工作原理 在v i s t a 和s e r v e r2 0 0 8 a p i 已经得到改进 在同一进程的多个线程池创建 被支持 w i n d o w s 操作系统实现一个线程池类的t h r e a d p o o l 由系统管理 相应 的线程池a p i 有两个功能 q u e u e u s e r w o r k i t e m 和w o r k i t e m f u n c 让用户更方便 地使用线程池 s e r v e r2 0 0 3 和早期版本的a p l 只支持在同一进程创建一个线程池 线程池提供的作业系统就不可能取消多任务交付的缺陷 不同的线程池需要不同 的经营绩效系统的支持 申请过程涉及的任务或各种不同类型的模块 所有模块 使用相同的线程池 不利于控制和维持 最好使用自定义类来实现线程池 在线程管理器中的c t h r e a d p o o l 定义两个向量 即空闲线程和工作线程 i d l e t h r e a d v e c t o r u s y t h r e a d v e c t o r 队列 他们是由线程类c t h r e a d i t e m 定义 此外 还定义一个任务队列一o b o u e u e 和控制访问临界质量c s b u s y t h r e a d v e c t o r c s i d l e t h r e a d v e c t o r 和一c s w o r k q u e u e 自定义线程池来实现以下模块 1 线程池 管理器 2 工作线程 3 任务队列 4 任务界面 该系统定义一个线程池线 程类c t h r e a d p o o l 完成管理能力 从t h r e a d 类c t h r e a d i t e m 自定义任务类 c j o b i t e m 用于在线程池类c t h r e a d p o o l 任务的抽象代表工作c u s t o m 执行工作线 程 定义为公共职能任务接口调用 线程池类c t h r e a d p o o l 要控制线程的数量 由成员变量定义的整数来实现的 包括以下类型的变量 1 线程的m i n i t n u m 初始创建 创建一个当初始线程池对象 创建米i n i t n u m 线程 并进入空闲队列 中的线程 2 最大线程数米m a x n u m 该线程池的线程允许存在 包括工作线程 和空闲线程的最大数目 3 当前空闲线程数m i d l e n u m o4 当前的工作线程数 w o r k n u m o5 米的最低和空闲线程米i d l e l o w 和m i d l e h i g h 最大数量 当低于 m i d l e l o w 空闲时间的行数 这表明目前的过载 您需要创建多个线程来执行任 务 线程池自动调用a d j u s t s iz e 函数来调整当前空闲线程数米i n i t n u m 时候 在 比mi d l e h i g h 空闲线程数 这意味着要接入该系统经历了一个时期的高峰期 但 现在的负荷较轻 需要删除多余的线程 删除以下数量的空闲线程通过接口函数 运行 线程池类米i n i t n u m0c t h r e a d p 0 0 1 接收的任务 接到任务时 对空闲池 3 2 硕上学位论文 网络视频监控系统的设计与实现 先检查 看看是否有空闲的线程 其检查过程为下列三个步骤 函数调用 1 如果当前的空闲线程数大于设定的空闲线程的最小数目时 你首先需要建 立一个空闲的线程 使创建的空闲线程数米i n i t n u m 由于创建线程的过程可能涉 及的线程总数m m a x n u m 多 需要讨论两种情况 工作线程的数量m i n i t n u m 米m a x n u m 新的空闲线程 mm a x n u m 当前线程号 没有 5 任务完成后 首先检查是否空闲线程数超过米i d l e l o w 如果没有 那么 工作线程释放线程列 抽象的一个线程t h r e a d 类c t h r e a d l t e m 表示包含一个线程句柄 一个到线程 池的指针一p t h r e a d p o o l 一个标识其运行次数的双整型变量一w c o u n t 一是其最 后的开始时间指示字符变量一d w l a s t b e g i n t i m e 和一个逻辑变量 工作线程中 一b r u n i n g 变量设置 在此逻辑变量被清除空闲线程 线程的创建 由线程句柄类 对象的函数调用a p ic r e a t t h r e a d 实现线程 该系统由一个线程池事件载体一e v e n t v e c t o r 定义 利用可变信息网络i o 操作 事件通知机制 来自两个任务类j o b l t e m s o c k e t j o b i t e m 类 添加一个s o c k e t 绑定变量与任务插座 t a s k 类j o b i t e m 由一个结构 它包含一个指针来调用类对 象的指针无效 一个函数的指针函数的入口地址 一个函数的参数无效类的指针 的定义 同普通的任务不同 服务器有大量的网络i o 操作 同步线程阻塞等待完 成任务所需的i o 操作 异步i o 要求完成任务的新闻业务和等待做加工 线程池 与工作的事件变量信号中的状态变量相关的等待线程i o 操作时运行事件时的回调 函数的实现 为了实现2 个线程池的视频服务器 在设备端总负责属于不同的网 络卡和控制客户端的网络i o 操作 每个线程池都有自己的处理发送和接收网络数 据 临界区使用线程来实现互斥机制 操作始终遵循作为一个例子来完成每一个 成员变量的访问操作的过程 根据线程安全机制 运行的线程池类的成员变量需 要实现相互排斥 3 3 4 监控系统中其它关键技术研究硕士学位论文 程痔示铡代码 f 7 e n t e r c r i t i c a l s e c t i o n c s b u s y t h r e a d v e c t o r 进行线程安全的操作 l e a v e c r i t i c a l s e c t i o n 一c s t h r e a d v e c t o r f 7f 7f 77 程痔示姚代码7777 7f 77 7 4 6 本章小结 系统的实现还主要应用到网络技术 多线程 c o m 等相关技术 网络技术是本 系统除图像处理技术的第二大技术 系统除了具有控制功能以外 还要将系统的 应用和控制扩展到网络上 可以实现分布式的管理 因此 网络技术是系统主要 技术之一 这里主要涉及到网络通信的设计以及具体的网络程序设计 在网络的 应用方面 系统主要应用到t c p u d p 组播等网络技术 具体到程序的设计中 主要是s o c k e t 程序的编写 系统最终主要以软件的形式实现 因此 软件技术是系统实现的关键技术之 一 这主要有c o m 技术 多线程技术和软件工程技术等 数据的采集主要由采集 卡s d k 函数实现 对其的使用主要应用到c o m 技术和对动态连接库的调用 在视 频的处理和网络传输过程中 涉及到多个功能的同时进行 主要要通过多线程实 现 另外 分层实现和接口平台是本解决方案的一个亮点 这主要是从软件体系 结构上进行了设计 是基于系统软件框架的研究 3 4 硕上学位论文 网络视频监控系统的设计与实现 5 系统软件设计 5 1 系统构架 5 1 1 系统设计目标 系统开发的目的是实现交通 银行 金融 电力 小区等场所的视频和网络监 控 系统设计完成后 能很好服务于各场所的视频监控 协助安保人员作好安全 工作 系统在实现传统视频监控系统功能的前提下 还可以实现监控的自动录制 和控制 并可方便的允许授权用户通过网络实现查看和控制 系统分基本功能和扩展的功能两部分 第一部分实现传统视频监控系统的基本 功能 主要实现数据的采集和记录 视频的回放 图像参数设置 图像文字的叠 加 云台控制 远程查看 远程云台控制 视频文件下载等功能 第二部分的扩 展功能是在原有功能的基础上 加入动态检测 目标跟踪 消除干扰 用户权限 管理等模块 基本功能模块如图所示 图5 1 系统功能结构图 从整体结构上讲 系统主要可以分为前端数据采集模块 视频处理和服务器 数据保存和备份服务器 客户端访问软件 视频查看w e b 服务器 1 前端数据采集模块主要由摄像机 云台 采集卡等采集和传输线路组成 主要完成数据的采集 数据的硬件压缩 数据的传输 云台的移动等操作功能 这是监控系统的最前端 2 数据处理和服务器部分是本系统的功能核心 主要实现对采集数据的处 理 系统的控制 以及为客户端提供服务等 中央处理模块首先对采集的数据进 5 系统软件设计 硕上学位论文 行处理 从中提取有用的信息 一方面要从数据中提取动态检测信息 以确定是 否是有效的数据 是否应保存到存储服务器 是否要进行跟踪 跟踪矢量的计算 和指令的自动下达 是否要作相应的报警处理等 同时服务器端要实现对客户端 服务支持 根据客户端的验证信息提供相应的视频查看和控制功能 其主要由高 性能计算机和相应软件组成 3 数据存储服务器主要负责数据的保存和备份功能 负责将服务器处理的 数据进行保存和备份 4 客户端部分可以提供连接服务器 身份验证功能 并且可以根据用户的 类型提供不同的视频查看和控制功能 其主要是和服务器的交互及对流媒体的处 理显示 5 w e b 服务器将远程查看的功能扩展到更广的范围 只要有浏览器的地方 都可以实现对其的查看和控制 服务器使得处于网络上的任何计算机都可以进行 远程的查看和控制 5 1 2 系统分层结构设计 系统框架是系统整体的结构和基础 框架决定系统的各个模块的衔接和交互 确定了各个功能实现的层次关系 良好的结构使系统实现时有一个很清楚的结构 实现图 从而可以有条不紊的实现各个模块 保证系统各功能的良好实现 方便 各模块的相互交互和衔接 从而提高系统整体的运行效率 在框架的搭建过程中 主要要考虑各模块的通信和联系 以及各模块的相互联 系方式 尽可能的降低各模块间的偶合性 提高各模块功能的专一性 方便系统 后期的维护和修改 所以框架的搭建要力求能够实现功能模块的功能专一和很好 的模块衔接 基于以上考虑 本解决方案提出分层的概念 并且着重设计了可以实现平台开 发的系统接口层 首先在服务器端将系统的功能实现进行分层 每一层有具体分 工 层间尽可能降低偶合性 各层具体负责相应的专一功能口 总体来讲 本解 决方案中系统采用了三层软件体系结构 分应用层 业务功能层和算法实现及硬 件驱动层 应用层是与用户交互的g u i 界面 业务功能层实现所有的业务功能 算法实现及硬件驱动层包括数据处理算法的实现和硬件驱动函数 系统的结构如 下图所示 硕士学位论文网络视频监控系统的设计与实现 应趱程廖 u 妲务渤笈寓琨 l 弋夕 接 口 毒多之乡之多 多文多 说楚缝毽 渊 尹 i 蠢o o o o ol 微黼叫 髓臻络确区 函锻 l 瀚 l 5 2 系统分层实现 图5 2 系统分层结构图 5 2 1 算法逻辑和硬件驱动层设计 这是最底层 这一层主要是一些算法的实现和抽象性很强的一些功能函数封 装 这里主要包括视频处理函数 如动态检测 运动矢量计算 噪声去除 跟踪 的实现等 还包括云台控制函数 主要实现对云台的控制 数据库公用访问函数 用于访问数据库系统 网络通信函数 用以封装网络传输的功能 这些方法为上 一层的功能实现提供基本功能的函数实现 这一层主要是逻辑性很强的功能的实 现函数 这也是监控系统的核心部分和关键部分 直接影响系统的功能性实现 它的实现 主要是对采集卡相关函数的封装和处理 对视频处理算法的实现以及 其它硬件驱动函数的封装等 下面是用c 实现的项目设计 其中包含四个程序包 d a t a b a s e m a n a g e r m o v e t e s t n e t m a n a g e r p a n t ii t m a n a g e r v i e w m a n a g e r 分 别实现数据操作 动态检测和跟踪 网络服务 云台控制和视频采集管理 5 2 2 接口层设计 接口层是本解决方案的一个特色 通过接口层的设置 减弱功能实现和具体的 算法实现的偶合度 由于视频监控系统中所使用硬件的多样性 尤其是视频采集 卡和云台 种类繁多 提供的函数也不尽相同 因此 在视频监控系统领域 一 直没有一个标准和规范 也不可能形成统一的一个系统 每一个视频监控系统的 开发都是一个全身的开发过程 都需要重新进行功能封装 系统集成等 开发效 3 7 5 系统软件设计 硕士学位论文 率相对较低 本解决方案提出接口层 目的就是统一功能的实理 接口层定义底 层方法实现的统一功能抽象 这些功能的抽象是基于所有视频监控系统的共性的 不管底层的硬件采用什么型号 函数是怎样定义的 在底层统一封装成统一的接 口形式 这样在功能的实现上 就不必要关注底层硬件的选择了 可以专心于业 务的实现 相同的底层函数可以重复使用 因为有统一的功能封装 相同的功能 模块可以重复使用 即使硬件更换了 功能函数的封装和底层的联系是相当松散 的 基本不用作改变就可使用 因此 接口层可以很好的对系统代码在多个系统 中进行重用 同时也有利于系统的维护 当底层硬件发生变化时 只需要重新对 系统底层函数进行封装即可 其它层不需作任何改进 当系统业务功能发生变化 时 只要对功能层的相关方法进行重新的定义即可 同时 对于底层的视频处理方法 网络传输方法 数据库访问方法等也通过接 口层进行统一的定制 这样 不管网络传输方法如何实现 都会实现统一的网络 传输功能 不管数据库如何改变 数据库的处理方法如何改进 对上层都会提供 统一的访问方法 这样一方面也有利于系统的重用 可以将这些代码较完全的移 植到其它系统 也有利于系统的维护 当研究出更好的视频检测算法后 可以直 接修改算法的实现部分 而不影响其它模块 当网络传输有新的方法实现时 也 可以很容易的实现更换 总之 接口层的出现 有效的降低了功能实现和核心算法 硬件操作函数的偶 合性 有利于代码的重用和系统的维护 是本解决方案的主要特色之一 接口层 也可以理解为一条软总线 主要设计思想是为视频监控开发提供稳定的 通用的 统一的开发框架 能连接各种不同型号的视频设备 做到兼容强 扩展性强 接 口层建立了业务功能与具体视频监控设备进行通讯 从而完成业务操作的连接桥 梁 也将现有监控系统的各功能模块及其交互关系得以体现 5 2 3 业务功能层的设计 系统的业务功能主要有视频采集流程 云台控制方法 图像设置的步骤等 是 系统业务功能的实现 也是系统的一个重点 在底层实现了视频采集的基础方法 网络传输的基础方法 数据访问的基础方法 云台控制的基础方法 视频检测方 法 并且通过接口层实现了这些方法在外部调用的统一形式 因此 这一层功能 的实现 就不必要关注具体的硬件驱动方法 而是在对底层抽象方法调用的基础 上进行功能实现和业务实现 这一层主要设计功能实现和业务实现两个方面 从功能上讲 所有的监控系统 大同小异 包括视频采集 云台控制 视频调节 动态检测和自动跟踪等功能 其实现的方法就是按照相应的逻辑流程 通过调用底层的相应方法 进行合理的 组合来实现 这里的实现方法主要取决于功能实现的流程上 不同的功能在处理 3 8 硕上学位论文 网络视频监控系统的设计与实现 方法的组织上不尽相同 要根据功能的划分原则和业务需求作相应的设计 另一 个重要的方面就是业务的实现 业务的实现设计到具体监控应用企业对功能的需 求上 不同的企业可能需要不同的功能实现 也会根据企业具体的应用领域对系 统的业务功能提出不同的要求 这就要在对企业调研的基础上 详细了解系统需 求 在详细的需求分析后进行合理的业务设计 这一部分也是针对不同企业的监 控需求进行设计 是系统差异较大的地方 也是系统设计中主要要设计和变动的 地方 项目主要功能一方面实现主体功能性业务 实现应用层和核心算法层的连接 底层对监控卡提供的s d k 函数进行了c 封装或者对d i r e c t s h o w 提供的相应函数进 行了封装 对自己定义的核心处理算法进行了封装 在这些封装的基础上 实现 常用的功能性方法 这些方法主要有开始预览 停止预览 开始录制 停止录制 录制的自动调整 设置图像颜色 设置图像的对比度 服务器端监听和指令解析 客户端指令发送 云台控制等 5 2 4 应用层的设计 应用层是系统的功能表示层 也叫界面层 主要负责和用户的交互 对于视频 监控系统 一方面要根据用户的选择 将视频信号在界面上进行显示 另一方面 要采集用户的操作指令 所以说 这一层也可以认为是数据的输入和输出 这里 要根据用户的功能需求和对系统界面的美观需求进行合理的设计 一要实现用户 所有功能的数据展示和用户数据的输入 再者要利求界面的美观和系统操作的友 好性 方便用户的操作 适合用户的使用习惯 这一点 一方面要在界面的整体 布局上进行合理的搭配 使界面看起来格局清晰合理 另一方面要作适当的友好 化处理 比如对于重复性的输入数据要设置下拉列表供用户选择 在用户容易误 输入的地方加入相应的说明信息 在用户操作中给用户以 下一步 操作的建议 和提示等 应用层功能的实现主要是通过调用业务功能层的相应方法实现的 同时这一层 也有一部分操作性的代码 这主要集中在对于输入数据的处理和验证上 确保用 户输入数据的正确性 在系统的使用过程中 要对界面进行相应的改变 如将原 来的4 画面变为9 画面 这就需要在这一层的后台写相应的界面处理方法代码 在将下面两层写好以后 这一层的实现就显的比较容易了 这一层根据不同的具 体需要设计不同的功能模块 用户界面的设计采用w i n f o r m s 和a s p n e t 实现 由 于在第二层对主体功能模块作了很好的封装 这一层功能的实现显的很简单 只 需对下层作相应的调用即可 3 9 硕士学位论文 5 3 2 客户端设计 客户端系统是对系统进行远程访问的客户端软件 其主要功能是在远离视频中 央服务器的地方能实现对视频的查看和简单远程控制 远程查看 提供两种方案 一种是客户端软件 这个软件通过网络连接从服务器请求数据 服务器接到请求 后 对用户进行合法性验证后 返回客户端相应的数据 但对于客户端来讲 不 提供多路视频的同时查看 基于网络带宽的考虑 只提供单路视频的查看 远程 客户可以选择要查看的视频频道 服务器将相应的数据发送给客户端 如果客户 端需要同时查看多个视频频道信息时 客户端可以起动多个实例 每个实例实现 对一个视频信号的查看 同时合法的客户端也可以对摄像机进行简单的控制 主 要是对云台的控制 如控制云台的上 下 左 右移动 这些功能的实现主要是 基于服务器的网络服务的 客户端操作相应的视频时 通过向服务器发送相应的 控制指令 服务器在接到相应指令后 对指令进行解析 然后控制摄像机的移动 因此 客户端对系统的控制实质上是与服务器的通信 另一种实现远程查看的方法就是通过w e b 的形式 这种方式在中央服务器上建 立w e b 服务器 或是在中央服务器之外设专门w e b 服务器 这种方式的好处在于 远程的查看不再依赖于客户端软件 这就大大拓宽了系统的使用领域 只要有浏 览器的计算机并且具有合法身份的用户就可以查看信息并进行简单控制 但这种 方式实现起来的难度较大 对于对云台的控制来说 可以通过a s p n e t 的服务器 硕上学位论文 网络视频监控系统的设计与实现 代码直接实现 比用客户端的方式还要简单 但对于视频的查看就比较复杂了 因为网页是基于h t t p 协议的 这里采用一种伪实时的方法实现 就是在网页中播 放前一时刻的录像 这样就可以通过查看最近时刻录像的方式实现对视频的查看 但这种方式是有延时的 不能取消时延 只能尽可能的减少时延 5 4 本章小结 本章对系统的实现进行了详细的论述 在本解决方案中 提出了以算法逻辑和 硬件驱动 功能实现 应用系统三层为基本框架的三层实现结构 这也是本解决 方案的一个特色 三层结构的实现方式从根本上改变了传统视频监控系统的实现 方法 彻底打破了系统实现的不统一局面 三层结构的提出 从根本上将系统的 实现分为三个层次 最下层是对于监控硬件的驱动函数的封装 同时也是对动态 检测和跟踪等算法的实现 中间层是监控系统功能的实现 是基于对监控系统主 体功能的抽象实现的 最上层是系统的应用层开发 也是系统和用户的交互平台 除了进行数据的输入和输出以外 还实现简单的数据处理功能 系统接口平台的提出 力求使系统的底层实现和中间层功能实现尽可能的低偶 合性 这主要是为了解决视频监控硬件的多样性引起的系统重复开发问题 以其 实现系统的一条软总线 减少硬件改变或系统业务功能改变后对系统维护的工作 鼻 里0 总之 在本章 提出了系统实现的分层实现 突破了传统的系统实现方法 同 时提出了接口平台 使系统各层业务专一 低偶合性 增强了系统的可维护性和 系统的开发效率 本章也对系统各层的具体实现进行了实践性开发 一方面验证 了方案的可行性 同时也为解决方案的具体实现给出了示范性实现方法 4 l 6 网络视频监控系统的实现硕十学位沦文 6 网络视频监控系统的实现 本文是基于数据采集技术 图像处理技术 网络技术和软件技术的一套网络 视频监控系统解决方案 方案对中 小型企业的视频监控设计了有效的实施方案 在文研究之初 对涉及到的技术进行了深入的学习和研究 对其中的图像处理 网络传输等算法进行了改进和优化 以使更加适应本方案的实施 同时 本方案 的研究是在对多家视频监控使用企业进行了深入调研后研究设计的 方案的设计 力求功能全面 系统完备 能很好的应用于实际监控领域 使用本系统时 在服务器端和客户端浏览视频的界面如图所示 6十 一 五丑 一 m 4 1 7 二煳 劳动而十 e g g n 毒盱1 蔓么司十字譬口 a l p 宙靖卡口 4 n 望山f 口 4 樽 衙十字奠口 车譬所 口矾熙 像机1 g p 成麝争位帆2 帆房摹t 机3 一盈匦瓯 五 羞 0 凼 l 二 一 q 仍 j 0 尾擐 灯光一 曩囊o o 4 2 图6 1 服务器端的浏览界面 颂士学位论文 网络视频监控系统的设计与实现 o h l u j 一 一一 一 一墨雹r 卫r 1 翌墨 一一一 一 右击葚毽靠 匝幢矗 瘁舀 j j 一 i l 一 i 屯 籼 一 u f j 蒂酌量 丰薯口 毫矗礓么司 字 口 膏 卡口 二 n 卫山卡口 椿 赫十字薯口奉啪d j 车 矾矗量t 瓤1 也 札舅量尊机2 一 札虏 壤机3 蛆 j 一谭谴0 1 e 通道 t 矗遵n 口 c 遭谨叫 播 嘲 j 它d 1 3 1 1 0 5 口 一 e 蛐4 1 0 6 t 一矗瞳咿 t 且啦呻 用霄露 c 曲 f 锄i 1 1 0 eu 1 1 j i l l l 虚递1 2 g 砌1 1 1 3 掣 e 曲 1 5 b 衄1 6 一 一 图6 2 服务器端的系统操作界面 图6 3远程客户端的登录界面 4 3 触 o 圄訇晒 精锄 髓裹e0 0 国 回 一一一 一一 詹再 鹰巩1 膏和聃事件 壮1 口自雩 日a 1 p 1 1 图6 4 远程客户端的监控实时浏览界面 髓 o 圈 自为 赫 懒e0 0 园 回 图6 5 远程客户端的监控 口j 放界面 硕士学位论文 网络视频监控系统的设计与实现 0 髓 o 固 自给 赫 p ip 二困 同 事f 舻哥杌 冉磊威船手拉f 腔 夤国 可t p p u 柚宅肇 i n t r n t 图6 6 远程客户端的管理界面 本文的特色就在于它是一个中小企业的通用解决方案 方案给出了一个通用 的解决办法和通用的系统实现方法 各部分的实现充分考虑了现有企业的特点和 需求情况 进行了合理的优化和配置 本文的第二个特色就是分层结构和接口平台的设计 这毛要是基于解决视频 监控系统功能相似 但硬件型号繁多 不同企业业务逻辑需求差异的特点 本解 决方案将系统分三层实现 三层各施其职 分工负责 底层负责核心算法的实现 和硬件驱动 中间层是功能模块的实现和业务逻辑的实现 最上层是应用实现 是基于中间层的功能方法模块开发的应用系统 这有效的提高了系统的町维护性 和系统的可重用性 本文的另一个特色就是对监控系统中使用到的图像处理技术进行了研究和改 进 使系统能够实现自动检测和跟踪 图像处理算法涉及动态检测 噪点去除 消除光照干扰 消除天气干扰 去除阴影 目标运动矢量计算等 这使系统能够 实现较精确的动态检测和有效的跟踪功能 从而提高系统检测的有效性 减少监 控人力投入 本文的研究还涉及到网络通信 数据库 多线程 软件体系结构等多方面的 4 5 6 网络视频监控系统的实现 硕上学位论文 技术 研究过程中 作者对其进行了深入的研究 并着重对各技术在监控系统中 的应用作了详细的研究和应用实践 由于时间和技术的限制 有些功能还未能完全实现 在后续的研究中 对以 下几个方面做进一步的研究和完善 1 平台的进一步优化 当前的平台是基于三层结构的一个设计 其在不同的层中有不同的功能角色 作者认为 三层的划分还可以进一步细化 以更加抽象的形式形成中间层 实现 更加全面和完整的软总线 这样系统从框架和结构上会得到进一步完善 在后续 研究中作者会进一步深入研究 提出更全面完善的平台和解决方案 2 i p v 6 下的视频监控系统实现 目前只是在i p v 4 下实现了网络化 以后将在i p v 6 上实现 随着安全防范事 业的发展 i p v 6 上的视频监控系统具有广阔的发展前景 它能够实现海量音视频 数据的传输和存储 并能够在远程客户端进行遥控和播放 3 扩展功能的很好支持 本解决方案中提出了其外围的扩展功能 但在解决方案中并没有提出统一的 扩展接口 随着视频监控的发展 化发展同时 其外围的扩展功能也会进一步的 加强 相信这是将来发展的一个重要方向 因此 作者在下一版本的解决方案中 会提出针对于外围功能的一些接口 以更加方便的提供外围功能的实现 前端一体化 视频数字化 监控网络化 系统控制化是视频监控系统公认的 发展方向 数字化是网络化的前提 网络化又是系统集成化的基础 所以 视频 监控发展的最大两个特点就是数字化和网络化 同时 随着视频监控系统的发展 视频监控的实现方法上会得到很好的发展 模式化的开发方案和平台是一个很好 的发展趋势 平台的更新和解决方案的提出会很大程度上提高系统的开发效率 也会很好的促进系统应用领域的扩展 硕士学位论文网络视频监控系统的设计与实现 致谢 在我的论文工作即将完成 三年的研究生活即将结束的时候 我谨向在这段 时间给予我帮助和指导的老师和同学们表示最诚挚的谢意 首先 我要特别感谢我的导师皮德富教授 皮老师言传身教 以其严谨求实 的治学态度 扎实深厚的理论基础 诲人不倦的教学精神 给我们作出了一个科 研工作者的表率 皮老师具有扎实深厚的理论基础 科研功力深厚 他对问题的 看法深入 使我开阔了视野 受益无穷 皮老师的严谨的工作作风也给我留下了 深刻的印象 我还要深深感谢我的校内导师邵理堂老师 在繁忙的工作中抽出时间指导我 的论文 对我论文的设计提出了很多精辟的见解 使我受益匪浅 同时为我提供 实验条件 使我的论文能够顺利的完成 可以这么说 没有皮老师 邵老师的指导和帮助 我的论文是无法完成的 另外还要感谢我的同事薛清 王素芹 曹小琴 张金学 他们给了我热情的 帮助 与他们的切磋交流很大地拓宽了我的思路和视野 他们的帮助使我能顺利完 成论文 其他老师和同学也给了我一些直接和间接的帮助 从他们身上我也学到芝 了很多东西 在此一并表示感谢 纸短情长 难以完全表达我的感谢 在今后的学习和工作中 我将继续奋斗 努力向前 4 7 致谢 硕士论文 参考文献 1 吕优 张九根 安防视频监控系统设计研究 j 低压电器 2 0 0 9 1 4 3 6 3 9 2 余腊生 刘勇 基于网络的视频监控系统的设计与实现 j 计算机工程与设计 2 0 0 9 16 3 8 7 9 3 8 8 2 3 龚强 莫国庆 数字硬盘录像系统录像功能模块的设计与实现 j 现代电子技术 2 0 0 7 3 0 9 l7 5 i7 8 4 马喜廷 盂荣芳 数字硬盘录像机 j 电视技术 2 0 0 3 6 8 7 8 8 5 侯俊华 胡金演 苏博仕 陈锋 基于s o p c 的嵌入式d v r 监控系统设计 电视 技术 2 0 0 5 1 2 7 6 7 9 6 崔自峰 贾智平 基于e w s 的分布式监控系统的研究与开发 j 计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论