CN107248136B - 一种基于fpga的图像直方图信息获取方法 - Google Patents

一种基于fpga的图像直方图信息获取方法 Download PDF

Info

Publication number
CN107248136B
CN107248136B CN201710336015.9A CN201710336015A CN107248136B CN 107248136 B CN107248136 B CN 107248136B CN 201710336015 A CN201710336015 A CN 201710336015A CN 107248136 B CN107248136 B CN 107248136B
Authority
CN
China
Prior art keywords
port
image data
image
histogram information
fpga
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710336015.9A
Other languages
English (en)
Other versions
CN107248136A (zh
Inventor
王飞
张秋光
裴广利
张鹏
郑南宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201710336015.9A priority Critical patent/CN107248136B/zh
Publication of CN107248136A publication Critical patent/CN107248136A/zh
Application granted granted Critical
Publication of CN107248136B publication Critical patent/CN107248136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Abstract

本发明提出了一种基于FPGA的图像直方图信息获取方法,所述方法如下:采用帧同步信号、行同步信号、并行图像数据和像素同步时钟作为图像输入信号。第一个时钟周期,把帧同步信号、行同步信号和图像数据进行延时且保证图像数据在行间隔期间保持不变。第二个时钟周期,把图像数据进行延时并产生前后两个数据是否相同标识。第三个时钟周期,把延时后的图像数据赋给双端口RAM端口A的读出地址,把数据是否一致标识取反后赋给B端口的写入使能。第四个时钟周期,产生B端口的写入地址,A端口读出地址有效。第五个时钟周期,A端口读出数据有效,B端口写入地址有效,判断相邻两个图像数据是否相等,若相等使用寄存器保存该图像数据的直方图信息,若不相等把直方图信息更新后从端口B写入。后续操作采用流水线形式,图像输入完成即可得到直方图信息,充分利用FPGA的并行优势,可以实现高分辨率图像直方图信息的快速获取。

Description

一种基于FPGA的图像直方图信息获取方法
【技术领域】
本发明提出了一种图像直方图信息获取方法,属于图像信息提取范畴,具体涉及一种基于FPGA的图像直方图信息快速获取方法。
【背景技术】
图像直方图是图像的一个基本信息,是进行图像处理的一个重要依据。如图像直方图均衡、自动阈值分割、图像增强、图像去雾、图像动态范围展宽等处理基本都要用到图像直方图信息。基于FPGA的视频图像处理方式具有处理速度快、可移植性好、修改灵活等特点,在视频图像处理中被广泛应用,基于FPGA的直方图信息统计是很多图像处理方式的基础。
现有的基于FPGA的图像直方图统计主要两种:一种是使用FPGA外部存储器进行统计、另外一种是使用FPGA内部存储模块进行直方图统计。使用外部存储器需要单独的存储器件,统计速度与外部存储器读写速度有关;使用FPGA内部存储模块进行统计时,FPGA内部使用流水线的方式对图像进行处理,现有方式不能在一个像素时钟周期内完成对直方图信息的读出和写入,无法做到每个像素时钟统计一个像素的直方图信息,一般采用降采样的方式进行统计,如每四个像素时钟统计一个像素的直方图信息,统计出的直方图信息是基于图像的四分之一像素进行计算的、与真实值存在偏差,影响后续的图像处理。
因此,一种快速精确的直方图信息统计方式对提高基于直方图信息的图像处理的速度和精度有重要意义。
【发明内容】
本发明所要解决的问题是提出一种基于FPGA的图像直方图信息统计方法,可以实现每个像素时钟统计一个像素的直方图信息,统计结果存储在FPGA内部双端口RAM中,提高了直方图信息统计的速度和精度。
一种基于FPGA的图像直方图信息获取方法,使用FPGA存储模块进行统计,同时,FPGA使用流水线的方式对图像进行处理,该方法在一个像素时钟周期内完成对直方图信息的读出和写入,实现每个像素时钟统计一个像素的直方图信息,最终的结果存储在FPGA双端口RAM中。
在一个像素时钟周期内完成对直方图信息的读出和写入的具体方法为:
(1)在第一个时钟周期,对输入图像的帧同步信号、行同步信号进行延时,对图像数据进行延时,确保图像数据在行间隔期间保持不变;
(2)在第二个时钟周期,对帧同步信号、行同步信号和图像数据进行延时,同时,产生前后两个图像数据是否一致的标识,并把该标识进行延时;
(3)在第三个时钟周期,把步骤(2)中延时后的图像数据赋值赋给双端口RAM端口A的读出地址,把图像数据是否一致标识取反,赋值赋给双端口RAM端口B的写入使能并延时;
(4)在第四个时钟周期,把行同步信号进行延时,把图像数据赋值赋给双端口RAM端口B的写入地址,图像数据是否一致标识进行延时;第三个时钟周期内幅值赋给双端口RAM端口A的读出地址有效;
(5)第五个时钟周期,双端口RAM端口B的写入地址有效,双端口RAM端口A的读出数据有效,同时,判断图像数据是否一致标识是否为1,如果等于1,使用寄存器把该图像数据对应的直方图信息存储供下个时钟周期使用,如果不等于1,端口B的写入使能有效,把使用寄存器记录的图像数据对应的直方图信息更新后从端口B写入RAM。
在步骤(1)中,图像数据在输入行有效信号为高电平时赋值延时,输入行同步信号为低时保持不变。
步骤(2)中的前后两个图像数据是否一致的标识是通过把当前输入的图像数据与上一个时钟周期的图像数据进行比较后,得到相邻两个图像数据是否一致的标识。
步骤(3)进一步包括:在步骤(2)的基础上把行同步信号和图像数据进行延时。
采用非阻塞赋值进行延时。
为保证每一帧最后一个直方图信息的正确写入,需要行计数器和列计数器,在图像输入结束时单独给出一个端口B的写入使能,图像数据输入完成后即可完成图像直方图信息的获取。
图像输入的帧同步信号和行同步信号均为高电平有效。
在图像输入的帧间隔期间对RAM进行清零。
双端口RAM包括FPGA内部双端口RAM和FPGA片外双端口RAM。
与现有技术相比,本发明至少具有以下有益效果:本发明提供了一种基于FPGA的图像直方图信息获取方法,使用FPGA存储模块进行统计,同时,FPGA使用流水线的方式对图像进行处理,该方法在一个像素时钟周期内完成对直方图信息的读出和写入,实现每个像素时钟统计一个像素的直方图信息,最终的结果存储在FPGA双端口RAM中。
【附图说明】
图1(a)为行同步信号、像素时钟、图像数据之间时序关系的示意图;图1(b)为帧同步信号和行同步信号之间的关系示意图。
图2为直方图信息统计流程图。
【具体实施方式】
本发明采用以下技术方案:
一种基于FPGA双端口RAM的直方图信息统计方式采用流水线方式,使用多个时钟周期逐级流水的方式实现,图像输入完成后即可得到图像的直方图信息。在图像输入的帧间隔期间对RAM进行清零。图像输入使用探测器常用的图像输出格式,图像输入包含帧同步信号(vsync)、图像行同步信号(hsync)、图像数据(data)和像素同步时钟(clk)作为图像输入信号;使用FPGA内部双端口RAM端口A读出原有的直方图信息,使用端口B写入新的直方图信息;统计完成的直方图信息存储在双端口RAM中。
具体按照如下的步骤实施:
调用双端口RAM,每一个端口都可以进行读写操作,若输入图像为8bit,RAM深度为256,RAM宽度依据图像分辨率确定。若图像为10bit或12bit,RAM深度为1024或4096,在图像输入的帧间隔期间对RAM进行清零操作。
图像输入帧同步信号为vsync,图像输入行同步信号为hsync,输入并行图像数据为data。图像输入的帧同步信号和行同步信号均为高电平有效,帧同步信号、行同步信号、像素同步时钟和并行图像数据的关系如附图1(a)和图1(b)所示。
(1)第一个时钟周期:采用非阻塞赋值对输入图像的帧同步信号、行同步信号进行延时;图像数据在输入行同步信号为高电平时使用非阻塞赋值延时,输入行同步信号为低电平时保持不变,确保图像数据在行间隔期间保持不变。
(2)第二个时钟周期:第一个时钟周期的基础上采用非阻塞赋值对输入图像的帧同步信号、行同步信号和图像数据进行延时;把当前输入的图像数据与上一个时钟周期的图像数据进行比较,得到相邻两个图像数据是否一致的标识,并把标识采用非阻塞赋值进行延时。
(3)第三个时钟周期:把第二个时钟周期内经过延时的图像数据使用非阻塞赋值赋给双端口RAM端口A的读出地址;采用非阻塞赋值在二个时钟周期操作的基础上把行同步信号和图像数据采用非阻塞赋值进行延时;把图像数据是否一致标识取反,使用非阻塞赋值赋给双端口RAM端口B的写入使能并使用非阻塞赋值延时;
(4)第四个时钟周期:采用非阻塞赋值在第三个时钟周期操作的基础上把行同步信号进行非阻塞赋值延时,把图像数据采用非阻塞赋值赋给双端口RAM端口B的写入地址,图像数据是否一致标识采用非阻塞赋值进行延时;第三个时钟周期内采用非阻塞赋值赋给双端口RAM端口A的读出地址有效;
(5)第五个时钟周期:双端口RAM端口B的写入地址有效,双端口RAM端口A的读出数据有效;判断图像数据一致标识是否为1,若等于1,表示相邻的两个图像数据相等,不需要把第一个图像数据对应的直方图信息写入,使用寄存器把该图像数据对应的直方图信息存储供下个时钟周期使用;若判断图像数据一致标识不等于1,端口B的写入使能有效,把使用寄存器记录的图像数据对应的直方图信息更新后从端口B写入RAM。
以上操作采用流水线方式进行,为保证每一帧最后一个直方图信息的正确写入,需要行计数器和列计数器,在图像输入结束时单独给出一个端口B的写入使能,图像数据输入完成后即可完成图像直方图信息的统计。
本发明专利实施例使用FPGA内部双端口RAM,按照上述设计流程使用FPGA片外双端口RAM统计图像直方图也属于本发明的权利要求范围之内。

Claims (9)

1.一种基于FPGA的图像直方图信息获取方法,使用FPGA存储模块进行统计,同时,FPGA使用流水线的方式对图像进行处理,其特征在于:该方法在一个像素时钟周期内完成对直方图信息的读出和写入,实现每个像素时钟统计一个像素的直方图信息,最终的结果存储在FPGA双端口RAM中;
在一个像素时钟周期内完成对直方图信息的读出和写入的具体方法为:
(1)在第一个时钟周期,对输入图像的帧同步信号、行同步信号进行延时,对图像数据进行延时,确保图像数据在行间隔期间保持不变;
(2)在第二个时钟周期,对帧同步信号、行同步信号和图像数据进行延时,同时,产生前后两个图像数据是否一致的标识,并把该标识进行延时;
(3)在第三个时钟周期,把步骤(2)中延时后的图像数据赋值赋给双端口RAM端口A的读出地址,把图像数据是否一致标识取反,赋值赋给双端口RAM端口B的写入使能并延时;
(4)在第四个时钟周期,把行同步信号进行延时,把图像数据赋值赋给双端口RAM端口B的写入地址,图像数据是否一致标识进行延时;第三个时钟周期内赋值赋给双端口RAM端口A的读出地址有效;
(5)第五个时钟周期,双端口RAM端口B的写入地址有效,双端口RAM端口A的读出数据有效,同时,判断图像数据是否一致标识是否为1,如果等于1,使用寄存器把该图像数据对应的直方图信息存储,供下个时钟周期使用,如果不等于1,端口B的写入使能有效,把使用寄存器记录的图像数据对应的直方图信息更新后从端口B写入RAM。
2.根据权利要求1所述的一种基于FPGA的图像直方图信息获取方法,其特征在于:在步骤(1)中,图像数据在输入行同步信号有效时赋值延时,输入行同步信号无效时保持不变。
3.根据权利要求1所述的一种基于FPGA的图像直方图信息获取方法,其特征在于:步骤(2)中的前后两个图像数据是否一致的标识是通过把当前输入的图像数据与上一个时钟周期的图像数据进行比较后,得到相邻两个图像数据是否一致的标识。
4.根据权利要求1所述的一种基于FPGA的图像直方图信息获取方法,其特征在于:步骤(3)进一步包括:在步骤(2)的基础上把行同步信号和图像数据进行延时。
5.根据权利要求1至4中任一项所述的一种基于FPGA的图像直方图信息获取方法,其特征在于:采用非阻塞赋值进行延时。
6.根据权利要求1所述的一种基于FPGA的图像直方图信息获取方法,其特征在于:为保证每一帧最后一个直方图信息的正确写入,需要行计数器和列计数器,在图像输入结束时单独给出一个端口B的写入使能,图像数据输入完成后即可完成图像直方图信息的获取。
7.根据权利要求1所述的一种基于FPGA的图像直方图信息获取方法,其特征在于:图像输入的帧同步信号和行同步信号均为高电平有效。
8.根据权利要求1所述的一种基于FPGA的图像直方图信息获取方法,其特征在于:在图像输入的帧间隔期间对RAM进行清零。
9.根据权利要求1所述的一种基于FPGA的图像直方图信息获取方法,其特征在于:双端口RAM包括FPGA内部双端口RAM和FPGA片外双端口RAM。
CN201710336015.9A 2017-05-12 2017-05-12 一种基于fpga的图像直方图信息获取方法 Active CN107248136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710336015.9A CN107248136B (zh) 2017-05-12 2017-05-12 一种基于fpga的图像直方图信息获取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710336015.9A CN107248136B (zh) 2017-05-12 2017-05-12 一种基于fpga的图像直方图信息获取方法

Publications (2)

Publication Number Publication Date
CN107248136A CN107248136A (zh) 2017-10-13
CN107248136B true CN107248136B (zh) 2019-11-08

Family

ID=60016614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710336015.9A Active CN107248136B (zh) 2017-05-12 2017-05-12 一种基于fpga的图像直方图信息获取方法

Country Status (1)

Country Link
CN (1) CN107248136B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052483B (zh) 2017-12-29 2021-10-22 南京地平线机器人技术有限公司 用于数据统计的电路单元、电路模块和装置
CN109640065A (zh) * 2018-10-26 2019-04-16 深圳市华星光电技术有限公司 一种针对画面数据处理的方法
CN110148101B (zh) * 2019-04-25 2021-08-13 北京遥感设备研究所 一种基于fpga的低缓存改进型直方图均衡方法及系统
CN111261088B (zh) * 2020-02-25 2023-12-12 京东方科技集团股份有限公司 一种图像绘制方法、装置及显示装置
CN113296104B (zh) * 2021-04-16 2022-09-06 上海宏景智驾信息科技有限公司 一种spad型激光雷达的高效测量方法
WO2022218397A1 (zh) * 2021-04-16 2022-10-20 杭州宏景智驾科技有限公司 用于激光雷达的测量方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674473A (zh) * 2008-09-12 2010-03-17 中国科学院沈阳自动化研究所 一种图像实时直方图统计装置及其实现方法
CN102456224A (zh) * 2010-10-19 2012-05-16 高森 基于fpga实时数字图像增强方法
US8704842B1 (en) * 2013-07-17 2014-04-22 Spinella Ip Holdings, Inc. System and method for histogram computation using a graphics processing unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674473A (zh) * 2008-09-12 2010-03-17 中国科学院沈阳自动化研究所 一种图像实时直方图统计装置及其实现方法
CN102456224A (zh) * 2010-10-19 2012-05-16 高森 基于fpga实时数字图像增强方法
US8704842B1 (en) * 2013-07-17 2014-04-22 Spinella Ip Holdings, Inc. System and method for histogram computation using a graphics processing unit

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于FPGA的实时直方图均衡化的方法;李亮 等;《自动化应用》;20161231;第21-23,35页 *
基于FPGA的实时直方图统计设计;张科 等;《电视技术》;20121231;第24-25,41页 *

Also Published As

Publication number Publication date
CN107248136A (zh) 2017-10-13

Similar Documents

Publication Publication Date Title
CN107248136B (zh) 一种基于fpga的图像直方图信息获取方法
TWI520598B (zh) 影像處理裝置與影像處理方法
CN105678682A (zh) 一种基于fpga的二值图像连通区域信息快速获取系统及方法
WO2018209824A1 (zh) 视频字符叠加方法和系统
EP2058730A3 (en) Image processing apparatus, image processing method, and image processing program
CN109919952A (zh) 一种在fpga中将大图切割为几幅小图并同时显示的方法
US20210215744A1 (en) System for data mapping and storing in digital three-dimensional oscilloscope
CN101729919B (zh) 基于fpga的全自动平面视频转立体视频系统
CN103248797A (zh) 一种基于fpga的视频分辨率增强方法及模块
CN105025264A (zh) 基于fpga与usb2.0的便携式计算机视频监控系统
TWI332648B (en) Image display system and control method therefor
CN106713805A (zh) 一种基于fpga的数字视频显示接口模块及其通信方法
CN103596015B (zh) 图像处理方法和系统
WO2022110350A1 (zh) 图像显示方法、图像显示装置和可读存储介质
CN103024430A (zh) 模拟rgb信号的控制显示方法和系统
CN102158655B (zh) 一种dvi/hdmi/dp/vga信号的后级无抖校正系统
CN108875733B (zh) 一种红外小目标快速提取系统
CN106780291B (zh) 一种实时畸变图像处理加速装置
CN204857142U (zh) 一种信号扩展显示装置
CN104143304B (zh) 基于fpga的任意三角形填充画面组件生成方法
CN109087314B (zh) 基于fpga的线阵图像连通域面积快速标记统计方法
CN103106395A (zh) 车牌字符实时识别系统的几何归一化内核装置
CN109873954B (zh) 一种基于FPGA实现Bayer阵列彩色恢复方法
CN111398648B (zh) 实现用户界面和波形合并的方法及示波器
CN117788269B (zh) 一种基于fpga的光斑质心快速定位方法及其相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant