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