JP3976863B2 - 画像処理装置及び方法 - Google Patents
画像処理装置及び方法 Download PDFInfo
- Publication number
- JP3976863B2 JP3976863B2 JP35576097A JP35576097A JP3976863B2 JP 3976863 B2 JP3976863 B2 JP 3976863B2 JP 35576097 A JP35576097 A JP 35576097A JP 35576097 A JP35576097 A JP 35576097A JP 3976863 B2 JP3976863 B2 JP 3976863B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- unit
- data
- input
- output
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
- H04N1/4052—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/40087—Multi-toning, i.e. converting a continuous-tone signal for reproduction with more than two discrete brightnesses or optical densities, e.g. dots of grey and black inks on white paper
Description
【発明の属する技術分野】
本発明は、特に多値画像データをnbitの画像データに変換する為の画像処理方法及び装置に関するものである。
【0002】
【従来の技術】
中間調表現をおこなうための画像形成手法として誤差拡散法(以後EDと呼ぶ)や平均濃度保存法(以後MDと呼ぶ)などが一般に知られている。これらは、少ない階調数を用いて面積階調表現することにより、マクロ的に中間調を表現しようとするものである。つまり、疑似中間調表現法である。これは、少ない階調数で画像形成できるために、画像データを扱うハードウェアへの負荷を低減できるといった効果がある。
【0003】
【発明が解決しようとする課題】
しかしながら、プリンターの特性によっては、n値化処理に於ける孤立ドットを正確に出力できないものがあった。そのような孤立ドットを正確に出力できないようなプリンタで疑似中間調表現法をおこなうと、ある濃度域でムラが発生したり、疑似輪郭が発生したりする問題があった。
【0004】
そこで、そのようなプリンタ特性のものに対しては、ある程度ドットを集中させることで対処することが提案されている。しかしながら、単にドットの集中化のみを全濃度域に対しておこなうと、画像全体の出力解像度を落としてしまうという問題が生じる。
【0005】
また、一つのプリンター特性にあわせて、ドットを集中化させるハードウェアを作り込んでしまうと、プリンタの特性が変わったときに、また、ハードウェアの作り直しを余儀なくされてしまうという問題があった。
【0006】
一方、FAXなどで誤差拡散系の画像を圧縮した場合、白ドットと黒ドットのつながる比率が低いことから、圧縮率が上げられない問題があった。
【0007】
本発明は上記の問題に鑑みてなされたものであり、多値画像データのn値化状態に基づいてドットの集中化を制御することを可能とし、ドット集中化に伴う出力解像度の低下を防止する画像処理装置及びその方法を提供することを目的とする。
【0008】
また、本発明の他の目的は、プリンタの特性に応じたドットの集中化量の制御を可能とすることにある。
【0009】
また、本発明は、例えば疑似輪郭やムラが発生しやすい所望の濃度領域においてドットの集中化量を制御することが可能な画像処理装置及び方法を提供することを目的とする。
【0010】
また、本発明の他の目的は、過去のn値化の結果の配置パターンに応じてn値化処理のしきい値を制御することで、正確なテクスチャの制御を可能とすることにある。ここで、正確なテクスチャ制御とは、記録時に所望のドット配置に制御することをいう。
【0011】
【課題を解決するための手段】
上記の目的を達成するための本発明の一態様である画像処理装置は、例えば次のような構成を備えている。すなわち、
多値画像データを入力する入力手段と、
前記入力手段により入力した多値画像データの各画素について、処理対象の画素の画素データと当該画素に蓄積された誤差データとの加算値をn値化処理してn値データと誤差データとを取得し、取得された誤差データを他の未処理の画素に分散、蓄積させる変換手段と、
前記変換手段により得られたn値データによって表現されるドットの集中化量を制御する制御手段と、
前記変換手段によって得られた複数画素のn値データを記憶する記憶手段とを備え、
前記制御手段は、前記記憶手段に記憶されている複数画素のn値データの平均濃度値と、前記入力手段で入力された多値画像データの濃度値に基づいて算出された閾値変更量と、操作部から設定された定数との加算値を、前記変換手段におけるn値化処理に用いられる閾値とすることによりドットの集中化量を制御し、
前記制御手段では、前記操作部から設定された前記定数により、前記ドットを集中化すべき濃度領域が設定される。
【0012】
又、上記の目的を達成するための本発明の他の態様による画像処理方法は、
多値画像データを入力する入力工程と、
前記入力工程により入力した多値画像データの各画素について、処理対象の画素の画素データと当該画素に蓄積された誤差データとの加算値をn値化処理してn値データと誤差データとを取得し、取得された誤差データを他の未処理の画素に分散、蓄積させる変換工程と、
前記変換工程により得られたn値データによって表現されるドットの集中化量を制御する制御工程と、
前記変換工程によって得られた複数画素のn値データを記憶する記憶工程とを備え、
前記制御工程は、前記記憶工程で記憶された複数画素のn値データの平均濃度値と、前記入力工程で入力された多値画像データの濃度値に基づいて算出された閾値変更量と、操作部から設定された定数との加算値を、前記変換工程におけるn値化処理に用いられる閾値とすることによりドットの集中化量を制御し、
前記制御工程では、前記操作部から設定された前記定数により、前記ドットを集中化量すべき濃度領域が設定される。
【0015】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【0016】
[第1の実施形態]
●処理概略
図1は第1の実施形態による複写機の処理構成全体の概略を示したブロック図である。画像読み取り部109は、レンズ101、CCDセンサ102、アナログ信号処理部103等により構成される。レンズ101を介しCCDセンサ102に結像された原稿画像は、CCDセンサ102によりR(Red)、G(Green)、B(Blue)のアナログ電気信号に変換される。電気信号に変換された画像情報は、アナログ信号処理部103に入力され、R、G、B、の各色毎にサンプル&ホールド、ダークレベルの補正等が行われ、その後アナログ・デジタル変換(A/D変換)される。以上のようにしてデジタル化されたフルカラー信号は、画像処理部104に入力される。
【0017】
画像処理部104では、シェーディング補正、色補正、γ補正等の読み取り系で必要な補正処理や、スムージング処理、エッジ強調、その他の処理、加工等が行われ、プリンタ部105に出力される。
【0018】
プリンタ部105は、レーザ等からなる露光制御部(図示せず)、画像形成部(図示せず)、転写紙の搬送制御部(図示せず)等により構成され、入力された画像信号により転写紙上に画像を記録する。
【0019】
また、CPU回路部110は、CPU106、ROM107、RAM108等により構成され、画像読み取り部109、画像処理部104、プリンタ部105等を制御し、本装置のシーケンスを統括的に制御する。なお、111は、ユーザが各種設定を行うための操作部である。
【0020】
●画像処理部
次に、画像処理部104について説明する。図2は、画像処理部104の構成を示すブロック図である。
【0021】
図1のアナログ信号処理部103より出力されるデジタル画像信号は、シェーディング補正部201に入力される。シェーディング補正部201では、原稿を読み取るCCDセンサ102の特性のばらつき、及び、原稿照明用ランプの配光特性の補正を行っている。補正演算された画像信号は、輝度信号から、濃度データに変換するために、階調補正部202に入力され、濃度画像データを作成する。濃度画像データに変換された画像信号は、カラー/モノクロ変換部203に入力され、モノクロデータとして出力される。そして、カラー/モノクロ変換部203から出力されたモノクロデータは、階調変換処理部204に入力され、疑似中間調表現として誤差拡散処理(ED処理)もしくは平均濃度保存処理(MD処理)が施される。
【0022】
次に本実施形態の特徴的な構成の一つである階調変換処理部204について図3を用いて説明する。
【0023】
●階調変換処理部
図3は第1の実施形態による階調変換処理部の詳細構成を示すブロック図である。尚、第1の実施形態においては、多値画像データを2値化し、擬似中間調処理方法としてMD法を採用した構成を例に挙げて説明する。
【0024】
図3において、誤差補正部302は、カラーモノクロ変換部203からの画像信号Dと、後述する2値化処理部301で発生した2値化誤差データEとを入力し、後述する誤差補正を行って画像信号DEを算出する。誤差補正部302で得られた画像信号DEは2値化部301へ出力される。
【0025】
2値化部301は、誤差補正部302よりの画像信号DEと、後述する加算部306よりの2値化スライス値Sと、平均濃度算出部304よりの平均濃度算出値mとを入力し、画像信号DEと2値化スライス値Sとを比較することによって2値出力Nを求め、画像信号DEと平均濃度算出値mとを減算処理することによって2値化誤差データEの算出を行う。詳細は後述するが、この2値化部301に入力される「2値化スライス値」を平均濃度算出値mに基づいて変化させることによりドットの集中化量を適切に制御し、画質を改善する。
【0026】
2値化結果遅延部303は、2値出力Nを入力し、所定のライン数の遅延を行い、複数ラインに跨がった複数の2値化結果Nmnを平均濃度算出部304に送る。平均濃度算出部304は、複数の2値化結果Nmnを入力し、予め設定してある係数との積和演算(後述)を行い平均濃度算出値mを得る。得られた、平均濃度算出値mは、スライス値制御部305と加算部306と2値化部301とへ入力される。
【0027】
スライス値制御部305は、平均濃度算出値mを入力し、後述する処理によって平均濃度算出値mに応じた、各濃度領域でのしきい値制御量IIを算出して、加算部306へ送る。加算部306は、平均濃度算出部304の出力mと、スライス値制御部305の出力IIとを入力し、後述するリミッタをかけた加算をおこない、2値化部301へとデータSの出力をおこなう。以下に各処理部の詳細を説明する。
【0028】
図4は2値化部301の構成を示すブロック図である。2値化部301は、画像信号DEと、後述する2値化スライス値Sと、後述する平均濃度算出値mとを入力し、これらを比較することによって、2値出力N及び2値化誤差データEの出力を行う。
【0029】
入力された画像信号DEは、2系統に別れ、一方は比較回路401に入力され、もう一方は減算回路402に入力される。比較回路401では、画像信号DEと、2値化スライス値Sとの値を比較し、
DE>Sの時は、N=1、
DE≦S の時は、N=0
として2値出力Nを出力する。
【0030】
また、減算回路402では、平均濃度算出値mから画像信号DEの値を差し引き、これを2値化誤差データEとして出力を行う。従って、減算回路402より得られる2値化誤差データEは、
E=m−DE
となる。
【0031】
次に、誤差補正部302について説明する。図5は誤差補正部302の構成を示すブロック図である。また、図6は誤差補正部302の動作を説明する図である。図5に示されるように、誤差補正部302は、画像信号Dと2値化誤差データEとを入力し、画像信号Dに誤差補正を行った画像信号DEを算出し、2値化部301へと出力を行う。入力された2値化誤差データEは除算回路501によって1/2にされる。その結果は2系統に分岐し、一方は減算回路502に、もう一方はラインバッファ503に入力される。
【0032】
減算回路502では、2値化誤差データEとE/2の差EBを算出し、加算回路504にその結果を入力する。ここで、わざわざ1−E/2の計算を行うのはEが奇数の場合にその余りが捨てられてしまうのを防ぐためである。すなわち、、除算回路501で計算したE/2は、ラインバッファ503に入力するため、Eの値が奇数の場合はE/2のあまりが切り捨てられている。このため、加算回路504に入力する値は、E−E/2の演算で求めないと、切り捨てられた余りはそのまま捨てられてしまうことになるからである。また、加算回路504では、複数ビット(本実施形態の場合8ビットとする)1ライン分のラインバッファ503によって1ライン分遅延されたEAとEBとの和を算出し、これを加算回路505に出力する。加算回路505では、1ライン分遅延されたEAとEBとの和と、画像信号Dとの和を算出し、これを画像信号DEとして出力する。
【0033】
つまり、誤差補正部302では、図6に示すように、注目画素に対して1ライン上のAの画素を2値化して生じた2値化誤差EAと1画素前のBを2値化して生じた2値化誤差EBとを注目画素のデータに足し込む処理を行う。
【0034】
次に2値化結果遅延部303について説明する。図7は2値化結果遅延部303の構成を示すブロック図である。また、図8は2値化結果遅延部303によって出力される2値化結果Nmnを説明する図である。図7に示されるように、2値化結果遅延部303は、2値化部301よりの2値化出力Nを入力し、所定のライン数の遅延を行い、図8に示す複数の2値化結果Nmnを平均濃度算出部304に対して出力する。
【0035】
入力された2値出力Nは、1ビット1ライン分のラインバッファ601からラインバッファ602へと送られていき、データがライン毎に遅延されていく。
【0036】
また、遅延されないデータは、1画素分の遅延回路からなる遅延603〜遅延606によって、次々と1画素分の遅延がなされる。そして、遅延605の出力、遅延606の出力をそれぞれN14、N15として出力する。同様に、ラインバッファ601によって1ライン分遅延がなされた2値化データは、遅延607〜遅延610によって遅延され、N21からN25として、また、ラインバッファ602によってもう1ライン分遅延がなされた2値化データは、遅延611〜遅延614によって遅延され、N31からN35として出力される。
【0037】
つまり、2値化結果遅延部303では、2次元の画像を2値化したデータNについて複数ライン、複数画素の遅延処理が施され、複数ラインの2値化結果Nmnとして、注目画素図8に示すような位置関係にある画素の2値化結果が平均濃度算出部304に入力されることになる。
【0038】
次に平均濃度算出部304について説明する。図9は平均濃度算出部304の構成を示すブロック図である。また、図10は、平均濃度算出部304における係数の一例を示す図である。平均濃度算出部304は、複数ラインの2値化結果Nmnを2値化結果遅延部304より入力し、予め設定してある係数(図10)との間で積和演算を行い、平均濃度値mとして出力する。この平均濃度値mは、2値化部301とスライス値制御部305とで使用される。
【0039】
乗算回路801では、2値化データN15と、係数M15とを入力し、両者の乗算結果を出力する。また、乗算回路802では、2値化データN14と、係数M14とを入力し、両者の乗算結果を出力する。同様な演算を乗算回路803〜乗算回路812の全ての回路によって行い、それらの乗算結果を加算回路813によって全て足し込む。そして、その結果を平均濃度算出値mとして出力を行う。なお、図9に示される係数Mmnの一例を図10に示してある。図10では、各Nmnに対応する画素位置の係数が示されている。
【0040】
次に、スライス値設定部305について説明する。図11はスライス値設定部305の構成を示すブロック図である。図11において、1011〜1014は比較器であり、入力値aが入力値bよりも小さい場合に「1」を出力する。1015〜1018はインバータであり、入力値を反転して出力する。1019はORゲート、1020〜1022はANDゲートである。1023はエンコーダであり、入力端子0〜3の入力に応じて、数値0〜3を出力する。1024及び1026はそれぞれ定数「0」と「ALF」を出力する定数発生器である。また、1025及び1027は、平均濃度値mと定数LR1〜LR4を用いて演算を行う演算器である。1028はセレクタであり、0〜3の入力値に従って、入力端子0〜3の何れかを選択して出力する。
【0041】
以上のような回路構成によれば、入力された平均濃度算出値mと、定数LR1/LR2/LR3/LR4とに基づいてスライス値変更量IIを演算し、その結果が出力されることになる。図12は図11に示した構成の動作を説明する図である。ここでは、説明を明確にする為にプログラム言語Cで示した。図11ではスライス値設定部305をハードウエア構成で示したが、図12で示すようにソフトウエアで実現することも可能である。
【0042】
図12において、まず、1001部は、入力された平均濃度算出値m(0〜255の値を取り得る)が、定数LR1(例えば32)未満の場合は、スライス値変更量IIを0に設定する処理をおこなう。すなわち、m<LR1の場合は、図11の比較器1011の出力が「1」となって、ORゲート1019の出力が「1」となり、セレクタ1028によって定数器1024の値が選択される。
【0043】
また、1002部では、入力された平均濃度算出値mが、定数LR1以上かつ定数LR2(例えば128)未満の場合に、スライス値変更量IIを以下の式により求めている。すなわち、
II=ALF ×(m−LR1)/(LR2−LR1)…(1)
ここで、ALFは定数(例えば32)
この演算により、スライス値変更量IIの値は、平均濃度算出値mの値が定数LR1から定数LR2に増加するに従い、徐々に0から定数ALFに近づくことになる。この場合の図11における動作は、まず、比較器1011の出力が「0」、比較器1012の出力が「1」になり、ANDゲート1020の出力が「1」となる。そして、エンコーダ1023より「1」が出力されて、セレクタ1028は演算器1025の出力を選択する。ここで、演算器1025では、上記の(1)式の演算が行われている。
【0044】
同様な処理を1003部、1004部、1005部でおこなう。
【0045】
つまり、1003部では、入力された平均濃度算出値mが、定数LR2以上かつ定数LR3(例えば192)未満の場合に、スライス値変更量IIを定数ALFとして出力する。また、1004部では、入力された平均濃度算出値mが、定数LR3以上かつ定数LR4(例えば250)未満の場合に、スライス値変更量IIを以下の(2)式により求める。すなわち、
II=ALF ×(LR4−m)/(LR4−LR3)…(2)
これは、先程の1002部とは逆に、平均濃度算出値mの値がLR3から定数LR4に増加するに従い、スライス値変更量IIが、徐々に定数ALFから0に近づくことになる。更に、1005部では、入力mがLR4以上の時、スライス値変更量IIを0にする処理をおこなう。以上の処理により、スライス値制御部305のスライス値変更量IIは、図13に示されるように、平均濃度算出値mの値によって変化する。なお、上記構成において、定数発生器1011〜1014、1026に設定されるLR1〜LR4、ALFは、それぞれ操作部111から所望の値に設定することができる。
【0046】
図14は加算部306の構成を示すブロック図である。加算部306は、平均濃度算出部304の出力値mと、スライス値制御部305のスライス値変更量IIとを入力し、加算処理をおこない、0以下もしくは255以上の値に対してリミッタを定数0・定数255でかけ、その結果を2値スライス値Sとして出力する。すなわち、以下の式で表される処理を行う。
【0047】
S=m+II−ALFm
if(S>255){S=255;}
if(S<0){ S=0;} …(3)
ここで、ALFm(例えば16)は、定数であり−255〜255に設定可能なものである。なお、この定数ALFmの設定は、操作部111から行うことができる。
【0048】
図14において、1051は演算器であり、入力a、b、cからa+bーcを演算してその結果を出力する。1052は比較器であり、入力a、b、cの比較結果として、a>b、c≦a≦b、a<cの各場合に、対応する出力端子から「1」が出力される。1053はエンコーダであり、入力端子0、1、2への入力に応じて0〜3をバイナリによって出力する。1054はセレクタであり、選択信号の値(0〜2)に応じて入力端子0、1、2よりの入力信号の一つが選択されて出力端子より出力される。1055〜1059は定数器である。以上の構成において、図14に示すように接続を行うと、上述のような2値スライス値Sが得られる。
【0049】
以上のような加算部306の演算(上述の(3)式)により、2値スライス値Sは、スライス値制御部305のスライス値変更量IIによって、所望の濃度領域毎にコントロールされることになる。
【0050】
以上のような処理を各画素に関して順次行っていくと、スライス値変更量IIが大きく正に変化した場合、2値スライス値Sは、大きくなり、図4に示した2値化部301で2値出力Nが0になりやすくなる。つまり、ドットが打たれづらくなる。しかし、ある程度2値出力が0のまま続くと、今度は、逆に、大きな量子化誤差が蓄積され、それが、画像信号Dに加算され、2値出力Nが1になりやくすなる。つまり、ドットが打たれやすくなる。
【0051】
その結果、ドットが打たれる場所と打たれない場所が集中化され、ドットの集中化制御が可能となる。これは、図11〜図13で述べたように、任意な濃度領域でコントロール可能である。
【0052】
また、スライス値制御部305のALFの値を負に設定しておくと、上記の説明とは逆に、平均濃度算出値mに応じて、2値スライス値を小さくできるので、ドットが散る(集中化しない)方向に制御可能となる。
【0053】
さらに、図12に示したALFを正の値に設定し、かつ、加算部306における定数ALFmを0以外の正な値に設定すると、任意の領域でドットを集中化させたり分散化させたりする複合的な制御も可能となる。
【0054】
無論、定数ALFとALFmを負の値に設定すると、上記とは逆な効果が得られることは言うまでもない。
【0055】
以上の処理により、任意な濃度領域でドットのテクスチャ制御をしながら、多値の画像データを2値に変換して出力することが可能となる。
【0056】
[第2の実施形態]
次に第2の実施形態を詳細に説明する。なお、第2の実施形態の複写機の全体的な構成は第1の実施形態(図1、図2)と同様である。また、以下では階調変換処理部(204)について説明を行うが、第1の実施形態と同様な部分は、同一番号を付け、その説明を省略する。
【0057】
さて、図3に示した実施形態1による階調変換処理部の構成は、画像信号Dが送られてくるビデオクロックが高速になると、2値化スライス値を求めるタイミングが時間的に苦しくなる。これは、平均濃度算出部304と2値化部301の間は、ビデオクロックと同じ速度で処理をおこなわなければならない場所であるにもかかわらず、2値化スライス値Sを、平均濃度算出部304の結果が出力された後、スライス値制御部305の結果を求め、さらに、その結果を用いて加算部306で演算している為である。
【0058】
そこで、第2の実施形態では、高速なビデオクロックにも対応できるように、2値化しきい値Sを求める演算部を変更した。すなわち、第1の実施形態では平均濃度算出値mに基づいて決定していたスライス値変更量IIを、第2の実施形態では乱数と入力された画像信号とに基づいて決定する。以下、第2の実施形態を詳細に説明する。
【0059】
●階調変換処理部
図15は第2の実施形態による階調変換処理部の構成を示すブロック図である。図15において、乱数発生部1101は、図16に示されるようなm系列のシフトレジスタ符号系列発生器を用いて構成される。これは、シフトレジスタの段数をNとすると2N−1を周期とする疑似乱数を簡単なハードウェアで容易に発生できる。本構成では、A3原稿を400dpiで処理をしても周期性が現れないようにする為に25段の1bitシフトレジスタにより構成した。この25段のシフトレジスタは、m系列の乱数となっており、論理的に400dpiのA3原稿の画素分同じ周期にはならない。これは論理的に求まるものである。
【0060】
本乱数発生器は、シフトレジスタ1202の各レジスタのうち、初期化でp[ii]:(0≦ii≦25)のレジスタに“0”を書き込み、p[12]のレジスタのみに“1”を設定する。なお、1203〜1205は夫々XORゲートである。そして、乱数値を出力する前に、毎回
p[0]=((p[25]^p[24]^p[23]^p[22])&1)
の演算をおこない、シフトレジスタ1202のp[17]〜p[21]のレジスタ値を用いて乱数を求める。即ち、
乱数=(1-2*p[2])*(p[17]*16+p[18]*8+p[19]*4+p[20]*2+p[21])
により、−31〜31の乱数値を出力する構成としている。
【0061】
なお、第2の実施形態では、−31〜31の乱数を用いているが、この乱数発生部を、
乱数=(1-2*p[2])*(p[18]*8+p[19]*4+p[20]*2+p[21〕)
として、−15〜15までの乱数値を出力する様に変更してもよい。
【0062】
無論、乱数の値を0にしてしまうことも可能だが、2値化スライス値を変化させテクスチャ制御を自然に行う為には、ある程度の乱数が付加されたデータを用いるのが良い。
【0063】
加算部1102は、乱数発生部1101の出力値Rと、階調変換処理部204の入力値Dとを加算し、出力値DRを求める処理部である。ここでは、図示していないが、加算結果が、0以下になった場合は加算結果を強制的に0にし、255以上になった場合は加算結果を強制的に255にするリミッタが入っている。すなわち、
DR=R+D
if(DR>255){DR=255;}
if(DR<0){DRS=0;} …(4)
で表される処理を行う。
【0064】
スライス値制御部1103は、加算部1102からの出力値DRを入力しスライス値変更量IIを演算して出力する。図17は第2の実施形態によるスライス値制御部1103の動作を示す図である。ここでは、説明を明確にする為に第1の実施形態と同様にプログラム言語Cによる記述で示した。なお、第1の実施形態において図11に図示した如くハードウエアで構成できることは当業者には明らかであろう。
【0065】
図17において、1301部は、入力された加算部1102の出力値DR(0〜255の値を取り得る)が、定数LR1(例えば32)未満の場合、スライス値変更量IIを0に設定するような処理をおこなう。
【0066】
また、1302部は、入力された信号DRが、定数LR1以上かつ定数LR2(例えば128)未満の場合に、スライス値変更量IIを以下の式(5)により求める。すなわち、
II=ALF ×(DR−LR1)/(LR2−LR1) …(5)
ここで、ALFは定数(例えば32)である。
【0067】
この演算により、スライス値変更量IIの値は、入力された信号DRの値が定数LR1から定数LR2に増加するに従い、徐々に0から定数ALFに近づくことになる。
【0068】
同様な処理を1303部、1304部、1305部でもおこなう。つまり、1303部では、入力された信号DRが、定数LR2以上かつ定数LR3(例えば192)未満の場合に、スライス値変更量IIを定数ALFとして出力する。また、1304部では、入力された信号DRが、定数LR3以上かつ定数LR4(例えば250)未満の場合に、スライス値変更量IIを以下の(6)式により求める。すなわち、
II=ALF ×(LR4−DR)/(LR4−LR3) …(6)
これは、先程の1302部とは逆に、入力された信号DRの値がLR3から定数LR4に増加するに従い、スライス値変更量IIが、徐々に定数ALFから0に近づくことになる。また、1305部では、入力された信号DRがLR4以上の時、スライス値変更量IIを0にする処理をおこなう。
【0069】
以上の処理により、スライス値制御部1103の出力値であるスライス値変更量IIは、加算部1102より入力された信号DRの値により図13のように制御されることとなる。ただし、第2の実施形態では、図13における横軸が入力された信号DRとなる。
【0070】
以上のように、実施形態2では、平均濃度算出値mの値に関係なく、画像信号Dと乱数Rとの値により、2値化のスライス値変更量IIを求められる。つまり、平均濃度算出部304で出力値mの値を演算している間に、パラレルにスライス値変更量IIを演算することが可能となる。このため、平均濃度算出部304と2値化部301のタイミングに余裕ができることになる。よって、本手法は、高速なビデオクロックに有効な手法となる。
【0071】
なお、最終的に2値化部301に入力される2値化スライス値Sは、加算部306において第1の実施形態と同様に
S=m+II−ALFm
で求めている。
【0072】
その結果、第1の実施形態と同様に、2値化したドットの集中化具合を任意の領域で自由にコントロールできることになる。つまり、任意の領域でドットを集中させたり、分散させたりすることが可能となる。
【0073】
[第3の実施形態]
つぎに、第3の実施形態を説明する。従来の手法においても、上記各実施形態の手法においても、ドットの集中化において、n値化のしきい値を、入力画像信号量、或いは乱数の加算された入力画像信号量に応じて制御するだけでは、正確にテクスチャ制御が出来ない。同様に、過去の2値化結果に重み付けして加算した加算量でn値化しきい値を制御しても、正確にテクスチャ制御は出来ない。そこで、第3の実施形態では、正確なテクスチャ制御を実現する。なお、第3の実施形態の複写機の全体的な構成は第1の実施形態(図1、図2)と同様である。また、以下では階調変換処理部(204)について説明を行うが、第1の実施形態と同様な部分は、同一番号を付け、その説明を省略する。
【0074】
●階調変換処理部
図18は第3の実施形態による階調変換処理部の詳細な構成を示すブロック図である。尚、本実施形態においても、擬似中間調処理としてMD法を例に挙げて説明する。
【0075】
誤差補正部2302は、カラーモノクロ変換部203の信号Dに後述する乱数を加算した信号DRと、後述する2値化処理部2301で発生した誤差データEとを入力し、後述する誤差補正を行った画像信号DEを算出する。算出された画像信号DEは2値化部2301へ入力される。
【0076】
2値化部2301は、画像信号DEと、後述する2値化スライス値Sと、後述する平均濃度算出値mとを入力し、画像信号DEと2値化スライス値Sとを比較することによって、2値出力Nを求めた後、画像信号DEと平均濃度算出値mとを減算処理することによって、2値化誤差データEの算出を行う。
【0077】
2値化結果遅延部2303は、2値出力Nを入力し、所定のライン数の遅延を行い、複数ラインの2値化結果Nmn及びB*ijを得る。そして、Nmnは平均濃度算出部2304へ、B*ijはしきい値算出部2305にそれぞれ入力される。
【0078】
平均濃度算出部2304は、複数ラインの2値化結果Nmnを入力し、予め設定してある係数と、遅延された2値結果とで積和演算を行い平均濃度算出値mを得る。そして、得られた平均濃度算出値mは、しきい値算出部2305と2値化部2301とへ出力される。
【0079】
しきい値算出部2305は、平均濃度算出部2304より出力される平均濃度算出値m、2値化結果遅延部2303より出力されるB*ij、入力多値データD、およびヒステリシス制御量算出部2308の出力Tとを入力し、B*ij信号によって示される過去の2値化状況(パターン)に基づいて、各濃度領域に於けるしきい値制御量を算出し、2値化スライス値Sとして2値化部2301ヘ出力する。
【0080】
乱数発生部2306は、後述する手法により、−17から+17の間のm系列の乱数を生成する。加算部2307では、階調処理部204に入力された画像信号Dと乱数発生部2306よりの乱数Rとの加算処理が行われて信号DRが得られる。このとき、図示していないが、加算結果DRが0〜255の間に収まるようにリミッタ処理が行われて、加算部2307よりDRが出力される(詳細は後述する)。
【0081】
ヒステリシス制御量算出部2308は、後述する手法により、加算部307の出力信号DRに応じたしきい値制御を行う。以下、図面を参照しながら各処理部の詳細を説明する。
【0082】
2値化部2301は、第1の実施形態で説明した2値化部301と同様の構成(図4)を備える。すなわち、画像信号DEと、後述する2値化スライス値Sと、後述する平均濃度算出値mとを入力し、これらを比較することによって、2値出力N及び2値化誤差データEの出力を行う。入力された画像信号DEは、2系統に別れ、一方は比較回路401に入力され、もう一方は減算回路402に入力される。
【0083】
比較回路401では、画像信号DEと2値化スライス値Sとの値を比較し、
DE>S の時は、N=1、
DE≦S の時は、N=0
として2値出力Nを出力する。また、減算回路402では、平均濃度算出値mから画像信号DEの値を差し引き、2値化誤差データEとして、
E=m−DE
なる出力を行う。
【0084】
図19は第3の実施形態による誤差補正部2302の構成を示すブロック図である。画像信号Dと乱数発生部2307よりの乱数Rとの和である画像信号DRと、前記2値化誤差データEとを入力し、画像信号DRに誤差補正を行った画像信号DEを算出し、2値化部2301へと出力を行う。なお、誤差補正部2302は、第1の実施形態による誤差補正部302とほぼ同一の構成を有し、第1の実施形態では画像信号Dを入力するが、第3の実施形態では画像信号Dと乱数発生部2307よりの乱数Rとの和である信号DRが入力される。
【0085】
入力された2値化誤差データEは除算回路501によって1/2にされる。その結果は2系統に分岐し、一方は減算回路502に入力、もう一方はラインバッファ5−3に入力される。減算回路502では、2値化誤差データEとE/2の差EB(=E−E/2)を算出し、加算回路504にその結果を入力する。加算回路504では、複数ビット(本実施形態の場合8ビットとする)1ライン分のラインバッファ503によって1ライン分遅延されたEAとEBとの和を算出し、加算回路505に出力する。加算回路505では、1ライン分遅延されたEAとEBとの和と、画像信号DRとの和(画像信号DE)を算出し、これを出力する。
【0086】
結局、図6に示したように、誤差補正部2302では、注目画素に対応する画像信号DRについて1ライン上の画素Aを2値化したときの2値化誤差EAと1画素前のBを2値化したときの2値化誤差EBの値を注目画素の画像信号DRに足し込む処理を行う。
【0087】
図20は第3の実施形態による2値化結果遅延部2303の構成を示すブロック図である。2値化結果遅延部2303は、2値出力Nを入力し、所定のライン数の遅延を行い、複数ライン分の2値化結果Nmn、B*ijを得、平均濃度算出部304及びしきい値算出部305に送る。
【0088】
図20において、入力された2値出力Nは、1ビット1ライン分のラインバッファ601からラインバッファ6−2へと送られていき、データがライン毎に遅延されていく。また、遅延されないデータは、1画素分の遅延回路からなる遅延603から遅延608によって、次々と1画素分の遅延がなされる。そして、遅延606の出力、遅延607の出力をそれぞれN14、N15として出力する。ラインバッファ601によって1ライン分遅延がなされた2値化データは、遅延609から遅延614によって、遅延され、遅延609から613の出力がN21からN25として、また、ラインバッファ602によってもう1ライン分遅延がなされた2値化データは、遅延615から遅延620によって、遅延され、遅延615から619の出力がN31からN35として出力される。
【0089】
同時に、遅延607から608の出力をそれぞれB20、B30として出力する。また、ラインバッファ601によって1ライン分遅延がなされた2値化データは、遅延609から遅延614によって、遅延され、それぞれB32からB02、Bi12からBi32として出力される。さらに、ラインバッファ602によってもう1ライン分遅延がなされた2値化データは、遅延615から遅延620によって、遅延され、それぞれB31からB01、Bi11からBi31として出力される。
【0090】
つまり、平均濃度算出部2304では、2次元の画像を2値化したデータが、複数ライン、複数画素の遅延処理が施され、複数ラインの2値化結果Nmnとして図8のような状態で平均濃度算出部304に入力されることとなる。更に、複数ラインの2値化結果であるB*ijが、後述の図24に示す状態でしきい値算出部2305に出力される。
【0091】
平均濃度算出部2304は、複数ライン2値化結果Nmnを入力し、予め設定してある係数と遅延された2値結果とで積和演算を行い、2値化部2301及びしきい値算出部2305とで使用する平均濃度算出値mの出力を行うもので、図9及び図10で上述したような構成からなる。
【0092】
乱数発生部2306には、図21に示したようなm系列のシフトレジスタ符号系列発生器を用いる。これは、構成するシフトレジスタの段数をNとすると2N−1を周期とする疑似乱数を簡単なハードウェアで容易に発生できる。本構成では、A3原稿を400dpiで処理をしても周期性が現れないようにする為に25段の1bitシフトレジスタにより構成した。その構成は、第2の実施形態(図16において説明したとおりである。
【0093】
ただし、第3の実施形態の乱数発生器では、図21に示すように−17以上+17以下の範囲の乱数を発生する。すなわち、初期化でp[ii]:(0≦ii≦25)のレジスタに“0”を書き込み、p[12]のレジスタのみに“1”を設定する。そして、乱数値を出力する前に、毎回
p[0]=((p[25]^p[24]^p[23]^p[22])&1)
の演算をおこない、
乱数=(1-2*p[22])*(((p[15]*64+p[16]*32+p[17]*16+p[18]*8+p[19]*4+p[20]*2+p[21])*17)/128)
により、−17〜17の乱数値を出力する構成としている。
【0094】
なお、第3の実施形態では、−17〜17の乱数を用いているが、乱数発生部2306を
乱数=(1-2*p[2])*(p[18]*8+p[19]*4+p[20]*2+p[21])
として、−15〜15までの乱数値を出力する様に変更してもよい。
【0095】
無論、乱数の値を0にしてしまうことも可能だが、2値化スライス値を変化させテクスチャ制御を自然に行う為には、ある程度の乱数が付加されたデータを用いるのが良い。
【0096】
加算部2307は、前述したように、階調処理部204に入力された画像信号Dと乱数発生部2306よりの乱数Rの間で加算処理を行う。このとき、加算結果DRが0〜255の間に収まるようにリミッタ処理が行われる。即ち、加算部2307では、
DR=D+R
if(DR>255){DR=255;}
if(DR<0){ DR=0;}
なる処理が行われて、得られた信号DRが誤差補正部2302及びヒステリシス制御量算出部2308へ出力される。
【0097】
ヒステリシス制御量算出部2308は、入力信号DRに応じて、スライス値変更量IIの値を変化させて、これに基づいて信号Tを生成、出力する。これは、任意の濃度領域におけるヒステリシス量を調整するものである。このようなスライス値変更量IIの制御により、任意の濃度領域でのテクスチャ制御が可能となるのである。図22は第3の実施形態によるヒステリシス制御量算出部2308の動作を示す図である。ここでは、説明を明確にする為にプログラム言語Cによる記述で示した。
【0098】
スライス値変更量IIの制御方法の一例(図22)を示せば次の通りである。即ち、入力された信号DRが定数LR1(例えば、LR1=16)以下の場合、スライス値変更量IIを0に設定するような処理をおこない、入力された信号DRが定数LR1より大きくかつ定数LR2(例えば、LR2=48)以下の場合には、スライス値変更量IIを次式により求める。
【0099】
II=((DR-LR1)*(ALF*256/(LR2-LR1)))/256
この演算により、入力信号DRの値が定数LR1から定数LR2に増加するに従い、IIの値は、徐々に0から定数ALFに近づくことになる。なお、ALFは定数(本例では32)である。
【0100】
同様に、入力信号DRが、定数LR2より大きくかつ定数LR3(例えば、LR3=233)以下の場合には、スライス値変更量IIを一定な定数ALFとして出力する。さらに、入力信号DRが、定数LR3より大きくかつ定数LR4(例えば、LR4=255)以下の場合には、スライス値変更量IIを次式により求める。すなわち、
II=ALF-((DR-LR3)*(ALF*256/(LR4-LR3)))/256
これは、入力信号DRの値がLR3から定数LR4に増加するに従い、スライス値変更量IIが、徐々に定数ALFから0に近づくことを示している。
【0101】
一方、入力信号DRがLR4より大きい場合には、スライス値変更量IIを0に設定するような処理が行われる。
【0102】
以上のようにして得られるスライス値変更量IIから、定数ALFm(例えば、ALFm=16)を減算したものが、出力信号Tとして出力される。この減算を行う目的は、ヒステリシス制御量算出部308の信号Tを負の値から正の値まで変化させる為である。これにより、ラチチュードが広い範囲で任意の濃度領域に於けるテクスチャ制御が可能となる。なお、図22で示される動作を、図11で示した如くハードウエアで構成できることは当業者には明らかであろう。
【0103】
次に、第3の実施形態の特徴的な構成の一つであるしきい値算出部2305について、説明する。図23は第3の実施形態によるしきい値算出部2305の動作を説明する図である。また、図24は第3の実施形態による2値化結果出力B*ijを説明する図である。なお、図23においては、説明を明瞭にするためにプログラム言語Cで示したが、ハードウエアでも構成できることは明らかであろう。
【0104】
しきい値算出部2305には、平均濃度算出値m、B*ij、入力多値データD、及びヒステリシス制御量算出部2308の出力Tとが入力される。その後、図23に示してあるように、信号Tの値を、それぞれ定数LT1(=2),LT2(=4),LT3(=8),LT4(=16)で割って、内部で変数A(=T/LT1),B(T=/LT2),C(=T/LT3),D(=T/LT4)を求めている。
【0105】
さらに、しきい値算出部2305は、2値化結果遅延部2303からの出力B*ijによって示される2値化結果の配置状態(パターン)に応じて、2値化スライス値Sの値を、平均濃度算出値mと上記で求めた変数A,B,C,Dとで制御している。2値化結果配置状態は、図24のB32からBi32、B31からBi31、B30、B20に示した通りである。これらは、すべて過去の2値化結果をあらわしている。
【0106】
実際に2値化結果の配置(パターン)に応じて、2値化スライス値Sが制御される様子を図23を用いて説明する。
【0107】
注目画素の周りの2値化状況が、
[B32==0 && B22==1 && B12==0 && B21==0 && B11==1 && B01==0]、または、
[Bi12==0 && Bi22==1 && Bi32==0 && B01==0 && Bi11==1 && Bi21==0]
の場合には、2値化スライス値Sを強制的にmaxの定数255にして出力する。これは、上記の条件の時に、強制的にドットを打ちにくくする為である。ここで、B32==0の“0”は、ドットが打たれていない状態を表し、B22==1の“1”は、ドットが打たれた状態を表している。
【0108】
また、注目画素の周りの2値化状況が、
[B12==0 && B02==0 && Bi12==0 && Bi22==0 && Bi32==0 && B11==0 && B01==0 && Bi11==1 && Bi21==0 && Bi31==0 && B20==0 && B10==0 && hi==1]
で、かつ入力多値データDが、31(0〜255中の31)未満の場合にも、2値化スライス値Sを強制的にmaxの定数255にして出力する。この処理も、上記の条件の時に、強制的にドットを打ちにくくする為のものである。
【0109】
さらに、上記の条件で、入力多値データDが、31(0〜255中の31)以上の場合には、2値化スライス値Sを平均濃度算出値mに設定して出力をおこなう。これは、過去の2値化結果が特定の配列(パターン)になった場合には、テクスチャ制御をおこなわないようにする為である。
【0110】
一方、注目画素の周りの2値化状況が、
[B02==0 && Bi12==0 && B11==0 && B01==1 && Bi11==1 && Bi21==0 && B20==0 && B10==0]
の場合には、2値化スライス値Sを平均濃度算出値mから、変数Aを減算した値(S=m−A)に設定して出力する。これは、上記の条件の時に、強制的にドットを打ち易くする為である。
【0111】
同様に、各2値化結果のパターンに応じて、2値化スライス値Sの値を平均濃度算出値mと内部変数A,B,C,Dとを用いて2値化スライス値Sを制御していく。その結果、ヒステリシス制御量算出値Tが正の場合には、ドットが打たれやすい方に制御され、ヒステリシス制御量算出値Tが負の場合には、ドットが打たれにくい方に制御される。
【0112】
以上のように、しきい値算出部2305では、過去の2値化配置状態(パターン)に応じて制御量を変えたことが主要な特徴の一つである。
【0113】
以上のような処理を各画素に関して順次行っていくと、ヒステリシス制御量算出値Tの値に応じて任意の濃度領域で、かつ、2値化結果遅延部2303の出力値B*ijの値に応じて任意の形のテクスチャに制御が可能となる。
【0114】
第3の実施形態では、2×2の画素単位のテクスチャになるような制御をおこなっている。これにより、プリンターの特性で一画素が安定しない領域で任意の数のドットを集めて安定化させた画像形成ができる。
【0115】
以上のような処理がしきい値算出部2305で行われた後、前述した2値化部2301により、2値化処理がおこなわれる。そして、2値化部2301より出力される2値信号は、階調変換処理部204から出力され、プリンタ部105でプリントアウトされる。
【0116】
[第4の実施形態]
次に第4の実施形態を詳細に説明する。なお、第4の実施形態の複写機の全体的な構成は第1の実施形態(図1、図2)と同様である。また、以下では階調変換処理部(204)について説明を行うが、第3の実施形態と同様な部分は、同一番号を付け、その説明を省略する。
【0117】
第3の実施形態で示した構成は、画像信号Dが送られてくるビデオクロックが高速になると、2値化スライス値Sを求めるタイミングが時間的に苦しくなる。それは、平均濃度算出部2304と2値化部2301の間は、ビデオクロックと同じ速度で処理をおこなわないとならないにもかかわらず、平均濃度算出部2304の結果が出力された後に、しきい値算出部2305が2値化スライス値Sを求めなくてはならない為である。つまり、平均濃度算出部2304と2値化部2301との間に、負荷の重いしきい値算出部2305の処理が入っていることが、高速化を妨げる理由となっている。
【0118】
そこで、第4の実施形態では、第3の実施形態の構成において、高速なビデオクロックにも対応できるように2値化しきい値Sを求める演算部を変更する。以下、第4の実施形態の階調変換処理部204について説明する。
【0119】
図25は第4の実施形態による階調変換処理部の構成を示すブロック図である。図25において、第3の実施形態(図18)と相違する主要な点は、第3の実施形態ではしきい値算出部2305へ入力されていた平均濃度算出部2304よりの平均濃度算出値mが、第4の実施形態ではしきい値算出ぶ2309には入力されていない点である。
【0120】
しきい値算出部2309には、注目画素直前の2値化結果であるB10を除く2値化結果遅延部303の出力B’*ijと、ヒステリシス制御量算出部2308の出力Tと、多値信号Dとが入力される。また、しきい値算出部2309は、2値化スライス値S’を注目画素直前の2値化結果(B10)を参照せずに決定することができるようになっている。これらにより、平均濃度算出部2304によって平均濃度値mが求まる前に、予め2値化スライス値S’を求めることが可能となる。
【0121】
図26は第4の実施形態によるしきい値算出部の動作を説明する図である。ここでは、説明の関係上プログラム言語Cで示したが、図26で示されるような機能をハードウエアでも実現できることは明らかである。
【0122】
まず、始めに、しきい値算出部2309へ入力されたヒステリシス制御量算出部2308の信号Tの値を、それぞれ、定数LT1(=2),LT2(=4),LT3(=8),LT4(=16)で割って、第3の実施形態と同様に内部変数A(=T/LT1),B(=T/LT2),C(=T/LT3),D(=T/LT4)を求める。
【0123】
次に、しきい値算出部2309は、2値化結果遅延部2303からの出力B’*ijの2値化結果配置状態(パターン)に応じて、2値化スライス値S’の値を、変数A,B,C,Dと定数で制御する。つまり、第3の実施形態とは異なり、平均濃度算出部2304の出力mは用いない。なお、しきい値算出部2309で用いられる2値化結果配置状態(パターン)は、図27に示した通りである。これらは、すべて過去の2値化結果をあらわしており、注目画素の一つ前の画素は参照していない。
【0124】
このように、注目画素の一つ前の画素を参照しないことにより、高速化への対応が可能となる。すなわち、注目画素直前の画素まで参照したものを、しきい値算出部に入力した場合は、演算結果が出るまでにかなりの時間がかかってしまう。つまり、直前の画素の結果がわかるのを待った後に、しきい値算出を行わなくてはならない。その場合、平均濃度算出部からの出力信号とのタイミングをあわせるためには、かなり高速な演算スピードが要求されることになる。これは1クロック内のタイミングで負荷の重い演算を複数回やならなくてはならないので現実的ではない。よって、しきい値算出部には、注目画素の直前を参照しないで、先にしきい値算出を行いはじめることにより、平均濃度算出部とのタイミングを取り易くし、高速化に対応させている。
【0125】
実際に2値化結果の配置(パターン)に応じて、2値化スライス値S’が制御される様子を図26を参照して説明すると次の通りである。
【0126】
注目画素の周りの2値化状況が
[B32==0 && B22==1 && B12==0 && B21==0 && B11==1 && B01==0]または、
[Bi12==0 && Bi22==1 && Bi32==0 && B01==0 && Bi11==1 && Bi21==0]の場合には、2値化スライス値Sを強制的にmaxの定数255にして出力する。これは、第1の実施形態と同様に上記の条件の時に、強制的にドットを打ちにくくする為である。
【0127】
また、注目画素の周りの2値化状況が、
[B12==0 && B02==0 && Bi12==0 && Bi22==0 && Bi32==0 && B11==0 && B01==0 && Bi11==1 && Bi21==0 && Bi31==0 && B20==0 && hi==1]で、かつ入力多値データDが、31(0〜255中の31)未満の場合にも、2値化スライス値Sを強制的にmaxの定数255にして出力する。これも、上記の条件の時に、強制的にドットを打ちにくくする為である。
【0128】
ただし、このとき、第3の実施形態とは異なり、注目画素の一画素前の結果を参照していない。
【0129】
一方、上記の条件で、入力多値データDが、31(0〜255中の31)以上の場合には、2値化スライス値S’を平均濃度算出値mに設定して出力をおこなう。これは、過去の2値化結果が特定の配列(パターン)になった場合には、テクスチャ制御をおこなわないようにする為である。無論、ここでいう−31という定数は、決まった値ではなく、パラメータであり48や64などの別な値にも設定可能である。
【0130】
このとき、31の値を大きくすると、積極的にテクスチャ制御がかかりやすくなり、逆に、小さくするとテクスチャ制御がかかりにくくなることは言うまでもない。
【0131】
一方、注目画素の周りの2値化状況が、[B02==0 && Bi12==0 && B11==0 && B01==1 && Bi11==1 && Bi21==0 && B20==0]の場合には、2値化スライス値Sを平均濃度算出値mから、変数Aを減算した値(S=m−A)に設定して出力する。これは、上記の条件の時に、強制的にドットを打ち易くする為である。このときも、注目画素直前の2値化結果は参照しないで処理をおこなっている。
【0132】
同様に、各2値化結果のパターンに応じて、注目画素直前の結果を参照せずに2値化スライス値Sの値を内部変数A,B,C,Dと定数とを用いて2値化スライス値S’を制御していく。
【0133】
その結果、ヒステリシス制御量算出値Tが正の場合には、ドットが打たれやすい方に制御され、ヒステリシス制御量算出値Tが負の場合には、ドットが打たれにくい方に制御される。
【0134】
以上のような処理を各画素に関して順次行っていくと、ヒステリシス制御量算出値Tの値に応じて任意の濃度領域で、かつ、2値化結果遅延部2303の出力値B’*ijの値に応じて任意の形のテクスチャに制御が可能となる。
【0135】
なお、第4の実施形態では、第1の実施形態と同様に2×2の画素単位のテクスチャになるような制御をおこなっている。これにより、プリンタの特性で一画素が安定しない領域で任意の数のドットを集めて安定化させた画像形成ができる。つまり、高速処理の為に注目画素の1画素前を参照しなくとも、第3の実施形態と同等な効果が得られる。
【0136】
次に、このようにして求められた2値化スライス値S’は、平均濃度算出部2304の出力mと共に、加算部2310に入力されて加算処理がおこなわれる。このとき、2値化スライス値S’の信号が255のときには、2値化スライス値Sを255として出力し、それ以外のときには、S=S’+mの演算をおこなって出力している。その様子を、図28に示した。以上のように、加算部2310により、2値化スライス値S’から2値化スライス値Sが求められた後、第3の実施形態と同様に、2値化部2301により、2値化処理がおこなわれ、その2値信号を階調変換処理部204から出力し、プリンタ部105でプリントアウトする。
【0137】
以上説明したように、上記各実施形態によれば、1ドットが正確に再現出来ないプリンターに対してドットの集中化量を制御し、安定した画像形成を行わせることができる。また、ALF、ALFm、LR1〜4を設定可能とすることにより、プリンターの特性にあわせてテクスチャー制御が可能となる。
【0138】
また、ドットが分散して疑似輪郭やムラが発生しやすい濃度領域に対してドットを集中化制御を行うことにより、画質を改善できる。
【0139】
さらに、FAXなどの通信で、誤差拡散系の画像だと圧縮率が上げられない問題があったが、本手法によりドットを集中化制御すると、白ドットや黒ドットが続く比率が上げられる為、圧縮率を上げることも可能となる。
【0140】
特に第3、第4の実施形態によれば、1ドットが正確に再現出来ないプリンターに対して安定したドット集中化制御を行うことができ、プリンターの特性にあわせて正確なテクスチャー制御が可能となる。このため、高精細な画像形成が可能となる。
【0141】
さらに、本発明の過去のn値化結果を参照する処理により、2×2のドット集中型のテクスチャに限らず、2×1や1×2のドット集中型に正確にコントロール出来るようになる。また、参照する過去のn値化結果の領域を広げる事により、3×3や2×3などの任意な形で、正確なドット集中化制御が可能となる。
【0142】
なお、上記実施形態では、画像信号Dに加える乱数は、画質に影響のない程度の乱数を用いる。この乱数により、ミミズがはったような特有のテクスチャを改善している。実際には、一画素おきに絶対値が等しく、符号のみが異なる乱数を加算している。例えば、「-R1、0、+R1、0、-R2、0、+R2、0…」といった具合に加算していく。ここで、R1、R2等は符号も含めた乱数を意味している。このように符号を変えて絶対値が等しい乱数を周期的に加算することにより、乱数の低周波成分が低減され、人間の目につくザラツキ感を抑えることができる。つまり、乱数による画質劣化のない状態で、テクスチャの改善が可能となる。
【0143】
[他の実施形態]
上記各実施形態では、2値化について述べたが、本発明はこれに限定されるものではない。つまり、4値化、8値化、16値化などの一般的な多値化にも適用ができる。さらに、上記各実施形態では、平均濃度保存法(MD法)に限定したものではなく、一般的な誤差拡散法(ED法)にも適用できることは言うまでもない。
【0144】
また、白黒(単色)の処理のみに限らず、カラーの信号に対しても、色信号毎にドットの集中化量を変えて処理できることの言うまでもない。これは、各色のプロセス条件の差異を、吸収できる効果がある。例えば、黒色のみ孤立ドットが安定して再現出来ないプリンターの場合は、黒色だけをテクスチャー制御によってドットを集中化させるということが可能となる。
【0145】
さらに、第1、第2の実施形態において、スライス値制御部は平均濃度算出値mや乱数が加算された画像信号DRを用いたが、単なる入力画像信号によってスライス値変更量を制御するように構成することもできる。
【0146】
また、スライス値制御部(305、1103)を省略し、直接、平均濃度算出部304(第1の実施形態)の信号や加算部1102(第2の実施形態)の信号を、加算部306に入力してもよい。ただし、この場合、任意の濃度領域ではなく、全濃度域に対してテクスチャ制御の効果が得られるようになる。ここで、全濃度域に対してテクスチャ制御が行われるが、従来のように一律に、単に2画素単位でドットを出力することでないので、解像度が落ちたという印象を受ける画質にはならない。
【0147】
一方、平均濃度算出値mや入力画像信号DRによらず、一定な値で2値化スライス値の変更量を制御しても、テクスチャ制御は可能である。なお、この一定な値は操作部111より設定可能に構成してもよい。なお、一定のスライス値変更量llを操作部から指定するということは、図14における加算部306のスライス値変更量llがダイレクトに設定できるということである。その結果、加算部306から出力される信号Sの大きさが任意に制御可能となり、テクスチャの集中化量がコントロールできることになる。つまり、ドットの集中化具合が操作部から設定可能になる。
【0148】
さらに、第3及び第4の実施形態では、2ラインの過去の2値化結果を参照して、2×2のドット集中型のテクスチャを作成しているが、本発明はこれに限定されるものではなく、2×1のドット集中型のテクスチャや、さらには、3ラインの過去の2値化結果を参照して、3×3のドット集中型のテクスチャや3×2のドット集中型のテクスチャにすることも可能である。
【0149】
なお、上記各実施形態では、階調変換処理部204(図1)をハードウエア主体とした構成で説明したが、処理速度が追従するのであれば、階調変換処理部204に関して説明した処理の一部もしくは全部をソフトウエアによって実現することも可能である。この場合、ROM107に制御プログラムを格納し、CPU106によってこれを実行することになる。
【0150】
また、上記各実施形態において用いられる定数、ALF、ALFm、LR1〜LR4、LT1〜LT4の各値は、操作部111から所望の値を設定できるように構成してもよい。
【0151】
なお、本発明は、複数の機器(例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0152】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0153】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0154】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0155】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0156】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0157】
【発明の効果】
以上説明したように本発明によれば、多値画像データのn値化状態に基づいてドットの集中化を制御することが可能となり、ドット集中化に伴う出力解像度の低下が防止される。
また、本発明によれば、プリンタの特性に応じたドットの集中化量の制御が可能となる。
また、本発明によれば、例えば疑似輪郭やムラが発生しやすい所望の濃度領域においてドットの集中化量を制御することが可能となる。
また、本発明によれば、過去のn値化の結果の配置パターンに応じてn値化処理のしきい値を制御することで、正確なテクスチャの制御が可能となる。
【0158】
【図面の簡単な説明】
【図1】第1の実施形態による複写機の処理構成全体の概略を示したブロック図である。
【図2】画像処理部104の構成を示すブロック図である。
【図3】第1の実施形態による階調変換処理部の詳細構成を示すブロック図である。
【図4】2値化部301の構成を示すブロック図である。
【図5】誤差補正部302の構成を示すブロック図である。
【図6】誤差補正部302の動作を説明する図である。
【図7】2値化結果遅延部303の構成を示すブロック図である。
【図8】2値化結果遅延部303によって出力される2値化結果Nmnを説明する図である。
【図9】平均濃度算出部304の構成を示すブロック図である。
【図10】平均濃度算出部304における係数の一例を示す図である。
【図11】スライス値設定部305の構成を示すブロック図である。
【図12】図11に示した構成の動作を説明する図である。
【図13】第1の実施形態のスライス値制御部によるスライス値変更量を説明する図である。
【図14】加算部306の構成を示すブロック図である。
【図15】第2の実施形態による階調変換処理部の構成を示すブロック図である。
【図16】第2の実施形態による乱数発生器の構成を示すブロック図である。
【図17】第2の実施形態によるスライス値制御部1103の動作を示す図である。
【図18】第3の実施形態による階調変換処理部の詳細な構成を示すブロック図である。
【図19】第3の実施形態による誤差補正部2302の構成を示すブロック図である。
【図20】第3の実施形態による2値化結果遅延部2303の構成を示すブロック図である。
【図21】第3の実施形態による乱数発生器の構成を示すブロック図である。
【図22】第3の実施形態によるヒステリシス制御量算出部2308の動作を示す図である。
【図23】第3の実施形態によるしきい値算出部2305の動作を説明する図である。
【図24】第3の実施形態による2値化結果出力B*ijを説明する図である。
【図25】第4の実施形態による階調変換処理部の構成を示すブロック図である。
【図26】第4の実施形態によるしきい値算出部の動作を説明する図である。
【図27】第4の実施形態によるしきい値算出部2309で用いられる2値化結果配置状態(パターン)を示す図である。
【図28】第4の実施形態による加算部2310における加算処理を示す図である。
Claims (5)
- 多値画像データを入力する入力手段と、
前記入力手段により入力した多値画像データの各画素について、処理対象の画素の画素データと当該画素に蓄積された誤差データとの加算値をn値化処理してn値データと誤差データとを取得し、取得された誤差データを他の未処理の画素に分散、蓄積させる変換手段と、
前記変換手段により得られたn値データによって表現されるドットの集中化量を制御する制御手段と、
前記変換手段によって得られた複数画素のn値データを記憶する記憶手段とを備え、
前記制御手段は、前記記憶手段に記憶されている複数画素のn値データの平均濃度値と、前記入力手段で入力された多値画像データの濃度値に基づいて算出された閾値変更量と、操作部から設定された定数との加算値を、前記変換手段におけるn値化処理に用いられる閾値とすることによりドットの集中化量を制御し、
前記制御手段では、前記操作部から設定された前記定数により、前記ドットを集中化すべき濃度領域が設定されることを特徴とする画像処理装置。 - 前記変換手段による前記n値化処理で発生する誤差データを補正する補正手段を更に備えることを特徴とする請求項1に記載の画像処理装置。
- 多値画像データを入力する入力工程と、
前記入力工程により入力した多値画像データの各画素について、処理対象の画素の画素データと当該画素に蓄積された誤差データとの加算値をn値化処理してn値データと誤差データとを取得し、取得された誤差データを他の未処理の画素に分散、蓄積させる変換工程と、
前記変換工程により得られたn値データによって表現されるドットの集中化量を制御する制御工程と、
前記変換工程によって得られた複数画素のn値データを記憶する記憶工程とを備え、
前記制御工程は、前記記憶工程で記憶された複数画素のn値データの平均濃度値と、前記入力工程で入力された多値画像データの濃度値に基づいて算出された閾値変更量と、操作部から設定された定数との加算値を、前記変換工程におけるn値化処理に用いられる閾値とすることによりドットの集中化量を制御し、
前記制御工程では、前記操作部から設定された前記定数により、前記ドットを集中化量すべき濃度領域が設定されることを特徴とする画像処理方法。 - 前記変換工程による前記n値化処理で発生する誤差データを補正する補正工程を更に備えることを特徴とする請求項3に記載の画像処理方法。
- 請求項3又は4に記載の画像処理方法をコンピュータに実行させるための制御プログラムを格納したことを特徴とするコンピュータ可読メモリ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35576097A JP3976863B2 (ja) | 1997-12-24 | 1997-12-24 | 画像処理装置及び方法 |
US09/210,549 US6668100B1 (en) | 1997-12-24 | 1998-12-14 | Image processing method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35576097A JP3976863B2 (ja) | 1997-12-24 | 1997-12-24 | 画像処理装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11187259A JPH11187259A (ja) | 1999-07-09 |
JP3976863B2 true JP3976863B2 (ja) | 2007-09-19 |
Family
ID=18445619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35576097A Expired - Fee Related JP3976863B2 (ja) | 1997-12-24 | 1997-12-24 | 画像処理装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6668100B1 (ja) |
JP (1) | JP3976863B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008088370A2 (en) * | 2007-01-16 | 2008-07-24 | Thomson Licensing | System and method for reducing artifacts in images |
US20090073495A1 (en) * | 2007-09-14 | 2009-03-19 | Ricoh Company, Ltd | Image processing apparatus and computer program product |
JP5132496B2 (ja) * | 2008-02-06 | 2013-01-30 | キヤノン株式会社 | 画像処理装置、画像処理方法ならびにそのプログラムおよび記憶媒体 |
JP2009253472A (ja) * | 2008-04-02 | 2009-10-29 | Canon Inc | 画像処理装置およびその方法 |
JP5219591B2 (ja) * | 2008-04-02 | 2013-06-26 | キヤノン株式会社 | 画像処理装置およびその方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2139450B (en) * | 1983-03-08 | 1987-12-16 | Canon Kk | Color picture forming apparatus |
DE68927970T2 (de) * | 1988-09-08 | 1997-10-09 | Canon Kk | Punktbilddatenausgabegerät |
US5121446A (en) | 1989-02-10 | 1992-06-09 | Canon Kabushiki Kaisha | Image processing apparatus capable of obtaining multi-level data |
US5577136A (en) | 1989-09-27 | 1996-11-19 | Canon Kabushiki Kaisha | Image processing apparatus |
US5418618A (en) * | 1992-03-09 | 1995-05-23 | Mita Industrial Co., Ltd. | Tone processing method for forming a halftone image |
US5204753A (en) * | 1992-06-05 | 1993-04-20 | Eastman Kodak Company | Multi-bit rendering method and arrangement for continuous tone picture representation and printing |
US5825940A (en) | 1995-01-23 | 1998-10-20 | Canon Kabushiki Kaisha | Image processing method and apparatus for binary-coding multivalue image data |
US5777759A (en) | 1995-04-28 | 1998-07-07 | Canon Kabushiki Kaisha | Image processing method and apparatus |
US6011878A (en) * | 1996-09-26 | 2000-01-04 | Canon Kabushiki Kaisha | Image processing method and apparatus |
JP3292104B2 (ja) * | 1996-10-01 | 2002-06-17 | セイコーエプソン株式会社 | 印刷装置,画像記録方法およびそのプログラムを記録した記録媒体 |
JP3319959B2 (ja) * | 1996-10-16 | 2002-09-03 | シャープ株式会社 | 画像形成装置 |
-
1997
- 1997-12-24 JP JP35576097A patent/JP3976863B2/ja not_active Expired - Fee Related
-
1998
- 1998-12-14 US US09/210,549 patent/US6668100B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11187259A (ja) | 1999-07-09 |
US6668100B1 (en) | 2003-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2500837B2 (ja) | 画素値量子化方法 | |
US6118547A (en) | Image processing method and apparatus | |
EP0781034B1 (en) | Image processing apparatus and method | |
JP2006065834A (ja) | 画像処理装置および画像処理方法 | |
JPH1084478A (ja) | 入力画像変換方法及び画素値量子化方法 | |
JP3976863B2 (ja) | 画像処理装置及び方法 | |
EP0382581B1 (en) | Image processing apparatus | |
JP3809274B2 (ja) | 画像処理装置及び方法 | |
JPH0738767A (ja) | 画像2値化処理装置 | |
JPH01115271A (ja) | 画像処理装置 | |
JP3937645B2 (ja) | 画像処理装置及び画像処理方法 | |
JPH08125860A (ja) | 画像記録装置 | |
JPH11346311A (ja) | 階調再現方法 | |
US7170636B2 (en) | Image processing apparatus and its control method | |
JP2848566B2 (ja) | 画像処理装置 | |
JP3679522B2 (ja) | 画像処理方法及びその装置 | |
JPH11331590A (ja) | 画像処理装置及び方法 | |
JPH11339032A (ja) | 画像処理方法及びその装置 | |
KR100490244B1 (ko) | 화상처리 시스템의 임계값에 의한 오차 확산방법 | |
JPH1188693A (ja) | 疑似階調処理装置 | |
JP3432064B2 (ja) | 画像処理装置及び方法 | |
JPH0197650A (ja) | 画像処理方法 | |
JP3428822B2 (ja) | 画像処理装置及び画像処理方法 | |
JPH0691605B2 (ja) | 画像処理装置 | |
JP2000287089A (ja) | 画像二値化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060623 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070312 |
|
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: 20070604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100629 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110629 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120629 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120629 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130629 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |