JP2017135489A - 画像処理装置、画像形成装置、および画像処理プログラム - Google Patents

画像処理装置、画像形成装置、および画像処理プログラム Download PDF

Info

Publication number
JP2017135489A
JP2017135489A JP2016012064A JP2016012064A JP2017135489A JP 2017135489 A JP2017135489 A JP 2017135489A JP 2016012064 A JP2016012064 A JP 2016012064A JP 2016012064 A JP2016012064 A JP 2016012064A JP 2017135489 A JP2017135489 A JP 2017135489A
Authority
JP
Japan
Prior art keywords
image
pixel
image data
multilayer
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016012064A
Other languages
English (en)
Inventor
洋三 鹿島
Yozo Kashima
洋三 鹿島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2016012064A priority Critical patent/JP2017135489A/ja
Publication of JP2017135489A publication Critical patent/JP2017135489A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】2値画像と単一の色値との組み合わせで表現されるオブジェクトを描画するイメージマスク描画命令を複数含む多層画像データから単層画像を生成する際の処理速度を向上させる。
【解決手段】描画命令並替部1450は、多層画像データに含まれる複数のイメージマスク描画命令を、この多層画像データにおける描画順序とは逆の順序に並び替える。描画状態記憶部1480は、単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する。描画命令実行部1470は、描画順序が並び替えられた複数のイメージマスク描画命令を実行する際に、描画対象となった画素に対する描画処理が実行済みでない場合、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように描画状態記憶部1480の記憶内容を更新する。
【選択図】図5

Description

本発明は、画像処理装置、画像形成装置、および画像処理プログラムに関する。
特許文献1には、画像データを重ね合わせて合成画像データを作成する画像処理装置であって、画像データの重ね合わせに使用するために階層が設定された記憶領域と、重ねあわされる画像データが前記階層のどこに書き込まれるかを示す画像有無データを画面番号毎に設定する手段とを備え、形成される画像の画面番号に対応する前記画像有無データに基づいて、前記記憶領域に画像データが書き込まれている階層の画像データを重ね合わせるように構成された画像処理装置が開示されている。
特開2005−286957号公報
形状を表現する2値画像と単一の色値との組み合わせで表現されるオブジェクトを描画するイメージマスク描画命令を複数含む多層画像データから単層画像を生成する場合、各イメージマスク描画命令は上書き描画されるような仕様となっている。したがって、イメージマスクに含まれるオブジェクト同士に重なり合う部分がある場合、一度色値が書き込まれた画素に対して再度色値を上書きする処理を行う必要があり、例えば色値を各画素にRGB各色256階調で書き込む場合には、各画素を上書き処理する度に8ビット×3=24ビット(3バイト)の色値データを書き込む必要がある。そのため、この重なり合う部分が多くなると、単層画像を生成する際の処理速度が遅くなる場合があった。
本発明の目的は、イメージマスク描画命令等の、2値画像と単一の色値とで表現されるオブジェクトを描画する描画命令を複数含む多層画像データから単層画像を生成する際に、イメージマスク描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させる画像処理装置、画像形成装置および画像処理プログラムを提供することである。
[画像処理装置]
請求項1に係る本発明は、2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付手段と、
前記多層画像データにおける前記オブジェクト描画命令を順次実行して単層画像を生成する描画命令実行手段と、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替手段と、
単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段と、を備え、
前記描画命令実行手段は、前記並替手段により描画順序が並び替えられた前記複数のオブジェクト描画命令を実行する際に、前記記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する画像処理装置である。
請求項2に係る本発明は、前記多層画像データが前記オブジェクト描画命令以外の描画命令を含む場合、前記複数のオブジェクト描画命令を前記多層画像データにおける描画順序で実行する請求項1記載の画像処理装置である。
請求項3に係る本発明は、前記描画処理を実行する際に、前記複数のオブジェクト描画命令に対してそれぞれ識別情報を付与するとともに、前記識別情報と前記2値画像の色値とを関連付けた色テーブルを生成し、前記生成される単層画像の各画素に対して前記識別情報を書き込むことによって描画処理を行う、請求項1又は2記載の画像処理装置である。
請求項4に係る本発明は、前記描画命令実行手段は、前記多層画像データに含まれる全ての前記オブジェクト描画命令を、変換予定の単層画像の解像度に合わせた解像度に変換した後に描画処理を実行する請求項1から3のいずれか1項に記載の画像処理装置である。
[画像形成装置]
請求項5に係る本発明は、2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付手段と、
前記多層画像データにおける前記オブジェクト描画命令を順次実行して単層画像を生成する描画命令実行手段と、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替手段と、
単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段と、
前記描画命令実行手段によって描画処理された単層画像に基づいて画像を形成する出力手段と、を備え、
前記描画命令実行手段は、前記並替手段により描画順序が並び替えられた前記複数のオブジェクト描画命令を実行する際に、前記記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する画像形成装置である。
[プログラム]
請求項6に係る本発明は、2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付ステップと、
前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替ステップと、
前記並替ステップにより描画順序が並び替えられた前記複数のオブジェクト描画命令を順次実行して単層画像を生成する際に、単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に当該画素に対して描画処理を実行し、描画処理の実行後に当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する描画命令実行ステップとをコンピュータに実行させるためのプログラムである。
請求項1に係る本発明によれば、イメージマスク描画命令等の、2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するためのオブジェクト描画命令を複数含む多層画像データから単層画像を生成する際に、オブジェクト描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させることが可能な画像処理装置を提供することができる。
請求項2に記載の画像処理装置の発明によれば、多層画像データが2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するオブジェクト描画命令のみで構成される場合に、オブジェクト描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させることが可能な画像処理装置を提供することができる。
請求項3に記載の画像処理装置の発明によれば、単層画像の各画素に直接色値を書き込む場合に比べて、単層画像を生成する際の処理速度を向上させることが可能な画像処理装置を提供することができる。
請求項4に記載の画像処理装置の発明によれば、単層画像を生成した後に画像の解像度を変換する場合に比べて、解像度の異なる単層画像を生成する際の処理速度を向上させることが可能な画像処理装置を提供することができる。
請求項5に係る本発明によれば、イメージマスク描画命令等の2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するためのオブジェクト描画命令を複数含む多層画像データから単層画像を生成する際に、オブジェクト描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させることが可能な画像形成装置を提供することができる。
請求項6に係る本発明によれば、イメージマスク描画命令等の2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するためのオブジェクト描画命令を複数含む多層画像データから単層画像を生成する際に、オブジェクト描画命令を多層画像データに記述された順序のまま実行した場合に比べて、単層画像を生成する際の処理速度を向上させることが可能なプログラムを提供することができる。
本発明の一実施形態に係る画像処理システムの一例を示す図である。 多層画像、つまり多層イメージマスクの概念を示す斜視図である。 多層イメージマスクを描画するための多層画像データの一例を示す図である。 端末装置140のハードウェア構成を示すブロック図である。 端末装置140の機能構成を示すブロック図である。 多層画像データの描画処理を行って単層画像とした際の概念図である。 本実施形態の端末装置140によって多層画像データを単層画像として描画する処理の流れを説明したフローチャートである。 図7のステップS709におけるイメージマスク描画処理を説明するフローチャートである。 イメージマスク描画処理の一例を示す説明図である。 本発明の一実施形態におけるイメージマスク描画処理の一例を示す説明図である。 実際の色値をインデックス値に置き換える描画処理を行う際の色テーブルの一例を示す図である。
図1は、本発明の一実施形態に係る画像処理システムを示す。本実施形態の画像処理システム10は、複合機110、多層画像生成装置120、ファイルサーバ等の記憶部130、パーソナルコンピュータ(以下パソコンと略す。)等の端末装置140を備えて構成され、それぞれがネットワーク150によって接続されている。
複合機110は、スキャン機能と印刷機能を有する。スキャン機能は、紙文書をスキャンした際に、そのスキャンした画像をカラー或いはグレーの多値画像データとして多層画像生成装置120に出力する。また、印刷機能は、端末装置140のプリンタドライバ1432から送信されてきたRGB形式の単層画像データをCMYK形式に変換し、印刷用紙等の記録媒体上に画像形成する。
ユーザが複合機110のスキャン機能を使用して紙文書をスキャンすると、スキャンされた画像データが多層画像生成装置120に送信される。多層画像生成装置120は、スキャンされた画像データを受信すると、画像処理を行って多層画像を生成し、所定のドキュメントフォーマット形式の多層画像データに変換し、記憶部130に保存する。
ユーザは端末装置140を操作することによって記憶部130にアクセスし、記憶部130に保存された多層画像データを実行して画面上で画像を参照し、画像を編集して、或いは編集せずに、複合機110に出力して印刷する。多層画像データによって生成される画像を複合機110に出力して印刷する場合、画像処理装置として機能する端末装置140は、インストールされたプリンタドライバ1432を使用し、多層画像データ30を単層画像に変換し、複合機110に出力する。
ここで、多層画像生成装置120は、複合機110から送信されてきたカラーやグレーの画像データから、自然画像等のイメージと文字および図形とに分離し、文字および図形等を、形状を表現する2値画像と単一の色値との組み合わせで表現されるオブジェクトを描画するイメージマスク描画命令と、イメージを多値画像で描画する描画命令とから構成される多層画像データを生成し、記憶部130に出力する。この場合、イメージマスク描画命令は、単一の色値を有する画像層(以下、イメージマスクという)毎に、形状を表現する2値画像を表すビット列データと色値との組み合わせにより表現される。複合機110においてスキャンされた画像の中の文字、図形が複数色存在する場合には、イメージマスクは複数存在することになる。
イメージマスクを多層に重ねた多層画像データはイメージマスク毎に2値画像用の可逆圧縮を施すことによって、データサイズを小さく抑えることができ、かつ文字や図形が高画質で表現できるため、保存用のデータ形式に適している。
この多層画像データは、複合機110によって紙画像をスキャンし、多層画像生成装置120によって生成されるだけでなく、端末装置140にインストールされた各種アプリケーション・プログラム1431によって生成されるようにしてもよい。
なお、多層画像生成装置120が差分画像形成装置の場合、例えば建設会社等において、変更前と変更後の紙図面をそれぞれ複合機110のスキャン機能111によってスキャンし、多層画像生成装置120において、変更前と変更後の図面を比べて差分を検出し、変更後の図面において追加された箇所、削除された箇所、および変更のない箇所の3種類の領域に分類し、それぞれ青、赤、および黒の3色のイメージマスクに分離し、各色のイマージマスクを描画するイメージマスク描画命令で構成される多層画像データが生成される。
なお、多層画像データが端末装置140のアプリケーション・プログラム1431によって生成される場合は、多層画像データ30は文字や図形を描画する描画命令群から構成されることが多い。一方、多層画像データ30が複合機110のスキャン機能111および多層画像生成装置120によって生成される場合には、イメージマスクを描画するイメージマスク描画命令群のみによって構成されることが多い。
なお、多層画像データは、多層画像生成装置120によって生成されたものを端末装置140のアプリケーション・プログラム1431によって編集したものであってもよい。
ここで、多層画像生成装置、或いは端末装置140のアプリケーション・プログラム1431によって生成される多層画像データの構造について図2、図3を用いて説明する。図2は、多層画像、つまり多層イメージマスクの概念を示す斜視図であり、下から順に「黒色」、「赤色」、「青色」のイメージマスク21、22、23を含んで構成され、それぞれのイメージマスクは各色の矩形のオブジェクトを含む。図3は、この多層イメージマスクを描画するための多層画像データ30の一例である。図3において、「StartJob」命令はジョブドキュメントの開始を示し、「EndJob」命令はジョブドキュメントの終了を示す。「StartJob」命令と、「EndJob」命令の間に挟まれた部分が、処理対象の命令となる。
図3においては、全1ページから構成されるページ命令構成命令が含まれる。ページ構成命令は、「StartPage」命令、「EndPage」命令が含まれ、「StargPage」命令はページの開始を示し、「EndPage」命令はページの終了を示す。「StartPage」命令には、「page_width」属性と「page_height」属性が含まれ、「page_width」属性はページの幅(単位はピクセル)を示し、「page_height」属性はページの高さ(単位はピクセル)を示している。「StartPage」命令を実行すると、幅1200×高さ900ピクセルの画像を保存する単層画像生成領域(図示せず)が端末装置140のメモリ12に確保される。「StartPage」命令、「EndPage」命令の間には、文字、図形、イメージ等のオブジェクトを描画する命令が記述可能であるが、図3では、3つのイメージマスク描画命令31〜33のみを含んでいる。
「ImageMask」命令は、イメージマスク、つまり2値画像と単一の色値とで表現されるオブジェクトを描画する命令である。それぞれのイメージマスク描画命令31〜33は、「x」、「y」属性、「width」、「height」属性、「color」属性、および「data」属性を含む。「x」属性と「y」属性は、イメージマスクの描画を開始する位置を示している。最初のイメージマスク描画命令31では、「x」属性は10、「y」属性も「10」であり、これは、イメージマスクをページの原点(本実施形態では左下)からx座標で10ピクセル目、y座標で10ピクセル目の位置から描画を開始することを示している。
「width」属性、「height」属性は、イメージマスクの幅と高さを示しており、その単位はピクセルである。「color」属性は、イメージマスクのRGB色空間内における色値を示している。最初のイメージマスク描画命令31においては「color」属性は(00,00,00)という値で示されているが、これは、R=00、G=00、B=00、つまり「黒」を意味している。「data」属性は描画する領域内の各画素を描画するか否かを示す1ビットの情報である。具体的には、ビットが0である場合、単層画像生成領域のこのビットに対応する画素には書き込みを行わず、ビットが1である場合は、そのビットに対応する画素に「color」属性で指定された色値を書き込む。また、「data」属性には、描画する領域内の各画素の描画データを圧縮処理したものを記載してもよい。その場合には、圧縮方法を、イメージマスク描画命令中に記載しておく。
記憶部130は、上述の、多層画像生成装置120によって生成された多層画像データ30を保存する。この記憶部130は具体的にはファイルサーバに組み込まれたハードディスクやフラッシュメモリディスク等の形をとり、本実施例においては、複合機110や端末装置140とは別体でありかつネットワーク150によって接続された構成をとっているが、この構成に限定される必要はなく、複合機110に内蔵された不揮発な記憶装置であってもよいし、端末装置140に内蔵されるハードディスクやフラッシュメモリディスク等の不揮発な記憶装置であってもよい。
次に、本実施形態の画像処理システム10における端末装置140のハードウェア構成を図4に示す。
端末装置140は、図4に示されるように、CPU11、メモリ12、ハードディスクドライブ(HDD)等の記憶装置13、ネットワーク150を介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース(IF)14、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース(UI)装置15を有する。これらの構成要素は、制御バス16を介して互いに接続されている。
CPU11は、メモリ12または記憶装置13に格納された制御プログラムに基づいて所定の処理を実行し、端末装置140の動作を制御する。制御プログラムは、例えばプリンタドライバ1432である。なお、本実施形態では、CPU11は、メモリ12または記憶装置13内に格納された制御プログラムを読み出して実行するものとして説明したが、当該プログラムをCD−ROM等の記憶媒体に格納してCPU11に提供することも可能である。
図5は、上記の制御プログラム、つまりプリンタドライバ1432が実行されることにより実現される端末装置140の機能構成を示すブロック図である。
本実施形態の端末装置140は、図5に示されるように、文書判定部1440と、描画命令並替部1450と、多層画像受付部1460と、描画命令実行部1470と、描画状態記憶部1480とを備えている。
なお、図3において説明した多層画像データ30をプリンタドライバ1432によって処理し、単層画像とした際の概念図を図6に示す。図6では、3つの色、つまり黒色、赤色、青色の各オブジェクトが重なり合った単層の画像60が形成されている。
多層画像受付部1460は、2値画像と単一の色値とで表現されるオブジェクトを描画するための複数のイメージマスク描画命令を含む多層画像データ30を受付ける。
文書判定部1440は、多層画像受付部1460により受け付けられた多層画像データがイメージマスク描画命令以外の描画命令を含むか否かの判定を行う。
描画命令並替部1450は、文書判定部1440により多層画像データに含まれる全ての描画命令がイメージマスク描画命令であると判定された場合に、多層画像データに含まれる複数のイメージマスク描画命令を、この多層画像データにおける描画順序とは逆の順序に並び替える。つまり、図3に示すように1ページに3つのイメージマスク描画命令31〜33が含まれる場合、これらを逆順、イメージマスク描画命令33、32、31の順番に並び替える。
なお、文書判定部1440により多層画像データにイメージマスク描画命令以外の描画命令が含まれると判定された場合、描画命令並替部1450は、多層画像受付部1460により受け付けられた多層画像データの描画命令の並び替え処理を実行しない。つまり、描画命令並替部1450は、多層画像データがイメージマスク描画命令以外の描画命令を含む場合、複数のイメージマスク描画命令を多層画像データにおける描画順序をそのまま維持する。
描画命令実行部1470は、多層画像受付部1460により受け付けられた多層画像データにおける複数のイメージマスク描画命令を順次実行し、メモリ12の単層画像生成領域に単層画像を生成する。なお、描画命令並替部1450により多層画像データ30に含まれる複数のイメージマスク描画命令の描画順序が並び替えられた場合には、描画命令実行部1470は、描画命令並替部1450により描画順序が並び替えられた多層画像データ30の描画処理を実行し、描画命令並替部1450によって、イメージマスク描画命令の描画順序が並び替えられなかった場合には、描画命令実行部1470は、多層画像データ30に含まれる当初の描画順序のまま多層画像データ30の描画処理を実行する。
描画状態記憶部1480は、単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する。
そして、描画命令実行部1470は、描画命令並替部1450により描画順序が並び替えられた複数のイメージマスク描画命令を実行する際に、描画状態記憶部1480の記憶内容を参照して描画対象となった画素に対する描画処理が既に実行済みであるか否かを判定する。そして、描画命令実行部1470は、描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように描画状態記憶部1480の記憶内容を更新する。なお、描画対象となった画素に対する描画処理が実行済みである場合には、描画命令実行部1470は、その描画対象の画素に対する描画処理を実行せずに次の画素を描画対象の画素とする。
描画状態記憶部1480は、描画命令実行部1470によって描画対象の特定の画素に対して描画処理が行われた場合、その画素が描画処理実行済みであることを記憶する。具体的には、当該画素を表す記憶領域に、描画済みの状態を示す値を設定する。具体的には単なる2値データ、つまりフラグでよく、描画済みの場合にはフラグを「ON」にする。
図7は、複数のイメージマスク描画命令を含む多層画像データ30を端末装置140のプリンタドライバ1432によって単層画像として変換し、複合機110に出力する処理の流れを説明したフローチャートである。多層画像受付部1460が多層画像データを受付けると、図7のステップS701において、描画命令実行部1470は、処理対象の多層画像データ30中に、未処理のページがあるか否かを判定し、すべて処理を終えている場合には、ステップS702に進み、フォーマット処理を行う。フォーマット処理は、端末装置140の単層画像生成領域に生成された単層画像のデータを複合機110が処理できるような形式の印刷ジョブファイルに変換するものである。次いで、ステップS703に進み、生成した単層画像データを含む印刷ジョブファイルを複合機110に送信して処理を終える。ステップS701において、多層画像データ30中に未処理のページがある場合にはステップS704に進む。
ステップS704において、文書判定部1440は、未処理の1ページ分の描画命令、つまり図3における「StartPage」命令から「EndPage」命令までを、描画命令を実行せずに一旦読み込み、ステップS705において、当該ページの描画命令がイメージマスク描画命令だけで構成されているか否かを判定する。
読み込んだ1ページ分の描画命令がイメージマスク描画命令だけでなく、他の描画命令を含んでいる場合には、ステップS706に進み、描画命令実行部1470は1ページ分の描画命令を、多層画像データ30に記載された順序のまま順次実行することによって単層の画像となるように描画処理し、ステップS701の処理に戻る。
ステップS705において、1ページ分の描画命令がイメージマスク描画命令だけで構成されていると判定された場合、ステップS707の処理に進み、描画命令並替部1450が、当該ページ内のイメージマスク描画命令の順序を逆順に並べ替える。
次いで、ステップS708に進み、描画命令実行部1470は、未処理のイメージマスク描画命令があるか否かを判定し、未処理のイメージマスク描画命令がある場合にはステップS709に進んで図8において説明されるイメージマスク描画処理を行い、未処理のイメージマスク描画命令がない場合にはステップS701の処理に戻る。
図7のステップS709のイメージマスク描画処理はさらに図8のフローチャートに示されたステップS801〜S807の処理を含んでいる。ステップS801〜S807の処理は、各イメージマスク描画命令の「x」属性、「y」属性、「width」属性、および「height」属性で特定される領域内に該当する全ての画素毎に繰り返し行われるものである。
ステップS801において、描画命令実行部1470は、イメージマスク描画命令に含まれる「x」属性、「y」属性、「width」属性、「height」属性に基づいて、処理対象の1画素を特定する。ステップS802において、描画命令実行部1470は、イメージマスク描画命令に含まれる「data」属性を参照し、当該処理対象の画素が描画を行うべき画素であるか否かを判定する。描画を行うべき画素でないと判定された場合、ステップS807に進み、当該処理対象の画素に対するイメージマスク描画処理を終了し、ステップS801の処理に戻る。当該処理対象の画素が描画を行うべき画素である場合、ステップS803に進む。
ステップS803において、描画命令実行部1460は、描画状態記憶部1480の処理対象の画素の描画状態を示すフラグを参照し、ステップS804において処理対象の画素が未描画であるか描画済みであるかを判定する。当該処理対象の画素が描画済みであると判定された場合は、ステップS807に進み、当該処理対象の画素に対する描画処理を終了し、ステップS801の処理に戻る。当該処理対象の画素が未描画であると判定された場合は、ステップS805に進み、描画命令実行部1470は、単層画像生成領域の処理対象の画素に対してイメージマスク描画命令に含まれる「color」属性で指定された色値の書き込みを行う。さらに、ステップS806に進み、描画状態記憶部1480は、処理対象の画素が描画済みの状態であることを示す値を設定する。具体的には、フラグを「ON」にする。
ついで、ステップS807において、処理対象の画素に対する描画処理を終了し、ステップS801の処理に戻り、次の処理対象の1画素に対する描画処理を実行する。
以上、端末装置140のプリンタドライバ1432において、複数のイメージマスク描画命令を含む多層画像データ30を単層画像に変換して出力する画像処理システムについて説明した。イメージマスク描画命令を、多層画像データ30に記述された順序のまま実行した場合には、一度色値が書き込まれた画素に対して再度色値を上書きするという無駄な処理があり、例えば色値を各画素にRGB各色256階調で書き込む場合には、各画素を上書き処理する度に8ビット×3=24ビット(3バイト)の色値データを書き込む必要があった。一方、イメージマスク描画命令を逆順に並べ替えるとともに描画状態記憶部1480に各画素の描画状態を記憶させる方法であれば、各画素に対する上書き処理をしなくてもよくなり、その代わりに、描画状態、つまりそれぞれの画素が描画済みか否かを示す1ビットの情報を記憶させる処理だけで済むため、上書き処理をした場合に比べると処理速度を格段に速めることが可能となる。
この点を図9、図10を用いて具体的に説明する。図9(A)に示すように、黒色のイメージマスクIM1、赤色のイメージマスクIM2、青色のイメージマスクIM3(それぞれの色の矩形のオブジェクトを含んでいる)の3層で構成される多層画像があったとする。これらイマージマスクを描画するイメージマスク描画命令を含んで構成される多層画像データ30において、それぞれのイメージマスクを描画するイメーマスク描画命令は、黒色、赤色、青色のイメージマスクの順に記載されている(図9(A)の「出現順」に対応)。従来、これらのイメージマスクは、出現順、つまり、IM1、IM2、IM3の順に処理され(図9(A)の「描画順」に対応)、イメージマスクにおけるオブジェクトが互いに重なるような部分は上書き描画されていた。結果として、図9(B)に示すような、上から順に青色、赤色、黒色のオブジェクトが重なり合って描画された単層画像が生成されていた。
この描画処理によると、図9(C)に示すように、中央の部分は3つのオブジェクトが重なり合っているため、その部分の画素に対しては2回上書処理が行われることになり、その周囲の大部分の箇所は2つのオブジェクトが重なりあっているため、1回上書処理が行われることになり、1回だけの描画で済む領域はほんのわずかである。このように従来の描画処理方法では、イメージマスク描画命令を出現順に処理するため、複数回描画が行われる領域が存在することになり、結果として無駄な描画処理が発生していた。また、イメージマスク描画命令には、イメージを拡大、縮小、回転等といった加工処理が含まれる場合もあり、一般に図形や文字の描画に比べれば処理が遅くなる傾向がある。したがって、イメージマスク描画に重なる領域が多ければ多いほど、単層画像の生成処理には時間がかかるという問題があった。
しかしながら、図10に示すように、図9(A)と同様の黒色、赤色、青色の矩形のオブジェクトを含むイメージマスクIM1、IM2、IM3を、出現順とは逆順に描画するなら(図10(A)の「描画順」に対応)、青色のオブジェクトが最初に描画され、次いで、赤色のオブジェクトの、青色のオブジェクトが描画されている以外の部分の画素に対する描画処理が行われ、最後に黒色のオブジェクトのうち、青色と赤色のオブジェクトが描画されている以外の部分の画素に対する描画処理が行われる。結果として、得られる単層画像は、図10(B)に示すように、イメージマスク描画命令を出現順に処理した図9(B)の画像と同一の画像が得られるが、図10(C)に示すように、すべての部分が1回のみの描画処理を行った領域であり、無駄な上書描画処理が不要になっていることがわかる。もちろん、この出現順とは逆順にイメージマスク描画命令を実行するためには、描画状態記憶部1480に、各画素が描画済みか否かを示す描画状態を記憶させる必要があるが、描画状態記憶部1480に描画済みか否かを示す2値データのみを書き込むだけの処理で済むため、単層画像生成領域に実際の色値を書き込む処理に比べて、書き込みに要する処理時間を少なくすることが可能となる。
なお、上記の実施形態においては、描画命令実行部1470が描画処理を実行して単層画像生成領域に書き込む単層画像データは、イメージマスク描画命令の「color」属性で指定される実際の色値である場合を説明した。しかしながら、本発明は、上記の例に限定されず、単層画像生成領域に書き込まれるデータを、実際の色値に代えて各イメージマスクに割り当てられた識別番号(識別情報)であるインデックス値としてもよい。この場合、描画命令実行部1470は、イメージマスク描画命令を実行する前に、各イメージマスクのそれぞれに対してインデックス値を割り当てるとともに、インデックス値と実際に描画される色値とを関連付けた色テーブルを生成し、イメージマスク描画処理命令を実行する際には単層画像生成領域の各画素にインデックス値を書き込む。
つまり、描画命令実行部1470は、多層画像データを単層画像に変換する描画処理を実行する際に、複数のイメージマスク描画命令に対してそれぞれ識別番号を付与するとともに、識別番号とイメージマスクの色値とを関連付けた色テーブルを生成し、生成される単層画像の各画素に対して識別番号を書き込むことによって描画処理を行う。
このような描画処理を行う際の色テーブルの一例を図11に示す。図11に示す色テーブル例では、4ビットで表現されたインデックス値と、RGB各色を8ビット(256階調)で表現した色値とが対応付けられている。
このようにすることで、単層画像生成領域の各画素に直接色値を書き込む場合よりも、書き込むデータが少なくなり、多層画像データを単層画像に変換する際の処理量が削減される。例えば、各画素にRGB各色256階調の色値を指定できるようにした場合、各画素に8ビット×3=24ビット(3バイト)の情報を書き込む必要があるが、例えば16種類のイメージマスクしかない場合、各イメージマスクに対して1つのインデックス値を割り当てれば、単層画像生成領域には4ビットの情報を書き込むだけでよいので、書き込むデータ量が6分の1となり、実際の色値を単層画像生成領域に書き込んだ場合に比べて書き込み処理が高速になる。また、書き込むデータ量が削減されるだけでなく、単層画像生成領域が専有する記憶領域も少なくて済む。
さらに、上記実施形態においては、図3に示す多層画像データ30の「width」属性と「height」属性によって指定された領域内の全ての画素に対応する数の描画データが「data」属性で提供され、「width」属性と「height」属性によって指定された領域そのままの大きさの単層画像が単層画像生成領域に展開された。
しかしながら、複合機110に出力して印刷する際に、必ずしも多層画像データに指定されている大きさ、或いは多層画像データの各種属性から決まる解像度で画像を形成しなくてもよい場合もある。例えば、ページの大きさを多層画像データに指定されている大きさの半分にして出力したいというような場合、或いは、ページそのものの大きさは変えず、解像度だけを小さくしたいというような場合である。そのような場合、描画命令実行部1470は、イメージマスク描画命令の「data」属性に指定されたデータを、縮小アルゴリズムを用いて変換後の単層画像の画素数と等しくなるように変換し、単層画像生成領域の各画素に書き込み処理を行う。このように、各色値のイメージマスク毎に解像度の変換処理を行って単層画像生成領域に書き込みを行えば、全てのイメージマスクの描画処理を行ってから解像度の変換を行うよりも、より簡単なアルゴリズムを使用するだけで済む。
この場合、描画命令実行部1470は、多層画像データに含まれる全てのイメージマスク描画命令を、変換予定の単層画像の解像度に合わせた解像度に変換した後に描画処理を実行する。
なお、上記実施形態では、端末装置140におけるプリンタドライバ1432により多層画像を単層画像に変換する際の動作を説明したが、この機能を画像形成装置である複合機110に設けるようにすることも可能である。この場合、複合機110の出力部は、描画命令実行部によって描画処理された単層画像に基づいて画像を形成することになる。
10 画像処理システム
11 CPU
12 メモリ
13 記憶装置
14 通信インタフェース(IF)
15 ユーザインタフェース(UI)装置
16 制御バス
21、22、23 イメージマスク
30 多層画像データ
31〜33 イメージマスク描画命令
60 単層画像
110 複合機
120 多層画像生成装置
130 記憶部130
140 端末装置
150 ネットワーク
1431 アプリケーション・プログラム
1432 プリンタドライバ
1440 文書判定部
1450 描画命令並替部
1460 多層画像受付部
1470 描画命令実行部
1480 描画状態記憶部

