JP2018142781A - 画像処理装置、画像処理システム、画像処理方法およびそのコンピュータープログラム - Google Patents

画像処理装置、画像処理システム、画像処理方法およびそのコンピュータープログラム Download PDF

Info

Publication number
JP2018142781A
JP2018142781A JP2017034690A JP2017034690A JP2018142781A JP 2018142781 A JP2018142781 A JP 2018142781A JP 2017034690 A JP2017034690 A JP 2017034690A JP 2017034690 A JP2017034690 A JP 2017034690A JP 2018142781 A JP2018142781 A JP 2018142781A
Authority
JP
Japan
Prior art keywords
pixel group
value
gradation
pixel
dots
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
JP2017034690A
Other languages
English (en)
Inventor
角谷 繁明
Shigeaki Sumiya
繁明 角谷
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2017034690A priority Critical patent/JP2018142781A/ja
Publication of JP2018142781A publication Critical patent/JP2018142781A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】画像処理の速度が速く、かつ細線などの再現性に優れる画像処理を実現する。【解決手段】画像処理装置は、画素群階調値ごとに、画素群階調値とドットの配置との対応関係であって、画素群内にエッジがある場合に適用する対応関係である第1対応関係と、画素群内にエッジがない場合に適用する第2対応関係とを記憶する。ここで、第1対応関係は、第2対応関係より、少なくとも所定の階調値より高い領域で、画素群階調値に対して、階調値の低い側のいずれかのドットの形成割合が高い対応関係である。画像処理装置は、画素群毎に、画素群内の各画素の階調値に従って、画素群内にエッジが存在するか否かを判断し、画素群内にエッジが存在する場合には、第1対応関係を用いて、ドットの配置を特定し、エッジが存在しない場合には、画素群内のドットの配置を、第2対応関係を参照することにより特定する。【選択図】図3

Description

