JP2006217084A - 画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システム - Google Patents

画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システム Download PDF

Info

Publication number
JP2006217084A
JP2006217084A JP2005025632A JP2005025632A JP2006217084A JP 2006217084 A JP2006217084 A JP 2006217084A JP 2005025632 A JP2005025632 A JP 2005025632A JP 2005025632 A JP2005025632 A JP 2005025632A JP 2006217084 A JP2006217084 A JP 2006217084A
Authority
JP
Japan
Prior art keywords
data
value
dot
pixels
image
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.)
Pending
Application number
JP2005025632A
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 JP2005025632A priority Critical patent/JP2006217084A/ja
Priority to US11/344,871 priority patent/US20060193009A1/en
Publication of JP2006217084A publication Critical patent/JP2006217084A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4055Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
    • H04N1/4057Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern the pattern being a mixture of differently sized sub-patterns, e.g. spots having only a few different diameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】 画像品質の劣化を抑制しつつ、画像処理およびデータ転送の高速化を図る。
【解決手段】 画像処理装置は、(A)画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、(B)前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、を備える。
【選択図】 図10

Description

本発明は、画像データに対して画像処理を施して、画像を印刷するための印刷データを作成する画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システムに関する。
印刷媒体や液晶画面といった各種の出力媒体上にドットを形成することで画像を出力する画像出力装置は、各種画像機器の出力装置として広く使用されている。これら画像出力装置では、画像は画素と呼ばれる小さな領域に細分された状態で扱われており、ドットは、これらの画素に形成される。ドットを画素に形成した場合、もちろん画素1つ1つについて見れば、ドットが形成されるか否かのいずれかの状態しか取り得ない。しかし、ある程度の広さを持った領域で見れば、形成するドットの密度に粗密を生じさせることは可能であり、ドットの形成密度を変えることによって多階調の画像を出力することが可能である。例えば、印刷用紙上に黒いインクのドットを形成する場合、ドットが密に形成されている領域は暗く見えるし、逆にドットがまばらに形成されている領域は明るく見える。また、液晶画面に輝点のドットを形成する場合、ドットが密に形成された領域は明るく見え、まばらに形成された領域は暗く見える。従って、ドットの形成密度を適切に制御してやれば、多階調の画像を出力することが可能となる。このように、適切な形成密度が得られるようにドットの形成を制御するためのデータは、出力しようとする画像に所定の画像処理を施すことによって発生させる。
近年では、これら画像出力装置には、出力画像の高画質化や大画像化が要請されるようになってきた。高画質化の要請に対しては、画像をより細かな画素に分割することが効果的である。画素を小さくしてやれば、画素に形成されるドットが目立たなくなるので画質を向上させることができる。また、大画像化の要請に対しては、画素数を増加させることによって対応する。もちろん、個々の画素を大きくすることによっても出力画像を大きくすることはできるが、これでは画質の低下を招いてしまうので、大型化の要請に対しては、画素数を増加させることが効果的である。
もっとも、画像を構成する画素数が増加すると画像処理に時間がかかってしまい、画像を迅速に出力することが困難となる。そこで、画像処理を迅速に実行可能とする技術が提案されている(特許文献1)。
特開2002−185789号公報
しかし、画像処理を迅速に行ったとしても、画像データの転送に、あるいは処理済みの画像データの転送に時間がかかってしまったのでは、画像の出力を迅速化する効果にも自ずから限界がある。
また、近年では、デジタルカメラなどで撮影した画像のデータを、印刷装置などの画像出力装置に直接供給して直ちに画像を出力したいという要請も存在する。このような場合は、いわゆるパーソナルコンピュータ等のような高い処理能力を備えた画像処理装置を用いて画像処理を行うことはできない。従って、デジタルカメラなどの画像撮影装置あるいは画像出力装置のいずれか、若しくは両者で分担して実行可能なように、簡素な画像処理としておく必要がある。
本発明は、このような事情に鑑みてなされたものであって、その目的は、画像品質の劣化を抑制しつつ、画像処理およびデータ転送の高速化を実現し得ることにある。
前記目的を達成するための主たる発明は、
(A)画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
(B)前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
(C)を備えたことを特徴とする画像処理装置である。
本発明の他の特徴は、本明細書及び添付図面の記載により明らかにする。
===開示の概要===
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
(A)画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
(B)前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
(C)を備えたことを特徴とする画像処理装置。
このような画像処理装置にあっては、画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値化処理部により多値階調値データを生成し、この多値階調値データを、ドット形成用データ生成部によりドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するから、ドット形成用データを効率よく生成することができる。
かかる画像処理装置にあっては、前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成しても良い。このような多値化テーブルを備えれば、階調値から多値階調値データを簡単に取得することができる。
また、かかる画像処理装置にあっては、前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して前記多値階調値データを生成しても良い。このように各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成することで、画像データが複数の色により表現されていた場合でも、ドット形成用データの生成処理をスムーズに行うことができる。
また、かかる画像処理装置にあっては、前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して前記多値階調値データを生成してもよい。このように階調値に対応する画素の位置に応じて多値化処理部により多値化処理することで、より高画質なドット形成用データを生成することができ、出力画像の画質向上を図ることができる。
また、かかる画像処理装置にあっては、前記多値階調値データは、所定のビット数のデータとして前記多値化処理部により生成されても良い。このように多値階調値データが所定のビット数のデータとして生成されることで、多値化処理部により生成される多値階調値データのデータ量を出力画像の解像度に関わりなく一定にすることができる。
また、かかる画像処理装置にあっては、前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換してもよい。このようなドット個数データ変換テーブルを備えることで、多値階調値データからドット個数データを簡単に取得することができる。
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定しても良い。このように所定の個数の画素についてドット形成の有無を決定すれば、処理をスムーズに行うことができる。
また、かかる画像処理装置にあっては、前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれていても良い。このようにドットのサイズに関するデータが含まれていれば、サイズの異なるドットについて形成の有無を決定することができる。
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記1以上の画素について個別にドット形成の有無を決定してもよい。このようにドット形成順序データに基づき、1以上の画素について個別にドット形成の有無を決定すれば、処理をスムーズに行うことができる。
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記1以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なってもよい。このように1以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なることで、解像度の異なる出力画像のドット形成用データを簡単に生成することができる。
また、かかる画像処理装置にあっては、前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記1以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なってもよい。このように1以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることで、出力画像のドット形成用データをスムーズに生成することができる。
(A)画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
(B)前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
(C)を備え、
(D)前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成し、
(E)前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成し、
(F)前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して多値階調値データを生成し、
(G)前記多値階調値データは、所定のビット数のデータとして前記多値化処理部により生成され、
(H)前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換し、
(I)前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定し、
(J)前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれ、
(K)前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記1以上の画素について個別にドット形成の有無を決定し、
(L)前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記1以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なり、
(M)前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記1以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることを特徴とする画像処理装置。
画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理ステップと、
前記多値化処理ステップにて生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成ステップと、
を有することを特徴とする画像処理方法。
画像処理装置と、この画像処理装置と通信可能な画像出力装置とを具備した画像処理システムであって、
前記画像処理装置は、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部を有し、
前記画像出力装置は、前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部を有することを特徴とする画像処理システム。
(A)画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
(B)前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
(C)前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部と、
(D)を備えたことを特徴とする印刷装置。
コンピュータと、このコンピュータに接続可能な印刷装置とを具備した印刷システムにおいて、
前記コンピュータは、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部を有し、
前記印刷装置は、前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部とを有することを特徴とする印刷システム。
===画像処理装置等の概要===
本発明に係る画像処理装置等の実施の形態として、印刷装置と、この印刷装置を制御するコンピュータとを備えた印刷システムに適用した場合を例にして説明する。ここで、印刷装置としては、インクジェットプリンタを例にして説明する。
コンピュータは、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部として機能する。
また、インクジェットプリンタは、コンピュータにより生成された多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された1以上の画素のうちの少なくとも一部の画素を、出力画像を構成する画素として、前記解像度の出力画像のドット形成用データを生成するドット形成用データ生成部として機能する。これらコンピュータおよびインクジェットプリンタの各構成について詳しく説明する。
図1〜図5は、本実施形態に係る画像処理システム(印刷システム)を説明するものある。図1は、インクジェットプリンタおよびコンピュータの外観を示したものである。図2は、コンピュータ152の内部構成の一例を示したブロック構成図である。図3は、インクジェットプリンタ1の内部構成を示したものである。図4は、インクジェットプリンタ1の搬送部の構成を示したものである。図5は、インクジェットプリンタ1のシステム構成を示す。
コンピュータ152は、図1に示すように、インクジェットプリンタ1と有線または無線等により通信可能に接続される。コンピュータ152は、パーソナルコンピュータなどをはじめとする各種コンピュータであり、一般に、CPUをはじめとする各種演算処理装置や、RAMやROM等の各種メモリ、ハードディスク装置(図示外)やCD−ROMドライブ装置153、フロッピードライブ装置(FDD)154等の各種ドライブ装置などを内部に備えている。また、この他に、コンピュータ152には、CRTディスプレイ等の表示装置155と、キーボード156やマウス157等の入力装置が接続されている。
コンピュータ152は、各種メモリや各種ドライブ装置からプログラムを読み出して、各種オペーレーティングシステム(Operating System:OS)の下にて各種プログラムを実行する。ここで実行されるプログラムの中には、各種アプリケーションプログラムなども含まれている他、コンピュータ152に接続されたインクジェットプリンタ1を制御するプログラムとしてプリンタドライバが含まれている。
プリンタドライバは、インターネット等の通信回線またはCD−ROM、フロッピーディスク(FD)などの記憶媒体等を通じて、コンピュータ152にインストールされたプログラムである。このプリンタドライバがコンピュータ152にインストールされることによって、コンピュータ152は、インクジェットプリンタ1(印刷装置)を制御する、いわゆる印刷制御装置としての機能を発揮する。
<コンピュータの構成>
コンピュータ152は、図2に示すように、フロッピードライブ装置(FDD)154やCD−ROMドライブ装置153の他に、CPU162と、メモリ163と、ハードディスクドライブ装置158と、ビデオメモリ159と、操作入力インターフェース161と、外部通信インターフェース165(外部通信IF)とを備えている。
CPU162は、コンピュータ152の全体の制御を行う。また、メモリ163は、CPU162が使用するコンピュータプログラムを格納する領域や作業領域等を確保するためのものである。このメモリ163は、RAM、EEPROM、ROM等により構成される。ハードディスクドライブ装置158には、本実施形態のインクジェットプリンタ1を制御するためのプログラムとして、プリンタドライバなどがインストールされている。CPU162は、ハードディスクドライブ装置158に記憶されたプリンタドライバなどのプログラムを読み込んで、プログラムに従って動作する。また、CPU162は、ビデオメモリ159を通じて表示装置155に向けて画面を映し出すための映像信号を出力する。また、CPU162は、操作入力インターフェース164を介して、キーボード156やマウス157等の入力装置160からの操作入力を受け付ける。また、CPU162は、外部通信インターフェース165を介して、インクジェットプリンタ1と接続されて、インクジェットプリンタ1との間でデータのやりとりをする。
<インクジェットプリンタの構成>
一方、インクジェットプリンタ1は、図1に示すように、背面から供給された印刷用紙等の媒体Sを前面から排出する構造を備えている。その背面部には、印刷される媒体Sがセットされる給紙部4が設けられている。この給紙部4には、媒体Sを支持するための給紙トレー8が設けられている。また、インクジェットプリンタ1の前面部には、印刷された媒体Sが排出される排紙部3が設けられている。この排紙部3には、排出された印刷済みの媒体Sを保持するための排紙トレー7が設けられている。
(1)内部構成
インクジェットプリンタ1の内部には、図3に示すように、キャリッジ41が設けられている。このキャリッジ41は、左右方向に沿って相対的に移動可能に設けられている。キャリッジ41の周辺には、キャリッジモータ42と、プーリ44と、タイミングベルト45と、ガイドレール46とが設けられている。キャリッジモータ42は、DCモータなどにより構成され、キャリッジ41を左右方向(以下、キャリッジ移動方向ともいう)に沿って相対的に移動させるための駆動源である。タイミングベルト45は、プーリ44を介してキャリッジモータ42に接続されるとともに、その一部がキャリッジ41に接続され、キャリッジモータ42の回転駆動によってキャリッジ41をキャリッジ移動方向(左右方向)に沿って相対的に移動させる。ガイドレール46は、キャリッジ41をキャリッジ移動方向(左右方向)に沿って案内する。
この他に、キャリッジ41の周辺には、キャリッジ41の位置を検出するリニア式エンコーダ51と、媒体Sをキャリッジ41の移動方向と交差する方向(図中、前後方向。以下、搬送方向ともいう)に沿って搬送するための搬送ローラ17Aと、この搬送ローラ17Aを回転駆動させる搬送モータ15とが設けられている。
一方、キャリッジ41には、各種インクを収容したインクカートリッジ48と、媒体Sに対して印刷を行うヘッド21とが設けられている。インクカートリッジ48は、例えば、イエロ(Y)やマゼンダ(M)、シアン(C)、ブラック(K)などの各色のインクを収容しており、キャリッジ41に設けられたカートリッジ装着部49に着脱可能に装着されている。また、ヘッド21は、本実施形態では、媒体Sに対してインクを吐出して印刷を施す。このために、ヘッド21には、インクを吐出するための多数のノズルが設けられている。
この他に、このインクジェットプリンタ1の内部には、ヘッド21のノズルの目詰まりを解消するためにノズルからインクを吸い出すポンプ装置31や、ヘッド21のノズルの目詰まりを防止するために、印刷を行わないとき(待機時など)にヘッド21のノズルを封止するキャッピング装置35などが設けられている。
(2)搬送部
次にインクジェットプリンタ1の搬送部について説明する。この搬送部には、図4に示すように、給紙ローラ13と、紙検知センサ53と、搬送ローラ17Aと、排紙ローラ17Bと、プラテン14と、フリーローラ18A、18Bとが設けられている。
印刷される媒体Sは、給紙トレイ8にセットされる。給紙トレイ8にセットされた媒体Sは、断面略D形状に成形された給紙ローラ13により、図中矢印A方向に沿って搬送されて、インクジェットプリンタ1の内部へと送られる。インクジェットプリンタ1の内部に送られてきた媒体Sは、紙検知センサ53と接触する。この紙検知センサ53は、給紙ローラ13と、搬送ローラ17Aとの間に設置されたもので、給紙ローラ13により給紙された媒体Sを検知する。
紙検知センサ53により検知された媒体Sは、搬送ローラ17Aによって、印刷が実施されるプラテン14へと順次搬送される。搬送ローラ17Aの対向位置には、フリーローラ18Aが設けられている。このフリーローラ18Aと搬送ローラ17Aとの間に、媒体Sを挟み込むことによって、媒体Sをスムーズに搬送する。
プラテン14へと送り込まれた媒体Sは、ヘッド21から吐出されたインクによって順次印刷される。プラテン14は、ヘッド21と対向して設けられ、印刷される媒体Sを下側から支持する。
印刷が施された媒体Sは、排紙ローラ17Bにより順次、インクジェットプリンタ1の外部へと排出される。排紙ローラ17Bは、搬送モータ15と同期に駆動されていて、当該排紙ローラ17Bに対向して設けられたフリーローラ18Bとの間に媒体Sを挟み込んで、媒体Sをインクジェットプリンタ1の外部へと排出する。
(3)システム構成
次にこのインクジェットプリンタ1のシステム構成について説明する。このインクジェットプリンタ1は、図5に示すように、バッファメモリ122と、イメージバッファ124と、コントローラ126と、メインメモリ127と、通信インターフェース129と、キャリッジモータ制御部128と、搬送制御部130と、ヘッド駆動部132とを備えている。
通信インターフェース129は、当該インクジェットプリンタ1が、外部のコンピュータ152とデータのやりとりを行うたものである。通信インターフェース129は、外部のコンピュータ152と有線または無線等により通信可能に接続され、コンピュータ152から送信された印刷データ等の各種データを受信する。
バッファメモリ122には、通信インターフェース129により受信された印刷データ等の各種データが格納される。また、イメージバッファ124には、ヘッド21からインクを吐出すべくヘッド21を駆動するためのヘッド駆動データが順次格納される。イメージバッファ124に格納されたヘッド駆動データは、順次、ヘッド駆動部132へと送信される。また、メインメモリ127は、ROMやRAM、EEPROMなどにより構成される。メインメモリ127には、当該インクジェットプリンタ1を制御するための各種プログラムや各種設定データなどが記憶される。
コントローラ126は、メインメモリ127から制御用プログラムや各設定データなどを読み出して、当該制御用プログラムや各種設定データに従ってインクジェットプリンタ1全体の制御を行う。また、コントローラ126には、ロータリ式エンコーダ134やリニア式エンコーダ51、紙検知センサ53などの各種センサからの検出信号が入力される。
コントローラ126は、外部のコンピュータ152から送られてきた印刷データ等の各種データが通信インターフェース129により受信されてバッファメモリ122に格納されると、その格納されたデータの中から必要な情報をバッファメモリ122から読み出す。コントローラ126は、その読み出した情報に基づき、リニア式エンコーダ51やロータリ式エンコーダ134からの出力を参照しながら、制御用プログラムに従って、キャリッジモータ制御部128や搬送制御部130、ヘッド駆動部132などを各々制御する。
キャリッジモータ制御部128は、コントローラ126からの命令に従って、キャリッジモータ42の回転方向や回転数、トルクなどを駆動制御する。搬送制御部130は、コントローラ126からの命令に従って、搬送ローラ17Aを回転駆動する搬送モータ15などの駆動を制御する。
ヘッド駆動部132は、コントローラ126からの命令に従って、イメージバッファ124に格納された印刷データに基づき、ヘッド21に設けられた各色のノズルを駆動制御する。
(4)ヘッド
図6は、ヘッド21の下面部に設けられたインクのノズルの配列を示した図である。ヘッド21の下面部には、同図に示すように、イエロ(Y)、マゼンタ(M)、シアン(C)、ブラック(K)の各色ごとにそれぞれ複数のノズル♯1〜♯180からなるノズル列、即ちシアンノズル列211C、マゼンダノズル列211M、イエロノズル列211Y、およびブラックノズル列211Kが設けられている。
各ノズル列211C、211M、211Y、211Kの各ノズル♯1〜♯180は、所定の方向(ここでは、媒体Sの搬送方向)に沿って相互に間隔をあけて直線状に1列に配列されている。各ノズル♯1〜♯180の間隔(ノズル間隔)は、それぞれ「k・D」に設定されている。ここで、『D』とは、搬送方向における最小のドットピッチ(つまり、媒体Sに形成されるドットの最高解像度での間隔)である。また、『k』は、1以上の整数である。例えば、ノズルピッチが120dpi(1/120インチ)であって、搬送方向のドットピッチが360dpi(1/360)である場合、k=3である。各ノズル列211C、211M、211Y、211Kは、ヘッド21の移動方向(走査方向)に沿って相互に所定の間隔D1をあけて平行に配置されている。各ノズル♯1〜♯180には、インク滴を吐出するための駆動素子としてピエゾ素子(図示外)が設けられている。
各ノズル列211C、211M、211Y、211Kの各ノズル♯1〜♯180は、所定の方向に沿って直線状に配列されている。なお、本実施形態では、ヘッドが正常に設置されている場合、各ノズル列211C、211M、211Y、211Kの各ノズル♯1〜♯180は、媒体Sの搬送方向に沿って配置されているようになっている。各ノズル列211C、211M、211Y、211Kは、ヘッド21の移動方向(走査方向)に沿って相互に間隔をあけて平行に配置されている。各ノズル♯1〜♯180には、インク滴を吐出するための駆動素子としてピエゾ素子(図示外)が設けられている。
ピエゾ素子は、その両端に設けられた電極間に所定時間幅の電圧を印加すると、電圧の印加時間に応じて伸張し、インクの流路の側壁を変形させる。これによって、インクの流路の体積がピエゾ素子の伸縮に応じて収縮し、この収縮分に相当するインクが、インク滴となって各色のノズル列211C、211M、211Y、211Kの各ノズル♯1〜♯180から吐出される。
(5)駆動回路
図7は、各ノズル♯1〜♯180の駆動回路220を示したものである。この駆動回路220は、同図に示すように、原駆動信号発生部221と、複数のマスク回路222とを備えている。原駆動信号発生部221は、各ノズル♯1〜♯180に共通して用いられる原駆動信号ODRVを生成する。この原駆動信号ODRVは、一画素分の主走査期間内(キャリッジ41が一画素の間隔を横切る時間内)において、図中下部に示すように、第1パルスW1と第2パルスW2の2つのパルスを含む信号である。原駆動信号発生部221で生成された原駆動信号ODRVは、各マスク回路222に出力される。
マスク回路222は、ヘッド21のノズル♯1〜♯180をそれぞれ駆動する複数のピエゾ素子に対応して設けられている。各マスク回路222には、原駆動信号発生部221から原駆動信号ODRVが入力されるとともに、印刷信号PRT(i)が入力される。この印刷信号PRT(i)は、画素に対応する画素データであり、一画素に対して2ビットの情報を有する2値信号である。その各ビットは、それぞれ第1パルスW1と第2パルスW2とに対応している。マスク回路222は、印刷信号PRT(i)のレベルに応じて、原駆動信号ODRVを遮断したり通過させたりするためのゲートである。すなわち、印刷信号PRT(i)がレベル『0』のときには、原駆動信号ODRVのパルスを遮断する一方、印刷信号PRT(i)がレベル『1』のときには、原駆動信号ODRVの対応するパルスをそのまま通過させて実駆動信号DRVとして、各ノズル♯1〜♯180のピエゾ素子に向けて出力する。各ノズル♯1〜♯180のピエゾ素子は、マスク回路222からの実駆動信号DRVに基づき駆動してインクの吐出を行う。
(6)各信号波形
図8は、原駆動信号発生部221の動作を示す原駆動信号ODRV、印刷信号PRT(i)、実駆動信号DRV(i)のタイミングチャートである。同図に示すように、原駆動信号ODRVは、各画素区間T1、T2、T3、T4において、第1パルスW1と第2パルスW2とを順に発生する。なお、画素区間とは、一画素分のキャリッジ41の移動区間と同じ意味である。
ここで、印刷信号PRT(i)が2ビットの画素データ『10』に対応しているとき、第1パルスW1のみが一画素区間の前半で出力される。これにより、ノズル♯1〜♯180から小さいインク滴が吐出され、媒体Sには小さいドット(小ドット)が形成される。また、印刷信号PRT(i)が2ビットの画素データ『01』に対応しているとき、第2パルスW2のみが一画素区間の後半で出力される。これにより、ノズル♯1〜♯180から中サイズのインク滴が吐出され、媒体Sには、中サイズのドット(中ドット)が形成される。また、印刷信号PRT(i)が2ビットの画素データ『11』に対応しているとき、第1パルスW1と第2パルスW2とが一画素区間で出力される。これにより、ノズル♯1〜♯180から大きいサイズのインク滴が吐出され、媒体Sには、大きいサイズのドット(大ドット)が形成される。以上説明したとおり、一画素区間における実駆動信号DRV(i)は、印刷信号PRT(i)の3つの異なる値に応じて互いに異なる3種類の波形を有するように整形され、これらの信号に基づいてヘッド21は、3種類のサイズのドットを形成し、また画素区間内にて吐出するインク量を調整することが可能である。また、画素区間T4のように、印刷信号PRT(i)が2ビットの画素データ『00』に対応しているときには、ノズル♯1〜♯180からインク滴が吐出されず、媒体Sには、ドットが形成されないことになる。
本実施形態に係るインクジェットプリンタ1では、このようなノズル♯1〜♯180の駆動回路220が、各ノズル列211C、211M、211Y、211Kごと、即ち、イエロ(Y)、マゼンタ(M)、シアン(C)、ブラック(K)の各色ごとに各々個別に設けられ、各ノズル列211C、211M、211Y、211Kの各ノズル♯1〜180ごとに個別にピエゾ素子の駆動が行われるようになっている。
===コンピュータの処理===
図9は、コンピュータ152の内部処理について説明したものである。コンピュータ152では、このコンピュータ152に搭載されたオペレーティングシステムの下、ビデオドライバ162やアプリケーションプログラム160、プリンタドライバ164などの各種コンピュータプログラムが実行されている。ビデオドライバ162は、アプリケーションプログラム160やプリンタドライバ164からの表示命令に従って、表示装置155に画面表示をする機能を有する。
アプリケーションプログラム160は、例えば、画像編集などを行う機能を有し、画像に関するデータ(画像データ)を作成する。ユーザは、アプリケーションプログラム160のユーザインターフェースを介して、アプリケーションプログラム160により編集した画像を印刷する指示を与えることができる。アプリケーションプログラム160は、印刷の指示を受けると、プリンタドライバ164に画像データを出力する。
プリンタドライバ164は、アプリケーションプログラム160から取得した画像データに基づき、アプリケーションプログラム160から要求のあった画像をインクジェットプリンタ1にて印刷するための印刷データを生成する。ここで、印刷データとは、インクジェットプリンタ1が解釈できる形式のデータである。印刷データは、インクジェットプリンタ1に特定の動作の実行を指示するための各種のコマンドデータと、媒体に画像を印刷するためのデータとを有している。プリンタドライバ164は、このような印刷データを生成してインクジェットプリンタ1に向けて出力する。
<従来の処理>
従来、プリンタドライバ164にて印刷データを生成するために実行されていた処理について説明する。プリンタドライバ164は、図9にて説明するように、アプリケーションプログラム160から取得した画像データに基づき、印刷データを生成するために、解像度変換処理部166と、色変換処理部168と、ハーフトーン処理部170と、ラスタライズ処理部172とを有する。ここで各処理部166,168、170、172について説明する。
解像度変換処理部166は、アプリケーションプログラム160から出力された画像データ(テキストデータ、イメージデータなど)を、媒体Sに印刷する際の解像度に変換する解像度変換処理を行う。解像度変換処理とは、例えば、媒体Sに画像を印刷する際の解像度が720dpi(横)×720dpi(縦)に指定されている場合、アプリケーションプログラム160から受け取った画像データを720dpi(横)×720dpi(縦)の解像度の画像データに変換する。なお、解像度変換処理後の画像データは、RGB色空間により表される多階調(例えば256階調)のRGBデータである。以下、画像データを解像度変換処理したRGBデータをRGB画像データと呼ぶ。
色変換処理部168は、RGBデータをCMYK色空間により表されるCMYK画像データに変換する色変換処理を行う。なお、CMYKデータは、インクジェットプリンタ1が有するインクの色に対応したデータである。この色変換処理は、RGB画像データの階調値とCMYK画像データの階調値とを対応づけたテーブル、即ち色変換テーブルLUTをプリンタドライバ164が参照することによって行われる。この色変換処理により、各画素についてのRGBデータが、インク色に対応するCMYKデータに変換される。なお、色変換処理後のデータは、CMYK色空間により表される256階調のCMYKデータである。以下、RGB画像データを色変換処理したCMYKデータをCMYK画像データと呼ぶ。
ハーフトーン処理部170は、高階調数のデータを、インクジェットプリンタ1が形成可能な階調数のデータに変換するハーフトーン処理を行う。ハーフトーン処理とは、例えば、256階調を示すデータが、2階調を示す1ビットデータや4階調を示す2ビットデータに変換する処理のことである。このハーフトーン処理では、ディザ法・γ補正・誤差拡散法などを利用して、インクジェットプリンタ1がドットを分散して形成できるように画素データを作成する。ハーフトーン処理部170は、ハーフトーン処理を行うとき、ディザ法を行う場合には、ディザテーブルを参照し、γ補正を行う場合には、ガンマテーブルを参照し、誤差拡散法を行う場合は拡散された誤差を記憶するための誤差メモリを参照する。ハーフトーン処理されたデータは、前述のRGBデータと同等の解像度(例えば、720dpi(横)×720dpi(縦))を有している。ハーフトーン処理されたデータは、例えば、各画素につき1ビット又は2ビットのデータから構成される。以下、ハーフトーン処理されたデータのうち、1ビットデータのものを2値データと呼び、2ビットデータのものを多値データと呼ぶ。
ラスタライズ処理部172は、ハーフトーン処理部によってハーフトーン処理されて得られた2値データや多値データ等のデータを、インクジェットプリンタ1に転送すべきデータ順に変更するラスタライズ処理を行う。このラスタライズ処理によって生成されたデータは、印刷データとしてインクジェットプリンタ1に向けて出力される。
インクジェットプリンタ1は、コンピュータ152から送られてきた印刷データに基づき、キャリッジ41を媒体Sに対して相対的に移動させながら、ヘッド21の各ノズル列211C、211M、211Y、211Kの各ノズル♯1〜♯180からそれぞれインクを吐出して、吐出したインクによって媒体S上にドットを形成して、アプリケーションプログラム160から指定された画像を媒体Sに印刷する。
===今回の処理===
本実施形態のプリンタドライバにあっては、従来の処理とは異なる新しい処理を実行する。図10は、この新しい処理の概要を説明したものである。この新しい処理において、プリンタドライバ180は、従来と同様に、解像度変換処理および色変換処理を実行する。ただし、このプリンタドライバ180により実行される解像度変換処理は、従来の解像度変換処理と異なる。一方、従来の処理にて実行されていたハーフトーン処理およびラスタライズ処理については、本実施形態のプリンタドライバ180では実行されず、他の処理が実行される。以下に、本実施形態のプリンタドライバ180にて実施される処理の概要について説明する。
<処理の概要>
プリンタドライバ180は、解像度変換処理を実行する解像度変換処理部166と、色変換処理を実行する色変換処理部168とを備える。解像度変換処理部166は、従来の処理と同様に、アプリケーションプログラム160から出力された画像データ(テキストデータ、イメージデータなど)の解像度を変換する。ただし、ここでは、従来の処理のように、画像データの解像度が、媒体Sに印刷する際の解像度(出力解像度)に変換されるのではなく、所定の解像度に変換される。つまり、例えば、変換後の解像度が、360dpi(横)×360dpi(縦)に指定されている場合には、アプリケーションプログラム160から受け取った画像データを360dpi(横)×360dpi(縦)の解像度の画像データに変換する。媒体Sに画像を印刷する際の解像度(出力解像度)への変換処理は、後の処理にて実行する。すなわち、媒体Sに印刷する際の解像度(出力解像度)が、720dpi(横)×720dpi(縦)であっても、この解像度変換処理においては、アプリケーションプログラム160から受け取った画像データは、360dpi(横)×360dpi(縦)の解像度の画像データに変換される。また、媒体Sに印刷する際の解像度(出力解像度)が、1440dpi(横)×1440dpi(縦)であった場合も、この解像度変換処理においては、アプリケーションプログラム160から受け取った画像データは、360dpi(横)×360dpi(縦)の解像度の画像データに変換される。この解像度変換処理によって、解像度変換処理部166は、RGB色空間により表される多階調(例えば256階調)のRGB画像データを生成する。
色変換処理部168は、従来の処理と同様に、解像度変換処理部166により生成されたRGB画像データを、インクジェットプリンタ1が有するインクの色に対応したCMYK色空間により表されるCMYK画像データに変換する。色変換処理部168は、RGB画像データの各画素の各色(ここでは、R(レッド)、G(グリーン)およびB(ブルー)の3色)の階調値とCMYK画像データの各画素の各色(ここでは、例えば、C(シアン)、M(マゼンダ)、Y(イエロ)およびK(ブラック)の4色)の階調値とを対応づけた色変換テーブルLUTを使用して変換処理を行う。この色変換処理によって、各画素のRGBデータが、インク色に対応するCMYKデータに変換される。なお、このCMYKデータは、CMYK色空間により表されるデータであり、ここでは、各色につき256階調のCMYKデータである。色変換処理部168により生成されるCMYK画像データは、360dpi(横)×360dpi(縦)の解像度の画像データとなる。
色変換処理部168によりCMYK画像データを生成した後、プリンタドライバ180は、このCMYK画像データに対し、従来の処理のようにハーフトーン処理を実行するのではなく、従来の処理とは異なる別の処理を実行する。この別の処理とは、多値化処理のことである。本実施形態のプリンタドライバ180は、この多値化処理を実行するために多値化処理部182を備えている。
<多値化処理>
多値化処理部182は、色変換処理部168により生成されたCMYK画像データの各画素の各色の階調値をそれぞれ多値化処理して多値階調値データに変換する。この変換にあっては、多値化処理部182は、CMYK画像データの各画素の各色の階調値を各画素の各色毎にそれぞれ、媒体Sに印刷する際の解像度(出力解像度)に応じて多値階調値データに変換する。
図11は、このときの多値化処理部182の処理手順の一例を説明したものである。多値化処理部182は、同図にて説明するように、まず、CMYK画像データの各画素の階調値と、各画素の分類番号とを取得する(S150)。ここで、分類番号については、後で詳しく説明する。次に、多値化処理部182は、ステップS152へと進み、取得した階調値と分類番号とに基づき、多値階調値データを取得する。ここで、多値化処理部182は、多値階調値データが分類番号別に各階調値にそれぞれ対応付けられた多値化テーブルを用いて、多値階調値データを取得する。多値化テーブルについては、後で詳しく説明する。そして、多値化処理部182は、取得した多値階調値データを、CMYK画像データの画素の階調値に対応する多値階調値データとして出力する(S154)。このようにして変換処理を終了した後、多値化処理部182は、次に変換すべき画素がないかどうかチェックする(S156)。ここで、次に変換すべき画素がある場合には、多値化処理部182は、ステップS150へと戻り、再度、変換対象となる画素の階調値について、多値階調値データに変換する処理を実行する。このような処理を多値化処理部182は、変換すべき画素がなくなるまで実行する。次に変換すべき画素がない場合には、多値化処理部182は、処理を速やかに終了する。
<多値化テーブル>
図12は、画素の階調値と分類番号とに基づき、多値階調値データを取得する際に使用される多値化テーブルの一例を概念的に示した説明図である。多値化テーブルは、同図に示すように、多値階調値データが画素の分類番号毎にそれぞれ画素の階調値別に各々対応付けられて設定されたテーブルである。多値化テーブルは、例えば、同図に示すように、縦方向に『画素の分類番号』が、横方向に『画素の階調値』が設定され、『分類番号』と『階調値』とからそれぞれ対応する多値階調値データを導き出せるようになっている。ここで、『階調値』は、『0』〜『255』までの256階調にて表されている。また、『分類番号』は、CMYK画像データの各画素ごとにそれぞれ割り振られる番号であり、ここでは、『1』〜『1024』の番号が割り振られている。多値階調値データは、これら『0』〜『255』の各階調値と、『1』〜『1024』の各分類番号とに応じて、『0』〜『31』の値を取るようになっている。多値階調値データは、画素の階調値が増加するに従って段階的に増加するようになっている。
コンピュータ152には、このような多値化テーブルに関するデータが、ハードディスクドライブ158やメモリ163等のデータ記憶部(図2参照)に予め記憶されている。多値化処理部182は、画素の階調値を多値階調値データに変換する際に、ハードディスクドライブ158やメモリ163等のデータ記憶部から多値化テーブルに関するデータを取得する。
<多値化段数>
図13は、画素の階調値が増加するに従って多値階調値データが段階的に増加していく様子を例示した説明図である。ここでは、同図に示すように、横軸に画素の階調値を取り、縦軸に多値階調値データを取った折れ線グラフにて、画素の階調値に対する多値階調値データを示している。分類番号N1〜N5は、それぞれ異なる分類番号を表す。これら分類番号N1〜N5に対応する5つの画素についての多値化結果を示している。なお、ここで、各分類番号N1〜N5の折れ線が重なって判別し難くなることを避けるために、多値階調値データの原点位置を縦軸方向に少しずつ、ずらして表示している。
図中、太い実線で示した分類番号N1について説明する。画素の階調値が『0』〜『4』の範囲では、多値階調値データは、「0」であるが、画素の階調値が『5』〜『20』の範囲では、多値階調値データは、「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値化)していることになる。このように、多値化処理部182では、各画素の多値化の段数(多値化の結果として取り得る状態数)が同じではなく、画素の分類番号に応じて固有の段数で多値化されている。この結果、同じ画素の階調値を多値化した場合でも、画素の分類番号が異なれば、多値化の段数が異なる。このため、画素の階調値が同じであっても、異なる多値階調値データに変換されることになる。
また、多値化段数が同じであったとしても、同じ多値階調値データが得られるわけではない。例えば、図13に示した分類番号N2と、分類番号N3とを比較すれば明らかなように、これら画素についての多値化段数は、いずれも18段であるが、多値階調値データが切り換わる画素の階調値は多くの場合、一致していない。分類番号N4と分類番号N5とについても同様に、これらの画素の多値化段数は、いずれも21段であるが、多値階調値データが切り換わる画素の階調値は一致していないことが多い。このことから、例え画素の多値化段数が同じでも、分類番号が異なれば、異なる多値階調値データが得られることになる。
このように多値階調値データは、分類番号によってそれぞれ異なるものの、多値化の段数は15〜21程度となっている。つまり、多値化の段数は、多く見積もっても30を越えることはないと考えられる。従って、多値階調値データは、5ビットのデータ量があれば十分に表現することが可能である。
<分類番号の設定>
ここで、CMYK画像データの各画素への分類番号の設定方法について説明する。CMYK画像データの各画素に対する分類番号の設定方法は、媒体Sに画像を印刷する際の解像度(出力解像度)に応じて異なる。つまり、媒体Sに画像を印刷する際の解像度(出力解像度)が異なると、CMYK画像データの各画素への分類番号の割り付け方が異なる。
本実施形態では、媒体Sに画像を印刷する際の解像度(出力解像度)として、7種類の解像度がある。つまり、『1×1モード』と、『2×1モード』と、『1×2モード』と、『2×2モード』と、『4×2モード』と、『2×4モード』と、『4×4モード』との7種類である。
(1)出力解像度
ここで、『1×1モード』とは、CMYK画像データの解像度と同じ解像度にて媒体Sに画像を印刷するモードである。つまり、例えば、360dpi(横)×360dpi(縦)の解像度のCMYK画像データに基づいて画像を印刷する場合、印刷される画像の解像度は、360dpi(横)×360dpi(縦)の解像度となる。また、『2×1モード』とは、CMYK画像データの横方向の解像度を2倍にして媒体Sに画像を印刷するモードである。つまり、例えば、360dpi(横)×360dpi(縦)の解像度のCMYK画像データに基づいて画像を印刷する場合、印刷される画像の解像度は、720dpi(横)×360dpi(縦)の解像度となる。なお、縦方向の解像度については、CMYK画像データと等しい解像度にて画像を印刷する。
また、『1×2モード』とは、CMYK画像データの縦方向の解像度を2倍にして媒体Sに画像を印刷するモードである。つまり、例えば、360dpi(横)×360dpi(縦)の解像度のCMYK画像データに基づき画像を印刷する場合、印刷される画像の解像度は、360dpi(横)×720dpi(縦)の解像度となる。なお、横方向の解像度については、CMYK画像データと等しい解像度にて画像を印刷する。
また、『2×2モード』とは、CMYK画像データの横方向および縦方向の解像度を2倍にして媒体Sに画像を印刷するモードである。つまり、例えば、360dpi(横)×360dpi(縦)の解像度のCMYK画像データに基づき画像を印刷する場合、印刷される画像の解像度は、720dpi(横)×720dpi(縦)の解像度となる。また、『4×2モード』とは、CMYK画像データの横方向の解像度を4倍に、またCMYK画像データの縦方向の解像度を2倍にして媒体Sに画像を印刷するモードである。つまり、例えば、360dpi(横)×360dpi(縦)の解像度のCMYK画像データに基づき画像を印刷する場合、印刷される画像の解像度は、1440dpi(横)×720dpi(縦)の解像度となる。
また、『2×4モード』とは、CMYK画像データの横方向の解像度を2倍に、またCMYK画像データの縦方向の解像度を4倍にして媒体Sに画像を印刷するモードである。つまり、例えば、360dpi(横)×360dpi(縦)の解像度のCMYK画像データに基づき画像を印刷する場合、印刷される画像の解像度は、720dpi(横)×1440dpi(縦)の解像度となる。また、『4×4モード』とは、CMYK画像データの横方向および縦方向の解像度を4倍にして媒体Sに画像を印刷するモードである。つまり、例えば、360dpi(横)×360dpi(縦)の解像度のCMYK画像データに基づき画像を印刷する場合、印刷される画像の解像度は、1440dpi(横)×1440dpi(縦)の解像度となる。
(2)解像度別分類番号設定
図14A〜図14Eは、各出力解像度に応じた分類番号の設定方法についてそれぞれ説明したものである。図14Aは、『1×1モード』、即ち、ここでは、360dpi(横)×360dpi(縦)の解像度にて媒体Sに画像を印刷する場合を示す。図14Bは、『2×1モード』、即ち、ここでは、720dpi(横)×360dpi(縦)の解像度にて媒体Sに画像を印刷する場合を示す。図14Cは、『1×2モード』、即ち、ここでは、360dpi(横)×720dpi(縦)の解像度にて媒体Sに画像を印刷する場合を示す。図14Dは、『2×2モード』、即ち、ここでは、720dpi(横)×720dpi(縦)の解像度にて媒体Sに画像を印刷する場合を示す。図14Eは、『4×2モード』、即ち、ここでは、1440dpi(横)×720dpi(縦)の解像度にて媒体Sに画像を印刷する場合を示す。なお、ここで、『2×4モード』および『4×4モード』については、『4×2モード』の場合と同様の設定処理を行うものとする。
『1×1モード』の場合には、図14Aに示すように、CMYK画像データを構成する画素のうち、相隣接する8つの画素を1つの単位としてそれぞれ分類番号を設定する。つまり、CMYK画像データを構成する画素のうちの相隣接する8つの画素が、全て同じ分類番号に設定される。ここでは、横方向に4画素、縦方向に2画素、計8画素を1つの単位としてこれら8つの画素についてそれぞれ同じ分類番号を割り当てる。つまり、ここでは、同図に示すように、CMYK画像データの左上隅角部に位置する8つの画素は、例えば、分類番号『1』に設定される。
一方、これら分類番号『1』が設定された8つの画素の図中右隣りの8つの画素(横方向4画素、縦方向2画素)については、例えば、分類番号『2』が設定される。また、分類番号『1』が設定された8つの画素の図中下側に隣接する8つの画素(横方向4画素、縦方向2画素)については、例えば、分類番号『33』が設定される。また、分類番号『1』が設定された8つの画素の図中右下の8つの画素(横方向4画素、縦方向2画素)については、例えば、分類番号『34』が設定される。
また、『2×1モード』の場合には、図14Bに示すように、CMYK画像データを構成する画素のうち、相隣接する4つの画素を1つの単位としてそれぞれ分類番号を設定する。つまり、CMYK画像データを構成する画素のうちの相隣接する4つの画素が、全て同じ分類番号に設定される。ここでは、横方向に2画素、縦方向に2画素、計4画素を1つの単位としてこれら4つの画素についてそれぞれ同じ分類番号を設定する。つまり、ここでは、同図に示すように、CMYK画像データの左上隅角部に位置する4つの画素は、例えば、分類番号『1』に設定される。
一方、これら分類番号『1』が設定された4つの画素の図中右隣りの4つの画素(横方向2画素、縦方向2画素)については、例えば、分類番号『2』が設定される。さらに、図中右隣りの4つの画素(横方向2画素、縦方向2画素)には、例えば、分類番号『3』が設定される。また、分類番号『1』が設定された4つの画素の図中下側に隣接する4つの画素(横方向2画素、縦方向2画素)については、例えば、分類番号『33』が設定される。このようにして、CMYK画像データを構成する他の画素についても同様に、相隣接する4つの画素を1つの単位としてそれぞれ分類番号が設定される。
また、『1×2モード』の場合には、図14Cに示すように、CMYK画像データを構成する画素のうち、相隣接する4つの画素を1つの単位としてそれぞれ分類番号を設定する。つまり、CMYK画像データを構成する画素のうちの相隣接する4つの画素が、全て同じ分類番号に設定される。ここでは、横方向に4画素、縦方向に1画素、計4画素を1つの単位としてこれら4つの画素について各々同じ分類番号を設定する。つまり、ここでは、同図に示すように、CMYK画像データの左上隅角部に位置する4つの画素は、例えば、分類番号『1』に設定される。
一方、これら分類番号『1』が設定された4つの画素の図中右隣りの4つの画素(横方向4画素、縦方向1画素)については、例えば、分類番号『2』が設定される。また、分類番号『1』が設定された4つの画素の図中下側に隣接する4つの画素(横方向4画素、縦方向1画素)については、例えば、分類番号『33』が設定される。さらに、分類番号『33』が設定された4つの画素の図中下側に隣接する4つの画素(横方向4画素、縦方向1画素)は、例えば、分類番号『5』に設定される。さらに、図中下側に隣接する4つの画素(横方向4画素、縦方向1画素)については、例えば、分類番号『97』に設定される。このようにして、CMYK画像データを構成する他の画素についても同様に、相隣接する4つの画素を1つの単位としてそれぞれ分類番号が設定される。
また、『2×2モード』の場合には、図14Dに示すように、CMYK画像データを構成する画素のうち、相隣接する2つの画素を1つの単位としてそれぞれ分類番号を設定する。つまり、CMYK画像データを構成する画素のうち、相隣接する2つの画素が、全て同じ分類番号に設定される。ここでは、横方向に2画素、縦方向に1画素、計2画素を1つの単位としてこれら2つの画素について各々同じ分類番号を設定する。つまり、ここでは、同図に示すように、CMYK画像データの左上隅角部に位置する2つの画素は、例えば、例えば、分類番号『1』に設定される。
一方、これら分類番号『1』が設定された2つの画素の図中右隣りの2つの画素(横方向2画素、縦方向1画素)については、例えば、分類番号『2』が設定される。さらに、これら分類番号『2』が設定された2つの画素の図中右隣りの2つの画素(横方向2画素、縦方向1画素)には、例えば、分類番号『3』が設定される。さらに、その図中右隣りの2つの画素(横方向2画素、縦方向1画素)には、例えば、分類番号『4』が設定される。また、分類番号『1』が設定された2つの画素の図中下側に隣接する2つの画素(横方向2画素、縦方向1画素)については、例えば、分類番号『33』が設定される。さらに、分類番号『33』が設定された2つの画素の図中下側に隣接する2つの画素(横方向2画素、縦方向1画素)には、例えば、分類番号『5』が設定される。さらに、図中下側に隣接する2つの画素(横方向2画素、縦方向1画素)については、例えば、分類番号『97』が設定される。このようにして、CMYK画像データを構成する他の画素についても同様に、相隣接する2つの画素を1つの単位としてそれぞれ分類番号が設定される。
また、『4×2モード』の場合には、図14Eに示すように、CMYK画像データを構成する画素ごとにそれぞれ異なる分類番号を設定する。つまり、ここでは、同図に示すように、CMYK画像データの左上隅角部に位置する画素には、例えば、分類番号『1』が設定される。また、この画素に隣接する他の画素には、別の分類番号が設定される。つまり、例えば、分類番号『1』が設定された画素の図中右隣りの画素には、例えば、分類番号『2』が設定される。また、分類番号『2』が設定された画素の図中右隣りの画素には、例えば、分類番号『3』が設定される。またさらに、分類番号『3』が設定された画素の図中右隣りの画素には、例えば、分類番号『4』が設定される。
一方、分類番号『1』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『33』が設定される。また、分類番号『33』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『65』が設定される。またさらに、分類番号『65』が設定された画素の図中下側に隣接した画素には、例えば、分類番号『97』が設定される。
なお、『2×4モード』および『4×4モード』の場合には、『4×2モード』の場合と同様に分類番号の設定を行う。
以上のように、CMYK画像データの各画素の分類番号の設定は、媒体Sに画像を印刷する際の解像度(出力解像度)に応じてそれぞれ異なる方法により実施する。このようにして設定された分類番号に基づき、多値化処理部182は、色変換処理部168により生成されたCMYK画像データの各画素の各色の階調値をそれぞれ多値化処理して多値階調値データを生成する。
多値化処理部182により変換されて生成された多値階調値データは、図10に示すように、印刷データとしてプリンタドライバ180によりコンピュータ152からインクジェットプリンタ1に向けて送信される。
===インクジェットプリンタの処理===
インクジェットプリンタ1は、コンピュータ152から印刷データとして送られてきた多値階調値データを受信して、当該多値階調値データに基づきドット形成用データを生成して、媒体Sに対して画像を印刷する。インクジェットプリンタ1の内部には、図10に示すように、ドット形成用データを生成するドット形成用データ生成部184が設けられている。このドット形成用データ生成部184の処理について詳しく説明する。なお、このドット形成用データ生成部184によるドット形成用データの生成処理は、本実施形態では、実際に、インクジェットプリンタ1のコントローラ126により実行されている。
<ドット形成用データの生成>
ドット形成用データ生成部184は、コンピュータ152から印刷データとして送られてきた多値階調値データに基づきドット形成用データを生成する際に、多値階調値データをドット個数データに変換する。次に、ドット形成用データ生成部184は、変換により得られたドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定する。そして、ドット形成用データ生成部184は、ドット形成の有無が決定された1以上の画素のうちの少なくとも一部の画素を、印刷される画像(出力画像)を構成する画素として、ドット形成用データを生成する。
図15は、このときのドット形成用データ生成部の処理手順の一例について示したものである。ドット形成用データ生成部184は、同図にて説明するように、まず、多値階調値データと、それに対応する分類番号とを取得する(S202)。ここで、多値階調値データに対応する分類番号とは、多値階調値データが生成される際に使用された分類番号である。ドット形成用データ生成部184は、次に、取得した多値階調値データと分類番号とに基づき、ドット個数データを取得する(S204)。このドット個数データとは、形成すべきドットの個数を表すデータである。本実施形態では、このドット個数データが、形成すべきドットの個数の他、形成すべき各ドットのサイズ(即ち「小ドット」、「中ドット」、「大ドット」)をも表すコード化されたデータとなっている。このドット個数データについては後で詳しく説明する。ドット形成用データ生成部184は、ここで、ドット個数データが分類番号別に各多値階調値データにそれぞれ対応付けられたドット個数データ変換テーブルにより、ドット個数データを取得する。ドット個数データ変換テーブルについては、後で詳しく説明する。
次に、ドット形成用データ生成部184は、取得したドット個数データに基づき、1以上の画素についてそれぞれドット形成の有無を決定する(S206)。本実施形態では、ドット形成用データ生成部184は、取得したドット個数データに基づき、8つの画素についてそれぞれドットを形成すべきか否か決定するようになっている。このドット形成の有無の決定にあたっては、形成すべきドットのサイズも決定される。
そして次に、ドット形成用データ生成部184は、ドット形成の有無が決定された1以上の画素(ここでは8つの画素)に基づき、ドット形成用データを生成する(S208)。具体的には、ドット形成の有無が決定された1以上の画素(ここでは8つの画素)の中から少なくとも一部の画素を切り出して、その切り出した画素を、印刷する画像を構成する画素のデータとして使用する。ここで、ドット形成の有無が決定された1以上の画素(ここでは8つの画素)は、全部の画素が切り出されて、印刷する画像を構成する画素のデータとして使用されてもよい。ドット形成の有無が決定された1以上の画素(ここでは8つの画素)の中から切り出される画素の数は、媒体Sに画像を印刷する際の解像度(出力解像度)に応じて異なる。このようにしてドット形成用データ生成部184によりドット形成用データが生成される。
ある多値階調値データについてドット形成用データの生成を終了した後、ドット形成用データ生成部184は、次に、処理すべき多値階調値データがないかどうかチェックする(S210)。ここで、次に処理すべき多値階調値データがある場合には、ドット形成用データ生成部184は、ステップS202へと戻り、再度、処理対象となる多値階調値データについて、ドット形成用データを生成する処理を実行する。このような処理をドット形成用データ生成部184は、処理すべき画素がなくなるまで実行する。処理すべき多値階調値データがなくなった場合には、ドット形成用データ生成部184は、処理を速やかに終了する。
<ドット個数データ変換テーブル>
図16は、多値階調値データをドット個数データに変換する際に使用されるドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルは、同図に示すように、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定されたテーブルである。ドット個数データ変換テーブルは、例えば、同図に示すように、縦方向に『分類番号』が、また横方向に『多値階調値データ』が設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。なお、ここで、『分類番号』は、先に説明したように、『1』〜『1024』の番号にて表される。また、『多値階調値データ』は、『0』〜『31』までの数値にて表される。また、『ドット個数データ』は、ここでは、『0』〜『164』の数値にて表されるようになっている。ドット個数データは、これら『1』〜『1024』の分類番号と、『0』〜『31』の多値階調値データとに応じてそれぞれ個別に用意されている。
一例として、分類番号『1』について説明すると、多値階調値データ『0』に対して、ドット個数データは、「0」が設定されている。また、多値階調値データ『3』に対して、ドット個数データは、「3」が設定されている。また、多値階調値データ『14』に対して、ドット個数データは、「157」が設定されている。更に、多値階調値データ『15』に対して、ドット個数データは、「164」が設定されている。
インクジェットプリンタ1には、このようなドット個数データ変換テーブルに関するデータが、メインメモリ127(図5参照)等に予め記憶されている。ドット形成用データ生成部184は、多値階調値データをドット個数データに変換する際に、メインメモリ127等からドット個数データ変換テーブルに関するデータを取得する。
<ドット個数データ>
前述したように本実施形態のドット個数データは、形成すべきドットの個数の他、形成すべき各ドットのサイズ(即ち「小ドット」、「中ドット」、「大ドット」)をも表すコード化されたデータとなっている。
図17は、ドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例を説明したものである。ドット個数データは、前述したように、『0』〜『164』の数値を取るようになっている。ドット個数データの各数値『0』〜『164』は、それぞれドット形成の有無と、ドットのサイズとを表すようになっている。つまり、ドット個数データ『0』は、「大ドット」、「中ドット」および「小ドット」につき共に形成しないことを表わす。また、ドット個数データ『1』は、「小ドット」のみを1個形成することを表す。また、ドット個数データ『2』は、「小ドット」のみを2個形成することを表す。また、ドット個数データ『3』は、「小ドット」のみを3個形成することを表す。また、ドット個数データ『160』は、「大ドット」を6個形成し、「中ドット」を2個形成し、「小ドット」は形成しないことを表す。また、ドット個数データ『161』は、「大ドット」のみを7個形成することを表わす。また、ドット個数データ『164』は、「大ドット」のみを8個形成することを表わす。
このようにドット個数データが表されているのは、次の理由からである。つまり、本実施形態では、取得したドット個数データに基づき、8つの画素についてそれぞれドットを形成すべきか否か決定するようになっているためである。要するに、8つの画素について形成され得るドット個数は、最大でも8個である。例えば、大ドットが4個、中ドットが3個、小ドットが2個といったドット個数の組合せは、ドット個数の合計が9個となって8個を越えてしまうので現実には発生し得ない。こうした点に着目すれば、現実に発生し得るドット個数の組合せは、それほど多くの種類はないと考えられる。実際に算出すれば、次のようになる。つまり、8つの画素についてみれば「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」の4つの状態を取り得る。従って、ドット個数の組合せは、これら4つの状態を、重複を許容して8回選択した時の組合せの数に等しくなるから、(=4+8−1)によって求めることができる。このことから、最大でも165通りの組合せしか出現しないことになる。ここで、は、n個の物の中から重複を許してr回選択するときの重複組合せ数を求める演算子である。また、は、n個の物の中から重複を許さずにr回選択するときの組合せ数を求める演算子である。165通りの組合せであれば、8ビットあれば表現することができる。
一方、各ドットの個数をコード化せずに、そのまま表現しようとすると、大ドットの個数、中ドットの個数、小ドットの個数を表すためにそれぞれ4ビットずつ、合計では12ビットのデータ量が必要となる。したがって、現実に発生し得るドット個数の組合せにコード番号を設定しておけば、形成すべきドット個数の組合せを8ビットのデータで表すことができる。結局、ドット個数の組合せをコード化しておくことで、ドットの種類毎に形成個数を表した場合よりも、必要なデータ量を低減することが可能となる。
なお、もちろん、ドット個数データについては、前述した8ビットのデータの代わりに、各サイズのドットの個数をコード化せずにそのまま表現した12ビットのデータを用いても構わない。
<ドット形成の有無の決定>
ドット形成用データ生成部184は、取得したドット個数データに基づき、本実施形態では、1以上の画素についてそれぞれドット形成の有無を決定する。本実施形態では、ドット個数データに基づき、8つの画素(横4画素、縦2画素)についてそれぞれドット形成の有無とともにドットのサイズがドット形成用データ生成部184により決定される。ここで、8つの画素各々についてのドット形成の有無の決定は、順序値マトリックスに基づき行われる。なお、この順序値マトリックスは、「ドット形成順序データ」に相当する。
ここで、順序値マトリックスとは、8つの画素についてそれぞれドットが形成されるべき順番を設定したマトリックスのことである。この順序値マトリックスには、横4画素、縦2画素、計8つの画素についてそれぞれドットを形成すべき順番を表わす番号が設定されている。8つの画素についてそれぞれ設定されるドットの形成順番を表わす番号は、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
<順序値マトリックス>
図18は、ここで使用される順序値マトリックスの一例を説明したものである。図18Aは、分類番号『1』に対応して設定される順序値マトリックスの一例を説明している。図18Bは、分類番号『2』に対応して設定される順序値マトリックスの一例を説明している。図18Cは、分類番号『3』に対応して設定される順序値マトリックスの一例を説明している。
分類番号『1』に対応する順序値マトリックスは、図18Aに示すように、ドット形成の有無が決定される8つの画素のうち、左上隅にある画素に対してドットの形成順番を表わす番号「1」が設定されている。このように左上隅の画素に数値「1」が設定されているのは、この画素が8つの画素のうち、1番目にドットが形成されるべきことを表している。なお、順序値マトリックスに設定されている、このような順番を表す数値を、順序値とも呼ぶ。また、8つの画素の中の右下隅の画素に順序値「2」が設定されているのは、この画素が8つの画素の中で2番目にドットが形成されるべきことを表している。このように、順序値マトリックスには、8つの画素についてそれぞれドットが形成される順番を示す順序値が設定されている。ここでは、画素の数が8つであるから、『1』〜『8』の番号が順序値として8つの画素にそれぞれ設定される。なお、8つの画素に設定される順序値は、それぞれ異なる。
一方、ここで、分類番号『2』に対応する順序値マトリックスは、図18Bに示すように、1番目にドットが形成されるべき画素(順序値「1」の画素)が、下段の左から2番目の画素となっている。また、2番目にドットが形成されるべき画素(順序値「2」の画素)は、右下隅の画素となっている。また、ここで、分類番号『3』に対応する順序値マトリックスは、図18Bに示すように、1番目にドットが形成されるべき画素(順序値「1」の画素)が、上段の右から2番目の画素となっている。また、2番目にドットが形成されるべき画素(順序値「2」の画素)は、左下隅の画素となっている。
インクジェットプリンタ1には、このような各分類番号『1』〜『1024』に各々対応する順序値マトリックスに関するデータが、メインメモリ127(図5参照)等に予め記憶されている。ドット形成用データ生成部184は、8つの画素についてそれぞれ個別にドット形成の有無を決定するときに、メインメモリ127等から順序値マトリックスに関するデータを取得する。
<各画素への決定>
このように順序値マトリックスに関するデータを取得した後、ドット形成用データ生成部184は、次に、8つの画素の中から、先ず初めに大ドットを形成する画素を決定する。大ドットは他のドットよりもドットが目立ち易いことから、できるだけドットが分散して形成されるように、ドットを形成する画素位置を他のドットに優先させて決定しておくことが望ましい。このため、先ずはじめに大ドットを形成する画素を決定する。ドットを形成する画素の決定に際しては、多値階調値データを変換して得られたドット個数データと、それに対応する順序値マトリックスとを使用する。
図19は、ドット個数データと順序値マトリックスとに基づき、8つの画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、ドット個数データが、大ドットを1個、中ドットを2個、小ドットを1個、それぞれ形成すべき旨を表すデータであり、順序値マトリックスが、図18Aに示した分類番号『1』に対応する順序値マトリックスである場合を例にして説明する。
前述したように、順序値マトリックスには、8つの画素についてそれぞれドットが形成される順番が設定されている。ここで、まずはじめに、[第1ステップ]にて、最も大きいドット、即ち大ドットが形成される画素が決定される。形成すべき大ドットの個数は1個であるから、大ドットが形成される画素は、順序値「1」が設定された画素のみとなる。すなわち、図中、8つの画素のうち、細かい斜線を付して表示した画素となる。
次に、[第2ステップ]にて、2番目に大きいドット、即ち中ドットが形成される画素が決定される。形成すべき中ドットの個数は2個であることから、中ドットが形成される画素は、順序値「2」が設定された画素と、順序値「3」が設定された画素との2つになる。すなわち、図中、8つの画素のうち、少し粗い斜線を付して表示した画素となる。
そして次に、[第3ステップ]にて、3番目に大きいドット、即ち小ドットが形成される画素が決定される。形成すべき小ドットの個数は1個であることから、小ドットが形成される画素は、順序値「4」が設定された画素のみとなる。すなわち、図中、8つの画素のうち、粗い斜線を付して表示した画素となる。
このようにして大ドット、中ドットおよび小ドットについてそれぞれ、8つの画素の中から形成すべき画素を決定する。これら大ドット、中ドットおよび小ドットについて形成すべき指示がない残りの画素については、ドットを形成しない画素とする。これによって、最終的には、図中の下部に示すようなドット配置となる。また、8つの画素それぞれについてドットを形成するためのデータは、同じく図中の下部に示すようなドットデータとなる。
<画素の切り出し>
次に、ドット形成用データ生成部184は、このようにして形成すべきドットの位置とサイズを決定した8つの画素の中から少なくとも一部の画素を切り出して、その切り出した画素を、印刷する画像を構成する画素のドット形成用データとして使用する。ここで切り出される画素の数は、媒体Sに画像を印刷する際の解像度(出力解像度)に応じて異なる。また、8つの画素の中から切り出される画素の位置は、多値階調値データを生成する際に、CMYK画像データにおける画素の中の位置に応じて異なる。
(1)1×1モードの場合
『1×1モード』の場合には、媒体Sに画像を印刷する際の解像度(出力解像度)がCMYK画像データの解像度と同じであるから、切り出される画素の数は1つである。図20は、8つの画素の中から切り出される画素の位置について説明したものである。図20A〜図20Hは、切り出される画素の位置のパターンをそれぞれ示したものである。また、図21は、CMYK画像データにおける画素の位置について説明したものである。
図20Aは、8つの画素の中の左上隅に位置する画素を切り出す場合について示したものである。図20Bは、8つの画素の中の上段の左から2番目に位置する画素を切り出す場合について示したものである。図20Cは、8つの画素の中の上段の右から2番目に位置する画素を切り出す場合について示したものである。図20Dは、8つの画素の中の右上隅に位置する画素を切り出す場合について示したものである。図20Eは、8つの画素の中の左下隅に位置する画素を切り出す場合について示したものである。図20Fは、8つの画素の中の下段の左から2番目に位置する画素を切り出す場合について示したものである。図20Gは、8つの画素の中の下段の右から2番目に位置する画素を切り出す場合について示したものである。図20Hは、8つの画素の中の右下隅に位置する画素を切り出す場合について示したものである。
図20Aに示すように、8つの画素の中の左上隅に位置する画素が切り出されるのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図21において『(1)』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図21に示す各分類番号『1』、『2』、『33』、『34』が設定された4画素(横)×2画素(縦)の8つの画素の中の左上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図20Aに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「11」という画素データをドット形成用データとして取得する。
また、図20Bに示すように、8つの画素の中の上段の左から2番目に位置する画素が切り出されるのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図21において『(2)』で示された位置、即ち同一の分類番号が設定される画素の中の上段の左から2番目の位置である場合である。つまり、ここでは、図21に示すように各分類番号『1』、『2』、『33』、『34』がそれぞれ設定される4画素(横)×2画素(縦)の8つの画素の中の上段の左から2番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図20Bに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「00」という画素データをドット形成用データとして取得する。
また、図20Cに示すように、8つの画素の中の上段の右から2番目に位置する画素が切り出されるのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図21において『(3)』で示された位置、即ち同一の分類番号が設定される画素の中の上段の右から2番目の位置である場合である。つまり、ここでは、図21に示すように各分類番号『1』、『2』、『33』、『34』がそれぞれ設定される4画素(横)×2画素(縦)の8つの画素の中の上段の右から2番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図20Cに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「10」という画素データをドット形成用データとして取得する。
また、図20Dに示すように、8つの画素の中の右上隅に位置する画素が切り出されるのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図21において『(4)』で示された画素の位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図21に示すように各分類番号『1』、『2』、『33』、『34』がそれぞれ設定される4画素(横)×2画素(縦)の8つの画素の中の右上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図20Dに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「00」という画素データをドット形成用データとして取得する。
図20Eに示すように、8つの画素の中の左下隅に位置する画素が切り出されるのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図21において『(5)』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図21に示すように各分類番号『1』、『2』、『33』、『34』がそれぞれ設定される4画素(横)×2画素(縦)の8つの画素の中の左下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図20Eに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「00」という画素データをドット形成用データとして取得する。
また、図20Fに示すように、8つの画素の中の下段の左から2番目に位置する画素が切り出されるのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図21において『(6)』で示された位置、即ち同一の分類番号が設定される画素の中の下段の左から2番目の位置である場合である。つまり、ここでは、図21に示すように各分類番号『1』、『2』、『33』、『34』がそれぞれ設定される4画素(横)×2画素(縦)の8つの画素の中の下段の左から2番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図20Eに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「01」という画素データをドット形成用データとして取得する。
また、図20Gに示すように、8つの画素の中の下段の右から2番目に位置する画素が切り出されるのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図21において『(7)』で示された位置、即ち同一の分類番号が設定される画素の中の下段の右から2番目の位置である場合である。つまり、ここでは、図21に示すように各分類番号『1』、『2』、『33』、『34』がそれぞれ設定される4画素(横)×2画素(縦)の8つの画素の中の下段の右から2番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図20Gに示すよう画素の切り出し方を実行する。ここでは、このような切り出し方によって、「00」という画素データをドット形成用データとして取得する。
また、図20Hに示すように、8つの画素の中の右下隅に位置する画素が切り出されるのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の中の位置が、図21において『(8)』で示された位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図21に示すように各分類番号『1』、『2』、『33』、『34』がそれぞれ設定される4画素(横)×2画素(縦)の8つの画素の中の右下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図20Hに示すよう画素の切り出し方を実行する。ここでは、このような切り出し方によって、「10」という画素データをドット形成用データとして取得する。
(2)2×1モードの場合
『2×1モード』の場合には、媒体Sに画像を印刷する際の横方向の解像度(出力解像度)が、CMYK画像データの解像度の2倍となる。このことから、『2×1モード』の場合に切り出される画素は、8つの画素のうちの横方向に並ぶ2つの画素となる。図22は、8つの画素の中から切り出される画素の位置について説明したものである。図22A〜図22Dは、切り出される画素の位置をそれぞれ示したものである。また、図23は、CMYK画像データにおける画素の位置について説明したものである。
図22Aは、8つの画素の中の上段の左から1番目および2番目に位置する画素を切り出す場合について説明したものである。図22Bは、8つの画素の中の上段の右から1番目および2番目に位置する画素を切り出す場合について説明したものである。図22Cは、8つの画素の中の下段の左から1番目および2番目に位置する画素を切り出す場合について説明したものである。図22Dは、8つの画素の中の下段の右から1番目および2番目に位置する画素を切り出す場合について説明したものである。
図22Aに示すように、8つの画素の中の上段の左から1番目および2番目に位置する画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図23において『(1)』で示された位置、即ち同一の分類番号が設定される画素の中の左上隅の位置である場合である。つまり、ここでは、図23に示すように各分類番号『1』〜『4』、『33』〜『36』がそれぞれ設定される2画素(横)×2画素(縦)の4つの画素の中の左上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図22Aに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「11」および「00」という横方向に並ぶ2つの画素データをドット形成用データとして取得する。
図22Bに示すように、8つの画素の中の上段の右から1番目および2番目に位置する画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図23において『(2)』で示された位置、即ち同一の分類番号が設定される画素の中の右上隅の位置である場合である。つまり、ここでは、図23に示すように各分類番号『1』〜『4』、『33』〜『36』がそれぞれ設定される2画素(横)×2画素(縦)の4つの画素の中の右上隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図22Bに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「10」および「00」という横方向に並ぶ2つの画素データをドット形成用データとして取得する。
図22Cに示すように、8つの画素の中の下段の左から1番目および2番目に位置する画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図23において『(3)』で示された位置、即ち同一の分類番号が設定される画素の中の左下隅の位置である場合である。つまり、ここでは、図23に示すように各分類番号『1』〜『4』、『33』〜『36』がそれぞれ設定される2画素(横)×2画素(縦)の4つの画素の中の左下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図22Cに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「00」および「01」という横方向に並ぶ2つの画素データをドット形成用データとして取得する。
図22Dに示すように、8つの画素の中の下段の右から1番目および2番目に位置する画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図23において『(4)』で示された位置、即ち同一の分類番号が設定される画素の中の右下隅の位置である場合である。つまり、ここでは、図23に示すように各分類番号『1』〜『4』、『33』〜『36』がそれぞれ設定される2画素(横)×2画素(縦)の4つの画素の中の右下隅に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図22Dに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「00」および「10」という横方向に並ぶ2つの画素データをドット形成用データとして取得する。
(3)1×2モード
『1×2モード』の場合には、媒体Sに画像を印刷する際の縦方向の解像度(出力解像度)が、CMYK画像データの解像度の2倍となる。このことから、『1×2モード』の場合に切り出される画素は、8つの画素のうちの縦方向に並ぶ2つの画素となる。図24は、8つの画素の中から切り出される画素の位置について説明したものである。図24A〜図24Dは、切り出される画素の位置をそれぞれ示したものである。また、図25は、CMYK画像データにおける画素の位置について説明したものである。
図24Aは、8つの画素の中の左から1番目の列に位置する上下2つの画素を切り出す場合について説明したものである。図24Bは、8つの画素の中の左から2番目の列に位置する上下2つの画素を切り出す場合について説明したものである。図24Cは、8つの画素の中の右から2番目の列に位置する上下2つの画素を切り出す場合について説明したものである。図24Dは、8つの画素の中の右から1番目の列に位置する上下2つの画素を切り出す場合について説明したものである。
図24Aに示すように、8つの画素の中の左から1番目の列に位置する上下2つの画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図25において『(1)』で示された位置、即ち同一の分類番号が設定される画素の中の左から1番目の位置である場合である。つまり、ここでは、図25に示すように各分類番号『1』、『2』、『33』、『34』、『65』、『66』、『97』、『98』がそれぞれ設定される4画素(横)×1画素(縦)の4つの画素の中の左から1番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図24Aに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「11」および「00」という縦方向に並ぶ2つの画素データをドット形成用データとして取得する。
図24Bに示すように、8つの画素の中の左から2番目の列に位置する上下2つの画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図25において『(2)』で示された位置、即ち同一の分類番号が設定される画素の中の左から2番目の位置である場合である。つまり、ここでは、図25に示すように各分類番号『1』、『2』、『33』、『34』、『65』、『66』、『97』、『98』がそれぞれ設定される4画素(横)×1画素(縦)の4つの画素の中の左から2番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図24Bに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「00」および「01」という縦方向に並ぶ2つの画素データをドット形成用データとして取得する。
図24Cに示すように、8つの画素の中の右から2番目の列に位置する上下2つの画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図25において『(3)』で示された位置、即ち同一の分類番号が設定される画素の中の右から2番目の位置である場合である。つまり、ここでは、図25に示すように各分類番号『1』、『2』、『33』、『34』、『65』、『66』、『97』、『98』がそれぞれ設定される4画素(横)×1画素(縦)の4つの画素の中の右から2番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図24Cに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「10」および「00」という縦方向に並ぶ2つの画素データをドット形成用データとして取得する。
図24Dに示すように、8つの画素の中の右から1番目の列に位置する上下2つの画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図25において『(4)』で示された位置、即ち同一の分類番号が設定される画素の中の右から1番目の位置である場合である。つまり、ここでは、図25に示すように各分類番号『1』、『2』、『33』、『34』、『65』、『66』、『97』、『98』がそれぞれ設定される4画素(横)×1画素(縦)の4つの画素の中の右から1番目に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図24Dに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「00」および「10」という縦方向に並ぶ2つの画素データをドット形成用データとして取得する。
(4)2×2モード
『2×2モード』の場合には、媒体Sに画像を印刷する際の横方向および縦方向の解像度(出力解像度)がそれぞれ、CMYK画像データの解像度の2倍となる。このことから、『2×2モード』の場合に切り出される画素は、8つの画素のうちの横方向に2画素分および縦方向に2画素分の計4画素となる。図26は、8つの画素の中から切り出される画素の位置について説明したものである。図26Aおよび図26Bは、切り出される画素の位置をそれぞれ示したものである。また、図27は、CMYK画像データにおける画素の位置について説明したものである。
図26Aに示すように、8つの画素の中の左側に位置する上下左右4つの画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図27において『(1)』で示された位置、即ち同一の分類番号が設定される画素の中の左側の位置である場合である。つまり、ここでは、図27に示すように各分類番号『1』〜『4』、『33』〜『37』、『65』〜『68』、『97』〜『100』がそれぞれ設定される2画素(横)×1画素(縦)の2つの画素の中の左側に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図26Aに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「11」、「00」、「00」および「01」という上下方向および左右方向に並ぶ4つの画素データをドット形成用データとして取得する。
図26Bに示すように、8つの画素の中の右側に位置する上下左右4つの画素を切り出すのは、多値階調値データを生成する際にCMYK画像データにおいて参照される画素の位置が、図27において『(2)』で示された位置、即ち同一の分類番号が設定される画素の中の右側の位置である場合である。つまり、ここでは、図27に示すように各分類番号『1』〜『4』、『33』〜『37』、『65』〜『68』、『97』〜『100』がそれぞれ設定される2画素(横)×1画素(縦)の2つの画素の中の右側に位置する画素の階調値を多値化処理して得られた多値階調値データに基づきドット形成用データを生成する場合に、図26Bに示すような画素の切り出し方を実行する。ここでは、このような切り出し方によって、「10」、「00」、「00」および「10」という上下方向および左右方向に並ぶ4つの画素データをドット形成用データとして取得する。
(5)4×2モードの場合
『4×2モード』の場合には、媒体Sに画像を印刷する際の横方向の解像度(出力解像度)がCMYK画像データの解像度の4倍に、また媒体Sに画像を印刷する際の縦方向の解像度(出力解像度)がCMYK画像データの解像度の2倍になる。このことから、『4×2モード』の場合に切り出される画素は8つの画素全てとなる。図28は、8つの画素の中から切り出される画素の位置について説明したものである。同図に示すように、形成すべきドットの位置とサイズを決定した8つの画素全てがドット形成用データとして切り出される。すなわち、ここでは、「11」、「00」、「10」、「00」、「00」、「01」、「00」、「10」という横方向に4つ、縦方向に2つ並ぶ8つの画素データをドット形成用データとして取得する。
<他のモードの場合>
以上、『1×1モード』、『2×1モード』、『1×2モード』、『2×2モード』および『4×2モード』の場合については、前述した方法によりドット形成用データを生成する。しかし、他のモード、即ち『2×4モード』および『4×4モード』の場合には、前述した方法とは異なる方法によりドット形成用データを生成する。以下にその異なる方法について説明する。
(1)2×4モードの場合
『2×4モード』の場合、前述した他のモードの場合に比べて。多値階調値データをドット個数データに変換する処理が異なる。ここでは、図16にて説明したドット個数データ変換テーブルとは異なる、『2×4モード』のためのドット個数データ変換テーブルにより、多値階調値データがドット個数データに変換される。
図29は、『2×4モード』のためのドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルには、図16にて説明したドット個数データ変換テーブルと同様に、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。『分類番号』は、図16の場合と同様、『1』〜『1024』の番号にて表される。また、『多値階調値データ』についても、図16の場合と同様、『0』〜『31』までの数値にて表される。また、『ドット個数データ』は、図16の場合と同様、『0』〜『164』の数値にて表されている。ドット個数データは、これら『1』〜『1024』の分類番号と、『0』〜『31』の多値階調値データとに応じてそれぞれ個別に用意されている。
なお、ここで『ドット個数データ』は、形成すべきドットの個数の他、形成すべき各ドットのサイズ(即ち「小ドット」、「中ドット」、「大ドット」)をも表すコード化されたデータとなっている。ここでは、『ドット個数データ』に、8つの画素について形成されるドットの個数に関する情報が含まれることから、図17にて説明した場合と同様に、『0』〜『164』の数値にて表されるようになっている。
インクジェットプリンタ1には、このような『2×4モード』にて使用されるドット個数データ変換テーブルに関するデータが、メインメモリ127(図5参照)等に予め記憶されている。ドット形成用データ生成部184は、『2×4モード』にて多値階調値データをドット個数データに変換するときに、メインメモリ127等から『2×4モード』のドット個数データ変換テーブルに関するデータを取得する。
ドット形成用データ生成部184は、『2×4モード』の場合に、このドット個数データ変換テーブルを参照して、多値階調値データをドット個数データに変換する。そして、ドット形成用データ生成部184は、この変換により取得したドット個数データに基づき、横2画素×縦4画素、計8個の画素について個別にドット形成の有無を決定する。このとき、ドット形成用データ生成部184は、『2×4モード』のために用意された順序値マトリックスに基づき、8個の画素について個別にドット形成の有無を決定する。
図30は、このときに使用される順序値マトリックスの一例を説明したものである。『2×4モード』にて使用される順序値マトリックスは、同図に示すように、横2画素、縦4画素、計8個の画素についてそれぞれドットを形成すべき順番を表わす番号(以下、「順序値」ともいう)が設定されたマトリックスによりなる。8つの画素についてそれぞれ設定された番号は、図18にて説明した順序値マトリックスと同様に、それぞれドットが形成されるすべき順番を表わす。つまり、順序値『1』が設定された画素は、1番最初にドットが形成されるべき画素である。順序値『2』が設定された画素は、2番目にドットが形成されるべき画素である。順序値『3』が設定された画素は、3番目にドットが形成されるべき画素である。
このような順序マトリックスは、『2×4モード』の場合でも、図18にて説明した順序値マトリックスと同様に、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
インクジェットプリンタ1には、このような『2×4モード』にて使用される順序値マトリックスに関するデータが、メインメモリ127(図5参照)等に予め記憶されている。ドット形成用データ生成部184は、『2×4モード』にて、8つの画素についてそれぞれ個別にドット形成の有無を決定するときに、メインメモリ127等から『2×4モード』の順序値マトリックスに関するデータを取得する。
このような順序値マトリックスに基づき、8個の画素についてそれぞれドット形成の有無を決定する方法は、図19にて説明した場合と同じ方法である。すなわち、まずはじめに、ドットが目立ち易い大きいサイズのドットから順に、形成すべき画素の位置を決定する。
図31は、『2×4モード』において、ドット個数データと順序値マトリックスとに基づき、8つの画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、大ドットを1個、中ドットを2個、小ドットを1個、それぞれ形成すべき旨を表すドット個数データに基づき、図30にて説明した順序値マトリックスを用いてドット形成の有無を決定する場合を例にして説明する。
ここで、順序値『1』に対応する画素には、1番大きいドット、即ち大ドット(『11』)が設定される。形成すべき大ドットの個数は1個であるから、順序値『2』に対応する画素には、中ドット(『10』)が設定される。形成すべき中ドットの個数は2個であるから、順序値『3』に対応する画素にも、中ドット(『10』)が設定される。次に、順序値『4』に対応する画素には、小ドット(『01』)が設定される。形成すべき小ドットの個数は、1個であるから、他の残りの画素、即ち順序値『5』〜『8』に対応する画素には、ドットが形成されないことになる。
このようにしてドット形成用データ生成部184は、『2×4モード』の場合に、多値階調値データに基づき、横2画素×縦4画素、計8個の画素についてそれぞれドット形成の有無を決定する。そして、ドット形成用データ生成部184は、ドット形成の有無を決定した8個の画素を全てドット形成用データとして用いる。
(2)4×4モードの場合
『4×4モード』の場合、前述した他のモードの場合に比べて、多値階調値データをドット個数データに変換する処理が異なる。『4×4モード』の場合においても、『2×4モード』の場合と同様に、図16や図29にて説明したドット個数データ変換テーブルとは異なる、『4×4モード』のためのドット個数データ変換テーブルを使用する。
図32は、『4×4モード』のためのドット個数データ変換テーブルの一例を概念的に説明したものである。このドット個数データ変換テーブルには、図16や図29にて説明したドット個数データ変換テーブルと同様に、ドット個数データが各分類番号毎にそれぞれ多値階調値データ別に各々対応付けられて設定され、『分類番号』と『多値階調値データ』とからそれぞれ対応するドット個数データを導き出せるようになっている。『分類番号』は、図16や図29の場合と同様、『1』〜『1024』の番号にて表される。また、『多値階調値データ』についても、図16の場合と同様、『0』〜『31』までの数値にて表される。ドット個数データは、これら『1』〜『1024』の分類番号と、『0』〜『31』の多値階調値データとに応じてそれぞれ個別に用意されている。
ただし、『ドット個数データ』は、図16や図29の場合と異なり、『0』〜『968』の数値にて表されている。このように『ドット個数データ』が、『0』〜『968』の値を取るように設定されているのは、次の理由からである。すなわち、ドット個数データは、前述したように、形成すべきドットの個数の他、形成すべき各ドットのサイズ(即ち「小ドット」、「中ドット」、「大ドット」)をも表すコード化されたデータとなっている。『4×4モード』の場合には、ドット個数データに基づき、前述したように8つの画素についてドット形成の有無を決定するのではなく、16個の画素(横4画素×縦4画素)についてドット形成の有無を決定する。16個の画素について形成され得るドット個数は、最大でも16個である。各画素において取り得る状態としては、「大ドット」、「中ドット」、「小ドット」、「ドット形成なし」の4段階であるから、ドット個数の組合せは、16(=4+16−116)=969通りとなる。このことから、ドット個数データを『0』〜『968』の値で表せば、全ての組合せを表現することができる。
図33は、ドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例を説明したものである。ドット個数データは、前述したように、『0』〜『968』の数値を取るようになっている。ドット個数データの『0』〜『968』の数値は、それぞれドット形成の有無と、ドットのサイズとを表すようになっている。
インクジェットプリンタ1には、このような『4×4モード』にて使用されるドット個数データ変換テーブルに関するデータが、メインメモリ127(図5参照)等に予め記憶されている。ドット形成用データ生成部184は、『4×4モード』にて、多値階調値データをドット個数データに変換するときに、メインメモリ127等から『4×4モード』のドット個数データ変換テーブルに関するデータを取得する。
ドット形成用データ生成部184は、『4×4モード』の場合に、このドット個数データ変換テーブルを参照して、多値階調値データをドット個数データに変換する。そして、ドット形成用データ生成部184は、この変換により取得したドット個数データに基づき、横4画素×縦4画素、計16個の画素について個別にドット形成の有無を決定する。このとき、ドット形成用データ生成部184は、『4×4モード』のために用意された順序値マトリックスに基づき、16個の画素について個別にドット形成の有無を決定する。
図34は、このときに使用される順序値マトリックスの一例を説明したものである。『4×4モード』にて使用される順序値マトリックスは、同図に示すように、横4画素、縦4画素、計16個の画素についてそれぞれドットを形成すべき順番を表わす番号(以下、「順序値」ともいう)が設定されたマトリックスによりなる。16個の画素についてそれぞれ設定された番号は、図18や図30にて説明した順序値マトリックスと同様に、それぞれドットが形成されるすべき順番を表わす。つまり、順序値『1』が設定された画素は、1番最初にドットが形成されるべき画素である。順序値『2』が設定された画素は、2番目にドットが形成されるべき画素である。順序値『3』が設定された画素は、3番目にドットが形成されるべき画素である。
このような順序マトリックスは、『4×4モード』の場合でも、図18や図30にて説明した順序値マトリックスと同様に、分類番号毎にそれぞれ個別に設定されている。つまり、順序値マトリックスは、分類番号毎にそれぞれ異なるマトリックスに設定されている。
インクジェットプリンタ1には、このような『4×4モード』にて使用される順序値マトリックスに関するデータが、メインメモリ127(図5参照)等に予め記憶されている。ドット形成用データ生成部184は、『4×4モード』にて、16個の画素についてそれぞれ個別にドット形成の有無を決定するときに、メインメモリ127等から『4×4モード』の順序値マトリックスに関するデータを取得する。
このような順序値マトリックスに基づき、16個の画素についてそれぞれドット形成の有無を決定する方法は、図19にて説明した場合と同じ方法である。すなわち、まずはじめに、ドットが目立ち易い大きいサイズのドットから順に、形成すべき画素の位置を決定する。
図35は、『4×4モード』において、ドット個数データと順序値マトリックスとに基づき、16個の画素についてそれぞれドット形成の有無を決定する手順の一例を概念的に説明したものである。ここでは、大ドットを6個、中ドットを4個、小ドットを1個、それぞれ形成すべき旨を表すドット個数データに基づき、図34にて説明した順序値マトリックスを用いてドット形成の有無を決定する場合を例にして説明する。
ここで、順序値『1』に対応する画素には、1番大きいドット、即ち大ドット(『11』)が設定される。形成すべき大ドットの個数は6個であるから、順序値『2』〜『6』に対応する画素にも、大ドット(『11』)が設定されることになる。次に、順序値『7』に対応する画素には、中ドット(『10』)が設定される。形成すべき中ドットの個数は4個であるから、順序値『8』〜『10』に対応する画素にも、中ドット(『10』)が設定される。次に、順序値『11』に対応する画素には、小ドット(『01』)が設定される。形成すべき小ドットの個数は、1個であるから、他の残りの画素、即ち順序値『12』〜『16』に対応する画素には、ドットが形成されないことになる。
このようにしてドット形成用データ生成部184は、『4×4モード』の場合に、多値階調値データに基づき、横4画素×縦4画素、計16個の画素についてそれぞれドット形成の有無を決定する。そして、ドット形成用データ生成部184は、ドット形成の有無を決定した16個の画素を全てドット形成用データとして用いる。
<印刷処理>
インクジェットプリンタ1は、図10にて説明するように、このようにしてドット形成用データ生成部184により生成されたドット形成用データに基づき、印刷処理を実行する。この印刷処理はコントローラ126により制御されて実行される。コントローラ126は、生成されたドット形成用データに基づき、キャリッジ41を媒体Sに対して相対的に移動させながら、ヘッド21の各ノズル列211C、211M、211Y、211Kの各ノズル♯1〜♯180からそれぞれインクを吐出して、吐出したインクによって媒体S上にドットを形成して、アプリケーションプログラム160から指定された画像を媒体Sに印刷する。
===ディザ法の概要===
前述した多値化処理およびドット形成用データ生成処理は、いわゆるディザ法と呼ばれる方法をベースに実行されるものである。前述した多値化処理およびドット形成用データ生成処理において、分類番号を決定する考え方や、多値化テーブル、ドット個数データ変換テーブル、順序値マトリックスなどの設定方法は、すべてこのディザ法に基づいている。ここで、ディザ法の概要について簡単に説明する。
ディザ法とは、画像データを、画素毎にドット形成の有無を表すデータに変換するために用いられる代表的な手法である。この手法では、ディザマトリックスと呼ばれるマトリックスに閾値を設定しておき、画像データの各画素の階調値とディザマトリックスに設定されている閾値とを画素毎に比較して、階調値の方が大きい画素についてはドットを形成すると判断し、そうでない画素についてはドットを形成しないと判断する。このような判断を画像データ中の全画素について行う。これによって、画像データを画素毎にそれぞれドット形成の有無を表すデータに変換することができる。
図36は、ディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、横方向に128画素、縦方向に64画素、合計8192個の画素に、階調値「1」〜「255」の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が「1」〜「255」の範囲から選択されているのは、本実施例では、画像データの画素が階調値「0」〜「255」の値を取り得る1バイトデータとしていることに加えて、画像データの画素の階調値と閾値とが等しい場合、その画素にはドットを形成するものと判断していることによるものである。
すなわち、ドットが形成されるのは、画像データの階調値が閾値よりも大きい画素に限る(すなわち階調値と閾値とが等しい画素には、ドットは形成しない)とした場合、画像データが取り得る最大階調値と同じ値の閾値を有する画素には、決してドットが形成されることはない。こうしたことを避けるため、閾値の取り得る範囲は、画素が取り得る範囲から最大階調値を除いた範囲とする。逆に、画像データの階調値と閾値とが等しい画素にもドットを形成するとした場合、画像データの取り得る最小階調値と同じ値の閾値を有する画素には、常にドットが形成されてしまうことになる。こうしたことを避けるため、閾値の取り得る範囲は、画像データの取り得る範囲から最小階調値を除いた範囲とする。本実施例では、画像データの取り得る階調値が「0」〜「255」であり、画像データと閾値が等しい画素にはドットを形成するとしていることから、閾値の取り得る範囲を「1」〜「255」としておくのである。なお、ディザマトリックスの大きさは、図36に例示したような大きさに限られるものではなく、縦と横の画素数が同じマトリックスも含めて種々の大きさとすることができる。
図37は、ディザマトリックスを参照しながら、各画素についてのドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成の有無を判断するに際しては、先ず、判断しようとする画素を選択し、この画素についての画像データの階調値と、ディザマトリックス中で対応する位置に記憶されている閾値とを比較する。図37中に示した細い破線の矢印は、画像データの階調値と、ディザマトリックスに記憶されている閾値とを、画素毎に比較していることを模式的に表したものである。例えば、画像データの左上隅の画素については、画像データの階調値は「97」であり、ディザマトリックスの閾値は「1」であるから、この画素には、ドットを形成すると判断する。図37中に実線で示した矢印は、この画素には、ドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は「97」、ディザマトリックスの閾値は「177」であり、閾値の方が大きいので、この画素については、ドットを形成しないと判断する。ディザ法では、こうしてディザマトリックスを参照しながら、画素毎にドットを形成するか否かを判断することで、画像データを画素毎にドット形成の有無を表すデータに変換する。
===分類番号を設定するための考え方===
<分類番号>
分類番号は、前述した図36に示すディザマトリックスに基づき設定される。つまり、ディザマトリックスには、横方向に128画素、縦方向に64画素、合計8192個の画素が形成されている。これら8192個の画素を、横方向に4画素、縦方向に2画素を1つの単位ブロックとして区分して、これら区分された各単位ブロック毎にそれぞれ個別に設定した通し番号が、「分類番号」となっている。
図38は、分類番号を設定するための考え方を示した説明図である。図38Aは、画像の一番左上隅の箇所において、横方向に4画素、縦方向に2画素の合計8画素を1つの単位ブロックとして区分した様子を概念的に示したものである。図38Bは、このようにディザマトリックスの画素を区分して、各単位ブロックごとにそれぞれ「分類番号」が設定されたときの様子を説明したものである。
ディザマトリックスには、横方向に4画素、縦方向に2画素を1つの単位ブロックとして区分することによって、横方向および縦方向にそれぞれ32個ずつ、合計1024個の単位ブロックが形成される。これら1024個の単位ブロックに対してそれぞれ個別に通し番号を設定する。これにより、ディザマトリックスの各単位ブロックごとにそれぞれ『1』〜『1024』の分類番号が振られることになる。
図38Cは、画像データにディザマトリックスを適用した場合の一例について説明したものである。このように画像データにディザマトリックスを適用した場合、画像データの一番左上隅にある画素には、少なくとも、分類番号『1』が設定されることになる。なお、画像データの各画素への分類番号の設定方法は、先に図14A〜図14Eにて説明したように、媒体Sに画像を印刷する際の解像度(出力解像度)に応じて異なる。つまり、『1×1モード』、『2×1モード』、『1×2モード』、『2×2モード』、『4×2モード』、『2×4モード』および『4×4モード』の各モードに応じて、各画素への分類番号の設定方法が異なる。
<分類番号の設定方法が異なる理由>
ここで、CMYK画像データの各画素への分類番号の設定方法が、媒体Sに画像を印刷する際の解像度(出力解像度)に応じて異なる理由について説明する。つまり、分類番号は、ディザマトリックス上のにおいて、横4画素、縦2画素、合計8個の画素を1つの単位とした単位ブロックごとにそれぞれ割り振られている。このため、1つの分類番号に対応する1つの単位ブロックが適用されるのは、8個の画素ということになる。CMYK画像データ上の1つの画素から生成されるドット形成用データ上の画素の数は、媒体Sに画像を印刷する際の解像度(出力解像度)に応じて異なるから、出力解像度毎にそれぞれ異なる方法にて分類番号を設定する必要がある。
『1×1モード』の場合には、CMYK画像データの中の1つの画素から、ドット形成用データとして1つの画素分のデータしか生成されない。このため、『1×1モード』の分類番号は、図14Aにて説明するように、横方向に4つ、縦方向に2つ、計8つの画素を1つの単位として同一の分類番号が設定されることになる。
また、『2×1モード』の場合には、CMYK画像データの中の1つの画素から、ドット形成用データとして横方向に並ぶ2つの画素分のデータしか生成されない。このため、『2×1モード』の分類番号は、図14Bにて説明するように、横方向に2つ、縦方向に2つ、計4つの画素を1つの単位として同一の分類番号が設定されることになる。
また、『1×2モード』の場合には、CMYK画像データの中の1つの画素から、ドット形成用データとして縦方向に並ぶ2つの画素分のデータしか生成されない。このため、『1×2モード』の分類番号は、図14Cにて説明するように、横方向に4つ、縦方向に1つ、計4つの画素を1つの単位として同一の分類番号が設定されることになる。
また、『2×2モード』の場合には、CMYK画像データの中の1つの画素から、ドット形成用データとして横方向に2つ、縦方向に2つ並ぶ、計4つの画素分のデータしか生成されない。このため、『2×2モード』の分類番号は、図14Dにて説明するように、横方向に並ぶ2つの画素を1つの単位として同一の分類番号が設定されることになる。
また、『4×2モード』の場合には、CMYK画像データの中の1つの画素から、ドット形成用データとして横方向に4つ、縦方向に2つ並ぶ計8つ分の画素のデータが生成される。このため、『4×2モード』の分類番号は、図14Eにて説明するように、各画素毎にそれぞれ異なる分類番号が設定されることになる。
<分類番号の特定方法>
図39は、分類番号の特定方法の一例について説明したものである。ここでは、『1×1モード』の場合の分類番号の特定方法について説明している。図39Aは、CMYK画像データ上の着目画素の位置を表している。着目画素の位置は、『●』の黒丸で示している。この着目画素の座標が(X,Y)であるとする。横方向に4画素、縦方向に2画素の合計8画素を1つの単位ブロックとして区分しているから、X,Yについて次の関係式(1),(2)が成り立つ。
X=4n+α …………(1)
Y=2m+β …………(2)
ここで、n、mは0以上の整数である。また、αは、0〜3の整数である。また、βは、1または0である。nは、着目画素の左側に並ぶ単位ブロックの数を表わす。また、mは、着目画素の上側に並ぶ単位ブロックの数を表す。
ディザマトリックスは、例えば、図39Bに示すように、CMYK画像データ上を横方向に少しずつ移動させながら、CMYK画像データの各画素に対して繰り返し適用される。ここで、着目画素には、図39Cに示すように、ディザマトリックス中のM行N列目の単位ブロックが適用されるものとする。1つのディザマトリックスには、横方向および縦方向にそれぞれ32個ずつ単位ブロックが設定されているから、『M』および『N』は、次の関係式(3)、(4)から簡単に求めることができる。
N=n−int(n/32)×32+1 …………(3)
M=m−int(m/32)×32+1 …………(4)
ここで、intは、小数点以下を切り捨てて整数化することを表す演算子である。すなわち、int(n/32)は、n/32の計算結果に対して小数点以下の数値を切り捨てることによって得られた整数値を表している。このように着目画素の座標(X,Y)がわかれば、これらXおよびYから、着目画素が属する単位ブロックを特定することができる。これによって、着目画素に対してどの分類番号を設定すべきなのか調べることができる。
なお、ここでは、『1×1モード』の場合を例にして説明したが、他のモードの場合についても、各々個別の関係式を用いることにより、着目画素の座標(X,Y)から、当該着目画素に対応するディザマトリックス上の単位ブロックの位置を特定することができる。これによって、着目画素に設定すべき分類番号を導き出すことができる。
===多値化テーブルの設定方法===
次に、図12に示した多値化テーブルの設定方法について説明する。前述したように、多値化テーブルには、多値階調値データが画素の分類番号毎にそれぞれ画素の階調値別に各々対応付けられて設定されている。多値化テーブルを参照しながら多値化することで、画素の階調値を、図13に示したように分類番号に応じた固有な態様で多値化することができる。
本実施形態の多値化テーブルは、大きさの異なる複数種類のドットについて画素毎にドット形成の有無を判断可能なように、前述したディザ法を発展させた手法を基にして設定されている。多値化テーブルの設定方法を説明する前に、当該設定方法を理解する上で必要な基本的な技術の内容について簡単に説明しておく。
<密度データ>
図40は、ディザ法を発展させて、画素毎に大ドット・中ドット・小ドットの形成の有無を決定可能としたハーフトーン処理の流れを示すフローチャートである。ハーフトーン処理を開始すると、先ず初めに、ドットの形成有無を判断しようとする画素を選択して、その画素の階調値を取得する(ステップS400)。次いで、取得した画像データを、大中小の各ドットについての密度データに変換する。ここで、密度データとは、ドットをどの程度の密度で形成するかを表すデータである。密度データは、階調値が大きくなる程、ドットが高い密度で形成されることを表している。例えば、密度データの階調値「255」は、ドットの形成密度が100%、すなわち全ての画素にドットが形成されることを表しており、密度データの階調値「0」は、ドットの形成密度が0%、すなわちいずれの画素にもドットが形成されないことを表している。こうした密度データへの変換は、ドット密度変換テーブルと呼ばれる数表を参照することによって行うことができる。
図41は、各画素の階調値を大中小各ドットについての密度データに変換する際に参照されるドット密度変換テーブルを概念的に示した説明図である。図示されているように、ドット密度変換テーブルには、画素の階調値に対して、小ドット・中ドット・大ドットの各ドットについての密度データが設定されている。階調値が「0」近傍の領域では、中ドット・大ドットの密度データは、いずれも階調値が「0」に設定されている。小ドットの密度データは、階調値が大きくなるに連れて増加して行くが、階調値がある値に達すると今度は逆に減少し始め、代わりに中ドットの密度データが増加し始める。階調値が更に増加してある値に達すると、小ドットの密度データが階調値「0」となり、中ドットの密度データが減少し始めて、代わりに大ドットの密度データが少しずつ増加していく。図40のステップS402では、このドット密度変換テーブルを参照しながら、画素の階調値を、大ドットの密度データ、中ドットの密度データ、小ドットの密度データに変換する処理を行う。
<大ドットの形成有無の判断>
処理対象とする画素について、大中小各ドットの密度データが得られたら、先ず初めに大ドットについての形成有無を判断する(図40のステップS404)。かかる判断は、大ドットの密度データと、処理対象としている画素の対応する位置に設定されているディザマトリックスの閾値とを比較することによって行う。大ドットの密度データが閾値よりも大きい場合は、処理対象の画素には大ドットを形成するものと判断し、逆に密度データの方が小さい場合は、大ドットは形成しないものと判断する。
次いで、処理対象の画素に大ドットを形成すると判断されているか否かを判定し(ステップS406)、大ドットを形成すると判断されている場合は(ステップS406:yes)、中ドットおよび小ドットについての判断は省略して、全画素を終了したか否かを判断する(ステップS418)。そして、ドット形成の有無を未判断の画素が残っている場合は(ステップS418:no)、ステップS400に戻って新たな画素を選択し、続く一連の処理を行う。
<中・小ドットの形成有無の判断>
一方、処理対象の画素に大ドットを形成すると判断されていない場合は(ステップS406:no)、中ドットについての形成有無を判断するべく、大ドットの密度データに中ドットの密度データを加算して中ドット用の中間データを算出する(ステップS408)。こうして得られた中ドット用の中間データと、ディザマトリックスの閾値とを比較する。そして、中ドット用の中間データの方が閾値よりも大きければ、中ドットを形成するものと判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、中ドットを形成しないものと判断する(ステップS410)。
次いで、処理対象の画素に中ドットを形成すると判断されているか否かを判定し(ステップS412)、中ドットを形成すると判断されている場合は(ステップS412:yes)、小ドットについての判断は省略して、全画素を終了したか否かを判断する(ステップS418)。
処理対象の画素に中ドットを形成すると判断されていない場合は(ステップS412:no)、小ドットについての形成有無を判断するべく、中ドット用の中間データに小ドットの密度データを加算して小ドット用の中間データを算出する(ステップS414)。そして、得られた小ドット用の中間データと、ディザマトリックスの閾値とを比較する。そして、小ドット用の中間データの方が閾値よりも大きければ、小ドットを形成するものと判断し、逆に中間データよりもディザマトリックスの閾値の方が大きければ、いずれのドットも形成しないものと判断する(ステップS416)。
すなわち、大ドットの密度データよりもディザマトリックスに設定された閾値の方が大きい画素(大ドットが形成されない画素)については、大ドットの密度データに中ドットの密度データを加算して、得られた中間データと閾値とを比較し、中間データの方が大きくなれば、中ドットを形成すると判断する。一方、中間データよりも依然として閾値の方が大きい画素については、中間データに小ドットの密度データを加算して新たな中間データを算出する。そして、この中間データと閾値とを比較して、新たな中間データの方が大きくなれば小ドットを形成すると判断し、依然として閾値の方が大きい画素についてはいずれのドットも形成しないと判断するのである。
以上のような処理を行うことにより、処理対象の画素について、大ドット、中ドット、小ドットのいずれのドットを形成するか、若しくは、いずれのドットも形成しないかを判断することができる。そこで、全画素についての処理を終了したか否かを判断し(ステップS418)、未判断の画素が残っている場合は(ステップS418:no)、ステップS400に戻って新たな画素を選択し、続く一連の処理を行う。このようにして、処理対象として選択された画素について1つずつ、大中小のいずれのドットを形成するか否かを判断していく。そして、全画素について処理を終了したと判断されたら(ステップS418:yes)、図40に示したハーフトーン処理を終了する。
以上、ディザマトリックスを利用して、大中小の各ドットについての形成有無を判断する方法について説明した。以下では、上述の説明を踏まえて、図12に示した多値化テーブルの設定方法について説明する。
<概念図>
前述したように多値階調値データ生成処理およびドット形成用データ生成処理では、CMYK画像データの1つの画素の階調値から8つの画素についてドット形成の有無が決定される。ここで、CMYK画像データの1つの画素の階調値が、8つの画素の階調値を代表していると考えて、前述したハーフトーン処理に当てはめている。
図42は、CMYK画像データの1つの画素の階調値が、8つの画素の階調値を代表していると考えて、ハーフトーン処理を実行したときの概要について説明したものである。図中では、ハーフトーン処理を行うために着目している8つの画素を太い実線で囲って表している。8つの画素の各階調値は、いずれも同じ値、ここでは階調値「97」を有している。大中小各種ドットの形成有無を判断するためには、各画素の階調値を各ドットについての密度データに変換する。密度データへの変換は、図41に示したドット密度変換テーブルを参照することによって行う。ここでは、8つの画素内の全画素が同じ階調値を有するものと考えているから、各種ドットについても密度データも全て画素について同じ値となる。図示した例では、大ドットの密度データの階調値が「2」、中ドットの密度データの階調値が「95」、小ドットの密度データの階調値が「30」であった場合を表している。
次いで、図40を用いて説明したように、大ドットの密度データ、中ドット用の中間データ、あるいは小ドット用の中間データと、ディザマトリックスに設定されている閾値とを比較することによって、各種ドットについての形成有無を画素毎に判断する。ここで、比較に用いるディザマトリックスの閾値は、ディザマトリックスの中から、着目している8つの画素に対応する箇所に設定されている閾値を使用する。例えば、図42に示した例では、8つの画素が画像の左上隅にあることから、閾値についても、ディザマトリックス中の左上隅の8つの画素(1つの単位ブロック)に設定されている閾値を使用する。
そして、8つの画素に設定されている8つの閾値の中で、大ドットの密度データよりも小さな閾値が設定されている画素については、大ドットを形成すると判断する。ここでは、大ドットの密度データは階調値「2」としているから、大ドットが形成される画素は、閾値「1」が設定されている画素だけである。図42では、大ドットが形成されると判断された画素には、細かい斜線を付して表示している。大ドットの密度データ「2」よりも大きく、大ドットの密度データと中ドットの密度データとを加算して得られた中ドット用の中間データ「97」よりも小さな閾値が設定されている画素には、中ドットを形成するものと判断する。このような画素は、閾値「42」が設定された画素、および閾値「58」が設定された画素の2つの画素だけである。図42では、中ドットが形成されると判断された画素には、少し粗い斜線を付して表示している。そして、最後に、中ドット用の中間データ「97」よりも大きく、中ドット用の中間データに小ドット用の密度データを加算して得られた小ドット用の中間データ「127」よりも小さな閾値が設定されている画素には、小ドットを形成するものと判断する。このような画素は、閾値「109」が設定された画素だけである。図42では、小ドットが形成されると判断された画素には、粗い斜線を付して表示している。このようにして、大ドット、中ドット、小ドットの形成有無を判断した結果、着目している画素の階調値が「97」である場合には、大ドット1個、中ドット2個、小ドット1個が形成されることになる。
画素の階調値が大きく異なれば、8つの画素内に形成される大ドット、中ドット、小ドットの個数も異なったものとなる。また、画素の階調値を「0」から「255」まで変化させれば、それに伴って大ドット、中ドット、小ドットの個数は、幾段階かに変化するはずである。更に、画素に設定された分類番号が異なれば、ディザマトリックスの閾値も異なることから、ドット個数の変化の仕方も異なるはずである。図12に示した多値化テーブルは、画素の階調値を「0」から「255」まで変化させたときの、各種ドットの個数が段階的に変化する挙動を、分類番号毎に調べることによって設定されている。
<多値化テーブルの生成方法>
図43は、実際に、多値化テーブルを設定する処理の流れを示したフローチャートである。以下、フローチャートに従って説明する。多値化テーブルの設定処理を開始すると、先ず初めに、分類番号を1つ選択する(ステップS500)。例えば、ここでは分類番号『1』を選択したものとする。
次いで、選択した分類番号に対応する閾値を、ディザマトリックスの中から読み出してやる(ステップS502)。例えば、ここでは分類番号『1』を選択したものとしているから、図36に例示したディザマトリックスの中から、図38B中で『1』と表示したブロック位置に設定されている8つの閾値を読み出す。
そして、多値階調値データRVおよび画素の階調値BDを「0」に設定し(ステップS504)、更に、大ドット、中ドット、小ドットの形成個数をいずれも0個に設定する(ステップS506)。
続いて、図41に示したドット密度変換テーブルを参照することにより、画素の階調値を大ドット、中ドット、小ドットについての密度データに変換した後(ステップS508)、これら密度データと先に読み込んでおいた閾値とに基づいて、大中小の各種ドットについての形成個数を決定する(ステップS510)。すなわち、図40あるいは図42を用いて説明したように、大ドットの密度データよりも小さな閾値の個数を求めて、得られた個数を大ドットの形成個数とする。また、大ドットの密度データよりも大きく且つ中ドット用の中間データよりも小さな閾値の個数を求めて、これを中ドットの形成個数とする。更に、中ドット用の中間データよりも大きく且つ小ドット用の中間データよりも小さな閾値の個数を求めて、これを小ドットの形成個数とする。
こうして求めた各種ドットの形成個数が、先に設定されていた形成個数に対して変更されたか否かを判断する(ステップS512)。そして、形成個数が変更されたと判断されれば(ステップS512:yes)、多値階調値データRVを「1」だけ増加させて(ステップS514)、得られた多値階調値データRVを画素の階調値BDに対応づけて記憶する(ステップS516)。一方、形成個数が変更されていないと判断された場合は(ステップS512:no)、多値階調値データRVを増加させることなく、そのままの値を画素の階調値BDに対応づけて記憶する(ステップS516)。
以上のようにして、ある画素の階調値に対する多値階調値データを記憶したら、画素の階調値BDが階調値255に達したか否かを判断する(ステップS518)。階調値255に達していなければ(ステップS518:no)、画素の階調値BDを「1」だけ増加させて(ステップS520)、ステップS508に戻って再び画素の階調値BDを密度データに変換した後、続く一連の処理を行って、新たな画素の階調値BDに対応づけて多値階調値データRVを記憶する(ステップS516)。画素の階調値BDが階調値255に達するまで、こうした操作を繰り返す。そして、画素の階調値BDが階調値255に達したら(ステップS516:yes)、選択した分類番号については、すべての多値階調値データを設定したことになる。
そこで、すべての分類番号について、以上のような処理を行ったか否かを判断し(ステップS522)、未処理の分類番号が残っている場合は(ステップS522:no)、ステップS500に戻って再び上述した処理を行う。こうした処理を繰り返し、すべての分類番号について、すべての多値階調値データを設定したと判断されたら(ステップS522:yes)、図43に示した多値化テーブル設定処理を終了する。
以上の説明から明らかなように、多値階調値データは、画素の階調値を変換して得られた大中小各ドットの密度データと、ディザマトリックス中で分類番号に対応する位置に記憶されている閾値とによって決定される。ここで、図41に示したドット密度変換テーブルは、分類番号が異なっていても同じテーブルを参照するから、画素の階調値に対する各ドットの密度データも、分類番号によらず同じ密度データが得られる。しかし、ディザマトリックスから読み出された閾値の組は、分類番号毎に異なったものとなる。何故なら、ディザマトリックスは、画像上でドットが一定のパターンで発生したり、あるいは近接した位置に固まって発生することで画質を悪化させることの無いように、閾値は出来るだけ分散させて且つ出来るだけランダムに設定されている。このため、分類番号に対応する複数個の閾値を組として見たときに、全く同じ組合せとなる可能性は極めて低いと考えられるからである。このような理由から、本実施形態の多値階調値データ生成処理で参照される多値化テーブルは、画素の階調値と多値階調値データとの対応関係が分類番号毎に異なったものとなり、また、多値階調値データが変化する回数(図13に示した多値化の段数)も、分類番号に応じて異なったものとなっている。
===ドット個数データ変換テーブルの設定方法===
次に、図16に示すドット個数データ変換テーブルの設定方法について説明する。このドット個数データ変換テーブルは、図11に示したドット形成有無決定処理中で、多値階調値データを分類番号と組み合わせて、分類番号に対応する8つの画素に形成されるドット個数を表すドット個数データに変換するために参照されるテーブルである。
図43にて説明した多値化テーブルの設定方法から明らかなように、多値化テーブルに設定されている多値階調値データは、分類番号に対応する8つの画素に形成される大中小の各ドットの個数に基づいて決定されている。もっとも、多値階調値データが、分類番号に対応する8つの画素に形成されるドット個数の組合せに直ちに対応しているわけではなく、多値階調値データと分類番号とを組み合わせることで初めて、具体的なドット個数の組合せに対応付けることができる。何故なら、多値階調値データは、画素の階調値を階調値「0」から階調値「255」まで増加させたときに、大中小各ドットの形成個数が変化したか否かだけを抽出し、具体的に各ドット個数の組合せがどのように変化したかを示す情報は省かれた状態で設定されているからである。
とは言え、分類番号が分かっていれば、その分類番号に対応する8つの画素で何回目の変化に相当するか、すなわち多値階調値データから、各種ドットについての具体的な個数の組合せを特定することはできる。そこで、分類番号毎に、多値階調値データを設定する元になった各種ドットの具体的な個数を求め、得られたドット個数の組合せに対応するコードデータを、多値階調値データに対応付けて記憶しておく。図16に示したドット個数データ変換テーブルは、こうした操作を、全ての分類番号について行うことによって設定されている。
図44は、ドット個数データ変換テーブルを設定する具体的な処理の流れを示したフローチャートである。以下、フローチャートに従って説明する。ドット個数データ変換テーブル設定処理を開始すると、先ず初めに、設定対象とする分類番号を1つ選択し(ステップS600)、多値階調値データRVを0に設定する(ステップS602)。
次いで、多値階調値データRVに対応する大中小各ドットの個数を取得する(ステップS604)。例えば、多値階調値データが「N」であったとすると、その分類番号について、画素の階調値を「0」から「255」に変化させながら大中小各ドットの形成有無を判断し、ドットの形成個数がN番目に変化したときの大ドット、中ドット、小ドットの個数を取得する。
こうして取得した各ドットの個数の組合せを、コードデータに変換する(ステップS606)。ドット個数の組合せからコードデータへの変換は、図17に示した対応表を参照することによって行う。次いで、得られたコードデータを、多値階調値データに対応付けて記憶した後(ステップS608)、対象としている分類番号についての最大の多値化結果に達したか否かを判断する(ステップS610)。すなわち、図13を用いて説明したように、多値階調値データの最大値は、分類番号によって異なっていることから、対象としている分類番号についての多値階調値データの最大値に達したか否かを判断するのである。
そして、多値階調値データの最大値に達していない場合は(ステップS610:no)、多値階調値データRVの値を「1」だけ増加させる(ステップS612)。そして、ステップS604に戻って、新たな多値階調値データRVに対応する各ドットの個数を取得した後、続く一連の処理を繰り返す。こうした操作を繰り返し、対象としている分類番号の多値階調値データの最大値に達したと判断されたら(ステップS610:yes)、その分類番号については、全データがドット個数データ変換テーブルに設定されたことになる。
そこで今度は、全ての分類番号について同様の処理を行ったか否かを判断する(ステップS614)。そして、未だ処理していない分類番号が残っている場合は、ステップS600に戻って新たな分類番号を選択し、この分類番号について、上述した一連の処理を行う。こうして全ての分類番号について処理を終了したと判断されたら(ステップS614:yes)、ドット個数データ変換テーブルの全てのデータが設定されたことになるので、図44に示す処理を終了する。
===順序値マトリックスの設定方法===
次に、図18にて説明した順序値マトリックスを設定する方法について説明する。前述したように、順序値マトリックスとは、分類番号に対応する8つの画素内の各画素について、ドットが形成される順番を設定したマトリックスである。ドット形成用データ生成処理においては、分類番号に対応する順序値マトリックスを読み込んで、マトリックスに設定されている順番に従って、大ドット、中ドット、小ドットを形成する画素を決定していた。
順序値マトリックスも、前述した多値化テーブルと同様に、前述した手法を基にして設定されている。すなわち、多値化テーブルを設定する場合は、前述したように8つの画素内の全画素が同じ階調値を有するものとして、8つの画素内に形成される大中小ドットの個数を決定しながら、画素の階調値を「0」から「255」まで変化させて、このときに各ドットが形成される個数の変化に着目して多値階調値データを設定した。また、図16に示すように、多値階調値データと分類番号とを組み合わせれば、8つの画素に形成される大中小の各ドットの個数までは復元することができた。しかし、これら各種ドットが、8つの画素内のどの画素に形成されるかに関する情報は省略されており、多値階調値データあるいは分類番号からは知ることはできない。順序値マトリックスは、8つの画素内で各種ドットが形成される画素位置に関する情報を記憶したものと考えることができる。すなわち、前述した手法を適用すれば、図40ないし図42にて説明したように、各種ドットの形成個数だけでなく、8つの画素内でドットが形成される画素位置まで決定可能であるところ、本実施形態では、この手法を2つの要素に分解して、各種ドットの形成個数に関する情報については、主に多値階調値データ(正確には、多値階調値データおよび分類番号の組合せ)に反映させ、ドットが形成される画素位置に関する情報ついては、順序値マトリックスに反映させていると考えることができる。このような順序値マトリックスは、実際には、比較的簡単に設定することができる。
図45は、順序値マトリックスを設定する方法について具体的に示した説明図である。以下、図を参照しながら説明する。ディザマトリックスには、図45Aに示すように、横4画素、縦2画素を1つの単位ブロックとして区分して、これら区分された各単位ブロック毎にそれぞれ個別に分類番号が設定されている。順序値マトリックスの設定に際しては、ディザマトリックスから各分類番号に対する8つの画素に対応する各閾値を取り出す。
図45Bは、一例として、分類番号『1』のブロックから順序値マトリックスを生成している様子を示した説明図である。図45Bの左側には、分類番号『1』のブロックに含まれるディザマトリックスの閾値が示されている。図42を用いて前述したように、ドットは小さな閾値が設定されている画素から順番に形成される。従って、図45Bに示した分類番号『1』のブロックの中で1番初めにドットが形成される画素は、閾値「1」が設定された画素と考えることができる。そこで、この画素には、順序値として「1」を設定する。同様に、2番目にドットが形成される画素は、2番目に小さな閾値である閾値「42」が設定された画素と考えることができる。そこで、この画素には順序値「2」を設定する。このようにして、分類番号『1』のブロック内に設定されている閾値の小さな画素から順番に、順序値「1」から順序値「8」までを決定してやれば、図45Bの右側に示した分類番号『1』の順序値マトリックスを得ることができる。
図45Cは、同様にして、ブロック内で小さな閾値が設定されている画素から順番に、順序値「1」から順序値「8」までを設定することで、分類番号『2』の順序値マトリックスが得られる様子を示している。図45Aに示した分類番号『1』から『1024』までの全てのブロックについて、以上のような操作を行うことにより、分類番号『1』から『1024』までの順序値マトリックスを得ることができる。
===多値階調値データからドット形成有無を適切に決定可能な原理===
以上に説明したように、本実施形態では、図12にて説明した多値化テーブルを参照することにより、多値階調値データを決定する。次いで、図16にて説明したドット個数データ変換テーブル、および図18にて説明した順序値マトリックスを参照しながら、多値階調値データをドット個数データに変換し、ドット個数データに基づいて複数個の画素内に各種ドットを形成する画素位置を決定する。このようにしてドットを形成する画素位置を決定した場合でも、ドットが適切に分散された高画質な画像を出力することができる。加えて、比較的少数ずつ(本実施形態では8個ずつ)の画素をまとめて処理しているにも関わらず、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクに代表される画素数が千個を越えるような大規模なディザマトリックスを用いることで実現されるような、良好なドット分布を得ることが可能である。以下では、このようなことが可能となる原理について説明する。
前述した手法を用いれば、図40および図41にて説明したように、画像データを大ドットの密度データ、中ドット用の中間データ、小ドット用の中間データに変換して、ディザマトリックスに設定されている閾値と比較することで、大中小各ドットについての形成の有無を判断することができる。更に、このときに参照するディザマトリックスを、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクに代表されるような分散性が考慮されたマトリックスとしておけば、ドットが良好に分散した高画質な画像を得ることができる。
また、画像データは一般的に、隣接する画素間では近似する(若しくは同一の)階調値が割り当てられる傾向がある。近年では、高画質化の要請から画像データの解像度は益々高くなる傾向にあるが、隣接する画素間で近似若しくは同一の階調値が割り当てられる傾向は、画像データの解像度が高くなるほど顕著に現れる。このことから、図42を用いて前述したように、複数個の画素をまとめてしまい、複数個の画素内の画素は全て同じ階調値を有するものとして大中小各ドットの形成有無を判断した場合でも、実際には画質に差が生じることは稀である。
ここで、前述した多値階調値データ生成処理では、画素の階調値を多値化して、分類番号に依存した多値階調値データを生成する。こうして生成された多値階調値データは、画素の分類番号と組み合わせることで、8つの画素内に形成される各種ドットの個数を示すデータとなっている。図42に示した8つの画素については、分類番号と組み合わせることで、大ドット、中ドット、小ドットの形成個数が、それぞれ1個、2個、1個であることを示すような多値階調値データが生成されることになる。
前述したドット形成データ生成処理では、このような多値階調値データを受け取ると、8つの画素内の各画素について、大中小各ドットについての形成有無を決定する。図46は、前述したドット形成データ生成処理において、多値階調値データを受け取って、8つの画素内の各画素について大中小各ドットの形成有無を判断する処理の大まかな流れを概念的にまとめた説明図である。図示されているように、多値階調値データを受け取ると、その多値階調値データが対応する画素の分類番号を求めた後、多値階調値データと分類番号とに基づいて、大中小各ドットの形成個数を取得する。また、予め記憶されている順序値マトリックスの中から、分類番号に対応付けて記憶されているマトリックスを読み出す。
図42に示した8つの画素を想定しながら説明すれば、8つの画素は画像の左上隅にあるから分類番号は『1』と求められる。多値階調値データと、求めた分類番号とを組み合わせることにより、この8つの画素には、大ドット1個、中ドット2個、小ドット1個がそれぞれ形成されることが分かる。これら各ドットが、8つの画素内のどの画素に形成されるかを決定するために、分類番号『1』の順序値マトリックスを参照する。この順序値マトリックスは、図42において、ドット形成有無の判断に用いたディザマトリックスの該当部分、すなわち8つの画素内の各画素についてドット形成の有無を判断するために用いた該当部分から生成した順序値マトリックスである。
このようにして得られた大中小各ドットの個数と、順序値マトリックスとに基づいて、8つの画素内でこれらドットを形成する画素位置を決定していく。画素位置を決定する具体的な方法は、図19を用いて既に説明しているので、ここでは説明は省略して結果のみを示すと、大ドットは順序値1番の画素に形成され、中ドットは順序値2番の画素と3番の画素とに形成され、小ドットは順序値4番の画素に形成される。図46では、図19に倣って、大ドットを形成する画素には細かいハッチングを付し、中ドットを形成する画素には少し粗いハッチングを付し、小ドットを形成する画素には粗いハッチングを付して表している。こうして得られたドットの分布と、図42に示した画素毎にドット形成の有無を判断して得られたドットの分布とを比較すれば、両者のドット分布は完全に一致していることが分かる。
すなわち、分類番号に依存した多値階調値データのみを受け取った場合でも、上述した方法を用いてドット形成の有無を決定してやれば、ディザ法を参照しながら画素毎に大中小各ドットの形成有無を判断した場合と、等しいドット分布を得ることができる。このため、ドットが良好に分散された高画質な画像を得ることが可能となるのである。
加えて、多値階調値データを生成するために参照された多値化テーブルは、ディザマトリックスに基づいて設定されている(図44参照)。同様に、多値階調値データからドット形成有無を決定する過程で参照されたドット個数データ変換テーブルあるいは順序値マトリックスも、ディザマトリックスに基づいて設定されている(図44、図45参照)。従って、これらテーブル類の設定に用いられるディザマトリックスとして、いわゆるブルーノイズマスク、あるいはグリーンノイズマスクを使用すれば、これらマスクを用いることで初めて得られるような、高画質な画像を得ることが可能となる。
===まとめ===
以上本実施形態にあっては、プリンタドライバ180にて色変換処理部168により生成されたCMYK画像データを多値化処理部182にて多値化処理して多値階調値データを生成し、この多値階調値データをコンピュータ152からインクジェットプリンタ1に向けて印刷データとして送信することで、従来のように、ハーフトーン処理をした後、ラスタライズ処理を行って送る場合に比べて、印刷データのデータ量の大幅な削減を図ることができる。
しかも、本実施形態では、プリンタドライバ180の解像度変換処理にて、媒体Sに印刷する際の解像度(出力解像度)に変換されるのではなく、所定の解像度に変換され、そして、媒体Sに印刷する際の解像度(出力解像度)への変換処理は、インクジェットプリンタ1側にて実行するようにしているから、印刷時の解像度に関わりなく、コンピュータ152からインクジェットプリンタ1に送信される印刷データのデータ量を一定にすることができ、通信負荷の大幅な軽減を図ることができる。
また、多値化処理部182により多値化処理されて生成される多値階調値データは、所定の多値化段数にて表されたデータであるから、インクジェットプリンタ1側にて画像を印刷する場合にも、印刷される画像を十分に高い画質にて印刷することができる。
さらに、インクジェットプリンタ1側にて、ドット形成用データ生成部184が、ドット個数データに基づき、所定の数の画素(ここでは8つの画素)についてそれぞれ個別にドット形成の有無を決定して、このようにドット形成の有無が決定された所定の個数の画素、(ここでは8つの画素)の中から、出力画像の解像度に応じて所定の個数ずつ切り出すことで、出力画像の解像度に応じてドット形成用データを生成する処理をスムーズに行うことができる。また、ドット形成の有無が決定された8つの画素の中から切り出す画素の位置を適宜変更することで、出力画像の解像度に応じてドット形成用データを生成する処理を簡単に行うことができる。
===他の実施形態===
<他の多値化テーブル>
前述した実施形態では、多値化テーブルとして、『0』から『255』までの各階調値毎にそれぞれ対応する多値階調値データが設定された多値化テーブルを用いていた。しかしながら、多値階調値データは、CMYK画像データの画素の階調値が増加するに従って段階的に増加するだけなので、多値階調値データが切り換わる階調値だけを設定しておけば、CMYK画像データの各画素の階調値に対応する多値階調値データを求めることができる。
図47は、多値階調値データが切り換わる階調値だけが設定された多値化テーブルの一例を説明したものである。この多値化テーブルには、各分類番号『1』〜『1024』毎にそれぞれ、各多値階調値データ『0』〜『31』に対応する、CMYK画像データの画素の階調値の閾値が設定されている。この閾値は、階調値を『0』から『255』まで増加させたときに、その多値階調値データとなる最も大きな階調値を示している。一例として、分類番号『1』においては、多値階調値データ『0』に対して閾値『2』が設定されている。これは、分類番号『1』については、CMYK画像データの画素の階調値が『0』から『2』までの範囲にあれば、多値階調値データが『0』となることを表している。また、多値階調値データが『1』に対しては、閾値『15』が設定されている。これは、分類番号『1』については、CMYK画像データの階調値が『3』〜『15』の範囲にあれば、多値階調値データが『1』となることを表している。同様に、多値階調値データが『14』に対しては、閾値『243』が設定され、多値階調値データが『15』に対しては、閾値『255』が設定されている。これは、CMYK画像データの画素の階調値が『244』から『255』までの範囲にあれば、多値階調値データが『15』になることを示している。また、分類番号『1』については、多値階調値データの最大値が『15』であることを表している。
なお、図47では、分類番号『1』〜『1024』別の閾値は、それぞれ多値階調値データに対応させて設定されているものとした。しかし、分類番号『1』〜『1024』別の閾値は、特に多値階調値データに対応付けることなく、単なる閾値の組を分類番号『1』〜『1024』毎に記憶することとしてもよい。この場合は、CMYK画像データの画素の階調値よりも小さな閾値の個数を数えることで、多値階調値データを求めることができる。ここで、分類番号『1』の場合を例に用いて説明する。例えば、CMYK画像データの階調値が『20』であったとする。分類番号『1』に設定されている閾値の組の中で、階調値『20』よりも小さな閾値は、『2』、『15』、『18』の3個である。このことから、階調値『20』に対する多値化結果値は『3』であると求めることとしてもよい。
以上このような多値化テーブルを備えれば、CMYK画像データの画素の階調値と、分類番号とを取得した後、多値階調値データを簡単に生成することができる。しかも、この多値化テーブルは、前述した図12に示す多値化テーブルに比べて少ないデータ量で記憶しておくことができる。このため、ここでは、前述した図12に示す多値化テーブルを備える場合に比べて、メモリ使用量を大幅に節約することが可能である。
<ドット形成の有無決定の他の方法(1)>
前述した実施形態では、ドット形成用データ生成部184は、多値階調値データを、8つの画素について形成すべきドットの個数を表わすドット個数データに変換し、8つの画素(『4×4モード』の場合には、16個の画素、以下同じ)についてドット形成の有無を決定するにあたっては、8つの画素の各画素についてドットを形成するか否かをドットの種類(サイズ)毎に決定した。例えば、図19にて説明したように、まず最初に大ドットについてドット形成の有無を決定し、次に中ドットについてドット形成の有無を決定し、最後に小ドットについてドット形成の有無を決定するといった手順を取っていた。しかしながら、ドット形成の有無を決定する方法にあっては、このような方法に限られるものではない。例えば、8個の画素の中から1つの画素を選択して、各画素毎にそれぞれ、大中小のいずれのドットが形成されるのか、あるいはドットが形成されないかを決定することとしてもよい。
図48は、この場合のドット形成用データ生成部184によるドット形成の有無の流れを示したフローチャートである。ここでは、前述したドット形成の有無決定処理と同様に、まず最初に、処理対象とする多値階調値データを取得する(ステップS700)。次に、取得した多値階調値データに対応する分類番号を取得する(ステップS702)。そして、分類番号と多値階調値データとに基づき、ドット個数データを取得する(ステップS704)。ドット個数データは、例えば、図16にて説明したドット個数データ変換テーブルにより取得する。
この後、ここで説明する処理は、取得したドット個のデータを一旦、16ビット長の中間データに変換する(ステップS706)。すなわち、例えば、図16にて説明したドット個数データ変換テーブルでは、データ量を低減するために、ドット個数データを8ビット長のコードデータとして表した。しかし、ここで説明する処理では、ドット形成有無をより簡便に決定可能な形式で表現された中間データに一旦変換する。ここで、中間データのデータ長が16ビットとなっているのは、ドット形成の有無を決定すべき画素の数が8個であり、各画素についてのドット形成の有無は2ビットあれば表現可能であることによる。換言すれば、中間データは2ビットずつを1組として、画素数に相当する8組のデータを用いてドット個数を表すデータとなっている。8つの画素に形成するドット個数をこのような形式で表現しておけば、後述するように画素との対応が取り易くなるため、ドット形成有無を簡便に決定することが可能となる。ここで説明するドット形成の有無決定処理にあっては、ドット個数データと中間データとの対応関係が予め記憶されており、ステップS706の処理では、かかる対応関係を参照することによって中間データを取得する。
図49は、ドット個数データと中間データとを対応付けた対応表を示す説明図である。前述したようにドット個数データは、各種サイズのドットについての個数の組合せに対応付けられている(図17参照)。このことから、2ビットを1組としてドットの種類を表し、そのビットの組をドットの個数に相当する数だけ並べた表現形式に変換すれば、16ビットのデータを得ることができる。16ビット長の中間データは、ドット個数データの表現形式をこの様にして変換して得られたデータとなっている。
例えば、ドット個数データ『1』は、大ドット0個、中ドット0個、小ドット1個の組合せを示している。なお、図49の右側には、各ドット個数データが示すドット個数の組合せが示されている。今、小ドットを表す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ビットデータ『11』は右端に1組だけ設定され、その左隣に続けて、中ドットを表す2ビットデータ『10』が2組設定され、更にその左隣に続けて、小ドットを表す2ビットデータ『01』が3組設定され、残った2組には、ドットを形成しないことを表す2ビットデータ『00』が設定されることになる。もっとも、これら2ビットデータを左詰めで設定することとしても良い。すなわち、大ドット、中ドット、小ドットの順番で左から順番に設定しても良い。
図48にて説明したドット形成の有無決定処理のS706では、図49に示した対応関係を参照することによって、ドット個数を表すデータを、中間データに変換する処理を行う。なお、以上の説明では、図16にて説明したドット個数データ変換テーブルを参照することによって、多値階調値データをドット個数データに一旦変換した後、図49にて説明した対応関係に基づいて、ドット個数データを16ビットの中間データに変換するものとした。もっとも、ドット個数データと中間データとは、1対1に対応付けられていることから、図16にて説明したドット個数データ変換テーブルに、8ビットのドット個数データではなく、16ビットの中間データをドット個数データとして設定しておければ、直ちに中間データをドット個数データとして取得することも可能である。このようにすれば、ドット個数データ変換テーブルのデータ量は大きくなるものの、ドット個数データから中間データへの変換テーブルが不要になり、迅速に中間データを取得することができる。
以上のようにして中間データを取得した後、次に、順序値マトリックスを取得する(ステップS708)。順序値マトリックスを取得した後、8つの画素の中からドット形成の有無を決定する画素を1つ選択して(ステップS710)、順序値マトリックス中で選択した画素位置に設定されている順序値を取得する(ステップS712)。
次に、先に取得しておいた中間データの中から、順序値に対応する箇所に設定されている2ビットデータを読み出すことによって、選択した画素についてのドット形成の有無を決定することができる(ステップS714)。
図50は、中間データの中から順序値に対応する箇所のデータを読み出すことにより、ドット形成の有無を決定している様子を示した説明図である。図50Aは、ドット個数データを変換して得られた中間データを例示したものである。前述したように中間データは、16ビット長のデータであり、2ビットずつ8組のデータから構成されている。また、図50Aに示した中間データには、大ドットを表す2ビットデータ『11』が1組、中ドットを表す2ビットデータ『10』が2組、小ドットを表す2ビットデータ『01』が3組、ドットを形成しないことを表す2ビットデータ『00』が2組含まれており、これら2ビットデータが、大ドット、中ドット、小ドットの順序で右詰めに設定されている。
ここで、例えば、ドット形成の有無を決定しようとしている画素の順序値が『3』であったとする。この場合、中間データの中で、右から3組目に設定されている2ビットデータを読み出せば、順序値『3』の画素に形成すべきドットの種類を決定することができる。図50Bには、中間データの右端から3組目にある2ビットデータを読み出している様子が、概念的に示されている。図示した例では、読み出した2ビットデータは『10』であるから、この画素には、中ドットを形成するものと決定すればよい。仮に、順序値が『1』であれば、中間データの右端に設定されている2ビットデータ(『11』)を読み出して、大ドットを形成するものと決定すればよい。
このように、このドット形成の有無決定処理では、中間データの中から、順序値に相当する箇所に設定されている2ビットデータを読み出すという極めて簡単な操作によって、ドット形成の有無を決定することができる。これは、次の理由によるものである。先ず、中間データには、大ドット、中ドット、小ドットを表す2ビットデータが右詰めで設定されている。一方、図40や図42にて説明したように、ディザ法を用いて大中小各ドットの形成有無を決定する処理では、大ドット、中ドット、小ドットの順番でドット形成の有無を決定している。従って、中間データに設定されている2ビットデータを右端から順番に読み出していけば、図40や図42を用いて前述した手法を適用して各種ドットを形成する画素位置を決定した順番と同じ順番で、大ドット、中ドット、小ドットを表す2ビットデータの並びが得られることになる。
また、図40や図42を用いて前述した手法では、ディザマトリックスに小さな閾値が設定されている画素から順番にドットが形成される。一方、順序値マトリックスに設定されている順序値は、ディザマトリックスに設定されている閾値の小さい順番を表している。従って、順序値は、図40あるいは図42を用いて前述した手法を用いてドット形成の有無を決定したときに、ドットが形成された順番と一致する。
このことから、対象としている画素の順序値が分かれば、図40や図42の手法を適用したときに、その画素が8つの画素の中で何番目にドットが形成された画素であるかを知ることができ、更に、中間データを右端から数えて順序値組目の2ビットデータを読み出せば、図40や図42の手法を適用したときに得られるドット形成有無の決定結果を知ることができるのである。
なお、ここでは、中間データの中で2ビットデータを読み出す箇所を順序値に応じて変更するものとして説明したが、中間データの中で読み出す箇所を変えるのではなく、データを読み出す箇所は固定しておき、中間データを順序値に相当する組数だけシフトさせることとしても良い。この様にしても、ドット形成の有無を決定することができる。図50Cは、中間データをシフトさせることによって、ドット形成有無を決定している様子を概念的に示した説明図である。図示した例では、中間データの右端にある2ビットデータを読み出すこととして、中間データを画素の順序値に応じた組数(具体的には順序値から1だけ少ない組数)だけ右方向にシフトさせている。図50Bと図50Cとを比較すれば明らかなように、どちらの操作を行った場合でも、結局は、中間データの中の同じ箇所に設定されている2ビットデータを読み出していることになる。データを所定のビット数だけシフトさせる処理は、比較的高速に実施可能であることから、この様にして中間データをシフトさせれば、順序値に応じた箇所の2ビットデータを迅速に読み出して、着目している画素についてのドット形成の有無を迅速に決定することができる。
以上のようにして、中間データの中から順序値に相当する箇所に設定されている2ビットデータを読み出すことにより、着目している画素についてのドット形成の有無を決定したら(図48のステップS714)、8つの画素全てについてドット形成の有無を決定したか否かを判断する(ステップS716)。そして、8つの画素の中に未だドット形成の有無を決定していない画素が残っている場合は(ステップS716:no)、ステップS710に戻って新たな画素を1つ選択し、選択した画素について上述した続く一連の処理を行った後、再び8つの画素全てについてドット形成の有無を決定したか否かを判断する(ステップS716)。8つの画素全てについてドット形成の有無を決定するまで、こうした操作を繰り返し、全画素について決定したと判断されたら(ステップS716:yes)、今度は、全ての多値階調値データについて、前述した処理を行ってドット形成の有無を決定したか否かを判断する(ステップS718)。そして、未処理の多値階調値データが残っていれば(ステップS718:no)、ステップS700に戻って新たな多値階調値データを取得し、その多値階調値データについて一連の処理を行う。こうした操作を繰り返し、最終的に全ての多値階調値データについての処理を終了したと判断されたら(ステップS718:yes)、ドット形成の有無決定処理を終了する。
以上に説明したように、ここでは、中間データの中から順序値に応じた適切な箇所に設定されている2ビットデータを読み出すだけで、簡便にドット形成の有無を決定することができる。このことから、このようにして迅速にドット形成の有無を決定することができ、よって、より迅速に画像を印刷することが可能となる。
なお、ここでは、8つの画素について各々ドット形成の有無を決定する場合について説明したが、本実施形態の『4×4モード』においては、16個のの画素について各々ドット形成の有無を決定することになる。つまり、図33にて説明した『4×4モード』におけるドット個数データと各種サイズのドットについての個数の組合せとに基づき、中間データが設定される。
<ドット形成の有無決定の他の方法(2)>
前述した実施の形態では、図16にて説明したドット個数データ変換テーブルを参照することによって、一旦、多値階調値データをドット個数データに変換した後、順序値マトリックスを参照しながら、8つの画素(『4×4モード』の場合には、16個の画素、以下同じ)の中にてドットを形成する画素の位置を決定した。しかしながら、ドット形成の有無の決定にあっては、前述したように順序値マトリックスを参照してドットを形成する画素の位置を決定することなく、取得した多値階調値データに基づき、直ちに、各種ドットを形成する画素位置を決定することも可能である。この方法について以下に詳しく説明する。
前述した実施の形態では、図46にて説明したように、多値階調値データと分類番号とを取得した後、多値階調値データと分類番号との組合せから、8つの画素に形成すべき各種ドットの個数を決定した。そして、これらドットを形成する画素位置については、分類番号に対応した順序値マトリックスを参照することによって決定していた。すなわち、多値階調値データおよび分類番号が決まれば、8つの画素の各画素に形成されるドットの種類を決定することができる。従って、予め、多値階調値データと分類番号との組合せ毎に、8つの画素内の各画素に形成されるドットの種類を求めて対応表に記憶しておけば、かかる対応表を参照するだけで、直ちにドット形成有無を決定することができるはずである。ここで説明するドット形成の有無決定処理は、このような考え方に基づいて、多値階調値データ、各画素についてそれぞれドット形成の有無を迅速に決定することが可能となっている。
図51は、ここで使用されるドット個数データ変換テーブルの一例を概念的に示した説明図である。このドット個数データ変換テーブルは、同図に示すように、多値化結果値と分類番号との組合せに対応付けて、8つの画素の中の各画素に形成されるドット種類を表すデータが設定されている。ここでは、このデータのことをドットデータと呼ぶこととする。図51にて示すドット個数データ変換テーブルを参照すれば、多値階調値データと分類番号との組合せから、対応するドットデータを直ちに取得することができる。例えば、分類番号が『i』であり、多値階調値データが『j』であれば、ドットデータは、DD(i,j)となる。こうして取得されたドットデータには、8つの画素の中の各画素についてドット形成の有無に関する情報が含まれている。
図52は、ここで使用されるドット個数データ変換テーブルに設定されているドットデータのデータ構造の一例を示した説明図である。図52Aは、ドットデータの一例を説明する。図52Bは、実際のドット形成イメージの一例を説明する。
ドットデータは、図52Aに示すように、2ビットずつのデータ8組から構成された16ビット長のデータとなっている。ここで、1つのドットデータが8組のデータから構成されているのは、1つの多値階調値データには、8つの画素に関する情報が含まれているからである。従って、例えば、本実施形態の『4×4モード』の場合のように、1つの多値階調値データが16個の画素に関する情報が含まれる場合は、1つのドットデータは、16組のデータから構成されることになる。この他に、本実施形態ではないが、1つの多値階調値データが4個の画素に関する情報が含まれる場合は、1つのドットデータは、4組のデータから構成されることになる。
図52に示すように、ドットデータを構成する8組のデータは、それぞれ8つの画素内の所定位置の画素に対応付けられている。例えば、図52Aに示したドットデータの先頭にある1組目のデータは、図52Bに示すように、8つの画素の中の左上隅の画素に対応している。また、ドットデータの先頭から2組目のデータは、8つの画素の中の上段の左から2番目の画素に対応している。このように、ドットデータを構成する8組のデータは、それぞれ8つの画素の中の所定位置の画素に予め対応付けられている。
そして、各組のデータの内容は、対応する画素に形成するドットの種類を表している。すなわち、2ビットのデータ『11』は大ドットを形成することを意味している。2ビットのデータ『10』は中ドットを形成することを意味しており、『01』は小ドットを形成することを、そして、『00』はドットを形成しないことを意味している。以上の説明から分かるように、図52Aに例示したドットデータは、8つの画素の中の左上隅の画素には大ドットを形成し、上段の左から3番目の画素には中ドットを形成することを表わすようになっている。また、このドットデータは、下段の左から2番目の画素には小ドットを形成し、8つの画素の中の右下隅の画素には中ドットを形成することを表わすようになっている。さらに、このドットデータは、その他の画素にはドットを形成しないことを表すようになっている。
このようなドット個数データ変換テーブルを参照すれば、分類番号と多値階調値データとに基づいて、8つの画素の中の各画素について各々ドット形成の有無を速やかに決定することが可能である。
なお、本実施形態では、このようなドット個数データ変換テーブルの他に、『2×4モード』と『4×4モード』とにおいて、それぞれ専用のドット個数データ変換テーブルが必要となる。
===その他の実施の形態===
以上、一実施形態に基づき、本発明に係るインクジェットプリンタ等の印刷装置について説明したが、上記の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更または改良され得るとともに、本発明には、その等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
<多値化処理について>
前述した実施の形態では、多値化テーブルを使用して多値階調値データを生成していたが、必ずしもこのような多値化テーブルを用いて多値階調値データを生成する場合には限らない。つまり、テーブルを用いずに演算等により多値階調値データを生成してもよい。
<ドット個数データ変換処理について>
前述した実施の形態では、ドット個数データ変換テーブルを使用して多値階調値データをドット個数データに変換していたが、必ずしもこのようなドット個数データ変換テーブルを用いて多値階調値データをドット個数データに変換する必要はない。つまり、テーブルを用いずに演算等によりドット個数データを取得してもよい。
<多値階調値データについて>
前述した実施の形態では、多値階調値データが32階調の5ビットのデータとして生成されていたが、本発明では必ずしもこのようなビット数のデータにより生成される必要はない。つまり、多値階調値データのビット数は、多値化処理部が多値化する際の段数、即ち多値化段数に応じて適宜設定される。多値階調値データは、他のビット数のデータとして生成されてもよい。
<ドット個数データについて>
前述した実施の形態では、ドット個数データが、形成すべきドットの個数の他、形成すべき各ドットのサイズ(即ち「小ドット」、「中ドット」、「大ドット」)をも表すコード化されたデータとなっていたが、本発明では必ずしもこのようにデータとなっている必要はない。つまり、ドット個数データは、少なくとも1種類のサイズのドットの個数を示せば良く、必ずしもドットのサイズ等の他の情報を表すデータとなっている必要はない。
<出力画像の解像度について>
前述した実施の形態では、出力画像の解像度が、『1×1モード』と、『2×1モード』と、『1×2モード』と、『2×2モード』と、『4×2モード』と、『2×4モード』と、『4×4モード』との7種類であったが、本発明にあっては、必ずしもこのような解像度に限定されるものではない。つまり、出力画像の解像度としては、他の解像度に設定されてもよく、任意に設定されるものである。
<1以上の画素について>
前述した実施の形態では、ドット形成用データ生成部により、ドット形成の有無が決定される「1以上の画素」として、8つの画素につきそれぞれ個別にドット形成の有無を決定していたが、この「1以上の画素」としては、必ずしもこのように8つの画素について個別にドット形成の有無が決定される場合に限らず、7つ以下の画素について個別にドット形成の有無が決定されてもよく、また9つ以上の画素について個別にドット形成の有無が決定されても良い。
<多値化処理部について>
前述した実施の形態では、多値化処理部がパーソナルコンピュータ等のコンピュータに設けられていたが、多値化処理部は、必ずしもこのようにパーソナルコンピュータ等のコンピュータに設けられる場合には限られない。つまり、例えば、インクジェットプリンタ等の印刷装置の内部に設けられても良く、また、他の各種装置等に設けられても良い。
<ドット形成用データ生成部について>
前述した実施の形態では、ドット形成用データ生成部がインクジェットプリンタ等の印刷装置に設けられていたが、ドット形成用データ生成部は、必ずしもこのようにインクジェットプリンタ等の印刷装置に設けられる必要はない。つまり、例えば、当該インクジェットプリンタ等の印刷装置が接続されたパーソナルコンピュータ等のコンピュータに設けられていてもよく、また、その他の各種装置等に設けられてもよい。
<画像処理装置について>
前述した実施の形態では、画像処理装置として、印刷装置と、この印刷装置を制御するコンピュータとを備えた印刷システム(画像処理システム)に適用した場合を例にして説明したが、ここでいう画像処理装置にあっては、このような印刷システムに適用する場合に限らない。つまり、ここでいう画像処理装置は、印刷装置にのみ適用されても良い。すなわち、印刷装置に、多値化処理部とドット形成用データ生成部との双方が設けられていても良い。また、ここでいう画像処理装置は、印刷装置の制御等を行うコンピュータに適用されても良い。つまり、印刷装置の制御等を行うコンピュータに、多値化処理部とドット形成用データ生成部との双方が設けられていても良い。この他、画像データを処理して出力画像のドット形成用データを生成する装置であれば、どうような装置も、ここでいう画像処理装置に含まれる。
<印刷装置について>
前述した実施の形態では、「印刷装置」としては、前述したようなインクジェットプリンタ1の場合を例にして説明したが、このような印刷装置に限らず、他の方式によりインクを吐出するインクジェットプリンタをはじめ、その他、インクを吐出しないタイプのプリンタ、例えば、ドットインパクト式プリンタや熱転写プリンタ、またレーザービーム式プリンタなど、印刷機能を備えた装置であれば、どのような印刷装置であっても構わない。
本発明に係る画像処理装置が適用された印刷システムの斜視図。 コンピュータの内部構成の一例を説明する説明図。 印刷装置の内部構成を説明した斜視図。 印刷装置の搬送部を示す断面図。 印刷装置のシステム構成を示すブロック構成図。 ヘッドのノズルの配列を示す説明図。 ヘッドの駆動回路の一例を説明した図。 各信号のタイミングチャート。 プリンタドライバにおける従来の処理の概要を説明する説明図。 プリンタドライバによる本実施形態の処理の概要を説明する説明図。 多値化処理部の多値化処理の処理手順の一例を説明するフローチャート。 多値化テーブルの一例を概念的に示した説明図。 画素の階調値と多値階調値データとの関係について説明した説明図。 『1×1モード』おける分類番号の設定方法を説明する説明図。 『2×1モード』おける分類番号の設定方法を説明する説明図。 『1×2モード』おける分類番号の設定方法を説明する説明図。 『2×2モード』おける分類番号の設定方法を説明する説明図。 『4×2モード』おける分類番号の設定方法を説明する説明図。 ドット形成用データ生成部の処理手順の一例を示すフローチャート。 ドット個数データ変換テーブルの一例の説明図。 ドット個数データと、ドットの個数およびサイズとの対応関係の一例の説明図。 図18Aは、分類番号『1』の順序値マトリックスの一例を説明し、図18Bは、分類番号『2』の順序値マトリックスの一例を説明し、図18Cは、分類番号『3』の順序値マトリックスの一例を説明している。 ドット形成の有無を決定する手順の一例の説明図。 図20Aは、左上隅の画素の切り出しの説明図であり、図20Bは、上段の左から2番目の画素の切り出しの説明図であり、図20Cは、上段の右から2番目の画素の切り出しの説明図であり、図20Dは、右上隅の画素の切り出しの説明図であり、図20Eは、左下隅の画素の切り出しの説明図であり、図20Fは、下段の左から2番目の画素の切り出しの説明図であり、図20Gは、下段の右から2番目の画素の切り出しの説明図であり、図20Hは、右下隅の画素の切り出しの説明図である。 CMYK画像データにおける画素の位置の説明図。 図22Aは、上段の左から1番目および2番目の画素の切り出しの説明図であり、図22Bは、上段の右から1番目および2番目の画素の切り出しの説明図であり、図22Cは、下段の左から1番目および2番目の画素の切り出しの説明図であり、図22Dは、下段の右から1番目および2番目の画素の切り出しの説明図である。 CMYK画像データにおける画素の位置の説明図。 図24Aは、左から1列目の上下2つの画素を切り出す場合の説明図であり、図24Bは、左から2列目の上下2つの画素を切り出す場合の説明図であり、図24Cは、右から2列目の上下2つの画素を切り出す場合の説明図であり、図24Dは、右から1列目の上下2つの画素を切り出す場合の説明図である。 CMYK画像データにおける画素の位置の説明図。 図26Aは、左半分の4つの画素を切り出す場合の説明図であり、図26Bは、右半分の4つの画素を切り出す場合の説明図である。 CMYK画像データにおける画素の位置の説明図。 『4×2モード』における画素の切り出し方法の説明図。 『2×4モード』のドット個数データ変換テーブルの一例の説明図。 『2×4モード』の順序値マトリックスの一例の説明図。 『2×4モード』におけるドット形成の有無の決定方法の説明図。 『4×4モード』のドット個数データ変換テーブルの一例の説明図。 『4×4モード』のドット個数データと、このドット個数データにより表される、形成すべきドットの個数およびサイズに関する情報との対応関係の一例の説明図。 『4×4モード』の順序値マトリックスの一例の説明図。 『4×4モード』におけるドット形成の有無の決定方法の説明図。 ディザマトリックスの一部を拡大して例示した説明図。 ディザマトリックスによるドット形成の有無の決定手法を説明する説明図。 図38Aは、ディザマトリックスに設定される単位ブロックの説明図、図38Bは、ディザマトリックスに設定された分類番号の説明図、図38Cは、画像データにディザマトリックスを適用した場合の説明図である。 図39Aは、CMYK画像データ上の着目画素の位置の説明図、図39Bは、ディザマトリックスのCMYK画像データへの適用方法の一例の説明図、図39Cは、着目画素が属する単位ブロックを特定する方法の説明図である。 ハーフトーン処理の概要を説明するフローチャート。 ドット密度変換テーブルの説明図。 ハーフトーン処理の概要を説明する説明図。 多値化テーブルの設定手順の一例を説明するフローチャート。 ドット個数データ変換テーブルの設定手順の一例を説明するフローチャート。 図45Aは、ディザマトリックスに設定された分類番号の説明図、図45Bは、分類番号『1』の順序値マトリックスの生成手順の説明図、図45Cは、分類番号『2』の順序値マトリックスの生成手順の説明図である。 ドット形成用データ生成処理の概要の説明図。 他のタイプの多値化テーブルの一例を説明する説明図。 他方法によるドット形成用データ生成処理の一例を説明する説明図。 ドット個数データと中間データとの対応表の一例を説明する説明図。 図50Aは、中間データの概要を説明する説明図、図50Bは、中間データの中から2ビットデータの読み出しを行う方法の説明図、図50Cは、中間データをシフトさせることにより2ビットデータの読み出しを行う方法の説明図である。 他のタイプのドット個数データ変換テーブルの一例を説明する説明図。 図52Aは、ドットデータの一例の説明図、図52Bは、実際のドット形成イメージの一例の説明図である。
符号の説明
1 インクジェットプリンタ、2 操作パネル、3 排紙部、4 給紙部、
5 操作ボタン、6 表示ランプ、7 排紙トレイ、8 給紙トレイ、
13 給紙ローラ、14 プラテン、15 搬送モータ、17A 搬送ローラ、
17B 排紙ローラ、18A フリーローラ、18B フリーローラ、21 ヘッド、
31 ポンプ装置、35 キャッピング装置、41 キャリッジ、
42 キャリッジモータ、44 プーリ、45 タイミングベルト、
46 ガイドレール、48 インクカートリッジ、49 カートリッジ装着部、
51 リニア式エンコーダ、53 紙検知センサ、
122 バッファメモリ、124 イメージバッファ、
126 コントローラ、127 メインメモリ、128 キャリッジモータ制御部、
129 通信インターフェース、130 搬送制御部、132 ヘッド駆動部、
134 ロータリ式エンコーダ、150 システム、152 コンピュータ、
153 CD−ROMドライブ装置、154 フロッピードライブ装置(FDD)、
155 表示装置、156 キーボード、157 マウス、
158 ハードディスクドライブ装置、159 ビデオメモリ、
160 アプリケーションプログラム、162 ビデオドライバ、
161 操作入力インターフェース、163 メモリ、
164 プリンタドライバ、165 外部通信インターフェース、
166 解像度変換処理部、168 色変換処理部、
170 ハーフトーン処理部、172 ラスタライズ処理部、
180 プリンタドライバ、182 多値化処理部、
184 ドット形成用データ生成部、
211Y イエロノズル列、211M マゼンダノズル列、
211C シアンノズル列、211K ブラックノズル列、
220 駆動回路、221 原駆動信号発生部、222 マスク回路

