JP4254417B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP4254417B2
JP4254417B2 JP2003293678A JP2003293678A JP4254417B2 JP 4254417 B2 JP4254417 B2 JP 4254417B2 JP 2003293678 A JP2003293678 A JP 2003293678A JP 2003293678 A JP2003293678 A JP 2003293678A JP 4254417 B2 JP4254417 B2 JP 4254417B2
Authority
JP
Japan
Prior art keywords
threshold
matrix
threshold values
threshold value
memories
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
Application number
JP2003293678A
Other languages
English (en)
Other versions
JP2005064954A (ja
Inventor
学 赤松
憲一 高橋
征史郎 加藤
嘉彦 根本
泰寛 中谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2003293678A priority Critical patent/JP4254417B2/ja
Publication of JP2005064954A publication Critical patent/JP2005064954A/ja
Application granted granted Critical
Publication of JP4254417B2 publication Critical patent/JP4254417B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)

Description

本発明は、閾値マトリクスを用いてディザ処理を行う画像処理装置に関する。
画像処理装置で行われる画像処理の一つの形態として、原画像の階調値を画像出力装置で出力(表現)可能な階調値に変換して擬似的に再現するディザ法が知られている。ディザ法では、原画像を構成する各画素の階調値を、閾値マトリクスに配列された閾値と比較することにより、出力画像の階調値を決定する。出力画像の階調値が2値となるものは2値ディザ法、多値となるものは多値ディザ法と呼ばれる。
図10は従来の画像処理装置の構成例を示す概略図である。図において、アドレス制御部51は、閾値格納用のメモリ52に対して閾値読み出しのためのメモリアドレス(以下、単に「アドレス」と記す)を指定するものである。閾値格納メモリ52は、ディザ処理に用いられる閾値マトリクスの各位置(マトリクス要素)に対応する閾値のデータを記憶するものである。比較部53は、これに入力される入力画像データの各画素の階調値と、これに対応してメモリ52から読み出された閾値とを比較するとともに、この比較結果に基づいて階調変換された出力画像データを生成するものである。
ここで、上記ディザ法に基づく処理(ディザ処理)で使用される閾値マトリクスが例えば図11に示すように4×4のマトリクス構成(マトリクス内の閾値はTh00〜Th15の符号で識別)である場合は、この閾値マトリクス内に配列される閾値Th00〜Th15がメモリ52に格納される。この場合、メモリ52において、1つのアドレスに1つの閾値を格納することが公知となっている(例えば、特許文献1参照)。
そして、実際にディザ処理を行う場合は、図12に示すように、所定の周波数のクロックに同期してアドレス制御部51が0番地〜15番地のアドレスを順に指定してメモリ52から閾値(Th00〜Th15)を順次読み出すとともに、この読み出した閾値(Th00〜Th15)と入力画像の階調値(Vi00,Vi01,…)とを比較部53で比較し、この比較結果に基づいて出力画像の階調値(Vo00,Vo01,…)を生成するものとなっている。これにより、代表的な2値ディザ法である組織的ディザ法では、例えば、原画像を4×4画素や8×8画素のブロックに分割し、各々のブロックごとに、入力画素の階調値がこれに対応するマトリクス位置の閾値よりも大きい場合は白(1)、小さい場合は黒(0)とすることによって入力画像を2値化する。
特開平4−205675号公報(第4図)
ところで、入力画像の解像度(以下、「入力解像度」とも記す)と出力画像の解像度(以下、「出力解像度」とも記す)が同じ場合は、入力画素の数と出力画素の数が1:1の関係となる。そのため、ディザ処理を行う場合は、1つの入力画素を1つの閾値と比較することになる。したがって、上記クロックに同期してリアルタイムにディザ処理を行うことができる。
しかしながら、入力解像度よりも出力解像度が高い場合や、入力画像を複数の画素からなるブロック単位でディザ処理する場合などでは、比較部53で入力画素の階調値と比較される閾値が複数必要になる。そうした場合、上記従来技術のように1つのアドレスに1つの閾値を格納する方式では、メモリ52からの閾値の読み出し動作に合わせてリアルタイムにディザ処理を行うことができなくなる。
一例として、入力解像度が600×600(dpi)で、出力解像度が1200×1200(dpi)である場合は、低解像度から高解像度への変換となるために、1つの入力画素に対して4つの出力画素を生成することになる。そのため、図16に示すように、入力画像の各画素の階調値をそれぞれ4つの閾値と比較する必要がある。そうした場合、上記従来の画像処理装置の構成では、クロックに同期したアドレス制御部51からのアドレス指定により、4クロックかけてメモリ52から読み出した4つの閾値を、比較部53で1つの入力画素の階調値と比較することになる。そのため、メモリ52からの閾値の読み出しに合わせてリアルタイムにディザ処理が行われず、トータルの処理時間が長くなってしまう。
この対策としては、メモリ52に閾値を格納する場合に、1つのアドレスに複数の閾値をまとめて格納し、1つのアドレス指定で複数の閾値を読み出し可能とすることも考えられるが、その場合は装置の構成上、閾値マトリクスが固定(不変)の扱いとなる。一般にm×nの閾値マトリクスの形状(m,nの値)は固定の扱いではなく、装置状態(印刷用の色材の付着度合いなど)の経時的な変化や、Y(イエロー),M(マゼンタ),C(シアン),K(ブラック)の各色のスクリーン角度、シフト量等に応じて可変の扱いにする必要がある。また、汎用性の観点からしても、複数の入力解像度や出力解像度に対応して閾値マトリクスの形状、サイズ等を可変できるように装置を構成しておく必要がある。そのため実際の装置では、閾値マトリクスを固定の扱いにすることはできなかった。
本発明は、上記課題を解決するためになされたもので、その目的とするところは、入力画素の階調値と複数の閾値とを比較する場合でもリアルタイムにディザ処理を行うことができるとともに、ディザ処理に使用する閾値マトリクスの形状を任意に変更することができる画像処理装置を提供することにある。
本発明に係る画像処理装置は、入力画像の各画素の階調値を、閾値マトリクスを用いたディザ処理により変換して出力するものであって、閾値マトリクスに配列される閾値を格納するためのメモリを複数備えるとともに、入力画像の解像度と出力画像の解像度の関係から特定される複数の閾値を各々のメモリの1アドレス分の記憶領域に格納可能とし、かつディザ処理に使用する閾値マトリクスの各行に配列される閾値をそれぞれ異なるメモリに分けて格納してなるものである。
この画像処理装置においては、閾値マトリクスに配列される閾値を複数のメモリに格納するとともに、各々のメモリの1アドレスに複数の閾値を格納することにより、1つのアドレスを指定するだけで、各々のメモリから複数の閾値が読み出されるようになる。したがって、1つの入力画素の階調値と複数の閾値とを比較する場合に、1回の読み出し動作によって、入力画素の階調値との比較に必要な複数の閾値をメモリから読み出すことが可能となる。また、閾値格納用のメモリの個数やこれに格納される閾値の個数に合わせて、閾値マトリクスの形状、サイズ等を任意に変更することが可能となる。さらに、閾値マトリクスの各行の閾値をそれぞれ異なるメモリに格納することにより、メモリごとに閾値の読み出しを個別に制御することが可能となる。
本発明の画像処理装置によれば、入力画素の階調値と複数の閾値とを比較する場合でも、1回の読み出し動作によって、入力画素の階調値との比較に必要な複数の閾値をメモリから読み出すことができる。そのため、メモリからの読み出し動作に合わせてリアルタイムにディザ処理を行うことが可能となる。また、閾値格納用のメモリの個数やこれに格納される閾値の個数に合わせて、閾値マトリクスの形状、サイズ等を任意に変更することができる。したがって、様々なディザ処理の条件等に応じて閾値マトリクスを可変の扱いにすることが可能となる。
以下、本発明の具体的な実施の形態について図面を参照しつつ詳細に説明する。
図1は本発明の実施形態に係る画像処理装置の構成例を示す概略図である。図において、アドレス制御部1は、閾値を格納するために用意された複数のメモリM,…に対して、閾値読み出しのためのアドレス(メモリアドレス)を個別に指定するものである。閾値格納用のメモリM,…には、ディザ処理に用いられる閾値マトリクスの各行の閾値が格納される。さらに詳述すると、閾値マトリクスは、主走査方向に相当する列方向と副走査方向に相当する行方向にそれぞれ閾値を配列して構成されるものである。閾値マトリクスの形状及びサイズは、列方向に配列される閾値の数(個数)mと、行方向に配列される閾値の数(個数)nとによって決まる。そこで本実施形態においては、上記閾値マトリクスの配列の中で、列方向に一直線状に並ぶ各行の閾値(複数の閾値)をそれぞれ異なるメモリM,…に分けて格納することとした。
また、各々のメモリM,…は、それぞれ1つのアドレス(1ワード)に複数の閾値を格納できるように記憶領域(記憶場所)が区分されている。したがって、アドレス制御部1が各々のメモリM,…にアドレスを指定すると、この指定アドレスに記憶された複数の閾値が各々のメモリM,…から読み出されることになる。また、アドレス制御部1から各々のメモリM,…に同時にアドレスを指定すると、これにしたがって各々のメモリM,…から複数の閾値がほぼ同時に読み出されることになる。
一方、閾値制御部2は、各々のメモリM,…から1回又は2回にわたって読み出された複数の閾値を取り込むとともに、この取り込んだ複数の閾値の中から、その時々のディザ処理条件(スクリーン角度に応じたシフト量など)に合わせて、比較部3での比較処理に用いられる閾値を選択し、この選択した閾値を比較部3に与えるものである。比較部3は、これに入力される入力画像データの各画素の階調値と、これに対応して各々のメモリM,…から読み出され且つ閾値制御部2から与えられた閾値とを比較するとともに、この比較結果に基づいて階調変換された出力画像データを生成するものである。
上記構成からなる画像処理装置においては、閾値マトリクスに配列される閾値を複数のメモリM,…に格納するとともに、各々のメモリM,…の1アドレスに複数の閾値を格納可能としたので、例えば入力解像度よりも出力解像度が高い場合であっても、閾値格納用のメモリM,…の数や、各々のメモリM,…の1アドレスに格納される閾値の個数を適宜設定することにより、アドレス制御部1からのアドレスの指定によって各々のメモリM,…から複数の閾値を同時に読み出すことができる。さらに、この読み出した閾値を閾値制御部2から比較部3に与えることにより、1回(1クロックごと)の読み出し動作によって、入力画像の各画素の階調値をこれに対応する複数の閾値と比較させることができる。したがって、メモリM,…からの読み出し動作に合わせてリアルタイムのディザ処理を行うことが可能となる。また、閾値マトリクスの各行の閾値をそれぞれ異なるメモリM,…に格納するものとしたので、閾値マトリクスの行ごとに閾値の読み出しを個別に切り替え制御することができる。したがって、装置状態の経時的な変化や、YMCKの各色のスクリーン角度に応じて閾値マトリクスの形状を任意に変更することが可能となる。
ここで本実施形態の画像処理装置においては、入力画像の主走査方向の最低解像度をNxL(dpi)、出力画像の主走査方向の最高解像度をMxH(dpi)、閾値マトリクス内に配列される閾値の最大個数をD、閾値マトリクスの副走査方向に配列される閾値の最大個数をCyH、閾値のビット数をE(bit)とした場合に、閾値格納用のメモリの個数をCyH、各々のメモリのワード数を(D/CyH)÷(MxH/NxL)、各々のメモリの1ワードのビット数を(MxH/NxL)×Eに設定するものとする。このうち、最低解像度及び最高解像度とは、本発明の装置システムで想定している画像の解像度の最大値及び最小値をいう。また、閾値マトリクス内に配列される閾値の最大個数とは、閾値マトリクスを用いて擬似的に表現可能な最大の階調数をいう。よって、DとCyHの値が決まれば、閾値マトリクスの主走査方向に配列される閾値の最大個数CxHが一義的に決まる。
このように閾値格納用のメモリを構成することにより、入出力画像の解像度がどのように変化した場合でも、ディザ処理に使用する閾値マトリクスが、システムで想定した最大のマトリクスサイズ(CxH×CyH)以下であれば、1つの入力画素の階調値と複数の閾値とを同時に比較する場合に、リアルタイムにディザ処理を行うことができるとともに、スクリーン角度、シフト量等に応じて閾値マトリクスの形状、サイズ等を任意に変更することができる。
具体例として、入力画像の主走査方向の最低解像度NxL=600(dpi)、出力画像の主走査方向の最高解像度MxH=2400(dpi)、閾値マトリクス内に配列される閾値の最大個数D=16384(=214)、閾値マトリクスの副走査方向に配列される閾値の最大個数CyH=32(=25)、閾値のビット数E=8(bit)であるとすると、閾値格納用のメモリの個数は32、各々のメモリのワード数は128、各々のワードの1ワードのビット数は32(bit)に設定される。この場合、閾値マトリクスの主走査方向に配列される閾値の最大個数はCxH=D/CyHの計算式から16384/32=512となる。
このようなメモリ構成を採用することにより、例えば図2に示すように、実際にディザ処理に使用する閾値マトリクスの形状が512(=29)×32(=25)であった場合(マトリクス内の閾値はNo.1〜No.16384の連続番号で識別)は、合計32個のメモリM1〜M32に対して、閾値マトリクスの1行目に配列される512個の閾値(No.1〜No.512の閾値)をメモリM1に格納し、2行目に配列される512個の閾値(No.513〜No.1024の閾値)をメモリM2に格納する。以降、同様にして各々のメモリM3〜M31に各行の閾値を格納し、最終行となる32行目に配列される512個の閾値(No.15873〜No.16384の閾値)をメモリM32に格納する。また、各々のメモリM1〜M32においては、1アドレスに(MxH/NxL)個の閾値を格納可能となっていることから、例えば入力解像度が600×600(dpi)で、出力解像度が2400×2400(dpi)であれば、各々のメモリM1〜M32の1アドレスにそれぞれ4つの閾値を格納する。
以上の点を実際の処理に当てはめて考えると次のようになる。先ず、ディザ処理に使用する閾値マトリクスの構成(Cx×Cy)を図3に示すように16(主走査方向)×8(副走査方向)と仮定し、この閾値マトリクスに配列される各々の閾値に、マトリクスの左上から右下に向かってNo.1〜No.128の番号(連番)を順に割り当てる。これにより、閾値マトリクスの1行目にはNo.1〜No.16の閾値が、閾値マトリクスの2行目にはNo.17〜No.32の閾値が、閾値マトリクスの3行目にはNo.33〜No.48の閾値が、閾値マトリクスの4行目にはNo.49〜No.64の閾値が、それぞれ配列される。また、閾値マトリクスの5行目にはNo.65〜No.80の閾値が、閾値マトリクスの6行目にはNo.81〜No.96の閾値が、閾値マトリクスの7行目にはNo.97〜No.112の閾値が、閾値マトリクスの8行目にはNo.113〜No.128の閾値が、それぞれ配列される。
このような構成の閾値マトリクスに配列される合計128個の閾値(No.1〜No.128の閾値)を複数(最大32個)のメモリM,…に格納する場合は、図4に示すように、マトリクスの1行目に配列されたNo.1〜No.16の閾値をメモリM1に、マトリクスの2行目に配列されたNo.17〜No.32の閾値をメモリM2に、マトリクスの3行目に配列されたNo.33〜No.48の閾値をメモリM3に、マトリクスの4行目に配列されたNo.49〜No.64の閾値をメモリM4に、それぞれ格納する。また、マトリクスの5行目に配列されたNo.65〜No.80の閾値をメモリM5に、マトリクスの6行目に配列されたNo.81〜No.96の閾値をメモリM6に、マトリクスの7行目に配列されたNo.97〜No.112の閾値をメモリM7に、マトリクスの7行目に配列されたNo.113〜No.128の閾値をメモリM8に、それぞれ格納する。
また、入力解像度が600×600(dpi)で、出力解像度が2400×2400(dpi)であった場合は(MxH/NxL)=(2400/600)=4となるため、これに対応して各々のメモリM1〜M8の1アドレスに4つの閾値を格納する。例えば、図5に示すように、メモリM1の場合は、アドレス0番地にNo.1〜No.4の閾値を、アドレス1番地にNo.5〜No.8の閾値を、アドレス2番地にNo.9〜No.12の閾値を、アドレス3番地にNo.13〜No.16の閾値を、それぞれ格納する。同様に、メモリM2の場合は、アドレス0番地にNo.17〜No.20の閾値を、アドレス1番地にNo.21〜No.24の閾値を、アドレス2番地にNo.25〜No.28の閾値を、アドレス3番地にNo.29〜No.32の閾値を、それぞれ格納する。以降、他のメモリM3〜M8の場合も同様に格納する。これにより、アドレス制御部1からの1回のアドレス指定で、例えばメモリM1から4つの閾値が読み出されることになる。また、アドレス制御部1から各々のメモリM1〜M8に個別にアドレスを指定することにより、1回の読み出し動作で、各々のメモリM1〜M8から合計32(4×8)個の閾値を読み出すことが可能となる。
ただし、実際のディザ処理では、上述した入力解像度と出力解像度の関係から、入力画像の各々の画素(1つの入力画素)を4つの閾値と比較することになる。そうした場合、アドレス制御部1では、最初にメモリM1,M2,M3,M4にそれぞれアドレスを指定することにより、各々のメモリM1,M2,M3,M4から4つの閾値をそれぞれ読み出すようにする。このとき、各々のメモリM1〜M8のアドレスの割り当て方式を共通化しておくことにより、アドレス制御部1でアドレスを生成する際の処理(論理)を簡素化することができる。例えば、メモリM1のアドレス0番地にNo.1〜No.4の閾値を格納し、メモリM2のアドレス0番地にNo.17〜No.20の閾値を格納し、メモリM3のアドレス0番地にNo.33〜No.36の閾値を格納し、メモリM4のアドレス0番地にNo.49〜No.52の閾値を格納するものとすると、アドレス制御部1からは、各々のメモリM1,M2,M3,M4に同一のアドレスを指定するだけで、所望の閾値を読み出すことが可能となる。以後、各々のメモリM1〜M8には、それぞれ0番地〜3番地といった共通のアドレスが割り当てられているものとする。
こうして読み出された閾値は閾値制御部2に送られ、この閾値制御部2から比較部3へと与えられる。これにより、比較部3においては、最初に入力された入力画素の階調値と閾値制御部2から与えられた複数(合計16個)の閾値とが比較される。そして、入力画素の階調値よりも閾値が小さいマトリクス位置の画素は白(1)で出力され、入力画素の階調値よりも閾値が大きいマトリクス位置の画素は黒(0)で出力される。次いで、アドレス制御部1では、メモリM1,M2,M3,M4にそれぞれアドレスを1つずらして指定することにより、各々のメモリM1,M2,M3,M4から4つの閾値をそれぞれ読み出すようにする。この場合、アドレスの指定順序は、0→1→2→3→0→1→…の順となる。こうしてアドレスの指定を順にずらしながら、上記同様の処理を繰り返すことにより、入力画像の1行目の入力画素(画素列)に対するディザ処理を終える。
その後、入力画像の2行目の入力画素に対する処理では、最初にメモリM5,M6,M7,M8にそれぞれアドレスを指定することにより、各々のメモリM5,M6,M7,M8から4つの閾値をそれぞれ読み出すようにする。以後、上記1行目の入力画素に対するディザ処理と同様の手順にしたがって、2行目の入力画素に対するディザ処理を終える。
続いて、入力画像の3行目の入力画素に対する処理では、最初の閾値の読み出し方法(アドレスの指定方法)が閾値マトリクスのシフト量に応じて変わる。閾値マトリクスのシフト量は、スクリーン角度等に応じて適宜設定されるもので、主走査方向でのマトリクス位置のずれ量をずれの方向性とともに表す。例えば、閾値マトリクスのシフト量が「右方向に1」と設定されていた場合は、図6に示すように、入力画像の3行目の入力画素で且つ一番最初に入力される画素を、メモリM1に格納されているNo.16,No.1,No.2,No.3の閾値と、メモリM2に格納されているNo.32,No.17,No.18,No.19の閾値と、メモリM3に格納されているNo.48,No.33,No.34,No.35の閾値と、メモリM4に格納されているNo.64,No.49,No.50,No.51の閾値と、比較する必要がある。
そのため、アドレス制御部1では、先ず、メモリM1,M2,M3,M4にそれぞれアドレス3番地を指定することにより、各々のメモリM1,M2,M3,M4から4つの閾値をそれぞれ読み出すようにする。これにより、16×8の閾値マトリクスの各行の最後尾に配列されたNo.16,No.32,No.48,No.64の閾値を含む合計16個の閾値が読み出される。次いで、アドレス制御部1では、メモリM1,M2,M3,M4にそれぞれアドレス0番地を指定することにより、各々のメモリM1,M2,M3,M4から4つの閾値をそれぞれ読み出すようにする。これにより、3行目の最初(1番目)に入力される画素と比較される16個の閾値、すなわちNo.16,No.1〜No.3,No.32,No.17〜No.19,No.48,No.33〜No.35、No.64,No.49〜No.51の閾値が揃うため、この時点で、入力画素との比較に必要な16個の閾値を閾値制御部2で選択して比較部3に与え、1番目の入力画素の階調値とこれに対応する16個の閾値の比較を比較部3で行う。
次に、アドレス制御部1では、メモリM1,M2,M3,M4にそれぞれアドレス2番地を指定することにより、各々のメモリM1,M2,M3,M4から4つの閾値をそれぞれ読み出すようにする。この場合は、前回の読み出しによって得られたNo.4,No.20,No.36,No.52の閾値と今回の読み出しによって得られた16個の閾値の中から、入力画素との比較に必要な16個の閾値、すなわちNo.4〜No.7,No.20〜No.23,No.36〜No.39,No.52〜No.55の画素を閾値制御部2で選択して比較部3に与え、2番目の入力画素の階調値とこれに対応する16個の閾値の比較を比較部3で行う。以後、3番目以降の入力画素についても同様の処理を繰り返すことにより、3行目の入力画素に対するディザ処理を終える。
続いて、アドレス制御部1では、メモリM5,M6,M7,M8にそれぞれアドレス3番地を指定することにより、各々のメモリM5,M6,M7,M8から4つの閾値をそれぞれ読み出すようにする。これにより、16×8の閾値マトリクスの各行の最後尾に配列されたNo.80,No.96,No.112,No.128の閾値を含む合計16個の閾値が読み出される。次いで、アドレス制御部1では、メモリM5,M6,M7,M8にそれぞれアドレス0番地を指定することにより、各々のメモリM5,M6,M7,M8から4つの閾値をそれぞれ読み出すようにする。これにより、4行目の最初(1番目)に入力される画素と比較される16個の閾値、すなわちNo.80,No.65〜No.67,No.96,No.81〜No.83,No.112,No.97〜No.99、No.128,No.113〜No.115の閾値が揃うため、この時点で、入力画素との比較に必要な16個の閾値を閾値制御部2で選択して比較部3に与え、1番目の入力画素の階調値とこれに対応する16個の閾値の比較を比較部3で行う。
次に、アドレス制御部1では、メモリM5,M6,M7,M8にそれぞれアドレス2番地を指定することにより、各々のメモリM5,M6,M7,M8から4つの閾値をそれぞれ読み出すようにする。この場合は、前回の読み出しによって得られたNo.68,No.84,No.100,No.116の閾値と今回の読み出しによって得られた16個の閾値の中から、入力画素との比較に必要な16個の閾値、すなわちNo.68〜No.71,No.84〜No.87,No.100〜No.103,No.116〜No.119の画素を閾値制御部2で選択して比較部3に与え、2番目の入力画素の階調値とこれに対応する16個の閾値の比較を比較部3で行う。以後、3番目以降の入力画素についても同様の処理を繰り返すことにより、4行目の入力画素に対するディザ処理を終える。ちなみに、入力画像の5行目以降に入力画素に対するディザ処理は、基本的に上記同様の処理の繰り返しとなるため、詳しい説明は省略する。
このように本発明の実施形態に係る画像処理装置では、閾値マトリクスを用いてディザ処理を行う場合に、1つの入力画素につき、1回のアドレス指定で16個の閾値が読み出されるため、入出力画像の解像度変換に応じた4×4画素の出力が得られる。したがって、各々のメモリからの閾値の読み出しに同期して、リアルタイムにディザ処理を行うことができる。また、ディザ処理に使用する閾値マトリクスの形状、サイズ等が変更になる場合はメモリM,…の使用個数や、これに格納される閾値の個数を変更するだけで対応可能となる。さらに、入力解像度が600(dpi)から1200(dpi)に変更になる場合には、各々のメモリM,…の1アドレスに格納する閾値の個数を減らす(半減させる)ことで対応可能となる。
ところで、閾値格納用のメモリの個数を、閾値マトリクスの副走査方向の最大値であるCyHに設定した場合、実際のディザ処理に使用する閾値マトリクスの副走査方向の値CyがCyHよりも小さいと、実質的にデータ(閾値)が格納されない、いわゆる空のメモリが幾つか存在することになる。そこで、この空のメモリを有効に利用すれば、閾値マトリクスの主走査方向に配列される閾値の最大個数CxHを拡大することができる。
例えば、閾値マトリクスの副走査方向に配列される閾値の最大個数がCyH=32の場合は、メモリの個数が32個に設定される。このとき、実際のディザ処理において、閾値マトリクスの副走査方向に配列される閾値の個数がCy=16の条件では、32個のメモリを用いて、1024×16のマトリクスサイズの閾値を格納することができる。つまり、先述の実施形態と比較して、閾値マトリクスの主走査方向に配列される閾値の最大個数を512(=29)から1024(=210)に拡大することができる。
具体的には、図7に示すように、1024×16の閾値マトリクス(マトリクス内の閾値はNo.1〜No.16384の連続番号で識別)において、例えば、1行目の左半分に配列される512個の閾値(No.1〜No.512の閾値)を第1の組としてメモリM1に格納し、1行目の右半分に配列される512個の閾値(No.513〜No.1024の閾値)を第2の組としてメモリM2に格納する。つまり、閾値マトリクスの1行目に配列される1024個の閾値を2つの組に分割し、この分割した各々の組の閾値をそれぞれ異なるメモリM1,M2に格納する。以降、同様にして各々のメモリM,…に各行の閾値を格納し、最終行となる16行目の左半分に配列される512個の閾値(No.15361〜No.15872の閾値)をメモリM31に格納し、16行目の右半分に配列される512個の閾値(No.15873〜No.16384の閾値)をメモリM32に格納する。この場合、各々のメモリM1〜M32の1アドレスに格納される閾値の個数は、先述の実施形態と同様に規定される。
このように閾値マトリクスの副走査方向に配列される閾値の最大個数CyHに対して、実際のディザ処理に使用される閾値マトリクスの副走査方向に配列される閾値の個数Cyが1/2と小さい場合(CyH/Cy=2の場合)は、閾値マトリクスの各行の閾値を複数の組に分割し、この分割した各組の閾値をそれぞれ異なるメモリM1〜M32に分配して格納することにより、装置構成を変更したりメモリの個数を増やしたりしなくても、閾値マトリクスの主走査方向に配列される閾値の最大個数CxHを拡大することができる。したがって、ディザ処理に使用する閾値マトリクスの形状(Cx、Cyの値)を、よりフレキシブルに変更することが可能となる。この点は、閾値マトリクスの副走査方向に配列される閾値の最大個数CyHに対して、実際のディザ処理に使用される閾値マトリクスの副走査方向に配列される閾値の個数Cyが1/4、1/8、1/16又は1/32となる場合(CyH/Cy>2の場合)でも同様である。ちなみに、CyH/CY=4のときはCxH=2048、CyH/CY=8のときはCxH=4096、CyH/CY=16のときはCxH=8192、CyH/Cy=32のときはCxH=16384となる。
また、入力画像の副走査方向の解像度をNy(dpi)、出力画像の副走査方向の解像度をMy(dpi)、ディザ処理に用いる閾値マトリクスの副走査方向に配列される閾値の個数をCyとした場合に、Cy≧(My/Ny)の条件では、上記実施形態の場合と同様に閾値マトリクスの各行の閾値をそれぞれ異なるメモリに格納することにより、シフト量を指定した様々なディザ処理に適切に対応することが可能である。具体的には、例えば図8に示すようにCx×Cy=8×8のマトリクス構成(マトリクス内の閾値はNo.1〜No.64の番号で識別)で、Mx/My=4、My/Ny=4のときの条件を考えた場合、1つの入力画素と比較される画素サイズ(4×4画素)に含まれる閾値は、8×8の閾値マトリクスの中でそれぞれ異なる行に配列されたものとなる。したがって、8×8の閾値マトリクスに配列される各行の閾値をそれぞれ異なるメモリM1〜M8に格納しておけば、シフト量がどのように指定されたディザ処理であっても適切に対応することが可能となる。
これに対して、Cy<(My/Ny)の条件のときは、上記同様に閾値マトリクスの各行の閾値をそれぞれ異なるメモリに格納しただけでは、シフト量を指定した様々なディザ処理に適切に対応することができない。具体的には、例えば図9に示すようにCx×Cy=8×2のマトリクス構成(マトリクス内の閾値はNo.1〜No.16の番号で識別)で、Mx/My=4、My/Ny=4のときの条件を考えた場合、1つの入力画素と比較される画素サイズ(4×4画素)に含まれる閾値は、8×2の閾値マトリクスの中で共通の行に配列されたものとなる。したがって、単に8×2の閾値マトリクスの各行の閾値をそれぞれ異なるメモリM1,M2に格納しただけでは、シフト量を指定したディザ処理に適切に対応できなくなる。すなわち、8×2の閾値マトリクスの各行の閾値をそれぞれメモリM1,M2に格納すると、例えば図示のように閾値マトリクスのシフト量が「右方向に2」と指定された場合に、1つの入力画素と比較される16個の閾値が、それぞれメモリM1,M2の記憶領域で2つのアドレスに跨って格納されたものとなる。したがって、1つの入力画素につき、各々のメモリM1,M2から2回にわたって閾値を読み出す必要がある。
このような場合は、閾値マトリクスの各行の閾値をそれぞれ異なるメモリに格納するとともに、複数の異なるメモリに対して閾値マトリクスの同じ行の閾値を格納することで適切に対応することが可能となる。例えば、上述のように8×2の閾値マトリクスの場合は、マトリクスの1行目に配列されるNo.1〜No.8の閾値をメモリM1とメモリM3にそれぞれ格納し、マトリクスの2行目に配列されるNo.9〜No.16の閾値をメモリM2とメモリM4にそれぞれ格納する。これにより、メモリM1,M3に格納される閾値は互いに共通のものとなり、メモリM2,M4に格納される閾値も互いに共通のものとなる。
このように閾値を格納することにより、例えば図示のように閾値マトリクスのシフト量が「右方向に2」と指定されていた場合や、これ以外の条件でシフト量が指定されていた場合でも、同じ閾値を格納する複数のメモリが存在することから、各々のメモリに対してアドレス制御部1から個別にアドレスを指定することにより、1つの入力画素と比較される16個の閾値を、1回の読み出し動作でメモリM1,M2,M3,M4から読み出すことができる。したがって、シフト量を指定した様々なディザ処理に適切に対応することが可能となる。
なお、上記実施形態においては、ディザ処理によって2値の画像に変換する2値ディザ法を例に挙げて説明したが、本発明はこれに限らず、ディザ処理によって多値の画像に変換する多値ディザ法を適用することも可能である。
また、上記実施形態においては、1つの入力画素を複数の閾値と比較するものとしたが、本発明はこれに限らず、例えば入力画像をそれぞれ複数の入力画素を含むように複数のブロックに分割し、各々のブロックに含まれる複数の入力画素をこれに対応する複数の閾値と比較する場合にも適用可能である。
また、閾値格納用のメモリは、所要の記憶容量をもつものであれば、どのようなメモリ(例えば、汎用メモリ)を用いてもよい。
本発明の実施形態に係る画像処理装置の構成例を示す概略図である。 本発明の実施形態に係る閾値マトリクスの構成例と閾値の格納方式を説明する図(その1)である。 ディザ処理に使用する閾値マトリクスの構成例を示す図である。 図3に示すマトリクス構成に対応した閾値の格納方式を説明する図である。 各々のメモリに対する閾値格納方式を説明する図である。 図3に示す閾値マトリクスを使用して入力画像をディザ処理するときの概念図である。 本発明の実施形態に係る閾値マトリクスの構成例と閾値の格納方式を説明する図(その2)である。 入力画素サイズと閾値マトリクスサイズの関係に対応した閾値の格納方式を説明する図(その1)である。 入力画素サイズと閾値マトリクスサイズの関係に対応した閾値の格納方式を説明する図(その2)である。 従来の画像処理装置の構成例を示す概略図である。 従来の閾値の格納方式を説明する図である。 従来のディザ処理の流れを示すタイミングチャートである。 マトリクスサイズと入力画素サイズの関係を説明する図である。
符号の説明
1…アドレス制御部、2…閾値制御部、3…比較部、M(M1〜M32)…メモリ

Claims (6)

  1. 入力画像の各画素の階調値を、閾値マトリクスを用いたディザ処理により変換して出力する画像処理装置であって、
    前記閾値マトリクスに配列される閾値を格納するためのメモリを複数備えるとともに、入力画像の解像度と出力画像の解像度の関係から特定される複数の閾値を各々のメモリの1アドレス分の記憶領域に格納可能とし、かつ前記ディザ処理に使用する前記閾値マトリクスの各行に配列される閾値をそれぞれ異なるメモリに分けて格納してなる
    ことを特徴とする画像処理装置。
  2. 前記複数のメモリにおけるアドレスの割り当て方式を共通化し、
    前記複数のメモリに対して、それぞれ閾値読み出し用の同一のアドレスを個別に指定するアドレス制御手段を有する
    ことを特徴とする請求項1記載の画像処理装置。
  3. 入力画像の各画素の階調値とこれに対応する1つ又は複数の閾値とを比較する比較手段と、
    前記アドレス制御手段からのアドレス指定によって各々のメモリから読み出された複数の閾値を取り込むとともに、この取り込んだ複数の閾値の中から前記比較手段での比較処理に用いられる閾値を選択し、この選択した閾値を前記比較手段に与える閾値制御手段と
    を備えることを特徴とする請求項2記載の画像処理装置。
  4. 入力画像の主走査方向の最低解像度をNxL(dpi)、出力画像の主走査方向の最高解像度をMxH(dpi)、前記閾値マトリクス内に配列される閾値の最大個数をD、前記閾値マトリクスの副走査方向に配列される閾値の最大個数をCyH、前記閾値のビット数をE(bit)とした場合に、
    閾値格納用のメモリの個数をCyH、
    各々のメモリのワード数を(D/CyH)÷(MxH/NxL)、
    各々のメモリの1ワードのビット数を(MxH/NxL)×Eに設定してなる
    ことを特徴とする請求項1記載の画像処理装置。
  5. ディザ処理に用いる閾値マトリクスの副走査方向に配列される閾値の個数をCyとした場合に、
    CyH/Cy≦2の条件のときに、閾値マトリクスの各行の閾値を複数の組に分割し、この分割した各組の閾値をそれぞれ異なるメモリに分配して格納してなる
    ことを特徴とする請求項4記載の画像処理装置。
  6. 入力画像の副走査方向の解像度をNy(dpi)、出力画像の副走査方向の解像度をMy(dpi)、ディザ処理に用いる閾値マトリクスの副走査方向に配列される閾値の個数をCyとした場合に、
    Cy<(My/Ny)の条件のときに、閾値マトリクスの各行の閾値をそれぞれ異なるメモリに格納するとともに、複数の異なるメモリに対して閾値マトリクスの同じ行の閾値を格納してなる
    ことを特徴とする請求項4記載の画像処理装置。
