A.第1実施例:
A1.装置構成:
図1は、本発明の一実施例としての画像処理システムを示す説明図である。この画像処理システム900は、ネットワークNTと、ネットワークNTを介して互いに接続された画像処理装置100とプリンタ800と、を含んでいる。
画像処理装置100は、例えば、汎用のコンピュータである。画像処理装置100は、画像処理装置100の全体を制御するCPU110と、DRAM等の揮発性記憶装置120と、フラッシュメモリ等の不揮発性記憶装置130と、ユーザによって操作される操作部160(例えば、マウスやキーボード)と、画像を表示する表示部170(例えば、液晶ディスプレイ)と、他の装置と通信するためのインタフェース180(例えば、ネットワークインタフェースや、USBインタフェース)と、を含んでいる。インタフェース180に、ネットワークNTが接続されている。
不揮発性記憶装置130は、プログラム132と設定情報134とを格納している。設定情報134は、制御情報134aと、記録媒体の種類を識別する媒体識別情報134bと、の間の対応関係を定めている。制御情報134aは、第1範囲値Lxと第2範囲値Lyとの少なくとも一方と、ライン数NLと、を表している(後述)。不揮発性記憶装置130は、互いに異なる複数種類の記録媒体のそれぞれのための設定情報134を格納し得る。
CPU110は、プログラム132を実行することによって、画像処理部200として機能する。画像処理部200は、画像を印刷するための画像処理を行って、プリンタ800に供給すべきドットデータ(「印刷データ」とも呼ぶ)を生成する。図示するように、画像処理部200は、ラスタライザ210と、色変換部220と、ハーフトーン処理部230と、印刷データ生成部240と、データ送信部250と、評価受付部260と、登録部270と、方向情報受付部280と、方向推定部290と、ユーザインタフェース(UI)表示部295と、を含んでいる。各処理部の詳細については、後述する。
プリンタ800は、プリンタ800の全体を制御する印刷制御部810と、印刷を行う印刷部840と、読取部850と、他の装置と通信するためのインタフェース880(例えば、ネットワークインタフェースや、USBインタフェース)と、を含んでいる。インタフェース880には、ネットワークNTが接続されている。印刷部840は、例えば、いわゆるインクジェット式の印刷装置である。本実施例では、印刷部840は、シアンとマゼンタとイエロとブラックとの4種類のインクを用いて、画像を記録媒体に印刷する。印刷部840は、ユーザによって供給された種々の種類の記録媒体を、印刷に利用可能である。印刷部840と読取部850とは、印刷部840からの印刷済の記録媒体が読取部850に搬送され得るように、構成されている。読取部850は、記録媒体を光学的に読み取ることによって、印刷された画像を表す画像データを生成する。なお、ユーザが、印刷済の記録媒体を読取部850に供給することとしてもよい。
印刷制御部810は、例えば、ASIC(Application Specific Integrated Circuit)を用いて構成されている。印刷制御部810は、インタフェース880を介して受信したドットデータに従って印刷部840を制御することによって、印刷を行う。
A2.画像処理:
図2は、画像処理のフローチャートである。画像処理部200(図1)は、ユーザからの印刷指示に応じて、図2の処理を開始する。ユーザの指示は、操作部160を介して、画像処理装置100に入力される。
最初のステップS100では、ユーザインタフェース表示部295(図1)は、設定画面を、表示部170に表示する。図3は、設定画面の一例を示す説明図である。この設定画面U10は、記録媒体の繊維方向(通常は、インクの滲みやすい方向と同じ)を入力するための4つのボタンU11〜U14と、登録済の設定を選択するためのリスト領域U16と、印刷すべき画像を表す画像領域U18と、を含んでいる。ユーザは、操作部160を操作することによって、設定画面U10を操作することができる。設定画面U10を介して入力された情報に応じて、インクの滲みを抑制する画像処理が実行される(後述)。
リスト領域U16は、登録済みの設定情報134(図1)の媒体識別情報134bの一覧を表示する。媒体識別情報134bは、記録媒体の種類を識別する情報であり、本実施例では、設定情報134に付けられた名前である。ユーザは、登録済みの設定情報134の中から、印刷に用いられる記録媒体に適した設定情報134を選択することができる。選択された設定情報134は、後述するステップS160で、印刷に用いられる。
適した設定情報134がリスト領域U16に無い場合、すなわち、印刷に用いられる記録媒体の種類が、初めての種類である場合には、ユーザは、4つのボタンU11〜U14の中の1つを選択する。第1ボタンU11は、「縦目」を示し、第2ボタンU12は、「横目」を示し、第3ボタンU13は、「不明」を示し、第4ボタンU14は、「両対策」を示している。
「縦目」は、記録媒体の繊維方向が記録媒体の長手方向と平行である場合の選択肢である(そのような記録媒体を「縦目記録媒体」とも呼ぶ)。縦目記録媒体を用いる場合、通常は、インクが滲みやすい方向(以下「滲み方向」と呼ぶ)は、長手方向と平行である。滲み方向は、通常は、特定の方向と、その反対方向と、の双方向である。「縦目」が選択された場合には、長手方向に沿ったインクの滲みを抑制する処理が行われる。
「横目」は、記録媒体の繊維方向が記録媒体の長手方向と直交する場合の選択肢である(そのような記録媒体を「横目記録媒体」とも呼ぶ)。横目記録媒体を用いる場合、滲み方向は、長手方向と直交する方向である。「横目」が選択された場合には、長手方向と直交する方向に沿ったインクの滲みを抑制する処理が行われる。
「不明」は、繊維方向が不明である場合の選択肢である。「不明」が選択された場合には、テスト画像の印刷結果を用いて、自動的に、滲み方向が推定される(後述)。
「両対策」は、記録媒体の長手方向に沿ったインクの滲みと、長手方向と直交する方向に沿ったインクの滲みと、の両方に対処するための選択肢である。ユーザは、繊維方向(すなわち、滲み方向)を特定せずに両方向のインクの滲みに対処することを望む場合に、「両対策」を選択可能である。また、後述するように、自動的な滲み方向の推定ができない場合にも、「両対策」が選択された場合と同様の処理が行われる。
このように、ユーザは、ボタンU11〜U14を操作することによって、記録媒体の繊維方向に関する情報である方向情報を指定することができる。ボタンU11〜U14のいずれかが選択された場合には、方向情報受付部280(図1)は、選択されたボタンを特定する方向情報を操作部160から取得する。図2の次のステップS105、S110、S120、S130では、方向情報受付部280は、ステップS100で入力された情報に応じて処理を分岐させる。ステップS105では、図3のボタンU11〜U14のいずれかが操作されたか否かが判定される。リスト領域U16から設定情報134が選択された場合には、判定結果は「No」であり、処理は、ステップS160に移行する(後述)。
図3のボタンU11〜U14のいずれかが選択された場合(S105:Yes)、次のステップS110で、「縦目」が選択されたか否かが判定される。「縦目」が選択された場合(S110:Yes)、処理は、ステップS112に移行する。選択された情報が「縦目」ではない場合(S110:No)、次のステップS120で、「横目」が選択されたか否かが判定される。「横目」が選択された場合(S120:Yes)、処理は、ステップS122に移行する。選択された情報が「横目」では無い場合(S120:No)、次のステップS130で、「両対策」が選択されたか否かが判定される。「両対策」が選択された場合(S130:Yes)、処理は、ステップS132に移行する。選択された情報が「両対策」ではない場合、すなわち、「不明」が選択された場合(S130:No)、処理は、ステップS140に移行する。
A2−1.「不明」が選択された場合の処理(図2:S130:No):
先ず、「不明」が選択された場合について説明し、他の場合については後述する。図2のステップS140では、画像処理部200は、テスト画像の印刷処理を行う。具体的には、データ送信部250は、テスト画像を表すテスト画像ドットデータを、プリンタ800に送信する。プリンタ800の印刷制御部810は、受信したテスト画像ドットデータに従って印刷部840を制御することによって、テスト画像を印刷する。テスト画像ドットデータは、予め決められたドットデータである。テスト画像ドットデータは、予め不揮発性記憶装置130に格納されていてもよく、この代わりに、ステップS140で、別形式の画像データ(例えば、JPEGデータ)から、処理部210〜240によって生成されてもよい。
図4(A)は、記録媒体RMに印刷されたテスト画像TIの説明図である。図中には、記録媒体RMの表面上の位置を特定するための2つの方向Dx、Dyが示されている。第1方向Dxは、記録媒体RMの長手方向と直交する方向であり、第2方向Dyは、記録媒体RMの長手方向と平行である。以下、第1方向Dxと平行な方向を「横方向」とも呼び、第2方向Dyと平行な方向を「縦方向」とも呼ぶ。テスト画像TIは、2つのパターンPA、PBを含んでいる。第1パターンPAは、第2方向Dyと平行な3本のテストラインA1、A2、A3で構成されている。第2パターンPBは、第1方向Dxと平行な3本のテストラインB1、B2、B3で構成されている。テスト画像TIは、ブラックインクを用いて印刷されている。なお、平行なテストラインの総数としては、3に限らず、K本(Kは1以上の整数)を採用可能である。
図4(B)、図4(C)は、印刷されたテスト画像TIの拡大図である。図4(B)は、縦目記録媒体にテスト画像TIが印刷された場合の一例を示し、図4(C)は、横目記録媒体にテスト画像TIが印刷された場合の一例を示している。図中のハッチングが付された矩形は、印刷されたテストラインを示し、矩形から伸びる細線Laは、滲んだインクを示している。
縦目記録媒体が用いられる場合(図4(B))、滲み方向は、第2方向Dyと平行な方向である。故に、第1パターンPAの滲みよりも、第2パターンPBの滲みが目立ちやすい。この理由は、以下の通りである。第1パターンPAの3本のテストラインA1、A2、A3は、第2方向Dyと平行であるので、第2方向Dyと平行に拡がる滲みは、各テストラインA1〜A3の両端の近傍で目立ちやすく、各テストラインA1〜A3の中央部分では目立ちにくい。一方、第2パターンPBの3本のテストラインB1、B2、B3は、第2方向Dyと直交するので、第2方向Dyと平行に拡がる滲みは、各テストラインB1〜B3のそれぞれの一端から他端までの全範囲に亘って、目立ちやすい。以上により、第1パターンPAの滲みよりも、第2パターンPBの滲みが目立ちやすい。
横目記録媒体が用いられる場合(図4(C))、滲み方向は、図4(B)の滲み方向(第2方向Dyと平行な方向)と直交する第1方向Dxである。故に、図4(B)の場合とは異なり、第2パターンPBの滲みよりも、第1パターンPAの滲みが目立ちやすい。
図2の次のステップS142では、読取部850(図1)は、印刷されたテスト画像TIを光学的に読み取って、読み取ったテスト画像TIを表す画像データを生成する(以下、生成されたデータを、「読取テスト画像データ」と呼ぶ)。次に、方向推定部290は、読取テスト画像データをプリンタ800から取得し、読取テスト画像データを解析することによって、第1方向Dxと第2方向Dyとから滲み方向を推定する。推定方法としては、第1パターンPAと第2パターンPBとの間で滲みの程度を比較し、滲みの程度の大きいパターンのテストラインと直交する方向が滲み方向である、と推定する方法を採用可能である。例えば、テストラインの近傍の領域(例えば、図4(B)、図4(C)の第1パターンPAの第1近傍領域Axと、第2パターンPBの第2近傍領域Bx)の間で平均明るさを比較し、平均明るさが暗いほど滲みの程度が大きいこととして、滲み方向を推定する方法を採用可能である。なお、第1パターンPAと第2パターンPBとの間の滲みの程度の差が所定の閾値よりも小さい場合には、方向推定部290は、「滲み方向を特定できない」と判定する。ただし、滲みの程度の差に依らず、滲み方向を、第1方向Dxと平行な方向と、第2方向Dyと平行な方向と、のいずれかに推定することとしてもよい。
ステップS142の終了に応じて、処理は、ステップS110に戻る。方向情報受付部280は、推定された滲み方向が第2方向Dyと平行な方向である場合には、「縦目」が選択された場合と同様に、処理をステップS112に移行させ、推定された滲み方向が第1方向Dxと平行な方向である場合には、「横目」が選択された場合と同様に、処理をステップS122に移行させ、滲み方向が特定されなかった場合には、「両対策」が選択された場合と同様に、処理をステップS132に移行させる。
A2−2.「縦目」が選択された場合の処理(図2:S110:Yes):
図2ステップS112で、画像処理部200(図1)は、縦フィルタを用いる印刷処理を行う。図5は、フィルタを用いる印刷処理のフローチャートである。最初のステップS200では、ラスタライザ210は、印刷のために入力された入力画像データを、印刷用の処理解像度のビットマップデータに変換する。以下、画像データを処理解像度のビットマップデータに変換する処理を「ラスタライズ」とも呼ぶ。入力画像データは、例えば、ユーザからの印刷指示によって指定されたJPEGデータや文書データである。以下、入力画像データによって表される画像を「入力画像」とも呼ぶ。生成されるビットマップデータは、例えば、赤Rと緑Gと青Bとの3つの色成分の階調値(例えば、256階調)で複数の画素のそれぞれの色を表している。以下、印刷用の処理解像度で表される画素を、印刷画素とも呼ぶ。複数の印刷画素は、第1方向Dxと第2方向Dyとに沿ってマトリクス状に配置されている。
次のステップS210では、色変換部220(図1)は、ビットマップデータの色変換を実行する。本実施例では、印刷画素毎に、赤Rと緑Gと青Bの階調値が、複数のインクのそれぞれの階調値(ここでは、シアンC、マゼンタM、イエロY、ブラックKのそれぞれの階調値)に、変換される。このように互いに異なる色空間の間での色変換は、色空間変換とも呼ばれる。CMYKの階調値は、CMYKのインク量を、それぞれ表している。RGBとCMYKとの間の対応関係は、図示しない色変換プロファイルによって、予め定められている。
次のステップS220では、ハーフトーン処理部230(図1)は、色変換部220によって生成された画像データ(すなわち、CMYKの階調値を表すビットマップデータ)と、後述するフィルタと、を用いて、全てのインクのそれぞれのハーフトーン処理を行う。ハーフトーン処理部230は、ハーフトーン処理によって、各印刷画素のドットサイズをインク毎に決定する。以下、ハーフトーン処理部230を「ドットサイズ決定部230」とも呼ぶ。本実施例では、ドットサイズは、「ドット無し(dN)」、「小ドット(dS)」、「中ドット(dM)」、「大ドット(dL)」、「特大ドット(dLL)」の5つのドットサイズの中から決定される。「ドット無し(dN)」のインク量はゼロである。ドットサイズが大きいほど、ドットの形成に用いられるインク量が多い。
図6は、フィルタを用いるハーフトーン処理のフローチャートである。ハーフトーン処理部230は、複数の印刷画素から1つの処理対象の画素(以下「対象画素」と呼ぶ)を選択し、選択した対象画素のハーフトーン処理を行う。そして、全ての印刷画素のハーフトーン処理が終了するまで、未処理の画素の選択とハーフトーン処理とを、繰り返す。
対象画素の選択は、第1方向Dxの画素位置(「第1位置i」と呼ぶ)と、第2方向Dyの画素位置(「第2位置j」と呼ぶ)と、を特定することによって、行われる。ここで、複数の印刷画素に関し、第1方向Dxの合計画素数を、「第1画素数Imw」と呼び、第2方向Dyの合計画素数を、「第2画素数Imh」と呼ぶ。第1位置iは、一端を示す「ゼロ」以上、他端を示す「Imw−1」以下の整数であり、第2位置jは、一端を示す「ゼロ」以上、他端を示す「Imh−1」以下の整数である。
最初のステップS300で、ハーフトーン処理部230は、対象画素の第1位置iと第2位置jとを、ゼロに初期化する。次のステップS310では、ハーフトーン処理部230は、全ての印刷画素の処理が終了したか否かを判定し、終了すると(S310:Yes)図6の処理を終了する。具体的には、第2位置jが第2画素数Imh以上であるか否かが判定される。第2位置jが第2画素数Imh以上であることは、全ての画素ラインの処理が終了したことを意味している(ここで、画素ラインは、第1方向Dxに延びる画素ラインである)。未処理の画素が残っている場合(S310:No)、次のステップS320で、ハーフトーン処理部230は、第2位置jで特定される画素ラインの全ての印刷画素の処理が終了したか否かを判定し、終了すると(S320:Yes)ステップS370に移行して、第1位置iをゼロに初期化し、第2位置jに1を追加し、再び、ステップS310に移行する。ステップS320では、第1位置iが第1画素数Imw以上であるか否かが判定される。
対象画素(i,j)が未処理の画素である場合(S320:No)、ハーフトーン処理部230は、次のステップS330で、対象画素のフラグ処理を行う。フラグ処理では、対象画素のインクドットからのインクの滲みが目立ち易い場合に、対象画素のフラグが「1」に設定され、インクの滲みが目立ちにくい場合に、対象画素のフラグが「0」に設定される。なお、本実施例では、「縦目」「横目」「両対策」のそれぞれのための3種類のフラグ処理が準備されている。
図7(A)は、縦フィルタが用いられる場合(すなわち、縦目が選択される場合、および、滲み方向が第2方向Dyと平行な方向と推定される場合)のフラグ処理の概略図であり、図7(B)は、縦フィルタを用いるフラグ処理のフローチャートである。
図7(A)には、対象画素Ptを中心とする複数の画素PxLの部分マトリクスが示されている。図中の矢印Lbは、対象画素Ptに記録されたインクドットから滲み得るインクを示している。インクは、第2方向Dyに沿って滲み易い。また、図中では、対象画素Ptに対応付けられた複数の対応画素(以下「画素群」とも呼ぶ)が、ハッチングで示されている。この画素群は、対象画素Ptを含み、対象画素Ptを中心に第2方向Dyに沿って並ぶ5つの画素P11、P12、Pt、P13、P14で構成されている。対象画素Ptのインクドットから滲んだインクは、この画素群の画素P11、P12、P13、P14と重なり易い。故に、対象画素Ptの色が濃く、かつ、この画素群が薄い画素を含む場合には、インクの滲みが目立ちやすい。そこで、ハーフトーン処理部230(図1)は、対象画素Ptの色が黒を含む部分黒色範囲内の色であり、かつ、画素群(P11〜P14)が白を含む部分白色範囲内の色の画素を含む場合に、フラグを「1」に設定し、それ以外の場合には、フラグを「0」に設定する。
具体的には、図7(B)に示すように、ハーフトーン処理部230は、対象画素PtのフラグFL(i,j)をゼロに初期化し(S400)、対象画素PtのブラックKの階調値(以下、「K値」とも呼ぶ)を取得し(S405)、対象画素Ptが、黒条件を満たすか否かを判定する(S410)。黒条件は、画素の色が、黒を含む部分黒色範囲内の色である場合に、満たされる条件である。本実施例では、部分黒色範囲は、CMYのそれぞれの階調値には依存せず、K値が所定の第1閾値よりも大きい色範囲である。黒条件が満たされない場合(S410:No)、ハーフトーン処理部230は、フラグFL(i,j)をゼロに維持して、図7の処理を終了する。
黒条件が満たされる場合(S410:Yes)、ハーフトーン処理部230は、画素群から1つの判定対象の画素(以下「判定画素」と呼ぶ)を選択し、選択した判定画素が後述の白条件を満たすか否かを判定する。そして、画素群の全ての画素の判定が終了するまで、未処理の画素の選択と判定とを繰り返す。具体的には、次のステップS415で、ハーフトーン処理部230は、1つの判定画素を特定する第2判定位置nを、−Lyに初期化する。第2範囲値Lyは、対象画素Ptから画素群の端の画素までの画素数である。図7(A)では、第2範囲値Lyが「2」である。第2判定位置nは、−Ly以上、+Ly以下の整数であり、判定画素の第2方向Dyの画素位置は、「j+n」によって特定される。本実施例では、第2範囲値Lyの初期値は「2」である。後述するように、第2範囲値Lyは、変更され得る。
次に、ハーフトーン処理部230は、判定画素(i,j+n)のCMYKのそれぞれの階調値(以下、「CMYK値」と呼ぶ)を取得し(S425)、判定画素(i,j+n)が白条件を満たすか否かを判定する(S430)。白条件は、画素の色が、白を含む部分白色範囲内の色である場合に、満たされる条件である。本実施例では、部分白色範囲は、CMYKのそれぞれの階調値の合計が、所定の第2閾値よりも小さい色範囲である。白条件が満たされない場合(S430:No)、ハーフトーン処理部230は、ステップS435、S440をスキップして、ステップS455に移行する。
白条件が満たされる場合(S430:Yes)、ハーフトーン処理部230は、ステップS435で、対象画素Ptが、フラグが「1」に設定され得る領域である調整領域の画素であるか否かを判定し、調整領域の画素ではない場合(S430:No)、ステップS440をスキップして、ステップS455に移行する。ステップS435では、具体的には、第1位置iをライン数NLで割った余りがゼロであるか否かが判定される。図中の演算記号「%」は、除算の余りを算出する演算記号である。「余り=ゼロ」は、対象画素Ptが調整領域の画素であることを意味し、「余り=非ゼロ」は、対象画素Ptが間引き対象であることを意味している。第2方向Dyに延びるNL本の画素ラインのうちの「NL−1」本の画素ラインが間引かれる。このように、一部の画素ラインを間引くことによって、滲みを抑制する処理が過度に実行されることを抑制できる(詳細は後述)。本実施例では、ライン数NLの初期値は「2」である。後述するように、ライン数NLは、変更され得る。
対象画素Ptが調整領域の画素である場合(S435:Yes)、ハーフトーン処理部230は、ステップS440で、対象画素PtのフラグFL(i,j)を「1」に変更し、ステップS455に移行する。
ステップS455では、ハーフトーン処理部230は、第2判定位置nに1を加算して、判定画素を更新する。次のステップS460では、ハーフトーン処理部230は、画素群の全ての画素に関する処理が終了したか否かを判定し、終了すると(S460:Yes)図7(B)の処理を終了する。具体的には、第2判定位置nが第2範囲値Lyよりも大きいか否かが判定される。第2判定位置nが第2範囲値Ly以下である場合(S460:No)、ハーフトーン処理部230は、ステップS425に戻り、更新された判定画素の処理を行う。
以上のように、ハーフトーン処理部230は、入力画像データに応じて決定されるCMYK値に、第2範囲値Lyとライン数NLと黒条件と白条件とを適用することによって、フラグFLを決定する。第2範囲値Lyとライン数NLと黒条件と白条件との全体は、CMYK値に適用されるフィルタに対応する。図7(A)に示すように、画素群が縦に延びるので、このフィルタを「縦フィルタ」とも呼ぶ。
図7(B)の処理(すなわち、図6のステップS330の処理)の終了に応じて、図6の次のステップS340で、ハーフトーン処理部230は、対象画素Ptの誤差拡散処理を行うことによって、対象画素のドットサイズを仮決定する(全てのインクのそれぞれのドットサイズの仮決定が行われる)。誤差拡散処理としては、任意の公知の処理を採用可能である(詳細な説明を省略する)。なお、対象画素のドットサイズを仮決定する方法としては、誤差拡散法に限らず、他の任意の方法(例えば、ディザマトリクスを用いる方法)を採用可能である。また、ステップS330とステップS340の順番が、逆であってもよい。
次のステップS350では、ハーフトーン処理部230は、対象画素PtのフラグFL(i,j)に応じて、ドットサイズ調整を行う。図8は、ドットサイズ調整のフローチャートである。最初のステップS500では、ハーフトーン処理部230は、フラグFL(i,j)が「1」であるか否かを判定する。フラグFL(i,j)が「1」ではない場合(S500:No)、ハーフトーン処理部230は、図8の処理を終了する。
フラグFL(i,j)が「1」である場合(S500:Yes)、次のステップS510で、ハーフトーン処理部230は、対象画素PtのブラックKのドットサイズKd(i,j)が、最も大きいサイズ(ここでは、「特大dLL」)であるか否かを判定する。ドットサイズKd(i,j)が特大dLLではない場合(S510:No)、ハーフトーン処理部230は、図8の処理を終了する。
ドットサイズKd(i,j)が特大dLLである場合(S510:Yes)、次のステップS520で、ハーフトーン処理部230は、対象画素PtのブラックKのドットサイズKd(i,j)を、「特大dLL」から1つ小さい「大dL」に変更する。この結果、対象画素PtからのブラックKのインクの滲みを抑制できる。なお、以上のステップS500、S510、S520の全体を、「第1種調整」とも呼ぶ。次のステップS530では、ハーフトーン処理部230は、第2種調整を行う。第2種調整は、対象画素PtのブラックKのドットが小さくなることに起因して画像が薄くなることを抑制するために、他のドットのサイズを調整する処理である。
図9は、第2種調整のフローチャートである。最初のステップS600では、ハーフトーン処理部230は、対象画素PtのシアンCのドットサイズCd(i,j)と、マゼンタMのドットサイズMd(i,j)と、イエロYのドットサイズYd(i,j)と、が同じであるか否かを判定する。CMYのうちの少なくとも1つのインクのドットサイズが他のインクのドットサイズと異なる場合(S600:No)、ハーフトーン処理部230は、ドットサイズを調整せずに、図9の処理を終了する。
CMYのドットサイズが同じである場合(S600:Yes)、次のステップS610で、ハーフトーン処理部230は、それらのドットサイズ(例えば、シアンCのドットサイズCd(i,j))が、「中dM」以下であるか否かを判定する。ドットサイズが「大dL」、または、「特大dLL」である場合(S610:No)、ハーフトーン処理部230は、ドットサイズを調整せずに、図9の処理を終了する。
ドットサイズが「中dM」以下である場合(S610:Yes)、ハーフトーン処理部230は、CMYのドットサイズを1つ大きなサイズに変更する。すなわち、CMYのドットサイズが「ドット無しdN」である場合(S620:Yes)、CMYのドットサイズが、1つ大きい「小dS」に変更される(S630)。CMYのドットサイズが「小dS」である場合(S620:No、S640:Yes)、CMYのドットサイズが、1つ大きい「中dM」に変更される(S650)。CMYのドットサイズが「中dM」である場合(S620:No、S640:No)、CMYのドットサイズが、1つ大きい「大dL」に変更される(S660)。以上の変更(S630、S650、S660)の完了に応じて、図9の処理は終了する。
図10は、対象画素のCMYKのそれぞれのドットサイズの調整例を示す説明図である。図10(A)は、調整前のドットサイズを示し、図10(B)は、調整後のドットサイズを示している。図示するように、ブラックKのドットサイズが「特大dLL」から1つ小さい「大dL」に変更され、この代わりに、CMYのそれぞれのドットサイズが「小dS」から1つ大きい「中dM」に変更されている。
本実施例では、CMYのドットサイズが同じである場合には、CMYの混色によってほぼ無彩色が再現される。故に、CMYのそれぞれのドットサイズが同じ場合に、CMYのそれぞれのドットサイズを1つ大きいサイズに変更することによって、印刷される画像の彩度および色相が変化することを抑制しつつ、印刷済画像が薄くなることを抑制できる。例えば、無彩色に近い色のオブジェクト(例えば、文字や線図)を表す領域のドットサイズが、第1種調整と第2種調整とによって適切に調整される。
図9の処理(すなわち、図8のステップS530の処理)の終了に応じて、図8の処理が終了する。図8の処理(すなわち、図6のステップS350の処理)の終了に応じて、図6の次のステップS360で、ハーフトーン処理部230は、第1位置iに1を加算して対象画素を更新し、ステップS320に戻る。以上により、ステップS330〜S350の処理は、全ての印刷画素について実行され、全ての印刷画素の最終的なドットサイズが決定される。
図6の処理(すなわち、図5のステップS220の処理)の終了に応じて、図5の次のステップS230で、印刷データ生成部240(図1)は、ハーフトーン処理部230によって決定されたドットサイズを表すドットデータを生成する。ドットデータは、ハーフトーン処理の結果を表すデータであり、プリンタ800(印刷制御部810)によって解釈可能な形式のデータである。次のステップS240では、データ送信部250は、ドットデータをプリンタ800に送信する。プリンタ800は、受信したドットデータに応じて、画像を印刷する。以上により、画像処理部200は、図5の処理を終了する。なお、プリンタ800は、印刷実行部に対応する。
図5の処理(ここでは、図2のステップS112)の終了に応じて、図2の次のステップS114で、ユーザインタフェース表示部295(図1)は、印刷された画像のユーザによる評価結果を入力するための設定画面を、表示部170に表示する。図11は、設定画面の一例を示す説明図である。設定画面U20は、画像が適切であることを示す第1ボタンU21と、画像が滲んでいることを示す第2ボタンU22と、画像が薄いことを示す第3ボタンU23と、第1ボタンU21が操作される場合に設定名を入力するための設定名入力フィールドU24と、を含んでいる。ユーザは、操作部160を操作することによって、好みのボタンを操作可能である。第1ボタンU21(OK)を操作する場合には、ユーザは、事前に、設定名入力フィールドU24に、記録媒体を識別する名前を入力する。設定名入力フィールドU24に入力された名前は、媒体識別情報134bとして利用される(後述)。評価受付部260は、操作されたボタンを特定する情報(評価情報と呼ぶ)と、設定名入力フィールドU24に入力された情報とを、操作部160から取得する。
図2の次のステップS116では、評価受付部260(図1)は、ステップS114で「第1ボタンU21(OK)」が操作されたか否かを判定する。第2ボタンU22、または、第3ボタンU23が操作された場合(S116:No)、処理は、ステップS118に移行する。ステップS118では、ハーフトーン処理部230は、フィルタを調整する。
図12は、フィルタ調整処理のフローチャートである。図2のステップS114で「第2ボタンU22(滲む)」が操作された場合(S710:Yes)、ステップS720で、ハーフトーン処理部230は、第2範囲値Lyに1を加算し、ライン数NLから1を減算する。この結果、図7(A)、図7(B)の処理で用いられる画素群の画素数が多くなり、そして、間引かれる画素ラインの数が少なくなるので、フラグが「1」に設定される画素の数が増大し得る。故に、調整後のフィルタを用いることによって、インクの滲みを抑制できる。
第3ボタンU23(薄い)が操作された場合(S710:No)、ステップS730で、ハーフトーン処理部230は、第2範囲値Lyから1を減算し、ライン数NLに1を加算する。この調整の結果、図7(A)、図7(B)の処理で用いられる画素群の画素数が少なくなり、そして、間引かれる画素ラインの数が多くなるので、フラグが「1」に設定される画素の数が低減し得る。故に、調整後のフィルタを用いることによって、画像が薄くなることを抑制できる。
なお、後述のように「横目」又は「両対策」が選択された場合には、フラグの決定に利用される画素群を特定するために、第1方向Dxの画素群の大きさを定める第1範囲値Lxが利用される。第1範囲値Lxが利用される場合には、ステップS720では、第1範囲値Lxに1が加算され、ステップS730では、第1範囲値Lxから1が減算される。
ステップS720、S730の完了に応じて、図12の処理(すなわち、図2のステップS118の処理)は終了する。図2のステップS118の終了に応じて、処理は、再び、ステップS112に移行する。ステップS112では、調整済のフィルタが用いられる。そして、図11の第1ボタンU21(OK)が操作されるまで、画像の印刷(S112)と、ユーザによる評価(S114)と、評価に応じたフィルタの調整(S118)とが、繰り返される。
第1ボタンU21(OK)が操作された場合(S116:Yes)、次のステップS150で、登録部270(図1)は、調整済のフィルタを表す制御情報134a(ライン数NLと第2範囲値Ly)を、媒体識別情報134b(すなわち、図11の設定名入力フィールドU24に入力された情報)と対応付けて、不揮発性記憶装置130に登録(すなわち、格納)する。登録された情報は、図3のリスト領域U16で選択可能である。ステップS150の終了に応じて、図2の処理は終了する。
A2−3.「横目」が選択された場合の処理(図2:S120:Yes):
図2のステップS122の印刷処理では、横フィルタが用いられる。図5、図6の手順は、「縦目」が選択された場合と同様に行われる。「縦目」が選択された場合と異なる点は、図6のステップS330のフラグ処理で、横フィルタを用いた処理が行われる点である。他の処理は、「縦目」が選択された場合の処理と同じである(説明を省略する)。
図13(A)は、横フィルタが用いられる場合のフラグ処理の概略図であり、図13(B)は、横フィルタを用いるフラグ処理のフローチャートである。図7(A)で説明したフラグ処理と異なる点は、画素群を構成する複数の画素が、第1方向Dxに沿って並んで配置されている点である。フラグが「1」に設定されるための条件は、縦フィルタが用いられる場合の条件の第1方向Dxと第2方向Dyとを入れ替えたものと同じである。
図13(A)は、図7(A)と同様の部分マトリクスを示し、対象画素Ptに対応付けられた画素群が、ハッチングで示されている。この画素群は、対象画素Ptを含み、対象画素Ptを中心に第1方向Dxに沿って並ぶ5つの画素P21、P22、Pt、P23、P24で構成されている。また、図中の矢印Lbは、対象画素Ptから滲み得るインクを示している。インクは、第1方向Dxに沿って滲み易い。
ハーフトーン処理部230は、図13(B)の手順に従って、フラグ処理を実現する。図13(B)では、図7(B)のステップと同じステップに、同じ符号が付されている。具体的には、ステップS400、S405、S410、S440、S455が、共通する。以下、共通するステップについては、詳細な説明を省略する。
ステップS410で、対象画素Ptが黒条件を満たす場合には、ハーフトーン処理部230は、画素群の全ての画素のそれぞれについて、白条件が満たされるか否かを判定する。まず、ステップS415aで、ハーフトーン処理部230は、第1判定位置mを、−Lxに初期化する。第1範囲値Lxは、対象画素から画素群の端の画素までの画素の数を示している。図13(A)では、第1範囲値Lxが「2」である。第1判定位置mは、−Lx以上、+Ly以下の整数であり、判定画素の第1方向Dxの画素位置は、「i+m」によって特定される。本実施例では、第1範囲値Lxの初期値は「2」である。上述のように、第1範囲値Lxは、変更され得る。
次に、ハーフトーン処理部230は、判定画素(i+m,j)のCMYK値を取得し(S425a)、判定画素(i+m,j)が白条件を満たすか否かを判定する(S430a)。白条件は、図7(B)のステップS430の白条件と同じである。白条件が満たされない場合(S430a:No)、ハーフトーン処理部230は、ステップS435a、S440をスキップして、ステップS445に移行する。白条件が満たされる場合(S430a:Yes)、ハーフトーン処理部230は、ステップS435aで、対象画素Ptが調整領域の画素であるか否かを判定し、調整領域の画素ではない場合(S435a:No)、ステップS440をスキップして、ステップS445に移行する。ステップS435aでは、「j%NL」がゼロである場合に、対象画素Ptが調整領域の画素であると判定される。図7のステップS435とは異なり、間引かれる画素ラインは、第1方向Dxに延びている。対象画素Ptが調整領域の画素である場合(S435a:Yes)、ハーフトーン処理部230は、ステップS440でフラグFL(i,j)を「1」に設定し、ステップS445に移行する。
次に、ハーフトーン処理部230は、ステップS445で、第1判定位置mに1を加算して判定画素を更新し、ステップS450で、画素群の全ての画素に関する処理が終了したか否かを判定し、終了すると(S450:Yes)、図13(B)の処理を終了する。具体的には、第1判定位置mが第1範囲値Lxよりも大きいか否かが判定される。第1判定位置mが第1範囲値Lx以下である場合(S450:No)、ハーフトーン処理部230は、ステップS425aに戻り、更新された判定画素の処理を行う。
図13(B)の手順に従って設定されたフラグを用いたドットサイズ調整(図6:S350)は、「縦目」が選択された場合と同様に行われる。この結果、第1方向Dxに沿ってインクが滲みやすい場合に、インクの滲みを抑制し、さらに、印刷される画像の彩度および色相が変化することを抑制しつつ、印刷される画像が薄くなることを抑制できる。
印刷処理(図2:S122)に続くステップS124、S126、S128は、「縦目」が選択された場合のステップS114、S115、S118と、それぞれ同じである。ステップS124では、図11の設定画面U20を介して、ユーザによる評価結果が入力される。第1ボタンU21(OK)が操作された場合(S126:Yes)、処理は、ステップS150に移行する。第2ボタンU22(滲む)または第3ボタンU23(薄い)が操作された場合には、第1ボタンU21(OK)が操作されるまで、画像の印刷(S122)と、ユーザによる評価(S124)と、評価に応じたフィルタの調整(S128)とが、繰り返される。ステップS128のフィルタ調整は、図12の処理と同じである。
A2−4.「両対策」が選択された場合の処理(図2:S130:Yes):
図2のステップS132の印刷処理では、両対策フィルタが用いられる。図5、図6の手順は、「縦目」が選択された場合と同様に行われる。「縦目」が選択された場合と異なる点は、図6のステップS330のフラグ処理で、両対策フィルタを用いた処理が行われる点である。印刷処理の他の処理は、「縦目」が選択された場合の処理と同じである(説明を省略する)。
図14は、両対策フィルタが用いられる場合のフラグ処理の概略図であり、図15は、両対策フィルタを用いるフラグ処理のフローチャートである。図7(A)、図13(A)で説明したフラグ処理と異なる点は、画素群の形状が、対象画素Ptを中心とする十字形である点である。フラグが「1」に設定されるための条件は、横フィルタが用いられる場合の条件と同じである。
図14には、図7(A)、図13(A)と同様の部分マトリクスを示し、対象画素Ptに対応付けられた画素群が、ハッチングで示されている。この画素群は、対象画素Ptを含み、対象画素Ptを中心に第1方向Dxに沿って並ぶ5つの画素P21、P22、Pt、P23、P24と、対象画素Ptを中心に第2方向Dyに沿って並ぶ5つの画素P11、P12、Pt、P13、P14と、で構成されている。また、図中の矢印Lbは、対象画素Ptから滲み得るインクを示している。図示するように、滲み方向が、第1方向Dxと平行な方向と、第2方向Dyと平行な方向と、のいずれであっても、滲んだインクは画素群と重なる。
ハーフトーン処理部230は、図15の手順に従って、フラグ処理を実現する。図15では、図7(B)または図13(B)のステップと同じステップに、同じ符号が付されている。図15の手順は、図7(B)と図13(B)とを組み合わせて、十字形の画素群の全ての画素を処理するように、構成されている。以下、共通するステップについては、詳細な説明を省略する。
ステップS410で、対象画素Ptが黒条件を満たす場合には、ハーフトーン処理部230は、画素群を包含する矩形の画素マトリクスから1つの判定画素を選択し、選択した判定画素が画素群に含まれる場合に、判定画素が白条件を満たすか否かを判定する。そして、画素群の全ての画素の判定が終了するまで、未処理の画素の選択と判定とを繰り返す。具体的には、次のステップS415bで、ハーフトーン処理部230は、第1判定位置mを−Lxに初期化し、第2判定位置nを−Lyに初期化する。判定画素の第1方向Dxの位置は「i+m」で特定され、判定画素の第2方向Dyの位置は「j+n」で特定される。第1範囲値Lxと第2範囲値Lyとは、図7(A)、図13(A)の例と同様に、画素群の大きさを定めている。図14の例では、第1範囲値Lxと第2範囲値Lyとが、それぞれ、2である。
次のステップS420では、ハーフトーン処理部230は、「第1判定位置mと第2判定位置nとの少なくとも一方がゼロである」という条件が満たされるか否かを判定する。この条件が満たされない場合には、判定画素(i+m,j+n)は、十字形の画素群の外の画素であるので、ハーフトーン処理部230は、ステップS425b〜S440をスキップしてステップS445に移行する。
ステップS420の判定結果がYesである場合、ハーフトーン処理部230は、判定画素(i+m,j+n)のCMYK値を取得し(S425b)、判定画素(i+m,j+n)が白条件を満たすか否かを判定する(S430b)。白条件は、図7(B)のステップS430の白条件と同じである。白条件が満たされない場合(S430b:No)、ハーフトーン処理部230は、ステップS435a、S440をスキップしてステップS445に移行する。白条件が満たされる場合(S430b:Yes)、ハーフトーン処理部230は、ステップS435aで、対象画素Ptが調整領域の画素であるか否かを判定し、調整領域の画素ではない場合(S435a:No)、ステップS440をスキップして、ステップS445に移行する。対象画素Ptが調整領域の画素である場合(S435a:Yes)、フラグFL(i,j)が「1」に設定され(S440)、処理は、ステップS445に移行する。
次に、ハーフトーン処理部230は、画素群の全ての画素の処理が終了したか否かを判定し(S445、S450、S455b、S460)、終了したら(S460:Yes)、図15の処理を終了する。具体的には、第1判定位置mに1が加算されて判定画素が更新され(S445)、第1判定位置mが第1範囲値Lxよりも大きいか否かが判定される(S450)。第1判定位置mが第1範囲値Lx以下である場合(S450:No)、ハーフトーン処理部230は、ステップS420に戻り、更新された判定画素の処理を行う。第1判定位置mが第1範囲値Lxよりも大きい場合(S450:Yes)、第1判定位置mが−Lxに初期化され、第2判定位置nに1を加算することによって、判定画素が更新される(S455b)。次のステップS460では、第2判定位置nが第2範囲値Lyよりも大きいか否かが判定され、第2判定位置nが第2範囲値Ly以下である場合(S460:No)、ハーフトーン処理部230は、ステップS420に戻り、更新された判定画素の処理を行う。第2判定位置nが第2範囲値Lyより大きい場合(S460:Yes)、ハーフトーン処理部230は、図15の処理を終了する。
図15の手順に従って設定されたフラグを用いたドットサイズ調整(図6:S350)は、「縦目」または「横目」が選択された場合と同様に行われる。この結果、滲み方向が、第1方向Dxと平行な方向と、第2方向Dyと平行な方向と、のいずれであっても、インクの滲みを抑制し、さらに、印刷される画像の彩度および色相が変化することを抑制しつつ、印刷される画像が薄くなることを抑制できる。
印刷処理(図2:S132)に続くステップS134、S136、S138は、「縦目」が選択された場合のステップS114、S115、S118と、それぞれ同じである。ステップS134では、図11の設定画面U20を介して、ユーザによる評価結果が入力される。第1ボタンU21(OK)が操作された場合(S136:Yes)、処理は、ステップS150に移行する。第2ボタンU22(滲む)または第3ボタンU23(薄い)が操作された場合には、第1ボタンU21(OK)が操作されるまで、画像の印刷(S132)と、ユーザによる評価(S134)と、評価に応じたフィルタの調整(S138)とが、繰り返される。ステップS138のフィルタ調整は、図12の処理と同じである。
A2−5.登録済の設定情報134が選択された場合の処理(図2:S105:No):
図2のステップS160で、画像処理部200は、選択された設定情報134に従って、印刷処理を行う。印刷処理は、図5の手順に従って、行われる。図6のステップS330では、ハーフトーン処理部230は、選択された設定情報134を不揮発性記憶装置130から取得し、取得した設定情報134によって定められるフィルタを用いてフラグ処理を行う。印刷処理の完了に応じて、図2の処理は終了する。
以上のように、第1実施例では、「縦目」または「横目」が選択された場合には、対象画素Ptのドットサイズの決定に、対象画素を含み、滲み方向に沿って並ぶ複数の画素のそれぞれのCMYK値が用いられる(図7(A)、図13(A))。故に、印刷される画像に適したドットサイズを決定できる。この結果、インクの滲みを制御するための画像処理を、印刷される画像に適合させることができる。
また、滲み方向が特定されない場合(図2:S130:Yes)には、図14に示すように、対象画素Ptのドットサイズの決定に、第1方向Dxに沿って並ぶ複数の画素と第2方向Dyに沿って並ぶ複数の画素とが用いられるので、滲み方向が特定されない場合にも、印刷される画像に適したドットサイズを決定できる。
また、図2のステップS112〜S118、S122〜S128、S132〜S138で説明したように、ハーフトーン処理部230は、ユーザからの評価情報に応じて、対象画素に対応付けられた画素群(すなわち、複数の対応画素)を決定する。故に、評価情報に適したドットサイズを決定できる。特に、図11、図12で説明したように、評価情報が、印刷された画像が滲んでいることを示す場合には、画素群の画素数が、画像の印刷に用いられた画素群の画素数よりも多くなり、評価情報が、印刷された画像が薄いことを示す場合には、画素群の画素数が、画像の印刷に用いられた画素群の画素数よりも少なくなる。故に、評価情報に応じて適切な数の対象画素を利用できるので、評価情報に適したドットサイズを決定できる。また、登録部270は、評価情報が、印刷された画像が適切であることを示す場合には、画像の印刷に用いられた画素群を表す情報(具体的には、制御情報134a)を、記録媒体を識別する媒体識別情報134bと対応付けて、不揮発性記憶装置130に登録する。故に、画素群を表す情報(すなわち、制御情報134a)を、再利用することができる。
また、図3で説明したように、記録媒体の繊維方向が滲み方向として用いられるので、インクが繊維方向に沿って滲みやすい場合に、滲み方向に適したドットサイズを決定できる。また、方向情報受付部280は、記録媒体の繊維方向を特定する情報である方向情報の指定をユーザから受け付ける。ハーフトーン処理部230は、その情報に応じて、対象画素に対応付けられた画素群を決定する(具体的には、図6のステップS330で実行されるフラグ処理は、縦フィルタと横フィルタと両方向フィルタとから選択されたフィルタに対応付けられたフラグ処理である)。故に、ユーザからの情報に適したドットサイズを決定できる。
また、図7(B)、図13(B)、図15で説明したように、ハーフトーン処理部230(図1)は、対象画素PtのCMYK値が黒を含む部分黒色範囲内の色を示し、かつ、対象画素に対応付けられた画素群の中の白を含む部分白色範囲内のCMYK値を示す画素の数が1以上であることを含む第1条件が満たされる場合には、対象画素Ptのフラグが「1」に設定され、そして、対象画素PtのブラックKのドットサイズが「特大dLL」よりも小さい「大dL」に決定される。故に、滲みを抑制できる。なお、第1実施例では、第1条件は、さらに、ライン数NLの条件(例えば、図7(B)のステップS435)と、ステップS340で仮決定されたブラックKのドットサイズが「特大(dLL)」であること、とを含んでいる。
ハーフトーン処理部230は、対象画素PtのCMYK値が、部分黒色範囲内の色を示し、かつ、画素群の中の部分白色範囲内のCMYK値を示す画素の数が1未満であることを含む第2条件が満たされる場合には、対象画素Ptのフラグが「0」に設定され、そして、対象画素PtのブラックKのドットサイズが「特大(dLL)」に決定される。故に、印刷される画像が薄くなることを抑制できる。なお、第1実施例では、第2条件は、ステップS340で仮決定されたブラックKのドットサイズが「特大(dLL)」であることを含んでいる。なお、第1条件と第2条件に関し、白色範囲内のCMYK値を示す画素の数の閾値としては「1」に限らず、「N(Nは1以上の整数)」を採用可能である。
B.第2実施例:
図16は、第2種調整の別の実施例のフローチャートである。第1実施例(図9)からの差異は、対象画素Ptのドットサイズを調整せずに、対象画素Ptの周辺の画素のドットサイズが調整される点である。第2種調整以外の処理は、第1実施例と同じであり、第2実施例で用いられる画像処理システムの構成は、第1実施例の画像処理システム900(図1)と同じである。以下、第1実施例と同じ処理と構成については、説明を省略する。
図16の最初のステップS700では、ハーフトーン処理部230(図1)は、対象画素の周辺の画素の中から、ブラックKのドットサイズKdが小dSである画素を、検索する。検索範囲は、対象画素Ptと隣接する8つの画素である。ただし、検索範囲は、より広くてもよく、より狭くてもよい。ブラックKのドットサイズKdが小dSである画素が検出された場合(S700:Yes)、次のステップS710で、ハーフトーン処理部230は、検出された画素のブラックKのドットサイズKdを、1つ大きい中dMに変更し、第2種調整を終了する。
ブラックKのドットサイズKdが小dSである画素が検出されない場合(S700:No)、次のステップS720で、ハーフトーン処理部230は、対象画素の周辺の画素の中から、ブラックKのドットサイズKdが中dMである画素を、検索する。ブラックKのドットサイズKdが中dMである画素が検出された場合(S720:Yes)、次のステップS730で、ハーフトーン処理部230は、検出された画素のブラックKのドットサイズKdを、1つ大きい大dLに変更し、第2種調整を終了する。ブラックKのドットサイズKdが中dMである画素が検出されない場合(S720:No)、ハーフトーン処理部230は、ドットサイズを調整せずに、第2種調整を終了する。
図17は、第2実施例のドットサイズの調整例を示す概略図である。図17(A)は、調整前のブラックKのドットサイズを示し、図17(B)は、調整後のブラックKのドットサイズを示している。図中には、対象画素Ptを中心とする複数の画素PxLの部分マトリクスが示され、対象画素Ptと周辺画素とが実線で示されている。図示するように、対象画素Ptのドットサイズが特大dLLから大dLに変更され、この代わりに、周辺画素P12のドットサイズが中dMから大dLに変更されている。
このように、第2実施例では、対象画素のドットサイズが特大dLLから大dLに変更されるので、インクの滲みを抑制できる。さらに、周辺画素のドットサイズが1つ大きいサイズに変更されるので、印刷される画像が薄くなることを抑制できる。なお、第2実施例の第2種調整では、周辺画素のドットサイズが最も大きい特大dLLに変更されることはないので、第2種調整に起因するインクの滲みを抑制できる。
C.変形例:
(1)図6のS330、図7、図13、図15の処理では、対象画素のドットサイズの決定に用いられる複数の対応画素のそれぞれの色値として、CMYK値が採用されているが、印刷画素の色を表す他の種々の色値を採用可能である。例えば、RGB値や、仮決定されたドットサイズを採用可能である。
いずれの場合も、対象画素の色を判別するための部分黒色範囲としては、黒を含む種々の部分色範囲を採用可能である。例えば、CMYK値の合計値が所定の閾値以上である色の範囲を採用してもよい。
また、対象画素に対応付けられた画素群の各画素の色を判別するための部分白色範囲としては、白を含む種々の部分色範囲を採用可能である。例えば、K値が所定の閾値以下の色の範囲を採用してもよい。また、対象画素のフラグを1に設定するために対象画素に対応付けられた画素群が満たすべき条件としては、画素群の中の白色範囲内の色値を示す画素の数が所定の閾値以上であることに限らず、画素群が薄い色の領域を表す場合に満たされる種々の条件を採用可能である(以下、「薄色領域条件」と呼ぶ)。薄色領域条件としては、例えば、画素群の全ての画素に亘るCMYK値の合計値が、所定の閾値以下であることを、採用してもよい。すなわち、薄色領域条件としては、部分白色範囲内の色を表す領域によって満たされる条件に限らず、上記具体例のような種々の条件を採用可能である。
(2)滲み方向の候補としては、第1方向Dxと平行な方向と、第2方向Dyと平行な方向と、の2つの方向に限らず、3以上の所定の方向を採用可能である。例えば、上記2つの方向に加えて、第2方向Dyと45度の角度で交差する傾斜方向を採用してもよい。
(3)画像処理の手順としては、上記各実施例の手順に限らず、種々の手順を採用可能である。例えば、「両対策」の処理を省略してもよい。具体的には、図2のステップS130〜S138を省略してもよい。また、ユーザによる繊維方向の入力を省略してもよい。初めての種類の記録媒体を利用する場合には、図2のステップS140、S142で、画像処理部200は、自動的に滲み方向を推定すればよい。この代わりに、滲み方向の自動的な推定を省略して、ユーザが繊維方向を指定することとしてもよい。例えば、図2のステップS140、S142を省略してもよい。この場合、方向推定部290と読取部850とを省略可能である。また、図2のステップS150を省略してもよい。この場合、登録部270を省略可能である。また、フィルタが固定されていてもよい。例えば、図2のステップS114〜S118、S124〜S128、S134〜S138、S150を省略してもよい。図12の処理において、ライン数NLの調整を省略してもよい。また、フラグ処理において、ライン数NLによる画素ラインの間引きを省略してもよい。また、ブラックインクとは異なる他のインク(例えば、シアンインク)のドットサイズが、特大dLLから大dLに調整されてもよい。また、第2種調整が省略されてもよい。また、ステップS340では、フラグを用いることによって、最終的なドットサイズが直接的に決定されてもよい。
また、ユーザからの評価情報を用いてフィルタを決定する方法としては、画像の印刷とユーザによる評価と評価結果に基づくフィルタ調整とを繰り返す方法に限らず、種々の方法を採用可能である。例えば、ドットデータの生成時に利用されたフィルタの構成が互いに異なる複数のテスト画像を印刷し、印刷された複数のテスト画像の中から最も好ましいテスト画像をユーザに選択させ、選択されたテスト画像に対応付けられたフィルタを採用する、という方法を採用してもよい。この場合、ユーザは、繊維方向を特定せずに、滲み方向を特定している、ということができる。
(4)設定情報134を格納する情報記憶部としては、画像処理装置100とは異なる別の装置(例えば、サーバ装置)を採用してもよい。サーバ装置が設定情報134を格納する場合、登録部270は、サーバ装置に設定情報134を登録し、ハーフトーン処理部230は、サーバ装置から設定情報134を取得する。
(5)画像処理部200(図1)の機能は、デジタルカメラや携帯電話等の種々の種類の装置によって実現されてもよい。また、プリンタ800の印刷制御部810によって、画像処理部200の機能が実現されてもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理部200の機能を一部ずつ分担して、全体として、画像処理部200の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
(6)上記画像処理は、種々の印刷に適用可能である。例えば、ブラックKのインクのみを用いるモノクロ印刷に適用してもよい。また、ドットサイズの種類としては、5種類に限らず、ドットが形成されないことを示すゼロと、ゼロより大きい第1サイズと、第1サイズよりも大きい第2サイズと、を含む任意の種類のサイズを採用可能である。いずれの場合も、インクの滲みが目立ちやすい画素では、最大サイズを用いずに、より小さいサイズを用いることが好ましい。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の画像処理部200の機能を、論理回路を有する専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。