彩色图像压缩方法和装置的制作方法

文档序号:7594939阅读:128来源:国知局
专利名称:彩色图像压缩方法和装置的制作方法
技术领域
本发明涉及用于对通过扫描仪等读取的彩色图像进行压缩的彩色图像压缩方法及其装置。
背景技术
传统地,JPEG(联合图像编码专家组joint photographic codingexperts group)编码是公知的图像压缩方法。JPEG编码把图像分割成多个块,进行离散余弦变换(DCT),并把所获得的值进行量化/编码。
JPEG编码适合于压缩诸如图片等的图像。然而,由于通过对图像信息的RF成分进行粗量化来压缩图像信息,所以在亮度和色彩方面具有很大变化的文字边缘等变得不清晰,这是一个问题。
为了解决该问题,专利文献1揭示了一种技术,该技术通过抽取彩色图像的黑色边缘,对黑色边缘的位置进行编码,将其连同通过JPEG方法进行了编码的彩色图像一起发送,并基于在接收端解码的黑色边缘信息对黑色边缘的像素进行补偿,来发送/接收在再现黑色边缘方面优越的图像。
专利文献2揭示了区域确定单元,用于把图像分为文字区域数据和图片区域数据,并抽取这两种数据;图片图像编码单元,用于对图片区域数据进行编码;以及单色图像编码单元,用于对数字化文字区域数据进行编码。
如果通过扫描仪读取包括文字等的原稿,则文字区域的轮廓采用中间色,并且不存在清晰的边缘。因此,不能进行明确的区域确定,这是另一问题。为了解决该问题,专利文献3揭示了一种轮廓校正单元,该轮廓校正单元根据被识别为中间色的像素的相邻像素之间的色差来对该像素进行补偿。
然而,由于在专利文献1的方法中,表示黑色边缘的位置的数据必须与彩色图像数据分开发送,因而难以提高数据压缩率。
在专利文献2的压缩方法中,尽管对图片区域和文字区域进行了区分,然而该区分取决于以下事实,即在文字区域的边缘,具有高密度级的像素和具有低密度级的像素彼此相邻。
在专利文献3的方法中,仅通过使用色差最小的相邻像素的值来替代一区域的轮廓中具有中间色的像素的值来提高区域确定精度。
所有上述传统压缩方法通过减少由扫描仪等读取后的图像数据的冗余来实现压缩,并且不能通过抽取原稿的格线、文字等特征,来减少在扫描仪等读取原稿时产生的冗余。因此,包括格线、文字等的彩色图像不能以高压缩率来压缩,并且还不能清晰地显示文字等的轮廓。
专利文献1日本专利申请第8-279913号公报专利文献2日本专利申请第8-298589号公报专利文献3日本专利申请第2001-61062号公报专利文献4日本专利申请第8-16793号公报发明内容本发明的目的是提高彩色图像的压缩率,以使文字等的轮廓保持清晰,并在显示平面区域时,保持该平面区域的特性。
本发明的彩色图像压缩方法对由光学传感器读取的彩色图像进行压缩。该方法包括以下步骤对彩色图像中的各个像素的色调值的出现次数进行计数,生成色调直方图,并把该色调直方图存储在存储单元内;根据该色调直方图减少整个彩色图像的色调值的数量,把数量减少的色调值分配给各个像素,并根据新分配的色调值把整个彩色图像的像素分类为多个簇;以及确定各个簇的特性,并通过适合于簇的特性的编码方法对各个簇中的像素进行编码。
根据本发明,通过将数量比所读取的彩色图像的色调值数量少的色调值分配给各个像素,并根据该色调值将整个彩色图像的像素分类为多个簇,可减少确定其特性所需的簇的数量。通过使用适合于各个文字确定簇的特性的编码方法对像素进行编码,可以提高其压缩率,并可以获得文字和格线的轮廓清晰的压缩图像。
本发明的另一彩色图像压缩方法也用于对由光学传感器读取的彩色图像进行压缩。该方法包括以下步骤将彩色图像分割成多个区域,并根据各个区域中的像素的色值分布量和色调分布量来确定各个区域的特性;对彩色图像中的各个像素的色调值的出现次数进行计数,生成色调直方图,并把该色调直方图存储在存储单元内;根据色调直方图来减少整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值将整个彩色图像的像素分类为多个簇;以及确定各个簇的特性,并通过适合于簇的特性的编码方法对各个簇的像素进行编码。
根据本发明,可以根据各个区域中的像素的色值分布量和色调分布量来确定各个区域的特性。例如,可以确定各个区域是图片区域、格线/文字区域、背景区域等。并且,通过将数量比所读取的彩色图像的色调值数量少的色调值分配给各个像素,并根据该色调值,将整个彩色图像的像素分类为多个簇,可以减少确定其特性所需的簇的数量。通过使用适合于各个文字确定簇的特性的编码方法对像素进行编码,可以提高其压缩率,并且可以获得文字和格线区域的轮廓清晰的压缩图像。
在上述彩色图像压缩方法中,根据簇的轮廓特征来确定相关簇是属于格线区域还是文字区域,并通过适合于其各个区域的特性的编码方法对被确定为属于格线区域的簇以及被确定为属于文字区域的簇进行编码。
通过该构成,可以根据簇的轮廓特征确定相关簇是属于格线区域还是文字区域,并可以通过适合于该区域的特性的编码方法来压缩彩色图像。这样,可以获得文字和格线的轮廓清晰的压缩彩色图像。
在上述彩色图像压缩方法中,将彩色图像分割成多个区域,计算各个区域的色值分布量和色调分布量,根据色值分布量和色调分布量确定各个区域是图片区域、格线/文字区域还是背景区域,并通过抽取簇的轮廓特征来确定该簇是属于文字区域还是格线区域。
通过该构成,可以准确确定各个簇是属于图片区域、格线/文字区域还是背景区域。并且,通过抽取簇的轮廓特征,可以确定该簇是属于文字区域还是格线区域。例如,可以通过跟踪轮廓并对跟踪方向的变化的变化点的数量进行检测来抽取轮廓。这样,可以提高数据压缩率,并可以获得文字和格线的轮廓清晰的压缩图像。
在上述彩色图像压缩方法中,根据基于色值分布量和色调分布量确定的区域来确定各个簇是属于文字区域还是格线区域,并根据簇的轮廓特征来确定该区域是文字区域还是格线区域,并通过适合于其各个区域的编码方法对文字区域中的簇和格线区域中的簇进行编码。
通过该构成,根据色值分布量和色调分布量,可以区分文字/格线区域与其他区域,并且根据簇的轮廓特征,可以区分文字区域和格线区域。这样,由于可以通过适合于其各个区域的编码方法对文字区域和格线区域进行编码,所以可以提高数据压缩率,并可以获得文字和格线的轮廓清晰的压缩彩色图像。
本发明的彩色图像压缩装置对由光学传感器读取的彩色图像进行压缩。该装置包括色调直方图生成单元,用于对彩色图像中的各个像素的色调值的出现次数进行计数,并生成色调直方图;簇分类单元,用于根据色调直方图,减少整个彩色图像的色调值的数量,把数量减少的色调值分配给各个像素,并根据新分配的色调值,把整个彩色图像的像素分类为多个簇;以及编码单元,用于确定各个簇的特性,并通过适合于簇的特性的编码方法对各个簇的像素进行编码。
根据本发明,通过把数量比从原稿等读取的彩色图像的色调值数量少的色调值分配给各个像素,并根据该色调值,把整个彩色图像的像素分类为多个簇,可以减少确定其各自特性所需的簇的数量。通过确定各个簇的特性,并通过适合于各个簇的特性的编码方法对各个簇进行编码,可以提高压缩率,并且可以获得文字和格线的轮廓清晰的压缩彩色图像。


