CN101286226A - 一种缩小图像的数字滤波方法和装置 - Google Patents
一种缩小图像的数字滤波方法和装置 Download PDFInfo
- Publication number
- CN101286226A CN101286226A CNA2008101126425A CN200810112642A CN101286226A CN 101286226 A CN101286226 A CN 101286226A CN A2008101126425 A CNA2008101126425 A CN A2008101126425A CN 200810112642 A CN200810112642 A CN 200810112642A CN 101286226 A CN101286226 A CN 101286226A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- horizontal filtering
- image data
- horizontal
- 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
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种缩小图像的数字滤波方法,包括:根据源图像和目标图像的水平宽度,将当前源图像数据中的第一行数据进行水平滤波处理,并将结果数据保存到缓存单元中;根据源图像和目标图像的水平宽度,对当前源图像数据中的下一行数据进行水平滤波处理,并将结果数据与所述缓存单元中的数据一一对应相加,用相加后的结果数据覆盖所述缓存单元中的原有数据;如此直至当前源图像数据的最后一行;输出所述缓存单元中的数据作为当前源图像数据的目标图像数据。本发明的技术方案不需要耗费大量的存储介质。
Description
技术领域
本发明涉及图像处理技术领域,尤指一种缩小图像的数字滤波方法和装置。
背景技术
在视频监控和视频会议等应用中,经常会出现由于显示终端的不同,需要进行图像分辨率变换的处理,其中很重要的一类处理就是将输入图像的分辨率缩小,从而使得整个图像缩小,然后将多个缩小后的图像拼接在一个画面中显示。为了完成图像的缩小,比较常见的方式有两种:一种是基于软件的方式来完成,另一种是基于硬件结构完成。
基于软件的图像缩小技术比较灵活,且可以采用复杂的算法,包括滤波算法,边界搜索、然后进行羽化处理的算法等。这些算法所得到的图像质量比较高,但缺点是带宽比较小,在滤波处理比较复杂的情况下,数字信号处理(DSP)的次数成倍增加,处理速度慢。
基于硬件架构的图像缩小技术的最大优点是速度快,但其缺点是算法实现比较单一,且需要耗费即现场可编程门阵列(FPGA,Field-ProgrammableGate Array)内部的宝贵存储资源。图1是现有技术中实现图像缩小处理的FIR滤波器的结构示意图。在图1中以4阶有限冲激响应(FIR,Finite ImpulseResponse)滤波器为例进行说明,参见图4,缓冲LBUF0~LBUF3为4行原始图像数据的缓存空间,K0和K1是受控的逻辑开关,其中K0负责滤波的起止的控制,K1负责在适当的时刻输出滤波结果。在图1中,4阶FIR滤波器实现图像缩小的具体方案为:当K0闭合时4个缓冲(LBUF0~LBUF3)中的数据分别被加权然后求和,从而使得4行数据变为一行数据,以达到垂直方向的缩小处理,然后由K1选择性地输出垂直滤波所得到的一行数据中的部分数据,比如从垂直滤波所得到的一行数据中的每3个数据中选择一个输出,而丢弃其余的两个数据,以达到水平方向的缩小处理。其中,系数控制模块根据当前的滤波情况加载不同的系数,负责对当前输入的分量进行不同的加权。不同的加权矩阵得到的图像效果是不同的,对不同的系数,硬件实现上也会有些差异,但是从控制层面来看,实现方式是一致的。
但是,在图1所示的采用硬件架构实现图像缩小的方案中,需要4个行缓冲单元,并且所需行缓冲单元的个数随着FIR滤波器的阶数的增加而增加,即现有的采用硬件架构实现图像缩小的方案,需要耗费大量的存储介质。
发明内容
本发明提供了一种缩小图像的数字滤波方法,该方法在实现图像缩小时不需要耗费大量的存储介质。
本发明还提供了一种缩小图像的数字滤波装置,该装置在实现图像缩小时不需要耗费大量的存储介质。
本发明还提供了两种种缩小图像的数字滤波系统,该系统在实现图像缩小时不需要耗费大量的存储介质。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种缩小图像的数字滤波方法,该方法包括:
根据源图像和目标图像的水平宽度,将当前源图像数据中的第一行数据进行水平滤波处理,并将水平滤波后的结果数据保存到缓存单元中;
根据源图像和目标图像的水平宽度,对当前源图像数据中的下一行数据进行水平滤波处理,并将水平滤波后的结果数据与所述缓存单元中的数据一一对应相加,用相加后的结果数据覆盖所述缓存单元中的原有数据;如此直至当前源图像数据的最后一行;
输出所述缓存单元中的数据作为当前源图像数据的目标图像数据。
本发明公开了一种缩小图像的数字滤波装置,该装置包括:
水平滤波单元,用于根据源图像和目标图像的水平宽度,将当前源图像数据中的每一行数据进行水平滤波处理后,输出水平滤波后的结果数据;
垂直求和单元,用于在接收到水平滤波单元输出的一个水平滤波结果数据时,判断该水平滤波结果数据是否对应于当前源图像数据中的第一行数据,是则直接将所接收的数据输出至缓存单元的输入端,否则从缓存单元的输出端获取一个数据与所接收的数据进行相加,然后将相加结果输出至缓存单元的输入端;
缓存单元,用于接收并存储来自垂直求和单元的数据,并所述垂直求和单元需要获取数据时,以先入先出的原则向垂直求和单元输出所存储的数据;用于在接收并存储完对应于所述当前源图像数据中的最后一行的数据时,将所存储的数据作为当前源图像数据的目标图像数据输出。
本发明公开了一种缩小图像的数字滤波系统,该系统用于对N个源图像进行缩小处理,该系统包括:N个水平滤波单元、与所述N个水平滤波单元分别相连的N个垂直求和单元、缓存分配单元、缓存单元和输出选择单元;所述N个垂直求和单元通过缓存分配单元与所述缓存单元相连,所述输出选择单元与所述缓存单元的输出端相连;N为大于1的自然数;
所述每个水平滤波单元,用于根据源图像和目标图像的水平宽度,将当前源图像数据中的每一行数据进行水平滤波处理后,输出水平滤波后的结果数据;
所述每个垂直求和单元,用于在接收到所连接的水平滤波单元输出的一个水平滤波结果数据时,判断该水平滤波结果数据是否对应于当前源图像数据中的第一行数据,是则直接将所接收的数据输出至缓存分配单元,否则从缓存分配单元获取一个数据与所接收的数据进行相加,然后将相加结果输出至缓存分配单元;
所述缓存分配单元,用于根据N个源图像所各自对应的目标图像的水平宽度,为每个源图像分配缓存单元中的存储空间,并在接收到来自所述N个垂直求和单元的数据时,将数据存储到所分配的对应的存储空间中,并在所述N个垂直求和单元需要获取数据时,以先入先出的原则从所述对应的存储空间中读取数据并输出给垂直求和单元;
所述缓存单元,用于接收并存储来自缓存分配单元的数据,并在所述缓存分配单元需要获取数据时,以先入先出的原则向缓存分配单元输出所存储的数据;
所述输出选择单元,用于根据为每个源图像所分配的缓存单元中的存储空间,从缓存单元中分别读取对应于每个源图像的目标图像数据并输出。
本发明还公开了一种缩小图像的数字滤波系统,该系统包括:依次相连的调度单元、水平滤波单元、垂直求和单元、缓存分配单元、缓存单元和输出选择单元;
所述调度单元,用于据预定的策略调度所述N个源图像的数据,并输出给水平滤波单元;N为大于1的自然数
所述水平滤波单元,用于根据源图像和目标图像的水平宽度,将当前接收到的源图像数据中的每一行数据进行水平滤波处理后,输出水平滤波后的结果数据;
所述垂直求和单元,用于在接收到水平滤波单元输出的一个水平滤波结果数据时,判断该水平滤波结果数据是否对应于当前源图像数据中的第一行数据,是则直接将所接收的数据输出至缓存分配单元,否则从缓存分配单元获取一个数据与所接收的数据进行相加,然后将相加结果输出至缓存分配单元;
所述缓存分配单元,用于根据所述N个源图像所各自对应的目标图像的水平宽度,为每个源图像分配缓存单元中的存储空间,并在接收到来自所述垂直求和单元的数据时,将数据存储到其对应源图像所分配的存储空间中,并在所述垂直求和单元需要获取数据时,以先入先出的原则从所述分配的存储空间中读取数据并输出给垂直求和单元;
所述缓存单元,用于接收并存储来自缓存分配单元的数据,并在所述缓存分配单元需要获取数据时,以先入先出的原则向缓存分配单元输出所存储的数据;
所述输出选择单元,用于根据为每个源图像所分配的缓存单元中的存储空间,从缓存单元中分别读取对应于每个源图像的目标图像数据并输出。
由上述技术方案可见,本发明这种先对源图像数据做水平滤波处理,后做垂直滤波处理,并在垂直滤波处理过程中只缓存行间累积和的方案,使得只需要缓存一行源图像数据的目标图像数据。这种方案相对于现有技术中的需要缓存多行源图像数据的方案,大大节省了缓存空间。
附图说明
图1是现有技术中实现图像缩小处理的FIR滤波器的结构示意图;
图2是本发明实施例一种缩小图像的数字滤波装置的组成结构框图;
图3是本发明一种缩小多个源图像的数字滤波系统的第一实施例结构框图;
图4是本发明一种缩小多个源图像的数字滤波系统的第二实施例结构框图。
具体实施方式
本发明的核心思想是:根据源图像和目标图像的垂直宽度,将源图像数据在垂直方向上进行分组,则对于源图像数据中的每一组当前源图像数据执行以下步骤:根据源图像和目标图像的水平宽度,将当前源图像数据中的第一行数据进行水平滤波处理,并将水平滤波后的结果数据保存到缓存单元中;根据源图像和目标图像的水平宽度,对当前源图像数据中的下一行数据进行水平滤波处理,并将水平滤波后的结果数据与所述缓存单元中的数据一一对应相加,用相加后的结果数据覆盖所述缓存单元中的原有数据;如此直至当前源图像数据的最后一行;输出所述缓存单元中的数据作为当前源图像数据的目标图像数据。
上述方案中先对先对源图像数据做水平滤波处理,后做垂直滤波处理,并在垂直滤波处理过程中只缓存行间累积,因此只需要缓存一行源图像数据的目标图像数据。这种方案相对于现有技术中的需要缓存多行源图像数据的方案,大大节省了缓存空间。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图2是本发明实施例一种缩小图像的数字滤波装置的组成结构框图。如图2所示,该数字滤波装置包括:水平滤波单元201、垂直求和单元202、缓存单元203和归一化处理单元204,其中:
水平滤波单元201,用于根据源图像和目标图像的水平宽度,将当前源图像数据中的每一行数据进行水平滤波处理后,输出水平滤波后的结果数据;其中,所述当前源图像数据是根据源图像和目标图像的垂直宽度,将源图像数据在垂直方向上进行分组后的其中任意一组源图像数据。
归一化处理单元204,用于对水平滤波单元201输出的数据进行归一化处理后再输出至垂直求和单元202。这里是考虑到要保证最终的输出不会产生溢出而设置的归一化处理单元204,如果不考虑这一点或者实际的硬件设计不会产生溢出的情况,则可不用设置归一化处理单元204,此时,水平滤波单元201直接将数据输出至垂直求和单元202。
垂直求和单元202,用于在接收到归一化处理单元204输出的一个归一化的水平滤波结果数据时,判断该水平滤波结果数据是否对应于当前源图像数据中的第一行数据,是则直接将所接收的数据输出至缓存单元203的输入端,否则从缓存单元203的输出端获取一个数据与所接收的数据进行相加,然后将相加结果输出至缓存单元203的输入端;
缓存单元203,用于接收并存储来自垂直求和单元202的数据,并在所述垂直求和单元202需要获取数据时,以先入先出的原则向垂直求和单元反馈输出所存储的数据;用于在接收并存储完对应于所述当前源图像数据中的最后一行的数据时,将所存储的数据作为当前源图像数据的目标图像数据输出。
在图2中,水平滤波单元201具体包括:M个寄存器205(在图2中用D表示寄存器)、M个乘法器206(在图2中用包含乘以系数的椭圆表示乘法器)和一个加法器207(在图2中用包含加号的方框表示加法器);其中,M为自然数,且M的值由源图像和目标图像的水平宽度之间的比例关系确定;在图2所示的实施例中M取值为4。4个寄存器依次串联,且每个寄存器205的输出端通过开关K0分别与4个乘法器206的输入端相连,4个乘法器206的输出端与加法器207的输入端相连。当开关K0断开时,4寄存器205依次接收当前源图像数据Y中的一行数据的4个数据,并分别进行存储;当开关K0闭合时,4个乘法器206分别接收自身所对应的寄存器205输出的数据,并乘上加权系数后输出至加法器207;加法器207接收来自4个乘法器的数据并进行相加后输出。
在图2中,水平滤波单元201进一步包括:系数控制模块208,用于根据寄存器205中所存储的数据,以一定的策略向各乘法器206分别输出相应的加权系数Cij。这里可以根据当前的滤波情况加载不同的加权矩阵,不同的加权矩阵所得到的目标图像的效果不同,但本实施例中不关心加载什么样的加权矩阵,只是系数控制模块根据当前寄存器205中的数据向各乘法器206输出加权矩阵中的对应的加权系数即可,这部分属于现有技术。
下面举一个具体的例子对图2所示的数字滤波装置进行说明。设源图像数据是一个8×8的数据矩阵[A88],目标图像数据是一个2×2的数据矩阵[E22]。则根据本发明的技术方案,首先需要根据源图像的垂直宽度和目标图像的垂直宽度,将源图像数据在垂直方向上进行分组,而将源图像数据在垂直方向上进行分组的基本原则是,使最终的分组个数等于目标图像数据的行数。由于本实施例中源图像与目标图像的垂直宽度比值为4,则将源图像数据在垂直方向以4行为一组进行分组可得到2组源图像数据,即0-3行为第一组、4-7行为第二组,对于每一组源图像数据都执行一次滤波过程。对包括0-3行的第一组源图像数据执行的滤波过程如下:
1)当K0和K1打开时,第0行的前4个数据A00、A01、A02和A03被依次输入到图2中的寄存器205,这样每个D中只存储一个数据,系数控制模块208向乘法器206分别提供与A00、A01、A02和A03对应的系数;当K0闭合时,A00、A01、A02和A03经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B00,并输出;归一化处理单元对B00进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B00与第一组源图像数据中的部分第一行数据对应,则直接将B00输出至缓存单元203。这里可以根据图像数据中携带的行标识等信息判断其属于那一行,这些是现有技术,这里不做详细说明。
2)K0打开时,第0行的后4个数据A04、A05、A06和A07被依次输入到图2中的寄存器205,系数控制模块208向乘法器206分别提供与A04、A05、A06和A07对应的系数;K0闭合时,A04、A05、A06和A07经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B01,并输出;归一化处理单元对B01进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B01与第一组源图像数据中的第一行数据对应,则直接将B01输出至缓存单元203;此时缓存单元203中保存的内容为[B01,B00]。
3)K0打开时,第1行的前4个数据A10、A11、A12和A13被依次输入到图2中的寄存器205,系数控制模块208向乘法器206分别提供与A10、A11、A12和A13对应的系数;K0闭合时,A10、A11、A12和A13经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B10,并输出;归一化处理单元对B10进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B10与第一组源图像数据中的第二行数据对应,则从缓存单元203中获取B00与B10相加后得到B00+B10输出至缓存单元203;此时缓存单元203中保存的内容为[B00+B10,B01]。
4)K0打开时,第1行的后4个数据A14、A15、A16和A17被依次输入到图2中的寄存器205,系数控制模块208向乘法器206分别提供与A14、A15、A16和A17对应的系数;K0闭合时,A14、A15、A16和A17经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B11并输出;归一化处理单元对B11进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B11与第一组源图像数据中的第二行数据对应,则从缓存单元203中获取B01与B11相加后得到B01+B11输出至缓存单元203;此时缓存单元203中保存的内容为[B01+B11,B00+B10]。
5)同样对第2行和第3行的数据执行与上述步骤3)和4)相同的操作,则最终缓存单元中保存的内容为[B01+B11+B21+B31,B00+B10+B20+B30]。其中,B20是第2行的前4个数据进行加权求和所得到的数据,B21是第2行的后4个数据进行加权求和所得到的数据,B30是第3行的前4个数据进行加权求和所得到的数据,B31是第3行的后4个数据进行加权求和所得到的数据。
6)K1闭合,将缓存单元203中的保存的内容[B01+B11+B21+B31,B00+B10+B20+B30]输出作为第一组源图像数据的目标图像数据。即对于目标图像数据[E22]来说,E00=B00+B10+B20+B30,E01=B01+B11+B21+B31。
对包括4-7行的第二组源图像数据执行与上述步骤1)至步骤6)相同的滤波过程可得到与第二组源图像数据对应的目标图像数据,即对于目标图像数据[E22]来说,得到E10和E11的值,这里不再复述。
通过上述实施例可以看出,在本发明的技术方案中,先做水平方向的滤波,后做垂直方向的滤波,并在做垂直方向的滤波时只缓存行间累积和的方案,大大节约了行缓存资源。例如以上述源图像数据为8×8的矩阵,目标图像数据为2×2的矩阵时,根据图1所示的现有技术方案需要4个长度为8的行缓存单元,而本发明实施例中只需要一个长度为2的行缓存单元。
下面再举一个具体的例子用于说明当源图像的水平/垂直宽度是目标图像水平/垂直宽度的非整数倍时,图2所示的数字滤波装置如何工作。设源图像数据是一个8×8的数据矩阵[A88],目标图像数据是一个5×3的数据矩阵[E53]。根据本发明的技术方案,首先需要根据源图像的垂直宽度和目标图像的垂直宽度,将源图像数据在垂直方向上进行分组,使得最终的分组个数等于目标图像数据的行数,则分组方案包括但不限于以下几种:{[0、1],[2、3],[4、5],[6],[7]},{[0],[1],[2、3],[4、5],[6、7]},{[0],[1,2],[3、4],[5],[6、7]}。其中,上述数字表示源图像数据的行标号。图2所述的装置对包括0-1行的一组源图像数据执行的滤波过程如下:
1)当K0和K1打开时,第0行的前4个数据A00、A01、A02和A03被依次输入到图2中的寄存器205,系数控制模块208向乘法器206分别提供与A00、A01、A02和A03的系数;当K0闭合时,A00、A01、A02和A03经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B00,并输出;归一化处理单元对B00进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B00与第一组源图像数据中的第一行数据对应,则直接将B00输出至缓存单元203。
2)K0打开时,第0行的数据A04、A05被依次输入到图2中的寄存器205,由于寄存器205是移位寄存器,因此输入A04、A05两个数据时,A00、A01被挤出,寄存器205的四个D触发器中的数据分别为A02、A03、A04和A05。系数控制模块208向乘法器206分别提供与A02、A03、A04和A05对应的系数,其中与A02和A03对应的系数为0;K0闭合时,A02、A03、A04和A05经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B01,并输出;归一化处理单元对B01进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B01与第一组源图像数据中的第一行数据对应,则直接将B01输出至缓存单元203;此时缓存单元203中保存的内容为[B01,B00]。
3)K0打开时,第0行的数据A06、A07被依次输入到图2中的寄存器205,系数控制模块208向乘法器206分别提供与A04、A05、A06和A07对应的系数,其中与A04和A05对应的系数为0;K0闭合时,A04、A05、A06和A07经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B02,并输出;归一化处理单元对B02进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B02与第一组源图像数据中的第一行数据对应,则直接将B02输出至缓存单元203;此时缓存单元203中保存的内容为[B02,B01,B00]。
4)K0打开时,第1行的前4个数据A10、A11、A12和A13被依次输入到图2中的寄存器205,系数控制模块208向乘法器206分别提供与A10、A11、A12和A13对应的系数;K0闭合时,A10、A11、A12和A13经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B10,并输出;归一化处理单元对B10进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B10与第一组源图像数据中的第二行数据对应,则从缓存单元203中获取B00与B10相加后得到B00+B10输出至缓存单元203;此时缓存单元203中保存的内容为[B00+B10,B02,B01]。
5)K0打开时,第1行的数据A14和A15被依次输入到图2中的寄存器205,系数控制模块208向乘法器206分别提供与A12、A13、A14和A15对应的系数,其中与A12和A13对应的系数为0;K0闭合时,A12、A13、A14和A15经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B11并输出;归一化处理单元对B11进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B11与第一组源图像数据中的第二行数据对应,则从缓存单元203中获取B01与B11相加后得到B01+B11输出至缓存单元203;此时缓存单元203中保存的内容为[B01+B11,B00+B10,B02]。
6)K0打开时,第1行的数据A16和A17被依次输入到图2中的寄存器205,系数控制模块208向乘法器206分别提供与A14、A15、A16和A17、对应的系数,其中与A14和A15对应的系数为0;K0闭合时,A14、A15、A16和A17、经过乘法器206的系数加权后到达加法器207,加法器207经过加法处理后得到B12并输出;归一化处理单元对B12进行归一化处理后输出至垂直求和单元202,垂直求和单元判断出当前的B12与第一组源图像数据中的第二行数据对应,则从缓存单元203中获取B02与B12相加后得到B02+B12输出至缓存单元203;此时缓存单元203中保存的内容为[B02+B12,B01+B11,B00+B10]。
对后续分组的源图像数据分别执行与上述步骤相同的滤波过程即可得到目标图像数据[E53],这里不再复述。
在上述滤波过程中,可以通过调整每次加权求和的数据和相应的加权系数来实现不同的滤波算法。而将源图像数据的一行数据进行水平滤波的基本原则是,最终得到与目标图像数据的水平宽度相等的一行水平滤波后的结果数据。
当然为了实现[A88]的源图像数据到[E53]的目标图像数据,也可以采用只包含3个寄存器的缩小图像的滤波装置,即在图2所示的装置的基础上去掉其中一路寄存器和对应的乘法器所得到的缩小图像的滤波装置。
在视频监控和视频会议等应用中,经常会出现将多个缩小后的图像拼接在一个画面中显示的需要,此时需要对多个源图像分别进行如图2所示的缩小处理。对此本发明还提供了一种十分灵活的缓存单元管理方案。
图3是本发明一种缩小多个源图像的数字滤波系统的第一实施例结构框图。如图3所示,本实施例中以同时缩小4个源图像为例进行说明,该装置包括:4个水平滤波单元201、与所述4个水平滤波单元201分别相连的4个垂直求和单元202、缓存分配单元301和输出选择单元302。其中,4个垂直求和单元202通过缓存分配单元301与缓存单元203相连,输出选择单元302与缓存单元203的输出端相连。当然如果考虑到输出会溢出的问题,可以在每个垂直求和单元202与缓存分配单元301之间各设置一个归一化处理单元,但为描述方便,图3所示实施例中未画出归一化处理单元。
在图3中,缓存单元203由多个子缓存单元组成,每个子缓存单元都是一个先入先出的存储队列且对应一个较小的突发。缓存分配单元301,用于根据4个源图像所各自对应的目标图像的水平宽度,为每个源图像分配缓存单元中的存储空间,即为每个源图像分配足以存储其一行目标图像数据的子缓存单元,并在接收到来自所述4个垂直求和单元202的数据时,将数据存储到所分配的对应的存储空间中,并在所述4个垂直求和单元需要获取进行行间累加的数据时,以先入先出的原则从所述对应的存储空间中读取数据并输出给垂直求和单元202;输出选择单元302,用于根据为每个源图像所分配的缓存单元中的存储空间,从缓存单元203中分别读取对应于每个源图像的目标图像数据并输出。
例如,设图3中的缓存单元203中共有16个子缓存单元,当需要在同一显示屏上显示16画面时,即有16个源图像需要进行缩小处理时,每个源图像的对应的目标图像的分辨率都较小,为每个源图像各分配1个子缓存单元正好可以满足需求;而当需要在同一显示屏上显示4画面时,每个源图像的对应的目标图像的分辨率相对较大,此时,为每个源图像各分配2个子缓存单元以满足需求。
图4是本发明一种缩小多个源图像的数字滤波系统的第二实施例结构框图。图4所示的装置与图3所示装置的区别在于,只包括一个水平滤波单元201和一个垂直滤波单元202,此外该装置还包括一个与水平滤波单元201相连的调度单元401。
在图4中,调度单元401,用于根据预定的策略调度多个源图像的数据,并输出给水平滤波单元201。例如,调度单元401可以以时分的方式依次获取各源图像的数据并输出给水平滤波单元201。
缓存分配单元301,用于根据所述多个源图像所各自对应的目标图像的水平宽度,为每个源图像分配缓存单元中的存储空间,并在接收到来自所述垂直求和单元的数据时,将数据存储到其对应源图像所分配的存储空间中,并在所述垂直求和单元需要获取数据时,以先入先出的原则从所述分配的存储空间中读取数据并输出给垂直求和单元202,
图4中的其他组成部分的功能于图3中所述相同,这里不再复述。
图4所示的装置与图3所示的装置相比可以只用一套滤波器(一个水平滤波单元201和一个垂直滤波单元202)就可以实现多个源图像的缩小处理,因此可以大大节省硬件资源。
如图3和图4所示的这种将缓存单元划分成多个较小的子缓存单元,然后根据实际的情况动态进行分配的技术方案,在需要同样多的缓存空间的情况下,能够提升系统的缓存能力,且管理十分灵活。
综上所述,本发明这种先对源图像数据做水平滤波处理,后做垂直滤波处理,并在垂直滤波处理过程中只缓存行间累积和的方案,使得只需要缓存一行源图像数据的目标图像数据。这种方案相对于现有技术中的需要缓存多行源图像数据的方案,大大节省了缓存空间。此外,对多个源图像同时进行缩小处理时,共享一个缓存单元,且根据实际情况动态分配缓存单元的技术方案,提升了系统的缓存能力,且管理十分灵活。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1、一种缩小图像的数字滤波方法,其特征在于,该方法包括:
根据源图像和目标图像的水平宽度,将当前源图像数据中的第一行数据进行水平滤波处理,并将水平滤波后的结果数据保存到缓存单元中;
根据源图像和目标图像的水平宽度,对当前源图像数据中的下一行数据进行水平滤波处理,并将水平滤波后的结果数据与所述缓存单元中的数据一一对应相加,用相加后的结果数据覆盖所述缓存单元中的原有数据;如此直至当前源图像数据的最后一行;
输出所述缓存单元中的数据作为当前源图像数据的目标图像数据。
2、如权利要求1所述的方法,其特征在于,该方法在所有步骤之前进一步包括:根据源图像和目标图像的垂直宽度,将源图像数据在垂直方向上进行分组,则对于源图像数据中的每一组当前源图像数据执行所述的后续步骤。
3、如权利要求2所述的方法,其特征在于,所述根据源图像和目标图像的垂直宽度,将源图像数据在垂直方向上进行分组包括:
当源图像的垂直宽度是目标图像的垂直宽度的N倍时,将源图像数据的每N行分为一组;其中,N为自然数;
当源图像的垂直宽度是目标图像垂直宽度的非整数倍时,将源图像数据在垂直方向上进行分组,使得最终的分组个数等于目标图像数据的行数。
4、如权利要求1所示的方法,其特征在于,所述根据源图像与目标图像的水平宽度比例,将当前源图像数据中的一行数据进行水平滤波处理包括:
当源图像的水平宽度是目标图像的水平宽度的M倍时,将所述一行数据中的每M个数据为一组进行加权求和,得到所述一行数据水平滤波后的结果数据;其中,M为自然数;
当源图像的水平宽度是目标图像水平宽度的非整数倍时,将所述一行数据中的各数据进行加权求和,最终得到与目标图像数据的水平宽度相等的一行水平滤波后的结果数据。
5、如权利要求4所示的方法,其特征在于,所述将水平滤波后的结果数据与所述缓存单元中的数据一一对应相加,用相加后的结果数据覆盖所述缓存单元中的原有数据包括:
在每次进行加权求和得到一个水平滤波后的结果数据后,以先进先出的原则从所述缓存单元输出一个数据,与所述加权求和后的数据相加,将相加结果输入到所述缓存单元进行保存。
6、如权利要求1至5中任一项所述的方法,其特征在于,当需要对两个以上的源图像进行缩小处理时,根据每个源图像所对应的目标图像的水平宽度,为该源图像分配缓存单元中的存储空间,以用于存储该源图像数据的目标图像数据。
7、一种缩小图像的数字滤波装置,其特征在于,该装置包括:
水平滤波单元,用于根据源图像和目标图像的水平宽度,将当前源图像数据中的每一行数据进行水平滤波处理后,输出水平滤波后的结果数据;
垂直求和单元,用于在接收到水平滤波单元输出的一个水平滤波结果数据时,判断该水平滤波结果数据是否对应于当前源图像数据中的第一行数据,是则直接将所接收的数据输出至缓存单元的输入端,否则从缓存单元的输出端获取一个数据与所接收的数据进行相加,然后将相加结果输出至缓存单元的输入端;
缓存单元,用于接收并存储来自垂直求和单元的数据,并在所述垂直求和单元需要获取数据时,以先入先出的原则向垂直求和单元输出所存储的数据;用于在接收并存储完对应于所述当前源图像数据中的最后一行的数据时,将所存储的数据作为当前源图像数据的目标图像数据输出。
8、如权利要求7所述的装置,其特征在于,所述水平滤波单元包括:M个寄存器、M个乘法器、一个加法器和一个系数控制模块,M为自然数;所述M个寄存器依次串联,且每个寄存器的输出端通过开关分别与M个乘法器的输入端相连,所述M个乘法器的输出端与所述加法器相连;其中,
当所述开关断开时,所述M个寄存器接收所述当前源图像数据中的一行数据的M个数据,并分别进行存储;
当所述开关闭合时,所述M个乘法器分别接收自身所对应的寄存器输出的数据,并乘上加权系统后输出至所述加法器;
所述加法器接收来自所述M个乘法器的数据并进行相加后输出;
所述系数控制模块,用于根据所述M个寄存器中所存储的数据,向所述M个乘法器分别输出相应的加权系数。
9、如权利要求7所述的装置,其特征在于,该装置在所述水平滤波单元和垂直求和单元之间进一步包括:归一化处理单元,用于对水平滤波单元输出的数据进行归一化处理后再输出至垂直求和单元。
10、一种缩小图像的数字滤波系统,其特征在于,该系统包括:N个水平滤波单元、与所述N个水平滤波单元分别相连的N个垂直求和单元、缓存分配单元、缓存单元和输出选择单元;所述N个垂直求和单元通过缓存分配单元与所述缓存单元相连,所述输出选择单元与所述缓存单元的输出端相连;N为大于1的自然数;
所述每个水平滤波单元,用于根据源图像和目标图像的水平宽度,将当前源图像数据中的每一行数据进行水平滤波处理后,输出水平滤波后的结果数据;
所述每个垂直求和单元,用于在接收到所连接的水平滤波单元输出的一个水平滤波结果数据时,判断该水平滤波结果数据是否对应于当前源图像数据中的第一行数据,是则直接将所接收的数据输出至缓存分配单元,否则从缓存分配单元获取一个数据与所接收的数据进行相加,然后将相加结果输出至缓存分配单元;
所述缓存分配单元,用于根据N个源图像所各自对应的目标图像的水平宽度,为每个源图像分配缓存单元中的存储空间,并在接收到来自所述N个垂直求和单元的数据时,将数据存储到所分配的对应的存储空间中,并在所述N个垂直求和单元需要获取数据时,以先入先出的原则从所述对应的存储空间中读取数据并输出给垂直求和单元;
所述缓存单元,用于接收并存储来自缓存分配单元的数据,并在所述缓存分配单元需要获取数据时,以先入先出的原则向缓存分配单元输出所存储的数据;
所述输出选择单元,用于根据为每个源图像所分配的缓存单元中的存储空间,从缓存单元中分别读取对应于每个源图像的目标图像数据并输出。
11、一种缩小图像的数字滤波系统,其特征在于,该系统包括:依次相连的调度单元、水平滤波单元、垂直求和单元、缓存分配单元、缓存单元和输出选择单元;N为大于1的自然数;
所述调度单元,用于据预定的策略调度所述N个源图像的数据,并输出给水平滤波单元;
所述水平滤波单元,用于根据源图像和目标图像的水平宽度,将当前接收到的源图像数据中的每一行数据进行水平滤波处理后,输出水平滤波后的结果数据;
所述垂直求和单元,用于在接收到水平滤波单元输出的一个水平滤波结果数据时,判断该水平滤波结果数据是否对应于当前源图像数据中的第一行数据,是则直接将所接收的数据输出至缓存分配单元,否则从缓存分配单元获取一个数据与所接收的数据进行相加,然后将相加结果输出至缓存分配单元;
所述缓存分配单元,用于根据所述N个源图像所各自对应的目标图像的水平宽度,为每个源图像分配缓存单元中的存储空间,并在接收到来自所述垂直求和单元的数据时,将数据存储到其对应源图像所分配的存储空间中,并在所述垂直求和单元需要获取数据时,以先入先出的原则从所述分配的存储空间中读取数据并输出给垂直求和单元;
所述缓存单元,用于接收并存储来自缓存分配单元的数据,并在所述缓存分配单元需要获取数据时,以先入先出的原则向缓存分配单元输出所存储的数据;
所述输出选择单元,用于根据为每个源图像所分配的缓存单元中的存储空间,从缓存单元中分别读取对应于每个源图像的目标图像数据并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101126425A CN101286226B (zh) | 2008-05-23 | 2008-05-23 | 一种缩小图像的数字滤波方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101126425A CN101286226B (zh) | 2008-05-23 | 2008-05-23 | 一种缩小图像的数字滤波方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101286226A true CN101286226A (zh) | 2008-10-15 |
CN101286226B CN101286226B (zh) | 2010-07-07 |
Family
ID=40058418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101126425A Expired - Fee Related CN101286226B (zh) | 2008-05-23 | 2008-05-23 | 一种缩小图像的数字滤波方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101286226B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102427537A (zh) * | 2011-10-17 | 2012-04-25 | 天津天地伟业数码科技有限公司 | 视频图像空间尺度的变换系统及变换方法 |
CN102523373A (zh) * | 2011-12-07 | 2012-06-27 | 天津天地伟业物联网技术有限公司 | 视频数据的滤波降噪系统及滤波降噪方法 |
CN106209022A (zh) * | 2016-07-14 | 2016-12-07 | 北京邮电大学 | 一种滤波方法及装置 |
CN108475416A (zh) * | 2017-06-30 | 2018-08-31 | 深圳市大疆创新科技有限公司 | 处理图像的方法和装置 |
CN110264412A (zh) * | 2019-05-16 | 2019-09-20 | 北京奇艺世纪科技有限公司 | 图像处理方法、装置、终端设备以及存储介质 |
CN110503044A (zh) * | 2018-12-03 | 2019-11-26 | 神盾股份有限公司 | 指纹传感器及其指纹感测方法 |
CN111314579A (zh) * | 2020-02-21 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种图像垂直滤波处理的方法及芯片 |
CN114022366A (zh) * | 2022-01-06 | 2022-02-08 | 深圳鲲云信息科技有限公司 | 基于数据流架构的图像尺寸调整结构、调整方法及设备 |
-
2008
- 2008-05-23 CN CN2008101126425A patent/CN101286226B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102427537A (zh) * | 2011-10-17 | 2012-04-25 | 天津天地伟业数码科技有限公司 | 视频图像空间尺度的变换系统及变换方法 |
CN102523373A (zh) * | 2011-12-07 | 2012-06-27 | 天津天地伟业物联网技术有限公司 | 视频数据的滤波降噪系统及滤波降噪方法 |
CN106209022A (zh) * | 2016-07-14 | 2016-12-07 | 北京邮电大学 | 一种滤波方法及装置 |
CN106209022B (zh) * | 2016-07-14 | 2019-03-26 | 北京邮电大学 | 一种滤波方法及装置 |
CN108475416A (zh) * | 2017-06-30 | 2018-08-31 | 深圳市大疆创新科技有限公司 | 处理图像的方法和装置 |
CN110503044A (zh) * | 2018-12-03 | 2019-11-26 | 神盾股份有限公司 | 指纹传感器及其指纹感测方法 |
CN110264412A (zh) * | 2019-05-16 | 2019-09-20 | 北京奇艺世纪科技有限公司 | 图像处理方法、装置、终端设备以及存储介质 |
CN110264412B (zh) * | 2019-05-16 | 2021-05-25 | 北京奇艺世纪科技有限公司 | 图像处理方法、装置、终端设备以及存储介质 |
CN111314579A (zh) * | 2020-02-21 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种图像垂直滤波处理的方法及芯片 |
CN111314579B (zh) * | 2020-02-21 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 一种图像垂直滤波处理的方法及芯片 |
US11659173B2 (en) | 2020-02-21 | 2023-05-23 | Inspur Suzhou Intelligent Technology Co., Ltd. | Method and chip for vertically filtering image |
CN114022366A (zh) * | 2022-01-06 | 2022-02-08 | 深圳鲲云信息科技有限公司 | 基于数据流架构的图像尺寸调整结构、调整方法及设备 |
CN114022366B (zh) * | 2022-01-06 | 2022-03-18 | 深圳鲲云信息科技有限公司 | 基于数据流架构的图像尺寸调整装置、调整方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101286226B (zh) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101286226B (zh) | 一种缩小图像的数字滤波方法和装置 | |
CN106294234B (zh) | 一种数据传输方法及装置 | |
KR101894651B1 (ko) | 데이터 취득 모듈과 방법, 데이터 처리 유닛, 구동기 및 디스플레이 디바이스 | |
JP6403430B2 (ja) | 画像処理装置および画像処理方法 | |
CN104243300A (zh) | 包处理方法以及包处理装置 | |
CN101093474B (zh) | 利用矢量处理器实现矩阵转置的方法和处理系统 | |
CN112991142A (zh) | 图像数据的矩阵运算方法、装置、设备及存储介质 | |
CN108521824A (zh) | 图像处理装置、方法及相关电路 | |
US20020003632A1 (en) | Error diffusion processing device | |
KR980010865A (ko) | 차수확장이 용이한 미디언필터 | |
CN100561567C (zh) | 一种图像数据转换系统和方法 | |
CN101662598B (zh) | 一种连续视频数据流的缩放系统 | |
US7149364B2 (en) | Mean filter device and filtering method | |
Yun et al. | Architectures for multi-source multi-user video compositing | |
JPH09294054A (ja) | 実数値及び複素数値信号サンプルを処理する等価器フィルタ構造 | |
JP2012203539A (ja) | データ処理装置およびデータ処理方法 | |
JP5738639B2 (ja) | データ処理装置およびデータ処理方法 | |
EP2199919A1 (en) | Method for processing data using triple buffering | |
CN101025912A (zh) | 对视频信号进行垂直分辨率调整的装置和方法 | |
US11189006B2 (en) | Managing data for transportation | |
CN101984668B (zh) | 适用于各种4×4插值滤波器的实时图像缩放引擎 | |
JP2022518640A (ja) | データ処理方法、装置、機器、記憶媒体及びプログラム製品 | |
CN101783857B (zh) | 一种基于fpga在高分辨率成像系统中的图像矩阵化预处理方法 | |
KR102667134B1 (ko) | 싱글포트 메모리를 포함하는 신경망 하드웨어 가속기 및 그 동작 방법 | |
CN101175141A (zh) | 图像处理装置及方法 |
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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100707 Termination date: 20200523 |
|
CF01 | Termination of patent right due to non-payment of annual fee |