JP6525518B2 - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP6525518B2
JP6525518B2 JP2014136278A JP2014136278A JP6525518B2 JP 6525518 B2 JP6525518 B2 JP 6525518B2 JP 2014136278 A JP2014136278 A JP 2014136278A JP 2014136278 A JP2014136278 A JP 2014136278A JP 6525518 B2 JP6525518 B2 JP 6525518B2
Authority
JP
Japan
Prior art keywords
pixel
threshold
threshold value
pixel position
determined
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.)
Active
Application number
JP2014136278A
Other languages
English (en)
Other versions
JP2016015596A (ja
JP2016015596A5 (ja
Inventor
尚紀 鷲見
尚紀 鷲見
山田 顕季
顕季 山田
宮▲崎▼ 真一
真一 宮▲崎▼
加藤 真夫
真夫 加藤
石川 尚
尚 石川
藤本 昭宏
昭宏 藤本
雄介 山本
雄介 山本
裕司 原
裕司 原
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014136278A priority Critical patent/JP6525518B2/ja
Priority to EP20186012.9A priority patent/EP3754962B1/en
Priority to EP15001813.3A priority patent/EP2963908B1/en
Priority to US14/750,128 priority patent/US10043118B2/en
Priority to CN201510379810.7A priority patent/CN105323415B/zh
Publication of JP2016015596A publication Critical patent/JP2016015596A/ja
Publication of JP2016015596A5 publication Critical patent/JP2016015596A5/ja
Application granted granted Critical
Publication of JP6525518B2 publication Critical patent/JP6525518B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、閾値マトリクスを用いて入力画像をハーフトーン処理する画像処理技術に関する。
従来より、印刷装置を用いて明るい色の細線を出力すると、細線が途切れて出力されるという問題がある。インクジェットプリンタの場合、入力画像を色分解し、ハーフトーン処理することにより、色材(インク)のドットを打つ、打たないを表すドットイメージが生成される。ドットイメージに基づいて印刷ノズルよりインクが吐出されて画像が形成される。このようなプリンタでは、1つのドットで階調を表すのではなく、紙面上の単位面積当たりに打つインクのドットの数により擬似的に階調を表す面積階調を使用している。そして、打たれるドットの数はハーフトーン処理によって決められ、1色のインクを考えた場合、一般にドットの数が少なければ紙面は明るく(濃度が低い)、多ければ暗い(濃度が高い)。
特開2012−157998号公報 US特許6867884号公報
上述した擬似階調を用いて画像を表現するドットイメージでは、明るい色の細線を表現しようとすると、少ないドット数で階調を表現することになる。そのため、ドットとドットの間の空白が多くなり、人間の目には線が途切れているように見えてしまうという問題がある。
そして、一般的なハーフトーン処理の手法としては大きく分けて誤差拡散法とディザ法とがあるところ、このような線の途切れは、ディザ法を用いた方がより問題となりやすい。図1は、誤差拡散法(ED)とディザ法のそれぞれの処理で細線を表した例を示している。図1において、細線10は誤差拡散法を適用して得られた細線であり、細線11はブルーノイズ特性を持たせた閾値マトリクスを用いてディザ法を適用して得られた細線である。細線10と細線11は、共に同じ入力画像に対して処理を行っており、出力結果のドット数もほぼ同数である。しかし、凡そ均等にドットと空白が並んでいる細線10は途切れが認識されにくいのに対し、ドットと空白に粗密がある細線11は途切れが認識されやすい。これは、細線11では、空白12が所々に出現し、ドットが粗である領域が多く存在するためである。
上述のような問題に対しては、例えば、入力画像データ内の細線の位置を検出し、通常のスクリーン処理では当該細線の位置にドットが形成されない場合、当該細線の位置の閾値をドットが形成される閾値に変更し、再度スクリーン処理を行なう技術がある。この技術では、ドットが形成されない細線位置の閾値をドットが形成される閾値に変更することで、ドットが形成される箇所を増加させて、細線が途切れを防ぐことを実現している(特許文献1)。
しかしながら、特許文献1で行なう細線の検出処理は、画像の画素値を用いて解析を行うため、システムへの負荷が大きく、処理に時間が掛かるという問題がある。
本発明に係る画像処理装置は、入力画像をハーフトーン画像に変換する画像処理装置において、値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、前記入力画像の所定領域に含まれる各画素に対応する前記閾値マトリクスの閾値のうち、書き換える閾値に対応する画素位置の候補を決定する画素位置決定手段と、前記所定領域に含まれる各画素の画素位置に対応する閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定手段により候補と決定された少なくとも1つの画素位置に対応する閾値を書き換える閾値決定手段と、を有し、前記閾値決定手段は、前記所定領域に含まれる各画素のうち少なくとも1画素の画素位置に対応する閾値の書き換えは行わないことを特徴とする。
本発明によれば、システムへの負荷を抑えながら、細線の途切れを減少させることができる。
誤差拡散法(ED)とディザ法のそれぞれの処理で細線を表した例を示す図である。 印刷システムの構成の一例を示す図である。 実施例1に係る印刷システムにおける、画像データの取得から印刷処理までの大まかな流れを示すフローチャートである。 量子化処理部の内部構成を示すブロック図である。 実施例1に係る、量子化処理の流れを示すフローチャートである。 実施例1に係る、閾値提供可否判定処理の結果の一例を示す図である。 新閾値を決定する際に用いる、提供元と提供先の関係を示した参照パターンの一例を示す図である。 閾値マトリクスの新閾値が決定される様子を説明する図である。 実施例1を適用して得られる量子化結果の一例を、従来技術による量子化結果と比較して示した図である。 形成されるドット数を、本実施例を適用した場合と本実施例を適用しなかった場合とで比較したグラフである。 細線と矩形への影響を説明する図である。 3値の量子化処理を実現するため構成を示す機能ブロック図である。 3値の量子化処理の手順を示したフローチャートである。 変形例3に係る、量子化処理の流れを示すフローチャートである。 色間分離方式における細線の再現性を説明する図である。 変形例4に係る印刷システムにおける、入力画像の取得から印刷処理までの大まかな流れを示すフローチャートである。 実施例2における新閾値仮決定時の処理領域を説明する図である。 実施例2に係る、量子化処理の流れを示すフローチャートである。 実施例2における量子化処理の進行過程を説明する図である。 新閾値の仮決定時に用いる参照パターンを示す図である。 実施例3に係る、量子化処理の流れを示すフローチャートである。 サブマトリクスを用いた閾値マトリクスの作り方を説明する図である。 濃度上昇にむらが生じる理由を説明する図である。 実施例5に係る、量子化処理の流れを示すフローチャートである。 実施例5における処理領域の一例を示す図である。 位相差について説明する図である。 実施例5における処理領域の位置を説明する図である。
以下、本発明を実施する為の形態について図面を用いて説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
図2は、本実施例に適用可能な印刷システムの構成の一例を示す図である。本実施例における印刷システムは、インクジェット記録方式を採用した画像形成装置100と画像処理装置110とから構成されている。画像形成装置100と画像処理装置110とは信号線120で接続され、信号線120としては、例えばセントロニクス準拠のプリンタケーブルを用いることができる。
まず、画像形成装置100について説明する。
画像形成装置100は、主制御部101、記録バッファ102、記録ヘッド103、給排紙モータ制御部104、通信I/F105、データバッファ106で構成される。
主制御部101は、CPU(MPU)、ROM、RAMなどによって構成され、画像形成装置100全体を制御する。
記録バッファ102は、記録ヘッド103に転送する前の画像データを、ラスタデータとして格納する。
記録ヘッド103は、インク滴を吐出可能な複数の記録素子を有するインクジェット方式の記録ヘッドであり、記録バッファ102に格納された画像データに従って、各記録素子からインクの吐出を行う。
給排紙モータ制御部104は、紙等の記録媒体の搬送や給排紙の制御を行う。
通信I/F105は、画像処理装置110との間でデータ信号の授受を行うためのインタフェイスである。
データバッファ106は、画像処理装置110から受信した画像データを一時的に格納しておくためのバッファである。
システムバス107は、画像形成装置100内の各部を接続するバスである。
次に画像処理装置110について説明する。
主制御部111は、CPU(MPU)、ROM、RAMなどによって構成され、画像処理装置110全体を制御する。
通信I/F112は、画像形成装置100との間でデータ信号の授受を行うためのインタフェイスである。
表示部113は、CRTなどであって、ユーザに対し様々な情報を表示する。
操作部114は、キーボードやマウスなどであって、これらを用いてユーザは各種操作を行う。
システムバス115は、画像処理装置110内の各部を接続するバスである。
図3は、本実施例に係る印刷システムにおける、画像データの取得から印刷処理までの大まかな流れを示すフローチャートである。
ステップ301では、印刷処理の対象となる画像データを取得する。ユーザが指定した画像データが、アプリケーション等を介してメモリに展開される。本実施例における画像データは、R(レッド)、G(グリーン)、B(ブルー)で表される8bitのデータ形式で保持されるものとする。
ステップ302では、色補正を行う。色補正では、取得されたRGB画像に補正がかけられ、画像形成装置固有の色空間であるデバイスRGB (8bit)の画像データに変換される。例えば、予めメモリに格納されたルックアップテーブル(LUT)を参照する等の方法によりこの変換がなされる。
ステップ303では、4色分解を行う。4色分解では、変換後のRGBデータを、C(シアン)、M(マゼンタ)、Y(イエロー)およびK(ブラック)の4色で表される8bitの画像データに分解する。これにより4色分の画像が生成される。4色分解も、色補正同様、予めメモリに格納されたルックアップテーブル(LUT)を用いる等の方法でなされる。なお、ステップ301で取得した入力画像がCMYKの画像データだった場合は、上述のステップ302及びステップ303の各処理はスキップされる。
ステップ304では、CMYK画像データに対し階調補正を行う。塗布や打ち込みなどにより紙面に色材のドットを形成したとき、一般的にドットの数を増やせば濃度が上がる。しかし、ドットの数や色材の量に対する濃度や輝度、彩度の変化は一定ではない。そのため、階調補正では、色分解後のCMYK画像データにおける濃度値と、紙面上の濃度や輝度、彩度との関係がおよそ線形になるように補正する。この階調補正は、予めメモリに格納された、CMYK各版の濃度値に対する1次元LUTなどを用いてなされる。
ステップ305では、階調補正されたCMYK画像データに対し、量子化処理を行ってハーフトーン画像を生成する。量子化処理の詳細については後述するが、量子化レベルは2値でも2値以上の多値でもよい。ここで、量子化レベルが多値の場合は、さらにインデックス展開で2値に展開する。インデックス展開は、周知の技術を利用すればよく、例えば予め量子化レベルに応じたドット配置をテーブルとして記憶しておき、量子化レベルに基づいてドット配置(打つ/打たないの2値)を決めればよい。このようにして、色毎に記録ヘッドが記録可能なハーフトーン画像(2値画像)データに変換される。
ステップ306では、量子化処理で得られた2値画像データを用いて印刷処理を行う。本実施例のインクジェット記録方式の場合には、量子化後の画像におけるオンドットの座標に応じて紙面上にインクを吐出し、ドット形成が行われることになる。
以上が、画像データの取得から印刷処理までの大まかな流れである。
なお、上述した各ステップ(ステップ306を除く)の工程は、どの工程までを画像処理装置110が行い、どの工程以降を画像形成装置100が行うか、という明確な切り分けは特に定められるものではない。例えば、量子化までを画像処理装置110が行う場合は、量子化後の2値画像データを画像形成装置100に転送し、画像形成装置100の主制御部101がデータバッファ106に格納されたインデックスパターンでインデックス展開を行い、印字を制御すればよい。また、画像形成装置100の性能によっては、多値のRGBを直接受け取って、ステップ306までのすべての工程を行うことも可能である。
また、各ステップで扱う画像データのビット数に関しては、8bitに制限されるわけではなく、例えば精度を保持するために出力時のビット数を入力時よりも高く設定してもよい。また、画像形成装置の色数をCMYKの4色としたが、例えばLC(ライトシアン)やLM(ライトマゼンダ)、さらにG(グリーン)やGy(グレー)などの特色を有していてもよく、その際はその色数分のプレーン数で処理することは言うまでもない。
(量子化処理)
続いて、上述のステップ305における量子化処理について、図4及び図5を参照して詳しく説明する。図4は、画像処理装置110(或いは画像形成装置100)が備える機能部として量子化処理部400の内部構成を示すブロック図である。量子化処理部400は、閾値提供判定部401、閾値決定部402、ディザ処理部403で構成される。図5は、量子化処理部400における量子化処理の流れを示すフローチャートである。なお、この一連の処理は、以下に示す手順を記述したコンピュータ実行可能なプログラムを、ROM等からRAM上に読み込んだ後、CPUによって該プログラムを実行することによって実施される。
ステップ501において、閾値提供判定部401は、不図示の階調補正部から入力された階調補正後の画像データ(以下、入力画像)における各画素が、他画素に閾値の提供が可能であるかどうかを判定する処理(以下、閾値提供可否判定処理)を行う。本実施例では、入力画像の各画素は0〜255のいずれかの値を持つものとし、白画素(値が0の画素)であれば閾値提供可能な画素とし、非白画素(値が0以外の画素)であれば閾値提供不可能な画素と判定するものとする。図6は、本実施例に係る、閾値提供可否判定処理の結果の一例を示す図である。図6(a)は入力画像としての階調補正後のCMYK画像のうちのK版の画像の一部を示しており、濃度値80の画素で構成される1画素幅の細線601が存在している。図6(b)は、図6(a)の入力画像に対する閾値提供可否の判定結果を示し、各マスは入力画像の各画素の同位置に対応している。図6(b)において、白の各マスは当該画素位置に対応する閾値の提供が可能と判定されたことを表し、グレーの各マスは当該画素位置に対応する閾値の提供が不可能と判定されたことを示している。
なお、ここでは画素値0の場合に閾値提供可としたが、例えば所定の値以下の場合に閾値提供可としてもよい。例えば、閾値マトリクスにおける閾値の最小値が10である場合は、画素値が10以下の画素を閾値提供可としても同等の効果を得ることができる。
このような閾値提供可否の判定を、入力画像の例えば左上隅の画素から開始し、右の画素へ順次処理を進め、その行が終わればすぐ下の行の左端から右端へ処理を行うといった具合に、入力画像内の全画素について判定を行う。この場合において、例えば、所定のバンド毎や、所定領域毎など、処理する単位や順番は適宜設定すればよい。
また、本実施例では説明を簡略化するためCMYの色版については説明を省略するものとする。
図5のフローチャートの説明に戻る。
ステップ502において、閾値決定部402は、予め設定された初期の閾値マトリクスにおける閾値を用いて、ステップ501における閾値提供可否判定処理の結果に基づき、所定の処理領域毎に、新たな閾値を決定する処理(新閾値決定処理)を行なう。図7は、所定の処理領域を2×2画素の矩形領域とした場合の新閾値を決定する際に用いる、提供元と提供先の関係を示した参照パターンの一例である。処理領域を2×2画素の矩形領域とした場合、参照パターンは16通り存在する(図7ではパターン0〜15で示している。)。各パターンにおける白のマスは閾値提供可能と判定された画素を表し、グレーのマスは閾値提供不可能と判定された画素を表す。また、各パターン内の矢印は、閾値を提供する方向を表している。例えばパターン2の場合、左上画素701に下向き矢印が存在する。これは、左上画素701の閾値がグレーで示される左下画素702(注目画素)の閾値よりも小さければ、左上画素701の閾値が左下画素702の新閾値として提供されること(左上画素701が左下画素702の参照画素となること)を意味する。もっとも、パターン2の場合、右上画素703と右下画素704における矢印も左下画素702を指しているため、これらの画素の閾値も注目画素である左下画素702の新閾値として提供され得ることになる。そして、パターン2のように参照画素が複数ある場合は、全参照画素の閾値のうち最小の閾値が注目画素の新閾値となる(但し、参照画素における最小閾値よりも注目画素の閾値が小さい場合は、閾値を変更する必要がないのでそのままとなる)。
図7に示す全16通りのパターンのうちパターン0とパターン15には矢印がない。パターン15の場合、4つ全ての画素の画素値が1以上であり、2×2画素の処理領域内に閾値提供可能な画素が存在しないため、閾値の参照と新閾値への変更が行われないことを意味する。パターン0の場合、全ての画素が閾値提供可能な画素であり、2×2画素の処理領域内に閾値の提供を受ける画素(画素値が1以上の画素)が存在しないため、閾値の参照と新閾値への変更が行なわれないことを意味する。なお、図7で示したパターンは一例であり、矢印の向きや数はこれに限定されるものではない。
図8は、図6(b)で示した閾値提供可否判定結果に基づき、図7で示した参照パターンによって閾値マトリクスの新閾値が決定される様子を説明する図である。図8(a)は予め用意された初期の閾値マトリクスを示し、図8(b)は新閾値決定処理によって一部閾値が新閾値に変更された後の閾値マトリクスを示している。図8(a)において、太線で囲まれた領域801は処理単位となる2×2画素の矩形領域であり、この場合、図7におけるパターン10に当て嵌ることになる。そして、パターン10では、左上画素が注目画素の場合は右上画素が参照画素となり、左下画素が注目画素の場合は右下画素が参照画素となる。その結果、矩形領域801内の閾値のうち、左上画素の閾値が248から79に変更されることになる。尚、左下画素の閾値である134は、右下画素の閾値である189より既に小さいため、閾値の変更は行われない。このような処理を所定の処理領域(ここでは2×2画素の矩形領域)毎に繰り返した結果、図8(b)に示すような閾値マトリクスが得られることなる。図8(b)において細線部分に対応する3列目の閾値を見ると、パターン10に従って、以下のように一部閾値が変更されているのが分かる。
変更前:「55,12,248,134,84,164,98,23,133,228」
変更後:「55,12,79,134,7,164,98,23,106,0」
このようにして、閾値提供可能と判定された画素(参照画素)の閾値が、注目画素における新たな閾値として決定される。
図5のフローチャートの説明に戻る。
ステップ503において、ディザ処理部403は、新閾値決定処理によって決定された新閾値を反映した閾値マトリクスを用いて、ディザ法によるハーフトーン処理を行なう。ディザ法(2値の場合)では、入力画像の各画素値と閾値マトリクスの各閾値を比較し、入力画像における画素値が閾値を超えた画素についてはオンドット(ドット形成)となり、超えなければオフドット(ドット非形成)となる。図9は、本実施例を適用して得られる量子化結果の一例を、従来技術による量子化結果と比較して示した図である。
まず、従来技術による量子化結果について説明する。図9において、画像901は、閾値提供可否判定処理を行った後の入力画像であり、白の画素(値が0の画素)は閾値提供可能な画素、グレーの画素(値が80の画素)は閾値提供不可能な画素を表している。閾値マトリクス902は、新閾値決定処理がなされていない、予め用意されたままの初期の閾値マトリクスであり(図8(a)を参照)、入力画像901における各画素の同一座標に対応するマスに閾値がそれぞれ入っている。そして、入力画像901に対し、閾値マトリクス902を用いてディザ処理を行なって得られた結果を示しているのが量子化結果903であり、画素値80よりも小さな閾値に対応する画素の部分がオンドットを示すグレーで示されている。量子化結果903をみると、入力画像901では途切れのない細線部分において、大きな空白(線の途切れ)が生じてしまっているのが分かる。こうなると人間の目には線と認識されにくく、問題となり得る。特に、電気回路の回路図のように本来は線が繋がっていなければならない箇所で線が途切れたように見えると深刻な問題となる。
次に、本実施例を適用して得られる量子化結果について説明する。図9において、閾値マトリクス904は、上述の新閾値決定処理が適用されて一部閾値が変更された後の閾値マトリクスである(図8(b)を参照)。そして、入力画像901に対し、閾値マトリクス904を用いてディザ処理を行なって得られた結果を示しているのが量子化結果905であり、画素値80よりも小さな閾値に対応する画素の部分がオンドットを示すグレーで示されている。従来技術による量子化結果903と比べるとオンドットが3画素増えており、大きな空白が生じていない。
その結果、周囲に空白ではない画素が存在する第1の画素よりも、当該第1の画素と前記入力画像データにおける画素値が同じであって周囲が空白である第2の画素の方がドットの再現確率が高いことを特徴とする記録物。
つまり、本実施例を適用することで、細線の再現性を改善する効果が得られることが分かる。このように本実施例では、他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
さらに、本実施例によれば、細線の途切れを減少させる以外にも、1)明部に対する効果が高い、2)矩形などの内部領域に影響が少ない、3)元画像の形状を維持しやすい、4)マクロ的に閾値マトリクスの特性を崩さないといった特徴が認められる。以下、詳しく説明する。
[明部に対する効果が高い]
図10は、1画素幅の細線が描かれた入力画像を黒の色材のみで印刷したときに形成されるドット数を、本実施例を適用した場合(処理あり)と本実施例を適用しなかった場合(処理なし)とで比較したグラフである。図10において、グラフの横軸は階調であり、左端(0)が白、右端(1)が黒である。また、縦左軸は黒インクのドット数であり、「1」は印刷を行なった画像形成装置における最多のドット数を表す。そして、縦右軸は倍率であり、「処理なし(*マーク)」に対して、「処理あり(○マーク)」のドット数が何倍になったのか(倍率 = 処理あり÷処理なし)を表している。倍率(黒三角マーク、右軸)を見ると、白に近いほど高く、黒に近づくにつれて下がり、やがて「1」に収束している。これは、明るい(濃度が低い)細線ほどドットの途切れを防ぐ効果が高く、暗い(濃度が高い)細線ほど処理による影響が少ないことを示している。濃度が高いほど画素値は大きいので、閾値を超える確率は上がる。つまり、高濃度の部分は周囲の画素から閾値の提供を受けなくてもドットが形成される画素がもともと多い。本実施例を適用したときに確率的にドットを増やす可能性があるのは、「処理なし」の時にドット形成がなされていない画素である。黒に近い(濃度が高い)領域では、ドット形成がなされない画素の数は少ないのであるから、本実施例の適用によるドット数の増加も少ないということになる。黒に近い側に属する暗い(濃い)細線はもともと途切れが少なく、ドット数を増加させる必要がないため、本実施例を適用することによる影響が少ないことは好ましいといえる。
[矩形などの内部領域に影響が少ない]
図11は、本実施例を適用した場合における、細線と矩形への影響を説明する図である。図11において、1画素幅の細線1101及び矩形1102は、双方とも、R,G,B=192,192,192などの薄いグレーで描画されている画像とする。図7で示した16通りのパターンのうち、パターン1〜14はエリア内の閾値提供可な画素(図中の白画素部)から閾値を提供され、確率的に濃度が上がり得るパターンである。図11(a)を見てみると、細線1101では、細線端部を除きパターン5かパターン10のいずれかが当て嵌まる 。これらのパターンは閾値提供可能な画素を含むため、確率的に細線の濃度が上がることになる。一方、図11(b)に示すような色つきの矩形1102では、そのほとんどの領域がパターン15に当て嵌まる。パターン15以外のパターンが当て嵌まるのは、矩形1102の上端部、下端部、左端部、右端部の境界部分であり、それぞれ図11(b)に示すような2種類のパターンのいずれかが当て嵌まる。境界以外の矩形内部についてはパターン15のみが当て嵌まるのであり、上述のとおり、パターン15では閾値提供可能な画素がなく濃度を上げる作用が発生しない。つまり、矩形のほとんどの面積を占める内部については濃度が上がらないのである。大きなオブジェクトほど縦幅、横幅が大きく、そのうちの数画素が空白でも途切れているとは認識されないため濃度を上げる必要がないのであるから、矩形などの内部領域に影響が少ないことは望ましい。なお、大きなオブジェクト以外にも、例えば太い線についても同様のことがいえる。太線の場合は、パターン15の割合が多くなるためである。このように、本実施例の場合、細線などのエッジ部に大きな効果があり、濃度を上げる必要がない矩形などの内部領域への影響は少ないため効率的である。
<元画像の形状を維持しやすい>
上述のとおり本実施例では、1画素幅の細線において高い効果が得られる。加えて、1画素で構成されるドット(孤立ドット)については更に高い効果を得ることができる。これは、周囲が白画素で囲まれている孤立ドットは、図7で示した16通りのパターンのうちパターン1, 2, 4, 8 のいずれかが当て嵌まり、注目画素に隣接する周囲3つの画素から閾値を提供されるので、閾値が下がる確率が高いためである。そして、水平或いは垂直の1画素幅の細線を考えると、端部を除けばパターン3, 5, 10, 12 のいずれかが当て嵌まるので、この場合の閾値提供画素は2つである。つまり、本実施例では、周囲が白画素である画素をAとし、周囲に非白画素が存在する画素をBとして、AとBの画素値が同じ(同階調)であるとき、B画素よりもA画素の方がドットの再現確率が高くなることになる。確率的には、孤立点>1画素幅の細線>2画素幅の細線、といった順で濃度を上げる効果が期待できる。このように本実施例では、例えばハッチングのように孤立ドットで構成されるような箇所についても濃度を上げ、元画像のドットの再現性を高める効果、すなわち、元画像の形状を維持しやすいという効果がある。
[マクロ的に閾値マトリクスの特性を崩さない]
閾値マトリクスには特性を持たすことができ、例えば公知のブルーノイズ特性を持たせた閾値マトリクスを使用すれば、ディザ法で擬似階調を行う際に粒状度を少なく保つことができる。 本実施例によれば、このような特性をおよそ維持しつつ細線の途切れを減少させる効果がある。以下、詳しく説明する。
本実施例においては、2×2画素の矩形領域内で閾値の入れ替えを行なっている。これが、1画素を1200dpiで処理するプリンタにおけるブルーノイズ特性の閾値マトリクスであったとき、1200dpi単位で画像を評価すればブルーノイズ特性は崩れている。本来の場所に用意された閾値とは別の閾値を用いることで、閾値マトリクスの特性が壊されるからである。しかし、1200dpiにおける2×2画素を1画素とした、600dpi単位で画像を評価した場合は閾値マトリクスの特性は保たれている。2×2画素の領域内での閾値交換は、600dpi単位でドット形成の確率を上げているに過ぎないからである。つまり、上記の例では、600dpi以上の単位へはドット形成の影響は広がらないので、600dpi単位でブルーノイズ特性を保ちつつ、細線の濃度を上げて途切れを減少させる効果があることになる。
なお、上記の例で処理領域を4×4画素にした場合は、300dpi単位で閾値マトリクスの特性が保たれることとなる。処理領域を大きくするほど濃度を上げる効果は増えるが、閾値マトリクスの特性を崩すことになるので、処理領域を定める際は、濃度を上げる効果と、どの解像度で閾値マトリクスの特性を維持させたいかの両方を考慮しなくてはならない。経験的には、ブルーノイズ特性をもつ閾値マトリクスで、処理領域を4×4画素として、150dpi以上で特性を保てば、およそ良好な結果となり得る。また、処理領域を閾値マトリクスのサイズ以上にした場合は、閾値マトリクスの特性が崩れてしまうことに注意が必要である。閾値マトリクスの特性を維持したければ、処理領域のサイズは閾値マトリクスサイズ内であることが望ましい。
以上、ブルーノイズ特性を持つ閾値マトリクスについて説明したが、例えばベイヤー型など、他の特性を持つ閾値マトリクスについても同様のことがいえる。
<変形例1>
実施例1では、ドット形成ありとドット形成なしの2値を出力する量子化について説明したが、多値を出力する量子化についても本発明は有効である。
多値の量子化処理は多値階調表現のできる出力手段に用いられ、3値以上の任意の階調に適用できるが、ここでは3値の量子化処理を例に説明する。ここでいう3値とは、1画素に形成するドット数が、0、1、2ドットの3階調を指す。
図12は3値の量子化処理を実現するため構成を示す機能ブロック図であり、図13は3値の量子化処理の手順を示したフローチャートである。以下では、入力値は0から255、閾値マトリクスの値は0から254、出力値となるドット数は0、1、2ドットの3階調であるものとして説明する。
ステップ1301において、ベース決定部1201及び比較値算出部1202は、入力値(入力画像における画素値)を取得する。
ステップ1302において、ベース決定部1201は、取得した入力値に基づいてベース決定を行う。ベース決定とは、出力値が、0から1ドットの間に属するのか、1から2ドットの間に属するのかを振り分けることを指す。具体的には、基準となる値128と入力値とを比較し、入力値の方が小さければベース値を「0」、ベースドット数を「0」に決定し、入力値の方が小さくなければベース値を「128」、ベースドット数を「1」に決定する。決定されたベース値は比較値算出部1202に送られ、ベースドット数は加算部1204に送られる。
ステップ1303において、比較値算出部1202は、取得した入力値とベース決定部1201から受け取ったベース値を用いて、比較値を算出する。具体的には、入力値からベース値を減算し、その値を閾値マトリクスに合わせ、0〜255になるように正規化する。ベース値に応じて、それぞれ以下の式で比較値が求められる。
ベース値が0の場合:
比較値 = (入力値 - ベース値) / 128 × 255
ベース値が128の場合:
比較値 = (入力値 - ベース値) / 127 × 255
ステップ1304において、閾値比較部1203は、メモリ内の閾値マトリクスより入力値の画素位置に対応する閾値を取得し、ステップ1303で求めた比較値と比較する。比較の結果、閾値よりも比較値の方が大きければ「1」を、大きくなければ「0」を加算部1204に出力する。
ステップ1305において、加算部1204は、ベース決定部1201から出力されたベースドット数に閾値比較部1203から出力された値を加算してドット数を決定し、量子化の出力値とする。
以上が、3値の量子化処理の内容である。同様にN値の量子化処理を構成できる。
上述したような多値の量子化において実施例1を適用する場合は、例えば、ベース値が「0」の画素についてのみ閾値の提供を受けるようにすればよい。すなわち、前述の図5のフローにおけるステップ501で閾値提供可否判定処理を行うと同時に、ベース値が「0」であるか否かを判定する。その判定結果は、画素毎にベース値が「0」であるか否かを格納するバッファをメモリに用意し、格納する。そして、入力値が「128」より小さければ「真」小さくなければ「偽」と判定し、ステップ502で、結果が「真」の画素のみ閾値の提供を受けるようにし、「偽」の画素については閾値の提供を受けないようにすればよい。ベース値が「0」でない画素(ベース値が128の画素)は、少なくとも1ドット以上はドットが形成される画素である。これらの画素で構成された細線は、濃度を上げる処理を行わなくとも途切れは発生しないため、閾値の提供を受ける必要がない。ベース値が「0」の画素(ドットの途切れが発生し得る画素)についてのみ閾値提供を行って濃度を上げることで、必要な部分については効果を享受しつつ、高濃度部分への影響を抑えることができる。
なお、ここではベース値が「0」の画素のみを対象としたが、画像形成装置に応じて調整してもよい。例えば、多値の量子化処理を行った後、公知の処理により量子化時よりも細かい解像度へ展開するシステムの場合には、細線を形成したドットに間隔が空く場合がある。また、淡インクなど、1ドットでは薄くて線に見えないシステムの場合は、複数ドットで線を形成しなくてはならない。このような場合、多値量子化の1値目(ベース値が「0」)までに限らず、所定のベース値までを閾値提供の対象とすればよい。さらに、所定のベース値を色材によって変えてもよい。
上記ではN値として、0、1、2ドットのようにドット数による階調の例を説明したが、これ以外にも挙げられる。例えば、ドットなし、小ドット、大ドットの3階調のようにドットの大きさ(インクジェットプリンタにおける液滴の大きさ)で複数階調を表す場合もある。また、ドットなし、淡インクドット、濃インクドットの3階調のように、ドットの濃さで複数階調を表す場合もあるし、それらを複合して複数階調を表す場合もある。
このように、多値(N値)出力の量子化においても他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
<変形例2>
実施例1では、他画素に閾値提供可能か否かの判定を行い、その判定結果を用いて注目画素の新たな閾値を決定したが、閾値提供可否の判定と注目画素における新閾値の決定とを一度に行なってもよい。以下、具体例を説明する。
ここで、注目画素の座標位置を[x, y]、注目画素の画素値(画像信号値)をV[x, y]、注目画素位置の閾値をTh[x, y]とする。そして、閾値を提供する候補の画素の座標位置を[v, w]とし、その画素値をV[v, w]、その位置の閾値をTh[v, w]とする。それぞれの値は0を含む正の整数値である。
まず、実施例1で説明した、1)他画素に閾値提供可能か否かの判定を行う、2)閾値提供可能な画素の閾値と注目画素の閾値とを比較する、という2段階で処理する場合のプログラム例を以下に示す。
[プログラム例(2段階処理)]
01: if( V[v, w] != 0){
02: if( Th[v, w] < Th[x, y]){
03: Th[x, y] = Th[v, w];
04: }
05: }
ここで、先頭の「01:」などの数字は説明のための行番号である。01行目では、閾値を提供する候補の画素[v, w]の画素値が0であるか否かを判別している。0でなければ02行目へ進み、0であれば05行目以降へ処理を進める。02行目では閾値を提供する候補の画素の閾値(Th[v, w])と、注目画素の閾値(Th[x, y])とを比較し、Th[v, w]の方が小さければ03行目で注目画素の閾値(Th[x, y])をTh[v, w]に更新する。このプログラム例の場合、01行目が上記1)の処理に相当し、02行目が上記2)の処理に相当する。
次に、上記1)の処理と2)の処理とを分けずに一括で処理をする場合のプログラム例を以下に示す。
[プログラム例(一括処理)]
01: if( (Th[v, w] +V[v, w] * ThMax) < Th[x, y]){
02: Th[x, y] = Th[v, w];
03: }
ここで、「*」は乗算を意味する。01行目では Th[v, w]にV[v, w]とThMaxを乗算した値を加え、その値がTh[x, y]より小さいかを判別している。なお、ThMaxは閾値マトリクス内の閾値の最大値であり、例えば255などである。この一括処理の結果、Th[x, y]より小さければ、02行目で注目画素の閾値(Th[x, y])をTh[v, w]に更新する。01行目の式の意味は、閾値を提供する候補の画素が白画素である、つまりV[v, w]が0である時、V[v, w] * ThMax は0になるということである。よって、if( Th[v, w] < Th[x, y])と等価となり、上述の2段階処理のプログラム例の02行目と同じ役割を果たす。
そして、V[v, w]が0でなく、1以上であった場合、V[v, w]に最大閾値ThMaxが乗算される。この時、Th[x, y]が上限であるThMaxと同じ値だったとしても、(V[v, w] * ThMax) < Th[x, y]) を満たすことはない。V[v, w]=1、ThMax=255、Th[x, y]=255でも、(1 * 255) < 255 は偽となる。このように、01行目の式は、V[v, w]が白画素であるか否か、つまり閾値提供可能な画素か否かの判定である上記1)の処理も同時に行っている。よって、上記2つのプログラム例は等価であるといえる。
以上のとおり、処理を2段階に分けずに一括で行ってもよい。
<変形例3>
実施例1では、入力画像全体について処理を行ったが、例えばCADソフトなどのアプリケーションから、画素単位で線を構成する画素(以下、線画素)であるか否かの情報を受け取ることができるケースがある。また、ベクタデータを持った画像においても画素単位で線画素であるか否かを判別できる。このような場合、ある画素が線画素であるか否かを示す情報(以下、線情報)を受け取り、該線情報に基づき、線画素についてのみ濃度を上げるための新閾値決定処理を行なうようにしてもよい。
図14は、本変形例に係る、量子化処理の流れを示すフローチャートである。
ステップ1401では、アプリケーションより線情報を取得する。そして、取得した線情報に従い、例えば、入力画像の画素数分のバッファを用意して、線画素であれば1、非線画素であれば0の値を入れておく。これにより線画素が特定される。
ステップ1402では、閾値提供可否判定処理を行う(図5のフローのステップ501を参照)。
ステップ1403では、上記バッファを参照し、注目画素が線画素であるかどうかを判定する。判定の結果、線画素であればステップ1404に進む。一方、線画素でなければ新閾値決定処理をスキップし、ステップ1405に進む。
ステップ1404では、新閾値決定処理を行う(図5のフローのステップ502を参照)。すなわち、線画素であると判定された注目画素の閾値と閾値提供可能と判定された画素の閾値とを比較し、閾値提供可能と判定された画素の閾値の方が小さければ、当該閾値を注目画素の新閾値に決定する。
ステップ1405では、ディザ処理を行う(図5のフローのステップ503を参照)。
以上が、本変形例に係る量子化処理の内容である。
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
本変形例によれば、線画素のみを対象に閾値の変更を行うので、線を構成しない画素に与える影響をなくすことができる。
<変形例4>
さらに、CMYKのドットの重なりを制御するため、複数の色材で1つの閾値マトリクスを使用するケース(特許文献2を参照)においても実施例1は有効である。ここでは、CMYKといった色材間のドットの重なりを制御することを色間分離と呼ぶこととする。この色間分離は細線の途切れを減らす効果がある。
図15は、色間分離方式における細線の再現性を説明する図である。図15において、1501は縦に並んだ18個の画素上のCドットの形成位置を○で表したもので、同じく1502はMドットの形成位置を×で表したものである。1503は、Cドットの形成位置とMドットの形成位置との関係が分かるよう、1501と1502とを合成したものである。このように色間分離方式では、CドットとMドットとがなるべく重ならないようにその配置が制御される。一方、1504〜1506は、色間分離ではない方式における、縦に並んだ18個の画素上でのCドットとMドットの形成位置を表したものである。CドットとMドットは相関のない異なるディザマトリクスを用いて量子化されるため、CドットとMドットとが重なってブルーになった箇所(黒四角)が出現している(1506を参照)。
そして、1507及び1508は、CとMのどちらか一方でもドットが形成されれば黒のマス、ドットが形成されなければ白のマスで表したもので、1507は上述の1503に対応し、1508は上述の1506にそれぞれ対応している。1507と1508とを比べると、両者は総ドット数では同じであるものの、1508ではドット同士が繋がっている箇所が存在し、それに応じて大きな空白箇所(白画素が連続する箇所)が生じてしまっている。これが人間の目には線の途切れと捉えられることになる。
このように、色間分離方式を採用することで細線の再現性が向上することがわかる。
図16は、本変形例に係る印刷システムにおける、入力画像の取得から印刷処理までの大まかな流れを示すフローチャートである。
ステップ1601では、入力画像を取得する(図3のフローのステップ301を参照)。
ステップ1602では、閾値提供可否判定処理を行う。具体的には、入力画像の各画素について白画素かどうかを判定する。入力画像が例えば8bitの RGB画像である場合であれば、(R,G,B) = (255, 255, 255) の画素のみ閾値提供可能と判定し、その他は閾値提供不可能と判定する。これは、(R,G,B) = (255, 255, 255)が白を表し、この場合に色分解処理後のCMYKの各色版の全てで値が0になるからである。この判定結果はメモリに保持される。
ステップ1603〜ステップ1605は、前述の図3のフローにおけるステップ302〜304にそれぞれ相当するので説明を省く。
ステップ1606では、量子化処理を行う。ステップ1602で閾値提供可否判定処理が済んでいるので、ここでは、その閾値提供可否判定処理の結果に基づく新閾値決定処理とディザ処理を行なうことになる。まず、新閾値決定処理は、ステップ1602でメモリに保持された判定結果を基に、例えば2×2画素の処理領域毎に図7に示す16通りのパターンのうちどのパターンに当て嵌まるかを判定して閾値の提供元と提供先を決定し、注目画素の新閾値を決定する。そして、特許文献2に示すような方法でディザ処理を行う。具体的には、入力画像内の各画素について、優先順位の高い色材(例えばK)に対して画素値と閾値との比較を行い、Kの量子化結果を得る。そして、次に優先順位の高い色材(例えばC)に関して、Cの画素値に上記Kの画素値を加えた値と閾値とを比較する。この際使用する閾値マトリクスは同じものである。
そして、その次に優先順位が高い色材(例えばM)に関して、Mの画素値に上記K及びCの画素値を足した値を用いて閾値比較を行う。このように、優先順位の高い色材から順に各画素で量子化を行い、優先順位の高い色材の画素値を足した累積値で量子化していく。なお、累積値が最大閾値を超えた場合は、該累積値から最大閾値を除算した値を用いて量子化を行う。このように本実施例では、色分解処理前の段階で閾値提供可否判定処理を行い、色間分離方式の量子化によって、複数色材のドットをなるべく排他にし、重ならないようにドット形成を行う。
ステップ1607では、ステップ1606の量子化処理で得られた2値画像データを用いて印刷処理を行う(図3のフローのステップ306を参照)。
以上が、本変形例に係る印刷システムにおける、入力画像の取得から印刷処理までの大まかな流れである。
上記の例では、複数色材のドットを排他的に配置する際、RGB値で閾値提供可否を判定していたが、例えば、同一の閾値マトリクスを使いながらも色材毎に閾値提供可否判定および新閾値決定処理を行って、色材毎に閾値マトリクスを更新してもよい。この場合、該更新された閾値マトリクスを用い、上述したように優先順位が高い色材の画素値をその次に優先順位が高い色材の量子化のときに加えて閾値比較すればよい。この場合のフローは実施例1に係る図3及び図5のフローと同等である。色材毎に判定して濃度を上げることにより、背景のRGB値が(255,255,255)でない画像における細線についても途切れを減らすことが可能である。
さらに、同一の閾値マトリクスを使う組み合わせで処理を行ってもよい。例えば、CドットとMドットとを分離したい場合、CとMで同一の閾値マトリクスを使用する。その際は、色分解処理後に、CとMの双方において画素値が0であるか否かを判定し、双方の画素値が0である場合に閾値提供可能と判定し、少なくとも一方の画素値が0でない場合は閾値提供不可能と判定すればよい。
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
以上のとおり、本変形例によれば、色間分離が持つ細線の途切れを減らす効果に加えて、さらに細線の濃度を確率的に上げる処理を行なうことで、より途切れのない細線を実現することができる。
<変形例5>
入力画像の各画素について白画素かどうかを判定する閾値提供可否判定は、色間分離を行わない場合においても有効である。
本変形例に係る印刷システムにおける、入力画像の取得から印刷処理までの流れは、上記変形例4で説明した図16のフローチャートと基本的には同じである。
ステップ1601〜ステップ1605については、異なるところはない。ステップ1602においても上記変形例4と同様、入力画像の各画素について白画素かどうかを判定する。入力画像が例えば8bitのRGB画像である場合は、(R,G,B) = (255, 255, 255) の画素のみ閾値提供可能と判定し、その他は閾値提供不可能と判定する。これは、(R,G,B) = (255, 255, 255)が白を表し、この場合に色分解処理後のCMYKの各色版の全てで値が0になるからである。
ステップ1606の量子化においては色間分離を行わず、CMYKの色毎に別の閾値マトリクスを用いて処理を行う。その際、閾値提供の可否はステップ1602で行った閾値提供可否判定の結果を用いる。
ステップ1607では、ステップ1606の量子化処理で得られた2値画像データを用いて印刷処理を行う(図3のフローのステップ306を参照)。
上述の実施例1では閾値提供可否判定を画素毎に4回(CMYKのそれぞれについて)行っていたが、本変形例によれば、閾値提供可否判定を画素毎に1回行うのみで済むため、高速に処理が可能となる。
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
実施例1では、2×2画素の処理領域内で閾値の提供を行って、細線のドット形成数を確率的に増やす態様について説明した。次に、実施例1の態様では増加するドット数が足りない場合を想定し、よりドット形成数を増やすことが可能な態様について、実施例2として説明する。なお、実施例1と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。
本実施例は、量子化処理において多段処理、すなわち、例えば4×4画素の処理領域で新閾値を仮決定し、その上で、より小さなサイズ(例えば2×2画素)の処理領域で新閾値を最終決定する処理を行なうことで、ドット形成数をさらに増やすものである。なお、この量子化処理を実現する機能部としての量子化処理部の内部構成については、実施例1の図4で示した量子化処理部400と同じ、閾値提供判定部401、閾値決定部402、ディザ処理部403で構成されるものとする。
図17は、本実施例における新閾値仮決定時の処理領域としての4×4画素の領域を説明する図である。ここでは、便宜上、4×4画素内の左上の2×2画素をA領域、右上の2×2画素をB領域、左下の2×2画素をC領域、右下の2×2画素をD領域とする。また、A〜Dの各領域についても、同様に、左上の画素を1、右上の画素を2、左下の画素を3、右下の画素を4とし、例えばA領域の左上の画素はA1という具合に呼ぶこととする。
入力画像の取得から印刷処理までの大まかな流れは実施例1と異なるところがないので、以下では本実施例の特徴である量子化処理について、図18〜図20を参照して説明する。図18は、本実施例に係る、量子化処理の流れを示すフローチャートである。図19は、本実施例における量子化処理の進行過程を説明する図である。図20は、本実施例に係る、新閾値の仮決定時に用いる参照パターンを示す図である。
ステップ1801において、閾値提供判定部401は、不図示の階調補正部から入力された階調補正後の画像データにおける各画素が、他画素に閾値の提供可能であるかどうかを判定する、閾値提供可否判定処理を行う。本ステップは、実施例1における図5のフローのステップ501と同じ処理であり、第1段階の閾値提供可否判定処理である。図19において、閾値マトリクス1901は、この第1段階の閾値提供可否判定処理の結果を、初期の閾値マトリクス1900上に反映させたものである。入力画像における1画素幅の細線に対応する部分が、閾値提供不可能を示すグレーで表され、その他の部分が閾値提供可能を示す白で表されている。
ステップ1802において、閾値提供判定部401は、入力画像を所定の領域(ここでは4×4画素の領域)に分け、その中の所定の領域(ここでは2×2画素の領域)を対象に、再度、閾値提供可否判定処理を行う(第2段階の閾値提供可否判定処理)。例えば、上述の図17におけるA領域が、この第2段階の閾値提供可否判定処理の対象領域であったとする。この場合、A1〜A4における画素値がすべてチェックされる。そして、全画素の画素値が0であれば、A領域は閾値提供可能な領域と判定される。一方、A1〜A4の画素のうち1つでも0以外の画素値を持つ画素があれば、A領域は閾値提供不可能な領域と判定される。そして、他のB〜Dの領域についても同様に、この第2段階の閾値提供可否判定処理がなされる。図19において、閾値マトリクス1902は、この第2段階の閾値提供可否判定処理の結果を、初期の閾値マトリクス1900上に反映させたものである。閾値マトリクス1902の破線で囲まれた部分1903を図7で示す4×4画素の領域としたとき、A領域とC領域ではその内部の4画素(A1〜A4、C1〜C4)の画素値は全て0であるため、両領域とも閾値提供可能な領域(白)となっている。これに対し、B領域のB1とB3、D領域のD1とD3の画素値は50であるため、B領域とD領域は閾値提供不可能な領域(グレー)となっている。
ステップ1803において、閾値決定部402は、第2段階の閾値提供可否判定処理の結果に従い、初期の閾値マトリクス1900を用いて、4×4画素単位で新たな閾値を仮決定する処理(新閾値仮決定処理)を行なう。図20において、各パターン内における白で示された2×2画素の領域は閾値提供可能と判定された領域を示し、グレーで示された2×2画素の領域は閾値提供不可能と判定された領域を示している。そして、各パターン内の矢印は閾値を提供する方向を表している。例えば、上述の閾値マトリクス1902における破線部分1903の4×4画素の領域は、図20におけるパターン5が当て嵌まる。この場合、図17におけるA領域からはB領域へと閾値が提供され、C領域からはD領域へと閾値が提供されることになる。具体的には、A1の閾値とB1の閾値とが比較され、小さい方がB1の新閾値として仮に決定される。そして、A2とB2、A3とB3、A4とB4についても同様の処理がなされ、B領域における新閾値が仮に決定される。さらに、C領域とD領域についても同様の処理を行なって、D領域における新閾値が仮決定される。図19における、閾値マトリクス1904は、この新閾値仮決定処理の結果を反映した閾値マトリクスであり、○で囲まれた数値が仮決定された新閾値を示している。
ステップ1804において、閾値決定部402は、ステップ1803で仮決定された新閾値を反映した閾値マトリクスを用いて、2×2画素単位で新たな閾値を最終決定する処理(新閾値最終決定処理)を行なう。図19において、閾値マトリクス1905は、仮決定された新閾値を反映した閾値マトリクス1904に対し、ステップ1801による第1段階の閾値提供可否判定処理の結果を反映させたものである。(なお、閾値マトリクス1905は、説明の便宜上設けたもので、何等かの処理によってこのような閾値マトリクスが別途生成されるわけではない。)この場合、図7のパターン10に従い、閾値マトリクス1905における列1906(グレー)の閾値と列1907(白)の閾値とが比較され、列1907の閾値の方が小さければ、列1906における閾値と置き換えられて最終的な新閾値となる。図19において、閾値マトリクス1908は、この新閾値最終決定処理の結果を反映した閾値マトリクスであり、◎で囲まれた数値が本処理によって置き換えられた新閾値を示している。
ステップ1805において、ディザ処理部403は、ステップ1804で最終決定された新閾値を反映した閾値マトリクスを用いて、ディザ法によるハーフトーン処理を行なう。図19において、量子化結果1909は、閾値マトリクス1908を用いて入力画像1930をディザ処理した結果を示している。この量子化結果1909において、白の画素はドット形成なし、グレーの画素はドット形成ありを示している。
なお、図19において、量子化結果1910は、実施例1を適用して得られた閾値マトリクス1911を用いて入力画像1930に対しディザ処理を行なった結果である。また、量子化結果1920は、本発明を適用することなく、入力画像1930に対し初期の閾値マトリクス1900を用いてディザ処理を行なった結果を示している。それぞれの量子化結果を比較すると、実施例1でもドット形成数は増加しているが、実施例2ではさらにドット形成数が増えているのが分かる。
本実施例では、2×2画素の領域内に0以上の画素値を持つ画素がある場合はその中で閾値提供を行い、他の2×2画素領域へは閾値提供を行わない(当該領域内に0以上の画素値を持つ画素がない場合のみ、他の2×2画素領域へ閾値提供を行う)。つまり、極力近くの画素に(2×2画素の領域内で)閾値を提供しつつ、かつ近くに所定の画素値を持った画素がなければ、所定の画素値を持つ遠くの画素まで閾値を提供することを可能としている。これにより、実施例1の閾値提供(2×2画素の領域のみ)の場合よりも細線の濃度を確率的に上げて途切れをより低減させつつ、閾値マトリクスのマクロ的な特性を維持することができる。閾値マトリクスのマクロ的な特性とは、例えば4×4画素の処理領域の場合、1/4×1/4の解像度(1200dpiの量子化の場合は300dpi)で維持できるということである。
なお、本実施例では、注目画素と参照画素の閾値同士を比べ、小さい方を注目画素の新閾値としたが、これでは濃くなり過ぎるという場合もある。このような場合には、参照画素の閾値に係数を掛ければよい。例えば、注目画素の閾値と、参照画素の閾値に1.0より大きい係数を乗じた値とを比較し、小さい方を注目画素の新閾値に決定するといった具合である。これにより、過度にドット形成数が増えることを防ぎ、係数の値の設定によって上昇する濃度を確率的にコントロールすることが可能となる。さらに、係数を1.0未満にすることで、より閾値が下がり、さらに濃度を上げることもできる。
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
実施例1及び2では、処理領域内の画像パターンによって定まった画素間で閾値の提供を行なうものであった。次に、入力画像における画像パターンや閾値マトリクスにおける閾値の配置によって、閾値を提供する側の画素と提供される側の画素を動的に定める態様について、実施例3として説明する。なお、実施例2と同様、入力画像の取得から印刷処理までの大まかな流れは実施例1と異なるところがないので、以下では本実施例の特徴である量子化処理について説明するものとする。
図21は、本実施例に係る、量子化処理の流れを示すフローチャートである。なお、この量子化処理を実現する機能部として量子化処理部の内部構成については、実施例1の図4で示した量子化処理部400と同じ、閾値提供判定部401、閾値決定部402、ディザ処理部403で構成されるものとする。
ステップ2101において、閾値提供判定部401は、入力画像の画素毎に閾値提供可否判定処理を行う。実施例1と同様、入力画像の各画素は0〜255のいずれかの値を持ち、値が0の白画素は閾値提供可、値が0以外の非白画素は閾値提供不可と判定する。
ステップ2102において、閾値提供判定部401は、入力画像における任意の処理領域を注目領域に決定する。ここで、処理領域は、例えば4×4画素の領域であり、例えば、入力画像の左隅から順に注目領域として決定すればよい。
ステップ2103において、閾値提供判定部401は、注目領域内における、閾値提供可能と判定された画素に対応する閾値のうち最小値(最小提供閾値)と、閾値提供不可能と判定された画素に対応する閾値のうち最小値(最小被提供閾値)を抽出する。注目領域内で抽出された最小提供閾値と最小被提供閾値、並びにそれら閾値に対応する画素位置の情報はRAMに記憶される。
ステップ2104において、閾値決定部402は、抽出された最小提供閾値と最小被提供閾値とを比べ、最小提供閾値の方が小さい場合には、最小被提供閾値の値を最小提供閾値の値に置き換える。すなわち、最小提供閾値を最小被提供閾値の画素位置における新閾値とする。ここで、最小提供閾値に対応する画素は白画素であって画素値が0のため、いかに小さな閾値であってもドットが形成されることはない。このような使用されない閾値のうち、最もドットが形成されやすい最小の閾値を、画素値が0以外の他画素へ提供することで、確率的にドット形成数を増やすことができる。そして、最小被提供閾値に対応する画素は、0以外の画素値を持つ画素の中では最もドットが形成されやすい画素である。つまり、画像データの濃度値を低い方から徐々に上げて行くと、注目領域内で最初にドットが形成される画素である。この画素のドット形成をされやすくすることにより、ブルーノイズなど元の閾値マトリクスの特性をなるべく崩さずに細線の濃度を上げることができる。
ステップ2105において、閾値決定部402は、入力画像内に未処理の領域があるかどうかを判定する。未処理の領域があれば、ステップ2102に戻って次の注目領域を決定する。一方、未処理の領域がなければ、ステップ2106に進む。
ステップ2106において、ディザ処理部403は、新閾値を反映した閾値マトリクスを用いて、ディザ法によるハーフトーン処理を行なう。
以上が、本実施例における量子化処理の内容である。
なお、上述の例では、注目領域内で1画素の閾値提供を行ったが、複数画素で閾値提供を行ってもよい。例えば、注目領域内において、提供側の最小閾値を被提供側の最小閾値に対応する画素の新閾値として提供し、さらに提供側の2番目に小さい閾値を被提供側の2番目に小さい閾値に対応する画素の新閾値として提供してもよい。この場合、確率的に1画素のみの提供よりもより大きく濃度を上げることができる。
また、上述の例では、提供側の最小閾値を被提供側の最小閾値に対応する画素の新閾値として提供したが、異なる画素の新閾値として提供してもよい。例えば、被提供側の最大閾値に対応する画素の新閾値として提供することが考えられる。この場合、該画素は、注目領域内における0以外の画素値を有する画素の中で最もドットが形成されにくい閾値に対応する画素である。そのような画素の閾値を小さくすることにより、効率良く細線の濃度を上げることができる。
さらに、提供側の閾値を最小値以外の閾値(例えば2番目に小さい閾値)にすることで濃度を上げる程度を抑えることができ、このようにして、濃度の調整を行うことも可能である。
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
本実施例によれば、閾値を提供する側の画素と提供される側の画素を動的に定めることにより、細線の途切れを低減させつつ、実施例1及び2に比べて元の閾値マトリクスの特性を保持することが可能である。
次に、閾値マトリクスに工夫を加えた態様、具体的には、サブマトリクスを用いて作成した閾値マトリクスを用いてディザ処理を行う態様について、実施例4として説明する。なお、実施例1等と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。
図22は、サブマトリクスを用いた閾値マトリクスの作り方を説明する図である。
マトリクス2201は、64×64画素で構成されるベースとなるマトリクス(以下、ベースマトリクス)であり、0〜15までの値が各マスに入っている。例えば、このベースマトリクス2201にブルーノイズ特性を持たすなどすれば、後述するようにある解像度においてその特性を発揮する。
マトリクス2202は、4×4画素で構成されるサブマトリクスであり、0〜240までの値(16刻み)が各マスに入っている。このサブマトリクス作成の際は、まず、0〜15までの16個の数値をなるべく偏りがないように並べる。例えば縦方向の4画素の合計や横方向の4画素の合計、斜め方向の4画素の合計を比べたとき、それぞれの合計値の大小に偏りがないように配置する。偏りがあると、水平や垂直の細線のドットは形成されやすいが斜めの細線ではドットが形成されにくくなるといった異方性が発生したり、粒状性が悪くなったりするなどの問題が生じるためである。そして、偏りがないように並べられた0〜15までの数値それぞれに16を乗算したものをサブマトリクスにおける各マスの値とする。
そして、ベースマトリクス2201の1マス(=1画素)にサブマトリクス2202を順次割り当てて16画素(縦4画素、横4画素)に拡張する。具体的には、サブマトリクス2202における各数値に、ベースマトリクス2201の1マスにおける数値(N)を加える。こうして、256×256画素の閾値マトリクスを得られる。図22において、2203は、ベースマトリクス2201における数値Nの画素に、サブマトリクス2202の各数値を割り当てて拡張する過程を表したものである。マトリクス2204は、このような拡張の結果得られた256×256画素の閾値マトリクスである。閾値マトリクス2204において太枠で囲った部分が、ベースマトリクス2201におけるN=3に対応する領域であり、サブマトリクス2202におけるそれぞれの数値にN(=3)を足した値がそれぞれの閾値となっているのがわかる。
上述のようにしてサブマトリクスを用いて作成された閾値マトリクスでは、4×4画素の領域の中に値が15以下の閾値が必ず存在することになる。メインマトリクス2201における値の最大値は15であり、サブマトリクス2202における値の最小値は0だからである。そして、ベースマトリクスにブルーノイズなどの特性を持たせることで、出来上がった閾値マトリクスもマクロでブルーノイズ特性を持つことになる。例えば、4×4画素のサブマトリクスを用いて作成した閾値マトリクスを1200dpi×1200dpiの解像度で使用する場合、その4分の1の300dpi×300dpiの解像度においてベースマトリクスに持たせた特性を発揮できる。
このような閾値マトリクスを用いて、例えば実施例3で述べた手法を適用した場合には、画素値が16以上の細線の画素は、4×4画素に1ドット以上は必ずドットが形成されることになる。4×4画素の処理領域単位で、値が15以下の閾値が必ず、0以外の画素値を持つ画素に対して使用されるためである。
なお、上述の例では、処理領域のサイズとサブマトリクスのサイズとを同サイズ(共に4×4画素)としたが、任意のサイズで構わない。サブマトリクスの縦、横の画素数をそれぞれ、処理領域の縦、横の画素数以下にすることで、ある濃度以上の画像データにおいて、任意画素に1ドット以上のドット形成を保障することができる。
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
本実施例によれば、ある濃度値以上の画像データについて、所定の領域内に1ドット以上のドット形成を保障することが可能となる。
ここまでに述べた各実施例では、処理領域の形状を矩形(正方形)とし、各処理領域はそれぞれ重ならず、1つの画素が複数の処理領域に跨って属すことはなかった。そのため、実施例1を2画素幅の細線を含む画像に適用する場合、細線の位置により処理領域と位相が変化して濃度を上げる効果が表れたり表れなかったりし、濃度上昇にむらが生じることがある。図23は、濃度上昇にむらが生じる理由を説明する図である。各マスは画素を表し、白画素は画素値が0の閾値提供可能な画素を表し、グレー画素は画素値が0以外の閾値提供不可能な画素を表している。太線で囲まれた2×2画素の領域は処理領域である。図23(a)では、2画素幅の細線が縦に描かれた入力画像に対して、当該細線上にちょうど重なるように2×2画素の処理領域が位置している。一方、図23(b)では、同様の入力画像に対して、2画素幅の細線の半分に掛かるように2×2画素の処理領域が位置している。このように、2画素の細線が画像内のどの位置にあるかによって、処理領域との相対的な位置関係が変化し、その結果、新閾値を決定する際に用いる参照パターンが変わってしまう。図23(a)の場合、参照パターンは図7におけるパターン0とパターン15である。この場合は、閾値の変更が行われることがないので、実施例1を適用しないときと同じ出力となる。一方、図23(b)の場合、参照パターンは図7におけるパターン5とパターン10である。この場合は、どちらのパターンでも閾値の変更が起こり得るので、確率的に濃度が上がることになる。
そこで、上述のような問題を回避するべく、処理領域の形状を注目画素を中心とした円形とし、注目画素を1画素ずつずらして処理する(すなわち、1つの画素が複数の処理領域に跨って属すことになる)態様について、実施例5として説明する。なお、実施例1等と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。
図24は、本実施例に係る、量子化処理の流れを示すフローチャートである。なお、この量子化処理を実現する機能部として量子化処理部の内部構成については、実施例1の図4で示した量子化処理部400と同じ、閾値提供判定部401、閾値決定部402、ディザ処理部403で構成されるものとする。
ステップ2401において、閾値提供判定部401は、入力画像の画素毎に閾値提供可否判定処理を行う。例えば、実施例1と同様、入力画像の各画素は0〜255のいずれかの値を持つ場合において、値が0の白画素は閾値提供可、値が0以外の非白画素は閾値提供不可と判定する。
ステップ2402において、閾値決定部402は、注目画素を決定する。例えば、入力画像の左上隅の画素を最初の注目画素に決定し、該画素の処理が終われば一つ右隣の画素を次の注目画素とし、一番右端の画素まで処理が終われば、一つ下の行の一番左端に処理を移行するといった具合に順次処理していく。
ステップ2403において、閾値決定部402は、注目画素の画素値が0であるかどうかを判定する。判定の結果、注目画素の画素値が0であればステップ2407に進む。一方、注目画素の画素値が0以外の値であれば、ステップ2404に進む。
ステップ2404において、閾値決定部402は、ステップ2401で閾値提供可能と判定された画素の閾値のうち所定の処理領域内における最小値(以下、最小閾値)を抽出する。抽出された最小閾値と対応する画素位置の情報はRAMに記憶される。
ステップ2405において、閾値決定部402は、注目画素の閾値と所定の処理領域内における最小閾値とを比べ、最小閾値の方が小さい場合には、注目画素の閾値と最小閾値の画素位置の閾値とを交換する。図25は、本実施例における処理領域の一例を示す図である。グレーで示された画素の領域が処理領域であり、中心の黒で示す画素が注目画素に相当する。矩形である画素の集合体としての処理領域の形を円2501に近くするため、例えばこのような形状としているが、処理領域の形状は、正方形、長方形、楕円、その他様々な形状でも構わない。なお、本実施例では、最小閾値の値で注目画素の閾値を上書きせずに、両者の値を交換している。その理由は、本実施例では1つの画素が複数の領域に跨って属すことから、他の画素を注目画素とした時に、1度使用された最小閾値が再使用されるのを防ぐためである。
ステップ2407において、閾値決定部402は、入力画像内の全ての画素について処理が完了したかどうかを判定する。未処理の画素があれば、ステップ2402に戻って次の注目画素を決定する。一方、全画素の処理が完了していれば、ステップ2408に進む。
ステップ2408において、ディザ処理部403は、閾値交換がなされた閾値マトリクスを用いて、ディザ法によるハーフトーン処理を行なう。
以上が、本実施例における量子化処理の内容である。
上述の例では、注目画素の閾値と所定の処理領域内の最小閾値とを比べたが、これに限られない。例えば、注目画素からの距離に応じて決まる係数を処理領域内の閾値提供可能と判定された画素の閾値に乗算し、該乗算結果と注目画素の閾値とを比べ、乗算結果の方が小さい場合に閾値の交換を行ってもよい。これにより、注目画素から距離の遠い閾値とは交換されにくくなるため、閾値マトリクスが持つ特性を極力維持したまま細線の濃度を上げることができる。
ここで、本実施例の効果を、図を参照して分かりやすく説明する。
まず、図26は、実施例1を適用した場合に生じ得る位相差について説明する図である。図26の(a)〜(c)において、太線で囲まれた2×2画素の領域は処理領域を表し、白のマスは画素値が0の画素で閾値提供可能と判定された画素、グレーのマスは画素値が0以外の画素で閾値提供不可能と判定された画素を示している。
図26(a)と(b)における入力画像は、共に、2画素幅の細線と2画素幅のスペース(空白)が交互に繰り返される画像であるが、両者は細線の座標位置が異なり、処理領域と細線の位相に差異がある。図26(a)は、前述の図23(a)と同様、参照パターンが図7におけるパターン0とパターン15であり、実施例1を適用したとしても、細線の濃度は適用しないときと変わらない。一方、図26(b)は、前述の図23(b)と同様、参照パターンが図7におけるパターン5とパターン10であり、実施例1を適用することで確率的に濃度が上がる。このように、入力画像における細線の座標位置によって濃度が変わり得る。そして、図26(c)における入力画像は、2画素幅の細線と3画素幅のスペースが交互に繰り返される画像である。この入力画像に実施例1を適用すると、参照パターンは細線によって異なることになる。まず、細線αについては、図26(b)と同様、参照パターンは図7におけるパターン5とパターン10となるので、細線の濃度は上がる。しかし、細線βについては、図26(a)と同様、参照パターンは図7におけるパターン0とパターン15であり、細線の濃度は上がらない。つまり、このような入力画像の場合、濃い細線(α)と濃くない細線(β)が交互に繰り返して出現する出力画像が得られることになる。つまり、同じ画素値の細線であるにも関わらず、濃度にむらが出てしまうという問題が生じることになる。
図27は、図23で示した2画素幅の細線を含む入力画像に対して、本実施例を適用した場合における処理領域の位置を示した図である。図27(a)及び(b)において、黒のマスは注目画素を示し、円2701は処理領域の外郭を示す。本実施例では、注目画素を1画素ずつずらしながら、円2701で示される処理領域内での最小閾値と注目画素の閾値とを比較して新閾値を決定していくため、上述したような細線の座標位置による位相差の問題は発生し得ないことがわかる。
上記のように他の画素の閾値を利用することによりオンドットを増やし、細線の途切れを減少させることができる。
以上のように本実施例では、位相による濃度上昇のむらを防ぎつつ、細線の濃度を確率的に上げ、細線の再現性を向上させることが可能である。また、他の実施例と同じく、処理領域内に閾値提供可能な画素が無いような大きなオブジェクトについては影響を与えない。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (30)

  1. 入力画像をハーフトーン画像に変換する画像処理装置において、
    値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
    前記入力画像の所定領域に含まれる各画素に対応する前記閾値マトリクスの閾値のうち、書き換える閾値に対応する画素位置の候補を決定する画素位置決定手段と、
    前記所定領域に含まれる各画素の画素位置に対応する閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定手段により候補と決定された少なくとも1つの画素位置に対応する閾値を書き換える閾値決定手段と、
    を有し、
    前記閾値決定手段は、前記所定領域に含まれる各画素のうち少なくとも1画素の画素位置に対応する閾値の書き換えは行わない
    ことを特徴とする画像処理装置。
  2. 前記閾値決定手段は、前記候補と決定された画素位置に対応する閾値を、前記候補と決定された画素位置以外の画素に対応する閾値の値に書き換えることを特徴とする請求項1に記載の画像処理装置。
  3. 前記画素位置決定手段は、前記所定領域において所定値より大きい画素値をもつ画素のうち、前記閾値マトリクスの閾値の中で書き換える閾値に対応する画素位置の候補を決定することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記画素位置決定手段は、前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定することを特徴とする請求項1乃至3の何れか一項に記載の画像処理装置。
  5. 前記画素位置決定手段は、画素値が所定の値以下である画素を、閾値を提供可能な画素と判定することを特徴とする請求項4に記載の画像処理装置。
  6. 前記閾値決定手段は、前記閾値提供可能と判定された画素の閾値が前記画素位置決定手段により候補と決定された画素位置の閾値より小さい場合に、前記閾値提供可能と判定された画素の閾値を前記画素位置決定手段により候補と決定された画素位置の新たな閾値として決定することを特徴とする請求項4に記載の画像処理装置。
  7. 前記閾値決定手段は、前記閾値提供可能と判定された画素の閾値に係数を掛けた値が前記画素位置決定手段により候補と決定された画素位置の閾値より小さい場合に、前記閾値提供可能と判定された画素の閾値に係数を掛けた値を前記画素位置決定手段により候補と決定された画素位置の新たな閾値として決定することを特徴とする請求項4に記載の画像処理装置。
  8. 前記係数は、前記各画素と前記閾値提供可能と判定された画素との距離に基づいて決定されることを特徴とする請求項7に記載の画像処理装置。
  9. 前記閾値決定手段は、前記各画素が、前記入力画像内の線を構成する画素である場合に、前記画素位置決定手段により候補と決定された画素位置の新たな閾値を決定することを特徴とする請求項4に記載の画像処理装置。
  10. 前記入力画像の各画素が線を構成する画素であるか否かを示す情報を取得する手段を更に備え、
    取得した前記情報により、前記画素位置決定手段により候補と決定された画素位置の画素が、前記線を構成する画素であるかどうかが特定されることを特徴とする請求項9に記載の画像処理装置。
  11. 前記変換が多値を出力する変換である場合、当該多値のうちの任意の値を設定し、
    前記閾値決定手段は、前記画素位置決定手段により候補と決定された画素位置の画素が、設定された前記任意の値以下の画素である場合に、前記画素位置決定手段により候補と決定された画素位置の新たな閾値を決定する
    ことを特徴とする請求項1に記載の画像処理装置。
  12. 前記閾値マトリクスは、当該閾値マトリクスよりも小さいサブマトリクスを用いて作成された閾値マトリクスであることを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。
  13. 前記サブマトリクスのサイズは、前記所定領域と同サイズであることを特徴とする請求項12に記載の画像処理装置。
  14. 前記所定領域は、同じ画素が複数の所定領域に跨って属さないように設定されることを特徴とする請求項1乃至13の何れか一項に記載の画像処理装置。
  15. 前記閾値マトリクスは、ブルーノイズ特性を持つことを特徴とする請求項1乃至14のいずれか1項に記載の画像処理装置。
  16. 前記画素位置決定手段は、前記入力画像における第1の領域の中の当該第1の領域よりも小さい第2の領域が、閾値を提供可能な領域かどうかを判定する判定手段をさらに備え、
    前記閾値決定手段は、
    前記判定手段の判定結果に従い、前記第1の領域を前記所定領域として前記画素位置決定手段により候補と決定された画素位置の新たな閾値を仮に決定する手段と、
    前記仮に決定された新たな閾値を反映した閾値マトリクスを用いて、前記第2の領域を前記所定領域として、前記画素位置決定手段により候補と決定された画素位置の新たな閾値を決定する手段と、
    を備える
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  17. 前記画素位置決定手段は、前記所定領域における白画素でない非白画素のうち、対応する閾値に基づいて、閾値を書き換える画素位置の候補を決定し、
    前記閾値決定手段はさらに、
    前記所定領域における白画素に対応する閾値を参照し、最小閾値を抽出する第一の抽出手段と、
    前記第一の抽出手段によって抽出された所定領域内の白画素に対応する最小閾値と、前記画素位置決定手段により候補として決定された画素位置に対応する閾値とを比較し、比較結果に応じて、前記画素位置決定手段により候補として決定された画素位置に対応する閾値を、前記第一の抽出手段によって抽出された所定領域内の白画素に対応する最小閾値に基づいて書き換える書換手段と
    を備えることを特徴とする請求項1に記載の画像処理装置。
  18. 前記画素位置決定手段は、前記所定領域に含まれる各画素の画素値に基づいて、書き換える閾値に対応する画素位置の候補を決定することを特徴とする請求項1乃至17の何れか一項に記載の画像処理装置。
  19. 前記画素位置決定手段は、提供可能な画素と判定された画素の画素位置と提供できないと判定された画素の画素位置のパターンに基づいて、書き換える閾値に対応する画素位置の候補を決定することを特徴とする請求項4に記載の画像処理装置。
  20. 前記画素位置決定手段は、提供可能な画素と判定された画素に対応する閾値のうち最小値が、提供不可能な画素と判定された画素に対応する閾値のうち最小値よりも小さい場合、前記提供可能な画素と判定された前記画素の位置を、書き換える閾値に対応する画素位置の候補に決定することを特徴とする請求項4に記載の画像処理装置。
  21. 前記画素位置決定手段は、前記所定領域における各画素が白画素である場合に、提供可能な画素であると判定することを特徴とする請求項4に記載の画像処理装置。
  22. 前記画素位置決定手段は、前記所定領域における各画素のうち、画素値が0の画素を白画素とみなすことを特徴とする請求項21に記載の画像処理装置。
  23. 入力画像に対し、量子化することによりハーフトーン画像を生成する画像処理装置において、
    値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
    前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定手段と、
    前記所定領域に対応する複数の閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定手段により候補と決定された画素位置の閾値を決定する閾値決定手段と、
    を有し、
    前記画素位置決定手段は、前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定し、提供可能な画素と判定された画素の位置と提供できないと判定された画素の位置のパターンに基づいて、閾値を書き換える画素位置の候補を決定する
    ことを特徴とする画像処理装置。
  24. 入力画像に対し、量子化することによりハーフトーン画像を生成する画像処理装置において、
    値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
    前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定手段と、
    前記所定領域に対応する複数の閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定手段により候補と決定された画素位置の閾値を決定する閾値決定手段と、
    を有し、
    前記画素位置決定手段は、
    前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定し、提供可能な画素と判定された画素の位置と提供できないと判定された画素の位置のパターンに基づいて、閾値を書き換える画素位置の候補を決定する
    前記判定においては、画素値が所定の値以下である画素を、閾値を提供可能な画素と判定する
    ことを特徴とする画像処理装置。
  25. 入力画像に対し、量子化することによりハーフトーン画像を生成する画像処理装置において、
    値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
    前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定手段と、
    前記所定領域に対応する複数の閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定手段により候補と決定された画素位置の閾値を決定する閾値決定手段と、
    を有し、
    前記画素位置決定手段は、前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定し、提供可能な画素と判定された画素の位置と提供できないと判定された画素の位置のパターンに基づいて、閾値を書き換える画素位置の候補を決定し、
    前記閾値決定手段は、前記閾値提供可能と判定された画素の閾値が前記画素位置決定手段により候補と決定された画素位置の閾値より小さい場合に、前記閾値提供可能と判定された画素の閾値を前記画素位置決定手段により候補と決定された画素位置の新たな閾値として決定する
    ことを特徴とする画像処理装置。
  26. 入力画像に対し、量子化することによりハーフトーン画像を生成する画像処理装置において、
    値の異なる閾値が配列された閾値マトリクスを保持する保持手段と、
    前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定手段と、
    前記所定領域に対応する複数の閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定手段により候補と決定された画素位置の閾値を決定する閾値決定手段と、
    を有し、
    前記画素位置決定手段は、前記入力画像における第1の領域の中の当該第1の領域よりも小さい第2の領域が、閾値を提供可能な領域かどうかを判定する判定手段をさらに備え、
    前記閾値決定手段は、
    前記判定手段の判定結果に従い、前記第1の領域を前記所定領域として前記画素位置決定手段により候補と決定された画素位置の新たな閾値を仮に決定する手段と、
    前記仮に決定された新たな閾値を反映した閾値マトリクスを用いて、前記第2の領域を前記所定領域として、前記画素位置決定手段により候補と決定された画素位置の新たな閾値を決定する手段と、
    を備える
    ことを特徴とする画像処理装置。
  27. 入力画像に対し、値の異なる閾値が配列された閾値マトリクスを用いてハーフトーン画像に変換する画像処理方法において、
    前記入力画像の所定領域に含まれる各画素に対応する前記閾値マトリクスの閾値のうち、書き換える閾値に対応する画素位置の候補を決定する画素位置決定ステップと、
    前記所定領域に含まれる各画素の画素位置に対応する閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定ステップで候補と決定された少なくとも1つの画素位置に対応する閾値を書き換える閾値決定ステップと、
    を含み、
    前記閾値決定ステップでは、前記所定領域に含まれる各画素のうち少なくとも1画素の画素位置に対応する閾値の書き換えは行わない
    ことを特徴とする画像処理方法。
  28. 入力画像に対し、値の異なる閾値が配列された閾値マトリクスを用いて量子化することによりハーフトーン画像を生成する画像処理方法において、
    前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定ステップと、
    前記所定領域に対応する複数の閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定ステップで候補と決定された画素位置の閾値を決定する閾値決定ステップと、
    を含み、
    前記画素位置決定ステップでは、前記所定領域における各画素が、割り当てられる閾値を他の画素に提供可能な画素かどうかを判定し、提供可能な画素と判定された画素の位置と提供できないと判定された画素の位置のパターンに基づいて、閾値を書き換える画素位置の候補を決定する
    ことを特徴とする画像処理方法。
  29. 入力画像に対し、値の異なる閾値が配列された閾値マトリクスを用いて量子化することによりハーフトーン画像を生成する画像処理方法において、
    前記入力画像における所定領域について、前記所定領域に含まれる複数の画素の各画素値に基づいて、閾値を書き換える画素位置の候補を決定する画素位置決定ステップと、
    前記所定領域に対応する複数の閾値のうち少なくとも1つの閾値を用いて、前記画素位置決定ステップで候補と決定された画素位置の閾値を決定する閾値決定ステップと、
    を含み、
    前記画素位置決定ステップは、前記入力画像における第1の領域の中の当該第1の領域よりも小さい第2の領域が、閾値を提供可能な領域かどうかを判定する判定ステップをさらに含み、
    前記閾値決定ステップは、
    前記判定ステップでの判定結果に従い、前記第1の領域を前記所定領域として前記画素位置決定ステップで候補と決定された画素位置の新たな閾値を仮に決定するステップと、
    前記仮に決定された新たな閾値を反映した閾値マトリクスを用いて、前記第2の領域を前記所定領域として、前記画素位置決定ステップで候補と決定された画素位置の新たな閾値を決定するステップと、
    をさらに含む
    ことを特徴とする画像処理方法。
  30. コンピュータを、請求項1乃至26のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
