一种基于FPGA的摄像机海量图像压缩方法技术

技术编号:16879034 阅读:38 留言:0更新日期:2017-12-23 15:43
本发明专利技术公开了一种基于FPGA的摄像机海量图像压缩方法。为解决现有图像压缩方法难以实现高分辨率、高帧率海量图像压缩问题,本发明专利技术采用FPGA对摄像机图像采集过程中像素执行选择性丢弃操作,可实现与像素时钟同步的海量图像数据实时压缩。本发明专利技术方法可用于工业相机、高速相机海量图像快速压缩。

A method of mass image compression based on FPGA camera

The invention discloses a method of mass image compression based on FPGA camera. In order to solve the existing image compression method to realize mass image compression with high resolution and high frame rate, the invention adopts FPGA to process image acquisition cameras in pixel selective discarding operation, can realize mass image data synchronization and real-time compression of pixel clock. The method of the invention can be used for rapid compression of mass images of industrial cameras and high-speed cameras.

【技术实现步骤摘要】
一种基于FPGA的摄像机海量图像压缩方法
本专利技术主要涉及数字成像
,尤其是高速成像
,特指一种基于FPGA的摄像机海量图像压缩方法。
技术介绍
视觉成像技术被广泛应用军事、工业、民用、消费等诸多领域。随着数字成像技术的快速发展,图像传感器成像分辨率越来越大,图像帧率越来越高,在成像过程中产生海量图像信号,给图像采集和存储带来巨大压力。图像数据是高度冗余的,这决定了其具有可压缩性。因此,通过图像压缩,可以在保证一定信息量前提下,大幅降低图像数据量,以利于图像存储与传输。目前,在消费电子领域,多采用MPEG、H.264、H.265等压缩格式对成像图像进行压缩。在工业视觉领域,特别是高速成像
,上述图像压缩方法很难满足摄像机海量图像实时压缩任务需求。
技术实现思路
本专利技术要解决的技术问题在于:现有图像压缩方法,存在计算复杂度高,难以满足摄像机海量图像实时压缩需求。为解决上述问题,本专利技术公开一种基于FPGA的摄像机海量图像压缩方法,其特征是:其特征在于:FPGA(1)与摄像机的图像传感器(2)直接连接,图像传感器(2)输出场同步信号V、行同步信号H、像素时钟CLK、像素数据D;FPGA(1)与存储器(3)连接,存储器(3)中存有图像压缩标记矩阵F,F的维数为w*h,其中w是采集图像宽度、h为采集图像高度,w、h的取值范围为1~100000,F中元素取值为0或1;FPGA(1)以像素时钟CLK作为图像压缩驱动时钟,根据场同步信号V、行同步信号H,对输入像素数量计数,并由此计算当前像素P的图像坐标(i,j),i的取值范围为0~w-1,j的取值范围为0~h-1;FPGA(1)读取存储器(3)中图像压缩标记矩阵F中第(i,j)个元素:F(i,j),当F(i,j)=0时,不采样当前像素P,当F(i,j)=1时,采样当前像素P,其中F中元素的起始坐标为(0,0);当完成一行图像压缩后,把当前行压缩图像存入存储器(3)中;依次完成h行图像像素压缩,得到压缩图像;所述存储器(3)包括FLASH、DDR、SD存储芯片。优选地,图像压缩标记矩阵F中元素F(i,j)取值是随机的。优选地,图像压缩标记矩阵F中元素F(i,j)取值满足二项分布:F(i,j)=b(r)(1)其中,b是二项分布函数,r是二项分布函数输出值等于1的概率,r取值范围为0~1;图像压缩率与二项分布b()的输入参数r相等,通过调整r调整图像压缩率。为保证每一行压缩图像中像素数量相等,使图像压缩标记矩阵F中所有行向量F(i,:)内元素之和S(i)相等,其中,F(i,:)是F第i行中所有元素构成的向量,i的取值范围为0~h-1。当二项分布生成的图像压缩标记矩阵F中h个S(i)不相等时,取h个S(i)的均值M,并对M取整数得到M';手动修改图像压缩标记矩阵F中行向量F(i,:)内元素,使F中所有S(i)=M';在修改过程中,修改的元素均匀散布于行向量F(i,:)中。为提升FPGA图像压缩效率,在FPGA上设置2个双口BlockRAM缓存:BufferA、BufferB,其中BufferA用于缓存图像压缩标记矩阵F中一行元素:F(i,:),BufferB用于缓存采集图像压缩后的一行像素;BufferA的尺寸为:wbits;BufferB的尺寸为m*w*dbits,其中d是摄像机成像像素位宽,取值范围为1~100,m是图像压缩标记矩阵F中h个S(i)的最大值;BufferA的第一个接口与存储器(3)连接,用于读取图像压缩标记矩阵F中一行元素F(i,:),BufferA的第二个接口用于同步读取当前像素是否被丢弃的标记值f;BufferB的第一个接口用于存储压缩后图像,BufferB的第二个接口与存储器(3)连接,用于存储压缩的一行像素。本专利技术FPGA图像压缩工作过程是:像素时钟CLK驱动图像压缩过程,设置图像行计数器Cr、设置图像列像素计数器Cc、BufferB的第一接口地址计算器Cd;所述计算器Cr、Cc、Cd为寄存器变量,对它们的更新在下一个时钟周期才生效;当检测到场同步信号V无效时,从存储器(3)中读取图像压缩标记矩阵F中第0行元素F(0,:),经BufferA的第一接口存入BufferA中;当检测到场同步信号V的下降沿时,使Cr=0、Cc=0,Cd=0;当检测到行同步信号H的下降沿时,使Cc=0、Cd=0、累加Cr;当检测到行同步信号H有效时,累加Cc,从BufferA的第二接口读取BufferA中第Cc个bit;当读出的标记值f(Cc)=1时,把当前像素经BufferB的第一接口存入BufferB中Cd位置处、并累加Cd;当读出的标记值f(Cc)=0时,不存储、不累加Cd;当检测到行同步信号H的下降沿时,从存储器(3)中读取图像压缩标记矩阵F中第Cr行元素F(Cr,:)到BufferA,并且将BufferB中存储的一行压缩图像存入存储器(3)中。本专利技术有益效果是:与现有技术在图像频域(比如JPEG、H.264、H.265)进行图像压缩的算法原理是不同的,本专利技术方法直接在图像采集过程中,直接执行像素丢弃或保留操作,实现图像压缩。直接对像素进行丢弃操作实现压缩的优点是:通过FPGA等硬件可以实现与像素时钟同步压缩,处理时间仅为1个像素时钟,与现有基于图像块的频域图像压缩方法相比,复杂度更低。这种单像素时钟的图像压缩方法所带来的好处是:成本低、功耗低,只要成像器件能够成像,即可实现任意分辨率、任意帧率的图像压缩。因此,本专利技术方法,不仅可以用于工业摄像机,还可以用于高速摄像机海量图像压缩。附图说明图1本专利技术图像压缩工作原理其中,图1(a)是输入图像,图1(b)是图像压缩标记矩阵F,图1(c)是像素丢弃结果,图1(d)是压缩图像,图1(e)是原始像素,图1(f)是丢弃像素;图2压缩图像重建原理其中,图2(a)是压缩图像,图2(b)是图像压缩标记矩阵F,图2(c)是压缩图像重排序结果,图2(d)是压缩图像重建结果,图2(e)是压缩图像中已知像素,图2(f)是压缩图像中未知像素,图2(g)是压缩图像重建像素;图3图像像素丢弃与修复效果示例其中,图3(a)输入图像,图3(b)丢弃像素图像,图3(c)修复图像,为便于显示,图3(b)中丢弃像素设为0;图4FPGA图像压缩硬件原理图其中,1、FPGA,2、摄像机图像传感器,3、存储器,4、图像压缩标记矩阵F,5、压缩图像,6、BufferA,7、BufferB,8图像压缩处理单元;图5本专利技术图像压缩时序图图6本专利技术图像压缩与重建结果实例其中,图6(a)输入图像,图6(b)99%压缩率图像,图6(c)95%压缩率图像,图6(d)90%压缩图像,图6(e)99%压缩率图像重建结果,图6(f)95%压缩率图像重建结果,图6(g)90%压缩率图像重建结果,为便于显示,压缩图像中丢弃像素用0代替。具体实施方式为了使本专利技术的目的、技术方案及有益效果更加清楚明白,下面结合附图及实施例,对本专利技术进行进一步详细说明。应当注意,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提出的图像压缩基本原理是:图像是高度冗余、并且局部高度相似的,如图1所示,给定一幅输入图像(图1(a)),根据图像压缩标记矩阵F(图1(b本文档来自技高网...
一种基于FPGA的摄像机海量图像压缩方法

【技术保护点】
一种基于FPGA的摄像机海量图像压缩方法,其特征在于:FPGA(1)与摄像机的图像传感器(2)直接连接,图像传感器(2)输出场同步信号V、行同步信号H、像素时钟CLK、像素数据D;FPGA(1)与存储器(3)连接,存储器(3)中存有图像压缩标记矩阵F,F的维数为w*h,其中w是采集图像宽度、h为采集图像高度,w、h的取值范围为1~100000,F中元素取值为0或1;FPGA(1)以像素时钟CLK作为图像压缩驱动时钟,根据场同步信号V、行同步信号H,对输入像素数量计数,并由此计算当前像素P的图像坐标(i,j),i的取值范围为0~w‑1,j的取值范围为0~h‑1;FPGA(1)读取存储器(3)中图像压缩标记矩阵F中第(i,j)个元素:F(i,j),当F(i,j)=0时,不采样当前像素P,当F(i,j)=1时,采样当前像素P,其中F中元素的起始坐标为(0,0);当完成一行图像压缩后,把当前行压缩图像存入存储器(3)中;依次完成h行图像像素压缩,得到压缩图像;所述存储器(3)包括FLASH、DDR、SD存储芯片。

【技术特征摘要】
1.一种基于FPGA的摄像机海量图像压缩方法,其特征在于:FPGA(1)与摄像机的图像传感器(2)直接连接,图像传感器(2)输出场同步信号V、行同步信号H、像素时钟CLK、像素数据D;FPGA(1)与存储器(3)连接,存储器(3)中存有图像压缩标记矩阵F,F的维数为w*h,其中w是采集图像宽度、h为采集图像高度,w、h的取值范围为1~100000,F中元素取值为0或1;FPGA(1)以像素时钟CLK作为图像压缩驱动时钟,根据场同步信号V、行同步信号H,对输入像素数量计数,并由此计算当前像素P的图像坐标(i,j),i的取值范围为0~w-1,j的取值范围为0~h-1;FPGA(1)读取存储器(3)中图像压缩标记矩阵F中第(i,j)个元素:F(i,j),当F(i,j)=0时,不采样当前像素P,当F(i,j)=1时,采样当前像素P,其中F中元素的起始坐标为(0,0);当完成一行图像压缩后,把当前行压缩图像存入存储器(3)中;依次完成h行图像像素压缩,得到压缩图像;所述存储器(3)包括FLASH、DDR、SD存储芯片。2.根据权利要求1,图像压缩标记矩阵F中元素F(i,j)的取值是随机的。3.根据权利要求1和2,图像压缩标记矩阵F中元素F(i,j)的取值满足二项分布:F(i,j)=b(r)(1)其中,b是二项分布函数,r是二项分布函数输出值等于1的概率,r取值范围为0~1;图像压缩率与二项分布b()的输入参数r相等,通过调整r调整图像压缩率。4.根据权利要求1,使图像压缩标记矩阵F中所有行向量F(i,:)内元素之和S(i)相等,以保证每一行压缩图像中像素数量相等,其中,F(i,:)是F第i行中所有元素构成的向量,i的取值范围为0~h-1。5.根据权利要求1~4,当二项分布生成的图像压缩标记矩阵F中h个S(i)不相等时,取h个S(i)的均值M,并对M取整数得到M';手动修改图像压缩标记矩阵F中行向量F(i,:)内元素,使F中所有S(i)=M';在修改过程中...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:成都精工华耀机械制造有限公司
类型:发明
国别省市:四川,51

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

1