JP7000133B2 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP7000133B2
JP7000133B2 JP2017225482A JP2017225482A JP7000133B2 JP 7000133 B2 JP7000133 B2 JP 7000133B2 JP 2017225482 A JP2017225482 A JP 2017225482A JP 2017225482 A JP2017225482 A JP 2017225482A JP 7000133 B2 JP7000133 B2 JP 7000133B2
Authority
JP
Japan
Prior art keywords
pixel
class
value
dots
image processing
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
JP2017225482A
Other languages
English (en)
Other versions
JP2019097051A5 (ja
JP2019097051A (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 JP2017225482A priority Critical patent/JP7000133B2/ja
Publication of JP2019097051A publication Critical patent/JP2019097051A/ja
Publication of JP2019097051A5 publication Critical patent/JP2019097051A5/ja
Application granted granted Critical
Publication of JP7000133B2 publication Critical patent/JP7000133B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Color, Gradation (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

本発明は、入力画像をハーフトーン画像に変換する画像処理方法に関する。
デジタル画像データが表す画像における各画素は、8ビットや16ビットの多階調で表現されるものが一般的である。これらのデジタル画像データをプリンタで印刷する場合、プリンタで印刷可能な階調数に削減しつつ、元の階調を疑似的に表現するために、デジタル画像データに対してハーフトーン処理が施される。ハーフトーン処理の一種にディザ処理と呼ばれるものがある。このディザ処理は、複数の閾値が配置された閾値マトリクスを用いて、画素と対応する閾値を比較して、階調数を低減する処理である。閾値マトリクスは、画素値が一様な平坦画像が入力されたときに、印刷装置が表現しやすいドットパターンとなるように閾値の配置が決められている。しかしながら、入力画像における各画素と閾値マトリクスの各閾値を比較すると、入力画像における画素値の分布と閾値マトリクスの有する空間周波数が干渉して折り返し成分を生じさせることで、モアレ(干渉縞)が発生してしまう場合がある。
特許文献1は、閾値マトリクスと形状が一致する画素群(セル)内の入力階調値の平均値に応じた理想出力合計値を生成し、理想出力合計値に達するまでセル内の重心から出力階調値を割り当てる方法を開示している。
特開2007-194904号公報
特許文献1に記載の方法では、常にセル内の重心から出力階調値の生成を繰り返すため、入力画像の鮮鋭性を維持できない場合があった。このように従来の閾値マトリクスを用いたディザ処理では、入力画像の鮮鋭性とモアレの抑制とを両立することは難しい。
本発明は、モアレの発生を抑制しつつ、入力画像の鮮鋭性を維持されたハーフトーン画像を得ることを目的とする。
上記課題を解決するために、本発明に係る画像処理装置は、入力画像において処理対象とする画素群について、前記画素群に含まれる各画素の画素値に基づいて、1つの目標値を決定する目標値決定手段と、前記画素群に含まれる各画素の画素値に基づいて、前記各画素が属するクラスを複数のクラスから決定するクラス決定手段と、前記画素群に含まれる各画素に対応する閾値に基づいて、前記各画素の順位を決定する順位決定手段と、前記決定された目標値と前記決定されたクラスと前記決定された順位とに基づいて、前記画素群に含まれる各画素の出力値を決定する出力値決定手段と、を有することを特徴とする。
本発明によれば、所定の画素群において閾値マトリクスと各画素の画素値とに基づいてドットを分配することにより、モアレの抑制と入力画像の鮮鋭性維持を両立したハーフトーン画像を生成することができる。
画像処理装置の構成例を示すブロック図 画像処理部の構成例を示すブロック図 画像処理部が実行する処理の動作を示すフローチャート 入力画像と処理単位を説明する図 閾値マトリクスを示す図 目標値決定方法を説明する図 画素順位決定結果を示す図 クラス決定方法を説明する図 出力階調値の分配結果を示す図 画像処理部の構成例を示すブロック図 画像処理部が実行する処理の動作を示すフローチャート クラス決定方法を説明する図 出力階調値の分配結果を示す図 出力値決定方法を説明する図 画像処理部が実行する処理の動作を示すフローチャート
以下、添付の図面を参照して、本発明を好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に必ずしも限定されるものではない。
<実施形態1>
(画像処理装置の構成)
実施形態1では、各画素256値(8ビット)からなる入力画像を各画素16値(4ビット)の出力画像に変換するハーフトーン処理を実行する画像処理装置を例に説明する。本実施形態においては、入力画像において4画素×4画素のブロックごとにハーフトーン処理を行う。また画像処理装置は、プリンタドライバがインストールされたパーソナルコンピュータに相当する。画像処理装置は、ハーフトーン処理により得られる出力画像を印刷装置に出力する。図1は、実施形態1における画像処理装置の構成例を示すブロック図である。画像処理装置は、CPU100、RAM101、ROM102、操作部103、表示部104、画像処理部105、I/F(インターフェース)部106、バス107を備える。CPU100は、RAM101やROM102に格納されているコンピュータプログラムやデータを用いて、画像処理装置全体の動作制御をおこなう。RAM101は、I/F部106を介して外部の記憶装置からロードされたコンピュータプログラムやデータを一時的に記憶するための記憶領域を有する。
また、CPU100が各種の処理を実行する際に用いる記憶領域や画像処理部105が画像処理を実施する際に用いる記憶領域を有する。すなわち、RAM101は、各種の記憶領域を適宜提供することができる。ROM102は、本装置の設定データやブートプログラムなどが格納されている。
操作部103は、キーボードやマウスなどの入力装置により構成されており、画像処理装置の操作者が各種の指示をCPU100に対して入力することができる。表示部104は、CRTや液晶画面などにより構成されており、CPU100による処理結果を画像や文字などで表示することができる。
画像処理部105は、コンピュータプログラムを実行可能なプロセッサや専用の画像処理回路から構成され、各種の画像処理を実施する。例えば、CPU100から画像処理を実行する命令を受け付けると、RAM101に格納された入力画像に対してハーフトーン処理し、処理結果を出力する。また、画像処理の際には、RAM101の記憶領域を利用しながら処理を実施する。
I/F部106は、外部記憶装置やインターネットに本装置を接続するためのインターフェースとして機能するものである。本装置では、I/F部106を介して、外部記憶装置に格納されるCPU100に処理させるプログラムや画像データ、画像処理パラメータなどを適宜RAM101にロードする。上記の各部はいずれも、バス107に接続されている。
(画像処理部105の構成)
図2は、画像処理部105の詳細な論理構成を示すブロック図である。画像処理部105は、画素値取得部200、閾値取得部201、目標値決定部202、画素順位決定部203、クラス決定部204、出力値決定部205を有する。画素値取得部200は、RAM101に格納された入力画像から、ハーフトーン処理を実施する処理単位となるブロックごとに、ブロックに含まれる画素群の画素値を取得する。本実施形態においては、図4に示すような各画素の画素値が8ビットである入力画像400から縦4画素、横4画素の画素群401を処理単位(ブロック)とする。
閾値取得部201は、RAM101に格納された閾値群からハーフトーン処理を実施するブロック単位に合せたサイズの閾値群を取得する。図5は、本実施形態において用いる閾値群を示す図である。閾値群に示される数値はそれぞれ、閾値の値そのものである。図5に示す閾値群は、13の閾値を1組とするドット集中型の閾値マトリクス(破線で図示)である。閾値マトリクスが、入力画像全体に対応するように繰り返し敷き詰められている。図5に示す閾値群は、閾値の値がより小さい方がドット配置される確率が高くなる。このような閾値のうち、画素値取得部200で取得した画素群に対応するブロック単位の閾値群(実線で図示)を取得する。ブロック単位と閾値マトリクスについては、夫々の形状について、ここで図示する例に限定されない。図5に示すような周期的な閾値パターンは、必ずしもRAM101から読み出す必要はなく、Holladayのハーフトーン方法として知られる方法によって生成することも可能である。
目標値決定部202は、画素値取得部200及び閾値取得部201で取得したブロック単位の画素群及び閾値群に基づいて、処理対象のブロックの目標値を算出する。ブロックの目標値とは、ブロックにおける各画素の出力値合計の目標である。ブロックごとの目標値の算出方法は後述する。
画素順位決定部203は、ブロックにおける各画素について、ドットを配置が優先される順番である画素順位を付与する。本実施形態では、閾値取得部201で取得した閾値群に基づいて、画素順位を決定する。即ち、画素に対応する閾値が他の画素よりも小さい画素は、ドットを配置される確率が高い画素であることを意味する。従って対応する閾値が小さい画素は、画素順位を高くする。なお、本実施形態では、ブロックに対応する閾値群を、画素順位決定のための評価指標としたが、これに限られるものではない。例えば、エッジ強度などの入力画像における特徴量や印刷装置の特性に合せて予め決められたドット配置順としても良い。
クラス決定部204は、処理対象のブロックにおける各画素の画素値に応じて入力画像における画素値範囲を分割することにより画素値範囲を複数のクラスに分類し、画素毎に分類されたクラス順位を決定する。
出力値決定部205は、画素順位決定部203及びクラス決定部204が決定した画素順位及びクラス順位に応じて、ブロック内の画素にドットを分配する。
出力値決定部205は、ブロックにおける各画素の出力値の合計が、目標値決定部202が算出したブロックの目標値に達するように、ドットを分配する。本実施形態では、より高位なクラス順位を有する画素に出力値を分配した後に、低位なクラス順位を有する画素に出力値を分配していく。また、同位のクラス順位となった画素間の分配順は画素順位によって決定する。
(画像処理部の動作説明)
画像処理部105が実行する画像処理の動作を説明する。図3は、画像処理部105が実行する処理のフローチャートである。本実施形態においては、図3に示したフローチャートを実現可能なプログラムをCPU100が読み出して実行することにより、処理を実現する。なお、以下の説明において、フローチャートの各ステップ(工程)を「S」を用いて表すこととする。
処理をスタートすると、まず、S300において画素値取得部200は、RAM101から画素データを取得する。画素データを一つ取得すると、S301において、処理対象のブロックに含まれる画素群の画素データが全て揃ったかどうかを判定する。画素群の画素データが揃わない場合には、S300に戻り、画素データの取得を繰り返す。本実施形態では、図4に示すような8ビットの入力画像400に対して、4画素×4画素の画素群401で示すブロック単位にハーフトーン処理をおこなう。そのため、S301において画素値取得部200は、4画素×4画素のブロックの画素群の画素データが揃ったか否かを判定する。所望の画素群のデータが揃った場合には、次のステップに進む。
また、上記のS300及びS301と並行して、S302において閾値取得部201は閾値データを取得する。閾値データを一つ取得すると、S303において閾値取得部201は、処理対象のブロックに対応する閾値群の閾値データが全て揃ったかどうかを判定する。閾値群のデータが揃わない場合には、S302に戻り、閾値データの取得を繰り返す。本実施形態では、図5に示す閾値マトリクスから、処理単位である4画素×4画素のブロックごとに閾値群を取得する。なお上記の画素データの取得と閾値群データの取得に関わるステップは、互いに依存関係を持たない処理であるため、逐次的に処理する場合にも、その実行順については考慮しなくてよい。
S304において目標値決定部202は、処理対象のブロックにおける各画素の出力値の合計の目標値を算出する。本実施形態では、目標値決定部202は、ブロックに含まれる画素群の画素値の平均値を、各画素に対応する閾値によってディザ処理した結果の集計を目標値として算出する。本実施形態における目標値決定方法を、図6を用いて説明する。
図6(a)は、目標値決定処理を説明する図である。まず、ブロックの画素群について画素値の平均値を算出する。次に、算出した平均値をブロックに対応する閾値群の各閾値を用いて量子化し、各量子化結果を積算していくことで目標値を算出する。量子化の方法としては図6(b)に示す。本実施形態では、図5に示すような13個の閾値を1つの組として構成した閾値マトリクスを使用する。また、閾値の値が小さい値であるほど、量子化結果が大きくなる可能性を高めている。ブロックにおける画素値の平均値を大きくしていくと、閾値群において閾値0の画素から量子化結果が徐々に大きい値になる。閾値0の画素の量子化結果が最大の量子化結果15となった後は、閾値群において閾値1に対応する画素の量子化結果を大きくするという量子化方法となっている。この量子化方法と閾値の配置により、図5に示す閾値マトリクスを用いるとドット集中型のディザ処理が可能となる。ディザ処理は、閾値マトリクスに対応する領域毎に少ない出力階調数で疑似的に階調を表現する手法であり、閾値マトリクスにおいて閾値が確率的に変動する。そのためブロックにおける画素値が変動すると、閾値の配置と干渉してしまい、閾値マトリクスを用いてディザ処理した結果、本来画素群が表すべき目標の階調を得られない場合がある。そこで処理対象をブロックの平均値に対して、各閾値とのディザ処理を実施することで、良好な目標値を算出することができる。
S305において画素順位決定部203は、ブロックに含まれる各画素について、ドットを分配する優先順位を示す画素順位を決定する。本実施形態では、画素順位決定部203は、処理対象のブロックに対応する閾値の値が小さい順を画素順位とする。具体的には、閾値0に対応する画素は、最もドットの分配順が高い画素順位0を設定する。一方、閾値群において最大値である閾値12に対応する画素は、最もドットの分配順が低い画素順位12を設定する。画素順位は、ブロックにおいて順位が重複する場合があっても良い。図7に示すのは、処理対象とするブロックに対応する閾値群を、図5の左上ブロックの閾値群とした場合の画素順位である。
S306においてクラス決定部204は、ブロックにおける各画素の画素値の大きさに基づいて、画素を複数のクラスに分類し、各クラスのクラス順位を決定する。クラス順位を決定する方法を、図8を用いて説明する。図8(a)に示すのは、処理対象のブロックに含まれる画素群である。図8(b)は、画素位置a~pそれぞれの画素値を示すグラフである。横軸は各画素位置、縦軸は画素値を示す。クラス決定部204は、画素群をクラスに分類するために、まずブロックに含まれる画素の画素値の平均値を算出する。このブロックの平均値を基準値とし、基準値に応じて画素値範囲を分割することでクラス分類する。本実施形態において各クラスは、所定の範囲(図中で2Rの範囲)を用いて分類されている。まず、(基準値-R)から(基準値+R)を1つのクラスとする。さらにクラスの境界から2R毎にクラスを分類する。図8(b)に示すように、基準値に基づいて2Rの画素値範囲毎に、画素値が高い方からクラス0、クラス1、クラス2、クラス3、クラス4と分類する。例えば画素値aとiは、クラス0に分類される。このようなクラス分けに応じて、各画素を分類すると、図8(c)に示すようなクラス順位を得ることができる。
なお、クラス分類するための基準値は、ブロック平均値に限定されるわけではない。例えば、画素群の画素値の中央値としても良いし、最大値や最小値としても良い。更に、ブロック内の画素値に応じて基準値を設定するのではなく、予め入力階調の画素値の範囲をクラス分けしておき、ブロックにおける各画素の画素値に応じて、クラス分類を決定しても良い。
S307において出力値決定部205は、画素順位及びクラス順位に基づいて、ブロックにおけるどの画素にドットを分配するかを決定し、各画素の出力値を決定する。本実施形態では、まずクラス順位からドットを分配候補となる画素候補を選択する。図8(c)に示すクラス順位である場合、画素位置a及び画素位置iが最も優先度の高いクラス順位0となっている。つまり画素位置a及び画素位置iがドットを分配する画素候補として選択される。出力値決定部205はさらに、このクラス順位が同位である2つの画素に対して、図7に示す画素順位を参照する。画素位置aは画素順位1であり、画素位置iは画素順位10である。そこで出力値決定部205は、クラス順位0で、画素順位の優先度の高い画素位置aを、1番目にドットを分配する画素として決定する。ドットの分配は、ブロックにおける各画素の出力値の合計が目標値に達するまで行われる。
従って、次にS307を処理する場合には出力値決定部205は、前回選ばれた画素位置aの画素を除いて、クラス順位0となる画素位置iをドット分配画素として決定する。更に続いて、S307を実行する場合には、出力値決定部205は、次点の優先度となるクラス順位1で同位となる画素位置b、画素位置l及び画素位置mをドット分配候補として選択する。クラス順位0の場合と同様に、図7に示す画素順位を参照して画素位置bをドット分配画素として選択する。以降、S307が実行される度に、画素位置l、m、p、f、c、k、n、o、g、d、j、e、hの順番でドット分配画素が決定される。なお、クラス順位も画素順位も同一となる画素位置に対しては、予め画素位置によって優先度を決めておいてもよいし、ランダムに画素順位を決定してもよい。
S308において出力値決定部205、選択されたドット分配画素の出力値を決定する。本実施形態では、ドットを分配する画素の出力値は、既にブロック内に分配済みの出力値合計とブロック目標値の差、もしくは最大出力値15のうち、小さい方とする。
S309において出力値決定部205は、処理対象のブロックにおけるドット分配済みの出力値の合計と、ブロックの目標値とを比較し、一致する場合にはS310に進む。一致しない場合にはS307に分岐する。S309において、処理ブロック内の出力値の合計とブロック目標値を一致させる。尚、S307において、分配画素として選択されなかった画素については、初期値(例えば、階調値0)が最終的に出力されることが望ましい。
S310において出力値決定部205は、画像における全ての画素について処理が終了したかどうかを判定し、終了していない場合には、確認済ブロックに対して上記の処理を繰り返す。以上により、処理を完了する。
図9に示すのは、本実施形態における画素順位(図7参照)とクラス順位(図8(c)参照)における各ブロック目標値の場合の分配結果である。ブロックの目標値が10の場合、最初にドットを分配する画素として決定される画素位置aに、目標値10と出力値との合計0との差分10が量子化値として分配される。他の画素にはドットは分配されず、出力値0が決定される。図9(b)に示すブロックの目標値が50の場合、画素位置a、i、bの3画素に量子化値の最大値15が出力値として決定される。ここで画素bは、クラス1に分類される画素の中で、画素順位が一番高い画素であるため、3番目にドットが分配される画素として決定されている。そして、クラス順位と画素順位に基づいて4番目にドットを分配する画素として決定された画素位置lには、目標値と、分配済の出力値の合計(出力値15×3画素=45)との差分である5が量子化値として決定される。4画素以外の画素は、ドットが分配されず、出力値は0となる。
図9(c)に示す目標値が100の場合は、クラス順位と画素順位に従って、画素位置a、i、l、m、p、fにドットが分配され、それぞれ量子化値の最大である15が出力値として決定される。また、画素位置cには、目標値と、分配済の出力値の合計(出力値15×6画素=90)との差分である10が量子化値として決定される。残り9画素は、ドットが分配されず、出力値は0となる。図9(d)に示す目標値が150の場合、クラス順位と画素順位に従って、10画素にドットが分配され、各出力値は15が決定される。残りの5画素にはドットが分配されず、出力値は0が決定される。
以上の通り本実施形態では、ブロックにおける画素値に基づいてクラス分類したクラス順位と、各画素が対応する閾値に基づいて各画素を個別に順位づけした画素順位に基づいて、ドットを分配する順序を決定した。画素値の範囲毎にクラス分類をしているため、画素値が大きいクラスに分類された画素から優先してドットを分配できる。その結果、ブロックにおける画素値の勾配や特徴を考慮して、ドットを分配することができ、鮮鋭性を維持することができる。また、1つのクラスにおいては、閾値に基づいて順位づけられているため、入力の画素値の変化と閾値マトリクスにおける閾値の変動が干渉しにくく、モアレ低減効果を得られる。これは、平坦部や緩やかなグラデーション部においては、プリンタ特性を考慮して定めた閾値マトリクスのドット配置そのものを実現でき、印刷時に安定的な濃度出力を可能とする。
特に、クラス分類における1クラスの範囲を決定する2Rの大きさを調整することで、鮮鋭性維持とモアレ低減効果の優先度を制御することができる。具体的には、1クラスの範囲2Rの大きさは、入力階調レンジを1つの閾値マトリクスを構成する閾値数で除した大きさとすると、モアレ低減効果と鮮鋭性維持が両立し、画質劣化のない出力画像を得ることができる。一方で、モアレ低減効果を際立たせた出力画像を得たい場合には、1クラスの範囲2Rを大きくすれば、画素間で同一のクラスとなる画素が増えるために、入力画素値が影響を及ぼさない画素順位によってドット配置が決まりやすくなり、モアレ低減効果が高まる。また、1クラスの範囲2Rを小さくすれば、ブロックにおける画素値の微小な変動に追随してクラス順位が変動するため、入力画像の鮮鋭性維持が容易となる。
なお、本実施形態では、図3に示すフローチャートを実現可能なプログラムを読み出して実行させることで画像処理を実現するソフトウェアを例に説明した。しかしながら、図2に示す構成の一部またはすべてを、専用の画像処理回路として実現することもできる。
また、実施形態1では、ブロックの目標値をブロックにおける各画素の画素値の平均に対するディザ処理により算出したが、他の方法を用いても良い。例えば、処理対象のブロックの各画素の画素値に対して、閾値を用いて量子化した結果を用いて目標値を算出してもよい。あるいは、ブロックにおける各画素の画素値の合計と、目標値とを対応づけたテーブルを作成しておき、テーブルを参照することでブロックにおける各画素の画素値の合計に応じた目標値を導出してもよい。
<実施形態2>
実施形態2では、ブロックにおける1画素にドットを分配する度に、処理対象のブロックのクラス分類を再実施することで、閾値マトリクスにより予め定められるドット配置をより多く出力する方法について説明する。なお、実施形態1と同一の構成については、同じ符号を付し、その説明を省略する。
図10は、実施形態2の画像処理部105の構成例を示すブロック図である。また、図11は画像処理部105の動作を示すフローチャートである。本実施形態のクラス決定部204は、出力値決定部205がドットを分配する画素を1つ選択すると、選択された分配画素の情報が出力値決定部205からクラス決定部204にフィードバックされ、ブロックのクラス順位を再決定する。これにより実施形態2では、1画素の出力値を決定するたびに、ドットの分配画素候補を決定する画素値の範囲を変更する。図11に示すフローチャートでは、S309でブロック目標値とブロック内の分配済みの出力値合計を比較し、一致しない場合の分岐先がS306のクラス順位決定となる。S306においてクラス決定部204は、残りの画素のうち次にドットを分配する画素を決定するにあたって、クラス分類を改めて設定する。
図12は、本実施形態のクラス決定の方法を説明する図である。図12(a)に示すブロックは、図8で説明した画素群と同一の画素群である。また、図12(b)に示す画素順位は、図7で示した画素順位と同一とする。一度目のクラス決定では、図12(c)に示すように、画素値をクラス分類のためのクラス評価値とし、ブロック内のクラス評価値の最大値を基準にクラス分類する。図12(c)では、画素位置aがクラス評価値の最大値であり、この最大クラス評価値から2Rの範囲をクラス0として設定する。そして、クラス0の範囲に存在するクラス評価値を有する画素を特定する。本実施形態の場合、クラス分類は分配画素を決定する度に実施されるため、クラス0の画素のみ特定すればよい。
このようにクラス0を設定すると、最初にクラス0として特定される画素は、画素位置a、i及びlとなる。S307において最初にドットを分配される画素は画素位置aとなり、画素位置aの出力値が決定される。画素位置aの出力値が決定されると、二度目のクラス決定では、一度目にドット分配画素に選択された画素位置aの情報がクラス分類決定部204にフィードバックされる。クラス分類決定部204は、処理対象のブロックにおいて画素位置aを除く画素のうち、最大クラス評価値に基づいて、再度クラス分類が実施される。ここでは、図12(d)に示すように画素位置iが最大クラス評価値となり、画素位置iのクラス評価値から2Rの範囲をクラス0として設定する。従って、画素位置b、i、l及びmがクラス0に分類される。このクラス0に含まれるドット分配画素の候補から分配画素として選択される画素は、画素順位が高い画素位置bとなる。画素位置bは、1度目のクラス分類ではクラス評価値が高くないためクラス0に分類されない。しかしなら、クラス決定を分配画素が決まる度に実施するために2度目のクラス分類では画素位置bがクラス0となる。クラス0の画素群においては画素順位に基づいて分配画素が選択されるため、予め閾値マトリクスの特性に応じたドット配置が出現しやすくなる。つまり、ドット集中型の閾値マトリクスを用いた場合、予め設計した所望のドット集中型のドットパターンを得られやすい。一方で、ブロックにおける各画素の画素値に基づいて分類されるクラスを優先的にドット分配するため、クラス評価値が大きくない画素はドットが分配される可能性は低く、鮮鋭性は維持される。図12(e)は、3度目のクラス分類であるが、画素位置bについても分類対象から除かれ、次のクラス0が決定される。最終的な出力結果を図13に示す。図9に示すものと比較して、画素順位、即ち閾値マトリクスの特性に応じたドット配置が出現しやすくなっていることが確認される。
以上のように、本実施形態では、クラス分類を分配画素が決定する度に更新する例を示した。これにより、閾値マトリクスが規定するドット配置が出現しやすくなる。例えば、電子写真方式の印刷装置は、ドット集中型の方が安定して画像を形成することができる。そのため鮮鋭性を維持しつつ、印刷装置に合わせて設計された閾値マトリクスの特性を反映したドットパターンを作成することで、印刷装置が出力する濃度の安定化を図ることができる。入力画像に閾値マトリクスと干渉する周波数成分が少ない場合には、特に有効な手法となる。
<実施形態3>
実施形態3では、クラスごとに分配するドット数を算出し、各クラスでドットを分配する方法について説明する。同クラス内には算出したドット数分のみドットを分配し、下位クラスにもドットを分配する。また、このとき実際にドットを分配した結果得られる出力値と同クラス内の画素値合計の差分を、下位クラスに伝播させる例についても説明する。本実施形態における画像処理装置の構成は、実施形態1及び実施形態2と同一の構成で実現可能であるため、その説明は省略する。
図14は、実施形態3における出力値決定方法を説明する図である。図15は、画像処理部105における処理の動作を示すフローチャートである。
本実施形態のフローチャートでは、S306において、各画素のクラス順位を決定した後、S1500において、クラス内分配ドット数を算出する。クラス内分配ドット数は、各クラスに所属する画素の画素値の合計を1ドットに相当する階調値で除した値とする。クラス内分配ドット数は、式(1)を用いて算出される。
(クラス内分配ドット数)=(クラス内合計値)÷(1ドットの入力階調相当の階調値)・・・(1)
ここで算出したクラス内分配ドット数と、クラス順位及び画素順位をもとに、S307において分配画素を決定する。例えば、最上位のクラス0からドットを分配する画素を決定していく。このとき、クラスの分配ドット数が2つで、既にドット2つ分の出力値をクラス0内の画素に分配している状態であれば、クラス0の画素は選択されず、下位クラスの画素を選択する。
選択された画素において、S308で画素出力値が決定された後、S309にて、ブロック目標値と既に分配済みの出力値の総和との比較が行われる。一致している場合は、次の処理ブロックに処理が進み、一致していなければ、S1501に進む。
S1501において、選択された分配画素のクラスにおいて既に分配された出力値の合計が、クラス内分配ドット数となったか否かの判定を行う。クラス内分配ドット数となっていない場合は、S307に分岐し、クラス内分配ドット数となった場合は、S1502に進む。
S1502において、式(2)によりクラス内分配ドット数を更新する。
(下位クラスへの伝播値)=(クラス内画素値合計)-(クラス内分配済み出力値合計)
(下位クラスのクラス内分配ドット数)=((クラス内画素値合計)+(下位クラスへの伝播値))÷(1ドット相当の階調値)・・・(2)
式(2)において、分配画素のクラスにおける画素値合計と、実際に分配済みの出力値合計の差分を算出し、算出した差分を下位クラスへの伝播値とする。下位クラスへの伝播値は、下位クラスの画素値合計に加算され、1ドット相当分の階調値で除算することで、下位クラスのクラス内分配ドット数を更新する。S1502において、クラス内分配ドット数を更新すると、S307に戻り、分配画素を決定する。
上記のように実施形態3では、クラス内で分配ドット数を算出し、このドット数まで分配を実施する。これによりクラス内という局所的な画素値範囲においても、入力画像の階調値が保存され、鮮鋭性維持の効果を優先できる。更に、クラス間における差分値を伝播させることで、クラスを跨って誤差が蓄積されることがなくなり、より入力画像の階調が保存されやすい。
なお、ブロックにおける画素の画素値の平均をブロックの目標値として算出した場合においては、上述した処理フローによって、クラス内分配ドットの合計がブロックの目標値に一致する分配が可能となる。しかしながら、ブロックにおける画素値の平均に対してディザ処理した結果をブロックの目標値と設定した場合や、ブロック平均に対して出力γ補正を行った場合などは、ブロックの目標値とクラス内分配ドット数の合計が一致するとは限らない。ブロック内の分配済みの出力値合計がブロック目標値に一致し、クラス内分配ドット数の合計に足りない場合には、S309において1ブロックの処理を完了させることができる。一方、ブロック内の分配済みの出力値合計がブロック目標値に足りず、全てのクラス内分配ドット数の合計に一致してしまった場合には、高優先度のクラスから順に未分配画素に出力値を再分配すればよい。
なお、分配ドット数の算出を簡便に実施するため、各クラスに所属する画素数に代表値を乗じた値を、クラス内の画素値合計として用いてもよい。この場合クラス代表値となるのは、クラス内の平均値や、クラスの中央値などが当たる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
200 画素値取得部
201 閾値取得部
202 目標値決定部
203 画素順位決定部
204 クラス決定部
205 出力値決定部

Claims (15)

  1. 入力画像において処理対象とする画素群について、前記画素群に含まれる各画素の画素値に基づいて、1つの目標値を決定する目標値決定手段と、
    前記画素群に含まれる各画素の画素値に基づいて、前記各画素が属するクラスを複数のクラスから決定するクラス決定手段と、
    前記画素群に含まれる各画素に対応する閾値に基づいて、前記各画素の順位を決定する順位決定手段と、
    前記決定された1つの目標値と前記決定されたクラスと前記決定された順位とに基づいて、前記画素群に含まれる各画素の出力値を決定する出力値決定手段と、
    を有することを特徴とする画像処理装置。
  2. 前記出力値決定手段は、前記目標値に相当するドット数のドットを分配することによって、前記出力値を決定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記出力値決定手段は、前記クラスに基づいて、前記画素群に含まれる画素のうちドットを分配する候補を選択し、前記順位に基づいて、ドットを分配する画素を前記候補から選択し、前記目標値に近づくように前記出力値を順次決定することを特徴とする請求項2に記載の画像処理装置。
  4. 前記クラス決定手段は、前記画素群に含まれる各画素の画素値に基づいて、前記入力画像における画素の画素値がとり得る範囲を、所定の画素値の範囲毎に分割することで複数のクラスを決定し、
    前記出力値決定手段は、前記複数のクラスのうち最も高い画素値の範囲であるクラスから順に前記候補を選択することを特徴とする請求項3に記載の画像処理装置。
  5. 前記出力値決定手段は、前記候補のうち、前記順位が高い順にドットを分配することを特徴とする請求項4に記載の画像処理装置。
  6. 前記クラス決定手段は、前記画素群に含まれる画素の画素値のうち、最大の画素値を基準とした画素値の範囲をクラスとして設定し、
    前記出力値決定手段は、前記クラスに分類される画素を前記候補として選択することを特徴とする請求項3に記載の画像処理装置。
  7. 前記クラス決定手段は、前記出力値決定手段がドットを分配する画素を決定する毎に、前記クラスに対応する画素値の範囲を更新することを特徴とする請求項6に記載の画像処理装置。
  8. 前記順位決定手段は、対応する閾値の値が小さい画素から対応する閾値の値が大きい画素の順に、前記順位を決定することを特徴とする請求項1乃至7の何れか一項に記載の画像処理装置。
  9. 前記クラス決定手段は、前記入力画像における画素の画素値が取り得る範囲を、所定の画素値の範囲毎に分割することで複数のクラスを決定し、
    前記出力値決定手段は、前記複数のクラスに含まれるクラス毎に分配するドット数を算出し、クラス毎にドットを分配する画素を前記順位に基づいて決定することを特徴とする請求項3に記載の画像処理装置。
  10. 前記出力値決定手段は、前記分配するドット数を、同じクラスに所属する画素数と該画素値とに基づいて算出することを特徴とする請求項に記載の画像処理装置。
  11. 前記出力値決定手段は、クラス内の画素の画素値の合計とドットを分配した結果得られる出力値の合計との差分を下位クラスに伝播し、前記下位クラスにおいては前記差分に基づいてクラス内の画素値の合計を補正して前記分配するドット数を算出することを特徴とする請求項または10に記載の画像処理装置。
  12. 前記出力値決定手段は、前記複数のクラスそれぞれについて前記分配するドット数までドットを分配した後に、前記分配するドット数と前記目標値との差分を、優先度の高いクラスに含まれるドットを分配されなかった画素に再分配することを特徴とする請求項乃至11の何れか一項に記載の画像処理装置。
  13. 前記目標値決定手段は、前記画素群において出力すべきドット数を表す目標値を決定することを特徴とする請求項1乃至12の何れか一項に記載の画像処理装置。
  14. コンピュータを請求項1乃至13のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
  15. 入力画像において処理対象とする画素群について、前記画素群に含まれる各画素の画素値に基づいて、1つの目標値を決定し、
    前記画素群に含まれる各画素の画素値に基づいて、前記各画素が属するクラスを複数のクラスから決定し、
    前記画素群に含まれる各画素に対応する閾値に基づいて、前記各画素の順位を決定し、
    前記決定された1つの目標値と前記決定されたクラスと前記決定された順位とに基づいて、前記画素群に含まれる各画素の出力値を決定することを特徴とする画像処理方法。
JP2017225482A 2017-11-24 2017-11-24 画像処理装置及び画像処理方法 Active JP7000133B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017225482A JP7000133B2 (ja) 2017-11-24 2017-11-24 画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017225482A JP7000133B2 (ja) 2017-11-24 2017-11-24 画像処理装置及び画像処理方法

Publications (3)

Publication Number Publication Date
JP2019097051A JP2019097051A (ja) 2019-06-20
JP2019097051A5 JP2019097051A5 (ja) 2020-12-24
JP7000133B2 true JP7000133B2 (ja) 2022-01-19

Family

ID=66972226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017225482A Active JP7000133B2 (ja) 2017-11-24 2017-11-24 画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP7000133B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016019111A (ja) 2014-07-07 2016-02-01 キヤノン株式会社 画像処理装置、その制御方法およびプログラム
JP2016039475A (ja) 2014-08-07 2016-03-22 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2017103562A (ja) 2015-11-30 2017-06-08 キヤノン株式会社 画像処理装置およびその制御方法、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016019111A (ja) 2014-07-07 2016-02-01 キヤノン株式会社 画像処理装置、その制御方法およびプログラム
JP2016039475A (ja) 2014-08-07 2016-03-22 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2017103562A (ja) 2015-11-30 2017-06-08 キヤノン株式会社 画像処理装置およびその制御方法、プログラム

Also Published As

Publication number Publication date
JP2019097051A (ja) 2019-06-20

Similar Documents

Publication Publication Date Title
EP2963908B1 (en) Image processing apparatus, image processing method and storage medium
US10534987B2 (en) Image processing apparatus image processing method and program
US10834288B2 (en) Generating image region dot data based on corrected number of dots and determined arrangement priority
US20170208211A1 (en) Image processing apparatus, image processing method, and storage medium
JP6884597B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP7000133B2 (ja) 画像処理装置及び画像処理方法
JP2017103562A (ja) 画像処理装置およびその制御方法、プログラム
US8139267B2 (en) Method, apparatus and program for creating a threshold value matrix
JP2013183240A (ja) 画像処理装置および画像処理プログラム
US8705131B2 (en) Bit mask generation system
JP2007019608A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US8031955B2 (en) Image processing apparatus, image processing method, medium storing program, and computer data signal
JP6632253B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP6190152B2 (ja) 画像処理装置及び画像処理方法
JP7250508B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2020102767A (ja) 画像処理装置、画像処理方法、及びプログラム
US10298812B2 (en) Halftone mask manufacturing method and halftone mask manufacturing system
JP7066562B2 (ja) 画像処理装置、画像処理方法及びプログラム
US20240037895A1 (en) Storage medium, image processing apparatus, and image processing method
JP6639076B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP6565711B2 (ja) 画像処理装置、画像形成装置及び閾値マトリクスの整形方法
JP3951953B2 (ja) 印刷装置、画像処理装置、印刷方法、画像処理方法及びプログラム
JP2004320374A (ja) 画像処理装置、画像処理方法、印刷装置、印刷方法及びプログラム
US20130136368A1 (en) Distribution evaluation apparatus and method, distribution determining apparatus and method, image processing apparatus and method, and computer readable medium
US20140340715A1 (en) Image processing apparatus, image processing method, and storage medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211020

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: 20211124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211223

R151 Written notification of patent or utility model registration

Ref document number: 7000133

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151