当前位置: 首页 > 专利查询>陈怡专利>正文

一种基于CORDIC算法的图像旋转VLSI结构制造技术

技术编号:9668569 阅读:136 留言:0更新日期:2014-02-14 07:31
本发明专利技术属于VLSI结构设计领域,为一种基于CORDIC算法的图像旋转VLSI结构。该结构采用CORDIC算法来计算原图像旋转一定角度过后的新坐标,采用双线性插值算法来计算新坐标下的图像像素值。本发明专利技术只用了移位和加减操作,采用13级流水线设计了CORDIC算法的硬件结构,有效改善了传统CORDIC算法中由于包含乘法操作而出现的关键时序过长,速度过慢的问题。本发明专利技术采用两级流水线实现了双线性插值算法的硬件结构;通过控制单元使得CORDIC单元,存储单元和双线性插值单元相互配合完成图像的旋转。与现有的图像旋转硬件实现方法相比,本发明专利技术具有面积小,速度快的优点,可以有效应用于实时图像旋转处理中。

【技术实现步骤摘要】
—种基于CORDIC算法的图像旋转VLSI结构所属
本专利技术属于超大规模集成电路(VLSI)结构设计领域,具体涉及到一种基于CORDIC算法的图像旋转VLSI结构。
技术介绍
数字图像旋转是数字图像处理中很重要的一个步骤,它被广泛应用于医疗图像识另IJ,机器人技术,条码识别等领域。在图像旋转中,速度和精度是评估图像旋转单元质量的两个最为关键的因素。现在应用最广泛的图像旋转方法都是基于软件实现的。由于软件是顺序执行代码,速度较慢,很难适应高精度图像处理和实时图像处理的要求。于是通过硬件结构实现图像旋转成为一种需求。硬件并行处理多个单元,可有效提高图像处理速度。现在主要有三种硬件实现图像旋转的方法。第一种传统的图像旋转方法使用乘法器和包含三角函数的查找表(LUTs)来实现。由于使用了较多乘法器,采用这种方法实现的图像旋转系统结构复杂,精度低,速度慢,很难适应现代图像处理的应用。第二种方法分解旋转矩阵,通过一系列的数学变换来实现图像旋转。第三种方法采用C0RDIC(thecoordinate rotational digital computer,坐标旋转计算机)算法来实现图像旋转。CORDIC算法是用来计算一些常用的基本运算函数和算术操作的循环迭代算法,其基本思想是用一系列特殊的角度旋转逼近向量需要旋转的角度。最早将CORDIC算法应用到图像旋转硬件实现中的是Ghosh和Majumdar。他们设计了一款ASIC芯片,将一帧图像分解成若干个窗口,然后通过并行和流水线结构并行地旋转每个窗口来实现图像旋转。Suchitra在他的论文中也提出了一种新颖的基于窗口的旋转算法,这种算法具有较高的吞吐率。基于窗口的图像旋转算法无可避免地会在旋转过后的图像中引入部分失真,这对于越来越注重用户体验的电子产品来说是不可容忍的。李杰明和郑学仁提出了一种基于CORDIC算法的数字图像旋转的硬件实现结构,但他们仍然没有解决CORDIC算法的最后需要使用乘法器来进行模校正的问题。
技术实现思路
本专利技术提出了一种新颖的基于CORDIC算法的图像旋转VLSI结构,该结构在硬件实现时可以减少芯片的面积,提供芯片的工作速度,充分发挥硬件的并行和流水线的速度优势。本专利技术提供的基于CORDIC算法的图像旋转VLSI结构,其特征在于:它包括分频单元,CORDIC单元,地址产生单元,数据准备单元,双线性插值单元以及数据存储单元。分频单元将主时钟进行6分频。CORDIC单元用于将输入的坐标按照输入的角度计算出旋转过后的新坐标。地址产生单元用于产生新像素点的地址以及需要新图像像素点的坐标。数据准备单元接收CORDIC单元输出的新坐标的整数部分,并根据新坐标的整数部分求出其相邻的四个像素点的像素值,输出给双线性插值单元。双线性插值单元接收数据准备单元输出的四个像素点的值以及CORDIC单元输出的新坐标的小数部分,由此来计算出新坐标点的像素值。数据存储单元分为两部分。第一部分存储由摄像头采集到的原始数据,第二部分存储处理过后的像素点的像素值。本专利技术一般配合采集用的摄像头以及可以显示图像的IXD—起使用。摄像头采集到数据过后,系统将数据存储在数据存储单元中。然后通过一个使用信号告诉图像旋转电路开始工作。地址产生单元接收到使能信号过后,通过计数器,开始依次产生新图像的坐标以及新图像的像素在数据存储单元中的存储地址。新图像的坐标和旋转角度送到CORDIC单元中,CORDIC单元使用8级流水线对坐标进行旋转。每一级将坐标顺时针或者逆时针方向旋转arctar^H1—1)度(i指第i级流水线)。使用8级流水线对坐标旋转过后,旋转精度可以达到0.4476度,可以满足实际的要求。坐标旋转过后,由于基本的旋转改变了矢量的模长,所以需要乘上一个模校正系数料《) = fi(l + 2_2')_1/2来修正模长,k(n)是一个收敛的函数。当n趋于无穷大时,k(n)趋近于一个固定值(0.60725)。直接在流水线结构之后附加乘法器的直接实现方法使原本由移位器和加法器组成的整体结构变得不规则,同时乘法器占用很大资源且会降低整个流水线的吞吐率。本专利技术中通过将k(n)进行因式分解,将其转变为移位和加减法运算,最终使用5级流水线替代了模校正乘法,进一步降低了硬件复杂度,使整体结构规则统一,有利于硬件实现。通过移位以及加减操作计算出新坐标对应于原始图像中的坐标,此坐标包含有整数部分以及小数部分。CORDIC单元将整数部分输出给数据准备单元,数据准备单元计算出此坐标相邻的四个点的坐标,并从数据存储模块中读出这四个坐标的像素值,然后将这四个像素值传给双线性插值单元。双线性插值单元接收数据准备单元输出的四个像素值以及CORDIC单元输出的坐标小数部分,并由此计算出新坐标的像素值,存入数据存储单元中。当所有的新坐标的像素值都已经计算出来并存储在数据存储单元中后,一幅图像完成旋转。本专利技术与其他数字图像旋转方法相比较有如下优势:(I)采用全硬件实现。基于CORDIC算法的图像旋转VLSI结构可以很方便的在FPGA 上实现以及米用 ASIC (Application Specific Integrated Circuit)实现。(2)引入流水线结构,提高了整个系统的速度。在CORDIC单元中设计了 8级流水线实现坐标旋转,然后设计了 5级流水线来替代模校正乘法。在双线性插值单元中设计了两级流水线,节约了乘法器,提高了吞吐率。(3)通过地址产生单元,数据准备单元和分频单元,使系统统一工作,不会出现时序错误。【附图说明】图1为基于CORDIC算法的图像旋转VLSI总体结构示意图图2为CORDIC单元的流水线结构图3为双线性插值算法示意图图4为双线性插值单元的流水线结构【具体实施方式】(I)地址产生单元地址产生单元采用了计数器来依次产生旋转过后新图像中的坐标,然后送往CORDIC单元寻找对应于原图像中的坐标。(2) CORDIC 单元需要旋转的角度与需要进行旋转的坐标将被送往CORDIC单元。CORDIC单元中设计了 8级流水线实现坐标旋转,然后设计了 5级流水线来替代模校正乘法,总共13级流水线。CORDIC单元的流水线结构如附图图2所示。在CORDIC单元中,首先将输入的坐标值左移4位,将低4位扩展为坐标的小数部分。设输入的坐标为(X,y),(X’,y’)为原图像中的对应坐标。那么(x,y)与(x’,y’ )的对应关系为:X1 = cos 0 (x+ytan 0 )(I)Y1 = cos 0 (y-xtan 0 )令0 等于 arctan2_i (i 为整数),则 tan 0 = 2_1,COs0 = 1/-71 + 2'2'。令 k = cos 0 ,则式⑴变为:X' = k(x+y2_i)(2)Y1 = k(y-x2_i)`通过式(2)我们只能计算出特定角度(arctar^l的旋转坐标。要计算图像旋转任意角度过后的坐标位置,我们可以将角度e进行分解,让它可以用一系列分解的角度Qi来进行线性表示:0 = S1O^S2Q2+...+ 6nan(3)其中Si = ±1, a j = arctan2-(1-1)。S 4代表每次旋转的方向。另Zi = 0「0 H,则有=Zi = Zp1-S i本文档来自技高网
...

【技术保护点】
一种基于CORDIC算法的图像旋转VLSI结构,其特征在于:它包括分频单元(1)、CORDIC单元(2),地址产生单元(3),数据准备单元(4),双线性插值单元(5)、数据存储单元(6);分频单元(1)将输入时钟进行六分频,将分频过后的时钟输出给CORDIC单元(2)、地址产生单元(3)以及双线性插值单元(5);CORDIC单元(2)接收坐标以及旋转角度,将旋转过后的坐标输出给数据准备单元(4);地址产生单元(3)依次产生旋转过后的图像的坐标;数据准备单元(4)根据CORDIC单元(2)输入的坐标,找出那个点相邻四个点的像素值并输出给双线性插值单元(5);双线性插值单元(5)根据CORDIC单元(2)输出的坐标以及数据准备单元(4)输出的四个点的像素值求得对应坐标的像素值并存入数据存储单元(6)中。

【技术特征摘要】
1.一种基于CORDIC算法的图像旋转VLSI结构,其特征在于:它包括分频单元(I)、CORDIC单元(2),地址产生单元(3),数据准备单元(4),双线性插值单元(5)、数据存储单元(6);分频单元(I)将输入时钟进行六分频,将分频过后的时钟输出给CORDIC单元(2)、地址产生单元(3)以及双线性插值单元(5) ;C0RDIC单元(2)接收坐标以及旋转角度,将旋转过后的坐标输出给数据准备单元(4);地址产生单元(3)依次产生旋转过后的图像的坐标;数据准备单元(4)根据CORDIC单元(2)输入的坐标,找出那个点相邻四个点的像素值并输出给双线性插值单元(5);双线性插值单元(5)根据CORDIC单元(2)输出的坐标以及数据准备单元(4)输出的四个点的像素值求得对应坐...

【专利技术属性】
技术研发人员:陈怡张萌陈均
申请(专利权)人:陈怡张萌陈均
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1