JP2007188219A - 印刷制御装置、印刷制御方法および印刷制御プログラム - Google Patents

印刷制御装置、印刷制御方法および印刷制御プログラム Download PDF

Info

Publication number
JP2007188219A
JP2007188219A JP2006004822A JP2006004822A JP2007188219A JP 2007188219 A JP2007188219 A JP 2007188219A JP 2006004822 A JP2006004822 A JP 2006004822A JP 2006004822 A JP2006004822 A JP 2006004822A JP 2007188219 A JP2007188219 A JP 2007188219A
Authority
JP
Japan
Prior art keywords
pixel
image
gradation data
pixels
enlarged image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006004822A
Other languages
English (en)
Inventor
Hiroyuki Tsuji
宏幸 辻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006004822A priority Critical patent/JP2007188219A/ja
Publication of JP2007188219A publication Critical patent/JP2007188219A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】画素単位でディザ状模様にした画像を非整数倍で拡大しても、線状のむらを発生させず、画質を向上させることを課題とする。
【解決手段】拡大前画像I1の拡大の際に拡大前画像I1の各画素P1の階調データを画素単位で繰り返して拡大画像I2の各画素P2を生成し、前記階調データの繰り返し状況に基づいて前記階調データの繰り返し数の例外箇所を判別し、拡大画像I2を構成する複数の画素P2のうち近隣するM画素(Mは2以上の整数)を処理区分として該処理区分が例外箇所であるか否かを判断し、例外箇所でないと判断した処理区分については該処理区分の単位で各画素P2の階調データをドットの形成有無により表現した階調データに変換し、前記例外箇所であると判断した処理区分については該処理区分よりも少ない数の画素を単位として画素P2の階調データをドットの形成有無により表現した階調データに変換する。
【選択図】図1

Description

本発明は、画素毎に階調データで表現した拡大前画像に対して拡大する処理を行って該処理後の拡大画像を印刷装置に印刷させる印刷制御装置、印刷制御方法および印刷制御プログラムに関する。
図23は、カラー画像を拡大縮小してプリンタに印刷させる処理をフローチャートにより示している。図中、ステップS902〜S904(以下、「ステップ」の記載を省略)はカラー画像を拡大縮小する処理を実行可能なアプリケーションプログラム(APL)にて行われる処理、S906〜S914はプリンタドライバにて行われる処理を示している。
APLでは、例えばカラー画像をBx×By画素(Bx,Byは2以上の整数)で表現した画像データを入力すると(S902)、入力した画像データに対して拡大縮小処理を行い、Bx’×By’画素(Bx’,By’は2以上の整数)のカラー画像を表現する画像データを生成する(S904)。入力するカラー画像および生成するカラー画像は、例えば画素毎にRGB色空間の各色成分R(赤)、G(緑)、B(青)の大きさをそれぞれ256階調で表現した画像とされている。
プリンタドライバでは、APLにて生成された画像データに対して拡大縮小処理(解像度変換処理)を行い、プリンタで印刷される解像度に合わせたAx×Ay画素(Ax,Ayは2以上の整数)のカラー画像を表現した画像データを生成する(S906)。次に、生成された画像データを色変換し、例えば画素毎にCMYK色空間の各色成分C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)の大きさをそれぞれ256階調で表現した画像データを生成する(S908)。さらに、ハーフトーン処理を行い、例えば色変換後の画像データを画素毎に二値化する(S910)。そして、ハーフトーン処理後の画像データを画素毎に印刷順に並べ替えるインターレース処理(ラスタライズ処理)を行い(S912)、得られるラスタデータをプリンタに送出して(S914)、処理を終了する。
ここで、S904,S906で画像の拡大処理を行う場合、縦横を整数倍(Bx’/Bx、By’/By、Ax/Bx’、Ay/By’が整数)で拡大するときもあれば、非整数倍(Bx’/Bx、By’/By、Ax/Bx’、Ay/By’が非整数)で拡大することもある。
また、特許文献1には、ハーフトーン処理を2×2画素のブロック単位で行うことが記載されている。
特開2004−289274号公報
図20に示すように、各画素ID1aに同じ階調値(図では100)を格納した均一な階調を有するカラー画像の画像データID1に対し、ノイズを入れたり、階調を出したり、立体感を出したりするため、画素単位で若干市松模様状にするディザ処理をかけてディザ状模様を有するカラー画像の画像データID2を生成することがある。図の例では、2×2画素単位をブロックとして太線で囲ってあり、RGBそれぞれの階調値について、2×2画素単位で左上の画素を105、右下の画素を95にした画像データID2が示されている。なお、画像データID2は、このような2×2画素単位の階調データの並びを一部にのみ有する画像データでもよい。このような画像データID2を非整数倍で拡大しても、ディザ状模様を規則的にして線状のむらを発生させず、画質を向上させたいという希望があった。
本発明は、画素単位でディザ状模様にした画像を非整数倍で拡大しても、線状のむらを発生させず、画質を向上させることを目的とする。
課題を解決するための手段および発明の効果
上記目的を達成するため、本発明は、画素毎に階調データで表現した拡大前画像に対して拡大する処理を行って該処理後の拡大画像を印刷装置に印刷させる印刷制御装置であって、画像拡大手段と例外判別手段とハーフトーン手段と印刷制御手段とを備えることを特徴とする。
上記画像拡大手段では、前記拡大前画像の拡大の際に前記拡大前画像の各画素の階調データを画素単位で繰り返して前記拡大画像の各画素を生成する。生成される拡大画像は、各画素の階調データが画素単位で繰り返された画像とされる。ここで、上記例外判別手段により、前記階調データの繰り返し状況に基づく前記階調データの繰り返し数の例外箇所が判別される。また、上記ハーフトーン手段では、前記拡大画像を構成する複数の画素のうち近隣するM画素(Mは2以上の整数)を処理区分として該処理区分が前記例外箇所であるか否かが判断される。前記処理区分が前記例外箇所でないと判断されたとき、該処理区分の単位で各画素の階調データがドットの形成有無により表現した階調データに変換される。一方、前記処理区分が前記例外箇所であると判断されたとき、該処理区分よりも少ない数の画素を単位として画素の階調データがドットの形成有無により表現した階調データに変換される。
上記印刷制御手段では、変換後のドットの形成有無により表現した各画素の階調データに基づいて前記拡大画像を前記印刷装置に印刷させる制御を行う。すると、印刷装置は、拡大画像上で拡大前画像からの拡大の例外箇所に対して処理区分より細かい単位でハーフトーン処理が行われた拡大画像を印刷する。
ディザ状模様にした画像について非整数倍で拡大すると、図21と図22に示すように、拡大後の画像データID2はディザ状模様が不規則となる。ハーフトーン処理を2×2画素のブロック単位で行う場合、各図の画像データID2で実線にて区切った2×2画素のブロック単位でハーフトーン処理が行われる。
拡大率2.25倍とした図21の例では、図に「変化」と記載したように、x方向へ左から5ブロック目(9画素目)、9ブロック目(17画素目)、…、y方向へ上から5ブロック目(9画素目)、9ブロック目(17画素目)、…で2×2画素の階調データの並びが変化していることが示されている。すなわち、x方向、y方向ともに4ブロック毎(8画素毎)に規則性が変化しており、ブロック単位でハーフトーン処理を行うと、印刷対象の拡大画像が4ブロック(8画素)の単位で縦横に模様が変わってしまい、縦横に線状のむらが発生してしまう。
拡大率1.125倍とした図23の例では、x方向へ左から5ブロック目(9画素目)、9ブロック目(17画素目)、…、y方向へ上から5ブロック目(9画素目)、9ブロック目(17画素目)、…で2×2画素の階調データの並びが変化していることが示されている。すなわち、x方向、y方向ともに4ブロック毎(8画素毎)に規則性が変化しており、ブロック単位でハーフトーン処理を行うと、印刷対象の拡大画像が4ブロック(8画素)の単位で縦横に模様が変わってしまい、縦横に線状のむらが発生してしまう。
本発明の構成では、拡大画像上で拡大前画像からの拡大の例外箇所に対して細かい処理単位でハーフトーン処理が行われるので、ハーフトーンの処理単位における複数画素の階調データの並びを合わせることができ、上述した不具合を回避することができる。従って、画素単位でディザ状模様にした画像を非整数倍で拡大しても、印刷画像に線状のむらが発生せず、高品質の印刷画像を得ることが可能になる。
ここで、M画素単位ハーフトーン処理は、誤差拡散法によるハーフトーン処理、濃度パターン法によるハーフトーン処理、ディザ法によるハーフトーン処理、等が考えられる。
ハーフトーン処理では、画素毎に多階調データからなる拡大画像からドットの形成有無が表された二値データからなる二値画像を生成してもよいし、ドットの形成状況を3値以上で表す多値データからなる多値画像を生成してもよい。二値画像を生成する場合、二値の一方をドット形成有り、他方をドット形成無しとすることによって、ハーフトーン処理が簡素化される。一方、多値画像を生成する場合、インク量の異なる複数種類のドットを形成する印刷装置の制御を容易に行うことができる。
なお、拡大画像上のM画素は、長方形の領域とされていると拡大前画像を拡大する処理や拡大画像を印刷装置に印刷させる処理を簡素化させることができる点で好適であるものの、階段状の領域等、長方形でない領域とされてもよい。
ところで、前記画像拡大手段は、前記拡大前画像をK倍(K>1)に拡大する際、Kの小数点以下を切り捨てた値をKintとして、前記拡大前画像の各画素の階調データをKint回またはKint+1回繰り返して前記拡大画像の各画素を生成してもよい。この場合、階調データをKint回またはKint+1回繰り返すことが、上記階調データの繰り返し状況となる。
ここで、前記例外判別手段は、前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint+1回繰り返した位置、または、前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint回しか繰り返さなかった位置を前記例外箇所の位置と判別してもよい。すると、拡大画像上の各位置で階調データの繰り返し数の例外箇所であるか否かを確実に判定することができるので、より確実に線状のむらを発生させず、印刷画像の印刷品質(画質)を向上させることが可能になる。
また、前記例外判別手段は、前記Kの小数点以下の値をKdecとし、このKdecに対する所定の閾値をTdec(0<Tdec<1)として、値Kdecが閾値Tdec以下またはより小である場合に前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint+1回繰り返した位置を前記例外箇所の位置と判別し、値Kdecが閾値Tdecより大または以上である場合に前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint回しか繰り返さなかった位置を前記例外箇所の位置と判別してもよい。すると、階調データの繰り返し数の例外箇所が例外でない箇所よりも多くなるようなことを防ぐことができるので、M画素単位でハーフトーン処理を行う場合の処理速度を向上させることができる。さらに、閾値Tdec=0.5にすると、このような効果を最大限得ることができる。
ところで、前記ハーフトーン手段は、前記処理区分が前記例外箇所であると判断したときには2以上の画素を単位としてハーフトーン処理を行ってもよいが、前記処理区分が前記例外箇所であると判断したときには画素単位で画素の階調データをドットの形成有無により表現した階調データに変換してもよい。後者の場合、拡大画像上で階調データの繰り返し数の例外箇所が1画素単位でハーフトーン化されるので、規則的でない箇所をより確実に視認されないようにすることができ、印刷画像の印刷品質(画質)を向上させることができる。
上記拡大前画像は、Nxが1以上の整数、Nyが1以上の整数(ただし、NxとNyの少なくとも一方は2以上の整数)であるとして、前記x方向へNx画素、前記y方向へNy画素の近隣するNx×Ny画素を単位として該単位のNx×Ny画素の階調データの並びが繰り返されたデータを有する画像でもよい。
ここで、上記ハーフトーン手段は、MxがNxの正の整数倍、MyがNxの正の整数倍であるとして、前記x方向へMx画素、前記y方向へMy画素の近隣するMx×My画素を処理区分として該処理区分が前記例外箇所であるか否かを判断してもよい。Mx/NxやMy/Nyが整数でないと処理区分毎の階調データの変換(Mx×My画素単位ハーフトーン処理)により意図しない模様が現れる可能性があるが、Mx/NxとMy/Nyが整数であると、Mx×My画素単位ハーフトーン処理による意図しない模様が現れないので、Mx×My画素単位でハーフトーン処理を行う印刷制御装置で拡大画像の印刷品質(画質)を向上させることが可能になる。
さらに、Nx=Mx、Ny=Myであると、より確実にMx×My画素単位ハーフトーン処理による意図しない模様の出現を防ぐことができるので、拡大画像の画質をさらに向上させることが可能になる。
上記画像拡大手段は、第一の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大前画像の各画素の階調データを画素単位で繰り返して前記第一の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像の各画素を生成した後、該拡大画像を、画素毎に前記複数の色材の色に対応した第二の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像に変換してもよい。この場合、上記ハーフトーン手段は、画素毎に前記第二の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像に対して前記処理区分が前記例外箇所であるか否かを判断し、前記処理区分が前記例外箇所でないと判断したときには該処理区分の単位で各画素の階調データを前記色材の色毎のドットの形成有無により表現した階調データに変換し、前記処理区分が前記例外箇所であると判断したときには該処理区分よりも少ない数の画素を単位として画素の階調データを前記色材の色毎のドットの形成有無により表現した階調データに変換してもよい。拡大画像を色変換した後に該拡大画像を印刷させる印刷制御装置で印刷画像の品質(画質)を向上させることが可能になる。
上述した画像拡大手段、例外判別手段、ハーフトーン手段、印刷制御手段を備え、前記x方向と前記y方向とが互いに直交し、前記Nx、前記Ny、前記Mx、前記Myがいずれも2であるとともに、前記印刷装置にて印刷される拡大画像で前記Mx×My画素は正方形の領域であると、拡大画像を印刷装置に印刷させる処理にて実際に印刷される拡大画像上でx方向とy方向の処理区分の大きさが同じとなるので、印刷画像の品質(画質)を向上させることが可能になる。
上述した印刷制御装置は、ある機器に組み込まれた状態で他の方法とともに実施されることもある等、各種の態様を含む。例えば、印刷装置を備える印刷システムとしても適用可能である。また、上記印刷制御装置の構成に対応した工程を有する制御方法や、上記印刷制御装置の構成に対応した機能をコンピュータに実現させるプログラムとしても適用可能であり、印刷制御方法や印刷制御プログラムの発明も、同様の作用、効果を奏する。さらに、印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体としても適用可能である。むろん、請求項2〜6に記載した構成も、前記方法や前記システムや前記プログラムや前記記録媒体に適用可能である。
以下、下記の順序に従って本発明の実施形態を説明する。
(1)印刷制御装置を含む印刷システムの構成:
(2)印刷制御装置が行う処理:
(3)変形例:
(1)印刷制御装置を含む印刷システムの構成:
図1は本発明の画像拡大処理を模式的に示す図、図2は本発明の一実施形態に係る印刷制御装置U0の構成を模式的に示すブロック図、図3は本印刷制御装置U0を含む印刷システムの構成の概略を示すブロック図、図4〜図10は本印刷制御装置U0が行う印刷制御処理を示すフローチャート、図11はハーフトーンの処理単位の各種変形例を模式的に示す図、図12は拡大画像上で着目ブロックの位置を設定する様子を模式的に示す図、図13は誤差拡散を行いながら階調データを変換する様子を示す模式図、図14と図15は階調データの繰り返し数の例外箇所を判別してハーフトーンの処理単位を決定する様子を示す模式図である。本印刷システムは、本発明の印刷制御装置となるパーソナルコンピュータ(PC)10、カラー印刷可能なインクジェットプリンタ(印刷装置)20等から構成されている。むろん、本発明に用いられるコンピュータは、PCに限定されない。
PC10では、CPU11がシステムバス10aを介してPC全体を制御する。同バス10aには、ROM12、データを書き換え可能な半導体メモリ(RAM13)、各種ドライブ15,16、各種インターフェイス(I/F)17a〜e、等が接続され、ハードディスクドライブを介してハードディスク(磁気ディスク)14も接続されている。本発明の印刷制御プログラム14aは、ハードディスク(HD)14に記憶され、CPU11によってRAM13に転送され、実行される。また、HD14は、拡大前画像のディザ状模様の繰り返し単位(Nx×Ny画素)を表す繰り返し単位情報14b、ハーフトーンの処理単位(Mx×My画素)を表すハーフトーン処理単位情報14c、本発明の色変換情報である色変換LUT(色変換テーブル)14d、拡大率Kの小数点以下の値Kdecに対する所定の閾値(Tdec)14e、図示しない各種閾値、等を記憶(記録)した所定の情報記憶領域(情報記録領域)とされている。RAM13には、一時的に、拡大前画像を表す拡大前画像データ13a、拡大画像を表す拡大画像データ13b、拡大画像の例外箇所を表す例外箇所情報14c、ハーフトーンデータ13d、等が格納される。
周辺機器I/F17a(例えばUSB I/F)には、デジタルカメラ50、カラースキャナ、カラー測色機、等が接続可能である。CRT I/F17bにはカラー画像データに基づいて当該データに対応する画像を表示するディスプレイ18aが接続され、入力I/F17cにはキーボード18bやポインティングデバイス18cが操作用入力機器として接続され、プリンタI/F17eには例えばシリアルI/Fケーブルを介してプリンタ20が接続される。
本印刷制御プログラムは、オペレーティングシステム(OS)に組み込まれたプリンタドライバで構成されている。この構成が好適であるものの、本プログラムをプリンタドライバ以外のOSやアプリケーションプログラム(APL)で構成することも可能である。同プログラムを記録した媒体は、HD14以外にも、CD−ROM15a、フレキシブルディスク、半導体メモリ、等でもよい。また、通信I/F17dをインターネット網に接続し、所定のサーバから本発明のプログラムをダウンロードして実行してもよい。
本実施形態のプリンタ20は、CMYK(シアン、マゼンタ、イエロー、ブラック)のインクを使用して印刷する装置であるものとする。プリンタ20は、CMYKの各色に対応してそれぞれ設けられた4個のインクカートリッジ28に充填された4色のインクを印刷ヘッド29a〜dから吐出して、印刷用紙等の印刷媒体にインクを付着させてドットを形成することにより、カラー画像を表現した印刷データに対応する画像を印刷する。むろん、プリンタ20には、ライトシアン(前記シアンの淡色)、ライトマゼンタ(前記マゼンタの淡色)、ダークイエロー(前記イエローの濃色)、レッド、バイオレット、灰色(前記ブラックの淡色)、淡灰色(前記灰色の淡色)、無着色インク(光沢感改善インク)、等も使用するプリンタ、CMYKのいずれかのインクを使用しないプリンタ、インク通路内に泡を発生させてインクを吐出するバブル方式のプリンタのような各種インク噴射式プリンタ、トナーインクを使用するレーザープリンタ、等も採用可能である。本実施形態の各インクは、水性の溶媒に微細な顔料からなる色材を混合したインクであるものとするが、染料からなる色剤(本発明の色材の一種)を混合したインク、油性の溶媒に色材を混合したインクでもよい。各インクに違う色材が含まれているため、本プリンタは互いに異なる複数の色材を使用して印刷媒体上に画像を形成する印刷装置であるといえる。
印刷媒体には、光沢紙(例えば写真用紙)等が含まれる塗被紙の印刷媒体、普通紙や再生紙等が含まれる非塗被紙の印刷媒体がある。
本プリンタ20では、CPU21、ROM22、RAM23、通信I/O24、コントロールIC25、ASIC26、I/F27、等がバス20aを介して接続され、CPU21がROM22に書き込まれたプログラムに従って各部を制御する。
キャリッジ機構27aにて主走査方向に往復動するキャリッジには、各インクカートリッジ28をそれぞれ所定の装着箇所にて装着可能なカートリッジホルダ32が設けられているとともに、印刷ヘッドユニット29が搭載されている。各カートリッジ28は、対応する色のインクを充填可能な所定の充填室が形成され、ホルダ32の各装着箇所に対して着脱可能に装着される。印刷ヘッドユニット29は、CMYKのインク毎に設けられた印刷ヘッド29a〜dを備えている。
プリンタ20は、PCのプリンタI/F17eと接続された通信I/O24を介して、PC10から送信される色別のラスタデータを受信したり、各種情報をPC10に対して出力したりすることが可能である。本プリンタ20は、印刷時の解像度、等を選択可能であり、PC10から解像度等の選択情報を入手し、RAM23にこれらの選択情報を記憶する。そして、プリンタ20は、選択情報に応じた主走査および副走査で画像データに対応する複数種類のインクのドットを形成し、印刷を実行する。
ASIC26は、CPU21と所定の信号を送受信しつつヘッド駆動部26aに対してラスタデータに対応する印加電圧データを出力する。同ヘッド駆動部26aは、同印加電圧データから印刷ヘッド29a〜dに内蔵されたピエゾ素子への印加電圧パターンを生成し、印刷ヘッド29a〜dに4色のインク滴をドット単位で吐出させる。I/F27に接続されたキャリッジ機構27aや紙送り機構27bは、印刷ヘッドユニット29を主走査させたり、適宜改ページ動作を行いながらシート状の印刷媒体を順次送り出して副走査を行ったりする。本プリンタ20は、例えば、720×720dpi、1440×1440dpi、2880×2880dpiのように、主走査方向(x方向)と副走査方向(y方向)とで解像度が同じである場合、主走査方向の画素数と副走査方向の画素数とが同じ領域が正方形の領域となるように印刷媒体に画像を形成する。
図2に示す印刷制御装置U0は、PC10のハードウェアと本発明の印刷制御プログラムとが協働して構築し、プリンタ20を制御する。図1を参照して説明すると、本装置U0は、各部U1〜U7が協働して、画素P1毎に階調データで表現した拡大前画像I1に対して拡大する処理を行って該処理後の拡大画像I2をプリンタ20に印刷させる制御を行う。本印刷制御装置U0は、画像拡大手段U1,U8,U3にて、拡大前画像I1の拡大の際に拡大前画像I1の各画素P1の階調データ(階調値a,b,c)を画素単位で繰り返して拡大画像I2の各画素P2を生成することにより、拡大画像I2を生成する(画像拡大工程)。ここで、解像度変換部U2に設けられた例外判別部(例外判別手段)U9は、拡大画像I2の階調データの繰り返し状況に基づいて、階調データの繰り返し数の例外箇所を判別する(例外判別工程)。図1では、x方向へのフラグ”ON”のx位置、y方向へはフラグ”ON”のy位置、が、階調データの繰り返し数の例外箇所となっている。一方、フラグ”OFF”の位置は、階調データの繰り返し数が例外ではない箇所となっている。
ハーフトーン部(ハーフトーン手段)U5は、拡大画像I2を構成する複数の画素P2のうち近隣するM画素(Mは2以上の整数)を処理区分として、該処理区分が前記例外箇所であるか否かを判断する。本実施形態では、処理区分の各画素の位置でフラグ”ON”となっている画素があれば例外箇所と判断し、処理区分の各画素の位置で全てフラグ”OFF”となっていれば例外箇所でないと判断する。ただし、ハーフトーン処理の途中で、最初はフラグ”OFF”の位置のフラグを”ON”に切り替えることもありうる。そして、同ハーフトーン部U5は、前記処理区分が前記例外箇所でないと判断したとき、該処理区分の単位で各画素P2の階調データをドットの形成有無により表現した階調データに階調数変換する。一方、同ハーフトーン部U5は、前記処理区分が前記例外箇所であると判断したとき、該処理区分よりも少ない数の画素を単位として各画素P2の階調データをドットの形成有無により表現した階調データに階調数変換する(ハーフトーン工程)。本実施形態では、処理区分が例外箇所であると判断したとき、画素単位で階調数変換を行う。
そして、本装置U0は、ドット形成部(印刷制御手段)U6により、変換後のドットの形成有無により表現した各画素の階調データに基づいて、拡大画像をプリンタ20に印刷させる制御を行う(印刷制御工程)。
図1の例では、拡大前画像I1および拡大画像I2を、ともに、互いに異なるx方向(横方向)とy方向(縦方向)とへそれぞれ画素P1,P2を配列したカラー画像で表現している。なお、各画素P1,P2には画像I1,I2に対応させた色空間の各色成分の大きさ(例えばRGB色空間であれば色成分R,G,Bの強さ)をそれぞれ表現する階調値からなる階調データが格納されるが、図1の例では前記各色成分のうちいずれかの階調値をa,b,cで示している。図20の画像データID2で表されるカラー画像では、色成分R,G,Bの階調値a,b,cはいずれもa=105,b=100,c=95となる。むろん、各色成分の階調値は、異なっていてもよい。
拡大処理の対象となる拡大前画像I1は、x方向にBx=16画素、y方向にBy=16画素のドットマトリクス状の画素を有し、画素毎の階調データからなる画像データD1で表現してある。拡大処理後に生成される拡大画像I2は、拡大前画像I1をx方向に1.125倍、y方向に1.125倍拡大したx方向にAx=18画素、y方向にAy=18画素のドットマトリクス状の画素を有し、画素毎の階調データからなる画像データD2で表現してある。なお、画素毎の階調データは、色成分R,G,B毎の階調値からなる画像データではR,G,Bの階調値の組み合わせ、色成分C,M,Y,K毎の階調値からなる画像データではC,M,Y,Kの階調値の組み合わせ、とされる。
本実施形態では、ハーフトーンのM画素の処理単位B2を、拡大画像I2上で例外箇所でない位置ではx方向にMx=2画素、y方向にMy=2画素の計4画素と、正方形の領域となるようにして、印刷画像の品質を向上させるようにしている。特に、印刷画像の縦横の解像度を同じにすると、ハーフトーン処理にて実際に印刷される拡大画像上でx方向とy方向の処理単位の大きさが同じとなるので、印刷画像を高品質にさせることができる。
M画素の処理単位を正方形の領域とするのが好適であるものの、図11に示すように、長方形の領域からなる処理単位B3、非長方形の領域からなる処理単位B4、x方向にのみ複数画素とした線状の領域からなる処理単位B5、y方向にのみ複数画素とした線状の領域からなる処理単位B6、をM画素の処理単位としてもよい。
画素P1単位で若干市松模様状にするディザ処理をかけてディザ状模様にした拡大前画像I1に対して非整数倍の拡大処理を行うと、図21や図22で示したように、M画素単位でハーフトーン処理を行うとき、M画素のハーフトーンの処理単位における各画素の階調データの並びが途中で変化する。本発明では、図1に例示するように、拡大画像I2上で拡大前画像I1からの拡大の例外箇所に対して処理区分(Mx×My=2×2画素)より細かい単位でハーフトーン処理が行われ、該処理後の拡大画像I2が印刷媒体上に形成される。なお、図1では、ハーフトーンの処理単位B2を、太線で区分している。
このように、拡大の例外箇所であるか否かに応じて処理単位を切り替えながらハーフトーン処理が行われるので、ハーフトーンの処理単位における複数画素の階調データの並びを合わせることができ、画素単位でディザ状模様にした画像を非整数倍で拡大しても、印刷画像に線状のむらが発生しない。
一方、図21に示す比較例のように、画像データID1で表現されるディザ状模様の拡大前画像について1画素単位で2倍より大きく3倍より小さい拡大率で拡大すると、拡大後の画像データID2は階調値aの画素がx方向へ二つまたは三つ、y方向へ二つまたは三つ隣接し、階調値bの画素もx方向へ二つまたは三つ、y方向へ二つまたは三つ隣接し、階調値cの画素もx方向へ二つまたは三つ、y方向へ二つまたは三つ隣接する。なお、同図において、拡大前画像が画素毎にRGB色空間の各色成分R,G,Bの大きさをそれぞれ256階調の階調値で表現した画像であると、階調値a,b,cは、色成分R,G,Bのいずれかの大きさを表す256階調の階調値であり、互いに異なる階調値である。また、拡大画像(画像データID2)上で画素を実線でブロックに区切ってあり、各ブロックはハーフトーン処理の2×2画素の処理単位を示している。図に「変化」と記載したように、拡大画像は、x方向、y方向ともに4ブロック毎(8画素毎)に規則性が変化している。その結果、印刷対象の拡大画像が4ブロック(8画素)の単位で縦横に模様が変わってしまい、規則性の変わる場所で縦横に線状のむらが発生してしまう。
図22に示す比較例のように、ディザ状模様の拡大前画像(画像データID1)について1画素単位で1倍より大きい(1.125倍等、1倍より大きく1.5倍より小さい)拡大率で縦横に拡大すると、拡大画像(画像データID2)上で所々同じ階調値が並ぶ部分が生じる。その結果、印刷対象の拡大画像は、x方向、y方向とも間欠的に規則性が変化し、規則性の変わる場所で縦横に模様が変わってしまい、縦横に線状のむらが発生してしまう。
本発明では、図1に示すように、ディザ状模様の拡大画像I2に対して拡大の規則性が変化する例外箇所では処理単位が小さくされてハーフトーン処理が行われるので、ハーフトーンの処理単位の規則性を維持することができる。その結果、画素単位でディザ状模様にした画像が非整数倍で拡大されても、印刷画像に線状のむらが発生せず、高画質の印刷画像が得られる。
図2に示すように、画像入力部U1は、APL等で生成された拡大前画像の画像データDA1を入力し、同画像をRGB毎の複数の画素で階調表現した画像データであるRGBデータDA2に変換するとともに、APL等から印刷画像のサイズを表す印刷画像サイズ情報DA3を入力する。RGBデータDA1は、画素毎にRGB色空間(第一の色空間)の各色成分R,G,Bの大きさをそれぞれ階調値で表現した拡大前画像I1の画像データとされている。
ここで、図1に示すように、拡大前画像I1は、x方向へBx画素(Bxは2以上の整数)、y方向へBy画素(Byは2以上の整数)の大きさを有する画像とされている。同画像の画素は、互いに直交するx方向とy方向とへそれぞれ整然と配列されている。また、拡大前画像I1は、Nxが1以上の整数、Nyが1以上の整数(ただし、NxとNyの少なくとも一方は2以上の整数)であるとして、x方向へNx画素、y方向へNy画素の近隣するNx×Ny画素を基本単位B1として該単位B1のNx×Ny画素の階調データの並びが繰り返されたデータを少なくとも一部に有する画像とされている。階調データの並びの繰り返し単位(Nx×Ny画素)は、繰り返し単位情報14bで表され、該情報14bが情報記憶領域(情報記録領域)U7に記憶(記録)されている。この情報記憶領域U7は、HD14で構成することができる。
本実施形態では、Nx=Ny=2とし、階調データの並びの繰り返し単位B1を2×2画素としている。
また、印刷画像サイズ情報DA3は、拡大画像のサイズ、具体的にはx方向の画素数Ax(AxはBxより大きい整数)、y方向の画素数Ay(AyはByより大きい整数)を表す情報とされ、APL等から入力するとRAM13等の記憶媒体へ一時的に記憶される。
解像度変換部U2に設けられた画像拡大部U8は、RGBデータDA2の画素数をx方向へAx/Bx倍、y方向へAy/By倍に増やしてRGB拡大画像データDA4を生成することにより、拡大前画像I1を拡大してx方向へAx画素、y方向へAy画素の大きさを有する拡大画像I2を生成する。RGB拡大画像データDA4は、図1に示す画像データD2のように、画素毎にRGB色空間の各色成分R,G,Bの大きさをそれぞれ階調値で表現した拡大画像I2の画像データとされている。ここで、拡大画像I2は、x方向へAx画素、y方向へAy画素の大きさを有する画像とされる。同画像の画素は、互いに直交するx方向とy方向とへそれぞれ整然と配列されている。
図14と図15に示すように、画像拡大部U8は、拡大前画像I1をK倍(K>1)に拡大する際、拡大率Kの小数点以下を切り捨てた値をKintとして、拡大前画像の各画素P1の階調データをKint回またはKint+1回繰り返して拡大画像の各画素P2を生成する。なお、両図では、x方向およびy方向のハーフトーンの処理単位(B2a〜d)を、太線で区分している。ここで、x方向の拡大率をKx(Kx>1)、y方向の拡大率をKy(Ky>1)とすると、Kx,Kyの小数点以下を切り捨てた値をそれぞれKxint,Kyintとして、x方向へは拡大前画像の各画素P1の階調データをKxint回またはKxint+1回繰り返して拡大画像の各画素P2を生成し、y方向へは拡大前画像の各画素P1の階調データをKyint回またはKyint+1回繰り返して拡大画像の各画素P2を生成する。
解像度変換部U2に設けられた例外判別部U9は、ハーフトーンの処理単位B2の大きさが適切に切り替わるよう、拡大画像I2における各画素の階調データの繰り返し状況に基づいて、階調データの繰り返し数の例外箇所を判別する。より具体的に説明すると、例外判別部U9は、拡大画像I2の位置であって拡大前画像の各画素P1の階調データをKint+1回繰り返した位置、または、拡大画像I2の位置であって拡大前画像の各画素P2の階調データをKint回しか繰り返さなかった位置を、例外箇所の位置と判別する。
拡大率Kの小数点以下の値K−KintをKdec(0≦Kdec<1)とし、この値Kdecに対する所定の閾値をTdec(0<Tdec<1)とする。本実施形態の画像拡大部U8は、値Kdecが閾値Tdec以下またはより小である場合、拡大画像I2上の位置であって拡大前画像の各画素P2の階調データをKint+1回繰り返した位置(図14のフラグ”ON”の位置)を例外箇所の位置と判別する。一方、本画像拡大部U8は、値Kdecが閾値Tdecより大または以上である場合、拡大画像I2上の位置であって拡大前画像の各画素P2の階調データをKint回しか繰り返さなかった位置(図15のフラグ”ON”の位置)を例外箇所の位置と判別する。閾値Tdecは、ハーフトーン処理を効率よく行う観点から例えば0.5とすることができるが、使用環境に応じて0.5以外の0.4〜0.6、0.3〜0.7等としてもよい。なお、拡大率Kx,Kyの小数点以下の値をKxdec(0≦Kxdec<1)、Kydec(0≦Kydec<1)とし、Kxdec,Kydecに対する所定の閾値をTxdec(0<Txdec<1)、Tydec(0<Tydec<1)として、x方向の例外箇所の位置とy方向の例外箇所の位置とを判別する。
図14に示すように、x方向およびy方向の拡大率がいずれも2.25倍である場合、まず、拡大前画像の画素P1の階調データをKint=2個並べることを3回繰り返し、次に、拡大前画像の画素P1の階調データをKint+1=3個並べ、以下、このような処理を繰り返して拡大画像I2を生成する。閾値Tdexが0.5であれば、階調データをKint+1=3個並べた位置を階調データの繰り返し数の例外箇所の位置と判別し、例外箇所の判別結果を表すフラグを”ON”にする。
図15に示すように、x方向およびy方向の拡大率がいずれも2.75倍である場合、まず、拡大前画像の画素P1の階調データをKint=2個並べ、次に、拡大前画像の画素P1の階調データをKint+1=3個並べることを3回繰り返し、以下、このような処理を繰り返して拡大画像I2を生成する。閾値Tdexが0.5であれば、階調データをKint=2個並べた位置を階調データの繰り返し数の例外箇所の位置と判別し、例外箇所の判別結果を表すフラグを”ON”にする。
本印刷制御装置U0は、拡大前画像I1を拡大して拡大画像I2を生成し、RGB色空間で表現された拡大画像をCMYK色空間で表現された拡大画像に色変換し、色変換後の拡大画像I2に基づいてプリンタ20に対し拡大画像を印刷媒体上へ印刷させる処理を行う。
色変換部(色変換手段)U3は、画像拡大部U8にて生成され画素P2毎にRGB色空間の各色成分R,G,Bの大きさをそれぞれ階調表現した拡大画像I2を、画素毎に複数のインク(色材)の色に対応したCMYK色空間(第二の色空間)の各色成分C,M,Y,Kの大きさをそれぞれ階調値で表現した拡大画像に色変換する。より具体的には、各色成分R,G,Bの大きさで階調表現されたRGB拡大画像データDA4を、該RGB拡大画像データと同じ色をCMYK色空間の各色成分C,M,Y,Kの大きさで階調表現するCMYK拡大画像データDA6に変換する。情報記憶領域U7には、RGB色空間とCMYK色空間との対応関係を複数の格子点(参照点)にて規定した色変換LUT(色変換情報)14dが記憶されている。色変換部U3は、色変換LUT14dを参照することにより、RGB拡大画像データDA4をCMYK拡大画像データDA6に変換する。CMYK拡大画像データDA6は、画素毎にCMYK色空間の各色成分C,M,Y,Kの大きさをそれぞれ階調値で表現した拡大画像の画像データとされている。
色変換前後の拡大画像は、いずれも、互いに直交するx方向とy方向とへ画素がそれぞれ整然と配列され、x方向へAx画素、y方向へAy画素の大きさを有する画像とされる。
ハーフトーン部U5は、色変換後の拡大画像を構成する複数の画素のうち近隣するM画素を処理区分として該処理区分が階調データの繰り返し数の例外箇所であるか否かを判断し、判断結果に応じた処理単位のハーフトーン処理を行い、CMYK拡大画像データDA6の階調数を減らす階調数変換を行ってハーフトーンデータDA7を生成する。この処理は、特開2004-289274号公報に記載された手法を利用して行うことができる。すなわち、CMYK拡大画像データDA6を構成する複数の画素のうち近隣する複数の画素を処理単位としてハーフトーン処理を行う場合、該処理単位毎に各画素の階調データをドットの形成有無により表現した階調データに変換し、該ドットの形成有無により表現した階調データからなるハーフトーンデータDA7を生成する。画素単位でハーフトーン処理を行う場合、画素毎に画素の階調データをドットの形成有無により表現した階調データに変換し、該ドットの形成有無により表現した階調データからなるハーフトーンデータDA7を生成する。ハーフトーンデータDA7は、画素毎に各色成分C,M,Y,Kの大きさをそれぞれドットの形成有無を表す階調値(例えば2値)で表現した多値データ(例えば2値データ)とされている。
ここで、M画素単位でハーフトーン処理を行う場合の処理単位は、Mxを1以上の整数、Myを1以上の整数(ただし、MxとMyの少なくとも一方は2以上の整数)として、x方向へMx画素、y方向へMy画素の近隣するMx×My画素としている。この処理単位(Mx×My画素)が表されたハーフトーン処理単位情報14cは、情報記憶領域U7に記憶されている。そして、ハーフトーン部U5は、ハーフトーン処理単位情報14cを参照して、階調データの繰り返し数の例外箇所でなければ、Mx×My画素の処理単位毎に拡大画像の各画素の階調データをドットの形成有無により表現した階調データに変換する。
本実施形態では、Mx=My=2とし、ハーフトーンの処理単位を2×2画素としている。
ドット形成部(印刷制御手段)U6は、ハーフトーンデータDA7に対して所定のラスタライズ処理を行い、色毎のラスタデータDA8を生成してプリンタに送出する。ドット形成部U6が行う処理により、CMYK拡大画像データDA6に対応するインクのドットをプリンタに対して印刷媒体上に形成させる制御が行われる。
すると、プリンタ20は、CMYK拡大画像データDA6に対応するインクのドットを印刷媒体M1上に形成し、むらの無い高品質の拡大画像IM1を印刷する。
(2)印刷制御装置が行う処理:
図4に示すように、PC10を印刷制御装置U0として機能させるのはプリンタドライバとされ、APL側ではなくプリンタドライバ側で入力画像の拡大縮小処理を行うようにしている。
同図に示す印刷制御処理を開始すると、画像入力部により、APL等で作成されたBx×By画素(Bx,Byはいずれも2以上の整数)の画像データDA1を入力し、例えば広域RGB色空間で表現された拡大前画像I1の画像データ(RGBデータDA2)に変換する(S102)。画像データDA1は、デジタルカメラ等のPCとは異なる機器、CD−ROM15a、等から入力することができる。画像データを入力する際には、画像データ全てをRAMに格納するのみならず、画像データを分割して分割されたデータを順次RAMに上書きしてもよいし、画像データを格納したバッファ領域を表すデータのみをRAMに格納してもよい。画像データDA1は、画像をドットマトリクス状の多数の画素で階調表現したデータであり、sRGB色空間で定義されるRGBから構成された画像データや、YUV表色系におけるYUVから構成された画像データ、等がある。画像データDA1の各成分も様々な階調数とされているので、sRGBやYUV表色系等の定義に従って、画像データDA1をR,G,B各256階調(0〜255の整数値)のRGBデータDA2に変換する。
次に、画像入力部により、印刷時の画像サイズであるAx×Ay画素の情報を取得する(S104)。例えば、APL等から入力した画像データDA1にAx×Ay画素の情報が付加されていれば、該情報の付加された画像データからAx×Ay画素の情報を探し出すことにより取得することができる。また、x方向とy方向の画素数を操作入力するための入力欄をディスプレイに表示し、マウス等のポインティングデバイス18cやキーボード18bから入力欄への操作入力を受け付け、入力されたx方向とy方向の画素数をAx×Ay画素の情報として取得してもよい。
さらに、解像度変換部により、拡大画像I2の画素数Ax×Ayに合わせて拡大前画像I1の画素数を変換する、解像度変換処理を行う(S106)。
図5は、例えばRGB色空間で表現される拡大前画像I1を拡大してRGB色空間で表現される拡大画像I2を生成する場合、すなわち、Ax≧BxかつAy>By、または、Ax>BxかつAy≧Byの場合に、PC10がS106で行う解像度変換処理を示すフローチャートである。処理の前提として、閾値Tx,Ty、変数Kxint,Kyint,Kxdec,Kydec、例外箇所の判別結果を配列変数で表すフラグFx(Rx)、Fy(Ry)、ポインタPx,Py,Qx,Qy、カウンタCx,Cy,NCx,NCyの格納場所をRAM13に確保しているものとする。フラグFx(Rx)は拡大画像I2のx方向の画素数Axの数を有する配列変数とされ、フラグFy(Ry)は拡大画像I2のy方向の画素数Ayの数を有する配列変数とされている。なお、画素数を少なくする場合には一定の割合で画素を間引く処理を行い、画素数をそのままにする場合には上記RGBデータDA2をそのままRGBに対応した階調データからなるRGB拡大画像データDA4とする処理を行えばよい。
処理を開始すると、拡大前画像から拡大画像への拡大率に相当する閾値Tx=Ax/Bx、閾値Ty=Ay/Byを算出し、x方向の拡大率Kx=Txの小数点以下を切り捨てた値(整数部分の値)Kxint、y方向の拡大率Ky=Tyの小数点以下を切り捨てた値(整数部分の値)Kyintを算出し、x方向の拡大率Kxの小数点以下の値Kxdec=Kx−Kxint、y方向の拡大率Kyの小数点以下の値Kydec=Ky−Kyintを算出する(S202)。例えば、Ax/Bx=Ay/By=2.25のとき、図14に示すように、画素単位で3回2倍に拡大し1回3倍に拡大するための閾値とされる。なお、図14では、拡大前画像I1の画像データ(RGBデータDA2)の構造と、拡大画像I2の画像データ(RGB拡大画像データDA4)の構造とを、画素毎に階調値a,b,cで示している。
次に、拡大画像I2上でx方向の各画素に対応させたフラグFx(Rx)の全てと、y方向の各画素に対応させたフラグFy(Ry)の全てとに、0を代入する(S203)。
さらに、拡大前画像の画素P1のxy位置を表すポインタPx,Pyと拡大画像の画素P2のxy位置を表すポインタRx,Ryとに0を代入し、カウンタCx,Cyに1を代入する(S204)。
上述した初期設定処理を終了すると、まず、y方向の計数カウンタNCyに0を代入し(S205)、次に、x方向の計数カウンタNCxに0を代入する(S206)。
その後、拡大前画像上で(Px,Py)の位置の画素に格納されているR,G,Bの階調値を拡大画像上の(Rx,Ry)の位置の画素へ複写する(S208)。
画素を複写した後、カウンタCxに1を加算し、拡大画像のx座標Rxに1を加算し、x方向の計数カウンタNCxに1を加算する(S210)。これにより、x座標Rxが1画素分x方向へ移動する。次に、カウンタCxが閾値Txより大きいか否かを判断する(S212)。Cx≦TxであればS208に戻り、Cx>TxであればS214へ進む。例えば、Tx=2.25であれば、まず3回連続してS208〜S212を2回繰り返し、次にS208〜S212を3回繰り返し、以下、拡大前画像のx座標Pxが座標値の最大(Bx−1)を超えるまでこのような処理を繰り返す。その結果、図14に示すように、x方向へは、拡大前画像の各画素がまず2画素分複写されることが3回繰り返され、次に3画素分複写され、以下、この繰り返しで画素が複写される。
S214では、図6に示すx方向フラグセット処理を行う。同処理を開始すると、例外判別部により、HD14からx方向の拡大率の小数点以下Kxdecに対する閾値Txdec(14e)を読み出し、値Kxdecが閾値Txdec以下であるか否かを判断する(S302)。なお、値Kxdecが閾値Txdecより小さいか否かを判断してもよい。
Kxdec≦Txdecの場合、x方向の計数カウンタNCxが閾値Txより大きいか否かを判断する(S304)。NCx>Txの場合、階調データの繰り返し数の例外箇所と判別してフラグFx(Rx)に1を代入し(S306)、S312に進む。NCx≦Txの場合、同例外箇所ではないと判別し、フラグFx(Rx)を0のままにしてS312に進む。これにより、値Kxdecが閾値Txdec以下またはより小である場合に、拡大画像の位置であって拡大前画像の各画素の階調データをKxint+1回繰り返した位置が例外箇所の位置と判別される。
一方、Kxdec>Txdecの場合、x方向の計数カウンタNCxが閾値Tx以下であるか否かを判断する(S308)。NCx≦Txの場合、同例外箇所と判別してフラグFx(Rx)に1を代入し(S310)、S312に進む。NCx>Txの場合、同例外箇所ではないと判別し、フラグFx(Rx)を0のままにしてS312に進む。これにより、値Kxdecが閾値Txdecより大または以上である場合に、拡大画像の位置であって拡大前画像の各画素の階調データをKxint回繰り返した位置が例外箇所の位置と判別される。
S312では、画像拡大部により、カウンタCxから閾値Txを減算し、拡大前画像のx座標Pxに1を加算して、xフラグセット処理を終了する。これにより、x座標Pxが1画素分x方向へ移動する。
xフラグセット処理(S214)を終了すると、x座標Pxが拡大前画像のx方向の画素数Bx以上であるか否かを判断する(S216)。なお、拡大画像のx座標Rxが拡大画像のx方向の画素数Ax以上であるか否かを判断してもよい。Px<BxであればS206に戻って計数カウンタNCxをリセットしてS208〜S216の処理を行い、Px≧Bxであれば拡大前画像のx方向の画素を全て複写したと判定してS218に進む。
S218では、拡大前画像のx座標Pxを0に戻し、拡大画像のx座標Rxを0に戻し、カウンタCyに1を加算し、拡大画像のy座標Ryに1を加算し、y方向の計数カウンタNCyに1を加算する。これにより、x座標Px,Rxがリセットされ、拡大画像のy座標Ryが1画素分y方向へ移動する。次に、カウンタCyが閾値Tyより大きいか否かを判断する(S220)。Cy≦TyであればS206に戻って計数カウンタNCxをリセットしてS208〜S220の処理を行い、Cy>TyであればS222へ進む。例えば、Ty=2.25であれば、まず3回連続してS206〜S220を2回繰り返し、次にS206〜S220を3回繰り返し、以下、拡大前画像のy座標Pyが座標値の最大(By−1)を超えるまでこのような処理を繰り返す。その結果、図14に示すように、y方向へは、拡大前画像の各画素がまず2画素分複写されることが3回繰り返され、次に3画素分複写され、以下、この繰り返しで画素が複写される。
S222では、図7に示すy方向フラグセット処理を行う。同処理を開始すると、例外判別部により、HD14からy方向の拡大率の小数点以下Kydecに対する閾値Tydec(14e)を読み出し、値Kydecが閾値Tydec以下(またはより小)であるか否かを判断する(S352)。
Kydec≦Tydecの場合、y方向の計数カウンタNCyが閾値Tyより大きいか否かを判断する(S354)。NCy>Tyの場合、階調データの繰り返し数の例外箇所と判別してフラグFy(Ry)に1を代入し(S356)、S312に進む。NCy≦Tyの場合、同例外箇所ではないと判別し、フラグFy(Ry)を0のままにしてS312に進む。これにより、値Kydecが閾値Tydec以下またはより小である場合に、拡大画像の位置であって拡大前画像の各画素の階調データをKyint+1回繰り返した位置が例外箇所の位置と判別される。
一方、Kydec>Tydecの場合、y方向の計数カウンタNCyが閾値Ty以下であるか否かを判断する(S358)。NCy≦Tyの場合、同例外箇所と判別してフラグFy(Ry)に1を代入し(S360)、S362に進む。NCy>Tyの場合、同例外箇所ではないと判別し、フラグFy(Ry)を0のままにしてS362に進む。これにより、値Kydecが閾値Tydecより大または以上である場合に、拡大画像の位置であって拡大前画像の各画素の階調データをKyint回繰り返した位置が例外箇所の位置と判別される。
S362では、画像拡大部により、カウンタCyから閾値Tyを減算し、拡大前画像のy座標Pyに1を加算して、yフラグセット処理を終了する。これにより、y座標Pyが1画素分y方向へ移動する。
yフラグセット処理(S222)を終了すると、y座標Pyが拡大前画像のy方向の画素数By以上であるか否かを判断する(S224)。なお、拡大画像のy座標Ryが拡大画像のy方向の画素数Ay以上であるか否かを判断してもよい。Py<ByであればS205に戻って計数カウンタNCyをリセットしてS206〜S224の処理を行い、Py≧Byであれば拡大前画像のy方向の画素を全て複写したと判定して解像度変換処理を終了する。
以上の処理により、拡大前画像の拡大の際に拡大前画像の各画素の階調データが画素単位で繰り返されて拡大画像の各画素が生成されるとともに、階調データの繰り返し数の例外箇所が階調データの繰り返し状況に基づいて判別される。なお、S202のKxdec,Kydecの算出処理、S203の処理、S205〜S206の処理、S210のNCxの加算処理、S302〜S310の処理、S218のNCyの加算処理、S352〜S360の処理を行うPC10が例外判定部U9を構成し、残りの解像度変換処理を行うPC10が画像拡大部U8を構成する。
解像度変換処理(S106)が終了すると、色変換部により、画素毎にRGB色空間の各色成分R,G,Bの大きさをそれぞれ階調値で表現した拡大画像を、画素毎にCMYK色空間の各色成分C,M,Y,Kの大きさをそれぞれ階調値で表現した拡大画像に変換する(図4のS108)。具体的には、色変換前の拡大画像I3を表現するRGB拡大画像データDA4を構成する各画素の中で色変換対象の対象画素を順次移動させながら、色変換LUT14dを参照することにより、対象画素のR,G,Bの階調値をC,M,Y,Kの階調値に変換し、CMYK拡大画像データDA6を生成する。色変換LUT14dは、色変換前の色を要素色RGB毎の階調値で表現する入力データと、印刷媒体上でCMYKのインクにより色再現される色をCMYK毎の階調値で表現する出力データと、の対応関係を複数の参照点について規定した情報テーブルとされている。具体的には、色変換LUTは、RGB毎に例えば17段階の階調値を設定してRGB毎の各段階の階調値を組み合わせた173個の格子点を参照点として、各参照点に対応するCMYK毎の階調値が格納されたデータ構造とされている。対象画素についてR,G,Bの階調値に一致する入力データに対応する出力データが色変換LUTに格納されていない場合、対象画素のR,G,Bの階調値に近い複数の入力データのそれぞれに対応する各出力データを色変換LUTから取得し、体積補間等の補間演算により対象画素のC,M,Y,Kの階調値を求める。画素毎にC,M,Y,Kの階調値からなるCMYK拡大画像データDA6は、RGB拡大画像データDA4と同じくドットマトリクス状に配置された多数の画素で画像を階調表現した画像データであり、画素毎の階調データはプリンタが印刷ヘッドから吐出する各インクの使用量を表すC,M,Y,K各256階調のデータであるとする。
なお、印刷媒体の種類毎、カラープロファイルの種類毎、印刷解像度毎、印字方向の種類毎、印字のパス数毎、に色変換LUTが設けられている場合には、環境設定処理等で入力を受け付けた内容に対応する色変換LUTを複数の色変換LUTの中から選択し、選択した色変換LUTを参照して色変換を行えばよい。
色変換後、ハーフトーン部により、拡大画像を構成する複数の画素のうち近隣するM画素(M≧2)を処理単位として該処理単位毎に各画素の階調データをドットの形成有無により表現した階調データに変換し、ハーフトーンデータDA7を生成する(S112)。
図8は、x方向へMx=2画素、y方向へMy=2画素のブロックと、該ブロックよりも画素数の少ない1画素とで、ハーフトーンの処理単位を切り替えながら拡大画像に対してハーフトーンを行う処理単位可変ハーフトーン処理を示すフローチャートである。本処理は、C,M,Y,Kのいずれかの階調値を変換する処理として示しているが、C,M,Y,Kの色毎に行われる。処理の前提として、補正データCDと対比するための閾値th1をHD14に記憶させているとともに、着目ブロックの位置を表すポインタ、着目画素の位置を表すポインタ、補正データCDの格納場所、Mx×My画素の階調データの格納場所をRAM13に確保しているものとする。
処理を開始すると、まず、拡大画像の画素のxy位置を表すポインタRx,Ryにそれぞれ0を代入する(S402)。次に、HD14から処理単位(Mx×My画素)が表されたハーフトーン処理単位情報14cを読み出し、y方向のフラグFy(Ry)〜Fy(Ry+My−1)のいずれかに1(”ON”)があるか否かを判断する(S404)。My=2の場合、Fy(Ry)とFy(Ry+1)のいずれかがセット(”ON”)されているかどうかをみる。フラグFy(Ry)〜Fy(Ry+My−1)の全てが0(”OFF”)である場合、x方向のフラグFx(Rx)〜Fx(Rx+Mx−1)のいずれかに1(”ON”)があるか否かを判断する(S406)。Mx=2の場合、Fx(Rx)とFx(Rx+1)のいずれかがセット(”ON”)されているかどうかをみる。
フラグFx(Ry)〜Fx(Rx+Mx−1)の全てが0(”OFF”)である場合、階調データの繰り返し数の例外箇所ではないと判断したことになり、まず、拡大画像上で(Rx,Ry)の位置からMx×My画素の階調データをRAM13に記憶する(S408)。次に、図9に示す着目ブロック変換処理を行う(S410)。なお、同処理では、拡大画像上で(Rx,Ry)の位置からx方向へMx=2画素、y方向へMy=2画素を、ハーフトーン処理を行う対象の着目ブロックとしている。図12では、各画素を小さな正方形で示し、破線で囲った2×2画素をブロックB11とし、太線で囲ったブロックを着目ブロックB12として、示している。ブロック単位でハーフトーン処理を行う場合、画像変換処理の順序は、左上のブロックから開始して順番に右上のブロックまでとし、その後一つずつ下の左端のブロックから順番に右端のブロックまでとして、最後に右下のブロックとしている。むろん、変換処理の順序は、適宜変更可能であり、解像度等に応じて異なる順序とすることも可能である。また、ブロックは、図11に示すように、正方形状以外のブロックB3〜B6等でもよい。
着目ブロック変換処理を開始すると、まず、着目ブロックB12を構成する複数の画素の中から、ドットの形成有無を判断する着目画素の位置を設定する(S504)。図13では、着目ブロックB12内で着目画素を太線で囲ってあり、該着目ブロック内の左上の画素Pa、右上の画素Pb、左下の画素Pc、右下の画素Pdの順に着目画素を設定する様子を示している。なお、斜線が記入された画素は、誤差拡散を伴う階調値の変換処理が終了したことを示している。むろん、ブロック内の着目画素の設定順序は、様々な順序とすることができる。
さらに、着目画素について、階調値と拡散誤差を読み込み、補正データCDを算出する(S506)。誤差拡散法によるハーフトーン処理の場合、着目画素のC,M,Y,Kいずれかの階調値をDA、着目画素に拡散されてきた拡散誤差をEとすると、CDは、以下の式のように階調値DAと拡散誤差Eとの和になる。
CD = DA + E …(1)
階調誤差を即座に他の未変換画素へ拡散するのではなく一旦階調誤差を変換済みの画素に保持させ、補正データを算出する際に周辺の変換済み画素の階調誤差を引っ張ってくる平均誤差最小法でも、同様である。すなわち、平均誤差最小法によるハーフトーン処理の場合、着目画素のC,M,Y,Kいずれかの階調値をDA、着目画素へ引っ張ってくる階調誤差の総和をEとすると、CDは、式(1)のように階調値DAと階調誤差の総和Eとの和になる。なお、引っ張ってきた画素の階調誤差を0にすると、誤差拡散法と同様の結果が得られる。
そして、CDが所定の閾値th1より大(または以上)であるか否かを判断する(S508)。CD>th1の場合、着目画素について256階調の階調値を「ドットを形成する」階調値に階調数変換し(S510)、CD≦th1の場合、着目画素について256階調の階調値を「ドットを形成しない」階調値に階調数変換して(S512)、S514に進む。ハーフトーンデータDA7としては、「ドットを形成する」階調値を「1」、「ドットを形成しない」階調値を「0」のようにすればよいが、階調誤差を算出する際には、「ドットを形成する」階調値を「255」、「ドットを形成しない」階調値を「0」のようにすればよい。
S514では、着目画素で生じる階調誤差E’を算出する。誤差拡散法の場合、階調数変換後の着目画素のC,M,Y,Kいずれかの階調値をDot(ただしDotは255または0)とすると、着目画素の階調値DA、着目画素に拡散されてきた拡散誤差Eを用いて、階調誤差E’を算出することができる。
E’ = DA + E − Dot …(2)
平均誤差最小法の場合、着目画素の階調値をDA、着目画素へ引っ張ってくる階調誤差の総和をEとすると、E’は、式(2)のように階調値DAと階調誤差の総和Eとの和からDotを差し引いた値になる。
S516では、着目ブロック内の全画素について階調値を変換したか否かを判断する。
誤差拡散法の場合、着目ブロック内に階調値を変換していない未変換画素が残っているときには、着目画素の階調誤差E’を同着目ブロック内の未変換画素に拡散し(S518)、S504に戻る。一方、着目ブロック内に未変換画素が残っていないときには、着目ブロック変換処理を終了し、図8のS412で着目画素の階調誤差E’を着目ブロック全体の階調誤差として該着目ブロック外の未変換画素に拡散する。
図13では、階調誤差を拡散させる様子をブロック矢印で示している。1画素目の画素Paについては、階調値と他の画素からの階調誤差とに基づいてドットを形成するか否かを判定し、変換後の階調値を「255」または「0」にする。そして、S518では、例えば、画素Paの階調誤差を着目ブロックB12内の他の未変換画素Pb,Pc,Pdに拡散させる。2画素目の画素Pbについても、同様にしてドットを形成するか否かを判定し、変換後の階調値を「255」または「0」にする。そして、S518では、例えば、画素Pbの階調誤差を着目ブロックB12内の他の未変換画素Pc,Pdに拡散させる。3画素目の画素Pcについても、同様にして変換後の階調値を「255」または「0」とする。そして、S518では、例えば、画素Pcの階調誤差を着目ブロックB12内の他の未変換画素Pdに拡散させる。4画素目の画素Pdについても、同様にして変換後の階調値を「255」または「0」にする。ここで、画素Pdの階調誤差が着目ブロックB12全体の階調誤差となり、S412では、例えば、着目ブロックB12の階調誤差を該ブロックB12外の6つの未変換画素P11〜P16に拡散させる。なお、着目ブロックに隣接した未変換画素以外にも、着目ブロックから近隣ではあるが隣接していない未変換画素へ階調誤差を拡散してもよい。
また、階調誤差を複数の未変換画素へ拡散する場合、拡散先の各画素へ階調誤差を略均等に拡散させてもよいし、拡散先の画素の位置に応じて階調誤差を拡散する割合を異ならせるようにしてもよい。略均等に階調誤差を拡散させる場合には、例えば、階調誤差を拡散先の画素の数で除した結果、整数となるように割り切れたときに割り切れた値を拡散先の各画素へ拡散させ、整数とならなかったときには拡散先の複数の画素のうち一つを除く画素に整数部分を拡散させるとともに残りの一つの画素に整数部分と余りの部分との和を拡散させるようにすればよい。着目画素の階調誤差が25であって3つの未変換画素へ拡散させる例では、25を3で割ると8余り1であるので、2つの未変換画素へは8を拡散し、残りの一つの画素へは8+1=9を拡散させることになる。
なお、平均誤差最小法の場合、S518,S412では階調誤差E’を着目画素に格納しておけばよい。
S412終了後、拡大画像のx座標Rxに、ハーフトーンの処理単位であるMxを加算して(S414)、S426に進む。これにより、拡大画像のx座標RxがMx画素分x方向へ移動する。
以上の処理により、x方向へ2画素、y方向へ2画素の近隣する2×2画素を処理単位として、該処理単位毎に拡大画像の各画素の階調データがドットの形成有無により表現した階調データに変換される。このように、M画素(M≧2)を処理単位としてハーフトーン処理が行われるので、ハーフトーン処理を高速化させることができる。
一方、S406でフラグFx(Ry)〜Fx(Rx+Mx−1)のいずれかに1(”ON”)があった場合、x方向において階調データの繰り返し数の例外箇所であると判断したことになり、まず、拡大画像上で(Rx,Ry)の位置の画素を着目画素として、該着目画素の階調データをドットの形成有無により表現した階調データに階調数変換する(S416)。この処理では、図9のS506〜S514と同様の処理を行えばよい。すなわち、着目画素について階調値DAと拡散誤差Eを読み込んで上記式(1)により補正データCDを算出し(S506)、CD>th1またはCD≧th1か否かを判断し(S508)、条件成立時には着目画素について256階調の階調値を「ドットを形成する」階調値に階調数変換し(S510)、条件不成立時には着目画素について256階調の階調値を「ドットを形成しない」階調値に階調数変換して(S512)、着目画素で生じる階調誤差E’を上記式(2)により算出する(S514)。平均誤差最小法でも、同様の処理を行えばよい。
次に、着目画素の階調誤差E’を周辺の未変換画素に拡散する(S418)。平均誤差最小法の場合、S418では階調誤差E’を着目画素に格納しておけばよい。
さらに、拡大画像のx座標Rxに、ハーフトーンの処理単位である1を加算する(S420)。これにより、拡大画像のx座標Rxが1画素分x方向へ移動する。
そして、拡大画像上で(Rx,Ry)の位置からMx×My画素の階調データがRAM13に記憶されているMx×My画素の階調データと同じであるか否かを判断する(S422)。同じであれば、例外箇所以外でMx×My画素の処理単位のハーフトーン処理に戻してもMx×My画素の階調データの並びが変化することによる拡大画像の模様の変化が生じない。一方、Mx×My画素の階調データが記憶されているデータと違えば、Mx×My画素の処理単位のハーフトーン処理に戻すとMx×My画素の階調データの並びが変化することによる拡大画像の模様の変化が生じる可能性がある。そこで、条件成立時にはS424をスキップしてS426に進み、条件不成立時にはフラグFx(Rx)に1を代入して次にハーフトーン処理を行う対象のx座標RxでMx×My画素の処理単位のハーフトーン処理が行われないようにして(S424)、S426に進む。
S426では、x座標Rxが拡大画像のx方向の画素数Ax以上であるか否かを判断する。Rx<AxであればS406に戻り、Px≧Axであれば拡大画像のx方向の画素を全てハーフトーン化したと判定してS428に進む。S428では、拡大画像のx座標Rxを0に戻し、拡大画像のy座標Ryにハーフトーンの処理単位であるMyを加算して、S432に進む。これにより、x座標Rxがリセットされ、拡大画像のy座標RyがMy画素分y方向へ移動する。
一方、S404でフラグFx(Ry)〜Fx(Rx+Mx−1)のいずれかに1(”ON”)があると判断した場合、y方向において階調データの繰り返し数の例外箇所であると判断したことになり、図10に示す1ラインハーフトーン処理を行い(S430)、S432に進む。
上記1ラインハーフトーン処理を開始すると、まず、拡大画像上で(Rx,Ry)の位置の画素を着目画素として、該着目画素の階調データをドットの形成有無により表現した階調データに階調数変換する(S552)。この処理では、図9のS506〜S514と同様の処理を行えばよい。平均誤差最小法でも、同様の処理を行えばよい。
次に、着目画素の階調誤差E’を周辺の未変換画素に拡散する(S556)。平均誤差最小法の場合、S556では階調誤差E’を着目画素に格納しておけばよい。
さらに、拡大画像のx座標Rxに、ハーフトーンの処理単位である1を加算する(S556)。これにより、拡大画像のx座標Rxが1画素分x方向へ移動する。
そして、x座標Rxが拡大画像のx方向の画素数Ax以上であるか否かを判断する(S558)。Rx<AxであればS552に戻り、Px≧Axであれば拡大画像のx方向の画素を全てハーフトーン化したと判定してS560に進む。S560では、拡大画像のx座標Rxを0に戻し、拡大画像のy座標Ryにハーフトーンの処理単位である1を加算する。次に、拡大画像上で(Rx,Ry)の位置からMx×My画素の階調データがRAM13に記憶されているMx×My画素の階調データと同じであるか否かを判断する(S562)。同じであればS564をスキップしてフローを終了し、違っていればフラグFy(Ry)に1を代入して次にハーフトーン処理を行う対象のy座標RyでMx×My画素の処理単位のハーフトーン処理が行われないようにして(S564)、フローを終了する。1ラインハーフトーン処理を終了すると、図8のS432に進む。
S432では、y座標Ryが拡大画像のy方向の画素数Ay以上であるか否かを判断する。Ry<AyであればS404に戻り、Px≧Axであれば拡大画像のy方向の画素を全てハーフトーン化したと判定して処理単位可変ハーフトーン処理を終了する。
以上の処理により、拡大画像を構成する複数の画素のうち近隣するM画素を処理区分として該処理区分が階調データの繰り返し数の例外箇所であるか否かを判断し、判断結果に応じた処理単位で各画素の階調データをドットの形成有無により表現した階調データに階調数変換することができる。
ここで、ディザ状模様にした拡大前画像について非整数倍で拡大し、一律にM画素単位でハーフトーン処理を行うと、印刷対象の拡大画像が途中で縦横に模様が変わってしまい、縦横に線状のむらが発生してしまう。本実施形態では、拡大画像上で拡大前画像からの拡大の例外箇所に対して小さい処理単位でハーフトーン処理が行われるので、ハーフトーンの処理単位における複数画素の階調データの並びを合わせることができ、印刷画像に線状のむらが生じない。
なお、ハーフトーンデータは、二値化した2階調の二値データ以外にも、例えば、「大ドット形成」を階調値「3」、「中ドット形成」を階調値「2」、「小ドット形成」を階調値「1」、「ドット形成無し」を階調値「0」に多値化した4階調の多値データでもよい。
ハーフトーン処理が終了した後、ドット形成部により、ハーフトーンデータDA7に対して所定のインターレース処理(ラスタライズ処理)を行って画素をプリンタで使用される順番に並べ替え、CMYK毎のラスタデータDA8を生成する(図4のS114)。そして、ドット形成部により、ラスタデータDA8をプリンタ20に対して出力して(S116)、印刷制御処理を終了する。これにより、ドットの形成有無により表現した変換後の階調データに対応するドットをプリンタ20に形成させて、Ax×Ay画素の拡大画像を印刷させる制御を行う。
すると、プリンタ20は、ラスタデータDA8を入手し、当該ラスタデータに基づいて、RAM23に格納された選択情報に応じた主走査および副走査でCMYK拡大画像データDA6に対応するCMYKのインクの各ドットを形成し、印刷媒体M1上へ拡大画像IM1を印刷する。
主走査方向と副走査方向とで解像度が同じである場合、プリンタ20は、x方向の画素数とy方向の画素数とが同じ領域を正方形の領域にさせるように印刷媒体へ画像を形成する。拡大画像をハーフトーン化するMx×My画素の処理単位について、Mx=Myにすると、実際に印刷される拡大画像上でx方向とy方向の処理単位の大きさが同じ、すなわち、処理単位が正方形の領域となるので、印刷画像を高画質化させることが可能になる。なお、拡大前画像のNx×Ny画素の処理単位について、Nx=Nyにすると、実際に印刷される拡大画像上で処理単位が正方形の領域となるので、印刷画像を高画質化させることが可能になる。
本実施形態のように、Nx=Mx、Ny=Myであると、より確実にMx×My画素単位ハーフトーン処理による意図しない模様の出現を防ぐことができるので、拡大画像の画質をさらに向上させることが可能になる。
本発明では、拡大画像上で拡大前画像からの拡大の例外箇所に対して細かい処理単位でハーフトーン処理が行われるので、ハーフトーンの処理単位における複数画素の階調データの並びを合わせることができる。従って、画素単位でディザ状模様にした画像を非整数倍で拡大しても、印刷画像に線状のむらが発生せず、高品質の印刷画像を得ることが可能になる。
また、ブロック単位ハーフトーン処理による意図しない模様が現れないので、ブロック単位でハーフトーン処理を行う印刷制御装置で拡大画像の印刷品質を向上させることが可能になる。
(3)変形例:
本発明の印刷制御装置を含む印刷システムは、様々な構成が可能である。例えば、印刷装置は、コンピュータと一体化されたもの、単色画像のみ印刷する印刷装置、でもよい。上述したフローについては、一部または全部を印刷装置、専用の画像処理装置、外部のサーバ、等で実行してもよい。印刷装置がハーフトーン処理とラスタライズ処理を実行可能な装置であれば、色変換後の画像データをそのまま同印刷装置に出力すればよい。
色変換前の第一の色空間は、RGB色空間以外にも、YUV色空間、CMY色空間、第二の色空間とは異なるCMYK色空間、CIE L***色空間、CIE L***色空間、等でもよい。従って、色変換前の画像データは、R,G,Bの各色成分量からなるRGBデータ以外にも、YUVデータ、CMYデータ、CMYKデータ、L***色空間の各色成分量L*,a*,b*からなるLabデータ、L***色空間の各色成分量L*,u*,v*からなるLuvデータ、等でもよい。色変換後の第二の色空間は、CMYK色空間以外にも、CMY色空間、CMYLcLmK色空間(Lcはライトシアン、Lmはライトマゼンタ)、CMYRVK色空間(Rはレッド、Vはバイオレット)、等でもよい。
上記色変換情報は、色変換LUT以外にも、色変換前の複数の要素色に対応した階調データからインクの使用量に対応した階調データを求める関数を表す情報でもよい。
上記ハーフトーン処理では、階調数変換前の256階調の階調値と互いに大きさの異なる複数のドットの発生率との対応関係を規定したドット発生率情報を参照して階調数変換前の階調値を各大きさのドットの発生率を表す各値に変換し、該発生率を表す各値に対してブロック単位ハーフトーン処理を行って各大きさのドットの形成有無により表現した階調データを生成してもよい。
上記ブロック単位ハーフトーン処理を濃度パターン法により行ってもよく、この場合、例えば、Lxを1以上の整数、Lyを1以上の整数(ただし、LxとLyの少なくとも一方は2以上の整数)として、M画素を処理単位として該処理単位毎に階調数変換前の1画素をx方向へLx倍、y方向へLy倍に拡大して拡大画像の各画素の階調データを(Lx×Ly+1)階調に階調数変換してドットの形成有無により表現した階調データを生成すればよい。
上記ブロック単位ハーフトーン処理をディザ法により行ってもよく、この場合、ハーフトーンの処理単位であるMx×My画素(例えば4×4画素)のディザマトリクスを用意し、階調数変換前のブロックの階調値とディザマトリクスとを対比してドットの形成有無を判断することにより、拡大画像の各画素の階調データをドットの形成有無により表現した階調データに変換すればよい。
ハーフトーンの処理単位となるMx,Myは、拡大前画像の基本単位となるNx,Nyに対し、MxがNxの正の整数倍、MyがNxの正の整数倍となるようにしてもよい。例えば、Nx=Ny=2の場合、Mx=My=2とする以外にも、Mx=My=4、Mx=2かつMy=4、Mx=4かつMy=2としてもよい。また、Nx=2かつMy=1であればMx=4かつMy=1等でもよいし、Nx=1かつNy=2であればMx=1かつMy=4等でもよい。すると、Mx×My画素単位のブロック単位ハーフトーン処理による意図しない模様が現れないので、Mx×My画素単位でハーフトーン処理を行う印刷制御装置で拡大画像を高品質化させることができる。
また、図2で示した画像入力部U1や色変換部U3を備えていない印刷制御装置でも、本発明の基本的な作用、効果が得られる。
図16は、処理を簡素化した印刷制御装置が行う処理を示すフローチャートである。本印刷制御装置は、S602で画素毎に色成分C,M,Y,K毎の階調値からなるBx×By画素の拡大前画像を入力し、S604で印刷時の画像サイズを表すAx×Ay画素を取得する。次に、図5で示した解像度変換を行い、拡大前画像をAx×Ay画素の拡大画像まで拡大する(S606)。その後、色変換処理を行うことなく図8で示した処理単位可変ハーフトーン処理を行い、拡大画像の各画素の階調データをドットの形成有無により表現した階調データに変換する(S608)。そして、上記S114と同じインターレース処理を行い(S610)、上記S116と同様にしてラスタデータをプリンタ20へ送出して(S612)、印刷制御処理を終了する。
この場合でも、画素単位でディザ状模様にした画像を非整数倍で拡大したときに、印刷画像に線状のむらが生じず、高画質の印刷画像が得られる。
さらに、2×2画素で処理単位可変ハーフトーン処理を行う場合、図8S408のMx×My画素の階調データを記憶する処理を省略可能である。図17と図18は、変形例に係る処理単位可変ハーフトーン処理を示している。本変形例では、S408の処理を省略するとともに、S422でフラグFx(Rx−1)が0であるか否かを判断し、0である場合にS424でフラグFx(Rx+1)に1を代入するようにしている。また、図18のS562でフラグFy(Ry−1)が0であるか否かを判断し、0である場合にS564でフラグFy(Ry+1)に1を代入するようにしている。
図19の上段に示すような場合、S406で条件成立となるときにFx(Rx)=1、Fx(Rx+1)=0となる。なお、各画素P2の位置に対応させて処理区分を破線で区切ってあり、各処理区分にフラグの値を示している。この場合、S420でRxに1が加算された後、Fx(Rx−1)は1であるので、S422をスキップすることにより、解像度変換処理でフラグ”ON”になった拡大画像上の位置のみハーフトーンの処理単位が1画素となって、2×2画素の処理単位における階調データの並びが変わらない。
図19の下段に示すような場合、S406で条件成立となるときにFx(Rx)=0、Fx(Rx+1)=1となる。この場合、S420でRxに1が加算された後、Fx(Rx−1)は0であるので、S422でフラグFx(Rx−1)に1が代入される。次に、S406ではFx(Rx)=1、Fx(Rx+1)=1となって条件成立となり、S420でRxに1が加算された後、Fx(Rx−1)は1であるので、S422をスキップする。その次に、S406ではFx(Rx)=1、Fx(Rx+1)=0となって条件成立となり、S420でRxに1が加算された後、Fx(Rx−1)は1であるので、S422をスキップすることにより、解像度変換処理でフラグ”ON”になった拡大画像上の位置のみハーフトーンの処理単位が1画素となって、2×2画素の処理単位における階調データの並びが変わらない。
y方向についても、同様である。
本変形例では、2×2画素の階調データを記憶させて比較する処理を省略することができるので、ハーフトーンの処理速度を高速化させることができる。
なお、本発明は、上述した実施例や変形例に限られず、上述した実施例および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施例および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
以上説明したように、本発明によると、種々の態様により、画素単位でディザ状模様にした画像を非整数倍で拡大しても、ディザ状模様が規則的で印刷画像に線状のむらが発生せず、高品質の印刷画像を得ることが可能になる。
本発明の画像拡大処理を模式的に示す図。 本発明の一実施形態に係る印刷制御装置の構成を模式的に示すブロック図。 印刷制御装置を含む印刷システムの構成の概略を示すブロック図。 印刷制御装置が行う印刷制御処理を示すフローチャート。 印刷制御装置が行う解像度変換処理を示すフローチャート。 印刷制御装置が行うx方向フラグセット処理を示すフローチャート。 印刷制御装置が行うy方向フラグセット処理を示すフローチャート。 印刷制御装置が行う処理単位可変ハーフトーン処理を示すフローチャート。 印刷制御装置が行う着目ブロック変換処理を示すフローチャート。 印刷制御装置が行う1ラインハーフトーン処理を示すフローチャート。 ハーフトーンの処理単位の各種変形例を模式的に示す図。 拡大画像上で着目ブロックの位置を設定する様子を模式的に示す図。 誤差拡散を行いながら階調データを変換する様子を模式的に示す図。 画素の繰り返し数の例外箇所を判別してハーフトーンの処理単位を決定する様子を模式的に示す図。 画素の繰り返し数の例外箇所を判別してハーフトーンの処理単位を決定する様子を模式的に示す図。 変形例に係る印刷制御装置が行う印刷制御処理を示すフローチャート。 処理単位可変ハーフトーン処理の変形例を示すフローチャート。 1ラインハーフトーン処理の変形例を示すフローチャート。 フラグの値の変化と処理区分の位置を模式的に示す図。 ディザ状模様を有する画像を生成する様子を模式的に示す図。 比較例において、画像を2倍より大きい非整数倍で拡大する様子を示す図。 比較例において、画像を1倍より大きく2倍より小さい非整数倍で拡大する様子を示す図。 従来例において、APLで画像を拡大しプリンタドライバで印刷制御を行う処理を示すフローチャート。
符号の説明
10…パーソナルコンピュータ(PC)、13a…拡大前画像データ、13b…拡大画像データ、13c…例外箇所情報、14…ハードディスク(情報記録領域)、14b…画像拡大処理単位情報、14c…ハーフトーン処理単位情報、14d…色変換テーブル(色変換情報)、14e…閾値、20…インクジェットプリンタ(印刷装置)、B1…基本単位、B2〜B6…ハーフトーンの処理単位、B2b,B2d…例外箇所の処理単位、B11…ブロック(ハーフトーンの処理単位)、D1,D2,ID1,ID2…画像データ、I1…拡大前画像、I2…拡大画像、IM1…印刷画像、M1…印刷媒体、P1,P2…画素、U0…印刷制御装置、U1…画像入力部、U2…解像度変換部、U3…色変換部(色変換手段)、U5…ハーフトーン部(ハーフトーン手段)、U6…ドット形成部(印刷制御手段)、U7…情報記憶領域(情報記録領域)、U8…画像拡大部、U9…例外判別部(例外判別手段)、

