JP4135605B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP4135605B2
JP4135605B2 JP2003325512A JP2003325512A JP4135605B2 JP 4135605 B2 JP4135605 B2 JP 4135605B2 JP 2003325512 A JP2003325512 A JP 2003325512A JP 2003325512 A JP2003325512 A JP 2003325512A JP 4135605 B2 JP4135605 B2 JP 4135605B2
Authority
JP
Japan
Prior art keywords
threshold
data
threshold data
matrix
pixel
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
JP2003325512A
Other languages
English (en)
Other versions
JP2005094403A (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 JP2003325512A priority Critical patent/JP4135605B2/ja
Publication of JP2005094403A publication Critical patent/JP2005094403A/ja
Application granted granted Critical
Publication of JP4135605B2 publication Critical patent/JP4135605B2/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)

Description

本発明は、閾値マトリクスを用いてディザ処理を行う画像処理装置に関する。
画像処理装置で行われる画像処理の一つの形態として、原画像の階調値を画像出力装置で出力(表現)可能な階調値に変換して擬似的に再現するディザ法が知られている。ディザ法では、原画像を構成する各画素の階調値を、閾値マトリクスに配列された閾値データと比較することにより、出力画像の階調値を決定する。出力画像の階調値が2値となるものは2値ディザ法、多値となるものは多値ディザ法と呼ばれる。
図14は従来の画像処理装置の構成例を示す概略図である。図において、アドレス制御部51は、閾値格納用のメモリ52に対して閾値読み出しのためのメモリアドレス(以下、単に「アドレス」とも記す)を指定するものである。閾値格納メモリ52は、ディザ処理に用いられる閾値マトリクスの各位置(マトリクス要素)に対応する閾値データを記憶するものである。比較部53は、これに入力される入力画像データの各画素の階調値と、これに対応してメモリ52から読み出された閾値データとを比較するとともに、この比較結果に基づいて階調変換された出力画像の画素データを生成するものである。
ここで、上記ディザ法に基づく処理(ディザ処理)で使用される閾値マトリクスが例えば図15に示すように4×4のマトリクス構成(マトリクス内の閾値はTh00〜Th15の符号で識別)である場合は、この閾値マトリクス内に配列される閾値データTh00〜Th15がメモリ52に格納される。この場合、メモリ52において、1つのアドレスに1つの閾値データを格納することが公知となっている(例えば、特許文献1参照)。
そして、実際にディザ処理を行う場合は、図16に示すように、所定の周波数のクロックに同期してアドレス制御部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ワード分のメモリ領域)に1つの閾値データを格納する方式では、メモリ52からの閾値の読み出し動作に合わせてリアルタイムにディザ処理を行うことができなくなる。
一例として、画像の解像度を主走査方向(横方向)の単位長さ当たりの画素数(dpi:ドット/インチ)と副走査方向(縦方向)の単位長さ当たりの画素数(dpi)で表すものとすると、入力解像度が600×600(dpi)で、出力解像度が1200×1200(dpi)である場合は、低解像度から高解像度への変換となるために、1つの入力画素に対して4つの出力画素を生成することになる。そのため、図17に示すように、入力画像の各画素の階調値をそれぞれ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回の読み出し動作によって、入力画像の各画素の階調値との比較に必要な閾値データを各々のディザ処理部で同時に読み出すことが可能となる。また、複数個の閾値格納メモリに対して、それぞれ閾値マトリクスの各行に配列された閾値データを順に割り当てて格納することにより、各々の閾値格納メモリからの閾値データの読み出しを、これに対応する個々のディザ処理部で個別に制御することが可能となる。
本発明の画像処理装置によれば、入力画像と出力画像の解像度の違いにより、入力画像の各画素の階調値と複数の閾値データとを比較する場合でも、1回の読み出し動作によって、入力画像の各画素の階調値との比較に必要な複数の閾値データを複数個の閾値格納メモリから同時に読み出すことができる。そのため、閾値の読み出し動作に合わせてリアルタイムにディザ処理を行うことが可能となる。また、各々の閾値格納メモリからの閾値データの読み出しを、これに対応する個々のディザ処理部で個別に制御することにより、閾値マトリクスの形状、サイズ、シフト量等に柔軟に対応することができる。
以下、本発明の具体的な実施の形態について図面を参照しつつ詳細に説明する。
図1は本発明の実施形態に係る画像処理装置のモジュール構成を示す概略図である。図示した画像処理装置のモジュール内部には、ディザ処理に使用する閾値データを格納するための閾値格納手段となる複数個(図例では最前の1個だけ表示)の閾値格納メモリ(以下、「メモリ」と略称)MEM1〜MEM4と、これに対応する複数(図例では4つ)のディザ処理部11〜14とが設けられている。複数個のメモリMEM1〜MEM4と複数のディザ処理部11〜14とが、互いに1:1の関係で対応している。すなわち、メモリMEM1はディザ処理部11に対応し、メモリMEM2はディザ処理部12に対応し、メモリMEM3はディザ処理部13に対応し、メモリMEM4はディザ処理部14に対応している。
また、各々のディザ処理部11〜14には、モジュールに入力されるラインシンクLS-i及びページシンクPS-iとともに、入力画像の各画素の階調値が8ビットのデジタルデータDATA-In[7:0]として個別に供給される構成となっている。ラインシンクLSは、入力画像の各ラインを処理するごとに出力される同期信号(水平同期信号)であり、ページシンクPSは、入力画像の各ページを処理するごとに出力される同期信号である。
メモリMEM1〜MEM4の個数は、入力画像の1つの画素サイズに相当する副走査方向の出力画素数に対応して設定されている。具体例として、ディザ処理の対象として入力される入力画像の解像度が600×600(dpi)で、ディザ処理によって出力される出力画像の解像度が4800×2400(dpi)である場合は、図2に示すように、入力画素の1つの画素サイズが出力画像の8×4画素(合計で32画素)サイズに相当するものとなる。したがって、入力画像の1つの画素サイズに対応する副走査方向の出力画素数は4個となる。そのため本実施形態では、この4個分(副走査方向の出力画素数分)のメモリMEM1〜MEM4が用意されている。このメモリの個数は、それぞれ画像処理システムで想定される、出力画像の副走査方向の最高解像度を入力画像の副走査方向の最低解像度で割った数(除算値)に応じて用意すればよい。
一例として、出力画像の副走査方向の最高解像度が2400dpiで、入力画像の副走査方向の最低解像度が600dpiである場合は、4個のメモリを用意すればよい。また、出力画像の副走査方向の最高解像度が1200dpiで、入力画像の副走査方向の最低解像度が600dpiである場合は、2個のメモリを用意すればよい。
各々のメモリMEM1〜MEM4には、例えば、上述のように入力画像の各画素の階調値が8ビット(256階調)のデジタルデータで入力されるものとすると、これと比較される8ビットの閾値データ(デジタルデータ)を、1ワード分のメモリ領域に8画素分だけ格納できるように、64ビット×256ワードのメモリ構成が採用されている。1ワード分のメモリ領域とは、1つのメモリアドレスの指定で読み出し及び書き込みが可能なメモリ空間上の領域をいう。各々のメモリMEM1〜MEM4の1ワード分のメモリ領域に格納される閾値データの個数は、入力画像の1つの画素サイズに対応する主走査方向の出力画素数分に設定される。例えば、上記同様にディザ処理の対象として入力される入力画像の解像度が600×600(dpi)で、ディザ処理によって出力される出力画像の解像度が4800×2400(dpi)である場合は、上記図2に示すように入力画素の1つの画素サイズが出力画像の8×4画素(合計で32画素)サイズに相当するものとなるため、入力画像の1つの画素サイズに対応する主走査方向の出力画素数は8個となる。そのため本実施形態では、この8個分(主走査方向の出力画素数分)の閾値データを、各々のメモリMEM1〜MEM4の1ワード分のメモリ領域に格納できる構成となっている。
また、複数個のメモリMEM1〜MEM4に対しては、それぞれ閾値マトリクスの各行に配列された閾値データを順に割り当てて格納するものとなっている。ここで、説明の便宜上、ディザ処理に使用する閾値マトリクスの構成を、主走査方向にm個の閾値データ、副走査方向にn個の閾値データといった具合にm×nの大きさ(nは正の整数)で表記するものとし、この閾値マトリクスの構成が図3に示すように100×10のマトリクスであるとする。また、マトリクス内の位置を特定するためのアドレス情報として、閾値マトリクスの1行目に0〜99の100個(m個)のマトリクス番号を、閾値マトリクスの2行目に100〜199の100個(m個)のマトリクス番号を、閾値マトリクスの3行目に200〜299の100個(m個)のマトリクス番号を、閾値マトリクスの4行目に300〜399の100個(m個)のマトリクス番号を、閾値マトリクスの5行目に400〜499の100個(m個)のマトリクス番号を、閾値マトリクスの6行目に500〜599の100個(m個)のマトリクス番号を、閾値マトリクスの7行目に600〜699の100個(m個)のマトリクス番号を、閾値マトリクスの8行目に700〜799の100個(m個)のマトリクス番号を、閾値マトリクスの9行目に800〜899の100個(m個)のマトリクス番号を、閾値マトリクスの10行目(n行目)に900〜999のマトリクス番号を、それぞれ割り当てるものとする。そうした場合、閾値マトリクスにm×nで配列される各々(合計1000個)の閾値データは、以下のような格納方式で各々のメモリMEM1〜MEM4に分配して格納される。
すなわち、閾値マトリクスの1行目に配列される100個(マトリクス番号0〜99)の閾値データは、図4に示すように、メモリMEM1に割り当てて格納する。このとき、メモリMEM1の1ワード分のメモリ領域(32ビットのビット列)には8個の閾値データを格納可能となっているため、それぞれ1ワード分のメモリ領域に8個ずつ閾値データを格納する。また、閾値マトリクスの1行目の最後列(主査走査方向のマトリクスの終端)に配列されるマトリクス番号99の閾値データを格納するメモリ領域(所定のメモリ領域)において、マトリクス番号99の閾値データの後に空き領域が生じる場合は、この空き領域を埋めるかたちで、マトリクス番号99の閾値データと同じ行(1行目)の最前列(マトリクス番号0)からの閾値データを続けて格納する。つまり、最後列の閾値データが格納される所定のメモリ領域に対しては、その最後列の閾値データの後に同じ行の最前列からの閾値データを続けて格納する。上記図4の場合は、所定のメモリ領域において、マトリクス番号99の閾値データをメモリMEM1に格納した状態で、その後に4個分の閾値データを格納する空き領域が生じるため、この空き領域にマトリクス番号0〜4の閾値データを格納する。
これと同様に、閾値マトリクスの2行目に配列される100個(マトリクス番号100〜199)の閾値データはメモリMEM2に割り当てて格納し、閾値マトリクスの3行目に配列される100個(マトリクス番号200〜299)の閾値データはメモリMEM3に割り当てて格納し、閾値マトリクスの4行目に配列される100個(マトリクス番号300〜399)の閾値データはメモリMEM4に割り当てて格納する。また、閾値マトリクスの5行目に配列される100個(マトリクス番号400〜499)の閾値データは上記1行目の閾値データに続いてメモリMEM1に割り当てて格納し、閾値マトリクスの6行目に配列される100個(マトリクス番号500〜599)の閾値データは上記2行目の閾値データに続いてメモリMEM2に割り当てて格納し、閾値マトリクスの7行目に配列される100個(マトリクス番号600〜699)の閾値データは上記3行目の閾値データに続いてメモリMEM3に割り当てて格納し、閾値マトリクスの8行目に配列される100個(マトリクス番号700〜799)の閾値データは上記4行目の閾値データに続いてメモリMEM4に割り当てて格納する。さらに、閾値マトリクスの9行目に配列される100個(マトリクス番号800〜899)の閾値データは上記1行目及び5行目の閾値データに続いてメモリMEM1に割り当てて格納し、閾値マトリクスの10行目に配列される100個(マトリクス番号900〜999)の閾値データは上記2行目及び6行目の閾値データに続いてメモリMEM2に割り当てて格納する。以上で、ディザ処理用の閾値マトリクスに配列される全て(合計1000個)の閾値データが、図5に示すように、4つのメモリMEM1〜MEM4に順に割り当てて格納されることになる。
この場合、ディザ処理に使用する閾値マトリクスの構成(サイズ、形状等)が変更になっても、共通のメモリMEM1〜MEM4で対応することができる。例えば、ディザ処理に使用する閾値マトリクスの構成を50×5マトリクスとする場合は、各々のメモリMEM1〜MEM4で閾値データの格納に使用されるメモリ領域の大きさ(メモリ使用率)が変わるだけで、装置構成は共通のものとなる。また、各々のメモリMEM1〜MEM4に格納された閾値データの読み出しは、それぞれに対応するディザ処理部11〜14で個別に制御することができる。そのため、閾値マトリクスの構成が変更になっても、それに応じて閾値データの読み出しを適切に制御することができる。
さらに、本実施形態においては、上記1000個の閾値データに加えて、4つのメモリMEM1〜MEM4のうち、閾値マトリクスの最終行(n行目)の閾値データを格納するメモリMEM2に続く、他の3つのメモリMEM3、MEM4,MEM1に対し、閾値マトリクスの最終行(本例では10行目)に続く冗長な行の閾値データを付加的に格納するものとなっている。ここで、「冗長な行」という用語は、既にメモリMEM1〜MEM4に閾値データを格納してある閾値マトリクスの行と同じ行(重複した行)という意味で用いている。この冗長な行の閾値データは、上記図5に示すように、メモリMEM1〜MEM4の個数から1だけ減算した、(メモリ個数−1)行分にわたって、上記3つのメモリMEM3、MEM4,MEM1に割り当てて格納する。
すなわち、メモリMEM3には、上記3行目及び7行目の閾値データ(マトリクス番号200〜299、600〜699の閾値データ)に続いて閾値マトリクスの1行目に配列される100個(マトリクス番号0〜99)の閾値データを格納し、メモリMEM4には、上記4行目及び8行目の閾値データ(マトリクス番号300〜399、700〜799の閾値データ)に続いて閾値マトリクスの2行目に配列される100個(マトリクス番号100〜199)の閾値データを格納し、メモリMEM1には、上記1行目、5行目及び9行目の閾値データ(マトリクス番号0〜99、400〜499、800〜899の閾値データ)に続い閾値マトリクスの3行目に配列される100個(マトリクス番号200〜299)の閾値データを格納する。
さらに、メモリMEM3、MEM4、MEM1に格納される冗長な行(1行目、2行目、3行目)の閾値データ(図5に*印で示す閾値データ)は、予め設定されたシフト情報にしたがってシフト処理されたデータとすることが望ましい。シフト情報は、入力画像の各ラインを順に処理していく過程で、閾値マトリクスの位置が副走査方向に1段ずれるときに、閾値マトリクスの位置を主走査方向(右方向、又は左方向)にずらす、いわゆるシフト処理を行うための情報であって、ドットスクリーンの角度等に応じて適宜設定される。例えば、シフト情報として「右方向に2シフト」と設定されていた場合は、これに適合するように、冗長な行の閾値データをメモリMEM3、MEM4、MEM1に格納する際の格納順序を切り替える。
例えば、メモリMEM3には冗長な行の閾値データとして1行目(マトリクス番号0〜99)の閾値データが格納されるが、このときの格納順序を上記シフト情報に応じてマトリクス番号0から2だけシフトさせたマトリクス番号98,99,0,1,…,97の順序で格納する。同様に、メモリMEM4には冗長な行の閾値データとして2行目(マトリクス番号100〜199)の閾値データが格納されるが、このときの格納順序をマトリクス番号198,199,100,101,…,197の順とする。また、メモリMEM1には冗長な行の閾値データとして3行目(マトリクス番号200〜299)の閾値データが格納されるが、このときの格納順序をマトリクス番号298,299,200,201,…,297の順とする。以上のような閾値データの格納(書き込み)は、ディザ処理の条件等に応じて、図示しないデータ書き込み手段により行われる。このデータ書き込み手段による閾値データの書き込み順序に合わせて、所望の閾値データをシリアルにモジュール内の各メモリMEM1〜MEM4に格納することにより、閾値マトリクス内に配列される全ての閾値データが複数個のメモリMEM1〜MEM4に分配して格納される。
一方、各々のディザ処理部11〜14は、上記複数個(本形態では4個)の閾値格納メモリMEM1〜MEM4のうち、それぞれに対応する閾値格納メモリから閾値データを読み出すとともに、この読み出した閾値データを入力画像の各画素の階調値と比較することにより、出力画像の画素データを生成するものである。さらに詳述すると、ディザ処理部11は、これに対応するメモリMEM1から閾値データを読み出して、これを入力画像の各画素の階調値と比較することにより、出力画像の画素データ(階調データ)を生成し、ディザ処理部12は、これに対応するメモリMEM12から閾値データを読み出して、これを入力画像の各画素の階調値を比較することにより、出力画像の画素データを生成するものである。また、ディザ処理部13は、これに対応するメモリMEM3から閾値データを読み出して、これを入力画像の各画素の階調値と比較することにより、出力画像の画素データを生成し、ディザ処理部14は、これに対応するメモリMEM4から閾値データを読み出して、これを入力画像の各画素の階調値と比較することにより、出力画像の画素データを生成するものである。
また、ディザ処理部11は、メモリ制御処理部111と、バッファ処理部(BUFF)112と、比較処理部113とを備えた構成となっている。メモリ制御処理部11は、ディザ処理部11に対応するメモリMEM1に対して閾値データを読み出すための読み出しアドレス(RADD)を生成する第1の生成処理と、メモリMEM1からバッファ処理部112へと読み出された閾値データの中から、比較処理部113での比較処理に必要な閾値データをバッファ処理部112から比較処理部113へと出力させるための制御信号を生成する第2の生成処理とを行うものである。バッファ処理部112は、メモリ制御処理部11から生成された読み出しアドレス(RADD)に対応してメモリMEM1から読み出された閾値データ(RDATA)を順に取り込むとともに、この取り込んだ閾値データの中から、メモリ制御処理部111が生成する制御信号にしたがって、比較処理部113での比較処理に必要な閾値データを選択して比較処理部113に与えるものである。比較処理部113は、1つの入力画素の階調値とこれに対応してバッファ処理部112から与えられた閾値データとを比較し、この比較結果を出力画像の画素データDATA-oとして出力するものである。この比較処理部113では、1つの入力画素に対応して複数の閾値データがバッファ処理部112から与えられた場合に、1つの入力画素の階調値とこれに対応する複数の閾値データとの大小関係を同時に比較処理する。そして、入力画素の階調値よりも閾値データが小さいマトリクス位置の画素は白(1)で出力し、入力画素の階調値よりも閾値データが大きいマトリクス位置の画素は黒(0)で出力する。
図6はバッファ処理部112の内部構成を示すブロック図である。図示のようにバッファ処理部112は、第1のバッファメモリBM1と、第2のバッファメモリBM2と、第1のセレクタSEL1と、第2のセレクタSEL2と、バレルシフタBSHとを備えた構成となっている。第1のバッファメモリBM1は、メモリ制御部111からの1回の読み出しアドレス(RAD)の指定でメモリMEM1から読み出される8個分(64ビット分)の閾値データRDATA[63:0]を一時的に格納するものである。この第1のバッファメモリBM1に格納される8個の閾値データは、メモリ制御部11から指定された読み出しアドレスにしたがってメモリMEM1から新たな閾値データが読み出されるたびに随時更新(上書き)される。第2のバッファメモリBM2は、入力画像の各ライン(画素列)を処理するにあたって、所定の7個分(56ビット列分)の閾値データを格納するために使用されるものである。第2のバッファメモリBM2に格納される7個の閾値データは、バレルシフタBSHから比較処理部113へと出力される8個分(64ビット列分)の閾値データBUFF[63:0]から、メモリ制御処理部111からの制御信号(選択信号)にしたがって選択される。
第1のセレクタSEL1には、第2のバッファメモリBM2に格納された7個分の閾値データと、メモリ制御部111からの1回の読み出しアドレス(RADD)の指定でメモリMEM1から読み出される8個分(64ビット分)の閾値データRDATA[63:0]のうちの7個(上位56ビット)の閾値データがそれぞれ入力される。これに対して、第1のセレクタSEL1は、これに入力される合計14個分(112ビット分)の閾値データの中から、メモリ制御処理部111からの制御信号(選択信号)にしたがって7個(56ビット分)の閾値データを選択し、これを第2のセレクタSEL2に与える。第2のセレクタSEL2には、第1のセレクタSEL1で選択された7個の閾値データと、第1のバッファメモリBM1に格納された8個の閾値データがそれぞれ入力される。これに対して、第2のセレクタSEL2は、これに入力される合計15個(120ビット分)の閾値データの中から、メモリ制御処理部111からの制御信号(選択信号)にしたがって8個(64ビット分)の閾値データを選択し、これをバレルシフタBSHに与える。バレルシフタBSHは、第2のセレクタSEL2で選択された8個の閾値データを、現在設定されているシフト情報にしたがってバレルシフトさせることにより、8個の閾値データBUFFO[63:0]を主走査方向で適宜並べ替えて出力するものである。バレルシフタBSHによる閾値データの並べ替えは、メモリ制御処理部111からの制御信号にしたがって行われる。
以上、ディザ処理部11の構成について詳細に説明したが、他の3つのディザ処理部12,13,14についてもディザ処理部11と同様の構成となっている。したがって、各々のディザ処理部11,12,13,14の処理動作は基本的に同様のものとなるため、ここではディザ処理部11の処理動作についてのみ詳細に説明することとする。また、ディザ処理の条件の一例として、ディザ処理に使用する閾値マトリクスには上記図3に示す100×10のマトリクス構成を採用するものとする。また、入力画像の解像度を600×600(dpi)とし、出力画像の解像度を4800×2400(dpi)とする。
先ず、図7に示すタイミングチャートにおいて、基準クロックCLKに同期してページシンクPS-i及びラインシンクLS-iが順に立ち上がると、ラインシンクLS-iの立ち上がりタイミングをトリガとして、入力画像の各画素の階調値データDATA-In[7:0]が1クロックCLKごとに入力される。その際、基準クロックCLKに同期して第1のバッファメモリBM1への閾値データの書き込み信号と第2のバッファメモリBM2への閾値データの書き込み信号を順に立ち上げる。
これにより、入力画像の各ラインを処理する際には、この処理の開始に先だって図8(A)に示すように、第2のバッファメモリBM2に7個の閾値データが書き込まれる。このとき、第2のバッファメモリBM2に書き込まれる閾値データは、メモリMEM1内の1ワード分のメモリ領域のうち、閾値マトリクスの1行目の最後列に配列される閾値データ(つまりマトリクス番号99の閾値データ)を含む所定のメモリ領域に格納された閾値データの後に続く閾値データとなる。この場合、所定のメモリ領域には、上記図4に示すようにマトリクス番号96〜3の閾値データが格納されているため、これに続く複数の閾値データとしてマトリクス番号4〜10の7個の閾値データが第2のバッファメモリBM2に格納される。第2のバッファメモリBM2に格納される閾値データの個数は、メモリMEM1の1ワード分のメモリ領域に格納可能な閾値データの個数(本例では8個)から1だけ減算した値とする。こうして第2のバッファメモリBM2に格納された閾値データは、入力画像の1ライン分の処理が終了するまで(次にラインシンクLS-iが立ち上がるまで)保持される。
次いで、メモリMEM1から8個の閾値データRDATA[63:0]が順に読み出されるとともに、この読み出された8個の閾値データRDATA[63:0]が第1のバッファメモリBM1に順に書き込まれ、そこに一時的に保存される。さらに、第1のバッファメモリBM1に書き込まれた8個の閾値データは、第2のセレクタSEL2に入力される。一方、第1のセレクタSEL1には、第2のバッファメモリBM2に格納された7個の閾値データとメモリMEM1から読み出された7個(上位7ビット)の閾値データとが入力される。このとき、第1のセレクタSEL1は、メモリ制御処理部111からの制御信号にしたがって7個の閾値データを選択し、これを第2のセレクタSEL2に与える。ただし、入力画像のラインを処理する途中で且つメモリMEM1の所定のメモリ領域に格納された8個の閾値データ(マトリクス番号96〜3)が第1のバッファメモリBM1に格納されるまでの間、第2のセレクタSEL2は、第1のバッファメモリBM1から入力された8個の閾値データを順に選択してバレルシフタBSHに出力する。例えば、ライン処理の途中で、図8(B)に示すように、マトリクス番号48〜55の閾値データが第1のバッファメモリBM1から第2のセレクタSEL2に入力された場合は、この8個の閾値データを第2のセレクタSEL2で選択してバレルシフタBSHに出力する。
また、ライン処理の途中で、図8(C)に示すように、マトリクス番号96〜3の閾値データが第1のバッファメモリBM1から第2のセレクタSEL2に入力された場合は、この8個の閾値データを第2のセレクタSEL2で選択してバレルシフタBSHに出力する。そうした場合、次の処理では、図8(D)に示すように、第1のバッファメモリBM1にマトリクス番号0〜7の閾値データが書き込まれた状態で、メモリMEM1から新たに8個の閾値データ、すなわちマトリクス番号8〜15の閾値データRDATAが読み出される。このとき、前回の処理(図8(C)の処理)では、マトリクス番号3までの閾値データを出力しているため、これに連続させるためには、マトリクス番号4からの閾値データを8個出力する必要がある。
これに対して、第1のバッファメモリBM1には、マトリクス番号0〜7の閾値データが格納されているため、これら8個の閾値データが第2のセレクタSEL2に入力される。また、メモリMEM1から新たに読み出された8個の閾値データRDATA(マトリクス番号8〜15の閾値データ)のうち、上位7ビットに相当するマトリクス番号8〜14の閾値データが、第2のバッファメモリBM2に格納された7個の閾値データとともに、第1のセレクタSEL1に入力されると、第1のセレクタSEL1では、メモリ制御処理部111からの制御信号にしたがって、マトリクス番号8〜14(新たにメモリMEM1から読み出した方)の閾値データを選択し、これを第2のセレクタSEL2に与える。その結果、第2のセレクタSEL2には、マトリクス番号0〜7の閾値データと、マトリクス番号8〜14の閾値データとが入力される。そこで、第2のセレクタSEL2では、メモリ制御処理部111からの制御信号にしたがって、マトリクス番号4から始まる8個の閾値データ、つまりマトリクス番号4〜11の閾値データを選択し、これをバレルシフタBSHに与える。以降、同様の処理により、マトリクス番号が連続するかたちで8個の閾値データが第2のセレクタSEL2からバレルシフタBSHへと順に出力される。
こうして閾値マトリクスの1行目に配列された閾値データをメモリMEM1から順に読み出してバッファ処理部112に取り込み、入力画素の各画素の階調値との比較に必要となる8個の閾値データBUFFO[63:0]をバッファ処理部112から比較処理部113に順に出力すると、その後再び閾値マトリクスの主走査方向の終端となるマトリクス番号99の閾値データをメモリMEM1から読み出して処理するときに、閾値マトリクスの主走査方向の終端付近での閾値データの出力形式が図9(A)のようになる。すなわち、第1のバッファメモリBM1に格納されたマトリクス番号88〜95の閾値データと、メモリMEM1から新たに読み出されて第1のセレクタSEL1により選択されたマトリクス番号96〜2の閾値データとが、それぞれ第2のセレクタSEL2に入力されるため、その中からマトリクス番号92〜99の閾値データを第2のセレクタSEL2で選択してバレルシフタBSHに出力する。
このとき、メモリ制御処理部111では、バレルシフタBSHに出力される閾値データの中に、閾値マトリクスの終端となるマトリクス番号99の閾値データが含まれるか否かに応じて、次の処理で、メモリMEM1からの閾値データの読み出し順序を切り替える。ここで、バレルシフタBSHに出力される閾値データの中に、閾値マトリクスの終端となるマトリクス番号99の閾値データが含まれる場合とは、上記第1のセレクタSEL1により選択されたマトリクス番号96〜2の閾値データのうち、全ての閾値データがバレルシフタBSHに出力された場合と、マトリクス番号96〜1の閾値データがバレルシフタBSHに出力された場合と、マトリクス番号96〜0の閾値データがバレルシフタBSHに出力された場合と、マトリクス番号96〜99の閾値データがバレルシフタBSHに出力された場合をいう。また逆に、バレルシフタBSHに出力される閾値データの中に、閾値マトリクスの終端となるマトリクス番号99の閾値データが含まれない場合とは、上記第1のセレクタSEL1により選択されたマトリクス番号96〜2の閾値データのうち、マトリクス番号96〜98の閾値データがバレルシフタBSHに出力された場合と、マトリクス番号96,97の閾値データがバレルシフタBSHに出力された場合と、マトリクス番号96の閾値データがバレルシフタBSHに出力された場合をいう。
したがって、例えば上記図9(A)に示すように、バレルシフタBSHに出力される閾値データの中に、閾値マトリクスの終端となるマトリクス番号99の閾値データが含まれる場合は、次の処理で、メモリMEM1から1ワード分だけ飛ばした次の8個の閾値データを読み出す。
具体的には、上記図9(A)の時点で第1のバッファメモリBM1にはマトリクス番号88〜95の閾値データが格納され、メモリMEM1からはマトリクス番号96〜3の閾値データが読み出されているため、次にメモリMEM1から閾値データを読み出すときは、1ワード分となるマトリクス番号0〜7の閾値データを飛ばして、次の8個の閾値データ、つまりマトリクス番号8〜15の閾値データを読み出す。そのため、次の処理では、図9(B)に示すように、第1のバッファメモリBM1にマトリクス番号96〜3の閾値データが格納され、メモリMEM1からはマトリクス番号8〜15の閾値データが読み出された状態となる。この場合、前回の処理では、マトリクス番号99までの閾値データを出力しているため、これに連続させるためには、マトリクス番号0からの8個の閾値データ、つまりマトリクス番号0〜7の閾値データを出力する必要がある。
このうち、マトリクス番号0〜3の閾値データは第1のバッファメモリBM1に格納され、マトリクス番号4〜7の閾値データは第2のバッファメモリBM2に格納されている。そこで、第1のセレクタSEL1では、メモリ制御処理部111からの制御信号にしたがって、第2のバッファメモリBM2に格納された7個の閾値データを選択してこれを第2のセレクタSEL2に与える。一方、第2のセレクタSEL2では、メモリ制御処理部111からの制御信号にしたがって、第1のバッファメモリBM1から与えられた8個の閾値データの中から、マトリクス番号0〜3の閾値データを選択するとともに、第1のセレクタSEL1から与えられた7個の閾値データの中から、マトリクス番号4〜7の閾値データを選択する。その結果、第2のセレクタSEL2からバレルシフタBSHには、前回の処理で使用したマトリクス番号92〜99の閾値データに連続するかたちでマトリクス番号0〜7の閾値データが出力される。
次の処理では、図9(C)に示すように、第1のバッファメモリBM1にマトリクス番号8〜15の閾値データが格納されているため、第2のセレクタSEL2では、第1のバッファメモリBM1から与えられる8個の閾値データを選択してバレルシフタBSHに出力する。以降は、上記図9(C)の場合と同様に、第2のセレクタSEL2が、第1のバッファメモリBM1から入力された8個の閾値データを順に選択してバレルシフタBSHに出力することになる。
一方、例えば上記図10(A)に示すように、バレルシフタBSHに出力される閾値データの中に、閾値マトリクスの終端となるマトリクス番号99の閾値データが含まれない場合は、次の処理で、メモリMEM1から1ワード分だけ飛ばすことなく、次の8個の閾値データ、つまりマトリクス番号0〜7の閾値データを読み出す。そのため、次の処理では、図10(B)に示すように、第1のバッファメモリBM1にマトリクス番号96〜3の閾値データが格納され、メモリMEM1からはマトリクス番号0〜7の閾値データが読み出された状態となる。この場合、前回の処理では、マトリクス番号98までの閾値データを出力しているため、これに連続させるためには、マトリクス番号99からの8個の閾値データ、つまりマトリクス番号99〜6の閾値データを出力する必要がある。
このうち、マトリクス番号99〜3の閾値データは第1のバッファメモリBM1に格納され、マトリクス番号4〜6の閾値データは第2のバッファメモリBM2に格納されている。そこで、第1のセレクタSEL1では、メモリ制御処理部111からの制御信号にしたがって、第2のバッファメモリBM2に格納された7個の閾値データを選択してこれを第2のセレクタSEL2に与える。一方、第2のセレクタSEL2では、メモリ制御処理部111からの制御信号にしたがって、第1のバッファメモリBM1から与えられた8個の閾値データの中から、マトリクス番号99〜3の閾値データを選択するとともに、第1のセレクタSEL1から与えられた7個の閾値データの中から、マトリクス番号4〜6の閾値データを選択する。その結果、第2のセレクタSEL2からバレルシフタBSHには、前回の処理で使用したマトリクス番号91〜98の閾値データに連続するかたちでマトリクス番号99〜6の閾値データが出力される。
次の処理では、図10(C)に示すように、第1のバッファメモリBM1にマトリクス番号0〜7の閾値データが格納され、メモリMEM1から新たにマトリクス番号8〜15の閾値データが読み出されるため、第2のセレクタSEL2では、第1のバッファメモリBM1から与えられる8個の閾値データのうちマトリクス番号7の閾値データを選択するとともに、メモリMEM1からの読み出しデータとして第1のセレクタSEL1で選択される7個(マトリクス番号8〜14)の閾値データを選択し、この選択した閾値データ、つまりマトリクス番号7〜14の閾値データをバレルシフタBSHに出力する。以降は、上記図10(C)の場合と同様に、第2のセレクタSEL2が、第1のバッファメモリBM1から入力された8個の閾値データのうちの1個と、第1のセレクタSEL1から入力される7個の閾値データ(メモリMEM1からの読み出しデータ)を選択してバレルシフタBSHに出力することになる。
以上のような処理を適用して入力画像の1ライン目の処理を終えた後は、メモリMEM1からの閾値データの読み出し対象を、閾値マトリクスの1行目の閾値データから5行目の閾値データに変更して、上記1ライン目と同様の方式で2ライン目を処理する。また、入力画像の2ライン目の処理を終えた後は、メモリMEM1からの閾値データの読み出し対象を、閾値マトリクスの5行目の閾値データから9行目の閾値データに変更して、上記1ライン目及び2ライン目と同様の方式で3ライン目を処理する。
このディザ処理部11と同様の処理を他の3つのディザ処理部12〜14でも並列的に実行することにより、図11に示すように、それぞれ1回(1クロック)の読み出し動作でメモリMEM1〜MEM4から8個(出力8画素分)の閾値データを読み出して、それぞれに対応するバッファ処理部(BUFF1,BUFF2,BUFF3,BUFF4)に取り込むことにより、入力画像の1つの画素との比較に必要となる8×4マトリクス分の閾値データを取得し、これをそれぞれに対応する比較処理部に与えることにより、8×4画素の出力画像データを生成することができる。したがって、メモリからの閾値の読み出し動作に合わせてリアルタイムにディザ処理を行うことができる。また、4つのメモリMEM1〜MEM4に対して、それぞれ閾値マトリクスの各行に配列された閾値データを順に割り当てて格納しているため、各々のメモリMEM1〜MEM4からの閾値データの読み出しを、これに対応する個々のディザ処理部11〜14で個別に制御することができる。したがって、装置状態の経時的な変化や、YMCKの各色のスクリーン角度等に応じて閾値マトリクスの形状を任意に変更することができる。
ここで、ディザ処理の条件として、上記同様にディザ処理用の閾値マトリクスを100×10のマトリクス構成にするとともに、入力画像の解像度を600×600(dpi)、出力画像の解像度を4800×2400(dpi)とすると、入力画像の1つのライン(画素列)を処理するために100×4のマトリクス分(400個)の閾値データが必要になる。したがって、入力画像の1ライン目を処理する場合は、閾値マトリクスの1行目〜4行目に配列された400個(マトリクス番号0〜399)の閾値データが必要になり、入力画像の2ライン目を処理する場合は、閾値マトリクスの5行目〜8行目に配列された400個(マトリクス番号400〜799)の閾値データが必要になる。
さらに、入力画像の3ライン目を処理する場合は、閾値マトリクスの9行目から10行目に配列された200個(マトリクス番号800〜999)の閾値データと、閾値マトリクスの1行目から2行目に配列された200個(マトリクス番号0〜199)の閾値データとが必要になる。このとき、上記図5に示す閾値格納方式では、閾値マトリクスの最終行に続く冗長な行の閾値データを予めメモリMEM3,MEM4,MEM1に格納してあるため、入力画像の3ライン目を処理する際に必要となる計400個の閾値データのうち、マトリクス番号800〜899の閾値データをメモリMEM1から、マトリクス番号900〜999の閾値データをメモリMEM2から、マトリクス番号0〜99の閾値データをメモリME3から、マトリクス番号100〜199の閾値データをメモリMEM4から、それぞれ読み出すことができる。したがって、入力画像の3ライン目を問題なく処理することができる。
また、閾値格納用のメモリMEM1〜MEM4の個数から1を減算した行数分(本例では3行分)だけ、冗長な行の閾値データをメモリMEM3、MEM4,MEM1に割り当てて格納しているため、入力画像の各々のラインを、閾値マトリクスのいずれの行の閾値データを使って処理する場合でも、閾値マトリクスの各行の閾値データのうち、副走査方向に連続する4行分の閾値データを用いてディザ処理を行うことができる。したがって、例えば図12に示すように、入力画像の所定のラインを、閾値マトリクスの10行目に配列された閾値データと、これに連続する1行目から3行目の閾値データとを用いてディザ処理する場合でも、メモリMEM2に格納された閾値データ(閾値マトリクスの10行目に配列された閾値データ)とメモリMEM3、MEM4,MEM1に格納された冗長な行の閾値データ(閾値マトリクスの1行目〜3行目に配列された閾値データ)を、それぞれに対応するバッファ処理部(BUFF1,BUFF2,BUFF3,BUFF4)に取り込み、この取り込んだ閾値データを用いてディザ処理することができる。
ただし、入力画像の3ライン目では、ディザ処理に適用する閾値マトリクスの位置が副走査方向に1段ずれるため、仮に、メモリMEM1に格納されたマトリクス番号0〜99の閾値データ(閾値マトリクスの1行目に配列される閾値データ)と全く同じ順序で、マトリクス番号0〜99の閾値データをメモリMEM3に格納したとすると、メモリMEM3からマトリクス番号0〜99の閾値データを読み出すときの順序を、予め設定されたシフト情報に合わせて調整する必要がある。
これに対して、本実施形態においては、冗長な行の閾値データを格納するメモリMEM3、MEM4,MEM1に対して、予め設定されたシフト情報にしたがってシフト処理された閾値データを格納するものとしたので、そこから閾値データを読み出すときの順序をいちいち調整する必要がない。よって、入力画像の3ライン目を処理する場合は、メモリMEM1,MEM2からの閾値データの読み出し順序と同様の順序を適用してメモリMEM3,MEM4から閾値データを読み出すことができる。したがって、メモリ制御処理部111による読み出しアドレスの指定方法を簡素化することができる。
なお、上記実施形態においては、入力画像の各ラインを処理するにあたって、メモリMEM1から読み出した閾値データをバッファ処理部112で保存した後に、入力画像の各画素の階調値と比較するものとなっているが、これ以外にも、メモリMEM1から読み出した閾値データを入力画像の各画素の階調値と比較した後に、その閾値データをバッファ処理部112で保存するようにしてもよい。
さらに本発明の応用例として、バッファ処理部112を、一対のバッファ処理部(バッファ手段)からなるピンポンバッファ(デュアルバッファ)の構成とし、メモリMEM1〜MEM4に格納された閾値マトリクスの各行の閾値データの中から、2回の読み出し動作(2クロックの読み出し動作)で入力画像の2ライン分の処理に使用する閾値データを読み出して上記一対のバッファ処理部に格納(一時的に保存)することにより、出力画像の解像度の変更に柔軟に対応することが可能となる。
例えば、上記の処理の場合で説明すると、図13に示すように、メモリMEM1〜MEM4からそれぞれ閾値マトリクスの異なる行の閾値データを、それぞれに対応するメモリ制御処理部からの読み出しアドレスの指定により2回の読み出し動作(2クロックの読み出し動作)で読み出して、一対のバッファ処理部(BUFF1とBUFF1’、BUFF2とBUFF2’、BUFF3とBUFF3’、BUFF4とBUFF4’)に順に格納して8×8マトリクスサイズ分の閾値データを取り込むとともに、一対のバッファ処理部からの閾値データの取り出し順序をメモリ制御処理部からの制御信号にしたがって主走査方向で制御することにより、上述のように取り込んだ8×8マトリクスサイズ分の閾値データを主走査方向で4×8マトリクスずつに分割(2等分)して取り出すようにセレクタ等で選択し、それぞれ1つの入力画素の階調値と比較することにより、600×600(dpi)の解像度で入力された画像を2400×4800(dpi)の解像度の画像で出力することができる。また、図示はしないが、8×8マトリクス分の閾値データを1つの入力画素の階調値と比較することにより、600×600(dpi)の解像度で入力された画像を4800×4800(dpi)の解像度の画像で出力することもできる。
本発明の実施形態に係る画像処理装置のモジュール構成を示す概略図である。 入力画素サイズと出力画素サイズの比較例を示す図である。 閾値マトリクスの構成例とこれに対応した閾値データの格納例を示す図である。 閾値マトリクスの各行に配列される閾値データの格納方法を説明する図である。 各々の閾値格納メモリに閾値データを割り当て格納した状態を説明する図である。 バッファ処理部の内部構成を示すブロック図である。 ディザ処理に係るモジュール動作を示すタイミングチャートである。 ディザ処理に係るモジュールの処理内容を説明する図(その1)である。 ディザ処理に係るモジュールの処理内容を説明する図(その2)である。 ディザ処理に係るモジュールの処理内容を説明する図(その3)である。 各々のディザ処理部によって実現される処理内容を説明する図である。 複数個の閾値格納メモリからの閾値データの読み出し例を示す図である。 本発明の応用例を説明する図である。 従来の画像処理装置の構成例を示す概略図である。 従来の閾値データの格納方式を説明する図である。 従来のディザ処理の流れを示すタイミングチャートである。 マトリクスサイズと入力画素サイズの関係を説明する図である。
符号の説明
11,12,13,14…ディザ処理部、MEM1,MEM2,MEM3,MEM4…メモリ(閾値格納メモリ)、111…メモリ制御部、112…バッファ処理部、113…比較処理部、BM1…第1のバッファメモリ、BM2…第2のバッファメモリ、SEL1…第1のセレクタ、SEL2…第2のセレクタ、BSH…バレルシフタ

Claims (12)

  1. 入力画像の各画素の階調値を閾値マトリクスを用いたディザ処理により変換して出力する画像処理装置であって、
    前記閾値マトリクスに配列される閾値データを分配して格納するとともに、前記入力画像の1つの画素サイズに対応する主走査方向の複数の出力画素数分の閾値データを1つのメモリアドレスの指定で読み出し可能な1ワード分のメモリ領域に格納可能とし、かつ前記入力画像の1つの画素サイズに対応する副走査方向の出力画素数分だけ用意された複数個の閾値格納メモリと、
    前記複数個の閾値格納メモリのうち、それぞれに対応する閾値格納メモリから閾値データを読み出すとともに、この読み出した閾値データを前記入力画像の各画素の階調値と比較することにより、出力画像の画素データを生成する複数のディザ処理部とを備え、
    前記複数個の閾値格納メモリに対して、それぞれ前記閾値マトリクスの各行に配列された閾値データを順に割り当てて格納してなる
    ことを特徴とする画像処理装置。
  2. 前記複数個の閾値格納メモリに対して、前記閾値マトリクスの最終行に続く冗長な行の閾値データを付加的に格納してなる
    ことを特徴とする請求項1記載の画像処理装置。
  3. 前記閾値格納メモリの1ワード分の各メモリ領域のうち、所定のメモリ領域に、前記閾値マトリクスの各行の最後列の閾値データと、これと同じ行の最前列からの閾値データを続けて格納してなる
    ことを特徴とする請求項1記載の画像処理装置。
  4. 前記ディザ処理部は、これに対応する前記閾値格納メモリから前記入力画像の1つの画素サイズに対応する主走査方向の出力画素数分の閾値データを順に読み出す読み出し手段と、この読み出し手段によって読み出された閾値データを一時的に格納する一時格納手段と、前記読み出し手段によって今回読み出された閾値データ及び前記読み出し手段によって前回読み出され且つ前記一時格納手段に格納された閾値データの中から入力画素の各画素の階調値との比較に必要となる閾値データを選択する選択手段と、この選択手段によって選択された閾値データを前記入力画素の各画素の階調値と比較し、その比較結果を出力する比較手段とを有する
    ことを特徴とする請求項1記載の画像処理装置。
  5. 前記冗長な行の閾値データは、予め設定されたシフト情報にしたがってシフト処理されたデータである
    ことを特徴とする請求項2記載の画像処理装置。
  6. 前記ディザ処理部は、前記閾値格納メモリの1ワード分の各メモリ領域のうち、所定のメモリ領域に格納された閾値データの後に続く複数の閾値データを格納するサブ格納手段を有し、
    前記選択手段は、今回の選択処理で、前記閾値格納メモリの前記所定のメモリ領域から読み出された閾値データの少なくとも1つを前記入力画素の各画素の階調値との比較に必要となる閾値データとして選択した場合に、次回の選択処理で、前記サブ格納手段に格納された複数の閾値データ及び前記読み出し手段によって前記所定のメモリ領域から前回読み出され且つ前記一時格納手段に格納された閾値データの中から入力画素の各画素の階調値との比較に必要となる閾値データを選択する
    ことを特徴とする請求項4記載の画像処理装置。
  7. 前記読み出し手段は、前記選択手段による前回の選択処理で、前記閾値格納メモリの前記所定のメモリ領域から読み出された閾値データの少なくとも1つを前記入力画素の各画素の階調値との比較に必要となる閾値データとして前記選択手段が選択した場合に、当該選択手段が選択した閾値データの中に前記最後列の閾値データが含まれるか否かに応じて、前記閾値格納メモリから閾値データを読み出すときの読み出し順序を切り替える
    ことを特徴とする請求項4記載の画像処理装置。
  8. 前記一時格納手段は複数のバッファ手段からなるものであって、
    前記閾値マトリクスの異なる行の閾値データを、前記読み出し手段による前記閾値格納メモリからの複数回の読み出し動作によって前記複数のバッファ手段に順に格納するとともに、各々のバッファ手段からの閾値データの取り出し順序を主走査方向で制御することにより、出力解像度を変更可能とした
    ことを特徴とする請求項4記載の画像処理装置。
  9. 前記読み出し手段は、前記選択手段が選択した閾値データの中に前記最後列の閾値データが含まれる場合は、前記閾値格納メモリから1ワード分だけ飛ばして閾値データを読み出し、前記選択手段が選択した閾値データの中に前記最後列の閾値データが含まれない場合は、前記閾値格納メモリから連続的に閾値データを読み出す
    ことを特徴とする請求項7記載の画像処理装置。
  10. 入力画像の各画素の階調値を閾値マトリクスを用いたディザ処理により変換して出力する画像処理装置であって、
    前記閾値マトリクスに配列される閾値データを格納するとともに、1ワード分のメモリ領域に前記入力画像の1つの画素サイズに対応する主走査方向の出力画素数分の閾値データを格納可能とし、かつ前記入力画像の1つの画素サイズに対応する副走査方向の出力画素数分の複数個の閾値格納メモリと、
    前記複数個の閾値格納メモリのうち、それぞれに対応する閾値格納メモリから閾値データを読み出すとともに、この読み出した閾値データを前記入力画像の各画素の階調値と比較することにより、出力画像の画素データを生成する複数のディザ処理部とを備え、
    前記複数個の閾値格納メモリに対して、それぞれ前記閾値マトリクスの各行に配列された閾値データを順に割り当てて格納してなり、
    前記ディザ処理部は、これに対応する前記閾値格納メモリから前記入力画像の1つの画素サイズに対応する主走査方向の出力画素数分の閾値データを順に読み出す読み出し手段と、この読み出し手段によって読み出された閾値データを一時的に格納する一時格納手段と、前記読み出し手段によって今回読み出された閾値データ及び前記読み出し手段によって前回読み出され且つ前記一時格納手段に格納された閾値データの中から入力画素の各画素の階調値との比較に必要となる閾値データを選択する選択手段と、この選択手段によって選択された閾値データを前記入力画素の各画素の階調値と比較し、その比較結果を出力する比較手段とを有し、
    前記読み出し手段は、前記選択手段による前回の選択処理で、前記閾値格納メモリの前記所定のメモリ領域から読み出された閾値データの少なくとも1つを前記入力画素の各画素の階調値との比較に必要となる閾値データとして前記選択手段が選択した場合に、当該選択手段が選択した閾値データの中に前記最後列の閾値データが含まれるか否かに応じて、前記閾値格納メモリから閾値データを読み出すときの読み出し順序を切り替える
    ことを特徴とする画像処理装置。
  11. 前記読み出し手段は、前記選択手段が選択した閾値データの中に前記最後列の閾値データが含まれる場合は、前記閾値格納メモリから1ワード分だけ飛ばして閾値データを読み出す
    ことを特徴とする請求項10記載の画像処理装置。
  12. 前記読み出し手段は、前記選択手段が選択した閾値データの中に前記最後列の閾値データが含まれない場合は、前記閾値格納メモリから連続的に閾値データを読み出す
    ことを特徴とする請求項10記載の画像処理装置。