JP2014136278A 2014-07-01 2014-07-01 画像処理装置、画像処理方法及びプログラム Active JP6525518B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014136278A JP6525518B2 (ja) 2014-07-01 2014-07-01 画像処理装置、画像処理方法及びプログラム
EP20186012.9A EP3754962B1 (en) 2014-07-01 2015-06-18 Image processing apparatus, image processing method, printing medium and storage medium
EP15001813.3A EP2963908B1 (en) 2014-07-01 2015-06-18 Image processing apparatus, image processing method and storage medium
US14/750,128 US10043118B2 (en) 2014-07-01 2015-06-25 Image processing apparatus, image processing method, printing medium and storage medium
CN201510379810.7A CN105323415B (zh) 2014-07-01 2015-07-01 图像处理装置、图像处理方法及打印介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014136278A JP6525518B2 (ja) 2014-07-01 2014-07-01 画像処理装置、画像処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2016015596A JP2016015596A (ja) 2016-01-28
JP2016015596A5 JP2016015596A5 (ja) 2017-08-10
JP6525518B2 true JP6525518B2 (ja) 2019-06-05

Family

ID=55231491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014136278A Active JP6525518B2 (ja) 2014-07-01 2014-07-01 画像処理装置、画像処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6525518B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6628764B2 (ja) 2017-05-12 2020-01-15 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6659174B2 (ja) * 2017-05-12 2020-03-04 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11345327A (ja) * 1998-06-01 1999-12-14 Canon Inc 画像処理方法及び装置
JP4173154B2 (ja) * 2005-04-26 2008-10-29 シャープ株式会社 画像処理方法、画像処理装置、画像形成装置、コンピュータプログラム及び記録媒体
JP4169054B2 (ja) * 2006-07-12 2008-10-22 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理方法及びプログラム
JP2012157998A (ja) * 2011-01-31 2012-08-23 Seiko Epson Corp 印刷システムおよび印刷方法
JP2012182651A (ja) * 2011-03-01 2012-09-20 Canon Inc 画像処理装置及びその制御方法

Also Published As

Publication number Publication date
JP2016015596A (ja) 2016-01-28

Similar Documents

Publication Publication Date Title
US10043118B2 (en) Image processing apparatus, image processing method, printing medium and storage medium
US11321596B2 (en) Image processing apparatus, image processing method, and storage medium for generating quantized data for forming an image on a print medium
US9106863B2 (en) Image processing apparatus and control method thereof
JP4605782B2 (ja) デュアルハーフトーンを用いるレーザプリント装置
JP2015164795A (ja) 画像処理装置、画像形成装置、画像処理方法及びプログラム
US10506134B2 (en) Apparatus, method, and program for processing image
JP6029305B2 (ja) 画像処理装置およびその制御方法
US20060285167A1 (en) Image processing method and a recording medium storing image processing program
JP2015216455A (ja) 画像処理装置、画像処理方法及びプログラム。
JP2013198153A (ja) エコノミ印刷モードで画質を維持するための方法及びシステム
US8687237B2 (en) Image processing method and apparatus that changes pixel value of pixel of interest when trapping processing is determined
JP4296999B2 (ja) 複数画素ずつ多値化を行いながら画像を出力する画像出力システム
JP6525518B2 (ja) 画像処理装置、画像処理方法及びプログラム
KR100510132B1 (ko) 컬러 영상의 이진화 장치 및 방법, 이에 사용되는 마스크생성장치 및 방법
US20220358777A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium storing program
JP2016127479A (ja) 画像処理装置、画像形成装置、画像処理方法及びプログラム
US20130194593A1 (en) Image processing apparatus and image processing method
EP2299690B1 (en) Print controller
JP2005053147A (ja) インクジェット印刷のためのエッジ処理
JP7434502B2 (ja) 画像処理装置、画像処理方法、プログラム
JP6628764B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2013102299A (ja) 画像処理装置及び画像処理方法
JP2005295131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2009135637A (ja) 画像処理装置、画像処理方法及びプログラム
CN113660387A (zh) 图像处理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190507

R151 Written notification of patent or utility model registration

Ref document number: 6525518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151