(57)【要約】【課題】画質を維持しながらハーフトーン処理を高速化させる技術を提供する。【解決手段】画素にビット数Ｎの画素値を有する画像データのハーフトーン処理を行う画像処理装置であって、前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含み、前記画素値の上位Ｈビットとディザマスクの上位Ｈビットとに基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Ｌビットと、前記ディザマスクの少なくとも下位Ｌビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、画像処理装置。【選択図】図１
2019024167.tif 000002
【特許請求の範囲】
【請求項１】
画素にビット数Ｎの画素値を有する画像データのハーフトーン処理を行う画像処理装置であって、
前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含み、
前記画素値の上位Ｈビットとディザマスクの上位Ｈビットとに基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Ｌビットと、前記ディザマスクの少なくとも下位Ｌビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、画像処理装置。
【請求項２】
前記第二ハーフトーン処理部は、前記第二画素について、前記画素値の内の下位Ｌビットと、前記ディザマスクの内の下位Ｌビットと、に基づいて前記ドットデータを生成する、請求項１に記載の画像処理装置。
【請求項３】
前記第一ハーフトーン処理部は、前記画素値の上位Ｈビットと前記ディザマスクの上位Ｈビットとが異なる画素を前記第一画素と判断し、該第一画素について前記ドットデータを生成する、請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記第一ハーフトーン処理部は、前記第一画素について、前記画素値の上位Ｈビットの値が前記ディザマスクの上位Ｈビットの値よりも大きい場合に前記ドットデータをドットが形成される値に決定し、前記画素値の上位Ｈビットの値が前記ディザマスクの上位Ｈビットの値よりも小さい場合に前記ドットデータをドットが形成されない値に決定し、
前記第二ハーフトーン処理部は、前記第二画素について、前記画素値の下位Ｌビットの値が少なくとも前記ディザマスクの上位Ｈビットの値よりも大きい場合に前記ドットデータをドットが形成される値に決定し、前記画素値の下位Ｌビットの値が少なくとも前記ディザマスクの上位Ｈビットの値よりも小さい場合に前記ドットデータをドットが形成されない値に決定する、請求項１〜請求項３のいずれか一項に記載の画像処理装置。
【請求項５】
前記ビット数Ｎのビットに含まれる上位Ｈビットと、前記ビット数Ｎのビットに含まれる下位Ｌビットと、の少なくとも一方のビット数を変更するビット数変更部をさらに含む、請求項１〜請求項４のいずれか一項に記載の画像処理装置。
【請求項６】
画素にビット数Ｎの画素値を有する画像データを送信するホスト装置と、該ホスト装置から前記画像データを受信して該画像データのハーフトーン処理を行う画像処理装置と、を有する画像処理システムであって、
前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含み、
前記ホスト装置は、
前記画像データのうち前記画素値の上位Ｈビットのデータを集めた第一データを前記画像処理装置に送信する第一送信処理部と、
前記画像データのうち前記画素値の下位Ｌビットのデータを集めた第二データを前記第一データの送信後に前記画像処理装置に送信する第二送信処理部と、を含み、
前記画像処理装置は、
前記第一データを受信する第一受信処理部と、
前記第一データに含まれる前記画素値の上位Ｈビットとディザマスクの上位Ｈビットとに基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
前記第二データを受信する第二受信処理部と、
前記第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、少なくとも前記第二データに含まれる前記画素値の下位Ｌビットと、前記ディザマスクの少なくとも下位Ｌビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、画像処理システム。
【請求項７】
画素にビット数Ｎの画素値を有する画像データに基づいてドットを形成する画像形成装置であって、
前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含み、
前記画素値の上位Ｈビットとディザマスクの上位Ｈビットとに基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Ｌビットと、前記ディザマスクの少なくとも下位Ｌビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、
前記ドットデータに従ってドットを形成するドット形成部と、を含む、画像形成装置。
【請求項８】
画素にビット数Ｎの画素値を有する画像データのハーフトーン処理を行うための画像処理プログラムであって、
前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含み、
前記画素値の上位Ｈビットとディザマスクの上位Ｈビットとに基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理機能と、
該第一ハーフトーン処理機能においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Ｌビットと、前記ディザマスクの少なくとも下位Ｌビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理機能と、をコンピューターに実現させる、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディザマスクを用いて画像データのハーフトーン処理を行う技術に関する。
【背景技術】
【０００２】
パーソナルコンピューター等といったホスト装置から転送された多階調の画像データに対してインクジェットプリンターがハーフトーン処理を行う場合がある。前記画像データの各画素は、２N階調（Ｎは８や１６等）の画素値を有している。例えば、プリンターがＣ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、及び、Ｋ（ブラック）のインクを使用し、画像データがＣ、Ｍ、Ｙ、及び、Ｋのインク使用量を表す場合、この画像データの画素値とディザマスクの閾値との比較結果に応じてＣ、Ｍ、Ｙ、及び、Ｋのインクドットの形成状態を決定することができる。
【０００３】
尚、特許文献１に示される画像処理装置は、２(n/2)×２(n/2)サイズのマトリックスを用いて２2n多階調画像から２値画像を生成する際に、２2nレベルの信号を上位２ nビットと下位２ nビットに分離し、下位２ nビットがマトリックスの値より大きければ上位２ nビットを１繰り上げ、マトリックスの値より小さければ上位２ nビットをそのままにして、マトリックスの値が上位２ nビットの値よりも大きい画素を０の値とし、マトリックスの値が上位２ nビットの値よりも小さい画素を１の値としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１８５０３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した技術は、多階調画像の２2nを上位２ nビットに少なくしてからマトリックスの値と比較することにより２値を決定している。従って、下位２ nビットの情報がある程度しか２値画像に反映されず、その分、２値画像の画質が低下する。
尚、上述のような問題は、インクジェットプリンターがハーフトーン処理を行う場合に限定されず、種々の機器がハーフトーン処理を行う場合にも存在する。
【０００６】
本発明の目的の一つは、画質を維持しながらハーフトーン処理を高速化させることが可能な技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的の一つを達成するため、本発明は、画素にビット数Ｎの画素値を有する画像データのハーフトーン処理を行う画像処理装置であって、
前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含み、
前記画素値の上位Ｈビットとディザマスクの上位Ｈビットとに基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Ｌビットと、前記ディザマスクの少なくとも下位Ｌビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、態様を有する。
【０００８】
また、本発明は、上述した画像処理装置の各部に対応する機能をコンピューターに実現させる画像処理プログラムの態様を有する。
【０００９】
さらに、本発明は、画素にビット数Ｎの画素値を有する画像データを送信するホスト装置と、該ホスト装置から前記画像データを受信して該画像データのハーフトーン処理を行う画像処理装置と、を有する画像処理システムであって、
前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含み、
前記ホスト装置は、
前記画像データのうち前記画素値の上位Ｈビットのデータを集めた第一データを前記画像処理装置に送信する第一送信処理部と、
前記画像データのうち前記画素値の下位Ｌビットのデータを集めた第二データを前記第一データの送信後に前記画像処理装置に送信する第二送信処理部と、を含み、
前記画像処理装置は、
前記第一データを受信する第一受信処理部と、
前記第一データに含まれる前記画素値の上位Ｈビットとディザマスクの上位Ｈビットとに基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
前記第二データを受信する第二受信処理部と、
前記第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、少なくとも前記第二データに含まれる前記画素値の下位Ｌビットと、前記ディザマスクの少なくとも下位Ｌビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、を含む、態様を有する。
【００１０】
さらに、本発明は、画素にビット数Ｎの画素値を有する画像データに基づいてドットを形成する画像形成装置であって、
前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含み、
前記画素値の上位Ｈビットとディザマスクの上位Ｈビットとに基づいて、ドットの形成状態を決定することができる第一画素についてドットの形成状態を表すドットデータを生成する第一ハーフトーン処理部と、
該第一ハーフトーン処理部においてドットの形成状態を決定することができない第二画素について、前記画素値の少なくとも下位Ｌビットと、前記ディザマスクの少なくとも下位Ｌビットと、に基づいて前記ドットデータを生成する第二ハーフトーン処理部と、
前記ドットデータに従ってドットを形成するドット形成部と、を含む、態様を有する。
【００１１】
上述した態様は、画質を維持しながらハーフトーン処理を高速化させる技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】画像処理システムを含む画像形成システムで行われる処理の流れの例を模式的に示す図。
【図２】画像処理装置を含む画像形成装置の構成例をホスト装置とともに模式的に示すブロック図。
【図３】ホスト装置の構成例を画像形成装置とともに模式的に示すブロック図。
【図４】印刷のシーケンスの例を示すシーケンス図。
【図５】ホスト装置で行われる印刷制御処理の例を示すフローチャート。
【図６】ディザ法によるハーフトーン処理の例を模式的に示す図。
【図７】第一ハーフトーン処理部で行われる処理の例を第一データの受信処理の例とともに示すフローチャート。
【図８】第二ハーフトーン処理部で行われる処理の例を第二データの受信処理とドット形成処理の例とともに示すフローチャート。
【図９】上位Ｈビットのデータに基づいて仮ドットデータを生成する例を模式的に示す図。
【図１０】下位Ｌビットのデータに基づいてドットデータを生成する例を模式的に示す図。
【図１１】データ転送及びハーフトーン処理の時間短縮の例を模式的に示す図。
【図１２】図１２Ａ〜１２ＣはＳＩＭＤ（Single Instruction Multiple Data）を模式的に説明するための図。
【図１３】ハーフトーン処理の時間短縮の例を模式的に示す図。
【図１４】上位Ｈビットの数Ｈと下位Ｌビットの数Ｌを変更する例を模式的に示す図。
【図１５】図１５Ａは受信側ビット数変更部で行われる処理の例を示すフローチャート、図１５Ｂは第一ハーフトーン処理部で行われる処理の別の例を示すフローチャート、図１５Ｃは第二ハーフトーン処理部で行われる処理の別の例を示すフローチャート。
【図１６】第二ハーフトーン処理部で行われる処理の別の例を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を説明する。むろん、以下の実施形態は本発明を例示するものに過ぎず、実施形態に示す特徴の全てが発明の解決手段に必須になるとは限らない。
【００１４】
（１）本発明に含まれる技術の概要：
まず、図１〜１６に示される例を参照して本発明に含まれる技術の概要を説明する。特に、図１は、画像処理システムの各部が行う処理の例を模式的に示している。尚、本願の図は模式的に例を示す図であり、各図は整合していないことがある。むろん、本技術の各要素は、符号で示される具体例に限定されない。
【００１５】
［態様１］
図１等に例示するように、本技術の一態様に係る画像処理装置Ｕ０（例えばプリンター１に含まれる。）は、画素ＰＸ０にビット数Ｎの画素値Ａｉを有する画像データ（例えばインク量データＤＡ２）のハーフトーン処理を行う画像処理装置Ｕ０であって、第一ハーフトーン処理部ＵＨ１と第二ハーフトーン処理部ＵＨ２を含む。前記ビット数Ｎのビットは、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）、及び、該上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）を含む。前記第一ハーフトーン処理部ＵＨ１は、前記画素値Ａｉの上位Ｈビット（例えばデータＡＨｉ）とディザマスク５００の上位Ｈビット（例えば閾値ＴＨｉ）とに基づいて、ドットＤＴ０の形成状態を決定することができる第一画素（例えば確定画素ＰＸ１）についてドットＤＴ０の形成状態を表すドットデータＤＡ３を生成する。前記第二ハーフトーン処理部ＵＨ２は、前記第一ハーフトーン処理部ＵＨ１においてドットＤＴ０の形成状態を決定することができない第二画素（例えば未確定画素ＰＸ２）について、前記画素値Ａｉの少なくとも下位Ｌビットと、前記ディザマスク５００の少なくとも下位Ｌビットと、に基づいて前記ドットデータＤＡ３を生成する。
【００１６】
上記態様１では、画素値Ａｉの上位Ｈビット（ＡＨｉ）とディザマスク５００の上位Ｈビット（ＴＨｉ）とに基づいて、先に、ドットＤＴ０の形成状態を決定することができる第一画素（ＰＸ１）についてドットデータＤＡ３が生成される。ドットＤＴ０の形成状態を決定することができない第二画素（ＰＸ２）について、画素値Ａｉの少なくとも下位Ｌビットと、ディザマスク５００の少なくとも下位Ｌビットと、に基づいてドットデータＤＡ３が生成される。従って、本態様は、画質を維持しながらハーフトーン処理を高速化させる画像処理装置を提供することができる。
【００１７】
ここで、上位Ｈビットの数Ｈは、１≦Ｈ＜Ｎを満たす整数であればよく、２≦Ｈ≦Ｎ−２を満たす整数がより好ましい。
下位Ｌビットの数Ｌは、１≦Ｌ≦Ｎ−Ｈを満たす整数であればよく、２≦Ｌ≦Ｎ−Ｈを満たす整数がより好ましい。
上位Ｈビットと下位Ｌビットを合わせた数Ｈ＋Ｌは、画素値のビット数Ｎのみならず、上述した条件を満たす範囲でビット数Ｎ未満でもよい。すなわち、下位Ｌビットは上位Ｈビットに続いていればよく、下位Ｌビットに続く更に下位ビットがビット数Ｎのビットに含まれてもよい。
尚、上記態様１の付言は、以下の態様も同様である。
【００１８】
［態様２］
図８等に例示するように、前記第二ハーフトーン処理部ＵＨ２は、前記第二画素（ＰＸ２）について、前記画素値Ａｉの内の下位Ｌビット（例えばデータＡＨｉ）と、前記ディザマスク５００の内の下位Ｌビット（例えば閾値ＴＨｉ）と、に基づいて前記ドットデータＤＡ３を生成してもよい。この態様は、第一ハーフトーン処理部ＵＨ１においてドットＤＴ０の形成状態を決定することができない第二画素（ＰＸ２）について上位Ｈビットのデータ無しにドットデータＤＡ３を生成することができる。従って、本態様は、画質を維持しながらハーフトーン処理を高速化させる好適な例を提供することができる。
尚、上記態様２には含まれないが、前記第二ハーフトーン処理部は、前記第二画素について、前記画素値の上位Ｈビット及び下位Ｌビットと、前記ディザマスクの上位Ｈビット及び下位Ｌビットと、に基づいて前記ドットデータを生成してもよい。この付言は、以下の態様も同様である。
【００１９】
［態様３］
図７等に例示するように、前記第一ハーフトーン処理部ＵＨ１は、前記画素値Ａｉの上位Ｈビット（データＡＨｉ）と前記ディザマスクの上位Ｈビット（閾値ＴＨｉ）とが異なる画素を前記第一画素（ＰＸ１）と判断し、該第一画素（ＰＸ１）について前記ドットデータＤＡ３を生成してもよい。この態様は、ドットデータＤＡ３を生成することができる第一画素（ＰＸ１）を簡易な処理で判別することができるので、画質を維持しながらハーフトーン処理を高速化させる好適な例を提供することができる。
【００２０】
［態様４］
図７等に例示するように、前記第一ハーフトーン処理部ＵＨ１は、前記第一画素（ＰＸ１）について、前記画素値Ａｉの上位Ｈビットの値（例えばデータＡＨｉ）が前記ディザマスク５００の上位Ｈビットの値（例えば閾値ＴＨｉ）よりも大きい場合に前記ドットデータＤＡ３をドットＤＴ０が形成される値（例えば１）に決定してもよい。また、前記第一ハーフトーン処理部ＵＨ１は、前記画素値Ａｉの上位Ｈビットの値（ＡＨｉ）が前記ディザマスク５００の上位Ｈビットの値（ＴＨｉ）よりも小さい場合に前記ドットデータＤＡ３をドットＤＴ０が形成されない値（例えば０）に決定してもよい。図８等に例示するように、前記第二ハーフトーン処理部ＵＨ２は、前記第二画素（ＰＸ２）について、前記画素値Ａｉの下位Ｌビットの値（例えばデータＡＬｉ）が少なくとも前記ディザマスク５００の上位Ｈビットの値（例えば閾値ＴＬｉ）よりも大きい場合に前記ドットデータＤＡ３をドットＤＴ０が形成される値（例えば１）に決定してもよい。また、前記第二ハーフトーン処理部ＵＨ２は、前記画素値Ａｉの下位Ｌビットの値（ＡＬｉ）が少なくとも前記ディザマスク５００の上位Ｈビットの値（ＴＬｉ）よりも小さい場合に前記ドットデータＤＡ３をドットＤＴ０が形成されない値（例えば０）に決定してもよい。本態様は、画質を維持しながらハーフトーン処理を高速化させる好適な例を提供することができる。
【００２１】
［態様５］
図１５Ａ〜１５Ｃに例示するように、本画像処理装置Ｕ０は、前記ビット数Ｎのビットに含まれる上位Ｈビットと、前記ビット数Ｎのビットに含まれる下位Ｌビットと、の少なくとも一方のビット数を変更するビット数変更部ＵＢ０をさらに含んでもよい。この態様は、画像データ（ＤＡ２）の画素値Ａｉのビット数等に応じて上位Ｈビットと下位Ｌビットの少なくとも一方を変える等、ハーフトーン処理の自由度を向上させることができる。
尚、上記態様５には含まれないが、画像処理装置にビット数変更部が無い場合も、本技術に含まれる。
【００２２】
［態様６］
ところで、図１等に例示するように、本技術の一態様に係る画像処理システムは、画素ＰＸ０にビット数Ｎの画素値Ａｉを有する画像データ（例えばインク量データＤＡ２）を送信するホスト装置１００と、該ホスト装置１００から前記画像データ（ＤＡ２）を受信して該画像データ（ＤＡ２）のハーフトーン処理を行う画像処理装置Ｕ０と、を有する。
前記ホスト装置１００は、第一送信処理部ＨＴ１と第二送信処理部ＨＴ２を含む。前記第一送信処理部ＨＴ１は、前記画像データ（ＤＡ２）のうち前記画素値Ａｉの上位Ｈビットのデータを集めた第一データ（例えば上位データＤＡ２１）を前記画像処理装置Ｕ０に送信する。前記第二送信処理部ＨＴ２は、前記画像データ（ＤＡ２）のうち前記画素値Ａｉの下位Ｌビットのデータを集めた第二データ（例えば下位データＤＡ２２）を前記第一データ（ＤＡ２１）の送信後に前記画像処理装置Ｕ０に送信する。
前記画像処理装置Ｕ０は、前記第一データ（ＤＡ２１）を受信する第一受信処理部ＵＲ１、第一ハーフトーン処理部ＵＨ１、前記第二データ（ＤＡ２２）を受信する第二受信処理部ＵＲ２、及び、第二ハーフトーン処理部ＵＨ２を含む。前記第一ハーフトーン処理部ＵＨ１は、前記第一データ（ＤＡ２１）に含まれる前記画素値Ａｉの上位Ｈビット（例えばデータＡＨｉ）とディザマスク５００の上位Ｈビット（例えば閾値ＴＨｉ）とに基づいて、ドットＤＴ０の形成状態を決定することができる第一画素（例えば確定画素ＰＸ１）についてドットＤＴ０の形成状態を表すドットデータＤＡ３を生成する。前記第二ハーフトーン処理部ＵＨ２は、前記第一ハーフトーン処理部ＵＨ１においてドットＤＴ０の形成状態を決定することができない第二画素（例えば未確定画素ＰＸ２）について、少なくとも前記第二データ（ＤＡ２２）に含まれる前記画素値Ａｉの下位Ｌビットと、前記ディザマスク５００の少なくとも下位Ｌビットと、に基づいて前記ドットデータＤＡ３を生成する。
【００２３】
上記態様６では、先に送信される第一データ（ＤＡ２１）に含まれる画素値Ａｉの上位Ｈビット（ＡＨｉ）とディザマスク５００の上位Ｈビット（ＴＨｉ）とに基づいて、先に、ドットＤＴ０の形成状態を決定することができる第一画素（ＰＸ１）についてドットデータＤＡ３が生成される。ドットＤＴ０の形成状態を決定することができない第二画素（ＰＸ２）について、少なくとも第二データ（ＤＡ２２）に含まれる画素値Ａｉの少なくとも下位Ｌビットと、ディザマスク５００の少なくとも下位Ｌビットと、に基づいてドットデータＤＡ３が生成される。従って、本態様は、画質を維持しながらハーフトーン処理を高速化させる画像処理システムを提供することができる。
【００２４】
［態様７］
また、図１等に例示するように、本技術の一態様に係る画像形成装置は、画素ＰＸ０にビット数Ｎの画素値Ａｉを有する画像データ（例えばインク量データＤＡ２）に基づいてドットＤＴ０を形成する画像形成装置であって、第一ハーフトーン処理部ＵＨ１、第二ハーフトーン処理部ＵＨ２、及び、ドット形成部ＵＤ０を含む。前記第一ハーフトーン処理部ＵＨ１は、前記画素値Ａｉの上位Ｈビット（例えばデータＡＨｉ）とディザマスク５００の上位Ｈビット（例えば閾値ＴＨｉ）と、に基づいて、ドットＤＴ０の形成状態を決定することができる第一画素（例えば確定画素ＰＸ１）についてドットＤＴ０の形成状態を表すドットデータＤＡ３を生成する。前記第二ハーフトーン処理部ＵＨ２は、前記第一ハーフトーン処理部ＵＨ１においてドットＤＴ０の形成状態を決定することができない第二画素（例えば未確定画素ＰＸ２）について、前記画素値Ａｉの少なくとも下位Ｌビットと、前記ディザマスク５００の少なくとも下位Ｌビットと、に基づいて前記ドットデータＤＡ３を生成する。前記ドット形成部ＵＤ０は、前記ドットデータＤＡ３に従ってドットＤＴ０を形成する。
【００２５】
上記態様７では、画素値Ａｉの上位Ｈビット（ＡＨｉ）とディザマスク５００の上位Ｈビット（ＴＨｉ）に基づいて、先に、ドットＤＴ０の形成状態を決定することができる第一画素（ＰＸ１）についてドットデータＤＡ３が生成され、該ドットデータＤＡ３に従ってドットＤＴ０が形成される。ドットＤＴ０の形成状態を決定することができない第二画素（ＰＸ２）について、画素値Ａｉの少なくとも下位Ｌビットと、ディザマスク５００の少なくとも下位Ｌビットと、に基づいてドットデータＤＡ３が生成され、該ドットデータＤＡ３に従ってドットＤＴ０が形成される。従って、本態様は、画質を維持しながらハーフトーン処理を高速化させる画像形成装置を提供することができる。
ここで、画像形成装置は、印刷装置、表示装置、等を含む。
【００２６】
［態様８］
さらに、図１等に例示するように、本技術の一態様に係る画像処理プログラムは、態様１の各部に対応する機能、すなわち、第一ハーフトーン処理部ＵＨ１に対応する第一ハーフトーン処理機能ＦＵＨ１、及び、第二ハーフトーン処理部ＵＨ２に対応する第二ハーフトーン処理機能ＦＵＨ２をコンピューターに実現させる。本態様は、画質を維持しながらハーフトーン処理を高速化させる画像処理プログラムを提供することができる。本画像処理プログラムは、ビット数変更部ＵＢ０に対応するビット数変更機能ＦＵＢ０、第一受信処理部ＵＲ１に対応する第一受信処理機能ＦＵＲ１、及び、第二受信処理部ＵＲ２に対応する第二受信処理機能ＦＵＲ２をコンピューターに実現させてもよい。
【００２７】
さらに、本技術は、画像処理装置を含む複合システム、画像処理方法、画像形成方法、画像形成装置の制御方法、複合システムの制御方法、画像形成装置の制御プログラム、複合システムの制御プログラム、画像処理プログラムや前記制御プログラムを記録したコンピューター読み取り可能な媒体、等に適用可能である。前述の装置は、分散した複数の部分で構成されてもよい。
【００２８】
（２）画像処理装置を含む画像形成システムの構成の具体例：
図１は、画像形成システムの例として印刷システムＳＹ１で行われる処理の流れを模式的に示している。図２は、画像形成装置の例としてインクジェットプリンター１の構成をホスト装置１００とともに模式的に示している。図３は、ホスト装置１００の構成をプリンター１とともに模式的に示している。
【００２９】
図２に示すプリンター１は、色材としてＣ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、及び、Ｋ（ブラック）のインク６６を使用して被印刷物（print substrate）ＭＥ１に出力画像ＩＭ１を印刷するものとする。むろん、インクには、さらに、Ｃよりも低濃度のＬｃ（ライトシアン）、Ｍよりも低濃度のＬｍ（ライトマゼンタ）、Ｙよりも高濃度のＤｙ（ダークイエロー）、Ｋよりも低濃度のＬｋ（ライトブラック）、Ｌｋよりも低濃度のＬＬｋ（ライトライトブラック）、Ｒ（レッド）、Ｏｒ（オレンジ）、Ｇｒ（グリーン）、画質向上用の無着色インク、等が含まれてもよい。Ｃ，Ｍ，Ｙ，Ｋの一部の色材を使用しない場合にも、本技術を適用可能である。また、本技術を適用可能な画像形成装置には、レーザープリンターといった電子写真方式のプリンター、３次元プリンター、複写機、ファクシミリ、これらの機能を備えた複合機、表示装置、等が含まれる。
【００３０】
図２に示すプリンター１は、コントローラー１０、ＲＡＭ（Random Access Memory）２０、不揮発性メモリー３０、機構部５０、インターフェイス（Ｉ／Ｆ）７１，７２、操作パネル７３、等を有する。コントローラー１０、ＲＡＭ２０、不揮発性メモリー３０、Ｉ／Ｆ７１，７２、及び、操作パネル７３は、互いに情報を入出力可能とされている。プリンター１は、被印刷物の全幅にわたるラインヘッドからインク滴を吐出して被印刷物にドットを形成するラインプリンターでもよいし、記録ヘッドを往復移動させるシリアルプリンターでもよい。
【００３１】
コントローラー１０は、ＣＰＵ（Central Processing Unit）１１、ハーフトーン処理部ＵＨ０、信号送信部４４、等を有する。コントローラー１０は、受信側ビット数変更部ＵＢ０を有してもよい。コントローラー１０は、ＳｏＣ（System on a Chip）等により構成することができる。ハーフトーン処理部ＵＨ０は、コントローラー１０から独立した画像処理ユニットで構成されてもよい。
ＣＰＵ１１は、プリンター１における情報処理や制御を中心的に行う。
【００３２】
ハーフトーン処理部ＵＨ０は、ホスト装置１００等から入手した多階調（例えば２8階調）のインク量データＤＡ２（画像データの例）からディザ法のハーフトーン処理によりドットデータＤＡ３を生成する。ドットデータＤＡ３は、印刷画像ＩＭ１に対応した各画素のドットＤＴ０の形成状態を表すデータであり、例えば、ドット無しに０、及び、ドット形成に１を対応させた２値データを採用することができる。また、ドットデータＤＡ３には、ドット無しに０、小ドット形成に１、中ドット形成に２、及び、大ドット形成に３を対応させた４値データといった多値データを採用することも可能である。多値データは、３値データでもよいし、５値以上のデータでもよい。ハーフトーン処理部ＵＨ０に含まれる第一ハーフトーン処理部ＵＨ１及び第二ハーフトーン処理部ＵＨ２の詳細は、後述する。
信号送信部４４は、ヘッドチップ６１の駆動素子６３に印加する電圧信号に対応した駆動信号ＳＧをドットデータＤＡ３に基づいて生成して駆動回路６２に出力する。必要に応じて、ドットデータＤＡ３を機構部５０でドットが形成される順番に並べ換えてもよい。
【００３３】
コントローラー１０の各部ＵＨ０，４４は、ＡＳＩＣ（Application Specific Integrated Circuit）で構成されてもよく、ＲＡＭ２０から処理対象のデータを直接読み込んだりＲＡＭ２０に処理後のデータを直接書き込んだりしてもよい。
【００３４】
コントローラー１０に制御される機構部５０は、紙送り機構５３等を備える。紙送り機構５３は、被印刷物ＭＥ１を搬送する。記録ヘッド６０には、例えばＣＭＹＫ（シアン、マゼンタ、イエロー、及び、ブラック）のインク滴６７（液滴の例）を吐出するヘッドチップ６１が搭載されている。ヘッドチップ６１は、駆動回路６２、駆動素子６３、等を備える。駆動回路６２は、コントローラー１０から入力される駆動信号ＳＧに従って駆動素子６３に電圧信号を印加する。駆動素子６３には、ノズル６４に連通する圧力室内のインク６６に圧力を加える圧電素子、熱により圧力室内に気泡を発生させてノズル６４からインク滴６７を吐出させる駆動素子、等を用いることができる。ヘッドチップ６１の圧力室には、インクカートリッジ６５からインク６６が供給される。インクカートリッジ６５とヘッドチップ６１の組合せは、例えば、ＣＭＹＫのそれぞれに設けられる。圧力室内のインク６６は、駆動素子６３によってノズル６４から被印刷物ＭＥ１に向かってインク滴６７として吐出され、印刷用紙等といった被印刷物ＭＥ１にインク滴６７のドットＤＴ０が形成される。被印刷物ＭＥ１には、複数のドットＤＴ０による印刷画像ＩＭ１が形成される。
信号送信部４４、及び、記録ヘッド６０を搭載した機構部５０は、ドット形成部ＵＤ０の例である。
【００３５】
ＲＡＭ２０には、プログラムＰＲＧ２、ディザマスク５００、インク量データＤＡ２、等が格納される。また、インク量データＤＡ２から生成されるドットデータＤＡ３等もＲＡＭ２０に格納される。プログラムＰＲＧ２は、第一ハーフトーン処理部ＵＨ１に対応する第一ハーフトーン処理機能ＦＵＨ１、第二ハーフトーン処理部ＵＨ２に対応する第二ハーフトーン処理機能ＦＵＨ２、等の機能をプリンター１に実現させる。
不揮発性メモリー３０には、ＲＡＭ２０に展開されるプログラムデータＰＲＧ１、ＲＡＭ２０に読み出されるディザマスク５００、等が記憶される。不揮発性メモリー３０には、ＲＯＭ（Read Only Memory）、フラッシュメモリー、ハードディスクといった磁気記録媒体、等が用いられる。尚、プログラムデータＰＲＧ１を展開するとは、ＣＰＵ１１で解釈可能なプログラムＰＲＧ２としてＲＡＭ２０に書き込むことを意味する。
【００３６】
カードＩ／Ｆ７１は、メモリーカード９０にデータを書き込んだりメモリーカード９０からデータを読み出したりする回路である。
通信Ｉ／Ｆ７２は、ホスト装置１００の通信Ｉ／Ｆ１１８に接続され、ホスト装置１００に対して情報を入出力する。
【００３７】
操作パネル７３は、出力部７４、入力部７５、等を有し、ユーザーがプリンター１に対して各種の指示を入力可能である。出力部７４は、例えば、各種の指示に応じた情報やプリンター１の状態を示す情報を表示する液晶パネル（表示部）で構成される。出力部７４は、これらの情報を音声出力してもよい。入力部７５は、例えば、カーソルキーや決定キーといった操作キー（操作入力部）で構成される。入力部７５は、表示画面への操作を受け付けるタッチパネル等でもよい。
【００３８】
図３に示すホスト装置１００は、ＣＰＵ（Central Processing Unit）１１１、ＲＯＭ（Read Only Memory）１１２、ＲＡＭ（Random Access Memory）１１３、記憶装置１１４、表示装置１１５、入力装置１１６、通信Ｉ／Ｆ（インターフェイス）１１８、等が電気的に接続されて互いに情報を入出力可能とされている。ホスト装置１００には、パーソナルコンピューター（タブレット型端末を含む。）といったコンピューター、スマートフォンといった携帯電話、デジタルスチルカメラ、デジタルビデオカメラ、等が含まれる。ホスト装置１００は、一つの筐体内に全構成要素１１１〜１１８を有してもよいが、互いに通信可能に分割された複数の装置で構成されてもよい。また、ホスト装置とプリンターとが一体化されていても、本技術を実施可能である。
【００３９】
記憶装置１１４は、図示しないＯＳ（オペレーティングシステム）、制御プログラムＰＲ０、図示しない設定情報、等を記憶している。記憶装置１１４は、上位Ｈビットの数Ｈ、下位Ｌビットの数Ｌ、等の情報を記憶してもよい。記憶装置１１４に記憶されている情報は、適宜、ＲＡＭ１１３に読み出され、画像処理に使用される。記憶装置１１４には、フラッシュメモリー等の不揮発性半導体メモリー、ハードディスク等の磁気記憶装置、等を用いることができる。表示装置１１５には、液晶表示パネル等を用いることができる。入力装置１１６には、ポインティングデバイス、キーボードを含むハードキー、表示パネルの表面に貼り付けられたタッチパネル、等を用いることができる。通信Ｉ／Ｆ １１８は、プリンター１の通信Ｉ／Ｆ ７２に接続され、プリンター１に対して印刷データ等といった情報を入出力する。通信Ｉ／Ｆ ７２，１１８の規格には、ＵＳＢ（Universal Serial Bus）、近距離無線通信規格、等を用いることができる。通信Ｉ／Ｆ ７２，１１８の通信は、有線でもよいし、無線でもよく、ＬＡＮ（Local Area Network）やインターネット等といったネットワーク通信でもよい。
【００４０】
図３に示す制御プログラムＰＲ０は、色変換機能ＦＨＣ０、データ分離機能ＦＨＳ０、第一送信処理機能ＦＨＴ１、及び、第二送信処理機能ＦＨＴ２をホスト装置１００に実現させる。制御プログラムＰＲ０は、送信側ビット数変更機能ＦＨＢ０をホスト装置１００に実現させてもよい。
【００４１】
次に、図１を参照して、Ｒ（赤）、Ｇ（緑）、及び、Ｂ（青）の階調値を画素ＰＸ０に有するＲＧＢデータＤＡ１から印刷画像ＩＭ１を形成する流れの概要を説明する。
図１に示すホスト装置１００は、色変換部ＨＣ０、データ分離部ＨＳ０、第一送信処理部ＨＴ１、及び、第二送信処理部ＨＴ２を有している。
【００４２】
色変換部ＨＣ０は、印刷画像ＩＭ１を形成する対象のＲＧＢデータＤＡ１をＣＭＹＫのインク量データＤＡ２（本技術の画像データの例）に色変換する。これらのデータＤＡ１，ＤＡ２の画素ＰＸ０は、ｘ方向（横方向）とｙ方向（縦方向）とへ整然と並べられている。後述する上位データＤＡ２１、下位データＤＡ２２、及び、ドットデータＤＡ３の画素ＰＸ０も、ｘ方向とｙ方向とへ整然と並べられている。ＲＧＢデータＤＡ１の各画素ＰＸ０には、Ｒの画素値Ｒｉ、Ｇの画素値Ｇｉ、及び、Ｂの画素値Ｂｉが格納されている。ここでの変数ｉは、画素ＰＸ０を識別する変数である。インク量データＤＡ２の各画素ＰＸ０には、Ｃの画素値Ｃｉ、Ｍの画素値Ｍｉ、Ｙの画素値Ｙｉ、及び、Ｋの画素値Ｋｉが格納されている。尚、画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉを画素値Ａｉと総称することがある。画素値Ｒｉ，Ｇｉ，Ｂｉ，Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉは、例えば、ビット数Ｎが８ビットの整数値である場合に０〜２５５の階調値となり、ビット数Ｎが１６ビットの整数値である場合に０〜６５５３５の階調値となる。ここで、画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉの各ビットを最上位から最下位の順にａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈと表す。
【００４３】
データ分離部ＨＳ０は、インク量データＤＡ２を、上位Ｈビット（但しＨは１≦Ｈ＜Ｎを満たす整数）の上位データＤＡ２１（第一データの例）と、上位Ｈビットに続く下位Ｌビット（但しＬは１≦Ｌ≦Ｎ−Ｈを満たす整数）の下位データＤＡ２２（第二データの例）と、に分離する。上位データＤＡ２１は、インク量データＤＡ２のうち画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉの上位Ｈビットのデータを集めたデータである。下位データＤＡ２２は、インク量データＤＡ２のうち画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉの下位Ｌビットのデータを集めたデータである。Ｈ＝Ｌ＝４である場合、上位Ｈビットはａ，ｂ，ｃ，ｄであり、下位Ｌビットはｅ，ｆ，ｇ，ｈである。尚、Ｈ＝Ｌは一例であり、Ｈ＝５且つＬ＝３などＨ＞Ｌでもよいし、Ｈ＝３且つＬ＝５などＨ＜Ｌでもよい。また、Ｈ＋Ｌ＝Ｎも一例であり、上位Ｈビットがａ，ｂ，ｃ，ｄで下位Ｌビットがｅ，ｆ，ｇなどＨ＋Ｌ＜Ｎでもよい。
【００４４】
第一送信処理部ＨＴ１は、上位データＤＡ２１をプリンター１（画像処理装置Ｕ０を含む。）に送信する。第二送信処理部ＨＴ２は、下位データＤＡ２２を上位データＤＡ２１の送信後にプリンター１に送信する。上位データＤＡ２１と下位データＤＡ２２は、ランレングス符号化（Run Length Encoding）といった可逆圧縮方式により圧縮されて送信されてもよい。上位データＤＡ２１と下位データＤＡ２２を含む転送データのフォーマットは、特に限定されず、ヘッダーに上位データＤＡ２１と下位データＤＡ２２のサイズ情報を記述したフォーマット、上位データＤＡ２１と下位データＤＡ２２の画素に座標値を付加したフォーマット、等を採用可能である。
【００４５】
図１に示すプリンター１は、第一受信処理部ＵＲ１、第二受信処理部ＵＲ２、第一ハーフトーン処理部ＵＨ１、第二ハーフトーン処理部ＵＨ２、及び、ドット形成部ＵＤ０を有している。
第一受信処理部ＵＲ１は、ホスト装置１００からの上位データＤＡ２１を受信する。上位データＤＡ２１が圧縮されている場合、第一受信処理部ＵＲ１は、圧縮データから上位データＤＡ２１を復号する。第二受信処理部ＵＲ２は、ホスト装置１００からの下位データＤＡ２２を受信する。下位データＤＡ２２が圧縮されている場合、第二受信処理部ＵＲ２は、圧縮データから下位データＤＡ２２を復号する。下位データＤＡ２２の前に上位データＤＡ２１が送信されるので、プリンター１は、上位データＤＡ２１の受信後に下位データＤＡ２２を受信する。
【００４６】
ハーフトーン処理部ＵＨ１，ＵＨ２は、インク量データＤＡ２の２8階調の画素値Ｃｉ，Ｍｉ，Ｙｉ，ＫｉをドットデータＤＡ３の多値ｃｉ，ｍｉ，ｙｉ，ｋｉに変換する。尚、多値ｃｉ，ｍｉ，ｙｉ，ｋｉを多値Ｄｉと総称することがある。図１に示すドットデータＤＡ３の各画素ＰＸ０には、Ｃの２値ｃｉ、Ｍの２値ｍｉ、Ｙの２値ｙｉ、及び、Ｋの２値ｋｉが格納されている。
【００４７】
第一ハーフトーン処理部ＵＨ１は、画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉのうち上位Ｈビットａ，ｂ，ｃ，ｄのデータＡＨｉと、ディザマスク５００の閾値Ｔｉのうち上位Ｈビットａ，ｂ，ｃ，ｄのデータ（閾値ＴＨｉ）と、に基づいて、ドットＤＴ０の形成状態を決定することができる確定画素ＰＸ１（第一画素の例）についてドットＤＴ０の形成状態を表すドットデータＤＡ３を生成する。便宜上、図１には、閾値Ｔｉのうち上位Ｈビットａ，ｂ，ｃ，ｄの閾値ＴＨｉを集めたデータ（上位マスク５０１と呼ぶ。）を示している。閾値ＴＨｉを処理画素の設定の都度生成する場合、上位マスク５０１は生成されない。図１には、確定画素ＰＸ１に「１」（ドット有り）又は「０」（ドット無し）が格納され未確定画素ＰＸ２（第二画素の例）に「？」（未確定；例えば「−１」）が格納された仮ドットデータＤＡ３１が示されている。仮ドットデータＤＡ３１は、確定画素ＰＸ１についてドットＤＴ０の形成状態を表す「１」又は「０」が格納されたドットデータである。
【００４８】
第二ハーフトーン処理部ＵＨ２は、第一ハーフトーン処理部ＵＨ１においてドットＤＴ０の形成状態を決定することができない未確定画素ＰＸ２について、少なくとも下位データＤＡ２２に含まれる画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉの下位Ｌビットｅ，ｆ，ｇ，ｈと、ディザマスク５００の閾値Ｔｉの少なくとも下位Ｌビットｅ，ｆ，ｇ，ｈと、に基づいてドットデータＤＡ３を生成する。例えば、第二ハーフトーン処理部ＵＨ２は、未確定画素ＰＸ２のみについて、画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉのうち下位ＬビットのデータＡＬｉと、ディザマスク５００の閾値Ｔｉのうち下位Ｌビットのデータ（閾値ＴＬｉ）と、に基づいてドットデータＤＡ３を生成する。便宜上、図１には、閾値Ｔｉのうち下位Ｌビットｅ，ｆ，ｇ，ｈの閾値ＴＬｉを集めたデータ（下位マスク５０２と呼ぶ。）を示している。閾値ＴＬｉを処理画素の設定の都度生成する場合、下位マスク５０２は生成されない。図１には、未確定画素ＰＸ２に「１」（ドット有り）又は「０」（ドット無し）が格納され、該未確定画素ＰＸ２のドットデータが仮ドットデータＤＡ３１の未確定画素ＰＸ２に上書きされて最終的なドットデータＤＡ３が生成される例が示されている。
【００４９】
ドット形成部ＵＤ０は、上記ドットデータＤＡ３に従ってドットＤＴ０を形成する。例えば、ドット形成部ＵＤ０は、ドットデータＤＡ３の内、「１」が格納された画素にドットＤＴ０を形成し、「０」が格納された画素にドットＤＴ０を形成しない。これにより、ドットＤＴ０の形成状態に応じた出力画像ＩＭ１が被印刷物ＭＥ１に印刷される。
【００５０】
以上より、元のインク量データＤＡ２のうちＨ／Ｎ＝１／２に減らされた上位データＤＡ２１から先に仮ドットデータＤＡ３１が生成され、未確定画素ＰＸ２のみ下位データＤＡ２２が用いられてドットデータＤＡ３が生成される。従って、出力画像ＩＭ１の画質が維持されるうえ、ハーフトーン処理が高速化される。
【００５１】
（３）画像形成システムで行われる処理の詳細：
図４は、印刷システムＳＹ１で行われる印刷のシーケンスの例を示している。ここで、ハーフトーン処理部ＵＨ１，ＵＨ２が中心となって本具体例の画像処理を行い、プリンター制御部（受信処理部ＵＲ１，ＵＲ２とドット形成部ＵＤ０）が本具体例の画像処理と連動して印刷制御処理を行う。図５は、ホスト装置１００で行われる印刷制御処理の例を示している。図６は、ディザ法によるハーフトーン処理の例を模式的に示している。図７は、プリンター１のコントローラー１０の第一ハーフトーン処理部ＵＨ１で行われる先行ハーフトーン処理の例を上位データＤＡ２１の受信処理の例とともに示している。図８は、プリンター１のコントローラー１０の第二ハーフトーン処理部ＵＨ２で行われる後行ハーフトーン処理の例を下位データＤＡ２２の受信処理の例とともに示している。ホスト装置１００及びプリンター１は、複数の処理を並列して実行可能であるものとする。ここで、図５のステップＳ１０２は、色変換部ＨＣ０と色変換機能ＦＨＣ０に対応している。ステップＳ１０４は、データ分離部ＨＳ０とデータ分離機能ＦＨＳ０に対応している。ステップＳ１０６は、第一送信処理部ＨＴ１と第一送信処理機能ＦＨＴ１に対応している。ステップＳ１０８は、第二送信処理部ＨＴ２と第二送信処理機能ＦＨＴ２に対応している。図７のステップＳ２００は、第一受信処理部ＵＲ１と第一受信処理機能ＦＵＲ１に対応している。ステップＳ２０２〜Ｓ２１８は、第一ハーフトーン処理部ＵＨ１と第一ハーフトーン処理機能ＦＵＨ１に対応している。図８のステップＳ３００は、第二受信処理部ＵＲ２と第二受信処理機能ＦＵＲ２に対応している。ステップＳ３０２〜Ｓ３１４は、第二ハーフトーン処理部ＵＨ２と第二ハーフトーン処理機能ＦＵＨ２に対応している。ステップＳ３１６は、ドット形成部ＵＤ０とドット形成機能ＦＵＤ０に対応している。以下、「ステップ」の記載を省略する。
【００５２】
まず、図４，５において、ホスト装置１００は、印刷画像ＩＭ１を形成する対象のＲＧＢデータＤＡ１をＣＭＹＫのインク量データＤＡ２に色変換する（シーケンス１、Ｓ１０２）。この色変換処理は、例えば、ＲＧＢの階調値とＣＭＹＫの階調値との対応関係を規定した色変換ルックアップテーブルを参照して画素値Ｒｉ，Ｇｉ，Ｂｉに対応する画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉを求める処理とすることができる。
【００５３】
色変換後、ホスト装置１００は、インク量データＤＡ２を上位Ｈビットの上位データＤＡ２１と下位Ｌビットの下位データＤＡ２２とに分離する（シーケンス２、Ｓ１０４）。この分離処理は、例えば、インク量データＤＡ２のうち画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉの上位Ｈビットのデータを集めてＨ／Ｎのデータサイズに少なくした上位データＤＡ２１、及び、インク量データＤＡ２のうち画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉの下位Ｌビットのデータを集めてＬ／Ｎのデータサイズに少なくした下位データＤＡ２２を生成する処理とすることができる。
【００５４】
上位データＤＡ２１の生成後、ホスト装置１００は、上位データＤＡ２１をプリンター１に送信する（シーケンス３、Ｓ１０６）。このシーケンス３をトリガーとして、図７に示す処理が開始される。
下位データＤＡ２２の生成後、ホスト装置１００は、下位データＤＡ２２をプリンター１に送信し（シーケンス４、Ｓ１０８）、印刷制御処理を終了させる。このシーケンス４をトリガーとして、図８に示す処理が開始される。
【００５５】
プリンター１のハーフトーン処理部ＵＨ１，ＵＨ２は、マトリクス状のディザマスク５００を用いてインク量データＤＡ２をドットデータＤＡ３に変換する。まず、図６を参照して、一般的なディザ法のハーフトーン処理を説明する。図６では、インク量データＤＡ２の画素値Ａｉ、及び、ディザマスク５００の閾値Ｔｉを１６進数で示している。
【００５６】
図６に示すように、ディザマスク５００の各閾値Ｔｉは、インク量データＤＡ２の画素ＰＸ０に合わせてｘ方向（横方向）とｙ方向（縦方向）とへ整然と並べられている。尚、ｘ，ｙ方向の少なくとも一方においてインク量データＤＡ２のサイズがディザマスク５００のサイズよりも大きい場合、ディザマスク５００がｘ，ｙ方向の少なくとも一方へ繰り返し並べられることにより、画素値Ａｉの比較対象の閾値Ｔｉが決定される。画素値Ａｉは、画素値Ｃｉ，Ｍｉ，Ｙｉ，Ｋｉのいずれかである。画素値Ａｉと閾値Ｔｉとの比較は、ＣＭＹＫのそれぞれについて行われる。ｘ方向及びｙ方向へ順次設定される注目画素ｉ（太線で囲った画素）について、画素値Ａｉと閾値Ｔｉとが比較され、比較結果に応じて２値Ｄｉが決定される。２値Ｄｉは、２値ｃｉ，ｍｉ，ｙｉ，ｋｉのいずれかである。例えば、画素値Ａｉが閾値Ｔｉよりも大きい場合に２値Ｄｉが「１」（ドット有り）に決定され、画素値Ａｉが閾値Ｔｉ以下である場合に２値Ｄｉが「０」（ドット無し）に決定される。この判断基準に後述するハーフトーン処理部ＵＨ１，ＵＨ２が従うものとする。むろん、Ａｉ≧Ｔｉである場合にＤｉ＝１に決定されてＡｉ＜Ｔｉである場合にＤｉ＝０に決定されてもよい。
【００５７】
まず、図７等を参照して、ホスト装置１００から上位データＤＡ２１を受信した場合の処理を説明する。図７に示す先行ハーフトーン処理は、ＣＭＹＫのそれぞれについて行われる。
プリンター１の通信Ｉ／Ｆ ７２は、ホスト装置１００からの上位データＤＡ２１を受信すると、該上位データＤＡ２１をＲＡＭ２０に格納する（Ｓ２００、図４のシーケンス３．１）。すると、プリンター１のコントローラー１０は、先行ハーフトーン処理を開始し（図４のシーケンス３．１．１）、上位データＤＡ２１の画素ＰＸ０の中から処理画素ｉ（例えば図１において太線で囲った画素）を設定する（Ｓ２０２）。処理画素設定後、コントローラー１０は、上位データＤＡ２１から処理画素ｉの上位Ｈビットａ，ｂ，ｃ，ｄのデータＡＨｉを取得する（Ｓ２０４）。また、コントローラー１０は、ディザマスク５００から処理画素ｉに対応する閾値Ｔｉの上位Ｈビットａ，ｂ，ｃ，ｄのデータ（閾値ＴＨｉ）を取得する（Ｓ２０６）。コントローラー１０は、Ｓ２０８以降において、上位データＡＨｉと閾値ＴＨｉとの大小関係に応じて仮ドットデータＤＡ３１の各画素ＰＸ０の値を決定することにしている。
【００５８】
ここで、画素値Ａｉの下位Ｌビットｅ，ｆ，ｇ，ｈのデータを下位データＡＬｉとし、閾値Ｔｉの下位Ｌビットｅ，ｆ，ｇ，ｈのデータを閾値ＡＬｉとする。元の画素値Ａｉと元の閾値Ｔｉは、以下の値となる。
Ａｉ＝１６・ＡＨｉ＋ＡＬｉ
Ｔｉ＝１６・ＴＨｉ＋ＴＬｉ
ここで、下位データＡＬｉは０以上１５以下であり、閾値ＴＬｉも０以上１５以下である。下位データＡＬｉと閾値ＴＬｉが不明である場合、
１６・ＡＨｉ≦Ａｉ≦１６・ＡＨｉ＋１５
１６・ＴＨｉ≦Ｔｉ≦１６・ＴＨｉ＋１５
となる。
【００５９】
上位データＡＨｉが閾値ＴＨｉよりも大きい場合、常に、Ａｉ＞Ｔｉとなる。この場合、処理画素ｉのドットの形成状態は、下位データＡＬｉと閾値ＴＬｉに関わらず、ドット有りと確定することができる。
上位データＡＨｉが閾値ＴＨｉよりも小さい場合、常に、Ａｉ＜Ｔｉとなる。この場合、処理画素ｉのドットの形成状態は、下位データＡＬｉと閾値ＴＬｉに関わらず、ドット無しと確定することができる。
上位データＡＨｉが閾値ＴＨｉと同じ場合、処理画素ｉのドットの形成有無を判定することができない。下位データＡＬｉが閾値ＴＬｉよりも大きければドット有りと判定されるＡｉ＞Ｔｉとなり、下位データＡＬｉが閾値ＴＬｉ以下であればドット無しと判定されるＡｉ≦Ｔｉとなるからである。
【００６０】
図７に示す例において、コントローラー１０は、まず、上位データＡＨｉが閾値ＴＨｉと同じであるか否かに応じて処理を分岐させている（Ｓ２０８）。ＡＨｉ＝ＴＨｉである場合、上位Ｈビットだけではドットの形成有無を定めることができない。この場合、コントローラー１０は、２値Ｄｉを−１（未確定）に設定し（Ｓ２１０）、処理をＳ２１８に進める。この場合の処理画素ｉは、ドットＤＴ０の形成状態が決定されていない未確定画素ＰＸ２である。
また、コントローラー１０は、上位データＡＨｉが閾値ＴＨｉよりも大きいか否かに応じて処理を分岐させる（Ｓ２１２）。ＡＨｉ＞ＴＨｉである場合、下位Ｌビットのデータに関わらず、ドット有りと判定することができる。この場合、コントローラー１０は、２値Ｄｉを１（ドット有り）に設定し（Ｓ２１４）、処理をＳ２１８に進める。この場合の処理画素ｉは、ドットＤＴ０の形成状態が決定された確定画素ＰＸ１である。
一方、ＡＨｉ＜ＴＨｉである場合、下位Ｌビットのデータに関わらず、ドット無しと判定することができる。この場合、コントローラー１０は、２値Ｄｉを０（ドット無し）に設定し（Ｓ２１６）、処理をＳ２１８に進める。この場合の処理画素ｉは、ドットＤＴ０の形成状態が決定された確定画素ＰＸ１である。
【００６１】
上述したＳ２０２〜Ｓ２１６の処理は、上位データＤＡ２１の全画素ＰＸ０が処理画素ｉに設定されるまで繰り返される（Ｓ２１８）。先行ハーフトーン処理が終了すると、各画素ＰＸ０に１（ドット有り）、０（ドット無し）、又は、−１（未確定）が格納された仮ドットデータＤＡ３１が得られる。
【００６２】
図９には、インク量データＤＡ２の画素値Ａｉの上位Ｈビット、及び、ディザマスク５００の閾値Ｔｉの上位Ｈビットから仮ドットデータＤＡ３１が生成される例が示されている。図９でも画素値Ａｉ，ＡＨｉ及び閾値Ｔｉ，ＴＨｉを１６進数で示している。
例えば、Ａｉ＝Ｄ８及びＴｉ＝００である場合、上位データＤＡ２１のデータＡＨｉ＝Ｄが上位マスク５０１の閾値ＴＨｉ＝０よりも大きいので、処理画素は１（ドット有り）の確定画素ＰＸ１となる。Ａｉ＝４Ｂ及びＴｉ＝Ｃ０である場合、上位データＤＡ２１のデータＡＨｉ＝４が上位マスク５０１の閾値ＴＨｉ＝Ｃよりも小さいので、処理画素は０（ドット無し）の確定画素ＰＸ１となる。Ａｉ＝３８及びＴｉ＝３０である場合、上位データＤＡ２１のデータＡＨｉ＝３が上位マスク５０１の閾値ＴＨｉ＝３と同じであるので、処理画素は−１の未確定画素ＰＸ２となる。
【００６３】
以上説明したようにして、コントローラー１０は、画素値Ａｉの上位ＨビットのデータＡＨｉとディザマスクの上位Ｈビットの閾値ＴＨｉとが異なる画素を確定画素ＰＸ１と判断し、該確定画素ＰＸ１についてドットデータＤＡ３を生成する。
【００６４】
次に、図８等を参照して、ホスト装置１００から下位データＤＡ２２を受信した場合の処理を説明する。図８に示す後行ハーフトーン処理は、ＣＭＹＫのそれぞれについて行われる。
プリンター１の通信Ｉ／Ｆ ７２は、ホスト装置１００からの下位データＤＡ２２を受信すると、該下位データＤＡ２２をＲＡＭ２０に格納する（Ｓ３００、図４のシーケンス４．１）。すると、プリンター１のコントローラー１０は、後行ハーフトーン処理を開始し（図４のシーケンス４．１．１）、上位データＤＡ２１の未確定画素ＰＸ２の中から処理画素ｉを設定する（Ｓ３０２）。処理画素設定後、コントローラー１０は、下位データＤＡ２２から処理画素ｉの下位Ｌビットｅ，ｆ，ｇ，ｈのデータＡＬｉを取得する（Ｓ３０４）。また、コントローラー１０は、ディザマスク５００から処理画素ｉに対応する閾値Ｔｉの下位Ｌビットｅ，ｆ，ｇ，ｈのデータ（閾値ＴＨｉ）を取得する（Ｓ３０６）。コントローラー１０は、Ｓ３０８以降において、下位データＡＬｉと閾値ＴＬｉとの大小関係に応じて仮ドットデータＤＡ３１の未確定画素ＰＸ２の値を決定することにしている。
【００６５】
未確定画素ＰＸ２では上位データＡＨｉが閾値ＡＨｉと同じであるので、下位データＡＬｉが閾値ＴＬｉよりも大きい場合にドット有りと判定されるＡｉ＞Ｔｉとなり、下位データＡＬｉが閾値ＴＬｉ以下である場合にドット無しと判定されるＡｉ≦Ｔｉとなる。
【００６６】
そこで、コントローラー１０は、下位データＡＬｉが閾値ＴＬｉよりも大きいか否かに応じて処理を分岐させる（Ｓ３０８）。ＡＬｉ＞ＴＬｉである場合、コントローラー１０は、２値Ｄｉを１（ドット有り）に設定し（Ｓ３１０）、処理をＳ３１４に進める。
一方、ＡＬｉ≦ＴＬｉである場合、コントローラー１０は、２値Ｄｉを０（ドット無し）に設定し（Ｓ３１２）、処理をＳ３１４に進める。
【００６７】
上述したＳ３０２〜Ｓ３１２の処理は、上位データＤＡ２１の全未確定画素ＰＸ２が処理画素ｉに設定されるまで繰り返される（Ｓ３１４）。後行ハーフトーン処理が終了すると、未確定画素ＰＸ２の−１（未確定）が１（ドット有り）、又は、０（ドット無し）に置き換えられ、最終的なドットデータＤＡ３が得られる。この時点で、ハーフトーン処理部ＵＨ０は、ハーフトーン終了を信号送信部４４に通知する（図４のシーケンス４．１．２）。
【００６８】
図１０には、インク量データＤＡ２の画素値Ａｉの下位Ｌビット、及び、ディザマスク５００の閾値Ｔｉの下位Ｌビットから未確定画素ＰＸ２の２値Ｄｉの確定を経てドットデータＤＡ３が生成される例が示されている。図１０でも画素値Ａｉ，ＡＬｉ及び閾値Ｔｉ，ＴＬｉを１６進数で示している。
例えば、未確定画素ＰＸ２がＡｉ＝３８及びＴｉ＝３０である場合、下位データＤＡ２２のデータＡＬｉ＝８が下位マスク５０２の閾値ＴＬｉ＝０よりも大きいので、この未確定画素ＰＸ２は１（ドット有り）に決まる。未確定画素ＰＸ２がＡｉ＝Ｆ９及びＴｉ＝ＦＡである場合、下位データＤＡ２２のデータＡＬｉ＝９が下位マスク５０２の閾値ＴＬｉ＝Ａ以下であるので、この未確定画素ＰＸ２は０（ドット無し）に決まる。
【００６９】
以上説明したようにして、コントローラー１０は、未確定画素ＰＸ２について、画素値Ａｉの下位Ｌビットのみと、ディザマスク５００の下位Ｌビットのみと、に基づいてドットデータＤＡ３を生成する。
【００７０】
ドットデータ生成後、コントローラー１０の信号送信部４４がドットデータＤＡ３から駆動信号ＳＧを生成して駆動回路６２に出力する（Ｓ３１６、図４のシーケンス４．１．２．１）。これにより、ドットデータＤＡ３で表されるドットＤＴ０が形成されるように記録ヘッド６０からインク滴６７が吐出され、複数のドットＤＴ０による印刷画像ＩＭ１が被印刷物ＭＥ１に形成される。
【００７１】
図１１は、インク量データＤＡ２の転送及びハーフトーン処理にかかる時間を上位Ｈビットと下位Ｌビットとに分離する場合（二点鎖線よりも上側）と分離しない場合（二点鎖線よりも下側）とで比較した例を示している。図１１において、横軸は時間ｔの軸であり、各矢印は処理が実行中であることを示している。図１１には、ハーフトーン処理対象のデータが全て転送された時点からハーフトーン処理が開始される例が示されている。
データの転送時間がデータ量に比例すると仮定すると、上位データＤＡ２１の転送時間は非分離のインク量データＤＡ２の転送時間の約Ｈ／Ｎであり、下位データＤＡ２２の転送時間は非分離のインク量データＤＡ２の転送時間の約Ｌ／Ｎである。従って、上位データＤＡ２１と下位データＤＡ２２とを合わせた転送時間は、非分離のインク量データＤＡ２の転送時間とほとんど変わらない。実際には、上位Ｈビットを集めた上位データＤＡ２１や下位Ｌビットを集めた下位データＤＡ２２を圧縮する場合、同じビット値が連続することが多くなるため、元のインク量データＤＡ２を圧縮する場合と比べて圧縮効率が高くなって転送時間が短くなることが多い。
【００７２】
ハーフトーン処理については、下位データＤＡ２２の転送完了時点で先行ハーフトーン処理の少なくとも一部が終了している。後行ハーフトーン処理は、上位データＤＡ２１の未確定画素ＰＸ２に限定して行われるので、短い時間で終了する。従って、図１１に示すように、インク量データＤＡ２を上位Ｈビットと下位Ｌビットとに分離すると全てのハーフトーン処理が終了するまでの時間が短縮される。
また、上位データＤＡ２１の一部の未確定画素ＰＸ２が決定されると、図１１に示すように、先行ハーフトーン処理と後行ハーフトーン処理とを並列して行うことができる。これにより、全てのハーフトーン処理が終了するまでの時間がさらに短縮される。
【００７３】
さらに、ハーフトーン処理にＳＩＭＤ（Single Instruction Multiple Data）が適用されると、ハーフトーン処理の時間が短縮される。ＳＩＭＤは、一つの命令を同時に複数のデータに適用して並列に処理することを意味する。
【００７４】
図１２Ａ〜１２Ｃに例示するように、コントローラー１０のＣＰＵ１１が３２ビットのレジスターにデータを読み込んで処理を行うものとする。図１２Ａは、３２ビットのデータをレジスターに読み込んで命令を実行して結果を得る様子を示している。ここで、データの表現に８ビットで十分である場合、図１２Ｂに示すように８ビット×４個のデータをまとめてレジスターに読み込んで命令を４個のデータに適用して並列に処理すれば、処理時間が約１／４で済む。データの表現に４ビットで十分である場合、図１２Ｃに示すように４ビット×８個のデータをまとめてレジスターに読み込んで命令を８個のデータに適用して並列に処理すれば、処理時間が約１／８で済む。
【００７５】
図１３は、ＳＩＭＤを適用する場合にインク量データＤＡ２のハーフトーン処理にかかる時間を上位Ｈビットと下位Ｌビットとに分離する場合（二点鎖線よりも上側）と分離しない場合（二点鎖線よりも下側）とで比較した例を示している。図１３において、横軸は時間ｔの軸であり、各矢印は処理が実行中であることを示している。
図１３の下側に示すようにＮ＝８ビットのインク量データＤＡ２に対してそのままハーフトーン処理を行う場合、図１２Ｂで示したように８ビット×４個のデータを並列に処理することが可能である。
【００７６】
図１３の上側に示すようにＨ＝４ビットの上位データＤＡ２１に対してハーフトーン処理を行う場合、図１２Ｃで示したように４ビット×８個のデータを並列に処理することが可能である。従って、上位データＤＡ２１のハーフトーン処理時間は、非分離のインク量データＤＡ２のハーフトーン処理時間の約１／２である。後行ハーフトーン処理は、上位データＤＡ２１の未確定画素ＰＸ２に限定して行われるので、短い時間で終了する。従って、図１３に示すように、インク量データＤＡ２を上位Ｈビットと下位Ｌビットとに分離すると全てのハーフトーン処理が終了するまでの時間が短縮される。
また、上位データＤＡ２１の一部の未確定画素ＰＸ２が決定されると、図１３に示すように、先行ハーフトーン処理と後行ハーフトーン処理とを並列して行うことができる。これにより、全てのハーフトーン処理が終了するまでの時間がさらに短縮される。
【００７７】
以上説明したように、本具体例は、出力画像の画質を維持しながらハーフトーン処理を高速化させることができる。
【００７８】
（４）変形例：
本発明は、種々の変形例が考えられる。
例えば、ＲＧＢデータＤＡ１からインク量データＤＡ２への色変換は、プリンター１で行われてもよい。この場合、ホスト装置１００はＲＧＢデータＤＡ１をプリンター１に送信すればよい。また、先行ハーフトーン処理、及び、後行ハーフトーン処理は、ホスト装置１００で行われてもよい。この場合、ホスト装置１００はドットデータＤＡ３をプリンター１に送信すればよい。画像処理プログラムは、上述した各種機能をホスト装置１００に実現可能である。むろん、上位データＤＡ２１及び下位データＤＡ２２をホスト装置１００からプリンター１に転送しない場合であっても、例えば、ＳＩＭＤを適用することにより、画質を維持しながらハーフトーン処理を高速化させることができる。
【００７９】
ハーフトーン処理は、インク量データＤＡ２から複数サイズのドットの形成率を表すドット形成率データを生成したうえでドットのサイズ毎にドット形成率データをドットデータＤＡ３に変換する処理でもよい。これにより、複数サイズのドットが形成される。例えば、インク量データＤＡ２を小ドット形成率データと中ドット形成率データと大ドット形成率データとに分けると、小ドットの形成有無を表す小ドットデータを小ドット形成率データから生成することができ、中ドットの形成有無を表す中ドットデータを中ドット形成率データから生成することができ、大ドットの形成有無を表す大ドットデータを大ドット形成率データから生成することができる。
また、本技術は、ディザ法によりインク量データを３値以上の多値データに直接変換する場合にも適用可能である。
【００８０】
上述した処理は、順番を入れ替える等、適宜、変更可能である。例えば、図７の先行ハーフトーン処理において、Ｓ２１２〜Ｓ２１６の処理をＳ２０６とＳ２０８との間に行うことが可能である。
【００８１】
ところで、図１４に例示するように、上位Ｈビットの数Ｈと下位Ｌビットの数Ｌとの少なくとも一方を変更可能に設定してもよい。図１４に示す印刷制御処理は、図５で示した処理と比べてＳ１２２，Ｓ１２４の処理が追加されている。ここで、Ｓ１２２，Ｓ１２４は、送信側ビット数変更部ＨＢ０、及び、送信側ビット数変更機能ＦＨＢ０に対応している。
図１４に示す処理が開始されると、ホスト装置１００は、印刷画像ＩＭ１を形成する対象のＲＧＢデータＤＡ１のビット数に応じて上位Ｈビットの数Ｈと下位Ｌビットの数Ｌを設定し、該ビット数Ｈ，Ｌを記憶装置１１４に記憶する（Ｓ１２２）。例えば、ＲＧＢデータＤＡ１のビット数が８である場合、インク量データＤＡ２のビット数Ｎを８にすることを前提にして、Ｈ＝Ｌ＝４に設定するものとする。また、ＲＧＢデータＤＡ１の各色のビット数が１６である場合、インク量データＤＡ２の各色のビット数Ｎを１６にすることを前提にして、Ｈ＝Ｌ＝８に設定するものとする。
【００８２】
その後、ホスト装置１００は、ＲＧＢデータＤＡ１をビット数Ｎのインク量データＤＡ２に色変換し（Ｓ１０２）、このインク量データＤＡ２を設定ビット数Ｈの上位データＤＡ２１と設定ビット数Ｌの下位データＤＡ２２とに分離する（Ｓ１０４）。また、ホスト装置１００は、設定されたビット数Ｈ，Ｌをプリンター１に送信する（Ｓ１２４）。この送信処理をトリガーとして、図１５Ａに示す処理が開始される。さらに、ホスト装置１００は、上位データＤＡ２１をプリンター１に送信し（Ｓ１０６）、下位データＤＡ２２をプリンター１に送信して（Ｓ１０８）、印刷制御処理を終了させる。
【００８３】
図１５Ａは、受信側ビット数変更部ＵＢ０で行われる処理の例を示している。図１５Ｂは、設定されたビット数Ｈ，Ｌに従って行われる先行ハーフトーン処理の例を示している。図１５Ｃは、設定されたビット数Ｈ，Ｌに従って行われる後行ハーフトーン処理の例を示している。ここで、Ｓ４００，Ｓ４０２，Ｓ２２２，Ｓ３２２は、受信側ビット数変更部ＵＢ０、及び、受信側ビット数変更機能ＦＵＢ０に対応している。
プリンター１の通信Ｉ／Ｆ ７２は、ホスト装置１００からのビット数Ｈ，Ｌを受信すると（Ｓ４００）、コントローラー１０を呼び出す。コントローラー１０は、ビット数設定処理を開始し、ホスト装置１００からのビット数Ｈ，Ｌを設定されたビット数Ｈ，ＬとしてＲＡＭ２０に保持し（Ｓ４０２）、ビット数設定処理を終了させる。
【００８４】
図１５Ｂに示す先行ハーフトーン処理において、コントローラー１０は、まず、設定されたビット数Ｈ，Ｌを読み出す（Ｓ２２２）。そのうえで、コントローラー１０は、設定されたビット数Ｈ，Ｌに従って、図７で示したＳ２０２〜Ｓ２１８の処理を行って仮ドットデータＤＡ３１を生成し、先行ハーフトーン処理を終了させる。
図１５Ｃに示す後行ハーフトーン処理において、コントローラー１０は、まず、設定されたビット数Ｈ，Ｌを読み出す（Ｓ３２２）。そのうえで、コントローラー１０は、設定されたビット数Ｈ，Ｌに従って、図８で示したＳ３０２〜Ｓ３１４の処理を行って最終的なドットデータＤＡ３を生成し、後行ハーフトーン処理を終了させる。
【００８５】
以上より、インク量データＤＡ２の画素値Ａｉのビット数Ｎに応じて上位Ｈビットの数Ｈと下位Ｌビットの数Ｌとが変わるので、ハーフトーン処理の自由度が向上する。
尚、Ｈ＋Ｌ＜Ｎでもよいので、上位Ｈビットの数Ｈを変えないで下位Ｌビットの数Ｌを変えることや、下位Ｌビットの数Ｌを変えないで上位Ｈビットの数Ｈを変えることも可能である。
【００８６】
ところで、図１６に例示するように、第二ハーフトーン処理部ＵＨ２は、未確定画素ＰＸ２について、画素値Ａｉの上位Ｈビット及び下位Ｌビットと、ディザマスク５００の上位Ｈビット及び下位Ｌビットと、に基づいてドットデータＤＡ３を生成してもよい。
【００８７】
図１６に示す後行ハーフトーン処理は、図８で示した処理と比べて、Ｓ３４２の処理が追加され、Ｓ３０８の処理がＳ３４４の処理に置き換わっている。
図１６に示す後行ハーフトーン処理が開始されると、コントローラー１０は、上位データＤＡ２１の未確定画素ＰＸ２の中から処理画素ｉを設定する（Ｓ３０２）。処理画素設定後、コントローラー１０は、ＣＭＹＫのそれぞれについて、上位データＤＡ２１の処理画素ｉの上位Ｈビットａ，ｂ，ｃ，ｄと下位データＤＡ２２の処理画素ｉの下位Ｌビットｅ，ｆ，ｇ，ｈとを結合する（Ｓ３４２）。これにより、処理画素ｉについて、ビット数Ｎの画素値Ａｉが復元される。
【００８８】
その後、コントローラー１０は、画素値Ａｉがディザマスク５００の閾値Ｔｉ（図６参照）よりも大きいか否かに応じて処理を分岐させる（Ｓ３４４）。閾値Ｔｉは、上位Ｈビットａ，ｂ，ｃ，ｄ及び下位Ｌビットｅ，ｆ，ｇ，ｈを含む。Ａｉ＞Ｔｉである場合、コントローラー１０は、２値Ｄｉを１（ドット有り）に設定し（Ｓ３１０）、処理をＳ３１４に進める。
一方、Ａｉ≦Ｔｉである場合、コントローラー１０は、２値Ｄｉを０（ドット無し）に設定し（Ｓ３１２）、処理をＳ３１４に進める。
【００８９】
上述したＳ３０２，Ｓ３４２，Ｓ３４４，Ｓ３１０，Ｓ３１２の処理は、上位データＤＡ２１の全未確定画素ＰＸ２が処理画素ｉに設定されるまで繰り返される（Ｓ３１４）。従って、未確定画素ＰＸ２について、画素値Ａｉの上位Ｈビット及び下位Ｌビットと、ディザマスク５００の上位Ｈビット及び下位Ｌビットと、に基づいてドットデータＤＡ３が生成される。
本変形例も、出力画像の画質を維持しながらハーフトーン処理を高速化させることができる。
【００９０】
（５）結び：
以上説明したように、本発明によると、種々の態様により、画質を維持しながらハーフトーン処理を高速化させることが可能な技術等を提供することができる。むろん、独立請求項に係る構成要件のみからなる技術でも、上述した基本的な作用、効果が得られる。
また、上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術及び上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
【符号の説明】
【００９１】
１…プリンター（画像形成装置の例）、１０…コントローラー、１１…ＣＰＵ、２０…ＲＡＭ、３０…不揮発性メモリー、４４…信号送信部、５０…機構部、６０…記録ヘッド、６６…インク（色材の例）、６７…インク滴（液滴の例）、１００…ホスト装置、５００…ディザマスク、５０１…上位マスク、５０２…下位マスク、Ａｉ…画素値、ＤＡ１…ＲＧＢデータ、ＤＡ２…インク量データ（画像データの例）、ＤＡ２１…上位データ（第一データの例）、ＤＡ２２…下位データ（第二データの例）、ＤＡ３…ドットデータ、ＤＡ３１…仮ドットデータ、ＤＴ０…ドット、ＨＢ０…送信側ビット数変更部、ＨＣ０…色変換部、ＨＳ０…データ分離部、ＨＴ１…第一送信処理部、ＨＴ２…第二送信処理部、ＩＭ１…画像、ＭＥ１…被印刷物、ＰＸ０…画素、ＰＸ１…確定画素（第一画素の例）、ＰＸ２…未確定画素（第二画素の例）、ＳＹ１…印刷システム、Ｔｉ，ＴＨｉ，ＴＬｉ…閾値、Ｕ０…画像処理装置、ＵＢ０…ビット数変更部、ＵＤ０…ドット形成部、ＵＨ０…ハーフトーン処理部、ＵＨ１…第一ハーフトーン処理部、ＵＨ２…第二ハーフトーン処理部、ＵＲ１…第一受信処理部、ＵＲ２…第二受信処理部。
【図１】
2019024167.tif 000003
【図２】
2019024167.tif 000004
【図３】
2019024167.tif 000005
【図４】
2019024167.tif 000006
【図５】
2019024167.tif 000007
【図６】
2019024167.tif 000008
【図７】
2019024167.tif 000009
【図８】
2019024167.tif 000010
【図９】
2019024167.tif 000011
【図１０】
2019024167.tif 000012
【図１１】
2019024167.tif 000013
【図１２】
2019024167.tif 000014
【図１３】
2019024167.tif 000015
【図１４】
2019024167.tif 000016
【図１５】
2019024167.tif 000017
【図１６】
2019024167.tif 000018