基于FPGA的网络图像采集处理系统设计

发布者:superstar11最新更新时间:2014-08-20 来源: eefocus关键字:图像处理  FPGA  RAM控制 手机看文章 扫描二维码
随时随地手机看文章
1 总体设计

总体框图如图1所示,系统采用Altera公司推出的StratixⅡ系列EP2S60F484型号FPGA作为图像采集处理和网络传输的核心,视频A/D采用ADV7181B芯片,支持PAL,NTSC和SECAM多种制式视频输入。图像采集处理在FPGA内部实现,主要有3部分,分别为图像采集模块、RAM控制模块和JPEG编码器。NiosⅡ处理器作为主处理器,主要是通过I2C模块对ADV7181B进行配置,控制JPEG编码器和实现图像的网络传输功能。


  2 主要功能模块设计

  2.1 图像采集模块

图像采集模块主要实现图像信号检测和图像裁剪的功能。

CCD摄像头输出的视频信号经过ADV7181B芯片解码,输出符合ITU-R BT.601标准的数据流。图2所示为ADV7181B输出的行同步信号参数和YCrCb信号时序图。当输出“FF 00 00 XY”时,表示有效图像数据的开始或者结束。其中XY[4]=0表示图像数据开始信号(SAV信号);XY[4]=1表示图像数据结束信号(EAV信号);XY[6]=0表示奇场信号;XY[6]=1表示偶场信号。通过检测EAV和SAV信号,分奇偶场提取有效的图像数据。

根据输出图像大小的不同要求,需要对图像进行裁剪。构造一个裁剪检测电路,如图3所示。利用像素时钟和水平同步信号、垂直同步信号进行计数,根据图像输出大小要求,设定比较器数值,当行列有效计数的数值在比较器设定的范围之内,检测电路使RAM处于写使能状态,把图像数据存入RAM。系统默认的图像输出大小是720×576像素,如果图像输出大小为512×512像素,那么行有效计数中的比较器数值分别为52和308,提取奇场和偶场中的第53行到第308行数据。同理,列有效计数中比较器分别为16和272。

2.2 RAM控制模块

RAM控制模块通过乒乓操作对图像数据进行缓存和读取,系统只存取图像的亮度信号,即Y信号。乒乓操作的处理流程如下:在第1场时间,将图像数据缓存到SRAM1;在第2场时间,将图像数据缓存到SRAM2,同时将SRAM1的数据送到JPEG编码器进行图像压缩;在第3场时间,将图像数据缓存到SRAM1,同时将SRAM2的数据送到JPEG编码器进行图像压缩,依此循环。将图像数据保存到SRAM时,由视频采集模块的行有效计数器和场有效计数器产生RAM写入地址。

由于图像数据是按照奇偶场先后传输的,为了得到一副完整的图像,需要将奇偶场数据合并。RAM控制模块先将奇场数据写入RAM奇数行中,即奇场第1行存在RAM的第1行,奇场第2行存在RAM的第3行,依此类推直到奇场288行数据全部存完为止;再将偶场数据写入RAM的偶数行中,即偶场第1行存在RAM的第2行,奇场第2行存在RAM的第4行,依此类推直到偶场288行数据全部存完为止。

        2.3 JPEG编码器

JPEG编码器是图像压缩算法实现的核心,JPEG编码器主要有5部分,分别是二维离散余弦变换(2D-DCT)、量化、Z型扫描、游程/预测编码、霍夫曼编码。如图4所示原理框图。输入是图像原始的亮度Y数据,最后经过霍夫曼编码器输出码流。



        2.3.1 2D-DCT实现

对于8×8图像块的二维DCT的变换公式为:

式中:0≤u≤7,0≤u≤7,f(x,y)为对应像素点的像素值;F(u,v)为变换后的DCT数值。根据余弦的正交性,可将上式分解为一维DCT变换。设:

式中:0≤u≤7,0≤v≤7。

因此二维DCT变换可以转换为2个一维DCT变换。目前比较常用的变换方法有2种:一种是直接法,通过将8×8图像数组进行多项式转换或者三角分解进行二维变换;或者另一种是间接法,将8×8图像数据先按行进行一维DCT变换,然后再对变换结果按列进行第2次一维DCT变换,进而可以得到二维DCT变换结果。前者需要的乘法器较多,而且实现步骤较繁琐,后者在这两方面上拥有很大的优势,能够形成快速DCT变换,更适合FPGA硬件的实现,因此采用后者方法实现。[page]

目前比较成熟的一维DCT算法主要有Chen算法、Loeffler算法、Lee-Huang算法、ANN算法等,每种算法所需要的乘法次数和加法次数各不相同,表1所示为几种常用算法的比较。根据算法的复杂度和硬件计算速度,本文采用Loeffler算法。

Loeffler是一种基于行列分解的快速一维DCT算法,适合FPGA硬件实现。采用Loeffler算法实现一个8点的一维DCT变换,只需要11次乘法运算和29次加法运算。硬件实现算法的结构图如图5和图6所示。

2.3.2 量化和编码

量化是将经过DCT变化后的系数值除以量化表中的量化值,其结果四舍五入得到。系统采用推荐的亮度量化表对图像数据进行量化,该表存在FPGA的片上RAM中。由于硬件除法是通过迭代减法完成的,速度慢,因此先计算量化表中数值的倒数值,把DCT变化系数乘以量化表对应的倒数值,即可将除法转换成速度较快的乘法运算。

量化后系数经过Z型扫描器转换成一维ZIG-ZAG序列,序列的第1个数值表示直流(DC)分量,其后的63个数值表示交流(AC)分量。对DC分量采用一维差分前值预测编码,即将DC分量减去上一个8×8子快的DC分量。对AC分量采用游程编码,并且用一个字节的高四位来表示AC分量连续0值个数,低四位表示下一个非零系数所需位数,这样能够表示的最大0值个数为15个,如果AC分量中0值个数多于15个,采用(15,0)来表示。(0,0)表示EOB,说明后面分量值全为0。这样游程/预测编码对系数0的值进行压缩。最后霍夫曼编码器利用霍夫曼表分别对DC和AC系数进行霍夫曼编码,输出JPEG图像码流。

2.4 网络传输

通过在NiosⅡ处理器上移植支持TCP/IP协议栈的μC/OS-Ⅱ操作系统来实现图像的网络传输功能。软件流程图如图7所示。

首先将NiosⅡ作为网络通信服务器,创建一个网络监听套接字,将该套接字同NiosⅡ处理器的本机的IP地址和端口号进行绑定,调用Listen监听函数使系统处于监听状态,监听客户端(PC机)请求,一旦监听到客户端的连接请求,服务器端置图像压缩使能端有效,开始图像的压缩,并接收硬件逻辑完成压缩的图像数据,然后服务器端向客户端发送图像的帧头和图像数据,一帧图像发送完成后会接着发送下一帧图像,直到收到停止图像发送指令,进入下一个监听的等待状态为止。客户端主要是向服务器端发出连接请求,一旦连接成功,即开始接收服务器端传送的图像帧头和图像数据,并将图像进行显示。客户端在停止接收图像前,会不断重复接收图像数据的工作过程。

3 测试结果

AD采集一副大小为720×576的图像,经过硬件逻辑裁剪成如图8(a)所示的512×512大小的图像,由JPEG编码器进行图像压缩,在PC机上解压缩后的图像如图8(b)所示。将原始图像和解压缩后的图像进行对比,计算图像的峰值信噪比:

式中:MSE为原始图像和压缩图像的均方误差。从图中可看到,PSNR>30时,图像视觉失真度比较低。

4 结语

