CN109873954A - 一种基于FPGA实现Bayer阵列彩色恢复方法 - Google Patents

一种基于FPGA实现Bayer阵列彩色恢复方法 Download PDF

Info

Publication number
CN109873954A
CN109873954A CN201910252641.9A CN201910252641A CN109873954A CN 109873954 A CN109873954 A CN 109873954A CN 201910252641 A CN201910252641 A CN 201910252641A CN 109873954 A CN109873954 A CN 109873954A
Authority
CN
China
Prior art keywords
bayer
image
module
component
color
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.)
Granted
Application number
CN201910252641.9A
Other languages
English (en)
Other versions
CN109873954B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Publication of CN109873954A publication Critical patent/CN109873954A/zh
Application granted granted Critical
Publication of CN109873954B publication Critical patent/CN109873954B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Color Television Image Signal Generators (AREA)
  • Image Processing (AREA)

Abstract

本发明设计了一种基于FPGA实现的Bayer阵列彩色恢复方法,属于CMOS图像采集与图像预处理硬件实现领域。本文以FPGA为平台,OV7670作为Sensor采集图像信息,构建图像采集的硬件系统。该系统主要包括:PLL锁相环,SCCB初始化,视频编解码模块,Bayer阵列的彩色恢复算法模块,图片缓存模块以及VGA的显示。该发明完成基于Bayer阵列的彩色恢复算法硬件加速实现,在Demosaic算法的基础上,主要在于对边缘信息的处理,同时考虑G分量的水平与竖直梯度,以及R/B的对角线梯度,进一步保留图像的边缘信息,使得处理后的图像细节更加清晰完整。

Description

一种基于FPGA实现Bayer阵列彩色恢复方法
技术领域
本发明属于图像采集与图像预处理技术领域,具体涉及CMOS摄像头采集系统和Bayer阵列的彩色恢复优化方法。
背景技术
随着信息时代的进步以及人工智能的高速发展,机器视觉的研究在航空、医疗、导航等领域取得了显著的成果。对采集图像的处理以及相关信息提取在各方面都有着普遍的应用。超大规模集成电路以及大规模可编程逻辑器件的高速发展和广泛应用,使得图像处理进一步发展。利用FPGA作为开发的硬件平台,可有效提高图像处理的速度,达到实时性,高效性的要求。
目前CMOS(互补金属氧化物半导体)摄像头可支持的输出图像的色彩格式包括RGB、YCbCr、YUV和RAW。而CMOS传感器捕捉的图像在经滤波后,得到未经加工的图像,称为RAW格式。RAW格式的图像并未经过处理,所以不会造成信息丢失。Bayer(即RAW格式)阵列模拟人眼对色彩的敏感程度,采用1红2绿1蓝的排列方式将灰度信息转换成彩色信息。在通过配置直接输出RGB格式图像时,不可避免的在内部DSP处理中,插值算法或者其他处理会降低图像的质量。例如CMOS摄像头的采集模块OV7670就是通过2行插值实现的Bayer阵列彩色恢复,由于在细节上处理不够,输出图像明显欠佳。
图像预处理中的均值滤波是典型的线性滤波算法,以目标像素为中心的周围8个像素构成一个滤波模板,用模板中的全体像素的平均值来代替原来的中间像素值。对于C处理器而言,可以很方便的通过数组获得3*3的阵列,但对于Verilog HDL(一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言)来说,则需要更多的细节处理来实现。常见的3*3阵列获取包括同步FIFO的缓存、RAM的存储以及Shift_RAM的移位存储。由于在同步FIFO中会采用两个存储器,而且需要通过串并转换思想来完成数据的传输,这样会额外增加时钟的处理,对数据的输出无法很好的控制,故不建议使用同步FIFO。RAM的存储中无法很好的控制3*3阵列的输出,需要更多的信号来控制,也不利于3*3像素阵列的生成。而目前最方便的实现就是利用Altera中的Shift_RAM宏定义模块,通过定义数据宽度、移位的行数以及每行的深度来实现3*3阵列。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于FPGA实现Bayer阵列彩色恢复方法。
本发明的基于FPGA实现Bayer阵列彩色恢复方法,包括下列步骤:
基于FPGA设置Bayer阵列彩色恢复的处理模块,包括摄像头视频采集模块、Bayer阵列转彩色图像模块、缓存控制模块、图像缓存模块和锁相环;
其中,摄像头视频采集模块用于连接CMOS摄像头的采集模块,采集视频信号并写入图像缓存模块;
Bayer阵列转彩色图像模块从图形缓冲模块读取图像信号,构建3*3像素阵列,通过像素缓存实现图像的边缘镜像得到完整的3*3的像素阵列,并将其转换为RGB色彩格式,在转换时,将RGB色彩格式中的G分量的水平、竖直梯度,以及R分量、B分量的对脚线梯度;
缓存控制模块用于控制两个写端口和两个读端口,且能够同时对图像缓冲模块进行读和写的操作;
锁相环用于生成各个模块的频率时钟。
本发明的有益效果为:
PLL锁相环主要用于生成各个模块所需要的频率时钟,并采用“异步复位、同步释放”电路来防止亚稳态的产生;
通过像素缓存实现图像的边缘镜像得到完整的3*3的像素阵列,将RGB色彩格式中的G分量的水平、竖直梯度,以及R分量、B分量的对脚线梯度,进一步保留图像的边缘信息,从而使得红色和蓝色分量更加真实;
在构建3*3像素阵列时,采用Altera中的Shift_RAM宏定义模块,通过定义数据宽度、移位的行数以及每行的深度来实现3*3阵列,并充分考虑边缘信息。
附图说明
图1为本发明提供的:Bayer阵列摆布方式;
图2为本发明提供的:系统处理流程图;
图3为本发明提供的:FPGA系统框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
本发明公开了一种基于FPGA平台的图像采集系统,然后对该图像采集系统采集到图像做相关的预处理,再实现Bayer阵列彩色恢复,其具体实现过程为:
S1:设置基于FPGA的图像采集系统。
参见图3,本发明的图像采集系统包括图像采集模块(CMOS摄像头OV7670,支持640*480@60Hz分辨的视频输出)、基于FPGA实现的摄像头视频流数据捕捉模块、RAW格式转换模块、存储控制模块(SDRAM(同步动态随机存取内存)控制模块)和VGA显示控制模块,PLL锁相环,存储模块,即SDRAM模块(64M SDRAM,芯片型号为HY57V283220T)和VGA显示器;其中,摄像头视频流数据捕捉模块、RAW格式转换模块和存储控制模块用于实现Bayer阵列彩色恢复。
首先,采用SCCB(Serial Camera Control Bus)接口完成OV7670寄存器的配置(图像采集模块的初始化配置),实现预期配置的视频流输出,寄存器配置包括分辨率,内部时钟,亮度,色差,3A参数等。
本具体实施方式中,采用的图像采集模块为OV7670,而其SCCB总线有两个信号,包括时钟信号SIOC和数据信号SIOD。
通过对SCCB总线时序完整的描述,实现CMOS传感器的SCCB寄存器读写功能。SCCB在写寄存器时,先写设备地址(ID-Address),再写寄存器地址(SUB-Address),最后写入寄存器的值(W-Data),完成一个寄存器的配置,即按照ID-Address+SUB-Address+W-Data的流程;寄存器读取时,则需要写入两次设备ID。
然后,在完成对OV7670的初始化配置后,就可以完成对CMOS摄像头的图像采集。
本具体实施方式中,通过对传感器驱动时钟输入(XCLK),传感器像素时钟输出(PCLK),传感器像素数据场同步信号输出(VSYNC),传感器像素数据行同步信号输出(HREF)和传感器像素时钟输出数据口8Bit总线数据(DATA)等信号的处理,利用边缘检测技术,检测场同步信号的下降沿,并将其作为使能信号来做计数达到延时的作用。最后根据时序来输出8Bit的RAW格式视频数据。
接着,在通过配置SCCB输出格式得到8Bit的RAW数据后,再对其进行Bayer阵列彩色恢复。
基于Bayer阵列的排列方式,可以得到RAW格式视频流中的RGB三个颜色分量(红色分量R、绿色分量G、蓝色分量B)的分布规律:
1)参考图1-1,对于奇数行和奇数点时的像素分布,B在中心,R与G分布在四个角落;
2)参考图1-2,对于奇数行和偶数点时的像素分布,G在中心,上下R,左右B;
3)参考图1-3,对于偶数行和奇数点时的像素分布,G在中心,上下为B,左右为R;
4)参考图1-4,对于偶数行和偶数点时的像素分布,R在中心,B和G分布在四个角落,
除去第一个和最后一个像素,通过移位寄存器Shitf_RAM移位可以得到3*3的像素阵列。
又由于像素镜像的3*3阵列实现一般的3*3像素阵列,都是没有经过边缘处理的阵列,在最终的处理就会出现边缘问题,但是为了更加完整的实现彩色图像的恢复,边缘处理必不可少。本发明通过像素缓存机制实现边缘镜像,在水平方向,首先经过像素的缓存,将边缘的像素延迟到第二个像素,通过与前面像素的组合,来实现3*3的像素镜像,同时由于像素的延迟,需要多扩展一个像素周期,来实现完整的序列操作;在竖直方向,同样需要一行的缓存,另外需要生成一个行信号,来补偿镜像输出后的性信号损耗。(同时考虑水平竖直方向的边缘信息)。
最后,本发明中,Bayer彩色恢复是通过奇偶行、像素的地址,来实现Bayer阵列的彩色恢复。
当G在中心,上下R,左右B,或者G在中心,上下为B,左右为R,彩色恢复后的各颜色分量分别为:
G=Bayer(i,j),
其中,Bayer()表示Bayer阵列,i、j表示行与列。
当G在四周时,本发明考虑G分量的水平、竖直梯度,以及R/B的对脚线梯度,进一步保留图像的边缘信息,改善奇数行以及偶数行3*3矩阵处理的彩色恢复,彩色恢复后的各颜色分量分别为:
(1)当奇数行和奇数列时,B在中心,则有:
Hg=|Bayer(i,j-1)-Bayer(i,j+1)|,
Vg=|Bayer(i-1,j)-Bayer(i+1,j)|,
Dr1=|Bayer(i-1,j-1)-Bayer(i+1,j+1)|,
Dr2=|Bayer(i-1,j+1)-Bayer(i+1,j-1)|,
B=Bayer(i,j);
(2)当偶数行和偶数列时,R在中心,则有:
Hg=|Bayer(i,j-1)-Bayer(i,j+1)|,
Vg=|Bayer(i-1,j)-Bayer(i+1,j)|,
Db1=|Bayer(i-1,j-1)-Bayer(i+1,j+1)|,
Db2=|Bayer(i-1,j+1)-Bayer(i+1,j-1)|,
R=Bayer(i,j);
其中,Hg、Vg、Dr1、Dr2、Db1和Db2为中间计算量。
所述图片缓存模块SDRAM采用hynix的HY57V283220T芯片作为SDRAM。在图片缓存模块的设置中包含三个部分:首先集成的一个锁相环Sdram_pll,提供SDRAM控制器及SDRAM所需的时钟;使用两片SDRAM实现两个写端口和两个读端口,能够同时进行SDRAM读/写操作;最后,命令接口模块和控制接口模块综合实现SDRAM控制器的读/写时序。为避免读写SDRAM缓存时出现的图像交错,本具体实施方式中,采用“非完全乒乓读写操作”,内部包含两个DCFIFO(双时钟FIFO,数据输入和输出的宽度相同),以便于完成对数据流的加速处理。
所述VGA显示控制模块中,采用专用的VGA视频编码芯片ADV7123,通过标准的VGA接口输出,实现与VGA显示器的通信,完成视频的实时显示。通过对行同步信号(HS),场同步信号(VS)等信号的处理,利用标准的VGA时序,输出24位RGB888真彩色图像。
参考图2,基于上述图像采集系统实现Bayer阵列彩色恢复的具体处理过程为:
S1:CMOS摄像头首先通过对SCCB时序的完整描述,实现对COMS摄像头OV7670的SCCB寄存器读写功能,COMS摄像头OV7670的设备地址为0x42,最后一位用来判断读写,本具体实施方式中,写地址为0x42,读地址为0x43。通过对视频图像流、采样画质、输出格式等寄存器的配置,来实现预期模式的视频流输出。
S2:对采集到的8BitRAW格式数据,根据CMOS视频的时序,需配置VSYNC为高电平时数据有效,低电平时同步。在HREF信号无效时,不输出数据;有效时,连续输出数据。将PCLK作为主时钟,即摄像头视频流数据捕捉模块通过捕获VSYNC与HERF信号,采集到有效的视频信号。
S3:将RAM格式转换为RGB565格式:
通过3*3像素阵列的构建完成对Bayer阵列的恢复,生成3*3像素阵列步骤如下:首先将输入的信号用像素使能时钟同步一拍,保证数据与Shift_RAM(基于产生的Shift_RAM使能信号实现视频数据的捕获)输出的数据保持同步;接着输入3行数据,就可使3行同时存在;由于数据从Shift_RAM存储耗费一个时钟,故读取使能与时钟需要一个clock的偏移;根据读行同步信号和时钟使能信号,直接读取3*3像素阵列。彩色恢复的关键是要处理好奇偶行以及奇偶像素的坐标等参数。同时考虑G分量的水平与竖直梯度,以及R/B的对角线梯度,可以进一步保留图像的边缘信息,更好的完成图像的彩色恢复。
S4:图片缓存模块(SDRAM控制模块),通过PLL(Phase Locked Loop)的全局时钟管理模块,生成SDRAM控制器时钟100MHz,OV7670工作时钟24MHZ,VGA的扫描时钟25MHz。即主要完成对数据的缓存,根据读写时钟的不同达到数据之间的同步,最后输出24Bit的RGB888像素数据。
S5:VGA显示控制模块,其基于标准的时序,通过逐行扫描的方式,最后在显示屏(VGA显示器)上得到640*480@60Hz分辨的视频输出。
本发明采用FPGA硬件开发平台,充分发挥可编程器件在数据处理方面的优势,在基于FPGA设置Bayer阵列彩色恢复的硬件模块时,采用流水线思想,有效提高图像处理的速度,达到实时,高效的要求。在进行RAW格式转换RGB格式图像时,采用更加方便有效的Shitf_RAM移位寄存器构建3*3像素阵列,并且充分考虑边缘信息,使得彩色恢复更加优化。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

