本申请是下面几个专利申请的部分延续:美国应用申请序列号为10/133.842名为“ACTIVITY DETECTOR”2002年4月25日提交的专利申请;美国应用申请序列号为10/133,558名为“CLUSTERING”2002年4月25日提交的专利申请;美国应用申请序列号为10/133,939名为“LAYOUT ANALYSIS”2002年4月25日提交的专利申请。
发明内容
下面给出本发明的简单综述以提供本发明的某些方面的基本理解。此综述不是本发明的广泛的概貌。不试图辨别本发明的关键/重要单元或勾划出本发明的范围。其唯一的目的是以简单的方式提供本发明的某些方面,作为下面提供的更详细描述的序言。
本发明通常涉及使用掩码从背景分割出文档图像的前景的文档图像压缩的系统及方法。按本发明的一个方面,掩码分离器组件接收一个文档图像(如文档的二进制,RGB和/或YUK表示)作为输入。掩码分离器组件处理文档图像并输出掩码(如二进制)指出文档图像的每个像素是否属于前景和/或背景。借助将前景(如文本信息)从背景(如图像信息)分离,前景和/或背景能更有效地压缩,从而减少了文件的大小和传输时间。然后掩码和/或文档图像能由压缩系统的其他部分处理(如为了达到文档图像的改进压缩)。例如,本发明的系统和/或方法能在整体分段的层次图像系统中使用,以便于识别和/或压缩文本,手写体,图形等。
按本发明的一个特定方面,掩码分离器组件包括像素能量组件,区域合并组件和掩码存储组件。像素能量组件适应于对文档图像区域计算像素能量(如方差),以便于使前景和/或背景的能量方差最少。此能量(如根据距离的平方和的能量测量)被用作对前景和/或背景获得的压缩的估计。然而,为了简化计算开销,文档图像能分割成区域(如2个像素乘以2个像素)并对每个区域确定的前景和背景(如至少部分地根据在背景和/或前景中能量方差的最小化)。换言之,每个区域本身分割成两组:属于前景的像素,和属于背景的像素。为了进一步最小化计算开销,像素能量组件至少临时地存储计算信息,为合并区域组件和/或掩码存储组件所用。
区域合并组件适应于至少部分地根据确定潜在的被合并的区域的新前景和/或新背景的能量是否小于第一阈值能量而试图合并文档图像区域对。区域合并组件能使用由像素能量组件存储的计算信息。合并的结果是更大的区域,它由其自己的前景和背景分割所表征。合并前的前景的像素能终止在合并区域的背景,反之亦然。例如,区域合并组件能至少部分地根据新的前景和新的背景能量的最小化确定合并区域的适当的前景/背景分割。
区域合并组件能继续试图连续地合并更大的区域,直到阈值能量被超过和/或基本上所有的文档图像被合并。例如,区域合并组件能将水平相邻的两个区域合并成2乘4的区域。然后,区域合并组件能垂直地合并区域成4乘4的区域。通常,能选择第一阈值能量值以缓解下述潜在的情况,其中试图作出的合并将若干灰度等级分割到前景或背景,但伴有如文本的重要细节的潜在损失(如当在区域中有多于两种颜色)。因此能捕捉一个掩码,它捕获大多数与文档图像相关的文本和/或图像线。
一旦对区域完成合并,对此区域的前景和背景的分割组成掩码,例如属于前景的像素在掩码中指定为“1”,而属于背景的像素指定为“0”。不幸的是,在合并操作中保持对前景和背景的追踪的计算量很大。替代的方法(如计算上更有效)是计算合并区域的基本上所有像素的平均值,并将灰度值大于平均值的像素指定到前景而余下的像素指定到背景。或相反,将灰度值大于平均值的像素指定到背景而余下的像素指定到前景。两种可选的方法能产生视觉上不可觉察的掩码。
然后,掩码存储组件适合于将有关前景和背景的分割信息存入掩码。因此,掩码指出,文档图像中的每个像素是属于前景和/或背景。
按本发明的另一方面,为了使计算开销最小,对小区域(如4像素乘4像素)的能量能由像素能量组件计算。若能量小于第二阈值能量,基本上所有像素能指定到前景或背景,而另一个基本上是空的。若能量大于或等于第二阈值能量,分割如前述那样处理。对相对清楚的文档图像(如具有恒定颜色的区域)能达到计算速度的很大增长。
按本发明的另一方面,为了使掩码的大小最小,若最终区域(如不超过第一阈值不能合并的区域)平均前景和平均背景之间差值高于第三阈值,根据区域的总的平均值大于还是小于中间灰度值(如若灰度值在0到255之间为127)将整个区域表明为前景或表明为背景。对具有略为混色的彩色文档,没有这个优化对这些区域的掩码看上去象盐和胡椒,并具有高的压缩花费。选择第三阈值,使得不损失重要文本,并还删除在扫描打印的文本中许多看得到的些微混色(如许多打印机只有4到6种颜色,必须使用混色产生全色调色)。在一个例子中,对第三阈值,值40是好的选择。
本发明的又一个方面提供使用多项式回归分析的像素能量组件以便描述前景和/或背景。
本发明的另一个方面提供具有掩码分离器组件和前景/背景分段器的文档图像分离系统。掩码分离器组件能处理文档图像(如包括文本和/或手写体)并存储关于在掩码中哪些像素在前景哪些像素在背景的信息。然后,前景/背景分段器能接收掩码和文档图像,并将文档图像分离成前景图像和背景图像。
按本发明的又一个方面,提供具有文档图像转换组件,掩码分离组件和前景/背景分离组件的文档图像压缩系统。文档图像压缩系统能可选地包括掩码编码器,前景编码器和/或背景编码器。
本发明的又一个方面提供具有像素能量组件和掩码存储组件的分段分层的图像系统。能在大量文档图像应用中使用分段分层图像系统,包括照相制版机,文档扫描器,光学字符识别系统,个人数字助理,传真机,数码照相机,数码视频摄像机和/或视频游戏系统,但不仅限于此。
本发明的另外方面提供产生掩码的方法、具有用于掩码分离组件的计算机可用指令的计算机可读介质,和适用于在两个或多个包含与掩码有关的信息的计算机进程之间传输的数据包,该掩码对文档图像的前景和背景至少一个指定像素,该掩码至少部分地根据在文档图像的区域中像素能量的最小化的计算。
为实现前述和有关的目的,这里结合下面描述和附图叙述本发明的某些说明性方面。但是,这些方面只是指出可使用本发明的原则的各种方法的一小部分,而本发明试图包括所有这些方法和它们的等价。从下面结合附图对本发明的详细描述,对发明的新颖特征的其他优点变得显而易见。
具体实施方式
现参考附图描述本发明,其中类似的参照号用于参照所有类似的单元。为了理解起见,在下面的描述中列出各种特定的细节,以便提供对本发明透彻的理解。但是明显的是可以不要这些特定的细节来实施本发明。在另外情况,以框图方式示出熟知的结构和设备,以便于描述本发明。
在本专利中使用的术语“组件”和“系统”涉及计算机有关的实体,或者硬件,或软硬件组合,软件,或执行的软件。例如,一个组件可以是在处理器上运行的进程,处理器,对象,可执行体,执行的线程,程序,和/或计算机。作为说明,在服务器上运行的应用和服务器都能是一个组件。一个或多个组件能驻留在一个进程和/或执行的线程中,且一个组件可以定位在一台计算机和/或分布在二台或多台计算机之间。
此外,“文档图像”认为是包含一种或多种颜色的文档的数字表示(如二进制(如黑/白),灰度和/或彩色文档)。而且,文档图像能具有图像,文本和/或带着图像的文本,和文本和图像的潜在叠加。文档图像能是文档的二进制,RGB和/或YUV的表示。RGB文档图像表示成红,绿和兰的分量。用由Y表示亮度分量和由U和V表示的色度分量表示YUV文档图像。能用较少的位表示U和V色度分量而不会较大牺牲YUV图像的视觉质量。通常与RGR表示比较,YUV表示是更紧凑和容易使用的表示。文档图像包括一般称为“像素”的图形元素。文档图像能基于任何形状和大小的单页或多页的文档。
参考图1,示出按本发明的一个方面的掩码分离器组件100。掩码分离器组件100接收文档图像110(如根据要完成和/或发送的文档)。例如,掩码分离器组件100能是文档压缩系统(未示出)的一部分。文档图像110能是文档的二进制,RGB和/或YUV表示。掩码分离器组件100处理文档图像110,并输出掩码120(如二进制),指出文档图像110的每个像素属于前景和/或背景。然后掩码120和/或文档图像110能由压缩系统的其他部分处理,以实施文档图像110的压缩。
暂时转向图2,示出示例性文档图像。文档图像包含沿着横杠的字母“C”和“0”。图3示出按本发明的一个方面与图2的示例性文档图像有关的掩码。图4示出按本发明的一个方面与图2的示例性文档图像和图3的掩码相关的背景。虚线表示背景“照管”的像素的边界;包含虚线及在虚线内的像素在背景中是“不管”的,因为当文档图像被重新组合起来时,前景将至少部分地根据存储在掩码中的重构信息被设置在背景上。在字母“C”和“0”和/或横杠是恒定的颜色和/或具有平滑的颜色过渡的情况中,使用多种平滑和/或压缩技术之一能达到前景的有效压缩。背景的有效压缩能通过用考虑较平滑过渡的像素值代替“不管”的像素来达到。过滤“不管”的像素的一个示例性简单算法是用低通滤波器处理背景,并随后恢复重要的像素。在这两个步骤的几次迭代之后,“不管”的像素用允许平滑过渡的值结束,且将很好的压缩。此算法的简单的改进,是用很低的低通滤波器开始,并在每次迭代增加低通滤波器的截止频率。能使用类似的算法填充前景。
返回到图1,掩码分离组件100包括像素能量组件130,区域合并组件140和掩码存储组件150。
像素能量组件130适应于计算对文档图像110的区域的像素能量(如方差)。例如,在文档图像110是YUV表示的情况,像素能量组件130根据Y分量和/或YUV表示的YUV分量的适当组合计算像素能量方差。为了计算的目的,能认为前景和背景在一个区域内颜色是恒定的。希望计算掩码120,它使围绕那些常数的方差最小。该方差被用作对前景和/或背景获得的压缩的估计。另外,该区域能被压缩且数据位的数目能在数量上测算;但是计算开销将惊人的大。因而作为根据平方距离之和的能量测量的方差的计算是在压缩之后前景和背景的大小的可接收的估计。
假设区域是N个像素的组S,且前景F和背景B是S的分割,使得F∪B=S且F∩B=Φ。若f(x)是在像素位置x的图像值,x∈s,则前景和背景的方差分别是
其中
分别是前景和背景的平均像素值,而NF和NB分别是在前景和背景中的像素的数目。注意,这些方差也能表示成:
接着,至少部分地根据前景和/或背景的能量(如方差)的最小化,S的适当的分割F和B是由像素能量组件130(如它将最小化和E=vF+vB)决定的。然而,因为有2N种可能的掩码,寻找S的适当分割F和B是计算强度很大的。
为了简化计算,文档图像能划分成区域,例如2个像素乘2个像素的区域。暂时转到图5,示出按本发明的一个方面的2个像素乘2个像素的文档图像区域。四个像素具有值V1,V2,V3和V4。对每个2个像素乘2个像素的区域,只有24=16个可能的掩码。因此对这些2个像素乘2个像素的区域,借助对所有16种组合计算E=vF+vB并利用最小能量的一个,有可能找到使E最小的最优的F和B。
然而,采用K-均值群集(K-meas clustering)算法(其中K=2),因为文档图像是标量函数,值f(x)排序,产生能有效地计算的解。假设排序的次序是V1V2V3V4,K-均值群集算法(其中K=2)产生三个可能的分割:
潜在的前景 潜在的背景
V1 V2V3V4
V1V2 V3V4
V1V2V3 V4可以示出,基本上所有其他的组合具有相等或更高的能量。这是直观的,因为总应有一个连续值的组,它比非连续值的组具有更低的方差。若排序的次序不同,像素总能重新标记,使得V1V2V3V4被排序。然后直接决定,前景和背景的三个可能分离的哪一个产生最低的能量。重要的是,像素能量组件130能存储部分的和 和/或
使计算开销最小。此外,像素能量组件130至少临时地能存储部分和
和/或
以及NF和/或NB中的至少某一些(如为区域合并组件140和/或掩码存储组件150所用)。
而且,为了使计算开销最小,能计算对小区域(如4像素乘4像素)的能量。若能量小于阈值,所有像素能被指定给前景或背景,而另一个认为是空。若能量大于或等于阈值能量,能如上地进行分割。虽然此分割不一定是最优的,若阈值是够小,就没有起到负面影响。对相对清楚的图像(如具有颜色恒定的区域),在计算速度方面能有很大的增加。
此外,在掩码分离前景和背景被计算之后,基本为颜色恒定的区域(如纯前景或纯背景)也能被设置。例如,若在平均前景和平均背景之间的差小于经验确定的某阈值(如与0到255的满量程的灰度相比使用值40),整个区域可设置成前景或背景(取决于平均值靠近0还是255)。
回来参考图1,将文档图像110分割成2个像素乘2个像素的区域能导致区域是截然不同的前景和背景,这能引起像素噪声。这使得掩码120看上去象盐和胡椒粉,那是与能捕获掩码中的文本和/或图形线的目标不一致。因此,区域合并组件140适应于至少部分地根据潜在合并的区域的前景和/或背景的能量是否小于第一阈值能量而试图合并文档图像110的区域对。区域合并组件140能使用由像素能量组件130计算并存储的部分和
和/或
以及NF和/或NB。
在每次合并之后,这些数量必须重新计算,但幸运的是,由于只要将这些数量按前景和背景的组合相加,这能在恒定的时间内完成。还注意,在整个区域的和∑f(x)2对每个分割是常数,对于选择最优分割的目的不需要计算。然而在不合并区域时,此数量仍然需要决定。
暂时参考图6,示出具有前景F1和背景B1的第一区域以及具有前景F2和背景B2的第二区域的潜在的合并。在判断要合并的区域的能量是否小于第一阈值能量时,区域合并组件150能计算新的前景和新的背景的组。在两个区域中的能量方差具有新前景和新背景的七种可能的组。
潜在合并区域的 潜在合并区域的
新前景 新背景
F1 B1F2B2
F1B1F2 B2
F1B2F2 B1
F2 F1B1B2
F1F2 B1B2
F1B1 F2B2
F1B2 F2B1若至少一个可能的组提供小于第一阈值能量的背景和/或前景能量,区域合并组件140例如能至少部分地根据背景和前景能量(如E=vF+vB)的最小化确定合并区域的合适的前景/背景分割。若这些组合均不能提供低于第一阈值能量的能量,就不发生合并,且这些区域不再考虑合并。默认地,F1和F2被用于计算前景像素,而使用B1和B2计算背景像素。
区域合并组件140能继续试图合并更大的区域,直到第一阈值能量被超过和/或基本上整个文档图像110被合并。例如,如图6所示,区域合并组件140能水平地合并相邻的2乘2的区域成2乘4的区域。然后,如图7所示区域合并组件140能垂直地合并区域成4乘4的区域。通常,能选择第一阈值能量缓解如下的潜在情况,其中试图做的合并将若干灰度分割到前景或背景,伴有如文本那样重要细节的潜在损失(如当在一个区域中具有多于2种颜色)。例如,若第一区域有在白底上以灰色写的文本,而第二区域几乎是黑的,两个区域的合并能导致灰色和白色进到最后合并区域的前景,而黑色进到其背景,因而使得基本上所有文本信息从掩码120中丢失。然而,每当两种颜色被合并入前景或背景,产生对该区域能量的急剧增加,因为对此区域常数已不再是好的模型。
此外,作为对基本上所有七种组合计算最终能量的另选方案,能将前景和背景中的平均值排序,且能相对排序的平均值考虑分割。关于值V1V2V3V4的排序,这使分割的数目降低到3(根据平均值排序F1B1F2B2并考虑相对于次序的分割)。
另外和/或另选地,区域合并组件120能根据在给定区域上的近似值f估计两个区域的前景和背景的组合的受限制的子集。区域合并组件120能选择具有最小累积能量组合。
一旦因为合并将能量增加到超过第一阈值区域不再合并,在该区域中的像素就能分割前景和背景。那样的分割能随着每次合并进行,但这是计算量很大的。另选的方法是,合并区域组件140能计算被合并的区域的几乎所有像素值的平均值,并将具有大于平均值的像素指定到前景而将余下的像素指定到背景。备选地,将具有大于平均值的像素指定到背景,而将余下的像素指定到前景。
回到图1,一旦合并已由区域合并组件140完成,掩码存储组件150适用于存储与由像素能量组件130和/或合并区域组件140在掩码120中完成的前景和背景的分割有关的信息。因此,掩码120指出,文档图像110的每个像素属于前景和/或背景。
在一个例子中,为了使计算的开销最小,能由像素能量组件130计算对小区域(如4个像素乘以4个像素)的能量。若能量小于第二阈值能量,几乎所有的像素能指定到前景或背景,另一个基本为空。若能量大于或等于第二阈值能量,分割能如前那样进行。对相对清楚的文档图像(如具有恒定颜色区域)在计算速度上得到很大的增加。
在另外的例子中,为了使掩码的大小最小,若最终区域(如不超过第一阈值就不能合并的区域)具有在平均的前景和平均的背景之间高于第三阈值的差,根据该区域的全部平均值是否大于或小于中间灰度值(若灰度值在0到255之间,为127),整个区域被表明为前景或表明为背景。对具有些微混色的彩色文档,没有此优化对这些区域的掩码就看来象盐和胡椒粉,并有很高的压缩花费。选择第三阈值使得不丢失重要的文本,并仍能去除在扫描打印的文档中见到的许多些微混色的情况(如许多打印机只有4到6种颜色并必须使用混色以产生完全调色的色板)。例如对第三阈值40是好的选择。
在前景和背景通常每个是恒定的假设下已描述了掩码分离器组件100。但是,按本发明的一个方面,像素能量组件130能使用多项式回归分析来描述前景和/或背景。例如,若前景和/或背景的多项式是等式αx+βy+μ的平面,则能量由下式确定: 其中x,y指向像素位置,而αF,βF和μF是使vF最小的标量,αB,βB和μB是使vB最小的标量。注意,使用量∑f(x,y)2,∑f(x,y)x,∑f(x,y)y和∑f(x,y)在恒定的时间内能解出αF,βF和μF,它是三个未知数和三个等式的线性系统。类似地,αB,βB和μB能以类似的方式解出。如以前相对于恒定的前景和/或背景所述,对于根据能量最小化将区域分割成前景和背景的小区域,像素能量组件130进行计算像素能量。然后,至少部分地根据在每个企图合并区域的能量(E)的最小化,小的区域试图由合并区域组件140连续合并。但是,前景及背景不能由平均值排序,因而必须测试所有七种组合,以找到哪种组合使E最小。为便于合并,量∑f(x,y)2,∑f(x,y)x,∑f(x,y)y和∑f(x,y)和N能对前景和背景的每个区域存储。
再次为了使计算开销最小,对每个小区域(如4个像素乘4个像素)的能量由像素能量组件130计算。然而,像素能量组件130能根据在整个区域的常数和/或使用多项回归分析来使用模型。
另外和/或另选方案中,像素能量组件110能使用平面回归分析计算能量。前景的能量vF和背景的能量vB能如下确定: 其中F是前景,B是背景。f(x,y)是在位置x,y处像素的值。而且,选择AF,BF,CF使前景的能量vF最小,而选择AB,BB,CB使背景的能量vB最小。例如,通过解下列方程组(3个未知数,3个方程)能获得前景的能量vF的最小化: 例如其中: 能用类似的计算对背景的能量vB求解。
虽然图1是示出掩码分离器组件100的示意图,但可以见到,掩码分离器组件100能作为一个或多个组件实现,如这里所定义的项。因此,可以看到,按本发明可操作来实现掩码分离器组件100的计算机可执行组件能存在计算机可读介质,包括ASIC(专用集成电路),CD(光盘),DVD(数字视频盘),ROM(只读存储器),软盘,硬盘,EEPROM(电可擦除可编程只读存储器)和存储条,但不限于这些。
考虑所示及上述的示例性系统,按本发明实现的方法将参考图8和图9的流程图更好地理解。虽然为解释简单起见,用一系列框示出该方法,可以理解及认识到,本发明不受框的次序的限制,因为按本发明,某些框能以与这里示出及描述的不同的次序和/或与其他框同时发生。此外,为实现按本发明的方法,不是所有示出的框都是需要的。
本发明能以由一个或多个组件执行的程序模块那样的计算机可执行指令的一般环境来描述。通常,程序模块包括例程,程序,对象,数据结构等,它们完成特定的任务或实现特定的抽象数据类型。通常在各个实施例中程序模块的功能可如希望地组合或分配。
转向图8和9,示出按本发明的一个方面产生掩码的方法800。在810对文档图像的一个区域计算像素能量(如方差)。例如,计算的像素能量可以是至少部分地根据该区域的多项式回归分析的方差。另外,计算的像素能量方差能利用在对区域中基本上所有像素的平方距离之和中采用的对前景的计算的平均像素值以及对背景的计算的平均像素值来计算。另外,能利用对背景的像素值和以及对前景的像素值的计算之和计算所计算的像素能量方差。
接着,在820对区域计算像素分割,以便使前景和/或背景的像素能量最小。在830,作出有关是否文档图像的几乎所有区域已被分割的判断。若在830判断为否处理在810处继续,若判断为是,处理在840处继续。
接着,在840试图合并相邻的区域对。在850作出有关试图作出的合并是否导致在新的前景和/或新的背景中超过阈值能量的判断。若在850判断为是,处理在860处继续。若在850判断为否,在870区域被合并。在880,计算合并区域的新的前景和背景分割。在885,作出有关文档图像的几乎所有区域是否已试图合并的判断。若在885判断为是,不作进一步处理。若在885判断为否,处理在840处继续。
在860,作出有关文档图像的几乎所有区域是否已试图合并的判断。若在860的判断为否,在890试图合并的着眼点移到下一个未合并的区域(如2个像素乘2个像素的区域)。若在860的判断为是,不作进一步的处理。
接着参考图10,示出用于按本发明的一个方面的文档图像分离的系统1000。系统1000包括掩码分离器组件100和前景/背景分段器160,掩码分离器组件100包括像素能量组件130,区域合并组件140和掩码存储组件150。
如上所述,按本发明的一个方面,掩码分离器组件100接收文档图像110作为输入。掩码分离器组件100处理文档图像以便产生掩码120作为输出。
前景/背景分段器160接收掩码120和文档图像110作为输入。至少部分地根据掩码120,前景/背景分段器160适应于将文档图像110分离成前景图像170和背景图像180。例如,基本上在掩码120中用“1”表示的所有像素进入到前景图像170,而基本上在掩码120中用“0”表示的所有像素进入到背景图像180,作为例子,反过来,基本上在掩码120中用“0”表示的所有像素进入到前景图像170,而基本上在掩码120中用“1”表示的所有像素进入到背景图像180。
例如,掩码分离器组件100通过将像素(如与文本有关)分离到前景并将有关像素在前景的信息存入掩码120,就能处理包含文本的文档图像110。然后,前景/背景分段器160能接收掩码120和文档图像110。前景/背景分段器160能将文档图像110分离到前景图像170和背景图像180。
转到图11,示出按本发明的一个方面用于文档图像压缩的系统1100。系统1100包括文档图像转换组件1110,掩码分离组件100和前景/背景分段器组件160。前景/背景分段器160接收掩码120和文档图像1150作为输入。至少部分地根据掩码120,前景/背景分段器160适应于将文档图像1150分离为前景图像170和背景图像180。
如图12所示,系统1110能可选地包括掩码编码器1120,前景编码器1130和/或背景编码器1140。掩码分离组件包括像素能量组件130,区域合并组件140和掩码存储组件150。系统110可选地能包括前景图像处理器1170和/或背景图像处理器1180。
文档图像转换组件1110适应于接收文档图像1150并输出经转换的文档图像的表示1160。例如,文档图像转换组件1110能接收RGB文档图像并输出RGB文档图像的YUV表示。
掩码编码器适应于编码掩码120。例如,因为掩码120通常是二进制,掩码编码器1120能利用传统的二进制压缩技术以达到掩码的有效压缩。掩码编码器1120输出掩码的比特流。
前景编码器1130适应于编码前景图像170。前景是包括前景像素和“不管”的像素(如起始属于背景的像素)的图像。前景图像处理器1170能用于借助便于压缩的值填充“不管”的像素,并将更改的前景图像提供给前景编码器1130。例如在前景图像170通常包括黑色的文本信息的情况,“不管”的像素也用黑色填充,使得整个前景图像是黑的。前景编码器1130能利用对图像压缩有效的压缩技术,如JPEG,小波,或任何其他图像压缩算法,前景编码器1130输出前景比特流。
背景编码器1140适应于编码背景图像180。背景是包括背景像素和“不管”的像素(如起始属于前景的像素)的图像。背景图像处理器1180能用于借助便于压缩的值填充“不管”的像素,并将更改的背景图像提供给背景编码器1140。例如在背景图像180包括平滑的白页面的情况,位于文本所处的“不管”像素被用白色填充,使得整个背景图像是白色。背景编码器1140能利用对图像压缩有效的压缩技术,如JPEG,小波,或任何其他图像压缩算法。背景编码器1140输出背景比特流。
例如,用于填充“不管”像素的简单算法是用低通滤波器处理图像,并随后复原重要的像素。此两个步骤数次迭代之后“不管”像素用允许平滑过渡的值终止,且它将压缩很好。此算法的简单的改进是用很低的低通滤波器开始,并在每次迭代增加低通滤波器的截止频率。
此外,前景编码器1130和/或背景编码器1140能使用掩码120来改善前景和/或背景的压缩。可以看到,设想有许多使用至少部分根据文档图像的分割的掩码的编码器和/或解码器,而分割至少部分地根据与本发明有关的前景和背景中的至少一个的像素能量方差的最小化。任何适合结合本发明使用的那样的编码器和/或解码器希望落入所附的权利要求书的范围内。
掩码比特流,前景比特流和/或背景比特流能组合成单个比特流和/或单独地送到如解码系统(未示出)。解码系统能解码掩码比特流以获得掩码120。另外,解码系统能接收掩码120。解码系统利用掩码120来重新组合前景比特流和/或背景比特流成文档图像。
可以理解,本发明的系统和/或方法能用于所有分段分层的图像系统以便于识别和/或压缩文本,手写体,图形等。此外,本领域技术人员认识到,本发明的系统和/或方法能在大量文档图像应用中使用,包括照相制版机,文档扫描器,光字符识别系统,PDA,传真机,数码相机,数码视频摄像机和/或视频游戏系统,但不限于这些。
转到图13,示出分段分层的图像系统1300。系统1300包括像素能量组件130和掩码存储组件150。
像素能量组件130适应于对文档图像的一个区域计算像素能量方差。此外,像素能量组件130还适应于至少部分地根据前景和背景的至少一个的像素能量的最小化计算区域的分割。
掩码存储组件150适应于存储有关掩码中分割的信息。例如,系统1300能在大量文档图像应用中使用,包括照相制版机,文档扫描器,光学字符识别系统,PDA,传真机,数码相机,数码视频摄像机和/或视频游戏系统,但不限于这些。
为了对本发明的各种方面提供附加的环境,图14和随后的讨论试图提供一个可能适用的计算环境1410的简单而一般的描述,在其中可实现本发明的各个方面。可以理解,计算环境1410仅是一个可能的计算环境,不试图把本发明能使用的计算环境局限于此。虽然在上面以能在一台或多台计算机上运行的计算机可执行指令的情况描述了本发明,可以认识到,本发明也能在与其他程序模块中和/或作为软硬件的组合来实现。通常,程序模块包括例程,程序,组件,数据结构等,它们完成特定的任务或实现特定的抽象数据类型。此外,人们能理解,本发明的方法能用其他计算机系统配置实施,包括单处理器或多处理器计算机系统,小型计算机,大型计算机和个人计算机,手提计算设备,基于微处理器的或可编程的消费者电子设备等,每一个在操作上能耦合一个或多个有关设备。本发明示出的方面也能在分布式计算环境中实施,其中某些任务能由经过通信网络连接的远程处理设备完成。在分布式计算环境中,程序模型能放置在本地和远程的存储设备中。
图14示出支持这里描述的系统和方法的一种可能的硬件配置。可以理解,虽然示出独立的架构,按本发明能使用任何适合的计算环境。例如,按本发明能使用包括独立的,多处理器的,分布式的,客户/服务器的,小型计算机,主机,超级计算机,数字和模拟的计算结构,但不限于这些。
参考图14,用于实现本发明的各种方面的示例性环境1410包括计算机1412,它包括处理单元1414,系统存储器1416,和耦合包括系统存储器的各种系统组件到处理单元1414的系统总线1418。处理单元1414可以是商业上可用的各种处理器的任一种。双微处理器和多微处理器架构也能用作处理单元1414。
系统总线1418能是若干种总线结构的任一种,包括存储总线或存储控制器,外围总线,和使用商业上可用的各种总线架构中任一种的本地总线。计算机存储器1416包括只读存储器(ROM)1420和随机存取存储器(RAM)1422。包含帮助在计算机1412中各单元之间如在起动时传输信息的基本例程的基本输入/输出系统(BIOS)存储在ROM 1420中。
计算机1412还能包括硬盘驱动器1424,磁盘驱动器1426,如从可卸磁盘1428中读写,和光盘驱动器1430,如用于读取CD-ROM盘1432或到其他光介质的读写。硬盘驱动器1424,磁盘驱动器1426,和光盘驱动器1430分别通过硬盘驱动器接口1434,磁盘驱动器接口1436,和光盘驱动器接口1438连接到系统总线1418。计算机1412通常包括至少某些形式的计算机可读介质。计算机可读介质可以是任何能由计算机1412存取的可用的介质。作为例子,计算机可读介质包括计算机存储介质和通信介质,但不限于此。计算机存储介质包括易失性和非易失性,可卸和不可卸的介质,它们以任何方法或技术实现如计算机可读指令,数据结构,程序模块或其他数据那样信息的存储。计算机存储介质包括RAM,ROM,EEPROM,闪存或其他存储技术,CD-ROM,数字通用盘(DVD)或其他磁存储设备,或任何其他能用于存储所希望的信息并能由计算机1412存取的介质。通信介质通常以如载波或其他传输机制约调制数字信号的形式包含在计算机可读指令,数据结构,程序模块或其他数据中,并包括任何信息传送介质。术语“调制数据信号”意味着具有一个或多个特征组成或以将信息编码成信号的方式改变的信号。例如,通信介质包括如有线网络或直接连线连接那样的有线介质,和如声波,RF,红外线和其他无线介质那样的无线介质,但不仅限于此。上述介质的任何组合也将包括在计算机可读介质范围的。
一系列程序模块可存储在驱动器和RAM 1422中,包括操作系统1440,一个或多个应用程序1442,其他程序模块1444,和程序非中断数据1446。在计算机1412中的操作系统1440是商业上可用的一系列操作系统的任一种。
用户能通过键盘1448和如鼠标1450那样的定点设备将命令和信息输入计算机1412。其他输入设备(未示出)可包括话筒,IR遥控,操纵杆,游戏垫,碟式卫星,扫描器等。这些和其他输入设备常常通过耦合到系统总线1418的串口接口1452连接到处理单元1414,但也能通过其他接口连接,如并行口,游戏口,通用串行总线(“USB”),IR接口等。监视器1454或其他类型的显示设备也能通过如视频适配器1456那样的接口连接到系统总线1418。除了监视器,计算机通常包括其他外围设备(未示出),如扬声器,打印机等。
计算机1412能使用逻辑和/或物理连接到如远程计算机1458那样的一个或多个远程计算机在网络环境内运行。远程计算机1458可以是工作站,服务器计算机,路由器,个人计算机,基于微处理器的娱乐装置,对等设备或其他公共网络节点,并通常包括对于计算机1412描述的许多或所有单元,虽然为简单起见,只示出存储器存储设备1460。描述的逻辑连接包括局域网(LAN)1462和广域网(WAN)1464。那样的网络环境在办公室,企业范围的计算机网络,企业内部网和因特网中是普通的。
当在LAN网络环境中使用时,计算机1412通过网络接口或适配器1466连接到本地网络1462。当在WAN网络环境中使用时,计算机1412通常包括调制解调器1468,或连接到LAN上的通信服务器,或具有其他装置建立经过如因特网那样的WAN 1464的通信。可以是内部或外部的调制解调器1468经串口接口1452连接到系统总线1418。在网络环境中,相对于计算机1412或其部分描述的程序模块能存储在远程存储设备1460。应该看到,示出的网络连接是示例性的,可以使用建立计算机之间的链路的其他装置。
图15是本发明能与之配合的计算环境例子1500的示意框图。系统1500包括一个或多个客户机1510。客户机1510能是硬件和/或软件(如线程,进程,计算设备)。系统1500还包括一个或多个服务器1530。服务器1530也能是硬件和/或软件(如线程,进程,计算设备)。例如,服务器1530能装有线程以完成使用本发明的转换。在客户机1510和服务器1530之间的可能的通信能以适应于在两个或多个计算机进程之间发送的数据包形式进行。系统1500包括通信体系1550,它能用于便于在客户机1510和服务器1530之间的通信。客户机1510在操作上连接到一个或多个客户机数据存储1560它能用于存储客户机1510本地的信息。类似地,服务器1530操作上连接到一个或多个服务器数据存储1540,它能用于存储服务器1530本地的信息。
以上已经描述的包括本发明的例子。当然不可能为了描述本发明的目的描述组件或方法每种可想象的组合,但是本领域技术人员认识到,本发明的许多进一步组合及更改是可能的。因而本发明试图包含所有落在所附的权利要求书的精神和范围内的更改,修改及变化。此外,在术语“包括”在详细描述及权利要求书中使用的意义上,那样的术语试图以类似于术语“包含”的方式成为范围广泛的术语,因为“包含”在权利要求书中用作过渡的词。