(57)【要約】【課題】複数層で構成される画像を描画する際に、描画コマンド単位で各版の描画が必要であるかを判断することにより、必要でない版に対して描画を行なわずに、高速の描画処理を実現すること。【解決手段】ページ記述言語を解析し、中間言語を生成するＣＰＵ１０１と、この中間言語を記憶する中間言語メモリ領域１０４ｂと、中間言語を解析し、画像データを生成する描画装置１０５と、生成された画像データを記憶する符号ページメモリ領域１０４ｄと、描画領域に以前に描画した画像データが存在するかを判定する描画領域判定手段（不図示）と、描画領域判定手段により描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない描画判定手段（不図示）と、を備える。【選択図】        図４
2005305873.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、
前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、
前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、
前記画像データ生成手段で生成された画像データを記憶する画像データ記憶手段と、
描画領域に以前に描画した画像データが存在するかを判定する描画領域判定手段と、
前記描画領域判定手段により描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない描画判定手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記描画領域判定手段は、描画した画像データの領域を示すマスクデータ記憶手段を備えたことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記描画領域判定手段は、さらに、前記マスクデータ記憶手段へ記憶させるための画像データの領域を示すマスクデータを生成するマスクデータ生成手段を備えたことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記画像データ生成手段は、さらに、前記マスクデータ生成手段へ水平ラインごとのパラメータを送るために描画コマンドから水平ラインパラメータへ変換する水平ライン分解手段を備えたことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記画像データ生成手段は、さらに、前記水平ライン分解手段により生成された水平ラインパラメータにより水平ラインを描画する水平ライン描画手段を備えたことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記マスクデータ生成手段は、水平ラインのＸ始点値、Ｘ終点値を量子化する量子化手段を備えたことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
ページ記述言語を解析し、中間言語を生成する中間言語生成工程と、
前記中間言語生成工程により生成された中間言語を記憶する中間言語記憶工程と、
前記中間言語記憶工程で記憶された中間言語を解析し、画像データを生成する画像データ生成工程と、
前記画像データ生成工程で生成された画像データを記憶する画像データ記憶工程と、
描画領域に以前に描画した画像データが存在するかを判定する描画領域判定工程と、
前記描画領域判定工程により描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない描画判定工程と、
を含むことを特徴とする画像処理方法。
【請求項８】
ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、
前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、
前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、
前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、  前記中間言語記憶手段に記憶された中間言語を読み込み水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、
前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータの描画処理を行なう水平ライン描画処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項９】
ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、
前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、
前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、
前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、
前記中間言語記憶手段に記憶された中間言語を読み込み水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、
前記水平ラインパラメータ記憶手段の水平ライン描画パラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定手段と、
前記領域判定手段により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納する入力画像キャッシュと、
前記入力画像キャッシュのソース画像と前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータとの論理演算を行ない、描画処理を行なう水平ライン描画処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項１０】
ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、
前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、
前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、
前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、  前記中間言語記憶手段に記憶された水平ライン描画コマンドの同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割する水平ライン分割手段と、
前記水平ライン分割手段により分割された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、
前記水平ライン分割手段で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定手段と、
前記領域判定手段により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納する入力画像キャッシュと、
前記入力画像キャッシュのソース画像と前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータとの論理演算を行ない、描画処理を行なう水平ライン描画処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項１１】
ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、
前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、
前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、
前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、
水平ライン描画コマンドを選択する水平ライン描画コマンド選択手段と、
前記水平ライン描画コマンド選択手段により選択された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、
前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータの描画処理を行なう水平ライン描画処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項１２】
ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、
前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、
前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、
前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、
前記画像データ生成手段から水平ライン描画コマンドを選択する水平ライン描画コマンド選択手段と、
前記水平ライン描画コマンド選択手段により選択された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、
前記水平ラインパラメータ記憶手段に記憶されている水平ライン描画パラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定手段と、
前記領域判定手段により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納する入力画像キャッシュと、
前記入力画像キャッシュのソース画像と前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータとの論理演算を行ない、描画処理を行なう水平ライン描画処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項１３】
ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、
前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、
前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、
前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、
前記画像データ生成手段から水平ライン描画コマンドを選択する水平ライン描画コマンド選択手段と、
前記水平ライン描画コマンド選択手段により選択された同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割する水平ライン分割手段と、
前記水平ライン分割手段により分割された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、
前記水平ライン分割手段で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定手段と、
前記領域判定手段により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納する入力画像キャッシュと、
前記入力画像キャッシュのソース画像と前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータとの論理演算を行ない、描画処理を行なう水平ライン描画処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項１４】
ページ記述言語を解析し、中間言語を生成する中間言語生成工程と、
前記中間言語生成工程により生成された中間言語を記憶する中間言語記憶工程と、
前記中間言語記憶工程に記憶された中間言語を解析し、画像データを生成する画像データ生成工程と、
前記画像データ生成工程により生成された画像データを記憶する画像データ記憶工程と、  前記中間言語記憶工程に記憶された水平ライン描画コマンドの同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割する水平ライン分割工程と、
前記水平ライン分割工程により分割された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶工程と、
前記水平ライン分割工程で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定工程と、
前記領域判定工程により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納するソース画像格納工程と、
前記ソース画像格納工程のソース画像と前記水平ライン分割工程で求めた水平ライン描画パラメータとの論理演算を行ない、描画処理を実行する平ライン描画処理工程と、
を含むことを特徴とする画像処理方法。
【請求項１５】
請求項７または１４に記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル複写機やプリンタなどの画像形成装置に搭載可能な画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
従来、プリンタはネットワーク上のＰＣ（パーソナルコンピュータ）などから受け取ったＰＤＬ（ページ記述言語）をバンド単位に多値ＲＧＢデータで描画し、多値画像の圧縮アルゴリズム（ＪＰＥＧなど）にしたがって符号化し、その符号をメモリに格納し、その後、プリント出力時に、各版ごと遅延させて、メモリから符号データを読み込み、さらに上記の圧縮アルゴリズムに基づいてＲＧＢデータに復号化し、その後、色変換処理によりＣＭＹＫデータに変換後、階調処理により、２値、４値、８値などに変換し、さらに階調処理後のＣ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）の各版に対応するデータのみを各色の作像を行なうプリンタエンジンに転送し、各版専用の復号化装置と各版専用の画像処理装置を有することでカラープリント出力を実現していた。なお、ＰＤＬは、ｐａｇｅ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅの略であり、ページプリンタにおいて、ページイメージを作成するためのプリンタ制御コード（言語）である。また、単純な文字印刷のほかに図形描画などの機能を拡張している場合が多い。ページ記述言語の代表例としては、ＰｏｓｔＳｃｒｉｐｔ，ＨＰ-ＰＣＬ，ＬＩＰＳ，ＥＳＣ／ｐａｇｅ，ＰＲＥＳＣＲＩＢＥなどがある。
【０００３】
上記圧縮方式としては、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）などの直交変換によって画像データを周波数成分に変換し、その変換係数を量子化する方式があり、特にＤＣＴを使用した多値画像を符号化する方式として、ＩＴＵ−ＴとＩＳＯによるカラー静止画像の符号化標準であるＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式が知られている。このＪＰＥＧのＤＣＴ演算式を数１に示す。
【０００４】
【数１】
2005305873.tif 000003
【０００５】
また、従来、プリンタにおいては、ネットワーク上のＰＣ（パーソナルコンピュータ）からのＰＤＬ（ページ記述言語）を受け取り、ＰＤＬのグラフィックスや、文字画像は水平ラインの開始Ｘ値、終点Ｘ値の描画単位に分解し、これをバンドメモリへ描画処理することが知られている。このプリンタの画像処理を行なうプリンタコントローラの描画処理は、ＣＭＹＫの各版の色レベルが０であってもその版の描画を行なっていた。それは、描画領域に既に描画されたデータの上に"０"を描画するためである。
【０００６】
また、図７に示すようにプリンタの描画は幾層かに分かれているが、通常は下位段の描画から順番に行ない、下位の描画データと論理演算を行なっていく。また、従来、上位から描画していき、すでに描画された領域には描画しないようにして最低限の描画処理のみ行なうようにして高速化を図る方法も知られている。この場合、論理演算処理を行わない場合はよいが、論理演算を行なう場合は、やはり下位階層から描画する必要があるため、システムが複雑になる。
【０００７】
また、従来、中間コードレベルでバンド単位にＣＭＹＫ版のバンドの中で何も描画されないプレーンを見つけ出し、描画処理、符号化処理の工程を実行しないように制御することにより高速化を図っている（たとえば、特許文献１参照）。
【０００８】
ところで、従来、図３０に示すように細かな文字などのグラフィックス描画を行なう場合、同じメモリバウンダリ内に複数の水平ライン描画を行なうために同じワードのデータを細かく読み込み、細かく書き込む処理を行わなければならない。このために細かなメモリアクセスとそのメモリアクセスのアイドルタイムなどを加えると少ない描画面積であっても多くの時間を費やしていた。
【０００９】
これを解決する方法として、画像処理や、圧縮処理などの高速化のためにデータキャッシュのプリフェッチ時にプリフェッチ効果算出手段によりその効果を算出し、効果が高い場合にプリフェッチを行なうようにし、データキャッシュのヒット率を上げて高速化を図っている（たとえば、特許文献２参照）。
【００１０】
また、ＢＩＴＢＬＴや、グラフィックス描画などの高速化を行なうためにビットマップメモリよりも、高速なＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ；記憶保持動作が不要な随時書き込み読み出しメモリ）を描画装置内に設け、複数の細かな描画処理を内蔵されたＳＲＡＭへ描画し展開後に、ビットマップメモリへ論理演算し、描画する方式が開示されている（たとえば、特許文献３参照）。
【００１１】
【特許文献１】特開平１０−８６４５１号公報
【特許文献２】特開２００１―３３１７９３号公報
【特許文献３】特開２００２−３６１９４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記に示されるような従来の技術にあっては下記のような問題点があった。まず、特許文献１の方式は、バンド単位に描画するかを判断するために、１バンドにまったく描画しない場合はよいものの、少しでも描画するとこの高速化の手法は使用できなくなる。
【００１３】
前記のように従来、図３０に示すように細かな文字などのグラフィックス描画を行なう場合、同じメモリバウンダリ内に複数の水平ライン描画を行なうために同じワードのデータを細かく読み込み、細かく書き込む処理を行わなければならない。このために細かなメモリアクセスとそのメモリアクセスのアイドルタイムなどを加えると少ない描画面積に対して多くの時間を費やしていた。
【００１４】
また、特許文献２ではプリフェッチ効果算出手段を使用し、データキャッシュのヒット率を上げているが、描画処理においては同じ画像領域のリードの確率が低いためにデータキャッシュによる高速化は困難であった。
【００１５】
また、特許文献３では、描画装置に高速なＳＲＡＭを内蔵し、ＳＲＡＭへ展開した後にビットマップメモリへ展開している。この方法はデータキャッシュと異なり、ビットマップメモリへ描画する大きさがわかるために効率よく、ビットマップメモリへＲｅａｄ／Ｍｏｄｉｆｙ／Ｗｒｉｔｅを繰り返すことができる。しかし、内蔵ＳＲＡＭへの描画とビットマップメモリへの描画と２回の描画処理を繰り返してしまうためにアイドルタイムが発生してしまう。また、そのアイドルタイムを少なくするためにパイプライン処理を行なうことが考えられるが、内蔵ＳＲＡＭのパイプラインを考える場合、ＳＲＡＭを最低限トグルで持つ必要があるため、ゲート数の増大化を招来させたり、あるいは１つのＳＲＡＭの画像サイズを小さくするかの方法をとらなくてはならない。また、ＳＲＡＭの画像サイズを小さくした場合、その高速化の効果も小さくなってしまう。
【００１６】
本発明は、上記に鑑みてなされたものであって、複数層で構成される画像を描画する際に、描画コマンド単位で各版の描画が必要であるかを判断することにより、必要でない版に対して描画を行なわずに、高速の描画処理を実現することを第１の目的とする。
【００１７】
また、本発明は、細かなグラフィック描画を行なう際に、ＳＲＡＭのサイズを小さくし、かつ、２度の描画処理を不要にすることにより、高速な描画処理を実現することを第２の目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、前記画像データ生成手段で生成された画像データを記憶する画像データ記憶手段と、描画領域に以前に描画した画像データが存在するかを判定する描画領域判定手段と、前記描画領域判定手段により描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない描画判定手段と、を備えたことを特徴とする。
【００１９】
この請求項１にかかる発明によれば、描画領域に以前に描画した画像データが存在するかを判定し、描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない制御処理を実行することにより、高速の描画処理を行なう装置が実現可能になる。
【００２０】
また、請求項２にかかる発明は、前記描画領域判定手段は、描画した画像データの領域を示すマスクデータ記憶手段を備えたことを特徴とする。
【００２１】
この請求項２にかかる発明によれば、請求項１において、描画領域判定手段が描画した画像データの領域を示すマスクデータ記憶手段を備えることにより、描画領域に描画されたデータがあるかを判定するために描画した領域を示すマスクデータを順次記憶していき、描画する領域に、マスクデータがあるかを判定することが可能になる。
【００２２】
また、請求項３にかかる発明は、前記描画領域判定手段は、さらに、前記マスクデータ記憶手段へ記憶させるための画像データの領域を示すマスクデータを生成するマスクデータ生成手段を備えたことを特徴とする。
【００２３】
この請求項３にかかる発明によれば、請求項２において、マスクデータ生成手段が、マスクデータ記憶手段へ記憶させるための画像データの領域を示すマスクデータを生成することで、マスクデータ記憶手段へ記憶させるための画像データの描画判定が可能になる。
【００２４】
また、請求項４にかかる発明は、前記画像データ生成手段は、さらに、前記マスクデータ生成手段へ水平ラインごとのパラメータを送るために描画コマンドから水平ラインパラメータへ変換する水平ライン分解手段を備えたことを特徴とする。
【００２５】
この請求項４にかかる発明によれば、請求項３において、水平ライン分解手段が、描画コマンドから水平ラインパラメータへ変換し、マスクデータ生成手段へ水平ラインごとのパラメータを送ることにより、水平ライン単位での描画判定が可能になる。
【００２６】
また、請求項５にかかる発明は、前記画像データ生成手段は、さらに、前記水平ライン分解手段により生成された水平ラインパラメータにより水平ラインを描画する水平ライン描画手段を備えたことを特徴とする。
【００２７】
この請求項５にかかる発明によれば、請求項４において、水平ライン描画手段が、水平ライン分解手段により生成された水平ラインパラメータにより水平ラインを描画することで、その水平ラインパラメータを各版の画像データを処理する後段の各手段に転送することが可能になる。
【００２８】
また、請求項６にかかる発明は、前記マスクデータ生成手段は、水平ラインのＸ始点値、Ｘ終点値を量子化する量子化手段を備えたことを特徴とする。
【００２９】
この請求項６にかかる発明によれば、請求項３において、量子化手段が、水平ラインのＸ始点値、Ｘ終点値を量子化することにより、量子化後の描画マスクデータの生成が可能になる。
【００３０】
また、請求項７にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成工程と、前記中間言語生成工程により生成された中間言語を記憶する中間言語記憶工程と、前記中間言語記憶工程で記憶された中間言語を解析し、画像データを生成する画像データ生成工程と、前記画像データ生成工程で生成された画像データを記憶する画像データ記憶工程と、描画領域に以前に描画した画像データが存在するかを判定する描画領域判定工程と、前記描画領域判定工程により描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない描画判定工程と、を含むことを特徴とする。
【００３１】
この請求項７にかかる発明によれば、描画領域に以前に描画した画像データが存在するかを判定し、描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない制御処理を実行することにより、高速の描画処理を行なう方法が実現可能になる。
【００３２】
また、請求項８にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、前記中間言語記憶手段に記憶された中間言語を読み込み水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータの描画処理を行なう水平ライン描画処理手段と、を備えたことを特徴とする。
【００３３】
この請求項８にかかる発明によれば、中間言語を解析し、画像データを生成して記憶し、この記憶された中間言語を読み込んで水平ラインパラメータ記憶手段に水平ライン描画パラメータを記憶し、記憶された水平ライン描画パラメータの描画処理を行なうことにより、当該水平ラインにかかる画像領域のみを読み込んで描画処理を行なうことが可能になる。
【００３４】
また、請求項９にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、前記中間言語記憶手段に記憶された中間言語を読み込み水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、前記水平ラインパラメータ記憶手段の水平ライン描画パラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定手段と、前記領域判定手段により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納する入力画像キャッシュと、前記入力画像キャッシュのソース画像と前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータとの論理演算を行ない、描画処理を行なう水平ライン描画処理手段と、を備えたことを特徴とする。
【００３５】
この請求項９にかかる発明によれば、描画領域の近い複数の水平ラインの描画情報を水平ライン描画パラメータで記憶し、その複数の水平ラインの左端Ｘ値と右端Ｘ値を求め、その領域のみ読み込んで描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなる処理装置が実現する。
【００３６】
また、請求項１０にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、前記中間言語記憶手段に記憶された水平ライン描画コマンドの同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割する水平ライン分割手段と、前記水平ライン分割手段により分割された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、前記水平ライン分割手段で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定手段と、前記領域判定手段により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納する入力画像キャッシュと、前記入力画像キャッシュのソース画像と前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータとの論理演算を行ない、描画処理を行なう水平ライン描画処理手段と、を備えたことを特徴とする。
【００３７】
この請求項１０にかかる発明によれば、中間言語記憶手段に記憶された水平ライン描画コマンドの同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割し、当該分割された同じ水平ラインの水平ライン描画パラメータを記憶し、記水平ライン分割手段で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求め、この左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納し、水平ライン分割手段で求めた水平ライン描画パラメータの描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなる。
【００３８】
また、請求項１１にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、水平ライン描画コマンドを選択する水平ライン描画コマンド選択手段と、前記水平ライン描画コマンド選択手段により選択された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータの描画処理を行なう水平ライン描画処理手段と、を備えたことを特徴とする。
【００３９】
この請求項１１にかかる発明によれば、水平ライン描画コマンドを選択し、この選択された同じ水平ラインの水平ライン描画パラメータを記憶し、その記憶された水平ライン描画パラメータの描画処理を行なうことにより、同じ水平ラインにかかる画像領域のみを読み込んで描画処理を行なうことが可能になる。
【００４０】
また、請求項１２にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、前記画像データ生成手段から水平ライン描画コマンドを選択する水平ライン描画コマンド選択手段と、前記水平ライン描画コマンド選択手段により選択された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、前記水平ラインパラメータ記憶手段に記憶されている水平ライン描画パラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定手段と、前記領域判定手段により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納する入力画像キャッシュと、前記入力画像キャッシュのソース画像と前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータとの論理演算を行ない、描画処理を行なう水平ライン描画処理手段と、を備えたことを特徴とする。
【００４１】
この請求項１２にかかる発明によれば、水平ライン描画コマンド選択手段により選択された同じ水平ラインの水平ライン描画パラメータを記憶し、この記憶されている水平ライン描画パラメータの最も左端のＸ値と最も右端のＸ値を求め、この左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納し、水平ラインパラメータ記憶手段に記憶されている水平ライン描画パラメータの描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなる。
【００４２】
また、請求項１３にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成手段と、前記中間言語生成手段により生成された中間言語を記憶する中間言語記憶手段と、前記中間言語記憶手段に記憶された中間言語を解析し、画像データを生成する画像データ生成手段と、前記画像データ生成手段により生成された画像データを記憶する画像データ記憶手段と、前記画像データ生成手段から水平ライン描画コマンドを選択する水平ライン描画コマンド選択手段と、前記水平ライン描画コマンド選択手段により選択された同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割する水平ライン分割手段と、前記水平ライン分割手段により分割された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶手段と、前記水平ライン分割手段で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定手段と、前記領域判定手段により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納する入力画像キャッシュと、前記入力画像キャッシュのソース画像と前記水平ラインパラメータ記憶手段に記憶された水平ライン描画パラメータとの論理演算を行ない、描画処理を行なう水平ライン描画処理手段と、を備えたことを特徴とする。
【００４３】
この請求項１３にかかる発明によれば、水平ライン描画コマンドを選択し、この選択された同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割し、分割された同じ水平ラインの水平ライン描画パラメータを記憶し、水平ライン分割手段で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求め、この求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納し、水平ライン分割手段で求めた水平ライン描画パラメータの描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなる。
【００４４】
また、請求項１４にかかる発明は、ページ記述言語を解析し、中間言語を生成する中間言語生成工程と、前記中間言語生成工程により生成された中間言語を記憶する中間言語記憶工程と、前記中間言語記憶工程に記憶された中間言語を解析し、画像データを生成する画像データ生成工程と、前記画像データ生成工程により生成された画像データを記憶する画像データ記憶工程と、前記中間言語記憶工程に記憶された水平ライン描画コマンドの同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割する水平ライン分割工程と、前記水平ライン分割工程により分割された同じ水平ラインの水平ライン描画パラメータを記憶する水平ラインパラメータ記憶工程と、前記水平ライン分割工程で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求める領域判定工程と、前記領域判定工程により求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納するソース画像格納工程と、前記ソース画像格納工程のソース画像と前記水平ライン分割工程で求めた水平ライン描画パラメータとの論理演算を行ない、描画処理を実行する平ライン描画処理工程と、を含むことを特徴とする。
【００４５】
この請求項１４にかかる発明によれば、描画領域の近い複数の水平ラインの描画情報を水平ライン描画パラメータで記憶し、その複数の水平ラインの左端Ｘ値と右端Ｘ値を求め、その領域のみ読み込んで描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなる処理方法が実現する。
【００４６】
また、請求項１５にかかる発明は、請求項７または１４に記載の画像処理方法を、コンピュータに実行させるプログラムを記録したことを特徴とする。
【００４７】
この請求項１５にかかる発明によれば、請求項７または１４に記載の画像処理方法を、コンピュータに実行させるプログラムをコンピュータ読み取り可能な記録媒体に記録したことにより、請求項７または１４に記載の画像処理をコンピュータ上で実行することが可能になる。
【発明の効果】
【００４８】
本発明（請求項１）にかかる画像処理装置は、描画領域に以前に描画した画像データが存在するかを判定し、描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない制御処理を実行するので、複数層で構成される画像を描画する際に、高速の描画処理を行なうことができる画像処理装置を提供することができるという効果を奏する。
【００４９】
また、本発明（請求項２）にかかる画像処理装置は、請求項１において、描画領域判定手段が描画した画像データの領域を示すマスクデータ記憶手段を備えることにより、描画領域に描画されたデータがあるかを判定するために描画した領域を示すマスクデータを順次記憶していき、描画する領域に、マスクデータがあるかを判定することが可能になるため、高速の描画処理を行なうことができるという効果を奏する。
【００５０】
また、本発明（請求項３）にかかる画像処理装置は、請求項２において、マスクデータ生成手段が、マスクデータ記憶手段へ記憶させるための画像データの領域を示すマスクデータを生成することで、マスクデータ記憶手段へ記憶させるための画像データの描画判定が可能になるので、高速の描画処理を行なうことができるという効果を奏する。
【００５１】
また、本発明（請求項４）にかかる画像処理装置は、請求項３において、水平ライン分解手段が、描画コマンドから水平ラインパラメータへ変換し、マスクデータ生成手段へ水平ラインごとのパラメータを送ることにより、水平ライン単位での描画判定が可能になるので、高速の描画処理を行なうことができるという効果を奏する。
【００５２】
また、本発明（請求項５）にかかる画像処理装置は、請求項４において、水平ライン描画手段が、水平ライン分解手段により生成された水平ラインパラメータにより水平ラインを描画することで、その水平ラインパラメータを各版の画像データを処理する後段の各手段に転送することが可能になるため、複数層で構成される画像を描画する際に、高速の描画処理を行なうことができるという効果を奏する。
【００５３】
また、本発明（請求項６）にかかる画像処理装置は、請求項３において、量子化手段が、水平ラインのＸ始点値、Ｘ終点値を量子化することにより、量子化後の描画マスクデータの生成が可能になるため、高速の描画処理を行なうことができるという効果を奏する。
【００５４】
また、本発明（請求項７）にかかる画像処理方法は、描画領域に以前に描画した画像データが存在するかを判定し、描画領域に以前に描画した画像がなく、描画する各版の色レベルがバンドをクリアした値と同じである場合に当該版の描画処理を行わない制御処理を実行するので、複数層で構成される画像を描画する際に、高速の描画処理を行なうことができる画像処理方法を提供することができるという効果を奏する。
【００５５】
また、本発明（請求項８）にかかる画像処理装置は、中間言語を解析し、画像データを生成して記憶し、この記憶された中間言語を読み込んで水平ラインパラメータ記憶手段に水平ライン描画パラメータを記憶し、記憶された水平ライン描画パラメータの描画処理を行なうことにより、当該水平ラインにかかる画像領域のみを読み込んで描画処理を行なうことが可能になるため、細かなグラフィック描画を行なう際に、ＳＲＡＭのサイズが小さなり、かつ、高速な描画処理を行なう画像処理装置を提供することができるという効果を奏する。
【００５６】
また、本発明（請求項９）にかかる画像処理装置は、描画領域の近い複数の水平ラインの描画情報を水平ライン描画パラメータで記憶し、その複数の水平ラインの左端Ｘ値と右端Ｘ値を求め、その領域のみ読み込んで描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなるため、高速な描画処理を行なう画像処理装置を提供することができるという効果を奏する。
【００５７】
また、本発明（請求項１０）にかかる画像処理装置は、中間言語記憶手段に記憶された水平ライン描画コマンドの同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割し、当該分割された同じ水平ラインの水平ライン描画パラメータを記憶し、記水平ライン分割手段で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求め、この左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納し、水平ライン分割手段で求めた水平ライン描画パラメータの描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなるため、高速な描画処理装置を提供することができるという効果を奏する。
【００５８】
また、本発明（請求項１１）にかかる画像処理装置は、水平ライン描画コマンドを選択し、この選択された同じ水平ラインの水平ライン描画パラメータを記憶し、その記憶された水平ライン描画パラメータの描画処理を行なうことにより、同じ水平ラインにかかる画像領域のみを読み込んで描画処理を行なうことが可能になるため、高速な描画処理装置を提供することができるという効果を奏する。
【００５９】
また、本発明（請求項１２）にかかる画像処理装置は、水平ライン描画コマンド選択手段により選択された同じ水平ラインの水平ライン描画パラメータを記憶し、この記憶されている水平ライン描画パラメータの最も左端のＸ値と最も右端のＸ値を求め、この左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納し、水平ラインパラメータ記憶手段に記憶されている水平ライン描画パラメータの描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなるため、高速な描画処理装置を提供することができるという効果を奏する。
【００６０】
また、本発明（請求項１３）にかかる画像処理装置は、水平ライン描画コマンドを選択し、この選択された同じ水平ラインの水平ライン描画パラメータを読み込み、あまり離れていない水平ラインごとに分割し、分割された同じ水平ラインの水平ライン描画パラメータを記憶し、水平ライン分割手段で求めたパラメータの最も左端のＸ値と最も右端のＸ値を求め、この求めた左端Ｘ値から右端Ｘ値までのソース画像を読み込み格納し、水平ライン分割手段で求めた水平ライン描画パラメータの描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなるため、高速な描画処理装置を提供することができるという効果を奏する。
【００６１】
また、本発明（請求項１４）にかかる画像処理方法は、描画領域の近い複数の水平ラインの描画情報を水平ライン描画パラメータで記憶し、その複数の水平ラインの左端Ｘ値と右端Ｘ値を求め、その領域のみ読み込んで描画処理を行なうことにより、ＳＲＡＭサイズ（キャッシュサイズ）が小さくなり、かつ２度の描画処理を行なう必要がなくなるため、高速な描画処理を行なう画像処理方法を提供することができるという効果を奏する。
【００６２】
また、本発明（請求項１５）にかかるコンピュータ読み取り可能な記録媒体は、請求項７または１４に記載の画像処理方法を、コンピュータに実行させるプログラムをコンピュータ読み取り可能な記録媒体に記録することにより、請求項７または１４に記載の画像処理をコンピュータ上で実行することができるという効果を奏する。
【発明を実施するための最良の形態】
【００６３】
以下に添付図面を参照して、この発明にかかる画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の最良な実施の形態を詳細に説明する。
【００６４】
（第１の実施の形態）
本発明におけるこの第１の実施の形態は、ラインや三角形、四角形などの描画コマンドレベルで描画するか否かを判断することにより、常に高速処理を行なうことを可能とするものである。すなわち、複数層で構成される画像を描画する際に、バンドメモリのピクセルとマスクメモリのＢＩＴの対応を多対１にすることにより、マスクメモリの容量を低減させるものである。以下、第１の実施の形態で詳細に説明する。
【００６５】
まず、本発明による画像処理装置が搭載される画像形成装置（プリンタ）の構成および動作について説明する。図１は、本発明の実施の形態にかかる画像形成装置の機構部の構成例を示す説明図である。以下、図１の画像形成装置をカラープリンタと記述する。なお、この実施の形態ではレーザーカラープリンタを例にとるが、インクジェットプリンタなど他のカラープリンタであってもよい。
【００６６】
この図１に示すカラープリンタ１００は、レーザー光書込みおよび電子写真プロセスにしたがい、４色（Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、Ｋ（ブラック））の画像をそれぞれ独立に配置された作像系１Ｙ、１Ｍ、１Ｃ、１Ｋで形成し、この４色の画像を記録紙に順次重ね合わせて転写し合成する４ドラムタンデムエンジンタイプの画像形成装置である。
【００６７】
各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは、像担持体としての感光体、たとえば小径のＯＰＣ（有機感光体）ドラム２Ｙ、２Ｍ、２Ｃ、２Ｋを有し、このＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋを取り囲むように作像の上流側から帯電手段としての帯電ローラ３Ｙ、３Ｍ、３Ｃ、３Ｋと、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上の静電潜像をそれぞれ現像剤で現像してＹ、Ｍ、Ｃ、Ｋ各色のトナー像とする現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋと、クリーニング装置５Ｙ、５Ｍ、５Ｃ、５Ｋと、除電装置６Ｙ、６Ｍ、６Ｃ、６Ｋなどが配置されている。
【００６８】
各現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋの脇には、Ｙトナー、Ｍトナー、Ｃトナー、Ｋトナーをそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋへ所定の色のトナーを補給するトナーボトルユニット７Ｙ、７Ｍ、７Ｃ、７Ｋが配置されている。また、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋはそれぞれ独立に配置されたレーザーによる光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが配置され、この光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋはレーザー光源としてのレーザーダイオード（ＬＤ）光源９Ｙ、９Ｍ、９Ｃ、９Ｋや、コリメートレインズ１０Ｙ、１０Ｍ、１０Ｃ、１０Ｋ、ｆθレンズ１１Ｙ、１１Ｍ、１１Ｃ、１１Ｋ、といった光学部品、偏向走査手段としてのポリゴンミラー１２Ｙ、１２Ｍ、１２Ｃ、１２Ｋ、折り返しミラー１３Ｙ、１３Ｍ、１３Ｃ、１３Ｋ、１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋなどを有する。
【００６９】
各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは垂直に配列され、その右側には転写ベルトユニット１５がＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋに接する形で配置される。転写ベルトユニット１５は、転写ベルト１６がローラ１７〜２０に張架されて駆動源（不図示）により回転駆動される。装置下側には転写材としての記録紙が収納された給紙トレイ２１が配置され、装置上部に熱定着ローラと加圧ローラを有する定着装置２２、排紙ローラ２３および排紙トレイ２４が配設されている。
【００７０】
作像時には、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋにおいて、それぞれ、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋが駆動源(不図示)により回転駆動され、帯電ローラ３Ｙ、３Ｍ、３Ｃ、３ＫによりＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋが一様に帯電されて光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが各色の画像データに基づきレーザーダイオードを変調し、そのレーザー光を偏向走査してＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋに光書込みを行なうことによって、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上に静電潜像が形成される。
【００７１】
このＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上の静電潜像はそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋにより現像されてＹ、Ｍ、Ｃ、Ｋ各色のトナー像となり、一方、給紙トレイ２１から給紙ローラ２５により転写紙が水平方向に給紙されて搬送系により作像系１Ｙ、１Ｍ、１Ｃ、１Ｋ方向へ垂直に搬送される。この記録紙は、転写ベルト１６に静電的に吸着保持されて転写ベルト１６により搬送され、転写バイアス印加手段（不図示）により転写バイアスが印加されてＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上のＹ、Ｍ、Ｃ、Ｋ各色のトナー像を順次に重ねて合わせて記録紙に転写することでフルカラー画像が記録紙上に形成される。このフルカラー画像が形成された記録紙は、定着装置２２によりフルカラーのトナー画像が熱および圧力の作用によって定着されて排紙ローラ２３により排紙トレイ２４へ排出される。なお、上述した各機能要素を駆動制御し、また各種の画像処理などを実行する電装・制御装置２６が搭載されている。
【００７２】
つぎに、以上のように構成されたカラープリンタにおける画像処理装置の詳細な構成および動作について説明する。図２は、図１におけるカラープリンタの電装・制御装置２６の構成を示すブロック図である。この電装・制御装置２６は、カラープリンタ（プリンタエンジン）の全体の制御を行なうＣＰＵ１０１、メモリコントローラ１０３に接続され、ＣＰＵ１０１とメモリコントローラ１０３間のインターフェイス制御を実行するＣＰＵＩ／Ｆ１０２、メインメモリ１０４を制御し、ＣＰＵ１０１のローカルバス、復号化装置、符号化装置、描画装置、通信処理装置などとメインメモリ１０４との転送を制御するメモリコントローラ１０３、ＣＰＵ１０１からの画像やＣＰＵ１０１のプログラムやバンドデータや、ページの圧縮データなどの各種データなどを格納するメインメモリ１０４、ＣＰＵ１０１から描画コマンドを受け取りメインメモリ１０４のバンドを描画する描画装置１０５、メインメモリ１０４のバンドを符号化し、メインメモリ１０４の符号ページメモリ領域へ符号データを送る符号化装置１０６、符号化装置１０６により符号化された符号を受け取り、復号化し、エンジンコントローラへ転送する復号化装置１０７、復号化装置１０７で復号された画像データを受けとり色変換、階調処理などの画像処理を行ない、エンジンコントローラ１０９へ転送する画像処理装置１０８、画像処理装置１０８から画像を受け取り、プリンタエンジンへ転送するエンジンコントローラ１０９、プリンタエンジン１１０、ネットワーク５０によりＰＣからのＰＤＬを受け取りメインメモリ１０４へ転送する通信処理装置１１５、ＲＯＭ、パネルコントローラなどとＣＰＵ１０１、メインメモリ１０４などとインターフェイス制御を実行するローカルバスＩ／Ｆ１１１、文字などのフォント情報やＣＰＵ１０１のプログラムなどを格納するＲＯＭ１１２、オペレーション用のパネル１１５を制御するパネルコントローラ１１４、ユーザーからの操作をプリンタへ知らせるパネル１１５、ＰＤＬ（ページ記述言語）を生成し、ネットワーク５０をかいしてカラープリンタへ転送するＰＣ（パーソナルコンピュータ）２００を備えている。
【００７３】
ネットワーク５０は、公衆回線や専用回線を経由して外部と接続するＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：広域通信網）と、同一敷地内でネットークを構築するＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：構内通信網）に分類される方式、あるいは、そのいずれの方式であってもよい。また、インターネット機能を備える場合、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｏｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）であってもよい。さらには、無線ＬＡＮによる接続であってももちろんよい。
【００７４】
図３は、本発明の第１の実施の形態にかかる画像処理の流れを示すブロック図である。この図において、ＰＣ２００は、ＰＤＬ（ページ記述言語）を生成してネットワーク５０をかいしてプリンタへ転送する。通信処理装置１１５は、ＰＣ２００からのＰＤＬを受け取りメインメモリ１０４へ転送する。メインメモリ１０４は、通信処理装置１１５からのＰＤＬデータをＰＤＬメモリ領域１０４ａに記憶する。ＣＰＵ１０１は、メインメモリ１０４のＰＤＬを解析して中間言語を生成し、メインメモリ１０４へ転送する。メインメモリ１０４は、ＣＰＵ１０１により生成された中間言語を中間言語メモリ領域１０４ｂに記憶する。描画装置１０５は、メインメモリ１０４の中間言語メモリ領域１０４ｂに記憶された中間言語を受け取り、メインメモリ１０４のバンドメモリ格納領域１０４ｃへバンドを描画する。メインメモリ１０４は、描画装置１０５により描画されたバンドデータを記憶する。符号化装置１０６は、メインメモリ１０４のバンドメモリ領域１０４ｃのバンドデータを読み込んで符号化し、メインメモリ１０４の符号ページメモリ領域１０４ｄへ符号を送る。メインメモリ１０４は、符号化装置１０６から符号を受け取り記憶する。復号化装置１０６は、メインメモリ１０４に記憶されたバンドごとの符号からなる１ページ分の符号を読み込んで復号化し、画像処理装置１０８へ転送する。画像処理装置１０８は受け取ったデータに画像処理を施しエンジンコントローラへ転送する。エンジンコントローラを介してプリンタエンジンでプリント出力を行なう。
【００７５】
図４は、本発明の第１の実施の形態にかかる画像処理の概念を示すブロック図である。この図において、ＰＣ２００は、ＰＤＬ（ページ記述言語）を生成し、ネットワーク５０をかいしてプリンタへ転送する。プリンタの通信処理装置１１５は、ＰＣ２００からのＰＤＬを受け取り4)のメインメモリ１０４のＰＤＬメモリ領域１０４ａへ格納する。メインメモリ１０４は、ＰＤＬや中間言語やバンドデータやページ符号やプログラムや各種のワークデータなどを記憶する。ＣＰＵ１０１は、ＰＣ２００からのＰＤＬを解析し、中間言語を生成する。描画装置１０５は、メインメモリ１０４の中間言語を読み込みメインメモリ１０４のバンドメモリ領域１０４ｃへバンドを描画する。符号化装置１０６は、メインメモリ１０４のバンドメモリ領域１０４ｃへバンドを読み込んで符号化し、メインメモリ１０４の符号ページメモリ領域１０４ｄへ符号を書き込む。復号化装置１０７は、プリンタエンジン１０９に同期してメインメモリ１０４の符号ページメモリ領域１０４ｄの符号を復号し、画像処理装置１０８へ転送する。画像処理装置１０８は、復号化装置１０７からの画像データを受け取って画像処理を行ないエンジンコントローラ１０９へ転送する。エンジンコントローラ１０９は、画像処理装置１０８から受け取った画像処理後の画像データをプリンタエンジン１１０へ転送する。プリンタエンジン１１０はこの画像データにしたがって記録紙に画像を形成する。
【００７６】
図５は、図２におけるメインメモリ１０４のフォーマット例を示す説明図である。ＰＤＬメモリ領域１０４ａには、ＰＣ２００からのＰＤＬ（ページ記述言語）を格納する。中間言語メモリ領域１０４ｂには、ＣＰＵ１０１により生成された中間言語を格納する。バンドメモリ領域１０４ｃは、バンドデータを格納する。符号ページメモリ領域１０４ｄは、符号化された１ページ分のバンドの符号データを複数ページ分格納する領域である。プログラム領域１０４ｐには、ＣＰＵのプログラムを格納する。ワーク領域１０４ｗには、ＣＰＵ１０１などの処理の中間結果を格納する。
【００７７】
図６は、図５におけるバンドメモリ領域１０４ｃの内部フォ−マット例を示す説明図であり、Ｃ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），Ｋ（ブロック）版の各ブレーンデータをそれぞれの領域に分けて格納するように構成する。
【００７８】
図７は、プリントデータの階層例を示す説明図である。この例では、出力対象の画像データを、最上段画像１２１、中段画像１２２、最下段画像１２３の画像順番に重ね論理演算し、最終的な画像１２４を出力するものである。このようにプリンタデータは階層を有して、下位の描画されたデータに対して論理演算を行ない描画していく。
【００７９】
つぎに、以上述べた画像処理における各機能要素の詳細な構成および動作について説明する。図８は、図２における描画装置１０５ａの詳細構成を示すブロック図である。この描画装置１０５ａは、メモリコントローラＩ／Ｆ１２５、描画コマンド解析装置１２６、描画処理装置１２７、マスクメモリ１２８、パラメータ記憶装置１２９、コントローラ１
３０を備えている。
【００８０】
メモリコントローラＩ／Ｆ１２５は、メモリコントローラ１０３とのインターフェイス制御を実行する。描画コマンド解析装置１２６は、メインメモリ１０４の中間言語メモリ領域１０４ｂから中間言語を読み込んで描画コマンドを解析し、描画処理装置１２７へ描画コマンドを転送する。描画処理装置１２７は、描画コマンド解析装置１２６からの描画コマンドを読み込み、メインメモリ１０４のバンドメモリ領域１０４ａへ描画を行なう。また、このとき、描画する領域にすでに描画したデータがあるかを判断するために、描画する領域のマスクデータをマスクメモリ１２８から読み込み、次の描画判定のために描画する領域のマスクデータをマスクメモリ１２８へ書き込む。マスクメモリ１２８は、すでに描画された領域を記憶している。パラメータ記憶装置１２９は、この描画装置１０５ａが必要なパラメータをＣＰＵ１０１から設定され、記憶している。コントローラ１３０は、この描画装置１０５ａの全体を制御する。
【００８１】
図９は、図８における描画処理装置１２７の詳細構成を示すブロック図である。この描画処理装置１２７は、水平ライン分解装置１３１、色変換処理装置１３２、ライン描画装置１３３、ＲＯＰ処理装置１３４、パラメータ記憶装置１３５、マスクデータ生成装置１３６、ＣＭＹＫ描画判定装置１３７、コントローラ１３８を備えている。
【００８２】
水平ライン分解装置１３１は、受け取った描画コマンドを水平ラインパラメータを変換し、ライン描画装置１３３、マスクデータ生成装置１３６、色変換処理装置１３２へ転送する。色変換処理装置１３２は、水平ライン分解装置１３１からのＲＧＢ値をＣＭＹＫ値へ色変換し、ＣＭＹＫ値をライン描画装置１３３とＣＭＹＫ描画判定装置１３７へ転送する。ライン描画装置１３３は、水平ライン分解装置１３１からの水平ラインパラメータと、ＣＭＹＫ描画判定装置１３７からＣＭＹＫ版描画判定値とを受け取り、ＣＭＹＫ版の版ごとの水平ラインを描画し、ＲＯＰ処理装置１３４へ描画データを転送する。ＲＯＰ処理装置１３４は、メインメモリ１０４のバンドメモリ領域１０４ｃから描画する領域のデータを読み込み、描画するデータと論理演算を行ない、バンドメモリ領域１０４ｃへ書き込む。パラメータ記憶装置１２７は、各処理装置が処理を行なうのに必要なパラメータを記憶する。マスクデータ生成装置１３６は、水平ライン分解装置から水平ラインパラメータを受け取りマスクメモリ１２８のアドレスと描画するマスクデータを生成する。ＣＭＹＫ描画判定装置１３７は、マスクデータ生成装置１３６から、アクセスするマスクメモリ１２８のアドレスと、書き込むマスクデータの描画マスクデータから、マスクメモリ１２８から描画する領域から、すでに書き込まれたマスクデータを読み込み、描画する領域にすでに描画されたデータがあるかを判定し、色変換処理装置１３２からＣＭＹＫ値を受け取り、各版の色レベルをチェックし、ＣＭＹＫ版描画判定値を生成し、ライン描画装置１３３へ転送する。コントローラ１３８は、この描画処理装置１２７全体を制御する。
【００８３】
図１０は、図９のように構成された描画処理装置１２７の動作処理を示すフローチャートである。この動作処理はコントローラ１３８によって実行される。この図において、まず、描画処理装置１２７は描画コマンド解析装置１２６から描画コマンドを受け取り（ステップＳ１）、水平ライン分解装置１３１は描画コマンドを受け取り水平ライン描画パラメータへ変換する（ステップＳ２）。続いて、マスクデータ生成装置１３６は、水平ライン描画パラメータから水平マスクデータを生成し（ステップＳ３）、さらに色変換処理装置１３２は、描画するＲＧＢ値からＣＭＹＫ値へ変換する（ステップＳ４）。
【００８４】
続いて、ＣＭＹＫ描画判定装置１３７は、マスクメモリ１２８から描画する領域のマスクデータを読み込み、描画マスクデータの“１”である部分に“１”がないかを判定し、描画するスキャンラインの下に、以前描画したデータがないかを判定し、描画マスクデータをマスクメモリ１２８に書き込む（ステップＳ５）。そして、以前に描画したデータがあるか否かを判断し（ステップＳ６）、以前に描画したデータがある場合には、ＣＭＹＫ描画判定装１３７はＣ，Ｍ，Ｙ，Ｋ版全ての描画判定値を“１”にし（ステップＳ７）、ステップＳ１６に進む。
【００８５】
一方、ステップＳ６において以前に描画したデータでなければ、さらにＣ版の色レベル＞０であるか否かを判断する（ステップＳ８）。ここで、Ｃ版の色レベル＞０であれば、Ｃ版描画判定値を１にする（ステップＳ９）。続いて、Ｍ版の色レベル＞０であるか否かを判断する（ステップＳ１０）。ここで、Ｍ版の色レベル＞０であれば、Ｍ版描画判定値を１にする（ステップＳ１１）。さらにＹ版の色レベル＞０であるか否かを判断する（ステップＳ１２）。ここで、Ｙ版の色レベル＞０であれば、Ｙ版描画判定値を１にする（ステップＳ１３）。続いて、Ｋ版の色レベル＞０であるか否かを判断する（ステップＳ１４）。ここで、Ｋ版の色レベル＞０であれば、Ｋ版描画判定値を１にする（ステップＳ１５）。
【００８６】
上記ステップＳ５〜ステップＳ１５のＣＭＹＫ描画判定処理を行なった後、続いて、Ｃ版の描画判定値＝１であるか否かを判断し（ステップＳ１６）、Ｃ版の描画判定値＝１であれば、Ｃプレーンの描画を行なう（ステップＳ１７）。さらにＭ版の描画判定値＝１であるか否かを判断し（ステップＳ１８）、Ｍ版の描画判定値＝１であれば、Ｍプレーンの描画を行なう（ステップＳ１９）。続いて、Ｙ版の描画判定値＝１であるか否かを判断し（ステップＳ２０）、Ｙ版の描画判定値＝１であれば、Ｙプレーンの描画を行なう（ステップＳ２１）。さらにＫ版の描画判定値＝１であるか否かを判断し（ステップＳ２２）、Ｍ版の描画判定値＝１であれば、Ｋプレーンの描画を行なう（ステップＳ２３）。上記ステップＳ１６〜ステップＳ２３がライン描画処理である。
【００８７】
図１１は、図９におけるマスクデータ生成装置１３６の詳細構成を示すブロック図である。このマスクデータ生成装置１３６は、アドレス生成装置１４０、Ｘ値量子化装置１４１、マスクパターン生成装置１４２、コントローラ１４３を備えている。
【００８８】
アドレス生成装置１４０は、水平ラインパラメータのＹ値と量子後Ｘ始点値と、パラメータ記憶装置１３５からのバンド幅値により、マスクメモリ１２８のアドレスを生成する。Ｘ値量子化装置１４１は、水平ラインパラメータのＸ始点値とＸ終点値と、パラメータ記憶装置１３５からの量子化値により、水平ラインパラメータのＸ始点値とＸ終点値を量子化し、マスクパターン生成装置１４２へ転送する。マスクパターン生成装置１４２は、Ｘ値量子化装置１４１からの量子化後のＸ始点値とＸ終点値を受け取り描画マスクデータを生成する。コントローラ１４３は、このマスクデータ生成装置１３６全体を制御する。
【００８９】
図１２は、図１１におけるマスクパターン生成装置１４２の詳細構成を示すフローチャートである。このマスクパターン生成装置１４２は、減算器１４５、レジスタ１４６、左端マスクパターン生成装置１４７、中間マスクパターン生成装置１４８、右端マスクパターン生成装置１４９、ＭＵＸ（マルチプレクサ）１５０、レジスタ１５１を備えている。
【００９０】
減算器１４５は、量子化後のＸ始点値とＸ終点値を減算し、描画マスクデータを生成する数である繰り返し数を求め、レジスタ１４６へ送る。レジスタ１４６は、減算器１４５からの繰り返し数を一時記憶する。左端マスクパターン生成装置１４７は、量子化後のＸ始点値とＸ終点値から描画する水平ラインの左端のマスクパターンを生成する。中間マスクパターン生成装置１４８は、描画する水平ラインの中間のマスクパターンを生成する。右端マスクパターン生成装置１４９は、量子化後のＸ始点値とＸ終点値から描画する水平ラインの右端のマスクパターンを生成する。ＭＵＸ１５０は、左端マスクパターン生成装置１４７、中間マスクパターン生成装置１４８、右端マスクパターン生成装置１４９のからのマスクデータをそのときの描画位置により選択し、レジスタ１５１へ転送する。レジスタ１５１は、ＭＵＸ１５０からの描画マスクデータを一時記憶する。
【００９１】
図１３は、図１１におけるアドレス生成装置１４０の詳細構成を示すブロック図である。このアドレス生成装置１４０は、乗算器１５５、Ｘ方向メモリアドレス変換装置１５６、加算器１５７、ＭＵＸ（マルチプレクサ）１５８、レジスタ１５９、加算器１６０を備えている。
【００９２】
乗算器１４０は、水平ラインパラメータのＹ値とバンド幅を乗算し、加算器１５７へ転送する。Ｘ方向メモリアドレス変換装置１５６は、量子化後のＸ始点値を読み込みマスクメモリ１２８のＸ方向のアドレス値へ変換する。加算器１５７は、乗算結果とＸ方向のアドレス値からマスクメモリの水平ラインのＸ始点のアドレスを求める。ＭＵＸ１５８は、繰り返し、水平ラインのＸ方向にアドレスをカウントアップするための選択装置である。レジスタ１５９は、求めたマスクメモリ１２８のアドレスを一時記憶する。加算器１６０は、レジスタ１５９で記憶されたマスクメモリ１２８のアドレスをカウントアップする。
【００９３】
図１９は、図９におけるＣＭＹＫ描画判定装置１３７の詳細構成を示すブロック図である。このＣＭＹＫ描画判定装置１３７は、描画領域マスク値判定装置１６１、ＯＲ装置１６２、レジスタ１６３、コントローラ１６４、レジスタ１６５を備えている。
【００９４】
描画領域マスク値判定装置１６１は、マスクデータ生成装置１３６で生成された描画マスクデータとマスクメモリ１２８から読み込まれたマスクデータを比較し、描画マスクデータが有効な部分でマスクデータが有効であるか（描画する領域にすでに描画されたデータがあるか）を判定し、コントローラ１６４へ描画判定値を送る。ＯＲ装置１６２は、描画マスクデータと読み込まれたマスクデータをＯＲ演算し、新たなマスクデータを生成し、レジスタ１６３へ転送する。レジスタ１６３は、ＯＲ装置１６２からの新たなマスクデータを一時記憶する。コントローラ１６４は、このＣＭＹＫ描画判定装置１３７の全体を制御する。レジスタ１６５は、マスクメモリ１２８のアドレスを一時記憶する。
【００９５】
つぎに、図１４〜図１８を参照し、量子化レベルとマスクメモリ１２８のフォーマットについて説明する。なお、この例ではバンドメモリ領域１０４ｃのバンド幅が“８１９２”である。図１４−１、図１４−２は、量子化値が"０"の場合であり、量子化していない状態である。そのためにマスクメモリ１２８のＢＩＴとバンドメモリ領域１０４ｃのＰＩＸＥＬが対応している。図１５−１、図１５−２は、量子化値が"１"の場合である。そのためにマスクメモリ１２８の１ＢＩＴとバンドメモリ領域１０４ｃの２ＰＩＸＥＬが対応している。このとき、対応する２ＰＩＸＥＬのうち１つのＰＩＸＥＬの画像データがあれば、マスクＢＩＴは"１"となるそのため、多少冗長となり、描画していないＰＩＸＥＬも描画していると判断してしまうが、図示するようにマスクメモリ１２８の容量（メモリ領域）は図１４の１／２となる。
【００９６】
同様に、図１６−１、図１６−２は、量子化値が"２"の場合である。そのためにマスクメモリ１２８の１ＢＩＴとバンドメモリ領域１０４ｃの４ＰＩＸＥＬが対応している。同様に、図１７−１、図１７−２は、量子化値が"３"の場合である。そのためにマスクメモリ１２８の１ＢＩＴとバンドメモリ領域１０４ｃの８ＰＩＸＥＬが対応している。同様に、図１８−１、図１８−２は、量子化値が"４"の場合である。そのためにマスクメモリ１２８の１ＢＩＴとバンドメモリ領域１０４ｃの１６ＰＩＸＥＬが対応している。このように量子化値を大きくするとマスクメモリ１２８は小さくなるが、マスクデータの１ＢＩＴにバンドメモリ領域１０４ｃの複数のＰＩＸＥＬが対応するために冗長な部分が多くなり、描画していない部分を描画したと判断する場合がある。ＡＳＩＣなどに搭載可能なメモリの容量により、量子化値を変え、マスクメモリ１２８のサイズを求める必要がある。
【００９７】
図２０は、図２における符号化装置１０６の詳細構成を示すブロック図である。この符号化装置１０６は、メモリコントローラＩ／Ｆ１６６、ＢＵＦ（バッファ）１６７、ＪＰＥＧ符号化装置１６８、ＢＵＦ（バッファ）１６９、メモリアドレス生成装置１７０、コントローラ１７１を備えている。
【００９８】
メモリコントローラＩ／Ｆ１６６は、メモリコントローラ１０３とのインターフェイス制御を実行する。バッファ１６９は、画像データを一時記憶する。ＪＰＥＧ符号化装置１６８は、ＪＰＥＧ規格の符号化方式にしたがって画像データを符号化し、バッファ１６９へ転送する。バッファ１６９は、符号データを一時記憶する。メモリアドレス生成装置１７０は、メインメモリ１０４のバンドメモリ領域１０４ｃから画像データを読み込むためのアドレスを生成し、かつメインメモリ１０４の符号ページメモリ領域１０４ｄへ符号データを書き込むためのアドレスを生成する。コントローラ１７１は、この符号化装置１０６全体を制御する。
【００９９】
図２１は、図２における復号化装置１０７の詳細構成を示すブロック図である。この復号化装置１０７は、ＢＵＦ（バッファ）１７２、メモリコントローラＩ／Ｆ１７３、ＪＰＥＧ復号装置１７３、ＢＵＦ（バッファ）１７４、メモリアドレス生成装置１７５、コントローラ１７６を備えている。
【０１００】
メモリコントローラＩ／Ｆ１７３は、メモリコントローラ１０３とのインターフェイス制御を実行する。バッファ１７２は、符号データを一時記憶する。ＪＰＥＧ復号装置１７３は、ＪＰＥＧ規格の復号方式にしたがって符号データを復号し、バッファ１７４へ転送する。バッファ１７４は、画像データを一時記憶する。メモリアドレス生成装置１７５は、メインメモリ１０４の符号ページメモリ領域１０４ｄから符号データを読み込むためのアドレスを生成する。コントローラ１７６は、この復号化装置１０７全体を制御する。
【０１０１】
図２２は、図２における画像処理装置１０８ａの詳細構成を示すブロック図である。この画像処理装置１０８ａは、ＢＵＦ（バッファ）１８０、階調処理装置１８１、ラインメモリ１８２、ＢＵＦ（バッファ）１８３、コントローラ１８４を備えている。
【０１０２】
バッファ１８０は、画像データを一時記憶する。階調処理装置１８１は、バッファ１８０からの多値のＣＭＹＫデータへ階調処理を行ない階調処理後のＣＭＹＫデータを生成する。ラインメモリ１８２は、階調処理後のＣＭＹＫデータを各版の遅延分だけ、一時記憶する。バッファ１８３は、階調処理後の画像データを一時記憶し、エンジンコントローラ１０９へ転送する。コントローラ１８４は、この画像処理装置１０８ａ全体を制御する。
【０１０３】
したがって、この第１の実施の形態によれば、ラインや三角形、四角形などの描画コマンドレベルで描画するか否かを判断することにより、常に高速処理を行なうことができる。具体的には図７に示すような描画階層に対し、描画コマンドが最下段であれば、ＣＭＹＫ版の各色レベルをチェックし、"０"値であれば、そのバンドは、初期値として"０"クリアしてあり、かつ、以前に描画されたデータがないために描画を行わないようにする。また、最下段でなくても描画領域に描画されたデータがなければ、同様に描画を行わないようにし、高速化することができる。
【０１０４】
また、描画領域に描画されたデータがあるかを判定するために描画した領域を示すマスクデータを順次記憶していき、描画する領域に、マスクデータあるかを判定することにより可能である。そして、このマスクデータをバンドメモリの画素ごとに記憶する場合に大容量からメインメモリなどにマスク領域を有することが考えられるが、この場合はバンドメモリの描画の前にマスクメモリを読み込むために多くのメインメモリのアクセスが必要であり、描画処理の高速化が難しくなる。また、メインメモリではなく、専用のメモリを有する場合は、ＡＳＩＣの内部に搭載可能な容量であれば低コストになるが、搭載しきれない容量である場合は、コストアップとなる。
【０１０５】
（第２の実施の形態）
本発明におけるこの第２の実施の形態は、水平ラインの描画を高速に行なうために同じ水平ラインのパラメータを選択し、描画領域が近いパラメータごとに分割する水平ライン分割手段と、分割された複数の水平ラインパラメータの左端のＸ値と右端のＸ値を求める領域判定手段と、領域判定手段により求めた左端Ｘ値から右端Ｘ値までの画像データを格納する入力画像キャッシュと、入力画像キャッシュの画像データへ描画処理を行なう水平ライン描画処理手段と、を備え、描画領域の近い複数の水平ラインの描画情報を描画パラメータで記憶し、その複数の水平ラインの左端のＸ値と右端のＸ値を求め、その領域のみ読み込み、描画処理を行なうことにより、ＳＲＡＭのサイズを小さくしかつ、２度の描画処理を行わないために高速に描画処理を行なうことを可能とするものである。以下、具体的に説明する。
【０１０６】
なお、この第２の実施の形態では、装置の構成要件およびその動作機能が同様であるブロックについては前述した第１の実施の形態と同じ図面および同一符号を付すものとする。特記しない限り第１の実施の形態と同様である。すなわち、全体構成は図１〜図４と同様である。
【０１０７】
図２３は、本発明の第２の実施の形態にかかる描画装置１０５ｂの詳細構成を示すブロック図である。この描画装置１０５ｂは、描画コマンド読み込み装置２０１、水平ラインパラメータ分割処理装置２０２、水平ラインパラメータ記憶装置２０３、水平描画処理装置２０４、出力画像キャッシュ２０５、入力画像キャッシュ２０６、描画コマンドアドレス生成装置２０７、メモリコントローラＩ／Ｆ２０８を備えている。
【０１０８】
描画コマンド読み込み装置２０１は、メモリコントローラ１０３を介してメインメモリ１０４の中間言語メモリ領域１０４ｂから描画コマンドを読み込み、水平ライン描画コマンドを水平ラインパラメータ分割処理装置２０２へ転送する。水平ラインパラメータ分割処理装置２０２は、水平ラインパラメータ記憶装置２０３を制御し、描画コマンド読み込み装置２０１から受け取った水平ライン描画コマンドのパラメータを水平ラインパラメータ記憶装置２０３へ書き込む。この動作については図２４で後述する。
【０１０９】
水平ラインパラメータ記憶装置２０３は、図２５に示すように同じ水平ラインの水平ライン描画コマンドのパラメータと、全体の左端のＸ値と右端のＸ値を記憶する。水平描画処理装置２０４は、水平ラインパラメータ分割処理装置２０２の指示により、描画水平パラメータ記憶装置２０３に記憶された描画コマンドのパラメータと、左端Ｘ値、右端Ｘ値の内容にしたがって描画する。この動作については図２７で後述する。
【０１１０】
出力画像キャッシュ２０５は、メインメモリ１０４のバンドメモリ領域１０４ｃへ書き込む画像データを一時格納する。入力画像キャッシュ２０６は、メインメモリ１０４のバンドメモリ領域１０４ｃから読み込まれた画像データを一時格納する。描画コマンドアドレス生成装置２０７は、メインメモリ１０４の中間言語メモリ領域１０４ｂの描画コマンドを読み込むためのアドレスを生成する。メモリコントローラＩ／Ｆ２０８は、メモリコントローラ１０３とのインターフェイス制御を実行する。
【０１１１】
図２４は、図２３における描画コマンド読み込み装置２０１の処理動作を示すフローチャートである。この図２４のフローチャートに示すように、水平ラインパラメータ記憶装置のＹ値を読み込み（ステップＳ３１）、その描画コマンドは終了コマンドであるか否かを判断する（ステップＳ３２）。ここで、終了コマンドでなければ、続いて、同じ水平ライン（Ｙ値）であるかを判断し（ステップＳ３３）、同じ水平ライン（Ｙ値）であれば、さらに水平ライン描画パラメータ記憶装置２０３に空きがあるか否かを判断する（ステップＳ３４）。ここで、空きがあれば、水平ラインパラメータ分割処理を行なう（ステップＳ３７）。一方、ステッップＳ３４で空きがなければ、水平描画処理を実行し（ステップＳ３５）、水平ラインパラメータ記憶装置２０３をクリアする（ステップＳ３６）。続いて、水平ラインパラメータ分割処理を行なう（ステップＳ３７）。
【０１１２】
水平ラインパラメータ記憶装置２０３の全体の左端のＸ値、右端のＸ値と大きく離れていない場合は、全体の左端のＸ値、右端のＸ値を更新し水平ラインパラメータ記憶装置２０３へ書き込む。一方、離れている場合は、水平描画処理装置２０４へ水平ラインパラメータ記憶装置２０３のパラメータの描画を指示し、左端のＸ値、右端のＸ値を更新し水平ラインパラメータ記憶装置２０３へ書き込む。一方、ステップＳ３３において分岐が異なれば、水平描画処理装置２０４へ水平ラインパラメータ記憶装置２０３のパラメータの描画を指示し（ステップＳ３５）、水平ラインの描画が終了すると水平ラインパラメータ記憶装置をクリアし（ステップＳ３６）、水平ラインパラメータ記憶装置２０３へ書き込む。
【０１１３】
図２６は、図２３における水平ラインパラメータ分割処理装置２０２の処理動作を示すフローチャートである。まず、同じ水平ラインの左端Ｘ値と右端Ｘ値とが大きく離れているかを判断し（ステップＳ４１）、大きく離れている場合には水平描画を行ない（ステップＳ４２）、水平ラインパラメータ記憶装置２０３をクリアする（ステップＳ４３）。続いて、ＭＩＮ―Ｘ（左端Ｘ値）＝ＸＳ、ＭＡＸ−Ｘ（右端Ｘ値）＝ＸＥとし（ステップＳ４４）、水平ラインパラメータ記憶装置２０３に上記ＸＳ，ＸＥをセットする（ステップＳ４５）。
【０１１４】
一方、ステップＳ４１において同じ水平ラインの左端Ｘ値と右端Ｘ値とが大きく離れていない場合には、さらにＸＳ＜ＭＩＮ−Ｘ（左端Ｘ値）であるかを判断し（ステップＳ４６）、ＸＳ＜ＭＩＮ−Ｘであれば、ＭＩＮ−Ｘとし（ステップＳ４７）、さらにＸＥ＞ＭＡＸ−Ｘ（右端Ｘ値）であるかを判断し（ステップＳ４８）、ＸＥ＞ＭＡＸ−Ｘであれば、ＭＡＸ−Ｘ＝ＸＥとする（ステップＳ４９）。
【０１１５】
図２７は、図２３における水平描画処理装置２０４の処理動作を示すフローチャートである。この図に示すように、水平描画処理装置２０４は、水平ラインパラメータ記憶装置２０３に格納された垂直Ｙ値のＭＩＮ−Ｘ（左端Ｘ値）からＭＡＸ−Ｘ（右端Ｘ値）までメインメモリ１０４のバンドメモリ領域１０４ｃから読み込み（ステップＳ５１、Ｓ５２）、ＷＸ＝ＸＳとし（ステップＳ５３）、ＷＸの書き込み画像パターンＷＰＡＴを生成する（ステップＳ５４）。そして、このＷＰＡＴのパターンと描画する色情報をメモリバウンダリへ展開しパターンと論理積を行ない、ＣＰＡＴを生成して入力画像キャッシュ２０６へ書き込み（ステップＳ５５）、その入力画像キャッシュ２０６の画像データと水平ラインパラメータ記憶装置２０３のＸＳ，ＸＥの描画データを論理演算し、出力画像キャッシュ２０５へ書き込んで（ステップＳ５６）、ＷＸ＝ＷＸ＋１として１つ進める（ステップＳ５７）。そして、上記の処理が水平ラインパラメータ記憶装置２０３の全てのＸＳ，ＸＥの描画処理が終了したかを判断した時点（ステップＳ５８、Ｓ５９）で、出力画像キャッシュ２０５のデータをメインメモリ１０４のバンドメモリ領域１０４ｃへ描画処理を行なう。
【０１１６】
図２８は、図２における他の描画装置１０５ｃの構成例を示すブロック図である。この描画装置１０５ｃは、描画コマンド読み込み装置２０１、水平ラインパラメータ分割処理装置２０２、水平ラインパラメータ記憶装置２０３、水平描画処理装置２０４、出力画像キャッシュ２２５、入力画像キャッシュ２２６、描画コマンドアドレス生成装置２０７、メモリコントローラＩ／Ｆ２０８、水平ライン以外の描画処理装置２２７を備えている。また、図２９は、図２８のように構成された描画処理装置の処理動作を示すフローチャートである。すなわち、図２３の描画装置１０５ｂの構成に対して、図２９のフローチャートにおけるステップＳ７２の処理、つまり水平ライン以外の描画コマンドを処理する水平ライン以外の描画処理を行なう描画処理装置２２７を付加した構成となっている。
【０１１７】
描画コマンド読み込み装置２０１は、メモリコントローラ１０３を介してメインメモリ１０４の中間言語メモリ領域１０４ｂから描画コマンドを読み込み、水平ライン描画コマンドを水平ラインパラメータ分割処理装置２０３へ転送し、以外の描画コマンドは水平ライン以外の描画処理装置２２７へ転送する。すなわち、図２９のフローチャートに示す処理を実行する。
【０１１８】
図２９において、まず、描画コマンドを読み込み（ステップＳ６１）、その描画コマンドが終了コマンドであるかを判断する（ステップＳ６２）。ここで、描画コマンドが終了コマンドでなければ、さらに描画コマンドが水平ライン描画コマンドであるかを判断する（ステップＳ６３）。水平ライン描画コマンドである場合、さらに、その水平ライン描画コマンドは水平ラインパラメータ記憶装置２０３のＹ値と同じであるかを判断し（ステップＳ６４）、Ｙ値と同じであれば、水平ラインパラメータ記憶装置２０３に空きがあるかを判断する（ステップＳ６５）。ここで、空きがなければ水平描画処理を実行し（ステップＳ６６）、水平ラインパラメータ記憶装置２０３をクリアし（ステップＳ６７）、水平ラインパラメータの分割処理を実行して（ステップＳ６８）、ステップＳ６１に戻る。
【０１１９】
一方、ステップＳ６３において、水平欄描画コマンドではないと判断した場合、さらに水平ラインパラメータ記憶装置２０３にデータがあるか否かを判断する（ステップＳ６９）、データがなければ、水平描画処理を実行し（ステップＳ７０）、水平ラインパラメータ記憶装置２０３をクリアし（ステップＳ７１）、その他のコマンドの描画処理を実行して（ステップＳ７２）、ステップＳ６１に戻る。
【０１２０】
すなわち、水平ラインパラメータ分割処理装置２０２は、水平ラインパラメータ記憶装置２０３を制御し、描画コマンド読み込み装置２０１から受け取った水平ライン描画コマンドのパラメータを水平ラインパラメータ記憶装置２０３へ書き込む。図２９のフローチャートに示すステップＳ６１〜Ｓ６４のように、水平ラインパラメータ記憶装置２０３のＹ値を読み込み、同じ水平ライン（Ｙ値）であるかを判断し、同じ水平ラインであれば、図２９のステップＳ６８のように水平ラインパラメータ分割処理を行ない、図２９のステップＳ６１において読み込んだ描画コマンドが水平ラインパラメータ記憶装置２０３の全体の左端のＸ値、右端のＸ値と大きく離れていない場合は、全体の左端のＸ値、右端のＸ値を更新し水平ラインパラメータ記憶装置２０３へ書き込む。離れている場合は、水平描画処理装置２０４へ水平ラインパラメータ記憶装置２０３のパラメータの描画を指示し、左端のＸ値、右端のＸ値を更新し水平ラインパラメータ記憶装置２０３へ書き込む。図２９のステップＳ６４の分岐が異なれば水平描画処理装置２０４へ水平ラインパラメータ記憶装置２０３のパラメータの描画を指示し、水平ラインの描画が終了すると水平ラインパラメータ記憶装置２０３をクリアし、水平ラインパラメータ記憶装置２０３へ書き込む。
【０１２１】
水平ラインパラメータ記憶装置２０３は、図２５に示すように同じ水平ラインの水平ライン描画コマンドのパラメータと、全体の左端のＸ値と右端のＸ値を記憶する。水平描画処理装置２０４は、水平ラインパラメータ分割処理装置２０２の指示により描画水平パラメータ記憶装置２０９の内容を描画する。この処理は図２７に示すとおりである。
【０１２２】
図２７に示すように、水平描画処理装置２０４は描画水平パラメータ記憶装置２０３へ格納された垂直Ｙ値のＭＩＮ−Ｘ（左端Ｘ値）からＭＡＸ−Ｘ（右端Ｘ値）までメインメモリ１０４のバンドメモリ領域１０４ｃから読み込み、入力画像キャッシュ２０６へ書き込み、その入力画像キャッシュ２０６の画像データと描画水平パラメータ記憶装置２０３のＸＳ，ＸＥの描画データを論理演算し、出力画像キャッシュ２０５へ書き込み、描画水平パラメータ記憶装置２０３の全てのＸＳ，ＸＥの描画処理が終了した時点で、出力画像キャッシュ２０５のデータをメインメモリ１０４のバンドメモリ領域１０４ｃへ描画処理を行なう。
【０１２３】
なお、この第２の実施の形態における符号化装置１０６は前述の図２０と同様であり、また、復号化装置１０７は前述した図２１と同様であるため、ここでの説明は省略する。
【０１２４】
図３０は、この第２の実施の形態にかかる画像処理装置１０８ｂの構成を示すブロック図である。この画像処理装置１０８ｂは、ＢＵＦ（バッファ）２３１、色変換処理装置２３２、諧調処理装置２３３、ＰＩＸＥＬ  Ｔｏ  ＰＬＡＮＥ変換装置２３４、ＢＵＦ（バッファ）２３５、コントローラ２３６を備えている。
【０１２５】
バッファ２３１は、画像データを１時記憶する。色変換処理装置で２３２は、ＲＧＢ画像データからＣＭＹＫ画像データへ色変換する。階調処理装置２３３は、色変換処理装置２３２からの多値のＣＭＹＫデータへ階調処理を行ない階調処理後のＣＭＹＫデータ生成する。ＰＩＸＥＬ  Ｔｏ  ＰＬＡＮＥ変換装置２３４は、ＣＭＹＫデータのＰＩＸＥＬデータをＣ，Ｍ，Ｙ，Ｋのプレーンデータへ変換する。バッファ２３５は、階調処理後の画像データを一時記憶し、エンジンコントローラ１０９へ転送する。コントローラ２３６は、この画像処理装置１０８ｂ全体を制御する。
【０１２６】
ところで、これまで説明してきた実施の形態における画像処理方法（動作）を、プログラム化し、コンピュータ読み取り可能な記録媒体に記録し、コンピュータ上で実行することもできる。また、画像処理方法の一部をネットワーク上に有し、通信回線を通して実現することもできる。
【０１２７】
すなわち、この実施の形態で説明した画像処理方法は、図３１に示すように、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータ（ＣＰＵ３０）で実行することにより実現される。このプログラムは、キーボード２５の操作などにより、メモリ３１、ハードディスク３４、フレキシブルディスク３７、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ−Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３６、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータ（ＣＰＵ３０）によって記録媒体から読み出し、必要に応じて表示装置３３に表示することによって実行される。また、必要に応じてこの画像処理方法のデータを通信装置３２から外部装置に送受信することも可能である。
【０１２８】
また、このプログラムは、図３２に示すように、上記記録媒体を介して、インターネット３０などのネットワークによってパーソナルコンピュータなどの装置４１〜４３に配布することができる。
【０１２９】
すなわち、このプログラムは、たとえばコンピュータに内蔵されている記録媒体としてのハードディスクに、あらかじめインストールした状態で提供することができる。プログラムは記録媒体に一時的あるいは永続的に格納し、コンピュータにユニットとして組み込んだり、あるいは着脱式の記録媒体として利用することで、パッケージソフトウェアとして提供することができる。
【０１３０】
記録媒体としては、たとえば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤ、磁気ディスク、半導体メモリなどが利用できる。
【０１３１】
プログラムは、ダウンロードサイトから、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットといったネットワークを介して、有線または無線でコンピュータに転送し、そのコンピュータにおいて、内蔵するハードディスクなどの記憶装置にダウンロードさせるようにすることができる。
【産業上の利用可能性】
【０１３２】
以上のように、本発明にかかる画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体は、カラーデジタル複写機やカラーレーザプリンタなどの画像出力を行なう装置およびシステムなどに有用であり、特に、複数層で構成される画像を描画する際に描画コマンド単位で各版の描画が必要であるかを判断して、必要でない版に対して描画を行なわずに、高速の描画処理を実現したり、細かなグラフィック描画を行なう際にＳＲＡＭのサイズを小さくし、かつ２度の描画処理を不要にすることで、高速な描画処理を実現す各種の画像出力システムに適している。
【図面の簡単な説明】
【０１３３】
【図１】本発明の実施の形態にかかる画像形成装置の機構部の構成例を示す説明図である。
【図２】図１におけるカラープリンタの電装・制御装置の構成を示すブロック図である。
【図３】本発明の第１の実施の形態にかかる画像処理の流れを示すブロック図である。
【図４】本発明の第１の実施の形態にかかる画像処理の概念を示すブロック図である。
【図５】図２におけるメインメモリのフォーマット例を示す説明図である。
【図６】図５におけるバンドメモリ領域の内部フォ−マット例を示す説明図である。
【図７】プリントデータの階層例を示す説明図である。
【図８】図２における描画装置の詳細構成を示すブロック図である。
【図９】図８における描画処理装置の詳細構成を示すブロック図である。
【図１０】図９のように構成された描画処理装置の動作処理を示すフローチャートである。
【図１１】図９におけるマスクデータ生成装置の詳細構成を示すブロック図である。
【図１２】図１１におけるマスクパターン生成装置の詳細構成を示すフローチャートである。
【図１３】図１１におけるアドレス生成装置の詳細構成を示すブロック図である。
【図１４−１】Ｘ値量子化が“０”の場合におけるマスクメモリフォーマット例を示す説明図である。
【図１４−２】図１４−１におけるマスクＢＩＴと画像データの対応を示す説明図である。
【図１５−１】Ｘ値量子化が“１”の場合におけるマスクメモリフォーマット例を示す説明図である。
【図１５−２】図１５−１におけるマスクＢＩＴと画像データの対応を示す説明図である。
【図１６−１】Ｘ値量子化が“２”の場合におけるマスクメモリフォーマット例を示す説明図である。
【図１６−２】図１６−１におけるマスクＢＩＴと画像データの対応を示す説明図である。
【図１７−１】Ｘ値量子化が“３”の場合におけるマスクメモリフォーマット例を示す説明図である。
【図１７−２】図１７−１におけるマスクＢＩＴと画像データの対応を示す説明図である。
【図１８−１】Ｘ値量子化が“４”の場合におけるマスクメモリフォーマット例を示す説明図である。
【図１８−２】図１８−１におけるマスクＢＩＴと画像データの対応を示す説明図である。
【図１９】図９におけるＣＭＹＫ描画判定装置の詳細構成を示すブロック図である。
【図２０】図２における符号化装置の詳細構成を示すブロック図である。
【図２１】図２における復号化装置の詳細構成を示すブロック図である。
【図２２】図２における画像処理装置の詳細構成を示すブロック図である。
【図２３】本発明の第２の実施の形態にかかる描画装置の詳細構成を示すブロック図である。
【図２４】図２３における描画コマンド読み込み装置の処理動作を示すフローチャートである。
【図２５】図２３における水平ラインパラメータ記憶装置の詳細構成を示すブロック図である。
【図２６】図２３における水平ラインパラメータ分割処理装置の処理動作を示すフローチャートである。
【図２７】図２３における水平描画処理装置の処理動作を示すフローチャートである。
【図２８】図２における他の描画装置の構成を示すブロック図である。
【図２９】図２８のように構成された描画処理装置の処理動作を示すフローチャートである。
【図３０】この第２の実施の形態にかかる画像処理装置の構成を示すブロック図である。
【図３１】本発明の実施の形態にかかる画像処理方法をコンピュータに実行させる例を示すブロック図である。
【図３２】本発明の実施の形態にかかる画像処理方法をネットワーク上からダウンロードして実行させる例を示すブロック図である。
【図３３】従来におけるグラフィック描画処理例を示す説明図である。
【符号の説明】
【０１３４】
１０１  ＣＰＵ
１０３  メモリコントローラ
１０４  メインメモリ
１０４ａ  ＰＤＬメモリ領域
１０４ｂ  中間言語メモリ領域
１０４ｃ  バンドメモリ領域
１０４ｄ  符号ページメモリ領域
１０５ａ，ｂ，ｃ  描画装置
１０６  符号化装置
１０７  復号化装置
１０８ａ，ｂ  画像処理装置
１０９  エンジンコントローラ
１１０  プリンタエンジン
１２６  描画コマンド解析装置
１２７  描画処理装置
１２８  マスクメモリ
１３１  水平ライン分解装置
１３２  色変換処理装置
１３３  ライン描画装置
１３４  ＲＯＰ処理装置
１３６  マスクデータ生成装置
１３７  ＣＭＹＫ描画判定装置
１４０  アドレス生成装置
１４１  Ｘ値量子化装置
１４２  マスクパターン生成装置
２００  ＰＣ
２０１  描画コマンド読み込み装置
２０２  水平ラインパラメータ分割処理装置
２０３  水平ラインパラメータ記憶装置
２０４  水平描画処理装置
２０５，２２５  出力画像キャッシュ
２０６，２２６  入力画像キャッシュ
２２７  水平ライン以外の描画処理装置
【図１】
2005305873.tif 000004
【図２】
2005305873.tif 000005
【図３】
2005305873.tif 000006
【図４】
2005305873.tif 000007
【図５】
2005305873.tif 000008
【図６】
2005305873.tif 000009
【図７】
2005305873.tif 000010
【図８】
2005305873.tif 000011
【図９】
2005305873.tif 000012
【図１０】
2005305873.tif 000013
【図１１】
2005305873.tif 000014
【図１２】
2005305873.tif 000015
【図１３】
2005305873.tif 000016
【図１４−１】
2005305873.tif 000017
【図１４−２】
2005305873.tif 000018
【図１５−１】
2005305873.tif 000019
【図１５−２】
2005305873.tif 000020
【図１６−１】
2005305873.tif 000021
【図１６−２】
2005305873.tif 000022
【図１７−１】
2005305873.tif 000023
【図１７−２】
2005305873.tif 000024
【図１８−１】
2005305873.tif 000025
【図１８−２】
2005305873.tif 000026
【図１９】
2005305873.tif 000027
【図２０】
2005305873.tif 000028
【図２１】
2005305873.tif 000029
【図２２】
2005305873.tif 000030
【図２３】
2005305873.tif 000031
【図２４】
2005305873.tif 000032
【図２５】
2005305873.tif 000033
【図２６】
2005305873.tif 000034
【図２７】
2005305873.tif 000035
【図２８】
2005305873.tif 000036
【図２９】
2005305873.tif 000037
【図３０】
2005305873.tif 000038
【図３１】
2005305873.tif 000039
【図３２】
2005305873.tif 000040
【図３３】
2005305873.tif 000041