JP2003293678A 2003-08-15 2003-08-15 画像処理装置 Expired - Fee Related JP4254417B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003293678A JP4254417B2 (ja) 2003-08-15 2003-08-15 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003293678A JP4254417B2 (ja) 2003-08-15 2003-08-15 画像処理装置

Publications (2)

Publication Number Publication Date
JP2005064954A JP2005064954A (ja) 2005-03-10
JP4254417B2 true JP4254417B2 (ja) 2009-04-15

Family

ID=34370507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003293678A Expired - Fee Related JP4254417B2 (ja) 2003-08-15 2003-08-15 画像処理装置

Country Status (1)

Country Link
JP (1) JP4254417B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5132496B2 (ja) * 2008-02-06 2013-01-30 キヤノン株式会社 画像処理装置、画像処理方法ならびにそのプログラムおよび記憶媒体

Also Published As

Publication number Publication date
JP2005064954A (ja) 2005-03-10

Similar Documents

Publication Publication Date Title
JP7175553B2 (ja) ムラ除去キャリブレーション情報のエンコード
US9118848B2 (en) Image data combining apparatus and method
US6088123A (en) Dithering masks with very large periods
JP4254417B2 (ja) 画像処理装置
US5926582A (en) Method and system for converting multi-gradated image data into binary image data
US5640249A (en) Image processing apparatus using derived ordered dither matrix
US5400154A (en) Hybrid interpolation and non-interpolation method and apparatus for image enlarging and contracting
JP4135606B2 (ja) 画像処理装置
JP4135605B2 (ja) 画像処理装置
JP2758291B2 (ja) 画像処理方法及びその装置
JP3797865B2 (ja) 画像データ並べ替え並べ戻し装置及び画像圧縮伸長装置
JPH03151762A (ja) 画像処理装置
JP2000244744A (ja) 画像データ圧縮方法及び画像データ管理方法
US5638187A (en) Image dithering method enabling conversion of a gray level pixel image into a binary pixel image
JP2005079741A (ja) 画像処理装置
JP2006050415A (ja) 画像処理装置および閾値データ記憶方法
JPH10178542A (ja) 画像縮小処理装置
JPH06113125A (ja) 画像処理装置
JP3782146B2 (ja) 画像処理装置
JP4137491B2 (ja) 複数ビット幅画素対応の画像変倍装置
JPH08221566A (ja) 画像処理装置及びその方法
JP4222151B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2003060909A (ja) 画像処理装置及び画像処理方
JPS6175967A (ja) デイザ画像生成回路
JPH05336371A (ja) 画像読み取り装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080711

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

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

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140206

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees