説明

画像処理装置及びコンピュータプログラム

【課題】 精度よく描画コマンドを透過オブジェクトへ変換することができなかった。
【解決手段】 上記課題を解決するために本発明は、描画論理順序判定をし、描画領域判定をし、
透過変換判定をおこない、透過に変換すべきと判断された場合に、対象パターンを透過オブジェクトへ変換するパターン変換することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理装置の制御方法、及びコンピュータプログラムに関する。
特に、パターンとディザ処理との干渉を抑制する画像処理装置、画像処理装置の制御方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
文書あるいは画像といったデータをプリンタなどの画像処理装置で印刷する際には、ビットマップにより印刷を行うことが知られている。こうした画像処理装置では、ディザ処理を行うことで階調表現を行っている。しかし、市松模様などの微小なパターンで表現された部分にディザ処理を行った場合、ディザ処理とパターンの干渉によって出力結果が崩れてしまうという問題が従来からあった。
【0003】
また、近年ではパーソナルコンピュータ等の情報処理装置が性能向上したことにより、アプリケーションの機能も増え、パターンや塗りつぶし表現以外にも透過表現も行えるようなものが増えてきている。しかし、アプリケーション上で透過表現されているオブジェクトであっても、印刷を行う時にはインターフェース上の制限によりパターンを用いて擬似的に透過表現を行う場合がある。このため、近年ではパターンを含む印刷データが増える傾向にあり、パターンとディザ処理との干渉は重大な問題になっている。さらに、レーザスキャナユニットを光学的に調整する工程を削減し、印刷データに対してレーザービームの曲がりや傾きを考慮してデジタル補正する技術がある。このデジタル補正ではパターンとディザ処理が干渉することにより、デジタル補正がうまくいかずに色むら等が発生するといった問題がある。デジタル補正では、レーザービームの曲がりや傾きを考慮しレーザービームの曲がり、傾きにより生じる画像の歪み量分、予め印刷データ(ビットマップ画像)を副走査方向にずらし画素単位の補正をする。また、ずらした境界面で段差を軽減させるため画素未満の補正を行なうべく補間処理を行っている。この補間処理では、文字やラインなど段差が影響しやすい(視覚的に目立つ)ものを補間し、階調画像などの段差が影響しにくいものは補間を行ってしまうと濃度差が目立つため補間を行わない。このようにデータの種類によって補間を行うか行わないかを切り替えている。しかしながら、この切り替え(データの種類)の判定の際に、パターンとディザ処理の干渉した画像を用いる構成では、この干渉により濃度の変化が強調され本来階調画像と判定されるべき画像部分が誤って、文字やラインと誤判定されることが有る。その結果、誤った判定結果に従い補間処理が行なわれることで、階調画像部分に色むら等が発生する場合がある。
【0004】
特許文献1は、印刷データに含まれる描画コマンドを解析し、パターンによる塗りつぶしが指定されている場合は均一濃度で塗りつぶしを行うべく多値データに変換を行う。特に、上書きパターンによる塗りつぶし指定の場合は平均階調で表現され、マスクパターンによる塗りつぶしが指定されている場合は透過度で表現される。これによりパターンとディザ処理の干渉を防止している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−23960号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来の方法は、パターンによる塗りつぶしが指定されている場合に平均階調又は透過度に変換を行っている。この際、平均階調、透過度に変換されることが好ましい微小なドットのon/offからなる市松模様パターンだけではなく、ユーザが平均階調、透過度への変換を意図せず作ったある程度大きなドットon/offからなる市松模様パターンも平均階調又は透過度に変換される。この場合、印刷結果に干渉は起こらないがユーザが意図した画像と見た目上異なった画像になってしまう可能性が考えられる。
【0007】
また、擬似的に透過表現を行うパターンは特定の描画コマンドの組み合わせにより表現されるため、描画コマンドを解析することにより擬似的に透過表現を行うパターンを判定することができる。しかし、描画コマンドの組み合わせのみの判定では、擬似的に透過表現されたもの以外のパターンについても誤って、擬似的に透過表現を行うパターンと判定してしまい、本来透過表現に変換すべきでないものまで変換してしまうおそれがある。
【0008】
そこで、本発明では上述した課題を解決するためになされたものであって、その目的は、精度よく描画コマンドを透過オブジェクトへ変換することである。
【課題を解決するための手段】
【0009】
上記課題を解決するために本発明は、印刷データを受信するデータ受信手段と、
前記受信した印刷データ内の描画コマンドの描画論理順序が、二つの描画論理XORの間に描画論理ANDが1または複数で表現されているかを判定する描画論理順序判定手段と、
前記描画論理順序判定手段によって前記描画論理順序で表現されていると判断された場合に、前記描画論理ANDのオブジェクトが前記描画論理XORのオブジェクトの領域内であるかを判定する描画領域判定手段と、
前記描画領域判定手段によって前記描画論理ANDのオブジェクトが前記描画論理XORのオブジェクトの領域内であると判定された場合に、前記描画論理ANDで表現されているオブジェクトのパターンを解析して透過に変換するべきかの判定を行う透過変換判定手段と、
前記透過変換判定手段によって透過に変換すべきと判断された場合に、前記描画論理XORのオブジェクトと前記描画論理ANDのオブジェクトで表現されるパターンを透過オブジェクトへ変換するパターン変換手段と、
を備えることを特徴とする。
【発明の効果】
【0010】
本発明によると、精度よく描画コマンドを透過オブジェクトへ変換することが可能になる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態としての構成図。
【図2】本発明における印刷処理の処理フローの例を示す図。
【図3】透過表現されたオブジェクトが複数コマンドに分割される例を示す図。
【図4】パターン例を示す図。
【図5】孤立点の判定方法の例を示す図。
【図6】パターンの一様性を判定するためのパターン分割例を示す図。
【図7】デジタル補正の例を示す図。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0013】
図1は、本実施形態のシステム構成の一例を示す図である。図1(A)は、本実施形態の画像処理装置を有するシステムの構成例を示し、図1(B)は、本実施形態の画像処理装置が備える制御装置の機能ブロック図の例を示す。図1(A)に示す画像処理装置1は、印刷データを受信し、受信した印刷データ内の描画コマンド等を解析し、判定結果により描画コマンドを変換したのちに印刷処理を実行する情報処理装置である。画像処理装置1は、MFP(Multi Function Printer)、SFP(Single Function Printer)、LBP(Laser Beam Printer)のうち、いずれのプリンタであってもよい。また、画像処理装置1は、MFP、SFP、LBP以外のプリント方式のプリンタであってもよい。画像処理装置1は、イーサネット(登録商標)等のLAN(Local Area Network)3を介し、画像処理装置1に対して各種指示を行うホストコンピュータ2と接続されている。
【0014】
画像処理装置1は、図1(A)に示すように、制御装置11、プリンタ装置12、外部メディア接続部13、操作部14、記憶装置15を備える。制御装置11は、画像処理装置1全体を制御する。制御装置11は、外部メディア接続部13、記憶装置15、又はLAN3を介して印刷データを受信し、受信した印刷データについて印刷処理を実行する。具体的には、制御装置11はプリンタ装置12に指示して印刷データを印刷出力させる。
【0015】
制御装置11は、ハードウェア資源として、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113を備える。CPU111は、ROM112又は他の記憶媒体に格納された制御プログラムに基づいて、画像処理装置1全体を統括制御する。上記制御プログラムは、本実施形態の画像処理装置の制御方法を実現するコンピュータプログラムである。RAM113は、CPU111の作業領域として用いられる記憶手段である。プリンタ装置12は、制御装置11の指示に従って、印刷データを印刷出力する。外部メディア接続部13は、USB(Universal Serial Bus)メモリ等の外部メディアから印刷データの入力が可能な装置である。操作部14は、各種機能の表示/設定や画像処理装置の状況の表示を行う。このために、操作部14は液晶パネルを備える。記憶装置15は、印刷データの格納/保存を行う。
【0016】
図1(B)に示すように、制御装置11は、データ受信部101、中間データ生成部102、コマンド解析部103、パターン解析部104、パターン変換部105、レンダリング部106、ハーフトーン変換部107、デジタル補正部108を備える。データ受信部101は、外部メディア接続部13、記憶装置15、LAN3から印刷データを受信するデータ受信手段として機能する。中間データ生成部102は、印刷データ内の描画コマンドを解析し、中間データを生成し、中間データをレンダリング部106に送る。中間データ生成部102は、描画コマンド解析時、特定の描画コマンドであった場合にはコマンド解析部103に処理を移す。コマンド解析部103は、描画コマンドを詳細に解析し、特定の条件に合った場合、パターン解析部104に処理を移す。具体的には、描画コマンドの種類(反転を示す描画論理(XOR)、上書きを示す描画論理(AND))や描画範囲を解析する。パターン解析部104は、コマンド解析部103で解析した描画コマンドのうちANDで表現されているタイルパターンについて一様性・規則性を解析し、後述で詳細に説明する特定の条件にあった場合、パターン変換部105に処理を移す。パターン変換部105は、パターン解析部104で解析したタイルパターンを基に、コマンド解析部103で解析した描画コマンドを透過指定された描画コマンドに変換を行う。レンダリング部106は、中間データ生成部102より受け取った中間データを基にビットマップデータを生成し、ハーフトーン変換部107に送る。ハーフトーン変換部107は、レンダリング部106より受け取ったビットマップデータに対してハーフトーン処理を行いハーフトーンデータを生成し、デジタル補正部108に送る。デジタル補正部108は、画像処理装置1のレーザービームの曲がりや傾き情報を基にハーフトーンデータに対してデジタル補正処理を行う。
【0017】
図2は、本実施形態の画像処理装置による印刷処理を説明する図である。
【0018】
まず、ステップS200で、制御部11が備えるデータ受信部101が、印刷データを受信し印刷データを中間データ生成部102に渡す。
【0019】
ステップS201で、中間データ生成部102は、印刷データ内の描画コマンドを解析し、解析する描画コマンドがなくなった(全ての描画コマンドを解析した)場合はステップS211へ進む。解析する描画コマンドがある場合はステップS202へ進む。
【0020】
ステップS202で、コマンド解析部103は、描画コマンドがどの描画論理で指定されているか解析を行う。
【0021】
ステップS203で、コマンド解析部103は、描画コマンドが特定の描画論理で指定されているか判断を行い、特定の描画論理であった場合はステップS205へ進む。特定の描画論理でない場合はステップS204へ進む。ここで、特定の描画論理について説明する。図3(A)に示すように、アプリケーション上で透過表現されたオブジェクトがホストコンピュータ2のプリンタドライバ、OSにより擬似的な透過表現に変換される。この擬似的な透過表現では、オブジェクトより描画範囲の広い反転を示す描画論理XOR 1とオブジェクトと同じ描画範囲のタイルパターンで構成された上書きを示す描画論理ANDとXOR 1と同等の指定がなされるXOR 2で表現される。図3(A)に示した例では、描画論理XOR 1−AND−XOR 2であるが、図3(B)のように描画論理XOR 1−XOR 2の間に複数の描画論理ANDで表現されたオブジェクトがあっても構わない。コマンド解析部103は、このように描画論理XORとANDの順序や領域を解析する(描画論理順序判定、描画領域判定)ことにより判定を行う。
【0022】
本実施形態では、上述した図3(A)の描画コマンドのパターンを基に説明を行うと、ステップS203では、コマンド解析部103は、描画コマンドが描画論理XORで指定されているか判断を行い、描画論理がXORでなければステップS204へ進む。描画論理がXORであった場合は、次に指定されている描画論理の解析を行う。次に指定されている描画論理がANDであった場合、ANDで指定されているオブジェクトがXORで表現されているオブジェクトの領域に収まる(領域内の)場合は、さらに次に指定されている描画論理の解析を行う。さらに次に指定されている描画論理がXORであり、最初に解析を行ったXORのオブジェクトと領域が等しい場合、特定の描画コマンドパターンであると判断を行い、ステップS205へ進む。
【0023】
ステップS204で、中間データ生成部102は、描画コマンドから中間データを生成する。中間データ生成部102は、生成した中間データをレンダリング部106に渡す。
【0024】
ステップS205で、パターン解析部104は、上記で解析を行った、XOR−AND−XORの特定の描画コマンドパターンのうち、AND指定されているオブジェクトについてタイルパターンの解析を行う。
【0025】
ステップS206で、パターン解析部104は、解析されたタイルパターンのドットのON(図4中、黒塗り)/OFF(図4中、白塗り)に関して孤立点があるかの解析を行う。ここで、孤立点とは図4に示すように、上下左右のドットが切り替わる点とする。解析されたタイルパターンのドットのON/OFFに関して、どちらも孤立点ではない点が存在する(ドットが連続している)場合(例えば図4中(d))は、透過への変換処理は行わずにステップS204へ進む。解析されたタイルパターンのドットのON/OFFに関して、少なくとも片方のドットで孤立点のみの点が存在する場合(例えば図4中(a)、(b)、(c))は、ステップS207へ進む。孤立点の判定には、タイルパターンの縦方向、横方向それぞれについて図5に示すようにAND演算とOR演算を行うことで判定できる。例えば、タイルパターンの縦方向にAND演算をするとは、タイルパターンのある行(N行)と次の行(N+1行)のAND演算を行うことである。同様にタイルパターンの横方向にAND演算をするとは、タイルパターンのある列(N列)と次の行(N+1列)のAND演算を行うことである。このように、図5(A)に示すようにAND演算を行うことで、タイルパターンのドットのONに関して、孤立点ではない点が存在するか判定できる。また、図5(B)に示すようにOR演算を行うことで、タイルパターンのドットのOFFに関して、孤立点ではない点が存在するか判定できる。それぞれの判定において、孤立点ではない点が存在しない場合は、孤立点のみであると判定する。
【0026】
ステップS207で、パターン解析部104は、解析されたタイルパターンのドットのON/OFFに関してどちらも孤立点のみで指定されている場合ステップS210へ進む。これは例えば図4中(a)、ステップS206の処理においてドットのON/OFFに関してどちらも孤立点ではない点が存在しない場合に相当する。解析されたタイルパターンのドットのON/OFFに関して片方のみ孤立点であった場合(例えば図4中(b)、(c)、前記判定に合わなかった場合)、ステップS208へ進む。
【0027】
ステップS208ではタイルパターンの一様性を判断すべく、パターン解析部104は、タイルパターンをN分割する。図6にタイルパターンを4分割した例を示し、4分割を例にタイルパターンの解析方法を説明する。
【0028】
ステップS209で、パターン解析部104は、ステップS208で分割された各タイルパターンのドットのON数を計算する。図6(A)の例では、[左上のタイルパターンのドットON数]=14、[右上のタイルパターンのドットON数]=14、[左下のタイルパターンのドットON数]=14、[右下のタイルパターンのドットON数]=14となる。この場合、タイルパターンのドットON数が一様であると判定できる。図6(B)の例では、[左上のタイルパターンのドットON数]=0、[右上のタイルパターンのドットON数]=4、[左下のタイルパターンのドットON数]=4、[右下のタイルパターンのドットON数]=0となる。この計算されたドットのON数を比較した結果を基に透過への変換を行うかの判定を行う。
【0029】
各タイルパターンのドットON数が等しいか差が1以内の場合(例えば図6(A))は、タイルパターンが一様であるとみなせるので透過へ変換すると判断し、ステップS210へ進む。この判断が透過変換判定となる。各タイルパターンのドットON数の差が2以上の場合(例えば図6(B))は、透過への変換は行わないと判断し、ステップS204へ進む。
【0030】
ステップS210で、パターン変換部105は、ANDで表現されているタイルパターンのドットのON数と描画領域、XORで表現されているオブジェクトの色値を基にXOR−AND−XORで表現されている描画コマンドを一つの透過オブジェクトへ変換を行う。透過への変換について、オブジェクトの透過度α(%)、色値、描画領域を以下のようにして求めることができる。オブジェクトの透過度αは、ステップS207によりドットのON/OFFがどちらも孤立点のみで表現されていると判定された場合(例えば図4中(a))は、ドットのON/OFFが等しいので透過度α=50%とすることができる。また、ステップS209において透過へ変換すると判断されたものは、透過度α=[100−(ドットON数の合計)/(タイルパターンの総ドット数)]×100(%)で表現される。オブジェクトの色値は、XORで表現されているオブジェクトの色値とし、オブジェクトの描画領域は、ANDで表現されているオブジェクトの領域として表現される。描画コマンドを変換後、ステップS204へ進む。
【0031】
ステップS211で、レンダリング部106は、中間データ生成部102より受け取った図2の(A)、(B)の処理により得られる中間データを基にレンダリング処理を行い、画像データを生成する。
【0032】
ステップS212で、ハーフトーン変換部107は、レンダリング処理された画像データに対してハーフトーン処理を行い、カラー画像であればシアン(C)、マゼンダ(M)、イエロー(Y)、ブラック(K)、それぞれに対して2値画像データを生成する。もちろん、ハーフトーン変換としては2値画像データへの変換に限定されるものではなく、量子化をするものであれば、2値以外のN値(N>2)に変換するものでよいことは言うまでも無い。
【0033】
ステップS213で、デジタル補正部108は、レーザービームの曲がりや傾きを考慮してデジタル補正を行う。例えば、図7に示すように、元画像(a)をデジタル補正せずに印刷した時に、画像(b)のように傾いてしまう場合、画像(c)〜画像(e)のようにデジタル補正を行う。補正を行うことで、画像(d)を印刷した時に印刷結果の画像(e)は元画像(a)に近い結果を得ることができる。このように、レーザービームの曲がりや傾き(画像形成時の走査ラインの曲がり)分画像をずらし(画像(a)→画像(c))、ずらした画像に対して補間処理を行う(画像(c)→画像(d))。この補間処理において、文字やラインなど段差が影響しやすいものを補間し、階調画像などの段差が影響しにくいものは補間を行ってしまうと濃度差が目立つため補間を行わない。
【0034】
この補間を行うか否かの判断はハーフトーン後の画像に対し、パターンマッチングを行うことで、高濃度の画素が連続する文字やラインか否かが判定される。
【0035】
上記のように擬似的な透過表現のオブジェクトが、透過オブジェクトに変換されたあと、レンダリングされるので、レンダリングされた画像とハーフトーン処理による干渉を低減できる。その結果本来階調画像と判定されるべき画像部分が誤って、文字やラインと誤判定される可能性を低減でき、誤った判定結果に従い補間処理が行なわれることを防止できる。
【0036】
ステップS213で、デジタル補正部108は、デジタル補正後の画像データをプリンタ装置12へ送り、印刷処理が実行される。
【0037】
また、上記で説明した印刷処理でのパターン変換処理を、ホストコンピュータやサーバ上のプリンタドライバでの設定画面や画像処理装置1の操作部14での設定画面において設定された設定値を基に、[行う/行わない]を切り替えても構わない。
【0038】
以上のように、本実施例では描画コマンドとタイルパターンを解析することにより、元々透過表現されていたものがタイルパターンに変換されたことを判定し、透過表現に戻すことが可能となる。タイルパターンを透過表現に変換することにより、タイルとディザ処理との干渉を抑えることができる。これにより、印刷データに対するデジタル補正処理において、補間処理のON/OFFの判定をより正確に行うことができ、色むら等の発生を防ぐことができる。また、タイルパターンを解析しているので擬似的に透過表現されたものではないユーザ作成のパターンを透過表現に置きかえてしまうことを抑えることができる。
【0039】
(その他の実施例)
また、本発明は、上記で説明した描画コマンド変換処理をホストコンピュータ側で行っても良い。すなわち、ホストコンピュータやサーバ上のプリンタドライバにおいて印刷データを作成する際に、上記で説明した描画コマンド変換処理が適用できる。

【特許請求の範囲】
【請求項1】
印刷データを受信するデータ受信手段と、
前記受信した印刷データ内の描画コマンドの描画論理順序が、二つの描画論理XORの間に描画論理ANDが1または複数で表現されているかを判定する描画論理順序判定手段と、
前記描画論理順序判定手段によって前記描画論理順序で表現されていると判断された場合に、前記描画論理ANDのオブジェクトが前記描画論理XORのオブジェクトの領域内であるかを判定する描画領域判定手段と、
前記描画領域判定手段によって前記描画論理ANDのオブジェクトが前記描画論理XORのオブジェクトの領域内であると判定された場合に、前記描画論理ANDで表現されているオブジェクトのパターンを解析して透過に変換するべきかの判定を行う透過変換判定手段と、
前記透過変換判定手段によって透過に変換すべきと判断された場合に、前記描画論理XORのオブジェクトと前記描画論理ANDのオブジェクトで表現されるパターンを透過オブジェクトへ変換するパターン変換手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記透過変換判定手段は、前記描画論理ANDで表現されているオブジェクトのパターンが、ドットのON/OFFに関してどちらも孤立点で表現されている場合に透過に変換すると判定する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記透過変換判定手段は、前記描画論理ANDで表現されているオブジェクトのパターンについて、ドットのON/OFFに関してどちらか片方が孤立点のみで表現されている場合に、パターンの一様性の判定を行い、一様と判断された場合に前記透過へ変換すると判定する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記一様性の判定は、前記描画論理ANDで表現されているオブジェクトのパターンを複数に分割し、該分割されたそれぞれのパターンについてドットON数を比較する
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記透過変換判定手段は、前記描画論理ANDで表現されているオブジェクトのパターンについて、ドットのON/OFFに関してどちらも連続している場合に、透過に変換しないと判定する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
レーザービームの曲がりや傾きによって、前記パターン変換されたオブジェクトをレンダリングし、該レンダリングした画像に画像形成時の走査ラインの曲がりによる画像の歪みを補正するデジタル補正を行なうデジタル補正手段を更に有する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
透過オブジェクトへ変換を行う情報処理装置としてコンピュータを機能させるためのプログラムであって、
印刷データ内の描画コマンドの描画論理順序が、二つの描画論理XORの間に描画論理ANDが1または複数で表現されているかを判定する描画論理順序判定手段と、
前記描画論理順序判定手段によって前記描画論理順序で表現されていると判断された場合に、前記描画論理ANDのオブジェクトが前記描画論理XORのオブジェクトの領域内であるかを判定する描画領域判定手段と、
前記描画領域判定手段によって前記描画論理ANDのオブジェクトが前記描画論理XORのオブジェクトの領域内であると判定された場合に、前記描画論理ANDで表現されているオブジェクトのパターンを解析して透過に変換するべきかの判定を行う透過変換判定手段と、
前記透過変換判定手段によって透過に変換すべきと判断された場合に、前記描画論理XORのオブジェクトと前記描画論理ANDのオブジェクトで表現されるパターンを透過オブジェクトへ変換を行うパターン変換手段と、
としてコンピュータを機能させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−116015(P2011−116015A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−274954(P2009−274954)
【出願日】平成21年12月2日(2009.12.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】