[发明专利]一种处理TCP视频数据流的方法无效
申请号: | 201210094893.1 | 申请日: | 2012-03-31 |
公开(公告)号: | CN102630007A | 公开(公告)日: | 2012-08-08 |
发明(设计)人: | 丁又华;陆德波;刘媛;胡甜;梅雪芬;李长春 | 申请(专利权)人: | 中船重工(武汉)凌久高科有限公司 |
主分类号: | H04N7/24 | 分类号: | H04N7/24;H04N7/26;H04N7/18 |
代理公司: | 武汉金堂专利事务所 42212 | 代理人: | 胡清堂 |
地址: | 430074 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 tcp 视频 数据流 方法 | ||
技术领域
本发明涉及数字视频监控领域,具体地说是一种处理TCP视频数据流的方法。
背景技术
进入第三代视频监控系统以后,数字视频监控的应用越来广泛,随着监控系统中监控点位的数量逐渐扩大,网络监控前端的类型也越来越多,由于视频编码流的传输协议并没有统一的规范,所以大部分的网络监控前端,对于上位机的视频数据请求,都使用TCP/IP协议直接传输编码后的视频帧序列,这些视频帧序列是由监控前端使用图像编码算法(如MJPEG、MPEG4和H.264等)将视频原始数据编码压缩后生成,对于每一个视频帧,遵循一定的编码格式,并提供相对应的起始码供上位机对视频帧进行识别和解码。
发明内容
本发明的目的是提供一种处理TCP视频数据流的方法,能够规避在视频数据流接收处理过程中的海量数据拷贝,同时提供读写并行访问机制,极大的提高对TCP视频数据流的处理效率。
本发明一种处理TCP视频数据流的方法是:创建一段连续缓冲区和一个环形的处理节点队列,连续缓冲区,用于存放TCP视频流数据,环形的处理节点队列,用于动态索引连续缓冲区中的视频帧,并实现读写访问互斥,数据接收模块在队列中获取可写入节点,根据收到数据的长度,更新其后若干个节点的有效性,通过节点写入地址将TCP视频数据流写入到连续缓冲区中,然后对写入数据进行识别,完成后更新该节点的互斥信息和下一个节点的索引信息,数据读取模块在队列中获取可读取节点,更新该节点的互斥信息后,通过该节点的索引完成对视频缓冲中视频数据的读取。
具体内容包括如下:
1)数据接收区设置:包括一段连续缓冲区和一个环形的处理节点队列,连续缓冲区为系统初始时申请的大容量连续内存空间,用于顺序存放从网络驱动层拷贝出来的TCP视频数据流。处理节点队列中每一个节点包括以下属性:节点序号、读写状态、数据指针、写入偏移、帧类型和帧长度。其中数据指针指向连续缓冲区中的某一视频帧起始位置,写入偏移的基址为该起始位置。连续缓冲区的大小必须大于队列节点数量*码率/帧率。
2)数据接收:从处理节点队列中获取可写入节点,默认从序号为0的节点开始。如果节点状态为“读取中”,则将该节点状态修改为“已跨越”,尝试下一个节点直至成功。将节点状态置为“写入中”,根据接收到的TCP视频数据长度,覆盖上一轮的时间最早的处理节点,将TCP视频流数据拷贝到节点数据指针指向地址,对拷贝的数据进行识别。
3)数据识别:以识别码为基准字对刚写入的数据执行查询,识别码长度为N,则查询起始地址应为写入偏移-N-1。查询成功后,设置本节点的读写状态为“已准备”,写入偏移清零,更新帧类型和帧长度,如果识别出来的帧是基准帧,记录该节点为最前基准节点。获取下一个节点,将其数据指针值为查询成功的识别码起始处,从该处向后偏移N个字节开始再次执行数据识别。
4)数据读取:从处理节点队列中获取可读取节点,默认从序号为0的节点开始。如果节点读写状态为“写入中”,则读取模块挂起一段时间后重新尝试。设置该节点的读写状态为“读取中”。从该节点的数据指针指向的位置开始读取数据,读取长度为帧长度。读取完成后,判断读写状态,如果为“被跨越”,将本节点状态设置为“已准备”,获取最前基准节点作为下一个节点;否则,将该节点状态设置为“已准备”,根据序列号获取下一个节点。
本发明一种处理TCP视频数据流的方法的优点是:
1) TCP是一种面向连接的、基于字节流的通讯协议,将字节流的接收和识别串行处理,有效减少了数据的拷贝次数。
2) 使用动态的处理节点队列,可根据实际运行环境,调整队列中的节点数量,在内存中缓存数秒到数十秒的视频流,以实现特定的应用,比如:报警提前录像。
3) 使用连续缓冲区和环形的处理节点队列,相比申请固定大小的环形缓冲节点队列,大大减少了对内存大小的要求。
4) 使用标志位方式实现了多个数据读取模块与数据接收处理模块的异步访问,相比使用操作系统的互斥资源实现异步读写,大大提升了处理的效率。
5) 对基准帧进行了标示,对于新加入的读取模块,读取到的第一帧为基准帧,不需要再做容错处理。
附图说明
图1是数据接收区示意图;
图2是视频数据接收处理的流程图;
图3是视频数据读取的流程图。
具体实施方式
以下结合图对本发明进行进一步的详细说明。
根据图1-图3所示本发明一种处理TCP视频数据流的方法,其步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中船重工(武汉)凌久高科有限公司,未经中船重工(武汉)凌久高科有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210094893.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:APOB的RNAi调节及其用途
- 下一篇:一种辅助嵌入式系统接口功能验证方法