CN100356405C - 一种改变数字图像尺寸的方法及装置 - Google Patents
一种改变数字图像尺寸的方法及装置 Download PDFInfo
- Publication number
- CN100356405C CN100356405C CNB2005100568928A CN200510056892A CN100356405C CN 100356405 C CN100356405 C CN 100356405C CN B2005100568928 A CNB2005100568928 A CN B2005100568928A CN 200510056892 A CN200510056892 A CN 200510056892A CN 100356405 C CN100356405 C CN 100356405C
- Authority
- CN
- China
- Prior art keywords
- image
- module
- zoom
- convergent
- divergent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000001914 filtration Methods 0.000 claims abstract description 97
- 238000012545 processing Methods 0.000 claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 17
- 230000003139 buffering effect Effects 0.000 claims description 49
- 239000000872 buffer Substances 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000003321 amplification Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 7
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 7
- 238000004321 preservation Methods 0.000 claims description 7
- 238000011045 prefiltration Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种改变数字图像尺寸的方法,该方法在配置图像的输入信息、滤波系数信息及缩放倍数信息之后,进一步包括:根据滤波系数信息对待处理的图像进行低通滤波;根据缩放倍数信息对低通滤波后的图像数据进行横向及纵向尺寸缩放处理,并根据图像的输入信息结束对图像的横向及纵向尺寸缩放处理。本发明同时还公开了一种改变数字图像尺寸的装置。本发明通过对图像数据依次进行横向和纵向尺寸的缩放处理,减少了现有技术图像数据缩放处理所需的时间,实现了对图像数据的实时处理,且大大降低了处理成本。
Description
技术领域
本发明涉及图像处理技术领域,更确切地说是涉及一种改变数字图像尺寸的方法及装置。
背景技术
随着计算机、手机等多媒体领域应用产品的迅速发展,人们对图像显示的要求越来越高。由于不同的显示技术对图像的尺寸有不同的要求,需要灵活地变化图像尺寸,比如,计算机的分辨率有最大支持“640×480”的视频图像阵列(VGA)、最大支持“800×600”的超级VGA(SVGA)和最大支持“1024×768”的扩展VGA(XVGA)等,而手机显示屏的分辨率通常小于四分之一VGA(QVGA),也就是小于320×240。另外,显示屏与图像传感器尺寸不匹配的特点也要求对图像尺寸能够进行灵活的转换。因此,怎样实现图像在不同分辨率之间灵活转变,同时保持较高的图像质量,已成为当前迫切要求解决的一个问题。
在计算机领域的图像处理中,图像的放大或缩小是通过软件来实现的,通常是使用二次线性插值、三次线性插值等算法进行处理。而软件处理需要占用非常多的CPU资源,对计算机中处理器件的要求很高。但对于手机之类的终端设备来说,由于CPU的功能不是很强大,对视频缩放的处理来说远远不够,因此通过软件实现视频缩放基本上是不可能的,这就需要用硬件来解决图像处理的问题。
对于通过硬件解决图像处理来说,在一般的视频卡、视频采集卡中,通常使用二次线性插值来实现硬件的图像缩放。由于放大或缩小后的图像的一个象素必然会落在原图像的四个象素之间,因此,假设放大或缩小后的图像中的一个象素P(x’,y’)落在原图像的四个象素P(x,y)、P(x,y+1)、P(x+1,y)及P(x+1,y+1)之间,该相互关系如图1所示,按照上述算法,该象素P(x’,y’)的颜色值可以用这四个象素的颜色值表示,具体如公式(1)所示。
P(x’,y’)=(1-a)(1-b)P(x,y)+(1-a)bP(x,y+1)+a(1-b)P(x+1,y)+abP(x+1,y+1);(1)
其中,{0≤a,b≤1}。
对于象素的亮度值与色度值,都可以用该公式进行计算。
现有的图像放大及缩小都是利用上述公式来实现的,图2是现有的硬件实现框图。图2中的图像处理芯片接受图像传感器输出的图像,并通过写控制模块将其存放在片外的存储器中,当一帧存完后,图像处理芯片通过读控制模块读取图像数据,并通过运算模块及运算控制模块对其进行运算。在运算过程中,图像传感器输出到图像处理芯片的图像数据继续存放在存储器中,也就是说,该存储器应至少储存两帧图像的数据。
目前的这种数字图像放大/缩小实现方案有其显而易见的缺点:
1、该方案由于需要在外部的存储器中存放两帧原始图像,所要存储的信息较多,因此需要较多的片外存储器,目前的片外存储器通常为SDRAM,成本较高;
2、该方案要在一帧图像完全存放在存储器后,才对其进行放大或缩小,因此输入图像和输出图像存在较大的延迟,该延迟往往大于一帧时间,无法做到实时处理。
发明内容
有鉴于此,本发明所要解决的主要问题在于提供一种改变数字图像尺寸的方法,以对图像进行实时的缩放处理,并且能够降低实现成本。
本发明所要解决的另一个问题在于提供一种改变数字图像尺寸的装置。
为解决上述问题,本发明提供了一种改变数字图像尺寸的方法,配置图像的输入信息、滤波系数信息及缩放倍数信息,该方法进一步包括以下步骤:
a.根据滤波系数信息对待处理的图像进行低通滤波,所述滤波器系数根据图像缩放比例确定;
b.根据缩放倍数信息对低通滤波后的图像数据进行横向及纵向尺寸缩放处理,并根据图像的输入信息结束对图像的横向及纵向尺寸缩放处理,其中,
所述根据缩放倍数信息对图像数据进行横向尺寸缩放处理包括:设置象素步长计数器,在每个象素到达时,该象素步长计数器加一,并在该计数器大于图像缩放倍数时,对当前收到的两个象素进行加权平均,同时将该计数器减去图像缩放倍数值;
所述根据图像的输入信息结束图像的横向尺寸缩放处理包括:根据图像输入信息判断一行图像数据是否处理完毕,如果是,则将所述象素步长计数器清零,否则,继续根据图像输入信息对一行图像数据是否处理完毕进行判断;
所述根据缩放倍数信息对图像数据进行纵向尺寸缩放处理包括:设置行步长计数器,在每行到达时,该行步长计数器加一,并在该计数器大于图像缩放倍数时,对当前收到的两行象素进行加权平均,同时将该计数器减去图像缩放倍数值;
所述根据图像的输入信息结束图像的纵向尺寸缩放处理包括:根据图像输入信息判断一帧图像数据是否处理完毕,如果是,则将所述行步长计数器清零,否则,继续根据图像输入信息对一帧图像数据是否处理完毕进行判断。
所述步骤a中的低通滤波为:采用二维低通滤波。
所述步骤a中的低通滤波为:首先对图像数据进行横向滤波,然后对横向滤波后的图像数据进行纵向滤波。
步骤b中,所述对图像数据进行横向及纵向尺寸缩放处理为:
先对图像数据进行横向尺寸缩放处理,保存横向缩放处理后的图像数据,之后再对横向缩放处理后的图像数据进行纵向尺寸缩放处理;
或者为:保存低通滤波后的图像数据,对图像数据进行纵向尺寸缩放处理,之后再对纵向尺寸缩放处理后的图像数据进行横向尺寸缩放处理。
所述改变数字图像尺寸为:缩小图像尺寸;
步骤b中,所述保存横向缩放处理后的图像数据为:将横向缩放处理后的图像数据保存在至少包括一行行缓冲器的图像缩放行缓冲模块中;
所述改变数字图像尺寸或者为:放大图像尺寸;
步骤b中,所述保存横向缩放处理后的图像数据为:将横向缩放处理后的图像数据保存在至少包括三行行缓冲器的图像缩放行缓冲模块中。
该方法可以进一步包括:配置图像的输出信息;
所述步骤b中,在对低通滤波后的图像数据进行横向尺寸缩放处理后,进一步包括:根据图像的输出信息对横向缩放处理后的图像数据进行图像调整;
所述步骤b中,在对横向缩放处理后的图像数据进行纵向尺寸缩放处理后,进一步包括:根据图像的输出信息对纵向缩放处理后的图像数据进行图像调整。
本发明还提供了一种改变数字图像尺寸的装置,所述装置与上位机连接,并接收图像预处理模块发送来的图像数据,所述上位机用于配置图像输入信息、低通滤波系数及图像缩放倍数信息,并将所述配置信息发送给所述装置,所述装置包括以下模块:
命令发送模块,用于将上位机配置的低通滤波系数发送给前置滤波模块,并将上位机发送的图像缩放倍数信息及图像输入信息发送给图像尺寸缩放模块;
前置滤波模块,用于根据低通滤波系数对图像预处理模块发送来的图像数据进行低通滤波,以及将低通滤波后的图像数据发送到图像横向尺寸缩放模块,所述滤波器系数根据图像缩放比例确定;
图像尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对前置滤波模块发送来的图像数据进行横向及纵向的缩放处理,以及根据图像输入信息确定横向及纵向处理是否结束,该图像尺寸缩放模块还包括象素步长计数器和行步长计数器,其中:
象素步长计数器,在有一个象素到达时,该计数器加一;在该计数器值大于图像缩放倍数时,所述图像横向尺寸缩放模块对当前收到的两个象素进行加权平均,并将该计数器值减去图像缩放倍数值;在一行图像数据输出结束后,该计数器清零;
行步长计数器,在有一行图像数据到达时,该计数器加一;在该计数器值大于图像缩放倍数时,所述图像纵向尺寸缩放模块从图像缩放行缓冲模块中获取两行图像数据进行加权平均,并将该计数器值减去图像缩放倍数值;在一帧图像数据输出结束后,该计数器清零。
所述图像尺寸缩放模块包括:图像横向尺寸缩放模块、图像缩放行缓冲模块及图像纵向尺寸缩放模块,其中,
图像横向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对前置滤波模块发送来的图像数据进行横向的缩放处理,将横向缩放处理后的图像数据存入图像缩放行缓冲模块,以及根据图像输入信息确定横向处理是否结束;
图像缩放行缓冲模块,用于保存图像横向尺寸缩放模块发送来的图像数据;
图像纵向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对图像缩放行缓冲模块中的图像数据进行纵向的缩放处理,将纵向缩放处理后的图像数据发送出去,以及根据图像输入信息确定纵向处理是否结束。
所述图像尺寸缩放模块包括:图像缩放行缓冲模块、图像纵向尺寸缩放模块及图像横向尺寸缩放模块,其中,
图像缩放行缓冲模块,用于保存前置滤波模块发送来的图像数据;
图像纵向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对图像缩放行缓冲模块中保存的图像数据进行纵向的缩放处理,将纵向处理后的图像数据发送到图像横向尺寸缩放模块,以及根据图像输入信息确定纵向尺寸处理是否结束;
图像横向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对图像纵向尺寸缩放模块发送来的图像数据进行横向尺寸缩放,以及根据图像输入信息确定横向尺寸处理是否结束。
所述图像缩放行缓冲模块包括:行缓冲器;
进行图像缩小时,所述图像缩放行缓冲模块至少由一行行缓冲器组成;
进行图像放大时,所述图像缩放行缓冲模块至少由三行行缓冲器组成。
所述命令发送模块进一步包括:
寄存器地址译码模块,用于对上位机发送来的信息所携带的寄存器地址进行译码,并将该信息及相应的译码结果发送给寄存器读写模块;
寄存器读写模块,用于根据寄存器地址译码模块发送来的译码结果确定相应的寄存器,并将该译码结果的对应信息存入所确定的寄存器,和/或根据该译码结果将所确定的寄存器中的信息发送到上位机;
寄存器模块,包括至少一个寄存器,用于存储寄存器读写模块存入的信息。
所述寄存器模块包括:输入图像宽度寄存器、输入图像高度寄存器前置滤波系数寄存器、图像缩放倍数寄存器整数部分和图像缩放倍数寄存器小数部分。
所述上位机进一步用于配置图像输出信息;
所述命令发送模块中的寄存器模块进一步包括:输出图像宽度寄存器及输出图像高度寄存器;
所述图像尺寸缩放模块进一步用于根据命令发送模块转发来的图像输出信息对横向及纵向缩放处理后的图像数据进行调整。
所述前置滤波模块包括用于横向滤波的一维滤波器及用于纵向滤波的一维滤波器,并进一步包括:前置滤波行缓冲模块;
所述用于横向滤波的一维滤波器,将图像预处理模块发送来的图像数据进行横向的低通滤波,并将横向滤波后的图像数据发送到前置滤波行缓冲模块;
所述用于纵向滤波的一维滤波器,从所述前置滤波行缓冲模块中获取图像数据,对其进行纵向滤波处理,并将纵向滤波后的图像数据发送到图像横向尺寸缩放模块。
所述前置滤波行缓冲模块由数目为低通滤波阶数减一的行缓冲器组成。
所述图像横向尺寸缩放模块进一步包括:
象素步长计数器,在有一个象素到达时,该计数器加一;在该计数器值大于图像缩放倍数时,所述图像横向尺寸缩放模块对当前收到的两个象素进行加权平均,并将该计数器值减去图像缩放倍数值;在一行图像数据输出结束后,该计数器清零。
所述图像缩放行缓冲模块包括:行缓冲器;
进行图像缩小时,所述图像缩放行缓冲模块至少由一行行缓冲器组成;
进行图像放大时,所述图像缩放行缓冲模块至少由三行行缓冲器组成。
所述图像纵向尺寸缩放模块进一步包括:
行步长计数器,在有一行图像数据到达时,该计数器加一;在该计数器值大于图像缩放倍数时,所述图像纵向尺寸缩放模块从图像缩放行缓冲模块中获取两行图像数据进行加权平均,并将该计数器值减去图像缩放倍数值;在一帧图像数据输出结束后,该计数器清零。
本发明方案通过对图像数据依次进行横向尺寸缩放和纵向尺寸缩放,且在纵向尺寸缩放时也只有几行的延迟,不需要像现有技术那样在一帧图像存储完后才能进行缩放处理,减少了对图像数据进行缩放所使用的时间,实现了对图像数据的实时处理。
本发明方案保存横向尺寸缩放处理后的图像数据最多只需要三行行缓冲器,对图像存储器的要求很低,相比于现有技术需要在外部存储器中存放两帧原始图像来说,本发明方案所需的硬件资源较少,大大降低了图像缩放的处理成本。
本发明方案通过还在前置滤波时通过将二维滤波转化为两个一维滤波,并将二维图像的缩放转化为两个一维图像的缩放,大大减少了乘法器的使用,从而使芯片的成本大大降低。
现有技术在实现数字图像尺寸改变时必须使用除法器,众所周知,除法器不易实现,而本发明方案避免了使用除法器,从而进一步降低了芯片的成本。
另外,由于现有技术在实现图像缩放处理之前,往往需要在硬件中预存一些特定的常数,而本发明方案则不需要预存常数,只需要由上位机配置各种配置信息,并存入命令发送模块,因此本发明方案进一步简化了图像缩放的处理。
附图说明
图1为双线性插值示意图;
图2为原有方案的结构框图;
图3为本发明方案的实现流程图;
图4为本发明方案的结构框图;
图5为本发明中命令发送模块的结构框图;
图6为本发明命令发送模块中寄存器模块的结构框图;
图7为图6所示寄存器模块的一个参考配置信息;
图8为本发明中图像尺寸缩放模块的一种实现示意图;
图9为本发明中图像尺寸缩放模块的另一种实现示意图;
图10为本发明基于图8所示图像尺寸缩放模块的装置结构图;
图11为图像横向尺寸缩放的实现流程图;
图12为本发明中图像纵向尺寸缩放的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明方案进行详细说明。
首先,可以将上述公式(1)的双线性插值公式改为下述公式(2)。
P(x′,y′)=(1-a)[(1-b)P(x,y)+bP(x,y+1)]+a[(1-b)P(x+1,y)+bP(x+1,y+1)]; (2)
其中,{0 ≤ a,b≤1}。
从上述公式(2)可以看出,一个二维图像的处理可以转化为两个一维图像的处理,这样就可以简化运算量和硬件资源。比如,首先进行横向的放大或缩小,然后把横向处理得到的数据存在存储器中,之后再对该数据进行纵向的放大或缩小。或者首先将前置滤波处理得到的数据存在存储器中,然后进行纵向的放大或缩小,再把纵向处理后的数据进行横向的放大或缩小。
需要说明的是,如果是进行图像缩小,在进行纵向处理时,由于图像缩小时,每两行数据之间只可能产生一行输出数据,也就是说,只需要根据两行数据进行计算,因此当前只需要存储一行经过横向处理的图像数据,也即只需要一行行缓冲器作为存储器来存储横向处理得到的数据。在第二行数据到来时,将第一行数据从行缓冲器中读出,对保存的第一行数据和当前到达的第二行数据进行计算,并存储该第二行数据,之后以此继续计算,直到一帧图像计算完为止。
如果是进行图像放大,则在进行纵向处理时,由于两行经过横向处理的数据之间可能产生两行输出数据,也就是说,可能需要通过这两行数据计算两次,因此需要将这两行数据都保存在行缓冲器中。而在对这两行数据进行第二次计算处理时,可能会有第三行数据输入,因此需要三行行缓冲器。
由以上描述可以看出,本发明的技术方案如图3所示,具体包括以下步骤:
步骤301、配置图像的输入信息、滤波系数信息及缩放倍数信息。
步骤302、根据所配置的滤波系数信息对待处理的图像进行低通滤波。
步骤303、根据所配置的缩放倍数信息对低通滤波后的图像数据进行横向尺寸缩放处理,并保存横向缩放处理后的图像数据,并根据图像的输入信息结束图像的横向尺寸缩放处理;
步骤304、根据所配置的缩放倍数信息对横向缩放处理后的图像数据进行纵向尺寸缩放处理,并根据图像的输入信息结束图像的纵向尺寸缩放处理。
基于上述处理原理,下面再结合图4对本发明方案作进一步详细的说明。
图4中,图像缩放处理装置分别与图像预处理模块及上位机连接,接收上位机发送来的指令,并根据该指令对图像预处理模块发送来的图像数据进行处理。图像缩放处理装置包括命令发送模块、前置滤波器模块及图像尺寸缩放模块。
在上述模块中,上位机首先要完成图像输入信息、放大缩小信息及滤波系数等信息的配置,以保证图像缩放处理***能够正常工作。该配置具体包括:输入图像宽度、输入图像高度、前置滤波系数、图像缩放倍数。其中,上位机所配置的前置滤波系数,也即低通滤波系数应根据图像的缩放比例配置。另外,为使得图像缩放处理装置中的图像横向尺寸缩放模块和图像纵向尺寸缩放模块能够进一步根据图像的输出信息对缩放处理后的图像数据进行调整,上位机还可以进一步完成对输出图像宽度及输出图像高度信息的配置。
命令发送模块将上位机根据图像缩放比例配置的低通滤波系数发送给前置滤波器模块,并将上位机发送的图像缩放倍数以及图像输入信息发送给图像横向尺寸缩放模块及图像纵向尺寸缩放模块。
前置滤波器模块将图像预处理模块发送来的图像进行低通滤波,并将低通滤波后的图像发送到图像横向尺寸缩放模块。如前所述,此低通滤波的系数由上位机根据图像缩放比例进行配置,由命令发送模块转发到本模块。
图像尺寸缩放模块根据命令发送模块转发来的图像缩放倍数信息,对前置滤波模块发送来的图像数据进行横向及纵向的缩放处理,并根据图像输入信息确定横向及纵向处理是否结束。图像尺寸缩放模块还将变换后的图像发送到图像后处理模块。
这里的图像后处理模块可以是对缩放后的图像进行压缩的图像压缩模块,也可以是用于显示图像的图像显示模块。
通过上述各个模块的处理,即可实现对图像的缩放。
另外,在上述图像缩放处理***中,命令发送模块需要设置用于保存上位机发送来的相关配置的寄存器,该模块具体可以包括寄存器地址译码模块、寄存器读写模块和寄存器模块,如图5所示。上位机发送来的配置信息中包含相应的寄存器地址,因此寄存器地址译码模块对上位机发送过来的寄存器地址进行译码,并找到要操作的寄存器,之后由寄存器读写模块完成对该寄存器的写入操作。并且上位机还可以读出寄存器中的数据,这时,首先由寄存器地址译码模块对上位机发送来的寄存器地址进行译码,并找到要读出的寄存器,之后由寄存器读写模块读出该寄存器中的相应数据,并根据实际需要将该数据发送给相应的处理模块,比如,发送到上位机的软件等。也就是说,该图像缩放处理***中的命令发送由寄存器读写模块完成。另外,寄存器地址译码模块所找到的寄存器单元都属于寄存器模块,寄存器模块中包含很多的控制寄存器。
寄存器模块所包含的控制寄存器具体可以有:输入图像宽度寄存器(IMG_WIDTH)、输入图像高度寄存器(IMG_HEIGHT)、前置滤波器系数寄存器(FIR_COEF)、图像缩放倍数寄存器整数部分(ZOOM_INT)和图像缩放倍数寄存器小数部分(ZOOM_FRAC)。如果上位机提供图像输出信息,则该控制寄存器还应包括输出图像宽度寄存器(OUT_WIDTH)及输出图像高度寄存器(OUT_HEIGHT)。包括这些控制寄存器的寄存器模块如图6所示。在启动图像缩放之前,上位机需要配置好这些寄存器的值,以保证***正常工作。比如,如果该***输入图像大小为640×480,输出图像大小为352×288,滤波器的系数采用0、1/16、3/16、8/16、3/16、1/16、0,则这些寄存器的配置如图7所示。这些信息应在图像从图像预处理模块发送到图像缩放处理***前配置完成。
上述图像尺寸缩放模块具体可以由图像横向尺寸缩放模块、图像缩放行缓冲模块以及图像纵向尺寸缩放模块组成,通过这些模块首先完成横向尺寸的缩放,再完成纵向尺寸的缩放。该图像尺寸缩放模块如图8所示。
具体来说,图像横向尺寸缩放模块根据命令发送模块转发的图像缩放倍数,对前置滤波器模块滤波后的图像进行横向的缩放处理,并将处理过的图像存储在图像缩放行缓冲模块中。其在进行横向缩放处理时,还根据图像输入信息确定横向处理是否结束。
图像缩放行缓冲模块则用于保存图像横向尺寸缩放模块发送来的图像数据。
图像纵向尺寸缩放模块再根据命令发送模块转发的图像缩放倍数,对图像缩放行缓冲模块中的图像进行纵向尺度的变换,并将变换后的图像发送到图像后处理模块。其在进行纵向缩放处理时,还根据图像输入信息确定纵向处理是否结束。
上述图像尺寸缩放模块具体还可以是由图像缩放行缓冲模块、图像纵向尺寸缩放模块以及图像横向尺寸缩放模块组成,通过这些模块首先完成纵向尺寸的缩放,再完成横向尺寸的缩放。该图像尺寸缩放模块如图9所示。
具体来说,首先由图像缩放行缓冲模块保存前置滤波模块发送来的图像数据。
图像纵向尺寸缩放模块根据命令发送模块转发来的图像缩放倍数信息,对图像缩放行缓冲模块中保存的图像数据进行纵向的缩放处理,并将纵向处理后的图像数据发送到图像横向尺寸缩放模块。其在进行图像纵向尺寸缩放的过程中,还会根据图像输入信息确定纵向尺寸处理是否结束。
图像横向尺寸缩放模块则根据命令发送模块转发来的图像缩放倍数信息,对图像纵向尺寸缩放模块发送来的图像数据进行横向尺寸缩放。其在进行图像横向尺寸缩放的过程中,同样会根据图像输入信息确定横向尺寸处理是否结束。
下面再对基于图4所示装置的具体缩放处理过程进行详细说明。其中,由于采用图8或图9所示的图像尺寸缩放模块的实现效果相同,不同之处主要在于是先进行横向缩放还是先进行纵向缩放,因此下面仅以先进行横向缩放为例进行详细说明。采用图8中的图像尺寸缩放模块的装置如图10所示。
在图像输入时,首先由前置滤波器对其进行滤波,该***可以采取n×n的二维低通滤波,滤波器系数的选取要根据图像缩放的比例来确定,以保证图像在缩放之后没有高频噪声,同时还具有较清晰的图像质量。比如,可以采用7×7的线性插值,以颜色值为例,滤波后一个象素的颜色数值由周围7×7个象素点经过线性加权平均得到,这样就需要7×7=49个乘法器。为减少乘法器,前置滤波器模块具体可以由两个一维滤波器组成,分别针对横向滤波和纵向滤波,这样,每个一维滤波器只需要4个乘法器。
由于是七阶低通滤波,因此前置滤波器可以使用6行行缓冲器来缓存横向缩放后的图像数据,以便在横向处理后进行纵向处理。
在经过横向及纵向滤波之后,图像的高频噪音已被去除,但图像的大小没有改变,因此发送给图像横向尺寸缩放模块,由图像横向尺寸缩放模块首先对其进行横向尺寸的缩放。
本发明方案所采用的缩放方法为双线性插值,图像缩放所使用的插值系数由上位机进行配置。其缩放比例则由命令发送模块中的ZOOM_INT寄存器和ZOOM_FRAC寄存器决定。比如,由160×120到128×96,其缩放比例应为1.25,我们将1.25化成一个具有六位整数、十二位小数的二进制数,得到1.25d=000001.0100000000b,则命令发送模块的寄存器模块中的ZOOM_INT=000001b=0x01,ZOOM_FRAC=0x0100000000=0x100,从而图像横向尺寸缩放模块及图像纵向尺寸缩放模块可以根据这两个寄存器来确定缩放比例。
在本***的图像横向尺寸缩放模块中有一个象素步长计数器(PIXEL_STEP),以便确定当前输入行的一个象素到来时,是否需要产生一个新的象素。每到一个象素该计数器值就会自动加1,如果发现该计数器的值大于图像缩放倍数,则会产生一个新的象素,该象素的值由刚刚输入的象素以及它前面的象素决定,同时会将该计数器的值减去图像缩放倍数。当一帧图像中的某行输出结束或新的一帧象素到来时,该计数器清零。该处理过程具体如图11所示,其中,图像的行输出是否结束具体是根据象素计数器(PIXEL_CNT)来确定的。
由于新的输出象素必然出现在刚到达的两个输入象素之间,且由这两个输入象素的加权平均计算得到,仍以颜色值为例,假设刚刚到达的两个象素为P1和P2,则新的象素颜色值可以通过下述公式计算得到:Pnew=(1-a)*P1+a*P2。
其中,系数a可以根据新的象素Pnew与P1之间的距离,即当前PIXEL_STEP寄存器的值与图像缩放倍数的差求出,其公式为:a=PIXEL_STEP-ZOOM_INT-ZOOM_FRAC。a和(1-a)即为插值系数。
经过上述处理,就可以得到经过横向缩放的一行图像数据,并将该图像数据存储在图像缩放行缓冲器模块中。
在做完横向缩放后,每行的尺寸由160变为128,但高仍为120,且横向缩放后的图像存储在图像缩放行缓冲器模块中了。如前所述,如果是图像缩小,则该图像缩放行缓冲器模块可以是只有一条;如果是图像放大,则该图像缩放行缓冲器模块应有三条。
本实施例是对图像进行缩小,因此在由纵向图像缩放模块对图像缩放行缓冲器模块中的图像进行纵向缩放时,只要图像缩放行缓冲器模块中有了一行图像数据,并且接收到另一行图像数据,则可以进行纵向缩放处理。同样,图像缩放所使用的插值系数由上位机进行配置,图像缩放比例根据命令发送模块中的寄存器ZOOM_INT和ZOOM_FRAC确定。纵向缩放处理的具体方式基本与横向缩放处理相同,它也需要一个计数器,该计数器为行步长计数器(LINE_STEP),根据该计数器可以确定在图像缩放行缓冲模块中有新的一行到来时,是否需要产生一个新的行。具体来说,每到一行图像数据该计数器就会自动加1,如果发现该计数器的值大于图像缩放倍数,则会产生一个新的行,该行的象素值由刚刚输入的一行以及它前面的一行决定,同时会将该计数器的值减去图像缩放倍数。该处理过程具体如图12所示,其中,图像的帧输出是否结束具体是根据行计数器(LINE_CNT)来确定的。
如果是对图像进行放大,则图像缩放倍数为小数,且图像缩放行缓冲模块中至少有三行缓冲器,因此计数器LINE_STEP在根据新的一行到来而加一后,如果计数器当前的数目大于图像缩放倍数,则应针对当前保存在图像缩放行缓冲模块、且最先输入该缓冲模块的两行图像数据进行纵向缩放处理。因为图像缩放倍数为小数,所以在针对这两行数据的纵向处理完成后,即使没有新的图像数据输入图像缩放行缓冲模块,计数器LINE_STEP也可能还大于图像缩放倍数,在这种情况下,如果刚才处理的那两行图像数据还在,则图像纵向尺寸缩放模块还会对这两行图像数据进行纵向缩放处理,因此实现了根据两行横向处理后的图像数据产生两行输出数据。
本发明方案并不仅仅限于说明书和实施方式中所列的运用,其完全可以适用于各种适合的领域,对于熟悉本领域的人员而言可以非常容易地实现另外的优点和进行相应的修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明方案并不限于特定的细节、代表性的设备以及本说明书示出与描述的图示示例。
Claims (15)
1、一种改变数字图像尺寸的方法,其特征在于,配置图像的输入信息、滤波系数信息及缩放倍数信息,该方法进一步包括以下步骤:
a.根据滤波系数信息对待处理的图像进行低通滤波,所述滤波器系数根据图像缩放比例确定;
b.根据缩放倍数信息对低通滤波后的图像数据进行横向及纵向尺寸缩放处理,并根据图像的输入信息结束对图像的横向及纵向尺寸缩放处理,其中,
所述根据缩放倍数信息对图像数据进行横向尺寸缩放处理包括:设置象素步长计数器,在每个象素到达时,该象素步长计数器加一,并在该计数器大于图像缩放倍数时,对当前收到的两个象素进行加权平均,同时将该计数器减去图像缩放倍数值;
所述根据图像的输入信息结束图像的横向尺寸缩放处理包括:根据图像输入信息判断一行图像数据是否处理完毕,如果是,则将所述象素步长计数器清零,否则,继续根据图像输入信息对一行图像数据是否处理完毕进行判断;
所述根据缩放倍数信息对图像数据进行纵向尺寸缩放处理包括:设置行步长计数器,在每行到达时,该行步长计数器加一,并在该计数器大于图像缩放倍数时,对当前收到的两行象素进行加权平均,同时将该计数器减去图像缩放倍数值;
所述根据图像的输入信息结束图像的纵向尺寸缩放处理包括:根据图像输入信息判断一帧图像数据是否处理完毕,如果是,则将所述行步长计数器清零,否则,继续根据图像输入信息对一帧图像数据是否处理完毕进行判断。
2、根据权利要求1所述的方法,其特征在于,所述步骤a中的低通滤波为:采用二维低通滤波。
3、根据权利要求2所述的方法,其特征在于,所述步骤a中的低通滤波为:首先对图像数据进行横向滤波,然后对横向滤波后的图像数据进行纵向滤波。
4、根据权利要求1所述的方法,其特征在于所述步骤b中,所述对图像数据进行横向及纵向尺寸缩放处理为:
先对图像数据进行横向尺寸缩放处理,保存横向缩放处理后的图像数据,之后再对横向缩放处理后的图像数据进行纵向尺寸缩放处理;
或者为:保存低通滤波后的图像数据,对图像数据进行纵向尺寸缩放处理,之后再对纵向尺寸缩放处理后的图像数据进行横向尺寸缩放处理。
5、根据权利要求4所述的方法,其特征在于,
所述改变数字图像尺寸为:缩小图像尺寸;
步骤b中,所述保存图像数据为:将图像数据保存在至少包括一行行缓冲器的图像缩放行缓冲模块中;
所述改变数字图像尺寸或者为:放大图像尺寸;
步骤b中,所述保存图像数据为:将图像数据保存在至少包括三行行缓冲器的图像缩放行缓冲模块中。
6、根据权利要求1或4所述的方法,其特征在于,该方法进一步包括:配置图像的输出信息;
所述步骤b中,在对图像数据进行横向尺寸缩放处理后,进一步包括:根据图像的输出信息对横向缩放处理后的图像数据进行图像调整;
所述步骤b中,在对图像数据进行纵向尺寸缩放处理后,进一步包括:根据图像的输出信息对纵向缩放处理后的图像数据进行图像调整。
7、一种改变数字图像尺寸的装置,所述装置与上位机连接,并接收图像预处理模块发送来的图像数据,所述上位机用于配置图像输入信息、低通滤波系数及图像缩放倍数信息,并将所述配置信息发送给所述装置,其特征在于,所述装置包括以下模块:
命令发送模块,用于将上位机配置的低通滤波系数发送给前置滤波模块,并将上位机发送的图像缩放倍数信息及图像输入信息发送给图像尺寸缩放模块;
前置滤波模块,用于根据低通滤波系数对图像预处理模块发送来的图像数据进行低通滤波,以及将低通滤波后的图像数据发送到图像尺寸缩放模块,所述滤波器系数根据图像缩放比例确定;
图像尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对前置滤波模块发送来的图像数据进行横向及纵向的缩放处理,以及根据图像输入信息确定横向及纵向处理是否结束,该图像尺寸缩放模块还包括象素步长计数器和行步长计数器,其中:
象素步长计数器,在有一个象素到达时,该计数器加一;在该计数器值大于图像缩放倍数时,所述图像横向尺寸缩放模块对当前收到的两个象素进行加权平均,并将该计数器值减去图像缩放倍数值;在一行图像数据输出结束后,该计数器清零;
行步长计数器,在有一行图像数据到达时,该计数器加一;在该计数器值大于图像缩放倍数时,所述图像纵向尺寸缩放模块从图像缩放行缓冲模块中获取两行图像数据进行加权平均,并将该计数器值减去图像缩放倍数值;在一帧图像数据输出结束后,该计数器清零。
8、根据权利要求7所述的装置,其特征在于,所述图像尺寸缩放模块包括:图像横向尺寸缩放模块、图像缩放行缓冲模块及图像纵向尺寸缩放模块,其中,
图像横向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对前置滤波模块发送来的图像数据进行横向的缩放处理,将横向缩放处理后的图像数据存入图像缩放行缓冲模块,以及根据图像输入信息确定横向处理是否结束;
图像缩放行缓冲模块,用于保存图像横向尺寸缩放模块发送来的图像数据;
图像纵向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对图像缩放行缓冲模块中的图像数据进行纵向的缩放处理,将纵向缩放处理后的图像数据发送出去,以及根据图像输入信息确定纵向处理是否结束。
9、根据权利要求7所述的装置,其特征在于,所述图像尺寸缩放模块包括:图像缩放行缓冲模块、图像纵向尺寸缩放模块及图像横向尺寸缩放模块,其中,
图像缩放行缓冲模块,用于保存前置滤波模块发送来的图像数据;
图像纵向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对图像缩放行缓冲模块中保存的图像数据进行纵向的缩放处理,将纵向处理后的图像数据发送到图像横向尺寸缩放模块,以及根据图像输入信息确定纵向尺寸处理是否结束;
图像横向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对图像纵向尺寸缩放模块发送来的图像数据进行横向尺寸缩放,以及根据图像输入信息确定横向尺寸处理是否结束。
10、根据权利要求8或9所述的装置,其特征在于,所述图像缩放行缓冲模块包括:行缓冲器;
进行图像缩小时,所述图像缩放行缓冲模块至少由一行行缓冲器组成;
进行图像放大时,所述图像缩放行缓冲模块至少由三行行缓冲器组成。
11、根据权利要求7所述的装置,其特征在于,所述命令发送模块进一步包括:
寄存器地址译码模块,用于对上位机发送来的信息所携带的寄存器地址进行译码,并将该信息及相应的译码结果发送给寄存器读写模块;
寄存器读写模块,用于根据寄存器地址译码模块发送来的译码结果确定相应的寄存器,并将该译码结果的对应信息存入所确定的寄存器,和/或根据该译码结果将所确定的寄存器中的信息发送到上位机;
寄存器模块,包括至少一个寄存器,用于存储寄存器读写模块存入的信息。
12、根据权利要求11所述的装置,其特征在于,所述寄存器模块包括:输入图像宽度寄存器、输入图像高度寄存器、前置滤波系数寄存器、图像缩放倍数寄存器整数部分和图像缩放倍数寄存器小数部分。
13、根据权利要求12所述的装置,其特征在于,所述上位机进一步用于配置图像输出信息;
所述命令发送模块中的寄存器模块进一步包括:输出图像宽度寄存器及输出图像高度寄存器;
所述图像尺寸缩放模块进一步用于根据命令发送模块转发来的图像输出信息对横向及纵向缩放处理后的图像数据进行调整。
14、根据权利要求7所述的装置,其特征在于,所述前置滤波模块包括用于横向滤波的一维滤波器及用于纵向滤波的一维滤波器,并进一步包括:前置滤波行缓冲模块;
所述用于横向滤波的一维滤波器,将图像预处理模块发送来的图像数据进行横向的低通滤波,并将横向滤波后的图像数据发送到前置滤波行缓冲模块;
所述用于纵向滤波的一维滤波器,从所述前置滤波行缓冲模块中获取图像数据,对其进行纵向滤波处理,并将纵向滤波后的图像数据发送到图像横向尺寸缩放模块。
15、根据权利要求14所述的装置,其特征在于,所述前置滤波行缓冲模块由数目为低通滤波阶数减一的行缓冲器组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100568928A CN100356405C (zh) | 2005-03-28 | 2005-03-28 | 一种改变数字图像尺寸的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100568928A CN100356405C (zh) | 2005-03-28 | 2005-03-28 | 一种改变数字图像尺寸的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1652155A CN1652155A (zh) | 2005-08-10 |
CN100356405C true CN100356405C (zh) | 2007-12-19 |
Family
ID=34876794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100568928A Expired - Fee Related CN100356405C (zh) | 2005-03-28 | 2005-03-28 | 一种改变数字图像尺寸的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100356405C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290300B2 (en) * | 2008-07-31 | 2012-10-16 | Adobe Systems Incorporated | Seam-based reduction and expansion of images with color-weighted priority |
KR20110048794A (ko) * | 2009-11-03 | 2011-05-12 | 삼성전자주식회사 | 이미지 프로세서 및 이를 포함하는 전자 장치 |
JP5972687B2 (ja) * | 2012-07-02 | 2016-08-17 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
CN103106395A (zh) * | 2012-12-15 | 2013-05-15 | 长春理工大学 | 车牌字符实时识别***的几何归一化内核装置 |
CN103903285B (zh) * | 2012-12-25 | 2017-05-10 | 三星电子(中国)研发中心 | 一种png图像和bmp图像的缩略图提取方法 |
CN103179324A (zh) * | 2013-03-27 | 2013-06-26 | 珠海全志科技股份有限公司 | 图像锐化方法及装置 |
CN107508967A (zh) * | 2017-07-21 | 2017-12-22 | 努比亚技术有限公司 | 一种图像放大方法、终端和计算机可读存储介质 |
CN107657587A (zh) * | 2017-10-23 | 2018-02-02 | 北京嗨动视觉科技有限公司 | 图像处理方法、装置及*** |
CN111369444B (zh) * | 2020-03-31 | 2024-02-27 | 浙江大华技术股份有限公司 | 一种图像缩放处理方法及装置 |
CN117641063A (zh) * | 2023-12-05 | 2024-03-01 | 北京视睿讯科技有限公司 | 一种视频源预览方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574572A (en) * | 1994-09-07 | 1996-11-12 | Harris Corporation | Video scaling method and device |
US20020159655A1 (en) * | 2001-04-30 | 2002-10-31 | Kun-Nan Cheng | Apparatus and method of using scaling device of pre-filter |
US6556193B1 (en) * | 1999-04-02 | 2003-04-29 | Teralogic, Inc. | De-interlacing video images using patch-based processing |
CN1471310A (zh) * | 2002-07-26 | 2004-01-28 | ������������ʽ���� | 摄像装置 |
US6724826B1 (en) * | 2000-02-25 | 2004-04-20 | Ampex Corporation | Method and apparatus for improving the image quality of transmitted video signals via pre-filtering |
CN1516458A (zh) * | 2003-08-28 | 2004-07-28 | 上海交通大学 | 采用二维多相位插值滤波的视频格式转换器的控制方法 |
-
2005
- 2005-03-28 CN CNB2005100568928A patent/CN100356405C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574572A (en) * | 1994-09-07 | 1996-11-12 | Harris Corporation | Video scaling method and device |
US6556193B1 (en) * | 1999-04-02 | 2003-04-29 | Teralogic, Inc. | De-interlacing video images using patch-based processing |
US6724826B1 (en) * | 2000-02-25 | 2004-04-20 | Ampex Corporation | Method and apparatus for improving the image quality of transmitted video signals via pre-filtering |
US20020159655A1 (en) * | 2001-04-30 | 2002-10-31 | Kun-Nan Cheng | Apparatus and method of using scaling device of pre-filter |
CN1471310A (zh) * | 2002-07-26 | 2004-01-28 | ������������ʽ���� | 摄像装置 |
CN1516458A (zh) * | 2003-08-28 | 2004-07-28 | 上海交通大学 | 采用二维多相位插值滤波的视频格式转换器的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1652155A (zh) | 2005-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100356405C (zh) | 一种改变数字图像尺寸的方法及装置 | |
US8866646B2 (en) | Memory compression technique with low latency per pixel | |
US20140169693A1 (en) | Streaming Wavelet Transform | |
CN102263880A (zh) | 一种图像缩放的方法和装置 | |
CN101409051A (zh) | 液晶显示器动态图像显示品质改善装置及其方法 | |
CN1179580A (zh) | 图像处理装置和处理方法 | |
US20090033760A1 (en) | Apparatus and method for processing image data | |
US7929777B2 (en) | Variable length decoding device, variable length decoding method and image capturing system | |
CN103916612A (zh) | 一种任意比例缩放***及方法 | |
CN102831571B (zh) | 用流水线方式单步实现图形图像缩放、旋转的5阶滤波器的设计方法 | |
CN100379249C (zh) | 一种在拍摄过程中改变数字图像尺寸的方法及装置 | |
CN100562919C (zh) | 对视频信号进行垂直分辨率调整的装置和方法 | |
US20090179913A1 (en) | Apparatus for image reduction and method thereof | |
US20070046792A1 (en) | Image compositing | |
US20090087119A1 (en) | Method and apparatus for arbitrary ratio image reduction | |
TW200949759A (en) | Image processing apparatus and method | |
CN1293514C (zh) | 一种数字图像的缩放处理*** | |
EP1353510A2 (en) | Image processing apparatus and image processing method | |
CN100551067C (zh) | Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法 | |
CN102694962A (zh) | 降噪方法及装置 | |
KR100463552B1 (ko) | 큐빅 컨벌루션 보간 장치 및 방법 | |
CN2736865Y (zh) | 一种数字图像的缩放处理*** | |
CN102118598B (zh) | 视频的处理装置及其处理方法 | |
CN1327711C (zh) | 用于视讯译码及消除交错的方法及相关装置 | |
JP4700838B2 (ja) | フィルタ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071219 Termination date: 20120328 |