印刷装置、および、ドライバープログラム
【課題】PWMの分解能が低い場合でも、なるべく画質の低下を防ぐ技術を提供する。
【解決手段】本発明の印刷装置100は、エッジ検出部112と、スクリーン処理部113と、画像データに含まれる各画素を入力階調値に応じたC(ただしC≦A)ビットのパルス幅データに変換するパルス幅変換部114と、スクリーン処理部113及びパルス幅変換部114のいずれかから出力されたパルス幅データを出力する出力部115と、を備える。パルス幅変換部114は、画像データに含まれる各画素を、入力階調値に応じて、Cビットのパルス幅データよりも高精度なB(ただしB>A)ビットの仮パルス幅データに変換し、当該仮パルス幅データを、パルス幅データの精度に合わせた実数データに変換し、所定の範囲の一様乱数を加えることによって、Cビットのパルス幅データに変換する。
【解決手段】本発明の印刷装置100は、エッジ検出部112と、スクリーン処理部113と、画像データに含まれる各画素を入力階調値に応じたC(ただしC≦A)ビットのパルス幅データに変換するパルス幅変換部114と、スクリーン処理部113及びパルス幅変換部114のいずれかから出力されたパルス幅データを出力する出力部115と、を備える。パルス幅変換部114は、画像データに含まれる各画素を、入力階調値に応じて、Cビットのパルス幅データよりも高精度なB(ただしB>A)ビットの仮パルス幅データに変換し、当該仮パルス幅データを、パルス幅データの精度に合わせた実数データに変換し、所定の範囲の一様乱数を加えることによって、Cビットのパルス幅データに変換する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、および、ドライバープログラムに関する。
【背景技術】
【0002】
プリンターなどの印刷装置は、画素ごとに多値の階調値を有する入力階調データをスクリーン処理して、2値の出力階調データを生成する。そして、印刷エンジンでは、生成された出力階調データに従って画像形成が行われる。
【0003】
スクリーン処理としては、多値ディザ法と称されるドット集中型のディザ法による処理が知られている。一般的な多値ディザ法では、複数の画素からなるセル内において、入力階調値が増大するほど、セルの中心からドット(網点)の面積が増大するようにドットが形成される。
【0004】
しかし、多値ディザ法によるスクリーン処理には、特に低濃度において、細線が切れたり、文字や線のエッジ部分にジャギーが発生したりする、という課題がある。
【0005】
この課題を解決するために、入力画像に対してエッジ検出を行い、エッジ画素と非エッジ画素で各々異なる画像処理を施す手法が提案されている(例えば、特許文献1)。
【0006】
この手法では、非エッジ画素に対しては従来と同様のドット集中型の多値ディザ法によるスクリーン処理を行い、エッジ画素に対しては視覚特性を考慮したフィルタリング処理を行うことで、画質の改善を図っている。
【0007】
さらに、この手法では、エッジ画素について細線か否かを判別し、細線と判断された画素については、PWM(Pulse Width Modulation)で処理可能なM(=4)ビット精度のパルス幅データに変換することで、よりきめ細やかな印刷を可能にしている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−100228号
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、細線と判断されたエッジ画素をパルス幅データに変換する場合、印刷可能な階調数はPWMの分解能に依存する。つまり、Mビット精度のパルス幅データまでしか処理できないPWMでは、最大でも2Mの階調数しか表現できない。
【0010】
本発明は、PWMの分解能が低い場合でも、なるべく画質の低下を防ぐ技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するための本願発明は、画素ごとにAビットの入力階調値を有する画像データに基づいて印刷を実行する印刷装置であって、前記画像データからエッジ画素を検出するエッジ検出部と、前記画像データに含まれる各画素をスクリーン処理によって2値化するスクリーン処理部と、前記画像データに含まれる各画素を前記入力階調値に応じたC(ただしC≦A)ビットのパルス幅データに変換するパルス幅変換部と、前記スクリーン処理部で2値化されたデータに基づくパルス幅データ、及び、前記パルス幅変換部で変換されたパルス幅データ、のいずれかを画素ごとに出力する出力部と、前記出力部から出力されたパルス幅データに対応するパルス信号を出力して印刷を実行する印刷実行部と、を備える。前記パルス幅変換部は、前記画像データに含まれる各画素を、前記入力階調値に応じて、前記Cビットのパルス幅データよりも高精度なB(ただしB>A)ビットの仮パルス幅データに変換し、当該仮パルス幅データを、前記パルス幅データの精度に合わせた実数データに変換し、所定の範囲の一様乱数を加えることによって、前記Cビットのパルス幅データに変換する。前記出力部は、前記エッジ検出部でエッジ画素として検出された画素については、前記パルス幅変換部で変換されたパルス幅データを出力し、前記エッジ検出部で非エッジ画素として検出された画素については、前記スクリーン処理部で2値化されたデータに基づくパルス幅データを出力する。
【図面の簡単な説明】
【0012】
【図1】本発明の印刷システム10の概略構成の一例を示すブロック図である。
【図2】画像処理回路110の概略構成の一例を示すブロック図である。
【図3】(A)属性情報Xの概略データ構造の一例を示す図である。(B)エッジ信号の一例を示す図である。
【図4】(A)閾値マトリクスの一例を示す図である。(B)スクリーン処理後の画像の一例を示す図である。
【図5】パルス幅と印字領域の関係を説明するための図である。
【図6】パルス幅変換テーブルの一例をグラフ化した図である。
【図7】(A)出力濃度特性の一例をグラフ化した図である。(B)目標とする入出力関係(入力階調値と出力濃度の関係)をグラフ化した図である。(C)入力階調値とパルス幅変換部114から出力されるパルス幅データの関係を示す図である。
【図8】パルス幅変換テーブルの生成方法について説明するための図である。
【図9】(A)(B)拡散処理による効果を説明するための図である。
【図10】(A)入力画像データの一例を示す図である。(B)全ての画素を非エッジ画素としてスクリーン処理した場合の出力画像データの一例を示す図である。(C)エッジ画素と非エッジ画素でスクリーン処理を変更した場合の出力画像データの一例を示す図である。
【図11】エッジ画素の位置に応じて注目画素内における印字領域をずらす場合に得られる出力画像データの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態について図面を参照して説明する。
【0014】
図1は、本発明の一実施形態が適用された印刷システム10の概略構成の一例を示すブロック図である。図示するように、印刷システム10は、印刷装置100と、情報処理装置(ホストPC)200と、を備える。
【0015】
情報処理装置200は、印刷装置100のホストコンピューターとして機能する。そして、情報処理装置200には、例えば、LAN等のコンピューターネットワークやUSBケーブルを介して通信可能に、印刷装置100が接続されている。
【0016】
情報処理装置200は、不図示の、CPU(Central Processing Unit)と、RAM(Random Access Memory)等の主記憶装置と、ROM(Read Only Memory)やハードディスク等の外部記憶装置と、ディスプレイ等からなる出力装置と、キーボード、マウス等からなる入力装置と、印刷装置100とデータの送受信を行う通信インターフェイスと、を備える一般的なコンピューターである。
【0017】
そして、情報処理装置200は、図示するように、画像データ入力部210と、ラスタライズ処理部220と、を有する。なお、各機能部(210、220)は、外部記憶装置に記憶されている所定のプログラムを主記憶装置にロードしてCPUで実行することで実現可能である。
【0018】
画像データ入力部210は、印刷対象の画像を入力する。印刷対象の画像には、例えば、文字データ、グラフィックデータ、イメージデータなどの画像データが含まれる。また、情報処理装置100で作成された画像に限らず、コンピューターネットワークやUSBケーブルを介して入力された画像、USBメモリーや携帯電話に内蔵されるメモリー等の可搬型メモリーから入力された画像、等を含む。
【0019】
ラスタライズ処理部220は、例えば、オペレーティングシステムの特定の機能とプリンタードライバーにより構成される。ラスタライズ処理部220は、画像データ入力部210によって入力された画像データを、画素ごとに複数ビットの階調値を有する入力画像データに変換し、印刷装置100に出力する。入力画像データがモノクロデータであれば、例えば、8ビットの256階調値を有する。また、入力画像データがカラーデータであれば、RGB画像データまたはCMYK画像データ等であり、色ごとに8ビットの256階調値を有する。
【0020】
上記の情報処理装置200の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、一般的なコンピューターが備える他の構成を排除するものではない。また、情報処理装置200は、印刷装置100のホストコンピューターとして機能すれば、例えば、携帯端末などでもよい。
【0021】
印刷装置100は、情報処理装置200から送信された入力画像データの印刷を行う。印刷装置100は、図示するように、画像処理回路110と、パルス幅変調部(PWM)120と、印刷エンジン130と、を備える。また、印刷装置100は、不図示の、CPUと、RAM等の主記憶装置と、ROMやフラッシュメモリー等の外部記憶装置と、ネットワーク50に接続するための通信装置と、入力ボタン、タッチパネルなどからなる入力装置と、液晶ディスプレイなどからなる出力装置と、を備えた一般的なプリンターである。
【0022】
図2は、画像処理回路110の概略構成の一例を示すブロック図である。図示するように、画像処理回路110は、色変換部111と、属性エッジ検出部112と、スクリーン処理部113と、パルス幅変換部114と、出力部115と、を有する。なお、各機能部(111〜115)は、専用のハードウェア(ASIC等)で実現してもよいし、外部記憶装置に記憶されている処理のプログラムを主記憶装置にロードしてCPUで実行することで実現してもよい。
【0023】
色変換部111は、情報処理装置200から送信された入力画像データに対して、色変換を行う。例えば、入力画像データが色ごとにA(=8)ビットの入力階調値(2A=256階調)を有するRGB画像データであれば、色変換部111は、色ごとにAビットの入力階調値(2A=256階調)を有するCMYK画像データに変換して出力する。
【0024】
なお、画像処理回路110は、スクリーン処理に先立ち、情報処理装置200から送信された入力画像データを構成する各画素に、その属性を特定可能な情報(以下では「属性情報X」とよぶ)を付加しておく。
【0025】
図3(A)は、属性情報Xの概略データ構造の一例を示す図である。図示するような属性情報Xが、入力画像データを構成する各画素に付加される。なお、各画素を正方形で表しており、正方形内の数字は、属性を識別するための値を表している。例えば、写真属性には「0」が割り当てられ、グラフィック属性には「1」が割り当てられ、文字属性には「2」が割り当てられ、線属性には「3」が割り当てられている。
【0026】
そして、色変換部111は、入力画像データに付加されている属性情報X(例えば、2ビット)については、そのまま出力する。
【0027】
属性エッジ検出部112は、属性情報Xを用いて、入力画像データに含まれるエッジ画素を検出する。
【0028】
例えば、属性エッジ検出部112は、色変換部111から出力された属性情報Xに対応する画素を注目画素とした場合に、当該注目画素の属性情報Xと、当該注目画素からみて上下左右の各方向に隣接する画素の属性と、を比較する。そして、属性エッジ検出部112は、当該注目画素の属性情報Xと、当該注目画素からみて上下左右のいずれか1つの方向に隣接する画素の属性と、が異なれば、当該注目画素をエッジ画素として検出する。
【0029】
なお、上記のエッジ検出の処理は、エッジ検出の対象となる属性を有する注目画素(例えば、線属性の画素)に対して実施される。
【0030】
そして、属性エッジ検出部112は、エッジ検出の結果を反映させたエッジ信号を出力部115へ出力する。例えば、属性エッジ検出部112は、エッジ画素として検出された画素についてはエッジ信号「1」を出力し、非エッジ画素として検出された画素(すなわち、エッジ画素として検出されなかった画素)についてはエッジ信号「0」を出力する。
【0031】
図3(B)は、図3(A)に示す属性情報Xを用いてエッジ検出が行われたときに属性エッジ検出部112が出力するエッジ信号を示す図である。図示するように、属性エッジ検出部112は、線属性の属性情報Xを有する画素(図3Aの黒塗り画素)のうち、線属性以外の属性情報Xを有する画素と隣接する画素(図3Bの黒塗り画素)については、エッジ画素とみなしてエッジ信号「1」を出力する。また、それ以外の画素については、非エッジ画素とみなしてエッジ信号「0」を出力する。
【0032】
図2に戻り、スクリーン処理部113は、色変換部111から出力されたCMYK画像データに対して、スクリーン処理を施す。
【0033】
具体的には、スクリーン処理部113は、図4(A)に示すような5×5のサイズからなる閾値マトリクスを用い、色変換部111から出力された入力階調値と、当該入力階調値を有する画素に対応する閾値と、を比較し、入力階調値が閾値よりも大きい場合に、当該画素の位置に印字する(出力ドットを形成する)ための2値化データを生成する。一方、入力階調値が閾値以下である場合には、当該画素の位置に印字しない2値化データを生成する。なお、ここで、スクリーン処理部113が出力する2値化データは、例えば、印字の場合にパルス幅変調部120から出力されるパルス信号のパルス幅と、非印字の場合にパルス幅変調部120から出力されるパルス信号のパルス幅と、のいずれかを指定するパルス幅データ(C’M’Y’K’)でよい。もちろん、2値化データは、印字、非印字を区別する1ビットの識別データでもよい。なお、図4(A)に示した例では、1画素のパルス幅の分解能を1ビットとしているが、パルス幅変調によりMビットの出力を行ってもよい。その場合には、1画素に対応する閾値がMビットで構成されることとなる。
【0034】
図4(B)は、スクリーン処理後の2値化データ(C’M’Y’K’)の一例を示す図である。なお、正方形内の数字は、印字するか否かを示す値(「0」:非印字、「1」:印字)を表している。
【0035】
図2に戻り、パルス幅変換部114は、色変換部111から出力されたCMYK画像データに対して、パルス幅変換処理を施す。
【0036】
具体的には、パルス幅変換部114は、色変換部111から出力されたCMYK画像データの入力階調値に応じて、パルス幅変調部120から出力されるパルス信号のパルス幅を決定する。そして、パルス幅変換部114は、決定されたパルス幅を指定するパルス幅データ(C’’M’’Y’’K’’)を出力部115へ出力する。
【0037】
図5は、パルス幅変調部120から出力されるパルス信号のパルス幅と、印字範囲の関係を示す図である。なお、画素内における黒塗り部分を印字範囲とし、画素内おける白塗り部分を非印字範囲とする。図示するように、パルス幅変換部114から出力されるパルス幅データに応じて、各画素の印字範囲が変更される。従って、例えば、パルス幅変換部114からC(=4)ビット精度のパルス幅データが出力される場合には、各画素の印字範囲を2C段階で変更することができる。
【0038】
なお、パルス幅変調部(PWM)120でC(=4)ビット精度のパルス幅データまでしか処理できない(PWMの分解能がCビット)とすると、パルス幅変換部114は、C(=4)ビット精度以下のパルス幅データを出力しなければならない。
【0039】
しかし、色変換部111からパルス幅変換部114へ送られてくるCMYK画像データは、色ごとにA(ただし、A≧C)ビットの入力階調値を有しているため、それよりビット数の少ないCビットのパルス幅データに変換すると、当然のことながら画質の低下を引き起こす。
【0040】
このような画質の低下を防ぐために、本実施形態のパルス幅変換部114は、色ごとにAビットの入力階調値(階調値2A)を有するCMYK画像データが色変換部111から送られてくると、まずは、当該入力階調値よりも高精度な(ビット数の多い)、B(ただし、B>A)ビットの仮パルス幅データに変換する(「仮のパルス幅変換処理」とよぶ)。
【0041】
それから、パルス幅変換部114は、Bビットの仮パルス幅データを、パルス幅変調部(PWM)120で処理可能なビット数Cに合わせた実数データに変換し、所定の範囲Sの一様乱数を加えることによって、Cビットのパルス幅データに変換する(「拡散処理」とよぶ)。
【0042】
以下、「仮のパルス幅変換処理」と「拡散処理」について詳細に説明する。
【0043】
<仮のパルス幅変換処理>
パルス幅変換部114は、入力階調値と、仮のパルス幅と、を対応付けたパルス幅変換テーブルを用いて、仮のパルス幅変換処理を行う。具体的には、パルス幅変換部114は、CMYK画像データの入力階調値に対応付けられているパルス幅をパルス幅変換テーブルから抽出し、仮のパルス幅(Bビット)として決定する。
【0044】
図6は、パルス幅変換テーブルの一例をグラフ化した図である。図示するように、パルス幅変換テーブルに格納されている、入力階調値と、仮のパルス幅と、の関係は非線形となる。
【0045】
ここで、入力階調値と、仮のパルス幅と、の関係を非線形にしているのは、パルス幅変調部120から出力されるパルス信号のパルス幅に対して、実際に印刷媒体に印字される出力濃度が比例しないためである。以下では、パルス幅変調部120から出力されるパルス信号のパルス幅に対する、実際の出力濃度の関係を「出力濃度特性」とよぶ。
【0046】
図7(A)は、出力濃度特性の一例をグラフ化した図である。図示するように、パルス幅変調部120から出力されるパルス信号のパルス幅と、実際に印刷媒体に印字される出力濃度と、の関係は非線形となる。このような、出力濃度特性は、装置(印刷装置100)固有のものであり、使用環境によっても異なる。
【0047】
そのため、パルス幅変換テーブルには、印刷装置100の工場出荷時において、入力階調値とパルス幅の関係が最適となるように各値が格納される。ここで、最適な入力階調値とパルス幅の関係とは、入力階調値に対して、実際に印刷媒体に印字される出力濃度(印刷濃度)が比例する(リニアとなる)関係を指す。なお、パルス幅変換テーブルに格納された各値が最適である場合、エッジ画素を印字する場合(パルス幅変換部114から出力されたデータに基づく印字)の出力濃度は、非エッジ画素を印字する場合(スクリーン処理部113から出力されたデータに基づく印字)の出力濃度に一致する。
【0048】
図7(B)は、入力階調値と、出力濃度と、の目標となる関係を示す図である。図示するように、入力階調値に対して、実際に印刷媒体に印字される出力濃度を比例させることができれば、高品質な印字結果を得ることができる。
【0049】
なお、図8は、図6に示すようなパルス幅変換テーブルの生成方法を説明するための図である。図示するように、パルス幅変換部114は、第1象限に、図7(A)に示すような出力濃度特性のグラフ(関係)をプロットし、第2象限に、図7(B)に示すような入力階調値と出力濃度の目標となる関係(グラフ)をプロットし、第3象限に、比例係数を「1」とする正比例の直線をプロットする。
【0050】
そして、パルス幅変換部114は、パルス幅Nを出発点(図示するA点)として、その出発点のパルス幅Nに対応する出力濃度Rを第1象限のグラフ(出力濃度特性のグラフ)から特定する(図示するB点)。それから、パルス幅変換部114は、特定した出力濃度Rに対応する入力階調値を第2象限のグラフ(目標となる入出力関係)から特定する(図示するC点)。さらに、パルス幅変換部114は、特定した入力階調値(第3象限のD点で折り返した値)と、出発点のパルス幅Nと、を対応付けて(すなわち、図示するE点の値を)、パルス幅変換テーブルに格納する。
【0051】
パルス幅変換部114は、以上のような入力階調値とパルス幅Nの対応付けを、出発点(パルス幅N)を変更して繰り返し行う。こうして、入力階調値に対して、実際に印刷媒体に印字される出力濃度を比例させるためのパルス幅変換テーブルを生成できる。そして、パルス幅変換部114は、生成したパルス幅変換テーブルを、仮のパルス幅変換処理に先立って所定の記憶装置に格納しておく。
【0052】
こうして生成されたパルス幅変換テーブルを用いて、本実施形態のパルス幅変換部114は、画素ごとに、Aビットの入力階調値をB(B>A)ビットの仮パルス幅データに変換できる。
【0053】
<拡散処理>
次に、パルス幅変換部114は、Bビットの仮パルス幅データを、パルス幅変調部(PWM)120で処理可能なビット数C(ただし、C≦A)に合わせた実数データに変換する。具体的には、パルス幅変換部114は、以下の数式1に従って、Bビットの仮のパルス幅データを、パルス幅変調部(PWM)120で処理可能なビット数Cに合わせた実数データに変換する。
【0054】
DBL_X=INT_X×{(2C−1)/(2B−1)} ・・・(数式1)
【0055】
ここで、DBL_Xは、変換後の実数データを表し、INT_Xは、変換前の仮パルス幅データを表す。
【0056】
こうして、パルス幅変換部114は、パルス幅変調部(PWM)120で処理可能なビット数Cに合わせた実数データを得ることができる。なお、パルス幅変換部114は、Bビットの仮パルス幅データを、パルス幅変換部114から出力する予定のCビット精度のパルス幅データに合わせて、実数データに変換してもよい。
【0057】
それから、パルス幅変換部114は、得られた実数データの値を中心として、所定の範囲S(すなわち、±S/2)で一様に拡散させる乱数を、実数データに加える。具体的には、パルス幅変換部114は、以下の数式2に従って、実数データに一様乱数を加え、四捨五入することによって、出力すべきCビットのパルス幅データを得ることができる。
【0058】
DIFF_X=INT{DBL_X+Rs−(S/2)+0.5} ・・・(数式2)
【0059】
ここで、DIFF_Xは、出力すべきCビットのパルス幅データを表し、DBL_Xは、実数データを表し、Rsは、0からSまでの範囲の一様乱数を表す。なお、INT(・)は、切り捨て処理を表し、INT(k+0.5)で、「k」を四捨五入する処理を表す。
【0060】
図7(C)は、入力階調値と、パルス幅変換部114から出力されるパルス幅データと、の関係を示す図である。図示するように、パルス幅変換部114は、上記の「仮のパルス幅変換処理」と「拡散処理」を行うことで、Aビットの入力階調値(階調値2A)を、Cビットのパルス幅データに変換することができる。
【0061】
また、図9(A)、(B)は、「拡散処理」による効果を説明するための図である。図9(A)の上段に示すように、仮のパルス幅変換処理によって高階調化(高精度化)されたBビットの実数データに対して、本実施形態の「拡散処理」を適用せず、そのまま四捨五入すると、各画素のパルス幅データは、入力階調値に対応する適正なパルス幅データの値(図示する例では「12.3」)から離れてしまう。
【0062】
しかし、図9(A)の下段に示すように、仮のパルス幅変換処理によって高階調化(高精度化)されたBビットの実数データに対して、本実施形態の「拡散処理」を適用し、これを四捨五入すると、各画素のパルス幅データは、全体でみれば(平均的には)、入力階調値に対応する適正なパルス幅データの値(図示する例では「12.3」)に近づく。
【0063】
また、図9(B)は、本実施形態の「拡散処理」を適用しない場合における、入力階調値と出力濃度の関係を示すグラフの一例(点線)と、本実施形態の「拡散処理」を適用した場合における、入力階調値と出力濃度の関係を示すグラフの一例(太線)と、を重ねてプロットした図である。図示するように、「拡散処理」を適用することにより、入力階調値と出力濃度の関係を、図7(B)で説明した目標となる関係(比例)に近づけることができる。
【0064】
以上のことから、パルス幅変換部114は、上記の「拡散処理」を適用することによって、より高精度な(すなわち、入力階調値と出力濃度がよりリニアになる)パルス幅データを得ることができる、といえる。
【0065】
図2に戻り、出力部115は、スクリーン処理部113から出力されたパルス幅データ(C’M’Y’K’)と、パルス幅変換部114から出力されたパルス幅データ(C’’M’’Y’’K’’)と、のうち、いずれかのパルス幅データを選択して、パルス幅変調部120へ出力する。
【0066】
例えば、出力部115は、非エッジ画素については、スクリーン処理部113から出力されたパルス幅データ(C’M’Y’K’)を出力し、エッジ画素については、パルス幅変換部114から出力されたパルス幅データ(C’’M’’Y’’K’’)を出力する。
【0067】
そのため、出力部115は、非エッジ画素であることを示すエッジ信号「0」が属性エッジ検出部112から入力されている場合に、スクリーン処理部113から出力されたパルス幅データ(C’M’Y’K’)を、出力画像データ(C’’’M’’’Y’’’K’’’)として出力する。一方、出力部115は、エッジ画素であることを示すエッジ信号「1」が属性エッジ検出部112から入力されている場合には、パルス幅変換部114から出力されたパルス幅データ(C’’M’’Y’’K’’)を、出力画像データ(C’’’M’’’Y’’’K’’’)として出力する。
【0068】
こうして、出力部115から出力された出力画像データ(C’’’M’’’Y’’’K’’’)は、パルス幅変調部120へ入力される。
【0069】
そして、パルス幅変調部120は、入力された出力画像データ(C’’’M’’’Y’’’K’’’)を、画素ごとにレーザー駆動パルスに変換し、印刷エンジン130に出力する。
【0070】
印刷エンジン130は、レーザードライバー(不図示)と、レーザーダイオード(不図示)やライン状発光素子(不図示)と、を備える。レーザードライバーは、パルス幅変調部120から出力されたレーザー駆動パルスに従ってレーザーダイオードやライン状発光素子を駆動し、感光体ドラム(不図示)に出力画像データに基づく画像を形成する。
【0071】
図10(A)は、図3(B)のエッジ信号に対応した入力画像データの一例を示しており、図10(B)は、図10(A)の全ての画素を非エッジ画素としてスクリーン処理した場合の出力画像データの一例を示しており、図10(C)は、図10(A)のエッジ画素と非エッジ画素でスクリーン処理を変更した場合の出力画像データの一例を示す図である。図示するように、本実施形態では、非エッジ画素についてはスクリーン処理部113で処理されたデータに基づいて印字を行うが、エッジ画素についてはパルス幅変換部114で処理されたデータに基づいて印字を行うので、エッジ部分にジャギー等が発生するのを防げる。
【0072】
さらに、入力画像データに付加した属性情報Xを用いて、エッジ画素と非エッジ画素を分離しているため、従来よりも簡単な構成で、かつ、正確にエッジ画素と非エッジ画素を分離できる。そのため、ハードウェア面、或いはソフトウェア面での負荷を抑えることができる。また、色情報を破棄してもエッジ画素と非エッジ画素を正確に分離できるため、グレイ画像を処理する場合であっても、エッジ部分にジャギー等が発生するのを防ぐことができる。
【0073】
上記の印刷装置100の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、一般的なプリンターが備える他の構成を排除するものではない。また、印刷装置100は、印刷機能を有していれば、例えば、複合機、スキャナー装置、コピー機、FAX装置などでもよい。
【0074】
本実施形態が適用された印刷システム10は、以上のような構成からなる。ただし、上記の印刷システム10の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、他の構成の追加を排除するものではない。
【0075】
また、上記した各構成要素は、印刷システム10の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。印刷システム10の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【0076】
また、上記実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
【0077】
例えば、上記実施形態では、図5に示すように、パルス幅変調部120は、エッジ画素の位置に依存せずに、常に、印字領域が注目画素内の左端側(左寄り)となるようにパルス信号を出力している。
【0078】
しかし、本発明は、これに限定されず、エッジ画素の位置に応じて、注目画素内における印字領域をずらすことができる。
【0079】
例えば、パルス幅変調部120は、注目画素の右方向に隣接する画素についてのパルス幅データよりも、当該注目画素の左方向に隣接する画素についてのパルス幅データが大きい場合には、印字領域が注目画素内の左端側(左寄り)となるようにパルス信号を出力する。また、パルス幅変調部120は、注目画素の左方向に隣接する画素についてのパルス幅データよりも、当該注目画素の右方向に隣接する画素についてのパルス幅データが大きい場合には、印字領域が注目画素内の右端側(右寄り)となるようにパルス信号を出力する。また、パルス幅変調部120は、注目画素の左方向に隣接する画素についてのパルス幅データと、当該注目画素の右方向に隣接する画素についてのパルス幅データが等しい場合には、印字領域が注目画素内の中央位置となるようにパルス信号を出力する。
【0080】
この場合には、図11に示すような出力画像データを得ることができる。従って、常に印字領域が注目画素内の左端側(左寄り)となるようにパルス信号を出力する場合と比較して、エッジ部分の画質が向上する。なお、図11は、図3(B)のエッジ信号に基づいて得られる出力画像データの一例である。
【0081】
また、上記実施形態では、パルス幅変換部114は、実数データに、所定の範囲S(すなわち、±S/2)で一様に拡散させる乱数を加えて、Cビットのパルス幅データを生成している。しかし、本発明は、これに限定されない。
【0082】
例えば、実数データに加える一様乱数の範囲Sを、パルス幅変調部(PWM)120の分解能(Cビット)、或いは、パルス幅変換部114から出力するパルス幅データの精度(Cビット)に応じて可変としてもよい。
【0083】
また、実数データに加える一様乱数の範囲Sを、CMYK画像データの入力階調値に応じて可変としてもよい。この場合、例えば、パルス幅変換部114は、図6に示すように、入力階調値に対する仮のパルス幅の変化量が少ない範囲(図示するK1からK2までの範囲)の入力階調値であるか、それ以外の範囲(図示する0からK1、K2から255)の入力階調値であるか、に応じて、実数データに加える一様乱数の範囲Sを異ならせてもよい。
【0084】
このように、実数データに加える一様乱数の範囲Sを可変とすることで、より高精度な(すなわち、入力階調値と出力濃度がよりリニアになる)パルス幅データを得ることができる、
【符号の説明】
【0085】
100・・・印刷装置、110・・・画像処理回路、111・・・色変換部、112・・・属性エッジ検出部、113・・・スクリーン処理部、114・・・パルス幅変換部、115・・・出力部、120・・・パルス幅変換部、130・・・印刷エンジン、210・・・画像データ入力部、220・・・ラスタライズ処理部。
【技術分野】
【0001】
本発明は、印刷装置、および、ドライバープログラムに関する。
【背景技術】
【0002】
プリンターなどの印刷装置は、画素ごとに多値の階調値を有する入力階調データをスクリーン処理して、2値の出力階調データを生成する。そして、印刷エンジンでは、生成された出力階調データに従って画像形成が行われる。
【0003】
スクリーン処理としては、多値ディザ法と称されるドット集中型のディザ法による処理が知られている。一般的な多値ディザ法では、複数の画素からなるセル内において、入力階調値が増大するほど、セルの中心からドット(網点)の面積が増大するようにドットが形成される。
【0004】
しかし、多値ディザ法によるスクリーン処理には、特に低濃度において、細線が切れたり、文字や線のエッジ部分にジャギーが発生したりする、という課題がある。
【0005】
この課題を解決するために、入力画像に対してエッジ検出を行い、エッジ画素と非エッジ画素で各々異なる画像処理を施す手法が提案されている(例えば、特許文献1)。
【0006】
この手法では、非エッジ画素に対しては従来と同様のドット集中型の多値ディザ法によるスクリーン処理を行い、エッジ画素に対しては視覚特性を考慮したフィルタリング処理を行うことで、画質の改善を図っている。
【0007】
さらに、この手法では、エッジ画素について細線か否かを判別し、細線と判断された画素については、PWM(Pulse Width Modulation)で処理可能なM(=4)ビット精度のパルス幅データに変換することで、よりきめ細やかな印刷を可能にしている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−100228号
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、細線と判断されたエッジ画素をパルス幅データに変換する場合、印刷可能な階調数はPWMの分解能に依存する。つまり、Mビット精度のパルス幅データまでしか処理できないPWMでは、最大でも2Mの階調数しか表現できない。
【0010】
本発明は、PWMの分解能が低い場合でも、なるべく画質の低下を防ぐ技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するための本願発明は、画素ごとにAビットの入力階調値を有する画像データに基づいて印刷を実行する印刷装置であって、前記画像データからエッジ画素を検出するエッジ検出部と、前記画像データに含まれる各画素をスクリーン処理によって2値化するスクリーン処理部と、前記画像データに含まれる各画素を前記入力階調値に応じたC(ただしC≦A)ビットのパルス幅データに変換するパルス幅変換部と、前記スクリーン処理部で2値化されたデータに基づくパルス幅データ、及び、前記パルス幅変換部で変換されたパルス幅データ、のいずれかを画素ごとに出力する出力部と、前記出力部から出力されたパルス幅データに対応するパルス信号を出力して印刷を実行する印刷実行部と、を備える。前記パルス幅変換部は、前記画像データに含まれる各画素を、前記入力階調値に応じて、前記Cビットのパルス幅データよりも高精度なB(ただしB>A)ビットの仮パルス幅データに変換し、当該仮パルス幅データを、前記パルス幅データの精度に合わせた実数データに変換し、所定の範囲の一様乱数を加えることによって、前記Cビットのパルス幅データに変換する。前記出力部は、前記エッジ検出部でエッジ画素として検出された画素については、前記パルス幅変換部で変換されたパルス幅データを出力し、前記エッジ検出部で非エッジ画素として検出された画素については、前記スクリーン処理部で2値化されたデータに基づくパルス幅データを出力する。
【図面の簡単な説明】
【0012】
【図1】本発明の印刷システム10の概略構成の一例を示すブロック図である。
【図2】画像処理回路110の概略構成の一例を示すブロック図である。
【図3】(A)属性情報Xの概略データ構造の一例を示す図である。(B)エッジ信号の一例を示す図である。
【図4】(A)閾値マトリクスの一例を示す図である。(B)スクリーン処理後の画像の一例を示す図である。
【図5】パルス幅と印字領域の関係を説明するための図である。
【図6】パルス幅変換テーブルの一例をグラフ化した図である。
【図7】(A)出力濃度特性の一例をグラフ化した図である。(B)目標とする入出力関係(入力階調値と出力濃度の関係)をグラフ化した図である。(C)入力階調値とパルス幅変換部114から出力されるパルス幅データの関係を示す図である。
【図8】パルス幅変換テーブルの生成方法について説明するための図である。
【図9】(A)(B)拡散処理による効果を説明するための図である。
【図10】(A)入力画像データの一例を示す図である。(B)全ての画素を非エッジ画素としてスクリーン処理した場合の出力画像データの一例を示す図である。(C)エッジ画素と非エッジ画素でスクリーン処理を変更した場合の出力画像データの一例を示す図である。
【図11】エッジ画素の位置に応じて注目画素内における印字領域をずらす場合に得られる出力画像データの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態について図面を参照して説明する。
【0014】
図1は、本発明の一実施形態が適用された印刷システム10の概略構成の一例を示すブロック図である。図示するように、印刷システム10は、印刷装置100と、情報処理装置(ホストPC)200と、を備える。
【0015】
情報処理装置200は、印刷装置100のホストコンピューターとして機能する。そして、情報処理装置200には、例えば、LAN等のコンピューターネットワークやUSBケーブルを介して通信可能に、印刷装置100が接続されている。
【0016】
情報処理装置200は、不図示の、CPU(Central Processing Unit)と、RAM(Random Access Memory)等の主記憶装置と、ROM(Read Only Memory)やハードディスク等の外部記憶装置と、ディスプレイ等からなる出力装置と、キーボード、マウス等からなる入力装置と、印刷装置100とデータの送受信を行う通信インターフェイスと、を備える一般的なコンピューターである。
【0017】
そして、情報処理装置200は、図示するように、画像データ入力部210と、ラスタライズ処理部220と、を有する。なお、各機能部(210、220)は、外部記憶装置に記憶されている所定のプログラムを主記憶装置にロードしてCPUで実行することで実現可能である。
【0018】
画像データ入力部210は、印刷対象の画像を入力する。印刷対象の画像には、例えば、文字データ、グラフィックデータ、イメージデータなどの画像データが含まれる。また、情報処理装置100で作成された画像に限らず、コンピューターネットワークやUSBケーブルを介して入力された画像、USBメモリーや携帯電話に内蔵されるメモリー等の可搬型メモリーから入力された画像、等を含む。
【0019】
ラスタライズ処理部220は、例えば、オペレーティングシステムの特定の機能とプリンタードライバーにより構成される。ラスタライズ処理部220は、画像データ入力部210によって入力された画像データを、画素ごとに複数ビットの階調値を有する入力画像データに変換し、印刷装置100に出力する。入力画像データがモノクロデータであれば、例えば、8ビットの256階調値を有する。また、入力画像データがカラーデータであれば、RGB画像データまたはCMYK画像データ等であり、色ごとに8ビットの256階調値を有する。
【0020】
上記の情報処理装置200の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、一般的なコンピューターが備える他の構成を排除するものではない。また、情報処理装置200は、印刷装置100のホストコンピューターとして機能すれば、例えば、携帯端末などでもよい。
【0021】
印刷装置100は、情報処理装置200から送信された入力画像データの印刷を行う。印刷装置100は、図示するように、画像処理回路110と、パルス幅変調部(PWM)120と、印刷エンジン130と、を備える。また、印刷装置100は、不図示の、CPUと、RAM等の主記憶装置と、ROMやフラッシュメモリー等の外部記憶装置と、ネットワーク50に接続するための通信装置と、入力ボタン、タッチパネルなどからなる入力装置と、液晶ディスプレイなどからなる出力装置と、を備えた一般的なプリンターである。
【0022】
図2は、画像処理回路110の概略構成の一例を示すブロック図である。図示するように、画像処理回路110は、色変換部111と、属性エッジ検出部112と、スクリーン処理部113と、パルス幅変換部114と、出力部115と、を有する。なお、各機能部(111〜115)は、専用のハードウェア(ASIC等)で実現してもよいし、外部記憶装置に記憶されている処理のプログラムを主記憶装置にロードしてCPUで実行することで実現してもよい。
【0023】
色変換部111は、情報処理装置200から送信された入力画像データに対して、色変換を行う。例えば、入力画像データが色ごとにA(=8)ビットの入力階調値(2A=256階調)を有するRGB画像データであれば、色変換部111は、色ごとにAビットの入力階調値(2A=256階調)を有するCMYK画像データに変換して出力する。
【0024】
なお、画像処理回路110は、スクリーン処理に先立ち、情報処理装置200から送信された入力画像データを構成する各画素に、その属性を特定可能な情報(以下では「属性情報X」とよぶ)を付加しておく。
【0025】
図3(A)は、属性情報Xの概略データ構造の一例を示す図である。図示するような属性情報Xが、入力画像データを構成する各画素に付加される。なお、各画素を正方形で表しており、正方形内の数字は、属性を識別するための値を表している。例えば、写真属性には「0」が割り当てられ、グラフィック属性には「1」が割り当てられ、文字属性には「2」が割り当てられ、線属性には「3」が割り当てられている。
【0026】
そして、色変換部111は、入力画像データに付加されている属性情報X(例えば、2ビット)については、そのまま出力する。
【0027】
属性エッジ検出部112は、属性情報Xを用いて、入力画像データに含まれるエッジ画素を検出する。
【0028】
例えば、属性エッジ検出部112は、色変換部111から出力された属性情報Xに対応する画素を注目画素とした場合に、当該注目画素の属性情報Xと、当該注目画素からみて上下左右の各方向に隣接する画素の属性と、を比較する。そして、属性エッジ検出部112は、当該注目画素の属性情報Xと、当該注目画素からみて上下左右のいずれか1つの方向に隣接する画素の属性と、が異なれば、当該注目画素をエッジ画素として検出する。
【0029】
なお、上記のエッジ検出の処理は、エッジ検出の対象となる属性を有する注目画素(例えば、線属性の画素)に対して実施される。
【0030】
そして、属性エッジ検出部112は、エッジ検出の結果を反映させたエッジ信号を出力部115へ出力する。例えば、属性エッジ検出部112は、エッジ画素として検出された画素についてはエッジ信号「1」を出力し、非エッジ画素として検出された画素(すなわち、エッジ画素として検出されなかった画素)についてはエッジ信号「0」を出力する。
【0031】
図3(B)は、図3(A)に示す属性情報Xを用いてエッジ検出が行われたときに属性エッジ検出部112が出力するエッジ信号を示す図である。図示するように、属性エッジ検出部112は、線属性の属性情報Xを有する画素(図3Aの黒塗り画素)のうち、線属性以外の属性情報Xを有する画素と隣接する画素(図3Bの黒塗り画素)については、エッジ画素とみなしてエッジ信号「1」を出力する。また、それ以外の画素については、非エッジ画素とみなしてエッジ信号「0」を出力する。
【0032】
図2に戻り、スクリーン処理部113は、色変換部111から出力されたCMYK画像データに対して、スクリーン処理を施す。
【0033】
具体的には、スクリーン処理部113は、図4(A)に示すような5×5のサイズからなる閾値マトリクスを用い、色変換部111から出力された入力階調値と、当該入力階調値を有する画素に対応する閾値と、を比較し、入力階調値が閾値よりも大きい場合に、当該画素の位置に印字する(出力ドットを形成する)ための2値化データを生成する。一方、入力階調値が閾値以下である場合には、当該画素の位置に印字しない2値化データを生成する。なお、ここで、スクリーン処理部113が出力する2値化データは、例えば、印字の場合にパルス幅変調部120から出力されるパルス信号のパルス幅と、非印字の場合にパルス幅変調部120から出力されるパルス信号のパルス幅と、のいずれかを指定するパルス幅データ(C’M’Y’K’)でよい。もちろん、2値化データは、印字、非印字を区別する1ビットの識別データでもよい。なお、図4(A)に示した例では、1画素のパルス幅の分解能を1ビットとしているが、パルス幅変調によりMビットの出力を行ってもよい。その場合には、1画素に対応する閾値がMビットで構成されることとなる。
【0034】
図4(B)は、スクリーン処理後の2値化データ(C’M’Y’K’)の一例を示す図である。なお、正方形内の数字は、印字するか否かを示す値(「0」:非印字、「1」:印字)を表している。
【0035】
図2に戻り、パルス幅変換部114は、色変換部111から出力されたCMYK画像データに対して、パルス幅変換処理を施す。
【0036】
具体的には、パルス幅変換部114は、色変換部111から出力されたCMYK画像データの入力階調値に応じて、パルス幅変調部120から出力されるパルス信号のパルス幅を決定する。そして、パルス幅変換部114は、決定されたパルス幅を指定するパルス幅データ(C’’M’’Y’’K’’)を出力部115へ出力する。
【0037】
図5は、パルス幅変調部120から出力されるパルス信号のパルス幅と、印字範囲の関係を示す図である。なお、画素内における黒塗り部分を印字範囲とし、画素内おける白塗り部分を非印字範囲とする。図示するように、パルス幅変換部114から出力されるパルス幅データに応じて、各画素の印字範囲が変更される。従って、例えば、パルス幅変換部114からC(=4)ビット精度のパルス幅データが出力される場合には、各画素の印字範囲を2C段階で変更することができる。
【0038】
なお、パルス幅変調部(PWM)120でC(=4)ビット精度のパルス幅データまでしか処理できない(PWMの分解能がCビット)とすると、パルス幅変換部114は、C(=4)ビット精度以下のパルス幅データを出力しなければならない。
【0039】
しかし、色変換部111からパルス幅変換部114へ送られてくるCMYK画像データは、色ごとにA(ただし、A≧C)ビットの入力階調値を有しているため、それよりビット数の少ないCビットのパルス幅データに変換すると、当然のことながら画質の低下を引き起こす。
【0040】
このような画質の低下を防ぐために、本実施形態のパルス幅変換部114は、色ごとにAビットの入力階調値(階調値2A)を有するCMYK画像データが色変換部111から送られてくると、まずは、当該入力階調値よりも高精度な(ビット数の多い)、B(ただし、B>A)ビットの仮パルス幅データに変換する(「仮のパルス幅変換処理」とよぶ)。
【0041】
それから、パルス幅変換部114は、Bビットの仮パルス幅データを、パルス幅変調部(PWM)120で処理可能なビット数Cに合わせた実数データに変換し、所定の範囲Sの一様乱数を加えることによって、Cビットのパルス幅データに変換する(「拡散処理」とよぶ)。
【0042】
以下、「仮のパルス幅変換処理」と「拡散処理」について詳細に説明する。
【0043】
<仮のパルス幅変換処理>
パルス幅変換部114は、入力階調値と、仮のパルス幅と、を対応付けたパルス幅変換テーブルを用いて、仮のパルス幅変換処理を行う。具体的には、パルス幅変換部114は、CMYK画像データの入力階調値に対応付けられているパルス幅をパルス幅変換テーブルから抽出し、仮のパルス幅(Bビット)として決定する。
【0044】
図6は、パルス幅変換テーブルの一例をグラフ化した図である。図示するように、パルス幅変換テーブルに格納されている、入力階調値と、仮のパルス幅と、の関係は非線形となる。
【0045】
ここで、入力階調値と、仮のパルス幅と、の関係を非線形にしているのは、パルス幅変調部120から出力されるパルス信号のパルス幅に対して、実際に印刷媒体に印字される出力濃度が比例しないためである。以下では、パルス幅変調部120から出力されるパルス信号のパルス幅に対する、実際の出力濃度の関係を「出力濃度特性」とよぶ。
【0046】
図7(A)は、出力濃度特性の一例をグラフ化した図である。図示するように、パルス幅変調部120から出力されるパルス信号のパルス幅と、実際に印刷媒体に印字される出力濃度と、の関係は非線形となる。このような、出力濃度特性は、装置(印刷装置100)固有のものであり、使用環境によっても異なる。
【0047】
そのため、パルス幅変換テーブルには、印刷装置100の工場出荷時において、入力階調値とパルス幅の関係が最適となるように各値が格納される。ここで、最適な入力階調値とパルス幅の関係とは、入力階調値に対して、実際に印刷媒体に印字される出力濃度(印刷濃度)が比例する(リニアとなる)関係を指す。なお、パルス幅変換テーブルに格納された各値が最適である場合、エッジ画素を印字する場合(パルス幅変換部114から出力されたデータに基づく印字)の出力濃度は、非エッジ画素を印字する場合(スクリーン処理部113から出力されたデータに基づく印字)の出力濃度に一致する。
【0048】
図7(B)は、入力階調値と、出力濃度と、の目標となる関係を示す図である。図示するように、入力階調値に対して、実際に印刷媒体に印字される出力濃度を比例させることができれば、高品質な印字結果を得ることができる。
【0049】
なお、図8は、図6に示すようなパルス幅変換テーブルの生成方法を説明するための図である。図示するように、パルス幅変換部114は、第1象限に、図7(A)に示すような出力濃度特性のグラフ(関係)をプロットし、第2象限に、図7(B)に示すような入力階調値と出力濃度の目標となる関係(グラフ)をプロットし、第3象限に、比例係数を「1」とする正比例の直線をプロットする。
【0050】
そして、パルス幅変換部114は、パルス幅Nを出発点(図示するA点)として、その出発点のパルス幅Nに対応する出力濃度Rを第1象限のグラフ(出力濃度特性のグラフ)から特定する(図示するB点)。それから、パルス幅変換部114は、特定した出力濃度Rに対応する入力階調値を第2象限のグラフ(目標となる入出力関係)から特定する(図示するC点)。さらに、パルス幅変換部114は、特定した入力階調値(第3象限のD点で折り返した値)と、出発点のパルス幅Nと、を対応付けて(すなわち、図示するE点の値を)、パルス幅変換テーブルに格納する。
【0051】
パルス幅変換部114は、以上のような入力階調値とパルス幅Nの対応付けを、出発点(パルス幅N)を変更して繰り返し行う。こうして、入力階調値に対して、実際に印刷媒体に印字される出力濃度を比例させるためのパルス幅変換テーブルを生成できる。そして、パルス幅変換部114は、生成したパルス幅変換テーブルを、仮のパルス幅変換処理に先立って所定の記憶装置に格納しておく。
【0052】
こうして生成されたパルス幅変換テーブルを用いて、本実施形態のパルス幅変換部114は、画素ごとに、Aビットの入力階調値をB(B>A)ビットの仮パルス幅データに変換できる。
【0053】
<拡散処理>
次に、パルス幅変換部114は、Bビットの仮パルス幅データを、パルス幅変調部(PWM)120で処理可能なビット数C(ただし、C≦A)に合わせた実数データに変換する。具体的には、パルス幅変換部114は、以下の数式1に従って、Bビットの仮のパルス幅データを、パルス幅変調部(PWM)120で処理可能なビット数Cに合わせた実数データに変換する。
【0054】
DBL_X=INT_X×{(2C−1)/(2B−1)} ・・・(数式1)
【0055】
ここで、DBL_Xは、変換後の実数データを表し、INT_Xは、変換前の仮パルス幅データを表す。
【0056】
こうして、パルス幅変換部114は、パルス幅変調部(PWM)120で処理可能なビット数Cに合わせた実数データを得ることができる。なお、パルス幅変換部114は、Bビットの仮パルス幅データを、パルス幅変換部114から出力する予定のCビット精度のパルス幅データに合わせて、実数データに変換してもよい。
【0057】
それから、パルス幅変換部114は、得られた実数データの値を中心として、所定の範囲S(すなわち、±S/2)で一様に拡散させる乱数を、実数データに加える。具体的には、パルス幅変換部114は、以下の数式2に従って、実数データに一様乱数を加え、四捨五入することによって、出力すべきCビットのパルス幅データを得ることができる。
【0058】
DIFF_X=INT{DBL_X+Rs−(S/2)+0.5} ・・・(数式2)
【0059】
ここで、DIFF_Xは、出力すべきCビットのパルス幅データを表し、DBL_Xは、実数データを表し、Rsは、0からSまでの範囲の一様乱数を表す。なお、INT(・)は、切り捨て処理を表し、INT(k+0.5)で、「k」を四捨五入する処理を表す。
【0060】
図7(C)は、入力階調値と、パルス幅変換部114から出力されるパルス幅データと、の関係を示す図である。図示するように、パルス幅変換部114は、上記の「仮のパルス幅変換処理」と「拡散処理」を行うことで、Aビットの入力階調値(階調値2A)を、Cビットのパルス幅データに変換することができる。
【0061】
また、図9(A)、(B)は、「拡散処理」による効果を説明するための図である。図9(A)の上段に示すように、仮のパルス幅変換処理によって高階調化(高精度化)されたBビットの実数データに対して、本実施形態の「拡散処理」を適用せず、そのまま四捨五入すると、各画素のパルス幅データは、入力階調値に対応する適正なパルス幅データの値(図示する例では「12.3」)から離れてしまう。
【0062】
しかし、図9(A)の下段に示すように、仮のパルス幅変換処理によって高階調化(高精度化)されたBビットの実数データに対して、本実施形態の「拡散処理」を適用し、これを四捨五入すると、各画素のパルス幅データは、全体でみれば(平均的には)、入力階調値に対応する適正なパルス幅データの値(図示する例では「12.3」)に近づく。
【0063】
また、図9(B)は、本実施形態の「拡散処理」を適用しない場合における、入力階調値と出力濃度の関係を示すグラフの一例(点線)と、本実施形態の「拡散処理」を適用した場合における、入力階調値と出力濃度の関係を示すグラフの一例(太線)と、を重ねてプロットした図である。図示するように、「拡散処理」を適用することにより、入力階調値と出力濃度の関係を、図7(B)で説明した目標となる関係(比例)に近づけることができる。
【0064】
以上のことから、パルス幅変換部114は、上記の「拡散処理」を適用することによって、より高精度な(すなわち、入力階調値と出力濃度がよりリニアになる)パルス幅データを得ることができる、といえる。
【0065】
図2に戻り、出力部115は、スクリーン処理部113から出力されたパルス幅データ(C’M’Y’K’)と、パルス幅変換部114から出力されたパルス幅データ(C’’M’’Y’’K’’)と、のうち、いずれかのパルス幅データを選択して、パルス幅変調部120へ出力する。
【0066】
例えば、出力部115は、非エッジ画素については、スクリーン処理部113から出力されたパルス幅データ(C’M’Y’K’)を出力し、エッジ画素については、パルス幅変換部114から出力されたパルス幅データ(C’’M’’Y’’K’’)を出力する。
【0067】
そのため、出力部115は、非エッジ画素であることを示すエッジ信号「0」が属性エッジ検出部112から入力されている場合に、スクリーン処理部113から出力されたパルス幅データ(C’M’Y’K’)を、出力画像データ(C’’’M’’’Y’’’K’’’)として出力する。一方、出力部115は、エッジ画素であることを示すエッジ信号「1」が属性エッジ検出部112から入力されている場合には、パルス幅変換部114から出力されたパルス幅データ(C’’M’’Y’’K’’)を、出力画像データ(C’’’M’’’Y’’’K’’’)として出力する。
【0068】
こうして、出力部115から出力された出力画像データ(C’’’M’’’Y’’’K’’’)は、パルス幅変調部120へ入力される。
【0069】
そして、パルス幅変調部120は、入力された出力画像データ(C’’’M’’’Y’’’K’’’)を、画素ごとにレーザー駆動パルスに変換し、印刷エンジン130に出力する。
【0070】
印刷エンジン130は、レーザードライバー(不図示)と、レーザーダイオード(不図示)やライン状発光素子(不図示)と、を備える。レーザードライバーは、パルス幅変調部120から出力されたレーザー駆動パルスに従ってレーザーダイオードやライン状発光素子を駆動し、感光体ドラム(不図示)に出力画像データに基づく画像を形成する。
【0071】
図10(A)は、図3(B)のエッジ信号に対応した入力画像データの一例を示しており、図10(B)は、図10(A)の全ての画素を非エッジ画素としてスクリーン処理した場合の出力画像データの一例を示しており、図10(C)は、図10(A)のエッジ画素と非エッジ画素でスクリーン処理を変更した場合の出力画像データの一例を示す図である。図示するように、本実施形態では、非エッジ画素についてはスクリーン処理部113で処理されたデータに基づいて印字を行うが、エッジ画素についてはパルス幅変換部114で処理されたデータに基づいて印字を行うので、エッジ部分にジャギー等が発生するのを防げる。
【0072】
さらに、入力画像データに付加した属性情報Xを用いて、エッジ画素と非エッジ画素を分離しているため、従来よりも簡単な構成で、かつ、正確にエッジ画素と非エッジ画素を分離できる。そのため、ハードウェア面、或いはソフトウェア面での負荷を抑えることができる。また、色情報を破棄してもエッジ画素と非エッジ画素を正確に分離できるため、グレイ画像を処理する場合であっても、エッジ部分にジャギー等が発生するのを防ぐことができる。
【0073】
上記の印刷装置100の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、一般的なプリンターが備える他の構成を排除するものではない。また、印刷装置100は、印刷機能を有していれば、例えば、複合機、スキャナー装置、コピー機、FAX装置などでもよい。
【0074】
本実施形態が適用された印刷システム10は、以上のような構成からなる。ただし、上記の印刷システム10の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、他の構成の追加を排除するものではない。
【0075】
また、上記した各構成要素は、印刷システム10の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。印刷システム10の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【0076】
また、上記実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
【0077】
例えば、上記実施形態では、図5に示すように、パルス幅変調部120は、エッジ画素の位置に依存せずに、常に、印字領域が注目画素内の左端側(左寄り)となるようにパルス信号を出力している。
【0078】
しかし、本発明は、これに限定されず、エッジ画素の位置に応じて、注目画素内における印字領域をずらすことができる。
【0079】
例えば、パルス幅変調部120は、注目画素の右方向に隣接する画素についてのパルス幅データよりも、当該注目画素の左方向に隣接する画素についてのパルス幅データが大きい場合には、印字領域が注目画素内の左端側(左寄り)となるようにパルス信号を出力する。また、パルス幅変調部120は、注目画素の左方向に隣接する画素についてのパルス幅データよりも、当該注目画素の右方向に隣接する画素についてのパルス幅データが大きい場合には、印字領域が注目画素内の右端側(右寄り)となるようにパルス信号を出力する。また、パルス幅変調部120は、注目画素の左方向に隣接する画素についてのパルス幅データと、当該注目画素の右方向に隣接する画素についてのパルス幅データが等しい場合には、印字領域が注目画素内の中央位置となるようにパルス信号を出力する。
【0080】
この場合には、図11に示すような出力画像データを得ることができる。従って、常に印字領域が注目画素内の左端側(左寄り)となるようにパルス信号を出力する場合と比較して、エッジ部分の画質が向上する。なお、図11は、図3(B)のエッジ信号に基づいて得られる出力画像データの一例である。
【0081】
また、上記実施形態では、パルス幅変換部114は、実数データに、所定の範囲S(すなわち、±S/2)で一様に拡散させる乱数を加えて、Cビットのパルス幅データを生成している。しかし、本発明は、これに限定されない。
【0082】
例えば、実数データに加える一様乱数の範囲Sを、パルス幅変調部(PWM)120の分解能(Cビット)、或いは、パルス幅変換部114から出力するパルス幅データの精度(Cビット)に応じて可変としてもよい。
【0083】
また、実数データに加える一様乱数の範囲Sを、CMYK画像データの入力階調値に応じて可変としてもよい。この場合、例えば、パルス幅変換部114は、図6に示すように、入力階調値に対する仮のパルス幅の変化量が少ない範囲(図示するK1からK2までの範囲)の入力階調値であるか、それ以外の範囲(図示する0からK1、K2から255)の入力階調値であるか、に応じて、実数データに加える一様乱数の範囲Sを異ならせてもよい。
【0084】
このように、実数データに加える一様乱数の範囲Sを可変とすることで、より高精度な(すなわち、入力階調値と出力濃度がよりリニアになる)パルス幅データを得ることができる、
【符号の説明】
【0085】
100・・・印刷装置、110・・・画像処理回路、111・・・色変換部、112・・・属性エッジ検出部、113・・・スクリーン処理部、114・・・パルス幅変換部、115・・・出力部、120・・・パルス幅変換部、130・・・印刷エンジン、210・・・画像データ入力部、220・・・ラスタライズ処理部。
【特許請求の範囲】
【請求項1】
画素ごとにAビットの入力階調値を有する画像データに基づいて印刷を実行する印刷装置であって、
前記画像データからエッジ画素を検出するエッジ検出部と、
前記画像データに含まれる各画素をスクリーン処理によって2値化するスクリーン処理部と、
前記画像データに含まれる各画素を前記入力階調値に応じたC(ただしC≦A)ビットのパルス幅データに変換するパルス幅変換部と、
前記スクリーン処理部で2値化されたデータに基づくパルス幅データ、及び、前記パルス幅変換部で変換されたパルス幅データ、のいずれかを画素ごとに出力する出力部と、
前記出力部から出力されたパルス幅データに対応するパルス信号を出力して印刷を実行する印刷実行部と、を備え、
前記パルス幅変換部は、
前記画像データに含まれる各画素を、前記入力階調値に応じて、前記Cビットのパルス幅データよりも高精度なB(ただしB>A)ビットの仮パルス幅データに変換し、
当該仮パルス幅データを、前記パルス幅データの精度に合わせた実数データに変換し、所定の範囲の一様乱数を加えることによって、前記Cビットのパルス幅データに変換し、
前記出力部は、
前記エッジ検出部でエッジ画素として検出された画素については、前記パルス幅変換部で変換されたパルス幅データを出力し、
前記エッジ検出部で非エッジ画素として検出された画素については、前記スクリーン処理部で2値化されたデータに基づくパルス幅データを出力する、
ことを特徴とする印刷装置。
【請求項2】
請求項1に記載の印刷装置であって、
前記パルス幅変換部は、
前記実数データに加える一様乱数の範囲を、前記パルス幅データの精度に応じて可変とする、
ことを特徴とする印刷装置。
【請求項3】
請求項1に記載の印刷装置であって、
前記パルス幅変換部は、
前記実数データに加える一様乱数の範囲を、前記入力階調値に応じて可変とする、
ことを特徴とする印刷装置。
【請求項4】
請求項1乃至3のいずれか1項に記載の印刷装置であって、
前記画像データは、画素ごとに属性情報を有しており、
前記エッジ検出部は、
記属性情報を用いてエッジ画素を検出する、
ことを特徴とする印刷装置。
【請求項5】
コンピューターを、印刷制御装置として機能させるドライバープログラムであって
画素ごとにAビットの入力階調値を有する画像データからエッジ画素を検出するエッジ検出ステップと、
前記画像データに含まれる各画素をスクリーン処理によって2値化するスクリーン処理ステップと、
前記画像データに含まれる各画素を前記入力階調値に応じたC(ただしC≦A)ビットのパルス幅データに変換するパルス幅変換ステップと、
前記スクリーン処理ステップで2値化されたデータに基づくパルス幅データ、及び、前記パルス幅変換ステップで変換されたパルス幅データ、のいずれかを画素ごとに出力する出力ステップと、を前記コンピューターに実行させ、
前記パルス幅変換ステップでは、
前記画像データに含まれる各画素を、前記入力階調値に応じて、前記Cビットのパルス幅データよりも高精度なB(ただしB>A)ビットの仮パルス幅データに変換し、
当該仮パルス幅データを、前記パルス幅データの精度に合わせた実数データに変換し、所定の範囲の一様乱数を加えることによって、前記Cビットのパルス幅データに変換し、
前記出力ステップでは、
前記エッジ検出ステップでエッジ画素として検出された画素については、前記パルス幅変換ステップで変換されたパルス幅データを出力し、
前記エッジ検出ステップで非エッジ画素として検出された画素については、前記スクリーン処理ステップで2値化されたデータに基づくパルス幅データを出力する、
ことを特徴とするドライバープログラム。
【請求項1】
画素ごとにAビットの入力階調値を有する画像データに基づいて印刷を実行する印刷装置であって、
前記画像データからエッジ画素を検出するエッジ検出部と、
前記画像データに含まれる各画素をスクリーン処理によって2値化するスクリーン処理部と、
前記画像データに含まれる各画素を前記入力階調値に応じたC(ただしC≦A)ビットのパルス幅データに変換するパルス幅変換部と、
前記スクリーン処理部で2値化されたデータに基づくパルス幅データ、及び、前記パルス幅変換部で変換されたパルス幅データ、のいずれかを画素ごとに出力する出力部と、
前記出力部から出力されたパルス幅データに対応するパルス信号を出力して印刷を実行する印刷実行部と、を備え、
前記パルス幅変換部は、
前記画像データに含まれる各画素を、前記入力階調値に応じて、前記Cビットのパルス幅データよりも高精度なB(ただしB>A)ビットの仮パルス幅データに変換し、
当該仮パルス幅データを、前記パルス幅データの精度に合わせた実数データに変換し、所定の範囲の一様乱数を加えることによって、前記Cビットのパルス幅データに変換し、
前記出力部は、
前記エッジ検出部でエッジ画素として検出された画素については、前記パルス幅変換部で変換されたパルス幅データを出力し、
前記エッジ検出部で非エッジ画素として検出された画素については、前記スクリーン処理部で2値化されたデータに基づくパルス幅データを出力する、
ことを特徴とする印刷装置。
【請求項2】
請求項1に記載の印刷装置であって、
前記パルス幅変換部は、
前記実数データに加える一様乱数の範囲を、前記パルス幅データの精度に応じて可変とする、
ことを特徴とする印刷装置。
【請求項3】
請求項1に記載の印刷装置であって、
前記パルス幅変換部は、
前記実数データに加える一様乱数の範囲を、前記入力階調値に応じて可変とする、
ことを特徴とする印刷装置。
【請求項4】
請求項1乃至3のいずれか1項に記載の印刷装置であって、
前記画像データは、画素ごとに属性情報を有しており、
前記エッジ検出部は、
記属性情報を用いてエッジ画素を検出する、
ことを特徴とする印刷装置。
【請求項5】
コンピューターを、印刷制御装置として機能させるドライバープログラムであって
画素ごとにAビットの入力階調値を有する画像データからエッジ画素を検出するエッジ検出ステップと、
前記画像データに含まれる各画素をスクリーン処理によって2値化するスクリーン処理ステップと、
前記画像データに含まれる各画素を前記入力階調値に応じたC(ただしC≦A)ビットのパルス幅データに変換するパルス幅変換ステップと、
前記スクリーン処理ステップで2値化されたデータに基づくパルス幅データ、及び、前記パルス幅変換ステップで変換されたパルス幅データ、のいずれかを画素ごとに出力する出力ステップと、を前記コンピューターに実行させ、
前記パルス幅変換ステップでは、
前記画像データに含まれる各画素を、前記入力階調値に応じて、前記Cビットのパルス幅データよりも高精度なB(ただしB>A)ビットの仮パルス幅データに変換し、
当該仮パルス幅データを、前記パルス幅データの精度に合わせた実数データに変換し、所定の範囲の一様乱数を加えることによって、前記Cビットのパルス幅データに変換し、
前記出力ステップでは、
前記エッジ検出ステップでエッジ画素として検出された画素については、前記パルス幅変換ステップで変換されたパルス幅データを出力し、
前記エッジ検出ステップで非エッジ画素として検出された画素については、前記スクリーン処理ステップで2値化されたデータに基づくパルス幅データを出力する、
ことを特徴とするドライバープログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−187826(P2012−187826A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願番号】特願2011−53491(P2011−53491)
【出願日】平成23年3月10日(2011.3.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願日】平成23年3月10日(2011.3.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]