本文介绍了一种基于FPGA的网络图像处理系统设计和实现方法。系统主要包括图像采集模块、RAM控制模块、JPEG编码器3部分逻辑。在单片FPGA上实现图像的采集、裁剪、缓存和JPEG编码,构建NiosⅡ处理器实现图像的网络传输功能。测试表明,系统的体积小,功耗低,算法升级灵活方便。此外系统运行稳定,性能也满足要求。

关键字:图像处理  FPGA  RAM控制 引用地址:基于FPGA的网络图像采集处理系统设计

上一篇:基于FPGA的嵌入式图像采集系统设计
下一篇:基于DSP5416水表号码图像采集系统

推荐阅读最新更新时间:2024-03-16 13:40

基于FPGA的UPFC控制器IP设计
0 引言 统一潮流控制器(Unified Power Flow Con-troller,简称UPFC)是一种可以较大范围地控制电流使之按指定路经流动的设备,它可在保证输电线输送容量接近热稳定极限的同时又不至于过负荷。控制系统是UPFC的核心部分,它的主要功能是监测交流电网的传输和控制输出逆变波形,不但能使输出波形的频率跟定电网频率,而且可对输出波形的幅值和相位进行调节。 随着微电子技术的不断发展,各种新器件和新的设计方法不断出现,使得UPFC的控制系统设计也在不断发展。近年来,随着IC集成度的不断提高而出现的现场可编程逻辑阵列(FieldProgrammable Gate Array,简称FPGA)就是由可编程逻辑器件PLD(
[应用]
英特尔推出Stratix 10加速卡及配套解决方案
日前,英特尔宣布推出采用 Stratix 10 SX FPGA(英特尔超强大的 FPGA)的全新英特尔可编程加速卡 (PAC)。这也是继Arria 10 PAC之后英特尔推出的第二款可编程加速卡产品,该加速卡给予了开发者更强大的性能和功能,以便让FPGA可以更快更方便的更方便开发者加速FPGA开发周期。 据悉,HPE将成为首家将采用 Stratix 10 SX FPGA 的英特尔 PAC,和面向英特尔至强可扩展处理器及FPGA的英特尔加速栈,整合至其服务器产品的 OEM。 HPE 副总裁兼HPC与AI事业部总经理 Bill Mannel 在新闻声明中表示:“我们看到基于 FPGA 的加速器市场增长迅速,越来越多的开发人员
[嵌入式]
英特尔推出Stratix 10加速卡及配套解决方案
智原推出完整的FPGA转换ASIC方案
ASIC设计服务暨IP研发销售厂商智原科技今日宣布提供将FPGA设计转换为ASIC芯片的完整方案,为客户降低整体系统成本及功耗、缩小芯片尺寸,并维持长期稳定供货,避免FPGA停产的风险。透过这套转换FPGA设计的服务,智原已成功完成多种不同应用的项目,将工业用马达控制、电子水表、电子告示牌、POS收银系统,与便携式医疗设备等FPGA设计转换成对效能与成本具有高度竞争力的ASIC芯片。 智原拥有二十多年ASIC设计服务与SoC软硬件整合经验、超过三千个自有开发的IP及IP子系统,除了可以快速选择评估并置换FPGA器件内所需要的IP,亦提供IP客制化服务以符合系统需求;此外,智原特别开发的MPS(Micro-Program Seq
[嵌入式]
基于ARM的快速原型化平台的实现
1 背景介绍 在日益信息化的社会中,各种各样的嵌入式系统已经全面渗透到日常生活的每一个角落。嵌入式系统的功能越来越复杂,这就使得一个嵌入式系统产品从市场需求立项到方案选择、样机研制、定型量产所需要的开发费用越来越多,所需开发时间越来越长。因此,高效的嵌入式系统设计方法就显得尤为重要。 1.1 传统的嵌入式系统设计方法 嵌入式系统开发的关键就是对核心部分进行功能验证。传统的验证方法是建模模拟和制作目标板评估。 通过建模来进行功能验证存在不足。首先就是耗时和准确性互相矛盾。建立高层次的模型需要的时间短,但是模拟不够准确。相反,低层次的模型可以达到满意的评估效果,但是建模耗时长。其次,建模模拟是静态的过程,不能很好地反映系统实际
[单片机]
基于ARM的快速原型化平台的实现
基于FPGA的可变长度移位寄存器优化设计
本文以最大可变长度为N、宽度为1bit的移位寄存器为模型,讨论如何从结构上优化可变长度移位寄存器和有效的FPGA实现。至于宽度不为1bit的情况,可以此类推。   1 可变长度移位寄存器的常用结构   通常可变长度移位寄存器的结构可分为两种:一种是输入分支型(结构A),如图1所示;另一种是输出分支型(结构B),如图2所示。      结构A与结构B有两个共同点:第一,都是由触发器链路加数据流向控制逻辑组成;第二,每级触发器的输入输出都是信号节点,因而各级都需要对本级节点的信号流向进行控制。结构A用n-to-2n译码器来控制信号流向,结构B则用2n:1多路复用器控制信号流向。对于基本逻辑单元为查找表(LUT)+
[工业控制]
基于<font color='red'>FPGA</font>的可变长度移位寄存器优化设计
一种基于FPGA的新型数字电压表研究与设计
  数字电压表是大学物理教学和实验中的重要仪表,其数字化是指将连续的模拟电压量转换成不连续、离散的数字量并加以显示。传统的实验用模拟电压表功能单一、精度低、体积大,且存在读数时的视差,长时间连续使用易引起视觉疲劳,使用中存在诸多不便。而目前数字万用表的内部核心多是模/数转换器,其精度很大程度上限制了整个表的准确度,可靠性较差。本文采用National Semiconductor。公司性能优越的8位A/D转换器ADC0809对模拟电压采样,以一片高性能FPGA芯片为控制核心,以软件实现了诸多硬件功能,对电压信号的转换结果进行准确实时的运算处理并送出显示。系统的主要功能都集成在一块芯片上,大大减少了系统的分立元件数量,降低了功耗,增加
[嵌入式]
一种基于<font color='red'>FPGA</font>的新型数字电压表研究与设计
通过LabVIEW FPGA加速嵌入式系统原型化的过程
嵌入式系统的发展趋势 嵌入式系统一般是指一个独立且具有专门用途的系统,随着半导体技术的飞速发展,嵌入式系统正在渗入现代社会的各个方面,被广泛应用于航空航天、通信设备、消费电子、工业控制、汽车、船舶等领域。巨大的市场需求推动了嵌入式系统向更高的技术水平发展。 嵌入式系统的开发流程,一般可以分为三个阶段:设计,原型化及发布。设计主要是对产品本身以及其中牵涉到的算法、概念进行设计,原型化是对设计的可行性进行验证或评估,发布是产品的最终实现。大部分情况下,整个开发流程中需要牵涉到多种软件开发工具。比如在设计的时候,可能会使用文本数学工具进行算法设计、建模、仿真,在原型化验证阶段,图形化的开发环境现在已经成为仿真、验证的主流工具。在发布
[测试测量]
通过LabVIEW <font color='red'>FPGA</font>加速嵌入式系统原型化的过程
英特尔® FPGA Vision线上研讨会亮点抢先看
英特尔成立独立FPGA公司,加速行业创新 继宣布将可编程解决方案事业部 (PSG) 作为独立业务部门运营后, 英特尔将于3月1日举行FPGA Vision线上研讨会 。届时,首席执行官Sandra Rivera和首席运营官Shannon Poulin将分享有关全新企业品牌、公司愿景与战略,以及市场增长机会的更多信息。 英特尔PSG团队诚邀您参加本次线上研讨会,深入了解独立运营的全新FPGA公司,持续增长的市场及客户需求,以及我们旨在助力行业创新加速的产品路线图。与此同时,线上研讨会还将重点介绍FPGA在AI领域的布局,即如何使AI在数据中心、网络和边缘易于访问及扩展。此外,Rivera和Poulin将重磅发布全新支持工具
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved