説明

画像処理装置、及び、その画像処理プログラム

【課題】同一色のベクターデータの重複時に、重複部分の画像の識別を可能にしながら色情報の変更範囲を最小限にした画像処理装置、及び、その画像処理プログラムを提供することにある。
【解決手段】描画開始座標情報と描画終了座標情報と色情報とを有する描画要素データの画像処理を行う画像処理装置において、第1描画要素データの第1の要素画像と、第2描画要素データとの第2の要素画像の重複を検出する重複検出手段と、前記色情報を比較して色の差分が所定量内か否かを判断する色判断手段と、前記色情報を変更する色情報変更手段と、を有し、前記色情報変更手段は、前記重複検出手段において重複が検出され、前記色判断手段において前記第1描画要素データの第1色情報と前記第2描画要素データの第2色情報の前記色の差分が所定量内と判断された場合、前記第1色情報と前記第2色情報のうち少なくとも1つの前記色情報を変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、及び、その画像処理プログラムに関する。
【背景技術】
【0002】
一般的に、CAD(Computer Aided Design)等の画像データは、多数の線画やテキスト等のベクターデータを有する。そのため、画像データにおけるベクターデータ同士の描画画像の重複が頻繁に発生する。そのようなCAD等の画像データの印刷画像において、例えば、同一色のベクターデータの描画画像が重複した場合、当該重複画像の各部分がいずれのベクターデータによって描画されたのかを識別することは困難である。また、画像データがディスプレイ等の出力デバイスに表示される場合も同様である。
【0003】
具体的に、黒色の線のベクターデータと、黒色の文字列“一二三”等のベクターデータによる描画画像が重複する場合、その印刷画像から黒色の線と黒色の文字列の情報を正確に区別して判読することは困難である。このように、複数の同一色のベクターデータの描画画像が重複する場合、その印刷画像における情報の判読性が不十分であり不便であった。
【0004】
そこで、特許文献1では、画像形成処理において、ラスターデータとベクターデータ(例えば、「ABCDEFGHIJ」)とが重複し、色が同一または近似する場合に、ベクターデータの色情報を変更することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−302966号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の画像形成装置では、ベクターデータ同士が重複した場合の処理については記載されていない。また、従来の画像形成装置では、例えば重複したベクターデータの色情報を変更する場合、「ABCDEFGHIJ」等の文字列全ての色情報を変更する。これにより、例えば、文字列等のベクターデータが当該ベクターデータと同一色のラスターデータA、及び、当該ベクターデータと色の異なるラスターデータBと重複する場合、ラスターデータAと識別可能にするためにベクターデータの色情報を変更した結果、変更後の色情報がかえってラスターデータBと同一または近似してしまうことがあった。
【0007】
そこで、本発明では、同一色のベクターデータの重複時に、重複部分の画像の識別を可能にしながら色情報の変更範囲を最小限にした画像処理装置、及び、その画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の目的を達成するために、本発明の第1の側面によれば、描画開始座標情報と描画終了座標情報と色情報とを有する描画要素データの画像処理を行う画像処理装置において、第1描画要素データの第1の要素画像と、第2描画要素データとの第2の要素画像の重複を検出する重複検出手段と、前記色情報を比較して色の差分が所定量内か否かを判断する色判断手段と、前記色情報を変更する色情報変更手段と、を有し、前記色情報変更手段は、前記重複検出手段において重複が検出され、前記色判断手段において前記第1描画要素データの第1色情報と前記第2描画要素データの第2色情報の前記色の差分が所定量内と判断された場合、前記第1色情報と前記第2色情報のうち少なくとも1つの前記色情報を変更する。
【0009】
この態様によれば、画像処理装置は、重複部分の描画画像を識別可能にしながら、色情報の変更対象の画素領域を最小限に抑えることができる。
【0010】
上記の第1の側面において好ましい態様によれば、さらに、前記第1描画要素データは複数の描画要素データから成る描画要素データ群に含まれ、前記第2描画要素データは前記描画要素データ群に含まれない。
【0011】
この態様によれば、画像処理装置は、重複部分の描画画像を識別可能にしながら、色情報の変更対象の画素領域を最小限に抑えることができる。
【0012】
上記の第1の側面において好ましい態様によれば、さらに、前記色情報変更手段は、前記第1色情報を変更すると共に、前記描画要素データ群に含まれる前記第1描画要素データ以外の描画要素データの前記色情報も変更する。
【0013】
この態様によれば、画像処理装置は、描画要素データ群の色情報を統一することにより、印刷画像の判読性を高めることができる。
【0014】
上記の第1の側面において好ましい態様によれば、さらに、前記所定量は、0である。
【0015】
この態様によれば、画像処理装置は、重複する同一色の描画画像を識別可能にしながら、色情報の変更対象の画素領域を最小限に抑えることができる。
【0016】
上記の第1の側面において好ましい態様によれば、さらに、前記画像処理装置において表色可能な色空間における最大の色の差分の3%未満である。
【0017】
この態様によれば、画像処理装置は、重複する識別困難な色の描画画像を識別可能にしながら、色情報の変更対象の画素領域を最小限に抑えることができる。
【0018】
上記の第1の側面において好ましい態様によれば、さらに、前記第1、2描画要素データの描画命令に基づいて画素毎の画像データを生成するレンダリング処理において前記重複を検出する。
【0019】
この態様によれば、画像処理装置は、レンダリング処理においてベクターデータの重複を検出することができる。
【0020】
上記の第1の側面において好ましい態様によれば、さらに、前記第1、2の描画要素データの描画命令の示す描画対象の前記画素領域に基づいて前記重複を検出する。
【0021】
この態様によれば、画像処理装置は、描画命令に係るレンダリング処理を重複して行うことを回避できる。
【0022】
上記の第1の側面において好ましい態様によれば、さらに、前記重複検出手段は、前記第1描画要素データの第1の要素画像と、前記第2描画要素データの第2の要素画像とが、1画素以上で重複していることを検出する。
【0023】
この態様によれば、画像処理装置は、描画要素データの要素画像の1画素以上の画素領域における重複を検出することができる。
【0024】
上記の第1の側面において好ましい態様によれば、さらに、前記描画要素データは、ベクターデータである。
【0025】
さらに、上記発明の第2の側面によれば、描画開始座標情報と描画終了座標情報と色情報とを有する描画要素データの画像処理をコンピューターに実行させるコンピューター読み取り可能な画像処理プログラムにおいて、前記画像処理は、第1描画要素データの第1の要素画像と、第2描画要素データとの第2の要素画像の重複を検出する重複検出工程と、前記色情報を比較して色の差分が所定量内か否かを判断する色判断工程と、前記色情報を変更する色情報変更工程と、を有し、前記色情報変更工程は、前記重複検出工程において重複が検出され、前記色判断工程において前記第1描画要素データの第1色情報と前記第2描画要素データの第2色情報の前記色の差分が所定量内と判断された場合、前記第1色情報と前記第2色情報のうち少なくとも1つの前記色情報を変更する。
【図面の簡単な説明】
【0026】
【図1】本実施の形態例におけるホストコンピューターの構成の一例を示す図である。
【図2】画像データの有するベクターデータ及び描画命令の一例を表す図である。
【図3】変更対象の画素範囲の異なるベクターデータの色情報の変更例を表す図である。
【図4】本実施の形態例における印刷処理の流れを説明するフローチャートの一例である。
【図5】描画命令の展開処理、及び、描画命令に基づく重複の検出処理を表す例図である。
【図6】レンダリング処理における重複の検出処理を表す例図である。
【発明を実施するための形態】
【0027】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0028】
図1は、本実施の形態例におけるホストコンピューター40の構成の一例を示す図である。同図において、ホストコンピューター40は、CPU41、RAM43等のメモリー、アプリケーションプログラム42、プリンタードライバー44、外部インターフェイス45を有する。アプリケーションプログラム42は、CPU41と協働することによってアプリケーションとして機能する。プリンタードライバー44は、重複検出ユニット51及び色変更ユニット52を有し、各ユニットはCPU41と協働することによって機能する。各ユニットの処理の詳細については、後述する。重複検出ユニット51と色変更ユニット52は、本実施の形態例における画像処理装置の一例である。
【0029】
図1において、アプリケーション42は、画像データの描画処理や印刷処理の開始を指示すると、GDI(Graphics Device Interface)の描画命令を呼び出す。図示していないが、ホストコンピューター40はGDIモジュールを有し、GDIモジュールはプリンター10やホストコンピューター40のディスプレイ等の出力デバイスに依存しない共通のグラフィックス用インターフェイスをアプリケーションプログラム42に提供する。印刷処理が指示されると、GDIの描画命令がプリンタードライバー44に渡され、描画命令に基づくレンダリング処理が行われる。その結果、プリンター10の印刷可能な解像度の画素毎にRGB表色系の256階調の色情報を有する画像データが生成され、外部インターフェイス45を介してプリンター10に送信される。また、描画処理が指示されると、GDIの描画命令がディスプレイドライバー(図示せず)に渡され、レンダリング処理が行われる。
【0030】
一方、プリンター10は、コントローラー20と印刷エンジン30とを有する。コントローラー20は、例えば、外部インターフェイス22、画像形成プログラム23、RAM24、CPU21、色変換ユニット27、二値化ユニット28を有する。そして、プリンター10は、コントローラー20の外部インターフェイス22を介して画像データ11を受信すると、RGB表色系の256階調の色情報を有する画像データ11を印刷エンジン30の印刷可能な形式の画像データ(例えば、CMYKの2値の画像データ)に変換する。
【0031】
具体的に、コントローラー20の色変換ユニット27は、RGB表色系の256階調の画像データ11をプリンター10のトナーの色に対応するCMYKの表色系の256階調の画像データに変換する。また、二値化ユニット28は、色変換処理後の画像データの階調(この例では、256階調)を、画素毎のドットの有無を表す2値に変換する。二値化処理には、例えば、誤差拡散法やディザ法などの方法が用いられる。そして、印刷エンジン30は、CMYK表色系の2値の画像データに基づいて、印刷媒体に画像を形成する。
【0032】
なお、本実施の形態例において、プリンター10が色変換処理及び二値化処理を行うが、ホストコンピューター40が両処理を行ってもよい。また、本実施の形態例において、ホストコンピューター40が重複検出処理及び色変更処理を行うが、プリンター10が画像処理装置として両処理を行ってもよい。
【0033】
図2は、本実施の形態例の画像データPcの有する描画要素データ、及び、描画要素データの描画命令リストCLの一例を表す図である。描画要素データは、描画対象の要素画像を規定する描画開始座標情報と描画終了座標情報と色情報とを有する。以下、描画要素データをベクターデータとして述べる。
【0034】
図2の画像データPcは、線分L1、L2をそれぞれ描画するベクターデータB1、B2、及び、文字列“テキスト”T1を描画するベクターデータ群グループB3を有する。ベクターデータ群グループは複数のベクターデータ群の集合体であり、ベクターデータ群は複数のベクターデータの集合体である。また、画像データPcにおいて、ベクターデータB1、及び、ベクターデータ群グループB3は同一の黒色RGB1=(0,0,0)であり、ベクターデータB2の色はグレーRGB2=(35,35,35)である。
【0035】
図2の右下部の図は、ベクターデータ群グループB3と、そのベクターデータ群B31〜B34、及びベクターデータ群B31内のベクターデータB31a〜B31cを表す図である。具体的に、文字列“テキスト”T1を描画するベクターデータ群グループB3は、文字列“テキスト”のうち文字“テ”を描画するベクターデータ群B31、文字“キ”を描画するベクターデータ群B32、文字“ス”を描画するベクターデータ群B33、文字“ト”を描画するベクターデータ群B34によって構成される。
【0036】
そして、各文字を描画するベクターデータ群B31〜B34は、この例では、それぞれ複数のベクターデータによって構成される。例えば、文字“テ”を描画するベクターデータ群B31は、文字“テ”を構成する2つの横線と縦の曲線をそれぞれ描画する3つのベクターデータB31a〜B31cによって構成される。同様にして、図示していないが、文字“キ”を描画するベクターデータ群B32は3つのベクターデータB32a〜B32c、文字“ス”を描画するベクターデータ群B33は3つのベクターデータB33a〜B33c、文字“ト”を描画するベクターデータ群B34は2つのベクターデータB34a、B34bによって構成される。
【0037】
なお、本実施の形態例では、ベクターデータ群の一例として文字を挙げているが、ベクターデータ群はベクターデータの集合体であり、この例に限定されるものではない。ベクターデータ群は、例えば、矢印や立方体の図形等であってもよい。また、本実施の形態例において、文字を描画するベクターデータの集合体をベクターデータ群、文字列を描画するベクターデータの集合体をベクターデータ群グループとしているがこの例に限定されなくてもよい。例えば、文字列を描画するベクターデータの集合体をベクターデータ群としてもよい。
【0038】
図2の右上に示す描画命令リストCLは、図2の画像データPcの印刷時にプリンタードライバーに渡される描画命令の一例である。具体的に、例えば、同図の描画命令リストCLの初めの描画命令C1は、画像データPc全体のデフォルトのフォント及び、フォントサイズを指定する命令である。この例において、描画命令C1によって、サイズ44のMSゴシックが画像データPc内のデフォルト設定のフォントとして指定される。
【0039】
また、描画命令C2は、線分L1を描画するベクターデータB1の描画命令であり、線分L1の始点座標p1(10,10)と終点座標p2(100,100)、及び色情報RGB1=(0,0,0)が指定される。同様にして、描画命令C3は線分L2を描画するベクターデータB2の描画命令であり、線分L2の始点座標p5(53,35)と終点座標p6(120,35)、及び色情報RGB2=(35,35,35)が指定される。そして、描画命令C4は、文字列“テキスト”T1を描画するベクターデータ群グループB3の描画命令であり、描画する文字列T1と、描画する画素領域を指定する座標p3(30,25)と座標p4(62,40)、及び色情報RGB1=(0,0,0)が指定される。
【0040】
プリンタードライバー44は、図2の描画命令リストCLの各描画命令C1〜C4に基づいてレンダリング処理を行い、画素毎にRGB表色系の256階調を有する画像データを生成する。なお、本実施の形態例のプリンタードライバー44は、各描画命令の描画対象の画素領域が重複する場合、前後して、描画命令に基づいてレンダリング処理され異なる画像が重複する画素領域に対して描画されるものとする。
【0041】
図2の画像データPcでは、ベクターデータB1の描画対象の画素領域と、ベクターデータ群グループB3の描画対象の画素領域とが重複する(重複部分E1)。重複部分E1では、重複する各描画画像が同一色(RGB1=(0,0,0))であり、両描画画像の色の差分が所定量を超えないため、印刷画像における各描画画像の識別が困難になる。一方、ベクターデータB2の描画対象の画素領域と、ベクターデータ群グループB3の描画対象の画素領域もまた重複するが(重複部分E2)、それぞれの描画画像の色RGB1、RGB2間の色の差分は所定量を超える。このため、重複部分E2については、印刷画像における各描画画像の識別が可能になる。
【0042】
このように、描画画像が重複する場合、色の差分が所定量内の各ベクターデータの描画画像が識別困難であるのに対し、色の差分が所定量を超える各ベクターデータの描画画像はその識別が可能である。そこで、画像処理装置は、図2の重複部分E1のように、色の差分が所定量内であるベクターデータB1とベクターデータ群グループB3の描画画像が重複する場合、例えば、ベクターデータB1の色情報との色の差分が所定量を超えるようにベクターデータ群グループB3の色情報を変更することによって、各描画画像の識別を可能にする。
【0043】
なお、本実施の形態例における色の差分の所定量は、例えば、画像データが印刷される印刷装置(プリンター10)やディスプレイ等の表示デバイスで表色可能な色空間における最大の色の差分の約3%未満である。例えば、CIE2000の色差式に基づく色の差分が、色空間における最大の色の差分の約3%未満内である場合に、両色の人の目による識別が困難であることが実測に基づいて確認されている。ただし、この色の差分の所定量は、印刷装置や表示デバイスの機種、経年劣化、及び使用する色材の種類等に依存して変動する。
【0044】
図3は、変更対象の画素範囲の異なるベクターデータの色情報の変更例をそれぞれ表す図である。同図において、画像データERは図2の画像データPcの一部を抜粋したものである。そして、画像データER1〜ER4は、画像データERと同領域の画像データであり、それぞれ色情報の変更範囲が異なる。
【0045】
図3の画像データER1は、ベクターデータ群グループB3の全てのベクターデータの色情報を変更した場合の画像データである。この例では、ベクターデータ群グループB3の色情報が、黒色RGB1=(0,0,0)から色の差分が所定量を超えるグレーRGB´=(35,35,35)に変更されることにより、重複部分E1における線分L1と文字列T1とが識別可能となっている。しかし、その一方、重複部分E2において、文字列T1が線分L2と同一色(35,35,35)に変更されたことにより、文字列T1と線分L2の識別が困難となっている。
【0046】
このように、ベクターデータ群グループB3が複数のベクターデータB1、B2とそれぞれ重複し、ベクターデータ群グループB3とベクターデータB1の色の差分が所定量内である場合(同一色を含む)、画像処理装置が、ベクターデータ群グループB3の色情報を変更することにより、かえって、ベクターデータB2との色の差分が所定量内になってしまうことがある。この結果、今度はベクターデータ群グループB3とベクターデータB2の描画画像が識別困難になってしまう。そして、ベクターデータ群グループB3と重複するベクターデータが多数である場合、ベクターデータ群グループB3の色情報を、重複する全てのベクターデータと色の差分が所定量を超えるように変更することは困難である。
【0047】
[第1の実施の形態例]
そこで、本実施の形態例における画像処理装置は、第1描画要素データ(ベクターデータ)の第1の要素画像と、第2描画要素データ(ベクターデータ)との第2の要素画像の重複を検出する重複検出手段と、色情報を比較して色の差分が所定量内か否かを判断する色判断手段と、色情報を変更する色情報変更手段を有する。そして、重複が検出された第1描画要素データ(ベクターデータ)の第1色情報と第2描画要素データ(ベクターデータ)の第2色情報における色の差分が所定量内と判断された場合、色情報変更手段は、第1、第2色情報のうち少なくとも1つの色情報を変更する。
【0048】
このように、本実施の形態例における画像処理装置は、色の差分が所定量内のベクターデータの描画画像が重複する場合にベクターデータ単位で色情報を変更する。これにより、画像処理装置は、ベクターデータ群またはベクターデータ群グループ単位で色情報を変更する場合に対して、色情報の変更対象の画素領域を最小限に抑える。そして、色情報の変更の結果、ベクターデータ群またはベクターデータ群グループ全体の色情報が変更され、今度は他の重複するベクターデータとの色の差分が所定量内となり当該重複部分で描画画像の識別が困難になってしまう確率が低くなる。
【0049】
図3の画像データER2は、ベクターデータ群グループB3のベクターデータのうち、ベクターデータB1と重複するベクターデータB31b、B31cのみの色情報を変更した場合の画像データである。画像データER2では、ベクターデータB34aについては色情報が変更されないことから、ベクターデータB34aとベクターデータB2の描画画像の識別性が維持されている。
【0050】
続いて、本実施の形態例の画像処理装置の処理の詳細について、フローチャート図に基づいて説明する。
【0051】
図4は、本実施の形態例の画像処理装置における画像処理の流れを説明するフローチャートの一例である。本実施の形態例の画像処理装置において、各ベクターデータの要素画像の1画素以上の画素領域における重複の検出方法は2つある。第1の検出方法は、レンダリング処理において重複を検出する方法(S20)であり、第2の検出方法は、描画命令の示す描画領域に基づいて重複を検出する方法(S30)である。
【0052】
[レンダリング処理時の重複検出処理の説明]
初めに、本実施の形態例における画像処理装置の処理例について、レンダリング処理において重複を検出する第1の検出方法(S20)に基づいて説明する。ここでは、画像データの印刷指示が行われた場合における画像処理を例示する。アプリケーション42上で印刷指示が行われると、プリンタードライバー44は、描画命令リストCLを受信し、ベクターデータ群グループ及びベクターデータ群単位の描画命令をベクターデータ単位の描画命令に展開する(S11)。まず、描画命令の展開処理について説明する。
【0053】
図5は、描画命令の展開処理を説明する図である。同図の描画命令リストCL2は、図2の描画命令リストCL1をベクターデータ単位に展開したものである。図2の描画命令リストCL1において、描画命令C2、C3はそれぞれベクターデータB1、B2の描画命令であり、描画命令C4はベクターデータ群グループB3の描画命令である。そこで、プリンタードライバー44は、描画命令C4を、ベクターデータ単位の描画命令に展開する。
【0054】
まず、プリンタードライバー44は、ベクターデータ群グループB3の描画命令C4を、ベクターデータ群B31〜B34単位の描画命令C41〜C44に展開する。描画命令C4の展開処理に伴い、描画命令C41〜C44におけるパラメーターの描画領域がそれぞれ設定される。具体的に、ベクターデータ群“テ”B31の描画命令C41は、文字列“テキスト”T1の描画領域のうち、文字“テ”の描画領域を示す座標(32,25)、(38,40)が設定される。他の描画命令C42〜44についても同様である。
【0055】
そして、プリンタードライバー44は、ベクターデータ群B31〜B34単位の描画命令C41〜C44を、さらに、ベクターデータB31a〜B34b単位の描画命令C41a〜C44bにそれぞれ展開する。具体的に、プリンタードライバー44は、文字“テ”を描画するベクターデータ群B31の描画命令C41を、ベクターデータ群B31を構成する3つのベクターデータB31a〜B31cの描画命令C41a〜C41cに展開する。また、同様に、描画命令C41の展開に伴い、描画命令C41a〜C41cの描画領域がそれぞれ設定される。他のベクターデータ群B32〜B34の描画命令C42〜C44についても同様である。このように、プリンタードライバー44は、ベクターデータ群グループB3の描画命令C4を、描画命令(C41a〜C41c、…)のように、ベクターデータ単位に展開する。
【0056】
図4のフローチャート図に戻り、続いて、プリンタードライバー44は、ベクターデータ単位の描画命令(C41a〜C41c、…)に基づいてレンダリング処理を行い、描画対象の各画素について色情報(256階調のRGB値)とベクターデータ識別情報とを有する画素データを生成し(S21)、レンダリングメモリー領域に格納する。ベクターデータ識別情報とは、画素を描画するベクターデータを指す情報である。そして、プリンタードライバー44は、レンダリング処理によって描画される画素領域が、他のベクターデータによって描画される画素領域と重複するか否かを検出する(S22)。
【0057】
具体的に、プリンタードライバー44は、描画命令に基づく画素データを生成する対象のレンダリングメモリー領域における画素領域に、既に他のベクターデータのベクターデータ識別情報が格納されているときに、重複を検出する(S22のYES)。重複を検出すると、プリンタードライバー44は、重複が検出された両ベクターデータの色情報における色の差分が所定量内か否かを判定する(S23)。色の差分が所定量内であると判定された場合(S23のYES)、プリンタードライバー44はいずれかのベクターデータの色情報を、色の差分が所定量をこえるように変更する(S24)。例えば、プリンタードライバー44は、ベクターデータの色情報における明度を減少または増加させることによって変更する。ただし、この例に限定されるものではなく、プリンタードライバー44は、例えば、色情報における彩度やインク濃度を増減させることにより変更してもよい。
【0058】
一方、重複が検出されない場合(S22のNO)、または、重複が検出された場合であって(S22のYES)、ベクターデータの色情報における色の差分が所定量内ではない場合(S23のNO)、プリンタードライバー44はベクターデータの色情報の変更を行わない。そして、プリンタードライバー44は、全てのベクターデータの描画命令について工程S21〜S24の処理を繰り返し、全ての描画命令の処理が終了すると(S12のYES)、生成した画像データ11をプリンター10に送信する。
【0059】
そして、プリンター10に画像データ11が入力されると、プリンター10の色変換ユニット27は、画素毎にRGB表色系の階調値を有する画素データをトナーの表色系であるCMYKの階調値を有する画素データに色変換する(S13)。続いて、画像データは、二値化ユニット28によって印刷エンジン30が印刷可能な階調を画素毎に有する画像データに変換され(S14)、印刷エンジン30によって紙等の印刷媒体に印刷される(S15)。
【0060】
このように、プリンタードライバー44は、レンダリング処理において、ベクターデータの要素画像の重複を検出することができる。
【0061】
[レンダリング処理時の重複検出の具体例]
続いて、レンダリング処理時におけるベクターデータの重複検出処理(第1の検出方法、図4のS20)の具体例を説明する。
【0062】
図6は、ベクターデータ群グループB3のレンダリング処理時に、ベクターデータB1との重複を検出する場合の処理例を説明する図である。同図において、(A)は、図5の描画命令リストCL2において描画命令C1〜C41aまで描画処理された画像データER6とそのレンダリングメモリー領域P1を、(B)はさらにベクターデータB31bの描画命令C41bが描画処理された画像データER6−1とそのレンダリングメモリー領域P2を表す。
【0063】
図4のフローチャート図において、プリンタードライバー44は、描画命令リストCL2(図5)に従い、まず、ベクターデータB1の描画命令C2に基づくレンダリング処理を行う(S21)。レンダリング処理の結果、図6の(A)のレンダリングメモリー領域P1のように、網点で表されるベクターデータB1の描画対象の画素領域g1の各画素(例えば、画素pa〜ph…)に色情報RGB=(0,0,0)、及び、ベクターデータ識別情報「B1」が格納される。
【0064】
続いて、プリンタードライバー44は、描画命令C3、C41aに基づくレンダリング処理の後、描画命令C41bに基づくレンダリング処理を行う。具体的に、プリンタードライバー44は、描画命令C41bに基づいて、横線で表されるベクターデータB31bの描画対象の画素領域g2の各画素(例えば、画素pc〜pe、pf〜ph…)について、色情報RGB=(0,0,0)及びベクターデータ識別情報「B31b」を有する画素データを生成する。そして、プリンタードライバー44は、生成した画素データを、レンダリングメモリー領域P2に示した画素領域g2に格納させようとするが、画素領域g2内の画素pc、pd、pf〜phには既にベクターデータ識別情報「B1」を有する画素データが格納されていることから、ベクターデータB1との重複を検出する(S22のYES)。
【0065】
そこで、プリンタードライバー44は、例えば、重複画素pc、pd、pf〜phに格納された色情報RGB1と、描画命令C41bのレンダリング処理によって生成された画素データの色情報RGB1との色の差分が所定量内であるか否かを判定する(S23)。この場合、色の差分が0であることから(S23のYES)、プリンタードライバー44は、例えば、ベクターデータB31bの色情報をRGB1=(0,0,0)から、色の差分が所定量をこえるRGB´=(35,35,35)に変更する。これにより、図6の(B)のレンダリングメモリー領域P2における重複画素pc、pd、pf〜ph以外の画素領域g2には、色情報RGB´及びベクターデータの識別情報「B31b」が格納される。そして、重複画素pc、pd、pf〜phには、色情報RGB´及びベクターデータの識別情報「B1、B31b」が格納される。
【0066】
このように、プリンタードライバー44は、レンダリング処理においてベクターデータの重複を検出し、両ベクターデータの色情報における色の差分が所定量内の場合に、いずれかのベクターデータの色情報を、色の差分が所定量を超えるように変更する。なお、同図(B)のレンダリングメモリー領域P2の重複画素pc、pd、pf〜phには、色情報RGB´と、前面に描画されるベクターデータ(この例では、ベクターデータB31b)の識別情報「B31b」のみが格納されてもよい。また、ベクターデータ識別情報はB1、B31b等の例に限定されるものではなく、ベクターデータが特定可能であればよい。
【0067】
また、上記の図6の例では、重複するベクターデータのうち、後から描画されるベクターデータB31bの色情報を変更する場合を例示した。しかし、プリンタードライバー44は、重複するベクターデータのうち、既に描画済みであるベクターデータB1の色情報を変更してもよい。この場合、プリンタードライバー44は、例えば、レンダリングメモリー領域P1からベクターデータ識別情報「B1」を有する画素を検出し、当該画素の色情報を変更する。
【0068】
[描画命令の示す描画領域に基づく重複検出処理の説明]
図4のフローチャート図に戻り、続いて、本実施の形態例における画像処理装置の処理例を第2の検出方法(S30)に基づいて説明する。第2の検出方法は、描画命令の示す描画領域に基づいて重複を検出する方法である。
【0069】
図4のフローチャート図において、ベクターデータ群グループまたはベクターグループ群の描画命令をベクターデータ単位に展開した後(S11)、プリンタードライバー44は、第2の検出方法では、描画命令の示す描画領域に基づいてベクターデータが重複するか否かを検出する(S31)。具体的に、プリンタードライバー44は、描画命令のパラメーターの示す描画対象の画素領域が、既に描画済みの他のベクターデータの画素領域、または、他のベクターデータの描画命令の示す画素領域と重複するか否かを判定する。
【0070】
重複を検出すると(S31のYES)、プリンタードライバー44は、重複が検出された各ベクターデータの色情報における色の差分が所定量内であるか否かを判定する(S32)。色の差分が所定量内であると判定された場合(S32のYES)、プリンタードライバー44はいずれかのベクターデータの色情報を、色の差分が所定量をこえるように変更する(S33)。プリンタードライバー44は、描画命令において指定された色情報を変更し、変更後の描画命令に基づいてレンダリング処理を行う(S34)。
【0071】
一方、重複が検出されない場合(S31のNO)、または、重複が検出された場合であって(S31のYES)、各ベクターデータの色情報における色の差分が所定量内ではない場合(S32のNO)、プリンタードライバー44は色情報の変更を行わない。そして、プリンタードライバー44は、全てのベクターデータの描画命令について工程S31〜S34の処理を繰り返し、全ての描画命令の処理を終了すると(S12のYES)、生成した画像データ11をプリンター10に送信する。この後の処理は、1つ目の検出方法と同様である。
【0072】
このように、プリンタードライバー44は、描画命令の示す描画対象の画素領域に基づいて重複を検出することにより、描画命令のレンダリング処理前にベクターデータの重複を検出することができる。これにより、プリンタードライバー44は、レンダリング処理後に重複が検出され、再度レンダリング処理が行われることを回避できる。
【0073】
[描画命令の示す描画領域に基づく重複検出の具体例]
続いて、描画命令の示す描画領域に基づく重複検出処理(第2の検出方法、図4のS30)の具体例を説明する。
【0074】
図5の右下の画像データER5、ER5−1は、描画命令C41bの示す描画領域に基づいて、ベクターデータB1との重複を検出する場合の処理例を説明する図である。同図の画像データER5では、描画命令C41bの描画領域E31b、及び描画命令C41cの描画領域E31cがそれぞれ表されている。
【0075】
図4のフローチャート図において、プリンタードライバー44は、描画命令リストCL2(図5)に従い、まず、ベクターデータB1の描画命令C2の示す描画対象の画素領域が他のベクターデータの画素領域と重複するか否かを判定する(S31)。具体的に、プリンタードライバー44は、描画命令C2のパラメーターに指定された座標p1(10,10)から座標p2(100,100)の示す線形の画素領域が、他のベクターデータによって描画済みか否かを判定する。この場合、レンダリングメモリー領域における描画命令C2の示す画素領域にベクターデータ識別情報が保持されていないため、重複は検出されない(S31のNO)。そこで、プリンタードライバー44は、描画命令C2に基づくレンダリング処理を行う(S34)。
【0076】
続いて、プリンタードライバー44は、描画命令C3、描画命令C41aについてそれぞれ重複の判定を行うが(S31)、この例において重複が検出されないため(S31のNO)、各描画命令に基づくレンダリング処理を行う(S34)。続いて、プリンタードライバー44は、描画命令C41bの重複の判定処理を行う(S31)。具体的に、プリンタードライバー44は、図5の画像データER5における、描画命令C41bのパラメーターの座標p10(31,28)座標p11(37,29)の示す点線で囲まれた画素領域E31bが他のベクターデータの画素領域と重複するか否かを判定する。この場合、画素領域E31bがベクターデータB1の画素領域と重複することにより、プリンタードライバー44は重複を検出する(S31のYES)。
【0077】
続いて、プリンタードライバー44は、重複が検出されたベクターデータB1とベクターデータB31bの色情報における色の差分が所定量内か否かを判定する(S32)。同一色であることから(S32のYES)、プリンタードライバー44は、例えば、図5の描画命令リストCL2の描画命令C41b´のように、描画命令C41bの色情報を示すパラメーターをRGB1=(0,0,0)からRGB´=(35,35,35)に変更する(S33)。そして、プリンタードライバー44は、変更後の描画命令C41b´に基づいてレンダリング処理を行う(S34)。
【0078】
そして、プリンタードライバー44は、同様にして、描画命令C41cについても、描画命令C41cのパラメーターの座標p12(33,29)座標p13(35,36)の示す画素領域E31cと、ベクターデータB1の画素領域との重複を検出する(S31のYES)。同様に、両ベクターデータが同一色であることから(S32のYES)、プリンタードライバー44は、描画命令C41cの色情報をRGB1=(0,0,0)からRGB´=(35,35,35)に変更し(S33)、変更後の描画命令C41c´に基づいてレンダリング処理を行う(S34)。
【0079】
これにより、図5の画像データER5−1のように、ベクターデータ群グループB3のうち、ベクターデータB1と重複するベクターデータB31b、B31cのみの色情報がRGB1からRGB´に変更され描画される。
【0080】
このようにして、本実施の形態例におけるプリンタードライバー44は、図3の画像データER2のように、ベクターデータ群グループB3のうちベクターデータB1と重複し色の差分が所定量内である場合、当該重複するベクターデータB31b、B31cのみの色情報を変更する。これにより、ベクターデータB34aの色情報は変更されないため、ベクターデータB34aとベクターデータB2の描画画像の識別性が維持される。
【0081】
また、本実施の形態例では、プリンタードライバー44が重複検出ユニット51及び色変換ユニット52を有し、画像データの印刷時に両ユニットの処理が行われる場合を例示した。しかし、例えば、アプリケーション42が両ユニット51、52を有し、アプリケーション42における画像データの表示デバイスへの描画処理時に両ユニット51、52の処理が行われてもよい。また、アプリケーション42における画像変換機能として、両ユニット51、52の処理が行われてもよい。
【0082】
以上のように、本実施の形態例における画像処理装置は、第1描画要素データと第2描画要素データの要素画像の重複を検出し、第1、2の描画要素データの色情報における色の差分が所定量内である場合に、第1、2のいずれかの描画要素データの色情報を描画要素データ単位に変更する。これにより、画像処理装置は、印刷画像における第1、2の描画要素データの描画画像の重複部分において、各描画要素データの描画画像を識別可能にする。
【0083】
また、第1描画要素データが、さらに描画要素データ群に含まれ、描画要素データ群に含まれる第1描画要素データ以外の描画要素データがその他の描画要素データと重複する場合、画像処理装置は、描画要素データ群単位に色情報を変更するのではなく、第2描画要素データと重複し色の差分が所定量内である第1描画要素データの色情報のみを変更する。
【0084】
これにより、第1描画要素データ以外の描画要素データの色情報が変更されないため、第1描画要素データ以外の描画要素データの色情報が変更されて、重複するその他の描画要素データの色情報と差分が所定量内になってしまうことが予め回避される。この結果、第1、2の描画要素データの描画画像の重複部分では両描画画像が識別可能になると共に、第1描画要素データ以外の描画要素データとその他の描画要素データ描画画像の重複部分において両描画画像の識別性が維持される。
【0085】
このように、本実施の形態例における画像処理装置は、色の差分が所定量内であり描画画像が重複する描画要素データの色情報を描画要素データ単位に変更することにより、重複部分の描画画像を識別可能にしながら、色情報の変更対象の画素領域を最小限に抑えることができる。
【0086】
[第2の実施の形態例]
第1の実施の形態例の画像処理装置は、ベクターデータB1と重複するベクターデータ群グループB3のうち重複するベクターデータB31b、B31cの色情報をベクターデータ単位に変更したが、第2の実施の形態例の画像処理装置は、ベクターデータ群B31単位に色情報を変更する。
【0087】
つまり、第2の実施の形態例の画像処理装置は、描画要素データ群に含まれる第1描画要素データと、第2描画要素データの要素画像の重複を検出し、第1、2の描画要素データの色情報における色の差分が所定量内である場合に、第1描画要素データの色情報を変更すると共に、描画要素データ群に含まれる第1描画要素データ以外の描画要素データの色情報も変更する。これにより、画像処理装置は、印刷画像における第1、2の描画要素データの描画画像の重複部分において各描画画像を識別可能にすると共に、第1描画要素データが含まれる描画要素データの集合体単位に描画画像の色を統一し判読性を高める。
【0088】
具体的に、例えば、図3の画像データER3のように、ベクターデータB1とベクターデータ群グループB31におけるベクターデータB31bが重複し、色の差分が所定量内である場合、画像処理装置は、ベクターデータ群グループB3のうち、ベクターデータB31bが含まれる集合体であるベクターデータ群B31の全てのベクターデータB31a〜B31cの色情報を一様に変更する。
【0089】
これにより、図3の画像データER3のように、線分L1と重複する文字列T1のうち、線分L1と色の差分が所定量内の重複するベクターデータが含まれる文字毎に色情報が変更される。ただし、文字列T1内の“テ”以外の文字の色は変更されないことから、文字“ト”と重複する線分L2との識別性は維持される。この結果、色の差分が所定量内の描画画像の重複部分において、各描画画像が識別可能になると共に、ベクターデータの最小の集合体単位(例えば、本実施の形態例では文字単位“テ”)に色情報が変更されることにより、印刷画像において集合体の色が統一されその判読性が高まる。
【0090】
[第3の実施の形態例]
第3の実施の形態例の画像処理装置は、ベクターデータ群に含まれる各ベクターデータが全体でひとつのベクターデータのみと重複するか、ベクターデータ群に含まれる各ベクターデータがそれぞれ異なるベクターデータと重複し全体で複数のベクターデータと重複するかによって、色情報を変更する対象ベクターデータ範囲を変更する。
【0091】
つまり、第3の実施の形態例の画像処理装置は、描画要素データ群に含まれる第1描画要素データと、第2描画要素データの要素画像の重複を検出し、第1、2の描画要素データの色情報における色の差分が所定量内である場合、描画要素データ群に含まれ第1描画要素データ以外のいずれかの描画要素データが第3描画要素データと重複する時は描画要素データ単位で色情報を変更する。一方、画像処理装置は、描画要素データ群に含まれ第1描画要素データ以外のいずれの描画要素データも第3描画要素データと重複しないときは、描画要素データ群に含まれる全ての描画要素データの色情報を変更する。
【0092】
これにより、画像処理装置は、印刷画像における第1、2の描画要素データの描画画像の重複部分において各描画画像を識別可能にすると共に、その他の描画要素データとの重複がある場合に、当該重複部分において両描画画像の識別性を維持する。一方、画像処理装置は、描画要素データ群における第1描画要素データ以外の描画要素データとその他の描画要素データとの重複がない場合は、第1描画要素データが含まれる描画要素データの集合体単位に色情報を統一し、描画画像の判読性を高める。
【0093】
具体的に、例えば、図3の画像データER4のように、ベクターデータB1とベクターデータ群グループB31におけるベクターデータB31b、B31cが重複し色の差分が所定量内であり、さらにベクターデータB31b、B31c以外のベクターデータ(ベクターデータB31a)が、ベクターデータB1以外のベクターデータ(例えば、線分L4を描画するベクターデータB4)と重複する場合、画像処理装置は、ベクターデータB31b、B31cのみの色情報を変更する。一方、例えば、図3の画像データER3のように、ベクターデータB31b、B31c以外のベクターデータB31aが、ベクターデータB1以外のベクターデータと重複しない場合は、画像処理装置は、ベクターデータ群B31に含まれる全てのベクターデータB31a〜B31cの色情報を変更する。
【0094】
これにより、画像処理装置は、図3の画像データER4のように、文字“テ”内のベクターデータが色の差分が所定量内の線分L1と重複し、さらに文字“テ”内の他のベクターデータが線分L4と重複する場合は、線分L4との重複部分における描画画像の識別性を維持するために、線分L1と重複するベクターデータのみの色情報を変更する。一方、図3の画像データER3のように、文字“テ”内のベクターデータが色の差分が所定量内である線分L1のみと重複する場合、画像処理装置は、重複するベクターデータを含む集合体である文字“テ”の全ベクターデータの色情報を変更することによって文字単位に色を統一し印刷画像の判読性を高める。
【0095】
このようにして、本実施の形態例における画像処理装置は、色情報の変更範囲を最小限にしながら、重複部分の描画画像を識別可能にすると共に印刷画像の判読性を高める。
【0096】
なお、本実施の形態例における画像処理は、コンピューター読み取り可能な記録媒体にプログラムとして記憶され、当該プログラムをコンピューターが読み出して実行することによって行われてもよい。
【符号の説明】
【0097】
10:プリンター、20:コントローラー、21、CPU、22:外部インターフェイス、23:画像形成プログラム、24:RAM、27:色変換ユニット、28:二値化ユニット、30:印刷エンジン、40:ホストコンピューター、41:CPU、42:アプリケーションプログラム、43:RAM、44:プリンタードライバー、45:外部インターフェイス

