(57)【要約】【課題】Transparency演算を含む描画命令を受けて描画処理を行なう装置において、描画処理速度を短縮できるようにする。【解決手段】透過命令判定部３４０は、透過演算処理が透過演算処理を行なわなくても処理可能な内容であるか否かを判定する。透過命令変換部３４４は、透過命令判定部３４０の判定結果が、透過演算処理が透過演算処理を行なわなくても処理可能な内容である場合、透過演算処理を透過演算処理を必要としない描画命令に変換する。【選択図】図１
2005182692.tif 000002
【特許請求の範囲】
【請求項１】
透過演算処理を含む描画命令を受け取って描画処理を行なう描画処理方法であって、
前記透過演算処理が、透過演算処理を行なわなくても処理可能な内容であるか否かを判定し、
前記透過演算処理が透過演算処理を行なわなくても処理可能な内容であると判定された場合には、前記透過演算処理を透過演算処理を必要としない描画命令に変換する
ことを特徴とする描画処理方法。
【請求項２】
前記透過演算処理を必要としない描画命令に変換された描画命令が、論理演算処理を行なわなくても処理可能な内容であるか否かを判定し、
前記論理演算処理を行なわなくても処理可能な内容であると判定された場合には、前記前記透過演算処理を必要としない描画命令に変換された描画命令を論理演算を必要としない描画命令に変換する
ことを特徴とする請求項１に記載の描画処理方法。
【請求項３】
受け取った描画命令に含まれている透過演算処理が透過演算処理を行なわなくても処理可能な内容であるか否かを判定する透過命令判定部と、
前記透過命令判定部の判定結果が、前記透過演算処理が透過演算処理を行なわなくても処理可能な内容である旨を示していることを条件として、前記透過演算処理を透過演算処理を必要としない描画命令に変換する透過命令変換部と
を備えたことを特徴とする描画命令出力装置。
【請求項４】
前記透過命令変換部は、前記透過演算処理の指定を、比較的に負荷の少ない描画命令に置換する
ことを特徴とする請求項３に記載の描画命令出力装置。
【請求項５】
前記透過命令変換部は、前記透過演算処理の指定を無効化するとともに、当該透過演算処理に対応した描画処理を禁止する
ことを特徴とする請求項３に記載の描画命令出力装置。
【請求項６】
前記透過命令変換部によって前記透過演算処理を必要としない描画命令に変換された描画命令が、論理演算処理を行なわなくても処理可能な内容であるか否かを判定する論理命令判定部と、
前記論理命令判定部の判定結果が、前記論理演算処理を行なわなくても処理可能な内容である旨を示していることを条件として、前記透過命令変換部によって前記透過演算処理を必要としない描画命令に変換された描画命令を論理演算を必要としない描画命令に変換する論理命令変換部と
をさらに備えたことを特徴とする請求項３から５のうちの何れか１項に記載の描画命令出力装置。
【請求項７】
前記透過命令判定部の判定条件を設定する条件設定部
をさらに備えたことを特徴とする請求項３から６のうちの何れか１項に記載の描画命令出力装置。
【請求項８】
請求項３から７のうちの何れか１項に記載の描画命令出力装置と、
当該描画命令出力装置から出力された描画命令に基づいて画像を所定の記憶媒体に形成する画像形成部と
を備えたことを特徴とする画像形成装置。
【請求項９】
透過演算処理を含む描画命令を受け取って描画処理を行なう描画処理方法をコンピュータを用いて実行するためのプログラムであって、
前記コンピュータを、
前記透過演算処理が、透過演算処理を行なわなくても処理可能な内容であるか否かを判定する透過命令判定部と、
前記透過命令判定部の判定結果が、前記透過演算処理が透過演算処理を行なわなくても処理可能な内容である旨を示していることを条件として、前記透過演算処理を透過演算処理を必要としない描画命令に変換する透過命令変換部と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばワープロソフトや図面作成ソフトなどのドキュメント作成ツールで作成された電子データに基づいて、プリンタなどで印刷出力したりあるいはＣＲＴやＬＣＤ（液晶）などの表示デバイスに表示出力したりするために使用される描画処理方法、並びにこの描画処理方法を利用した描画命令出力装置およびこの描画命令出力装置から受け取った描画命令に基づいて画像を形成する画像形成装置に関する。より詳細には、透過演算処理を行なって描画処理をする技術に関する。
【背景技術】
【０００２】
描画命令出力装置で生成された画像データに基づいて画像形成装置で画像を形成して出力する場合がある。たとえばプリンタなどで印刷出力したりあるいはＣＲＴやＬＣＤ（液晶）などの表示デバイスに表示出力したりする。
【０００３】
これらの出力に際しては、通常、その出力前に、画像データを出力単位（たとえば１ページ分や１画面分）に合わせてレンダリング（描画展開、ラスタ化）している。たとえばプリンタでは、パーソナルコンピュータなどの画像作成装置などから出力される様々な描画命令を処理し、印刷装置で印刷可能な画素の並びで表現された画像データに展開する。
【０００４】
特に、今日では、小型、高速のデジタル印刷に適した電子写真方式のページプリンタ（画像処理装置の一例）の開発に伴い、従来の文字情報中心の印刷から脱皮した、画像、図形、文字などを同様に取り扱い、図形、文字などの拡大、回転、変形などが自由に制御できるページ記述言語（ＰＤＬ：Page Description Language ）を用いる画像処理装置が一般に普及している。
【０００５】
ここでＰＤＬで作成されている画像データは、ページ内の任意位置の画像、図形、文字を表現する描画命令およびデータを任意の順で配置した命令およびデータ列で構成されており、ページプリンタで印字するために、印字前に出力単位ごと（１ページごと）に画像データをレンダリング（描画展開）してからプリンタエンジン部にそのラスタデータを出力する。
【０００６】
レンダリングに際しては、パソコンなどの画像作成装置などから出力される様々な描画命令を受け取ってから装置で出力可能な画素の並びで表現された画像データに展開するまでの間には、描画命令に応じた様々な処理を行なう。
【０００７】
描画コマンドの１つとして、複数の画像が重なる位置に描かれる場合に、もとの画像と、新たに書き込む画像との重ね合わせの方法の指示に従って、両方の画像を重ね合わせる処理がよく知られている。指示される重ね合わせの方法は、通常、論理和、論理積、排他的論理和などの論理演算の種類として指示される。このような画像間の論理演算は、一般にＲＯＰ（Raster OPeration）と称されている。
【０００８】
ＲＯＰ処理の基本的な考え方は、様々なアプリケーションプログラムによって使用される様々な塗り潰しや陰影付け技法を支援することを目的とした描画記述手法である。たとえば、ラスタ操作であるＲＯＰ処理を使用して、任意形状のオブジェクトを固定的な塗り潰し、またはパターン化された塗り潰しで塗り潰す。
【０００９】
しかしながら、ＲＯＰ処理は、一般に複雑で処理時間が掛り、実行のためのメモリも多く必要とするものが多い。特に、１つの効果を表現するために、複数のＲＯＰ処理を組み合わせた（ＰＤＬ命令）を出力するようなアプリケーションプログラムも数多く存在する。このようなＲＯＰ処理を組み合わせた指示が、装置によって画像が出力されるまでの処理時間を増大させる要因となっていた。
【００１０】
これに対して、描画命令を解釈する際、処理の効率化のために複数の描画命令を低減して、たとえば１つの描画命令に変換したり、より処理に時間の掛らない別の描画命令に変換したりすることで、ＲＯＰ処理時間を高速化する技術も提案されている（たとえば特許文献１，２参照）。
【００１１】
【特許文献１】特開平８−２６３６７４号公報
【特許文献２】特許第３００８９４３号公報
【００１２】
たとえば特許文献１には、ＲＯＰ処理の特徴的パターンを検出して、ＲＯＰ処理のステップ数を削減し、より単純なＲＯＰ処理に置き換えることで、ＲＯＰ処理の実行回数を少なくし、高速な処理を実現する装置が提案されている。
【００１３】
また特許文献２には、一般の印刷装置で使用されるＣＭＹＫ色空間上においても色再現上の不具合が発生することがないように、ＲＯＰ描画が指定された描画命令をＲＯＰ演算を行なわない描画命令に変換できるかどうかを判定し、変換できる場合にはＲＯＰ演算を行なわない描画命令に変換する、つまりＲＯＰ処理が必要な命令を不必要な命令に変換して処理することにより論理演算動作に掛る処理時間と画質劣化を低減することで、高速および高画質の描画処理を可能とした技術が提案されている。
【００１４】
この特許文献２に記載の技術に依れば、論理演算処理を含む描画命令について、指示された論理演算処理をそのまま実行することが必要でない場合に、論理演算処理を含まないコマンドに変換して実行することができるので、論理演算処理に掛る時間を省いた高速な画像処理が可能となるし、論理演算処理を行なわないことによって、色段差などの論理演算処理に伴う色変換処理の結果生じる画質上の不具合を回避することができるので、結果として高速な処理と高画質を両立した画像処理が実現できる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
また、別の描画コマンドとして、透過（Transparency）演算を行なうものがある。透過演算処理とＲＯＰ処理は独立した概念の描画コマンドであり、透過演算処理は、これ単独で使用されず、透明度モードとして、ＲＯＰ演算処理と組み合わせて使用されるのが一般的である。すなわち、ソースとパターン透明度が不透明体（Opaque）に明示的に設定される場合にはＲＯＰ処理を行ない、ソースおよび／またはパターンの透明度モードが透明(Transparent )ならば、Transparency演算処理を副次的に行なって、最終結果を達成する。
【００１６】
この透過演算処理を行なう技術としては、たとえば、ページ記述言語の一例であるＰＣＬ５ｃやＰＣＬ６（ＰＣＬ；Printer Command Language）など（以下纏めてＰＣＬ言語という）で使われるTransparencyコマンドの処理に関するものがある。グラフィックのプログラムを開発するプログラマは、このようなＰＣＬ言語を使用して表示イメージを定義することができる。なお、ＰＣＬ言語は、レーザプリンタ用制御コマンドであり、今日、パソコン用ソフトウエアハウスに広く受け入れられ、サポートされている。
【００１７】
このＰＣＬ言語の詳細については、非特許文献１を参照するとよい。また、ＰＣＬ  Transparency演算については、非特許文献２を参照するとよい。
【００１８】
【非特許文献１】“PCL 5 Printer Language Technical Reference Manual” 、1992年版、マニュアル・パート番号5961-0509、ヒューレット・パッカード（Hewlett Packard）社
【非特許文献２】“PCL5 Color Technical Reference Manual”、ヒューレット・パッカード（Hewlett Packard）社
【００１９】
しかしながら、ＰＣＬ  Transparency演算は、上記非特許文献２の“5  The PCL Print Model；Logical Operations and Transparency Interactions（P5-12） ”に記載されている計算式に従って求めることができるが、この演算をソフトウェアで実現するには負荷の重い処理である。
【００２０】
Transparencyコマンドは、透過処理といった特殊な視覚効果を得るために使われるのが一般的であるが、プリンタドライバによっては簡単な原稿でもこのコマンドを多用するものが存在する。
【００２１】
このようなプリンタドライバを使って印刷を行なうと比較的簡単な原稿の印刷でもプリント時間が非常に長くなる問題が発生する。因みに、同じアプリーションで生成された同一の電子データを別のプリンタドライバで出力する場合には、より簡単なコマンドで表現するため、問題とはならない。
【００２２】
また、背景に何らかのオブジェクトが存在する場合、上記特許文献２が解決しようとする課題と同質のものとして、Transparency演算の対象となる領域とそうでない領域間に色段差が発生する課題もある。これは、オブジェクトに適した色変換を実現するために色情報＋タグ情報を画素情報として保持する場合は、Transparencyの演算をすることでタグ情報が不正なものになってしまうからである。
【００２３】
ここで、Transparency演算に関わる上述の問題を解決するために、上記特許文献１，２に記載の技術を利用することが考えられる。しかしながら、上記特許文献１，２に記載の技術は、ＲＯＰ処理におけるものであり、Transparency演算に適用することはできない。何故なら、これらにおいて置換対象となるのは、ＲＯＰ演算のみであるから、Transparency演算を置換対象とすることはできないからである。
【００２４】
本発明は、上記事情に鑑みてなされたものであり、Transparency演算処理を行なって描画する場合であっても、高速の描画処理を可能とし、さらに好ましくは、高画質の描画処理を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明に係る描画処理方法は、透過（Transparency）演算処理を含む描画命令を受け取って描画処理を行なう描画処理方法であって、透過演算処理が、透過演算処理を行なわなくても処理可能な内容であるか否かを判定し、透過演算処理が透過演算処理を行なわなくても処理可能な内容であると判定された場合には、透過演算処理を透過演算処理を必要としない描画命令に変換することとした。
【００２６】
本発明に係る描画命令出力装置は、上記本発明に係る描画処理方法を実施するのに好適な装置であって、透過演算処理が透過演算処理を行なわなくても処理可能な内容であるか否かを判定する透過命令判定部と、透過命令判定部の判定結果が、透過演算処理が透過演算処理を行なわなくても処理可能な内容である旨を示していることを条件として、透過演算処理を透過演算処理を必要としない描画命令に変換する透過命令変換部とを備えるものとした。
【００２７】
本発明に係る画像形成装置は、上記本発明に係る描画命令出力装置と、この描画命令出力装置から出力された描画命令に基づいて画像を所定の記憶媒体に形成する画像形成部とを備えたものである。
【００２８】
また従属項に記載された発明は、本発明に係る描画命令出力装置のさらなる有利な具体例を規定する。さらに、本発明に係るプログラムは、本発明に係る描画命令出力装置を、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なものである。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【００２９】
たとえば、透過命令判定部は、Transparency演算を伴う描画コマンドを検出したら、ある一定の条件（置換条件）に合うかどうかを調べる。置換条件にマッチしていた場合には、透過命令変換部は、Transparency演算を伴う描画命令（描画コマンド）をキャンセルし、比較的に負荷の少ない描画コマンドに置き換えるか、もしくは描画自体を行なわない。
【００３０】
また、このような透過命令変換部による処理済みの描画命令について、さらに、論理演算を行なわなくても処理可能であれば、論理演算を必要としない描画命令に変換することで、一層の処理効率の向上を図る。
【発明の効果】
【００３１】
本発明に依れば、透過演算を伴う描画命令が、所定の置換条件に合致している場合には、透過演算を伴う描画命令を透過演算処理を必要としない描画命令に変換するようにした。これにより、指示された処理負荷の重たい透過演算を行なわなくて済むので、処理に掛る時間を省いた高速な描画処理が可能となる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００３３】
＜第１実施形態；プリンタ側での処理の基本＞  
図１は、本発明に係る描画命令出力装置および画像形成装置を適用した第１実施形態の印刷システムの構成例を示すブロック図である。第１実施形態の印刷システム１は、プリンタ側において、ホスト側装置から受け取ったTransparencyコマンドを含むＰＤＬデータを解釈する際に、Transparency演算を行なう描画処理をTransparency演算を含まない描画処理に変換するかどうかを判定し、より処理速度の向上が見込まれる選択をするようにした形態のものである。
【００３４】
図示するように、第１実施形態の印刷システム１は、図形を含む文書データを作成して出力するパソコンなどのホスト側装置１００と、ホスト側装置１００から出力されたデータに基づいて印刷処理をするプリンタ装置２００とを備えている。
【００３５】
プリンタ装置２００は、本発明に係る描画命令出力装置を備え、本発明に係る画像形成装置として機能する。なお、描画処理のためのメモリ容量を低減するため、プリンタ装置２００においては、後述する各部における処理の過程で、たとえば、１ページ分の画像を所定数のバンドに分割して取り扱い、かつ描画展開処理や圧縮符号化処理などのために、分割したバンド数よりも少ない所定バンド数分のバンドバッファをワークメモリ領域として使用するバンドバッファ技術を用いる。
【００３６】
第１実施形態において、ホスト側装置１００によって作成される図形を含む文書データは、ＰＤＬで記述された印刷データ（ＰＤＬデータ）であって、具体的にはＰＣＬ言語で記述されているものであり、その描画命令の中には、Transparency演算を必要とするものが含まれている。
【００３７】
ホスト側装置１００は、文書や図形などの画像データを生成するデータ生成部１１０と、ホスト側装置１００の各部の動作を制御する中央制御部１２０と、プリンタ装置２００との間のインタフェース機能をなすインタフェース部１３０とを有する。
【００３８】
データ生成部１１０には、たとえば、文書や図形などのデータを生成するためのアプリケーションプログラムが組み込まれる。また中央制御部１２０には、ホスト側装置１００の全体を制御するソフトウェアであるＯＳ（オペレーティングシステム）やプリンタ装置２００を制御するためのソフトウェアであるプリンタドライバＰＤが組み込まれる。
【００３９】
これにより、ホスト側装置１００は、プリンタ装置２００に対して印刷指示を発する装置を、プログラムに基づいてソフトウェア的に実現するようになる。すなわち、各機能部を構成するためのプログラムを格納したＣＤ−ＲＯＭなどからプログラムを読み出して図示しないハードディスク装置などにインストールさせておき、ハードディスク装置からプログラムを読み出して中央制御部１２０を構成する図示しないＣＰＵ（Central Processing Unit ）やＭＰＵ（Micro Processing Unit ）が所定の処理手順を実行することにより、各機能をソフトウェア的に実現することができる。
【００４０】
なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。また、これらのプログラムや当該プログラムを格納した記憶媒体は、既存のシステムやアプリケーションプログラムあるいはプリンタドライバＰＤをバージョンアップするものとして提供されてもよい。あるいは、各機能部分をソフトウェア的に実現するパッチファイルなど、一部の機能に対応したオプションプログラムとして提供されてもよい。
【００４１】
ホスト側装置１００内のハードウェアや各種の装置、および、各種のソフトウェアは、オペレーティングシステムＯＳによって制御、管理されている。このオペレーティングシステムＯＳによる制御および管理の元で、アプリケーションプログラムが動作する。アプリケーションプログラムは、文字や画像などを印刷する指示を行なうことができる。ここでは、印刷する内容はページ記述言語などによって記述された描画情報として出力されるものとする。ページ記述言語としては、たとえばＰＣＬ言語を用いる。
【００４２】
たとえば、ホスト側装置１００に組み込まれているアプリケーションプログラムから、イメージ描画命令、グラフィック描画命令、フォント描画命令などの命令種別を持った描画命令が順次プリンタドライバＰＤに入力される。
【００４３】
プリンタドライバＰＤは、通常、プリンタ装置２００に付属して提供されるものであり、ホスト側装置１００にロードされて機能するプログラムである。またプリンタドライバＰＤは、通常、特定のプリンタ装置２００での使用が予想される様々なデータ形式にホスト側装置１００を対応させるために使用される。プリンタドライバＰＤは、アプリケーションプログラムから描画情報を受け取ると、プリンタ装置２００に送信する前に、様々な処理ステップを実行する。たとえば、アプリケーションプログラムから受け取った描画情報をプリンタ装置２００で解釈可能なコマンドおよび描画オブジェクトの列に変換して送信することができる。あるいは、描画情報のデータ形式のままプリンタ装置２００へ送信してもよい。
【００４４】
この第１実施形態では、プリンタドライバＰＤは描画命令をプリンタ装置２００が理解可能なプリント命令としてＰＣＬ言語データに変換してインタフェース部１３０に出力する。インタフェース部１３０に入力されたＰＣＬ言語データ（プリント命令）は、伝送路（接続ケーブルやネットワーク）９を通りプリンタ装置２００に伝送される。プリンタ装置２００は、受け取ったＰＣＬ言語データに従って、用紙に画像を印刷（画像出力）する。
【００４５】
プリンタ装置２００は、後述する各処理機能部分を、ソフトウェアで組み込む構成としている。この場合、その機能を実現するプログラムコードに基づいて電子計算機（コンピュータ）を用いてソフトウェア的に実現するようになる。よって、本発明に係る描画命令出力装置や画像形成装置を、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。ソフトウェアにより実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などを容易に変更できる利点を享受できるようになる。
【００４６】
後述する各処理機能をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ（組込マイコンなど）、あるいは、ＣＰＵ（Central Processing Unit ；中央処理部）、論理回路、記憶装置などの機能を１つのチップ上に搭載して所望のシステムを実現するＳＯＣ（System On a Chip：システムオンチップ）、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、記録媒体やネットワークを介してインストールされる。
【００４７】
記録媒体は、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気などのエネルギの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。たとえば、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＤＶＤ（Digital Versatile Disc）を含む）、光磁気ディスク（ＭＤ（Mini Disc ）を含む）、または半導体メモリなどよりなるパッケージメディア（可搬型の記憶媒体）により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）あるいはハードディスクなどで構成されてもよい。または、ソフトウェアを構成するプログラムが、有線あるいは無線などの通信網を介して提供されてもよい。
【００４８】
たとえば、プリンタ装置２００は、不揮発性の記憶部の一例であるＲＯＭ（Read Only Memory）２０１と、書換可能な記憶部の一例でありメインメモリとして機能するＲＡＭ（Random Access Memory）２０２と、プリンタ装置２００全体の動作制御やそのほかの演算や制御の各処理機能をなすＣＰＵやＭＰＵなどの中央演算制御処理部２１０とを備える。
【００４９】
またプリンタ装置２００は、ホストコンピュータなどのホスト側装置１００との間のインタフェース機能をなすインタフェース部２３０と、ＰＤＬデータを解釈して得た描画命令を後段の処理機能部に渡す描画命令出力装置の一例であるインタプリタ部２４０とを備える。またプリンタ装置２００は、インタプリタ部２４０から受けとった解釈命令に基づいて中間データを生成する中間データ生成部２６０と、中間データに基づいてバンドごとのビットマップデータを生成するレンダリング部２７０とを備える。
【００５０】
インタプリタ部２４０は、インタフェース部２３０を介して入力されたＰＤＬデータを解釈するＰＤＬデータ解釈部２４２と、Transparency演算処理を含む描画命令を、Transparency演算を必要としない描画命令に変換するか否かを判定する透過命令判定部３４０と、透過命令判定部３４０が描画命令に変換すると判定したときにはＰＤＬデータ解釈部２４２が解釈した描画命令を変換する透過命令変換部３４４とを有する。
【００５１】
インタプリタ部２４０は、ＰＣＬ言語で記述されたＰＤＬデータ内に含まれるTransparency演算処理を置き換える（つまりTransparency演算を使わない）べきかどうかを透過命令判定部３４０にて判定し、置き換えるべき場合には透過命令変換部３４４は、“Transparent ”の指定をキャンセルし、論理演算（ここではＲＯＰ２の仕様を使う）のみで描画するか、もしくは、関係する描画コマンドを無視して、中間データ生成部２５０に渡す。
【００５２】
インタプリタ部２４０は、取り込んだ描画情報やコマンドと描画データの列などを認識し、コマンドと引数に組み立ててコマンドを解釈する。そして、解釈したコマンドの内容に従って、中間データ生成部２６０を呼び出して、グラフィックス描画、文字描画、イメージ処理を行なう。中間データ生成部２６０は、インタプリタ部２４０の指示に従って画像を描画する。
【００５３】
レンダリング部２７０は、中間データ生成部２６０で描画された画像をラスタ化し、一旦、ハードディスク装置３５０のページメモリ領域に記憶させる。このとき、たとえばカラー印刷を行なうのであれば、それぞれの色ごとに、たとえばＣ（シアン），Ｍ（マゼンタ），Ｙ（イエロ），Ｋ（ブラック）の４プレーンにラスタ化し、ハードディスク装置３５０のページメモリ領域に個別に記憶させる。
【００５４】
またプリンタ装置２００は、レンダリング部２７０により描画展開されたビットマップデータに基づいて印刷処理を制御する印刷制御部（出力処理部）２９０と、印刷制御部２９０の指令に従って印刷処理を実行するプリンタエンジン部３００とを備える。プリンタエンジン部３００とシステムバスとの間にはプリンタＩＦ（インタフェース）部３０８が設けられる。プリンタエンジン部３００は、描画命令出力装置の一例であるインタプリタ部２４０から出力された描画命令、具体的には、インタプリタ部２４０から出力されさらに中間データ生成部２６０やレンダリング部２７０にて処理されたデータに基づいて、画像を所定の記憶媒体に形成する画像形成部の一例である。
【００５５】
印刷制御部２９０は、印刷を行なう際に、プリンタエンジン部３００を起動し、出力単位分のビットマップデータを、プリンタエンジン部３００に供給する。プリンタエンジン部３００は、プリンタＩＦ部３０８を介して供給されるビットマップデータに従って、用紙に画像を形成して出力する。すなわち、プリンタエンジン部３００は、ページメモリ領域に格納された画像データに従って実際に被記録媒体上に画像を形成する。プリンタエンジン部３００としては、たとえばレーザ方式を始め、種々の方式の記録方法を採用することができる。このとき、画像処理部３０２にて、必要に応じて２値化処理やスクリーン処理を行なう。
【００５６】
ＲＡＭ２０２には、中間データ領域２０２ａ、バンド展開領域２０２ｂ、ワーク領域２０２ｃなどが割り当てられる。プリンタ装置２００は、ＲＡＭ２０２における中間データ領域（中間データ用保持領域）、バンド展開領域などに関する情報を設定・管理するメモリ管理部（保持領域管理部）３１０をＲＯＭ２０１のプログラム領域に備える。中間データ生成部２６０やレンダリング部２７０などが利用するＲＡＭ２０２は、プリンタ装置２００の全体を制御する中央演算制御処理部２１０が使用するメインメモリとしても利用される。この場合、ＲＡＭ２０２には、メインメモリ用のワーク領域が割り当てられる。
【００５７】
なお、中間データ領域は、中間データを保存するための領域である。バンド展開領域は、バンドごとに中間データを画像データに展開するための領域である。ワーク領域は、プログラムが動作するために一時的に使われる領域である。
【００５８】
さらにプリンタ装置２００は、描画処理時に描画命令を一時的に格納しておくため不揮発性の記憶媒体の一例であるハードディスク装置３５０を備える。ハードディスク装置３５０は、たとえば、ＰＤＬデータ解釈部２４２で解釈・変換した描画オブジェクトおよび描画演算指示を記憶する描画オブジェクト格納（記憶）部３５０ａや、描画演算部として機能する中間データ生成部２６０や、描画演算部（中間データ生成部２６０やレンダリング部２７０）で演算された結果の画像データを格納する処理結果格納部３５０ｂなどを含む、データ格納部の一例である。
【００５９】
なお、ハードディスク装置３５０に描画オブジェクト格納部３５０ａの機能を持たせない構成も可能であるが、透過命令判定部３４０で連続する複数の描画演算指示について判定を行なう際は、この描画オブジェクト格納部として機能するハードディスク装置３５０に複数の描画演算指示および対応する描画オブジェクトを記憶させておくと便利である。
【００６０】
前述のように、インタプリタ部２４０は、ＰＤＬデータ解釈部２４２にてTransparency演算を含むＰＤＬデータを解釈した際、透過命令判定部３４０にてTransparency演算に対して置換処理を行なうか否かを判定し、置換処理を行なう場合には、透過命令変換部３４４にて、“Transparent ”の指定をキャンセルし、論理演算（ＲＯＰ２）のみで描画するか、もしくは、関係する描画コマンドを無視する。
【００６１】
ここで、Transparency演算処理を置き換えるべきかどうかは、Transparency演算処理が、特定の条件にマッチするか否かを判断条件とする。特定の条件は、描画オブジェクトが単純なものであるものとする。具体的には、
（１） Patternイメージ（パターン画像），Sourceイメージ（ソース画像）ともに“Transparent ”が指定されている、
（２）ＲＯＰコマンドは上書き（ＲＯＰ３：ＴＳｏ＝２５２）、
（３） Patternイメージは全画素均一で色は白か黒、
（４）Sourceイメージは色が白か黒で構成されている、
と言った、４つの条件が揃った場合とする。
【００６２】
上記（３）に似通った条件ではあるが、 Patternイメージが全画素均一でない場合や、全画素均一であっても色が白か黒でない場合や、上記（４）に似通った条件ではあるが、Sourceイメージの色が白および黒の何れでもない場合には、Transparency演算に対する置換処理を行なわない。
【００６３】
なお、Sourceイメージとは、任意のカラー画像（以下Destination ；ディスティネーション画像という）に描画する描画オブジェクトであるビットマップ画像（描画オブジェクトがイメージの場合のみ）を意味する。 Patternイメージは、描画オブジェクトの塗潰しパターンを定義するものである。なお、Sourceイメージはマスクパターン、 Patternイメージは背景パターンとも呼ぶことがある。
【００６４】
上記（１）〜（４）のような条件としたのは一例であり、比較的に負荷の少ない描画コマンドに置き換え可能であるか否かと、変換に伴う画像品質変化や描画属性の等価性の維持度合いを考慮して、他の条件を設定することもできる。
【００６５】
何れにしても、Transparency処理を省略できるもののうち、変換処理によって描画の高速化を図ることができるものは、変換対象となり得る。ドライバから出力される描画コマンドのうち、上記（１）〜（４）の条件に合致するもの以外に、Transparency処理処理を省略可能な描画コマンドが何れであるのかを探すのは必ずしも容易ではないが、他の組合せでも置換可能なものは存在し得る。たとえば、Sourceイメージの色が赤や青などの単色である場合のようにイメージ色が複雑でない場合は、他の条件との兼ね合いもあるが、描画命令を変換できる可能性がある。
【００６６】
また、たとえば、透過命令判定部３４０に対して判定条件を設定する条件設定部を設け、条件設定部がユーザ指示を受けて条件設定するように構成してもよい。こうすることで、より柔軟な運用ができるようになる。
【００６７】
インタプリタ部２４０は、Transparency演算処理に対しての置換処理やそのための判定処理を行なった後に、処理済みのＰＤＬデータを中間データ生成部２６０に渡す。中間データ生成部２６０は、入力された、インタプリタ部２４０での処理済みのＰＤＬ形式の印字データを解釈して、バンドごとに分割された中間データを生成する。生成された中間データは、メモリ管理部３１０で管理されたＲＡＭ２０２により記憶・保持される。レンダリング部２７０は、中間データ生成部２６０により生成された中間データを描画展開することでバンドラスタデータを生成し、このバンドラスタデータをバンドバッファとして機能するＲＡＭ２０２に記憶する。
【００６８】
第１実施形態の構成では、プリンタ装置２００における機能部分を、プログラムに基づいてソフトウェア的に実現するようにしているが、インタプリタ部２４０（ＰＤＬデータ解釈部２４２や透過命令判定部３４０）、中間データ生成部２６０、レンダリング部２７０、印刷制御部２９０、あるいはメモリ管理部３１０などを、ハードウェア処理回路で構成してもよい。こうすることで、ソフトウェア処理よりもさらに高速に処理可能となる。
【００６９】
図２は、プリンタ装置２００におけるプリント動作、特にインタプリタ部２４０の動作を示すフローチャートである。インタプリタ部２４０は、ＰＣＬ言語で記述されたＰＤＬデータをインタフェース部２３０を介して受信すると、ＰＤＬデータ解釈処理を開始し、先ず未処理のＰＤＬ命令が存在するかどうかを調べ（Ｓ１０２）、未処理のＰＤＬ命令がない場合には処理を終了する（Ｓ１０２−ＮＯ，Ｓ１０３）。一方、未処理のＰＤＬ命令が残っている場合には、インタプリタ部２４０は、ＰＤＬ命令を解析し（Ｓ１０２−ＹＥＳ，Ｓ１０４）、この後ＰＤＬ命令を判定する。
【００７０】
たとえば、ＰＤＬ命令が“StartPage”であるかどうかを判定し（Ｓ１０５）、“StartPage”である場合はページ開始処理を行ない、処理完了後ステップＳ１０２に戻る（Ｓ１０５−ＹＥＳ，Ｓ１０８）。ページ開始処理の際には、インタプリタ部２４０の状態を示す変数である“state ”を“描画中”に初期化する。一方、“StartPage” でない場合には（Ｓ１０５−ＮＯ）、インタプリタ部２４０は、ＰＤＬ命令が“EndPage” であるかどうかを判定する（Ｓ１０６）。
【００７１】
そして“EndPage” である場合にはページ排出処理を行ない、処理完了後ステップＳ１０２に戻る（Ｓ１０６−ＹＥＳ，Ｓ１０９）。一方、“EndPage” でない場合には（Ｓ１０６−ＮＯ）、インタプリタ部２４０は、ＰＤＬ命令が“SetRopMode”であるかどうかを判定する（Ｓ１０７）。そして、“SetRopMode”である場合にはＲＯＰ設定命令処理を行ない、処理完了後ステップＳ１０２に戻る（Ｓ１０７−ＹＥＳ，Ｓ１１０）。一方、“SetRopMode”でない場合には、インタプリタ部２４０は、描画命令処理を行ない、処理完了後ステップＳ１０２に戻る（Ｓ１０７−ＮＯ，Ｓ１１１）。詳しくは後述するが、この描画命令処理においては、描画命令が通常のＲＯＰ処理演算命令であるのか、Transparency演算処理を含む演算命令であるのかに応じて処理を切り替える。
【００７２】
なおＰＤＬ命令を判定する処理は、上記例の手順に限らず、ＰＤＬ命令が“StartPage” 、“EndPage” 、“SetRopMode”、およびそれ以外のうちの何れであるのかを判断し、その判断結果に応じた処理をするようにするものである限り、その手順（すなわち前記判断の優先順位）を入れ替えてもよい。
【００７３】
図３は、図２のステップＳ１１１における描画命令処理の詳細を示すフローチャートである。インタプリタ部２４０のＰＤＬデータ解釈部２４２は、本処理を開始すると先ず、“state ”が“描画中”であるかを判定する（Ｓ２０２）。そして“描画中”である場合には（Ｓ２０２−ＹＥＳ）、インタプリタ部２４０は、命令の種別が“通常のＲＯＰ処理”および“Transparency演算を含む処理”の何れであるのかを判定する（Ｓ２０３）。
【００７４】
インタプリタ部２４０は、ＰＤＬデータ解釈部２４２の解釈結果が“通常のＲＯＰ処理”である場合は、通常のＲＯＰ処理を行なって本処理を完了させる一方（Ｓ２０４）、Transparency演算に関わる“Opaque”指定もしくは“Transparent ”指定がある描画命令である場合は、透過命令判定部３４０にて、以下の判定基準に従って、Transparency演算処理に対して置換処理を行なうか否かを判定する（Ｓ２０６）。
【００７５】
すなわち先ず、 Patternイメージ，Sourceイメージともに“Transparent ”が指定されているか否かを判定する（Ｓ２０６−ＹＥＳ，Ｓ２０８）。ともに“Transparent ”が指定されている場合には、ＲＯＰコマンドは上書き（ＲＯＰ３：ＴＳｏ＝２５２）であるか否かを判定する（Ｓ２０８−ＹＥＳ，Ｓ２１０）。ＲＯＰコマンドが上書きである場合は、さらに Patternイメージが全画素均一でかつ色が白か黒であるかを判定する（Ｓ２１０−ＹＥＳ，Ｓ２１２）。全画素均一でかつ色が白か黒である場合には、さらにSourceイメージの色が白か黒で構成されているか否かを判定する（Ｓ２１２−ＹＥＳ，Ｓ２１４）。
【００７６】
このようにして、上述した全ての条件を充足する場合には、透過命令判定部３４０は、Transparency演算に対しての置換処理を行なうべきと判断し、その判断結果をＰＤＬデータ解釈部２４２に通知する（Ｓ２１４−ＹＥＳ，Ｓ２１６）。これを受けて、ＰＤＬデータ解釈部２４２は、“Transparent ”の指定をキャンセルし、論理演算（ＲＯＰ２）のみで描画するか、もしくは、関係する描画コマンドを無視し、これら処理済みのＰＤＬデータを使用して実行するように中間データ生成部２６０やレンダリング部２７０に指示する（Ｓ２１８）。
【００７７】
一方、上述した何れかの条件を充足しない場合には、透過命令判定部３４０は、Transparency演算に対しての置換処理を行なうべきでないと判断し、その判断結果をＰＤＬデータ解釈部２４２に通知する（Ｓ２０８，Ｓ２１０，Ｓ２１２，Ｓ２１４の各ＮＯ，Ｓ２２０）。これを受けて、ＰＤＬデータ解釈部２４２は、“Transparent ”の指定をそのまま受け付けて、Transparency演算に対しての置換処理を行なうことなく、既に蓄積してあるTransparency演算命令を使用して実行するように中間データ生成部２６０やレンダリング部２７０に指示する（１０２２）。
【００７８】
そして、インタプリタ部２４０は、上記ステップＳ２１８あるいはステップＳ２２２の後、“state ”を“描画中”に変更してから本処理を完了させる（Ｓ２２４）。
【００７９】
図４は、上記図２のステップＳ１０９におけるページ排出処理の詳細を示すフローチャートである。インタプリタ部２４０は、ページ排出処理を開始すると先ず、“state ”が“命令を蓄積中”（命令の種類は不問）であるかどうかを判定する（Ｓ３０２）。
【００８０】
そして、“命令を蓄積中”の場合には（Ｓ３０２−ＹＥＳ）、中間データ生成部２６０やレンダリング部２７０に対して蓄積された命令を実行するように指示し（Ｓ３０４）、インタプリタ部２４０の状態を示す変数である“state ”をデフォルトの“描画中”に変更する（Ｓ３０５）。一方、“命令を蓄積中”でない場合（Ｓ３０２−ＮＯ）はＰＤＬ命令を解釈する（Ｓ３０３）。この後、あるいは前記ステップＳ３０５にて“state ”を“描画中”に変更した後には、インタプリタ部２４０は、印刷制御部２９０に対して印刷処理を開始するように指示する（Ｓ３０６）。
【００８１】
これを受けて印刷制御部２９０は、レンダリング部２７０により生成されたページイメージを、プリンタＩＦ部３０８を介してプリンタエンジン部３００に送信する。プリンタエンジン部３００は、このページイメージに基づいて、用紙に印刷する。
【００８２】
図５は、第１実施形態の印刷システム１において処理対象とするＰＣＬ言語で記述されたＰＤＬデータの一例を示す図である。この例では、ソースイメージとして、イメージを描画する場合と楕円を描画する場合と例示している。ソースイメージの部分が、線や矩形などのグラフィックス、あるいはフォント（文字）となる場合もある（後述する図１２を参照）。これらの描画命令の中には、図中Ｔｒ１０およびＴｒ１２に示すように、Transparency演算に関わる“Opaque”指定もしくは“Transparent ”指定がある描画命令が含まれている。
【００８３】
ここで、Ｔｒ１０の“Transparent ”指定部分は、上述したステップＳ２０８，Ｓ２１０，Ｓ２１２の各条件を満たすものであり、その後に継続するSourceイメージについての描画命令に際して、指定色が白か黒で構成されている場合には最後の条件Ｓ２１４も充足するので、これらの描画コマンドが置換の対象となる。Sourceイメージについての描画命令の指定色が白か黒で構成されていない場合には、置換の対象とならない。
【００８４】
また、Ｔｒ１２の“Opaque”指定部分は、ステップＳ２０８の条件を充足しないので、その後に継続するSourceイメージについての指定色に拘らず、置換の対象とならない。
【００８５】
図６は、図５に示されるＰＣＬ言語記述のＰＤＬデータに対応する、Transparency演算の置換処理の一例を説明する図である。ここで、図６（Ａ）は、 Patternイメージが全画素（全面）黒の場合を示し、図６（Ｂ）は、 Patternイメージが全画素（全面）白の場合を示している。
【００８６】
Patternイメージ，Sourceイメージともに“Transparent ”が指定されている（Ｓ２０８−ＹＥＳ）、ＲＯＰコマンドは上書き（ＲＯＰ３：ＴＳｏ＝２５２）である（Ｓ２１０−ＹＥＳ）、 Patternイメージは全画素均一でかつ色は白か黒である（Ｓ２１２−ＹＥＳ）、Sourceイメージは色が白か黒（図の例では黒）で構成されている（Ｓ２１４−ＹＥＳ）ので、図６（Ａ）および図６（Ｂ）の何れにおいても、透過命令判定部３４０は、置換処理の対象となると判断し、その判断結果をＰＤＬデータ解釈部２４２に通知する。
【００８７】
これを受けて、ＰＤＬデータ解釈部２４２は、変更前の描画属性を、以下のようにして変更する。たとえば、図６（Ａ）に示す、 Patternイメージが全画素（全面）黒の場合には、変換後の描画属性としては、Source Transparency Modeと PatternTransparency Mode の何れをも“Opaque”に設定するとともに、ＲＯＰ２：８とし、 Patternイメージは定義しない。
【００８８】
ここで、ＲＯＰ２：８の意味は、“Destination にSourceイメージを上書き”である。ＲＯＰは色空間がＢＧＲで定義されたものであり、処理としては、黒が“０”、白が“１”であり、“ＡＮＤ”演算する。したがって、このように描画命令を変換することで、中間データ生成部２６０やレンダリング部２７０において、SourceイメージとDestination をＲＯＰ２：８（ＢＧＲ空間）で描画すると、描画処理結果（Result）としては、Destination イメージ上にSourceイメージの黒丸画像が上書きされた状態となる。変換されたＲＯＰ２：８を含む描画命令は、変換前のTransparency演算を伴う描画命令に比べると、負荷の少ない描画命令である。
【００８９】
また、図６（Ｂ）に示す、 Patternイメージが全画素（全面）白の場合には、変換後の描画属性としては、全画素（全面）黒の場合と同様にSource Transparency Modeと PatternTransparency Mode の何れをも“Opaque”に設定するとともに、ＲＯＰ２：１４とし、 Patternイメージは定義しない。ＲＯＰは色空間がＢＧＲで定義されたものであり、処理としては、黒が“０”、白が“１”であり、“ＯＲ”演算する。
【００９０】
したがって、このように描画命令を変換することで、中間データ生成部２６０やレンダリング部２７０において、SourceイメージとDestination をＲＯＰ２：１４（ＢＧＲ空間）で描画すると、描画処理結果（Result）としては、Sourceイメージの黒丸画像におけるDestination のアクティブ部分（図中の白）が無効化された状態となる。ＲＯＰ２：１４を含む描画命令は、変換前のTransparency演算を伴う描画命令に比べると、負荷の少ない描画命令である。
【００９１】
以上説明したことから分かるように、第１実施形態の印刷システム１に依れば、Transparency演算を伴う描画命令をTransparency演算を含まない描画処理に変換できる場合に、Transparency演算を伴う描画命令をTransparency演算を含まない描画命令に変換するべきかどうかを所定の条件（本例では前述した（１）〜（４）の４つの条件）と突き合わせて判定し、より処理速度の向上が見込まれかつ画質も損なわない描画命令に変換して後段の処理機能部に渡すようにした。このため、所定の条件を満たす場合には、Transparency演算処理に掛る時間を省いた高速な画像処理が可能となる。
【００９２】
チャート（特定の原稿＋特定のプリンタドライバを使用）によっては重い処理であるTransparency演算を行なう必要がなくなるため、プリンタ装置２００における出力処理時間が大幅に短縮される。ここではチャートの具体的事例については図示を割愛するが、たとえば、あるＰＣＬ５パフォーマンスチャートの場合に、従来では７ＰＰＭ（Page Per Minute ）程度であったものが、上記実施形態を適用することで、３１ＰＰＭを達成することができ、大幅にパフォーマンスを改善することができた。
【００９３】
＜第２実施形態；プリンタ装置での処理の変形＞  
図７は、本発明に係る描画命令出力装置および画像形成装置を適用した第２実施形態の印刷システムの構成例を示すブロック図である。第２実施形態の印刷システム１は、第１実施形態と同様に、プリンタ側において、Transparency演算に関わる描画命令の判定処理および変換処理を行なうとともに、ハードウェア処理回路を利用することでさらなる処理速度の向上を図るようにしたものである。
【００９４】
具体的には、中間データを直接ラスタデータに変換し、プリンタエンジン部３００にラスタデータを転送するＨ／Ｗ（Hard Wear） アクセラレータスロット３６０をシステムバス上に備えた点が図１に示した構成と異なる。
【００９５】
またインタプリタ部２４０は、描画処理を高速に処理する高速化処理部の一例であるＨ／Ｗレンダラが存在するかどうかを判定するＨ／Ｗレンダラ判定部３７０と、Ｈ／Ｗレンダラ（高速化処理部）が存在するとＨ／Ｗレンダラ判定部３７０が判定したことを条件として、Transparency演算を含まない描画命令に変換せずに処理する第１の処理方法を選択する一方、Ｈ／Ｗレンダラ（高速化処理部）が存在しないとＨ／Ｗレンダラ判定部３７０が判定したことを条件として、Transparency演算を含まない描画命令に変換して処理する第２の処理方法（第１実施形態の処理方法）を選択する処理方法切替部３８０とを備えている。
【００９６】
Ｈ／Ｗアクセラレータスロット３６０には、オプションとして、Ｈ／Ｗでレンダリング（描画展開）することで描画処理を高速に処理可能な高速化処理部の一例であるＨ／Ｗレンダラ（図示せず）が着脱可能になっている。Ｈ／Ｗレンダラは、Ｓ／Ｗ（Soft Wear） でレンダリングする場合に比べ、Transparency演算処理やＲＯＰ処理を高速に行なうことができる。したがって、Ｈ／ＷレンダラがＨ／Ｗアクセラレータスロット３６０に装着されているときには、Transparency演算を伴う描画命令の置換えを行なう必要はない。
【００９７】
処理方法切替部３８０は、Ｈ／Ｗレンダラ判定部３７０の結果に応じて、たとえば処理中のフラグを“０”および“１”の何れかに切り替えることで、前述した第１実施形態の処理、すなわち基本パスとしてのTransparency演算を伴う描画命令についての変換可否判定や変換処理を行なうパスを経由させるかどうかを切り替える。
【００９８】
これにより、第２実施形態においては、Transparency演算を伴う描画命令をTransparency演算を含まない描画命令に置換するかどうかが、Ｈ／Ｗレンダラが存在するかどうかで切り替わるようになる。したがって、Ｈ／Ｗレンダラが存在する場合には、Transparency演算を伴う描画命令についての変換可否判定や変換処理を割愛して、Ｈ／Ｗに処理を任せることで、処理速度を高速にすることができる。
【００９９】
また、第２実施形態においても、Ｈ／Ｗレンダラが存在しないときには、基本パスとして、第１実施形態と同様の処理を行なうことができるから、不都合は生じない。
【０１００】
＜第３実施形態；ホスト側装置での処理＞  
図８は、本発明に係る描画命令出力装置および画像形成装置を適用した第３実施形態の印刷システムの構成例を示すブロック図である。第３実施形態の印刷システム１は、ホスト側装置に、プリンタドライバからTransparencyコマンドを含むＰＤＬデータを受け取り、Transparency演算を行なう描画処理を、Transparency演算を含まない描画処理に変換するかどうかを判定し、より処理速度の向上が見込まれる選択をするオプションユニットを装着した形態のものである。
【０１０１】
図８（Ａ）に示すように、ホスト側装置１００のインタフェース部１３０の後段に、本発明に係る描画命令出力装置の一例であるインタフェースオプション部１４０が装着可能に構成している。
【０１０２】
インタフェースオプション部１４０は、図８（Ｂ）に示すように、インタフェース部１３０を介して入力されたＰＤＬデータを記憶する描画命令記憶部１４２と、Transparency演算処理を含む描画命令を、Transparency演算を必要としない描画命令に変換するか否かを判定する変換判定部１４４と、変換判定部１４４が描画命令に変換すると判定したときには描画命令記憶部１４２に記憶しおいたTransparency演算を伴う描画命令をTransparency演算を含まない描画命令に変換する透過命令変換部３４４とを有する。
【０１０３】
なお、透過命令変換部３４４は、変換判定部１４４が描画命令に変換すると判定していなければ、描画命令記憶部１４２に記憶しおいたTransparency演算を伴う描画命令をそのまま出力する。
【０１０４】
変換判定部１４４の機能は第１実施形態の透過命令判定部３４０の機能と同じである。また、描画命令変換部１４８の機能は、第１実施形態の透過命令変換部３４４の機能と同じである。
【０１０５】
このような構成の第３実施形態の印刷システム１においては、ホスト側装置１００に導入されているプリンタドライバＰＤによって、ＰＣＬ言語記述の描画命令が生成され、それが一旦描画命令記憶部１４２に保存される。この後には、第１実施形態と同様にして、描画命令の変換判定処理や、その結果に基づく変換処理を行なう。したがって、この第３実施形態の構成においても、第１実施形態の印刷システム１と同様の効果が得られる。
【０１０６】
また。この第３実施形態では、ホスト側装置１００側にて、変化処理可否判定と、その結果に基づく変換処理を行なうようにしており、プリンタ装置２００側が、第１実施形態のような機能を備えていない場合であっても、実質的に、プリンタ装置２００は、第１実施形態の構成と同様の効果が得られる。
【０１０７】
＜第４実施形態；ホスト側装置とプリンタ装置との協働処理＞  
図９は、本発明の画像処理装置を適用した第４実施形態の印刷システムの一構成例を示すブロック図である。第４実施形態の印刷システム１は、予め描画命令の中に、Transparency演算の不要な描画命令への変換を行なうべきか否かを判断することができる判断指標情報を描画命令と対応付けてプリンタ装置２００に出力し、プリンタ装置２００における実際の描画展開処理時には、この判断指標情報を参照して、描画命令の解釈処理の手順を変えたりするようにした形態のものである。つまり、ホスト側装置１００とプリンタ装置２００とが協働して、第１実施形態の構成と同様の機能を果たすようにする。
【０１０８】
ホスト側装置１００は、第１〜第３実施形態と同様の、データ生成部１１０、中央制御部１２０、インタフェース部１３０に加えて、スプーラ部１５２およびハードディスク装置などの記憶媒体１６５を備える。中央制御部１２０には、ホスト側装置１００の全体を制御するＯＳやプリンタ装置２００を制御して印刷処理をするためのプリンタドライバがソフトウェアとして組み込まれている。勿論、これらも、ハードウェア要素で構成されていてもよい。図では、これらソフトウェアをハードウェア要素と見なして、ＯＳ部１５０およびプリンタドライバ１６０で示す。
【０１０９】
プリンタドライバ１６０は、ＯＳ部１５０から描画命令を受け取る入力部１６２、受け取った描画命令などを記憶媒体１６５に記憶させる記憶制御部１６４、記憶媒体１６５に記憶させた１ページ分の描画命令に基づいて判断指標情報（判定情報）として抽出すべき情報を探す描画命令走査部１６６と、判断指標情報を作成して記憶媒体１６５に記憶される１ページ分の描画命令の中に埋め込む判断指標情報作成部１６８と、判断指標情報を埋め込んだ１ページ分の描画命令をホスト側装置１００内のスプーラ部１５２に対して出力する出力部１６９を有する。
【０１１０】
描画命令走査部１６６は、プリンタ装置２００における描画展開処理時に、Transparency演算を必要とする描画命令からTransparency演算を必要としない描画命令に変換することが可能であるのか不可能であるのかを示す判断指標情報として抽出すべき情報をサーチする。ここで、判断指標情報は、プリンタ装置２００における描画命令から印刷データへの変換処理や印刷処理に際して、必要な情報となる。
【０１１１】
判断指標情報作成部１６８は、描画命令走査部１６６によるサーチ結果を参照して、Transparency演算を必要とする描画命令からTransparency演算を必要としない描画命令に変換することが可能であるのか不可能であるのかを示す判断指標情報を生成し、描画命令の中に埋め込む。この判断指標情報作成部１６８は、判定情報生成部および出力部の両機能を備える。スプーラ部１５２は、プリンタドライバ１６０から出力された描画命令を１命令ずつ印字データとして、インタフェース部１３０を介してプリンタ装置２００に送る。
【０１１２】
プリンタ装置２００は、ＣＰＵ２１０およびインタフェース部２３０などに加え、インタフェース部２３０を介して入力された描画命令を受け取る入力部２３２と、入力部２３２が受け付けた描画命令を解釈してラスタ画像に展開する展開部４００と、インタフェース部２３０を介して入力された判断指標情報を読み取る判断指標情報読取部４１０とを備える。展開部４００は、第１実施形態の構成におけるＰＤＬデータ解釈部２４２、レンダリング部２７０、印刷制御部２９０など、従来より公知の描画展開処理の機能を備える。
【０１１３】
このような第４実施形態の構成に依れば、ホスト側装置１００に組み込まれたプリンタドライバ１５０で描画命令を蓄積し、プリンタ装置２００で描画命令を解釈するにあたって有用な情報を判断指標情報として描画命令列の中に埋め込んでおき、プリンタ装置２００側では、この判断指標情報に基づいて描画展開処理する構成とした。このため、プリンタ装置２００では、置換判断のための描画命令の無駄な蓄積領域が不要となり、置換処理のためにプリンタ装置２００に用意するメモリ領域を少なく抑えることができる。また判断指標情報を参照して描画展開することができるので、描画命令解釈を行ない易いなどの付加的な効果も得られる。
【０１１４】
＜第５実施形態；色段差への対処＞  
図１０は、本発明に係る描画命令出力装置および画像形成装置を適用した第５実施形態の印刷システムの構成例を示すブロック図である。第５実施形態の印刷システム１は、画命令を解釈する際、処理の効率化のために複数の描画命令を低減して、たとえば１つの描画命令に変換したり、より処理に時間の掛らない別の描画命令に変換したりすることで、ＲＯＰ処理時間を高速化する、たとえば特許文献１，２に記載の技術を組み合わせた点に特徴を有する。
【０１１５】
具体的には、ここでは、第１実施形態と同様に、プリンタ装置２００側にて置換処理の要否判定や置換処理を行なう構成とするとともに、特許文献２に記載の技術を組み合わせた構成としている。
【０１１６】
たとえば、第５実施形態の印刷システム１においては、プリンタ装置２００は、第１実施形態の構成に加えて、論理命令判定部３４２と論理命令変換部３４６とを備えている。論理命令判定部３４２は、透過命令変換部３４４にて変換処理が行なわれた描画命令について、さらに、描画論理演算指示を解析し、その描画論理演算指示あるいは連続した複数の描画論理演算指示が、論理演算処理を行なわなくても処理可能な指示内容であるか否かを判定する。
【０１１７】
この判定は、たとえば描画論理演算指示が特定の描画論理演算指示である場合や、連続する複数の描画論理演算指示が特定の描画論理演算指示のパターンであることを条件とすることができる。また、この判定の際に、その描画論理演算指示によって指示されている論理演算処理の対象となる描画オブジェクトを参照して判定することもできる。
【０１１８】
論理命令変換部３４６は、論理命令判定部３４２において論理演算処理を行なわなくても処理可能な指示内容であると判定された１〜複数の論理演算指示、その論理演算指示に対応する描画オブジェクトについて、描画論理演算を必要としない指示および描画オブジェクトに変換する。
【０１１９】
このような構成の第５実施形態の印刷システム１においては、インタプリタ部２４０のＰＤＬデータ解釈部２４２にTransparency演算を伴う描画命令や描画論理演算指示を含む描画命令が入力されると、ＰＤＬデータ解釈部２４２は、入力された描画命令を描画オブジェクトと描画指示に変換し、ハードディスク装置３５０の描画オブジェクト格納部３５０ａに格納する。
【０１２０】
そして、透過命令判定部３４０と透過命令変換部３４４とにより、先ず、第１実施形態と同様にして、Transparency演算を伴う描画命令についての変換可否判定や変換処理を行ない、処理済みの描画命令を論理命令判定部３４２に渡す。
【０１２１】
論理命令判定部３４２は、描画オブジェクト格納部３５０ａに格納されている１つの描画論理演算指示あるいは連続する複数の描画論理演算指示が、描画論理演算処理を行なわなくても描画できる指示内容であるか否かを判定する。判定の結果、描画論理演算処理を行なわなくても処理可能な指示内容であると判断された場合は、論理命令変換部３４６によって、判定した描画論理演算指示および描画オブジェクトを、描画論理演算を必要としない指示と描画オブジェクトに変換し、後続の処理機能部にその後の処理を継続する。
【０１２２】
一方、論理命令判定部３４２によって描画論理演算処理が必要な指示内容であると判断された場合には、論理命令変換部３４６は、背景画像データ格納部（図示せず）から背景画像データを読み出し、描画論理演算指示に従い、読み出した背景画像データと描画オブジェクトとの描画論理演算を行なう。この演算が行なわれた結果の画像データは、背景画像データ格納部に書き戻される。
【０１２３】
これにより、第１実施形態と同様の効果が得られることに加えて、ＲＯＰ処理が必要な命令を不必要な命令に変換して処理することにより、論理演算動作に掛る処理時間を低減することで、高速および高画質の描画処理が可能となる。論理演算処理を含む描画命令について、指示された論理演算処理をそのまま実行することが必要でない場合に、論理演算処理を含まないコマンドに変換して実行することができるので、論理演算処理に掛る時間を省いた高速な画像処理が可能となるし、論理演算処理を行なわないことによって、色段差などの論理演算処理に伴う色変換処理の結果生じる画質上の不具合を回避することができるので、結果として高速な処理と高画質を両立した画像処理が実現できる。
【０１２４】
図１１は、第５実施形態における置換処理の一例を説明する図である。ここでは、 Patternイメージが全画素（全面）黒の場合を示している。
【０１２５】
Patternイメージ，Sourceイメージともに“Transparent ”が指定されている（Ｓ２０８−ＹＥＳ）、ＲＯＰコマンドは上書き（ＲＯＰ３：ＴＳｏ＝２５２）である（Ｓ２１０−ＹＥＳ）、 Patternイメージは全画素均一でかつ色は白か黒である（Ｓ２１２−ＹＥＳ）、Sourceイメージは色が白か黒（図の例では黒）で構成されている（Ｓ２１４−ＹＥＳ）ので、図６（Ａ）に示したように、透過命令変換部３４４にて、Source Transparency Modeと PatternTransparency Mode の何れをも“Opaque”に設定するとともに、ＲＯＰ２：８とし、 Patternイメージは定義しない状態とされた描画命令が論理命令判定部３４２に通知される。
【０１２６】
詳しい説明は割愛するが、ＲＯＰ２：８は、描画論理演算処理を行なわなくても描画できる指示内容であるので、論理命令判定部３４２は、描画論理演算処理を行なわなくても処理可能な指示内容であると判断し、論理命令変換部３４６に変換を指示する。これを受けて、論理命令変換部３４６は、ＲＯＰ２：８を対応するＲＯＰ２：１２（上書き）に変換する。
【０１２７】
こうすることで、Transparency演算だけでなく、論理演算も必要がなくなり、Sourceイメージの黒い部分のみ上書き描画となる。チャートによっては、描画不具合（色段差）も回避できることになり、画質向上に繋がる。
【０１２８】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０１２９】
また、上記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【０１３０】
たとえば、上記実施形態では、置換条件にマッチするTransparency演算を伴う描画命令を、比較的に負荷の少ない描画命令に置き換える場合を示したが、このような置換に代えて、描画自体を行なわない構成とすることもできる。
【０１３１】
たとえば、描画オブジェクトがグラフィックスやフォントの場合、ソースイメージがオブジェクトの形状（つまりすべて黒と解釈する）となり、パターンイメージがオブジェクトの色となるため、白色のグラフィックスやフォントを描画する場合は、関係するコマンド群をすべて無効とすることができる。
【０１３２】
たとえば、図１２は、ソースイメージとして、線や矩形などのグラフィックスもしくはフォント（文字）の場合を例示している。描画命令の中には、図中Ｔｒ１０およびＴｒ１２に示すように、Transparency演算に関わる“Opaque”指定もしくは“Transparent ”指定がある描画命令が含まれている。
【０１３３】
図１３は、図１２に示されるＰＣＬ言語記述のＰＤＬデータに対応する、Transparency演算の置換処理の一例を説明する図である。ここでは、色が白か黒のグラフィックスの一例として三角形の場合を示すとともに、図１３（Ａ）は、三角形の色が黒の場合を示し、図１３（Ｂ）は、三角形の色が白の場合を示している。
【０１３４】
描画対象がグラフィックスの場合は、Sourceイメージが形状を表し、 Patternイメージに色がセットされる。したがって、三角形の色が黒の場合には、図１３（Ａ）に示すように、Sourceイメージで示される三角形の枠内を Patternイメージで示される黒で塗り潰す描画命令になるので、変換後の描画属性としては、Source Transparency Modeと PatternTransparency Mode の何れをも“Opaque”に設定するとともに、ＲＯＰ２：８とし、 Patternイメージは定義しない。
【０１３５】
このようにして、描画命令を変換し、中間データ生成部２６０やレンダリング部２７０において、SourceイメージとDestination をＲＯＰ２：８（ＢＧＲ空間）で描画すると、描画処理結果（Result）としては、Destination イメージ上にSourceイメージの三角形が黒で上書きされた状態となる。変換されたＲＯＰ２：８を含む描画命令は、変換前のTransparency演算を伴う描画命令に比べると、負荷の少ない描画命令である。
【０１３６】
また、三角形の色が白の場合には、図１３（Ｂ）に示すように、Sourceイメージで示される三角形の枠内を Patternイメージで示される白で塗り潰す描画命令になるので、実際には、Sourceイメージは全て白となるので、描画しないことと同じ結果となる。したがって、変換後の描画属性としては、描画コマンドをキャンセルして、描画自体を行なわないようにすればよい。
【図面の簡単な説明】
【０１３７】
【図１】本発明に係る描画命令出力装置および画像形成装置を適用した第１実施形態の印刷システムの構成例を示すブロック図である。
【図２】インタプリタ部の動作を示すフローチャートである。
【図３】図２のステップＳ１１１における描画命令処理の詳細を示すフローチャートである。
【図４】図２のステップＳ１０９におけるページ排出処理の詳細を示すフローチャートである。
【図５】ＰＣＬ言語で記述されたＰＤＬデータの一例（ソースがイメージの場合）を示す図である。
【図６】図５に示されるＰＣＬ言語記述のＰＤＬデータに対応する、Transparency演算の置換処理の一例を説明する図である。
【図７】本発明に係る描画命令出力装置および画像形成装置を適用した第２実施形態の印刷システムの構成例を示すブロック図である。
【図８】本発明に係る描画命令出力装置および画像形成装置を適用した第３実施形態の印刷システムの構成例を示すブロック図である。
【図９】本発明の画像処理装置を適用した第４実施形態の印刷システムの一構成例を示すブロック図である。
【図１０】本発明に係る描画命令出力装置および画像形成装置を適用した第５実施形態の印刷システムの構成例を示すブロック図である。
【図１１】第５実施形態における置換処理の一例を説明する図である。
【図１２】ＰＣＬ言語で記述されたＰＤＬデータの一例（ソースがグラフィックスやフォントの場合）を示す図である。
【図１３】図１２に示されるＰＣＬ言語記述のＰＤＬデータに対応する、Transparency演算の置換処理の一例を説明する図である。
【符号の説明】
【０１３８】
１…印刷システム、９…伝送路、１００…ホスト側装置、１１０…データ生成部、１２０…中央制御部、１３０…インタフェース部、１４０…インタフェースオプション部、１４２…描画命令記憶部、１４４…変換判定部、１４８…描画命令変換部、１５０…ＯＳ部、１６０…プリンタドライバ、２００…プリンタ装置、２０１…ＲＯＭ、２０２…ＲＡＭ、２１０…中央演算制御処理部、２３０…インタフェース部、２４０…インタプリタ部、２４２…ＰＤＬデータ解釈部、２６０…中間データ生成部、２７０…レンダリング部、２９０…印刷制御部、３００…プリンタエンジン部、３０８…プリンタＩＦ部、３１０…メモリ管理部、３４０…透過命令判定部、３４２…論理命令判定部、３４４…透過命令変換部、３４６…論理命令変換部、３５０…ハードディスク装置、３６０…Ｈ／Ｗアクセラレータスロット、３７０…Ｈ／Ｗレンダラ判定部、３８０…処理方法切替部
【図１】
2005182692.tif 000003
【図２】
2005182692.tif 000004
【図３】
2005182692.tif 000005
【図４】
2005182692.tif 000006
【図５】
2005182692.tif 000007
【図７】
2005182692.tif 000008
【図８】
2005182692.tif 000009
【図９】
2005182692.tif 000010
【図１０】
2005182692.tif 000011
【図１２】
2005182692.tif 000012
【図６】
2005182692.tif 000013
【図１１】
2005182692.tif 000014
【図１３】
2005182692.tif 000015