〔実施の形態1〕
本発明の一実施形態について図面に基づいて説明すると以下の通りである。
図2は、本発明の一実施形態に係るカラー画像処理装置を含んだ画像形成装置(デジタルカラー複写機)4の構成を示すブロック図である。
図2に示すように、カラー画像処理装置1には、カラー画像入力装置2、カラー画像出力装置3および操作パネル5が接続され、全体として画像形成装置4を構成している。なお、以下では、カラー画像入力装置2を画像入力装置2と称し、カラー画像処理装置1を画像処理装置1と称し、カラー画像出力装置3を画像出力装置3と称する。
また、画像処理装置1は、A/D変換部11、シェーディング補正部12、入力階調補正部13、領域分離処理部14、色補正部15、空間フィルタ処理部16、出力階調補正部17、及び階調再現処理部18を含む構成である。
操作パネル5は、例えば液晶ディスプレイなどの表示部と画像形成装置4全体の動作等を制御する設定ボタン(例えば、コピーを行う原稿種別を表す画像モード(文字モード・文字写真モード・写真モード等)を設定)等から構成される。
画像入力装置(画像読取手段)2は、例えばCCD(Charge Coupled Device )を備えたスキャナ部より構成され、原稿からの反射光像を、RGB(R:赤,G:緑,B:青)のアナログ信号としてCCDにて読み取って、画像処理装置1に入力するものである。
画像入力装置2にて読み取られたアナログ信号は、画像処理装置1内を、A/D変換部11、シェーディング補正部12、入力階調補正部13、領域分離処理部14、色補正部15、空間フィルタ処理部16、出力階調補正部17、及び階調再現処理部18の順で送られ、CMYK(C:シアン,M:マゼンタ,Y:イエロー,K:黒)のデジタルカラー信号として、画像出力装置3へ出力される。
A/D(アナログ/デジタル)変換部11は、RGBのアナログ信号をデジタル信号に変換するもので、シェーディング補正部12は、A/D変換部11より送られてきたデジタルのRGB信号に対して、画像入力装置2の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を施すものである。
入力階調補正部13は、シェーディング補正部12にて各種の歪みが取り除かれたRGB信号(RGBの反射率信号)に対して、カラーバランスを整えると同時に、濃度信号などカラー画像処理装置1に採用されている画像処理システムの扱い易い信号に変換する処理を施すものである。
領域分離処理部14は、入力したRGB信号より、入力画像中の各画素を文字領域、網点領域、写真領域の何れかに分離するものである。領域分離処理部14は、分離結果に基づき、画素がどの領域に属しているかを示す領域識別信号(領域識別情報)を、色補正部15、空間フィルタ処理部16、及び階調再現処理部18へと出力すると共に、入力階調補正部13より入力したRGB信号をそのまま後段の色補正部15に出力する。
色補正部15は、色再現の忠実化実現のために、不要吸収成分を含むCMY(C:シアン・M:マゼンタ・Y:イエロー)色材の分光特性に基づいた色濁りを取り除く処理を行うと共に墨生成・下色除去処理を行うものである。本実施形態においては、RGB信号より、CMY信号に変換する際に補間方法を変更することなく、なおかつ、複雑なアドレス計算をする必要もなく、さらに、メモリの削減を図りながら、色補正を行うことができる。詳細については、後述する。
空間フィルタ処理部16は、色補正部15より入力されるCMYK信号の画像データに対して、領域識別信号を基にデジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正することによって出力画像のぼやけや粒状性劣化を防ぐように処理するものであって、階調再現処理部18も、空間フィルタ処理部16と同様に、CMYK信号の画像データに対して、領域識別信号を基に所定の処理を施すものである。
例えば、領域分離処理部14にて文字に分離された領域は、特に黒文字或いは色文字の再現性を高めるために、空間フィルタ処理部16による空間フィルタ処理における鮮鋭強調処理で高周波数の強調量が大きくされる。同時に、階調再現処理部18においては、高域周波数の再現に適した高解像度のスクリーンでの二値化または多値化処理が選択される。
また、領域分離処理部14にて網点に分離された領域に関しては、空間フィルタ処理部16において、入力網点成分を除去するためのローパス・フィルタ処理が施される。そして、出力階調補正部17では、濃度信号などの信号をカラー画像出力装置3の特性値である網点面積率に変換する出力階調補正処理を行った後、階調再現処理部18で、最終的に画像を画素に分離してそれぞれの階調を再現できるように処理する階調再現処理(中間調生成)が施される。領域分離処理部14にて写真に分離された領域に関しては、階調再現性を重視したスクリーンでの二値化または多値化処理が行われる。
上述した各処理が施された画像データは、一旦記憶手段に記憶され、所定のタイミングで読み出されて画像出力装置3に入力される。
画像出力装置3は、画像データを記録媒体(例えば紙等)上に出力するもので、例えば、電子写真方式やインクジェット方式を用いたカラー画像出力装置等を挙げることができるが特に限定されるものではない。尚、以上の処理は不図示のCPU(Central Processing Unit)により制御される。
次に、図3を参照しながら、色補正部15に関して詳細に説明する。図3に示されるように、色補正部15は、色変換部(色変換手段)201と黒生成・下色除去部202とからなる。
色変換部201は、入力したRGBの画像データを補間演算によってCMYの画像データに変換し、このCMYの画像データを黒生成・下色除去部202へ出力するブロックである。黒生成・下色除去部202は、色変換部201から入力されたCMY信号からK信号を算出すると共に下色除去処理を施して、空間フィルタ処理部16へCMYK信号(第2の表色系よりなる画像データ)を送るブロックで
ある。
色変換部201が行う補間演算の方法としては、4点補間(四面体補間)や8点補間、6点補間等がある。
以下では、四面体補間の方法について説明する。四面体補間は、図5に示すように、3つの座標軸から形成される色空間において、8つの格子点からなる正方形の単位格子Aを各座標軸に沿って複数設定し、当該単位格子Aを複数の四面体に分割する(図4参照)。その後、入力した画像データの値の大小によって当該値が上記色空間のうちのいずれの単位格子Aに属するかを判定した後、その単位格子Aに含まれるいずれかの四面体を選択し、選択された四面体の4つの頂点(格子点)の値と、入力画像データの下位ビットによって計算された重み付けとの積和を算出し、算出した値を出力画像データ(補間値)とする。なお、上記単位格子Aから四面体を分割する方法としては、デバイスの入出力空間の非線形性の特性や記憶したい軸を考慮して決定されており、数種類の分割方法が知られている。
図4は、その分割方法の一例を示したものである。RGBの色空間の場合は、グレー軸(PK(0,0,0)とPW(1,1,1)を結ぶ軸)が対角線上となり、グレー軸を記憶することで、K成分の連続性を保つことができるため、画質が落ちないというメリットがある。
図4に示した分割方法では、RGBの各画像データの大小により、PKおよびPW以外に、PR,PB,PC,PM,PY,PG,のなかから、第1の表色系(一次色:R,G,B)の点PPとして一点、第2の表色系(二次色:C,M,Y)の点PSとして一点が選択される。これにより、RGBの各画像データの大小により、図4(b)から図4(g)のいずれかの四面体が選択されることになる。例えば、入力画像データがR>G>Bの場合、図4(b)に示したように、点PPとして点PRが、点PSとして点PYが選択され、点PK,PW,PR,PYを頂点とする四面体T1が選択される。
次に、入力画像データの座標P(x,y,z)の上記単位格子Aに対する相対位置が計算される。図6に示すように、立方体の頂点座標をPK(x0,y0,z0)、PR(x1,y0,z0)、PG(x0,y1,z0)、PB(x0,y0,z1)、PC(x0,y1,z1)、PM(x1,y0,z1)、PY(x1,y1,z0)、PW(x1,y1,z1)とすると、入力画像データの下位ビットから、座標Pにおける各々の値の格子幅(単位格子Aの幅)に対する比率(分数部)fR,fG,fBが以下の式(1)により計算される。
また、選択される四面体と、その重み付けの関係は、表1で表される。
最終的な補間結果Pは、次式(2)により算出される。
P=bK×PK+bP×PP+bS×PS+bW×PW …(2)
ここで、(2)式において、PPは、点PPに対応する画像データを、PSは、点Psに対応する画像データを、PKは、点Pkに対応する画像データを、Pwは、点Pwに対応する画像データを表している。また、bK,bW,bP,bSは、それぞれ点PK(K)、PW(W)、PP(一次色)、PS(二次色)の重み付けを示し、それらの積和演算から補間結果Pが求められる。一般的に、以上のようにして四面体補間が行われる。
本実施形態においては、補間演算として、上述したようなグレー軸を記憶して四面体補間を行うものとして説明するが、これに限られるものではない。例えば、8点補間をおこなってもよい。なお、四面体は3次元空間を形成する最小の立体であり、一度にアクセスする格子点数が4つであることから、計算コストが少なくてすむというメリットがある反面、色空間を細かく分割するために、色空間境界での不連続さが生じる虞もある。したがって、いずれの補間方法を採用するかは、計算コスト、精度、デバイス特性などを考慮し、慎重に決定する必要がある。
つぎに、補間演算において用いられる色空間について説明する。従来から、3次元補間に用いられる色空間は、立方体形状もしくは直方体形状になっている場合が多い。そのため、補間演算を行うにあたり、演算用のメモリには、上記立方体形状もしくは直方体形状の色空間に含まれる全格子点の各々のデータを展開させておく事が一般的である。
しかし、通常、補間演算においては、色空間に含まれる全ての格子点のデータが必要になるわけではなく、また、補間演算に必要な格子点は処理対象の画像によって異なる。この点について図7に基づいて以下説明する。
図7は、画像と、RGB色空間における当該画像の画像データの分布範囲(画像の色域)とを示したものである。図7における画像Aは、空や水などの青色が多い画像であり、RGB色空間における画像Aのデータ分布は、B(青)の座標軸に偏っている傾向にある。また、画像Bは、植物等の緑が多い画像であり、RGB色空間における画像Bのデータ分布は、G(緑)の座標軸に偏っている傾向にある。このように、入力画像によって画像データの分布が異なるため、補間演算において必要となってくる格子点も入力画像によって大きく異なることになる。
そこで、本実施形態における色変換部201では、RGBの色空間において、入力画像データの色域(入力画像データの分布範囲)を検出し、当該色域に含まれる点(画像データ)を補間によって生成するのに必要な格子点のデータを演算用のメモリに展開し、メモリに展開されているデータを参照して補間演算を行うようにする。このようにすれば、RGBの色空間における全格子点のデータを演算用メモリに展開している構成よりも、補間演算に割り当てるメモリ容量を削減することができ、削減したメモリ容量を画像処理装置1において実行される他の処理に割り当てることができるため、画像処理装置1全体の性能(処理速度等)を向上させることができる。
以下では、このような色変換部201の詳細を図1に基づいて説明する。色変換部201は、図1に示すように、重み付け計算部301、座標値算出部302、アドレス計算部303、メモリ304、補間演算部305、色域選択部306、LUT書込部307、位置情報変更部308、色空間記憶部309を含む構成である。また、メモリ304には、データの書き換え可能なLUT304aが含まれており、後述する位置情報304bが書き込まれている。
色空間記憶部309は、RGBの色空間(図5に示すような色空間)と、当該色空間に設定されている格子点に対応するCMYの画像データとを記憶する不揮発性の記憶装置である。なお、本実施形態において、上記RGBの色空間(第1表色系の色空間)の各座標軸の値は各々0〜255であり、一つの座標軸の方向に沿って設定されている単位格子の数は16、つまり、一つの座標軸の方向に沿って17個の格子点が設定されているものとする(図5参照)。すなわち、この色空間に含まれる全格子点の数は17×17×17=4913である。
色域選択部(領域選択手段)306は、入力したRGBの画像データ(第1表色系の画像データ)に基づき、上記RGBの色空間のなかから入力画像の色域を選択し、この色域に基づいて、入力画像に対応する各格子点の分布領域を選択する処理を行うブロックである。ここで、上記分布領域とは、入力画像の色域内のデータを補間演算によって生成するのに必要な格子点が分布している領域を意味し、RGBの色空間よりも狭い領域であって、入力画像の色域と当該色域周囲近傍とを合わせた領域である。
LUT書込部(データ変更手段)307は、色域選択部306によって選択された分布領域に含まれる各格子点に対応するCMYの画像データ(第2表色系の画像データ)を色空間記憶部309から読み出してLUT304aに上書するブロックである。したがって、LUT書込部307は、LUT304aに書き込まれているCMYの画像データを、上記分布領域に含まれる格子点のCMYの画像データに変更していることになる。
より具体的に説明すると、LUT書込部(データ変更手段)307は、RGBの色空間内の全格子点のデータをLUT304aに書き込むのではなく、入力画像の色域と当該色域周囲近傍とを合わせた領域内の全格子点のデータをLUT304aに書き込む。
位置情報変更部(位置情報変更手段)308は、色域選択部306に選択された分布領域に含まれる各格子点についての上記RGBの色空間内の位置に関する位置情報を生成し、当該位置情報をメモリ304に上書するブロックである。つまり、位置情報変更部308は、メモリ304に書き込まれている位置情報304bの内容を、上記入力画像の色域に含まれる各格子点の位置に関する内容に変更していることになる。
以下では、これら色域選択部306,LUT書込部307,位置情報変更部308において実行される処理の流れについて図8のフローチャートに基づいて説明する。
まず、色域選択部306にRGBの画像データ(入力画像を示すデータ)が入力され(S1101)、当該画像データを画像処理装置1の処理能力に合わせた画像サイズまでダウンサンプリングする(S1102)。但し、S1102のダウンサンプリングは必ずしも必要ではない。
その後、色域選択部306は、ダウンサンプリングした画像データに基づき、RGBの色空間のなかから入力画像の色域を選択する(S1103)。このS1103の処理の詳細について以下具体的に説明する。
まず、RGBの色空間に設定される単位格子の数に応じて入力画像データをビットシフトさせる必要がある。例えば、上記画像データがmビットのデータであり、上記色空間における一つの座標軸に沿った方向の単位格子数が2n(m>n)だとすると、mビットの画像データのうちの上位nビットによって上記色空間においての上記画像データに対応する格子点の位置を表現できるため、当該画像データをm−nビットだけビットシフトさせる。つまり、mビットの画像データの集合RGBdataに対応する上記格子点の集合RGBindexは、以下に示す式(3)で表現することができる。
RGBindex=RGBdata>>m−n(m−nビット右シフト) ・・・(3)
つまり、色域選択部306は、RGBdataを入力画像の色域として求め、さらに、RGBdataからRGBindexを求めている。ここで、求めたRGBdataが、入力画像に対応する各格子点の分布領域に相当する。
つぎに、RGBindexにおける全格子点において、緑(G)の値が互いに共通する各格子点を一つのグループとし、当該グループにおける赤(R)および青(B)の分布、つまり、当該グループに含まれる全格子点おけるこの二つの色の最大値と最小値を求める(S1104)。なお、このS1104の処理は、全ての緑(G)の値について行われる。また、S1104の処理は、以下に示す式(4)によって実現される。
when Gindex=a
Rindex_max=max(Rindex)
Bindex_max=max(Bindex) ・・・(4)
Rindex_min=min(Rindex)
Bindex_min=min(Bindex)
つまり、Gindex=aのRB平面上においてのRindex_max,Bindex_max,Rindex_min,Bindex_minに囲まれた領域が、入力画像に対応する各格子点の分布領域の一部に相当する。そして、LUT書込部307は、RB平面上のRindex_max,Bindex_max,Rindex_min,Bindex_minに囲まれた領域に含まれる全格子点を入力画像に対応する格子点として特定し、特定した格子点のCMYの画像データを色空間記憶部309から読み出してLUT304aに書き込む処理を行う。また、LUT書込部307は、この処理を全てのGindexについて行う。
さらに、位置情報変更部308が、各Gindexの値毎に、RB平面上においての格子点の開始点(スタートアドレス)と分布幅とを求める(S1105)。なお、上記開始点を[stpnt_R,stpnt_B]、上記分布幅を[width_R,width_B]とすると、
stpnt_R=Rindex_min
stpnt_B=Bindex_min
width_R=Rindex_max−Rindex_min
width_B=Bindex_max−Bindex_min
である。
ここで、位置情報変更部308は、各Gindexの値毎に求めたstpnt_R、stpnt_B、width_R、width_Bを、色域選択部306によって選択された分布領域に含まれる各格子点の位置(RGBの色空間内における位置)に関する位置情報304bとして、メモリ304に書き込んでいる。なお、この位置情報304bについては後で詳述する。
図9は、S1104を実行することによって得られた、Gindexの値毎のRB平面上におけるRindex_max,Bindex_max,Rindex_min,Bindex_minに囲まれた領域(つまり、入力画像に対応する各格子点の分布領域)を示した模式図である。また、図9に示した画像Aおよび画像Bについて、上記した位置情報304bの例を以下の表2に示す。
表2においては、画像A、画像Bの各々について、各Gindexの値毎に、RB平面上においての格子点の開始点と分布幅とが示されている。表2の内容を検討すると、画像Aの総格子点数は1880になり、画像Bの総格子点数は1479になり、各々補間処理において必要とされる格子点数が異なることがわかる。なお、表2において、比率は、全格子点数4913に対する割合を示している。
また、以上では、各Gindexの値毎にRindex_max,Bindex_max,Rindex_min,Bindex_minを求めることによって、入力画像に対応する各格子点を特定しているが、各Bindexの値毎にRindex_max,Gindex_max,Rindex_min,Gindex_minを求める手順や、各Rindexの値毎にBindex_max,Gindex_max,Bindex_min,Gindex_minを求める手順であってもよい。
座標値算出部302は、四面体補間を行う際に用いられる各格子点を選択し、選択した各格子点の座標値を求めるためのものである。座標値算出部302は、色変換部201に入力されてくるRGBの画像データにおけるRGBの大小関係を判定し、該大小関係を基に、上記表1に従って、四面体の各頂点であるPP,PS,PK,PWを選択する。そして、選択したPP,PS,PK,PWのRGB色空間における座標値を算出し、後段のアドレス計算部303に出力する。つまり、座標値算出部302は、入力したRGBの画像データに対応するPP,PS,PK,PWの座標値をアドレス計算部303に出力している。
なお、座標値算出部302が上記表1に示される情報を利用する方法としては、次のような方法がある。例えば、表1に例示されるように、各R,G,B信号の大小関係と、四面体頂点との対応関係を示す四面体情報を格納するメモリが、座標値算出部302に備えられており、座標値算出部302が、該メモリに格納された該四面体情報を読み出すことで、四面体頂点PP,PS,PK,PWを選択してもよい。あるいは、座標値算出部302は、各R,G,B信号の大小関係に従って四面体頂点を選択するプログラムを利用してもよい。
また、座標値算出部302は、選択したPP,PS,PK,PWの座標値を、次のようにして算出する。
点PKは、図4で示されるように、入力画像データが属する四面体の各頂点のなかで、最も小さい座標値をもつ点である。そして、本実施形態では、RGB色空間は、0〜255の値を持つ各軸に沿った方向に16個の単位格子を設定した空間であり、0〜16の座標値によって各格子点の位置が特定される。
したがって、座標値算出部302は、0〜255の値をとり得る入力画像データの上位4ビットを用いて点PKの座標値を決定することができる。入力画像データ(R,G,B)を(invec[0],invec[1],invec[2])とすると、座標値算出部302は、次式(5)を用いて、点PKの座標値(ivec[0],ivec[1],ivec[2])を計算する。
ivec=invec>>4(4ビット右シフト) ・・・(5)
座標値算出部302は、上記のようにして求めた点PKの座標値を基にして、残りの3点(PS,PK,PW)の座標値を算出する。すなわち、図4(a)で示されるように、点PWの座標値は、点PKの座標値における各値に1を加えたものとなり、点PRの座標値は、点PKの座標値におけるR値に1を加えたものとなり、点PGの座標値は、点PKの座標値におけるG値に1を加えたものとなり、点PBの座標値は、点PKの座標値におけるB値に1を加えたものとなり、点PCの座標値は、点PKの座標値におけるG値とB値との各々に1を加えたものとなり、点PMの座標値は、点PKの座標値におけるR値とB値との各々に1を加えたものとなり、点PYの座標値は、点PKの座標値におけるRとG値の各々に1を加えたものとなる。
したがって、座標値算出部302は、PK格子の座標値(ivec[0],ivec[1],ivec[2])の各値に1を加えて、PWの座標値(ivec[0]+1,ivec[1]+1,ivec[2]+1)を計算する。同様にして、座標値算出部302は、PK格子の座標値を基に、点PP、点PSとして選択した点の座標値を計算する。
以上のように、座標値算出部302は、RGB信号の各R,G,B信号の大小関係を基に、点PP、点PSを選択し、点PK,PW,PP,PSの座標値を計算して、後段のアドレス計算部303へと出力する。
アドレス計算部303は、色変換部201に入力されたRGBの画像データに対応する格子点のCMYの画像データをLUT304aから読み出し、読み出したCMYの画像データを補間演算部305に引き渡すブロックである。
より具体的に説明すると、アドレス計算部303は、座標値算出部302から出力された4点の格子点(入力したRGBの画像データに対応する格子点)の座標値と上述した位置情報304bとに基づいて、LUT304aにアクセスすべきアドレスを算出し、LUT304aにアクセスして、該アドレスに記憶されているCMYの画像データ(つまり、格子点PK,PW,PP,PSに対応するCMYの画像データ)を読み出して、補間演算部305に引き渡すためのものである。アドレス計算部303のアドレス計算方法については、後で詳細に説明する。
重み付け計算部301は、補間演算部305が補間演算を行う際に用いられ、かつ、入力画像データに対応する重み付けを算出し、補間演算部305に送るためのものである。重み付け計算部301は、色変換部201に入力されてくるRGBの画像データに基づいて上記分数部fR、fG,fBを、上記式(1)に従って計算する。さらに、重み付け計算部301は、R,G,B各信号の大小関係を判定し、算出した分数部fR、fG,fBおよび表1を基にして、重み付け係数bk,bW,bP,bSを決定する。重み付け計算部301は、決定した重み付け係数bk,bW,bP,bSを補間演算部305に渡す。
補間演算部(補間手段)305は、LUT304aから読み出されたCMYの画像データに基づいて補間処理を行うことによって、色変換部201に入力されたRGBの画像データに対応するCMYの画像データを出力するものである。
より具体的に説明すると、補間演算部305は、重み付け計算部301から入力された重み付け係数と、LUT304aから読み出されたCMYの画像データとを基に、補間演算を行う。具体的に、上記式(2)のPK,PW,PP,PSに、各々の点に対応するCMYの画像データを代入することによって四面体補間演算を行う。補間演算部305は、演算結果Pを、色変換部201に入力されたRGBの画像データに対応するCMYの画像データとして、後段の黒生成・下色除去部202に出力する。
以上の構成によれば、補間演算部305は、LUT304aから読み出されたデータに基づいて補間処理を行うことになるが、当該LUT304aには、RGBの色空間に含まれる全格子点のデータが書き込まれているのではなく、入力画像の色域に含まれる点(画像データ)を補間演算によって生成できるように、入力画像に対応する格子点の分布領域内のデータが書き込まれている(つまり、入力画像の色域内の格子点と当該色域周囲近傍の格子点のデータとが書き込まれている)。
それゆえ、入力画像毎に、当該入力画像を補間するにあたって不必要な格子点のデータをLUT304aから除外することが可能になり、一定数の格子点のデータが書き込まれているメモリを参照して補間処理を行っている構成よりも、メモリ容量を節約でき、これに伴い、画像処理装置1の処理能力(演算速度等)の改善を図ることが可能になる。
また、入力画像に対応する格子点は、上記入力画像の色域内および色域周囲近傍に位置し、それ以外の格子点は補間処理に不要である。それゆえ、上記構成のように、上記入力画像の色域に基づいて上記入力画像に対応する格子点の分布領域を選択すれば、補間処理に不必要な格子点のデータを上記メモリから除外することが容易になる。
つぎに、入力画像に対応する格子点の分布領域に含まれる各格子点のCMYの画像データがLUT304aにおいてどのように書き込まれているのかについて説明する。
図10に示すように、LUTは、G=0、16、…255の順に、各G値におけるRB平面領域に含まれる格子点に対応するCMY信号データを記憶する。また、各G値の中では、R=0、16、…255の順で、格子点に対応するCMY信号データを記憶している。さらに、各R値の中では、B=0、16、…255の順で、格子点に対応するCMY信号データを記憶しているような構成をとる。図10は、すべての格子点を記憶していた従来法のLUTに格納に対する一例である。図11は、本実施形態において、入力画像に対応する各格子点の分布領域に含まれる格子点のみを、LUT304aが記憶する場合の一例である。図11で示されるように、本実施形態におけるLUT304aは、アドレス計算部303のアクセスを容易にするために、アドレス0〜2735に対応するデータを線形に格納している。
つぎに、アドレス計算部303におけるアドレス算出の方法について説明する。
表2に示すように、位置情報変更部308によって生成されてメモリ304に書き込まれている位置情報304bは、入力画像に対応する各格子点の分布領域に含まれる全格子点の位置(RGBの色空間内における位置)に関する情報であって、G値毎の各RB平面における格子点の開始点[stpnt_R,stpnt_B]、RB平面における分布幅[width_R,width_B]で定義されている。つまり、当該位置情報は、各RB平面に対して、R方向とB方向の分布範囲の開始点と、R方向とB方向の格子点の分布幅を示している。また、当該位置情報304bにおいて示される各格子点に対応するCMYの画像データは、LUT304aに書き込まれている。
例えば、表2に示す画像Aの位置情報について、G=80のときのRB平面に注目すると、開始点はR方向が1、B方向が1であるため、格子点はR=16、B=16の点から、各格子点に対応するCMY画像データがLUT304aに書き込まれている。また、R方向の分布幅が13、B方向の分布幅が11であるため、LUT304aは、それぞれR=208、G=176の格子点まで、CMY信号データを記憶している。
メモリ304が上記した位置情報304bを記憶することにより、アドレス計算部303がLUT304aへアクセスする際にも、アドレス計算が容易となるメリットがある。
つぎに、位置情報304bを用いたアドレス計算部303のアドレス計算の方法について詳細に説明する。
アドレス計算部(読み出し手段)303は、上述したように、座標値算出部302から、四面体頂点である各格子点の座標値を取得する。例えば、入力画像データのRGB信号の大小関係がR>G>Bの場合、アドレス計算部303は、PK座標値(ivec[0],ivec[1],ivec[2]),PW座標値(ivec[0]+1,ivec[1]+1,ivec[2]+1),PR座標値(PP座標値にあたる)(ivec[0]+1,ivec[1],ivec[2]),PY座標値(PS座標値にあたる)(ivec[0]+1,ivec[1]+1,ivec[2])を取得する。以下では、アドレス計算部303がPK点に対応するアドレスを計算する場合について説明するが、他の点であっても同様の方法により、アドレス計算部303は、対応アドレスを計算できる。
次に、取得した座標値を有する格子点がいずれのRB平面に属しているのかを求めるために、アドレス計算部303は、取得した座標値からアドレスstp1を計算する。アドレス計算部303は、以下の計算式(6)を、iが0から(ivec[1]−1)まで積和計算を行うことでアドレスstp1を求めることができる。この時、アドレス計算部303は、メモリ304に格納されている位置情報304b(具体的には、表2のように表される)を参照して計算を行う。
ここで、width_R(i)は、位置情報304b(表2参照)中の格子点幅(R方向)を示し、width_B(i)は、格子点幅(B方向)を示す。また、stp_adressは、LUT304aのスタートアドレスを示す。図11を使って考えると、invec[1]が16〜31(2進数表示で00010000〜00011111。上位4ビットを抽出、すなわち、4ビット右シフトを行うと「1」である)の場合は、ivec[1]は1となり、stp1は、図11中のa矢印で示したアドレスとなり、式(6)の第2項は、図11中cの幅を計算していることになる。すなわち、この場合、格子点は、G=16のRB平面に属していることがわかる。
次に、アドレス計算部303は、上記で求めたGの格子点が持つデータ群の中で、何番目のアドレスにあるかの計算を行う。アドレス計算部303は、RB平面が四角形であることを利用し、アドレスstp1を用いてさらに計算を行う。アドレス計算部303は、該アドレスstp2を以下の計算式(7)に従って、求める。
ここで、stpnt_R(i)は、位置情報(表2参照)中の開始点(R方向)を示し、stpnt_B(i)は、開始点(B方向)を示している。図11を使って考えると、invec[0]が32〜47までの場合、つまり、ivec[0]が2の場合、アドレス計算部303は、式(6)の第2項を計算することで、図11中のeの幅を計算していることになる。また、invec[2]が48〜53の場合、つまり、ivec[2]が3の場合、アドレス計算部303は、式(6)の第3項を計算することで、図11中のfの幅を計算していることになる。アドレス計算部303は、最終的なアドレスとして、これらを足し合わせて図11中のdが示すアドレスを計算する。
つまり、アドレス計算部303は、格子点PKの座標値のうちのG信号値および位置情報304bより、入力画像データが、G=0,16,・・・,255の各値毎の各RB平面のうち、どのRB平面にあるのかを先ず決定する。次に、アドレス計算部303は、格子点PKの座標値のうちのR信号値およびB信号値、ならびに位置情報304bを用いて、そのRB平面内のどの位置に格子点PKがあるのかを計算し、最終的なアドレスを計算する。
そして、アドレス計算部303は、格子点PKに対応する最終的なアドレスを指定して、3次元LUT304aにアクセスし、該当するアドレスに格納されているCMYデータを補間演算部305に引き渡す。同様に、点PW、PP、PSに対応するCMYデータを補間演算部305に引き渡す。
〔実施の形態2〕
実施の形態1では、入力画像の色域に含まれる格子点をLUTに書き込む点について説明したが、本実施の形態では、様々な条件に応じて、色空間に設定される単位格子の数を変更する点について説明する。
まず、本実施の形態に係る色変換部201aの構成について詳細に説明する。図12は、本実施形態の色変換部201aの構成を示したブロック図である。同図に示すように、色変換部201aは、重み付け計算部301、座標値算出部302、アドレス計算部303、メモリ304、補間演算部305、色域選択部306、LUT書込部307、位置情報変更部308、色空間記憶部309、格子数変更部(格子数変更手段)312を備える構成である。
重み付け計算部301、座標値算出部302、アドレス計算部303、メモリ304、補間演算部305、色域選択部306、LUT書込部307、位置情報変更部308、色空間記憶部309は、各々、実施の形態1にて説明したものと同様の構成であるため、ここでは詳細な説明を省略する。
格子数変更部312は、入力画像や出力画像の品質を示した品質データを外部から取得し、取得した品質データに応じて、色空間記憶部309に記憶されている色空間の座標軸の分割数2nを決定する(例えば、8,16,32,64等)。そして、格子数変更部312は、決定した分割数2nで上記色空間(色空間記憶部309に記憶されているRGBの色空間)の各々の座標軸を分割し、この分割によって形成される各格子点に対応するCMYの画像データを算出し、算出したCMYの画像データを各格子点と対応付けて色空間記憶部309に記憶する処理を行う。
つまり、実施の形態1では、各座標軸の分割数が16の色空間のみを使用しているが、本実施の形態では、色空間記憶部309に記憶されている色空間において、上記品質データに応じて上記分割数2nを変更でき、この変更によって当該色空間における単位格子の幅、当該色空間に占める単位格子の数を変更できる。
なお、以下では、格子数変更部312が取得する品質データとしては、入力画像の解像度を示した解像度情報を例にして説明する。入力画像の解像度は、画像形成装置4の操作パネル5や端末装置の入力手段(キーボードやマウス)を用いて、画像入力装置(スキャナ)2の読み取り条件として利用者によって選択されるものである。したがって、格子数変更部312が取得する解像度情報とは、画像形成装置4の操作パネル5等から入力されたものである。
また、解像度とは、画像のきめ細かさや画質の滑らかさを表す尺度のことであり、単位幅をいくつの点の集合として表現するかを示したパラメータである。プリンタやスキャナの場合は、一般的に一インチあたりのドット数で表現され、単位としてdpi(dots per inch)が用いられる。この解像度が高いほど、より自然に近い高画質な画像になり、解像度が低いと、画像や文字の滑らかさが失われ、画質は悪くなる。このため、入力画像の解像度が低ければ(例えば、300dpiや600dpi)、高画質な画像ではないと判断できるため、高精度な補間を必要としない。逆に解像度が高い場合には(例えば、1200dpiや2400dpi)、高画質な画像(つまり、高精度の補間)が要求される。
色域選択部306,LUT書込部307,位置情報変更部308は、格子数変更部312による処理の終了を検知すると、実施の形態1における処理(図8のS1101〜S1105)と同様の処理を行う。但し、色域選択部306は、S1103の処理において、格子数変更部312によって決定された分割数2nに応じて、mビットの入力画像データをm−nビットシフトさせることになる。
これにより、色域選択部306は、格子数変更部312によって分割数2nが定められたRGB色空間を色空間記憶部309から参照し、当該色空間の中から入力画像に対応する色域を選択することになる。そして、LUT書込部307は、当該RGB色空間において色域選択部306に選択された色域に含まれる各格子点についてのCMYデータを色空間記憶部309から読み出し、LUT304aに書き込む処理を行うことになる。したがって、実施の形態2の構成によれば、LUT304aに書き込まれる各格子点のデータは、格子数変更部312によって定められた分割数2nのRGB色空間に含まれる格子点のデータとなる。
なお、座標値算出部302は、格子数変更部312によって決定された分割数2nに応じて、点PKの座標値(ivec[0],ivec[1],ivec[2])を以下の(5)´式に基づいて計算する。
ivec=invec>>n(nビット右シフト) (5)´
さらに、重み付け計算部301は、格子数変更部312によって決定された分割数2nに応じて、式(1)における(x1−x0),(y1−y0),(z1−z0)を当該分割数2nに応じた値に変更した上で、重み付けを算出する。
そして、補間演算部305が、LUT304aに書き込まれている格子点のデータに基づいて補間演算を実行することとなる。
つぎに、格子数変更部312について、さらに詳しく説明する。上述したように、格子数変更部312は、入力画像の解像度を示した解像度情報に応じて、色空間記憶部309に記憶されている色空間における各座標軸の分割数2nを変更している。
具体的には、格子数変更部312には、画像の解像度を示した解像度情報と上記分割数2nとを対応付けたテーブルが備えられている。なお、このテーブルにおいては、解像度と上記分割数2nとが正の相関関係になるように、上記解像度情報と上記分割数とが対応付けられている事が好ましい。そして、格子数変更部312は、操作パネル5等から入力画像の解像度を示した解像度情報を取得すると、取得した解像度情報に対応付けられている分割数2nを上記テーブルから読み出して、読み出した分割数2nに基づいて、色空間記憶部309に記憶されている色空間における各座標軸の分割数を変更し、これにより色空間内に設定される単位格子の数を変更している(単位格子の幅も変更される)。
ここで、上記分割数を増加させると、色空間内における単位格子の数が増加し(単位格子の幅が狭くなり)、単位空間当たりの格子点数が増加し、高精度の補間処理を実現できる。これに対し、上記分割数を減少させると、色空間内における単位格子の数が減少し(単位格子の幅が広くなり)、単位空間当たりの格子点数が減少し、これに伴い上記メモリに書き込まれる格子点の数も減少するため、メモリ容量を節約できる。
つまり、上記構成によれば、解像度等の入力画像の品質を示した情報に応じて、色空間に設定される単位格子の数を変更することを可能にし、入力画像の品質に適した補間処理を実現している。具体的には、高精度の補間処理が要求される高解像度の画像に対しては、上記分割数を増やすことによって上記色空間内に設定される単位格子の数を増加させて高精度な補間処理を実現し、高精度の補間処理の要求されない低解像度の画像に対しては、上記分割数を減らすことによって上記色空間内に設定される単位格子の数を減少させてメモリ容量を節約するといった制御が可能になる。
なお、以上の構成によれば、格子数変更部312は、画像形成装置4の操作パネル5等から入力される解像度情報を取得しているが、この解像度情報は、画像入力装置2におけるスキャナの解像度が切り換えられた場合や、新しく画像入力装置2が接続される場合に、サービスマンやユーザによって操作パネル5から入力されるものである。
さらに、本実施形態において、画像の解像度を示した解像度情報と上記分割数2nとの関係はテーブルに記憶されているが、このテーブルの内容は、適宜、利用者によって書き換えられるようになっていてもよい。また、画像の解像度と上記分割数2nとの関係は上記テーブルに保持されているのではなく、画像の解像度に対しての好ましい上記分割数2nを示した推奨値を操作パネル5に表示し、その推奨値のなかからサービスマンやユーザが上記分割数2nを選択するようにしてもよい。
また、入力画像がネットワークを介してダウンロードしたものであっても、格子数変更部312は、上記解像度情報を取得することができる。たとえば、業界で一般的に使用されている画像フォーマットであるTIFF(Tagged Image File Format)には、ヘッダーに解像度の情報が記載されているため、ヘッダーの情報より解像度情報を得ることができる。
なお、以上の実施形態によれば、格子数変更部312は、色空間記憶部309に記憶されている色空間の座標軸の分割数2nを変更することによって当該色空間に設定される格子点数を変更するようにしているが、このような形態に限定されるものではない。また、上記色空間の座標軸の分割数も2の累乗に限定されない。
例えば、色空間における単位格子の幅を変更することなく、色空間の格子点数を変更するような処理を行うことも可能である。より具体的に、格子数変更部312は、色空間記憶部309に記憶されているRGBの色空間における単位格子の幅を一定にすると共に、座標軸に沿った方向の格子点数を任意値に変更することが可能である。
この点について図14に基づいて説明する。図14(a)において、太線に囲まれた部分は、各座標軸のとり得る数値範囲が0〜255に設定されていると共に各座標軸に沿った方向の格子点数が17(分割数24=16)に設定されているRGBの色空間である。例えば、この太線に囲まれた部分の色空間を基準にして、G座標軸に沿った方向に単位格子を一つ追加することによって、G座標軸に沿った方向の格子点数を17から18(分割数17)に増加させ、G座標軸のとり得る数値範囲を0〜271に設定すると、単位格子の幅を変えずに色空間の格子点数を増加させることができる。また、例えば、B座標軸に沿った方向に二つ単位格子を追加することによって、B座標軸に沿った方向の格子点数を17から19(分割数18)に増加させ、B座標軸のとり得る数値範囲を0〜287に設定すると、単位格子の幅を変えずに色空間の格子点数を増加させることができる。
さらに、格子点数を増加させるだけでなく減少させることも可能である。例えば、図14(b)に示すように、R座標軸に沿った方向において単位格子を一つ削減することによって、R座標軸に沿った方向の格子点数を17から16(分割数15)に減少させ、R座標軸のとり得る数値範囲を0〜239に設定すると、単位格子の幅を変えずに色空間の格子点数を減少させることができる。
つまり、格子数変更部312は、入力画像の解像度を示した解像度情報に応じて、上記色空間において座標軸に沿った方向に単位格子を追加または削減する処理を行っても、色空間の格子点数を変更することができる。
例えば、格子数変更部312は、画像の解像度を示した解像度情報と、座標軸に沿った方向の格子点数(例えば10〜32の範囲における任意の整数値)を座標軸毎に示した格子点数データとを対応付けたテーブルを保持しておく。そして、格子数変更部312は、操作パネル5等から取得した解像度情報に対応付けられている格子点数データを上記テーブルから読み出す。さらに、格子数変更部312は、RGB色空間における各座標軸に沿った方向の格子点数がテーブルから読み出した格子点数データに示される各座標軸の格子点数になるよう、RGB色空間における各座標軸方向に対して単位格子の追加または削減を行う。このようにすれば、色空間における単位格子の幅を変更することなく、入力画像の解像度に応じて色空間の格子点数を変更することが可能になる。
但し、このような構成を採用する場合、入力画像データのとり得る数値範囲とRGB色空間における各座標軸の数値範囲とを整合させる必要がある。したがって、色変換部201の前段において、入力画像データのとり得る数値範囲とRGB色空間における各座標軸の数値範囲とが一致するように、色変換部201に入力する入力画像データのとり得る数値範囲を変換する数値範囲変換部を備える必要がある。
例えば、入力画像データが0〜255の値をとる8ビットデータであって、格子数変更部312が、図14(a)に示すように、B座標軸に沿った方向の格子点数を19に変更し、B座標軸の数値範囲を0〜287に変更した場合、ビット数変換部は、図15(a)に示すようなテーブルを用いて、Bの入力画像データのビット数を8ビットから9ビットに変換することによって当該入力画像データのとり得る数値範囲を0〜287に変換すればよい。
また、入力画像データが0〜255の値をとる8ビットデータであって、図14(b)に示すように、R座標軸に沿った方向の格子点数を16に変更し、R座標軸のとり得る数値範囲を0〜239に変更した場合、0〜239の範囲は8ビットのデータで表現可能であるため、ビット数変換部は、図15(b)に示すようなテーブルを用いて、入力画像データのビット数を変更せず、Rの入力画像データのとり得る数値範囲を0〜239に変換すればよい。
なお、以上示した実施形態2では、入力画像の解像度に応じて、色空間に設定される単位格子の数を変更しているが、他の条件に応じて色空間に設定される単位格子の数を変更することも可能であり、以下では、他の条件に応じて上記単位格子数を変更する形態について説明する。
(画像サイズに応じて変更)
最終的に印刷される画像が大きくなるほど高精度な補間処理を行わないと、印刷画像の画質が劣化する虞がある。
そこで、格子数変更部312は、画像処理装置1が出力する画像データのサイズ(出力画像のサイズ)を示したサイズ情報を上記品質データとして取得する。さらに、格子数変更部312には、画像サイズを示したサイズ情報と上記分割数2nとを対応付けたテーブルを備える。また、このテーブルにおいて、画像サイズと上記分割数2nとが正の相関関係になるように、上記サイズ情報と上記分割数とを対応付けて記憶することが好ましい。
これにより、格子数変更部312は、画像処理装置1が出力する画像データのサイズを示したサイズ情報を取得すると、取得したサイズ情報に対応付けられている分割数2nを上記テーブルから読み出して、読み出した分割数2nに基づいて、色空間記憶部309に記憶されている色空間における各座標軸の分割数を変更し、これにより色空間内に設定される単位格子の数を変更し、単位格子の幅を変更できる。
このようにすれば、出力画像のサイズに応じて、上記色空間に占める単位格子の数を変更していることになる。これにより、出力画像のサイズに適した補間処理を実現することが可能になる。具体的には、高精度の補間処理が要求される大サイズの画像に対しては、分割数2nを増やすことによって上記色空間に設定される単位格子の数を増加させて高精度な補間処理を実現し、高精度の補間処理の要求されない小サイズの画像に対しては、分割数2nを減らすことによって上記色空間に設定される単位格子の数を減少させてメモリ容量を節約するといった制御が可能になる。
なお、出力画像のサイズは、入力画像の画素数(入力画像のサイズ)と出力機器の解像度とから計算することができる。例えば、入力画像の縦と横の画素が1200個および600個であり、出力機器の解像度が300DPIの場合、1200/300=4インチ、600/300=2インチとなり、出力画像のサイズは縦4インチ、横2インチとなる。また、出力機器の解像度が600である場合は、1200/600=2インチ、600/600=1インチとなり、出力画像のサイズは縦2インチ、横1インチとなる。このように、出力機器の解像度と、入力画像の画素数がわかれば出力画像のサイズを計算できる。
それゆえ、画像処理装置1において、入力画像の画素数と画像出力装置3に設定されている解像度とから出力画像サイズを示したサイズ情報を生成するサイズ計算部(不図示)を備え、格子数変更部312は、このサイズ計算部から、出力画像サイズを示したサイズ情報を取得すればよい。
(画像出力装置の印刷解像度に応じて変更)
また、色空間に設定される単位格子の数は、画像処理装置1に接続されている画像出力装置3の印刷解像度に応じて変更してもよい。例えば、画像出力装置3の印刷解像度が低く高精度な画質がそれほど要求されないような場合、上記色空間に設定される単位格子の数を少なくしてメモリ容量を節約し、逆に、画像出力装置3の印刷解像度が高く高精度な画質が要求される場合、上記色空間に設定される単位格子の数を増加させて高精度な補間処理を実現するようにすればよい。
具体的構成としては、格子数変更部312は、画像出力装置3に設定されている印刷解像度を示した解像度情報(品質データ)を取得する。なお、印刷解像度は、例えば、画像処理装置1の操作パネル5や入力手段(キーボードやマウス)を用いて、画像出力装置(印刷装置)3の印刷条件として利用者によって選択されるものである。したがって、格子数変更部312が取得する解像度情報とは、画像処理装置1の操作パネル5等から入力された解像度情報である。
また、格子数変更部312において、上記印刷解像度を示した解像度情報と上記分割数2nとを対応付けたテーブルを備える。また、このテーブルにおいて、印刷解像度と上記分割数2nとが正の相関関係になるように、上記解像度情報と上記分割数とが対応付けられていることが好ましい。
そして、格子数変更部312は、画像出力装置3に設定されている印刷解像度を示した解像度情報を取得すると、取得した解像度情報に対応付けられている分割数2nを上記テーブルから読み出して、読み出した分割数2nに基づいて、色空間記憶部309に記憶されている色空間における各座標軸の分割数を変更し、これにより色空間内に設定される単位格子の数を変更し、単位格子の幅を変更している。
このようにすれば、画像出力装置3の印刷解像度に応じて、上記色空間に占める単位格子の数を変更していることになる。これにより、印刷解像度に適した補間処理を実現することが可能になる。具体的には、高精度の補間処理が要求される高印刷解像度の画像に対しては、分割数2nを増やすことによって上記色空間に設定される単位格子の数を増加させて高精度な補間処理を実現し、高精度の補間処理の要求されない低印刷解像度の画像に対しては、分割数2nを減らすことによって上記色空間に設定される単位格子の数を減少させてメモリ容量を節約するといった制御が可能になる。
(領域識別情報に応じて変更)
また、入力画像が文字領域からなる画像の場合、一般的に色の数が余り多くなく、高精度な補間がほとんど必要ない場合が多いため、上記色空間に設定される単位格子の数を少なくしてメモリ容量を節約すればよい(色空間における一つの座標軸あたりの分割数または単位格子数を8(格子点数は9)程度まで減らすことができる)。
逆に、入力画像が写真領域からなる画像の場合、高精度な補間が必要となるため、上記色空間に設定される単位格子の数を増やすことが好ましい(例えば、一つの座標軸あたりの分割数または単位格子数を32(格子点数は33)程度まで増やすことが望ましい。
そこで、格子数変更部312は、入力画像の画像領域を示した領域識別情報(入力画像の特徴を示した特徴データ)を領域分離処理部14から取得し、取得した領域識別情報に応じて、色空間記憶部309に記憶されている色空間の座標軸の分割数2nを変更するようにしてもよい。
具体的構成としては、格子数変更部312は、画像領域の種類を示した領域識別情報と上記分割数2nとを対応付けたテーブルを備える。また、このテーブルにおいて、文字領域を示す領域識別情報に対応付けられている上記分割数2nは、写真領域を示す領域識別情報に対応付けられている上記分割数2nよりも少なく設定することが好ましい。
そして、格子数変更部312は、領域分離処理部14から領域識別情報を取得すると、取得した領域識別情報に対応付けられている分割数2nを上記テーブルから読み出して、読み出した分割数2nに基づいて、色空間記憶部309に記憶されている色空間における各座標軸の分割数を変更し、これにより色空間内に設定される単位格子の数を変更し、単位格子の幅を変更する。
このようにすれば、入力画像の種類(文字画像、写真画像等)に応じて、上記色空間に占める単位格子数を変更することができる。これにより、入力画像の種類に適した補間処理を実現することが可能になる。具体的には、高精度の補間処理が要求される写真画像に対しては、分割数2nを増やすことによって上記色空間に設定される単位格子の数を増加させて高精度な補間処理を実現し、高精度の補間処理の要求されない文字画像に対しては、分割数2nを減らすことによって上記色空間に設定される単位格子の数を減少させてメモリ容量を節約するといった制御が可能になる。
なお、以下では、領域分離処理部(特徴データ生成手段,領域分離処理手段)14における具体的処理内容について詳細に説明する。領域分離処理としては、例えば、特開2002−232708に記載の方法を用いる。この方法は、注目画素を中心としたn×mのブロック(例えば、15×15)における最小濃度値と最大濃度値の差分である最大濃度差と、隣接する画素の濃度差の絶対値の総和である総和濃度繁雑度を算出し、予め定められる複数の閾値と比較することにより下地領域・印画紙(写真)領域と文字エッジ領域・網点領域に分離するものである。領域分離は、下記の(A)〜(D)の考え方に基づいて行われる。
(A) 下地領域の濃度分布は、通常、濃度変化が少ないので最大濃度差及び総和濃度繁雑度ともに非常に小さくなる。
(B) 印画紙写真領域の濃度分布は、滑らかな濃度変化をしており、最大濃度差及び総和濃度繁雑度はともに小さく、かつ、下地領域よりは多少大きくなる。
(C) 網点領域の濃度分布は、最大濃度差は網点によりさまざまであるが、総和濃度繁雑度が網点の数だけ濃度変化が存在するので、最大濃度差に対する総和濃度繁雑度の割合が大きくなる。したがって、最大濃度差と文字・網点判定閾値(上記複数の閾値の1つ)との積よりも総和濃度繁雑度が大きい場合には、網点画素であると判別することが可能である。
(D) 文字領域の濃度分布は、最大濃度差が大きく、それに伴い総和濃度繁雑度も大きくなるが、網点領域よりも濃度変化が少ないため、網点領域よりも総和濃度繁雑度は小さくなる。したがって、最大濃度差と文字・網点判定閾値との積よりも総和濃度繁雑度が小さい場合には、文字エッジ画素であると判別することが可能である。
具体的には、以下の(E)〜(G)のようにして領域分離が行われる。
(E) 算出された最大濃度差と最大濃度差閾値、及び、算出された総和濃度繁雑度と総和濃度繁雑度閾値の比較を行う。そして、最大濃度差が最大濃度差閾値よりも小さく、かつ、総和濃度繁雑度が総和濃度繁雑度閾値よりも小さいと判断されたときは、注目画素は下地・印画紙領域であると判定し、そうでない場合は、文字・網点領域であると判定する。
(F) 上記下地・印画紙領域であると判断された場合、算出された最大濃度差と下地・印画紙判定閾値との比較を行い、最大濃度差の方が小さければ下地領域であると判定し、最大濃度差の方が大きければ印画紙領域であると判定する。
(G) 上記文字・網点領域であると判断された場合、算出された総和濃度繁雑度と最大濃度差に文字・網点判定閾値を掛けた値との比較を行い、総和濃度繁雑度の方が小さければ文字エッジ領域であると判定し、総和濃度繁雑度の方が大きければ、網点領域であると判定する。
(原稿種別に応じて変更)
以上では、領域分離処理部14から取得される領域識別情報に応じて色空間に占める単位格子の数を変更する点について説明したが、入力画像が原稿から読み取られた画像である場合、当該原稿の種類に応じて上記単位格子の数を変更するようにしてもよい。
なお、原稿の種類の判別方法としては、例えば、操作パネル5から、ユーザが原稿種別を選択し入力するようにする方法が挙げられる。この場合、原稿種別の判別はユーザの入力に基づいてCPUにより判別が行われ、CPUが当該原稿の種類を示す原稿種別情報(原稿種別判定信号)を生成し、格子数変更部312が当該原稿種別情報を取得するようにすればよい。
また、原稿の種類の判別は、ユーザによるマニュアル入力ではなく、原稿種別判定部(特徴データ生成手段)を設けて原稿の特徴量を抽出し、この特徴量に基づいて原稿の種類を判別するようにしても良い。この場合の画像処理装置1aの構成例を図13に示す。この図13に示す構成の場合、図1の構成と比べて異なる点は、シェーディング補正部と入力階調補正部との間に原稿種別判定部19が設けられていることである。なお、図13の構成においては、シェーディング補正部12a、入力階調補正部13aの処理内容が図1の構成と異なるのみで他の処理部の処理は同様である。以下に異なる箇所のみ説明する。
シェーディング補正部12aは、A/D変換部11より送られてきたデジタルのRGB信号に対して、画像入力装置2の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を施す。また、シェーディング補正部12aではカラーバランスの調整を行う。
原稿種別判定部(原稿種別判定手段,特徴データ生成手段)19は、シェーディング補正部12aにて各種の歪みが取り除かれカラーバランスの調整がなされたRGB信号(RGBの反射率信号)を濃度信号など画像処理装置1aに採用されている画像処理システムの扱い易い信号に変換すると共に、入力された原稿画像が、文字原稿、印刷写真写原稿、印画紙写真であるか、あるいはそれらを組み合わせた文字/印刷写真原稿であるかなど原稿の種類の判別を行い、当該原稿の種類を示した原稿種別情報(原稿種別判定信号,入力画像の特徴を示した特徴データ)を格子数変更部312に入力する。
入力階調補正部13aは、下地濃度の除去やコントラストなどの画質調整処理が施される。
ここで、原稿種別判定部19における原稿種別の判定方法としては、例えば、特開2002−218232の方法を用いれば良い。この方法は、プレスキャンを行い、濃度ヒストグラムより、予め定められる閾値より小さい低度数濃度区分の数、第1の最大度数の濃度区分、第1の最大度数の濃度区分に隣接する濃度区分以外で最大度数値をもつ第2の最大度数の濃度区分を求め、第1の最大度数値の総画素数に対する割合、(第1の最大度数値−第2の最大度数値)の総画素数に対する割合を算出する。これらの値を予め定められる第1の閾値・第2の閾値・第3の閾値と比較することにより、原稿を文字、写真、文字/写真の何れかに分類する。また、写真と判断された場合、入力画像データを2値化し、注目画素を含む複数の画素よりなるマスクを設定し、主走査方向・副走査方向での「0」から「1」、「1」から「0」への変化点数の和を求めて(高速化のために主走査方向の変化点数だけでも良い)、予め定められる閾値以上ならば印刷写真(印刷写真の場合、局所領域における画像信号の変動が大きい。)、閾値未満ならば印画紙写真に判別する。
原稿種別の判定は上記にようにプレスキャンを行って判定しても良く、シェーディング補正後の画像データをハードディスクなどの記憶媒体に格納しておき、格納されている画像データを読み出して行っても良い。
なお、図13では、原稿種別の判定結果である原稿種別情報を色補正部15のみにフィードバックしているが、入力階調補正部13a・領域分離処理部14・空間フィルタ処理部16・階調再現処理部18に入力するようにしても良い。
格子数変更部312は、以上のように、原稿種別判定部19によって生成される原稿種別情報、または利用者によって入力される原稿種別情報を取得し、当該原稿種別情報に応じて、上記色空間に占める単位格子数を変更する。
具体的には、入力画像が文字原稿から読み取られた画像の場合、一般的に色の数が余り多くなく、高精度な補間がほとんど必要ない場合が多いため、上記色空間に設定される単位格子の数を少なくしてメモリ容量を節約すればよい(色空間における一つの座標軸あたりの分割数または単位格子数を8(格子点数は9)程度まで減らすことができる)。
逆に、入力画像が写真原稿から読み取られた画像の場合、高精度な補間が必要となるため、上記色空間に設定される単位格子の数を増やすことが好ましい(例えば、一つの座標軸あたりの分割数または単位格子数を32(格子点数は33)程度まで増やすことが望ましい。
そこで、格子数変更部312には、原稿の種類を示した原稿種別情報と上記分割数2nとを対応付けたテーブルを備える。また、このテーブルにおいて、文字原稿を示す原稿種別情報に対応付けられている上記分割数2nは、写真原稿を示す原稿種別情報に対応付けられている上記分割数2nよりも少なく設定する。
そして、格子数変更部312は、原稿種別判定部19等から原稿種別情報(特徴データ)を取得すると、取得した原稿種別情報に対応付けられている分割数2nを上記テーブルから読み出して、読み出した分割数2nに基づいて、色空間記憶部309に記憶されている色空間における各座標軸の分割数を変更し、これにより色空間内に設定される単位格子の数を変更し、単位格子の幅を変更する。
このようにすれば、原稿の種類に応じて、上記色空間に設定される単位格子の数を変更していることになる。これにより、原稿の種類に適した補間処理を実現することが可能になる。具体的には、高精度の補間処理が要求される写真原稿から読み取られた入力画像に対しては、分割数2nを増やすことによって上記色空間に設定される単位格子の数を増加させて高精度な補間処理を実現し、高精度の補間処理の要求されない写真原稿から読み取られた入力画像に対しては、分割数2nを減らすことによって上記色空間に設定される単位格子の数を減少させてメモリ容量を節約するといった制御が可能になる。
(画像出力装置の印刷処理モードに応じて変更)
さらに、色空間に設定される単位格子の数は、画像出力装置(印刷装置)3において設定される印刷処理モードに応じて切り換えられてもよい。なお、この印刷処理モードとは、ドラフトや高画質などの処理モードや、メディア(画像形成を行う紙などの記録材)ごとの印字モード等を意味する。
例えば、画像出力装置3の処理モードとしてドラフトモードが選択されている場合、画質より画像処理速度のほうが重視されるため、上記色空間に設定される単位格子の数を少なくしてメモリ容量を節約することが好ましい。逆に、画像出力装置3の処理モードとして高画質モードが選択されている場合、上記色空間に設定される単位格子の数を多くして高精度な補間処理を実現することが好ましい。
また、例えば、画像出力装置3の処理モードとして普通紙を用いて印刷を行う普通紙モードが選択されている場合、画質が重要視されずに印刷速度などが重視されるため、上記色空間に設定される単位格子の数を少なくしてメモリ容量を節約することが好ましい。逆に、表面に特殊加工がされている写真のように印刷ができる特殊用紙(例えば、光沢紙)を用いて印刷を行う特殊用紙モードが選択されている場合、画像処理速度よりも画質が重視されるため、上記色空間に設定される単位格子の数を多くして高精度な補間処理を実現することが好ましい。
具体的構成としては、格子数変更部312において、画像出力装置3の印刷処理モードを示したモード情報と上記分割数2nとを対応付けたテーブルを備える。そして、格子数変更部312は、画像出力装置3において現在設定されている印刷処理モードを示したモード情報を取得し、取得したモード情報に対応付けられている分割数2nを上記テーブルから読み出して、読み出した分割数2nに基づいて、色空間記憶部309に記憶されている色空間における各座標軸の分割数を変更し、これにより色空間内に設定される単位格子の数を変更し、単位格子の幅を変更する。
このようにすれば、画像出力装置3において現在設定されている印刷モードに応じて、色空間記憶部309に記憶されている色空間に設定される単位格子の数を変更することができ、選択されている印刷モードに適した補間処理を実現することが可能になる。
なお、画像出力装置3に設定する印刷モードは、画像出力装置3に備えられている操作パネルなどから利用者によって選択されるか、コンピュータの画面に表示される印刷設定条件(プリンタドライバの設定条件)において、キーボードやマウスを用いて、プルダウンのメニューより選択されるものである。それゆえ、格子数変更部312が取得するモード情報とは、画像出力装置3の操作パネルやコンピュータにおいて選択されている印刷モードに応じてCPU等によって生成される情報である。
(ユーザの好みに応じて変更)
また、色空間に設定される単位格子の数は、画像処理装置1のユーザによって入力されるコマンドに応じて変更されてもよい。これにより、ユーザの希望によって、上記色空間に設定される単位格子の数を変更することができる。
ユーザが色補正処理より画質改善処理などの他の処理を優先したい場合や、画像処理にかかる時間などを減らしたい場合には、上記色空間に設定される単位格子の数を少なくしてメモリ容量を節約することが好ましい。逆に、色補正処理を重視している場合や、画像処理時間を考慮しない場合には、上記色空間に設定される単位格子の数を多くして高精度な補間処理を実現することができる。
具体的には、格子数変更部312において、画像処理モード(高速モード,高画質モード等)を示したモード情報と上記分割数2nとを対応付けたテーブルを備える。
そして、格子数変更部312は、操作パネル5を介して利用者によって画像処理モードを示したモード情報(コマンド)が入力されると、入力されたモード情報に対応付けられている分割数2nを上記テーブルから読み出して、読み出した分割数2nに基づいて、色空間記憶部309に記憶されている色空間における各座標軸の分割数を変更し、これにより色空間内に設定される単位格子の数を変更し、単位格子の幅を変更する。
このようにすれば、利用者に選択される画像処理モードに応じて、色空間に設定される単位格子の数を変更することができ、選択されている画像処理モードに適した補間処理を実現することが可能になる。具体的に、高速処理モードが選択されている場合、上記色空間に設定される単位格子の数を少なくして高速な画像処理を実現し、高画質モードが選択されている場合、上記色空間に設定される単位格子の数を増加させて高精度な補間処理を実現できる。
〔実施の形態3〕
カラープリンタ(カラー画像形成装置)には、大きく二つの形態が存在する。プリンタにページ記述言語(PDL:Page Description Language)で記述されたデータを処理する機能を搭載し、プリンタ側で印刷データ生成処理を行う構成のハイエンドタイプと、プリンタ側では印刷処理のみを行い、ホスト側で印刷データ生成処理を行う構成のローエンドタイプの二種類である。
ここで、PDLデータを処理する機能を搭載したハイエンドカラープリンタの簡略化した構成を図16に示す。ホスト101内にあるアプリケーション102から受けた印刷命令を、ホスト101内のOS103がプリンタドライバ104へ描画命令を出す。プリンタドライバ104内のPDL変換部105は、OS104からの描画命令に基づいてホスト101内でアプリケーション102により作成されたデータをPDLに変換する。その後、ホスト101は、そのPDLデータをプリンタ106へ送信する。プリンタ106は、受信したPDLデータを、印刷データ生成部107で印刷データに変換し、印刷制御部108で印刷データに基づき印刷を行う。
また、図17には、ローエンドプリンタの例を示す。ローエンドプリンタの場合も、ホスト201内にあるアプリケーション122から受けた印刷命令を、ホスト内のOS123がプリンタドライバ124へ描画命令を出す。ローエンド向けプリンタドライバ124内には、OSの命令をうけ、印刷データを生成する印刷データ生成部125があり、ここで印刷用のデータを生成する。そのままデータを送ると、印刷用データは容量が大きいため、データ圧縮部126で圧縮する。その後、ホスト121は、その圧縮された印刷データをプリンタ127に送付し、プリンタ127は、プリンタ内にあるデータ伸張部128でデータを伸張しもとの印刷データにもどし、そのデータを印刷制御部129に送り印刷データに基づき印刷を行う。
なお、PDLとは、プリンタにおいて印刷イメージを記述するための言語である。このPDLは、各社が開発しており、HP(ヒューレットパッカード)社のPCL(Printer Control Language),Adobe社のPS(Post Script(登録商標))などが主流である。日本国内ではEPSON社のESC/Page(登録商標),Canon社のLipsがある。ここで、Adobe社のPSを例にとってPDLがどのように画像内の図形や文字を描画するかを簡単に説明する。PSファイルの中は、テキストで記述されている。図形の描画に関しては、いくつかコマンドがあらかじめ用意されてあり、それらのひとつ、もしくは組み合わせで描画を行っていく。用意されているコマンドの一例としては、線を引く、弧を引く、などのコマンドがある。これらを組み合わせて、複雑な図形を描画していく。設定内容は、描画位置、描画方法、色、線幅、塗りつぶしなどであり、それらをあらかじめ決められたコマンドで指定する。文字に関しても同様に、フォントと描画位置、描画色、文字列を指定し、きめられたフォーマットで記述する。PS対応プリンタは、これらのPSファイルを受け取ると、内部の印刷データ形成部で、プリンタ固有のデータに変換し、プリンタエンジン(印刷制御部)に送る。
PDLデータを用いた印刷データの生成は、例えば次ぎのように行う。図18は、PDLデータを用いた印刷データ生成を行う印刷データ生成部107の構成を示すブロック図である。PDLの一つであるPSでは、各図形、各文字に対して、色を指定できる。色空間に関しても、デバイス(プリンタ)のRGBやCIE(Commission International de l’Eclairage)の定義された色空間や、独自の色空間を、指定することができる。印刷データ生成部107内の画像生成部131では、上記のように指定されたデータをもとに、画像データを生成する。その後、印刷データ変換部132へデータを送付し、印刷制御部108での印刷用の印刷データへ変換する。
画像データの生成は、例えば次ぎのように行う。図19は、画像データ生成を行う画像生成部131の構成を示すブロック図である。画像生成部131では、描画命令を受け取ると、データ計算部401において、入力されたデータに記載されている情報から、それぞれの画素位置の値(画素の色空間における位置)を計算する。このデータ計算部401は、実施の形態1で図1を用いて説明した座標値算出部302と同じ機能を有する。この算出される画素位置の値には、データで指定されている色空間のものが用いられる。なお、データの色空間は、スキャナなどの画像読取装置で画像を読み込む際に設定される。あるいは、アプリケーション・ソフトウェアで変更、設定することもできる。その後、色変換部402において、プリンタ内部に設けられているカラープロファイルを用いて、PDLもしくはOS印刷命令に記載されている色空間からデバイス色空間(プリンタの色空間)への色変換を行う。デバイス色空間へ変換された画像データは、墨生成部403で墨生成下色除去処理、HT(ハーフトーン)部404で中間調の処理がなされ、印刷データ変換部132に送付されて印刷用データへ変換される。
次に、色変換部402の構成は、実施の形態2で図12を用いて説明した構成と同じである。図12に示すように、色変換部402は、重み付け計算部301、座標値算出部302、アドレス計算部303、メモリ304、補間演算部305、色域選択部306、LUT書込部307、位置情報変更部308、色空間記憶部309、格子数変更部(格子数変更手段)312aを備える構成である。実施の形態2と同様に、重み付け計算部301、座標値算出部302、アドレス計算部303、メモリ304、補間演算部305、色域選択部306、LUT書込部307、位置情報変更部308、色空間記憶部309は、各々、実施の形態1にて説明したものと同様の構成である。
本実施形態では、格子数変更部312aは、取得した判別情報(以下で説明する、オブジェクトの情報やプリンタドライバで設定される画像の種別(原稿種別))に応じて、色空間記憶部309に記憶されている色空間の座標軸の分割数2nを決定する(例えば、8,16,32,64等)。そして、格子数変更部312aは、決定した分割数2nで上記色空間(色空間記憶部309に記憶されているRGBの色空間)の各々の座標軸を分割する。他方で、色域選択部306は、格子数変更部312aによって分割数2nが定められたRGB色空間を色空間記憶部309から参照し、当該色空間の中から入力画像に対応する色域を選択し、この色域に基づいて、入力画像に対応する各格子点の分布領域を選択する処理を行う。さらに、格子数変更部312aは、色域選択部306にて選択された上記分布領域に含まれる格子点であり、かつ、上記分割によって形成された格子点に対応するCMYの画像データを算出する。この算出は、以下で説明する、PDLデータの色変換にて行う。
そして、LUT304aは、算出されたCMYの画像データを、メモリ304のLUT304aに書き込む。また、位置情報変換部308は、色域選択部306にて選択された上記分布領域に含まれる格子点であり、かつ、上記分割によって形成された格子点の位置情報を、変更してメモリ304に書き込む。
このように、実施の形態3の構成によれば、LUT304aに書き込まれる各格子点のデータは、格子数変更部312aによって定められた分割数2nのRGB色空間に含まれる格子点のデータとなる。
以下に、PDLデータの色変換について説明する。PDLデータの色変換は、一般的に図20に示すような形で行われる。上記のように、判定情報(オブジェクトの情報やプリンタドライバで設定される画像の種別(原稿種別))に基づいて、格子点の数が決定されている。この格子点の数を用いて、入力画像データの色空間が、入力色空間変換部501にて、入力色変換データをもとに中間の色空間に変換される。その後、出力色空間変換部503で出力色変換データを用いて、出力の色空間へ変換される。なお、ここでは、上記格子数変更部312aが、入力色空間変換部501および出力色空間変換部503として働くことになる。
例えば、PSの場合は、中間の色空間としては、CIE XYZを用いる。ここで、CIE XYZとは、国際照明委員会CIEが定めたXYZ表色系の等色関数を用いて求めた三刺激値XYZの色空間のことである。また、入力色変換データはCSA(Color Space Array)と呼ばれ、出力色変換データはCRD(Color Rendering Dictionary)と呼ばれている。
入力画像データの色空間としては、sRGBや、AdobeRGB、またスキャナなどのRGBが選択できるようになっている。これらの色空間の選択は、プリンタドライバを使ってユーザが行う場合や、印刷データにあらかじめ指定されている(プリンタで処理を行う色空間が決められている)場合などがある。
プリンタの出力色空間は、基本的に出力デバイスの持つ色空間になる。その出力デバイスの特性と、描画特性(例えば、写真や自然画像向けに階調を重視した知覚重視の描画特性や、ビジネスグラフィックなどの彩度を重視した彩度重視の描画特性、また色差を最小にするように調整した描画特性など)に合わせた数種類の出力テーブルが用意されている。この出力色空間も、印刷するときにプリンタドライバでユーザが選択できるようになっている。
ここで、入力色変換データの一例として、PSのCSAについて説明する。CSAは、入力画像データの色空間をいくつかサポートできる構成を取っており、サポートする色空間で多少保持するデータが変わるが、代表的なものは、CIEbasedABCと呼ばれる色空間からCIE XYZへ変換するパスがある。この場合は、図21に示すような構成をとる。まず、入力された値は、第1レンジ指定部にて行うRangeABC(601)というステップで、入力されるデータの有効範囲を指定する。入力されたデータは、下記の式(8)の範囲内に収められる。
次にABCの値を、第1変換部にて行うDecodeABC(602)で、任意の関数を用いて変換する。この関数は、以下の式(9)の数式で定義される場合もあれば、一次元LUTで定義されている場合もある。
次に、第1マトリクス変換部にて行うMatrixABC(603)で、以下の式(10)を用いてマトリックス変換される。このマトリックス変換された値LMNは、XYZへ変換する前の中間的な値である。
次に、第2レンジ指定部にて行なうRangeLMN(604)で、LMNのデータの有効範囲を指定する。入力されたデータは、以下の式(11)の範囲内に収められて、次に渡される。
次に、第2変換部にて行うDecodeLMN(605)でも、DecodeABC(602)と同様に任意の関数を用いて変換する。この関数は、以下の式(12)の数式で定義される場合もあれば、一次元LUTで定義されている場合もある。
最後に、第2マトリクス変換部で行うMatrixLMN(606)で、以下の式(13)を用いてマトリックス変換されて、CIE XYZとなる。
PSのCSAは、あらかじめPSデータの中に用意されている場合もあるし、ICC(International Color Consortium)プロファイルから、作成する場合もある。
次に、出力色変換データの一例として、PSのCRDについて説明する。CRDは以下で図22を用いて説明する変換を行うのが一般的である。ただし、プリンタによっては一部の処理を省略する場合もある。
まず、入力された値は、第1マトリクス変換部で行うMatrixPQR(701)と呼ばれるステップで、以下の式(14)を用いて、マトリックス変換される。このマトリックス変換された値PQRは、XYZへ変換する前の中間的な値である。ここでPs,Qs,Rsは、出力のレンジへ変換される前のPQRを表している。
次に、第1変換部で行うTransformPQR(702)と呼ばれるステップで、PQRを以下の式(15)を用いて出力のレンジへ変換する。この変換部は、入力及び出力の白色点(WhitePoint)と黒色点(BlackPoint)を用いて出力の範囲へ変換する。式は、入力及び出力の白色点と黒色点を用いた関数で定義されている。ここで、Pd,Qd,Rdは、出力のレンジの変換されるPQRを表している。
次に、第1レンジ指定部で行うRangePQR(703)で、変換されたPQRについてデータの有効範囲を指定する。入力されたデータは、以下の式(16)の範囲内に収められて、次に渡される。
次に、第1マトリクス逆変換部にて行うInverseMatrixPQR(704)で、PQRは以下の式(17)に示す逆変換マトリックスを用いて変換されて、CIE XYZに戻る。
次に、XYZを、第2マトリクス変換部にて行うMatrixLMN(705)と第2変換部にて行うEncodeLMN(706)とで、以下の式(18)を用いたマトリックス変換を含む変換を行い、LMNとする。このLMNは、XYZから変換される中間的な値である。
次に、第2レンジ指定部にて行うRangeLMN(707)で、LMNの有効範囲を指定する。入力されたデータは、以下の式(19)の範囲内に収められて、次に渡される。
第3マトリクス変換部で行うMatrixABC(708)及び第3変換部で行うEncodeABC(709)でも、MatrixLMN(705)及びEncodeLMN(706)と同様に、以下の式(20)に示す任意のマトリクス変換を含む変換を用いて変換する。
さらにABCは、第3レンジ指定部にて行うRangeABC(710)で、有効範囲が指定される。ABCは以下の式(21)に示す範囲内に収められる。
最後に、ABCは、テーブル変換部にて行うRenderTable(711)で、指定された三次元のLUTを用いて最終的なデバイスの値に変換される。テーブル変換は、プリンタが用意しているテーブル補間方法に基づいて変換される。代表的なものには四面体補間が挙げられる。
以上のように、PDLは入力色変換データと出力色変換データを用いて色変換を行うが、変換ステップが多いため、入力色変換データと出力色変換データを使って、新しく3次元LUTを作成して、それを用いて色変換を行う場合もある。
以上では、PDLとしてPSの例を用いて説明したが、PDLが変わると、入力色変換データおよび出力色変換データが変わるため、図20の入力色空間変換部、出力色空間変換部の構成が変わる。そこで、使用されるPDLに応じた処理ブロックを設けておき、PDLに応じて処理を行うブロックを選択するようにしてもよい。
次に、上記格子数を変更する形態について説明する。
(オブジェクトに応じて変更)
画像データに含まれる構成要素を識別する情報(構成要素情報、オブジェクト情報)に応じて上記単位格子の数を変更するようにしてもよい。PDLデータは、文字、図形、画像(写真画像)の3種類のオブジェクトによって構成されている。それの判別は、PDLデータに含まれるオブジェクト情報により行われ、各々違うプロファイルを用いて色変換することができる。出力プロファイルの選択の一例としては、オブジェクトが文字や図形の場合は、色変換部402では、LUT304aとして、彩度重視で作成した出力テーブルを用い、オブジェクトが画像の場合は、階調重視で作成した出力テーブルを用いたりする。
本実施の形態では、格子数変更部312aは、PDLデータに含まれるオブジェクト情報を上記判別情報として取得し、オブジェクトごとに格子点の数を変更する。例えば、オブジェクトが文字である場合は、一般的に色の数が余り多くなく、高精度な補間がほとんど必要ない場合が多いため、保持する格子点の数を、例えば、一つの軸あたり9点程度まで減らすことができる。オブジェクトが画像や図形である場合は、高精度な補間が必要となるため、保持する格子点の数を、例えば、一つの軸あたり33点程度まで増やし、高精度な補間を行うことができる。
このように、オブジェクト情報に基づいて、補間処理を最適化することができる。
(原稿種別に応じて変更)
入力画像が原稿から読み取られた画像である場合、当該原稿の種類に応じて上記単位格子の数を変更するようにしてもよい。プリンタでは、プリンタドライバの設定画面において、原稿種別をユーザが自由に設定し出力できるものが多い。その際、原稿種別が選択されると、原稿種別に応じて、あらかじめ文字、図形、画像の最適な色情報が決まる。
色変換部402では、格子数変更部312aが、プリンタドライバからの入力画像の原稿種別判定信号を受信したら、入力された画像の原稿種別毎に、格子点の数を変更することができる。ここでは、ユーザの設定(入力)に基づいてCPUにより原稿種別の判別が行われ、CPUが当該原稿の種類を示す原稿種別情報(原稿種別判定信号)を生成し、格子数変更部312aが当該原稿種別情報を上記判別情報として取得するようにすればよい。なお、実施の形態2と同様、原稿種別を判定する原稿種別判定部を設けてもよい。
例えば、入力画像が文字原稿の場合は、一般的に使用されている色数が多くなく、高精度な補間がほとんど必要ない場合が多いため、保持する格子点の数を減らすことができる。入力画像が写真原稿の場合は、色数が多く、高精度な補間が必要となるため、保持する格子点の数を例えば、一つの軸あたり33点程度まで増やすことで、高精度な補間を行うことができる。
(原稿種別およびオブジェクトに応じて変更)
さらに、格子数変更部312aは、原稿種別情報とオブジェクト情報とを組み合わせて、最適な分割数を決定することもできる。
例えば、原稿が文字原稿だった場合には、入力された原稿はほぼ文字で構成されていると考えられる。文字原稿の場合は、文字オブジェクトの色の分布範囲が十分小さければ、格子点数を減らし、文字オブジェクトの色の分布範囲が大きければ、格子点数を減らさない、等の原稿情報とオブジェクト情報とにあった画像処理を行うことができる。
ところで、以上の実施の形態にて示した画像処理装置に含まれる各部の奏する機能は、プロセッサなどの演算回路が、ROMやRAMなどの記憶手段に記憶されたプログラムを実行し、各種周辺回路等を制御することによっても実現することができる。したがって、以上の演算回路,周辺回路等を有するコンピュータが、上記プログラムを記録した記録媒体を読み取り、当該プログラムを実行するだけで、本実施形態の画像処理装置の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記録媒体に記録することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、上記プログラムを組み込んだプリンタドライバをコンピュータやプリンタに設けてもよいし、上記プログラムを組み込んだスキャナドライバをスキャナに設けることにしてもよい。
また、本実施形態の画像処理装置を通信ネットワークと接続可能に構成し、上記プログラムを、通信ネットワークを介して画像処理装置に供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
また、本実施形態の画像形成装置は、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどの画像読取装置,上記プログラムがロードされることによって画像処理が行われるコンピュータ,コンピュータの処理結果を表示するディスプレイ(LCDまたはCRT)などの画像表示装置、および、コンピュータにて処理された画像データに応じて画像を紙に出力するプリンタより構成される画像形成システムとしてもよい。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのネットワークカードやモデムなどが備えられていてもよい。
本発明は上述した各実施形態に限定されるものではなく、特許請求の範囲に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。