一种图像放大方法及装置的制作方法

文档序号:6603934阅读:194来源:国知局
专利名称:一种图像放大方法及装置的制作方法
技术领域
本发明涉及图像处理领域,特别涉及一种图像放大方法及装置。
背景技术
在现有的图像处理过程中,常常需要采用一种有效的方法来更改原始图像的大 小,并保证更改后的目标图像具有较好的质量,不会使得放大后的目标图像产生明显的图 像失真。其中,如何保证放大后得到的目标图像具有较好的质量,而且不会产生明显的图像 失真是图像放大技术的关键所在。在将原始图像放大得到目标图像后,在目标图像中与原 始图像像素点对应的新像素点之间的间隙会变大,此时就需要在保留原始图像像素点灰度 值的基础上构造出新的像素点来填补这些空隙,保证放大得到的目标图像具有较好的图像 质量,不会产生明显的图像失真。目前,在现有的图像放大处理过程中,一般采用双线性插值方法来完成。该方法可 以较好地消除锯齿或/和马赛克等明显的图像质量问题,保留原始图像的像素点信息,使 得放大后的目标图像比较平滑,有较好的视觉效果。结合图1和图2对采用双线性插值图像放大的原理进行详细说明,其中,图1为原 始图像示意图,图2为经过插值后得到的目标图像示意图,假设图像在水平方向放大m倍, 在垂直方向放大n倍。首先,根据几何位置对应关系,使得图2目标图像中与图1原始图像像素位置 对应的新像素点灰度值保持不变,如图2目标图像中新像素点(ma,nb)、(m(a+l),nb)、 (ma, n (b+1))、(m (a+1),n (b+1))的像素灰度值 G (ma, nb)、G (m (a+1),nb)、G (ma, n (b+1))、 G(m(a+1), n(b+l))与图1原始图像中对应的四个相邻像素点(a, b)、(a+1, b), (a, b+1)、 (a+1,b+1)的像素灰度值 G' (a,b)、G' (a+l,b)、G' (a,b+l)、G' (a+l,b+l)相同。其次,在图2所示目标图像中的新像素点(ma, nb)、(m(a+l),nb)、(ma, n(b+l))、 (m (a+1), n (b+1))之间会产生空隙,此时需要插入新的像素点以保证得到的目标图像不会 产生失真。在本步骤中,如将在图2所示目标图像的4个像素点(ma,nb)、(m(a+l),nb)、(ma, n(b+l))、(m(a+l),n(b+l))之间产生的空隙中插入新的像素点。因为原始图像在水平方向 放大m倍,在垂直方向放大n倍后得到目标图像,所以在目标图像中,新像素点(ma,nb)所 在行与新像素点(ma,n(b+l))所在行之间需要插入n_l行新的像素点,新像素点(ma,nb) 所在列与新像素点(m(a+l),nb)所在列需要插入m_l列新的像素点。在双线性插值过程中,利用目标图像中(ma, nb)、(m(a+l),nb)、(ma, n(b+l))和 (m(a+1),n(b+1))四个像素点的灰度值来计算位于该四个像素点所围区域内需要插入新像 素点的灰度值后插入新的像素,从而完成图像的放大。具体过程如下所述。首先,在垂直方向进行线性插值放大,即在新像素点(ma,nb)、(ma, n(b+l))之间 插入n-1个新的像素点(ma,nb+i),其中,i = 1 n_l,且i、n都为整数;即插入新像素 点(ma, nb+1)、(ma, nb+2).......、及(ma, nb+n-1)。在新像素点(m(a+l), nb)、(m(a+l),n(b+l))之间插入n-1个新的像素点(m(a+l),nb+i),其中,i = 1 n_l,且i、n都为整数; 即插入新像素点(m(a+l),nb+l)、(m(a+l),nb+2)、......、及(m(a+l),nb+n-1)。垂直方向
插值放大时所要插入像素点的灰度值计算如公式(1)和(2)所示
其中,i = 1 n-1,且i、n都为整数。其次,在垂直方向完成线性插值放大后,进行水平方向的插值放大,即在新像素点 (ma,nb)、(m(a+l),nb)之间插入 m_l 个新的像素点(ma+j,nb),其中,j = 1 m_l,且 j、m
都为整数;即插入新像素点(ma+l,nb)、(ma+2,nb).....及(ma+m-l,nb)。在新像素点(ma,
n(b+l))、(m(a+l), n(b+l))之间插入 m_l 个新的像素点(ma+j, n(b+l)),其中,j = 1 m-1,且 j、m 都为整数;即插入新像素点(ma+l,n(b+l))、(ma+2,n (b+1))、...、及(ma+m-1,
n(b+l))。水平方向插值放大时所要插入像素点的灰度值计算如公式(3)和⑷所示 其中,j = 1 m-1,且j、m都为整数。对于在垂直方向完成插值放大后新插入的像素点(ma,nb+i)、(m(a+l), nb+i)之 间在水平方向放大时,需要插入的新像素点(ma+j,nb+i)像素灰度值为 其中,i= 1 n-1,j = 1 m-1,且 i、j、m、n 都为整数。以上在放大原始图像时,是对原始图像先在垂直方向上放大,再在水平方向上放 大得到目标图像为例进行说明。对于对原始图像先在水平方向上放大,再在垂直方向上放 大的情况与上述方式相似,这里不再赘述。由公式⑴ (5)所示双线性插值的图像放大原理可以看出,在计算目标图像中 插入的新像素点的灰度值过程中,需要进行多次的浮点乘法及浮点加法运算,这样在图像 放大装置中实现时就会需要大量的乘法器资源来实现目标图像的放大,因此导致了在目前 采用的双线性插值方法进行目标图像放大时,会耗费大量的乘法器资源,造成图像放大装 置系统资源的紧张。

