IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特開2024-50050画像処理装置、画像処理方法、および、プログラム
<>
  • 特開-画像処理装置、画像処理方法、および、プログラム 図1
  • 特開-画像処理装置、画像処理方法、および、プログラム 図2
  • 特開-画像処理装置、画像処理方法、および、プログラム 図3
  • 特開-画像処理装置、画像処理方法、および、プログラム 図4
  • 特開-画像処理装置、画像処理方法、および、プログラム 図5
  • 特開-画像処理装置、画像処理方法、および、プログラム 図6
  • 特開-画像処理装置、画像処理方法、および、プログラム 図7
  • 特開-画像処理装置、画像処理方法、および、プログラム 図8
  • 特開-画像処理装置、画像処理方法、および、プログラム 図9
  • 特開-画像処理装置、画像処理方法、および、プログラム 図10
  • 特開-画像処理装置、画像処理方法、および、プログラム 図11
  • 特開-画像処理装置、画像処理方法、および、プログラム 図12
  • 特開-画像処理装置、画像処理方法、および、プログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024050050
(43)【公開日】2024-04-10
(54)【発明の名称】画像処理装置、画像処理方法、および、プログラム
(51)【国際特許分類】
   H04N 1/405 20060101AFI20240403BHJP
   B41J 2/52 20060101ALI20240403BHJP
   B41J 2/01 20060101ALI20240403BHJP
