(57)【要約】【課題】  高画質な画像を迅速に出力可能な技術を提供する。【解決手段】  画像データをデジタルカメラから受け取った場合には、複数画素からなる画素群毎に画素群階調値を決定し、画素群毎に記憶されている閾値と比較して画素群階調値を多値化し、得られた多値化結果値をドットデータに変換する。一方、コンピュータからは、画素群毎の多値化結果値の形態で画像のデータを受け取り、多値化結果値と画素群内でのドット形成の有無とが、画素群毎に関連付けられた対応関係を参照して、多値化結果値をドットデータに変換する。こうすれば、処理能力やメモリが十分ではない機器でも、デジタルカメラから画像データを受け取ってドットデータに変換し、画像を出力することができる。また、コンピュータから高解像度のデータを受け取った場合でも、高画質な画像を迅速に出力することができる。【選択図】        図１
2006191268.tif 000002
【特許請求の範囲】
【請求項１】
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する画像出力装置であって、
画素毎の階調値が規定された画像データを受け取って、該画像データを前記ドットデー
タに変換する第１のデータ変換部と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取って、該多値化結果値を前記ドットデータに変換する
第２のデータ変換部と、
前記第１のデータ変換部または前記第２のデータ変換部のいずれかによって生成された
前記ドットデータに基づいてドットを形成するドット形成手段と
を備え、
前記第１のデータ変換部は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する多値化手段と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する多値化
結果値変換手段と
を備えた変換部であり、
前記第２のデータ変換部は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成するドットデータ生成手段を備えた変換部である画像出力装置。
【請求項２】
請求項１記載の画像出力装置であって、
前記多値化結果値変換手段は、
前記画素群内に形成されるドットの個数を表す個数データと前記多値化結果値とが画
素群毎に関連付けられた変換テーブルを参照することにより、前記画素群毎に得られた多
値化結果値から該個数データを生成する個数データ生成手段と、
前記画素群内の各画素についてドットが形成される順番を画素群毎に記憶しておき、
前記画素群毎に得られた個数データと、該画素群内の各画素について記憶されている順番
とに基づいて、該画素群内の各画素についてのドット形成有無を決定するドット形成有無
決定手段と
を備えた手段である画像出力装置。
【請求項３】
請求項２記載の画像出力装置であって、
前記画素群に含まれる画素数をＮとして、該画素群に形成されるドットの個数をＭとし
たときに、ドットを形成することを意味するＭ個の連続するデータと、ドットを形成しな
いことを意味する（Ｎ−Ｍ）個の連続するデータとからなる中間データを、前記個数デー
タから生成する中間データ生成手段を備え、
前記ドット形成有無決定手段は、前記画素群の個数データを変換して得られた前記中間
データの中から、該画素群内の各画素に記憶された順番に対応する位置のデータを読み出
すことにより、該画素群毎にドット形成の有無を決定する手段である画像出力装置。
【請求項４】
請求項１記載の画像出力装置であって、
前記多値化結果値変換手段は、前記ドットデータ生成手段が前記多値化結果値から前記
ドットデータを生成する際に参照する前記対応関係を参照することによって、前記画素群
毎に得られた多値化結果値を該ドットデータに変換する手段である画像出力装置。
【請求項５】
請求項１記載の画像出力装置であって、
前記画素群を前記画像中での位置に応じて複数種類に分類することにより、該各々の画
素群に分類番号を付与する分類番号付与手段を備え、
前記多値化手段は、前記分類番号毎に少なくとも１つの閾値を記憶しておき、前記画素
群の多値化結果値と、該画素群の分類番号に記憶されている該閾値とを比較することによ
り、該画素群階調値を多値化する手段であり、
前記多値化結果値変換手段は、前記多値化結果値と、該多値化結果値が得られた画素群
についての前記分類番号とに基づいて、該多値化結果値を前記ドットデータに変換する手
段であり、
前記ドットデータ生成手段は、前記多値化結果値と前記画素群内の各画素についてのド
ット形成の有無とが、前記分類番号毎に関連付けられた対応関係を参照することにより、
該多値化結果値から前記ドットデータを生成する手段である画像出力装置。
【請求項６】
請求項１記載の画像出力装置であって、
前記ドット形成手段は、単ドットあたりに表現可能な階調値の異なる複数種類のドット
を形成可能な手段であり、
前記多値化結果値変換手段は、前記画素群内の各画素について、前記複数種類のドット
についての形成有無を決定することにより、前記多値化結果値を前記ドットデータに変換
する手段であり、
前記ドットデータ生成手段は、前記多値化結果値と、前記画素群内の各画素での前記複
数種類のドットについての形成有無とが、該画素群毎に関連付けられた対応関係を参照す
ることにより、前記ドットデータを生成する手段である画像出力装置。
【請求項７】
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して、画像出力装置に供給する画像処理装置であって、
画素毎の階調値が規定された画像データを受け取って、該画像データを前記ドットデー
タに変換する第１のデータ変換部と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取って、該多値化結果値を前記ドットデータに変換する
第２のデータ変換部と、
前記第１のデータ変換部または前記第２のデータ変換部のいずれかによって生成された
前記ドットデータを前記画像出力装置に供給するドットデータ供給手段と
を備え、
前記第１のデータ変換部は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する多値化手段と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する多値化
結果値変換手段と
を備えた変換部であり、
前記第２のデータ変換部は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成するドットデータ生成手段を備えた変換部である画像処理装置。
【請求項８】
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する画像出力方法であって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する工程（１）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する工程（２）と、
前記工程（１）または前記工程（２）のいずれかによって生成された前記ドットデータ
に基づいてドットを形成する工程（３）と
を備え、
前記工程（１）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副工程（１−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副工程
（１−ｂ）と
を備えた工程であり、
前記工程（２）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副工程（２−ａ）を備えた工程である画像出力方法。
【請求項９】
請求項８記載の画像出力方法であって、
副工程（１−ｂ）は、
前記画素群内に形成されるドットの個数を表す個数データと前記多値化結果値とが画
素群毎に関連付けられた変換テーブルを参照することにより、前記画素群毎に得られた多
値化結果値から該個数データを生成する工程と、
前記画素群内の各画素についてドットが形成される順番を画素群毎に記憶しておき、
前記画素群毎に得られた個数データと、該画素群内の各画素について記憶されている順番
とに基づいて、該画素群内の各画素についてのドット形成有無を決定する工程と、
を備えた工程である画像出力方法。
【請求項１０】
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して、画像出力装置に供給する画像処理方法であって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する工程（Ａ）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する工程（Ｂ）と、
前記工程（Ａ）または前記工程（Ｂ）のいずれかによって生成された前記ドットデータ
を前記画像出力装置に供給する工程（Ｃ）と
を備え、
前記工程（Ａ）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副工程（Ａ−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副工程
（Ａ−ｂ）と
を備えた工程であり、
前記工程（Ｂ）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副工程（Ｂ−ａ）を備えた工程である画像処理方法。
【請求項１１】
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する方法を、コンピュータで実現するためのプログラムであって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能（１）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能（２）と、
前記機能（１）または前記機能（２）のいずれかによって生成された前記ドットデータ
に基づいてドットを形成する機能（３）と
をコンピュータを用いて実現するとともに、
前記機能（１）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能（１−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
（１−ｂ）と
を備えた機能であり、
前記機能（２）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能（２−ａ）を備えた機能であるプログラム。
【請求項１２】
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して画像出力装置に供給する方法を、コンピュータで実現
するためのプログラムであって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能（Ａ）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能（Ｂ）と、
前記機能（Ａ）または前記機能（Ｂ）のいずれかによって生成された前記ドットデータ
を前記画像出力装置に供給する機能（Ｃ）と
をコンピュータを用いて実現するとともに、
前記機能（Ａ）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能（Ａ−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
（Ａ−ｂ）と
を備えた機能であり、
前記機能（Ｂ）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能（Ｂ−ａ）を備えた機能であるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像データに基づいて画像を出力する技術に関し、詳しくは、画像データ
に所定の画像処理を施してドットを適切な密度で発生させることにより、画像を出力する
技術に関する。
【背景技術】
【０００２】
印刷媒体や液晶画面といった各種の出力媒体上にドットを形成することで画像を出力す
る画像出力装置は、各種の画像機器の出力装置として広く使用されている。これら画像出
力装置では、画像は画素と呼ばれる小さな領域に細分された状態で扱われており、ドット
はこれら画素に形成される。もちろん１つ１つの画素について見れば、ドットが形成され
るか否かのいずれかの状態しか取り得ないが、ある程度の広さを持った領域で見れば、形
成するドットの密度に粗密を生じさせることが可能であり、ドットの形成密度を変えるこ
とによって多階調の画像を出力することが可能である。従って、ドットの形成密度を適切
に制御してやれば、多階調の画像を出力することが可能となる。このように適切な形成密
度が得られるようにドットの形成を制御するためのデータは、出力しようとする画像に所
定の画像処理を施すことによって発生させる。
【０００３】
また、近年では、これら画像出力装置に対しては、出力画像の高画質化が要請されるよ
うになっており、こうした要請に応えるために、画像をより細かな画素に分割して（すな
わち高解像度の画像として）取り扱うことが多くなってきた。もっとも、画像を高解像度
化すると、画素数が増加する分だけ画像処理に要する時間が長くなってしまい、画像を迅
速に出力することが困難となる。そこで、画像処理を迅速に実行可能とする技術が提案さ
れている（特許文献１）。
【０００４】
一方、最近になって、デジタルカメラなどで撮影した画像を手軽に出力したいとの要請
も強くなってきた。こうした要請に応えるために、画像を撮影した機器と画像出力装置と
を接続し、画像データを画像出力装置に直接供給して、画像出力装置内で画像処理を行っ
て画像を出力する技術が採用されるようになっている。また、かかる技術については、画
像出力装置に供給すべき画像データを簡単に指定するための技術など、種々の改良が行わ
れている（特許文献２など）。
【０００５】
【特許文献１】特開２００２−１８５７８９号公報
【特許文献２】特開平１０−１２６７２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、高画質化の要請と、画像を手軽に出力したいという要請とは、互いに相反する
ことが多いため、従来の画像出力装置では、２つの要請を共に満足させるための構成につ
いては十分な配慮が払われていなかった。すなわち、高画質な画像を出力しようとすると
、画像の解像度が高くなり、画素数が増加するため画像処理に多くの記憶容量が必要とな
る。更に画像処理が高度化する傾向にあることとも相まって、高画質化の要請に対しては
、コンピュータなどを用いてある程度の画像処理を行っておくことが前提となる。このよ
うな場合は、コンピュータなどの高い処理能力と大きな記憶容量とを活用して、大きな画
像データを迅速に処理することが重要になる。これに対して、手軽に画像を出力したいと
いう要請に応えるためには、デジタルカメラなど画像を撮影する機器から、コンピュータ
などの画像処理装置を介さず、直接、画像出力装置に画像データを供給して、画像出力装
置内で画像処理を行った後に画像を出力することが前提となる。従って、画像出力装置の
有する限られた記憶容量および処理能力の制約の中で、できるだけ画質を維持して画像を
出力することが重要になる。このように、２つの要請に対して画像出力装置に要求される
性能は大きく異なっているため、これらを共に満足させるための構成については十分な配
慮が払われていなかった。
【０００７】
この発明は、従来の技術における上述した課題を解決するためになされたものであり、
高画質な画像を出力したいという要請と、手軽に画像を出力したいという要請とを、共に
満足させることの可能な合理的な構成を備えた画像処理技術の提供を目的とする。
【課題を解決するための手段】
【０００８】
上述した課題の少なくとも一部を解決するために、本願発明の画像出力装置は、次の構
成を採用した。すなわち、
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する画像出力装置であって、
画素毎の階調値が規定された画像データを受け取って、該画像データを前記ドットデー
タに変換する第１のデータ変換部と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取って、該多値化結果値を前記ドットデータに変換する
第２のデータ変換部と、
前記第１のデータ変換部または前記第２のデータ変換部のいずれかによって生成された
前記ドットデータに基づいてドットを形成するドット形成手段と
を備え、
前記第１のデータ変換部は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する多値化手段と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する多値化
結果値変換手段と
を備えた変換部であり、
前記第２のデータ変換部は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成するドットデータ生成手段を備えた変換部であることを要旨とする。
【０００９】
また、上記の画像出力システムに対応する本願発明の画像出力方法は、
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する画像出力方法であって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する工程（１）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する工程（２）と、
前記工程（１）または前記工程（２）のいずれかによって生成された前記ドットデータ
に基づいてドットを形成する工程（３）と
を備え、
前記工程（１）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副工程（１−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副工程
（１−ｂ）と
を備えた工程であり、
前記工程（２）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副工程（２−ａ）を備えた工程であることを要旨とする。
【００１０】
かかる本願発明の画像出力装置および画像出力方法においては、画素毎の階調値が規定
された画像データ、あるいは、画素群毎の多値化結果値の何れかの形態で、出力しようと
する画像についてのデータを受け取る。そして、いずれの形態で受け取った場合にも、受
け取ったデータをそれぞれの方法でドットデータに変換した後、得られたドットデータに
基づいてドットを形成することにより画像を出力する。ここで、出力しようとする画像に
ついてのデータを画像データの形態で受け取った場合には、画素群にまとめられた各画素
の階調値から画素群階調値を決定した後、画素群毎に記憶されている少なくとも１つの閾
値と該画素群階調値とを比較することによって、該画素群階調値を多値化結果値に変換す
る。次いで、画素群毎に得られた多値化結果値に基づいて、画素群内の各画素についてド
ットの形成有無を決定することにより、多値化結果値をドットデータに変換する。一方、
出力しようとする画像についてのデータを画素群毎の多値化結果値の形態で受け取った場
合には、予め記憶されている対応関係を参照することにより、多値化結果値から画素群内
の各画素についてドットの形成有無を決定してドットデータを生成する。対応関係には、
多値化結果値と画素群内の各画素についてのドット形成の有無とが、画素群毎に関連付け
られているので、かかる対応関係を参照すれば、多値化結果値から画素群内の各画素につ
いてのドット形成有無を決定することができる。このように、出力しようとする画像につ
いてのデータを受け取った形態に応じて、いずれかの方法で生成されたドットデータに基
づいて画像を出力する。
【００１１】
詳細には後述するが、上述した方法を用いて画像データから多値化結果値を生成し、得
られた多値化結果値からドットデータを生成することとすれば、使用可能な記憶容量や処
理能力が限られている場合でも、十分な画質と処理速度とを維持して画像を出力すること
ができる。尚、画素毎の階調値が規定された画像データは、画素毎の階調値を決定するこ
とが可能なデータであれば足り、必ずしも各画素に階調値が設定されたデータである必要
はない。例えば、画素毎に設定された階調値が、いわゆるＪＰＥＧなどのように所定個数
の画素分ずつ圧縮した状態で記述されており、このデータを解凍することによって画素毎
の階調値を得ることができるようなデータであっても構わない。
【００１２】
一方、コンピュータなどの画像処理装置からデータを受け取る場合、すなわち、ある程
度の画像処理が施された形態でデータを受け取る場合には、画素群毎の多値化結果値の形
態で受け取って、予め記憶されている対応関係を参照しながら多値化結果値をドットデー
タに変換する。画像の全画素についてドット形成の有無を表すデータに比べれば、画素群
毎の多値化結果値は遙かに小さなデータとすることができるので、解像度が高く従って画
素数の多い画像を出力する場合でも迅速にデータを受け取ることができる。また、対応関
係を参照すれば、多値化結果値を迅速にドットデータに変換することができるので、速や
かに画像を出力することができる。加えて、理由については後ほど詳しく説明するが、対
応関係を適切に設定しておけば、このようにして画像を出力した場合でも画質が悪化する
ことはない。
【００１３】
また、画像データを受け取ってドットデータを生成するに際しては、次のようにして生
成することとしても良い。すなわち、画素群内に形成されるドットの個数を表す個数デー
タと多値化結果値とが画素群毎に関連付けられた変換テーブルを予め記憶しておき、かか
る変換テーブルを参照することによって、画素群毎に得られた多値化結果値から個数デー
タを生成する。ここで、個数データは画素群内に形成されるドットの個数が特定できるデ
ータであれば足り、直接的にドットの個数を表したデータである必要はない。また、個数
データと多値化結果値とが画素群毎に関連付けられているとは、個数データと画素群とを
特定すれば、対応する多値化結果値を決定可能であればよく、例えば、関数式などの態様
で対応付けられているものであっても構わない。このような変換テーブルに加えて、画素
群内の各画素についてドットが形成される順番も、画素群毎に記憶しておく。そして、変
換テーブルを参照して得られた画素群毎の個数データと、該画素群内の各画素について記
憶されている順番とに基づいて、画素毎にドット形成有無を決定することにより、ドット
データを生成することとしても良い。
【００１４】
詳細な理由は後述するが、画素群にドットが形成される順番を画素群毎に適切に記憶し
ておき、個数データと記憶しておいた適切な順番とに基づいて、各画素についてのドット
形成の有無を決定すれば、ドット形成の有無を適切に決定して、高画質な画像を出力する
ことが可能となる。
【００１５】
また、個数データから、画素群内の各画素についてのドット形成有無を決定するに際し
ては、次のようにして決定することとしても良い。すなわち、先ず初めに、個数データを
中間データに変換する。ここで中間データとは、画素群に含まれる画素数をＮとして、該
画素群に形成されるドットの個数をＭとしたときに、ドットを形成することを意味するＭ
個の連続するデータと、ドットを形成しないことを意味する（Ｎ−Ｍ）個の連続するデー
タとからなるデータである。次いで、個数データを変換して画素群毎に得られた中間デー
タの中から、画素群内の各画素に記憶された順番に対応する位置のデータを読み出すこと
により、その画素群内の各画素についてのドット形成の有無を決定することとしても良い
。
【００１６】
このようにして個数データを中間データに一旦変換しておけば、中間データの中から該
当する位置のデータを読み出すだけで、各画素についてのドット形成の有無を簡便に且つ
迅速に決定することが可能となる。
【００１７】
あるいは、多値化結果値を個数データに一旦変換してから中間データを求めるのではな
く、多値化結果値から直ちに中間データを求めることも可能である。すなわち、多値化結
果値と中間データとを画素群毎に対応付けて記憶しておき、多値化結果値から直ちに中間
データが得られるようにしても良い。
【００１８】
こうすれば、個数データを生成することなく直ちに中間データを求めることができるの
で、各画素についてのドット形成の有無を迅速に決定することができ、延いては、画像を
迅速に出力することが可能となる。
【００１９】
あるいは、上述した画像出力装置においては、画像データを受け取って画素群毎の画素
群階調値を多値化結果値に変換した後、多値化結果値と画素群内の各画素についてのドッ
ト形成の有無とが関連付けられた前記対応関係を参照することにより、多値化結果値をド
ットデータに変換することとしても良い。
【００２０】
こうすれば、画像のデータとして受け取った画素群毎の多値化結果値を、ドットデータ
に変換するために参照する対応関係を、画像データから画素群毎に決定した多値化結果値
をドットデータに変換する際にも利用することができるので、画像出力装置の記憶容量を
節約することが可能となるので好ましい。
【００２１】
また、こうした画像出力装置においては、画像中での位置に応じて画素群を複数種類に
分類し、各々の画素群に分類番号を付与しておき、該分類番号を用いて画素群を識別しな
がらドットデータを生成することとしても良い。すなわち、画素群階調値を多値化結果値
に変換するに際しては、分類番号毎に記憶されている少なくとも１つの閾値と比較するこ
とによって、画素群階調値を多値化する。また、得られた多値化結果値と、多値化結果値
が得られた画素群についての分類番号とに基づいて、多値化結果値をドットデータに変換
する。あるいは、多値化結果値と画素群内の各画素についてのドット形成の有無とを、分
類番号毎に関連付けて対応関係に記憶しておき、かかる対応関係を参照して、多値化結果
値からドットデータを生成することとしてもよい。
【００２２】
このように画像中での位置に応じて付与された分類番号に基づいて画素群を識別してお
けば、たとえ複数の画素群に亘って同じ画素群階調値が続いた場合でも、これら画素群の
分類番号が異なることとなるため、同じ多値化結果値が複数の画素群に亘って連続するこ
とがない。このため、ドットが一定のパターンで形成されてしまい、画質が悪化するおそ
れがない。また、以降の変換についても、分類番号を用いて画素群を識別しながら変換し
ていけば、画像中での位置に応じて適切に変換することができるので、高画質な画像を出
力することが可能となる。
【００２３】
尚、画像中での位置に応じて画素群を分類するに際しては、少なくとも１００種類以上
の画素群に分類することとしても良い。
【００２４】
例えば、画素群を数種類にしか分類しないのであれば、広い領域に亘って同じ画素群階
調値が続く場合などには、多値化結果値が一定のパターンで繰り返されることが生じ、ド
ットの発生パターンに一定の規則性が表れてしまうことが起こり得る。こうしたことを回
避するためには、画素群をより多くの種類に分類しておくことが望ましいが、経験上、１
００種類以上の画素群に分類しておけば、ドットの発生に一定のパターンが現れることを
、実用上の問題が発生しない程度に抑制することが可能となる。
【００２５】
あるいは、こうした画像出力装置においては、画素群を分類する種類数と、画素群にま
とめられる画素数との乗算値が、少なくとも１０００以上となるように設定することとし
ても良い。
【００２６】
画素群に含まれる画素数が多くなれば、１つの画素群内でもドットの発生パターンは多
くのパターンを取ることができる。従って、画素群を分類する種類が十分には多くない場
合でも、画素群に含まれる画素数が多ければ、これを補って、ドットの発生パターンに一
定の規則性が表れてしまうことを抑制することができる。経験によれば、画素群を分類す
る種類数と、画素群に含まれる画素数との乗算値が１０００以上となるように選んでおけ
ば、ドットの発生に一定のパターンが現れることを抑制して、実用上の問題が発生するこ
とを回避することが可能である。
【００２７】
また、こうした画像出力装置においては、単ドットあたりに表現可能な階調値の異なる
複数種類のドットを形成可能として、画像データあるいは画素群毎に受け取った多値化結
果値を、複数種類のドットについての形成有無を表したドットデータに変換した後、得ら
れたドットデータに基づいて、各種のドットを形成することとしても良い。
【００２８】
複数種類のドットを形成可能な場合、画像データからドットデータを生成するために要
する時間が長くなる傾向にあり、あるいは、生成したドットデータを画像出力装置に供給
するための時間も長くなる傾向にある。これに対して、本願発明の画像出力装置では、形
成可能なドットの種類が増加しても、単純な処理で画像データをドットデータに変換する
ことができる。あるいは、画像のデータを、画素群毎の多値化結果値の形態で受け取れば
、ドットの種類が多い場合でも迅速にデータを受け取ることができる。結局、画素毎の階
調値が規定された画像データを受け取る場合でも、画素群毎の多値化結果値を受け取る場
合でも、ドットデータを迅速に生成して速やかに画像を出力することが可能となるので好
ましい。
【００２９】
また、画像データを受け取った場合と、画素群毎の多値化結果値を受け取った場合とで
、適切な方法で画像処理を施してドットデータを生成している点に着目すれば、本願発明
は、画像処理装置あるいは画像処理方法として把握することも可能である。すなわち、本
願発明の画像処理装置は、
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して、画像出力装置に供給する画像処理装置であって、
画素毎の階調値が規定された画像データを受け取って、該画像データを前記ドットデー
タに変換する第１のデータ変換部と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取って、該多値化結果値を前記ドットデータに変換する
第２のデータ変換部と、
前記第１のデータ変換部または前記第２のデータ変換部のいずれかによって生成された
前記ドットデータを前記画像出力装置に供給するドットデータ供給手段と
を備え、
前記第１のデータ変換部は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する多値化手段と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する多値化
結果値変換手段と
を備えた変換部であり、
前記第２のデータ変換部は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成するドットデータ生成手段を備えた変換部であることを要旨とする。
【００３０】
また、上記の画像処理装置に対応する本願発明の画像処理方法は、
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して、画像出力装置に供給する画像処理方法であって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する工程（Ａ）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する工程（Ｂ）と、
前記工程（Ａ）または前記工程（Ｂ）のいずれかによって生成された前記ドットデータ
を前記画像出力装置に供給する工程（Ｃ）と
を備え、
前記工程（Ａ）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副工程（Ａ−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副工程
（Ａ−ｂ）と
を備えた工程であり、
前記工程（Ｂ）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副工程（Ｂ−ａ）を備えた工程であることを要旨とする。
【００３１】
かかる本願発明の画像処理装置および画像処理方法においても、画素毎の階調値が規定
された画像データ、あるいは、画素群毎の多値化結果値の何れかの形態で画像のデータを
受け取ると、受け取った形態に応じて、それぞれの方法でドットデータに変換する。
【００３２】
こうすれば、画像データを受け取った場合には、使用可能な記憶容量や処理能力が限ら
れている場合でも、十分な画質と処理速度とを維持して、ドットデータを生成することが
できる。また、画素群毎の多値化結果値を受け取る場合には、たとえ解像度の高いデータ
であっても迅速にデータを受け取って、迅速にドットデータを生成することが可能となる
。
【００３３】
更に本願発明は、上述した画像出力方法あるいは画像処理方法を実現するためのプログ
ラムをコンピュータに読み込ませ、コンピュータを用いて実現することも可能である。従
って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体として
の態様も含んでいる。すなわち、上述した画像出力方法に対応する本願発明のプログラム
は、
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する方法を、コンピュータで実現するためのプログラムであって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能（１）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能（２）と、
前記機能（１）または前記機能（２）のいずれかによって生成された前記ドットデータ
に基づいてドットを形成する機能（３）と
をコンピュータを用いて実現するとともに、
前記機能（１）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能（１−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
（１−ｂ）と
を備えた機能であり、
前記機能（２）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能（２−ａ）を備えた機能であることを要旨とする。
【００３４】
また、上記のプログラムに対応する本願発明の記録媒体は、
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力するプログラムを、コンピュータで読み取り可能に記録した記録媒体であ
って、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能（１）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能（２）と、
前記機能（１）または前記機能（２）のいずれかによって生成された前記ドットデータ
に基づいてドットを形成する機能（３）と
をコンピュータを用いて実現するプログラムを記憶しているとともに、
前記機能（１）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能（１−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
（１−ｂ）と
を備えた機能であり、
前記機能（２）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能（２−ａ）を備えた機能であるプログラム。
【００３５】
更に、上述した画像処理方法に対応する本願発明のプログラムは、
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して画像出力装置に供給する方法を、コンピュータで実現
するためのプログラムであって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能（Ａ）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能（Ｂ）と、
前記機能（Ａ）または前記機能（Ｂ）のいずれかによって生成された前記ドットデータ
を前記画像出力装置に供給する機能（Ｃ）と
をコンピュータを用いて実現するとともに、
前記機能（Ａ）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能（Ａ−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
（Ａ−ｂ）と
を備えた機能であり、
前記機能（Ｂ）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能（Ｂ−ａ）を備えた機能であることを要旨とする。
【００３６】
また、上記のプログラムに対応する本願発明の記録媒体は、
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して画像出力装置に供給するプログラムを、コンピュータ
で読み取り可能に記録した記録媒体であって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能（Ａ）と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能（Ｂ）と、
前記機能（Ａ）または前記機能（Ｂ）のいずれかによって生成された前記ドットデータ
を前記画像出力装置に供給する機能（Ｃ）と
をコンピュータを用いて実現するプログラムを記憶しているとともに、
前記機能（Ａ）は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも１つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能（Ａ−ａ）と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
（Ａ−ｂ）と
を備えた機能であり、
前記機能（Ｂ）は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能（Ｂ−ａ）を備えた機能であることを要旨とする。
【００３７】
こうしたプログラム、あるいは記録媒体に記録されているプログラムをコンピュータに
読み込ませ、該コンピュータを用いて上述の各種機能を実現させれば、十分な画質を維持
したまま、ドットデータを迅速に生成し、延いては迅速に画像を出力することが可能とな
る。
【発明を実施するための最良の形態】
【００３８】
以下では、本発明の作用・効果をより明確に説明するために、本発明の実施の形態を、
次のような順序に従って説明する。
Ａ．実施例の概要：
Ｂ．装置構成：
Ｃ．画像印刷処理の概要：
Ｄ．第１のドットデータ生成処理：
Ｄ−１．処理の概要：
Ｄ−２．画素群の分類番号：
Ｄ−３．閾値テーブルの設定方法：
Ｄ−４．変換テーブルの設定方法：
Ｄ−５．順序値マトリックスの設定方法：
Ｄ−６．高画質な画像を印刷可能な理由：
Ｅ．第２のドットデータ生成処理：
Ｅ−１．処理の概要：
Ｅ−２．多値化結果値をコードデータに変換可能な理由：
Ｅ−３．コンピュータ内で多値化結果値を迅速に得る方法：
Ｆ．変形例：
【００３９】
Ａ．実施例の概要  ：
実施例の詳細な説明に入る前に、図１を参照しながら、実施例の概要について説明して
おく。図１は、本実施例の画像出力装置としてのプリンタ１０の概要を示した説明図であ
る。図示されているように、本実施例のプリンタ１０は、大きくは第１のデータ変換部と
、第２のデータ変換部と、ドット形成モジュールなどから構成されている。ドット形成モ
ジュールは、画素毎にドット形成の有無を表したドットデータを受け取って、印刷媒体上
にドットを形成することによって画像を出力する。ドットデータは、第１のデータ変換部
または第２のデータ変換部のいずれかによって生成されて、ドット形成モジュールに供給
される。
【００４０】
プリンタ１０は、デジタルカメラ２０などの撮影機器から画像データを受け取って画像
を出力することもできるし、コンピュータ３０などによって画像処理が施されたデータを
受け取って画像を出力することもできる。尚、通常のプリンタでは、コンピュータなどで
画像処理が施されたデータを受け取る場合には、ドットデータに変換されたデータを受け
取るが、本実施例のプリンタ１０では、以下に説明するように、ドットデータとは異なる
形態で受け取ることとしている。
【００４１】
デジタルカメラ２０などからの画像データは、第１のデータ変換部に供給されて、次の
ようにしてドットデータに変換される。先ず、画素群階調値決定モジュールにて、画像デ
ータは画素群階調値に変換される。ここで画素群階調値とは、複数の画素が所定個数ずつ
まとめられた画素群について、画素群を代表する階調値である。次いで、画素群毎に少な
くとも１つの閾値が記憶されている閾値テーブルを参照しながら、画素群階調値と閾値と
を比較することによって画素群階調値を多値化結果値に変換する。こうして画素群毎に得
られた多値化結果値をドットデータに変換して、ドット形成モジュールに供給する。
【００４２】
一方、コンピュータ３０などによって画像処理が施されたデータを受け取る場合には、
本実施例のプリンタ１０では、画素群毎の多値化結果値の形態で受け取る。すなわち、印
刷しようとする画像を表した画像データを、コンピュータ３０などの機能を用いて実現さ
れる多値化結果値生成モジュールによって画素群毎の多値化結果値に変換し、得られた多
値化結果値をプリンタ１０に供給するのである。コンピュータ３０の内部で生成された画
像データや、デジタルカメラ２０などの撮影機器で撮影した画像データを多値化結果値生
成モジュールに供給すれば、これらの画像データを画素群毎の多値化結果値に変換するこ
とができる。こうして生成された多値化結果値は、プリンタ１０の第２のデータ変換部に
供給される。第２のデータ変換部には、多値化結果値と、画素群内の各画素についてのド
ット形成の有無とが、画素群毎に関連付けられた変換テーブルが記憶されており、かかる
変換テーブルを参照することにより多値化結果値をドットデータに変換して、ドット形成
モジュールに供給する。
【００４３】
以上に説明したように、デジタルカメラ２０などから直接画像データを受け取った場合
には、一旦、画素群階調値に変換し、閾値テーブルを参照することによって多値化結果値
に変換した後、得られた多値化結果値からドットデータを生成する。詳細な理由は後述す
るが、こうすれば、プリンタ１０に搭載されたメモリを圧迫することなく画像データをド
ットデータに変換することができる。従って、メモリを節約するために解像度を低下させ
たり、画像処理を簡素化する必要がなく、高い画質を維持したまま画像を印刷することが
できる。一方、コンピュータ３０などで画像処理したデータを受け取ることができる場合
には、画素群毎の多値化結果値の形態で受け取り、変換テーブルを参照しながら多値化結
果値をドットデータに変換する。画素毎にドット形成の有無を表すドットデータよりも、
画素群毎の多値化結果値の方がデータ量が小さくなることから、多値化結果値の形態でデ
ータを受け取ることで、画素数の多い高解像度の画像であっても迅速にデータを受け取る
ことができる。加えて、変換テーブルを参照することで、多値化結果値をドットデータに
迅速に変換することが可能となるため、高解像度の画像であっても速やかに印刷すること
が可能となる。結局、コンピュータ３０などで画像処理が施されたデータを受け取る場合
は、高解像度の画像であっても迅速に高い画質で出力することができ、デジタルカメラ２
０などから直接画像データを受け取る場合でも十分な画質を維持したまま画像を出力する
ことが可能となる。以下では、このような実施例について詳しく説明する。
【００４４】
Ｂ．装置構成  ：
図２は、本実施例のカラープリンタ２００に画素群毎の多値化結果値を供給するコンピ
ュータ１００の構成を示す説明図である。コンピュータ１００は、ＣＰＵ１０２を中心に
、ＲＯＭ１０４やＲＡＭ１０６などを、バス１１６で互いに接続することによって構成さ
れた周知のコンピュータである。
【００４５】
コンピュータ１００には、フレキシブルディスク１２４やコンパクトディスク１２６等
のデータを読み込むためのディスクコントローラＤＤＣ１０９や、周辺機器とデータの授
受を行うための周辺機器インターフェースＰＩＦ１０８、ＣＲＴ１１４を駆動するための
ビデオインターフェースＶＩＦ１１２等が接続されている。ＰＩＦ１０８には、後述する
カラープリンタ２００や、ハードディスク１１８等が接続されている。また、デジタルカ
メラ１２０やカラースキャナ１２２等をＰＩＦ１０８に接続すれば、デジタルカメラ１２
０やカラースキャナ１２２で取り込んだ画像に対して画像処理を施すことも可能である。
また、ネットワークインターフェースカードＮＩＣ１１０を装着すれば、コンピュータ１
００を通信回線３００に接続して、通信回線に接続された記憶装置３１０に記憶されてい
るデータを取得することもできる。
【００４６】
図３は、本実施例のカラープリンタ２００の概略構成を示す説明図である。カラープリ
ンタ２００はシアン，マゼンタ，イエロ，ブラックの４色インクのドットを形成可能なイ
ンクジェットプリンタである。もちろん、これら４色のインクに加えて、染料または顔料
濃度の低いシアン（淡シアン）インクと、染料または顔料濃度の低いマゼンタ（淡マゼン
タ）インクとを含めた合計６色のインクドットを形成可能なインクジェットプリンタを用
いることもできる。尚、以下では場合によって、シアンインク，マゼンタインク，イエロ
インク，ブラックインク，淡シアンインク，淡マゼンタインクのそれぞれを、Ｃインク，
Ｍインク，Ｙインク，Ｋインク，ＬＣインク，ＬＭインクと略称することがあるものとす
る。
【００４７】
カラープリンタ２００は、図示するように、キャリッジ２４０に搭載された印字ヘッド
２４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ２４０を
キャリッジモータ２３０によってプラテン２３６の軸方向に往復動させる機構と、紙送り
モータ２３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ２４０の
移動および印刷用紙の搬送を制御する制御回路２６０などから構成されている。
【００４８】
キャリッジ２４０には、Ｋインクを収納するインクカートリッジ２４２と、Ｃインク，
Ｍインク，Ｙインクの各種インクを収納するインクカートリッジ２４３とが装着されてい
る。インクカートリッジ２４２，２４３をキャリッジ２４０に装着すると、カートリッジ
内の各インクは図示しない導入管を通じて、印字ヘッド２４１の下面に設けられた各色毎
のインク吐出用ヘッド２４４ないし２４７に供給される。
【００４９】
図４は、インク吐出用ヘッド２４４ないし２４７におけるインクジェットノズルＮｚの
配列を示す説明図である。図示するように、インク吐出用ヘッドの底面には、Ｃ，Ｍ，Ｙ
，Ｋの各色のインクを吐出する４組のノズル列が形成されており、１組のノズル列あたり
４８個のノズルＮｚが、一定のノズルピッチｋで配列されている。
【００５０】
制御回路２６０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、ＰＩＦ（周辺機器インターフェース）
等がバスで相互に接続されて構成されている。制御回路２６０は、キャリッジモータ２３
０および紙送りモータ２３５の動作を制御することによってキャリッジ２４０の主走査動
作および副走査動作の制御を行う。また、コンピュータ１００から出力された多値化結果
値のデータあるいはデジタルカメラ１２０等から出力された画像データは、一旦、制御回
路２６０に供給され、制御回路２６０内で、後述する所定の処理が施されてドットデータ
に変換される。そして、キャリッジ２４０の主走査および副走査に動きに合わせて、ドッ
トデータに従ってインク吐出用ヘッド２４４ないし２４７を駆動することにより、各ノズ
ルからインク滴を吐出する。こうして、制御回路２６０の制御の下、印刷媒体上の適切な
位置に各色のインクドットを形成することによって、カラープリンタ２００はカラー画像
を印刷することが可能となっている。
【００５１】
また、本実施例のカラープリンタ２００は、吐出するインク滴の大きさを制御すること
により、インクドットの大きさを制御することが可能である。以下、カラープリンタ２０
０が大きさの異なるインクドットを形成する方法について説明するが、その準備として、
先ず、各色インクを吐出するノズルの内部構造について説明する。
【００５２】
図５（ａ）は、インクを吐出するノズルの内部構造を示した説明図である。各色のイン
ク吐出用ヘッド２４４ないし２４７には、このようなノズルが複数設けられている。図示
するように、各ノズルにはインク通路２５５と、インク室２５６と、インク室の上にピエ
ゾ素子ＰＥとが設けられている。キャリッジ２４０にインクカートリッジ２４２，２４３
を装着すると、カートリッジ内のインクがインクギャラリ２５７を経由してインク室２５
６に供給される。ピエゾ素子ＰＥは、周知のように電圧を印加すると結晶構造が歪んで極
めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子ＰＥ
の両端に設けられた電極間に所定波形の電圧を印加することで、インク室２５６の側壁を
変形させる。その結果、インク室２５６の容積が減少し、容積の減少分に相当するインク
がインク滴ＩｐとなってノズルＮｚから吐出される。このインク滴Ｉｐがプラテン２３６
に装着された印刷用紙Ｐに染み込むことで、印刷用紙上にインクドットが形成される。
【００５３】
図５（ｂ）は、ピエゾ素子ＰＥに印加する電圧波形を制御することで、吐出するインク
滴の大きさを変更する原理を示した説明図である。ノズルからインク滴Ｉｐを吐出するた
めには、ピエゾ素子ＰＥに府の電圧を印加してインクギャラリ２５７からインク室２５６
内に一旦インクを吸入し、その後、ピエゾ素子ＰＥに正電圧を印加してインク室容積を減
少させて、インク滴Ｉｐを吐出させる。ここで、インクの吸引速度が適切であればインク
室容積の変化量に相当するインクが吸入されるが、吸引速度が速すぎると、インクギャラ
リ２５７とインク室２５６との間には通路抵抗があるためにインクギャラリ２５７からの
インクの流入が間に合わなくなる。その結果、インク通路２５５のインクがインク室内に
逆流して、ノズル付近のインク界面が大きく後退した状態となる。図５（ｂ）に実践で示
した電圧波形ａは、適正な速度でインクを吸引する波形を示し、破線で示した電圧波形ｂ
は適切速度より大きな速度で吸引する波形の一例を示している。
【００５４】
十分なインクがインク室２５６内に供給された状態で、ピエゾ素子ＰＥに正電圧を印加
すると、インク室２５６の容積減少に相当する体積のインク滴ＩｐがノズルＮｚから吐出
される。これに対して、インクの供給量が不足してインク界面が大きく後退した状態で正
電圧を印加すると、吐出されるインク滴は小さなインク滴となる。このように、本実施例
のプリンタ２００では、インク滴の吐出前に印加する府の電圧波形を制御してインクの吸
引速度を変更することで、吐出するインク滴の大きさを制御し、大ドット、中ドット、小
ドットの３種類のインクドットを形成することが可能となっている。
【００５５】
もちろん、３種類に限らず、より多種類のドットを形成することも可能である。更には
、微細なインク滴を一度に複数吐出して、吐出するインク滴の数を制御するといった方法
を用いて、印刷用紙上に形成されるインクドットの大きさを制御してもよい。このように
してインクドットの大きさを制御すれば、印刷しようとする画像の領域に応じて異なる大
きさのインクドットを使い分けてやることで、より高画質の画像を印刷することも可能と
なる。
【００５６】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用する
ことができる。すなわち、ピエゾ素子を用いてインク滴を吐出する方式や、インク通路に
配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法など
を用いることができる。また、インク滴を吐出する代わりに、熱転写などの現象を利用し
て印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷
媒体上に付着させる方式のプリンタを使用することも可能である。
【００５７】
以上のようなハードウェア構成を有するカラープリンタ２００は、キャリッジモータ２
３０を駆動することによって、各色のインク吐出用ヘッド２４４ないし２４７を印刷用紙
Ｐに対して主走査方向に移動させ、また紙送りモータ２３５を駆動することによって、印
刷用紙Ｐを副走査方向に移動させる。制御回路２６０は、キャリッジ２４０の主走査およ
び副走査の動きに同期させながら、適切なタイミングでノズルを駆動してインク滴を吐出
し、これによってカラープリンタ２００は印刷用紙上にカラー画像を印刷することができ
る。
【００５８】
以上に説明したように、本実施例のカラープリンタ２００は、デジタルカメラ１２０な
どから画像データを受け取って直ちに画像を印刷することもできるし、コンピュータ１０
０などで画像処理が施されたデータを受け取って画像を印刷することも可能となっている
。ここで、上述したように、カラープリンタ２００の制御回路２６０内にはＣＰＵ，ＲＡ
Ｍ，ＲＯＭなどが搭載されていることから、コンピュータ１００が行う処理をカラープリ
ンタ２００内で実施することも原理的には可能である。しかし、カラープリンタ２００の
処理能力はコンピュータ１００のようには高くはなく、使用可能なメモリ量にも制限があ
ることから、コンピュータ１００内で行う画像処理をそのまま実行することは、実際には
困難である。そこで、本実施例のカラープリンタ２００では、印刷しようとする画像のデ
ータをコンピュータ１００から受け取る場合と、デジタルカメラ１２０などから受け取る
場合とで、次のように画像処理方法を切り換えることで、適切に画像を印刷することを可
能としている。以下、本実施例のカラープリンタ２００において、画像を印刷する処理に
ついて説明する。
【００５９】
Ｃ．画像印刷処理の概要  ：
図６は、本実施例のカラープリンタ２００が画像を印刷するために行う画像印刷処理の
流れを示すフローチャートである。かかる処理は、コンピュータ１００などの画像処理装
置、あるいはデジタルカメラ１２０などの撮影機器から、印刷しようとする画像について
のデータを受け取ると、カラープリンタ２００の制御回路２６０に内蔵されたＣＰＵの機
能によって実行される処理である。尚、以下では、コンピュータ１００を画像処理装置の
代表例とし、デジタルカメラ１２０を撮影機器など画像データを画像処理を行わずに出力
する機器の代表例として説明する。すなわち、以下の説明における「コンピュータ１００
」との記載は、コンピュータに代表される各種の画像処理装置を指しているものとし、ま
た、「デジタルカメラ１２０」との記載は、デジタルカメラに代表される各種の撮影機器
など、画像データをそのまま出力する機器を指しているものとする。また、以下では、カ
ラープリンタ２００は、コンピュータ１００やデジタルカメラ１２０からデータを直接受
け取るものとして説明するが、もちろん、記録媒体を介してデータを受け取ることとして
も良い。
【００６０】
画像印刷処理を開始すると、制御回路２６０のＣＰＵは先ず初めに、コンピュータ１０
０あるいはデジタルカメラ１２０から画像のデータの読み込みを行う（ステップＳ１００
）。本実施例のカラープリンタ２００は、デジタルカメラ１２０からは画素毎の階調値が
規定されたデータの形態で画像のデータを受け取り、コンピュータ１００からは画素群毎
の多値化結果値の形態で画像のデータを受け取る。
【００６１】
次いで、受け取った画像のデータが、画素群毎の多値化結果値か否かを判断する（ステ
ップＳ１０２）。かかる判断は、例えばデータのヘッダに、多値化結果値のデータか画素
毎の階調値のデータかを示す情報を設定しておき、ヘッダを解析することによって判断す
ることができる。そして、画素群毎の多値化結果値のデータではないと判断された場合は
（ステップＳ１０２：ｎｏ）、画素毎の階調値を規定した画像データであると判断して、
第１のドットデータ生成処理を行う（ステップＳ１０４）。第１のドットデータ生成処理
では、後述するようにして、画像データをドットデータに変換する。一方、画素群毎の多
値化結果値のデータであると判断された場合は（ステップＳ１０２：ｙｅｓ）、第２のド
ットデータ生成処理を行う（ステップＳ１０６）。第２のドットデータ生成処理では、後
述する方法によって、画素群毎の多値化結果値をドットデータに速やかに変換することが
できる。
【００６２】
こうして、受け取った画像のデータに対して、第１のドットデータ生成処理あるいは第
２のドットデータ生成処理のいずれかの処理が施され、得られたドットデータに基づいて
ドットを形成する（ステップＳ１０８）。すなわち、キャリッジ２４０の主走査および副
走査の動きに合わせて、ドットデータに従ってインク滴を吐出することで、印刷用紙上の
適切な位置に適切な大きさのインクドットを形成する。以上のようにして、ドットデータ
に従って全てのドットが形成されたら、画像が印刷されたことになるので、図６に示す画
像印刷処理を終了する。
【００６３】
このように、本実施例のカラープリンタ２００では、印刷しようとする画像のデータを
、画素毎に階調値が規定された画像データの形態で受け取った場合には（ステップＳ１０
２：ｎｏ）、第１のドットデータ生成処理を行うことにより以下の方法でドットデータを
生成し、画像のデータを画素群毎の多値化結果値の形態で受け取った場合には（ステップ
Ｓ１０２：ｙｅｓ）、第２のドットデータ生成処理を行って以下の方法によりドットデー
タを生成する。このため、デジタルカメラ１２０から受け取った画像データを、高い画質
を維持したまま印刷することができる。また、コンピュータ１００から高解像度の画像の
データを受け取った場合には、高画質の画像を迅速に印刷することが可能である。以下で
は、先ず初めに第１のドットデータ生成処理の概要について説明し、次いで、かかる処理
を行うことで、デジタルカメラ１２０から受け取った画像データを、高い画質を維持した
まま印刷可能な理由について説明する。第２のドットデータ生成処理についても同様に、
初めに処理の概要について説明し、次いで、こうした処理を行うことで、高解像度の画像
を迅速に高い画質で印刷することができる理由について説明する。
【００６４】
Ｄ．第１のドットデータ生成処理  ：
Ｄ−１．処理の概要  ：
図７は、第１のドットデータ生成処理の流れを示すフローチャートである。かかる処理
は、図６に示した画像印刷処理中で、デジタルカメラ１２０から画像データを受け取ると
、カラープリンタ２００の制御回路２６０に搭載されたＣＰＵによって実行される処理で
ある。
【００６５】
第１のドットデータ生成処理を開始すると、先ず初めに、解像度変換処理を行う（ステ
ップＳ２００）。解像度変換処理とは、デジタルカメラ１２０から供給された画像データ
の解像度を、カラープリンタ２００が画像を印刷する解像度（印刷解像度）に変換する処
理である。画像データの解像度が印刷解像度よりも低い場合は、補間演算を行って画素間
に新たな画像データを生成し、逆に画像データの解像度が印刷解像度よりも高い場合には
、一定の割合でデータを間引くことによって、画像データの解像度を印刷解像度に一致さ
せる処理を行う。
【００６６】
次いで、カラープリンタ２００に搭載されたＣＰＵは、色変換処理を行う（ステップＳ
２０２）。色変換処理とは、デジタルカメラ１２０から受け取った画像データの表色系を
、カラープリンタ２００で採用されている表色系に変換する処理である。すなわち、デジ
タルカメラ１２０では、通常、Ｒ，Ｇ，Ｂの階調値の組合せによって色彩を表現するＲＧ
Ｂ表色系が採用されており、デジタルカメラ１２０から受け取った画像データは、ＲＧＢ
カラー画像データとなっている。一方、カラープリンタ２００は、前述したようにＣ，Ｍ
，Ｙ，Ｋの４色のインクを用いて色彩を表現するＣＭＹ表色系が採用されている。そこで
、色変換処理を行って、デジタルカメラ１２０から受け取ったＲＧＢカラー画像データを
、Ｃ，Ｍ，Ｙ，Ｋの各色の階調値によって表現されたデータに変換するのである。色変換
処理は、色変換テーブル（ＬＵＴ）と呼ばれる３次元の数表を参照することで行う。ＬＵ
Ｔには、ＲＧＢカラー画像データに対して、色変換によって得られるＣ，Ｍ，Ｙ，Ｋ各色
の階調値が予め記憶されている。ステップＳ２０２の処理では、このＬＵＴを参照するこ
とにより、ＲＧＢカラー画像データをＣ，Ｍ，Ｙ，Ｋ各色の画像データに迅速に色変換す
ることが可能となっている。
【００６７】
以上のようにして色変換処理を行うことにより、ＲＧＢ各色の画像データが、Ｃ，Ｍ，
Ｙ，Ｋ各色の画像データに変換されたら、今度は、各色毎の画像データをドットデータに
変換する。尚、かかる処理はＣ，Ｍ，Ｙ，Ｋの各色について同様に行われることから、説
明が煩雑となることを避けるために、以下では色を特定せずに説明した場合は、Ｃ，Ｍ，
Ｙ，Ｋの各色について同様な処理が行われることを意味するものとする。
【００６８】
画像データをドットデータに変換するに際しては、先ず初めに、互いに隣接する所定個
数の画素をまとめて画素群を生成する（ステップＳ２０４）。ここでは、主走査方向に４
画素分、副走査方向に２画素分の合計８つの画素を画素群にまとめるものとする。尚、画
素群としてまとめる画素は、このように矩形状に縦横の位置が揃った画素である必要はな
く、互いに隣接し且つ所定の位置関係にあればどのような画素を画素群としてまとめても
良い。
【００６９】
次いで、画素群階調値と、画素群の分類番号とを決定する（ステップＳ２０６）。画素
群階調値とは、画素群を代表する階調値であり、次のようにして簡単に求めることができ
る。例えば、画素群内の各画素に割り当てられた画像データの平均値を求めて画素群階調
値とすることができる。あるいは、画素群の中で最も多くの画素に割り当てられた画像デ
ータ、更には、画素群内で特定の位置にある画素の画像データを画素群階調値とすること
も可能である。
【００７０】
また、画素群の分類番号とは、簡単に言えば、画素群内の各画素についてのドット形成
の有無をディザマトリックスを用いて判断するときに、ディザマトリックス中のどの部分
が画素群に適用されるかを表す番号である。画素群の分類番号は、次のようにして極めて
簡便に決定することができる。図８は、画素群の分類番号を決定する方法を示した説明図
である。図８（ａ）は、画像中で８つの画素をまとめて生成された１つの画素群を表して
いる。以下では、この画素群についての分類番号を決定する方法について説明する。尚、
図８（ａ）に示すような、分類番号を決定するために着目している画素群を、着目画素群
と呼ぶことにする。
【００７１】
今、画像の一番左上隅を原点に取って、原点からの主走査方向および副走査方向への画
素数によって画素位置を表すものとする。また、画素群の位置は、画素群の左上隅にある
画素の画素位置によって表すものとする。図８（ａ）では、着目画素群の位置を示す画素
に黒丸を付して表示している。この画素の画素位置が（Ｘ，Ｙ）であったとする。着目画
素群の分類番号は、Ｘ，Ｙを２進数表示して、所定のビットに記憶されているデータを読
み出すだけで、極めて容易に決定することができる。例えば、図８（ｂ）に示すように、
着目画素群の位置を表すＸ，Ｙがそれぞれ１０ビットデータであったとする。そして、Ｘ
の最上位の４ビット目から８ビット目までのデータを読み出して得られた値をＮとし、Ｙ
の最上位の４ビット目から８ビット目までのデータを読み出して得られた値をＭとする。
すると、本実施例の場合は、
Ｎ＋（Ｍ−１）×３２  …（１）
を算出することによって、画素群の分類番号を簡単に決定することができる。画素群の分
類番号の意味する内容、および、このようにして画素群の分類番号を決定することができ
る理由については、後ほど詳しく説明する。
【００７２】
こうして、画素群の分類番号と画素群階調値とを決定したら、以下に説明する閾値テー
ブルを参照することにより、画素群階調値を多値化する（ステップＳ２０８）。図９は、
画素群階調値を多値化する際に参照される閾値テーブルを示した説明図である。図示され
ているように閾値テーブルには、分類番号毎に、少なくとも１個以上の閾値の組が設定さ
れている。この閾値は、画素群階調値を階調値０から階調値２５５まで増加させたときに
、多値化結果値が切り換わる画素群階調値を表している。
【００７３】
一例として、分類番号１番の画素群について説明する。分類番号１番については、閾値
「２」から閾値「２４３」までの複数個の閾値からなる閾値の組が設定されている。この
中で最も小さな閾値は「２」であるから、この値に満たない画素群階調値、すなわち画素
群階調値「０」または「１」については、多値化結果値「０」に多値化される。また、閾
値の組の中で２番目に小さな閾値は「１５」であるから、画素群階調値が「２」以上で「
１５」未満の値であれば多値化結果値「１」に多値化される。同様に、画素群階調値「１
５」以上「１８」未満であれば多値化結果値「２」に多値化され、画素群階調値「１８」
以上「２４」未満であれば多値化結果値「３」に多値化される。このように、画素群の画
素群階調値を、閾値テーブルに設定されている閾値の組と比較して、画素群階調値よりも
小さな閾値の個数を求めることにより、画素群階調値を多値化結果値に変換することがで
きる。
【００７４】
図９に示されているように、閾値テーブルに設定されている閾値の組は、分類番号毎に
閾値の値や閾値の個数が異なっている。このため、たとえ画素群階調値が同じ値であって
も、画素群の分類番号によって異なる値に多値化されることになる。
【００７５】
図１０は、画素群の分類番号に応じて、画素群階調値が異なる多値化結果値に変換され
る様子を概念的に示した説明図である。図１０では、横軸に画素群階調値を取り、縦軸の
多値化結果値を取った折れ線グラフを用いて、画素群階調値に対する多値化結果値を表示
している。尚、図中では、異なる分類番号Ｎ１〜Ｎ５を有する５つの画素群についての多
値化結果を示しているが、これら画素群の折れ線が重なって判別し難くなることを避ける
ために、多値化結果値の原点位置を縦軸方向に少しずつ、ずらして表示している。
【００７６】
一例として、図中に太い実線で示した分類番号Ｎ１番の画素群について説明すると、画
素群階調値が０〜４の範囲では、多値化結果値は「０」であるが、画素群階調値が５〜２
０の範囲では多値化結果値は「１」に増加する。次いで、画素群階調値が２１〜４２の範
囲では多値化結果値は「２」に増加し、画素群階調値が４３〜６９の範囲では多値化結果
値は「３」に増加する。このように、画素群階調値が増加するに従って、多値化結果値も
段階的に増加していき、最終的には、多値化結果値は「１５」まで増加する。すなわち、
分類番号Ｎ１番の画素群については、階調値０〜２５５の範囲を取り得る画素群階調値を
、階調値０〜１５までの１６段階に多値化（言わば、１６値化）していることになる。
【００７７】
同様に、図中で太い破線で示した分類番号Ｎ２番の画素群や、太い一点鎖線で示した分
類番号Ｎ３番の画素群については、階調値０〜２５５の範囲を取り得る画素群階調値を、
階調値０〜１７までの１８段階に多値化（言わば、１８値化）している。更に、細い実線
で示した分類番号Ｎ４番の画素群および細い一点鎖線で示した分類番号Ｎ５番の画素群に
ついては、画素群階調値を階調値０〜２０までの２１段階に多値化（言わば、２１値化）
していることになる。このように、図７に示す第１のドットデータ生成処理においては、
画素群毎の多値化の段数（多値化結果値の取り得る状態数）が同じではなく、画素群の分
類番号に応じて固有の段数で多値化されている。この結果、同じ画素群階調値を多値化し
た場合でも、画素群の分類番号が異なり、そのため多値化の段数が異なっていれば、異な
る結果値に多値化されることになる。
【００７８】
また、多値化段数が同じであったとしても、同じ画素群階調値が同じ多値化結果値に変
換されるわけではない。例えば、図１０に示した分類番号Ｎ２の画素群と、分類番号Ｎ３
の画素群とを比較すれば明らかなように、これら画素群についての多値化段数はいずれも
１８段であるが、多値化結果値が切り換わる画素群階調値は多くの場合、一致していない
。これは、分類番号Ｎ２と分類番号Ｎ３とで、図９に示した閾値テーブルに設定されてい
る閾値の組に異なった閾値が設定されていることによる。分類番号Ｎ４の画素群と分類番
号Ｎ５の画素群とについても同様に、これら画素群の多値化段数はいずれも２１段である
が、多値化結果値が切り換わる画素群階調値は一致していないことが多い。このことから
、例え画素群の多値化段数が同じでも、分類番号が異なれば、異なる多値化結果値が得ら
れることになる。
【００７９】
以上に説明したように、図９に示した閾値テーブルには、画素群の分類番号毎に固有の
閾値の組が設定されている。図７に示した第１のドットデータ生成処理のステップＳ２０
８では、画素群毎に決定しておいた画素群階調値および分類番号から、図９に示した閾値
テーブルを参照することにより、画素群の画素群階調値を多値化結果値に変換する処理を
行う。尚、図９に示す閾値テーブルの設定方法については、後ほど詳しく説明する。
【００８０】
次いで、画素群毎に得られた多値化結果値を個数データに変換する（図７のステップＳ
２１０）。個数データとは、画素群に形成されるドット個数を表すデータである。前述し
たように、カラープリンタ２００は、大ドット、中ドット、小ドットの３種類のドットを
形成可能であるから、個数データは、これら各種ドットが画素群内に形成される個数を示
すデータとなる。多値化結果値から個数データへの変換は、予め設定しておいた変換テー
ブルを参照することにより、極めて迅速に行うことができる。
【００８１】
図１１は、画素群の多値化結果値を個数データに変換する際に参照される変換テーブル
を概念的に示した説明図である。図示されているように、図示されているように、変換テ
ーブルには、多値化結果値に対応する個数データが、分類番号毎に設定されている。一例
として、分類番号１番の画素群について説明すると、多値化結果値０に対しては、個数デ
ータ「０」が設定されている。個数データ「０」は、大ドット、中ドット、小ドットの形
成個数がいずれも０個であることを表したデータである。また、多値化結果値１に対して
は個数データ「１」が設定されている。個数データ「１」は、大ドット、中ドットの形成
個数は０個であり、小ドットの形成個数が１個であることを表すデータである。更に、多
値化結果値１５に対しては個数データ「１６４」が設定されている。個数データ「１６４
」は、大ドットを８個形成し、中ドットおよび小ドットは形成しないことを表すデータで
ある。尚、分類番号１番の画素群については、「１６」より大きな多値化結果値に対して
は個数データが設定されていない。これは、分類番号１番の画素群は多値化段数が１６段
であり、多値化結果値は０〜１５の値しか取り得ないことに対応するものである。従って
、分類番号２番の画素群のように多値化段数が１８段の画素群については、０〜１７の多
値化結果値に対してのみ個数データが設定され、「１８」より大きな多値化結果値に対し
ては、個数データが設定されることはない。尚、図１２には、個数データと、その個数デ
ータが表す大ドット・中ドット・小ドットの個数の組合せとの対応関係が示されている。
また、図１１に示すような変換テーブルを設定する方法については、別図を用いて後ほど
詳しく説明する。
【００８２】
このように、変換テーブルには、画素群内に形成される各種ドットの個数を示すデータ
が、画素群の分類番号と画素群階調値との組合せ毎に設定されている。従って、変換テー
ブルを参照すれば、画素群の多値化結果値を速やかに個数データに変換することができる
。図７に示した第１のドットデータ生成処理のステップＳ２１０では、このようにして画
素群毎の多値化結果値を個数データに変換する。
【００８３】
尚、個数データは、画素群内に形成されるドットの個数を、何らかの方法で特定するこ
とができれば、どのような形態のデータとすることもできる。例えば、画素群内に形成さ
れる大ドットの個数をＫ個、中ドットの個数をＬ個、小ドットの個数をＭ個として、「Ｋ
ＬＭ」という数値の並びを個数データとして用いることも可能である。もっとも、このよ
うな方法ではなく、上述したように、０〜１６４までの数値と、各種ドットについての形
成個数の組合せとを対応付けておき、この数値によって各種ドットの形成個数を表した方
が、個数データのデータ量を小さくすることが可能となる。以下、この点について説明す
る。
【００８４】
先ず、ここでは１つの画素群には８つの画素が含まれているとしているから、大ドット
の形成個数（Ｋ個）、中ドットの形成個数（Ｌ個）、小ドットの形成個数（Ｍ個）は、そ
れぞれ０〜８個の値を取り得る。従って、各種ドットの個数をそのまま並べて、ＫＬＭと
表現しようとすると、大ドットの個数、中ドットの個数、小ドットの個数を表すためにそ
れぞれ４ビットずつ必要であり、結局、画素群１つあたりの個数データは、１２ビットの
データとなる。
【００８５】
一方、１つの画素群は８つの画素から構成されているから、画素群に形成され得るドッ
ト個数の合計は、最大でも８個である。例えば、大ドットが４個、中ドットが３個、小ド
ットが２個といったドット個数の組合せは、ドット個数の合計が９個となって８個を越え
てしまうので現実には発生し得ない。こうした点に着目すれば、現実に発生し得るドット
個数の組合せは、それほど多くの種類はないと考えられる。実際に算出すれば、次のよう
になる。画素群には８つの画素が含まれており、各画素についてみれば「大ドットを形成
する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」の
４つの状態を取り得る。従って、画素群に形成し得るドット個数の組合せは、これら４つ
の状態を、重複を許して８回選択した時の組合せの数に等しくなるから、
４Ｈ８（＝４＋８−１Ｃ８）
によって求められ、結局、最大でも１６５通りの組合せしか出現しないことになる。ここ
で、ｎＨｒは、ｎ個の物の中から重複を許してｒ回選択するときの重複組合せ数を求める
演算子である。また、ｎＣｒは、ｎ個の物の中から重複を許さずにｒ回選択するときの組
合せ数を求める演算子である。１６５通りの組合せであれば、８ビットあれば表現するこ
とができる。従って、現実に発生し得るドット個数の組合せにコード番号を設定しておけ
ば、画素群に形成すべきドット個数の組合せを８ビットのデータで表すことができる。結
局、各種ドットの形成個数を、図１２に示すような対応関係によって表してやれば、ドッ
トの種類毎に形成個数を並べて表すよりも、個数データのデータ量を低減することが可能
となり、延いては分類番号と多値化結果値との組合せ毎に個数データが設定された変換テ
ーブルのデータ量を減少させることが可能となるのである。
【００８６】
以上のようにして、画素群の多値化結果値を個数データに変換したら（図７のステップ
Ｓ２１０）、個数データを一旦、中間データに変換する（ステップＳ２１２）。すなわち
、画素群毎に得られた個数データをドットデータに変換する準備として、個数データを、
より変換の容易なデータ形式に変更しておく処理を行うのである。
【００８７】
個数データから中間データへの変換は、予め設定しておいた対応表を参照することで速
やかに実行することができる。図１３は、個数データと中間データとを対応付けた対応表
を示す説明図である。図示されているように変換表には、それぞれの個数データに、対応
する中間データが設定されており、それぞれの中間データは１６ビット長のデータとなっ
ている。ここで、中間データのデータ長が１６ビットとなっているのは、画素群内に含ま
れる画素数が８個であり、また、形成可能なドットの種類は大中小の３種類であるから画
素毎に２ビットあればドット形成の有無を表現可能であることによる。すなわち、中間デ
ータは、２ビットずつを１組として、画素数に相当する８組のデータを用いて、ドットの
形成有無を画素毎に表したデータとなっている。図１３を参照しながら具体的に説明する
。
【００８８】
例えば、個数データ「１」は、大ドット０個、中ドット０個、小ドット１個の組合せを
示している。尚、参考として、図１３の右側には、それぞれの個数データが示すドット個
数の組合せが示されている。今、小ドットを表す２ビットデータを「０１」とすれば、個
数データ「１」に対応する１６ビットデータは、「０１」が１組だけ含まれており、他の
７組の２ビットデータは「００」であるようなデータとなる。尚、２ビットデータ「００
」はドットを形成しないことを表すデータである。
【００８９】
同様に、個数データ「１６３」は、大ドット７個、中ドット１個、小ドット０個の組合
せを示している。今、大ドットを表す２ビットデータを「１１」として、中ドットを表す
２ビットデータを「１０」とすれば、個数データ「１６３」に対応する１６ビットデータ
は、「１１」の２ビットデータが７組含まれており、「１０」の２ビットデータが１組含
まれたデータとなる。
【００９０】
尚、これら２ビットデータは、大ドット、中ドット、小ドットの順番で、右詰めで設定
されている。例えば、ドット個数の組合せが、大ドット１個、中ドット２個、小ドット３
個であったとすると、８組の２ビットデータの中で、大ドットを表す２ビットデータ「１
１」は右端に１組だけ設定され、その左隣に続けて、中ドットを表す２ビットデータ「１
０」が２組設定され、更にその左隣に続けて、小ドットを表す２ビットデータ「０１」が
３組設定され、残った２組には、ドットを形成しないことを表す２ビットデータ「００」
が設定されることになる。もっとも、これら２ビットデータを左詰めで設定することとし
ても良い。すなわち、大ドット、中ドット、小ドットの順番で左から順番に設定しても良
い。
【００９１】
図７に示した第１のドットデータ生成処理のステップＳ２１２では、図１３に示す変換
表を参照することにより、画素群毎に得られた個数データを中間データに変換する処理を
行う。画素群に形成される各種ドットの個数をこのような形式で表現しておけば、後述す
るように画素との対応が取り易くなるため、ドット形成有無を簡便に決定することが可能
となる。
【００９２】
尚、本実施例では、図１１に示した変換テーブルを参照することにより、画素群毎に得
られた多値化結果値を個数データに一旦変換した後、個数データを中間データに変換して
いる。しかし、図１３に示すように、個数データと中間データとは一対一で対応する関係
にあり、個数データが決まれば直ちに中間データを決定することができることから、図１
１に示す変換テーブルで、個数データの代わりに中間データを設定しておき、変換テーブ
ルを参照することで直ちに多値化結果値から中間データを求めることとしても良い。こう
すれば、個数データを中間データに変換する手間が省けるので、迅速にドットデータを生
成することができる。もっとも、中間データは個数データよりもデータ長が長いので、変
換テーブルに個数データの代わりに中間データを設定すると、変換テーブルを記憶してお
くためのデータ量が増加してしまう。すなわち、本実施例では、個数データは１バイトの
データ長であるのに対し、中間データは２バイトのデータであるから、個数データを設定
した変換テーブルは、中間データを設定した変換テーブルの半分のメモリ容量で記憶して
おくことが可能となる。
【００９３】
以上のようにして中間データを取得したら、画素群に対応する順序値マトリックスを読
み込んで、画素群内の各画素についてのドット形成有無を決定する処理を行う（ステップ
Ｓ２１４）。ここで、順序値マトリックスとは、画素群内の各画素について、ドットが形
成される順番を設定したマトリックスである。
【００９４】
図１４は、順序値マトリックスを例示した説明図である。図示されているように、順序
値マトリックスも画素群の分類番号毎に異なるマトリックスが設定されている。一例とし
て、図１４（ａ）に示した分類番号１番の順序値マトリックスについて説明する。分類番
号１番の画素群は、画素群を構成する８つの画素の中で、左上隅にある画素が最もドット
の形成され易い画素として設定されている。順序値マトリックスの左上隅の画素に数値「
１」が設定されているのは、この画素が１番目にドットが形成される画素であることを表
したものである。尚、順序値マトリックスに設定されているこのような順番を表す数値を
、順序値と呼ぶものとする。また、画素群の右下隅の画素に順序値「２」が設定されてい
るのは、この画素が画素群中で２番目にドットが形成され易い（従って、この画素群内で
は２番目にドットが形成される）ことを表している。このように、順序値マトリックスに
は、画素群に含まれる８つの画素について、ドットが形成される順番を示す順序値が設定
されている。
【００９５】
こうした順序値マトリックスは、画素群の分類番号によって異なったマトリックスとな
っている。例えば、図１４（ｂ）に示した分類番号２番の順序値マトリックスでは、１番
目にドットが形成される画素（順序値「１」の画素）は、下段の左から２番目の画素であ
り、２番目にドットが形成される画素（順序値「２」の画素）は、右下隅の画素である。
図１４（ｃ）に示した分類番号３番の順序値マトリックスでは、１番目にドットが形成さ
れる画素（順序値「１」の画素）は、上段の右から２番目の画素であり、２番目にドット
が形成される画素（順序値「２」の画素）は、左下隅の画素である。尚、画素群の分類番
号毎に順序値マトリックスを設定する方法については、別図を用いて詳しく説明する。
【００９６】
カラープリンタ２００の制御回路２６０に搭載されたＲＯＭには、図１４に例示したよ
うな順序値マトリックスが画素群の分類番号毎に予め記憶されている。そして、画素群の
中間データから各画素についてのドット形成有無を決定するに際しては、画素群の分類番
号に対応する順序値マトリックスを読み出して、次のような処理を行う。
【００９７】
図１５は、中間データの中から順序値に対応する箇所のデータを読み出すことにより、
ドット形成の有無を決定している様子を示した説明図である。図１５（ａ）は、ある画素
群についての個数データを変換して得られた中間データを例示したものである。前述した
ように中間データは、１６ビット長のデータであり、２ビットずつ８組のデータから構成
されている。また、図１５（ａ）に示した中間データには、大ドットを表す２ビットデー
タ「１１」が１組、中ドットを表す２ビットデータ「１０」が２組、小ドットを表す２ビ
ットデータ「０１」が３組、ドットを形成しないことを表す２ビットデータ「００」が２
組含まれており、これら２ビットデータが、大ドット、中ドット、小ドットの順序で右詰
めに設定されている。
【００９８】
今、画素群の分類番号が１番であったとする。分類番号１番の順序値マトリックスは、
図１４（ａ）に示されている。この画素群の中からドット形成有無を決定しようとする画
素を１つ選択する。ここでは、画素群の左上隅の画素を選択したものとする。順序値マト
リックスによれば、この画素の順序値は「１」である。そこで、図１５（ａ）に示す中間
データの中で、一番右端に設定されている２ビットのデータを読み出すことにより、この
画素に形成すべきドットの種類を決定することができる。図１５（ａ）に示した例では、
一番右端に設定されている２ビットのデータは「１１」であるから、この画素には大ドッ
トが形成されることになる。
【００９９】
次に、その右隣の画素（上段の左から２番目の画素）については、図１４（ａ）の順序
値マトリックスには順序値「６」が設定されているから、図１５（ａ）の中間データの中
で、右から６組目に設定されている２ビットデータを読み出せば、順序値６の画素に形成
すべきドットの種類を決定することができる。図１５（ｂ）には、中間データの右端から
６組目にある２ビットデータを読み出している様子が、概念的に示されている。図示した
例では、読み出した２ビットデータは「０１」であるから、この画素には小ドットが形成
されることになる。
【０１００】
尚、以上では、中間データの中で２ビットデータを読み出す箇所を順序値に応じて変更
するものとして説明した。しかし、中間データの中で読み出す箇所を変えるのではなく、
データを読み出す箇所は固定しておき、中間データを順序値に相当する組数だけシフトさ
せることとしても良い。この様にしても、ドット形成の有無を決定することができる。図
１５（ｃ）は、中間データをシフトさせることによって、ドット形成有無を決定している
様子を概念的に示した説明図である。図示した例では、中間データの右端にある２ビット
データを読み出すこととして、中間データを画素の順序値に応じた組数（具体的には順序
値から１だけ少ない組数）だけ右方向にシフトさせている。図１５（ｂ）と図１５（ｃ）
とを比較すれば明らかなように、どちらの操作を行った場合でも、結局は、中間データの
中の同じ箇所に設定されている２ビットデータを読み出していることになる。データを所
定のビット数だけシフトさせる処理は、比較的高速に実施可能であることから、この様に
して中間データをシフトさせれば、順序値に応じた箇所の２ビットデータを迅速に読み出
して、着目している画素についてのドット形成の有無を迅速に決定することができる。
【０１０１】
図１６は、図１４に示したそれぞれの順序値マトリックスに、図１５（ａ）の中間デー
タを適用して、画素群内の各画素についてドットの形成有無を決定した様子を示した説明
図である。上述したように、画素群内の各画素についてドットが形成されるか否かは、画
素群について得られた中間データと、画素群の分類番号に対応付けて記憶されている順序
値マトリックスとによって決定されるから、たとえ中間データが同じ値であったとしても
、画素群の分類番号が異なれば、その画素群内に形成されるドットの配置は異なった配置
が得られることになる。
【０１０２】
以上に説明したように、個数データを変換した中間データと順序値マトリックスとを参
照すれば、画素群内の各画素について何れのドットが形成されるか、あるいは何れのドッ
トも形成されないかを、簡単な操作によって決定することができる。図７に示した第１の
ドットデータ生成処理のステップＳ２１４では、このようにして、画素群内の各画素につ
いてドット形成の有無を決定する処理を行う。
【０１０３】
こうして画素群内の全ての画素についてドット形成の有無を決定したら、上述した一連
の処理を全ての画素について行ったか否かを判断する（ステップＳ２１６）。そして、未
処理の画素が残っている場合は（ステップＳ２１６：ｎｏ）、ステップＳ２０４に戻って
新たな画素群を生成した後、続く一連の処理を行うことにより、その画素群内の各画素に
ついてドット形成の有無を決定する。こうした処理を繰り返し、全ての画素について処理
を終了したと判断されたら（ステップＳ２１６：ｙｅｓ）、得られたドットデータをイン
ク吐出用ヘッドに出力する（ステップＳ２１８）。そして、図７に示した第１のドットデ
ータ生成処理を終了して、図６の画像印刷処理に復帰する。前述したように、画像印刷処
理では、出力されたドットデータに従ってインク滴を吐出することにより、印刷用紙上に
ドットが形成されて画像が印刷される。
【０１０４】
以上、デジタルカメラ１２０から画像データを受け取ってドットデータを生成するため
の、第１のドットデータ生成処理の大まかな手順について説明した。次に、こうした手順
の意味するところ、および、こうした手順によって、画像データをドットデータに変換す
ることが可能な理由について説明する。
【０１０５】
Ｄ−２．画素群の分類番号  ：
上述したように、第１のドットデータ生成処理では、画素群階調値を多値化結果値に変
換する際にも、多値化結果値を個数データに変換する際にも、更に、個数データを変換し
て得られた中間データから画素群内の各画素についてのドット形成有無を決定する際にも
、画素群の分類番号を用いて処理を行っている。そこで、先ず初めに、画素群の分類番号
の意味するところについて詳しく説明する。
【０１０６】
前述したように、画素群の分類番号とは、簡単に言えば、画素群内の各画素についての
ドット形成の有無をディザマトリックスを用いて判断するときに、ディザマトリックス中
のどの部分が画素群に適用されるかを表す番号である。図１７は、ディザマトリックスの
一部を拡大して例示した説明図である。図示したマトリックスには、横方向（主走査方向
）に１２８画素、縦方向（副走査方向）に６４画素、合計８１９２個の画素に、階調値１
〜２５５の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値
の階調値が１〜２５５の範囲から選択されているのは、本実施例では、画像データが階調
値０〜２５５の値を取り得る１バイトデータとしていることに加えて、画像データの階調
値と閾値とが等しい場合には、その画素にはドットを形成するものと判断していることに
よるものである。
【０１０７】
すなわち、ドットが形成されるのは画像データの階調値が閾値よりも大きい画素に限る
（すなわち階調値と閾値とが等しい画素にはドットは形成しない）とした場合、画像デー
タの取り得る最大階調値と同じ値の閾値を有する画素には、決してドットが形成されるこ
とはない。こうしたことを避けるため、閾値の取り得る範囲は、画像データの取り得る範
囲から最大階調値を除いた範囲とする。逆に、画像データの階調値と閾値とが等しい画素
にもドットを形成するとした場合、画像データの取り得る最小階調値と同じ値の閾値を有
する画素には、常にドットが形成されてしまうことになる。こうしたことを避けるため、
閾値の取り得る範囲は、画像データの取り得る範囲から最小階調値を除いた範囲とする。
本実施例では、画像データの取り得る階調値が０〜２５５であり、画像データと閾値が等
しい画素にはドットを形成するとしていることから、閾値の取り得る範囲を１〜２５５と
しておくのである。尚、ディザマトリックスの大きさは、図１７に例示したような大きさ
に限られるものではなく、縦と横の画素数が同じマトリックスも含めて種々の大きさとす
ることができる。
【０１０８】
図１８は、ディザマトリックスを参照しながら、各画素についてのドット形成の有無を
判断している様子を概念的に示した説明図である。ドット形成の有無を判断するに際して
は、先ず、判断しようとする画素を選択し、この画素についての画像データの階調値と、
ディザマトリックス中で対応する位置に記憶されている閾値とを比較する。図１８中に示
した細い破線の矢印は、画像データの階調値と、ディザマトリックスに記憶されている閾
値とを、画素毎に比較していることを模式的に表したものである。例えば、画像データの
左上隅の画素については、画像データの階調値は９７であり、ディザマトリックスの閾値
は１であるから、この画素にはドットを形成すると判断する。図１８中に実線で示した矢
印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様
子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの
階調値は９７、ディザマトリックスの閾値は１７７であり、閾値の方が大きいので、この
画素についてはドットを形成しないと判断する。ディザ法では、こうしてディザマトリッ
クスを参照しながら、画素毎にドットを形成するか否かを判断することで、画像データを
画素毎にドット形成の有無を表すデータに変換する。以上に説明した内容を踏まえて、以
下では、画素群の分類番号の意味する内容と、分類番号を決定する考え方について説明す
る。
【０１０９】
図１９は、画素群毎の分類番号の意味する内容を示す説明図である。具体的に説明する
ために、ここでは、主走査方向（紙面上では横方向）に４画素、副走査方向（紙面上では
縦方向）に２画素の合計８つの画素を画素群としてまとめることとして、図１９（ａ）に
示すように、画像の一番左上隅の箇所の画素群に着目して説明する。
【０１１０】
前述したように、ディザ法では画素に割り当てられた画像データの階調値と、ディザマ
トリックスの対応する位置に設定されている閾値とを比較して、画素毎にドット形成の有
無を判断している。一方、本実施例では、隣接する所定数の画素を画素群としてまとめて
いるから、ディザマトリックスに設定されている閾値についても、画素群に対応する所定
数ずつまとめてブロックを生成することにする。図１９（ｂ）は、図１７に示したディザ
マトリックスに設定されている閾値を、横方向に４つ、縦方向に２つずつまとめて複数の
ブロックを生成した様子を示している。図１７に示したディザマトリックスは、横方向（
主走査方向）に１２８画素分、縦方向（副走査方向）に６４画素分の合計８１９２画素分
の閾値が設定されているから、これら閾値を横方向に４つ、縦方向に２つずつブロックに
まとめれば、ディザマトリックスは縦横それぞれ３２個ずつ、合計１０２４個のブロック
に分割されることになる。
【０１１１】
今、図１９（ｂ）に示すように、これらブロックに１番〜１０２４番までの通し番号を
付しておく。そして、画像データにディザマトリックスを適用した時に、各画素群の位置
に適用されるブロックの通し番号によって、画素群を分類してやる。例えば、図１９（ｃ
）に示したように、画像の一番左上隅にある画素群には、図１９（ｂ）中の通し番号１番
のブロックが適用されるから、この画素群は分類番号１番の画素群に分類される。以上に
説明したように、画素群の分類番号とは、その画素群にはディザマトリックス中のどのブ
ロックが適用されるかを表すものである。
【０１１２】
次に、図８を用いて前述した方法によって、画素群の分類番号を算出可能な理由につい
て説明する。図２０は、画素群の分類番号を算出する方法を示した説明図である。図２０
（ａ）は、画像中で生成された１つの画素群を表している。以下では、この画素群を着目
画素群として、分類番号を算出する方法について説明する。前述したように、着目画素群
の位置は、画素群の左上隅にある画素の画素位置によって表すものとする。図２０（ａ）
では、画素群の位置を示す画素に黒丸を付して表示している。この画素の画素位置が（Ｘ
，Ｙ）であったとする。すると、各画素群の大きさは、主走査方向に４画素、副走査方向
に２画素としているから、
Ｘ＝４ｎ＋１、  Ｙ＝２ｍ＋１
となるようなｎ、ｍ（ここで、ｎ，ｍは０以上の正整数）が存在する。換言すれば、着目
画素群の左側にはｎ個の画素群が並んでおり、着目画素群の上側にはｍ個の画素群が並ん
でいることになる。
【０１１３】
ここで、前述したように画素群は、画像データにディザマトリックスを適用したときに
、着目画素群に適用されるブロックの通し番号に基づいて分類することとしているから（
図１９参照のこと）、ディザマトリックスを移動させながら画像データに適用する方法に
よって、同じ画素群でも異なった分類番号に分類されることになる。実際には、ディザマ
トリックスを移動させながら画像データに適用する方法はどのような方法でも構わないが
、ここでは説明の便宜から、最も単純な方法すなわちディザマトリックスを横方向に移動
させるものとして説明する。図２０（ｂ）には、ディザマトリックスを横方向に少しずつ
移動させながら、繰り返し画像データに適用している様子が概念的に示されている。
【０１１４】
図２０（ｃ）は、図２０（ｂ）に示すようにディザマトリックスを繰り返して用いなが
ら、図２０（ａ）に示した着目画素群にディザマトリックスを適用している様子を概念的
に表している。このようにディザマトリックスを移動させていくと、ディザマトリックス
中のいずれかのブロックが、着目画素群に適用されることになる。ここでは、着目画素群
には、ディザマトリックス中でＭ行Ｎ列目のブロックが適用されたものとする。すると、
図２０（ａ）に示したように着目画素群の左側にはｎ個の画素群があり、上側にはｍ個の
画素群があるから、Ｎとｎ、およびＭとｍとの間には、それぞれ
Ｎ＝ｎ  −  ｉｎｔ（ｎ／３２）×３２  ＋  １
Ｍ＝ｍ  −  ｉｎｔ（ｍ／３２）×３２  ＋  １
の関係が成り立っている。ここで、ｉｎｔは、小数点以下を切り捨てて整数化することを
表す演算子である。すなわち、ｉｎｔ（ｎ／３２）は、ｎ／３２の計算結果に対して小数
点以下の数値を切り捨てることによって得られた整数値を表している。このように、着目
画素群の位置が分かれば、図２０（ｄ）に表示した上述の関係式から数値ＭおよびＮを求
めて、ディザマトリックス中でＭ行Ｎ列目にあるブロックのブロック番号を、その着目画
素群の分類番号としてやればよい。もっとも実際には、図８を用いて前述したように、着
目画素群の座標値Ｘ，Ｙを２進数表示したデータから、所定ビットのデータを抜き出すだ
けで、極めて簡単に求めることができる。以下、この理由について説明する。
【０１１５】
図２１は、着目画素群の座標値の２進数表示から分類番号を求める方法を示した説明図
である。着目画素群の座標値を（Ｘ，Ｙ）として、Ｘ，Ｙが１０ビットで表現されている
ものとする。図２１（ａ）は、数値Ｘを表す１０ビットの２進数データを概念的に示して
いる。図では、各ビットを識別するために、最上位ビットから最下位ビットに向かって１
番から１０番までの通し番号を付して表示している。
【０１１６】
図２０を用いて前述したように、着目画素群の左側にある画素群の個数ｎは、数値Ｘか
ら１を減算して４で除算すれば得ることができる。ここで、４での除算は、２ビット分だ
け右方向にシフトさせることで実施することができるから、数値Ｘから１を減算して、得
られた２進数データを右方向に２ビット分だけビットシフトさせればよい。更に、数値Ｘ
は任意の値を取るのではなく、４ｎ＋１の形式で表現可能な数値しか取り得ないから、１
を減算せずに、単に２進数データを右方向に２ビット分だけビットシフトさせるだけで、
画素群の個数ｎを得ることができる。図２１（ｂ）は、こうして数値Ｘをビットシフトし
て得られた個数ｎの２進数データを概念的に表している。
【０１１７】
次いで、ｉｎｔ（ｎ／３２）を算出する。すなわち、個数ｎを３２で除算して、小数点
以下の数値を切り捨てる操作を行う。３２による除算は、２進数データを右方向に５ビッ
ト分だけビットシフトさせることで実行可能であり、また、データを整数形式で扱ってい
れば、小数点以下の数値は自動的に切り捨てられてしまう。結局、ｉｎｔ（ｎ／３２）の
２進数データは、個数ｎの２進数データを、単に右方向に５ビット分だけビットシフトさ
せることで得ることができる。図２１（ｃ）は、個数ｎをビットシフトして得られたｉｎ
ｔ（ｎ／３２）の２進数データを概念的に表している。
【０１１８】
こうして得られたｉｎｔ（ｎ／３２）に３２を乗算する。３２による乗算は、２進数デ
ータを５ビット分だけ左方向にビットシフトすることで実施することができる。図２１（
ｄ）は、個数ｎをビットシフトして得られたｉｎｔ（ｎ／３２）×３２の２進数データを
概念的に表している。
【０１１９】
次いで、個数ｎからｉｎｔ（ｎ／３２）×３２を減算すれば、前述の数値Ｎを得ること
ができる。個数ｎの２進数データ（図２１（ｂ）参照）とｉｎｔ（ｎ／３２）×３２の２
進数データ（図２１（ｄ）参照）とを比較すれば明らかなように、これら２進数データは
、上位の５ビットは共通しており、減算する側の数値の下位５ビットは全て「０」となっ
ている。従って、減算される側の数値（個数ｎ）の下位５ビットをそのまま抜き出せば、
求める数値Ｍを得ることができる。すなわち、図２１（ｂ）に示した２進数データに対し
て、図２１（ｆ）に示すようなマスクデータを作用させるだけで、極めて簡便に数値Ｎを
得ることが可能である。より簡便には、図２１（ａ）に示した着目画素群の位置を示す数
値Ｘの２進数データに対して、図２１（ｇ）のようなマスクデータを作用させて、４番目
〜８番目のビットデータを直接抜き出すことによっても、数値Ｎを得ることができる。
【０１２０】
図２１では、着目画素群の位置を示す座標値（Ｘ，Ｙ）の数値Ｘから、ディザマトリッ
クス中でのブロック位置を示す数値Ｎを求める場合について説明したが、全く同様にして
、ブロック位置を示す数値Ｍも数値Ｙから求めることができる。結局、着目画素群の位置
が分かれば、２進数データから特定のビット位置のデータを抜き出すだけで、着目画素群
がディザマトリックス中で何行何列目のブロックに対応するかを知ることができ、このブ
ロックの通し番号を算出すれば、着目画素群の分類番号を得ることができる。図８を用い
て前述した分類番号の算出方法は、このようにして導かれた方法である。
【０１２１】
Ｄ−３．閾値テーブルの設定方法  ：
図７を用いて前述したように第１のドットデータ生成処理では、こうして分類番号を求
めた後、画素群階調値と分類番号とを組み合わせて閾値テーブルを参照することによって
画素群階調値を多値化結果値に変換している。図９に示したように閾値テーブルには、分
類番号毎に閾値の組が設定されており、閾値の組に設定されている閾値と画素群階調値と
比較することで、画素群階調値が多値化結果値に変換される。すなわち、画素群階調値を
適切に多値化結果値に変換するためには、適切な閾値テーブルを設定しておくことが大切
である。そこで、以下では、図９に示した閾値テーブルを設定する方法について説明する
。
【０１２２】
本実施例の閾値テーブルは、大きさの異なる複数種類のドットについて画素毎にドット
形成の有無を判断可能なように、前述したディザ法を発展させた手法を基にして設定され
ている。かかる手法の詳細な内容は、特許３２９２１０４号に開示されている。閾値テー
ブルの設定方法を説明する前に、その準備として、上記の特許公報に開示された技術の概
要について簡単に説明しておく。
【０１２３】
図２２は、ディザ法を発展させて、画素毎に大ドット・中ドット・小ドットの形成の有
無を決定可能としたハーフトーン処理の流れを示すフローチャートである。ハーフトーン
処理を開始すると、先ず初めに、ドットの形成有無を判断しようとする画素を選択して、
その画素の画像データを取得する（ステップＳ２５０）。次いで、取得した画像データを
、大中小の各ドットについての密度データに変換する。ここで、密度データとは、ドット
をどの程度の密度で形成するかを表すデータである。密度データは、階調値が大きくなる
程、ドットが高い密度で形成されることを表している。例えば、密度データの階調値「２
５５」は、ドットの形成密度が１００％、すなわち全ての画素にドットが形成されること
を表しており、密度データの階調値「０」は、ドットの形成密度が０％、すなわちいずれ
の画素にもドットが形成されないことを表している。こうした密度データへの変換は、ド
ット密度変換テーブルと呼ばれる数表を参照することによって行うことができる。
【０１２４】
図２３は、画像データの階調値を大中小各ドットについての密度データに変換する際に
参照されるドット密度変換テーブルを概念的に示した説明図である。図示されているよう
に、ドット密度変換テーブルには、画像データの階調値に対して、小ドット・中ドット・
大ドットの各ドットについての密度データが設定されている。画像データが階調値「０」
近傍の領域では、中ドット・大ドットの密度データはいずれも階調値「０」に設定されて
いる。小ドットの密度データは、画像データの階調値が大きくなるにつれて増加して行く
が、画像データがある階調値に達すると今度は逆に減少し始め、代わりに中ドットの密度
データが増加し始める。画像データの階調値が更に増加して、ある階調値に達すると、小
ドットの密度データが階調値「０」となり、中ドットの密度データが減少し始めて、代わ
りに大ドットの密度データが少しずつ増加していく。図２２のステップＳ２５２では、こ
のドット密度変換テーブルを参照しながら、画像データの階調値を、大ドットの密度デー
タ、中ドットの密度データ、小ドットの密度データに変換する処理を行う。
【０１２５】
処理対象とする画素について、大中小各ドットの密度データが得られたら、先ず初めに
大ドットについての形成有無を判断する（図２２のステップＳ２５４）。かかる判断は、
大ドットの密度データと、処理対象としている画素の対応する位置に設定されているディ
ザマトリックスの閾値とを比較することによって行う。大ドットの密度データが閾値より
も大きい場合は、処理対象の画素には大ドットを形成するものと判断し、逆に密度データ
の方が小さい場合は、大ドットは形成しないものと判断する。
【０１２６】
次いで、処理対象の画素に大ドットを形成すると判断されているか否かを判定し（ステ
ップＳ２５６）、大ドットを形成すると判断されている場合は（ステップＳ２５６：ｙｅ
ｓ）、中ドットおよび小ドットについての判断は省略して、全画素を終了したか否かを判
断する（ステップＳ２６８）。そして、ドット形成の有無を未判断の画素が残っている場
合は（ステップＳ２６８：ｎｏ）、ステップＳ２５０に戻って新たな画素を選択し、続く
一連の処理を行う。
【０１２７】
一方、処理対象の画素に大ドットを形成すると判断されていない場合は（ステップＳ２
５６：ｎｏ）、中ドットについての形成有無を判断するべく、大ドットの密度データに中
ドットの密度データを加算して中ドット用の中間データを算出する（ステップＳ２５８）
。こうして得られた中ドット用の中間データと、ディザマトリックスの閾値とを比較する
。そして、中ドット用の中間データの方が閾値よりも大きければ、中ドットを形成するも
のと判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、中ドッ
トを形成しないものと判断する（ステップＳ２６０）。
【０１２８】
次いで、処理対象の画素に中ドットを形成すると判断されているか否かを判定し（ステ
ップＳ２６２）、中ドットを形成すると判断されている場合は（ステップＳ２６２：ｙｅ
ｓ）、小ドットについての判断は省略して、全画素を終了したか否かを判断する（ステッ
プＳ２６８）。
【０１２９】
処理対象の画素に中ドットを形成すると判断されていない場合は（ステップＳ２６２：
ｎｏ）、小ドットについての形成有無を判断するべく、中ドット用の中間データに小ドッ
トの密度データを加算して小ドット用の中間データを算出する（ステップＳ２６４）。そ
して、得られた小ドット用の中間データと、ディザマトリックスの閾値とを比較する。そ
の結果、小ドット用の中間データの方が閾値よりも大きければ、小ドットを形成するもの
と判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、いずれの
ドットも形成しないものと判断する（ステップＳ２６６）。
【０１３０】
すなわち、大ドットの密度データよりもディザマトリックスに設定された閾値の方が大
きい画素（大ドットが形成されない画素）については、大ドットの密度データに中ドット
の密度データを加算して、得られた中間データと閾値とを比較し、中間データの方が大き
くなれば、中ドットを形成すると判断する。一方、中間データよりも依然として閾値の方
が大きい画素については、中間データに小ドットの密度データを加算して新たな中間デー
タを算出する。そして、この中間データと閾値とを比較して、新たな中間データの方が大
きくなれば小ドットを形成すると判断し、依然として閾値の方が大きい画素についてはい
ずれのドットも形成しないと判断するのである。
【０１３１】
以上のような処理を行うことにより、処理対象の画素について、大ドット、中ドット、
小ドットのいずれのドットを形成するか、若しくは、いずれのドットも形成しないかを判
断することができる。そこで、全画素についての処理を終了したか否かを判断し（ステッ
プＳ２６８）、未判断の画素が残っている場合は（ステップＳ２６８：ｎｏ）、ステップ
Ｓ２５０に戻って新たな画素を選択し、続く一連の処理を行う。このようにして、処理対
象として選択された画素について１つずつ、大中小のいずれのドットを形成するか否かを
判断していく。そして、全画素について処理を終了したと判断されたら（ステップＳ２６
８：ｙｅｓ）、図２２に示したハーフトーン処理を終了する。
【０１３２】
以上、ディザマトリックスを利用して、大中小の各ドットについての形成有無を判断す
る方法について説明した。以下では、上述の説明を踏まえて、図９に示した閾値テーブル
の設定方法について説明する。
【０１３３】
前述したように多値化結果値生成処理では、画素群内に含まれる各画素の画像データを
画素群階調値で代表させることにより、画素群をまとめて多値化している。そこで、多値
化テーブルを設定するに際しては、先ず、画素群内の全画素が画素群階調値と同じ値の画
像データを有するものとして、各画素について大中小の各種ドットについての形成有無を
判断することを考える。各種ドットについての形成有無の判断は、図２２を用いて前述し
たハーフトーン処理によって行う。
【０１３４】
図２４は、画素群内の各画素について、大中小各ドットの形成有無を判断している様子
を概念的に示した説明図である。図中では、ハーフトーン処理を行うために着目している
画素群を太い実線で囲って表している。画素群は８つの画素から構成されており、各画素
の画像データは、いずれも画素群階調値と同じ値（図示した例では階調値９７）を有して
いる。大中小各種ドットの形成有無を判断するためには、画像データを各ドットについて
の密度データに変換する。密度データへの変換は、図２３に示したドット密度変換テーブ
ルを参照することによって行う。ここでは、画素群内の全画素が同じ画像データを有する
ものとしているから、各種ドットについても密度データも全て画素について同じ値となる
。図示した例では、大ドットの密度データの階調値が「２」、中ドットの密度データの階
調値が「９５」、小ドットの密度データの階調値が「３０」であった場合を表している。
【０１３５】
次いで、図２２のフローチャートを用いて説明したように、大ドットの密度データ、中
ドット用の中間データ、あるいは小ドット用の中間データと、ディザマトリックスに設定
されている閾値とを比較することによって、各種ドットについての形成有無を画素毎に判
断する。ここで、比較に用いるディザマトリックスの閾値は、ディザマトリックスの中か
ら、着目している画素群に対応する箇所に設定されている閾値を使用する。例えば、図２
４に示した例では、画素群が画像の左上隅にあることから、閾値についても、ディザマト
リックス中の左上隅の画素群に設定されている閾値を使用する。
【０１３６】
そして、画素群に設定されている８つの閾値の中で、大ドットの密度データよりも小さ
な閾値が設定されている画素については、大ドットを形成すると判断する。ここでは、大
ドットの密度データは階調値「２」としているから、大ドットが形成される画素は、閾値
「１」が設定されている画素だけである。図２４では、大ドットが形成されると判断され
た画素には、細かい斜線を付して表示している。大ドットの密度データ「２」よりも大き
く、大ドットの密度データと中ドットの密度データとを加算して得られた中ドット用の中
間データ「９７」よりも小さな閾値が設定されている画素には、中ドットを形成するもの
と判断する。このような画素は、閾値「４２」が設定された画素、および閾値「５８」が
設定された画素の２つの画素だけである。図２４では、中ドットが形成されると判断され
た画素には、少し粗い斜線を付して表示している。そして、最後に、中ドット用の中間デ
ータ「９７」よりも大きく、中ドット用の中間データに小ドット用の密度データを加算し
て得られた小ドット用の中間データ「１２７」よりも小さな閾値が設定されている画素に
は、小ドットを形成するものと判断する。このような画素は、閾値「１０９」が設定され
た画素だけである。図２４では、小ドットが形成されると判断された画素には、粗い斜線
を付して表示している。このようにして、大ドット、中ドット、小ドットの形成有無を判
断した結果、着目している画素群の画素群階調値が「９７」である場合には、大ドット１
個、中ドット２個、小ドット１個が形成されることになる。
【０１３７】
画素群階調値が大きく異なれば、画素群内に形成される大ドット、中ドット、小ドット
の個数も異なったものとなる。また、画素群階調値を「０」から「２５５」まで変化させ
れば、それに伴って大ドット、中ドット、小ドットの個数は、幾段階かに変化するはずで
ある。更に、画素群の分類番号が異なれば、ディザマトリックスの閾値も異なることから
、ドット個数の変化の仕方も異なるはずである。図９に示した閾値テーブルは、画素群階
調値を「０」から「２５５」まで変化させたときの、各種ドットの個数が段階的に変化す
る挙動を、分類番号毎に調べることによって設定されている。
【０１３８】
図２５は、実際に、閾値テーブルを設定する処理の流れを示したフローチャートである
。以下、フローチャートに従って説明する。閾値テーブルの設定処理を開始すると、先ず
初めに、画素群の分類番号を１つ選択する（ステップＳ３００）。例えば、ここでは分類
番号１番を選択したものとする。
【０１３９】
次いで、選択した分類番号の画素群に対応する閾値を、ディザマトリックスの中から読
み出してやる（ステップＳ３０２）。例えば、ここでは分類番号１番を選択したものとし
ているから、図１７に例示したディザマトリックスの中から、図１９（ｂ）中で１番と表
示したブロック位置に設定されている８つの閾値を読み出す。
【０１４０】
そして、画素群階調値ＢＤを「０」に設定し（ステップＳ３０４）、大ドット、中ドッ
ト、小ドットの形成個数をいずれも０個に設定しておく（ステップＳ３０６）。
【０１４１】
続いて、図２３に示したドット密度変換テーブルを参照することにより、画素群階調値
を大ドット、中ドット、小ドットについての密度データに変換した後（ステップＳ３０８
）、これら密度データと先に読み込んでおいた閾値とに基づいて、大中小の各種ドットに
ついての形成個数を決定する（ステップＳ３１０）。すなわち、図２２あるいは図２４を
用いて説明したように、大ドットの密度データよりも小さな閾値の個数を求めて、得られ
た個数を大ドットの形成個数とする。また、大ドットの密度データよりも大きく且つ中ド
ット用の中間データよりも小さな閾値の個数を求めて、これを中ドットの形成個数とする
。更に、中ドット用の中間データよりも大きく且つ小ドット用の中間データよりも小さな
閾値の個数を求めて、これを小ドットの形成個数とする。
【０１４２】
こうして求めた各種ドットの形成個数が、先に設定されていた形成個数に対して変更さ
れたか否かを判断する（ステップＳ３１２）。そして、形成個数が変更されたと判断され
れば（ステップＳ３１２：ｙｅｓ）、そのときの画素群階調値ＢＤを新たな閾値として、
分類番号に対応する閾値の組に追加する（ステップＳ３１４）。一方、形成個数が変更さ
れていないと判断された場合は（ステップＳ３１２：ｎｏ）、閾値を追加する処理はスキ
ップする。
【０１４３】
次いで、画素群階調値ＢＤが階調値２５５に達したか否かを判断する（ステップＳ３１
６）。階調値２５５に達していなければ（ステップＳ３１６：ｎｏ）、画素群階調値ＢＤ
を「１」だけ増加させて（ステップＳ３１８）、ステップＳ３０８に戻って再び画素群階
調値ＢＤを密度データに変換した後、続く一連の処理を行って、画素群内に形成されるド
ット個数が変化していれば、その画素群階調値ＢＤを新たな閾値として、分類番号に対応
する閾値に組に追加する（ステップＳ３１４）。画素群階調値ＢＤが階調値２５５に達す
るまで、こうした操作を繰り返す。そして、画素群階調値ＢＤが階調値２５５に達したら
（ステップＳ３１６：ｙｅｓ）、選択した分類番号については、閾値の組を設定し終えた
ことになる。
【０１４４】
そこで、すべての分類番号について、以上のような処理を行ったか否かを判断し（ステ
ップＳ３２０）、未処理の分類番号が残っている場合は（ステップＳ３２０：ｎｏ）、ス
テップＳ３００に戻って再び上述した処理を行う。こうした処理を繰り返し、すべての分
類番号について、閾値の組を設定し終えたと判断されたら（ステップＳ３２０：ｙｅｓ）
、図２５に示した閾値テーブル設定処理を終了する。
【０１４５】
以上の説明から明らかなように、分類番号の閾値の組は、画素群内に形成されるドット
個数の組合せが切り換わる画素群階調値を検出して、この値を閾値として記憶したものと
なっている。通常は、画素群階調値が階調値０から２５５まで増加する間に、形成される
ドット個数は幾段階かに切り換わるから、複数個の閾値が閾値の組として記憶されること
になる。そして、それぞれの閾値の組には、次のような理由から、分類番号毎に異なった
閾値が設定され、また閾値の個数も異なったものとなっている。
【０１４６】
先ず、画素群内に形成されるドットの個数は、画素群階調値を変換して得られた大中小
各ドットの密度データと、ディザマトリックス中で画素群に対応する位置に記憶されてい
る閾値とによって決定される。ここで、図２３に示したドット密度変換テーブルは、画素
群の分類番号が異なっていても同じテーブルを参照するから、画素群階調値に対する各ド
ットの密度データも、分類番号によらず同じ密度データが得られる。しかし、ディザマト
リックスから読み出された複数の閾値は、分類番号毎に異なったものとなる。何故なら、
ディザマトリックスは、画像上でドットが一定のパターンで発生したり、あるいは近接し
た位置に固まって発生することで画質を悪化させることの無いように、ディザマトリック
スの閾値は出来るだけ分散させて且つ出来るだけランダムに設定されている。このため、
たとえ画素群階調値が同じであったとしても、ドットの発生の仕方はそれぞれの画素群で
分類番号毎に異なったものとなり、その結果、設定される閾値も分類番号毎に異なったも
のとなるのである。
【０１４７】
もっとも、画素群階調値を０〜２５５まで増加させたときに、１つの画素群内で発生し
得るドット分布の種類には、画素群に含まれる画素数および各画素に形成可能なドットの
種類に応じて、自ずから数の上限がある。前述したように、閾値の組に記憶されている閾
値は、画素群内に形成されるドット分布が切り替わった時の画素群階調値を記憶したもの
であるから、閾値の組に設定される閾値の個数にも、画素群の大きさおよび形成可能なド
ットの種類に応じて上限がある。本実施例のように、画素群の大きさが画素８つ分であり
、形成可能なドットの種類が３種類である場合には、１つの閾値の組に設定される閾値の
個数は、高々２０数個、多く見積もっても３０個を超えることはない。これに伴って、画
素群の多値化結果値も、高々０〜３１の範囲しか取り得ず、このような多値化結果値であ
れば、５ビットあれば表現することが可能となる。
【０１４８】
Ｄ−４．変換テーブルの設定方法  ：
次に、図１１を用いて前述した変換テーブルの設定方法について説明する。かかる変換
テーブルは、図７に示した第１のドットデータ生成処理中で、多値化結果値を、画素群に
形成されるドット個数を表す個数データに変換するために参照されるテーブルである。
【０１４９】
図２５を用いて前述した閾値テーブルの設定方法から明らかなように、閾値テーブルに
分類番号毎に設定されている閾値の組は、画素群に形成される大中小の各ドットの個数が
切り換わる画素群階調値を記憶したものとなっている。そして、閾値テーブルを参照する
ことで得られる多値化結果値は、各ドットの形成個数が何段階目に切り換わった状態に対
応するかを表す値となっている。しかし、上述したように、大中小の各ドットの発生状態
は、画素群の分類番号によって異なっているため、画素群階調値を増加させた場合にドッ
トの形成個数が変化する階調値だけでなく、形成個数の変化の仕方も異なったものとなる
。例えば、ある分類番号の画素群では、初めに小ドットが形成され、画素群階調値が増加
するに従って小ドットの個数が１つずつ増加していくのに対して、他の分類番号の画素群
では、ドットがなかなか形成されず、いきなり中ドットが形成され、その後は画素群階調
値が増加するに従って小ドットが１つずつ増加するといったことが起こり得る。すなわち
、画素群の多値化結果値は、画素群の分類番号と組み合わせなければ、画素群内に形成さ
れるドットの個数に変換することができない。そこで、図７を用いて前述した第１のドッ
トデータ生成処理では、多値化結果値と分類番号との組合せ毎に、画素群内に形成される
各種ドットの個数を求めて、図１１に示した変換テーブルに記憶しておき、この変換テー
ブルを参照することによって、多値化結果値および分類番号から、直ちに個数データを得
ることとしているのである。
【０１５０】
以上の説明から明らかなように、図１１に示した変換テーブルは、ある多値化結果値を
有するときに画素群内の各画素に形成されるドットの個数を、画素群の分類番号毎に求め
ることによって設定されている。以下では、変換テーブルを設定するための具体的な方法
について説明する。
【０１５１】
図２６は、変換テーブルを設定する処理の流れを示したフローチャートである。以下、
フローチャートに従って説明する。変換テーブル設定処理を開始すると、先ず初めに、設
定対象とする分類番号を１つ選択し（ステップＳ４００）、多値化結果値ＲＶを０に設定
する（ステップＳ４０２）。
【０１５２】
次いで、図９に示した閾値テーブルで、分類番号に設定されている閾値の組の中から多
値化結果値ＲＶに対応する閾値を取得する（ステップＳ４０４）。例えば、多値化結果値
が「Ｎ」であったとする。多値化結果値Ｎは、その画素群に形成されるドットの個数がＮ
回目に切り換わったことを意味しているから、閾値の組の中でＮ番目に小さな値を取得す
る。尚、多値化結果値が「０」の場合は、閾値「０」を取得すればよい。
【０１５３】
次いで、画素群の画素群階調値が、取得した閾値の値を有するものとして、画素群内に
形成される各種ドットの個数を決定する（ステップＳ４０６）。画素群内に形成されるド
ットの個数は、図２２ないし図２４を用いて前述した方法によって決定することができる
。
【０１５４】
こうして決定した各ドットの個数の組合せを、個数データに変換する（ステップＳ４０
８）。ドット個数の組合せから個数データへの変換は、図１２に示した対応表を参照する
ことによって行う。次いで、得られた個数データを、多値化結果値に対応付けて記憶した
後（ステップＳ４１０）、対象としている分類番号についての最大の多値化結果に達した
か否かを判断する（ステップＳ４１２）。すなわち、図１０を用いて説明したように、
すなわち、図９の閾値テーブルに示されているように、閾値の組には、分類番号に応じた
個数の閾値が設定されており、このことに対応して、多値化結果値の最大値も分類番号に
応じた値となっている。そこで、多値化結果値が、対象としている分類番号についての最
大値に達したか否かを判断するのである。かかる判断は、分類番号に応じて取得した閾値
の組に、画素群内でのドット形成個数を決定していない閾値の有無によって行うことがで
きる。すなわち、決定していない閾値が残っていれば、多値化結果値の最大値に達してい
ないと判断することができ、未決定の閾値が残っていなければ、多値化結果値の最大値に
達したものと判断することができる。
【０１５５】
多値化結果の最大値に達していないと判断された場合は（ステップＳ４１２：ｎｏ）、
多値化結果ＲＶの値を「１」だけ増加させた後（ステップＳ４１４）、ステップＳ４０４
に戻って、閾値の組の中から新たな多値化結果値ＲＶに対応する閾値を取得し、続く一連
の処理を繰り返す。こうした操作を繰り返し、対象としている分類番号の最大多値化結果
値に達したと判断されたら（ステップＳ４１２：ｙｅｓ）、その分類番号については全デ
ータが変換テーブルに設定されたことになる。
【０１５６】
そこで今度は、全ての分類番号について同様の処理を行ったか否かを判断する（ステッ
プＳ４１６）。そして、未だ処理していない分類番号が残っている場合は、ステップＳ４
００に戻って新たな分類番号を選択し、この分類番号について、上述した一連の処理を行
う。こうして全ての分類番号について処理を終了したと判断されたら（ステップＳ４１６
：ｙｅｓ）、変換テーブルの全てのデータが設定されたことになるので、図２６に示す処
理を終了する。
【０１５７】
以上に説明したように、閾値テーブルも変換テーブルも、図２２ないし図２４を用いて
説明した特許３２９２１０４号に開示された手法（ディザ法を発展させて、大きさの異な
る複数種類のドットの形成の有無を判断可能とした手法）を基にして設定されている。従
って、閾値テーブルを参照して画素群階調値を多値化結果値に変換し、変換テーブルを参
照して多値化結果値を個数データに変換してやれば、画素群内の全画素が同じ画像データ
（画素群階調値）を有するものとして、上記の特許に開示された方法を適用して得られる
ドットの個数と、同じ個数を得られることになる。
【０１５８】
Ｄ−５．順序値マトリックスの設定方法  ：
次に、図１４に例示した順序値マトリックスを設定する方法について説明する。前述し
たように、順序値マトリックスとは、画素群内の各画素について、ドットが形成される順
番を設定したマトリックスである。
【０１５９】
図２７は、順序値マトリックスを設定する方法について具体的に示した説明図である。
以下、図を参照しながら説明する。順序値マトリックスの設定に際しては、先ず、ディザ
マトリックスを画素群と同じ大きさを有する複数のブロックに分割して、各ブロックに通
し番号を付しておく。図１９を用いて前述したように、この通し番号がそのまま画素群の
分類番号となる。図２７（ａ）は、ディザマトリクスを複数のブロックに分割した様子を
概念的に示した説明図である。今、ディザマトリックスが図１７に示した大きさ（すなわ
ち、主走査方向に１２８画素、副走査方向に６４画素）を有しているものとすると、１つ
の画素群は主走査方向に４画素、副走査方向に２画素の大きさを有するとしているから、
図２７（ａ）に示すように、ディザマトリックスは主走査方向および副走査方向にそれぞ
れ３２ブロックずつ、全体では、１番から１０２４番までの分類番号が付された１０２４
個のブロックに分割されることになる。
【０１６０】
ディザマトリックスを複数のブロックに分割したら、各ブロックから１組ずつ順序値マ
トリックスを生成する。図２７（ｂ）は、一例として、分類番号１番のブロックから順序
値マトリックスを生成している様子を示した説明図である。図２７（ｂ）の左側半分には
、分類番号１番のブロックに含まれるディザマトリックスの閾値が示されている。図２４
を用いて前述したように、ドットは小さな閾値が設定されている画素から順番に形成され
る。従って、図２７（ｂ）に示した１番のブロックの中で１番初めにドットが形成される
画素は、閾値「１」が設定された画素と考えることができる。そこで、この画素には順序
値として「１」を設定する。同様に、２番目にドットが形成される画素は、２番目に小さ
な閾値である閾値「４２」が設定された画素と考えることができる。そこで、この画素に
は順序値「２」を設定する。このようにして、ブロック内に設定されている閾値の小さな
画素から順番に、順序値「１」から順序値「８」までを決定してやれば、図２７（ｂ）の
右側半分に示した分類番号１番の順序値マトリックスを得ることができる。
【０１６１】
他の分類番号のブロックについても、同様にして順序値マトリックスを設定することが
できる。図２７（ｃ）は、分類番号２番のブロックについて、同様にして、ブロック内で
小さな閾値が設定されている画素から順番に、順序値「１」から順序値「８」までを設定
することで、順序値マトリックスを設定した様子を示している。図２７（ａ）に示した分
類番号「１」番から「１０２４」番までの全てのブロックについて、以上のような操作を
行うことにより、分類番号「１」番から「１０２４」番までの順序値マトリックスを得る
ことができる。
【０１６２】
カラープリンタ２００の制御回路２６０に内蔵されたＲＯＭ内には、このようにして設
定された順序値マトリックスが、画素群の分類番号に対応付けて予め記憶されている。そ
して、図７に示した第１のドットデータ生成処理においては、画素群の分類番号に対応付
けて記憶されている順序値マトリックスをＲＯＭから読み出して、ドットデータを生成す
るのである。
【０１６３】
Ｄ−６．高画質な画像を印刷可能な理由  ：
図７に示した第１のドットデータ生成処理では、以上のようにして設定した閾値テーブ
ル、変換テーブル、順序値マトリックスを参照することによって、デジタルカメラ１２０
などから受け取った画像データをドットデータに変換している。このようにして得られた
ドットデータに従ってドットを形成すれば、高画質な画像を印刷することができる。以下
では、こうしたことが可能となる理由について説明する。
【０１６４】
先ず、前述した特許３２９２１０４号に開示された技術を用いれば、図２２ないし図２
４を用いて前述したように、画像データを大ドットの密度データ、中ドット用の中間デー
タ、小ドット用の中間データに変換して、ディザマトリックスに設定されている閾値と比
較することで、大中小各ドットについての形成の有無を判断することができる。更に、こ
のときに参照するディザマトリックスを、いわゆるブルーノイズマスク、あるいはグリー
ンノイズマスクに代表されるような分散性が考慮されたマトリックスとしておけば、ドッ
トが良好に分散した高画質な画像を得ることができる。
【０１６５】
また、画像データは一般的に、隣接する画素間では近似する（若しくは同一の）階調値
が割り当てられる傾向がある。近年では、高画質化の要請から画像データの解像度は益々
高くなる傾向にあるが、隣接する画素間で近似若しくは同一の階調値が割り当てられる傾
向は、画像データの解像度が高くなるほど顕著に現れる。このことから、図２４を用いて
前述したように、複数個の画素を画素群としてまとめてしまい、画素群内の画素は全て同
じ画像データを有するものとして大中小各ドットの形成有無を判断した場合でも、実際に
は画質に差が生じることは稀である。
【０１６６】
第１のドットデータ生成処理は、この点に着目して、画素毎にドットデータを生成する
手法である。また、図２２ないし図２４に示した手法では、ディザマトリックスを参照す
ることで、画素群内のいずれの画素に、大中小いずれのドットを形成するかを決定してい
る。これに対して、図７に示した第１のドットデータ生成処理では、ディザマトリックス
を参照してドットが形成される画素位置および形成されるドットの種類を決定する操作を
２段階に分けて、先ず初めに画素群内に形成される各種ドットの個数（個数データ）を決
定し、次いで、これらドットが画素群内のいずれの画素に形成されるかを決定する。この
ように、２段階に分けて決定することとすれば、もはやディザマトリックスを参照する必
要はなく、代わりに、よりデータ量の少ないテーブルを参照してドットデータを生成する
ことができる。すなわち、画素群階調値を個数データに変換し、個数データを更に変換し
てドットデータを生成することが可能となる。更に、第１のドットデータ生成処理では、
画素群階調値を直ちに個数データに変換するのではなく、一旦、多値化結果値に変換して
から個数データに変換する。こうすることにより、参照するテーブルのデータ量を更に小
さなものとすることが可能となる。結局、上述した第１のドットデータ生成処理では、閾
値テーブルおよび変換テーブルを参照することで、画素群階調値を画素群毎に個数データ
に変換し、得られた個数データから、順序値マトリックスを参照して各画素のドット形成
有無を決定することで、図２２ないし図２４に示した方法を用いて得られたものと同じ結
果を得ることが可能となっているのである。以下では、図７のフローチャートを参照しな
がら、より具体的に説明する。
【０１６７】
先ず、第１のドットデータ生成処理では、所定数の画素をまとめて画素群を生成し、画
素群の画素群階調値を決定している（図７のステップＳ２０６）。前述したように、画像
データは、隣接する画素間では近似する（若しくは同一の）階調値が割り当てられる傾向
があるため、複数個の画素を画素群としてまとめて、画素群内の画素は全て同じ画像デー
タを有するものとして扱った場合でも、実際には画質に差が生じることはない。
【０１６８】
次いで、閾値テーブルを参照して画素群階調値を多値化結果値に変換し、得られた多値
化結果値を、変換テーブルを参照して個数データに変換する（図７のステップＳ２０８、
Ｓ２１０）。閾値テーブルおよび変換テーブルの設定方法についての説明から明らかなよ
うに、このようにして得られた個数データは、画素群内の全画素が同じ画像データ（画素
群階調値）を有するものとして、画素群内に形成される各種ドットの個数を、図２２ない
し図２４を用いて説明した方法によって決定した場合と同じ結果が得られる。
【０１６９】
こうして得られた個数データを、ドットデータへの変換がより容易な中間データに変換
した後、順序値マトリックスに設定された順序値に従って、画素群内の各画素について、
ドット形成の有無を決定する（ステップＳ２１２、Ｓ２１４）。図２４を用いて前述した
ように、ディザマトリックスに設定された閾値は、ドットが形成される順番を表している
ものと考えることができ、そして、図２７を用いて前述したように、順序値マトリックス
は、ディザマトリックスの対応する位置でドットが形成される順番を表すマトリックスと
なっている。そして、画素群内に形成されるドットの種類、およびドットの個数について
は、ディザマトリックスを用いて求めたものと同じ結果が既に得られているから、順序値
マトリックスに従ってこれらドットが形成される画素を決定してやれば、図２２ないし図
２４を用いて説明した方法を適用して各画素についてのドット形成の有無を決定した場合
と、同じ結果を得ることができる。このため、ドットが良好に分散された高画質な画像を
印刷することが可能となるのである。
【０１７０】
また、閾値テーブル、変換テーブル、順序値マトリックスを、いわゆるブルーノイズ特
性や、グリーンノイズ特性を持ったディザマトリックスに基づいて設定しておけば、比較
的少数ずつ（本実施例では８個ずつ）の画素群をまとめて処理しているにも関わらず、ブ
ルーノイズマスク、あるいはグリーンノイズマスクを用いることで実現されるような、良
好なドット分布を得ることが可能となるのである。
【０１７１】
加えて、上述した第１のドットデータ生成処理では、画素群階調値を多値化結果値に変
換し、多値化結果値を個数データに変換し、個数データを中間データに変換して、最後に
ドットデータを得ており、結局、画素群階調値からドットデータが得られるまでに４段階
の変換を経ていることになる。図２２ないし図２４を用いて説明した方法では、画像デー
タを大中小各ドットの密度データに変換し、密度データからドットデータを求めているか
ら、２段階の変換でよい。このように、第１のドットデータ生成処理では、図２２に示し
た方法よりも多段階の変換が必要となるものの、変換の内容は、単にテーブルを参照する
という極めて単純な処理であるため、図２２に示す方法を用いた場合に対して、処理に要
する時間が長くなることはなく、速やかにドットデータを生成して画像を印刷することが
できる。
【０１７２】
Ｅ．第２のドットデータ生成処理  ：
本実施例のカラープリンタ２００は、デジタルカメラ１２０から画像データを受け取っ
た場合には、以上に説明した第１のドットデータ生成処理を行ってドットデータを生成す
る。こうすれば、カラープリンタ２００の制御回路２６０内で画像データをドットデータ
に変換することができるので、コンピュータ１００を経由することなく、高画質な画像を
手軽に印刷することができる。一方、デジタルカメラ１２０で撮影した画像データを一旦
、コンピュータ１００に供給してやれば、コンピュータ１００内でより高解像度の画像デ
ータに変換したり、種々の画像処理を施して画像データに修正を加えることができる。こ
うしてコンピュータ１００で所定の処理を施した画像のデータをカラープリンタ２００に
供給すれば、より好ましい画像を印刷することが可能となる。
【０１７３】
図６を用いて前述したように、本実施例のカラープリンタ２００は、コンピュータ１０
０から画像のデータを受け取る場合には、画素群毎の多値化結果値の形態でデータを受け
取り、以下に説明する第２のドットデータ生成処理を行うことによってドットデータを生
成する。このため、高解像度の画像であっても、迅速に印刷することが可能となる。以下
では、先ず初めに第２のドットデータ生成処理の概要について説明し、次いで、このよう
な方法でドットデータを生成することで、高解像度の画像であっても、高い画質を維持し
たまま迅速に印刷することが可能な理由について説明する。
【０１７４】
Ｅ−１．処理の概要  ：
図２８は、第２のドットデータ生成処理の流れを示すフローチャートである。かかる処
理は、図６に示した画像印刷処理中で、コンピュータ１００から、多値化結果値の形態で
画像のデータを受け取ると、カラープリンタ２００の制御回路２６０に搭載されたＣＰＵ
によって実行される処理である。すなわち、画像データは、コンピュータ１００内で、解
像度変換処理（図７のステップＳ２００に相当）、色変換処理（図７のステップＳ２０２
に相当）が施された後、画素群毎の画素群階調値が求められ、更に画素群毎の多値化結果
値に変換された状態でカラープリンタ２００に供給される。コンピュータ１００内で、多
値化結果値を生成する方法は、前述した第１のドットデータ生成処理と同様に、閾値テー
ブルを参照して変換することもできるが、コンピュータ１００には比較的十分な容量のメ
モリが搭載されていることが多いから、後述する方法を用いて、より迅速に多値化結果値
を求めることも可能である。
【０１７５】
第２のドットデータ生成処理を開始すると、先ず初めに、処理対象とする画素群を１つ
選択する（ステップＳ５００）。次いで、選択した画素群の多値化結果値を取得し（ステ
ップＳ５０２）、選択した画素群の分類番号を算出する（ステップＳ５０４）。
【０１７６】
画素群の分類番号は、画像中での画素群の位置から、次のようにして簡単に求めること
ができる。図２９は、画像上での画素群の位置に基づいて、分類番号を求める方法を示し
た説明図である。今、対象としている画素群が、図２９（ａ）に示すように、画像の一番
左上隅を基準として主走査方向にｉ個目の画素群、副走査方向にｊ個目の画素群の位置に
あるとする。また、このような画素群の位置を、座標値（ｉ，ｊ）によって表すものとす
る。また、ディザマトリックスの大きさは、通常は、画像のようには大きくはないので、
図２０（ｂ）を用いて前述したように、ディザマトリックスを主走査方向に移動させなが
ら、繰り返して使用するものとする。
【０１７７】
１つのディザマトリックスには主走査方向・副走査方向にそれぞれ３２個ずつのブロッ
クが含まれるとしているから（図１９（ｂ）参照）、ディザマトリックス中で、対象の画
素群がある位置をＩ行Ｊ列とすれば、Ｉ、Ｊはそれぞれ次式で求めることができる。
Ｉ＝ｉ  −  ｉｎｔ（ｉ／３２）×３２
Ｊ＝ｊ  −  ｉｎｔ（ｊ／３２）×３２
ここで、ｉｎｔは、小数点以下を切り捨てて整数化することを表す前述した演算子である
。従って、画素群の座標値（ｉ，ｊ）に上式を適用してＩ，Ｊを求めることで、その画素
群がディザマトリックス中でＩ行Ｊ列にあることが分かる。これより、分類番号は、
Ｉ＋（Ｊ−１）×３２  …（２）
によって求めることができる。
【０１７８】
また、画素群のディザマトリックス中での位置を表す値Ｉ，Ｊは、上述したような計算
を実行せずとも、ｉ，ｊの２進数表示から所定ビットのデータを抜き出すだけで、極めて
簡便に求めることができる。図３０は、画素群の座標値（ｉ，ｊ）から、画素群のディザ
マトリックス中での位置を求める方法を具体的に示した説明図である。図３０（ａ）は、
数値ｉを表す１０ビットの２進数表示したデータを概念的に示している。尚、図３０（ａ
）では、各ビットを識別するために、最上位ビットから最下位ビットに向かって１番から
１０番までの通し番号を付して表示している。
【０１７９】
画素群の位置を示す値Ｉを求めるに際しては、先ず初めに、ｉｎｔ（ｉ／３２）を算出
する。この演算は、ｉの２進数データを右方向に５ビット分だけビットシフトさせること
で実行することができる（図３０（ｂ）参照）。次いで、ｉｎｔ（ｉ／３２）×３２を算
出する。この演算は、ｉｎｔ（ｉ／３２）の２進数データを左方向に５ビット分だけビッ
トシフトさせることで実行することができる（図３０（ｃ）参照）。最後に、数値ｉから
、ｉｎｔ（ｉ／３２）×３２を減算すれば、目的とする数値Ｉを得ることができる。この
操作は、結局は、数値ｉの２進数データから下位の５ビットのみを抜き出していることに
他ならないから、極めて簡便に数値Ｉを得ることが可能である。同様にして、数値ｊの２
進数データから下位の５ビットのみを抜き出すことで、極めて簡便に数値Ｊを得ることが
可能である。こうして数値ＩおよびＪが求まれば、上述の（２）式を用いて分類番号を算
出することができる。図２８に示した第２のドットデータ生成処理のステップＳ５０４で
は、以上のようにして画素群の分類番号を算出する。
【０１８０】
こうして画素群の多値化結果値を取得して（図２８のステップＳ５０２）、分類番号を
求めたら（Ｓ５０４）、デコードテーブルを参照することにより、画素群内の各画素につ
いてドット形成の有無を表したドットデータを読み出してやる（ステップＳ５０６）。デ
コードテーブルには、画素群の多値化結果値と分類番号の組合せ毎に、画素群についての
ドットデータが予め設定されている。
【０１８１】
図３１は、第２のドットデータ生成処理で参照されるデコードテーブルを概念的に示し
た説明図である。図示されているように、デコードテーブルには、多値化結果値と分類番
号との組合せに対応付けて、画素群内の各画素に形成されるドット種類を表すデータ（ド
ットデータ）が設定されている。従って、このようなデコードテーブルを参照すれば、画
素群の分類番号と画素群階調値との組合せから、対応するドットデータを直ちに読み出す
ことができる。例えば、分類番号ｉ番、画素群階調値ｊであれば、ドットデータはＤＤ（
ｉ，ｊ）となる。こうして読み出されたドットデータには、画素群内の各画素についてド
ット形成の有無が記述されている。
【０１８２】
図３２は、デコードテーブルに設定されているドットデータのデータ構造を示した説明
図である。図３２（ａ）に示すように、ドットデータは２ビットずつのデータ８組から構
成された１６ビット長のデータとなっている。ここで、１つのドットデータが８組のデー
タから構成されているのは、本実施例では、１つの画素群に８つの画素が含まれているこ
とに対応するものである。従って、例えば、１つの画素群が４つの画素から構成される場
合は、１つのドットデータは４組のデータから構成されることになる。また、１組のデー
タが２ビットとなっているのは、本実施例のカラープリンタ２００が１つの画素あたり、
「大ドットを形成」、「中ドットを形成」、「小ドットを形成」、「ドットを形成しない
」の４つの状態を表現し得ることに対応したものである。すなわち、１つの画素あたり４
つの状態しか取り得ないのであれば、２ビットで表現可能である。そこで、画素１つ分に
対応する１組のデータを、２ビットのデータ長としているのである。
【０１８３】
また、図３２に示すように、ドットデータを構成する８組のデータは、それぞれ画素群
内の所定位置の画素に対応付けられている。例えば、図３２（ａ）に示したドットデータ
の先頭にある１組目のデータは、図３２（ｂ）に示すように、画素群内で左上隅の画素に
対応している。また、ドットデータの先頭から２組目のデータは、画素群内で上段の左か
ら２番目の画素に対応している。このように、ドットデータを構成する８組のデータは、
それぞれ画素群内の所定位置の画素に予め対応付けられている。
【０１８４】
そして、各組のデータの内容は、対応する画素に形成するドットの種類を表している。
すなわち、２ビットのデータ「１１」は大ドットを形成することを意味している。２ビッ
トのデータ「１０」は中ドットを形成することを意味しており、「０１」は小ドットを形
成することを、そして「００」はドットを形成しないことを意味している。以上の説明か
ら分かるように、図３２（ａ）に例示したドットデータは、画素群の左上隅の画素には大
ドットを形成し、上段の左から３番目の画素には中ドットを、下段の左から２番目の画素
には小ドットを、画素群の右下隅の画素には中ドットを形成し、そして、その他の画素に
はドットを形成しないことを表すデータとなっている。
【０１８５】
このように、デコードテーブルに設定されているデータは、画素群内の各画素について
何れのドットを形成するかを直接表すデータとなっているので、かかるデコードテーブル
を参照することにより、画素群の分類番号と多値化結果値との組合せから、直ちに、画素
群内の各画素についてのドット形成有無を決定することが可能となるのである。
【０１８６】
次いで、全画素群についてドット形成の有無を決定したか否かを判断し（図２８のステ
ップＳ５０８）、未処理の画素群が残っていれば（ステップＳ５０８：ｎｏ）、ステップ
Ｓ５００に戻って新たな画素群を選択し、その画素群について続く一連の処理を行う。こ
うした操作を繰り返して、全画素群について処理を終了したと判断されたら（ステップＳ
５０８：ｙｅｓ）、得られたドットデータをインク吐出用ヘッドに出力する（ステップＳ
５１０）。そして、図２８に示した第２のドットデータ生成処理を終了して、図６の画像
印刷処理に復帰する。画像印刷処理では、このようにして生成されたドットデータに従っ
てインク吐出用ヘッドを駆動してインク滴を吐出することにより、印刷用紙上にドットを
形成して画像を印刷する。
【０１８７】
Ｅ−２．多値化結果値をコードデータに変換可能な理由  ：
次に、以上に説明した第２のドットデータ生成処理によっても、前述した第１のドット
データ生成処理と同様に、高画質な画像を印刷することが可能な理由について説明する。
図３３は、前述した第１のドットデータ生成処理において、多値化結果値から、画素群内
の各画素について大中小各ドットの形成有無を判断する処理の大まかな流れを概念的にま
とめた説明図である。図示されているように、第１のドットデータ生成処理では、多値化
結果値および分類番号から、変換テーブルを参照して個数データを決定する。また、予め
記憶されている順序値マトリックスの中から、分類番号に対応付けて記憶されているマト
リックスを読み出しておく。そして、順序値マトリックスに設定されている順序値と、個
数データを変換して得られた中間データとを用いて、画素群内の各画素についてのドット
形成有無を決定した。
【０１８８】
このように、第１のドットデータ生成処理では、画素群の多値化結果値および分類番号
が決まれば、画素群内の各画素に形成されるドットの種類を決定することができる。従っ
て、予め、多値化結果値と分類番号との組合せ毎に、画素群内の各画素に形成されるドッ
トの種類を求めてデコードテーブルに記憶しておけば、かかるデコードテーブルを参照す
るだけで、直ちにドット形成有無を決定することが可能となるのである。こうして得られ
たドットデータは、第１のドットデータ生成処理によって得られたドットデータと全く同
じデータとなる。結局、デコードテーブルを参照して、多値化結果値をドットデータに変
換しても、ドットが良好に分散された高画質な画像を印刷することが可能となるのである
。
【０１８９】
Ｅ−３．コンピュータ内で多値化結果値を迅速に得る方法  ：
前述した第１のドットデータ生成処理では、図９に示した閾値テーブルを参照すること
により、画素群の画素群階調値を多値化結果値に変換していた。しかし、コンピュータ１
００内で、画素群階調値を多値化結果値に変換する場合は、より迅速に多値化結果値を得
ることが可能である。以下では、かかる方法について簡単に説明する。
【０１９０】
図３４は、コンピュータ１００内で画素群階調値を多値化結果値に変換する際に参照さ
れるエンコードテーブルを概念的に示した説明図である。図示されているように、エンコ
ードテーブルには、画素群の分類番号毎に、画素群階調値に対する多値化結果値が対応づ
けて記憶されている。このエンコードテーブルは、第１のドットデータ生成処理で参照し
た閾値テーブルを、画素群階調値に対する多値化結果値が明示された表現形式に書き直し
たものとなっている。すなわち、閾値テーブルを参照して多値化結果値を決定する場合は
、前述したように、先ず、分類番号に設定されている閾値の組を読み出して、画素群階調
値より小さな閾値の個数を数えることで多値化結果値を求めることができた。従って、分
類番号と画素群階調値とが決まれば、閾値テーブルを参照して多値化結果値を決定するこ
とが可能である。そこで、分類番号と画素群階調値との組合せ毎に、多値化結果値を予め
求めておくことによって得られたテーブルが、図３４に示したエンコードテーブルである
。このようなエンコードテーブルを参照すれば、分類番号と画素群階調値との組合せから
、迅速に多値化結果値を求めることが可能となる。
【０１９１】
もっとも、このようなデコードテーブルは、分類番号と画素群階調値との組合せ毎に多
値化結果値が設定されているため、デコードテーブルを記憶しておくためには多くのメモ
リ容量を必要とするという難点がある。従って、コンピュータ１００などのように、比較
的多くのメモリ容量を搭載している場合には、デコードテーブルを参照して多値化結果値
を求めることが好ましい。これに対して、カラープリンタ２００のように、搭載している
メモリ量が比較的少ない場合には、閾値テーブルを参照して多値化結果値を求めることと
すれば、少ないメモリ使用量で画素群階調値を多値化結果値に変換することができる。
【０１９２】
以上に説明したように、第２のドットデータ生成処理によれば、デコードテーブルを１
階参照するだけで、多値化結果値から画素群内の各画素についてのドット形成有無を直ち
に決定することができる。従って、コンピュータ１００から供給された画素群毎の多値化
結果値を速やかにドットデータに変換することができる。
【０１９３】
また、コンピュータ１００内では、デコードテーブルを参照することで迅速に多値化結
果値を求めることができる。更に、画素群毎の多値化結果値であれば、画像データあるい
はドットデータよりも、遙かに少ないデータ量で表現することができる。このため、印刷
しようとする画像のデータを、多値化結果値の形態でカラープリンタ２００に供給すれば
、たとえ解像度が高く従って画素数の多い画像であっても、迅速にデータを出力すること
ができる。
【０１９４】
このように、第２のドットデータ生成処理では、コンピュータ１００で迅速に生成した
多値化結果値を迅速に受け取って、迅速にドットデータに変換することができる。このた
め、高画質な画像を速やかに印刷することができるのである。
【０１９５】
Ｆ．ドットデータの生成方法を切り替える理由  ：
上述したように本実施例のカラープリンタ２００では、デジタルカメラ１２０から画像
データを受け取った場合には、第１のドットデータ生成処理によってドットデータを生成
し、コンピュータ１００から画像のデータを受け取った場合には画素群毎の多値化結果値
の形態で受け取ることとして、第２のドットデータ生成処理によって画像データを生成し
ている。このように、デジタルカメラ１２０から画像データを受け取る場合と、コンピュ
ータ１００から画像のデータを受け取る場合とで、ドットデータを生成する方法を切り替
えているのは、次のようなことを考慮したためである。
【０１９６】
コンピュータ１００から受け取る画像のデータは、近年では解像度が高くなる傾向にあ
る。これは、画像を高い画質で印刷したいとする要請が高くなっており、これに伴って、
コンピュータ１００上で画像を作成した後、印刷のために画像データを出力するに際して
は、高解像度のデータとして出力することが多くなっているためである。また、デジタル
カメラ１２０などで撮影した画像であっても、コンピュータ１００に一旦読み込んで、画
像に種々の修正を加えた後、解像度を高くしてからカラープリンタ２００に出力されるこ
とも多くなっている。
【０１９７】
画像の解像度を高くすると、画像を構成する画素の数が多くなる分だけ、画像データの
データ量は増加する。このように画像データが大きくなると、画像データをドットデータ
に変換するための時間が長くなり、加えて、データをカラープリンタ２００に出力するた
めの時間も長くなる。更に、カラープリンタ２００が受け取ったデータに基づいてドット
を形成するための時間も長くなるので、結局、画像を印刷するために要する時間が増加し
てしまう。このため、コンピュータ１００から画像のデータを受け取る場合には、画像デ
ータをドットデータに迅速に変換することが重要となる。また、大量のデータをコンピュ
ータ１００からカラープリンタ２００に供給する必要があるので、できるだけ迅速に供給
可能な形態でデータを供給することも重要となる。
【０１９８】
一方、デジタルカメラ１２０から画像データをカラープリンタ２００に直接供給して画
像を印刷する場合には、画像データをドットデータに変換する処理を、カラープリンタ２
００内で行わなければならない。一般に、カラープリンタ２００に搭載されているＣＰＵ
は、コンピュータ１００に搭載されているもの程には処理能力が高いわけではなく、また
ＲＡＭもコンピュータ１００のようには十分なメモリ量のＲＡＭが搭載されているわけで
はない。従って、できるだけＣＰＵに負担を掛けない簡素な処理で、しかもメモリを圧迫
しない処理としておくことが望まれる。これに対して、コンピュータ１００から画像のデ
ータを受け取る場合は、コンピュータ１００に搭載されたＣＰＵやＲＡＭを利用すること
ができるので、カラープリンタ２００内で画像処理を行うときのような、こうした問題が
生じることはない。
【０１９９】
本実施例のカラープリンタ２００では、デジタルカメラ１２０から画像データを受け取
って印刷する場合と、コンピュータ１００から画像のデータを受け取って印刷する場合と
で、それぞれに生じる上述した要請を共に満足させるために、ドットデータを生成するた
めの処理方法を切り替えているのである。以下では、先ず初めに、コンピュータ１００か
ら画像のデータを受け取る場合について説明し、次に、デジタルカメラ１２０から画像デ
ータを受け取る場合について説明する。
【０２００】
Ｆ−１．コンピュータから画像のデータを受け取る場合  ：
先ず、コンピュータ１００から画像のデータを受け取る場合は、前述したように、画素
群毎の多値化結果値の形態でデータを受け取り、図３１に示したデコードテーブルを参照
してドットデータに変換する。画素群毎の多値化結果値は、画素毎に階調値が設定された
画像データや画素毎にドット形成の有無を表したドットデータよりも少ないデータ量で表
現することができるので、画像のデータを多値化結果値の形態で供給すれば、コンピュー
タ１００からカラープリンタ２００に迅速に画像のデータを供給することが可能となる。
加えて、図３１に示したデコードテーブルを参照すれば、多値化結果値をドットデータに
速やかに変換することができる。更に、コンピュータ１００の内部においても図３４に示
したエンコードテーブルを参照すれば、画素群の画素群階調値を速やかに多値化結果値に
変換することができる。結局、コンピュータ１００内で多値化結果値を速やかに生成し、
得られた多値化結果値を迅速にカラープリンタ２００に供給し、更にカラープリンタ２０
０内で迅速にドットデータに変換することができるので、高解像度の画像であっても速や
かに印刷することが可能となる。
【０２０１】
もっとも、このような方法を用いた場合には、コンピュータ１００内には、図３４に示
すエンコードテーブルを記憶しておき、カラープリンタ２００内には、図３１に示すデコ
ードテーブルを記憶しておく必要がある。これらテーブルを記憶するためには、以下のメ
モリ容量が必要となる。
【０２０２】
先ず、エンコードテーブルについては、図３４に示したように、分類番号と画素群階調
値との組み合わせ毎に１つずつ多値化結果値が設定されているから、エンコードテーブル
を記憶しておくためのメモリ量は、［分類番号の個数］×［画素群階調値の個数］×［多
値化結果値のデータ長］となる。分類番号の個数は、図１９を用いて説明したように、デ
ィザマトリックスの大きさと、画素群の大きさとによって決定される。本実施例では、１
つの画素群が８つの画素から構成されているものとし、ディザマトリックスが図１７に示
すような大きさであるとしているから、分類番号の個数は１０２４個となる。また、多値
化結果値のデータ長は、５ビットとなる。これは、閾値テーブルの設定方法についての説
明の中で前述したように、形成可能なドットの種類が３種類であり、画素群が８つの画素
から構成されているものとすれば、多値化結果値の取り得る種類は、高々２０数種類、多
く見積もっても３２種類を超えることはなく、３２種類以内であれば５ビットあれば表現
することができるからである。結局、エンコードテーブルを記憶するためのメモリ容量は
、１６０ｋバイト（＝１０２４×２５６×５ビット）となる。前述したように、コンピュ
ータ１００には比較的メモリ容量の大きなＲＡＭが搭載されているから、この程度のメモ
リ容量であれば、エンコードテーブルを記憶してもメモリを圧迫することはない。
【０２０３】
次にデコードテーブルについては、図３１に示したように、分類番号と多値化結果値と
の組み合わせ毎に画素群のドットデータが１つずつ設定されているから、デコードテーブ
ルを記憶しておくためのメモリ量は、［分類番号の個数］×［多値化結果値の個数］×［
画素群あたりのドットデータのデータ長］となる。前述したように分類番号の個数は１０
２４個、多値化結果値の個数は３２個である。また、画素群あたりのドットデータのデー
タ長は、１６ビットとなる。これは、形成可能なドットの種類が３種類であるから、画素
あたり２ビットあればその画素に形成されるドットの有無を表現することが可能であり、
また、画素群が８つの画素で構成されているから、画素群あたりでは２ビット×８画素で
１６ビットとなるからである。結局、デコードテーブルを記憶するためのメモリ容量は、
６４ｋバイト（＝１０２４×３２×１６ビット）となる。前述したように、カラープリン
タ２００に搭載されるメモリ量は、コンピュータ１００ほどには大きくはないが、この程
度のメモリ容量であれば、デコードテーブルを記憶しておいてもカラープリンタ２００の
メモリを圧迫することはない。
【０２０４】
Ｆ−２．デジタルカメラから画像データを受け取る場合  ：
次に、デジタルカメラ１２０から画像データを直接受け取る場合は、前述したように、
画像データから画素群毎の画素群階調値を求めた後、図９に示した閾値テーブルを参照し
て画素群毎の多値化結果値に変換する。次いで、図１１に示した変換テーブルを参照して
、多値化結果値を個数データに変換し、これを図１３に示す変換表に従って中間データに
変換する。そして最後に、画素群毎の順序値マトリックスを参照して、中間データを画素
群についてのドットデータに変換する。このようにして多段階の変換を経て、画像データ
をドットデータに変換してやれば、個々の変換は単純な処理となるためカラープリンタ２
００に搭載された処理能力の高くないＣＰＵでも速やかに処理することができる。加えて
、コンピュータ１００から画像のデータを転送することがないため、データの転送に時間
が掛かって印刷に要する時間が長くなってしまうこともない。しかも、個々の変換に際し
て参照されるテーブルは僅かなメモリ容量で記憶しておくことができるので、カラープリ
ンタ２００のメモリを圧迫することがない。以下、この点について具体的に説明する。
【０２０５】
先ず、閾値テーブルについては、図９に示したように、分類番号毎に閾値の組が設定さ
れているから、閾値テーブルを記憶しておくためのメモリ量は、［分類番号の個数］×［
閾値の組１組あたりのデータ量］となる。多値化結果値の取り得る範囲が高々０〜３１の
範囲としているから、閾値の組１組あたりに含まれる閾値の個数は３１個を越えることは
なく、閾値は１バイトで表現することができるから、結局、閾値テーブルを記憶するため
のメモリ容量は、３１ｋバイト（＝１０２４×３１×１バイト）に過ぎない。前述したエ
ンコードテーブルを記憶するために要するメモリ量（１６０ｋバイト）と比較すると、僅
かなメモリ量ということができる。
【０２０６】
次に、変換テーブルを記憶するためのメモリ量は次のようなものとなる。図１１に示し
たように、変換テーブルは、分類番号と多値化結果値との組み合わせ毎に個数データが設
定されているから、変換テーブルを記憶しておくためのメモリ量は、［分類番号の個数］
×［多値化結果値の個数］×［個数データのデータ長］となる。分類番号の個数は１０２
４個、多値化結果値の個数は３２個であり、個数データのデータ長は１バイトであるから
、結局、変換テーブルを記憶するためのメモリ容量は、約３２ｋバイト（＝１０２４×３
２×１バイト）となる。
【０２０７】
また、個数データを中間データに変換する際に参照される変換表については、次のよう
になる。図１３に示したように変換表には、個数データごとに中間データが記憶されてい
るから、変換表を記憶しておくために要するメモリ量は、［個数データの個数］×［中間
データのデータ長］となる。前述したように、形成可能なドットの種類が３種類で、画素
群に含まれる画素が８つであれば、個数データは高々０〜１６４の範囲しか取り得ないか
ら、結局、変換表を記憶しておくためのメモリ量は、０．３ｋバイト（＝１６５×１６ビ
ット）に過ぎない。
【０２０８】
最後に、画素群の分類番号ごとに順序値マトリックスを記憶しておくためのメモリ量に
ついて説明する。図１４に示したように、順序値マトリックスには画素毎に順序値が設定
されている。画素群に含まれる画素数を８つとすれば、順序値は１〜８の値しか取り得な
いので３ビットあれば順序値を表現することができるから、順序値マトリックスを１つ記
憶するために要するメモリ容量は、３バイト（＝３ビット×８）となる。結局、分類番号
毎に順序値マトリックスを記憶しておくためには、３ｋバイト（＝１０２４×３ビット×
８）のメモリ容量があればよい。
【０２０９】
以上に説明したように、画像データをドットデータに変換する際に、閾値テーブル、変
換テーブル、変換表、および順序値マトリックスを参照して変換することとすれば、閾値
テーブルが３１ｋバイト、変換テーブルが３２ｋバイト、変換表が０．３ｋバイト、順序
値マトリクスが３ｋバイトで、合計でも６６．３ｋバイトしか必要としない。前述したよ
うに、カラープリンタ２００に搭載されるメモリ量は、コンピュータ１００ほどには大き
くはないが、この程度のメモリ容量であれば、カラープリンタ２００のメモリを圧迫する
ことはない。従って、コンピュータ１００のようには、搭載されているＣＰＵの処理能力
が高くはなく、メモリ量にも制限のあるカラープリンタ２００でも、メモリを圧迫するこ
となく画像データをドットデータに変換して、高画質な画像を比較的速やかに印刷するこ
とが可能となるのである。
【０２１０】
Ｇ．変形例  ：
以上の説明では、デジタルカメラ１２０から画像データを受け取った場合は、閾値テー
ブルを参照して多値化結果値を生成した後、変換テーブル、変換表、および順序値マトリ
ックスを参照することによって、多値化結果値を画素群についてのドットデータに変換す
るものとして説明した。上述したように、変換テーブル、変換表、および順序値マトリッ
クスは、それぞれ３２ｋバイト、０．３ｋバイト、３ｋバイトであり、合計しても３５．
３ｋバイトにしかならないので、カラープリンタ２００のメモリを圧迫することなく画像
データをドットデータに変換することができた。もっとも、カラープリンタ２００のメモ
リに多少の余裕がある場合には、前述したデコードテーブルを参照して、多値化結果値を
画素群についてのドットデータに変換することとしても良い。すなわち、デジタルカメラ
１２０から画像データを受け取ると、画素群毎に画素群階調値を求め、閾値テーブルを参
照して多値化結果値に変換する。そして、図３１に示したデコードテーブルを参照するこ
とにより、多値化結果値を直接、画素群についてのドットデータに変換することとしても
良い。
【０２１１】
このようにしてデコードテーブルを参照すれば、多値化結果値からドットデータを直接
生成することができるので、迅速にドットデータを生成することができ、延いては画像を
迅速に印刷することができる。もちろん、前述したように、デコードテーブルを記憶する
ためには６４ｋバイトものメモリ量が必要となるが、変換テーブルや、変換表、および順
序値マトリックスを記憶しておく必要はなくなるので、実質的なメモリの増加は２８．７
ｋバイトとなる。
【０２１２】
加えて、コンピュータ１００から画素群毎の多値化結果値を受け取った場合と、デジタ
ルカメラ１２０から画像データを受け取った場合とで、同じデコードテーブルを共用する
ことができるというメリットも得ることができる。この場合は、変換テーブルや、変換表
、および順序値マトリックスを記憶しておくためのメモリ量を節約することも可能となる
。
【０２１３】
また、カラープリンタ２００内に、デジタルカメラ１２０から受け取った画像データを
変換するための各種テーブル（閾値テーブル、変換テーブル、変換表、および順序値マト
リックス）と、コンピュータ１００から受け取った多値化結果値を変換するためのデコー
ドテーブルとを記憶しておく場合でも、これらテーブルを圧縮して記憶しておき、ドット
データを生成する際に参照するテーブルを解凍して使用することとしても良い。このよう
に各種のテーブルを圧縮した状態で記憶しておけば、デジタルカメラ１２０から画像デー
タを受け取った場合と、コンピュータ１００から多値化結果値を受け取った場合とで、そ
れぞれ異なったテーブルを使い分ける場合でも、異なるテーブルを記憶しておくためにメ
モリが圧迫されることを回避することが可能となる。
【０２１４】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られる
ものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。
例えば、以上の実施例では、印刷用紙上にドットを形成して画像を印刷する場合について
説明したが、本発明の適用範囲は画像を印刷する場合に限られるものではない。例えば、
液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画
像を表現する液晶表示装置などにも、本発明を好適に適用することができる。
【図面の簡単な説明】
【０２１５】
【図１】本実施例の画像出力装置としてのプリンタの概要を示した説明図である。
【図２】本実施例のカラープリンタに画素群毎の多値化結果値を出力するコンピュータの構成を示す説明図である。
【図３】本実施例のカラープリンタの概略構成を示す説明図である。
【図４】インク吐出用ヘッドにおけるインクジェットノズルの配列を示す説明図である。
【図５】インク滴の吐出を制御することにより、大きさの異なるドットを形成する原理を示した説明図である。
【図６】本実施例のカラープリンタが画像を印刷するために行う画像印刷処理の流れを示すフローチャートである。
【図７】第１のドットデータ生成処理の流れを示すフローチャートである。
【図８】画素群の分類番号を決定する方法を示した説明図である。
【図９】画素群階調値を多値化する際に参照される閾値テーブルを示した説明図である。
【図１０】画素群の分類番号に応じて画素群階調値が異なる多値化結果値に変換される様子を概念的に示した説明図である。
【図１１】画素群の多値化結果値を個数データに変換する際に参照される変換テーブルを概念的に示した説明図である。
【図１２】個数データと、大ドット、中ドット、小ドットの個数の組合せとの対応関係を示した説明図である。
【図１３】個数データと中間データとを対応付けた対応表を示す説明図である。
【図１４】順序値マトリックスを例示した説明図である。
【図１５】中間データの中から順序値に対応する箇所のデータを読み出すことによりドット形成の有無を決定している様子を示した説明図である。
【図１６】順序値マトリックスに応じて異なるドットの配置が得られる様子を示す説明図である。
【図１７】ディザマトリックスの一部を拡大して例示した説明図である。
【図１８】ディザマトリックスを参照しながら各画素についてのドット形成の有無を判断している様子を概念的に示した説明図である。
【図１９】画素群毎の分類番号の意味する内容を示す説明図である。
【図２０】画素群の分類番号を算出する方法を示した説明図である。
【図２１】着目画素群の座標値の２進数表示から分類番号を求める方法を示した説明図である。
【図２２】ディザ法を発展させて画素毎に大ドット、中ドット、小ドットの形成の有無を決定可能としたハーフトーン処理の流れを示すフローチャートである。
【図２３】画像データの階調値を大中小各ドットについての密度データに変換する際に参照されるドット密度変換テーブルを概念的に示した説明図である。
【図２４】画素群内の各画素について大中小各ドットの形成有無を判断している様子を概念的に示した説明図である。
【図２５】閾値テーブルを設定する処理の流れを示したフローチャートである。
【図２６】変換テーブルを設定する処理の流れを示したフローチャートである。
【図２７】順序値マトリックスを設定する方法について具体的に示した説明図である。
【図２８】第２のドットデータ生成処理の流れを示すフローチャートである。
【図２９】画像上での画素群の位置に基づいて分類番号を求める方法を示した説明図である。
【図３０】画素群の座標値（ｉ，ｊ）から画素群のディザマトリックス中での位置を求める方法を具体的に示した説明図である。
【図３１】第２のドットデータ生成処理で参照されるデコードテーブルを概念的に示した説明図である。
【図３２】デコードテーブルに設定されているドットデータのデータ構造を示した説明図である。
【図３３】前述した第１のドットデータ生成処理において多値化結果値から画素群内の各画素について大中小各ドットの形成有無を判断する処理の大まかな流れを概念的にまとめた説明図である。
【図３４】コンピュータ内で画素群階調値を多値化結果値に変換する際に参照されるエンコードテーブルを概念的に示した説明図である。
【符号の説明】
【０２１６】
１０…プリンタ、  ２０…デジタルカメラ、  ３０…コンピュータ、
１００…コンピュータ、  １０８…周辺機器インターフェースＰＩＦ、
１０９…ディスクコントローラＤＤＣ、
１１０…ネットワークインターフェースカードＮＩＣ、
１１２…ビデオインターフェースＶＩＦ、
１１６…バス、  １１８…ハードディスク、  １２０…デジタルカメラ、
１２２…カラースキャナ、  １２４…フレキシブルディスク、
１２６…コンパクトディスク、  ２３０…キャリッジモータ、  ２３５…モータ、
２３６…プラテン、  ２４０…キャリッジ、  ２４１…印字ヘッド、
２４２…インクカートリッジ、  ２４３…インクカートリッジ、
２４４…インク吐出用ヘッド、  ２６０…制御回路、  ２００…カラープリンタ、
３００…通信回線、  ３１０…記憶装置
【図１】
2006191268.tif 000003
【図２】
2006191268.tif 000004
【図３】
2006191268.tif 000005
【図４】
2006191268.tif 000006
【図５】
2006191268.tif 000007
【図６】
2006191268.tif 000008
【図７】
2006191268.tif 000009
【図８】
2006191268.tif 000010
【図９】
2006191268.tif 000011
【図１０】
2006191268.tif 000012
【図１１】
2006191268.tif 000013
【図１２】
2006191268.tif 000014
【図１３】
2006191268.tif 000015
【図１４】
2006191268.tif 000016
【図１５】
2006191268.tif 000017
【図１６】
2006191268.tif 000018
【図１７】
2006191268.tif 000019
【図１８】
2006191268.tif 000020
【図１９】
2006191268.tif 000021
【図２０】
2006191268.tif 000022
【図２１】
2006191268.tif 000023
【図２２】
2006191268.tif 000024
【図２３】
2006191268.tif 000025
【図２４】
2006191268.tif 000026
【図２５】
2006191268.tif 000027
【図２６】
2006191268.tif 000028
【図２７】
2006191268.tif 000029
【図２８】
2006191268.tif 000030
【図２９】
2006191268.tif 000031
【図３０】
2006191268.tif 000032
【図３１】
2006191268.tif 000033
【図３２】
2006191268.tif 000034
【図３３】
2006191268.tif 000035
【図３４】
2006191268.tif 000036