JP2005094404A - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP2005094404A
JP2005094404A JP2003325513A JP2003325513A JP2005094404A JP 2005094404 A JP2005094404 A JP 2005094404A JP 2003325513 A JP2003325513 A JP 2003325513A JP 2003325513 A JP2003325513 A JP 2003325513A JP 2005094404 A JP2005094404 A JP 2005094404A
Authority
JP
Japan
Prior art keywords
threshold
sub
matrix
memory
threshold values
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.)
Granted
Application number
JP2003325513A
Other languages
English (en)
Other versions
JP4135606B2 (ja
Inventor
Manabu Akamatsu
学 赤松
Kenichi Takahashi
憲一 高橋
Seishiro Kato
征史郎 加藤
Yoshihiko Nemoto
嘉彦 根本
Yasuhiro Nakatani
泰寛 中谷
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2003325513A priority Critical patent/JP4135606B2/ja
Publication of JP2005094404A publication Critical patent/JP2005094404A/ja
Application granted granted Critical
Publication of JP4135606B2 publication Critical patent/JP4135606B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】入力画素の階調値と複数の閾値とを比較する場合でもリアルタイムにディザ処理を行うことができるとともに、ディザ処理に使用する閾値マトリクスの形状を任意に変更することができる画像処理装置を提供する。
【解決手段】入力画像の各画素の階調値を、閾値マトリクスを用いたディザ処理により変換して出力する画像処理装置の構成要素として、閾値マトリクスに配列される全ての閾値を格納するメインメモリMMと、閾値マトリクスの各行に配列される閾値を入力ライン単位でメインメモリMMから読み出して書き込むための複数のサブメモリSM,…と、複数のサブメモリSM,…に書き込まれた閾値の中から、比較部4での比較処理に用いられる所定数の閾値を選択し、この選択した所定数の閾値を比較部4に与える閾値制御部3と、入力画像の各画素の階調値を、閾値制御部3から与えられた所定数の閾値と比較し、その比較結果を出力画像データとして出力する比較部4とを備えるものとする。
【選択図】図1

Description

本発明は、閾値マトリクスを用いてディザ処理を行う画像処理装置に関する。
画像処理装置で行われる画像処理の一つの形態として、原画像の階調値を画像出力装置で出力(表現)可能な階調値に変換して擬似的に再現するディザ法が知られている。ディザ法では、原画像を構成する各画素の階調値を、閾値マトリクスに配列された閾値と比較することにより、出力画像の階調値を決定する。出力画像の階調値が2値となるものは2値ディザ法、多値となるものは多値ディザ法と呼ばれる。
図13は従来の画像処理装置の構成例を示す概略図である。図において、アドレス制御部51は、閾値格納用のメモリ52に対して閾値読み出しのためのメモリアドレス(以下、単に「アドレス」とも記す)を指定するものである。閾値格納メモリ52は、ディザ処理に用いられる閾値マトリクスの各位置(マトリクス要素)に対応する閾値のデータを記憶するものである。比較部53は、これに入力される入力画像データの各画素の階調値と、これに対応してメモリ52から読み出された閾値とを比較するとともに、この比較結果に基づいて階調変換された出力画像データを生成するものである。
ここで、上記ディザ法に基づく処理(ディザ処理)で使用される閾値マトリクスが例えば図14に示すように4×4のマトリクス構成(マトリクス内の閾値はTh00〜Th15の符号で識別)である場合は、この閾値マトリクス内に配列される閾値Th00〜Th15がメモリ52に格納される。この場合、メモリ52において、1つのアドレスに1つの閾値を格納することが公知となっている(例えば、特許文献1参照)。
そして、実際にディザ処理を行う場合は、図15に示すように、所定の周波数のクロックに同期してアドレス制御部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と、メモリインターフェース(メモリI/F)2と、メインメモリMMと、複数のサブメモリSM(図例では4つのサブメモリSM0〜SM3)と、閾値制御部3と、比較部4とを備えて構成されている。
アドレス制御部1は、閾値読み出し用のメモリアドレスを生成し、このメモリアドレス(以下、単にアドレスとも記す)をメモリインターフェース2を介してメインメモリMMに供給するものである。メモリインターフェース2は、アドレス制御部1、メインメモリMM及び複数のサブメモリSM0〜SM3との間で、データ(アドレス、閾値)の受け渡しを行うインターフェースである。メインメモリMMは、ディザ処理に用いられる閾値マトリクスに配列される全ての閾値を格納するものである。さらに詳述すると、閾値マトリクスは、主走査方向に相当する列方向(水平方向)と副走査方向に相当する行方向(垂直方向)にそれぞれ閾値を配列して構成されるもので、このマトリクス内に配列される全ての閾値がメインメモリMMに格納される構成となっている。
各々のサブメモリSM0〜SM3は、上記閾値マトリクスの各行に配列される閾値を1ライン単位で書き込むためのメモリである。例えば、8×8の閾値マトリクスの場合は当該マトリクスの各行に8個の閾値が配列されるため、各々のサブメモリSM0〜SM3には8個ずつ閾値が書き込まれることになる。また、16×5の閾値マトリクスの場合は当該マトリクスの各行に16個の閾値が配列されるため、各々のサブメモリSM0〜SM3には16個ずつ閾値が書き込まれることになる。サブメモリSMの個数は、画像処理装置にディザ処理の対象として入力される入力画像の副走査方向の最低解像度と、画像処理装置からディザ処理の結果として出力される出力画像の副走査方向の最高解像度の関係によって決まる(詳細は後述)。
また、各々のサブメモリSM0〜SM3には、アドレス制御部1からメインメモリMMにアドレスを指定することにより、閾値マトリクスの各行に配列された複数の閾値がメインメモリMMから読み出されて書き込まれる構成となっている。さらに、サブメモリSM0〜SM3に対する閾値の書き込みは、入力画像の処理ラインごとに入力ライン単位で行われるものとなっている。入力ライン単位とは、入力画像の1つのラインを処理するのに必要な閾値の個数単位という意味である。これにより、閾値制御部3においては、入力画像の各ライン(画素列)を処理するときに、各々のサブメモリSM0〜SM3に書き込まれた複数個の閾値の中から、入力画像の各画素(1画素)の階調値との比較に必要とされる所定数の閾値を同時に読み出し可能となっている。
入力画像の各画素の階調値との比較に必要とされる閾値の個数は、入力画像の解像度と出力画像の解像度の関係によって決まる。一例として、入力画像の解像度が600×600(dpi)で、出力画像の解像度が1200×2400(dpi)である場合は、入力画像の1画素サイズが、出力画像の主走査方向で2画素サイズ、副走査方向で4画素サイズに相当する。そのため、入力画像の各画素の階調値との比較に必要とされる閾値の個数は2×4=8の計算式から合計8個となる。また、他の例として、入力画像の解像度が600×600(dpi)で、出力画像の解像度が2400×2400(dpi)である場合は、入力画像の1画素サイズが、出力画像の主走査方向及び副走査方向でそれぞれ4画素サイズに相当する。そのため、入力画像の各画素の階調値との比較に必要とされる閾値の個数は4×4=16の計算式から合計16個となる。
閾値制御部3は、複数のサブメモリSM0〜SM3に書き込まれた閾値の中から、比較部4での比較処理に用いられる所定数の閾値を選択し(読み出し)、この選択した閾値を比較部4に与えるものである。比較部4は、これに入力された画像データの各画素(入力画素)の階調値を、閾値制御部3から与えられた所定数の閾値と比較し、この比較結果に基づいて階調変換された出力画像データを生成するものである。
上記構成からなる画像処理装置においては、閾値マトリクスに配列される全ての閾値を格納するメインメモリMMに加えて、閾値マトリクスの各行に配列される閾値を書き込むための複数のサブメモリSM0〜SM3を備え、入力画像の各画素の階調値とこれに対応して各々のサブメモリSM0〜SM3から閾値制御部3により選択された所定数の閾値とを比較部4で比較するものとしたので、例えば入力解像度よりも出力解像度が高い場合であっても、サブメモリの個数や、閾値制御部3による閾値の選択個数を適宜設定することにより、入力画像の各画素の階調値との比較に必要な所定数の閾値を各々のサブメモリSM0〜SM3から同時に読み出すことができる。さらに、この読み出した閾値を閾値制御部3から比較部4に与えることにより、1回(1クロックごと)の読み出し動作によって、入力画像の各画素の階調値とこれに対応する所定数の閾値とを比較することができる。したがって、サブメモリSM0〜SM3からの閾値の読み出し動作に合わせてリアルタイムにディザ処理を行うことが可能となる。また、閾値マトリクスの各行の閾値をそれぞれ異なるサブメモリSM0〜SM3に格納するものとしたので、閾値マトリクスの行ごとに閾値の読み出しを個別に制御することができる。したがって、装置状態の経時的な変化や、YMCKの各色のスクリーン角度に応じて閾値マトリクスの形状を任意に変更することが可能となる。
ここで本実施形態の画像処理装置においては、入力画像の主走査方向の最低解像度をNxL(dpi)、入力画像の副走査方向の最低解像度をNyL(dpi)、出力画像の主走査方向の最高解像度をMxH(dpi)、出力画像の副走査方向の最高解像度をMyH(dpi)、閾値マトリクスの主走査方向に配列される閾値の最大個数をCxH、閾値マトリクスの副走査方向に配列される閾値の最大個数をCyH、閾値のビット数をE(bit)とした場合に、メインメモリMMの1ワードのビット数をE、メインメモリMMのワード数をCxH×CyH、メインメモリMMの個数を1個、サブメモリSMの1ワードのビット数を(MxH/NxL)×E、サブメモリSMのワード数をCxH、サブメモリSMの個数をMyH/NyLに設定するものとする。このうち、最低解像度及び最高解像度とは、本発明の装置システムで想定している画像の解像度の最大値及び最小値をいう。また、閾値マトリクスに配列される閾値の最大個数DはD=CxH×CyHで求まり、この最大個数DがメインメモリMMのワード数に設定される。
このようにメインメモリMM及びサブメモリSMを構成することにより、入出力画像の解像度がどのように変化した場合でも、ディザ処理に使用する閾値マトリクスが、システムで想定した最大のマトリクスサイズ(CxH×CyH)以下であれば、1つの入力画素の階調値と複数の閾値とを同時に比較する場合に、リアルタイムにディザ処理を行うことができるとともに、スクリーン角度、シフト量等に応じて閾値マトリクスの形状、サイズ等を任意に変更することができる。
具体例として、入力画像の主走査方向の最低解像度NxL=600(dpi)、入力画像の副走査方向の最低解像度NyL=600(dpi)、出力画像の主走査方向の最高解像度MxH=2400(dpi)、出力画像の副走査方向の最高解像度MyH=2400(dpi)、閾値マトリクスの主走査方向に配列される閾値の最大個数CxH=512、閾値マトリクスの副走査方向に配列される閾値の最大個数CyH=32、閾値のビット数E=8(bit)であるとすると、メインメモリMMの1ワードのビット数は8(bit)、メインメモリMMのワード数は16384(word)、メインメモリMMの個数は1個、サブメモリSMの1ワードのビット数は32(bit)、サブメモリSMのワード数は512(word)、サブメモリSMの個数は4個に設定される。ただし、メインメモリMMの1ワードのビット数については、任意に変更可能である。したがって、例えばメインメモリMMの1ワードのビット数を(MxH/NxL)×Eとした場合は32(bit)に設定される。
続いて、上記メモリ構成を採用した画像処理装置による具体的なディザ処理の例について説明する。
先ず、入力画像の解像度が600×600(dpi)で、出力画像の解像度が2400×2400(dpi)であるとすると、図2に示すように、入力画像の1画素サイズが出力画像の4×4画素サイズとなる。したがって、入力画像の1画素につき、16個(4×4画素分)の閾値と比較する必要がある。このとき、ディザ処理に使用する閾値マトリクスの構成例として、図3(A)に示す9×5のマトリクスと同図(B)に示す9×3のマトリクスを想定する。そして、9×5の閾値マトリクスには、マトリクス内の位置を特定するためのアドレス情報として0〜44のマトリクス番号を割り当て、9×3の閾値マトリクスには0〜26のマトリクス番号を割り当てる。
そうした場合、上記入出解像度の関係から入力画像の1ライン分が出力画像の4ライン分に相当するため、9×5の閾値マトリクスを用いたディザ処理では、図4に示すように、入力画像の1ライン目を処理するときは、閾値マトリクスの1行目〜4行目の閾値(マトリクス番号0〜35の閾値)を参照し、入力画像の2ライン目を処理するときは、閾値マトリクスの5行目、1行目〜3行目の閾値(マトリクス番号36〜44、0〜26の閾値)を参照し、入力画像の3ライン目を処理するときは、閾値マトリクスの4行目、5行目、1行目、2行目の閾値(マトリクス番号27〜44、0〜17の閾値)を参照する。
また、閾値マトリクスの位置が副走査方向に1段ずれるところ(出力画像の6ライン目、11ライン目など)では、予め設定されたシフト量にしたがって閾値マトリクスの位置を主走査方向にずらす。例えば、シフト量が「右方向に2」と設定されていた場合は、出力画像の6ライン目で、マトリクス番号7,8,0,1の閾値を、最初に入力された入力画素の階調値との比較対象とする。同様に、出力画像の7ライン目ではマトリクス番号16,17,9,10の閾値を、出力画像の8ライン目ではマトリクス番号25,26,18,19の閾値を、出力画像の9ライン目ではマトリクス番号34,35,27,28の閾値を、出力画像の10ライン目ではマトリクス番号43,44,36,37の閾値を、最初に入力された入力画素の階調値との比較対象とする。そして、出力画像の11ライン目以降についても同様のシフト動作を行う。
一方、9×3の閾値マトリクスを用いたディザ処理では、図5に示すように、入力画像の1ライン目を処理するときは、閾値マトリクスの1行目〜3行目の閾値(マトリクス番号0〜26の閾値)を参照し、入力画像の2ライン目を処理するときも、閾値マトリクスの1行目〜3行目の閾値(マトリクス番号0〜26の閾値)を参照し、入力画像の3ライン目を処理するときも、閾値マトリクスの1行目〜3行目の閾値(マトリクス番号0〜26の閾値)を参照する。つまり、入力画像の処理ラインごとに、閾値マトリクスの1行目〜3行目の閾値(マトリクス番号0〜26の閾値)を参照する。
ただし、入力画像の1ライン目を処理するときは、閾値マトリクスの1行目の閾値(マトリクス番号0〜8の閾値)を、出力画像の1ライン目と4ライン目で参照する。また、入力画像の2ライン目を処理するときは、閾値マトリクスの2行目の閾値(マトリクス番号9〜17の閾値)を、出力画像の5ライン目と8ライン目で参照し、入力画像の3ライン目を処理するときは、閾値マトリクスの3行目の閾値(マトリクス番号18〜26の閾値)を、出力画像の9ライン目と12ライン目で参照する。
また、出力画像の1ライン目と4ライン目では、閾値マトリクスの位置が副走査方向に1段ずれるため、予め設定されたシフト量にしたがって閾値マトリクスの位置を主走査方向にずらす。例えば、シフト量が「右方向に2」と設定されていた場合は、出力画像の4ライン目で、マトリクス番号7,8,0,1の閾値を、最初に入力された入力画素の階調値との比較対象とする。同様に、出力画像の5ライン目ではマトリクス番号16,17,9,10の閾値を、出力画像の6ライン目ではマトリクス番号25,26,18,19の閾値を、最初に入力された入力画素の階調値との比較対象とする。そして、出力画像の7ライン目以降についても同様のシフト動作を行う。
このようなディザ処理を実現するにあたって、画像処理装置では、次のような処理動作を行う。先ず、9×5の閾値マトリクスを使用する場合は、この閾値マトリクスに配列される全ての閾値(マトリクス番号0〜44の閾値)のデータを、例えば図6(A)に示すようにメインメモリMMに格納する。このとき、メインメモリMMの1アドレスに1個の閾値を格納するものとすると、メモリアドレス0〜44のメモリ空間を利用して、マトリクス番号0〜44の閾値がメインメモリMMに格納されることになる。また、9×3の閾値マトリクスを使用する場合は、図6(B)に示すように、メモリアドレス0〜26のメモリ空間を利用して、マトリクス番号0〜26の閾値がメインメモリMMに格納されることになる。
このようにディザ処理に必要な全ての閾値をメインメモリMMに格納したら、実際に入力画像データを処理する際に、入力画像の処理ラインごとに、閾値マトリクスの各行の閾値をメインメモリMMから読み出すとともに、この読み出した閾値を閾値マトリクスの行ごとに複数のサブメモリSM0,SM1,SM2,SM3に書き込む。この場合、各々のサブメモリSM0,SM1,SM2,SM3では、前述した設定条件にしたがって1アドレス(1ワードのビット列)に4個の閾値を格納可能となっている。
そこで、9×5の閾値マトリクスを使用してディザ処理する場合は、閾値マトリクスの副走査方向に配列される閾値の個数がCy=5個、入力画像の副走査方向の解像度がNy=600(dpi)、出力画像の副走査方向の解像度がMy=2400(dpi)となり、Cy≧(My/Ny)の条件を満たすことになる。この場合は、閾値マトリクスの各行に配列される閾値をそれぞれ異なるサブメモリに書き込むとともに、複数の異なるサブメモリに対して閾値マトリクスの異なる行の閾値を書き込むようにする。
具体的には、入力画像の1ライン目を処理する場合は、図7(A)〜(D)に示すように、サブメモリSM0の3つのアドレス空間(アドレス0,1,2で指定されるメモリ領域)に、閾値マトリクスの1行目の閾値(マトリクス番号0〜8の閾値)を書き込む。このとき、サブメモリSM0のメモリアドレス2には、マトリクス番号8の閾値とこれに続く先頭からのマトリクス番号0,1,2の閾値を書き込む。同様に、サブメモリSM1の3つのアドレス空間には閾値マトリクスの2行目の閾値(マトリクス番号9〜17の閾値)、サブメモリSM2の3つのアドレス空間には閾値マトリクスの3行目の閾値(マトリクス番号18〜26の閾値)、サブメモリSM3の3つのアドレス空間には閾値マトリクスの4行目の閾値(マトリクス番号27〜35の閾値)を書き込む。
また、入力画像の2ライン目を処理する場合は、図8(A)〜(D)に示すように、サブメモリSM0の3つのアドレス空間(アドレス0,1,2で指定されるメモリ領域)に、閾値マトリクスの5行目の閾値(マトリクス番号36〜44の閾値)を書き込む。このとき、サブメモリSM0のメモリアドレス2には、マトリクス番号44の閾値とこれに続く先頭からのマトリクス番号36,37,38の閾値を書き込む。同様に、サブメモリSM1の3つのアドレス空間には閾値マトリクスの1行目の閾値(マトリクス番号0〜8の閾値)、サブメモリSM2の3つのアドレス空間には閾値マトリクスの2行目の閾値(マトリクス番号9〜17の閾値)、サブメモリSM3の3つのアドレス空間には閾値マトリクスの3行目の閾値(マトリクス番号18〜26の閾値)を書き込む。入力画像の3ライン目以降を処理する場合も、上記同様の方式で各々のサブメモリSM0,SM1,SM2,SM3に、閾値マトリクスの各行の閾値を書き込む。
これにより、各々のサブメモリSM0,SM1,SM2,SM3の1アドレスから、それぞれ4個の閾値が読み出される。したがって、各々のサブメモリSM0,SM1,SM2,SM3に1つのアドレスを指定することにより、入力画像の1画素サイズに相当する4×4画素分(合計16個)の閾値を同時に読み出すことができる。その結果、1クロックの読み出し動作に合わせてリアルタイムにディザ処理を行うことが可能となる。さらに、閾値マトリクスの各行に配列される閾値を、それぞれ異なるサブメモリSM0,SM1,SM2,SM3に書き込むため、各々のサブメモリSM0,SM1,SM2,SM3からの閾値の読み出しを個別に制御することができる。したがって、装置状態の経時的な変化や、YMCKの各色のスクリーン角度に応じて閾値マトリクスの形状を任意に変更することが可能となる。
ちなみに、上記図の中で例えばシフト処理が行われる出力画像の6ライン目では、マトリクス番号7,8,0,1の閾値を、最初に入力された入力画素の階調値との比較対象とするため、この閾値が書き込まれたサブメモリSM1の2つのアドレス(1,2)から閾値を読み出す必要がある。このように2つのアドレスに跨った閾値を使用する場合は、いずれも2つのアドレスが隣り合う関係又は最後と最初の関係となる。したがって、この場合は、先行する一方のアドレスから先に閾値を読み出して閾値制御部3に取り込んだ後、これを保持したまま、逐次、後続のアドレスから閾値を読み出して閾値制御部3に取り込み、その中から必要な閾値を閾値制御部3で選択して比較部4に与えることにより適切に対応することができる。
また、メインメモリMMから4個のサブメモリSM0,SM1,SM2,SM3への閾値の読み出しと書き込みは、上記ラインシンクLSの立ち下がりタイミングから次の立ち上がりタイミングまでの期間(以下、無効期間)に行うことができる。ただし、無効期間(ラインシンクの立ち下がり保持期間)が短すぎて、当該期間内に閾値の読み書きを終了できない場合は、各々のサブメモリSM0,SM1,SM2,SM3の構成としてピンポンバッファ(デュアルバッファ)を採用すればよい。
ピンポンバッファは、一対(2つ)のバッファによって構成されるものである。このピンポンバッファでは、一方のバッファにデータを書き込んでいるときに、他方のバッファからデータを読み出すことができる。つまり、一対のバッファを、データの書き込み用と読み出し用に交互に切り替えることができる。したがって実際のディザ処理では、入力画像の1ライン目の処理に使用する閾値を一方のバッファに書き込んだ後、ラインシンクLSの立ち上がり保持期間で、一方のバッファから閾値を読み出して入力画像の1ライン目を処理するとともに、入力画像の2ライン目の処理に使用する閾値を他方のバッファに書き込む。そして、次のラインシンクLSの立ち上がり保持期間では、他方のバッファから閾値を読み出して入力画像の2ライン目を処理するとともに、入力画像の3ライン目の処理に使用する閾値を一方のバッファに書き込む。以後、同様の処理を繰り返す。
一方、9×3の閾値マトリクスを使用してディザ処理する場合は、閾値マトリクスの副走査方向に配列される閾値の個数がCy=3個、入力画像の副走査方向の解像度がNy=600(dpi)、出力画像の副走査方向の解像度がMy=2400(dpi)となり、Cy<(My/Ny)の条件を満たすことになる。この場合は、閾値マトリクスの各行に配列される閾値をそれぞれ異なるサブメモリに書き込むとともに、複数の異なるサブメモリに対して閾値マトリクスの同じ行の閾値を書き込むようにする。
具体的には、入力画像の1ライン目を処理する場合は、図9(A)〜(D)に示すように、サブメモリSM0の3つのアドレス空間(アドレス0,1,2で指定されるメモリ領域)に、閾値マトリクスの1行目の閾値(マトリクス番号0〜8の閾値)を書き込む。このとき、サブメモリSM0のメモリアドレス2には、マトリクス番号8の閾値とこれに続く先頭からのマトリクス番号0,1,2の閾値を書き込む。同様に、サブメモリSM1の3つのアドレス空間には閾値マトリクスの2行目の閾値(マトリクス番号9〜17の閾値)、サブメモリSM2の3つのアドレス空間には閾値マトリクスの3行目の閾値(マトリクス番号18〜26の閾値)を書き込む。また、サブメモリSM3の3つのアドレス空間には閾値マトリクスの1行目の閾値(マトリクス番号0〜8の閾値)を書き込む。つまり、4つのサブメモリSM0,SM1,SM2,SM3のうち、2つのサブメモリSM0,SM3に閾値マトリクスの同じ行(1行目)の閾値を書き込む。
また、入力画像の2ライン目を処理する場合は、図10(A)〜(D)に示すように、サブメモリSM0の3つのアドレス空間(アドレス0,1,2で指定されるメモリ領域)に、閾値マトリクスの2行目の閾値(マトリクス番号9〜17の閾値)を書き込む。このとき、サブメモリSM0のメモリアドレス2には、マトリクス番号17の閾値とこれに続く先頭からのマトリクス番号9,10,11の閾値を書き込む。同様に、サブメモリSM1の3つのアドレス空間には閾値マトリクスの3行目の閾値(マトリクス番号18〜26の閾値)、サブメモリSM2の3つのアドレス空間には閾値マトリクスの1行目の閾値(マトリクス番号0〜8の閾値)を書き込む。また、サブメモリSM3の3つのアドレス空間には閾値マトリクスの2行目の閾値(マトリクス番号9〜17の閾値)を書き込む。つまり、4つのサブメモリSM0,SM1,SM2,SM3のうち、2つのサブメモリSM0,SM3に閾値マトリクスの同じ行(2行目)の閾値を書き込む。
これにより、各々のサブメモリSM0,SM1,SM2,SM3の1アドレスから、それぞれ4個の閾値が読み出される。したがって、各々のサブメモリSM0,SM1,SM2,SM3に1つのアドレスを指定することにより、入力画像の1画素サイズに相当する4×4画素分(合計16個)の閾値を同時に読み出すことができる。その結果、1クロックの読み出し動作に合わせてリアルタイムにディザ処理を行うことが可能となる。さらに、閾値マトリクスの各行に配列される閾値を、それぞれ異なるサブメモリSM0,SM1,SM2,SM3に書き込むため、各々のサブメモリSM0,SM1,SM2,SM3からの閾値の読み出しを個別に制御することができる。したがって、装置状態の経時的な変化や、YMCKの各色のスクリーン角度に応じて閾値マトリクスの形状を任意に変更することが可能となる。さらに、上記図5に示すように、入力画像の1つのライン(出力画像の4ライン分)を処理するときに、閾値マトリクスの同じ行の閾値を同時に参照する必要がある場合でも、複数の異なるサブメモリ(上記の例ではサブメモリSM0,SM3)に対して閾値マトリクスの同じ行の閾値を書き込むことにより、所望の閾値を同時に読み出すことができる。
図11は本発明の他の実施形態に係る画像処理装置でディザ処理を行うモジュール内部の構成を示す図である。ここでは、一例として、入力解像度が600×600(dpi)、出力解像度が1200×2400(dpi)、入力画像の各画素の階調値が8ビット(256階調)で入力、出力画像の各画素の階調値が1ビット(8画素分で8ビット)で出力する場合を想定している。この場合、入力画像の1画素サイズが出力画像の2×4画素サイズとなる。
図示したモジュール構成において、当該モジュールに入力されるラインシンクLS-In及びページシンクPS-Inは、それぞれアドレス制御部1及び比較部4に与えられる。ラインシンクLSは、入力画像の各ラインを処理するごとに出力される同期信号(水平同期信号)であり、ページシンクPSは、入力画像の各ページを処理するごとに出力される同期信号である。また、比較部4には、入力画像の各画素の階調値が8ビットのデジタルデータDATA-In[7:0]で入力される。そして、比較部4からは、出力画像の各画素の階調値が1ビット(8画素分で8ビット)のデジタルデータDATA-Out[7:0]で出力される。
アドレス制御部1は、閾値読み出しのためのアドレスRADDをメインメモリMMに対して出力する。メインメモリMMには、例えば64ビット×256ワードのメモリ構成を適用する。この場合、メインメモリMMには、閾値マトリクスの各行に配列される閾値が、閾値マトリクスの行単位で先頭アドレスから順に格納される。また、メインメモリMMの1ワードには8個の閾値を格納可能となる。メインメモリMMに格納された閾値は、アドレス制御部1からのアドレスの指定により、閾値マトリクスの行ごとに1ワード分(8個)ずつ順に読み出される。また、メインメモリMMからの閾値の読み出しは、入力画像の各ラインを処理するにあたって複数の入力画素単位で行われる。複数の入力画素単位とは、複数の入力画素を処理するのに必要な閾値の個数単位という意味である。こうしてメインメモリMMから読み出された閾値(閾値データ)RDATAは、閾値マトリクスの行ごとに、4つのサブメモリSM0,SM1,SM2,SM3に書き込まれる。各々のサブメモリSM0,SM1,SM2,SM3には、メインメモリMMの1ワード分に相当する8個の閾値が書き込まれる。
また、4つのサブメモリSM0,SM1,SM2,SM3に書き込まれた合計32個の閾値は、複数(図例では4つ)のバッファメモリBM0,BM1,BM2,BM3と1つの選択回路5とを有する閾値制御部3により順に選択されて比較部4に付与される。すなわち、4つのサブメモリSM0,SM1,SM2,SM3に書き込まれた合計32個の閾値は、入力画像の1画素単位で主走査方向に順に読み出されて4つのバッファメモリBM0,BM1,BM2,BM3に書き込まれる。この場合、各々のバッファメモリBM0,BM1,BM2,BM3には、主走査方向に2画素分、副走査方向に4画素分の閾値(8個の閾値)がそれぞれ書き込まれる。
これに対して、選択回路5は、上記4つのバッファメモリBM0,BM1,BM2,BM3のいずれか一つを順に選択するとともに、選択したバッファメモリに書き込まれている8個(2×4画素分)の閾値を読み出して比較部4に与える。これにより、比較部4には、入力画像の各画素の階調値との比較に必要な所定数(本例では8個)の閾値が、選択回路5から順に供給される。したがって、比較部4においては、1つの入力画素の階調値がこれに対応する所定数の閾値と比較され、この比較結果が出力される。すなわち、比較部4では、入力画素の階調値よりも閾値が小さいマトリクス位置の画素は白(1)で出力され、入力画素の階調値よりも閾値が大きいマトリクス位置の画素は黒(0)で出力される。
図12はディザ処理に係るモジュールの動作を示すタイミングチャートである。先ず、基準クロックCLKに同期してページシンクPS-In及びラインシンクLS-Inが順に立ち上がると、ラインシンクLS-Inの立ち上がりタイミングをトリガとして、入力画像の各画素の階調値データDATA-In[7:0]が1クロックCLKごとに入力される。このとき、クロックCLKに同期してサブメモリSM0,SM1,SM2,SM3への閾値の書き込み信号を順に立ち上げることにより、閾値マトリクスの各行に配列された複数の閾値の中から、それぞれ8個ずつ閾値を読み出して対応するサブメモリSM0,SM1,SM2,SM3に順に書き込む。このサブメモリSM0〜SM3への閾値の書き込みは4クロックCLKかけて行われる。
次いで、バッファメモリBM0,BM1,BM2,BM3への閾値の書き込み信号を立ち上げることにより、サブメモリSM0,SM1,SM2,SM3に書き込まれた8×4画素分の閾値を、バッファメモリBM0,BM1,BM2,BM3に同時に書き込む。続いて、バッファメモリBM0,BM1,BM2,BM3に書き込まれた合計8×4画素分の閾値を、4クロックCLKかけて順に読み出すことにより、各々のバッファメモリBM0,BM1,BM2,BM3に書き込まれた2×4画素の閾値を比較部4に順に与える。これにより、1クロックCLKごとに比較部4から出力画像の階調値データDATA-Out[7:0]が出力される。以後、入力画像の1ライン分の処理が終了するまで同様の処理を繰り返す。
このモジュール構成によれば、閾値マトリクスの各行に配列される閾値を、入力画像の各ラインを処理する際に複数の入力画素単位(本形態例では4つの入力画素単位)でメインメモリMMから読み出して複数のサブメモリSM0〜SM3に書き込み、このサブメモリSM0〜SM3に書き込んだ閾値を、1つの入力画素単位(出力画像で2×4画素分の閾値)で順に読み出して比較部4に付与するものとなっているため、サブメモリSMの必要容量を小さく抑えることができる。したがって、各々のサブメモリSM0〜SM3をフリップフロップで構成することが可能となり、コスト的に有利になる。
なお、上記実施形態においては、ディザ処理によって2値の画像に変換する2値ディザ法を例に挙げて説明したが、本発明はこれに限らず、ディザ処理によって多値の画像に変換する多値ディザ法を適用することも可能である。
また、上記実施形態においては、1つの入力画素を複数の閾値と比較するものとしたが、本発明はこれに限らず、例えば入力画像をそれぞれ複数の入力画素を含むように複数のブロックに分割し、各々のブロックに含まれる複数の入力画素をこれに対応する複数の閾値と比較する場合にも適用可能である。
また、閾値格納用のメモリは、所要の記憶容量をもつものであれば、どのようなメモリ(例えば、汎用メモリ)を用いてもよい。
本発明の実施形態に係る画像処理装置の構成例を示す概略図である。 入出力画像の解像度による画素サイズの違いを説明する図である。 ディザ処理に使用する閾値マトリクスの構成例を示す図である。 9×5の閾値マトリクスを用いたディザ処理の例を示す図である。 9×3の閾値マトリクスを用いたディザ処理の例を示す図である。 メインメモリに対する閾値の格納例を示す図である。 9×5の閾値マトリクスを使用して入力画像の1ライン目を処理する場合のサブメモリに対する閾値の書き込み例を示す図である。 9×5の閾値マトリクスを使用して入力画像の2ライン目を処理する場合のサブメモリに対する閾値の書き込み例を示す図である。 9×3の閾値マトリクスを使用して入力画像の1ライン目を処理する場合のサブメモリに対する閾値の書き込み例を示す図である。 9×3の閾値マトリクスを使用して入力画像の2ライン目を処理する場合のサブメモリに対する閾値の書き込み例を示す図である。 ディザ処理を行うモジュール内部の構成を示す図である。 ディザ処理に係るモジュール動作を示すタイミングチャートである。 従来の画像処理装置の構成例を示す概略図である。 従来の閾値の格納方式を説明する図である。 従来のディザ処理の流れを示すタイミングチャートである。 マトリクスサイズと入力画素サイズの関係を説明する図である。
符号の説明
1…アドレス制御部、2…メモリインターフェース、3…閾値制御部、4…比較部、MM…メインメモリ、SM(SM0,SM1,SM2,SM3)…サブメモリ

Claims (7)

  1. 入力画像の各画素の階調値を、閾値マトリクスを用いたディザ処理により変換して出力する画像処理装置であって、
    前記閾値マトリクスに配列される全ての閾値を格納するメインメモリと、
    前記閾値マトリクスの各行に配列される閾値を所定の単位で前記メインメモリから読み出して書き込むための複数のサブメモリと、
    前記入力画像の各画素の階調値を前記複数のサブメモリに書き込まれた閾値と比較し、その比較結果を出力する比較手段と
    を備えることを特徴とする画像処理装置。
  2. 前記所定の単位が入力ライン単位である
    ことを特徴とする請求項1記載の画像処理装置。
  3. 前記所定の単位が複数の入力画素単位である
    ことを特徴とする請求項1記載の画像処理装置。
  4. 前記複数のサブメモリに書き込まれた閾値の中から、前記比較手段での比較処理に用いられる閾値を選択し、この選択した閾値を前記比較手段に付与する閾値制御手段を備える
    ことを特徴とする請求項1記載の画像処理装置。
  5. 入力画像の主走査方向の最低解像度をNxL(dpi)、入力画像の副走査方向の最低解像度をNyL(dpi)、出力画像の主走査方向の最高解像度をMxH(dpi)、出力画像の副走査方向の最高解像度をMyH(dpi)、前記閾値マトリクスの主走査方向に配列される閾値の最大個数をCxH、前記閾値のビット数をE(bit)とした場合に、
    前記サブメモリの1ワードのビット数を(MxH/NxL)×E、
    前記サブメモリのワード数をCxH、
    前記サブメモリの個数をMyH/NyLに設定してなる
    ことを特徴とする請求項2記載の画像処理装置。
  6. 前記閾値制御手段は、前記メインメモリから前記複数のサブメモリに書き込まれた閾値を、1つの入力画素単位で順に読み出して前記比較手段に付与する
    ことを特徴とする請求項3記載の画像処理装置。
  7. 入力画像の副走査方向の解像度をNy(dpi)、出力画像の副走査方向の解像度をMy(dpi)、ディザ処理に用いる閾値マトリクスの副走査方向に配列される閾値の個数をCyとした場合に、
    Cy<(My/Ny)の条件のときに、閾値マトリクスの各行に配列される閾値をそれぞれ異なるサブメモリに書き込むとともに、複数の異なるサブメモリに対して閾値マトリクスの同じ行の閾値を書き込む
    ことを特徴とする請求項5記載の画像処理装置。
JP2003325513A 2003-09-18 2003-09-18 画像処理装置 Expired - Fee Related JP4135606B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003325513A JP4135606B2 (ja) 2003-09-18 2003-09-18 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003325513A JP4135606B2 (ja) 2003-09-18 2003-09-18 画像処理装置

Publications (2)

Publication Number Publication Date
JP2005094404A true JP2005094404A (ja) 2005-04-07
JP4135606B2 JP4135606B2 (ja) 2008-08-20

Family

ID=34455933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003325513A Expired - Fee Related JP4135606B2 (ja) 2003-09-18 2003-09-18 画像処理装置

Country Status (1)

Country Link
JP (1) JP4135606B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094342B2 (en) 2008-02-06 2012-01-10 Canon Kabushiki Kaisha Image processing device that retains a high resolution dithering matrix and image processing method therefor
JP2013251922A (ja) * 2013-09-13 2013-12-12 Ricoh Co Ltd 画像形成装置および画像形成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094342B2 (en) 2008-02-06 2012-01-10 Canon Kabushiki Kaisha Image processing device that retains a high resolution dithering matrix and image processing method therefor
JP2013251922A (ja) * 2013-09-13 2013-12-12 Ricoh Co Ltd 画像形成装置および画像形成方法

Also Published As

Publication number Publication date
JP4135606B2 (ja) 2008-08-20

Similar Documents

Publication Publication Date Title
JPH053783B2 (ja)
JP2618107B2 (ja) マトリクスアドレス生成装置およびそのアドレス生成装置を含む多値化階調処理装置
US11270416B2 (en) System and method of using optimized descriptor coding for geometric correction to reduce memory transfer bandwidth overhead
JP3166447B2 (ja) 画像処理装置及び画像処理方法
JP2005018730A (ja) 色補間用ラインバッファおよびラインデータ提供装置および方法
JP4135606B2 (ja) 画像処理装置
US7508538B2 (en) Image data rotation apparatus
JP4135605B2 (ja) 画像処理装置
JP2006146860A (ja) データ転置装置および方法
JP4254417B2 (ja) 画像処理装置
US20070040842A1 (en) Buffer memory system and method
JP3797865B2 (ja) 画像データ並べ替え並べ戻し装置及び画像圧縮伸長装置
JP2006050415A (ja) 画像処理装置および閾値データ記憶方法
JPH11306343A (ja) 2次元データ回転処理装置
US6282321B1 (en) Context generation circuit and method for small screen
JP2005079741A (ja) 画像処理装置
US20100115356A1 (en) Methods and devices for generating dots of an image by using two error row memories
JPH10178542A (ja) 画像縮小処理装置
JP2701310B2 (ja) 中間調画像生成方法および装置
JP2007194955A (ja) 画像処理装置
JP4262148B2 (ja) 画像処理装置及び画像処理方法
JP2001086358A (ja) 画像デ−タの階調処理方法および装置
JPH08263637A (ja) 画像処理装置
JPH04134956A (ja) 画像処理装置
JPH04134957A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080410

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140613

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees