JP2016197827A - 画像処理装置、印刷装置、画像処理方法および印刷方法 - Google Patents

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

Info

Publication number
JP2016197827A
JP2016197827A JP2015077397A JP2015077397A JP2016197827A JP 2016197827 A JP2016197827 A JP 2016197827A JP 2015077397 A JP2015077397 A JP 2015077397A JP 2015077397 A JP2015077397 A JP 2015077397A JP 2016197827 A JP2016197827 A JP 2016197827A
Authority
JP
Japan
Prior art keywords
halftone
ink
block
type
color
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.)
Granted
Application number
JP2015077397A
Other languages
English (en)
Other versions
JP6613597B2 (ja
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 JP2015077397A priority Critical patent/JP6613597B2/ja
Priority to US15/079,408 priority patent/US9832350B2/en
Publication of JP2016197827A publication Critical patent/JP2016197827A/ja
Application granted granted Critical
Publication of JP6613597B2 publication Critical patent/JP6613597B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6027Correction or control of colour gradation or colour contrast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1872Image enhancement
    • G06K15/1881Halftoning
    • 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
    • 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/46Colour picture communication systems
    • H04N1/52Circuits or arrangements for halftone screening
    • 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/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6002Corrections within particular colour systems
    • H04N1/6008Corrections within particular colour systems with primary colour signals, e.g. RGB or CMY(K)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/101Arrangements for producing a permanent visual presentation of the output data involving the use of ink jets

Abstract

【課題】多数種類のインクを用いる場合に柔軟に対応しうるハーフトーン手法を提案する。【解決手段】互いに異なる第1,第2のハーフトーン処理を行なう第1,第2ハーフトーン処理工程とを備え、第2ハーフトーン処理工程は、原画像を構成する複数の色のうち、予め定めた一または複数の色である第1種色以外の色である第2種色ついて、原画像を構成する画素を複数個ずつまとめたブロックを単位として、第2のハーフトーン処理を行ない、複数のインクのうちの第2種色に対応したインクである第2種インクのインク量に変換し、第1ハーフトーン処理工程は、第1種色について、原画像を構成する各画素またはブロックを構成する画素数より少ない数の画素群毎に、第1のハーフトーン処理を行ない、複数のインクのうちの第1種色に対応した第1種インクのインク量に変換する。【選択図】図4

Description

本発明は、画像を処理する技術および印刷する技術に関する。
近年、階調数の少ない記録方式を用いて、それよりも階調数の多い画像を表示あるいは印刷する、いわゆるハーフトーン技術が、画像処理の分野で大きく進展している。こうしたハーフトーン技術では、処理の高速化と画質の向上とが求められており、能力の限られたハードウェア資源において、両者を如何にバランスさせるかが、常に問われてきた。
こうしたバランスは、様々なレベルで必要となる。例えば、ハーフトーン手法の代表例として、ディザ法と誤差拡散法とを挙げると、前者は一般に高速処理が可能だが画質を向上するには種々の工夫が必要となり、後者は一般に高画質化が可能だが、処理に時間がかかり、また誤差を一時的に記憶するバッファなども必要とする。あるいは画像処理の単位に注目すると、一画素毎に処理する手法と複数の画素をまとめて処理する手法とが考えられるが、前者では高画質化はしやすいものの解像度が高くなるに連れて、処理すべき画素数が膨大なものとなり、後者では処理対象の数は抑制できるものの、その分画質が低下してしまう。更に、画像を用意するコンピューターとこれを印刷するプリンターとが接続された形態を想定すると、一般に処理能力の高いコンピューター側でハーフトーンを行なえば、処理は高速化できるものの、これをプリンターに転送するデータ量が増えて、データ転送がボトルネックになることがあった。
本発明者は、こうした問題を、所与のハードウェア資源の中でバランスさせる手法を種々開発し、ディザ法と誤差拡散法のバランスを取る手法(下記特許文献1)や、複数の画素をまとめ高速かつ高画質に処理する手法(下記特許文献2)等を開発・提案してきた。
特開2013−115748号公報 特許第4225319号公報
これらの手法は、高速処理と高画質化とを、所与の条件下で最適化する優れたものであるが、多数種類のインク(カラーインクや、モノクロ多階調インク)などを用いた場合の最適化については、なお改善の余地があった。
本発明は、色に応じて、複数のハーフトーン処理を使い分けることで、高速処理と高画質の処理など、所与の条件下で適切な画像処理を実現することを目的とする。
(1)本発明の第1の実施態様として、原画像を複数のインクを用いた表現に変換する画像処理装置が提供される。この画像処理装置は、予め定めた第1のハーフトーン処理を行なう第1ハーフトーン部と、前記第1のハーフトーン処理とは異なる第2のハーフトーン処理を行なう第2ハーフトーン部とを備えて良い。この第2ハーフトーン部は、前記原画像を構成する複数の色のうち、予め定めた一または複数の色である第1種色以外の色である第2種色ついて、前記原画像を構成する画素を複数個ずつまとめたブロックを単位として、前記第2のハーフトーン処理を行ない、前記複数のインクのうちの前記第2種色に対応したインクである第2種インクのインク量に変換して良い。また、前記第1ハーフトーン部は、前記第1種色について、前記原画像を構成する各画素または前記ブロックを構成する画素数より少ない数の画素群毎に、前記第1のハーフトーン処理を行ない、前記複数のインクのうちの前記第1種色に対応した第1種インクのインク量に変換してよい。
係る画像処理装置によれば、予め定めた第1種色については、原画像を構成する各画素または前記ブロックを構成する画素数より少ない数の画素群毎に、第1のハーフトーン処理を行なうことができ、第1種色以外の色である第2種色については、原画像を構成する画素を複数個ずつまとめたブロックを単位として、第2のハーフトーン処理を行なうことができる。しかも、この第1のハーフトーン処理は第2のハーフトーン処理とは異なる処理であることから、第1種色と第2種色とに関して、ブロックを単位とする処理と、ブロックを単位としない処理とを適切に使う分けることができる。
(2)この画像処理装置において、前記第1ハーフトーン部が行なう前記第1のハーフトーン処理は、前記第2ハーフトーン部が行なう前記第2のハーフトーン処理より高画質の処理であって良い。こうすれば、原画像を構成する各画素または前記ブロックを構成する画素数より少ない数の画素群毎に、前記第1のハーフトーン処理を行なうことができ、高画質の処理を容易に実現できる。
(3)前記第1種色は少なくとも黒色を含むものとしてよい。係る画像処理装置によれば、黒色または黒色を含む第1種色を第1のハーフトーン処理によりにより処理できるので、黒色に独自の処理を実施して、例えば黒色で表現されることが多いも文字や線を、その性質に応じた手法でハーフトーン処理できる。なお、第1種色は、黒色のみに限らず、赤緑青などの原色など、予め定めた一または複数の色とすることができる。
(4)もとより第1種色は黒色のみとすることもできる。こうすれば、第1種色は黒色のみになるので、処理を短時間に済ませることができる。
(5)こうした画像処理装置において、前記第1のハーフトーン処理は、前記第1種色の階調値に基づいて第1種色に対応した第1種インクによるドットを形成するか否かを直接定める処理としても良い。こうすれば、第1種色については、第1種色の階調値に基づいて、第1種色に対応した第1種インクによるドットを形成するか否かを直接定めることができるので、原画像における第1種色の再現性を高めることができる。
(6)こうした画像処理装置において、前記第2ハーフトーン部が行なう前記第2のハーフトーン処理は、前記第1ハーフトーン部が行なう前記第1のハーフトーン処理より高速の処理としてもよい。こうすれば、第2ハーフトーン部処理がブロックを単位として行なうものであることも相俟って、処理を一層高速に行なうことができる。
(7)上記の画像処理装置において、前記第2のハーフトーン処理は、ディザマスクに格納された閾値と前記ブロックを毎に前記第2種色の階調値とを比較する処理としても良い。係る画像処理装置によれば、第2種色については、ディザマスクの閾値と比較することにより、ディザマスクの特性を反映した画像を形成できる。
(8)前記第2ハーフトーン部は、前記第2種色について、前記ブロック内の前記複数個の画素の平均値をもちいて処理を行なう請求項1から請求項7のいずれか一項に記載の画像処理装置。こうした画像処理装置では、複数個の画素の平均値を用いて処理を行なうので、第2のハーフトーン処理を高速に行なうことができる。
(9)また、前記第1ハーフトーン部は、前記第1種色について、前記ブロック内のいずれかの画素に前記第1種色が存在するかの判断を行ない、前記第1種色が存在する画素についてのみ、前記第1のハーフトーン処理を行なう者としても良い。係る画像処理装置では、前記ブロック内の第1種色が存在しない画素については、第1のハーフトーン処理を行なわないので、第1ハーフトーン部の処理を更に高速化できる。
(10)こうした画像処理装置において、前記原画像の全画素について、前記第1ハーフトーン部による前記第1のハーフトーン処理および前記第2ハーフトーン部による前記第2のハーフトーン処理を行ない、処理結果である前記第1種色に対応したインクのインク量が零でない画素については、前記第2種インクのインク量を、前記第1種インクのインク量で置き換えるものとしても良い。係る画像処理装置では、第1のハーフトーン処理を行なうか否かの判断を行なう必要がなく、判断に要する処理時間を低減できる。また、条件判断を減らしているので、装置全体をハードウェアで実現しやすくなる。
(11)こうした画像処理装置において、前記第1ハーフトーン部は、前記ブロック内のいずれかの画素に前記第1種色が存在する場合には、前記全画素が前記第1種色であるとして前記第1のハーフトーン処理を行ない、更に、前記第1種色が存在する画素位置に基づいて、前記第1のハーフトーン処理の結果と、前記第2ハーフトーン部による前記第2のハーフトーン処理の結果とを合成して、前記画像処理の結果を求めるハーフトーン処理結果合成部を備えるものとして良い。この場合には、処理を単純化することができる。
(12)また、上記の画像処理装置において、前記原画像における一方向への画素の配列であるラスタを、前記第2ハーフトーン部が扱う前記ブロックを少なくとも一つ含みうる数だけ束ねて処理ラスタとする第1処理と、前記ブロックを単位とした前記第2種色の階調データを対応する第2種インクのインク量に変換したインク量と、前記各画素または前記ブロックを構成する画素数より少ない数の画素群毎の前記第1種色に対応した第1種インクのインク量とを組み合わせた中間データを、前記処理ラスタ毎に生成する第2処理とを、行ない、前記中間データを、前記第1,第2ハーフトーン部に処理させることにより、前記第1種インクおよび第2種インクのインク量に対応したドットの形成の有無を表すドットデータを生成するものとして良い。係る画像処理装置では、ブロックを単位とした第2種色の階調データを対応する第2種インクのインク量に変換したインク量と、前記各画素または前記ブロックを構成する画素数より少ない数の画素群毎の前記第1種色に対応した第1種インクのインク量とを組み合わせた中間データを、処理ラスタ毎に生成するので、原画像の各画素の第1種色、第2種色の階調データを、そのまま扱うより、データ量を低減することができる。
(13)前記第2処理において生成される中間データを、ブロックを単位とした第2種色の階調データを対応する第2種インクのインク量に変換したインク量を、更に前記ブロックに形成されるドット数および前記ブロック内におけるドット位置の情報にエンコードした形態で記憶するものとしても良い。係る画像処理装置では、中間データのデータ量を更に低減することができる。
(14)こうした画像処理装置において、前記ブロックより大きなディザマスクを準備し、前記エンコードを、前記ディザマスクに含まれる閾値であって前記ブロックに含まれる画素の数に対応した数の閾値と前記第2種インクのインク量との比較結果を符号化することにより行なうものとして良い。係る画像処理装置によれば、中間データのデータ量を低減しつつ、ドットの配置に、ディザマスクの特性を反映することができる。
(15)前記ブロックより大きなディザマスクを準備し、前記エンコードを、前記ディザマスクに含まれる閾値であって前記ブロックに含まれる画素の数に対応した数の閾値の大小を序列化した情報と、前記第2種インクのインク量に基づき判断した前記ブロック内に形成すべきドット数との組合せによって行なうものとして良い。係る画像処理装置によれば、中間データのデータ量を更に低減することができる。
(16)本発明の他の態様として、原画像を複数のインクを用いて印刷する印刷装置や画像処理方法、印刷方法、あるいは画像処理方法をコンピュータにより実現するプログラムなどが提供される。こうした発明でも、上記の画像処理装置と同様の作用効果を奏する。
上述した本発明の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行なうことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本発明の一形態に含まれる技術的特徴の一部又は全部を上述した本発明の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本発明の独立した一形態とすることも可能である。
本発明は、印刷装置や画像処理装置以外の種々の形態で実現することも可能である。例えば、画像処理装置や印刷装置の製造方法、それらの制御方法、その制御方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。
本発明の第1実施形態としてのプリンターの概略構成図。 プリンターにおける印刷処理の流れを示すフローチャート。 実施形態におけるブロックとブロック内画素について説明する説明図。 第1実施形態としてのハーフトーン処理の流れを示すフローチャート。 第1実施形態のハーフトーン処理で実行される中間データ生成処理を示すフローチャート。 中間データの構造を示す説明図。 特別色位置情報の他の構成例を示す説明図。 中間データ生成の様子を例示する説明図。 第1実施形態のハーフトーン処理で実行される中間データ取得・多値化処理を示すフローチャート。 第1実施形態およびその変形例における中間データの復元の様子を示す説明図。 実施態様で用いるディザマスクを例示する説明図。 第2実施形態における中間データ取得・多値化処理を示すフローチャート。 第2実施形態における中間データの復元の様子を示す説明図。 第2実施形態における大中小テーブルの一例を概念的に示す説明図。 第3実施形態における中間データ取得・多値化処理を示すフローチャート。 第4実施形態の中間データ取得・多値化処理を示すフローチャート。 第4実施形態のエンコードに用いられる分類番号−代表インク量のテーブルを示す説明図。 図17のテーブルを用いられる多値化結果値について概念的に説明する説明図。 第4実施形態においてデコードに用いられる分類番号−多値化結果値のテーブルを示す説明図。 コード化された個数データを大中小のドット個数として示す説明図。 部類番号と順序値マトリックスを例示する説明図。
(1)第1実施形態:
本発明の第1実施形態について説明する。
[1]装置構成:
図1は、本発明の印刷装置の第1実施形態としてのプリンター20の概略構成図である。プリンター20は、双方向印刷を行なうシリアル式インクジェットプリンタであり、図示するように、プリンター20は、紙送りモータ74によって印刷媒体Pを搬送する機構と、キャリッジモータ70によってキャリッジ80をプラテン75の軸方向に往復動させる機構と、キャリッジ80に搭載された印刷ヘッド90を駆動してインクの吐出及びドット形成を行なう機構と、これらの紙送りモータ74,キャリッジモータ70,印刷ヘッド90及び操作パネル99との信号のやり取りを司る制御ユニット30とから構成されている。
キャリッジ80をプラテン75の軸方向に往復動させる機構は、プラテン75の軸と平行に架設され、キャリッジ80を摺動可能に保持する摺動軸73と、キャリッジモータ70との間に無端の駆動ベルト71を張設するプーリ72等から構成されている。
キャリッジ80には、カラーインクとして、シアンインクC、マゼンタインクM、イエロインクY、ブラックインクK、をそれぞれ収容したカラーインク用のインクカートリッジ82〜85が搭載される。キャリッジ80の下部の印刷ヘッド90には、上述の各色のカラーインクに対応するノズル列が形成されている。キャリッジ80にこれらのインクカートリッジ82〜87を上方から装着すると、各カートリッジから印刷ヘッド90へのインクの供給が可能となる。なお、上記4色のインクに、更にライトシアンインクLc、ライトマゼンタインクLmを加えた6色インクを用いてもよい。
制御ユニット30は、CPU40や、ROM51、RAM52、EEPROM60がバスで相互に接続されて構成されている。制御ユニット30は、ROM51やEEPROM60に記憶されたプログラムをRAM52に展開し、実行することにより、プリンター20の動作全般を制御するほか、入力部41、ハーフトーン処理部42、印刷部46としても機能する。ハーフトーン処理部42の機能は、第1,第2ハーフトーン部の下位概念に相当する中間データ生成部43および中間データ取得・多値化部44としての機能を含んでいる。EEPROM60には、ディザマスク61と、大中小テーブル62とが記憶されている。ハーフトーン処理やこれに用いるディザマスク61については、後で詳しく説明する。大中小テーブル62は、第1実施形態では特に用いないが、第2実施形態以下で用いるので、併せてEEPROM60内にあるものとして示した。その内容については、第2実施形態において詳しく説明する。なお、ハーフトーンにおいてディザ法以外の手法、例えば誤差拡散法などを用いる場合には、ディザマスク61は備えなくても差し支えない。同様に、多値化のうち、2値化のみを行なう場合には、大中小テーブル62を備えなくても差し支えない。
制御ユニット30には、メモリカードスロット98が接続されており、メモリカードスロット98に挿入したメモリカードMCから画像データORGを読み込んで入力することができる。本実施形態においては、メモリカードMCから入力する画像データORGは、レッド(R)、グリーン(G)、ブルー(B)の3色の色成分からなるデータである。
以上のようなハードウェア構成を有するプリンター20は、キャリッジモータ70を駆動することによって、印刷ヘッド90を印刷媒体Pに対して主走査方向に往復動させ、また、紙送りモータ74を駆動することによって、印刷媒体Pを副走査方向に移動させる。制御ユニット30は、キャリッジ80が往復動する動き(主走査)や、印刷媒体の紙送りの動き(副走査)に合わせて、印刷データに基づいて適切なタイミングでノズルを駆動することにより、印刷媒体P上の適切な位置に適切な色のインクドットを形成する。こうすることによって、プリンター20は、印刷媒体P上にメモリカードMCから入力したカラー画像を印刷することが可能となっている。
[2]印刷処理:
プリンター20における印刷処理について説明する。図2は、プリンター20における印刷処理の流れを示すフローチャートである。ここでの印刷処理は、ユーザが操作パネル99等を用いて、メモリカードMCに記憶された所定の画像に対する印刷指示操作を行なうことで開始される。印刷処理を開始すると、CPU40は、まず、入力部41の処理として、メモリカードスロット98を介してメモリカードMCから印刷対象であるRGB形式の画像データORGを読み込んで入力する(ステップS110)。画像データORGは、JPEGやPNGなどの形式で記憶されたデータであるが、データの形式は問わない。
画像データORGを入力すると、CPU40は、解像度変換を行なう(ステップS120)。解像度変換は、画像データORGの解像度を、プリンター20の解像度に合わせて変換する処理である。両者が等しい場合には、解像度変換を行なわなくとも差し支えない。
解像度変換処理を行なうと、CPU40は、ハーフトーン処理部42の処理として、画像データを各色のドットのON/OFFを画素毎に定めたドットデータに変換するハーフトーン処理を行なう(ステップS130)。ここでのハーフトーン処理の詳細については後述する。なお、本明細書では、「ハーフトーン処理」は、ドットのON/OFFの2値化処理に限らず、大ドット及び小ドットのON/OFFなど、多値化処理を含んだ階調数変換(低減)処理一般を意味している。また、ステップS130に供する画像データは、スムージング処理などの画像処理が施されたものであってもよい。
ハーフトーン処理を行なうと、CPU40は、ハーフとー処理されたドットの配列を、プリンター20のノズル配置や紙送り量などに合わせて、1回の主走査単位で形成するドットパターンのデータに並び替えるインターレース処理を行なう(ステップS150)。インターレース処理を行なうと、CPU40は、印刷部46の処理として、印刷ヘッド90、キャリッジモータ70、紙送りモータ74等を駆動し、印刷を実行する(ステップS160)。
[3]ハーフトーン処理の概要:
上述したハーフトーン処理(ステップS130)について図3以下を用いて説明する。ハーフトーン処理の説明に先立って、本実施形態におけるブロックの概念について説明する。以下に説明するハーフトーン処理では、2×2画素を一つのブロックとし、ブロック単位で処理が行なわれる。図3は、このブロックと画素の関係を示す説明図である。図3(A)は、ブロック位置(Bny、Bnx)と画素位置(y,x)との関係を示している。ブロック番号と画素位置の関係は、各ブロックの左上の画素を例に取ると、
y=2・Bny
x=2・Bnx
となる。
図3(B)は、一つのブロック内に含まれる2×2の画素の処理順序を示している。ブロック内の左上(PT=1)、右上(PT=2)、左下(PT=3)、右下(PT=4)の順である。以下の説明では、画素を符号PTによって特定するが、実際の画素位置との対応は、図3(C)に示したように、
PT=1:(y,x) =(2・Bny,2・Bnx)
PT=2:(y,x+1) =(2・Bny,2・Bnx+1)
PT=3:(y+1,x) =(2・Bny+1,2・Bnx)
PT=4:(y+1,x+1)=(2・Bny+1,2・Bnx+1)
となる。
図4は、第1実施形態におけハーフトーン処理の概要を示すフローチャートである。このハーフトーン処理は、画像左上隅を原点(x=0、y=0)として開始される。本実施形態では、画像の左上のブロック(0,0)から、処理するブロック位置を、主走査方向(x方向)に順次インクリメントして行ない、主走査方向の右端まで処理すると、副走査方向(y方向)の位置をインクリメントし、再度左端から順に行なう。副走査方向位置が同じである画素の並びを「ラスタ」とも言う。処理をブロック単位で行なうことから、本実施形態のハーフトーン処理は、2ラスタ分ずつ行なわれることになる。1ブロックの並び(2ラスタ)の処理が完了すると、次のブロックの並び(2ラスタ)の処理に移る。このため、以下の説明では、通常の座標表示とは異なり、処理中のブロック位置および画素の位置を(y,x)の順に示す。また、画素の位置については、ブロックの番号Bnを用いて表すことがある。ブロックの開始位置(0,0)と画素の開始位置(0,0)は、何れも画像の左上である。
図4に示したハーフトーン処理が開始されると、まずブロック位置(Bny,Bnx)の画像データを読み出す処理を行なう(ステップS131)。読み出される画像データは、色変換前の画像データORGである。具体的には、そのブロック位置(Bny,Bnx)の4つの画素それぞれのRGBデータである。各画素のRGBデータを、R[PT]G[PT]B[PT]として表す。各画素の各色を8ビットで表すとすれば、8ビット×3色×4画素=96ビットのデータである。RGBの組合せにより、種々の色が表現可能であるが、本実施形態においては、特別色と通常色とを区別して処理を行なう。そこで、特別色と通常色との意味について説明する。
[4]ハーフトーン処理の詳細:
本実施形態では、原画像の色のうち、1以上の色を特別色として扱う。本実施形態では、黒色を特別色として扱い、それ以外の色を通常色として扱う。特別色は、本発明における第1種色の下位概念に相当し、通常色は、本発明における第2種色の下位概念に相当する。何を特別色にするかは、ハーフトーンの目的により任意に決定することができる。本実施形態では、黒色を高画質で再現するという目的から、黒色を特別色とし、それ以外の色を通常色としたが、黒色と赤色を特別色としても差し支えない。あるいは他の色または色の組み合わせを、特別色として扱っても良い。特別色か否かの判断は、RGBの値が、予め決めた特定の範囲に含まれるか否かにより行なえば良い。本実施形態では、R=G=B=0の場合、これを特別色(黒色)として扱う。
次に、ステップS132で読み込んだブロック位置(Bny,Bnx)の4つの画素のデータを解析して、中間データを生成する処理を行なう(ステップS200)。この中間データ生成処理の詳細を図5に示した。中間データの生成処理では、まず代表色データを求める(ステップS210)。代表色データを求めるとは、通常色を代表するデータを求めることであり、特別色(R=G=B=0)の画素を除く画素のRGBデータの各色の平均値のデータRmGmBmを求めることに相当する。
Rm=(ΣR[PT])/4 PT=1、2、3、4
Gm=(ΣG[PT])/4 PT=1、2、3、4
Bm=(ΣB[PT])/4 PT=1、2、3、4
もとより、いずれかの画素PTが特別色であれば、上記演算式からは除かれるが、本実施形態での特別色は、黒色(R=G=B=0)なので、全ての画素PTについて、上記演算を行なって差し支えない。
次に、特別色の位置情報を求める処理を行なう(ステップS220)。具体的には、ブロック位置(Bny,Bnx)内の4つの画素PT(PT=1、2、3、4)について、黒色の画素が存在するかを調べ、黒色画素が存在する場合には、その位置を黒画素位置情報として、予め用意した変数BKp(画素毎に1ビットを割り当て、4画素で4ビットの変数)に記憶する。BKpの初期値は0(全ビット0)とし、特別色(黒色)画素が存在する画素位置に対応するビットを1にセットする。つまり、
初期値:BKp=0
左上画素(PT=1)が黒色画素ならば、 BKp = BKp + 1 // bit 0 セット
右上画素(PT=2)が黒色画素ならば、 BKp = BKp + 2 // bit 1 セット
左下画素(PT=3)が黒色画素ならば、 BKp = BKp + 4 // bit 2 セット
右下画素(PT=4)が黒色画素ならば、 BKp = BKp + 8 // bit 3 セット
を行なうのである。この4ビットの特別色位置情報BKpは、bit 0がブロック内の左上画素(PT=1)に対応しており、bit 3がブロック内の右下画素(PT=4)に対応しており、後述する中間データの一部を構成する。
次に代表インク量を求める処理を行なう(ステップS230)。代表インク量とは、代表色データを色変換したCMYKのインク量である。代表色データRmGmBmを、予め用意した3D−LUTなどを用いて、CMYKのインク量に変換する。3D−LUTは、各色8ビット、つまり255×255×255の格子点を持つものであれば、参照するだけで、代表インク量に変換することができるが、各色5ビット、つまり32×32×32程度の格子点のLUTを用いる場合には、格子点上にない代表色データについては四面体補間演算などを用いて、対応する4色の代表インク量に変換する。この結果、CMYKそれぞれについて8ビット、合計8ビット×4色=32ビットの代表色インク量CmMmYmKmが得られる。
こうして求められた代表インク量CmMmYmKmは、中間データの一部として扱われる。中間データのデータ構造を、図6に示した。図示するように、中間データは、代表インク量CmMmYmKm(8ビット×4色)と、ステップS220で求めた4ビットの特別色位置情報BKpとから構成される。なお、本実施形態では、特別色位置情報は、各画素1ビットの情報としたが、各画素2ビットの情報としても良い。この場合は、左上画素(PT=1)がビット0と1、右上画素(PT=2)がビット2と3、左下画素(PT=3)がビット4と5、右下画素(PT=4)がビット6と7のように、左上画素を起点として右方向に下位ビットから順に2ビットずつ割り付けて対応づければよい。この例を図7に示した。
以上説明した一つのブロックについての中間データの生成処理を、図8にまとめた。図8左上は、1つのブロック内の4つの画素がそれぞれRGBの画像データを持っており、そのデータを読み出す処理(ステップS132)に対応している。この各画素のRGBデータを平均化して、代表色データRmGmBmを求める(ステップS210)。また、ブロック内に黒色の画素があるかを調べ、黒色の画素があれば、特別色位置情報BKpの対応するビットを1にする(ステップS220)。
その上で、この特別色位置情報BKpと、代表色データRmGmBmを色変換(ステップS230)した代表インク量CmMmYmKmとを併せて、中間データとして保存される(ステップS240)。かかる処理では、通常色については、4つの画素をまとめたブロック(平均値)として扱うので、処理すべきデータ量を減らしている。他方、特別色については、画素位置だけの僅か4ビットの情報に逓減している。
こうして得られた中間データを、RAM52の所定の領域に保存する(ステップS240)。以上で、一つのブロックについての中間データが生成された。一つのブロックについての処理が完了すると、2ラスタ分の全ブロックの処理が完了したかを判断し(ステップS132)、完了していなければ、ブロック番号nxを値1だけインクリメントし(ステップS133)、つまりx方向に1ブロックだけ移動して、中間データ生成処理を繰り返す。
こうして2ラスタ分の全ブロックについての中間データの生成処理が完了すると、次に、中間データ取得・多値化処理(ステップS300)を行なう。中間データ取得・多値化処理の詳細を、図9に示した。第1実施形態の中間データ取得・多値化処理における多値化の処理は、実質的に2値化処理であるが、他の実施形態との共通性を優先して、第1実施形態でも「多値化」と呼ぶ。この処理が開始されると、まず2ラスタ分の全ブロックの最初の位置、つまりブロック(0,0)から、ブロック毎に次の処理を行なう。
〈1〉ステップS310:処理対象ブロックの代表インク量CmMmYmKmと特別色位置情報BKpを取得する処理
〈2〉ステップS320:ブロック内各画素のCMYKインク量を復元する処理
〈3〉ステップS330:ブロック内各画素の同じCMYKインク量をディザ法で2値化する処理
〈4〉ステップS340:ブロック内各画素毎の黒色インク量をディザ法で2地下する処理
以下、これらの処理の詳細について、図10を参考にしつつ説明する。まずステップS310では、処理対象ブロックの代表インク量CmMmYmKmと特別色位置情報BKpとを取得する。これらのデータは、先の中間データの生成処理(ステップS200)において、RAM52の所定の領域に保存されている。図10に示した例では、代表インク量CmMmYmKmは、それぞれCm=68,Mm=95,Ym=41,Km=64である。また特別色位置情報BKpは、bit2=1、つまりブロック内の左下が黒色画素であるとされている。
ステップS320では、この代表インク量CmMmYmKmと特別色位置情報BKpとから各各画素のCMYKインク量を復元する。復元は、黒色画素とされていない画素については代表インク量データCmMmYmKmを、黒色画素とされている画素には予め特別色インク量として用意した黒色画素用インク量CkMkYkKkを、それぞれ設定することにより行なわれる。詳細に記載すれば、
左上画素データ(PT=1)
BKp のビット0が1ならば、C00 = Ck, M00 =Mk, Y00=Yk, K00=Kk
BKpのビット0が0ならば、C00 = Cm, M00 =Mm, Y00=Ym, K00=Km
右上画素データ(PT=2)
BKp のビット1が1ならば、C01 = Ck, M01 =Mk, Y01=Yk, K01=Kk
BKp のビット1が0ならば、C01 = Cm, M01 =Mm, Y01=Ym, K01=Km
左下画素データ(PT=3)
BKp のビット2が1ならば、C10 = Ck, M10 =Mk, Y10=Yk, K10=Kk
BKp のビット2が0ならば、C10 = Cm, M10 =Mm, Y10=Ym, K10=Km
右下画素データ(PT=4)
BKp のビット3が1ならば、C11 = Ck, M11 =Mk, Y11=Yk, K11=Kk
BKp のビット3が0ならば、C11 = Cm, M11 =Mm, Y11=Ym, K11=Km
となる。
続くステップS330では、上記ステップS320で設定したCMYKインク量を用いて、ディザ法により2値化を行なう。黒色画素以外の全ての画素のCMYKインク量は同じ値なので、ディザ法による2値化は、ディザマスク61から2×2の閾値を取りだし、これとCMYKインク量とを比較することにより行なうことができる。図11に、こうしたディザマスク61の一例を示した。このディザマスク61は、x方向に256画素分、y方向に64画素分の大きさを持ち、各位置に、値1〜255の閾値を格納している。図11の(B)には、ディザマスク61の閾値との一部を拡大して示した。各閾値は、この閾値と画素のインク量とを比較して得られたドットの配置が、ブルーノイズ特性を示すように配置されている。
特別色位置情報BKpを参照して黒色画素でないと判断した画素については、その画素のCMYKインク量を、ディザマスクの閾値と比較することで、画素毎のインク色毎のドット形成の有無を判断する。ディザマスク61からの閾値は、ブロック位置(Bny,Bnx)に合わせてディザマスク61からの読み出し位置を移動しつつ読み出す。読み出し位置は、画像サイズをディザマスク61のサイズで除算した剰余数により定めることができる。各色についての判断を行なう際には、各インク毎に同じディザマスク61の同じ2×2の閾値を参照すると、インク色によらず同じ画素にドットが形成されやすくなるので、同じディザマスク61を用いる場合には、インク色毎に2×2の閾値を取り出してくる場所をずらすことが好ましい。あるいは、インク色毎に異なるディザマスク61を用いても良い。黒色画素以外の画素では、CMYKインク量は全て等しいので、2×2の閾値との比較は一度に行なっても良い。図10の右下欄に、CMYKインク量毎に2×2の閾値との比較を行なって、ドット形成の有無について判断した結果の一例を示した。
CMYKインク量についての判断に続けて行なわれる黒色インク量の2値化の処理(ステップS340)は、ステップS360の処理と同様だが、対象となる黒色のインク量Kは、黒色画素ではKkに、黒色画素以外ではKmとなる。黒色については、画素毎にインク量の値が異なる可能性があるので、画素毎に判断を行なう。なお、用いるディザマスク61は、他のインク色用のディザマスクと同じものでも良いし、異なるものでも良い。また読み出しの位置をずらすようにしても良い。
以上の処理により、一つのブロックについての中間データ取得・多値化処理が完了する。一つのブロックについての処理が完了すると、2ラスタ分の全ブロックの処理が完了したかを判断し(ステップS134)、完了していなければ、ブロック番号nxを値1だけインクリメントし(ステップS136)、つまりx方向に1ブロックだけ移動して、中間データ取得・多値化処理を繰り返す。
2ラスタ分の全ブロックの処理が完了すると(ステップS134:YES)、次に、全ラスタについての処理が完了したかを判断する(ステップS137)。全ラスタについての処理が完了していなければ、2ラスタ内でのブロック位置を初期化し(nx←0)、y方向に2ラスタ分だけ移動して(ny←ny+1)、上述した中間データ生成処理(ステップS200)と、中間データ取得・多値化処理(ステップS300)とを繰り返す(ステップS138)。全ラスタについて全ブロックの処理が完了すれば(ステップS137:YES)、「END」に抜けて処理を終了する。
既に図2を用いて説明したように、上記のハーフトーン処理の後、インターレース処理を行ない(ステップS150)、その後、印刷を実行する(ステップS160)。
以上説明した第1実施形態のプリンター20では、特別色として設定した黒色とそれ以外の普通色とでは、異なるハーフトーン処理を適用することができる。特に黒色に関しては、ハーフトーン処理を画素毎に行ない、普通色についてはブロック単位で処理を行なう。このため、黒色で表現されることが多い文字や輪郭線など、高画質であることを要求される色については、画素単位の処理による高画質を確保しつつ、通常色については2×2画素の平均値よりハーフトーン処理を行なうので、処理を簡略化でき、高速な処理を実現している。上記の実施形態によれば、中間データ生成処理において、中間データの一部をブロックを単位として生成しているので、色変換後の中間データの容量を、従来に比して低減できるという効果も奏する。
また、本実施形態では、特別色である黒色も普通色も、ハーフトーン処理付いてはディザ法を用い、ディザマスク61の閾値との比較により、ドットの形成の有無について判断している。このため、処理を単純化でき、誤差拡散などと比較して全体としても高速の処理を実現している。なお、黒色については誤差拡散を採用して、細線などの再現性を高めても良い。あるいは逆に普通色について誤差拡散を採用し、誤差拡散の利点とブロック単位での高速処理とを両立させても良い。
[5]第1実施形態の変形例:
〈1〉第1実施形態では、特別色として黒色のみを扱ったが、他の色、例えば赤色など、他の色を特別色として扱っても良い。あるいは黒と赤、黒と緑など、複数の色を特別色として扱っても良い。特別色はこうした原色である必要はなく、特定の色範囲を特別色として扱っても良い。例えば、肌色として定めた特定の色範囲を特別色として扱うとも差し支えない。
〈2〉上記実施形態では、特別色である黒色の画素も、ディザ法を適用してハーフトーンを行なったが、図10の最下欄に示したように、特別色画素位置情報BKpが設定されている画素に、黒インクのドットを形成すると決定するものとしても良い。原画像において対応する画素の色が黒(R=G=B=0)なので、黒色のドットを形成しても差し支えないと判断できるからである。こうすれば、ディザ法における閾値との判断処理を行なう必要がない。
〈3〉上記実施形態では、一つのブロックに属する画素は、2×2の4個としたが、2×4の8個としても良い。この場合、特別色位置情報は、8個分、つまり8ビット必要になるが、代表インク量は8画素分を代表することになるので、中間データの容量は低減できる。
〈4〉上記実施形態では、一つのプリンター20の内部で中間データを生成し記憶し復元したが、コンピュータにインストールされたプリンタドライバ側で中間データの生成を行ない、これをプリンター20に転送して、中間データの多値化を行なうものとしても良い。この場合、中間データは、元の画像データや多値化後のデータと比べて、データ量を低減できる場合があり、転送時間の短縮などに資することが可能となる。
〈5〉上記実施形態では、中間データ生成処理(ステップS200)を2ラスタに属する全てのブロックについて行なってから、中間データ取得・多値化処理(ステップS300)を行なった。これに対して、中間データの生成処理と中間データ取得・多値化処理とを一つのブロックについて連続的に行なう構成も採用可能である。上記実施形態では、ディザ法を用いており、ブロック間でのデータやり取りがないので、こうした処理を採用することができる。他方、上記実施形態では、2ラスタに属する全ブロックについての中間データの生成処理が完了してから、中間データ取得・多値化処理を実行するので、ブロック間での誤差拡散を少なくともx方向について行なうことが容易である。
(2)第2実施形態:
次に本発明の第2実施形態について説明する。第2実施形態は、ハーフトーン処理の中間データ取得・多値化処理(ステップS300)において、2値化ではなく多値化(具体的には4値化)を行なう点で、第1実施形態と異なっている。他の処理は原則として、第1実施形態と同じである。4値化した結果は、印刷ヘッド90によって、印刷媒体P上に、大中小の3種類のドットにより再現される。印刷ヘッド90は、1画素当たり、「大ドット」「中ドット」「小ドット」「ドットなし」の4階調を表現可能である。
第2実施形態では、第1実施形態と同様に、印刷処理(図2)およびハーフトーン処理(図3)を行なう。ハーフトーン処理では、第1実施形態と同様に、中間データの生成処理(ステップS200)を行ない、その後中間データ取得・多値化処理を行なう。第2実施形態では、この中間データ取得・多値化処理として図12に示した処理を行なう。この処理が開始されると、第1実施形態と同様、処理対象ブロックの代表インク量と特別色位置情報とを取得する処理を行なう(ステップS310)。ここで取得される代表インク量と特別色位置情報とは、第1実施形態で説明した中間データの生成処理(図5)により得られたインク量と情報(図8、図10参照)である。なお、図12の処理に合わせたハーフトーン処理の流れを、図13に例示した。以下、両図を参照して説明する。
代表インク量と特別色位置情報とを取得すると、次に大中小テーブル62を参照することにより、代表インク量を大中小データに変換する(ステップS315)。大中小データとは、代表インク量を、大中小の各ドットによって実現すべき割合として表すデータである。大中小テーブル62の一例を図14に示した。図14では、代表インク量CmMmYmKmの各々について、同じ大中小データを与えるテーブルとして示したが、このテーブルは色毎に異なるものとしても良い。図14では、シアンインクを例として、代表インク量Cmと大中小データとの関係として示した。
図14に示したように、代表インク量Cmが0近傍では、小ドットのみが形成され、代表インク量Cmが増加するにつれて、小ドットが形成される割合は増加する。ここでドットが形成される割合とは、同一の代表インク量Cmが続いた場合、つまりべた塗りの場合に、所定個数Ngの印刷画素に形成されるドット数Ndのバーセント(100×Nd/Ng)を言う。代表インク量Cmが所定の階調値である第1の階調値に達すると、中ドットの形成が始まって漸増し、これに合わせて小ドットが形成される割合は低下していく。同様に、代表インク量Cmが第1の階調値より大きな第2の階調値に達すると、大ドットの形成が始まって漸増し、これに合わせて中ドットが形成される割合は低下していく。小ドットが形成される割合をdata_s、中ドットが形成される割合をdata_m、大ドットが形成される割合をdata_l、としてそれぞれ表記し、更にこれらの値data_s,data_m,data_lを全て加えた値を、合計値data_tと表記する。代表インク量Cmに対する小中大ドットの形成の割合を示すこの関係は、大中小テーブル62として、EEPROM60に記憶されている。
ステップS315では、取得した代表インク量に基づいて、EEPROMに記憶された大中小テーブルを参照して、小中大ドットが形成される割合を示すデータdata_s,data_m,data_lを取得する。続いて、ブロック内の各画素をディザ連続を用いて4値化する処理を行なう(ステップS335)。
ディザ連続を用いた4値化の処理は、以下の通りである。
(A)一つのブロックに含まれる一つの画素について、CPU40は、まず大ドットを形成する割合を示すdata_lがディザマスク61の対応する位置の閾値THn_d以上であるかの判断を行ない、data_lが閾値THn_d以上であれば、その画素PTの結果値Result[PT]に大ドットを形成することを示す値3(2進数では「11」)を入れる。
(B)他方、data_lが閾値THn_d未満であれば、次に、data_lとdata_mとの合計値が、同じ閾値THn_d以上であるかの判断を行ない、data_l+data_mが閾値THn_d以上であれば、その画素PTの結果値Result[PT]に中ドットを形成することを示す値2(2進数では「10」)を入れる。
(C)更に、data_l+data_mが閾値THn_d未満であれば、次に、合計値data_tが、同じ閾値THn_d以上であるかの判断を行ない、data_tが閾値THn_d以上であれば、その画素PTの結果値Result[PT]に小ドットを形成することを示す値1(2進数では「01」)を入れる。
(D)上記のいずれの判断も「NO」であれば、その画素PTの判断結果Result[PT]に、いずれのドットも形成しないことを示す値0(2進数では「00」)を入れる。
(E)以上の処理を、画素位置と閾値とを変えて、つまりPT=1から4まで順次行なう。上記の処理により、4つの画素について得られた4つのResult[1]〜Result[4]は、2ビットずつ左シフトして足し合わせることにより、全部で8ビットのデータCresultとしてまとめることができる。例えば、シアンについて、左上画素(PT=1)に大ドット、右上画素(PT=2)に小ドット、左下画素(PT=3)に中ドットを形成すると判断され、右下画素(PT=4)にドットを形成しないと判断されたとすれば、多値化の結果を表すデータCresultは、「11 01 10 00」となる。
上記の処理を行なうことにより、処理対象のブロックについて、通常色に対応した4値化が、全ての画素について完了する。その後、ブロック内各画素毎の黒色インク量を多値化する処理を行なう(ステップS345)。特別色である黒色画素の多値化は、代表色インクと同様4値化でも良いが、もともと黒色画素(R=G=B=0)と判断されている場合には、黒インクにより大ドットを形成するとて閾値と比較する処理を省略しても良い。
かかる中間データ取得・多値化処理を行なう第2実施形態では、代表色インクについては4値化を行なうので、階調表現を豊かにすることができ、代表色インクによる画像の再現を高画質化することができる。しかもその場合、代表インク量は2×2画素の平均値に基づいているから、多値化する代表インク量はブロック当たり1つであり、処理を簡素化することができる。他方、特別色である黒色については、平均値ではなく、元の画素のデータを用いているので、画像の再現性に優れ、文字や輪郭線などを、高精度に再現することができる。従って、文字や輪郭線について、線切れなどの不具合を生じることが抑制される。
以上説明した第2実施形態において、第1実施形態において説明した変形例〈1〉ないし〈5〉を適用することも差し支えない。また4値化以外の多値化、例えば3値化、5値化以上などを適用しても良い。また、多値化は、大中小ドットのように、大きさの異なるドットを形成することにより実現する手法以外に、ライトシアンシンク、ライトマゼンタインクのような含有する染料の濃度が低濃度のインクを用いた手法、同じ染料濃度のインクを複数回吐出することにより実現する手法、あるいはこれらの組合せなど、いずれを用いても差し支えない。
(3)第3実施形態:
次に本発明の第3実施形態について説明する。第3実施形態のプリンター20は、第1実施形態のプリンター20と同様、図2、図4に記載の印刷処理およびハーフトーン処理を行なうが、このうち中間データ取得・多値化処理が異なる。第3実施形態では、図9に記載の中間データ取得・多値化処理に代えて、図15に記載の処理を行なう。両者の違いは、第3実施形態では、2×2画素からなるブロック全体について、同じ代表インク量、同じ黒色インク量であるとして、ハーフトーン処理を行ない、その後、両者の結果を合成するという処理を行なっている点である。以下、この処理について、図15を用いて詳しく説明する。
第3実施形態における中間データ取得・多値化処理が開始されると、まず第1実施形態と同様に、まず処理対象ブロックの代表インク量と特別色位置情報を取得する処理を行なう(ステップS310)。ここで取得される代表インク量と特別色位置情報とは、第1実施形態で説明した中間データの生成処理(図5)により生成されたインク量と情報(図8、図10参照)である。
続いて、取得した代表インク量CmMmYmKmと特別色位置情報BKpとから各各画素のCMYKインク量を復元する。復元は、第1実施形態では、黒色画素とされていない画素については代表インク量データCmMmYmKmを、黒色画素とされている画素には予め特別色インク量として用意した黒色画素用インク量CkMkYkKkを、それぞれ設定することにより行なわれたが、本実施形態では、黒色画素か否かの判断を行なわず、両方のデータを復元する。
即ち、全画素について、第1のインク量を
左上画素データ(PT=1)C00 = Cm, M00 =Mm, Y00=Ym, K00=Km
右上画素データ(PT=2)C01 = Cm, M01 =Mm, Y01=Ym, K01=Km
左下画素データ(PT=3)C10 = Cm, M10 =Mm, Y10=Ym, K10=Km
右下画素データ(PT=4)C11 = Cm, M11 =Mm, Y11=Ym, K11=Km
として求め、他方、第2のインク量を、
左上画素データ(PT=1)C00 = Ck, M00 =Mk, Y00=Yk, K00=Kk
右上画素データ(PT=2)C01 = Ck, M01 =Mk, Y01=Yk, K01=Kk
左下画素データ(PT=3)C10 = Ck, M10 =Mk, Y10=Yk, K10=Kk
右下画素データ(PT=4)C11 = Ck, M11 =Mk, Y11=Yk, K11=Kk
として求める。
第1のインク量は、ブロック内の各画素の平均を取った代表インク量に等しい。第2のインク量は、ブロック内の全ての画素が特別色である黒色画素であったと仮定した場合のインク量に等しい。こうして、第1,第2のインク量を求めた上で、それぞれについてディザ法により2値化を行なう(ステップS355,S365)。ディザ法を用いた2値化の手法は、第1実施形態と同じである。
第3実施形態のステップS355,S365における2値化の判断とその結果の記録形式を、シアンを例にとって以下に示す。以下において、thresh(PT)は画素PTに対応した閾値を表す。またCm_result およびCk_result は、それぞれ2値化の結果を記憶する結果値である。ステップS355では、まず、この結果値Cm_result を初期化(Cm_result = 0)する。その上で、
Cm > thresh(1)ならば、Cm_result = Cm_result + 1 (左上ドットON)
Cm > thresh(2)ならば、Cm_result = Cm_result + 2 (左上ドットON)
Cm > thresh(3)ならば、Cm_result = Cm_result + 4 (左上ドットON)
Cm > thresh(4)ならば、Cm_result = Cm_result + 8 (左上ドットON)
の判断とCm_result の設定とを行なう。
他方、ステップS365では、同様に、結果値Ck_resultの初期化(Ck_result = 0)を行ない、更に、
Ck > thresh(1)ならば、Ck_result = Ck_result + 1 (左上ドットON)
Ck > thresh(2)ならば、Ck_result = Ck_result + 2 (左上ドットON)
Ck > thresh(3)ならば、Ck_result = Ck_result + 4 (左上ドットON)
Ck > thresh(4)ならば、Ck_result = Ck_result + 8 (左上ドットON)
の判断とCk_resultの設定とを行なう。
以上の処理は、1つのCPU40により順次行なっても良いし、並列処理可能なCPUを用いて並列に行なっても良い。その上で、続いて、両方の2値化の処理結果を合成する処理を行なう(ステップS370)。具体的には、以下のように合成し、その結果を、結果値C_resultに保存する。
C_result = (Cm_result & (~BKp)) + (Ck_result & BKp )
ここで、「&」は論理積演算子であり、「~」は反転演算子である。BKpは特別色位置情報であって、その画素が特別色である黒色画素(R=G=B=0)であれば値1、黒色画素でなければ値0に設定されているので、結局上記演算は、黒色画素については結果値Ck_resultを、黒色画素でなければ結果値Cm_resultを、それぞれ採用することに相当する。4つの画素についての結果値は、画素位置に応じて値1、2、4または8を加えることでシフトされているので、結果的にシアンについては、2×2画素についての結果値が8ビットのデータとして得られることになる。同様の処理をマゼンタM、イエロY、ブラックKについても行ない、最終的な全インクについて合成結果を得る(ステップS370)。
以上説明した第3実施形態では、各画素が特別色である黒色画素であるか否かによって、画素毎のインク量の値を変えると言った処理を行なう必要がない。全ての画素が代表インク量である第1のインク量である場合と黒色画素に対応した第2のインク量である場合とについて、それぞれディザ法による2値化を行ない、その結果に対して、単純な論理積演算と加算とを行なっているに過ぎない。このため、演算回数自体は増えるものの、黒色画素が否かの判断を行なう必要がなく、CPU40のサイクルタイムで考えた場合、トータルの処理時間を短くすることが可能となる。また、分岐判断がないので、中間データ取得・多値化処理を複数のデバイスにより並列に処理することも容易となる。また、分岐がないことで、パイプライン処理を行なった場合、十分な効率を引き出すことができる。
更に、黒色画素についての第2のインク量が、Ck=Mk=Yk=0、Kk=255のように、黒色ドットの形成確率が100%であるような場合には、ステップS365の処理を省くことも可能である。この場合には、更に処理時間を短縮することができる。
(4)第4実施形態:
次に、本発明の第4実施形態について説明する。第4実施形態は、複数の画素からなるブロック内のハーフトーン処理を、予め定めたテープルを利用したエンコード処理およびデコード処理の組合せにより高速に実現するものである。この手法は、特開2006−5899に記載の手法と同じなので、以下図16ないし図21を用いて、簡明に説明する。
第4実施形態でも、プリンター20の基本構成および画像処理(図2)、ハーフトーン処理(図4)については、基本的に同一である。但し、第4実施形態では、1ブロックに含まれる画素を、y方向に2画素、x方向に4画素とし、中間データ生成処理おいて(図5)、中間データを保存する際(ステップS240)、以下に説明するエンコードを施して保存している。従って、第4実施形態では、1ブロックに含まれる画素数は、2×4=8画素となる。このため中間データ生成処理では、8つの画素の階調値の平均を求めてこれを代表インク量としており、特別色位置情報についても8ビットの情報として求めている。また、各画素には、第2実施例と同様に、大中小のドットが形成可能であり、ドットなしを含めた4値化を行なって、画素毎に4階調を表現可能である。もとより、1ブロックを2×2画素としたり、4値化に代えて2値化等によっても実施可能である。なお、後述する様に、本実施形態では画素毎には4値化しているが、2×4画素のブロックを単位としてみた場合には、15値化など、更なる多値化を行なっている。この点は、後で詳しく説明する。
第4実施形態における中間データ取得・多値化処理(図16)を説明する前に、中間データ生成処理において中間データを保存する際のエンコードについて説明する。中間データの生成処理(図5)では、2×4画素のブロック毎に、普通色についての各画素のインク量の平均値を求め、これを代表インク量として、特別色位置情報と共に保存している(図5、ステップS240)。このとき、第4実施形態では、代表インク量をそのまま保存するのではなく、分類番号とその多値化結果値との組み合わせにエンコードして記憶している。実際には、分類番号は、以下に説明するように、ブロック位置(Bny,Bnx)と一意に対応付けられているので、現在処理しているブロックの位置が分かっていれば、多値化結果値のみを記憶しておくだけで良い。多値化結果値は、ブロックが2×4画素であれば5ビット、ブロックが2×2画素であれば4ビットで足りるので、中間データの保存に要する記憶容量を低減することができる。
ここで分類番号とは、図11(A)に示した大きなサイズのディザマスク61に基づいて得られた番号であり、処理しているブロックに付与される番号である。図11に示したディザマスク61は、y方向に64画素、x方向に256画素分の大きさを有する。このディザマスクから、図11(B)に示したように、2×4の閾値群を取り出すと、
(64÷2)×(256÷4)=2048
つまりこのサイズのディザマスク61を用いると、全部で2048種類の閾値群を取り出すことができる。これらの閾値群に含まれる閾値の組合せは基本的にユニークなものである。そこでこの閾値群に、ディザマスク61の左上(0,0)から順に番号を付与したものが、分類番号である。他方、原画像は、ディザマスクより大きいので、あるブロック位置(Bny,Bnx)に、ディザマスク61との対応関係を用いて分類番号CN[Bny,Bnx]を付与するとは、
CN[Bny,Bnx]=64×{Bny}+{Bnx}+1 …(1)
を求めることになる。ここで演算子{S}とは、変数Sを2進数で表現した場合の下位のTビットを取り出すことを意味している。{Bny}とは、ブロックのy方向の番号の2進数の下5桁を表すので、10進数の0〜31に相当し、{Bnx} は同じくブロックのx方向の番号の2進数の下6桁を芦原すので、10進数の0〜63に相当する。例えば、ブロック位置(7,3)であれば、ディザマスク61の対応位置は、図11(B)に示したように、閾値群の左上の座標で、y=14、x=6であり、分類番号CN(7,3)は、
CN(7,3)=64×7+3+1=452
となる。
更に、1つの閾値群には8つの閾値が含まれるが、この閾値を利用して、図14に示した大中小テーブルと組み合わせて大中小ドットを配置すると、1つの閾値群に関して15から多くて31程度の階調表現が可能となる。つまり、8つの画素に1つもドットが形成されない状態から全ての画素に大ドットが形成される状態までの間に、ディザ連続の考え方で大中小ドットを配置すると、最大で31の階調表現が可能となる。8つの画素に大中小の3種類のドットをそれぞれ0個から8個まで配置する組合せは全部で164通りあるが、閾値との組合せでは、実際に取り得る組合せはたかだか31程度しかない。とはいえ、閾値の値により階調の切換が生じる階調値の組み合わせはそれぞれ異なる。
図18は、代表インク量が増加するに従って多値化結果値が段階的に増加していく様子を例示した説明図である。図では、横軸に代表インク量を取り、縦軸の多値化結果値を取った折れ線グラフを用いて、代表インク量に対する多値化結果値を表示している。尚、図中では、異なる分類番号N1〜N5を有する5つのブロックについての多値化結果を示しているが、これらブロックの折れ線が重なって判別し難くなることを避けるために、多値化結果値の原点位置を縦軸方向に少しずつ、ずらして表示している。
一例として、図中に太い実線で示した分類番号N1番のブロックについて説明すると、代表インク量が0〜4の範囲では、多値化結果値は「0」であるが、代表インク量が5〜20の範囲では多値化結果値は「1」に増加する。次いで、代表インク量が21〜42の範囲では多値化結果値は「2」に増加し、代表インク量が43〜69の範囲では多値化結果値は「3」に増加する。このように、代表インク量が増加するに従って、多値化結果値も段階的に増加していき、最終的には、多値化結果値は「15」まで増加する。すなわち、分類番号N1番のブロックについては、階調値0〜255の範囲を取り得る代表インク量を、階調値0〜15までの16段階に多値化(言わば、16値化)していることになる。多値化結果値の切り換えは、ディザマスク61の閾値の組み合わせと大中小テーブルにより決定される。
同様に、図中で太い破線で示した分類番号N2番のブロックや、太い一点鎖線で示した分類番号N3番のブロックについては、階調値0〜255の範囲を取り得る代表インク量を、階調値0〜17までの18段階に多値化(言わば、18値化)している。更に、細い実線で示した分類番号N4番のブロックおよび細い一点鎖線で示した分類番号N5番のブロックについては、代表インク量を階調値0〜20までの21段階に多値化(言わば、21値化)していることになる。このように、本実施形態では、各ブロックの多値化の段数(多値化の結果として取り得る状態数)が同じではなく、ブロックの分類番号に応じて固有の段数で多値化されている。この結果、同じ代表インク量を多値化した場合でも、ブロックの分類番号が異なれば、多値化の段数が異なることになり、異なる多値化がなされることになる。
図17に示した多値化テーブルには、代表インク量に対する多値化結果値がブロックの分類番号毎に記憶されている。そして、代表インク量と多値化結果値との対応関係は、図18に示したように、分類番号毎に固有の対応関係となっている。そこで、中間データの生成処理において中間データを保存する際、各ブロックに付与される分類番号とそのブロックの代表インク量により決定される多値化結果値とを組み合わせて、つまりエンコードしてデータを保存するのである。図17を例にとれば、ブロック番号(0,3)、代表インク量が254であれば、上記式(1)に従って、CN=4、多値化結果値GP=19となる。分類番号は、式(1)に示したようにブロック位置(Bny,Bnx)と一意に対応しており、かつ処理しているブロック位置が分かっているので、実際には多値化結果値GPのみ記憶すれば良い。多値化結果値は、たかだか31(5ビット)の値なので、代表インク量をそのまま保存するより、データ量を低減することができる。
こうして中間データの生成処理において、各ブロックの代表インク量を多値化結果値として保存した状態で、次に、図16に示した中間データ取得・多値化処理を開始する。この処理が開始されると、まず処理対象ブロックの多値化結果値と特別色位置情報とを取得する(ステップS410)。その後、処理対象となっているブロックに対応した分類番号を、上述した式(1)から特定する処理を行なう(ステップS420)。分類番号はブロックの位置から一意に求められる。
次にブロックの分類番号と多値化結果値とに基づいてデコードを行ない、ドット個数を表わすデータに変換する(ステップS430)。ここで行なうデコードは、図17に示したエンコードに対応した処理であり、図19に示したテーブルを用いて、そのブロックに形成するドット個数を表わすデータを求める処理である。
図19は、ブロックの分類番号と多値化結果値との組合せを、ドット個数を示すデータに変換する際に参照される変換テーブルを概念的に示した説明図である。このテーブルは、ブロックに割り当てられる分類番号と多値化結果値とからドット個数を求めるデコード用のテーブルである。
図19に示されているように、変換テーブルには、多値化結果値に対応するドット個数のデータが、分類番号毎に設定されている。一例として、分類番号1番のブロックについて説明すると、多値化結果値「0」に対しては、ドット個数のデータとして「0」が設定されている。このドット個数データ「0」は、大ドット、中ドット、小ドットの形成個数がいずれも0個であることを表したコードデータである。また、多値化結果値「1」に対しては、ドット個数のデータとして「1」が設定されている。ドット個数データ「1」は、大ドット、中ドットの形成個数は0個であり、小ドットの形成個数が1個であることを表すコードデータである。更に、多値化結果値「15」に対してはドット個数データ「164」が設定されている。ドット個数データ「164」は、大ドットを8個形成し、中ドットおよび小ドットは形成しないことを表すコードデータである。
このように、変換テーブルには、ドット個数を示すデータはコード化されたデータとして設定されている。すなわち個数データは、直接的にドット個数を表すものでなくても、何らかの方法で、ドット個数を特定可能であれば、どのような形態のデータとすることもできる。
図20は、コード化された個数データと、各コードデータが表す大ドット・中ドット・小ドットの個数の組合せとの対応関係を示した説明図である。このように、各種ドットの個数をコード化して扱っているのは、次のような理由によるものである。
ここでは、1つのブロックは8つの画素をまとめて構成されているものとしているから、大ドット、中ドット、小ドットの形成個数は、それぞれ0〜8個の値を取り得る。従って、各ドットの個数をコード化せずに、そのまま表現しようとすると、大ドットの個数、中ドットの個数、小ドットの個数を表すためにそれぞれ4ビットずつ、合計では12ビットのデータ量が必要となる。
一方、1つのブロックは8つの画素から構成されているから、ブロックに形成され得るドット個数の合計は、最大でも8個である。また、各画素についてみれば「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「ドットを形成しない」の4つの状態を取り得る。従って、ブロックに形成し得るドット個数の組合せは、これら4つの状態を、重複を許して8回選択した時の組合せの数に等しくなるから、
(=4+8−
によって求められ、結局、最大でも165通りの組合せしか出現しないことになる。ここで、は、n個の物の中から重複を許してr回選択するときの重複組合せ数を求める演算子である。また、は、n個の物の中から重複を許さずにr回選択するときの組合せ数を求める演算子である。165通りの組合せであれば、8ビットあれば表現することができる。従って、現実に発生し得るドット個数の組合せにコード番号を設定しておけば、ブロックに形成すべきドット個数の組合せを8ビットのデータで表すことができる。結局、ドット個数の組合せをコード化しておくことで、ドットの種類毎に形成個数を表した場合よりも、必要なデータ量を低減することが可能となる。このような理由から、個数データを図20に示したようにコード化して表現することとして、図19に示した変換テーブルでは、分類番号毎の多値化結果値に対して、コード化されたドット個数のデータが設定しているのである。
こうして分類番号と多値化結果値とから、そのブロックに形成すべきドットの個数を表わすデータに変換した後、ブロックに対応する順序値マトリックスを読み込む処理を行う(ステップS440)。ここで、順序値マトリックスとは、ブロック内の各画素について、ドットが形成される順番を設定したマトリックスである。図21は、順序値マトリックスを例示した説明図である。図示されているように、順序値マトリックスもブロックの分類番号毎に異なる。この順序値マトリックスは、一つのブロック内でのドットの形成のされやすさを示している。例えば、図21(B)に示した分類番号2番の順序値マトリックスでは、1番目にドットが形成される画素(順序値「1」の画素)は、下段の左から2番目の画素であり、2番目にドットが形成される画素(順序値「2」の画素)は、右下隅の画素である。図21(C)に示した分類番号3番の順序値マトリックスでは、1番目にドットが形成される画素(順序値「1」の画素)は、上段の右から2番目の画素であり、2番目にドットが形成される画素(順序値「2」の画素)は、左下隅の画素である。
こうした順序値マトリックスは、分類番号と対応しているディザマスクの2×4個の閾値群からその大小関係を取り出したものである。例えば図11(B)に示した分類番号452の閾値群であれば、その8つの閾値「4」「51」「102」「122」「180」「196」「252」「272」の並びの大小関係を抽出すれば、図21(D)に示すように、1列目左から順に、7→2→8→1、2列目左から順に4→6→3→5となる。
このように順序値マトリックスは、ブロックの分類番号によって異なったマトリックスとなっている。図21に例示した順序値マトリックスはブロックの分類番号に対応づけて、プリンター20のEEPROM60内に予め記憶されている。図16のステップS440では、ブロックの分類番号に対応する順序値マトリックスを、EEPROM60から読み出す。
ブロックに対応する順序値マトリックスを読み込んだら、次にブロック内におけるドット配置を決定する処理を行なう(ステップS450)。この処理は、ブロックについてデコードされた個数データ(図20)と順序値マトリックス(図21)とから、大中小ドットの配置を決定する処理である。この処理は、一つのブロックに形成すべき大中小ドットの数を特定し、そのブロックの順序値に従って、大ドットから順に配置するものである。例えば、コード化された個数データが160であれば、図20に示したように、大ドットが6個、中ドットが2個、小ドットが0個形成されるので、図21に例示した順序値マトリックスの一つに従い、順序値の小さな6個の画素(順序値1〜6)に大ドットを配置し、次に順序値の小さな2個の画素(順序値7、8)に中ドットを配置するのである。
以上の処理により、代表インク量に対応した大中小ドットの配置が決定される。なお、以上の説明は特定の一つの色についてのものであり、実際にはCMYKの4色について同様の処理が繰り返され、各色についての大中小ドットの配置が決定される。
他方、ステップS410で取得された特別色位置情報から、黒色画素についての多値化が行なわれる(ステップS470)。この処理は他の実施形態における処理と同様である。なお、ステップS470での処理は、第2実施形態で説明したように2値化でも良いが、黒色画素における明度に基づいて、4値化するものとしても良い。
こうして得られた代表インク量についての大中小ドットの配置(ステップS450)と、黒色画素についてのドット配置(ステップS470)とを合成し、最終的なドット配置を決定する(ステップS480)。合成の手法は第3実施形態で説明した方法と同様である。
以上に説明したように、第4実施形態では、複数の画素をまとめたブロックの代表インク量をエンコードして中間データを生成し、中間データ取得・多値化処理では、この中間データをデコードして、ドットの配置を決定している。従って、この実施形態では、他の実施形態と同様、特別色である黒色とそれ以外の普通色とのハーフトーン処理の画素数とハーフトーン処理の内容とは異ならせて、多値化を行なうことができる。しかも、中間データの生成に際しては、ブロックの分類番号と代表インク量とを求めて、図17に示すような多値化テーブルを参照するだけで直ちに多値化結果値を得ることができる。ブロックの分類番号も代表インク量も、前述したように極めて簡単に求めることができることから、ブロックにおける代表インク量の多値化結果値は極めて迅速に、しかも極めて簡素な処理によって求めることが可能となる。
加えて、多値化結果値は、ブロックあたり僅かなビット数(本実施形態では高々5ビット)で表現することができるので、代表インク量よりも、データ量を大幅に減少させることができる。このため、中間データのための記憶容量を低減することができる。
また、プリンター20は、ブロック毎の多値化結果値を受け取ると、これをブロック内に形成すべきドットの個数を示すデータに変換するが、この変換は、図19に示すような変換テーブルを参照するだけで、迅速に行うことができる。次いで、変換して得られたドット個数を示すデータと、順序値マトリックスとに基づいて、大ドット・中ドット・小ドットの形成有無を決定した後、ドットを形成して画像を印刷する。順序値マトリックスを参照すれば、大ドット・中ドット・小ドットを形成する画素も簡単に決定することができる。従って、全体として、ブロック毎の大中小ドットの配置を迅速に決定でき、延いては、迅速に画像を印刷することが可能となる。
加えて、本実施形態では、単に迅速に画像を印刷することができるだけでなく、黒色画素については十分な画質で画像を印刷することができる。また普通色については、多値化テーブルや、変換テーブル、および順序値マトリックスをディザマスクに基づいて設定していることから、そのドット配置に、ディザマスクの特性を反映させることができる。従って、ディザマスクに、いわゆるブルーノイズ、あるいはグリーンノイズと呼ばれる特性を持たせれば、ドットが良好に分散した高画質な画像を印刷することが可能となる。
上記第4実施形態では、中間データを保存する際、図17に示したエンコードテーブルを用いてエンコードした値を保存したが、中間データの生成処理では、体表インク量を保存しておき、中間データ取得・多値化処理において、エンコードとデコードを行なうようにしても良い。また全ての代表色について同じ手法を適用する必要はなく、色によってブロックの大きさを変えたり、エンコード・デコードテーブルの組合せを変更することも差し支えない。また、特開2006−5899に示された他のエンコードおよびデコード方法を適用することも、勿論可能である。
以上、第1ないし第4実施形態を用いて本発明の実施形態を説明したが、第1実施形態の変形例で説明したような変形は、他の実施形態においても可能である。また、特別色とそれ以外の色(普通色)とのハーフトーン手法は、様々な組み合わせが可能である。例えば特別色について誤差拡散を行なったり、第4実施形態におけるエンコード・デコードを用いた処理を特別色について行なったりすることも差し支えない。
本発明は、上記の実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々の態様で実施できることは勿論である。例えば、ブロックとして扱う画素数は、2×2や2×4以外の画素数であっても差し支えない。またブロックの形状は矩形に限らず、画像を埋め尽くせる形であれば、どのよう形でも差し支えない。更に、各ブロックに含まれる画素数は同一である必要はない。特別色は黒色に限らず、他の色でもよく、また複数の色の組み合わせを特別色として扱っても良い。異なるハーフトーン処理は2種類に限る必要はなく、特別色以外の色を更に複数に分け、それぞれに異なるハーフトーン処理を用意しても良い。あるいは複数の色を特別色とした場合には、色毎に異なるハーフトーン処理を用意しても良い。
20…プリンター
30…制御ユニット
40…CPU
41…入力部
42…ハーフトーン処理部
43…中間データ生成部
44…中間データ取得・多値化部
46…印刷部
51…ROM
52…RAM
60…EEPROM
61…ディザマスク
62…大中小テーブル
70…キャリッジモータ
71…駆動ベルト
73…摺動軸
74…モータ
75…プラテン
80…キャリッジ
82…インクカートリッジ
90…印刷ヘッド
98…メモリカードスロット
99…操作パネル
BKp…特別色画素位置情報

Claims (18)

  1. 原画像を複数のインクを用いた表現に変換する画像処理装置であって、
    予め定めた第1のハーフトーン処理を行なう第1ハーフトーン部と、前記第1のハーフトーン処理とは異なる第2のハーフトーン処理を行なう第2ハーフトーン部とを備え、
    前記第2ハーフトーン部は、前記原画像を構成する複数の色のうち、予め定めた一または複数の色である第1種色以外の色である第2種色ついて、前記原画像を構成する画素を複数個ずつまとめたブロックを単位として、前記第2のハーフトーン処理を行ない、前記複数のインクのうちの前記第2種色に対応したインクである第2種インクのインク量に変換し、
    前記第1ハーフトーン部は、前記第1種色について、前記原画像を構成する各画素または前記ブロックを構成する画素数より少ない数の画素群毎に、前記第1のハーフトーン処理を行ない、前記複数のインクのうちの前記第1種色に対応した第1種インクのインク量に変換する
    画像処理装置。
  2. 前記第1ハーフトーン部が行なう前記第1のハーフトーン処理は、前記第2ハーフトーン部が行なう前記第2のハーフトーン処理より高画質の処理である請求項1記載の画像処理装置。
  3. 前記第1種色は少なくとも黒色を含む請求項1または請求項2記載の画像処理装置。
  4. 前記第1種色は黒色のみである請求項3記載の画像処理装置。
  5. 前記第1のハーフトーン処理は、
    前記第1種色の階調値に基づいて第1種色に対応した第1種インクによるドットを形成するか否かを直接定める処理である
    請求項1から請求項4のいずれか一項に記載の画像処理装置。
  6. 前記第2ハーフトーン部が行なう前記第2のハーフトーン処理は、前記第1ハーフトーン部が行なう前記第1のハーフトーン処理より高速の処理である請求項1記載の画像処理装置。
  7. 前記第2のハーフトーン処理は、
    ディザマスクに格納された閾値と前記ブロックを毎に前記第2種色の階調値とを比較する処理である
    請求項6記載の画像処理装置。
  8. 前記第2ハーフトーン部は、前記第2種色について、前記ブロック内の前記複数個の画素の平均値をもちいて処理を行なう請求項1から請求項7のいずれか一項に記載の画像処理装置。
  9. 前記第1ハーフトーン部は、前記第1種色について、前記ブロック内のいずれかの画素に前記第1種色が存在するかの判断を行ない、前記第1種色が存在する画素についてのみ、前記第1のハーフトーン処理を行なう請求項1から請求項5のいずれか一項に記載の画像処理装置。
  10. 前記原画像の全画素について、前記第1ハーフトーン部による前記第1のハーフトーン処理および前記第2ハーフトーン部による前記第2のハーフトーン処理を行ない、処理結果である前記第1種色に対応したインクのインク量が零でない画素については、前記第2種インクのインク量を、前記第1種インクのインク量で置き換える請求項1から請求項8のいずれか一項に記載の画像処理装置。
  11. 請求項1から請求項8のいずれか一項に記載の画像処理装置であって、
    第1ハーフトーン部は、前記ブロック内のいずれかの画素に前記第1種色が存在する場合には、前記全画素が前記第1種色であるとして前記第1のハーフトーン処理を行ない、
    更に、前記第1種色が存在する画素位置に基づいて、前記第1のハーフトーン処理の結果と、前記第2ハーフトーン部による前記第2のハーフトーン処理の結果とを合成して、前記画像処理の結果を求めるハーフトーン処理結果合成部を備える
    画像処理装置。
  12. 請求項1から請求項11のいずれか一項に記載の画像処理装置であって、
    前記原画像における一方向への画素の配列であるラスタを、前記第2ハーフトーン部が扱う前記ブロックを少なくとも一つ含みうる数だけ束ねて処理ラスタとする第1処理と、
    前記ブロックを単位とした前記第2種色の階調データを対応する第2種インクのインク量に変換したインク量と、前記各画素または前記ブロックを構成する画素数より少ない数の画素群毎の前記第1種色に対応した第1種インクのインク量とを組み合わせた中間データを、前記処理ラスタ毎に生成する第2処理とを、行ない、
    前記中間データを、前記第1,第2ハーフトーン部に処理させることにより、前記第1種インクおよび第2種インクのインク量に対応したドットの形成の有無を表すドットデータを生成する
    画像処理装置。
  13. 前記第2処理において生成される中間データを、ブロックを単位とした第2種色の階調データを対応する第2種インクのインク量に変換したインク量を、更に前記ブロックに形成されるドット数および前記ブロック内におけるドット位置の情報にエンコードした形態で記憶する請求項12記載の画像処理装置。
  14. 前記ブロックより大きなディザマスクを準備し、
    前記エンコードを、前記ディザマスクに含まれる閾値であって前記ブロックに含まれる画素の数に対応した数の閾値と前記第2種インクのインク量との比較結果を符号化することにより行なう請求項13記載の画像処理装置。
  15. 前記ブロックより大きなディザマスクを準備し、
    前記エンコードを、前記ディザマスクに含まれる閾値であって前記ブロックに含まれる画素の数に対応した数の閾値の大小を序列化した情報と、前記第2種インクのインク量に基づき判断した前記ブロック内に形成すべきドット数との組合せによって行なう請求項13または請求項14記載の画像処理装置。
  16. 原画像を複数のインクを用いて印刷する印刷装置であって、
    予め定めた第1のハーフトーン処理を行なう第1ハーフトーン部と、前記第1のハーフトーン処理とは異なる第2のハーフトーン処理を行なう第2ハーフトーン部と、前記第1,第2ハーフトーン部のハーフトーン結果であるインク量に基づいてドット形成を行なうドット形成部とを備え、
    前記第2ハーフトーン部は、前記原画像を構成する複数の色のうち、予め定めた一または複数の色である第1種色以外の色である第2種色ついて、前記原画像を構成する画素を複数個ずつまとめたブロックを単位として、前記第2のハーフトーン処理を行ない、前記複数のインクのうちの前記第2種色に対応したインクである第2種インクのインク量に変換し、
    前記第1ハーフトーン部は、前記第1種色について、前記原画像を構成する各画素または前記ブロックを構成する画素数より少ない数の画素群毎に、前記第1のハーフトーン処理を行ない、前記複数のインクのうちの前記第1種色に対応した第1種インクのインク量に変換し、
    前記ドット形成部は、前記第1,第2ハーフトーン部が変換した前記インク量に対応した数のドットを前記インク毎に形成することにより、前記原画像に対応した画像を記録する
    印刷装置。
  17. 原画像を複数のインクを用いた表現に変換する画像処理方法であって、
    予め定めた第1のハーフトーン処理を行なう第1ハーフトーン処理工程と、前記第1のハーフトーン処理とは異なる第2のハーフトーン処理を行なう第2ハーフトーン処理工程とを備え、
    前記第2ハーフトーン処理工程は、前記原画像を構成する複数の色のうち、予め定めた一または複数の色である第1種色以外の色である第2種色ついて、前記原画像を構成する画素を複数個ずつまとめたブロックを単位として、前記第2のハーフトーン処理を行ない、前記複数のインクのうちの前記第2種色に対応したインクである第2種インクのインク量に変換し、
    前記第1ハーフトーン処理工程は、前記第1種色について、前記原画像を構成する各画素または前記ブロックを構成する画素数より少ない数の画素群毎に、前記第1のハーフトーン処理を行ない、前記複数のインクのうちの前記第1種色に対応した第1種インクのインク量に変換する
    画像処理方法。
  18. 原画像を複数のインクを用いて印刷する印刷方法であって、
    予め定めた第1のハーフトーン処理を行なう第1ハーフトーン処理工程と、前記第1のハーフトーン処理とは異なる第2のハーフトーン処理を行なう第2ハーフトーン処理工程と、前記第1,第2ハーフトーン処理工程におけるハーフトーン結果であるインク量に基づいてドット形成を行なうドット形成工程とを備え、
    前記第2ハーフトーン処理工程は、前記原画像を構成する複数の色のうち、予め定めた一または複数の色である第1種色以外の色である第2種色ついて、前記原画像を構成する画素を複数個ずつまとめたブロックを単位として、前記第2のハーフトーン処理を行ない、前記複数のインクのうちの前記第2種色に対応したインクである第2種インクのインク量に変換し、
    前記第1ハーフトーン処理工程は、前記第1種色について、前記原画像を構成する各画素または前記ブロックを構成する画素数より少ない数の画素群毎に、前記第1のハーフトーン処理を行ない、前記複数のインクのうちの前記第1種色に対応した第1種インクのインク量に変換し、
    前記ドット形成工程では、前記第1,第2ハーフトーン処理工程により変換された前記インク量に対応した数のドットを前記インク毎に形成することにより、前記原画像に対応した画像を記録する
    印刷方法。
JP2015077397A 2015-04-06 2015-04-06 画像処理装置、印刷装置、画像処理方法および印刷方法 Active JP6613597B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015077397A JP6613597B2 (ja) 2015-04-06 2015-04-06 画像処理装置、印刷装置、画像処理方法および印刷方法
US15/079,408 US9832350B2 (en) 2015-04-06 2016-03-24 Image processing apparatus, printing apparatus, image processing method, and printing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015077397A JP6613597B2 (ja) 2015-04-06 2015-04-06 画像処理装置、印刷装置、画像処理方法および印刷方法

Publications (2)

Publication Number Publication Date
JP2016197827A true JP2016197827A (ja) 2016-11-24
JP6613597B2 JP6613597B2 (ja) 2019-12-04

Family

ID=57016198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015077397A Active JP6613597B2 (ja) 2015-04-06 2015-04-06 画像処理装置、印刷装置、画像処理方法および印刷方法

Country Status (2)

Country Link
US (1) US9832350B2 (ja)
JP (1) JP6613597B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462331B2 (en) 2018-01-16 2019-10-29 Seiko Epson Corporation Image processing method and apparatus, and printing apparatus, with dither result application level control
JP2020093532A (ja) * 2018-11-30 2020-06-18 株式会社リコー 液体吐出装置、プログラムおよび吐出制御方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6472336B2 (ja) * 2014-06-18 2019-02-20 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US11288558B2 (en) 2018-10-31 2022-03-29 Hewlett-Packard Development Company, L.P. Dithering based color conversion
WO2020111199A1 (en) * 2018-11-30 2020-06-04 Ricoh Company, Ltd. Liquid ejection device, program and ejection control method
JP2021193771A (ja) * 2020-06-08 2021-12-23 セイコーエプソン株式会社 画像処理装置、印刷装置、印刷システムおよび画像処理方法
CN114236986A (zh) * 2021-12-28 2022-03-25 珠海奔图电子有限公司 图像浓度校正方法、设备终端及图像形成装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307720A (ja) * 1995-05-12 1996-11-22 Seiko Epson Corp カラー画像の階調数変換方式及び方法
JP2002262089A (ja) * 2001-03-05 2002-09-13 Seiko Epson Corp ハーフトーン処理装置及びハーフトーン処理方法
JP2006065459A (ja) * 2004-08-25 2006-03-09 Seiko Epson Corp 画像処理を並列処理で実行する際の負荷の割り付け
JP2011135265A (ja) * 2009-12-24 2011-07-07 Seiko Epson Corp 印刷制御装置、印刷制御方法およびコンピュータープログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004086749A1 (ja) 2003-03-27 2004-10-07 Seiko Epson Corporation 画像出力制御システム、画像処理装置およびその方法
US7436559B2 (en) * 2004-03-01 2008-10-14 Seiko Epson Corporation Load assignment in image processing by parallel processing
JP4170353B2 (ja) * 2005-09-14 2008-10-22 シャープ株式会社 画像処理方法、画像処理装置、画像読取装置、画像形成装置、プログラムおよび記録媒体
JP5853650B2 (ja) 2011-11-30 2016-02-09 セイコーエプソン株式会社 印刷システム及び印刷システム用プログラム
JP5983211B2 (ja) * 2012-09-07 2016-08-31 ブラザー工業株式会社 制御装置、および、プログラム
JP6130272B2 (ja) * 2013-08-29 2017-05-17 株式会社Screenホールディングス 画像データ生成方法、画像記録方法、画像データ生成装置および画像記録装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307720A (ja) * 1995-05-12 1996-11-22 Seiko Epson Corp カラー画像の階調数変換方式及び方法
JP2002262089A (ja) * 2001-03-05 2002-09-13 Seiko Epson Corp ハーフトーン処理装置及びハーフトーン処理方法
JP2006065459A (ja) * 2004-08-25 2006-03-09 Seiko Epson Corp 画像処理を並列処理で実行する際の負荷の割り付け
JP2011135265A (ja) * 2009-12-24 2011-07-07 Seiko Epson Corp 印刷制御装置、印刷制御方法およびコンピュータープログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462331B2 (en) 2018-01-16 2019-10-29 Seiko Epson Corporation Image processing method and apparatus, and printing apparatus, with dither result application level control
JP2020093532A (ja) * 2018-11-30 2020-06-18 株式会社リコー 液体吐出装置、プログラムおよび吐出制御方法
JP7415431B2 (ja) 2018-11-30 2024-01-17 株式会社リコー 液体吐出装置、プログラムおよび吐出制御方法
US11897272B2 (en) 2018-11-30 2024-02-13 Ricoh Company, Ltd. Liquid ejection device, program and ejection control method

Also Published As

Publication number Publication date
US20160295077A1 (en) 2016-10-06
JP6613597B2 (ja) 2019-12-04
US9832350B2 (en) 2017-11-28

Similar Documents

Publication Publication Date Title
JP6613597B2 (ja) 画像処理装置、印刷装置、画像処理方法および印刷方法
JP4975002B2 (ja) 画像処理装置、画像形成装置および画像処理方法
US8849021B2 (en) Image processing apparatus, method, and storage medium for high speed compression processing
JP3823424B2 (ja) 画像処理装置および画像処理方法
JP6029305B2 (ja) 画像処理装置およびその制御方法
US7656558B2 (en) Image processing system, image processing device, image output device, and method and program product therefor
US20110032554A1 (en) Image processing apparatus
JP4626473B2 (ja) 画像処理装置、画像出力装置および方法
JP2003178277A (ja) 2次元コード,2次元コードの作成方法、2次元コードの復号方法,それらの方法を実行する装置、それらの方法をコンピュータで実行する為のプログラム、及び、そのプログラムを記録したコンピュータ読み取り可能記録媒体
US7339703B2 (en) Image processing apparatus and method thereof
JP6252003B2 (ja) 印刷装置、印刷方法、画像処理装置およびプログラム
JP6390405B2 (ja) 印刷装置、印刷方法、プログラム、および画像処理装置
JP2004350257A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP4535978B2 (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JP4225319B2 (ja) 画像出力制御システム、画像処理装置およびその方法
JP4274030B2 (ja) 画像出力システム、画像処理装置、画像出力装置およびそれらの方法
JP4127281B2 (ja) 画像処理装置および画像処理方法
JP2005224983A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP2006014039A (ja) 複数画素ずつ多値化を行いながら画像を出力する画像出力システム
JP4059121B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP4343157B2 (ja) 画像処理装置および画像処理方法
US20100027074A1 (en) Partition halftone for multi-tone level output device
JP2019142144A (ja) 画像形成装置、画像形成方法、画像処理装置、および画像処理方法
JP2005295131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2016163080A (ja) 印刷装置、印刷方法、画像処理装置、コンピュータープログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190828

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191021

R150 Certificate of patent or registration of utility model

Ref document number: 6613597

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150