Claims (3)

1.基于FPGA实现Bayer阵列彩色恢复方法,其特征在于,包括下列步骤:
基于FPGA设置Bayer阵列彩色恢复的处理模块,包括摄像头视频采集模块、Bayer阵列转彩色图像模块、缓存控制模块、图像缓存模块和锁相环;
其中,摄像头视频采集模块用于连接CMOS摄像头的采集模块,采集视频信号并写入图像缓存模块;
Bayer阵列转彩色图像模块从图形缓冲模块读取图像信号,构建3*3像素阵列,通过像素缓存实现图像的边缘镜像得到完整的3*3的像素阵列,并将其转换为RGB色彩格式,在转换时,将RGB色彩格式中的G分量的水平、竖直梯度,以及R分量、B分量的对脚线梯度;
缓存控制模块用于控制两个写端口和两个读端口,且能够同时对图像缓冲模块进行读和写的操作;
锁相环用于生成各个模块的频率时钟。
2.如权利要求1所述的方法,其特征在于,图像缓存模块包括两片缓冲模块。
3.如权利要求1所述的方法,其特征在于,Bayer阵列转彩色图像模块将3*3的像素阵列转换为RGB色彩格式具体为:
当G分量在中心,R分量在上下,B分量在左右;或者G分量在中心,B分量在上下,R分量在左右时,彩色恢复后的各颜色分量分别为:
G=Bayer(i,j),
其中,Bayer()表示Bayer阵列,i、j表示行与列;
当G分量在四周,彩色恢复后的各颜色分量分别为:
(1)当奇数行和奇数列时,B分量在中心,则有:
Hg=|Bayer(i,j-1)-Bayer(i,j+1)|,
Vg=|Bayer(i-1,j)-Bayer(i+1,j)|,
Dr1=|Bayer(i-1,j-1)-Bayer(i+1,j+1)|,
Dr2=|Bayer(i-1,j+1)-Bayer(i+1,j-1)|,
B=Bayer(i,j);
(2)当偶数行和偶数列时,R分量在中心,则有:
Hg=|Bayer(i,j-1)-Bayer(i,j+1)|,
Vg=|Bayer(i-1,j)-Bayer(i+1,j)|,
Db1=|Bayer(i-1,j-1)-Bayer(i+1,j+1)|,
Db2=|Bayer(i-1,j+1)-Bayer(i+1,j-1)|,
R=Bayer(i,j);
其中,Hg、Vg、Dr1、Dr2、Db1和Db2为中间计算量。
CN201910252641.9A 2018-03-30 2019-03-29 一种基于FPGA实现Bayer阵列彩色恢复方法 Expired - Fee Related CN109873954B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810275588X 2018-03-30
CN201810275588 2018-03-30

Publications (2)

Publication Number Publication Date
CN109873954A true CN109873954A (zh) 2019-06-11
CN109873954B CN109873954B (zh) 2020-09-25

Family

ID=66921720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910252641.9A Expired - Fee Related CN109873954B (zh) 2018-03-30 2019-03-29 一种基于FPGA实现Bayer阵列彩色恢复方法

Country Status (1)

Country Link
CN (1) CN109873954B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511790A (zh) * 2019-09-16 2021-03-16 国网山东省电力公司东营市河口区供电公司 基于fpga的煤矿高速图像采集与降噪系统及处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279765A (zh) * 2014-05-29 2016-01-27 南京理工大学 一种基于fpga的颜色目标检测系统及方法
CN105578160A (zh) * 2015-12-23 2016-05-11 天津天地伟业数码科技有限公司 一种基于fpga平台的高清晰度去马赛克插值方法
CN105611256A (zh) * 2015-12-28 2016-05-25 南京航空航天大学 一种基于梯度的Bayer格式图像插值方法及基于FPGA的显示装置
US20170180656A1 (en) * 2015-12-16 2017-06-22 Samsung Electronics Co., Ltd. Image processing apparatus and image processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279765A (zh) * 2014-05-29 2016-01-27 南京理工大学 一种基于fpga的颜色目标检测系统及方法
US20170180656A1 (en) * 2015-12-16 2017-06-22 Samsung Electronics Co., Ltd. Image processing apparatus and image processing system
CN105578160A (zh) * 2015-12-23 2016-05-11 天津天地伟业数码科技有限公司 一种基于fpga平台的高清晰度去马赛克插值方法
CN105611256A (zh) * 2015-12-28 2016-05-25 南京航空航天大学 一种基于梯度的Bayer格式图像插值方法及基于FPGA的显示装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511790A (zh) * 2019-09-16 2021-03-16 国网山东省电力公司东营市河口区供电公司 基于fpga的煤矿高速图像采集与降噪系统及处理方法

