当前位置:首页 > 模拟 > 模拟
[导读] 引言 随着HDTV 的普及,以LCD-TV 为主的高清数字电视逐渐进入蓬勃发展时期。与传统CRT 电视不同的是,这些高清数字电视需要较复杂的视频处理电路来驱动,比如:模数转换(A/D Converter)、去隔行(De-interl

  引言

       随着HDTV 的普及,以LCD-TV 为主的高清数字电视逐渐进入蓬勃发展时期。与传统CRT 电视不同的是,这些高清数字电视需要较复杂的视频处理电路来驱动,比如:模数转换(A/D Converter)、去隔行(De-interlacer)、视频缩放(Scaler)和视频图像增强(Video Enhancement)等等。由于HDTV 的带宽较高,720p 信号(1280×720᤼Hz)的像素速率达到74MHz,因此针对HDTV 的视频处理算法需要更高性能的器件。采用大规模高工艺的ASIC 芯片是目前这个问题的主要解决方案,Pixelworks、Genesis 等公司均推出了基于大规模ASIC 的解决方案。但是,随着FPGA 工艺的不断改善,其性价比与日俱增,尤其是Xilinx、Altera 等厂商纷纷采用90nm 工艺量产后,其价格不断降低,Xilinx 最新推出的Spartan-3E系列FPGA 120 万门的售价只有9 美元,已经在小量产品的IC 设计中开始替代结构化ASIC,在数字高清电视这类价格敏感型消费类电子产品中也开始大量采用。

       本文介绍了如何在FPGA 中利用Block RAM 的特殊结构实现HDTV 视频增强算法中灰度直方图统计。

       灰度直方图统计

       灰度直方图统计是图像处理过程中很常用的一个步骤,简单来讲,就是对一幅图像各个灰度的像素进行计数,得到一张灰度分布表。例如,8 位量化的灰度图像统计结果就是256个值,分别代表0-255 每个灰度像素的数量,如图1 所示为Lena 图像的灰度直方图统计结果。直方图是分析一幅图像亮度分布特性有力的工具,根据它的结果可以进行诸如灰度拉伸、自动对比度、动态伽马调整等操作。

图1 Lena 图像的灰度直方图统计

       FPGA算法统计

       在计算机或者DSP 上实现直方图统计时,我们通常会使用数组结构,即在内存中开辟一个整数数组来进行计数,但是在FPGA 中定义数组是非常消耗资源的,尤其是当数组成员的位宽很大时。例如用触发器来统计256 灰度的720p 图像的直方图,将消耗4000 个逻辑单元(每个逻辑单元是一个四输入查找表),这几乎消耗了一个Spartan-3E 25 万门器件(XC3S250E)80%的逻辑资源。

       幸运的是,FPGA 器件提供了一个很好的结构可以处理这类问题,这就是Block RAM。在Altera 和Xilinx 的各型号FPGA 器件上都集成了一种称为Block RAM 的片上内存,它们以若干Kbits 为一块,不同型号集成不同数量的块,例如在Spartan-3E 系列中以18Kbits 为一块,在规模最小的型号XC3S100E 上集成了4 块这样的内存,如图2 所示:

图2 Spartan-3E 系列FPGA 集成的Block RAM

       这种内存很容易实现数组类型的结构,而且这种内存被设计成双端口方式,即可以用两组独立的地址数据总线来读写,因此可以用不到一块的Block RAM 就实现256×24 这样的高位宽计数器阵列来进行HDTV 视频图像的直方图统计,如图3 所示:

图3 用Block RAM 实现计数器阵列

       以Block RAM 的结构为核心,按照以下几点来设计直方图统计算法:

       1. Block RAM 使用双端口方式,端口A 用来将内存单元计数值读出,端口B 将计数值加一后写回该内存单元。

       2. 内存的地址在像素有效时由像素灰度值选择,在行同步期间不计数,在场同步期间使用一个递增计数器在前256 个时钟将统计结果输出,在之后的256 个时钟将RAM 块清零。       3. 双端口读写时钟相位相差180 度,以避免双端口读写冲突。

       4. 数据的读出、加一和写入采用了流水线结构以提高性能,所以在地址控制上要进行适当暂存以保证数据同步。

       图4 为256 级灰度720p 视频图像直方图统计的算法实现功能框图:

 

图4 用FPGA 的Block RAM 实现直方图统计

       结语

       该算法借助FPGA 片上的高性能Block RAM(读写速度可以到200 兆以上),可以实现SMPTE 定义的从720p 到1080p 的各种HDTV 视频图像的实时直方图统计,仅占用FPGA不到一百个逻辑单元和一块Block RAM,是一种性价比较高的FPGA 实现直方图统计的算法,而且该算法具有很好的通用性,可以应用到各种需要大量高位宽计数器的高速FPGA设计中。

       参考文献:

       1. Xilinx,Spartan-3E FPGA datasheet,2005.3
       2. Xilinx,Using Block RAM in Spartan-3 Generation FPGAs,2005.3

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年8月21日,深圳将迎来一场聚焦FPGA技术与产业应用的盛会——2025安路科技FPGA技术沙龙。本次沙龙以“定制未来 共建生态”为主题,汇聚行业...

关键字: FPGA 核心板 开发板

在现代电子系统中,现场可编程门阵列(FPGA)凭借其开发时间短、成本效益高以及灵活的现场重配置与升级等诸多优点,被广泛应用于各种产品领域。从通信设备到工业控制,从汽车电子到航空航天,FPGA 的身影无处不在。为了充分发挥...

关键字: 可编程门阵列 FPGA 数字电源

2025年8月4日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Altera®的Agilex™ 3 FPGA C系列开发套件。此开...

关键字: FPGA 边缘计算 嵌入式应用

内窥镜泛指经自然腔道或人工孔道进入体内,并对体内器官或结构进行直接观察和对疾病进行诊断的医疗设备,一般由光学镜头、冷光源、光导纤维、图像传感器以及机械装置等构成。文章介绍了一款基于两片图像传感器和FPGA组成的微型3D内...

关键字: 微创 3D内窥镜 OV6946 FPGA

运用单片机和FPGA芯片作为主控制器件 , 单片机接收从PC机上传过来的显示内容和显示控制命令 , 通过命令解释和数据转换 , 生成LED显示屏所需要的数据信号和同步的控制信号— 数据、时钟、行同步和面同步 。FPGA芯...

关键字: 单片机 FPGA LED显示屏

在异构计算系统中,ARM与FPGA的协同工作已成为高性能计算的关键架构。本文基于FSPI(Fast Serial Peripheral Interface)四线模式,在150MHz时钟频率下实现10.5MB/s的可靠数据...

关键字: ARM FPGA FSPI

在全球FPGA市场被Xilinx(AMD)与Intel垄断的格局下,国产FPGA厂商高云半导体通过构建自主IP核生态与智能时序约束引擎,走出差异化高端化路径。本文深入解析高云半导体FPGA工具链的两大核心技术——全栈IP...

关键字: FPGA 高云半导体

2025年6月12日,由安路科技主办的2025 FPGA技术沙龙在南京正式召开,深圳市米尔电子有限公司(简称:米尔电子)作为国产FPGA的代表企业出席此次活动。米尔电子发表演讲,并展出米尔基于安路飞龙派的核心板和解决方案...

关键字: FPGA 核心板 开发板

高 I/O、低功耗及先进的安全功能,适用于成本敏感型边缘应用

关键字: FPGA I/O 机器视觉

本文讨论如何为特定应用选择合适的温度传感器。我们将介绍不同类型的温度传感器及其优缺点。最后,我们将探讨远程和本地检测技术的最新进展如何推动科技进步,从而创造出更多更先进的温度传感器。

关键字: 温度传感器 CPU FPGA
关闭