(57)【要約】【課題】高速に処理できるデジタル画像処理技術を提供する。【解決手段】（ａ）閾値マトリックスを予め準備する工程と、（ｂ）前記閾値マトリックスをＮ分割した１つで、前記単位ブロックの各要素値は前記Ｎで除した商の整数部が前記単位ブロック内においてお互いに異なる単位ブロック、を予め設定する工程と、（ｃ）前記単位ブロック内における位置を、閾値の大きさ順に示す順番テーブルを予め準備する工程と、（ｄ）与えられた入力画素値から、前記出力画素値を生成する工程と、を備え、前記工程（ｄ）は、（ｉ）前記入力画素値を前記Ｎで除した商の整数部ｋを得る工程と、（ｉｉ）前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置にある閾値と、前記入力画素値とを比較する工程と、を備える。【選択図】  図４
2004328575.tif 000002
【特許請求の範囲】
【請求項１】
入力画素の画素値を、前記入力画素よりも高解像度の出力画素毎の閾値と比較することによって、前記出力画素毎のドット形成状態を示す出力画素値を生成する画像処理方法であって、
（ａ）複数の出力画素位置に割り当てられた閾値を含む閾値マトリックスを予め準備する工程と、
（ｂ）前記閾値マトリックスをＮ分割（Ｎは２以上の所定の整数）した１つであると同時に、前記入力画素の１つ分の領域に相当する単位ブロックであって、前記単位ブロックの各要素値は前記Ｎで除した商の整数部が前記単位ブロック内においてお互いに異なる閾値である単位ブロック、を予め設定する工程と、
（ｃ）前記単位ブロック内に含まれている複数の閾値の前記単位ブロック内における位置を、前記複数の閾値の大きさ順に示す順番テーブルを予め準備する工程と、
（ｄ）与えられた入力画素値から、前記閾値マトリックスを用いて前記出力画素値を生成する工程と、
を備え、
前記工程（ｄ）は、
（ｉ）前記入力画素値を前記Ｎで除した商の整数部ｋを得る工程と、
（ｉｉ）前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置にある閾値と、前記入力画素値とを比較する工程と、
（ｉｉｉ）前記工程（ｉｉ）の結果、前記入力画素値が前記閾値よりも大きいときは、前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置における出力画素値を前記第１の出力値とする工程と、
（ｉｖ）前記工程（ｉｉ）の結果、前記入力画素値が前記閾値よりも小さいときは、前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置における出力画素値を、前記第１の出力画素値と異なる第２の出力値とする工程と、
（ｖ）前記閾値が最も小さい前記順番テーブルの要素から、前記閾値の小さい方からｋ番目の前記順番テーブルの要素までの、全ての要素が示す位置における出力画素値を前記第１の出力値とする工程と、
（ｖｉ）前記閾値の小さい方からｋ＋２番目の前記順番テーブルの要素から、前記閾値が最も大きい前記順番テーブルの要素までの、全ての要素が示す位置における出力画素値を前記第２の出力値とする工程と、
を備える画像処理方法。
【請求項２】
請求項１記載の画像処理方法であって、
前記順番テーブル内の任意の順番の要素が、いずれの前記単位ブロックに対しても、前記単位ブロックの同じ位置を示す、
画像処理方法。
【請求項３】
請求項１記載の画像処理方法であって、
任意の前記順番テーブル内における、いずれか１つの順番の要素値と、
別の前記順番テーブル内における、前記順番と同一順番の要素値と、
が異なる値である、
画像処理方法。
【請求項４】
入力画素の画素値を、前記入力画素よりも高解像度の出力画素毎の閾値と比較することによって、前記出力画素毎のドット形成状態を示す出力画素値を生成する画像処理装置であって、
複数の出力画素位置に割り当てられた閾値を含む閾値マトリックスを記憶する第１のメモリと、
前記閾値マトリックスをＮ分割（Ｎは２以上の所定の整数）した１つであると同時に、前記入力画素の１つ分の領域に相当する単位ブロックであって、前記単位ブロックの各要素値は前記Ｎで除した商の整数部が前記単位ブロック内においてお互いに異なる閾値である単位ブロックのそれぞれに関して、前記単位ブロック内に含まれている複数の閾値の前記単位ブロック内における位置を、前記複数の閾値の大きさ順に示す順番テーブルを記憶する第２のメモリと、
与えられた入力画素値から、前記閾値マトリックスを用いて前記出力画素値を生成するハーフトーン処理部と、
を備え、
前記ハーフトーン処理部は、
（ｉ）前記入力画素値を前記Ｎで除した商の整数部ｋを得る第１の処理と、
（ｉｉ）前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置にある閾値と、前記入力画素値とを比較する第２の処理と、
（ｉｉｉ）前記第２の処理（ｉｉ）の結果、前記入力画素値が前記閾値よりも大きいときは、前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置における出力画素値を前記第１の出力値とする第３の処理と、
（ｉｖ）前記第２の処理（ｉｉ）の結果、前記入力画素値が前記閾値よりも小さいときは、前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置における出力画素値を、前記第１の出力値とは異なる第２の出力値とする第４の処理と、
（ｖ）前記閾値が最も小さい前記順番テーブルの要素から、前記閾値の小さい方からｋ番目の前記順番テーブルの要素までの、全ての要素が示す位置における出力画素値を前記第１の出力値とする第５の処理と、
（ｖｉ）前記閾値の小さい方からｋ＋２番目の前記順番テーブルの要素から、前記閾値が最も大きい前記順番テーブルの要素までの、全ての要素が示す位置における出力画素値を前記第２の出力値とする第６の処理と、
を実行する、画像処理装置。
【請求項５】
請求項４記載の画像処理装置であって、
前記順番テーブル内の任意の順番の要素が、いずれの前記単位ブロックに対しても、前記単位ブロックの同じ位置を示す、
画像処理装置。
【請求項６】
請求項４記載の画像処理装置であって、
任意の前記順番テーブル内における、いずれか１つの順番の要素値と、
別の前記順番テーブル内における、前記順番と同一順番の要素値と、
が異なる値である、
画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、階調表現をするためのデジタル画像処理技術に関する。
【０００２】
【従来の技術】
近年、デジタルカメラ等が普及し、デジタル画像を容易に得ることができるようになってきた。また、プリンターに代表されるように、出力装置の解像度が向上し種々の階調表現で画像を出力できるようにもなってきた。
【０００３】
出力画像の階調表現を得るためのハーフトーン処理技術には、閾値をマトリックス状に設定し、入力画素の値（以下、「入力画素値」と書く）と前記閾値とを比較し、出力画素の値を決定するディザ法が知られている。従来の画像処理技術は、総ての出力画素に対して、入力画素値と閾値を比較するものであった（例えば、非特許文献１）。
【０００４】
【非特許文献１】
貴家仁志著「よくわかるディジタル画像処理」Ｃ  Ｑ出版社（第８章）
【０００５】
【発明が解決しようとする課題】
しかし、前述の従来技術では、総ての出力画素に対して、比較を行なうため、処理速度が遅いという問題があった。この問題は、出力装置の解像度が向上すればするほど、顕著になっていく傾向がある。
【０００６】
本発明は、従来技術における前述の課題を解決するもので、高速に実行できるハーフトーン処理技術を提供することを目的とする。
【０００７】
【課題を解決するための手段およびその作用・効果】
上述の課題を解決するため、本発明の画像処理方法は、入力画素の画素値を、前記入力画素よりも高解像度の出力画素毎の閾値と比較することによって、前記出力画素毎のドット形成状態を示す出力画素値を生成する画像処理方法であって、（ａ）複数の出力画素位置に割り当てられた閾値を含む閾値マトリックスを予め準備する工程と、（ｂ）前記閾値マトリックスをＮ分割（Ｎは２以上の所定の整数）した１つであると同時に、前記入力画素の１つ分の領域に相当する単位ブロックであって、前記単位ブロックの各要素値は前記Ｎで除した商の整数部が前記単位ブロック内においてお互いに異なる閾値である単位ブロック、を予め設定する工程と、（ｃ）前記単位ブロック内に含まれている複数の閾値の前記単位ブロック内における位置を、前記複数の閾値の大きさ順に示す順番テーブルを予め準備する工程と、（ｄ）与えられた入力画素値から、前記閾値マトリックスを用いて前記出力画素値を生成する工程と、を備え、前記工程（ｄ）は、（ｉ）前記入力画素値を前記Ｎで除した商の整数部ｋを得る工程と、（ｉｉ）前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置にある閾値と、前記入力画素値とを比較する工程と、（ｉｉｉ）前記工程（ｉｉ）の結果、前記入力画素値が前記閾値よりも大きいときは、前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置における出力画素値を前記第１の出力値とする工程と、（ｉｖ）前記工程（ｉｉ）の結果、前記入力画素値が前記閾値よりも小さいときは、前記順番テーブルの、前記閾値の小さい方からｋ＋１番目の要素が示す位置における出力画素値を、前記第１の出力画素値と異なる第２の出力値とする工程と、（ｖ）前記閾値が最も小さい前記順番テーブルの要素から、前記閾値の小さい方からｋ番目の前記順番テーブルの要素までの、全ての要素が示す位置における出力画素値を前記第１の出力値とする工程と、（ｖｉ）前記閾値の小さい方からｋ＋２番目の前記順番テーブルの要素から、前記閾値が最も大きい前記順番テーブルの要素までの、全ての要素が示す位置における出力画素値を前記第２の出力値とする工程と、を備える。
【０００８】
この画像処理方法によれば、前記入力画素値と前記閾値との比較を、前記単位ブロック内の１つの要素に対してのみ行なえば良いため、高速な画像処理を行なうことができる。
【０００９】
また、本発明の画像処理方法は、前記順番テーブルの任意の要素が、いずれの前記単位ブロックに対しても、前記単位ブロックの同じ位置を示しても良い。
【００１０】
この画像処理方法によれば、いずれの前記単位ブロックに対しても１つの順番テーブルだけで済むため、前記順番テーブルを記憶するメモリの大きさを小さくすることができる。
【００１１】
また、本発明の画像処理方法は、任意の前記順番テーブル内における、いずれか１つの順番の要素値と、別の前記順番テーブル内における、前記順番と同一順番の要素値と、が異なる値であっても良い。
【００１２】
仮に、順番テーブルによって表される単位ブロック内の画素位置の順序が全ての単位ブロックで同一である場合には、各単位ブロック内での閾値配列の類似性に起因する擬似的パターンが発生する。この画像処理方法では、前記順番テーブルの要素値が示す、前記単位ブロックにおける位置が異なるため、単位ブロック毎に前記閾値の順番が異なる。従って、この画像処理方法によれば、前記擬似的パターンを発生し難くすることができ、高画質な出力画像を得ることができる。
【００１３】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法を実現する画像処理装置やコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の態様で実現することができる。
【００１４】
【発明の実施の形態】
本発明の実施の形態を実施例にもとづいて以下の順番で説明する。
Ａ．装置の構成：
Ｂ．第１実施例：
Ｃ．第２実施例：
Ｄ．第３実施例：
Ｅ．第４実施例：
Ｆ．第５実施例：
Ｇ．変形例：
【００１５】
Ａ．装置の構成：図１は、本発明の一実施例として、画像処理装置の構成を示すブロック図である。この画像処理システムは、コンピュータ９０と、カラープリンタ２０と、を備えている。なお、プリンタ２０とコンピュータ９０とを含む画像処理システムは、広義の「画像処理装置」と呼ぶことができる。
【００１６】
コンピュータ９０では、所定のオペレーティングシステムの下で、アプリケーションプログラム９５が動作している。オペレーティングシステムには、ビデオドライバ９１やプリンタドライバ９６が組み込まれており、アプリケーションプログラム９５からは、これらのドライバを介して、プリンタ２０に転送するための印刷データＰＤが出力される。画像のレタッチなどを行うアプリケーションプログラム９５は、処理対象の画像に対して所望の処理を行い、また、ビデオドライバ９１を介してＣＲＴ２１に画像を表示している。
【００１７】
アプリケーションプログラム９５が印刷命令を発すると、コンピュータ９０のプリンタドライバ９６が、画像データをアプリケーションプログラム９５から受け取り、これをプリンタ２０に供給する印刷データＰＤに変換する。図１に示した例では、プリンタドライバ９６の内部には、色変換モジュール９８と、ハーフトーンモジュール９９と、ラスタライザ１００と、色変換ルックアップテーブルＬＵＴと、が備えられている。
【００１８】
画像データは、ＲＧＢの３つの色成分からなる画像情報である。色変換モジュール９８は、色変換ルックアップテーブルＬＵＴを参照しつつ、各画素ごとに、ＲＧＢ画像データを、プリンタ２０が利用可能な複数のインク色の多階調データに変換する。
【００１９】
色変換された多階調データは、例えば２５６階調の階調値を有している。ハーフトーンモジュール９９は、閾値マトリックスＴおよび順番テーブルＲを記憶するメモリ１０２を備えており、いわゆるハーフトーン処理を実行してハーフトーン画像データを生成する。このハーフトーン画像データは、ラスタライザ１００によりプリンタ２０に転送すべきデータ順に並べ替えられ、最終的な印刷データＰＤとして出力される。なお、印刷データＰＤは、各主走査時のドットの形成状態を示すラスタデータと、副走査送り量を示すデータと、を含んでいる。
【００２０】
なお、プリンタドライバ９６は、印刷データＰＤを生成する機能を実現するためのプログラムに相当する。プリンタドライバ９６の機能を実現するためのプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で供給される。このような記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読み取り可能な種々の媒体を利用できる。
【００２１】
Ｂ．第１実施例：図２は、第１実施例におけるデータの対応関係を示す図であって、ハーフトーンモジュール９９におけるデータの対応関係を示す図である。
【００２２】
図２の左上に示す入力画素ＩＮは、入力画像データの１画素である。例えば、コンピュータ９０の画像データにおける１画素である。１つの入力画素ＩＮが１つの単位ブロックＵＢに対応する。単位ブロックＵＢは、閾値マトリックスＴをＮ分割（Ｎは２以上の所定の整数であり、以下「分割数Ｎ」と書く）した１つである。単位ブロックＵＢの各要素値は、分割数Ｎで除した整数部がお互いに異なる値になるように、予め設定されている。ここで、閾値マトリックスＴとは、閾値を要素とするマトリックスであり、１次元のマトリックスでも２次元のマトリックスでも良い。前記閾値は、出力画素ＯＵ毎に割り当てられる。
【００２３】
順番テーブルＲは一次元のテーブルであって、その要素数は単位ブロックＵＢの要素数と同数である。順番テーブルＲのｉ番目の要素Ｒｉ（以下、「要素Ｒｉ」と書く）は、単位ブロックＵＢ内の座標ＵＢｘ，ｙを示す。ここで、ｘは単位ブロックＵＢ内の行番号であり、ｙは単位ブロックＵＢ内の列番号である。要素Ｒｉは、単位ブロックＵＢ内の閾値の小さい順番（以下「小さい順」と書く）で並べ替えられている。
【００２４】
図３は、第１実施例における、具体的データ例を示す図である。閾値マトリックスＴは１６要素×１６要素で構成され、単位ブロックＵＢは閾値マトリックスＴを１６分割した１つのマトリックスであり、４要素×４要素のマトリックスである。単位ブロックＵＢの各要素（以下、「閾値」と書く）が８ビットで表現されている場合、閾値は０〜２５５の整数値をとることができ、例えば図３に示す値をとることができる。単位ブロックＵＢの各要素値は、分割数１６で除した整数部がお互いに異なる値になるように、予め設定されている。例えば、左上に示す単位ブロックＵＢａの場合、０は１６で除した整数部が０であり、１６は１６で除した整数部が１であり、３２は１６で除した整数部が２である。
【００２５】
また、単位ブロックＵＢａ内の要素を、小さい順に並べると、
０，１６，３２，・・・・・・・，２２４，２４０
となる。従って、順番テーブルＲの要素値は、
ＵＢ０，０，ＵＢ２，０，ＵＢ３，２，・・・・・・・，ＵＢ０，３
となる。座標ＵＢｘ，ｙが示す値は、対応する出力画素の閾値である。
【００２６】
閾値マトリックスＴ内の各単位ブロックＵＢには、閾値マトリックスＴの原点位置ＯＰからのオフセットが設定されている。各単位ブロックＵＢの左上端の画素位置における座標（ｕ，ｖ）で表される。ここで、ｕは閾値マトリックス内の行番号を示し、ｖは列番号を示す。例えば、単位ブロックＵＢａのオフセットは（０，０）であり、左上端から３番目の単位ブロックＵＢｂのオフセットは（０，８）である。
【００２７】
前述したように、各単位ブロックＵＢの順番テーブルＲの要素Ｒｉは、各単位ブロックＵＢ内で定義された位置座標ＵＢｘ，ｙ（ｘは行番号、ｙは列番号で０〜３の値をとる）である。従って、順番テーブルＲの要素である座標値（ｘ，ｙ）からその位置の閾値を取得する際には、閾値マトリックスＴにおける座標値（ｕ，ｖ）は、以下の式（１）および式（２）で算出される。
ｕ＝ＯＦＦＳＥＴｕ＋ｘ…（１）
ｖ＝ＯＦＦＳＥＴｖ＋ｙ…（２）
ここで、ＯＦＦＳＥＴｕ，ＯＦＦＳＥＴｖは、その単位ブロックＵＢのオフセットである。この場合、全ての単位ブロッックＵＢについて１つの順番テーブルＲを共通に使用できるため、メモリを節約できる。
【００２８】
ただし、順番テーブルＲ内の要素Ｒｉを閾値マトリックスＴの座標値（ｕ，ｖ）で表すようにしても良い。この場合は、順番テーブルＲ内の要素Ｒｉから閾値マトリックスＴの座標値（ｕ，ｖ）を直接得ることができるので、前述の式（１）および式（２）を計算する必要がなく、より高速な処理を実現できる。
【００２９】
この実施例においては、任意の要素Ｒｉが、いずれの単位ブロックＵＢに対しても、単位ブロックＵＢ内の同じ位置を示す。例えば、要素Ｒ３の要素値は、どの単位ブロックＵＢに対してもＵＢ３，２である。また、この実施例においては、要素Ｒｉ＋１の示す閾値と要素Ｒｉの示す閾値の差（ｉは１から１５の整数）が１６と固定されている。
【００３０】
次に、出力画素ＯＵの出力値（以下、「出力画素値」と書く）の決定手順を説明する。図４は、出力画素ＯＵのオン・オフ決定手順を示す図である。
【００３１】
まず、単位ブロックＵＢ内の処理手順を説明する。ステップＳ１にて、１つの入力画素ＩＮの値（以下、「入力画素値Ｄ」と書く）を得る。入力画素値Ｄとしては、例えば、１入力画素がＲＧＢ等３色で各色８ビットで表現されている画像データの場合、各入力画素に対する各色の入力画素値は、０から２５５のいずれかの整数をとることができる。
【００３２】
ステップＳ２にて、入力画素ＩＮに対応する単位ブロックＵＢを選択する。ステップＳ３にて、入力画素値Ｄを分割数Ｎで除し、その整数部（以下「整数部ｋ」と書く）を得る。
【００３３】
ステップＳ４にて、ｋ＋１番目の要素Ｒｋ＋１の示す座標ＵＢｘ，ｙの閾値と、入力画素値Ｄの大きさを比較する。入力画素値Ｄが閾値よりも大きい場合、ステップＳ５にて、要素Ｒｋ＋１に対応する出力画素値をオンとする。入力画素値Ｄが閾値以下の場合、ステップＳ６にて、要素Ｒｋ＋１に対応する出力画素値をオフとする。
【００３４】
次に、ステップＳ７にて、最初の要素Ｒ１に対応する出力画素値からｋ番目の要素Ｒｋに対応する出力画素値までを、全てオンとする。ステップＳ８にて、ｋ＋２番目の要素Ｒｋ＋２に対応する出力画素値から最後の要素Ｒｍａｘに対応する出力画素値までを、全てオフとする。このステップＳ８で１つの単位ブロックＵＢに対する処理が完了する。
【００３５】
このように、入力画素値Ｄと閾値の比較を行なう処理は、単位ブロックＵＢ内で１つの要素に対して行なうだけであり、その他の要素に対応する出力画素値は比較せずに決定できる。そのため、高速な画像処理を実現することができる。
【００３６】
以上の手順を、総ての入力画素値Ｄに対して行なうことで、画像全体を出力することができる。
【００３７】
Ｃ．第２実施例：第２実施例として、閾値の大きい順に示す順番テーブルＲを適用した例を説明する。図５は、第２実施例における、出力画素値のオン・オフ決定手順を示す図である。第１実施例と相違するステップは、ステップＳ１４〜ステップＳ１８である。相違するステップを説明する。
【００３８】
まず、ステップＳ１４を説明する。入力画素値Ｄと座標ＵＢｘ，ｙが示す閾値の大きさを比較する。ここで、座標ＵＢｘ，ｙは順番テーブルの要素ＲＳｋ＋１が示す座標であり、要素ＲＳｋ＋１は、順番テーブルＲの要素であって閾値の小さい方からｋ＋１番目の要素である。この第２実施例の場合、順番テーブルＲの要素Ｒｉは、要素Ｒｉの示す閾値の大きい順から並んでいる座標ＵＢｘ，ｙである。従って、要素ＲＳ１は図２に示した第１実施例の要素Ｒｍａｘを示し、要素ＲＳ２は要素Ｒｍａｘ−１を示し、要素ＲＳｍａｘは要素Ｒ１を示す。
【００３９】
ステップ１４の結果がＹｅｓであれば、ステップＳ１５において要素ＲＳｋ＋１に対応する出力画素値をオンとする。ステップ１４の結果がＮｏであれば、ステップＳ１６において要素ＲＳｋ＋１に対応する出力画素値をオフとする。次に、ステップＳ１７にて、最初の要素ＲＳ１に対応する出力画素値から要素ＲＳｋに対応する出力画素値までを、全てオンとする。ステップＳ１８にて、要素ＲＳｋ＋２に対応する出力画素値から最後の要素ＲＳｍａｘに対応する出力画素値までを、全てオフとする。
【００４０】
この第２実施例においても、入力画素値Ｄと閾値の比較を行なう処理は、単位ブロックＵＢ内で１つの要素に対して行なうだけである。そのため、高速な画像処理を実現することができる。
【００４１】
Ｄ．第３実施例：図６は、第３実施例における、具体的データ例を示す図である。第１実施例で説明したデータ例と同様に、順番テーブルＲの任意の要素が、いずれの単位ブロックＵＢに対しても、単位ブロックＵＢの同じ位置を示す例である。例えば、順番テーブルＲの３番目の要素値は、どの単位ブロックＵＢに対してもＵＢ２，１である。従って、順番テーブルＲを全ての単位ブロックＵＢに対して準備する必要がないため、メモリを節約することができる。閾値マトリックスＴａが大きくなればなるほど、より多くのメモリを節約できる傾向がある。
【００４２】
この第３実施例では、第１実施例と異なり、少なくともいくつかの要素Ｒｉ＋１（ｉは１から１５の整数）に関して、要素Ｒｉ＋１の示す閾値と要素Ｒｉの示す閾値の差が、順番テーブルＲ内で異なる値をとる。例えば、単位ブロックＵＢａの位置を示す順番テーブルＲに着目すると、要素Ｒ２の示す位置における閾値３１と要素Ｒ１の示す位置における閾値０の差である３１と、要素Ｒ３の示す位置における閾値３５と要素Ｒ２の示す位置における閾値３１の差である４と、は異なる値である。
【００４３】
このような閾値マトリックスＴａを用いた場合にも、図４に示した第１実施例の手順または図５に示した第２実施例の手順によって、各単位ブロックＵＢ内の出力画素値を決定することができる。従って、この第３実施例においても、入力画素値Ｄと閾値の比較を行なう処理は、単位ブロックＵＢ内で１つの要素に対して行なうだけであり、高速な画像処理を実現することができる。
【００４４】
Ｅ．第４実施例：図７は、第４実施例における、具体的データ例を示す図である。この第４実施例は、要素Ｒｉ＋１の示す閾値と要素Ｒｉの示す閾値の差（ｉは１から１５の整数）が一定値である例である。
【００４５】
第４実施例では、さらに、任意の前記順番テーブル内におけるいずれか１つの順番の要素Ｒｉの値と、別の前記順番テーブル内における前記順番と同一順番の要素Ｒｉの値と、が異なる値である例である。つまり、任意の単位ブロックＵＢに対する順番テーブルＲと別の単位ブロックＵＢに対する順番テーブルＲを比較したとき、少なくとも１つの要素Ｒｉの値が異なる例である。例えば、単位ブロックＵＢａの位置を示す要素Ｒ２の値は座標ＵＢ２，０であり、右下に示す単位ブロックＵＢｄの要素Ｒ２は、座標ＵＢ０，０と異なる値である。要素Ｒｉが異なるということは、単位ブロックＵＢ毎に順番テーブルＲが示す座標ＵＢｘ，ｙが異なることを意味する。
【００４６】
仮に、順番テーブルによって表される単位ブロック内の画素位置の順序が全ての単位ブロックで同一である場合には、各単位ブロック内での閾値配列の類似性に起因する擬似的パターンが発生し、画質が低下する。この第４実施例では、前記順番テーブルの要素値が示す、前記単位ブロックにおける位置が異なるため、単位ブロック毎に前記閾値の順番が異なる。つまり閾値の順番が不規則になることによって、前記擬似的パターンを目立ち難くすることができ、高画質な出力画像を得ることができる。
【００４７】
Ｆ．第５実施例：図８は、第５実施例における、具体的データ例を示す図である。この第５実施例は、要素Ｒｉ＋１の示す閾値と要素Ｒｉの示す閾値の差（ｉは１から１５の整数）が変化すると同時に、単位ブロックＵＢ毎に順番テーブルＲが示す座標ＵＢｘ，ｙが異なる例である。
【００４８】
例えば、単位ブロックＵＢａの順番テーブルＲに着目すると、要素Ｒ２の示す位置における閾値３１と要素Ｒ１の示す位置における閾値０の差である３１と、要素Ｒ３の示す位置における閾値３５と要素Ｒ２の示す位置における閾値３１の差である４と、は異なる値である。また、単位ブロックＵＢａの順番テーブルの要素Ｒ２の要素値である座標ＵＢ０，２と、単位ブロックＵＢｃの順番テーブルの要素Ｒ２の要素値であるＵＢ２，２と、は異なる座標である。つまり、順番テーブルＲ内における順番が同じ２番目の順番であっても、お互いに異なる値である要素Ｒｉが、少なくとも１つ存在する。
【００４９】
この第５実施例においては、第４実施例の場合における閾値の不規則性のみならず、要素Ｒｉ＋１の示す閾値と要素Ｒｉの示す閾値の差にも不規則性が加えられているので、第４実施例の場合よりも、いっそう前記擬似的パターンを目立ち難くすることができ、高画質な出力画像を得ることができる。
【００５０】
Ｇ．変形例：なお、本発明は上記の実施例や実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００５１】
Ｇ１．変形例１：前述の各実施例では、単位ブロックＵＢの大きさを４画素×４画素の大きさとして説明したが、単位ブロックＵＢの大きさは、複数画素で構成できる大きさであれば良い。また、単位ブロックＵＢは、１次元のマトリックスでも２次元のマトリックスであっても良い。
【００５２】
Ｇ２．変形例２：前述の各実施例では、入力画素値Ｄと閾値が同じ値のときには出力画素値を第１の出力値であるオンとしたが、前記出力画素値を第２の出力値であるオフとしても、本発明の要旨を逸脱しない範囲内である。
【００５３】
Ｇ３．変形例３：前述の各実施例では、第１の出力値をオンとし第２の出力値をオフとしたが、第１の出力値をオフとし第２の出力値をオンとする画像処理を行なう場合に、本発明を適用しても良い。
【００５４】
Ｇ４．変形例４：前述の各実施例では、コンピュータとシリアルプリンタを用いた画像処理方法および画像処理装置を例に述べたが、これに限定されるものではなく、種々の態様において実施することが可能である。例えば、デジタルカメラやスキャナ，ファックス，複写機，ラインプリンタやページプリンタを本発明の画像処理装置とすることも可能であり、これら画像処理装置の画像処理方法として本発明を適用することも可能である。また、ソフトウェを用いて本発明の画像処理方法を実現しても良く、ハードウェアを用いても良い。
【図面の簡単な説明】
【図１】本発明の一実施例として、画像処理装置の構成を示すブロック図。
【図２】第１実施例におけるデータの対応関係を示す図。
【図３】第１実施例における具体的データ例を示す図。
【図４】第１実施例における出力画素のオン・オフ決定手順を示す図。
【図５】第２実施例における出力画素のオン・オフ決定手順を示す図。
【図６】第３実施例における具体的データ例を示す図。
【図７】第４実施例における具体的データ例を示す図。
【図８】第５実施例における具体的データ例を示す図。
【符号の説明】
２０…プリンタ
２１…ＣＲＴ
９０…コンピュータ
９１…ビデオドライバ
９５…アプリケーションプログラム
９６…プリンタドライバ
９８…色変換モジュール
９９…ハーフトーンモジュール
１００…ラスタライザ
１０２…メモリ
ＩＮ…入力画素
ＯＵ…出力画素
Ｒ…順番テーブル
Ｒｉ…順番テーブルの要素
Ｔ…閾値マトリックス
ＵＢ…単位ブロック
ＵＢｘ，ｙ…単位ブロックの座標
【図１】
2004328575.tif 000003
【図２】
2004328575.tif 000004
【図３】
2004328575.tif 000005
【図４】
2004328575.tif 000006
【図５】
2004328575.tif 000007
【図６】
2004328575.tif 000008
【図７】
2004328575.tif 000009
【図８】
2004328575.tif 000010