JP2021190807A - 画像処理装置、画像処理方法 - Google Patents
画像処理装置、画像処理方法 Download PDFInfo
- Publication number
- JP2021190807A JP2021190807A JP2020093671A JP2020093671A JP2021190807A JP 2021190807 A JP2021190807 A JP 2021190807A JP 2020093671 A JP2020093671 A JP 2020093671A JP 2020093671 A JP2020093671 A JP 2020093671A JP 2021190807 A JP2021190807 A JP 2021190807A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- value
- pixel value
- output
- 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.)
- Pending
Links
Images
Landscapes
- Color, Gradation (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】フィードバックループを持つハーフトーン処理に強調処理を実施しても、安定した好ましい出力画像を得るための技術を提供する。【解決手段】画像処理装置において、画像処理部は、入力画像における注目画素の画素値に、該注目画素に対して拡散された誤差を加算し、該加算後の画素値を量子化し、該量子化後の画素値に対してエッジ強調を行った強調画素値を求め、該強調画素値に基づいて出力画素の画素値を求める。強調画素値に基づく逆量子化結果と、入力画像における注目画素の画素値に誤差を加算した結果と、の差分に基づいて、他の画素に拡散する誤差を求める。【選択図】図2
Description
本発明は、少ない階調数で元の階調を疑似的に表現する画像処理技術に関するものである。
デジタル画像の各画素は、1色当り8ビットや16ビットの多階調で表現されるものが一般的である。このようなデジタル画像をプリンタで印刷する場合、プリンタで印刷可能な1ビットから4ビット程度の少ない階調数に削減しつつ、元の階調を疑似的に表現するハーフトーン処理が施される。
好適なハーフトーン処理では、平坦な画像領域において、少ない階調数で表現される出力画素値の分布が目立たないように、高い分散性を持つ出力画素値を出力する。一方で、画像中のエッジ部分については、ぼけることなく高い再現性のエッジが出力されるように、画像中のエッジ部分に強調処理を施すことが一般的である。特許文献1には、画像データをハーフトーン処理により二値化する一方、エッジ画素と判定された画素の二値化した画像情報に対してエッジ強調処理を実行する技術が開示されている。
しかしながら、特許文献1で開示された技術においては、エッジ強調処理が施された画素の結果を隣接画素に適切に反映させることができない。この点について、特許文献1に記載の二値化処理が誤差拡散処理である場合を例にとり説明する。誤差拡散処理では、ある画素に対して二値化処理を実施し、この先行する画素で生成される誤差を隣接する周囲画素に拡散し、次に処理する画素の画素値を補正して二値化処理することを繰り返すことで、局所領域において元の階調を忠実に再現することができる。特許文献1では、誤差拡散処理により算出した出力画素値に対して、誤差拡散処理とは関連のないエッジ判定方法でエッジ画素を特定し、エッジ画素において上記の出力画素値に補正を行う。従って、エッジ補正された出力画素値が隣接する画素に影響を与えることがないため、連続する複数画素により構成されるエッジの階調を表現しつつ、ぼけのない出力画像を得ることは困難である。
一方で、誤差拡散処理にように、先行画素の処理結果を参照して次の画素の処理を実施するフィードバックループの中で強調処理を行うと、過度に強調が起きたり、期待する強調効果が減退したり、出力が不安定になることが知られている。本発明では、フィードバックループを持つハーフトーン処理に強調処理を実施しても、安定した好ましい出力画像を得るための技術を提供する。
本発明の一様態は、入力画像における注目画素の画素値に、該注目画素に対して拡散された誤差を加算し、該加算後の画素値を量子化し、該量子化後の画素値に対してエッジ強調を行った強調画素値を求め、該強調画素値に基づいて出力画素の画素値を求める処理手段と、前記強調画素値に基づく逆量子化結果と、前記入力画像における注目画素の画素値に前記誤差を加算した結果と、の差分に基づいて、他の画素に拡散する誤差を求める拡散手段とを備えることを特徴とする。
本発明の構成によれば、フィードバックループを持つハーフトーン処理に強調処理を実施しても、安定した好ましい出力画像を得ることができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
本実施形態では各画素の画素値が8ビット(0〜255の256階調)で表現される入力画像を、各画素の画素値が2ビット(0〜3の4階調)で表現される出力画像に変換する誤差拡散処理と、該入力画像におけるエッジを強調するエッジ強調処理と、を行う。
本実施形態では各画素の画素値が8ビット(0〜255の256階調)で表現される入力画像を、各画素の画素値が2ビット(0〜3の4階調)で表現される出力画像に変換する誤差拡散処理と、該入力画像におけるエッジを強調するエッジ強調処理と、を行う。
先ず、本実施形態に係る画像処理装置のハードウェア構成例について、図1のブロック図を用いて説明する。本実施形態に係る画像処理装置には、PC(パーソナルコンピュータ)、タブレット端末装置、スマートフォンなどのコンピュータ装置が適用可能である。なお、本実施形態に係る画像処理装置は、組み込み機器として実装してもよく、例えば、印刷機能を有する装置(印刷装置や複合機など)が有する画像処理部として該装置に組み込んでもよい。
CPU100は、RAM101やROM102に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU100は、画像処理装置全体の動作制御を行うとともに、画像処理装置が行うものとして後述する各処理を実行もしくは制御する。
RAM101は、ROM102や外部記憶装置107からロードされたコンピュータプログラムやデータ、I/F部106を介して外部から受信したデータ、を格納するためのエリアを有する。さらにRAM101は、CPU100や画像処理部105が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM101は、各種のエリアを適宜提供することができる。
ROM102には、画像処理装置の設定データ、画像処理装置の起動に係るコンピュータプログラムやデータ、画像処理装置の基本動作に係るコンピュータプログラムやデータ、が格納されている。
操作部103は、キーボード、マウス、タッチパネル画面などのユーザインターフェースであり、ユーザが操作することで各種の指示をCPU100に対して入力することができる。
表示部104は、液晶画面やタッチパネル画面を有する表示装置であり、CPU100や画像処理部105による処理結果を画像や文字などでもって表示することができる。なお、表示部104は、画像や文字を投影するプロジェクタなどの投影装置であってもよい。
画像処理部105は、コンピュータプログラムを実行可能なプロセッサや専用の画像処理回路を有し、画像処理に係る各種の処理を実行する。例えば、画像処理部105は、CPU100から画像処理を実行する命令を受け付けると、RAM101に格納されている入力画像をハーフトーン処理し、処理結果を出力する。画像処理部105は、RAM101の記憶領域を適宜利用して、画像処理に係る各種の処理を実行する。
I/F部106は、外部機器との間のデータ通信を行うためのインターフェースである。例えば、I/F部106は、LANやインターネットなどのネットワークに接続するための通信インターフェース、外部デバイスを接続するUSBインターフェース、などを含みうる。
外部記憶装置107は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置107には、OS(オペレーティングシステム)や、画像処理装置が行うものとして後述する各処理をCPU100や画像処理部105に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置107に保存されているコンピュータプログラムやデータは、CPU100による制御に従って適宜RAM101にロードされ、CPU100や画像処理部105による処理対象となる。
CPU100、RAM101、ROM102、操作部103、表示部104、画像処理部105、I/F部106、外部記憶装置107、は何れも、バス108に接続されている。
なお、図1に示した構成は、画像処理装置に適用可能なコンピュータ装置の構成の一例にすぎず、適宜変更や変形が可能である。上記の画像処理部105の機能構成例を図2に示す。また、画像処理部105の動作を示すフローチャートを図3に示す。
I/F部106を介して外部から若しくは外部記憶装置107からRAM101に入力画像(各画素の画素値が8ビット(0〜255)で表現される入力画像)が格納されると、CPU100は画像処理部105に対して処理開始を指示する。画像処理部105は、該指示を受けると、図3のフローチャートに従った処理を開始する。
ステップS300では、画素取得部200は、RAM101に格納されている入力画像から未だ選択していない画素のうち1つを選択画素として選択し、該選択画素を該RAM101から取得する。入力画像からの画素の選択順については、例えば、図4に示す如く、先ず入力画像400の左上隅の画素を選択し、以降、矢印で示す如く、同行の画素を左から順に選択する。そして右端の画素を選択した後は、1つ下の行の左端の画素を選択し、以降、矢印で示す如く、同行の画素を左から順に選択する。このようにして入力画像400における各行の画素を左から順に選択する。
ステップS301では、画素値補正部202は、ステップS300で取得した選択画素の画素値に、拡散フィルタ部208から出力された「該選択画素に先行する画素から拡散された拡散誤差」を加算することで、該選択画素の画素値を更新(補正)する。
ステップS302では、量子化部203は、ステップS301で補正された選択画素の画素値(8ビット)を量子化し、該画素値(8ビット)を「2ビットで表される画素値」(量子化代表値)に階調変換する。
量子化部203による階調変換の一例を図5を用いて説明する。図5において横軸は選択画素の画素値(入力画素値)、縦軸は階調変換後の画素値(量子化代表値)を示す。量子化部203は、閾値Th0(=43)、閾値Th1(=128)、閾値Th2(=213)を有し、選択画素の画素値と閾値Th0,Th1,Th2とに基づき、該選択画素の画素値に対する階調変換の結果である量子化代表値を特定する。例えば、量子化部203は、選択画素の画素値が「0以上Th0未満の範囲」に属する場合には、該選択画素の画素値に対応する量子化代表値「0」を特定する。また例えば、量子化部203は、選択画素の画素値が「Th0以上Th1未満の範囲」に属する場合には、該選択画素の画素値に対応する量子化代表値「1」を特定する。また例えば、量子化部203は、選択画素の画素値が「Th1以上Th2未満の範囲」に属する場合には、該選択画素の画素値に対応する量子化代表値「2」を特定する。また例えば、量子化部203は、選択画素の画素値が「Th2以上255以下の範囲」に属する場合には、該選択画素の画素値に対応する量子化代表値「3」を特定する。なお、閾値は、選択画素や画素値補正部202によって補正された画素毎に異なる値を設定してもよい。
ステップS303では、判定部201は、入力画像における選択画素とその周囲の画素のそれぞれの画素値に基づいて、該選択画素におけるエッジの強度を表すエッジ度を求める。エッジ度はラプラシアンフィルタなどの公知技術により求めることができる。
本実施形態では、図6(a)に示す如く、入力画像における選択画素を注目画素とし、該注目画素と、該注目画素に隣接する8画素と、から成る3画素×3画素の画素群601に対して、3×3のラプラシアンフィルタ602を用いたフィルタ演算を行う。そしてフィルタ演算の結果に対応するエッジ度が、5つのエッジ度「−2、−1,0,1,2」の何れであるのかを判定する。
フィルタ演算の結果に対応するエッジ度が、5つのエッジ度「−2、−1,0,1,2」の何れであるのかを判定する方法の一例を図6(b)に示す。図6(b)において横軸はフィルタ演算の結果(ラプラシアンフィルタ結果)、縦軸はエッジ度を示す。
判定部201は、フィルタ演算の結果が「「−255」以上「−96」以下の範囲」に属する場合には、該フィルタ演算の結果に対応するエッジ度は「−2」(強い負のエッジ)であると判定する。
判定部201は、フィルタ演算の結果が「「−96」よりも大きく「−32」以下の範囲」に属する場合には、該フィルタ演算の結果に対応するエッジ度は「−1」(弱い負のエッジ)であると判定する。
判定部201は、フィルタ演算の結果が「「−32」よりも大きく「32」未満の範囲」に属する場合には、該フィルタ演算の結果に対応するエッジ度は「0」(非エッジ)であると判定する。
判定部201は、フィルタ演算の結果が「「32」以上「96」未満の範囲」に属する場合には、該フィルタ演算の結果に対応するエッジ度は「1」(弱い正のエッジ)であると判定する。
判定部201は、フィルタ演算の結果が「「96」以上「255」以下の範囲」に属する場合には、該フィルタ演算の結果に対応するエッジ度は「2」(強い正のエッジ)であると判定する。
図4に示した入力画像400内における8画素×8画素の画像領域401内の各画素について求めたエッジ度を図6(c)に示す。但し、ラプラシアンフィルタを施すために必要な領域外の画素は適宜補って算出している。画像領域401の左側にある直線状の高い画素値に対して、強い正のエッジ(エッジ度2)であると判定され、その周辺は弱い負のエッジ(エッジ度−1)であると判定されている。また、画像領域401の右側にある比較的滑らかに変化する画素値分布に対し、いくつかの画素においては弱い正のエッジ(エッジ度1)であると判定されている。
ステップS304では、エッジ強調部204は、ステップS302で求めた選択画素の量子化代表値に、該選択画素についてステップS303で求めたエッジ度を加算することで、該選択画素に対するエッジ強調処理を行う。つまり、選択画素が強い正のエッジの場合には、該選択画素の量子化代表値に「2」を加え、選択画素が弱い正のエッジの場合には、該選択画素の量子化代表値に「1」を加える。一方、選択画素が強い負のエッジの場合には、該選択画素の量子化代表値に「−2」を加え、選択画素が弱い負のエッジの場合には、該選択画素の量子化代表値に「−1」を加える。
ステップS305では、出力値生成部209は、ステップS304においてエッジ強調された選択画素の量子化代表値が0よりも小さい若しくは3よりも大きい場合には、該量子化代表値を0〜3の範囲に収める補正処理を行う。本実施形態では、ステップS304におけるエッジ強調処理により、量子化代表値が0〜3の範囲を超える可能性がある。そのため、出力値生成部209は、0よりも小さな量子化代表値については0に変更して出力し、3よりも大きな量子化代表値については3に変更して出力し、0以上3以下の量子化代表値についてはそのまま出力する。
ステップS306では、画素出力部210は、出力値生成部209から出力された選択画素の量子化代表値を、「出力画像において該選択画素に対応する画素(出力画素)の画素値」として出力する。画素出力部210による量子化代表値の出力先は特定の出力先に限らない。例えば、画素出力部210は、量子化代表値をRAM101や外部記憶装置107に対して出力してもよいし、I/F部106を介して外部(サーバ装置や印刷装置等)に対して出力してもよい。
ステップS307では、調整部205は、ステップS304においてエッジ強調された選択画素の量子化代表値に対し、該選択画素におけるエッジ度が下がるような調整処理を行う。
本実施形態では、ステップS304において、エッジ度に基づいて量子化代表値の補正が施されている。このとき、強い正のエッジと判定された画素の量子化代表値には「+2」を加算しており、強い負のエッジと判定された画素の量子化代表値には「−2」を加算している。これらの強いエッジ度が弱まるように、強い正のエッジと判定された画素の量子化代表値には「−1」を加算し、強い負のエッジと判定された画素の量子化代表値には「+1」を加算する。なお、強い正のエッジと判定された画素や弱い正のエッジと判定された画素の量子化代表値には「+1」を加算し、強い負のエッジと判定された画素や弱い負のエッジと判定された画素の量子化代表値には「−1」を加算するようにしても、等価な量子化代表値を生成することができる。
本実施形態で説明する誤差拡散処理では、エッジ強調された量子化代表値と、量子化前の画素値と、の誤差をキャンセルするように未選択画素(未処理画像)を補正する。そのため、エッジ強調された画素とその周囲画素において、入力画像の階調は維持しつつ、かつエッジが補正された出力画像を得ることができる。一方、エッジ強調された画素で発生する誤差が大きい場合、その大きな誤差をキャンセルすることができる未処理画素の数が増加し、広範囲にわたってエッジ強調された画素の影響を受けることになる。これがエッジ強調の過補正と視認されることがあり好ましくない。本実施形態では、エッジ度が大きい場合に誤差が大きくなり過ぎないように、エッジ度に応じてエッジ強調した量子化代表値を修正することで、誤差生成時の量子化代表値を生成する。これにより、エッジ画素とその周辺画素とが自然な見た目でエッジ強調された出力画像を得ることができる。
ステップS308では、逆量子化部206は、ステップS307において調整処理を行った選択画素の量子化代表値を逆量子化(ステップS302において行った量子化に対応する逆量子化)して、8ビットの画素値を生成する。
本実施形態では、ステップS307において調整処理を行った量子化代表値は−1〜4の範囲にあるため、該量子化代表値を0〜255の範囲において対応する値に変換する。「−1」および「4」に関しては、0〜255の範囲を超えるが、値の大きさに比例するように階調数を拡張すると、図7に示すように変換することができる。図7において横軸は量子化代表値、縦軸は該量子化代表値に対する逆量子化結果である逆量子化値、を示す。
ステップS307において調整処理を行った量子化代表値が「−1」の場合、逆量子化部206は、該量子化代表値に対する逆量子化の結果である画素値として「−85」を取得する。
ステップS307において調整処理を行った量子化代表値が「0」の場合、逆量子化部206は、該量子化代表値に対する逆量子化の結果である画素値として「0」を取得する。
ステップS307において調整処理を行った量子化代表値が「1」の場合、逆量子化部206は、該量子化代表値に対する逆量子化の結果である画素値として「85」を取得する。
ステップS307において調整処理を行った量子化代表値が「2」の場合、逆量子化部206は、該量子化代表値に対する逆量子化の結果である画素値として「170」を取得する。
ステップS307において調整処理を行った量子化代表値が「3」の場合、逆量子化部206は、該量子化代表値に対する逆量子化の結果である画素値として「255」を取得する。
ステップS307において調整処理を行った量子化代表値が「4」の場合、逆量子化部206は、該量子化代表値に対する逆量子化の結果である画素値として「340」を取得する。
ステップS309では、誤差生成部207は、ステップS308における逆量子化で得られた選択画素の画素値と、ステップS301で補正した選択画素の画素値と、の差分を「選択画素における量子化誤差」として求める。
ステップS310では、拡散フィルタ部208は、ステップS309で求めた量子化誤差と、拡散フィルタと、を用いて、選択画素の周囲の未選択画素に拡散する拡散誤差を求める。
本実施形態では、拡散フィルタとして、図8に示すものを用いる。ステップS309で求めた量子化誤差Eに図8の拡散フィルタを適用することで、選択画素の右側に隣接する画素、選択画素の左下に隣接する画素、選択画素の下側に隣接する画素、選択画素の右下に隣接する画素のそれぞれに拡散する拡散誤差を求めることができる。選択画素の右側に隣接する画素に拡散する拡散誤差は、量子化誤差E×(7/16)となり、選択画素の左下に隣接する画素に拡散する拡散誤差は、量子化誤差E×(3/16)となる。また、選択画素の下側に隣接する画素に拡散する拡散誤差は、量子化誤差E×(5/16)となり、選択画素の右下に隣接する画素に拡散する拡散誤差は、量子化誤差E×(1/16)となる。
なお、選択画素に拡散される拡散誤差は、選択画素に先行する画素の処理時に求めてもよいが、選択画素に先行する画素の処理時には量子化誤差を求めておき、選択画素の処理時に該量子化誤差から該選択画素に拡散する拡散誤差を求めてもよい。
ステップS311では、画素取得部200は、入力画像における全ての画素を選択画素として選択したか否かを判断する。この判断の結果、入力画像における全ての画素を選択画素として選択した場合には、図3のフローチャートに従った処理は終了する。一方、入力画像において未だ選択画素として選択していない画素が残っている場合には、処理はステップS300に戻る。
入力画像に対して図3のフローチャートに従った処理を行うことで得られる出力画像の各画素の画素値のうち、画像領域401に対応する画像領域901内の各画素の画素値を図9に示す。図9に示す如く、画像領域401内の左側の細線も、右側の滑らかに変化する領域も好適に表現されていることが分かる。
本実施形態では、入力画像における注目画素の画素値に、該注目画素に対して拡散された誤差を加算し、該加算後の画素値を量子化し、該量子化後の画素値に対してエッジ強調を行った強調画素値を求め、該強調画素値に基づいて出力画素の画素値を求める。そして、該強調画素値に基づく逆量子化結果と、入力画像における注目画素の画素値に上記誤差を加算した結果と、の差分に基づいて、他の画素に拡散する誤差を求める。
このように、本実施形態によれば、エッジ強調を行った画素とその周辺の画素とにおいて適切な処理が可能となり、かつ、安定した出力画像(ハーフトーン画像)を得ることができる。
[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。本実施形態では、各画素が複数の色により構成される入力画像において、先行する色の処理結果を参照しつつ強調処理を施しながら注目色を処理する。
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。本実施形態では、各画素が複数の色により構成される入力画像において、先行する色の処理結果を参照しつつ強調処理を施しながら注目色を処理する。
本実施形態に係る画像処理装置の機能構成例を、図10のブロック図に示す。このような構成を有する画像処理装置の動作について、図13のフローチャートに従って説明する。
ステップS1301では、閾値取得部213は、複数の閾値を要素として有するマトリクス(閾値マトリクス)をRAM101や外部記憶装置107から取得し、該取得した閾値マトリクスを入力画像上の各位置に、互いに重ならないように配置する。配置した閾値マトリクスにおける各要素(閾値)は、該要素(閾値)と重なる画素位置に対して適用される。
ステップS1302では、判定部211は、RAM101に格納されている入力画像を構成する各画素のうち、強調処理を行う対象となる対象画素を特定する。入力画像を構成する各画素から強調処理を行う対象となる対象画素を特定するための方法には様々な方法があり、如何なる方法を採用しても良い。
例えば、判定部211は、入力画像における各画素の特徴量(明度、勾配、エッジ量、動き量などの画像に関連した定量値)を取得する。そして判定部211は、入力画像における規定領域ごとに次のような処理を行うことで、該規定領域において強調処理を行う対象画素を特定する。先ず判定部211は、規定領域を構成する画素のうち特徴量が規定値以上の画素を候補画素として特定し、該特定したそれぞれの候補画素について、該候補画素の画素位置と重なっている閾値マトリクスの要素(閾値)を特定する。そして判定部211は、該特定したそれぞれの要素(閾値)のうち最も小さい要素(閾値)に対応する画素位置の候補画素を、強調処理を行う対象画素として特定する。
このようにして特定した対象画素は、強調処理を適用しなくても、後述する処理後の画素値が大きくなりやすい画素である。従って、強調処理の結果、後述の処理後の画素値が大きくなっても、平坦部におけるパターンと比較して目立ちにくいため、このような方法でもって特定した対象画素を強調処理の対象とすることは有効である。
なお、入力画像における規定領域は特定の領域に限らず、例えば、入力画像において空、建物、人、自動車、等の被写体ごとの領域であってもよいし、入力画像を複数の矩形領域に分割したことで得られるそれぞれの矩形領域であってもよい。
ステップS1303では、画素取得部200は、RAM101に格納されている入力画像から未だ選択していない画素のうち1つを選択画素として選択し、該選択画素の複数色の画素値のうち未選択の色(選択色)の画素値を該RAM101から取得する。
ステップS1304では、分割部212は、図11に示す如く、ステップS1303で取得した8ビットの画素値を上位2ビットのビット列で表される基準量子化値と、下位6ビットのビット列で表される比較画素値と、に分割する。
ステップS1305では、比較部215は、ステップS1304における分割で取得した比較画素値と、閾値補正部214から供給された閾値と、の大小比較を行う。そしてこの大小比較の結果、比較画素値が閾値よりも大きい場合、比較部215は、該比較画素値の階調数変換の結果として、ステップS1303で取得した8ビットの画素値のビット数よりも小さいビット数を有する中間値(比較画素値の階調数よりも小さい階調数の中間値)「1」を出力する。一方、この大小比較の結果、比較画素値が閾値以下の場合、比較部215は、該比較画素値の階調数変換の結果として、ステップS1303で取得した8ビットの画素値のビット数よりも小さいビット数を有する中間値(比較画素値の階調数よりも小さい階調数の中間値)「0」を出力する。
ステップS1306で強調処理部216は、ステップS1303で選択した選択画素が、ステップS1302で「強調処理を行う対象画素」として特定された画素である場合、ステップS1305で比較部215から出力された中間値に対して強調処理を行う。中間値に対する強調処理には様々な処理が考えられるが、本実施形態では、中間値に対する強調処理では、該中間値に対して「1」を加える。
ステップS1307では、出力値生成部209aは、ステップS1306において強調処理が施された中間値と、ステップS1304における分割で取得した基準量子化値と、の合計値(出力値)を求める。この合計値は、「入力画像に対するハーフトーン処理の結果である出力画像において、上記の選択画素に対応する画素の、選択色の画素値」として出力するのであるが、出力する値は2ビットである。そのため、合計値が2ビットを超える場合、すなわち4以上になる場合には、出力値生成部209aは、4以上となった合計値を2ビットの最大数である「3」に変更する。
一方、ステップS1308では、出力値生成部209bは、ステップS1305で比較部215から出力された中間値と、ステップS1304における分割で取得した基準量子化値と、の合計値(出力値)を求める。なお、ステップS1307と同様、合計値が2ビットを超える場合、すなわち4以上になる場合には、出力値生成部209bは、4以上となった合計値を2ビットの最大数である「3」に変更する。
ステップS1309では、選択部217は、ステップS1307において出力値生成部209aが求めた出力値(第1出力値)、ステップS1308において出力値生成部209bが求めた出力値(第2出力値)、のうちいずれか一方を出力する。なお、強調処理を行う対象画素以外の画素については第2出力値を出力することになる。
選択部217が第1出力値を出力したということは、「選択画素に対応する出力画像の画素の選択色の画素値」として強調処理が施された画素値を出力したことになる。一方、選択部217が第2出力値を出力したということは、「選択画素に対応する出力画像の画素の選択色の画素値」として強調処理が施されていない画素値を出力したことになる。このように、選択部217が出力する出力値を切り替えることで、色単位で、強調処理が施された画素値を出力するのか、それとも強調処理が施されていない画素値を出力するのか、を切り替えることができる。
そして、画素出力部210は、選択部217が出力した出力値を出力する。本実施形態でも第1の実施形態と同様、画素出力部210による出力値の出力先は特定の出力先に限らない。
ステップS1310では、閾値補正部214は、選択画素の画素位置に対応する閾値マトリクスにおける要素(閾値)を補正した補正閾値を、「次のステップS1303で取得される選択画素の画素値(選択画素について、選択色の画素値の次に取得される次選択色の画素値)から分割された比較画素値との大小比較(ステップS1305)に用いられる閾値」として求め、該求めた補正閾値を比較部215に供給する。
閾値補正部214は、出力値生成部209bが求めた第2出力値を参照値として取得し、該取得した参照値を用いて補正閾値を求める。選択画素の各色に対応する閾値について図12を用いて説明する。
閾値補正部214は(遅くともステップS1305までに)、選択画素について最初に取得した色(1色目)の画素値から分割された比較画素値との大小比較に用いる閾値として、「閾値取得部213が取得した閾値マトリクスにおいて、該選択画素に対応する閾値θ1」を比較部215に供給する。これにより比較部215は、選択画素の1色目の画素値から分割された比較画素値と補正閾値θ1との大小比較を行う。
そして閾値補正部214は、選択画素の1色目の画素値に基づいて求めた参照値を取得すると、上記のθ1を該参照値を用いて補正した補正閾値θ2を、「選択画素について2番目に取得する色(2色目)の画素値から分割される比較画素値との大小比較に用いる閾値」として求める。θ2は、θ2=θ1+(選択画素の1色目の画素値に基づいて取得した参照値)×オフセット」を計算することで求めることができる。そして閾値補正部214は、このようにして求めた補正閾値θ2を比較部215に供給する。これにより比較部215は、選択画素の2色目の画素値から分割された比較画素値と補正閾値θ2との大小比較を行う。
そして閾値補正部214は、選択画素の2色目の画素値に基づいて求めた参照値を取得すると、上記のθ2を該参照値を用いて補正した補正閾値θ3を、「選択画素について3番目に取得する色(3色目)の画素値から分割される比較画素値との大小比較に用いる閾値」として求める。θ3は、θ3=θ2+(選択画素の2色目の画素値に基づいて取得した参照値)×オフセット」を計算することで求めることができる。そして閾値補正部214は、このようにして求めた補正閾値θ3を比較部215に供給する。これにより比較部215は、選択画素の3色目の画素値から分割された比較画素値と補正閾値θ3との大小比較を行う。
そして閾値補正部214は、選択画素の3色目の画素値に基づいて求めた参照値を取得すると、上記のθ3を該参照値を用いて補正した補正閾値θ4を、「選択画素について4番目に取得する色(4色目)の画素値から分割される比較画素値との大小比較に用いる閾値」として求める。θ4は、θ4=θ3+(選択画素の3色目の画素値に基づいて取得した参照値)×オフセット」を計算することで求めることができる。そして閾値補正部214は、このようにして求めた補正閾値θ4を比較部215に供給する。これにより比較部215は、選択画素の4色目の画素値から分割された比較画素値と補正閾値θ4との大小比較を行う。
このように、先行する色に対応する処理結果を受けてそれぞれの色に対応する補正閾値を求めることで、同一の閾値により全色の画素が等確率で同じ比較結果になることを防止する。
なお、補正閾値が閾値レンジを超える場合には、補正閾値をmod(補正閾値、閾値レンジ)とする。ここで、mod(a、b)は、aをbで割った余りを返す関数である。これにより、先行色で大きな値が出力される場合、次の色は比較部215で先行色とは異なる判定がされやすくなる。これにより、出力される量子化結果が重なりづらくなることで、出力画像全体としてざらつきが目立ちにくい出力画像を得ることができる。
仮に先行色の第1出力値を参照して補正閾値を求めた場合、第2出力値よりも大きな第1出力値によって、後続色の第1出力値、第2出力値のいずれにおいても、小さな結果となる可能性がある。この場合、強調画素の出力値は、先行色においては大きな値となり、後続色は比較的小さな値が出力される可能性があり、カラーバランスを崩す要因となる。従って、強調処理が施された第1出力値を参照することは好ましくなく、強調処理を施していない第2出力値を参照することが好ましい。
ステップS1311では、画素取得部200は、選択画素における全ての色の画素値を取得したか否かを判断する。このような判断の結果、選択画素における全ての色の画素値を取得した場合には、処理はステップS1312に進む。一方、このような判断の結果、選択画素においてまだ取得していない色の画素値が残っている場合には、処理はステップS1303に戻り、画素取得部200は、該選択画素の複数色の画素値のうち未選択の色(選択色)の画素値を該RAM101から取得する。
ステップS1312では、画素取得部200は、入力画像における全ての画素を選択画素として選択したか否かを判断する。このような判断の結果、入力画像における全ての画素を選択画素として選択した場合には、図13のフローチャートに従った処理は終了する。一方、このような判断の結果、入力画像において未だ選択画素として選択していない画素が残っている場合には、処理はステップS1303に戻る。この場合、ステップS1303では画素取得部200は、RAM101に格納されている入力画像から未だ選択していない画素のうち1つを選択画素として選択し、該選択画素の複数色の画素値のうち未選択の色(選択色)の画素値を該RAM101から取得する。
なお、本実施形態は、画像処理装置をパイプライン回路として構成する際に回路性能を向上させることができる。パイプライン回路のスループットは、フィードバックループ上に存在する回路のロジック段数がボトルネックとなる。これは、あるデータの処理が参照関係にあるデータの処理の完了後でないと開始できないことに由来する。本実施形態では、同様の動作を行う出力値生成部209aおよび出力値生成部209bを有することで、フィードバックループを構成する階調数変換部(閾値補正部214及び比較部215)から出力値生成部209bの間に強調処理部216を含めない。これにより、フィードバックループ内の回路上に余分なロジック段数が増加することがないため、パイプライン回路のスループットを最大限向上させることができる。
本実施形態では、入力画像における注目画素の第1色の画素値の下位ビットと閾値とに基づいて、該画素値よりもビット数が小さい中間値を取得し、該中間値と該画素値の上位ビットとに基づく第1出力画素値を取得する。そして、該中間値に対して強調処理を行った結果と該画素値の上位ビットとに基づく第2出力画素値を取得し、該第1出力画素値および該第2出力画素値の何れかを出力する。そして、第1出力画素値に基づいて閾値を補正することで、注目画素の第2色の画素値について用いる閾値を求める。
このように、本実施形態によれば、画素が複数の色により構成される入力画像において、先行色の画素の処理結果を参照しつつ所定画素を強調しながら後続の注目色の画素を処理することで、好適なハーフトーン画像を得ることが可能となる。
[第3の実施形態]
第1の実施形態では、エッジ判定画素を強調しながら誤差拡散処理する例を示した。これにより、エッジ画素の強調処理も、その周囲画素における疑似的な階調表現も可能となる。また第2の実施形態では、先行色の処理結果として、強調処理実施・非実施の2通りの処理結果を生成し、後続色の処理には強調処理非実施の処理結果を閾値に反映させて画素値と比較する例を示した。これにより、各色の処理結果が異なることで、ざらつきが目立ちにくくなるとともに、各色単体で見ると強調処理が実施された好適な出力画像を得ることができる。但し、強調処理は、例示したものに限らず、例えば、特開2016−15598号公報に開示されているような細線を補正するような処理であってもよい。また、第2の実施形態における画素値と閾値の比較方法は、画素単位で比較することに限らず、例えば、特開2016−21735号公報に開示されているように領域単位で比較する方法でもよい。その場合、先行色の処理結果も領域単位で参照され、各画素に対応する閾値に対して先行色の各処理結果が反映される。
第1の実施形態では、エッジ判定画素を強調しながら誤差拡散処理する例を示した。これにより、エッジ画素の強調処理も、その周囲画素における疑似的な階調表現も可能となる。また第2の実施形態では、先行色の処理結果として、強調処理実施・非実施の2通りの処理結果を生成し、後続色の処理には強調処理非実施の処理結果を閾値に反映させて画素値と比較する例を示した。これにより、各色の処理結果が異なることで、ざらつきが目立ちにくくなるとともに、各色単体で見ると強調処理が実施された好適な出力画像を得ることができる。但し、強調処理は、例示したものに限らず、例えば、特開2016−15598号公報に開示されているような細線を補正するような処理であってもよい。また、第2の実施形態における画素値と閾値の比較方法は、画素単位で比較することに限らず、例えば、特開2016−21735号公報に開示されているように領域単位で比較する方法でもよい。その場合、先行色の処理結果も領域単位で参照され、各画素に対応する閾値に対して先行色の各処理結果が反映される。
また、図2や図10に示した機能部はハードウェアで実装してもよいし、ソフトウェア(コンピュータプログラム)で実装してもよい。なお、図2や図10の機能部をコンピュータプログラムで実装する場合、CPU100が該機能部に対応するコンピュータプログラムを実行することで、対応する機能部の機能が実現される。なお、上記では、図2や図10の機能部を処理の主体として説明しているが、該機能部をコンピュータプログラムで実装する場合、CPU100が該機能部に対応するコンピュータプログラムを実行することで、該機能部の機能を実現させている。
また、上記の説明において使用した数値、処理タイミング、処理順などは、具体的な説明を行うために一例として挙げたものであり、これらの数値、処理タイミング、処理順などに限定することを意図したものではない。
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
200:画素取得部 201:判定部 202:画素値補正部 203:量子化部 204:エッジ強調部 205:調整部 206:逆量子化部 207:誤差生成部 208:拡散フィルタ部 209:出力値生成部 210:画素出力部
Claims (12)
- 入力画像における注目画素の画素値に、該注目画素に対して拡散された誤差を加算し、該加算後の画素値を量子化し、該量子化後の画素値に対してエッジ強調を行った強調画素値を求め、該強調画素値に基づいて出力画素の画素値を求める処理手段と、
前記強調画素値に基づく逆量子化結果と、前記入力画像における注目画素の画素値に前記誤差を加算した結果と、の差分に基づいて、他の画素に拡散する誤差を求める拡散手段と
を備えることを特徴とする画像処理装置。 - 前記拡散手段は、前記強調画素値からエッジの強度を下げた画素値を求め、該求めた画素値の逆量子化結果と、前記入力画像における注目画素の画素値に前記誤差を加算した結果と、の差分に基づいて、他の画素に拡散する誤差を求めることを特徴とする請求項1に記載の画像処理装置。
- 入力画像における注目画素の第1色の画素値の下位ビットと閾値とに基づいて、該画素値よりもビット数が小さい中間値を取得する処理手段と、
前記中間値と前記画素値の上位ビットとに基づく第1出力画素値を取得する第1取得手段と、
前記中間値に対して強調処理を行った結果と前記画素値の上位ビットとに基づく第2出力画素値を取得する第2取得手段と、
前記第1出力画素値および前記第2出力画素値の何れかを出力する出力手段と、
前記第1出力画素値に基づいて前記閾値を補正することで、前記注目画素の第2色の画素値について前記処理手段で用いる閾値を求める補正手段と
を備えることを特徴とする画像処理装置。 - 前記処理手段は、前記下位ビットと前記閾値との大小比較の結果に応じた中間値を取得することを特徴とする請求項3に記載の画像処理装置。
- 前記第1取得手段は、前記中間値と前記画素値の上位ビットとの和を前記第1出力画素値として取得することを特徴とする請求項3または4に記載の画像処理装置。
- 前記第2取得手段は、前記注目画素が強調処理を行う対象となる対象画素である場合には、前記中間値に対して強調処理を行った結果と前記画素値の上位ビットとに基づく第2出力画素値を取得することを特徴とする請求項3ないし5の何れか1項に記載の画像処理装置。
- 前記第2取得手段は、前記入力画像における規定領域を構成する画素のうち、特徴量が規定値以上であり且つ対応する閾値が該規定領域における各画素に対応する閾値の中で最も小さい画素を、強調処理を行う対象となる対象画素とすることを特徴とする請求項6に記載の画像処理装置。
- 前記出力手段は、前記第1出力画素値および前記第2出力画素値の何れかを、出力画像において前記注目画素に対応する画素の画素値として出力することを特徴とする請求項3ないし7のいずれか1項に記載の画像処理装置。
- 前記補正手段は、前記注目画素の第1色の画素値について前記処理手段で用いる閾値に(前記第1出力画素値×オフセット)を加えた結果を、前記注目画素の第2色の画素値について前記処理手段で用いる閾値として求めることを特徴とする請求項3ないし8の何れか1項に記載の画像処理装置。
- 画像処理装置が行う画像処理方法であって、
前記画像処理装置の処理手段が、入力画像における注目画素の画素値に、該注目画素に対して拡散された誤差を加算し、該加算後の画素値を量子化し、該量子化後の画素値に対してエッジ強調を行った強調画素値を求め、該強調画素値に基づいて出力画素の画素値を求める処理工程と、
前記画像処理装置の拡散手段が、前記強調画素値に基づく逆量子化結果と、前記入力画像における注目画素の画素値に前記誤差を加算した結果と、の差分に基づいて、他の画素に拡散する誤差を求める拡散工程と
を備えることを特徴とする画像処理方法。 - 画像処理装置が行う画像処理方法であって、
前記画像処理装置の処理手段が、入力画像における注目画素の第1色の画素値の下位ビットと閾値とに基づいて、該画素値よりもビット数が小さい中間値を取得する処理工程と、
前記画像処理装置の第1取得手段が、前記中間値と前記画素値の上位ビットとに基づく第1出力画素値を取得する第1取得工程と、
前記画像処理装置の第2取得手段が、前記中間値に対して強調処理を行った結果と前記画素値の上位ビットとに基づく第2出力画素値を取得する第2取得工程と、
前記画像処理装置の出力手段が、前記第1出力画素値および前記第2出力画素値の何れかを出力する出力工程と、
前記画像処理装置の補正手段が、前記第1出力画素値に基づいて前記閾値を補正することで、前記注目画素の第2色の画素値について前記処理工程で用いる閾値を求める補正工程と
を備えることを特徴とする画像処理方法。 - コンピュータを、請求項1ないし9の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020093671A JP2021190807A (ja) | 2020-05-28 | 2020-05-28 | 画像処理装置、画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020093671A JP2021190807A (ja) | 2020-05-28 | 2020-05-28 | 画像処理装置、画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021190807A true JP2021190807A (ja) | 2021-12-13 |
Family
ID=78847559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020093671A Pending JP2021190807A (ja) | 2020-05-28 | 2020-05-28 | 画像処理装置、画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021190807A (ja) |
-
2020
- 2020-05-28 JP JP2020093671A patent/JP2021190807A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4902837B2 (ja) | モノクロ画像への変換方法 | |
US8929681B2 (en) | Image processing apparatus and image processing method | |
US8509569B2 (en) | Optimization of image processing using multiple processing units | |
JP6824052B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP2005527880A (ja) | ユーザ定義可能な画像参照ポイント | |
JP4498233B2 (ja) | 画像処理装置および画像処理方法 | |
EP1368960A2 (en) | Digital image appearance enhancement and compressibility improvement method and system | |
US11288783B2 (en) | Method and system for image enhancement | |
CN107408401B (zh) | 用于图像的简化调整的用户滑块 | |
JP6573375B2 (ja) | 画像処理装置、画像処理装置の制御方法およびプログラム | |
JPH11150656A (ja) | 画像処理方法および装置、並びにその処理を実行するためのプログラムを記録した記録媒体 | |
JP4262151B2 (ja) | 画像処理方法および画像処理装置およびコンピュータプログラムおよび記憶媒体 | |
JP2002199216A (ja) | 自動画像処理技術を対話式に使用し、訓練する方法 | |
JP4997846B2 (ja) | 画像処理プログラムおよび画像処理装置 | |
JP2021190807A (ja) | 画像処理装置、画像処理方法 | |
JP6736299B2 (ja) | 印刷装置、印刷方法、および、プログラム | |
JPWO2020166596A1 (ja) | 画像処理システム及びプログラム | |
JP6190152B2 (ja) | 画像処理装置及び画像処理方法 | |
JP7005796B2 (ja) | 画像形成装置、その制御方法、及びプログラム | |
JP2012239095A (ja) | 画像処理装置、好適画像判定方法、およびコンピュータプログラム | |
JP6919433B2 (ja) | 画像処理装置、画像処理方法、画像処理システムおよびプログラム | |
JP4793175B2 (ja) | 画像処理プログラムおよび画像処理装置 | |
JP4152337B2 (ja) | 画像処理装置 | |
JP4375223B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
CN115857921A (zh) | 基于关键点插值的背景动态渲染方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |