(57)【要約】      （修正有）【課題】２値画像と単一の色値との組み合わせで表現されるオブジェクトを描画するイメージマスク描画命令を複数含む多層画像データから単層画像を生成する際の処理速度を向上させる。【解決手段】描画命令並替部１４５０は、多層画像データに含まれる複数のイメージマスク描画命令を、この多層画像データにおける描画順序とは逆の順序に並び替える。描画状態記憶部１４８０は、単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する。描画命令実行部１４７０は、描画順序が並び替えられた複数のイメージマスク描画命令を実行する際に、描画対象となった画素に対する描画処理が実行済みでない場合、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように描画状態記憶部１４８０の記憶内容を更新する。【選択図】図５
2017135489.tif 000002
【特許請求の範囲】
【請求項１】
２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付手段と、
前記多層画像データにおける前記オブジェクト描画命令を順次実行して単層画像を生成する描画命令実行手段と、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替手段と、
単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段と、を備え、
前記描画命令実行手段は、前記並替手段により描画順序が並び替えられた前記複数のオブジェクト描画命令を実行する際に、前記記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する
画像処理装置。
【請求項２】
前記描画命令実行手段は、前記多層画像データが前記オブジェクト描画命令以外の描画命令を含む場合、前記複数のオブジェクト描画命令を前記多層画像データにおける描画順序で実行する請求項１記載の画像処理装置。
【請求項３】
前記描画命令実行手段は、前記描画処理を実行する際に、前記複数のオブジェクト描画命令に対してそれぞれ識別情報を付与するとともに、前記識別情報と前記２値画像の色値とを関連付けた色テーブルを生成し、前記生成される単層画像の各画素に対して前記識別情報を書き込むことによって描画処理を行う、請求項１又は２記載の画像処理装置。
【請求項４】
前記描画命令実行手段は、前記多層画像データに含まれる全ての前記オブジェクト描画命令を、変換予定の単層画像の解像度に合わせた解像度に変換した後に描画処理を実行する請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付手段と、
前記多層画像データにおける前記オブジェクト描画命令を順次実行して単層画像を生成する描画命令実行手段と、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替手段と、
単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段と、
前記描画命令実行手段によって描画処理された単層画像に基づいて画像を形成する出力手段と、を備え、
前記描画命令実行手段は、前記並替手段により描画順序が並び替えられた前記複数のオブジェクト描画命令を実行する際に、前記記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する
画像形成装置。
【請求項６】
２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付ステップと、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替ステップと、
前記並替ステップにより描画順序が並び替えられた前記複数のオブジェクト描画命令を順次実行して単層画像を生成する際に、単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に当該画素に対して描画処理を実行し、描画処理の実行後に当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する描画命令実行ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置、および画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、画像データを重ね合わせて合成画像データを作成する画像処理装置であって、画像データの重ね合わせに使用するために階層が設定された記憶領域と、重ねあわされる画像データが前記階層のどこに書き込まれるかを示す画像有無データを画面番号毎に設定する手段とを備え、形成される画像の画面番号に対応する前記画像有無データに基づいて、前記記憶領域に画像データが書き込まれている階層の画像データを重ね合わせるように構成された画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２８６９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
形状を表現する２値画像と単一の色値との組み合わせで表現されるオブジェクトを描画するイメージマスク描画命令を複数含む多層画像データから単層画像を生成する場合、各イメージマスク描画命令は上書き描画されるような仕様となっている。したがって、イメージマスクに含まれるオブジェクト同士に重なり合う部分がある場合、一度色値が書き込まれた画素に対して再度色値を上書きする処理を行う必要があり、例えば色値を各画素にＲＧＢ各色２５６階調で書き込む場合には、各画素を上書き処理する度に８ビット×３＝２４ビット（３バイト）の色値データを書き込む必要がある。そのため、この重なり合う部分が多くなると、単層画像を生成する際の処理速度が遅くなる場合があった。
【０００５】
本発明の目的は、イメージマスク描画命令等の、２値画像と単一の色値とで表現されるオブジェクトを描画する描画命令を複数含む多層画像データから単層画像を生成する際に、イメージマスク描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させる画像処理装置、画像形成装置および画像処理プログラムを提供することである。
【課題を解決するための手段】
【０００６】
[画像処理装置]
請求項１に係る本発明は、２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付手段と、
前記多層画像データにおける前記オブジェクト描画命令を順次実行して単層画像を生成する描画命令実行手段と、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替手段と、
単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段と、を備え、
前記描画命令実行手段は、前記並替手段により描画順序が並び替えられた前記複数のオブジェクト描画命令を実行する際に、前記記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する画像処理装置である。
【０００７】
請求項２に係る本発明は、前記多層画像データが前記オブジェクト描画命令以外の描画命令を含む場合、前記複数のオブジェクト描画命令を前記多層画像データにおける描画順序で実行する請求項１記載の画像処理装置である。
【０００８】
請求項３に係る本発明は、前記描画処理を実行する際に、前記複数のオブジェクト描画命令に対してそれぞれ識別情報を付与するとともに、前記識別情報と前記２値画像の色値とを関連付けた色テーブルを生成し、前記生成される単層画像の各画素に対して前記識別情報を書き込むことによって描画処理を行う、請求項１又は２記載の画像処理装置である。
【０００９】
請求項４に係る本発明は、前記描画命令実行手段は、前記多層画像データに含まれる全ての前記オブジェクト描画命令を、変換予定の単層画像の解像度に合わせた解像度に変換した後に描画処理を実行する請求項１から３のいずれか１項に記載の画像処理装置である。
【００１０】
[画像形成装置]
請求項５に係る本発明は、２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付手段と、
前記多層画像データにおける前記オブジェクト描画命令を順次実行して単層画像を生成する描画命令実行手段と、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替手段と、
単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段と、
前記描画命令実行手段によって描画処理された単層画像に基づいて画像を形成する出力手段と、を備え、
前記描画命令実行手段は、前記並替手段により描画順序が並び替えられた前記複数のオブジェクト描画命令を実行する際に、前記記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する画像形成装置である。
【００１１】
[プログラム]
請求項６に係る本発明は、２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付ステップと、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替ステップと、
前記並替ステップにより描画順序が並び替えられた前記複数のオブジェクト描画命令を順次実行して単層画像を生成する際に、単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に当該画素に対して描画処理を実行し、描画処理の実行後に当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する描画命令実行ステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１２】
請求項１に係る本発明によれば、イメージマスク描画命令等の、２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するためのオブジェクト描画命令を複数含む多層画像データから単層画像を生成する際に、オブジェクト描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させることが可能な画像処理装置を提供することができる。
【００１３】
請求項２に記載の画像処理装置の発明によれば、多層画像データが２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するオブジェクト描画命令のみで構成される場合に、オブジェクト描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させることが可能な画像処理装置を提供することができる。
【００１４】
請求項３に記載の画像処理装置の発明によれば、単層画像の各画素に直接色値を書き込む場合に比べて、単層画像を生成する際の処理速度を向上させることが可能な画像処理装置を提供することができる。
【００１５】
請求項４に記載の画像処理装置の発明によれば、単層画像を生成した後に画像の解像度を変換する場合に比べて、解像度の異なる単層画像を生成する際の処理速度を向上させることが可能な画像処理装置を提供することができる。
【００１６】
請求項５に係る本発明によれば、イメージマスク描画命令等の２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するためのオブジェクト描画命令を複数含む多層画像データから単層画像を生成する際に、オブジェクト描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させることが可能な画像形成装置を提供することができる。
【００１７】
請求項６に係る本発明によれば、イメージマスク描画命令等の２値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するためのオブジェクト描画命令を複数含む多層画像データから単層画像を生成する際に、オブジェクト描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させることが可能なプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る画像処理システムの一例を示す図である。
【図２】多層画像、つまり多層イメージマスクの概念を示す斜視図である。
【図３】多層イメージマスクを描画するための多層画像データの一例を示す図である。
【図４】端末装置１４０のハードウェア構成を示すブロック図である。
【図５】端末装置１４０の機能構成を示すブロック図である。
【図６】多層画像データの描画処理を行って単層画像とした際の概念図である。
【図７】本実施形態の端末装置１４０によって多層画像データを単層画像として描画する処理の流れを説明したフローチャートである。
【図８】図７のステップＳ７０９におけるイメージマスク描画処理を説明するフローチャートである。
【図９】イメージマスク描画処理の一例を示す説明図である。
【図１０】本発明の一実施形態におけるイメージマスク描画処理の一例を示す説明図である。
【図１１】実際の色値をインデックス値に置き換える描画処理を行う際の色テーブルの一例を示す図である。
【発明を実施するための形態】
【００１９】
図１は、本発明の一実施形態に係る画像処理システムを示す。本実施形態の画像処理システム１０は、複合機１１０、多層画像生成装置１２０、ファイルサーバ等の記憶部１３０、パーソナルコンピュータ（以下パソコンと略す。）等の端末装置１４０を備えて構成され、それぞれがネットワーク１５０によって接続されている。
【００２０】
複合機１１０は、スキャン機能と印刷機能を有する。スキャン機能は、紙文書をスキャンした際に、そのスキャンした画像をカラー或いはグレーの多値画像データとして多層画像生成装置１２０に出力する。また、印刷機能は、端末装置１４０のプリンタドライバ１４３２から送信されてきたＲＧＢ形式の単層画像データをＣＭＹＫ形式に変換し、印刷用紙等の記録媒体上に画像形成する。
【００２１】
ユーザが複合機１１０のスキャン機能を使用して紙文書をスキャンすると、スキャンされた画像データが多層画像生成装置１２０に送信される。多層画像生成装置１２０は、スキャンされた画像データを受信すると、画像処理を行って多層画像を生成し、所定のドキュメントフォーマット形式の多層画像データに変換し、記憶部１３０に保存する。
【００２２】
ユーザは端末装置１４０を操作することによって記憶部１３０にアクセスし、記憶部１３０に保存された多層画像データを実行して画面上で画像を参照し、画像を編集して、或いは編集せずに、複合機１１０に出力して印刷する。多層画像データによって生成される画像を複合機１１０に出力して印刷する場合、画像処理装置として機能する端末装置１４０は、インストールされたプリンタドライバ１４３２を使用し、多層画像データ３０を単層画像に変換し、複合機１１０に出力する。
【００２３】
ここで、多層画像生成装置１２０は、複合機１１０から送信されてきたカラーやグレーの画像データから、自然画像等のイメージと文字および図形とに分離し、文字および図形等を、形状を表現する２値画像と単一の色値との組み合わせで表現されるオブジェクトを描画するイメージマスク描画命令と、イメージを多値画像で描画する描画命令とから構成される多層画像データを生成し、記憶部１３０に出力する。この場合、イメージマスク描画命令は、単一の色値を有する画像層（以下、イメージマスクという）毎に、形状を表現する２値画像を表すビット列データと色値との組み合わせにより表現される。複合機１１０においてスキャンされた画像の中の文字、図形が複数色存在する場合には、イメージマスクは複数存在することになる。
【００２４】
イメージマスクを多層に重ねた多層画像データはイメージマスク毎に２値画像用の可逆圧縮を施すことによって、データサイズを小さく抑えることができ、かつ文字や図形が高画質で表現できるため、保存用のデータ形式に適している。
【００２５】
この多層画像データは、複合機１１０によって紙画像をスキャンし、多層画像生成装置１２０によって生成されるだけでなく、端末装置１４０にインストールされた各種アプリケーション・プログラム１４３１によって生成されるようにしてもよい。
【００２６】
なお、多層画像生成装置１２０が差分画像形成装置の場合、例えば建設会社等において、変更前と変更後の紙図面をそれぞれ複合機１１０のスキャン機能１１１によってスキャンし、多層画像生成装置１２０において、変更前と変更後の図面を比べて差分を検出し、変更後の図面において追加された箇所、削除された箇所、および変更のない箇所の３種類の領域に分類し、それぞれ青、赤、および黒の３色のイメージマスクに分離し、各色のイマージマスクを描画するイメージマスク描画命令で構成される多層画像データが生成される。
【００２７】
なお、多層画像データが端末装置１４０のアプリケーション・プログラム１４３１によって生成される場合は、多層画像データ３０は文字や図形を描画する描画命令群から構成されることが多い。一方、多層画像データ３０が複合機１１０のスキャン機能１１１および多層画像生成装置１２０によって生成される場合には、イメージマスクを描画するイメージマスク描画命令群のみによって構成されることが多い。
【００２８】
なお、多層画像データは、多層画像生成装置１２０によって生成されたものを端末装置１４０のアプリケーション・プログラム１４３１によって編集したものであってもよい。
【００２９】
ここで、多層画像生成装置、或いは端末装置１４０のアプリケーション・プログラム１４３１によって生成される多層画像データの構造について図２、図３を用いて説明する。図２は、多層画像、つまり多層イメージマスクの概念を示す斜視図であり、下から順に「黒色」、「赤色」、「青色」のイメージマスク２１、２２、２３を含んで構成され、それぞれのイメージマスクは各色の矩形のオブジェクトを含む。図３は、この多層イメージマスクを描画するための多層画像データ３０の一例である。図３において、「StartJob」命令はジョブドキュメントの開始を示し、「EndJob」命令はジョブドキュメントの終了を示す。「StartJob」命令と、「EndJob」命令の間に挟まれた部分が、処理対象の命令となる。
【００３０】
図３においては、全１ページから構成されるページ命令構成命令が含まれる。ページ構成命令は、「StartPage」命令、「EndPage」命令が含まれ、「StargPage」命令はページの開始を示し、「EndPage」命令はページの終了を示す。「StartPage」命令には、「page_width」属性と「page_height」属性が含まれ、「page_width」属性はページの幅（単位はピクセル）を示し、「page_height」属性はページの高さ（単位はピクセル）を示している。「StartPage」命令を実行すると、幅1200×高さ900ピクセルの画像を保存する単層画像生成領域（図示せず）が端末装置１４０のメモリ１２に確保される。「StartPage」命令、「EndPage」命令の間には、文字、図形、イメージ等のオブジェクトを描画する命令が記述可能であるが、図３では、３つのイメージマスク描画命令３１〜３３のみを含んでいる。
【００３１】
「ImageMask」命令は、イメージマスク、つまり２値画像と単一の色値とで表現されるオブジェクトを描画する命令である。それぞれのイメージマスク描画命令３１〜３３は、「x」、「y」属性、「width」、「height」属性、「color」属性、および「data」属性を含む。「x」属性と「y」属性は、イメージマスクの描画を開始する位置を示している。最初のイメージマスク描画命令３１では、「x」属性は１０、「y」属性も「１０」であり、これは、イメージマスクをページの原点（本実施形態では左下）からx座標で１０ピクセル目、y座標で１０ピクセル目の位置から描画を開始することを示している。
【００３２】
「width」属性、「height」属性は、イメージマスクの幅と高さを示しており、その単位はピクセルである。「color」属性は、イメージマスクのRGB色空間内における色値を示している。最初のイメージマスク描画命令３１においては「color」属性は（00,00,00）という値で示されているが、これは、R=00、G=00、B=00、つまり「黒」を意味している。「data」属性は描画する領域内の各画素を描画するか否かを示す１ビットの情報である。具体的には、ビットが０である場合、単層画像生成領域のこのビットに対応する画素には書き込みを行わず、ビットが１である場合は、そのビットに対応する画素に「color」属性で指定された色値を書き込む。また、「data」属性には、描画する領域内の各画素の描画データを圧縮処理したものを記載してもよい。その場合には、圧縮方法を、イメージマスク描画命令中に記載しておく。
【００３３】
記憶部１３０は、上述の、多層画像生成装置１２０によって生成された多層画像データ３０を保存する。この記憶部１３０は具体的にはファイルサーバに組み込まれたハードディスクやフラッシュメモリディスク等の形をとり、本実施例においては、複合機１１０や端末装置１４０とは別体でありかつネットワーク１５０によって接続された構成をとっているが、この構成に限定される必要はなく、複合機１１０に内蔵された不揮発な記憶装置であってもよいし、端末装置１４０に内蔵されるハードディスクやフラッシュメモリディスク等の不揮発な記憶装置であってもよい。
【００３４】
次に、本実施形態の画像処理システム１０における端末装置１４０のハードウェア構成を図４に示す。
【００３５】
端末装置１４０は、図４に示されるように、ＣＰＵ１１、メモリ１２、ハードディスクドライブ（ＨＤＤ）等の記憶装置１３、ネットワーク１５０を介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース（ＩＦ）１４、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース（ＵＩ）装置１５を有する。これらの構成要素は、制御バス１６を介して互いに接続されている。
【００３６】
ＣＰＵ１１は、メモリ１２または記憶装置１３に格納された制御プログラムに基づいて所定の処理を実行し、端末装置１４０の動作を制御する。制御プログラムは、例えばプリンタドライバ１４３２である。なお、本実施形態では、ＣＰＵ１１は、メモリ１２または記憶装置１３内に格納された制御プログラムを読み出して実行するものとして説明したが、当該プログラムをＣＤ−ＲＯＭ等の記憶媒体に格納してＣＰＵ１１に提供することも可能である。
【００３７】
図５は、上記の制御プログラム、つまりプリンタドライバ１４３２が実行されることにより実現される端末装置１４０の機能構成を示すブロック図である。
【００３８】
本実施形態の端末装置１４０は、図５に示されるように、文書判定部１４４０と、描画命令並替部１４５０と、多層画像受付部１４６０と、描画命令実行部１４７０と、描画状態記憶部１４８０とを備えている。
【００３９】
なお、図３において説明した多層画像データ３０をプリンタドライバ１４３２によって処理し、単層画像とした際の概念図を図６に示す。図６では、３つの色、つまり黒色、赤色、青色の各オブジェクトが重なり合った単層の画像６０が形成されている。
【００４０】
多層画像受付部１４６０は、２値画像と単一の色値とで表現されるオブジェクトを描画するための複数のイメージマスク描画命令を含む多層画像データ３０を受付ける。
【００４１】
文書判定部１４４０は、多層画像受付部１４６０により受け付けられた多層画像データがイメージマスク描画命令以外の描画命令を含むか否かの判定を行う。
【００４２】
描画命令並替部１４５０は、文書判定部１４４０により多層画像データに含まれる全ての描画命令がイメージマスク描画命令であると判定された場合に、多層画像データに含まれる複数のイメージマスク描画命令を、この多層画像データにおける描画順序とは逆の順序に並び替える。つまり、図３に示すように１ページに３つのイメージマスク描画命令３１〜３３が含まれる場合、これらを逆順、イメージマスク描画命令３３、３２、３１の順番に並び替える。
【００４３】
なお、文書判定部１４４０により多層画像データにイメージマスク描画命令以外の描画命令が含まれると判定された場合、描画命令並替部１４５０は、多層画像受付部１４６０により受け付けられた多層画像データの描画命令の並び替え処理を実行しない。つまり、描画命令並替部１４５０は、多層画像データがイメージマスク描画命令以外の描画命令を含む場合、複数のイメージマスク描画命令を多層画像データにおける描画順序をそのまま維持する。
【００４４】
描画命令実行部１４７０は、多層画像受付部１４６０により受け付けられた多層画像データにおける複数のイメージマスク描画命令を順次実行し、メモリ１２の単層画像生成領域に単層画像を生成する。なお、描画命令並替部１４５０により多層画像データ３０に含まれる複数のイメージマスク描画命令の描画順序が並び替えられた場合には、描画命令実行部１４７０は、描画命令並替部１４５０により描画順序が並び替えられた多層画像データ３０の描画処理を実行し、描画命令並替部１４５０によって、イメージマスク描画命令の描画順序が並び替えられなかった場合には、描画命令実行部１４７０は、多層画像データ３０に含まれる当初の描画順序のまま多層画像データ３０の描画処理を実行する。
【００４５】
描画状態記憶部１４８０は、単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する。
【００４６】
そして、描画命令実行部１４７０は、描画命令並替部１４５０により描画順序が並び替えられた複数のイメージマスク描画命令を実行する際に、描画状態記憶部１４８０の記憶内容を参照して描画対象となった画素に対する描画処理が既に実行済みであるか否かを判定する。そして、描画命令実行部１４７０は、描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように描画状態記憶部１４８０の記憶内容を更新する。なお、描画対象となった画素に対する描画処理が実行済みである場合には、描画命令実行部１４７０は、その描画対象の画素に対する描画処理を実行せずに次の画素を描画対象の画素とする。
【００４７】
描画状態記憶部１４８０は、描画命令実行部１４７０によって描画対象の特定の画素に対して描画処理が行われた場合、その画素が描画処理実行済みであることを記憶する。具体的には、当該画素を表す記憶領域に、描画済みの状態を示す値を設定する。具体的には単なる２値データ、つまりフラグでよく、描画済みの場合にはフラグを「ＯＮ」にする。
【００４８】
図７は、複数のイメージマスク描画命令を含む多層画像データ３０を端末装置１４０のプリンタドライバ１４３２によって単層画像として変換し、複合機１１０に出力する処理の流れを説明したフローチャートである。多層画像受付部１４６０が多層画像データを受付けると、図７のステップＳ７０１において、描画命令実行部１４７０は、処理対象の多層画像データ３０中に、未処理のページがあるか否かを判定し、すべて処理を終えている場合には、ステップＳ７０２に進み、フォーマット処理を行う。フォーマット処理は、端末装置１４０の単層画像生成領域に生成された単層画像のデータを複合機１１０が処理できるような形式の印刷ジョブファイルに変換するものである。次いで、ステップＳ７０３に進み、生成した単層画像データを含む印刷ジョブファイルを複合機１１０に送信して処理を終える。ステップＳ７０１において、多層画像データ３０中に未処理のページがある場合にはステップＳ７０４に進む。
【００４９】
ステップＳ７０４において、文書判定部１４４０は、未処理の１ページ分の描画命令、つまり図３における「StartPage」命令から「EndPage」命令までを、描画命令を実行せずに一旦読み込み、ステップＳ７０５において、当該ページの描画命令がイメージマスク描画命令だけで構成されているか否かを判定する。
【００５０】
読み込んだ１ページ分の描画命令がイメージマスク描画命令だけでなく、他の描画命令を含んでいる場合には、ステップＳ７０６に進み、描画命令実行部１４７０は１ページ分の描画命令を、多層画像データ３０に記載された順序のまま順次実行することによって単層の画像となるように描画処理し、ステップＳ７０１の処理に戻る。
【００５１】
ステップＳ７０５において、１ページ分の描画命令がイメージマスク描画命令だけで構成されていると判定された場合、ステップＳ７０７の処理に進み、描画命令並替部１４５０が、当該ページ内のイメージマスク描画命令の順序を逆順に並べ替える。
【００５２】
次いで、ステップＳ７０８に進み、描画命令実行部１４７０は、未処理のイメージマスク描画命令があるか否かを判定し、未処理のイメージマスク描画命令がある場合にはステップＳ７０９に進んで図８において説明されるイメージマスク描画処理を行い、未処理のイメージマスク描画命令がない場合にはステップＳ７０１の処理に戻る。
【００５３】
図７のステップＳ７０９のイメージマスク描画処理はさらに図８のフローチャートに示されたステップＳ８０１〜Ｓ８０７の処理を含んでいる。ステップＳ８０１〜Ｓ８０７の処理は、各イメージマスク描画命令の「x」属性、「y」属性、「width」属性、および「height」属性で特定される領域内に該当する全ての画素毎に繰り返し行われるものである。
【００５４】
ステップＳ８０１において、描画命令実行部１４７０は、イメージマスク描画命令に含まれる「x」属性、「y」属性、「width」属性、「height」属性に基づいて、処理対象の１画素を特定する。ステップＳ８０２において、描画命令実行部１４７０は、イメージマスク描画命令に含まれる「data」属性を参照し、当該処理対象の画素が描画を行うべき画素であるか否かを判定する。描画を行うべき画素でないと判定された場合、ステップＳ８０７に進み、当該処理対象の画素に対するイメージマスク描画処理を終了し、ステップＳ８０１の処理に戻る。当該処理対象の画素が描画を行うべき画素である場合、ステップＳ８０３に進む。
【００５５】
ステップＳ８０３において、描画命令実行部１４６０は、描画状態記憶部１４８０の処理対象の画素の描画状態を示すフラグを参照し、ステップＳ８０４において処理対象の画素が未描画であるか描画済みであるかを判定する。当該処理対象の画素が描画済みであると判定された場合は、ステップＳ８０７に進み、当該処理対象の画素に対する描画処理を終了し、ステップＳ８０１の処理に戻る。当該処理対象の画素が未描画であると判定された場合は、ステップＳ８０５に進み、描画命令実行部１４７０は、単層画像生成領域の処理対象の画素に対してイメージマスク描画命令に含まれる「color」属性で指定された色値の書き込みを行う。さらに、ステップＳ８０６に進み、描画状態記憶部１４８０は、処理対象の画素が描画済みの状態であることを示す値を設定する。具体的には、フラグを「ＯＮ」にする。
【００５６】
ついで、ステップＳ８０７において、処理対象の画素に対する描画処理を終了し、ステップＳ８０１の処理に戻り、次の処理対象の１画素に対する描画処理を実行する。
【００５７】
以上、端末装置１４０のプリンタドライバ１４３２において、複数のイメージマスク描画命令を含む多層画像データ３０を単層画像に変換して出力する画像処理システムについて説明した。イメージマスク描画命令を、多層画像データ３０に記述された順序のまま実行した場合には、一度色値が書き込まれた画素に対して再度色値を上書きするという無駄な処理があり、例えば色値を各画素にＲＧＢ各色２５６階調で書き込む場合には、各画素を上書き処理する度に８ビット×３＝２４ビット（３バイト）の色値データを書き込む必要があった。一方、イメージマスク描画命令を逆順に並べ替えるとともに描画状態記憶部１４８０に各画素の描画状態を記憶させる方法であれば、各画素に対する上書き処理をしなくてもよくなり、その代わりに、描画状態、つまりそれぞれの画素が描画済みか否かを示す１ビットの情報を記憶させる処理だけで済むため、上書き処理をした場合に比べると処理速度を格段に速めることが可能となる。
【００５８】
この点を図９、図１０を用いて具体的に説明する。図９（Ａ）に示すように、黒色のイメージマスクＩＭ１、赤色のイメージマスクＩＭ２、青色のイメージマスクＩＭ３（それぞれの色の矩形のオブジェクトを含んでいる）の３層で構成される多層画像があったとする。これらイマージマスクを描画するイメージマスク描画命令を含んで構成される多層画像データ３０において、それぞれのイメージマスクを描画するイメーマスク描画命令は、黒色、赤色、青色のイメージマスクの順に記載されている（図９（Ａ）の「出現順」に対応）。従来、これらのイメージマスクは、出現順、つまり、ＩＭ１、ＩＭ２、ＩＭ３の順に処理され（図９（Ａ）の「描画順」に対応）、イメージマスクにおけるオブジェクトが互いに重なるような部分は上書き描画されていた。結果として、図９（Ｂ）に示すような、上から順に青色、赤色、黒色のオブジェクトが重なり合って描画された単層画像が生成されていた。
【００５９】
この描画処理によると、図９（Ｃ）に示すように、中央の部分は３つのオブジェクトが重なり合っているため、その部分の画素に対しては２回上書処理が行われることになり、その周囲の大部分の箇所は２つのオブジェクトが重なりあっているため、１回上書処理が行われることになり、１回だけの描画で済む領域はほんのわずかである。このように従来の描画処理方法では、イメージマスク描画命令を出現順に処理するため、複数回描画が行われる領域が存在することになり、結果として無駄な描画処理が発生していた。また、イメージマスク描画命令には、イメージを拡大、縮小、回転等といった加工処理が含まれる場合もあり、一般に図形や文字の描画に比べれば処理が遅くなる傾向がある。したがって、イメージマスク描画に重なる領域が多ければ多いほど、単層画像の生成処理には時間がかかるという問題があった。
【００６０】
しかしながら、図１０に示すように、図９（Ａ）と同様の黒色、赤色、青色の矩形のオブジェクトを含むイメージマスクＩＭ１、ＩＭ２、ＩＭ３を、出現順とは逆順に描画するなら（図１０（Ａ）の「描画順」に対応）、青色のオブジェクトが最初に描画され、次いで、赤色のオブジェクトの、青色のオブジェクトが描画されている以外の部分の画素に対する描画処理が行われ、最後に黒色のオブジェクトのうち、青色と赤色のオブジェクトが描画されている以外の部分の画素に対する描画処理が行われる。結果として、得られる単層画像は、図１０（Ｂ）に示すように、イメージマスク描画命令を出現順に処理した図９（Ｂ）の画像と同一の画像が得られるが、図１０（Ｃ）に示すように、すべての部分が１回のみの描画処理を行った領域であり、無駄な上書描画処理が不要になっていることがわかる。もちろん、この出現順とは逆順にイメージマスク描画命令を実行するためには、描画状態記憶部１４８０に、各画素が描画済みか否かを示す描画状態を記憶させる必要があるが、描画状態記憶部１４８０に描画済みか否かを示す２値データのみを書き込むだけの処理で済むため、単層画像生成領域に実際の色値を書き込む処理に比べて、書き込みに要する処理時間を少なくすることが可能となる。
【００６１】
なお、上記の実施形態においては、描画命令実行部１４７０が描画処理を実行して単層画像生成領域に書き込む単層画像データは、イメージマスク描画命令の「color」属性で指定される実際の色値である場合を説明した。しかしながら、本発明は、上記の例に限定されず、単層画像生成領域に書き込まれるデータを、実際の色値に代えて各イメージマスクに割り当てられた識別番号（識別情報）であるインデックス値としてもよい。この場合、描画命令実行部１４７０は、イメージマスク描画命令を実行する前に、各イメージマスクのそれぞれに対してインデックス値を割り当てるとともに、インデックス値と実際に描画される色値とを関連付けた色テーブルを生成し、イメージマスク描画処理命令を実行する際には単層画像生成領域の各画素にインデックス値を書き込む。
【００６２】
つまり、描画命令実行部１４７０は、多層画像データを単層画像に変換する描画処理を実行する際に、複数のイメージマスク描画命令に対してそれぞれ識別番号を付与するとともに、識別番号とイメージマスクの色値とを関連付けた色テーブルを生成し、生成される単層画像の各画素に対して識別番号を書き込むことによって描画処理を行う。
【００６３】
このような描画処理を行う際の色テーブルの一例を図１１に示す。図１１に示す色テーブル例では、４ビットで表現されたインデックス値と、ＲＧＢ各色を８ビット（２５６階調）で表現した色値とが対応付けられている。
【００６４】
このようにすることで、単層画像生成領域の各画素に直接色値を書き込む場合よりも、書き込むデータが少なくなり、多層画像データを単層画像に変換する際の処理量が削減される。例えば、各画素にＲＧＢ各色２５６階調の色値を指定できるようにした場合、各画素に８ビット×３＝２４ビット（３バイト）の情報を書き込む必要があるが、例えば１６種類のイメージマスクしかない場合、各イメージマスクに対して１つのインデックス値を割り当てれば、単層画像生成領域には４ビットの情報を書き込むだけでよいので、書き込むデータ量が６分の１となり、実際の色値を単層画像生成領域に書き込んだ場合に比べて書き込み処理が高速になる。また、書き込むデータ量が削減されるだけでなく、単層画像生成領域が専有する記憶領域も少なくて済む。
【００６５】
さらに、上記実施形態においては、図３に示す多層画像データ３０の「width」属性と「height」属性によって指定された領域内の全ての画素に対応する数の描画データが「data」属性で提供され、「width」属性と「height」属性によって指定された領域そのままの大きさの単層画像が単層画像生成領域に展開された。
【００６６】
しかしながら、複合機１１０に出力して印刷する際に、必ずしも多層画像データに指定されている大きさ、或いは多層画像データの各種属性から決まる解像度で画像を形成しなくてもよい場合もある。例えば、ページの大きさを多層画像データに指定されている大きさの半分にして出力したいというような場合、或いは、ページそのものの大きさは変えず、解像度だけを小さくしたいというような場合である。そのような場合、描画命令実行部１４７０は、イメージマスク描画命令の「data」属性に指定されたデータを、縮小アルゴリズムを用いて変換後の単層画像の画素数と等しくなるように変換し、単層画像生成領域の各画素に書き込み処理を行う。このように、各色値のイメージマスク毎に解像度の変換処理を行って単層画像生成領域に書き込みを行えば、全てのイメージマスクの描画処理を行ってから解像度の変換を行うよりも、より簡単なアルゴリズムを使用するだけで済む。
【００６７】
この場合、描画命令実行部１４７０は、多層画像データに含まれる全てのイメージマスク描画命令を、変換予定の単層画像の解像度に合わせた解像度に変換した後に描画処理を実行する。
【００６８】
なお、上記実施形態では、端末装置１４０におけるプリンタドライバ１４３２により多層画像を単層画像に変換する際の動作を説明したが、この機能を画像形成装置である複合機１１０に設けるようにすることも可能である。この場合、複合機１１０の出力部は、描画命令実行部によって描画処理された単層画像に基づいて画像を形成することになる。
【符号の説明】
【００６９】
１０    画像処理システム
１１    ＣＰＵ
１２    メモリ
１３    記憶装置
１４    通信インタフェース（ＩＦ）
１５    ユーザインタフェース（ＵＩ）装置
１６    制御バス
２１、２２、２３    イメージマスク
３０    多層画像データ
３１〜３３    イメージマスク描画命令
６０    単層画像
１１０    複合機
１２０    多層画像生成装置
１３０    記憶部１３０
１４０    端末装置
１５０    ネットワーク
１４３１    アプリケーション・プログラム
１４３２    プリンタドライバ
１４４０    文書判定部
１４５０    描画命令並替部
１４６０    多層画像受付部
１４７０    描画命令実行部
１４８０    描画状態記憶部
【図１】
2017135489.tif 000003
【図２】
2017135489.tif 000004
【図３】
2017135489.tif 000005
【図４】
2017135489.tif 000006
【図５】
2017135489.tif 000007
【図６】
2017135489.tif 000008
【図７】
2017135489.tif 000009
【図８】
2017135489.tif 000010
【図９】
2017135489.tif 000011
【図１０】
2017135489.tif 000012
【図１１】
2017135489.tif 000013