(57)【特許請求の範囲】
【請求項１】
画像を描画する描画手段と、
前記描画手段が前記画像を描画する際に利用されるキャッシュメモリに、前記描画手段が前記画像を描画する際に所定の空きができるか否か、を判定する判定手段とを有し、
前記描画手段は、
前記判定手段による判定結果に基づいて決定される描画方法で、前記画像を描画し、前記描画方法は、画像に対応する領域内の画素の色を指定色とするか背景色とするかを画素ごとに決定することで当該画像を描画するマスク描画、または画像の輪郭を示す情報に従って当該画像の輪郭内部を指定色で塗ることで当該画像を描画するエッジ描画である
ことを特徴とする画像処理装置。
【請求項２】
前記判定手段は、
前記描画手段が前記画像をマスク描画で描画する際に利用されるキャッシュメモリに、前記描画手段が前記画像をマスク描画で描画する際に所定の空きができるか否か、を少なくとも判定し、
前記描画手段は、
前記判定手段で前記空きができると判定された場合に前記画像をマスク描画で描画し、前記判定手段で前記空きができないと判定された場合に前記画像をエッジ描画で描画する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、
前記描画手段が前記画像をエッジ描画で描画する際に利用されるキャッシュメモリに、前記描画手段が前記画像をエッジ描画で描画する際に所定の空きができるか否か、を少なくとも判定し、
前記描画手段は、
前記判定手段で前記空きができると判定された場合に前記画像をエッジ描画で描画し、前記判定手段で前記空きができないと判定された場合に前記画像をマスク描画で描画する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
画像をマスク描画で描画するとは、画素の色を指定色とするＯＮ情報か画素の色を背景色とするＯＦＦ情報のいずれかを画素ごとに持つマスクイメージを用いて、当該画像に対応する領域に含まれる画素の色を指定色とするか背景色とするかを画素ごとに決定することにより、当該画像を描画することである
ことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記描画手段は、画像をマスク描画で描画する際に、前記マスクイメージを前記キャッシュメモリに格納し、
前記画像をマスク描画で描画している間は、前記マスクイメージは前記キャッシュメモリに格納されたままである
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
画像をエッジ描画で描画するとは、当該画像の輪郭の抽出することで得られる当該輪郭を示す情報に従って当該画像の輪郭内部を指定色で塗ることにより、当該画像を描画することである
ことを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
画像の描画方法に係る情報を含むディスプレイリストを生成するディスプレイリスト生成手段と、
前記ディスプレイリストが示す前記画像をレンダリングするレンダリング手段と、
を備え、
前記ディスプレイリスト生成手段は、前記レンダリング手段が前記画像をレンダリングする際に必要となるキャッシュメモリの容量に応じて前記描画方法を変更した前記ディスプレイリストを生成する
ことを特徴とする画像処理装置。
【請求項８】
前記描画方法は、マスク描画又はエッジ描画であり、
マスク描画とは、画像に対応する領域内の画素の色を指定色とするか背景色とするかを画素ごとに決定することで当該画像を描画する描画方法であり、
エッジ描画とは、画像の輪郭を示す情報に従って当該画像の輪郭内部を指定色で塗ることで当該画像を描画する描画方法である
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記ディスプレイリスト生成手段は、前記画像の大きさに応じて前記描画方法を変更する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項１０】
前記ディスプレイリスト生成手段は、前記画像のエッジの数に応じて前記描画方法を変更する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項１１】
前記レンダリング手段は、前記画像を重ね合わせてレンダリングする
ことを特徴とする請求項７に記載の画像処理装置。
【請求項１２】
前記レンダリング手段は、重ね合わせられる前記画像のうち、共通する画像をレンダリングする際に必要となる情報を前記キャッシュメモリに格納し、当該共通する画像を重ね合わせてレンダリングする毎に、当該必要となる情報を利用する
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記画像は、文字である
ことを特徴とする請求項１乃至１２の何れか１項に記載の画像処理装置。
【請求項１４】
画像を描画する描画ステップと、
前記描画ステップで前記画像が描画される際に利用されるキャッシュメモリに、前記描画ステップで前記画像が描画される際に所定の空きができるか否か、を判定する判定ステップとを有し、
前記描画ステップは、
前記判定ステップによる判定結果に基づいて決定される描画方法で、前記画像を描画し、前記描画方法は、画像に対応する領域内の画素の色を指定色とするか背景色とするかを画素ごとに決定することで当該画像を描画するマスク描画、または画像の輪郭を示す情報に従って当該画像の輪郭内部を指定色で塗ることで当該画像を描画するエッジ描画である
ことを特徴とする画像処理方法。
【請求項１５】
前記判定ステップは、
前記描画ステップで前記画像がマスク描画で描画される際に利用されるキャッシュメモリに、前記描画ステップで前記画像がマスク描画で描画される際に所定の空きができるか否か、を少なくとも判定し、
前記描画ステップは、
前記判定ステップで前記空きができると判定された場合に前記画像をマスク描画で描画し、前記判定ステップで前記空きができないと判定された場合に前記画像をエッジ描画で描画する
ことを特徴とする請求項１４に記載の画像処理方法。
【請求項１６】
前記判定ステップは、
前記描画ステップで前記画像がエッジ描画で描画される際に利用されるキャッシュメモリに、前記描画ステップで前記画像がエッジ描画で描画される際に所定の空きができるか否か、を少なくとも判定し、
前記描画ステップは、
前記判定ステップで前記空きができると判定された場合に前記画像をエッジ描画で描画し、前記判定ステップで前記空きができないと判定された場合に前記画像をマスク描画で描画する
ことを特徴とする請求項１４に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書の印刷処理技術に関するものであり、特に電子文書を直接受け取って印刷処理を行う画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年のアプリケーションソフトやＯＳの多様化により、印刷描画命令が複雑化し、印刷装置の描画処理、画像処理の負荷が増大してきている。現在、複雑な描画命令を高速に処理するために、描画結果をライン単位で出力メモリに書き込むスキャンラインレンダリングを用いた描画方法が用いられている。スキャンラインレンダリングは、Ｏｂｊｅｃｔの輪郭を抽出するエッジ情報生成手段と、Ｏｂｊｅｃｔのエッジ重なりを判定するレベル情報生成手段と、Ｏｂｊｅｃｔ内部の塗り方法を指定するフィル情報生成手段とを用いる。さらに、電子文書に含まれるＯｂｊｅｃｔに対してスキャンラインレンダリングを実施し、出力メモリに描画結果を書き込む処理の中で、イメージデータを用いて前景と背景を論理演算により描画する描画手段を備える。この論理演算を用いる描画手段には、エッジを用いた「エッジ描画」、または、マスクを用いた「マスク描画」による２種類の描画方法が存在する。
【０００３】
例えば、図３に示すようなＰａｇｅ（３００）に含まれるＯｂｊｅｃｔ１（３０１）を描画する際、「マスク描画」では、塗り情報（３０３）とＲＯＰ機能が指定されるマスクイメージ（３０４）を用いて、描画する。なお、マスクイメージ（３０４）は、画素ごとにＯＮ／ＯＦＦを示す情報から構成されている。そして、ＯＦＦの座標位置には下地（ここではページの背景色（白色））が選択される。また、ＯＮの座標位置には、塗り情報（３０３）が示す色が配置されるようにＲＯＰ指示がされている。このように、座標毎のＯＮ／ＯＦＦにより、Ｏｂｊｅｃｔ１（３０１）の描画を実現する。
【０００４】
一方、「エッジ描画」は、塗り情報（３０５）とエッジデータ（３０６）を用いて、描画する方法である。すなわち、図３に示すように、エッジデータ（３０６）は、始点と終点との情報（図３における矢印）に基づいて、塗り情報（３０５）が示す色を描画することにより、Ｏｂｊｅｃｔ１（３０１）の描画を実現する。
【０００５】
従来、このＲＯＰ指示による描画を高速化するために、入力されたマスクイメージであるイメージデータを解析して、その結果に応じて描画方法を変更することが知られている。例えば、イメージデータの内部に含まれるエッジ数に応じて、エッジを用いた描画または、マスクを用いた描画を選択することにより、演算処理速度を高速化することができる（例えば、特許文献１参照。）。または、マスクイメージであるイメージデータを解析し、それと論理演算のシーケンスを考慮し、エッジを用いた描画方法と、マスクを用いた描画方法とを切り替えることで、演算処理速度を高速化することも知られている（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−４８１７２号公報
【特許文献２】特開２００６−３４１３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の従来技術におけるイメージデータ解析処理は、Ｏｂｊｅｃｔのサイズが大きい場合、調査対象となるピクセル数が多いためイメージデータ解析処理自体にコストがかかるといった課題が存在する。そこで、一部の電子文書ではＯｂｊｅｃｔのサイズが大きい場合はエッジ描画を行い、Ｏｂｊｅｃｔのサイズが小さい場合はマスク描画を行うことで描画処理の高速化を実現することもある。
【０００８】
しかし、電子文書のＯｂｊｅｃｔの構成次第では、高速化を実現できないケースが存在する。例えば、図４（ａ）に示すように、Ｏｂｊｅｃｔのサイズそのものは小さいが、同一の領域において当該Ｏｂｊｅｃｔを重ねてレンダリングするような場合、処理速度が著しく減少することがある。このように重ね合わせの領域に対してマスク描画を行うと、ピクセル単位でレンダリングを実行する際に利用されるマスクイメージのキャッシュ領域が不足するからである。
【０００９】
また、例えば、図４（ｂ）で示すように、Ｏｂｊｅｃｔのサイズが大きいが、イメージデータが市松模様になっており、生成されるエッジデータが非常に多くなる場合にも処理速度が著しく減少することがある。このように、当該Ｏｂｊｅｃｔに対してエッジ描画を行うと、エッジ単位で実行する処理で用いるエッジデータが増大し、キャッシュ領域が不足するためである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係る画像処理装置は、画像を描画する描画手段と、前記描画手段が前記画像を描画する際に利用されるキャッシュメモリに、前記描画手段が前記画像を描画する際に所定の空きができるか否か、を判定する判定手段とを有し、前記描画手段は、前記判定手段による判定結果に基づいて決定される描画方法で、前記画像を描画し、前記描画方法は、画像に対応する領域内の画素の色を指定色とするか背景色とするかを画素ごとに決定することで当該画像を描画するマスク描画、または画像の輪郭を示す情報に従って当該画像の輪郭内部を指定色で塗ることで当該画像を描画するエッジ描画であることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、レンダリング処理における処理速度を向上させる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】本発明の実施形態に係る制御装置の機能構成例を示す図である。
【図３】マスク描画及びエッジ描画を説明するための図である。
【図４】本発明に関わる、マスク描画及びエッジ描画の従来技術における解決すべき課題の一例を示す図。
【図５】本発明の実施例１に係るマスク描画をエッジ描画に変換する処理の処理手順を示すフローチャートである。
【図６】本発明の実施例１におけるマスク描画に係る画像が入力された場合にエッジ描画に変換する様子を模式的に示した図である。
【図７】本発明の実施例２に係るエッジ描画をマスク描画に変換する処理の処理手順を示すフローチャートである。
【図８】本発明の実施例２におけるエッジ描画をマスク描画に変換する処理を模式的に示した図である。
【図９】本発明の実施例２に係るエッジ描画を１つのマスク描画に変換する処理を模式的に示した図である。
【図１０】本発明の実施例における発明の効果の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明に係る実施例について説明する。実施例１は、レンダリング処理部（２１５）において、画素単位の調査結果を保存するイメージキャッシュのキャッシュメモリが足りなくなる場合に、画素単位での調査からエッジ位置の調査へと切り替えるものである。実施例２は、エッジ位置の調査結果を保存するエッジキャッシュのキャッシュメモリが足りなくなる場合に、エッジ位置の調査から画素単位の調査へと切り替えるものである。
【００１４】
本願発明の実施例は、図１に示すような構成を備える画像処理処理装置（１００）、例えば、ＭＦＰ（Multi Function Printer）により実施される。もちろん、ＳＦＰ（Single Function Printer）やＬＢＰ（Laser Beam Printer）、その他のプリント方式のプリンタでもよいことは言うまでもない。
【００１５】
図１は、本発明の実施形態に係る電子部品としてのコントローラが搭載された画像処理装置の構成例を示すブロック図である。
【００１６】
画像処理装置（１００）は、イーサネット（登録商標）等のＬＡＮ（Local Area Network）を介して、ＰＣ等のホストコンピュータ（１９１、１９２）に接続することができる。また、画像処理装置（１００）は、リーダー装置（１２０）、プリンタ装置（１３０）、操作表示部（１５０）、画像記憶部（１６０）、さらに、これら各構成要素を制御する制御装置（コントローラ部）（１１０）から構成される。
【００１７】
制御装置（１１０）は、ＣＰＵ（１１２）、ＲＯＭ（１１４）、ＲＡＭ（１１６）等を有する。
【００１８】
ＣＰＵ（１１２）は、ＲＯＭ（１１４）または他の記憶媒体に格納されたプログラムに基づいて、画像処理装置１００全体を統括制御する。例えば、制御装置（１１０）は、ＣＰＵ（１１２）に、それぞれＰＤＬ解釈処理・ディスプレイリスト生成処理、及びレンダリング処理等を行うためのプログラムをロードする。なお、レンダリング処理に関し、専用のハードウェアを利用する構成でも構わない。
【００１９】
プリンタ装置（１３０）は、画像データの出力を行う。
【００２０】
操作／表示部（１５０）は、画像出力処理を行う際に、各種印刷設定の操作を行うためのキーボード、及び画像出力設定を行うための操作ボタン等を表示する液晶パネルを備える。
【００２１】
画像記憶部（１６０）は、画像データやドキュメントデータ、印刷装置制御言語（例えば、ＥＳＣコード、ＰＤＬ（Page Description Language））などの印刷データの格納／保存ができる。例えば、データ記憶部（１３０）は、ＬＡＮを介してホストコンピュータ（１９１、１９２）より受信した画像データ・ドキュメント・ＰＤＬや、リーダー装置（１２０）から読み込んだ画像データを格納／保存することができる。
【００２２】
図２は、本発明における画像処理装置（１００）の制御装置（１１０）において動作するソフトウェアモジュールの機能構成の一例を示す図である。
【００２３】
ジョブ制御部（２００）は、印刷ジョブの入力から出力を、関数コールやメッセージ通信などの手段により制御する。
【００２４】
ＰＤＬ解析部（２０１／２０２／２０３）は、画像処理装置（１００）に搭載されるＰＤＬの種類（例えば、ＰｏｓｔＳｃｒｉｐｔ、ＰＣＬ、ＸＰＳなど）に応じて複数設けることができる。
【００２５】
ＰＤＬ解析部（２０１／２０２／２０３）は、ジョブ制御部（２００）からの指示に従い、ＰＤＬ受信バッファに格納されたＰＤＬデータを読み込み、解釈処理を実行する。
【００２６】
ディスプレイリスト（Ｄｉｓｐｌａｙ  Ｌｉｓｔ）生成部（２１０）は、ジョブ制御部（２００）からの指示に従って、ＰＤＬ解析部（２０１／２０２／２０３）から送られる描画情報に基づいてディスプレイリスト生成し、これをメモリに格納する。
【００２７】
レンダリング処理部（２１５）は、メモリからディスプレイリストをロードし、ディスプレイリストをイメージデータに変換し、メモリに出力するレンダリング処理を実行する。
【００２８】
上述のような構成を備える画像処理装置について、本発明の具体的な実施例を以下に述べる。
【００２９】
（実施例１）
実施例１は、マスク描画をエッジ描画に変換する処理に関するものであり、図５及び図６を用いて詳細に説明する。
【００３０】
図５は、マスク描画からエッジ描画に変換する処理に関する処理手順の詳細を示したフローチャートである。
【００３１】
まず、ディスプレイリスト生成部（２１０）は、ステップＳ５０１で、入力データとして描画情報に含まれるマスクイメージを受け取る。
【００３２】
次にステップＳ５０２に進み、ディスプレイリスト生成部（２１０）は、受け取ったマスクイメージのサイズが閾値以下であるかどうかを判定する。なお、当該閾値は、制御装置（１１０）の構成やＣＰＵ（１１２）の性能によって、異なる数値に設定可能な定数である。
【００３３】
マスクイメージのサイズが閾値以下の場合、Ｓ５０７に進む。例えば、図４（ｂ）に示すように、マスクイメージが、市松模様に係るデータであっても、マスクイメージ内部に含まれるエッジ数は少ないため、エッジデータへ変換することが望ましい。従って、ステップＳ５０７へ進み、マスク描画をエッジ描画に変更した上で、レンダリング処理部（２１５）に対して最適なディスプレイリストを生成し、高速化を図る。
【００３４】
一方、マスクイメージのサイズが閾値以上の場合、ステップＳ５０３へ進み、イメージキャッシュの状態判定を行う。このイメージキャッシュは、レンダリング処理部（２１５）が、ディスプレイリストに含まれるマスクイメージを処理してレンダリングする際に、レンダリング処理結果を一時的に格納するために用いる記憶装置である。
【００３５】
次にステップＳ５０４に進み、レンダリング時において、イメージキャッシュに空きができるかどうかを判定する。例えば、図４（ａ）に示すようにマスクイメージが重なって描画されることによりイメージキャッシュの空き領域が無くなると判定された場合は、ステップＳ５０７へ進み、マスク描画をエッジ描画に変換する。これにより、レンダリング処理部（２１５）において、イメージキャッシュの容量の範囲内においてデータが記憶され、従ってレンダリング処理が高速に行うことができる。
【００３６】
ステップＳ５０４において、レンダリング時にイメージキャッシュの容量に空きがあると判定された場合は、ステップＳ５０５へ進み、マスクイメージを読み込み、内部に含まれるエッジデータの数をカウントする。このエッジデータとは、マスクイメージ（３０４）で示したような０、１の切り替わりであり、その数をカウントする。
【００３７】
そして、ステップＳ５０６へ進み、エッジ数が閾値以下であるかどうかを判定する。ステップＳ５０６において、エッジ密度が閾値以上と判定されるデータは、例えば、図４（ｂ）のように市松模様データである。この市松模様データをエッジ描画によりレンダリングすると、エッジが多いためレンダリング処理部（２１５）の負荷が増加することとなる。したがって、エッジ数が閾値以下ではない場合、ステップＳ５０８へ進み、マスクイメージのまま変換しない。一方、ステップＳ５０６において、エッジ数が閾値以下と判定された場合、マスクイメージ内部に含まれるエッジ数が多くないため、ステップＳ５０７へ進み、マスク描画をエッジ描画に変換する。
【００３８】
図６は、マスク描画をエッジ描画に変換する処理を模式的に示した図である。図６（ａ）は、マスク描画による描画の一例を示す。なお、例示のマスク描画されるデータは、マスク描画が４回行われることにより、マスクごとに異なる色の文字が描画されるものである。
【００３９】
図６（ｂ）は、図６（ａ）に示すように重なったマスクイメージをレンダリング処理部（２１５）が処理する場合に、イメージキャッシュの容量以上にキャッシュされるデータが存在する様子を模式的に示した図である。
【００４０】
レンダリング処理部（２１５）は、スキャンライン単位でレンダリング処理を実行するため、同一スキャンライン上にあるイメージを、イメージデータの単位でキャッシュする。また、同一箇所にマスクＡからマスクＤのデータが重なり合って描画されている図６（ａ）データの場合、イメージのロード順序でマスクイメージをレンダリング処理部（２１５）のイメージキャッシュに入れる。
【００４１】
例えば、マスクＡのキャッシュ期間は図６（ｂ）の波線矢印で示したスキャンラインの範囲をレンダリングしている間はイメージキャッシュ上に存在し、スキャンライン方向が波線矢印より進めば消去される。
【００４２】
図６（ｂ）に示す例の場合、図６（ａ）に示すマスクデータを波線矢印の間のスキャンラインレンダリングを実行すると、イメージキャッシュが溢れてしまう。レンダリング処理部（２１５）は、内部にイメージキャッシュを持ち、スキャンラインレンダリングにロードするイメージデータをイメージキャッシュにフェッチすることでレンダリング処理を高速化している。しかし、イメージキャッシュには、数やサイズに制限があり、それに溢れた場合は、イメージロード処理は、キャッシュ上からではなく、ＲＡＭ（１１６）上にあるイメージデータを逐次読み込むため、時間がかかりレンダリング処理が遅くなる。
【００４３】
例えば、１ピクセルロードするのにイメージキャッシュ上のデータである場合は、１クロック済むが、ＲＡＭ（１１６）上にある場合は、４クロックを必要とする。そこで図６（ｃ）のように、イメージキャッシュが溢れる状態になったら、図５で示したフローチャートの処理を実行し、マスクイメージをエッジデータへ変換する。この変換により、マスクイメージはイメージキャッシュ内に入った状態で、レンダリング処理を実行することができ、高速に処理することが可能である。
【００４４】
図１０（ａ）は、図６（ａ）に示すマスクデータを本発明の実施例に従って処理した場合の効果の一例を示す表である。従来、レンダリング処理部（２１５）の時間が１１．３６秒かかっていた図６（ａ）のデータが、ディスプレイリスト生成部（２１０）にてマスク描画をエッジ描画へ変換した最適なディスプレイリストを生成することで、０．１８秒へと短縮することができる。
【００４５】
（実施例２）
エッジ描画をマスク描画に変換する本発明の第２の実施例について図７から図９を用いて説明する。
【００４６】
図７は、イメージの描画として、エッジ描画からマスク描画に変換する処理に関する処理手順の詳細を示したフローチャートである。
【００４７】
まず、ステップＳ７０１にて、ディスプレイリスト生成部（２１０）は、入力データとして描画情報に含まれるエッジデータを受け取る。
【００４８】
次にステップＳ７０２にて、エッジデータにおける重なり数が閾値以上存在するかどうかを判定する。ここで、この閾値は、制御装置（１１０）の構成やＣＰＵ（１１２）の性能によって異なる定数であり、任意に設定することができる。ステップＳ７０２において、エッジデータの重なり数が閾値以下であった場合、レンダリングに係るイメージキャッシュの必要量が大きくならないので、エッジ描画のままとしてステップＳ７０８へ進む。
【００４９】
一方、ステップＳ７０２において、エッジデータにおける重なり数が閾値以上である場合、レンダリング処理部（２１５）のエッジキャッシュの必要量が容量を超える可能性があるため、ステップＳ７０３へ進む。そして、エッジソート処理用の空きキャッシュの量を確認する。
【００５０】
次にステップＳ７０４へ進み、エッジキャッシュに空きがあるかどうかを判定する。ステップＳ７０４にて、レンダリング処理部（２１５）にてレンダリングを実行するにあたり、エッジキャッシュに容量内に収まる空きがあると判断した場合は、Ｓ７０８に進み、エッジ描画のまま変換しない。
【００５１】
一方、ステップＳ７０４にて、レンダリング処理部（２１５）にてレンダリングを実行するにあたり、エッジキャッシュの必要量が容量を超えると判断した場合は、Ｓ７０５に進む。
【００５２】
次に、ステップＳ７０５にて、イメージキャッシュに空きが２つ以上あると判定した場合は、ステップＳ７０９に進み、エッジ描画をマスク描画に変換する。一方、ステップＳ７０５において、イメージキャッシュに空きが２つ以上ないと判定した場合は、ステップＳ７０６に進み、エッジデータをスプールする。次にステップＳ７０７へ進み、ディスプレイリスト生成部（２１０）からレンダリング処理部（２１５）へ通信し、スプールした複数のエッジ描画をレンダリングする。通常は、１ページのディスプレイリスト終了後に、レンダリングを開始する。一方、本発明の実施例では、イメージキャッシュ内部に収めることができるため、ステップＳ７１０にて、部分的に複数のエッジ描画を先行してレンダリングする。そして、１つのマスクイメージ描画へと変換することで、エッジキャッシュおよびイメージキャッシュの容量内となるような最適なディスプレイリストを生成して処理が終了する。
【００５３】
図８および９は、エッジ描画をマスク描画に変換する処理の一例を説明するための図である。
【００５４】
図８（ａ）は、エッジ描画により描画される画像の一例を示す。
【００５５】
図８（ａ）に示す画像に対し、アプリケーションの処理において、エッジ描画を複数回行うような場合もある。例えば、図８（ｂ）に示すようにエッジ描画を７回行うエッジデータが存在する。
【００５６】
また、図８（ｂ）は、レンダリング処理部（２１５）による処理において、エッジキャッシュの容量よりもキャッシュ対象となるデータが多いことを示している。すなわち、レンダリング処理部（２１５）がスキャンライン単位でレンダリング処理を実行し、エッジデータが重なる場合、同一スキャンライン上であっても、複数のエッジデータをロードする必要があり、エッジキャッシュの容量を超えることがある。
【００５７】
そこで、エッジキャッシュの容量を超える場合に、本発明の実施例のように、エッジデータをマスクデータへ変換する。この変換により、エッジデータはエッジキャッシュの容量内に収めつつ、レンダリング処理を実行することができ、高速に処理することが可能である。
【００５８】
図８（ｃ）は、実施例２における図７で示したフローチャートによる処理を実行し、エッジキャッシュの容量以上にキャッシュされるデータが多くなると判断された場合、エッジデータの一部をマスクデータに変換し、マスクデータをイメージキャッシュに格納する。グリフキャッシュが有効になり、1つの共通のイメージとしてイメージキャッシュ内部でまとめて処理することが可能であるため、イメージキャッシュを利用するものである。
【００５９】
図９（ａ）は、重なり合うエッジデータが異なる場合の一例を示す。“Ａ”および“Ｂ“はエッジキャッシュ内部で動作するよう判断されるため、エッジキャッシュ内部で処理可能である。”Ｃ“の時点で、エッジキャッシュから溢れる状態になるため、エッジデータをマスクイメージに変換し、イメージキャッシュ内で処理をさせる。さらに、”Ｄ“および”Ｅ“のマスクイメージが入った場合は、イメージキャッシュからも溢れる状態になる。そのため、部分的に”Ｄ“および”Ｅ“のエッジ描画を先行してレンダリングし、ひとつのマスクイメージ描画へとまとめることで、イメージキャッシュから溢れることを抑制する。図９（ｂ）は、スプールするエッジデータの数が４つに増えたケースである。このように、描画を先行してレンダリングし、ひとつのマスクイメージ描画へとまとめる処理は、最後の描画オブジェクトまでスプールしてから実施するため、いかなるデータがきても、イメージキャッシュから溢れる状態を抑制する。
【００６０】
図１０（ｂ）は、図８（ａ）を対象とした本発明の効果を示す具体例である。従来、レンダリング処理部（２１５）の時間が５２．０４秒かかっていた図８（ａ）のデータが、ディスプレイリスト生成部（２１０）にてエッジ描画をマスク描画へ変換した最適なディスプレイリストを生成することで、０．２２秒へと短縮することができる。
【符号の説明】
【００６１】
１００  画像処理装置
１１０  制御装置（コントローラ部）
１１２  ＣＰＵ
１１４  ＲＯＭ
１１６  ＲＡＭ
１２０  リーダー装置
１３０  プリンタ装置
１５０  操作/表示部
１６０  画像記憶部
１９１  ＰＣ
【図１】
0005936363.tif 000002
【図２】
0005936363.tif 000003
【図３】
0005936363.tif 000004
【図４】
0005936363.tif 000005
【図５】
0005936363.tif 000006
【図６】
0005936363.tif 000007
【図７】
0005936363.tif 000008
【図８】
0005936363.tif 000009
【図９】
0005936363.tif 000010
【図１０】
0005936363.tif 000011