CN1197035C - 图像处理装置、图像处理方法、印刷控制装置及记录媒体 - Google Patents

图像处理装置、图像处理方法、印刷控制装置及记录媒体 Download PDF

Info

Publication number
CN1197035C
CN1197035C CNB01135352XA CN01135352A CN1197035C CN 1197035 C CN1197035 C CN 1197035C CN B01135352X A CNB01135352X A CN B01135352XA CN 01135352 A CN01135352 A CN 01135352A CN 1197035 C CN1197035 C CN 1197035C
Authority
CN
China
Prior art keywords
pixel
error
mentioned
point
judging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB01135352XA
Other languages
English (en)
Other versions
CN1348153A (zh
Inventor
角谷繁明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1348153A publication Critical patent/CN1348153A/zh
Application granted granted Critical
Publication of CN1197035C publication Critical patent/CN1197035C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Color, Gradation (AREA)

Abstract

课题是不会导致图像质量的劣化,迅速地将图像数据变换成根据点的形成有无表现的印刷数据。每次判断点的形成的有无时,将该判断像素中发生的色调误差暂时保存在中间缓冲器中。根据规定数的多个像素的色调误差,算出扩散到该多个像素周边的未判断像素中的扩散误差,扩散到误差缓冲器中。向误差缓冲器的扩散,也可以在发生色调误差时使误差扩散到中间缓冲器中后写入误差缓冲器中,或者也可以将规定像素数的色调误差保存在中间缓冲器中,将根据这些多个色调误差算出的色调误差写入误差缓冲器中。如果这样做,与发生色调误差时扩散到误差缓冲器中的情况相比,只集中地扩散规定像素数的色调误差,能迅速地扩散色调误差。能利用这样的方法实现与平均误差最小法同样的处理。

Description

图像处理装置、图像处理方法、印刷控制装置及记录媒体
技术领域
本发明涉及对利用构成图像的多个像素的色调值表现的图像数据进行变换的技术,详细地说,涉及将该图像数据变换成由有无形成各像素的点决定的表现形式的图像数据的技术。
背景技术
通过在称为印刷媒体或液晶画面的显示媒体上形成点来表现图像的图像显示装置被广泛地用作各种图像机器的输出装置。这样的图像显示装置虽然只能局部地表现是否形成了点的某一状态,但通过根据图像的色调值,适当地控制点的形成密度,能表现色调连续变化的图像。
在这些图像显示装置中,为了用适当的密度形成点,作为根据图像的色调值判断各像素有无形成点用的具有代表性的方法,有称为误差扩散法的方法、或者与其数学等效的称为平均误差最小法的方法等。
误差扩散法是这样一种方法,即,将入目像素中形成了点或未形成点而产生的色调表现的误差扩散并存储在入目像素周边的未判断像素中,在判断未判断像素的点的形成有无时,判断点的形成有无,以便消除从周边像素扩散的误差。另外,平均误差最小法是这样一种方法,即,不使由于判断点的形成有无所产生的色调表现的误差扩散到周边像素中,而存储在入目像素中,当代之以判断未判断像素的点的形成有无时,读出存储在周边像素中的误差,判断入目像素的点的形成有无,以便消除这些误差。在这两种方法中,都是判断点的形成有无,以便消除周边像素中产生的色调表现的误差,所以能用对应于图像的色调值的适当的密度形成点。因此,如果应用这些方法判断点的形成有无,则能用图像显示装置显示高质量的图像。
可是,在误差扩散法中,由于一边使入目像素中发生的色调表现的误差扩散到周边的未判断像素中,一边判断点的形成有无,所以存在判断点的形成有无时要花费将误差扩散并存储在这些像素中的时间的问题。另外,平均误差最小法也一样,由于一边从周边像素读出色调表现的误差,一边判断点的形成有无,所以存在判断点的形成有无时要花费从周边像素读出误差的时间的问题。不管在哪一种情况下,如果判断点的形成有无时花费时间,就难以迅速地显示图像。
发明内容
本发明就是为了解决现有技术中的上述的课题而完成的,其目的在于提供一种通过维持与采用误差扩散法或平均误差最小法时同等的图像质量,缩短判断点的形成有无所需要的时间,能迅速地显示高质量的图像的技术。
为了解决上述课题的至少一部分,本发明的第一图像处理装置采用以下结构。即,
该图像处理装置通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据,该图像处理装置的要点在于备有:
每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差后暂时保存起来的色调误差保存装置;
根据规定数的多个像素的上述暂时保存的色调误差,算出位于该规定数的多个像素的周边扩散到未判断点的形成有无的未判断像素中的扩散误差,将该算出的扩散误差对应地存储在该未判断像素中的扩散误差存储装置;以及
依据对应于上述未判断像素存储的上述扩散误差,根据上述图像数据中的该未判断像素的色调值,判断该未判断像素的点的形成有无的点形成判断装置。
另外,对应于上述的第一图像处理装置的本发明的第一图像处理方法是一种通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据的图像处理方法,该图像处理方法的要点在于:
每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差后暂时保存起来,
根据规定数的多个像素的上述暂时保存的色调误差,算出位于该规定数的多个像素的周边扩散到未判断点的形成有无的未判断像素中的扩散误差,
对应于上述未判断像素,存储上述算出的扩散误差,
依据对应于上述未判断像素存储的上述扩散误差,根据上述图像数据中的该未判断像素的色调值,判断该未判断像素的点的形成有无。
在这样的第一图像处理装置或图像处理方法中,通过判断点的形成有无,将所产生的上述色调误差暂时保存起来,根据规定数的色调误差,算出上述未判断像素的扩散误差后存储起来。如果这样做,则由于能将规定数的多个像素的色调误差汇总在周边的未判断像素中进行扩散并存储,所以与使各像素中产生的色调误差个别地扩散并存储的情况相比,能迅速地存储。其结果,能缩短判断点的形成有无所需要的时间,能迅速地显示高质量的图像。
在这样的第一图像处理装置中,与上述扩散误差存储装置的读写相比,上述色调误差存储装置也可以作为能迅速读写上述色调误差的存储装置。
上述规定像素数的色调误差被暂时保存在上述色调误差存储装置中之后存储在上述扩散误差存储装置中,所以该色调误差存储装置能与该扩散误差存储装置同样频繁地进行读写。因此,如果能使该色调误差存储装置比该扩散误差存储装置的读写更迅速地读写,则发生该色调误差后,能缩短作为最后的扩散误差被存储起来为止的时间,进而能缩短判断点的形成有无所需要的时间,所以很适用。
在这样的第一图像处理装置或变换方法中,对应于各未判断像素存储上述扩散误差时,也可以如下进行。即,每次算出上述色调误差时,算出分配给各个未判断像素的分配误差,将该算出的分配误差积蓄在每个未判断像素中,如果积蓄了全部上述规定数的多个像素的上述分配误差,则也可以将每个未判断像素中积蓄的全部该分配误差作为上述扩散误差对应于上述未判断像素积蓄起来。
每次这样求色调误差时,如果将分配误差积蓄在各未判断像素中,则算出上述规定数的上述色调误差后,能迅速地进行对应于各未判断像素存储上述扩散误差为止的处理。只要使规定数的多个像素的色调误差扩散一次并存储后,即使对于不能存储应扩散的全部色调误差的未判断像素来说,也能通过积蓄规定像素数的扩散误差,使全部色调误差扩散并存储起来。因此,如果采用这样的方法,则由于能迅速地进行使扩散误差扩散并存储在未判断像素中,所以能缩短判断点的形成有无所需要的时间。
在这样的第一图像处理装置或变换方法中,对应于各未判断像素存储扩散误差时,也可以如下变换上述的方法。即,保存规定数的多个像素的色调误差,根据所保存的规定数的色调误差,算出扩散到各未判断像素中的扩散误差,对应于各未判断像素积蓄该算出的全部扩散误差即可。
如果这样保存规定数的多个色调误差,则算出应扩散到各未判断像素中的扩散误差的处理变得简便了,进而将该规定像素数的色调误差汇总到未判断像素中进行扩散的处理也变得简便了,所以很适用。另外,由于该规定像素数比该未判断像素数少,所以如果采用这样的方法,比起每次算出色调误差时将分配误差积蓄在各未判断像素中的方法来,能节省存储容量。
在上述的第一图像处理装置或变换方法中,对应于各未判断像素存储扩散误差时,也可以如下进行。即,每次算出上述色调误差时,算出分配给各个未判断像素的分配误差,将该算出的分配误差积蓄在每个未判断像素中,对应于上述未判断像素,将上述规定数的多个像素部分的积蓄了分配误差的各未判断像素的分配误差作为上述扩散误差存储起来即可。
这样,如果每次求色调误差时将分配误差积蓄在各个未判断像素中,将积蓄了规定像素数的分配误差的未判断像素的分配误差作为上述扩散误差存储起来,则能对应于各个未判断像素迅速地进行存储该规定像素数的扩散误差的处理,所以很理想。
在这样的第一图像处理装置或变换方法中,对应于未判断像素存储扩散误差时,也可以如下变换上述的方法。即,保存规定数的多个像素的色调误差,根据该保存的色调误差,算出多个该未判断像素中该规定数的色调误差全部被扩散到特定像素中的扩散误差,对应于该特定像素存储即可。
如果这样保存规定像素数的色调误差,算出扩散到上述特定像素的扩散误差,作为上述扩散误差存储起来,则使该扩散误差扩散到未判断像素中存储起来的处理变得简便了。其结果,使该规定像素数的色调误差扩散并存储的处理变得迅速了,进而能缩短显示图像所需要的时间,所以很理想。
在上述的第一图像处理装置或变换方法中,对应于未判断像素存储扩散误差时,也可以如下进行。即,对于上述规定数的多个像素周边的第一规定区域内的各个第一未判断像素来说,根据该规定数的多个像素的上述色调误差,算出扩散到该第一未判断像素中的上述扩散误差,对应地存储在该第一未判断像素中。另外,对于在上述规定数的多个像素的周边上述第一规定区域内不包含的第二未判断像素来说,每次算出上述色调误差时,根据该色调误差算出被扩散到各个该第二未判断像素中的上述扩散误差,对应地存储在该第二未判断像素中。
如果这样做,则由于能将从规定数的多个像素分配的分配误差汇总扩散到各个未判断像素中,所以在总体上能缩短判断点的形成有无所需要的时间,很理想。
在这样的图像处理装置中,作为每次算出色调误差时算出扩散误差并扩散的上述第二未判断像素,也可以算出上述扩散误差后存储在包括上述第一规定区域的第二规定区域内的未判断像素中。
如果使在规定数的多个像素中产生的色调误差在大范围内扩散,则在色调误差的扩散范围内就包含那么多的未扩散像素,所以汇总、扩散并存储规定像素数的色调误差用的处理有复杂化的倾向。与此不同,将使色调误差扩散的范围分割成上述规定数的多个像素周边的第一规定区域和包含该第一规定区域的第二规定区域,关于该第一规定区域中的第一未判断像素,根据规定数的多个像素的色调误差,算出并存储扩散到各像素中的扩散误差,关于该第一规定区域以外的第二未判断像素,每次算出色调误差时,算出来自该色调误差的扩散误差,对应地存储在该各个未判断像素中。如果这样做,则由于应汇总扩散规定像素数的色调误差的未判断像素数减少了,所以能简化处理,很合适。另外,将规定数的多个像素的色调误差汇总、扩散并存储在第一规定区域内的第一未判断像素中时,当然适合于采用上述的各种方法。
在这样的第一图像处理装置或变换方法中,也可以根据判断上述点的形成有无的条件,将使上述色调误差扩散到周边像素中的范围切换成上述规定数的多个像素周边的上述第一规定区域、以及包括该第一规定区域的第二规定区域。
由于图像质量上的要求等,有的采用这样的技术,即,根据点的形成有无的判断条件,切换使误差扩散的范围的宽窄。在这样的情况下,将使色调误差扩散的范围切换成规定数的多个像素周边的第一规定区域、以及包含该第一规定区域的第二规定区域,同时对于该第一规定区域中不包含的远方的未判断像素来说,如果使色调误差直接扩散,则能简化汇总、扩散并存储规定像素数的色调误差的处理,所以是合适的。
另外,也可以根据上述规定数的多个像素的色调值、以及关于各像素的点的形成有无的判断结果,将使上述误差扩散的范围切换成上述第一规定区域、以及包含该第一规定区域的第二规定区域。
例如,在欲表现的图像数据的色调值小的区域中,有时在形成了点的情况下,如果使形成了点的误差在大范围内扩散,则能改善点的分散性,提高图像质量。或者在图像数据的色调值大的区域,有时在未形成点的情况下,如果使未形成点的误差在大范围内扩散,同样能提高图像质量。在这样的情况下,将来自上述规定数的多个像素的扩散误差汇总扩散到上述第一规定区域的未判断像素中,同时有时在形成了点的情况下或未形成点的情况下,每次算出色调误差时,使误差扩散到该第一规定区域中不包含的远方的未判断像素中。如果这样做,则由于很少会使误差扩散到远方的未判断像素中,所以实际上几乎不会降低处理速度,能简化判断点的形成有无的处理,所以是合适的。
在上述的第一图像处理装置或变换方法中,将上述规定数的多个像素作为互相相邻的像素,根据该规定数的多个像素的各色调误差,算出上述扩散误差,对应地存储在上述未判断像素中即可。
在发生了色调误差的多个像素互相相邻的情况下,与互相不相邻的情况相比,使各像素中发生的色调误差扩散的范围互相重复的部分增大。因此,在根据规定像素数的色调误差算出扩散到各未判断像素中的扩散误差并扩散到各像素中的情况下,如果该规定数的多个像素互相相邻,则来自多个色调误差的扩散误差被汇总扩散的未判断像素增多,所以相应地能迅速扩散并存储色调误差,很合适。另外,即使在这样的情况下,在将根据规定像素数的色调误差算出的扩散误差扩散并存储在未判断像素中时,当然能采用上述的各种方法。
在根据规定数的相邻的多个像素的色调误差算出扩散误差的上述第一图像处理装置或变换方法中,判断未判断像素的点的形成有无时,除了已经对应地存储在该未判断像素中的扩散误差以外,也可以依据来自与该未判断像素相邻的像素的上述扩散误差,判断点的形成有无。
如果这样做,在判断已经判断了相邻像素的点的形成有无的未判断像素的点的形成有无的情况下,对于从相邻的像素扩散的扩散误差来说,由于不进行扩散并存储在该未判断像素中的处理,就能判断点的形成有无,所以能迅速地进行判断,很适合。
另外,为了解决上述课题的至少一部分,本发明的第二图像处理装置采用以下结构。即,
该图像处理装置通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据,该图像处理装置的要点在于备有:
每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差,对应地存储在该判断像素中的色调误差存储装置;
将在欲判断上述点的形成有无的入目像素的周边已经判断了该点的形成有无的每个已判断像素中对应地存储的上述色调误差保存在该每个已判断像素中的色调误差保存装置;
依据保存在每个上述已判断像素中的色调误差,根据上述图像数据中的入目像素的色调值,判断点的形成有无的点形成判断装置;以及
在上述入目像素之后检测判断点的形成有无的下一个入目像素的上述已判断像素,从上述色调误差存储装置读出该检测的已判断像素中暂时未保存上述色调误差的已判断像素的色调误差,用该读出的色调误差更新该下一个入目像素的判断中不使用的该色调误差,供该下一个入目像素的判断的色调误差更新装置。
对应于上述第二图像处理装置的本发明的第二图像处理方法是一种通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据的图像处理方法,该图像处理方法的要点在于:
每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差,对应地存储在该判断像素中,
将在欲判断上述点的形成有无的入目像素的周边已经判断了该点的形成有无的每个已判断像素中对应地存储的上述色调误差保存在该每个已判断像素中,
依据保存在每个上述已判断像素中的色调误差,根据上述图像数据中的入目像素的色调值,判断点的形成有无,
在上述入目像素之后检测判断点的形成有无的下一个入目像素的上述已判断像素,
读出上述检测的已判断像素中未保存上述色调误差的已判断像素的色调误差,用该读出的色调误差更新该下一个入目像素的判断中不使用的该色调误差后,供该下一个入目像素的判断。
在这样的第二图像处理装置及图像处理方法中,在判断入目像素的点形成时,保存对应地存储在上述已判断像素中的色调误差。依据该保存的色调误差,判断点的形成有无。在判断下一个入目像素的点的形成有无时,首先检测该下一个入目像素的已判断像素,其次,检查该入目像素与已判断像素的异同。然后,读出该入目像素的点形成判断中未使用的存储在已判断像素中的色调误差,用读出的色调误差更新下一个入目像素的判断中不使用的色调误差后,供该下一个入目像素的判断。
如果这样做,则判断下一个入目像素的点形成时,虽然在该下一个入目像素的判断中使用,但只读出入目像素的点形成判断中不使用的色调误差即可。其结果,能减少为了点的形成判断所必须读出的色调误差数,能缩短判断点的形成有无所需要的时间。
在这样的第二图像处理装置或变换方法中,也可以暂时保存上述入目像素中发生的色调误差,用该保存的色调误差更新下一个入目像素的判断中不使用的上述色调误差。
如果这样做,则由于不读出对应地存储在入目像素中的色调误差,就能进行下一个入目像素的点的形成判断,所以能迅速地判断点的形成有无。
另外,本发明的上述的第一图像处理装置或第二图像处理装置能适用于这样的印刷控制装置,即该印刷控制装置通过将控制墨点的形成用的印刷数据输出给在印刷媒体上形成墨点来印刷图像的印刷部,控制该印刷部。即,在上述的第一图像处理装置或第二图像处理装置中,接收表示个像素的色调值的图像数据,能将该图像数据迅速地变换成由点的形成有无决定的图像数据。因此,如果将这样的第一图像处理装置或第二图像处理装置应用于上述的印刷控制装置中,则能迅速地将图像数据变换成印刷数据。如果将这样获得的印刷数据输出给上述印刷部,则能用该印刷部迅速地印刷高质量的图像,所以很合适。
另外,将实现上述的第一图像处理方法或第二图像处理方法的程序读入计算机,用该计算机能实现本发明。因此,作为下述的记录媒体的形态也包含本发明。即,对应于上述的第一图像处理方法的记录媒体是一种记录了能用计算机读取程序的记录媒体,上述程序用来实现下述方法,即通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据,该记录媒体的要点在于记录能实现下述功能的程序,这些功能包括:
每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差,暂时保存起来的功能;
根据规定数的多个像素的上述暂时保存的色调误差,算出扩散到位于规定数的多个像素的周边未进行点的形成的有无的判断的未判断像素中的扩散误差的功能;
将上述算出的扩散误差对应地存储在上述未判断像素中的功能;以及
依据对应地存储在上述未判断像素中的上述扩散误差,根据上述图像数据中的该未判断像素的色调值,判断该未判断像素的点的形成的有无的功能。
另外,对应于上述的第二图像处理方法的记录媒体是一种记录了能用计算机读取程序的记录媒体,上述程序用来实现下述方法,即通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据,该记录媒体的要点在于记录能实现下述功能的程序,这些功能包括:
每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差,对应地存储在该判断像素中的功能;
将对应地存储在位于欲判断上述点的形成的有无的入目像素周边已判断了该点的形成的有无的每个已判断像素中的上述色调误差保存在该每个已判断像素中的功能;
依据保存在每个上述已判断像素中的色调误差,根据上述图像数据中的入目像素的色调值,判断点的形成有无的功能;
在上述入目像素之后检测判断点的形成有无的下一个入目像素的上述已判断像素的功能;以及
读出上述检测的已判断像素中未保存上述色调误差的已判断像素的色调误差,用该读出的色调误差更新该下一个入目像素的判断中不使用的该色调误差后,供该下一个入目像素的判断的功能。
如果将记录在这些记录媒体中的程序读入计算机中,用该计算机实现上述的各种功能,则能将表示每个像素的色调值的图像数据迅速地变换成由点的形成的有无决定的表现形式的图像数据。
附图说明:
图1是本实施例的印刷系统的简略结构图。
图2是表示作为本实施例的图像处理装置的计算机的结构的说明图。
图3是作为本实施例的图像显示装置的打印机的简略结构图。
图4是表示本实施例的图像处理装置中进行的图像数据变换处理的流程的流程图。
图5是示意地表示用误差扩散法判断点的形成的有无的情况的说明图。
图6是举例表示对每个像素设定误差扩散系数的情况的说明图。
图7是表示在第一实施例的色调数变换处理中缩短处理时间的原理的说明图。
图8是表示第一实施例的色调数变换处理的流程的流程图。
图9是表示第一实施例的色调数变换处理中一次使多个像素的误差扩散的情况的说明图。
图10是表示第一实施例的变形例的色调数变换处理的流程的流程图。
图11是表示在第二实施例的色调数变换处理中缩短处理时间的原理的说明图。
图12是表示在第二实施例的色调数变换处理中用中间缓冲器和误差缓冲器读写数据的处理的概要的说明图。
图13是表示第二实施例的色调数变换处理的流程的流程图。
图14是举例表示在各寄存器对应的像素位置相对于入目像素一定的情况下,各寄存器和入目像素周边的像素对应的情况的说明图。
图15是表示在第二实施例的变形例的色调数变换处理中缩短处理时间的原理的说明图。
图16是表示第三实施例的色调数变换处理的流程的流程图。
图17是表示在第三实施例的色调数变换处理中使用扩散范围大的矩阵的情况下、以及使用扩散范围小的矩阵的情况下对色调误差被扩散的范围进行比较的说明图。
图18是表示在第四实施例的变形例的色调数变换处理中缩短处理时间的原理的说明图。
图19是举例表示在第四实施例的变形例的色调数变换处理中在每个像素中设定权重系数的情况的说明图。
图20是表示第四实施例的色调数变换处理的流程的流程图。
14为了更明确地说明本发明的作用·效果,以下按照如下的顺序说明本发明的实施形态。
实施发明的具体方式
A.实施形态;
B.第一实施例;
B-1.装置结构
B-2.图像数据变换处理的概要;
B-3.第一实施例的色调数变换处理;
B-4.变形例;
C.第二实施例;
C-1.第二实施例中缩短色调数变换处理的时间的原理;
C-2.第二实施例的色调数变换处理;
C-3.变形例;
D.第三实施例;
E.第四实施例;
E-1.第四实施例中缩短色调数变换处理的时间的原理;
E-2.第四实施例的色调数变换处理;
A.实施形态:
参照图1说明本发明的实施形态。图1是以印刷系统为例,说明本发明的实施形态用的说明图。本印刷系统由作为图像处理装置的计算机10、以及彩色打印机20等构成。计算机10如果从数字摄象机或彩色析像器等图像机器接收到彩色图像的色调图像数据,便在彩色打印机20中变换成由能印刷的各色点的形成的有无表现的印刷数据。用称为打印驱动器12的专用的程序进行这样的图像数据的变换。另外,能用各种应用程序在计算机10中作成彩色图像的色调图像数据。
打印驱动器12由称为分辨率变换模块、色变换模块、色调数变换模块、交错模块的多个模块构成。用色调数变换模块进行将色调图像数据变换成由点的形成的有无决定的表现形式的处理。后面将说明用其他各种模块进行的处理。彩色打印机20根据用这些模块变换的印刷数据,通过在印刷媒体上形成各色墨点,印刷彩色图像。
如图所示,本发明的印刷系统中的色调数变换模块呈在色调误差计算部和误差缓冲器之间设置中间缓冲器的结构。通过灵活使用该中间缓冲器,能迅速地进行点形成有无的判断。
即,一般说来,如果用点的形成的有无表现色调数据,则自然会在各像素中发生色调表现的误差。用上述的称为误差扩散法或平均误差最小法的方法,将发生的色调误差积蓄在主存储区的一部分中准备的大容量的误差缓冲器中,判断其他像素的点形成有无时,从误差缓冲器读出积蓄在该像素中的误差,考虑读出的误差值,判断点的形成的有无。由此可知,为了判断点的形成的有无,需要对误差缓冲器频繁地进行数据的读写。误差缓冲器使用大容量的缓冲器,读写数据时需要一定的时间,所以如果频繁地读写,就要花费这部分时间。
与此不同,在本发明的印刷系统中的色调数变换模块中,由于灵活使用比误差缓冲器容量小的中间缓冲器,所以如后面详细说明的那样,能减少对误差缓冲器进行读写的频度。由于中间缓冲器能对小容量的区域反复地进行读写,所以与误差缓冲器相比,容易高速地进行读写。例如,在主存储器和CPU之间有比起主存储器来能高速读写的高速缓冲存储器的计算机系统中,如果从中间缓冲器读出数据,则在大多数情况下能期待从高速缓冲存储器读出,即使不特别关照,中间缓冲器也自然能比误差缓冲器高速地读写。
另外,在CPU的寄存器中有余裕的情况下,能将中间缓冲器的至少一部分分配给比起高速缓冲存储器来能以更高的速度进行读写的寄存器,能谋求更加高速化。将中间缓冲器的一部分分配给CPU的寄存器时,例如在C语言中使用register宣言,能用处理软件的源码明确地指定。另外,在最佳化能力高的编译程序中,有的具有将富裕的寄存器自动地分配给使用频度高的变数的功能,在使用这样的编译程序的情况下,即使不明确地指定,中间缓冲器的一部分也能被分配给CPU的寄存器。
这样,在通常的计算机系统中,即使不进行特别的关照,反复进行读写的小容量的中间缓冲器也能高速地进行读写。当然,在不用软件而用硬件等进行处理的情况下,使用小容量的中间缓冲器也能容易地实现能高速读写的结构。
如果减少向数据读写时需要一定时间的误差缓冲器进行读写的频度,则能迅速地进行该部分点形成有无的判断。当然,即使使用中间缓冲器,在逻辑上进行与误差扩散法或平均误差最小法同样的处理,所以能维持与这些方法相同的图像质量。为了减少向误差缓冲器进行读写的频度,在灵活使用中间缓冲器的具体方法中存在各种形态,以下用各种实施例说明这些各种形态。
B.第一实施例:
B-1.装置结构
图2是表示作为第一实施例的图像处理装置的计算机100的结构的说明图。计算机100是以CPU102为中心,用总线116将ROM104和RAM106等互相连接起来构成的众所周知的计算机。CPU102由实际上进行处理的运算器、以及暂时保存处理中的数据的多个寄存器构成。保存在寄存器中的数据远比存储在RAM106中的数据能高速地处理。虽然,也可以灵活地使用称为高速缓冲存储器的特殊的存储元件,代替寄存器。高速缓冲存储器虽然不象寄存器那么重要,但能比RAM106高速地读写数据。另外,如果使用高速缓冲存储器,与使用寄存器的情况相比,容易处理数量更多的数据。
在计算机100上连接着读入软盘124或小型盘126中的数据用的盘控制器DDC109;与外围机器进行数据的收发用的外围机器接口P·I/F108;驱动CRT114用的视频接口V·I/F112等。在P·I/F108上连接着后面所述的彩色打印机200、以及硬盘118等。另外,如果将数字摄象机120或彩色析像器122等连接在P·I/F108上,则能印刷由数字摄象机120或彩色析像器122取入的图像。另外,如果安装网络接口卡NIC110,则将计算机100连接在通信线路300上,能取得连接在通信线路上的存储装置310中存储的数据。
图3是表示第一实施例的彩色打印机200的简略结构的说明图。彩色打印机200是能形成青、品红、黄、黑四色墨点的喷墨打印机。当然,也可以使用能形成除了这四色墨以外,还包括染料浓度低的蓝色(淡蓝)墨和染料浓度低的品红(淡品红)墨的合计六种颜色的墨点的喷墨打印机。另外,以下根据情况,将青墨、品红墨、黄墨、黑墨分别简称为C墨、M墨、Y墨、K墨。
如图所示,彩色打印机200由以下部分构成:安装在托架240上的驱动打印头241、进行墨的喷出及点的形成的机构;利用托架电动机230使该托架240沿着压纸滚筒236的轴向往复移动的机构;利用送纸电动机235输送打印纸P的机构;以及控制点的形成、托架240的移动及打印纸的输送的控制电路260。
在托架240上安装着收容K墨的墨盒242、以及收容C墨、M墨、Y墨等各种墨的墨盒243。一旦将墨盒242、243安装在托架240上,盒内的各种墨便通过图中未示出的导入管,供给设置在打印头241下面的喷出各色墨用的头244至247。在各色墨喷出用头244至247上,一组一组地设置着48个喷嘴Nz以一定的间距k排列的喷嘴列。
控制电路260由CPU261、ROM262和RAM263等构成,通过控制托架电动机230和送纸电动机235的动作,来控制托架240的主扫描和副扫描,同时根据从计算机100供给的印刷数据,在适当的时刻从各喷嘴喷出墨滴。这样,在控制电路260的控制下,通过在印刷媒体上的适当位置形成各色墨点,彩色打印机200能印刷彩色图像。
另外,在各色喷墨头喷出墨滴的方法中能采用各种方法。即,能采用利用压电元件喷出墨的方式、以及利用配置在墨通路中的加热器在墨通路内发生气泡而喷出墨滴的方法等。另外,即使采用利用热复制等现象在打印纸上形成墨点的方式、或利用静电使各色调色剂粉末附着在印刷媒体上的方式的打印机,代替喷出墨也没关系。
另外,也可以采用所谓的可变点打印机,该打印机采用控制从喷墨头喷出的墨滴的大小、或一次喷出多个细小的墨滴且控制喷出的墨滴数的方法,能控制在打印纸上形成的墨点的大小。
B-2.图像数据变换处理的概要
图4是表示第一实施例的作为图像处理装置的计算机100通过将规定的图像处理加在接收的图像数据中,将该图像数据变换成印刷数据的处理流程的流程图。计算机100的操作系统通过启动打印机驱动器,开始进行这样的处理。以下,根据图4简单地说明第一实施例的图像数据变换处理。
打印机驱动器一旦开始进行图像数据变换处理,首先,开始应变换的RGB彩色图像数据的读入(步骤S100)。其次,将取入的图像数据的分辨率变换成彩色打印机200打印用的分辨率(步骤S102)。在彩色图像数据的分辨率比印刷分辨率低的情况下,通过进行线性内插,在相邻图像数据间生成新的数据,反之在比印刷分辨率高的情况下,通过以一定的比例抽出数据,将图像数据的分辨率变换成印刷分辨率。
一旦这样变换分辨率,便进行彩色图像数据的色变换处理(步骤S104)。所谓色变换处理,就是将用R、G、B的色调值的组合表现的彩色图像数据变换成在C、M、Y、K等的彩色打印机200中使用的用各色色调值的组合表现的图像数据的处理。参照称为色变换表(LUT)的三维数表,能迅速地进行色变换处理。
继色变换处理之后,开始色调数变换处理(步骤S106)。所谓色调数变换处理是如下的处理。通过色变换处理变换的色调数据作为各种颜色具有256个色调幅度的数据来表现。与此不同,在本实施例的彩色打印机200中,只能采用“形成点”、“不形成点”中的某一状态。即,本实施例的彩色打印机200只能局限于表现两个色调。不要将具有256个色调的图像数据变换成彩色打印机200能用两个色调表现的图像数据。进行这样的色调数的变换的处理就是色调数变换处理。如上所述,在本实施例中通过使用中间缓冲器,能迅速地进行点的形成的有无的判断。后面将详细说明色调数变换处理。
如果这样结束了色调数变换处理,则打印驱动器便开始进行交错处理(步骤S108)。交错处理是一边考虑点的形成顺序,一边按照传送给彩色打印机200的顺序,重新排列被变换成表示点的形成的有无的形式的图像数据的处理。打印驱动器进行交错处理后将最后获得的图像数据作为印刷数据输出给彩色打印机200(步骤S110)。彩色打印机200根据印刷数据,在印刷媒体上形成各色墨点。其结果,对应于图像数据的彩色图像被印刷在印刷媒体上。
以下,说明在第一实施例的色调数变换处理中,通过使用中间缓冲器,迅速地进行点的形成的有无的判断处理。
B-3.第一实施例的色调数变换处理:
作为说明使用中间缓冲器缩短判断点的形成的有无所需要的时间的原理用的准备,简单地说明在所谓的误差扩散法中进行点的形成的有无的判断的方法。
图5是示意地表示在误差扩散法中,一边使在判断了点的形成的有无的像素中发生的色调误差扩散到周边像素中,一边判断点的形成的有无的情况的说明图。另外,以下将欲判断点的形成的有无所入目的像素称为入目像素。如图5(a)所示,在符合P00的像素(入目像素)中,作为判断了点的形成的有无的结果,在该入目像素的图像数据中的色调值之间发生了色调误差E00。图中划斜线的部分表示判断了点的形成的有无的像素。在误差扩散法中,将色调误差E00乘以规定的加权系数(误差扩散系数),将所得的值扩散到入目像素周边的未判断像素中。另外,以下使用的注脚意味着下述内容。例如,注脚“00”表示入目像素,注脚“01”表示入目像素的右侧相邻的像素,注脚“0-1”表示左侧相邻的像素。注脚“10”表示入目像素正下方的像素,注脚“-10”表示入目像素正上方的像素。另外,考虑注脚“11”与注脚“10”和“01”组合,表示入目像素的右斜下方的像素。
图6是表示使色调误差扩散时使用的误差扩散系数的设定例的说明图。另外,在图6中带有斜线的像素位置表示入目像素的位置。这样的表示从入目像素向周边像素扩散的误差扩散系数的矩阵被称为误差扩散矩阵。例如,在图6(a)所示的误差扩散矩阵中,在入目像素的右侧作为误差扩散系数K01的值设定为“1/4”。因此,如果使用这样的误差扩散矩阵,则在入目像素中发生的色调误差的1/4的误差被分配给右侧相邻的像素。同样,在入目像素中发生的色调误差的1/4的误差也被分配给入目像素的左下、正下、右下方的各像素。误差扩散矩阵不限于图6中例示的,使误差扩散的范围和误差扩散系数等可以设定成各种值,在实际的误差扩散法中,为了获得良好的图像质量,可以使用适当的误差扩散矩阵。另外,为了避免说明的复杂化,在以下的说明中使用例示的误差扩散矩阵中扩散范围最小的矩阵、即使用图6(a)中的误差扩散矩阵进行说明。
如果使用图6(a)中的矩阵作为误差扩散矩阵,则如图5(a)所示,在入目像素P00中生成的色调误差E00的各1/4分别分配给右邻的像素P01、左下的像素P1-1、正下的像素P10、右下的像素P11合计4个像素。这样被扩散到入目像素周边的各个像素中的误差(扩散误差)需要以分离的状态存储在每个像素中。因此扩散误差被存储在能存储多个像素的扩散误差的大容量的RAM106中(参照图2)。
如果使像素P00的色调误差扩散到周边像素中,则现在开始对右邻的像素P01进行点的形成的有无的判断。图5(b)是示意地表示判断入目像素P01的点的形成的有无的情况的说明图。判断点的形成时,首先,从周边像素读出分配给入目像素P01后积蓄的扩散误差,用读出的扩散误差修正入目像素P01的图像数据。如图5(b)所示,按照上述的误差扩散矩阵扩散的误差从点的形成判断过的周边像素、即从像素P-10、P-11、P-12、像素P004个像素积蓄到入目像素P01中。从RAM106读出该扩散误差,修正入目像素P01的图像数据,将获得的修正值与规定的阈值进行比较,判断点的形成的有无。后面将说明判断的详细方法。如果这样对入目像素P01判断点的形成的有无,则由于在像素P01中发生新的色调误差E01,所以按照误差扩散矩阵使该色调误差扩散到周边像素中。这样在误差扩散法中,在入目像素中每次发生色调误差时,每次都一边扩散到位于周边的多个像素中,一边判断点的形成的有无。因此,有必要对RAM106频繁地读写数据,所以判断点的形成的有无所需要的时间变长。
与此不同,在本实施例的色调数变换处理中,通过使用中间缓冲器,缩短判断点的形成的有无所需要的时间。图7是表示使用中间缓冲器缩短判断所需要的时间的原理的说明图。在本实施例中,使用安装在CPU102内的寄存器作为中间缓冲器。如上所述,与RAM106相比,寄存器能高速处理。当然,不用寄存器而用高速缓冲存储器,实际上也能进行同样的处理。以下,参照图7说明第一实施例中缩短判断点的形成的有无所需要的时间的原理。
图7(a)表示对入目像素P00判断点的形成的有无的情况。作为进行了该判断的结果,在入目像素中发生色调误差E00。图7(a)中右侧表示的6个矩形是模式地表示作为中间缓冲器使用的6个寄存器。为了便于说明,以下在各个寄存器上标以符号R01、R02、R1-1、R10、R11、R12加以区别。在第一实施例的色调数变换处理中,不使在入目像素P00中发生的色调误差E00直接扩散到RAM106中,暂时存入寄存器中。即,用应分配给入目像素的右邻的像素P01的误差更新寄存器R01的值。按照误差扩散矩阵,能用K01·E00求应分配给像素P01的误差。同样,用应分配给入目像素P00的左下的像素P1-1的误差更新寄存器R1-1的值,用应分配给正下的像素P10的误差更新寄存器R10的值,用应分配给右下的像素P11的误差更新寄存器R11的值。按照误差扩散矩阵,能用K1-1·E00、K10·E00、K11·E00求各自的误差。
如果这样用应分配给4个像素各自的扩散误差更新对应的4个寄存器的值,便对像素P00的右邻的像素P01判断此次有无点的形成。进行像素P01的判断时,从RAM106读出新的入目像素P01的扩散误差,用读出的误差和存储在寄存器R01中的误差相加的值修正入目像素P01的色调数据。这样,如果用入目像素P01的扩散误差和寄存器R01的误差相加的值进行修正,则实际上能进行与通常的误差扩散法完全相同的处理。即,在通常的误差扩散法中,如用图5说明的那样,每次发生色调误差时,使其扩散到周边像素中,判断右邻的像素P01的点的形成的有无时,读出分配给像素P01的扩散误差,修正像素P01的色调数据,根据修正的值判断点的形成的有无。与此不同,在本实施例中,如图7(a)所示,分配给像素P01的误差被存储在寄存器R01中,所以通过用像素P01的扩散误差和存储在寄存器R01中的误差相加的值修正色调数据,实际上能进行与通常的误差扩散法完全相同的处理。如果这样对新的入目像素P01判断点的形成的有无,则在入目像素P01中发生新的色调误差E01(参照图7(b))。
在像素P01中发生的色调误差E01也与像素P00的色调误差E00一样,按照误差扩散矩阵中设定的比例,扩散到各自的寄存器中。参照图7(b)具体地说明。首先,由于像素P02是入目像素P01的右邻的像素,所以用误差扩散矩阵中设定的误差扩散系数K01和色调误差E01相乘的值,更新对应的寄存器R02的值。由于像素P10是入目像素P02的左下的像素,所以将误差扩散系数K1-1和色调误差E01相乘的值K1-1·E01加到对应的寄存器R01的值中。这里,如图7(b)所示,由于已经从像素P00扩散的误差K10·E00被存储在寄存器R10中,所以将已经扩散的误差和新扩散的误差加在寄存器R02上。其结果,寄存器R02的值被更新成从两个像素扩散来的误差的和(K10·E00+K1-1·E01)。以下,对于像素P11及像素P12来说也一样,用扩散误差(K11·E00+K10·E01)更新对应的寄存器R11的值,用K11·E01更新寄存器R12的值。
通过进行以上这样的处理,在像素P00中发生的色调误差E00和在像素P01中发生的色调误差E01被扩散到各自的寄存器中。因此,如图7(c)所示,将存储在各寄存器中的误差写入对应于周边像素的误差缓冲器(具体地说写入RAM106)中。即,将存储在寄存器R02中的值K01·E01加在像素P02的误差缓冲器中,将存储在寄存器R1-1中的值K1-1·E00加在像素P1-1的误差缓冲器中,将寄存器R10的值(K10·E00+K1-1·E01)加在像素P10中,将寄存器R11的值K11·E00+K10·E01加在像素P11中,将寄存器R12的值K11·E01加在像素P12中。通过这样做,与在通常的误差扩散法中使像素P00及像素P01的误差扩散的状态(参照图5(c))相同的误差被扩散到周边的5个像素的各误差缓冲器中。另外,关于像素P01,由于点的形成的有无的判断已经结束,所以不需要将寄存器R01的值加在RAM106中。这样在本实施例的方法中,由于判断两个像素部分的点的形成的有无,使误差扩散到5个像素的误差缓冲器中,所以每次进行一个像素的判断时,按照2.5个像素的比例向误差缓冲器进行误差扩散。
另外,以上为了说明的方便,说明了将扩散到进行了双值化的像素周边的5个像素的全部误差暂时存储在寄存器中,将从两个像素扩散的误差加在寄存器上后,扩散到误差缓冲器中。当然,对于不将误差加在寄存器上的像素、例如像素P1-1、像素P02、像素P12来说,也可以使误差直接扩散到误差缓冲器中。
在图5所示的通常的误差扩散法中,每次进行一个像素的点形成判断时,使误差扩散到周边的4个像素中。与此不同,在本实施例的方法中,通过将从多个像素扩散的误差暂时加在寄存器上集中扩散,每次进行一个像素的判断时,只使误差扩散到2.5个像素的误差缓冲器中即可,当然,相对于通常的误差扩散法,虽然增加了将误差分配给寄存器的工序,但由于更新寄存器的值或加在寄存器上的处理远比使误差扩散到RAM中的处理能高速地进行,所以在总体上能缩短判断点的形成的有无所需要的时间。另外,这里虽然说明了存储在寄存器中的情况,但不一定限于寄存器,只要是能比作为误差缓冲器使用的存储装置高速读写的存储装置即可。另外,例如通过使用为了高速地进行CPU和RAM的数据的存取而设置的高速缓冲存储器,实际上也能进行同样的处理,这样做也没关系。本实施例中使用的中间缓冲器由于使用小容量的存储区反复进行各像素的处理,所以通常设计者即使不明确地指定,也能利用编译程序和CPU本身的功能,自动地分配给寄存器和高速缓冲存储器,能高速地读写。
另外,在以上的说明中,虽然将从两个像素扩散的误差直接加在寄存器上,但也可以将各个误差暂时存储在各自的寄存器中后,再加在另外的寄存器上。例如,以扩散到图7(b)中的像素P10中的误差为例进行说明,首先用来自像素P00的误差K10·E00更新寄存器R10的值,其次将来自像素P01的误差K1-1·E01加在寄存器R10上。代替这样的处理,将来自像素P00的误差和像素P01~的误差分别存储在寄存器Ra和寄存器Rb中,当然也可以将两个寄存器的值加在寄存器R10上。
图8是表示以上说明的本实施例的色调数变换处理的流程的流程图。由计算机100的CPU102进行该处理。另外,如上所述,本实施例的彩色打印机是能形成C、M、Y、K四色墨点的打印机,图8所示的色调数变换处理虽然也是对每一种颜色进行处理,但以下为了避免说明的麻烦,说明时不特定墨点的颜色。另外,除了上述的四色以外,当然也可以再增加LC墨、LM墨而使用六色打印机。
另外,如上所述本发明的彩色打印机是能形成各种颜色大小不同的点的可变点打印机。在使用可变点打印机的情况下,例如在使用能形成大点、中点、小点等各种点的可变点打印机的情况下,对各种大小的点进行以下说明的色调数变换处理。
这样,由于增加使用的墨的颜色,或者随着能形成各种大小的点而增加进行色调数变换处理的次数,所以出现仅此处理所需要的时间增长的倾向。以下说明的本实施例的色调数变换处理由于能迅速地处理,所以能适用于这样的情况。
一旦开始进行本实施例的色调数变换处理,首先,读入欲判断点的形成的有无的两个像素的图像数据Cd1、Cd2(步骤S200)。另外,这里为了方便,将左侧的像素称为第一像素,将右侧的像素称为第二像素。图像数据被存储在计算机100内安装的RAM106中。其次,从误差缓冲器读出分别扩散并积蓄在第一像素及第二像素中的的扩散误差Ed1、Ed2(步骤S202)。误差缓冲器也设在RAM106上。
接着,通过将第一像素的图像数据Cd1和第一像素的扩散误差Ed1相加,算出第一像素的修正数据Cx1(步骤S204)。对这样获得的修正数据Cx1和规定的阈值th进行比较(步骤S206),如果修正数据大,则断定在第一像素中形成点,将意味着形成点的值“1”写入表示第一像素的判断结果的变数Cr1中(步骤S208)。如果不是这样,则断定在第一像素中不形成点,将意味着不形成点的值“0”写入变数Cr1中(步骤S210)。
如果这样判断第一像素的点的形成的有无,则伴随该判断算出第一像素中发生的色调误差(步骤S212)。从第一像素的修正数据Cx1减去由于形成点或由于不形成点而用第一像素表现的色调值(以下将这样的色调值称为结果值),能求得在第一像素中发生的色调误差E1。
其次,使在第一像素中发生的色调误差E1扩散到中间缓冲器中(步骤S214)。该处理相当于用图7(a)说明的处理。即,将第一像素的色调误差E1乘以误差扩散矩阵中设定的误差扩散系数,算出应扩散到周边像素中的扩散误差,将获得的扩散误差存储在各自的中间缓冲器中。
如果使第一像素中发生的误差扩散到中间缓冲器中,便开始第二像素的点的形成的有无的判断。为了进行第二像素的判断,有必要算出第二像素的修正数据。因此,将预先读出的第二像素的图像数据Cd2、第二像素的扩散误差Ed2、以及从第一像素分配给第二像素的误差相加,算出第二像素的修正数据Cx2(步骤S216)。用图7说明过,从第一像素扩散到第二像素中的误差被存储在预定的中间缓冲器中。另外,在图8所示的实施例中,与读出第一像素的图像数据及扩散误差的同时,还预先读出第二像素的图像数据及扩散误差,但关于第二像素,由于需要算出修正数据,所以也可以读出图像数据和扩散误差。在一次读出第一像素及第二像素的图像数据和扩散误差的情况下,通过采用从存储器上连续的位置读出的方法,能迅速地读出这些数据。
另外,不在步骤S200及S202中,而是在步骤S216之前读出第二像素的图像数据及扩散误差也没关系。如果这样做,则在CPU102的寄存器数有限的情况下,在读出第二像素的图像数据及扩散像素之前的期间,最好能将寄存器用于其他目的。
如果在步骤S216算出了第二像素的修正数据Cd2,则与第一像素的情况相同,通过与规定的阈值th进行比较,判断点的形成有无(步骤S218)。如果修正数据Cd2大,则断定在第二像素中形成点,写入意味形成点的值“1”(步骤S220),如果不是这样,则写入意味不形成点的值“0”(步骤S222)。其次,算出第二像素的色调误差E2(步骤S224)。在第二像素中发生的色调误差E2也与第一像素的色调误差E1一样,能从第二像素的修正数据Cx2减去第二像素的结果值(通过判断像素的点的形成有无,在该像素上表现的值)来求得。
接着,进行使第二像素的色调误差扩散到中间缓冲器中的处理(步骤S226)。该处理是相当于用图7(b)说明的处理的处理。即,将第二像素的色调误差E2乘以误差扩散矩阵中设定的各像素的误差扩散系数,算出应扩散到周边像素中的扩散误差,将获得的扩散误差存储在各自的中间缓冲器中。这里,在从第一像素分配的误差已经存储在中间缓冲器中的情况下,将新分配的误差加在已经存储的误差中存储。在图7(b)所示的例中,在寄存器R10及寄存器R11中存在已经分配的误差,所以将新分配的误差加在其中存储。其结果,在5个寄存器中积蓄了从第一像素及第二像素应扩散到周边的各像素中的误差。因此,在接下来的步骤S228的处理中,将每个像素存储在中间缓冲器中的误差加在RAM上的误差缓冲器中(参照图7(c)),加法计算结束后使中间缓冲器复位。
其次,判断是否对全部像素判断了点的形成有无(步骤S230),如果还有未判断的像素,则返回步骤S200,进行连续的一系列处理。这样在对全部像素进行的点的形成有无的判断结束之前,一边使色调误差扩散到周边像素中,一边判断每两个像素的点的形成有无,如果对全部像素的判断结束,则本实施例的色调数变换处理结束,返回图4所示的图像数据变换处理。
在以上说明的本实施例的色调数变换处理中,每次判断两个像素的点的形成有无时,使误差扩散到5个像素的误差缓冲器中即可。为了用通常的误差扩散法进行同样的处理,进行一个像素的判断时,必须使误差扩散到4个像素的误差缓冲器中,与这种方法相比较,通过采用本实施例的色调数变换处理,能极大地缩短误差扩散到误差缓冲器中所需要的时间。特别是在色调数变换处理中,对构成图像的多个像素判断点的形成有无,同时必须使所发生的色调误差扩散到周边像素中,所以误差扩散到误差缓冲器中所需要的时间在色调数变换处理所需要的时间中占有较大的比例。因此,如果采用本实施例的色调数变换处理,缩短误差的扩散所需要的时间,则能迅速地进行包括色调数变换处理的全部图像处理,进而能迅速地印刷图像。
在以上的说明中,为了说明的方便,说明了判断每两个像素的点的形成有无的方法。即,将在两个像素中产生的色调误差存储在中间缓冲器中,将从两个像素扩散的误差加在中间缓冲器上,集中扩散到误差缓冲器中。当然,也可以对更多的像素判断点的形成有无,将发生的误差加在中间缓冲器上。例如,在判断每三个像素的点的形成有无的情况下,如图9(a)所示,使误差扩散到判断点的形成有无的像素(图中带斜线的像素)周边的6个像素的误差缓冲器中即可。即,每一个进行判断的像素,使误差扩散到两个像素的误差缓冲器中就足够了。另外,在判断每6个像素的点的形成有无的情况下,如图9(b)所示,使误差扩散到9个像素的误差缓冲器中即可,所以每判断一个像素,使误差扩散到1.5个像素的误差缓冲器中即可。这样,一次判断点的形成有无的像素数越多,越能减少每个判断像素扩散的误差缓冲器的像素数,所以能缩短色调数变换处理所需要的时间。
B-4.变形例:
另外,在以上说明的第一实施例的色调数变换方法中,虽然说明了根据各色调误差算出从第一像素及第二像素扩散到周边像素的扩散误差,积蓄在每个周边像素中,但也可以如下进行。即,也可以将在第一像素及第二像素中发生的色调误差本身存储在中间缓冲器中,算出从这些存储的色调误差应扩散到周边像素中的扩散误差,存储在对应于各像素的误差缓冲器中。由于存储在中间缓冲器中的值是存储中的扩散误差或是色调误差的不同误差,在误差缓冲器中存储相同的误差,所以这样的方法实际上能进行相同的处理。以下说明这样的第一实施例的变形例。
图10是表示第一实施例的变形例的色调数变换方法的流程的流程图。以下,参照图10,以与图8所示的第一实施例的色调数变换处理不同的部分为中心,简单地说明变形例的色调数变换方法。
在变形例中也与第一实施例的色调数变换处理一样,开始处理时首先读入第一像素和第二像素的图像数据Cd1、Cd2(步骤S300)。这里,所谓第一像素是指欲判断点的形成有无的两个像素中的左侧的像素而言,所谓第二像素是指右侧的像素而言。其次,从误差缓冲器中读出分别扩散到第一像素和第二像素中的扩散误差Ed1、Ed2(步骤S302)。误差缓冲器与第一实施例的情况一样设置在RAM106上。其次,将第一像素的图像数据和扩散误差相加,算出第一像素的修正数据Cx1(步骤S304)。接着,比较修正数据Cx1和规定的阈值th(步骤S306),如果修正数据大,则断定在第一像素中形成点,将意味形成点的值“1”写入表示关于第一像素的判断结果的变数Cr1中(步骤S308)。如果不是这样,则断定在第一像素中不形成点,将意味不形成点的值“0”写入变数Cr1中(步骤S310)。如果这样判断了第一像素的点的形成的有无,则伴随该判断,算出第一像素中发生的色调误差(步骤S312)。与第一实施例的情况相同,从修正数据Cx1减去结果值,能求得色调误差。
在第一实施例的变形例中,将这样算出的第一像素的色调误差E1存储在中间缓冲器中(步骤S314)。即,在第一实施例的色调数变换处理中,虽然使色调误差扩散到中间缓冲器中,但在变形例的色调数变换处理中,不使误差扩散,直接存储在中间缓冲器中。
如果将第一像素的色调误差E1存入了中间缓冲器中,则为了判断第二像素的点的形成有无,算出第二像素的修正数据Cx2(步骤S316)。即,将预先读出的第二像素的图像数据Cd2和扩散误差Ed2、以及从第一像素扩散的误差相加。通过将存储在中间缓冲器中的第一像素的色调误差E1和误差扩散系数相乘,求出来自第一像素的误差。与第一实施例的情况相同,误差扩散系数的值设定在误差扩散矩阵中。对这样算出的第二像素的修正数据Cx2和规定的阈值th进行比较(步骤S318),如果修正数据Cx2大,则断定形成点,将意味形成点的值“1”写入表示关于第二像素的判断结果的变数Cr2中(步骤S320)。如果不是这样,则断定不形成点,将意味不形成点的值“0”写入变数Cr2中(步骤S322)。其次,算出第二像素的色调误差E2(步骤S324),不使算出的色调误差E2扩散到周边像素中,而是暂时直接存储在中间缓冲器中(步骤S326)。这时,第二像素的色调误差E2与先存储的第一像素的色调误差E1个别地存储。第二像素的色调误差E2与第一像素的色调误差E1一样,能从第二像素的修正数据Cx2减去结果值求得。
这样,如果将第一像素的色调误差E1和第二像素的色调误差E2存入了各自的中间缓冲器中,则将两个色调误差集中起来扩散到误差缓冲器中。利用图7说明该处理。在图7中,像素P00对应于第一像素,像素P01对应于第二像素。如上所述,在第一像素及第二像素中发生的色调误差以规定的比例扩散到这些像素周边的5个像素中。例如,来自像素P00的误差K1-1·E00扩散到第一像素的左下方的像素P1-1中。这里,K1-1是使色调误差扩散到左下方的像素中时使用的误差扩散系数,误差扩散系数的值被设定在误差扩散矩阵中。另外,使来自第一像素的误差K10·E00和来自第二像素的误差K1-1·E01相加后的误差K10·E00+K1-1·E01扩散到像素P10中。关于其他3个像素也一样,K11·E00+K10·E01扩散到像素P11中,K11·E01扩散到像素P12中,K01·E01的值扩散到像素P02中。这样,如果确定了色调误差E1和色调误差E2,则根据误差扩散系数,能算出扩散到周边各像素中的误差的值。因此,在步骤S328中,用存储在中间缓冲器中的第一像素的色调误差E1和第二像素的色调误差E2,算出扩散到第一像素和第二像素的周边的各像素中的误差,加在对应于各像素的误差缓冲器中。如果这样进行的处理结束,为了在下一个像素的处理中使用,使存储色调误差E1、E2的中间缓冲器复位。
其次,判断是否对全部像素判断了点的形成有无(步骤S330),如果还有未判断的像素,则返回步骤S300,进行连续的一系列处理。如果这样对全部像素判断了点的形成有无,便结束第一实施例的色调数变换处理,返回图4所示的图像数据变换处理。
即使采用以上说明的变形例,也能进行与第一实施例的色调数变换处理实际上相同的处理。如果采用这样的变形例的方法,则能比第一实施例的方法节省中间缓冲器的容量。
C.第二实施例
C-1.第二实施例中缩短色调数变换处理的时间的原理:
在以上说明的第一实施例的色调数变换处理中,将判断点的形成有无发生的色调误差扩散到能高速读写的寄存器等中间缓冲器中,每次规定像素数的点的形成有无的判断结束后,将扩散到中间缓冲器中的全部误差加在误差缓冲器中。与此不同,在以下说明的第二实施例的色调数变换处理中,每次判断点的形成有无时,在一个个像素的误差缓冲器中进行加法运算。如后面所述,如果采用第二实施例的方法,能用比第一实施例的方法少的寄存器数实现色调数变换处理,另外,还能减少从寄存器等中间缓冲器写入误差缓冲器的频度。以下,说明这样的第二实施例。
首先参照图11,说明第二实施例的处理原理,即,说明每次判断一个像素的点的形成有无时,通过将一个像素的扩散误差加在误差缓冲器中,进行与通常的误差扩散法实际上相同的处理的原理。图11中带斜线的部分表示进行了点的形成判断的像素的区域。另外,以下为了说明的方便,与第一实施例的情况相同的误差扩散矩阵使用图6(a)所示的矩阵。图11(a)表示进行像素P00的点的形成有无的判断,将产生的色调误差E00扩散到周边像素中的情况。
这里,注意用粗虚线包围的像素P11,除了在像素P00中产生的误差E00以外,还将在像素P00右邻的像素P01中产生的误差E01、以及在其更右邻的像素P02中产生的误差E02分配给像素P11(参照图11(b)、(c))。就是说误差从连续的3个像素连续地分配给一个像素。另外,在使用图6(a)或图6(e)所示的误差扩散矩阵的情况下,从连续的3个像素连续地分配误差,在使用另一矩阵、例如图6(b)或图6(f)所示的矩阵的情况下,从连续的5个像素连续地分配误差,在使用图6()所示的矩阵的情况下,从连续的7个像素连续地分配误差。这样,误差从连续的像素连续地分配给各像素,所以将对每个像素分配的误差积蓄在中间缓冲器中,如果积蓄规定像素数的误差结束,则认为该像素的误差扩散暂时结束,将积蓄在中间缓冲器中的误差写入误差缓冲器中。这样,如果将被认为误差的积蓄暂时结束的中间缓冲器中的误差写入对应的像素的误差缓冲器中,则不需要将误差若干次写入相同像素的误差缓冲器中,所以能减少对误差缓冲器进行读写的频度。
图12是示意地表示使用中间缓冲器实现上述的原理的情况的说明图。图12(a)表示判断像素P00中点的形成有无的情况。图12(a)中右侧所示的4个矩形模式地表示作为各个中间缓冲器的寄存器。以下,在各寄存器上标以符号R1、R2、R3、R4来识别。在入目像素P00中发生的色调误差E00乘以误差扩散矩阵中设定的误差扩散系数后,扩散到各寄存器中。另外,为了避免图示的复杂化,在图12中,将从像素P00扩散到左下方的像素中的误差简略地表示为E00_LD。误差E00_LD的值能通过将像素P00的色调误差E00乘以误差扩散系数K1-1求得。同样,将从像素P00扩散到正下方的像素中的误差简略地表示为E00_D,将从像素P00扩散到右下方的像素中的误差简略地表示为E00_RD,将从像素P00扩散到右侧的像素中的误差简略地表示为E00_R。关于其他像素中发生的色调误差也一样,例如,将像素P01扩散到左下方的像素中的误差简略地表示为E01_LD,从像素P01扩散到正下方的像素中的误差简略地表示为E01_D,扩散到右下方的像素中的误差简略地表示为E01_RD,扩散到右侧的像素中的误差简略地表示为E01_R。另外,各寄存器右侧附带的星号表示积蓄规定像素数的误差结束了的寄存器。后面将说明星号的含义。
参照图12(a),说明在入目像素P00中产生的色调误差E00被积蓄在寄存器R1至寄存器R4这4个寄存器中的情况。4个寄存器中的寄存器R1是写入了从入目像素扩散到右侧像素中的误差的寄存器。与其他3个寄存器不同,经常写入入目像素右侧像素的误差。在图12(a)中,从入目像素P00扩散到右侧像素P01的误差E00_R的值被写入寄存器R1中。从入目像素扩散到左下方、正下方、右下方的各像素中各自的误差被加在其他3个寄存器中。如下所述,伴随入目像素的移动,依次切换某一误差加在某一寄存器中。
首先,在入目像素为像素P00的情况下(参照图12(a)),从入目像素至像素P10的误差(从入目像素扩散到正下方的像素中的误差)被加在寄存器R2中。从入目像素至像素P1-1的误差(从入目像素扩散到左下方的像素中的误差)被加在寄存器R3中。从入目像素至像素P11的误差(从入目像素扩散到右下方的像素中的误差)被加在寄存器R4中。
其次,考虑入目像素移动到像素P01中的情况(参照图12(b))。入目像素即使移动,至像素P10的误差依然加在寄存器R2中。入目像素移动后,由于像素P10成为入目像素的左下方的像素,所以按照与入目像素的位置关系来说,从入目像素至左下方的像素中的误差加在寄存器R2中。换句话说,入目像素为像素P00时,从入目像素至正下方的像素中的误差被加在寄存器R2中,与此不同,如果入目像素移动到像素P01中,则加上从入目像素至左下方的像素中的误差。
同样,至像素P11的误差加在寄存器R4中,所以入目像素为像素P00时,加上从入目像素至右下方的像素中的误差,但如果入目像素移动到像素P01中,则加上从入目像素至正下方的像素中的误差。
关于寄存器R3,当入目像素是像素P00时,加上至入目像素的左下方的像素P1-1的误差,但入目像素移动到像素P01中后,误差已经不需要向像素P1-1扩散。因此,将从新的入目像素P02至像素P12的误差加在寄存器R3中。结果寄存器R3也与其他寄存器一样,如果入目像素移动,则从入目像素看,加上至不同方向的误差。即,当入目像素是像素P00时,从入目像素至左下方的像素中的误差被加在寄存器R3中,但如果入目像素移动到像素P01中时,加上从入目像素至右下方的像素中的误差。
再者,入目像素从像素P01移动到像素P02时也一样,伴随入目像素的移动,从入目像素看至不同方向的误差加在寄存器R2至寄存器R4这3个寄存器中。图12(c)表示入目像素移动到像素P02时,误差从入目像素P02扩散到各寄存器中的情况。比较上述的图12(b)和图12(c)可知,入目像素为像素P01时,从入目像素至左下方的像素、右下方的像素、正下方的像素的误差加在寄存器R2、寄存器R3、寄存器R4等各寄存器中,但如果入目像素从像素P02移动到像素P03时,则从入目像素至右下方的像素、正下方的像素、左下方的像素的误差加在各寄存器中。
这样,在第二实施例的色调数变换处理中,从入目像素至右下方的像素、正下方的像素、左下方的像素的误差加在寄存器R2至寄存器R4这3个寄存器中,但伴随入目像素的移动,按顺序切换各个误差加在某一像素中。如果这样一边使入目像素移动,一边在各适当的时刻使各寄存器复位,依次加上误差,则如以下所述,来自连续的3个入目像素的误差依次积蓄在各寄存器中。以下,以寄存器R4为例具体说明之。
在入目像素位于像素P00的情况下,如图12(a)所示,从入目像素P00至右下方的像素的误差E00_RD加在寄存器R4中。如后面所述,在对误差E00_RD进行加法运算的时刻,由于寄存器R4已经复位,所以没有存储的误差。如果入目像素移动到像素P01中,则如图12(b)所示,从入目像素P01至正下方的像素的误差E01_D加在寄存器R4中。由于来自前一个入目像素P01的误差E00_RD已经加在寄存器R4中,所以除了该误差以外,还加上来自入目像素P01的误差E01_D。如果入目像素移动到像素P02中,则如图12(c)所示,从入目像素P02至左下方的像素的误差E02_LD加在寄存器R4中。由于来自前面的入目像素P00及P01各自的误差E00_RD及E01_D已经加在寄存器R4中,所以除了这些误差以外,还加上来自入目像素P02的误差E02_LD。其结果,在图12(c)中,寄存器R4的右侧所示的星号表示来自连续的3个入目像素中最后的入目像素的误差积蓄在寄存器R4中。这样,如果将来自连续的3个像素的误差积蓄在寄存器R4中结束,便将继续的值写入误差缓冲器中。
从上述可知,由于扩散到像素P11中的误差被积蓄在寄存器R4中,所以被积蓄在寄存器R4中的值被写入对应于像素P11的误差缓冲器中。如图12(c)所示,从寄存器R4指向误差缓冲器的空白箭头模式地表示将积蓄在寄存器R4中的误差写入误差缓冲器的情况。另外,连接误差缓冲器和像素P11的虚线箭头模式地表示对应于像素P11的误差缓冲器。将积蓄的值写入误差缓冲器中后,使寄存器R4的值复位。在图12(a)的说明中,在对来自入目像素P00的误差进行加法运算的时刻,之所以寄存器R4已经复位,是因为在加上了来自当前的入目像素P0-1的误差的时刻,来自连续的3个像素的误差被存储在寄存器R4中,寄存器R4已被复位所致。
其次,注意并说明寄存器R3。如图12(a)所示,在对来自入目像素P00的误差进行加法运算的时刻,来自连续的3个入目像素P0-2、P0-1、P00的误差被存储在寄存器R3中。寄存器R3的右侧所示的星号表示如果积蓄来自入目像素P00的误差,则积蓄来自连续的3个入目像素的误差。因此,在加上了来自入目像素P00的误差后,将积蓄在寄存器R3中的值写入误差缓冲器中。由于存储在寄存器R3中的误差是至像素P11的误差,所以积蓄的误差写入对应于像素P1-1的误差缓冲器中。这样,如果将积蓄的误差写入了误差缓冲器中,便使寄存器R3的值复位。
这里,如果对使寄存器R3复位的时刻和使上述的寄存器R4复位的时刻进行比较,则寄存器R4在加上来自入目像素P00的误差之前、即加上来自入目像素P0-1的误差之后被复位。因此,寄存器R3相对于寄存器R4延迟一个入目像素被复位。
如图12(b)所示,如果入目像素从像素P00移动到像素P01,则新的像素P12代替此前的像素P1-1被分配给寄存器R3。由于像素P12是相对于入目像素P01位于右下方的像素,所以从入目像素扩散到右下方的像素的误差E01_RD被加在寄存器R3中。由于寄存器R3中的值先被复位,所以在对来自入目像素P01的误差进行加法运算的时刻,寄存器R3中没有进行加法运算的误差。如图12(c)所示,如果入目像素移动到像素P02中,则在寄存器R3中,从入目像素扩散到正下方的像素的误差E02_D被加在已经进行了加法运算的误差E01_RD上进行加法运算。另外,在入目像素移动到下一个像素P03的时刻,来自像素P01至像素P03的连续的3个入目像素的误差积蓄在寄存器R3中,积蓄在寄存器R3的值被写误差缓冲器中。上述的寄存器R4中积蓄的误差在加上了来自入目像素P02的误差之后,被写入误差缓冲器中,但关于寄存器R3要延迟一个像素部分,加上来自入目像素P03的误差之后被写入误差缓冲器中。
寄存器R2相对于寄存器R3还要再延迟一个入目像素的时刻。即,如图12(a)所示,关于寄存器R3,在加上了来自入目像素P00的误差后,存储在寄存器中的值被写入误差缓冲器中,寄存器被复位,但关于寄存器R2,在加上了来自入目像素P01的误差后,存储在寄存器中的值被写入误差缓冲器中,寄存器被复位。
这样,在入目像素每次移动时,来自连续的3个入目像素的误差依次存储在寄存器R2至寄存器R4这3个寄存器中,依次被写入误差缓冲器中。
如上所述,4个寄存器中,如果寄存器R1存储下一个像素的点的形成有无的判断中使用的误差,寄存器R2至寄存器R4这3个寄存器用来依次积蓄色调误差,则判断一个像素的点的形成有无时,从连续的3个像素的误差的积蓄结束了的像素开始,能写入一个一个像素的误差缓冲器中。
C-2.第二实施例的色调数变换处理:
图13是表示以上说明的第二实施例的色调数变换处理的流程的流程图。该处理也与第一实施例的色调数变换处理一样,由计算机100的CPU102进行。另外,在以下的说明中,不特定墨的颜色或点的大小,对各种颜色或各种大小的点进行同样的处理。以下,按照图13中的流程图,以与第一实施例的色调数变换处理不同之处为中心,说明第二实施例的色调数变换处理。
如果开始第二实施例的色调数变换处理,则从RAM106读入入目像素的图像数据Cd和扩散误差Ed(步骤S400)。接着,通过将图像数据Cd、扩散误差Ed、以及存储在寄存器R1中的误差相加,算出修正数据Cx(步骤S402)。如果算出了修正数据Cx,寄存器R1便复位(步骤S404)。对这样获得的修正数据Cx和规定的阈值th进行比较(步骤S406),如果修正数据大,则断定形成点,将意味形成点的值“1”写入表示判断结果的变数Cr1中(步骤S408)。如果不是这样,则断定不形成点,将意味不形成点的值“0”写入变数Cr1中(步骤S410)。
这样如果判断了点的形成有无,与此相伴随算出发生的色调误差E(步骤S412)。与第一实施例一样,通过从修正数据Cx减去入目像素的结果值(由于形成点、或由于不形成点而用入目像素表现的色调值,求色调误差E。
其次,将按照误差扩散矩阵固定在每个像素位置的规定的误差扩散系数和在步骤S412中求得的色调误差E相乘,将在每个像素位置求得的误差加在各寄存器中。首先,将从入目像素扩散到右邻的像素中的误差加在寄存器R1中(步骤S414)。其次,将各自的误差加在寄存器R2至寄存器R4这3个寄存器中。在这3个寄存器中,在加法运算了来自连续的入目像素的第三个像素的误差的寄存器、即图12中用星号表示的寄存器中,预先设定标志。将扩散到入目像素的左下方的像素中的误差加在这样设定标志的寄存器中(步骤S416)。如图6(a)中的误差扩散矩阵中所示,将色调误差E和误差扩散系数K1-1相乘的值分配给入目像素左下方的像素。将应分配给入目像素的正下方的像素的误差加在加上了误差的3个寄存器中设定了标志的寄存器的前一个寄存器中(步骤S418)。将色调误差E和误差扩散系数K10相乘,能求得分配给入目像素的正下方的像素的误差。这里,所谓设定了标志的寄存器的前一个寄存器,例如,如图12(a)所示,在寄存器R3上设定了星号的情况下,是指寄存器R2,如图12(b)所示,在寄存器R2上设定了星号的情况下,是指寄存器R4。将应分配给入目像素的右下方的像素的误差、即将色调误差E和误差扩散系数K11相乘的值加在3个寄存器中的剩余的寄存器中(步骤S420)。
如果这样将色调误差E乘以规定的误差扩散系数所得的值加在了各寄存器中,则将积蓄在设定了标志的寄存器中的扩散误差写入对应于入目像素的左下方的像素的误差缓冲器中(步骤S422)。例如,如图12(c)所示,在入目像素位于像素P02的情况下,将误差写入对应于像素P11的位置的误差缓冲器中。从像素P00、像素P01、以及像素P02各个像素分配的误差积蓄在设定了标志的寄存器R4中,与图5所示的通常的误差扩散法相比较,可知在第二实施例的处理中,实际上也能进行相同的处理。这样,如果将积蓄的误差写入了误差缓冲器中,则为了积蓄新分配的误差,使寄存器复位(步骤S424)。
如上处理后,如果对一个入目像素的处理结束,则使标志移动到现在寄存器的前一个寄存器上后(步骤S426),判断对全部像素的处理是否结束(步骤S428),如果还有未处理的像素,则返回步骤S400,反复进行连续的一系列处理,直至全部像素的处理结束为止。如果全部像素的处理结束,退出第二实施例的色调数变换处理,返回图4所示的图像数据变换处理。
另外,在步骤S414中,也可以将误差写入寄存器R1中,以代替加在寄存器R中。如果这样处理,则在步骤S404中能省略使寄存器R1复位的处理,所以这样做好。同样,在步骤S420中如果将把误差加在剩余的寄存器中的处理变更成写入处理,则在步骤S424中能省略使寄存器复位的处理,所以这样做好。
以上,在说明的第二实施例的色调数变换处理中,每次判断一个像素的点的形成有无时,将一个像素的扩散误差写入误差缓冲器中即可。因此,相对于通常的误差扩散法来说,能极大地缩短使误差扩散到误差缓冲器中用的时间。如上所述,在色调数变换处理中采用通常的误差扩散法的情况下,误差扩散所需要的时间在色调数变换处理所需要的时间中占有较大的比例。因此,如果采用第二实施例的色调数变换处理,则能缩短处理时间,进而能迅速地印刷图像。
另外,即使在采用上述的第一实施例的色调数变换方法的情况下,也能缩短使误差扩散所需要的时间,但如果采用第二实施例的方法,能更有效地缩短误差的扩散时间。即,与通常的误差扩散法相比较时,在采用上述的第一实施例的方法的情况下,每进行一次点的形成判断时,以2.5个像素的频度将误差加在误差缓冲器中即可,但如果采用第二实施例的方法,则每进行一次点的形成判断时,能将写入误差的频度减少到一个像素。另外,在图7所示的第一实施例的情况下,作为中间缓冲器虽然使用了6个寄存器,但在第二实施例的方法的情况下,只使用4个寄存器,能将CPU102中节省的寄存器用作其他目的。
C-3.变形例
在上述的第二实施例的色调数变换处理中,虽然将入目像素中发生的误差积蓄在4个寄存器中,但其中的寄存器R1、以及其他3个寄存器R2至寄存器R4的使用方法有些不同。即,关于寄存器R1,虽然通常能写入应分配给入目像素右邻的像素的误差,但关于其他3个寄存器,相对于入目像素的相对位置不一定,入目像素移动时而移动。
与此不同,如图14所示,也可以使对应于各寄存器的像素位置相对于入目像素固定。即,例如也可以这样进行:应分配给入目像素右邻的像素的误差经常被写入寄存器R1中,应分配给入目像素右下方的像素的误差经常加在寄存器R2中,应分配给入目像素正下方的像素的误差经常加在寄存器R3中,应分配给入目像素左下方的像素的误差经常加在寄存器R4中。这样,使各寄存器和入目像素的位置关系固定,如后面所述,与入目像素的移动一致地使积蓄在各寄存器中的误差移动替换到排成顺序的寄存器中。如果这样做,则将经常积蓄在同一个寄存器中的误差写入误差缓冲器中即可,所以能简化将扩散误差从寄存器写入误差缓冲器中的处理。另外,个寄存器中使用的误差扩散系数也经常为同一值,所以还能简化根据入目像素中发生的色调误差算出加在各寄存器中的误差的处理。
以下,参照图15简单地说明作为这样的第二实施例的变形例的色调数变换处理。图15(a)表示判断入目像素P00的点的形成有无的状态。图中右侧所示的4个矩形模式地表示各寄存器。应经常分配给入目像素右侧的像素的误差被写入寄存器R1中。另外,应经常分配给入目像素右下方的像素的误差被加在寄存器R2中,应经常分配给入目像素正下方的像素的误差被加在寄存器R3中,应经常分配给入目像素左下方的像素的误差被加在寄存器R4中。
这样,由于应分配给相对于入目像素经常处于同意位置的像素的误差加在各寄存器中,所以各自的误差扩散系数经常为同一值。即,寄存器R1的误差扩散系数经常是扩散到入目像素右侧的像素的误差扩散系数K01,寄存器R2的误差扩散系数经常是扩散到入目像素右下方的像素的误差扩散系数K11(参照图6)。同样,寄存器R3的误差扩散系数经常是K10,寄存器R4的误差扩散系数经常是K1-1。这样,由于各寄存器的误差扩散系数经常为同一值,所以能容易地根据入目像素中发生的色调误差,算出应加在各寄存器中的误差。
如果将入目像素中发生的色调误差E00加在了各寄存器中,则进行将积蓄在寄存器R4中的误差的值写入误差缓冲器中的处理,与此同时,使积蓄在各寄存器中的值移动到一个一个的寄存器中。即,使寄存器R3中的值移动到寄存器R4中,使寄存器R2中的值移动到寄存器R3中(参照图15(a)的下方)。
如果以上的处理结束,接着使入目像素移动到像素P01中,再进行同样的处理。如果将入目像素P01中发生的色调误差E01乘以规定的误差扩散系数后加在了各自的寄存器中,则进行将寄存器R4中积蓄的值写入误差缓冲器中的处理。首先,进行使存储在各寄存器中的值一个一个移动的处理,所以如图15(b)所示,在将误差加在各寄存器中的处理结束的时刻,来自3个像素的误差经常被积蓄在寄存器R4中。因此,在第二实施例的变形例中,经常将积蓄在同一寄存器中的误差写入误差缓冲器中即可。因此,能简化将扩散误差从寄存器写入误差缓冲器中的处理。另外,在图15所示的处理中,虽然新增加了使积蓄在各寄存器中的误差在寄存器中移动的处理,但使这样的寄存器之间的值移动的处理能非常迅速地进行,所以由此引起的处理时间的增加很小。
在上述的第二实施例的色调数变换处理或第二实施例的变形例的色调数变换处理中,为了避免说明变得复杂,所有的误差扩散矩阵都采用误差的扩散范围最窄的图6(a)中的矩阵进行了说明。可是,所使用的误差扩散矩阵不限于图6(a)中的矩阵,虽然也可以使用其他矩阵。另外,与第一实施例的情况相同,通过灵活地使用高速缓冲存储器,实际上也能进行同样的处理。
另外,在第二实施例的色调数变换方法中,不需要将应扩散到周边像素中的中间的扩散误差加在寄存器中,而将色调误差本身存储在中间缓冲器中,每次存储新的色调误差时,算出应写入误差缓冲器中的最后的扩散误差即可。由于存储在寄存器中的值是积蓄中的扩散误差、或是色调误差不同的误差被写入误差缓冲器中的误差成为相同的值,所以这样的方法实际上能进行相同的处理。
D.第三实施例:
在以上说明的各实施例中,虽然说明了经常使用相同的误差扩散矩阵来扩散误差,但在现实的色调数变换处理中,根据图像质量上的要求,有时交替地使用图6(a)所示的扩散范围窄的误差扩散矩阵、以及图6(c)所示的扩散范围宽的矩阵。
即,在误差扩散法中,为了防止用特定的周期图形形成点,随机交替地使用多种误差扩散矩阵。另外,在特开平7-226841号中公开了这样的技术:在图像数据的色调值比规定的阈值充分小、而且断定形成点的情况下,通过使用扩散范围宽的误差扩散矩阵来扩散误差,以改善点密度稀疏的区域的点的分散性。这样做,虽然省略了说明能改善点的分散性的理由,但这里,按照特开平7-226841号中公开的技术,在图像数据的色调值比规定的阈值th充分小、而且断定形成点的情况下,使用图6(c)所示的误差扩散范围宽的矩阵,在除此以外的情况下,使用图6(a)所示的误差扩散范围窄的矩阵。在这样的情况下,如果采用以下说明的第三实施例的方法,则能有效地缩短色调数变换处理所需要的时间。
图16是表示一边切换两个误差扩散矩阵,一边进行色调数变换处理的流程的流程图。以下,按照图16中的流程,说明第三实施例的色调数变换处理。另外,与上述的各实施例的色调数变换处理一样,为了避免说明的复杂化,说明时不区分点的颜色和点的大小,而对各色墨、或各种大小的点进行以下处理。
一旦开始第三实施例的色调数变换处理,首先读出入目像素的图像数据Cd和扩散误差Ed(步骤S500)。图像数据Cd和扩散误差Ed被存储在RAM106中。将来自寄存器R1中存储的左邻像素的误差和图像数据Cd及扩散误差Ed相加,算出修正数据Cx(步骤S502)。对求得的修正数据Cx和规定的阈值th进行比较(步骤S504),如果修正数据Cx大,则断定在入目像素中形成点(步骤S504:是),将意味形成点的值“1”写入表示判断结果的变数Cr中后(步骤S506),通过形成了点,算出入目像素中产生的色调误差(步骤S508)。如果修正数据Cx比规定的阈值th小(步骤S504:否),则将意味不形成点的值“0”写入表示判断结果的变数Cr中(步骤S510),从而算出入目像素中产生的色调误差(步骤S512)。
在入目像素中形成了点的情况下,对入目像素的图像数据Cd和切换误差扩散矩阵用的规定的阈值thm进行比较(步骤S514)。在图像数据Cd比阈值thm小的情况下(步骤S514:否),由于考虑到在图像数据小的区域还未形成点,所以按照误差扩散范围大的误差扩散矩阵(这里,如图6(c)所示的矩阵)设定各自的误差扩散系数(步骤S516)。即如图6(c)所示,将1/4设定在入目像素正下方的像素的误差扩散系数K10中,在入目像素右邻的像素、右下方的像素、以及左下方的像素各自的误差扩散系数K01、K11、K1-1中设定1/8。在距离入目像素更远的误差扩散系数K02、K03、K12、K13、K1-2、K1-3中设定1/16。
其次,关于距离入目像素远的6个像素,将色调误差和各像素的误差扩散系数相乘的值直接加在各自的误差缓冲器中(步骤S518)。用图1 7对此进行说明。图17表示对入目像素P00判断点的形成有无,其结果发生了色调误差E00的状态。该色调误差E00利用图6(c)所示的误差扩散矩阵扩散到大的范围。即,通常使误差扩散到图17中用粗虚线包围的4个像素中,但像素P00的色调误差E00也扩散到虚线外侧的像素P02、像素P03、像素P12、像素P13、像素P1-2、以及像素P1-3这6个像素中。在步骤S518中,将色调误差E00和各个像素的误差扩散系数相乘的值直接加在各像素的误差缓冲器中。
如果将误差加在远方像素的误差缓冲器中,则将误差扩散到位于虚线内侧的各像素的寄存器中(步骤S522)。即,在第三实施例的色调数变换处理中,关于入目像素的远方像素,将误差直接加在误差缓冲器中,但关于入目像素周边的各像素,与上述的第一实施例或第二实施例相同,利用中间缓冲器扩散误差。以下,以按照第二实施例的变形例的方法使误差扩散的情况为例、即以将误差加在相对于入目像素经常位于同一位置关系的像素中的情况为例进行说明。
首先,用扩散到入目像素的右侧像素的误差扩散系数K01和色调误差E00相乘的值,更新寄存器R1的值。其次,将误差扩散系数K11和色调误差E00相乘的值加在寄存器R2中,将误差扩散系数K01和色调误差E00相乘的值加在寄存器R3中,将误差扩散系数K1-1和色调误差E00相乘的值加在寄存器R4中(参照图15(a))。在步骤S522中进行以上的处理。接着,进行将存储在寄存器R4中的值加在对应的像素的误差缓冲器中的处理(步骤S524)。如图17所示,这里由于入目像素是像素P00,所以将寄存器R4的值加在像素P1-1的误差缓冲器中即可。如果加在误差缓冲器中的处理结束,则使积蓄在寄存器R3中的值移动到寄存器R4中,使积蓄在寄存器R2中的值移动到寄存器R3中(步骤S526)。在进行了使个寄存器中的值移动的处理后,使寄存器R2的值复位(步骤S528)。
另一方面,在入目像素中不形成点的情况下(步骤S504:否)、或者即使在入目像素中形成点,但图像数据Cd比规定的阈值thm大的情况下(步骤S514:是),按照误差扩散范围窄的矩阵(这里为图6(a)所示的矩阵),设定各自的误差扩散系数(步骤S518)。即,按照图6(a)中的误差扩散矩阵,在入目像素周边的4个像素的误差扩散系数中设定1/4。通过用这样设定的误差扩散系数,进行上述的步骤S522至步骤S528的处理,将积蓄在寄存器R4中的误差加在误差缓冲器中。
如上处理后判断入目像素的点的形成有无,如果将一个像素的扩散误差写入了误差缓冲器中,则判断是否所有的像素的处理结束(步骤S530)。在还有未处理的像素的情况下,再返回步骤S500,从RAM106读出新的入目像素的图像数据和扩散误差,用这些值和寄存器R1中存储的误差,算出修正数据Cx(步骤S502)。以后,反复进行以上这样的一系列处理,直到没有未处理的像素为止,如果对全部像素的处理结束,退出第三实施例的色调数变换处理,返回图4所示的图像数据变换处理。
如果采用上述的第三实施例的方法进行色调数变换处理,则在一边切换扩散范围大的误差扩散矩阵和扩散范围小的误差扩散矩阵,一边进行色调数变换处理的情况下,能有效地缩短处理时间。即,在使用图6(c)所示的扩散范围大的误差扩散矩阵的情况下,如果将所有的误差积蓄在寄存器中,则需要多个寄存器。参照图17来说明,就是使用位于用虚线包围的范围的内侧的4个像素的寄存器、以及虚线外侧的6个像素的寄存器共计10个像素的寄存器。为了将误差加在这些寄存器中,即使采取使用标志的第二实施例的方法、或是使寄存器的值移动的第二实施例的变形例的方法,如果寄存器的数量太多,操作寄存器需要时间,使得总的处理时间增加。
与此不同,如果采用上述的第三实施例的方法,则即使在采用例如在非常大的范围内使误差扩散的矩阵的情况下,也不会增加对误差进行加法运算的寄存器的数量,而能进行色调数变换处理,所以在总体上能简化处理,能避免增加处理时间。
特别是如上所述,在图像数据的色调值非常小、而且断定了形成点的情况下,使用扩散范围大的误差扩散矩阵。如果图像数据的色调值非常小,则断定形成点的概率小,所以可以说扩散范围大的误差扩散矩阵是使用频度低的矩阵。因此,在必须使误差在极其大的范围内扩散的情况下,即使多少花费一些时间,也能将误差直接加在误差缓冲器中,在不需要在这么大的范围内扩散的通常的情况下,使用中间缓冲器使误差迅速扩散,在总体上能迅速地进行色调数变换处理。另外,在大范围内扩散的情况下,如果将误差直接加在远方像素的误差缓冲器中,则能节省作为中间缓冲器使用的寄存器,能将剩余的寄存器用于其他处理,能更有效地进行处理。
另外,在上述的第三实施例中,虽然只是在切换误差扩散矩阵,选择扩散范围大的误差扩散矩阵的情况下,才使远方像素的直接误差扩散,但并非限于进行矩阵切换的情况。例如,在使用的误差扩散矩阵是扩散范围大的矩阵的情况下,也可以使直接误差扩散并存储在远方的像素中,通过使用中间缓冲器,根据规定像素数的色调误差,使误差集中地扩散到附近的像素中。如果这样做,由于使误差集中地扩散并存储,所以能节省必要的中间缓冲器。
另外,在以上说明的第三实施例中,通过使用中间缓冲器,根据规定像素数的色调误差,使扩散误差集中扩散并存储在周边像素中,在这样的方法中,当然能应用作为第一实施例至第二实施例说明的各种方法。
E.第四实施例:
上述的各种实施例的方法最后都是将色调误差分配给周边像素的误差缓冲器。从该意思来说,可以考虑类似于称为所谓的误差扩散法的方法。当然,如称为所谓的平均误差最小法所述,将由于判断点的形成有无而发生的色调误差存储在入目像素中,在判断未判断像素的点的形成有无时,从周边像素读出色调误差,进行点的形成判断时,通过使用中间缓冲器,能缩短点的形成判断所需要的时间。以下,说明用这样的方法进行色调数变换处理的第四实施例。
E-1.在第四实施例中缩短色调数变换处理的时间的原理:
图18是表示在第四实施例的方法中,通过使用中间缓冲器,缩短点的形成有无的判断所需要的时间的原理的说明图。图18(a)表示对入目像素P00判断点的形成有无的情况。作为说明第四实施例的方法的准备,用图18(a)简单地说明称为所谓的平均误差最小法的方法。
在平均误差最小法中,将由于判断点的形成有无而产生的色调误差存储在对应于该像素的误差缓冲器中。按照图18(a)对其进行说明,在左侧的图中例如有“E0-1”者表示在像素P0-1中发生的色调误差,通过在像素P0-1的框内显示E0-1,模式地表示色调误差E0-1存储在像素P0-1的误差缓冲器中。另外,图中带斜线者表示点的形成判断已结束。如图所示,在平均误差最小法在中,在点的形成有无的判断已结束的像素中存储着各自的色调误差。在对未判断的入目像素P00判断点的形成有无的情况下,从周边的判断完了的像素中读出各自的色调误差,一边考虑这些误差,一边判断入目像素P00的点的形成有无。更详细地说,如图19中示出的几个例所示,根据周边像素相对于入目像素的相对位置,预定规定的加权系数,将从周边的各像素读出的误差乘以规定的加权系数,用该乘得的值修正入目像素的图像数据,算出修正数据。另外,图19中带斜线的像素是入目像素,各像素中显示的数值是该像素中设定的加权系数。通过对这样求得的修正数据和规定的阈值进行比较,判断入目像素的点的形成有无。如果对入目像素判断了点的形成有无,则算出由此产生的色调误差,将算出的色调误差存储在入目像素的误差缓冲器中。在平均误差最小法中,通过反复进行以上的处理,对每个像素进行点的形成有无的判断。
如上所述,为了用平均误差最小法判断点的形成有无,每次进行一个画面的判断时,必须从误差缓冲器读出多个像素的色调误差,需要花费判断点的形成有无用的某种程度的时间。
与此不同,在以下说明的第四实施例的色调数变换处理中,一边进行在数学上与上述的平均误差最小法等效的处理,一边使用中间缓冲器,能迅速地判断点的形成有无。以下,参照图18,通过与上述的平均误差最小法对比,说明第四实施例的色调数变换处理中缩短处理时间的原理。另外,为了避免说明的复杂化,以下,按照图19(a)所示的加权系数的设定,考虑周边像素的色调误差。
图18(a)是表示第四实施例的色调数变换处理中判断入目像素P00的点的形成有无的情况。判断入目像素P00的点的形成有无时,与上述的平均误差最小法一样,使用在像素P-1-1中发生的色调误差E-1-1、在像素P-10中发生的色调误差E-10、在像素P-11中发生的色调误差E-11、以及在像素P0-1中发生的色调误差E0-1。图18(a)右侧的4个矩形模式地表示作为中间缓冲器使用的4个寄存器。为了说明的方便,这里在各寄存器上分别带上符号R1、R2、R3、R4,以示区别。
相对于入目像素位于规定的位置关系的像素的色调误差被写入各寄存器中。即,入目像素右上方的像素的色调误差经常存储在寄存器R1中,入目像素正上方的像素的色调误差存储在寄存器R2中,入目像素左上方的像素的色调误差存储在寄存器R3中,左邻像素的色调误差存储在寄存器R4中。后面将说明将各自的色调误差存储在各寄存器中的处理。
在第四实施例的色调数变换处理中,考虑存储在这4个寄存器中的各像素的色调误差、以及预先在每个像素中设定的加权系数,算出入目像素的修正数据。就是说,在上述的平均误差最小法中,从误差缓冲器读出各像素的色调误差,与此不同,这里预先存储在各寄存器中,在这一点上有很大不同。通过对这样求得的修正数据和规定的阈值进行比较,判断入目像素的点的形成有无。如果断定了点的形成有无,则接着算出入目像素P00的色调误差E00。通过取得修正数据和入目像素的结果值的差,能求得色调误差。
这样,如果求得入目像素的色调误差E00,则为了判断新的入目像素的点的形成有无,对各寄存器增加图18所示的操作。首先,将存储在寄存器R4中的误差写入误差缓冲器中。如用图18(a)说明的那样,在入目像素左邻的像素中产生的色调误差经常被存储在寄存器R4中,所以将寄存器R4的值写入入目像素左邻的像素的误差缓冲器中。其次,将先前求得的像素P00的色调误差E00写入寄存器R4中。再使寄存器R2中的值移动到寄存器R3中,使寄存器R1中的值移动到寄存器R2中。即,对应于入目像素从像素P00移动到右邻的像素P01中,使各寄存器的值移动。由于只在CPU102内部的寄存器之间使数据移动,所以能极迅速地进行这些处理。最后,从误差缓冲器中读出新的入目像素右上方的像素的色调误差,存入寄存器R1中。
通过增加以上的操作,存储在各寄存器中的值从图18(a)右侧所示的状态变成图18(c)的状态。对图18(a)和图18(c)进行比较可知,存储在图18(c)的各寄存器中的值在图18(a)中变成使入目像素从像素P00变更成像素P01时的各寄存器的值。因此,如果反复进行以上的处理,则能依次进行新的像素的点的形成判断。这样,在第四实施例的方法中,由于连续使用的色调误差存储在寄存器中,所以能极大地减少从误差缓冲器中读出色调误差的频度。
E-2.第四实施例的色调数变换处理:
以下,简单地说明实际上进行上述的第四实施例的色调数变换处理用的处理流程。图20是表示第四实施例的色调数变换处理的流程的流程图。另外,与上述的各种实施例的色调数变换处理一样,为了避免说明的复杂化,以下不特定墨的种类和点的大小进行说明,对每一种颜色或各种大小的点进行同样的处理。
一旦开始第四实施例的色调数变换处理,首先读出入目像素的图像数据Cd(步骤S600),接着从误差缓冲器读出入目像素右上方的像素的色调误差,存储在寄存器R1中(步骤S602。其结果,如用图18说明的那样,入目像素周边的各像素的色调误差被存储在各寄存器中。
其次,在每个寄存器中对存储在各寄存器中的误差和规定的加权系数进行乘法运算,算出入目像素的修正数据Cx(步骤S604)。如图19所示,在入目像素周边的像素中,对每个像素确定规定的加权系数,所以在每个寄存器中对这些规定的加权系数和存储的误差进行乘法运算,通过将获得的各个计算值和先前读出的图像数据Cd相加,算出入目像素的修正数据Cx。对这样求得的修正数据和规定的阈值th进行比较(步骤S606)。如果修正数据Cx大,则断定在入目像素中形成点,将意味形成点的值“1”写入表示判断结果的变数Cr中(步骤S608),如果不是这样,则写入意味不形成点的值“0”(步骤S610)。接着,根据这样的判断结果,算出入目像素中产生的色调误差(步骤S612)。与上述的各种实施例一样,从入目像素的修正数据中减去结果值,求得色调误差。
如果如上求得入目像素的色调误差,则象用图18(b)说明的那样,对各寄存器施以如下一系列的操作。首先,将存储在寄存器R4中的色调误差写入误差缓冲器中(步骤S614)。其次,将在步骤S612中求得的色调误差写入寄存器R4中(步骤S616)接着,使寄存器R2中的值移动到寄存器R3中(步骤S618),使寄存器R1中的值移动到寄存器R2中(步骤S620)。
如果以上的寄存器的操作结束,则对全部像素判断点的形成判断是否结束(步骤S622),如果还有未判断的像素,则返回步骤S600,反复连续地进行一系列的处理,直至对全部像素的处理结束为止。如果判断了所有的像素的点的形成有无,则退出第四实施例的色调数变换处理,返回图4所示的图像数据变换处理。
在以上说明的第四实施例的色调数变换处理中,每次判断一个像素的点的形成有无时,从误差缓冲器中只读出一个像素的色调误差即可。在采用平均误差最小法的情况下,如上所述,进行一个像素的判断时,需要从误差缓冲器读出4个像素的扩散误差,两者相比较,在第四实施例的情况下,能减少对误差缓冲器进行数据读写的频度,从而能迅速地进行色调数变换处理。当然,第四实施例的方法和平均误差最小法在数学上进行完全等效的处理,如果采用第四实施例的方法,则与采用平均误差最小法的情况一样,能获得高质量的图像。
另外,在上述的第四实施例中,说明了设定图19(a)中例示的值作为加权系数的设定。实际的加权系数不限定于图19中例示的设定,不用说,能根据图像质量的要求进行各种设定。另外,在上述的第四实施例中,对应于采用图19(a)中例示的设定,作为中间缓冲器使用4个寄存器,但当然根据所使用的加权系数的设定,有时需要更多的寄存器。
另外,在上述的第四实施例中,说明了采用安装在CPU102内的寄存器作为中间缓冲器,但不限于寄存器,当然也可以使用高速缓冲存储器等能高速读写的存储元件。
以上,虽然说明了各种实施例,但本发明不限于上述所有的实施例,在不脱离其要旨的范围内能用各种形态实施。
例如,在上述的各种实施例中,说明了根据各像素的修正数据和规定的阈值的大小关系,判断点的形成有无。当然,判断点的形成有无的方法不限于上述的方法,能采用众所周知的各种方法。
另外,在上述的各种实施例中,为了避免说明的复杂化,作为一种形成点的种类,说明了在各像素中只取得形成点、或不形成点的两种状态。当然,也可以形成点的大小或墨的浓度不同的多种点。例如,也可以形成大小不同的两种点,然后判断点的形成有无。即,设定两个阈值th1和th2(假设th1>th2),如果像素的修正数据比阈值th1大,则断定形成点,如果比阈值th1小且比阈值th2大,则断定形成小点,在比阈值th2小的情况下,断定不形成点。从该像素的修正数据中减去结果值,能算出各像素中发生的色调误差。
另外,再以上的各实施例中,在理论上对每个像素准备误差缓冲器,但实际上只准备几个光栅的误差缓冲器,判断了点的形成有无的像素的误差缓冲器被借来用作另一像素的误差缓冲器。为了避免说明的复杂化,在上述的各种实施例中,虽然说明了如同准备了全部像素的误差缓冲器,但即使反复使用几个光栅的误差缓冲器,当然也没关系。
另外,也可以通过通信线路,将实现上述功能的软件程序(应用程序)供给计算机系统的主存储器或外部存储装置执行。当然,读入存储在CD-ROM或软盘中的软件程序后执行也没关系。
另外,在上述的各种实施例中,虽然说明了在计算机中执行的包括色调数变换处理的图像数据变换处理,但在打印机一侧、或利用专用的图像处理装置执行图像数据变换处理的一部分或全部也没关系。
另外,图像显示装置未必限定于在印刷媒体上形成墨点来印刷图像的印刷装置,例如,即使是通过使亮点以适当的密度分散在液晶显示画面上,表现色调连续变化的图像的液晶显示装置也没关系。

Claims (17)

1.一种图像处理装置,该图像处理装置通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据,该图像处理装置的特征在于备有:
色调误差保存装置,用于当每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差后暂时保存起来;
扩散误差存储装置,用于根据规定数的多个像素的上述暂时保存的色调误差,算出位于该规定数的多个像素的周边扩散到未判断点的形成有无的未判断像素中的扩散误差,将该算出的扩散误差对应地存储在该未判断像素中;以及
点形成判断装置,用于依据对应于上述未判断像素存储的上述扩散误差,根据上述图像数据中的该未判断像素的色调值,判断该未判断像素的点的形成有无,
其中,上述色调误差保存装置是比对上述扩散误差存储装置进行读写能更迅速地读写上述色调误差的装置。
2.根据权利要求1所述的图像处理装置,其特征在于:
上述扩散误差存储装置备有
对该色调误差算出上述暂时保存的色调误差被分配给各个上述未判断像素的分配误差,并积蓄在该各个未判断像素中的分配误差积蓄装置;以及
每次积蓄全部上述规定数的多个像素的上述分配误差时,将积蓄的全部该分配误差作为上述扩散误差对应于上述未判断像素积蓄起来的扩散误差积蓄装置。
3.根据权利要求1所述的图像处理装置,其特征在于:
上述色调误差保存装置是保存上述规定数的多个像素的上述色调误差的装置,
上述扩散误差存储装置根据所保存的规定数的色调误差,算出扩散到各个上述未判断像素中的上述扩散误差,对应于该各个未判断像素积蓄该算出的全部扩散误差的装置。
4.根据权利要求1所述的图像处理装置,其特征在于:
上述色调误差存储装置备有
对每个该色调误差算出上述暂时保存的色调误差被分配给各个上述未判断像素的分配误差,井积蓄在该各未判断像素中的分配误差积蓄装置;以及
对应于该未判断像素,将上述规定数的多个像素部分的积蓄了分配误差的上述各未判断像素的分配误差作为上述扩散误差存储起来的分配误差存储装置。
5.根据权利要求1所述的图像处理装置,其特征在于:
上述色调误差保存装置是保存上述规定数的多个像素的上述色调误差的装置,
上述扩散误差存储装置根据该保存的色调误差,算出上述多个该未判断像素中上述保存的全部色调误差被扩散到特定像素中的扩散误差,对应于该特定像素存储的装置。
6.根据权利要求1所述的图像处理装置,其特征在于:
上述扩散误差存储装置
对上述规定数的多个像素周边的第一规定区域内的各个第一未判断像素,根据该规定数的多个像素的上述色调误差,算出上述扩散误差,对应于该第一未判断像素存储的第一扩散误差存储装置;以及
对位于上述规定数的多个像素的周边上述第一规定区域内没有的第二未判断像素,每次算出上述色调误差时,根据该色调误差算出被扩散到各个该第二未判断像素中的上述扩散误差,对应地存储在该第二未判断像素中的第二扩散误差存储装置。
7.根据权利要求6所述的图像处理装置,其特征在于:
上述第二扩散误差存储装置是对包括上述第一规定区域的第二规定区域内的未判断像素算出上述扩散误差存储的装置。
8.根据权利要求7所述的图像处理装置,其特征在于:
备有根据判断上述点的形成有无的条件,将使上述色调误差扩散到上述未判断像素中的范围切换成上述规定数的多个像素周边的上述第一规定区域、以及上述第二规定区域的扩散范围切换装置。
9.根据权利要求8所述的图像处理装置,其特征在于:
上述扩散范围切换装置是根据上述规定数的多个像素的色调值、以及该各像素的点的形成有无的判断结果,作为判断上述点的形成有无的条件,切换使上述色调误差扩散的范围的装置。
10.根据权利要求1所述的图像处理装置,其特征在于:
上述扩散误差存储装置是根据互相相邻的像素的色调误差,算出上述扩散误差,作为上述规定数的多个像素的色调误差,对应于上述未判断像素存储的装置。
11.根据权利要求10所述的图像处理装置,其特征在于:
上述点形成判断装置是依据对应于上述未判断像素存储的上述扩散误差、以及来自与该未判断像素相邻的像素的上述扩散误差,判断该未判断像素的点的形成有元的装置。
12.一种图像处理装置,该图像处理装置通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据,该图像处理装置的特征在于备有:
色调误差存储装置,用于当每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差,对应地存储在该判断像素中;
色调误差保存装置,用于将在欲判断上述点的形成有无的入目像素的周边已经判断了该点的形成有无的每个已判断像素中对应地存储的上述色调误差保存在该每个已判断像素中;
点形成判断装置,用于依据保存在每个上述已判断像素中的色调误差,根据上述图像数据中的入目像素的色调值,判断点的形成有无;
以及
色调误差更新装置,用于在上述入目像素之后检测判断点的形成有无的下一个入目像素的上述已判断像素,从上述色调误差存储装置读出该检测的已判断像素中暂时未保存上述色调误差的已判断像素的色调误差,用该读出的色调误差更新该下一个入目像素的判断中不使用的该色调误差,供该下一个入目像素的判断。
13.根据权利要求12所述的图像处理装置,其特征在于:
备有暂时保存上述入目像素中产生的色调误差的暂时保存装置,
上述色调误差更新装置是在上述暂时保存的色调误差中更新上述下一个入目像素的判断中不使用的上述色调误差的装置。
14.一种图像处理方法,该方法是通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据的图像处理方法,该图像处理方法的特征在于:
每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差,暂时地保存起来,
根据规定数的多个像素的上述暂时保存的色调误差,算出扩散到位于该规定数的多个像素的周边未进行点的形成有无的判断的未判断像素中的扩散误差,
将上述算出的扩散误差对应地存储在上述未判断像素中,
依据对应地存储在上述未判断像素中上述扩散误差,根据上述图像数据中的该未判断像素的色调值,判断该未判断像素的点的形成有无。
15.一种图像处理方法,该方法是通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的图像数据的图像处理方法,该图像处理方法的特征在于:
每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差,对应地存储在该判断像素中,
将在欲判断上述点的形成有无的入目像素的周边已经判断了该点的形成有无的每个已判断像素中对应地存储的上述色调误差保存在该每个已判断像素中,
依据保存在每个上述已判断像素中的色调误差,根据上述图像数据中的入目像素的色调值,判断点的形成有无,
在上述入目像素之后检测判断点的形成有无的下一个入目像素的上述已判断像素,
读出上述检测的已判断像素中未保存上述色调误差的已判断像素的色调误差,用该读出的色调误差更新该下一个入目像素的判断中不使用的该色调误差后,供该下一个入目像素的判断。
16.一种中刷控制装置,它是通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的印刷数据,对在印刷媒体上形成墨点来印刷图像的印刷部输出该印刷数据,控制该印刷部,该印刷控制装置的特征在于备有:
色调误差保存装置,用于当每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差后暂时保存起来;
扩散误差存储装置,用于根据规定数的多个像素的上述暂时保存的色调误差,算出位于该规定数的多个像素的周边扩散到未判断点的形成有元的未判断像素中的扩散误差,将该算出的扩散误差对应地存储在该未判断像素中;
点形成判断装置,用于依据对应于上述未判断像素存储的上述扩散误差,根据上述图像数据中的该未判断像素的色调值,判断该未判断像素的点的形成有无;以及
印刷数据输出装置,用于根据上述点的形成有无的判断结果,将上述图像数据变换成上述印刷数据,输出给上述印刷部。
17.一种印刷控制装置,它是通过接收表示各像素的色调值的图像数据,对该每个像素根据该色调值判断点的形成有无,将该图像数据变换成由点的形成有无决定的表现形式的印刷数据,对在印刷媒体上形成墨点来印刷图像的印刷部输出该印刷数据,控制该印刷部,该印刷控制装置的特征在于备有:
色调误差存储装置,用于当每次判断上述点的形成的有无时,根据该点的形成有无的判断结果,算出该判断的像素中发生的色调误差,对应地存储在该判断像素中;
色调误差保存装置,用于将在欲判断上述点的形成有无的入目像素的周边已经判断了该点的形成有无的每个已判断像素中对应地存储的上述色调误差保存在该每个已判断像素中;
点形成判断装置,用于依据保存在每个上述已判断像素中的色调误差,根据上述图像数据中的入目像素的色调值,判断点的形成有无;
色调误差更新装置,用于在上述入目像素之后检测判断点的形成有无的下一个入目像素的上述已判断像素,从上述色调误差存储装置读出该检测的已判断像素中暂时未保存上述色调误差的已判断像素的色调误差,用该读出的色调误差更新该下一个入目像素的判断中不使用的该色调误差,供该下一个入目像素的判断;以及
印刷数据输出装置,用于根据上述点的形成有无的判断结果,将上述图像数据变换成上述印刷数据,输出给上述印刷部。
CNB01135352XA 2000-10-06 2001-09-30 图像处理装置、图像处理方法、印刷控制装置及记录媒体 Expired - Fee Related CN1197035C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP307896/00 2000-10-06
JP307896/2000 2000-10-06
JP2000307896 2000-10-06
JP238086/2001 2001-08-06
JP238086/01 2001-08-06
JP2001238086A JP2002185788A (ja) 2000-10-06 2001-08-06 画像処理装置、画像処理方法、印刷制御装置、および記録媒体

Publications (2)

Publication Number Publication Date
CN1348153A CN1348153A (zh) 2002-05-08
CN1197035C true CN1197035C (zh) 2005-04-13

Family

ID=26601689

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01135352XA Expired - Fee Related CN1197035C (zh) 2000-10-06 2001-09-30 图像处理装置、图像处理方法、印刷控制装置及记录媒体

Country Status (5)

Country Link
US (1) US6870641B2 (zh)
EP (1) EP1195982A3 (zh)
JP (1) JP2002185788A (zh)
KR (2) KR100554002B1 (zh)
CN (1) CN1197035C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3823859B2 (ja) * 2002-03-20 2006-09-20 セイコーエプソン株式会社 複数画素単位で画像データを変換する画像処理装置
JP4192640B2 (ja) * 2003-03-19 2008-12-10 セイコーエプソン株式会社 ブロック内のエッジを検出しながら処理を行う画像処理装置、および画像処理方法
US6914700B2 (en) 2003-04-17 2005-07-05 Lexmark International, Inc. Method for reducing migrating residual error in error diffusion halftoning
US7414756B2 (en) * 2003-08-08 2008-08-19 Seiko Epson Corporation Image processing apparatus for converting image data by unit of multiple pixels and printing apparatus
CN1326384C (zh) 2005-04-07 2007-07-11 北京北大方正电子有限公司 一种产生调频网点的方法和装置
CN101340516B (zh) * 2007-07-06 2010-06-02 鸿富锦精密工业(深圳)有限公司 感光度调整装置及调整方法
US8681381B1 (en) * 2008-11-12 2014-03-25 Marvell International Ltd. Pixel stacking avoidance error diffusion halftone
KR101328793B1 (ko) * 2009-11-23 2013-11-13 엘지디스플레이 주식회사 오차 확산 방법과 이를 이용한 액정표시장치
JP5609101B2 (ja) * 2009-12-22 2014-10-22 ブラザー工業株式会社 制御装置及びコンピュータプログラム
JP5866905B2 (ja) * 2011-09-16 2016-02-24 ブラザー工業株式会社 印刷実行部に印刷を実行させるための制御装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0512578B1 (en) * 1986-12-19 1996-11-20 Matsushita Electric Industrial Co., Ltd. Bi-level image display signal processing apparatus
WO1989006080A1 (en) * 1987-12-17 1989-06-29 Eastman Kodak Company Image processor with error diffusion modulated threshold matrix
JP2791066B2 (ja) * 1988-11-15 1998-08-27 キヤノン株式会社 記録装置
US5337160A (en) 1992-07-01 1994-08-09 Hewlett-Packard Error diffusion processor and method for converting a grey scale pixel image to a binary value pixel image
JP3207012B2 (ja) * 1993-03-25 2001-09-10 株式会社東芝 画像処理装置
JP3240803B2 (ja) * 1994-02-14 2001-12-25 セイコーエプソン株式会社 画像処理装置および画像処理方法
JP4155634B2 (ja) * 1998-09-21 2008-09-24 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置及び画像形成システム並びにコンピュータ読み取り可能な記録媒体
JP4236804B2 (ja) * 2000-09-29 2009-03-11 富士通株式会社 画像処理方法、その装置及び記憶媒体

Also Published As

Publication number Publication date
KR20020027183A (ko) 2002-04-13
EP1195982A2 (en) 2002-04-10
KR100611236B1 (ko) 2006-08-10
EP1195982A3 (en) 2004-10-06
JP2002185788A (ja) 2002-06-28
KR20050105141A (ko) 2005-11-03
US20020075494A1 (en) 2002-06-20
KR100554002B1 (ko) 2006-02-22
CN1348153A (zh) 2002-05-08
US6870641B2 (en) 2005-03-22

Similar Documents

Publication Publication Date Title
CN1223170C (zh) 利用校正表的彩色图像数据的校正方法
CN1187953C (zh) 图像处理装置、印刷控制装置、图像处理方法和记录媒体
CN1255766C (zh) 图像处理方法及其装置
CN1216484C (zh) 图象处理装置、印刷控制装置、图象处理方法和记录媒体
CN1764228A (zh) 图像处理装置、图像形成装置、图像处理方法
CN1234533C (zh) 记录装置及记录方法
CN1264121C (zh) 数字图象锐化系统
CN1197035C (zh) 图像处理装置、图像处理方法、印刷控制装置及记录媒体
CN1625221A (zh) 图像形成装置、图案形成方法及其程序
CN1893535A (zh) 浓度确定方法、成像设备和图像处理系统
CN1809116A (zh) 图像处理装置、方法、图像形成装置、图像读取处理装置
CN100340403C (zh) 记录装置和记录方法
CN101031022A (zh) 图像处理装置,图像形成装置,图像处理装置的控制方法
CN1969314A (zh) 图像处理设备和方法、存储介质及其程序
CN1385303A (zh) 将多个像素作为色调重现的1个单位的打印
CN1134727C (zh) 打印机
CN101031423A (zh) 图像形成设备、数据产生设备及其程序、方法和记录介质
CN1805499A (zh) 图像处理装置、图像形成装置、图像读取处理装置及方法
CN1171462C (zh) 固体彩色摄像装置
CN1762149A (zh) 进行彩色图像数据转换的图像处理装置和图像处理方法
CN1306789C (zh) 图像处理设备、方法、程序及记录该程序的记录介质
CN1947409A (zh) 对每多个像素进行多值化的图像处理装置
CN1810508A (zh) 打印装置、其控制方法、打印用数据生成装置和生成方法
CN1957594A (zh) 点数据处理装置、图像输出系统及其方法
CN1788486A (zh) 图像处理方法、图像处理装置和程序

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050413

Termination date: 20120930