打印机同步转换影像处理的方法
技术领域
本发明涉及一种打印机同步转换影像处理的技术,尤其涉及一种利用软件队列控制区段影像缓冲区中的资源与处理顺序,使RIP装置与CMS装置得以同步运作的方法。
背景技术
将待打印文件的数据转换为CMYK位图数据的现有技术为利用软件循序执行,如图1所示,首先打印机驱动程序会将待打印文件的数据转为PDL(Printer definition language)文件11;利用PDL解析模块12将PDL文件11分为数个RGB区段影像(image segment);再由RGB转换模块14产生RGB区段影像的RGB位图;色彩媒合(color matching)模块16将RGB区段影像的RGB位图转换为CMYK区段影像的CMYK位图;及筛选(screening)模块18产生CMYK区段影像个别的C、M、Y及K(半色调)位图19。
利用软件循序执行将待打印文件的数据转换为CMYK位图数据是一连串的步骤:首先,应用程序要求打印机驱动程序传送待打印文件的数据至打印机。打印机驱动程序会将待打印文件的每一页转成PDL格式的PDL页,PDL格式的PDL页包含不同的对象20(object),例如,文字(text)、图形(graphics)及光栅影像(raster images)...等及转换命令,例如,色彩(color)、图形状态(graphic state)、样式(patten)及大小(size)...等。如图2、图3所示所示,而打印机端具有一个模拟器用以执行转换工作,其中模拟器的PDL解析(parser)模块12负责解析PDL页并将PDL页中所有的对象分成数个RGB区段影像13。其中一个RGB区段影像13具有64、128、256或更多的扫瞄线(scan line)21。模拟器的RGB转换模块14根据每个RGB区段影像13中的对象与命令,产生每个RGB区段影像13的RGB位图15,并储存于RGB区段影像换冲区(image segment buffer),其中RGB位图15的每个像素17为24位的数据。模拟器的色彩媒合模块16将每个RGB区段影像13的RGB位图15转换为CMYK区段影像的CMYK位图19,其中每个CMYK位图19的像素为8位的数据。之后,模拟器的筛选模块18产生CMYK区段影像个别的C、M、Y及K(半色调)位图,根据打印引擎(engine)的分辨率,个别的C、M、Y及K(半色调)位图的色彩深度(color depth)可为1位、2位或4位。最后,将CMYK区段影像个别的C、M、Y及K(半色调)位图传送到打印引擎进行打印。
除了利用软件循序执行待打印文件数据的转换工作外,还有装置转换影像处理硬件的现有技术,将色彩媒合模块16与筛选模块18利用硬件装置实作,此硬件装置称之为CMS装置24,可加快待打印文件的数据转换为CMYK位图数据的速度。如图3所示,其包括软件功能与硬件功能两部分,软件功能部分执行上述PDL解析模块之前的工作,将待打印文件的数据分成数个RGB区段影像,硬件功能部分则执行后续的转换工作,其硬件装置包含有RIP装置22与CMS装置24。
请参考图3至图5并说明如下:模拟器给RIP装置22描绘RGB位图线的规格,并翻译PDL对象与命令,RIP装置22依此产生RGB位图线(bitmapline)23,如图4所示,对于RGB区段影像13中的对象20,假设其宽度为W、高度为H,模拟器通过一遮罩来描绘RGB位图线,例如,若要描绘第i条线,则通过左遮罩W1i、右遮罩W2i共同作用描绘出第i条线,并翻译PDL对象与命令,使RIP装置22依此产生RGB位图线23,RIP装置22并将其储存至内存中(区段影像缓冲区)。RIP装置中有一个特别的功能,称为DMA链(chain),在高速缓冲存储器(cache)中储存已转换的RGB位图线,直到对象所有扫瞄线已转换为RGB位图线或高速缓冲存储器已满,才通过DMA信道将对象的RGB位图传送到区段影像缓冲区。如图5所示当RGB区段影像13所有对象20被转换后,模拟器的PDL解析模块传送区段影像波结束卷标201给RIP装置22,此时,RIP装置22发布中断信号(INT_EOB)25给CPU,然后相对应的中断服务例行程序(rip_ISR)通知CMS装置24经由DMA信道获得RGB区段影像13的RGB位图15(包括R位图151、G位图152和B位图153),并利用CMS装置24产生CMYK区段影像的CMYK位图19,也即色彩深度(color depth)为1位、2位或4位的C位图191、M位图192、Y位图193及K位图194,个别的C、M、Y及K位图储存于CMYK区段影像缓冲区,且C、M、Y及K位图储存到内存的前可先进行压缩,等到传送到打印引擎打印的前再进行解压缩,借以节省内存空间。当CMS装置24产生CMYK区段影像的CMYK位图19时,CMS装置24发布中断信号(INT_CM)27给CPU,然后相对应的中断服务例行程序(cms_ISR)会通知打印引擎经由DMA信道获得C、M、Y及K位图,也即打印引擎根据CMYK位图19数据进行打印。
将待打印文件的数据转换为CMYK位图数据的现有技术是利用软件执行或是配合硬件装置来实作,然而其转换数据大部分的步骤或工作是循序完成,效率显然不高。
发明内容
本发明所要解决的技术问题在于提供一种打印机同步转换影像处理的方法,利用软件队列控制,使RIP装置与CMS装置能够同步运作的技术,以加快将待打印文件的数据转换为CMYK位图数据的速度。
为了实现上述目的,本发明提供了一种打印机同步转换影像处理的方法,通过数个软件队列(第一队列、第二队列及第三队列)控制其硬件运作顺序及区段影像缓冲区的资源,使RIP装置与CMS装置能同步运作。区段影像缓冲区包含有数个RGB区段影像缓冲区,用以储存RIP装置所产生的RGB位图,及数个YMCK区段影像缓冲区,用以储存CMS装置所产生的CMYK位图,其运作方法包含下列步骤:
当能得到第一队列所控制的RGB区段影像缓冲区的使用权时,RIP装置产生RGB区段影像的RGB位图。
当产生RGB位图后,RIP装置发布一个中断,相对应的中断服务例行程序(rip_ISR)传送区段影像识别码至第二队列,此区段影像识别码触发一个执行绪(thread),称为第一执行绪,设定在RIP装置与CMS装置之间的DMA信道,借以快速地传送RGB位图至CMS装置,然后利用CMS装置产生CMYK区段影像的CMYK位图,及释放第一队列的区段影像识别码。
当产生CMYK位图后,CMS装置发布一个中断,相对应的中断服务例行程序(cms_ISR)传送区段影像识别码至第三队列,此区段影像识别码触发一个执行绪,称为第二执行绪,设定在CMS装置与打印引擎之间的DMA信道,借以快速地传送CMYK位图至打印引擎,及释放第三队列的区段影像识别码。
本发明提供的该打印机同步转换影像处理的方法,由软件队列控制多个RGB区段影像缓冲区与多个CMYK区段影像缓冲区,使一RIP装置与一CMS装置能同步运作,该方法包含下列步骤:
当获得第一队列控制的该RGB区段影像缓冲区时,执行该RIP装置,并传送第一队列的一区段影像识别码;
由一第二队列接收该区段影像识别码,触发一第一执行绪执行该CMS装置,并传送该区段影像识别码与释放该第一队列的该区段影像识别码;及
由一第三队列接收该区段影像识别码,触发一第二执行绪传送一CMYK位图,并释放该第三队列的该区段影像识别码。
上述的打印机同步转换影像处理的方法,其中该第一执行绪还包含下列步骤:
确认该第二队列是否得到该区段影像识别码;
确认是否可获得一CMYK区段影像缓冲区;
设定在该RIP装置与该CMS装置之间的DMA信道,借以传送一RGB位图至该CMS装置;及
释放该第一队列的该区段影像识别码。
上述的打印机同步转换影像处理的方法,其中该第二执行绪还包含下列步骤:
确认该第三队列是否得到该区段影像识别码;
设定在该CMS装置与该打印引擎之间的DMA信道,借以传送该CMYK位图至该打印引擎;及
释放该第三队列的该区段影像识别码。
上述的打印机同步转换影像处理的方法,其中该RGB区段影像缓冲区由该第一队列所控制,用以储存该RIP装置产生的该RGB位图。
上述的打印机同步转换影像处理的方法,其中该CMYK区段影像缓冲区系由该第三队列所控制,用以储存该CMS装置产生的该CMYK位图。
上述的打印机同步转换影像处理的方法,其中该CMYK位图还包含一C位图、一M位图、一Y位图及一K位图。
上述的打印机同步转换影像处理的方法,其中该第三队列还包含一C队列、一M队列、一Y队列及一K队列。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为现有的软件执行转换影像处理的示意图;
图2为扫瞄线示意图;
图3为现有的硬件执行转换影像处理的示意图;
图4为转换扫瞄线为位图线的示意图;
图5为硬件执行转换影像处理的架构图;
图6为本发明所提的打印机同步转换影像处理的方法的示意图;
图7为本发明所提的打印机同步转换影像处理的方法的模拟器运作流程图;
图8A为本发明所提的打印机同步转换影像处理的方法的第一中断服务例行程序运作流程图;
图8B为本发明所提的打印机同步转换影像处理的方法的第一执行绪运作流程图;
图9A为本发明所提的打印机同步转换影像处理的方法的第二中断服务例行程序运作流程图;及
图9B为本发明所提的打印机同步转换影像处理的方法的第二执行绪运作流程图。
具体实施方式
请参考图6,并说明如下:将待打印文件的数据转换成为CMYK位图数据的主要硬件装置为RIP装置22与CMS装置24,RIP装置22用以将区段影像基底对象20(image segment-based object)转换成RGB位图15,并将其储存在RGB区段影像缓冲区中,CMS装置24用以将RGB区段影像13的RGB位图15转换成CMYK区段影像的CMYK位图19(包含个别的C位图191、M位图192、Y位图193及K位图194),并将个别的C、M、Y及K位图191~194储存在相对应的C、M、Y及K区段影像缓冲区中。本发明通过数个软件队列(包含第一队列32、第二队列34及第三队列36,其中该第三队列36还包括C队列361、M队列362、Y队列363和K队列364。)控制其硬件运作顺序及区段影像缓冲区的资源,使RIP装置22与CMS装置24能同步运作,以加快将待打印文件的转换为CMYK位图数据的速度,其运作方法揭露如下,也为本发明的较佳实施例:
本发明的较佳实施例配合图7至图9B说明如下:
图7为本发明所提的打印机同步转换影像处理的方法的模拟器运作流程图,请参考图7并说明如下:
步骤700,模拟器的PDL解析模块负责解析PDL页并将PDL页中所有的对象分成数个RGB区段影像;
步骤710,检查是否能获得一个RGB区段影像缓冲区的使用权(RGB区段影像缓冲区由第一队列所控制);
步骤720,如果不能得到RGB区段影像缓冲区则继续等待,直到获得RGB区段影像缓冲区为止,当获得一个RGB区段影像缓冲区则转换RGB区段影像,并产生RGB区段影像的RGB位图;
步骤730,判断是否为最后一个RGB区段影像;如果不是最后一个RGB区段影像则继续转换RGB区段影像,直到最后一个RGB区段影像转换完毕为止。
图8A为本发明所提的打印机同步转换影像处理的方法的第一中断服务例行程序运作流程图,请参考图8A并说明如下:
步骤800,当RIP装置产生RGB区段影像的RGB位图后,RIP装置将发布一个中断,相对应的中断服务例行程序(rip_ISR)会传送区段影像识别码到第二队列;
步骤810,区段影像识别码触发一个工作程序(第一执行绪)。
图8B为本发明所提的打印机同步转换影像处理的方法的第一执行绪运作流程图,请参考图8B并说明如下:
步骤820,判断第二队列是否获得一个区段影像识别码,如果没有获得区段影像识别码则继续等待,直到获得区段影像识别码为止;如果第二队列获得区段影像识别码,则转到步骤830;
步骤830,判断是否能获得一个CMYK区段影像缓冲区,如果不能获得CMYK区段影像缓冲区则继续等待,直到获得一个CMYK区段影像缓冲区为止;如果获得CMYK区段影像缓冲区,则转到步骤840;
步骤840,设定RIP装置与CMS装置之间的DMA信道,借以快速地传送RGB位图至CMS装置;及
步骤850,释放第一队列的区段影像识别码,也即RGB区段影像缓冲区可再被另一个RGB区段影像使用,而RGB区段影像缓冲区的数目取决于系统内存的空间大小。
图9A为本发明所提的打印机同步转换影像处理的方法的第二中断服务例行程序运作流程图,请参考图9A并说明如下:
步骤900,当CMS装置产生CMYK位图(包含C、M、Y及K位图)后,CMS装置会发布一个中断,相对应的中断服务例行程序(cms_ISR)会传送一个区段影像识别码给第三队列(包含相对应于C、M、Y及K位图的C、M、Y及K队列所组成);
步骤910,区段影像识别码触发一个工作程序(第二执行绪)。
图9B为本发明所提的打印机同步转换影像处理的方法的第二执行绪运作流程图,打印机的打印管理器要求从CMYK区段影像缓冲区(包含C、M、Y及K区段影像缓冲区)传送CMYK区段影像的CMYK位图至打印引擎,请参考图9B并说明如下:
步骤920,判断第三队列是否获得一个区段影像识别码,如果没有获得区段影像识别码则继续等待,直到获得区段影像识别码为止;如果获得区段影像识别码则转到步骤930;
步骤930,设定CMS装置与打印引擎之间的DMA信道,借以快速地传送CMYK区段影像的CMYK位图至打印引擎;及
步骤940,当CMYK位图传送到打印引擎后,释放第三队列的区段影像识别码,即CMYK区段影像缓冲区可再被另一个CMYK区段影像使用,而CMYK区段影像缓冲区的数目取决于系统内存的空间大小。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。