Also Published As

Publication number Publication date
CN109873954B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN101000755B (zh) 多屏显示拼接控制器
CN105721818B (zh) 一种信号转换方法及装置
CN103595924B (zh) 一种基于Cameralink的图像融合系统及其方法
CN106934758A (zh) 一种基于fpga的立体图像视频实时融合方法及系统
CN102427543B (zh) 一种帧同步3d实时视频信息处理平台和处理方法
CN102708280B (zh) 一种图像显示方法及设备
CN104717485A (zh) 一种基于fpga的vga接口裸眼3d显示系统
CN106817545B (zh) 一种快速多分辨率视频图像镜像旋转处理系统
CN101489053A (zh) 视频图像旋转系统
CN106231162A (zh) 可重构大视场无缝拼接成像系统
CN105472203A (zh) Genlock同步锁相系统及方法
CN109873954A (zh) 一种基于FPGA实现Bayer阵列彩色恢复方法
CN104469241B (zh) 一种实现视频帧率变换的装置
CN102158655B (zh) 一种dvi/hdmi/dp/vga信号的后级无抖校正系统
CN109068023B (zh) 超大面阵图像传感器的读出电路同步控制系统及控制方法
CN103533327B (zh) 一种基于硬件实现的dibr系统
CN201854377U (zh) 基于fpga的立体摄像机的数字接口
CN108495070A (zh) 实现数字视频单像素输入输出多像素处理的方法及装置
Gong et al. Design of high-speed real-time sensor image processing based on FPGA and DDR3
CN107948467B (zh) 一种大面阵高帧频图像采集装置
CN100481913C (zh) 实时图像异步采集接口装置
CN108234917A (zh) 一种CCD相机多分辨率RawRGB格式视频向VESA协议视频的转换方法
CN101692331A (zh) 数字图像信号分解与重生装置及控制方法
CN102523417A (zh) 一种超声成像设备中视频制式转换方法与转换装置
Zhang et al. The CCD sensor video acquisition system based on FPGA&MCU

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200925