【FI】
H04N1/405 510A
B41J2/52
B41J2/01 201
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022156632
(22)【出願日】2022-09-29
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】吉田 康成
【テーマコード(参考)】
2C056
2C262
5C077
【Fターム(参考)】
2C056EA04
2C056EC70
2C056EC79
2C056ED01
2C056ED05
2C262AA02
2C262AA18
2C262AA24
2C262AB11
2C262AC02
2C262BA02
2C262BB06
2C262EA08
5C077LL19
5C077MP08
5C077NN11
5C077NN19
5C077NP01
5C077PP33
5C077TT03
5C077TT05
(57)【要約】
【課題】ハーフトーン処理で使用される閾値を決定する。
【解決手段】
ハーフトーン処理を入力画像データを使用して行うことによって、複数の画素のそれぞれのドット形成状態を表す出力画像データを生成する。ハーフトーン処理は、複数の画素のうちの注目画素のドット形成状態を、Q+1個(Qは2以上の整数)のドット状態から選択する状態選択処理を含む。状態選択処理は、Q個のドット有状態にそれぞれ対応付けられるQ個の閾値を決定する閾値決定処理を含む。閾値決定処理は、注目画素の入力階調値と、Q個のドット有状態にそれぞれ対応付けられるQ個の基準階調値と、を含む複数のパラメータを使用して、Q個の閾値を決定する。
【選択図】 図1
【特許請求の範囲】
【請求項1】
画像の印刷のための画像処理装置であって、
複数の画素のそれぞれの入力階調値を表す入力画像データを取得する取得部と、
ハーフトーン処理を前記入力画像データを使用して行うことによって、前記複数の画素のそれぞれのドット形成状態を表す出力画像データを生成する生成部と、
を備え、
前記ハーフトーン処理は、前記複数の画素のうちの注目画素の前記ドット形成状態を、Q+1個(Qは2以上の整数)のドット状態から選択する状態選択処理を含み、
前記Q+1個のドット状態は、ドットの無い状態を示すドット無状態と、互いに異なるサイズのドットを示すQ個のドット有状態と、を含み、
前記状態選択処理は、
前記Q個のドット有状態にそれぞれ対応付けられるQ個の閾値を決定する閾値決定処理と、
前記注目画素の前記入力階調値と、前記注目画素の周囲に位置するL個(Lは2以上の整数)の画素であるL個の分配画素から前記注目画素に分配された誤差値である第1誤差値と、を使用して、前記注目画素の補正済階調値を算出する処理と、
前記注目画素の前記補正済階調値と、前記Q個の閾値のうちの少なくとも1個と、を比較することによって、前記注目画素の前記ドット形成状態を選択する処理と、
前記Q+1個のドット状態にそれぞれ対応付けられるQ+1個の基準階調値のうちの前記注目画素の前記ドット形成状態に対応付けられる基準階調値と、前記注目画素の前記補正済階調値と、を使用して、前記注目画素の誤差値である第2誤差値を算出する処理と、
を含み、
前記閾値決定処理は、前記注目画素の前記入力階調値と、前記Q個のドット有状態にそれぞれ対応付けられるQ個の基準階調値と、を含む複数のパラメータを使用して、前記Q個の閾値を決定する、
画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記閾値決定処理は、前記L個の分配画素に基づいて決まる係数を含む前記複数のパラメータを使用して前記Q個の閾値を決定する、
画像処理装置。
【請求項3】
請求項2に記載の画像処理装置であって、
前記Lの分配画素のそれぞれには、前記注目画素に対する前記分配画素の誤差値の重みが予め対応付けられており、
前記L個の分配画素のL個の重みの和に対する、前記L個の分配画素のうちの予め決められたN個(Nは、1以上、L未満の整数)の分配画素であるN個の参照画素のN個の重みの和の割合が大きいほど、前記係数は大きい、
画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、
前記N個の参照画素は、前記注目画素に隣接する1以上の画素を含む、
画像処理装置。
【請求項5】
請求項1から4のいずれかに記載の画像処理装置であって、
前記出力画像データの生成の動作モードを、第1印刷モードと、印刷用の記録媒体の種類と前記出力画像データの解像度との一方、または、両方が、前記第1印刷モードの対応する設定と異なる第2モードと、を含む複数の印刷モードから選択する選択部を備え、
前記Q個のドット有状態の前記Q個の基準階調値のうちの1以上の基準階調値は、前記第1印刷モードと前記第2印刷モードとの間で、異なっている、
画像処理装置。
【請求項6】
請求項5に記載の画像処理装置であって、
前記Q個のドット有状態の前記Q個の基準階調値を表す基準階調値データであって、前記複数の印刷モードのそれぞれに対応付けられる複数の基準階調値データを格納する記憶装置を備え、
前記Q個の閾値は、前記Q個の閾値に共通な共通成分と、互いに異なる個別成分と、を含み、
前記閾値決定処理は、
選択される印刷モードに対応付けられる前記基準階調値データを前記記憶装置から取得する処理と、
前記複数のパラメータのうち、取得される基準階調値データによって表される前記Q個の基準階調値を含むQ以上のパラメータを使用して、前記共通成分を算出する処理と、
を含む、
画像処理装置。
【請求項7】
請求項1から4のいずれかに記載の画像処理装置であって、
前記閾値決定処理は、前記Q個のドット有状態のうちの最も大きいサイズのドット有状態に対応付けられる閾値を、上限以下に制限する処理を含む、
画像処理装置。
【請求項8】
請求項1から4のいずれかに記載の画像処理装置であって、さらに、
前記出力画像データの生成の動作モードを、第1印刷モードと、前記出力画像データの解像度が前記第1印刷モードでの前記出力画像データの解像度と異なる第2モードと、を含む複数の印刷モードから選択する選択部を備え、
前記第1印刷モードでの前記分配画素の数Lは、前記第2印刷モードでの前記分配画素の数Lと、異なっている、
画像処理装置。
【請求項9】
請求項1から4のいずれかに記載の画像処理装置であって、さらに、
前記出力画像データの生成の動作モードを、第1印刷モードと、印刷用の記録媒体の種類が前記第1印刷モードでの印刷用の記録媒体の種類と異なる第2モードと、を含む複数の印刷モードから選択する選択部を備え、
前記第1印刷モードでの前記分配画素の数Lは、前記第2印刷モードでの前記分配画素の数Lと、異なっている、
画像処理装置。
【請求項10】
画像の印刷のための画像処理方法であって、
複数の画素のそれぞれの入力階調値を表す入力画像データを取得する取得工程と、
ハーフトーン処理を前記入力画像データを使用して行うことによって、前記複数の画素のそれぞれのドット形成状態を表す出力画像データを生成する生成工程と、
を備え、
前記ハーフトーン処理は、前記複数の画素のうちの注目画素の前記ドット形成状態を、Q+1個(Qは2以上の整数)のドット状態から選択する状態選択処理を含み、
前記Q+1個のドット状態は、ドットの無い状態を示すドット無状態と、互いに異なるサイズのドットを示すQ個のドット有状態と、を含み、
前記状態選択処理は、
前記Q個のドット有状態にそれぞれ対応付けられるQ個の閾値を決定する閾値決定処理と、
前記注目画素の前記入力階調値と、前記注目画素の周囲に位置するL個(Lは2以上の整数)の画素であるL個の分配画素から前記注目画素に分配された誤差値である第1誤差値と、を使用して、前記注目画素の補正済階調値を算出する処理と、
前記注目画素の前記補正済階調値と、前記Q個の閾値のうちの少なくとも1個と、を比較することによって、前記注目画素の前記ドット形成状態を選択する処理と、
前記Q+1個のドット状態にそれぞれ対応付けられるQ+1個の基準階調値のうちの前記注目画素の前記ドット形成状態に対応付けられる基準階調値と、前記注目画素の前記補正済階調値と、を使用して、前記注目画素の誤差値である第2誤差値を算出する処理と、
を含み、
前記閾値決定処理は、前記注目画素の前記入力階調値と、前記Q個のドット有状態にそれぞれ対応付けられるQ個の基準階調値と、を含む複数のパラメータを使用して、前記Q個の閾値を決定する、
画像処理方法。
【請求項11】
画像の印刷のための画像処理を行うコンピュータのためのプログラムであって、
複数の画素のそれぞれの入力階調値を表す入力画像データを取得する取得機能と、
ハーフトーン処理を前記入力画像データを使用して行うことによって、前記複数の画素のそれぞれのドット形成状態を表す出力画像データを生成する生成機能と、
をコンピュータに実現させ、
前記ハーフトーン処理は、前記複数の画素のうちの注目画素の前記ドット形成状態を、Q+1個(Qは2以上の整数)のドット状態から選択する状態選択処理を含み、
前記Q+1個のドット状態は、ドットの無い状態を示すドット無状態と、互いに異なるサイズのドットを示すQ個のドット有状態と、を含み、
前記状態選択処理は、
前記Q個のドット有状態にそれぞれ対応付けられるQ個の閾値を決定する閾値決定処理と、
前記注目画素の前記入力階調値と、前記注目画素の周囲に位置するL個(Lは2以上の整数)の画素であるL個の分配画素から前記注目画素に分配された誤差値である第1誤差値と、を使用して、前記注目画素の補正済階調値を算出する処理と、
前記注目画素の前記補正済階調値と、前記Q個の閾値のうちの少なくとも1個と、を比較することによって、前記注目画素の前記ドット形成状態を選択する処理と、
前記Q+1個のドット状態にそれぞれ対応付けられるQ+1個の基準階調値のうちの前記注目画素の前記ドット形成状態に対応付けられる基準階調値と、前記注目画素の前記補正済階調値と、を使用して、前記注目画素の誤差値である第2誤差値を算出する処理と、
を含み、
前記閾値決定処理は、前記注目画素の前記入力階調値と、前記Q個のドット有状態にそれぞれ対応付けられるQ個の基準階調値と、を含む複数のパラメータを使用して、前記Q個の閾値を決定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、印刷のための画像処理に関する。
【背景技術】
【0002】
従来から、インクやトナー等の印刷材を使用してドットを形成する印刷技術が使用されている。画素毎のドットの形成状態を制御する方法として、誤差拡散法などのハーフトーン処理が行われ得る。誤差拡散法で使用される閾値の間隔を設定するために、閾値間隔の設定と、各階調値に対する大ドット率の算出と、所望の大ドット率に一致していない階調値の閾値間隔の修正とを、繰り返す技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000-6444号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、ハーフトーン処理で使用される閾値の決定については、工夫の余地があった。
【0005】
本明細書は、ハーフトーン処理で使用される閾値を決定する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]画像の印刷のための画像処理装置であって、複数の画素のそれぞれの入力階調値を表す入力画像データを取得する取得部と、ハーフトーン処理を前記入力画像データを使用して行うことによって、前記複数の画素のそれぞれのドット形成状態を表す出力画像データを生成する生成部と、を備え、前記ハーフトーン処理は、前記複数の画素のうちの注目画素の前記ドット形成状態を、Q+1個(Qは2以上の整数)のドット状態から選択する状態選択処理を含み、前記Q+1個のドット状態は、ドットの無い状態を示すドット無状態と、互いに異なるサイズのドットを示すQ個のドット有状態と、を含み、前記状態選択処理は、前記Q個のドット有状態にそれぞれ対応付けられるQ個の閾値を決定する閾値決定処理と、前記注目画素の前記入力階調値と、前記注目画素の周囲に位置するL個(Lは2以上の整数)の画素であるL個の分配画素から前記注目画素に分配された誤差値である第1誤差値と、を使用して、前記注目画素の補正済階調値を算出する処理と、前記注目画素の前記補正済階調値と、前記Q個の閾値のうちの少なくとも1個と、を比較することによって、前記注目画素の前記ドット形成状態を選択する処理と、前記Q+1個のドット状態にそれぞれ対応付けられるQ+1個の基準階調値のうちの前記注目画素の前記ドット形成状態に対応付けられる基準階調値と、前記注目画素の前記補正済階調値と、を使用して、前記注目画素の誤差値である第2誤差値を算出する処理と、を含み、前記閾値決定処理は、前記注目画素の前記入力階調値と、前記Q個のドット有状態にそれぞれ対応付けられるQ個の基準階調値と、を含む複数のパラメータを使用して、前記Q個の閾値を決定する、画像処理装置。
【0008】
この構成によれば、Q個の閾値が、注目画素の入力階調値と、Q個のドット有状態にそれぞれ対応付けられるQ個の基準階調値と、を使用して決定されるので、ハーフトーン処理で使用される閾値を、適切に、決定できる。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
図1】プリンタの実施例を示すブロック図である。
図2】印刷処理の例を示すフローチャートである。
図3】ハーフトーン処理の例を示すフローチャートである。
図4】閾値テーブルの生成処理の例を示すフローチャートである。
図5】(A)-(D)は、プロファイルの説明図である。
図6】閾値テーブルの例を示すグラフである。
図7】(A)-(D)は、閾値の算出式の例を示す図である。
図8】誤差拡散処理の例を示すフローチャートである。
図9】閾値テーブルの生成処理の別の実施例を示すフローチャートである。
図10】(A)は、係数dMaxの算出式の例を示す図である。(B)、(C)は、係数dMaxの算出例を示す図である。
図11】誤差拡散処理の別の実施例を示すフローチャートである。
図12】閾値の例を示すグラフである。
図13】(A)-(D)は、閾値の算出式の例を示す図である。
【発明を実施するための形態】
【0011】
A.第1実施例:
A1.装置構成:
図1は、プリンタの実施例を示すブロック図である。本実施例では、プリンタ600は、制御装置100と、印刷実行部200と、を有している。
【0012】
制御装置100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、通信インタフェース160と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含んでいる。
【0013】
プロセッサ110は、データを処理するように構成された装置である。プロセッサ110は、例えば、CPU(Central Processing Unit)、または、SoC(System on a chip)であってよい。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。不揮発性記憶装置130は、プログラムPGのデータと、複数のプロファイルPF1-PF4のデータと、を格納している。プログラムPGとプロファイルPF1-PF4のデータは、プリンタ600の製造者によって、ファームウェアとして、不揮発性記憶装置130に予め格納されている。プロセッサ110は、プログラムPGを実行することによって、後述する種々の処理を実行する。プロファイルPF1-PF4は、印刷モード毎の印刷設定を示している(詳細は、後述)。揮発性記憶装置120には、バッファ領域125が設けられている。後述するように、バッファ領域125には、誤差拡散法で算出される誤差値が格納される。なお、バッファ領域125は、不揮発性記憶装置130に設けられてもよい。
【0014】
表示部140は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部150は、ボタン、レバー、表示部140上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。ユーザは、操作部150を操作することによって、種々の指示を制御装置100に入力可能である。通信インタフェース160は、他の装置と通信するためのインタフェースである。通信インタフェース160は、例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェースのうちの1種以上を含む。印刷実行部200は、通信インタフェース160に接続されている。
【0015】
印刷実行部200は、所定の方式(例えば、レーザ方式や、インクジェット方式)で、用紙(印刷媒体の一例)上に印刷材を使用して画像を印刷する装置である。本実施例では、印刷実行部200は、ブラックK、シアンC、マゼンタM、イエロYの4種類のインクを使用してカラー画像を印刷可能なインクジェット方式の印刷装置である。
【0016】
印刷実行部200は、搬送機構210と、移動機構220と、印刷ヘッド240と、印刷実行部200の全体を制御する制御部290と、を有している。搬送機構210は、図示しない搬送モータを備え、搬送モータの動力を用いて、所定の搬送経路に沿って用紙を搬送する。移動機構220は、図示しない移動モータを備え、移動モータの動力を用いて、印刷ヘッド240を、用紙の搬送方向に交差する移動方向に往復動させる。印刷ヘッド240は、KCMYのそれぞれのノズル群を有している(図示せず)。制御部290は、例えば、専用の電気回路(例えば、ASIC(Application Specific Integrated Circuit))とコンピュータとの一方、または、両方を含んでよい。制御部290は、移動機構220が印刷ヘッド240の移動を行っている最中に、印刷ヘッド240に駆動信号を供給して、印刷ヘッド240を駆動する。印刷ヘッド240は、駆動信号に従って、ノズルからインクを吐出して用紙上にドットを形成する。印刷ヘッド240を移動させつつ用紙上にドットを形成する処理をパス処理とも呼ぶ。制御装置100のプロセッサ110は、パス処理と、搬送機構210に用紙を搬送させる搬送処理とを、印刷実行部200に繰り返し実行させることによって、印刷実行部200に画像を印刷させる。
【0017】
A2.印刷処理:
図2は、印刷処理の例を示すフローチャートである。制御装置100のプロセッサ110(図1)は、制御装置100に入力される印刷指示に応じて、プログラムPGに従って、印刷処理を実行する。印刷指示の入力方法は、任意の方法であってよい。本実施例では、ユーザは、操作部150を操作することによって、印刷指示を入力する。印刷指示は、印刷すべき対象画像のデータである対象画像データを指定する対象データ情報と、印刷モードを指定するモード情報と、を含んでいる。対象データ情報は、記憶装置115(例えば、不揮発性記憶装置130)、通信インタフェース160に接続される図示しない記憶装置(例えば、USBフラッシュドライブ)、制御装置100と通信可能な通信装置の記憶装置、などの種々の記憶装置に格納される対象画像データを指定してよい。印刷モードは、本実施例では、「普通紙、低解像度」と「普通紙、高解像度」と「光沢紙、低解像度」と「光沢紙、高解像度」との4個の印刷モードから、選択可能である。なお、ユーザは、制御装置100と通信可能な図示しない端末装置(例えば、スマートフォン、タブレットコンピュータなど)を通じて、印刷指示を制御装置100に入力してよい。
【0018】
S110では、プロセッサ110は、印刷指示に応じて、対象画像データを取得する。S115では、プロセッサ110は、印刷指示に応じて、印刷モードを選択する。以下、選択される印刷モードを、対象印刷モードと呼ぶ。
【0019】
S120では、プロセッサ110は、対象画像データを使用して、印刷解像度のラスタデータを生成する。対象画像データは、オブジェクトを描画するための描画コマンドを含むベクタデータであってよい。この場合、プロセッサ110は、ベクタデータのレンダリング(ラスタライズとも呼ばれる)によって、ラスタデータを生成してよい。対象画像データが、ビットマップデータである場合、プロセッサ110は、ビットマップデータの解像度変換によって、ラスタデータを生成してよい。プロセッサ110は、ラスタデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0020】
S130では、プロセッサ110は、記憶装置115からラスタデータを取得し、ラスタデータの色変換処理を実行する。色変換処理は、各画素の色値を、変換前の色空間(本実施例では、RGB色空間)の色値から、印刷用の色空間である印刷色空間の色値に変換する処理である。印刷色空間は、印刷実行部200によって使用されるインクに対応する色成分で表される色空間である(本実施例では、KCMY色空間)。変換前の色空間の色値と印刷色空間の色値との対応関係は、予め決められている。プロセッサ110は、色変換済のラスタデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0021】
S135では、プロセッサ110は、記憶装置115から色変換済のラスタデータを取得する。取得されるデータは、ハーフトーン処理の対象のデータである(入力画像データと呼ぶ)。S140では、プロセッサ110は、入力画像データを使用してハーフトーン処理を実行し、出力画像データを生成する。プロセッサ110は、生成した出力画像データを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0022】
本実施例のハーフトーン処理では、プロセッサ110は、誤差拡散法に従って、画素毎のドット形成状態を、ドット無状態と、1以上のドット有状態と、を含む複数のドット形成状態から、選択する。本実施例では、小ドットと、中ドットと、大ドットと、の3個のサイズのドット有状態が、使用可能である。ハーフトーン処理の詳細については、後述する。
【0023】
S150では、プロセッサ110は、記憶装置115から出力画像データを取得し、出力画像データを使用して印刷データを生成する。印刷データは、印刷実行部200の制御部290によって解釈可能なデータ形式で表されたデータである。プロセッサ110は、例えば、印刷に用いられる順にドット形成状態を表すデータを並べるとともに、プリンタ制御コードとデータ識別コードを付加することによって、印刷データを生成する。
【0024】
S160では、プロセッサ110は、印刷データを、印刷実行部200に供給する。S170では、印刷実行部200の制御部290は、印刷データに従って、画像を印刷する。以上により、図2の印刷処理は、終了する。
【0025】
A3.ハーフトーン処理:
図3は、ハーフトーン処理の例を示すフローチャートである。S210では、プロセッサ110は、閾値テーブルの生成処理を実行する。閾値テーブルは、誤差拡散法で使用される閾値のテーブルである。
【0026】
図4は、閾値テーブルの生成処理の例を示すフローチャートである。S310では、プロセッサ110(図1)は、対象印刷モードに対応付けられるプロファイルのデータを、記憶装置115(本実施例では、不揮発性記憶装置130)から取得する。本実施例では、複数の印刷モードのそれぞれの印刷設定が、プロファイルを使用して管理される。図5(A)-図5(D)は、プロファイルの説明図である。プロファイルと印刷モードとの対応関係は、以下の通りである。
第1プロファイルPF1:「普通紙、低解像度RS1」
第2プロファイルPF2:「普通紙、高解像度RS2」
第3プロファイルPF3:「光沢紙、低解像度RS3」
第4プロファイルPF4:「光沢紙、高解像度RS4」
【0027】
各プロファイルPF1-PF4は、記録媒体種類MTと、印刷解像度RS(単位は、例えば、dpi)と、誤差マトリクスMXと、基準階調値VS、VM、VLと、を表している。
【0028】
誤差マトリクスMXは、誤差拡散法で使用されるマトリクスである。図中のDx方向(横方向)とDy方向(縦方向)とは、入力画像中の複数の画素の並ぶ方向を示している。本実施例では、入力画像データは、Dx方向とDy方向とにマトリクス状に並んで配置された複数の画素のKCMYの階調値を表している。誤差マトリクスMXは、注目画素PXiの周辺の所定の相対位置に配置された画素PXの重みWを定めている。画素PXに付された数字は、重みWを示している。画素PXに付されたハイフンは、重みWがゼロであることを示している。画素PXeは、ゼロよりも大きい重みWを有する画素である(分配画素PXeと呼ぶ)。注目画素PXiには、周辺の分配画素PXeの誤差値に、誤差マトリクスMXによって定められる分配割合を乗じた値の合計値が、分配される。本実施例では、分配画素PXeの分配割合は、誤差マトリクスMXによって定められる重みWの合計値に対する分配画素PXeの重みWの割合である(複数の分配画素PXeの複数の分配割合の合計値は、1である)。図中の総数Lは、分配画素PXeの総数である。本実施例では、記録媒体種類MTが同じである場合、印刷解像度RSが高いほど、総数Lは多い。
【0029】
基準階調値VS、VM、VLは、小ドット、中ドット、大ドットの濃度に相当する階調値を、それぞれ示している。ドットサイズが大きいほど、濃度は高い(すなわち、VS<VM<VL)。このような基準階調値は、相対濃度値とも呼ばれる。後述するように、ドットのサイズに対応する基準階調値を使用して、注目画素の誤差値が算出される。なお、図示を省略するが、ドット無状態の基準階調値は、印刷モードに拘わらずに、ゼロである。
【0030】
各プロファイルPF1-PF4の誤差マトリクスMX1-MX4と基準階調値VS1-VS4、VM1-VM4、VL1-VL4とは、各印刷モードで画像を適切に印刷するように、印刷モード毎に予め実験的に決定されている。
【0031】
S320(図4)では、プロセッサ110は、階調値の複数の値のそれぞれの閾値を算出することによって、閾値テーブルを生成する。図6は、閾値テーブルの例を示すグラフである。横軸は、階調値に相当するインデクスVidxを示し、縦軸は、閾値を示している。閾値ThBCS、ThBCM、ThBCLは、小ドット、中ドット、大ドットの閾値を、それぞれ示している(以下、小閾値ThBCS、中閾値ThBCM、大閾値ThBCLと呼ぶ)。本実施例では、入力画像データの階調値は、ゼロ以上、255以下の256階調で表される。そして、注目画素に適用される閾値は、注目画素の階調値に応じて、変化する。インデクスVidxは、注目画素の階調値に相当する。
【0032】
図示するように、Vidx=0の場合、ThBCS=ThBS、ThBCM=ThBM、ThBCL=ThBLである。インデクスVidxの増大に応じて、閾値ThBCS、ThBCM、ThBCLも増大する。このように、注目画素の階調値が小さい場合(すなわち、濃度が低い場合)、小さい閾値に従ってドット形成状態が決定される。注目画素の階調値が大きい場合(すなわち、濃度が高い場合)、大きい閾値に従ってドット形成状態が決定される。従って、画像中の高濃度の部分と低濃度の部分との間のドット形成の容易さの違いを低減できる。
【0033】
このような閾値ThBCS、ThBCM、ThBCLの算出方法は、種々の方法であってよい。本実施例では、プロセッサ110は、予め決められた計算式に従って、閾値ThBCS、ThBCM、ThBCLを算出する。図7(A)-図7(D)は、閾値の算出式の例を示す図である。図7(A)に示すように、閾値ThBCS(Vidx)、ThBCM(Vidx)、ThBCL(Vidx)は、共通成分ThBC(Vidx)と、個別成分ThBS、ThBM、ThBLと、の和で表される。本実施例では、Vidx=0の場合、共通成分ThBC(Vidx)=0である。従って、個別成分ThBS、ThBM、ThBLは、Vidx=ゼロにおける閾値を示している(図6)。本実施例では、図7(B)に示すように、ThBS=0、ThBM=VS、ThBL=VMである。このように、本実施例では、個別成分ThBS、ThBM、ThBLは、1段階小さいドットサイズの基準階調値(0、VS、VM)と同じである。
【0034】
図7(C)に示すように、共通成分ThBC(Vidx)は、3個の項T1、T2、T3の和に係数dMaxを乗じることによって、算出される。図7(D)に示すように、本実施例では、係数dMaxは、定数(ここでは、255)である。
【0035】
第1項T1は、割合RtS、RtMと、インデクス割合(Vidx/255)の積で表される。図7(D)に示すように、第1割合RtSは、基準階調値VS、VMの割合(VS/VM)の2倍である。第2割合RtMは、基準階調値VM、VLの割合(VM/VL)の2倍である。
【0036】
第2項T2(図7(C))は、「1-RtS」と、RtMと、インデクス割合(Vidx/255)のべき乗(指数は、第1指数GM1)と、の積で表される。図7(D)に示すように、第1指数GM1は、基準階調値VM、VSの割合(VM/VS)の平方根である。
【0037】
第3項T3(図7(C))は、「1-RtM」と、インデクス割合(Vidx/255)のべき乗(指数は、第2指数GM2)と、の積で表される。図7(D)に示すように、第2指数GM2は、基準階調値VL、VMの割合(VL/VM)の平方根である。
【0038】
3個の項T1、T2、T3に含まれるインデクス割合(Vidx/255)のべき乗(第1項T1の指数は、1)は、いわゆるガンマ補正のトーンカーブと同様に、インデクスVidxに応じて共通成分ThBCを変化させ得る。べき乗の指数(1、GM1、GM2)は、図7(D)の値に限らず、ガンマ補正の指数と同様に、調整されてよい。
【0039】
計算式のパラメータ(例えば、指数GM1、GM2、基準階調値VS、VM、VL、など)は、印刷モードに応じて異なり得る。また、適切な閾値を設計するために、計算式のパラメータは、調整され得る。計算式のパラメータが変化する場合、共通成分ThBC、ひいては、閾値ThBCS、ThBCM、ThBCLが、変化する。ここで、閾値は、不適切な値(例えば、大きすぎる値)に変化し得る。本実施例では、3個の項T1、T2、T3において、インデクス割合(Vidx/255)のべき乗に乗じられる係数は、「RtS*RtM」、「(1-RtS)*RtM」、「1-RtM」である。これら3個の係数は、3個の係数の和が1となるように、構成されている。従って、3個の項T1、T2、T3の和は、いわゆるガンマ補正と同様に、適切な値を算出可能である。
【0040】
S320(図4)では、プロセッサ110は、インデクスVidxの複数の値(ここでは、ゼロから255までの256個の整数)のそれぞれの閾値ThBCS、ThBCM、ThBCLを算出する。S330では、プロセッサ110は、インデクスVidxと閾値ThBCS、ThBCM、ThBCLとの対応関係(すなわち、閾値テーブル)を表すデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、図4の処理、すなわち、図3のS210の処理を終了する。
【0041】
S220では、プロセッサ110は、誤差拡散処理を実行する。図8は、誤差拡散処理の例を示すフローチャートである。誤差拡散処理は、KCMYの色成分ごとに実行される。1つの色成分の誤差拡散処理は、画素ごとに実行される。図8の処理は、1個の色成分の1個の画素の処理を示している。プロセッサ110は、Dx方向に沿って1画素ずつ誤差拡散処理を実行することによって、横方向に延びる1つの画素ラインの誤差拡散処理を実行する。1つの画素ラインの誤差拡散処理が完了すると、プロセッサ110は、Dy方向に隣接する別の画素ラインの誤差拡散処理を実行する。なお、画素の処理順は、他の順であって良い。
【0042】
以下、誤差拡散処理の対象の画素を注目画素と呼ぶ。S401では、プロセッサ110は、対象印刷モードに対応付けられるプロファイルのデータを、記憶装置115(本実施例では、不揮発性記憶装置130)から取得する。S402では、プロセッサ110は、入力画像データを参照して、注目画素の階調値である入力階調値Vinを取得する。
【0043】
S403では、プロセッサ110は、プロファイルによって定められる誤差マトリクスMX(図5(A)-図5(D))を使用して、バッファ領域125(図1)に格納された誤差を収集して、注目画素に対する分配誤差値Etを算出する。バッファ領域125には、後述するように、誤差拡散処理済の画素で生じる誤差値が、画素毎に格納されている。図5(A)-図5(D)で説明したように、誤差マトリクスMXは、各画素PXの重みW(ひいては、分配割合)を定めている。プロセッサ110は、誤差マトリクスMXに従って注目画素PXiの周辺の分配画素PXeの分配割合を取得し、周辺の各分配画素PXeの誤差値に分配割合を乗じた値の合計値を、注目画素PXiの分配誤差値Etとして算出する。
【0044】
S404では、プロセッサ110は、注目画素PXiの入力階調値Vinに分配誤差値Etを加算することによって、補正済階調値Vaを算出する。
【0045】
S406では、プロセッサ110は、閾値テーブルデータ(図4:S330、図6)を参照して、入力階調値Vinに対応付けられる閾値ThBCS(Vin)、ThBCM(Vin)、ThBCL(Vin)を取得する。プロセッサ110は、これらの閾値に乱数RNDを加算することによって、小、中、大のそれぞれのドット閾値ThS、ThM、ThLを算出する。プロセッサ110は、ドットサイズ毎に、乱数RNDを決定する。
【0046】
乱数RNDは、誤差拡散処理によって規則的なドットパターンが形成される可能性を、低減できる(規則的なドットパターンは、意図せずに目立ち得る)。乱数RNDは、例えば、下限値以上、上限値以下の範囲から、決定される。下限値と上限値とは、適切な印刷が行われるように、予め実験的に決定される。ここで、ThLがThM以上であり、ThMがThS以上であるように、乱数RNDが決定されることが好ましい。なお、乱数RNDの加算は、省略されてよい。
【0047】
S410では、プロセッサ110は、補正済階調値Vaが、大ドット閾値ThLより大きいか否かを判定する。「Va>ThL」である場合(S410:YES)、S412で、プロセッサ110は、注目画素のドット形成状態を、大ドットに決定する。そして、プロセッサ110は、S428へ移行する。
【0048】
VaがThL以下である場合(S410:NO)、S416で、プロセッサ110は、補正済階調値Vaが中ドット閾値ThMより大きいか否かを判定する。「Va>ThM」である場合(S416:YES)、S418で、プロセッサ110は、注目画素のドット形成状態を、中ドットに決定する。そして、プロセッサ110は、S428へ移行する。
【0049】
VaがThM以下である場合(S416:NO)、S422で、プロセッサ110は、補正済階調値Vaが小ドット閾値ThSより大きいか否かを判定する。「Va>ThS」である場合(S422:YES)、S424で、プロセッサ110は、注目画素のドット形成状態を、小ドットに決定する。そして、プロセッサ110は、S428へ移行する。
【0050】
VaがThS以下である場合(S422:NO)、S426で、プロセッサ110は、注目画素のドット形成状態を、ドット無に決定する。そして、プロセッサ110は、S428へ移行する。
【0051】
S428では、プロセッサ110は、S401で取得されるプロファイルを参照して、ドット形成状態に対応付けられる基準階調値Drを取得する。
【0052】
S430では、プロセッサ110は、注目画素PXiの誤差値Eaを、以下の算出式に従って算出する。
誤差値Ea=補正済階調値Va-基準階調値Dr
【0053】
この誤差値Eaは、注目画素PXiのドット形成状態に対応する基準階調値Drと、注目画素PXiの補正済階調値Vaと、の間に生じた誤差を示している。プロセッサ110は、誤差値Eaを、バッファ領域125(図1)に格納する。バッファ領域125には、S430で算出される各画素の誤差値Eaが記録される。S403において取得される分配誤差値Etは、バッファ領域125に記録される複数の画素のそれぞれの誤差値Eaを使用して誤差マトリクスMXに従って注目画素PXiに分配される誤差値である。
【0054】
以上により、1個の画素の1個の色成分の誤差拡散処理は、終了する。なお、補正済階調値Vaとドット閾値との比較の順番は、大ドット閾値ThL、中ドット閾値ThM、小ドット閾値ThS、の順番(すなわち、ドットサイズの大きい順番)である。
【0055】
プロセッサ110は、上記の誤差拡散処理を、入力画像の全ての画素の全ての色成分について、実行する。これにより、プロセッサ110は、各画素の各色成分のドット形成状態を表す出力画像データを、生成する。プロセッサ110は、生成した出力画像データを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、図8の処理、すなわち、図2のS140の処理を終了する。
【0056】
以上のように、本実施例では、制御装置100は、画像の印刷のための画像処理を実行する。S135(図2)では、プロセッサ110は、複数の画素のそれぞれの入力階調値Vinを表す入力画像データを取得する。S140では、プロセッサ110は、入力画像データを使用してハーフトーン処理を行うことによって、複数の画素のそれぞれのドット形成状態を表す出力画像データを生成する。ハーフトーン処理は、S210、S220(図3)を含んでいる。つまり、ハーフトーン処理は、複数の画素のそれぞれのドット形成状態を4個のドット状態から選択する処理を含んでいる。
【0057】
S220では、プロセッサ110は、注目画素PXiのドット形成状態を、4個のドット状態から選択する。4個のドット状態は、ドットの無い状態を示すドット無状態(図8のS426)と、互いに異なるサイズのドットを示す3個のドット有状態(図8のS412、S418、S424)と、を含んでいる。
【0058】
S210とS220(図8:S401、S402、S406、S410-S426、S430を含む)とでは、プロセッサ110は、3個のドット有状態にそれぞれ対応付けられる3個の閾値ThS、ThM、ThLを算出する。S406では、プロセッサ110は、算出した閾値ThS、ThM、ThLを記憶装置115(例えば、揮発性記憶装置120)に格納する。つまり、プロセッサ110は、3個のドット有状態にそれぞれ対応付けられる3個の閾値ThS、ThM、ThLを決定する。S404では、プロセッサ110は、注目画素PXiの入力階調値Vinと、注目画素PXiの周囲に位置するL個(Lは2以上の整数)の画素であるL個の分配画素PXeから注目画素PXiに分配された誤差値Et(第1誤差値Etと呼ぶ)と、を使用して、注目画素PXiの補正済階調値Vaを算出する。S410-S426では、プロセッサ110は、注目画素PXiの補正済階調値Vaと、3個の閾値のうちの少なくとも1個と、を比較することによって、注目画素PXiのドット形成状態を選択する。S430では、プロセッサ110は、4個のドット形成状態にそれぞれ対応付けられる4個の基準階調値のうちの注目画素PXiのドット形成状態に対応付けられる基準階調値Drと、注目画素PXiの補正済階調値Vaと、を使用して、注目画素PXiの誤差値Ea(第2誤差値Eaと呼ぶ)を算出する。
【0059】
閾値ThS、ThM、ThLを算出する処理(図8:S401、S402、S406)では、プロセッサ110は、以下の処理を行う。プロセッサ110は、注目画素PXiの入力階調値Vinと、3個のドット有状態にそれぞれ対応付けられる3個の基準階調値VS、VM、VLと、を含む複数のパラメータ(図7(A)-図7(D))を使用して、3個の閾値ThBCS、ThBCM、ThBCLを算出する。そして、プロセッサ110は、3個の閾値ThBCS、ThBCM、ThBCLを記憶装置115(例えば、揮発性記憶装置120)に格納する。つまり、プロセッサ110は、3個の閾値ThBCS、ThBCM、ThBCLを決定する。プロセッサ110は、3個の閾値ThBCS、ThBCM、ThBCLと3個の乱数RNDとを使用して3個の閾値ThS、ThM、ThLを算出する。このように、プロセッサ110は、3個の閾値ThS、ThM、ThLを、注目画素PXiの入力階調値Vinと、3個のドット有状態にそれぞれ対応付けられる3個の基準階調値VS、VM、VLと、を使用して決定する。従って、プロセッサ110は、ハーフトーン処理で使用される閾値ThS、ThM、ThLを、適切に、決定できる。
【0060】
また、S310(図4)、S401(図8)等で説明したように、プロセッサ110は、対象印刷モードに従って、ハーフトーン処理、すなわち、出力画像データの生成を行う。すなわち、印刷モードは、出力画像データの生成の動作モードの例である。S115(図2)では、プロセッサ110は、印刷モードを、4個のプロファイルPF1-PF4(図5(A)-図5(D))に対応付けられる4個の印刷モードから選択する。4個の印刷モードの間では、記録媒体種類MTと、印刷解像度RSと、の一方、または、両方が、異なっている。また、基準階調値VS、VM、VLは、印刷モード毎に個別に決定される。従って、2つの印刷モードの間では、1以上のドットサイズの基準階調値が異なり得る。例えば、第1プロファイルPF1の基準階調値VS1、VM1、VL1と、第2プロファイルPF2の基準階調値VS2、VM2、VL2と、の間では、1以上のドットサイズの基準階調値(例えば、小ドットの基準階調値VS1、VS2)が異なってよい。このように、プロセッサ110は、複数の印刷モードの間で異なる1以上の基準階調値を使用することによって、各印刷モードに適する閾値ThS、ThM、ThLを決定できる。
【0061】
また、記憶装置115(本実施例では、不揮発性記憶装置130)には、基準階調値VS、VM、VLを含むプロファイルを表すデータであって複数の印刷モードのそれぞれに対応付けられる複数のプロファイルPF1-PF4を表すデータが、格納されている。また、図7(A)に示すように、閾値ThBCS、ThBCM、ThBCLは、共通成分ThBCと個別成分ThBS、ThBM、ThBLと、を含んでいる。閾値ThS、ThM、ThLの算出処理は、図8のS401、S406を含んでいる。S401では、プロセッサ110は、対象印刷モードに対応付けられるプロファイル(基準階調値VS、VM、VLを含む)のデータを、記憶装置115から取得する。S406では、プロセッサ110は、3個の基準階調値VS、VM、VLを含む3以上のパラメータを使用して、共通成分ThBCを算出する(図7(A)-図7(D))。この構成によれば、プロセッサ110は、記憶装置115から取得されるプロファイルのデータを使用することによって、適切な閾値ThS、ThM、ThLを算出できる。
【0062】
また、選択可能な複数の印刷モードは、第1プロファイルPF1の印刷モードと、第1プロファイルPF1の第1印刷解像度RS1とは異なる第2印刷解像度RS2を示す第2プロファイルPF2の印刷モードと、を含む。そして、第1プロファイルPF1の分配画素PXeの総数L(ここでは、6)は、第2プロファイルPF2の分配画素PXeの総数L(ここでは、12)と異なっている。このように、分配画素PXeの総数Lが印刷解像度RSに応じて異なるので、プロセッサ110は、各印刷解像度RSに適するハーフトーン処理を実行できる。
【0063】
また、選択可能な複数の印刷モードは、第1プロファイルPF1(図5(A))の印刷モードと、第3プロファイルPF3(図5(C))の印刷モードと、を含んでいる。第3プロファイルPF3の記録媒体種類MT(ここでは、光沢紙)は、第1プロファイルPF1の記録媒体種類MT(ここでは、普通紙)と異なっている。そして、第1プロファイルPF1の分配画素PXeの総数L(ここでは、6)は、第3プロファイルPF3の分配画素PXeの総数L(ここでは、10)と異なっている。このように、分配画素PXeの総数Lが記録媒体種類MTに応じて異なるので、プロセッサ110は、各記録媒体種類MTに適するハーフトーン処理を実行できる。
【0064】
B.第2実施例:
図9は、閾値テーブルの生成処理の別の実施例を示すフローチャートである。図4の実施例との差異は、係数dMax(図7(C))が誤差マトリクスMXを使用して決定される点だけである。本実施例では、図9のS313、S316が、図4のS310とS320の間に挿入される。生成処理の他の部分の処理は、図4の対応する部分の処理と同じである(説明を省略する)。
【0065】
S313では、プロセッサ110は、S310(図4)で取得されるプロファイルを参照して、誤差マトリクスMXを取得する。S316では、プロセッサ110は、誤差マトリクスMXを使用して、係数dMaxを決定する。
【0066】
図10(A)は、係数dMaxの算出式の例を示す図である。本実施例では、係数dMaxは、特定成分Cwに、定数(ここでは、255と2)を乗じたものである。特定成分Cwは、分配画素PXeの重みWの和に対する、参照画素PXrの重みWの和の割合である。参照画素PXrは、L個の分配画素PXeのうちの予め決められた画素である。図5(A)-図5(D)の誤差マトリクスMX1-MX4では、参照画素PXrがハッチングで示されている。本実施例では、参照画素PXrは、注目画素PXiに隣接する2個の画素で構成されている。ここで、注目画素PXiに隣接する画素は、注目画素PXiを囲む8個の画素を示している。
【0067】
図10(B)、図10(C)は、係数dMaxの算出例を示す図である。図10(B)に示すように、第1プロファイルPF1(図5(A))が参照される場合、係数dMaxは、255である。図10(C)に示すように、第2プロファイルPF2が参照される場合、係数dMaxは、148である。
【0068】
このように、本実施例では、プロセッサ110は、L個の分配画素PXeに基づいて決まる係数dMaxを含む複数のパラメータ(入力階調値Vinと基準階調値VS、VM、VLを含む)を使用して3個の閾値ThS、ThM、ThLを決定する。従って、プロセッサ110は、L個の分配画素PXe(ひいては、誤差マトリクスMX)に適する閾値ThS、ThM、ThLを決定できる。
【0069】
また、L個の分配画素PXe(図5(A)-図5(D))には、誤差マトリクスMXによって重みWが対応付けられている。重みWは、分配画素PXeの誤差値を注目画素PXiに分配する場合に誤差値に付与される重みを示している。すなわち、重みWは、注目画素PXiに対する分配画素PXeの誤差値の重みの例である。係数dMax(図10(A))は、特定成分Cwに係数(ここでは、255*2)を乗じた値である。特定成分Cwは、L個の分配画素PXeのL個の重みWの和に対する、N個(本実施例では、N=2)の参照画素PXrの重みWの和の割合である。係数dMaxは、この割合が大きいほど、大きい。従って、プロセッサ110は、L個の分配画素PXe(N個の参照画素PXrを含む)のそれぞれの重みWに適する閾値ThS、ThM、ThLを算出できる。
【0070】
また、N個の参照画素PXrは、注目画素PXiに隣接する1以上の画素を含んでいる。従って、プロセッサ110は、注目画素PXiに隣接する1以上の画素の重みWに適する閾値ThS、ThM、ThLを算出できる。
【0071】
C.第3実施例:
図11は、誤差拡散処理の別の実施例を示すフローチャートである。図8の実施例との差異は、閾値ThS、ThM、ThLが、上限以下に制限される点だけである。本実施例では、図11のS408、S409が、図8のS406とS410の間に挿入される。誤差拡散処理の他の部分の処理は、図8の対応する部分の処理と同じである(説明を省略する)。
【0072】
S408では、プロセッサ110は、閾値ThS、ThM、ThLのそれぞれについて、対応する上限値ThSMAX、ThMMAX、ThLMAXよりも大きいか否かを判断する。上限値を超える閾値については、S409で、プロセッサ110は、閾値を上限値に設定する。上限値以下の閾値については、プロセッサ110は、S409をスキップして、閾値を変更しない。そして、プロセッサ110は、S410へ移行する。
【0073】
図12は、閾値の例を示すグラフである。横軸は、入力階調値Vinを示し、縦軸は、閾値を示している。図中の閾値ThS、ThM、ThLは、図6の閾値テーブルを使用して算出されている。説明を簡単にするために、図8のS406で加算される乱数RNDによる変化は省略されている。また、ドットサイズに拘わらずに、上限は、同じ値ThMAXであることとする(ThSMAX=ThMMAX=ThLMAX=ThMAX)。
【0074】
図示するように、閾値が上限ThMAX以下である場合、閾値ThS、ThM、ThLは、閾値テーブルの閾値ThBCS、ThBCM、ThBCLと、それぞれ同じである。入力階調値Vinがゼロから増大すると、第1入力階調値Vin1で、大ドット閾値ThLはThMAXになる。Vin>Vin1の場合、入力階調値Vinに拘わらず、ThL=ThMAXである。また、入力階調値Vinがゼロから増大すると、第2入力階調値Vin2で、中ドット閾値ThMはThMAXになる。Vin>Vin2の場合、入力階調値Vinに拘わらず、ThM=ThMAXである。図12の例では、小ドット閾値ThSは、入力階調値Vinに拘わらず、上限ThMAX以下である。なお、本実施例では、図8のS406において、閾値ThBCS、ThBCM、ThBCLに乱数RNDが加算される。乱数RNDの加算によって閾値が上限ThMAXよりも大きくなる場合、プロセッサ110は、S409(図11)で、閾値を上限に設定する。言い換えると、乱数RNDの加算によって閾値が上限ThMAXよりも大きくなる場合、プロセッサ110は、S409(図11)で、閾値を上限に書き換える。
【0075】
以上のように、本実施例では、プロセッサ110は、3個のドット有状態のうちの最も大きいサイズのドット有状態に対応付けられる大ドット閾値ThLを、上限ThMAX以下に制限する。従って、プロセッサ110は大ドットの適切な形成を実現する閾値ThLを決定できる。例えば、大ドット閾値ThLが過度に大きい場合、S410(図8)で補正済階調値Vaが大ドット閾値ThLを超えることが難しいので、大ドットは形成され難い。この結果、意図せずに薄い部分を含む画像が印刷され得る。本実施例では、そのような不具合の可能性は、低減する。
【0076】
また、本実施例では、プロセッサ110は、大ドット閾値ThLに加えて、中ドット閾値ThMも、上限ThMAX以下に制限する。従って、プロセッサ110は、中ドットの無い意図せずに薄い部分を含む画像が印刷される可能性を、低減できる。なお、中ドット閾値ThMは、小ドット閾値ThSと同様に、入力階調値Vinに拘わらず、上限ThMAX以下であるように、構成されてよい。
【0077】
なお、プロセッサ110は、複数のドットサイズの複数の閾値のうち、最も大きいドットサイズの閾値を含む1以上の閾値を、上限以下に制限することが好ましい。これにより、意図せずに薄い部分を含む画像が印刷される可能性は、低減する。なお、上限は、複数のドットサイズに共通であってよく、ドットサイズ毎に異なってよい。例えば、ドットサイズが大きいほど、上限は大きくてよい。また、本実施例は、図9図10の実施例に適用されてよい。
【0078】
D.第4実施例:
上記の各実施例において、印刷に使用可能なドットサイズは、小、中、大に限らず、2以上の種々のサイズであってよい。例えば、小、中、大、特大の4つのサイズが使用可能であってよい。この場合、ハーフトーン処理は、小、中、大に加えて特大を処理するように、修正される。例えば、図8の処理では、S406で、プロセッサ110は、閾値ThS、ThM、ThLに加えて、特大ドット用の閾値ThLLを決定する。プロセッサ110は、補正済階調値Vaと大ドット閾値ThLとの比較(S410)の前に、補正済階調値Vaと特大ドット閾値ThLLとを比較する。そして、Va>ThLLの場合、プロセッサ110は、注目画素のドット形成状態を特大ドットに決定し、S428へ移行する。補正済階調値Vaが特大ドット閾値ThLL以下である場合、プロセッサ110は、S410へ移行する。
【0079】
特大ドット閾値ThLLは、他の閾値ThS、ThM、ThLと同様に決定されてよい。図13(A)-図13(D)は、閾値の算出式の例を示す図である。本実施例の算出式は、図7(A)-図7(D)の算出式の一部分を、特大閾値ThBCLLを算出するように変更したものである。変更は、以下の通りである。
【0080】
図13(A)に示すように、特大閾値ThBCLL(Vidx)は、共通成分ThBC(Vidx)と、個別成分ThBLLとの和で表される。図13(B)に示すように、個別成分ThBLLは、基準階調値VLと同じである。本実施例では、個別成分ThBS、ThBM、ThBL、ThBLLは、1段階小さいドットサイズの基準階調値(0、VS、VM、VL)と同じである。
【0081】
図13(C)に示すように、共通成分ThBC(Vidx)は、4個の項T1d、T2d、T3d、T4dの和に係数dMaxを乗じることによって、算出される。これらの項T1d、T2d、T3d、T4dは、図7(C)の項T1、T2、T3を参考にして、以下のように設定されている。
(1)第1項T1dは、第1項T1に、割合RtLを乗じたものである。
(2)第2項T2dは、第2項T2に、割合RtLを乗じたものである。
(3)第3項T3dは、第3項T3に、割合RtLを乗じたものである。
(4)第4項T4dは、「1-RtL」と、インデクス割合(Vidx/255)のべき乗(指数は、第3指数GM3)と、の積で表される。
【0082】
図13(D)に示すように、第3割合RtLは、基準階調値VL、VLLの割合(VL/VLL)の2倍である。基準階調値VLLは、特大ドットの濃度に相当する階調値である。第3指数GM3は、基準階調値VLL、VLの割合(VLL/VL)の平方根である。
【0083】
以上のように、本実施例の閾値ThBCS、ThBCM、ThBCL、ThBCLLは、図7(A)-図7(D)の閾値ThBCS、ThBCM、ThBCLと同様に、算出される。本実施例の閾値ThBCS、ThBCM、ThBCL、ThBCLLは、図7(A)-図7(D)の閾値の特性と同じ特性を有している。例えば、4個の項T1d、T2d、T3d、T4dに含まれるインデクス割合(Vidx/255)のべき乗の指数(1、GM1、GM2、GM3)は、いわゆるガンマ補正のトーンカーブと同様に、インデクスVidxに応じて共通成分ThBCを変化させ得る。
【0084】
計算式のパラメータ(例えば、指数GM1、GM2、GM3、基準階調値VS、VM、VL、VLL)は、印刷モードに応じて異なり得る。また、4個の項T1d、T2d、T3d、T4dにおいて、インデクス割合(Vidx/255)のべき乗に乗じられる係数は、「RtS*RtM*RtL」、「(1-RtS)*RtM*RtL」、「(1-RtM)*RtL」、「(1-RtL)」である。これら4個の係数は、4個の係数の和が1となるように、構成されている。従って、4個の項T1d、T2d、T3d、T4dの和は、いわゆるガンマ補正と同様に、適切な値を算出可能である。
【0085】
なお、本実施例は、図9図10(A)の実施例、または、図11図12の実施例に、適用されてよい。
【0086】
E.変形例:
(1)誤差マトリクスMXの構成は、図5(A)-図5(D)の誤差マトリクスMX1-MX4の構成に限らず、注目画素PXiの周囲の複数の画素のそれぞれの重みWを定める種々の構成であってよい。例えば、使用可能な複数の印刷モードは、「高品質モード」と「高速モード」を含んでよい。この場合、誤差マトリクスMXの分配画素PXeの総数Lは、「高品質モード」においては、「高速モード」と比べて、多いことが好ましい。
【0087】
(2)図9図10(A)の実施例において、係数dMaxの算出に使用される参照画素PXrは、注目画素PXiに隣接する分配画素PXeに加えて、注目画素PXiから離れた分配画素PXeを含んでよい。また、参照画素PXrは、注目画素PXiから離れた分配画素PXeのみで構成されてよい。いずれの場合も、参照画素PXrの総数Nは、1以上、分配画素PXeの総数L未満の種々の数であってよい。
【0088】
係数dMaxの算出式は、図10(A)の算出式に代えて、他の種々の算出式であってよい。例えば、係数dMaxは、分配画素PXeの総数Lに対する参照画素PXrの総数Nの割合(N/L)に、定数を乗じたものであってよい。係数dMaxが大きいほど、ドット閾値ThS、ThM、ThL、ThLLが大きいので、ドットが形成されにくい。係数dMaxが同じ場合には、分配画素PXeの総数Lが多いほど、より多くの画素から誤差が注目画素PXiに分配されるので、ドットがより形成されにくい。従って、ドット形成の容易さのためには、係数dMaxは、分配画素PXeの総数Lが多いほど、小さいことが好ましい。
【0089】
係数dMaxの決定方法は、L個の分配画素PXeに基づいて決定する方法(例えば、図10(A))に代えて、他の種々の方法であってよい。例えば、プロセッサ110は、係数dMaxの調整を、ユーザに許容してよい。
【0090】
(3)閾値テーブルの生成(図3:S210、図4)に使用されるデータの少なくとも一部は、予め準備されてよい。例えば、共通成分ThBCと入力階調値Vinとの対応関係を表す共通成分データが、予め、記憶装置115(例えば、不揮発性記憶装置130)に格納されてよい。この場合、図4のS320では、プロセッサ110は、共通成分データを使用することによって、閾値テーブルを生成してよい。また、印刷モード毎の閾値テーブルデータが、予め、記憶装置115(例えば、不揮発性記憶装置130)に格納されてよい。この場合、図3のS210では、プロセッサ110は、閾値テーブルを生成する代わりに、対象印刷モードに対応する閾値テーブルのデータを記憶装置115(例えば、不揮発性記憶装置130)から取得する。図8のS406では、プロセッサ110は、入力階調値Vinと閾値テーブルとを使用して、閾値(例えば、ThS、ThM、ThL)を決定する。この場合も、プロセッサ110は、閾値を決定するために、閾値テーブルを介して複数の基準階調値(例えば、VS、VM、VL)を間接的に使用している。このように、プロセッサ110は、複数の基準階調値を直接的に使用する代わりに、複数の基準階調値を使用して決定された他のパラメータを使用して閾値を決定することによって、他のパラメータを介して間接的に複数の基準階調値を使用してよい。
【0091】
(4)互いに異なるサイズのドットを示す複数のドット有状態の総数Qは、2以上の種々の数であってよい。例えば、中ドットと大ドットの2種類のドット有状態が、使用可能であってよい。
【0092】
(5)図7図13の例では、個別成分ThBS、ThBM、ThBL、ThBLLと、割合RtS、RtM、RtLと、指数GM1、GM2、GM3とは、いずれも、基準階調値のセット(例えば、「VS、VM、VL」、または、「VS、VM、VL、VLL」)のみから決定される。すなわち、共通成分ThBC(Vi)は、入力階調値Vinと、基準階調値のセットと、係数dMaxと、のみから決定される。このように、図7図13の算出式を使用する実施例では、プロセッサ110は、入力階調値Vinと、基準階調値のセットと、係数dMaxとを使用して、容易に閾値のセット(例えば、「ThS、ThM、ThL」、または、「ThS、ThM、ThL、ThLL」)を決定できる。
【0093】
閾値の算出式は、図7図13の算出式に代えて、他の種々の算出式であってよい。閾値の算出には、入力階調値Vinと基準階調値のセットとに加えて、他のパラメータが使用されてよい。例えば、指数GM1、GM2、GM3は、基準階調値とは独立に決定されてよい。また、共通成分ThBCが省略されて、ドットサイズ毎に算出式が定められてよい。いずれの場合も、閾値の算出式は、入力階調値Vinが大きいほど大きい閾値を算出することが好ましい。
【0094】
(6)複数の印刷モード、すなわち、ハーフトーン処理の複数の動作モードは、図5(A)-図5(D)のプロファイルPF1-PF4のモードに限らず、種々のモードを含んでよい。使用可能な複数の動作モードは、記録媒体種類MTと印刷解像度RSとの一方、または、両方が異なる2個の第1種動作モードを含んでよい。これら2個の第1種動作モードの間では、1以上のドット形成状態の基準階調値(例えば、基準階調値VS)が異なっていることが好ましい。この構成によれば、プロセッサ110は、記録媒体種類MTと印刷解像度RSとの一方、または、両方に適するハーフトーン処理を実行できる。ただし、全てのドット形成状態の基準階調値が、2個の第1種動作モードに共通であってよい。
【0095】
使用可能な複数の動作モードは、印刷解像度RSが異なる2個の第2種動作モードを含んでよい。そして、2個の第2種動作モードの間では、分配画素PXeの総数Lが異なっていることが好ましい。この構成によれば、プロセッサ110は、印刷解像度RSに適するハーフトーン処理を実行できる。ここで、印刷解像度RSが高いほど、総数Lが大きいことが好ましい。この構成によれば、印刷解像度RSが高い場合に、分配画素PXeの分布領域の用紙上での面積(単位は、例えば、平方ミリメートル)が小さすぎる可能性を低減できる。ただし、総数Lは、2個の第2種動作モードに共通であってよい。
【0096】
使用可能な複数の動作モードは、記録媒体種類MTが異なる2個の第3種動作モードを含んでよい。そして、2個の第3種動作モードの間では、分配画素PXeの総数Lが異なっていることが好ましい。この構成によれば、プロセッサ110は、記録媒体種類MTに適するハーフトーン処理を実行できる。ただし、総数Lは、2個の第3種動作モードに共通であってよい。
【0097】
いずれの場合も、使用可能な動作モードの総数は、1以上の任意の数であってよい。例えば、図5(A)-図5(D)の実施例において、プロファイルPF2、PF4が省略されてよい。また、プロセッサ110は、ユーザの指示に従って、新たなプロファイル(ひいては、動作モード)を生成してよい。
【0098】
(7)プロセッサ110は、ユーザの指示を使用せずに、動作モードを選択してよい。例えば、印刷実行部200は、用紙を格納する格納部と、用紙の種類を識別する用紙識別部と、を有してよい。用紙識別部の構成は、用紙の種類を識別可能な種々の構成であってよい。例えば、用紙識別部は、用紙に光を照射する光源と、用紙からの反射光の強度を測定するセンサと、を含んでよい。プロセッサ110は、反射光の強度が所定の閾値以下である場合には、記録媒体種類MTが普通紙であると判断し、反射光の強度が閾値より大きい場合には、記録媒体種類MTが光沢紙であると判断してよい。そして、プロセッサ110は、記録媒体種類MTに対応付けられる動作モードを選択してよい。
【0099】
(8)印刷実行部200の構成は、図1で説明した構成に代えて、他の種々の構成であってよい。例えば、印刷実行部200は、固定された印刷ヘッドに対して記録媒体が移動するように構成されてよい。使用可能な印刷材は、1以上の任意の印刷材であってよい(例えば、CMYの3色、KYの2色、Kの1色など)。印刷材は、インクに限らず、着色材を含む任意の印刷材(例えば、トナー)であってよい。
【0100】
(9)上記の各実施例では、プリンタ600の制御装置100は、入力画像データを使用して出力画像データを生成する画像処理装置の例である。画像処理装置の構成は、他の種々の構成であってよい。例えば、図2のS110-S130の処理は、画像処理装置(例えば、制御装置100)に接続される他の装置(例えば、プリンタ600に接続される他のコンピュータ)によって実行されてよい。また、入力画像データを使用して出力画像データを生成する画像処理装置は、プリンタ600に接続される外部装置(例えば、コンピュータ)であってよい。ここで、S150-S160の処理は、画像処理装置、または、プリンタ600によって実行されてよい。
【0101】
ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理装置による画像処理の機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
【0102】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図3の誤差拡散処理(S220)の機能を、専用のハードウェア回路によって実現してもよい。
【0103】
また、本開示の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0104】
上記の実施例と変形例とは、適宜に組み合わせることができる。また、上記の実施例と変形例とは、本開示の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0105】
100…制御装置、110…プロセッサ、115…記憶装置、120…揮発性記憶装置、125…バッファ領域、130…不揮発性記憶装置、140…表示部、150…操作部、160…通信インタフェース、200…印刷実行部、210…搬送機構、220…移動機構、240…印刷ヘッド、290…制御部、600…プリンタ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13