首页 > 范文大全 > 正文

图像缩放中抗锯齿单元的设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇图像缩放中抗锯齿单元的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:当前电视机型号的多样化使得在电视信号图像处理过程中数字图像的缩放技术得到了广泛的使用,由此引发的图像缩放后锯齿现象的产生也不可避免的出现。本文针对这种现象,设计了一种在图像缩放中的抗锯齿单元,并用FPGA进行了验证调试,验证结果表明本设计用较少的硬件资源极大程度上改善了图像的锯齿现象。

关键词:抗锯齿;数字图像处理;图像缩放;硬件实现

中图分类号:TN492文献标识码:A文章编号:1009-3044(2012)04-0909-03

Design of Antialiasing Unit in Image Scaling

GUO Xiao-wei1, WANG Xue-shui1, YU Gang2

(1.College of Science, Shandong University of Science and Technology, Qingdao 266510, China; 2.Hisense Electric Co.,Ltd, Qingdao 266071, China)

Abstract: The image scaling, which can match the digital image to the television set, was used widely in the digital image processing because of the variety of the television model. But the image scaling will lead to unwanted jaggies. In this paper an antialiasing unit is designed and verified by FPGA to remove the unwanted jaggies. And the result shows that the jaggies after the image scaling has been improved greatly with less hardware resources after the processing with the antialiasing unit.

Key words: antialiasing; digital image processing; image scaling; hardware implementation

近年来,随着社会生产力水平的提高,人们对于生活质量的要求也越来越高,这使得数字电视的发展极为迅速。由于大屏幕平板液晶显示器的出现以及高清晰度电视的发展,视频终端呈现出多样性[1]。在这种情况下,视频图像的源分辨率往往与显示设备的目标分辨率不同,而为了达到最佳显示效果,必须使得输入的显示图像分辨率与显示终端的物理分辨率一致。基于此功能的需求,图像缩放技术的应用变得极为广泛。然而,无论是图像的缩小还是放大,都会在缩放后的图像边缘处产生锯齿效应。特别是当图像的边缘是非水平和竖直方向时,边缘的阶梯状锯齿效果就更加明显。

高清晰度电视等显示设备对于显示效果要求比较高,因此在进行图像的缩放之后需要进行抗锯齿处理,平滑图像边缘使其达到显示效果要求,然后再进行输出显示。经过FPGA验证,本文设计的抗锯齿单元满足显示设备要求的对锯齿的处理效果。

1锯齿产生原因

在数字图像中,像素点与点之间的值是非连续的,是对连续信号的采样得到的。因此,当所显示物体的边缘为水平或竖直情况时,物体的边缘可以得到不失真的显示,但是,如果物体的边缘是非水平或竖直情况,那么在显示时必然会出现阶梯状边缘,也就是锯齿现象。

当对源图像进行放大时,源图像中原有的锯齿也会随之得到一定程度的放大,从而使放大后的图像边缘锯齿现象更为明显;对图像进行缩小时采用的方法基本为抽取采样法,也就是根据缩小比例从源图像中抽取几个点组成新的图像,此方法也会使得源图像中边缘处的过渡点被舍掉从而导致边缘梯度增大,锯齿现象被加强[2-4]。

2抗锯齿单元的设计

2.1抗锯齿单元整体框架

抗锯齿单元整体框图如图1所示黑框内,主要模块有:读RAM模块(READ CTROL)、中值模块(MED)、边缘检测模块(EDGE)以及修正模块(ADJUST)。

其中RAM中存储的数据为源图像数据,本设计单元的功能便是获取源图像的数据,根据这些数据判断当前插值点是否为边缘上的点并找到修正参数,再通过这些参数来对缩放后的数据进行大小的调整,使最终得到的图像边缘处锯齿效应的到适当修正。

2.2抗锯齿单元中各模块功能

2.2.1读RAM模块

本模块完成读取相应源图像数据,用以提供给后级模块使用计算的功能。

首先根据当前插值点的位置信息来确定需要读入的源图像像素点的位置:根据插值像素的相位信息便可以求得当前插值像素位于那两个像素之间,并求得这两个像素的横纵坐标;以插入点为中心在缩放方向上选取离其最近的六个源像素点,例如,当前为纵向缩放过程,则选择过程如图2左边图所示,图中“x”号所示为插入点位置,选取源图像像素点则为点A、点B、点C、点D、点E和点F,如果为横向缩放过程则为图2右边所示选取;根据源图像在RAM中的存储方式,找到像素点在图像中的坐标位置与RAM中对应存储地址的关系,求得相对应的RAM读地址。

图2源图像像素点选取示意图

最后输出读地址、读信号等读控制信号给RAM进行对应数据的读取,在模块内部有六个寄存器对这六个数据进行缓存,然后输出给中值模块和边缘检测模块。

2.2.2边缘检测模块

本模块通过对源图像的像素点的像素值求梯度,根据梯度值与设置的阈值进行比较从而可以判断出当前的插值点是否位于图像的边缘,然后向后级模块输出一个使能信号,如果该点是在边缘上,则抗锯齿使能信号置1,否则置0[5]。其中考虑到硬件实现的易操作及资源面积限制,求梯度部分是通过求差来近似得到的。

2.2.3中值模块

本模块首先用比较器对选取的源像素点进行排序,得到两个中间值,再通过一个加法器得到两个数的和之后再取平均,一次平均值作为源像素点的中值。考虑到插值点的位置也会影响最终的插入像素的像素值,因此,根据插入点在两点间的位置比例生成一个比例系数,然后对这个中值进行微调整[6][7]。

2.2.4修正模块

在本模块中,首先用中值模块得到的中值与缩放模块输入进来的缩放后插值数据进行求和平均,以此作为抗锯齿修正后的像素值。但是,对于源图像来说只对边缘处像素进行抗锯齿操作,而非边缘处并不进行任何抗锯齿处理,因为如果分边缘处也进行抗锯齿处理会使得处理后图像的清晰度变差。因此将边缘检测模块产生的使能信号作为一个多路选择器的选择控制信号,如图3所示,当抗锯齿单元检测出当前处理像素处于图像边缘时,则以修正后的像素值作为输出,否则直接输出缩放后像素值。

2.3抗锯齿单元内部数据流向

对于抗锯齿单元来说,处理数据来源共有两个:图像缓存RAM和上级缩放模块。

对于源图像数据来说首先经过读RAM模块的选取和缓存后,分两路进入中值模块和边缘检测模块得到修正的控制处理信号,然后将这些控制控制处理信号输入到修正模块进行修正后输出。对于缩放后图像数据只需要经过修正模块,在其内部与控制处理信号相结合后即可输出最终的数据。

通过数据流向可以看出,本单元的设计能够在前级缩放部分进行缩放处理的同时进行本单元控制处理信号的计算获取,因此能够最大化节省处理时间。

3 FPGA验证结果

本设计使用的FPGA是altera的CycloneII,通过VGA接口连接显示器显示图像[8]。当不进行抗锯齿处理时,图像显示如图5中(A)所示;进行抗锯齿处理后,图像显示如图中(B)所示。通过对比不难发现:未经过抗锯齿操作的缩放后的图像,在非横向和非纵向边缘处的阶梯状锯齿效应十分明显,图片因此显得比较粗糙;经过抗锯齿处理后的图像边缘锯齿效果的到了很大的改善,图片显得更加平滑细腻。

4结论

本文根据锯齿的产生原理而设计的抗锯齿单元,实现功能是用硬件抑制或消除图像缩放后的边缘锯齿效应。通过FPGA的验证结果表明,本设计有很明显的抗锯齿作用,满足系统要求。

参考文献:

[1]冯跃跃.电视原理与数字电视[M].北京:北京理工大学出版社,2008:139-164.

[2]王蕾.基于FPGA的视频图像放大处理系统[D].沈阳:东北大学,2009:21-69.

[3] Keshab K,Parhi.VLSI Digital Signal Processing Systems[M].3rd rd.[S.l.],2004:34-451.

[4] Rafael C.Gonzalez ,Richard E.Woods. Digital Image Processing[M].2nd ed.BEIJING:Publishing House of Electronics Industry,2007: 132-141.

[5]汪颖.数字电视后视频处理芯片算法设计[D].杭州:浙江大学,2005:36-49.

[6]刘涛,高青伟,赵国荣.一种新的基于圆锥滤波的直线反走样生成技术[J].工程图学学报,2006(3):61-64.

[7]赵洪亮,王晓宁.计算机测控系统模拟通道中抗混叠/平滑滤波器的设计[J].山东矿业学院学报,1999,18(1):78-80.

[8]夏宇闻.Verilog数字系统设计教程[M].2版.北京:北京航空航天大学出版社,2008:56-258.