图1表示彩色图像压缩装置的构成;图2是表示彩色图像压缩处理的基本流程图;图3是表示区域确定处理的流程图;图4表示区域确定表;图5是表示色调直方图生成处理的流程图;图6表示彩色和单色之间的边界;图7A和图7B分别表示彩色确定表和单色确定表;图8表示如何生成色调直方图;图9表示合并确定表;图10是表示色调簇分类处理的流程图;图11是表示簇合并处理的流程图;图12A和图12B表示如何合并簇;图13是表示图片区域编码处理的流程图;图14是表示格线/文字区域编码处理的流程图;图15是表示分层信息附加处理的流程图;图16表示如何生成分层信息;图17是表示背景/平面区域编码处理的流程图;图18A和图18B表示压缩图像;以及图19表示数据处理装置的构成。
具体实施例方式
以下参照附图对本发明的优选实施例进行说明。图1表示根据本发明的彩色图像压缩装置的构成。
在以下说明中,假定由诸如扫描仪等的光学传感器读取4~6色印刷原稿,并且对所读取的彩色图像进行压缩。也可以是由照相机等拍摄或读取的彩色图像。
如果扫描仪读取4~6色印刷图像,则由于墨水的浓淡和R、G、B光学传感器的各自位置不一致,所以从所读取的彩色图像生成比原稿数量大得多的R、G和B色彩数据。通常,从扫描仪输出数万种颜色的彩色图像。
在图1中,色值分布量计算单元12把所输入的彩色图像分割成预定数量的区域,并计算各个区域的像素的R、G和B颜色的相应色值分布量。色调分布量计算单元13把各个区域的R、G和B数据转换成由色调值H、饱和度S和亮度L组成的HSL数据,并计算各个区域的色调分布量。
区域确定单元14根据色值分布量和色调分布量确定各个区域是图片区域、格线/文字区域还是背景/平面区域。
色调直方图生成单元15对各个区域和整个区域的像素的各个色调的出现次数进行计数,并生成彩色和单色色调直方图。将色调直方图的生成应用于图片区域的像素以外的像素。
色调值簇分类/合并单元16根据所生成的色调直方图,减少彩色图像的各个像素的色调值的数量,把数量减少的色调值分配给各个像素,并把具有相同色调值的像素分类成一个簇。并且,单元16将色调值低于预定值的相邻簇进行合并。单元16确定相关簇的大小是否超过基准值,并把大小超过基准值的簇所属的区域确定为格线区域。单元16跟踪大小低于基准值的簇的轮廓,抽取变化点,并把具有许多变化点的簇确定为属于文字区域。
编码单元17包括图片区域编码单元18、文字区域编码单元19、格线区域编码单元20以及背景/平面区域编码单元21。编码单元17根据由区域确定单元14确定的区域以及簇是属于格线区域还是文字区域,来确定相关簇的特性,并通过适合于簇特性的编码方法对相关区域的像素进行编码。
图片区域编码单元18将图片区域中的各个簇的像素编码成JPEG编码。文字区域编码单元19将文字区域中的各个簇的像素编码成霍夫曼编码。格线区域编码单元20将格线区域中的各个簇的像素编码成链式编码(chain code)。背景/平面区域编码单元21将背景/平面区域中的各个簇的像素编码成链式编码和JPEG编码。将通过编码单元17编码的图像数据存储在存储单元22内。
接下来,参照以下流程图对彩色图像压缩装置11的图像数据压缩处理进行说明。这些处理由彩色图像压缩装置11的CPU等执行。
图2是表示彩色图像压缩处理的基本流程图。
首先,在图2所示的步骤S11的区域确定处理中,把所输入的彩色图像分割成预定数量的区域,例如64×64像素区域,对各个区域计算色值分布量和色调分布量,并根据色值分布量和色调分布量,确定各个区域是图片区域、格线/文字区域还是背景/平面区域。
然后,在图2所示的步骤S12的色调直方图生成处理中,对各个256×256像素区域生成彩色色调直方图和单色色调直方图。
然后,在图2所示的步骤S13的色调簇分类处理中,把限制为规定数量(例如,56色的彩色和8色的单色)的色调值分配给整个彩色图像的各个像素,并对各个色调值把具有相同色调值的像素分类成一个簇。
然后,在图2所示的步骤S14的簇合并处理中,根据轮廓形状,确定各个簇是属于文字区域还是格线区域,并把其格线区域相邻并且相邻簇之间的色调差小的簇进行合并。
然后,在图2所示的步骤S15的编码处理中,为各个组成部分(图片区域、格线/文字区域以及背景/平面区域)对各个簇进行编码。
图3是表示图2所示的步骤S11中的区域确定处理的流程图。
首先,计算64×64像素区域的8×8像素块的各个像素的多段R、G和B数据的相应平均值,并根据各个像素的R、G和B数据与8×8像素区域的多段R、G和B数据的相应平均值的差异,计算8×8像素区域的色值分布量(图3中的步骤S21)。
根据以下公式(1)计算整个8×8像素区域的色值分布量。
Drgb=Σn=164((Rn-Ra)2,(Gn-Ga)2,(Bn-Ba)2)---(1)]]>在上述公式(1)中,Ra、Ga和Ba分别是8×8像素区域中的各个像素的多段相应R、G和B灰度(gradation)数据的平均值,而Rn、Gn和Bn分别是区域中的任意像素的R、G和B灰度数据,Drgb是整个8×8像素区域的R、G和B灰度数据的分布量。
通过计算各个像素的R、G和B灰度数据Rn、Gn和Bn与各段灰度数据的平均值Ra、Ga和Ba之间的方差的相应总和,可以计算整个8×8像素区域的R、G和B灰度数据的分布量。
然后,将8×8像素区域中的各个像素的R、G和B数据变换成HSL数据,并计算色调H的青色(C)、品红色(M)和黄色(Y)中的每一个的色调分布量(图3中步骤S22)。HSL转换是指将色彩数据转换成表示色调H、饱和度S和亮度L的数据。根据以下公式(2)计算整个8×8像素区域的色调分布量。
Dc=Σn=164(Hn-Hc)2]]>Dm=Σn=164(Hn-Hm)2---(2)]]>Dy=Σn=164(Hn-Hy)2]]>Dh=Dc+Dm+Dy在上述公式(2)中,Hc、Hm和Hy分别表示8×8像素区域中青色(C)、紫色(M)和黄色(Y)中的每一个的平均色调值,Hn表示区域中任意像素的色调值。Dc、Dm和Dy分别表示青色(C)、品红色(M)和黄色(Y)区域中的每一个的色调分布量,Dh表示它们的总和值,即8×8像素区域中的色调H的分布量。
可以根据上述公式,通过计算8×8像素区域的各个像素的色调H的值与青色、品红色和黄色区域中的每一个的平均色调值Hc、Hm和Hy的方差的总和,来计算C、M和Y颜色空间中的每一个的色调分布量Dc、Dm和Dy。并且,通过对这些色调分布量Dc、Dm和Dy求和,可以计算整个8×8像素区域的色调分布量Dh。
然后,通过对在上述处理中计算的64×64像素区域中的各个8×8像素区域的色值分布量和色调分布量求和,计算64×64像素区域的色值分布量和色调分布量。然后,通过将色值分布量和色调分布量分别与第一基准值A(例如,4,096)和第二基准值B(例如,153,600)进行比较,确定相关区域是图片区域、格线/文字区域还是背景/平面区域(图3中的步骤S23)。
图4表示用于步骤S23中的上述区域确定处理的区域确定表31。
根据区域确定表31,如果区域的色值分布量Drgb大于第一基准值A,并且色调分布量Dh大于第二基准值B,则确定该区域为图片区域。
如果色值分布量Drgb大于第一基准值A,并且色调分布量Dh小于第二基准值B,则确定该区域为格线/文字区域。
如果色值分布量Drgb小于第一基准值A,并且色调分布量Dh小于第二基准值B,则确定该区域为背景/平面区域。
图5是表示图2所示的步骤S11中的色调直方图生成处理的流程图。将色调直方图生成处理应用于图片区域以外的区域中的各个像素。把在以下处理中生成的色调直方图、峰值列表等存储在存储单元22的存储器内。
把256×256像素区域中的各个像素的R、G和B数据转换成HSL数据(图5中的步骤S31)。HSL转换是指把色彩数据转换成表示色调H、饱和度S和亮度L的数据。
然后,确定相关像素是否是彩色的,对各个彩色色调H的出现次数进行计数并生成色调直方图1(彩色色调直方图)(图5中的步骤S32)。
在此,对确定相关像素是否为彩色的方法进行说明。图6表示分别采用饱和度S和亮度L用于纵轴和横轴的红色的饱和度S和亮度L之间的关系。
在图6中,纵轴的饱和度S越大,色彩变得越明亮。亮度L越大,色彩变得越淡。二次曲线f1和f2分别表示视觉彩色边界和视觉单色边界,并且位于二次曲线f1和f2之间的像素采用不能单独确定为彩色或单色的不确定色。
二次曲线f1和f2可以表示如下。
f1=(1/400)(255-LUM)2+10f2=(1/2)(1/4000)(255-LUM)2+10如果确定像素的饱和度S和亮度L(LUM),则可以根据上述公式“f1=(1/400)(255-LUM)2+10”计算饱和度S的下限值(低于该下限值,相关像素在各种亮度下变为彩色)。因此,根据饱和度S是否超过该下限值,可以确定该像素是否为彩色。可以根据上述公式“f2=(1/2)(1/4000)(255-LUM)2+10”计算饱和度S的上限值(高于该上限值,相关像素在各种亮度下变为单色)。因此,根据饱和度S是否低于上限值,可以确定该像素是否为单色。
在本优选实施例中,预先计算各种亮度LUM的表示二次曲线f1上的彩色的下限的值和表示二次曲线f2上的单色的上限的值,并生成分别在图7A和图7B中所示的彩色确定表32和单色确定表33。
分别在图7A和图7B中所示的彩色确定表32和单色确定表33是使用通过将亮度LUM代入上述公式f1和f2而获得的饱和度S来生成的。
确定表32和33中的每一个的最左边的纵轴侧上的数值表示0~15的亮度,最上面的横轴上的数值“+0”、“+16”、“+32”等表示要与纵轴的0~15的亮度相加的亮度“0”、“16”、“32”等。确定表32和33中的纵轴和横轴交叉的各个点分别表示与相关亮度对应的彩色饱和度S的f1的下限值和单色饱和度S的f2的上限值。
例如,如果相关像素的亮度是“0”,则从彩色确定表32可知,该点在二次曲线f1上的值是“26”。因此,如果像素的饱和度S是“26”或更大,则可确定该像素为彩色像素。此外从单色确定表33可知,该点在二次曲线f2上的值是“13”。因此,如果像素的饱和度S是“13”或更小,则可确定该像素为单色像素。
通过使用上述彩色确定表32和单色确定表33,确定相关像素是彩色的、单色的还是不确定的。将确定表32和33预先存储在存储单元22内。当需要时,CPU读取它们并将它们存储在存储器内。
回到图5,根据像素的亮度L和饱和度S确定相关像素是否为单色。如果像素的饱和度S等于或小于f2的值并确定像素为单色,则对各个像素的亮度L的出现次数进行计数,并生成256×256像素的色调直方图2(单色色调直方图)(图5中的步骤S33)。
然后,对256×256像素的彩色色调直方图1的峰值进行检测,并参照合并确定表对所有色调H的相应峰值进行合并(图5的步骤S34)。
在此,参照图8对色调直方图进行说明。图8(a)表示通过扫描仪读取印刷原稿而获得的图像的一部分,在该原稿中在具有以特定格式预先印刷的输入字段的帐单(slip)中输入各个贸易商名称。
在图8(a)中,印刷在帐单上的文字和格线以及稍后输入到帐单上的贸易商名称等分别是用红色和蓝色来印刷。图8(b)表示稍后输入并用蓝色印刷的贸易商名称。图8(c)表示在帐单中预先以红色印刷的文字和格线。剩余部分被表示为图8(d)中的背景。
如果生成上述图像中的相同色调成分的色调直方图,则可以生成图8(e)所示的输入文字的蓝色像素的色调直方图,以及图8(c)所示的预先印刷的文字和格线的红色像素的色调直方图。图8(e)所示的直方图的横轴和纵轴分别表示色调值以及色调值和色值的出现次数。
如果通过扫描仪读取以多种颜色印刷的帐单等的原稿,则如图8(e)所示,由于印刷墨水浓度的不均匀而生成色调值略微彼此不同的多个像素数据,并在出现次数的峰值附近检测到多个峰值。因此,在本优选实施例中,将存在于相同色调的特定宽度中的峰值合并为一个峰值。然而,在本示例中,色调宽度(图8(e)所示的直方图的横轴)根据其色调而变化。因此,生成对于各个色调分别确定峰值组合的基准宽度的合并确定表,并参照该合并确定表将峰值进行合并。
图9表示合并确定表。横轴和纵轴分别表示色调值和在将峰值进行合并时成为基准的各个色调的色调值宽度。图9所示的虚线表示各个色调的色调值宽度,该色调值宽度成为各个色调的这种合并的基准。例如,在红色R的情况下,把色调值宽度小于20的峰值合并为一个峰值。在绿色G的情况下,把色调值宽度小于40的峰值合并为一个峰值。在蓝色B的情况下,把色调值宽度小于30的峰值合并为一个峰值。可以通过对这些颜色的色调值宽度进行内插处理来获得红色、绿色和蓝色之间的色调。
再回到图5,在步骤S34之后,通过从所有经合并的峰值中选择出现次数排在前16以内的16个峰值,来生成色调峰值列表1(彩色色调峰值列表)。而且通过从各个色调H的饱和度S的所有峰值中选择出现次数排在前4以内的4个峰值,来生成另一峰值列表(图5中的步骤S35)。将这些色调峰值列表统称为“色调峰值列表”。
然后,对单色色调直方图2的峰值进行检测,并类似地参照合并确定表进行合并。在合并之后,从所有检测到的峰值中选择出现次数排在前4以内的4个峰值,并生成单色色调峰值列表(图5中的步骤S36)。
然后,叠加整个输入图像的各个256×256像素区域的彩色峰值列表和单色峰值列表(“或”运算),并生成整个输入图像的典型色调值列表(图5中的步骤S37)。
通过叠加整个输入图像的所有256×256像素区域的色调峰值列表,可以生成表示在输入图像的所有区域出现次数较高的色调值的典型色调值列表。
图10是表示图2所示的步骤S13中的色调簇分类处理的流程图。
把整个输入图像的各个彩色像素的色调值和典型色调值列表的色调值进行比较,并把这些色调值之间差异最小的色调值设定为各个像素的色调值(图10中的步骤S41)。然后,从对各个像素设定的所有色调值中选择出现次数排在前56以内的最大的56种颜色,并生成彩色列表(图10中的步骤S42)。
把整个输入图像的各个单色像素的色调值和典型色调值列表的色调值进行比较,并把这些色调值之间差异最小的色调值设定为各个像素的色调值(图10中的步骤S43)。然后,从对各个像素设定的所有色调值中选择出现次数排在前8以内的最大的8种颜色的色调值,并生成单色列表(图10中的步骤S44)。
在彩色列表内设定整个输入图像的各个彩色像素的色调值(图10中的步骤S45)。具体地说,把各个像素的色调值和彩色列表的色调值进行比较,并把这些色调值之间差异最小的色调值设定成各个彩色像素的色调值。
然后,在单色列表内设定整个输入图像的各个单色像素的色调值,并把这些色调值之间差异最小的色调值设定为各个单色像素的色调值(图10中的步骤S46)。
然后,通过检查相邻的8个像素为彩色还是单色,将既不分配给彩色色调值也不分配给单色色调值的像素与彩色色调值或单色色调值(色调信息)相关联(图10中的步骤S47)。
这样,把整个输入图像的各个像素分配给最大的56种颜色的彩色色调值之一或者最大的8种颜色的单色色调值之一,并把具有相同色调值的像素分类为一个簇(图10中的步骤S48)。
图11是表示图2所示的步骤S14中的簇合并处理的流程图。
计算各个簇区域的最大外接矩形(图11中的步骤S51)。然后,确定最大外接矩形的高度和宽度是否超过规定值。如果高度和宽度超过规定值,则跟踪相关簇的轮廓(图11中的步骤S52)。如果高度和宽度超过规定值,则确定该区域为格线区域。
然后,跟踪所选区域的边界轮廓,将该轮廓编码成链式编码,并将编码数据连同簇的色调信息一起存储在存储单元22内(图11中的步骤S53)。
在图12A中,作为轮廓跟踪帐单的格线。如果扫描仪读取彩色印刷帐单,则通过上述色调簇分类处理,将格线分类为具有相同色调值的一个簇或者具有相近色调值的多个簇。如果确定相关簇为格线区域,则如图12A所示,跟踪格线的轮廓。
当通过色调值对簇进行分类时,如图12B所示,由于色调值不同,往往将某些格线区域分类为另一簇。
为了把相同格线的簇合并成一个簇,在图11的步骤S54中,计算其轮廓被跟踪的两个相邻簇的色调差。如果色调差低于预定值,则把这些簇进行合并。
具体地说,如果图12B所示的两个相邻簇H1和H2的色调差低于预定值,则把簇H2合并到簇H1内。这样,即使要分类成相同簇的某些格线由于在扫描仪读取时设定的色调值的差异而被分类成另一簇,也可以把它们进行合并,并且可以减少簇的总数。在合并后,不需要与簇的内部有关的轮廓信息,删除与链式编码格线有关的轮廓信息,而仅存储与外部边界有关的轮廓信息。
在通过色调进行的簇分类/合并完成之后,执行图2所示的步骤S15中的由各个组成部分进行的编码处理。
图13是表示在由各个组成部分进行的编码处理过程中的图片区域的编码处理的流程图。
在图2所示的步骤S11中的区域确定处理中,如果相关区域的色值分布量及其色调分布量分别超过第一基准值和第二基准值,并且确定该区域为图片区域(图13中的步骤S61),则计算图片区域及其周围簇之间的边界,计算该区域的外接矩形,并将外接矩形中的像素编码成JPEG编码(图13中的步骤S62)。
然后,附加表示图片区域、格线或文字区域等的各个组成部分的轮廓信息的叠加状态的分层信息(图13中的步骤S63)。
图14是表示格线/文字区域的编码处理的流程图。
在图2所示的步骤S11的区域确定处理中,如果属于相关簇的64×64像素区域的色值分布量超过第一基准值A,其色调分布量低于第二基准值B,并且确定该相关区域为格线/文字区域(图14中的步骤S71),则确定该簇是属于文字区域还是格线区域(图14中的步骤S72)。
根据簇的最大外接矩形的高度和宽度是否超过其各自的预定值来确定簇是属于文字区域还是格线区域。如果最大外接矩形的高度和宽度超过其各自的预定值,则确定该区域为格线区域。如果最大外接矩形的高度和宽度低于其各自的预定值,则跟踪其与另一簇的边界的轮廓,抽取轮廓形状的特征,并根据其轮廓图案是否复杂来确定该区域是否为文字区域。
根据所跟踪的轮廓方向变化的变化点的数量是否超过规定值来确定轮廓图案是否复杂。如果最大外接矩形的高度和宽度低于其各自的预定值,并且在跟踪轮廓时所跟踪的变化点的数量超过规定值,则确定该簇属于文字区域。如果变化点的数量低于规定值,则确定该簇属于格线区域。
如果确定相关簇的特性为文字区域的特性,则处理进行到步骤S73,例如通过霍夫曼编码对簇中的各个像素进行压缩。
如果确定相关簇的特性为格线区域的特性,则处理进行到图14所示的步骤S74,并对各个簇将格线区域的轮廓信息编码成链式编码。
在步骤S73或S74之后,对文字区域和格线区域的各个组成部分检查多段轮廓信息是否重叠。如果轮廓信息重叠,则附加表示重叠状态的信息作为分层信息(图14中的步骤S75)。
在此,参照图15所示的流程图,说明在应用于图16(1)所示的图像时的对附加表示各个组成部分的轮廓信息的重叠的分层信息的处理。
首先,从左上角开始扫描目标图像,并抽取背景区域a的轮廓信息(图15中的步骤S81)。通过该处理,抽取由图16(2)中的斜线标记表示的背景区域a的轮廓信息。
然后,扫描背景区域a的内部,并抽取格线区域b的轮廓信息。由于格线区域b存在于背景区域a的内部,所以把“1”设定为分层信息(图15中的步骤S82)。通过该处理,抽取由图16(3)的虚线表示的格线区域b的轮廓信息。
然后,扫描格线区域b的内部,并抽取平面区域c的轮廓信息。由于平面区域c存在于格线区域b的内部,所以把“2”设定为分层信息(图15中的步骤S83)。通过该处理,抽取由图16(4)的文字“文字信息”周围的斜线标记表示的平面区域c的轮廓信息。
然后,扫描平面区域c的内部,并抽取文字区域d的轮廓信息。此外,文字区域d存在于平面区域c的内部,把“3”设定为分层信息(图15中的步骤S84)。通过该处理,抽取由图16(5)中的斜线标记表示的文字区域d的轮廓信息。
然后,扫描文字区域d的内部。在本示例中,在该区域内不存在轮廓信息,扫描终止(图15中的步骤S85)。
通过上述处理,在对各个区域中的像素进行编码时,可以附加各个区域的分层信息。当重现数据时,可以通过参照各个区域的分层信息,以合适的顺序再现各个区域的压缩数据。
图17是表示背景/平面区域的编码处理的流程图。
在图2所示的步骤S11的区域确定处理中,如果属于相关簇的64×64像素区域的色值分布量低于基准值,并且确定该簇属于背景/平面区域(图17中的步骤S91),则跟踪各个簇与另一簇的边界的轮廓(图17中的步骤S92)。
然后,对于各个簇将轮廓信息编码成链式编码,并将相关簇的亮度信息V编码成JPEG编码(图17中的步骤S93)。
然后,检测背景/平面区域和另一组成部分之间的轮廓信息的重叠,并附加表示各个组成部分的分层位置的分层信息(图17中的步骤S94)。
图18A和图18B分别表示通过JPEG编码压缩的帐单的压缩图像,以及通过本优选实施例的图像压缩方法压缩的压缩图像。
通过图18A所示的传统JPEG编码压缩的图像在格线的轮廓、诸如“成本”、“订购”(以红色印刷)等的预印刷文字、由用户输入的文字“…チヨダ”、订购日期的数字“0211”(以蓝色印刷)等方面具有色差,并且文字的轮廓变得不清晰。
然而,通过本发明优选实施例的压缩方法压缩的图像在格线的轮廓、预印刷文字(“成本”、“订购”)以及用户输入的订购日期的数字“0211”方面几乎没有任何色差,并且其轮廓也清晰。
通过减少色调值的数量以接近原稿的色调进行绘制,并且例如分别通过霍夫曼编码和链式编码来压缩文字区域中的像素和格线区域中的像素,可以获得文字和格线的轮廓清晰的压缩图像。
根据上述优选实施例,通过生成彩色图像的各个像素的色调直方图,并根据色调直方图,减少色调值的数量,可以把像素分类成各与原稿的文字区域、格线区域等相对应的多簇。并且,通过确定各个簇属于文字区域、格线区域还是背景/平面区域,并通过适合于各个区域的压缩方法来压缩像素,可以提高数据压缩率,并可以获得文字和格线的轮廓清晰的压缩图像。这样,与传统的压缩方法相比,可以减少存储压缩图像所需的存储容量。
在此,参照图19对具有上述彩色图像压缩功能的数据处理装置的一种硬件构成进行说明。
CPU 51执行图像压缩处理。在外部存储装置52内存储诸如OS等的程序、压缩数据等。存储器53用于供运算使用的各种表或者用作临时存储数据的区域。
存储介质驱动装置54对诸如CD-ROM、DVD、软盘、IC卡等的便携式存储介质55进行读写。
对于输入装置56,可以使用键盘等,并且输入装置56输入数据。对于输出装置57,可以使用显示器等。
网络连接装置58用于与诸如LAN、因特网等的网络进行连接,并且通过该装置58,可从网络上的服务性服务器收集消息。CPU 51、存储器53、外部存储装置52等通过总线59相互连接。
本发明不限于上述优选实施例,它也可以构成如下。
尽管在上述优选实施例中,对包括图片区域的彩色图像进行压缩,然而本发明也可以应用于不包括图片区域而是包括格线和文字等的文档的压缩。在这种情况下,根据各个簇的轮廓特征来区分格线区域和文字区域,并通过适合于相应区域的编码方法对格线区域和文字区域中的每一个进行编码。在这种情况下,也可以在对图像数据进行编码时,通过减少色调值的数量来提高数据压缩率。由于可以通过适合于文字编码的编码方法(例如,霍夫曼编码)对文字区域进行压缩,所以与JPEG编码等相比,可以提高压缩率,并且可以获得格线和文字的轮廓清晰的压缩图像。
各个区域的编码方法不限于优选实施例所述的霍夫曼编码、链式编码和JPEG编码,也可以使用适合于压缩文字、格线等的其他公知的编码方法。
根据上述优选实施例,通过将比由光学传感器读取的彩色图像的色调值低的色调值分配给各个像素,并根据色调值,把整个彩色图像的像素分类为多个簇,可以减少必须确定特性的簇的数量。然后,通过确定各个簇的特性并使用适合于各个簇的特性的编码方法进行编码,可提高压缩率,并可以获得文字和格线的轮廓清晰的压缩图像。
通过根据像素的色值分布量和色调分布量确定诸如图片区域、格线/文字区域、背景区域等的区域,可以进行准确的确定。并且,通过将比所读取的彩色图像的色调值小的色调值分配给各个像素,并根据色调值对整个彩色图像的像素进行分类,可以减少必须确定特性的簇的数量。然后,通过使用适合于所确定的簇的特性的编码方法进行编码,可以提高压缩率,并且可以获得文字和格线的轮廓清晰的压缩图像。
权利要求
1.一种用于对通过光学传感器读取的彩色图像进行压缩的压缩方法,包括以下步骤对彩色图像的各个像素的色调值的出现次数进行计数,生成色调直方图,并将该色调直方图存储在存储单元内;根据所述色调直方图,减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,将所述整个彩色图像的像素分类为多个簇;以及确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
2.一种用于对通过光学传感器读取的彩色图像进行压缩的压缩方法,包括以下步骤将彩色图像分成多个区域,并根据各个区域内的像素的色值分布量和色调分布量,确定各个区域的特性;对彩色图像中的各个像素的色调值的出现次数进行计数,生成色调直方图,并把该色调直方图存储在存储单元内;根据所述色调直方图,减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,把所述整个彩色图像的像素分类为多个簇;以及确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
3.根据权利要求1所述的彩色图像压缩方法,其中根据所述簇的轮廓特征,确定所述相关簇的特性是格线区域还是文字区域;并且通过适合于相应区域的特性的编码方法对被确定为属于格线区域的簇和被确定为属于文字区域的簇中的每一个进行编码。
4.根据权利要求2所述的彩色图像压缩方法,其中根据所述簇的轮廓特征,确定所述相关簇的特性是格线区域还是文字区域;并且通过适合于相应区域的特性的编码方法对被确定为属于格线区域的簇和被确定为属于文字区域的簇中的每一个进行编码。
5.根据权利要求1所述的彩色图像压缩方法,其中将彩色图像分成多个区域,计算色值分布量和色调分布量,并根据色值分布量和色调分布量,确定各个区域是图片区域、格线/文字区域还是背景区域;并且通过抽取所述簇的轮廓特征,确定所述区域是格线区域还是文字区域。
6.根据权利要求2所述的彩色图像压缩方法,其中将彩色图像分成多个区域,计算色值分布量和色调分布量,并根据色值分布量和色调分布量,确定各个区域是图片区域、格线/文字区域还是背景区域;并且通过抽取所述簇的轮廓特征,确定所述区域是格线区域还是文字区域。
7.一种彩色图像压缩装置,用于对通过光学传感器读取的彩色图像进行压缩,该彩色图像压缩装置包括色调直方图生成单元,用于对彩色图像中的各个像素的色调值的出现次数进行计数,并生成色调直方图;簇分类单元,用于根据所述色调直方图,减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,将所述整个彩色图像的像素分类为多个簇;以及编码单元,用于确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
8.根据权利要求1所述的彩色图像压缩方法,其中如果所述色值分布量超过第一基准值,并且所述色调分布量低于第二基准值,则确定所述相关区域为格线区域或者文字区域;并且如果所述色值分布量低于第一基准值,则确定所述相关区域为背景/平面区域。
9.根据权利要求1所述的彩色图像压缩方法,其中如果所述色值分布量超过第一基准值,并且所述色调分布量超过第二基准值,则确定所述相关区域为图片区域;并且如果所述色值分布量超过第一基准值,并且所述色调分布量低于第二基准值,则确定所述相关区域为格线区域或者文字区域。
10.根据权利要求1所述的彩色图像压缩方法,其中如果所述色值分布量超过第一基准值,并且所述色调分布量低于第二基准值,则确定所述相关区域的大小是否超过基准值,然后,如果所述大小超过所述基准值,则确定所述区域为格线区域,如果所述大小低于所述基准值,则抽取所述区域的轮廓,然后,如果所述轮廓几乎没有变化,则确定所述区域为格线区域,如果所述轮廓变化很大,则确定所述区域为文字区域。
11.根据权利要求1所述的彩色图像压缩方法,其中对彩色图像的各个区域中的各个像素的RGB数据进行HSL转换;通过对各个彩色像素的各个色调H的值的出现次数进行计数,来生成彩色色调直方图;通过对各个彩色像素的各个亮度L的值的出现次数进行计数,来生成单色色调直方图;通过对所述彩色色调直方图和所述单色色调直方图中的每一个中的预定数量的排在较前面的色调值进行检测,来生成彩色色调峰值列表和单色色调峰值列表;通过叠加各个区域的所述彩色色调直方图和单色色调直方图,来生成所述整个彩色图像的典型色调值列表;通过将所述典型色调值列表的对应色调值分配给所述彩色图像中的各个彩色像素,对分配给各个彩色像素的色调值的出现次数进行计数,并选择出现次数排在前面的预定数量的色调值,来生成彩色列表;通过将所述典型色调值列表的对应色调值分配给所述彩色图像中的各个单色像素,对分配给各个单色像素的色调值的出现次数进行计数,并选择出现次数排在前面的预定数量的色调值,来生成单色列表;并且通过将所述彩色列表中的对应色调值分配给所述彩色图像中的各个彩色像素,将所述单色列表中的对应色调值分配给所述彩色图像中的各个单色像素,并将具有相同色调值的相邻像素合并成一个簇,来生成一个簇,并将所述彩色图像的所有区域分类为多个簇。
12.根据权利要求1所述的彩色图像压缩方法,其中通过链式编码来压缩格线区域的像素数据,而通过霍夫曼编码来压缩文字区域的像素数据。
13.根据权利要求3所述的彩色图像压缩方法,其中通过链式编码来压缩格线区域的像素数据,通过霍夫曼编码来压缩文字区域的像素数据,通过链式编码来压缩背景区域的轮廓数据,并通过JPEG编码来压缩背景区域的亮度信息。
14.一种彩色图像压缩装置,用于对通过光学传感器读取的彩色图像进行压缩,该彩色图像压缩装置包括区域确定单元,用于将彩色图像分成多个区域,并根据各个区域的像素的色值分布量和色调分布量确定各个区域的特性;色调直方图生成单元,用于对彩色图像中的各个像素的色调值的出现次数进行计数,并生成色调直方图;簇分类单元,用于根据所述色调直方图来减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,将所述整个彩色图像的像素分类为多个簇;以及编码单元,用于确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
15.根据权利要求7所述的彩色图像压缩装置,包括色调直方图生成单元,用于对彩色图像的各个区域中的各个像素的RGB数据进行HSL转换,通过对各个彩色像素的各个色调H的值的出现次数进行计数来生成彩色色调直方图,并通过对各个彩色像素的各个亮度L的值的出现次数进行计数来生成单色色调直方图;色调峰值列表生成单元,用于通过分别对所述彩色色调直方图和所述单色色调直方图中的每一个中的预定数量的排在前面的色调值进行检测,来生成彩色色调峰值列表和单色色调峰值列表;典型色调值列表生成单元,用于通过叠加各个区域的所述彩色色调直方图和单色色调直方图,来生成所述整个彩色图像的典型色调值列表;彩色和单色列表生成单元,用于通过将所述典型色调值列表的对应色调值分配给所述彩色图像中的各个彩色像素,对分配给各个彩色像素的色调值的出现次数进行计数,并选择出现次数排在前面的预定数量的色调值,来生成彩色列表,并且通过将所述典型色调值列表的对应色调值分配给所述彩色图像中的各个单色像素,对分配给各个单色像素的色调值的出现次数进行计数,并选择出现次数排在前面的预定数量的色调值,来生成单色列表;以及簇分类单元,用于通过将所述彩色列表中的对应色调值分配给所述彩色图像中的各个彩色像素,将所述单色列表中的对应色调值分配给所述彩色图像中的各个单色像素,并将具有相同色调值的相邻像素合并为一个簇,来生成一个簇,并将所述彩色图像的所有区域分类为多个簇。
16.一种通过载波信号实现的计算机数据信号,用于提供对通过光学传感器读取的彩色图像进行压缩的程序,所述程序包括对所述彩色图像中的各个像素的色调值的出现次数进行计数,并生成色调直方图;根据所述色调直方图,减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,将所述整个彩色图像的像素分类为多个簇;以及确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
17.一种通过载波信号实现的计算机数据信号,用于提供对通过光学传感器读取的彩色图像进行压缩的程序,所述程序包括将彩色图像分成多个区域,并根据各个区域的色值分布量和色调分布量,来确定相关区域;对彩色图像中的各个像素的色调值的出现次数进行计数,并生成色调直方图;根据所述色调直方图,减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,将所述整个彩色图像的像素分类为多个簇;以及确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
18.一种计算机可读取存储介质,该存储介质上记录有用于使计算机能够对通过光学传感器读取的彩色图像进行压缩的程序,所述程序包括对所述彩色图像中的各个像素的色调值的出现次数进行计数,并生成色调直方图;根据所述色调直方图,减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,将所述整个彩色图像的像素分类为多个簇;以及确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
19.一种计算机可读取存储介质,该存储介质上记录有用于使计算机能够对通过光学传感器读取的彩色图像进行压缩的程序,所述程序包括将彩色图像分成多个区域,并根据各个区域的色值分布量和色调分布量,来确定相关区域;对彩色图像中的各个像素的色调值的出现次数进行计数,并生成色调直方图;根据所述色调直方图,减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,将所述整个彩色图像的像素分类为多个簇;以及确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
20.一种彩色图像压缩装置,用于对通过光学传感器读取的彩色图像进行压缩,该彩色图像压缩装置包括色调直方图生成装置,用于对彩色图像中的各个像素的色调值的出现次数进行计数,并生成色调直方图;簇分类装置,用于根据所述色调直方图,减少所述整个彩色图像的色调值的数量,将数量减少的色调值分配给各个像素,并根据新分配的色调值,将所述整个彩色图像的像素分类为多个簇;以及编码装置,用于确定各个簇的特性,并通过适合于各个簇的特性的编码方法对所述簇中的像素进行编码。
全文摘要
彩色图像压缩方法和装置。本发明的目的是提高彩色图像的压缩率并清晰地显示文字等的轮廓。色调簇分类/合并单元根据色调直方图,减少彩色图像中的各个像素的色调值的数量,将数量减少的色调值分配给各个像素,并将具有相同色调值的像素分类成一个簇。并且,该单元将色调值低于预定值的簇进行合并。该单元还跟踪大小低于基准值的簇的轮廓,并确定具有许多变化点的簇属于文字区域。编码单元根据由区域确定单元确定的区域以及该簇是属于格线区域还是文字区域,来确定各个簇的特性,并通过适合于该簇的特性的编码方法对各个簇中的像素进行编码。
文档编号H04N1/46GK1617567SQ20041005894
公开日2005年5月18日 申请日期2004年7月23日 优先权日2003年11月11日
发明者江口真一, 金元浩一, 铃木直子, 胜又裕 申请人:富士通株式会社, 富士通先端科技株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1