JP2004289236A - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP2004289236A JP2004289236A JP2003075654A JP2003075654A JP2004289236A JP 2004289236 A JP2004289236 A JP 2004289236A JP 2003075654 A JP2003075654 A JP 2003075654A JP 2003075654 A JP2003075654 A JP 2003075654A JP 2004289236 A JP2004289236 A JP 2004289236A
- Authority
- JP
- Japan
- Prior art keywords
- dither matrix
- image processing
- dither
- matrix
- image
- 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.)
- Withdrawn
Links
Images
Landscapes
- Color, Gradation (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】処理速度を低下させずにディザパターンと呼ばれる周期的構造を無くすことができる画像処理方法及び装置を提供すること。
【解決手段】多値画像データを2値化する画像処理方法において、乱数を発生する乱数発生工程と、1つ1つが異なるディザマトリクスを生成する工程と、生成された前記ディザマトリクスを格納する記憶工程と、前記生成工程により生成された1つ1つ異なる前記ディザマトリクスと多値画像とを比較することにより2値化を行う2値化工程とを有する。
【選択図】 図1
【解決手段】多値画像データを2値化する画像処理方法において、乱数を発生する乱数発生工程と、1つ1つが異なるディザマトリクスを生成する工程と、生成された前記ディザマトリクスを格納する記憶工程と、前記生成工程により生成された1つ1つ異なる前記ディザマトリクスと多値画像とを比較することにより2値化を行う2値化工程とを有する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、多値画像データを2値化する画像処理装置及び画像処理方法に関するものである。
【0002】
【従来の技術】
インクジェットプリンタ装置等の様に、ドットの有無(2値データ)で印刷を行う画像出力装置において、ディザ法は、原画像と矩形(マトリクス)領域内に配置した閾値との大小比較により2値化を行う手法であり、比較的高速に2値画像を生成することができる。
【0003】
ディザ法では、N×N画素を階調再現の1つの単位として考え、それに対応するN×Nの閾値マトリクス(これをディザマトリクスという)をつくり、このディザマトリクスDnを一種のマスクとして原画像に重ね合わせ、各画素の濃度と対応する閾値とを比較し2値化するというものである。
【0004】
図2は4×4ディザマトリクスによる2値画像への処理を表わした概念図であり、対応する画素201とディザマトリクス202を比較し、2値画像203へ変換される。マトリクス102の太枠内の4×4ディザマトリクスと同じディザマトリクスを、全ての画素について繰り返し用いて、2値化を行う。
【0005】
マトリクスの閾値配列はある規則に従っており、画質は使用するディザマトリクスの形状に大きく依存する。図3にベイヤ型のディザマトリクスを導く方法を示す。まず(3)式にn=4を代入し、(1)式の2×2リムのマトリクスと(2)式の単位マトリクスUnを用いると、4×4ベイヤ型マトリクスが得ることができる。更にこの4×4ベイヤ型マトリクスを用いて(3)式にn=8を代入すると、8×8ベイヤ型マトリクスが得ることができ、同様の方法でm×mベイヤ型マトリクスを拡張してn×nベイヤ型マトリクス(m=n/2)を得ることができる。
【0006】
一方、一般に広く利用されている手法である誤差拡散法では、2値化によって生じた誤差を隣接画素に拡散することで誤差の低減を行っており、階調表現能力に比較的優れており広く利用されている手法であり、上述のような周期構造によるノイズの無い比較的良好な画質を得ることが出来る。
【0007】
【発明が解決しようとする課題】
ディザ法では、原画像に対して常に同じディザマトリクスを繰り返し用いる為に、均一な濃度を持つ画像領域で、ディザパターンとよばれるドットパターンの周期構造によるノイズが問題となっていた。
【0008】
一方、一般に広く利用されている手法である誤差拡散法では、上述のような周期構造によるノイズの無い比較的良好な画質を得ることが出来るが、2値化によって生じた誤差を隣接画素に拡散する為に計算量が増し、処理速度が遅いことが問題となっていた。
【0009】
本発明は、前記課題を解決するために成されたもので、処理速度を低下させずにディザパターンと呼ばれる周期的構造を無くすことができる画像処理方法及び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
前記目的を達成するために、本発明の画像処理方法は以下の工程を有する。
【0011】
即ち、多値画像データを2値化する画像処理方法において、乱数を発生する乱数発生工程と、1つ1つが異なるディザマトリクスを生成する工程と、前記生成工程において生成された前記ディザマトリクスを格納する記憶工程と、前記生成工程において生成された1つ1つ異なる前記ディザマトリクスと多値画像とを比較することにより2値化を行う2値化工程とを有する。
【0012】
前記ディザマトリクス生成工程は、ディザマトリクス生成過程において、2×2マトリクスの0から3までの並び及び、m×mマトリクスを基にn×nマトリクス(m=n/2)を生成する過程における、係数0から3までの並びを乱数によってそれぞれ定め、ディザマトリクスを生成する。
【0013】
前記ディザマトリクス生成工程は、前記乱数発生工程において、0もしくは1もしくは2もしくは3の任意の数字の位置を、任意の位置にあるように指定した後、乱数値を参照することで、前記係数の並びに制限を加え、ディザマトリクスを生成する。
【0014】
前記ディザマトリクス生成工程は、ディザマトリクス生成過程において、ディザマトリクス生成の度に、上述の0から3までの任意の数字及び、任意の位置を自由に設定し、ディザマトリクスを生成する。
【0015】
また、上記目的を達成するために、本発明による画像処理装置は以下の構成を備える。
【0016】
即ち、多値画像データを2値化する画像処理装置において、乱数を発生する乱数発生手段と、1つ1つが異なるディザマトリクスを生成する手段と、生成された前記ディザマトリクスを格納する記憶装置と、前記生成装置により生成された1つ1つ異なる前記ディザマトリクスと多値画像とを比較することにより2値化を行う2値化手段とを有する。
【0017】
前記ディザマトリクス生成手段は、ディザマトリクス生成過程において、2×2マトリクスの0から3までの並び及び、m×mマトリクスを基にn×nマトリクス(m=n/2)を生成する過程における、0から3までの係数の並びを乱数によってそれぞれ定め、ディザマトリクスを生成する。
【0018】
前記ディザマトリクス生成手段は、前記乱数発生手段において、0もしくは1もしくは2もしくは3の任意の数字の位置を、任意の位置にあるように指定した後、乱数値を参照することで、前記係数の並びに制限を加え、ディザマトリクスを生成する。
【0019】
前記ディザマトリクス生成手段は、ディザマトリクス生成過程において、ディザマトリクス生成の度に、上述の0から3までの任意の数字及び、任意の位置を自由に設定し、ディザマトリクスを生成する。
【0020】
前記ディザマトリクス生成手段は、ディザマトリクスを入力多値画像の主走査方向に複数同時に生成する機能を有し、前記記憶手段は、入力多値画像の主走査方向の長さ分のディザマトリクスを記憶可能である容量を備える。
【0021】
かかる構成において、異なるディザマトリクスを1つ1つ生成し、生成したディザマトリクスを用いて多値画像データを2値化するように動作する。各々のディザマトリクスをその都度1つ1つ生成することで、入力画像に対して全て異なるディザマトリクスを用いることで、ディザパターンを無くす。
【0022】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る第1の実施の形態を説明する。
【0023】
[システム構成の説明(図4)]
図4は、本実施の形態における画像処理システムの基本構成を示す図である。図示の如く、印刷情報をプリンタ側に送出するホストシステム401と、画像を印刷するプリンタ402とで構成され、410は印刷出力である。
【0024】
また、プリンタ402が備える構成ユニットをその機能と共に説明すると以下の通りである。
【0025】
403はCPUであり、プリンタ402及び接続される各入出力装置との制御及び印刷処理を実行する。404はROMであり、CPU403のブートプログラム等を記憶している。405はRAMであり、CPU403の画像処理プログラムをロードする領域として用いられる。また印刷処理プログラムなどもロードされ、実行される。406はホストシステム401との入出力インターフェースであり、ホストシステム401から入力多値画像データを受信する。407は印刷出力装置との入出力インターフェース(エンジンI/F)である。409は印刷出力装置であり、ここで印刷処理(駆動系)が行われ、印刷出力410が得られる。また、408は上述の各構成ユニットを接続するCPUバスである。
【0026】
[画像処理の説明(図1,図5〜図7)]
次に、以上の構成からなる本システムにおける画像処理、即ち生成したディザマトリクスを参照してディザ処理を行い、入力多値画像データを2値化する処理について説明する。
【0027】
図1は、本実施の形態における画像処理データの流れを示す図である。尚、この処理は図4プリンタ402内のCPU403、ROM404、RAM405によって実行される。図示の如く、多値画像データを格納する入力画像記憶部101と、多値画像データを2値化する2値化処理部102と、2値画像データを格納する2値画像記憶部107で構成される。
【0028】
上記の2値化処理部102が備える構成ユニットを、その機能と共に説明すると、以下の通りである。
【0029】
103はディザ処理部であり、入力画像記憶部101の入力多値画像データを、生成されたディザマトリクスを参照してディザ処理を行い、2値化された2値画像データを2値画像記憶部107に出力する。104は乱数発生部である。105はディザマトリクス生成部であり、乱数発生部104から入力される乱数の値を参照して、ディザマトリクスを生成する。乱数発生部104及び、ディザマトリクス生成部105については更に後述する。106は生成ディザマトリクス記憶部であり、ディザマトリクス生成部105で生成されたディザマトリクスを記憶する。
【0030】
図5は、本実施の形態において入力多値画像とディザマトリクステーブルとを比較して2値画像を出力するまでを図で表わしたものである。入力多値画像501と、出力多値画像503の主走査方向のドット数をw、副走査方向のドット数をlとする。ディザマトリクステーブル502の各成分はDn[i,j]で示し、左上から副走査方向にi番目、主走査方向にj番目のディザマトリクスを示し、imaxはiの最大値を、jmaxはjの最大値をそれぞれ示す。
【0031】
図6は、本実施の形態におけるディザマトリクス生成部105でのディザマトリクス生成工程の、閾値の並びを決定する式である。図6(1)式は、図2(1)式の0,2,3,1をそれぞれc1,c2,c3,c4に置換したものであり、図6(3)式は、図2(3)式のUの係数0,2,3,1をそれぞれc1,c2,c3,c4に置換し、さらにDn/2に添え字1,2,3,4を加えたものである。尚、以下の説明において、iはディザマトリクステーブル上の、あるディザマトリクスの副走査方向の位置を、jはディザマトリクステーブル上の、あるディザマトリクス主走査方向の位置をそれぞれ示す。
【0032】
c1,c2,c3,c4に代入される0から3までの数字の組み合わせは、全部で24通りあるが、それらの組み合わせ全てに0から23までの数字を割り当てる。そして乱数発生部304で発生した乱数を24で割った余りの数に対応する数字を割り当てられた0から3までの数字の組み合わせを、c1,c2,c3,c4の組み合わせとし、図6(1)式、若しくは図6(3)式に代入する。
【0033】
以下にディザマトリクス生成工程について説明する。
【0034】
まず、図6(1)式のc1,c2,c3,c4の数字の並びを、乱数を用いた前記方法にて決定する。これをD1 2とし、上述の方法で乱数を用いてc1,c2,c3,c4の数字の並びを決定し、D2 2,D3 2,D4 2を決定する。
【0035】
次に、図6(3)式にn=4を代入して、求めたD1 2,D2 2,D3 2,D4 2を図6(3)式に代入し、上述の方法で乱数を用いてc1,c2,c3,c4の数字の並びを決定し、D4を決定する。そしてこれをD1 4とし、同様の方法でD2 4,D3 4,D4 4を決定する。そしてn=8を代入した図6(3)式に求めたD1 4,D2 4,D3 4,D4 4を代入し、上述の方法で乱数を用いてc1,c2,c3,c4の数字の並びを決定し、D8を決定する。更に上述の方法を繰り返して、所望のDnを決定する。
次に上述の方法に加え、本実施の形態における係数c1,c2,c3,c4の並びに制限を加える方法を以下に説明する。
【0036】
ディザマトリクスDn生成工程において、D2で0が割り当てられた箇所はDnにおいては0からn2/4迄の数字が割り当てられている。その為、入力多値画像の濃度が低い箇所を2値化する際には、D2で1,2,3が割り当てられた箇所よりも、0が割り当てられた箇所から先に‘1’が出力される。そこで、i+jが偶数である閾値マトリクスの場合においては、D1 2及びD4 2ではc1,c4どちらかにのみ0が割り当てられるように、c1,c4どちらかにのみ0が割り当てられたものを、c1,c2,c3,c4の組み合わせの中から選び、その中からc1,c2,c3,c4の組み合わせを乱数を用いて決定し、D2 2及びD3 2ではc2,c3どちらかにのみ0が割り当てられるように、c1,c2,c3,c4の組み合わせの中から、c2,c3どちらかにのみ0が割り当てられたものを乱数を用いて上述の方法と同様に決定する。一方i+jが奇数である場合においても上述と同じ方法で、D1 2及びD4 2では、c2,c3どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、D2 2及びD3 2ではc1,c4どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、Dnにおいて‘1’が出力されるところが分散するようにする。
【0037】
図7は、上述のディザマトリクス生成部105の処理手順を、8×8マトリクスの生成を例にして示すフローチャートである。尚、以下の説明において、iはディザマトリクステーブル上の、あるディザマトリクスの副走査方向の位置を、jはディザマトリクステーブル上の、あるディザマトリクス主走査方向の位置をそれぞれ示す。eは図6(3)式におけるDx n / 2の添え字xに対応し、c1,c2,c3,c4は図4(1)式及び(3)式中におけるc1,c2,c3,c4とそれぞれ対応する。
【0038】
まずS701において、パラメータfに‘1’を代入し、S702に進み、パラメータeに‘1’を代入する。次にS703に進み、i+jが偶数であるか否かを判断する。ここで条件を満たしていればS704に進んでe=1もしくはe=4であるか否かを判断する。ここで条件を満たしていればS706に進み、上述の方法でc1,c4どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、De 2を決定した後、S708に進む。一方S704の条件を満たしていなければ、S707に進んで、上述の方法でc2,c3どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、De 2を決定した後、S708に進む。一方S703の条件を満たしていなければ、S705に進む。S705ではe=2もしくはe=3であるか否かを判断する。ここで条件を満たしていればS706に進み、上述の方法でc1,c4どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、De 2を決定した後、S708に進む。一方S705の条件を満たしていなければ、S707に進んで、上述の方法でc2,c3どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、De 2を決定した後、S708に進む。
【0039】
S708ではe=4か否かを判断し、条件を満たしていなければS709に進んでeをインクリメントしてS703に処理を戻し、上述の処理(S703〜S707)を繰り返し、順次D1 2,D2 2,D3 2,D4 2を決定していく。S708の条件を満たすと、D1 2,D2 2,D3 2,D4 2が決定したことになり、次にS710に進み、乱数でもってc1,c2,c3,c4を決定した後、Df 4を決定し、S711に進む。
【0040】
S711ではf=4か否かを判断し、条件を満たしていなければS712に進んでfをインクリメントしてS702に処理を戻し上述の処理(S702〜S710)を繰り返し、順次D1 4,D2 4,D3 4,D4 4を決定する。S711の条件を満たすとD1 4,D2 4,D3 4,D4 4が決定したことになり、次にS713に進んで、乱数でもってc1,c2,c3,c4を決定した後、D8を決定し、処理を終了する。
【0041】
尚、上記の手法を拡張することで、n×nマトリクスを生成する。
【0042】
図8は本実施の形態における、上述の2値化処理部102の処理手順を示すフローチャートである。尚、以下の説明において、wは入力多値画像の主走査方向のドット数を、lは副走査方向のドット数を、nは所望のディザマトリクスの縦横のサイズを、iはディザマトリクステーブル上の、あるディザマトリクスの副走査方向の位置を、jはディザマトリクステーブル上の、あるディザマトリクス主走査方向の位置を、imaxはiの最大値を、jmaxはjの最大値をそれぞれ示す。
【0043】
まずステップS801において、入力多値画像の階調からn、wからjmax、lからimaxを決定する。次にS802でパラメータiとjに‘0’を代入する。そしてS803で乱数を用いて2×2マトリクスからn×nマトリクスを生成する。
【0044】
次にS804ではjがj=jmaxの条件を満たしているか否かを判断する。ここで条件を満たしていなければS805に進み、jをインクリメントした後、S803に処理を戻して、乱数を用いて2×2マトリクスからn×nマトリクスを生成する。そしてS804の条件を満たさなければ、jをインクリメントしながらS805の処理を繰り返し、n×nマトリクスをDn[i,0]からDn[i,jm ax]まで、計jmax個生成する。
【0045】
一方S804の条件を満たした場合、S806に進む。S806では、パラメータiが、i=imaxの条件を満たしているか否かを判断する。ここで条件を満たしていなければS807に進み、Dn[i,0]からDn[i,jmax]までのディザマトリクスを参照して、n×i行目から{n×i+(n−1)}行目迄の入力多値画像を、2値化処理する。その後S808でjに‘0’を代入して、S809に進み乱数を用いて2×2マトリクスからn×nマトリクスを生成する。
【0046】
次にS810ではjがj=jmaxの条件を満たしているか否かを判断する。ここで条件を満たしていなければS811に進み、jをインクリメントした後、S809に処理を戻して、乱数を用いて2×2マトリクスからn×nマトリクスを生成する。そしてS810の条件を満たさなければ、jをインクリメントしながらS809の処理を繰り返し、n×nマトリクスをjmax個生成する。そしてS810の条件を満たしたならば、S812に進みパラメータiをインクリメントし、S806に処理を戻し、条件を満たさなければ上述の処理(ステップS807〜S812)を繰り返すが、条件を満たせばステップS813へ進み、Dn[imax,0]からDn[imax,jmax]までのディザマトリクスを参照して、n×i行目から(l−{n(imax−1)})行目迄の入力多値画像の2値化処理を行い、処理を終了する。
【0047】
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態について説明する。前述した実施形態では、画像処理をCPUで行っているが、第2の実施形態では、CPUバス上に画像処理ICを備え、画像処理IC側で画像処理を行うものである。
【0048】
[システム構成の説明(図9)]
図9は、第2の実施形態における画像処理システムの基本構成を示す図である。図示の如く、印刷情報をプリンタ側に送出するホストシステム901と、画像を印刷するプリンタ902とで構成され、911は印刷出力である。
【0049】
また、プリンタ902が備える構成ユニットをその機能と共に説明すると以下の通りである。
【0050】
903はCPUであり、プリンタ902及び接続される各入出力装置との制御を実行する。904はROMであり、CPU903のブートプログラム等を記憶している。905はRAMであり、CPU903の印刷処理プログラムをロードする領域として用いられる。906は画像処理ICであり、入力された多値画像を2値化処理して出力する。807はホストシステム901との入出力インターフェースであり、ホストシステム901から入力多値画像データを受信する。807は印刷出力装置との入出力インターフェース(エンジンI/F)である。910は印刷出力装置であり、ここで印刷処理(駆動系)が行われ、印刷出力911が得られる。また、909は上述の各構成ユニットを接続するCPUバスである。
【0051】
[画像処理の説明(図10、図11)]
次に、以上の構成からなる本システムにおける画像処理、即ち生成したディザマトリクスを参照してディザ処理を行い、入力多値画像データを2値化する処理について説明する。
【0052】
図10は第2の実施の形態における画像処理部の構成を示す図である。図示の如く、多値画像データを格納する入力画像記憶部1001と、多値画像データを2値化する2値化処理部1002と、2値画像データを格納する2値画像記憶部1009で構成される。
【0053】
上記の2値化処理部1002が備える構成ユニットを、その機能と共に説明すると、以下の通りである。
【0054】
1003はディザ処理部であり、入力画像記憶部1001の入力多値画像データを、生成されたディザマトリクスを参照してディザ処理を行い、2値化された2値画像データを2値画像記憶部1009に出力する。1004は乱数発生部である。1005はディザマトリクス生成部であり、乱数発生部1004から入力される乱数の値を参照して、ディザマトリクスを生成する。乱数発生部1004及び、ディザマトリクス生成部1005は、複数個が並列に備えられており、任意の複数ディザマトリクスを同時に生成できる。加えてディザ処理部1003において、Dn[i,0]からDn[i,jmax]までのディザマトリクスを参照してディザ処理を行っている間に、Dn[i+1,0]からDn[i+1,jmax]までのディザマトリクスの生成を行う。
【0055】
1007は生成ディザマトリクス記憶部であり、ディザマトリクス生成部1005で生成されたディザマトリクスを、jmax個記憶可能なものを2個備える。1006及び1008はセレクタであり、セレクタ1008はディザマトリクス記憶部の内、ディザ処理部で参照する為に用いるディザマトリクスが格納されている方を選択し、セレクタ1006は、ディザマトリクス生成部1005で生成されたディザマトリクスを、ディザ処理部で参照する為に用いられているディザマトリクスが格納されていない方の、ディザマトリクス記憶部を選択する。
【0056】
データ線1010は、入力画像記憶部1001とディザ処理部1003を結び、入力多値画像の1画素分ずつを送る。そのためデータ線1010は、入力多値画像の1画素あたりが持つデータ幅と同じデータ線数を持つ。データ線1011は、乱数発生部1004とディザマトリクス生成部1005を結び、乱数値0から23を、5ビットデータとしてディザマトリクス生成部へ送る。その為データ線数は5本である。データ線1012は、ディザマトリクス生成部1005とセレクタ1006を結び、ディザマトリクス生成部で生成されたディザマトリクスのデータを、1画素分ずつセレクタ1006へ送る。データ線1013は、セレクタ1006と生成ディザマトリクス記憶部1007を結び、セレクタ1006により選択された方のディザマトリクス記憶部に、ディザマトリクス生成データで生成されたディザマトリクスのデータを送る。データ線1014は、ディザマトリクス記憶部1007とセレクタ1008を結び、ディザマトリクス記憶部において記憶されているディザマトリクスデータをセレクタ1008に送る。データ線1015は、セレクタ1008とディザ処理部1003を結び、セレクタ1008で選択されたディザマトリクスデータをディザ処理部へと送る。データ線1012、データ線1013、データ線1014、データ線1015のデータ線数はディザマトリクスのデータを1画素分ずつ送るので、ディザマトリクス1画素が持つデータ幅と同じ線数を持つ。データ線1016は、ディザ処理部1003で2値化された2値画像データを、2値画像記憶部1009ヘ送る。2値化されたデータは1ビットの為、データ線1016のデータ線数は1本である。
【0057】
尚、この画像処理部は図9プリンタ902内において、ホストシステムから送られてくる印刷情報に基づき、プリンタ902のCPU903、ROM904、RAM905、画像処理IC906によって画像処理、即ち生成したディザマトリクスを参照してディザ処理を行い、多値画像データを2値化する処理が行われるが、上述した構成ユニットの内、乱数発生部に関しては、その機能をCPU903内に持つものとし、乱数発生部以外のユニットは全て画像処理IC906内に持つものとする。
【0058】
図11は第2の実施の形態における、上述の2値化処理部102の処理手順を示すフローチャートである。尚、以下の説明において、wは入力多値画像の主走査方向のドット数を、lは副走査方向のドット数を、nはディザマトリクスの縦横のサイズを、iはディザマトリクステーブル上のあるディザマトリクスの副走査方向の位置を、jはディザマトリクステーブル上のあるディザマトリクス主走査方向の位置を、imaxはiの最大値を、jmaxはjの最大値をそれぞれ示す。
【0059】
まずステップS1101において、入力多値画像の階調からn、wからjmax、lからimaxを決定する。次にS1102でパラメータiに‘0’を代入する。そしてS1103で乱数を用いてn×nマトリクスを同時に複数個生成し、計jmax個を生成する。
【0060】
次にS1104では、パラメータiが、i=imaxの条件を満たしているか否かを判断する。ここで条件を満たしていなければS1105に進み、n×i行目から{n×i+(n−1)}行目迄の2値化処理を行い、それと平行して乱数を用いてn×nマトリクスを同時に複数個生成し、計jmax個を生成する。そしてS1106に進みパラメータiをインクリメントし、S1104に処理を戻し、条件を満たさなければ上述の処理(ステップS1105,S1106)を繰り返すが、条件を満たせばステップS1107へ進み、n×i行目から(l−{n(imax−1)})行目までの2値化処理を行い、処理を終了する。
【0061】
このように、第2の実施形態では、プリンタ内に画像処理に特化したICを備え、画像処理ICにおいて2値化処理を行うことにより、処理速度の向上を図ることができる。
【0062】
【発明の効果】
このように本発明によれば、多値画像データをディザ処理によって2値化する際に、全て異なるディザマトリクスを用いることで、ディザパターンの無い2値画像データが出力可能となる。
【図面の簡単な説明】
【図1】本実施の形態における画像処理データの流れを示す図である。
【図2】4×4ディザマトリクスによる2値画像への処理を表わした概念図である。
【図3】ディザ法におけるベイヤ型マトリクスを導出する式である。
【図4】本実施の形態における画像処理システムの基本構成を示す図である。
【図5】本実施の形態において入力多値画像とディザマトリクステーブルとを比較して2値画像を出力するまでを図で表わしたものである。
【図6】本実施の形態におけるディザマトリクスの並びを決定する式である。
【図7】本実施の形態における上述のディザマトリクス生成部105の処理手順を、8×8マトリクスの生成を例にして示すフローチャートである。
【図8】本実施の形態における上述の2値化処理部102の処理手順を示すフローチャートである。
【図9】第2の実施の形態による画像処理部の構成を示す図である。
【図10】第2の実施の形態による画像処理部の構成を示す図である。
【図11】第2の形態における上述の2値化処理部402の処理手順を示すフローチャートである。
【発明の属する技術分野】
本発明は、多値画像データを2値化する画像処理装置及び画像処理方法に関するものである。
【0002】
【従来の技術】
インクジェットプリンタ装置等の様に、ドットの有無(2値データ)で印刷を行う画像出力装置において、ディザ法は、原画像と矩形(マトリクス)領域内に配置した閾値との大小比較により2値化を行う手法であり、比較的高速に2値画像を生成することができる。
【0003】
ディザ法では、N×N画素を階調再現の1つの単位として考え、それに対応するN×Nの閾値マトリクス(これをディザマトリクスという)をつくり、このディザマトリクスDnを一種のマスクとして原画像に重ね合わせ、各画素の濃度と対応する閾値とを比較し2値化するというものである。
【0004】
図2は4×4ディザマトリクスによる2値画像への処理を表わした概念図であり、対応する画素201とディザマトリクス202を比較し、2値画像203へ変換される。マトリクス102の太枠内の4×4ディザマトリクスと同じディザマトリクスを、全ての画素について繰り返し用いて、2値化を行う。
【0005】
マトリクスの閾値配列はある規則に従っており、画質は使用するディザマトリクスの形状に大きく依存する。図3にベイヤ型のディザマトリクスを導く方法を示す。まず(3)式にn=4を代入し、(1)式の2×2リムのマトリクスと(2)式の単位マトリクスUnを用いると、4×4ベイヤ型マトリクスが得ることができる。更にこの4×4ベイヤ型マトリクスを用いて(3)式にn=8を代入すると、8×8ベイヤ型マトリクスが得ることができ、同様の方法でm×mベイヤ型マトリクスを拡張してn×nベイヤ型マトリクス(m=n/2)を得ることができる。
【0006】
一方、一般に広く利用されている手法である誤差拡散法では、2値化によって生じた誤差を隣接画素に拡散することで誤差の低減を行っており、階調表現能力に比較的優れており広く利用されている手法であり、上述のような周期構造によるノイズの無い比較的良好な画質を得ることが出来る。
【0007】
【発明が解決しようとする課題】
ディザ法では、原画像に対して常に同じディザマトリクスを繰り返し用いる為に、均一な濃度を持つ画像領域で、ディザパターンとよばれるドットパターンの周期構造によるノイズが問題となっていた。
【0008】
一方、一般に広く利用されている手法である誤差拡散法では、上述のような周期構造によるノイズの無い比較的良好な画質を得ることが出来るが、2値化によって生じた誤差を隣接画素に拡散する為に計算量が増し、処理速度が遅いことが問題となっていた。
【0009】
本発明は、前記課題を解決するために成されたもので、処理速度を低下させずにディザパターンと呼ばれる周期的構造を無くすことができる画像処理方法及び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
前記目的を達成するために、本発明の画像処理方法は以下の工程を有する。
【0011】
即ち、多値画像データを2値化する画像処理方法において、乱数を発生する乱数発生工程と、1つ1つが異なるディザマトリクスを生成する工程と、前記生成工程において生成された前記ディザマトリクスを格納する記憶工程と、前記生成工程において生成された1つ1つ異なる前記ディザマトリクスと多値画像とを比較することにより2値化を行う2値化工程とを有する。
【0012】
前記ディザマトリクス生成工程は、ディザマトリクス生成過程において、2×2マトリクスの0から3までの並び及び、m×mマトリクスを基にn×nマトリクス(m=n/2)を生成する過程における、係数0から3までの並びを乱数によってそれぞれ定め、ディザマトリクスを生成する。
【0013】
前記ディザマトリクス生成工程は、前記乱数発生工程において、0もしくは1もしくは2もしくは3の任意の数字の位置を、任意の位置にあるように指定した後、乱数値を参照することで、前記係数の並びに制限を加え、ディザマトリクスを生成する。
【0014】
前記ディザマトリクス生成工程は、ディザマトリクス生成過程において、ディザマトリクス生成の度に、上述の0から3までの任意の数字及び、任意の位置を自由に設定し、ディザマトリクスを生成する。
【0015】
また、上記目的を達成するために、本発明による画像処理装置は以下の構成を備える。
【0016】
即ち、多値画像データを2値化する画像処理装置において、乱数を発生する乱数発生手段と、1つ1つが異なるディザマトリクスを生成する手段と、生成された前記ディザマトリクスを格納する記憶装置と、前記生成装置により生成された1つ1つ異なる前記ディザマトリクスと多値画像とを比較することにより2値化を行う2値化手段とを有する。
【0017】
前記ディザマトリクス生成手段は、ディザマトリクス生成過程において、2×2マトリクスの0から3までの並び及び、m×mマトリクスを基にn×nマトリクス(m=n/2)を生成する過程における、0から3までの係数の並びを乱数によってそれぞれ定め、ディザマトリクスを生成する。
【0018】
前記ディザマトリクス生成手段は、前記乱数発生手段において、0もしくは1もしくは2もしくは3の任意の数字の位置を、任意の位置にあるように指定した後、乱数値を参照することで、前記係数の並びに制限を加え、ディザマトリクスを生成する。
【0019】
前記ディザマトリクス生成手段は、ディザマトリクス生成過程において、ディザマトリクス生成の度に、上述の0から3までの任意の数字及び、任意の位置を自由に設定し、ディザマトリクスを生成する。
【0020】
前記ディザマトリクス生成手段は、ディザマトリクスを入力多値画像の主走査方向に複数同時に生成する機能を有し、前記記憶手段は、入力多値画像の主走査方向の長さ分のディザマトリクスを記憶可能である容量を備える。
【0021】
かかる構成において、異なるディザマトリクスを1つ1つ生成し、生成したディザマトリクスを用いて多値画像データを2値化するように動作する。各々のディザマトリクスをその都度1つ1つ生成することで、入力画像に対して全て異なるディザマトリクスを用いることで、ディザパターンを無くす。
【0022】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る第1の実施の形態を説明する。
【0023】
[システム構成の説明(図4)]
図4は、本実施の形態における画像処理システムの基本構成を示す図である。図示の如く、印刷情報をプリンタ側に送出するホストシステム401と、画像を印刷するプリンタ402とで構成され、410は印刷出力である。
【0024】
また、プリンタ402が備える構成ユニットをその機能と共に説明すると以下の通りである。
【0025】
403はCPUであり、プリンタ402及び接続される各入出力装置との制御及び印刷処理を実行する。404はROMであり、CPU403のブートプログラム等を記憶している。405はRAMであり、CPU403の画像処理プログラムをロードする領域として用いられる。また印刷処理プログラムなどもロードされ、実行される。406はホストシステム401との入出力インターフェースであり、ホストシステム401から入力多値画像データを受信する。407は印刷出力装置との入出力インターフェース(エンジンI/F)である。409は印刷出力装置であり、ここで印刷処理(駆動系)が行われ、印刷出力410が得られる。また、408は上述の各構成ユニットを接続するCPUバスである。
【0026】
[画像処理の説明(図1,図5〜図7)]
次に、以上の構成からなる本システムにおける画像処理、即ち生成したディザマトリクスを参照してディザ処理を行い、入力多値画像データを2値化する処理について説明する。
【0027】
図1は、本実施の形態における画像処理データの流れを示す図である。尚、この処理は図4プリンタ402内のCPU403、ROM404、RAM405によって実行される。図示の如く、多値画像データを格納する入力画像記憶部101と、多値画像データを2値化する2値化処理部102と、2値画像データを格納する2値画像記憶部107で構成される。
【0028】
上記の2値化処理部102が備える構成ユニットを、その機能と共に説明すると、以下の通りである。
【0029】
103はディザ処理部であり、入力画像記憶部101の入力多値画像データを、生成されたディザマトリクスを参照してディザ処理を行い、2値化された2値画像データを2値画像記憶部107に出力する。104は乱数発生部である。105はディザマトリクス生成部であり、乱数発生部104から入力される乱数の値を参照して、ディザマトリクスを生成する。乱数発生部104及び、ディザマトリクス生成部105については更に後述する。106は生成ディザマトリクス記憶部であり、ディザマトリクス生成部105で生成されたディザマトリクスを記憶する。
【0030】
図5は、本実施の形態において入力多値画像とディザマトリクステーブルとを比較して2値画像を出力するまでを図で表わしたものである。入力多値画像501と、出力多値画像503の主走査方向のドット数をw、副走査方向のドット数をlとする。ディザマトリクステーブル502の各成分はDn[i,j]で示し、左上から副走査方向にi番目、主走査方向にj番目のディザマトリクスを示し、imaxはiの最大値を、jmaxはjの最大値をそれぞれ示す。
【0031】
図6は、本実施の形態におけるディザマトリクス生成部105でのディザマトリクス生成工程の、閾値の並びを決定する式である。図6(1)式は、図2(1)式の0,2,3,1をそれぞれc1,c2,c3,c4に置換したものであり、図6(3)式は、図2(3)式のUの係数0,2,3,1をそれぞれc1,c2,c3,c4に置換し、さらにDn/2に添え字1,2,3,4を加えたものである。尚、以下の説明において、iはディザマトリクステーブル上の、あるディザマトリクスの副走査方向の位置を、jはディザマトリクステーブル上の、あるディザマトリクス主走査方向の位置をそれぞれ示す。
【0032】
c1,c2,c3,c4に代入される0から3までの数字の組み合わせは、全部で24通りあるが、それらの組み合わせ全てに0から23までの数字を割り当てる。そして乱数発生部304で発生した乱数を24で割った余りの数に対応する数字を割り当てられた0から3までの数字の組み合わせを、c1,c2,c3,c4の組み合わせとし、図6(1)式、若しくは図6(3)式に代入する。
【0033】
以下にディザマトリクス生成工程について説明する。
【0034】
まず、図6(1)式のc1,c2,c3,c4の数字の並びを、乱数を用いた前記方法にて決定する。これをD1 2とし、上述の方法で乱数を用いてc1,c2,c3,c4の数字の並びを決定し、D2 2,D3 2,D4 2を決定する。
【0035】
次に、図6(3)式にn=4を代入して、求めたD1 2,D2 2,D3 2,D4 2を図6(3)式に代入し、上述の方法で乱数を用いてc1,c2,c3,c4の数字の並びを決定し、D4を決定する。そしてこれをD1 4とし、同様の方法でD2 4,D3 4,D4 4を決定する。そしてn=8を代入した図6(3)式に求めたD1 4,D2 4,D3 4,D4 4を代入し、上述の方法で乱数を用いてc1,c2,c3,c4の数字の並びを決定し、D8を決定する。更に上述の方法を繰り返して、所望のDnを決定する。
次に上述の方法に加え、本実施の形態における係数c1,c2,c3,c4の並びに制限を加える方法を以下に説明する。
【0036】
ディザマトリクスDn生成工程において、D2で0が割り当てられた箇所はDnにおいては0からn2/4迄の数字が割り当てられている。その為、入力多値画像の濃度が低い箇所を2値化する際には、D2で1,2,3が割り当てられた箇所よりも、0が割り当てられた箇所から先に‘1’が出力される。そこで、i+jが偶数である閾値マトリクスの場合においては、D1 2及びD4 2ではc1,c4どちらかにのみ0が割り当てられるように、c1,c4どちらかにのみ0が割り当てられたものを、c1,c2,c3,c4の組み合わせの中から選び、その中からc1,c2,c3,c4の組み合わせを乱数を用いて決定し、D2 2及びD3 2ではc2,c3どちらかにのみ0が割り当てられるように、c1,c2,c3,c4の組み合わせの中から、c2,c3どちらかにのみ0が割り当てられたものを乱数を用いて上述の方法と同様に決定する。一方i+jが奇数である場合においても上述と同じ方法で、D1 2及びD4 2では、c2,c3どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、D2 2及びD3 2ではc1,c4どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、Dnにおいて‘1’が出力されるところが分散するようにする。
【0037】
図7は、上述のディザマトリクス生成部105の処理手順を、8×8マトリクスの生成を例にして示すフローチャートである。尚、以下の説明において、iはディザマトリクステーブル上の、あるディザマトリクスの副走査方向の位置を、jはディザマトリクステーブル上の、あるディザマトリクス主走査方向の位置をそれぞれ示す。eは図6(3)式におけるDx n / 2の添え字xに対応し、c1,c2,c3,c4は図4(1)式及び(3)式中におけるc1,c2,c3,c4とそれぞれ対応する。
【0038】
まずS701において、パラメータfに‘1’を代入し、S702に進み、パラメータeに‘1’を代入する。次にS703に進み、i+jが偶数であるか否かを判断する。ここで条件を満たしていればS704に進んでe=1もしくはe=4であるか否かを判断する。ここで条件を満たしていればS706に進み、上述の方法でc1,c4どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、De 2を決定した後、S708に進む。一方S704の条件を満たしていなければ、S707に進んで、上述の方法でc2,c3どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、De 2を決定した後、S708に進む。一方S703の条件を満たしていなければ、S705に進む。S705ではe=2もしくはe=3であるか否かを判断する。ここで条件を満たしていればS706に進み、上述の方法でc1,c4どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、De 2を決定した後、S708に進む。一方S705の条件を満たしていなければ、S707に進んで、上述の方法でc2,c3どちらかにのみ0が割り当てられるように、乱数を用いてc1,c2,c3,c4を決定し、De 2を決定した後、S708に進む。
【0039】
S708ではe=4か否かを判断し、条件を満たしていなければS709に進んでeをインクリメントしてS703に処理を戻し、上述の処理(S703〜S707)を繰り返し、順次D1 2,D2 2,D3 2,D4 2を決定していく。S708の条件を満たすと、D1 2,D2 2,D3 2,D4 2が決定したことになり、次にS710に進み、乱数でもってc1,c2,c3,c4を決定した後、Df 4を決定し、S711に進む。
【0040】
S711ではf=4か否かを判断し、条件を満たしていなければS712に進んでfをインクリメントしてS702に処理を戻し上述の処理(S702〜S710)を繰り返し、順次D1 4,D2 4,D3 4,D4 4を決定する。S711の条件を満たすとD1 4,D2 4,D3 4,D4 4が決定したことになり、次にS713に進んで、乱数でもってc1,c2,c3,c4を決定した後、D8を決定し、処理を終了する。
【0041】
尚、上記の手法を拡張することで、n×nマトリクスを生成する。
【0042】
図8は本実施の形態における、上述の2値化処理部102の処理手順を示すフローチャートである。尚、以下の説明において、wは入力多値画像の主走査方向のドット数を、lは副走査方向のドット数を、nは所望のディザマトリクスの縦横のサイズを、iはディザマトリクステーブル上の、あるディザマトリクスの副走査方向の位置を、jはディザマトリクステーブル上の、あるディザマトリクス主走査方向の位置を、imaxはiの最大値を、jmaxはjの最大値をそれぞれ示す。
【0043】
まずステップS801において、入力多値画像の階調からn、wからjmax、lからimaxを決定する。次にS802でパラメータiとjに‘0’を代入する。そしてS803で乱数を用いて2×2マトリクスからn×nマトリクスを生成する。
【0044】
次にS804ではjがj=jmaxの条件を満たしているか否かを判断する。ここで条件を満たしていなければS805に進み、jをインクリメントした後、S803に処理を戻して、乱数を用いて2×2マトリクスからn×nマトリクスを生成する。そしてS804の条件を満たさなければ、jをインクリメントしながらS805の処理を繰り返し、n×nマトリクスをDn[i,0]からDn[i,jm ax]まで、計jmax個生成する。
【0045】
一方S804の条件を満たした場合、S806に進む。S806では、パラメータiが、i=imaxの条件を満たしているか否かを判断する。ここで条件を満たしていなければS807に進み、Dn[i,0]からDn[i,jmax]までのディザマトリクスを参照して、n×i行目から{n×i+(n−1)}行目迄の入力多値画像を、2値化処理する。その後S808でjに‘0’を代入して、S809に進み乱数を用いて2×2マトリクスからn×nマトリクスを生成する。
【0046】
次にS810ではjがj=jmaxの条件を満たしているか否かを判断する。ここで条件を満たしていなければS811に進み、jをインクリメントした後、S809に処理を戻して、乱数を用いて2×2マトリクスからn×nマトリクスを生成する。そしてS810の条件を満たさなければ、jをインクリメントしながらS809の処理を繰り返し、n×nマトリクスをjmax個生成する。そしてS810の条件を満たしたならば、S812に進みパラメータiをインクリメントし、S806に処理を戻し、条件を満たさなければ上述の処理(ステップS807〜S812)を繰り返すが、条件を満たせばステップS813へ進み、Dn[imax,0]からDn[imax,jmax]までのディザマトリクスを参照して、n×i行目から(l−{n(imax−1)})行目迄の入力多値画像の2値化処理を行い、処理を終了する。
【0047】
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態について説明する。前述した実施形態では、画像処理をCPUで行っているが、第2の実施形態では、CPUバス上に画像処理ICを備え、画像処理IC側で画像処理を行うものである。
【0048】
[システム構成の説明(図9)]
図9は、第2の実施形態における画像処理システムの基本構成を示す図である。図示の如く、印刷情報をプリンタ側に送出するホストシステム901と、画像を印刷するプリンタ902とで構成され、911は印刷出力である。
【0049】
また、プリンタ902が備える構成ユニットをその機能と共に説明すると以下の通りである。
【0050】
903はCPUであり、プリンタ902及び接続される各入出力装置との制御を実行する。904はROMであり、CPU903のブートプログラム等を記憶している。905はRAMであり、CPU903の印刷処理プログラムをロードする領域として用いられる。906は画像処理ICであり、入力された多値画像を2値化処理して出力する。807はホストシステム901との入出力インターフェースであり、ホストシステム901から入力多値画像データを受信する。807は印刷出力装置との入出力インターフェース(エンジンI/F)である。910は印刷出力装置であり、ここで印刷処理(駆動系)が行われ、印刷出力911が得られる。また、909は上述の各構成ユニットを接続するCPUバスである。
【0051】
[画像処理の説明(図10、図11)]
次に、以上の構成からなる本システムにおける画像処理、即ち生成したディザマトリクスを参照してディザ処理を行い、入力多値画像データを2値化する処理について説明する。
【0052】
図10は第2の実施の形態における画像処理部の構成を示す図である。図示の如く、多値画像データを格納する入力画像記憶部1001と、多値画像データを2値化する2値化処理部1002と、2値画像データを格納する2値画像記憶部1009で構成される。
【0053】
上記の2値化処理部1002が備える構成ユニットを、その機能と共に説明すると、以下の通りである。
【0054】
1003はディザ処理部であり、入力画像記憶部1001の入力多値画像データを、生成されたディザマトリクスを参照してディザ処理を行い、2値化された2値画像データを2値画像記憶部1009に出力する。1004は乱数発生部である。1005はディザマトリクス生成部であり、乱数発生部1004から入力される乱数の値を参照して、ディザマトリクスを生成する。乱数発生部1004及び、ディザマトリクス生成部1005は、複数個が並列に備えられており、任意の複数ディザマトリクスを同時に生成できる。加えてディザ処理部1003において、Dn[i,0]からDn[i,jmax]までのディザマトリクスを参照してディザ処理を行っている間に、Dn[i+1,0]からDn[i+1,jmax]までのディザマトリクスの生成を行う。
【0055】
1007は生成ディザマトリクス記憶部であり、ディザマトリクス生成部1005で生成されたディザマトリクスを、jmax個記憶可能なものを2個備える。1006及び1008はセレクタであり、セレクタ1008はディザマトリクス記憶部の内、ディザ処理部で参照する為に用いるディザマトリクスが格納されている方を選択し、セレクタ1006は、ディザマトリクス生成部1005で生成されたディザマトリクスを、ディザ処理部で参照する為に用いられているディザマトリクスが格納されていない方の、ディザマトリクス記憶部を選択する。
【0056】
データ線1010は、入力画像記憶部1001とディザ処理部1003を結び、入力多値画像の1画素分ずつを送る。そのためデータ線1010は、入力多値画像の1画素あたりが持つデータ幅と同じデータ線数を持つ。データ線1011は、乱数発生部1004とディザマトリクス生成部1005を結び、乱数値0から23を、5ビットデータとしてディザマトリクス生成部へ送る。その為データ線数は5本である。データ線1012は、ディザマトリクス生成部1005とセレクタ1006を結び、ディザマトリクス生成部で生成されたディザマトリクスのデータを、1画素分ずつセレクタ1006へ送る。データ線1013は、セレクタ1006と生成ディザマトリクス記憶部1007を結び、セレクタ1006により選択された方のディザマトリクス記憶部に、ディザマトリクス生成データで生成されたディザマトリクスのデータを送る。データ線1014は、ディザマトリクス記憶部1007とセレクタ1008を結び、ディザマトリクス記憶部において記憶されているディザマトリクスデータをセレクタ1008に送る。データ線1015は、セレクタ1008とディザ処理部1003を結び、セレクタ1008で選択されたディザマトリクスデータをディザ処理部へと送る。データ線1012、データ線1013、データ線1014、データ線1015のデータ線数はディザマトリクスのデータを1画素分ずつ送るので、ディザマトリクス1画素が持つデータ幅と同じ線数を持つ。データ線1016は、ディザ処理部1003で2値化された2値画像データを、2値画像記憶部1009ヘ送る。2値化されたデータは1ビットの為、データ線1016のデータ線数は1本である。
【0057】
尚、この画像処理部は図9プリンタ902内において、ホストシステムから送られてくる印刷情報に基づき、プリンタ902のCPU903、ROM904、RAM905、画像処理IC906によって画像処理、即ち生成したディザマトリクスを参照してディザ処理を行い、多値画像データを2値化する処理が行われるが、上述した構成ユニットの内、乱数発生部に関しては、その機能をCPU903内に持つものとし、乱数発生部以外のユニットは全て画像処理IC906内に持つものとする。
【0058】
図11は第2の実施の形態における、上述の2値化処理部102の処理手順を示すフローチャートである。尚、以下の説明において、wは入力多値画像の主走査方向のドット数を、lは副走査方向のドット数を、nはディザマトリクスの縦横のサイズを、iはディザマトリクステーブル上のあるディザマトリクスの副走査方向の位置を、jはディザマトリクステーブル上のあるディザマトリクス主走査方向の位置を、imaxはiの最大値を、jmaxはjの最大値をそれぞれ示す。
【0059】
まずステップS1101において、入力多値画像の階調からn、wからjmax、lからimaxを決定する。次にS1102でパラメータiに‘0’を代入する。そしてS1103で乱数を用いてn×nマトリクスを同時に複数個生成し、計jmax個を生成する。
【0060】
次にS1104では、パラメータiが、i=imaxの条件を満たしているか否かを判断する。ここで条件を満たしていなければS1105に進み、n×i行目から{n×i+(n−1)}行目迄の2値化処理を行い、それと平行して乱数を用いてn×nマトリクスを同時に複数個生成し、計jmax個を生成する。そしてS1106に進みパラメータiをインクリメントし、S1104に処理を戻し、条件を満たさなければ上述の処理(ステップS1105,S1106)を繰り返すが、条件を満たせばステップS1107へ進み、n×i行目から(l−{n(imax−1)})行目までの2値化処理を行い、処理を終了する。
【0061】
このように、第2の実施形態では、プリンタ内に画像処理に特化したICを備え、画像処理ICにおいて2値化処理を行うことにより、処理速度の向上を図ることができる。
【0062】
【発明の効果】
このように本発明によれば、多値画像データをディザ処理によって2値化する際に、全て異なるディザマトリクスを用いることで、ディザパターンの無い2値画像データが出力可能となる。
【図面の簡単な説明】
【図1】本実施の形態における画像処理データの流れを示す図である。
【図2】4×4ディザマトリクスによる2値画像への処理を表わした概念図である。
【図3】ディザ法におけるベイヤ型マトリクスを導出する式である。
【図4】本実施の形態における画像処理システムの基本構成を示す図である。
【図5】本実施の形態において入力多値画像とディザマトリクステーブルとを比較して2値画像を出力するまでを図で表わしたものである。
【図6】本実施の形態におけるディザマトリクスの並びを決定する式である。
【図7】本実施の形態における上述のディザマトリクス生成部105の処理手順を、8×8マトリクスの生成を例にして示すフローチャートである。
【図8】本実施の形態における上述の2値化処理部102の処理手順を示すフローチャートである。
【図9】第2の実施の形態による画像処理部の構成を示す図である。
【図10】第2の実施の形態による画像処理部の構成を示す図である。
【図11】第2の形態における上述の2値化処理部402の処理手順を示すフローチャートである。
Claims (9)
- 入力された多値画像を2値画像に変換する画像処理装置であって、
乱数を発生する乱数発生手段と、前記乱数発生手段で発生された乱数値を参照して、組織的ディザ法におけるディザマトリクス内の閾値の並びを決定し、1つ1つが異なるディザマトリクスを生成する手段と、生成された前記ディザマトリクスを格納する記憶手段と、生成された1つ1つが異なる前記ディザマトリクスと、多値画像とを比較することにより2値化を行う2値化手段を備えることを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置において、
前記ディザマトリクス生成手段は、基となる2×2マトリクスの0から3までの数字の並び及び、m×mマトリクスを基に、n×nマトリクス(m=n/2)を生成する過程における、0から3までの係数の並びを乱数によってそれぞれ定めることを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置において、
前記ディザマトリクス生成手段は、ディザマトリクスを入力多値画像の主走査方向に複数同時に生成し、前記記憶手段は、入力多値画像の主走査方向の長さ分のディザマトリクスを記憶可能である容量を備えることを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置において、
前記ディザマトリクス生成手段は、請求項2に記載のディザマトリクス生成過程において、請求項2に記載の0から3までの数字の内、0もしくは1もしくは2もしくは3の任意の数字の位置を、任意の位置にあるように指定した後、乱数値を参照することで、前記係数の並びに制限を加えることを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置において、
前記ディザマトリクス生成手段は、請求項2に記載のディザマトリクス生成過程において、請求項4に記載の、0から3までの任意の数字及び、任意の位置をディザマトリクス生成の度に、自由に設定できることを特徴とする画像処理装置。 - 入力された多値画像を2値画像に変換する画像処理方法であって、
乱数を発生させる乱数発生工程と、前記乱数発生工程で発生された乱数により、組織的ディザ法におけるディザマトリクス内の閾値の並びを決定し、1つ1つが異なるディザマトリクスを生成する工程と、生成された前記ディザマトリクスを格納する記憶工程と、生成された1つ1つ異なる前記ディザマトリクスと、多値画像とを比較することにより2値化を行う2値化工程を備えることを特徴とする画像処理方法。 - 請求項6に記載の画像処理方法において、
前記ディザマトリクス生成工程は、基となる2×2マトリクスの0から3までの数字の並び及び、m×mマトリクスを基に、n×nマトリクス(m=n/2)を生成する過程における0から3までの係数の並びを乱数によってそれぞれ定めることを特徴とする画像処理方法。 - 請求項6に記載の画像処理方法において、
前記ディザマトリクス生成工程は、請求項7に記載のディザマトリクス生成過程において、請求項7に記載の0から3までの数字の内、0もしくは1もしくは2もしくは3の任意の数字の位置を、任意の位置にあるように指定した後、乱数値を参照することで、前記係数の並びに制限を加えることを特徴とする画像処理方法。 - 請求項6に記載の画像処理方法において、
前記ディザマトリクス生成工程は、請求項7に記載のディザマトリクス生成過程において、請求項8に記載の、0から3までの任意の数字及び、任意の位置をディザマトリクス生成の度に、自由に設定できることを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075654A JP2004289236A (ja) | 2003-03-19 | 2003-03-19 | 画像処理装置および画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075654A JP2004289236A (ja) | 2003-03-19 | 2003-03-19 | 画像処理装置および画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004289236A true JP2004289236A (ja) | 2004-10-14 |
Family
ID=33290915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003075654A Withdrawn JP2004289236A (ja) | 2003-03-19 | 2003-03-19 | 画像処理装置および画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004289236A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100745979B1 (ko) | 2006-01-04 | 2007-08-06 | 삼성전자주식회사 | 다계조 표현을 위한 디더링 장치 및 방법 |
US9118862B2 (en) | 2010-10-20 | 2015-08-25 | Brother Kogyo Kabushiki Kaisha | Image processing device having improved quality of its printed images |
-
2003
- 2003-03-19 JP JP2003075654A patent/JP2004289236A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100745979B1 (ko) | 2006-01-04 | 2007-08-06 | 삼성전자주식회사 | 다계조 표현을 위한 디더링 장치 및 방법 |
US8111429B2 (en) | 2006-01-04 | 2012-02-07 | Samsung Electronics Co., Ltd. | Apparatus and method for dithering for multi-toning |
US9118862B2 (en) | 2010-10-20 | 2015-08-25 | Brother Kogyo Kabushiki Kaisha | Image processing device having improved quality of its printed images |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11187264A (ja) | 画像処理方法および装置 | |
JP5797030B2 (ja) | 画像処理装置およびその方法 | |
US6028677A (en) | Method and apparatus for converting a gray level pixel image to a binary level pixel image | |
JP5641822B2 (ja) | 画像処理装置およびその方法 | |
JP5124268B2 (ja) | 好ましいパターンの間での補間によってディザ・マスクを生成する方法および装置 | |
JPH11234513A (ja) | 擬似階調画像処理装置 | |
JPH10229496A (ja) | 多グレーレベルのハーフトーン画像にグレーレベルを追加する方法及び装置 | |
JP2004289236A (ja) | 画像処理装置および画像処理方法 | |
JP2905107B2 (ja) | 閾値マトリクスの作成方法並びに画像のハーフトーン化方法および装置 | |
JP4479663B2 (ja) | 固定セルによるハーフトーン処理を行う画像処理装置,画像処理方法,及び画像処理プログラム | |
JP2003046793A (ja) | 画像処理方法及び装置 | |
JP2009020617A (ja) | 画像処理装置および画像処理方法、並びに、インクジェット記録装置 | |
JP2001028685A (ja) | ハーフトーンマトリクス作成方法 | |
JP2003198843A (ja) | 削減されたバッファでのエラー拡散 | |
JP4965378B2 (ja) | 画像形成方法および画像形成システム | |
JP4798860B2 (ja) | 画像処理方法 | |
JP4834582B2 (ja) | 画像処理装置およびその方法 | |
JP2005191959A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP3999763B2 (ja) | 画像処理装置及び画像処理プログラム | |
JPH06113125A (ja) | 画像処理装置 | |
JP4469511B2 (ja) | 画像処理方法 | |
JPH07295527A (ja) | 画像信号2値化処理装置および方法 | |
JP2005039413A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2006197411A (ja) | ハーフトーンスクリーニング方法及びプリンタ | |
JP2002290734A (ja) | 画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |