JP2006191268A - 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置 - Google Patents

複数画素ずつ画像処理を行いながら画像を出力する画像出力装置 Download PDF

Info

Publication number
JP2006191268A
JP2006191268A JP2005000444A JP2005000444A JP2006191268A JP 2006191268 A JP2006191268 A JP 2006191268A JP 2005000444 A JP2005000444 A JP 2005000444A JP 2005000444 A JP2005000444 A JP 2005000444A JP 2006191268 A JP2006191268 A JP 2006191268A
Authority
JP
Japan
Prior art keywords
value
pixel group
data
pixel
dot
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.)
Withdrawn
Application number
JP2005000444A
Other languages
English (en)
Inventor
Shigeaki Sumiya
繁明 角谷
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005000444A priority Critical patent/JP2006191268A/ja
Publication of JP2006191268A publication Critical patent/JP2006191268A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】 高画質な画像を迅速に出力可能な技術を提供する。
【解決手段】 画像データをデジタルカメラから受け取った場合には、複数画素からなる
画素群毎に画素群階調値を決定し、画素群毎に記憶されている閾値と比較して画素群階調
値を多値化し、得られた多値化結果値をドットデータに変換する。一方、コンピュータか
らは、画素群毎の多値化結果値の形態で画像のデータを受け取り、多値化結果値と画素群
内でのドット形成の有無とが、画素群毎に関連付けられた対応関係を参照して、多値化結
果値をドットデータに変換する。こうすれば、処理能力やメモリが十分ではない機器でも
、デジタルカメラから画像データを受け取ってドットデータに変換し、画像を出力するこ
とができる。また、コンピュータから高解像度のデータを受け取った場合でも、高画質な
画像を迅速に出力することができる。
【選択図】 図1

Description

