(57)【要約】【課題】効率的に描画データを読み出し・書き込み可能な画像形成装置、画像形成方法、プログラムおよび記録媒体を提供すること。【解決手段】本発明の画像形成装置１１０は、描画データが格納される画像データメモリのサイズに応じて、描画データを分割する分割処理手段２３４と、分割処理手段が分割した各描画データで使用される色数を計数する計数処理手段２３６と、分割処理手段が分割した各描画データを中間データとして保存する描画データ保存手段２３８と、中間データを使用してＲＧＢ形式の描画データを生成する多値描画処理手段２４０と、多値描画処理手段が生成したＲＧＢ形式の描画データをＣＭＹＫ形式の描画データに変換する色変換処理手段２４２とを含む。【選択図】  図２
2011025478.tif 000002
【特許請求の範囲】
【請求項１】
描画データを処理する画像形成装置であって、
前記描画データが格納される画像データメモリのサイズに応じて、前記描画データを分割する分割処理手段と、
前記分割処理手段が分割した各描画データで使用される色数を計数する計数処理手段と、
前記分割処理手段が分割した各描画データを中間データとして保存する描画データ保存手段と、
前記中間データを使用してＲＧＢ形式の描画データを生成する多値描画処理手段と、
前記多値描画処理手段が生成したＲＧＢ形式の描画データをＣＭＹＫ形式の描画データに変換する色変換処理手段と、
を含む画像形成装置。
【請求項２】
前記中間データには、前記描画データの色情報と、前記描画データの属性情報、および前記描画データが描画される画像データに対する前記描画データの透過の割合を示す透過属性値とが含まれており、
前記多値描画処理手段は、前記描画データの色情報および前記透過属性値を使用して前記描画データに対して透過制御処理を実行する、請求項１に記載の画像形成装置。
【請求項３】
前記多値描画処理手段は、前記描画データが描画される画像データの色情報および透過属性値を使用して、前記描画データに対して透過制御処理を実行する、請求項２に記載の画像形成装置。
【請求項４】
前記画像形成装置は、前記描画データの属性情報を使用して、前記色変換処理手段が生成した描画データに対しハーフトーン処理を実行して描画データを２値化する２値変換処理手段をさらに備えている、請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記画像形成装置が備えるＣＰＵが、２回の読み出しで１ピクセル分の前記描画データを読み取り可能である、請求項１〜４のいずれか１項に記載の画像形成装置。
【請求項６】
前記色変換処理手段は、前記多値描画処理手段が描画データを生成する際に使用した画像データメモリの同一領域に前記ＣＭＹＫ形式の描画データを格納する、請求項１〜５のいずれか１項に記載の画像形成装置。
【請求項７】
前記計数処理手段は、分割された各描画データで使用される色値と、前記色値に関連付けられたインデックスとが登録されるインデックステーブルを作成し、
前記多値描画処理手段は、前記インデックステーブルを使用してＲＧＢ形式の描画データを生成し、
前記色変換処理手段は、ＲＧＢ形式およびＣＭＹＫ形式の色値対応表を使用して、前記多値描画処理手段が生成したＲＧＢ形式の描画データをＣＭＹＫ形式の描画データに変換して出力データとする、請求項１〜６のいずれか１項に記載の画像形成装置。
【請求項８】
前記描画データの属性情報には、前記インデックステーブルを用いた描画形式であるインデックス描画形式を指定する情報が含まれており、
前記多値描画処理手段は、前記インデックス描画形式を指定する情報を使用して、ＲＧＢ各色８ビットの描画形式およびインデックス描画形式のいずれかを描画形式として選択することができる、請求項７に記載の画像形成装置。
【請求項９】
前記多値描画処理手段は、分割された描画データで使用されている色数に応じて、前記インデックス描画形式を指定することができる、請求項８に記載の画像形成装置。
【請求項１０】
前記多値描画処理手段は、分割された描画データ毎に描画形式を選択することができる、請求項８または９に記載の画像形成装置。
【請求項１１】
前記多値描画処理手段は、前記描画データの属性情報にラスターオペレーション処理を指定する値が含まれている場合に、前記描画データに対してラスターオペレーション処理を実行し、前記描画データの属性情報に前記透過属性値が含まれている場合に、前記描画データに対し透過制御処理を実行して描画処理を実行する、請求項２〜１０のいずれか１項に記載の画像形成装置。
【請求項１２】
画像形成装置が描画データを処理する方法であって、前記方法は、前記画像形成装置が、
前記描画データが格納される画像データメモリのサイズに応じて、前記描画データを分割するステップと、
分割された各描画データで使用される色数を計数するステップと、
前記分割された各描画データを中間データとして保存するステップと、
前記中間データを使用してＲＧＢ形式の描画データを生成するステップと、
前記ＲＧＢ形式の描画データをＣＭＹＫ形式の描画データに変換するステップと、
を実行する方法。
【請求項１３】
前記中間データには、前記描画データの色情報と、前記描画データの属性情報、および前記描画データが描画される画像データに対する前記描画データの透過の割合を示す透過属性値とが含まれており、前記方法は、前記画像形成装置が、
前記描画データの色情報および前記透過属性値を使用して前記描画データに対して透過制御処理を実行するステップを含む、請求項１２に記載の方法。
【請求項１４】
前記ＲＧＢ形式の描画データを生成するステップは、前記描画データが描画される画像データの色情報および透過属性値を使用して、前記描画データに対して透過制御処理を実行するステップを含む、請求項１３に記載の方法。
【請求項１５】
前記方法は、前記画像形成装置が、前記描画データの属性情報を使用して、前記ＣＭＹＫ形式の描画データに対しハーフトーン処理を実行して描画データを２値化するステップをさらに含む、請求項１２〜１４のいずれか１項に記載の方法。
【請求項１６】
前記画像形成装置が備えるＣＰＵが、２回の読み出しで１ピクセル分の前記描画データを読み取り可能である、請求項１２〜１５のいずれか１項に記載の方法。
【請求項１７】
前記変換するステップは、前記ＲＧＢ形式の描画データを生成する際に使用した画像データメモリの同一領域に前記ＣＭＹＫ形式の描画データを格納するステップを含む、請求項１２〜１６のいずれか１項に記載の方法。
【請求項１８】
前記計数するステップは、前記分割された各描画データで使用される色値と、前記色値に関連付けられたインデックスとが登録されるインデックステーブルを作成するステップを含み、
前記ＲＧＢ形式の描画データを生成するステップは、前記インデックステーブルを使用してＲＧＢ形式の描画データを生成するステップを含み、
前記変換するステップは、ＲＧＢ形式およびＣＭＹＫ形式の色値対応表を使用して、前記ＲＧＢ形式の描画データをＣＭＹＫ形式の描画データに変換して出力データとするステップを含む、請求項１２〜１７のいずれか１項に記載の方法。
【請求項１９】
請求項１２〜１８のいずれか１項に記載の各ステップを画像形成装置に対して実行させるためのコンピュータ実行可能なプログラム。
【請求項２０】
請求項１９に記載のコンピュータ実行可能なプログラムを記録したコンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、より詳細には、描画処理を効率化する画像形成装置、画像形成方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
画像形成装置は、コンピュータ上で作成された文書や画像などを印刷する場合、ＰＤＬ（Page Description Language）によって文字や図形の位置情報、書式情報などのデータを解析・解読し、ビットマップイメージを作成して紙媒体等に印刷する。画像形成装置がＰＤＬを解析・解読する際に行う描画処理として、透過制御処理がある。透過制御処理とは、背景上に描かれたオブジェクトが透けて、オブジェクトが背景に溶け込んでいるように描画する処理であり、Ｍｉｃｒｏｓｏｆｔ社が提供するＷｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａ等のＯＳで使用されている電子文書規格であるＸＰＳ（XML Paper Specification）に基づいた描画処理である。
【０００３】
透過制御処理では、重畳する描画データ（以降、ソースデータとして参照する。）の透過属性情報と、ソースデータが重畳される描画先の画像データ（以降、デスティネーションとして参照する。）の透過属性情報とを使用して、最終的に描画される描画データの色情報を決定する。これらの透過属性情報は、描画データを構成するピクセル毎に保存する必要がある。
【０００４】
また、現在の画像形成装置では、ＰＤＬを解析して得られたカラー画像に対して、複数画素単位で階調を表現させるハーフトーン処理が施されている。ハーフトーン処理とは、黒と白の２色だけを用いてハーフトーン(中間色)を表現する技術であり、２値出力の表示装置でグレースケールを表現しようとする技術である。ハーフトーン処理を実行する場合、透過制御処理後にも描画オブジェクトの属性情報が必要となる。
【０００５】
したがって、透過制御処理を実行する場合には、描画データの色情報、属性情報、および透過属性情報がピクセル毎に必要となり、ＲＧＢ２４ｂｉｔで１ピクセル分の描画データを処理するためには、色情報（３バイト）の他、属性情報および透過属性情報のデータをＣＰＵのレジスタにロードする必要がある。
【０００６】
特許文献１は、入力された描画コマンドをビットマップ画像に描画する描画プレーンを生成する手段と、描画コマンドの画像オブジェクトを描画プレーンに重畳して新たに描画プレーンを生成する手段と、描画コマンドとその属性から画像全体の各ピクセルに対して属性の決定に用いる情報プレーンを生成する手段とを備える画像形成装置を開示する。この画像形成装置は、ＲＧＢ２４ｂｉｔの描画プレーンおよび３ｂｉｔの情報プレーンを用いて、ＲＧＢ２４ｂｉｔからＣＭＹＫ３２ｂｉｔの色空間変換を行う。したがって、特許文献１の画像形成装置は、１ピクセル分の描画処理を実行するために、少なくとも４バイトのデータ量を処理する。
【０００７】
一方、現在の画像形成装置で使用されているＣＰＵは通常、３２ｂｉｔ（４バイト）のレジスタを含んで構成されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に示すような従来の画像形成装置で透過制御処理を実行しようとする場合、色情報および属性情報の他、透過属性情報を含む描画データをレジスタにロードする必要があるため、通常使用されている３２ｂｉｔのレジスタは、１ピクセル分の描画データを１度にロードすることができない。このため、ＣＰＵは、ＲＡＭ等に格納されている描画データを１バイト単位でレジスタにロードして、１ピクセル分の描画データを処理しなければならず、解像度が高い印刷データほど描画処理が非効率的になるという問題があった。
【０００９】
したがって、画像形成装置に搭載されたＣＰＵが少ない読み出し回数で効率的に描画データを読み出すことができ、さらに描画データを効率的に画像データメモリに書き込むことができる画像形成装置が必要とされていた。
【００１０】
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、効率的に描画データを読み出し・書き込み可能な画像形成装置、画像形成方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明では、上述した問題に対応するために、描画データを処理する画像形成装置は、描画データが格納される画像データメモリのサイズに応じて、描画データを分割する分割処理手段と、分割処理手段が分割した各描画データで使用される色数を計数する計数処理手段と、分割処理手段が分割した各描画データを中間データとして保存する描画データ保存手段と、中間データを使用してＲＧＢ形式の描画データを生成する多値描画処理手段と、多値描画処理手段が生成したＲＧＢ形式の描画データをＣＭＹＫ形式の描画データに変換する色変換処理手段とを含む。
【００１２】
中間データには、描画データの色情報と、描画データの属性情報、および描画データが描画される画像データに対する描画データの透過の割合を示す透過属性値とが含まれており、多値描画処理手段は、描画データの色情報および透過属性値を使用して描画データに対して透過制御処理を実行することができる。
【００１３】
また、多値描画処理手段は、描画データが描画される画像データの色情報および透過属性値を使用して、描画データに対して透過制御処理を実行することができる。
【００１４】
さらに、画像形成装置は、描画データの属性情報を使用して、色変換処理手段が生成した描画データに対してハーフトーン処理を実行して、描画データを２値化する２値変換処理手段をさらに備えており、描画データをグレースケールで表現することができる。
【００１５】
さらに、画像形成装置が備えるＣＰＵが、２回の読み出しで１ピクセル分の描画データを読み取り可能であり、描画処理を効率化することができる。
【００１６】
さらに、色変換処理手段は、多値描画処理手段が描画データを生成する際に使用した画像データメモリの同一領域にＣＭＹＫ形式の描画データを格納し、これにより、画像データメモリへの書き込み処理を効率化することができる。
【００１７】
さらに、計数処理手段は、分割された各描画データで使用される色値と、当該色値に関連付けられたインデックスとが登録されるインデックステーブルを作成し、多値描画処理手段は、インデックステーブルを使用して、ＲＧＢ形式の描画データを生成し、色変換処理手段は、ＲＧＢ形式およびＣＭＹＫ形式の色値対応表を用いて、多値描画処理手段が生成したＲＧＢ形式の描画データをＣＭＹＫ形式の描画データに変換して出力データとするため、描画処理に必要とされるデータ量を大幅に削減することができる。
【００１８】
さらに、描画データの属性情報には、インデックステーブルを用いた描画形式であるインデックス描画形式を指定する情報が含まれており、多値描画処理手段は、インデックス描画形式を指定する情報を使用して、ＲＧＢ各色８ビットの描画形式およびインデックス描画形式のいずれかを描画形式として選択することができる。
【００１９】
さらに、多値描画処理手段は、分割された描画データで使用されている色数に応じて、インデックス描画形式を指定することができる。
【００２０】
さらに、多値描画処理手段は、分割された描画データ毎に描画形式を選択することができる。
【００２１】
さらに、多値描画処理手段は、描画データの属性情報にラスターオペレーション処理を指定する値が含まれている場合に、描画データに対してラスターオペレーション処理を実行し、描画データの属性情報に前記透過属性値が含まれている場合に、描画データに対して透過制御処理を実行するため、ラスターオペレーション処理または透過制御処理を選択的に指定することができる。
【００２２】
また、本発明は、画像形成装置が、画像データメモリのサイズに応じて描画データを分割し、各描画データで使用される色数を計数し、各描画データを中間データとして保存し、中間データを使用してＲＧＢ形式の描画データを生成し、ＲＧＢ形式の描画データをＣＭＹＫ形式の描画データに変換する方法を提供する。
【００２３】
さらに、本発明は、画像処理装置を上記機能手段として機能させるためのコンピュータ実行可能なプログラムおよび記録媒体を提供する。
【図面の簡単な説明】
【００２４】
【図１】本発明の画像形成装置１００のハードウェア構成の実施形態を示した図。
【図２】本実施形態のコントローラ１１０の機能ブロック２００を示した図。
【図３】本実施形態のコントローラ１１０が実行する描画処理のフローチャート。
【図４】従来のＰＤＬの描画命令４００Ａおよび本実施形態のコントローラ１１０が使用する描画命令４００Ｂの実施形態を示した図。
【図５】描画モジュール・インタフェース２３２が描画した描画オブジェクトの実施形態を示した図。
【図６】計数処理部２３６が描画オブジェクトの色を計数するために使用されるカラーテーブルおよび色数管理テーブルの実施形態を示した図。
【図７】中間データとして保存される描画データのデータ構造７００Ａおよび描画コマンドの対応表７００Ｂを示した図。
【図８】描画データが格納される画像データメモリ８００のデータ構造を示す概念図。
【図９】インデックス描画形式により描画データを処理する際に使用するインデックステーブルの作成処理のフローチャート。
【図１０】図９の処理によって作成されたインデックステーブルの実施形態を示した図。
【図１１】インデックス描画形式によって画像データメモリに点順次フォーマットで格納された描画データのデータ構造を示した図。
【発明を実施するための形態】
【００２５】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本発明の画像形成装置１００のハードウェア構成の実施形態を示す。画像形成装置１００は、ネットワークプリンタやラインプリンタなどの印刷処理装置として機能し、画像形成装置１００の制御を行うコントローラ１１０と、用紙に画像を印刷するためのエンジン１４０と、ユーザからの入力を受領し、または画像形成装置１００の状態を表示するパネル装置１５０とを含んで構成されている。
【００２６】
コントローラ１１０は、ＣＰＵ１１２と、ＲＯＭ１１４とを含んでいる。ＣＰＵ１１２は、コントローラ１１０が実装するプログラムの命令を実行する。ＲＯＭ１１４は、コントローラ１１０上で動作するプログラムを格納する。また、コントローラ１１０は、ＲＡＭ１１６を含んでおり、プログラムが生成するページ空間を提供するページメモリ等の画像データメモリや、プログラムが動作するために必要なワークメモリとして機能する。さらに、コントローラ１１０は、ＮＶＲＡＭ１１８を含んでおり、ＮＶＲＡＭ１１８は、画像形成装置１００の印刷設定条件などを保存する。
【００２７】
また、コントローラ１１０は、ネットワーク・インタフェース（以下、ネットワークＩ／Ｆとして参照する。）１２０とエンジン・インタフェース（以下、エンジンＩ／Ｆとして参照する。）１２２とを含んでおり、ネットワークＩ／Ｆ１２０は、ネットワークを介してホストＰＣ１３０とデータ交換を行ない、エンジンＩ／Ｆ１２２は、エンジン１４０に対する印刷制御を行う。さらに、コントローラ１１０は、パネル装置１５０の制御を行うためのパネル・インタフェース（以下、パネルＩ／Ｆとして参照する。）１２４とを含んでおり、ユーザからの入力を受領して各種処理を実行する。
【００２８】
さらに、画像形成装置１００は、ネットワークを介してホストＰＣ１３０に接続されており、ホストＰＣ１３０から印刷指示を受領して印刷処理を行う。ネットワークは、１０００Ｂａｓｅ−ＴＸなどのイーサネット（登録商標）、光ネットワーク、ＩＥＥＥ８０２．１１などの規格に準拠した無線ネットワークを含んで構成することができ、フレームまたはＴＣＰ／ＩＰプロトコルに基づくパケット通信によって、相互通信が行われる。ネットワークは、ＬＡＮ（Local Area Network）などの狭域ネットワークとして構成することができる。
【００２９】
図２は、本実施形態のコントローラ１１０の機能ブロック２００を示した図である。コントローラ１１０は、ＰＤＬ（Page Description Language）の構文解析を行うＰＤＬパーサ２２０と、描画処理を行う描画コア２３０とを含んで構成されている。ＰＤＬパーサ２２０は、ホストＰＣ１３０から受領した印刷データに含まれるＰＤＬの構文解析を行う。ＰＤＬパーサ２２０は、Ｐｏｓｔ  ＳｃｒｉｐｔやＰＤＦ、ＰＣＬ、ＸＰＳなどの様々なページ記述言語を解析可能であり、描画コア２３０を呼び出して描画処理を実行させることにより、ＰＤＬの種類に関わらず描画が可能である。
【００３０】
描画コア２３０は、描画モジュール・インタフェース（以下、描画モジュールＩ／Ｆとして参照する。）２３２と、分割処理部２３４と、計数処理部２３６と、描画データ保存部２３８とを含んでいる。描画モジュールＩ／Ｆ２３２は、ＰＤＬパーサ２２０からテキスト、イメージ、ベクターグラフィックス等の描画データや、色、ブラシ、透過属性情報である透過属性値、線形状等の描画設定情報を受領するインタフェースであり、描画データや描画設定情報を設定可能なインタフェース関数を備えている。描画コア２３０は、当該インタフェース関数を用いてＰＤＬから描画データを生成する。なお、インタフェース関数については、より詳細に後述する。
【００３１】
分割処理部２３４は、コントローラ１１０が１ページ分の描画データを格納可能なメモリを確保できない場合に、ページメモリ等の画像データメモリが格納可能な大きさに描画データを分割する。具体的には、分割処理部２３４は、描画モジュールＩ／Ｆ２３２が描画するデータである描画オブジェクトをバンド高さに応じて分割する。バンド高さとは、描画オブジェクトが描画される画像データであるデスティネーションをｙ軸方向に分割した領域の幅であり、画像データメモリが格納可能な描画データのデータ量によって決められる。なお、分割処理部２３４の分割処理については、より詳細に後述する。
【００３２】
計数処理部２３６は、分割処理部２３４が分割した各描画オブジェクトを構成する色の数である色数を計数する。計数処理部２３６は、計数した色数をバンドに関連付けて色数管理テーブルに登録する。また、計数処理部２３６は、計数した色数がしきい値以下の場合には、後述するインデックステーブルを作成する。しきい値は、ＲＧＢの各色を８ビットで表現される色数よりも少ない値、例えば、２、４、１６、１２８、２５６等とすることができる。したがって、１ピクセルの描画データを表現するのに２４ビットの画像データメモリを必要とするＲＧＢの各色８ビットの表現形式に比べて、インデックステーブルを用いて描画データを表現するインデックス形式は、使用する画像データメモリのデータ量を大幅に削減することができる。
【００３３】
描画データ保存部２３８は、分割処理部２３４が分割した描画データを中間データとしてＲＡＭ等のメモリまたはＨＤＤ等の主記憶装置に保存する。なお、計数処理部２３６の計数処理、インデックステーブル作成処理、および保存される中間データの詳細については、より詳細に後述する。
【００３４】
さらに、描画コア２３０は、多値描画処理部２４０と、色変換処理部２４２と、２値変換処理部２４４とを含んでいる。多値描画処理部２４０は、中間データとして保存されている描画データおよびデスティネーションの描画データを用いて、描画対象であるオブジェクトの描画データを生成し、各色８ビットのＲＧＢカラーデータとして画像データメモリに格納する。また、多値描画処理部２４０は、描画形式がインデックス形式である場合、計数処理部２３６が作成したインデックステーブルを用いて描画データを画像データメモリに格納する。
【００３５】
色変換処理部２４２は、多値描画処理部２４０が画像データメモリに格納した描画データに対して色変換処理を実行して、ＲＧＢ形式の描画データを、デバイスの色特性に適合したＣＭＹＫ形式の描画データに変換し、画像データメモリを更新する。また、色変換処理部２４２は、描画形式がインデックス形式である場合、ＲＢＧ形式の色値とＣＭＹＫ形式の色値との対応表を用いて、描画データをＲＧＢ形式からＣＭＹＫ形式に変換する。
【００３６】
２値変換処理部２４４は、画像データメモリからＣＭＹＫ形式の描画データおよび属性データを受領し、属性データを用いて、描画オブジェクト毎にディザ法や誤差拡散法などによる階調処理、ディザリング処理等のハーフトーン処理を実行して、描画データを２値形式に変換する。属性データには、オブジェクトの種類、例えば、当該オブジェクトを構成する各ピクセルがイメージ、文字、塗りつぶし図形、線等であるかを示すフラグ情報が含まれている。本実施形態のハーフトーン処理では、オブジェクトの各ピクセルの色と、ハーフトーンパターンまたはディザパターンの閾値とを比較し、当該ピクセルの色が閾値以上である場合には、属性データからオブジェクトの種類を判断し、当該オブジェクトに適したハーフトーンパターンを用いてハーフトーン処理を行う。
【００３７】
図３は、本実施形態のコントローラ１１０が実行する描画処理のフローチャートを示す。以下、図３を参照して、コントローラ１１０の描画処理について説明する。
【００３８】
図３の処理は、画像形成装置１００がホストＰＣ１３０から印刷データを受領することにより開始する。図３の処理は、ステップＳ３００から開始し、ステップＳ３０１では、画像形成装置１００のコントローラ１１０に実装されているＰＤＬパーサ２２０が、受領した印刷データに含まれるページ記述言語を解析する。ステップＳ３０２は、ＰＤＬパーサ２２０が、描画コア２３０に含まれる描画モジュールＩ／Ｆ２３２をコールして描画処理を実行する。
【００３９】
ステップＳ３０３では、分割処理部２３４が、ステップＳ３０２で生成された描画オブジェクトを特定のバンド高さ毎に分割する。ステップＳ３０４では、計数処理部２３６が、後述するカラーテーブルを使用して、分割された各描画オブジェクトの色数を計数する。ステップＳ３０５では、計数処理部２３６が、ステップＳ３０４で計数した色数がしきい値以下であるか判断し、色数がしきい値以下である場合には（ｙｅｓ）、処理をステップＳ３０６に分岐する。ステップＳ３０６では、計数処理部２３６が、後述するインデックステーブルを作成する。一方、ステップＳ３０５の判定で、色数がしきい値よりも大きいと判断された場合には（ｎｏ）、処理をステップＳ３０７に分岐する。
【００４０】
ステップＳ３０７では、描画データ保存部２３８が、分割された描画データおよび描画設定情報を中間データとして保存する。ステップＳ３０８では、多値描画処理部２４０が中間データを取得し、描画形式がインデックス形式であるか否か判断する。ステップＳ３０８の判定で、描画形式がインデックス形式でないと判断された場合（ｎｏ）、処理をステップＳ３０９に分岐させる。ステップＳ３０９では、多値描画処理部２４０が、描画データを画像データメモリに描画する。ステップＳ３１０では、色変換処理部２４２が、出力デバイスの色特性に合わせて描画データの色変換を行う。
【００４１】
一方、ステップＳ３０８の判定で、描画形式がインデックス形式であると判断された場合（ｙｅｓ）、処理をステップＳ３１１に分岐させる。ステップＳ３１１では、多値描画処理部２４０が、インデックステーブルを用いて描画データを画像データメモリに描画する。ステップＳ３１２では、色変換処理部２４２が、ＲＧＢ形式およびＣＭＹＫ形式の色値対応表を用いて、描画データをＲＧＢ形式からＣＭＹＫ形式に変換する。
【００４２】
ステップＳ３１３では、２値変換処理部２４４が、色変換処理部２４２が変換した描画データに対してハーフトーン処理を実行して２値形式に変換し、ステップＳ３１４で処理を終了する。
【００４３】
図４は、従来のＰＤＬの描画命令４００Ａおよび本実施形態のコントローラ１１０が使用する描画命令４００Ｂの実施形態を示した図である。描画命令４００Ａは、Ｐｏｓｔ  Ｓｃｒｉｐｔで使用される描画命令である。描画命令４００Ａは、カラースペースとしてＲＧＢカラースペースが指定されており、色値（０．５，０．０，０．０）が指定されている。また、描画命令４００Ａは、対角の座標（１００，１００）および座標（２００，２００）を指定して矩形を描画する。
【００４４】
描画命令４００Ｂには、描画データの色指定を行うインタフェース関数ｓｅｔｃｏｌｏｒと、矩形を描画するインタフェース関数ｒｅｃｔａｎｇｌｅとが含まれている。インタフェース関数ｓｅｔｃｏｌｏｒは、第１引数でカラースペースを指定し、第２〜第４引数で描画データの色値を０．０〜１．０の範囲で指定する。本実施形態では、カラースペースとしてＲＧＢカラースペースが指定されており、色値（０．５，０．０，０．０）が指定されている。
【００４５】
インタフェース関数ｒｅｃｔａｎｇｌｅは、描画データとされるべき値を引数として対角の座標（１００，１００）および座標（２００，２００）が指定された矩形を描画するインタフェース関数である。これらのインタフェース関数をコールすることにより、上述したＰｏｓｔ  Ｓｃｒｉｐｔの描画命令が生成する描画データと同じ描画データを生成することができる。
【００４６】
図５は、描画モジュールＩ／Ｆ２３２が描画した描画オブジェクトの実施形態を示した図である。以下、図５を参照して、分割処理部２３４の描画データの分割処理について説明する。
【００４７】
図５には、描画オブジェクト５１０、５２０が示されている。図５の実施形態では、バンド高さを２５６としており、Ｙ座標が０〜２５５をバンド０、Ｙ座標が２５６〜５１２をバンド１として規定している。描画オブジェクト５１０は、インタフェース関数ｒｅｃｔａｎｇｌｅに引数（１００，１００，２００，２００）を設定して描画されたデータである。図５に示すように、描画オブジェクト５１０は、Ｙ座標が０〜２５５の範囲に収まるため、バンド０に分類される。
【００４８】
描画オブジェクト５２０は、インタフェース関数ｒｅｃｔａｎｇｌｅに引数（１００，１００，３００，３００）を設定して描画されたデータである。図５に示すように、描画オブジェクト５２０は、バンド高さを規定する境界を跨って存在する。したがって、本実施形態の場合、分割処理部２３４は、描画オブジェクト５２０を、描画オブジェクト５２２と描画オブジェクト５２４とに分割する。本実施形態では、描画オブジェクト５２２はバンド０に分類され、描画オブジェクト５２４はバンド１に分類される。なお、本実施形態では、バンド高さを２５６としているが、画像データメモリに格納可能な限り、任意の大きさにすることができる。また、本実施形態では、座標の原点を左下にして説明しているが、他の実施形態では、原点を左上に規定することもできる。
【００４９】
分割処理部２３４は、画像データメモリに格納可能なデータ量の描画データ、本実施形態では、描画オブジェクト５１０、５２０に分割する。そして、多値描画処理部２４０が、描画データのうちの一つ、例えば、描画オブジェクト５１０を画像データメモリに格納する。その他の描画データ、例えば、描画オブジェクト５２０は、圧縮して画像データメモリ以外のＲＡＭに格納するか、またはＨＤＤに待避しておく。描画データ５１０の描画処理が終了した場合には、描画データ５１０は圧縮されて画像データメモリ以外のＲＡＭに格納され、またはＨＤＤに格納される。そして、多値描画処理部２４０は、圧縮された描画データ５２０を解凍して画像データメモリにロードし、またはＨＤＤから画像データメモリに描画データをロードする。
【００５０】
図６は、計数処理部２３６が描画オブジェクトの色を計数するために使用されるカラーテーブルおよび色数管理テーブルの実施形態を示した図である。以下、図６を参照して、カラーテーブル６１０および色数管理テーブル６２０について説明する。図６で説明する各種データおよび各種データに対して施す処理によって、本実施形態の色変換処理が行われる。
【００５１】
カラーテーブル６１０はハッシュテーブルであり、描画オブジェクトで使用されている色を示す色値を元に生成されたハッシュ値であるインデックス値６１２を添え字とした配列である。本実施形態のカラーテーブル６１０は、２５６の配列が結合されたデータ構造を有しており、各配列には、描画オブジェクトで使用されている色を示す色値がリスト形式で格納される。
【００５２】
本実施形態では、インデックス値６１２は、描画オブジェクトで使用されている色の色値を元に算出される。具体的には、描画オブジェクトを構成するピクセルの色値がＲＧＢ（２５５，０，０）である場合、これらの値の総和をハッシュテーブルサイズで除したときに得られる剰余（モジュロ）をハッシュ値とする。すなわち、ＲＧＢ（２５５，０，０）の場合、色値の総和（２５５＋０＋０）をハッシュテーブルサイズ（２５６）で除して得られた剰余（２５５）がハッシュ値、すなわちインデックス値である。したがって、色値（２５５，０，０）は、インデックス値（２５５）に関連付けられた配列６１６に格納される。
【００５３】
同様に、色値がＲＧＢ（０，０，２５５）である場合、色値の総和（０＋０＋２５５）をハッシュテーブルサイズ（２５６）で除して得られた剰余（２５５）がインデックス値であり、色値（０，０，２５５）は、当該インデックス値に関連付けられた配列６１８に新たなリストとして追加される。なお、同一の色値がカラーテーブルに既に登録されている場合には、当該色値は登録されない。
【００５４】
計数処理部２３６は、バンド単位で分割された各描画オブジェクトのカラーテーブルを作成し、カラーテーブルに登録された色値の数を計数する。そして、計数処理部２３６は、計数された数を当該描画オブジェクトで使用されている色の数として、色数管理テーブル６２０に登録する。
【００５５】
色数管理テーブル６２０は、各バンドで使用されている色の数を登録するデータテーブルである。色数管理テーブル６２０のバンド６２２には、分割処理部２３４が生成したバンドを固有に識別するバンド名が登録される。色数６２４には、各バンドで使用される色の数が、バンド名に関連付けられて登録される。
【００５６】
図７は、描画データ保存部２３８が中間データとして保存する描画データのデータ構造７００Ａおよび描画モジュールＩ／Ｆ２３２が発行する描画コマンドの対応表７００Ｂを示した図である。以下、図７を参照して、中間データについて説明する。
【００５７】
中間データは、分割処理部２３４が分割した各描画オブジェクトの属性情報、描画位置情報およびイメージデータ等を含むデータであり、ＦＩＦＯ（First In First Out）形式により、ＲＡＭやＨＤＤ等の記憶装置に格納される。中間データは、描画オブジェクトの属性情報であるグラフィックス状態（ＧＳｔａｔｕｓ）が格納されるレコード７１０と、描画モジュールＩ／Ｆ２３２が発行する描画コマンドのＩＤ番号７２２、パッディングバイト７２４および描画コマンドの属性情報（ｆｌａｇ）７２６が格納されるレコード７２０と、描画コマンドによって生成される描画データの位置情報が格納されるレコード７３０とが含まれる。
【００５８】
レコード７１０に格納されるグラフィックス状態には、描画オブジェクトのカラースペース、色値、透過属性値、ラスターオペレーション（Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ値（以降、ＲＯＰ値として参照する。）、線幅および描画形式情報などの属性情報が含まれる。描画形式情報とは、描画オブジェクトをＲＧＢ形式によって描画する方法か、インデックス形式によって描画する方法かを選択するための情報である。
【００５９】
図５を参照して説明した描画コマンドｓｅｔｃｏｌｏｒ（ＲＧＢＣｏｌｏｒ，０．５，０．０，０．０）の場合、ＲＧＢカラースペースおよび色値（０．５，０．０，０．０）が、グラフィックス状態として設定される。なお、同一のバンド内で複数の色が使用されている場合には、複数の色値をグラフィックス状態として設定することができる。
【００６０】
レコード７２０に含まれる描画コマンドのＩＤ番号７２２には、描画モジュールＩ／Ｆ２３２が発行する描画コマンドの種類が設定される。対応表７００Ｂには、描画コマンドのＩＤ番号と描画コマンドとの対応関係が示されている。本実施形態では、ＩＤ＝０ｘ００は、矩形を描画するコマンドであるＲｅｃｔａｎｇｌｅを示し、ＩＤ＝０ｘ０１は、直線を描画するコマンドであるＬｉｎｅＤｒａｗを示している。また、ＩＤ＝０ｘ０２は、直線で囲まれた領域を塗りつぶすコマンドであるＬｉｎｅＦｉｌｌを示しており、ＩＤ＝０ｘ０３は、イメージを描画するコマンドであるＩｍａｇｅを示している。さらに、ＩＤ＝０ｘ０４は、文字を描画するコマンドであるＴｅｘｔを示している。
【００６１】
描画コマンドの属性情報（ｆｌａｇ）７２６には、例えば、描画コマンドＲｅｃｔａｎｇｌｅをＣｌｉｐとする場合に、クリッピングの有効を示す情報などが含まれ、ビット操作により当該属性情報を指定することができる。
【００６２】
レコード７３０には、描画コマンドによって生成される描画オブジェクトの位置情報が格納され、図５を参照して説明した描画コマンドＲｅｃｔａｎｇｌｅ（１００，１００，２００，２００）の場合、引数として指定された描画オブジェクトの左下座標（１００，１００）および右上座標（２００，２００）が、それぞれレコード７３２、レコード７３４、レコード７３６およびレコード７３８に登録される。
【００６３】
また、レコード７４０には、別のバンドの描画データが中間データとして登録されている。当該描画データの描画コマンドＩＤ７４２は、テキストを描画するコマンドが設定されており、そのテキストの描画位置が、レコード７４４およびレコード７４６で指定される。レコード７４８には、ＥＵＣ−ＪＰやＳｈｉｆｔ＿ＪＩＳ、ＵＴＦ−８などのテキストの文字コードが登録される。レコード７５０は、描画される文字の大きさが登録され、文字の大きさを指定するポイント等の値が設定される。
【００６４】
さらに、レコード７６０には、他のバンドの描画データが中間データとして登録されている。当該描画データの描画コマンドＩＤ７６２は、イメージを描画するコマンドが設定されており、そのイメージの描画位置が、レコード７６４およびレコード７６６で指定される。レコード７６８には、描画されるイメージデータが設定される。レコード７６８には、描画されるイメージデータが格納されたメモリ領域のアドレスや圧縮されたイメージデータ、非圧縮のイメージデータなどを格納することができる。
【００６５】
なお、本実施形態では、座標の原点が左下に位置することを前提にして描画オブジェクトの描画位置を説明しているが、他の実施形態では、原点を左上に規定して描画位置を指定することができる。
【００６６】
図８は、描画データが格納される画像データメモリ８００のデータ構造を示す概念図である。図８に示す画像データメモリ８００は、各ピクセルのＲＧＢ色情報が点順次フォーマットで格納されるメモリ領域であるＲＧＢプレーン８１０と、各ピクセルの属性値が格納されるメモリ領域である属性プレーン８２０と、デスティネーションの各ピクセルの透過属性値が格納されるメモリ領域である透過プレーン８３０とを含んでいる。
【００６７】
ＲＧＢプレーン８１０は、描画処理が施されたオブジェクトのピクセル毎の色情報（Ｐ、Ｒ、Ｇ、Ｂ）が設定されるメモリ領域であり、描画オブジェクトが描画されるデスティネーションを構成する各ピクセルの色情報が予め設定されている。ＲＧＢプレーン８１０には、例えば、ページに何も描画されていない場合には、初期値としてデスティネーションの色値であるＣｄ（Ｐ，Ｒ，Ｇ，Ｂ）＝（０，２５５，２５５，２５５）が設定される。そして、ＲＧＢプレーン８１０には、当該デスティネーションの色値等を使用して算出される描画処理後のデスティネーションの色値であるＣｄ’が登録される。なお、デスティネーションの色値Ｃｄ’の算出方法については、より詳細に後述する。
【００６８】
ＲＧＢプレーン８１０の各色情報は１バイトのデータ量を有しているため、１ピクセルの描画に必要な色情報のデータサイズは４バイトである。Ｐはパディングバイトであり、カラースペースがＲＧＢカラースペースの場合には、０がパディングバイトとして埋められる。Ｒ、Ｇ、Ｂは、それぞれ赤、緑、青を示しており、本実施形態では、各色が８ビットの情報量を有しているため、各色が２５６種類の色を表現することができる。
【００６９】
属性プレーン８２０は、描画処理が施されたオブジェクトの各ピクセルの属性情報が格納されるメモリ領域である。属性情報は、描画されたピクセルの種類を区別するための情報であり、描画されたピクセルが、文字、イメージ、グラフィックス等であるか区別するために使用される。本実施形態では、１ピクセルの描画に必要な属性情報のサイズは１バイト（８ビット）であり、１ピクセルにつき最大で２５６種類の属性情報を持たせることができる。
【００７０】
透過プレーン８３０は、透過制御処理が施されたオブジェクトの透過属性値が登録されるメモリ領域であり、描画オブジェクトが描画されるデスティネーションを構成する各ピクセルの透過属性値が予め設定されている。透過プレーン８３０には、例えば、初期値としてデスティネーションの透過属性値Ａｄ＝０（不透過）が設定される。透過属性値は、重畳する描画データの透過の割合を示す値であり、０〜１００の値で指定される。当該透過属性値は、描画処理後のデスティネーションの色値を決定するために使用され、透過制御処理後のデスティネーションの透過属性値であるＡｄ’が、透過プレーン８３０に登録される。なお、透過制御処理後のデスティネーションの透過属性値Ａｄ’の算出方法については、より詳細に後述する。本実施形態では、１ピクセルの描画に必要とされる透過属性値のデータサイズは１バイト（８ビット）である。なお、ラスターオペレーション処理を実行する場合には、透過プレーン８３０は使用されない。
【００７１】
本実施形態の画像形成装置１００のＣＰＵ１１２は、１ピクセル分の描画データとして、４バイトの色情報、１バイトの属性情報および１バイトの透過属性情報を処理し、１ピクセル分の描画処理に必要な描画データサイズは、合計６バイトとなる。本実施形態では、１ピクセルの描画処理を実行する場合、ＣＰＵ１１２に含まれる３２ｂｉｔレジスタが、４バイトの色情報と、１バイトの属性情報および１バイトの透過属性情報とを個別にロードするように構成されており、合計２回の読み出し処理で１ピクセル分の描画データを取得することができる。
【００７２】
なお、本実施形態では、属性プレーン８２０および透過プレーン８３０を個別のメモリ領域として説明しているが、他の実施形態では、同一のプレーン内に同一のピクセルの属性情報および透過属性値を格納してもよい。この場合、１ピクセル分の属性情報および透過属性値として、２バイトのメモリ領域が必要となる。
【００７３】
多値描画処理部２４０は、ＦＩＦＯ形式により中間データとして保存された描画データを順に取り出して、ラスターオペレーション処理または透過制御処理を実行して、図８に示すように画像データメモリに格納する。ラスターオペレーション処理は、Ｗｉｎｄｏｗｓ（登録商標）系のＯＳで使用されるグラフィックスエンジンが行う画像処理であり、同一領域内で重畳する図形を構成する各ピクセルの色値をビット演算（例えば、ＯＲ、ＸＯＲ、ＡＮＤ等）する処理である。
【００７４】
透過制御処理は、Ｗｉｎｄｏｗｓ（登録商標）Ｖｉｓｔａ等のＯＳがサポートするＸＰＳやＰＤＦ等で使用される画像処理であり、同一領域内で重畳する図形の透過属性値（０〜１００％）を使用して色値を決定し、描画オブジェクトの透過性描画を実現する処理である。本実施形態の多値描画処理部２４０は、ラスターオペレーション処理および透過制御処理の双方を用いて描画処理を行うことはないが、他の実施形態では、ラスターオペレーション処理および透過制御処理の双方を同時に用いて描画処理を行ってもよい。
【００７５】
以下、本実施形態の上述した透過制御処理について、さらに詳細に説明する。通常、透過制御処理は、（１）描画対象であるソースデータに対してのみ実行する場合と、（２）ソースデータおよび当該ソースデータが描画されたデスティネーションの双方に対して実行する場合とがある。
【００７６】
（１）の場合、ソースデータのピクセル値をＳ、デスティネーションのピクセル値をＤ、ソースデータの透過属性値をα（０〜１の値）とすると、透過制御処理実行後の色値ＮｅｗＤは、以下のようになる。
【００７７】
【数１】
2011025478.tif 000003
【００７８】
この処理は、ＲＧＢの各色に対して実施される。デスティネーションのピクセル値Ｄが存在しない場合には、透過プレーン８３０は使用されない。
【００７９】
（２）の場合、ソースデータの透過属性値をＡｓ（０〜１の値）、デスティネーションの透過属性値をＡｄ、透過制御処理実施後のデスティネーションの透過属性値をＡｄ’、ソースデータの色値をＣｓ、デスティネーションの色値をＣｄ、透過制御処理実施後のデスティネーションの色値をＣｄ’とすると、以下の式が成り立つ。
【００８０】
【数２】
2011025478.tif 000004
【００８１】
透過制御処理によって算出されたデスティネーションの透過属性値Ａｄ’は、透過プレーン８３０の該当するメモリ領域に格納される。
【００８２】
多値描画処理部２４０は描画処理を行う場合、中間データとして保存されているグラフィックス状態（ＧＳｔａｔｕｓ）を取得する。ＧＳｔａｔｕｓに描画対象であるオブジェクトの透過属性値が設定されている場合には、多値描画処理部２４０は、ＧＳｔａｔｕｓから当該透過属性値および色値を取得するとともに、ＲＧＢプレーン８１０に設定されているデスティネーションの色値と、透過プレーン８３０に設定されているデスティネーションの透過属性値とを取得する。
【００８３】
そして、多値描画処理部２４０は、描画オブジェクトの透過属性値および色値と、デスティネーションの色値および透過属性値とを用いて、透過制御処理を実行して、新たな描画データであるデスティネーションの色値および透過属性値を算出し、画像データメモリを更新する。なお、本実施形態では、透過制御処理の方式は、同一ページを処理する場合には１つの方式が採用されるため、複数の方式が混在することはない。
【００８４】
一方、ＧＳｔａｔｕｓにＲＯＰ値としてラスターオペレーション処理を指定するＩＤが設定されている場合には、多値描画処理部２４０は、重畳するソースデータおよびデスティネーションデータの各ピクセルの色値に対して、当該ＩＤにより指定されたビット演算を実行する。当該ＩＤは、０から２５５までの２５６通り設定することができ、各ＩＤに対してビット演算が予め関連付けられている。
【００８５】
次に、色変換処理部２４２は、多値描画処理部２４０が生成した描画データに対して色変換処理を実行する。色変換処理は、描画データの色情報をＲＧＢ形式からＣＭＹＫ形式に変換する処理であり、本実施形態では、色変換処理として、カラーマッチング処理およびＢＧ／ＵＣＲ（Black generation/Under Color removal）処理が利用される。
【００８６】
色変換処理部２４２は、多値描画処理部２４０が生成したＲＧＢプレーン８１０および属性プレーン８２０に格納されるＲＧＢ形式の描画データを画像データメモリから取得し、カラーマッチング・モジュールをコールする。カラーマッチング・モジュールは、取得した描画データに対して、カラーマッチング処理を実行し、描画データの色を出力デバイスの色特性に適合した色に変換し、画像データメモリの同一アドレスに格納する。
【００８７】
さらに、カラーマッチング処理では、属性プレーンに格納された属性データを参照して、文字、イメージ、グラフィックス等の描画オブジェクトの種類毎に色を変換することができる。
【００８８】
次に、色変換処理部２４２は、ＢＧ／ＵＣＲモジュールをコールする。ＢＧ／ＵＣＲモジュールは、画像データメモリに格納されている描画データにＢＧ／ＵＣＲ処理を実行して、描画データの表現形式をＲＧＢ形式からＣＭＹＫ形式に変換する。
【００８９】
図８は、ＢＧ／ＵＣＲ処理実施後のＣＭＹＫ形式の描画データが格納されるメモリ領域であるＫＣＭＹプレーン８４０を示している。ＫＣＭＹプレーン８４０は、ピクセル毎の色情報（Ｋ、Ｃ、Ｍ、Ｙ）が含まれている。各色情報は１バイトのデータ量を有しており、１ピクセルの描画に必要な色情報のデータサイズは４バイトである。Ｋ、Ｃ、Ｍ、Ｙは、それぞれ黒、シアン、マゼンダ、黄を示しており、本実施形態では、各色が８ビットの情報量を有するため、各色が２５６種類の色を表現することができる。
【００９０】
図８に示すように、ＢＧ／ＵＣＲ処理の前後では、描画データのサイズは変更されず、本実施形態では、描画データのサイズは４バイトのままである。また、ＢＧ／ＵＣＲ処理後の描画データは、画像データメモリの同一領域に格納される。すなわち、色変換処理部２４２は、余分なメモリ領域の取得を行わずに、色変換処理を実行することができる。
【００９１】
次に、２値変換処理部２４４は、色変換処理部２４２が生成したＣＭＹＫ形式の描画データおよび属性データを画像データメモリから取得し、ハーフトーン処理を実行する。
【００９２】
図９は、本実施形態の多値描画処理部２４０がインデックス描画形式により描画データを処理する際に使用するインデックステーブルの作成処理のフローチャートである。インデックス描画形式とは、インデックステーブルを使用した描画形式であり、ＲＧＢ各色８ビットで描画処理を行う描画形式に比べて、１ピクセルの描画データを表現するのに必要なデータ量が少ない。以下、図９を参照して、インデックステーブルの作成処理について説明する。なお、本実施形態では、計数処理部２３６がインデックステーブルを作成するが、他の実施形態では、他の機能処理部がインデックステーブルを作成してもよい。
【００９３】
図９の処理は、図３を参照して説明した処理のステップＳ３０６に対応する。図９の処理は、ステップＳ９００から開始し、ステップＳ９０１でインデックス値を設定するための変数Ｉｎｄｅｘに０が設定されて初期化される。ステップＳ９０２では、計数処理部２３６が、該当するバンドの属性情報（ＧＳｔａｔｕｓ）を取得し、ステップＳ９０３では、計数処理部２３６が、取得した属性情報に含まれるバンドで使用されている色の色値をインデックステーブルに登録する。ステップＳ９０４では、計数処理部２３６が、ステップＳ９０３で登録された色値に関連付けて、インデックス値として変数Ｉｎｄｅｘの値をインデックステーブルに登録する。
【００９４】
ステップＳ９０５では、計数処理部２３６が、該当するバンドで使用されている総ての色の色値が登録されたか判断し、総ての色値が登録されていない場合（ｎｏ）には、処理をステップＳ９０６に分岐する。ステップＳ９０６では、変数Ｉｎｄｅｘの値がインクリメントされ、ステップＳ９０３に処理を戻す。
【００９５】
一方、ステップＳ９０５の判定で、総ての色値が登録されていると判断された場合（ｙｅｓ）には、処理をステップＳ９０７に分岐する。ステップＳ９０７では、計数処理部２３６が、他に取得すべきバンドの属性情報があるか否か判断し、取得すべきバンドの属性情報がある場合（ｙｅｓ）には、処理をステップＳ９０１に戻して、別のバンドのインデックステーブルを作成する。
【００９６】
一方、ステップＳ９０７の判定で、取得すべきバンドの属性情報が無いと判断された場合（ｎｏ）には、処理がステップＳ９０８に分岐され、図９の処理が終了する。
【００９７】
図１０は、図９の処理によって作成されたインデックステーブルの実施形態を示した図である。以下、図１０を参照して、インデックステーブル１０１０、１０２０について説明する。インデックステーブルは、分割処理部２３４が生成したバンド毎に作成され、インデックステーブル１０１０は、或るバンド用のインデックステーブルであり、インデックステーブル１０２０は、別のバンド用のインデックステーブルである。
【００９８】
インデックステーブル１０１０、１０２０には、バンドで使用されている色の色値１０１４、１０２４と、当該色に関連付けられたインデックス１０１２、１０２２とが登録される。本実施形態では、インデックステーブル１０１０には、色値として（２５５，０，０）および（０，０，２５５）が登録されており、それぞれインデックス値として０および１が関連付けられて登録されている。また、インデックステーブル１０２０には、色値として（２５５，０，０）、（０，０，２５５）、（０，２５５，０）および（０，２５５，２５５）が登録されており、それぞれインデックス値として０、１、２および３が関連付けられて登録されている。なお、本実施形態では、色値はＲＧＢ形式で表されており、インデックス値は１０進数で表されている。
【００９９】
図１１は、インデックス描画形式によって画像データメモリ１１１０、１１２０および１１３０に点順次フォーマットで格納された描画データのデータ構造を示した図である。画像データメモリ１１１０は、描画データを構成する１ピクセルの色値を１ビットで表現する実施形態であり、最大で２色の色を表現することができる。画像データメモリ１１２０は、１ピクセルの色値を２ビットで表現する実施形態であり、最大で４色の色を表現することができる。画像データメモリ１１３０は、１ピクセルの色値を４ビットで表現する実施形態であり、最大で１６色の色を表現することができる。このため、インデックス描画形式は、ＲＧＢ各色８ビットで描画処理を行う描画形式に比べて、１ピクセルの描画データを表現するのに必要とされるデータ量を低減することができる。
【０１００】
本実施形態の描画コア２３０は、中間データとして保存された描画データを取得し、描画形式としてインデックス形式が指定されている場合には、インデックステーブルを使用して画像データメモリに描画データを格納する。そして、描画コア２３０は、予め用意されたＲＧＢ形式の色値と、ＣＭＹＫ形式の色値との対応表を用いて、画像データメモリに格納された描画データをＲＧＢ形式からＣＭＹＫ形式に変換して、出力データとすることができる。
【０１０１】
本実施形態の上記機能は、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【０１０２】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１０３】
１００…画像形成装置、１１０…コントローラ、１１２…ＣＰＵ、１１４…ＲＯＭ、１１６…ＲＡＭ、１１８…ＮＶＲＡＭ、１２０…ネットワークＩ／Ｆ、１２２…エンジンＩ／Ｆ、１２４…パネルＩ／Ｆ、１３０…ホストＰＣ、１４０…エンジン、１５０…パネル装置、２２０…ＰＤＬパーサ、２３０…描画コア、２３２…描画モジュールＩ／Ｆ、２３４…分割処理部、２３６…計数処理部、２３８…描画データ保存部、２４０…多値描画処理部、２４２…色変換処理部、２４４…２値変換処理部
【先行技術文献】
【特許文献】
【０１０４】
【特許文献１】特開２００４−２４３５６９号公報
【図１】
2011025478.tif 000005
【図２】
2011025478.tif 000006
【図３】
2011025478.tif 000007
【図４】
2011025478.tif 000008
【図５】
2011025478.tif 000009
【図６】
2011025478.tif 000010
【図７】
2011025478.tif 000011
【図８】
2011025478.tif 000012
【図９】
2011025478.tif 000013
【図１０】
2011025478.tif 000014
【図１１】
2011025478.tif 000015