论文部分内容阅读
数字图像旋转和缩放,是数字图像处理中对图像信号相对显示几何位置和大小变换的技术,广泛应用于电子消旋系统、数码相框、医学显示系统、投影显示系统等产品。本文将设计一种基于FPGA的图像旋转引擎,它能实现图像的旋转和缩放功能,并能满足上述应用场合的实时性的要求。
图像旋转的算法包括两方面:坐标旋转算法和图像插值算法。坐标旋转算法的实现电路是图像旋转引擎的设计重点和难点。坐标旋转算法中包括了sin、cos的计算,而sin、cos属于超越函数,无法在电路上直接实现。本文在研究各种间接实现坐标旋转算法的电路方案的基础上,对现有的CORDIC坐标算法电路作了两点改进。其一是提出增加两个K因子乘法器以实现图像的缩放功能。与传统的CORDIC算法电路相比,改进后的电路仅用两个乘法器就解决CORDIC算法的K去模问题,并增加了图像缩放功能。其二是电路采用流水线结构。与传统的迭代结构的电路相比,流水线结构的电路有较高运算速度,能满足实时图像处理的速度要求。
图像插值电路是图像旋转引擎的另一设计重点。常用的图像插值算法包括最近邻域插值、双线性插值、双三次插值。本文采用主观评介和PSNR客观评介相结合的方法对三种算法的图像质量进了比较。在此基础上,比较了三种插值算法电路实现复杂度。结果表明,双线性插值算法有较优的图像质量和较低的电路规模。因此采用双线性插值算法设计了插值器电路。
图像旋转引擎的另一个设计难点是图像的帧存储。通常的图像处理系统都采用DDRSDRAM作为数据存储器。由于图像旋转对帧存数据的读取是不连续的,DDR SDRAM存储器在读取图像数据的时候要频繁地切换行地址。这使得存储器的读操作效率低下。本文提出一种分区间帧存结构,大大减少了读取数据时DDR SDRAM的行切换次数,提高了存储器的读操作效率,使数据的读取速度能满足处理速度的要求。
设计以Altera CycloneⅡ EP2C35F672C8为目标器件,对算法的实现电路进行功能和时序仿真。仿真结果表明,算法电路有较高的转换精度和较高的运算速度,其中坐标转换模块的时钟频率达到130MHz,信号处理模块的时钟频率达到140MHz。最后,在FPGA硬件平台上对数字图像旋转引擎进行了整体验证。图像的输入信号取自 PC机的 VGA信号接口,处理后的图像输出液晶显示器的VGA信号接口。验证的结果显示,数字图像旋转引擎所处理的图像清晰稳定,能设定旋转角度、旋转方向和缩放比例,实现自如流畅的动态画面旋转和缩放。