JP2003325512A 2003-09-18 2003-09-18 画像処理装置 Expired - Fee Related JP4135605B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2005094403A JP2005094403A (ja) 2005-04-07
JP4135605B2 true JP4135605B2 (ja) 2008-08-20

Family

ID=34455932

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP4135605B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272038A (ja) * 2009-05-25 2010-12-02 Nippon Hoso Kyokai <Nhk> ファイル管理装置及びそのプログラム
JP5799602B2 (ja) * 2011-06-21 2015-10-28 コニカミノルタ株式会社 画像処理装置

Also Published As

Publication number Publication date
JP2005094403A (ja) 2005-04-07

Similar Documents

Publication Publication Date Title
JPH11243490A (ja) 誤差拡散値の処理方法
US5745249A (en) Pipelined architecture for patterned halftone generation
US6930800B1 (en) Halftone generation system and halftone generation method
US5926582A (en) Method and system for converting multi-gradated image data into binary image data
JP4135605B2 (ja) 画像処理装置
JP3302862B2 (ja) カラー画像信号の圧縮方法、画像符号化復号化装置および画像処理システム
JP4135606B2 (ja) 画像処理装置
US6956676B2 (en) Methods and systems for providing halftone screens
US5347597A (en) Image scaling for thermal printers and the like
US6208430B1 (en) Increased functionality for Holladay halftoning
JPH11306343A (ja) 2次元データ回転処理装置
JP2006050415A (ja) 画像処理装置および閾値データ記憶方法
JPH115331A (ja) カラー記録装置の制御方法とカラー記録装置
JP4254417B2 (ja) 画像処理装置
JP2005079741A (ja) 画像処理装置
JP4408543B2 (ja) 画像形成方法及びその装置
JPH05260285A (ja) 画像出力装置
JPH08223423A (ja) 画像データ処理方法および画像処理装置
JP3852104B2 (ja) 画像処理装置及び画像処理方法
JP3782146B2 (ja) 画像処理装置
JP4454831B2 (ja) 画像形成装置、画像形成方法
AU674552B2 (en) Parallel error diffusion method and apparatus
JPH01241269A (ja) 画像処理装置
JPS64866B2 (ja)
JPH03133674A (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