本発明は、画像処理と画像処理結果を利用して印刷を行なう技術とに関する。
多階調、例えば三原色の各色256階調の原画像を、大中小ドットや濃淡ドットなど、階調数の少ない手段で再現する画像処理技術と、この技術を用いて、印刷媒体に画像を形成する印刷技術が広く用いられている。表現できる階調数の少ない手段で多階調の画像を高品質に再現しようとする場合、いくつかの解決しなければならない問題がある。その多くは、トレードオフの関係になっている。
<粒状性の改善>
ドットを用いた画像形成では、特に低階調領域を中心として、ドットが形成されていることが視認されるいわゆる粒状性が感じられないことが求められる。
<ムラやバンディングの抑制>
ドットの形成位置は、ハード的な誤差が存在する。このため、例えば低い階調値を表現するドット(以下、代表的なドットであるとして「小ドット」と称する)で所定の面積を埋めた場合、ドット形成位置のズレなどに起因する濃度や色のむら、あるいはバンディングなどが生じやすくなる。こうしたムラやバンディングの発生を抑制することが求められる。
<処理速度の確保>
画像処理は、一般にかなりの時間を要するため、処理速度を高める工夫が要求される。処理速度は、原画像から解像度を低下させて処理すれば、一般に高められる。複数の画素をまとめて、同じ階調値の画素として扱う場合には、通常は解像度は低下することになる。複数画素をまとめて処理するこうした手法の一つに、複数画素をまとめたブロックの階調値に基づいて、各画素へのドットの配置を予めエンコードしておき、画像を形成する側でデコードして画像を形成する手法がある(特許文献1参照)。また、一般に、ディザ法による処理の方が、誤差拡散処理よりも、処理速度の点では有利である。
<解像度の確保>
人の目は、一定の解像度以下の解像度においては、かなり敏感に画質の低下を感得する。例えば、階調値の変化が大きいエッジ部などについては、原画像から解像度を下げると、画質の低下として認識され得る。このため、エッジ部については、解像度を低下させずに処理する手法が種々提案されている(例えば、特許文献2参照)。また、細線のように、周りの画素と併せて考えると階調値は低いものの、線としては際立った部分は、解像度を低下させると、十分に再現できなくなってしまう。
特開2006−5899号公報 特開2005−41041号公報
しかしながら、階調数の高い原画像を、階調数の表現の少ない手段で再現していることから、上記の要請は、多くはトレードオフの関係になっており、全てを一律に解決することは困難であった。例えば、粒状性を改善するためには、小ドットをできるだけ多く用いることが考えられるが、この場合、ドットの形成位置のズレが生じるといわゆるムラやバンディングなどが生じやすく、画質が劣化しやすくなる。
かといって、両者の要求を満足させるために、低階調領域では小ドットを用い、階調値が高まるにつれて、小ドット共に中または大ドットを早い段階から形成すると、同一の階調値を再現する場合のドットの形成個数が減るので、白地を背景とした低濃度の細線などが切れやすくなってしまう。これに対して、特許文献2のように、画素単位でエッジ検出を行ない、エッジ画素では小ドットの使用率を高める手法も考えられるが、画素単位でエッジを検出する処理が複雑になるため、処理速度を重視する場合には、採用しにくいケースも想定される。
また、処理速度を高めるために複数の画素をまとめて処理するものとすると、まとめた画素の中にエッジ画素と非エッジ画素が混在することになる。まとめたことにより生じる解像度の低下とこれに伴うエッジ部の画質の低下を抑制するために、画素単位でエッジ部を検出して、エッジ部だけに異なる処理を施すとすると、エッジ部の検出等に時間がかかってしまい、画素をまとめたことによる処理速度の向上という利点を十分に享受することができない。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の態様又は適用例として実現することが可能である。
(1)本発明の第1の態様として、多階調の画像を、当該画像を構成する画素を複数個ずつまとめた画素群を単位として処理する画像処理装置が提供される。この画像処理装置は、前記画素群の取り得る階調値である画素群階調値ごとに、前記画素群階調値に対応して前記画素群内の複数の画素の各々に形成すべきドットであって表現可能な階調値の異なる少なくとも複数種類のドットの配置を、前記ドットを形成しない場合を含めて予め決定し、前記画素群階調値と前記ドットの配置との対応関係として記憶する記憶部と、前記画像から順次取り出した画素群の前記画素群階調値により前記対応関係を参照することで、前記画素群階調値に対応したドット配置を特定する特定部と、を備える。ここで、前記記憶部は、前記対応関係を、前記画素群内にエッジがある場合に適用する対応関係である第1対応関係と、前記画素群内にエッジがない場合に適用する第2対応関係として記憶してよい。前記第1対応関係は、前記第2対応関係より、少なくとも所定の階調値より高い領域で、前記画素群階調値に対して、前記階調値の異なる複数種類のドットのうち階調値の低い側のいずれかのドットの形成割合が高い対応関係であってよい。前記特定部は、前記取り出した画素群毎に、当該画素群内の各画素の階調値に従って、前記画素群内にエッジが存在するか否かを判断する画素群内エッジ判断部と、前記画素群内にエッジが存在すると判断した場合には、前記第1対応関係を用いて、前記画素群内に形成すべきドットの配置を特定し、該特定したドットの配置を出力する第1特定部と、前記画素群内にエッジが存在しないと判断した場合には、前記画素群に対応する前記ドットの配置を前記画素群階調値に従って、前記第2対応関係を参照することにより特定し、該特定したドットの配置を出力する第2特定部と、を備えてよい。
この画像処理装置によれば、画素群内エッジ判断部が、取り出した画素群毎に、画素群内の各画素の階調値に従って、画素群内にエッジが存在するか否かを判断し、その画素群内にエッジが存在すると判断した場合には、第1対応関係を用いて、前記画素群内に形成すべきドットの配置を特定し、該特定したドットの配置を出力する。このとき、第1対応関係を、第2対応関係より、少なくとも所定の階調値より高い領域で、画素群階調値に対して、前記階調値の異なる複数種類のドットのうち階調値の低い側のいずれかのドットの形成割合が高い対応関係としておけば、画素群内にエッジが存在しないと判断した場合に、第2特定部が、第2対応関係を参照することにより特定するドットの配置より、階調値の低い側のいずれかのドットの形成割合を高めることができるので、低階調領域の画質を改善できる。階調値の異なる複数種類のドットのうち階調値の低い側のいずれかのドットの形成割合が高い対応関係として、画素群として再現する階調値が同一またはほぼ同等で画素群内に発生するドット数を増やす対応関係を採用すれば、低濃度の細線などが途切れるといった不具合を改善できるなど、低階調領域の画質を改善できる。階調値の異なる複数種類のドットのうち階調値の低い側のいずれかのドットの形成割合が高い対応関係として、画素群内に発生するドット数を同一またはほぼ同等で画素群内に発生するドットを、よりドットサイズの小さい低階調のドットにする対応関係を採用すれば、形成されるドットの滲みが抑制されるので、表現される画像の鮮鋭度が高まり、特に高濃度の文字などの再現に優れる。
(2)こうした画像処理装置において、前記画素群内エッジ判断部は、前記取り出した画素群毎に、当該画素群内に存在する高階調画素の階調値と前記高階調画素より階調値が低い低階調画素の階調値との隔たりに応じて、前記画素群内にエッジが存在するか否かを判断するものとしてもよい。こうすれば、画素群内にエッジが存在するか否かを容易に判断することができる。エッジが存在するかのこうした判断は、例えば、画素群内に存在する高階調画素の階調値として画素群内の最大階調値を用い、この高階調画素より階調値が低い低階調画素の階調値として画素群内の最小階調値を用い、両者の差を、隔たりとして、エッジの判定を行なうものが考えられる。あるいは、前者を、所定の階調値より高い階調の画素の階調値あるいはそれらの平均値とし、後者を、所定の階調値未満の階調値の画素の階調値あるいはそれらの平均値とし、両者の差を、隔たりとしてエッジの判定を行なってもよい。
(3)こうした画像処理装置において、前記第1特定部は、前記高階調画素に対応した前記ドットの配置を前記高階調画素の階調値に従って、前記低階調画素に対応した前記ドットの配置を前記低階調画素の階調値に従って、それぞれ前記第1対応関係を参照することにより特定し、前記高階調画素の階調値および前記低階調画素の階調値によりそれぞれ特定したドットの配置を合成して出力するものとしてよい。こうすれば、高階調画素のドットの配置も低階調画素のドットの配置も、同じように、第1対応関係を同じように参照するだけで特定でき、構成を簡略化することができる。もとより、第1対応関係を参照するのは、高階調画素に限り、低階調画素については、第1対応関係以外の関係、例えば第2対応関係を参照して、ドット配置を決定するようにしてもよい。文字や線などの構成要素となりやすい高階調画素について、第1対応関係を参照してドットの配置が決定されれば、合成した場合でも、文字や線などが再現されやすくなる、という利点が得られる。
(4)こうした画像処理装置において、前記第1特定部は、前記画素群内における少なくとも前記高階調画素の配置を記憶すると共に、前記第1対応関係を参照することにより、前記高階調画素に対応した前記ドットの配置を前記画素群全体に対して特定し、前記第1対応関係を参照することにより、前記低階調画素に対応した前記ドットの配置を前記画素群全体に対して特定し、前記特定した前記高階調画素に対応した前記ドットの配置と、前記特定した前記低階調画素に対応した前記ドットの配置とを、前記高階調画素の配置に従って合成して出力するものとしてよい。こうすれば、前記高階調画素の階調値および前記低階調画素の階調値によりそれぞれ特定したドットの配置の合成を、容易に行なうことができる。
(5)上記の各画像処理装置において、前記画素群について、隣接する画素群との間で前記画素群階調値に所定以上の隔たりがあるか否かを判断し、所定以上の隔たりがあると判断した場合には、当該画素群に対して、前記第1特定部による前記ドットの配置の特定と前記出力とを行なわせるものとしてもよい。こうすれば、画像上のエッジが、画素群内にあっても画素群の間にあっても、同じように扱うことができる。
(6)上記の各画像処理装置において、第1対応関係および第2対応関係は、前記画素群階調値に応じて前記画素群に形成するドットの種類と個数とを特定する多値化対応値と、前記画素群内のドット形成の順序を示す順序値との組み合わせからなるものとしてよい。こうすれば、画素群階調値に応じて第1,第2対応関係を参照して、多値化対応値と順序値の組み合わせにより、画素群に形成するドットの種類と個数を特定し、更にこれを順序値により並べることで、画素群内のドットの配置を容易に特定することができる。
(7)こうした画像処理装置において、前記多値化対応値と前記順序値とは、少なくとも1000画素に対応した大域ディザマスクから前記画素群の大きさに応じて取り出す局所ディザマスクに含まれる閾値の大小関係を反映して定めるものとしてよい。こうすれば、ドットの配置に、大域ディザマスクの特性を反映させることができる。
(8)こうした画像処理装置において、第1対応関係および第2対応関係は、少なくとも1000画素に対応した大域ディザマスクから前記画素群の大きさに応じて取り出す局所ディザマスクに含まれる複数の閾値に基づき、前記各局所ディザマスク毎に定められ、前記画素群階調値に応じて前記画素群に形成されるドットの種類と個数とが異なる階調範囲を示すドット切替階調値を特定する切替階調エンコードテーブル、および前記各局所ディザマスク毎に定められ、前記ドット切替階調値から前記複数種類のドットの配置を特定する切替階調デコードテーブルとして用意してもよい。こうすれば、第1,第2対応関係として用意された切替階調エンコードテーブルおよび切替階調デコードテーブルを、それぞれ1回参照するだけで、ドットの配置を特定することができる。
(9)本発明の第2の態様として、上記のいずれかの画像処理装置と、この画像処理装置からのデータを受け取って画像を形成する画像出力装置とを備える画像処理システムが提供される。この画像処理システムでは、前記画像出力装置は、前記画像処理装置の第1,第2特定部が特定した前記ドットの配置を受け取って、該特定されたドットの配置に従って複数種類のドットを形成するドット形成部を備えてよい。この画像処理システムによれば、画像処理装置と画像出力装置を分離でき、画像処理装置から画像出力装置に出力するデータ量を低減できる。
(10)本発明は以上の構成の他、画像処理方法やその画像処理方法をコンピューターを用いて実現するコンピュータープログラムとしても実施することができる。あるいは、画像形成装置や画像処理装置の製造方法などの態様でも実施することができる。
実施形態の画像処理システムの概略構成を示す概略構成図。 実施形態における画像印刷処理を示すフローチャート。 実施形態における動作の概要を示す説明図。 第1対応関係を導くための入力階調値と大中小ドット密度との関係を例示するグラフ。 第2対応関係を導くための入力階調値と大中小ドット密度との関係を例示するグラフ。 第1,第2対応関係を求める手法を示す説明図。 ディザマスクの一例を示す説明図。 多値化対応値を求める手順を示す説明図。 大中小ドットと多値化対応値との対応を示す説明図。 閾値群番号と順序値との関係を例示する説明図。 多値化テーブルを例示する説明図。 画素群P(x,y)からドット配置を求めるまでの処理の流れを示す説明図。 ドット配置特定処理ルーチンの詳細を示すフローチャート。 画素群内の画素値を演算する処理を示すフローチャート。 非エッジ画素群ドット配置決定処理を示すフローチャート。 エッジ画素群ドット配置決定処理を示すフローチャート。 エッジ画素群ドット配置決定処理によりドットが形成される様子を示す説明図。 画素群間エッジ処理ルーチンを示すフローチャート。 第2実施形態におけるドット配置特定処理ルーチンの要部を示すフローチャート。 特定の閾値群番号の閾値に対して、大中小ドットの形成がどのように変化するかを例示する説明図。 入力階調値に対するドット切替階調値の関係を例示する説明図。 ドット切替階調値に対するドット形成の配置を例示する説明図。 第3実施形態の処理の概要を示す説明図。
A.第1実施形態:
A1)ハードウェア構成:
図1は、実施形態の画像処理システム10としてのコンピューター80とカラープリンター20の構成を示す説明図である。コンピューター80は、CPU81とメモリー82を備える。もとよりコンピューター80は、カラープリンター20と接続するためのインタフェースやディスプレイなどの出力機器、キーボードなどの入力機器なども備えるが、図示は省略した。
カラープリンター20はシアン,マゼンタ,イエロ,ブラックの4色インクのドットを形成可能なインクジェットプリンターである。もちろん、これら4色のインクに加えて、染料または顔料濃度の低いシアン(淡シアン)インクと、染料または顔料濃度の低いマゼンタ(淡マゼンタ)インクとを含めた合計6色のインクドットを形成可能なインクジェットプリンターを用いることもできる。あるいは、赤や緑、黄色、青などの特色インクを搭載することも差し支えない。更には、ブラックの明度を高くしたグレーインクなどを、1または複数種類搭載したプリンターを用いることも可能である。
カラープリンター20は、図示するように、キャリッジ40に搭載された印字ヘッド41を駆動してインクの吐出およびドット形成を行なう機構と、このキャリッジ40をキャリッジモーター30によってプラテン36の軸方向に往復動させる機構と、紙送りモーター35によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ40の移動および印刷用紙の搬送を制御する制御回路60などから構成されている。キャリッジモーター30の回転は、プリー32との間に架設された無端ベルト31を介して、キャリッジ40に伝えられる。キャリッジ40は、シャフト33に対して摺動可能に取り付けられ、キャリッジモーター30の正転・逆転に伴い、シャフト33に沿って、印刷用紙Pの幅方向に往復動する。
キャリッジ40には、Kインクを収納するインクカートリッジ42と、Cインク,Mインク,Yインクの各種インクを収納するインクカートリッジ43とが装着されている。インクカートリッジ42,43をキャリッジ40に装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド41の下面に設けられた各色毎のインク吐出用ヘッド44ないし47に供給される。
制御回路60は、CPUや、ROM、RAM、PIF(周辺機器インターフェース)等がバスで相互に接続されて構成されている。制御回路60は、キャリッジモーター30および紙送りモーター35の動作を制御することによってキャリッジ40の主走査動作および副走査動作を制御するとともに、コンピューター80から供給される印刷データに基づいて、各ノズルから適切なタイミングでインク滴を吐出する制御を行なう。こうして、制御回路60の制御の下、印刷媒体上の適切な位置に各色のインクドットを形成することによって、カラープリンター20はカラー画像を印刷することができる。
各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインク滴を吐出する方式や、インク通路に配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法などを用いることができる。また、インク滴を吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンターを使用することも可能である。
以下では、インクを吐出するシリアルタイプのカラープリンター20を例にとって説明するが、ラインプリンターやページブリンターの形式を採用することも差し支えない。画像の形成を、インク滴と同じように、単位面積当りの濃度が異なる複数種類のドットを単位として行なうのであれば、インク溶融型プリンターであれ、トナーを転写するタイプのプリンターであれ、用いることができる。
以上のハードウェア構成を有するカラープリンター20は、キャリッジモーター30を駆動することによって、各色のインク吐出用ヘッド44ないし47を印刷用紙Pに対して主走査方向に移動させ、また紙送りモーター35を駆動することによって、印刷用紙Pを主走査方向と交差する方法である副走査方向に移動させる。制御回路60は、キャリッジ40の主走査および副走査の動きに同期させながら、適切なタイミングでノズルを駆動してインク滴を吐出することによって、カラープリンター20は印刷用紙P上にカラー画像を印刷している。
カラープリンター20の制御回路60内にはCPU,RAM,ROMなどが搭載されていることから、コンピューター80が行なう処理をカラープリンター20内で実施することも可能である。このような場合は、デジタルカメラや携帯電話などで撮影した画像の画像データをカラープリンター20に直接供給して、インタフェースパネル59から指示することで、制御回路60内で必要な画像処理を実施することにより、カラープリンター20から直接画像を印刷することも可能となる。画像から印刷用のドットの形成の有無を指定したドットデータを形成する場合、コンピューター80内のプリンタードライバーなどが画像処理装置に相当し、カラープリンター20が画像形成装置に相当する。他方、デジタルカメラなどから直接データを受け取って印刷する場合は、カラープリンター20内に画像処理装置と画像形成装置とが内蔵されていることになる。以下の説明では、コンピューター80内のプリンタードライバーが画像処理装置として動作する。
A2)画像処理の概要:
画像処理システム10が行なう画像印刷処理について、図2に基づいて簡単に説明する。図2に示した処理は、コンピューター80およびカラープリンター20により、実行される。この処理は、ユーザーがコンピューター80を操作して、特定の画像をカラープリンター20で印刷させようとする場合に実行される。
図2に示した画像印刷処理が開始されると、まず画像データを読み込む処理を開始する(ステップS100)。ここでは、画像データはRGBカラー画像データであるものとして説明するが、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。また、カラープリンターに限らず単色プリンターについても同様に適用することが可能である。
カラー画像データの読み込みに続いて、色変換処理を行なう(ステップS102)。色変換処理とは、R,G,Bの階調値の組合せによって表現されているRGBカラー画像データを、印刷のために使用されるインク各色についての階調値の組合せによって表現された画像データに変換する処理である。前述したように、カラープリンター20はC,M,Y,Kの4色のインクを用いて画像を印刷している。そこで、第1実施例の色変換処理ではRGB各色によって表現された画像データを、C,M,Y,Kの各色の階調値によって表現されたデータに変換する。色変換処理は、色変換テーブル(LUT)と呼ばれる3次元の数表を参照することで行なう。LUTには、RGBカラー画像データに対して、色変換によって得られるC,M,Y,K各色の階調値が予め記憶されている。ステップS102の処理では、このLUTを参照することにより、RGBカラー画像データをC,M,Y,K各色の画像データに迅速に色変換することが可能である。
色変換処理を終了すると、続いて解像度変換処理を開始する(ステップS104)。解像度変換処理とは、画像データの解像度を、プリンター20が画像を印刷する解像度(印刷解像度)に変換する処理である。画像データの解像度が印刷解像度よりも低い場合は、画素間に新たな画像データを生成し、逆に画像データの解像度が印刷解像度よりも高い場合には、一定の割合でデータを間引くことによって、画像データの解像度を印刷解像度に一致させる処理を行なう。両者の解像度が一致していれば、この処理は省略することができる。
画像の解像度を印刷解像度に変換したら、コンピューター80は、ドット配置特定処理を実行する(ステップS106)。ドット配置特定処理の詳細な内容は後述するが、図3を用いて、この処理の概要について説明する。ドット配置特定処理では、互いに所定の位置関係にある画素を所定個数ずつ画素群としてまとめることにより、1つ画像を複数の画素群に分割する。画素群としてまとめられ画素数は、必ずしも全ての画素群が同数である必要はなく、例えば、複数の画素数を規則的に切り換えたり、あるいは画像中での位置に応じて画素群にまとめられる画素数を切り換えることも可能である。図3では、理解の便を図って、最も単純な場合として全画素群が同数の画素(2×2)を有するものとして説明する。
画像の縦横をx,yとして表記する。この例では、x方向は、プリンター20副走査方向(図1)であり、y方向は、プリンター20の主走査方向である。画素群は、P(x,y)として特定することができる。ドット配置特定処理では、まずこの画素群P(x,y)を取り込み、この画素群P(x,y)内にエッジがあるか否かの判断を行なう。エッジがあるか無いかは、種々の手法が考えられるが、例えば、画素群P(x,y)内の複数の画素のうちの最も階調値の高い画素と低い画素との階調値の差が所定以上であれば、エッジがあると判定することができる。エッジがあると判断した場合には、第1特定処理を行ない、エッジがないと判断した場合には、第2特定処理を行なう。この処理は特定部の処理に対応している。
第1特定処理では、記憶部に記憶された第1対応関係を参照することにより、ドットの配置を特定する。エッジが存在するということは、画素群内に比較的階調値の高い画素と相対的に低い画素とが存在するということを意味する。そこで、比較的階調値の高い画素を高階調値画素HDに分類し、相対的に階調値の低い画素を低階調値画素LDに分類する。分類の手法は後で説明する。その上で、第1特定処理では、全画素が高階調値画素HDであるとして、第1対応関係を参照してドット配置を求め、もう一度、今度は、全画素が低階調値画素LDであるとして、第1対応関係を参照してドット配置を求め、その上で、高階調値画素HDと低階調値画素LDとの配置に応じて、求めたドット配置を合成して、出力する。図3では、高階調画素HDをハッチした画素として示し、低階調画素LDを空白の画素として示した。
他方、第2特定処理は、エッジがない場合に行なわれる処理なので、画素群内の画素の階調値を一つの値(例えば全画素の階調値の平均値)により代表させ、この代表値に基づいて、記憶部に記憶された第2対応関係を参照することにより、ドットの配置を特定し、出力する。
第1対応関係と第2対応関係は、それぞれ図3の最下段に例示したように、入力階調値とドット形成の割合との関係から導かれている。図3最下段に示した入力階調値とドット形成の割合との関係を、図4、図5に示した。図4は、エッジがあると判断された場合に参照される第1対応関係を求める際に用いられた入力階調値とドット形成の割合との関係の一例を示す。他方、図5は、エッジがないと判断された場合に参照される第2対応関係を求める際に用いられた入力階調値とドット形成の割合との関係の一例を示す。両図において、LS1,LS2は小ドットの形成の割合を示し、LM1,LM2は中ドットの形成の割合を示し、LL1,LL2は大ドットの形成の割合を示す。また、入力階調値は大ドットに換算した時のドットの形成の割合に対応し、小ドットは大ドットの1/4、中ドットは大ドットの1/2に相当するとしている。そのため図4のLS1/4+LM1/2+LL1は入力階調値と一致しており、図5も同様である。
ここで、エッジがある場合に参照される第1対応関係は、第2対応関係と比較すると、次の特徴を有する。
(A)小ドットの形成の割合の最大値が大きい。
(B)中ドットの形成の割合の最大値が大きい。
(C)大ドットが形成されにくい。大ドットの形成が開始される入力階調値が高い。
(D)中間入力階調域において、大中小ドットの形成の割合の合計値が大きい。
これらの特徴のうち、少なくとも一つを満たした関係であれば、第2対応関係に対する第1対応関係として扱うことができる。なお、形成するドットが2種類の場合(大小ドット)には、(A)(C)(D)の少なくともいずれか一つの特徴を有する関係を第1対応関係とすることができる。
以上が、ドット配置特定処理(ステップS106)の概要である。図3に示した手法によりドットの配置を特定すると、上記特徴から、画素群内にエッジがあると判断された場合には、単位面積当りの濃度が相対的に低いドットが、単位面積当りの濃度が相対的に高いドットよりも、高い割合で形成される。このことは、エッジの再現性や細線の連続性を確保する上で、第1対応関係が望ましいということを意味する。
こうしてドット配置を特定した後、ドット形成の処理を行なう(ステップS110)。この処理は、コンピューター80のプリンタードライバーが、ドットの形成をプリンター20に指示する処理である。もとより、この指示を受けて、カラープリンター20の制御回路60に内蔵されたCPUが、具体的なドット形成の制御を実施する。その意味では、図2に示したステップS100〜S106までがコンピュータ−80のブリンタドライバにより行なう処理、ステップS110がカラープリンター20により実行される処理、とみなすことも可能である。いずれにせよ、ドット配置特定処理によるドット形成位置の特定を受けて、カラープリンター20によるドットの形成が行なわれる。
A3)第1,第2対応関係の用意:
上述したように、特定部、詳しくは第1特定処理、第2特定処理では、第1,第2対応関係を参照することで、形成するドットの配置を決定している。このため、画像印刷処理(図2)に先立って、第1,第2対応関係が予め求められている必要がある。そこで、次に、第1,第2対応関係を用意する方法について説明する。この方法は、例えば特開2006−14036号公報などに詳しく説明されているので、ここでは簡略に説明する。
図6は、第1,第2対応関係を求める手法を示す説明図である。この例では、図4および図5に示した入力階調値とドット形成の割合から、64画素×64画素分の大きさを持つディザマスクを利用して、第1多値化テーブルと第2多値化テーブルおよび共通の順序値テーブルを求める。ここで、ディザマスクは、図7に一例を示すように、縦(副走査方向)に64画素分、横(主走査方向)に64画素分、の大きさを有する大域的ディザマスクである。このディザマスクは、画像の階調値と比較される値1〜255の閾値が、4096箇所に万遍なく、かつこの閾値を利用して形成されたドットの配置がブルーノイズ特性を備えるように、記憶されている。またはここで、閾値の階調値が1〜255の範囲から選択されているのは、本実施例では、大ドット、中ドット、小ドットの形成の割合を示すデータが階調値0〜255の値を取り得る1バイトデータとしていることに加えて、階調値と閾値とが等しい場合には、その画素にはドットを形成するものと判断していることによる。但し、階調値、閾値ともに更にビット数が大きな整数データや実数データであっても差し支えない。
利用するディザマスクの特性は問わない。ドットの分散性をよくする場合には、ブルーノイズ特性またはグリーンノイズ特性を有するディザマスクを用いれば良い。この他、ランダムな特性(ホワイトノイズ特性)を有するものや、低周波側にある程度の特性値を有するピンクノイズ特性のディザマスクなども用いることができる。ドット集中型の特性を有するディザマスクも利用可能である。対象となる画像の画素数がディザマスクの大きさより大きければ、ディザマスクを繰り返し使用すればよい。繰り返し使用する際には、そのまま繰り返しても良いし、数画素分ズラしながら繰り返し使用しても良い。繰り返し使用する場合に、ディザマスクを構成する閾値の数が1000個より更に大きなサイズのディザマスクを用いれば、使用されるディザマスクの繰り返し周期が更に視認されにくくなり、望ましい。例えば64×64,64×128,128×128や更にこれより大きなサイズのディザマスクを用いることが望ましい。なお、二進数でデータを扱っている場合には、ディザマスクの縦横の大きさを2の累乗にしておけば、ある画素に適用すべき閾値の位置を容易に特定できる。もとより2の累乗以外の大きさであっても差し支えない。
図7に示したディザマスクは、2×2の1つずつひとまとまりにされ、閾値群を形成する。副走査方向をm、主走査方向をnで表すものとすれば、閾値群は、
B(m,n) m:1〜32、n:1〜32
として表すことができる。このB(m,n)を、以下、閾値群番号と呼ぶ。32×32=1024個の閾値群は、4つの閾値の組み合わせになっている。この一つの閾値群番号B(m,n)から、第1,第2多値化テーブルを構成する対応関係の一つが作られる。以下、その手法について説明する。
図8は、図4に示した入力階調値とドット形成の割合との関係と、ディザマスクの一つの閾値群番号B(1,3)とから、多値化対応値を求める手順を示している。この処理は、入力階調値の範囲0〜255について順次行なわれる。画像を画素群P(x,y)に分け、そのうちの一つの画素群を代表する階調値がDS1であるとする。図5において、入力階調値が値DS1であれば、この入力階調値DS1に対する小ドットの形成の割合LS1が値41、中ドットの形成の割合LM1が値190、大ドットの形成の割合LL1が値12となる。各値は、図7の閾値が1〜255の範囲の値をとることから、これに合わせて、0〜255の値をとるものとしてある。従って、大ドットの形成の割合LL1が値12であるとは、12/255≒0.05、つまり入力階調値がDS1であるときの大ドットの形成の割合は、全体の約5%となるべきことを意味している。そこで、この各ドットの形成の割合を以下ドット密度と呼ぶ。
閾値群番号B(1,3)は、図7に示されている様に、左上から右下にかけて順番に「70,186,242,5」の4つの閾値を有している。そこで、まず画素群P(x,y)における大ドットのドット密度LL1=12と、閾値群番号B(1,3)の各閾値とを比較する。この結果、右下の画素については、12≧5なので、右下の画素にのみ大ドットが形成されることになる。次に、画素群P(x,y)における中ドットのドット密度を取り出し、これに大ドットのドット密度を加えて、ドット密度の合計値TT1を求める。つまり、TT1=LL1+LM1=12+190=202、となる。この合計値TT1を用いて、閾値群番号B(1,3)内の各閾値との比較を再度行なう。そうすると、右下の画素(対応する閾値=5)と右上の画素(対応する閾値=186)と左上の画素(対応する閾値=70)とにおいて、ドット密度の合計値TT1が、対応する閾値より大きくなる。右下の画素には既に大ドットが配置されているので、この結果左上の画素と右上の画素とに中ドットが配置される。
最後に、画素群P(x,y)における小ドットのドット密度を取り出し、これに既に求めたドット密度の合計値TT1を加えて、ドット密度の合計値TT1を更新する。つまり、TT1=LL1+LM1+LS1=12+190+41=243、となる。この合計値TT1を用いて、閾値群番号B(1,3)内の各閾値との比較を再度行なう。そうすると、全ての画素において、更新したドット密度の合計値TT1が、対応する閾値より大きくなる。右下の画素には大ドットが、左上と右上の画素には中ドットが、それぞれ既に配置されているので、この結果左下の画素に小ドットが配置される。このように、各ドット密度を順次加えて、閾値群内の各閾値との比較を行なうのは、特開2006−14036号公報に示された手法による。閾値群番号B(1,3)を用いると、画素群P(x,y)には、結果的に、大ドット1、中ドット2、小ドット1が配置された。
今、2×2、つまり4つの画素からなる画素群に大中小のドットを配置する場合を考えると、大中小各ドットの個数は、図9に示したように、大中小全てが配置されない場合から全ての画素に大ドットが形成される場合まで、全部で35通りの組合せがあることが分かる。この35通りの組合せを区別するために、多値化対応値として0〜34を割り当てた。多値化対応値は、ドットの種類と個数の組合わせに対応するもので、対応関係が一意に定まれば、どのような順序で割り当てても差し支えなく、ランダムに割り当てても良いが、ここでは、小ドット相当個数の順とすることで、画素群としての階調順に並ぶようにした。小ドットの相当個数とは、画素群に大中小ドットが適宜割り当てられたとき、画素群として、小ドット何個分のドットが配置された状態に相当するかを示す数値である。本実施形態では、大ドット1個が中ドット2個分に相当し、中ドット1個が小ドット2個分に相当するものとした。この関係は大、中、小ドットのインク液滴の重量比とほぼ同じになるように決定した。この関係に従って、形成されるドットの種類と個数から、画素群当り、小ドット何個分の階調表現に相当するかを求めたのが、図9である。図9は、小ドット相当個数の小さい方から順に配列し、この順序に多値化対応値(0〜34)を割り当てている。つまり、最も小ドット相当個数が小さくなる場合(一つもドットが形成されない場合)を多値化対応値0とし、最も小ドット相当個数が大きくなる場合(4つの画素全てに大ドットが形成される場合)を多値化対応値34として、多値化対応値を割り当てた。このようにしたため、本実施形態では、図8に示した閾値群番号B(1,3)では、大中小ドットがそれぞれ1、2、1個形成されており、図9の対応関係では、多値化対応値は値25となる。閾値群番号B(m,n)が4つの閾値から構成されている場合には、多値化対応値は、0〜34までの35種類しか存在しないので、6ビット有れば全ての多値化対応値を表現することができる。
他方、画素群P(x,y)に含まれる4つの画素にどの順序でドットが形成されるかは、その画素群P(x,y)に対応する閾値群番号B(m,n)の閾値の大小の組み合わせにより決まる。図8に示したB(1,3)では、ドットは、右下→左上→右上→左下の順序で形成される。この順序を順序値Od(m,n)と呼ぶ。図7に示したディザマスクを例にとれば、図10に示したように、閾値群が異なれば、順序値も異なるが、閾値群番号B(1,2)と閾値群番号B(1,3)のように、順序値が同じになる場合も存在する。画素群P(x,y)が4つの画素から構成されている場合には、この順序値は、4!=24通りしか存在しない。従って、5ビットあれば、全ての順序値Od(m,n)を表現することができる。
閾値群番号B(m,n)は、本実施形態では、B(1,1)〜B(32,32)まで、1024個存在する。一つの閾値群番号B(m,n)について、入力階調値を値0〜最大値255まで変化させたとき、大中小のドットがどのように現れるかを調べると、図9に示した全ての場合が生じる訳ではなく、閾値の組み合わせによって、35種類の多値化対応値のうち、10程度の多値化対応値が現れる。この様子を図11に示した。全ての閾値群番号B(m,n)について、入力階調値の増加に従って、変化する多値化対応値を並べた図11のデータを、多値化テーブルと呼ぶ。この多値化テーブルは、元になったディザマスクの内容(閾値の配列)によっても変わるが、入力階調値とドット形成の割合が異なれば(例えば図4、図5)、同様に変化する。この結果、いずれの多値化テーブルを用いるかにより、再現される画像も変化する。
以上説明した各要素、つまり画素群P(x,y)、これを多値化するための閾値群番号B(m,n)、各閾値群番号B(m,n)から求められた多値化テーブル、および順序値Od(m,n)を用いて、画素群P(x,y)からドットの配置を求める流れについてまとめる。図12は、画素群P(x,y)からドット配置を求めるまでの処理の流れを示す説明図である。図12に示すように、まず画素群P(x,y)が特定されると、この画素群P(x,y)に含まれる4つの画素の階調値da,db,dc,ddの平均値PA(x,y)を求める。他方、この画素群に適用する閾値群番号B(m,n)を求める。ディザマスクは、32×32の画素群に対応する大きさを有するので、次式(1)により求めることができる。
m=((x−1) mod 32)/2+1
n=((y−1) mod 32)/2+1 … (1)
従って、画素群P(x,y)が与えられれば、この画素群P(x,y)に適用すべき閾値群番号B(m,n)を知ることができる。なお、ここで「A mod B」とは、値Aを値Bで除した場合の剰余を意味している。
こうして求めた画素群P(x,y)に含まれる画素の階調値の平均値PA(x,y)と閾値群番号B(m,n)とを用いたエンコード処理を行なう。エンコード処理とは、図11に例示した多値化テーブルを参照して、平均値PA(x,y)に対応する多値化対応値を取得することを言う。こうして得られた多値化対応値と閾値群番号B(m,n)の順序値Od(m,n)とを用いたデコード処理を行なう。デコード処理とは、上記のエンコード処理で得られた多値化対応値と、閾値群番号に対応した順序値Od(m,n)とにより、ドットの配置を決定する処理である。エンコード処理により、図11の多値化テーブルを参照することで、多値化対応値として、例えば値25が得られれば、大ドット1、中ドット2、小ドット1形成することになる。閾値群番号B(m,n)に対応する順序値が、左上→右上→左下→右下であれば、図12の最下段に示したように、この順に、大ドット、中ドット、中ドット、小ドットが形成される。
以上説明したように、本実施形態の画像処理システム10では、画像処理を行なう画像処理装置、つまり本実施形態のコンピュータ−80のメモリー82には、予め、こうした多値化テーブルが用意されている。多値化テーブルは、図4に示したエッジ画素群に対する入力階調値−ドット密度の関係から作られた第1多値化テーブルと、図5に示した非エッジ画素群に対する入力階調値−ドット密度の関係から作られた第2多値化テーブルとが用意されている。コンピュータ−80は、図2に示したドット配置特定処理を行なうことで、上記のエンコード処理を行ない、各画素群P(x,y)に対応する多値化対応値を出力する。本実施形態では、同じコンピューター80が、この画素群P(x,y)の多値化対応値と、この画素群P(x,y)に適用すべき順序値とから、デコード処理を行なって、大中小のドットを形成する配置を決定する。なお、第1,第2多値化テーブルは同じディザマスクを基にして作られているので、順序値テーブルは共通である。
上記の説明では、エンコード処理もデコード処理も、同じコンピューター80で行なうものとしたが、エンコード処理はコンピュータ−80で行ない、デコード処理はこの多値化対応値を受け取ったカラープリンター20で行なうものとしてもよい。カラープリンター20は、現在扱っている画素群P(x,y)の位置が分かれば、画素群P(x,y)に適用する閾値群番号B(m,n)が分かり、順序値も分かるので、デコード処理をカラープリンター20側で行なうことは容易である。この場合は、カラープリンター20側は、全ての順序値を順序値テープルに記憶しておけばよい。
A4)ドット配置特定処理:
そこで、上述したように、第1,第2多値化テーブルおよび順序値テーブルが用意されている、という前提で、図2に示したステップ106の処理、つまりドット配置特定処理について、以下説明する。図13は、ドット配置特定処理ルーチンの詳細を示すフローチャートである。この処理は、解像度変換処理を終えた画像に対して、その原点位置(通常は画像の左上)から順に画素値を読み込みながら行なわれる。この処理が開始されると、まず画素群P(x,y)を特定する処理を行なう(ステップS200)。ドット配置特定処理が開始された直後は、原点位置の画素群、つまりP(1,1)が特定される。
次に、この画素群内の画素値を演算する処理を行なう(ステップS210)。この処理の内容を図14に示した。本実施形態では、一つの画素群P(x,y)内には4つの画素が含まれる。そこで、この4つの画素の階調値を用いて、
最大値Dmax の演算:4つの画素のうちの最大階調値を求める処理(ステップS212)
最小値Dmin の演算:4つの画素のうちの最小階調値を求める処理(ステップS214)
大小差ΔDの演算:最大値Dmax −最小値Dmin を求める処理(ステップS216)
中間値Dmed の演算:(最大値Dmax +最小値Dmin )/2を求める処理
を求める処理(ステップS218)、
を行なうのである。
以上の処理を行なった後、求めた大小差ΔDが、予め定めたエッジ判定閾値Ethより大きいか否かの判断を行なう(図13、ステップS220)。画素群の中の画素値に大きな隔たりがあれば、画素群内にエッジがあると判断できるからである。大小差ΔDがエッジ判断閾値以下であれば(ステップS220:「NO」)、非エッジ画素群ドット配置決定処理(ステップS300)を実行し、他方大小差ΔDがエッジ判断閾値より大きければ、エッジ画素群ドット配置決定処理(ステップS400)を行なう。これらの各処理については、後で詳しく説明する。
画素群内にエッジが存在するエッジ画素群であるか否かにより、ステップS300またはS400のいずれかのドット配置決定処理を実行した後、画素群の位置を設定する変数yを値1だけインクリメントし(ステップS230)、1ラスタ分(正確には2ラスタ分)の処理が完了したかを判断する(ステップS240)。変数yをインクリメントしても、画素群P(x,y)が画像の端まで到達していなければ、ステップS240での判断は「NO」となって、処理は上記ステップS200に戻り、画素群を一つ主走査方向に進めて、上記の処理(ステップS200ないしS240)を繰り返す。
変数yをインクリメントしていった結果、画素群P(x,y)が画像の端まで到達していていれば、ステップS240での判断は「YES」となるので、変数yを値1にリセットする処理と変数xを値1だけインクリメントする処理とを行ない(ステップS250)、全ての画素群についての処理が完了したかを判断する(ステップS260)。変数xを値1だけインクリメントすることで、処理する画素群は副走査方向に1だけ移行する。画像の端まで到達していなければ、ステップS260での判断は「NO」となって、処理は上記ステップS200に戻り、画素群を一つ副走査方向に移行した状態で、上記の処理(ステップS200ないしS260)を繰り返す。変数xをインクリメントしていった結果、処理が画像の端まで完了すれば、「NEXT」に抜けて、本処理ルーチンを終了する。
次に、図13においてステップS300として示した非エッジ画素群ドット配置決定処理について説明する。図15は、非エッジ画素群ドット配置決定処理を示すフローチャートである。この処理を開始すると、まず画素群P(x,y)内の各画素の階調値の平均値Dave を求める処理を行なう(ステップS310)。図12に示したように、4つの画素の階調値がそれぞれda,db,dc,ddであれば、平均値Dave は、(da+db+dc+dd)/4として求めることができる。次に、この画素群P(x,y)に適用する閾値群番号B(m,n)を求める処理を行なう(ステップS320)。適用すべき閾値群番号B(m,n)は、既述した式(1)により求めることができる。
続いて、先に求めた平均値D ave によるエンコード処理を行なう(ステップS330)。エンコード処理とは、平均値Dave で、第2多値化テーブルの閾値群番号B(m,n)をルックアップすることを意味する。このときの用いられる第2多値化テーブルTB2は、図5に示した入力階調値−ドット形成の割合の関係を元に生成されメモリー82に記憶されていたテーブルである。この第2多値化テーブルTB2は、後で説明するエッジ画素群ドット配置決定処理(図16)で用いられる第1多値化テーブルTB1と比べると、低階調領域での小ドットの形成の割合および所定階調値以上での中ドットの形成の割合が、低いということができる。つまり、同じ階調値の画像を形成する上で、低階調領域では、中ドットがより多く形成され、所定階調値以上では、大ドットがより多く形成されることになる。
上記のエンコード処理を終えた後、次に得られた多値化対応値を順序値Od(m,n)を用いてデコードする処理を行なう(ステップS340)。この処理は、順序値テーブルに登録された順序値Od(m,n)から処理している画素群P(x,y)に適用する順序値を特定し、この順序値に従って、得られた多値化対応値が示す大中小ドットの割り当てを行なう処理である。多値化対応値が、例えば値25であれば、図9に示したように、この多値化対応値は、大ドット1、中ドット2、小ドット1を形成することを意味しているから、これらの大中小ドットを順序値が示す順序で、各画素に配置する。その後、「NEXT」に抜けて、本処理ルーチンを終了する。
次に、図13においてステップS400として示したエッジ画素群ドット配置決定処理について説明する。図16は、エッジ画素群ドット配置決定処理を示すフローチャートである。この処理を開始すると、まず画素群P(x,y)内の各画素を、高階調画素HDと低階調画素LDとに分け、それぞれの平均値HDave とLDave とを求める処理を行なう(ステップS405)。ここで高階調画素HDとは、その画素の階調値が、図14に示したステップS218で求めた中間値Dmed より大きい値を有する画素であり、低階調画素LDとは、その画素の階調値が、中間値Dmed より小さい値を有する画素である。画素群P(x,y)に含まれる4つの画素を高階調画素HDか低階調画素LDかのいずれかに分類した後、それぞれの画素の階調値の平均値を求め、これを高階調画素平均値HDave および低階調画素平均値LD ave とする。なお、高階調画素か低階調画素かの判断を行なう基準は、こうした中間値Dmed の他に、全画素の階調値の平均値でも良いし、4つの画素の階調値の中央値でも良い。あるいは単純に最大入力階調値の1/2、つまりこの例では値127としても良い。
続いて、高低マスクを決定する処理を行なう(ステップS410)。この高低マスクとは、ステップS405の処理において、高階調画素HDと判断した全画素の位置を示す高用マスクと、低階調画素LDと判断した画素の位置を示す低用マスクである。高用マスクと低用マスクとは、排他的なので、例えば4つの画素のうち最初と最後の画素が高階調画素HDであることを、「1001」の4ビットで表すとすれば、低用マスクは、各ビットを反転させた「0110」の4ビットで表すことができる。本実施形態では、大ドットを「11」で、中ドットを「10」で、小ドットを「01」で、ドットなしを「00」で、それぞれ表すことから、ビット演算の容易さを考慮して、高用マスクを「11000011」のように各画素2ビット「11」で表現するものとしている。
高低マスクの決定処理を行なった後、画素群P(x,y)に適用する閾値群番号B(m,n)を求める処理を行ない(ステップS420)。この処理は、既に説明した式(1)により、(x,y)から、(m,n)を求める処理である。閾値群番号B(m,n)が求められれば、この閾値群における順序値Od(m,n)も求められる。
こうして高低マスクと閾値群番号B(m,n)とを特定した後、高階調画素HDに対する処理(ステップS430〜S450)と低階調画素LDに対する処理(ステップS435〜S455)とを行なう。これらの処理は、ほぼ同じなので、図16では、処理を左右に並べて示した。これは、ステップS420において、高階調画素HDか低階調画素LDかの判断を行なっていることを意味するのではない。高階調画素HDに対する処理であるステップS430〜S450、低階調画素LDに対する処理であるステップS435〜S455は、共に実施される。これらの処理の実施のタイミングは、その前後を問わない。
ステップS430から説明する。まず高階調画素HDについて、その平均値HDave でエンコードする処理を行なう(ステップS430)。エンコードとは、既に説明したように、高階調画素平均値HDave により、第1多値化テーブルTB1の閾値群番号B(m,n)をルックアップし、多値化対応値を取得する処理である。
続いて、得られた多値化対応値を、順序値Od(m,n)を用いてデコードする(ステップS440)。多値化対応値から、高階調画素平均値HDave により形成されるべき大中小ドットそれぞれの数が分かるので、大ドットから順に、順序値Od(m,n)に従って、ドットを形成する配置を決定していくのである。こうすることで、元のディザマスクの閾値群において最もドットが形成され易い位置から順に大ドット、中ドット、小ドットの順で、ドットが形成されるよう配置されることになる。図16において、この様子を、高階調画素用ドット配置HAとして示した。もとより多値化対応値から、大中小の全てのドットが形成されない場合も存在するが、その場合は形成されない種類のドットは飛ばして、順序値Od(m,n)に従って、各種のドットが形成位置が定められる。
その後、このドット配置に高用マスクを適用し、高用マスクにおいてドットが形成されるとされた位置を残して、他の位置のドットは取り除く処理を行なう(ステップS450)。図の高階調画素用ドット配置HAにおいて、高用マスクによりドットが形成される位置をハッチで示した。
上記の処理と同様の処理を、低階調画素LDについても行なう。低階調画素LDについて、その平均値LDave でエンコードする処理を行なう(ステップS435)。このエンコードとは、低階調画素平均値LDave により、第1多値化テーブルTB1の閾値群番号B(m,n)をルックアップし、多値化対応値を取得する処理である。
続いて、得られた多値化対応値を、順序値Od(m,n)を用いてデコードする(ステップS445)。多値化対応値から、低階調画素平均値LDave により形成されるべき大中小ドットそれぞれの数が分かるので、大ドットから順に、順序値Od(m,n)に従って、ドットを形成する配置を決定していくのである。こうすることで、元のディザマスクの閾値群において最もドットが形成され易い位置から順に大ドット、中ドット、小ドットの順で、ドットが形成されるよう配置されることになる。図16において、この様子を、低階調画素用ドット配置LAとして示した。
その後、このドット配置に低用マスクを適用し、低用マスクにおいてドットが形成されるとされた位置を残して、他の位置のドットは取り除く処理を行なう(ステップS455)。図の低階調画素用ドット配置LAにおいて、低用マスクによりドットが形成される位置をハッチで示した。
以上の処理を行なった後、ステップS450により得られた高階調画素HD用のドットの配置と、ステップS455により低階調画素LD用のドットの配置とを合成する処理を行なう(ステップS460)。ステップS450,S455により既に不要な位置のドットは取り除かれているので、単純に両者を足し合わせるだけで、元の画素群P(x,y)の4つの画素位置において形成すべきドットの配置DAが決定される。なお、高低マスクの適用は、合成処理(ステップS460)で行なうものとしても良い。こうして得られたドットの形成位置の情報は、図2に示したドット形成処理(ステップS110)で用いられ、カラープリンター20によって各色のドットが形成される。
図16の処理によりドットが形成される様子を図17に示した。処理を行なう画素群P(x,y)が、図示するように、左上の画素の階調値が値205、他の3つの画素の階調値が、値12、値10,値14であるとする。この場合、高低分離の処理と平均化の処理とを行なうと(図16,ステップS405)、高階調画素平均値HDave は値205となり、低階調画素平均値LDave は値12となる。
高低マスク決定処理(ステップS410)により、高用マスクHMと低用マスクLMとが作成される。他方、画素群P(x,y)に適用すべき閾値群番号B(m,n)を決定した後、エンコード処理を行なうことにより、高階調画素平均値HDave に基づいて多値化対応値として値25が得られる(図9参照)。他方、低階調画素平均値LDave に基づいて多値化対応値として値1が得られる。順序値Od(m,n)としては、前者は、大ドット1、中ドット2、小ドット1に対応し、後者は、小ドット1に対応している。これを、得られた順序値Od(m,n)に従って配置すると、図17に例示したように、高階調画素用ドット配置HAと低階調画素用ドット配置LAとが得られる。これに、既に結滞した高用マスクHM、低用マスクLMを適用して両者を足し合わせることで、この画素群P(x,y)に形成すべきドットの配置DAが得られる。
A5)第1実施形態の効果:
以上説明した第1実施形態の画像処理システム10によれば、画素群P(x,y)内にエッジがある場合とエッジがない場合とで、第1多値化テーブルTB1と第2多値化テーブルTB2とを別々に参照してドットの形成を行なうことができる。実施形態の第1多値化テーブルTB1と第2多値化テーブルTB2とは、入力階調値とドット形成の割合との対応関係が異なる。第1多値化テーブルTB1は第1対応関係(図4)に相当し、第2多値化テーブルTB2は第2対応関係(図5)に相当する。図4、図5は、例示に過ぎないが、第1対応関係は、第2対応関係と比べると、より小さいサイズのドットの比率を増やすことで、同じ入力階調値に対して、形成されるドットの個数が多くなるように設定されている。このため、画素群P(x,y)内にエッジがあると判断すると、その画素群P(x,y)の階調値が同じであっても、形成されるドットの数は増える。この結果、エッジが再現されやすくなるだけでなく、例えば細線などが途切れにくくなる。
本実施形態では、エッジの有無を各画素毎に判断するのではなく、画素群を単位としてエッジ検出を行なっている。このため、エッジの有無を検出する処理が簡略化でき、この点で処理の高速化、処理時間の短縮を図ることができる。しかも、本実施形態によれば、画素群P(x,y)内にエッジがあると判断した場合、画素群P(x,y)内の画素が高階調画素HDであるとして、更には低階調画素であるとして、それぞれ処理を行なうことで、高階調画素に対応したドット配置、低階調画素に対応したドット配置を求め、これを合成している。従って、多値化における閾値との大小比較などは原則として行なわないので、処理を簡略なものにできる。このため、処理全体あるいは処理の一部をハードウェアにより実現することも容易である。また、本実施形態では、データの圧縮も実現している。本実施形態では、8ビットの階調表現を有する画素4つ分、つまり8×4=32ビットのデータを、多値化の途中で、6ビットの多値化対応値にエンコードしている。従って、元の階調データと比較すれば、非エッジブロックではデータを6/32に圧縮できる。エッジブロックでは、多値化対応値が2つと高低マスク、更にエッジブロックか非エッジブロックかを示すフラグが必要だが、通常の画像や文書データでは非エッジブロックが大部分を占めるので、例えばコンピュータ−80からカラープリンター20にデータを転送する際に、多値化対応値にして送れば、送信するデータを低減できる。コンピュータ−80で大中小ドットのデータに変換した上で、カラープリンター20に送信する場合には、各画素当り2ビット必要となるので、画素群当り、2ビット×4画素=8ビット必要となる。これと比べても、本実施形態では、データを圧縮できる。
更に、本実施形態では、印刷される画像におけるドット配置に、ディザマスクの特性を反映させることができる。つまりディザマスク(図7)がブルーノイズ特性を有していれば、印刷される画像におけるドット配置もブルーノイズ特性を備えたものにすることができる。他の特性でも同様である。なお、本実施形態では、エッジがある場合には低階調画素LDと高階調画素HDの両方に第1対応関係を用いたエンコード処理およびデコード処理を行ったが、細線等を構成するのは主に高階調画素HDであるため、少なくとも高階調画素HDに第1対応関係を適用すれば十分に大きな効果が得られる。このため、主に背景を構成する低階調画素LDには、第2の対応関係を用いたエンコード処理およびデコード処理を適用しても差し支えない。
B.第2実施形態:
本発明の第2実施形態について説明する。第2実施形態の画像処理システム10は、第1実施形態の画像処理システム10と同様のハードウェア構成を備え、画素群P(x,y)内にエッジがあるか否かにより、異なる多値化テーブルTB1,TB2を参照して多値化を行なう点は同様である。第2実施形態では、この処理に加えて、画素群P(x,y)と他の画素群、例えば画素群P(±x,±y)との間にエッジが存在するか否かを判断し、その結果により処理を異ならせる点で、第1実施形態と異なる。
図18は、画像処理システム10において、画素群間にエッジがあるか否かの判断を行なう画素群間エッジ処理ルーチンを示すフローチャートである。この処理は、ある画素群P(x,y)についてのドット配置特定処理(図13)が実行される直前に実行される。図18に示した処理が開始されると、まず画素群P(x,y)の各画素の階調値の平均値P0を演算する処理を行ない(ステップS500)。平均値P0は、平均値を求める関数AVEを用いて、
P0=AVE(P(x,y))
と表すものとする。
続いて、これからドット配置特定処理を行なおうとしているこの画素群P(x,y)に隣接する画素群について、同様に、隣接する画素群に含まれる各画素の階調値の平均値を求める処理を行なう(ステップS510)。具体的には、
Pa=AVE(P(x−1,y))
Pb=AVE(P(x,y−1))
Pc=AVE(P(x,y+1))
Pd=AVE(P(x+1,y))
を演算する。この演算は、処理対象となっている画素群P(x,y)の真上、左側、右側、真下の画素群について平均値を求めることに相当する。なお、隣接画素群としては、この4つに限らず、例えば既に処理が終っている真上と左側に限っても良いし、斜め配置になる画素群についても行なうものとしても良い。
次に、これら4つの隣接画素群の中から、画素群最大値Pmax と画素群最小値Pmin とを演算する処理を行なう(ステップS520)。この演算は、最大値を求める関数maxと最初値を求める関数minとを用いて、それぞれ、
Pmax =max(Pa,Pb,Pc,Pd)
Pmin =min(Pa,Pb,Pc,Pd)
として行なうことができる。
こうして得られた画素群最大値Pmax と画素群最小値Pmin と処理しようとしている画素群P(x,y)の平均値POとを比較し、
Pmax −P0 または P0−Pmin
のいずれかが閾値Tbより大きいかの判断を行なう(ステップS530)。この処理は、結局、処理しようとしている画素群P(x,y)の周辺の4つの画素群のうちいずれか一つの画素群との間で画素群全体の平均値に大きな隔たりがあれば、何らかのエッジが、その隣接する画素群との間で存在すると判断することに相当する。かかる判断を、画素群間エッジ判定と呼ぶ。
上記の画素群間エッジ判定により画素群間にエッジがあると判定した場合には、フラグFeに値1を設定し(ステップS540)、画素群間エッジ判定においてエッジがないと判定した場合には、フラグFeに値0を設定し(ステップS550)、本処理ルーチンを終了する。
図18に示した画素群間エッジ処理に引き続いて、ドット配置特定処理ルーチンが実行される。第2実施形態におけるドット配置決定処理ルーチンは、第1実施形態におけるドット配置決定処理ルーチンとほぼ同一であるが、図19に示すように、ステップS220の判断が「NO」であった場合に、第1実施形態とは異なり、フラグFeが値1かという判断(ステップS225)がまず実行される。この判断の結果、フラグFeが値1であれば、つまり画素群間にエッジが存在すると判定した場合には(ステップS225:「YES」)、エッジ画素群ドット配置決定処理(ステップS400)が実行される。ステップS225での判断が「NO」の場合は、第1実施形態と同様に、非エッジ画素群ドット配置決定処理(ステップS300)が実行される。
つまり、第2実施形態では、画素群内にエッジがないと判断された場合(ステップS220:「NO」)でも、画素群間にエッジがあると判定されれば(ステップS225:「YES」)、画素群内にエッジがあると判断された場合と同様に、エッジ画素群ドット配置決定処理(ステップS400)が実行され、画素群P(x,y)内では、エッジがないと判断された場合より、ドットの形成される割合(個数)が多いドット形成がなされる。この結果、画素群内、画素群間を問わず、エッジのある部分では、ドットの形成個数が増え、エッジが再現されやすくなるだけでなく、例えば細線などが途切れにくくなる。また、第1実施形態の処理はそのまま行なわれるので、第1実施形態が奏する効果も同様に得ることができる。
C.第3実施形態:
C1)第3実施形態におけるドット配置決定の手法:
次に第3実施形態の画像処理システム10について説明する。第1,第2実施形態の画像処理システム10では、2×2画素内のドットの形成について、64×64の大きなディザマスク(図7参照)から切り出した2×2の局所的ディザマスクを用いて、画素群内のドット配置を決定している。このとき、非エッジ画素群では、画素群内の階調値の平均値Dave を用いて多値化階調を求め、これと順序値とから、画素群内における大中小のドットの形成位置を決定した。これに対して、第3実施形態では、ドット切替階調値を用いて、エンコードとデコードを行なう。この手法では、2×2の4つの画素からなる画素群についてのドット形成の処理を、更に少ないビットで表現に変換し、かつテーブルを参照するだけの単純な処理で実現する。
まず、第3実施形態において参照するテーブルについて説明する。説明は、第1実施形態の非エッジ画素群の場合の多値化の特性(図5)を例に行なう。第3実施形態でも、入力階調値と大中小ドットの形成密度との関係は、第1実施形態と同様に、エッジ画素群については図4に示した第1対応関係を、非エッジ画素群については、図5に示した第2対応関係を用いる。図5に示した入力階調値と大中小ドットの形成の割合との関係から、入力階調値が0〜255までの値となった場合、大中小ドットがどのように形成されるかを検討する。図20は、閾値群番号B(1,3)を用いた場合の大中小ドットの形成の様子を、入力階調値の範囲に応じて示す説明図である。この例では、大ドットによる階調表現は入力階調値に対応しており、大ドット1個は中ドット約2個分の階調表現に対応しており、中ドット1個は小ドット約2個分の階調表現に対応しているものとした。つまり、入力階調値が値1であるとは、大ドットであれば255画素に1つのドットが形成される場合に相当するのに対して、小ドットであれば255画素に4つのドットが形成される場合に相当する。このため、図5において、小ドットしか形成されないとされている入力階調値が値0から32の範囲では、小ドットの形成の割合は、入力階調値に対して4倍の傾きを持った特性として設定されている。
閾値群番号B(1,3)の4つの閾値は小さい方から順に、5,70,186,242となっている。従って、入力階調値が値0〜1の間では、一つのドットも形成されないが、入力階調値が値2となると、この入力階調値2は、小ドットの形成を判断する場合には、値8相当となるので、小ドットが1つ形成されることを意味する。図20では、4つの画素の閾値に応じて、どの画素に大中小のいずれの画素が形成されるかを符号LMSより示し、更に大中小ドットが画素群内に何個形成されるかも示した。
図20によれば、閾値群番号B(1,3)を用いた場合、入力階調値が値0〜255の範囲で順次増加していくと、階調値1、17、46、・・・・・247の10箇所でドットの形成の組合せが変化することがわかる。つまり、閾値群番号B(1,3)を用いた場合、画像のどの部分と対比したとしても、大中小ドットの取り得る組合せは11通りしか存在しないことになる。この組合せを、入力階調値の小さい方から順に0、1、2、・・・10と番号を付け、ドット形成の切替が生じる階調値という意味で、ドット切替階調値と呼ぶものとする。閾値群番号B(1,3)では、ドット切替階調値は、値0から10の計11個しか取り得ない。この大中小ドットの形成個数が切り替わる階調値は、閾値群が変われば異なる。また、ドットの形成個数の組合わせも、常に11ではなく、閾値群における閾値の組合せや、図4、図5に示した入力階調値に対する大中小ドットの形成密度の特性によっても異なる。しかし、いずれの閾値群を用いても、ドットの形成個数が切り替わる回数は、2×2画素を画素群とし、大中小ドットの形成密度として一般的な特性を用いる場合、値15を越えることはなかった。即ち、ドット切替階調値は最大で4ビットあれば表現可能であった。なお、2×4画素を画素群として、大中小ドットを用いる場合には、このドット切替階調値は、大中小ドットの形成密度として一般的な特性を用いれば、値31を越えることはなく、5ビットあれば表現可能である。
図21は、閾値群番号B(1,3)について、入力階調値とドット切替階調値との関係を例示した説明図である。他方、図22は、閾値群番号B(1,3)について、ドット切替階調値とドット配置との関係を示した説明図である。図21,図22は、一つの閾値群番号B(1,3)についての関係を示しているに過ぎないが、全ての閾値群番号B(m,n)についても、この関係を予め求めておくことができる。閾値群に含まれる各閾値の値の組合わせにより、これらの関係は一意に定まる。図21に示した入力階調値とドット切替階調値との関係を、各閾値群番号B(m,n)について、予め求めてテープルにしたものを切替階調エンコードテーブルと呼ぶ。他方、図22に示したドット切替階調値とドット配置との関係を、各閾値群番号B(m,n)について、予め求めてテーブルにしたものを切替階調デコードテーブルと呼ぶ。第3実施形態では、この切替階調エンコードテーブルおよび切替階調デコードテーブルを用いて、画素群内のドット形成の判断を行なう。以下、この手法について説明する。
第3実施形態では、第1実施形態と同様、処理する画像を2×2画素の画素群に分け、これを順に処理する。処理のフローチャートは、図13に示した処理と同様である。第3実施形態では、エッジ画素群ドット配置決定処理および非エッジ画素群ドット配置決定処理の手法が、第1実施形態とは異なる。但し、両処理におけるドット配置は、図4、図5に示した特性および図7に示したディザマスクが同一なので、両者において差はない。異なるのは、画素群内のドット配置を決定する手法である。第3実施形態では、画素群内のドット配置の決定に、切替階調エンコードテーブルと切替階調デコードテーブルとを参照する、という手法を用いるが、その切替階調エンコードテーブルおよび切替階調デコードテーブルは、その元になった入力階調値と大中小ドットの形成の割合との関係が、図4、図5であることから、エッジ画素群の場合に参照するテーブルと、非エッジ画素群において参照するテーブルとは、異なる。
図23は、第3実施形態において、エッジ画素群におけるドット形成の手順を示す説明図である。この図は、第1実施形態における図17に相当する。まず画像から取り出した2×2画素の画素群P(x,y)から階調値の大きさに従い、高階調値の画素と低階調値の画素とを分離し、それぞれの平均値を取得する。図23に示した例では、高低分離の処理と平均化の処理とを行なった結果、高階調画素平均値HDave は値205となり、低階調画素平均値LDave は値12となる。併せて、高用マスクHMと低用マスクLMとが作成される。
次に、画素群P(x,y)に適用すべき閾値群番号B(m,n)に対応する切替階調エンコードテーブルを参照する処理を行なう。画素群P(x,y)に適用すべき閾値群番号B(m,n)は、既に説明したように、画像における画素群の位置から決定される。切替階調エンコードテーブルは、図21に一例を示したが、ここでは、図4に示した第1対応関係を用いて、画素群P(x,y)に適用すべき閾値群番号B(m,n)について予め作成された切替階調エンコードテーブルを参照する。この切替階調エンコードテーブルを参照することにより、高階調画素平均値HDave に対応したドット切替階調値が取得される。続いて、このドット切替階調値に基づいて、適用すべき閾値群番号B(m,n)についての、図22に一例を示した切替階調デコードテーブルを参照する処理を行なう。この処理を行なうことにより、ドット切替階調値に対応したドット配置が得られる。
他方、非エッジ画素群の場合は、画像から取り出した2×2画素の画素群P(x,y)の階調値の平均値Daveを求め、図5に示した第2対応関係を用いて作成した切替階調エンコードテーブルを参照する処理(エンコード処理)と、切替階調デコードテーブルを参照する処理(デコード処理)とを行なうことで、この画素群P(x,y)に形成すべきドットの配置DAが得られる。
上記の切替階調エンコードテーブルを参照する処理(エンコード処理)と切替階調デコードテーブルを参照する処理(デコード処理)とを行なうことにより、2×2画素が全て高階調画素平均値HDave である場合のドット配置HAが得られる。なお、図22では、理解の便を図って、大中小のドット配置を直接図示したが、実際の切替階調デコードテーブルでは、各画素に形成されるドットの種類を2ビットで表現するものとし、大ドットを「11」で、中ドットを「10」で、小ドットを「01」で、ドットなしを「00」で表わしている。従って、図22に示した例では、ドット切替階調値6の場合、切替階調デコードテーブルを参照することで得られる8ビットの値は「10010011」となる。この値から、画素群における右上、左上、右下、左下の順に、大中小ドットおよびドットなしのいずれになるかを知ることができる。
上記のエンコード処理およびデコード処理を、低階調画素平均値LDave についても同様に行なう。この結果、2×2画素が全て低階調画素平均値LDave である場合のドット配置LAが得られる。これに、作成済の高用マスクHM、低用マスクLMを適用して両者を足し合わせることで、この画素群P(x,y)に形成すべきドットの配置DAが得られる。
C2)第3実施形態の効果:
以上説明した第3実施形態の画像処理システム10によれば、エッジが再現されやすくなり、例えば細線などが途切れにくくなるといった第1実施形態の効果と同様の効果を奏する上、第1実施形態よりも更に処理を簡略化でき、処理に要する時間を更に短縮することができるという効果を奏する。これは、入力階調値から大中小ドットの形成の配置を決定する処理において、切替階調エンコードテーブルと切替階調デコードテーブルをそれぞれ1回参照するだけでよいからである。また順序値などを用いる必要がない。
更に、第3実施形態では、エンコード処理により、ドット形成の処理に必要なデータを一旦4ビットのデータ(ドット切替階調値)に変換するので、元の画素群のデータ(4画素×階調値8ビット)と比べて、4/32、即ち1/8に圧縮したデータとして扱うことが可能となる。従って、例えばこの圧縮されたデータを用いて、コンピュータ−80からカラープリンター20へのデータ転送を行なうものとすれば、データ転送に要する時間を大幅に短縮することができる。また、プリンタードライバーやスプーラーなどがデータを一時的に記憶する場合、記憶すべきデータ量を低減することができる。
D.その他の実施形態:
D1)低階調値のみで第1対応関係を用いる実施形態:
上記各実施形態では、エッジが存在すると判断すると、第1対応関係に基づいてドットの形成を行なっているが、第1対応関係を利用するのは、エッジが存在しかつ画素群P(x,y)の階調値の平均値Daveや高階調画素平均値HDave が一定値以下の低階調値の画素群に限っても差し支えない。高階調値の画素群の場合は第2対応関係を用いても細線が途切れる心配はほとんどないため、階調値が低い画素群に、第1対応関係を利用するだけでも、細線の途切れなどは生じにくくなるからである。
D2)画素群の大きさが異なる実施形態:
上記第1,第2実施形態では、それぞれ画素群P(x,y)として、2×2画素の画素群を用い、対応する閾値群番号B(m,n)も、2×2の、いわば局所的ディザマスクを用いたが、画素群P(x,y)は、他の大きさ、例えば2×4や、4×4の大きさであっても差し支えない。また、画像を埋め尽くせるのであれば、例えば十字形の5画素からなる画素群を用いても良い。画像の途中で画素群の大きさを代えても良い。閾値群は、画素群の大きさに合わせて設定すればよい。なお、閾値群の元となるディザマスクは、64×64より大きなものであっても良く、また64×16や48×96のように、縦横の閾値数が異なるものであってもよい。また、方形以外の形状でもかまわない。例えば上半分が24×16、下半分が40×16の2段の階段形状のディザマスクも使用可能である。こうしたディザマスクは、適当なずらし量で配置してゆくことで、隙間なく配置できる。
D3)入力階調とドット形成の割合が異なる実施形態:
上記実施形態では、図4、図5に示したように、入力階調値の全範囲で大中小ドットの形成の割合を異ならせた特性を利用して、第1,第2多値化テーブルを作成して用いたが、これらの特性は、第1多値化テーブルを利用してドットを形成する場合、第2多値化テーブルを用いた場合より、ドット形成の割合(個数)が増える特性であれば、どのような特性でも差し支えない。また、ドットの形成も大中小の3種類のドットに限るものではなく、大小の2種類のドットを形成する場合にも適用できる。あるいは濃淡ドットにも適用できる。更には同じ濃度のドットを同じ画素に吐出する回数を変えて濃度を変更する場合の吐出回数にも適用することができる。
図4、図5に示した特性は、同じ入力階調に対するドット形成の割合、つまり大中小ドットの形成個数は異なっても、吐出されるインク量の期待値はおおむね同一となるようにした。これに対して、エッジ画素ブロック適用される第1多値化テーブルを生成する元となる特性(上記実施形態では図4に示した特性)と、非エッジ画素ブロック適用される第2多値化テーブルを生成する元となる特性(上記実施形態では図5に示した特性)とは、同じ入力階調に対して異なるインク量となるように設定しても差し支えない。この場合、エッジ画素群に適用される特性の方が非エッジ画素群に適用される特性より、実現されるインク量が少ないものとすれば、エッジ部における滲みによって線などが必要以上に太くなるといった不具合を抑制できる。
これは次の理由による。一般に、ドットの大きさは、方形の画素に対して概ね丸いドットを形成することから、1画素の面積より大きく設定されている。こうしておくことで、全ての画素に大ドットを形成した場合に、方形の画素の四隅に白地が露出しないようにでき、特に紙送り誤差などに起因して着弾位置のずれが発生した時でも、ドットが十分な大きさを持っていれば、白地が筋状に繋がって目立つバンディングが発生しにくい。こうした理由から、大ドットの大きさは、方形の画素の面積より大きく設定されるのが一般的である。これに対して、エッジ部では、全ての画素に大ドットが形成されることはなく、目立つバンディングも発生しにくい。従って、エッジ画素群ではインク量を減らしておいても画像形成上の問題とならず、ドットのはみ出しが抑制されることによる画質の向上が期待できる。また複数のインク滴を形成する場合、インク重なりによるインクの滲みも低減できるので、この点でも画質の向上に寄与し得る。
この他、入力階調が所定値以上の場合にドット形成の割合が異なるようにして第1,第2多値化テーブルを用意しても良い。この場合、第1,第2多値化テーブルの入力階調値の一部の領域を共用するものとしても良い。こうしたエッジ画素群に用いる第1多値化テーブルの極端な例として、入力階調値が最大値(8ビットで255)の時のみ、第2多値化テーブルと異なる特性とすることが考えられる。文字や線は最大階調値で描画されることが多いため、このように入力階調値が最大の時にのみエッジ画素群に適した特性とするだけでも、十分に有効だからである。これは、にじみ対策のために入力階調値が最大の場合の大ドット発生率を100%未満にする必要がある場合などで、特に有効である。こうした特性の一例を図4、図5に戻って説明する。図5では、入力階調値が値255の時の大ドットの形成の割合であるLL2は255/255であった。エッジ画素群でかつ高階調画素平均値HDaveが255の時のみ、この大ドット形成の割合LL2を図5における200/255(中、小ドットの形成の割合LM2、LS2は0のまま)相当であるとし、これを、図4の入力階調値であるとして、大中小ドットの形成の割合をもとめる。このとき大中小ドットの形成の割合は、LL2=145、LM2=110、LS2=0となる。そこで、エッジ画素群でかつ高階調画素平均値HDaveが255という条件が成立していなければ、図5に基づく第2多値化テーブルを用い、エッジ画素群でかつ高階調画素平均値HDaveが255の時のみ、この特性(LL2=145、LM2=110、LS2=0)に対応させてドットの形成を判断するのである。
D4)処理の対象となるインク色がブラックである実施形態:
エッジ画素群において、CMYKの4色全てのドット形成の割合を異ならせるのでなく、ブラックKについてのみ、ドット形成率の異なる関係を用意し、第1,第2多値化テーブルを用意するものとしても良い。この場合、エッジが、画素群P(x,y)の中に、あるいは画素群間にあると判断した場合には、より多数のドットが形成されるような特性となるように第1多値化テーブルを用意する。従って、エッジ部分では、ブラックのドットの形成される個数が増えることになり、文字などの線が途切れることなく形成され易くなる。一般に、文字はブラックで表現されることが多く、かつ細い線分から構成されていることから、ブラックについてのみこうした構成を採用することでも、解像度の確保と細線の再現という二つの要請を、従来より満たすことが可能となる。
D5)エッジ画素群における多値化の手法が異なる実施形態:
上記の実施形態では、エッジ画素群ドット配置特定処理(図13、ステップS400)は、全画素を高階調画素HDとして多値化テーブルTB1をルックアップする処理と、全画素を低階調画素LDとして多値化テーブルTB1をルックアップする処理とを行なって、その後、高低マスクを利用して両者を合成した。こうした処理に代えて、各画素の階調値を利用して画素数分だけ多値化テーブルTB1をルックアップし、それから各画素に配置するドットを決定するようにしてもよい。また、非エッヂ画素群ドット配置決定処理(ステップS300)が、エンコード処理およびデコード処理によりドットの配置を決定していれば、エッジ画素群ドット配置特定処理(ステップS400)におけるドット配置の決定は、必ずしもエンコード処理およびデコード処理による手法を用いなくても差し支えない。要は、非エッジ画素群ドット配置特定処理と比べて、所定の階調範囲、特に高階調領域で、ドット形成の割合が高くなる手法であれば、単純なディザ法や、誤差拡散法によってドット配置を決定するものとしてもよい。
D6)処理の全部または一部をハードウェアにより実施する実施形態:
上記の各実施形態は、ドット配置の決定をソフトウェアにより実現したが、ハードウェアにより実現することも可能である。特に、エッジ画素群ドット配置特定処理および非エッジ画素群ドット配置特定処理は、参照に用いる平均値HDave ,LDave ,P0を計算した後は、多値化テーブルをルックアップするだけなので、ディスクリートな回路構成により実現することは容易である。ハードウェアにより実現した場合は、この画像処理システムをプリンターや複合機などに組み込むことができる。
D7)エッジ判断の手法が異なる実施形態:
画素群内にエッジか存在するか否かの判断(図13、ステップS220)は、他の手法により行なっても差し支えない。例えば、所定階調値(例えば値127)以上の画素の階調値平均値、所定階調値未満の画素の階調値の平均との差をΔEとして判断を行なっても良い。あるいは、画素群内の最大階調値Dmax が上限値(例えば値192)以上で、画素群内の最小階調値Dmin が下限値(例えば値96)以下であれば、エッジがあると判断するなどの手法によっても良い。同様に、画素群間にエッジか存在するか否かの判断(図18,ステップS530)も、他の手法により行なっても差し支えない。
D8)低階調のドットの形成割合の増加の仕方が異なる実施形態:
上記各実施形態では、図4、図5に示したように、エッジが存在するブロックでは、低階調のドットの形成個数が増加するような対応関係(第1対応関係)を採用した。このため、画素群内に形成されるドットによる画素群としての階調値はほぼ同一となる。これに対して、画素群内に発生するドット数を同一またはほぼ同等とし、画素群内に発生するドットを、より低階調のドットにする対応関係を採用してもよい。この場合、形成されるドットの滲みが抑制されるので、表現される画像の鮮鋭度が高まり、特に文字などの再現に優れた画像形成を行なうことができる。
D9)その他の実施形態:
本発明は、ソフトウェアによる実施かハードウェアによる実施かを問わず、上記のような画像処理システムとしての実施の他、画像処理装置単独での実施、あるいは画像処理方法としての実施なども可能である。更には、プリンターや複合機としての実施も可能である。また、本明細書において必須の構成であると特定していない構成については、適宜省略可能である。
10…画像処理システム、 20…カラープリンター
30…キャリッジモーター、 31…無端ベルト
32…プリー、 33…シャフト、 35…紙送りモーター
36…プラテン、 40…キャリッジ、 41…印字ヘッド
42、43…インクカートリッジ、 44〜47…インク吐出用ヘッド
59…インタフェースパネル、 60…制御回路
80…コンピューター、 81…CPU、 82…メモリー

Claims (11)

  1. 多階調の画像を、当該画像を構成する画素を複数個ずつまとめた画素群を単位として処理する画像処理装置であって、
    前記画素群の取り得る階調値である画素群階調値ごとに、前記画素群階調値に対応して前記画素群内の複数の画素の各々に形成すべきドットであって表現可能な階調値の異なる複数種類のドットの配置を、前記ドットを形成しない場合を含めて予め決定し、前記画素群階調値と前記ドットの配置との対応関係として記憶する記憶部と、
    前記画像から順次取り出した画素群の前記画素群階調値により前記対応関係を参照することで、前記画素群階調値に対応したドット配置を特定する特定部と、
    を備え、
    前記記憶部は、前記対応関係を、前記画素群内にエッジがある場合に適用する対応関係である第1対応関係と、前記画素群内にエッジがない場合に適用する第2対応関係として記憶し、前記第1対応関係は、前記第2対応関係より、少なくとも所定の階調値より高い領域で、前記画素群階調値に対して、前記階調値の異なる複数種類のドットのうち階調値の低い側のいずれかのドットの形成割合が高い対応関係であり、
    前記特定部は、
    前記取り出した画素群毎に、当該画素群内の各画素の階調値に従って、前記画素群内にエッジが存在するか否かを判断する画素群内エッジ判断部と、
    前記画素群内にエッジが存在すると判断した場合には、前記第1対応関係を用いて、前記画素群内に形成すべきドットの配置を特定し、該特定したドットの配置を出力する第1特定部と、
    前記画素群内にエッジが存在しないと判断した場合には、前記画素群に対応する前記ドットの配置を前記画素群階調値に従って、前記第2対応関係を参照することにより特定し、該特定したドットの配置を出力する第2特定部と、
    を備えた画像処理装置。
  2. 請求項1記載の画像処理装置であって、
    前記画素群内エッジ判断部は、前記取り出した画素群毎に、当該画素群内に存在する高階調画素の階調値と前記高階調画素より階調値が低い低階調画素の階調値との隔たりに応じて、前記画素群内にエッジが存在するか否かを判断する
    画像処理装置。
  3. 請求項2記載の画像処理装置であって、
    前記第1特定部は、前記高階調画素に対応した前記ドットの配置を前記高階調画素の階調値に従って、前記低階調画素に対応した前記ドットの配置を前記低階調画素の階調値に従って、それぞれ前記第1対応関係を参照することにより特定し、前記高階調画素の階調値および前記低階調画素の階調値によりそれぞれ特定したドットの配置を合成して出力する
    画像処理装置。
  4. 請求項2記載の画像処理装置であって、
    前記第1特定部は、
    前記画素群内における少なくとも前記高階調画素の配置を記憶すると共に、
    前記第1対応関係を参照することにより、前記高階調画素に対応した前記ドットの配置を前記画素群全体に対して特定し、
    前記第1対応関係を参照することにより、前記低階調画素に対応した前記ドットの配置を前記画素群全体に対して特定し、
    前記特定した前記高階調画素に対応した前記ドットの配置と、前記特定した前記低階調画素に対応した前記ドットの配置とを、前記高階調画素の配置に従って合成して出力する
    画像処理装置。
  5. 請求項1から請求項4のいずれか一項に記載の画像処理装置であって、
    前記画素群について、隣接する画素群との間で前記画素群階調値に所定以上の隔たりがあるか否かを判断し、所定以上の隔たりがあると判断した場合には、当該画素群に対して、前記第1特定部による前記ドットの配置の特定と前記出力とを行なわせる画像処理装置。
  6. 前記第1対応関係および前記第2対応関係は、前記画素群階調値に応じて前記画素群に形成するドットの種類と個数とを特定する多値化対応値と、前記画素群内のドット形成の順序を示す順序値との組み合わせからなる請求項1から請求項5のいずれか一項に記載の画像処理装置。
  7. 前記多値化対応値と前記順序値とは、少なくとも1000画素に対応した大域ディザマスクから前記画素群の大きさに応じて取り出す局所ディザマスクに含まれる閾値の大小関係を反映して定めた請求項6に記載の画像処理装置。
  8. 請求項1から請求項5のいずれか一項に記載の画像処理装置であって、
    前記第1対応関係および前記第2対応関係は、少なくとも1000画素に対応した大域ディザマスクから前記画素群の大きさに応じて取り出す局所ディザマスクに含まれる複数の閾値に基づき、前記各局所ディザマスク毎に定められ、前記画素群階調値に応じて前記画素群に形成されるドットの種類と個数とが異なる階調範囲を示すドット切替階調値を特定する切替階調エンコードテーブル、および前記各局所ディザマスク毎に定められ、前記ドット切替階調値から前記複数種類のドットの配置を特定する切替階調デコードテーブルとして用意される画像処理装置。
  9. 多階調の画像を、当該画像を構成する画素を複数個ずつまとめた画素群を単位として処理する画像処理装置と、該画像処理装置からのデータを受け取って画像を形成する画像出力装置とを備えた画像処理システムであって、
    前記画像処理装置は、
    前記画素群の取り得る階調値である画素群階調値ごとに、前記画素群階調値に対応して前記画素群内の複数の画素の各々に形成すべきドットであって表現可能な階調値の異なる複数種類のドットの配置を、前記ドットを形成しない場合を含めて予め決定し、前記画素群階調値と前記ドットの配置との対応関係として記憶する記憶部と、
    前記画像から順次取り出した画素群の前記画素群階調値により前記対応関係を参照することで、前記画素群階調値に対応したドット配置を特定する特定部と、
    を備え、
    前記記憶部は、前記対応関係を、前記画素群内にエッジがある場合に適用する対応関係である第1対応関係と、前記画素群内にエッジがない場合に適用する第2対応関係として記憶し、前記第1対応関係は、前記第2対応関係より、少なくとも所定の階調値より高い領域で、前記画素群階調値に対して、前記階調値の異なる複数種類のドットのうち階調値の低い側のいずれかのドットの形成割合が高い対応関係であり、
    前記特定部は、
    前記取り出した画素群毎に、当該画素群内の各画素の階調値に従って、前記画素群内にエッジが存在するか否かを判断する画素群内エッジ判断部と、
    前記画素群内にエッジが存在すると判断した場合には、前記第1対応関係を用いて、前記画素群内に形成すべきドットの配置を特定する第1特定部と、
    前記画素群内にエッジが存在しないと判断した場合には、前記画素群に対応する前記ドットの配置を前記画素群階調値に従って、前記第2対応関係を参照することにより特定する第2特定部と、
    を備え、
    前記画像出力装置は、前記画像処理装置の第1,第2特定部が特定した前記ドットの配置を受け取って、該特定されたドットの配置に従って複数種類のドットを形成するドット形成部を備えた
    画像処理システム。
  10. 多階調の画像を、当該画像を構成する画素を複数個ずつまとめた画素群を単位として処理する画像処理方法であって、
    前記画素群の取り得る階調値である画素群階調値ごとに、前記画素群階調値に対応して前記画素群内の複数の画素の各々に形成すべきドットであって表現可能な階調値の異なる複数種類のドットの配置を、前記ドットを形成しない場合を含めて予め決定し、前記画素群階調値と前記ドットの配置との対応関係であって、前記画素群内にエッジがある場合に適用する対応関係である第1対応関係と、前記画素群内にエッジがない場合に適用する第2対応関係とを記憶し、前記第1対応関係は、前記第2対応関係より、少なくとも所定の階調値より高い領域で、前記画素群階調値に対して、前記階調値の異なる複数種類のドットのうち階調値の低い側のいずれかのドットの形成割合が高い対応関係であり、
    前記画像から取り出した画素群毎に、当該画素群内の各画素の階調値に従って、前記画素群内にエッジが存在するか否かを判断し、
    前記画素群内にエッジが存在すると判断した場合には、前記第1対応関係を用いて、前記画素群内に形成すべきドットの配置を特定し、
    前記画素群内にエッジが存在しないと判断した場合には、前記画素群に対応する前記ドットの配置を前記画素群階調値に従って、前記第2対応関係を参照することにより特定する
    画像処理方法。
  11. 多階調の画像を、当該画像を構成する画素を複数個ずつまとめた画素群を単位として処理するコンピュータープログラムであって、
    前記画素群の取り得る階調値である画素群階調値ごとに、前記画素群階調値に対応して前記画素群内の複数の画素の各々に形成すべきドットであって表現可能な階調値の異なる複数種類のドットの配置を、前記ドットを形成しない場合を含めて予め決定し、前記画素群階調値と前記ドットの配置との対応関係であって、前記画素群内にエッジがある場合に適用する対応関係である第1対応関係と、前記画素群内にエッジがない場合に適用する第2対応関係とを記憶し、前記第1対応関係は、前記第2対応関係より、少なくとも所定の階調値より高い領域で、前記画素群階調値に対して、前記階調値の異なる複数種類のドットのうち階調値の低い側のいずれかのドットの形成割合が高い対応関係として記憶部に予め記憶しておき、
    前記コンピュータープログラムは、コンピューターにより読み込まれて実行され、
    前記画像から取り出した画素群毎に、当該画素群内の各画素の階調値に従って、前記画素群内にエッジが存在するか否かを判断する機能と、
    前記画素群内にエッジが存在すると判断した場合には、前記第1対応関係を用いて、前記画素群内に形成すべきドットの配置を特定する機能と、
    前記画素群内にエッジが存在しないと判断した場合には、前記画素群に対応する前記ドットの配置を前記画素群階調値に従って、前記第2対応関係を参照することにより特定する機能と
    をコンピューターにより実現するコンピュータープログラム。
JP2017034690A 2017-02-27 2017-02-27 画像処理装置、画像処理システム、画像処理方法およびそのコンピュータープログラム Pending JP2018142781A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017034690A JP2018142781A (ja) 2017-02-27 2017-02-27 画像処理装置、画像処理システム、画像処理方法およびそのコンピュータープログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017034690A JP2018142781A (ja) 2017-02-27 2017-02-27 画像処理装置、画像処理システム、画像処理方法およびそのコンピュータープログラム

Publications (1)

Publication Number Publication Date
JP2018142781A true JP2018142781A (ja) 2018-09-13

Family

ID=63526890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017034690A Pending JP2018142781A (ja) 2017-02-27 2017-02-27 画像処理装置、画像処理システム、画像処理方法およびそのコンピュータープログラム

Country Status (1)

Country Link
JP (1) JP2018142781A (ja)

Similar Documents

Publication Publication Date Title
JP4975002B2 (ja) 画像処理装置、画像形成装置および画像処理方法
JP4462347B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2020035367A (ja) 画像処理装置及び画像処理方法、プログラム
US10462331B2 (en) Image processing method and apparatus, and printing apparatus, with dither result application level control
JPH11314383A (ja) プリント・ドライバ製造方法及びカラー印刷システム
JP2005238835A (ja) 画像形成方法、プログラム及び画像形成システム
JP6252003B2 (ja) 印刷装置、印刷方法、画像処理装置およびプログラム
US10005289B2 (en) Printing apparatus, printing method, and non-transitory computer readable medium for storing program
US20110298857A1 (en) Image Processing Apparatus And Program
JP6175914B2 (ja) 印刷装置、印刷方法、および画像処理装置
JP6193594B2 (ja) 画像処理装置、画像処理方法、画像処理システムおよびプログラム
JP6390405B2 (ja) 印刷装置、印刷方法、プログラム、および画像処理装置
JP2006014036A (ja) 複数画素ずつ多値化を行いながら画像を出力する画像出力システム
JP5482189B2 (ja) 印刷制御装置、印刷制御方法およびコンピュータープログラム
JP2016127479A (ja) 画像処理装置、画像形成装置、画像処理方法及びプログラム
JP2015168088A (ja) 画像形成装置、及び、画像形成方法
JP2005067054A (ja) 改善インクの吐出制御
JP2018142781A (ja) 画像処理装置、画像処理システム、画像処理方法およびそのコンピュータープログラム
JP2022168584A (ja) 画像処理装置
US7362473B2 (en) Image processing technique for tone number conversion of image data
JP2010193410A (ja) 画像処理装置および画像処理方法
JP2016046793A (ja) 印刷制御装置および印刷物の生産方法
JP2011120134A (ja) 印刷装置、印刷方法、コンピュータープログラム
US8373901B2 (en) Image-processing apparatus and image-processing method
JP2005053147A (ja) インクジェット印刷のためのエッジ処理