Claims (16)

  1. (A)画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
    (B)前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
    (C)を備えたことを特徴とする画像処理装置。
  2. 前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、
    前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成することを特徴とする請求項1に記載の画像処理装置。
  3. 前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して前記多値階調値データを生成することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して前記多値階調値データを生成することを特徴とする請求項1〜3のいずれか1項に記載の画像処理装置。
  5. 前記多値階調値データは、所定のビット数のデータとして前記多値化処理部により生成されることを特徴とする請求項1〜4のいずれか1項に記載の画像処理装置。
  6. 前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、
    前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換することを特徴とする請求項1〜5のいずれか1項に記載の画像処理装置。
  7. 前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定することを特徴とする請求項1〜6のいずれか1項に記載の画像処理装置。
  8. 前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれていることを特徴とする請求項1〜7のいずれか1項に記載の画像処理装置。
  9. 前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記1以上の画素について個別にドット形成の有無を決定することを特徴とする請求項1〜8のいずれか1項に記載の画像処理装置。
  10. 前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記1以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なることを特徴とする請求項1〜9のいずれか1項に記載の画像処理装置。
  11. 前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記1以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることを特徴とする請求項1〜10のいずれか1項に記載の画像処理装置。
  12. (A)画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
    (B)前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
    (C)を備え、
    (D)前記階調値と前記多値階調値データとが対応付けられた多値化テーブルを備え、前記多値化処理部は、前記多値化テーブルを参照することにより前記多値階調値データを生成し、
    (E)前記多値化処理部は、前記画像データにより表される画像を構成する各画素の色別の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成し、
    (F)前記多値化処理部は、前記階調値を当該階調値に対応する画素の位置に応じて多値化処理して多値階調値データを生成し、
    (G)前記多値階調値データは、所定のビット数のデータとして前記多値化処理部により生成され、
    (H)前記多値階調値データと前記ドット個数データとが対応付けられたドット個数データ変換テーブルを備え、前記ドット形成用データ生成部は、前記ドット個数データ変換テーブルを参照することにより、前記多値階調値データを前記ドット個数データに変換し、
    (I)前記ドット形成用データ生成部は、前記ドット個数データに基づき、所定の個数の画素について個別にドット形成の有無を決定し、
    (J)前記ドット個数データには、ドットの個数の他に、ドットのサイズに関するデータが含まれ、
    (K)前記ドット形成用データ生成部は、前記ドット個数データの他に、ドット形成の順序を示すドット形成順序データに基づき、前記1以上の画素について個別にドット形成の有無を決定し、
    (L)前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記1以上の画素の中から前記出力画像を構成する画素として使用される画素の数が、前記出力画像の前記解像度に応じて異なり、
    (M)前記ドット形成用データ生成部により、前記ドット形成の有無が決定された前記1以上の画素の中から前記出力画像を構成する画素として使用される画素の位置が、前記多値階調値データを生成する際に多値化処理した階調値に対応する画素の位置に応じて異なることを特徴とする画像処理装置。
  13. 画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理ステップと、
    前記多値化処理ステップにて生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成ステップと、
    を有することを特徴とする画像処理方法。
  14. 画像処理装置と、この画像処理装置と通信可能な画像出力装置とを具備した画像処理システムであって、
    前記画像処理装置は、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部を有し、
    前記画像出力装置は、前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部を有することを特徴とする画像処理システム。
  15. (A)画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部と、
    (B)前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、
    (C)前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部と、
    (D)を備えたことを特徴とする印刷装置。
  16. コンピュータと、このコンピュータに接続可能な印刷装置とを具備した印刷システムにおいて、
    前記コンピュータは、画像データに基づき、前記画像データにより表される画像を構成する各画素の階調値をそれぞれ、出力画像の解像度に応じて多値化処理して多値階調値データを生成する多値化処理部を有し、
    前記印刷装置は、前記多値化処理部により生成された前記多値階調値データを、ドットの個数を表すドット個数データに変換して、このドット個数データに基づき、1以上の画素について個別にドット形成の有無を決定して、ドット形成の有無が決定された前記1以上の画素のうちの少なくとも一部の画素を、前記出力画像を構成する画素として、前記解像度の前記出力画像のドット形成用データを生成するドット形成用データ生成部と、前記ドット形成用データ生成部により生成された前記ドット形成用データに基づき、媒体に対して印刷を施す印刷部とを有することを特徴とする印刷システム。
JP2005025632A 2005-01-02 2005-02-01 画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システム Pending JP2006217084A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005025632A JP2006217084A (ja) 2005-02-01 2005-02-01 画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システム
US11/344,871 US20060193009A1 (en) 2005-01-02 2006-01-31 Image-processing apparatus, image-processing method, image-processing system, printing apparatus, and printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005025632A JP2006217084A (ja) 2005-02-01 2005-02-01 画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システム

Publications (1)

Publication Number Publication Date
JP2006217084A true JP2006217084A (ja) 2006-08-17

Family

ID=36931700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005025632A Pending JP2006217084A (ja) 2005-01-02 2005-02-01 画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システム

Country Status (2)

Country Link
US (1) US20060193009A1 (ja)
JP (1) JP2006217084A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008099188A (ja) * 2006-10-16 2008-04-24 Seiko Epson Corp 画像処理装置、画像処理方法および印刷装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5121726B2 (ja) * 2006-12-19 2013-01-16 キヤノン株式会社 画像処理装置および画像処理方法
JP5121592B2 (ja) * 2008-06-18 2013-01-16 キヤノン株式会社 画像形成装置および画像処理方法
GB0823701D0 (en) * 2008-12-31 2009-02-04 Symbian Software Ltd Fast data entry
JP6074307B2 (ja) * 2013-04-05 2017-02-01 凸版印刷株式会社 カラー画像処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60035549T2 (de) * 1999-06-07 2008-04-17 Canon K.K. Bildaufzeichnungsgerät und Verfahren
EP1433307A4 (en) * 2001-09-21 2007-05-02 Ricoh Kk THRESHOLD MATERIAL GENERATION PROCESS, PICTURE OUTPUT SYSTEM, STORAGE MEDIUM, GRADUATION REPRODUCTION METHOD, THRESHOLD MATRIX, PICTURE PROCESSING METHOD, IMAGE PROCESSING DEVICE, PICTURE GENERATOR, AND PRINTER DRIVER

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008099188A (ja) * 2006-10-16 2008-04-24 Seiko Epson Corp 画像処理装置、画像処理方法および印刷装置

