以下、本発明の実施形態について、図面を参照して詳細に説明する。
<第1の実施形態>
本発明の第1の実施形態におけるハーフトーンスクリーン生成装置100について説明する。ハーフトーンスクリーン生成装置100は、入力されるハーフトーンスクリーン(デジタルハーフトーンスクリーン)を、以下に説明する処理によって最適化することができる装置(ハーフトーンスクリーン最適化装置)である。
図1は、本発明の第1の実施形態に係るハーフトーンスクリーン生成装置100の構成を示すブロック図である。図1を参照すると、本実施形態において、ハーフトーンスクリーン生成装置100は、入力部110と、記憶部120と、多階調化部130と、出力部140とを有する。多階調化部130は、定数設定部131と、乱数発生部132と、調整部133と、閾値データ記憶部134とを有する。
入力部110は、最適化対象であるハーフトーンスクリーンを入力データとして受け付け、受け付けたハーフトーンスクリーンから、ヘッダー情報と、係るハーフトーンスクリーンを構成する閾値データ(閾値情報)とを取得(抽出)する。
例えば、入力部110をハードウェアによって実現する場合、入力部110は、通信ネットワークを介して情報を入力可能な入力端子(不図示)を有し、その入力端子を介して外部装置から当該入力データを入手すればよい。この場合、入力部110と、当該通信ネットワークとは、例えば、後述する図19に示すハードウェア構成において、順に、通信インターフェース1005と、ネットワーク3000とである(尚、以下の記載において、インターフェースは、「I/F」と略称する場合がある)。
また、例えば、入力部110は、ハーフトーンスクリーン生成装置100に対して、ユーザが情報(入力データ)を入力することが可能な入力インターフェース(ユーザインターフェース:UI)である。この場合、係る入力インターフェースは、例えば、後述する図19に示すハードウェア構成において、入出力ユーザI/F1009である。
更に、例えば、入力部110は、ハーフトーンスクリーン生成装置100に対して、着脱可能な記録媒体(記録デバイス)を介して情報(入力データ)を入力することが可能な入力インターフェースである。係る記録媒体は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)等の、コンピュータ読み取り可能な、不揮発性の記録媒体である。この場合、係る記録媒体と入力インターフェースとは、例えば、後述する図19に示すハードウェア構成において、順に、記録媒体1007と、ドライブ装置1008である。
尚、上述した入力部110の構成は、後述する各実施形態においても同様であることとする。
記憶部120は、入力部110によって取得されたヘッダー情報と閾値データとを格納する。記憶部120は、例えば、係るヘッダー情報と閾値データとをそれぞれの情報に分けて記憶することができる。記憶部120によって記憶された情報は、多階調化部130と出力部140とによって読み出すことができる。記憶部120は、例えば、後述する図19に示すハードウェア構成において、記憶装置1004である。記憶装置1004は、例えば、フラッシュメモリなどの半導体メモリ素子や、ハードディスクや光ディスクなどの記憶装置である。
以下、入力部110に入力されるハーフトーンスクリーン(入力データ)の構成例について説明する。係るハーフトーンスクリーンには、ヘッダー情報と、閾値データとが含まれる。係るヘッダー情報の一例を図2に示す。
図2は、本発明の第1の実施形態に係るハーフトーンスクリーンにおけるヘッダー情報の構成を概念的に示す説明図である。係るハーフトーンスクリーンのデータ構造は、例えば、図2に示すヘッダー情報に続いて、図2には不図示の閾値データ(図3)が含まれる構成をなすこととする。係るヘッダー情報には、図2に示すように、スクリーン角度やスクリーンの縦サイズや横サイズ等、ハーフトーンスクリーンの仕様を表す各種の情報が含まれる。
図3は、本発明の第1の実施形態に係るハーフトーンスクリーンにおける閾値データの構成を概念的に示す説明図である。本実施形態及び後述する各実施形態において、閾値データ(閾値情報)は、図3に例示するような、各画素に対する閾値が、ハーフトーンスクリーンの縦横サイズ分記録されている情報群(データセット)である。
この閾値データは、図4に示す網点印刷の説明図のように扱われる。即ち、本実施形態に係る網点印刷において、印刷対象となる入力画像を構成する複数画素のうち、注目画素の画素値は、当該閾値データにおける当該注目画素に対応する閾値と比較される。そして、網点(ハーフトーン)化に際して、当該注目画素の画素値が、対応する閾値より大きい場合、当該注目画素に対応するドットは塗りつぶす、と決定される。即ち、この閾値データは、網点を構成する複数ドットに関して、当該各ドットのON(塗りつぶす)/OFF(塗りつぶさない)を決定する際に用いられるデータである。
多階調化部130において、定数設定部131は、記憶部120に記憶されている情報を読み出すことができる。即ち、多階調化部130は、記憶部120からハーフトーンスクリーンの縦横サイズと閾値データとを読み出し、読み出した情報を基に当該閾値データに対して多階調化処理を行う。多階調化部130が実行する多階調化処理の詳細は後述する。閾値データ記憶部134は、以下に説明する多階調化部130としての処理結果を記憶することができる。そして、出力部140は、係る多階調化処理された閾値データを、閾値データ記憶部134から入手する(読み出す)ことができる。
多階調化部130は、専用装置を構成するハードウェアとして捉えた場合、例えば、集積回路によって実現することができる。係る集積回路は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などである。
また、多階調化部130は、情報処理装置(コンピュータ)を構成するハードウェアとして捉えた場合、例えば、電子回路によって実現することができる。係る電子回路は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)など含む。この場合、多階調化部130は、各種処理手順などを規定したプログラムを記憶可能な内部メモリ(不図示)を有し、そのプログラムに従って各種処理を実現する。即ち、多階調化部130は、例えば、後述する図19に示すハードウェア構成において、CPU1001である。この場合において、CPU1001は、ROM(Read_Only_Memory)1002、RAM(Random_Access_Memory)1003、記憶装置1004などに記憶されているプログラムを実行する。
出力部140は、記憶部120に記憶されているすべてのヘッダー情報と、多階調化部130から入手した、多階調化された閾値データを用いて、最適化されたハーフトーンスクリーンを生成する。即ち、出力部140は、記憶部120に記憶されているすべてのヘッダー情報を読み出し、読み出したヘッダー情報を、多階調化部130から入力された多階調化後の閾値データの、ヘッダー情報として加える。そして、出力部140は、係るヘッダー情報を加えたハーフトーンスクリーンを、最適化されたハーフトーンスクリーンとして出力する。
出力部140は、例えば、情報を出力する出力端子を有し、その出力端子を介して、当該最適化されたハーフトーンスクリーンを、プリンタや輪転機などの印刷装置や、映像処理装置、映像処理プログラムなどに対して出力することができる。また、出力部140は、例えば、当該最適化されたハーフトーンスクリーンを、CDやDVD等の記録媒体に出力(記録)してもよい。
次に、本実施形態において多階調化部130が行う多階調化処理の詳細について説明する。図1に示すように、多階調部130は、定数設定部131と、乱数発生部132と、調整部133と、閾値データ記憶134を有する。
定数設定部131は、記憶部120に記憶されている情報を読み出すことができる。そして、定数設定部131は、乱数発生部132において使用される定数(本実施形態では一例としてμ及びσ)を設定する。即ち、定数設定部131は、記憶部120から入手した閾値データに含まれる閾値に当該定数を設定し、当該閾値データと共に乱数発生部132へ送る。また、定数設定部131は、記憶部120から読み出した閾値データを、調整部133に入力することができる。
乱数発生部132は、定数設定部131から入力された定数を用いて、乱数(疑似乱数)を発生する。即ち、乱数発生部132は、まず整数に一様に分布する乱数X,Yを生成する。そして、乱数発生部132は、生成した乱数X,Yと、当該定数(μ及びσ)とに基づいて、正規乱数Zを計算する。正規乱数Zは、例えば、下記の式(1)によって求めることができる。
Z=μ+σ√(−2logXcos2πY) ・・・(1),
式(1)において、対数関数「log」の底は自然対数の底eである。「cos」は余弦を表し、πは円周率を表す。但し、正規乱数Zを求める式は、式(1)には限定されず、分散した値(後述する「分散値」に相当)を求められればよい。また、本実施形態においても、予め用意される定数μ及びσは、必ず2つ共に使わなくてもよく、例えば、後述する理由により、μは0(ゼロ)でもよい。
尚、乱数発生部132の実装に際して、本願各実施形態を例に説明する本発明は、上記式(1)に基づいて正規乱数Zを都度計算する構成には限定されない。即ち、正規乱数Zは、予め求めた数値をLUT(ルックアップテーブル)などに登録しておき、そのLUTを乱数発生部132が参照する構成でもよい。
乱数発生部132は、生成した正規乱数Z(以下、「分散値」と称する)と、定数設定部131を介して入手した閾値データとを、調整部133に入力する。
調整部133は、定数設定部131を介して記憶部120から入力された閾値データに含まれる閾値に対して、乱数発生部132で生成された分散値を、調整値として加える(即ち、加減算する)。この一連の処理について、図5を参照して以下に説明する。
図5は、本発明の第1の実施形態に係る多階調化処理を概念的に説明する図である。図5(a)に示すグラフは、ハーフトーンスクリーン生成装置100に入力される、最適化対象である(元の)ハーフトーンスクリーンにおける画素の分布を表す。即ち、図5(a)に示すグラフにおいて、横軸は、係るハーフトーンスクリーンを構成する閾値データ(図3)に含まれる閾値の値(即ち、元の閾値)を表す。縦軸は、係る閾値の値が当該閾値データにおいて採用されている個数(即ち、使用されている回数(以下、「使用回数」と称する場合がある))を表す。
そして、図5(a)に示すグラフにおいて横軸に示される個々の閾値に注目すると、ある閾値と他の閾値との間には、値が割り振りされておらず、これらの閾値の間には隔たりがある。このような場合に、当該元のハーフトーンスクリーンをそのまま用いて、例えば、グラデーション画像を印刷すると、印刷したグラデーション画像には、一般に、視覚的にギャップ(トーンジャンプ)が生じてしまう。このようにトーンジャンプが発生する理由は、係る閾値間に隔たりがあるからである。
そこで、このような状況が生じることを回避すべく、調整部133は、多階調化処理を実行する。即ち、調整部133は、図5(a)に示すグラフのような状態である元のハーフトーンスクリーンを構成する閾値データ(図3)に対して、乱数発生部132において生成された分散値を、調整値として各閾値に配分する(割り当てる)。図5(b)に示すグラフは、係る多階調化が施された後の、閾値データを構成する各閾値の個数(使用回数)の分布を表す。
即ち、調整部133は、グラデーション画像を印刷すると視覚的にギャップが生じる可能性が高い閾値に対して、上述のように調整値を加える。例えば、係るギャップが生じる可能性が高い閾値の値が“10”である場合を考える。図5(a)に示したグラフの横軸である元の閾値において、値“10”に元々割り振られている閾値は14個(即ち、使用する回数が14回)である。調整部133は、この元の閾値の値“10”に割り振られている回数を、図5(b)に示したグラフの如く、元の閾値である値“10”を中心として、当該値の左右に位置する、大きさの近い他の閾値に配分する(分散させる)。より具体的には、当該中心に位置する特定の閾値に値が近い閾値ほど多くの個数(回数)を配分する一方、当該特定の閾値の値から遠い閾値であるほど少ない個数を配分する。調整部133は、このような配分処理(回数調整処理)を、元の閾値(図5(a))の値に対して行うことにより、図5(b)に示したグラフのような、閾値データの多階調化が実現する。
図5(c)に示すグラフは、上記図5(b)に示すグラフにおける、多階調化後の閾値の値が4,10,17である箇所について、部分的に拡大した状態を模式的に表す。即ち、図5(c)に示すグラフは、元の閾値の値(4,10,17)を中心値として、上述した多階調化が行われることにより、当該値の左右に位置する大きさの近い他の閾値の個数が変更されていることが判る。より具体的に、例えば、元のハーフトーンスクリーンを構成する閾値データにおいて、元の閾値(値“10”)の採用個数が14個(図5(a))であったのに対して、係る多階調化後には、当該閾値の採用個数は8個(図5(c))に減少している。そして、図5(c)に示すグラフでは、中心値となった当該閾値に値が近い他の閾値に、当該他の閾値が採用される回数が新たに配分されている(割り当てられている)ことが判る。
尚、調整部133は、乱数発生部132から分散値と閾値とを受け取った際、当該分散値を整数へ変換し、当該閾値に対して、変換後の分散値を調整値として加える。調整部133は、加算後の閾値を、閾値データ記憶部134に入力する。例えば、乱数発生部132から受け取った閾値が「50」で、受け取った分散値が「−5」であった場合、当該受け取った閾値「50」に、当該受け取った分散値「−5」を加えた結果である「45」なる値を、多階調化後の閾値として閾値データ記憶部134に入力する。
上述した多階調化処理は、注目する閾値に関して算出した乱数値に従う正規分布を基に、当該注目する閾値と、その閾値の値に近い他の閾値とに対して、当該個々の閾値が採用される回数を配分する処理(回数調整処理)である。係る多階調化処理によれば、元のハーフトーンスクリーンには採用されておらず値が登場していなかった閾値に対しても新たに値を割り振ることもできるので、階調数の増加(即ち、多階調化)も実現している。
そして、このような多階調化を行う調整部133によれば、採用回数が元々多い特定の閾値に対して、最適化(調整)後も、値が近い他の閾値と比較して多くの採用回数を残す。これにより、係る多階調化によれば、元のハーフトーンスクリーン(閾値データ:例えば図3)が有していた閾値の傾向(特徴)を引き継ぐことができる。更に、調整部133によれば、図5(b)及び(c)に例示した如く、元の閾値の値を中心として、遠い値である閾値であるほど少ない回数を配分し、近い値である閾値であるほど多くの回数を配分する。これにより、本実施形態に係る多階調化によって最適化されたハーフトーンスクリーンによれば、閾値を再配分することによって生じる模様(モアレ)の発生も抑制することができる。
尚、式(1)を用いて配分の度合い(分散値)を求める場合は、定数σに代入する数値によって振り幅を決定することができる。値μは、元の閾値を中心(山の頂点)として、その中心に近い閾値に多く、中心から遠い閾値ほど少なく分配できればよい(例えば、μ=0、σ=0.0〜1.0)。
また、上述した多階調化において、元のハーフトーンスクリーンを構成する閾値に対して、乱数発生部132で生成された分散値によって調整するに際しては、正規分布(ガウス分布)に従う乱数を採用している。即ち、閾値の配分に際しては、図5(b)及び(c)に示す如く、注目する閾値を中心値として、左右に正対称な釣鐘形状をなす曲線(即ち、正規分布関数に基づく曲線)を採用した。しかしながら、本願各実施形態を例に説明する本発明は、正規分布には限定されず、当該中心値になだらかな頂点を有し、且つ、その頂点の左右に変曲点をそれぞれ1つ有する曲線であれば、完全な正対称をなす関数でなくてもよい。
閾値データ記憶部134は、調整部133から入手した多階調化処理後の閾値データを記憶することができる。その際、閾値データ記憶部134は、記憶部120に格納されているスクリーンの縦サイズと横サイズとを読み出し、読み出した縦サイズと横サイズを用いて、当該閾値データを記録可能なメモリ領域を確保する。そして、閾値データ記憶部134は、このように確保されたメモリ領域に、調整部133によって多階調化処理が施された閾値データを格納すると共に、係る多階調化後の閾値データを、最適化されたハーフトーンスクリーンとして、出力部140へ送る。
次に、図6を用いて、ハーフトーンスクリーン生成装置100による処理全体の流れの一例について説明する。図6は、第1の実施形態に係るハーフトーンスクリーン生成装置100が実行するハーフトーンスクリーン最適化処理を示すフローチャートである。係るハーフトーンスクリーン最適化処理は、上述した本実施形態における多階調化処理を含む。
図6に示すように、ハーフトーンスクリーン生成装置100において、入力部110は、例えばユーザの操作に応じて、最適化対象であるハーフトーンスクリーンを構成するデータを受け付ける(ステップS110)。そして、入力部110は、受け付けたデータから、ヘッダー情報と閾値データとを取り出す(ステップS120)。
多階調化部130は、ステップS120にて得られた閾値データに対して、上述した多階調化処理を行う(ステップS130)。ステップS130の詳細は以下の通りである。
多階調化部130は、元のハーフトーンスクリーンから抽出された閾値データ(図3)から閾値を1つ選択する(ステップS131)。定数設定部131は、選択された閾値に対して、予め決定されている定数(上述した例ではμ及びσ)を設定する(ステップS132)。例えば、選択された閾値が「50」なる値であった場合、定数設定部131は、ステップS132において、その値「50」と、当該定数とを設定する。
そして、乱数発生部132は、定数設定部131によって設定された定数を用いて、乱数を生成する(ステップS133)。乱数を発生する手順として、乱数発生部132は、まず整数に一様に分布する乱数X及びYを生成し、生成した乱数X及びYと、定数設定部132によって設定された定数とを、上述した式(1)の定数μとσとに設定することより、正規乱数Z(分散値)を生成する。
そして、乱数発生部132によって求められた分散値を、ステップS131にて選択した閾値に加算する(ステップS134)。例えば、当該選択した閾値が「50」であり、ステップS133において求めた分散値が「−5」であった場合、当該選択した閾値「50」に、当該分散値「−5」を加えた「45」が、多階調化後の閾値である。
そして、多階調化部130は、ステップS120にて得られた閾値データを形成する全画素について、閾値の選択を完了したかを判断する(ステップS135)。そして、多階調化部130は、当該全画素についての閾値選択が完了したと判断した場合(ステップS135にてYES)は多階調化処理を終了する。一方、未だ閾値を選択していない画素が存在する場合(ステップS135にてNO)、多階調化部130は、上述したステップS131以降の処理を繰り返す。
そして、出力部140は、ステップS130にて多階調化処理が施された閾値データと、記憶部120から読み出した、元のハーフトーンスクリーンに含まれていたヘッダー情報とにより、最適化されたハーフトーンスクリーンを形成する(ステップS140)。
上述した第1の実施形態によれば、人物の肌や金属などの滑らかなグラデーションや細かなテクスチャが表現できる高精細なハーフトーンスクリーンを生成することができる。より具体的には、本実施形態に係るハーフトーンスクリーン生成装置100によれば、以下の効果を享受することができる。
第1の効果は、 グラデーション画像など滑らかな表現が必要な画像が入力された場合でもトーンジャンプは発生しないことである。
その理由は、以下の通りである。一般にトーンジャンプの発生要因は、ハーフトーンスクリーンの階調不足である。そこで、本実施形態に係るハーフトーンスクリーン生成装置100は、トーンジャンプが発生している範囲に対して、上述した多階調化処理を行う。これにより、本実施形態によれば、係るトーンジャンプの発生を抑制することができるという効果を享受することができる。
即ち、本実施形態によれば、調整部133によって、元の閾値データにおいて使用回数が多かった特定の閾値の使用回数が調整され、その調整分が、当該元の閾値データでは使用されていなかった閾値に割り当てられる(配分される)。この一連の処理によれば、ハーフトーンスクリーンにおける階調不足が改善されるので、トーンジャンプの発生も抑制できる訳である。
第2の効果は、 ハーフトーンスクリーンによる不快なモアレ発生を抑制することにより、高画質印刷が実現できることである。
その理由は、以下の通りである。即ち、上述した多階調化処理は、元のハーフトーンスクリーンに含まれる閾値データを構成する閾値を重要視する処理である。具体的に、係る多階調化処理は、採用回数が元々多い特定の閾値に対して、最適化後も、値が近い他の閾値と比較して多くの採用回数を残す。従って、本実施形態に係る多階調化処理によれば、係る元のハーフトーンスクリーンが有する閾値の傾向(特徴)を、最適化後のハーフトーンスクリーンに引き継ぐとこができる。よって、このような多階調化処理によれば、当該元のハーフトーンスクリーンの形状に殆ど影響を与えずに、本来の高精細な状態を維持することができる。
即ち、本実施形態によれば、不快なモアレを抑制すべく予め考慮されて生成されている当該元のハーフトーンスクリーンにおける網点発生形状が、最適化されたハーフトーンスクリーンにおいても維持されているので、高画質な印刷が実現できる。
<第2の実施形態>
次に、上述した第1の実施形態に係るハーフトーンスクリーン生成装置100を基本とする第2の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付して、重複する説明は省略する。
上述した第1の実施形態では、最適化対象である(元の)ハーフトーンスクリーン(入力データ)に含まれる閾値データ全体に対して多階調化を施す処理構成について説明した。しかしながら、本願各実施形態を例に説明する本発明は、係る処理構成には限定されない。具体的には、高速化のため、元のハーフトーンスクリーンのうち、多階調化すべき所望の範囲を、例えばユーザが設定可能とし、係る所望の範囲に対して当該多階調化を施す装置構成を採用してもよい。
そこで本実施形態では、元のハーフトーンスクリーンに含まれる閾値データのうち、多階調化すべき範囲が設定される場合における多階調化処理について説明する。ここで、多階調化すべき範囲とは、例えば、トーンジャンプが発生する閾値の範囲(値域)であり、後述する「判定値」に相当する。
以下、本発明の第2の実施形態におけるハーフトーンスクリーン生成装置200について詳細に説明する。
図7は、本発明の第2の実施形態に係るハーフトーンスクリーン生成装置200の構成を示すブロック図である。図7に示すように、ハーフトーンスクリーン生成装置200は、第1の実施形態において説明したハーフトーンスクリーン生成装置100(図1)の構成に加えて、多階調化部130に対応する多階調化部130Aに、閾値判定部231と定数記憶部232とをさらに有する。
即ち、多階調化部130Aは、内部構成は異なるも、第1の実施形態に係る多階調化部130と役目は同様である。従って、多階調化部130Aは、記憶部120から入手した、元のハーフトーンスクリーンに含まれる閾値データに対して多階調化処理を施し、これによって最適化された閾値データを、出力部140に与える。以下、多階調化部130Aの詳細を説明する。
多階調化部130Aにおいて、閾値判定部231は、閾値ごとに多階調化を行うかどうかを判定する。即ち、閾値判定部231は、記憶部120から元のハーフトーンスクリーンの縦横サイズと閾値データとを読み出す。そして、閾値判定部231は、当該元のハーフトーンスクリーンの縦サイズ情報と横サイズ情報とを用いて、当該閾値データ(図3)を構成する各閾値について、判定値と比較し、その比較結果に応じて、多階調化を行うか否かを判定する。ここで、判定値とは、多階調化を行う閾値の範囲であり、予め設定されることとする。
閾値判定部231は、多階調化を行うと判定した場合、定数設定部131へ閾値データを入力する。一方、多階調化を行わないと判定した場合、閾値判定部231は、判定に使用した閾値を、そのまま閾値データ記憶部134に格納する。即ち、例えば判定値の値域が「1〜100」であり、入力された閾値が「50」である場合、閾値判定部231は、多階調化を行うと判定すると共に、その閾値を定数設定部131に入力する。同じく判定値の値域が「1〜100」であり、入力された閾値が「150」である場合、閾値判定部231は、階調化は行わないと判定すると共に、その閾値を閾値データ記憶部134に格納する。
尚、本実施形態では、判定値が予め定められている構成を例に説明するが、本発明は、係る構成には限定されない。例えば、判定値は、ユーザによって外部よりパラメータとして設定される構成であってもよい。また、例えば、判定値は、複数設定可能な構成であってもよい。
定数設定部131は、乱数発生部132において使用される定数を設定する。定数記憶部232は、例えば、後述する図8(b)に例示するテーブルの如く、閾値と定数とが関連付け(紐付け)された情報を記憶している。定数設定部131は、閾値判定部231から入手した特定の閾値に基づいて、定数記憶部232から特定の定数を選択する。係る特定の定数は、係る特定の閾値に関して分散値を求める際に用いられる定数である。定数設定部131は、当該特定の閾値と、定数記憶部232から入手した特定の定数とを乱数発生部132に入力する。
即ち、定数設定部131は、閾値判定部231から入手した閾値(特定の閾値)が「50」である場合、その閾値である「50」に関連付けされている定数(特定の定数)を、定数記憶部232が記憶している複数の定数の中から選択する。例えば、定数記憶部232に、閾値「50」に対応する特定の定数として、0.0及び0.15が格納されている場合、定数設定部131は、その閾値「50」と、係る特定の定数として、0.0及び0.15を、乱数発生部134に送る。
尚、定数記憶部232に格納されている情報(テーブル)は、閾値ごとに定数が関連付けされた情報でもよいし、図8(b)に例示する如く一定範囲ごとに定数が関連付けされた情報でもよい。また、定数記憶部232に記憶する情報は、内部メモリに格納する構成であっても、パラメータとしてユーザによって外部から設定される構成であってもよい。
乱数発生部132は、定数設定部131から入手した定数と閾値とを用いて、乱数を発生する。そして、乱数発生部132は、例えば、上述した第1の実施形態と同様に式(1)に当該定数を利用して分散値を生成する。乱数発生部132は、生成した分散値と、定数設定部131から入手した閾値とを、調整部133に入力する。
調整部133は、乱数発生部132から分散値と閾値とを受け取ると、その分散値を調整値として閾値に加える。
図8は、本発明の第2の実施形態に係る多階調化処理を概念的に説明する図である。即ち、図8(a)に示すグラフは、上述した図5(a)に示すグラフと同様に元の閾値の分布状態を例示する。図8(b)に示す表(テーブル)は、定数記憶部232に記憶されている、範囲を有する閾値と、その閾値に関連付けされた定数とを例示する。図8(c)に示す表は、図8(b)に示す表から得られる定数を基に生成した乱数を基に求めた分散値を例示する表である。そして、図8(d)に示すグラフは、図8(c)に示す表によって求めた分散値を、元の閾値に加算することで、多階調化された閾値を表す。図8(d)に示すグラフ自体は、上述した図5(c)に示すグラフと同様であり、多階調化処理後の閾値の分布状態を例示する。
より具体的に、図8(a)に例示するグラフは、閾値25、閾値100、閾値200という値に分配されている閾値の回数が同数である場合を表す。この場合、定数設定部131は、図8(b)に示す表から、当該各閾値に対応する定数を選択する。そして乱数発生部132は、当該選択された定数に基づいて乱数を生成し、生成した乱数を基に分散値を求める。係る分散値は、処理対象とする閾値に応じて選択される定数が異なるので、図8(c)に例示する表のように、閾値(この例の場合、閾値25、100、200)毎に、異なる分散値が求められる。そして、調整部133は、求められた分散値を当該各閾値に加算することによって、図8(d)に例示するグラフのように、当該閾値を中心値とし、当該閾値毎に異なる態様(度合い)によって配分することにより、多階調化を完了する。
尚、本実施形態では、図8(a)乃至(d)に例示した如く、3つの閾値(25、100、200)について、当該閾値毎に異なる態様に配分する処理構成について説明した。しかしながら、本発明は、係る構成には限定されない。具体的には、例えば、本実施形態において上述した多階調化処理を、閾値25のみに行い、他の閾値(100及び200)には行わなくてもよい。
次に、図9を用いて、ハーフトーンスクリーン生成装置200による処理全体の流れについて説明する。図9は、第2の実施形態に係るハーフトーンスクリーン生成装置200が実行するハーフトーンスクリーン最適化処理を示すフローチャートである。係るハーフトーンスクリーン最適化処理は、上述した本実施形態における多階調化処理を含む。
図9に示すフローチャートにおいて、ステップS210、ステップS220、ステップS240は、順に、第1の実施形態において説明したステップS110、ステップS120、ステップS140と同様な処理であるため、本実施形態における重複する説明は省略する。
本実施形態における多階調化処理(ステップS230)の構成は、第1の実施形態において説明した多階調化処理(ステップS130)の構成と一部が異なる。即ち、本実施形態に係るハーフトーンスクリーン生成装置200は、閾値判定部231は、ステップS231にて選択された閾値が多階調化を行う範囲であるか否かを判定する(ステップS232)。例えば、多階調化を行う範囲として「1〜50」なる値域が予め設定されている場合において、ステップS231にて選択された閾値が「25」である場合を考える。この場合、閾値判定部231は、多階調化を行うべきであると判定(ステップS232にてYES)し、処理をステップS233に進める。一方、ステップS231にて選択された閾値が「150」である場合、閾値判定部231は、多階調化は行わないと判定(ステップS232にてNO)し、処理をステップS236に進める。
ステップS232にて多階調化を行うべきであると判定された場合、定数設定部131は、当該選択された閾値(この例では「25」)に対応する定数を、定数記憶部232から入手する(ステップS233)。
乱数発生部132は、定数設定部131によってステップS233にて得られた定数を用いて乱数を生成すると共に、その乱数を基に分散値を求める(ステップS234)。そして、ステップS234において、乱数発生部132は、生成した分散値と、ステップS231にて選択された閾値とを、調整部133に入力する。
調整部133は、乱数発生部132から分散値と当該選択された閾値とをステップS234にて受け取ると、その分散値を、調整値として閾値に加える(ステップS235)。
例えば、ステップS231にて選択された閾値が「25」であり、ステップS235にて求められた分散値が「−10」である場合を考える。この場合、調整部133は、ステップS235において、当該閾値「25」に、当該分散値「−10」を加算した「15」を、多階調化後の閾値として求める。
上述した第2の実施形態によれば、第1の実施形態と同様な効果を享受することができる。即ち、本実施形態に係るハーフトーンスクリーン生成装置200によれば、人物の肌や金属などの滑らかなグラデーションや細かなテクスチャが表現できる高精細なハーフトーンスクリーンを生成することができる。特に、ハーフトーンスクリーン生成装置200は、元のハーフトーンスクリーンに含まれる閾値データを構成する各閾値のうち、多階調化を行うべきであると判定された特定の閾値に関して選択的に多階調化処理を行う。これにより、ハーフトーンスクリーン生成装置200によれば、第1の実施形態に係るハーフトーンスクリーン生成装置100と比較して処理を高速化することができ、且つ、例えばトーンジャンプが発生し易い部分に対しての多階調化処理を実行することができる。
<第3の実施形態>
次に、上述した第1の実施形態に係るハーフトーンスクリーン生成装置100を基本とする第3の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付して、重複する説明は省略する。
上述した第1及び第2の実施形態において、多階調化部(130、130A)は、元のハーフトーンスクリーンに含まれる、閾値データを構成する個々の閾値の配列(図3)に対応する複数画素の画素値の範囲内において多階調化処理を行う構成とした。しかしながら、本発明は、係る構成には限定されない。具体的には、入力される元のハーフトーンスクリーンに含まれる閾値データによっては実現が困難な階調数まで対処可能な多階調化処理を行う構成について本発明者は見出した。例えば、入力データである元のハーフトーンスクリーンに含まれる閾値データのサイズが「256」(値域としては0乃至255という256種類)であるにも関わらず、ユーザが、多階調化処理において「1024」なる階調数を希望した場合を考える。ここでいうサイズとは、256種類の異なる閾値を格納できる閾値データの大きさ、すなわち、図3に示した閾値データのファイルサイズに相当するものである。この場合、係る「256」なる閾値データのサイズによっては、当該希望する1024段階の階調に対応する全ての閾値を実現することが困難である。
そこで、以下に説明する本実施形態では、多階調化処理においてユーザが希望する階調数が、入力される閾値データのサイズより大きい場合であっても対処可能なハーフトーンスクリーン生成装置(300)について説明する。
図10は、本発明の第3の実施形態に係るハーフトーンスクリーン生成装置300の構成を示すブロック図である。図10に示すハーフトーンスクリーン生成装置300は、上述した第1の実施形態に係るハーフトーンスクリーン生成装置100(図1)の構成に加えて、スクリーン結合部310を更に有する。
入力部110は、本実施形態においては、元のハーフトーンスクリーンに加えて、ユーザが希望する階調データを、入力データとして入力可能である。入力部110は、入力された当該元のハーフトーンスクリーンから、ヘッダー情報と、閾値データとを取得する。そして入力部110は、当該ヘッダー情報と、当該閾値データと、当該希望する階調データとを、スクリーン結合部310に入力する。
スクリーン結合部310は、入力部110によって入力されたハーフトーンスクリーンを構成する閾値データのサイズと、当該希望する階調数とを比較する。比較した結果、当該閾値データのサイズが、当該希望する階調数より小さい場合、スクリーン結合部310は、当該閾値データを、当該希望する階調数より大きくなるまで結合する。係る結合動作について以下に説明する。
図11は、第3の実施形態においてスクリーン結合部310が行う閾値データの結合動作を説明する図である。図11に示した通り、結合後の閾値データは、縦サイズと横サイズとが等しい正方形(A’)であるとする。例えば、当該閾値データのサイズ(A)が「256」であり、希望する階調数が「1024」である場合を考える。この場合、入力された閾値データを、縦に2つ横に2つ並べる(結合する)。4つの閾値データ(A)の結合により得られる1つの大きな正方形(A’)をなす閾値データのサイズは、「1024」になる。
1024階調の場合とは、1024段階の多値データによって構成される画像データに対して網掛け処理を施す場合に、元の閾値データに含まれる閾値が256種類に限られる場合である。このような場合に、係る結合処理を行えば、希望する階調数が1024階調であっても、結合後の閾値データは、1024種類の閾値を採り得る。よって、当該希望する階調数を満足可能であることが判る。
上述した例では、説明の便宜上、希望する階調数と、結合後の閾値データに含まれる閾値の種類数とが一致する場合について説明した。しかしながら、実装する際には、結合後の閾値データに含まれる閾値の種類数が、希望する階調数以上であれば、適切な網掛け処理の結果を得ることができる。そこで具体的な処理については、図12を参照して後述する。
ここで、ハーフトーンスクリーンを使用した網掛け処理について説明する。ハーフトーンスクリーンを使用した網掛け処理は、入力された2値画像に対して、同一のハーフトーンスクリーンをタイル状に複数連続して配置し、その配置状態において網掛け処理を行う。そのため、連続的に配置された複数のハーフトーンスクリーン間は、周期性を有する繰り返し構造をなす。従って、スクリーン結合部310によって行われる閾値データの結合動作は、図11に示した通り、閾値データサイズAを4枚結合した閾値データサイズA’と、閾値データサイズAをタイル状に4枚連続的に配置した状態とを比較すると、ハーフトーンスクリーンの構造は同じになる。そのため、この結合処理によって、ハーフトーンスクリーンの性能に悪影響を与えることはない。スクリーン結合部310は、このようにして結合した閾値データと、その結合した閾値データのサイズ情報とを、記憶部120に記憶すべきヘッダー情報及び閾値データとして、記憶部120に送る。
記憶部120は、多階調化部130と出力部140とに用いられるデータを記憶することができる。記憶部120は、スクリーン結合部310で生成されたヘッダー情報と閾値データとを、それぞれの情報別に記憶する。これにより、多階調化部130と出力部140とは、記憶部120によって記憶された情報を読み出すことができる。
上述したように、ユーザが希望する階調数が、ハーフトーンスクリーン生成装置300に入力された実際の閾値データのサイズより大きい場合であっても、多階調化処理に使用される閾値データのサイズは当該希望する階調数と同じサイズに調整される。従って、本実施形態において、多階調化部130は、記憶部120によって記憶された情報を参照することにより、第1の実施形態と同様な多階調化処理を行えばよい。
出力部140は、記憶部120に記憶されている全てのヘッダー情報を読み出し、読み出したヘッダー情報を、多階調化部130によって入力された多階調化後の閾値データに、ヘッダー情報として添付する。本実施形態では、スクリーン結合部310によって閾値データのサイズが変更される。このため、出力部140が多階調化後の閾値データにヘッダー情報を添付する際には、元のハーフトーンスクリーンから抽出したヘッダー情報に記載されていた各種情報を、合成後の閾値データサイズに合致するように調整する必要がある。係る各種情報とは、「閾値データの横サイズ」、「閾値データの縦サイズ」、「外接矩形の幅サイズ」、「ライン数」等である。このようにして、出力部140は、最適化後のハーフトーンスクリーンを生成する。そして出力部140は、生成した最適化後のハーフトーンスクリーンを、適当な態様で外部に出力する。
次に、ハーフトーンスクリーン生成装置300による処理全体の流れについて説明する。図12は、第3の実施形態に係るハーフトーンスクリーン生成装置300が実行するハーフトーンスクリーン最適化処理を示すフローチャートである。
ハーフトーンスクリーン生成装置300において、入力部110は、例えば、ユーザの操作に応じて、最適化対象である(元の)ハーフトーンスクリーンと、希望する階調数とを受け付ける(ステップS301)。そして、入力部110は、当該元のハーフトーンスクリーンに含まれるヘッダー情報と閾値データとを抽出する(ステップS302)。
スクリーン結合部310は、当該ヘッダー情報から、閾値データサイズを読み取り、その閾値データのサイズと、当該希望する階調数とを比較する(ステップS303)。当該希望する階調数よりも当該閾値データのサイズが小さい場合、スクリーン結合部310は、閾値データの縦サイズと横サイズとが、当該入力された閾値データの4倍の正方形になるように閾値データを結合する(ステップS304)。結合によって得られた閾値データは、当該希望する階調数と改めて比較される(ステップS303)。そして、スクリーン結合部310は、当該希望する階調数よりも結合後の閾値データが大きくなるまで、ステップS304を繰り返す。
ステップS303において大きいと判断された場合とは、図11に例示する3段目の状態であり、上述したように、当該結合後の閾値データに基づく多階調処理後のハーフトーンスクリーンによれば、適切な網掛け処理を実現できる場合である。そこで、多階調化部130は、直前のステップS304にて結合された閾値データに対して多階調化処理を行う(ステップS305)。
そして、出力部140は、多階調化処理後の閾値データとヘッダー情報とを用いて、多階調処理後のハーフトーンスクリーンを生成し、生成したハーフトーンスクリーンを、最適化されたハーフトーンスクリーンとして出力する(ステップS306)。
上述した第3の実施形態によれば、第1の実施形態と同様な効果を享受することができる。即ち、本実施形態に係るハーフトーンスクリーン生成装置300によれば、人物の肌や金属などの滑らかなグラデーションや細かなテクスチャが表現できる高精細なハーフトーンスクリーンを生成することができる。特に、ハーフトーンスクリーン生成装置300によれば、多階調化処理においてユーザが希望する階調が、入力される閾値データのサイズより大きい場合であっても対処可能という効果を享受することができる。
<第4の実施形態>
次に、上述した第1の実施形態に係るハーフトーンスクリーン生成装置100を基本とする第4の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付して、重複する説明は省略する。
上述した第1乃至第3の実施形態では、多階調化部(130,130A)によって多階調化を行う際には、定数記憶部131によって予め記憶されている閾値及び定数の対応関係を用いて多階調化処理を行う構成を採用した。しかしながら、本発明は係る構成には限定されない。具体的には、例えば、多階調化後のハーフトーンスクリーンを適用した評価画像を、UIを介してユーザが確認しながら、係る定数を設定し、設定した定数に基づいて、上述した多階調化処理が実行される装置構成も想定される。そこで、以下に説明する本実施形態では、そのようなUIを提供可能なハーフトーンスクリーン生成装置(400)について説明する。
図13及び図14は、本発明の第4の実施形態に係るハーフトーンスクリーン生成装置400のUIを例示する説明図である。図15は、本発明の第4の実施形態に係るハーフトーンスクリーン生成装置400の構成を示すブロック図である。ハーフトーンスクリーン生成装置400は、例えば、後述する図19に例示するハードウェア構成を有する情報処理装置1000(パーソナル・コンピュータ(PC)2000)である。図13及び図14に示すように、係る装置構成において、ディスプレイ2001及び補助入力装置2002(図19に示す入出力ユーザI/F1009に相当)等は、UIを構成することとする。
図13に例示するUIにおいて、ユーザは、ディスプレイ2001に表示された「読み込み」ボタンを操作する。これにより、ハーフトーンスクリーン生成装置400(PC2000)は、最適化対象である(元の)ハーフトーンスクリーンと、定数とを自装置に読み込む。そして、図13に例示するように、ハーフトーンスクリーン生成装置400は、読み込んだハーフトーンスクリーンを用いて、グラデーション画像などの評価画像に関して、多階調化(最適化)の前後の状態を、ユーザが識別(比較)可能な態様で表示する。
図13に例示するUIには、読み込んだ定数に基づいて、ユーザが所望の定数に調整可能な、パラメータ調整領域を含む。図13に示す例では、上述した第1の実施形態における式(1)に従って、定数μ及びσを調整可能なスライドバーが表示されている。この場合、ユーザは、例えば、ディスプレイ2001に表示された元の評価画像に生じた階調飛び(トーンジャンプ)などの状況と、多階調化後の評価画像とを比較しながら、パラメータを調整する。この場合、ユーザによって調整されたパラメータは、新たな定数としてハーフトーンスクリーン生成装置400に設定されることとする。
図14に例示するUIにおいて、ユーザは、ディスプレイ2001に表示された「読み込み」ボタンを操作する。これにより、ハーフトーンスクリーン生成装置400(PC2000)は、多階調化する前のC(シアン),M(マゼンダ),Y(イエロー),K(ブラック)それぞれのハーフトーンスクリーンと、定数とを自装置に読み込む。図14に示す例においても、図13と同様に定数μ及びσを調整可能なスライドバーが表示されている。そして、図14に示す例において、ユーザは、読み込んだC,M,Y,K各色のハーフトーンスクリーンから、評価を希望する1色以上のハーフトーンスクリーンを、対応するラジオボタンなどの選択方法によって選択することができる。図14に例示するUIでは、複数色のハーフトーンスクリーンを用いて評価画像を表示することができる。このため、図14に例示するUIによれば、階調飛びだけではなく、複数色のハーフトーンスクリーンにおいて生じる干渉縞(モアレ)などを確認しながら、ユーザは、表示される評価画像が所望する状態になるまでパラメータを適宜調整することができる。
尚、本実施形態において説明したハーフトーンスクリーン生成装置400における複数の色画像に関する扱いは、後述する第5の実施形態において説明するハーフトーンスクリーン生成装置100と同様であることとする。
このようなUI(図13及び図14)によれば、ユーザは、評価画像を確認しながら定数を所望の状態に設定することができるので、元のハーフトーンスクリーンに最適な分散を求めることができる。そこで、以下の説明では、ユーザが設定した定数に基づいて多階調化処理を行う実施形態について、図15を参照して説明する。
図15に示すように、ハーフトーンスクリーン生成装置400は、図1に示す、ハーフトーンスクリーン生成装置100の装置構成に加えて、更に、パラメータ設定部410と、網掛け処理部420と、画像表示部430とを有する。
入力部110は、元のハーフトーンスクリーンと、パラメータ設定部410の機能を利用してユーザが設定した所望の定数値とを、入力データとして受け付ける。そして入力部110は、入力された当該元のハーフトーンスクリーンから、ヘッダー情報と、ハーフトーンスクリーンを構成する閾値データとを抽出する。記憶部120は、本実施形態においてもこれらの情報(データ)を、上述した実施形態と同様に、多階調化部130と出力部140とが読み出し可能な状態で記憶する。
多階調化部130は、記憶部120に格納されている情報の中から、ハーフトーンスクリーンの縦横サイズと、閾値データと、ユーザが設定した定数を読み出す。そして、多階調化部130は、読み出したこれらの情報に基づいて、第1の実施形態と同様な多階調化処理を実行する。多階調化部130は、係る多階調化処理によって得られた閾値データを、出力部140に入力する。
出力部140は、第1の実施形態と同様に、記憶部120に記憶されているすべてのヘッダー情報と、多階調化部130から入手した多階調化後の閾値データ情報を用いて、最適化されたハーフトーンスクリーンを生成する。そして、出力部140は、生成したハーフトーンスクリーンを、本実施形態では網掛け処理部420に入力する。
網掛け処理部420は、予め格納されている評価用画像(評価画像)に、出力部140から入手した最適化後のハーフトーンスクリーンを適用して網掛け処理を行う。網掛け処理とは、写真やイラストなどのように、階調のある原稿を、細かい点の集まり(網、網点、ハーフトーンドット)に置き換える処理である。網掛け処理部420は、係る網掛け処理された評価用画像を、画像表示部430に入力する。尚、網掛け処理の対象となる評価用画像は、ユーザが外部から入力してもよい。
画像表示部430は、網掛け処理部420によって網掛け処理された評価画像を、上述した図13及び図14などの表示態様によって表示する。このことにより、ユーザは、表示された評価画像を確認しながら、係る多階調化処理に採用される定数を、所望の状態に調整することができる。
次に、ハーフトーンスクリーン生成装置400による処理全体の流れについて説明する。図16は、第4の実施形態に係るハーフトーンスクリーン生成装置400が実行するハーフトーンスクリーン最適化処理を示すフローチャートである。
ハーフトーンスクリーン生成装置400において、パラメータ設定部410は、ユーザが図13及び図14に例示したUIを用いながら設定した定数に関するパラメータファイルを受け付ける(ステップS401)。パラメータ設定部410は、ユーザの操作に応じて、最適化対象であるハーフトーンスクリーンを受け付ける(ステップS402)。入力部110は、ステップS402にて入力されたハーフトーンスクリーンから、ヘッダー情報と閾値データとを抽出する(ステップS403)。
多階調化部130は、パラメータファイルにより設定された定数を用いて、ステップS403にて抽出された閾値データに対して多階調化処理を行う(ステップS404)。
出力部140は、ステップS404にて生成された多階調化処理後の閾値データと、ステップS403にて抽出されたヘッダー情報とを用いて、多階調処理後のハーフトーンスクリーンを形成する(ステップS405)。
網掛け処理部420は、ステップS405にて形成された多階調化後のハーフトーンスクリーンを用いて、評価画像に対して網掛け処理を施す(ステップS406)。
画像表示部430は、ステップS406にて網掛け処理された評価画像を、上述した図13及び図14などの表示態様によって表示する(ステップS407)。
本実施形態では、トーンジャンプが発生している箇所をユーザが目視によって検出する装置構成について説明した。しかしながら、本実施形態を例に説明する本発明は係る装置構成には限定されず、例えば、入力画像の解像度、元の閾値データの階調数、及び、閾値の配分等に基づいて、トーンジャンプが発生している箇所を装置が自動的に検出してもよい。
上述した第4の実施形態によれば、第1の実施形態と同様な効果を享受することができる。即ち、本実施形態に係るハーフトーンスクリーン生成装置400によれば、人物の肌や金属などの滑らかなグラデーションや細かなテクスチャが表現できる高精細なハーフトーンスクリーンを生成することができる。特に、ハーフトーンスクリーン生成装置400は、図13及び図14に例示したUIを利用してユーザが適当な(最適な)定数を設定することができるので、利便性に優れる。
尚、上述した本実施形態におけるUIの構成は、第2及び第3の実施形態に適用してもよい。
<第5の実施形態>
次に、本発明の第5の実施形態について説明する。本実施形態では、上述した第1の実施形態に係るハーフトーンスクリーン生成装置100を含む画像処理装置500について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付して、重複する説明は省略する。
図17は、本発明の第5の実施形態に係る画像処理装置500の構成を示すブロック図である。画像処理装置500は、図1に示すハーフトーンスクリーン生成装置100の構成に加えて、更に、多値画像入力部510と、色分解処理部520と、網掛け処理部530とを有する。
多値画像入力部510は、多値画像データを入力データとして受け付け、受け付けた多値画像データを、色分解処理部520に入力する。係る多値画像データは、画像を構成する個々の画素が色情報や階調情報などを有する画像であり、一般に、通常扱う写真などの画像全般を指す。
色分解処理部520は、多値画像入力部510によって入力された多値画像を、色ごとに分ける処理(色分解処理)を行う。係る色分解処理により、例えば、入力された多値画像がCMYKなる4色の色情報を有するカラー画像である場合、係る多値画像は、C、M、Y、Kという4種類の版に分解され、C,M,Y,K4枚の画像が生成される。色分解処理部520は、生成した4種類の単色画像データを、網掛け処理部530に入力する。
一方、画像処理装置500に含まれるハーフトーンスクリーン生成装置100は、上述した第1の実施形態の如く多階調処理を行うことができる。その際、ハーフトーンスクリーン生成装置100は、最適化対象である(元の)ハーフトーンスクリーンが入力データとして入力されるのに応じて、角度が異なるハーフトーンスクリーンを生成することとする。即ち、C画像に適用するハーフトーンスクリーンは15度、M画像に適用するハーフトーンスクリーンは75度というように、個々の色画像に対応するハーフトーンスクリーンは、互いに異なる角度をなす。例えば、C,M,Y,Kなる4枚(4色)の網掛け処理を行う場合、ハーフトーンスクリーン生成装置100は、当該各色に個別に対応するハーフトーンスクリーンを生成する。そして、ハーフトーンスクリーン生成装置100は、生成した当該各色の、第1の実施形態の如く多階調処理によって最適化されたハーフトーンスクリーンを、網掛け処理部530に入力する。
網掛け処理部530は、色分解処理部520によって生成されたC,M,Y,K4枚の画像に対して、ハーフトーンスクリーン生成装置100によって最適化されたハーフトーンスクリーンを適用して、網掛け処理を行う。即ち、網掛け処理部530は、網掛け処理に際して、当該個々の単色画像に対応する、角度の異なるハーフトーンスクリーンを適用して網掛け処理を行う。そして、網掛け処理部530は、網掛け処理を施したC,M,Y,K各色の網点画像を、2値画像出力部540に入力する。
2値画像出力部540は、網掛け処理部530から入手した網掛け処理後の個々の画像を、現在では一般的な手法によって、それぞれ2値画像に変換する。係る2値画像は、その2値画像を構成する個々の画素が明暗2色だけを表す情報しか持たない。そして、2値画像出力部540は、生成したC,M,Y,K各色の2値画像(2値画像データ)を、外部装置に出力する。
上述した第5の実施形態によれば、第1の実施形態と同様な効果を享受することができる。即ち、本実施形態に係る画像処理装置500によれば、人物の肌や金属などの滑らかなグラデーションや細かなテクスチャが表現できる高精細なハーフトーンスクリーンを生成することができる。特に、本実施形態によれば、入力される多値画像が色情報を含む場合であっても、最適化されたハーフトーンスクリーンによる網掛けを、取り扱う色別に施すことができる。従って、このような本実施形態によれば、例えば、出力される2値画像データに基づいて印刷を行う場合に、トーンジャンプ及びモアレの無い高精細な画像を印刷によって再現することができる。
本実施形態では、画像処理装置500が、上述した第1の実施形態に係るハーフトーンスクリーン生成装置100を包含する構成について説明した。しかしながら、本発明は、係る構成には限定されず、画像処理装置500が、第2乃至第4の実施形態において説明した機能を有する構成であってもよい。
<第6の実施形態>
次に、上述した各実施形態に共通する構成を有するハーフトーンスクリーン生成装置について説明する。図18は、本発明の第6の実施形態に係るハーフトーンスクリーン生成装置600の構成を示すブロック図である。
ハーフトーンスクリーン生成装置600において、定数設定部601は、第1のハーフトーンスクリーン(最適化対象であるハーフトーンスクリーン)に含まれている閾値情報が表す複数の閾値のうち、特定の閾値に対して定数を設定する。
乱数発生部602は、当該定数に応じた乱数を発生する。
調整部603は、当該乱数に基づいて、当該特定の閾値が当該閾値情報において採用されている回数を調整する。そして調整部603は、当該調整した回数に応じて、当該特定の閾値に大きさが近い他の閾値が当該閾値情報において採用されている回数を調整する。
出力部604は、調整部603によって少なくとも一部の閾値について採用されている回数が調整された当該閾値情報と、当該第1のハーフトーンスクリーンに含まれているヘッダー情報とに基づいて第2のハーフトーンスクリーンを生成する。そして出力部604は、生成した第2のハーフトーンスクリーン(最適化されたハーフトーンスクリーン)を、例えば外部装置に出力する。
本実施形態によれば、滑らかなグラデーションや細かなテクスチャが表現できる高精細なハーフトーンスクリーンを生成することができる。
(ハードウェアの構成例)
上述した各実施形態において図1、図7、図10、図15、図17、及び、図18に示した各部は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。これらの各ソフトウェアモジュールは、専用のハードウェアによって実現してもよい。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図19を参照して説明する。
図19は、本発明の各実施形態を実行可能な情報処理装置(コンピュータ)1000のハードウェア構成を例示するブロック図である。即ち、図19は、サーバやPC等のコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。図19に示した情報処理装置1000は、以下の構成がバス1006(通信線)を介して接続された一般的なコンピュータである。
・CPU1001、
・ROM1002、
・RAM1003、
・ハードディスクやSSD(ソリッド・ステート・ドライブ)などの記憶装置1004、
・外部装置との通信インターフェース(I/F)1005、
・CD−ROM(Compact_Disc_Read_Only_Memory)等の記録媒体1007に格納されたデータを読み書き可能なドライブ装置1008、
・ユーザが情報処理装置1000に情報を入力可能なキーボードなどの入力装置と、画像を表示する表示装置や画像を印刷する印刷装置などの出力装置とを表す入出力ユーザインターフェース(マンマシンインターフェース)1009。
そして、上述した各実施形態を例に説明した本発明は、以下の手順によって達成される。即ち、図19に示した情報処理装置1000に対して、その実施形態の説明において参照したブロック構成図(図1、図7、図10、図15、図17、及び、図18)或いはフローチャート(図6、図9、図12、図16)の機能を実現可能なコンピュータ・プログラムが供給される。その後、そのコンピュータ・プログラムは、当該ハードウェアのCPU1001に読み出されて解釈され、実行される。また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能な揮発性の記憶メモリ(RAM1003)または不揮発性の記憶装置(記憶デバイス)1004に格納すればよい。
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、現在では一般的な手順を採用することができる。例えば、CD−ROM等の各種記録媒体1007を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等である。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは、そのコードが格納された記録媒体1007によって構成されると捉えることができる。
以上、本発明を、上述した模範的な実施形態およびその実施例に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態及び実施例に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、請求の範囲に記載した事項から明らかである。
この出願は、2014年3月28日に出願された日本出願特願2014−67360を基礎とする優先権を主張し、その開示の全てをここに取り込む。