CN1665269A - 一种在拍摄过程中改变数字图像尺寸的方法及装置 - Google Patents
一种在拍摄过程中改变数字图像尺寸的方法及装置 Download PDFInfo
- Publication number
- CN1665269A CN1665269A CN 200510064734 CN200510064734A CN1665269A CN 1665269 A CN1665269 A CN 1665269A CN 200510064734 CN200510064734 CN 200510064734 CN 200510064734 A CN200510064734 A CN 200510064734A CN 1665269 A CN1665269 A CN 1665269A
- Authority
- CN
- China
- Prior art keywords
- image
- module
- convergent
- divergent
- view data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000008569 process Effects 0.000 title claims description 24
- 238000001914 filtration Methods 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims description 73
- 230000003139 buffering effect Effects 0.000 claims description 56
- 239000000872 buffer Substances 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 6
- 230000003321 amplification Effects 0.000 claims description 5
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 5
- 238000004321 preservation Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011045 prefiltration Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种在拍摄过程中改变数字图像尺寸的方法,配置图像的输入信息、滤波系数信息以及图像显示和图像捕捉的缩放倍数信息,该方法进一步包括:根据滤波系数信息对待处理的图像进行低通滤波;根据图像显示的缩放倍数信息及图像捕捉的缩放倍数信息对低通滤波后的图像数据分两路分别进行包括横向及纵向尺寸缩放的处理,并根据图像的输入信息结束对图像的横向及纵向尺寸缩放处理。本发明同时还公开了一种在拍摄过程中改变数字图像尺寸的装置。本发明通过对图像数据分两路分别进行包括横向尺寸及纵向尺寸的缩放,满足了图像显示及图像存储的需求,并减少了图像缩放的时间,实现了对图像数据的实时处理。
Description
技术领域
本发明涉及图像处理技术领域,更确切地说是涉及一种在拍摄过程中改变数字图像尺寸的方法及装置。
背景技术
当前,照相技术已经进入数字成像时代,之前盛行的胶卷照相机正在逐步被数字相机代替。据统计,2004年数码相机的出货量已经达到上千万台。随着数字图像处理技术的发展,数字成像已经在数码相机、数码摄像机、手机以及计算机摄像头之类的电子产品中得到广泛的应用。
在数字成像技术中,如何根据需要对原始图像进行尺寸变换始终是个难题。这主要是因为:不同的处理模块对图像尺寸的要求不同,而这些处理模块往往使用同一个图像源,这就需要数码相机之类的数字终端设备能够根据同一个图像源变换出不同尺寸的图像,并且该变换应该非常快地完成。
比如,数码相机中液晶屏的尺寸一般不会超过四分之一视频图像阵列(QVGA),QVGA的分辨率为320×240,而拍照存储及打印的图像尺寸却要大很多,一般的数码相机都有几百万像素,专业数码相机甚至可以达到上千万像素,但液晶屏所显示的图像与数码相机存储的图像都来源于同一个数据源,即图像传感器。其中,图像传感器把外界的光信号转化成电信号,并进一步从模拟信号转化为数字信号输出来。
因此,如何根据同一图像源转换得到不同输出设备所需的不同尺寸的图像,对系统的性能、成本影响都非常大。
目前,在计算机的图像处理中,图像的放大或缩小大都通过软件实现,通常是使用二次线性插值、三次线性插值等算法进行处理,而软件处理需要占用非常多的CPU资源,对计算机中处理器件的要求很高。对于数码相机、数码摄像机以及手机之类的数字终端设备来说,由于CPU的功能不是很强大,对数字图像尺寸变换的处理来说远远不够,因此通过软件实现视频缩放基本上是不可能的,这就需要用硬件来解决图像处理的问题。
由于数码相机、数码摄像机以及手机之类的数字终端设备在进行图像尺寸变换时,一方面要根据显示屏的要求对图像传感器发送来的数字图像数据进行缩放,以在显示屏中显示该图像;另一方面,在摄像者选取了要拍摄的物体或景象后,要根据事先设置好的尺寸以一定的格式存放在存储器中,因此,现有的硬件解决方案一般都是采用图1所示的数字图像处理芯片所提供的处理流程。
具体来说,该处理流程包括以下几个阶段:
1、存储阶段。首先将来自图像传感器的图像数据进行预处理,比如插值、去噪声、去坏点及滤波等,并按照YUV422的格式通过存储器控制模块存储在外部存储器中。该存储器一般是易挥发的存储器,比如是SRAM和SDRAM等。
2、显示阶段。在拍摄之前,图像需要被显示在显示屏上,以供拍摄者观察并决定是否需要进行下一步的拍摄工作。在该阶段,已经存储在存储器中的图像数据被存储器控制模块读取出来,经过显示图像缩放模块将该图像进行适度的放大或缩小,并由液晶显示控制模块显示在液晶屏上。
3、拍摄阶段。拍摄者在确定了合适的景观或物体并按下快门后,图像传感器输出的下一帧图像就会被存储在存储器中,之后再被读出,经过捕捉图像缩放模块将该图像按照事先设定的分辨率进行放大或缩小,并由图像压缩模块进行图像压缩,压缩后的码流经过存储器控制模块存放在存储器中。由于拍摄阶段的图像或视频流可能被存档,因此该阶段的存储器应采用非挥发性存储器,目前业界一般采用Flash存储器。另外,拍摄阶段中,在通过捕捉图像缩放模块对图像压缩存储的同时,还需要通过显示图像缩放模块及液晶显示控制模块将该图像显示在液晶屏上。
在上述解决方案中,图像传感器输出的图像需要由存储器控制模块存放在片外的存储器中,当一帧存完后,数字图像处理芯片才能读取该帧图像数据进行处理。而在处理过程中,图像传感器输出到数字图像处理芯片的图像数据还要继续存放在存储器中。也就是说,该存储器至少应该存储两帧图像的数据。
由此可见,目前的处理方案具有显而易见的缺点:
1、片外存储器中需要存放两帧原始图像,需要存储的信息较多,因此需要较大存储空间的片外存储器,而目前的片外存储器通常为SDRAM,其成本较高;
2、该方案需要在一帧图像完全存放在存储器后,才对其进行放大或缩小,因此输入图像和输出图像存在较大的延迟,该延迟往往大于一帧时间,无法做到实时处理;
3、由于目前的处理方案不能实现实时处理,因此拍摄到的图像往往与拍摄时的景象有些微差别,并且该差别不易进行控制。
发明内容
有鉴于此,本发明所要解决的主要问题在于提供一种在拍摄过程中改变数字图像尺寸的方法,以对图像进行实时的缩放处理,并且能够降低实现成本。
本发明所要解决的另一个问题在于提供一种在拍摄过程中改变数字图像尺寸的装置。
本发明的一种在拍摄过程中改变数字图像尺寸的方法,配置图像的输入信息、滤波系数信息以及图像显示和图像捕捉的缩放倍数信息,该方法进一步包括以下步骤:
a.根据滤波系数信息对待处理的图像进行低通滤波;
b.根据图像显示的缩放倍数信息及图像捕捉的缩放倍数信息对低通滤波后的图像数据分两路分别进行包括横向及纵向尺寸缩放的处理,并根据图像的输入信息结束对图像的横向及纵向尺寸缩放处理。
所述步骤b中,所述对图像数据进行横向及纵向尺寸缩放处理为:
先对图像数据进行横向尺寸缩放处理,保存横向缩放处理后的图像数据,之后再对横向缩放处理后的图像数据进行纵向尺寸缩放处理;
或者为:保存低通滤波后的图像数据,对图像数据进行纵向尺寸缩放处理,之后再对纵向尺寸缩放处理后的图像数据进行横向尺寸缩放处理。
本发明的一种在拍摄过程中改变数字图像尺寸的装置,所述装置与上位机连接,并接收图像预处理模块发送来的图像数据,所述上位机用于配置图像输入信息、低通滤波系数及图像显示和图像捕捉的缩放倍数信息,并将所述配置信息发送给所述装置,所述装置包括以下模块:
命令发送模块,用于将上位机配置的低通滤波系数发送给前置滤波模块,并将上位机发送的图像显示和图像捕捉的缩放倍数信息,以及图像输入信息发送给图像尺寸缩放模块;
前置滤波模块,用于根据低通滤波系数对图像预处理模块发送来的图像数据进行低通滤波,以及将低通滤波后的图像数据发送到图像尺寸缩放模块;
图像尺寸缩放模块,用于根据命令发送模块转发来的图像显示及图像捕捉的缩放倍数信息,对前置滤波模块发送来的图像数据分两路分别进行包括横向及纵向尺寸缩放的处理,以及根据图像输入信息确定横向及纵向处理是否结束。
本发明方案通过对图像数据分两路分别进行包括横向尺寸和纵向尺寸的缩放,满足了图像显示及图像存储的需求,且在纵向尺寸缩放时也只有几行的延迟,不需要像现有技术那样在一帧图像存储完后才能进行图像显示及图像存储的缩放处理,减少了对图像数据进行缩放所使用的时间,实现了对图像数据的实时处理。
本发明方案保存用于纵向尺寸缩放的图像数据最多只需要三行行缓冲器,对图像存储器的要求很低,相比于现有技术需要在外部存储器中存放两帧原始图像来说,本发明方案所需的硬件资源较少,大大降低了图像缩放的处理成本。
本发明方案还通过先进行纵向尺寸缩放处理,后进行横向尺寸缩放处理,使得所述处理装置只需要一个行缓冲模块,进一步减少了所需的硬件资源,进一步降低了图像缩放的处理成本。
本发明方案通过还在前置滤波时通过将二维滤波转化为两个一维滤波,并将二维图像的缩放转化为两个一维图像的缩放,大大减少了乘法器的使用,从而使芯片的成本大大降低。
现有技术在实现数字图像尺寸改变时必须使用除法器,众所周知,除法器不易实现,而本发明方案避免了使用除法器,从而进一步降低了芯片的成本。
另外,由于现有技术在实现图像缩放处理之前,往往需要在硬件中预存一些特定的常数,而本发明方案则不需要预存常数,只需要由上位机配置各种配置信息,并存入命令发送模块,因此本发明方案进一步简化了图像缩放的处理。
附图说明
图1为目前用于实现图像缩放处理的数字图像处理芯片结构示意图;
图2为双线性插值示意图;
图3为本发明方案的实现流程图;
图4为本发明方案的结构框图;
图5为本发明中命令发送模块的结构框图;
图6为本发明命令发送模块中寄存器模块的结构框图;
图7为本发明中图像尺寸缩放模块的一种实现示意图;
图8为本发明中图像尺寸缩放模块的另一种实现示意图;
图9为图8所示图像尺寸缩放模块另一种结构的示意图;
图10为本发明基于图7所示图像尺寸缩放模块的装置结构图;
图11为本发明中图像纵向尺寸缩放的实现流程图;
图12为本发明中图像横向尺寸缩放的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明方案作进一步详细的说明。
对于通过硬件解决图像处理来说,在一般的视频卡、视频采集卡中,通常是使用二次线性插值来实现硬件的图像缩放。由于放大或缩小后的图像的一个象素必然会落在原图像的四个象素之间,因此,假设放大或缩小后的图像中的一个象素P(x’,y’)落在原图像的四个象素P(x,y)、P(x,y+1)、P(x+1,y)及P(x+1,y+1)之间,该相互关系如图2所示,按照上述算法,该象素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}。
对于象素的亮度值与色度值,都可以用该公式进行计算。
本发明首先将上述公式(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、根据所配置的缩放倍数信息对低通滤波后的图像数据进行横向及纵向的尺寸缩放,并根据图像的输入信息结束对图像的横向及纵向的缩放处理。
其中,在进行缩放处理时,可以在对图像数据按照图像捕捉的缩放倍数进行缩放的同时,对该图像数据按照图像显示的缩放倍数进行缩放。
基于上述处理原理,下面再结合图4对本发明方案作进一步详细的说明。
图4中,图像缩放处理装置分别与图像预处理模块及上位机连接,接收上位机发送来的指令,并根据该指令对图像预处理模块发送来的图像数据进行处理。其中,图像预处理模块接收图像传感器发送来的图像数据,并对该数据进行预处理,之后发送给图像缩放处理装置。图像缩放处理装置包括命令发送模块、前置滤波模块及图像尺寸缩放模块。
在上述模块中,上位机首先要完成图像输入信息、放大缩小信息及滤波系数等信息的配置,以保证图像缩放处理系统能够正常工作。该配置具体包括:输入图像宽度、输入图像高度、前置滤波系数、图像缩放倍数。其中,上位机所配置的前置滤波系数,即低通滤波系数,应根据图像的缩放比例配置。具体来说,在未拍摄时图像只需要显示在显示屏上,而不需要捕捉图像,这种情况下,滤波器的系数需要根据图像显示的缩放比例确定;当进行图像拍摄时,仅仅针对一帧图像进行拍摄相关的处理,所以此时滤波器的系数需要根据图像捕捉的缩放比例确定,虽然此时也需要进行图像显示,但由于仅仅是对一帧图像数据按照图像捕捉的缩放比例确定,所以不会对显示的图像有太大的影响。图像缩放倍数包括图像捕捉的缩放倍数以及图像显示的缩放倍数。另外,为使得图像缩放处理装置中的图像横向尺寸缩放模块和图像纵向尺寸缩放模块能够进一步根据图像的输出信息对缩放处理后的图像数据进行调整,上位机还可以进一步完成对输出图像宽度及输出图像高度信息的配置。
命令发送模块将上位机根据图像缩放比例配置的低通滤波系数发送给前置滤波模块,并将上位机发送的图像缩放倍数以及图像输入信息发送给图像尺寸缩放模块。
前置滤波模块将图像预处理模块发送来的图像进行低通滤波,并将低通滤波后的图像发送到图像尺寸缩放模块。如前所述,此低通滤波的系数由上位机根据图像显示或图像捕捉的缩放比例进行配置,由命令发送模块转发到本模块。
图像尺寸缩放模块根据命令发送模块转发来的图像捕捉的缩放倍数以及图像显示的缩放倍数,对前置滤波模块发送来的图像数据进行两路横向及纵向的缩放处理,并根据图像输入信息分别确定这两路的横向及纵向处理是否结束。图像尺寸缩放模块还将变换后的图像发送到图像后处理模块。
这里的图像后处理模块包括对缩放后的图像进行压缩的图像压缩模块以及用于显示图像的图像显示模块。
通过上述各个模块的处理,即可实现对图像的缩放。
另外,在上述图像缩放处理系统中,命令发送模块需要设置用于保存上位机发送来的相关配置的寄存器,该模块具体可以包括寄存器地址译码模块、寄存器读写模块和寄存器模块,如图5所示。上位机发送来的配置信息中包含相应的寄存器地址,因此寄存器地址译码模块对上位机发送过来的寄存器地址进行译码,并找到要操作的寄存器,之后由寄存器读写模块完成对该寄存器的写入操作。并且上位机还可以读出寄存器中的数据,这时,首先由寄存器地址译码模块对上位机发送来的寄存器地址进行译码,并找到要读出的寄存器,之后由寄存器读写模块读出该寄存器中的相应数据,并根据实际需要将该数据发送给相应的处理模块,比如,发送到上位机的软件等。也就是说,该图像缩放处理系统中的命令发送由寄存器读写模块完成。另外,寄存器地址译码模块所找到的寄存器单元都属于寄存器模块,寄存器模块中包含很多的控制寄存器。
寄存器模块所包含的控制寄存器具体可以有:输入图像宽度寄存器(IMAGE_WIDTH)、输入图像高度寄存器(IMAGE_HEIGHT)、前置滤波系数寄存器(FIR_COEF)、显示图像缩放倍数寄存器(DISPLAY_RATIO)及捕捉图像缩放倍数寄存器(CAPTURE_RATIO)。并且缩放倍数寄存器具体可以包括整数部分(ZOOM_INT)和小数部分(ZOOM_FRAC)。
如果上位机提供图像输出信息,则该控制寄存器还应包括捕捉图像宽度寄存器(CAPTURE_WIDTH)、捕捉图像高度寄存器(CAPTURE_HEIGHT)、显示图像宽度寄存器(DISPLAY_WIDTH)及显示图像高度寄存器(DISPLAY_HEIGHT)。包括这些控制寄存器的寄存器模块如图6所示。在启动图像缩放之前,上位机需要配置好这些寄存器的值,以保证系统正常工作。寄存器的配置信息应在图像从图像预处理模块发送到图像缩放处理装置前配置完成。
上述图像尺寸缩放模块具体可以先进行横向尺寸缩放,再进行纵向尺寸缩放;也可以先进行纵向尺寸缩放,再进行横向尺寸缩放。
首先以先进行横向尺寸缩放为例。图像尺寸缩放模块可以由图像显示横向尺寸缩放模块、图像显示缩放行缓冲模块和图像显示纵向尺寸缩放模块,以及图像捕捉横向尺寸缩放模块、图像捕捉缩放行缓冲模块和图像捕捉纵向尺寸缩放模块组成。该图像尺寸缩放模块如图7所示。可以通过图像显示横向尺寸缩放模块、图像显示缩放行缓冲模块和图像显示纵向尺寸缩放模块首先完成用于图像显示的数据的横向尺寸缩放,再完成纵向尺寸缩放;并通过图像捕捉横向尺寸缩放模块、图像捕捉缩放行缓冲模块和图像捕捉纵向尺寸缩放模块先完成用于图像捕捉的数据的横向尺寸缩放,再完成纵向尺寸缩放。由于这两路缩放处理的具体处理流程相同,因此下面仅以对用于图像显示的数据的缩放处理进行详细描述。
具体来说,图像显示横向尺寸缩放模块根据命令发送模块转发的图像缩放倍数,对前置滤波模块滤波后的图像进行横向的缩放处理,并将处理过的图像存储在图像缩放行缓冲模块中。其在进行横向缩放处理时,还根据图像输入信息确定横向处理是否结束。
图像显示缩放行缓冲模块则用于保存图像显示横向尺寸缩放模块发送来的图像数据。此时,行缓冲器的宽度等于横向缩放后的图像宽度。
图像显示纵向尺寸缩放模块再根据命令发送模块转发的图像缩放倍数,对图像显示缩放行缓冲模块中的图像进行纵向尺度的变换,并将变换后的图像发送到图像后处理模块,即图像显示模块。其在进行纵向缩放处理时,还根据图像输入信息确定纵向处理是否结束。
上述图像尺寸缩放模块还可以先进行纵向尺寸缩放。这种情况下,图像尺寸缩放模块由图像显示缩放行缓冲模块、图像显示纵向尺寸缩放模块和图像显示横向尺寸缩放模块,以及图像捕捉行缓冲模块、图像捕捉纵向尺寸缩放模块和图像捕捉横向尺寸缩放模块组成,通过这些模块首先完成纵向尺寸的缩放,再完成横向尺寸的缩放。该图像尺寸缩放模块如图8所示。
同样,这两路处理完全相同,因此仅以对用于图像存储的数据的缩放处理为例进行说明。具体来说,首先由图像捕捉缩放行缓冲模块保存前置滤波模块发送来的图像数据。该行缓冲器的宽度等于原始图像的宽度。
图像捕捉纵向尺寸缩放模块根据命令发送模块转发来的图像捕捉缩放倍数信息,对图像捕捉缩放行缓冲模块中保存的图像数据进行纵向的缩放处理,并将纵向处理后的图像数据发送到图像捕捉横向尺寸缩放模块。其在进行图像纵向尺寸缩放的过程中,还会根据图像输入信息确定纵向尺寸处理是否结束。
图像捕捉横向尺寸缩放模块则根据命令发送模块转发来的图像捕捉缩放倍数,对图像捕捉纵向尺寸缩放模块发送来的图像数据进行横向尺寸缩放。其在进行图像横向尺寸缩放的过程中,同样会根据图像输入信息确定横向尺寸处理是否结束。
显然,图8所示的图像尺寸缩放模块中,图像捕捉缩放行缓冲模块以及图像显示缩放行缓冲模块中保存的数据相同,因此,可以将这两个行缓冲模块合二为一,也就是说,图像捕捉及图像显示采用的是同一个缓冲模块,如图9所示,相比于图7所示的图像尺寸缩放模块,可以节约一个行缓冲模块,并且最多可以节约三行缓冲器。
下面再对基于图4所示装置的具体缩放处理过程进行详细说明。其中,采用图7、图8或图9所示的图像尺寸缩放模块的实现效果相同,不同之处主要在于是先进行横向缩放还是先进行纵向缩放,以及其实现成本有所不同。另外,如果是基于图7所示的图像尺寸缩放模块进行处理,则针对图像存储和图像显示的缩放处理方案相同,所不同的只是行缓冲模块的宽度——行缓冲模块中行缓冲器的宽度与横向缩放处理后的图像宽度相同。如果是基于图8所示的图像尺寸缩放模块进行处理,不但图像存储和图像显示的缩放处理方案相同,而且两个行缓冲模块中行缓冲器的宽度也相同。而如果是基于图9所示的图像尺寸缩放模块进行处理,则两个缩放处理方案相同,并且采用的是同一个行缓冲模块。
因此,下面仅以基于图9所示的图像尺寸缩放模块对图像存储进行缩放为例,采用图9中的图像尺寸缩放模块的装置如图10所示。
在图像输入时,首先由前置滤波模块对其进行滤波,该系统可以采取n×n的二维低通滤波,滤波系数的选取要根据图像的缩放比例来确定,以保证图像在缩放之后没有高频噪声,同时还具有较清晰的图像质量。比如,可以采用7×7的线性插值,以颜色值为例,滤波后一个象素的颜色数值由周围7×7个象素点经过线性加权平均得到,这样就需要7×7=49个乘法器。为减少乘法器,前置滤波模块具体可以由两个一维滤波器组成,分别针对横向滤波和纵向滤波,这样,每个一维滤波器只需要4个乘法器。
由于是七阶低通滤波,因此前置滤波器可以使用6行行缓冲器来缓存横向缩放后的图像数据,以便在横向处理后进行纵向处理。
在经过横向及纵向滤波之后,图像的高频噪音已被去除,但图像的大小没有改变,因此发送给图像缩放行缓冲模块,以便后续的缩放处理。如前所述,如果是进行图像缩小,则该图像缩放行缓冲模块可以是只有一条行缓冲器;如果是图像放大,则该图像缩放行缓冲模块应有三条行缓冲器。
之后,由图像捕捉纵向尺寸缩放模块对图像缩放行缓冲模块中的图像数据进行纵向缩放处理。本发明方案所采用的缩放方法为双线性插值,图像缩放所使用的插值系数由上位机进行配置。其缩放比例根据命令发送模块中的CAPTURE_RATIO寄存器决定,具体可以由该寄存器中的ZOOM_INT寄存器和ZOOM_FRAC寄存器决定。比如,由160×120到128×96,其缩放比例应为1.25,我们将1.25化成一个具有六位整数、十二位小数的二进制数,得到1.25d=000001.0100000000b,则命令发送模块的CAPTURE_RATIO寄存器中的ZOOM_INT=000001b=0x01,ZOOM_FRAC=0x0100000000=0x100,从而图像捕捉纵向尺寸缩放模块及图像捕捉横向尺寸缩放模块可以根据这两个寄存器来确定缩放比例。
本实施例是对图像进行缩小,因此只要图像缩放行缓冲模块中有了一行图像数据,并且接收到另一行图像数据,则可以进行纵向缩放处理。图像缩放所使用的插值系数由上位机进行配置,图像缩放比例则如上所述,根据命令发送模块中的CAPTURE_RATIO寄存器确定。
纵向缩放处理需要一个计数器,该计数器为行步长计数器(LINE_STEP),根据该计数器可以确定在图像缩放行缓冲模块中有新的一行到来时,是否需要产生一个新的行。具体来说,每到一行图像数据该计数器就会自动加1,如果发现该计数器的值大于图像缩放倍数,则会产生一个新的行,该行的象素值由刚刚输入的一行以及它前面的一行决定,同时会将该计数器的值减去图像缩放倍数。该处理过程具体如图11所示,其中,图像的行输出是否结束具体是根据行计数器(LINE_CNT)来确定的。
如果是对图像进行放大,则图像缩放倍数为小数,且图像捕捉缩放行缓冲模块中至少有三行缓冲器,因此计数器LINE_STEP在根据新的一行到来而加一后,如果计数器当前的数目大于图像缩放倍数,则应针对当前保存在图像捕捉缩放行缓冲模块、且最先输入该缓冲模块的两行图像数据进行纵向缩放处理。因为图像缩放倍数为小数,所以在针对这两行数据的纵向处理完成后,即使没有新的图像数据输入图像捕捉缩放行缓冲模块,计数器LINE_STEP也可能还大于图像缩放倍数,在这种情况下,如果刚才处理的那两行图像数据还在,则图像捕捉纵向尺寸缩放模块还会对这两行图像数据进行纵向缩放处理,因此实现了根据两行横向处理后的图像数据产生两行输出数据。
如果图像捕捉纵向尺寸缩放模块按照上述描述对所有的图像数据都作了处理,则每列图像数据的尺寸就由120变成了96,但长仍为160,因此需要进行横向尺寸缩放。纵向缩放处理后的每行数据会直接传输到图像捕捉横向尺寸缩放模块,由图像捕捉横向尺寸缩放模块对输入的图像数据进行横向的缩放处理。
在本系统的图像捕捉横向尺寸缩放模块中同样有一个象素步长计数器(PIXEL_STEP),以便确定当前输入行的一个象素到来时,是否需要产生一个新的象素。每到一个象素该计数器值就会自动加1,如果发现该计数器的值大于图像缩放倍数,则会产生一个新的象素,该象素的值由刚刚输入的象素以及它前面的象素决定,同时会将该计数器的值减去图像缩放倍数。当一帧图像中的某行输出结束或新的一帧象素到来时,该计数器清零。该处理过程具体如图12所示,其中,图像的行输出是否结束具体是根据象素计数器(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)即为插值系数。
经过上述处理,就完成了对用于存储的图像数据的缩放处理。
本发明方案并不仅仅限于说明书和实施方式中所列的运用,其完全可以适用于各种适合的领域,对于熟悉本领域的人员而言可以非常容易地实现另外的优点和进行相应的修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明方案并不限于特定的细节、代表性的设备以及本说明书示出与描述的图示示例。
Claims (20)
1、一种在拍摄过程中改变数字图像尺寸的方法,其特征在于,配置图像的输入信息、滤波系数信息以及图像显示和图像捕捉的缩放倍数信息,该方法进一步包括以下步骤:
a.根据滤波系数信息对待处理的图像进行低通滤波;
b.根据图像显示的缩放倍数信息及图像捕捉的缩放倍数信息对低通滤波后的图像数据分两路分别进行包括横向及纵向尺寸缩放的处理,并根据图像的输入信息结束对图像的横向及纵向尺寸缩放处理。
2、根据权利要求1所述的方法,其特征在于,所述滤波系数,在未拍摄时根据图像显示的缩放倍数确定,在拍摄时根据图像捕捉的缩放倍数确定;
所述步骤a中的低通滤波为:采用二维低通滤波。
3、根据权利要求2所述的方法,其特征在于,所述步骤a中的低通滤波为:首先对图像数据进行横向滤波,然后对横向滤波后的图像数据进行纵向滤波。
4、根据权利要求1所述的方法,其特征在于所述步骤b中,所述对图像数据进行横向及纵向尺寸缩放处理为:
先对图像数据进行横向尺寸缩放处理,保存横向缩放处理后的图像数据,之后再对横向缩放处理后的图像数据进行纵向尺寸缩放处理;
或者为:保存低通滤波后的图像数据,对图像数据进行纵向尺寸缩放处理,之后再对纵向尺寸缩放处理后的图像数据进行横向尺寸缩放处理。
5、根据权利要求4所述的方法,其特征在于,
所述改变数字图像尺寸为:缩小图像尺寸;
步骤b中,所述保存图像数据为:将图像数据保存在至少包括一行行缓冲器的图像缩放行缓冲模块中;
所述改变数字图像尺寸或者为:放大图像尺寸;
步骤b中,所述保存图像数据为:将图像数据保存在至少包括三行行缓冲器的图像缩放行缓冲模块中。
6、根据权利要求1或4所述的方法,其特征在于,该方法进一步包括:配置图像的输出信息;
所述步骤b中,在对图像数据进行横向尺寸缩放处理后,进一步包括:根据图像的输出信息对横向缩放处理后的图像数据进行图像调整;
所述步骤b中,在对图像数据进行纵向尺寸缩放处理后,进一步包括:根据图像的输出信息对纵向缩放处理后的图像数据进行图像调整。
7、根据权利要求1或4所述的方法,其特征在于所述步骤b中,所述根据缩放倍数信息对图像数据进行横向尺寸缩放处理包括:设置象素步长计数器,在每个象素到达时,该象素步长计数器加一,并在该计数器大于图像缩放倍数时,对当前收到的两个象素进行加权平均,同时将该计数器减去图像缩放倍数值;
所述根据图像的输入信息结束图像的横向尺寸缩放处理包括:根据图像输入信息判断一行图像数据是否处理完毕,如果是,则将所述象素步长计数器清零,否则,继续根据图像输入信息对一行图像数据是否处理完毕进行判断。
8、根据权利要求1或4所述的方法,其特征在于所述步骤b中,所述根据缩放倍数信息对图像数据进行纵向尺寸缩放处理包括:设置行步长计数器,在每行到达时,该行步长计数器加一,并在该计数器大于图像缩放倍数时,对当前收到的两行象素进行加权平均,同时将该计数器减去图像缩放倍数值;
所述根据图像的输入信息结束图像的纵向尺寸缩放处理包括:根据图像输入信息判断一帧图像数据是否处理完毕,如果是,则将所述行步长计数器清零,否则,继续根据图像输入信息对一帧图像数据是否处理完毕进行判断。
9、一种在拍摄过程中改变数字图像尺寸的装置,所述装置与上位机连接,并接收图像预处理模块发送来的图像数据,所述上位机用于配置图像输入信息、低通滤波系数及图像显示和图像捕捉的缩放倍数信息,并将所述配置信息发送给所述装置,其特征在于,所述装置包括以下模块:
命令发送模块,用于将上位机配置的低通滤波系数发送给前置滤波模块,并将上位机发送的图像显示和图像捕捉的缩放倍数信息,以及图像输入信息发送给图像尺寸缩放模块;
前置滤波模块,用于根据低通滤波系数对图像预处理模块发送来的图像数据进行低通滤波,以及将低通滤波后的图像数据发送到图像尺寸缩放模块;
图像尺寸缩放模块,用于根据命令发送模块转发来的图像显示及图像捕捉的缩放倍数信息,对前置滤波模块发送来的图像数据分两路分别进行包括横向及纵向尺寸缩放的处理,以及根据图像输入信息确定横向及纵向处理是否结束。
10、根据权利要求9所述的装置,其特征在于,所述图像尺寸缩放模块包括:图像显示横向尺寸缩放模块、图像显示缩放行缓冲模块、图像显示纵向尺寸缩放模块,以及图像捕捉横向尺寸缩放模块、图像捕捉行缓冲模块、图像捕捉纵向尺寸缩放模块,其中,
图像显示横向尺寸缩放模块,用于根据命令发送模块转发来的图像显示的缩放倍数信息,对前置滤波模块发送来的图像数据进行横向的缩放处理,将横向缩放处理后的图像数据存入图像显示缩放行缓冲模块,以及根据图像输入信息确定横向处理是否结束;
图像显示缩放行缓冲模块,用于保存图像显示横向尺寸缩放模块发送来的图像数据;
图像显示纵向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对图像显示缩放行缓冲模块中的图像数据进行纵向的缩放处理,将纵向缩放处理后的图像数据发送出去,以及根据图像输入信息确定纵向处理是否结束;
图像捕捉横向尺寸缩放模块,用于根据命令发送模块转发来的图像捕捉的缩放倍数信息,对前置滤波模块发送来的图像数据进行横向的缩放处理,将横向缩放处理后的图像数据存入图像捕捉缩放行缓冲模块,以及根据图像输入信息确定横向处理是否结束;
图像捕捉缩放行缓冲模块,用于保存图像捕捉横向尺寸缩放模块发送来的图像数据;
图像捕捉纵向尺寸缩放模块,用于根据命令发送模块转发来的图像缩放倍数信息,对图像捕捉缩放行缓冲模块中的图像数据进行纵向的缩放处理,将纵向缩放处理后的图像数据发送出去,以及根据图像输入信息确定纵向处理是否结束。
11、根据权利要求9所述的装置,其特征在于,所述图像尺寸缩放模块包括:图像缩放行缓冲模块、图像显示纵向尺寸缩放模块、图像显示横向尺寸缩放模块、图像捕捉纵向尺寸缩放模块以及图像捕捉横向尺寸缩放模块,其中,
图像缩放行缓冲模块,用于保存前置滤波模块发送来的图像数据;
图像显示纵向尺寸缩放模块,用于根据命令发送模块转发来的图像显示的缩放倍数信息,对图像缩放行缓冲模块中保存的图像数据进行纵向的缩放处理,将纵向处理后的图像数据发送到图像显示横向尺寸缩放模块,以及根据图像输入信息确定纵向尺寸处理是否结束;
图像显示横向尺寸缩放模块,用于根据命令发送模块转发来的图像显示的缩放倍数信息,对图像显示纵向尺寸缩放模块发送来的图像数据进行横向尺寸缩放,以及根据图像输入信息确定横向尺寸处理是否结束;
图像捕捉纵向尺寸缩放模块,用于根据命令发送模块转发来的图像捕捉的缩放倍数信息,对图像缩放行缓冲模块中保存的图像数据进行纵向的缩放处理,将纵向处理后的图像数据发送到图像捕捉横向尺寸缩放模块,以及根据图像输入信息确定纵向尺寸处理是否结束;
图像捕捉横向尺寸缩放模块,用于根据命令发送模块转发来的图像捕捉的缩放倍数信息,对图像捕捉纵向尺寸缩放模块发送来的图像数据进行横向尺寸缩放,以及根据图像输入信息确定横向尺寸处理是否结束。
12、根据权利要求11所述的装置,其特征在于,所述图像缩放行缓冲模块进一步包括图像显示缩放行缓冲模块及图像捕捉缩放行缓冲模块,这两个模块分别保存前置滤波模块发送来的图像数据;
图像显示纵向尺寸缩放模块对图像显示缩放行缓冲模块中保存的图像数据进行纵向尺寸缩放处理;
图像捕捉纵向尺寸缩放模块对图像捕捉缩放行缓冲模块中保存的图像数据进行纵向尺寸缩放处理。
13、根据权利要求10、11或12所述的装置,其特征在于,所述图像显示横向尺寸缩放模块和/或图像捕捉横向尺寸缩放模块进一步包括:
象素步长计数器,在有一个象素到达时,该计数器加一;在该计数器值大于缩放倍数时,所述图像显示横向尺寸缩放模块和/或图像捕捉横向尺寸缩放模块对当前收到的两个象素进行加权平均,并将该计数器值减去图像缩放倍数值;在一行图像数据输出结束后,该计数器清零。
14、根据权利要求10、11或12所述的装置,其特征在于,所述图像缩放行缓冲模块包括:行缓冲器;
进行图像缩小时,所述图像缩放行缓冲模块至少由一行行缓冲器组成;
进行图像放大时,所述图像缩放行缓冲模块至少由三行行缓冲器组成。
15、根据权利要求10、11或12所述的装置,其特征在于,所述图像显示纵向尺寸缩放模块和/或图像捕捉纵向尺寸缩放模块进一步包括:
行步长计数器,在有一行图像数据到达时,该计数器加一;在该计数器值大于图像缩放倍数时,所述图像显示纵向尺寸缩放模块和/或图像捕捉纵向尺寸缩放模块从图像缩放行缓冲模块中获取两行图像数据进行加权平均,并将该计数器值减去图像缩放倍数值;在一帧图像数据输出结束后,该计数器清零。
16、根据权利要求9所述的装置,其特征在于,所述命令发送模块进一步包括:
寄存器地址译码模块,用于对上位机发送来的信息所携带的寄存器地址进行译码,并将该信息及相应的译码结果发送给寄存器读写模块;
寄存器读写模块,用于根据寄存器地址译码模块发送来的译码结果确定相应的寄存器,并将该译码结果的对应信息存入所确定的寄存器,和/或根据该译码结果将所确定的寄存器中的信息发送到上位机;
寄存器模块,包括至少一个寄存器,用于存储寄存器读写模块存入的信息。
17、根据权利要求16所述的装置,其特征在于,所述寄存器模块包括:输入图像宽度寄存器、输入图像高度寄存器、前置滤波系数寄存器、显示图像缩放倍数寄存器和捕捉图像缩放倍数寄存器。
18、根据权利要求17所述的装置,其特征在于,所述上位机进一步用于配置图像输出信息;
所述命令发送模块中的寄存器模块进一步包括:输出图像宽度寄存器及输出图像高度寄存器;
所述图像尺寸缩放模块进一步用于根据命令发送模块转发来的图像输出信息对横向及纵向缩放处理后的图像数据进行调整。
19、根据权利要求9所述的装置,其特征在于,所述前置滤波模块包括用于横向滤波的一维滤波器及用于纵向滤波的一维滤波器,并进一步包括:前置滤波行缓冲模块;
所述用于横向滤波的一维滤波器,将图像预处理模块发送来的图像数据进行横向的低通滤波,并将横向滤波后的图像数据发送到前置滤波行缓冲模块;
所述用于纵向滤波的一维滤波器,从所述前置滤波行缓冲模块中获取图像数据,对其进行纵向滤波处理,并将纵向滤波后的图像数据发送到图像横向尺寸缩放模块。
20、根据权利要求19所述的装置,其特征在于,所述前置滤波行缓冲模块由数目为低通滤波阶数减一的行缓冲器组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100647347A CN100379249C (zh) | 2005-04-18 | 2005-04-18 | 一种在拍摄过程中改变数字图像尺寸的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100647347A CN100379249C (zh) | 2005-04-18 | 2005-04-18 | 一种在拍摄过程中改变数字图像尺寸的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1665269A true CN1665269A (zh) | 2005-09-07 |
CN100379249C CN100379249C (zh) | 2008-04-02 |
Family
ID=35036142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100647347A Active CN100379249C (zh) | 2005-04-18 | 2005-04-18 | 一种在拍摄过程中改变数字图像尺寸的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100379249C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539846A (zh) * | 2014-12-26 | 2015-04-22 | 小米科技有限责任公司 | 拍摄图片的方法、装置及终端 |
CN107255863A (zh) * | 2010-08-20 | 2017-10-17 | 美国樱花检验仪器株式会社 | 数字显微镜 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574572A (en) * | 1994-09-07 | 1996-11-12 | Harris Corporation | Video scaling method and device |
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-04-18 CN CNB2005100647347A patent/CN100379249C/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107255863A (zh) * | 2010-08-20 | 2017-10-17 | 美国樱花检验仪器株式会社 | 数字显微镜 |
CN104539846A (zh) * | 2014-12-26 | 2015-04-22 | 小米科技有限责任公司 | 拍摄图片的方法、装置及终端 |
CN104539846B (zh) * | 2014-12-26 | 2018-02-23 | 小米科技有限责任公司 | 拍摄图片的方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN100379249C (zh) | 2008-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100356405C (zh) | 一种改变数字图像尺寸的方法及装置 | |
US9787922B2 (en) | Pixel defect preprocessing in an image signal processor | |
US9911174B2 (en) | Multi-rate processing for image data in an image processing pipeline | |
US8189944B1 (en) | Fast edge-preserving smoothing of images | |
US20110176014A1 (en) | Video Stabilization and Reduction of Rolling Shutter Distortion | |
US7595805B2 (en) | Techniques to facilitate use of small line buffers for processing of small or large images | |
CN1942897A (zh) | 缩减数字彩色矩阵图像的方法和装置 | |
TWI757637B (zh) | 影像信號處理器、其操作方法以及應用處理器 | |
CN1697483A (zh) | 图像显示装置 | |
CN103369246B (zh) | 一种摄像头分辨率转换装置 | |
US20160037073A1 (en) | Piecewise perspective transform engine | |
CN204316622U (zh) | 图像处理装置及用户终端 | |
US20100061650A1 (en) | Method And Apparatus For Providing A Variable Filter Size For Providing Image Effects | |
CN101719985A (zh) | 一种图像采集和处理的方法和装置 | |
CN1665269A (zh) | 一种在拍摄过程中改变数字图像尺寸的方法及装置 | |
CN108513068A (zh) | 图像的选取方法、装置、存储介质及电子设备 | |
CN1633161A (zh) | 一种实现图像整数倍放大的方法 | |
US8155471B2 (en) | Image processing apparatus and method that may blur a background subject to highlight a main subject | |
KR100898984B1 (ko) | 화상 처리 장치 및 그 방법 | |
EP4102828A1 (en) | Image sensor including image signal processor and operating method of the image sensor | |
CN1293514C (zh) | 一种数字图像的缩放处理系统 | |
CN1520180A (zh) | 具有帧速率转换的图像处理装置及其方法 | |
CN1607809A (zh) | 图像信号处理方法、设备以及图像信号处理程序 | |
CN2736865Y (zh) | 一种数字图像的缩放处理系统 | |
US20080310751A1 (en) | Method And Apparatus For Providing A Variable Blur |
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 | ||
DD01 | Delivery of document by public notice |
Addressee: Shen Yingming Document name: Notification that Application Deemed not to be Proposed |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151222 Address after: 519031 Guangdong city of Zhuhai province Hengqin Baohua Road No. 6, room 105 -478 Patentee after: GUANGDONG ZHONGXING ELECTRONICS CO., LTD. Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor Patentee before: Beijing Vimicro Corporation |