一种基于FPGA的针对3D测量中图像存储的压缩方法与流程

文档序号:17796485发布日期:2019-05-31 20:48阅读:326来源:国知局
一种基于FPGA的针对3D测量中图像存储的压缩方法与流程

本发明涉及测量图像存储的技术领域,具体为一种基于fpga的针对3d测量中图像存储的压缩方法。



背景技术:

对于3d传感器所采集的图像,其往往是在一个相对稳定的背景噪声中的一条明亮激光线,由于在3d激光传感器中需要在接受全部图像信息后整体处理,而现有fpga内部的存储资源不足以保存整张图片,需要外部存储器协助存储,外部存储一般会选用ddr芯片。

由于图像的处理经由存储~提取两个步骤,而ddr芯片的读写实质上是半双工行为,读写共享带宽,故如果不希望ddr芯片带宽成为系统的执行速率瓶颈,其带宽需要为图像数据的两倍,而目前cmos芯片带宽速率动辄数十gbps,这样高的速率是ddr芯片无法承受的。为了提升ddr带宽,一般会采用使用更高规格ddr芯片,堆叠ddr芯片以扩展带宽的方式,但这些方法往往需要更高的造价,以及更高的硬件设计要求,包括信号线数量扩展、电路板面积增大、功率提高、发热变大等的硬件设计问题。



技术实现要素:

针对上述问题,本发明提供了一种基于fpga的针对3d测量中图像存储的压缩方法,其能消除无效数据对带宽的浪费,优化提升ddr的有效带宽,确保图像存储的成本低。

一种基于fpga的针对3d测量中图像存储的压缩方法,其特征在于:其存储图像时预先剔除无效的背景噪声,不产生实际的ddr存储行为,减少无效的ddr带宽使用量,进而在存储过程中节约大量的ddr带宽。

其进一步特征在于:

其具体包括阈值过滤部分、ddr存储部分、ddr写入映射列表、ddr读取部分;其中阈值过滤部分将将原本图像数据中的噪音以一个定值替换,将无效的信息归一化;ddr存储部分包括有实写、虚写两部;ddr写入映射列表构建一个记录ddr写入行为的记录表;ddr读取部分在每取一个像素之前,需要首先读取ddr写入映射表中对应的地址,获得该像素之前所执行的写入行为,如果此前执行的为实写,则真实地发起ddr读操作,以获取该像素的数值,如果此前执行的为虚写,则根据之前配置的,返回一个配置的定值。

其更进一步特征在于:

ddr存储部分的具体操作如下:在ddr内部划定一个固定的区域范围用以存储图像数据,图像数据中每一个像素都对应于ddr中一个固定的地址位置,在每个像素被存储前,检查其数值,如果与阈值过滤后的定值不等,则将此像素数据存入指定的ddr地址,为实写状态;如果与阈值过滤后的定值相等,则放弃此像素的写入,为虚写状态;

ddr写入映射表用于构建一个记录ddr写入行为的记录表,所述ddr写入映射表中每一个地址对应于一个像素的写入行为,每当写入一个像素时,向表中写入此次操作的行为,写入操作包括实写和虚写;

ddr读取部分的过程如下:当一张图像被完全写入ddr结束后,此张图像处于一个可被读取的状态,当进行读取时,每取一个像素之前,需要首先读取ddr写入映射表中对应的地址,获得该像素之前所执行的写入行为,如果此前执行的为实写,则真实地发起ddr读操作,以获取该像素的数值,如果此前执行的为虚写,则根据之前配置的,返回一个配置的定值;

ddr连接有ddr控制器,ddr控制器分别连接有输入存入模块、数据提取模块,数据经过数据存入模块后连接ddr控制器然后被写入ddr,同时数据经过数据存入模块后将记录ddr写入行为的记录表生成ddr写入映射表,当经行ddr读取部分时,数据提取模块根据ddr写入映射表获得每个像素对应的地址,如果是虚写则根据配置返回定值,如果是实写则通过ddr控制器读取地址所在的ddr内部的数值,其读取和存储均节约带宽。

采用上述技术方案后,绝大部分的背景噪声并不会产生实际的ddr操作行为,故可以节约大量的ddr带宽,带来的瑕疵的背景噪声的信息会被消除,针对于3d激光传感器的应用,这些损失无需关注,因而具有极大的应用价值;其能消除无效数据对带宽的浪费,优化提升ddr的有效带宽,确保图像存储的成本低。

附图说明

图1为本发明的ddr存储和写入的模块连接示意框图。

具体实施方式

一种基于fpga的针对3d测量中图像存储的压缩方法:其存储图像时预先剔除无效的背景噪声,不产生实际的ddr存储行为,减少无效的ddr带宽使用量,进而在存储过程中节约大量的ddr带宽。

其具体包括阈值过滤部分、ddr存储部分、ddr写入映射列表、ddr读取部分;其中阈值过滤部分将将原本图像数据中的噪音以一个定值替换,将无效的信息归一化;ddr存储部分包括有实写、虚写两部;ddr写入映射列表构建一个记录ddr写入行为的记录表;ddr读取部分在每取一个像素之前,需要首先读取ddr写入映射表中对应的地址,获得该像素之前所执行的写入行为,如果此前执行的为实写,则真实地发起ddr读操作,以获取该像素的数值,如果此前执行的为虚写,则根据之前配置的,返回一个配置的定值。

ddr存储部分的具体操作如下:在ddr内部划定一个固定的区域范围用以存储图像数据,图像数据中每一个像素都对应于ddr中一个固定的地址位置,在每个像素被存储前,检查其数值,如果与阈值过滤后的定值不等,则将此像素数据存入指定的ddr地址,为实写状态;如果与阈值过滤后的定值相等,则放弃此像素的写入,为虚写状态;

ddr写入映射表用于构建一个记录ddr写入行为的记录表,所述ddr写入映射表中每一个地址对应于一个像素的写入行为,每当写入一个像素时,向表中写入此次操作的行为,写入操作包括实写和虚写;

ddr读取部分的过程如下:当一张图像被完全写入ddr结束后,此张图像处于一个可被读取的状态,当进行读取时,每取一个像素之前,需要首先读取ddr写入映射表中对应的地址,获得该像素之前所执行的写入行为,如果此前执行的为实写,则真实地发起ddr读操作,以获取该像素的数值,如果此前执行的为虚写,则根据之前配置的,返回一个配置的定值;

见图1:ddr连接有ddr控制器,ddr控制器分别连接有输入存入模块、数据提取模块,数据经过数据存入模块后连接ddr控制器然后被写入ddr,同时数据经过数据存入模块后将记录ddr写入行为的记录表生成ddr写入映射表,当经行ddr读取部分时,数据提取模块根据ddr写入映射表获得每个像素对应的地址,如果是虚写则根据配置返回定值,如果是实写则通过ddr控制器调用地址所在的ddr内部的阈值,其读取和存储均节约带宽。

其工作原理如下,绝大部分的背景噪声数据以一个定值替换,将无效的信息归一化,并将该部分阈值过滤,故噪声数据并不会产生实际的ddr操作行为,可以节约大量的ddr带宽,带来的瑕疵的背景噪声的信息会被消除,针对于3d激光传感器的应用,这些损失无需关注,因而具有极大的应用价值;其能消除无效数据对带宽的浪费,优化提升ddr的有效带宽,确保图像存储的成本低;且ddr存储时通过实写和虚写的结合,使得像素过滤后所对应ddr地址所对应的阈值相等时不发生实际写入过程,不占用ddr带宽,通过ddr写入映射表,在读取时同样节约ddr带宽。

由于3d激光传感器在存储图像时,大量带宽被用于无效的噪声存储,造成了极大的带宽浪费,致使ddr的带宽成为了传感器的效率瓶颈。本专利发明的内容,就是用来尽可能消除无效数据对带宽的浪费,优化提升ddr的有效带宽。

以上对本发明的具体实施例进行了详细说明,但内容仅为本发明创造的较佳实施例,不能被认为用于限定本发明创造的实施范围。凡依本发明创造申请范围所作的均等变化与改进等,均应仍归属于本专利涵盖范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1