(57)【要約】【課題】画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたＰＤＬの中間データに対する多値描画処理を経て保存されたピクセルデータへのアクセス効率を向上させる。【解決手段】ＰＤＬの中間データをもとに多値描画処理で点順次のピクセルデータとして、色値を表すカラープレーン（４バイト）の他に、ピクセル属性を表すプレーン（１バイト）と半透明描画処理用の半透明値を表すディスティネーション透過プレーン（１バイト）を描画する際、ピクセル属性とディスティネーション透過の両プレーンをまとめて１ピクセルあたり２バイトで保存する統合プレーンを描画する。更に、各プレーンの余剰領域に、カラー特殊処理に関する情報を格納する。【選択図】図１２
2011000860.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、
描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成する図形情報生成部と、
前記生成された図形情報に基づいて前記図形を構成する画素の情報である画素情報を生成する画素情報生成部と、
前記生成された画素情報を変換して前記画素を描画するための階調情報を生成する階調情報生成部と、
前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成する出力情報生成部とを含み、
前記図形情報生成部は、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記描画命令に基づいて生成し、
前記画素情報生成部は、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記画素情報を生成することを特徴とする画像形成装置。
【請求項２】
前記図形を構成する画素の彩色情報について予め確保された記憶領域は、１画素あたり４バイトからなる点順次形式であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記図形を構成する画素の彩色情報について予め確保された記憶領域は、前記画素が無彩色である場合、１画素あたり１バイトからなる点順次形式であることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記図形を構成する画素の彩色情報が３種類の色彩によって表わされる場合、前記４バイトのうちの１バイトがパディングバイトであり、
前記画素情報生成部は、前記階調情報が生成された後の画像処理に関する情報を前記パディングバイトに格納することを特徴とする請求項２または３に記載の画像形成装置。
【請求項５】
前記画素情報生成部は、前記画素の属性情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することを特徴とする請求項１乃至３いずれかに記載の画像形成装置。
【請求項６】
前記画素情報生成部は、前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することを特徴とする請求項１乃至３いずれかに記載の画像形成装置。
【請求項７】
前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域は、１画素あたり２バイトからなる点順次形式であり、
前記画素情報生成部は、前記２バイトの余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することを特徴とする請求項１乃至３いずれかに記載の画像形成装置。
【請求項８】
前記画素情報生成部は、
ページを複数に分割した夫々の範囲であるバンド毎に前記図形情報に基づいて前記画素情報を生成し、
前記図形を構成する画素の彩色情報のために予め確保された記憶領域の形式として、前記バンド毎に異なる形式を用いることが可能であることを特徴とする請求項１乃至７いずれかに記載の画像形成装置。
【請求項９】
描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、
図形情報生成部が、描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成し、
画素情報生成部が、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成し、
階調情報生成部が、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成し、
出力情報生成部が、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成することを特徴とする画像データ処理方法。
【請求項１０】
ページ記述言語に基づいて得られた描画命令を取得するステップと、
描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成するステップと、
前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成するステップと、
前記生成された画素情報を変換して前記画素を描画するための階調情報を生成するステップと、
前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成するステップとを画像形成装置に実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語（ＰＤＬ）で表した入力データをプリント出力用のデータに処理する手段を有した画像形成装置（例えば、プリンタ、デジタル複写機、複合機等）に関し、より詳しくは、半透明描画処理が設定されたＰＤＬの中間（ピクセル）データに対するアクセス効率を向上するための処理手段を有した画像形成装置、当該画像形成装置に用いる画像データ処理方法及び制御プログラムに関する。
【背景技術】
【０００２】
従来から、プリンタ等の画像形成装置では、ホスト装置で作成されたページ記述言語（ＰＤＬ）によって表した印刷コマンドを受取り、プリント出力用のデータとして処理し、出力に用いる。ＰＤＬとしては、ＰｏｓｔＳｃｒｉｐｔやＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）、ＸＰＳ（ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）等が使用され、画像形成装置は、これらのＰＤＬで記述された印刷コマンドをそれぞれ解析するためのパーサを搭載する。
【０００３】
ＰＤＬの１つであるＸＰＳでは半透明描画という従来のＰＤＬにはない処理が新たに追加されている。半透明描画処理は、半透明で画像同士を重ね合わせる処理で、設定された処理パラメータ（半透明値）に従って処理される。具体的には、重ね合わせる各画像の半透明値を１以下として、通常、重ね合わせたときに全体が１となるように、この処理パラメータが描画オブジェクト毎に設定される。
この半透明描画処理は、ＰＤＬを解析した後に得られる中間データをもとにＲＧＢ２４ビットの多値のピクセルデータに対して行われる処理である。つまり、プリント出力用のデータを得るためには、描画オブジェクト毎にピクセル単位で画像処理（ハーフトーン処理、ＢＧ／ＵＣＲ等）等を施すことが必要で、これらの処理は、ＲＧＢ２４ビットの多値で描画した後に行うが、半透明描画処理もこれらの処理と同様に、ＲＧＢ２４ビットの多値の描画データに対しても行う。
【０００４】
ところで、ＰＤＬに設定されているオブジェクト情報は、中間データをもとにＲＧＢ２４ビットの多値描画を行った後は、各ピクセルとのつながりがなくなってしまうため、その後行う画像処理に用いるために、中間データに記されていたオブジェクト情報を保存しておく必要がある。即ち、描画時にオブジェクト情報は、ピクセル毎に文字で描画されたものか、グラフィックスで描画されたものか、イメージで描画されたものか等を保存し、その後のカラー処理やハーフトーン処理で活用する必要がある。なお、画像処理に用いるために中間データに記されるオブジェクト情報を、各ピクセルに対し属性の決定に用いる情報プレーンの形で保存する方法は、従来から知られている(例えば、特許文献１、参照)。
【０００５】
上記した半透明描画処理のパラメータ（半透明値）もオブジェクト情報の１つとして同様にピクセル毎に保存しておく必要がある。また、ＸＰＳの半透明描画処理では半透明描画処理の処理方法によっては、描画先の半透明描画処理の半透明値も保存しておく必要がある。この場合、重ねるデータ（「ソースデータ」という）の半透明値と描画先（「ディスティネーション」という）の半透明値を使用して描画する（下記［発明を実施するための形態］の記載、参照）ので、これもピクセル毎に保存する必要がある。
従って、ＲＧＢ２４ビット多値描画に必要な情報は、色値の他に、ピクセルの属性と半透明値がピクセル毎に必要になる。よって、ＲＧＢフルカラーで処理する場合は、１ピクセルあたり、ＲＧＢ２４ビットのほかに、ピクセルの属性と半透明値のためのそれぞれ１バイトを加えて、全部で５バイトのデータをハンドリングしながら処理を行うことになる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、半透明描画処理が設定されたＰＤＬの中間（ピクセル）データに対し、ＲＧＢフルカラーで多値描画処理をする場合、１ピクセルあたり５バイト必要になるため、ピクセル単位に順番に配置すると、１ピクセルは５バイト単位のアクセスになる。コンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、現在、通常４バイト(３２ビット)のレジスタで構成されるのが普通であるから、１回の読出しで１ピクセル分（５バイトのデータ）にアクセスできないので、通常は１バイトずつアクセスすることになるので５回の命令で１ピクセルのデータの読み出しが可能になる。また、６４ビットレジスタで構成されるＣＰＵでも、５バイトずつアクセスすると、必ず境界にまたがる場合が出てくるので効率の悪さは同じである。
【０００７】
他方、画像形成出力に際しては、Ｂｌａｃｋ  Ｏｖｅｒ  Ｐｒｉｎｔ、地紋印刷、スタンプ印刷等の特殊なカラー処理を行うために情報を付加する場合がある。しかしながら、これらの特殊な印刷のための処理もまた、ＲＧＢ２４ビットの多値で描画した後の処理であり、更には、カラープレーンの情報をＣＭＹＫ２値に変換した後の処理である。従って、上述したピクセルの属性や半透明値の情報と同様に、ＲＧＢ２４ビットの情報に加えて特殊な画像処理を示す情報をも保持しておき、更には、ＲＧＢ２４ビットの情報をＣＭＹＫ２値に変換した後も保持しておく必要があり、上述した課題が更に顕著になる。
尚、上述した更に顕著な課題は、特殊なカラー処理の場合に限らず、カラープレーンの情報をＣＭＹＫ２値に階調変換した後に実行される画像処理のために情報が必要となる場合に、同様に課題となり得る。
本発明は、上記従来技術の問題に鑑みてなされたもので、その目的は、画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたＰＤＬの中間データに対する多値描画処理を経て保存されたピクセルデータへのアクセス効率を向上させることにある。
【課題を解決するための手段】
【０００８】
本発明の一態様は、ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成する図形情報生成部と、前記生成された図形情報に基づいて前記図形を構成する画素の情報である画素情報を生成する画素情報生成部と、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成する階調情報生成部と、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成する出力情報生成部とを含む画像形成装置であって、前記図形情報生成部は、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記描画命令に基づいて生成し、前記画素情報生成部は、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記画素情報を生成することを特徴とする。
また、前記図形を構成する画素の彩色情報について予め確保された記憶領域は、１画素あたり４バイトからなる点順次形式であることが好ましい。
また、前記図形を構成する画素の彩色情報について予め確保された記憶領域は、前記画素が無彩色である場合、１画素あたり１バイトからなる点順次形式であることが好ましい。
また、前記図形を構成する画素の彩色情報が３種類の色彩によって表わされる場合、前記４バイトのうちの１バイトがパディングバイトであり、前記画素情報生成部は、前記階調情報が生成された後の画像処理に関する情報を前記パディングバイトに格納することが好ましい。
また、前記画素情報生成部は、前記画素の属性情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素情報生成部は、前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報のために予め確保された記憶領域は、１画素あたり２バイトからなる点順次形式であり、前記画素情報生成部は、前記２バイトの余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納しても良い。
また、前記画素情報生成部は、ページを複数に分割した夫々の範囲であるバンド毎に前記図形情報に基づいて前記画素情報を生成し、前記図形を構成する画素の彩色情報のために予め確保された記憶領域の形式として、前記バンド毎に異なる形式を用いることが可能であることが好ましい。
本発明の他の態様は、画像データ処理方法であって、描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、図形情報生成部が、描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成し、画素情報生成部が、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成し、階調情報生成部が、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成し、出力情報生成部が、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成することを特徴とする。
本発明の他の態様は、制御プログラムであって、ページ記述言語に基づいて得られた描画命令を取得するステップと、描画すべき図形毎にまとめられた情報であって、前記図形の半透明描画に関する情報及び前記階調情報が生成された後の画像処理に関する情報を含む前記図形情報を前記取得された描画命令に基づいて生成するステップと、前記生成された図形情報に基づき、前記図形を構成する画素の彩色情報、前記画素の属性情報及び前記画素が構成する図形の半透明描画に関する情報を、夫々の情報のために確保された記憶領域に格納し、前記記憶領域の余剰領域に前記階調情報が生成された後の画像処理に関する情報を格納することによって前記図形を構成する画素の情報である画素情報を生成するステップと、前記生成された画素情報を変換して前記画素を描画するための階調情報を生成するステップと、前記生成された階調情報に基づいて画像形成出力を実行するための出力情報を生成するステップとを画像形成装置に実行させることを特徴とする。
【発明の効果】
【０００９】
本発明によると、画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたＰＤＬの中間（ピクセル）データに対する多値描画処理において、多値描画処理を経て保存されたピクセルデータへのアクセス効率の向上を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像形成装置のハードウェア構成の概略を示す図である。
【図２】画像形成装置（図１）のコントローラのソフトウェア構成を示すブロック図である。
【図３】描画コアモジュールを有するＰＤＬ部（図２参照）のモジュール構成を示すブロック図である。
【図４】ＰｏｓｔＳｃｒｉｐｔの描画コマンドの１例を示す図である。
【図５】描画モジュールＩ／Ｆが描画コマンド（図４）に応じて行う関数Ｉ／Ｆの設定例を示す図である。
【図６】描画オブジェクトに共通する、中間データの保存に用いるデータ構造を示す概念図である。
【図７】ＩＤ番号と描画コマンドの対応表の１例を示すものである。
【図８】中間データをもとに多値描画部によって描画されるピクセルデータの各プレーンのデータ構成を示す概念図である。
【図９】ピクセル属性・ディスティネーション透過の両プレーンを統合したフォーマットを示す概念図である。
【図１０】バンディング処理におけるバンドデータとページデータとの関係を説明する概念図である。
【図１１】バンドデータに対する描画処理の概略を示すフロー図である。
【図１２】属性プレーンの１バイト中に含まれる情報を示す図である。
【図１３】カラープレーンのパッティングバイトに含まれる情報を示す図である。
【発明を実施するための形態】
【００１１】
以下に本発明に係る画像形成装置の実施形態を添付した図面を参照して説明する。本実施形態においては、半透明描画処理及びＢｌａｃｋ  Ｏｖｅｒ  Ｐｒｉｎｔ、地紋印刷及びスタンプ印刷等の特殊なカラー処理の機能を有し、描画情報の生成処理が効率化された画像形成装置について説明する。
図１は、本発明の実施形態に係る画像形成装置のハードウェア構成の概略を示す図である。同図に示すように、画像形成装置は、ホストＰＣ（Ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）２０から印刷コマンドを受取り、受取った印刷コマンドに従いプリンタエンジン３０を動作させるために画像形成装置を構成する各部を制御するコントローラ１０と、用紙に画像を印刷するプリンタエンジン３０と、ユーザインターフェースとして機能する操作パネル４０で構成される。なお、コントローラ１０は、後述するように、ホストＰＣ２０で作成されたＰＤＬによって表した印刷コマンドを受取り、受取った印刷コマンドをもとにプリント出力用の画像データを生成し、この画像データを用いてプリンタエンジン３０を動作させる。また、操作パネル４０は、画像形成装置の動作状態等の機器条件をユーザに知らせる表示部と、またユーザが画像形成装置に動作条件を指示する入力を行う入力部を持つ。
【００１２】
コントローラ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ＮＶ（Ｎｏｎｖｏｌａｔｉｌｅ）ＲＡＭ１４、ネットワークインターフェース（Ｉ／Ｆ）１５、エンジンＩ／Ｆ１６、パネルＩ／Ｆ１７の各要素よりなる。
ＣＰＵ１１は、ソフトウェアプログラムの命令を実行する。ＲＯＭ１２は、ＣＰＵ１１が動作するプログラムを格納するメモリである。ＲＡＭ１３は、コントローラソフトが作成するページメモリやＣＰＵ１１によるソフトウェアの動作に必要なワークメモリとして利用されるメモリである。不揮発性のＮＶＲＡＭ１４は、画像形成装置の印刷条件などの設定条件を保存しておくメモリである。
また、ネットワークＩ／Ｆ１５は、ネットワーク上に接続されたホストＰＣ２０とデータのやり取りを行うためのＩ／Ｆである。エンジンＩ／Ｆ１６は、プリンタエンジン３０との間で印刷指示等のやり取りを行うためのＩ／Ｆである。パネルＩ／Ｆ１７は、操作パネル４０との間でデータの入出力を行うためのＩ／Ｆである。
【００１３】
コントローラ１０は、ＲＯＭ１２に格納されたプログラムの一部に、受取った印刷コマンドをもとにプリント出力用の画像データを生成するためのプログラムを記録し、このプログラムをＣＰＵ１１が駆動することで、後述する図２及び図３に示す機能を実現する手段を構成する。
なお、上記プログラムを記録する媒体としては、上記ＲＯＭ１２に限らず、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体を用いることができる。また、プログラムを、インターネット等のネットワーク（図示せず）に接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしても良い。
【００１４】
図２は、画像形成装置（図１）のコントローラのソフトウェア構成を示すブロック図である。
コントローラ１０内のソフトウェア構成は、プリンタコントロールシステム部１０４の制御下に、ホストＰＣ２０とデータの交換を行うネットワークＩ／Ｆ部１０２、操作パネル４０の制御を行うパネルＩ／Ｆ部１０３、受け取った印刷コマンド（印刷データ）をもとにプリント出力用の画像データを生成するＰＤＬ部１０５、プリンタエンジン３０に対し印刷指示等を行うエンジンＩ／Ｆ部１０６を有する。
【００１５】
図３は、描画コアモジュールを有するＰＤＬ部（図２参照）のモジュール構成を示すブロック図である。
ＰＤＬ部１０５は、プリンタコントロールシステム部１０４を介して受取ったＰＤＬで記述された印刷コマンドを解析するＰＤＬパーサ部１２０とＰＤＬパーサ部１２０の解析結果をもとに描画処理及びプリント出力用の画像データへの変換処理を行う描画コアモジュール１１０よりなる。すなわち、ＰＤＬパーサ部１２０が、描画命令である印刷コマンドを取得する描画命令取得部として機能する。
描画コアモジュール１１０は、描画モジュールＩ／Ｆ１１３、中間データ保存部１１４、多値描画部１１５、カラー変換部１１６、ＣＭＹＫ２値変換部１１７及びカラー特殊処理部１１８の各部を有する。
【００１６】
描画モジュールＩ／Ｆ１１３は、ＰＤＬパーサ部１２０から解析結果であるテキスト、イメージ、ベクターグラフィックス、描画設定情報を受け取るためのＩ／Ｆである。
中間データ保存部１１４は、テキスト、イメージ、ベクターグラフィックス等の描画オブジェクトを表す描画データと、色値及び半透明描画処理（後記で詳述）の設定等の描画設定情報を保存するための機能部である。
多値描画部１１５は、中間形式保存部１１４から指定されたカラースペースでピクセルデータを描画するための機能部である。
カラー変換部１１６は、多値描画部１１５によって多値で描画されたデータからデバイスカラー（機器に依存する特性）へ変換するための機能部である。
ＣＭＹＫ２値変換部１１７は、カラー変換部１１６で処理されたデバイスカラーをＣＭＹＫ（Ｃ：シアン，Ｍ：マゼンタ，Ｙ：イエロー，Ｋ：ブラック）２値でハーフトーン処理を行うための機能部である。
カラー特殊処理部１１８は、Ｂｌａｃｋ  Ｏｖｅｒ  Ｐｒｉｎｔ、地紋印刷、スタンプ印刷等のカラー特殊処理を行う機能部である。
なお、多値描画部１１５のカラースペースは、ページの始めに描画カラースペースとして指定されたものに従う。ＲＧＢカラースペースが指定された場合は、ＲＧＢ各色８ビットで描画される。
【００１７】
描画コアモジュール１１０を有するＰＤＬ部１０５の構成を示す図３を参照しながら、ＰＤＬによって表した印刷コマンドの処理の流れを説明する。
先ず、ＰＤＬパーサ１２０は、印刷コマンドのＰＤＬを解析する。この実施形態では、ＰＤＬパーサ１２０は、ＰｏｓｔＳｃｒｉｐｔ、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）、ＸＰＳ（ｅＸｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）等の各ＰＤＬの構文の違いをそれぞれ解析する機能を有し、解析したＰＤＬに対応して、描画コアモジュール１１０の描画モジュールＩ／Ｆ１１３をコールする。
描画モジュールＩ／Ｆ１１３は、イメージ、グラフィックス、文字等の描画オブジェクトを表す描画データと、色値、ブラシ、半透明描画処理（後記で詳述）、線形状等の描画設定情報を得るためのＩ／Ｆとして、全てのＰＤＬの描画に対応するＩ／Ｆとして機能する。
【００１８】
描画モジュールＩ／Ｆ１１３は、ＰｏｓｔＳｃｒｉｐｔを例にすると、以下のような動作で描画コマンドに対応する。
ＰｏｓｔＳｃｒｉｐｔでは、例えば、図４に示すような描画コマンドが発行される。即ち、この描画コマンドには、ＲＧＢカラースペースで（Ｒ，Ｇ，Ｂ）＝（０．５，０．０，０．０）の色で、ページの左下を原点として、左下、右上座標をそれぞれ（１００，１００）、（２００，２００）で指定して矩形を描画するコマンドが記述されている。
この描画コマンドに対し、描画モジュールＩ／Ｆ１１３は、色を設定するＩ／Ｆをコールし、その後、矩形領域を設定するために座標を設定するＩ／Ｆと塗りつぶし指定するＩ／Ｆをコールすることで、描画コマンドに従い矩形を描画することができる。
【００１９】
図５は、このとき描画モジュールＩ／Ｆ１１３が描画コマンドに応じて行う関数Ｉ／Ｆの設定例を示す図である。
この関数Ｉ／Ｆは、図５に記述するように、図４の描画コマンドに応じて関数シーケンスへの変換を行う。図５の関数シーケンスにおけるｓｅｔｃｏｌｏｒの第１引数は、ＲＧＢカラースペースを指定し、第２から第４引数でＲＧＢ各色の色値を０．０から１．０の範囲で指定する。図５の例では、図４の描画コマンドに対応する（０．５，０．０，０．０）が記述されている。
また、図５の関数シーケンスにおけるｒｅｃｔａｎｇｌｅは、矩形描画関数で左上座標と右下座標が指定される。図５の例では、図４の描画コマンドに対応する（１００，１００、２００，２００）が記述されている。
なお、他の言語も同様に描画モジュールＩ／Ｆ１１３をコールすることで、描画コマンドに応じた描画が可能である。
【００２０】
描画モジュールＩ／Ｆ１１３がコールされた後、中間データ保存部１１４により描画モジュールＩ／Ｆ１１３を介して得られる描画データと描画設定情報は、中間データとしてメモリ上またはファイル上に保存される。
上記した描画モジュールＩ／Ｆ１１３の動作例で説明すると、ｓｅｔｃｏｌｏｒ関数では、ＲＧＢカラースペースと色値（０．５，０．０，０．０）が設定され、これらを描画設定情報の一つとして得る。
描画データ（イメージ、グラフィックス、文字等の描画オブジェクト）を修飾するためのデータをグラフィックス状態といい、カラースペースと色値は、グラフィックス状態としてメモリ上に保存される。グラフィックス状態には、カラースペースと色値の他に、半透明描画処理のパラメータ、Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ値、線幅などがある。
グラフィックス状態は、図形、イメージ、グラフィックス、文字等の描画オブジェクトを表す描画データと関連付けて保存するときに各オブジェクトに共通なデータ構造を持つ。
【００２１】
図６は、各種描画オブジェクトに共通する、中間データの保存に用いるデータ構造の１例を示す概念図である。なお、図６中の（Ａ）、（Ｂ）、（Ｃ）は、３種の描画オブジェクトに対しグラフィックス状態（Ｇｓｔａｔｕｓ）を関連付けて保存するときのデータ構造の例を示したもので、それぞれグラフィックス状態（Ｇｓｔａｔｕｓ）を表すデータを保存するデータ部６０１と描画オブジェクトを表す描画データを保存するデータ部６０３よりなる。即ち、図６に示すよう情報は、描画すべき図形ごとに情報がまとめられた図形情報であり、描画モジュールＩ／Ｆ１１３が、図形情報生成部として機能する。
中間データのグラフィックス状態（Ｇｓｔａｔｕｓ）を表すデータを保存するデータ部６０１には、描画データを修飾するためのデータとして、カラースペースと色値、線幅、半透明描画処理のパラメータ（半透明値）、Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ値等の描画に共通な設定情報を保存する。図６に示す例では、固定長サイズのＧｓｔａｔｕｓレコードを先頭に、次に描画オブジェクトを表す描画データのＩＤ番号がくる。
【００２２】
ＩＤ番号は、描画コマンド（描画オブジェクト）と対応付けられている。
図７は、ＩＤ番号と描画コマンドの対応表の１例を示すものである。同図の例では、描画コマンドとして、５種類が示されている。ＩＤ＝０ｘ００は矩形描画（Rｅｃｔａｎｇｌｅ）を、ＩＤ＝０ｘ０１は直線の描画(ＬｉｎｅＤｒａｗ)を、ＩＤ＝０ｘ０２は直線で囲まれた領域の塗りつぶし(ＬｉｎｅＦｉｌｌ)を、ＩＤ＝０ｘ０３はＩｍａｇｅの描画を、ＩＤ＝０ｘ０４は文字の描画を示す。
また、ＩＤ番号に続くパッディングバイトとｆｌａｇの後には、描画コマンドに対応する描画関数の引数、イメージデータ、コードデータ等が保存される。
図５に示した描画モジュールＩ／Ｆ１１３がｒｅｃｔａｎｇｌｅ描画コマンドに応じて行う関数Ｉ／Ｆによるコールの例を引くと、このときに保存される中間データ、即ち、図６中の（Ａ）のグラフィックス状態（Ｇｓｔａｔｕｓ）には、カラースペースと色値が保存され、ｒｅｃｔａｎｇｌｅの座標はｌｅｆｔ＝１００，ｔｏｐ＝１００，ｒｉｇｈｔ＝２００，ｂｏｔｔｏｍ＝２００が保存される。なお、ＩＤ番号の次のバイトは、パッディングバイトで０が入る。また、ｆｌａｇは、描画コマンドの属性として使われる。属性の例としてＲｅｃｔａｎｇｌｅコマンドをＣｌｉｐ（描画領域を限定するコマンド）とする場合は、Ｃｌｉｐであることを示すビットをＯＮにする。
【００２３】
次に、多値描画部１１５の動作を説明する。
多値描画部１１５が行う描画処理は、中間データ保存部１１４によって保存された中間データをもとにピクセルデータを描画する処理で、プリント出力用の画像データ処理（カラー変換、ハーフトーニング等）の前段で行われる。描画結果のピクセルデータは、点順次に、即ち、ページ画像のピクセルの並び順に、メモリに保存される。換言すると、多値描画部１１５が生成する情報は、描画すべき図形を構成する画素の情報、即ち画素情報であり、多値描画部１１５が、画素情報生成部として機能する。
具体的には、設定されたカラースペースに従って各色８ビット（多値）の色値を表すカラープレーン、各ピクセルの属性をカラープレーンに対応付けて表すピクセル属性プレーン、半透明描画処理に用いる半透明値を表すディスティネーション透過プレーンの各プレーンのピクセルデータを点順次に描画する。
更に、多値描画部１１５は、特殊描画処理部１１８によって実行されるＢｌａｃｋ  Ｏｖｅｒ  Ｐｒｉｎｔ、地紋印刷、スタンプ印刷等の特殊なカラー処理の有無を示す情報を各プレーンの余剰領域に格納する。これについては、後に詳述する。
【００２４】
図８（Ａ）〜（Ｃ）は、中間データをもとに多値描画部１１５によって描画されるピクセルデータの各プレーンのデータ構成を示す概念図である。
図８（Ａ）に示すカラープレーンは、ページ領域を描画するピクセルについて、点順示フォーマットで色値を保存する。同図に示す例は、カラースペースがＲＧＢ（ＲはＲｅｄ、ＧはＧｒｅｅｎ、ＢはＢｌｕｅ）の場合で、ＲＧＢ（各色８ビット）のピクセル色値が点順示に保存される。このカラープレーンは、同図に示すように、１ピクセル当たり４バイトを確保して実施する。なお、図８（Ａ）中のＰはパッティングバイト（パディングバイト）であり、カラースペースがＲＧＢの場合には、Ｐの値は０が埋められる。なお、カラースペースがＣＭＹＫの場合４バイトを全部ピクセル色値で使用する。
【００２５】
図８（Ｂ）に示すピクセル属性プレーンは、上記で説明した中間データ（図６に示したデータ構造、参照）に示される描画オブジェクトを表す描画データがピクセルデータを描画するときに消失してしまうと、各描画オブジェクトの特性をプリント出力用の画像データに反映できなくなるので、ピクセルの属性として描画オブジェクトを関連付けるために作られる。
この実施形態では、各ピクセルの属性を表すデータ値（図８（Ｂ）中に「Ａ」として示す）を８ビットで持つ。８ビットであれば各ビットで夫々の属性を表現することにより、少なくとも８種類の属性値を表現できる。属性を表すデータ値は、描画されたピクセルが文字、イメージ、グラフィックス等の描画オブジェクト種類のいずれに属するかの判断のために使用される。尚、ピクセルが属する描画オブジェクトの種類が、文字、イメージ、グラフィックスのいずれに属するかを判断するためには、いずれにも属さない場合も含めて４種類を判断することができれば良く、少なくとも２ビットで判断可能である。
図８（Ｃ）に示す半透明描画処理に用いるディスティネーション透過プレーンは、描画先（ディスティネーション）の半透明描画処理に用いる半透明値（図８（Ｃ）中に「Ｔ」として示す）を８ビットで持つ。なお、透過プレーンの使用方法については、後記で詳細に説明する。
【００２６】
図８（Ａ）〜（Ｃ）の各プレーンは、メモリが１ページ分確保できる場合には、図６に示したデータ構造で保存された中間データを保存された順番に取り出して、指定されたアドレス（座標データ）に書込むことにより作られる。図８（Ａ）〜（Ｃ）の各プレーンは、夫々画素の彩色情報、画素の属性情報及び画素が構成する図形の半透明描画の情報について、予め確保されたメモリ上の記憶領域である。
図６に示したデータ構造では、描画コマンド（ＩＤ番号）を識別することで、ピクセル属性としての描画オブジェクトとピクセルのアドレス（座標データ）とが得られ、これらのデータに基づいて、ピクセル属性プレーンにデータを書込む。同時に、当該描画コマンドのＧｓｔａｔｕｓ（グラフィックス状態）からカラースペースと色値、半透明描画処理のパラメータとしての半透明値、Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ値等が得られ、これらのデータに基づいて、カラープレーン、ディスティネーション透過プレーンそれぞれにデータを書込む。このとき、カラープレーン上で表す色値をｉｎｄｅｘ値で表すようにする形態で実施することができる。なお、このｉｎｄｅｘ値は、カラールックアップテーブルによって色値と関連付けておくことで復元できる。ｉｎｄｅｘ値を採用することで、処理するデータ量を低減できる。
また、書き込む際に、以下に示すＲａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ又は半透明描画処理を行う。
【００２７】
ＲＯＰ（Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ）は、Ｗｉｎｄｏｗｓ（登録商標）ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のグラフィックスエンジンで使われる画像処理であり、同じ領域に重なる図形の色値をＲＧＢ各色毎にビット演算をする処理である。ビット演算は、ＯＲ，ＸＯＲ，ＡＮＤがある。
他方、半透明描画処理は、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａ（登録商標）でサポートされるＸＰＳやＰＤＦで使われる画像処理で、同じ領域に重なる色値の透過割合を０％から１００％で指定することで半透明描画する処理である。
通常、ＲＯＰと半透明描画処理が同時に使われることはないが、使われていてもよい。
【００２８】
ＲＯＰが行われる場合は、ディスティネーション透過プレーン（図８（Ｃ）、参照）には書込みは行わない。また、Ｇｓｔａｔｕｓ（グラフィックス状態）から得られるＲａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ値（ＩＤ）によって、重なる画像（ピクセル）の色値同士でＯＲ，ＸＯＲ，ＡＮＤのビット演算を実施し、演算結果をカラープレーンの当該ピクセルのＲＧＢ色値（各色８ビット）データとして書込む。
なお、Ｇｓｔａｔｕｓ（グラフィックス状態）に保存されているＲＯＰを指定するＩＤは、０〜２５５までの２５６通りあり、それぞれどのようなビット演算が行うか予め定義されている。この定義に従ってＲＧＢ各色毎にソースとディスティネーションのビット演算を実施する。
また、ビット演算を実施した後に、ピクセル属性プレーンに描画したピクセルのオブジェクト情報（文字、イメージ、グラフィックス）をピクセルの属性として点順次に書込む。
【００２９】
半透明描画処理は、次に示す処理方法で実施する。
この実施形態で採用する半透明描画処理は、大別すると、描画対象のソースデータに対してのみ処理条件を設定する場合と、ソースデータ（重ねるデータ）と描画後のディスティネーションデータ（描画先のデータ）の両方に処理条件を設定する場合がある。
前者の場合、ソースとディスティネーションそれぞれのピクセルの色値を、ソース：Ｓ、ディスティネーション：Ｄとし、ソースの半透明値（０から１の間をとる）を半透明値：αとすると、半透明描画処理後の色値：ＮｅｗＤは、下記式（１）に基づいて算出することができる。
ＮｅｗＤ ＝ Ｓ＊α＋（１−α）＊Ｄ    ・・・式（１）
この半透明描画後の色値を算出する処理は、ＲＧＢの各色毎に行う。また、上記のようにソースデータに対してのみ、ソースα処理条件を設定する場合、ディスティネーション透過プレーン（図８（Ｃ）、参照）は、使用しない。
【００３０】
また、ソースデータと描画後のディスティネーションデータの両方に処理条件を設定する場合、
Ａｓ：ソースの半透明値
Ａｄ：ディスティネーション半透明値
Ａｄ’：描画後のディスティネーション半透明値
Ｃｓ：ソース色値
Ｃｄ：ディスティネーション色値
Ｃｄ’：描画後のディスティネーション色値
とすると、Ａｄ’及びＣｄ’は、それぞれ例えば下記式（２）及び式（３）に基づいて算出することができる。
Ａｄ’ ＝ （１−Ａｓ）＊Ａｄ＋Ａｓ    ・・・式（２）
Ｃｄ’ ＝ （（１−Ａｓ）＊Ａｄ＊Ｃｄ＋Ａｓ＊Ｃｓ）／Ａｄ’    ・・・式（３）
【００３１】
上記式（２）に基づいて算出される描画後のディスティネーション半透明値Ａｄ’は、ディスティネーション透過プレーン（図８（Ｃ）、参照）の該当ピクセルに描画されることになる。
ソースの半透明値Ａｓは、Ｇｓｔａｔｕｓ（グラフィックス状態）に設定されている。
多値描画部１１５が中間データの描画オブジェクトをページメモリに描画する場合、Ｇｓｔａｔｕｓに設定されている描画対象オブジェクトの半透明描画処理に用いる半透明値、色値を取り出して、またディスティネーションのカラープレーンに設定されている色値、同じくディスティネーション透過プレーンに設定されているディスティネーション半透明値を使用して、新たなディスティネーション色値とディスティネーション半透明値を計算して、算出値によりそれぞれの値を更新する。
なお、半透明描画処理の処理方法は、同一ページを処理する場合１つの方法に定められているので、複数の処理方法が混在することはない。
【００３２】
以上の説明は、図８（Ａ）に示すカラープレーンへＲＧＢデータを書込む多値描画処理の場合を説明したが、ＣＭＹＫ各色８ビットで描画する場合は、図８（Ａ）に示すカラープレーンにおける１ピクセル当たりパッディングバイトＰを有するＰＲＧＢ３２ビットで表現していたものをＣＭＹＫ３２ビットで描画するように置き換えればよい。つまり、パッティングバイトＰは設ける必要はない。なお、グレースケールの場合は１ピクセル当たり８ビットで描画することになる。
また、中間データのＧｓｔａｔｕｓに半透明描画処理に用いる半透明値があるか否かを確認することにより半透明描画処理の有無を判定する手段を備え、この半透明描画処理判定手段によって半透明描画処理がないと判断された場合に、色値を表すプレーンとして、多値をＣＭＹＫ２値形式の色値で表す描画処理を行うようにしてもよい。
【００３３】
ここで、多値描画処理によって保存されるピクセルデータの保存方法について説明する。
この種の画像形成装置では、多値描画処理によって、色値の他に、ピクセルの属性と半透明値をピクセルデータとして生成し、これらのデータをプリント出力に用いるために保存する。このピクセルデータの保存方法は、従来技術のように、ピクセル単位に順番に配置すると、１ピクセルは５バイト単位のアクセスになってしまい、４バイト（３２ビット）のレジスタで構成されるＣＰＵにとってアクセス効率の低下を招くことは、先に述べたとおりである。
そこで、プリント出力に用いる際、保存したピクセルデータを読出す時のアクセス効率を高めることができる保存方法をこの実施形態では採用する。
【００３４】
ピクセルデータを保存する形態として、概念的には３種の別プレーンとする例について、図８を参照して説明した。ただ、実際の各プレーンの保存形態は、別の記憶領域を利用して保存する必要はなく、プレーンを統合して保存する方法を採ることが可能である。
この実施形態では、先ず、カラープレーンには、図８（Ａ）に示したように、１ピクセルあたり４バイトで点順次に色値を保存するので、４バイト構成のレジスタを持つＣＰＵからのアクセスに都合がよい。よって、カラープレーンは、図８（Ａ）に示したフォーマットで保存する方法を採用する。
【００３５】
また、ピクセル属性プレーンには、ピクセル属性としてのオブジェクト情報（文字、イメージ、グラフィックス）を保存するために必要な容量として、１ピクセルあたり１バイトを確保できればよく、ディスティネーション透過プレーンには、ディスティネーション半透明値を保存するために必要な容量として、１ピクセルあたり１バイトを確保できればよい。よって、ピクセル属性とディスティネーション透過の両プレーンをまとめて１ピクセルあたり２バイトで保存する統合プレーンを用いる方法を採用する。この方法によると、１回のアクセスで、ピクセル属性としてのオブジェクト情報とディスティネーション半透明値の２ピクセル分を取得できる。
図９は、ピクセル属性とディスティネーション透過の両プレーンを統合したフォーマットの概念図を示す。同図に示すように、統合プレーンには、ページ領域を描画するピクセルについて、点順示フォーマットでピクセル属性Ａとディスティネーション半透明値Ｔをまとめて保存する。
【００３６】
上記のピクセルデータの保存方法をとることで、カラープレーンの４バイトと統合（ピクセル属性＋ディスティネーション半透明値）プレーンの２バイトを１ピクセル分としてアクセスを行うことができる。つまり、１．５回の読出しコマンドで１ピクセルデータの読出しができるようになって、少ないコマンド数でピクセルデータの読出しができるために、処理効率を高めることができる。
なお、カラープレーンに４バイトを確保するので、ＣＭＹＫの場合についても、１．５回の読出しコマンドで１ピクセルデータの読出しができることに変わりがなく、ＲＧＢ,ＣＭＹＫいずれも効率よくハンドリングでき、３種のプレーンに保存されたピクセルデータを、以後に行うカラー変換、ハーフトーニング等のプリント出力用の画像データの処理の効率化が図れる。
【００３７】
次に、バンディング処理について説明する。
上記の説明で多値描画部１１５が処理に必要なメモリ容量として、１ページ分確保できるものとして説明したが、１ページ分のメモリ容量が確保できない場合には、バンディング処理という方法によって描画処理を行う。
図１０は、バンディング処理におけるバンドデータとページデータとの関係を説明する概念図である。バンディング処理は、コントローラ１０が１ページ分のメモリ容量が確保できない場合に、図１０に示すように、ページデータを高さ方向に複数に分割し、分割したバンドデータ単位でメモリ容量を確保し（図１０の例では、高さ１０２４のバンドメモリを確保）、処理を行うことで、ページデータの処理を可能にする方法である。
【００３８】
バンディング処理では、多値描画部１１５は、描画処理に必要な中間データを取得する際に、バンド単位でメモリにアクセスし、取得した中間データを確保したバンドメモリに保存することで描画処理を実行する。バンドメモリに保存することができた中間データ以外のバンドデータは、圧縮するか、ハードディスク（不図示）等に退避しておく。圧縮した形で処理を待つバンドデータは、描画要求があった時点で圧縮を解凍してバンドメモリ上にロードする。ハードディクス退避しておいた場合にも描画要求があった時点でメモリ上にロードする。描画が終了し、次のバンド描画要求があった時点で圧縮するか、又はハードディスクへ保存するような処理を行う。
【００３９】
中間データ（図６に示したデータ構造、参照）をもとにバンディング処理で描画を行う際、各描画オブジェクトの座標データから各バンドデータにクリップしてバンドメモリに描画する。
描画結果としてバンドメモリに保存するピクセルデータは、図８及び図９の例に示したフォーマットになるが、バンド毎に違うフォーマットを適用できるようにすることによりメモリ容量を節約でき、バンドメモリに保存したピクセルデータを利用する際にも無駄なアクセス操作をしなくてもすむ。例えば、バンド０がグレーデータしかない場合は、カラープレーンは、１バイト（８ビット）グレープレーンのみでよく、ピクセル属性とディスティネーション透過の統合プレーンは、変わらないのでそれぞれ１バイトずつの２バイトとなる。他方、バンド１には、カラーデータが含まれる場合は、４バイトＰＲＧＢプレーンと、ピクセル属性とディスティネーション透過の統合プレーンは、変わらず２バイトとなる。なお、各バンドで使用されている色は、中間データのＧｓｔａｔｕｓ（グラフィックス状態）に含まれるカラーデータを調べることにより判定することができる。
【００４０】
ここで、バンドデータに対する描画処理を図１１に示すフロー図に基づいて説明する。
図１１のフローに示すように、バンディング動作が起動されると、先ず、描画対象となるページデータのバンドデータｂａｎｄ０〜６から予め定められた順番に従い１つのバンドデータを取得する（ステップＳ１０１）。
次に、取得したバンドデータ内の描画対象ピクセルを点順次に指定し（ステップＳ１０２）、指定されたピクセルに対する中間データのＧｓｔａｔｕｓ（グラフィックス状態）を取得する（ステップＳ１０３）。
次に、指定されたピクセルのＧｓｔａｔｕｓに含まれる色値を調べ、色値がモノクロかカラーかを判断する（ステップＳ１０４）。
【００４１】
ステップＳ１０４で調べた色値から当該ピクセルがカラーであると判断された場合には（ステップＳ１０４-ＮＯ）、バンドメモリのカラープレーンに、ＰＲＧＢフォーマット（４バイト）でＲＧＢ又はＣＭＹＫの色値を書込む（ステップＳ１０５）。
他方、色値から当該ピクセルがモノクロであると判断された場合には（ステップＳ１０４-ＹＥＳ）、バンドメモリのカラープレーンに、モノクロフォーマット（１バイト）で濃度値を書込む（ステップＳ１０６）。
なお、上記の書込みステップで書込む色値又は濃度値は、半透明描画処理が設定されている場合には、設定条件に従い半透明描画の色値を計算し、算出した色値を書込む。
次いで、バンドメモリのピクセル属性プレーンに当該ピクセルのピクセル属性としてのオブジェクト情報（文字、イメージ、グラフィックス）を書込む（ステップＳ１０７）。
さらに、半透明描画処理が設定されている場合には、当該ピクセルのディスティネーション半透明値を計算して（上記式（２）、参照）、算出値をバンドメモリのディスティネーション透過プレーンに書込み、バンドメモリのディスティネーション半透明値を更新する（ステップＳ１０８）。
【００４２】
ステップＳ１０２で指定されたピクセルについてピクセルデータを描画した後、カレントバンドの全ピクセルの描画処理を完了したか否かを確認する（ステップＳ１０９）。
カレントバンドの中に描画が未処理のピクセルがあれば（ステップＳｌ０９-ＮＯ）、ステップＳ１０２に戻り、点順次に次のピクセルを指定して、上記と同様に描画処理を行う。
他方、カレントバンドの全ピクセルの描画処理を完了した場合には（ステップＳ１０９-ＹＥＳ）、描画処理後のバンドメモリ上のバンドデータを転送し、バンドメモリを開放して次の描画に備える（ステップＳ１１０）。なお、描画処理後のバンドデータは、例えば、ハードディスクに保存して、プリント出力用の画像データヘの処理を待つ。
次に、ステップＳ１０１で取得したバンドデータの全ピクセルデータを描画し、バンドメモリが利用できる状態になったところで、描画対象となるページデータの全バンドの描画処理を完了したか否かを確認する（ステップＳ１１１）。
描画対象となるページデータ中に描画が未処理のバンドデータがあれば（ステップＳ１１１-ＮＯ)、ステップＳ１０１に戻り、次のバンドデータを取得して、上記と同様に描画処理を行う。
他方、描画対象となるページデータの全バンドデータの描画処理を完了した場合には（ステップＳ１１１-ＹＥＳ）、この描画処理を終了する。
【００４３】
描画コアモジュール１１０の処理に戻って、多値描画処理を行った多値描画部１１５の後段の画像処理部について説明する。後段の画像処理部では、多値描画部１１５によって描画された多値ページメモリのピクセルデータをプリント出力用の画像データに変換する処理を行う。
先ず、カラー変換部１１６によって行う色変換処理について説明する。
色変換処理は、カラーマッチング処理、ＢＧ／ＵＣＲ（Ｂｌａｃｋ  ｇｅｎｅｒａｔｉｏｎ及びＵｎｄｅｒ  Ｃｏｌｏｒ  ｒｅｍｏｖａ１）処理を実施し、デバイスＣＭＹＫ（プリンタエンジン３０で画像出力に用いる画像データ）に変換する処理が主な処理である。
【００４４】
カラー変換部１１６は、多値描画部１１５によって描画されたカラープレーン、ピクセル属性プレーン、ディスティネーション透過プレーンの各プレーンに保存されたピクセルデータを用いてカラーマッチング処理を行う。
カラーマッチングは、プリント出力しようとする画像が意図したとおりの色特性を持つ画像となるように、出力デバイス（プリンタエンジン３０）に依存する特性を色変換のパラメータの調整により補正する。
本実施形態のカラー変換部１１６は、上記の多値描画処理で得られたＰＲＧＢカラープレーンのＲＧＢ各色８ビットのピクセルデータの入力を受け、このデータに色変換によるカラーマッチング処理を施す。カラーマッチング処理後のＲＧＢ各色８ビットのデータは、同じメモリアドレスに上書きされる。
【００４５】
カラーマッチング処理をする際に、上記の多値描画処理で得られたピクセル属性プレーンのピクセルデータを参照して、文字、イメージ、グラフィックスのオブジェクトの種類に応じたマッチング処理パラメータを適用することにより、適正なカラーマッチングを行い、画質を向上することができる。また、オブジェクトの種類におけると同様に、多値描画処理で得られたディスティネーション透過プレーンについても、ディスティネーション半透明値を参照して、この半透明値に応じたマッチング処理パラメータを適用することにより、適正なカラーマッチングを行い、画質を向上することができる。
【００４６】
さらに、多値描画処理で得られたＰＲＧＢカラープレーンのＲＧＢ各色８ビットのピクセルデータに対してＢＧ／ＵＣＲ処理を実施する。このＢＧ／ＵＣＲ処理の出力は、ＣＭＹＫになる。ピクセル毎にＢＧ／ＵＣＲ変換されたデータは、元のＰＲＧＢカラープレーンとして保存されていたと同じメモリアドレスに上書きされる。なお、ＰＲＧＢカラープレーンの色値は４バイトであるため、変換後も同じアドレスに保存できる。
このように、多値描画部１１５による多値描画処理で各プレーンに保存されたピクセルデータは、カラー変換部１１６におけるカラーマッチング処理及びＢＧ／ＵＣＲ処理によってカラースペース及びカラーデータが変換される。ただ、このデータ変換のために、余分なメモリ容量を必要とせず、メモリの取得を行うこともない。
【００４７】
ＣＭＹＫ２値変換部１１７は、カラー変換部１１６によって処理された多値のＣＭＹＫデータを２値に変換する。
ＣＭＹＫ２値変換部１１７は、カラー変換部１１６からのＣＭＹＫ各色８ビットのカラープレーンデータとピクセル属性プレーンデータを受け取り、ＣＭＹＫ各色８ビットのピクセルデータに対するハーフトーン処理を実施し、２値でＣＭＹＫ各色のページメモリに保存する。この処理の際、ピクセル属性プレーンデータは、描画オブジェクト毎に適用するハーフトーンパターンを変更するために用いる。
換言すると、カラー変換部１１６及びＣＭＹＫ２値変換部１１７が、多値描画部１１５によって生成された画素情報に基づき、画素を描画するための階調情報を生成する階調情報生成部として機能する。
【００４８】
カラー特殊処理部１１８は、ＣＭＹＫ２値変換部の出力に対して特殊なカラー処理を行う。この特殊なカラー処理とは、Ｂｌａｃｋ  Ｏｖｅｒ  Ｐｒｉｎｔや、地紋印刷、スタンプ印刷等のカラー処理のことを指す。この特殊描画処理は、ＣＭＹＫの情報に変換された後に行う必要があり、実行するタイミングとしては、ＣＭＹＫ２値変換処理の後となる。
換言すると、特殊なカラー処理とは、ＣＭＹＫ２値変換後の処理、即ち、階調情報が生成された後の画像処理であり、最終的に画像形成出力実行するための出力情報を生成する処理である。即ち、カラー特殊処理部１１８が出力情報生成部として機能する。このタイミングで実行するため、特殊処理を行うかどうかの情報及び実行する特殊処理の種類の情報をメモリ上に蓄積しておく必要がある。
上述したように、各バンドの描画情報は、カラープレーン、属性プレーン及びディスティネーション透過プレーンからなるフォーマットに蓄積されている。また、上述したように、１ピクセルの情報は、カラープレーンの４バイト、属性プレーン及びディスティネーション透過プレーン夫々の１バイトで合計６バイトに格納されている。ここで、上記６バイトを完全に消費しているわけではなく、カラープレーンにおけるパッティングバイトや、属性プレーン及びディスティネーション透過プレーンにおける余剰ビット等、余剰領域が存在する。
ここで、上述したように、属性プレーンにおいては、少なくとも２ビットの情報量があれば、ピクセルが属する描画オブジェクトの種類が、文字、イメージ、グラフィックスのいずれに属するかを判断することが可能であるため、属性プレーンの１バイト中、最大６ビットが余剰領域となる。本実施形態においては、この属性プレーンの１バイト中の余剰ビットに、特殊処理の有無を示す情報が割り当てられる。図１２に、属性プレーンにおける１バイト中において、各ビットに割り当てられる情報の例を示す。
【００４９】
図１２に示すように、本実施形態に係る属性プレーンの各バイトにおいては、各ピクセルの属性を示す情報として２ビットが割り当てられている。そして、特殊描画処理の有無を示す情報として、Ｂｌａｃｋ  Ｏｖｅｒ  ＰｒｉｎｔのＯｎ／Ｏｆｆ、地紋印刷のＯｎ／Ｏｆｆ、スタンプ印刷のＯｎ／Ｏｆｆ夫々に１ビットが割り当てられている。上述したように、属性プレーン等の各プレーンのデータは多値描画部１１５によって生成される。即ち、図１２に示すような情報は、多値描画部１１５によって生成される。そして、カラー特殊処理部１１８は、図１２に示すような属性プレーンの情報を参照して、特殊なカラー処理を実行するか否かを判断する。
このように、本実施形態においては、多値描画部１１５が、カラープレーン、属性プレーン及びディスティネーション透過プレーンとして生成するピクセルデータにおいて、その余剰領域に特殊なカラー処理の情報を格納する。これにより、メモリ領域の効率的な活用が可能となり、且つＣＰＵ１１によるメモリアクセスの回数を増やすことなくＢｌａｃｋ  Ｏｖｅｒ  Ｐｒｉｎｔ、地紋印刷、スタンプ印刷等の特殊なカラー処理を実行することが可能となる。即ち、画像形成出力すべき画像の画素の情報を階調情報に変換した後の画像処理が設定されたＰＤＬの中間データに対する多値描画処理を経て保存されたピクセルデータへのアクセス効率を向上させることが可能となる。
【００５０】
尚、上記実施形態においては、特殊なカラー処理の例として、Ｂｌａｃｋ  Ｏｖｅｒ  Ｐｒｉｎｔ、地紋印刷及びスタンプ印刷を例として説明した。しかしながら、これは一例であり、上述したように、ＣＭＹＫ２値変換後の処理、即ち、階調情報が生成された後の画像処理であれば、本実施形態を適用することにより、上記と同様の効果を得ることが可能である。
また、上記実施形態においては、図１２において説明したように、属性プレーンの余剰領域に特殊なカラー処理の情報を格納する場合を例として説明した。しかしながら、上述したように、カラープレーン及びディスティネーション透過プレーンにも余剰領域がある、従って、属性プレーンではなく、他のプレーンの余剰領域に特殊なカラー処理の情報を格納しても良い。図１３に、カラープレーンの余剰領域に特殊なカラー処理の情報を格納する場合の例を示す。
【００５１】
図１３は、多値描画部１１５が生成するカラープレーンが、ＲＧＢのカラースペースによって生成される場合において、パッティングバイトに含まれる情報を示す図である。本来、パッティングバイトは、カラープレーンにおける１ピクセル分のバイト数を４バイトに合わせるためのバイトであり、その情報自体は無意味である。図１３の例においては、特殊なカラー処理に関する情報を、パッティングバイトに格納する。これにより、図１２の場合と同様の効果を得ることが可能となる。
尚、ＲＧＢのカラースペースのデータは、カラー変換部１１６においてＣＭＹＫのカラースペースのデータに変換される。ここで、ＣＭＹＫの４バイトのデータでカラープレーンの４バイトを上書きしてしまうと、パッティングバイトのデータも上書きされてしまうため、特殊なカラー処理の情報が失われてしまう。そこで本実施形態においては、カラー変換部１１６においてカラープレーンの情報を上書きするのではなく、他のメモリ領域にカラー変換後のデータを生成する。これにより、カラー変換後も特殊なカラー処理の情報を残すことができる。
図１２の例の場合、特殊なカラー処理を示す情報の格納場所として属性プレーンの余剰領域を用いるため、１バイト全体を割り当てることができなかった。図１３の例においては、カラープレーンのパッティングバイトを用いるため、１バイト全体を割り当てることが可能であり、より多くの特殊なカラー処理の情報を格納することができる。
この他、ディスティネーション透過プレーンの余剰領域に、特殊なカラー処理の情報を格納するようにしても良い。
【００５２】
また、上記実施形態においては、図２及び図３において説明したように、カラー関連の処理は、カラー変換部１１６、ＣＭＹＫ２値変換部１１７及びカラー特殊処理部１１８、即ち、描画モジュール１１０内において実行される場合が例として説明されている。しかしながら、これらの処理の一部または全部を、図２に示すプリンタエンジン２０８において実行することも可能である。この場合、プリンタコントロールシステム部１０４が、エンジンＩ／Ｆ２０６にＰＲＧＢ＋Ａの描画データを入力することにより実現可能であり、上記と同様の効果を得ることが可能である。
【符号の説明】
【００５３】
１０・・コントローラ、１１・・ＣＰＵ、３０・・プリンタエンジン、４０・・操作パネル、１０４・・プリンタコントロールシステム部、１０５・・ＰＤＬ部、１１０・・描画コアモジュール、１１３・・描画モジュールＩ／Ｆ、１１４・・中間データ保存部、１１５・・多値描画部、１１６・・カラー変換部、１１７・・ＣＭＹＫ２値変換部、１１８・・カラー特殊処理部、１２０・・ＰＤＬパーサ部。
【先行技術文献】
【特許文献】
【００５４】
【特許文献１】特開２００４−２４３５６９号公報
【図１】
2011000860.tif 000003
【図２】
2011000860.tif 000004
【図３】
2011000860.tif 000005
【図４】
2011000860.tif 000006
【図５】
2011000860.tif 000007
【図６】
2011000860.tif 000008
【図７】
2011000860.tif 000009
【図８】
2011000860.tif 000010
【図９】
2011000860.tif 000011
【図１０】
2011000860.tif 000012
【図１１】
2011000860.tif 000013
【図１２】
2011000860.tif 000014
【図１３】
2011000860.tif 000015