Claims (6)

  1. 2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付手段と、
    前記多層画像データにおける前記オブジェクト描画命令を順次実行して単層画像を生成する描画命令実行手段と、
    前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替手段と、
    単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段と、を備え、
    前記描画命令実行手段は、前記並替手段により描画順序が並び替えられた前記複数のオブジェクト描画命令を実行する際に、前記記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する
    画像処理装置。
  2. 前記描画命令実行手段は、前記多層画像データが前記オブジェクト描画命令以外の描画命令を含む場合、前記複数のオブジェクト描画命令を前記多層画像データにおける描画順序で実行する請求項1記載の画像処理装置。
  3. 前記描画命令実行手段は、前記描画処理を実行する際に、前記複数のオブジェクト描画命令に対してそれぞれ識別情報を付与するとともに、前記識別情報と前記2値画像の色値とを関連付けた色テーブルを生成し、前記生成される単層画像の各画素に対して前記識別情報を書き込むことによって描画処理を行う、請求項1又は2記載の画像処理装置。
  4. 前記描画命令実行手段は、前記多層画像データに含まれる全ての前記オブジェクト描画命令を、変換予定の単層画像の解像度に合わせた解像度に変換した後に描画処理を実行する請求項1から3のいずれか1項に記載の画像処理装置。
  5. 2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付手段と、
    前記多層画像データにおける前記オブジェクト描画命令を順次実行して単層画像を生成する描画命令実行手段と、
    前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替手段と、
    単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段と、
    前記描画命令実行手段によって描画処理された単層画像に基づいて画像を形成する出力手段と、を備え、
    前記描画命令実行手段は、前記並替手段により描画順序が並び替えられた前記複数のオブジェクト描画命令を実行する際に、前記記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に、当該画素に対して描画処理を実行して当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する
    画像形成装置。
  6. 2値画像と単一の色値との組み合わせにより表現されるオブジェクトを描画するための複数のオブジェクト描画命令を含む多層画像データを受付ける受付ステップと、
    前記多層画像データに含まれる前記複数のオブジェクト描画命令を、当該多層画像データにおける描画順序とは逆の順序に並び替える並替ステップと、
    前記並替ステップにより描画順序が並び替えられた前記複数のオブジェクト描画命令を順次実行して単層画像を生成する際に、単層画像の各画素に対する描画処理が実行済みであるか否かを画素毎に記憶する記憶手段の記憶内容を参照して描画対象となった画素に対する描画処理が実行済みでない場合に当該画素に対して描画処理を実行し、描画処理の実行後に当該画素についての描画処理が実行済みとなるように前記記憶手段の記憶内容を更新する描画命令実行ステップとをコンピュータに実行させるためのプログラム。
