(57)【要約】【課題】画像形成装置におけるフレームメモリの初期化を効率よく行う。【解決手段】画像データを中間形式に保存する中間形式保存手段３０４と、中間形式に保存した描画オブジェクトからカラープレーンと属性プレーン、半透明プレーンに描画する多値描画手段３０５と、多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段３０６と、カラー変換手段３０６からＣＭＹＫ２値形式に変換するＣＭＹＫ２値変換手段３０７と、カラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、を有する画像形成装置において、前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットしたときはカラー値を表現するプレーンと、半透明プレーンを初期化しないようにした。【選択図】      図３
2010214905.tif 000002
【特許請求の範囲】
【請求項１】
１ページ分の画像データを中間形式に保存する中間形式保存手段と、
中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画手段と、
プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、
前記多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段と、
前記カラー変換手段からＣＭＹＫ２値形式に変換するＣＭＹＫ２値変換手段と、を有し、
前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置。
【請求項２】
請求項１に記載された画像形成装置において、
前記多値描画手段のカラー値を表現するプレーンは１ピクセルあたり４バイトからなる点順示形式であることを特徴する画像形成装置。
【請求項３】
請求項１に記載された画像形成装置において、
前記多値描画手段のカラー値を表現するプレーンはグレーの場合は１ピクセル１バイトからなる形式であることを特徴とする画像形成装置。
【請求項４】
請求項１に記載された画像形成装置において、
前記多値描画手段のカラー値を表現するプレーンは、３チャネルからなるカラースペースの場合には、１バイト目にパディングデータ、とそれに続く各カラー成分のデータのプレーンからなることを特徴とする画像形成装置。
【請求項５】
請求項１に記載された画像形成装置において、
前記多値描画手段の属性プレーン、半透明プレーンは２バイトで１ピクセルを表す属性＋半透明プレーンであることを特徴とする画像形成装置。
【請求項６】
請求項１に記載された画像形成装置において、
前記多値描画手段の属性プレーン、半透明プレーンはそれぞれ独立のプレーンであることを特徴とする画像形成装置。
【請求項７】
請求項１に記載された画像形成装置において、
前記多値描画手段は、カラー値を表現するプレーンがｉｎｄｅｘ値でカラールックアップテーブルを有することを特徴とする画像形成装置。
【請求項８】
請求項１に記載された画像形成装置において、
前記多値描画手段のカラーフォーマットはバンド毎に同一又は異なるフォーマットであることを特徴とする画像形成装置。
【請求項９】
請求項１に記載された画像形成装置において、
前記初期化手段は、属性プレーンのライン毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーン及び半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置。
【請求項１０】
請求項１に記載された画像形成装置において、
前記初期化手段は、属性プレーンの複数ライン毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置。
【請求項１１】
請求項１に記載された画像形成装置において、
前記初期化手段は属性プレーンの複数ピクセルからなるブロック毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置。
【請求項１２】
１ページ分の画像データを中間形式に保存する中間形式保存手段と、
ページの回転方向を判定する手段と、
中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画手段と、
プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、
前記多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段と、
前記カラー変換手段からＣＭＹＫ２値形式に変換するＣＭＹＫ２値変換手段と、を有し、
前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置。
【請求項１３】
請求項１２に記載された画像形成装置において、
前記初期化手段は属性プレーンのライン毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化せず、ページ回転によって９０度回転したときには、初期化フラグも同じ方向に９０度回転することを特徴とする画像形成装置。
【請求項１４】
請求項１２に記載された画像形成装置において、
前記初期化手段は属性プレーンの複数ライン毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化せず、ページ回転によって９０度回転したときには、初期化フラグも同じ方向に９０度回転することを特徴とする画像形成装置。
【請求項１５】
請求項１２に記載された画像形成装置において、
前記初期化手段は属性プレーンの複数ピクセルからなるブロック毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化せず、ページ回転によって９０度回転したときには、初期化フラグも同じ方向に９０度回転することを特徴とする画像形成装置。
【請求項１６】
１ページ分の画像データを中間形式に保存する中間形式保存手段と、
中間形式に保存手段した中間データに基づき半透明描画があるか否かを判定する半透明判定手段と、
中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画手段と、
プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、
多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段と、
前記カラー変換手段からＣＭＹＫ２値形式に変換するＣＭＹＫ変換手段と、を有し、
前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置。
【請求項１７】
請求項１６に記載された画像形成装置において、
前記半透明判定手段が半透明でないと判定したとき、ＣＭＹＫ２値で描画することを特徴とする画像形成装置。
【請求項１８】
コンピュータを、
１ページ分の画像データを中間形式に保存する中間形式保存手段と、
中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画手段と、
プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、
前記多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段と、
前記カラー変換手段からＣＭＹＫ２値形式に変換するＣＭＹＫ変換手段として機能させ、
前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とするプログラム。
【請求項１９】
請求項１８に記載されたプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項２０】
１ページ分の画像データを中間形式に保存する中間形式保存工程と、
中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画工程と、
プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化工程と、
前記多値描画工程で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換工程と、
前記カラー変換工程からＣＭＹＫ２値形式に変換するＣＭＹＫ変換工程を有し、
前記初期化工程では属性プレーンに初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成方法。
【請求項２１】
１ページ分の画像データを中間形式に保存する中間形式保存工程と、
中間形式に保存した中間データに基づき半透明描画があるか否か判定する半透明判定工程と、
中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画工程と、
プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化工程と、
前記多値描画工程で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換工程と、
前記カラー変換工程からＣＭＹＫ２値形式に変換するＣＭＹＫ変換工程と、を有し、
前記初期化工程では属性プレーンに初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＧＢ，ＣＭＹＫでも同じように効率よくハンドリングできるカラープレーンフォーマットを使用して描画する画像形成装置であって、効果的にフレームメモリの初期化を行うことができる画像形成装置、画像形成方法及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置においてＸＰＳ（XML Paper Specification）による描画処理を行うものが知られているが、ＸＰＳでは半透明描画という従来のＰＤＬ（Page Description Language）にはない処理が新たに追加されている。
この処理はＲＧＢ２４ビットで描画する必要がある。また従来から描画オブジェクト毎に画処理（ハーフトン処理、ＢＧ／ＵＣＲ（Black generation and Under Color removal））等の処理が必要であるが、これらの処理はＲＧＢ２４ビット多値で描画後の処理であり、描画後はオブジェクト情報がなくなってしまうためピクセル毎にオブジェクトの情報を保存する必要がある。
【０００３】
ピクセル毎に文字で描画されたものか、グラフィックスで描画されたものか、イメージで描画されたものか等についての情報を保存し、その後のカラー処理やハーフトン処理で活用する必要がある。またＸＰＳの半透明処理では半透明処理をする過程で描画先の半透明情報も保存しておく必要がある。描画する過程では通常重ねるデータ（ソースデータと呼ぶ）の半透明情報と描画先（ディスティネーションと呼ぶ）の半透明情報を使用して描画する。この描画先の半透明情報もピクセル毎に保存する必要がある。
【０００４】
従って、ＲＧＢ（Ｒ：レッド、Ｇ：グリーン、Ｂ：ブルー）２４ビット多値描画に必要な情報はカラー値の他に属性と半透明値がピクセル毎に必要になる。
このような理由から、ＲＧＢフルカラーで処理する場合は１ピクセルあたり５バイト必要になるため、ピクセル単位に順番に配置すると１ピクセルは５バイト単位のアクセスになる。コンピュータのＣＰＵは現在通常４バイト（３２ビット）のレジスタで構成されるのが普通であるので、一回の読み出しで１ピクセル分（５バイトのデータ）にアクセスできないので、通常は１バイトずつアクセスすることになるので５回の命令で１ピクセルのデータの読み出しが可能になる。
【０００５】
６４ビットのＣＰＵでも５バイトずつアクセルすると、必ず境界にまたがる場合が出てくるので効率の悪さは同じである。ところが、ＲＧＢプレーンと属性＋半透明プレーンのように４バイトと２バイトで１ピクセルとしてアクセスすると、１．５回の読み出し命令で１ピクセルデータの読み出しが可能になる。
従って、少ない命令数でピクセルの読み出しが可能になるため効率がよい。
ＣＭＹＫ（Ｃ：シアン、Ｍ：マゼンタ、Ｙ：イエロー、Ｋ：ブラック）の場合は６バイトになり、同様に１．５回の命令で１ピクセルのデータが読み出し可能になる。
ただし、このようなデータ形式のフレームメモリを初期化しようとすると、そのままでは１ピクセル当たり６バイトの書き込みが発生してしまう。そのためページ全体では、およそ４８００＊６７００＊６≒１９３ＭＢも初期化しなければならなくなり、無視できない負荷となるという問題がある。
【０００６】
なお、従来技術として、画像形成装置において、各ピクセルに対して付加する像域信号にカラーピクセルかモノクロピクセルかを判別するための信号を付加することにより、ＲＧＢフォーマットで形成された描画オブジェクトがカラーかモノクロかにより処理を分けて、モノクロオブジェクトの処理を行う場合は、モノクロピクセルとして描画、圧縮、色処理するようにして、処理の高速化、高精度化を図ったものが知られている（特許文献１）。
しかし、この画像形成装置においても、初期化に当たっては上記と同様の問題が生じ、したがってその解決法を提供するものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記従来の問題に鑑みてなされたものであって、その目的は、４バイトと２バイトのような上記データ形式のフレームメモリを効率的に初期化できるようにすることである。また、少ない命令数でピクセルの読み出しができるようにすることである。
【課題を解決するための手段】
【０００８】
請求項１の発明は、１ページ分の画像データを中間形式に保存する中間形式保存手段と、前記中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画手段と、プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、前記多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段と、前記カラー変換手段からＣＭＹＫ２値形式に変換するＣＭＹＫ２値変換手段と、を有し、前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置である。
請求項２の発明は、請求項１に記載された画像形成装置において、前記多値描画手段のカラー値を表現するプレーンは１ピクセルあたり４バイトからなる点順示形式であることを特徴する画像形成装置である。
請求項３の発明は、請求項１に記載された画像形成装置において、前記多値描画手段のカラー値を表現するプレーンはグレーの場合は１ピクセル１バイトからなる形式であることを特徴とする画像形成装置である。
請求項４の発明は、請求項１に記載された画像形成装置において、前記多値描画手段のカラー値を表現するプレーンは、３チャネルからなるカラースペースの場合には、１バイト目にパディングデータ、とそれに続く各カラー成分のデータのプレーンからなることを特徴とする画像形成装置である。
請求項５の発明は、請求項１に記載された画像形成装置において、前記多値描画手段の属性プレーン、半透明プレーンは２バイトで１ピクセルを表す属性＋半透明プレーンであることを特徴とする画像形成装置である。
請求項６の発明は、請求項１に記載された画像形成装置において、前記多値描画手段の属性プレーン、半透明プレーンはそれぞれ独立のプレーンであることを特徴とする画像形成装置である。
請求項７の発明は、請求項１に記載された画像形成装置において、前記多値描画手段は、カラー値を表現するプレーンがｉｎｄｅｘ値でカラールックアップテーブルを有することを特徴とする画像形成装置である。
請求項８の発明は、請求項１に記載された画像形成装置において、前記多値描画手段のカラーフォーマットはバンド毎に同一又は異なるフォーマットであることを特徴とする画像形成装置である。
請求項９の発明は、請求項１に記載された画像形成装置において、前記初期化手段は、属性プレーンのライン毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーン及び半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置である。
請求項１０の発明は、請求項１に記載された画像形成装置において、前記初期化手段は、属性プレーンの複数ライン毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置である。
請求項１１の発明は、請求項１に記載された画像形成装置において、前記初期化手段は属性プレーンの複数ピクセルからなるブロック毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置である。
請求項１２の発明は、１ページ分の画像データを中間形式に保存する中間形式保存手段と、ページの回転方向を判定する手段と、中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画手段と、プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、前記多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段と、前記カラー変換手段からＣＭＹＫ２値形式に変換するＣＭＹＫ２値変換手段と、を有し、前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置である。
請求項１３の発明は、請求項１２に記載された画像形成装置において、前記初期化手段は属性プレーンのライン毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化せず、ページ回転によって９０度回転したときには、初期化フラグも同じ方向に９０度回転することを特徴とする画像形成装置である。
請求項１４の発明は、請求項１２に記載された画像形成装置において、前記初期化手段は属性プレーンの複数ライン毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化せず、ページ回転によって９０度回転したときには、初期化フラグも同じ方向に９０度回転することを特徴とする画像形成装置である。
請求項１５の発明は、請求項１２に記載された画像形成装置において、前記初期化手段は属性プレーンの複数ピクセルからなるブロック毎に初期化フラグを持ち、この初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化せず、ページ回転によって９０度回転したときには、初期化フラグも同じ方向に９０度回転することを特徴とする画像形成装置である。
請求項１６の発明は、１ページ分の画像データを中間形式に保存する中間形式保存手段と、中間形式に保存した中間データに基づき半透明描画があるか否かを判定する半透明判定手段と、中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画手段と、プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段と、前記カラー変換手段からＣＭＹＫ２値形式に変換するＣＭＹＫ変換手段と、を有し、前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成装置である。
請求項１７の発明は、請求項１６に記載された画像形成装置において、前記半透明判定手段が半透明でないと判定したとき、ＣＭＹＫ２値で描画することを特徴とする画像形成装置である。
請求項１８の発明は、コンピュータを、１ページ分の画像データを中間形式に保存する中間形式保存手段と、中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画手段と、プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化手段と、前記多値描画手段で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換手段と、前記カラー変換手段からＣＭＹＫ２値形式に変換するＣＭＹＫ変換手段として機能させ、前記初期化手段は属性プレーンに初期化フラグを持ち、初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とするプログラムである。
請求項１９の発明は、請求項１８に記載されたプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
請求項２０の発明は、１ページ分の画像データを中間形式に保存する中間形式保存工程と、中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画工程と、プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化工程と、前記多値描画工程で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換工程と、前記カラー変換工程からＣＭＹＫ２値形式に変換するＣＭＹＫ変換工程を有し、前記初期化工程では属性プレーンに初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成方法である。
請求項２１の発明は、１ページ分の画像データを中間形式に保存する中間形式保存工程と、中間形式に保存した中間データに基づき半透明描画があるか否か判定する半透明判定工程と、中間形式に保存した描画オブジェクトからカラー値を表現するプレーンと属性プレーン、半透明を表現するプレーンに描画する多値描画工程と、プレーンと属性プレーン、半透明を表現するプレーンを初期化する初期化工程と、前記多値描画工程で描画した画像からオブジェクト毎にカラー変換を実施するカラー変換工程と、前記カラー変換工程からＣＭＹＫ２値形式に変換するＣＭＹＫ変換工程と、を有し、前記初期化工程では属性プレーンに初期化フラグをセットすることでカラー値を表現するプレーンと、半透明プレーンを初期化しないようにしたことを特徴とする画像形成方法である。
【発明の効果】
【０００９】
本発明によれば、フレームメモリの初期化が高速になる。つまり、全てのフレームメモリを初期化するのではなく、必要最小限のメモリだけを初期化するため高速化が可能であり、かつ、カラーピクセルデータの読み取り効率がよく、更に、カラーピクセルと属性＋半透明をそれぞれ別プレートとしたため、アクセス単位がＣＰＵのレジスタサイズ内でアクセスできる、つまり、少ない命令数でピクセルの読み出しができるため効率がよい。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る画像形成装置のハードウエア構成図である
【図２】同実施形態に係るコントローラのソフトウエア構成図である。
【図３】同実施形態に係るコントローラソフトを構成するＰＤＬソフトのモジュールブロック図である。
【図４】PostScriptにおける描画命令の一例を示す図である。
【図５】描画モジュールＩ／Ｆのコールする関数Ｉ／Ｆの一例を示す図である。
【図６】中間データのデータ構造を示す図である。
【図７】ＩＤ番号と描画コマンドの対応表を示す図である。
【図８】多値描画部のメモリ構造を示す図である。
【図９】バンドメモリのフォーマットを示す図である。
【図１０】属性プレーンの各ピクセルに付した初期化済みフラグを示す図である。
【図１１】ＰＲＧＢ＋Ａ＋ＴフォーマットへRectangleを描画するための動作手順を示すフロー図である。
【図１２】各プレーンの１ラインに付した一つの初期化済みフラグを示す図である。
【図１３】別の実施形態に係るコントローラソフトを構成するＰＤＬソフトのモジュールブロック図である。
【発明を実施するための形態】
【００１１】
図１は本発明の実施形態に係る画像形成装置のハードウエア構成図である。
画像形成装置は、画像形成装置の制御を行うコントローラ１と、ホストパソコン２と、用紙に画像を印刷するためのエンジン３と、ユーザが入力を行う操作パネル・状態を表示するパネル装置４で構成されている。
【００１２】
コントローラ１は、ソフトウエアプログラムの命令を実行するためのＣＰＵ１１とコントローラ上で動作するためのプログラムを格納するためのＲＯＭ１２とコントローラソフトが作成するページメモリやソフトウエアが動作するために必要なワークメモリとして利用するＲＡＭ１３とから成るコンピュータ（パーソナルコンピュータ）と、装置の印刷条件設定などを保存しておく不揮発性メモリであるＮＶＲＡＭ１４と、ネットワーク上に接続されたホストＰＣ２とデータのやり取りを行うためのネットワークＩ／Ｆ１５とエンジン３との間で印刷指示等を行うエンジンＩ／Ｆ１６と、パネル装置４との入出力を行うためのパネルＩ／Ｆ１７から構成されている。
コントローラ１は、ＲＯＭ１２に格納されたプログラムでＣＰＵ１１を動作させることで、以下で説明するコントローラ１の各機能を実行する機能実現手段を実現する。プログラムを記録する記憶媒体としては、上記ＲＯＭ１２に限らず、ＨＤＤ（Hard Disk  Drive）、ＣＤ（Compact Disk）―ＲＯＭ、ＭＯ（光磁気ディスク）、ＤＶＤ（Digital Versatile Disk）等のコンピュータ読取可能な記録媒体がある。
【００１３】
図２は、本発明の実施形態に係るコントローラのソフトウエア構成図である。
ホストＰＣ（パーソナルコンピュータ）２とデータの交換を行うネットワークＩ／Ｆ部２０２、パネル装置４の制御を行うパネルＩ／Ｆ部２０３、印刷データを受け取り印刷画像を作成するＰＤＬ部２０５、プリンタエンジン３との印刷指示等を行うエンジンＩ／Ｆ部２０６、プリンタコントローラを制御するプリンタコントロールシステム部２０４から構成されている。これらのソフトウエアは周知のコンピュータ読取可能な記憶媒体に記録されて提供される。
【００１４】
図３は、コントローラソフトを構成するＰＤＬ（Page Description Language）ソフトのモジュールブロック図である。
ＰＤＬソフトはＰＤＬの種類毎に構文解析を行うパーサ部３０１と、ＰＤＬの画像形成を行う描画コアモジュール（描画コア部）３０２からなる。描画コアモジュール３０２はテキスト、イメージ、ベクターグラフィックス、描画設定情報を受け取るためのＩ／Ｆである描画モジュールＩ／Ｆ部３０３と、テキスト、イメージ、ベクターグラフィックスなどの描画データと色や透過設定などを有する描画設定情報を保存する中間形式保存部３０４と、中間形式保存部３０４から指定されたカラースペース（色空間）で描画する多値描画部３０５と、多値で描画されたデータからデバイスカラーへ変換するカラー変換部３０６と、デバイスカラーをＣＭＹＫ２値でハーフトーンニングを実施するＣＭＹＫ２値変換部３０７、及びフレームメモリ初期化部３０８から構成されている。
【００１５】
多値描画部３０５のカラースペースはページの始めに描画カラースペースとして指定されたものに従う。ＲＧＢカラースペースが指定された場合はＲＧＢ各色それぞれ８ビットで描画される。
【００１６】
図３のＰＤＬモジュールブロック図を参照して全体の動作の流れを説明する。
ＰＤＬパーサ部３０１は、PostScriptやＰＤＦ（Portable Document Format），ＰＣＬ（Printer Command Language），ＸＰＳ（Extensible Markup Language Paper Specification）のようなページ記述言語を解析する部分である。言語ごとに構文の違いに関わらず、描画コアモジュール３０２の描画モジュールＩ／Ｆ部３０３をコールすることでどのＰＤＬでも描画することが可能である。
描画コアモジュール３０２の描画モジュールＩ／Ｆ部３０３はイメージ、グラフィックス、文字などの描画データや色、ブラシ、半透明指定、線形状などを設定するＩ／Ｆを有することで全てのＰＤＬの描画に対応するＩ／Ｆを有することができる。ここで、半透明は２つの色を重ねる割合を指定することで、これにより半透明描画が可能になる。
例えば、PostScriptで図４に示すような描画命令があると、これは、ＲＧＢカラースペースで（Ｒ，Ｇ，Ｂ）＝（0.5,0.0,0.0）の色でページの左下を原点として、左下、右上座標をそれぞれ（100,100）、（200,200）で指定して矩形を描画する命令である。
【００１７】
描画コアモジュール３０２の描画モジュールＩ／Ｆ部３０３では、色設定するＩ／Ｆ（関数Ｉ／Ｆ）をコールし、その後で座標を設定するＩ／Ｆと塗りつぶし指定するＩ／Ｆをコールすることで矩形を描画することができる。
図５は描画モジュールＩ／Ｆ部３０３がコールした関数Ｉ／Ｆの例を示す。描画命令は図５に示すような関数シーケンスに変換される。
図５において、setcolorの第１引数はＲＧＢカラースペースを指定し、第２から第４引数でＲＧＢ各色の色値を0.0から1.0の範囲で指定する。
rectangleは矩形描画関数で、これにより左上座標と右下座標が指定される。
ここで、Postscriptでは論理座標の原点は右下であったが、描画モジュールＩ／Ｆ部３０３の原点は左上に変換されているものとしているため、矩形描画関数は左上、右下座標という記述になっている。
ＰＣＬ（Printer Command Language）５，ＰＣＬ６のような言語も同様に描画モジュールＩ／Ｆ部３０３をコールすることで描画が可能である。
【００１８】
描画モジュールＩ／Ｆ部３０３がコールされた後、中間形式保存部３０４によりデータがメモリ上またはファイル上に保存される。
図５の例で説明すると、setcolor関数ではＲＧＢカラースペースと色値＝（0.5,0.0,0.0）が設定されている。
ここで、描画データを修飾するためのデータを「グラフィックス状態（GStatus）」といい、カラースペースと色値はグラフィックス状態としてメモリ上に保存され、次にrectangleの座標データが保存される。
【００１９】
グラフィックス状態には、他に半透明値、ラスタ演算（Raster Operation）値、線幅などがある。グラフィックス状態は、図形、イメージ、文字の描画データに共通なデータ構造として、メモリ上に例えば図６に示すデータ構造をもつ中間データとして保存されている。
図６の中間データの「GStatus」には色や線幅、半透明値、ラスタ演算値などの描画に共通な設定情報が保存されている。図６の例では固定長サイズのGStatusレコードからはじまり、次に描画データのＩＤ番号がくる。
【００２０】
図７はＩＤ番号と描画コマンドの対応表である。
図示のように、ＩＤ＝０ｘ００はRectangleを示し、ＩＤ＝０ｘ０１は直線の描画（LineDraw）、ＩＤ＝０ｘ０２は直線で囲まれた領域の塗りつぶし（LineFill），ＩＤ＝０ｘ０３はImageの描画、ＩＤ＝０ｘ０４は文字の各描画コマンドに対応している。
【００２１】
図５に示した描画モジュールＩ／Ｆ部３０３のＩ／Ｆコールでは、GStatusに色情報が保存され、Rectangleの座標は左（left）＝１００，上（top）＝１００，右（right）＝２００，下（bottom）＝２００が保存される。
図６に示す中間データ構造において、ＩＤ番号の次のバイトはパディングバイトで０が入る。flagは描画命令の属性として使われる。属性の例としてRecntangle命令をクリップ（Ｃｌｉｐ）とする場合はクリップであることを示すビットをＯＮにする。
【００２２】
次に多値描画部３０５について説明する。
多値描画部３０５は中間データとして保存されている描画データを各色８ビットのページ領域に描画する。
多値描画部３０５は図８Ａ，８Ｂ，８Ｃに示すようなメモリ構成になっている。
図８ＡはＲＧＢ各色８ビット点順示フォーマットで保存されているカラー値である。
多値描画部３０５のカラー値を表現するプレーンは、３チャネルからなるカラースペースの場合には、１バイト目にパディングデータ、とそれに続く各カラー成分のデータのプレーンからなっている。図８Ａにおいて、Ｐはパディングバイト，Ｒはレッド（Ｒｅｄ），Ｇはグリーン（Ｇｒｅｅｎ），Ｂはブルー（Ｂｌｕｅ）のピクセル値を表す。ＲＧＢ点順示の場合にはＰ（パディングバイト）の値は０が埋められる。
ここで、多値描画部３０５のカラー値を表現するプレーンは１ピクセルあたり４バイトからなる点順示形式であり、前記多値描画手段のカラー値を表現するプレーンはグレーの場合は１ピクセル１バイトからなる形式である。
【００２３】
図８Ｂは各ピクセルの属性値を８ビット（１バイト）で持つ。８ビットであれば各ビットで８種類の属性値が表現できる。属性の使用用途は描画されたピクセルが文字、イメージ、グラフィックスに区別するために使用される。属性値を８ビットよりも多くのビットで持つようにしてもよい。
図８Ｃはフレームデータの透過値をピクセル毎に保存したものである。透過プレーンの使用方法については後述する。
【００２４】
図８のメモリは１ページ分確保できる場合は中間データとして保存された描画データを保存された順番に取り出して、判定手段がそのグラフィック状態（GStatus）を参照して半透明描画データか否かを判定して、指定されたアドレス（座標データ）に書き込む。書き込む場合はラスタ演算または半透明描画を行う。
【００２５】
ここで、ラスタ演算はWindows（登録商標）ＯＳのグラフィックスエンジンで使われる画像処理で、同じ領域に重なる図形の色値をＲＧＢ各色毎にビット演算する処理である。ビット演算にはＯＲ，ＸＯＲ，ＡＮＤがある。一方、半透明描画はWindows（登録商標） Vista（登録商標）でサポートされるＸＰＳやＰＤＦで使われる画像処理で、同じ領域に重なる色値の透過割合（半透明値を１００分率で示したもの）を０％から１００％で指定することで半透明描画する処理である。通常ＲＯＰ（ラスタ演算）と半透明描画が同時に使われることはないが、使われていてもよい。
【００２６】
ラスタ演算が行われる場合は図８Ｃの透過プレーンには書き込みは行わない。ＲＧＢカラープレーンのビット演算を実施した後に属性プレーンピクセルに最後に描画したオブジェクトの属性（文字、イメージ、グラフィックス）情報を書き込む。
【００２７】
次に、半透明処理を説明する。
一般に半透明処理は、描画対象のソースデータに対してのみ設定する場合とソースデータと描画後のディスティネーションに両方に設定される場合がある。
前者の場合、Ｓをソース、Ｄをディスティネーションのピクセル値、αをソースの半透明値（０から１の間を取る）とすると、半透明描画後の色値（ＮｅｗＤ）は以下のようになる。
ＮｅｗＤ＝Ｓ＊α＋（１−α）＊Ｄ
この処理はＲＧＢ各色毎に行われる。ソースの半透明値（α）しかない場合は、ディスティネーション用の透過プレーンは使用しない。
【００２８】
後者の場合は例えば以下のような式で表せる。
Ａｓ：ソース半透明値
Ａｄ：ディスティネーション半透明値
Ａｄ’：描画後のディスティネーション半透明値
Ｃｓ：ソースカラー
Ｃｄ：ディスティネーションカラー
Ｃｄ’：描画後のディスティネーションカラー
としたとき、
Ａｄ’＝（１−Ａｓ）＊Ａｄ＋Ａｓ
Ｃｄ’＝（（１−Ａｓ）＊Ａｄ＊Ｃｄ＋Ａｓ＊Ｃｓ）／Ａｄ’
Ａｄ’（描画後のディスティネーション半透明値）は、図８Ｃの透過プレーンの該当ピクセルに描画されることになる。
【００２９】
ソース半透明属性はグラフィックス状態（GStatus）に設定されている。中間データの描画オブジェクトを多値描画部３０５のページメモリに描画する場合はGStatusに設定されている描画対象オブジェクトの半透明値、色値を取り出してディスティネーションのＲＧＢプレーンに設定されている色値、同じくディスティネーションの透過プレーンに設定されている半透明値を使用して新たなディスティネーションの色値と半透明値を計算して値をそれぞれ更新する。
なお半透明処理の方式は、同一ページを処理する場合１つの方式に決められているので、複数の方式が混在することはない。
【００３０】
ラスタ演算の場合も同様にラスタ演算を指定するＩＤはGStatus上に保存されている。このＩＤは０から２５５までの２５６通りあり、それぞれどのようなビット演算が行われるか予め定義されている。
この定義に従って、ＲＧＢ各色毎にソースとディスティネーションの処理ビット演算を実施する。
【００３１】
以上は図８のＲＧＢデータの処理の場合を説明したが、ＣＭＹＫ各色８ビットで描画する場合はＰＲＧＢの３２ビット１ピクセルで表現していたものを、ＣＭＹＫ３２ビットで描画するように置き換えればよい。
グレースケールの場合は上述のように、各色８ビットで描画することになる。
【００３２】
また図８の例では属性プレーンとディスティネーション透過プレーンは別プレーンとしたものとして説明したが、属性と透過を同じプレーンにし、２バイトで１ピクセル分の属性と透過を実現することも可能である。ここでは後者をＰＲＧＢ＋ＡＴフォーマットという。
モノクロの場合はカラープレーンが１プレーンでよいので、Ｇ（グレープレーン）＋ＡＴ（Ａ：属性プレーン、Ｔ：透過プレーン）フォーマットやＰ（パディングプレーン）ＧＡＴフォーマット、もしくはＧ＋Ａ＋Ｔフォーマットで表現することができる。
【００３３】
また、以上の説明で、多値描画部３０５のメモリは、１ページ分取得できるものとして説明したが、バンドメモリしか取得できない場合もある。この場合、多値描画部３０５は中間データを取得する際にバンティングすることによって、バンド単位でメモリにアクセスすることで描画が可能である。
【００３４】
ここで、バンディングとは、ページメモリの高さを複数に分割して描画する処理である。プリンタコントローラは１ページ分のメモリを確保することができないので、例えば高さ１０２４のバンドメモリを確保する。その他のバンドメモリは圧縮するかハードディスク等に退避しておく。描画要求があった時点で圧縮を解凍してバンドメモリ上にロードする。ハードディスクの場合は同じくメモリ上にロードする。
描画が終了し、次のバンド描画要求があった時点で圧縮するか、またはハードディスクへ保存するような処理になる。中間データは、各描画オブジェクトの座標データから各バンドデータにクリップしてバンドメモリに描画することになる。
【００３５】
バンドメモリは図９の例に示したフォーマットになるが、バンド毎に違うフォーマットも可能である。バンド０がグレーデータしかない場合は、各色８ビットグレープレーンと属性、透過プレーンになるが、バンド１にはカラーデータが含まれる場合はＰＲＧＢプレーンと属性、透過プレーンにすることができる。
各バンドで使用されている色は中間データの描画オブジェクトのGStatusに含まれるカラーデータを調べることでわかる。
なお、多値描画部３０５の処理を実行する多値描画手段は、カラー値を表現するプレーンがｉｎｄｅｘ値でカラールックアップテーブルを有する構成とすることができる。この構成では、フレームにカラー（色）を直接格納するのではなく、ＩＤを格納しておき、そのＩＤでテーブルから描画カラーを引けるルックアップテーブルを持つことにより、フレームに使用される総色数が少なければ、カラーページであってもメモリ量を削減でき、メモリ効率と処理速度を向上させることができる。
【００３６】
次に、多値描画部３０５で作成した多値ページメモリに描画されたデータをカラー変換部３０６によって色変換する処理を説明する。
カラー変換処理はカラーマッチング、ＢＧ／ＵＣＲ（Black generation and Under Color removal）処理を実施しデバイスＣＭＹＫに変換する処理がある。
ここでは、図８で説明したＲＧＢピクセルプレーン＋属性プレーン＋透過プレーンは上述のようにＰＲＧＢ＋Ａ＋Ｔフォーマットという。
多値描画部３０５では１ページ分の描画データがＰＲＧＢ＋Ａ＋Ｔフォーマットで描画されている。
カラー変換部３０６は、ＰＲＧＢ＋Ａ＋Ｔデータを受け取りカラーマッチングを行う。カラーマッチングは出力しようと意図した通りの色がでるように出力デバイスの色特性に合わせて色変換を行う処理である。カラーマッチング処理ではＰＲＧＢプレーンでＲＧＢ各色８ビットを入力としてＲＧＢ８ビットを出力する。出力データは同じメモリアドレスに上書きされる。
【００３７】
カラーマッチングをする際に属性データを参照して文字、イメージ、グラフィックスのオブジェクトの種類毎にカラーマッチングを行うこともできる。その場合は属性プレーンのピクセルデータを参照することでオブジェクト毎にカラーマッチングが可能である。
【００３８】
次にＰＲＧＢピクセルデータの各ピクセルに対してＢＧ／ＵＣＲ処理を実施する。この時の出力はＫＣＭＹになる。ピクセル毎にＢＧ／ＵＣＲ変換されたデータは同じメモリアドレス（ＰＲＧＢ）に上書きされる。ＰＲＧＢデータは４バイトであるため、変換後も同じアドレスに保存できる。
以上で説明したようにカラー変換部３０６ではＰＲＧＢ＋Ａ＋ＴのデータがＫＣＭＹ＋Ａ＋Ｔのデータに変換された。この時データ変換のために余分なメモリ取得は行っていない。
【００３９】
ＣＭＹＫ２値変換部３０７は、カラー変換部３０６からＫＣＭＹ各色８ビットのプレーンデータと属性データを受け取り、ＣＭＹＫ２値のハーフトン処理を実施し、２値のページメモリに描画する。この時の属性データは描画オブジェクト毎にハーフトンパターンを変更するために必要になる。
【００４０】
初期化処理について説明する。
各色の深さが８ビットのＲＧＢ色空間の場合に白色は（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）であるため、白紙に印刷するためのＰＲＧＢプレーンは本来（０，２５５，２５５，２５５）で、Ａプレーンは初期属性値ここでは０で、Ｔプレーンは背景の初期透過率０でそれぞれ埋め尽くされなければならない。ただし、実際にこの初期化を行うとすると、Ａ４サイズ１ページ分を初期化するためにおよそ１９０ＭＢ（４８００×６７００×６バイト）のメモリ書き出しが行われる。毎ページの描画のためにこの初期化が行われるとすると、初期化の負荷だけで印刷速度が大幅に遅くなってしまう。
そこで、全てのプレーンを初期化せずに属性プレーンだけを初期化する。ここでは各色の深さを７ビット（１２８）で初期化する。こうすると初期化にかかる時間は６分の１となり高速化が達成できる。ただし、この場合には属性プレーンの各ピクセルに初期化済みであることを示す初期化済みフラグを持たせる必要がある。例えば図１０のようになる。
【００４１】
つまり、属性プレーンの各ピクセルが８ビットとして、そのうち１ビットを初期化済みフラグとする。このフラグが１であればその座標のピクセルはＰＲＧＢプレーンも、Ｔプレーンも初期化されたものとみなされる。フラグの値とフラグの意味は逆にしても良い。その場合は未初期化フラグになり、以下に説明するこのフラグに関する処理が逆になる。
【００４２】
初期化済みフラグを持つＰＲＧＢ＋Ａ＋Ｔフォーマットへの描画について説明する。
ＰＲＧＢ＋Ａ＋ＴフォーマットへRectangleを描画するには図１１に示すフロー図に示す手順のようになる。即ち、最初に属性プレーンのRecntangleで指定された座標へアクセスし、その情報を読み出す。即ち、指定された座標のＡプレーンを参照する（Ｓ１０１）。このときに初期化済みフラグが１であれば（Ｓ１０２、Ｙｅｓ）、ディスティネーションであるＰＲＧＢプレーンは白（２５５，２５５，２５５）とみなし、Ｔプレーンは０とみなす。これらの値とRectangleの描画色と半透明値を用いて計算を行い（Ｓ１０４）、その結果をディスティネーションのＰＲＧＢ及びＴプレーンに書き出す。また同時に属性プレーンにもRectangleの属性を上書きし、さらに初期化済みフラグを０にクリアする（Ｓ１０５）。
【００４３】
逆に初期化済みフラグが０であれば（Ｓ１０２、Ｎｏ）、その座標のＰＲＧＢプレーンとＴプレーン、さらにＡプレーンの内容をディスティネーションとして用いて計算する（Ｓ１０３）。
ＫＣＭＹ＋Ａ＋Ｔの場合には初期化済みフラグが１の場合にはＫＣＭＹプレーンを（0,0,0,0）とみなす以外は同じで、Ｇ＋Ａ＋Ｔの場合も同様にＧを０とみなすことになる。
【００４４】
初期化済みフラグを用いたカラー変換部３０６の説明を行う。
初期化済みフラグが０であれば上記のとおりであるが、初期化済みフラグが１のピクセルを読み込んだ場合には、初期背景色かつ初期の属性値を持ったピクセルとして扱う。この例では各色空間に応じた白であり、Rectangleの属性を持つものとする。カラー変換が行われると初期化済みフラグはクリアされるか、以降の処理では無視される。
【００４５】
初期化済みフラグはディスティネーションの全てのピクセル毎に持つ必要は無く、例えば横方向の１ラインに１つずつ持たせることにしてもよい。こうすると図１２のように各プレーンの１ラインが、一つの初期化済みフラグに対応する。ディスティネーションのあるラインに対する描画は一つの初期化済みフラグを参照することになる。こうすることの利点は、横書き文字が主体のデータに対して少ない初期化済みフラグで行間など最後まで初期化済みのまま処理が進められることにある。ただし、横１ラインのうち１ピクセルでも描画されると、描画されなかった他のピクセルもディスティネーションを実際に初期化しなければならないので、各プレーンの１ラインと一つの初期化済みフラグとは文字列などの方向に沿った単位で対応させることが望ましい。対応の単位は横複数ラインでも、縦ラインやブロックでも可能である。初期化済みフラグは専用の領域に確保されてもよいし、属性プレーンの一部のピクセルにのみ存在する形式でも良い。図１２の場合には属性プレーンの左端縦１列のピクセルにのみ初期化フラグが存在している。
【００４６】
次に図１３に示す別の実施形態について説明を行う。この実施形態では、図３に示すコントローラソフトを構成するＰＤＬソフトのモジュールブロックに、ページ回転判定部３０９が付加したものである。その他のモジュールは図３と同様であるのでその説明を省略する。
【００４７】
ページ回転判定部３０９は、描画モジュールＩ／Ｆ部３０３が入力したＰＤＬデータの用紙サイズと方向をページ毎に判定することができ、トレイ情報を併せて判定する。ここでは詳しくは説明しないが、ページ回転判定部３０９はページ毎に回転が必要がどうかを判定することを目的としている。回転方向に応じて以降の処理を切り替える。
【００４８】
初期化済みフラグをディスティネーション横１ライン毎に持つ場合に、ページを右９０度に回転する場合には、文字列なども横から縦になるので、横１ラインから縦１ライン毎に対応するように切り替える。この切り替えは複数ラインやブロックで対応していた場合でもページ回転と同じになるように、この場合は右９０度回転を行う。
【００４９】
以上説明したように、本発明の上記実施形態によれば、プレーンと属性＋半透明プレーンという構成でフレームを持つ場合に、属性プレーンだけを初期化することでフレーム全体の初期化とみなすようにしたため、初期化の処理を効率的に行うことができる。
【符号の説明】
【００５０】
１・・・コントローラ、２・・・ホストＰＣ、３・・・エンジン（プリンタエンジン）、４・・・パネル装置、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・ＮＶＲＡＭ、１５・・・ネットワークＩ／Ｆ、１６・・・エンジンＩ／Ｆ、１７・・・パネルＩ／Ｆ、２０１・・・ホスト（ＰＣ）、２０２・・・ネットワークＩ／Ｆ、２０３・・・パネルＩ／Ｆ、２０４・・・プリンタコントロールシステム、２０５・・・ＰＤＬ、２０６・・・エンジンＩ／Ｆ、３０１・・・ＰＤＬ、３０２・・・描画コアモジュール、３０３・・・描画モジュールＩ／Ｆ部、３０４・・・中間形式保存部、３０５・・・多値描画部、３０６・・・カラー変換部、３０７・・・ＣＭＹＫ２値変換部、３０８・・・フレームメモリ初期化部、３０９・・・ページ回転判定部。
【先行技術文献】
【特許文献】
【００５１】
【特許文献１】特開２００４−２４３５６９号公報
【図１】
2010214905.tif 000003
【図２】
2010214905.tif 000004
【図３】
2010214905.tif 000005
【図４】
2010214905.tif 000006
【図５】
2010214905.tif 000007
【図６】
2010214905.tif 000008
【図７】
2010214905.tif 000009
【図８】
2010214905.tif 000010
【図９】
2010214905.tif 000011
【図１０】
2010214905.tif 000012
【図１１】
2010214905.tif 000013
【図１２】
2010214905.tif 000014
【図１３】
2010214905.tif 000015