(57)【要約】【課題】開発コストの増大を抑え、プリンタドライバ及びプリンタのどちら側でもシステムに接続が可能な画像処理（プリンタ）システム要素としての画像描画処理装置を提供する。【解決手段】画像描画処理装置１をプリンタドライバ５、プリンタ１０から独立したシステム要素（機能モジュール）とし、両方で共通に用いることができるように入出力インタフェースで接続する。画像描画処理装置１をプリンタドライバ５、プリンタ１０の一方のみで用いる動作に加え、特異な動作として、プリンタドライバ５から依頼された描画処理結果をプリンタ１０に転送するという方法をとることができる。画像描画処理装置１を例えばＰＣのような独立した装置に搭載して実施しても良い。描画処理はこの描画モジュール以外では行わないので描画出力に相違が生じない。【選択図】      図４
2004216821.tif 000002
【特許請求の範囲】
【請求項１】
受け入れた原画像情報を基に描画データを生成し、該描画データを送出する処理を行う画像描画処理装置であって、原画像情報を対象にしたジョブを受信し、描画データを送信するための入出力インタフェースと、受信したジョブを解釈し、その指示に従い原画像情報を基に描画データを生成し、描画データの利用装置への送信データを作成する処理を行うための描画データ処理部と、描画データ処理部及び前記入出力インタフェースが動作に使用するメモリを管理するメモリ管理部を備えたことを特徴とする画像描画処理装置。
【請求項２】
請求項１に記載された画像描画処理装置と、原画像情報を対象にしたジョブを作成し、前記画像描画処理装置に前記入出力インタフェースで接続するジョブ作成装置と、該ジョブ作成装置からインタフェースを介して受け取った描画データを用い可視像化を行う出力装置とを要素としてシステムを構成したことを特徴とする画像処理システム。
【請求項３】
原画像情報を対象にしたジョブの作成装置と、請求項１に記載された画像描画処理装置と、前記ジョブ作成装置からインタフェースを介してジョブを受け取り、前記画像描画処理装置に前記入出力インタフェースで接続し、該画像描画処理装置から受け取った前記描画データを用い可視像化を行う出力装置とを要素としてシステムを構成したことを特徴とする画像処理システム。
【請求項４】
請求項１に記載された画像描画処理装置と、原画像情報を対象にしたジョブを作成し、前記画像描画処理装置に前記入出力インタフェースで接続するジョブ作成装置と、該ジョブ作成装置にインタフェースで接続するとともに、前記画像描画処理装置に前記入出力インタフェースで接続し、受け取った描画データを用い可視像化を行う出力装置とを要素としてシステムを構成したことを特徴とする画像処理システム。
【請求項５】
二つの請求項１に記載された画像描画処理装置と、原画像情報を対象にしたジョブを作成し、前記二つの画像描画処理装置の一方に前記入出力インタフェースで接続し、描画データを受け取ったジョブ作成装置と、該ジョブ作成装置にインタフェースで接続するとともに、前記二つの画像描画処理装置の他方に前記入出力インタフェースで接続し、前記ジョブ作成装置及び前記画像描画処理装置の他方から受け取った描画データを用い可視像化を行う出力装置とを要素としてシステムを構成したことを特徴とする画像処理システム。
【請求項６】
請求項５に記載された画像処理システムにおいて、前記二つの画像描画処理装置で描画処理を分担可能とし、前記ジョブ作成装置及び前記可視像化を行う出力装置の処理性能に応じた比率で各画像描画処理装置における処理を分担するようにしたことを特徴とする画像処理システム。
【請求項７】
請求項５に記載された画像処理システムにおいて、前記二つの画像描画処理装置で描画処理を分担可能とし、各画像描画処理装置における処理分担を描画コマンドの種類により行うようにしたことを特徴とする画像処理システム。
【請求項８】
請求項５に記載された画像処理システムにおいて、前記二つの画像描画処理装置で描画処理を分担可能とし、各画像描画処理装置における処理分担を描画データの単位により行うようにしたことを特徴とする画像処理システム。
【請求項９】
請求項５に記載された画像処理システムにおいて、前記二つの画像描画処理装置で描画処理を分担可能とし、前記ジョブ作成装置及び前記可視像化を行う出力装置の処理状態に応じて各画像描画処理装置における処理を分担するようにしたことを特徴とする画像処理システム。
【請求項１０】
請求項１に記載された画像描画処理装置において、前記描画データ処理部は、共通の処理関数を用い、該関数のパラメータの設定を変えることにより異なる描画出力モードに対応する処理を行うようにしたことを特徴とする画像描画処理装置。
【請求項１１】
請求項１に記載された画像描画処理装置において、前記メモリ管理部は、描画データ処理部及び前記入出力インタフェースの動作に用いる記憶領域として、前記入出力インタフェースで接続する外部の装置が有するメモリに確保された領域の管理を行うようにしたことを特徴とする画像描画処理装置。
【請求項１２】
請求項１に記載された画像描画処理装置において、前記描画データ処理部は、ディザパターンを用いた擬似階調処理を行い、該擬似階調処理に描画オブジェクトごとに切り替えて使用する複数のディザパターンを用いるようにしたことを特徴とする画像描画処理装置。
【請求項１３】
請求項１２に記載された画像描画処理装置において、前記描画データ処理部は、前記ディザパターンとして単位パターンを複数連結させ、拡張したパターンサイズを用いるようにしたことを特徴とする画像描画処理装置。
【請求項１４】
請求項１３に記載された画像描画処理装置において、前記メモリ管理部は、前記描画データ処理部で作成した拡張パターンのキャッシュ管理を行うようにしたことを特徴とする画像描画処理装置。
【請求項１５】
請求項１４に記載された画像描画処理装置において、前記メモリ管理部は、カラー構成色分の前記ディザパターンの使用要否に応じたキャッシュメモリ領域を確保するキャッシュ管理を行うようにしたことを特徴とする画像描画処理装置。
【請求項１６】
請求項１４に記載された画像描画処理装置において、前記メモリ管理部は、描画データ処理で行列状に配された各種のディザパターンを用いる場合、共通の行パターンのみキャッシュするようにしたことを特徴とする画像描画処理装置。
【請求項１７】
請求項１６に記載された画像描画処理装置において、前記メモリ管理部は、キャッシュメモリ領域に不足が生じたときに、該キャッシュメモリ領域の初期化を行うようにしたことを特徴とする画像描画処理装置。
【請求項１８】
請求項１４に記載された画像描画処理装置において、前記メモリ管理部は、描画データの単位が変わるタイミングでキャッシュメモリ領域の初期化を行うようにしたことを特徴とする画像描画処理装置。
【請求項１９】
請求項１４に記載された画像描画処理装置において、前記メモリ管理部は、キャッシュされたディザパターンに見合うワークメモリ領域を描画処理後のデータを送信するために確保するようにしたことを特徴とする画像描画処理装置。
【請求項２０】
請求項１９に記載された画像描画処理装置において、前記メモリ管理部は、描画対象の画素データが変動しない間、前記ワークメモリ領域に一旦保持した描画処理後のデータを継続して保持するようにしたことを特徴とする画像描画処理装置。
【請求項２１】
請求項１に記載された画像描画処理装置において、前記描画データ処理部は、誤差拡散法及びディザパターンを用いる擬似階調処理を行うための手段を有し、該擬似階調処理の対象オブジェクトが写真であるときに誤差拡散法を用い、写真以外のオブジェクトについてはディザパターンを用いるようにしたことを特徴とする画像描画処理装置。
【請求項２２】
請求項２１に記載された画像描画処理装置において、１つの対象オブジェクトを分割した各イメージ部分を誤差拡散処理による描画処理の対象とする際に、前記メモリ管理部は、誤差拡散処理に用いる誤差データをイメージの開始、終了の各Ｘ座標によって管理し、前記描画データ処理部は、前記メモリ管理部によって管理された誤差データを用いて、各分割イメージ部分に対し１つの対象オブジェクトとしての処理操作を行うようにしたことを特徴とする画像描画処理装置。
【請求項２３】
請求項２２に記載された画像描画処理装置において、前記メモリ管理部は、誤差拡散処理に用いる誤差データの管理情報としてさらに対象オブジェクトのＩＤを各イメージ部分に付加することによって管理するようにしたことを特徴とする画像描画処理装置。
【請求項２４】
請求項２２又は２３に記載された画像描画処理装置において、前記メモリ管理部は、誤差拡散処理に用いる誤差データの管理情報としてさらに各イメージ部分の開始、終了の各Ｙ座標を付加することによって管理するようにしたことを特徴とする画像描画処理装置。
【請求項２５】
請求項２２乃至２４のいずれかに記載された画像描画処理装置において、前記メモリ管理部は、１つの対象オブジェクトを分割した各イメージ部分の誤差データのメモリ管理を共通に行うようにしたことを特徴とする画像描画処理装置。
【請求項２６】
請求項２２乃至２５のいずれかに記載された画像描画処理装置において、前記メモリ管理部は、対象オブジェクトを分割した各イメージ部分の描画処理終了時において、継続するイメージ部分の不存在を条件に誤差拡散処理を終了したイメージの描画に用いた誤差データのメモリを解放するようにしたことを特徴とする画像描画処理装置。
【請求項２７】
請求項２２乃至２６のいずれかに記載された画像描画処理装置において、前記メモリ管理部は、複数ページの印刷ジョブにおける単位ページ分の描画処理終了時において、終了したイメージの描画に用いた誤差データのメモリを解放するようにしたことを特徴とする画像描画処理装置。
【請求項２８】
請求項２２乃至２７のいずれかに記載された画像描画処理装置において、前記メモリ管理部は、複数のオブジェクトに対する誤差拡散処理を可能にする誤差メモリをリストにより管理し、直前に描画処理の対象としたイメージ部分の誤差メモリを前記リストの先頭に追加するようにしたことを特徴とする画像描画処理装置。
【請求項２９】
請求項２１乃至２８のいずれかに記載された画像描画処理装置において、前記描画データ処理部は、誤差拡散法を用いる前記擬似階調処理をスキャンラインクリップが設定された描画条件で行う場合に、クリップ範囲内のみに誤差拡散処理を行うようにしたことを特徴とする画像描画処理装置。
【請求項３０】
請求項２１乃至２８のいずれかに記載された画像描画処理装置において、前記描画データ処理部は、誤差拡散法を用いる前記擬似階調処理を矩形クリップが設定された描画条件で行う場合に、クリップ範囲内のみに誤差拡散処理を行うようにしたことを特徴とする画像描画処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像描画処理装置及び画像処理システムに関し、特にプリンタシステムの描画処理に好適に用いることが可能なモジュール化された画像描画処理装置及び該画像描画処理装置をシステム要素として構成する画像処理システムに関する。
【０００２】
【従来の技術】
今日、プリンタを使用する印刷システムにその例を見ることができるように、パソコン（ＰＣ）等の画像出力制御装置とこの制御装置により出力が制御される画像出力（印刷）装置からなる画像処理システムが広く利用されている（下記特許文献１〜５、参照）。
このようなプリンタを使用する印刷システムでは、ＰＣが持つプリンタドライバにより作成された印刷ジョブを例えばＬＡＮ等の通信手段を介してプリンタに送り、プリンタ側でジョブに従った印刷出力を行うが、そのとき、従来から２つの方法で印刷要求された対象原画像情報を印刷データとして処理し、印刷データにより印刷出力を行っている。一つはアプリケーションからの印刷要求に対する画像処理を全て（即ち、印刷出力に用いる描画データを生成する描画処理を含む）プリンタドライバ上で行い、そのときに処理結果としてメモリ上に展開される描画データをそのままプリンタに転送して出力する方法であり、もう一方は、プリンタドライバ上では、アプリケーションからの印刷要求を内部コマンド（受け取るプリンタが理解できるコマンド）に変換し、このコマンドをプリンタに転送した後、プリンタ内でコマンドを解釈し、コマンドに従った描画処理を行い出力するという方法である。
ところで、この２つの方法に対し個々のプリンタドライバ及びプリンタでは、いずれの方法に対応させるか、或いはどちらの方法にも対応させるようにするかを仕様として決め、そのための装備を持つようにしている。従って、描画処理を行うための手段は、プリンタ側のみに装備される場合もある（下記特許文献２、参照）が、プリンタ側に装備されるだけでなく、プリンタドライバ側に装備される場合もあり（下記特許文献１，３〜５、参照）、その装備は、プリンタドライバではそれを動作させるＰＣのシステムの一部、或いはプリンタではその処理・制御システムの一部に組み込まれることが、普通行われているやり方である。
なお、プリンタドライバ及びプリンタの両方で描画処理を行うとした下記の例示の中、特許文献１では、プリンタ側にはＹＭＣＫ色空間で行う描画処理手段のみを備えるという前提で、プリンタドライバ側に画像の正当性を保証するためにＲＧＢ色空間で行う描画処理手段を備えるようにしている。また、特許文献３〜５では、基本的にプリンタドライバ及びプリンタの両方で同様の印刷出力を可能とする描画処理手段を備え、負荷分散、処理効率、処理速度という観点から印刷システムとしての最適化を図ることを意図するものである。
【０００３】
【特許文献１】
特開平１１−３５５５８８号公報
【特許文献２】
特許第２８７９９３３号公報
【特許文献３】
特開２００１−１０９５９８号公報
【特許文献４】
特開２０００−１０７４２号公報
【特許文献５】
特開２００２−１６９６７２号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、プリンタドライバを動作させるＰＣ、或いはプリンタの処理・制御システムそれぞれに描画処理手段を組み込んだ場合には、同じ描画処理を行うためであっても、ＰＣ、プリンタが個々に有する処理・制御システムの条件を考慮した開発を別々に行っているのが現状であり、開発コストの増大につながっている。
また、上記した描画処理に係わる２つの方法のいずれにも対応可能とした仕様においては、アプリケーションからの同じ印刷要求に対する２つの方法による出力結果（例えば、一つのジョブに対する描画処理をプリンタドライバとプリンタで分担して行った場合の出力）がそれぞれ微妙に異なる場合が生じるという問題がある。これは、上記したように開発を別々に行った結果として起きる各描画処理手段間の相違が一つの原因になるものと考えられる。
【０００５】
本発明はＰＣ等の画像出力制御装置（原画像情報を対象として画像出力を行うためのジョブを作成する装置）と該制御装置により出力が制御される画像出力（印刷）装置からなる画像処理システムにおける上述の従来技術の問題点に鑑みてなされたもので、その目的（課題）は、開発コストの増大を招くことなく、画像出力制御装置（例えば、プリンタドライバ）或いは画像出力（印刷）装置（例えば、プリンタ）のどちら側でシステムに組み込んでも処理出力結果に相違が生じることのない、前記画像処理システムの構成要素としての画像描画処理装置及び該画像描画処理装置をシステム要素として構成する画像処理システムを提供することにある。
また、上記した課題に対する解決手段として、本発明では、画像出力制御装置側及び画像出力（印刷）装置側で共通に用いることができる（或いは両者から独立した要素として用いることができる）ように、通信インタフェースで接続し得、独立した機能を持つモジュール構成を画像描画処理装置に採用するようにしているが、このような構成を採用した場合に、処理速度の低下、或いは装置規模の拡大を伴う可能性がある。また、仕様が異なる毎に対応したモジュールを別に用意することは、開発負担が増大する。本発明は、こうした望ましくない処理速度の低下、装置規模の拡大、或いは増大する開発負担を抑制し、処理の高速化、装置の小型化、開発負担の軽減化を図るようにした前記画像描画処理装置を提供することをさらなる目的とする。
【０００６】
【課題を解決するための手段】
請求項１の発明は、受け入れた原画像情報を基に描画データを生成し、該描画データを送出する処理を行う画像描画処理装置であって、原画像情報を対象にしたジョブを受信し、描画データを送信するための入出力インタフェースと、受信したジョブを解釈し、その指示に従い原画像情報を基に描画データを生成し、描画データの利用装置への送信データを作成する処理を行うための描画データ処理部と、描画データ処理部及び前記入出力インタフェースが動作に使用するメモリを管理するメモリ管理部を備えたことを特徴とする画像描画処理装置である。
【０００７】
請求項２の発明は、請求項１に記載された画像描画処理装置と、原画像情報を対象にしたジョブを作成し、前記画像描画処理装置に前記入出力インタフェースで接続するジョブ作成装置と、該ジョブ作成装置からインタフェースを介して受け取った描画データを用い可視像化を行う出力装置とを要素としてシステムを構成したことを特徴とする画像処理システムである。
【０００８】
請求項３の発明は、原画像情報を対象にしたジョブの作成装置と、請求項１に記載された画像描画処理装置と、前記ジョブ作成装置からインタフェースを介してジョブを受け取り、前記画像描画処理装置に前記入出力インタフェースで接続し、該画像描画処理装置から受け取った前記描画データを用い可視像化を行う出力装置とを要素としてシステムを構成したことを特徴とする画像処理システムである。
【０００９】
請求項４の発明は、請求項１に記載された画像描画処理装置と、原画像情報を対象にしたジョブを作成し、前記画像描画処理装置に前記入出力インタフェースで接続するジョブ作成装置と、該ジョブ作成装置にインタフェースで接続するとともに、前記画像描画処理装置に前記入出力インタフェースで接続し、受け取った描画データを用い可視像化を行う出力装置とを要素としてシステムを構成したことを特徴とする画像処理システムである。
【００１０】
請求項５の発明は、二つの請求項１に記載された画像描画処理装置と、原画像情報を対象にしたジョブを作成し、前記二つの画像描画処理装置の一方に前記入出力インタフェースで接続し、描画データを受け取ったジョブ作成装置と、該ジョブ作成装置にインタフェースで接続するとともに、前記二つの画像描画処理装置の他方に前記入出力インタフェースで接続し、前記ジョブ作成装置及び前記画像描画処理装置の他方から受け取った描画データを用い可視像化を行う出力装置とを要素としてシステムを構成したことを特徴とする画像処理システムである。
【００１１】
請求項６の発明は、請求項５に記載された画像処理システムにおいて、前記二つの画像描画処理装置で描画処理を分担可能とし、前記ジョブ作成装置及び前記可視像化を行う出力装置の処理性能に応じた比率で各画像描画処理装置における処理を分担するようにしたことを特徴とするものである。
請求項７の発明は、請求項５に記載された画像処理システムにおいて、前記二つの画像描画処理装置で描画処理を分担可能とし、各画像描画処理装置における処理分担を描画コマンドの種類により行うようにしたことを特徴とするものである。
【００１２】
請求項８の発明は、請求項５に記載された画像処理システムにおいて、前記二つの画像描画処理装置で描画処理を分担可能とし、各画像描画処理装置における処理分担を描画データの単位により行うようにしたことを特徴とするものである。
請求項９の発明は、請求項５に記載された画像処理システムにおいて、前記二つの画像描画処理装置で描画処理を分担可能とし、前記ジョブ作成装置及び前記可視像化を行う出力装置の処理状態に応じて各画像描画処理装置における処理を分担するようにしたことを特徴とするものである。
【００１３】
請求項１０の発明は、請求項１に記載された画像描画処理装置において、前記描画データ処理部は、共通の処理関数を用い、該関数のパラメータの設定を変えることにより異なる描画出力モードに対応する処理を行うようにしたことを特徴とするものである。
請求項１１の発明は、請求項１に記載された画像描画処理装置において、前記メモリ管理部は、描画データ処理部及び前記入出力インタフェースの動作に用いる記憶領域として、前記入出力インタフェースで接続する外部の装置が有するメモリに確保された領域の管理を行うようにしたことを特徴とするものである。
【００１４】
請求項１２の発明は、請求項１に記載された画像描画処理装置において、前記描画データ処理部は、ディザパターンを用いた擬似階調処理を行い、該擬似階調処理に描画オブジェクトごとに切り替えて使用する複数のディザパターンを用いるようにしたことを特徴とするものである。
請求項１３の発明は、請求項１２に記載された画像描画処理装置において、前記描画データ処理部は、前記ディザパターンとして単位パターンを複数連結させ、拡張したパターンサイズを用いるようにしたことを特徴とするものである。
【００１５】
請求項１４の発明は、請求項１３に記載された画像描画処理装置において、前記メモリ管理部は、前記描画データ処理部で作成した拡張パターンのキャッシュ管理を行うようにしたことを特徴とするものである。
請求項１５の発明は、請求項１４に記載された画像描画処理装置において、前記メモリ管理部は、カラー構成色分の前記ディザパターンの使用要否に応じたキャッシュメモリ領域を確保するキャッシュ管理を行うようにしたことを特徴とするものである。
【００１６】
請求項１６の発明は、請求項１４に記載された画像描画処理装置において、前記メモリ管理部は、描画データ処理で行列状に配された各種のディザパターンを用いる場合、共通の行パターンのみキャッシュするようにしたことを特徴とするものである。
【００１７】
請求項１７の発明は、請求項１６に記載された画像描画処理装置において、前記メモリ管理部は、キャッシュメモリ領域に不足が生じたときに、該キャッシュメモリ領域の初期化を行うようにしたことを特徴とするものである。
請求項１８の発明は、請求項１４に記載された画像描画処理装置において、前記メモリ管理部は、描画データの単位が変わるタイミングでキャッシュメモリ領域の初期化を行うようにしたことを特徴とするものである。
【００１８】
請求項１９の発明は、請求項１４に記載された画像描画処理装置において、前記メモリ管理部は、キャッシュされたディザパターンに見合うワークメモリ領域を描画処理後のデータを送信するために確保するようにしたことを特徴とするものである。
請求項２０の発明は、請求項１９に記載された画像描画処理装置において、前記メモリ管理部は、描画対象の画素データが変動しない間、前記ワークメモリ領域に一旦保持した描画処理後のデータを継続して保持するようにしたことを特徴とするものである。
【００１９】
請求項２１の発明は、請求項１に記載された画像描画処理装置において、前記描画データ処理部は、誤差拡散法及びディザパターンを用いる擬似階調処理を行うための手段を有し、該擬似階調処理の対象オブジェクトが写真であるときに誤差拡散法を用い、写真以外のオブジェクトについてはディザパターンを用いるようにしたことを特徴とするものである。
【００２０】
請求項２２の発明は、請求項２１に記載された画像描画処理装置において、１つの対象オブジェクトを分割した各イメージ部分を誤差拡散処理による描画処理の対象とする際に、前記メモリ管理部は、誤差拡散処理に用いる誤差データをイメージの開始、終了の各Ｘ座標によって管理し、前記描画データ処理部は、前記メモリ管理部によって管理された誤差データを用いて、各分割イメージ部分に対し１つの対象オブジェクトとしての処理操作を行うようにしたことを特徴とするものである。
請求項２３の発明は、請求項２２に記載された画像描画処理装置において、前記メモリ管理部は、誤差拡散処理に用いる誤差データの管理情報としてさらに対象オブジェクトのＩＤを各イメージ部分に付加することによって管理するようにしたことを特徴とするものである。
請求項２４の発明は、請求項２２又は２３に記載された画像描画処理装置において、前記メモリ管理部は、誤差拡散処理に用いる誤差データの管理情報としてさらに各イメージ部分の開始、終了の各Ｙ座標を付加することによって管理するようにしたことを特徴とするものである。
【００２１】
請求項２５の発明は、請求項２２乃至２４のいずれかに記載された画像描画処理装置において、前記メモリ管理部は、１つの対象オブジェクトを分割した各イメージ部分の誤差データのメモリ管理を共通に行うようにしたことを特徴とするものである。
【００２２】
請求項２６の発明は、請求項２２乃至２５のいずれかに記載された画像描画処理装置において、前記メモリ管理部は、対象オブジェクトを分割した各イメージ部分の描画処理終了時において、継続するイメージ部分の不存在を条件に誤差拡散処理を終了したイメージの描画に用いた誤差データのメモリを解放するようにしたことを特徴とするものである。
【００２３】
請求項２７の発明は、請求項２２乃至２６のいずれかに記載された画像描画処理装置において、前記メモリ管理部は、複数ページの印刷ジョブにおける単位ページ分の描画処理終了時において、終了したイメージの描画に用いた誤差データのメモリを解放するようにしたことを特徴とするものである。
請求項２８の発明は、請求項２２乃至２７のいずれかに記載された画像描画処理装置において、前記メモリ管理部は、複数のオブジェクトに対する誤差拡散処理を可能にする誤差メモリをリストにより管理し、直前に描画処理の対象としたイメージ部分の誤差メモリを前記リストの先頭に追加するようにしたことを特徴とするものである。
【００２４】
請求項２９の発明は、請求項２１乃至２８のいずれかに記載された画像描画処理装置において、前記描画データ処理部は、誤差拡散法を用いる前記擬似階調処理をスキャンラインクリップが設定された描画条件で行う場合に、クリップ範囲内のみに誤差拡散処理を行うようにしたことを特徴とするものである。
請求項３０の発明は、請求項２１乃至２８のいずれかに記載された画像描画処理装置において、前記描画データ処理部は、誤差拡散法を用いる前記擬似階調処理を矩形クリップが設定された描画条件で行う場合に、クリップ範囲内のみに誤差拡散処理を行うようにしたことを特徴とするものである。
【００２５】
【発明の実施の形態】
本発明に係わる画像描画処理装置及び画像処理システムを添付する図面とともに示す以下の実施形態に基づき説明する。
以下に示す各実施形態では、好適な実施対象としてのプリンタシステムにおける描画処理を例に、画像描画処理装置及び該画像描画処理装置をシステム要素として構成する画像処理システム（プリンタシステム）について説明する。
なお、以下の「実施形態１」では、画像描画処理装置の基本形態を説明し、「実施形態２」〜「実施形態９」では、画像描画処理装置を適用して構成するプリンタシステムの実施形態を説明し、「実施形態１０」〜「実施形態２０」では、「実施形態１」の基本形態に改良を加えた画像描画処理装置の実施形態を説明する。
【００２６】
「実施形態１」
ここでは、画像描画処理装置の基本形態について示す。画像描画処理装置は、画像処理システム（プリンタシステム）のシステム要素となるものである。プリンタシステムは、後述のプリンタシステムに関する実施形態に例示するように、基本的にはアプリケーションからの印刷要求を受け取る画像出力制御装置（ＰＣに搭載したプリンタドライバ）により作成された印刷ジョブを通信インタフェースを介して画像出力装置としてのプリンタに送り、プリンタ側でジョブに従った印刷出力を行うシステムである。画像描画処理装置は、このプリンタシステムにおいて印刷ジョブに含まれる印刷出力用の描画データを生成する処理部分をなすもので、印刷ジョブの指示に従い原画像情報をもとにメモリ上に描画データを展開し、印刷出力に用いる描画データを生成する処理を行うための手段を構成する。
本画像描画処理装置の特徴は、プリンタドライバ側及びプリンタ側で共通に用いることができ、また、両者から独立したシステム要素として用いることができるように、通信インタフェースでプリンタドライバ及びプリンタに接続し得、独立した機能を持つモジュール構成を採用するものである。従って、このプリンタシステムでは、描画データを生成する描画処理機能は画像描画処理装置のみに持たせるという考え方であるから、プリンタドライバ、プリンタに描画処理機能を内蔵することは本来あり得ない。
このような考え方を導入することにより、従来、問題となった開発コストの増大を招くことなく、処理出力結果に相違が生じることのないプリンタシステムを構成し、そのシステム要素として用いることが可能な画像描画処理装置を提供することを可能にする。
【００２７】
図１は、本実施形態に係わる画像描画処理装置の構成を示すブロック図である。
同図に示すように、画像描画処理装置１は、入出力インタフェース２と描画処理部３とメモリ管理部４を有し、独立した機能モジュールとして構成する。入出力インタフェース２は、画像描画処理装置１を利用する側のシステム要素（例えば、プリンタドライバ、プリンタ）とのデータ入出力を行う。描画処理部３は、入力データの二値化等、原画像情報をもとにメモリ上に描画データを展開し、印刷出力に用いる描画データを生成し、この描画データをもとに利用する側のシステム要素への送信データを作成する処理を行う。また、メモリ管理部４は、描画処理時及びデータの送受信処理時に使用するワークメモリの管理を行う。なお、本画像描画処理装置１は、上記した描画処理や処理データの送受信動作をコンピュータプログラムに従って行うためのＣＰＵ、メモリ、入出力インタフェースを備えたモジュールにより具体化が可能である。
【００２８】
「実施形態２」
本実施形態には、画像描画処理装置（実施形態１、実施形態１０〜２０）を適用して構成する画像処理システムとしてのプリンタシステムを示す。ここに示すシステムの構成例は、プリンタドライバ（画像出力制御装置）側に画像描画処理装置を接続するものを示す。
図２は、本実施形態のプリンタシステムの構成を示すブロック図である。同図に示すように、プリンタドライバ５は、ユーザーインタフェース６と、入出力インタフェース７と解釈部８とワークメモリ９を有する。プリンタドライバ５側に実施形態１に示した画像描画処理装置１を接続するので、これらは入出力インタフェース７，２を介して接続される。また、プリンタ１０は、入出力インタフェース１１と、解釈部１２と、ワークメモリ１３と、フレームメモリ１４を有する。プリンタドライバ５とプリンタ１０とは、入出力インタフェース７，１１を介して接続する。
プリンタドライバ側に画像描画処理装置１を組み込んだ本実施形態のシステムでは、プリンタドライバ５は、ユーザインタフェース６を介し、アプリケーションからの印刷要求を受け、解釈部８で印刷要求に示される指示を解釈する。その後、解釈部８により解釈された指示内容に従って動作を行わせる。即ち、入出力インタフェース７，２を介して画像描画処理装置１に描画処理を依頼し、この依頼に応じて、画像描画処理装置１を使用しながらワークメモリ９上に描画結果を展開する、描画処理を行う。このときに描画処理による結果は、描画データとして通常ビットマップ形式のイメージデータとして得られる。次いで、解釈部８は、この描画結果をプリンタシステム内部コマンド（受け取るプリンタ側が理解できるコマンド）と共に印刷ジョブとしてプリンタ１０に入出力インタフェース７，１１を介して送出する。プリンタは、入出力インタフェース１１を介して送られたイメージデータを伴う内部コマンドに示される指示を解釈部１２で解釈し、解釈部１２により解釈された指示内容に従って、ワークメモリ１３を用いながらフレームメモリ１４に描画結果を描き込み、その後、入出力インタフェース１１を介して図示しない印刷出力部（可視像化を行う画像出力部）へのデータ送出を行う。
【００２９】
「実施形態３」
本実施形態には、画像描画処理装置（実施形態１、実施形態１０〜２０）を適用して構成するプリンタシステムの他の形態を示す。ここに示すシステムの構成例は、プリンタ（画像出力装置）側に画像描画処理装置を接続するものを示す。図３は、本実施形態のプリンタシステムの構成を示すブロック図である。同図に示すように、上記実施形態２と同じ構成要素からなるプリンタドライバ５とプリンタ１０が入出力インタフェース７，１１を介して接続される。また、本実施形態では、プリンタ１０側に実施形態１に示した画像描画処理装置１を組み込むので、画像描画処理装置１とプリンタ１０は入出力インタフェース１１，２を介して接続される。
プリンタ側に画像描画処理装置１を組み込んだ本実施形態のシステムでは、プリンタドライバ５は、ユーザインタフェース６を介し、アプリケーションからの印刷要求を受け、解釈部８で印刷要求に示される指示を解釈するが、プリンタドライバ側で描画処理をしないので、印刷要求をプリンタシステム内部コマンドに変換し、入出力インタフェース７，１１を介してイメージデータを伴う内部コマンドを印刷ジョブとしてプリンタ１０に送出する。プリンタ１０側では、入出力インタフェース１１を介して送られた印刷ジョブの内部コマンドを解釈部１２で解釈する。その後、解釈されたコマンドの指示内容に従って入出力インタフェース１１，２を介して画像描画処理装置１に描画処理を依頼し、この依頼に応じて描画処理を行う画像描画処理装置１を使用しながら、描画処理により通常ビットマップ形式のイメージデータとして得られる描画データをフレームメモリ１４に展開する。フレームメモリ１４に描画結果を書き込んだ後、入出力インタフェース１１を介して図示しない印刷出力部（可視像化を行う画像出力部）へのデータ送出を行う。
【００３０】
「実施形態４」
本実施形態には、画像描画処理装置（実施形態１、実施形態１０〜２０）を適用して構成するプリンタシステムの他の形態を示す。ここに示すシステムの構成例は、プリンタドライバ（画像出力制御装置）、またプリンタ（画像出力装置）のいずれの側に対しても対等な関係で画像描画処理装置をシステム化するものを示す。
図４は、本実施形態のプリンタシステムの構成を示すブロック図である。同図示の例では、画像描画処理装置１を共通に用いるような形態で、プリンタドライバ５とプリンタ１０に対し対等な関係でシステム化し、上記実施形態２と実施形態３の複合を図る。即ち、図４に示すように、画像描画処理装置１の入出力インタフェース２に対してプリンタドライバ５とプリンタ１０それぞれの入出力インタフェース７，１１が接続されている。なお、本実施形態においても、プリンタドライバ５とプリンタ１０の構成要素は、上記実施形態２と実施形態３におけると同じ要素からなる。
画像描画処理装置１をプリンタドライバ５とプリンタ１０に対し対等な関係でシステム化した本実施形態のシステムでは、実施形態２と実施形態３における上記した動作に加え、特異な動作として、プリンタドライバ５から入出力インタフェース７，２を介して依頼された描画処理を行い、得られる処理結果をプリンタドライバ５に戻さずに、入出力インタフェース２，１１を介してプリンタ１０に転送するという方法をとることができる。従って、本実施形態に特異の動作或いは実施形態２の動作のいずれを動作方法とするかを選択することを可能にした形態によっても、実施することができる。
上記のように、画像描画処理装置１をプリンタドライバ（画像出力制御装置）、プリンタ（画像出力装置）いずれの側にも組み込まない（専属させない）方法をとって両者に対等な関係でシステム化する場合には、画像描画処理装置１を例えばＰＣのような独立した装置に搭載した形態で実施するようにしても良い。
【００３１】
「実施形態５」
本実施形態には、画像描画処理装置（実施形態１、実施形態１０〜２０）を適用して構成するプリンタシステムの他の形態を示す。ここに示すシステムの構成例は、二つの画像描画処理装置を用い、プリンタドライバ（画像出力制御装置）及びプリンタ（画像出力装置）のいずれの側にも画像描画処理装置を接続することを可能にするものを示す。
図５は、本実施形態のプリンタシステムの構成を示すブロック図である。同図示の例では、同一の画像描画処理装置１，１７をプリンタドライバ５とプリンタ１０にそれぞれ接続しシステム化し、上記実施形態２と実施形態３を複合させるものである。なお、本実施形態においても、プリンタドライバ５とプリンタ１０の構成要素は上記実施形態２と実施形態３におけると同じ要素からなる。
画像描画処理装置１をプリンタドライバ５とプリンタ１０に対し同一の画像描画処理装置１，１７をそれぞれ接続してシステム化した本実施形態のシステムでは、実施形態２と実施形態３における上記した動作に加え、特異な動作として、プリンタドライバ５側の画像描画処理装置１で入出力インタフェース７，２を介して依頼された描画処理を行っている間に、プリンタ１０側の画像描画処理装置１７でも入出力インタフェース１１，１６を介して依頼された描画処理を行うことが可能になる。つまり、描画処理の一部が画像描画処理装置１を使用して行われ、この処理結果と残りの描画処理要求をプリンタドライバ５の解釈部８が内部コマンドに変換し、入出力インタフェース７，１１を介してプリンタ１０へ転送し、プリンタ１０側では残りの描画処理要求を解釈部１２で解釈し、解釈されたコマンドの指示内容に従い必要となる描画処理を画像描画処理装置１７によって行わせる。この間に、プリンタドライバ５側では次の印刷ジョブに対する処理を行うことができるので、システム内で同時に複数のジョブに対する処理を行うことが可能になる。
【００３２】
「実施形態６」
本実施形態には、上記実施形態５に示したプリンタシステムの機能を有効に引き出すための動作方式に係わる実施形態を示す。ここに示すシステムの動作方式は、二つの画像描画処理装置１，１７で描画処理を分担可能とし、各描画処理装置の処理分担をプリンタドライバ５及びプリンタ１０の処理性能に応じた比率で定めることにより処理の効率化（処理時間の短縮）を図るものである。
本実施形態では、アプリケーションからの印刷要求を受け取るプリンタドライバ５の解釈部８で処理の分担を決める。また、プリンタドライバ側とプリンタ側それぞれで決めた分担に従いジョブを処理する際に、処理の連携を図るために必要な情報を伝達することが可能な入出力インタフェース７，１１が用いられる。本実施形態では、プリンタドライバ５の処理性能により分担を決めるようにする。そのために、解釈部８においてプリンタドライバ側が持つＰＣの処理性能に係わる情報として、ＣＰＵの動作クロック（周波数）、メモリ量、ディスク容量等を取得し、これらの数値をもとに処理性能のランクを判断し（例えば、判断基準として予め数値範囲をランクに対応付けておくことにより、当該ＰＣの処理性能がどのランクに属するかを判定する）、性能が高ければ多くの描画処理をプリンタドライバ側の画像描画処理装置１を用いて処理し、この描画処理結果と残りの処理をプリンタ１０に転送して、そこで処理を行うようにする。ここで、ＰＣの処理性能が低いと判断される場合は、プリンタドライバ側で行う処理を少なくし、プリンタ側の画像描画処理装置１７で行う処理を多くして、そこで描画処理を行い、ジョブ全体の描画処理時間を短縮する。ジョブ全体の描画処理を完了させた後、図示しない可視像化を行う出力装置への描画データの出力を行う。
【００３３】
「実施形態７」
本実施形態には、上記実施形態５のプリンタシステムを有効に機能させるための動作方式に係わる他の実施形態を示す。ここに示すシステムの動作方式は、二つの画像描画処理装置１，１７で描画処理を分担可能とし、各描画処理装置の処理分担を描画コマンドの種類に応じて定めることを意図するものである。
本実施形態では、アプリケーションからの印刷要求を受け取るプリンタドライバ５の解釈部８で処理の分担を決める。また、プリンタドライバ側とプリンタ側それぞれで決めた分担に従いジョブを処理する際に、処理の連携を図るために必要な情報を伝達することが可能な入出力インタフェース７，１１が用いられる。本実施形態では、描画コマンド（描画オブジェクトの種類等）に応じて分担を決めるようにする。そのために、プリンタドライバ５がアプリケーションから印刷要求を受け取り、解釈部８において印刷要求の内容を解釈する際に、印刷要求に含まれる印刷対象の入力画像情報に対する印刷コマンドを解析する。ここでは、印刷コマンドの解析結果を入力画像情報に対し指示された文字データの描画、グラフィックデータの描画、イメージデータの描画等の描画コマンドとして得る。
解釈部８では、取得した描画コマンドの種類を表す情報をもとに、描画コマンドの種類に対応づけて予め定めたプリンタドライバ５側とプリンタ１０側それぞれの画像描画処理装置１，１７を指定し、指定した処理装置に描画処理を分担させる判断をする。例えば、文字データの描画処理は、プリンタ１０側の画像描画処理装置１７で行い、イメージデータの描画処理は、プリンタドライバ５側の画像描画処理装置１で行う等の判断を行う。各々の画像描画処理装置１，１７で処理されたデータは、それぞれに関係する入出力インタフェースを介してプリンタ１０に転送され、プリンタ内のフレームメモリ１４に展開し、その後、図示しない可視像化を行う出力装置への描画データの出力を行う。
【００３４】
「実施形態８」
本実施形態には、上記実施形態５のプリンタシステムを有効に機能させるための動作方式に係わる他の実施形態を示す。ここに示すシステムの動作方式は、二つの画像描画処理装置１，１７で描画処理を分担可能とし、各描画処理装置の処理分担を描画単位に応じて定めることを意図するものである。
本実施形態では、アプリケーションからの印刷要求を受け取るプリンタドライバ５の解釈部８で処理の分担を決める。また、プリンタドライバ５側とプリンタ１０側それぞれで決めた分担に従いジョブを処理する際に、処理の連携を図るために必要な情報を伝達することが可能な入出力インタフェース７，１１が用いられる。
本実施形態では、描画単位に応じて分担を決めるようにする。そのために、プリンタドライバ５がアプリケーションから印刷要求を受け取り、解釈部８において印刷要求の内容を解析する際に、印刷要求に含まれる描画単位を解析する。ここでは、印刷ジョブとして入力される画像情報は、複数のバンドから構成されるページ、さらに複数のページから構成されるジョブからなり、印刷コマンドの解析結果として、ジョブ単位、ページ単位、バンド単位等の描画単位を認識することが可能である。
解釈部８では、認識した描画単位に対してプリンタドライバ５側或いはプリンタ１０側の画像描画処理装置１，１７のいずれを用いるかを指定する。この場合、描画単位で予め描画処理させる装置を定めた描画処理ルールに従いプリンタドライバ５側とプリンタ１０側それぞれの画像描画処理装置１，１７を指定するようにしても良い。例えば、奇数ページの描画処理はプリンタ１０の画像描画処理装置１７で行い、偶数ページはプリンタドライバ５側の画像描画処理装置１で行なう等のルールを定めるようにした場合には、各描画単位毎にそのルールに従って、処理を分担する画像描画処理装置を指定する。各々の画像描画処理装置１，１７で処理されたデータは、それぞれに関係する入出力インタフェースを介してプリンタ１０に転送され、プリンタ内のフレームメモリ１４に展開し、その後、図示しない可視像化を行う出力装置への描画データの出力を行う。
【００３５】
「実施形態９」
本実施形態には、上記実施形態５のプリンタシステムを有効に機能させるための動作方式に係わる他の実施形態を示す。ここに示すシステムの動作方式は、二つの画像描画処理装置１，１７で描画処理を分担可能とし、各描画処理装置の処理分担をプリンタドライバ５とプリンタ１０における処理状態（処理進行状況）に応じて定めることを意図するものである。
本実施形態では、アプリケーションからの印刷要求を受け取るプリンタドライバ５の解釈部８で処理の分担を決める。また、プリンタドライバ５側とプリンタ１０側それぞれで決めた分担に従いジョブを処理する際に、処理の連携を図るために必要な情報を伝達することが可能な入出力インタフェース７，１１が用いられる。
本実施形態では、プリンタドライバ５及びプリンタ１０における処理状態（処理進行状況）に応じて分担を決めるようにする。そのために、アプリケーションから印刷要求を受け取るプリンタドライバ５が有する解釈部８において、プリンタドライバ５自身の処理状態と、入出力インタフェース７，１１を介して知ることが可能なプリンタ１０の処理状態を把握する必要がある。
解釈部８では、把握したプリンタドライバ５とプリンタ１０における処理状態に応じ、処理すべきジョブが存在する場合には、できるだけプリンタドライバ５、プリンタ１０の両方に設けた画像描画処理装置１，１７を有効に働かせるようにして、処理効率を上げ、高速化を図る。
プリンタドライバ５側の解釈部８は、入出力インタフェース７，１１を介して得られるプリンタ１０の処理進行状況によって、以降の描画処理の分担処理を行うようにする。即ち、プリンタ１０側で処理が可能な状態にあれば、直ちにプリンタ１０に処理を分担させるようにして、プリンタドライバ５側の処理と共に同時処理の形でジョブの分担を可能にする。例えば、プリンタ１０が描画処理中で、かつコマンド待ち受け状態にもない場合、以降の処理をプリンタ１０の処理が解放されるまでプリンタドライバ５側で行うようにし、さらに、プリンタ１０に何らかのエラー（ドアオープン、トナー切れ等）がある場合に、エラーが解消されるまでプリンタドライバ５側で処理を行うようにする。処理を分担した場合に、各々の画像描画処理装置１，１７で処理されたデータは、それぞれに関係する入出力インタフェースを介してプリンタ１０に転送され、プリンタ内のフレームメモリ１４に展開し、その後、図示しない可視像化を行う出力装置への描画データの出力を行う。
【００３６】
「実施形態１０」
本実施形態は、上記「実施形態１」に基本形態を示した画像描画処理装置の改良に係わるものである。
本例の画像描画処理装置の特徴は、実施形態１の画像描画処理装置と同様の機能を持つモジュールにおいて、描画条件等が異なるために仕様を変更する必要がある場合に、新たな開発を行うことなく、容易に仕様の変更に応えることを可能にする構成を備えたものである。
図６は、本実施形態に係わる画像描画処理装置の構成を示すブロック図である。同図に示すように、画像描画処理装置１は、入出力インタフェース２と描画処理部３と初期化部３１とメモリ管理部４を有し、独立した機能モジュールとして構成する。入出力インタフェース２は、画像描画処理装置１を利用する側のシステム要素（例えば、プリンタドライバ、プリンタ）とのデータ入出力を行う。描画処理部３は、入力データの二値化等、原画像情報をもとにメモリ上に描画データを展開し、印刷出力に用いる描画データを生成し、この描画データを利用する側のシステム要素への送信データを作成する処理を行う。初期化部３１は、プリンタの作像部等の可視像化を行う装置で出力される画像の解像度、深さ（ｂｉｔ）等に関する初期化条件を描画処理部３に設定する。描画処理部３では、描画に必要な出力解像度、深さ等のパラメータに依存しない形で各描画出力モード共通の方法（共通の処理関数）をもっており、処理関数のパラメータとして初期化部３１から出力解像度、深さ等のパラメータが与えられ、初期化部３１との協調により、仕様の変更に対応して描画処理を行うことを可能にする。なお、初期化部３１は、描画処理に含まれる後述のディザリング処理を行うための使用ディザパターンの判定（実施形態１２）、初期化メタパターンの作成（実施形態１３〜１８）を行う手段としても機能する。
また、メモリ管理部４は、描画処理時及びデータの送受信処理時に使用するワークメモリの管理を行う。なお、本画像描画処理装置１は、上記した描画処理や処理データの送受信動作をコンピュータプログラムに従って行うためのＣＰＵ、メモリ、入出力インタフェースを備えたモジュールにより具体化が可能である。
【００３７】
「実施形態１１」
本実施形態は、上記「実施形態１」に基本形態を示した画像描画処理装置の改良に係わるものである。
本画像描画処理装置の特徴は、実施形態１の画像描画処理装置１と同様の機能を実現するためのモジュールにおいて、ワークメモリをモジュール内に持つ必要をなくすことを可能にする構成を備えたもので、描画処理及び入出力インタフェースの動作に用いるワークメモリ領域として、入出力インタフェースで接続する外部の装置が有するメモリの領域を用いるようにし、そのためのメモリの管理を行う。
従って、本実施形態では、例えば図５のシステム構成に用いる画像描画処理装置１を例にすると、画像描画処理装置１が用いるワークメモリ領域としてプリンタドライバ５、プリンタ１０側のワークメモリ９，１３を利用する。プリンタドライバ５、プリンタ１０は、画像描画処理装置１に描画処理を依頼する際にその描画処理に必要なワークメモリを確保し、その領域とメモリ操作（確保、解放等）関数を初期化時、画像描画処理装置１に渡す。画像描画処理装置１のメモリ管理部４は、このときに渡された管理情報をもとにプリンタドライバ５、プリンタ１０に確保されたワークメモリの管理を行う。つまり、画像描画処理装置１を利用する側であるプリンタドライバ５、プリンタ１０は、描画処理に使用するメモリを間接的に管理することになる。
このように、画像描画処理装置１側では、描画処理に必要なワークメモリを独自に持つ必要が無く、利用側が確保したメモリ領域を使用するために利用側から渡されたメモリ操作関数による管理を行うだけでよい。
【００３８】
「実施形態１２」
本実施形態は、上記「実施形態１」に基本形態を示した画像描画処理装置の改良に係わるものである。
本画像描画処理装置の特徴は、実施形態１の画像描画処理装置１と同様の機能を実現するためのモジュールにおいて、ディザリングによる描画処理を行うための手段を装備するとともに、ディザリングによる処理を行う際に複数種のディザパターンを用い、描画オブジェクトごとに複数種のディザパターンを切り替えて使用する方式を採用するようにしたもので、この方式により処理を高速化して、画像描画処理装置１に独立した機能モジュール構成を採用した場合の装置の高パフォーマンス化を図る。
本実施形態では、描画処理対象となる写真、文字、グラフィック塗りつぶし、線画等の描画オブジェクトに対応してオブジェクト毎にディザリングに用いるディザパターンを複数種用意し、アプリケーションからの印刷要求を受け取るプリンタドライバ５の解釈部８で解析した描画オブジェクト情報を描画処理時に取得し、描画オブジェクト毎に対応するディザパターンを切り替えて使用する。描画処理動作の手順としては、例えば図５のシステム構成に用いる画像描画処理装置１，１７を例にすると、画像描画処理装置１，１７を利用するプリンタドライバ５、プリンタ１０は、描画処理依頼時に入出力インタフェースを介し、描画処理対象情報とディザパターンの指定が含まれた内部コマンドを送出する。なお、ディザパターンの指定情報は、描画オブジェクトの種類毎に使用するディザパターンが予め定められているので、描画処理対象情報を解析して描画オブジェクトの種類を求め、対応するディザパターンの指定情報を取得し、内部コマンドで指定しておく。画像描画処理装置１，１７は、内部コマンドに指定された使用ディザパターンを初期化部３１で判別し、描画処理部３において対応したディザパターンを使用してディザリングを行う。
【００３９】
「実施形態１３」
本実施形態は、上記「実施形態１２」に示した画像描画処理装置の改良に係わるものである。
本画像描画処理装置の特徴は、実施形態１２に示した画像描画処理装置１，１７のモジュールにおいて、描画処理としてのディザリングに用いるディザパターンに単位パターンを複数連結させ、拡張したパターンサイズを用いるようにする方式を採用したもので、この方式により処理を高速化することを可能にする。
本実施形態では、使用するディザパターンは、例えば  “４×４”、“６×１２”  のような矩形のサイズを持つものを採用する（“４×４”の例を示す図８、参照）。このようなディザパターンを用いる場合、入力画像の１ピクセルごとにメモリ上のディザデータを参照し、ディザパターンを生成する処理を行い、その処理結果をメモリ上に描き込むといった処理を繰り返す方法では、処理コストがかかる。そこで、同濃度のピクセルが連続する場合のようにディザパターンを繰り返して貼り付けるようにして用いることが可能な場合には、ディザパターンの各行を複数連続させることで新たなパターン（以下、この連続パターンを「メタパターン」という）を作成し、メタパターンを使用してディザパターンの生成処理を行うことで処理コストを低減する。
ここでは、メタパターンのサイズは、３２ｂｉｔｓとし、３２ｂｉｔｓに収まらない場合は複数の３２ｂｉｔｓのメタパターンをリスト形式で接続しておく。図７は、このメタパターンを例示するものである。ここには、単位ディザパターンが、４ｂｉｔｓと６ｂｉｔｓの例を示す。メタパターンのサイズを３２ｂｉｔｓアラインとしているから、単位ディザが４ｂｉｔｓの場合は、単位ディザを８回繰り返す。また、単位ディザが６ｂｉｔｓの場合は、複数の  ３２ｂｉｔｓのメタパターンを３つ接続し、単位ディザを１６回繰り返す。
このようなメタパターンを使用してディザ処理を行うことにより、処理の高速化を図ることを可能にする。
【００４０】
「実施形態１４」
本実施形態は、上記「実施形態１３」に示した画像描画処理装置の改良に係わるものである。
実施形態１３に示した画像描画処理装置１，１７のモジュールにおいて、ディザパターンとして拡張パターン（メタパターン）を用いてディザリング処理行うとしたが、メタパターンは繰り返して使用することが多く、描画の都度にメタパターンを作成するという方法は非効率的である。そこで、本画像描画処理装置では、実施形態１３に示したような方法で作成したメタパターンをキャッシュメモリに一時的に格納し、キャッシュしておいたメタパターンを再利用することにより、処理効率の向上を図るものである。
本実施形態では、画像描画処理装置１，１７の描画処理部３でメタパターンを作成したときに、作成したメタパターンをこの画像描画処理装置内のメモリに設けたキャッシュ領域に格納し、その後、同じメタパターンの描画要求がなされたときに、キャッシュしておいたメタパターンを読み出して、再利用する。こうしたメタパターンを再利用するキャッシュ動作を行うために、画像描画処理装置１，１７のメモリ管理部４では、作成したメタパターンのキャッシュ管理を行う。
【００４１】
「実施形態１５」
本実施形態は、上記「実施形態１４」に示した画像描画処理装置の改良に係わるものである。
実施形態１４に示した画像描画処理装置１，１７のモジュールにおいて、ディザパターンとして拡張パターン（メタパターン）のキャッシュ管理を行うとしたが、描画に使用するメタパターンとして写真用、文字用等の描画オブジェクトやカラー（例えば、ＫＣＭＹの４つの色成分による）に対応して複数のパターンを用意する必要があり、こうした場合に、キャッシュに必要なメモリ容量が可成り大きくなってしまう。そこで、以下に示す方式によりキャッシュ容量の低減を図るようにするものである。
描画に使用するメタパターンには、上記のように写真用、文字用等の描画オブジェクトに応じたパターンのように、複数種のディザパターンがあり、さらに、同じ写真用パターンにおいてもＫＣＭＹ４色の各成分でそれぞれ違うディザパターンを用いることがある。ところが、ＫＣＭＹ４色全ての色で同じディザパターンを使用する場合もあり、この場合にＫＣＭＹの４色分全てのメタパターンをキャッシュメモリに用意すると、メモリを無駄に使用することになる。そこで、初期化部３１におけるメタディザパターンのキャッシュ初期化処理において、カラー構成色（例えばＫＣＭＹ）の各色別に異なるディザパターンを用いる必要があるか否かの要否に従い、各色別のディザパターンを用いる場合には、４  色分のキャッシュ領域を使用する設定を行い、単色のディザパターンを用いる場合には、ＫＣＭＹ  全てが同一のキャッシュ領域を使用するように設定し、キャッシュ容量を低減させる。
【００４２】
「実施形態１６」
本実施形態は、上記「実施形態１４」に示した画像描画処理装置の改良に係わるものである。
実施形態１４に示した画像描画処理装置１，１７のモジュールにおいて、ディザパターンとして拡張パターン（メタパターン）のキャッシュ管理を行うとしたが、描画に使用するメタパターンとして描画オブジェクトやカラーに対応した種類、及び濃度（０〜２５５）の複数のパターンを用意する必要があり、こうした場合に、キャッシュに莫大なメモリ容量が必要になってしまう。そこで、以下に示す方式によりキャッシュ容量の低減を図るようにするものである。
本実施形態では、行列状に配された各種のディザパターンを用いる場合、共通の行パターンのみキャッシュするという方式によりキャッシュ容量を低減する。このために、初期化部３１は、各種のディザパターンの行ごとのパターンを判別し、同一の行パターンのみをキャッシュすることでキャッシュに用いる容量を低減する。図８は、各種のディザパターンの行ごとのパターンを判別し、同一の行パターンにキャッシュされたデータを用いる方式を説明する図である。図８を参照すると、使用するディザパターンを例えば４×４  の矩形のサイズを持つものとした場合における０〜２５５のカラー濃度レベルのディザパターンが図示されているが、その矩形ディザパターンにおける各ライン（この例では４ラインある）毎にライン（行）パターンが同一となるレベルを示し、どのレベルと同一であるかが分かるように、カラー濃度レベルに対し同一パターンを持つレベルを指示する図中に示すようなテーブルを作成する。ここに示す例では、レベル１０，１１，１２の２ライン（行）目の行パターンが同一であり、２ライン目について作成したテーブルに示すように、レベル１１，１２はレベル１０と同一のパターンを用いることができ、キャッシュパターンを用いることができることを示す。
このようにしてキャッシュするディザパターンを使用する可能性の高いものに限定することにより、キャッシュ容量を低減させることが可能になり、また、これにより描画時に  ０〜２５５の全カラー濃度レベルのパターンを検索することなく、キャッシュされた同一のパターンの検索で処理に必要なデータが得られるので、処理の高速化を図ることも可能になる。
【００４３】
「実施形態１７」
本実施形態は、上記「実施形態１６」に示した画像描画処理装置の改良に係わるものである。
実施形態１６に示した画像描画処理装置１，１７のモジュールにおいて、キャッシュするメタパターンとして、繰り返し使用する可能性の高い、各種のメタパターン間に共通の行パターンのみキャッシュするとしたが、使用するキャッシュメモリに限りがあり、全ての共通パターンがキャッシュできず、不都合を生じる場合がある。そこで、以下に示す方式により不都合の解消を図ることを可能にするものである。
本実施形態では、キャッシュメモリ領域に不足が生じたときに、該キャッシュメモリ領域の初期化を行う方式を採用する。即ち、キャッシュメモリが足りなくなる場合には、一旦メモリをフラッシュしてキャッシュメモリの再構築を行なうようにする。こうすることにより、画像描画処理装置１，１７内で使用するキャッシュメモリのサイズを可変にし、画像描画処理装置１，１７を利用する側のワークメモリ量に応じて適切なキャッシュメモリ容量を確保することができ、不都合なく画像描画処理装置１，１７における描画処理動作を行うことが可能になる。
【００４４】
「実施形態１８」
本実施形態は、上記「実施形態１４」に示した画像描画処理装置の改良に係わるものである。
実施形態１４に示した画像描画処理装置１，１７のモジュールにおいて、メタパターンをキャッシュするメモリ領域を初期設定した領域に固定すると、キャッシュメモリ領域が不足する場合があり、この対応策として実際に不足するときに画像描画処理装置１，１７内で一旦メモリをフラッシュしてキャッシュメモリの再構築を行うようにする方式を採用することができる（実施形態１７，参照）が、こうした再構築のし方では、キャッシュされたデータを再度入れ直すという無駄な作業が生じる場合もある。そこで、以下に示す方式によりこの不具合の解消を図ることを可能にするものである。
本実施形態では、キャッシュの有効範囲を必要に応じて切り替えることを可能とする。即ち、画像描画処理装置１，１７内のキャッシュメモリのサイズを可変とし、画像描画処理装置１，１７を利用する側（プリンタドライバ５或いはプリンタ１０側）から描画データの単位が変わる所定のタイミングを選んで、指定したメモリサイズの使用を可能とする設定で初期化を行う。つまり、画像描画処理装置１，１７を利用する側から意図的に再構築を行わせることにより、キャッシュメモリの有効範囲を変えることを可能にする。例えば、有効範囲をページ内とした場合、ページ描画の先頭でキャッシュメモリの再構築を行い、有効範囲をジョブ内とした場合には、ジョブ先頭で再構築を行う。後者の例では、複数ページの描画にまたがってキャッシュを利用することができる。なお、画像描画処理装置１，１７を利用する側から意図的に行われる初期化（再構築）の間に、メモリサイズが足りなくなった場合には画像描画処理装置１，１７側で自動的に再構築を行なうことを可能にするようにしても良い。
【００４５】
「実施形態１９」
本実施形態は、上記「実施形態１４」に示した画像描画処理装置の改良に係わるものである。
実施形態１４に示した画像描画処理装置１，１７のモジュールにおいて、メタパターンをキャッシュして描画処理に用いることにより高速化を図るとしたが、描画処理結果を利用するプリンタ１０側への処理後の描画データの転送を高速化しないとキャッシュを採用した意義が減殺する。そこで、以下に示す方式により合目的化を図ることを可能にするものである。
メタパターンを使用したディザ処理において、上記実施形態１３に示したように、キャッシュされたパターンは高速処理のために、単位ディザパターンを繰り返し、この例では３２ｂｉｔｓ  のパターンとしている。一方で、描画処理結果を利用するプリンタ１０側の描画データを描き込むフレームメモリ１４へのアクセスは回数が少ないほど高速に処理できるため、入力画像  １  画素毎に毎回フレームメモリ１４に書き込んでいては、処理が遅くなる。そこで、本実施形態では、キャッシュされたメタパターンと同様にフレームメモリ１４へのアクセスも３２ｂｉｔｓ  ごとにまとめて描き込むようにするため、描画処理結果を転送するためのワークメモリ領域として、キャッシュされたメタパターンに見合う３２ｂｉｔｓ  サイズのワークメモリ領域を確保し、描画処理結果を確保したこのワークメモリ領域に一旦書き込んでおき、３２ｂｉｔｓ  溜まったところでフレームメモリ１４に描き出すことで、描画処理、描画データの送信という一連の処理を高速化することが可能になる。
【００４６】
「実施形態２０」
本実施形態は、上記「実施形態１９」に示した画像描画処理装置の改良に係わるものである。
上記実施形態１９に示した画像描画処理装置１，１７のモジュールにおいて、描画データの利用側に描画処理結果を転送するためのワークメモリ領域として、キャッシュされたメタパターンに見合うサイズの領域を確保することにより高速化を図るとしたが、本実施形態は、実施形態１９における描画処理、描画データの送信という一連の処理をさらに高速化することを意図する。
このために本実施形態では、ワークメモリ領域に一旦保持した描画処理後のデータを描画対象として入力される画素の色レベル（濃度）が変動しない間、継続して保持するようにし、入力画素の同一色（濃度）を“まとめ塗り”することにより、処理の高速化を図る。
図９は、本実施形態の描画処理のフローチャートを示す。図９を参照すると、フローの開始時に、描画データを利用するプリンタ１０側に描画処理結果を転送するためのバッファメモリのデータをクリアし、初期化する（Ｓ１１）。
その後、描画対象として入力された現画素の色レベル（濃度）を前画素と比較し同レベルであるか否かを判定し（Ｓ１２）、同レベルであれば（Ｓ１２−ＹＥＳ）、次画素のレベル判定に移り（Ｓ１３）、同レベルである間は入力画素の判定を次々に進める。このように同レベルの画素が継続する場合、メタパターンの検索・描画処理を一旦保留しておくので、描画データのフレームメモリ１４への書き込み処理は。後述するようにまとめて行われることになる。
ステップＳ１２で違うレベルの画素が判定される場合（Ｓ１２−ＮＯ）、前画素のレベルに対応するメタパターンをキャッシュから検索し（Ｓ１４）、検索したメタパターンを描画処理結果としてプリンタ１０側に転送するためのバッファメモリに一時格納し、前画素までに同レベルの継続する画素があれば、これらの画素をまとめてフレームメモリ１４へ書き込む“まとめ塗り”を行う（Ｓ１５）。
描画処理の後、最終画素をオーバーしたかをチェックし（Ｓ１６）、処理すべき画素が残っている場合、次画素のレベル判定を行うためのステップに戻す（Ｓ１３，Ｓ１２）。他方、最終画素をオーバーした場合には（Ｓ１６−ＹＥＳ）、本フローの処理を終了する。
上記のように、描画処理時のフレームメモリ１４のアクセスにおいて、入力画像  画素毎にメタパターンを検索し転送バッファメモリに書き込んでいては処理が遅くなるが、“まとめ塗り”により処理の高速化が可能になる。
【００４７】
「実施形態２１」
本実施形態は、上記「実施形態１」に基本形態を示した画像描画処理装置の改良に係わるものである。
本画像描画処理装置の特徴は、実施形態１の画像描画処理装置１と同様の機能を実現するためのモジュールにおいて、擬似階調処理に用いられる誤差拡散処理法による描画処理を行うための手段を装備するとともに、誤差拡散処理法による処理を行う際に、描画処理全体としての処理コストをあまり上げることなく、誤差拡散処理を行うことを意図するものである。
誤差拡散処理法は、擬似階調という同様の目的で用いられるディザ処理法に比較して処理コストがかかる。これは、誤差拡散処理を行う場合、一般的にＣＭＹＫやＲＧＢの各色  ８ｂｉｔで確保されたフレームメモリ等のメモリ上に描画処理結果を残しながら、その後の誤差拡散処理によって擬似階調処理を行うという処理プロセスをとるためである。
本実施形態では、上記実施形態１２に示した描画オブジェクトごとに複数種のディザパターンを切り替えて使用する方式を採用することにより処理の高速化を図るようにしたディザリングによる描画処理を拡張するという形態で誤差拡散処理を適用する。
描画処理動作の手順としては、例えば図５の画像描画処理システムを例にすると、画像描画処理装置１，１７を利用するプリンタドライバ５、プリンタ１０は、描画処理依頼時に入出力インタフェースを介し、描画処理対象情報が含まれた内部コマンドを送出する。内部コマンドを受け取る画像描画処理装置１，１７は、コマンドに含まれた描画処理対象情報を解析して描画オブジェクトの種類を求め、写真オブジェクトのみに対して誤差拡散を行い、それ以外のオブジェクトに対してはディザ処理を行うことで描画処理全体としての処理コストをあまり上げることなく、誤差拡散処理を行なうことを可能とする。
【００４８】
図１０は、本実施形態の描画処理のフローチャートを示す。図１０を参照すると、画像描画処理装置１，１７は内部コマンドの描画処理対象情報を解析して描画オブジェクトの種類を求めておき、擬似階調処理フローの開始時に、各種描画オブジェクトの中の写真オブジェクトのみに対して誤差拡散処理を適用するために、処理対象の描画オブジェクトがイメージ（写真）であるか否かをチェックする（Ｓ２１）。
チェックの結果、イメージ（写真）オブジェクトである場合には（Ｓ２１−ＹＥＳ）、誤差拡散法により原写真画像の中間調の濃度を持つ画素に対応する擬似階調の描画データを生成する処理を行う（Ｓ２２）。
また、イメージ（写真）オブジェクト以外である場合には（Ｓ２１−ＮＯ）、ディザパターンを用いた擬似階調の描画データを生成する。ディザ処理の場合には、描画オブジェクト種類ごとに適用するディザパターンを切り替えて使用するので、解析結果として得ている描画オブジェクト種別に応じたディザパターンを選択し（Ｓ２３）、選択したパターンを用いてディザ処理を行う（Ｓ２４）。
誤差拡散、ディザリングのいずれかの擬似階調の描画データの生成処理を終え、本描画データの生成処理フローを抜ける。
【００４９】
「実施形態２２」
本実施形態は、上記「実施形態２１」に基本形態を示した画像描画処理装置の改良に係わるものである。
本画像描画処理装置の特徴は、誤差拡散処理法による描画処理を行うための手段を用いる擬似階調の描画データの生成処理をバンド分割のように分割されたイメージに対して行う際に、正常な描画データを生成することを意図するものである。
実施形態２１に示したイメージ（写真）オブジェクトに対する誤差拡散処理において、描画オブジェクトとなる写真イメージは、使用するアプリケーションやプリンタドライバ等の印刷制御装置によっては、描画オブジェクトを作成するための処理過程でワークメモリとして用いるメモリ上の制約等により１つの描画オブジェクトが複数のより小さなイメージ部分に分割されてしまう場合がある。バンド処理はその１例で、１ページを複数のバンドに分割して描画を行うプリンタシステムの場合は、一つの描画オブジェクトがバンドによって複数に区切られてしまう。
誤差拡散処理においては、二値化対象画素の前ラインに蓄積された誤差を使用して二値化を行なう周知の手法により擬似階調の描画データを生成する。この手法を用いて誤差拡散処理をする場合に、バンド分割のように元々一つのオブジェクトが分割されたままの形で処理対象とされると、それぞれが別個のオブジェクトとして処理・描画されてしまうために、前ラインの蓄積された誤差を使用することができない。これにより各分割イメージの接続点（ライン）上にスジが出てしまうような描画出力結果となってしまうという描画上の問題が発生する。
【００５０】
そこで、本発明では１つの描画オブジェクトが複数のより小さなイメージ部分に分割された場合に分割されたイメージ部分の開始・終了のＸ座標を使用して誤差メモリを管理し、同一座標を持つ分割されたイメージ部分は元々同一オブジェクトであったように扱うことで１つのオブジェクトを正常に描画することができるようにする。
図１１は、本実施形態における分割されたイメージ部分に対する操作を説明するものである。図１１の（Ａ）には、３分割されたオブジェクトを示し、分割された３つのイメージ部分を同一オブジェクトとして扱うようにする、元のオブジェクトを（Ｂ）に示している。
図１１の（Ｂ）は元の一つのイメージ（写真）オブジェクトであり、ページ画像の一部として描画されるもので、ページ上の所定のＸＹ座標位置を指定して描画が命令されるものであるから、図１１の（Ａ）に示される一つの写真オブジェクトから分割された各イメージ部分の分割位置の開始Ｘ座標：ＳＸと終了Ｘ座標：ＥＸは一致するはずである。この原理により、各イメージ部分のＳＸとＥＸを比較し、同一座標である場合にはそれらのイメージ部分が同一オブジェクトを分割したものである（イメージ部分が接続条件を満たす）と判断し、誤差拡散処理をする場合に一つの写真オブジェクトとして扱うようにして、他の分割イメージ部分に含まれる前ラインの蓄積された誤差を用いた処理を行うことにより、上記した分割イメージの接続点（ライン）上におけるスジの発生を回避する。
【００５１】
「実施形態２３」
本実施形態は、上記「実施形態２２」に示した画像描画処理装置の改良に係わるものである。
上記実施形態２２では、一つのオブジェクトから分割されたイメージ部分を対象にする誤差拡散処理法において、正常な擬似階調描画データを生成するための手段として、分割イメージ部分双方の分割位置の開始Ｘ座標：ＳＸと終了Ｘ座標：ＥＸの一致により一つの写真オブジェクトを判断し、１オブジェクトとして扱うようにする手段を用いる例を示した。しかしながら、実施形態２２において採用した、分割イメージ部分の誤差メモリ管理に上記Ｘ座標を用いるだけでは、同じ幅を持った全く別個のオブジェクトが重なっていた場合に正常に描画することが出来ない場合が生じる可能性がある。
そこで、本実施形態では、元々一つのオブジェクトである各分割イメージ部分に対しては、画像描画処理装置１，１７を利用する側（図５を例にすると、プリンタドライバ５或いはプリンタ１０側）において、一つのオブジェクトを分割した各分割イメージ部分に対する描画処理を指令する内部コマンドに同一の  オブジェクトＩＤ  を付加して送信する。画像描画処理装置１，１７側では、受信したコマンドを解釈し、同一のＩＤ  を持つ分割イメージ部分だけを元々同一オブジェクトであったように扱うことで、分割されたイメージ部分、別の描画オブジェクトいずれの場合であっても正常な擬似階調描画データを生成することができる。
図１２は、本実施形態における分割イメージ部分及び別の単独オブジェクトに対する操作を説明するものである。図１２の（Ａ）には、２分割されたオブジェクトとこれらの分割イメージ部分とは別の単独オブジェクトを示し、（Ｂ）には、２分割イメージ部分が同一オブジェクトとして扱われる元のオブジェクトに統合された形を示している。
図１２の（Ａ）の分割イメージ部分として同一のＩＤ  を持つ描画オブジェクトは、（Ｂ）に示すように統合されて一つの写真オブジェクトとして扱われ、図１２の（Ａ）に示される分割イメージ部分とは別の単独オブジェクトは、オブジェクトの分割位置の開始Ｘ座標：ＳＸと終了Ｘ座標：ＥＸは一致しても、オブジェクトＩＤが異なるので、統合されず単独オブジェクトとして扱われる。このようにして、実施形態２２で起こり得る不適正な処理を回避することが可能になる。
【００５２】
「実施形態２４」
本実施形態は、上記「実施形態２３」に示した画像描画処理装置の改良に係わるものである。
上記実施形態２３では、分割イメージ部分を対象にする誤差拡散処理法において、正常な擬似階調描画データを生成するための手段として、分割イメージ部分双方の分割位置の開始Ｘ座標：ＳＸと終了Ｘ座標：ＥＸの一致と、オブジェクトＩＤの一致により分割イメージ部分の接続条件を判断し、１オブジェクトとして扱うようにする手段を用いる例を示した。本実施形態では、さらに分割イメージ部分の接続を正しく判断するための手段を付加するものである。
本実施形態では、オブジェクトＩＤ，  Ｘ  座標（開始、終了）に加えて、二値化対象ラインの  Ｙ  座標を使用して分割イメージ部分の接続を判断して、誤差メモリの管理を行なうことで正常な誤差拡散処理を行うようにする。
ここで、接続を判断するために用いるＹ  座標は、先のＸ  座標のように分割イメージ部分同士の開始、終了座標双方を使用して管理するのではなく、前の分割イメージ部分の終了  Ｙ  座標と後の分割イメージ部分の開始  Ｙ  座標とを用いて管理を行なう。つまり、Ｙ軸上で分割された分割イメージ部分に対しては、処理終了の  Ｙ  座標で誤差メモリ管理を行い、分割イメージ部分が次に処理される場合に、前に処理された分割イメージ部分の終了  Ｙ  座標と、これから処理を行なう分割イメージ部分の開始Ｙ座標を比較して接続するかどうか判別して（図１３、参照）、一つのオブジェクトとして扱う場合に前の分割イメージ部分（前ライン）の誤差を用いることができるように誤差メモリの管理を行なうことによって、正常な描画処理を可能にする。
【００５３】
「実施形態２５」
本実施形態は、分割イメージ部分に対する誤差拡散処理を可能にする誤差メモリの管理手段を有する画像描画処理装置の改良に係わるものである。
本画像描画処理装置の特徴は、実施形態２２〜２４において、分割イメージ部分の接続が判断され、１オブジェクトとして分割イメージ部分間で誤差メモリの管理を行うようにする際に、使用メモリを最小限で済ませることを意図するものである。
本実施形態の誤差拡散処理の誤差メモリ管理方法では、１オブジェクトから分割したイメージ部分と判断された分割イメージ部分に対し、前ラインの誤差メモリを１ライン分のみ確保し、各分割イメージ部分においてはこの誤差メモリを共有することで省メモリ化を行なうようにする。また、共有することで前ラインの蓄積誤差が接続されるイメージにそのまま伝播されることになり、誤差メモリをコピーするという操作やそのために余分なメモリ容量を必要とすることなく、目的とする正常な誤差拡散処理による描画データの生成を行うことが可能になる。図１３は、本実施形態における分割イメージ部分に対する誤差メモリの操作を説明するものである。図１３の（Ａ）には、２分割されたオブジェクトとこれらの分割イメージ部分とは別の単独オブジェクトを示している（なお、ここでは、実施形態２３に示した形態をとるものを例示している）。図１３の（Ｂ）には、２分割イメージ部分が接続条件を満たす場合に、１ライン分の誤差メモリを共有する１オブジェクトとしてのメモリ管理を行うことを示している。
図１３の（Ａ）の分割イメージ部分として同一のＩＤ  （図示では、ＩＤ＝０）を持つ描画イメージ部分は、分割イメージ部分の分割位置の開始Ｘ座標：ＳＸと終了Ｘ座標：ＥＸが一致し、かつ前の分割イメージ部分の分割終了Ｙ座標：ＥＹと後のオブジェクトの分割開始Ｙ座標：ＳＹ’の関係が接続条件（ＳＹ’＝  ＥＹ＋１）を満たしているので、一つのオブジェクトとして扱われ１ライン分の誤差メモリを共有する。また、図１３の（Ａ）に示される分割イメージ部分とは別の単独オブジェクトは、オブジェクトの分割位置の開始Ｘ座標：ＳＸと終了Ｘ座標：ＥＸは一致しても、オブジェクトＩＤが異なるので、一単独オブジェクトとして扱われ、別の誤差メモリによる管理を行う。このようにして、分割イメージ部分に対し適正な誤差拡散処理を行う場合の誤差メモリの省メモリ化を可能にする。
【００５４】
「実施形態２６」
本実施形態は、分割イメージ部分に対し適正な誤差拡散処理を行う場合の誤差メモリの管理手段を有する画像描画処理装置の改良に係わるものである。
本実施形態の画像描画処理装置は、実施形態２２〜２５において、分割イメージ部分の誤差メモリの管理を行う際に、メモリ利用の効率化を図ることを意図するものである。
本実施形態の誤差メモリ管理方法では、バンディングを伴う描画データの生成処理のようにバンド単位で処理されるオブジェクトに対し誤差拡散処理を適用する場合、処理の終了したバンド内に閉じて存在する（即ち、次のバンドは別の描画オブジェクトとなる）描画オブジェクトの誤差メモリは、次のバンドで使用することは無い。現在行っている処理の誤差メモリで次のバンドで必要となるのは、バンドを跨いで分割される描画オブジェクトのみであるため、それ以外のオブジェクトについては必要がなくなる。従って、処理が終了したバンド内に存在するそのような描画オブジェクトの誤差メモリについては、バンド終了時に解放することで誤差蓄積に使用するメモリを削減し、メモリ領域を無駄に使用することをなくし、省メモリ化を図るようにする。
【００５５】
「実施形態２７」
本実施形態は、分割イメージ部分に対し適正な誤差拡散処理を行う場合の誤差メモリの管理手段を有する画像描画処理装置の改良に係わるものである。
本実施形態の画像描画処理装置は、実施形態２６におけると同様に、分割イメージ部分の誤差メモリの管理を行う際に、メモリ利用の効率化を図ることを意図するものである。
本実施形態の誤差メモリ管理方法では、複数ページの印刷ジョブに対して誤差拡散処理を適用する場合、現在処理を行っているページで使用した誤差メモリは次のページに対する処理に使用することは無い。よって、処理が終了したページに存在する描画オブジェクトの誤差メモリについては、ページ終了時に解放することで誤差蓄積に使用するメモリを削減し、メモリ領域を無駄に使用することをなくし、省メモリ化を図るようにする。
【００５６】
「実施形態２８」
本実施形態は、複数のオブジェクトに対する誤差拡散処理を可能にする誤差メモリの管理手段を有する画像描画処理装置の改良に係わるものである。
本画像描画処理装置の特徴は、実施形態２２〜２７において、複数オブジェクトの誤差メモリの管理を行う際に、誤差メモリ利用時に行う検索の高速化を図ることを意図するものである。ページを構成する描画オブジェクトの中に誤差拡散処理の対象となるイメージ（写真）オブジェクトが複数存在する場合があるので、各オブジェクトにＩＤを付与して描画処理に必要なメモリ管理をする。
誤差メモリについても各描画オブジェクトをそのＩＤにより管理し、描画処理はライン単位で行うので、オブジェクト毎に確保した１ライン分の誤差メモリをリスト構造化するという管理方法がとられる。なお、バンド分割される場合、分割前の元々のオブジェクトＩＤによりオブジェクト毎に管理される。
誤差拡散法を用いるイメージ（写真）オブジェクトの描画処理では、ページ内のオブジェクトをライン毎に処理していくときに、同一オブジェクトを連続して描画する（バンド分割された場合を含めて）ことの方が多く、全く別の描画オブジェクトがランダムに描画されることはあまり無い。
このようなことから、本実施形態では、リスト構造により１ライン分の誤差メモリを管理する際に、新しい描画オブジェクトの処理が始まる毎に、確保した誤差メモリをリストの先頭に付加することで、リスト先頭に存在する直近に処理したオブジェクトの誤差メモリのアクセス時間を短くするようにして、次のラインにおけるオブジェクトの描画処理時に、誤差メモリの検索を高速に行うことを可能にする。
【００５７】
「実施形態２９」
本実施形態は、誤差拡散処理を行う描画オブジェクトに対してスキャンラインクリップが設定されている場合に描画処理の高速化を可能にする手段を有する画像描画処理装置に係わるものである。
本画像描画処理装置の特徴は、誤差拡散処理の対象となるイメージ（写真）オブジェクトがページ内に存在する描画ジョブにスキャンラインクリップが設定され、スキャンラインによりクリップされた描画部分以外を描画する必要がない場合に短い処理時間で済ませる処理手順にある。
本実施形態の手順としては、誤差拡散処理を行う描画オブジェクトに対してスキャンラインクリップが設定されていてオブジェクトの全てを描画する必要が無い場合、誤差拡散処理を行う前に（上記実施形態２１に関して添付した図１０の例では、例えば擬似階調処理の開始直後の手順として実行）クリップの処理を行なってクリップ範囲のみオブジェクトを切り出しておくことで、その後にクリップ範囲以外のオブジェクトに対して無駄な誤差拡散処理と描画を行う必要が無くなる。これにより描画処理の高速化を可能とする。
【００５８】
「実施形態３０」
本実施形態は、誤差拡散処理を行う描画オブジェクトに対して矩形クリップが設定されている場合に描画処理の高速化を可能にする手段を有する画像描画処理装置に係わるものである。
本画像描画処理装置の特徴は、誤差拡散処理の対象となるイメージ（写真）オブジェクトがページ内に存在する描画ジョブに矩形（ＸＹ座標により指示されたページ内の任意の矩形領域）クリップが設定され、クリップされた矩形描画領域以外の領域を描画する必要がない場合に短い処理時間で済ませる処理手順にある。本実施形態の手順としては、誤差拡散処理を行う描画オブジェクトに対して矩形クリップが設定されていてオブジェクトの全てを描画する必要が無い場合、誤差拡散処理を行う前に（上記実施形態２１に関して添付した図１０の例では、例えば擬似階調処理の開始直後の手順として実行）クリップの処理を行って矩形クリップ範囲内のみオブジェクトを切り出しておくことで、その後にクリップ範囲外のオブジェクトに対して無駄な誤差拡散処理と描画を行う必要が無くなる。これにより描画処理の高速化を可能とする。
【００５９】
【発明の効果】
（１）  請求項１の発明に対応する効果
画像描画処理装置を描画処理のジョブを作成する装置側及び処理した描画データを用い可視像化を行う出力装置側どちらへも接続することが可能な、或いは両者から独立したシステム要素としても用いることが可能なモジュール構成にしたので、開発コストが軽減され、上記のように異なるシステム構成で用いても、描画処理結果に相違が生じることがなく、信頼性の高い画像描画処理装置を提供することが可能になる。
（２）  請求項２の発明に対応する効果
本画像描画処理装置を描画処理のジョブを作成する装置側に組み込んだ画像処理システムにおいて、上記（１）の効果を実現することができる。
（３）  請求項３の発明に対応する効果
本画像描画処理装置を描画データを用い可視像化を行う出力装置側に組み込んだ画像処理システムにおいて、上記（１）の効果を実現することができる。
（４）  請求項４の発明に対応する効果
本画像描画処理装置を描画処理のジョブを作成する装置側及び描画データを用い可視像化を行う出力装置側のいずれの側に対しても対等な関係でシステム化した画像処理システムにおいて、上記（１）の効果を実現することができる。また、画像描画処理装置を例えばＰＣのような独立した装置に搭載することにより、実施することが可能になる。
【００６０】
（５）  請求項５の発明に対応する効果
本画像描画処理装置を描画処理のジョブを作成する装置側及び描画データを用い可視像化を行う出力装置側の双方でそれぞれ組み込んだ画像処理システムにおいて、上記（１）の効果を実現することができ、特に、双方で処理を分担することや同時に複数のジョブに対する処理を行うことが可能になり、処理の高速化を図ることができる。
（６）  請求項６の発明に対応する効果
上記（５）の効果に加え、画像描画処理装置を利用するジョブ作成装置、可視像化を行う出力装置それぞれの処理性能の応じて処理を分担するようにしたことにより、システムを有効に機能させることが可能になる。
（７）  請求項７の発明に対応する効果
上記（５）の効果に加え、各画像描画処理装置における描画処理の分担を描画コマンドの種類により行うようにしたことにより、容易に適用し得る方法でシステムを有効に機能させることが可能になる。
（８）  請求項８の発明に対応する効果
上記（５）の効果に加え、各画像描画処理装置における描画処理の分担を描画データの単位により行うようにしたことにより、容易に適用し得る方法でシステムを有効に機能させることが可能になる。
（９）  請求項９の発明に対応する効果
上記（５）の効果に加え、各画像描画処理装置における描画処理の分担をジョブ作成装置、可視像化を行う出力装置の処理状態に応じて行うようにしたことにより、システムの実状に応じた最適な動作を行わせ、システムを有効に機能させることが可能になる。
【００６１】
（１０）  請求項１０の発明に対応する効果
上記（１）の効果に加え、共通の処理関数のパラメータの設定を変えることにより異なる描画出力モードに対応する処理を行なうようにしたことにより、新たな開発を行うことなく、容易に仕様の変更に応えることが可能になる。
（１１）  請求項１１の発明に対応する効果
上記（１）の効果に加え、画像描画処理装置の動作に用いる記憶領域として、ジョブ作成装置、可視像化を行う出力装置等の外部装置が有するメモリ領域を利用するメモリ管理を行うようにしたことにより、画像描画処理装置の小型化を可能にする。
（１２）  請求項１２の発明に対応する効果
上記（１）の効果に加え、描画処理に複数のディザパターンを用い、描画オブジェクトごとに複数のディザパターンを切り替えて使用する方式を採用したことにより、処理を高速化し、独立した機能を持つモジュール構成における高パフォーマンス化を可能にする。
（１３）  請求項１３の発明に対応する効果
上記（１２）の効果に加え、単位パターンを複数連結させ、拡張したパターンサイズを用いるようにしたことにより、処理をさらに高速化することを可能にする。
（１４）  請求項１４の発明に対応する効果
上記（１３）の効果に加え、拡張パターンのキャッシュ管理をおこなうようにし、キャッシュしておいた拡張パターンを再利用することにより、処理効率の向上、処理の高速化を可能にする。
【００６２】
（１５）  請求項１５の発明に対応する効果
上記（１４）の効果に加え、カラー構成色の各色別のディザパターンを用いるか否かの要否に応じてメモリ領域を確保することにより、キャッシュ容量の低減を図ることが可能になる。
（１６）  請求項１６の発明に対応する効果
上記（１４）の効果に加え、行列状に配された各種のディザパターンにおける共通の行パターンのみキャッシュするようにしたことにより、キャッシュ容量の低減化、パターン検索処理の高速化を図ることが可能になる。
（１７）  請求項１７の発明に対応する効果
上記（１６）の効果に加え、キャッシュメモリ領域に不足が生じたときに、キャッシュメモリ領域の初期化を行い、設定をし直す（再構築する）ようにしたことにより、必要なディザパターンのキャッシュができなくなる不都合をなくすことが可能になる。
（１８）  請求項１８の発明に対応する効果
上記（１４）の効果に加え、画像描画処理装置を利用するジョブ作成装置、可視像化を行う出力装置の側から描画データの単位が変わるタイミングでキャッシュメモリ領域の初期化を行い、設定をし直す（描画データ単位に見合うように再構築する）ようにしたことにより、必要なディザパターンのキャッシュができなくなる不都合をなくすことが可能になる。
【００６３】
（１９）  請求項１９の発明に対応する効果
上記（１４）の効果に加え、キャッシュされたディザパターンに見合うワークメモリ領域を描画処理後のデータを送信するために確保するようにしたことにより、描画処理後のデータの転送が高速化され、システムの高パフォーマンス化を可能にする。
（２０）  請求項２０の発明に対応する効果
上記（１９）の効果に加え、描画対象の画素データが変動しない間、ワークメモリ領域に一旦保持した描画処理後のデータを継続して保持するようにしたことにより、入力画素の同一色（濃度）を“まとめ塗り”することができるようになるので、処理の高速化を図ることが可能になる。
【００６４】
（２１）  請求項２１の発明に対応する効果
上記（１）の効果に加え、擬似階調処理の対象オブジェクトが写真であるときに誤差拡散法を用い、写真以外のオブジェクトについてはディザパターンを用いるようにしたことにより、描画処理全体としての処理コストをあまり上げることなく、誤差拡散処理を行うことが可能になる。
（２２）  請求項２２の発明に対応する効果
上記（２１）の効果に加え、誤差拡散処理に用いる誤差データをイメージの開始、終了の各Ｘ座標によって管理するようにしたことにより、元々同一オブジェクトから分割されたイメージ部分に対する誤差拡散処理を正常に行うことが可能になる。
（２３）  請求項２３、２４の発明に対応する効果
誤差拡散処理に用いる誤差データの管理情報として対象オブジェクトのＩＤを各イメージ部分に付加し、さらに各イメージ部分の開始、終了の各Ｙ座標を付加することによって、元々同一オブジェクトから分割されたイメージ部分に対する接続条件を正しく判断し、より適正な誤差拡散処理を行うことが可能になる。
【００６５】
（２４）  請求項２５の発明に対応する効果
１つの対象オブジェクトを分割した各イメージ部分の誤差データのメモリ管理を共通に行うようにしたことによって、分割イメージ部分に対し適正な誤差拡散処理を行う場合に必要とする誤差メモリの省メモリ化が可能になる。
（２５）  請求項２６の発明に対応する効果
継続するイメージ部分の不存在を条件に誤差拡散処理を終了したイメージの描画に用いた誤差データのメモリを解放するようにしたことによって、誤差蓄積に使用するメモリを削減し、メモリ領域を無駄に使用することをなくし、省メモリ化が可能になる。
（２６）  請求項２７の発明に対応する効果
複数ページの印刷ジョブにおける単位ページ分の描画処理終了時に終了したイメージの描画に用いた誤差データのメモリを解放するようにしたことによって、誤差蓄積に使用するメモリを削減し、メモリ領域を無駄に使用することをなくし、省メモリ化が可能になる。
（２７）  請求項２８の発明に対応する効果
直前に描画処理の対象としたイメージ部分の誤差メモリを複数オブジェクトの誤差メモリリストの先頭に追加するようにしたことによって、次の分割イメージ部分におけるオブジェクトの描画処理時に、誤差メモリの検索を高速に行うことが可能になる。
【００６６】
（２８）  請求項２９の発明に対応する効果
擬似階調処理をスキャンラインクリップが設定された描画条件で行う場合に、クリップ範囲内のみに誤差拡散処理を行うようにしたことによって、クリップ範囲以外のオブジェクトに対して無駄な誤差拡散処理と描画を行う必要が無くなり、これにより描画処理の高速化が可能になる。
（２９）  請求項３０の発明に対応する効果
擬似階調処理を矩形クリップが設定された描画条件で行う場合に、クリップ範囲内のみに誤差拡散処理を行うようにしたことによって、クリップ範囲以外のオブジェクトに対して無駄な誤差拡散処理と描画を行う必要が無くなり、これにより描画処理の高速化が可能になる。
【図面の簡単な説明】
【図１】本発明の実施形態に係わる画像描画処理装置の構成を示すブロック図である。
【図２】本発明の実施形態に係わるプリンタシステムの構成を示すブロック図である。
【図３】本発明の実施形態に係わるプリンタシステムの構成を示すブロック図である。
【図４】本発明の実施形態に係わるプリンタシステムの構成を示すブロック図である。
【図５】本発明の実施形態に係わるプリンタシステムの構成を示すブロック図である。
【図６】本発明の実施形態に係わる画像描画処理装置の構成を示すブロック図である。
【図７】単位パターンを繰り返して貼り付ける方式に用いるディザパターンの例を示す。
【図８】ディザパターンデータのキャッシュ方式に関する説明図である。
【図９】本発明の実施形態に係わる描画処理のフローチャートを示す。
【図１０】本発明の実施形態に係わる擬似階調処理のフローチャートを示す。
【図１１】開始、終了各Ｘ座標を接続条件として考慮した誤差拡散処理対象の分割されたイメージ部分に対する操作を説明する図である。
【図１２】オブジェクトＩＤを接続条件として考慮した誤差拡散処理対象の分割されたイメージ部分に対する操作を説明する図である。
【図１３】誤差拡散処理対象の分割されたイメージ部分に対する誤差メモリの管理形態を説明する図である。
【符号の説明】
１…画像描画処理装置、            ２…入出力インタフェース、
３…描画処理部、                  ４…メモリ管理部、
５…プリンタドライバ、            ６…ユーザインタフェース、
７…入出力インタフェース、        ８…解釈部、
９…ワークメモリ、              １０…プリンタ、
１１…入出力インタフェース、      １２…解釈部、
１３…ワークメモリ、              １４…フレームメモリ、
１６…入出力インタフェース、      １７…画像描画処理装置、
１８…描画処理部、                １９…メモリ管理部、
３１…初期化部。
【図１】
2004216821.tif 000003
【図２】
2004216821.tif 000004
【図３】
2004216821.tif 000005
【図４】
2004216821.tif 000006
【図５】
2004216821.tif 000007
【図６】
2004216821.tif 000008
【図７】
2004216821.tif 000009
【図８】
2004216821.tif 000010
【図９】
2004216821.tif 000011
【図１０】
2004216821.tif 000012
【図１１】
2004216821.tif 000013
【図１２】
2004216821.tif 000014
【図１３】
2004216821.tif 000015