一种基于图像数据的封装方法及系统技术方案

技术编号:12772208 阅读:68 留言:0更新日期:2016-01-23 13:57
本发明专利技术公开了本发明专利技术一种基于图像数据的封装方法及系统,方法包括:将需要封装的图像数据存储于缓存中;根据缓存中的当前帧图像数据总量,计算得出所需封装的图像数据长度;根据计算得到的所需封装的图像数据长度,对图像数据进行打包并封装。系统包括存储单元、长度计算单元和封装单元。本发明专利技术在封装时考虑到以太网帧格式和JPEG图像帧数据总量不确定的特点,通过动态计算需打包的图像数据的长度,从而能有效避免需填充无效数据的情况,大大减少数据处理的时间,减少网络带宽的占用,而且本发明专利技术实现简单,需求设备较少,能有效缩小开发周期,节约成本。本发明专利技术可广泛应用于数据封装领域中。

【技术实现步骤摘要】

本专利技术涉及数据封装
,尤其涉及一种基于图像数据的封装方法及系统
技术介绍
JPEG是国际标准化组织(ISO)领导下制定的静态图像的压缩编码标准,在图像数据量大、人们对图像质量要求越来越高的背景下,JPEG作为一种低复杂度、高压缩比的图像压缩标准在数据量极大的多媒体以及带宽宝贵的网络传输等领域得到了广泛的应用。而以太网作为一种数据传输标准,其实现简单、价格低廉,且能实现图像数据的高速、稳定、实时的传输,是目前应用最广泛的网络技术。在工业现场,由于各种极端的环境和具体应用需求,通常需要对工业设备或现场进行实时的图像采集。目前,国内应用于视频监控领域的图像采集方案多采用CCD图像传感器+视频解码器(如SAA7113H) +FPGA/CPLD+DSP实现。但是这种的现有方案一般开发周期较长,并且在现有的通用图像采集处理系统中,需要用帧缓存模块对图像数据整帧或多帧进行存储,存储设备一般采用SDRAM、SRAM等,这种大容量的高速存储器件成本较高。
技术实现思路
为了解决上述技术问题,本专利技术的目的是提供一种能缩小开发周期,且节约成本的一种基于图像数据的封装方法及系统。本专利技术所采用的技术方案是: 一种基于图像数据的封装方法,包括以下步骤: A、将需要封装的图像数据存储于缓存中; B、根据缓存中的当前帧图像数据总量,计算得出所需封装的图像数据长度; C、根据计算得到的所需封装的图像数据长度,对图像数据进行打包并封装。作为所述的一种基于图像数据的封装方法的进一步改进,设K表示允许的最小包文长度,并取允许的最大包文长度为2K,C表示包文中添加的包头与包尾字节数之和,Μ表示缓存中当前帧图像数据总量,Ν表示所需封装的图像数据长度; 则所述步骤Β包括: Β1、若Μ ^ 3K-2C,则计算对应的所需封装的图像数据长度N=2K-C ; B2、若2K-C < Μ ^ 3K-2C且Μ为奇数,则计算对应的所需封装的图像数据长度Ν= (M+l)/2 ; Β3、若2K-C < Μ < 3K-2C且Μ为偶数,则计算对应的所需封装的图像数据长度Ν=Μ/2 ; Β4、若K-C < Μ < 2K-C,则计算对应的所需封装的图像数据长度Ν=Μ ; B5、g Μ < K-C,则计算对应的所需封装的图像数据长度N=0。作为所述的一种基于图像数据的封装方法的进一步改进,所述步骤C包括: C1、根据计算得到的所需封装的图像数据长度,从缓冲中取出对应长度的图像数据进行打包; C2、根据取出的图像数据,对其配置对应的包头和包尾; C3、根据包头-图像数据-包尾的格式,对打包后的图像数据进行封装。作为所述的一种基于图像数据的封装方法的进一步改进,所述包头包括有效长度和包文类型。作为所述的一种基于图像数据的封装方法的进一步改进,所述包尾为校验码。本专利技术所采用的另一技术方案是: 一种基于图像数据的封装系统,包括: 存储单元,用于将需要封装的图像数据存储于缓存中; 长度计算单元,用于根据缓存中的当前帧图像数据总量,计算得出所需封装的图像数据长度; 封装单元,用于根据计算得到的所需封装的图像数据长度,对图像数据进行打包并封装。作为所述的一种基于图像数据的封装系统的进一步改进,设K表示允许的最小包文长度,并取允许的最大包文长度为2K,C表示包文中添加的包头与包尾字节数之和,Μ表示缓存中当前帧图像数据总量,Ν表示所需封装的图像数据长度; 则所述长度计算单元包括: 第一判断计算单元,用于若Μ多3K-2C,则计算对应的所需封装的图像数据长度N=2K-C ; 第二判断计算单元,用于若2K-C < Μ < 3K-2C且Μ为奇数,则计算对应的所需封装的图像数据长度Ν=(Μ+1)/2; 第三判断计算单元,用于若2K-C < Μ < 3K-2C且Μ为偶数,则计算对应的所需封装的图像数据长度Ν=Μ/2 ; 第四判断计算单元,用于若K-C< MS 2K-C,则计算对应的所需封装的图像数据长度N=M ; 第五判断计算单元,用于若Μ < K-C,则计算对应的所需封装的图像数据长度Ν=0。作为所述的一种基于图像数据的封装系统的进一步改进,所述封装单元包括: 打包单元,用于根据计算得到的所需封装的图像数据长度,从缓冲中取出对应长度的图像数据进行打包; 配置单元,用于根据取出的图像数据,对其配置对应的包头和包尾; 封装执行单元,用于根据包头-图像数据-包尾的格式,对打包后的图像数据进行封装。本专利技术的有益效果是: 本专利技术一种基于图像数据的封装方法及系统在封装时考虑到以太网帧格式和JPEG图像帧数据总量不确定的特点,通过动态计算需打包的图像数据的长度,从而能有效避免需填充无效数据的情况,大大减少数据处理的时间,减少网络带宽的占用,而且本专利技术实现简单,需求设备较少,能有效缩小开发周期,节约成本。【附图说明】下面结合附图对本专利技术的【具体实施方式】作进一步说明: 图1是本专利技术一种基于图像数据的封装方法的步骤流程图; 图2是本专利技术一种基于图像数据的封装方法步骤C的步骤流程图; 图3是本专利技术一种基于图像数据的封装系统的模块方框图; 图4是本专利技术数据封装包的包文格式示意图; 图5是本专利技术实现过程的系统功能框图; 图6是本专利技术实现过程的FPGA功能模块实现框图; 图7是本专利技术实现过程中封装方法的FPGA实现框图。【具体实施方式】参考图1,本专利技术一种基于图像数据的封装方法,包括以下步骤: A、将需要封装的图像数据存储于缓存中; B、根据缓存中的当前帧图像数据总量,计算得出所需封装的图像数据长度; C、根据计算得到的所需封装的图像数据长度,对图像数据进行打包并封装。进一步作为优选的实施方式,设K表示允许的最小包文长度,并取允许的最大包文长度为2K,C表示包文中添加的包头与包尾字节数之和,Μ表示缓存中当前帧图像数据总量,Ν表示所需封装的图像数据长度; 则所述步骤Β包括: Β1、若Μ ^ 3K-2C,则计算对应的所需封装的图像数据长度N=2K-C ; B2、若2K-C < Μ ^ 3K-2C且Μ为奇数,则计算对应的所需封装的图像数据长度Ν= (M+l)/2 ; Β3、若2K-C < Μ < 3K-2C且Μ为偶数,则计算对应的所需封装的图像数据长度Ν=Μ/2 ; Β4、若K-C < Μ < 2K-C,则计算对应的所需封装的图像数据长度Ν=Μ ; B5、g Μ < K-C,则计算对应的所需封装的图像数据长度N=0。参考图2,进一步作为优选的实施方式,所述步骤C包括: C1、根据计算得到的所需封装的图像数据长度,从缓冲中取出对应长度的图像数据进行打包; C2、根据取出的图像数据,对其配置对应的包头和包尾; C3、根据包头-图像数据-包尾的格式,对打包后的图像数据进行封装。参考图4,进一步作为优选的实施方式,所述包头包括有效长度和包文类型。所述包尾为校验码。其中,所述有效长度指示数据封装包的有效数据字节数,即为包文类型、图像数据和校验码的字节数总和,在数据接收端,先接收此字节,然后根据此字节的指示确定接收数据本文档来自技高网...

【技术保护点】
一种基于图像数据的封装方法,其特征在于,包括以下步骤:A、将需要封装的图像数据存储于缓存中;B、根据缓存中的当前帧图像数据总量,计算得出所需封装的图像数据长度;C、根据计算得到的所需封装的图像数据长度,对图像数据进行打包并封装。

【技术特征摘要】

【专利技术属性】
技术研发人员:王小航位庆海
申请(专利权)人:深圳先进技术研究院广州中国科学院先进技术研究所华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1