(57)【要約】【課題】アルファブレンド処理におけるＣＰＵの負荷を軽減して処理の高速化を図り、かつメモリの使用量を削減する。【解決手段】画像要素ごとの画素値とアルファ値をそれぞれランレングス形式のデータとしてデータ保持手段に保持し、合成処理部１４が、各画像要素の画素値をランレングス形式のデータのままで合成し、かつ各画像要素のアルファ値をランレングス形式のデータのままで合成する。レンダリング処理部１５が、合成後の画素値のランレングス形式のデータを伸長して合成画像のラスタデータを生成し、かつ合成後のアルファ値のランレングス形式のデータを伸長してアルファ値のラスタデータを生成する。そして、レンダリング処理部１５が、合成画像のラスタデータとアルファ値のラスタデータとを合成する。【選択図】図１
2008228168.tif 000002
【特許請求の範囲】
【請求項１】
画像要素を一次元のデータ列の集合で表現し、画素値およびその画素値の範囲、または当該画素値およびその画素値の範囲と所定のデータ保持手段に保持されている画像値配列データに対応する画素への参照およびその参照する範囲とによって個々の当該データ列を構成してなる画素値データ列を保持する画素値データ列保持手段と、
前記画像要素における画素の透明度を表す係数およびその係数の範囲、または当該係数およびその係数の範囲と所定のデータ保持手段に保持されている当該係数の係数配列データに対応する係数への参照およびその参照する範囲とによって個々の前記一次元のデータ列を構成してなる透明度データ列を保持する透明度データ列保持手段と、
前記画素値データ列保持手段に保持された前記画素値データ列に基づいて画像を生成し、前記透明度データ列保持手段に保持された前記透明度データ列に基づいて当該画像の透明度の情報を生成する画像生成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像生成手段は、前記画素値データ列における前記画素値およびその画素値の範囲、または当該画素値およびその画素値の範囲と前記参照およびその参照する範囲とにしたがって画素を並べて画像を生成し、前記透明度データ列における前記係数およびその係数の範囲、または当該係数およびその係数の範囲と前記参照およびその参照する範囲とにしたがって係数を並べて当該画像の透明度の情報を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像生成手段は、
前記画像要素ごとの前記画素値データ列と前記画像要素ごとの前記透明度データ列とを順次合成することにより合成画像の画素値データ列を生成し、当該画像要素ごとの前記透明度データ列を順次合成することにより当該合成画像の透明度データ列を生成するデータ列生成処理部と、
前記合成画像の画素値データ列における前記画素値およびその画素値の範囲、または当該画素値およびその画素値の範囲と前記参照およびその参照する範囲とにしたがって画像の画素をレンダリングし、前記透明度データ列における前記係数およびその係数の範囲、または当該係数およびその係数の範囲と前記参照およびその参照する範囲とにしたがって係数を並べて当該画像の透明度の情報をレンダリングするレンダリング処理部と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記画像生成手段は、
前記画素値データ列における前記画素値およびその画素値の範囲にしたがって画素ごとの画素値を出力する画素値出力部と、
当該画素値データ列における前記参照にしたがって前記画素値配列データから画素ごとの画素値を取得する画素値取得部と、
前記画素値出力部により出力された画素値および前記画素値取得部により取得された画素値より画像を生成する画像生成部と、
前記透明度要素データ列における前記係数とその係数の範囲にしたがって画素ごとの係数を出力する係数出力部と、
当該透明度データ列における前記参照にしたがって前記係数配列データから画素ごとの係数を取得する係数取得部と、
前記係数出力部により出力された係数および前記係数取得部により取得された係数より当該画像の透明度の情報を生成する係数生成部と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記画像生成手段は、前記画素値データ列に基づいて生成された画像に対して、前記透明度データ列に基づいて生成された当該画像の透明度の情報を用いた画像処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
画像要素を一次元のデータ列の集合で表現し、当該画像要素における画素の透明度を表す係数およびその係数の範囲、または当該係数およびその係数の範囲と所定のデータ保持手段に保持される当該係数の係数配列データに対応する画素の当該係数への参照およびその参照する範囲とによって個々の当該データ列を構成してなる透明度データ列を保持する透明度データ列保持手段と、
複数の前記画像要素に関する前記透明度データ列を順次合成し、合成画像の透明度データ列を生成する生成手段と、
前記合成画像に対して前記生成手段により生成された当該合成画像の透明度データ列を用いた画像処理を行う処理手段と
を備えることを特徴とする画像処理装置。
【請求項７】
前記処理手段は、前記合成画像の前記透明度データ列における前記係数およびその係数の範囲、または当該係数およびその係数の範囲と前記参照およびその参照する範囲とにしたがって係数を並べて当該合成画像全体に対する画素ごとの透明度の情報を生成し、生成された当該透明度の情報を当該合成画像の各画素に付与することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記処理手段は、
前記透明度要素データ列における前記係数およびその係数の範囲にしたがって画素ごとの係数を出力する係数出力部と、
前記透明度データ列における前記参照にしたがって前記係数配列データから画素ごとの係数を取得する係数取得部と、
前記係数出力部により出力された係数および前記係数取得部により取得された係数を、メモリ上に配置された前記合成画像の各画素に付与する係数配置部と
を備えることを特徴とする請求項６に記載の画像処理装置。
【請求項９】
画像要素を構成する画素の画素値を用いてランレングス符号化された画素値データおよび当該画素の透明度を表す係数を用いてランレングス符号化された透明度データを保持するデータ保持手段と、
複数の前記画像要素に関する前記画素値データを合成し、当該画像要素を合成して生成される合成画像の画素値データを生成する画素値データ生成手段と、
複数の前記画像要素に関する前記透明度データを合成し、当該画像要素を合成して生成される合成画像の透明度データを生成する透明度データ生成手段と
を備えることを特徴とする画像処理装置。
【請求項１０】
前記合成画像の画素値データを伸長する画素値データ伸長手段と、
前記合成画像の透明度データを伸長する透明度データ伸長手段と、
伸長された前記画素値データにより表される前記合成画像の各画素に対して、伸長された前記透明度データにより表される当該合成画像の該当する画素の前記係数を付与する処理手段と
をさらに備えることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
コンピュータに
１または複数の画像要素を含む画像のデータを受け付け、当該画像要素を一次元のデータ列の集合で表現し、画素値およびその画素値の範囲、または当該画素値およびその画素値の範囲と所定のデータ保持手段に保持されている画像値配列データに対応する画素への参照およびその参照する範囲とによって個々の当該データ列を構成してなる画素値データ列、および、当該画像要素を一次元のデータ列の集合で表現し、当該画像要素における画素の透明度を表す係数およびその係数の範囲、または当該係数およびその係数の範囲と所定のデータ保持手段に保持されている当該係数の係数配列データに対応する画素の当該係数への参照およびその参照する範囲とによって個々の前記一次元のデータ列を構成してなる透明度データ列を生成する処理と、
前記画像要素ごとの前記画素値データ列と前記画像要素ごとの前記透明度データ列とを順次合成することにより合成画像の画素値データ列を生成し、当該画像要素ごとの前記透明度データ列を順次合成することにより当該合成画像の透明度データ列を生成する処理と、
を実行させることを特徴とするプログラム。
【請求項１２】
コンピュータに、
１または複数の画像要素を含む画像のデータを受け付け、当該画像要素を一次元のデータ列の集合で表現し、当該画像要素における画素の透明度を表す係数およびその係数の範囲、または当該係数およびその係数の範囲と所定のデータ保持手段に保持される当該係数の係数配列データに対応する画素の当該係数への参照およびその参照する範囲とによって個々の当該データ列を構成してなる透明度データ列を生成する処理と、
複数の前記画像要素に関する前記透明度データ列を順次合成し、合成画像の透明度データ列を生成する処理と、
前記合成画像に対して当該合成画像の透明度データ列を用いた画像処理を行う処理と
を実行させることを特徴とするプログラム。
【請求項１３】
コンピュータに、
１または複数の画像要素を含む画像のデータを受け付け、当該画像要素を構成する画素の画素値を用いてランレングス符号化された画素値データおよび当該画素の透明度を表す係数を用いてランレングス符号化された透明度データを生成する処理と、
複数の前記画像要素に関する前記画素値データを合成し、当該画像要素を合成して生成される合成画像の画素値データを生成する処理と、
複数の前記画像要素に関する前記透明度データを合成し、当該画像要素を合成して生成される合成画像の透明度データを生成する処理と
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アルファブレンド処理を行う画像処理装置に関する。
【背景技術】
【０００２】
画像処理において、複数の画像を合成する場合に、係数（アルファ値）により設定される混合割合で半透明合成するアルファブレンドと呼ばれる処理が行われる場合がある。一般に、このアルファブレンド処理はＣＰＵ（Central Processing Unit）の負荷が大きく、メモリの使用量も大きい。そこで、アルファブレンド処理におけるＣＰＵの負荷を軽減し、メモリの使用量を削減するための種々の従来技術が提案されている（例えば、特許文献１、２を参照）。
【０００３】
特許文献１に記載された従来技術は、図形要素をディスプレイ装置に表示するグラフィックス表示装置に於いて、グラフィックスコマンドメモリと、スキャンライン上に表示する図形要素のスパンのスキャンライン上に於ける位置及び対応するビットマップ情報の格納アドレスを含む図形要素毎のスパンディスクリプタを、スキャンライン上に表示する図形要素の奥行きが大きいものから順番に並べたラインディスクリプタを前記ディスプレイ装置のスキャンライン毎に作成し、作成したラインディスクリプタを前記グラフィックスコマンドメモリに格納するＣＰＵと、前記グラフィックスコマンドメモリに格納されたラインディスクリプタに基づいて前記ディスプレイ装置に図形要素を表示するグラフィックスコントローラとを備えるものである。
さらに、グラフィックスコントローラは、１スキャンライン分のビットマップ情報を格納するラインバッファを備え、作成した前記スパンディスクリプタに含まれているアルファ値にしたがって、ラインバッファに格納されている１スキャンライン分のビットマップ情報と前記スパンディスクリプタに含まれている格納アドレスによって示されるビットマップ情報とのアルファブレンドを行うアルファブレンド部を備える。
【０００４】
また、特許文献２に記載された従来技術は、区間データ入力部で、描画すべき図形の区間データ及び当該図形の透過率を受け取る。透過合成処理は、透過合成処理部及び区間データ記憶部において区間データ上で行われる。画像出力部は、区間データ記憶部の区間データを読み出しながらビデオ信号等を出力して、所定の出力装置に対応したフォーマットで画像を出力する。これにより、塗りつぶし処理において上塗りだけでなく透過合成処理も行う描画処理装置に関し、ラスタを生成する以前の段階で透過合成処理を行う。
【０００５】
【特許文献１】特許第２７６８３２７号公報
【特許文献２】特開平１０−２０８４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、ランレングス形式のデータを用いない場合に比べて、アルファブレンド処理におけるＣＰＵの負荷を軽減して処理の高速化を図り、かつメモリの使用量を削減することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に係る発明は、
画像要素を一次元のデータ列の集合で表現し、画素値およびその画素値の範囲、または当該画素値およびその画素値の範囲と所定のデータ保持手段に保持されている画像値配列データに対応する画素への参照およびその参照する範囲とによって個々の当該データ列を構成してなる画素値データ列を保持する画素値データ列保持手段と、
前記画像要素における画素の透明度を表す係数およびその係数の範囲、または当該係数およびその係数の範囲と所定のデータ保持手段に保持されている当該係数の係数配列データに対応する係数への参照およびその参照する範囲とによって個々の前記一次元のデータ列を構成してなる透明度データ列を保持する透明度データ列保持手段と、
前記画素値データ列保持手段に保持された前記画素値データ列に基づいて画像を生成し、前記透明度データ列保持手段に保持された前記透明度データ列に基づいて当該画像の透明度の情報を生成する画像生成手段と
を備える。
【０００８】
請求項２に係る発明は、
前記画像生成手段は、前記画素値データ列における前記画素値およびその画素値の範囲、または当該画素値およびその画素値の範囲と前記参照およびその参照する範囲とにしたがって画素を並べて画像を生成し、前記透明度データ列における前記係数およびその係数の範囲、または当該係数およびその係数の範囲と前記参照およびその参照する範囲とにしたがって係数を並べて当該画像の透明度の情報を生成する。
【０００９】
請求項３に係る発明は、
前記画像生成手段は、
前記画像要素ごとの前記画素値データ列と前記画像要素ごとの前記透明度データ列とを順次合成することにより合成画像の画素値データ列を生成し、当該画像要素ごとの前記透明度データ列を順次合成することにより当該合成画像の透明度データ列を生成するデータ列生成処理部と、
前記合成画像の画素値データ列における前記画素値およびその画素値の範囲、または当該画素値およびその画素値の範囲と前記参照およびその参照する範囲とにしたがって画像の画素をレンダリングし、前記透明度データ列における前記係数およびその係数の範囲、または当該係数およびその係数の範囲と前記参照およびその参照する範囲とにしたがって係数を並べて当該画像の透明度の情報をレンダリングするレンダリング処理部と
を備える。
【００１０】
請求項４に係る発明は、
前記画像生成手段は、
前記画素値データ列における前記画素値およびその画素値の範囲にしたがって画素ごとの画素値を出力する画素値出力部と、
当該画素値データ列における前記参照にしたがって前記画素値配列データから画素ごとの画素値を取得する画素値取得部と、
前記画素値出力部により出力された画素値および前記画素値取得部により取得された画素値より画像を生成する画像生成部と、
前記透明度要素データ列における前記係数とその係数の範囲にしたがって画素ごとの係数を出力する係数出力部と、
当該透明度データ列における前記参照にしたがって前記係数配列データから画素ごとの係数を取得する係数取得部と、
前記係数出力部により出力された係数および前記係数取得部により取得された係数より当該画像の透明度の情報を生成する係数生成部と
を備える。
【００１１】
請求項５に係る発明は、
前記画像生成手段は、前記画素値データ列に基づいて生成された画像に対して、前記透明度データ列に基づいて生成された当該画像の透明度の情報を用いた画像処理を行う。
【００１２】
請求項６に係る発明は、
画像要素を一次元のデータ列の集合で表現し、当該画像要素における画素の透明度を表す係数およびその係数の範囲、または当該係数およびその係数の範囲と所定のデータ保持手段に保持される当該係数の係数配列データに対応する画素の当該係数への参照およびその参照する範囲とによって個々の当該データ列を構成してなる透明度データ列を保持する透明度データ列保持手段と、
複数の前記画像要素に関する前記透明度データ列を順次合成し、合成画像の透明度データ列を生成する生成手段と、
前記合成画像に対して前記生成手段により生成された当該合成画像の透明度データ列を用いた画像処理を行う処理手段と
を備える。
【００１３】
請求項７に係る発明は、
前記処理手段は、前記合成画像の前記透明度データ列における前記係数およびその係数の範囲、または当該係数およびその係数の範囲と前記参照およびその参照する範囲とにしたがって係数を並べて当該合成画像全体に対する画素ごとの透明度の情報を生成し、生成された当該透明度の情報を当該合成画像の各画素に付与する。
【００１４】
請求項８に係る発明は、
前記処理手段は、
前記透明度要素データ列における前記係数およびその係数の範囲にしたがって画素ごとの係数を出力する係数出力部と、
前記透明度データ列における前記参照にしたがって前記係数配列データから画素ごとの係数を取得する係数取得部と、
前記係数出力部により出力された係数および前記係数取得部により取得された係数を、メモリ上に配置された前記合成画像の各画素に付与する係数配置部と
を備える。
【００１５】
請求項９に係る発明は、
画像要素を構成する画素の画素値を用いてランレングス符号化された画素値データおよび当該画素の透明度を表す係数を用いてランレングス符号化された透明度データを保持するデータ保持手段と、
複数の前記画像要素に関する前記画素値データを合成し、当該画像要素を合成して生成される合成画像の画素値データを生成する画素値データ生成手段と、
複数の前記画像要素に関する前記透明度データを合成し、当該画像要素を合成して生成される合成画像の透明度データを生成する透明度データ生成手段と
を備える。
【００１６】
請求項１０に係る発明は、
前記合成画像の画素値データを伸長する画素値データ伸長手段と、
前記合成画像の透明度データを伸長する透明度データ伸長手段と、
伸長された前記画素値データにより表される前記合成画像の各画素に対して、伸長された前記透明度データにより表される当該合成画像の該当する画素の前記係数を付与する処理手段と
をさらに備える。
【００１７】
請求項１１に係る発明は、
コンピュータに
１または複数の画像要素を含む画像のデータを受け付け、当該画像要素を一次元のデータ列の集合で表現し、画素値およびその画素値の範囲、または当該画素値およびその画素値の範囲と所定のデータ保持手段に保持されている画像値配列データに対応する画素への参照およびその参照する範囲とによって個々の当該データ列を構成してなる画素値データ列、および、当該画像要素を一次元のデータ列の集合で表現し、当該画像要素における画素の透明度を表す係数およびその係数の範囲、または当該係数およびその係数の範囲と所定のデータ保持手段に保持されている当該係数の係数配列データに対応する画素の当該係数への参照およびその参照する範囲とによって個々の前記一次元のデータ列を構成してなる透明度データ列を生成する処理と、
前記画像要素ごとの前記画素値データ列と前記画像要素ごとの前記透明度データ列とを順次合成することにより合成画像の画素値データ列を生成し、当該画像要素ごとの前記透明度データ列を順次合成することにより当該合成画像の透明度データ列を生成する処理と、
を実行させる。
【００１８】
請求項１２に係る発明は、
コンピュータに、
１または複数の画像要素を含む画像のデータを受け付け、当該画像要素を一次元のデータ列の集合で表現し、当該画像要素における画素の透明度を表す係数およびその係数の範囲、または当該係数およびその係数の範囲と所定のデータ保持手段に保持される当該係数の係数配列データに対応する画素の当該係数への参照およびその参照する範囲とによって個々の当該データ列を構成してなる透明度データ列を生成する処理と、
複数の前記画像要素に関する前記透明度データ列を順次合成し、合成画像の透明度データ列を生成する処理と、
前記合成画像に対して当該合成画像の透明度データ列を用いた画像処理を行う処理と
を実行させる。
【００１９】
請求項１３に係る発明は、
コンピュータに、
１または複数の画像要素を含む画像のデータを受け付け、当該画像要素を構成する画素の画素値を用いてランレングス符号化された画素値データおよび当該画素の透明度を表す係数を用いてランレングス符号化された透明度データを生成する処理と、
複数の前記画像要素に関する前記画素値データを合成し、当該画像要素を合成して生成される合成画像の画素値データを生成する処理と、
複数の前記画像要素に関する前記透明度データを合成し、当該画像要素を合成して生成される合成画像の透明度データを生成する処理と
を実行させる。
【発明の効果】
【００２０】
請求項１に係る発明によれば、透明度データ列を画素値データ列とは別に扱うことにより、アルファブレンド処理におけるＣＰＵの負荷を軽減し、メモリの使用量を削減することができる。
請求項２に係る発明によれば、透明度データ列を画素値データ列とは別に伸長することにより、アルファブレンド処理におけるＣＰＵの負荷を軽減することができる。
請求項３に係る発明によれば、一次元のデータ列上で画素値データ列および透明度データ列をそれぞれ合成することで、アルファブレンド処理におけるＣＰＵの負荷を軽減し、メモリの使用量を削減することができる。
請求項４に係る発明によれば、二次元配列データへの参照を行うことにより、メモリの使用量を削減することができる。
請求項５に係る発明によれば、透明度の情報を持つ合成画像を出力できる。
請求項６に係る発明によれば、アルファブレンド処理におけるＣＰＵの負荷を軽減し、メモリの使用量を削減すると共に、画像要素の透明度の情報を合成し合成画像に付与することで、透明度の情報を持つ合成画像を出力できる。
請求項７に係る発明によれば、透明度データ列を画素値データ列とは別に伸長することにより、アルファブレンド処理におけるＣＰＵの負荷を軽減することができる。
請求項８に係る発明によれば、二次元配列データへの参照を行うことにより、メモリの使用量を削減することができる。
請求項９に係る発明によれば、各画像要素の画素値および透明度の情報をランレングス符号化されたデータ上で合成することにより、アルファブレンド処理におけるＣＰＵの負荷を軽減し、メモリの使用量を削減することができる。
請求項１０に係る発明によれば、画像要素の透明度の情報を合成し合成画像に付与することで、透明度の情報を持つ合成画像を出力できる。
請求項１１に係る発明によれば、かかるプログラムを実装したコンピュータにおいて、透明度データ列を画素値データ列とは別に扱うことにより、アルファブレンド処理におけるＣＰＵの負荷を軽減し、メモリの使用量を削減することができる。
請求項１２に係る発明によれば、かかるプログラムを実装したコンピュータにおいて、アルファブレンド処理におけるＣＰＵの負荷を軽減し、メモリの使用量を削減すると共に、画像要素の透明度の情報を合成し合成画像に付与することで、透明度の情報を持つ合成画像を出力できる。
請求項１３に係る発明によれば、かかるプログラムを実装したコンピュータにおいて、各画像要素の画素値および透明度の情報をランレングス符号化されたデータ上で合成することにより、アルファブレンド処理におけるＣＰＵの負荷を軽減し、メモリの使用量を削減することができる。
【発明を実施するための最良の形態】
【００２１】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、実施形態）について詳細に説明する。
図１は、本実施形態が適用される画像形成装置の構成例を示す図である。
図１に示すように、本実施形態の画像形成装置１００は、画像処理部１０と、画像形成部２０と、制御部３０と、二次記憶部４０とを備える。
【００２２】
画像処理部１０は、パーソナルコンピュータ、その他の外部装置からデータを受け付けて、画像処理を施す画像処理手段（画像処理装置）である。画像形成部２０は、画像処理部１０により処理された各色成分のデータに基づき出力画像を形成する。なお、画像形成部２０の画像形成方式としては、例えば電子写真方式やインクジェット方式等の種々の方式を用いて良い。制御部３０は、画像形成装置１００全体の動作を制御する。二次記憶部４０は、例えば磁気ディスク装置により実現され、画像処理部１０による処理や制御部３０による制御のためのプログラムやこれらの処理や制御において用いられる各種のデータ保持されている。
【００２３】
また、図１に示すように、画像処理部１０は、受付部１１と、入力バッファ１２と、ＰＤＬ解析部１３と、合成処理部１４と、レンダリング処理部１５と、色変換処理部１６と、スクリーン処理部１７とを備える。
【００２４】
受付部１１は、パーソナルコンピュータ等の外部装置から出力画像のデータと描画コマンドとを受け付ける。そして、受け付けたデータを入力バッファ１２に出力し、描画コマンドをＰＤＬ解析部１３に出力する。
出力画像のデータは、例えばＰＤＬ（Page Description Language：ページ記述言語）形式のデータとして取得される。このデータは、例えば、画素値と画像要素（オブジェクト）の属性とアルファブレンド処理に用いられるアルファ値とを含んで構成されている。画素値は、例えば所定の色空間の中で表現される画素毎の値であり、例えば所定の階調で表現される。具体的には、例えばＲＧＢ毎に各８ビット（１バイト）の階調で表現されたｓＲＧＢ色空間に属するデータ等である。なおＲＧＢとは、Ｒ（赤）、Ｇ（緑）、Ｂ（青）からなる光の３原色のことをいう。また、画像要素の属性（以下、単に「属性」という）とは、「文字」、「グラフィック」、「写真」等の画像の種類を示す情報である。また、アルファ値は、画素の透明度を表し、例えば８ビット（１バイト）でその割合を表現する。
【００２５】
ＰＤＬ解析部１３は、受付部１１から受け取った描画コマンドに応じて入力バッファ１２からデータを読み出して解析し、例えば印刷１ページ分ごとの対象データを生成する。そして、作成したデータを描画コマンドと共に合成処理部１４に出力する。
対象データは、上述した各画像要素をランレングス形式のデータの集合として表現したものである。ここで、ランレングス形式のデータとは、画素値等の値に関してランレングス符号化されたデータと、ラスタデータへの参照および参照する範囲の情報をランレングス符号化されたデータと同じデータ形式で記述したデータとを含む。本実施形態では、各画像要素の画素値に関する対象データである画素値データと、各画像要素のアルファ値に関する対象データである透明度データとが生成される。本実施形態におけるこれら対象データの詳細については後述する。
【００２６】
合成処理部１４は、各画像要素に関する画素値データを合成し、各画像要素を合成して得られる合成画像の画素値データを生成する。また、各画像要素に関する透明度データを合成し、この合成画像の透明度データを生成する。そして、生成した合成画像の対象データ（画素値データおよび透明度データ）を描画コマンドと共にレンダリング処理部１５に出力する。これら対象データの合成は、ランレングス形式のデータ上で行われる。各対象データの合成処理の詳細については後述する。
【００２７】
レンダリング処理部１５は、合成処理部１４から描画コマンドおよび対象データを取得し、取得した描画コマンドに応じて対象データをレンダリング処理し、ラスタデータに変換する。すなわち、画素値データをレンダリング処理して画素値の二次元配列による画像（ラスタデータ）を生成し、透明度データをレンダリング処理してアルファ値の二次元配列（ラスタデータ）を生成する。また、画素値データをレンダリング処理して得られた画像の各画素に、透明度データをレンダリング処理して得られた各画素のアルファ値を付与する。そして、これらの処理を経て得られたラスタデータを色変換処理部１６に出力する。本実施形態におけるレンダリング処理の詳細については後述する。
【００２８】
色変換処理部１６は、レンダリング処理部１５から取得したラスタデータを、画像形成部２０での印刷処理に用いられる表色系（例えばＹ（イエロー）Ｍ（マゼンタ）Ｃ（シアン）Ｋ（ブラック））の画像情報に色変換処理する。また、変換したデータに対して圧縮処理を行う。そして、得られたデータをスクリーン処理部１７に対して出力する。
【００２９】
スクリーン処理部１７は、色変換処理部１６から入力された色成分（ＹＭＣＫ）毎の多値のラスタデータに対してスクリーン処理を行ない、２値化する。スクリーン処理とは、網点と呼ばれる着色ドットの大きさによって擬似的に中間調画像の濃度を表わすことで、濃度階調を有する多値画像を２値画像に変換する処理である。スクリーン処理部１７は、生成した２値画像のデータを画像形成部２０に出力する。
【００３０】
図２は、本実施形態の画像処理部１０のハードウェア構成を例示する図である。
図２に示すように、画像処理部１０は、処理プログラムにしたがって演算処理を実行するＣＰＵ１０１と、ＣＰＵ１０１の作業用メモリ等として用いられるＲＡＭ（Random access memory）１０２と、ＣＰＵ１０１により実行される処理プログラム等が保持される（Read Only Memory）１０３とを備える。画像形成装置１００の起動時にＣＰＵ１０１がＲＯＭ１０３から処理プログラムを読み込むことによって、上述した本実施形態における画像処理部１０の各機能が実現される。また、画像処理部１０は、上述した機能のうち、レンダリング処理を実行するレンダリング回路１０４を備える。レンダリング回路１０４の構成については後述する。さらに、画像処理部１０は、画像形成部２０や二次記憶部４０との間での信号の入出力を制御するインターフェイス部１０５を備える。二次記憶部４０には、例えば、色変換係数、スクリーンパラメータ等が保持されている。
【００３１】
次に、本実施形態におけるランレングス形式のデータの生成処理、合成処理、レンダリング処理について詳細に説明する。
まず、ＰＤＬ解析部１３によるランレングス形式のデータの生成処理について説明する。ＰＤＬ解析部１３は、例えば図２に示したプログラム制御されたＣＰＵ１０１により実現される。
ＰＤＬ解析部１３は、例えば処理すべき画像要素の属性が「写真」であった場合、まず入力バッファ１２から読み出した出力画像のＰＤＬデータを解析して、画像要素のラスタデータ（二次元配列データ）を生成する。このラスタデータにおいて、各画素には画素値、アルファ値、属性等の情報が付加されている。生成されたラスタデータは、画像処理部１０の内部メモリ（例えば図２のＲＡＭ１０２）や二次記憶部４０により実現されるデータ保持手段に保持される。次にＰＤＬ解析部１３は、このラスタデータに基づいて、各画像要素の画素値およびアルファ値に関して、ランレングス形式のデータの集合として表現した対象データ（画素値データおよび透明度データ）を生成する。この対象データは、ランレングス符号化されたデータと、対応する画像要素のラスタデータへの参照とによって構成される。この対象データもラスタデータと共に、画像処理部１０の内部メモリ（例えば図２のＲＡＭ１０２）や二次記憶部４０により実現されるデータ保持手段に保持される。すなわち、このデータ保持手段は、画素値データ（データ列）保持手段および透明度データ（データ列）保持手段としても機能する。
【００３２】
図３は、ランレングス符号化を説明する図である。図３（ａ）は、ラスタ形式で表現された画像要素の例を示す。図３（ｂ）は、ランレングス符号化された図３（ａ）と同一の画像要素を示す。図３（ｃ）は、図３（ｂ）の１ライン分（一点鎖線で囲んだ部分）のデータ構造を示す。以下、ランレングス符号化されたデータを「ランレングスデータ」と呼ぶ。
図３に示すように、ラスタデータはドットの羅列で画像要素を表現するのに対し、ランレングスデータは画素値等の一定の値が連続的に配置される範囲（図３（ｂ）において矢印の長さで記載）によって画像要素を表現する。例えば画素値に関するランレングスデータは、図３（ｃ）に示すように、ラスタデータにおいて同一の画素値が連続する箇所を「画素値」と「繰り返し回数（画素数）」という長さ（ｒｕｎ−ｌｅｎｇｔｈ）の情報に置き換えることで生成される。図３に示したように、ランレングスデータは、ラインごとの（一次元の）データ列として生成される。
【００３３】
ランレングス符号化は、画素値等の値とその個数で画像を表現するため、一定の値が連続する場合に高い圧縮率が得られる。一方、グラデーションのように値が漸次的に変化する画像や、画素ごとに様々な値が付与されることの多い写真画像などの場合、高い圧縮率を得ることは難しい。そこで本実施形態では、このような画像に対しては、値の変わりにＰＤＬ解析部１３が生成したラスタデータへの参照アドレスを記述することにより、ランレングスデータと同様の形式（ランレングス形式）で対象データを生成する。以下、通常のランレングス符号化されたデータであるランレングスデータと、ラスタデータへの参照をランレングスデータと同形式で記述したデータとを合わせて「ランレングス形式のデータ」と呼ぶ。これらを区別する必要がある場合は、前者については「ランレングスデータ」と記載し、後者については「参照によるランレングス形式のデータ」と記載する。
【００３４】
図４は、参照によるランレングス形式のデータのデータ構造を説明する図である。図４（ａ）は参照先のラスタ形式の画像の例を示す。図４（ｂ）はランレングス形式の画像の例を示す。図４（ｃ）は、図４（ｂ）の１ライン分（一点鎖線で囲んだ部分）のデータ構造を示す。
参照によるランレングス形式のデータでは、ラスタデータを参照する範囲（図４（ｂ）において矢印の長さで記載）によって画像要素を表現する。具体的には、図４（ｃ）に示すように、参照範囲の始点に対応するラスタデータ上のアドレス（参照アドレス）とラスタデータを参照する画素の個数という長さの情報を含んで構成される（なお、付加情報には属性やアルファ値などが記述される）。図４に示す例では、画像要素の全体にわたって、図４（ａ）のラスタデータが参照される。
【００３５】
このように、ラスタデータへの参照をランレングスデータと同形式のデータ構造で表現することにより、この参照によるランレングス形式のデータもラインごとの（一次元の）データ列として生成される。したがって、各画像要素および後述する画像要素を合成して得られる画像は、一次元のデータ列の集合として表現されることとなる。
【００３６】
本実施形態では、画像要素を表す対象データとして、上述した画素値データ（画素値に関するランレングス形式のデータ）と、同様に、透明度データ（アルファ値に関するランレングス形式のデータ）を生成する。すなわち、図５に示すように、ＰＤＬデータを解析して得られた画像要素のラスタデータ（図５（ａ））から、画素値データと透明度データという２種類のランレングス形式の対象データ（図５（ｂ）、（ｃ））が得られることとなる。
【００３７】
次に、合成処理部１４による合成処理について説明する。
本実施形態の合成処理部１４は、例えば図２に示したプログラム制御されたＣＰＵ１０１により実現される。そして上述したように、ＰＤＬ解析部１３により生成された上記の対象データ（画素値データおよび透明度データ）を、ランレングス形式のデータ上で（すなわちラスタデータに展開することなく）合成する。すなわち、合成処理部１４は、画像要素ごとの画素値データを合成して合成画像の画素値データを生成する生成手段として機能し、かつ画像要素ごとの透明度データを合成して合成画像の透明度データを生成する生成手段として機能する。
【００３８】
図６は、複数の画像要素が合成された画像の例およびそのランレングス形式のデータを示す図である。
図６（ａ）に示す例では、背景画像を最下層の下地として、写真６０１、文字６０２、グラフィック６０３の各画像要素が、この順番で重ね合わされ合成されているものとする。なお、背景画像の属性はグラフィックとする。図６（ｂ）は、図６（ａ）の画像を表すランレングス形式のデータの集合を示す。図６（ｂ）において、始点が三角形の矢印は背景画像の範囲を示し、始点が丸の矢印は写真６０１の画像要素の範囲を示し、始点が四角形の矢印は文字６０２の画像要素の範囲を示す。また、始点が白抜きの図形の範囲は、半透明の図形（グラフィック６０３）が重ね合わされている。
【００３９】
図７は、図６（ｂ）の所定の１ライン（一点鎖線で囲んだ部分）において、画素値に関して、ランレングス形式のデータ上で画像要素を合成する様子を示す図である。図７（ａ）〜（ｄ）において、各矢印と画像要素との関係は図６と同様であるが、始点が菱形の矢印はグラフィック６０３の画像要素の範囲を示す。この矢印は始点が白抜きで図示されており、半透明の画像要素であることを示している。すなわち、グラフィック６０３の透明度（アルファ値）は、０から１の間の値である。これに対し、写真６０１および文字６０２の透明度は、共に１である。
【００４０】
画素値をアルファブレンド処理によって合成する場合、合成後の画素値Ｄ’は、例えば次式で計算される。
Ｄ’＝（Ｓ×Ｓα＋Ｄ×（１−Ｓα）×Ｄα）÷Ｄ’α      ・・・（１）
ここで、Ｄは下地の画素値（ベクタ、Ｄ（Ｒ，Ｇ，Ｂ）など）、Ｄαは下地の透明度、Ｓは上地（描画オブジェクト）の画素値（ベクタ、Ｓ（Ｒ，Ｇ，Ｂ）など）、Ｓαは下地の透明度である。また、Ｄ’αは合成後の透明度であり、例えば次式で計算される。
Ｄ’α＝Ｓα＋Ｄα×（１−Ｓα）      ・・・（２）
【００４１】
図７（ａ）は、１ライン分のランレングス形式のデータとして背景画像のみが記述された状態を示している。
図７（ｂ）は、背景画像を下地として写真６０１のランレングス形式のデータが重畳された状態を示している。ここで、上地である写真６０１の透明度（Ｓα）は１であるから、（１）式より、Ｄ’＝Ｓとなり、写真６０１のデータが上書きされることとなる。
図７（ｃ）は、図７（ｂ）の合成画像を下地として文字６０２のランレングス形式のデータが重畳された状態を示している。ここでも、上地の文字６０２の透明度（Ｓα）が１なので、文字６０２のデータが上書きされることとなる。
図７（ｄ）は、図７（ｃ）の合成画像を下地としてグラフィック６０３のランレングス形式のデータが重畳された状態を示している。この場合、上地であるグラフィック６０３の透明度（Ｓα）は０から１の間の値なので、グラフィック６０３が重畳される範囲の画素値は、（１）式で計算された値Ｄ’となる。図７（ｄ）では、グラフィック６０３が重畳された範囲に対して、始点の図形（写真６０１は丸、文字６０２は四角形）を白抜きにして、他の画像要素が重畳されていることを表している。
【００４２】
以上のように、ランレングス形式のデータ上で画像要素の合成を行うことにより、各画像要素を合成するたびに合成画像のデータを、データ保持手段（例えば図２のＲＡＭ１０２や二次記憶部４０）にコピーする必要がなくなる。そのため、各画像要素を合成するたびに合成画像のデータを生成する手法と比べて、処理に要するメモリの使用量が少なくて済む。また、データ保持手段へのアクセス回数が減り、処理に要する時間も短縮される。
ただし図７（ｄ）の場合、グラフィック６０３が重畳される範囲の個々の画素について画素値を合成するためには、ラスタデータ上で画素ごとに個別に（１）式による計算を行う必要がある。しかしながら、この場合であっても、そのような合成画像のラスタデータを新たに生成する必要はなく、ＰＤＬ解析部１３により生成されたラスタデータ上で合成すれば良い。したがって、各画像要素を合成するたびに合成画像のデータを生成する手法と比べて、処理に要するメモリの使用量は少なくて済む。
【００４３】
図１２は、ラスタデータ上での合成と参照の関係を説明する図である。
図１２に示す例では、ＰＤＬ解析部１３により生成された画像要素Ａ〜Ｃのラスタデータ１２０１〜１２０３があり、画像要素Ａを下地として画像要素Ｂを重ね、さらにこの合成画像を下地として画像要素Ｃを重ねている。画像要素Ｂの合成は半透明合成、画像要素Ｃの合成は上書きである。ここで、画像要素Ａに画像要素Ｂ（破線部分）を重ねる場合に着目する。この場合、画像要素Ａのラスタデータ１２０１の該当箇所の画素値が（１）式で計算された値Ｄ’に書き換えられることにより、ラスタデータ１２０１がラスタデータ１２０４に変換される。
【００４４】
図８は、図７と同じ図６（ｂ）の１ライン（一点鎖線で囲んだ部分）において、アルファ値に関して、ランレングス形式のデータ上で画像要素を合成する様子を示す図である。図８（ａ）〜（ｄ）において、各矢印と画像要素との関係は図６および図７と同様であるが、図７に示した画素値の範囲を表す矢印と区別するため、矢印の頭部を白抜きで表している。また、図７の場合と同様に、グラフィック６０３の透明度は０から１の間の値、写真６０１および文字６０２の透明度は１である。
【００４５】
図８（ａ）は、１ライン分のランレングス形式のデータとして背景画像のみが記述された状態を示している。ここで、背景画像の透明度は０とする。すなわち、背景画像に対して重ね合わされる全ての画像要素は、背景画像に上書きされることとなる。
図８（ｂ）は、背景画像を下地として写真６０１のランレングス形式のデータが重畳された状態を示している。ここで、上地である写真６０１の透明度（Ｓα）は１であるから、（２）式より、写真６０１のデータが重畳された範囲の透明度（Ｄ’α）は１となる。
図８（ｃ）は、図８（ｂ）の合成画像を下地として文字６０２のランレングス形式のデータが重畳された状態を示している。ここでも、上地の文字６０２の透明度（Ｓα）が１なので、（２）式より、文字６０２のデータが重畳された範囲の透明度（Ｄ’α）は１となる。
図８（ｄ）は、図８（ｃ）の合成画像を下地としてグラフィック６０３のランレングス形式のデータが重畳された状態を示している。この場合、上地であるグラフィック６０３の透明度（Ｓα）は０から１の間の値なので、グラフィック６０３が重畳される範囲の透明度は、（２）式で計算された値Ｄ’αとなる。ただし、図８（ｂ）、（ｃ）の結果より下地の透明度（Ｄα）が１であるため、ここでは（２）式より、Ｄ’α＝１である。図８（ｄ）では、図７（ｄ）と同様に、グラフィック６０３が重畳された範囲に対して、始点の図形（写真６０１は丸、文字６０２は四角形）を白抜きにして、他の画像要素が重畳されていることを表している。
【００４６】
図９は、ランレングス形式のデータの構成例を示す図である。
図９に示すデータ構成例では、図７（ｄ）に示したランレングス形式のデータにおける画像要素（背景画像を含む）ごとに、次の４つのフィールド９０１〜９０４が設けられている。フィールド９０１には連続画素か画素参照かを識別するための情報が記録されている。これは、データ種別、すなわちランレングス符号化されたデータ（ランレングスデータ）か、ラスタデータへの参照アドレスを記述したランレングス形式のデータかを識別するための情報である。図９の例では、前者に「連続画素」、後者に「画素参照」と記載されている。また、フィールド９０２には範囲を示す連続画素数が、フィールド９０３には画素値または参照アドレスが、フィールド９０４には画像要素の属性が、それぞれ記録されている。なお、ここでは、画素値に関するランレングス形式のデータ（画素値データ）の構成例を図示しているが、アルファ値に関するランレングス形式のデータ（透明度データ）も同様の構成である。ただし、透明度データでは、フィールド９０３にはアルファ値または参照アドレスが記録されることとなる。
【００４７】
図９のデータ構成のフィールド９０２、９０４を参照すると、ラインの始点（左端）から順に６画素がグラフィック（背景画像）、次の５画素が写真６０１、次の３画素が写真６０１、次の３画素が文字６０２、次の２画素が写真６０１、次の２画素が文字６０２、次の５画素が写真６０１、最後の６画素がグラフィック（背景画像）であることがわかる。グラフィック（背景画像）と文字６０２については、画素値が一定であるので、ランレングス符号化されたデータ（ランレングスデータ）となっている（フィールド９０１が「連続画素」）。一方、写真６０１については、ラスタデータの画素値を参照することが必要なので、フィールド９０３に参照アドレス（ラスタデータにおける対応する画素のアドレス）が記述されたランレングス形式のデータとなっている（フィールド９０１が「画素参照」）。ここで、２段目と３段目は同じ写真６０１であるが、３段目はグラフィック６０３が合成された範囲であるため、２段目とは区別されている。図示の例では、同じ写真６０１の画像要素であるが、合成によって画像要素の属性が変わる場合（上地の属性が設定される場合など）があるため、別個に記載している。
【００４８】
図１０は、画素値に関する１ページ分の画像全体のデータ構成例を示す図である。
図１０に示すデータ構成は、１ページ分の画像全体に対応する各ラインのランレングス形式のデータ（画素値データ）と、全ラインの先頭アドレスのリストとで構成される。図１０の各ラインにおけるランレングス形式のデータに含まれる「付加情報」のフィールドには、図９のフィールド９０４に示したように、画像要素の属性等の情報が記録される。
【００４９】
図１１は、透明度（アルファ値）に関する１ページ分の画像全体のデータ構成例を示す図である。
図１１に示すデータ構成は、１ページ分の画像全体に対応する各ラインのランレングス形式のデータ（透明度データ）と、全ラインの先頭アドレスのリストとで構成される。ランレングス形式の各透明度データは、図９に示した画素値データと同様に構成される。図１１の各ラインにおけるランレングス形式のデータに含まれる「付加情報」のフィールドには、画像要素の属性等の情報が記録される。また、画像要素によっては透明度が連続的に変化したり画素ごとに様々な値を取ったりする場合がある。このような画像要素については、画素値の場合と同様に、ＰＤＬ解析部１３により生成されたラスタデータまたは合成処理部１４による合成処理の過程で変換された合成画像のラスタデータにおける対応画素の透明度（アルファ値）が参照される（図１１の画素参照の範囲）。
【００５０】
以上のようにしてランレングス形式のデータごとに合成された対象データ（画素値データおよび透明度データ）は、画像処理部１０の内部メモリ（例えば図２のＲＡＭ１０２）や二次記憶部４０により実現されるデータ保持手段に保持される。
なお、上述したランレングス形式のデータおよび１ページ分の画像全体のデータ構成は例示に過ぎず、同様の情報を包含する他のデータ構成も取り得る。
【００５１】
ここで、上述した図１２を参照して、ラスタデータの参照について説明する。
上述したように、画像要素Ａと画像要素Ｂが半透明合成された結果、ラスタ画像１２０１は合成画像のラスタデータ１２０４に変換されている。この場合、最終的な合成画像１２０５を生成する際は、上書きされた画像要素Ｃに関してはラスタデータ１２０３が参照され、その他の部分についてはラスタデータ１２０４が参照される。ラスタデータ１２０４の画像要素Ｂが重ねられた部分については、上述したようにアルファブレンド処理にて計算された値（画素値およびアルファ値）となっているので、単純にラスタデータ１２０４の該当アドレスを参照すれば、合成後の値が得られることとなる。
【００５２】
以上説明したＰＤＬ解析部１３および合成処理部１４の機能をＣＰＵ１０１にて実現するためのプログラムは、画像形成装置１００を構成する画像処理部１０のＲＯＭ１０３に予め記録される他、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に記録して配布したり、ネットワークを介して配信したりすることによって提供しても良い。
【００５３】
次に、レンダリング処理部１５によるレンダリング処理について説明する。
レンダリング処理部１５は、上記のようにして生成されたランレングス形式のデータに基づいて画像を生成する画像生成手段である。本実施形態では、図１０および図１１に示したようにランレングス形式のデータ上で合成された画像のデータを用い、ＡＳＩＣ（Application Specific Integrated Circuit）等として実現されるハードウェア（例えば図２に示したレンダリング回路１０４）にてレンダリング処理を行う。
【００５４】
図１３は、本実施形態のレンダリング処理部１５（レンダリング回路１０４）のハードウェア構成の例を示す図である。
図１３に示すように、レンダリング処理１５は、画素値出力部１５１と、画素値取得部１５２と、セレクタ１５３と、アルファ値出力部１５４と、アルファ値取得部１５５と、セレクタ１５６と、描画部１５７とを備える。なお、図１３において、ランレングス形式のデータおよび各ラインの先頭アドレスのリスト、ＰＤＬ解析部１３により生成されたラスタデータ、色変換処理部１６から出力される印刷用画像のデータ等が、単一のデータ保持手段に保持されている。しかし、これは単にデータ保持手段が各種の記憶装置（例えば図２のＲＡＭ１０２や二次記憶部４０）の作業領域にて実現されることを意味するに過ぎず、物理的に単一のメモリで実現されることを意味するものではない。
【００５５】
画素値出力部１５１は、例えばＤＭＡ（Direct Memory Access）にて実現される。画素値出力部１５１は、画像処理部１０の内部メモリ（例えば図２のＲＡＭ１０２）や二次記憶部４０により実現されるデータ保持手段に保持されている画素値データを読み出す。そして、データ種別が「連続画素」であるものについて、図９のフィールド９０３に記述されている画素値を、フィールド９０２に記述されている画素数分だけ出力する。これにより、ランレングスデータである画素値データが伸長される。また、画素値出力部１５１は、読み出した画素値データのうちデータ種別が「画素参照」であるものを画素値取得部１５２に渡す。
【００５６】
画素値取得部１５２は、例えばＤＭＡにて実現される。画素値取得部１５２は、画素値出力部１５１から受け取った画素値データのフィールド９０３に記述されている参照アドレスに基づき、データ保持手段の該当アドレスを参照する。そして、フィールド９０２に記述されている画素数にしたがって、参照アドレスに位置するラスタデータの画素から並ぶ当該画素数分の画素の画素値を読み出して出力する。
【００５７】
セレクタ１５３は、画素値出力部１５１および画素値取得部１５２から出力された画素値を受け付け、順次描画部１５７へ送る。これにより、ランレングスデータから伸長された画素値とデータ保持手段のラスタデータから読み出された画素値とが融合して１ページ分の画素値が得られる。
画素値出力部１５１、画素値取得部１５２およびセレクタ１５３により、画素値データを伸長する画素値データ伸長手段として機能する。
【００５８】
アルファ値出力部１５４は、例えばＤＭＡにて実現される。アルファ値出力部１５４は、データ保持手段に保持されている透明度データを読み出す。そして、データ種別が「連続画素」であるものについて、図９のフィールド９０３に記述されているアルファ値を、フィールド９０２に記述されている画素数分だけ出力する。これにより、ランレングスデータである透明度データが伸長される。また、アルファ値出力部１５４は、読み出した透明度データのうちデータ種別が「画素参照」であるものをアルファ値取得部１５５に渡す。
【００５９】
アルファ値取得部１５５は、例えばＤＭＡにて実現される。アルファ値取得部１５５は、アルファ値出力部１５４から受け取った透明度データのフィールド９０３に記述されている参照アドレスに基づき、データ保持手段の該当アドレスを参照する。そして、フィールド９０２に記述されている画素数にしたがって、参照アドレスに位置するラスタデータの画素から並ぶ当該画素数分の画素のアルファ値を読み出して出力する。
【００６０】
セレクタ１５６は、アルファ値出力部１５４およびアルファ値取得部１５５から出力されたアルファ値を受け付け、順次描画部１５７へ送る。これにより、ランレングスデータから伸長されたアルファ値とデータ保持手段のラスタデータから読み出されたアルファ値とが融合して１ページ分の画素ごとのアルファ値が得られる。
アルファ値出力部１５４、アルファ値取得部１５５およびセレクタ１５６により、透明度データを伸長する透明度データ伸長手段として機能する。
【００６１】
描画部１５７は、セレクタ１５３を介して受け付けた画素値と、セレクタ１５６を介して受け付けたアルファ値とを合成（アルファブレンド処理）して、色変換処理部１６へ出力する。すなわち、描画部１５７は、画素値データに基づいて画像を生成し、透明度データに基づいて画像に透明度の情報（アルファ値）を付与する処理手段として機能する。
【００６２】
ここで、描画部１５７による合成（アルファブレンド処理）は、例えば合成画像のラスタデータの各画素に対する次の演算により行われる。
合成後の画素値＝α×合成前の画素値＋（１−α）×白色
ここで、αは当該画素のアルファ値である。また、白色は背景色を白色（通常の印刷用紙の色）と想定したものである。
【００６３】
なお、描画部１５７は、合成画像のラスタデータとアルファ値のラスタデータとを合成することとしたが、アルファ値のラスタデータの代わりに、他の画像データを背景画像に設定し、これと合成画像のラスタデータとを合成（アルファブレンド処理）しても良い。これにより、差込印刷などを行っても良い。
【００６４】
なお、描画部１５７は、合成画像のラスタデータとアルファ値のラスタデータとを合成することとしたが、必ずしも合成するする必要はなく、合成しない場合は合成画像のラスタデータとアルファ値のラスタデータをそのまま出力しても良い。
【００６５】
色変換処理部１６は、必要に応じて、前記合成画像の色空間を変更し、画像形成部の要求する色空間に変換する。例えば、Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、Ｋ（ブラック）である。また、色変換の機能と共に、または色変換の機能に代えて、データ圧縮等の他の機能を設けても良い。
【００６６】
なお、描画部１５７の出力データを、何も変換せずに、データ保持手段に出力しても良い。この場合、出力画像、または出力画像と透明度データを１つの前記画像要素として扱い、再度本実施形態による画像処理を行っても良い。
【図面の簡単な説明】
【００６７】
【図１】本実施形態が適用される画像形成装置の構成例を示す図である。
【図２】本実施形態の画像処理部のハードウェア構成を例示する図である。
【図３】ランレングス符号化を説明する図である。
【図４】本実施形態で用いられる参照によるランレングス形式のデータのデータ構造を説明する図である。
【図５】本実施の形態で生成される対象データを示す図である。
【図６】複数の画像要素が合成された画像の例およびそのランレングス形式のデータを示す図である。
【図７】図６（ｂ）の所定の１ライン（一点鎖線で囲んだ部分）において、画素値に関して、ランレングス形式のデータ上で画像要素を合成する様子を示す図である。
【図８】図７と同じ図６（ｂ）の１ライン（一点鎖線で囲んだ部分）において、アルファ値に関して、ランレングス形式のデータ上で画像要素を合成する様子を示す図である。
【図９】ランレングス形式のデータの構成例を示す図である。
【図１０】画素値に関する１ページ分の画像全体のデータ構成例を示す図である。
【図１１】透明度（アルファ値）に関する１ページ分の画像全体のデータ構成例を示す図である。
【図１２】本実施形態におけるラスタデータ上での合成と参照の関係を説明する図である。
【図１３】本実施形態のレンダリング処理部のハードウェア構成の例を示す図である。
【符号の説明】
【００６８】
１０…画像処理部、１１…受付部、１２…入力バッファ、１３…ＰＤＬ解析部、１４…合成処理部、１５…レンダリング処理部、１６…色変換処理部、１７…スクリーン処理部、２０…画像形成部、３０…制御部、４０…二次記憶部、１００…画像形成装置、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…レンダリング回路、１０５…インターフェイス部、１５１…画素値出力部、１５２…画素値取得部、１５３、１５６…セレクタ、１５４…アルファ値出力部、１５５…アルファ値取得部、１５７…描画部
【図１】
2008228168.tif 000003
【図２】
2008228168.tif 000004
【図３】
2008228168.tif 000005
【図４】
2008228168.tif 000006
【図５】
2008228168.tif 000007
【図６】
2008228168.tif 000008
【図７】
2008228168.tif 000009
【図８】
2008228168.tif 000010
【図９】
2008228168.tif 000011
【図１０】
2008228168.tif 000012
【図１１】
2008228168.tif 000013
【図１２】
2008228168.tif 000014
【図１３】
2008228168.tif 000015