CN1450810A - 图像变换装置和方法 - Google Patents
图像变换装置和方法 Download PDFInfo
- Publication number
- CN1450810A CN1450810A CN03107668A CN03107668A CN1450810A CN 1450810 A CN1450810 A CN 1450810A CN 03107668 A CN03107668 A CN 03107668A CN 03107668 A CN03107668 A CN 03107668A CN 1450810 A CN1450810 A CN 1450810A
- Authority
- CN
- China
- Prior art keywords
- filter
- filtering
- pixel
- picture element
- directions
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0202—Two or more dimensional filters; Filters for complex signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明是一种图像变换装置和方法:将SRAM作为像素缓存器使用,它存储着从帧缓存器复制的部分图像区域。垂直滤波器从像素缓存器中读取以垂直方向排列的目标像素对,并且在垂直方向进行离散小波变换的滤波处理。在滤波处理过程获得的中间结果存储于寄存器中。在下两个像素的滤波中垂直滤波器使用该中间结果,水平滤波器接收垂直滤波器的两个变换的结果且对变换的结果进行水平方向的滤波处理。在水平滤波处理中获得的中间结果也存储于寄存器中并用于下一次的滤波处理。
Description
技术领域
本发明涉及图像变换技术,具体涉及用于编码的变换图像数据的方法和装置。
背景技术
特别是在二十世纪九十年代,PC(个人计算机)和其它信息设备的广泛使用,数码相机、彩色打印机等的普及,以及在互联网使用的急剧增加,都使得数字图像的文化深深地渗入到普通百姓日常生活中,在这种情形下,诸如用于静态图像的JPEG(联合图像专家组)和用于运动图像的MPEG(运动图像专家组)的编码和压缩技术已经成为标准,以改善通过诸如CD-ROM的记录媒体和诸如网络和广播的传输媒体的图像分配和再现更加便利。
在JPEG系列中,使用离散小波变换(DWT)的JPEG 2000已经成为标准,以获得压缩效率的进一步提高以及达到高的图像质量。在JPEG 2000中,DWT取代了以块为基础对图像进行滤波的离散余弦变换(DCT)并在压缩图像的性能方面起着重要的作用。另外,在MPEG中,同样的小波变换也应用于纹理压缩。
由于小波变换和小波逆变换需要大量的计算,为了加速计算采用了一些方法,例如,将整个图像通过缓存用于处理,或将图像分成128×128像素的小区域(称之为分割(tile))并以分割为单位进行图像缓存用于处理。另外,也已经提出了以行为单位来存储和处理图像的方法。
由于小波变换处理是以整个图像为单位进行滤波处理,所以用于滤波处理所需要的缓存器的容量要大大增加。从成本角度看,这个问题已经成为实现JPEG2000算法的障碍。当采用将图像划分成分割时,就可以在小容量的缓存器中处理大的图像,但是在分割的边界上会有一些不可避免的噪声并且使图像的质量下降。
即使采用了行存储器的方法,例如,当使用了9/7滤波器时,就必须以9行为一块来抽取图像并且存储于存储器,因此,在普通图像的情况下,一行的长度就变成约为1600像素,所以行存储器的容量并不小。自然,它也不能处理宽度超过行长度的图像。
而且,在这些方法中,小波变换和逆变换必须以单独的电路来构成,因此成本的因素就变得很大。
发明内容
本发明针对上述讨论的问题,其目的是提供能够以低成本来实现图像变换技术。
根据本发明的一个方面,提供了一种用于滤波图像数据的图像变换方法。该方法包括保存先前已滤波过的像素中间结果和随后实现当前滤波处理的中间结果,以及在不基于对最先影响当前滤波过程的至少部分像素的条件下,来完成当前的滤波处理。
对图像数据进行的滤波处理可以是图像x和y方向的两维小波变换,并且该变换可以包括以y方向排列的一组Na像素的滤波以及在x方向偏移一个像素的位置上且以在完成对先前一组滤波之后的y方向排列的另一组Na像素进行滤波,并且在以y方向滤波过程中,数值Na可以小于先前处理像素的数值Nb。当使用9/7 Daubechies滤波器来实现两维离散小波变换时,一个像素会受到它左右两边的四个像素的影响。因此,相关的像素数值Nb为9,而需要滤波的目标像素数值Na可以小于9,例如,为2。
根据本发明的另一方面,提供了图像变换装置。该装置包括:像素缓存器,它可以存储从图像的帧缓存器中抽取的以x方向的N像素和以y方向的M像素组成的部分区域;Y滤波器,它可以滤波在像素缓存器中以y方向排列的一组目标像素;以及第一寄存器,它保留Y滤波器的中间结果并向Y滤波器转发中间结果,Y滤波器先前组的目标像素的中间结果转发Y滤波器,该滤波器滤波当前组的目标像素。
该装置进一步包括X滤波器,该滤波器接收Y滤波器产生的最终结果并且滤波像素缓存器中以X方向排列的一组目标像素,以及第二寄存器,它存储X滤波器产生的中间结果并向X滤波器转发中间结果,而X滤波器先前组的目标像素的中间结果转发X滤波器,该滤波器滤波当前组的目标像素,并且X滤波器最终输出对图像进行两维滤波处理的结果。X方向可以是图像的水平方向,而滤波处理可以对以水平方向排列的一对两个像素进行处理。
Y滤波器和X滤波器可以是以两维离散小波变换的滤波器。离散小波变换的滤波计算可以表示为递推公式并递归使用像素的中间结果。例如,在9/7滤波器的情况下,在寄存器中存储四个中间结果,并且用于下一对像素的滤波计算。
藉助于X滤波器和Y滤波器所产生的中间结果的应用,可以分别产生与X方向的像素数目无关和Y方向的像素数目无关的数目N和M,这些数目最初影响X滤波器和Y滤波器的目标像素组所产生的滤波结果。因此,数目N和M可以是与图像尺寸无关的固定数值。第一和第二寄存器可以是固定长度的寄存器,所述寄存器存储中间结果的数值,在寄存器中所存储的数值数目分别取决于X方向的像素数目和Y方向的像素数目,这些数目会影响以X方向和Y方向排列的目标像素组的滤波结果。
Y滤波器可以X方向扫描像素滤波器,并且在X方向的像素滤波器的终点转向,并以Y方向向前移位,像素缓存器的窗口可以在Y方向上移动M个像素,并且在Y滤波器完成对像素缓存器中数据扫描之后可以在移位位置上抽取新的像素数据,以及Y滤波器可以滤波像素缓存器中的新的数据。X滤波器可滤波Y滤波器产生的最终的处理结果,从而可以对像素缓存器进行两维的滤波。
像素缓存器的窗口可以移动到与Y方向的初始位置相同的下一个位置,并且当滤波处理到达Y方向的图像终点时,该窗口就以X方向从初始位置移动K像素,作为像素缓存器的窗口在Y方向上移动的结果,以及可以在下一个位置上抽取新的数据并且Y滤波器可以滤波像素缓存器中的新数据。X滤波器可以滤波Y滤波器所产生的最终处理结果,从而可以完成对像素缓存器的两维滤波,并且可以通过移动像素缓存器的窗口并重复进行同样的滤波处理来对整个图像进行两维滤波。
在像素缓存器窗口的X方向的移动量K可以小于像素缓存器X方向的长度N。即,以Y方向扫描列的宽度为N,而列的(N-K)像素可以从先前的列开始包括其中。特别是,可以以这种方式来定义K的数值,使得等于(N-K)的数目P对应于X方向的像素数目,该数目会最初影响目标像素组的处理结果。例如,在上述提及的9/7滤波器中,在窗口的左终点上需要四个先前像素的信息,因此从先前列开始所包含的像素数目为四。
此外,上述讨论的结构部件和步骤的任意取代或替换,在方法和装置以及其它之间部分和全部的取代或替换的表述,以及对***、计算机程序、记录媒体等等的变化表述都是有效的且被本发明所包含。
本发明内容并不需要讨论所有的必需特征,因此,本发明也可以是这些所讨论特征的子组合。
附图说明
图1是根据实施例1的图像编码装置的结构方框图。
图2是图1所示的小波变换的方框图。
图3说明了在图2所示的小波变换中9/7滤波器采用的计算算法。
图4说明图3所示的滤波计算的流程图。
图5说明了在像素缓存器中扫描像素的方向。
图6说明了移动像素缓存器窗口的方向。
图7说明了在根据实施例2图像编码装置的小波变换中的5/3滤波器的滤波计算。
图8说明了图7所示的滤波计算的流程图。
具体实施方式
将参照较佳实施例来讨论本发明。这些实施例并不是用于限制本发明的范围,而只是用于解释本发明。
实施例1
图1显示根据实施例1的图像编码装置10的结构。图像编码装置10根据JPEG 2000编码图像数据。JPEG 2000的技术规范在ISO/IEC 15444-1:JPEG2000图像编码***的标准文件(JPEG 2000最终委员会草案,在2000年8月颁布)中讨论了。图像编码装置10可以是普通的计算机,并包括CPU、存储器和对装入存储器中的图像进行编码的程序模块。图1中的方框描述了本实施例的功能特性,并且本领域的技术人士都能理解功能方框可以包括只是硬件,只是软件或是两者的组合。
图像编码装置10包括小波变换器14、帧缓存器16、量化器18,位-平面编码器20、算术编码器22和码流发生器24。当编码处理开始时,读取帧缓存器16中的原始图像OI。图像可以从诸如数码相机的拍摄装置直接输入到帧缓存器16,或者,通过内部或外部存储器输入到帧缓存器16。
在帧缓存器16中的初始图像OI被小波变换器14分级排列。在JPEG 2000中的小波变换器14采用了Daubechies滤波器。该滤波器可以在x,y方向同时作为低通滤波器和高通滤波器工作,并将初始图像划分成四个频率的子波段。这四个子波段是:LL子波段,它包含了x和y方向的低频分量;HL和LH子波段,它包含了x和y方向之一的一个低频分量以及另一个方向的高频分量;以及HH子波段,它包含在x和y方向的高频分量。在各个子波段图像中的像素数目分别是初始图像的像素数目的一半。因此,滤波处理可应用于四个子波段,每一个的尺寸都是输入图像尺寸的四分之一。
小波变换器14对呈现出的LL子波段进行滤波处理,这时已将图像分成了LL、HL、LH和HH子波段。通过重复滤波处理,在最终滤波中呈现出的LL子波段额作为最接近于初始图像OI的DC分量的图像获得。在同样的层次上,LL子波段包含了低频分量,以及HL、LH和HH子波段包含了高频分量。在先前滤波处理中所呈现的先前的层次包括了四个子波段,在这四个子波段中,高频分量比在目前滤波处理中所呈现的高频分量更加显著。
此后,虽然没有进行更详细的讨论,但分级排列后的图像以最低的频率分量开始输入到量化器18、位-平面编码器20、算术编码器22和码流发生器24,并产生最终的编码图像数据CI以及从码流发生器24中输出。
图2是小波变换器14的方框图,这是一个图像变换装置的例子。SRAM 30起着像素缓存器的作用,它存储着从帧缓存器16中拷贝来的图像数据的部分区域。所拷贝的图像区域是以水平方向(下文称之为H方向)的N个像素和垂直方向(下文中称之为V方向)的M像素的区域,该图像区域被称之为窗口。
V滤波器34从SRAM 30中读取以V方向排列的两个目标像素A和B对32,并在离散小波变换中对这些目标像素A和B对32进行V方向的滤波处理。在这个滤波处理中,V滤波器34采用了存储于寄存器36中的四个中间结果C、D、E和F。存储于寄存器36中的四个中间结果C、D、E和F是所获得的滤波像素的数值,该数值在作为当V滤波器34对在目标像素A和B对32进行滤波处理之前一个步骤中的先前像素对进行滤波处理时的中间结果。V滤波器通过目标像素A和B与中间结果C、D、E和F值的相乘和相加对目标像素A和B对32进行滤波处理,随后将其中间结果送至寄存器36。接着在对下一个目标像素的滤波处理中使用所写入的中间结果。
V滤波器34以SRAM 30的H方向逐像素扫描目标像素A和B对32,并进行滤波处理,随后向H滤波器42输出目标像素A和B对32的变化结果A’和B’。H滤波器42接收来自V滤波器34的变换后目标像素A’和B’的第一对38和变换后目标像素A’和B’的第二对40。第一对38和第二对40都是在V滤波器34以H方向逐像素扫描并进行顺序滤波之后连续输出的变换结果。
H滤波器42接收四个像素,由第一对38和第二对40组成,并以H方向抽取每一对像素,随后进行H方向的滤波。该滤波处理类似于V滤波器34所进行的V方向的滤波处理,除了方向不同。H滤波器42利用存储于寄存器44的四个中间结果C’、D’、E’和F’滤波从V滤波器34输入的四个像素的第一行,随后利用存储于另一个寄存器46的四个中间结果C’、D’、E’和F’滤波四个像素的第二行。
H滤波器42所产生的滤波结果是以四个像素为一个单位连续输出,并且该单位的四个像素形成了小波变换系数LL,HL,LH和HH。因此,通过收集作为各个子波段四个像素为单位输出的小波变换系数LL,HL,LH和HH,就能够获得作为最终变换结果的四个子波段图像LL,HL,LH和HH。
图3说明了V滤波器34进行的滤波处理的计算算法。该图显示了在离散小波变换所使用的9/7滤波器的情况下,缓存放置于SRAM 30的9个像素51至59是怎样通过步骤1至6的计算变换的。为了便于解释,以水平方向来描述像素,然而,在V滤波器34所进行的滤波处理的情况下,像素实际上是以垂直方向排列的。在9/7滤波器中,图中的中心像素55在滤波处理中会受到其右边的四个像素和其左边的四个像素的影响。在该图中,阴影像素表示它们的数值是来自于上一个数值,而其他像素表示在先前步骤中存储由变换公式所变换的中间数值。该变换是借助于下文讨论的递推公式进行的并具有像素的中间输出是递归使用的特性。因此,通过暂时存储中间结果,在后续的像素的计算中就可能再次使用这些结果。
现在解释第i目标像素Ai59和Bi58对的变换。V滤波器34从寄存器36读取四个中间结果Ci57,Di66,Ei75和Fi84,这些值是从像素第(i-1)对的变换中获得,并将这些中间结果应用于在第i目标像素Ai59和Bi58对的变换中。
在步骤1中,Bi58和Ci57的数值与α相乘,并加上与α相乘的Ai59,随后计算在第(i+1)变换中需要使用的中间结果Di+168。
在步骤2中,Ci57和Di66的数值与β相乘,并加上与β相乘的Di+168,随后计算在第(i+1)变换中需要使用的中间结果Ei+177。
在步骤3中,Di66和Ei75的数值与γ相乘,并加上与γ相乘的Ei+177,随后计算在第(i+1)变换中需要使用的中间结果Fi+186。
在步骤4中,Ei75和Fi84的数值与δ相乘,并加上与δ相乘的Fi+186,随后计算中间结果95。
在步骤5中,步骤3所获得的中间结果Fi+186与K相乘,并且获得像素106。该像素106是像素缓存器中第(2n+1)像素56的最终变换结果。
在步骤6中,步骤4所获得的中间结果95与(1/K)相乘,并获得像素105。该像素105是像素缓存器中第2n像素55的最终变换结果。
在第(i+1)变换处理中,目标像素Ai59作为中间结果Ci+1使用。于是,在第i变换处理中所获得四个中间结果Ci+1,Di+1,Ei+1和Fi+1应用于两个目标像素Ai+1和Bi+1对的第(i+1)变换中。
在第i变换处理中,滤波实线所包含的区域112并产生最终变换结果和下一次使用的中间结果。变换具有递归结构,在该结构中,虚线包含区域110的先前滤波所获得中间结果可再次用于当前的滤波中。
于是,V滤波器34以V方向变换第2n像素55和第(2n+1)像素56对,并随后输出经变换的像素105和106对。由于在9/7滤波器中第2n像素55分别受到左边的和右边的四个像素的影响,因此,最初必须滤波总共9个像素。然而,根据滤波计算的递归性质,本实施例将四个中间结果存储于寄存器36,并且再次使用这些中间结果,从而只对两个目标像素的对进行滤波计算。
在图3中,由于对图像的左端像素来说没有可使用的先前四个像素存在,所以滤波计算就不能进行。因此,对在左端的像素来说,在右边的后续四个像素复制至左边,以维持像素相对于左端的对称性。同样,对右端的像素来说,将左边的后四个像素复制至右边。从而,分别在左边和右边增加了四个像素。具有左边和右边所增加的像素的数据被称之为扩展像素数据。
图4说明了该滤波计算的流程。像素数值A59直接作为下次计算的像素数值60来使用,并且由乘法器120a进行其与α因子相乘,并输入到第一加法器122。像素数值B58直接输入到第一加法器122。像素数值C57由乘法器120b进行与α因子相乘并输入到第一加法器122。第一加法器122将输入数值相加并输出其结果。该计算过程对应于图3的步骤1。
第一加法器122的输出直接用于下次计算的像素数值D68,并且也由乘法器124a进行其与β因子相乘并输入到第二加法器126。像素数值C57直接输入到第二加法器126,并且像素数值D66由乘法器124b进行与β因子相乘并输入到第二加法器126。第二加法器126将输入数值相加并输出其结果。该计算过程对应于图3的步骤2。
第二加法器126的输出直接用于下次计算的像素数值E77,并且也由乘法器128a进行其与γ因子相乘并输入到第三加法器130。像素数值D66直接输入到第三加法器130,并且像素数值E75由乘法器128b进行其与γ因子相乘并输入到第三加法器130。第三加法器130将输入数值相加并输出其结果。该计算过程对应于图3的步骤3。
第三加法器130的输出直接用于下次计算的像素数值F86,并且也由乘法器132a进行其与δ因子相乘并输入到第四加法器134。像素数值E75直接输入到第四加法器134,并且像素数值F84由乘法器132b进行与δ因子相乘并输入到第四加法器134。第四加法器134将输入数值相加并输出其结果。该计算过程对应于图3的步骤4。
第三加法器130的输出由乘法器136a进行其与K因子相乘并成为第(2n+1)目标像素的变换结果106。该计算过程对应于图3的步骤5。第四加法器134的输出与1/K因子相乘并成为第2n目标像素的变换结果105。该计算过程对应于图3的步骤6。
现在解释滤波计算的递归公式。由Xext(2n)表示第2n像素数值,由Y(2n)表示变换后的像素,等等。变换后的像素数值是指中间结果的数值或最终结果的数值。这里,Xext(2n)是原始图像数据X(2n)的扩展数据,正如以上所描述的那样。
步骤1的变换公式:
Y(2n+3)=Xext(2n+3)+α*(Xext(2n+2)+Xext(2n+4))
步骤2的变换公式:
Y(2n+2)=Xext(2n+2)+β*(Y(2n+1)+Y(2n+3))
步骤3的变换公式:
Y(2n+1)=Y(2n+1)+γ*(Y(2n)+Y(2n+2))
步骤4的变换公式:
Y(2n)=Y(2n)+δ*(Y(2n-1)+Y(2n+1))
步骤5的变换公式:
Y(2n+1)=K*Y(2n+1)
步骤6的变换公式:
Y(2n)=(1/K)*Y(2n)
其中,常数α,β,γ,δ和K是在上述提及的JPEG 2000的标准文件给出了,它们的粗略数值为:α=-1.586134342,β=-0.052980119,γ=0.882911076,δ=0.443506852,K=1.230174105。
在H滤波器42的情况中,目标像素的方向就变成了H方向,然而,滤波计算是基本相同的。但是,对H方向的滤波来说,必须输入V滤波器34产生的两个变换结果。因此,H滤波器42等待,直至V滤波器进行的处理已经完成了这两个步骤。在获得V滤波器34四个像素的变换结果之后,H滤波器42进行滤波处理。也可以并行提供两个H滤波器,使得四个像素能够在H方向上分成两组并且同时进行处理。
接着解释V滤波器34扫描图像的方向。图5显示了扫描SRAM 30存储着的部分图像区域中的目标像素A和B对的方向。正如该例所示,SRAM 30缓存H方向中16个像素以及V方向8个像素的图像区域。如水平像素的数目N和垂直像素的数目为M的例子所示,这里解释了N=16和M=8的情况,但是,N为8,则M可以为2,4,6或8。
V方向上的目标像素A和B对是以H方向进行扫描和读取,并且连续对第一行进行V方向的滤波处理。在寄存器36中连续寄存着四个中间结果C,D,E,和F。以同样的方式来扫描第二行并对两个目标像素A和B进行滤波。在这次滤波中,可使用第一行的中间结果C,D,E,和F。此外,在第二行的滤波中的中间结果C,D,E和F覆盖寄存器36中,以便于在第三行的滤波中使用。同样,依次进行第三和第四行的滤波处理。值得注意的是,H滤波器42进行的H方向滤波也是根据V滤波器34对各行所进行V方向滤波处理的过程中V滤波器34输出的结果来进行的。于是,V方向和H方向滤波处理是以存储于SRAM 30中的像素缓存器来完成的。
图6说明了像素缓存器窗口的移动方向。图5所示的在H方向上的16个像素和V方向上的8个像素的部分区域是从帧缓存器16中的图像的左上区域抽取的并缓存于SRAM 30。采用图5所讨论的扫描方式在像素缓存器中进行滤波处理。一旦像素缓存器中的处理结束,像素缓存器的窗口就以V方向移动8个像素,抽取同样尺寸的另一部分区域并缓存于SRAM 30,随后对新的像素缓存器进行相同的滤波处理。在对新的像素缓存器的第一行滤波时,可利用对先前像素缓存器第四行的滤波处理的中间结果,因此可以适当地处理在像素缓存器边界上的依赖性,且不会在边界上出现噪声。于是,在像素缓存器每次以V方向移动8个像素的同时,重复该滤波处理,并且,当滤波处理到达图像的最下端时,结束第一列的处理。
接着,窗口就移到与V方向的初始位置相同的位置上,并从初始位置以H方向移动12个像素,随后采用相同的方式进行第二列的处理。这里,第二列中有四个像素与第一列相重叠。由于在9/7滤波器中每一个像素都会受到左右边后四个像素的影响,因此,窗口左端就需要来自先前像素缓存器中的四个像素的信息。正如以上所讨论的,由于在寄存器36中存储的中间结果可以在窗口中再次使用,所以在不需要获得四个相邻像素的信息的条件下也能够进行滤波处理。然而,由于在窗口左端没有提供四个相邻像素的信息,因此就必须从第一列窗口中获得这四个像素的信息。
于是,在H方向上这四个像素重叠的同时进行每一列的处理,并且最终对整个图像完成V和H两个方向上的滤波处理。
实施例2
在实施例2中,使用5/3滤波器取代了实施例1中的9/7滤波器。其它结构与实施例1相同。如9/7滤波器一样,对一对目标像素进行滤波处理,但是,5/3滤波器只使用两个中间结果,并且寄存器36也只保存两个中间结果。
图7说明了5/3滤波器所进行滤波计算的流程。该图显示了缓存于SRAM20中的五个像素201至205是如何在步骤1和步骤2的计算中传递的。在5/3滤波器中,中心的像素303在滤波处理中受到左右边两个像素的影响。正如图3所示,阴影像素表示它们的数值是由上部像素继承的,而其它像素则表示存储在先前步骤中由变换公式所变换的中间数值。
5/3滤波器所进行的该滤波计算的递归公式如下所示:
步骤1的变换公式:
Y(2n+1)=Xext(2n+1)-floor[(Xext(2n)+Xext(2n+2))/2]
步骤2的变换公式:
Y(2n)=Xext(2n)+floor[(Y(2n-1)+Y(2n+1)+2)/4]
式中:floor[x]是“地板”函数(floor function),它输出不超过输入数值x的最大整数。
现在解释第i目标像素Ai205和Bi204对的变换。从寄存器36中读取第(i-1)像素对的变换中所获得的中间结果Ci203和Di212,并且用于第i目标像素Ai205和Bi204对的变换。
在步骤1中,采用以上所提及的步骤1的变换公式利用Bi204,Ci203和Ai205的数值来计算需用于第(i+1)变换中的中间结果Di-1214。
在步骤2中,采用以上所提及的步骤2的变换公式利用Ci203,Di212和Di+1214的数值来计算需用于第(i+1)变换中的中间结果223。
步骤1的中间结果Di+1214作为像素缓存器中第(2n+1)像素204的最终变换结果234输出。在步骤2的中间结果223作为像素缓存器中第2n像素203的最终变换结果233输出。
目标像素Ai205作为第(i+1)变换处理中的中间结果Ci+1使用。于是,在第i变换处理中获得的两个中间结果Ci+1和Di+1应用于两个目标像素Ai+1和Bi+1对的第(i+1)变换中。在第i变换处理中,实线所包含的区域242被滤波并且产生下一次使用的最终变换结果和中间结果。变换具有递归结构,在该结构中,当前滤波再次使用由虚线所包含区域240中先前滤波所获得的中间结果。
于是,V滤波器34变换V方向第2n像素203和(2n+1)像素204对,并随后输出经变换的像素233和234对。于是,在5/7滤波器中第2n像素203分别受到左右边两个像素的影响,所以最初就必须对总数5个像素进行滤波。然而,根据滤波计算的递归公式,本实施例在寄存器36中存储两个中间结果并且再次使用,从而仅仅只对两个目标像素对进行滤波计算。
图8说明了该滤波计算的流程。像素数值A205直接用于下一次计算的像素数值206,并且它也输入到第一加法器250。像素数值C203也输入到第一加法器250。第一加法器250将输入数值相加并且它的输出通过乘法器252与1/2因子相乘。乘法器252也对乘法结果进行地板函数计算,并且输出由地板函数计算获得的结果。输出数值的符号在正和负之间变化,并且输入到第二加法器254。像素数值B204输入到第二加法器254。第二加法器254将输入数值相加并输出结果。该计算对应于步骤1的过程。
第二加法器254的输出直接用于下一次计算中的像素数值D214,并且它也成为第(2n+1)目标像素的变换结果234。第二加法器254的输出输入到第三加法器256。像素数值D212也输入到第三加法器256。第三加法器256将输入数值相加,并且它的输出由加法器258加上2且随后通过乘法器260与1/4因子相乘。乘法器260也进行对乘法结果的地板函数的计算,以及输出由地板函数所获得结果。该输出结果输入到第四加法器262中。像素数值C203输入到第四加法器262。第四加法器262累加输入数值并输出它的结果。该计算对应于步骤2的过程。第四加法器262的输出成为第2n目标像素的变换结果233。
正如以上所讨论的,通过使用固定长度的寄存器,该寄存器暂时存储着离散小波变换的滤波计算中的中间结果,这些实施例能够以N×M像素的块为单位扫描图像,并且对整个图像进行小波变换。由于像素缓存器的大小不取决于图像的尺寸而是固定的,因此滤波处理不需要采用大容量的行存储器或图像缓存器。由于该配置不取决于图像尺寸,所以可以在不改变电路结构的条件下均匀地处理从低精度到高精度的图像区域,从而该处理适于广泛的使用。此外,由于它不需要将图像分成为分割,即使提高了压缩率也不会产生边界噪声,因此图像质量不会下降。
另外,利用中间结果的类似滤波计算可以应用于小波逆变换,以及逆变换的滤波处理也可以采用固定尺寸的像素缓存器来进行。因此,小波变换和逆变换都能共享该电路结构,并且可以低成本来实现。
虽然已经通过示范实施例讨论了本发明,但应该理解到:本领域内的专业人士可以在不脱离所附权利要求所定义的本发明的范围和精神而产生许多变化和替代。以下提供这类变化和替代。
在实施例中,V滤波器34和H滤波器42以这种顺序连续滤波存储于SRAM30中的像素数据,但是,所构成的装置可以以这种顺序将SRAM 30中的像素数据输入到H滤波器42和V滤波器34,并且在H方向的滤波处理之后进行V方向的滤波处理。此外,这些实施例解释小波变换的滤波计算,然而,也可以在逆变换中进行利用中间结果的类似滤波计算。
Claims (14)
1.一种用于滤波图像数据的图像变换方法,包括保留先前已经滤波处理的像素的中间结果并随后将该中间结果用于当前滤波处理,从而在不需要依赖最初影响当前滤波处理的至少一部分像素的条件下完成当前的滤波处理。
2.如权利要求1所述所述的方法,其特征在于,对图像数据进行滤波是图像的X和Y方向中的两维小波变换,该变换包括:滤波以Y方向排列的一组Na像素,以及在完成了先前组的滤波之后,滤波在X方向移动一个像素并以Y方向排列的位置上的另一组Na像素,并且数字Na小于Y方向滤波最初依赖的像素数目。
3.一种图像变换装置,包括:
像素缓存器,存储从图像的帧缓存器中提取的X方向N个像素和Y方向M个像素的部分区域;
Y滤波器,滤波像素缓存器中以Y方向排列的一组目标像素;以及,
第一寄存器,它可以暂时存储Y滤波器的中间结果并向Y滤波器转发该中间结果,
其中,Y滤波器目标像素的先前组的中间结果被转发到进行目标像素当前组滤波的Y滤波器。
4.如权利要求3所述的装置,其特征在于,进一步包括:
X滤波器,接收Y滤波器产生的最终结果并且对像素缓存器中以X方向排列的一组像素进行滤波;和,
第二寄存器,暂时存储X滤波器产生的中间结果并向X滤波器转发中间结果,
其中,X滤波器产生的目标像素的先前组的中间结果转发给对目标像素当前组进行滤波的X滤波器,并且X滤波器最终输出对图像进行两维滤波处理的结果。
5.如权利要求4所述的装置,其特征在于,Y滤波器和X滤波器是两维离散小波变换的滤波器,用于对目标像素组进行滤波的递归公式的中间输出存储于第一和第二寄存器,并且作为对后续目标像素组进行滤波的递归公式的输入使用。
6.如权利要求4所述的装置,其特征在于,借助于X滤波器和Y滤波器的中间结果的应用,数字N和M都分别与X方向和Y方向上的最初会影响来自X滤波器和Y滤波器所产生目标像素组的滤波结果的像素数目无关。
7.权利要求5所述装置,其特征在于,借助于X滤波器和Y滤波器的中间结果的应用,数字N和M都分别与X方向和Y方向上的最初会影响来自X滤波器和Y滤波器所产生目标像素组的滤波结果的像素数目无关。
8.权利要求6所述装置,其特征在于,第一和第二寄存器是固定长度的寄存器,它存储着中间结果的数值,在寄存器中所存储的数值数目分别取决于X方向和Y方向上影响X方向和Y方向排列目标像素组的滤波结果的像素数目。
9.权利要求7所述装置,其特征在于,第一和第二寄存器是固定长度的寄存器,它存储着中间结果的数值,在寄存器中所存储的数值的数目分别取决于X方向和Y方向上影响X方向和Y方向排列目标像素组的滤波结果的像素数目。
10.如权利要求4所述的装置,其特征在于,Y滤波器以X方向扫描像素缓存器,并在像素缓存器的X方向的终点返回以及以Y方向向前移位,并且像素缓存器的窗口在Y方向上移动M个像素,以及在Y滤波器完成像素缓存器中像素扫描之后在新的移位位置上提取新的像素数据,并且,Y滤波器对像素缓存器中新的数据进行滤波。
11.如权利要求10所述的装置,其特AC征在于,X滤波器对Y滤波器所产生的最终处理结果进行滤波,从而对像素缓存器进行两维的滤波。
12.如权利要求10所述的装置,其特征在于,当滤波处理在Y方向到达图像的结束位置时,像素缓存器的窗口移至下一个位置,该位置与Y方向的最初位置相同而在X方向从最初的位置移动K像素,作为像素缓存器的窗口在Y方向移动的结果,并且在新的位置提取新的数据以及Y滤波器对像素缓存器中的新数据进行滤波。
13.如权利要求12所述的装置,其特征在于,X滤波器对Y滤波器产生的最终处理结果进行滤波,从而完成对像素缓存器的两维滤波,以及通过移动像素缓存器的窗口和重复进行相同的滤波处理来进行整个图像的两维滤波。
14.如权利要求10所述的装置,其特征在于,在X方向移动的像素数目K是采用数目P的方式来定义的,数目P等于(N-K),其中N是像素缓存器X方向像素的数目,P对应于在X方向上最初影响目标像素组的处理结果的像素数目。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002077357 | 2002-03-19 | ||
JP2002077357A JP2003283839A (ja) | 2002-03-19 | 2002-03-19 | 画像変換方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1450810A true CN1450810A (zh) | 2003-10-22 |
CN1222171C CN1222171C (zh) | 2005-10-05 |
Family
ID=28671633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031076688A Expired - Fee Related CN1222171C (zh) | 2002-03-19 | 2003-03-19 | 图像变换装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7197191B2 (zh) |
JP (1) | JP2003283839A (zh) |
CN (1) | CN1222171C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101065760B (zh) * | 2003-12-11 | 2010-06-16 | 富可视公司 | 处理图像数据的***和方法 |
CN101754014B (zh) * | 2008-12-05 | 2012-09-05 | 索尼株式会社 | 信息处理设备和方法 |
CN101543071B (zh) * | 2007-03-30 | 2013-05-08 | 索尼株式会社 | 信息处理设备和信息处理方法 |
CN110544209A (zh) * | 2018-05-29 | 2019-12-06 | 京东方科技集团股份有限公司 | 图像处理方法、设备以及虚拟现实显示装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4879151B2 (ja) * | 2007-08-17 | 2012-02-22 | 富士通エレクトロニクス株式会社 | エンコーダ装置、デコーダ装置、ウェーブレット変換方法およびウェーブレット逆変換方法 |
JP5158000B2 (ja) * | 2009-04-07 | 2013-03-06 | ソニー株式会社 | 情報処理装置および方法 |
JP2013187692A (ja) * | 2012-03-07 | 2013-09-19 | Sony Corp | 画像処理装置及び画像処理方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19744407C1 (de) * | 1997-10-08 | 1999-02-11 | Luratech Ges Fuer Luft Und Rau | Verfahren zur mehrdimensionalen, diskreten Wavelet-Transformation und Transformationseinheit zur Durchführung des Verfahrens |
US6125210A (en) * | 1997-10-24 | 2000-09-26 | Intel Corporation | Method and apparatus for two-dimensional wavelet recomposition |
US6236757B1 (en) * | 1998-06-18 | 2001-05-22 | Sharp Laboratories Of America, Inc. | Joint coding method for images and videos with multiple arbitrarily shaped segments or objects |
EP1020816B1 (en) * | 1999-01-14 | 2005-08-31 | Fuji Photo Film Co., Ltd. | Method of and system for image processing and recording medium for carrying out the method |
US6788820B2 (en) * | 1999-11-03 | 2004-09-07 | Lucent Technologies Inc. | Methods and apparatus for wavelet-based image compression |
AUPQ457299A0 (en) * | 1999-12-10 | 2000-01-13 | Canon Kabushiki Kaisha | Inverse dwt method and apparatus |
AUPQ630200A0 (en) * | 2000-03-16 | 2000-04-15 | Canon Kabushiki Kaisha | Wavelet filtering |
JP2002101310A (ja) | 2000-09-21 | 2002-04-05 | Canon Inc | フィルタ処理装置及び方法 |
JP4266512B2 (ja) | 2000-12-27 | 2009-05-20 | キヤノン株式会社 | データ処理装置 |
JP4444480B2 (ja) | 2000-10-23 | 2010-03-31 | キヤノン株式会社 | フィルタ処理装置 |
JP4067281B2 (ja) * | 2001-02-20 | 2008-03-26 | 三洋電機株式会社 | 画像処理方法とその方法を利用可能な画像符号化装置および画像復号装置 |
JP4700838B2 (ja) | 2001-05-21 | 2011-06-15 | キヤノン株式会社 | フィルタ処理装置 |
US7088860B2 (en) * | 2001-03-28 | 2006-08-08 | Canon Kabushiki Kaisha | Dynamically reconfigurable signal processing circuit, pattern recognition apparatus, and image processing apparatus |
JP2002304624A (ja) | 2001-04-05 | 2002-10-18 | Canon Inc | フィルタ処理装置及び撮像装置 |
WO2002091222A1 (en) * | 2001-05-07 | 2002-11-14 | Hrl Laboratories, Llc | System, method and computer readable medium for a signal subband coder |
JP3984886B2 (ja) * | 2001-09-28 | 2007-10-03 | キヤノン株式会社 | データ変換装置、データ変換方法、コンピュータプログラム、記憶媒体 |
GB0128888D0 (en) * | 2001-12-03 | 2002-01-23 | Imagination Tech Ltd | Method and apparatus for compressing data and decompressing compressed data |
JP3608554B2 (ja) | 2002-02-27 | 2005-01-12 | ソニー株式会社 | 5×3ウェーブレット変換装置 |
-
2002
- 2002-03-19 JP JP2002077357A patent/JP2003283839A/ja active Pending
-
2003
- 2003-03-19 CN CNB031076688A patent/CN1222171C/zh not_active Expired - Fee Related
- 2003-03-19 US US10/390,909 patent/US7197191B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101065760B (zh) * | 2003-12-11 | 2010-06-16 | 富可视公司 | 处理图像数据的***和方法 |
CN101543071B (zh) * | 2007-03-30 | 2013-05-08 | 索尼株式会社 | 信息处理设备和信息处理方法 |
CN101754014B (zh) * | 2008-12-05 | 2012-09-05 | 索尼株式会社 | 信息处理设备和方法 |
CN110544209A (zh) * | 2018-05-29 | 2019-12-06 | 京东方科技集团股份有限公司 | 图像处理方法、设备以及虚拟现实显示装置 |
US11308588B2 (en) | 2018-05-29 | 2022-04-19 | Beijing Boe Optoelectronics Technology Co., Ltd. | Image processing method, device, and virtual reality display apparatus |
CN110544209B (zh) * | 2018-05-29 | 2022-10-25 | 京东方科技集团股份有限公司 | 图像处理方法、设备以及虚拟现实显示装置 |
Also Published As
Publication number | Publication date |
---|---|
US20030190083A1 (en) | 2003-10-09 |
JP2003283839A (ja) | 2003-10-03 |
CN1222171C (zh) | 2005-10-05 |
US7197191B2 (en) | 2007-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100348045C (zh) | 析像度变换方法及装置 | |
CN1151684C (zh) | 活动图象编码译码装置及方法 | |
CN1260971C (zh) | 图像编码设备与图像编码方法 | |
CN1112045C (zh) | 用反复误差数据编码方法进行视频压缩 | |
CN1200568C (zh) | 在图像和视频的编码/解码中的变换系数的最佳扫描方法 | |
CN1592411A (zh) | 图象数据的自适应可变长度编码方法 | |
CN1126065C (zh) | 压缩和解压缩图象 | |
CN1496653A (zh) | 运动图象编码装置及运动图象解码装置 | |
CN1495674A (zh) | 运动向量补偿的内插装置和方法 | |
CN101049006A (zh) | 图像编码方法及装置以及图像解码方法及装置 | |
CN1906624A (zh) | 使用匹配追踪的数据压缩 | |
CN1547853A (zh) | 用于消除区块效应和/或铃振噪声的滤波方法和装置 | |
CN1122247C (zh) | 运动补偿预测方法及使用该方法的编码器和解码器 | |
CN1794816A (zh) | 运动图像压缩编码方法、运动图像压缩编码装置以及程序 | |
CN1445997A (zh) | 图像处理方法和采用该图像处理方法的图像编码装置 | |
CN1320830C (zh) | 噪声估计方法和设备、以及利用其编码视频的方法和设备 | |
CN1232125C (zh) | 通过参考离散余弦变换系数来估计运动的方法及其装置 | |
CN1222171C (zh) | 图像变换装置和方法 | |
CN1089983C (zh) | 限制运动图象信号频带的方法和装置 | |
CN1750659A (zh) | 插值图像内存组织、分数像素生成及预测误差指标计算方法 | |
CN1914926A (zh) | 运动图像编码方法和设备以及运动图像解码方法和设备 | |
CN1310190C (zh) | 根据每块的能量编码静止图像的离散小波变换器件与方法 | |
CN1703911A (zh) | 降低已压缩多媒体的比特率 | |
CN1926860A (zh) | 用于降低量化噪声传播效应的最佳空域-时域变换 | |
CN1250009C (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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |