图像处理装置和图像处理方法

文档序号:7626147阅读:124来源:国知局
专利名称:图像处理装置和图像处理方法
技术领域
本发明涉及一种与用于对图形对象包括图形和字符进行边缘处理、以及在绘制期间从经过边缘处理的图形对象来创建输出图像的各种技术有关的图像处理装置、方法、以及程序。
背景技术
一些传统的图像处理装置不是将图形对象(drawn object)例如字符、图形(graph)等在不对图形对象进行处理的情况下嵌入到中间代码中,而是从图形对象的位图数据抽出边缘、通过矢量化该边缘来创建边缘数据、然后将该边缘数据存储到中间代码中。
可执行绘制(render)的图像处理装置将边缘数据转换为输出图像。这提高了多个图像对象的绘图逻辑的计算速度,从而提高了处理速度。
这种系统例如是在日本特开平8-194458号公报中所公开的字符识别装置。在该专利文献中示出的该装置减少了用于判定是否执行压缩所需的时间,并且还仅压缩具有有利的压缩效果的点数据(dot data),以提高字体高速缓存(font cache)的使用效率。
然而,由于压缩后的字符数据的大小小于边缘数据的大小,因此以边缘数据的形式存储数据将导致存储器效率降低。
另外,当用于存储中间代码的存储区域被占满时,需要在对中间代码执行绘制之后删除全部页的中间代码,或者通过临时对中间代码执行绘制来释放用于存储中间代码的存储区域。该处理降低了处理速度。
存储器效率的降低会造成处理速度的下降。特别地,当在硬件中执行从中间代码创建图像的情况下,当用于计算绘图逻辑的时间显著少于用于创建中间代码的时间时,避免进行用于提高存储器效率和用于确保有足够的存储器空间可用的处理是很重要的。
对于在基于边缘创建图像的系统中对每次出现的字符执行边缘处理的技术,字符经常在相同的数据中被多次使用。因此,在每次在绘制期间执行边缘处理的系统中,该技术降低了打印速度。因此,不具有以高速来执行边缘处理的单元的系统会遭遇处理速度下降的问题。
一个解决办法是通过集成如下加速器来提高处理速度,该加速器用于改善对压缩数据执行边缘处理的功能和处理能力,但这会增加整个系统的成本。

发明内容
考虑到这些问题,本发明实现了适合于图像处理装置的能力的最佳性能。
根据本发明的一个方面,一种图像处理装置包括保持单元,用于根据预定的条件,在图像未经边缘处理而进行压缩之后保持图像的压缩图像,或者在图像经过边缘处理之后保持图像的边缘图像;以及创建单元,用于基于从该保持单元所保持的压缩图像而创建的边缘图像、或者基于该保持单元所保持的保持边缘图像来创建图像。
根据本发明的另一方面,提供一种图像处理方法,包括保持步骤,用于根据预定的条件,在图像未经边缘处理而进行压缩之后保持图像的压缩图像,或者在图像经过边缘处理之后保持图像的边缘图像;以及创建步骤,用于基于从该保持步骤所保持的压缩图像而创建的边缘图像、或者基于该保持步骤所保持的保持边缘图像来创建图像。
在根据至少一个典型实施例的图像处理装置中,在将打印数据转换为中间代码期间,对包括图形和字符的图形对象进行边缘处理,并且在绘制期间,从经过边缘处理的图形对象创建输出图像。该图像处理装置包括存储单元,用于在字体高速缓存中存储压缩在打印数据中的字符图像;嵌入单元,用于将压缩过的字符图像嵌入到中间代码中;边缘处理单元,用于在绘制期间直接对嵌入到中间代码中的压缩字符图像进行边缘处理以创建边缘数据;以及绘制单元,用于使用由边缘处理单元创建的边缘数据来进行绘制。
根据至少一个典型实施例,将压缩字符数据存储在中间代码中提高了用于存储中间代码的存储区域的使用效率。另外,字符图像的存储形式可以随着图像处理装置的能力进行最佳调整,因此可以得到适合于图像处理装置的能力的最佳性能。
根据至少一个典型实施例的另一特征,当检测到存在用于从压缩数据创建边缘数据的加速器时,则切换装置以便以压缩数据的形式来存储图像。因此,可以更有效地使用存储器。当未检测到加速器的存在时,则切换装置以便以边缘数据的形式来存储图像,因此防止性能降低。
根据至少一个典型实施例的另一特征,无需释放用于存储中间代码的存储区域或字体高速缓存的存储区域的处理,因此提高了打印速度。
根据至少一个典型实施例的另一特征,实现了响应于图像处理装置的存储容量的变化(例如,增加存储器)而使处理速度和存储效率得到平衡的系统。
通过以下参考附图对典型实施例的说明,本发明的其它特征是显而易见的。


图1是示出根据本发明的至少一个典型实施例的多功能机(MFP)的示意结构的剖视图。
图2是示出根据本发明的至少一个典型实施例的图1所示的MFP的控制单元的典型结构的框图。
图3是示出根据打印方法的第一典型实施例的打印过程的流程图。
图4是示出根据打印方法的第二典型实施例的打印过程的流程图。
图5是示出根据打印方法的第三典型实施例的打印过程的流程图。
图6是示出根据打印方法的第四典型实施例的打印过程的流程图。
图7是示出根据打印方法的第五典型实施例的打印过程的流程图。
图8是示出根据打印方法的第六典型实施例的打印过程的流程图。
图9是示出根据打印方法的第七典型实施例的打印过程的流程图。
图10是示出根据打印方法的第八典型实施例的打印过程的流程图。
具体实施例方式
第一典型实施例图1示出根据本发明的典型实施例的多功能机(MFP)的典型内部结构的剖视图,该多功能机用作打印机、复印机和传真机。
在图1中,MFP100可被用作网络打印机,用于打印通过网络接收到的打印数据。MFP100还被连接到电话线,以便MFP100可被用作传真机。另外,MFP100可被用作单独的复印机。
操作面板121包括用于操作的开关和用于显示MFP100的状态的液晶触摸屏。MFP100包括控制单元501,用于控制MFP100的操作。
激光驱动器502电路用于驱动半导体激光振荡器503。激光驱动器502响应于输入视频信号,使从半导体激光振荡器503发射的激光束504在接通(on)和断开(off)状态之间进行切换。
在激光束504的方向被多面镜505沿水平方向改变之后,激光束504通过扫描静电鼓506在静电鼓506上形成静电图像。该静电图像通过置于静电鼓506周围的显影单元(调色剂盒)507进行显影,并随后被转印到记录纸上。
记录纸为单页(cut-sheet)纸。该单页纸容纳在安装在MFP100上的纸盒108、109、110和111中。记录纸由进纸辊113、114、115或106搓起,然后由输纸辊112放置在输纸带517上。该记录纸在由输纸带517输送的同时,经过成像和显影机构。
在热定影器(fuser)118通过热和压力对转印到记录纸上的调色剂(粉末状墨)进行熔融(定影)。通过输纸辊119和120将定影有调色剂的记录纸从MFP100排出。
当用户在扫描器122中放置原稿,并且使用操作面板121提供复制该原稿的指令时,原稿进入原稿台并通过卤素灯(未示出)曝光,以便获取其反射图像。将所获取的图像从模拟变为数字形式,发送到控制单元501,然后进行适当的处理,以便将其转换为视频信号(图像信号)。然后,将该视频信号输入到激光驱动器502。
打印数据通过外部网络进行发送,在控制单元501进行分析,将其转换为视频信号,然后输入到激光驱动器502。传真数据通过电话线发送,经由调制解调器523将其发送到控制单元501,将其转换为视频信号,然后输入到激光驱动器502。
图2是示出图1所示的MFP100的控制单元501的典型结构的框图。在图2中,附图标记201表示控制台(controller board)的主体。主计算机101发送打印数据。主计算机101包括打印机驱动器,并直接发送页面描述语言(PDL)或由控制台201从PDL创建的内部代码作为打印数据。经由输入接口单元203输入打印数据。
当通过操作面板121提供进行复制的指令时,则经由扫描器接口单元204输入由扫描器122读取的图像。所输入的图像在中央处理单元(CPU)进行适当处理,以便将其转换为点数据。
将以这种方式创建的点数据经由输出接口单元209发送到打印机构单元104,并将其打印出来。该适当处理的例子包括将扫描器122的读取分辨率转换为打印机构单元104的打印分辨率;以及旋转输入图像,以便其与打印机构单元104中的纸张输送方向相一致。
边缘处理单元210是加速器(用于增强个人计算机的处理速度的硬件),其功能是通过从压缩图像中抽出边缘来创建边缘数据。通常,边缘处理单元210为专用硬件,例如由专用集成电路(ASIC)组成,或者由不同于CPU202的CPU、只读存储器(ROM)、和随机存取存储器(RAM)组成的控制台。边缘处理单元210(加速器)是系统中的可选件,边缘处理单元210可以不包括在系统中。
经由调制解调器接口(I/F)208从连接到电话线的调制解调器103接收传真数据,将其发送到CPU202,由CPU202进行处理,然后将其转换为点数据。经由输出接口单元209将所创建的点数据发送到打印机构单元104,并将其打印出来。
在该阶段所执行的处理的例子包括由霍夫曼(Huffman)编码所压缩的打印数据的展开。由CPU202执行的处理的过程全部作为程序存储在ROM206中,以便CPU202根据该程序来运行。
在该典型实施例中,转换后的图像存储在RAM207中。该RAM207包括用于字体高速缓冲的存储器;和用于存储中间代码的存储区域。所存储的图像经由输出接口单元209发送到打印机构单元104,并将其打印出来。
从主计算机101、扫描器122和调制解调器103发出的数据存储在该RAM207中,并对其进行适当处理。非易失性RAM(以下称为NVRAM)205包括普通的电可擦可编程ROM(EEPROM),并且存储通过操作面板121指定的面板设置。
第一典型操作图3是用于说明根据至少一个典型实施例的图像处理装置中的第一典型操作的流程图,并示出在打印过程中控制台201的操作。
开始处理后,在步骤S301,接收经由输入接口单元203输入的打印数据。然后,在步骤S302,分析该打印数据,并创建中间代码。
接着,在步骤S303,在分析打印数据期间,判定打印数据是否包括字符代码。如果在步骤S303中打印数据包括字符代码,则处理进入步骤S304。如果在步骤S303中打印数据不包括字符代码,则处理进入步骤S309。在步骤S304,判定与该字符代码相对应的字符图像是否已经被注册在RAM207中的字体高速缓存中。
如果在步骤S304中该字符图像已经被注册在字体高速缓存中,则处理进入步骤S308。如果在步骤S304中该字符图像尚未注册在字体高速缓存中,则处理进入步骤S305。在步骤S305,创建与该字符代码相对应的字符图像。注意,字符图像的创建不局限于从矢量数据来创建字符位图数据,可替代地,所存储的字符数据也可以以位图或压缩数据的形式进行加载。
然后,在步骤S306,压缩在步骤S305中所创建的字符图像,处理进入步骤S307。在步骤S307,将与字符代码相对应的压缩字符图像存储在字体高速缓存中。然后,在步骤S308,存储在字体高速缓存中的字符图像被嵌入到中间代码中,并且存储在RAM207中用于存储中间代码的存储区域中。
然后,在步骤S309,判定打印数据的分析是否完成。如果判定该分析尚未完成,则处理返回到步骤S302,重复上述步骤。
如果在步骤S309中该分析完成,则在步骤S310中从中间代码来创建输出图像。然后,在步骤S311,所创建的输出图像被输出到打印机构单元104,并将其打印在纸上。
第二典型操作图4是用于说明根据至少一个典型实施例的图像处理装置中的第二典型操作的流程图。在第二典型操作中,控制台的结构与图2的控制台201相同。因此,省略关于控制台201的说明。图4示出关于第二典型操作的打印过程中控制台201的操作。
开始处理后,在步骤S401,接收经由输入接口单元203输入的打印数据,然后处理进入步骤S402。在步骤S402,判定是否存在(或可用)用于从压缩字符数据来创建边缘数据的加速器。
如果在步骤S402中存在该加速器,则处理进入步骤S403。在步骤S403,分析该打印数据,并且开始中间代码的创建。然后,在步骤S404,在分析该打印数据期间,判定该打印数据是否包括字符代码。
如果在步骤S404中打印数据包括字符代码,则处理进入步骤S405。如果在步骤S404中打印数据不包括字符代码,则处理进入步骤S411。在步骤S405,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。如果在步骤S405中该字符图像已经被注册,则处理跳至步骤S410;如果在步骤S405中该字符图像尚未注册,则处理进入步骤S406。在步骤S406,创建与该字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符数据也可以以位图或压缩数据的形式进行加载。
然后,在步骤S407,判定所创建的字符图像是否已经被压缩。如果在步骤S407中所创建的字符图像已经被压缩,则处理进入步骤S409;如果在步骤S407中所创建的字符图像尚未压缩,则处理进入步骤S408。在步骤S408,压缩所创建的字符图像,处理进入步骤S409。在步骤S409,将压缩后的字符图像存储在字体高速缓存中,处理进入步骤S410。
在步骤S410,存储在字体高速缓存中的字符图像被嵌入到中间代码中,并且存储在用于存储中间代码的存储区域中。然后,在步骤S411,判定是否完成了打印数据的分析。如果在步骤S411中该分析没有完成,则处理返回到步骤S403,重复步骤S403~S410,直到完成了打印数据的分析。
如果在步骤S411中的结果是完成了打印数据的分析,则处理进入步骤S412。在步骤S412,在执行对所创建的中间代码进行绘制并创建输出图像的阶段,使用边缘处理单元210(加速器)从压缩数据来创建边缘数据。然后,在步骤S423,从中间代码来创建输出图像,处理进入步骤S424。在步骤S424,将所创建的输出图像输出到打印机构单元104,并将其打印在纸上。
如果在步骤S402中的结果是不存在用于从压缩字符数据来创建边缘数据的加速器,则处理进入步骤S413。在步骤S413,分析打印数据,并且开始中间代码的创建。
然后,在步骤S414,在分析该打印数据期间,判定该打印数据是否包括字符代码。如果在步骤S414中该打印数据包括字符代码,则处理进入步骤S415。如果在步骤S414中该打印数据不包括字符代码,则处理进入步骤S422。在步骤S415,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。
如果在步骤S415中该字符图像尚未注册,则处理进入步骤S416。在步骤S416,创建与该字符代码相对应的字符图像。注意,字符图像的创建不局限于从矢量数据来创建字符位图数据。可替代地,所存储的字符也可以以位图或者压缩数据的形式进行加载。
然后,在步骤S417,判定所创建的字符图像是否已经被压缩。如果在步骤S417中所创建的字符图像已经被压缩,则处理进入步骤S418。在步骤S418,对所创建的字符图像进行解压缩。如果在步骤S417中所创建的字符图像尚未压缩,则处理跳至步骤S419。
然后,在步骤S419,从该字符图像来创建边缘数据。接着,在步骤S420,将该边缘数据存储在字体高速缓存中。然后,在步骤S421,存储在字体高速缓存中的边缘数据被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
接着,在步骤S422,判定是否完成了打印数据的分析。如果在步骤S422中没有完成打印数据的分析,则处理返回到步骤S413,重复步骤S413~S421,直到完成打印数据的分析。当完成分析时,则在步骤S423和S424中执行上述处理。
第三典型操作下面参考图5来说明根据至少一个典型实施例的图像处理装置中的第三典型操作。在第三典型操作中,控制台的结构与控制台201相同。因此,省略关于控制台201的说明。图5示出第三典型操作的打印过程中控制台201的操作。
开始处理后,在步骤S501,接收经由输入接口单元203输入的打印数据,处理进入步骤S502。在步骤S502,判定是否存在(或可用)用于从压缩字符数据来创建边缘数据的加速器。如果在步骤S502中存在该加速器,则处理进入步骤S503。如果在步骤S502中不存在该加速器,则处理跳至步骤S513。在步骤S503,分析该打印数据,开始中间代码的创建。
然后,在步骤S504,在分析打印数据期间,判定打印数据是否包括字符代码。如果在步骤S504中打印数据包括字符代码,则处理进入步骤S505。如果在步骤S504中打印数据不包括字符代码,则处理跳至步骤S511。在步骤S505,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。如果在步骤S505中该字符图像已经被注册,则处理跳至步骤S510;如果在步骤S505中该字符图像尚未注册,则处理进入步骤S506。在步骤S506,创建与该字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符数据也可以以位图或压缩数据的形式进行加载。
然后,在步骤S507,判定所创建的字符图像是否已经被压缩。如果在步骤S507中所创建的字符图像已经被压缩,则处理进入步骤S509;如果在步骤S507中所创建的字符图像尚未压缩,则处理进入步骤S508。在步骤S508,压缩所创建的字符图像,处理进入步骤S509。在步骤S509,将压缩后的字符图像存储在字体高速缓存中,处理进入步骤S510。在步骤S510,存储在字体高速缓存中的字符图像被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
然后,在步骤S511,判定是否完成打印数据的分析。如果在步骤S511中没有完成该分析,则处理返回到步骤S503,重复步骤S503~S510,直到完成了打印数据的分析。
如果在步骤S511中完成了打印数据的分析,则处理进入步骤S512。在步骤S512,在执行对所创建的中间代码进行绘制并创建输出图像的阶段,使用边缘处理单元210(加速器)从压缩数据创建边缘数据。
然后,在步骤S524,从中间代码来创建输出图像,处理进入步骤S525。在步骤S525,将所创建的输出图像输出到打印机构单元104,并将其打印在纸上。
如果在步骤S502中不存在用于从压缩字符数据来创建边缘数据的加速器,则处理进入步骤S513。在步骤S513,分析该打印数据,开始中间代码的创建。
然后,在步骤S514,在分析打印数据期间,判定打印数据是否包括字符代码。如果在步骤S514中打印数据包括字符代码,则处理进入步骤S515。如果在步骤S514中打印数据不包括字符代码,则处理进入步骤S523。在步骤S515,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。
如果在步骤S515中该字符图像已经被注册,则处理进入步骤S522;如果在步骤S515中该字符图像尚未注册,则处理进入步骤S516。在步骤S516,创建与字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符也可以以位图或者压缩数据的形式进行加载。
然后,在步骤S517,判定所创建的字符图像是否已经被压缩。如果在步骤S517中所创建的字符图像已经被压缩,则处理进入步骤S518。在步骤S518,对所创建的字符图像进行解压缩。然后,在步骤S519,从该字符图像来创建边缘数据。如果在步骤S517中所创建的字符图像尚未压缩,则处理进入步骤S519。
然后,在步骤S520,判定字体高速缓存是否能够存储边缘数据。如果在步骤S520中字体高速缓存能够存储边缘数据,则在步骤S521将该边缘数据存储在字体高速缓存中。然后,在步骤S522,存储在字体高速缓存中的边缘数据被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
如果在步骤S520中字体高速缓存不能存储边缘数据,则处理进入步骤S522。在步骤S522,所创建的边缘数据被直接嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
然后,在步骤S523,判定是否完成了打印数据的分析。如果在步骤S523中没有完成分析,则处理返回到步骤S513,重复步骤S513~S522,直到完成了打印数据的分析。如果在步骤S523中完成了打印数据的分析,则如前所述,在步骤S524和S525中创建并打印输出图像。
第四典型操作下面参考图6来说明根据至少一个典型实施例的图像处理装置中的第四典型操作。在第四典型操作中,控制台的结构与图2的控制台201相同。因此,省略关于控制台201的说明。图6示出在打印过程中控制台201的操作。
开始处理后,在步骤S601,接收经由输入接口单元203输入的打印数据,处理进入步骤S602。在步骤S602,分析该打印数据,开始中间代码的创建。然后,在步骤S603,在分析打印数据期间,判定打印数据是否包括字符代码。
如果在步骤S603中打印数据包括字符代码,则处理进入步骤S604。如果在步骤S603中打印数据不包括字符代码,则处理进入步骤S611。在步骤S604,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。如果在步骤S604中该字符图像已经被注册,则处理跳至步骤S610;如果在步骤S604中该字符图像尚未注册,则处理进入步骤S605。在步骤S605,创建与该字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符数据也可以以位图或压缩数据的形式进行加载。
然后,在步骤S606,判定用于存储中间代码的存储区域的当前可用空间的大小是否等于或大于预定大小。如果在步骤S606中用于存储中间代码的存储区域的当前可用空间小于预定大小,则在步骤S607判定所创建的字符图像是否已经被压缩。如果在步骤S607中所创建的字符图像已经被压缩,则处理进入步骤S609;如果在步骤S607中所创建的字符图像尚未压缩,则处理进入步骤S608。在步骤S608,压缩所创建的字符图像,处理进入步骤S609。
在步骤S609,将压缩后的字符图像存储在字体高速缓存中,处理进入步骤S610。在步骤S610,存储在字体高速缓存中的字符图像被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
然后,在步骤S611中,判定是否完成了打印数据的分析。如果在步骤S611中没有完成分析,则处理返回到步骤S602,重复步骤S602~S610,直到完成了打印数据的分析。
如果在步骤S611中完成了打印数据的分析,则处理进入步骤S612。在步骤S612,在执行对所创建的中间代码进行绘制并创建输出图像的阶段,从压缩数据来创建边缘数据。然后,在步骤S619,从中间代码来创建输出图像,处理进入步骤S620。在步骤S620,将所创建的输出图像输出到打印机构单元104,并将其打印在纸上。
如果在步骤S606中用于存储中间代码的存储区域的当前可用空间的大小等于或大于预定大小,则在步骤S613中判定所创建的字符图像是否已经被压缩。如果在步骤S613中所创建的字符图像尚未压缩,则处理进入步骤S615;如果在步骤S613中所创建的字符图像已经被压缩,则处理进入步骤S614。在步骤S614,对所创建的字符图像进行解压缩,处理进入步骤S615。在步骤S615,从该字符图像来创建边缘数据。然后,在步骤S616,将该边缘数据存储在字体高速缓存中。
然后,在步骤S617,存储在字体高速缓存中的边缘数据被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。然后,在步骤S618,判定是否完成了打印数据的分析。如果判定没有完成分析,则处理返回到步骤S602,重复上述步骤S602~S617,直到完成了打印数据的分析。
如果在步骤S618中完成了打印数据的分析,则处理进入步骤S619。在步骤S619,创建输出图像,并且如前所述,在步骤S620中打印输出图像。
第五典型操作图7是用于说明根据至少一个典型实施例的图像处理装置中的第五典型操作的流程图。在第五典型操作中,控制台的结构与控制台201相同。因此,省略关于控制台201的说明。图7示出在打印过程中控制台201的操作。
开始处理后,在步骤S701,接收经由输入接口单元203输入的打印数据,处理进入步骤S702。在步骤S702,判定用于存储中间代码的存储区域的容量大小是否等于或大于预定大小。如果在步骤S702中用于存储中间代码的存储区域的容量没有达到预定的大小,则处理进入步骤S703。在步骤S703,分析该打印数据,开始中间代码的创建。
然后,在步骤S704,在分析打印数据期间,判定打印数据是否包括字符代码。如果在步骤S704中打印数据包括字符代码,则处理进入步骤S705。如果在步骤S704中打印数据不包括字符代码,则处理进入步骤S711。在步骤S705,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。
如果在步骤S705中字符图像尚未注册,则处理进入步骤S706。如果在步骤S705中字符图像已经被注册,则处理进入步骤S710。在步骤S706,创建与该字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符数据可以以位图或者压缩数据的形式进行加载。
然后,在步骤S707,判定所创建的字符图像是否已经被压缩。如果在步骤S707中所创建的字符图像没被压缩,则处理进入步骤S708。如果在步骤S707中所创建的字符图像已经被压缩,则处理进入步骤S709。在步骤S708,压缩所创建的字符图像。
然后,在步骤S709,将压缩后的字符图像存储在字体高速缓存中。然后,在步骤S710,存储在字体高速缓存中的字符图像被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
然后,在步骤S711,判定是否完成了打印数据的分析。如果在步骤S711中没有完成打印数据的分析,则处理返回到步骤S703,重复步骤S703~S710,直到完成了打印数据的分析。
如果在步骤S711中完成了打印数据的分析,则处理进入步骤S712。在步骤S712,在执行对所创建的中间代码进行绘制并创建输出图像的阶段,从压缩数据来创建边缘数据。
然后,在步骤S723,当创建出中间代码时,然后从中间代码来创建输出图像。然后,在步骤S724,将所创建的输出图像输出到打印机构单元104,并将其打印在纸上。
如果在步骤S702中用于存储中间代码的存储区域的容量的大小等于或大于预定大小,则处理进入步骤S713。在步骤S713,分析该打印数据,开始中间代码的创建。然后,在步骤S714,在分析打印数据期间,判定打印数据是否包括字符代码。
如果在步骤S714中打印数据包括字符代码,则处理进入步骤S715。如果在步骤S714中打印数据不包括字符代码,则处理进入步骤S722。在步骤S715,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。如果在步骤S715中该字符图像尚未注册,则处理进入步骤S716;如果在步骤S715中该字符图像已经被注册,则处理进入步骤S721。在步骤S716,创建与该字符代码相对应的字符图像。注意,字符图像的创建不局限于从矢量数据来创建字符位图数据。相反,所存储的字符也可以以位图或压缩数据的形式进行加载。
然后,在步骤S717,判定所创建的字符图像是否已经被压缩。如果在步骤S717中所创建的字符图像没被压缩,则处理进入步骤S719;如果在步骤S717中所创建的字符图像已经被压缩,则处理进入步骤S718。在步骤S718,对所创建的字符图像进行解压缩,然后处理进入步骤S719。在步骤S719,从该字符图像来创建边缘数据。
然后,在步骤S720,将该边缘数据存储在字体高速缓存中。然后,在步骤S721,存储在字体高速缓存中的边缘数据被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
然后,在步骤S722,判定是否完成了打印数据的分析。如果在步骤S722中没有完成分析,则处理返回到步骤S713,重复步骤S713~S721。然后,在步骤S723和S724,执行上述处理。
第六典型操作图8是用于说明根据至少一个典型实施例的图像处理装置中的第六典型操作的流程图。在第六典型操作中,控制台的结构与图2的控制台201相同。因此,省略关于控制台201的说明。图8示出在打印过程中控制台201的操作。
开始处理后,在步骤S801,接收经由输入接口单元203输入的打印数据,处理进入步骤S802。在步骤S802,分析该打印数据,开始中间代码的创建。然后,在步骤S803,在分析打印数据期间,判定在打印数据中是否存在字符代码。
如果在步骤S803中在打印数据中存在字符代码,则处理进入步骤S804。如果在步骤S803中在打印数据中不存在字符代码,则处理进入步骤S810。在步骤S804,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。如果在步骤S804中该字符图像尚未注册,则处理进入步骤S805。如果在步骤S804中该字符图像已经被注册,则处理进入步骤S809。在步骤S805,创建与该字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符数据可以以位图或压缩数据的形式进行加载。
然后,在步骤S806,判定所创建的字符图像是否已经被压缩。如果在步骤S806中所创建的字符图像尚未压缩,则处理进入步骤S807。如果在步骤S806中所创建的字符图像已经被压缩,则处理进入步骤S808。在步骤S807,压缩所创建的字符图像。然后,在步骤S808,将压缩后的字符图像存储在字体高速缓存中。然后,在步骤S809,存储在字体高速缓存中的字符图像的存储地址被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
然后,在步骤S810,判定是否完成了打印数据的分析。如果在步骤S810中没有完成打印数据的分析,则处理返回到步骤S802,重复步骤S802~S809,直到完成了打印数据的分析。
如果在步骤S810中完成了打印数据的分析,则处理进入步骤S811。在步骤S811,开始进行绘制,创建中间代码,并且开始从中间代码来创建输出图像。
在步骤S812,判定在中间代码中是否存在字符图像的地址。如果在步骤S812中在中间代码中存在该地址,则处理进入步骤S813。如果在步骤S812中在中间代码中不存在该地址,则处理进入步骤S814。在步骤S813,从该地址所指示的位置读取压缩数据,并且创建边缘数据。
然后,在步骤S814,从中间代码来创建输出图像。然后,在步骤S815,判定是否完成了从中间代码对输出图像的创建。如果在步骤S815中完成了输出图像的创建,则处理进入步骤S816。在步骤S816,将所创建的输出图像输出到打印机构单元104,并将其打印在纸上。如果在步骤S815中没有完成输出图像的创建,则处理返回到步骤S811,重复步骤S811~S814。
第七典型操作下面参考图9来说明根据至少一个典型实施例的图像处理装置中的第七典型操作。在第七典型操作中,控制台的结构与图2的控制台201相同。因此,省略关于控制台201的说明。图9示出在打印过程中控制台201的操作。
开始处理后,在步骤S901,接收经由输入接口单元203输入的打印数据,然后处理进入步骤S902。在步骤S902,分析打印数据,开始中间代码的创建。
然后,在步骤S903,在分析打印数据期间,判定在打印数据中是否包括字符代码。如果在步骤S903中在打印数据中包括字符代码,则处理进入步骤S904。如果在步骤S903中在打印数据中不包括字符代码,则处理进入步骤S911。在步骤S904,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。如果在步骤S904中该字符图像尚未注册,则处理进入步骤S905。如果在步骤S904中该字符图像已经被注册,则处理进入步骤S910。在步骤S905,创建与该字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符数据可以以位图或压缩数据的形式进行加载。
然后,在步骤S906,判定字体高速缓存的当前可用存储器的大小是否等于或大于预定大小。如果在步骤S906中字体高速缓存的当前可用存储器的大小小于预定大小,则处理进入步骤S907。
在步骤S907,判定所创建的字符图像是否已经被压缩。如果在步骤S907中所创建的字符图像尚未压缩,则处理进入步骤S908。如果在步骤S907中所创建的字符图像已经被压缩,则处理进入步骤S909。在步骤S908,对所创建的字符图像进行压缩,处理进入步骤S909。在步骤S909,压缩后的字符图像被存储在字体高速缓存中。
然后,在步骤S910,存储在字体高速缓存中的字符图像被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。然后,在步骤S911,判定是否完成了打印数据的分析。如果在步骤S911中没有完成分析,则处理返回到步骤S902,重复步骤S902~S910,直到完成了打印数据的分析。
如果在步骤S911中完成了打印数据的分析,则处理进入步骤S912。在步骤S912,在执行对所创建的中间代码进行绘制并创建输出图像的阶段,从压缩数据来创建边缘数据。然后,在步骤S919,从中间代码来创建输出图像,处理进入步骤S920。在步骤S920,将所创建的输出图像输出到打印机构单元104,并将其打印在纸上。
如果在步骤S906中字体高速缓存的当前可用存储器的大小等于或大于预定大小,则在步骤S913中判定所创建的字符图像是否已经被压缩。如果在步骤S913中所创建的字符图像已经被压缩,则处理进入步骤S914。如果在步骤S913中所创建的字符图像尚未压缩,则处理进入步骤S915。在步骤S914,对所创建的字符图像进行解压缩。
然后,在步骤S915,从该字符图像来创建边缘数据。然后,在步骤S916,将该边缘数据存储在字体高速缓存中。然后,在步骤S917,存储在字体高速缓存中的边缘数据被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
然后,在步骤S918,判定是否完成了打印数据的分析。如果在步骤S918中没有完成分析,则处理返回到步骤S902,重复步骤S902~S917,直到完成了打印数据的分析。
如果在步骤S918中完成了打印数据的分析,则如前所述,接着在步骤S919和S920中执行输出图像的创建和输出图像的打印。
第八典型操作图10是用于说明根据至少一个典型实施例的图像处理装置中的第八典型操作的流程图。在第八典型操作中,控制台的结构与图2的控制台201相同。因此,省略关于控制台201的说明。图10示出在打印过程中控制台201的操作。
开始处理后,在步骤S1001,接收经由输入接口单元203输入的打印数据。然后,在步骤S1002,判定字体高速缓存的容量是否等于或大于预定大小。如果在步骤S1002中字体高速缓存的容量小于预定大小,则在步骤S1003中分析打印数据,并且开始中间代码的创建。
然后,在步骤S1004,在分析打印数据期间,判定在打印数据中是否存在字符代码。如果在步骤S1004中在打印数据中存在字符代码,则处理进入步骤S1005。如果在步骤S1004中在打印数据中不存在字符代码,则处理进入步骤S1011。在步骤S1005,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。如果在步骤S1005中该字符图像尚未注册,则处理进入步骤S1006。如果在步骤S1005中该字符图像已经被注册,则处理进入步骤S1010。在步骤S1006,创建与该字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符数据可以以位图或压缩数据的形式进行加载。
然后,在步骤S1007,判定所创建的字符图像是否已经被压缩。如果在步骤S1007中所创建的字符图像未被压缩,则处理进入步骤S1008。如果在步骤S1007中所创建的字符图像已经被压缩,则处理进入步骤S1009。在步骤S1008,对所创建的字符图像进行压缩。
然后,在步骤S1009,压缩后的字符图像被存储在字体高速缓存中。然后,在步骤S1010,存储在字体高速缓存中的字符图像被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。然后,在步骤S1011,判定是否完成了打印数据的分析。如果在步骤S1011中没有完成打印数据的分析,则处理返回到步骤S1003,重复步骤S1003~S1010,直到完成了打印数据的分析。
如果在步骤S1011中完成了打印数据的分析,则处理进入步骤S1012。在步骤S1012,在执行对所创建的中间代码进行绘制并创建输出图像的阶段,从压缩数据来创建边缘数据。然后,在步骤S1023,从中间代码来创建输出图像,处理进入步骤S1024。在步骤S1024,将所创建的输出图像输出到打印机构单元104,并将其打印在纸上。
如果在步骤S1002中字体高速缓存的容量等于或大于预定大小,则处理进入步骤S1013。在步骤S1013,分析打印数据,开始中间代码的创建。然后,在步骤S1014,在分析打印数据期间,判定在打印数据中是否存在字符代码。如果在步骤S1014中在打印数据中存在字符代码,则处理进入步骤S1015。如果在步骤S1014中在打印数据中不存在字符代码,则处理进入步骤S1022。在步骤S1015,判定与该字符代码相对应的字符图像是否已经被注册在字体高速缓存中。
如果在步骤S1015中该字符图像尚未注册,则处理进入步骤S1016。如果在步骤S1015中该字符图像已经被注册,则处理进入步骤S1021。在步骤S1016,创建与该字符代码相对应的字符图像。字符图像的创建不局限于从矢量数据来创建字符位图数据,所存储的字符数据可以以位图或压缩数据的形式进行加载。
然后,在步骤S1017,判定所创建的字符图像是否已经被压缩。如果在步骤S1017中所创建的字符图像已经被压缩,则处理进入步骤S1018。在步骤S1018,对所创建的字符图像进行解压缩,处理进入步骤S1019。如果在步骤S1017中所创建的字符图像没被压缩,则处理进入步骤S1019。在步骤S1019,从该字符图像来创建边缘数据。
然后,在步骤S1020,将该边缘数据存储在字体高速缓存中。然后,在步骤S1021,存储在字体高速缓存中的边缘数据被嵌入到中间代码中,并且被存储在用于存储中间代码的存储区域中。
然后,在步骤S1022,判定是否完成了打印数据的分析。如果在步骤S1022中没有完成打印数据的分析,则处理返回到步骤S1013,重复步骤S1013~S1021,直到完成打印数据的分析。
如果在步骤S1022中完成了打印数据的分析,则处理进入步骤S1023。在步骤S1023,创建输出图像。然后,在步骤S1024,将所创建的输出图像输出到打印机构单元104,并将其打印在纸上。
其它典型实施例根据上述典型实施例的图像处理装置中的每个单元和图像处理方法中的每个步骤均能通过存储在计算机中的RAM和/或ROM中的程序的运行来实现。而且,该程序可以存储在任何形式的计算机可读取的存储介质中。
本发明适用于例如系统、装置、方法、程序、存储介质、以及它们的一些组合。而且,本发明适用于包括多个设备的系统和由单个设备组成的装置。
本发明可这样来实现直接或远程地向系统或装置提供与图3~图10所示的流程图相对应的程序,并通过系统或装置的计算机来读取并执行所提供的程序。
此外,可以将程序代码安装在计算机中,以通过计算机来实现本发明的功能处理。换句话说,本发明适用于可实现本发明的功能处理的计算机程序。在这种情况下,只要具有该程序的功能,该程序可以具有任何形式,例如目标代码、可由解释程序执行的程序、向操作系统(OS)提供的脚本数据、或者它们的一些组合。
用来提供程序的存储介质的例子包括但不限于软盘、硬盘、光盘、磁光盘(MO)、光盘只读存储器(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RM)、磁带、非易失性存储卡、ROM、数字通用光盘-ROM(DVD-ROM)、DVD-R等。
用于提供程序的方法的例子包括但不限于使用客户计算机的浏览器连接到因特网上的网站,从该网站将计算机程序、该程序的带有自动安装文件的压缩文件下载到存储介质(例如硬盘)等。
在这种情况下,可将构成根据本发明的程序的程序代码分成多个文件,从不同网站下载每个文件。换句话说,WWW(WorldWide Web,万维网)服务器允许将通过计算机来实现本发明的功能处理的程序文件下载到多个用户。
本发明的功能还可以这样来实现对根据本发明的程序进行加密,将加密后的程序存储在例如CD-ROM的存储介质中,将该存储介质分发给用户,允许满足预定条件的用户从因特网上的网站下载与解密密匙有关的信息,使用与密匙有关的信息来执行加密过的程序,从而使用户可以将程序安装在计算机中。
通过由计算机执行所读取的程序可以实现上述实施例的功能。另外,通过运行在计算机上的操作系统(OS)根据程序的指令来执行部分或全部实际处理,也可以实现上述实施例的功能。
而且,将从存储介质中读取的程序写入到插入计算机中的功能扩展板、或与计算机连接的功能扩展单元所包括的存储器中,并且功能扩展板或功能扩展单元中所包括的CPU可以根据程序的指令来执行部分或全部实际处理,从而实现上述实施例的功能。
尽管参考典型实施例已经对本发明进行了说明,但是应当理解,本发明不局限于所公开的典型实施例。因此,以下权利要求书的范围符合最宽的解释,以覆盖本发明的全部实施例、等同结构和功能。
权利要求
1.一种图像处理装置,包括保持装置,用于根据预定的条件,在图像未经边缘处理而进行压缩之后保持图像的压缩图像,或者在图像经过边缘处理之后保持图像的边缘图像;以及创建装置,用于基于从该保持装置所保持的压缩图像而创建的边缘图像、或者基于该保持装置所保持的保持边缘图像来创建图像。
2.根据权利要求1所述的图像处理装置,其特征在于,还包括判定装置,用于判定是否存在用于从压缩图像创建边缘数据的加速器,其中,当存在该加速器时,在图像未经边缘处理而进行压缩之后,该保持装置保持图像的压缩图像,以及其中,当不存在该加速器时,在图像经过边缘处理之后,该保持装置保持图像的边缘图像。
3.根据权利要求1所述的图像处理装置,其特征在于,还包括用于存储边缘图像的存储器。
4.根据权利要求3所述的图像处理装置,其特征在于,当该存储器的可用空间小于预定大小时,在图像未经边缘处理而进行压缩之后,该保持装置保持图像的压缩图像,以及其中,当该存储器的可用空间等于或大于预定大小时,在图像经过边缘处理之后,该保持装置保持图像的边缘图像。
5.根据权利要求1所述的图像处理装置,其特征在于,还包括打印装置,用于打印由该创建装置所创建的图像。
6.根据权利要求1所述的图像处理装置,其特征在于,该压缩图像或该边缘图像包括字符图像,以及其中,该字符图像被保持在字体高速缓存中。
7.一种图像处理方法,包括保持步骤,用于根据预定的条件,在图像未经边缘处理而进行压缩之后保持图像的压缩图像,或者在图像经过边缘处理之后保持图像的边缘图像;以及创建步骤,用于基于从该保持步骤所保持的压缩图像而创建的边缘图像、或者基于该保持步骤所保持的保持边缘图像来创建图像。
8.根据权利要求7所述的图像处理方法,其特征在于,还包括判定步骤,用于判定是否存在用于从压缩图像创建边缘数据的加速器,其中,当存在该加速器时,在图像未经边缘处理而进行压缩之后,该保持步骤保持图像的压缩图像,以及其中,当不存在该加速器时,在图像经过边缘处理之后,该保持步骤保持图像的边缘图像。
9.根据权利要求7所述的图像处理方法,其特征在于,还包括判定步骤,用于判定用于存储边缘图像的存储器的可用空间是否小于预定大小。
10.根据权利要求9所述的图像处理方法,其特征在于,当该存储器的可用空间小于预定大小时,在图像未经边缘处理而进行压缩之后,该保持步骤保持图像的压缩图像,以及其中,当该存储器的可用空间等于或大于预定大小时,在图像经过边缘处理之后,该保持装步骤保持图像的边缘图像。
11.根据权利要求7所述的图像处理方法,其特征在于,还包括打印步骤,用于打印由该创建步骤所创建的图像。
12.根据权利要求7所述的图像处理方法,其特征在于,该压缩图像或该边缘图像包括字符图像,以及其中,该字符图像被保持在字体高速缓存中。
全文摘要
一种图像处理装置和图像处理方法。该图像处理装置根据预定的条件在图像未经边缘处理而进行压缩之后保持图像的压缩图像,或者在图像经过边缘处理之后保持图像的边缘图像。该图像处理装置基于从保持单元所保持的压缩图像而创建的边缘图像、或者基于保持单元所保持的保持边缘图像来创建图像。因此,实现了适合于图像处理装置的能力的最佳性能。
文档编号H04N1/23GK1767588SQ200510114578
公开日2006年5月3日 申请日期2005年10月26日 优先权日2004年10月26日
发明者佐藤幸优 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1