CN101094304A - 可节省内存的影像缩放系统 - Google Patents
可节省内存的影像缩放系统 Download PDFInfo
- Publication number
- CN101094304A CN101094304A CN 200610093186 CN200610093186A CN101094304A CN 101094304 A CN101094304 A CN 101094304A CN 200610093186 CN200610093186 CN 200610093186 CN 200610093186 A CN200610093186 A CN 200610093186A CN 101094304 A CN101094304 A CN 101094304A
- Authority
- CN
- China
- Prior art keywords
- image
- horizontal
- output
- partial data
- image line
- 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
本发明涉及一种可节省内存的影像缩放系统,其包含一窗口型内存、一垂直缩放装置、一缓冲装置及一水平缩放装置。窗口型内存用以暂存N条影像线的部分数据。垂直缩放装置对N条影像线的部分数据执行垂直方向缩放运算,产生一垂直影像线的部分数据。水平缩放装置对一垂直影像线的部分数据执行水平方向缩放运算,而产生该一水平影像线的缩放部分数据。当执行影像缩小时,垂直及水平缩放装置使用窗口平均方法,以进行缩小运算,当执行影像放大时,垂直及水平缩放装置使用双线性插值方法,以进行放大运算。
Description
技术领域
本发明涉及一种影像缩小及放大的技术,尤其涉及一种可节省内存的影像缩放系统。
背景技术
插值方法(interpolation)常用于传统的二维(2D)影像的放大与缩小技术中。该方法需要使用一扫瞄线缓冲装置(scan line buffer)。该方法执行影像垂直放大时,其先由一主存储器中读入一条影像线的数据,然后将影像线的每个像素的值乘以一缩放参数(scaling factor)后,并暂存在扫瞄线缓冲装置中。而后再读入下一条影像线的数据,并将每个像素的值乘以缩放参数后,再与扫瞄线缓冲装置中相对应的像素值做累加运算(accumulator operation)后,经过移位运算(shift operation),才能得到垂直放大的输出影像。
另一传统方法则是使用一静态随机存取存储器(SRAM)暂存数条输入影像数据。该静态随机存取存储器用以取代该扫瞄线缓冲装置。此时,只要透过逻辑电路撷取静态随机存取存储器中所储存的相对应像素值,并将这些像素值乘上相对应的缩放参数,再执行累加运算与移位运算,即可获得输出影像的像素值。该方法可以减少数据在静态随机存取存储器中读取的次数,但将增加静态随机存取存储器的大小,尤其当影像的宽度很大时,静态随机存取存储器的大小将急速增加,从而增加许多系统的硬件成本。
在美国专利USP6,219,465公告“High Quality Digital Scaling UsingPixel Window Average And Linear Interpolation”中,如其说明书所述,在影像执行缩小运算时,使用窗口平均方法(window averaging),在影像执行放大运算时,使用插值方法(interpolation)。该传统技术的硬件架构共用一扫瞄线缓冲装置暂存数据,并通过改变选择式缩放参数(seletive scaling factor),从而达到可任意比例垂直或水平的放大与缩小。然而,该发明将一条影像线的数据储存在一静态随机存取存储器中,故在一平行(parallel)模式下,一次只能处理一个维度(1D)的数据,且使用扫瞄线缓冲装置暂存中间的运算数据。其输出数据需要经过两个维度(2D)处理后产生一条输出影像线(out image line)。此方法的缺点是输出影像以一条影像线为单位,每条影像线与影像线的间隔可能过长,不适合需要实时(real time)输出的系统。该发明在一序列(serial)模式下,虽可一次处理两个维度(2D)的数据,以达到实时输出的要求。但是进行两个维度处理时需共用扫瞄线缓冲装置(scan line buffer),且可能因为两个维度的处理系统在处理数据有先后顺序及快慢的因素,使其中一个系统闲置,而降低系统的输出效能。因此,传统的影像缩放系统仍存有诸多缺失而有待改进。
发明内容
本发明的一个目的在于提供一种影像缩放系统,从而能节省所使用的内存,降低系统的硬件成本。
本发明的另一目的在于提供一种影像缩放系统,从而能达到及时影像缩放运算,以避免传统技术无法达到实时(real time)影像输出的问题。
依据本发明的一个方面,本发明提出一种可节省内存的影像缩放系统,用以缩小或放大一影像,该影像由多数条影像线所组成,该影像缩放系统包含:一窗口型内存(Window SRAM)、一垂直缩放装置、一缓冲装置及一水平缩放装置。该窗口型内存用以接收并暂存N条影像线的部分数据,N为正整数;该垂直缩放装置连接至该窗口型内存,以对该N条影像线的部分数据执行垂直方向缩放运算,而产生一垂直影像线的部分数据;该缓冲装置连接至该垂直缩放装置,接收并暂存该垂直影像线的部分数据;该水平缩放装置连接至该缓冲装置,以对该垂直影像线的部分数据执行水平方向缩放运算,而产生一水平影像线的缩放部分数据;其中,当执行影像缩小时,该垂直缩放装置及该水平缩放装置使用窗口平均(window average)方法,以进行缩小运算,当执行影像放大时,该垂直缩放装置及该水平缩放装置使用双线性插值(bi-linear interpolation average)方法,以进行放大运算。
依据本发明的另一方面,本发明提出一种可节省内存的影像缩放系统,用以缩小或放大一影像,该影像由多数条影像线所组成,该影像缩放系统包含:一窗口型内存、一垂直缩放装置、一缓冲装置、一水平缩放装置及一控制装置。该窗口型内存用以接收并暂存N条影像线的部分数据,N为正整数;该垂直缩放装置连接至该窗口型内存,以对该N条影像线的部分数据执行垂直方向缩放运算,而产生一垂直影像线的部分数据;该缓冲装置连接至该垂直缩放装置,接收并暂存该垂直影像线的部分数据;该水平缩放装置连接至该缓冲装置,以对该垂直影像线的部分数据执行水平方向缩放运算,而产生一水平影像线的缩放部分数据;该控制装置连接至该垂直缩放装置及该水平缩放装置,该控制装置执行该垂直缩放装置及该水平缩放装置的初始化及相关设定,并分别计算该N条影像线的N个垂直权重,并将该N个垂直权重写入该垂直缩放装置;其中,当执行影像缩小时,该垂直缩放装置及该水平缩放装置均使用窗口平均方法,以进行缩小运算,当执行影像放大时,该垂直缩放装置及该水平缩放装置均使用双线性插值方法,以进行放大运算。
附图说明
图1是本发明的可节省内存的影像缩放系统的方块图。
图2是本发明的可节省内存的影像缩放系统的电路图。
图3是本发明的水平权重产生器放大时产生M个水平权重的伪码示意图。
图4是本发明的水平权重产生器缩小时产生M个水平权重的伪码示意图。
图5是本发明使用双线性插值方法以执行放大运算的示意图。
图6是本发明使用窗口平均方法以执行缩小运算的示意图。
图7是本发明的可节省内存的影像缩放系统的运作示意图。
图8是本发明另一实施例的电路图。
图9是本发明又一实施例的方块图。
【主要组件符号说明】
窗口型内存 110 垂直缩放装置 120
缓冲装置 130 水平缩放装置 140
输出缓冲装置 150 主存储器 180
第一直接内存存取装置 160
第二直接内存存取装置 170
影像缩放系统 100
输入端 1101 输出端 1102
暂存空间 1103
垂直权重产生器 121 乘法器 127
第一输入端 1271 第二输入端 1272
第一加法器 123 输入端 1231
输出端 1232 第一移位器 125
水平权重产生器 141 水平缩放引擎 145
第一输入端 14531 第二输入端 14532
起始像素指标产生器 143 输出端 14533
M个缓存器 1451 输出端 14511
M个乘法器 1453
第二加法器 1455 输入端 14551
输出端 14552 第二移位器 1457
控制装置 710 垂直权重缓存器 721
第一乒乓缓冲 810 第二乒乓缓冲器 820
具体实施方式
图1是本发明的可节省内存的影像缩放系统的方块图。影像缩放系统用以缩小或放大一影像,其中该影像由多数条影像线所组成。该影像缩放系统100包含:一窗口型内存(Window SRAM)110、一垂直缩放装置120、一缓冲装置130、一水平缩放装置140、一输出缓冲装置150、一第一直接内存存取装置(DMA)160、及一第二直接内存存取装置(DMA)170。
该窗口型内存110用以接收并暂存N条影像线的部分数据,N为正整数。在本实施例中,N为5。该垂直缩放装置120连接至该窗口型内存110,以对该N条影像线的部分数据执行垂直方向缩放运算,而产生一垂直影像线的部分数据。该缓冲装置130连接至该垂直缩放装置120,接收并暂存该垂直影像线的部分数据。该水平缩放装置140连接至该缓冲装置130,以对该垂直影像线的部分数据执行水平方向缩放运算,而产生一水平影像线的缩放部分数据。
该输出缓冲装置150连接至该水平缩放装置140,用以暂存该水平影像线的缩放部分数据。将要执行缩放的影像先储存至该主存储器180中。该第一直接内存存取装置160连接至一主存储器180,从而由该主存储器180撷取该N条影像线的部分数据,并将该N条影像线的部分数据传送至该窗口型内存110。
该第二直接内存存取装置170连接至该主存储器180及该输出缓冲装置150,从而由该输出缓冲装置150撷取该水平影像线的缩放部分数据,并将该水平影像线的缩放部分数据传送至该主存储器180,以供后续使用。
当执行水平及垂直影像缩小时,该垂直缩放装置120及该水平缩放装置140使用窗口平均(window average)方法,以进行缩小运算。当执行水平及垂直影像放大时,该垂直缩放装置120及该水平缩放装置140使用双线性插值(bi-linear interpolation average)方法,以进行放大运算。垂直影像缩放与水平影像缩放互相独立,亦即可进行垂直影像放大及水平影像缩小,或垂直影像缩小及水平影像放大。
图2是本发明的可节省内存的影像缩放系统的电路图。如图2所示,该缓冲装置130为先入先出(FIFO)型缓冲装置。该窗口型内存110具有5个输入端1101及5个输出端1102,并具有暂存空间1103。该窗口型内存110可经由其5个输入端1101接收该第一直接内存存取装置160所传送的影像线的部分数据。该窗口型内存110储存一条影像数据线中的部份像素值,而传统技术中的窗口型内存储存一条影像数据线中的所有像素值。故本发明的技术不需要随影像宽度增加,而改变该窗口型内存110的暂存空间。
该垂直缩放装置120包含一垂直权重产生器121、N个乘法器127、一第一加法器123、及一第一移位器125。该垂直权重产生器121用以在影像缩放时,产生N个垂直权重(Wv0、Wv1、Wv2、Wv3、Wv4)。
前述每一乘法器127的第一输入端1271分别耦合至该窗口型内存110相对应的N个输出端1102,每一乘法器127的第二输入端1272分别耦合至该垂直权重产生器121,以分别接收该垂直权重产生器121产生的N个垂直权重(Wv0、Wv1、Wv2、Wv3、Wv4)其中之一,从而分别对该N条影像线的部分数据进行乘法运算。
该第一加法器123具有N个输入端1231,并分别耦合至该N个乘法器127的输出端1272,以对该N个乘法器127的输出进行加法运算。该第一移位器125耦合至该第一加法器123的输出端1232,以对该第一加法器123的输出进行移位。经过移位运算后,即可得出经过垂直处理后的像素值。对该窗口型内存110内的每个像素重复上述运算,即可产生经过垂直处理后读的N条影像线的部分数据,该部分数据在此实施例中为128个像素。
该垂直权重产生器121所产生N个垂直权重(Wv0、Wv1、Wv2、Wv3、Wv4),需要满足Wv0+Wv1+Wv2+Wv3+Wv4的总合为2K,K为正整数。如此,才可使用该第一移位器125进行向右移位运算,从而代替除法运算。
该水平缩放装置140包含一水平权重产生器141、一起始像素指标产生器(starting pixel pointer generator)143及一水平缩放引擎145。该水平权重产生器141用以在影像缩放时,产生M个水平权重。在本实施例中,M为5,而该M个水平权重分别为Wh0、Wh1、Wh2、Wh3及Wh4。
该起始像素指标产生器143耦合至该缓冲装置130并产生一指标,用以指示存取该缓冲装置130的位置。该水平缩放引擎145耦合至该缓冲装置130及该水平权重产生器141,由该缓冲装置130中撷取M个像素的数据,及由该水平权重产生器141中撷取该M个水平权重,以对该M个像素进行水平缩放运算。
该水平缩放引擎145包含M个缓存器1451、M个乘法器1453、一第二加法器1455及一第二移位器1457。该M个缓存器1451耦合至该缓冲装置130,用以暂存由该缓冲装置130中撷取M个像素的资料。前述每一乘法器1453的第一输入端14531分别耦合至该M个缓存器1451的输出端14511其中之一,每一乘法器1453的第二输入端14532分别耦合至该水平权重产生器141,以接收该水平权重产生器141产生M个水平权重其中之一,从而对该M个像素进行乘法运算。
该第二加法器1455具有M个输入端14551,并分别耦合至该M个乘法器1453的输出端14533,以对该M个乘法器1453的输出进行加法运算。该第二移位器1457耦合至该第二加法1455器的输出端14552,以对该产加法器1455的输出进行移位运算。
图3是该水平权重产生器141放大时产生M个水平权重的伪码(Pseudo Code)示意图。图4是该水平权重产生器141缩小时产生M个水平权重的伪码示意图。图3及图4的伪码可经由例如Verilog或VHDL的硬件描述语言(Hardware Description Language,HDL)所实现。
当执行影像放大时,该水平缩放装置140使用双线性插值(bi-linearinterpolation average)方法,以进行放大运算。图5是本发明使用双线性插值方法以执行放大运算的示意图。其执行放大倍率为2.1的放大运算。首先设定一最大加权值(max_weight),在本实施例中,最大加权值为256(28)。再计算一放大参数(expand_para),该放大参数为最大加权值乘以一输入比例再除以一输出比例。在本实施例中,输入比例为1,输出比例为2.1,故该放大参数为121。
经由图3的伪码,即可分别算出M个水平权重分别为Wh0、Wh1、Wh2、Wh3、Wh4。请参阅图3及图5,当执行第一次循环时,一累加器的值Acc=0<256,使用P1像素与P2像素作线性内插,P1像素的权重为(256-0),P2像素的权重为(0),此循环结束,不需再继续处理,尔后的权重值为零,亦即接下来Wh2、Wh3、Wh4皆为0,故E1为(P1×256+P2×0+P3×0+P4×0+P5×0)>>28。当执行第二次循环时,该累加器的值Acc=0+121<256,使用P1像素与P2像素作线性内插,P1像素的权重为(256-121),P2像素的权重为(121),此循环结束,不需再继续处理,尔后的权重值为零,亦即接下来Wh2、Wh3、Wh4皆为0,故E2为(P1×135+P2×121+P3×0+P4×0+P×0)>>28。当执行第三次循环时,该累加器之值Acc=121+121<256,使用P1像素与P2像素作线性内插,P1像素的权重为(256-242),P2像素的权重为(242),此循环结束,不需再继续处理、尔后的权重值为零,亦即接下来Wh2、Wh3、Wh4皆为0,故E3为(P1×14+P2×242+P3×0+P4×0+P5×0)>>28。当执行第四次循环时,该累加器之值Acc=242+121>256,Acc=363-256=107,使用P2像素与P3像素作线性内插,P2像素的权重为(256-107),P3像素的权重为(107),此循环结束,不需再继续处理,尔后的权重值为零,亦即接下来Wh2、Wh3、Wh4皆为0,故E4为(P2×149+P3×107+P4×0+P5×0+P6×0)>>28。其它像素的处理步骤与上述相同,不予赘述。
当执行影像缩小时,该水平缩放装置149使用窗口平均(windowaverage)方法,以进行缩小运算。图6是本发明使用窗口平均(windowaverage)方法以执行缩小运算的示意图。其执行缩小倍率为2.6的缩小运算。首先设定一最大加权值(max_weight),在本实施例中,最大加权值为256(28)。再计算一缩小参数(shrink_norm),该缩小参数为最大加权值乘以一输出比例再除以一输入比例。在本实施例中,输入比例为2.6,输出比例为1,故该缩小参数为98。
经由图4的伪码,即可分别算出M个水平权重分别为Wh0、Wh1、Wh2、Wh3、Wh4。如图4所示,当执行第一次循环时,累加器的值Acc=256-98>0,P1像素的权重为98,需继续处理下一个像素的权重,Acc=158-98>0,P2像素权重为98,需继续处理下一个像素的权重,Acc=60-98<=0,P3像素权重为60,此循环结束,不需再继续处理,尔后的权重值为零,亦即接下来Wh3、Wh4皆为0,故S1为(P1×98+P2×98+P3×60+P4×0+P5×0)>>28。当执行第二次循环时,累加器的值Acc=256-(98-60)>0,P3像素的权重为38,需继续处理下一个像素的权重,Acc=218-98>0,P4像素的权重为98,需继续处理下一个像素的权重,累加器的值Acc=120-98>0,P5像素的权重为98,需继续处理下一个像素的权重;累加器的值Acc=22-98<0,P5像素的权重为22,此循环结束,不需再继续处理,尔后的权重值为零,亦即接下来Wh4为0,故S2为[P3×(98-60)+P4×98+P5×98+P6×22+P7×0]>>28。其它像素的处理步骤与上述相同,不予赘述。
该垂直缩放装置120使用窗口平均(window average)方法以执行影像缩小运算,并使用双线性插值方法以执行影像放大运算。该垂直缩放装置120所使用方法与该水平缩放装置149相同,熟悉该项技术者可由图3及图4的伪码,可转换为该垂直缩放装置120的硬件电路。
由于在进行一条影像线缩放运算中,该N条影像线的垂直权重(Wv0、Wv1、Wv2、Wv3、Wv4)无需改变,故可先将该垂直权重(Wv0、Wv1、Wv2、Wv3、Wv4)算出,并写入一垂直权重缓存器中,以取代该垂直权重产生器121。
图7是本发明的可节省内存的影像缩放系统100的运作示意图。当执行水平及垂直影像缩小时,该影像缩放系统100利用第一直接内存存取装置(DMA)160撷取储存于该主存储器180中的5条影像线的部分数据(In_line_1~In_line_5),执行垂直方向缩小运算后,再执行水平方向缩小运算,以获得水平影像线的缩小部分数据(Out_line_1)。之后,该影像缩放系统100利用第二直接内存存取装置(DMA)170将水平影像线的缩小部分数据(Out_line_1)储存于该主存储器180中。
当执行水平及垂直影像放大时,该影像缩放系统100利用第一直接内存存取装置(DMA)160撷取储存于该主存储器180中的2条影像线的部分数据(In_line_1~In_line_2),执行垂直方向放大运算后,再执行水平方向放大运算,以获得水平影像线的放大部分数据(Out_line_1)。之后,该影像缩放系统100利用第二直接内存存取装置(DMA)170将水平影像线的放大部分数据(Out_line_1)储存于该主存储器180中。
图8是本发明另一实施例的电路图。其主要使用一控制装置710以计算该N条影像线的垂直权重(Wv0、Wv1、Wv2、Wv3、Wv4),并以一垂直权重缓存器721取代该该垂直缩放装置120。该控制装置710执行该垂直缩放装置120、该水平缩放装置140、该第一直接内存存取装置(DMA)160、及该第二直接内存存取装置(DMA)170的初始化及相关设定,并将该该N条影像线的垂直权重(Wv0、Wv1、Wv2、Wv3、Wv4)写入该垂直权重缓存器721中。
图9是本发明又一实施例的方块图。其中该窗口型内存110为乒乓窗口型内存(ping-pong window SRAM)。该输出缓冲装置150亦为乒乓缓冲装置(ping-pong buffer)。该窗口型内存110包含一第一乒乓缓冲器810及一第二乒乓缓冲器820。当第一乒乓缓冲器810存满数据时,将该第一乒乓缓冲器810的输出导向该垂直缩放装置120。当第一乒乓缓冲器810数据耗尽且第二乒乓缓冲器820存满数据时,将该第二乒乓缓冲器820的输出导向该垂直缩放装置120。借此以提高系统的输出量(throughput)。
本发明的优选实施例可由上述说明所示范及揭露。其非限制本发明至前述的揭露。许多优选实施例的变形或修正为熟悉本领域技术者基于上述说明所能轻易完成,本发明的范围定义于权利要求范围中,及其等价所及。
由上述说明可知,本发明使用窗口型内存(window SRAM)处理影像放大与缩小,可以兼顾降低影像处理时间及降低内存大小的要求。本发明为降低内存的使用,不使用线缓冲器(line buffer)储存影像数据,而以窗口型内存储存影像数据。且窗口型内存的内存大小为依据直接内存存取(DMA)频宽做最优化调整,将窗口型内存的使用降到最低,减少硬件成本。
同时,透过控制直接内存存取(DMA)数据读取的位置,可以将一个窗口大小的输入影像写入至窗口型内存(window SRAM)110中。再将此窗口大小的影像数据经过垂直放大或缩小处理器,再经过水平放大或缩小处理器后,实时(real time)输出到后端的影像处理(例如影像压缩)。
另外,本发明的垂直缩放装置120在执行影像放大与缩小运算时,均共用该窗口型内存(window SRAM)110,可进一步降低内存的使用量。在二维(2D)的影像数据处理上,不需要整条影像线处理完后才输出,而是以处理完数个影像数据后,即可透过第二直接内存存取装置170输出,达到系统实时(Real time)输出的要求。
上述实施例仅为了方便说明而举例而已,本发明所主张的权利范围自应以权利要求所述为准,而非仅限于上述实施例。
Claims (12)
1.一种可节省内存的影像缩放系统,用以缩小或放大一影像,该影像由多数条影像线所组成,该影像缩放系统包含:
一窗口型内存,用以接收并暂存N条影像线的部分数据,N为正整数;
一垂直缩放装置,连接至该窗口型内存,以对该N条影像线的部分数据执行垂直方向缩放运算,而产生一垂直影像线的部分数据;
一缓冲装置,连接至该垂直缩放装置,接收并暂存该垂直影像线的部分数据;以及
一水平缩放装置,连接至该缓冲装置,以对该垂直影像线的部分数据执行水平方向缩放运算,而产生一水平影像线的缩放部分数据;
其中,当执行影像缩小时,该垂直缩放装置及该水平缩放装置使用窗口平均方法,以进行缩小运算,当执行影像放大时,该垂直缩放装置及该水平缩放装置使用双线性插值方法,以进行放大运算。
2.如权利要求1所述的影像缩放系统,其还包含:
一输出缓冲装置,连接至该水平缩放装置,用以暂存该水平影像线的缩放部分数据;
一第一直接内存存取装置,连接至一主存储器及该窗口型内存,从而由该主存储器撷取该N条影像线的部分数据,并将该N条影像线的部分数据传送至该窗口型内存;以及
一第二直接内存存取装置,连接至该主存储器及该输出缓冲装置,从而由该输出缓冲装置撷取该水平影像线的缩放部分数据,并将该水平影像线的缩放部分数据传送至该主存储器。
3.如权利要求2所述的影像缩放系统,其中,该窗口型内存具有N个输出端。
4.如权利要求3所述的影像缩放系统,其中,该垂直缩放装置包含:
一垂直权重产生器,用以在影像缩放时,产生N个垂直权重;
N个乘法器,每一乘法器的第一输入端分别耦合至该窗口型内存的N个输出端其中之一,每一乘法器的第二输入端耦合至该垂直权重产生器,以分别接收该垂直权重产生器产生N个垂直权重其中之一,从而对该N条影像线的部分数据进行乘法运算;
一第一加法器,其具有N个输入端,并分别耦合至该N个乘法器的输出端,以对该产生该N个乘法器的输出进行加法运算;以及
一第一移位器,耦合至该第一加法器的输出端,以对该第一加法器的输出进行移位,从而产生该垂直影像线的部分数据。
5.如权利要求4所述的影像缩放系统,其中,该水平缩放装置包含:
一水平权重产生器,用以在影像缩放时,产生M个水平权重,M为正整数;
一起始像素指标产生器,其耦合至该缓冲装置并产生一指针,该指标用以指示存取该缓冲装置的位置;以及
一水平缩放引擎,其耦合至该缓冲装置及该水平权重产生器,由该缓冲装置中撷取M个像素的数据,及由该水平权重产生器中撷取该M个水平权重,以对该M个像素进行水平缩放运算。
6.如权利要求5所述的影像缩放系统,其中,该水平缩放引擎包含:
M个缓存器,其耦合至该缓冲装置,用以暂存由该缓冲装置中撷取M个像素的资料;
M个乘法器,每一乘法器的第一输入端分别耦合至该M个缓存器的输出端其中之一,每一乘法器的第二输入端耦合至该水平权重产生器,以分别接收该水平权重产生器产生M个水平权重其中之一,俾对该M个像素进行乘法运算;
一第二加法器,其具有M个输入端,并分别耦合至该M个乘法器的输出端,以对该产生该M个乘法器的输出进行加法运算;以及
一第二移位器,耦合至该第二加法器的输出端,以对该产加法器的输出进行移位运算。
7.一种可节省内存的影像缩放系统,用以缩小或放大一影像,该影像由多数条影像线所组成,该影像缩放系统包含:
一窗口型内存,用以接收并暂存N条影像线的部分数据,N为正整数;
一垂直缩放装置,连接至该窗口型内存,以对该N条影像线的部分数据执行垂直方向缩放运算,而产生一垂直影像线的部分数据;
一缓冲装置,连接至该垂直缩放装置,接收并暂存该垂直影像线的部分数据;
一水平缩放装置,连接至该缓冲装置,以对该垂直影像线的部分数据执行水平方向缩放运算,而产生一水平影像线的缩放部分数据;以及
一控制装置,其连接至该该垂直缩放装置及该水平缩放装置,该控制装置执行该垂直缩放装置及该水平缩放装置的初始化及相关设定,并分别计算该N条影像线的N个垂直权重,再将该N个垂直权重写入该垂直缩放装置;
其中,当执行影像缩小时,该垂直缩放装置及该水平缩放装置使用窗口平均方法,以进行缩小运算,当执行影像放大时,该垂直缩放装置及该水平缩放装置使用双线性插值方法,以进行放大运算。
8.如权利要求7所述的影像缩放系统,其还包含:
一输出缓冲装置,连接至该水平缩放装置,用以暂存该水平影像线的缩放部分数据;
一第一直接内存存取装置,连接至一主存储器及该窗口型内存,从而由该主存储器撷取该N条影像线的部分数据,并将该N条影像线的部分数据传送至该窗口型内存;以及
一第二直接内存存取装置,连接至该主存储器及该输出缓冲装置,从而由该输出缓冲装置撷取该水平影像线的缩放部分数据,并将该水平影像线的缩放部分数据传送至该主存储器。
9.如权利要求8所述的影像缩放系统,其中,该窗口型内存具有N个输出端。
10.如权利要求9所述的影像缩放系统,其中,该垂直缩放装置包含:
一垂直权重缓存器,连接至该控制装置,用以在影像缩放时,暂存该控制装置所产生N个垂直权重;
N个乘法器,每一乘法器的第一输入端分别耦合至该窗口型内存的N个输出端其中之一,每一乘法器的第二输入端耦合至该垂直权重缓存器,以分别接收该垂直权重缓存器所储存N个垂直权重其中之一,俾对该N条影像线的部分数据进行乘法运算;
一第一加法器,其具有N个输入端,并分别耦合至该N个乘法器的输出端,以对该产生该N个乘法器的输出进行加法运算;以及
一第一移位器,耦合至该第一加法器的输出端,以对该第一加法器的输出进行移位,从而产生该垂直影像线的部分数据。
11.如权利要求10所述的影像缩放系统,其中,该水平缩放装置包含:
一水平权重产生器,用以在影像缩放时,产生M个水平权重,M为正整数;
一起始像素指标产生器,其耦合至该缓冲装置并产生一指针,该指标用以指示存取该缓冲装置的位置;以及
一水平缩放引擎,其耦合至该缓冲装置及该水平权重产生器,由该缓冲装置中撷取M个像素的数据,及由该水平权重产生器中撷取该M个水平权重,以对该M个像素进行水平缩放运算。
12.如权利要求11所述的影像缩放系统,其中,该水平缩放引擎包含:
M个缓存器,其耦合至该缓冲装置,用以暂存由该缓冲装置中撷取M个像素的资料;
M个乘法器,每一乘法器的第一输入端耦合至该M个缓存器的输出端其中之一,每一乘法器的第二输入端耦合至该水平权重产生器,以接收该水平权重产生器产生M个水平权重其中之一,从而对该M个像素进行乘法运算;
一第二加法器,其具有M个输入端,并分别耦合至该M个乘法器的输出端,以对该产生该M个乘法器的输出进行加法运算;以及
一第二移位器,耦合至该第二加法器的输出端,以对该产加法器的输出进行移位运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100931865A CN100508550C (zh) | 2006-06-23 | 2006-06-23 | 可节省内存的影像缩放系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100931865A CN100508550C (zh) | 2006-06-23 | 2006-06-23 | 可节省内存的影像缩放系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101094304A true CN101094304A (zh) | 2007-12-26 |
CN100508550C CN100508550C (zh) | 2009-07-01 |
Family
ID=38992316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100931865A Expired - Fee Related CN100508550C (zh) | 2006-06-23 | 2006-06-23 | 可节省内存的影像缩放系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100508550C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102186044A (zh) * | 2010-06-22 | 2011-09-14 | 上海盈方微电子有限公司 | 一种边缘相关性图像无极缩放算法及其硬件实现装置 |
CN102333212A (zh) * | 2010-07-14 | 2012-01-25 | 北京大学 | 一种双线性两倍上采样方法及系统 |
CN105589820B (zh) * | 2015-12-22 | 2019-01-15 | 中国科学院微电子研究所 | 一种数据传输缓冲装置 |
-
2006
- 2006-06-23 CN CNB2006100931865A patent/CN100508550C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102186044A (zh) * | 2010-06-22 | 2011-09-14 | 上海盈方微电子有限公司 | 一种边缘相关性图像无极缩放算法及其硬件实现装置 |
CN102333212A (zh) * | 2010-07-14 | 2012-01-25 | 北京大学 | 一种双线性两倍上采样方法及系统 |
CN102333212B (zh) * | 2010-07-14 | 2013-07-17 | 北京大学 | 一种双线性两倍上采样方法及系统 |
CN105589820B (zh) * | 2015-12-22 | 2019-01-15 | 中国科学院微电子研究所 | 一种数据传输缓冲装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100508550C (zh) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7920150B2 (en) | Image scaling system capable of saving memory | |
CN100356405C (zh) | 一种改变数字图像尺寸的方法及装置 | |
CN102186044A (zh) | 一种边缘相关性图像无极缩放算法及其硬件实现装置 | |
CN106910162A (zh) | 基于fpga的图像缩放处理方法及装置 | |
CN100389435C (zh) | 图像处理装置 | |
CN106780336B (zh) | 一种图像缩小方法及装置 | |
CN102222317A (zh) | 一种图像缩放方法和系统 | |
CN104935831A (zh) | 并行多相位图像插值装置和方法 | |
CN101950523A (zh) | 可调矩形窗图像缩放方法及装置 | |
CN100508550C (zh) | 可节省内存的影像缩放系统 | |
CN101789234A (zh) | 数字图像缩放处理方法及集成系统 | |
CN107094241B (zh) | 一种机载sar的实时成像显示方法及系统 | |
CN101426134A (zh) | 用于视频编解码的硬件装置及方法 | |
CN107085827B (zh) | 基于硬件平台实现的超分辨力图像复原方法 | |
TW202005353A (zh) | 去除視訊抖動的方法及裝置 | |
CN102110431B (zh) | 数字图像的缩放方法及装置 | |
CN101662598B (zh) | 一种连续视频数据流的缩放系统 | |
CN111107295B (zh) | 基于fpga和非线性插值的视频缩放方法 | |
CN101778200B (zh) | 基于非均匀采样的图像校正系统及方法 | |
US20120050820A1 (en) | Image processing apparatus, control method of the same, and program | |
CN115908132A (zh) | 基于三次卷积插值法的图像缩放处理方法及装置 | |
WO2016197393A1 (zh) | 并行多相位图像插值装置和方法 | |
Bartovsky et al. | Pipeline architecture for compound morphological operators | |
CN105160622A (zh) | 基于fpga的图像超分辨率的实现方法 | |
CN114119372A (zh) | 一种基于fpga的高精度图像缩放的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090701 Termination date: 20150623 |
|
EXPY | Termination of patent right or utility model |