JP2016012064A 2016-01-26 2016-01-26 画像処理装置、画像形成装置、および画像処理プログラム Pending JP2017135489A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016012064A JP2017135489A (ja) 2016-01-26 2016-01-26 画像処理装置、画像形成装置、および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016012064A JP2017135489A (ja) 2016-01-26 2016-01-26 画像処理装置、画像形成装置、および画像処理プログラム

Publications (1)

Publication Number Publication Date
JP2017135489A true JP2017135489A (ja) 2017-08-03

Family

ID=59504925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016012064A Pending JP2017135489A (ja) 2016-01-26 2016-01-26 画像処理装置、画像形成装置、および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP2017135489A (ja)

Similar Documents

Publication Publication Date Title
JP5247601B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP4766657B2 (ja) 画像処理装置及びその制御方法、プログラム
JP2007140597A (ja) 印刷制御プログラム
JP2017228838A (ja) 画像処理装置、画像処理方法及びプログラム
JP2011097538A (ja) 画像処理装置、プログラム、記録媒体
JP3817473B2 (ja) 画像出力装置及び画像処理方法
JP2010245634A (ja) 画像処理装置、画像形成装置、画像処理方法およびプログラム
JP4646703B2 (ja) 画像処理装置及びその制御方法、プログラム
JP2005243003A (ja) 画像処理方法及び画像処理装置
JP6851853B2 (ja) 墨消し機能の拡張
JP2008228168A (ja) 画像処理装置およびプログラム
KR20010104212A (ko) 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체
JP2017135489A (ja) 画像処理装置、画像形成装置、および画像処理プログラム
JP2006254199A (ja) 画像処理装置
JP2006345097A (ja) 画像処理方法及び画像処理装置
JP2004334533A (ja) 画像処理装置および画像処理方法
JP4853504B2 (ja) 画像処理プログラム及び画像処理システム
JP2001169120A (ja) 画像処理装置及びその方法、及び画像処理システム
JP4398361B2 (ja) 出力制御装置および出力制御方法およびプログラムおよび記録媒体
JP2006272556A (ja) 画像処理装置及び画像処理プログラム
JP2007122621A (ja) 情報処理装置、情報処理方法
JP6140973B2 (ja) 画像処理装置、画像処理方法ならびにプログラム
JP2017040692A (ja) 文字処理装置、文字処理方法、文字処理プログラム
JP3560124B2 (ja) 画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体
US20100229087A1 (en) Computer readable medium, information processing device and image processing method