Claims (8)

  1. 画素毎に階調データで表現した拡大前画像に対して拡大する処理を行って該処理後の拡大画像を印刷装置に印刷させる印刷制御装置であって、
    前記拡大前画像の拡大の際に前記拡大前画像の各画素の階調データを画素単位で繰り返して前記拡大画像の各画素を生成することにより、前記拡大画像を生成する画像拡大手段と、
    前記階調データの繰り返し状況に基づいて前記階調データの繰り返し数の例外箇所を判別する例外判別手段と、
    前記拡大画像を構成する複数の画素のうち近隣するM画素(Mは2以上の整数)を処理区分として該処理区分が前記例外箇所であるか否かを判断し、前記処理区分が前記例外箇所でないと判断したときには該処理区分の単位で各画素の階調データをドットの形成有無により表現した階調データに変換し、前記処理区分が前記例外箇所であると判断したときには該処理区分よりも少ない数の画素を単位として各画素の階調データをドットの形成有無により表現した階調データに変換するハーフトーン手段と、
    変換後のドットの形成有無により表現した各画素の階調データに基づいて該拡大画像を前記印刷装置に印刷させる制御を行う印刷制御手段とを備えることを特徴とする印刷制御装置。
  2. 前記画像拡大手段は、前記拡大前画像をK倍(K>1)に拡大する際、Kの小数点以下を切り捨てた値をKintとして、前記拡大前画像の各画素の階調データをKint回またはKint+1回繰り返して前記拡大画像の各画素を生成し、
    前記例外判別手段は、前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint+1回繰り返した位置、または、前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint回しか繰り返さなかった位置を前記例外箇所の位置と判別することを特徴とする請求項1に記載の印刷制御装置。
  3. 前記例外判別手段は、前記Kの小数点以下の値をKdecとし、このKdecに対する所定の閾値をTdec(0<Tdec<1)として、値Kdecが閾値Tdec以下またはより小である場合に前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint+1回繰り返した位置を前記例外箇所の位置と判別し、値Kdecが閾値Tdecより大または以上である場合に前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint回しか繰り返さなかった位置を前記例外箇所の位置と判別することを特徴とする請求項2に記載の印刷制御装置。
  4. 前記拡大前画像および前記拡大画像は、ともに、互いに異なるx方向とy方向とへそれぞれ画素を配列した画像とされ、
    前記拡大前画像は、Nxが1以上の整数、Nyが1以上の整数(ただし、NxとNyの少なくとも一方は2以上の整数)であるとして、前記x方向へNx画素、前記y方向へNy画素の近隣するNx×Ny画素を単位として該単位のNx×Ny画素の階調データの並びが繰り返されたデータを有する画像とされ、
    前記ハーフトーン手段は、MxがNxの正の整数倍、MyがNxの正の整数倍であるとして、前記x方向へMx画素、前記y方向へMy画素の近隣するMx×My画素を処理区分として該処理区分が前記例外箇所であるか否かを判断することを特徴とする請求項1〜請求項3のいずれかに記載の印刷制御装置。
  5. 前記印刷装置は、互いに異なる複数の色材を使用して印刷媒体上に画像を印刷する装置とされ、
    前記拡大前画像は、画素毎に第一の色空間の各色成分の大きさをそれぞれ階調値で表現した画像とされ、
    前記画像拡大手段は、前記第一の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大前画像の各画素の階調データを画素単位で繰り返して前記第一の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像の各画素を生成した後、該拡大画像を、画素毎に前記複数の色材の色に対応した第二の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像に変換し、
    前記ハーフトーン手段は、画素毎に前記第二の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像に対して前記処理区分が前記例外箇所であるか否かを判断し、前記処理区分が前記例外箇所でないと判断したときには該処理区分の単位で各画素の階調データを前記色材の色毎のドットの形成有無により表現した階調データに変換し、前記処理区分が前記例外箇所であると判断したときには該処理区分よりも少ない数の画素を単位として画素の階調データを前記色材の色毎のドットの形成有無により表現した階調データに変換することを特徴とする請求項4に記載の印刷制御装置。
  6. 前記x方向と前記y方向とは互いに直交し、前記Nx、前記Ny、前記Mx、前記Myはいずれも2とされるとともに、前記印刷装置にて印刷される拡大画像で前記Mx×My画素は正方形の領域とされ、
    前記画像拡大手段は、前記第一の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大前画像をK倍(K>1)に拡大する際、Kの小数点以下を切り捨てた値をKintとして、前記拡大前画像の各画素の階調データを画素単位でKint回またはKint+1回繰り返して前記拡大画像の各画素を生成することにより、前記第一の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像を生成した後、前記第一の色空間と前記第二の色空間との対応関係を複数の参照点にて規定した色変換情報を参照することにより、画素毎に前記第一の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像を、画素毎に前記第二の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像に変換し、
    前記例外判別手段は、前記Kの小数点以下の値をKdecとし、このKdecに対する所定の閾値をTdec(0<Tdec<1)として、値Kdecが閾値Tdec以下またはより小である場合に前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint+1回繰り返した位置を前記例外箇所の位置と判別し、値Kdecが閾値Tdecより大または以上である場合に前記拡大画像の位置であって前記拡大前画像の各画素の階調データをKint回しか繰り返さなかった位置を前記例外箇所の位置と判別し、
    前記ハーフトーン手段は、画素毎に前記第二の色空間の各色成分の大きさをそれぞれ階調値で表現した拡大画像を構成する複数の画素のうち近隣する2×2画素を処理区分として該処理区分が前記例外箇所であるか否かを判断し、前記処理区分が前記例外箇所でないと判断したときには該処理区分の単位で各画素の階調データを前記色材の色毎のドットの形成有無により表現した階調データに変換し、前記処理区分が前記例外箇所であると判断したときには画素単位で画素の階調データを前記色材の色毎のドットの形成有無により表現した階調データに変換することを特徴とする請求項5に記載の印刷制御装置。
  7. 画素毎に階調データで表現した拡大前画像に対して拡大する処理を行って該処理後の拡大画像を印刷装置に印刷させる印刷制御方法であって、
    前記拡大前画像の拡大の際に前記拡大前画像の各画素の階調データを画素単位で繰り返して前記拡大画像の各画素を生成することにより、前記拡大画像を生成する画像拡大工程と、
    前記階調データの繰り返し状況に基づいて前記階調データの繰り返し数の例外箇所を判別する例外判別工程と、
    前記拡大画像を構成する複数の画素のうち近隣するM画素(Mは2以上の整数)を処理区分として該処理区分が前記例外箇所であるか否かを判断し、前記処理区分が前記例外箇所でないと判断したときには該処理区分の単位で各画素の階調データをドットの形成有無により表現した階調データに変換し、前記処理区分が前記例外箇所であると判断したときには該処理区分よりも少ない数の画素を単位として画素の階調データをドットの形成有無により表現した階調データに変換するハーフトーン工程と、
    変換後のドットの形成有無により表現した各画素の階調データに基づいて該拡大画像を前記印刷装置に印刷させる制御を行う印刷制御工程とを備えることを特徴とする印刷制御方法。
  8. 画素毎に階調データで表現した拡大前画像に対して拡大する処理を行って該処理後の拡大画像を印刷装置に印刷させる機能をコンピュータに実現させる印刷制御プログラムであって、
    前記拡大前画像の拡大の際に前記拡大前画像の各画素の階調データを画素単位で繰り返して前記拡大画像の各画素を生成することにより、前記拡大画像を生成する画像拡大機能と、
    前記階調データの繰り返し状況に基づいて前記階調データの繰り返し数の例外箇所を判別する例外判別機能と、
    前記拡大画像を構成する複数の画素のうち近隣するM画素(Mは2以上の整数)を処理区分として該処理区分が前記例外箇所であるか否かを判断し、前記処理区分が前記例外箇所でないと判断したときには該処理区分の単位で各画素の階調データをドットの形成有無により表現した階調データに変換し、前記処理区分が前記例外箇所であると判断したときには該処理区分よりも少ない数の画素を単位として画素の階調データをドットの形成有無により表現した階調データに変換するハーフトーン機能と、
    変換後のドットの形成有無により表現した各画素の階調データに基づいて該拡大画像を前記印刷装置に印刷させる制御を行う印刷制御機能とを実現させることを特徴とする印刷制御プログラム。
