(57)【要約】【課題】簡易な方法でスクリーン処理（組織的ディザ法）を適切に補正し、良好なハーフトーン処理結果を得ること。【解決手段】入力画像データからエッジを検出し、注目画素がエッジ部分の画素か否かを示す判定データを出力するエッジ検出部１０１と、ガンマ変換処理部１０２と、スクリーン処理部１０３と、前記判定データに応じて、ガンマ変換画像データと、スクリーン画像データとのいずれかを選択的に出力する選択部１０４と、セル毎の選択データの総和を取って第１のセル内合計値を算出する第１のセル内合計算出部１０５と、セル毎の前記入力画像データの総和を取って第２のセル内合計値を算出する第２のセル内合計算出部１０６と、差分データを出力する減算部１０７と、前記差分データから画素毎の補正量を算出する正規化部１０８とを備えた画像処理装置が提供される。エッジ部分における補正量（絶対値）は、非エッジ部分における補正量（絶対値）よりも小さい。【選択図】図１
2015095713.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データにおいてエッジを構成する画素を検出し、注目画素がエッジ部分の画素であるか否かを示す判定データを出力するエッジ検出手段と、
前記入力画像データをガンマ変換処理するガンマ変換処理手段と、
前記入力画像データをスクリーン処理するスクリーン処理手段と、
前記判定データに応じて、画素毎にガンマ変換画像データまたはスクリーン画像データのうちいずれかを構成する画素値が決定されたデータを選択データとして出力する選択手段と、
前記スクリーン処理手段で用いられるセル毎の、前記選択データの総和を第１のセル内合計値として算出する第１のセル内合計算出手段と、
前記セル毎の前記入力画像データの総和を第２のセル内合計値として算出する第２のセル内合計算出手段と、
前記第１のセル内合計値と、前記第２のセル内合計値との差分を算出して差分データを出力する減算手段と、
前記差分データに基づいて画素毎の補正量を算出する正規化手段と
を備え、
前記正規化手段は、前記判定データに応じて、エッジ部分における補正量（絶対値）を非エッジ部分における補正量（絶対値）よりも小さくすることを特徴とする画像処理装置。
【請求項２】
前記正規化手段は、
注目画素がエッジ部分の画素である場合は、前記差分データを、セル面積（セル内の画素数）からセル内の白画素の画素数を減算した値で除算することで補正量を算出し、
注目画素が非エッジ部分の画素であり、エッジ部分の画素に隣接している場合は、前記差分データを、セル面積からセル内のエッジ部分の画素数及び白画素の画素数を減算した値で除算することで補正量を算出し、
注目画素が非エッジ部分の画素であり、エッジ部分の画素に隣接していない場合は、前記差分データを、セル面積からセル内の白画素の画素数を減算した値で除算することで補正量を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
入力画像データからエッジを検出し、注目画素がエッジ部分の画素であるか否かを示す判定データを出力するエッジ検出手段と、
前記入力画像データをスクリーン処理するスクリーン処理手段と、
前記判定データに応じて、前記入力画像データと、スクリーン画像データとのいずれかを選択し、選択データとして出力する選択手段と、
前記スクリーン処理手段で用いられるセル毎の、前記選択データの総和を取って第１のセル内合計値を算出する第１のセル内合計算出手段と、
前記セル毎の前記入力画像データの総和を取って第２のセル内合計値を算出する第２のセル内合計算出手段と、
前記第１のセル内合計値と、前記第２のセル内合計値との差分を算出して差分データを出力する減算手段と、
前記差分データから画素毎の補正量を算出する正規化手段と
を備え、
前記正規化手段は、前記判定データに応じて、エッジ部分における補正量（絶対値）を非エッジ部分における補正量（絶対値）よりも小さくすることを特徴とする画像処理装置。
【請求項４】
前記正規化手段は、
注目画素がエッジ部分の画素である場合は、前記差分データを、セル面積からセル内の白画素の画素数を減算した値の定数倍で除算することで補正量を算出し、
注目画素が非エッジ部分の画素である場合は、前記差分データを、セル面積からセル内の白画素の画素数を減算した値で除算することで補正量を算出することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
入力画像データから白画素境界を検出し、注目画素が白画素境界の画素であるか否かを示す判定データを出力する境界検出手段と、
前記入力画像データをガンマ変換処理するガンマ変換処理手段と、
前記入力画像データをスクリーン処理するスクリーン処理手段と、
前記判定データに応じて、ガンマ変換画像データと、スクリーン画像データとのいずれかを選択し、選択データとして出力する選択手段と、
前記スクリーン処理手段で用いられるセル毎の、前記選択データの総和を取って第１のセル内合計値を算出する第１のセル内合計算出手段と、
前記セル毎の前記入力画像データの総和を取って第２のセル内合計値を算出する第２のセル内合計算出手段と、
前記第１のセル内合計値と、前記第２のセル内合計値との差分を算出して差分データを出力する減算手段と、
前記差分データから画素毎の補正量を算出する正規化手段と
を備え、
前記正規化手段は、前記判定データに応じて、白画素境界における補正量（絶対値）を非白画素境界における補正量（絶対値）よりも小さくすることを特徴とする画像処理装置。
【請求項６】
前記正規化手段は
注目画素が白画素境界の画素である場合は、前記差分データを、セル面積（セル内の画素数）からセル内の白画素の画素数を減算した値で除算することで補正量を算出し、
注目画素が非白画素境界の画素であり、白画素境界の画素に隣接している場合は、前記差分データを、セル面積からセル内の白画素の画素数及び白画素境界の画素数を減算した値で除算することで補正量を算出し、
注目画素が非白画素境界の画素であり、白画素境界の画素に隣接していない場合は、前記差分データを、セル面積からセル内の白画素の画素数を減算した値で除算することで補正量を算出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
入力画像データから白画素境界を検出し、注目画素が白画素境界の画素であるか否かを示す判定データを出力する境界検出手段と、
前記入力画像データをスクリーン処理するスクリーン処理手段と、
前記判定データに応じて、前記入力画像データと、スクリーン画像データとのいずれかを選択し、選択データとして出力する選択手段と、
前記スクリーン処理手段で用いられるセル毎の、前記選択データの総和を取って第１のセル内合計値を算出する第１のセル内合計算出手段と、
前記セル毎の前記入力画像データの総和を取って第２のセル内合計値を算出する第２のセル内合計算出手段と、
前記第１のセル内合計値と、前記第２のセル内合計値との差分を算出して差分データを出力する減算手段と、
前記差分データから画素毎の補正量を算出する正規化手段と
を備え、
前記正規化手段は、前記判定データに応じて、白画素境界における補正量（絶対値）を非白画素境界における補正量（絶対値）よりも小さくすることを特徴とする画像処理装置。
【請求項８】
前記正規化手段は、
注目画素が白画素境界の画素である場合は、前記差分データを、セル面積（セル内の画素数）からセル内の白画素の画素数を減算した値の定数倍で除算することで補正量を算出し、
注目画素が非白画素境界の画素である場合は、前記差分データを、セル面積からセル内の白画素の画素数を減算した値で除算することで補正量を算出することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
入力画像データにおいてエッジを構成する画素を検出し、注目画素がエッジ部分の画素であるか否かを示す判定データを出力するエッジ検出ステップと、
前記入力画像データをガンマ変換処理するガンマ変換処理ステップと、
前記入力画像データをスクリーン処理するスクリーン処理ステップと、
前記判定データに応じて、画素毎にガンマ変換画像データまたはスクリーン画像データのうちいずれかを構成する画素値が決定されたデータを選択データとして出力する選択ステップと、
前記スクリーン処理ステップで用いられるセル毎の、前記選択データの総和を第１のセル内合計値として算出する第１のセル内合計算出ステップと、
前記セル毎の前記入力画像データの総和を第２のセル内合計値として算出する第２のセル内合計算出ステップと、
前記第１のセル内合計値と、前記第２のセル内合計値との差分を算出して差分データを出力する減算ステップと、
前記差分データに基づいて画素毎の補正量を算出する正規化ステップと
を備え、
前記正規化ステップにおいて、前記判定データに応じて、エッジ部分における補正量（絶対値）を非エッジ部分における補正量（絶対値）よりも小さくすることを特徴とする画像処理方法。
【請求項１０】
入力画像データからエッジを検出し、注目画素がエッジ部分の画素であるか否かを示す判定データを出力するエッジ検出ステップと、
前記入力画像データをスクリーン処理するスクリーン処理ステップと、
前記判定データに応じて、前記入力画像データと、スクリーン画像データとのいずれかを選択し、選択データとして出力する選択ステップと、
前記スクリーン処理ステップで用いられるセル毎の、前記選択データの総和を取って第１のセル内合計値を算出する第１のセル内合計算出ステップと、
前記セル毎の前記入力画像データの総和を取って第２のセル内合計値を算出する第２のセル内合計算出ステップと、
前記第１のセル内合計と、前記第２のセル内合計値との差分を算出して差分データを出力する減算ステップと、
前記差分データから画素毎の補正量を算出する正規化ステップと
を備え、
前記正規化ステップにおいて、前記判定データに応じて、エッジ部分における補正量（絶対値）を非エッジ部分における補正量（絶対値）よりも小さくすることを特徴とする画像処理方法。
【請求項１１】
入力画像データから白画素境界を検出し、注目画素が白画素境界の画素であるか否かを示す判定データを出力する境界検出ステップと、
前記入力画像データをガンマ変換処理するガンマ変換処理ステップと、
前記入力画像データをスクリーン処理するスクリーン処理ステップと、
前記判定データに応じて、ガンマ変換画像データと、スクリーン画像データとのいずれかを選択し、選択データとして出力する選択ステップと、
前記スクリーン処理ステップで用いられるセル毎の、前記選択データの総和を取って第１のセル内合計値を算出する第１のセル内合計算出ステップと、
前記セル毎の前記入力画像データの総和を取って第２のセル内合計値を算出する第２のセル内合計算出ステップと、
前記第１のセル内合計値と、前記第２のセル内合計値との差分を算出して差分データを出力する減算ステップと、
前記差分データから画素毎の補正量を算出する正規化ステップと
を備え、
前記正規化ステップにおいて、前記判定データに応じて、白画素境界における補正量（絶対値）を非白画素境界における補正量（絶対値）よりも小さくすることを特徴とする画像処理方法。
【請求項１２】
入力画像データから白画素境界を検出し、注目画素が白画素境界の画素であるか否かを示す判定データを出力する境界検出ステップと、
前記入力画像データをスクリーン処理するスクリーン処理ステップと、
前記判定データに応じて、前記入力画像データと、スクリーン画像データとのいずれかを選択し、選択データとして出力する選択ステップと、
前記スクリーン処理ステップで用いられるセル毎の、前記選択データの総和を取って第１のセル内合計値を算出する第１のセル内合計算出ステップと、
前記セル毎の前記入力画像データの総和を取って第２のセル内合計値を算出する第２のセル内合計算出ステップと、
前記第１のセル内合計値と、前記第２のセル内合計値との差分を算出して差分データを出力する減算ステップと、
前記差分データから画素毎の補正量を算出する正規化ステップと
を備え、
前記正規化ステップにおいて、前記判定データに応じて、白画素境界における補正量（絶対値）を非白画素境界における補正量（絶対値）よりも小さくすることを特徴とする画像処理方法。
【請求項１３】
コンピュータを請求項１乃至８のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。具体的には、本発明は、スクリーン処理した結果を適切に補正し、良好なハーフトーン画像を出力する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータ等の画像処理装置で処理した画像データを印刷することが広く行われている。しかしながら、コンピュータ上で画像データが表現する階調数に対して、一般的に、印刷装置や表示装置等の出力装置が表現可能な階調数の方が少ない。このため、画像データの階調数を出力装置で表現可能な階調数に変換するハーフトーン処理がなされることが多い。
【０００３】
ハーフトーン処理の一つとして、画像データを周期的に変動する閾値と比較することによって出力値を決定するスクリーン処理（組織的ディザ法）が知られている。スクリーン処理を施すことにより、画像の濃淡を面積階調で表現したスクリーン画像が得られる。特に階調の変化が少ない平坦部においては、均等な間隔で同一形状の網点が形成されるため、良好な画像が得られる。ところが、スクリーン処理した画像データには、視覚的に目立つ繰り返しパターン（モアレ）が発生し、画質が劣化する場合がある。また、画像が細線を含む場合、細線の濃度や角度によって細線の再現性が低下してしまう場合がある。
【０００４】
以上の様な画像の劣化を抑制し、良好なスクリーン処理結果を得るための技術が提案されている。例えば、ハーフトーン処理する画像においてモアレが発生しやすい位置を検出し、モアレが発生しやすい領域においては、事前にモアレの原因となる高周波成分を除去することで、モアレを抑制する方法がある（特許文献１）。
【０００５】
また、スクリーン処理（組織的ディザ法）と、誤差拡散法とを組み合わせる方法も提案されている。組織的ディザ法と、誤差拡散法とを組み合わせることにより、ディザ処理に起因する処理前後の誤差の偏りを低減することが出来る（特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２３８２５９号公報
【特許文献２】特開２００５−２５２５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された方法では、モアレの発生を低減することは出来るが、一部領域において高周波成分が失われてしまう。中濃度のエッジ部から高周波成分を除去すると、エッジ部のコントラストが低下して不鮮明になり、好ましい画像が得られない場合がある。
【０００８】
また、特許文献２に記載された方法では、各画素に対してディザ処理と、誤差拡散処理とのどちらを適用するか選択している。しかしながら、適切な選択を実行するためには、複雑な処理を必要とする。本発明の目的は、簡易な方法でスクリーン処理（組織的ディザ法）を適切に補正し、良好なハーフトーン処理結果を得ることにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明に係る画像処理装置は、以下の構成を備える。即ち、本発明の請求項１に記載の発明は、入力画像データにおいてエッジを構成する画素を検出し、注目画素がエッジ部分の画素であるか否かを示す判定データを出力するエッジ検出手段と、前記入力画像データをガンマ変換処理するガンマ変換処理手段と、前記入力画像データをスクリーン処理するスクリーン処理手段と、前記判定データに応じて、画素毎にガンマ変換画像データまたはスクリーン画像データのうちいずれかを構成する画素値が決定されたデータを選択データとして出力する選択手段と、前記スクリーン処理手段で用いられるセル毎の、前記選択データの総和を第１のセル内合計値として算出する第１のセル内合計算出手段と、前記セル毎の前記入力画像データの総和を第２のセル内合計値として算出する第２のセル内合計算出手段と、前記第１のセル内合計値と、前記第２のセル内合計値との差分を算出して差分データを出力する減算手段と、前記差分データに基づいて画素毎の補正量を算出する正規化手段とを備え、前記正規化手段は、前記判定データに応じて、エッジ部分における補正量（絶対値）を非エッジ部分における補正量（絶対値）よりも小さくすることを特徴とする。
【発明の効果】
【００１０】
エッジのドットを線状に連続させることで、そのドットを安定化させる。これにより、文字・線画の画質が向上する。
【図面の簡単な説明】
【００１１】
【図１】実施例１に係る画像処理装置のブロック図である。
【図２】実施例２に係る画像処理装置のブロック図である。
【図３】スクリーン処理部で用いられるセルの例の説明図である。
【図４】実施例１に係る画像処理データの説明図である。
【図５】実施例３に係る画像処理装置のブロック図である。
【図６】実施例４に係る画像処理装置のブロック図である。
【図７】実施例２に係る画像処理データの説明図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明の実施形態を説明する。尚、以降の実施例において使用される画像データとしては、濃度成分のみを持つモノクロスケール画像データを想定している。
【実施例１】
【００１３】
図１は、本実施例に係る画像処理装置の構成を示すブロック図である。図１に示す画像処理装置は、入力された画像データをより少ない階調数のハーフトーン画像データに変換する。本明細書では、画像処理装置に入力された画像データを「入力画像データ」と略記する。画像処理装置は、エッジ検出部１０１、白画素検出部１１１、ガンマ変換処理部１０２、スクリーン処理部１０３、選択部１０４、セル内合計算出部１０５・１０６、減算部１０７、正規化部１０８、加算部１０９、及び安定化部１１０から構成される。以下、各構成の概要について説明する。
【００１４】
エッジ検出部１０１は、入力画像データからエッジを検出し、画素毎にエッジ部分の画素かそうでないかを示す判定データを生成する。エッジ検出部１０１は、判定データを選択部１０４、正規化部１０８、及び安定化部１１０に出力する。
【００１５】
白画素検出部１１１は、入力画像データにおける白画素を検出する。白画素とは入力画像データにおいて画素値が０である画素である。画素ごとに白画素を示す白画素判定データを生成し、白画素判定データをセル内合計算出部１０５・１０６及び正規化部１０８に出力する。
【００１６】
ガンマ変換処理部１０２は、入力画像データに対してガンマ変換処理を施す。γ変換処理をした結果得られる画像データを、ガンマ変換画像データとして選択部１０４に出力する。
【００１７】
スクリーン処理部１０３は、入力画像データに対してスクリーン処理（組織的ディザ処理）を施し、より少ない階調数である画像データ（本明細書では、「スクリーン画像データ」と称呼する）に変換する。スクリーン処理部１０３は、画素毎に入力画素値と、対応する閾値とを比較することで、量子化を実行する。本明細書では、スクリーン処理部１０３が量子化した結果得られる各画素の値を「スクリーン画素値」と呼ぶことにする。スクリーン画像データは、各画素に対するスクリーン画素値によって構成される。即ち、スクリーン処理部１０３は、入力画像データを構成する各入力画素値を、スクリーン処理によってスクリーン画像データを構成するスクリーン画素値に変換し、スクリーン画像データを選択部１０４に出力する。
【００１８】
選択部１０４は、エッジ検出部１０１による検出結果に基づいて、画素毎にスクリーン画像データを構成するスクリーン画素値かガンマ変換処理画像データを構成する画素値のいずれかを選択する。スクリーン画像データおよびガンマ変換処理画像データはそれぞれ、画素位置が対応する。選択部１０４は、対応する画素位置ごとに、スクリーン画素値かガンマ変換処理画像データを構成する画素値かのいずれかを選択したデータを、選択データとしてセル内合計算出部１０５及び加算部１０９に出力する。
【００１９】
セル内合計算出部１０５は、選択部１０４から出力された選択データにおいて、セルごとにセルに含まれる画素を表す画素値の総和を算出する。同様に、セル内合計算出部１０６は、入力画像データに対してセルごとにセルに含まれる画素を表す画素値の総和を算出する。つまりセル内合計算出部１０５およびセル内合計値算出部１０６は、処理の対象とするデータが異なるだけで動作は同じである。セル内合計算出部１０５およびセル内合計値算出部１０６は、セル毎の画素値の総和を減算部１０７に出力する。
【００２０】
減算部１０７は、画素毎に入力画像データと、選択部１０４から得られる選択データとの差分値を算出する。入力画像データおよび選択データは、各画素位置が対応している。減算部１０７は、ある画素位置について、入力画像データを構成する画素値と、選択データを構成する画素値との差分を算出し、該画素位置の差分値として決定する。そして、減算部１０７は、各画素の差分値が構成する差分データを正規化部１０８に出力する。
【００２１】
正規化部１０８は、減算部１０７から得られる差分データに基づいて画素毎の補正量を算出し、補正データを生成する。正規化部１０８は、補正データを加算部１０９に出力する。このとき、正規化部１０８は、エッジ検出部１０１からの判定データも参照し、その値に応じて画素毎に補正量の算出方法を変える。
【００２２】
加算部１０９は、選択部１０４で得られた選択データの各画素に対して、正規化部１０８で得られた補正データにおいて対応する画素の補正量を加算して中間データを出力し、安定化部１１０に出力する。
【００２３】
安定化部１１０は、加算部１０９から得られる中間データにおいて、ドットが安定していないデータを検出し、後段の画像形成装置がドットを安定して出力可能なデータに置換する。
【００２４】
以上が画像処理装置の構成要素の概要である。以下、各部の処理を詳細に説明する。
【００２５】
エッジ検出部１０１は、入力画像データに存在するエッジを検出し、画素毎に結果を判定データとして出力する。エッジの検出方法は既に様々な方法が多数提案されており、ここでは特に規定しない。一例を挙げると、以下に記す方法でエッジを検出出来る。入力画像データを構成する注目画素の画素値から注目画素の上下左右の４画素の画素値をそれぞれ減算して差分を４つ算出し、得られた４つの差分の最大値が予め定めた閾値以上である場合に、エッジ検出部１０１は、注目画素をエッジ部分だと判定する。即ち、この方法では、エッジの高濃度側をエッジ部分だと判定する。エッジ検出部１０１は、入力画像データにおける注目画素がエッジ部分だと判定したら判定データとして“１”を出力し、注目画素がエッジ部分ではないと判定したら判定データとして“０”を出力する。
【００２６】
ガンマ変換処理部１０２は、エッジ部分のドットを連続させて安定化を図るために、入力画像データに対してエッジ用に最適化されたガンマ補正を行う。ガンマ補正の様な一対一の変換をかける方法としては様々な手法が提案されており、公知の手法を用いれば良い。通常はテーブルを参照するという構成が多く用いられる。
【００２７】
スクリーン処理部１０３は、入力画像データに対してスクリーン処理を行い、スクリーン処理データを出力する。図３は、スクリーン処理部１０３で用いられる閾値群を示している。図３において、太線で囲まれた領域がセルを示し、セル内の数字は閾値を示している。ここではセル内に３２個の閾値が存在しており、それぞれの閾値は、入力画像データを構成する各画素に対応する。スクリーン処理部１０３は、閾値群におけるそれぞれの閾値に基づいて対応する入力画素値を２値化する。スクリーン処理によって得られるスクリーン画像データにおいては、セル内の全ての画素値が０の場合からセル内の全スクリーン画素値が１の場合まである。従って、セルにおけるスクリーン画素値の総和は０以上３２以下となるため、セルごとに３３階調の表現が出来ることとなる。尚、上述したように、スクリーン処理部１０３は、入力画素値を２値化するものの実際には“０”、“１”の２値で出力するのではなく、量子化代表値に相当する値を出力する。つまり、スクリーン処理部１０３は、入力画素値が閾値より小さい場合は“０”を、閾値より大きい場合は“２５５”を出力する。
【００２８】
選択部１０４は、エッジ検出部１０１で得られた判定データに応じて、スクリーン画像データかガンマ変換画像データのいずれかを画素毎に選択して出力する。具体的には、入力された判定データにおける注目画素の値が“１”、つまり注目画素がエッジ部分の画素であることを示している場合、選択部１０４は、注目画素の位置におけるガンマ変換画像データの画素値を選択して出力する。一方、判定データにおける注目画素の値が“０”、つまり注目画素が非エッジ部分の画素であることを示している場合、選択部１０４は、注目画素の位置におけるスクリーン画像データの画素値を選択して出力する。場合分けすると以下のように記述出来る。
（ｉ）判定データが“１”のとき
選択データ＝ガンマ変換画像データ
（ｉｉ）判定データが“０”のとき
選択データ＝スクリーン画像データ
エッジ部分においてはスクリーン処理により線の途切れやジャギー等が発生しやすい場合が多く、また、線の途切れやジャギーは画質劣化の原因となる。そこで、エッジ部分については、選択部１０４がガンマ変換画像データを出力してスクリーン処理による線の途切れを防いでおくことで、画質劣化を防ぐことが出来る。こうして得られた選択データは、エッジ部分を除いてスクリーン処理によって得られた安定した構造を持っている。ただし、エッジ部分においてはスクリーン処理によって得られたデータではないため、所望の画像形成装置がドットを形成するのに安定したデータとは言えない。つまり、ガンマ変換画像データが選択された画素は、ドットを形成するのに不安定なデータで表されていることになる。
【００２９】
セル内合計算出部１０５は、選択部１０４から出力された選択データについてセルごとに画素値の総和を取る。セル内合計算出部１０５は、セル毎の画素値の総和を第１の合計値データとして出力する。セル内合計算出部１０５は、画素値の総和を算出するときには白画素検出部１１１からの白画素判定データも参照する。白画素判定データが白画素と示す画素については、選択データにおいて０より大きい画素値をもっていても、セル内の画素値の総和には加えない。つまり、セル内合計算出部１０５は、入力画像データにおいて画素値が０の画素位置に対応する選択データの画素は、総和を取るときの対象外とする。尚、ガンマ変換やスクリーン処理によって白画素の画素値が０からそれより大きな値に変換されるということが無い場合は、白画素として０を加算するので、セル内合計算出部１０５が白画素判定データを参照する必要はない。ここで用いられるセルは、スクリーン処理部１０３で使用したセルと同じ形状のセルを使用する（図３を参照）。
【００３０】
セル内合計算出部１０６は、前述の通りセル内合計算出部１０５と入力データが異なるだけで動作は同じである。セル内合計算出部１０６は入力画像データを入力としてセル毎の合計値を算出し、第２の合計値データとして出力する。
【００３１】
減算部１０７は、入力画像データを基準として選択データの濃度変動量を算出する。即ち、対応するセルごとに第２の合計値データから第１の合計値データを減算して差分データとして出力する。差分データは、セル単位での濃度変動量を表している。また、差分データは、ガンマ変換やスクリーン処理に起因する濃度変動を表し、次段の正規化部１０８での補正量算出に用いられる。
【００３２】
正規化部１０８は、差分データに基づいて１画素当たりの濃度補正量を求める。予め正規化部１０８にはセル形状を記憶しておくか設定しておき、入力された判定データからセル内のエッジ部分の画素数をカウントする。同時に、白画素判定データを参照して、セル内の白画素の画素数をカウントする。次に、画素毎に判定データを参照し、判定データが“１”で注目画素がエッジ部分の画素であることを示している場合、差分データを、セル面積（セル内の画素数）から白画素の画素数を減算した値で除算して補正量を算出する。判定データが“０”であり、且つ判定データ“１”の画素に上下左右の４近傍のいずれかで隣接している画素に対しては、差分データを、セル面積からエッジ部分の画素数と、白画素の画素数とを減算した値で除算して補正量を算出する。判定データが“０”であり、且つ判定データが“１”の画素に隣接していない画素に対しては、差分データを、セル面積から白画素の画素数を減算した値で除算して補正量を算出する。これらを式で表すと以下のように記述出来る。
（ｉ）判定データが“１”のとき（注目画素がエッジ部分の画素であるとき）
補正量＝差分データ／（セル面積−白画素の画素数）
（ｉｉ）判定データが“０”で、且つ判定データが“１”の画素に隣接しているとき（注目画素が非エッジ部分の画素であり、エッジ部分の画素に隣接しているとき）
補正量＝差分データ／（セル面積−エッジ部分の画素数−白画素の画素数）
（ｉｉｉ）判定データが“０”で、且つ判定データが“１”の画素に隣接していないとき（注目画素が非エッジ部分の画素であり、エッジ部分の画素に隣接していないとき）
補正量＝差分データ／（セル面積−白画素の画素数）
上記の式から分かる通り（ｉ）の条件により求まる補正量は（ｉｉ）の条件で求まる補正量よりも小さい。前述したように、エッジ部分については、選択部１０４によってスクリーン画像データではなくガンマ変換データが選択されているため、エッジ部分は途切れることなく線状に連続している。また、ガンマ変換データは濃度が上がる方向への効果があるので、その効果を低減するために補正量はマイナスの値になる場合が多い。そのため、エッジ部分に対してエッジ近傍の部分と同じ補正を行うと、エッジ部分が途切れてしまい連続性を失ってしまう可能性がある。そのために、実施例１では、エッジ部分における補正量（上記（ｉ）の場合）を、エッジ近傍部分における補正量に比較して小さくしている。また、スクリーン画像データが選択されており、且つエッジ部分の画素に隣接していない部分に関しては（即ち、上記（ｉｉｉ）の場合）、既に画像形成装置に適した値となっているため、基本的には補正を必要としない。本実施例では、（ｉ）と同様に、比較的小さな補正量を設定する。
【００３３】
加算部１０９は、画素ごとに選択データに対して、補正データにおいて対応する画素位置の補正量を加算し、中間データを生成する。
【００３４】
安定化部１１０は、入力された中間データを画像形成装置が安定して出力出来る値へ変換する。安定化の処理方法は特に限定しないが、一例を上げると次のような方法で安定化が可能である。
【００３５】
ここでは、図示しないこの後のパルス幅変調回路（以下ＰＷＭ回路と記す）における最小パルス幅を保証するような動作を行う例について説明する。安定化部１１０は、注目画素における中間画素値が予め設定した最小値未満で、且つ近傍画素に０でない中間画素値を持つ画素が存在する場合、注目画素における中間画素値が前記予め設定した最小値以上となるようにする。具体的には、注目画素が持つ中間画素値か近傍画素が持つ中間画素値のうち値の大きな方の中間画素値に値の小さい方の中間画素値を合算する。そして、値の小さい方の中間画素値を０にする。ここで、合算後の中間画素値がなお前記予め設定した最小値未満である場合は、合算した中間画素値を前記予め設定した最小値に置換する。また、注目画素の左右に０でない中間画素値を持つ画素がある場合は、ＰＷＭ回路の位相を制御し、パルスが連続するようにしても良い。一方、注目画素の中間画素値が予め設定した最小値未満で、且つ近傍画素に０でない中間画素値を持つ画素が存在しない場合は、注目画素の中間画素値を前記予め設定した最小値に置換するようにしても良い。
【００３６】
図４を用いてここまでの処理過程を説明する。図４（ａ）は、入力画像データを示している。まず、エッジ検出部１０１によって、入力画像データに対してエッジ検出が実行され、図４（ｂ）に示す判定データが得られる。図４（ｂ）に示す判定データにおいて、エッジ部分として検出される画素は“１”が、エッジ部分として検出されなかった画素は“０”が格納されている。前述したように、図３は、スクリーン処理に用いられる閾値群を示している。図３に示す閾値群を用いて入力データに対してスクリーン処理を施すと、図４（ｃ）に示すスクリーン処理データが得られる。図４（ｄ）は選択データを示しており、画素毎にスクリーン画像データと、ガンマ変換データとのいずれかが判定データに応じて選択されている。図４（ｄ）中の画素値１８７は、ガンマ変換データであり、入力データの９６をガンマ変換した結果を表している。セル内合計算出部１０５で計算した図４（ｄ）のセル内合計値は１８７×８＋２５５×５＝２７７１であり、セル内合計算出部１０６で計算した図４（ａ）のセル内合計値は９６×２１＝２０１６である。次に、減算部１０７によって、これら二つのセル内合計値の差分を取る。次に、正規化部１０８によって、各画素の補正量を算出する。図４の例では、セル面積（セル内画素数）が３２であり、セル内の白画素の画素数が１１であり、セル内のエッジ部分の画素数が８である。従って、エッジ部分に対する補正量は（２０１６−２７７１）／（３２−１１）を計算して−３５と算出出来る。また、エッジ隣接部分に対する補正量は（２０１６−２７７１）／（３２−１１−８）を計算して−５８と算出出来る。この結果から、エッジ部分に対する補正量はエッジ隣接部分に対する補正量と比較して大きさ（絶対値）が小さくなっていることが分かる。こうして得られた補正量を、加算部１０９によって、図４（ｄ）に示す選択データに加算して、図４（ｅ）に示す中間データが得られる。その後、安定化部１１０によって、得られた中間データに対して安定化処理を施す。
【００３７】
以上、実施例１では、正規化部１０８において補正量を決定するときに、エッジ部分における補正量をエッジ近傍の部分における補正量と比較して小さくするという構成について説明した。かかる構成により、エッジ部に関して選択部１０４で選択されたガンマ変換データによって表現されるエッジや線が補正によって途切れてしまうことを防ぎ、エッジ部分を線状に連続させることが出来る。よって、文字・線画の画質を向上させることが可能となる。
【実施例２】
【００３８】
実施例２では、実施例１に比較してガンマ変換処理部１０２の無い構成について説明する。図２は、実施例２に係る画像処理装置の構成を示すブロック図である。実施例２が実施例１と異なる点は、ガンマ変換処理部１０２が無い点と、正規化部の動作が異なる点である（図１及び図２を参照）。図２において、実施例１と同じ動作をする構成要素は図１と同じ符号を付した。従って、以下では、実施例２と、実施例１との相違点についてのみ説明する。
【００３９】
まず、ガンマ変換部が存在しないので、選択部１０４にはガンマ変換データではなく、入力画像データが入力される。選択部１０４については、取り扱うデータが異なるだけで、実行する処理は実施例１と同じである。具体的には、エッジ検出部１０１からの判定データにおいて注目画素が“１”である場合は、選択部１０４は、入力画像データにおける注目画素位置の画素値を選択して出力する。一方、エッジ検出部１０１からの判定データにおいて注目画素が“０”のときは、選択部１０４は、スクリーン処理データにおける注目画素位置の画素値を選択して出力する。
【００４０】
正規化部２０８は、判定データ及び白画素判定データを参照し、判定データが“１”で注目画素がエッジ部分の画素であることを示している場合、差分データを、セル面積から白画素の画素数を減算した値を定数倍（Ｍ倍とする）した値で除算して補正量を算出する。ここでＭは定数として予め決めておいても良いし、レジスタで設定するという構成にしても良い。良好な処理結果を得るためには、Ｍの値としておおよそ１．５以上且つ２以下の範囲内の一値を使用するのが良いだろう。一方、入力される判定データが“０”の場合は、差分データを、セル面積から白画素の画素数を減算した値で除算して補正量を算出する。これらを式で表すと以下のように記述出来る。
（ｉ）判定データが“１”のとき（注目画素がエッジ部分の画素であるとき）
補正量＝差分データ／（（セル面積−白画素の画素数）×Ｍ）
（ｉｉ）判定データが“０”のとき（注目画素が非エッジ部分の画素であるとき）
補正量＝差分データ／（セル面積−白画素の画素数）
このように実施例２においても実施例１と同様に、（ｉ）の条件で求まる補正量は（ｉｉ）の条件で求まる補正量よりも大きさ（絶対値）が小さい。従って、実施例１と同じく補正によってエッジが途切れることを防ぐことが出来る。
【００４１】
図７を用いて具体例を説明する。実施例１と同様に、入力画像データを図４（ａ）に示すものとし、スクリーン処理部１０３で用いられる閾値群を図３に示すものとする。このとき、白画素検出部１１１の出力する判定データは図４（ｂ）に、スクリーン処理データは図４（ｃ）に示すものとなり、これらは実施例１と同じである。しかし、実施例２では、選択データとしてエッジ部分においてガンマ処理データではなく入力画像データが選択されるので、選択データは図７（ａ）に示すようになる。従って、セル内合計算出部１０５にて算出される値は、９６×８＋２５５×５＝２０４３となる。入力画素データが“０”であるデータを除いたセル内画素の個数は実施例１と同じく２１であるので、正規化部２０８において、エッジ部分に対する補正量は（（２０１６−２０４３）／（２１×１．５）を計算して０と算出される。ただし、Ｍ＝１．５とした。一方、非エッジ部分に対する補正量は（（２０１６−２０４３）／２１を計算して−１と算出される。従って、実施例２においても、エッジ部分に対する補正量は、非エッジ部分に対する補正量と比較して大きさ（絶対値）が小さくなっていることが分かる。
【００４２】
以上説明したように、実施例２では、選択部１０４でエッジ判定データに応じて入力画像データかスクリーン処理データのいずれかを選択して出力する。これにより、エッジ部分では入力画像データが選択される。そして、正規化部２０８において、前段での処理に応じた適切な補正データを生成する。かかる構成により、エッジ部分での連続した線の途切れを防止することが出来る。よって、文字・線画の画質を向上することが可能となる。
【実施例３】
【００４３】
実施例３では、実施例１に記したエッジ部分を補正する構成と異なり、白画素境界を補正する構成について説明する。図５は、実施例３に係る画像処理装置の構成を示すブロック図である。実施例３が実施例１と異なる点は、エッジ検出部１０１の代わりに白画素境界検出部５０１が用いられている点と、正規化部の動作が異なる点である（図１及び図５を参照）。従って、以下では、実施例３と、実施例１との相違点、即ち、白画素境界検出部５０１及び正規化部５０８についてのみ説明を行う。
【００４４】
白画素境界検出部５０１は、注目画素が白画素境界の画素であるかを判定し、結果を判定データとして出力する。白画素境界とは、白画素を示す画素に隣接する画素を意味する。一例を挙げると、以下に記す方法で白画素境界を検出出来る。白画素境界検出部５０１は、閾値を持つ。注目画素が閾値を超える値を持ち、且つ、注目画素の上下左右に位置する４つの隣接画素の値と、閾値とを比較して、いずれかの隣接画素の値が閾値以下の場合に、判定データとして“１”を出力する。この条件を満たさない場合は、判定データとして“０”を出力する。ここで本実施例では、入力画像データにおいて画素値０が白画素であることを示す。この場合、閾値を０にすることにより、隣接画素が濃度値０となる場合のみ、判定データとして“１”を出力することができる。尚、閾値を予め記憶しておく構成でも良いし、レジスタ等の設定で決める構成にしても良い。
【００４５】
正規化部５０８が差分データを入力として１画素当たりの濃度補正量を求める点は、正規化部１０８と同じである。しかし、正規化部１０８が、補正量を算出するときに、注目画素がエッジ部分の画素であるか否かを考慮したのと異なり、本実施例における正規化部５０８は、補正量を算出するときに、注目画素が白画素境界の画素であるか否かを考慮する。また、判定データが“１”であることは、実施例１では注目画素がエッジ部分の画素であることを表していたが、実施例３では注目画素が白画素境界の画素であることを表している。これらを式で表すと以下のように記述できる。
（ｉ）判定データが“１”のとき（注目画素が白画素境界の画素であるとき）
補正量＝差分データ／（セル面積−白画素の画素数）
（ｉｉ）判定データが“０”で、且つ判定データが“１”の画素に隣接しているとき（注目画素が非白画素境界の画素であり、白画素境界の画素に隣接しているとき）
補正量＝差分データ／（セル面積−白画素の画素数−白画素境界の画素数）
（ｉｉｉ）判定データが“０”で、且つ判定データが“１”の画素に隣接していないとき（注目画素が非白画素境界の画素であり、白画素境界の画素に隣接していないとき）
補正量＝差分データ／（セル面積−白画素の画素数）
実施例３による効果について説明する。実施例１及び実施例２で説明したエッジ部分を判定する構成では、判定したエッジ部分において電子写真のプロセスにおける潜像のコントラストが確保出来ず、潜像が周囲のドットに引き寄せられエッジ部分が形成されにくくなる恐れがある。そこで、実施例３では、エッジ部分の代わりに潜像のコントラストがはっきりしている白画素境界を判定及び補正することで、ドットが途切れることを防ぐ。これにより、文字・線画の画質向上が可能となる。
【実施例４】
【００４６】
実施例４では、実施例２に記したエッジ部分を補正する構成と異なり、白画素境界を補正する構成について説明する。図６は、実施例４に係る画像処理装置の構成を示すブロック図である。実施例４が実施例２と異なる点は、エッジ検出部１０１の代わりに白画素境界検出部５０１が用いられている点と、正規化部２０８の代わりに正規化部６０８が用いられている点である（図２及び図６を参照）。また、実施例４に係る白画素境界検出部５０１は、実施例３で説明した動作と同じ動作を実行する。従って、以下では、正規化部６０８についてのみ説明を行う。
【００４７】
正規化部６０８は、差分データを入力として１画素当たりの濃度補正量を求める点は、正規化部１０８や正規化部２０８と同じである。しかし実施例４では、実施例３に示した正規化部５０８と同様に、正規化部６０８が補正データを生成する際に参照する判定データの意味が異なる。即ち、判定データが“１”であることは、実施例２では注目画素がエッジ部分の画素であることを表していたが、実施例４では注目画素が白画素境界の画素であることを表している。これらを式で表すと以下のように記述出来る。尚、式自体は実施例２で示したものと同様である。
（ｉ）判定データが“１”のとき（注目画素が白画素境界の画素であるとき）
補正量＝差分データ／（（セル面積−白画素の画素数）×Ｍ）
（ｉｉ）判定データが“０”のとき（注目画素が非白画素境界の画素であるとき）
補正量＝差分データ／（セル面積−白画素の画素数）
実施例４による効果は、実施例３に記したものと同様である。即ち、白画素境界では潜像のコントラストがはっきりしているため、白画素境界においてドットが途切れることを防ぐことが出来、文字・線画の画質向上が可能となる。
【００４８】
［その他の実施例］
前述の実施例では、選択部１０４は、画素毎にスクリーン処理画像データかガンマ変換処理データのいずれかを選択する構成とした。例えば、選択部１０４はスクリーン画像データをベースとし、判定データに応じて一部の画素をガンマ変換処理データの対応する画素値により上書きすることでも、同様の処理が可能である。
【００４９】
本発明の目的は、前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システム又は装置に供給し、システム又は装置（具体的にはＣＰＵやＭＰＵ）がプログラムコードを読み出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５０】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ等を用いることが出来る。
【００５１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳが実際の処理の一部又は全部を行っても良い。ＯＳの処理によって前述した実施例の機能が実現される場合も、本発明の範囲に含まれる。
【００５２】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、処理が実行されても良い。また、機能拡張ボードや機能拡張ユニットに備わるＣＰＵが実際の処理の一部又は全部を実行しても良く、機能拡張ボードや機能拡張ユニットに備わるＣＰＵの実行処理によって前述した実施例の機能が実現される場合も、本発明の範囲に含まれる。
【００５３】
また、前述の実施例の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行しても良いし、複数のコンピュータが協働することによって実行しても良い。更に、プログラムコードをコンピュータが実行しても良いし、プログラムコードの機能を実現するための回路等のハードウェアを設けても良い。または、プログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行しても良い。
【図１】
2015095713.tif 000003
【図２】
2015095713.tif 000004
【図３】
2015095713.tif 000005
【図４】
2015095713.tif 000006
【図５】
2015095713.tif 000007
【図６】
2015095713.tif 000008
【図７】
2015095713.tif 000009