JP2019024166A - 画像処理装置、画像処理システム、画像形成装置、及び、画像処理プログラム - Google Patents
画像処理装置、画像処理システム、画像形成装置、及び、画像処理プログラム Download PDFInfo
- Publication number
- JP2019024166A JP2019024166A JP2017142701A JP2017142701A JP2019024166A JP 2019024166 A JP2019024166 A JP 2019024166A JP 2017142701 A JP2017142701 A JP 2017142701A JP 2017142701 A JP2017142701 A JP 2017142701A JP 2019024166 A JP2019024166 A JP 2019024166A
- Authority
- JP
- Japan
- Prior art keywords
- bits
- data
- pixel
- dot
- value
- 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
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
- Color, Gradation (AREA)
Abstract
【課題】画質を維持しながらハーフトーン処理を高速化させる技術を提供する。【解決手段】画素にビット数Nの画素値を有する画像データのハーフトーン処理を行う画像処理装置であって、前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、画像処理装置。【選択図】図1
Description
本発明は、ディザマスクを用いて画像データのハーフトーン処理を行う技術に関する。
パーソナルコンピューター等といったホスト装置から転送された多階調の画像データに対してインクジェットプリンターがハーフトーン処理を行う場合がある。前記画像データの各画素は、2N階調(Nは8や16等)の画素値を有している。例えば、プリンターがC(シアン)、M(マゼンタ)、Y(イエロー)、及び、K(ブラック)のインクを使用し、画像データがC、M、Y、及び、Kのインク使用量を表す場合、この画像データの画素値とディザマスクの閾値との比較結果に応じてC、M、Y、及び、Kのインクドットの形成状態を決定することができる。
尚、特許文献1に示される画像処理装置は、2(n/2)×2(n/2)サイズのマトリックスを用いて22n多階調画像から2値画像を生成する際に、22nレベルの信号を上位2 nビットと下位2 nビットに分離し、下位2 nビットがマトリックスの値より大きければ上位2 nビットを1繰り上げ、マトリックスの値より小さければ上位2 nビットをそのままにして、マトリックスの値が上位2 nビットの値よりも大きい画素を0の値とし、マトリックスの値が上位2 nビットの値よりも小さい画素を1の値としている。
上述した技術は、多階調画像の22nを上位2 nビットに少なくしてからマトリックスの値と比較することにより2値を決定している。従って、下位2 nビットの情報がある程度しか2値画像に反映されず、その分、2値画像の画質が低下する。
尚、上述のような問題は、インクジェットプリンターがハーフトーン処理を行う場合に限定されず、種々の機器がハーフトーン処理を行う場合にも存在する。
尚、上述のような問題は、インクジェットプリンターがハーフトーン処理を行う場合に限定されず、種々の機器がハーフトーン処理を行う場合にも存在する。
本発明の目的の一つは、画質を維持しながらハーフトーン処理を高速化させることが可能な技術を提供することにある。
上記目的の一つを達成するため、本発明は、画素にビット数Nの画素値を有する画像データのハーフトーン処理を行う画像処理装置であって、
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、態様を有する。
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、態様を有する。
また、本発明は、上述した画像処理装置の各部に対応する機能をコンピューターに実現させる画像処理プログラムの態様を有する。
さらに、本発明は、画素にビット数Nの画素値を有する画像データを送信するホスト装置と、該ホスト装置から前記画像データを受信して該画像データのハーフトーン処理を行う画像処理装置と、を有する画像処理システムであって、
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記ホスト装置は、
前記画像データのうち前記画素値の上位Hビットのデータを集めた第一データを前記画像処理装置に送信する第一送信処理部と、
前記画像データのうち前記画素値の下位Lビットのデータを集めた第二データを前記第一データの送信後に前記画像処理装置に送信する第二送信処理部と、を含み、
前記画像処理装置は、
前記第一データを受信する第一受信処理部と、
前記第一データに含まれる前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
前記第二データを受信する第二受信処理部と、
前記第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、少なくとも前記第二データに含まれる前記画素値の下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、態様を有する。
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記ホスト装置は、
前記画像データのうち前記画素値の上位Hビットのデータを集めた第一データを前記画像処理装置に送信する第一送信処理部と、
前記画像データのうち前記画素値の下位Lビットのデータを集めた第二データを前記第一データの送信後に前記画像処理装置に送信する第二送信処理部と、を含み、
前記画像処理装置は、
前記第一データを受信する第一受信処理部と、
前記第一データに含まれる前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
前記第二データを受信する第二受信処理部と、
前記第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、少なくとも前記第二データに含まれる前記画素値の下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、態様を有する。
さらに、本発明は、画素にビット数Nの画素値を有する画像データに基づいてドットを形成する画像形成装置であって、
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、
前記ドットデータに従ってドットを形成するドット形成部と、を含む、態様を有する。
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、
前記ドットデータに従ってドットを形成するドット形成部と、を含む、態様を有する。
上述した態様は、画質を維持しながらハーフトーン処理を高速化させる技術を提供することができる。
以下、本発明の実施形態を説明する。むろん、以下の実施形態は本発明を例示するものに過ぎず、実施形態に示す特徴の全てが発明の解決手段に必須になるとは限らない。
(1)本発明に含まれる技術の概要:
まず、図1〜16に示される例を参照して本発明に含まれる技術の概要を説明する。特に、図1は、画像処理システムの各部が行う処理の例を模式的に示している。尚、本願の図は模式的に例を示す図であり、各図は整合していないことがある。むろん、本技術の各要素は、符号で示される具体例に限定されない。
まず、図1〜16に示される例を参照して本発明に含まれる技術の概要を説明する。特に、図1は、画像処理システムの各部が行う処理の例を模式的に示している。尚、本願の図は模式的に例を示す図であり、各図は整合していないことがある。むろん、本技術の各要素は、符号で示される具体例に限定されない。
[態様1]
図1等に例示するように、本技術の一態様に係る画像処理装置U0(例えばプリンター1に含まれる。)は、画素PX0にビット数Nの画素値Aiを有する画像データ(例えばインク量データDA2)のハーフトーン処理を行う画像処理装置U0であって、第一ハーフトーン処理部UH1と第二ハーフトーン処理部UH2を含む。前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含む。前記第一ハーフトーン処理部UH1は、前記画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、ドットDT0の形成状態を決定することができる第一画素(例えば確定画素PX1)についてドットDT0の形成状態を表すドットデータDA3を生成する。前記第二ハーフトーン処理部UH2は、前記第一ハーフトーン処理部UH1においてドットDT0の形成状態を決定することができない第二画素(例えば未確定画素PX2)について、前記画素値Aiの少なくとも下位Lビットと、前記ディザマスク500の少なくとも下位Lビットと、に基づいて前記ドットデータDA3を生成する。
図1等に例示するように、本技術の一態様に係る画像処理装置U0(例えばプリンター1に含まれる。)は、画素PX0にビット数Nの画素値Aiを有する画像データ(例えばインク量データDA2)のハーフトーン処理を行う画像処理装置U0であって、第一ハーフトーン処理部UH1と第二ハーフトーン処理部UH2を含む。前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含む。前記第一ハーフトーン処理部UH1は、前記画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、ドットDT0の形成状態を決定することができる第一画素(例えば確定画素PX1)についてドットDT0の形成状態を表すドットデータDA3を生成する。前記第二ハーフトーン処理部UH2は、前記第一ハーフトーン処理部UH1においてドットDT0の形成状態を決定することができない第二画素(例えば未確定画素PX2)について、前記画素値Aiの少なくとも下位Lビットと、前記ディザマスク500の少なくとも下位Lビットと、に基づいて前記ドットデータDA3を生成する。
上記態様1では、画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、先に、ドットDT0の形成状態を決定することができる第一画素(PX1)についてドットデータDA3が生成される。ドットDT0の形成状態を決定することができない第二画素(PX2)について、画素値Aiの少なくとも下位Lビットと、ディザマスク500の少なくとも下位Lビットと、に基づいてドットデータDA3が生成される。従って、本態様は、画質を維持しながらハーフトーン処理を高速化させる画像処理装置を提供することができる。
ここで、上位Hビットの数Hは、1≦H<Nを満たす整数であればよく、2≦H≦N−2を満たす整数がより好ましい。
下位Lビットの数Lは、1≦L≦N−Hを満たす整数であればよく、2≦L≦N−Hを満たす整数がより好ましい。
上位Hビットと下位Lビットを合わせた数H+Lは、画素値のビット数Nのみならず、上述した条件を満たす範囲でビット数N未満でもよい。すなわち、下位Lビットは上位Hビットに続いていればよく、下位Lビットに続く更に下位ビットがビット数Nのビットに含まれてもよい。
下位Lビットの数Lは、1≦L≦N−Hを満たす整数であればよく、2≦L≦N−Hを満たす整数がより好ましい。
上位Hビットと下位Lビットを合わせた数H+Lは、画素値のビット数Nのみならず、上述した条件を満たす範囲でビット数N未満でもよい。すなわち、下位Lビットは上位Hビットに続いていればよく、下位Lビットに続く更に下位ビットがビット数Nのビットに含まれてもよい。
前記第二ハーフトーン処理部は、例えば、前記第二画素について、前記画素値の上位Hビット及び下位Lビットと、前記ディザマスクの上位Hビット及び下位Lビットと、に基づいて前記ドットデータを生成してもよい。
また、前記第二ハーフトーン処理部は、例えば、前記第二画素について、前記画素値の内の下位Lビットと、前記ディザマスクの内の下位Lビットと、に基づいて前記ドットデータを生成してもよい。
尚、上記態様1の付言は、以下の態様も同様である。
また、前記第二ハーフトーン処理部は、例えば、前記第二画素について、前記画素値の内の下位Lビットと、前記ディザマスクの内の下位Lビットと、に基づいて前記ドットデータを生成してもよい。
尚、上記態様1の付言は、以下の態様も同様である。
[態様2]
図7等に例示するように、前記暫定値V0は、前記画素値Aiにおいて下位Lビットが全て0であると仮定した場合の第一仮値(例えば最小値MINi)を含んでもよい。また、前記暫定値V0は、前記画素値Aiにおいて下位Lビットが全て1であると仮定した場合の第二仮値(例えば最大値MAXi)を含んでもよい。前記第一ハーフトーン処理部UH1は、前記第一仮値(MINi)、及び、前記第二仮値(MAXi)、並びに、前記ディザマスク500に基づいて、前記第一画素(PX1)について前記ドットデータDA3を形成してもよい。暫定値V0のとり得る範囲を第一仮値(MINi)と第二仮値(MAXi)とにより表すことができるので、本態様は、画質を維持しながらハーフトーン処理を高速化させる好適な例を提供することができる。
図7等に例示するように、前記暫定値V0は、前記画素値Aiにおいて下位Lビットが全て0であると仮定した場合の第一仮値(例えば最小値MINi)を含んでもよい。また、前記暫定値V0は、前記画素値Aiにおいて下位Lビットが全て1であると仮定した場合の第二仮値(例えば最大値MAXi)を含んでもよい。前記第一ハーフトーン処理部UH1は、前記第一仮値(MINi)、及び、前記第二仮値(MAXi)、並びに、前記ディザマスク500に基づいて、前記第一画素(PX1)について前記ドットデータDA3を形成してもよい。暫定値V0のとり得る範囲を第一仮値(MINi)と第二仮値(MAXi)とにより表すことができるので、本態様は、画質を維持しながらハーフトーン処理を高速化させる好適な例を提供することができる。
[態様3]
図7等に例示するように、前記第一ハーフトーン処理部UH1は、前記第一画素(PX1)について、前記第一仮値(MINi)が少なくとも前記ディザマスク500の閾値Tiよりも大きい場合に前記ドットデータDA3をドットDT0が形成される値(例えば1)に決定してもよい。また、前記第一ハーフトーン処理部UH1は、前記第一画素(PX1)について、前記第二仮値(MAXi)が少なくとも前記ディザマスク500の閾値Tiよりも小さい場合に前記ドットデータDA3をドットDT0が形成されない値(例えば0)に決定してもよい。本態様は、画質を維持しながらハーフトーン処理を高速化させる更に好適な例を提供することができる。
図7等に例示するように、前記第一ハーフトーン処理部UH1は、前記第一画素(PX1)について、前記第一仮値(MINi)が少なくとも前記ディザマスク500の閾値Tiよりも大きい場合に前記ドットデータDA3をドットDT0が形成される値(例えば1)に決定してもよい。また、前記第一ハーフトーン処理部UH1は、前記第一画素(PX1)について、前記第二仮値(MAXi)が少なくとも前記ディザマスク500の閾値Tiよりも小さい場合に前記ドットデータDA3をドットDT0が形成されない値(例えば0)に決定してもよい。本態様は、画質を維持しながらハーフトーン処理を高速化させる更に好適な例を提供することができる。
[態様4]
図15A〜15Cに例示するように、本画像処理装置U0は、前記ビット数Nのビットに含まれる上位Hビットと、前記ビット数Nのビットに含まれる下位Lビットと、の少なくとも一方のビット数を変更するビット数変更部UB0をさらに含んでもよい。この態様は、画像データ(DA2)の画素値Aiのビット数等に応じて上位Hビットと下位Lビットの少なくとも一方を変える等、ハーフトーン処理の自由度を向上させることができる。
尚、上記態様4には含まれないが、画像処理装置にビット数変更部が無い場合も、本技術に含まれる。
図15A〜15Cに例示するように、本画像処理装置U0は、前記ビット数Nのビットに含まれる上位Hビットと、前記ビット数Nのビットに含まれる下位Lビットと、の少なくとも一方のビット数を変更するビット数変更部UB0をさらに含んでもよい。この態様は、画像データ(DA2)の画素値Aiのビット数等に応じて上位Hビットと下位Lビットの少なくとも一方を変える等、ハーフトーン処理の自由度を向上させることができる。
尚、上記態様4には含まれないが、画像処理装置にビット数変更部が無い場合も、本技術に含まれる。
[態様5]
ところで、図1等に例示するように、本技術の一態様に係る画像処理システムは、画素PX0にビット数Nの画素値Aiを有する画像データ(例えばインク量データDA2)を送信するホスト装置100と、該ホスト装置100から前記画像データ(DA2)を受信して該画像データ(DA2)のハーフトーン処理を行う画像処理装置U0と、を有する。
前記ホスト装置100は、第一送信処理部HT1と第二送信処理部HT2を含む。前記第一送信処理部HT1は、前記画像データ(DA2)のうち前記画素値Aiの上位Hビットのデータを集めた第一データ(例えば上位データDA21)を前記画像処理装置U0に送信する。前記第二送信処理部HT2は、前記画像データ(DA2)のうち前記画素値Aiの下位Lビットのデータを集めた第二データ(例えば下位データDA22)を前記第一データ(DA21)の送信後に前記画像処理装置U0に送信する。
前記画像処理装置U0は、前記第一データ(DA21)を受信する第一受信処理部UR1、第一ハーフトーン処理部UH1、前記第二データ(DA22)を受信する第二受信処理部UR2、及び、第二ハーフトーン処理部UH2を含む。前記第一ハーフトーン処理部UH1は、前記第一データ(DA21)に含まれる前記画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、ドットDT0の形成状態を決定することができる第一画素(例えば確定画素PX1)についてドットDT0の形成状態を表すドットデータDA3を生成する。前記第二ハーフトーン処理部UH2は、前記第一ハーフトーン処理部UH1においてドットDT0の形成状態を決定することができない第二画素(例えば未確定画素PX2)について、少なくとも前記第二データ(DA22)に含まれる前記画素値Aiの下位Lビットと、前記ディザマスク500の少なくとも下位Lビットと、に基づいて前記ドットデータDA3を生成する。
ところで、図1等に例示するように、本技術の一態様に係る画像処理システムは、画素PX0にビット数Nの画素値Aiを有する画像データ(例えばインク量データDA2)を送信するホスト装置100と、該ホスト装置100から前記画像データ(DA2)を受信して該画像データ(DA2)のハーフトーン処理を行う画像処理装置U0と、を有する。
前記ホスト装置100は、第一送信処理部HT1と第二送信処理部HT2を含む。前記第一送信処理部HT1は、前記画像データ(DA2)のうち前記画素値Aiの上位Hビットのデータを集めた第一データ(例えば上位データDA21)を前記画像処理装置U0に送信する。前記第二送信処理部HT2は、前記画像データ(DA2)のうち前記画素値Aiの下位Lビットのデータを集めた第二データ(例えば下位データDA22)を前記第一データ(DA21)の送信後に前記画像処理装置U0に送信する。
前記画像処理装置U0は、前記第一データ(DA21)を受信する第一受信処理部UR1、第一ハーフトーン処理部UH1、前記第二データ(DA22)を受信する第二受信処理部UR2、及び、第二ハーフトーン処理部UH2を含む。前記第一ハーフトーン処理部UH1は、前記第一データ(DA21)に含まれる前記画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、ドットDT0の形成状態を決定することができる第一画素(例えば確定画素PX1)についてドットDT0の形成状態を表すドットデータDA3を生成する。前記第二ハーフトーン処理部UH2は、前記第一ハーフトーン処理部UH1においてドットDT0の形成状態を決定することができない第二画素(例えば未確定画素PX2)について、少なくとも前記第二データ(DA22)に含まれる前記画素値Aiの下位Lビットと、前記ディザマスク500の少なくとも下位Lビットと、に基づいて前記ドットデータDA3を生成する。
上記態様5では、先に送信される第一データ(DA21)に含まれる画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、先に、ドットDT0の形成状態を決定することができる第一画素(PX1)についてドットデータDA3が生成される。ドットDT0の形成状態を決定することができない第二画素(PX2)について、少なくとも第二データ(DA22)に含まれる画素値Aiの少なくとも下位Lビットと、ディザマスク500の少なくとも下位Lビットと、に基づいてドットデータDA3が生成される。従って、本態様は、画質を維持しながらハーフトーン処理を高速化させる画像処理システムを提供することができる。
[態様6]
また、図1等に例示するように、本技術の一態様に係る画像形成装置は、画素PX0にビット数Nの画素値Aiを有する画像データ(例えばインク量データDA2)に基づいてドットDT0を形成する画像形成装置であって、第一ハーフトーン処理部UH1、第二ハーフトーン処理部UH2、及び、ドット形成部UD0を含む。前記第一ハーフトーン処理部UH1は、前記画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、ドットDT0の形成状態を決定することができる第一画素(例えば確定画素PX1)についてドットDT0の形成状態を表すドットデータDA3を生成する。前記第二ハーフトーン処理部UH2は、前記第一ハーフトーン処理部UH1においてドットDT0の形成状態を決定することができない第二画素(例えば未確定画素PX2)について、前記画素値Aiの少なくとも下位Lビットと、前記ディザマスク500の少なくとも下位Lビットと、に基づいて前記ドットデータDA3を生成する。前記ドット形成部UD0は、前記ドットデータDA3に従ってドットDT0を形成する。
また、図1等に例示するように、本技術の一態様に係る画像形成装置は、画素PX0にビット数Nの画素値Aiを有する画像データ(例えばインク量データDA2)に基づいてドットDT0を形成する画像形成装置であって、第一ハーフトーン処理部UH1、第二ハーフトーン処理部UH2、及び、ドット形成部UD0を含む。前記第一ハーフトーン処理部UH1は、前記画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、ドットDT0の形成状態を決定することができる第一画素(例えば確定画素PX1)についてドットDT0の形成状態を表すドットデータDA3を生成する。前記第二ハーフトーン処理部UH2は、前記第一ハーフトーン処理部UH1においてドットDT0の形成状態を決定することができない第二画素(例えば未確定画素PX2)について、前記画素値Aiの少なくとも下位Lビットと、前記ディザマスク500の少なくとも下位Lビットと、に基づいて前記ドットデータDA3を生成する。前記ドット形成部UD0は、前記ドットデータDA3に従ってドットDT0を形成する。
上記態様6では、画素値Aiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500と、に基づいて、先に、ドットDT0の形成状態を決定することができる第一画素(PX1)についてドットデータDA3が生成され、該ドットデータDA3に従ってドットDT0が形成される。ドットDT0の形成状態を決定することができない第二画素(PX2)について、画素値Aiの少なくとも下位Lビットと、ディザマスク500の少なくとも下位Lビットと、に基づいてドットデータDA3が生成され、該ドットデータDA3に従ってドットDT0が形成される。従って、本態様は、画質を維持しながらハーフトーン処理を高速化させる画像形成装置を提供することができる。
ここで、画像形成装置は、印刷装置、表示装置、等を含む。
ここで、画像形成装置は、印刷装置、表示装置、等を含む。
[態様7]
さらに、図1等に例示するように、本技術の一態様に係る画像処理プログラムは、態様1の各部に対応する機能、すなわち、第一ハーフトーン処理部UH1に対応する第一ハーフトーン処理機能FUH1、及び、第二ハーフトーン処理部UH2に対応する第二ハーフトーン処理機能FUH2をコンピューターに実現させる。本態様は、画質を維持しながらハーフトーン処理を高速化させる画像処理プログラムを提供することができる。本画像処理プログラムは、ビット数変更部UB0に対応するビット数変更機能FUB0、第一受信処理部UR1に対応する第一受信処理機能FUR1、及び、第二受信処理部UR2に対応する第二受信処理機能FUR2をコンピューターに実現させてもよい。
さらに、図1等に例示するように、本技術の一態様に係る画像処理プログラムは、態様1の各部に対応する機能、すなわち、第一ハーフトーン処理部UH1に対応する第一ハーフトーン処理機能FUH1、及び、第二ハーフトーン処理部UH2に対応する第二ハーフトーン処理機能FUH2をコンピューターに実現させる。本態様は、画質を維持しながらハーフトーン処理を高速化させる画像処理プログラムを提供することができる。本画像処理プログラムは、ビット数変更部UB0に対応するビット数変更機能FUB0、第一受信処理部UR1に対応する第一受信処理機能FUR1、及び、第二受信処理部UR2に対応する第二受信処理機能FUR2をコンピューターに実現させてもよい。
さらに、本技術は、画像処理装置を含む複合システム、画像処理方法、画像形成方法、画像形成装置の制御方法、複合システムの制御方法、画像形成装置の制御プログラム、複合システムの制御プログラム、画像処理プログラムや前記制御プログラムを記録したコンピューター読み取り可能な媒体、等に適用可能である。前述の装置は、分散した複数の部分で構成されてもよい。
(2)画像処理装置を含む画像形成システムの構成の具体例:
図1は、画像形成システムの例として印刷システムSY1で行われる処理の流れを模式的に示している。図2は、画像形成装置の例としてインクジェットプリンター1の構成をホスト装置100とともに模式的に示している。図3は、ホスト装置100の構成をプリンター1とともに模式的に示している。
図1は、画像形成システムの例として印刷システムSY1で行われる処理の流れを模式的に示している。図2は、画像形成装置の例としてインクジェットプリンター1の構成をホスト装置100とともに模式的に示している。図3は、ホスト装置100の構成をプリンター1とともに模式的に示している。
図2に示すプリンター1は、色材としてC(シアン)、M(マゼンタ)、Y(イエロー)、及び、K(ブラック)のインク66を使用して被印刷物(print substrate)ME1に出力画像IM1を印刷するものとする。むろん、インクには、さらに、Cよりも低濃度のLc(ライトシアン)、Mよりも低濃度のLm(ライトマゼンタ)、Yよりも高濃度のDy(ダークイエロー)、Kよりも低濃度のLk(ライトブラック)、Lkよりも低濃度のLLk(ライトライトブラック)、R(レッド)、Or(オレンジ)、Gr(グリーン)、画質向上用の無着色インク、等が含まれてもよい。C,M,Y,Kの一部の色材を使用しない場合にも、本技術を適用可能である。また、本技術を適用可能な画像形成装置には、レーザープリンターといった電子写真方式のプリンター、3次元プリンター、複写機、ファクシミリ、これらの機能を備えた複合機、表示装置、等が含まれる。
図2に示すプリンター1は、コントローラー10、RAM(Random Access Memory)20、不揮発性メモリー30、機構部50、インターフェイス(I/F)71,72、操作パネル73、等を有する。コントローラー10、RAM20、不揮発性メモリー30、I/F71,72、及び、操作パネル73は、互いに情報を入出力可能とされている。プリンター1は、被印刷物の全幅にわたるラインヘッドからインク滴を吐出して被印刷物にドットを形成するラインプリンターでもよいし、記録ヘッドを往復移動させるシリアルプリンターでもよい。
コントローラー10は、CPU(Central Processing Unit)11、ハーフトーン処理部UH0、信号送信部44、等を有する。コントローラー10は、受信側ビット数変更部UB0を有してもよい。コントローラー10は、SoC(System on a Chip)等により構成することができる。ハーフトーン処理部UH0は、コントローラー10から独立した画像処理ユニットで構成されてもよい。
CPU11は、プリンター1における情報処理や制御を中心的に行う。
CPU11は、プリンター1における情報処理や制御を中心的に行う。
ハーフトーン処理部UH0は、ホスト装置100等から入手した多階調(例えば28階調)のインク量データDA2(画像データの例)からディザ法のハーフトーン処理によりドットデータDA3を生成する。ドットデータDA3は、印刷画像IM1に対応した各画素のドットDT0の形成状態を表すデータであり、例えば、ドット無しに0、及び、ドット形成に1を対応させた2値データを採用することができる。また、ドットデータDA3には、ドット無しに0、小ドット形成に1、中ドット形成に2、及び、大ドット形成に3を対応させた4値データといった多値データを採用することも可能である。多値データは、3値データでもよいし、5値以上のデータでもよい。ハーフトーン処理部UH0に含まれる第一ハーフトーン処理部UH1及び第二ハーフトーン処理部UH2の詳細は、後述する。
信号送信部44は、ヘッドチップ61の駆動素子63に印加する電圧信号に対応した駆動信号SGをドットデータDA3に基づいて生成して駆動回路62に出力する。必要に応じて、ドットデータDA3を機構部50でドットが形成される順番に並べ換えてもよい。
信号送信部44は、ヘッドチップ61の駆動素子63に印加する電圧信号に対応した駆動信号SGをドットデータDA3に基づいて生成して駆動回路62に出力する。必要に応じて、ドットデータDA3を機構部50でドットが形成される順番に並べ換えてもよい。
コントローラー10の各部UH0,44は、ASIC(Application Specific Integrated Circuit)で構成されてもよく、RAM20から処理対象のデータを直接読み込んだりRAM20に処理後のデータを直接書き込んだりしてもよい。
コントローラー10に制御される機構部50は、紙送り機構53等を備える。紙送り機構53は、被印刷物ME1を搬送する。記録ヘッド60には、例えばCMYK(シアン、マゼンタ、イエロー、及び、ブラック)のインク滴67(液滴の例)を吐出するヘッドチップ61が搭載されている。ヘッドチップ61は、駆動回路62、駆動素子63、等を備える。駆動回路62は、コントローラー10から入力される駆動信号SGに従って駆動素子63に電圧信号を印加する。駆動素子63には、ノズル64に連通する圧力室内のインク66に圧力を加える圧電素子、熱により圧力室内に気泡を発生させてノズル64からインク滴67を吐出させる駆動素子、等を用いることができる。ヘッドチップ61の圧力室には、インクカートリッジ65からインク66が供給される。インクカートリッジ65とヘッドチップ61の組合せは、例えば、CMYKのそれぞれに設けられる。圧力室内のインク66は、駆動素子63によってノズル64から被印刷物ME1に向かってインク滴67として吐出され、印刷用紙等といった被印刷物ME1にインク滴67のドットDT0が形成される。被印刷物ME1には、複数のドットDT0による印刷画像IM1が形成される。
信号送信部44、及び、記録ヘッド60を搭載した機構部50は、ドット形成部UD0の例である。
信号送信部44、及び、記録ヘッド60を搭載した機構部50は、ドット形成部UD0の例である。
RAM20には、プログラムPRG2、ディザマスク500、インク量データDA2、等が格納される。また、インク量データDA2から生成されるドットデータDA3等もRAM20に格納される。プログラムPRG2は、第一ハーフトーン処理部UH1に対応する第一ハーフトーン処理機能FUH1、第二ハーフトーン処理部UH2に対応する第二ハーフトーン処理機能FUH2、等の機能をプリンター1に実現させる。
不揮発性メモリー30には、RAM20に展開されるプログラムデータPRG1、RAM20に読み出されるディザマスク500、等が記憶される。不揮発性メモリー30には、ROM(Read Only Memory)、フラッシュメモリー、ハードディスクといった磁気記録媒体、等が用いられる。尚、プログラムデータPRG1を展開するとは、CPU11で解釈可能なプログラムPRG2としてRAM20に書き込むことを意味する。
不揮発性メモリー30には、RAM20に展開されるプログラムデータPRG1、RAM20に読み出されるディザマスク500、等が記憶される。不揮発性メモリー30には、ROM(Read Only Memory)、フラッシュメモリー、ハードディスクといった磁気記録媒体、等が用いられる。尚、プログラムデータPRG1を展開するとは、CPU11で解釈可能なプログラムPRG2としてRAM20に書き込むことを意味する。
カードI/F71は、メモリーカード90にデータを書き込んだりメモリーカード90からデータを読み出したりする回路である。
通信I/F72は、ホスト装置100の通信I/F118に接続され、ホスト装置100に対して情報を入出力する。
通信I/F72は、ホスト装置100の通信I/F118に接続され、ホスト装置100に対して情報を入出力する。
操作パネル73は、出力部74、入力部75、等を有し、ユーザーがプリンター1に対して各種の指示を入力可能である。出力部74は、例えば、各種の指示に応じた情報やプリンター1の状態を示す情報を表示する液晶パネル(表示部)で構成される。出力部74は、これらの情報を音声出力してもよい。入力部75は、例えば、カーソルキーや決定キーといった操作キー(操作入力部)で構成される。入力部75は、表示画面への操作を受け付けるタッチパネル等でもよい。
図3に示すホスト装置100は、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113、記憶装置114、表示装置115、入力装置116、通信I/F(インターフェイス)118、等が電気的に接続されて互いに情報を入出力可能とされている。ホスト装置100には、パーソナルコンピューター(タブレット型端末を含む。)といったコンピューター、スマートフォンといった携帯電話、デジタルスチルカメラ、デジタルビデオカメラ、等が含まれる。ホスト装置100は、一つの筐体内に全構成要素111〜118を有してもよいが、互いに通信可能に分割された複数の装置で構成されてもよい。また、ホスト装置とプリンターとが一体化されていても、本技術を実施可能である。
記憶装置114は、図示しないOS(オペレーティングシステム)、制御プログラムPR0、図示しない設定情報、等を記憶している。記憶装置114は、上位Hビットの数H、下位Lビットの数L、等の情報を記憶してもよい。記憶装置114に記憶されている情報は、適宜、RAM113に読み出され、画像処理に使用される。記憶装置114には、フラッシュメモリー等の不揮発性半導体メモリー、ハードディスク等の磁気記憶装置、等を用いることができる。表示装置115には、液晶表示パネル等を用いることができる。入力装置116には、ポインティングデバイス、キーボードを含むハードキー、表示パネルの表面に貼り付けられたタッチパネル、等を用いることができる。通信I/F 118は、プリンター1の通信I/F 72に接続され、プリンター1に対して印刷データ等といった情報を入出力する。通信I/F 72,118の規格には、USB(Universal Serial Bus)、近距離無線通信規格、等を用いることができる。通信I/F 72,118の通信は、有線でもよいし、無線でもよく、LAN(Local Area Network)やインターネット等といったネットワーク通信でもよい。
図3に示す制御プログラムPR0は、色変換機能FHC0、データ分離機能FHS0、第一送信処理機能FHT1、及び、第二送信処理機能FHT2をホスト装置100に実現させる。制御プログラムPR0は、送信側ビット数変更機能FHB0をホスト装置100に実現させてもよい。
次に、図1を参照して、R(赤)、G(緑)、及び、B(青)の階調値を画素PX0に有するRGBデータDA1から印刷画像IM1を形成する流れの概要を説明する。
図1に示すホスト装置100は、色変換部HC0、データ分離部HS0、第一送信処理部HT1、及び、第二送信処理部HT2を有している。
図1に示すホスト装置100は、色変換部HC0、データ分離部HS0、第一送信処理部HT1、及び、第二送信処理部HT2を有している。
色変換部HC0は、印刷画像IM1を形成する対象のRGBデータDA1をCMYKのインク量データDA2(本技術の画像データの例)に色変換する。これらのデータDA1,DA2の画素PX0は、x方向(横方向)とy方向(縦方向)とへ整然と並べられている。後述する上位データDA21、下位データDA22、及び、ドットデータDA3の画素PX0も、x方向とy方向とへ整然と並べられている。RGBデータDA1の各画素PX0には、Rの画素値Ri、Gの画素値Gi、及び、Bの画素値Biが格納されている。ここでの変数iは、画素PX0を識別する変数である。インク量データDA2の各画素PX0には、Cの画素値Ci、Mの画素値Mi、Yの画素値Yi、及び、Kの画素値Kiが格納されている。尚、画素値Ci,Mi,Yi,Kiを画素値Aiと総称することがある。画素値Ri,Gi,Bi,Ci,Mi,Yi,Kiは、例えば、ビット数Nが8ビットの整数値である場合に0〜255の階調値となり、ビット数Nが16ビットの整数値である場合に0〜65535の階調値となる。ここで、画素値Ci,Mi,Yi,Kiの各ビットを最上位から最下位の順にa,b,c,d,e,f,g,hと表す。
データ分離部HS0は、インク量データDA2を、上位Hビット(但しHは1≦H<Nを満たす整数)の上位データDA21(第一データの例)と、上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)の下位データDA22(第二データの例)と、に分離する。上位データDA21は、インク量データDA2のうち画素値Ci,Mi,Yi,Kiの上位Hビットのデータを集めたデータである。下位データDA22は、インク量データDA2のうち画素値Ci,Mi,Yi,Kiの下位Lビットのデータを集めたデータである。H=L=4である場合、上位Hビットはa,b,c,dであり、下位Lビットはe,f,g,hである。尚、H=Lは一例であり、H=5且つL=3などH>Lでもよいし、H=3且つL=5などH<Lでもよい。また、H+L=Nも一例であり、上位Hビットがa,b,c,dで下位Lビットがe,f,gなどH+L<Nでもよい。
第一送信処理部HT1は、上位データDA21をプリンター1(画像処理装置U0を含む。)に送信する。第二送信処理部HT2は、下位データDA22を上位データDA21の送信後にプリンター1に送信する。上位データDA21と下位データDA22は、ランレングス符号化(Run Length Encoding)といった可逆圧縮方式により圧縮されて送信されてもよい。上位データDA21と下位データDA22を含む転送データのフォーマットは、特に限定されず、ヘッダーに上位データDA21と下位データDA22のサイズ情報を記述したフォーマット、上位データDA21と下位データDA22の画素に座標値を付加したフォーマット、等を採用可能である。
図1に示すプリンター1は、第一受信処理部UR1、第二受信処理部UR2、第一ハーフトーン処理部UH1、第二ハーフトーン処理部UH2、及び、ドット形成部UD0を有している。
第一受信処理部UR1は、ホスト装置100からの上位データDA21を受信する。上位データDA21が圧縮されている場合、第一受信処理部UR1は、圧縮データから上位データDA21を復号する。第二受信処理部UR2は、ホスト装置100からの下位データDA22を受信する。下位データDA22が圧縮されている場合、第二受信処理部UR2は、圧縮データから下位データDA22を復号する。下位データDA22の前に上位データDA21が送信されるので、プリンター1は、上位データDA21の受信後に下位データDA22を受信する。
第一受信処理部UR1は、ホスト装置100からの上位データDA21を受信する。上位データDA21が圧縮されている場合、第一受信処理部UR1は、圧縮データから上位データDA21を復号する。第二受信処理部UR2は、ホスト装置100からの下位データDA22を受信する。下位データDA22が圧縮されている場合、第二受信処理部UR2は、圧縮データから下位データDA22を復号する。下位データDA22の前に上位データDA21が送信されるので、プリンター1は、上位データDA21の受信後に下位データDA22を受信する。
ハーフトーン処理部UH1,UH2は、インク量データDA2の28階調の画素値Ci,Mi,Yi,KiをドットデータDA3の多値ci,mi,yi,kiに変換する。尚、多値ci,mi,yi,kiを多値Diと総称することがある。図1に示すドットデータDA3の各画素PX0には、Cの2値ci、Mの2値mi、Yの2値yi、及び、Kの2値kiが格納されている。
第一ハーフトーン処理部UH1は、画素値Ci,Mi,Yi,Kiの上位Hビットが定まった場合の暫定値V0と、ディザマスク500の閾値Tiと、に基づいて、ドットDT0の形成状態を決定することができる確定画素PX1(第一画素の例)についてドットDT0の形成状態を表すドットデータDA3を生成する。図1には、確定画素PX1に「1」(ドット有り)又は「0」(ドット無し)が格納され未確定画素PX2(第二画素の例)に「?」(未確定;例えば「−1」)が格納された仮ドットデータDA31が示されている。仮ドットデータDA31は、確定画素PX1についてドットDT0の形成状態を表す「1」又は「0」が格納されたドットデータである。本具体例では、図7に例示するように、画素値Ci,Mi,Yi,Kiにおいて下位Lビットe,f,g,hが全て0であると仮定した場合の最小値MINi(第一仮値の例)、及び、画素値Ci,Mi,Yi,Kiにおいて下位Lビットe,f,g,hが全て1であると仮定した場合の最大値MAXi(第二仮値の例)を暫定値V0に用いている。
第二ハーフトーン処理部UH2は、第一ハーフトーン処理部UH1においてドットDT0の形成状態を決定することができない未確定画素PX2について、少なくとも下位データDA22に含まれる画素値Ci,Mi,Yi,Kiの下位Lビットと、ディザマスク500の閾値Tiの少なくとも下位Lビットと、に基づいてドットデータDA3を生成する。例えば、第二ハーフトーン処理部UH2は、未確定画素PX2のみについて、上位Hビットa,b,c,dと下位Lビットe,f,g,hとを結合して真値VT(元のインク量データDA2)を生成し、画素値Ci,Mi,Yi,Kiの上位Hビット及び下位Lビットと、ディザマスク500の閾値Tiの上位Hビット及び下位Lビットと、に基づいてドットデータDA3を生成する。図1には、未確定画素PX2に「1」(ドット有り)又は「0」(ドット無し)が格納され、該未確定画素PX2のドットデータが仮ドットデータDA31の未確定画素PX2に上書きされて最終的なドットデータDA3が生成される例が示されている。
ドット形成部UD0は、上記ドットデータDA3に従ってドットDT0を形成する。例えば、ドット形成部UD0は、ドットデータDA3の内、「1」が格納された画素にドットDT0を形成し、「0」が格納された画素にドットDT0を形成しない。これにより、ドットDT0の形成状態に応じた出力画像IM1が被印刷物ME1に印刷される。
以上より、元のインク量データDA2のうちH/N=1/2に減らされた上位データDA21から先に仮ドットデータDA31が生成され、未確定画素PX2のみ下位データDA22が用いられてドットデータDA3が生成される。従って、出力画像IM1の画質が維持されるうえ、ハーフトーン処理が高速化される。
(3)画像形成システムで行われる処理の詳細:
図4は、印刷システムSY1で行われる印刷のシーケンスの例を示している。ここで、ハーフトーン処理部UH1,UH2が中心となって本具体例の画像処理を行い、プリンター制御部(受信処理部UR1,UR2とドット形成部UD0)が本具体例の画像処理と連動して印刷制御処理を行う。図5は、ホスト装置100で行われる印刷制御処理の例を示している。図6は、ディザ法によるハーフトーン処理の例を模式的に示している。図7は、プリンター1のコントローラー10の第一ハーフトーン処理部UH1で行われる先行ハーフトーン処理の例を上位データDA21の受信処理の例とともに示している。図8は、プリンター1のコントローラー10の第二ハーフトーン処理部UH2で行われる後行ハーフトーン処理の例を下位データDA22の受信処理の例とともに示している。ホスト装置100及びプリンター1は、複数の処理を並列して実行可能であるものとする。ここで、図5のステップS102は、色変換部HC0と色変換機能FHC0に対応している。ステップS104は、データ分離部HS0とデータ分離機能FHS0に対応している。ステップS106は、第一送信処理部HT1と第一送信処理機能FHT1に対応している。ステップS108は、第二送信処理部HT2と第二送信処理機能FHT2に対応している。図7のステップS200は、第一受信処理部UR1と第一受信処理機能FUR1に対応している。ステップS202〜S218は、第一ハーフトーン処理部UH1と第一ハーフトーン処理機能FUH1に対応している。図8のステップS300は、第二受信処理部UR2と第二受信処理機能FUR2に対応している。ステップS302〜S312は、第二ハーフトーン処理部UH2と第二ハーフトーン処理機能FUH2に対応している。ステップS314は、ドット形成部UD0とドット形成機能FUD0に対応している。以下、「ステップ」の記載を省略する。
図4は、印刷システムSY1で行われる印刷のシーケンスの例を示している。ここで、ハーフトーン処理部UH1,UH2が中心となって本具体例の画像処理を行い、プリンター制御部(受信処理部UR1,UR2とドット形成部UD0)が本具体例の画像処理と連動して印刷制御処理を行う。図5は、ホスト装置100で行われる印刷制御処理の例を示している。図6は、ディザ法によるハーフトーン処理の例を模式的に示している。図7は、プリンター1のコントローラー10の第一ハーフトーン処理部UH1で行われる先行ハーフトーン処理の例を上位データDA21の受信処理の例とともに示している。図8は、プリンター1のコントローラー10の第二ハーフトーン処理部UH2で行われる後行ハーフトーン処理の例を下位データDA22の受信処理の例とともに示している。ホスト装置100及びプリンター1は、複数の処理を並列して実行可能であるものとする。ここで、図5のステップS102は、色変換部HC0と色変換機能FHC0に対応している。ステップS104は、データ分離部HS0とデータ分離機能FHS0に対応している。ステップS106は、第一送信処理部HT1と第一送信処理機能FHT1に対応している。ステップS108は、第二送信処理部HT2と第二送信処理機能FHT2に対応している。図7のステップS200は、第一受信処理部UR1と第一受信処理機能FUR1に対応している。ステップS202〜S218は、第一ハーフトーン処理部UH1と第一ハーフトーン処理機能FUH1に対応している。図8のステップS300は、第二受信処理部UR2と第二受信処理機能FUR2に対応している。ステップS302〜S312は、第二ハーフトーン処理部UH2と第二ハーフトーン処理機能FUH2に対応している。ステップS314は、ドット形成部UD0とドット形成機能FUD0に対応している。以下、「ステップ」の記載を省略する。
まず、図4,5において、ホスト装置100は、印刷画像IM1を形成する対象のRGBデータDA1をCMYKのインク量データDA2に色変換する(シーケンス1、S102)。この色変換処理は、例えば、RGBの階調値とCMYKの階調値との対応関係を規定した色変換ルックアップテーブルを参照して画素値Ri,Gi,Biに対応する画素値Ci,Mi,Yi,Kiを求める処理とすることができる。
色変換後、ホスト装置100は、インク量データDA2を上位Hビットの上位データDA21と下位Lビットの下位データDA22とに分離する(シーケンス2、S104)。この分離処理は、例えば、インク量データDA2のうち画素値Ci,Mi,Yi,Kiの上位Hビットのデータを集めてH/Nのデータサイズに少なくした上位データDA21、及び、インク量データDA2のうち画素値Ci,Mi,Yi,Kiの下位Lビットのデータを集めてL/Nのデータサイズに少なくした下位データDA22を生成する処理とすることができる。
上位データDA21の生成後、ホスト装置100は、上位データDA21をプリンター1に送信する(シーケンス3、S106)。このシーケンス3をトリガーとして、図7に示す処理が開始される。
下位データDA22の生成後、ホスト装置100は、下位データDA22をプリンター1に送信し(シーケンス4、S108)、印刷制御処理を終了させる。このシーケンス4をトリガーとして、図8に示す処理が開始される。
下位データDA22の生成後、ホスト装置100は、下位データDA22をプリンター1に送信し(シーケンス4、S108)、印刷制御処理を終了させる。このシーケンス4をトリガーとして、図8に示す処理が開始される。
プリンター1のハーフトーン処理部UH1,UH2は、マトリクス状のディザマスク500を用いてインク量データDA2をドットデータDA3に変換する。まず、図6を参照して、一般的なディザ法のハーフトーン処理を説明する。図6では、インク量データDA2の画素値Ai、及び、ディザマスク500の閾値Tiを16進数で示している。
図6に示すように、ディザマスク500の各閾値Tiは、インク量データDA2の画素PX0に合わせてx方向(横方向)とy方向(縦方向)とへ整然と並べられている。尚、x,y方向の少なくとも一方においてインク量データDA2のサイズがディザマスク500のサイズよりも大きい場合、ディザマスク500がx,y方向の少なくとも一方へ繰り返し並べられることにより、画素値Aiの比較対象の閾値Tiが決定される。画素値Aiは、画素値Ci,Mi,Yi,Kiのいずれかである。画素値Aiと閾値Tiとの比較は、CMYKのそれぞれについて行われる。x方向及びy方向へ順次設定される注目画素i(太線で囲った画素)について、画素値Aiと閾値Tiとが比較され、比較結果に応じて2値Diが決定される。2値Diは、2値ci,mi,yi,kiのいずれかである。例えば、画素値Aiが閾値Tiよりも大きい場合に2値Diが「1」(ドット有り)に決定され、画素値Aiが閾値Ti以下である場合に2値Diが「0」(ドット無し)に決定される。この判断基準に後述するハーフトーン処理部UH1,UH2が従うものとする。むろん、Ai≧Tiである場合にDi=1に決定されてAi<Tiである場合にDi=0に決定されてもよい。
まず、図7等を参照して、ホスト装置100から上位データDA21を受信した場合の処理を説明する。図7に示す先行ハーフトーン処理は、CMYKのそれぞれについて行われる。
プリンター1の通信I/F 72は、ホスト装置100からの上位データDA21を受信すると、該上位データDA21をRAM20に格納する(S200、図4のシーケンス3.1)。すると、プリンター1のコントローラー10は、先行ハーフトーン処理を開始し(図4のシーケンス3.1.1)、上位データDA21の画素PX0の中から処理画素i(例えば図1において太線で囲った画素)を設定する(S202)。処理画素設定後、コントローラー10は、画素値Aiにおいて下位Lビットが全て0であると仮定した場合の最小値MINiを取得する(S204)。
プリンター1の通信I/F 72は、ホスト装置100からの上位データDA21を受信すると、該上位データDA21をRAM20に格納する(S200、図4のシーケンス3.1)。すると、プリンター1のコントローラー10は、先行ハーフトーン処理を開始し(図4のシーケンス3.1.1)、上位データDA21の画素PX0の中から処理画素i(例えば図1において太線で囲った画素)を設定する(S202)。処理画素設定後、コントローラー10は、画素値Aiにおいて下位Lビットが全て0であると仮定した場合の最小値MINiを取得する(S204)。
図9は、上位Hビットのみ定まっている場合の最小値MINi及び最大値MAXiを例示している。N=8且つH=L=4である場合、最小値MINiの下位Lビットは2進数で0000(16進数で0)となる。従って、最小値MINiは、上位Hビットに応じて00,10,20,…,D0,E0,F0(16進数)となる。また、最大値MAXiの下位Lビットは2進数で1111(16進数でF)となる。従って、最大値MAXiは、上位Hビットに応じて0F,1F,2F,…,DF,EF,FF(16進数)となる。
その後、コントローラー10は、最小値MINiがディザマスク500の閾値Ti(図6参照)よりも大きいか否かに応じて処理を分岐させる(S206)。MINi>Tiである場合、MAXi>Tiでもあり、下位Lビットのデータに関わらず、ドット有りと判定することができる。この場合、コントローラー10は、2値Diを1(ドット有り)に設定し(S208)、処理をS218に進める。この場合の処理画素iは、ドットDT0の形成状態が決定された確定画素PX1である。
一方、MINi≦Tiである場合、コントローラー10は、画素値Aiにおいて下位Lビットが全て1であると仮定した場合の最大値MAXiを取得する(S210)。
一方、MINi≦Tiである場合、コントローラー10は、画素値Aiにおいて下位Lビットが全て1であると仮定した場合の最大値MAXiを取得する(S210)。
その後、コントローラー10は、最大値MAXiがディザマスク500の閾値Tiよりも大きいか否かに応じて処理を分岐させる(S212)。MAXi≦Tiである場合、MINi≦Tiでもあり、下位Lビットのデータに関わらず、ドット無しと判定することができる。この場合、コントローラー10は、2値Diを0(ドット無し)に設定し(S214)、処理をS218に進める。この場合の処理画素iは、ドットDT0の形成状態が決定された確定画素PX1である。
一方、MAXi>Tiである場合、上位Hビットだけではドットの形成有無を定めることができない。この場合、コントローラー10は、2値Diを−1(未確定)に設定し(S216)、処理をS218に進める。この場合の処理画素iは、ドットDT0の形成状態が決定されていない未確定画素PX2である。
一方、MAXi>Tiである場合、上位Hビットだけではドットの形成有無を定めることができない。この場合、コントローラー10は、2値Diを−1(未確定)に設定し(S216)、処理をS218に進める。この場合の処理画素iは、ドットDT0の形成状態が決定されていない未確定画素PX2である。
上述したS202〜S216の処理は、上位データDA21の全画素PX0が処理画素iに設定されるまで繰り返される(S218)。先行ハーフトーン処理が終了すると、各画素PX0に1(ドット有り)、0(ドット無し)、又は、−1(未確定)が格納された仮ドットデータDA31が得られる。
図10には、インク量データDA2の画素値Ai、及び、ディザマスク500の閾値Tiから仮ドットデータDA31が生成される例が示されている。図10でも画素値Ai及び閾値Tiを16進数で示している。
例えば、Ai=D8及びTi=00である場合、最小値MINi=D0が閾値Ti=00よりも大きいので、処理画素は1(ドット有り)の確定画素PX1となる。Ai=4B及びTi=C0である場合、最大値MAXi=4Fが閾値Ti=C0以下であるので、処理画素は0(ドット無し)の確定画素PX1となる。Ai=38及びTi=30である場合、最小値MINi=30が閾値Ti=30以下、且つ、最大値MAXi=3Fが閾値Ti=30よりも大きいので、処理画素は−1の未確定画素PX2となる。
例えば、Ai=D8及びTi=00である場合、最小値MINi=D0が閾値Ti=00よりも大きいので、処理画素は1(ドット有り)の確定画素PX1となる。Ai=4B及びTi=C0である場合、最大値MAXi=4Fが閾値Ti=C0以下であるので、処理画素は0(ドット無し)の確定画素PX1となる。Ai=38及びTi=30である場合、最小値MINi=30が閾値Ti=30以下、且つ、最大値MAXi=3Fが閾値Ti=30よりも大きいので、処理画素は−1の未確定画素PX2となる。
以上説明したようにして、コントローラー10は、最小値MINi、及び、最大値MAXi、並びに、ディザマスク500に基づいて、確定画素PX1についてドットデータDA3を生成する。
次に、図8等を参照して、ホスト装置100から下位データDA22を受信した場合の処理を説明する。図8に示す後行ハーフトーン処理は、CMYKのそれぞれについて行われる。
プリンター1の通信I/F 72は、ホスト装置100からの下位データDA22を受信すると、該下位データDA22をRAM20に格納する(S300、図4のシーケンス4.1)。すると、プリンター1のコントローラー10は、後行ハーフトーン処理を開始し(図4のシーケンス4.1.1)、上位データDA21の未確定画素PX2の中から処理画素iを設定する(S302)。処理画素設定後、コントローラー10は、CMYKのそれぞれについて、上位データDA21の処理画素iの上位Hビットa,b,c,dと下位データDA22の処理画素iの下位Lビットe,f,g,hとを結合する(S304)。これにより、処理画素iについて、ビット数Nの画素値Aiが復元される。
プリンター1の通信I/F 72は、ホスト装置100からの下位データDA22を受信すると、該下位データDA22をRAM20に格納する(S300、図4のシーケンス4.1)。すると、プリンター1のコントローラー10は、後行ハーフトーン処理を開始し(図4のシーケンス4.1.1)、上位データDA21の未確定画素PX2の中から処理画素iを設定する(S302)。処理画素設定後、コントローラー10は、CMYKのそれぞれについて、上位データDA21の処理画素iの上位Hビットa,b,c,dと下位データDA22の処理画素iの下位Lビットe,f,g,hとを結合する(S304)。これにより、処理画素iについて、ビット数Nの画素値Aiが復元される。
その後、コントローラー10は、画素値Aiがディザマスク500の閾値Ti(図6参照)よりも大きいか否かに応じて処理を分岐させる(S306)。Ai>Tiである場合、コントローラー10は、2値Diを1(ドット有り)に設定し(S308)、処理をS312に進める。
一方、Ai≦Tiである場合、コントローラー10は、2値Diを0(ドット無し)に設定し(S310)、処理をS312に進める。
一方、Ai≦Tiである場合、コントローラー10は、2値Diを0(ドット無し)に設定し(S310)、処理をS312に進める。
上述したS302〜S310の処理は、上位データDA21の全未確定画素PX2が処理画素iに設定されるまで繰り返される(S312)。後行ハーフトーン処理が終了すると、未確定画素PX2の−1(未確定)が1(ドット有り)、又は、0(ドット無し)に置き換えられ、最終的なドットデータDA3が得られる。この時点で、ハーフトーン処理部UH0は、ハーフトーン終了を信号送信部44に通知する(図4のシーケンス4.1.2)。
図10に示す例において、未確定画素PX2がAi=38及びTi=30である場合、Ai>Tiであるので、この未確定画素PX2は1(ドット有り)に決まる。未確定画素PX2がAi=F9及びTi=FAである場合、Ai≦Tiであるので、この未確定画素PX2は0(ドット無し)に決まる。
以上説明したようにして、コントローラー10は、未確定画素PX2について、画素値Aiの上位Hビット及び下位Lビットと、ディザマスク500の上位Hビット及び下位Lビットと、に基づいてドットデータDA3を生成する。
ドットデータ生成後、コントローラー10の信号送信部44がドットデータDA3から駆動信号SGを生成して駆動回路62に出力する(S314、図4のシーケンス4.1.2.1)。これにより、ドットデータDA3で表されるドットDT0が形成されるように記録ヘッド60からインク滴67が吐出され、複数のドットDT0による印刷画像IM1が被印刷物ME1に形成される。
図11は、インク量データDA2の転送及びハーフトーン処理にかかる時間を上位Hビットと下位Lビットとに分離する場合(二点鎖線よりも上側)と分離しない場合(二点鎖線よりも下側)とで比較した例を示している。図11において、横軸は時間tの軸であり、各矢印は処理が実行中であることを示している。図11には、ハーフトーン処理対象のデータが全て転送された時点からハーフトーン処理が開始される例が示されている。
データの転送時間がデータ量に比例すると仮定すると、上位データDA21の転送時間は非分離のインク量データDA2の転送時間の約H/Nであり、下位データDA22の転送時間は非分離のインク量データDA2の転送時間の約L/Nである。従って、上位データDA21と下位データDA22とを合わせた転送時間は、非分離のインク量データDA2の転送時間とほとんど変わらない。実際には、上位Hビットを集めた上位データDA21や下位Lビットを集めた下位データDA22を圧縮する場合、同じビット値が連続することが多くなるため、元のインク量データDA2を圧縮する場合と比べて圧縮効率が高くなって転送時間が短くなることが多い。
データの転送時間がデータ量に比例すると仮定すると、上位データDA21の転送時間は非分離のインク量データDA2の転送時間の約H/Nであり、下位データDA22の転送時間は非分離のインク量データDA2の転送時間の約L/Nである。従って、上位データDA21と下位データDA22とを合わせた転送時間は、非分離のインク量データDA2の転送時間とほとんど変わらない。実際には、上位Hビットを集めた上位データDA21や下位Lビットを集めた下位データDA22を圧縮する場合、同じビット値が連続することが多くなるため、元のインク量データDA2を圧縮する場合と比べて圧縮効率が高くなって転送時間が短くなることが多い。
ハーフトーン処理については、下位データDA22の転送完了時点で先行ハーフトーン処理の少なくとも一部が終了している。後行ハーフトーン処理は、上位データDA21の未確定画素PX2に限定して行われるので、短い時間で終了する。従って、図11に示すように、インク量データDA2を上位Hビットと下位Lビットとに分離すると全てのハーフトーン処理が終了するまでの時間が短縮される。
また、上位データDA21の一部の未確定画素PX2が決定されると、図11に示すように、先行ハーフトーン処理と後行ハーフトーン処理とを並列して行うことができる。これにより、全てのハーフトーン処理が終了するまでの時間がさらに短縮される。
また、上位データDA21の一部の未確定画素PX2が決定されると、図11に示すように、先行ハーフトーン処理と後行ハーフトーン処理とを並列して行うことができる。これにより、全てのハーフトーン処理が終了するまでの時間がさらに短縮される。
さらに、ハーフトーン処理にSIMD(Single Instruction Multiple Data)が適用されると、ハーフトーン処理の時間が短縮される。SIMDは、一つの命令を同時に複数のデータに適用して並列に処理することを意味する。
図12A〜12Cに例示するように、コントローラー10のCPU11が32ビットのレジスターにデータを読み込んで処理を行うものとする。図12Aは、32ビットのデータをレジスターに読み込んで命令を実行して結果を得る様子を示している。ここで、データの表現に8ビットで十分である場合、図12Bに示すように8ビット×4個のデータをまとめてレジスターに読み込んで命令を4個のデータに適用して並列に処理すれば、処理時間が約1/4で済む。データの表現に4ビットで十分である場合、図12Cに示すように4ビット×8個のデータをまとめてレジスターに読み込んで命令を8個のデータに適用して並列に処理すれば、処理時間が約1/8で済む。
図13は、SIMDを適用する場合にインク量データDA2のハーフトーン処理にかかる時間を上位Hビットと下位Lビットとに分離する場合(二点鎖線よりも上側)と分離しない場合(二点鎖線よりも下側)とで比較した例を示している。図13において、横軸は時間tの軸であり、各矢印は処理が実行中であることを示している。
図13の下側に示すようにN=8ビットのインク量データDA2に対してそのままハーフトーン処理を行う場合、図12Bで示したように8ビット×4個のデータを並列に処理することが可能である。
図13の下側に示すようにN=8ビットのインク量データDA2に対してそのままハーフトーン処理を行う場合、図12Bで示したように8ビット×4個のデータを並列に処理することが可能である。
図13の上側に示すようにH=4ビットの上位データDA21に対してハーフトーン処理を行う場合、図12Cで示したように4ビット×8個のデータを並列に処理することが可能である。従って、上位データDA21のハーフトーン処理時間は、非分離のインク量データDA2のハーフトーン処理時間の約1/2である。後行ハーフトーン処理は、上位データDA21の未確定画素PX2に限定して行われるので、短い時間で終了する。従って、図13に示すように、インク量データDA2を上位Hビットと下位Lビットとに分離すると全てのハーフトーン処理が終了するまでの時間が短縮される。
また、上位データDA21の一部の未確定画素PX2が決定されると、図13に示すように、先行ハーフトーン処理と後行ハーフトーン処理とを並列して行うことができる。これにより、全てのハーフトーン処理が終了するまでの時間がさらに短縮される。
また、上位データDA21の一部の未確定画素PX2が決定されると、図13に示すように、先行ハーフトーン処理と後行ハーフトーン処理とを並列して行うことができる。これにより、全てのハーフトーン処理が終了するまでの時間がさらに短縮される。
以上説明したように、本具体例は、出力画像の画質を維持しながらハーフトーン処理を高速化させることができる。
(4)変形例:
本発明は、種々の変形例が考えられる。
例えば、RGBデータDA1からインク量データDA2への色変換は、プリンター1で行われてもよい。この場合、ホスト装置100はRGBデータDA1をプリンター1に送信すればよい。また、先行ハーフトーン処理、及び、後行ハーフトーン処理は、ホスト装置100で行われてもよい。この場合、ホスト装置100はドットデータDA3をプリンター1に送信すればよい。画像処理プログラムは、上述した各種機能をホスト装置100に実現可能である。むろん、上位データDA21及び下位データDA22をホスト装置100からプリンター1に転送しない場合であっても、例えば、SIMDを適用することにより、画質を維持しながらハーフトーン処理を高速化させることができる。
本発明は、種々の変形例が考えられる。
例えば、RGBデータDA1からインク量データDA2への色変換は、プリンター1で行われてもよい。この場合、ホスト装置100はRGBデータDA1をプリンター1に送信すればよい。また、先行ハーフトーン処理、及び、後行ハーフトーン処理は、ホスト装置100で行われてもよい。この場合、ホスト装置100はドットデータDA3をプリンター1に送信すればよい。画像処理プログラムは、上述した各種機能をホスト装置100に実現可能である。むろん、上位データDA21及び下位データDA22をホスト装置100からプリンター1に転送しない場合であっても、例えば、SIMDを適用することにより、画質を維持しながらハーフトーン処理を高速化させることができる。
ハーフトーン処理は、インク量データDA2から複数サイズのドットの形成率を表すドット形成率データを生成したうえでドットのサイズ毎にドット形成率データをドットデータDA3に変換する処理でもよい。これにより、複数サイズのドットが形成される。例えば、インク量データDA2を小ドット形成率データと中ドット形成率データと大ドット形成率データとに分けると、小ドットの形成有無を表す小ドットデータを小ドット形成率データから生成することができ、中ドットの形成有無を表す中ドットデータを中ドット形成率データから生成することができ、大ドットの形成有無を表す大ドットデータを大ドット形成率データから生成することができる。
また、本技術は、ディザ法によりインク量データを3値以上の多値データに直接変換する場合にも適用可能である。
また、本技術は、ディザ法によりインク量データを3値以上の多値データに直接変換する場合にも適用可能である。
上述した処理は、順番を入れ替える等、適宜、変更可能である。例えば、図7の先行ハーフトーン処理において、S210〜S214の処理をS202とS204との間に行うことが可能である。
また、S206において、MINi>Tiであるか否かの判断の代わりに、MINi+1≧Tiであるか否かを判断してもよいし、MAXi−15>Tiであるか否かを判断してもよい。
S212において、MAXi>Tiであるか否かの判断の代わりに、MAXi−1≧Tiであるか否かを判断してもよいし、MINi+15>Tiであるか否かを判断してもよい。
また、S206において、MINi>Tiであるか否かの判断の代わりに、MINi+1≧Tiであるか否かを判断してもよいし、MAXi−15>Tiであるか否かを判断してもよい。
S212において、MAXi>Tiであるか否かの判断の代わりに、MAXi−1≧Tiであるか否かを判断してもよいし、MINi+15>Tiであるか否かを判断してもよい。
ところで、図14に例示するように、上位Hビットの数Hと下位Lビットの数Lとの少なくとも一方を変更可能に設定してもよい。図14に示す印刷制御処理は、図5で示した処理と比べてS122,S124の処理が追加されている。ここで、S122,S124は、送信側ビット数変更部HB0、及び、送信側ビット数変更機能FHB0に対応している。
図14に示す処理が開始されると、ホスト装置100は、印刷画像IM1を形成する対象のRGBデータDA1のビット数に応じて上位Hビットの数Hと下位Lビットの数Lを設定し、該ビット数H,Lを記憶装置114に記憶する(S122)。例えば、RGBデータDA1のビット数が8である場合、インク量データDA2のビット数Nを8にすることを前提にして、H=L=4に設定するものとする。また、RGBデータDA1の各色のビット数が16である場合、インク量データDA2の各色のビット数Nを16にすることを前提にして、H=L=8に設定するものとする。
図14に示す処理が開始されると、ホスト装置100は、印刷画像IM1を形成する対象のRGBデータDA1のビット数に応じて上位Hビットの数Hと下位Lビットの数Lを設定し、該ビット数H,Lを記憶装置114に記憶する(S122)。例えば、RGBデータDA1のビット数が8である場合、インク量データDA2のビット数Nを8にすることを前提にして、H=L=4に設定するものとする。また、RGBデータDA1の各色のビット数が16である場合、インク量データDA2の各色のビット数Nを16にすることを前提にして、H=L=8に設定するものとする。
その後、ホスト装置100は、RGBデータDA1をビット数Nのインク量データDA2に色変換し(S102)、このインク量データDA2を設定ビット数Hの上位データDA21と設定ビット数Lの下位データDA22とに分離する(S104)。また、ホスト装置100は、設定されたビット数H,Lをプリンター1に送信する(S124)。この送信処理をトリガーとして、図15Aに示す処理が開始される。さらに、ホスト装置100は、上位データDA21をプリンター1に送信し(S106)、下位データDA22をプリンター1に送信して(S108)、印刷制御処理を終了させる。
図15Aは、受信側ビット数変更部UB0で行われる処理の例を示している。図15Bは、設定されたビット数H,Lに従って行われる先行ハーフトーン処理の例を示している。図15Cは、設定されたビット数H,Lに従って行われる後行ハーフトーン処理の例を示している。ここで、S400,S402,S222,S322は、受信側ビット数変更部UB0、及び、受信側ビット数変更機能FUB0に対応している。
プリンター1の通信I/F 72は、ホスト装置100からのビット数H,Lを受信すると(S400)、コントローラー10を呼び出す。コントローラー10は、ビット数設定処理を開始し、ホスト装置100からのビット数H,Lを設定されたビット数H,LとしてRAM20に保持し(S402)、ビット数設定処理を終了させる。
プリンター1の通信I/F 72は、ホスト装置100からのビット数H,Lを受信すると(S400)、コントローラー10を呼び出す。コントローラー10は、ビット数設定処理を開始し、ホスト装置100からのビット数H,Lを設定されたビット数H,LとしてRAM20に保持し(S402)、ビット数設定処理を終了させる。
図15Bに示す先行ハーフトーン処理において、コントローラー10は、まず、設定されたビット数H,Lを読み出す(S222)。そのうえで、コントローラー10は、設定されたビット数H,Lに従って、図7で示したS202〜S218の処理を行って仮ドットデータDA31を生成し、先行ハーフトーン処理を終了させる。
図15Cに示す後行ハーフトーン処理において、コントローラー10は、まず、設定されたビット数H,Lを読み出す(S322)。そのうえで、コントローラー10は、設定されたビット数H,Lに従って、図8で示したS302〜S312の処理を行って最終的なドットデータDA3を生成し、後行ハーフトーン処理を終了させる。
図15Cに示す後行ハーフトーン処理において、コントローラー10は、まず、設定されたビット数H,Lを読み出す(S322)。そのうえで、コントローラー10は、設定されたビット数H,Lに従って、図8で示したS302〜S312の処理を行って最終的なドットデータDA3を生成し、後行ハーフトーン処理を終了させる。
以上より、インク量データDA2の画素値Aiのビット数Nに応じて上位Hビットの数Hと下位Lビットの数Lとが変わるので、ハーフトーン処理の自由度が向上する。
尚、H+L<Nでもよいので、上位Hビットの数Hを変えないで下位Lビットの数Lを変えることや、下位Lビットの数Lを変えないで上位Hビットの数Hを変えることも可能である。
尚、H+L<Nでもよいので、上位Hビットの数Hを変えないで下位Lビットの数Lを変えることや、下位Lビットの数Lを変えないで上位Hビットの数Hを変えることも可能である。
ところで、図16に例示するように、第二ハーフトーン処理部UH2は、未確定画素PX2について、画素値Aiのうち下位Lビットe,f,g,hのみのデータALiと、ディザマスク500の閾値Tiのうち下位Lビットe,f,g,hのみのデータTLiと、に基づいてドットデータDA3を生成することも可能である。その理由は、以下の通りである。
図7で示した先行ハーフトーン処理において、処理画素iが未確定画素PX2になるのは、閾値Tiが最小値MINi以上、且つ、最大値MAXi未満の場合に限定される。
MINi≦Ti<MAXi
ここで、画素値Aiの上位HビットのデータをAHiとすると、MINi=16・AHi、及び、MAXi=16・AHi+15である。従って、上記不等式は、以下の不等式に置き換えられる。
16・AHi≦Ti<16・AHi+15
以上より、処理画素iが未確定画素PX2になるのは、閾値Tiの上位Hビットが画素値Aiの上位Hビットと同じである場合に限定される。従って、画素値Aiの下位LビットのデータALiと閾値Tiの下位LビットのデータTLiとの比較結果は、画素値Ai=16・AHi+ALiと閾値Ti=16・AHi+TLiとの比較結果と同じになる。
MINi≦Ti<MAXi
ここで、画素値Aiの上位HビットのデータをAHiとすると、MINi=16・AHi、及び、MAXi=16・AHi+15である。従って、上記不等式は、以下の不等式に置き換えられる。
16・AHi≦Ti<16・AHi+15
以上より、処理画素iが未確定画素PX2になるのは、閾値Tiの上位Hビットが画素値Aiの上位Hビットと同じである場合に限定される。従って、画素値Aiの下位LビットのデータALiと閾値Tiの下位LビットのデータTLiとの比較結果は、画素値Ai=16・AHi+ALiと閾値Ti=16・AHi+TLiとの比較結果と同じになる。
図16に示す後行ハーフトーン処理は、図8で示した処理と比べて、S342,S344の処理が追加され、S306の処理がS346の処理に置き換わっている。
図16に示す後行ハーフトーン処理が開始されると、コントローラー10は、上位データDA21の未確定画素PX2の中から処理画素iを設定し(S302)、下位データDA22から処理画素iの下位Lビットe,f,g,hのデータALiを取得する(S342)。また、コントローラー10は、ディザマスク500から処理画素iに対応する閾値Tiの下位Lビットe,f,g,h(閾値TLi)を取得する(S344)。
図16に示す後行ハーフトーン処理が開始されると、コントローラー10は、上位データDA21の未確定画素PX2の中から処理画素iを設定し(S302)、下位データDA22から処理画素iの下位Lビットe,f,g,hのデータALiを取得する(S342)。また、コントローラー10は、ディザマスク500から処理画素iに対応する閾値Tiの下位Lビットe,f,g,h(閾値TLi)を取得する(S344)。
その後、コントローラー10は、下位LビットのデータALiが閾値TLiよりも大きいか否かに応じて処理を分岐させる(S346)。ALi>TLiである場合、Ai>Tiでもあり、コントローラー10は、2値Diを1(ドット有り)に設定し(S308)、処理をS312に進める。
一方、ALi≦TLiである場合、Ai≦Tiでもあり、コントローラー10は、2値Diを0(ドット無し)に設定し(S310)、処理をS312に進める。
一方、ALi≦TLiである場合、Ai≦Tiでもあり、コントローラー10は、2値Diを0(ドット無し)に設定し(S310)、処理をS312に進める。
上述したS302,S342〜S346,S308,S310の処理は、上位データDA21の全未確定画素PX2が処理画素iに設定されるまで繰り返される(S312)。従って、未確定画素PX2について、画素値Aiの下位Lビットのみと、ディザマスク500の下位Lビットのみと、に基づいてドットデータDA3が生成される。
本変形例も、出力画像の画質を維持しながらハーフトーン処理を高速化させることができる。
本変形例も、出力画像の画質を維持しながらハーフトーン処理を高速化させることができる。
(5)結び:
以上説明したように、本発明によると、種々の態様により、画質を維持しながらハーフトーン処理を高速化させることが可能な技術等を提供することができる。むろん、独立請求項に係る構成要件のみからなる技術でも、上述した基本的な作用、効果が得られる。
また、上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術及び上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
以上説明したように、本発明によると、種々の態様により、画質を維持しながらハーフトーン処理を高速化させることが可能な技術等を提供することができる。むろん、独立請求項に係る構成要件のみからなる技術でも、上述した基本的な作用、効果が得られる。
また、上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術及び上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
1…プリンター(画像形成装置の例)、10…コントローラー、11…CPU、20…RAM、30…不揮発性メモリー、44…信号送信部、50…機構部、60…記録ヘッド、66…インク(色材の例)、67…インク滴(液滴の例)、100…ホスト装置、500…ディザマスク、Ai…画素値、DA1…RGBデータ、DA2…インク量データ(画像データの例)、DA21…上位データ(第一データの例)、DA22…下位データ(第二データの例)、DA3…ドットデータ、DA31…仮ドットデータ、DT0…ドット、HB0…送信側ビット数変更部、HC0…色変換部、HS0…データ分離部、HT1…第一送信処理部、HT2…第二送信処理部、IM1…画像、ME1…被印刷物、MINi…最小値(第一仮値の例)、MAXi…最大値(第二仮値の例)、PX0…画素、PX1…確定画素(第一画素の例)、PX2…未確定画素(第二画素の例)、SY1…印刷システム、Ti…閾値、U0…画像処理装置、UB0…ビット数変更部、UD0…ドット形成部、UH0…ハーフトーン処理部、UH1…第一ハーフトーン処理部、UH2…第二ハーフトーン処理部、UR1…第一受信処理部、UR2…第二受信処理部、V0…暫定値、VT…真値。
Claims (7)
- 画素にビット数Nの画素値を有する画像データのハーフトーン処理を行う画像処理装置であって、
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、画像処理装置。 - 前記暫定値は、前記画素値において下位Lビットが全て0であると仮定した場合の第一仮値、及び、前記画素値において下位Lビットが全て1であると仮定した場合の第二仮値を含み、
前記第一ハーフトーン処理部は、前記第一仮値、及び、前記第二仮値、並びに、前記ディザマスクに基づいて、前記第一画素について前記ドットデータを形成する、請求項1に記載の画像処理装置。 - 前記第一ハーフトーン処理部は、前記第一画素について、前記第一仮値が少なくとも前記ディザマスクの閾値よりも大きい場合に前記ドットデータをドットが形成される値に決定し、前記第二仮値が少なくとも前記ディザマスクの閾値よりも小さい場合に前記ドットデータをドットが形成されない値に決定する、請求項2に記載の画像処理装置。
- 前記ビット数Nのビットに含まれる上位Hビットと、前記ビット数Nのビットに含まれる下位Lビットと、の少なくとも一方のビット数を変更するビット数変更部をさらに含む、請求項1〜請求項3のいずれか一項に記載の画像処理装置。
- 画素にビット数Nの画素値を有する画像データを送信するホスト装置と、該ホスト装置から前記画像データを受信して該画像データのハーフトーン処理を行う画像処理装置と、を有する画像処理システムであって、
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記ホスト装置は、
前記画像データのうち前記画素値の上位Hビットのデータを集めた第一データを前記画像処理装置に送信する第一送信処理部と、
前記画像データのうち前記画素値の下位Lビットのデータを集めた第二データを前記第一データの送信後に前記画像処理装置に送信する第二送信処理部と、を含み、
前記画像処理装置は、
前記第一データを受信する第一受信処理部と、
前記第一データに含まれる前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
前記第二データを受信する第二受信処理部と、
前記第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、少なくとも前記第二データに含まれる前記画素値の下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、画像処理システム。 - 画素にビット数Nの画素値を有する画像データに基づいてドットを形成する画像形成装置であって、
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、
前記ドットデータに従ってドットを形成するドット形成部と、を含む、画像形成装置。 - 画素にビット数Nの画素値を有する画像データのハーフトーン処理を行うための画像処理プログラムであって、
前記ビット数Nのビットは、上位Hビット(但しHは1≦H<Nを満たす整数)、及び、該上位Hビットに続く下位Lビット(但しLは1≦L≦N−Hを満たす整数)を含み、
前記画素値の上位Hビットが定まった場合の暫定値と、ディザマスクと、に基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理機能と、
該第一ハーフトーン処理機能においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Lビットと、前記ディザマスクの少なくとも下位Lビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理機能と、をコンピューターに実現させる、画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017142701A JP2019024166A (ja) | 2017-07-24 | 2017-07-24 | 画像処理装置、画像処理システム、画像形成装置、及び、画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017142701A JP2019024166A (ja) | 2017-07-24 | 2017-07-24 | 画像処理装置、画像処理システム、画像形成装置、及び、画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019024166A true JP2019024166A (ja) | 2019-02-14 |
Family
ID=65368702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017142701A Pending JP2019024166A (ja) | 2017-07-24 | 2017-07-24 | 画像処理装置、画像処理システム、画像形成装置、及び、画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019024166A (ja) |
-
2017
- 2017-07-24 JP JP2017142701A patent/JP2019024166A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4953789B2 (ja) | 画像処理装置、記録装置、画像処理方法、プログラム、および記憶媒体 | |
JP2015023469A (ja) | 画像処理装置、画像処理方法およびプログラム | |
US7656558B2 (en) | Image processing system, image processing device, image output device, and method and program product therefor | |
US7884969B2 (en) | Image processing apparatus, printing apparatus and image processing method | |
JP2001069358A (ja) | 画像処理装置およびその方法、並びに、記憶媒体 | |
US7557954B2 (en) | Fast color interpolation | |
JP4329311B2 (ja) | 画像形成装置及び方法並びに画像形成システム | |
US20140268241A1 (en) | Image data processing apparatus, print apparatus, and print system | |
US20140016141A1 (en) | Image processing apparatus, image processing method, and program | |
US10079960B1 (en) | System and method for halftoning in a print system | |
JP2011148234A (ja) | 画像印刷方法及び画像印刷装置 | |
JP2016051933A (ja) | 印刷制御装置、及び、印刷制御方法 | |
JP2019024166A (ja) | 画像処理装置、画像処理システム、画像形成装置、及び、画像処理プログラム | |
JP6922512B2 (ja) | 画像処理装置、画像処理システム、画像形成装置、及び、画像処理プログラム | |
JP2001102935A (ja) | データ圧縮制御装置、データ圧縮制御方法、印刷情報形成装置、印刷システム及びプログラムを記録した記録媒体 | |
JPWO2004086749A1 (ja) | 画像出力制御システム、画像処理装置およびその方法 | |
US9641726B1 (en) | Multi-ink vector halftoning using multi-bit vector halftoning methods | |
JP2007312033A (ja) | 画像処理装置及び画像処理方法 | |
JP4332741B2 (ja) | 複数の色変換プロファイルに基づく色変換 | |
JP2016096491A (ja) | 印刷制御装置、及び、印刷制御方法 | |
JP2007110226A (ja) | 画像形成装置 | |
JP4332742B2 (ja) | 複数の色変換プロファイルに基づく色変換 | |
JP2005354421A (ja) | 色空間変換装置、色空間変換方法および画像形成コントローラ | |
JP2019012984A (ja) | 画像処理方法、画像処理装置、画像出力システム、及び、画像処理プログラム | |
JP6540458B2 (ja) | 画像処理方法、画像処理装置、および印刷システム |