JP2006004822A 2006-01-12 2006-01-12 印刷制御装置、印刷制御方法および印刷制御プログラム Pending JP2007188219A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006004822A JP2007188219A (ja) 2006-01-12 2006-01-12 印刷制御装置、印刷制御方法および印刷制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006004822A JP2007188219A (ja) 2006-01-12 2006-01-12 印刷制御装置、印刷制御方法および印刷制御プログラム

Publications (1)

Publication Number Publication Date
JP2007188219A true JP2007188219A (ja) 2007-07-26

Family

ID=38343358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006004822A Pending JP2007188219A (ja) 2006-01-12 2006-01-12 印刷制御装置、印刷制御方法および印刷制御プログラム

Country Status (1)

Country Link
JP (1) JP2007188219A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011193230A (ja) * 2010-03-15 2011-09-29 Brother Industries Ltd 画像処理プログラム及び画像処理装置
JP2011251531A (ja) * 2010-06-02 2011-12-15 Toshiba Corp 画像階調処理装置、画像形成装置、画像階調処理方法
US8456708B2 (en) 2010-03-15 2013-06-04 Brother Kogyo Kabushiki Kaisha Image processing device performing color conversion and producing scaled image
US8599430B2 (en) 2010-03-15 2013-12-03 Brother Kogyo Kabushiki Kaisha Image processing device producing reduced image

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011193230A (ja) * 2010-03-15 2011-09-29 Brother Industries Ltd 画像処理プログラム及び画像処理装置
US8456708B2 (en) 2010-03-15 2013-06-04 Brother Kogyo Kabushiki Kaisha Image processing device performing color conversion and producing scaled image
US8599430B2 (en) 2010-03-15 2013-12-03 Brother Kogyo Kabushiki Kaisha Image processing device producing reduced image
US8643904B2 (en) 2010-03-15 2014-02-04 Brother Kogyo Kabushiki Kaisha Image processing device selecting halftone method for each set of pixel data of image data
JP2011251531A (ja) * 2010-06-02 2011-12-15 Toshiba Corp 画像階調処理装置、画像形成装置、画像階調処理方法

Similar Documents

Publication Publication Date Title
KR20180087842A (ko) 화상 처리 장치 및 그 제어 방법
JP2012034032A (ja) 画像処理装置および画像処理方法
US6873440B2 (en) Multibit screening of print documents in a PDL environment
JP2007188219A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP4340861B2 (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP2006346997A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
US20060227380A1 (en) Color error diffusion
US8254002B2 (en) Screen generating apparatus, screen generating method, and image processing apparatus
JP2011124969A (ja) 画像処理コントローラー及び印刷装置
JPWO2004086749A1 (ja) 画像出力制御システム、画像処理装置およびその方法
US7061645B2 (en) Non-segmentation, individual pixel-by-pixel-based image rendering system
JP2007188218A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP2006229810A (ja) 複数画素ずつコード化しながら画像を出力する画像出力システム
JP2017200003A (ja) 閾値マトリクス生成装置、閾値マトリクス生成方法およびプログラム
JP2012050062A (ja) 画像処理装置、画像処理方法及びプログラム
JP4085265B2 (ja) 印刷制御装置および印刷制御方法
JP2011055395A (ja) 白色インクを含む複数色のインクを用いた印刷
JP3883056B2 (ja) 画像処理装置、画像処理方法、印刷装置、画像処理プログラムおよび画像処理プログラムを記録した媒体
JP2005295131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP5342357B2 (ja) 画像データ作成装置および画像データ作成方法
JP2004297451A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP2005278072A (ja) 補間処理装置、補間処理方法および補間処理プログラム
JP2005269131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2005065147A (ja) 画像処理装置、画像処理システム、圧縮画像処理用データ生成装置、画像処理方法、圧縮画像処理用データ生成方法および画像処理プログラム
JP4069385B2 (ja) 画像処理装置および画像処理方法