この発明は、画像データに基づいて画像を出力する技術に関し、詳しくは、画像データ
に所定の画像処理を施してドットを適切な密度で発生させることにより、画像を出力する
技術に関する。
印刷媒体や液晶画面といった各種の出力媒体上にドットを形成することで画像を出力す
る画像出力装置は、各種の画像機器の出力装置として広く使用されている。これら画像出
力装置では、画像は画素と呼ばれる小さな領域に細分された状態で扱われており、ドット
はこれら画素に形成される。もちろん1つ1つの画素について見れば、ドットが形成され
るか否かのいずれかの状態しか取り得ないが、ある程度の広さを持った領域で見れば、形
成するドットの密度に粗密を生じさせることが可能であり、ドットの形成密度を変えるこ
とによって多階調の画像を出力することが可能である。従って、ドットの形成密度を適切
に制御してやれば、多階調の画像を出力することが可能となる。このように適切な形成密
度が得られるようにドットの形成を制御するためのデータは、出力しようとする画像に所
定の画像処理を施すことによって発生させる。
また、近年では、これら画像出力装置に対しては、出力画像の高画質化が要請されるよ
うになっており、こうした要請に応えるために、画像をより細かな画素に分割して(すな
わち高解像度の画像として)取り扱うことが多くなってきた。もっとも、画像を高解像度
化すると、画素数が増加する分だけ画像処理に要する時間が長くなってしまい、画像を迅
速に出力することが困難となる。そこで、画像処理を迅速に実行可能とする技術が提案さ
れている(特許文献1)。
一方、最近になって、デジタルカメラなどで撮影した画像を手軽に出力したいとの要請
も強くなってきた。こうした要請に応えるために、画像を撮影した機器と画像出力装置と
を接続し、画像データを画像出力装置に直接供給して、画像出力装置内で画像処理を行っ
て画像を出力する技術が採用されるようになっている。また、かかる技術については、画
像出力装置に供給すべき画像データを簡単に指定するための技術など、種々の改良が行わ
れている(特許文献2など)。
特開2002−185789号公報 特開平10−126724号公報
しかし、高画質化の要請と、画像を手軽に出力したいという要請とは、互いに相反する
ことが多いため、従来の画像出力装置では、2つの要請を共に満足させるための構成につ
いては十分な配慮が払われていなかった。すなわち、高画質な画像を出力しようとすると
、画像の解像度が高くなり、画素数が増加するため画像処理に多くの記憶容量が必要とな
る。更に画像処理が高度化する傾向にあることとも相まって、高画質化の要請に対しては
、コンピュータなどを用いてある程度の画像処理を行っておくことが前提となる。このよ
うな場合は、コンピュータなどの高い処理能力と大きな記憶容量とを活用して、大きな画
像データを迅速に処理することが重要になる。これに対して、手軽に画像を出力したいと
いう要請に応えるためには、デジタルカメラなど画像を撮影する機器から、コンピュータ
などの画像処理装置を介さず、直接、画像出力装置に画像データを供給して、画像出力装
置内で画像処理を行った後に画像を出力することが前提となる。従って、画像出力装置の
有する限られた記憶容量および処理能力の制約の中で、できるだけ画質を維持して画像を
出力することが重要になる。このように、2つの要請に対して画像出力装置に要求される
性能は大きく異なっているため、これらを共に満足させるための構成については十分な配
慮が払われていなかった。
この発明は、従来の技術における上述した課題を解決するためになされたものであり、
高画質な画像を出力したいという要請と、手軽に画像を出力したいという要請とを、共に
満足させることの可能な合理的な構成を備えた画像処理技術の提供を目的とする。
上述した課題の少なくとも一部を解決するために、本願発明の画像出力装置は、次の構
成を採用した。すなわち、
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する画像出力装置であって、
画素毎の階調値が規定された画像データを受け取って、該画像データを前記ドットデー
タに変換する第1のデータ変換部と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取って、該多値化結果値を前記ドットデータに変換する
第2のデータ変換部と、
前記第1のデータ変換部または前記第2のデータ変換部のいずれかによって生成された
前記ドットデータに基づいてドットを形成するドット形成手段と
を備え、
前記第1のデータ変換部は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する多値化手段と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する多値化
結果値変換手段と
を備えた変換部であり、
前記第2のデータ変換部は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成するドットデータ生成手段を備えた変換部であることを要旨とする。
また、上記の画像出力システムに対応する本願発明の画像出力方法は、
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する画像出力方法であって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する工程(1)と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する工程(2)と、
前記工程(1)または前記工程(2)のいずれかによって生成された前記ドットデータ
に基づいてドットを形成する工程(3)と
を備え、
前記工程(1)は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副工程(1−a)と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副工程
(1−b)と
を備えた工程であり、
前記工程(2)は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副工程(2−a)を備えた工程であることを要旨とする。
かかる本願発明の画像出力装置および画像出力方法においては、画素毎の階調値が規定
された画像データ、あるいは、画素群毎の多値化結果値の何れかの形態で、出力しようと
する画像についてのデータを受け取る。そして、いずれの形態で受け取った場合にも、受
け取ったデータをそれぞれの方法でドットデータに変換した後、得られたドットデータに
基づいてドットを形成することにより画像を出力する。ここで、出力しようとする画像に
ついてのデータを画像データの形態で受け取った場合には、画素群にまとめられた各画素
の階調値から画素群階調値を決定した後、画素群毎に記憶されている少なくとも1つの閾
値と該画素群階調値とを比較することによって、該画素群階調値を多値化結果値に変換す
る。次いで、画素群毎に得られた多値化結果値に基づいて、画素群内の各画素についてド
ットの形成有無を決定することにより、多値化結果値をドットデータに変換する。一方、
出力しようとする画像についてのデータを画素群毎の多値化結果値の形態で受け取った場
合には、予め記憶されている対応関係を参照することにより、多値化結果値から画素群内
の各画素についてドットの形成有無を決定してドットデータを生成する。対応関係には、
多値化結果値と画素群内の各画素についてのドット形成の有無とが、画素群毎に関連付け
られているので、かかる対応関係を参照すれば、多値化結果値から画素群内の各画素につ
いてのドット形成有無を決定することができる。このように、出力しようとする画像につ
いてのデータを受け取った形態に応じて、いずれかの方法で生成されたドットデータに基
づいて画像を出力する。
詳細には後述するが、上述した方法を用いて画像データから多値化結果値を生成し、得
られた多値化結果値からドットデータを生成することとすれば、使用可能な記憶容量や処
理能力が限られている場合でも、十分な画質と処理速度とを維持して画像を出力すること
ができる。尚、画素毎の階調値が規定された画像データは、画素毎の階調値を決定するこ
とが可能なデータであれば足り、必ずしも各画素に階調値が設定されたデータである必要
はない。例えば、画素毎に設定された階調値が、いわゆるJPEGなどのように所定個数
の画素分ずつ圧縮した状態で記述されており、このデータを解凍することによって画素毎
の階調値を得ることができるようなデータであっても構わない。
一方、コンピュータなどの画像処理装置からデータを受け取る場合、すなわち、ある程
度の画像処理が施された形態でデータを受け取る場合には、画素群毎の多値化結果値の形
態で受け取って、予め記憶されている対応関係を参照しながら多値化結果値をドットデー
タに変換する。画像の全画素についてドット形成の有無を表すデータに比べれば、画素群
毎の多値化結果値は遙かに小さなデータとすることができるので、解像度が高く従って画
素数の多い画像を出力する場合でも迅速にデータを受け取ることができる。また、対応関
係を参照すれば、多値化結果値を迅速にドットデータに変換することができるので、速や
かに画像を出力することができる。加えて、理由については後ほど詳しく説明するが、対
応関係を適切に設定しておけば、このようにして画像を出力した場合でも画質が悪化する
ことはない。
また、画像データを受け取ってドットデータを生成するに際しては、次のようにして生
成することとしても良い。すなわち、画素群内に形成されるドットの個数を表す個数デー
タと多値化結果値とが画素群毎に関連付けられた変換テーブルを予め記憶しておき、かか
る変換テーブルを参照することによって、画素群毎に得られた多値化結果値から個数デー
タを生成する。ここで、個数データは画素群内に形成されるドットの個数が特定できるデ
ータであれば足り、直接的にドットの個数を表したデータである必要はない。また、個数
データと多値化結果値とが画素群毎に関連付けられているとは、個数データと画素群とを
特定すれば、対応する多値化結果値を決定可能であればよく、例えば、関数式などの態様
で対応付けられているものであっても構わない。このような変換テーブルに加えて、画素
群内の各画素についてドットが形成される順番も、画素群毎に記憶しておく。そして、変
換テーブルを参照して得られた画素群毎の個数データと、該画素群内の各画素について記
憶されている順番とに基づいて、画素毎にドット形成有無を決定することにより、ドット
データを生成することとしても良い。
詳細な理由は後述するが、画素群にドットが形成される順番を画素群毎に適切に記憶し
ておき、個数データと記憶しておいた適切な順番とに基づいて、各画素についてのドット
形成の有無を決定すれば、ドット形成の有無を適切に決定して、高画質な画像を出力する
ことが可能となる。
また、個数データから、画素群内の各画素についてのドット形成有無を決定するに際し
ては、次のようにして決定することとしても良い。すなわち、先ず初めに、個数データを
中間データに変換する。ここで中間データとは、画素群に含まれる画素数をNとして、該
画素群に形成されるドットの個数をMとしたときに、ドットを形成することを意味するM
個の連続するデータと、ドットを形成しないことを意味する(N−M)個の連続するデー
タとからなるデータである。次いで、個数データを変換して画素群毎に得られた中間デー
タの中から、画素群内の各画素に記憶された順番に対応する位置のデータを読み出すこと
により、その画素群内の各画素についてのドット形成の有無を決定することとしても良い
このようにして個数データを中間データに一旦変換しておけば、中間データの中から該
当する位置のデータを読み出すだけで、各画素についてのドット形成の有無を簡便に且つ
迅速に決定することが可能となる。
あるいは、多値化結果値を個数データに一旦変換してから中間データを求めるのではな
く、多値化結果値から直ちに中間データを求めることも可能である。すなわち、多値化結
果値と中間データとを画素群毎に対応付けて記憶しておき、多値化結果値から直ちに中間
データが得られるようにしても良い。
こうすれば、個数データを生成することなく直ちに中間データを求めることができるの
で、各画素についてのドット形成の有無を迅速に決定することができ、延いては、画像を
迅速に出力することが可能となる。
あるいは、上述した画像出力装置においては、画像データを受け取って画素群毎の画素
群階調値を多値化結果値に変換した後、多値化結果値と画素群内の各画素についてのドッ
ト形成の有無とが関連付けられた前記対応関係を参照することにより、多値化結果値をド
ットデータに変換することとしても良い。
こうすれば、画像のデータとして受け取った画素群毎の多値化結果値を、ドットデータ
に変換するために参照する対応関係を、画像データから画素群毎に決定した多値化結果値
をドットデータに変換する際にも利用することができるので、画像出力装置の記憶容量を
節約することが可能となるので好ましい。
また、こうした画像出力装置においては、画像中での位置に応じて画素群を複数種類に
分類し、各々の画素群に分類番号を付与しておき、該分類番号を用いて画素群を識別しな
がらドットデータを生成することとしても良い。すなわち、画素群階調値を多値化結果値
に変換するに際しては、分類番号毎に記憶されている少なくとも1つの閾値と比較するこ
とによって、画素群階調値を多値化する。また、得られた多値化結果値と、多値化結果値
が得られた画素群についての分類番号とに基づいて、多値化結果値をドットデータに変換
する。あるいは、多値化結果値と画素群内の各画素についてのドット形成の有無とを、分
類番号毎に関連付けて対応関係に記憶しておき、かかる対応関係を参照して、多値化結果
値からドットデータを生成することとしてもよい。
このように画像中での位置に応じて付与された分類番号に基づいて画素群を識別してお
けば、たとえ複数の画素群に亘って同じ画素群階調値が続いた場合でも、これら画素群の
分類番号が異なることとなるため、同じ多値化結果値が複数の画素群に亘って連続するこ
とがない。このため、ドットが一定のパターンで形成されてしまい、画質が悪化するおそ
れがない。また、以降の変換についても、分類番号を用いて画素群を識別しながら変換し
ていけば、画像中での位置に応じて適切に変換することができるので、高画質な画像を出
力することが可能となる。
尚、画像中での位置に応じて画素群を分類するに際しては、少なくとも100種類以上
の画素群に分類することとしても良い。
例えば、画素群を数種類にしか分類しないのであれば、広い領域に亘って同じ画素群階
調値が続く場合などには、多値化結果値が一定のパターンで繰り返されることが生じ、ド
ットの発生パターンに一定の規則性が表れてしまうことが起こり得る。こうしたことを回
避するためには、画素群をより多くの種類に分類しておくことが望ましいが、経験上、1
00種類以上の画素群に分類しておけば、ドットの発生に一定のパターンが現れることを
、実用上の問題が発生しない程度に抑制することが可能となる。
あるいは、こうした画像出力装置においては、画素群を分類する種類数と、画素群にま
とめられる画素数との乗算値が、少なくとも1000以上となるように設定することとし
ても良い。
画素群に含まれる画素数が多くなれば、1つの画素群内でもドットの発生パターンは多
くのパターンを取ることができる。従って、画素群を分類する種類が十分には多くない場
合でも、画素群に含まれる画素数が多ければ、これを補って、ドットの発生パターンに一
定の規則性が表れてしまうことを抑制することができる。経験によれば、画素群を分類す
る種類数と、画素群に含まれる画素数との乗算値が1000以上となるように選んでおけ
ば、ドットの発生に一定のパターンが現れることを抑制して、実用上の問題が発生するこ
とを回避することが可能である。
また、こうした画像出力装置においては、単ドットあたりに表現可能な階調値の異なる
複数種類のドットを形成可能として、画像データあるいは画素群毎に受け取った多値化結
果値を、複数種類のドットについての形成有無を表したドットデータに変換した後、得ら
れたドットデータに基づいて、各種のドットを形成することとしても良い。
複数種類のドットを形成可能な場合、画像データからドットデータを生成するために要
する時間が長くなる傾向にあり、あるいは、生成したドットデータを画像出力装置に供給
するための時間も長くなる傾向にある。これに対して、本願発明の画像出力装置では、形
成可能なドットの種類が増加しても、単純な処理で画像データをドットデータに変換する
ことができる。あるいは、画像のデータを、画素群毎の多値化結果値の形態で受け取れば
、ドットの種類が多い場合でも迅速にデータを受け取ることができる。結局、画素毎の階
調値が規定された画像データを受け取る場合でも、画素群毎の多値化結果値を受け取る場
合でも、ドットデータを迅速に生成して速やかに画像を出力することが可能となるので好
ましい。
また、画像データを受け取った場合と、画素群毎の多値化結果値を受け取った場合とで
、適切な方法で画像処理を施してドットデータを生成している点に着目すれば、本願発明
は、画像処理装置あるいは画像処理方法として把握することも可能である。すなわち、本
願発明の画像処理装置は、
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して、画像出力装置に供給する画像処理装置であって、
画素毎の階調値が規定された画像データを受け取って、該画像データを前記ドットデー
タに変換する第1のデータ変換部と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取って、該多値化結果値を前記ドットデータに変換する
第2のデータ変換部と、
前記第1のデータ変換部または前記第2のデータ変換部のいずれかによって生成された
前記ドットデータを前記画像出力装置に供給するドットデータ供給手段と
を備え、
前記第1のデータ変換部は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する多値化手段と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する多値化
結果値変換手段と
を備えた変換部であり、
前記第2のデータ変換部は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成するドットデータ生成手段を備えた変換部であることを要旨とする。
また、上記の画像処理装置に対応する本願発明の画像処理方法は、
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して、画像出力装置に供給する画像処理方法であって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する工程(A)と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する工程(B)と、
前記工程(A)または前記工程(B)のいずれかによって生成された前記ドットデータ
を前記画像出力装置に供給する工程(C)と
を備え、
前記工程(A)は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副工程(A−a)と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副工程
(A−b)と
を備えた工程であり、
前記工程(B)は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副工程(B−a)を備えた工程であることを要旨とする。
かかる本願発明の画像処理装置および画像処理方法においても、画素毎の階調値が規定
された画像データ、あるいは、画素群毎の多値化結果値の何れかの形態で画像のデータを
受け取ると、受け取った形態に応じて、それぞれの方法でドットデータに変換する。
こうすれば、画像データを受け取った場合には、使用可能な記憶容量や処理能力が限ら
れている場合でも、十分な画質と処理速度とを維持して、ドットデータを生成することが
できる。また、画素群毎の多値化結果値を受け取る場合には、たとえ解像度の高いデータ
であっても迅速にデータを受け取って、迅速にドットデータを生成することが可能となる
更に本願発明は、上述した画像出力方法あるいは画像処理方法を実現するためのプログ
ラムをコンピュータに読み込ませ、コンピュータを用いて実現することも可能である。従
って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体として
の態様も含んでいる。すなわち、上述した画像出力方法に対応する本願発明のプログラム
は、
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力する方法を、コンピュータで実現するためのプログラムであって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能(1)と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能(2)と、
前記機能(1)または前記機能(2)のいずれかによって生成された前記ドットデータ
に基づいてドットを形成する機能(3)と
をコンピュータを用いて実現するとともに、
前記機能(1)は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能(1−a)と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
(1−b)と
を備えた機能であり、
前記機能(2)は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能(2−a)を備えた機能であることを要旨とする。
また、上記のプログラムに対応する本願発明の記録媒体は、
画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
り、画像を出力するプログラムを、コンピュータで読み取り可能に記録した記録媒体であ
って、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能(1)と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能(2)と、
前記機能(1)または前記機能(2)のいずれかによって生成された前記ドットデータ
に基づいてドットを形成する機能(3)と
をコンピュータを用いて実現するプログラムを記憶しているとともに、
前記機能(1)は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能(1−a)と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
(1−b)と
を備えた機能であり、
前記機能(2)は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能(2−a)を備えた機能であるプログラム。
更に、上述した画像処理方法に対応する本願発明のプログラムは、
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して画像出力装置に供給する方法を、コンピュータで実現
するためのプログラムであって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能(A)と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能(B)と、
前記機能(A)または前記機能(B)のいずれかによって生成された前記ドットデータ
を前記画像出力装置に供給する機能(C)と
をコンピュータを用いて実現するとともに、
前記機能(A)は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能(A−a)と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
(A−b)と
を備えた機能であり、
前記機能(B)は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能(B−a)を備えた機能であることを要旨とする。
また、上記のプログラムに対応する本願発明の記録媒体は、
画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
無を表したドットデータを生成して画像出力装置に供給するプログラムを、コンピュータ
で読み取り可能に記録した記録媒体であって、
画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
ットデータに変換する機能(A)と、
複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
変換する機能(B)と、
前記機能(A)または前記機能(B)のいずれかによって生成された前記ドットデータ
を前記画像出力装置に供給する機能(C)と
をコンピュータを用いて実現するプログラムを記憶しているとともに、
前記機能(A)は、
前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
調値とを比較することにより、該画素群階調値を多値化する副機能(A−a)と、
前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
(A−b)と
を備えた機能であり、
前記機能(B)は、
前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
を生成する副機能(B−a)を備えた機能であることを要旨とする。
こうしたプログラム、あるいは記録媒体に記録されているプログラムをコンピュータに
読み込ませ、該コンピュータを用いて上述の各種機能を実現させれば、十分な画質を維持
したまま、ドットデータを迅速に生成し、延いては迅速に画像を出力することが可能とな
る。
以下では、本発明の作用・効果をより明確に説明するために、本発明の実施の形態を、
次のような順序に従って説明する。
A.実施例の概要:
B.装置構成:
C.画像印刷処理の概要:
D.第1のドットデータ生成処理:
D−1.処理の概要:
D−2.画素群の分類番号:
D−3.閾値テーブルの設定方法:
D−4.変換テーブルの設定方法:
D−5.順序値マトリックスの設定方法:
D−6.高画質な画像を印刷可能な理由:
E.第2のドットデータ生成処理:
E−1.処理の概要:
E−2.多値化結果値をコードデータに変換可能な理由:
E−3.コンピュータ内で多値化結果値を迅速に得る方法:
F.変形例:
A.実施例の概要 :
実施例の詳細な説明に入る前に、図1を参照しながら、実施例の概要について説明して
おく。図1は、本実施例の画像出力装置としてのプリンタ10の概要を示した説明図であ
る。図示されているように、本実施例のプリンタ10は、大きくは第1のデータ変換部と
、第2のデータ変換部と、ドット形成モジュールなどから構成されている。ドット形成モ
ジュールは、画素毎にドット形成の有無を表したドットデータを受け取って、印刷媒体上
にドットを形成することによって画像を出力する。ドットデータは、第1のデータ変換部
または第2のデータ変換部のいずれかによって生成されて、ドット形成モジュールに供給
される。
プリンタ10は、デジタルカメラ20などの撮影機器から画像データを受け取って画像
を出力することもできるし、コンピュータ30などによって画像処理が施されたデータを
受け取って画像を出力することもできる。尚、通常のプリンタでは、コンピュータなどで
画像処理が施されたデータを受け取る場合には、ドットデータに変換されたデータを受け
取るが、本実施例のプリンタ10では、以下に説明するように、ドットデータとは異なる
形態で受け取ることとしている。
デジタルカメラ20などからの画像データは、第1のデータ変換部に供給されて、次の
ようにしてドットデータに変換される。先ず、画素群階調値決定モジュールにて、画像デ
ータは画素群階調値に変換される。ここで画素群階調値とは、複数の画素が所定個数ずつ
まとめられた画素群について、画素群を代表する階調値である。次いで、画素群毎に少な
くとも1つの閾値が記憶されている閾値テーブルを参照しながら、画素群階調値と閾値と
を比較することによって画素群階調値を多値化結果値に変換する。こうして画素群毎に得
られた多値化結果値をドットデータに変換して、ドット形成モジュールに供給する。
一方、コンピュータ30などによって画像処理が施されたデータを受け取る場合には、
本実施例のプリンタ10では、画素群毎の多値化結果値の形態で受け取る。すなわち、印
刷しようとする画像を表した画像データを、コンピュータ30などの機能を用いて実現さ
れる多値化結果値生成モジュールによって画素群毎の多値化結果値に変換し、得られた多
値化結果値をプリンタ10に供給するのである。コンピュータ30の内部で生成された画
像データや、デジタルカメラ20などの撮影機器で撮影した画像データを多値化結果値生
成モジュールに供給すれば、これらの画像データを画素群毎の多値化結果値に変換するこ
とができる。こうして生成された多値化結果値は、プリンタ10の第2のデータ変換部に
供給される。第2のデータ変換部には、多値化結果値と、画素群内の各画素についてのド
ット形成の有無とが、画素群毎に関連付けられた変換テーブルが記憶されており、かかる
変換テーブルを参照することにより多値化結果値をドットデータに変換して、ドット形成
モジュールに供給する。
以上に説明したように、デジタルカメラ20などから直接画像データを受け取った場合
には、一旦、画素群階調値に変換し、閾値テーブルを参照することによって多値化結果値
に変換した後、得られた多値化結果値からドットデータを生成する。詳細な理由は後述す
るが、こうすれば、プリンタ10に搭載されたメモリを圧迫することなく画像データをド
ットデータに変換することができる。従って、メモリを節約するために解像度を低下させ
たり、画像処理を簡素化する必要がなく、高い画質を維持したまま画像を印刷することが
できる。一方、コンピュータ30などで画像処理したデータを受け取ることができる場合
には、画素群毎の多値化結果値の形態で受け取り、変換テーブルを参照しながら多値化結
果値をドットデータに変換する。画素毎にドット形成の有無を表すドットデータよりも、
画素群毎の多値化結果値の方がデータ量が小さくなることから、多値化結果値の形態でデ
ータを受け取ることで、画素数の多い高解像度の画像であっても迅速にデータを受け取る
ことができる。加えて、変換テーブルを参照することで、多値化結果値をドットデータに
迅速に変換することが可能となるため、高解像度の画像であっても速やかに印刷すること
が可能となる。結局、コンピュータ30などで画像処理が施されたデータを受け取る場合
は、高解像度の画像であっても迅速に高い画質で出力することができ、デジタルカメラ2
0などから直接画像データを受け取る場合でも十分な画質を維持したまま画像を出力する
ことが可能となる。以下では、このような実施例について詳しく説明する。
B.装置構成 :
図2は、本実施例のカラープリンタ200に画素群毎の多値化結果値を供給するコンピ
ュータ100の構成を示す説明図である。コンピュータ100は、CPU102を中心に
、ROM104やRAM106などを、バス116で互いに接続することによって構成さ
れた周知のコンピュータである。
コンピュータ100には、フレキシブルディスク124やコンパクトディスク126等
のデータを読み込むためのディスクコントローラDDC109や、周辺機器とデータの授
受を行うための周辺機器インターフェースPIF108、CRT114を駆動するための
ビデオインターフェースVIF112等が接続されている。PIF108には、後述する
カラープリンタ200や、ハードディスク118等が接続されている。また、デジタルカ
メラ120やカラースキャナ122等をPIF108に接続すれば、デジタルカメラ12
0やカラースキャナ122で取り込んだ画像に対して画像処理を施すことも可能である。
また、ネットワークインターフェースカードNIC110を装着すれば、コンピュータ1
00を通信回線300に接続して、通信回線に接続された記憶装置310に記憶されてい
るデータを取得することもできる。
図3は、本実施例のカラープリンタ200の概略構成を示す説明図である。カラープリ
ンタ200はシアン,マゼンタ,イエロ,ブラックの4色インクのドットを形成可能なイ
ンクジェットプリンタである。もちろん、これら4色のインクに加えて、染料または顔料
濃度の低いシアン(淡シアン)インクと、染料または顔料濃度の低いマゼンタ(淡マゼン
タ)インクとを含めた合計6色のインクドットを形成可能なインクジェットプリンタを用
いることもできる。尚、以下では場合によって、シアンインク,マゼンタインク,イエロ
インク,ブラックインク,淡シアンインク,淡マゼンタインクのそれぞれを、Cインク,
Mインク,Yインク,Kインク,LCインク,LMインクと略称することがあるものとす
る。
カラープリンタ200は、図示するように、キャリッジ240に搭載された印字ヘッド
241を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ240を
キャリッジモータ230によってプラテン236の軸方向に往復動させる機構と、紙送り
モータ235によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ240の
移動および印刷用紙の搬送を制御する制御回路260などから構成されている。
キャリッジ240には、Kインクを収納するインクカートリッジ242と、Cインク,
Mインク,Yインクの各種インクを収納するインクカートリッジ243とが装着されてい
る。インクカートリッジ242,243をキャリッジ240に装着すると、カートリッジ
内の各インクは図示しない導入管を通じて、印字ヘッド241の下面に設けられた各色毎
のインク吐出用ヘッド244ないし247に供給される。
図4は、インク吐出用ヘッド244ないし247におけるインクジェットノズルNzの
配列を示す説明図である。図示するように、インク吐出用ヘッドの底面には、C,M,Y
,Kの各色のインクを吐出する4組のノズル列が形成されており、1組のノズル列あたり
48個のノズルNzが、一定のノズルピッチkで配列されている。
制御回路260は、CPUや、ROM、RAM、PIF(周辺機器インターフェース)
等がバスで相互に接続されて構成されている。制御回路260は、キャリッジモータ23
0および紙送りモータ235の動作を制御することによってキャリッジ240の主走査動
作および副走査動作の制御を行う。また、コンピュータ100から出力された多値化結果
値のデータあるいはデジタルカメラ120等から出力された画像データは、一旦、制御回
路260に供給され、制御回路260内で、後述する所定の処理が施されてドットデータ
に変換される。そして、キャリッジ240の主走査および副走査に動きに合わせて、ドッ
トデータに従ってインク吐出用ヘッド244ないし247を駆動することにより、各ノズ
ルからインク滴を吐出する。こうして、制御回路260の制御の下、印刷媒体上の適切な
位置に各色のインクドットを形成することによって、カラープリンタ200はカラー画像
を印刷することが可能となっている。
また、本実施例のカラープリンタ200は、吐出するインク滴の大きさを制御すること
により、インクドットの大きさを制御することが可能である。以下、カラープリンタ20
0が大きさの異なるインクドットを形成する方法について説明するが、その準備として、
先ず、各色インクを吐出するノズルの内部構造について説明する。
図5(a)は、インクを吐出するノズルの内部構造を示した説明図である。各色のイン
ク吐出用ヘッド244ないし247には、このようなノズルが複数設けられている。図示
するように、各ノズルにはインク通路255と、インク室256と、インク室の上にピエ
ゾ素子PEとが設けられている。キャリッジ240にインクカートリッジ242,243
を装着すると、カートリッジ内のインクがインクギャラリ257を経由してインク室25
6に供給される。ピエゾ素子PEは、周知のように電圧を印加すると結晶構造が歪んで極
めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子PE
の両端に設けられた電極間に所定波形の電圧を印加することで、インク室256の側壁を
変形させる。その結果、インク室256の容積が減少し、容積の減少分に相当するインク
がインク滴IpとなってノズルNzから吐出される。このインク滴Ipがプラテン236
に装着された印刷用紙Pに染み込むことで、印刷用紙上にインクドットが形成される。
図5(b)は、ピエゾ素子PEに印加する電圧波形を制御することで、吐出するインク
滴の大きさを変更する原理を示した説明図である。ノズルからインク滴Ipを吐出するた
めには、ピエゾ素子PEに府の電圧を印加してインクギャラリ257からインク室256
内に一旦インクを吸入し、その後、ピエゾ素子PEに正電圧を印加してインク室容積を減
少させて、インク滴Ipを吐出させる。ここで、インクの吸引速度が適切であればインク
室容積の変化量に相当するインクが吸入されるが、吸引速度が速すぎると、インクギャラ
リ257とインク室256との間には通路抵抗があるためにインクギャラリ257からの
インクの流入が間に合わなくなる。その結果、インク通路255のインクがインク室内に
逆流して、ノズル付近のインク界面が大きく後退した状態となる。図5(b)に実践で示
した電圧波形aは、適正な速度でインクを吸引する波形を示し、破線で示した電圧波形b
は適切速度より大きな速度で吸引する波形の一例を示している。
十分なインクがインク室256内に供給された状態で、ピエゾ素子PEに正電圧を印加
すると、インク室256の容積減少に相当する体積のインク滴IpがノズルNzから吐出
される。これに対して、インクの供給量が不足してインク界面が大きく後退した状態で正
電圧を印加すると、吐出されるインク滴は小さなインク滴となる。このように、本実施例
のプリンタ200では、インク滴の吐出前に印加する府の電圧波形を制御してインクの吸
引速度を変更することで、吐出するインク滴の大きさを制御し、大ドット、中ドット、小
ドットの3種類のインクドットを形成することが可能となっている。
もちろん、3種類に限らず、より多種類のドットを形成することも可能である。更には
、微細なインク滴を一度に複数吐出して、吐出するインク滴の数を制御するといった方法
を用いて、印刷用紙上に形成されるインクドットの大きさを制御してもよい。このように
してインクドットの大きさを制御すれば、印刷しようとする画像の領域に応じて異なる大
きさのインクドットを使い分けてやることで、より高画質の画像を印刷することも可能と
なる。
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用する
ことができる。すなわち、ピエゾ素子を用いてインク滴を吐出する方式や、インク通路に
配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法など
を用いることができる。また、インク滴を吐出する代わりに、熱転写などの現象を利用し
て印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷
媒体上に付着させる方式のプリンタを使用することも可能である。
以上のようなハードウェア構成を有するカラープリンタ200は、キャリッジモータ2
30を駆動することによって、各色のインク吐出用ヘッド244ないし247を印刷用紙
Pに対して主走査方向に移動させ、また紙送りモータ235を駆動することによって、印
刷用紙Pを副走査方向に移動させる。制御回路260は、キャリッジ240の主走査およ
び副走査の動きに同期させながら、適切なタイミングでノズルを駆動してインク滴を吐出
し、これによってカラープリンタ200は印刷用紙上にカラー画像を印刷することができ
る。
以上に説明したように、本実施例のカラープリンタ200は、デジタルカメラ120な
どから画像データを受け取って直ちに画像を印刷することもできるし、コンピュータ10
0などで画像処理が施されたデータを受け取って画像を印刷することも可能となっている
。ここで、上述したように、カラープリンタ200の制御回路260内にはCPU,RA
M,ROMなどが搭載されていることから、コンピュータ100が行う処理をカラープリ
ンタ200内で実施することも原理的には可能である。しかし、カラープリンタ200の
処理能力はコンピュータ100のようには高くはなく、使用可能なメモリ量にも制限があ
ることから、コンピュータ100内で行う画像処理をそのまま実行することは、実際には
困難である。そこで、本実施例のカラープリンタ200では、印刷しようとする画像のデ
ータをコンピュータ100から受け取る場合と、デジタルカメラ120などから受け取る
場合とで、次のように画像処理方法を切り換えることで、適切に画像を印刷することを可
能としている。以下、本実施例のカラープリンタ200において、画像を印刷する処理に
ついて説明する。
C.画像印刷処理の概要 :
図6は、本実施例のカラープリンタ200が画像を印刷するために行う画像印刷処理の
流れを示すフローチャートである。かかる処理は、コンピュータ100などの画像処理装
置、あるいはデジタルカメラ120などの撮影機器から、印刷しようとする画像について
のデータを受け取ると、カラープリンタ200の制御回路260に内蔵されたCPUの機
能によって実行される処理である。尚、以下では、コンピュータ100を画像処理装置の
代表例とし、デジタルカメラ120を撮影機器など画像データを画像処理を行わずに出力
する機器の代表例として説明する。すなわち、以下の説明における「コンピュータ100
」との記載は、コンピュータに代表される各種の画像処理装置を指しているものとし、ま
た、「デジタルカメラ120」との記載は、デジタルカメラに代表される各種の撮影機器
など、画像データをそのまま出力する機器を指しているものとする。また、以下では、カ
ラープリンタ200は、コンピュータ100やデジタルカメラ120からデータを直接受
け取るものとして説明するが、もちろん、記録媒体を介してデータを受け取ることとして
も良い。
画像印刷処理を開始すると、制御回路260のCPUは先ず初めに、コンピュータ10
0あるいはデジタルカメラ120から画像のデータの読み込みを行う(ステップS100
)。本実施例のカラープリンタ200は、デジタルカメラ120からは画素毎の階調値が
規定されたデータの形態で画像のデータを受け取り、コンピュータ100からは画素群毎
の多値化結果値の形態で画像のデータを受け取る。
次いで、受け取った画像のデータが、画素群毎の多値化結果値か否かを判断する(ステ
ップS102)。かかる判断は、例えばデータのヘッダに、多値化結果値のデータか画素
毎の階調値のデータかを示す情報を設定しておき、ヘッダを解析することによって判断す
ることができる。そして、画素群毎の多値化結果値のデータではないと判断された場合は
(ステップS102:no)、画素毎の階調値を規定した画像データであると判断して、
第1のドットデータ生成処理を行う(ステップS104)。第1のドットデータ生成処理
では、後述するようにして、画像データをドットデータに変換する。一方、画素群毎の多
値化結果値のデータであると判断された場合は(ステップS102:yes)、第2のド
ットデータ生成処理を行う(ステップS106)。第2のドットデータ生成処理では、後
述する方法によって、画素群毎の多値化結果値をドットデータに速やかに変換することが
できる。
こうして、受け取った画像のデータに対して、第1のドットデータ生成処理あるいは第
2のドットデータ生成処理のいずれかの処理が施され、得られたドットデータに基づいて
ドットを形成する(ステップS108)。すなわち、キャリッジ240の主走査および副
走査の動きに合わせて、ドットデータに従ってインク滴を吐出することで、印刷用紙上の
適切な位置に適切な大きさのインクドットを形成する。以上のようにして、ドットデータ
に従って全てのドットが形成されたら、画像が印刷されたことになるので、図6に示す画
像印刷処理を終了する。
このように、本実施例のカラープリンタ200では、印刷しようとする画像のデータを
、画素毎に階調値が規定された画像データの形態で受け取った場合には(ステップS10
2:no)、第1のドットデータ生成処理を行うことにより以下の方法でドットデータを
生成し、画像のデータを画素群毎の多値化結果値の形態で受け取った場合には(ステップ
S102:yes)、第2のドットデータ生成処理を行って以下の方法によりドットデー
タを生成する。このため、デジタルカメラ120から受け取った画像データを、高い画質
を維持したまま印刷することができる。また、コンピュータ100から高解像度の画像の
データを受け取った場合には、高画質の画像を迅速に印刷することが可能である。以下で
は、先ず初めに第1のドットデータ生成処理の概要について説明し、次いで、かかる処理
を行うことで、デジタルカメラ120から受け取った画像データを、高い画質を維持した
まま印刷可能な理由について説明する。第2のドットデータ生成処理についても同様に、
初めに処理の概要について説明し、次いで、こうした処理を行うことで、高解像度の画像
を迅速に高い画質で印刷することができる理由について説明する。
D.第1のドットデータ生成処理 :
D−1.処理の概要 :
図7は、第1のドットデータ生成処理の流れを示すフローチャートである。かかる処理
は、図6に示した画像印刷処理中で、デジタルカメラ120から画像データを受け取ると
、カラープリンタ200の制御回路260に搭載されたCPUによって実行される処理で
ある。
第1のドットデータ生成処理を開始すると、先ず初めに、解像度変換処理を行う(ステ
ップS200)。解像度変換処理とは、デジタルカメラ120から供給された画像データ
の解像度を、カラープリンタ200が画像を印刷する解像度(印刷解像度)に変換する処
理である。画像データの解像度が印刷解像度よりも低い場合は、補間演算を行って画素間
に新たな画像データを生成し、逆に画像データの解像度が印刷解像度よりも高い場合には
、一定の割合でデータを間引くことによって、画像データの解像度を印刷解像度に一致さ
せる処理を行う。
次いで、カラープリンタ200に搭載されたCPUは、色変換処理を行う(ステップS
202)。色変換処理とは、デジタルカメラ120から受け取った画像データの表色系を
、カラープリンタ200で採用されている表色系に変換する処理である。すなわち、デジ
タルカメラ120では、通常、R,G,Bの階調値の組合せによって色彩を表現するRG
B表色系が採用されており、デジタルカメラ120から受け取った画像データは、RGB
カラー画像データとなっている。一方、カラープリンタ200は、前述したようにC,M
,Y,Kの4色のインクを用いて色彩を表現するCMY表色系が採用されている。そこで
、色変換処理を行って、デジタルカメラ120から受け取ったRGBカラー画像データを
、C,M,Y,Kの各色の階調値によって表現されたデータに変換するのである。色変換
処理は、色変換テーブル(LUT)と呼ばれる3次元の数表を参照することで行う。LU
Tには、RGBカラー画像データに対して、色変換によって得られるC,M,Y,K各色
の階調値が予め記憶されている。ステップS202の処理では、このLUTを参照するこ
とにより、RGBカラー画像データをC,M,Y,K各色の画像データに迅速に色変換す
ることが可能となっている。
以上のようにして色変換処理を行うことにより、RGB各色の画像データが、C,M,
Y,K各色の画像データに変換されたら、今度は、各色毎の画像データをドットデータに
変換する。尚、かかる処理はC,M,Y,Kの各色について同様に行われることから、説
明が煩雑となることを避けるために、以下では色を特定せずに説明した場合は、C,M,
Y,Kの各色について同様な処理が行われることを意味するものとする。
画像データをドットデータに変換するに際しては、先ず初めに、互いに隣接する所定個
数の画素をまとめて画素群を生成する(ステップS204)。ここでは、主走査方向に4
画素分、副走査方向に2画素分の合計8つの画素を画素群にまとめるものとする。尚、画
素群としてまとめる画素は、このように矩形状に縦横の位置が揃った画素である必要はな
く、互いに隣接し且つ所定の位置関係にあればどのような画素を画素群としてまとめても
良い。
次いで、画素群階調値と、画素群の分類番号とを決定する(ステップS206)。画素
群階調値とは、画素群を代表する階調値であり、次のようにして簡単に求めることができ
る。例えば、画素群内の各画素に割り当てられた画像データの平均値を求めて画素群階調
値とすることができる。あるいは、画素群の中で最も多くの画素に割り当てられた画像デ
ータ、更には、画素群内で特定の位置にある画素の画像データを画素群階調値とすること
も可能である。
また、画素群の分類番号とは、簡単に言えば、画素群内の各画素についてのドット形成
の有無をディザマトリックスを用いて判断するときに、ディザマトリックス中のどの部分
が画素群に適用されるかを表す番号である。画素群の分類番号は、次のようにして極めて
簡便に決定することができる。図8は、画素群の分類番号を決定する方法を示した説明図
である。図8(a)は、画像中で8つの画素をまとめて生成された1つの画素群を表して
いる。以下では、この画素群についての分類番号を決定する方法について説明する。尚、
図8(a)に示すような、分類番号を決定するために着目している画素群を、着目画素群
と呼ぶことにする。
今、画像の一番左上隅を原点に取って、原点からの主走査方向および副走査方向への画
素数によって画素位置を表すものとする。また、画素群の位置は、画素群の左上隅にある
画素の画素位置によって表すものとする。図8(a)では、着目画素群の位置を示す画素
に黒丸を付して表示している。この画素の画素位置が(X,Y)であったとする。着目画
素群の分類番号は、X,Yを2進数表示して、所定のビットに記憶されているデータを読
み出すだけで、極めて容易に決定することができる。例えば、図8(b)に示すように、
着目画素群の位置を表すX,Yがそれぞれ10ビットデータであったとする。そして、X
の最上位の4ビット目から8ビット目までのデータを読み出して得られた値をNとし、Y
の最上位の4ビット目から8ビット目までのデータを読み出して得られた値をMとする。
すると、本実施例の場合は、
N+(M−1)×32 …(1)
を算出することによって、画素群の分類番号を簡単に決定することができる。画素群の分
類番号の意味する内容、および、このようにして画素群の分類番号を決定することができ
る理由については、後ほど詳しく説明する。
こうして、画素群の分類番号と画素群階調値とを決定したら、以下に説明する閾値テー
ブルを参照することにより、画素群階調値を多値化する(ステップS208)。図9は、
画素群階調値を多値化する際に参照される閾値テーブルを示した説明図である。図示され
ているように閾値テーブルには、分類番号毎に、少なくとも1個以上の閾値の組が設定さ
れている。この閾値は、画素群階調値を階調値0から階調値255まで増加させたときに
、多値化結果値が切り換わる画素群階調値を表している。
一例として、分類番号1番の画素群について説明する。分類番号1番については、閾値
「2」から閾値「243」までの複数個の閾値からなる閾値の組が設定されている。この
中で最も小さな閾値は「2」であるから、この値に満たない画素群階調値、すなわち画素
群階調値「0」または「1」については、多値化結果値「0」に多値化される。また、閾
値の組の中で2番目に小さな閾値は「15」であるから、画素群階調値が「2」以上で「
15」未満の値であれば多値化結果値「1」に多値化される。同様に、画素群階調値「1
5」以上「18」未満であれば多値化結果値「2」に多値化され、画素群階調値「18」
以上「24」未満であれば多値化結果値「3」に多値化される。このように、画素群の画
素群階調値を、閾値テーブルに設定されている閾値の組と比較して、画素群階調値よりも
小さな閾値の個数を求めることにより、画素群階調値を多値化結果値に変換することがで
きる。
図9に示されているように、閾値テーブルに設定されている閾値の組は、分類番号毎に
閾値の値や閾値の個数が異なっている。このため、たとえ画素群階調値が同じ値であって
も、画素群の分類番号によって異なる値に多値化されることになる。
図10は、画素群の分類番号に応じて、画素群階調値が異なる多値化結果値に変換され
る様子を概念的に示した説明図である。図10では、横軸に画素群階調値を取り、縦軸の
多値化結果値を取った折れ線グラフを用いて、画素群階調値に対する多値化結果値を表示
している。尚、図中では、異なる分類番号N1〜N5を有する5つの画素群についての多
値化結果を示しているが、これら画素群の折れ線が重なって判別し難くなることを避ける
ために、多値化結果値の原点位置を縦軸方向に少しずつ、ずらして表示している。
一例として、図中に太い実線で示した分類番号N1番の画素群について説明すると、画
素群階調値が0〜4の範囲では、多値化結果値は「0」であるが、画素群階調値が5〜2
0の範囲では多値化結果値は「1」に増加する。次いで、画素群階調値が21〜42の範
囲では多値化結果値は「2」に増加し、画素群階調値が43〜69の範囲では多値化結果
値は「3」に増加する。このように、画素群階調値が増加するに従って、多値化結果値も
段階的に増加していき、最終的には、多値化結果値は「15」まで増加する。すなわち、
分類番号N1番の画素群については、階調値0〜255の範囲を取り得る画素群階調値を
、階調値0〜15までの16段階に多値化(言わば、16値化)していることになる。
同様に、図中で太い破線で示した分類番号N2番の画素群や、太い一点鎖線で示した分
類番号N3番の画素群については、階調値0〜255の範囲を取り得る画素群階調値を、
階調値0〜17までの18段階に多値化(言わば、18値化)している。更に、細い実線
で示した分類番号N4番の画素群および細い一点鎖線で示した分類番号N5番の画素群に
ついては、画素群階調値を階調値0〜20までの21段階に多値化(言わば、21値化)
していることになる。このように、図7に示す第1のドットデータ生成処理においては、
画素群毎の多値化の段数(多値化結果値の取り得る状態数)が同じではなく、画素群の分
類番号に応じて固有の段数で多値化されている。この結果、同じ画素群階調値を多値化し
た場合でも、画素群の分類番号が異なり、そのため多値化の段数が異なっていれば、異な
る結果値に多値化されることになる。
また、多値化段数が同じであったとしても、同じ画素群階調値が同じ多値化結果値に変
換されるわけではない。例えば、図10に示した分類番号N2の画素群と、分類番号N3
の画素群とを比較すれば明らかなように、これら画素群についての多値化段数はいずれも
18段であるが、多値化結果値が切り換わる画素群階調値は多くの場合、一致していない
。これは、分類番号N2と分類番号N3とで、図9に示した閾値テーブルに設定されてい
る閾値の組に異なった閾値が設定されていることによる。分類番号N4の画素群と分類番
号N5の画素群とについても同様に、これら画素群の多値化段数はいずれも21段である
が、多値化結果値が切り換わる画素群階調値は一致していないことが多い。このことから
、例え画素群の多値化段数が同じでも、分類番号が異なれば、異なる多値化結果値が得ら
れることになる。
以上に説明したように、図9に示した閾値テーブルには、画素群の分類番号毎に固有の
閾値の組が設定されている。図7に示した第1のドットデータ生成処理のステップS20
8では、画素群毎に決定しておいた画素群階調値および分類番号から、図9に示した閾値
テーブルを参照することにより、画素群の画素群階調値を多値化結果値に変換する処理を
行う。尚、図9に示す閾値テーブルの設定方法については、後ほど詳しく説明する。
次いで、画素群毎に得られた多値化結果値を個数データに変換する(図7のステップS
210)。個数データとは、画素群に形成されるドット個数を表すデータである。前述し
たように、カラープリンタ200は、大ドット、中ドット、小ドットの3種類のドットを
形成可能であるから、個数データは、これら各種ドットが画素群内に形成される個数を示
すデータとなる。多値化結果値から個数データへの変換は、予め設定しておいた変換テー
ブルを参照することにより、極めて迅速に行うことができる。
図11は、画素群の多値化結果値を個数データに変換する際に参照される変換テーブル
を概念的に示した説明図である。図示されているように、図示されているように、変換テ
ーブルには、多値化結果値に対応する個数データが、分類番号毎に設定されている。一例
として、分類番号1番の画素群について説明すると、多値化結果値0に対しては、個数デ
ータ「0」が設定されている。個数データ「0」は、大ドット、中ドット、小ドットの形
成個数がいずれも0個であることを表したデータである。また、多値化結果値1に対して
は個数データ「1」が設定されている。個数データ「1」は、大ドット、中ドットの形成
個数は0個であり、小ドットの形成個数が1個であることを表すデータである。更に、多
値化結果値15に対しては個数データ「164」が設定されている。個数データ「164
」は、大ドットを8個形成し、中ドットおよび小ドットは形成しないことを表すデータで
ある。尚、分類番号1番の画素群については、「16」より大きな多値化結果値に対して
は個数データが設定されていない。これは、分類番号1番の画素群は多値化段数が16段
であり、多値化結果値は0〜15の値しか取り得ないことに対応するものである。従って
、分類番号2番の画素群のように多値化段数が18段の画素群については、0〜17の多
値化結果値に対してのみ個数データが設定され、「18」より大きな多値化結果値に対し
ては、個数データが設定されることはない。尚、図12には、個数データと、その個数デ
ータが表す大ドット・中ドット・小ドットの個数の組合せとの対応関係が示されている。
また、図11に示すような変換テーブルを設定する方法については、別図を用いて後ほど
詳しく説明する。
このように、変換テーブルには、画素群内に形成される各種ドットの個数を示すデータ
が、画素群の分類番号と画素群階調値との組合せ毎に設定されている。従って、変換テー
ブルを参照すれば、画素群の多値化結果値を速やかに個数データに変換することができる
。図7に示した第1のドットデータ生成処理のステップS210では、このようにして画
素群毎の多値化結果値を個数データに変換する。
尚、個数データは、画素群内に形成されるドットの個数を、何らかの方法で特定するこ
とができれば、どのような形態のデータとすることもできる。例えば、画素群内に形成さ
れる大ドットの個数をK個、中ドットの個数をL個、小ドットの個数をM個として、「K
LM」という数値の並びを個数データとして用いることも可能である。もっとも、このよ
うな方法ではなく、上述したように、0〜164までの数値と、各種ドットについての形
成個数の組合せとを対応付けておき、この数値によって各種ドットの形成個数を表した方
が、個数データのデータ量を小さくすることが可能となる。以下、この点について説明す
る。
先ず、ここでは1つの画素群には8つの画素が含まれているとしているから、大ドット
の形成個数(K個)、中ドットの形成個数(L個)、小ドットの形成個数(M個)は、そ
れぞれ0〜8個の値を取り得る。従って、各種ドットの個数をそのまま並べて、KLMと
表現しようとすると、大ドットの個数、中ドットの個数、小ドットの個数を表すためにそ
れぞれ4ビットずつ必要であり、結局、画素群1つあたりの個数データは、12ビットの
データとなる。
一方、1つの画素群は8つの画素から構成されているから、画素群に形成され得るドッ
ト個数の合計は、最大でも8個である。例えば、大ドットが4個、中ドットが3個、小ド
ットが2個といったドット個数の組合せは、ドット個数の合計が9個となって8個を越え
てしまうので現実には発生し得ない。こうした点に着目すれば、現実に発生し得るドット
個数の組合せは、それほど多くの種類はないと考えられる。実際に算出すれば、次のよう
になる。画素群には8つの画素が含まれており、各画素についてみれば「大ドットを形成
する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」の
4つの状態を取り得る。従って、画素群に形成し得るドット個数の組合せは、これら4つ
の状態を、重複を許して8回選択した時の組合せの数に等しくなるから、
(=4+8−1
によって求められ、結局、最大でも165通りの組合せしか出現しないことになる。ここ
で、は、n個の物の中から重複を許してr回選択するときの重複組合せ数を求める
演算子である。また、は、n個の物の中から重複を許さずにr回選択するときの組
合せ数を求める演算子である。165通りの組合せであれば、8ビットあれば表現するこ
とができる。従って、現実に発生し得るドット個数の組合せにコード番号を設定しておけ
ば、画素群に形成すべきドット個数の組合せを8ビットのデータで表すことができる。結
局、各種ドットの形成個数を、図12に示すような対応関係によって表してやれば、ドッ
トの種類毎に形成個数を並べて表すよりも、個数データのデータ量を低減することが可能
となり、延いては分類番号と多値化結果値との組合せ毎に個数データが設定された変換テ
ーブルのデータ量を減少させることが可能となるのである。
以上のようにして、画素群の多値化結果値を個数データに変換したら(図7のステップ
S210)、個数データを一旦、中間データに変換する(ステップS212)。すなわち
、画素群毎に得られた個数データをドットデータに変換する準備として、個数データを、
より変換の容易なデータ形式に変更しておく処理を行うのである。
個数データから中間データへの変換は、予め設定しておいた対応表を参照することで速
やかに実行することができる。図13は、個数データと中間データとを対応付けた対応表
を示す説明図である。図示されているように変換表には、それぞれの個数データに、対応
する中間データが設定されており、それぞれの中間データは16ビット長のデータとなっ
ている。ここで、中間データのデータ長が16ビットとなっているのは、画素群内に含ま
れる画素数が8個であり、また、形成可能なドットの種類は大中小の3種類であるから画
素毎に2ビットあればドット形成の有無を表現可能であることによる。すなわち、中間デ
ータは、2ビットずつを1組として、画素数に相当する8組のデータを用いて、ドットの
形成有無を画素毎に表したデータとなっている。図13を参照しながら具体的に説明する
例えば、個数データ「1」は、大ドット0個、中ドット0個、小ドット1個の組合せを
示している。尚、参考として、図13の右側には、それぞれの個数データが示すドット個
数の組合せが示されている。今、小ドットを表す2ビットデータを「01」とすれば、個
数データ「1」に対応する16ビットデータは、「01」が1組だけ含まれており、他の
7組の2ビットデータは「00」であるようなデータとなる。尚、2ビットデータ「00
」はドットを形成しないことを表すデータである。
同様に、個数データ「163」は、大ドット7個、中ドット1個、小ドット0個の組合
せを示している。今、大ドットを表す2ビットデータを「11」として、中ドットを表す
2ビットデータを「10」とすれば、個数データ「163」に対応する16ビットデータ
は、「11」の2ビットデータが7組含まれており、「10」の2ビットデータが1組含
まれたデータとなる。
尚、これら2ビットデータは、大ドット、中ドット、小ドットの順番で、右詰めで設定
されている。例えば、ドット個数の組合せが、大ドット1個、中ドット2個、小ドット3
個であったとすると、8組の2ビットデータの中で、大ドットを表す2ビットデータ「1
1」は右端に1組だけ設定され、その左隣に続けて、中ドットを表す2ビットデータ「1
0」が2組設定され、更にその左隣に続けて、小ドットを表す2ビットデータ「01」が
3組設定され、残った2組には、ドットを形成しないことを表す2ビットデータ「00」
が設定されることになる。もっとも、これら2ビットデータを左詰めで設定することとし
ても良い。すなわち、大ドット、中ドット、小ドットの順番で左から順番に設定しても良
い。
図7に示した第1のドットデータ生成処理のステップS212では、図13に示す変換
表を参照することにより、画素群毎に得られた個数データを中間データに変換する処理を
行う。画素群に形成される各種ドットの個数をこのような形式で表現しておけば、後述す
るように画素との対応が取り易くなるため、ドット形成有無を簡便に決定することが可能
となる。
尚、本実施例では、図11に示した変換テーブルを参照することにより、画素群毎に得
られた多値化結果値を個数データに一旦変換した後、個数データを中間データに変換して
いる。しかし、図13に示すように、個数データと中間データとは一対一で対応する関係
にあり、個数データが決まれば直ちに中間データを決定することができることから、図1
1に示す変換テーブルで、個数データの代わりに中間データを設定しておき、変換テーブ
ルを参照することで直ちに多値化結果値から中間データを求めることとしても良い。こう
すれば、個数データを中間データに変換する手間が省けるので、迅速にドットデータを生
成することができる。もっとも、中間データは個数データよりもデータ長が長いので、変
換テーブルに個数データの代わりに中間データを設定すると、変換テーブルを記憶してお
くためのデータ量が増加してしまう。すなわち、本実施例では、個数データは1バイトの
データ長であるのに対し、中間データは2バイトのデータであるから、個数データを設定
した変換テーブルは、中間データを設定した変換テーブルの半分のメモリ容量で記憶して
おくことが可能となる。
以上のようにして中間データを取得したら、画素群に対応する順序値マトリックスを読
み込んで、画素群内の各画素についてのドット形成有無を決定する処理を行う(ステップ
S214)。ここで、順序値マトリックスとは、画素群内の各画素について、ドットが形
成される順番を設定したマトリックスである。
図14は、順序値マトリックスを例示した説明図である。図示されているように、順序
値マトリックスも画素群の分類番号毎に異なるマトリックスが設定されている。一例とし
て、図14(a)に示した分類番号1番の順序値マトリックスについて説明する。分類番
号1番の画素群は、画素群を構成する8つの画素の中で、左上隅にある画素が最もドット
の形成され易い画素として設定されている。順序値マトリックスの左上隅の画素に数値「
1」が設定されているのは、この画素が1番目にドットが形成される画素であることを表
したものである。尚、順序値マトリックスに設定されているこのような順番を表す数値を
、順序値と呼ぶものとする。また、画素群の右下隅の画素に順序値「2」が設定されてい
るのは、この画素が画素群中で2番目にドットが形成され易い(従って、この画素群内で
は2番目にドットが形成される)ことを表している。このように、順序値マトリックスに
は、画素群に含まれる8つの画素について、ドットが形成される順番を示す順序値が設定
されている。
こうした順序値マトリックスは、画素群の分類番号によって異なったマトリックスとな
っている。例えば、図14(b)に示した分類番号2番の順序値マトリックスでは、1番
目にドットが形成される画素(順序値「1」の画素)は、下段の左から2番目の画素であ
り、2番目にドットが形成される画素(順序値「2」の画素)は、右下隅の画素である。
図14(c)に示した分類番号3番の順序値マトリックスでは、1番目にドットが形成さ
れる画素(順序値「1」の画素)は、上段の右から2番目の画素であり、2番目にドット
が形成される画素(順序値「2」の画素)は、左下隅の画素である。尚、画素群の分類番
号毎に順序値マトリックスを設定する方法については、別図を用いて詳しく説明する。
カラープリンタ200の制御回路260に搭載されたROMには、図14に例示したよ
うな順序値マトリックスが画素群の分類番号毎に予め記憶されている。そして、画素群の
中間データから各画素についてのドット形成有無を決定するに際しては、画素群の分類番
号に対応する順序値マトリックスを読み出して、次のような処理を行う。
図15は、中間データの中から順序値に対応する箇所のデータを読み出すことにより、
ドット形成の有無を決定している様子を示した説明図である。図15(a)は、ある画素
群についての個数データを変換して得られた中間データを例示したものである。前述した
ように中間データは、16ビット長のデータであり、2ビットずつ8組のデータから構成
されている。また、図15(a)に示した中間データには、大ドットを表す2ビットデー
タ「11」が1組、中ドットを表す2ビットデータ「10」が2組、小ドットを表す2ビ
ットデータ「01」が3組、ドットを形成しないことを表す2ビットデータ「00」が2
組含まれており、これら2ビットデータが、大ドット、中ドット、小ドットの順序で右詰
めに設定されている。
今、画素群の分類番号が1番であったとする。分類番号1番の順序値マトリックスは、
図14(a)に示されている。この画素群の中からドット形成有無を決定しようとする画
素を1つ選択する。ここでは、画素群の左上隅の画素を選択したものとする。順序値マト
リックスによれば、この画素の順序値は「1」である。そこで、図15(a)に示す中間
データの中で、一番右端に設定されている2ビットのデータを読み出すことにより、この
画素に形成すべきドットの種類を決定することができる。図15(a)に示した例では、
一番右端に設定されている2ビットのデータは「11」であるから、この画素には大ドッ
トが形成されることになる。
次に、その右隣の画素(上段の左から2番目の画素)については、図14(a)の順序
値マトリックスには順序値「6」が設定されているから、図15(a)の中間データの中
で、右から6組目に設定されている2ビットデータを読み出せば、順序値6の画素に形成
すべきドットの種類を決定することができる。図15(b)には、中間データの右端から
6組目にある2ビットデータを読み出している様子が、概念的に示されている。図示した
例では、読み出した2ビットデータは「01」であるから、この画素には小ドットが形成
されることになる。
尚、以上では、中間データの中で2ビットデータを読み出す箇所を順序値に応じて変更
するものとして説明した。しかし、中間データの中で読み出す箇所を変えるのではなく、
データを読み出す箇所は固定しておき、中間データを順序値に相当する組数だけシフトさ
せることとしても良い。この様にしても、ドット形成の有無を決定することができる。図
15(c)は、中間データをシフトさせることによって、ドット形成有無を決定している
様子を概念的に示した説明図である。図示した例では、中間データの右端にある2ビット
データを読み出すこととして、中間データを画素の順序値に応じた組数(具体的には順序
値から1だけ少ない組数)だけ右方向にシフトさせている。図15(b)と図15(c)
とを比較すれば明らかなように、どちらの操作を行った場合でも、結局は、中間データの
中の同じ箇所に設定されている2ビットデータを読み出していることになる。データを所
定のビット数だけシフトさせる処理は、比較的高速に実施可能であることから、この様に
して中間データをシフトさせれば、順序値に応じた箇所の2ビットデータを迅速に読み出
して、着目している画素についてのドット形成の有無を迅速に決定することができる。
図16は、図14に示したそれぞれの順序値マトリックスに、図15(a)の中間デー
タを適用して、画素群内の各画素についてドットの形成有無を決定した様子を示した説明
図である。上述したように、画素群内の各画素についてドットが形成されるか否かは、画
素群について得られた中間データと、画素群の分類番号に対応付けて記憶されている順序
値マトリックスとによって決定されるから、たとえ中間データが同じ値であったとしても
、画素群の分類番号が異なれば、その画素群内に形成されるドットの配置は異なった配置
が得られることになる。
以上に説明したように、個数データを変換した中間データと順序値マトリックスとを参
照すれば、画素群内の各画素について何れのドットが形成されるか、あるいは何れのドッ
トも形成されないかを、簡単な操作によって決定することができる。図7に示した第1の
ドットデータ生成処理のステップS214では、このようにして、画素群内の各画素につ
いてドット形成の有無を決定する処理を行う。
こうして画素群内の全ての画素についてドット形成の有無を決定したら、上述した一連
の処理を全ての画素について行ったか否かを判断する(ステップS216)。そして、未
処理の画素が残っている場合は(ステップS216:no)、ステップS204に戻って
新たな画素群を生成した後、続く一連の処理を行うことにより、その画素群内の各画素に
ついてドット形成の有無を決定する。こうした処理を繰り返し、全ての画素について処理
を終了したと判断されたら(ステップS216:yes)、得られたドットデータをイン
ク吐出用ヘッドに出力する(ステップS218)。そして、図7に示した第1のドットデ
ータ生成処理を終了して、図6の画像印刷処理に復帰する。前述したように、画像印刷処
理では、出力されたドットデータに従ってインク滴を吐出することにより、印刷用紙上に
ドットが形成されて画像が印刷される。
以上、デジタルカメラ120から画像データを受け取ってドットデータを生成するため
の、第1のドットデータ生成処理の大まかな手順について説明した。次に、こうした手順
の意味するところ、および、こうした手順によって、画像データをドットデータに変換す
ることが可能な理由について説明する。
D−2.画素群の分類番号 :
上述したように、第1のドットデータ生成処理では、画素群階調値を多値化結果値に変
換する際にも、多値化結果値を個数データに変換する際にも、更に、個数データを変換し
て得られた中間データから画素群内の各画素についてのドット形成有無を決定する際にも
、画素群の分類番号を用いて処理を行っている。そこで、先ず初めに、画素群の分類番号
の意味するところについて詳しく説明する。
前述したように、画素群の分類番号とは、簡単に言えば、画素群内の各画素についての
ドット形成の有無をディザマトリックスを用いて判断するときに、ディザマトリックス中
のどの部分が画素群に適用されるかを表す番号である。図17は、ディザマトリックスの
一部を拡大して例示した説明図である。図示したマトリックスには、横方向(主走査方向
)に128画素、縦方向(副走査方向)に64画素、合計8192個の画素に、階調値1
〜255の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値
の階調値が1〜255の範囲から選択されているのは、本実施例では、画像データが階調
値0〜255の値を取り得る1バイトデータとしていることに加えて、画像データの階調
値と閾値とが等しい場合には、その画素にはドットを形成するものと判断していることに
よるものである。
すなわち、ドットが形成されるのは画像データの階調値が閾値よりも大きい画素に限る
(すなわち階調値と閾値とが等しい画素にはドットは形成しない)とした場合、画像デー
タの取り得る最大階調値と同じ値の閾値を有する画素には、決してドットが形成されるこ
とはない。こうしたことを避けるため、閾値の取り得る範囲は、画像データの取り得る範
囲から最大階調値を除いた範囲とする。逆に、画像データの階調値と閾値とが等しい画素
にもドットを形成するとした場合、画像データの取り得る最小階調値と同じ値の閾値を有
する画素には、常にドットが形成されてしまうことになる。こうしたことを避けるため、
閾値の取り得る範囲は、画像データの取り得る範囲から最小階調値を除いた範囲とする。
本実施例では、画像データの取り得る階調値が0〜255であり、画像データと閾値が等
しい画素にはドットを形成するとしていることから、閾値の取り得る範囲を1〜255と
しておくのである。尚、ディザマトリックスの大きさは、図17に例示したような大きさ
に限られるものではなく、縦と横の画素数が同じマトリックスも含めて種々の大きさとす
ることができる。
図18は、ディザマトリックスを参照しながら、各画素についてのドット形成の有無を
判断している様子を概念的に示した説明図である。ドット形成の有無を判断するに際して
は、先ず、判断しようとする画素を選択し、この画素についての画像データの階調値と、
ディザマトリックス中で対応する位置に記憶されている閾値とを比較する。図18中に示
した細い破線の矢印は、画像データの階調値と、ディザマトリックスに記憶されている閾
値とを、画素毎に比較していることを模式的に表したものである。例えば、画像データの
左上隅の画素については、画像データの階調値は97であり、ディザマトリックスの閾値
は1であるから、この画素にはドットを形成すると判断する。図18中に実線で示した矢
印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様
子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの
階調値は97、ディザマトリックスの閾値は177であり、閾値の方が大きいので、この
画素についてはドットを形成しないと判断する。ディザ法では、こうしてディザマトリッ
クスを参照しながら、画素毎にドットを形成するか否かを判断することで、画像データを
画素毎にドット形成の有無を表すデータに変換する。以上に説明した内容を踏まえて、以
下では、画素群の分類番号の意味する内容と、分類番号を決定する考え方について説明す
る。
図19は、画素群毎の分類番号の意味する内容を示す説明図である。具体的に説明する
ために、ここでは、主走査方向(紙面上では横方向)に4画素、副走査方向(紙面上では
縦方向)に2画素の合計8つの画素を画素群としてまとめることとして、図19(a)に
示すように、画像の一番左上隅の箇所の画素群に着目して説明する。
前述したように、ディザ法では画素に割り当てられた画像データの階調値と、ディザマ
トリックスの対応する位置に設定されている閾値とを比較して、画素毎にドット形成の有
無を判断している。一方、本実施例では、隣接する所定数の画素を画素群としてまとめて
いるから、ディザマトリックスに設定されている閾値についても、画素群に対応する所定
数ずつまとめてブロックを生成することにする。図19(b)は、図17に示したディザ
マトリックスに設定されている閾値を、横方向に4つ、縦方向に2つずつまとめて複数の
ブロックを生成した様子を示している。図17に示したディザマトリックスは、横方向(
主走査方向)に128画素分、縦方向(副走査方向)に64画素分の合計8192画素分
の閾値が設定されているから、これら閾値を横方向に4つ、縦方向に2つずつブロックに
まとめれば、ディザマトリックスは縦横それぞれ32個ずつ、合計1024個のブロック
に分割されることになる。
今、図19(b)に示すように、これらブロックに1番〜1024番までの通し番号を
付しておく。そして、画像データにディザマトリックスを適用した時に、各画素群の位置
に適用されるブロックの通し番号によって、画素群を分類してやる。例えば、図19(c
)に示したように、画像の一番左上隅にある画素群には、図19(b)中の通し番号1番
のブロックが適用されるから、この画素群は分類番号1番の画素群に分類される。以上に
説明したように、画素群の分類番号とは、その画素群にはディザマトリックス中のどのブ
ロックが適用されるかを表すものである。
次に、図8を用いて前述した方法によって、画素群の分類番号を算出可能な理由につい
て説明する。図20は、画素群の分類番号を算出する方法を示した説明図である。図20
(a)は、画像中で生成された1つの画素群を表している。以下では、この画素群を着目
画素群として、分類番号を算出する方法について説明する。前述したように、着目画素群
の位置は、画素群の左上隅にある画素の画素位置によって表すものとする。図20(a)
では、画素群の位置を示す画素に黒丸を付して表示している。この画素の画素位置が(X
,Y)であったとする。すると、各画素群の大きさは、主走査方向に4画素、副走査方向
に2画素としているから、
X=4n+1、 Y=2m+1
となるようなn、m(ここで、n,mは0以上の正整数)が存在する。換言すれば、着目
画素群の左側にはn個の画素群が並んでおり、着目画素群の上側にはm個の画素群が並ん
でいることになる。
ここで、前述したように画素群は、画像データにディザマトリックスを適用したときに
、着目画素群に適用されるブロックの通し番号に基づいて分類することとしているから(
図19参照のこと)、ディザマトリックスを移動させながら画像データに適用する方法に
よって、同じ画素群でも異なった分類番号に分類されることになる。実際には、ディザマ
トリックスを移動させながら画像データに適用する方法はどのような方法でも構わないが
、ここでは説明の便宜から、最も単純な方法すなわちディザマトリックスを横方向に移動
させるものとして説明する。図20(b)には、ディザマトリックスを横方向に少しずつ
移動させながら、繰り返し画像データに適用している様子が概念的に示されている。
図20(c)は、図20(b)に示すようにディザマトリックスを繰り返して用いなが
ら、図20(a)に示した着目画素群にディザマトリックスを適用している様子を概念的
に表している。このようにディザマトリックスを移動させていくと、ディザマトリックス
中のいずれかのブロックが、着目画素群に適用されることになる。ここでは、着目画素群
には、ディザマトリックス中でM行N列目のブロックが適用されたものとする。すると、
図20(a)に示したように着目画素群の左側にはn個の画素群があり、上側にはm個の
画素群があるから、Nとn、およびMとmとの間には、それぞれ
N=n − int(n/32)×32 + 1
M=m − int(m/32)×32 + 1
の関係が成り立っている。ここで、intは、小数点以下を切り捨てて整数化することを
表す演算子である。すなわち、int(n/32)は、n/32の計算結果に対して小数
点以下の数値を切り捨てることによって得られた整数値を表している。このように、着目
画素群の位置が分かれば、図20(d)に表示した上述の関係式から数値MおよびNを求
めて、ディザマトリックス中でM行N列目にあるブロックのブロック番号を、その着目画
素群の分類番号としてやればよい。もっとも実際には、図8を用いて前述したように、着
目画素群の座標値X,Yを2進数表示したデータから、所定ビットのデータを抜き出すだ
けで、極めて簡単に求めることができる。以下、この理由について説明する。
図21は、着目画素群の座標値の2進数表示から分類番号を求める方法を示した説明図
である。着目画素群の座標値を(X,Y)として、X,Yが10ビットで表現されている
ものとする。図21(a)は、数値Xを表す10ビットの2進数データを概念的に示して
いる。図では、各ビットを識別するために、最上位ビットから最下位ビットに向かって1
番から10番までの通し番号を付して表示している。
図20を用いて前述したように、着目画素群の左側にある画素群の個数nは、数値Xか
ら1を減算して4で除算すれば得ることができる。ここで、4での除算は、2ビット分だ
け右方向にシフトさせることで実施することができるから、数値Xから1を減算して、得
られた2進数データを右方向に2ビット分だけビットシフトさせればよい。更に、数値X
は任意の値を取るのではなく、4n+1の形式で表現可能な数値しか取り得ないから、1
を減算せずに、単に2進数データを右方向に2ビット分だけビットシフトさせるだけで、
画素群の個数nを得ることができる。図21(b)は、こうして数値Xをビットシフトし
て得られた個数nの2進数データを概念的に表している。
次いで、int(n/32)を算出する。すなわち、個数nを32で除算して、小数点
以下の数値を切り捨てる操作を行う。32による除算は、2進数データを右方向に5ビッ
ト分だけビットシフトさせることで実行可能であり、また、データを整数形式で扱ってい
れば、小数点以下の数値は自動的に切り捨てられてしまう。結局、int(n/32)の
2進数データは、個数nの2進数データを、単に右方向に5ビット分だけビットシフトさ
せることで得ることができる。図21(c)は、個数nをビットシフトして得られたin
t(n/32)の2進数データを概念的に表している。
こうして得られたint(n/32)に32を乗算する。32による乗算は、2進数デ
ータを5ビット分だけ左方向にビットシフトすることで実施することができる。図21(
d)は、個数nをビットシフトして得られたint(n/32)×32の2進数データを
概念的に表している。
次いで、個数nからint(n/32)×32を減算すれば、前述の数値Nを得ること
ができる。個数nの2進数データ(図21(b)参照)とint(n/32)×32の2
進数データ(図21(d)参照)とを比較すれば明らかなように、これら2進数データは
、上位の5ビットは共通しており、減算する側の数値の下位5ビットは全て「0」となっ
ている。従って、減算される側の数値(個数n)の下位5ビットをそのまま抜き出せば、
求める数値Mを得ることができる。すなわち、図21(b)に示した2進数データに対し
て、図21(f)に示すようなマスクデータを作用させるだけで、極めて簡便に数値Nを
得ることが可能である。より簡便には、図21(a)に示した着目画素群の位置を示す数
値Xの2進数データに対して、図21(g)のようなマスクデータを作用させて、4番目
〜8番目のビットデータを直接抜き出すことによっても、数値Nを得ることができる。
図21では、着目画素群の位置を示す座標値(X,Y)の数値Xから、ディザマトリッ
クス中でのブロック位置を示す数値Nを求める場合について説明したが、全く同様にして
、ブロック位置を示す数値Mも数値Yから求めることができる。結局、着目画素群の位置
が分かれば、2進数データから特定のビット位置のデータを抜き出すだけで、着目画素群
がディザマトリックス中で何行何列目のブロックに対応するかを知ることができ、このブ
ロックの通し番号を算出すれば、着目画素群の分類番号を得ることができる。図8を用い
て前述した分類番号の算出方法は、このようにして導かれた方法である。
D−3.閾値テーブルの設定方法 :
図7を用いて前述したように第1のドットデータ生成処理では、こうして分類番号を求
めた後、画素群階調値と分類番号とを組み合わせて閾値テーブルを参照することによって
画素群階調値を多値化結果値に変換している。図9に示したように閾値テーブルには、分
類番号毎に閾値の組が設定されており、閾値の組に設定されている閾値と画素群階調値と
比較することで、画素群階調値が多値化結果値に変換される。すなわち、画素群階調値を
適切に多値化結果値に変換するためには、適切な閾値テーブルを設定しておくことが大切
である。そこで、以下では、図9に示した閾値テーブルを設定する方法について説明する
本実施例の閾値テーブルは、大きさの異なる複数種類のドットについて画素毎にドット
形成の有無を判断可能なように、前述したディザ法を発展させた手法を基にして設定され
ている。かかる手法の詳細な内容は、特許3292104号に開示されている。閾値テー
ブルの設定方法を説明する前に、その準備として、上記の特許公報に開示された技術の概
要について簡単に説明しておく。
図22は、ディザ法を発展させて、画素毎に大ドット・中ドット・小ドットの形成の有
無を決定可能としたハーフトーン処理の流れを示すフローチャートである。ハーフトーン
処理を開始すると、先ず初めに、ドットの形成有無を判断しようとする画素を選択して、
その画素の画像データを取得する(ステップS250)。次いで、取得した画像データを
、大中小の各ドットについての密度データに変換する。ここで、密度データとは、ドット
をどの程度の密度で形成するかを表すデータである。密度データは、階調値が大きくなる
程、ドットが高い密度で形成されることを表している。例えば、密度データの階調値「2
55」は、ドットの形成密度が100%、すなわち全ての画素にドットが形成されること
を表しており、密度データの階調値「0」は、ドットの形成密度が0%、すなわちいずれ
の画素にもドットが形成されないことを表している。こうした密度データへの変換は、ド
ット密度変換テーブルと呼ばれる数表を参照することによって行うことができる。
図23は、画像データの階調値を大中小各ドットについての密度データに変換する際に
参照されるドット密度変換テーブルを概念的に示した説明図である。図示されているよう
に、ドット密度変換テーブルには、画像データの階調値に対して、小ドット・中ドット・
大ドットの各ドットについての密度データが設定されている。画像データが階調値「0」
近傍の領域では、中ドット・大ドットの密度データはいずれも階調値「0」に設定されて
いる。小ドットの密度データは、画像データの階調値が大きくなるにつれて増加して行く
が、画像データがある階調値に達すると今度は逆に減少し始め、代わりに中ドットの密度
データが増加し始める。画像データの階調値が更に増加して、ある階調値に達すると、小
ドットの密度データが階調値「0」となり、中ドットの密度データが減少し始めて、代わ
りに大ドットの密度データが少しずつ増加していく。図22のステップS252では、こ
のドット密度変換テーブルを参照しながら、画像データの階調値を、大ドットの密度デー
タ、中ドットの密度データ、小ドットの密度データに変換する処理を行う。
処理対象とする画素について、大中小各ドットの密度データが得られたら、先ず初めに
大ドットについての形成有無を判断する(図22のステップS254)。かかる判断は、
大ドットの密度データと、処理対象としている画素の対応する位置に設定されているディ
ザマトリックスの閾値とを比較することによって行う。大ドットの密度データが閾値より
も大きい場合は、処理対象の画素には大ドットを形成するものと判断し、逆に密度データ
の方が小さい場合は、大ドットは形成しないものと判断する。
次いで、処理対象の画素に大ドットを形成すると判断されているか否かを判定し(ステ
ップS256)、大ドットを形成すると判断されている場合は(ステップS256:ye
s)、中ドットおよび小ドットについての判断は省略して、全画素を終了したか否かを判
断する(ステップS268)。そして、ドット形成の有無を未判断の画素が残っている場
合は(ステップS268:no)、ステップS250に戻って新たな画素を選択し、続く
一連の処理を行う。
一方、処理対象の画素に大ドットを形成すると判断されていない場合は(ステップS2
56:no)、中ドットについての形成有無を判断するべく、大ドットの密度データに中
ドットの密度データを加算して中ドット用の中間データを算出する(ステップS258)
。こうして得られた中ドット用の中間データと、ディザマトリックスの閾値とを比較する
。そして、中ドット用の中間データの方が閾値よりも大きければ、中ドットを形成するも
のと判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、中ドッ
トを形成しないものと判断する(ステップS260)。
次いで、処理対象の画素に中ドットを形成すると判断されているか否かを判定し(ステ
ップS262)、中ドットを形成すると判断されている場合は(ステップS262:ye
s)、小ドットについての判断は省略して、全画素を終了したか否かを判断する(ステッ
プS268)。
処理対象の画素に中ドットを形成すると判断されていない場合は(ステップS262:
no)、小ドットについての形成有無を判断するべく、中ドット用の中間データに小ドッ
トの密度データを加算して小ドット用の中間データを算出する(ステップS264)。そ
して、得られた小ドット用の中間データと、ディザマトリックスの閾値とを比較する。そ
の結果、小ドット用の中間データの方が閾値よりも大きければ、小ドットを形成するもの
と判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、いずれの
ドットも形成しないものと判断する(ステップS266)。
すなわち、大ドットの密度データよりもディザマトリックスに設定された閾値の方が大
きい画素(大ドットが形成されない画素)については、大ドットの密度データに中ドット
の密度データを加算して、得られた中間データと閾値とを比較し、中間データの方が大き
くなれば、中ドットを形成すると判断する。一方、中間データよりも依然として閾値の方
が大きい画素については、中間データに小ドットの密度データを加算して新たな中間デー
タを算出する。そして、この中間データと閾値とを比較して、新たな中間データの方が大
きくなれば小ドットを形成すると判断し、依然として閾値の方が大きい画素についてはい
ずれのドットも形成しないと判断するのである。
以上のような処理を行うことにより、処理対象の画素について、大ドット、中ドット、
小ドットのいずれのドットを形成するか、若しくは、いずれのドットも形成しないかを判
断することができる。そこで、全画素についての処理を終了したか否かを判断し(ステッ
プS268)、未判断の画素が残っている場合は(ステップS268:no)、ステップ
S250に戻って新たな画素を選択し、続く一連の処理を行う。このようにして、処理対
象として選択された画素について1つずつ、大中小のいずれのドットを形成するか否かを
判断していく。そして、全画素について処理を終了したと判断されたら(ステップS26
8:yes)、図22に示したハーフトーン処理を終了する。
以上、ディザマトリックスを利用して、大中小の各ドットについての形成有無を判断す
る方法について説明した。以下では、上述の説明を踏まえて、図9に示した閾値テーブル
の設定方法について説明する。
前述したように多値化結果値生成処理では、画素群内に含まれる各画素の画像データを
画素群階調値で代表させることにより、画素群をまとめて多値化している。そこで、多値
化テーブルを設定するに際しては、先ず、画素群内の全画素が画素群階調値と同じ値の画
像データを有するものとして、各画素について大中小の各種ドットについての形成有無を
判断することを考える。各種ドットについての形成有無の判断は、図22を用いて前述し
たハーフトーン処理によって行う。
図24は、画素群内の各画素について、大中小各ドットの形成有無を判断している様子
を概念的に示した説明図である。図中では、ハーフトーン処理を行うために着目している
画素群を太い実線で囲って表している。画素群は8つの画素から構成されており、各画素
の画像データは、いずれも画素群階調値と同じ値(図示した例では階調値97)を有して
いる。大中小各種ドットの形成有無を判断するためには、画像データを各ドットについて
の密度データに変換する。密度データへの変換は、図23に示したドット密度変換テーブ
ルを参照することによって行う。ここでは、画素群内の全画素が同じ画像データを有する
ものとしているから、各種ドットについても密度データも全て画素について同じ値となる
。図示した例では、大ドットの密度データの階調値が「2」、中ドットの密度データの階
調値が「95」、小ドットの密度データの階調値が「30」であった場合を表している。
次いで、図22のフローチャートを用いて説明したように、大ドットの密度データ、中
ドット用の中間データ、あるいは小ドット用の中間データと、ディザマトリックスに設定
されている閾値とを比較することによって、各種ドットについての形成有無を画素毎に判
断する。ここで、比較に用いるディザマトリックスの閾値は、ディザマトリックスの中か
ら、着目している画素群に対応する箇所に設定されている閾値を使用する。例えば、図2
4に示した例では、画素群が画像の左上隅にあることから、閾値についても、ディザマト
リックス中の左上隅の画素群に設定されている閾値を使用する。
そして、画素群に設定されている8つの閾値の中で、大ドットの密度データよりも小さ
な閾値が設定されている画素については、大ドットを形成すると判断する。ここでは、大
ドットの密度データは階調値「2」としているから、大ドットが形成される画素は、閾値
「1」が設定されている画素だけである。図24では、大ドットが形成されると判断され
た画素には、細かい斜線を付して表示している。大ドットの密度データ「2」よりも大き
く、大ドットの密度データと中ドットの密度データとを加算して得られた中ドット用の中
間データ「97」よりも小さな閾値が設定されている画素には、中ドットを形成するもの
と判断する。このような画素は、閾値「42」が設定された画素、および閾値「58」が
設定された画素の2つの画素だけである。図24では、中ドットが形成されると判断され
た画素には、少し粗い斜線を付して表示している。そして、最後に、中ドット用の中間デ
ータ「97」よりも大きく、中ドット用の中間データに小ドット用の密度データを加算し
て得られた小ドット用の中間データ「127」よりも小さな閾値が設定されている画素に
は、小ドットを形成するものと判断する。このような画素は、閾値「109」が設定され
た画素だけである。図24では、小ドットが形成されると判断された画素には、粗い斜線
を付して表示している。このようにして、大ドット、中ドット、小ドットの形成有無を判
断した結果、着目している画素群の画素群階調値が「97」である場合には、大ドット1
個、中ドット2個、小ドット1個が形成されることになる。
画素群階調値が大きく異なれば、画素群内に形成される大ドット、中ドット、小ドット
の個数も異なったものとなる。また、画素群階調値を「0」から「255」まで変化させ
れば、それに伴って大ドット、中ドット、小ドットの個数は、幾段階かに変化するはずで
ある。更に、画素群の分類番号が異なれば、ディザマトリックスの閾値も異なることから
、ドット個数の変化の仕方も異なるはずである。図9に示した閾値テーブルは、画素群階
調値を「0」から「255」まで変化させたときの、各種ドットの個数が段階的に変化す
る挙動を、分類番号毎に調べることによって設定されている。
図25は、実際に、閾値テーブルを設定する処理の流れを示したフローチャートである
。以下、フローチャートに従って説明する。閾値テーブルの設定処理を開始すると、先ず
初めに、画素群の分類番号を1つ選択する(ステップS300)。例えば、ここでは分類
番号1番を選択したものとする。
次いで、選択した分類番号の画素群に対応する閾値を、ディザマトリックスの中から読
み出してやる(ステップS302)。例えば、ここでは分類番号1番を選択したものとし
ているから、図17に例示したディザマトリックスの中から、図19(b)中で1番と表
示したブロック位置に設定されている8つの閾値を読み出す。
そして、画素群階調値BDを「0」に設定し(ステップS304)、大ドット、中ドッ
ト、小ドットの形成個数をいずれも0個に設定しておく(ステップS306)。
続いて、図23に示したドット密度変換テーブルを参照することにより、画素群階調値
を大ドット、中ドット、小ドットについての密度データに変換した後(ステップS308
)、これら密度データと先に読み込んでおいた閾値とに基づいて、大中小の各種ドットに
ついての形成個数を決定する(ステップS310)。すなわち、図22あるいは図24を
用いて説明したように、大ドットの密度データよりも小さな閾値の個数を求めて、得られ
た個数を大ドットの形成個数とする。また、大ドットの密度データよりも大きく且つ中ド
ット用の中間データよりも小さな閾値の個数を求めて、これを中ドットの形成個数とする
。更に、中ドット用の中間データよりも大きく且つ小ドット用の中間データよりも小さな
閾値の個数を求めて、これを小ドットの形成個数とする。
こうして求めた各種ドットの形成個数が、先に設定されていた形成個数に対して変更さ
れたか否かを判断する(ステップS312)。そして、形成個数が変更されたと判断され
れば(ステップS312:yes)、そのときの画素群階調値BDを新たな閾値として、
分類番号に対応する閾値の組に追加する(ステップS314)。一方、形成個数が変更さ
れていないと判断された場合は(ステップS312:no)、閾値を追加する処理はスキ
ップする。
次いで、画素群階調値BDが階調値255に達したか否かを判断する(ステップS31
6)。階調値255に達していなければ(ステップS316:no)、画素群階調値BD
を「1」だけ増加させて(ステップS318)、ステップS308に戻って再び画素群階
調値BDを密度データに変換した後、続く一連の処理を行って、画素群内に形成されるド
ット個数が変化していれば、その画素群階調値BDを新たな閾値として、分類番号に対応
する閾値に組に追加する(ステップS314)。画素群階調値BDが階調値255に達す
るまで、こうした操作を繰り返す。そして、画素群階調値BDが階調値255に達したら
(ステップS316:yes)、選択した分類番号については、閾値の組を設定し終えた
ことになる。
そこで、すべての分類番号について、以上のような処理を行ったか否かを判断し(ステ
ップS320)、未処理の分類番号が残っている場合は(ステップS320:no)、ス
テップS300に戻って再び上述した処理を行う。こうした処理を繰り返し、すべての分
類番号について、閾値の組を設定し終えたと判断されたら(ステップS320:yes)
、図25に示した閾値テーブル設定処理を終了する。
以上の説明から明らかなように、分類番号の閾値の組は、画素群内に形成されるドット
個数の組合せが切り換わる画素群階調値を検出して、この値を閾値として記憶したものと
なっている。通常は、画素群階調値が階調値0から255まで増加する間に、形成される
ドット個数は幾段階かに切り換わるから、複数個の閾値が閾値の組として記憶されること
になる。そして、それぞれの閾値の組には、次のような理由から、分類番号毎に異なった
閾値が設定され、また閾値の個数も異なったものとなっている。
先ず、画素群内に形成されるドットの個数は、画素群階調値を変換して得られた大中小
各ドットの密度データと、ディザマトリックス中で画素群に対応する位置に記憶されてい
る閾値とによって決定される。ここで、図23に示したドット密度変換テーブルは、画素
群の分類番号が異なっていても同じテーブルを参照するから、画素群階調値に対する各ド
ットの密度データも、分類番号によらず同じ密度データが得られる。しかし、ディザマト
リックスから読み出された複数の閾値は、分類番号毎に異なったものとなる。何故なら、
ディザマトリックスは、画像上でドットが一定のパターンで発生したり、あるいは近接し
た位置に固まって発生することで画質を悪化させることの無いように、ディザマトリック
スの閾値は出来るだけ分散させて且つ出来るだけランダムに設定されている。このため、
たとえ画素群階調値が同じであったとしても、ドットの発生の仕方はそれぞれの画素群で
分類番号毎に異なったものとなり、その結果、設定される閾値も分類番号毎に異なったも
のとなるのである。
もっとも、画素群階調値を0〜255まで増加させたときに、1つの画素群内で発生し
得るドット分布の種類には、画素群に含まれる画素数および各画素に形成可能なドットの
種類に応じて、自ずから数の上限がある。前述したように、閾値の組に記憶されている閾
値は、画素群内に形成されるドット分布が切り替わった時の画素群階調値を記憶したもの
であるから、閾値の組に設定される閾値の個数にも、画素群の大きさおよび形成可能なド
ットの種類に応じて上限がある。本実施例のように、画素群の大きさが画素8つ分であり
、形成可能なドットの種類が3種類である場合には、1つの閾値の組に設定される閾値の
個数は、高々20数個、多く見積もっても30個を超えることはない。これに伴って、画
素群の多値化結果値も、高々0〜31の範囲しか取り得ず、このような多値化結果値であ
れば、5ビットあれば表現することが可能となる。
D−4.変換テーブルの設定方法 :
次に、図11を用いて前述した変換テーブルの設定方法について説明する。かかる変換
テーブルは、図7に示した第1のドットデータ生成処理中で、多値化結果値を、画素群に
形成されるドット個数を表す個数データに変換するために参照されるテーブルである。
図25を用いて前述した閾値テーブルの設定方法から明らかなように、閾値テーブルに
分類番号毎に設定されている閾値の組は、画素群に形成される大中小の各ドットの個数が
切り換わる画素群階調値を記憶したものとなっている。そして、閾値テーブルを参照する
ことで得られる多値化結果値は、各ドットの形成個数が何段階目に切り換わった状態に対
応するかを表す値となっている。しかし、上述したように、大中小の各ドットの発生状態
は、画素群の分類番号によって異なっているため、画素群階調値を増加させた場合にドッ
トの形成個数が変化する階調値だけでなく、形成個数の変化の仕方も異なったものとなる
。例えば、ある分類番号の画素群では、初めに小ドットが形成され、画素群階調値が増加
するに従って小ドットの個数が1つずつ増加していくのに対して、他の分類番号の画素群
では、ドットがなかなか形成されず、いきなり中ドットが形成され、その後は画素群階調
値が増加するに従って小ドットが1つずつ増加するといったことが起こり得る。すなわち
、画素群の多値化結果値は、画素群の分類番号と組み合わせなければ、画素群内に形成さ
れるドットの個数に変換することができない。そこで、図7を用いて前述した第1のドッ
トデータ生成処理では、多値化結果値と分類番号との組合せ毎に、画素群内に形成される
各種ドットの個数を求めて、図11に示した変換テーブルに記憶しておき、この変換テー
ブルを参照することによって、多値化結果値および分類番号から、直ちに個数データを得
ることとしているのである。
以上の説明から明らかなように、図11に示した変換テーブルは、ある多値化結果値を
有するときに画素群内の各画素に形成されるドットの個数を、画素群の分類番号毎に求め
ることによって設定されている。以下では、変換テーブルを設定するための具体的な方法
について説明する。
図26は、変換テーブルを設定する処理の流れを示したフローチャートである。以下、
フローチャートに従って説明する。変換テーブル設定処理を開始すると、先ず初めに、設
定対象とする分類番号を1つ選択し(ステップS400)、多値化結果値RVを0に設定
する(ステップS402)。
次いで、図9に示した閾値テーブルで、分類番号に設定されている閾値の組の中から多
値化結果値RVに対応する閾値を取得する(ステップS404)。例えば、多値化結果値
が「N」であったとする。多値化結果値Nは、その画素群に形成されるドットの個数がN
回目に切り換わったことを意味しているから、閾値の組の中でN番目に小さな値を取得す
る。尚、多値化結果値が「0」の場合は、閾値「0」を取得すればよい。
次いで、画素群の画素群階調値が、取得した閾値の値を有するものとして、画素群内に
形成される各種ドットの個数を決定する(ステップS406)。画素群内に形成されるド
ットの個数は、図22ないし図24を用いて前述した方法によって決定することができる
こうして決定した各ドットの個数の組合せを、個数データに変換する(ステップS40
8)。ドット個数の組合せから個数データへの変換は、図12に示した対応表を参照する
ことによって行う。次いで、得られた個数データを、多値化結果値に対応付けて記憶した
後(ステップS410)、対象としている分類番号についての最大の多値化結果に達した
か否かを判断する(ステップS412)。すなわち、図10を用いて説明したように、
すなわち、図9の閾値テーブルに示されているように、閾値の組には、分類番号に応じた
個数の閾値が設定されており、このことに対応して、多値化結果値の最大値も分類番号に
応じた値となっている。そこで、多値化結果値が、対象としている分類番号についての最
大値に達したか否かを判断するのである。かかる判断は、分類番号に応じて取得した閾値
の組に、画素群内でのドット形成個数を決定していない閾値の有無によって行うことがで
きる。すなわち、決定していない閾値が残っていれば、多値化結果値の最大値に達してい
ないと判断することができ、未決定の閾値が残っていなければ、多値化結果値の最大値に
達したものと判断することができる。
多値化結果の最大値に達していないと判断された場合は(ステップS412:no)、
多値化結果RVの値を「1」だけ増加させた後(ステップS414)、ステップS404
に戻って、閾値の組の中から新たな多値化結果値RVに対応する閾値を取得し、続く一連
の処理を繰り返す。こうした操作を繰り返し、対象としている分類番号の最大多値化結果
値に達したと判断されたら(ステップS412:yes)、その分類番号については全デ
ータが変換テーブルに設定されたことになる。
そこで今度は、全ての分類番号について同様の処理を行ったか否かを判断する(ステッ
プS416)。そして、未だ処理していない分類番号が残っている場合は、ステップS4
00に戻って新たな分類番号を選択し、この分類番号について、上述した一連の処理を行
う。こうして全ての分類番号について処理を終了したと判断されたら(ステップS416
:yes)、変換テーブルの全てのデータが設定されたことになるので、図26に示す処
理を終了する。
以上に説明したように、閾値テーブルも変換テーブルも、図22ないし図24を用いて
説明した特許3292104号に開示された手法(ディザ法を発展させて、大きさの異な
る複数種類のドットの形成の有無を判断可能とした手法)を基にして設定されている。従
って、閾値テーブルを参照して画素群階調値を多値化結果値に変換し、変換テーブルを参
照して多値化結果値を個数データに変換してやれば、画素群内の全画素が同じ画像データ
(画素群階調値)を有するものとして、上記の特許に開示された方法を適用して得られる
ドットの個数と、同じ個数を得られることになる。
D−5.順序値マトリックスの設定方法 :
次に、図14に例示した順序値マトリックスを設定する方法について説明する。前述し
たように、順序値マトリックスとは、画素群内の各画素について、ドットが形成される順
番を設定したマトリックスである。
図27は、順序値マトリックスを設定する方法について具体的に示した説明図である。
以下、図を参照しながら説明する。順序値マトリックスの設定に際しては、先ず、ディザ
マトリックスを画素群と同じ大きさを有する複数のブロックに分割して、各ブロックに通
し番号を付しておく。図19を用いて前述したように、この通し番号がそのまま画素群の
分類番号となる。図27(a)は、ディザマトリクスを複数のブロックに分割した様子を
概念的に示した説明図である。今、ディザマトリックスが図17に示した大きさ(すなわ
ち、主走査方向に128画素、副走査方向に64画素)を有しているものとすると、1つ
の画素群は主走査方向に4画素、副走査方向に2画素の大きさを有するとしているから、
図27(a)に示すように、ディザマトリックスは主走査方向および副走査方向にそれぞ
れ32ブロックずつ、全体では、1番から1024番までの分類番号が付された1024
個のブロックに分割されることになる。
ディザマトリックスを複数のブロックに分割したら、各ブロックから1組ずつ順序値マ
トリックスを生成する。図27(b)は、一例として、分類番号1番のブロックから順序
値マトリックスを生成している様子を示した説明図である。図27(b)の左側半分には
、分類番号1番のブロックに含まれるディザマトリックスの閾値が示されている。図24
を用いて前述したように、ドットは小さな閾値が設定されている画素から順番に形成され
る。従って、図27(b)に示した1番のブロックの中で1番初めにドットが形成される
画素は、閾値「1」が設定された画素と考えることができる。そこで、この画素には順序
値として「1」を設定する。同様に、2番目にドットが形成される画素は、2番目に小さ
な閾値である閾値「42」が設定された画素と考えることができる。そこで、この画素に
は順序値「2」を設定する。このようにして、ブロック内に設定されている閾値の小さな
画素から順番に、順序値「1」から順序値「8」までを決定してやれば、図27(b)の
右側半分に示した分類番号1番の順序値マトリックスを得ることができる。
他の分類番号のブロックについても、同様にして順序値マトリックスを設定することが
できる。図27(c)は、分類番号2番のブロックについて、同様にして、ブロック内で
小さな閾値が設定されている画素から順番に、順序値「1」から順序値「8」までを設定
することで、順序値マトリックスを設定した様子を示している。図27(a)に示した分
類番号「1」番から「1024」番までの全てのブロックについて、以上のような操作を
行うことにより、分類番号「1」番から「1024」番までの順序値マトリックスを得る
ことができる。
カラープリンタ200の制御回路260に内蔵されたROM内には、このようにして設
定された順序値マトリックスが、画素群の分類番号に対応付けて予め記憶されている。そ
して、図7に示した第1のドットデータ生成処理においては、画素群の分類番号に対応付
けて記憶されている順序値マトリックスをROMから読み出して、ドットデータを生成す
るのである。
D−6.高画質な画像を印刷可能な理由 :
図7に示した第1のドットデータ生成処理では、以上のようにして設定した閾値テーブ
ル、変換テーブル、順序値マトリックスを参照することによって、デジタルカメラ120
などから受け取った画像データをドットデータに変換している。このようにして得られた
ドットデータに従ってドットを形成すれば、高画質な画像を印刷することができる。以下
では、こうしたことが可能となる理由について説明する。
先ず、前述した特許3292104号に開示された技術を用いれば、図22ないし図2
4を用いて前述したように、画像データを大ドットの密度データ、中ドット用の中間デー
タ、小ドット用の中間データに変換して、ディザマトリックスに設定されている閾値と比
較することで、大中小各ドットについての形成の有無を判断することができる。更に、こ
のときに参照するディザマトリックスを、いわゆるブルーノイズマスク、あるいはグリー
ンノイズマスクに代表されるような分散性が考慮されたマトリックスとしておけば、ドッ
トが良好に分散した高画質な画像を得ることができる。
また、画像データは一般的に、隣接する画素間では近似する(若しくは同一の)階調値
が割り当てられる傾向がある。近年では、高画質化の要請から画像データの解像度は益々
高くなる傾向にあるが、隣接する画素間で近似若しくは同一の階調値が割り当てられる傾
向は、画像データの解像度が高くなるほど顕著に現れる。このことから、図24を用いて
前述したように、複数個の画素を画素群としてまとめてしまい、画素群内の画素は全て同
じ画像データを有するものとして大中小各ドットの形成有無を判断した場合でも、実際に
は画質に差が生じることは稀である。
第1のドットデータ生成処理は、この点に着目して、画素毎にドットデータを生成する
手法である。また、図22ないし図24に示した手法では、ディザマトリックスを参照す
ることで、画素群内のいずれの画素に、大中小いずれのドットを形成するかを決定してい
る。これに対して、図7に示した第1のドットデータ生成処理では、ディザマトリックス
を参照してドットが形成される画素位置および形成されるドットの種類を決定する操作を
2段階に分けて、先ず初めに画素群内に形成される各種ドットの個数(個数データ)を決
定し、次いで、これらドットが画素群内のいずれの画素に形成されるかを決定する。この
ように、2段階に分けて決定することとすれば、もはやディザマトリックスを参照する必
要はなく、代わりに、よりデータ量の少ないテーブルを参照してドットデータを生成する
ことができる。すなわち、画素群階調値を個数データに変換し、個数データを更に変換し
てドットデータを生成することが可能となる。更に、第1のドットデータ生成処理では、
画素群階調値を直ちに個数データに変換するのではなく、一旦、多値化結果値に変換して
から個数データに変換する。こうすることにより、参照するテーブルのデータ量を更に小
さなものとすることが可能となる。結局、上述した第1のドットデータ生成処理では、閾
値テーブルおよび変換テーブルを参照することで、画素群階調値を画素群毎に個数データ
に変換し、得られた個数データから、順序値マトリックスを参照して各画素のドット形成
有無を決定することで、図22ないし図24に示した方法を用いて得られたものと同じ結
果を得ることが可能となっているのである。以下では、図7のフローチャートを参照しな
がら、より具体的に説明する。
先ず、第1のドットデータ生成処理では、所定数の画素をまとめて画素群を生成し、画
素群の画素群階調値を決定している(図7のステップS206)。前述したように、画像
データは、隣接する画素間では近似する(若しくは同一の)階調値が割り当てられる傾向
があるため、複数個の画素を画素群としてまとめて、画素群内の画素は全て同じ画像デー
タを有するものとして扱った場合でも、実際には画質に差が生じることはない。
次いで、閾値テーブルを参照して画素群階調値を多値化結果値に変換し、得られた多値
化結果値を、変換テーブルを参照して個数データに変換する(図7のステップS208、
S210)。閾値テーブルおよび変換テーブルの設定方法についての説明から明らかなよ
うに、このようにして得られた個数データは、画素群内の全画素が同じ画像データ(画素
群階調値)を有するものとして、画素群内に形成される各種ドットの個数を、図22ない
し図24を用いて説明した方法によって決定した場合と同じ結果が得られる。
こうして得られた個数データを、ドットデータへの変換がより容易な中間データに変換
した後、順序値マトリックスに設定された順序値に従って、画素群内の各画素について、
ドット形成の有無を決定する(ステップS212、S214)。図24を用いて前述した
ように、ディザマトリックスに設定された閾値は、ドットが形成される順番を表している
ものと考えることができ、そして、図27を用いて前述したように、順序値マトリックス
は、ディザマトリックスの対応する位置でドットが形成される順番を表すマトリックスと
なっている。そして、画素群内に形成されるドットの種類、およびドットの個数について
は、ディザマトリックスを用いて求めたものと同じ結果が既に得られているから、順序値
マトリックスに従ってこれらドットが形成される画素を決定してやれば、図22ないし図
24を用いて説明した方法を適用して各画素についてのドット形成の有無を決定した場合
と、同じ結果を得ることができる。このため、ドットが良好に分散された高画質な画像を
印刷することが可能となるのである。
また、閾値テーブル、変換テーブル、順序値マトリックスを、いわゆるブルーノイズ特
性や、グリーンノイズ特性を持ったディザマトリックスに基づいて設定しておけば、比較
的少数ずつ(本実施例では8個ずつ)の画素群をまとめて処理しているにも関わらず、ブ
ルーノイズマスク、あるいはグリーンノイズマスクを用いることで実現されるような、良
好なドット分布を得ることが可能となるのである。
加えて、上述した第1のドットデータ生成処理では、画素群階調値を多値化結果値に変
換し、多値化結果値を個数データに変換し、個数データを中間データに変換して、最後に
ドットデータを得ており、結局、画素群階調値からドットデータが得られるまでに4段階
の変換を経ていることになる。図22ないし図24を用いて説明した方法では、画像デー
タを大中小各ドットの密度データに変換し、密度データからドットデータを求めているか
ら、2段階の変換でよい。このように、第1のドットデータ生成処理では、図22に示し
た方法よりも多段階の変換が必要となるものの、変換の内容は、単にテーブルを参照する
という極めて単純な処理であるため、図22に示す方法を用いた場合に対して、処理に要
する時間が長くなることはなく、速やかにドットデータを生成して画像を印刷することが
できる。
E.第2のドットデータ生成処理 :
本実施例のカラープリンタ200は、デジタルカメラ120から画像データを受け取っ
た場合には、以上に説明した第1のドットデータ生成処理を行ってドットデータを生成す
る。こうすれば、カラープリンタ200の制御回路260内で画像データをドットデータ
に変換することができるので、コンピュータ100を経由することなく、高画質な画像を
手軽に印刷することができる。一方、デジタルカメラ120で撮影した画像データを一旦
、コンピュータ100に供給してやれば、コンピュータ100内でより高解像度の画像デ
ータに変換したり、種々の画像処理を施して画像データに修正を加えることができる。こ
うしてコンピュータ100で所定の処理を施した画像のデータをカラープリンタ200に
供給すれば、より好ましい画像を印刷することが可能となる。
図6を用いて前述したように、本実施例のカラープリンタ200は、コンピュータ10
0から画像のデータを受け取る場合には、画素群毎の多値化結果値の形態でデータを受け
取り、以下に説明する第2のドットデータ生成処理を行うことによってドットデータを生
成する。このため、高解像度の画像であっても、迅速に印刷することが可能となる。以下
では、先ず初めに第2のドットデータ生成処理の概要について説明し、次いで、このよう
な方法でドットデータを生成することで、高解像度の画像であっても、高い画質を維持し
たまま迅速に印刷することが可能な理由について説明する。
E−1.処理の概要 :
図28は、第2のドットデータ生成処理の流れを示すフローチャートである。かかる処
理は、図6に示した画像印刷処理中で、コンピュータ100から、多値化結果値の形態で
画像のデータを受け取ると、カラープリンタ200の制御回路260に搭載されたCPU
によって実行される処理である。すなわち、画像データは、コンピュータ100内で、解
像度変換処理(図7のステップS200に相当)、色変換処理(図7のステップS202
に相当)が施された後、画素群毎の画素群階調値が求められ、更に画素群毎の多値化結果
値に変換された状態でカラープリンタ200に供給される。コンピュータ100内で、多
値化結果値を生成する方法は、前述した第1のドットデータ生成処理と同様に、閾値テー
ブルを参照して変換することもできるが、コンピュータ100には比較的十分な容量のメ
モリが搭載されていることが多いから、後述する方法を用いて、より迅速に多値化結果値
を求めることも可能である。
第2のドットデータ生成処理を開始すると、先ず初めに、処理対象とする画素群を1つ
選択する(ステップS500)。次いで、選択した画素群の多値化結果値を取得し(ステ
ップS502)、選択した画素群の分類番号を算出する(ステップS504)。
画素群の分類番号は、画像中での画素群の位置から、次のようにして簡単に求めること
ができる。図29は、画像上での画素群の位置に基づいて、分類番号を求める方法を示し
た説明図である。今、対象としている画素群が、図29(a)に示すように、画像の一番
左上隅を基準として主走査方向にi個目の画素群、副走査方向にj個目の画素群の位置に
あるとする。また、このような画素群の位置を、座標値(i,j)によって表すものとす
る。また、ディザマトリックスの大きさは、通常は、画像のようには大きくはないので、
図20(b)を用いて前述したように、ディザマトリックスを主走査方向に移動させなが
ら、繰り返して使用するものとする。
1つのディザマトリックスには主走査方向・副走査方向にそれぞれ32個ずつのブロッ
クが含まれるとしているから(図19(b)参照)、ディザマトリックス中で、対象の画
素群がある位置をI行J列とすれば、I、Jはそれぞれ次式で求めることができる。
I=i − int(i/32)×32
J=j − int(j/32)×32
ここで、intは、小数点以下を切り捨てて整数化することを表す前述した演算子である
。従って、画素群の座標値(i,j)に上式を適用してI,Jを求めることで、その画素
群がディザマトリックス中でI行J列にあることが分かる。これより、分類番号は、
I+(J−1)×32 …(2)
によって求めることができる。
また、画素群のディザマトリックス中での位置を表す値I,Jは、上述したような計算
を実行せずとも、i,jの2進数表示から所定ビットのデータを抜き出すだけで、極めて
簡便に求めることができる。図30は、画素群の座標値(i,j)から、画素群のディザ
マトリックス中での位置を求める方法を具体的に示した説明図である。図30(a)は、
数値iを表す10ビットの2進数表示したデータを概念的に示している。尚、図30(a
)では、各ビットを識別するために、最上位ビットから最下位ビットに向かって1番から
10番までの通し番号を付して表示している。
画素群の位置を示す値Iを求めるに際しては、先ず初めに、int(i/32)を算出
する。この演算は、iの2進数データを右方向に5ビット分だけビットシフトさせること
で実行することができる(図30(b)参照)。次いで、int(i/32)×32を算
出する。この演算は、int(i/32)の2進数データを左方向に5ビット分だけビッ
トシフトさせることで実行することができる(図30(c)参照)。最後に、数値iから
、int(i/32)×32を減算すれば、目的とする数値Iを得ることができる。この
操作は、結局は、数値iの2進数データから下位の5ビットのみを抜き出していることに
他ならないから、極めて簡便に数値Iを得ることが可能である。同様にして、数値jの2
進数データから下位の5ビットのみを抜き出すことで、極めて簡便に数値Jを得ることが
可能である。こうして数値IおよびJが求まれば、上述の(2)式を用いて分類番号を算
出することができる。図28に示した第2のドットデータ生成処理のステップS504で
は、以上のようにして画素群の分類番号を算出する。
こうして画素群の多値化結果値を取得して(図28のステップS502)、分類番号を
求めたら(S504)、デコードテーブルを参照することにより、画素群内の各画素につ
いてドット形成の有無を表したドットデータを読み出してやる(ステップS506)。デ
コードテーブルには、画素群の多値化結果値と分類番号の組合せ毎に、画素群についての
ドットデータが予め設定されている。
図31は、第2のドットデータ生成処理で参照されるデコードテーブルを概念的に示し
た説明図である。図示されているように、デコードテーブルには、多値化結果値と分類番
号との組合せに対応付けて、画素群内の各画素に形成されるドット種類を表すデータ(ド
ットデータ)が設定されている。従って、このようなデコードテーブルを参照すれば、画
素群の分類番号と画素群階調値との組合せから、対応するドットデータを直ちに読み出す
ことができる。例えば、分類番号i番、画素群階調値jであれば、ドットデータはDD(
i,j)となる。こうして読み出されたドットデータには、画素群内の各画素についてド
ット形成の有無が記述されている。
図32は、デコードテーブルに設定されているドットデータのデータ構造を示した説明
図である。図32(a)に示すように、ドットデータは2ビットずつのデータ8組から構
成された16ビット長のデータとなっている。ここで、1つのドットデータが8組のデー
タから構成されているのは、本実施例では、1つの画素群に8つの画素が含まれているこ
とに対応するものである。従って、例えば、1つの画素群が4つの画素から構成される場
合は、1つのドットデータは4組のデータから構成されることになる。また、1組のデー
タが2ビットとなっているのは、本実施例のカラープリンタ200が1つの画素あたり、
「大ドットを形成」、「中ドットを形成」、「小ドットを形成」、「ドットを形成しない
」の4つの状態を表現し得ることに対応したものである。すなわち、1つの画素あたり4
つの状態しか取り得ないのであれば、2ビットで表現可能である。そこで、画素1つ分に
対応する1組のデータを、2ビットのデータ長としているのである。
また、図32に示すように、ドットデータを構成する8組のデータは、それぞれ画素群
内の所定位置の画素に対応付けられている。例えば、図32(a)に示したドットデータ
の先頭にある1組目のデータは、図32(b)に示すように、画素群内で左上隅の画素に
対応している。また、ドットデータの先頭から2組目のデータは、画素群内で上段の左か
ら2番目の画素に対応している。このように、ドットデータを構成する8組のデータは、
それぞれ画素群内の所定位置の画素に予め対応付けられている。
そして、各組のデータの内容は、対応する画素に形成するドットの種類を表している。
すなわち、2ビットのデータ「11」は大ドットを形成することを意味している。2ビッ
トのデータ「10」は中ドットを形成することを意味しており、「01」は小ドットを形
成することを、そして「00」はドットを形成しないことを意味している。以上の説明か
ら分かるように、図32(a)に例示したドットデータは、画素群の左上隅の画素には大
ドットを形成し、上段の左から3番目の画素には中ドットを、下段の左から2番目の画素
には小ドットを、画素群の右下隅の画素には中ドットを形成し、そして、その他の画素に
はドットを形成しないことを表すデータとなっている。
このように、デコードテーブルに設定されているデータは、画素群内の各画素について
何れのドットを形成するかを直接表すデータとなっているので、かかるデコードテーブル
を参照することにより、画素群の分類番号と多値化結果値との組合せから、直ちに、画素
群内の各画素についてのドット形成有無を決定することが可能となるのである。
次いで、全画素群についてドット形成の有無を決定したか否かを判断し(図28のステ
ップS508)、未処理の画素群が残っていれば(ステップS508:no)、ステップ
S500に戻って新たな画素群を選択し、その画素群について続く一連の処理を行う。こ
うした操作を繰り返して、全画素群について処理を終了したと判断されたら(ステップS
508:yes)、得られたドットデータをインク吐出用ヘッドに出力する(ステップS
510)。そして、図28に示した第2のドットデータ生成処理を終了して、図6の画像
印刷処理に復帰する。画像印刷処理では、このようにして生成されたドットデータに従っ
てインク吐出用ヘッドを駆動してインク滴を吐出することにより、印刷用紙上にドットを
形成して画像を印刷する。
E−2.多値化結果値をコードデータに変換可能な理由 :
次に、以上に説明した第2のドットデータ生成処理によっても、前述した第1のドット
データ生成処理と同様に、高画質な画像を印刷することが可能な理由について説明する。
図33は、前述した第1のドットデータ生成処理において、多値化結果値から、画素群内
の各画素について大中小各ドットの形成有無を判断する処理の大まかな流れを概念的にま
とめた説明図である。図示されているように、第1のドットデータ生成処理では、多値化
結果値および分類番号から、変換テーブルを参照して個数データを決定する。また、予め
記憶されている順序値マトリックスの中から、分類番号に対応付けて記憶されているマト
リックスを読み出しておく。そして、順序値マトリックスに設定されている順序値と、個
数データを変換して得られた中間データとを用いて、画素群内の各画素についてのドット
形成有無を決定した。
このように、第1のドットデータ生成処理では、画素群の多値化結果値および分類番号
が決まれば、画素群内の各画素に形成されるドットの種類を決定することができる。従っ
て、予め、多値化結果値と分類番号との組合せ毎に、画素群内の各画素に形成されるドッ
トの種類を求めてデコードテーブルに記憶しておけば、かかるデコードテーブルを参照す
るだけで、直ちにドット形成有無を決定することが可能となるのである。こうして得られ
たドットデータは、第1のドットデータ生成処理によって得られたドットデータと全く同
じデータとなる。結局、デコードテーブルを参照して、多値化結果値をドットデータに変
換しても、ドットが良好に分散された高画質な画像を印刷することが可能となるのである
E−3.コンピュータ内で多値化結果値を迅速に得る方法 :
前述した第1のドットデータ生成処理では、図9に示した閾値テーブルを参照すること
により、画素群の画素群階調値を多値化結果値に変換していた。しかし、コンピュータ1
00内で、画素群階調値を多値化結果値に変換する場合は、より迅速に多値化結果値を得
ることが可能である。以下では、かかる方法について簡単に説明する。
図34は、コンピュータ100内で画素群階調値を多値化結果値に変換する際に参照さ
れるエンコードテーブルを概念的に示した説明図である。図示されているように、エンコ
ードテーブルには、画素群の分類番号毎に、画素群階調値に対する多値化結果値が対応づ
けて記憶されている。このエンコードテーブルは、第1のドットデータ生成処理で参照し
た閾値テーブルを、画素群階調値に対する多値化結果値が明示された表現形式に書き直し
たものとなっている。すなわち、閾値テーブルを参照して多値化結果値を決定する場合は
、前述したように、先ず、分類番号に設定されている閾値の組を読み出して、画素群階調
値より小さな閾値の個数を数えることで多値化結果値を求めることができた。従って、分
類番号と画素群階調値とが決まれば、閾値テーブルを参照して多値化結果値を決定するこ
とが可能である。そこで、分類番号と画素群階調値との組合せ毎に、多値化結果値を予め
求めておくことによって得られたテーブルが、図34に示したエンコードテーブルである
。このようなエンコードテーブルを参照すれば、分類番号と画素群階調値との組合せから
、迅速に多値化結果値を求めることが可能となる。
もっとも、このようなデコードテーブルは、分類番号と画素群階調値との組合せ毎に多
値化結果値が設定されているため、デコードテーブルを記憶しておくためには多くのメモ
リ容量を必要とするという難点がある。従って、コンピュータ100などのように、比較
的多くのメモリ容量を搭載している場合には、デコードテーブルを参照して多値化結果値
を求めることが好ましい。これに対して、カラープリンタ200のように、搭載している
メモリ量が比較的少ない場合には、閾値テーブルを参照して多値化結果値を求めることと
すれば、少ないメモリ使用量で画素群階調値を多値化結果値に変換することができる。
以上に説明したように、第2のドットデータ生成処理によれば、デコードテーブルを1
階参照するだけで、多値化結果値から画素群内の各画素についてのドット形成有無を直ち
に決定することができる。従って、コンピュータ100から供給された画素群毎の多値化
結果値を速やかにドットデータに変換することができる。
また、コンピュータ100内では、デコードテーブルを参照することで迅速に多値化結
果値を求めることができる。更に、画素群毎の多値化結果値であれば、画像データあるい
はドットデータよりも、遙かに少ないデータ量で表現することができる。このため、印刷
しようとする画像のデータを、多値化結果値の形態でカラープリンタ200に供給すれば
、たとえ解像度が高く従って画素数の多い画像であっても、迅速にデータを出力すること
ができる。
このように、第2のドットデータ生成処理では、コンピュータ100で迅速に生成した
多値化結果値を迅速に受け取って、迅速にドットデータに変換することができる。このた
め、高画質な画像を速やかに印刷することができるのである。
F.ドットデータの生成方法を切り替える理由 :
上述したように本実施例のカラープリンタ200では、デジタルカメラ120から画像
データを受け取った場合には、第1のドットデータ生成処理によってドットデータを生成
し、コンピュータ100から画像のデータを受け取った場合には画素群毎の多値化結果値
の形態で受け取ることとして、第2のドットデータ生成処理によって画像データを生成し
ている。このように、デジタルカメラ120から画像データを受け取る場合と、コンピュ
ータ100から画像のデータを受け取る場合とで、ドットデータを生成する方法を切り替
えているのは、次のようなことを考慮したためである。
コンピュータ100から受け取る画像のデータは、近年では解像度が高くなる傾向にあ
る。これは、画像を高い画質で印刷したいとする要請が高くなっており、これに伴って、
コンピュータ100上で画像を作成した後、印刷のために画像データを出力するに際して
は、高解像度のデータとして出力することが多くなっているためである。また、デジタル
カメラ120などで撮影した画像であっても、コンピュータ100に一旦読み込んで、画
像に種々の修正を加えた後、解像度を高くしてからカラープリンタ200に出力されるこ
とも多くなっている。
画像の解像度を高くすると、画像を構成する画素の数が多くなる分だけ、画像データの
データ量は増加する。このように画像データが大きくなると、画像データをドットデータ
に変換するための時間が長くなり、加えて、データをカラープリンタ200に出力するた
めの時間も長くなる。更に、カラープリンタ200が受け取ったデータに基づいてドット
を形成するための時間も長くなるので、結局、画像を印刷するために要する時間が増加し
てしまう。このため、コンピュータ100から画像のデータを受け取る場合には、画像デ
ータをドットデータに迅速に変換することが重要となる。また、大量のデータをコンピュ
ータ100からカラープリンタ200に供給する必要があるので、できるだけ迅速に供給
可能な形態でデータを供給することも重要となる。
一方、デジタルカメラ120から画像データをカラープリンタ200に直接供給して画
像を印刷する場合には、画像データをドットデータに変換する処理を、カラープリンタ2
00内で行わなければならない。一般に、カラープリンタ200に搭載されているCPU
は、コンピュータ100に搭載されているもの程には処理能力が高いわけではなく、また
RAMもコンピュータ100のようには十分なメモリ量のRAMが搭載されているわけで
はない。従って、できるだけCPUに負担を掛けない簡素な処理で、しかもメモリを圧迫
しない処理としておくことが望まれる。これに対して、コンピュータ100から画像のデ
ータを受け取る場合は、コンピュータ100に搭載されたCPUやRAMを利用すること
ができるので、カラープリンタ200内で画像処理を行うときのような、こうした問題が
生じることはない。
本実施例のカラープリンタ200では、デジタルカメラ120から画像データを受け取
って印刷する場合と、コンピュータ100から画像のデータを受け取って印刷する場合と
で、それぞれに生じる上述した要請を共に満足させるために、ドットデータを生成するた
めの処理方法を切り替えているのである。以下では、先ず初めに、コンピュータ100か
ら画像のデータを受け取る場合について説明し、次に、デジタルカメラ120から画像デ
ータを受け取る場合について説明する。
F−1.コンピュータから画像のデータを受け取る場合 :
先ず、コンピュータ100から画像のデータを受け取る場合は、前述したように、画素
群毎の多値化結果値の形態でデータを受け取り、図31に示したデコードテーブルを参照
してドットデータに変換する。画素群毎の多値化結果値は、画素毎に階調値が設定された
画像データや画素毎にドット形成の有無を表したドットデータよりも少ないデータ量で表
現することができるので、画像のデータを多値化結果値の形態で供給すれば、コンピュー
タ100からカラープリンタ200に迅速に画像のデータを供給することが可能となる。
加えて、図31に示したデコードテーブルを参照すれば、多値化結果値をドットデータに
速やかに変換することができる。更に、コンピュータ100の内部においても図34に示
したエンコードテーブルを参照すれば、画素群の画素群階調値を速やかに多値化結果値に
変換することができる。結局、コンピュータ100内で多値化結果値を速やかに生成し、
得られた多値化結果値を迅速にカラープリンタ200に供給し、更にカラープリンタ20
0内で迅速にドットデータに変換することができるので、高解像度の画像であっても速や
かに印刷することが可能となる。
もっとも、このような方法を用いた場合には、コンピュータ100内には、図34に示
すエンコードテーブルを記憶しておき、カラープリンタ200内には、図31に示すデコ
ードテーブルを記憶しておく必要がある。これらテーブルを記憶するためには、以下のメ
モリ容量が必要となる。
先ず、エンコードテーブルについては、図34に示したように、分類番号と画素群階調
値との組み合わせ毎に1つずつ多値化結果値が設定されているから、エンコードテーブル
を記憶しておくためのメモリ量は、[分類番号の個数]×[画素群階調値の個数]×[多
値化結果値のデータ長]となる。分類番号の個数は、図19を用いて説明したように、デ
ィザマトリックスの大きさと、画素群の大きさとによって決定される。本実施例では、1
つの画素群が8つの画素から構成されているものとし、ディザマトリックスが図17に示
すような大きさであるとしているから、分類番号の個数は1024個となる。また、多値
化結果値のデータ長は、5ビットとなる。これは、閾値テーブルの設定方法についての説
明の中で前述したように、形成可能なドットの種類が3種類であり、画素群が8つの画素
から構成されているものとすれば、多値化結果値の取り得る種類は、高々20数種類、多
く見積もっても32種類を超えることはなく、32種類以内であれば5ビットあれば表現
することができるからである。結局、エンコードテーブルを記憶するためのメモリ容量は
、160kバイト(=1024×256×5ビット)となる。前述したように、コンピュ
ータ100には比較的メモリ容量の大きなRAMが搭載されているから、この程度のメモ
リ容量であれば、エンコードテーブルを記憶してもメモリを圧迫することはない。
次にデコードテーブルについては、図31に示したように、分類番号と多値化結果値と
の組み合わせ毎に画素群のドットデータが1つずつ設定されているから、デコードテーブ
ルを記憶しておくためのメモリ量は、[分類番号の個数]×[多値化結果値の個数]×[
画素群あたりのドットデータのデータ長]となる。前述したように分類番号の個数は10
24個、多値化結果値の個数は32個である。また、画素群あたりのドットデータのデー
タ長は、16ビットとなる。これは、形成可能なドットの種類が3種類であるから、画素
あたり2ビットあればその画素に形成されるドットの有無を表現することが可能であり、
また、画素群が8つの画素で構成されているから、画素群あたりでは2ビット×8画素で
16ビットとなるからである。結局、デコードテーブルを記憶するためのメモリ容量は、
64kバイト(=1024×32×16ビット)となる。前述したように、カラープリン
タ200に搭載されるメモリ量は、コンピュータ100ほどには大きくはないが、この程
度のメモリ容量であれば、デコードテーブルを記憶しておいてもカラープリンタ200の
メモリを圧迫することはない。
F−2.デジタルカメラから画像データを受け取る場合 :
次に、デジタルカメラ120から画像データを直接受け取る場合は、前述したように、
画像データから画素群毎の画素群階調値を求めた後、図9に示した閾値テーブルを参照し
て画素群毎の多値化結果値に変換する。次いで、図11に示した変換テーブルを参照して
、多値化結果値を個数データに変換し、これを図13に示す変換表に従って中間データに
変換する。そして最後に、画素群毎の順序値マトリックスを参照して、中間データを画素
群についてのドットデータに変換する。このようにして多段階の変換を経て、画像データ
をドットデータに変換してやれば、個々の変換は単純な処理となるためカラープリンタ2
00に搭載された処理能力の高くないCPUでも速やかに処理することができる。加えて
、コンピュータ100から画像のデータを転送することがないため、データの転送に時間
が掛かって印刷に要する時間が長くなってしまうこともない。しかも、個々の変換に際し
て参照されるテーブルは僅かなメモリ容量で記憶しておくことができるので、カラープリ
ンタ200のメモリを圧迫することがない。以下、この点について具体的に説明する。
先ず、閾値テーブルについては、図9に示したように、分類番号毎に閾値の組が設定さ
れているから、閾値テーブルを記憶しておくためのメモリ量は、[分類番号の個数]×[
閾値の組1組あたりのデータ量]となる。多値化結果値の取り得る範囲が高々0〜31の
範囲としているから、閾値の組1組あたりに含まれる閾値の個数は31個を越えることは
なく、閾値は1バイトで表現することができるから、結局、閾値テーブルを記憶するため
のメモリ容量は、31kバイト(=1024×31×1バイト)に過ぎない。前述したエ
ンコードテーブルを記憶するために要するメモリ量(160kバイト)と比較すると、僅
かなメモリ量ということができる。
次に、変換テーブルを記憶するためのメモリ量は次のようなものとなる。図11に示し
たように、変換テーブルは、分類番号と多値化結果値との組み合わせ毎に個数データが設
定されているから、変換テーブルを記憶しておくためのメモリ量は、[分類番号の個数]
×[多値化結果値の個数]×[個数データのデータ長]となる。分類番号の個数は102
4個、多値化結果値の個数は32個であり、個数データのデータ長は1バイトであるから
、結局、変換テーブルを記憶するためのメモリ容量は、約32kバイト(=1024×3
2×1バイト)となる。
また、個数データを中間データに変換する際に参照される変換表については、次のよう
になる。図13に示したように変換表には、個数データごとに中間データが記憶されてい
るから、変換表を記憶しておくために要するメモリ量は、[個数データの個数]×[中間
データのデータ長]となる。前述したように、形成可能なドットの種類が3種類で、画素
群に含まれる画素が8つであれば、個数データは高々0〜164の範囲しか取り得ないか
ら、結局、変換表を記憶しておくためのメモリ量は、0.3kバイト(=165×16ビ
ット)に過ぎない。
最後に、画素群の分類番号ごとに順序値マトリックスを記憶しておくためのメモリ量に
ついて説明する。図14に示したように、順序値マトリックスには画素毎に順序値が設定
されている。画素群に含まれる画素数を8つとすれば、順序値は1〜8の値しか取り得な
いので3ビットあれば順序値を表現することができるから、順序値マトリックスを1つ記
憶するために要するメモリ容量は、3バイト(=3ビット×8)となる。結局、分類番号
毎に順序値マトリックスを記憶しておくためには、3kバイト(=1024×3ビット×
8)のメモリ容量があればよい。
以上に説明したように、画像データをドットデータに変換する際に、閾値テーブル、変
換テーブル、変換表、および順序値マトリックスを参照して変換することとすれば、閾値
テーブルが31kバイト、変換テーブルが32kバイト、変換表が0.3kバイト、順序
値マトリクスが3kバイトで、合計でも66.3kバイトしか必要としない。前述したよ
うに、カラープリンタ200に搭載されるメモリ量は、コンピュータ100ほどには大き
くはないが、この程度のメモリ容量であれば、カラープリンタ200のメモリを圧迫する
ことはない。従って、コンピュータ100のようには、搭載されているCPUの処理能力
が高くはなく、メモリ量にも制限のあるカラープリンタ200でも、メモリを圧迫するこ
となく画像データをドットデータに変換して、高画質な画像を比較的速やかに印刷するこ
とが可能となるのである。
G.変形例 :
以上の説明では、デジタルカメラ120から画像データを受け取った場合は、閾値テー
ブルを参照して多値化結果値を生成した後、変換テーブル、変換表、および順序値マトリ
ックスを参照することによって、多値化結果値を画素群についてのドットデータに変換す
るものとして説明した。上述したように、変換テーブル、変換表、および順序値マトリッ
クスは、それぞれ32kバイト、0.3kバイト、3kバイトであり、合計しても35.
3kバイトにしかならないので、カラープリンタ200のメモリを圧迫することなく画像
データをドットデータに変換することができた。もっとも、カラープリンタ200のメモ
リに多少の余裕がある場合には、前述したデコードテーブルを参照して、多値化結果値を
画素群についてのドットデータに変換することとしても良い。すなわち、デジタルカメラ
120から画像データを受け取ると、画素群毎に画素群階調値を求め、閾値テーブルを参
照して多値化結果値に変換する。そして、図31に示したデコードテーブルを参照するこ
とにより、多値化結果値を直接、画素群についてのドットデータに変換することとしても
良い。
このようにしてデコードテーブルを参照すれば、多値化結果値からドットデータを直接
生成することができるので、迅速にドットデータを生成することができ、延いては画像を
迅速に印刷することができる。もちろん、前述したように、デコードテーブルを記憶する
ためには64kバイトものメモリ量が必要となるが、変換テーブルや、変換表、および順
序値マトリックスを記憶しておく必要はなくなるので、実質的なメモリの増加は28.7
kバイトとなる。
加えて、コンピュータ100から画素群毎の多値化結果値を受け取った場合と、デジタ
ルカメラ120から画像データを受け取った場合とで、同じデコードテーブルを共用する
ことができるというメリットも得ることができる。この場合は、変換テーブルや、変換表
、および順序値マトリックスを記憶しておくためのメモリ量を節約することも可能となる
また、カラープリンタ200内に、デジタルカメラ120から受け取った画像データを
変換するための各種テーブル(閾値テーブル、変換テーブル、変換表、および順序値マト
リックス)と、コンピュータ100から受け取った多値化結果値を変換するためのデコー
ドテーブルとを記憶しておく場合でも、これらテーブルを圧縮して記憶しておき、ドット
データを生成する際に参照するテーブルを解凍して使用することとしても良い。このよう
に各種のテーブルを圧縮した状態で記憶しておけば、デジタルカメラ120から画像デー
タを受け取った場合と、コンピュータ100から多値化結果値を受け取った場合とで、そ
れぞれ異なったテーブルを使い分ける場合でも、異なるテーブルを記憶しておくためにメ
モリが圧迫されることを回避することが可能となる。
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られる
ものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。
例えば、以上の実施例では、印刷用紙上にドットを形成して画像を印刷する場合について
説明したが、本発明の適用範囲は画像を印刷する場合に限られるものではない。例えば、
液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画
像を表現する液晶表示装置などにも、本発明を好適に適用することができる。
本実施例の画像出力装置としてのプリンタの概要を示した説明図である。 本実施例のカラープリンタに画素群毎の多値化結果値を出力するコンピュータの構成を示す説明図である。 本実施例のカラープリンタの概略構成を示す説明図である。 インク吐出用ヘッドにおけるインクジェットノズルの配列を示す説明図である。 インク滴の吐出を制御することにより、大きさの異なるドットを形成する原理を示した説明図である。 本実施例のカラープリンタが画像を印刷するために行う画像印刷処理の流れを示すフローチャートである。 第1のドットデータ生成処理の流れを示すフローチャートである。 画素群の分類番号を決定する方法を示した説明図である。 画素群階調値を多値化する際に参照される閾値テーブルを示した説明図である。 画素群の分類番号に応じて画素群階調値が異なる多値化結果値に変換される様子を概念的に示した説明図である。 画素群の多値化結果値を個数データに変換する際に参照される変換テーブルを概念的に示した説明図である。 個数データと、大ドット、中ドット、小ドットの個数の組合せとの対応関係を示した説明図である。 個数データと中間データとを対応付けた対応表を示す説明図である。 順序値マトリックスを例示した説明図である。 中間データの中から順序値に対応する箇所のデータを読み出すことによりドット形成の有無を決定している様子を示した説明図である。 順序値マトリックスに応じて異なるドットの配置が得られる様子を示す説明図である。 ディザマトリックスの一部を拡大して例示した説明図である。 ディザマトリックスを参照しながら各画素についてのドット形成の有無を判断している様子を概念的に示した説明図である。 画素群毎の分類番号の意味する内容を示す説明図である。 画素群の分類番号を算出する方法を示した説明図である。 着目画素群の座標値の2進数表示から分類番号を求める方法を示した説明図である。 ディザ法を発展させて画素毎に大ドット、中ドット、小ドットの形成の有無を決定可能としたハーフトーン処理の流れを示すフローチャートである。 画像データの階調値を大中小各ドットについての密度データに変換する際に参照されるドット密度変換テーブルを概念的に示した説明図である。 画素群内の各画素について大中小各ドットの形成有無を判断している様子を概念的に示した説明図である。 閾値テーブルを設定する処理の流れを示したフローチャートである。 変換テーブルを設定する処理の流れを示したフローチャートである。 順序値マトリックスを設定する方法について具体的に示した説明図である。 第2のドットデータ生成処理の流れを示すフローチャートである。 画像上での画素群の位置に基づいて分類番号を求める方法を示した説明図である。 画素群の座標値(i,j)から画素群のディザマトリックス中での位置を求める方法を具体的に示した説明図である。 第2のドットデータ生成処理で参照されるデコードテーブルを概念的に示した説明図である。 デコードテーブルに設定されているドットデータのデータ構造を示した説明図である。 前述した第1のドットデータ生成処理において多値化結果値から画素群内の各画素について大中小各ドットの形成有無を判断する処理の大まかな流れを概念的にまとめた説明図である。 コンピュータ内で画素群階調値を多値化結果値に変換する際に参照されるエンコードテーブルを概念的に示した説明図である。
符号の説明
10…プリンタ、 20…デジタルカメラ、 30…コンピュータ、
100…コンピュータ、 108…周辺機器インターフェースPIF、
109…ディスクコントローラDDC、
110…ネットワークインターフェースカードNIC、
112…ビデオインターフェースVIF、
116…バス、 118…ハードディスク、 120…デジタルカメラ、
122…カラースキャナ、 124…フレキシブルディスク、
126…コンパクトディスク、 230…キャリッジモータ、 235…モータ、
236…プラテン、 240…キャリッジ、 241…印字ヘッド、
242…インクカートリッジ、 243…インクカートリッジ、
244…インク吐出用ヘッド、 260…制御回路、 200…カラープリンタ、
300…通信回線、 310…記憶装置

Claims (12)

  1. 画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
    り、画像を出力する画像出力装置であって、
    画素毎の階調値が規定された画像データを受け取って、該画像データを前記ドットデー
    タに変換する第1のデータ変換部と、
    複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
    素群階調値の多値化結果値を受け取って、該多値化結果値を前記ドットデータに変換する
    第2のデータ変換部と、
    前記第1のデータ変換部または前記第2のデータ変換部のいずれかによって生成された
    前記ドットデータに基づいてドットを形成するドット形成手段と
    を備え、
    前記第1のデータ変換部は、
    前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
    素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
    調値とを比較することにより、該画素群階調値を多値化する多値化手段と、
    前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
    の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する多値化
    結果値変換手段と
    を備えた変換部であり、
    前記第2のデータ変換部は、
    前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
    群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
    結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
    を生成するドットデータ生成手段を備えた変換部である画像出力装置。
  2. 請求項1記載の画像出力装置であって、
    前記多値化結果値変換手段は、
    前記画素群内に形成されるドットの個数を表す個数データと前記多値化結果値とが画
    素群毎に関連付けられた変換テーブルを参照することにより、前記画素群毎に得られた多
    値化結果値から該個数データを生成する個数データ生成手段と、
    前記画素群内の各画素についてドットが形成される順番を画素群毎に記憶しておき、
    前記画素群毎に得られた個数データと、該画素群内の各画素について記憶されている順番
    とに基づいて、該画素群内の各画素についてのドット形成有無を決定するドット形成有無
    決定手段と
    を備えた手段である画像出力装置。
  3. 請求項2記載の画像出力装置であって、
    前記画素群に含まれる画素数をNとして、該画素群に形成されるドットの個数をMとし
    たときに、ドットを形成することを意味するM個の連続するデータと、ドットを形成しな
    いことを意味する(N−M)個の連続するデータとからなる中間データを、前記個数デー
    タから生成する中間データ生成手段を備え、
    前記ドット形成有無決定手段は、前記画素群の個数データを変換して得られた前記中間
    データの中から、該画素群内の各画素に記憶された順番に対応する位置のデータを読み出
    すことにより、該画素群毎にドット形成の有無を決定する手段である画像出力装置。
  4. 請求項1記載の画像出力装置であって、
    前記多値化結果値変換手段は、前記ドットデータ生成手段が前記多値化結果値から前記
    ドットデータを生成する際に参照する前記対応関係を参照することによって、前記画素群
    毎に得られた多値化結果値を該ドットデータに変換する手段である画像出力装置。
  5. 請求項1記載の画像出力装置であって、
    前記画素群を前記画像中での位置に応じて複数種類に分類することにより、該各々の画
    素群に分類番号を付与する分類番号付与手段を備え、
    前記多値化手段は、前記分類番号毎に少なくとも1つの閾値を記憶しておき、前記画素
    群の多値化結果値と、該画素群の分類番号に記憶されている該閾値とを比較することによ
    り、該画素群階調値を多値化する手段であり、
    前記多値化結果値変換手段は、前記多値化結果値と、該多値化結果値が得られた画素群
    についての前記分類番号とに基づいて、該多値化結果値を前記ドットデータに変換する手
    段であり、
    前記ドットデータ生成手段は、前記多値化結果値と前記画素群内の各画素についてのド
    ット形成の有無とが、前記分類番号毎に関連付けられた対応関係を参照することにより、
    該多値化結果値から前記ドットデータを生成する手段である画像出力装置。
  6. 請求項1記載の画像出力装置であって、
    前記ドット形成手段は、単ドットあたりに表現可能な階調値の異なる複数種類のドット
    を形成可能な手段であり、
    前記多値化結果値変換手段は、前記画素群内の各画素について、前記複数種類のドット
    についての形成有無を決定することにより、前記多値化結果値を前記ドットデータに変換
    する手段であり、
    前記ドットデータ生成手段は、前記多値化結果値と、前記画素群内の各画素での前記複
    数種類のドットについての形成有無とが、該画素群毎に関連付けられた対応関係を参照す
    ることにより、前記ドットデータを生成する手段である画像出力装置。
  7. 画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
    無を表したドットデータを生成して、画像出力装置に供給する画像処理装置であって、
    画素毎の階調値が規定された画像データを受け取って、該画像データを前記ドットデー
    タに変換する第1のデータ変換部と、
    複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
    素群階調値の多値化結果値を受け取って、該多値化結果値を前記ドットデータに変換する
    第2のデータ変換部と、
    前記第1のデータ変換部または前記第2のデータ変換部のいずれかによって生成された
    前記ドットデータを前記画像出力装置に供給するドットデータ供給手段と
    を備え、
    前記第1のデータ変換部は、
    前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
    素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
    調値とを比較することにより、該画素群階調値を多値化する多値化手段と、
    前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
    の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する多値化
    結果値変換手段と
    を備えた変換部であり、
    前記第2のデータ変換部は、
    前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
    群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
    結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
    を生成するドットデータ生成手段を備えた変換部である画像処理装置。
  8. 画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
    り、画像を出力する画像出力方法であって、
    画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
    ットデータに変換する工程(1)と、
    複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
    素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
    変換する工程(2)と、
    前記工程(1)または前記工程(2)のいずれかによって生成された前記ドットデータ
    に基づいてドットを形成する工程(3)と
    を備え、
    前記工程(1)は、
    前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
    素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
    調値とを比較することにより、該画素群階調値を多値化する副工程(1−a)と、
    前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
    の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副工程
    (1−b)と
    を備えた工程であり、
    前記工程(2)は、
    前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
    群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
    結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
    を生成する副工程(2−a)を備えた工程である画像出力方法。
  9. 請求項8記載の画像出力方法であって、
    副工程(1−b)は、
    前記画素群内に形成されるドットの個数を表す個数データと前記多値化結果値とが画
    素群毎に関連付けられた変換テーブルを参照することにより、前記画素群毎に得られた多
    値化結果値から該個数データを生成する工程と、
    前記画素群内の各画素についてドットが形成される順番を画素群毎に記憶しておき、
    前記画素群毎に得られた個数データと、該画素群内の各画素について記憶されている順番
    とに基づいて、該画素群内の各画素についてのドット形成有無を決定する工程と、
    を備えた工程である画像出力方法。
  10. 画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
    無を表したドットデータを生成して、画像出力装置に供給する画像処理方法であって、
    画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
    ットデータに変換する工程(A)と、
    複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
    素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
    変換する工程(B)と、
    前記工程(A)または前記工程(B)のいずれかによって生成された前記ドットデータ
    を前記画像出力装置に供給する工程(C)と
    を備え、
    前記工程(A)は、
    前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
    素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
    調値とを比較することにより、該画素群階調値を多値化する副工程(A−a)と、
    前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
    の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副工程
    (A−b)と
    を備えた工程であり、
    前記工程(B)は、
    前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
    群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
    結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
    を生成する副工程(B−a)を備えた工程である画像処理方法。
  11. 画素毎にドット形成の有無を表したドットデータに基づいてドットを形成することによ
    り、画像を出力する方法を、コンピュータで実現するためのプログラムであって、
    画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
    ットデータに変換する機能(1)と、
    複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
    素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
    変換する機能(2)と、
    前記機能(1)または前記機能(2)のいずれかによって生成された前記ドットデータ
    に基づいてドットを形成する機能(3)と
    をコンピュータを用いて実現するとともに、
    前記機能(1)は、
    前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
    素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
    調値とを比較することにより、該画素群階調値を多値化する副機能(1−a)と、
    前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
    の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
    (1−b)と
    を備えた機能であり、
    前記機能(2)は、
    前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
    群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
    結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
    を生成する副機能(2−a)を備えた機能であるプログラム。
  12. 画像を表すデータに対して所定の画像処理を施すことにより、画素毎にドット形成の有
    無を表したドットデータを生成して画像出力装置に供給する方法を、コンピュータで実現
    するためのプログラムであって、
    画素毎の階調値が規定された画像データを受け取った場合には、該画像データを前記ド
    ットデータに変換する機能(A)と、
    複数の画素が所定個数ずつまとめられた画素群毎に、該画素群を代表する階調値たる画
    素群階調値の多値化結果値を受け取った場合には、該多値化結果値を前記ドットデータに
    変換する機能(B)と、
    前記機能(A)または前記機能(B)のいずれかによって生成された前記ドットデータ
    を前記画像出力装置に供給する機能(C)と
    をコンピュータを用いて実現するとともに、
    前記機能(A)は、
    前記画像データを受け取ると、前記画素群にまとめられた各画素の階調値から前記画
    素群階調値を決定して、該画素群毎に記憶されている少なくとも1つの閾値と該画素群階
    調値とを比較することにより、該画素群階調値を多値化する副機能(A−a)と、
    前記画素群毎に得られた多値化結果値に基づいて該画素群内の各画素についてドット
    の形成有無を決定することにより、該多値化結果値を前記ドットデータに変換する副機能
    (A−b)と
    を備えた機能であり、
    前記機能(B)は、
    前記多値化結果値と前記画素群内の各画素についてのドット形成の有無とが、該画素
    群毎に関連付けられた対応関係を参照することにより、前記画素群毎に受け取った多値化
    結果値から該画素群内の各画素についてドットの形成有無を決定して、前記ドットデータ
    を生成する副機能(B−a)を備えた機能であるプログラム。
JP2005000444A 2005-01-05 2005-01-05 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置 Withdrawn JP2006191268A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005000444A JP2006191268A (ja) 2005-01-05 2005-01-05 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005000444A JP2006191268A (ja) 2005-01-05 2005-01-05 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置

Publications (1)

Publication Number Publication Date
JP2006191268A true JP2006191268A (ja) 2006-07-20

Family

ID=36797990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005000444A Withdrawn JP2006191268A (ja) 2005-01-05 2005-01-05 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置

Country Status (1)

Country Link
JP (1) JP2006191268A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008023893A (ja) * 2006-07-24 2008-02-07 Seiko Epson Corp 双方向印刷を行うための画像処理装置および印刷装置
JP2008092397A (ja) * 2006-10-04 2008-04-17 Seiko Epson Corp 画像処理装置、画像処理方法および印刷装置
JP2008099188A (ja) * 2006-10-16 2008-04-24 Seiko Epson Corp 画像処理装置、画像処理方法および印刷装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008023893A (ja) * 2006-07-24 2008-02-07 Seiko Epson Corp 双方向印刷を行うための画像処理装置および印刷装置
JP4675296B2 (ja) * 2006-07-24 2011-04-20 セイコーエプソン株式会社 印刷装置および印刷方法
JP2008092397A (ja) * 2006-10-04 2008-04-17 Seiko Epson Corp 画像処理装置、画像処理方法および印刷装置
JP2008099188A (ja) * 2006-10-16 2008-04-24 Seiko Epson Corp 画像処理装置、画像処理方法および印刷装置

Similar Documents

Publication Publication Date Title
JP4534963B2 (ja) 画像形成方法、画像形成装置、画像形成システム、印刷方法、印刷物の生成方法および画像形成装置を制御するためのコンピュータプログラム
JP4375235B2 (ja) 複数画素ずつコード化しながら画像を出力する画像出力システム
US7580156B2 (en) Image processing system, image processing device, dot data processing device, and method and program product therefor
JP4506652B2 (ja) 高画質ハーフトーン処理
WO2005076592A1 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP4241823B2 (ja) ドットデータ処理装置、画像出力システムおよびそれらの方法
JP4375398B2 (ja) 複数画素ずつ多値化を行う画像処理装置
JP4534964B2 (ja) 画像形成方法、画像形成装置、画像形成システム、印刷物の生成方法および画像形成装置を制御するためのコンピュータプログラム
JP4192640B2 (ja) ブロック内のエッジを検出しながら処理を行う画像処理装置、および画像処理方法
US7796303B2 (en) Image processing system, image processing device, dot data processing device, and method and program product therefor
US20060158691A1 (en) Image processing system, image processing device, image output device, and method and program product therefor
JP4297033B2 (ja) 複数画素ずつ多値化を行う画像処理装置
JP4375050B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP4225319B2 (ja) 画像出力制御システム、画像処理装置およびその方法
JP4274030B2 (ja) 画像出力システム、画像処理装置、画像出力装置およびそれらの方法
JP4375071B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP2005224983A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP2006229810A (ja) 複数画素ずつコード化しながら画像を出力する画像出力システム
JP2006191268A (ja) 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置
JP2004297451A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP4225320B2 (ja) 画像出力制御システム、画像出力装置、画像処理装置およびそれらの方法
JP2005138421A (ja) 圧縮した画像データに画像処理を行って画像を出力する画像出力装置
JP2007245347A (ja) 高画質ハーフトーン処理
JP2006044185A (ja) 画像出力装置、画像出力方法およびプログラム
JP2005111883A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080401