(57)【要約】【課題】ＣＰＵのキャッシュメモリーの容量を確認すると共に、様々なキャッシュメモリー容量に適合可能なディザマスクを用意すること。【解決手段】画像処理モジュール１をインストールし、入力画像の各画素をディザマスクによりハーフトーン処理する画像処理装置３であって、キャッシュメモリー容量の情報を取得するキャッシュメモリー容量情報取得部６と、キャッシュメモリー容量の情報に基づき当該キャッシュメモリー容量に適合するサイズのディザマスクを再構築するディザマスク再構築部７と、を有する画像処理装置３を構成する。【選択図】図１
2011087099.tif 000002
【特許請求の範囲】
【請求項１】
所定の画像処理モジュールをインストールし、入力画像の各画素をディザマスクによりハーフトーン処理する画像処理装置であって、
キャッシュメモリー容量の情報を取得するキャッシュメモリー容量情報取得手段と、
上記キャッシュメモリー容量の情報に基づき当該キャッシュメモリー容量に適合するサイズのディザマスクを再構築するディザマスク再構築手段と、
を有する、
ことを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記ディザマスク再構築手段は、予めサイズの異なる複数のディザマスクをリソースとして保持し、前記キャッシュメモリー容量の情報に基づき前記キャッシュメモリー容量に適合するサイズのディザマスクを保持されている複数のディザマスクの中から選択する、
ことを特徴とする画像処理装置。
【請求項３】
請求項１記載の画像処理装置であって、
前記ディザマスク再構築手段は、前記キャッシュメモリー容量の情報に基づき既存のディザマスクから前記キャッシュメモリー容量に適合するサイズのディザマスクを切り出す、
ことを特徴とする画像処理装置。
【請求項４】
画像処理装置にインストールされることにより入力画像の各画素をディザマスクによりハーフトーン処理する画像処理モジュールにおいて、
自己がインストールされる上記画像処理装置のキャッシュメモリー容量の情報を取得するキャッシュメモリー容量情報取得処理と、
上記キャッシュメモリー容量の情報に基づき当該キャッシュメモリー容量に適合するサイズのディザマスクを再構築するディザマスク再構築処理と、
を含む、
ことを特徴とする画像処理モジュール。
【請求項５】
請求項４記載の画像処理モジュールであって、
前記ディザマスク再構築処理は、予め保持されているサイズの異なる複数のディザマスクから前記キャッシュメモリー容量の情報に基づき前記キャッシュメモリー容量に適合するサイズのディザマスクを選択する、
ことを特徴とする画像処理モジュール。
【請求項６】
請求項４記載の画像処理モジュールであって、
前記ディザマスク再構築処理は、前記キャッシュメモリー容量の情報に基づき既存のディザマスクから前記キャッシュメモリー容量に適合するサイズのディザマスクを切り出す、
ことを特徴とする画像処理モジュール。
【請求項７】
画像処理装置にインストールされることにより入力画像の各画素をディザマスクによりハーフトーン処理する画像処理モジュールが実行するディザマスク制御方法において、
自己がインストールされる上記画像処理装置のキャッシュメモリー容量の情報を取得するキャッシュメモリー容量情報取得ステップと、
上記キャッシュメモリー容量の情報に基づき当該キャッシュメモリー容量に適合するサイズのディザマスクを再構築するディザマスク再構築ステップと、
を有する、
ことを特徴とするディザマスク制御方法。
【請求項８】
請求項７記載のディザマスク制御方法であって、
前記ディザマスク再構築ステップの処理は、
予めサイズの異なる複数のディザマスクをリソースとして保持するディザマスクリソース保持ステップと、
前記キャッシュメモリー容量の情報に基づき前記キャッシュメモリー容量に適合するサイズのディザマスクを保持されている複数のディザマスクの中から選択するディザマスク選択ステップと、
を有する、
ことを特徴とするディザマスク制御方法。
【請求項９】
請求項７記載のディザマスク制御方法であって、
前記ディザマスク再構築ステップの処理は、前記キャッシュメモリー容量の情報に基づき既存のディザマスクから前記キャッシュメモリー容量に適合するサイズのディザマスクを切り出すステップを有する、
ことを特徴とするディザマスク制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理モジュールおよびディザマスク制御方法に関する。
【背景技術】
【０００２】
入力画像を構成する各画素の階調値と適当に変化する閾値とを比較し、閾値より階調値の方が高い場合には“１”、低い場合には“０”として２値化することによって、出力画像を、あたかも複数階調の濃淡を持つ画像であるかのように表示するディザ法が広く用いられている。ディザ法では、複数の閾値をマトリックス状に敷き詰めたディザマスクを、入力画像を構成する各画素に重ね合わせて２値化処理を行う。
【０００３】
たとえばインクジェットプリンターに上述した２値化処理を適用することにより、当該プリンターに、上述の“１”では「ドットを打つ」、上述の“０”では「ドットを打たない」という動作を行わせることができる。また、昨今では、上述した２値化処理によって得られた結果に対し、さらに２値化処理を施すなどにより、単に「ドットを打つ」、「ドットを打たない」、という動作だけではなく、ドットサイズの大中小を設定することもできる。すなわち、「ドット打たない」、「小ドットを打つ」、「中ドットを打つ」、「大ドットを打つ」といった４値化処理を行っている。なお、以下の説明では、このような２値化処理あるいは４値化処理もしくはそれ以上の多値化処理を含めてハーフトーン処理と呼ぶことにする。
【０００４】
この際、一般的に、ディザマスクのサイズと比較して入力画像のサイズはきわめて大きい。したがって、１つの入力画像の各画素に対してディザマスクを用いたハーフトーン処理を行う場合、１つの入力画像上で、当該入力画像サイズよりも小さいディザマスクを、順次置き場所を換えながら処理を行っている。
【０００５】
すなわち、１つの入力画像の一部分に対し、ディザマスクを格納しているメモリーからディザマスクを読み出してハーフトーン処理を行い、続いて、当該入力画像の未だハーフトーン処理を行っていない他の部分に対し、再びメモリーからディザマスクを読み出してハーフトーン処理を行うといった手順を繰り返し実行している。
【０００６】
このような処理に際し、たとえば特許文献１に係る発明では、メモリーから読み出されたディザマスクの一部のデータがハーフトーン処理を実行中のＣＰＵ(Central Processing Unit)が有するキャッシュメモリーに残存することを利用してディザマスクの読み出しに要する時間を短くしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−４９６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した特許文献１に係る発明では、メモリーからＣＰＵに読み出されたディザマスクの一部が、当該ＣＰＵが有するキャッシュメモリーに残存することを利用して処理を行っている。一方、昨今では、従来と比較して大きな容量のキャッシュメモリーを有するＣＰＵが現れている。このような大きな容量のキャッシュメモリーを有するＣＰＵを用いれば、メモリーからＣＰＵに読み出されたディザマスクの全部が、当該ＣＰＵが有するキャッシュメモリーに残存する可能性がある。これによれば、特許文献１のように、ディザマスクの一部を用いる場合と比較してさらに処理の高速化が期待できる。
【０００９】
しかしながら、現状では、ＣＰＵの種類に応じてキャッシュメモリーの容量は様々である。したがって、キャッシュメモリーの容量が判明しない限り、そのＣＰＵに対してどのようなサイズのディザマスクを用いればよいのかが判別困難である（課題１）。
【００１０】
また、仮に、キャッシュメモリーの容量が分かっていたとしても様々な容量に対応可能なディザマスクをどのようにして用意するかについての提案は過去になされていない（課題２）。
【００１１】
本発明は、このような背景の下に行われたものであって、キャッシュメモリーの容量を確認できると共に、様々なキャッシュメモリー容量に適合可能なディザマスクを用意することができる画像処理装置、画像処理モジュールおよびディザマスク制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一つの観点は、画像処理装置としての観点である。すなわち、本発明の画像処理装置は、所定の画像処理モジュールをインストールし、入力画像の各画素をディザマスクによりハーフトーン処理する画像処理装置であって、キャッシュメモリー容量の情報を取得するキャッシュメモリー容量情報取得手段と、キャッシュメモリー容量の情報に基づき当該キャッシュメモリー容量に適合するサイズのディザマスクを再構築するディザマスク再構築手段と、を有するものである。
【００１３】
このような構成とすることにより、自装置のキャッシュメモリーの容量を確認できる（課題１を解決）と共に、様々な容量に適合可能なディザマスクを用意することができる（課題２を解決）。これにより、効率の良いハーフトーン処理を実行することができる。
【００１４】
たとえば、ディザマスク再構築手段は、予めサイズの異なる複数のディザマスクをリソースとして保持し、キャッシュメモリー容量の情報に基づきキャッシュメモリー容量に適合するサイズのディザマスクを保持されている複数のディザマスクの中から選択することができる。
【００１５】
このような構成とすることにより、ディザマスクの再構築をごく短時間に簡単に行うことができる。すなわち、あらかじめ用意された複数のディザマスクの中から最適なディザマスクを選択するだけでよい。このため、その処理はごく短時間かつ簡単に完了できる。
【００１６】
あるいは、ディザマスク再構築手段は、キャッシュメモリー容量の情報に基づき既存のディザマスクからキャッシュメモリー容量に適合するサイズのディザマスクを切り出すことができる。
【００１７】
このような構成とすることにより、必要のない多種のディザマスクをあらかじめ保持しておく必要はなく、１つの元となるディザマスクによって様々なキャッシュメモリー容量に対応するディザマスクを再構築することができる。
【００１８】
本発明の他の観点は、画像処理モジュールとしての観点である。すなわち、本発明の画像処理モジュールは、画像処理装置にインストールすることにより入力画像の各画素をディザマスクによりハーフトーン処理する画像処理モジュールにおいて、自己がインストールされる画像処理装置のキャッシュメモリー容量の情報を取得するキャッシュメモリー容量情報取得処理と、キャッシュメモリー容量の情報に基づき当該キャッシュメモリー容量に適合するサイズのディザマスクを再構築するディザマスク再構築処理と、を含むものである。
【００１９】
このような処理とすることにより、画像処理装置のキャッシュメモリーの容量を確認できると共に、様々なキャッシュメモリー容量に適合可能なディザマスクを用意することができる。これにより、画像処理装置は、効率の良いハーフトーン処理を実行することができる。
【００２０】
たとえば、ディザマスク再構築処理は、予め保持されているサイズの異なる複数のディザマスクからキャッシュメモリー容量の情報に基づきキャッシュメモリー容量に適合するサイズのディザマスクを選択することができる。
【００２１】
このような処理とすることにより、ディザマスクの再構築をごく短時間に簡単に行うことができる。すなわち、あらかじめ用意された複数のディザマスクの中から最適なディザマスクを選択するだけでよい。このため、その処理はごく短時間かつ簡単に完了できる。
【００２２】
あるいは、ディザマスク再構築処理は、キャッシュメモリー容量の情報に基づき既存のディザマスクからキャッシュメモリー容量に適合するサイズのディザマスクを切り出すことができる。
【００２３】
このような処理とすることにより、必要のない多種のディザマスクをあらかじめ保持しておく必要はなく、１つの元となるディザマスクによって様々なキャッシュメモリー容量に対応するディザマスクを再構築することができる。
【００２４】
本発明のさらに他の観点は、ディザマスク制御方法としての観点である。すなわち、本発明のディザマスク制御方法は、画像処理装置にインストールされることにより入力画像の各画素をディザマスクによりハーフトーン処理する画像処理モジュールが実行するディザマスク制御方法において、自己がインストールされる画像処理装置のキャッシュメモリー容量の情報を取得するキャッシュメモリー容量情報取得ステップと、キャッシュメモリー容量の情報に基づき当該キャッシュメモリー容量に適合するサイズのディザマスクを再構築するディザマスク再構築ステップと、を有するものである。
【００２５】
このような方法とすることにより、画像処理装置のキャッシュメモリーの容量を確認できると共に、様々な容量に適合可能なディザマスクを用意することができる。これにより、画像処理装置は、効率の良いハーフトーン処理を実行することができる。
【００２６】
たとえば、ディザマスク再構築ステップの処理は、予めサイズの異なる複数のディザマスクをリソースとして保持するディザマスクリソース保持ステップと、キャッシュメモリー容量の情報に基づきキャッシュメモリー容量に適合するサイズのディザマスクを保持されている複数のディザマスクの中から選択するディザマスク選択ステップと、を有することができる。
【００２７】
このような方法とすることにより、ディザマスクの再構築をごく短時間に簡単に行うことができる。すなわち、あらかじめ用意された複数のディザマスクの中から最適なディザマスクを選択するだけでよい。このため、その処理はごく短時間かつ簡単に完了できる。
【００２８】
あるいは、ディザマスク再構築ステップの処理は、キャッシュメモリー容量の情報に基づき既存のディザマスクからキャッシュメモリー容量に適合するサイズのディザマスクを切り出すステップを有することができる。
【００２９】
このような方法とすることにより、必要のない多種のディザマスクをあらかじめ保持しておく必要はなく、１つの元となるディザマスクによって様々なキャッシュメモリー容量に対応するディザマスクを再構築することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態に係る画像処理モジュールがインストールされる画像処理装置を説明するための図であり、プリンターの模式的な構成図である。
【図２】図１の画像処理モジュールのハーフトーン処理手順を示すフローチャートである。
【図３】図１の画像処理モジュールがディザマスクを繰り返し参照しながらハーフトーン処理を実行する様子を説明するための図である。
【図４】図１の画像処理装置のＣＰＵにおいてキャッシュメモリーにディザマスクのデータが残存する過程を説明するための図である。
【図５】図２の画像処理モジュールのディザマスク再構築の処理で用いるキャッシュメモリー容量テーブルを示す図である。
【図６】図２の画像処理モジュールのディザマスク再構築の処理で用いるキャッシュメモリー容量情報の取得手順を示すフローチャートである。
【図７】図２の画像処理モジュールのディザマスク再構築の処理で用いる「ディザマスク再構築方法その１（選択）」を説明するための図である。
【図８】図２の画像処理モジュールのディザマスク再構築の処理で用いる図７の「ディザマスク再構築方法その１（選択）」の処理手順を示すフローチャートである。
【図９】図２の画像処理モジュールのディザマスク再構築の処理で用いる「ディザマスク再構築方法その２（切り出し）」を説明するための図である。
【図１０】図２の画像処理モジュールのディザマスク再構築の処理で用いる図９の「ディザマスク再構築方法その２（切り出し）」の処理手順を示すフローチャートである。
【図１１】図２の画像処理モジュールのディザマスク再構築の処理で用いる「ディザマスクさく構築方法その２（切り出し）」における図９とは異なる切り出し元となるディザマスクの例を示す図である。
【発明を実施するための形態】
【００３１】
（本発明の実施の形態に係る画像処理モジュール１について）
本発明の実施の形態に係る画像処理モジュール１について図１および図２を参照して説明する。図１は、画像処理モジュール１がインストールされる画像処理装置３を備えるプリンター２の模式的な構成図である。図２は、画像処理モジュール１のハーフトーン処理手順を示すフローチャートである。
【００３２】
図２に示すハーフトーン処理は周知の処理であるがごく簡単に説明すると、入力画像の連続階調を印刷結果に再現するために、様々なサイズ（小中大：ＳＭＬ:Small Medium Large）の点（ドット）に分割することである。ハーフトーン処理によって、グレーやカラーの連続階調を印刷結果に再現することができる。
【００３３】
図１に示すプリンター２は、画像処理装置３およびプリンター機能部４により構成される。また、画像処理装置３は、ＣＰＵ５を備える。このＣＰＵ５が画像処理モジュール１を読み込むことによって、ＣＰＵ５には、キャッシュメモリー容量情報取得部６およびディザマスク再構築部７が実現される。
【００３４】
さらに、画像処理装置３は、メモリー９、ＨＤＤ(Hard Disk Drive)１０よびこれらを相互に接続するためのバス１１を備える。なお、ＣＰＵ５、メモリー９、ＨＤＤ１０およびバス１１は、プリンター機能部４が備えるこれらの機能と共通であってもよい。
【００３５】
ディザマスク再構築部７は、ディザマスク８を再構築する。再構築されたディザマスク８は、メモリー９またはＨＤＤ１０に格納される。図１の例では、再構築されたディザマスク８は、メモリー９に格納される。
【００３６】
このような状況下において、ＣＰＵに読み込まれた画像処理モジュール１がハーフトーン処理を実行すると、メモリー９に格納されているディザマスク８は、ＣＰＵ５によって読み出されてハーフトーン処理に利用される。
【００３７】
このときＣＰＵ５のキャッシュメモリー３１には、ＣＰＵ５によって読み出されたディザマスク８のデータが残存する。以降、ＣＰＵ５はキャッシュメモリー３１に残存しているディザマスク８のデータを利用してハーフトーン処理を実行可能になる。
【００３８】
なお、画像処理モジュール１とは、ディザマスクを用いたハーフトーン処理を実行するための一連のプログラムである。画像処理モジュール１は、ＣＤ−ＲＯＭ(Compact Disc-Random Access Memory)などの記憶媒体に記録され、プリンター２が備えるメモリー９もしくはＨＤＤ１０にいったん記録された後、画像処理装置３の稼働中にはＣＰＵ５に読み込まれて使用される。あるいは、画像処理モジュール１は、画像処理装置３が通信機能を備える場合、ネットワークを介してメモリー９もしくはＨＤＤ１０に格納されてもよい。画像処理モジュール１が画像処理装置３のＣＰＵ５に読み込まれることにより、ＣＰＵ５には、キャッシュメモリー容量情報取得部６（請求項でいうキャッシュメモリー容量情報取得手段）およびディザマスク再構築部７（請求項でいうディザマスク再構築手段）が実現される。
【００３９】
また、メモリー９もしくはＨＤＤ１０には、図２に示す画像処理モジュール１が有する各種データ（キャッシュメモリー容量情報２０、ディザマスクリソース２１、ディザマスク８、２ラスター（ＲＧＢ）情報２２、２ラスター（ＣＭＹＫ）情報２３、２ラスター（１色分）情報２４、ハーフトーン結果情報２５など）が格納されている。
【００４０】
キャッシュメモリー容量情報２０は、後述するキャッシュメモリー容量取得手順によって取得されるキャッシュメモリー３１の容量情報である。
【００４１】
ディザマスクリソース２１は、後述するディザマスク８の再構築に利用するためのディザマスク素材である。
【００４２】
ディザマスク８は、前述したとおりである。
【００４３】
２ラスター（ＲＧＢ）情報２２は、画像処理装置５の入力画像の２ラスター分における３色分の色情報である。
【００４４】
２ラスター（ＣＭＹＫ）情報２３は、画像処理装置５の出力画像の２ラスター分における４色分の色情報である。
【００４５】
２ラスター（１色分）情報３４は、画像処理装置５の出力画像の２ラスター分における１色分の色情報である。
【００４６】
ハーフトーン結果情報２５は、ハーフトーン処理の結果得られた情報である。
【００４７】
ここで、現在最も多く使われているディザマスクの大きさは、たとえば１０２４×５１２画素となっているが、ハーフトーン処理に係る機能やインク特性に応じてディザマスク８の大きさが決定されている。
【００４８】
これに対して、本実施の形態におけるディザマスク８は、自身が動作しているＣＰＵ５のキャッシュメモリーの容量に関する情報を取得し、その容量に応じて最適なディザマスク８の大きさを決定し、その決定に基づいてディザマスク８を再構築するものである。
【００４９】
そのため、現在主流のディザマスクの大きさ（サイズ）と比較すると、ディザマスクを再構築する関係上、当該ディザマスク８の大きさ（サイズ）は異なるものとなるが、中には、たまたま一致してしまう場合も生じ得る。
【００５０】
また、プリンター機能部４は、画像処理装置３から出力された出力画像に基づき用紙などに印刷を行ってプリントアウトする。
【００５１】
図２は、画像処理モジュール１の処理手順を示すフローチャートである。図２のフローチャートの処理は、ステップＳ１のディザマスク再構築の処理を除いて周知の処理である。よって、図２のフローチャートの処理については説明を簡略化する。なお、ステップＳ１のディザマスク再構築の処理（請求項でいうキャッシュメモリー容量情報取得処理およびディザマスク再構築処理）については図２のフローチャートの説明の後に詳しく述べることとする。
【００５２】
ＳＴＡＲＴ：画像処理モジュール１がハーフトーン処理を開始すると、ステップＳ１の処理へ移行する。
【００５３】
ステップＳ１：画像処理モジュール１は、キャッシュメモリー容量情報２０を元にディザマスクリソース２１からディザマスク８を再構築してステップＳ２の処理へ移行する。
【００５４】
ステップＳ２：画像処理モジュール１は、画像データの中から処理対象の２ラスターを選択してステップＳ３の処理へ移行する。なお、画像データが１ラスターしかなければ空のラスターを加えて２ラスターとする。
【００５５】
ステップＳ３：画像処理モジュール１は、ＲＧＢ形式の２ラスターの画像データをＣＭＹＫの４色に変換すると共に分解してステップＳ４の処理へ移行する。なお、ＲＧＢ形式から変換する色は、機種に応じて６色、８色などの場合もある。
【００５６】
ステップＳ４：画像処理モジュール１は、２ラスターの中で処理対象のブロック（２×２画素）を選択してステップＳ５の処理へ移行する。
【００５７】
ステップＳ５：画像処理モジュール１は、どの色をハーフトーン処理するか決めてステップＳ６の処理へ移行する。
【００５８】
ステップＳ６：画像処理モジュール１は、ステップＳ５の処理で選択された色に対し、２×２画素の単位でハーフトーン処理を実行してステップＳ７の処理へ移行する。
【００５９】
ステップＳ７：画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された色が最後の色であるか否かを判断する。すなわち、画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された色が最後の色である場合（ステップＳ７でＹｅｓ）、ステップＳ８の処理へ移行する。一方、画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された色が最後の色ではない場合（ステップＳ７でＮｏ）、ステップＳ５の処理へ戻る。
【００６０】
ステップＳ８：画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された画素が最後の画素であるか否かを判断する。すなわち、画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された画素が最後の画素である場合（ステップＳ８でＹｅｓ）、ステップＳ９の処理へ移行する。一方、画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された画素が最後の画素ではない場合（ステップＳ８でＮｏ）、ステップＳ４の処理へ戻る。
【００６１】
ステップＳ９：画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された画像が終りの画像か否かを判断する。すなわち、画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された画像が終りの画像である場合（ステップＳ９でＹｅｓ）、処理を終了する（ＥＮＤ）。一方、画像処理モジュール１は、ステップＳ６の処理においてハーフトーン処理された画像が終りの画像でない場合（ステップＳ９でＮｏ）、ステップＳ２の処理へ戻る。
【００６２】
このように、画像処理モジュール１は、ハーフトーン処理を実行する。この際に、ステップＳ７、ステップＳ８、ステップＳ９の各処理からなる３重ループの中でディザマスク８は繰り返し参照される。
【００６３】
（入力画像のハーフトーン処理におけるディザマスク８の参照について）
次に、入力画像のハーフトーン処理におけるディザマスク８の参照について、図３を参照して説明する。画像処理モジュール１は、入力画像のハーフトーン処理に際し、入力画像の中から処理する２ラスターを選択する。図３の例では、ラスター３およびラスター４の処理が選択されている。
【００６４】
続いて、画像処理モジュール１は、２ラスターの中から２×２画素のブロックを選択する。図３の例では、ラスター３およびラスター４のそれぞれ先頭から２画素ずつのブロックが選択されている。
【００６５】
ブロックが選択されると対応するディザマスク８の座標が参照される。
【００６６】
ディザマスク８の値を閾値として使い、その画素のドット発生パターンが決定される。たとえばハーフトーン処理が２値化処理である場合、「ドットを打つ」、「ドットを打たない」のいずれかが決定される。あるいはハーフトーン処理が４値化処理である場合、「ドットを打たない」、「小ドットを打つ」、「中ドットを打つ」、「大ドットを打つ」のいずれかが決定される。図３の例では、［４］の画素に「ドットを打つ」ことが決定されている。
【００６７】
２ラスター内に次のブロックがあれば再び２×２画素のブロックが選択される。
【００６８】
この処理は、ラスターが終わるまで繰り返される。
【００６９】
図２および図３の説明からわかるように、入力画像の全域のハーフトーン処理が終了するまで、膨大な回数のディザマスク８の参照が繰り返し実行される。このように、画像処理モジュール１のハーフトーン処理では、ディザマスク８を繰り返し参照するため、ディザマスク８の読み出し速度はハーフトーン処理の処理速度に大きく影響することがわかる。
【００７０】
すなわち、図４に示すように、メモリー９に格納されているディザマスク８は、ＣＰＵ５の画像処理モジュール１においてハーフトーン処理が開始されると、ＣＰＵ５によってメモリー９から読み出される。このとき、ＣＰＵ５のキャッシュメモリー３１には、メモリー９からのデータ読み出し結果としてディザマスク８Ａのデータが残存することになる。
【００７１】
これにより、画像処理モジュール１、以降のディザマスク８の参照においては、メモリー９からではなく、キャッシュメモリー３１からディザマスク８Ａを読み出すことができるようになる。
【００７２】
これにより、画像処理モジュール１は、メモリー９からディザマスク８を読み出す場合と比較して数１０倍も速い読み出し速度でキャッシュメモリー３１からディザマスク８Ａを読み出すことができようになる。
【００７３】
なお、メモリー９からディザマスク８を読み出す場合とキャッシュメモリー３１からディザマスク８Ａを読み出す場合とでその読み出し速度が数１０倍速くなる理由については周知の事項であるため詳細な説明は省略し、以下に簡単な説明を行う。
【００７４】
すなわち、メモリー９からディザマスク８を読み出す場合は、画像処理モジュール１がバス１１を介してメモリー９にアクセスし、メモリー９がこのアクセスに対して応答した後、画像処理モジュール１は、メモリー９にディザマスク８の読み出しを要求する。メモリー９は、画像処理モジュール１からの要求に応じてディザマスク８をメモリー９からＣＰＵ５に向けて読み出す。
【００７５】
このように、画像処理モジュール１がメモリー９からディザマスク８を読み出すためには、画像処理モジュール１からメモリー９に対しての「アクセス」、メモリー９から画像処理モジュール１に対しての「応答」、画像処理モジュール１からメモリー９に対しての「要求」、メモリー９から画像処理モジュール１に対しての「読み出し」といった複数の手順が必要になる。これに対し、キャッシュメモリー３１からディザマスク８Ａを読み出す場合は、これらの「アクセス」、「応答」、「要求」、「読み出し」の手順が省略できる。
【００７６】
これにより、メモリー９からバス１１を介して繰り返しディザマスク８を読み出しながらハーフトーン処理を実行する場合と比較し、キャッシュメモリー３１から繰り返しディザマスク８Ａを読み出しながらハーフトーン処理を実行する場合は、一般的にみて数１０倍程度、ディザマスク８Ａの読み出し速度が速くなる。
【００７７】
したがって、キャッシュメモリー３１にディザマスク８Ａのデータが残存していることは、ハーフトーン処理を高速化する上できわめて有用である。
【００７８】
（ディザマスク再構築処理に係るキャッシュメモリー容量情報２０の取得処理について）
次に、図２のステップＳ１のディザマスク再構築処理に係るキャッシュメモリー容量情報２０の取得処理について図５および図６を参照して説明する。図５は、ＣＰＵ５の型式に対応するキャッシュメモリー容量が記録されたキャッシュメモリー容量テーブルの例を示す図である。図６は、画像処理モジュール１が実行するキャッシュメモリー容量情報の取得手順を示すフローチャートである。
【００７９】
図５に示すように、画像処理モジュール１は、様々なＣＰＵ５の型式に対応するキャッシュメモリー容量が記録されたキャッシュメモリー容量テーブルをデータとして有する。このキャッシュメモリー容量テーブルは、画像処理モジュール１が起動されると、たとえばメモリー９またはＨＤＤ１０に格納される。
【００８０】
図５のテーブルの例では、ＣＰＵ５の型式として、ＣＰＵ♯１、♯２、♯３、…、♯ｎが記録され、ＣＰＵ５の型式ＣＰＵ♯１、♯２、♯３、…、♯ｎに対応してキャッシュメモリー容量が６ＭＢ、５１２ＫＢ、４ＭＢ、…、２５６ＫＢとして記録されている。
【００８１】
画像処理モジュール１は、図５のテーブルを参照して図６に示すキャッシュメモリー容量情報の取得手順を実行する。
【００８２】
ＳＴＡＲＴ：画像処理モジュール１は、ＣＰＵ５に読み込まれると、ステップＳ１０の処理へ移行する。
【００８３】
ステップＳ１０：画像処理モジュール１は、ＣＰＵ５の型式情報を未取得か否かを判断する。すなわち、画像処理モジュール１は、ＣＰＵ５の型式情報を未取得の場合（ステップＳ１０でＹｅｓ）、ステップＳ１１の処理へ移行する。一方、画像処理モジュール１は、ＣＰＵ５の型式情報を取得済の場合（ステップＳ１０でＮｏ）、処理を終了する（ＥＮＤ）。
【００８４】
ステップＳ１１：画像処理モジュール１は、ＣＰＵ５の型式情報の取得を実行してステップＳ１２の処理へ移行する。このとき、ＣＰＵ５の型式情報の取得には、たとえばＣＰＵＩＤ（ＣＰＵ識別情報）を用いる。一般的に、市販のＣＰＵ５にはＣＰＵＩＤが付与されている。そして、ＣＰＵ５に対して所定のコマンドを入力することによって、当該ＣＰＵ５は、自己のＣＰＵＩＤを出力することは周知のとおりである。画像処理モジュール１は、ＣＰＵ５から出力されたＣＰＵＩＤによってＣＰＵ５の型式を認識することができる。なお、ＣＰＵＩＤからＣＰＵ５の型式を導出するには、たとえばＣＰＵＩＤに対応するＣＰＵ５の型式が記録されたテーブル（不図示）などを用いればよい。
【００８５】
ステップＳ１２：画像処理モジュール１は、取得したＣＰＵ５の型式が図４に示すキャッシュメモリー容量テーブルにある型式か否かを判断する。すなわち、画像処理モジュール１は、取得したＣＰＵ５の型式がキャッシュメモリー容量テーブルにある場合（ステップＳ１２でＹｅｓ）、ステップＳ１３の処理へ移行する。一方、画像処理モジュール１は、取得したＣＰＵ５の型式がキャッシュメモリー容量テーブルにない場合（ステップＳ１２でＮｏ）、処理を終了する（ＥＮＤ）。
【００８６】
ステップＳ１３：画像処理モジュール１は、図４のキャッシュメモリー容量テーブルに基づきキャッシュメモリー容量情報２０を取得して処理を終了する（ＥＮＤ）。
【００８７】
（ディザマスク再構築方法その１（選択））
次に、画像処理モジュール１において実行されるディザマスク再構築方法のうち「ディザマスク再構築方法その１（選択）」について図７および図８を参照して説明する。「ディザマスク再構築方法その１（選択）」は、予めサイズの異なる複数のディザマスク♯ａ，♯ｂ，♯ｃ，…，♯ｄをディザマスクリソース２１として保持し、キャッシュメモリー容量の情報に基づきキャッシュメモリー容量に適合するサイズのディザマスク８を保持されている複数のディザマスク♯ａ，♯ｂ，♯ｃ，…，♯ｄの中から選択するものである。
【００８８】
図７は、ディザマスクリソース２１として保持されている複数のディザマスク♯ａ，♯ｂ，♯ｃ，…，♯ｄの中から、図２のステップＳ１のディザマスク再構築の処理において、１つのディザマスク♯ｃがディザマスク８として選択される様子を模式的に示している。
【００８９】
図７では、キャッシュメモリー容量情報２０として４ＭＢ（メガバイト）がディザマスク再構築処理（図２のＳ１）の実行の際に通知されている。ディザマスク再構築処理（図２のＳ１）では、ディザマスクリソース２１の中から４ＭＢに適合する（４ＭＢ以内に収まる）ディザマスク８としてディザマスク♯ｃが選択される。
【００９０】
図７の処理手順を図８のフローチャートで説明する。
【００９１】
ＳＴＡＲＴ：画像処理モジュール１は、図２のステップＳ１でディザマスク再構築処理が開始されると、ステップＳ２０の処理へ移行する。
【００９２】
ステップＳ２０：画像処理モジュール１は、キャッシュメモリー容量情報２０が取得できたか否かを判断する。すなわち、画像処理モジュール１は、キャッシュメモリー容量情報２０が取得できた場合（ステップＳ２０でＹｅｓ）、ステップＳ２１の処理へ移行する。一方、画像処理モジュール１は、キャッシュメモリー容量情報２０が取得できない場合（ステップＳ２０でＮｏ）、ステップＳ２３の処理へ移行する。
【００９３】
ステップＳ２１：画像処理モジュール１は、適合するサイズのディザマスク８が有るか否かを判断する。すなわち、画像処理モジュール１は、適合するサイズのディザマスク８が有る場合（ステップＳ２１でＹｅｓ）、ステップＳ２２の処理へ移行する。一方、画像処理モジュール１は、適合するサイズのディザマスク８が無い場合（ステップＳ２１でＮｏ）、ステップＳ２３の処理へ移行する。
【００９４】
ステップＳ２２：画像処理モジュール１は、適合するディザマスク８を選択して処理を終了する（ＥＮＤ）。
【００９５】
ステップＳ２３：画像処理モジュール１は、従来手法（たとえば特許文献１などの手法）を適用して処理を終了する（ＥＮＤ）。
【００９６】
このように、画像処理モジュール１は、キャッシュメモリー容量情報２０に基づきディザマスクリソース２１の中からキャッシュメモリー容量に適合するディザマスク８を選択する。
【００９７】
このように、「ディザマスク再構築方法その１（選択）」によれば、ディザマスク８の再構築をごく短時間に簡単に行うことができる。すなわち、あらかじめ用意された複数のディザマスク♯ａ，♯ｂ，♯ｃ，…，♯ｄの中から最適なディザマスク８を選択するだけでよい。このため、その処理はごく短時間かつ簡単に完了できる。
【００９８】
（ディザマスク再構築方法その２（切り出し））
次に、画像処理モジュール１において実行されるディザマスク再構築方法のうち「ディザマスク再構築方法その２（切り出し）」について図９および図１０を参照して説明する。「ディザマスク再構築方法その２（切り出し）」は、キャッシュメモリー容量情報２０に基づき既存のディザマスク８Ｂからキャッシュメモリー容量に適合するサイズのディザマスク８を切り出すものである。
【００９９】
図９は、ディザマスクリソース２１Ａとして保持されている６．４ＭＢのディザマスク８Ｂから、図２のステップＳ１のディザマスク再構築の処理において、４ＭＢのディザマスク８が切り出される様子を模式的に示している。
【０１００】
図９の例では、ディザマスク８Ｂは、最小単位のディザマスク♯ａを２５個組合せたものである。たとえば１個のディザマスク♯ａは、２５６ＫＢであり、ディザマスク８Ｂ全体では、２５６ＫＢ×２５個＝６．４ＭＢの容量がある。
【０１０１】
ここでは、このように、最小単位のディザマスク♯ａを複数組み合わせたディザマスクを切り出し元のディザマスク８Ｂの例として示した。これは説明を分り易くするための１つの例である。要するに、１個のディザマスク８Ｂのどこから切り出しても同じ特性を有するディザマスク８が得られるものを切り出し元となるディザマスク８Ｂとして採用すればよいことを例示したものである。
【０１０２】
図９では、キャッシュメモリー容量情報２０として４ＭＢ（メガバイト）がディザマスク再構築処理（図２のＳ１）の実行の際に通知されている。ディザマスク再構築処理（図２のＳ１）では、ディザマスクリソース２１Ａとして保持されている６．４ＭＢのディザマスク８Ｂから４ＭＢに適合するディザマスク８を切り出している。ディザマスク８は、２５６ＫＢのディザマスク♯ａが１５個組合わされていて、２５６ＫＢ×１５個＝３．８４ＭＢ（＜４ＭＢ）の容量がある。
【０１０３】
図９の処理手順を図１０のフローチャートで説明する。
【０１０４】
ＳＴＡＲＴ：画像処理モジュール１は、図２のステップＳ１でディザマスク再構築処理が開始されると、ステップＳ３０の処理へ移行する。
【０１０５】
ステップＳ３０：画像処理モジュール１は、キャッシュメモリー容量情報２０が取得できたか否かを判断する。すなわち、画像処理モジュール１は、キャッシュメモリー容量情報２０が取得できた場合（ステップＳ３０でＹｅｓ）、ステップＳ３１の処理へ移行する。一方、画像処理モジュール１は、キャッシュメモリー容量情報２０が取得できない場合（ステップＳ３０でＮｏ）、ステップＳ３３の処理へ移行する。
【０１０６】
ステップＳ３１：画像処理モジュール１は、最小サイズのディザマスク♯ａよりもキャッシュメモリー容量が有るか否かを判断する。すなわち、画像処理モジュール１は、最小サイズのディザマスク♯ａよりもキャッシュメモリー容量が有る場合（ステップＳ３１でＹｅｓ）、ステップＳ３２の処理へ移行する。一方、画像処理モジュール１は、最小サイズのディザマスク♯ａよりもキャッシュメモリー容量が無い場合（ステップＳ３１でＮｏ）、ステップＳ３３の処理へ移行する。
【０１０７】
ステップＳ３２：画像処理モジュール１は、ディザマスク８を切り出して処理を終了する（ＥＮＤ）。
【０１０８】
ステップＳ３３：画像処理モジュール１は、従来手法を適用して処理を終了する（ＥＮＤ）。
【０１０９】
このように、画像処理モジュール１は、キャッシュメモリー容量情報２０に基づきディザマスクリソース２１Ａのディザマスク８Ｂからキャッシュメモリー容量に適合するディザマスク８を切り出してこれを用いる。
【０１１０】
これにより、「ディザマスク再構築方法その２（切り出し）」では、必要のない多種のディザマスクをあらかじめ保持しておく必要はなく、１つの元となるディザマスク８Ｂによって様々なキャッシュメモリー容量に対応するディザマスク８を再構築することができる。
【０１１１】
（「ディザマスク再構築方法その２（切り出し）」における他の切り出し元となるディザマスク８Ｃの例について）
「ディザマスク再構築方法その２（切り出し）」において、切り出し元となるディザマスク８Ｂとは異なるディザマスク８Ｃについて図１１を参照して説明する。図１１は、切り出し元となるディザマスク８Ｃの例を示す図である。ディザマスク８Ｃは、ディザマスクリソース２１Ｂに格納されている。
【０１１２】
図１１の例では、切り出し元となるディザマスク８Ｃは、いわゆる「渦巻型」の閾値配置となっている。すなわち、ディザマスク８Ｃでは、中心部付近に閾値「０」を配置し、閾値０→閾値１→閾値２→閾値３→閾値４→…→閾値３５までが渦巻型の配置になっている。
【０１１３】
これによれば、切り出し先のディザマスク８の容量に応じてディザマスク８Ｃの中心付近から切り出しを行うことにより、ディザマスク８のサイズに依らず常に「渦巻型」の閾値配置を得ることができる。図１１の例では、切り出し先のディザマスク８は、閾値０→…→閾値１５までが切り出されている。なお、この場合の画像処理モジュール１の動作手順は、図１０のフローチャートと同じである。ただし、図１１の例におけるディザマスク８の最小サイズとは、処理対象となる画素数によって異なる。たとえば２×２画素を処理する場合には、４つの閾値（閾値０→閾値１→閾値２→閾値３）からなるディザマスク８が最小サイズとなる。
【０１１４】
なお、図１１のディザマスク８Ｂにおける閾値０〜閾値３５は、一例であって閾値の配置が「渦巻型」であるならばどのような値であってもよい。
【０１１５】
（本発明の実施の形態に係る効果について）
画像処理モジュール１をインストールし、入力画像の各画素をディザマスク８によりハーフトーン処理する画像処理装置３は、キャッシュメモリー容量の情報を取得し、キャッシュメモリー容量の情報に基づき当該キャッシュメモリー容量に適合するサイズのディザマスク８を再構築する。これにより、画像処理装置３のＣＰＵ５がハーフトーン処理を実行しているときは、ＣＰＵ５が有するキャッシュメモリー３１にディザマスク８のデータの全部が残存するので、ハーフトーン処理を高速化できる。延いては、プリンター２の印刷時のプリントアウト開始からプリントアウト終了までの時間を従来よりも短くすることができる。
【０１１６】
たとえば、予めサイズの異なる複数のディザマスク♯ａ，♯ｂ，♯ｃ，…，♯ｄをリソースとして保持し、キャッシュメモリー容量の情報に基づきキャッシュメモリー容量に適合するサイズのディザマスク８を保持されている複数のディザマスク♯ａ，♯ｂ，♯ｃ，…，♯ｄの中から選択するので、ディザマスク再構築処理は、単に選択処理であり、その処理時間をきわめて短くすることができる。
【０１１７】
あるいは、キャッシュメモリー容量の情報に基づき既存のディザマスク８Ｂ，８Ｃからキャッシュメモリー容量に適合するサイズのディザマスク８を切り出すので、切り出す元となるディザマスクは１つ保持すればよく、ディザマスクリソース２１Ａ，２１Ｂの容量を小さくできる。
【０１１８】
（その他の実施の形態）
本発明の実施の形態は、その要旨を逸脱しない限り、様々に変更が可能である。たとえばプリンター２もしくは画像処理装置３が外部との通信機能あるいは外部インタフェースを備えるようにし、図５のキャッシュメモリー容量テーブルの内容を外部との通信もしくは外部インタフェースからのデータのアップロードにより更新できるようにしてもよい。これにより、新型のＣＰＵの追加または廃型となったＣＰＵの削除を行うことができる。
【０１１９】
同様に、プリンター２もしくは画像処理装置３が外部との通信機能あるいは外部インタフェースを備えるようにし、図７のディザマスクリソース２１に格納されているディザマスク♯ａ，♯ｂ，♯ｃ，…，♯ｄもしくは図９，図１１，図１２のディザマスクリソース２１Ａ，２１Ｂに格納されているディザマスク８Ｂ，８Ｃを外部との通信もしくは外部インタフェースからのデータのアップロードにより更新できるようにしてもよい。
【符号の説明】
【０１２０】
１…画像処理モジュール（キャッシュメモリー容量情報取得処理、ディザマスク再構築処理）、３…画像処理装置、６…キャッシュメモリー容量情報取得部（キャッシュメモリー容量情報取得手段）、７…ディザマスク再構築部（ディザマスク再構築手段）、８，８Ａ，８Ｂ，８Ｃ…ディザマスク、２０…キャッシュメモリー容量情報
【図１】
2011087099.tif 000003
【図２】
2011087099.tif 000004
【図３】
2011087099.tif 000005
【図４】
2011087099.tif 000006
【図５】
2011087099.tif 000007
【図６】
2011087099.tif 000008
【図７】
2011087099.tif 000009
【図８】
2011087099.tif 000010
【図９】
2011087099.tif 000011
【図１０】
2011087099.tif 000012
【図１１】
2011087099.tif 000013