Also Published As

Publication number Publication date
US20060193009A1 (en) 2006-08-31

Similar Documents

Publication Publication Date Title
JP4375235B2 (ja) 複数画素ずつコード化しながら画像を出力する画像出力システム
JP6881912B2 (ja) 記録装置、記録方法およびプログラム
JP7313943B2 (ja) ディザパターンの作成方法、プログラムおよびディザパターンを作成する装置
JP2021014127A (ja) 記録装置、記録方法およびプログラム
US9434194B2 (en) Ink jet recording apparatus and ink jet recording system using pixel division patterns
JP2005153535A (ja) プリンタにおける欠陥印刷要素を隠蔽する方法
JP2006217084A (ja) 画像処理装置、画像処理方法、画像処理システム、印刷装置および印刷システム
JP4595585B2 (ja) 画像処理装置、画像処理方法、プログラムおよび印刷装置
JP2010130303A (ja) 印刷制御装置、印刷装置、印刷制御方法およびコンピュータプログラム
JP2005236768A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP5991753B2 (ja) 画像処理装置および画像処理方法
JP6598640B2 (ja) 記録装置、記録方法およびプログラム
JPWO2004086749A1 (ja) 画像出力制御システム、画像処理装置およびその方法
JP2019038229A (ja) 印刷装置および印刷制御装置
JP2006229810A (ja) 複数画素ずつコード化しながら画像を出力する画像出力システム
JP2005161817A (ja) 画像処理方法および装置
JP2012153119A (ja) インクジェット記録装置及びインクジェット記録方法
JP4419863B2 (ja) 画像処理装置、画像処理方法、プログラムおよび印刷装置
JP6667259B2 (ja) 記録装置、記録方法およびプログラム
JP2019107810A (ja) 画像処理装置、画像処理方法およびインクジェット記録装置
JP2006001054A (ja) インクジェット記録装置、インクジェット記録方法、データ生成装置およびプログラム
JP2009292102A (ja) 記録装置及びその方法
JP2006229763A (ja) 画像処理装置、画像処理方法、プログラムおよび印刷装置
JP2006217537A (ja) 画像処理装置、画像処理方法、プログラムおよび印刷装置
JP2022156781A (ja) 画像処理装置、画像処理方法及びプログラム