发明内容
有鉴于此,本发明提供了一种图像放大装置,使用该装置放大图像,能够节省大量 的乘法器硬件资源。本发明提供了一种图像放大方法,该方法能够节省大量的乘法器硬件资源。根据上述目的,本发明的技术方案是这样实现的一种图像放大装置,包括数据输入单元、第一数据存储单元、预置查找表单元、第 一方向放大单元、第二方向放大单元及第二数据存储单元,所述第一方向与第二方向相互 垂直,其中,数据输入单元,用于将原始图像各个像素点的位置及灰度值输入到第一数据存储 单元中;第一数据存储单元,用于暂存原始图像中各个像素点的位置及灰度值,将原始图 像中各个像素点的位置及灰度值依次输入到第一方向放大单元;预置查找表单元,用于存储图像在放大过程中所需对应的移位位数信息;第一方向放大单元,用于从第一数据存储单元读取原始图像各个像素点的灰度值 后,首先根据几何位置对应关系,使得目标图像与原始图像像素位置对应的新像素点灰度 值保持不变;其次,根据第一方向放大倍数和所要插入像素点在第一方向两相邻像素点的 灰度值计算要插入像素点的灰度值,过程为根据预置查找表单元中第一方向放大倍数及 在计算第一方向插入像素点灰度值时所对应的移位位数,对第一方向与插入像素点相邻的 两个像素点灰度值分别进行向左的移位后相加得到第一方向插入像素点灰度值放大了第 一方向放大倍数的值;然后根据预置查找表单元中预先设置的大数E除以第一方向不同放 大倍数取整后对应的移位位数,对得到的第一方向插入像素点灰度值放大了第一方向放大 倍数的值进行向左移位与加法运算,该大数E化为2的整数次幂的形式,且大数E除以第一 方向放大倍数的值大于1;然后将得到的第一方向插入像素点灰度值放大了第一方向放大 倍数的值进行向左移位与加法运算后的结果进行相应位的截断,得到第一方向各个要插入 像素点的第一方向灰度值,按照各个像素点的位置,依次存储到第二数据存储单元中;第二数据存储单元,用于暂存第一方向图像放大后的各个像素点的位置及灰度 值,并将第一方向放大图像各个像素点的位置及灰度值依次输入到第二方向放大单元;第二方向放大单元,用于根据第二方向放大倍数和要插入像素点在第二方向两相 邻像素点的灰度值计算要插入像素点的灰度值,过程为根据预置查找表单元中第二方向 放大倍数及在计算第二方向插入像素点灰度值时所对应的移位位数,对第二方向与插入像 素点相邻的两个像素点灰度值分别进行向左的移位后相加得到第二方向插入像素点灰度 值放大了第二方向放大倍数的值;然后根据预置查找表单元中预先设置的大数E除以第二 方向不同放大倍数取整后对应的移位位数,对得到的第二方向插入像素点灰度值放大了第 二方向放大倍数的值进行向左移位与加法运算,该大数E化为2的整数次幂的形式,且大数 E除以第二方向放大倍数的值大于1 ;然后将得到的第二方向插入像素点灰度值放大了第 二方向放大倍数的值进行向左移位与加法运算后的结果进行相应位的截断,得到第二方向 各个要插入像素点的灰度值,插入到对应的像素点,得到放大后的目标图像。所述第一数据存储单元包括第一随机存储器、第二随机存储器,其中,第一随机存储器,用于暂存原始图像中各个像素点的位置及灰度值;
第二随机存储器,用于暂存原始图像中各个像素点的位置及灰度值;第一随机存储器与第二随机存储器并行输出第一方向上两相邻像素点的位置及 灰度值。所述第二数据存储单元由寄存单元及寄存延迟单元组成,其中,寄存延迟单元的 数据输出要比寄存单元的数据输出延迟一个时间周期,由寄存单元及寄存延迟单元并行输 出第二方向两相邻像素点的位置及灰度值。所述第一方向放大单元包括第一移位加法寄存单元、第二移位加法寄存单元、加 法单元、第三移位加法寄存单元及截断单元,其中,第一移位加法寄存单元,用于根据预置查找表单元中第一方向放大倍数及在计算 第一方向插入像素点灰度值时所对应的移位位数,对目标图像中要插入像素点在第一方向 上两相邻像素点中前一个像素点的灰度值向左移位相加后,发送给加法单元;第二移位加法寄存单元,用于根据预置查找表单元中在计算第一方向插入像素点 灰度值时所对应的移位位数,对目标图像中要插入像素点在第一方向上两相邻像素点中后 一个像素点的灰度值向左移位相加后,发送给第一方向加法单元;加法单元,用于将从第一移位加法寄存单元得到的移位处理的灰度值及从第二移 位加法寄存单元得到的移位处理的灰度值相加,得到第一方向要插入像素点的放大了第一 方向放大倍数的灰度值,然后发送给第三移位加法寄存单元;第三移位加法寄存单元,用于根据预置查找表单元中的大数E除以第一方向放大 倍数取整后对应的移位位数,再进行向左的移位相加,然后发送给截断单元;截断单元,用于根据系统的截取指令,对在第三移位加法单元向左移位相加后的 值截取相应位的数据,得到第一方向各个要插入像素点的实际灰度值,进行第一方向上的 要插入像素点的灰度值插入。所述第二方向放大单元包括第一移位加法寄存单元、第二移位加法寄存单元、加 法单元、第三移位加法寄存单元及截断单元,其中,第一移位加法寄存单元,用于根据预置查找表单元中第二方向放大倍数及在计算 第二方向插入像素点灰度值时所对应的移位位数,对目标图像中要插入像素点在第二方向 上两相邻像素点中前一个像素点的灰度值向左移位相加后,发送给加法单元;第二移位加法寄存单元,用于根据预置查找表单元中在计算第二方向插入像素点 灰度值时所对应的移位位数,对目标图像中要插入像素点在第二方向上两相邻像素点中后 一个像素点的灰度值向左移位相加后,发送给加法单元;加法单元,用于将从第一移位加法寄存单元得到的移位处理的灰度值及从第二移 位加法寄存单元得到的移位处理的灰度值相加,得到第二方向要插入像素点的放大了第二 方向放大倍数的灰度值,然后发送给第三移位加法寄存单元;第三移位加法寄存单元,用于根据预置查找表单元中的大数E除以第二方向放大 倍数取整后对应的移位位数,再进行向左的移位相加,然后发送给截断单元;截断单元,用于根据系统的截取指令,对在第三移位加法单元向左移位相加后的 值截取相应位的数据,得到第二方向各个要插入像素点的实际灰度值,进行第二方向上的 要插入像素点的灰度值插入。所述第一方向放大单元为垂直方向放大单元,第二方向放大单元为水平方向放大单元;或者第一方向放大单元为水平方向放大单元,第二方向放大单元为垂直方向放大 单元。一种图像放大方法,该方法包括根据几何位置对应关系,使得目标图像中与原始图像像素位置对应的新像素点灰 度值保持不变;在第一方向上,根据第一方向图像放大倍数及在第一方向进行插值运算时预置查 找表内所对应的移位位数,对第一方向在要插入像素点的两个相邻像素点灰度值分别向左 移位后相加得到插入像素点灰度值放大了第一方向放大倍数的值;然后根据预置查找表单 元中预先设置的大数E除以第一方向放大倍数取整后对应的移位位数进行向左移位与加 法运算,该大数E化为2的整数次幂的形式,且大数E除以第一方向放大倍数的值大于1 ; 然后将得到的第一方向插入像素点灰度值放大了第一方向放大倍数的值进行向左移位与 加法运算后的结果进行相应位的截断,得到第一方向各个要插入像素点的灰度值,插入对 应的像素点后,得到在第一方向完成插值放大的图像;在第二方向上,根据第二方向图像放大倍数及在第二方向进行插值运算时预置查 找表内所对应的移动位数,对第二方向在要插入像素点的两个相邻像素点灰度值分别向左 移位后相加得到插入像素点灰度值放大了第二方向放大倍数的值,然后根据预置查找表单 元中预先设置的大数E除以第二方向放大倍数取整后对应的移位位数进行向左移位与加 法运算,该大数E化为2的整数次幂的形式,且大数E除以第二方向放大倍数的值大于1 ; 然后将得到的第二方向插入像素点灰度值放大了第二方向放大倍数的值进行向左移位与 加法运算后的结果进行相应位的截断,得到第二方向各个要插入像素点的灰度值,插入到 对应的像素点,得到放大后的目标图像,完成图像的放大。所述第一方向和第二方向两个方向互相垂直,当所述第一方向为垂直的,所述第 二方向为水平的;或者当所述第一方向为水平的,所述第二方向为垂直的。从上述方案可以看出,本发明提供的图像放大方法及装置,仍然采用双线性插值 方法原理,对于放大后得到目标图像的每一个要插入像素点的灰度值计算,都转换为要插 入方向上两相邻像素点灰度值的加法运算及2的幂次项移位运算,然后根据该运算对相邻 两个像素点灰度值进行加法运算及移位处理就得到每一个要插入像素点的灰度值。由于本 发明在计算目标图像要插入像素点的灰度值时,不需要复杂的浮点乘法运算,因此能够节 省大量的乘法器硬件资源。


图1为双线性插值中原始图像示意图;图2为双线性插值中经过插值后得到的目标图像示意图;图3为本发明提供的图像放大装置结构示意图;图4为本发明提供的图像放大方法的流程图;图5为图3提供的图像放大装置结构的一种具体实施例示意图;图6为本发明提供的第一数据存储单元结构示意图;图7为本发明中i取不同值转化为2的幂次形式时不同2的幂次项对应的移位位数;图8为本发明提供的垂直方向放大单元的结构示意图;图9为本发明提供的第二数据存储单元结构示意图;图10所示为本发明中j取不同值转化为2的幂次形式时不同2的幂次项对应的 移位位数;图11为图3提供的图像放大装置结构的另一种实施例示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并结合具体实 施例,对本发明作进一步详细说明。为了更好的对本发明进行说明,先对在本发明图像放大处理过程中内部数据的流 动及其运算过程进行说明。在本发明中,令公式⑴和⑵ 中等式两边同时乘以原始图像在垂直方向的放大 系数n,即令图2目标图像中所要插入的新像素点(ma,nb+i)、(m(a+l), nb+i)的灰度值 G(ma,nb+i),G(m(a+l),nb+i)放大n倍,其中,n为整数,则可得 nXG(ma, nb+i) = nXG(ma, nb) +i X [G(ma, n (b+1)) _G(ma, nb)]= (n-i) XG(ma, nb)+iXG(ma, n(b+l))(6)令Y1 = nXG(ma, nb+i)(7)n X G (m (a+1),nb+i) = n X G (m (a+1),nb) +i X [G (m (a+1),n (b+1)) _G (m (a+1), nb)]= (n-i) X G (m (a+1), nb) +i X G (m (a+1), n (b+1)) (8)令Y2 = nXG(m(a+l),nb+i)(9)由于在公式(6) (9)中,n、i都为整数,因此可以将n、i化为2的幂次或2的幂 次项相加的形式,如将n = 16化为n = 16 = 24、n = 15化为n = 15 = 23+22+2、2°、i = 12 化为i = I2 = 23+22的形式。在图像放大的处理过程中,一个数据与2的幂次相乘的运算 只需要将该数据进行相应的移位运算即可。如公式(6)中的nXG(ma,nb),只需要对目标 图像的像素点(ma,nb)的灰度值G(ma,nb)进行向左的移位运算后相加即可实现,而不需要 进行复杂的浮点乘法运算。因此,在本发明中,如公式(6) (9)所示,只需要进行移位及 加法运算就可以求得目标图像在垂直方向上要插入像素点灰度值的n倍放大值Y1和Y2。同理,有公式⑶、⑷可得mXG(ma+j,nb) = mXG (ma,nb)+j X [G (m(a+l),nb) _G (ma,nb)]= (m-j) X G (ma, nb) + j X G (m (a+1), nb)(10)令Y3 = mXG(ma+j,nb)(11)mXG(ma+j, n(b+l)) = mX G (ma,n (b+1))+j X [G (m (a+1),n (b+1)) _G (ma, n(b+l))]= (m-j)XG ma, n (b+1))+j XG (m(a+l), n (b+1)) (12)令Y4 = mXG(ma+j,n(b+l))(13)在本发明中,将在图像放大进行移位运算时各个整数对应的2的幂次项移位位数 预先存储在预置查找表单元中,这样,当计算目标图像在垂直方向要插入像素点灰度值的n倍放大值时,只需要从预置查找表单元中查找n-i及i对应的2的幂次项移位位数进行相 应移位后,再进行加法运算即可得到Y1和Y2。为了得到双线性插值图像放大所需要的实际插入像素点灰度值G(ma,nb+i)、 G(m(a+1),nb+i),后续则还需要进行除法运算Yl/n和Y2/n。在本发明中,由于垂直方向放 大倍数n为整数,首先将1/n乘以一个设置为2的幂次形式的大数E,如214,该大数E与1/ n的乘积至少大于1;其次,对1/nXE的值取整,令X= [1/nXE],[]表示取整运算,X为 整数;然后再将X表示为2的幂次项相加的形式,根据预置查找表单元中预先设置的大数E 除以垂直方向放大倍数n取整后对应的移位位数,直接对Y1和Y2进行向左的移位及加法 运算即可求得Y1XX和Y2XX的值。最后,在截断单元根据系统的截取指令,对Y1XX和 Y2XX的值截取其中相对应的某几位数据,即可得到实际插入像素点灰度值G(ma,nb+i)、 G(m(a+1),nb+i),从而在目标图像的垂直方向插入像素点,完成图像在垂直方向的放大。同理,根据公式(3)、(4)、(5),将公式(3)、(4),(5)等式两边同时分别放大m倍, 然后完成图像在水平方向的插值放大,从而得到最终放大mXn倍的目标图像。图3为本发明提供的图像放大装置结构示意图,包括数据输入单元、第一数据存 储单元、预置查找表单元、第一方向放大单元、第二方向放大单元及第二数据存储单元,所 述第一方向与第二方向相互垂直,其中,数据输入单元,用于将如图1所示原始图像中各个像素点的位置及灰度值输入到 第一数据存储单元中;第一数据存储单元,用于暂存原始图像中各个像素点的位置及灰度值,并将图1 所示原始图像中各个像素点的位置及灰度值依次输入到第一方向放大单元;在本发明中,预置查找表单元中预先设置有在进行双线性插值放大时所需要的移 位位数信息,在图像进行双线性插值放大时,预置查找表单元根据第一方向放大单元及第 二方向放大单元中的放大倍数n、m及其插入像素点运算过程中i、j的值来提供移位位数, 同时预先存储具有2的幂次项的大数E除以第一方向放大倍数n取整后及大数E除以第二 方向放大倍数m取整后对应的移位位数,该大数E除以第一方向放大倍数n的值大于1,该 大数E除以第二方向放大倍数m的值也大于1 ;第一方向放大单元,用于从第一数据存储单元读取原始图像各个像素点的灰度值 及进行第一方向的插值放大。首先,根据几何位置对应关系,使得图2目标图像中与图1原 始图像像素位置对应的新像素点灰度值保持不变;其次,如公式(7)、(9)所示,根据预置查 找表单元中与第一方向放大倍数n及插值运算中i对应的移位位数分别对原始图像在第一 方向要插入像素点的两个相邻像素点分别进行向左的移位后相加即可得到第一方向插入 像素点灰度值放大n倍的值;然后,根据预置查找表单元中预先设置的大数E除以第一方向 放大倍数n取整后对应的移位位数进行移位与加法运算;然后将得到的第一方向插入像素 点灰度值放大了第一方向放大倍数的值进行向左移位与加法运算后的结果,在截断单元根 据系统的截取指令,截取相应位的数据,即可得到第一方向各个要插入像素点的第一方向 灰度值,插入对应的像素点后,得到第一方向的目标放大图像的各个像素点的灰度值,按照 各个像素点的位置,依次存储到第二数据存储单元中;第二数据存储单元,用于暂存在第一方向图像插值放大后的各个像素点的位置及 灰度值信息,并将第一方向图像放大后各个像素点的位置及灰度值依次输入到第二方向放
11大单元;第二方向放大单元,用于从第二数据存储单元读取在第一方向图像放大后各个像 素点的灰度值及进行第二方向的插值放大。其工作原理与第一方向放大单元基本相同,首 先,根据几何位置对应关系,第二方向放大单元从第二数据存储单元读取在第一方向放大 后各个像素点的灰度值;其次,根据预置查找表单元中第二方向放大倍数m及插值运算中j 对应的移位位数,对在第二方向要插入像素点的两个相邻像素点灰度值分别进行向左的移 位后相加得到第二方向插入像素点灰度值放大m倍的值,然后根据预置查找表单元中预先 设置的大数E除以第二方向放大倍数m取整后对应的移位位数进行移位与加法运算;然后 将得到的第二方向插入像素点灰度值放大了第二方向放大倍数的值进行向左移位与加法 运算后的结果,在截断单元根据系统的截取指令,截取相应位的数据,即可得到第二方向各 个要插入像素点的灰度值,插入到对应的像素点,得到最终放大后的目标图像。在本发明中,第一方向放大单元和第二方向放大单元为不同方向的两个放大单 元,两个方向互相垂直,如果第一方向放大单元为垂直方向放大单元,则第二方向放大单元 为水平方向放大单元;如果第一方向放大单元为水平方向放大单元,则第二方向放大单元 为垂直方向放大单元。以下提及第一方向和第二方向和上述概念相同,这里不再赘述。图4为本发明提供的图像放大方法的流程图,其具体步骤为步骤401、根据几何位置对应关系,使得目标图像中与原始图像像素位置对应的新 像素点灰度值保持不变;步骤402、在第一方向上,根据第一方向图像放大倍数及在第一方向进行插值运算 时预置查找表单元中所对应的移动位数,对第一方向在要插入像素点的两个相邻像素点灰 度值分别左移位后相加得到插入像素点灰度值放大了第一方向放大倍数的值,然后根据预 置查找表单元中预先设置的大数E除以第一方向放大倍数取整后对应的移位位数进行移 位与加法运算;然后将得到的第一方向插入像素点灰度值放大了第一方向放大倍数的值进 行向左移位与加法运算后的结果,在截断单元根据系统的截取指令,进行相应位的截断,得 到第一方向各个要插入像素点的灰度值,插入对应的像素点后,得到在第一方向完成插值 放大的图像;步骤403、在第二方向上,根据第二方向图像放大倍数及在第二方向进行插值运算 时预置查找表单元中所对应的移动位数,对第二方向在要插入像素点的两个相邻像素点灰 度值分别左移位后相加得到插入像素点灰度值放大了第二方向放大倍数的值,然后根据预 置查找表单元中预先设置的大数E除以第二方向放大倍数取整后对应的移位位数进行移 位与加法运算;然后将得到的第二方向插入像素点灰度值放大了第二方向放大倍数的值进 行向左移位与加法运算后的结果,在截断单元根据系统的截取指令,进行相应位的截断,得 到第二方向各个要插入像素点的灰度值,插入到对应的像素点,得到放大后的目标图像。以下结合具体实施例来进行详细说明。图5为图3提供的图像放大装置结构中的一种实施例示意图,该图像放大装置由 数据输入单元、第一数据存储单元、预置查找表单元、垂直方向放大单元、第二数据存储单 元及水平方向放大单元组成。本实施例中假设将图1中的原始图像,放大mXn倍后得到如 图2所示的目标图像,其中,令n = 4、m = 5,即以在垂直方向放大4倍,在水平方向放大5 倍为例来进行说明。
其中,数据输入单元,用于将图1中的原始图像像素点......(a, b)、(a+1,
b).......(a,b+l)、(a+l,b+l)......的位置坐标及灰度值按行逐次输入到第一数据存储单元。在本实施例中,第一数据存储单元用于逐行存储图1所示的原始图像各个像素点 的位置坐标及灰度值。在这里,第一数据存储单元的具体结构如图6所示,其包括第一随机 存储器(RAMI)和第二随机存储器(RAM2),将原始图像各个像素点的灰度值分别逐行存储 在RAMI和RAM2中,以便在进行垂直方向的放大时可以将相邻两行像素点的灰度值并行输 出,减少等待时间。比如,分别从RAMI和RAM2同时读出第一行像素点及第二行像素点的灰 度值,将原始图像中第一行及第二行的像素点的灰度值同时输入到垂直方向放大单元。需 要说明的是,在原始图像中第二行和第三行像素之间进行插值的过程中,分别通过并行输 出端口从RAM2和RAMI输出第二行及第三行的像素点的灰度值,在此过程中,上一周期中 RAM2读出的第二行数据维持不变,仅仅在RAMI中读出第三行的像素点灰度值即可,逐次类 推,不再赘述。垂直方向放大单元,在从第一数据存储单元读取图1所示的原始图像像素点的灰 度值后,首先根据几何位置对应关系,使得图2目标图像中与图1原始图像像素位置对应的 新像素点灰度值保持不变。如图2所示,垂直方向放大单元将在垂直方向插入新的像素点, 完成图像在垂直方向的放大(本实施例中在垂直方向放大4倍,因此在目标图像中新像素 点(ma,nb)、(ma+l,nb)所在行与新像素点(ma, n (b+1)), (m(a+l), n (b+1))所在行之间需 要插入3行新的像素点)。其次,如公式(6) (9)所示,根据预置查找表单元中与放大倍 数n及插值运算中i对应的移位位数分别对G(ma,nb)、G(ma, n(b+l))及G(m(a+1),nb)、 G(m(a+l),n(b+l))移位后相加即可分别得到Y1和Y2 ;然后,根据预置查找表单元中垂直方 向放大倍数n及对应的移动位数,将预置查找表单元中的大数E与垂直方向放大倍数分之 一相乘取整,进行左移位后相加得到Y1和Y2放大E/n倍的值,然后截断单元根据系统的截 取指令,对Y1和Y2放大E/n后取整的值截取其中的某几位数据,即可得到垂直方向实际要 插入像素点(ma,nb+i)、(m(a+l),nb)的垂直方向灰度值G(ma,nb+i)、G(m(a+l),nb),插入 对应的像素点后,得到垂直方向的放大目标图像的各个像素点的灰度值,按照各个像素点 的位置,依次存储到第二数据存储单元中;具体说明如下所述。根据(6) (9),令垂直方向放大倍数n = 4,则可得Yl = 4XG(ma,4b+i) = (4-i) XG(ma,4b)+iXG(ma,4(b+l))(14)Y2 = 4XG(m(a+l),4b+i) = (4_i) XG(m(a+l),4b)+i XG(m(a+l),4 (b+1)) (15)在本实施例中,依次令i = 1,2,3,分别求得目标图像中与原始图像相邻两 行像素点对应的在垂直方向不同的插值点中Y1、Y2的值,即与原始图像中像素点(a, b)、(a+1, b)所在行与像素点(a,b+1)、(a+1, b+1)所在行对应的目标图像像素点(ma,
nb)......(m(a+l),nb)与像素点(ma, n (b+1))......(m(a+l) ,n(b+l))之间在垂直方向不
同的插值点中Y1、Y2的值。由于4 = 22,i可以化为2的幂次相加的形式,如图7所示为本 发明中i取不同值转化为2的幂次形式时不同2的幂次项对应的移位位数,其中“——”代 表i的取值不具有该2的幂次项。因此,在求Y1和Y2的过程中,只需要根据其在预置查找 表中对应的2次幂项进行相应的移位运算后相加即可。在本实施例中,垂直方向放大单元的结构示意图如图8所示,包括第一移位加法寄存单元、第二移位加法寄存单元、加法单元、第三移位加法寄存单元及截断单元,其中,本 实施例中,以i = 3时,即在(ma,nb)与(ma,n(b+l))之间插入第三个像素点为例来进行说 明,依据公式(14)可得,4-i = 4-3 = 1 = 2°,i = 3。第一移位加法寄存单元,用于根据预置查找表单元中对应放大倍数n = 4及i = 3时对应的移位位数,由于4-i = 4-3 = 1 = 2°,此时只需要对图2所示目标图像中像素点 (ma, nb)的灰度值G(ma,nb)进行移位加法运算即可得到(4-i) XG(ma,4b)的值(由于2 的幂次项指数为0,这里向左的移位位数为0),然后发送给加法单元;第二移位加法寄存单元,用于根据预置查找表单元中对应放大倍数n = 4及i = 3时对应的移位位数,由于i = 3 = Zi+A此时需要对图2目标图像中像素点(ma,n(b+l)) 的灰度值G(ma,n(b+l))进行移位加法运算后才能得到i XG(ma,4 (b+1))的值,然后将 iXG(ma,4(b+l))的值发送到加法单元;加法单元,用于将从第一移位加法寄存单元得到的(4-i) XG(ma,4b)值及从第二 移位加法寄存单元得到的iXG(ma,4(b+l))相加,得到垂直方向上要插入像素点的放大n 倍数的灰度值,也就是Y1的值,然后发送给第三移位加法寄存单元;第三移位加法寄存单元,根据从预置查找表单元中大数E除以垂直方向放大倍数 n取整后对应的移位位数对Y1进行移位与加法运算。本实施例中,由于大数E与垂直方向 放大倍数分之一的乘积1/nXE取整后得整数X= [1/nXE] = [1/4XE] =212,其中,□代 表取整运算,E在这里取214。在预置查找表单元,根据大数E及在垂直方向放大倍数n不同 的值预先设置将X的值化为2的幂次项对应的移位位数信息。在第三移位加法单元对Y1 先向左进行12位的左移运算;截断单元,用于根据系统的截取指令,对Y1XX和Y2XX向左进行12位左移运算 的值进行相应位的截断,从而得到垂直方向上要插入像素点的实际灰度值后发送给第二数 据存储单元。第二数据存储单元,用于存储在垂直方向插值点灰度值上的目标放大图像各个像 素点的灰度值,具体结构如图9所示,由寄存单元及寄存延迟单元组成,其中,寄存延迟单 元的数据输出要比寄存单元的数据输出延迟一个时间周期,从而分别同时将相邻两列(如 第一列和第二列)的像素点的灰度值并行输入到水平方向放大单元中;水平方向放大单元,用于从第二数据存储单元读取到在垂直方向插值点灰度值上 的目标放大图像的各个像素点的灰度值后,在水平方向插入新的像素点,完成图像在水平 方向的放大(本实施例中在水平方向上放大5倍,因此在目标图像中新像素点(ma,nb)、 (ma, n(b+l))所在列与像素点(ma+1, nb)、(m(a+l), n(b+l))所在列之间插入4列新的像 素点)。其次,如公式(10) (13)所示,根据预置查找表单元中与放大倍数m及插值运算 中 j 对应的移位位数,对 G(ma,nb)、G(m(a+1),nb)及 G(ma,n(b+l))、G(m(a+1),n(b+l)) 移位后相加即可分别得到Y3和Y4 ;然后,根据预置查找表单元中水平方向放大倍数及对应 的移动位数,将预置查找表单元中的大数E与水平方向放大倍数分之一相乘取整,进行左 移位后相加得到Y3和Y4放大E/m倍后取整的值,然后在截断单元根据系统的截取指令,对 Y3XE/m和Y4XE/m取整后的值进行相应位的截断,即可得到水平方向各个要插入像素点 的灰度值,插入对应的像素点后,得到目标放大图像。在该实施例中,水平方向放大单元与 垂直方向放大单元的内部结构及其工作原理基本相同。以下具体说明。
根据(10) (13),令水平方向放大倍数m = 5,则可得Y3 = 5XG(5a+j,4b) = (5-j) XG(5a,4b)+jXG(5(a+l),4b)(16)Y4 = 5XG(5a+j,4(b+l)) = (5_j) XG(5a,4 (b+1))+j XG(5 (a+1),4 (b+1)) (17)在本实施例中,依次令j = 1,2,3和4,分别求得目标图像中与原始图像相邻两列
像素点......(a,b)、(a+l,b)......(a,b+1), (a+1,b+1)......对应的像素点......(ma,
nb)......(m(a+l),nb)......(ma,n(b+l))......(m(a+l),n (b+1))之间在水平方向不同
的插值点中Y3、Y4的值。由于5 = 22+2°,j可以化为2的幂次相加的形式,如图10所示为 本发明中j取不同值转化为2的幂次形式时不同2的幂次项对应的移位位数,其中“——,, 代表j的取值不具有该2的幂次项。因此,在求Y3和Y4的过程中,只需要根据其在预置查 找表单元中对应的2次幂项进行相应的移位运算后相加即可。在本实施例中,水平方向放大单元的结构和图8所示的垂直方向放大单元的结构 类似,也包括第一移位加法寄存单元、第二移位加法寄存单元、加法单元、第三移位加法寄 存单元及截断单元,其中,本实施例中,以j = 3时,即在像素点(ma,nb)与(m(a+l),nb)之 间插入第三个像素点为例来进行说明,依据公式(16)、(17)可得,5-j = 5-3 = 2 = 21,j = 3。第一移位加法寄存单元,用于根据预置查找表单元中对应放大倍数m= 5及j = 3时对应的移位位数,由于5-j = 5-3 = 2 = 21,此时只需要对图2所示目标图像中像素点 (ma, nb)的灰度值G(ma,nb)左移一位后,得到(5-j) XG(5a,4b)的值,发送给加法单元;第二移位加法寄存单元,用于根据预置查找表单元中j = 3时对应的移位位数,由 于i = 3 = 2i+2°,此时需要对图2目标图像中像素点(m(a+l),nb)的灰度值G(m(a+1),nb) 进行移位加法运算后才能得到jXG(5 (a+1),4b)的值,然后将iXG(ma,4(b+l))的值发送 到加法单元;加法单元,用于将从第一移位加法寄存单元得到的(5-j) XG(5a,4b)值及从第二 移位加法寄存单元得到的jXG(5(a+l),4b)相加,得到水平方向上要插入像素点的放大m 倍数的灰度值,也就是Y3的值,然后发送给第三移位加法寄存单元;第三移位加法寄存单元,根据从预置查找表单元中大数E除以水平方向放大倍数 m取整后对应的移位位数对Y3进行移位与加法运算。本实施例中,由于大数E与垂直方向 放大倍数分之一的乘积1/mXE取整后得整数X= [1/mXE] = [1/5XE],其中,□代表取 整运算,E在这里取214,在预置查找表单元,根据大数E及在水平方向放大倍数m不同的值 预先设置将X的值化为2的幂次项对应的移位位数信息。在第三移位加法单元对Y3先向 左进行左移运算后,发送到截断单元;截断单元,用于根据系统的截取指令,对Y3 X E/m和Y4 X E/m取整后的值进行相应 位的截断,从而得到水平方向上要插入像素点的实际灰度值后发送给第二数据存储单元。第二实施例如图11所示,本实施例与上述实施例不同的是先进行水平方向的线性插值完成 在水平方向的放大,然后再在垂直方向进行线性插值完成垂直方向的放大,其基本原理及 其内部数据处理过程与第一实施例相同,不再赘述。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
一种图像放大装置,其特征在于,包括数据输入单元、第一数据存储单元、预置查找表单元、第一方向放大单元、第二方向放大单元及第二数据存储单元,所述第一方向与第二方向相互垂直,其中,数据输入单元,用于将原始图像各个像素点的位置及灰度值输入到第一数据存储单元中;第一数据存储单元,用于暂存原始图像中各个像素点的位置及灰度值,将原始图像中各个像素点的位置及灰度值依次输入到第一方向放大单元;预置查找表单元,用于存储图像在放大过程中所需对应的移位位数信息;第一方向放大单元,用于从第一数据存储单元读取原始图像各个像素点的灰度值后,首先根据几何位置对应关系,使得目标图像与原始图像像素位置对应的新像素点灰度值保持不变;其次,根据第一方向放大倍数和所要插入像素点在第一方向两相邻像素点的灰度值计算要插入像素点的灰度值,过程为根据预置查找表单元中第一方向放大倍数及在计算第一方向插入像素点灰度值时所对应的移位位数,对第一方向与插入像素点相邻的两个像素点灰度值分别进行向左的移位后相加得到第一方向插入像素点灰度值放大了第一方向放大倍数的值;然后根据预置查找表单元中预先设置的大数E除以第一方向放大倍数取整后对应的移位位数,对得到的第一方向插入像素点灰度值放大了第一方向放大倍数的值进行向左移位与加法运算,该大数E化为2的整数次幂的形式,且大数E除以第一方向放大倍数的值大于1;然后将得到的第一方向插入像素点灰度值放大了第一方向放大倍数的值进行向左移位与加法运算后的结果进行相应位的截断,得到第一方向各个要插入像素点的第一方向灰度值,按照各个像素点的位置,依次存储到第二数据存储单元中;第二数据存储单元,用于暂存第一方向图像放大后的各个像素点的位置及灰度值,并将第一方向放大图像各个像素点的位置及灰度值依次输入到第二方向放大单元;第二方向放大单元,用于根据第二方向放大倍数和要插入像素点在第二方向两相邻像素点的灰度值计算要插入像素点的灰度值,过程为根据预置查找表单元中第二方向放大倍数及在计算第二方向插入像素点灰度值时所对应的移位位数,对第二方向与插入像素点相邻的两个像素点灰度值分别进行向左的移位后相加得到第二方向插入像素点灰度值放大了第二方向放大倍数的值;然后根据预置查找表单元中预先设置的大数E除以第二方向放大倍数取整后对应的移位位数,对得到的第二方向插入像素点灰度值放大了第二方向放大倍数的值进行向左移位与加法运算,该大数E化为2的整数次幂的形式,且大数E除以第二方向放大倍数的值大于1;然后将得到的第二方向插入像素点灰度值放大了第二方向放大倍数的值进行向左移位与加法运算后的结果进行相应位的截断,得到第二方向各个要插入像素点的灰度值,插入到对应的像素点,得到放大后的目标图像。
2.如权利要求1所述的图像放大装置,其特征在于,所述第一数据存储单元包括第一 随机存储器、第二随机存储器,其中,第一随机存储器,用于暂存原始图像中各个像素点的位置及灰度值; 第二随机存储器,用于暂存原始图像中各个像素点的位置及灰度值; 第一随机存储器与第二随机存储器并行输出第一方向上两相邻像素点的位置及灰度值。
3.如权利要求1所述的图像放大装置,其特征在于,所述第二数据存储单元由寄存单元及寄存延迟单元组成,其中,寄存延迟单元的数据输出要比寄存单元的数据输出延迟一 个时间周期,由寄存单元及寄存延迟单元并行输出第二方向两相邻像素点的位置及灰度 值。
4.如权利要求1所述的图像放大装置,其特征在于,所述第一方向放大单元包括第 一移位加法寄存单元、第二移位加法寄存单元、加法单元、第三移位加法寄存单元及截断单 元,其中,第一移位加法寄存单元,用于根据预置查找表单元中第一方向放大倍数及在计算第一 方向插入像素点灰度值时所对应的移位位数,对目标图像中要插入像素点在第一方向上两 相邻像素点中前一个像素点的灰度值向左移位相加后,发送给加法单元;第二移位加法寄存单元,用于根据预置查找表单元中在计算第一方向插入像素点灰度 值时所对应的移位位数,对目标图像中要插入像素点在第一方向上两相邻像素点中后一个 像素点的灰度值向左移位相加后,发送给加法单元;加法单元,用于将从第一移位加法寄存单元得到的移位处理的灰度值及从第二移位加 法寄存单元得到的移位处理的灰度值相加,得到第一方向要插入像素点的放大了第一方向 放大倍数的灰度值,然后发送给第三移位加法寄存单元;第三移位加法寄存单元,用于根据预置查找表单元中的大数E除以第一方向放大倍数 取整后对应的移位位数,再进行向左的移位相加,然后发送给截断单元;截断单元,用于根据系统的截取指令,对在第三移位加法单元向左移位相加后的值截 取相应位的数据,得到第一方向各个要插入像素点的实际灰度值,进行第一方向上的要插 入像素点的灰度值插入。
5.如权利要求1所述的图像放大装置,其特征在于,所述第二方向放大单元包括第 一移位加法寄存单元、第二移位加法寄存单元、加法单元、第三移位加法寄存单元及截断单 元,其中,第一移位加法寄存单元,用于根据预置查找表单元中第二方向放大倍数及在计算第二 方向插入像素点灰度值时所对应的移位位数,对目标图像中要插入像素点在第二方向上两 相邻像素点中前一个像素点的灰度值向左移位相加后,发送给加法单元;第二移位加法寄存单元,用于根据预置查找表单元中在计算第二方向插入像素点灰度 值时所对应的移位位数,对目标图像中要插入像素点在第二方向上两相邻像素点中后一个 像素点的灰度值向左移位相加后,发送给加法单元;加法单元,用于将从第一移位加法寄存单元得到的移位处理的灰度值及从第二移位加 法寄存单元得到的移位处理的灰度值相加,得到第二方向要插入像素点的放大了第二方向 放大倍数的灰度值,然后发送给第三移位加法寄存单元;第三移位加法寄存单元,用于根据预置查找表单元中的大数E除以第二方向放大倍数 取整后对应的移位位数,再进行向左的移位相加,然后发送给截断单元;截断单元,用于根据系统的截取指令,对在第三移位加法单元向左移位相加后的值截 取相应位的数据,得到第二方向各个要插入像素点的实际灰度值,进行第二方向上的要插 入像素点的灰度值插入。
6.如权利要求1 5任一所述的图像放大装置,其特征在于,所述第一方向放大单元为垂直方向放大单元,第二方向放大单元为水平方向放大单元;或者第一方向放大单元为水平方向放大单元,第二方向放大单元为垂直方向放大单兀。
7.一种图像放大方法,其特征在于,该方法包括根据几何位置对应关系,使得目标图像中与原始图像像素位置对应的新像素点灰度值 保持不变;在第一方向上,根据第一方向图像放大倍数及在第一方向进行插值运算时预置查找表 内所对应的移位位数,对第一方向在要插入像素点的两个相邻像素点灰度值分别向左移位 后相加得到插入像素点灰度值放大了第一方向放大倍数的值;然后根据预置查找表单元中 预先设置的大数E除以第一方向放大倍数取整后对应的移位位数进行向左移位与加法运 算,该大数E化为2的整数次幂的形式,且大数E除以第一方向放大倍数的值大于1 ;然后 将得到的第一方向插入像素点灰度值放大了第一方向放大倍数的值进行向左移位与加法 运算后的结果进行相应位的截断,得到第一方向各个要插入像素点的灰度值,插入对应的 像素点后,得到在第一方向完成插值放大的图像;在第二方向上,根据第二方向图像放大倍数及在第二方向进行插值运算时预置查找表 内所对应的移动位数,对第二方向在要插入像素点的两个相邻像素点灰度值分别向左移位 后相加得到插入像素点灰度值放大了第二方向放大倍数的值,然后根据预置查找表单元中 预先设置的大数E除以第二方向放大倍数取整后对应的移位位数进行向左移位与加法运 算,该大数E化为2的整数次幂的形式,且大数E除以第二方向放大倍数的值大于1 ;然后 将得到的第二方向插入像素点灰度值放大了第二方向放大倍数的值进行向左移位与加法 运算后的结果进行相应位的截断,即可得到第二方向各个要插入像素点的灰度值,插入到 对应的像素点,得到放大后的目标图像,完成图像的放大。
8.如权利要求7所述的方法,其特征在于,所述第一方向和第二方向两个方向互相垂 直,当所述第一方向为垂直的,所述第二方向为水平的;或者当所述第一方向为水平的,所 述第二方向为垂直的。
全文摘要
本发明公开了一种图像放大方法及装置,以双线性插值方法为基础,对于放大后得到目标图像的每一个要插入像素点的灰度值计算,都转换为要插入方向上两相邻像素点灰度值的加法运算及2的幂次项移位运算,然后根据该运算对相邻两个像素点灰度值进行加法运算及移位处理就得到每一个要插入像素点的灰度值。由于本发明在计算目标图像要插入像素点的灰度值时,不需要复杂的浮点乘法运算,提高了图像放大的处理速度。
文档编号G06T3/40GK101853488SQ20101019620
公开日2010年10月6日 申请日期2010年6月3日 优先权日2010年6月3日
发明者司秉玉, 张伟 申请人:昆山龙腾光电有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1