【特許請求の範囲】
【請求項1】
描画開始座標情報と描画終了座標情報と色情報とを有する描画要素データの画像処理を行う画像処理装置において、
第1描画要素データの第1の要素画像と、第2描画要素データとの第2の要素画像の重複を検出する重複検出手段と、
前記色情報を比較して色の差分が所定量内か否かを判断する色判断手段と、
前記色情報を変更する色情報変更手段と、
を有し、
前記色情報変更手段は、前記重複検出手段において重複が検出され、前記色判断手段において前記第1描画要素データの第1色情報と前記第2描画要素データの第2色情報の前記色の差分が所定量内と判断された場合、前記第1色情報と前記第2色情報のうち少なくとも1つの前記色情報を変更することを特徴とする画像処理装置。
【請求項2】
前記第1描画要素データは複数の描画要素データから成る描画要素データ群に含まれ、前記第2描画要素データは前記描画要素データ群に含まれないことを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記色情報変更手段は、前記第1色情報を変更すると共に、前記描画要素データ群に含まれる前記第1描画要素データ以外の描画要素データの前記色情報も変更することを特徴とする請求項2記載の画像処理装置。
【請求項4】
前記所定量は、0であることを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
【請求項5】
前記所定量は、前記画像処理装置において表色可能な色空間における最大の色の差分の3%未満であることを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
【請求項6】
前記重複検出手段は、前記第1、2描画要素データの描画命令に基づいて画素毎の画像データを生成するレンダリング処理において前記重複を検出することを特徴とする請求項1乃至5のいずれかに記載の画像処理装置。
【請求項7】
前記重複検出手段は、前記第1、2の描画要素データの描画命令の示す描画対象の前記画素領域に基づいて前記重複を検出することを特徴とする請求項1乃至5のいずれかに記載の画像処理装置。
【請求項8】
前記重複検出手段は、前記第1描画要素データの第1の要素画像と、前記第2描画要素データの第2の要素画像とが、1画素以上で重複していることを検出することを特徴とする請求項1乃至7のいずれかに記載の画像処理装置。
【請求項9】
前記描画要素データは、ベクターデータであることを特徴とする請求項1乃至8のいずれかに記載の画像処理装置。
【請求項10】
描画開始座標情報と描画終了座標情報と色情報とを有する描画要素データの画像処理をコンピューターに実行させるコンピューター読み取り可能な画像処理プログラムにおいて、
前記画像処理は、
第1描画要素データの第1の要素画像と、第2描画要素データとの第2の要素画像の重複を検出する重複検出工程と、
前記色情報を比較して色の差分が所定量内か否かを判断する色判断工程と、
前記色情報を変更する色情報変更工程と、
を有し、
前記色情報変更工程は、前記重複検出工程において重複が検出され、前記色判断工程において前記第1描画要素データの第1色情報と前記第2描画要素データの第2色情報の前記色の差分が所定量内と判断された場合、前記第1色情報と前記第2色情報のうち少なくとも1つの前記色情報を変更することを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−195744(P2012−195744A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−57858(P2011−57858)
【出願日】平成23年3月16日(2011.3.16)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】