(57)【特許請求の範囲】
【請求項１】
所定のパターン画像を用いた論理演算を含む命令によって描画を行う画像処理装置において、
前記論理演算を含む描画命令の中に半透明論理演算処理の命令があるか否かを判別する半透明論理演算処理判別部と、
前記半透明論理演算処理判別部で描画命令の中に半透明論理演算処理の命令があると判別された場合、その半透明論理演算処理で用いるパターン画像を印刷出力時のスクリーンとの干渉を抑制できる別のパターン画像に変換する画像変換部と、
前記画像変換部で変換された別のパターン画像を用いて論理演算を行う論理演算処理部と
を備えることを特徴とする画像処理装置。
【請求項２】
印刷出力の解像度に合わせて画像を拡大処理する際、前記画像変換部は、前記別のパターン画像として前記拡大処理に合わせて拡大したパターン画像を拡大前のサイズに戻したものを用いる
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像変換部は、印刷出力時に使用するスクリーンに応じて前記別のパターン画像を生成する
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記画像変換部は、予め用意されている複数のパターン画像を組み合わせて前記別のパターン画像を生成する
ことを特徴とする請求項１記載の画像処理装置。
【請求項５】
所定のパターン画像を用いた論理演算を含む命令によって描画を行う画像処理方法において、
前記論理演算を含む描画命令の中に半透明論理演算処理の命合があるか否かを判別する工程と、
前記描画命令の中に半透明論理演算処理の命令があると判別した場合、その半透明論理演算処理で用いるパターン画像を印刷出力時のスクリーンとの干渉を抑制できる別のパターン画像に変換する工程と、
変換された前記別のパターン画像を用いて半透明論理演算処理を行う工程と
を備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像の論理演算による重ね合わせにより半透明描画処理を行う画像処理装置および画像処理方法に関し、さらに詳しくは、半透明描画処理を行う場合のスクリーンとの干渉によるモアレ等の画質劣化を抑制できる画像処理装置および画像処理方法に関する。
【０００２】
【従来の技術】
ＷｉｎｄｏｗｓＧＤＩ（Graphics Device Interface）では、オブジェクトの塗りつぶし処理を行う場合、色やあらかじめ用意されているパターン以外に、任意のビットマップパターンを指定することが可能である。また、ＲＯＰ（Raster Operation）処理で前景画像、背景画像の画素を論理演算することによって様々な塗りつぶしや画像の重ね合わせ処理が可能になっている。
【０００３】
ここで、任意のビットマップパターンにより塗りつぶしを行う画像を、６００ｄｐｉや１２００ｄｐｉなど高解像度のプリンタに印刷出力する場合、ビットマップパターンの模様が小さくなりすぎ、ディスプレイ上の画像とは異なる結果になってしまう。そこで、一般に印刷出力時にはビットマップパターンを拡大することによって、ディスプレイの表示と印刷結果とを一致させる手法がとられている。
【０００４】
また、ビットマップパターンは塗りつぶしの描画命令だけでなく、半透明描画を行うＲＯＰ処理にも使われている。半透明ＲＯＰ処理命令は、前景画像、パターン画像、背景画像の対応する各画素をそれぞれ論理演算し、得られた結果によって半透明の効果を出す命令である。
【０００５】
例えば、マイクロソフト社のＯｆｆｉｃｅなどのアプリケーションでは半透明描画処理のＲＯＰコードは前景画像、パターン画像、背景画像、それぞれＮＯＴＸＯＲＰＥＮ、ＭＥＲＧＥＰＥＮ、ＮＯＴＸＯＲＰＥＮで与えられる。また、パターン画像としては一般に市松模様が使われる。
【０００６】
塗りつぶし描画命令の場合も、半透明描画命令の場合も、同じパターン画像（ビットマップパターン）が使われるため、塗りつぶし用のパターン画像と同様に、半透明描画用のパターン画像も拡大されることになる。
【０００７】
【発明が解決しようとする課題】
例えば、半透明描画処理命令のパターン画像（ビットマップパターン）としては、図６（ａ）に示すような市松模様が使われるが、印刷出力時には図６（ｂ）に示すように拡大されることになる。しかし、このような拡大は、スクリーンとの干渉によるモアレなど、画質劣化を発生させる原因となってしまう。
【０００８】
例えば、特開平８−２６３６７４号公報では、複雑なＲＯＰ処理を、同様の結果が得られるより単純なＲＯＰ処理へ置き換える処理を行っている。また、特開２０００−１３２６７１号公報では、論理演算処理を行わなくても処理可能と判断した場合は、ＲＯＰ処理を必要としない描画オブジェクトヘの変換を行っている。
【０００９】
しかしながら、ＲＯＰ処理の置き換えや、他の描画オブジェクトヘの変換によっても半透明描画処理のパターン画像が拡大されたままでは画質劣化を回避することはできない。
【００１０】
上記のように、高解像度プリンタで印刷するために拡大されたパターン画像を半透明描画処理で使用すると、スクリーンとの干渉によるモアレなどの画質劣化が起こるという問題がある。
【００１１】
本発明はこのような点に鑑みてなされたものであり、画像の半透明描画処理を行う場合の画質劣化を抑制できる画像処理装置および画像処理方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明は、上記の目的を達成するために成された画像処理装置に関するものである。すなわち、本発明は、所定のパターン画像を用いた論理演算を含む命令によって描画を行う画像処理装置において、論理演算を含む描画命令の中に半透明論理演算処理の命令があるか否かを判別する半透明論理演算処理判別部と、半透明論理演算処理判別部で描画命令の中に半透明論理演算処理の命令があると判別された場合、その半透明論理演算処理で用いるパターン画像を印刷出力時のスクリーンとの干渉を抑制できる別のパターン画像に変換する画像変換部と、画像変換部で変換されたパターン画像を用いて論理演算を行う論理演算処理部とを備えている。
【００１３】
また、本発明は、所定のパターン画像を用いた論理演算を含む命令によって描画を行う画像処理方法において、論理演算を含む描画命令の中に半透明論理演算処理の命令があるか否かを判別する工程と、描画命令の中に半透明論理演算処理の命令があると判別した場合、その半透明論理演算処理で用いるパターン画像を印刷出力時のスクリーンとの干渉を抑制できる別のパターン画像に変換する工程と、その変換された別のパターン画像を用いて半透明論理演算処理を行う工程とを備えている。
【００１４】
このような本発明では、描画命令の中に半透明論理演算処理の命令がある場合を判別し、その半透明論理演算処理で用いるパターン画像を別のパターン画像に変換して論理演算を行うことから、半透明論理演算処理で用いるパターン画像として印刷出力時のスクリーンとの干渉を抑制できるものを用いることができ、モアレ等の発生を回避することができるようになる。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を図に基づいて説明する。図１は本実施形態の画像処理装置における動作原理を説明するブロック図である。すなわち、図１に示すように、本実施形態に係る画像処理装置は、入力部１と、半透明論理演算処理判別部３と、画像変換部４と、論理演算処理部５と、出力部８とから構成されている。
【００１６】
入力部１は、アプリケーションからの入力により、画像、パターン、ＲＯＰコードなどの描画命令を半透明論理演算処理判別部２に送る。半透明論理演算処理判別部２は、入力部１から送られてきた描画命令を解釈し、半透明の効果を出す描画命令が含まれているか否かを判別し、含まれている場合は画像変換部３に画像を転送する。
【００１７】
画像変換部３は、半透明論理演算処理で用いるパターン画像を別のパターン画像に変換する処理を行う。例えば、半透明論理演算処理を行うにあたり拡大されたパターン画像を元のサイズに戻す処理や、あらかじめ用意しておいた別のパターン画像へ置き換え等を行う。論理演算処理部４は、画像変換部から送られた画像とＲＯＰコードから論理演算処理を行い、出力部５に転送する。
【００１８】
出力部５は、論理演算処理部４で生成された出力画像をプリンタやディスプレイ装置などの出力デバイスに転送する。これによって、論理演算処理後の画像を印刷出力もしくは表示出力できるようになる。
【００１９】
次に、本実施形態の画像処理装置における全体の処理の流れ（画像処理方法）を図２に示すフローチャートに沿って説明する。なお、以下の説明で図２に示されない符号は図１を参照するものとする。
【００２０】
先ず、ステップＳ１において、入力部１から送られる論理演算を含む描画命令を解釈する。次に、ステップＳ２において、入力部１から送られた描画命令が半透明論理演算処理か否かを判別し、半透明論理演算処理の場合はステップＳ３へ、それ以外はステップＳ６に移行する。
【００２１】
半透明論理演算処理の場合には、ステップＳ３において、半透明論理演算で用いるパターン画像の置き換えを行うか否かを判断し、置き換える場合はステップＳ５へ、置き換えない場合はステップＳ４へ移行する。
【００２２】
パターン画像を置き換えない場合、ステップＳ４では、半透明論理演算処理を行うために拡大されたパターン画像（ビットマップパターン）を画像変換部３によって元のサイズに戻す処理を行う。
【００２３】
一方、パターン画像を置き換える場合、ステップＳ５において、半透明論理演算処理で用いるパターン画像をあらかじめ用意しておいた別のパターン画像に置き換える。
【００２４】
その後、ステップＳ６において、元のサイズに変換したパターン画像もしくは置き換えたパターン画像を用いて論理演算処理を行う。そして、ステップＳ７において、論理演算処理後の画像データを出力部５へ転送する。
【００２５】
このように、半透明論理演算処理を行う場合、半透明処理で用いるパターン画像が元のサイズに戻される、もしくは別のパターン画像に置き換えられることで、このパターン画像を用いた論理演算により得られる半透明処理後の画像では、印刷出力時のスクリーンとの干渉を抑制できることになり、モアレ等の画質劣化を防止できるようになる。
【００２６】
次に、この画像処理装置の主要部の詳細について説明する。初めに、半透明論理演算処理判定部２について詳細に説明する。半透明論理演算処理判定部２は、入力部１から送られる画像、パターン、ＲＯＰコードなどの描画命令を解釈する。
【００２７】
例えば、マイクロソフト社のＯｆｆｉｃｅなどのアプリケーションでは、半透明論理演算処理命令は前景画像、パターン画像、背景画像、それぞれのＲＯＰコードはＮＯＴＸＯＲＰＥＮ、ＭＥＲＧＥＰＥＮ、ＮＯＴＸＯＲＰＥＮで与えられるため、これに当てはまるか否かを判定することにより、描画命令が半透明論理演算処理であるか否かを判別することができる。
【００２８】
入力部１から送られた描画命令が半透明論理演算処理であると判別した場合は、半透明論理演算処理判定フラグを１にして、画像変換部３に転送する。また、半透明論理演算処理以外と判定した場合は、半透明論理演算処理判定フラグを０にして画像変換部３に転送する。
【００２９】
次に、画像変換部３について詳細に説明する。図３は、画像変換部を説明する構成図である。画像変換部３は、判定フラグ読み込み部３１と、パターン置き換え判定部３２と、パターン格納部３３と、パターン置き換え部３４と、パターンサイズ変換部３５とから構成されている。
【００３０】
ここで、半透明処理で用いるパターン画像が市松模様の場合、スクリーンの角度が４５度以外では必ずモアレが発生してしまうため、スクリーンの角度によってパターン画像を置き換える場合は、予め置き換えるパターン画像をパターン格納部３３に格納しておく。
【００３１】
判定フラグ読み込み部３１は、半透明論理演算処理判定部２から送られる判定フラグを読み込み、フラグが１の場合は描画命令が半透明論理演算処理であると判断する。
【００３２】
パターン置き換え判定部３２は、パターン格納部３３にパターン画像のデータが格納されているか調べ、データが格納されている場合は、パターン画像のデータを読み込む。
【００３３】
パターン格納部３３は、パターン画像を置き換える必要がある場合に、予め置き換えるパターンを格納しておく。
【００３４】
パターン置き換え部３４は、描画命令に含まれるパターン画像とパターン格納部３３に格納されているパターン画像とを置き換える処理を行う。
【００３５】
パターンサイズ変換部３５は、描画命令中のパターン画像を拡大する前のサイズに戻す処理を行う。
【００３６】
次に、画像変換部の処理の流れを図４のフローチャートに沿って説明する。なお、以下の説明で図４に示されない符号は図３を参照するものとする。
【００３７】
先ず、ステップＳ３１において、判定フラグ読み込み部３１で半透明論理演算処理判定部２から送られる判定フラグを読み込み、半透明の描画命令か否かを判定する。
【００３８】
次に、ステップＳ３２において、フラグが１の場合は半透明の描画命令であるため、パターン置き換え判定部３２に描画命令を転送し、ステップＳ３３へ移行する。一方、フラグが１以外の場合は半透明の描画命令ではないため、ステップＳ３６へ移行する。
【００３９】
ステップＳ３３においては、パターン格納部３３にパターン画像が格納されているか否かを調べ、格納されている場合はパターン置き換えが必要なため、読み込んだパターン画像と描画命令とをパターン置き換え部３４に転送し、ステップＳ３５に移る。また、データが格納されていない場合は、描画命令をパターンサイズ変換部３５に転送し、ステップＳ３４に移る。
【００４０】
ステップＳ３４では、拡大されたパターン画像を元のサイズに変換し、ステップＳ３６に移る。
【００４１】
ステップＳ３５では、描画命令に含まれるパターン画像とパターン格納部３３に格納されているパターン画像とを置き換え、ステップＳ３６に移る。
【００４２】
ステップＳ３６においては、送られてきた描画命令を論理演算処理部４に転送する。これらの処理を、すべての論理演算を含む描画命令に対して繰り返し実行する。
【００４３】
次に、論理演算処理部４について詳細に説明する。論理演算処理部４は、描画要素を上書きするだけでなく、背景との論理演算をしながら描画を行う。４種類の論理演算（ＡＮＤ，ＮＯＴ，ＯＲ，ＸＯＲ）を２つの画像の画素値に対して行うことによって、新しい画素値が求まる。
【００４４】
ここでは、半透明論理演算処理の例を図５を用いて説明する。例えば、前景画像、パターン画像、背景画像がそれぞれ図５（ａ）のように与えられるとする。前景画像、パターン画像、背景画像、それぞれのＲＯＰコードがＮＯＴＸＯＲＰＥＮ、ＭＥＲＧＥＰＥＮ、ＮＯＴＸＯＲＰＥＮの場合、半透明描画が行われる。
【００４５】
前景画像と背景画像とが黒の場合には、論理演算処理結果も黒、前景画像と背景画像とが白の場合は論理演算処理結果も白となる。また、前景画像の色と背景画像の色とが異なる場合、パターンのドットがある部分は前景画像の色が現れ、パターンのドットがない部分は背景画像の色が現れる。そのため、前景画像の色と背景画像の色とが異なる場合は半透明の効果が得られる。
【００４６】
また、図５（ｂ）に示すように同じ前景画像と背景画像の場合でも、使用するパターンによって半透明処理の結果が異なる。
【００４７】
このように、前景画像、パターン画像、背景画像の論理演算を行うことによって、半透明描画処理などの論理演算処理を行うことができる。本実施形態では、このような半透明描画処理で用いるパターン画像として、拡大されたパターン画像を元のサイズに戻したり、別のパターン画像を用いることで、印刷出力時のスクリーンとの干渉を抑制して、モアレ等の発生しない良好な半透明画像を得ることができるようになる。
【００４８】
なお、上記説明した実施形態では、画像変換部３によりパターン画像を別のパターン画像に置き換えたり、パターン画像を元のサイズに戻すようにする例を示したが、これ以外にも、使用するスクリーンや画像の種類によってその都度パターン画像を変更（生成）したり、予め用意されたパターン画像を組み合わせて別のパターン画像を生成するようにしてもよい。
【００４９】
【発明の効果】
以上説明したように本発明では、半透明の論理演算処理命令が送られた場合、ディスプレイ表示と印刷結果とが一致するように拡大したパターン画像を元に戻すことによって、スクリーンとの干渉によるモアレなどの画質劣化が少ない半透明描画処理を行う実現することが可能となる。
【００５０】
さらに、半透明の効果を出すためのパターンを、元のサイズに戻した市松模様だけでなくスクリーンとの干渉が起こりにくいパターンに置き換えることにより、画質劣化がより少ない画像処理を実現させることができる。
【図面の簡単な説明】
【図１】  本発明の基本構成を示すブロック図である。
【図２】  全体の処理の流れを示すフローチャートである。
【図３】  画像変換部の構成を示すブロック図である。
【図４】  画像変換部の処理の流れを示すフローチャートである。
【図５】  論理演算処理を説明する図である。
【図６】  パターンの拡大を説明する図である。
【符号の説明】
１…入力部、２…半透明論理演算処理判定部、３…画像変換部、４…論理演算処理部、５…出力部、３１…判定フラグ読み込み部、３２…パターン置き換え判定部、３３…パターン格納部、３４…パターン置き換え部、３５…パターンサイズ変換部
【図１】
0004174971.tif 000002
【図２】
0004174971.tif 000003
【図３】
0004174971.tif 000004
【図４】
0004174971.tif 000005
【図５】
0004174971.tif 000006
【図６】
0004174971.tif 000007