说明
详细说明
依照本发明的各种实施例的抗混叠技术通过预滤波原始图象数据产生滤波的图象数据。本发明的实施例使用两个组件。第一个组件是用于加权原始图象数据的滤波函数。如在下面将详细地讨论的,由本发明的各种实施例使用的滤波函数倾向于最优地将取样的图象数据的频谱能量集中在频域中的一个范围上,所述频域相应于在空间域中取样的图象数据的取样间距。第二个组件是将滤波函数应用于原始图象数据以便滤波那个数据的再现算法。下面将详细地讨论这些组件的每一个。
操作环境
如那些本领域的普通熟练技术人员将理解的,依照本发明的各种实施例的抗混叠技术可使用硬件、软件、固件或它们的组合实现。例如,可通过执行抗混叠技术的操作的功能模块实现本发明的各种实施例。可单独地由模拟或数字电子电路系统构成每个模块。然而,如在本领域中那些熟练技术人员,也可使用已经用可执行指令编程的可编程电子电路系统构成这些模块,诸如在常规的可编程计算设备中存在的。
更具体地说,可在计算机可执行指令诸如由一或多个可编程计算设备执行的程序模块的一般背景中,描述依照本发明的各种实施例的抗混叠系统。通常,程序模块可包括执行具体任务或实现具体的抽象数据类型的例程、程序、对象、组件、数据结构等等。可按要求将一般程序模块的功能组合或分布在各种实施例。
因为可使用用软件编程的可编程计算机设备实现本发明的各种实施例,它可有助于更好地理解本发明,以简要地讨论典型的可编程计算设备(在下文中被简单地称为计算机)的组件和操作,在所述设备上可使用本发明的各种实施例。图4例示提供合适操作环境的计算设备401的例子,在其中可实现本发明的各种实施例。这个操作环境只是合适操作环境的一个例子,不过,不是想要建议对有关本发明的使用或功能范围作任何限制。其它适合于本发明的众所周知的计算系统、环境和/或配置包括,但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型机、大型计算机、包括任何上述系统或设备的分布式计算环境等等。
计算设备401一般包括至少部分形式的计算机可读介质。计算机可读介质可以是能由计算设备401存取的任何可用介质。作为例子,而不是限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的非易失性的和易失性的、可移动的和不可移动的介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光存储器、磁盒、磁带、磁盘存储器或其它磁存储设备、穿孔介质、全息存储器或可用于存储所要求的信息并能由计算设备401存取的任何其它介质。
通信介质一般包含在诸如载波或其它传输机构的经调制的数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传送介质。术语“已调制的数据信号”指具有以有关将信息编码到信号中这样一种方式设置或改变其一或多个特性的信号。作为例子,而不限制,通信介质包括诸如有线连接的网络或直接有线连接的有线介质,以及诸如声音、RF、红外的无线介质和其它无线介质。上述的任何的组合应该也被包括在计算机可读介质的范围内。
参考图4,在最基本的配置中,计算设备401一般包括处理单元403和系统存储器405。取决于计算设备401的精确配置和类型,系统存储器405可包括易失性存储器407(诸如RAM)、非易失性存储器409(诸如ROM、闪存等),或两种存储器类型的某种组合。另外,设备401还可具有大容量存储设备,诸如可移动存储设备411、不可移动存储设备413或两种存储设备类型的某种组合。大容量存储设备可以是能够检索所存储的信息的任何设备,诸如磁盘或光盘、或磁带或光带、穿孔介质或全息存储器。如在本领域中那些熟练技术人员将理解的,系统存储器405和大容量存储设备411和413是计算机存储介质的例子。
设备401一般也将具有一或多个输入设备415,诸如键盘、话筒、扫描仪或指点设备,用于从用户接收输入。设备401一般将还具有用于向用户输出数据的一或多个输出设备417,诸如显示器、扬声器、打印机或触觉反馈设备。例如,输出设备417可包括阴极射线管显示器,等离子显示器,液晶显示器,有机材料显示器(organic material display)或任何其它类型的显示器。如在本领域中那些熟练技术人员将理解的,这些类型的显示器的每一种将通过激活离散的象素再现图象。设备410的其它组件可包括使用有线或无线介质与其它设备、计算机、网络、服务器等的通信连接419。如在本领域中那些普通熟练技术人员将理解的,通信连接419是通信介质的例子。所有这些设备和连接在本领域中是熟知的并因此将不在此详细讨论。
抗混叠工具
图5例示用于实现依照本发明的各种实施例的抗混叠技术的抗混叠工具501。抗混叠工具501包括一原始图象数据存储器503,一扫描转换模块505,一累积缓冲器507和一线段确定模块509。如在下面将讨论的,原始图象数据存储器503存储要使用本发明实施例的抗混叠技术再现的原始图象数据。可以以任何合适的形式存储原始图象数据,诸如以描述要再现的区域、曲线或直线的一或多个数学方程的形式。例如,如果正在使用抗混叠技术再现一直线,那么原始图象数据可以是方程y=mx+c,其中m是该线的斜率,以及c是该线的偏移量。
如在本领域中那些普通熟练技术人员将理解的,原始图象数据能表示线、曲线或区域。然而,当原始图象数据表示一大的区域(例如,具有比用于抗混叠该区域的抗混叠滤波掩模的直径大的宽度的区域)时,只有区域的边缘将需要被抗混叠。更具体地说,如果图象数据代表一大区域,将需要被抗混叠的区域的唯一清楚的特征是沿着区域的边缘。因此,只有大区域的边缘需要被清楚地再现,以便将该区域与邻接的线、曲线或区域范围分开。可在不应用抗混叠滤波的情况下直接从原始图象数据更快和有效地再现落在抗混叠滤波掩模的直径之外的该区域的剩余部分。
因此,当原始图象数据代表一大区域时,扫描转换模块505为显示器中每个象素产生初始象素值。更具体地说,扫描转换模块505使用扫描转换过程产生相应于由原始图象数据定义的区域的初始象素值。扫描转换过程可以是,例如,二值(bi-level)扫描转换过程。如果象素的中心落在区域中,则二值扫描转换过程为象素指定一第一值,以及如果象素的中心落在区域之外则为象素指定一第二值。
因此,如果区域是一个实心黑(solid black)的范围且黑象素的值被指定为“1”,则具有在区域内的中心的那些象素将被指定值“1”,而具有在区域外的中心的那些象素将被指派值“0”。不过,应该注意,可使用本发明的有些实施例用于可具有值的范围的象素,以便显示多种颜色或多种灰度阴影。对于这些实施例,二值扫描转换可为具有在区域内的中心的象素指定相应于区域的颜色或阴影的任何适当值。然后将由扫描转换模块505产生的象素数据存储在累积缓冲器507中。然而,如果原始图象数据代表没有明显的深度(即,具有由抗混叠滤波掩模的直径可包含的宽度)的小区域或线或曲线,那么可省略扫描转换模块505的操作。
如下面将详细讨论的,线段确定模块509将由原始图象数据代表的线、曲线或区域的轮廓线分成近似于原始图象数据的离散的线段。例如,如果原始图象数据代表一圆形区域,那么线段确定模块509将以六边形、八边形、十二边形(docecahedron)或近似于圆的其它多边的多边形的形式产生近似的图象数据。因此,如果原始图象数据是细直线或细曲线,则线段确定模块509将产生近似于直线或曲线的线段。同样,如果原始图象数据代表区域,则线段确定模块509将产生由区域的边缘构成的近似的轮廓线。通过用直线段近似原始图象数据,线段确定模块509使得卷积过程被简化。
抗混叠工具501还包括一卷积模块511。如下面将详细说明的,卷积模块511用由滤波掩模定义的范围或“积分区域”和由线段确定模块509产生的线段卷积抗混叠滤波函数,以产生经滤波的图象数据。在本发明的有些实施例中,卷积模块511可通过直接计算确定滤波函数和积分区域的轮廓线。然而,在本发明的其它实施例中,卷积模块511可通过从一查找表13查找轮廓线的值来确定滤波函数和积分区域的轮廓线。因此,查找表513可选地包括在抗混叠系统501中,如在图5中由虚线所示的。
然后使用由卷积模块511计算的经滤波的图象数据修改或代替在累积缓冲器513中适当的相应的象素值。然后使用初始象素值与基于经滤波的图象数据的象素值的组合再现所想要的图象。
再现算法
现在参考图6A和6B,现在将详细地说明依照本发明的各种实施例的再现算法。如在图601中所示,抗混叠工具501将原始图象数据接收到原始图象数据存储器503中。接着,在步骤603中,线段确定模块509产生相应于原始图象数据的近似图象数据。更具体地说,线段确定模块509产生近似于由原始图象数据表示的线、曲线或区域的轮廓线的线段。
可使用任何各种各样的知名的技术产生近似由原始图象数据表示的线、曲线或区域的线段。例如,如果原始图象数据定义贝塞尔曲线(Bezier curve)(如可能用于表示TrueType字体的字符),那么可使用de Casteljau算法产生近似贝塞尔曲线的线段。因此,线段确定模块509可产生相应于一曲线的轮廓线的一系列直线段701-705,如在图7中所示。
在步骤605中,扫描转换模块505在原始图象数据上执行扫描转换过程。更具体地说,如果曲线、线或区域的深度相对大(即,如果曲线、线或区域的深度大于用于抗混叠滤波器的掩模的直径),那么扫描转换模块505在原始图象数据上执行二值扫描转换过程。例如,如果原始图象数据描述具有大深度的字体或多边形,那么扫描转换模块505将二值扫描转换过程应用于原始图象数据。扫描转换模块505将一第一值指定给具有落在曲线、线或区域内的中心的那些象素,并且将一第二值指定给具有落在曲线、线或区域外的中心的那些象素。
例如,如果图象数据描述为实心的黑的多边形,那么扫描转换模块505可为具有落在区域内的中心的那些象素指定值“1”(即,象素的最黑值),以及为剩余的象素指定值“0”(即,象素的最亮值)。不过,对于本发明供替换的实施例,扫描转换模块505可将其它值指定给具有中心在区域内的象素和具有中心在区域外的象素。例如,如果象素能显示不同的颜色,模块505可为具有中心落在区域内的那些象素指定相应于区域颜色的值。因此,使用二值扫描转换过程,扫描转换模块505产生相应于由原始图象数据描述的大的线、曲线和区域的整个形状的象素值。
在例示的实施例中,抗混叠滤波器的掩模近似两个象素。例如,如果抗混叠滤波使用正方形掩模,那么这个掩模可覆盖2×2个象素的区域。如果抗混叠滤波器使用一旋转的滤波器,那么掩模可具有1象素的半径。这个大小的滤波器要求在卷积中比更大的滤波器处理较少的细节,且允许精确地计算有关的积分,因而简化了卷积计算。然而,本发明的各种供替换的实施例,可使用更小或更大的掩模区域。而且,本发明的各种实施例可使用正或负波瓣两者。
一旦在步骤607已将所扫描的图象数据写到累积缓冲器513,那么就滤波由原始图象数据描述的线、曲线或区域的轮廓线。更具体地说,在步骤609,积分模块509沿由线段确定模块507产生的线段前进,用所希望的滤波函数卷积近似图象数据的轮廓线。因此,积分模块509沿近似图象数据的线段前进,用滤波函数积分由滤波掩模和线段包围的范围。在本发明的一些实施例中,通过从查找表511查找预先计算的值确定卷积值。不过,在本发明的其它实施例中,可通过执行卷积的实时计算确定卷积值。
在步骤611,将经滤波的图象数据与扫描的图象数据一起存储在累积缓冲器513中。然后在步骤613,可再现经滤波的图象数据和扫描的图象数据。在本发明的一些实施例中,可以以相应于由线段确定模块507产生的线段的组再现经滤波和扫描的图象数据,因此曲线、线或区域的再现顺序地发生。然而,在本发明的其它实施例中,可在已滤波近似图象数据时实时地再现经滤波的图象数据。
如上面所提到的,用滤波函数卷积具有由直线段构成的轮廓线的近似图象数据,比卷积原始图象数据容易得多。不过,在有些情况下,卷积掩模可包括在不同线段之间的两个或多个顶点。在这些情况下,对于该范围的积分并因此卷积可能难以计算。因此,本发明的各种实施例通过将包含两个或多个线段顶点的范围分裂成更小更容易被计算的范围,确定那些范围的卷积。首先,用由从卷积掩模的中心通过每个顶点延伸的线划分带有多个顶点的范围。例如,图8例示由旋转卷积掩模801、第一线段803、第二线段805和第三线段807限制的一个范围。如在这个图中所见到的,这个范围可被划分成三个更小的范围。
第一较小范围是由旋转卷积掩模801、第一线段803和从卷积掩模801的中心通过线段803和线段805的顶点延伸的线809限制的。然后,第二较小范围是由旋转卷积掩模801、从卷积掩模801的中心通过线段803和线段805的顶点延伸的线809以及从卷积掩模801通过线段805和线段807的顶点的延伸的线811限制的。第三较小范围,是由旋转卷积掩模801、从卷积掩模801的中心通过线段805和线段807的顶点延伸的线811以及线段807限制的。
以此方式子划分具有多个顶点的范围产生三个基本类型的范围。首先,没有顶点的范围将不被子划分,并且还将继续由卷积掩模和单一线段限制。例如,如在图9A中所示,第一类型的范围可由旋转卷积掩模801和单一线段901限制。做为选择,范围可由一线段和唯一的从卷积掩模的中心延伸的单一线限制。因此,如在图9B中所示,范围可由卷积掩模801、线段903以及从卷积掩模801的中心延伸的单一线905限制。最后,范围可由一线段和两条从卷积掩模延伸的线限制。例如,如在图9C中所示的,范围可由卷积掩模801、线段907、从卷积掩模801的中心延伸的第一线909以及从卷积掩模801的中心延伸的第二线911限制。
不过,依照本发明的各种实施例,在图9C中所示的第三类型的范围可被进一步划分,以便简化卷积的计算。更具体地说,如在图10中所示,由卷积掩模801、线段1001以及从掩模801的中心延伸的两条线1003和1005限制的范围,可通过从由卷积掩模801、线段1001和线1003限制的范围中减去由卷积掩模801、线段1007以及从卷积掩模801的中心延伸的线1005限制的范围而形成。因此,依照本发明的各种实施例,可通过增加或减去一个基本积分区域定义由卷积掩模包含任何积分区域。
如在图11中所示,这个基本积分区域可由两个变量定义:从卷积掩模801的中心到线段的距离d,以及在线段同卷积掩模801的交叉点与线段同从卷积掩模801的中心延伸的线的交叉点之间的距离t。如果掩模801是旋转掩模,那么基本积分区域包括一第三变量θ,它是从卷积掩模801的中心延伸的线的极坐标扫描角(polar sweep angle)。在有些情况下,从卷积掩模的中心延伸的线和基本积分区域的线段的顶点将落在卷积掩模本身的中心上,使基本积分区域难以定义。不过,当发生这种情况时,可将顶点轻微地移离顶点,以例使基本积分区域更容易定义。
滤波函数
尽管可与任何合适的滤波函数一起使用上述再现技术,但是本发明的各种实施例使用倾向于最优地将取样的图象数据的频谱能量集中在频域中的一个范围上,所述频域相应于空间域中取样的图象数据的取样间距。在本发明的有些实施例中,滤波函数是由球形波(spheroidal wave)函数定义的。然而,在本发明另外的实施例中,滤波函数是由对于各种各样的积分区域能更容易地计算的一个多项式定义的。
众所周知,取样的连续的信号的频谱由那个连续信号的周期组成。因此,在一范围的一样本中混叠的量因而可通过在正方形Ω内频谱的能量测量,其中在频域中正方形的范围Ω=[-Ω,Ω]×[-Ω,Ω],其中Ω=π/T以及T是用于在空间域中取样的图象数据的取样间距。为了确定通用化的滤波函数,取样间距T可被标准化为1。为了最小化信号中的混叠,滤波函数应该最优地将从信号取样的数据的频谱能量集中在正方形Ω上。应该注意,对于有些实施例,本发明的函数可能不总是精确地将从信号取样的数据的频谱能量集中在正方形Ω上,但可代之以倾向于将频谱能量集中在正方形Ω上。
关于旋转滤波器ΓΩ,对于特定的正方形范围Ω,
ΓΩ≡∫∫Ω|[F(Ih)](ωx,ωy)|2dωxdωy
同时对于一通用的旋转滤波器Γ,
Г≡∫∫|[F(Ih)](ωx,ωy)|2dωxdωy
a)其中代表卷积过程,[F(g)]是函数g和傅立叶变换(Fouriertransform),I代表要被抗混叠的图象数据以及h是抗混叠滤波器。即,∫∫|[F(Ih)](ωx,ωy)|2Wdωxdωy是图象数据与抗混叠滤波函数的卷积的傅立叶变换。因此,最优地将从图象I取样的数据的频谱能量集中在正方形Ω上的滤波器应该满足:
其中 表示“h是使f(h)最大化的自变量”,即最大化h的函数。
傅立叶变换的基本性质允许
[F(Ih)]=[F(I)]×[F(h)]。
而且,图象I常常是一个小对象,因而[F(I)]接近常数。因此,可从分子和分母两者中有效地省略图象I的使用,从而:
因此,定义抗混叠滤波器的公式有效地变成与图象I无关。有利地,与任何具体图象I的实际值无关表示抗混叠函数将适合于所有类型的图象。
如那些在本领域的普通熟练技术人员将理解的,对于这个公式的最优解是零阶的长球形波函数(prolate spheroidal wave function of order zero),它不具有任何封闭型解。因此,所希望的是找出也使上面给出的比率最大化的多项式滤波器。例如,采用旋转滤波器,它可被假定为
其中r∈[0,R],θ∈[0,2π)。只要给出M和hk(k=0,...,M),就确定h。因此,将希望的是将这个比率表示为hk(k=0,...,M)的函数,因此可找出这些系数。因此,
可通过用
代入h获得第一个等式,如最初假定的。根据复数的基本性质:
其中|a|是a的模,以及
是a的复共轭,出现第二个等式。然后基于傅立叶变换的线性性质获得第三个等式,而通过用ψ
k表示[F(r
k)](ω
x,ω
y)获得第四个等式。随后第五个等式,因为ψ
k是实数,因而复共轭不起作用。第六个等式简单地将前面的方程重写成二重求和形式,而可使用积分的线性性质获得第七个等式。通过用ψ
k1表示∫∫ψ
kψ
ldω
xdω
y获得第八个等式,以对分母进行相同的表示。尽管ψ
k1不提供封闭型解,但ψ
k1提供了封闭型解。
如那些本领域的普通熟练技术人员将理解的,γ=ΓΩ/Γ的最大值化相当于在Г=1的约束下的使ΓΩ。通过经典的拉格朗日乘数法(Lagragianmultiplier)给出解决最大值化的方法:
和
上述系统导致特征向量问题
Φ-1Ψh=λh
其中Φ=(2π)2(Φkl),Ψ=(Ψkl)和h=(h0,h1,h2...hM)T。要最大化这个特征向量,必须选择h为相应于Φ-1Ψ的最大特征值的特征向量。因此,对于M=3和R=1,例如,这些系数是h0=0.56904256713865,h1=0.05056692464147,h2=-0.91026906187835,h3=0.42672641722501,给出93.80%的能量密度。图12例示具有R=1的上述旋转滤波器的中央交叉部分,其中曲线1201相应于M=1,曲线1203相应于M=2,以及曲线1205相应于M≥3。因此,可见使用M=3提供了高能量密度。
对于使用具有正方形掩模的抗混叠滤波器的本发明实施例,滤波函数h是相似的。设h(x,y)=h(x)h(y),其中
且(|x|≤R)。对于小的R,对于高能量密度M=1足够了。当R=1,最优系数是h0=0.68925230898772,h1=-0.56775692696317,给出93.01%的能量密度。
图13A-13D例示使用依照上述本发明各种实施例的具有半径R=1的旋转滤波器的不同图象。如从这些图象显而易见的,依照本发明的不同实施例的抗混叠技术为各种各样的图象类型提供高质量的抗混叠,这些图象类型包括线图象、棋盘格图象、贝塞尔曲线和TrueType字体。
结论
尽管已经相关于包括执行本发明的当前较佳模式的特定例子描述了本发明,那些本领域的熟练技术人员将理解,存在落入如在所附权利要求书所述的本发明的精神和范围内的上述系统和技术的众多的变体和置换。