(57)【要約】【課題】論理演算やマスクパターン等の演算処理が含まれるレンダリングにおいても無駄なレンダリング処理の実行を抑止すること。【解決手段】本発明は、入力された画像情報に含まれる複数の要素について重ね合わせの順序と重ね合わせ処理の種別とを解釈する印刷データ解釈部１３と、画像情報をラスターデータへ描画するにあたり、印刷データ解釈部１３で重ね合わせ処理の種別が重ね合わせの最上位の要素を優先する単純重ね合わせ処理であると解釈された領域については重ね合わせ順序の上位の要素から描画を行い、重ね合わせ処理の種別が重なる要素の演算を伴う演算重ね合わせ処理であると解釈された領域については重ね合わせ順序の下位の要素から順に演算による描画を行うレンダリング処理部１Ｃとを備える画像処理装置１１である。【選択図】図１
2010220158.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像情報に含まれる複数の要素について重ね合わせの順序と重ね合わせ処理の種別とを解釈する解釈手段と、
前記画像情報をラスターデータへ描画するにあたり、前記解釈手段で重ね合わせ処理の種別が重ね合わせの最上位の要素を優先する単純重ね合わせ処理であると解釈された領域については前記解釈手段で解釈した重ね合わせ順序の上位の要素から描画を行い、重ね合わせ処理の種別が重なる要素の演算を伴う演算重ね合わせ処理であると解釈された領域については前記解釈手段で解釈した重ね合わせ順序の下位の要素から順に演算による描画を行う描画手段と
を備える画像処理装置。
【請求項２】
前記描画手段は、前記解釈手段で解釈した重ね合わせの最上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、途中で前記演算重ね合わせ処理を行う要素を含む領域の描画が必要となった際には、それ以降、未処理の領域について重ね合わせの最下位の要素を含む領域から上位側の要素を含む領域の順に描画を行う
請求項１記載の画像処理装置。
【請求項３】
前記描画手段は、前記解釈手段で解釈した重ね合わせの最上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、途中で前記演算重ね合わせ処理を行う要素を含む領域の描画が必要となった際には当該領域を除く未処理の領域について重ね合わせの上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、その後、除かれた領域について重ね合わせの最下位の要素を含む領域から上位側の要素を含む領域の順に描画を行う
請求項１記載の画像処理装置。
【請求項４】
前記描画手段は、前記解釈手段で重ね合わせ処理の種別が演算重ね合わせ処理であると解釈された領域であることを示す符号を保持する符号保持手段を有し、
前記符号保持手段で保持している符号に基づき前記演算重ね合わせ処理の領域について描画を行う
請求項１から３のうちいずれか１項に記載の画像処理装置。
【請求項５】
入力された画像情報に含まれる複数の要素について重ね合わせの順序と重ね合わせ処理の種別とを解釈するステップと、
前記画像情報をラスターデータへ描画するにあたり、前記ステップで重ね合わせ処理の種別が重ね合わせの最上位の要素を優先する単純重ね合わせ処理であると解釈された領域については前記ステップで解釈した重ね合わせ順序の上位の要素から描画を行い、重ね合わせ処理の種別が重なる要素の演算を伴う演算重ね合わせ処理であると解釈された領域については前記ステップで解釈した重ね合わせ順序の下位の要素から順に演算による描画を行うステップと
をコンピュータに実行させる画像処理プログラム。
【請求項６】
前記描画を行うステップでは、前記解釈するステップで解釈した重ね合わせの最上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、途中で前記演算重ね合わせ処理を行う要素を含む領域の描画が必要となった際には、それ以降、未処理の領域について重ね合わせの最下位の要素を含む領域から上位側の要素を含む領域の順に描画を行う
請求項５記載の画像処理プログラム。
【請求項７】
前記描画を行うステップでは、前記解釈するステップで解釈した重ね合わせの最上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、途中で前記演算重ね合わせ処理を行う要素を含む領域の描画が必要となった際には当該領域を除く未処理の領域について重ね合わせの上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、その後、除かれた領域について重ね合わせの最下位の要素を含む領域から上位側の要素を含む領域の順に描画を行う
請求項５記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
画像処理の対象となる描画オブジェクトを一旦中間コードに変換して保持する方式のプリンタでは、１ページ分のＰＤＬ（ページ記述言語）の解釈および中間コードの生成を行っている。また、中間コードの生成が完了すると、その中間コードを描画順序の通りに先頭から解釈しながらレンダリングし、印刷可能なラスターデータに変換する。そのため、描画オブジェクトの重なりによって既に描画済みの箇所に別のオブジェクトが上書きされるケースでは、結果的にそれまでのレンダリング処理は無駄になってしまう。
【０００３】
そこで、特許文献１では、中間コードを後端側から描画順序とは逆に解釈しながらレンダリングするとともに、何らかの描画が行われた領域に対しては以降の描画をスキップすることで、オブジェクトの上書きによって結果的に無駄となるレンダリング処理の実行を抑止している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３３４３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、論理演算やマスクパターン等の演算処理が含まれるレンダリングにおいても無駄なレンダリング処理の実行を抑止することを目的とする。
【課題を解決するための手段】
【０００６】
本願請求項１に係る発明は、入力された画像情報に含まれる複数の要素について重ね合わせの順序と重ね合わせ処理の種別とを解釈する解釈手段と、前記画像情報をラスターデータへ描画するにあたり、前記解釈手段で重ね合わせ処理の種別が重ね合わせの最上位の要素を優先する単純重ね合わせ処理であると解釈された領域については前記解釈手段で解釈した重ね合わせ順序の上位の要素から描画を行い、重ね合わせ処理の種別が重なる要素の演算を伴う演算重ね合わせ処理であると解釈された領域については前記解釈手段で解釈した重ね合わせ順序の下位の要素から順に演算による描画を行う描画手段とを備える画像処理装置である。
【０００７】
本願請求項２に係る発明は、前記描画手段が、前記解釈手段で解釈した重ね合わせの最上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、途中で前記演算重ね合わせ処理を行う要素を含む領域の描画が必要となった際には、それ以降、未処理の領域について重ね合わせの最下位の要素を含む領域から上位側の要素を含む領域の順に描画を行う請求項１記載の画像処理装置である。
【０００８】
本願請求項３に係る発明は、前記描画手段が、前記解釈手段で解釈した重ね合わせの最上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、途中で前記演算重ね合わせ処理を行う要素を含む領域の描画が必要となった際には当該領域を除く未処理の領域について重ね合わせの上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、その後、除かれた領域について重ね合わせの最下位の要素を含む領域から上位側の要素を含む領域の順に描画を行う請求項１記載の画像処理装置である。
【０００９】
本願請求項４に係る発明は、前記描画手段が、前記解釈手段で重ね合わせ処理の種別が演算重ね合わせ処理であると解釈された領域であることを示す符号を保持する符号保持手段を有し、前記符号保持手段で保持している符号に基づき前記演算重ね合わせ処理の領域について描画を行う請求項１から３のうちいずれか１項に記載の画像処理装置である。
【００１０】
本願請求項５に係る発明は、入力された画像情報に含まれる複数の要素について重ね合わせの順序と重ね合わせ処理の種別とを解釈するステップと、前記画像情報をラスターデータへ描画するにあたり、前記ステップで重ね合わせ処理の種別が重ね合わせの最上位の要素を優先する単純重ね合わせ処理であると解釈された領域については前記ステップで解釈した重ね合わせ順序の上位の要素から描画を行い、重ね合わせ処理の種別が重なる要素の演算を伴う演算重ね合わせ処理であると解釈された領域については前記ステップで解釈した重ね合わせ順序の下位の要素から順に演算による描画を行うステップとをコンピュータに実行させる画像処理プログラムである。
【００１１】
本願請求項６に係る発明は、前記描画を行うステップにおいて、前記解釈するステップで解釈した重ね合わせの最上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、途中で前記演算重ね合わせ処理を行う要素を含む領域の描画が必要となった際には、それ以降、未処理の領域について重ね合わせの最下位の要素を含む領域から上位側の要素を含む領域の順に描画を行う請求項５記載の画像処理プログラムである。
【００１２】
本願請求項７に係る発明は、前記描画を行うステップにおいて、前記解釈するステップで解釈した重ね合わせの最上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、途中で前記演算重ね合わせ処理を行う要素を含む領域の描画が必要となった際には当該領域を除く未処理の領域について重ね合わせの上位の要素を含む領域から下位側の要素を含む領域の順に描画を行い、その後、除かれた領域について重ね合わせの最下位の要素を含む領域から上位側の要素を含む領域の順に描画を行う請求項５記載の画像処理プログラムである。
【発明の効果】
【００１３】
本願請求項１に係る発明によれば、単純重ね合わせ処理や演算重ね合わせ処理といった処理の種別に合わせた重ね合わせ順による処理が可能となる。
【００１４】
本願請求項２に係る発明によれば、単純重ね合わせ処理を行う領域では重ね合わせの繰り返しを回避でき、演算重ね合わせ処理を行う領域では重ね合わせ順に対応した処理が可能となる。
【００１５】
本願請求項３に係る発明によれば、単純重ね合わせ処理の領域と演算重ね合わせ処理の領域とを切り分けた画像処理が可能となる。
【００１６】
本願請求項４に係る発明によれば、演算重ね合わせ処理を行う領域を他の領域と区別して処理することが可能となる。
【００１７】
本願請求項５に係る発明によれば、単純重ね合わせ処理や演算重ね合わせ処理といった処理の種別に合わせた重ね合わせ順による処理が可能となる。
【００１８】
本願請求項６に係る発明によれば、単純重ね合わせ処理を行う領域では重ね合わせの繰り返しを回避でき、演算重ね合わせ処理を行う領域では重ね合わせ順に対応した処理が可能となる。
【００１９】
本願請求項７に係る発明によれば、単純重ね合わせ処理の領域と演算重ね合わせ処理の領域とを切り分けた画像処理が可能となる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態の画像処理装置の内部構造を説明するブロック図である。
【図２】本実施形態の画像処理装置による重ね合わせ処理の具体例を説明する要素の構成例を示す図である。
【図３】各実施例共通の重ね合わせ処理について説明する図である。
【図４】第１実施例の重ね合わせ処理について説明する図である。
【図５】第２実施例の重ね合わせ処理について説明する図である。
【図６】第１実施例の画像処理に対応した画像処理プログラムを説明するフローチャートである。
【図７】第２実施例の画像処理に対応した画像処理プログラムを説明するフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態（以下、「実施形態」という。）について説明する。なお、説明は以下の順序で行う。
１．画像処理装置の構成
２．画像処理装置による重ね合わせ処理の具体例
３．画像処理プログラム
【００２２】
＜１．画像処理装置の構成＞
図１は、本実施形態の画像処理装置の内部構造を説明するブロック図である。本実施形態に係る画像処理装置は、処理対象となる画像情報の例として印刷データを取り扱うもので、入力した印刷データを解釈し、印刷用のラスターデータとして展開する処理を行う。
【００２３】
画像処理装置１１は、印刷データを入力する印刷データ入力部１２と、印刷データを出力する印刷データ出力部１３との間に設けられる。
【００２４】
画像処理装置１１は、印刷データ解釈部１３、文字生成部１４、グラフィック変換部１５、イメージ変換部１６、図形分割変換部１７、輪郭生成部１８、文字データ記憶部１９、クリップ処理部１Ａ、中間コード保存部１Ｂ、レンダリング処理部１Ｃ、イメージ圧縮部１Ｄ、中間コード保存領域１Ｅ、圧縮イメージ保存領域１Ｆを備えている。
【００２５】
画像処理装置１１は、先ず、データ入力部１２によって、パーソナルコンピュータ等の上位装置から送られてくる印刷データを入力し、場合によっては複数データ分、データを保存して、以降の処理を円滑に行わせるような調整を行う。印刷データは、例えばＰＤＬ（ページ記述言語）が用いられる。
【００２６】
印刷データは、印刷データ解釈部１３によって、文字、グラフィックス、イメージ等に分類される。それぞれ分類されたデータは、必要な情報と共に各々の処理を担当するデータの変換／生成部へと送られる。
【００２７】
先ず、文字の場合は、文字生成部１４にデータが渡される。文字生成部１４では、渡されたデータと、画像処理装置１１の内部にデータ入力以前から存在する文字データ記憶部１９に記憶されているアウトライン形式のデータとから、出力データの座標空間に適合した文字の輪郭データを生成する。
【００２８】
また、印字データ解析部１３によって、グラフィックスデータであると分類された場合、座標値を表すデータ列がグラフィックス変換部１５へ渡される。グラフィックス変換部１５では、渡されたデータを、出力データの座標空間に適合したデータに変換する。
【００２９】
その後、図形分割変換部１７において、入力された段階よりも、出力データに近い、複数の単純な図形の集合に分割する。これは、三角形や台形といった、幾何的なデータの集合で表される。
【００３０】
また、印刷データ解釈部１３によってイメージであると分類された場合、データはイメージ変換部１６に送られる。イメージ変換部１６では、イメージの拡大・縮小や、色空間の調整等が行われる。また、同時に、イメージの輪郭形状を表現するための輪郭データを発生する。
【００３１】
また、印刷データ解釈部１３は、入力された印刷データに含まれる複数の要素（文字、グラフィックス、イメージ等の属性）について、重ね合わせの順序と重ね合わせ処理の種別とを解釈する。
【００３２】
ここで、重ね合わせの順序は、複数の要素が重ね合わされている場合、下側を下位側、上側を上位側ということにする。また、重ね合わせ処理の種別には、単純重ね合わせ処理と演算重ね合わせ処理とがある。単純重ね合わせ処理とは、複数の要素が重ね合わされている場合、重なっている領域について上位側の要素を優先する（下位側の要素に上位側の要素を上書きする）処理である。また、演算重ね合わせ処理とは、複数の要素が重ね合わされている場合、重なっている各要素のデータを演算によって決定する処理である。例えば、重なっている各要素のデータを所定の割合で出力する半透過処理や、重なっている要素のＡＮＤやＯＲをとる処理（具体的には、ＲＯＰ(Raster Operation)）、下位の要素に対して上位の要素でマスクする処理等が挙げられる。
【００３３】
次に、文字、グラフィックス、イメージの輪郭データは、クリップ処理部１Ａに送信される。クリップ処理とは、例えば、ページをはみ出した図形を切り取ったり、あるいは、予め設定された自由形状の領域で図形を切り取ったりする処理を行う。
【００３４】
その後、クリップ処理された描画データは、データ保存部１Ｂに送信される。データ保存部１Ｂでは、図形形状や、イメージの輪郭形状などは、レンダリング処理部１Ｃで、データ出力部１Ｇに出力するのに適した中間データに変換され、中間データ保存領域１Ｅに格納される。
【００３５】
一方、イメージ変換部１６から出力されるイメージデータは、イメージ圧縮部１Ｄで所定の圧縮方式により圧縮され、データ保存部１Ｂで圧縮イメージデータ保存領域１Ｆに保存される。
【００３６】
以上の処理を１ページの印刷情報の入力が終わるまで繰り返すことで、１ページ分の中間データと圧縮イメージデータを保存する。
【００３７】
上記の処理によって保存された中間データおよび圧縮イメージデータは、印刷データ解釈部１３で解析されたデータ出力命令の指示を受けて、レンダリング処理部１Ｃでデータ出力部１Ｇに適したデータ形式に変換された後に、データ出力部１Ｇへ送信される。
【００３８】
レンダリング処理部１Ｃは、レンダリング結果格納部１０１、未描画フラグ情報保持部１０２、要下地フラグ情報保持部１０３を備えている。レンダリング結果格納部１０１は、ラスターデータへのレンダリングの結果を格納する記憶部である。未描画フラグ情報保持部１０２は、レンダリングする単位（バンド、スキャンライン等）の各画素について描画が行われていないことを示すフラグを保持する記憶部である。要下地フラグ情報保持部１０３は、レンダリングする画素について演算重ね合わせ処理を施すものであることを示すフラグを保持する記憶部である。
【００３９】
本実施形態の画像処理装置１１では、レンダリング処理部１Ｃにおいて印刷データをラスターデータへレンダリングするにあたり、印刷データ解釈部１３単純重ね合わせ処理であると解釈された領域については重ね合わせ順序の上位の要素から描画を行い、演算重ね合わせ処理であると解釈された領域については重ね合わせ順序の下位の要素から順に演算による描画を行っている。
【００４０】
＜２．画像処理装置による重ね合わせ処理の具体例＞
図２は、本実施形態の画像処理装置による重ね合わせ処理の具体例を説明する要素の構成例を示す図である。重ね合わせ処理は画像処理装置のレンダリング処理部１Ｃ（図１参照）で行われる。レンダリング処理部１Ｃは、中間コードを所定単位（例えば、バンド）ごとに解釈して、要素の重ね合わせ処理の結果、画素のデータを出力する。
【００４１】
図２では、所定の中間コードの１バンド分をイメージ化して表示したものである。このバンドの例では、要素（１）〜（５）が含まれている。図２（ａ）は要素（１）〜（５）の全ての配置および重なり状態を示したものである。これらの要素（１）〜（５）を個別に示したものを図２（ｂ）〜（ｆ）に示す。
【００４２】
図２（ｂ）は要素（１）を示したもので、背景に当たる部分である。図２（ｃ）は要素（２）を示したもので、本具体例では要素（１）との間で演算重ね合わせ処理が成される部分である。
【００４３】
図２（ｄ）は要素（３）を示したもので、本具体例では要素（２）の上に単純重ね合わせされた文字の部分である。図２（ｅ）は要素（４）を示したもので、本具体例では要素（１）の上に単純重ね合わせされた画像である。図２（ｆ）は要素（５）を示したもので、本具体例では要素（１）および要素（４）の上に単純重ね合わせされた画像である。上記の要素（１）〜（５）は、印刷データ解釈部１３（図１参照）で重ね合わせ順序および重ね合わせ処理の種別が解釈される。本具体例では、要素（１）〜（５）の順に重ね合わされており、要素の番号が小さいほど下位であることを示すものとする。
【００４４】
次に、本具体例を用いた重ね合わせ処理について説明する。以下では、第１実施例、第２実施例を説明するが、先ず、各実施例共通の処理を説明する。
【００４５】
［各実施例共通の重ね合わせ処理］
図３は、各実施例共通の重ね合わせ処理について説明する図である。ここでは、図３（ａ）に示す本具体例の中間コードについて、所定の１ライン分（図中矢印ライン参照）に注目した処理となっている。
【００４６】
このラインについての処理の流れを、図３（ｂ）〜（ｅ）に示す未描画フラグおよび描画結果とともに説明する。なお、未描画フラグは、未描画フラグ情報保持部１０２（図１参照）で保持される状態を模式的に示したもの、描画結果は、処理によって得られるラスターデータを模式的に示したもので、いずれも注目した１ライン分の画素の情報に対応している。
【００４７】
先ず、レンダリング処理部１Ｃ（図１参照。以下同様。）は、図３（ｂ）に示すように、未描画フラグを初期化する。処理の前は、全ての画素について未描画フラグが立っている（図中縦縞参照）。また、全ての画素について描画結果は出力されていない。
【００４８】
次に、レンダリング処理部１Ｃは、印刷データ解釈部１３（図１参照。以下同様。）で解釈した複数の要素の重ね合わせ順序のうち、最上位となる要素（５）のレンダリングを行う。レンダリング処理部１Ｃは、要素（５）の処理を行うにあたり、印刷データ解釈部１３から要素（５）が単純重ね合わせ処理の種別であることを受ける。
【００４９】
レンダリング処理部１Ｃは、図３（ｃ）に示すように、注目ライン上の要素（５）の画素領域の未描画フラグを参照し、その画素領域のうち未描画フラグが立っている画素領域に要素（５）の画素情報を描画結果として出力する。描画結果を出力したら、その画素領域に対応する未描画フラグを下ろす。
【００５０】
次に、レンダリング処理部１Ｃは、印刷データ解釈部１３で解釈した複数の要素の重ね合わせ順序のうち、先に処理した要素（５）の一つ下位となる要素（４）のレンダリングを行う。
【００５１】
レンダリング処理部１Ｃは、要素（４）の処理を行うにあたり、印刷データ解釈部１３から要素（４）が単純重ね合わせ処理の種別であることを受ける。レンダリング処理部１Ｃは、図３（ｄ）に示すように、注目ライン上の要素（４）の画素領域の未描画フラグを参照し、その画素領域のうち未描画フラグが立っている画素領域に要素（４）の画素情報を描画結果として出力する。
【００５２】
ここでは、要素（４）の画素領域のうち、要素（５）の描画結果が出力されている部分の未描画フラグは下りているため、そこには要素（４）の画素情報を出力しない。つまり、要素（４）と要素（５）とでは単純重ね合わせ処理となることから、要素（４）の画素領域のうち要素（５）と重なる部分については上位である要素（５）が優先される。要素（４）の画素情報は、未描画フラグが立っている画素領域のみ描画結果として出力される。描画結果を出力したら、その画素領域に対応する未描画フラグを下ろす。
【００５３】
次に、レンダリング処理部１Ｃは、印刷データ解釈部１３で解釈した複数の要素の重ね合わせ順序のうち、先に処理した要素（４）の一つ下位となる要素（３）のレンダリングを行う。
【００５４】
レンダリング処理部１Ｃは、要素（３）の処理を行うにあたり、印刷データ解釈部１３から要素（３）が単純重ね合わせ処理の種別であることを受ける。レンダリング処理部１Ｃは、図３（ｅ）に示すように、注目ライン上の要素（３）の画素領域の未描画フラグを参照し、その画素領域のうち未描画フラグが立っている画素領域に要素（３）の画素情報を描画結果として出力する。
【００５５】
ここでは、要素（３）の画素領域の全てについて未描画フラグが立っているため、要素（３）の画素領域の全ての画素情報が描画結果として出力される。描画結果を出力したら、その画素領域に対応する未描画フラグを下ろす。
【００５６】
このように、レンダリング処理部１Ｃは、注目ラインの画素情報のレンダリングを行うにあたり、複数の要素の最上位から順にレンダリングを行う。この際、印刷データ解釈部１３で解釈した重ね合わせ処理の種別が単純重ね合わせ処理である要素の場合には、上位から下位の順に未描画フラグの立っている画素領域へ描画結果を出力していく。
【００５７】
［第１実施例の処理］
図４は、第１実施例の重ね合わせ処理について説明する図である。図４も図３と同様、図３（ａ）に示す本具体例の中間コードの注目ラインでの処理であり、未描画フラグおよび描画結果の変化を示している。ここで、要素（３）までの処理は先に説明した共通の重ね合わせ処理と同じである。図４（ａ）は、要素（３）まで処理した状態を示している。
【００５８】
次に、レンダリング処理部１Ｃは、印刷データ解釈部１３で解釈した複数の要素の重ね合わせ順序のうち、先に処理した要素（３）の一つ下位となる要素（２）のレンダリングを行う。
【００５９】
レンダリング処理部１Ｃは、要素（２）の処理を行うにあたり、印刷データ解釈部１３から要素（２）が演算重ね合わせ処理の種別であることを受ける。レンダリング処理部１Ｃは、要素（２）が演算重ね合わせ処理の種別であることから、それ以降、未処理の領域について重ね合わせの順番を逆転させる。
【００６０】
すなわち、その時点で未描画フラグが立っている画素領域について、最下位の要素である要素（１）の画素情報を描画結果として出力する。重ね合わせの順番を逆転させた際には、それ以降の未描画フラグの更新を中止する。
【００６１】
次に、レンダリング処理部１Ｃは、印刷データ解釈部１３で解釈した複数の要素の重ね合わせ順序のうち、先に処理した要素（１）の一つ上位となる要素（２）のレンダリングを行う。レンダリング処理部１Ｃは、要素（２）が演算重ね合わせ処理の種別であることを印刷データ解釈部１３から受け、先に処理した要素（１）との間で演算処理を実行する。
【００６２】
すなわち、先に処理した要素（１）の画素領域のうち、要素（２）と重なる画素領域について、描画結果として出力された要素（１）の画素情報と、要素（２）の画素情報との論理演算を行い、その結果を描画結果として出力する。
【００６３】
このような処理により、重ね合わせ処理の中に演算重ね合わせ処理が含まれていても、その処理を行う以降の処理の順番を逆転させることで、重ね合わせの無駄が抑制されることになる。
【００６４】
［第２実施例の処理］
図５は、第２実施例の重ね合わせ処理について説明する図である。図５も図３と同様、図３（ａ）に示す本具体例の中間コードの注目ラインでの処理であり、フラグおよび描画結果の変化を示している。
【００６５】
なお、図５に示すフラグは、未描画フラグと下地フラグとを示している。下地フラグは、要下地フラグ情報保持部１０３（図１参照）で保持される情報であり、後で演算重ね合わせ処理を行う画素を示すものである。図５では、未描画フラグを縦縞、下地フラグを横縞で示している。
【００６６】
第２実施例の処理でも、要素（３）までの処理は先に説明した共通の重ね合わせ処理と同じである。
【００６７】
次に、レンダリング処理部１Ｃは、印刷データ解釈部１３で解釈した複数の要素の重ね合わせ順序のうち、先に処理した要素（３）の一つ下位となる要素（２）のレンダリングを行う。
【００６８】
レンダリング処理部１Ｃは、要素（２）の処理を行うにあたり、印刷データ解釈部１３から要素（２）が演算重ね合わせ処理の種別であることを受ける。レンダリング処理部１Ｃは、要素（２）が演算重ね合わせ処理の種別であることから、図５（ａ）に示すように、要素（２）の画素領域のうち未描画フラグが立っている画素領域について下地フラグを立てる。
【００６９】
レンダリング処理部１Ｃは、この状態で、印刷データ解釈部１３で解釈した複数の要素の重ね合わせ順序のうち、要素（２）の一つ下位となる要素（１）のレンダリングを行う。レンダリング処理部１Ｃは、図５（ａ）に示すように、注目ライン上の要素（１）の画素領域のうち未描画フラグが立っている画素領域に要素（１）の画素情報を描画結果として出力する。
【００７０】
最下位の処理まで達した後、レンダリング処理部１Ｃは、最下位の要素から上位の要素に向けての処理順序に切り替える。そして、図５（ｂ）に示すように、下地フラグが立っている画素領域を抽出し、その領域のみに最下位の要素（１）の画素情報を出力する。
【００７１】
次に、レンダリング処理部１Ｃは、図５（ｃ）に示すように、下地フラグが立っている画素領域について、要素（１）の上位となる要素（２）につき演算重ね合わせ処理を行う。
【００７２】
すなわち、先に処理した下地フラグが立っている画素領域に出力された要素（１）の画素情報と、要素（２）の画素情報との論理演算を行い、その結果を描画結果として出力する。レンダリング処理部１Ｃは、その後に下地フラグの領域にかかる要素がないため、処理を終了する。
【００７３】
このような処理により、重ね合わせ処理の中に演算重ね合わせ処理が含まれていても、それ以外の領域については上位から下位の要素について単純重ね合わせ処理を行い、その後、処理されずに残った画素領域について演算重ね合わせ処理を行うため、重ね合わせの無駄が抑制されることになる。
【００７４】
＜３．画像処理プログラム＞
次に、本実施形態に係る画像処理プログラムを説明する。本実施形態に係る画像処理プログラムはコンピュータに実行させるステップを有している。コンピュータは、本実施形態に係る画像処理プログラムを実行する演算部、プログラムや各種データを格納する記憶部、入出力部を備えている。
【００７５】
コンピュータは上記説明した画像処理装置に組み込まれるもののほか、パーソナルコンピュータ等の電子計算機、映像記録再生装置、携帯端末等の情報を取り扱うことのできる電子機器に組み込まれているものでもよい。また、本実施形態の画像処理プログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録されていたり、ネットワークを介して配信されたりするものでもある。
【００７６】
なお、以下に説明する画像処理プログラムは、コンピュータとして実現される画像処理装置で実行されるものである。
【００７７】
［第１実施例の画像処理プログラム］
図６は、上記第１実施例の画像処理に対応した画像処理プログラムを説明するフローチャートである。先ず、レンダリングする単位（バンド、スキャンライン等）の各画素について描画が行われていないことを示す未描画フラグを設けるとともに、レンダリング開始時に全画素の未描画フラグを立てる（ステップＳ１０１）。
【００７８】
次に、レンダリング対象のオブジェクト（要素）について、論理演算やマスクパターン等による演算重ね合わせ処理が含まれるかどうかにかかわらず、中間コードを描画順序とは逆（最上位側）に設定する（ステップＳ１０２）。
【００７９】
次に、レンダリング対象のオブジェクトが演算重ね合わせ処理であるか否かを判断する（ステップＳ１０３）。演算重ね合わせ処理である場合にはステップＳ１０９以降の処理を行う。この処理は後述する。一方、演算重ね合わせ処理でない場合には、レンダリング対象のオブジェクトが透過パターンであるか否かを判断する（ステップＳ１０４）。透過パターンである場合にはステップＳ１０９以降の処理を行う。
【００８０】
透過パターンでない場合には、レンダリング対象のオブジェクトと未描画フラグとを比較し、描画フラグが立っている画素のみレンダリングを行う（ステップＳ１０５）。レンダリングした後は、描画した画素の未描画フラグを下ろす（ステップＳ１０６）。
【００８１】
次に、中間コードリストの先頭（最下位）のオブジェクトまでレンダリングを完了したか否かの判断を行う（ステップＳ１０７）。完了していれば処理を終了する。一方、完了していない場合には、ステップＳ１０３へ戻り、以降の処理を最下位のオブジェクトまで繰り返す（ステップＳ１０８）。
【００８２】
次に、ステップＳ１０９以降の処理について説明する。レンダリング対象のオブジェクトが演算重ね合わせ処理である場合（ステップＳ１０３でＹｅｓ）、またはレンダリング対象のオブジェクトが透過パターンの場合（ステップＳ１０４でＹｅｓ）、そのオブジェクトの中間コードリスト上の位置を保存する（ステップＳ１０９）。
【００８３】
次に、レンダリング対象のオブジェクトを中間コードリストの先頭（最下位）に設定する（ステップＳ１１０）。次いで、レンダリング対象のオブジェクトと未描画フラグとを比較し、未描画フラグが立っている画素のみレンダリングを行う（ステップＳ１１１）。
【００８４】
次に、ステップＳ１０９で保存したオブジェクトまでレンダリングを完了したか否かの判断を行う（ステップＳ１１２）。完了していれば処理を終了する。一方、完了していない場合には、ステップＳ１１１へ戻り、以降の処理を保存したオブジェクトまで繰り返す（ステップＳ１１３）。
【００８５】
［第２実施例の画像処理プログラム」
図７は、上記第２実施例の画像処理に対応した画像処理プログラムを説明するフローチャートである。先ず、レンダリングする単位（バンド、スキャンライン等）の各画素について描画が行われていないことを示す未描画フラグを設けるとともに、レンダリング開始時に全画素の未描画フラグを立てる（ステップＳ２０１）。次に、後で演算重ね合わせ処理を行う画素を示す要下地描画フラグ（下地フラグ）を用意し、全画素の下地フラグを下ろしておく（ステップＳ２０２）。
【００８６】
次に、レンダリング対象のオブジェクト（要素）について、論理演算やマスクパターン等による演算重ね合わせ処理が含まれるかどうかにかかわらず、中間コードを描画順序とは逆（最上位側）に設定する（ステップＳ２０３）。
【００８７】
次に、レンダリング対象のオブジェクトが演算重ね合わせ処理であるか否かを判断する（ステップＳ２０４）。演算重ね合わせ処理である場合には、そのオブジェクトにおける該当画素の要下地描画フラグを立てる（ステップＳ２０５）。一方、演算重ね合わせ処理でない場合には、レンダリング対象のオブジェクトが透過パターンであるか否かを判断する（ステップＳ２０６）。透過パターンである場合には、そのオブジェクトにおける該当画素の要下地描画フラグを立てる（ステップＳ２０５）。
【００８８】
透過パターンでない場合には、レンダリング対象のオブジェクトと未描画フラグとを比較し、描画フラグが立っている画素のみレンダリングを行う（ステップＳ２０７）。レンダリングした後は、描画した画素の未描画フラグを下ろす（ステップＳ２０８）。
【００８９】
次に、中間コードリストの先頭（最下位）のオブジェクトまでレンダリングを完了したか否かの判断を行う（ステップＳ２０９）。完了していない場合には、ステップＳ２０４へ戻り、以降の処理を最下位のオブジェクトまで繰り返す（ステップＳ２１０）。
【００９０】
最下位のオブジェクトまで完了している場合には、要下地描画フラグが立っている画素があるか否かを判断する（ステップＳ２１１）。ない場合には処理を終了する。ある場合には、レンダリング対象のオブジェクトを中間コードリストの先頭（最下位）に設定する（ステップＳ２１２）。
【００９１】
次いで、レンダリング対象のオブジェクトと要下地描画フラグとを比較し、要下地描画フラグが立っている画素のみレンダリングを行う（ステップＳ２１３）。次に、中間コードリストの後端（最上位）のオブジェクトまでレンダリングを完了したか否かの判断を行う（ステップＳ２１４）。完了していれば処理を終了する。一方、完了していない場合には、ステップＳ２１３へ戻り、以降の処理を保存したオブジェクトまで繰り返す（ステップＳ２１５）。
【００９２】
上記第１、第２実施例の画像処理の具体例および画像処理プログラムにおいて、スキャンライン単位でレンダリングを行う構成の場合、各スキャンラインの未描画フラグおよび要下地描画フラグは、それらが連続して立っている画素領域の開始点および終了点の座標を示すエッジのリストとして表現すればよい。これにより、複数の領域を検索する際、連続的に検索され、各オブジェクトと各フラグが立っている画素との照合が高速化される。
【符号の説明】
【００９３】
１１…画像処理装置、１２…印刷データ入力部、１３…印刷データ解釈部、１４…文字生成部、１５…グラフィック変換部、１６…イメージ変換部、１７…図形分割変換部、１８…輪郭生成部、１９…文字データ記憶部、１Ａ…クリップ処理部、１Ｂ…中間コード保存部、１Ｃ…レンダリング処理部、１Ｄ…イメージ変換部、１Ｅ…中間コード保存領域、１Ｆ…圧縮イメージ保存領域、１Ｇ…印刷データ出力部、１０１…レンダリング結果格納部、１０２…未描画フラグ情報保持部、１０３…要下地フラグ情報保持部
【図１】
2010220158.tif 000003
【図２】
2010220158.tif 000004
【図３】
2010220158.tif 000005
【図４】
2010220158.tif 000006
【図５】
2010220158.tif 000007
【図６】
2010220158.tif 000008
【図７】
2010220158.tif 000009