画像処理装置および画像処理方法
【課題】重なったオブジェクト画像を透過合成する際には同一の色空間に変換する必要があるため、情報量の大きな分光画像が合成対象である場合には、その色空間変換のために膨大な演算量が必要であった。
【解決手段】透過合成処理を行う各入力オブジェクト画像に対し、その色空間を判定し(S403,S404)、LabPQR色空間であれば分光情報成分を示すPQR成分を使わずに、Lab成分のみを用いてRGB色空間への変換を行う(S405)。そして、全オブジェクト画像についてRGB色空間への変換が終了したら、これらを透過合成する(S409)。
【解決手段】透過合成処理を行う各入力オブジェクト画像に対し、その色空間を判定し(S403,S404)、LabPQR色空間であれば分光情報成分を示すPQR成分を使わずに、Lab成分のみを用いてRGB色空間への変換を行う(S405)。そして、全オブジェクト画像についてRGB色空間への変換が終了したら、これらを透過合成する(S409)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のオブジェクト画像が重なった領域の透過合成処理を行う画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
被写体をカメラで撮影しプリンタで出力した出力画像を、オリジナルの被写体と比較した場合、ある環境光下では見た目が同じであっても、別の環境光下では見た目が異なってしまうことがある。この現象はメタメリズムと呼ばれ、被写体の分光反射率と、出力画像の分光反射率とが異なることに起因する。近年、被写体をマルチバンドカメラで撮影することによって、その分光反射率を分光情報として取得し、特色インクを搭載したプリンタによって該分光情報に応じた出力を行うことで、メタメリズムを解決する方法が提案されている。
【0003】
しかしながら、分光情報は、従来の三刺激値を用いた色再現による色情報に比べ、著しくデータ量が増加するという問題がある。この問題を解決するために、6次元のLabPQRという色空間を用いて分光情報を圧縮する方法が提案されている(非特許文献1参照)。LabPQR色空間は、基本刺激値L*a*b*成分を含んでいるため、特に分光情報を必要しないユーザにとっても扱いやすい形式であるという特徴がある。以降、基本刺激値L*a*b*を必要に応じてLabと記載する。
【0004】
このような分光情報を含む画像(以下、分光画像)のユースケースとして、例えば絵画等の文化遺産の複製が考えられる。このようなユースケースにおいては、通常のカメラによって取得した基本刺激値のみを用いて文化遺産を複製するとメタメリズムが発生しうるため、分光情報を用いることが望ましい。
【0005】
図11は、マルチバンドカメラによって取得した文化遺産の分光情報を一度LabPQRに圧縮し、特色インクプリンタで印刷して複製する場合の主な処理の流れを示す図である。マルチバンドカメラ1101で取得された分光情報1102は、分光情報圧縮処理1103によって、LabPQRで表された画像1104に圧縮される。LabPQRで表された画像1104は、色材量データ変換処理1105によって色材量データ1106に変換される。色材量データ1106は、特色インクプリンタ1107によって印刷される。LabPQRは、非圧縮の分光情報に比べデータ量が小さいので、データを転送する場合や、保存する場合に有利である。
【0006】
また、分光画像の別のユースケースとして、商品のカタログ印刷が考えられる。ここで、通信販売のカタログを見てカーテンを注文する、というケース考える。このような場合、現状の三刺激値を用いた色再現システムでは、カタログ上での色と、購入者がカーテンの実物を実際に使用する環境光下においた際に見える色とが異なってしまうことがある。
【0007】
このようなカタログと実物との色の違いを解決するためには、マルチバンドカメラで取得したカーテンの分光画像を、カタログ写真として印刷すれば良い。これにより、カタログ写真がカーテンの実物とほぼ同じ分光反射率を有することになるため、購入者が実際に使用する環境光下でカタログを見ることで、カーテンの色を確認することができる。
【0008】
このようなカタログ作成システムにおける処理の流れは、例えば以下のようになる。まず、マルチバンドカメラによって分光画像を取得し、編集アプリケーションによって、分光画像とコンピュータグラフィクスや文字を一緒に加工して印刷データを作成する。この印刷データは、RIP(Raster Image Processor)によって色材量データに変換され、特色インクプリンタによって該色材量データが印刷される。なお、文化遺産の複製とは異なり、カタログの印刷データは分光画像の他にコンピュータグラフィクスや文字等を含むため、より高度なRIPが必要になる。以降、印刷データに含まれる、画像やコンピュータグラフィクス、文字等の要素をまとめてオブジェクト画像と称する。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】M.Derhak,M.Rosen,"Spectral Colorimetry Using LabPQR-An Interim Connection Space"。「Color Imaging Conference 2004」米国、Imaging Science and Technology,2004.Nov.page246-250
【発明の概要】
【発明が解決しようとする課題】
【0010】
分光画像が上述したLabPQRで表されていた場合、RIPにおいては、該分光画像を単なる多チャンネル画像として扱うことが可能である。しかしながら、圧縮されているとはいえLabPQRは6チャネルであり、通常の画像が3チャネルないし4チャネルであることを考えると、扱うデータ量はかなり増えることになる。
【0011】
ここで、複数のオブジェクト画像が重なった領域の透過合成処理について考える。RIP内での透過合成処理では、透過合成を行う色同士を同じ色空間に変換する必要があり、通常はRGBで透過合成を行う。したがって、LabPQRで表された分光画像に対して透過合成処理を行う場合には、分光画像の色空間をLabPQRからRGBに変換する必要があり、その演算量は膨大となってしまう。
【0012】
ただし、分光画像に対して透過合成処理を施すようなユーザであれば、環境光によらず実物と近い色が再現できるという分光画像の特徴をもはや求めていないものと考えられる。したがって、分光画像に対する従来の透過合成処理においては、基本三刺激値を用いた色再現精度が得られれば十分であるにも関わらず、分光情報をも含めた膨大な演算量をこなす必要があった。
【0013】
本発明は上述した問題を解決するためになされたものであり、被写体の分光反射率を用いて表現された画像に対し、他の画像との透過合成処理を行う際に、演算量を削減可能な画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。
【0015】
すなわち、被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理装置であって、合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定手段と、前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値のみを用いて第2の色空間で表現される画像に変換する第1の色空間変換手段と、前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換手段と、前記第1および第2の色空間変換手段により前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成手段と、を有することを特徴とする。
【発明の効果】
【0016】
上記構成からなる本発明によれば、被写体の分光反射率を用いて表現された画像に対し、他の画像との透過合成処理を行う際に、色空間変換すべきデータ量が削減され、演算量を大幅に削減することが可能である。
【図面の簡単な説明】
【0017】
【図1】第1実施形態におけるシステム構成を示す図、
【図2】第1実施形態における機能構成を示すブロック図、
【図3】第1実施形態の描画部における機能構成を示すブロック図、
【図4】第1実施形態における透過合成処理を示すフローチャート、
【図5】第1実施形態において互いに重なったオブジェクトの分割例を示す図、
【図6】第1実施形態における分割前の各オブジェクトのデータ構造を示す図、
【図7】第1実施形態における分割後の各オブジェクトのデータ構造を示す図、
【図8】第1実施形態における分割後の各領域に対する処理概要を示す図、
【図9】第1実施形態における色空間変換後のオブジェクトのデータ構造を示す図、
【図10】第1実施形態における表示メッセージ例を示す図、
【図11】マルチバンドカメラと特色インクプリンタを用いた印刷システムの主な処理を示す図、である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0019】
<第1実施形態>
本実施形態においては、被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する。図1は、本実施形態が適用される画像処理システムの構成を示すブロック図である。同図において、101は中央演算装置(CPU)、102は主記憶装置(メインメモリ)、103は補助記憶装置(例えば、ハードディスク)である。104は入力装置(例えば、マウス、キーボード、プリンタ制御パネル)、105は表示装置(例えば、ディスプレイ、液晶パネル)、106は画像形成装置(プリンタエンジン)、107はバスである。補助記憶装置103には、プリンタドライバをはじめとするプログラムやデータが記憶されている。これらのプログラムならびにデータは、入力装置104からの信号に基づきCPU101の制御のもと、バス107を通じて適宜主記憶装置102に読み込まれ、CPU101によって実行される。なお、本実施形態における透過合成処理は、プリンタドライバによって行われる。印刷プレビューなどは適宜表示装置105に表示される。入力装置104からの信号によっては、主記憶装置に記憶されたデータが、バス107を通じて画像形成装置106に送られ印刷される。
【0020】
図2は、本実施形態における印刷処理、すなわち、生成された印刷データをプリンタドライバによってラスタライズし、印刷するまでの処理を行う機能構成を示す図である。まず、印刷データ生成部205によって生成された印刷データ206は、印刷データ解釈部207で解釈される。一方、入力部201からドライバUI入力部202(UI:User Interface)に入力された操作内容は、印刷設定として印刷データ解釈部207に渡される。ドライバUI入力部202に入力された操作内容に応じた処理結果は、適宜ドライバUI出力部203に反映され、表示部204に出力される。印刷データ解釈部207によって生成された描画命令は、描画部208に渡されてレンダリングされる。描画部208から出力されるレンダリングの結果である色材量データ209は、出力部210に送られ、印刷される。
【0021】
図3は、図2における描画部208内での主な機能構成を示す図である。印刷データ解釈部207が生成した描画命令は、オブジェクト選択部301に渡される。オブジェクト選択部301では、描画命令中の透過合成処理が必要なオブジェクト画像(以下、オブジェクト)が選択される。選択された個々のオブジェクトは、領域分割部302において領域分割される。色空間判定部303は、必要な領域について色空間の判定を行う部分である。色空間変換部304は、色空間判定部303における判定結果に基づき、必要なオブジェクトについて色空間変換を行う部分である。通知処理部305は、色空間変換部304によって特定の色空間変換が行われた場合に、その旨を報知するためにドライバUI出力部203に対してメッセージを出力する部分である。透過合成処理部306は、同じ色空間で表現された複数のオブジェクトを透過合成する部分である。データ変換部307は、所定の色空間で表現された画像データから、印刷時に使用される色材の量を示す色材量データ209への変換を行う部分である。
【0022】
以下、描画部208における、透過合成処理を伴うレンダリング処理について、図4のフローチャートを用いて詳細に説明する。
【0023】
まずS401でオブジェクト選択部301において、合成対象となるオブジェクトの選択を行う。本実施形態では、その一部が重なった2つのオブジェクトが選択される場合を例とする。例えば図5(a)に示すように、そのデータ構造に分光情報を含む不透過な分光画像オブジェクトに、透過なグラフィックオブジェクトが重なる場合について、以下の説明を行うとする。
【0024】
次にS402では領域分割部302において、オブジェクトを分割して、複数のオブジェクトが重なった重なり領域を抽出する。図5(b)に、ここでの分割および抽出例を示す。すなわち、同図に示すように不透過な分光画像オブジェクト501の上に透過なグラフィックオブジェクト502が重なっている場合、これら2つのオブジェクトは、領域503,504,505の3つの領域に分割される。このうちの504が、分光画像オブジェクト501とグラフィックオブジェクト502が重なった重なり領域である。
【0025】
ここで、本実施形態におけるオブジェクトの重なり領域の分割について詳細に説明する。
【0026】
まず、透過合成処理の対象となる2つのオブジェクト、すなわち分光画像オブジェクト501とグラフィックオブジェクト502は、例えば、図6に示すようなデータ構造で表される。図6(a)は、オブジェクトのエッジ構成を示す図である。ここでエッジとは、x軸方向に沿った走査線と、オブジェクトの輪郭線とが交差するような点の集合であり、例えば直線近似された点列(E1〜E4)として表される。
【0027】
図6(b)は、分光画像オブジェクト501のデータ構造の一例を示す図である。同図において、Nameは、オブジェクトの名前であり、この例ではObject1である。Edgeは、オブジェクトを形作るエッジの集合であり、分光画像オブジェクト501は、図6(a)から明らかなようにE3とE4によって形作られている。Levelは、オブジェクトの奥行きを示し、より数字が小さいほうが奥にあるオブジェクトである旨を示し、この場合Levelが0であるから、分光画像オブジェクト501は最も奥にあるオブジェクトとして扱われる。FillTypeは、オブジェクトを塗りつぶす方法であり、分光画像オブジェクト501は分光画像によって塗りつぶされるので、ImageFillと表している。FillImageは、塗りつぶすイメージへのポインタであり、分光画像オブジェクト501ではこれがImage1である。このFillImageが示すポインタについては、図6(c)に詳細を示して後述する。FillImageTrasformMatrixは、イメージに対する拡大縮小・回転・変形・移動を行うためのアフィン変換行列を示し、このアフィン変換行列は、元画像の各ピクセルが、出力ラスタ画像のどのピクセルにマップされるかを表している。そしてAlphaは、オブジェクトに設定された透過度を示し、分光画像オブジェクト501は不透過であるため、1が設定される。なお、透過度Alphaは完全透過を示す0から、不透過を示す1の間の値で表されるものとする。
【0028】
図6(c)は、上記FillImageに塗潰し対象のイメージへのポインタとして設定されたImage1のデータ構造例を示す図である。同図において、Nameは、塗潰し対象となるイメージの名前である。Typeは、塗潰し対象となるイメージの色空間を表し、分光画像オブジェクト501を塗潰すImage1は分光画像であるので、LabPQRである。nChannelは、色空間のチャネル数であり、LabPQRは6チャネルである。BitDepthは、各チャネルが何ビットで表されるかを示し、Width,Heightはそれぞれ、画像の横のピクセル数、縦のピクセル数を表す。そしてDataは、塗潰し対象のイメージ(Image1)の実際のRAWデータであり、各ピクセルのLabPQRの値が順に格納されている。
【0029】
図6(d)は、グラフィックオブジェクト502のデータ構造の一例を示す図である。Name、Edge、Level、FillTypeについては、上述した図6(b)と同様である。例えばEdgeは、グラフィックオブジェクト502は、図6(a)に示すE1とE2によって形作られており、またグラフィックオブジェクト502は分光画像オブジェクト501よりも手前にあるので、Levelは1である。またFillTypeは、グラフィックオブジェクト502は一様に同じ色で塗られているのでFlatFillである。FillColorTypeは、塗る色の色空間を示し、グラフィックオブジェクト502ではRGBである。FillcolorNChannelは、色空間のチャネル数である。FillColorBitDepthは、各チャネルが何ビットで表されるか示す。FillColorDataは、塗潰す色の値である。Alphaは、オブジェクトに設定された透過度であり、グラフィックオブジェクト502は透過であるため、ここでは0.5と表している。
【0030】
図6に示すようなデータ構造からなる分光画像オブジェクト501とグラフィックオブジェクト502が、図4のS402において図5(b)に示すように分割されると、それぞれのデータ構造は図7に示すように変化する。
【0031】
まず図7(a)は、分割後のエッジ構成を示したものであり、図6(a)におけるE1がE5とE6に、E4がE7とE8に、それぞれ分割されていることが分かる。
【0032】
分光画像オブジェクト501は、図5(b)に示すように領域503と504に分割され、この各領域のデータ構造が、図7(b)に示したObject3と、図7(c)に示したObject4である。一方、グラフィックオブジェクト502は領域504と505に分割され、この各領域のデータ構造が、図7(d)に示したObject5と図7(e)に示したObject6である。以降、分割された各領域のデータ構造を、分割オブジェクトと称する。
【0033】
図7(b)は、分光画像オブジェクト501を分割した領域503に対する分割オブジェクト(Object3)を示すものであり、その各項目については、図6(b)で説明したものと同様である。Edgeは、図7(a)に示すようにE3とE6+E8とで、領域503を表している。なお、E6+E8の表記により、E6とE8をつなげたEdgeを表す。同様に図7(c)は、分光画像オブジェクト501を分割した領域504に対する分割オブジェクト(Object4)を示すものである。これらObject3およびObject4には、やはりFillImageによる塗潰し対象としてImage1の分光画像が設定されている。
【0034】
また図7(d)は、グラフィックオブジェクト502を分割した領域505に対する分割オブジェクト(Object5)を示すものであり、その各項目については、図6(d)で説明したものと同様である。また図7(e)は、グラフィックオブジェクト502を分割した領域504に対する分割オブジェクト(Object6)を示すものである。
【0035】
S402ではすなわち、複数の分割オブジェクトが共通する領域(Edge)に対して存在する場合に、この領域を重なり領域として抽出する。図5に示す分割例によれば、図7(c),(e)に示すObject4,Object6が、Edgeの値が共通であるため、該Edge(E6,E7)に対応する領域504が、重なり領域として抽出される。
【0036】
ここで図8に、分割された各領域に対する本実施形態での処理の概要を示す。例えば領域503に対しては、不透過な分光画像オブジェクトであるので、LabPQR色空間上のデータがそのまま色材量データへ変換される。また領域505に対しては、透過なグラフィックオブジェクトであるので、背景と透過合成した後、色材量データへ変換される。そして2つのオブジェクトからなる重なり領域504に対しては、本実施形態の特徴である透過合成処理(図4のS403〜S409)が施された後、色材量データへ変換される。
【0037】
以下、S402で抽出された重なり領域に対する、本実施形態における透過合成処理(S403〜S409)について説明する。
【0038】
S403では色空間判定部303において、S402で抽出された重なり領域に対する複数の分割オブジェクトのひとつ(以下、注目オブジェクト)について、その色空間が透過合成を行うための色空間であるか否か、すなわちRGBであるか否かを判断する。なお、本実施形態ではRGB色空間上で透過合成を行うとするが、もちろん、他の色空間(例えば、CMYK,Lab,XYZ等)上で行うとしても良い。注目オブジェクトの色空間がRGBであれば該注目オブジェクトに対する処理は終了するが、そうでなければS404に進み、注目オブジェクトの色空間が、分光情報を含む第1の色空間であるところのLabPQRであるか否かを判断する。なおLabPQR色空間は上述したように、刺激値を示す基本成分Labと、分光情報を示す追加成分PQRから構成されている。
【0039】
上記色空間判定の結果、色空間がLabPQRであればS405に進み第1の色空間変換を行う。すなわちS405では色空間変換部304において、LabPQR色空間で表現される注目オブジェクトを、その追加成分PQRは使用せずに基本成分Labのみを用いて、合成用の第2の色空間であるところのRGB色空間に変換する。なおこのとき、PQRを使用せずにRGB色空間への変換が行われた旨を示す変換フラグをONとする。一方、色空間がLabPQRでなければ、S406で第2の色空間変換を行う。すなわちS406では色空間変換部304において、LabPQRでない注目オブジェクトの色空間を、通常の方法で合成用の第2の色空間であるところのRGB色空間に変換する。
【0040】
なお、注目オブジェクトの色空間は、該領域のデータ構造におけるFillTypeやFillImage、FillColorType等を参照することで、容易に判定できる。例えば本実施形態の場合、重なり領域504に対する分割オブジェクトとしてObject4とObject6が存在するが、Object4については、そのFillTypeがImageFillであり、FillImageがImage1を指す。したがって、Object4の色空間はImage1のデータよりLabPQRであると判定される。またObject6については、そのFillTypeがFlatFillであり、FillColorTypeがRGBであることから、色空間はRGBであると判定される。したがって、Object4についてはその色空間がLabPQRであるから、S405でPQRを使用せずにRGBに変換さる。一方、Object6についてはその色空間がもともとRGBであるから、S403での判定により変換処理は行われない。
【0041】
ここで、S405におけるLabPQRからRGBへの色空間変換について説明する。例えば、本実施形態ではsRGB空間上で透過合成を行うとすると、LabPQRからsRGBへの、PQRを使用しない変換は以下のように行われる。まず、LabPQRからLabへの変換を行う。例えば、(L,a,b,P,Q,R)=(L0,a0,b0,P0,Q0,R0)とすると、(L,a,b)=(L0,a0,b0)として変換する。つまり、LabPQRに含まれるLabの各値そのものを用いる。そして、得られたLabからXYZへの変換を行い、最後にXYZからsRGBへの変換を行う。
【0042】
なお、透過合成を行う色空間はsRGBである必要はなく、例えば、プリンタに固有のデバイスRGBで行ってもよい。この場合、デバイスRGBへの変換は、LUT(Look Up Table)を参照することによって行えば良い。このLUTは例えば、(L,a,b)=(44,69,60)を入力すると、(R,G,B)=(204,0,0)を出力するというような対応関係が、全て、または代表的なL,a,bの組み合わせについて用意されているような3次元のテーブルである。LUTは、実際にプリンタで出力したカラーパッチを測色することで作成可能である。なお、代表的なLab値を備えたLUTを利用する場合等、求めるLab値がテーブル要素として存在しない場合には、その前後の値による補間演算を適用すれば良い。
【0043】
また、S405におけるRGBへの変換方法としては、PQRを全く使用しない方法に限らず、PQRのデータ量を削減するように変換して用いる方法も適用可能である。例えば、LabPQRのPQRとして(0,0,0)や(255,255,255)などの固定値を設定して、LabPQRからRGBへ6次元のLUTを参照して変換を行っても良い。また、PQRの各値を複数の基準値のいずれかに変換した値、例えば1の位を四捨五入して丸めた値を用いて、LabPQRからRGBへ6次元のLUTによる変換を行っても良い。
【0044】
上述したように本実施形態では、Object4についてLabPQRからRGBへの色空間変換がなされるが、実際に変換されるのは、そのFillImageによって示された、分光画像を示すImage1の分割オブジェクトである。ここで図9に、Image1の色空間をLabPQRからRGBに変換した後のデータ構造を示している。各項目については、図6(c)で説明したものと同様であるが、図9によれば、図6(c)に対してTypeがLabPQRからRGBに変わり、nChannelも6から3に変わっている。また、Dataについても各ピクセルに対してRGB色空間への変換がなされていることが分かる。
【0045】
以上のように注目オブジェクトについてRGBへの色空間変換が終了すると、S407で、S402で抽出された重なり領域に対する全ての分割オブジェクトについて、上記S403〜S406の処理が終了したか否かを判定する。終了していればS408に進むが、未終了であれば未処理の分割オブジェクトを注目オブジェクトとして、S403に戻る。なお、ここではひとつの重なり領域に対する色空間変換処理を行う例を示したが、S402で抽出された重なり領域が複数であれば、もちろんそれぞれの重なり領域に対して、上記S403〜S406による色空間変換を行えば良い。そして、全ての重なり領域に対する処理が終了すると、S408に進む。
【0046】
S408では、上記S405においてPQRを使用しない色空間変換が実行されていれば、通知処理部305によって、分光情報を用いずに処理がなされた旨をユーザに通知する。この通知の可否は、S405において変換フラグがONとなったか否かに基づいて行えば良い。ここで図10に、この変換通知として表示装置105に表示するポップアップメッセージの一例を示す。同図によれば、印刷中のページ番号を示すとともに、透過合成処理の際に分光情報を落とした部分がある旨がユーザに通知される。なお、S405における変換がなされなかった場合には、通知そのものを行わないか、または図10のように印刷ページの表示のみを行う。
【0047】
次にS409で透過合成処理部306において、S402で抽出された重なり領域504に対する透過合成処理を、第2の色空間上、すなわちRGB色空間上で行う。この透過合成処理は以下のように行われる。例えば、重なり領域504における、分光画像オブジェクト501に対応するピクセルのRGB値を(Rb,Gb,Bb)、グラフィックオブジェクト502の対応するピクセルのRGB値を(Rf,Gf,Bf)とする。さらに、グラフィックオブジェクト502に設定された透過度を示すAlphaの値をαとすると、合成後の値、すなわち合成画像のRGB値(R,G,B)は以下のように算出される。
【0048】
R=α×Rf+(1-α)×Rb
G=α×Gf+(1-α)×Gb
B=α×Bf+(1-α)×Bb
そしてS410でデータ変換部307において、S409での合成結果として算出された合成画像のRGB値を、印刷用の色材量データへ変換する。本実施形態において透過合成計算後の色空間はRGBであるので、RGB値から色材量データへの変換は、予め与えられたLUTを用いて行えば良い。なお、この色材量変換に用いられるLUTは、予め印刷したパッチを測色することで作成される。
【0049】
なお、S403〜S409は2つのオブジェクトが重なった重なり領域504についての処理であり、該重なり領域以外、すなわちオブジェクトが重ならない他の領域については上述したように、そのまま色材量データへの変換が行われる。すなわちS410ではデータ変換部307において、領域503については不透過な分光画像オブジェクトであるので、LabPQR色空間からそのまま色材量データへ変換する。また領域505については透過なグラフィックオブジェクトであるので、背景と透過合成した後、色材量データへ変換する。
【0050】
以上説明したように本実施形態によれば、分光画像を含むオブジェクトが重なった領域において、第1の色空間であるLabPQRから第2の色空間であるRGB色空間への変換の際に、PQR成分を使用せずにLab成分のみからRGB色空間へ変換する。したがって、この変換を演算によって行う場合、LabPQRからRGBへの変換は通常は6次元から3次元への変換であるが、本実施形態ではPQRを使用しないことによって3次元から3次元への変換になるため、演算量が削減できる。また、この変換をLUTを用いて行う場合にも、通常は6次元から3次元へのLUTが必要であるが、本実施形態では3次元から3次元へのLUTを用意すれば良い。もしくは、6次元から3次元へのLUTを用いるとしても、PQRとして固定値や丸め値を用いることでそのとりうる値の幅が小さくなるため、LUTのサイズが小さくて済む。
【0051】
<変形例>
なお、本実施形態では透過合成処理をプリンタドライバによって行う例を示したが、同処理をプリンタコントローラにおいて行うことも可能である。この場合、システム構成は図1と同様であるが、その機能構成としては、図2におけるドライバUI入力部202およびドライバUI出力部203がそれぞれコントローラUI入力部、コントローラUI出力部となる。そしてさらに、印刷データを生成していた印刷データ生成部205が、既に生成されている印刷データを読み出すデータ読み出し部となる。また、プリンタコントローラでの透過合成処理も、上述した図4のフローチャートと同様である。ただし、S405でユーザ通知として表示されるポップアップメッセージはプリンタ制御パネルに表示され、図10で示すような印刷中のページ番号は通知されないが、透過合成処理の際に分光情報を落とした部分がある旨は同様に通知される。
【0052】
また、本実施形態では、オブジェクトを分割し、重なりのあるオブジェクトについてのみ、RGB色空間への変換を行う例を示したが、オブジェクトを分割せずに、オブジェクト全体をRGB色空間に変換するようにしても良い。
【0053】
また、本実施形態では、印刷データを色材量データにラスタライズする例を示したが、分光画像の透過合成処理を含むような処理であれば、このようなラスタライズ処理に限らない。例えば、印刷データの一部のみをラスタライズ、透過合成処理した後、また別の印刷データに変換するようなシステムに本発明を適用しても良い。
【0054】
また、本実施形態では、分光画像の色空間を全てLabPQRであるとして説明したが、基本刺激値成分と分光追加情報成分とで構成されるような色空間であれば、本発明が適用可能である。
【0055】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、複数のオブジェクト画像が重なった領域の透過合成処理を行う画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
被写体をカメラで撮影しプリンタで出力した出力画像を、オリジナルの被写体と比較した場合、ある環境光下では見た目が同じであっても、別の環境光下では見た目が異なってしまうことがある。この現象はメタメリズムと呼ばれ、被写体の分光反射率と、出力画像の分光反射率とが異なることに起因する。近年、被写体をマルチバンドカメラで撮影することによって、その分光反射率を分光情報として取得し、特色インクを搭載したプリンタによって該分光情報に応じた出力を行うことで、メタメリズムを解決する方法が提案されている。
【0003】
しかしながら、分光情報は、従来の三刺激値を用いた色再現による色情報に比べ、著しくデータ量が増加するという問題がある。この問題を解決するために、6次元のLabPQRという色空間を用いて分光情報を圧縮する方法が提案されている(非特許文献1参照)。LabPQR色空間は、基本刺激値L*a*b*成分を含んでいるため、特に分光情報を必要しないユーザにとっても扱いやすい形式であるという特徴がある。以降、基本刺激値L*a*b*を必要に応じてLabと記載する。
【0004】
このような分光情報を含む画像(以下、分光画像)のユースケースとして、例えば絵画等の文化遺産の複製が考えられる。このようなユースケースにおいては、通常のカメラによって取得した基本刺激値のみを用いて文化遺産を複製するとメタメリズムが発生しうるため、分光情報を用いることが望ましい。
【0005】
図11は、マルチバンドカメラによって取得した文化遺産の分光情報を一度LabPQRに圧縮し、特色インクプリンタで印刷して複製する場合の主な処理の流れを示す図である。マルチバンドカメラ1101で取得された分光情報1102は、分光情報圧縮処理1103によって、LabPQRで表された画像1104に圧縮される。LabPQRで表された画像1104は、色材量データ変換処理1105によって色材量データ1106に変換される。色材量データ1106は、特色インクプリンタ1107によって印刷される。LabPQRは、非圧縮の分光情報に比べデータ量が小さいので、データを転送する場合や、保存する場合に有利である。
【0006】
また、分光画像の別のユースケースとして、商品のカタログ印刷が考えられる。ここで、通信販売のカタログを見てカーテンを注文する、というケース考える。このような場合、現状の三刺激値を用いた色再現システムでは、カタログ上での色と、購入者がカーテンの実物を実際に使用する環境光下においた際に見える色とが異なってしまうことがある。
【0007】
このようなカタログと実物との色の違いを解決するためには、マルチバンドカメラで取得したカーテンの分光画像を、カタログ写真として印刷すれば良い。これにより、カタログ写真がカーテンの実物とほぼ同じ分光反射率を有することになるため、購入者が実際に使用する環境光下でカタログを見ることで、カーテンの色を確認することができる。
【0008】
このようなカタログ作成システムにおける処理の流れは、例えば以下のようになる。まず、マルチバンドカメラによって分光画像を取得し、編集アプリケーションによって、分光画像とコンピュータグラフィクスや文字を一緒に加工して印刷データを作成する。この印刷データは、RIP(Raster Image Processor)によって色材量データに変換され、特色インクプリンタによって該色材量データが印刷される。なお、文化遺産の複製とは異なり、カタログの印刷データは分光画像の他にコンピュータグラフィクスや文字等を含むため、より高度なRIPが必要になる。以降、印刷データに含まれる、画像やコンピュータグラフィクス、文字等の要素をまとめてオブジェクト画像と称する。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】M.Derhak,M.Rosen,"Spectral Colorimetry Using LabPQR-An Interim Connection Space"。「Color Imaging Conference 2004」米国、Imaging Science and Technology,2004.Nov.page246-250
【発明の概要】
【発明が解決しようとする課題】
【0010】
分光画像が上述したLabPQRで表されていた場合、RIPにおいては、該分光画像を単なる多チャンネル画像として扱うことが可能である。しかしながら、圧縮されているとはいえLabPQRは6チャネルであり、通常の画像が3チャネルないし4チャネルであることを考えると、扱うデータ量はかなり増えることになる。
【0011】
ここで、複数のオブジェクト画像が重なった領域の透過合成処理について考える。RIP内での透過合成処理では、透過合成を行う色同士を同じ色空間に変換する必要があり、通常はRGBで透過合成を行う。したがって、LabPQRで表された分光画像に対して透過合成処理を行う場合には、分光画像の色空間をLabPQRからRGBに変換する必要があり、その演算量は膨大となってしまう。
【0012】
ただし、分光画像に対して透過合成処理を施すようなユーザであれば、環境光によらず実物と近い色が再現できるという分光画像の特徴をもはや求めていないものと考えられる。したがって、分光画像に対する従来の透過合成処理においては、基本三刺激値を用いた色再現精度が得られれば十分であるにも関わらず、分光情報をも含めた膨大な演算量をこなす必要があった。
【0013】
本発明は上述した問題を解決するためになされたものであり、被写体の分光反射率を用いて表現された画像に対し、他の画像との透過合成処理を行う際に、演算量を削減可能な画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。
【0015】
すなわち、被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理装置であって、合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定手段と、前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値のみを用いて第2の色空間で表現される画像に変換する第1の色空間変換手段と、前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換手段と、前記第1および第2の色空間変換手段により前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成手段と、を有することを特徴とする。
【発明の効果】
【0016】
上記構成からなる本発明によれば、被写体の分光反射率を用いて表現された画像に対し、他の画像との透過合成処理を行う際に、色空間変換すべきデータ量が削減され、演算量を大幅に削減することが可能である。
【図面の簡単な説明】
【0017】
【図1】第1実施形態におけるシステム構成を示す図、
【図2】第1実施形態における機能構成を示すブロック図、
【図3】第1実施形態の描画部における機能構成を示すブロック図、
【図4】第1実施形態における透過合成処理を示すフローチャート、
【図5】第1実施形態において互いに重なったオブジェクトの分割例を示す図、
【図6】第1実施形態における分割前の各オブジェクトのデータ構造を示す図、
【図7】第1実施形態における分割後の各オブジェクトのデータ構造を示す図、
【図8】第1実施形態における分割後の各領域に対する処理概要を示す図、
【図9】第1実施形態における色空間変換後のオブジェクトのデータ構造を示す図、
【図10】第1実施形態における表示メッセージ例を示す図、
【図11】マルチバンドカメラと特色インクプリンタを用いた印刷システムの主な処理を示す図、である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0019】
<第1実施形態>
本実施形態においては、被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する。図1は、本実施形態が適用される画像処理システムの構成を示すブロック図である。同図において、101は中央演算装置(CPU)、102は主記憶装置(メインメモリ)、103は補助記憶装置(例えば、ハードディスク)である。104は入力装置(例えば、マウス、キーボード、プリンタ制御パネル)、105は表示装置(例えば、ディスプレイ、液晶パネル)、106は画像形成装置(プリンタエンジン)、107はバスである。補助記憶装置103には、プリンタドライバをはじめとするプログラムやデータが記憶されている。これらのプログラムならびにデータは、入力装置104からの信号に基づきCPU101の制御のもと、バス107を通じて適宜主記憶装置102に読み込まれ、CPU101によって実行される。なお、本実施形態における透過合成処理は、プリンタドライバによって行われる。印刷プレビューなどは適宜表示装置105に表示される。入力装置104からの信号によっては、主記憶装置に記憶されたデータが、バス107を通じて画像形成装置106に送られ印刷される。
【0020】
図2は、本実施形態における印刷処理、すなわち、生成された印刷データをプリンタドライバによってラスタライズし、印刷するまでの処理を行う機能構成を示す図である。まず、印刷データ生成部205によって生成された印刷データ206は、印刷データ解釈部207で解釈される。一方、入力部201からドライバUI入力部202(UI:User Interface)に入力された操作内容は、印刷設定として印刷データ解釈部207に渡される。ドライバUI入力部202に入力された操作内容に応じた処理結果は、適宜ドライバUI出力部203に反映され、表示部204に出力される。印刷データ解釈部207によって生成された描画命令は、描画部208に渡されてレンダリングされる。描画部208から出力されるレンダリングの結果である色材量データ209は、出力部210に送られ、印刷される。
【0021】
図3は、図2における描画部208内での主な機能構成を示す図である。印刷データ解釈部207が生成した描画命令は、オブジェクト選択部301に渡される。オブジェクト選択部301では、描画命令中の透過合成処理が必要なオブジェクト画像(以下、オブジェクト)が選択される。選択された個々のオブジェクトは、領域分割部302において領域分割される。色空間判定部303は、必要な領域について色空間の判定を行う部分である。色空間変換部304は、色空間判定部303における判定結果に基づき、必要なオブジェクトについて色空間変換を行う部分である。通知処理部305は、色空間変換部304によって特定の色空間変換が行われた場合に、その旨を報知するためにドライバUI出力部203に対してメッセージを出力する部分である。透過合成処理部306は、同じ色空間で表現された複数のオブジェクトを透過合成する部分である。データ変換部307は、所定の色空間で表現された画像データから、印刷時に使用される色材の量を示す色材量データ209への変換を行う部分である。
【0022】
以下、描画部208における、透過合成処理を伴うレンダリング処理について、図4のフローチャートを用いて詳細に説明する。
【0023】
まずS401でオブジェクト選択部301において、合成対象となるオブジェクトの選択を行う。本実施形態では、その一部が重なった2つのオブジェクトが選択される場合を例とする。例えば図5(a)に示すように、そのデータ構造に分光情報を含む不透過な分光画像オブジェクトに、透過なグラフィックオブジェクトが重なる場合について、以下の説明を行うとする。
【0024】
次にS402では領域分割部302において、オブジェクトを分割して、複数のオブジェクトが重なった重なり領域を抽出する。図5(b)に、ここでの分割および抽出例を示す。すなわち、同図に示すように不透過な分光画像オブジェクト501の上に透過なグラフィックオブジェクト502が重なっている場合、これら2つのオブジェクトは、領域503,504,505の3つの領域に分割される。このうちの504が、分光画像オブジェクト501とグラフィックオブジェクト502が重なった重なり領域である。
【0025】
ここで、本実施形態におけるオブジェクトの重なり領域の分割について詳細に説明する。
【0026】
まず、透過合成処理の対象となる2つのオブジェクト、すなわち分光画像オブジェクト501とグラフィックオブジェクト502は、例えば、図6に示すようなデータ構造で表される。図6(a)は、オブジェクトのエッジ構成を示す図である。ここでエッジとは、x軸方向に沿った走査線と、オブジェクトの輪郭線とが交差するような点の集合であり、例えば直線近似された点列(E1〜E4)として表される。
【0027】
図6(b)は、分光画像オブジェクト501のデータ構造の一例を示す図である。同図において、Nameは、オブジェクトの名前であり、この例ではObject1である。Edgeは、オブジェクトを形作るエッジの集合であり、分光画像オブジェクト501は、図6(a)から明らかなようにE3とE4によって形作られている。Levelは、オブジェクトの奥行きを示し、より数字が小さいほうが奥にあるオブジェクトである旨を示し、この場合Levelが0であるから、分光画像オブジェクト501は最も奥にあるオブジェクトとして扱われる。FillTypeは、オブジェクトを塗りつぶす方法であり、分光画像オブジェクト501は分光画像によって塗りつぶされるので、ImageFillと表している。FillImageは、塗りつぶすイメージへのポインタであり、分光画像オブジェクト501ではこれがImage1である。このFillImageが示すポインタについては、図6(c)に詳細を示して後述する。FillImageTrasformMatrixは、イメージに対する拡大縮小・回転・変形・移動を行うためのアフィン変換行列を示し、このアフィン変換行列は、元画像の各ピクセルが、出力ラスタ画像のどのピクセルにマップされるかを表している。そしてAlphaは、オブジェクトに設定された透過度を示し、分光画像オブジェクト501は不透過であるため、1が設定される。なお、透過度Alphaは完全透過を示す0から、不透過を示す1の間の値で表されるものとする。
【0028】
図6(c)は、上記FillImageに塗潰し対象のイメージへのポインタとして設定されたImage1のデータ構造例を示す図である。同図において、Nameは、塗潰し対象となるイメージの名前である。Typeは、塗潰し対象となるイメージの色空間を表し、分光画像オブジェクト501を塗潰すImage1は分光画像であるので、LabPQRである。nChannelは、色空間のチャネル数であり、LabPQRは6チャネルである。BitDepthは、各チャネルが何ビットで表されるかを示し、Width,Heightはそれぞれ、画像の横のピクセル数、縦のピクセル数を表す。そしてDataは、塗潰し対象のイメージ(Image1)の実際のRAWデータであり、各ピクセルのLabPQRの値が順に格納されている。
【0029】
図6(d)は、グラフィックオブジェクト502のデータ構造の一例を示す図である。Name、Edge、Level、FillTypeについては、上述した図6(b)と同様である。例えばEdgeは、グラフィックオブジェクト502は、図6(a)に示すE1とE2によって形作られており、またグラフィックオブジェクト502は分光画像オブジェクト501よりも手前にあるので、Levelは1である。またFillTypeは、グラフィックオブジェクト502は一様に同じ色で塗られているのでFlatFillである。FillColorTypeは、塗る色の色空間を示し、グラフィックオブジェクト502ではRGBである。FillcolorNChannelは、色空間のチャネル数である。FillColorBitDepthは、各チャネルが何ビットで表されるか示す。FillColorDataは、塗潰す色の値である。Alphaは、オブジェクトに設定された透過度であり、グラフィックオブジェクト502は透過であるため、ここでは0.5と表している。
【0030】
図6に示すようなデータ構造からなる分光画像オブジェクト501とグラフィックオブジェクト502が、図4のS402において図5(b)に示すように分割されると、それぞれのデータ構造は図7に示すように変化する。
【0031】
まず図7(a)は、分割後のエッジ構成を示したものであり、図6(a)におけるE1がE5とE6に、E4がE7とE8に、それぞれ分割されていることが分かる。
【0032】
分光画像オブジェクト501は、図5(b)に示すように領域503と504に分割され、この各領域のデータ構造が、図7(b)に示したObject3と、図7(c)に示したObject4である。一方、グラフィックオブジェクト502は領域504と505に分割され、この各領域のデータ構造が、図7(d)に示したObject5と図7(e)に示したObject6である。以降、分割された各領域のデータ構造を、分割オブジェクトと称する。
【0033】
図7(b)は、分光画像オブジェクト501を分割した領域503に対する分割オブジェクト(Object3)を示すものであり、その各項目については、図6(b)で説明したものと同様である。Edgeは、図7(a)に示すようにE3とE6+E8とで、領域503を表している。なお、E6+E8の表記により、E6とE8をつなげたEdgeを表す。同様に図7(c)は、分光画像オブジェクト501を分割した領域504に対する分割オブジェクト(Object4)を示すものである。これらObject3およびObject4には、やはりFillImageによる塗潰し対象としてImage1の分光画像が設定されている。
【0034】
また図7(d)は、グラフィックオブジェクト502を分割した領域505に対する分割オブジェクト(Object5)を示すものであり、その各項目については、図6(d)で説明したものと同様である。また図7(e)は、グラフィックオブジェクト502を分割した領域504に対する分割オブジェクト(Object6)を示すものである。
【0035】
S402ではすなわち、複数の分割オブジェクトが共通する領域(Edge)に対して存在する場合に、この領域を重なり領域として抽出する。図5に示す分割例によれば、図7(c),(e)に示すObject4,Object6が、Edgeの値が共通であるため、該Edge(E6,E7)に対応する領域504が、重なり領域として抽出される。
【0036】
ここで図8に、分割された各領域に対する本実施形態での処理の概要を示す。例えば領域503に対しては、不透過な分光画像オブジェクトであるので、LabPQR色空間上のデータがそのまま色材量データへ変換される。また領域505に対しては、透過なグラフィックオブジェクトであるので、背景と透過合成した後、色材量データへ変換される。そして2つのオブジェクトからなる重なり領域504に対しては、本実施形態の特徴である透過合成処理(図4のS403〜S409)が施された後、色材量データへ変換される。
【0037】
以下、S402で抽出された重なり領域に対する、本実施形態における透過合成処理(S403〜S409)について説明する。
【0038】
S403では色空間判定部303において、S402で抽出された重なり領域に対する複数の分割オブジェクトのひとつ(以下、注目オブジェクト)について、その色空間が透過合成を行うための色空間であるか否か、すなわちRGBであるか否かを判断する。なお、本実施形態ではRGB色空間上で透過合成を行うとするが、もちろん、他の色空間(例えば、CMYK,Lab,XYZ等)上で行うとしても良い。注目オブジェクトの色空間がRGBであれば該注目オブジェクトに対する処理は終了するが、そうでなければS404に進み、注目オブジェクトの色空間が、分光情報を含む第1の色空間であるところのLabPQRであるか否かを判断する。なおLabPQR色空間は上述したように、刺激値を示す基本成分Labと、分光情報を示す追加成分PQRから構成されている。
【0039】
上記色空間判定の結果、色空間がLabPQRであればS405に進み第1の色空間変換を行う。すなわちS405では色空間変換部304において、LabPQR色空間で表現される注目オブジェクトを、その追加成分PQRは使用せずに基本成分Labのみを用いて、合成用の第2の色空間であるところのRGB色空間に変換する。なおこのとき、PQRを使用せずにRGB色空間への変換が行われた旨を示す変換フラグをONとする。一方、色空間がLabPQRでなければ、S406で第2の色空間変換を行う。すなわちS406では色空間変換部304において、LabPQRでない注目オブジェクトの色空間を、通常の方法で合成用の第2の色空間であるところのRGB色空間に変換する。
【0040】
なお、注目オブジェクトの色空間は、該領域のデータ構造におけるFillTypeやFillImage、FillColorType等を参照することで、容易に判定できる。例えば本実施形態の場合、重なり領域504に対する分割オブジェクトとしてObject4とObject6が存在するが、Object4については、そのFillTypeがImageFillであり、FillImageがImage1を指す。したがって、Object4の色空間はImage1のデータよりLabPQRであると判定される。またObject6については、そのFillTypeがFlatFillであり、FillColorTypeがRGBであることから、色空間はRGBであると判定される。したがって、Object4についてはその色空間がLabPQRであるから、S405でPQRを使用せずにRGBに変換さる。一方、Object6についてはその色空間がもともとRGBであるから、S403での判定により変換処理は行われない。
【0041】
ここで、S405におけるLabPQRからRGBへの色空間変換について説明する。例えば、本実施形態ではsRGB空間上で透過合成を行うとすると、LabPQRからsRGBへの、PQRを使用しない変換は以下のように行われる。まず、LabPQRからLabへの変換を行う。例えば、(L,a,b,P,Q,R)=(L0,a0,b0,P0,Q0,R0)とすると、(L,a,b)=(L0,a0,b0)として変換する。つまり、LabPQRに含まれるLabの各値そのものを用いる。そして、得られたLabからXYZへの変換を行い、最後にXYZからsRGBへの変換を行う。
【0042】
なお、透過合成を行う色空間はsRGBである必要はなく、例えば、プリンタに固有のデバイスRGBで行ってもよい。この場合、デバイスRGBへの変換は、LUT(Look Up Table)を参照することによって行えば良い。このLUTは例えば、(L,a,b)=(44,69,60)を入力すると、(R,G,B)=(204,0,0)を出力するというような対応関係が、全て、または代表的なL,a,bの組み合わせについて用意されているような3次元のテーブルである。LUTは、実際にプリンタで出力したカラーパッチを測色することで作成可能である。なお、代表的なLab値を備えたLUTを利用する場合等、求めるLab値がテーブル要素として存在しない場合には、その前後の値による補間演算を適用すれば良い。
【0043】
また、S405におけるRGBへの変換方法としては、PQRを全く使用しない方法に限らず、PQRのデータ量を削減するように変換して用いる方法も適用可能である。例えば、LabPQRのPQRとして(0,0,0)や(255,255,255)などの固定値を設定して、LabPQRからRGBへ6次元のLUTを参照して変換を行っても良い。また、PQRの各値を複数の基準値のいずれかに変換した値、例えば1の位を四捨五入して丸めた値を用いて、LabPQRからRGBへ6次元のLUTによる変換を行っても良い。
【0044】
上述したように本実施形態では、Object4についてLabPQRからRGBへの色空間変換がなされるが、実際に変換されるのは、そのFillImageによって示された、分光画像を示すImage1の分割オブジェクトである。ここで図9に、Image1の色空間をLabPQRからRGBに変換した後のデータ構造を示している。各項目については、図6(c)で説明したものと同様であるが、図9によれば、図6(c)に対してTypeがLabPQRからRGBに変わり、nChannelも6から3に変わっている。また、Dataについても各ピクセルに対してRGB色空間への変換がなされていることが分かる。
【0045】
以上のように注目オブジェクトについてRGBへの色空間変換が終了すると、S407で、S402で抽出された重なり領域に対する全ての分割オブジェクトについて、上記S403〜S406の処理が終了したか否かを判定する。終了していればS408に進むが、未終了であれば未処理の分割オブジェクトを注目オブジェクトとして、S403に戻る。なお、ここではひとつの重なり領域に対する色空間変換処理を行う例を示したが、S402で抽出された重なり領域が複数であれば、もちろんそれぞれの重なり領域に対して、上記S403〜S406による色空間変換を行えば良い。そして、全ての重なり領域に対する処理が終了すると、S408に進む。
【0046】
S408では、上記S405においてPQRを使用しない色空間変換が実行されていれば、通知処理部305によって、分光情報を用いずに処理がなされた旨をユーザに通知する。この通知の可否は、S405において変換フラグがONとなったか否かに基づいて行えば良い。ここで図10に、この変換通知として表示装置105に表示するポップアップメッセージの一例を示す。同図によれば、印刷中のページ番号を示すとともに、透過合成処理の際に分光情報を落とした部分がある旨がユーザに通知される。なお、S405における変換がなされなかった場合には、通知そのものを行わないか、または図10のように印刷ページの表示のみを行う。
【0047】
次にS409で透過合成処理部306において、S402で抽出された重なり領域504に対する透過合成処理を、第2の色空間上、すなわちRGB色空間上で行う。この透過合成処理は以下のように行われる。例えば、重なり領域504における、分光画像オブジェクト501に対応するピクセルのRGB値を(Rb,Gb,Bb)、グラフィックオブジェクト502の対応するピクセルのRGB値を(Rf,Gf,Bf)とする。さらに、グラフィックオブジェクト502に設定された透過度を示すAlphaの値をαとすると、合成後の値、すなわち合成画像のRGB値(R,G,B)は以下のように算出される。
【0048】
R=α×Rf+(1-α)×Rb
G=α×Gf+(1-α)×Gb
B=α×Bf+(1-α)×Bb
そしてS410でデータ変換部307において、S409での合成結果として算出された合成画像のRGB値を、印刷用の色材量データへ変換する。本実施形態において透過合成計算後の色空間はRGBであるので、RGB値から色材量データへの変換は、予め与えられたLUTを用いて行えば良い。なお、この色材量変換に用いられるLUTは、予め印刷したパッチを測色することで作成される。
【0049】
なお、S403〜S409は2つのオブジェクトが重なった重なり領域504についての処理であり、該重なり領域以外、すなわちオブジェクトが重ならない他の領域については上述したように、そのまま色材量データへの変換が行われる。すなわちS410ではデータ変換部307において、領域503については不透過な分光画像オブジェクトであるので、LabPQR色空間からそのまま色材量データへ変換する。また領域505については透過なグラフィックオブジェクトであるので、背景と透過合成した後、色材量データへ変換する。
【0050】
以上説明したように本実施形態によれば、分光画像を含むオブジェクトが重なった領域において、第1の色空間であるLabPQRから第2の色空間であるRGB色空間への変換の際に、PQR成分を使用せずにLab成分のみからRGB色空間へ変換する。したがって、この変換を演算によって行う場合、LabPQRからRGBへの変換は通常は6次元から3次元への変換であるが、本実施形態ではPQRを使用しないことによって3次元から3次元への変換になるため、演算量が削減できる。また、この変換をLUTを用いて行う場合にも、通常は6次元から3次元へのLUTが必要であるが、本実施形態では3次元から3次元へのLUTを用意すれば良い。もしくは、6次元から3次元へのLUTを用いるとしても、PQRとして固定値や丸め値を用いることでそのとりうる値の幅が小さくなるため、LUTのサイズが小さくて済む。
【0051】
<変形例>
なお、本実施形態では透過合成処理をプリンタドライバによって行う例を示したが、同処理をプリンタコントローラにおいて行うことも可能である。この場合、システム構成は図1と同様であるが、その機能構成としては、図2におけるドライバUI入力部202およびドライバUI出力部203がそれぞれコントローラUI入力部、コントローラUI出力部となる。そしてさらに、印刷データを生成していた印刷データ生成部205が、既に生成されている印刷データを読み出すデータ読み出し部となる。また、プリンタコントローラでの透過合成処理も、上述した図4のフローチャートと同様である。ただし、S405でユーザ通知として表示されるポップアップメッセージはプリンタ制御パネルに表示され、図10で示すような印刷中のページ番号は通知されないが、透過合成処理の際に分光情報を落とした部分がある旨は同様に通知される。
【0052】
また、本実施形態では、オブジェクトを分割し、重なりのあるオブジェクトについてのみ、RGB色空間への変換を行う例を示したが、オブジェクトを分割せずに、オブジェクト全体をRGB色空間に変換するようにしても良い。
【0053】
また、本実施形態では、印刷データを色材量データにラスタライズする例を示したが、分光画像の透過合成処理を含むような処理であれば、このようなラスタライズ処理に限らない。例えば、印刷データの一部のみをラスタライズ、透過合成処理した後、また別の印刷データに変換するようなシステムに本発明を適用しても良い。
【0054】
また、本実施形態では、分光画像の色空間を全てLabPQRであるとして説明したが、基本刺激値成分と分光追加情報成分とで構成されるような色空間であれば、本発明が適用可能である。
【0055】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理装置であって、
合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定手段と、
前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値のみを用いて第2の色空間で表現される画像に変換する第1の色空間変換手段と、
前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換手段と、
前記第1および第2の色空間変換手段により前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項2】
被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理装置であって、
合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定手段と、
前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値と、データ量を削減するように変換した前記追加成分の値とを用いて、第2の色空間で表現される画像に変換する第1の色空間変換手段と、
前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換手段と、
前記第1および第2の色空間変換手段により前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項3】
前記第1の色空間変換手段は、前記追加成分の値を予め定められた固定値に変換することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記第1の色空間変換手段は、前記追加成分の値を予め定められた複数の基準値のいずれかに変換することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
さらに、前記合成手段による前記第2の色空間上での合成結果として得られる合成画像を、該合成画像の印刷時における色材量データへ変換する色材量変換手段を有することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
さらに、前記複数の画像が重なった重なり領域を該複数の画像のそれぞれから抽出する抽出手段を有し、
前記第1および第2の色空間変換手段、および前記合成手段、および前記色材量変換手段は、前記複数の画像のそれぞれにおける前記重なり領域について処理を行い、
前記色材量変換手段はさらに、前記複数の画像のそれぞれにおける前記重なり領域以外の領域について、それぞれの色空間上の値から前記色材量データへ変換する
ことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記複数の画像のそれぞれは、個々のオブジェクトを示すオブジェクト画像であることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
さらに、前記第1の色空間変換手段による変換がなされた場合に、その旨を報知する報知手段を有することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理方法であって、
合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定ステップと、
前記複数の画像のうち、前記色空間判定ステップにおいて前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値のみを用いて第2の色空間で表現される画像に変換する第1の色空間変換ステップと、
前記複数の画像のうち、前記色空間判定ステップにおいて前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換ステップと、
前記第1および第2の色空間変換ステップにおいて前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成ステップと、
を有することを特徴とする画像処理方法。
【請求項10】
被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理方法であって、
合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定ステップと、
前記複数の画像のうち、前記色空間判定ステップにおいて前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値と、データ量を削減するように変換した前記追加成分の値とを用いて、第2の色空間で表現される画像に変換する第1の色空間変換ステップと、
前記複数の画像のうち、前記色空間判定ステップにおいて前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換ステップと、
前記第1および第2の色空間変換ステップにおいて前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成ステップと、
を有することを特徴とする画像処理方法。
【請求項11】
コンピュータで実行されることにより、該コンピュータを請求項1乃至8のいずれか1項に記載の画像処理装置における各手段として機能させるためのプログラム。
【請求項1】
被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理装置であって、
合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定手段と、
前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値のみを用いて第2の色空間で表現される画像に変換する第1の色空間変換手段と、
前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換手段と、
前記第1および第2の色空間変換手段により前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項2】
被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理装置であって、
合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定手段と、
前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値と、データ量を削減するように変換した前記追加成分の値とを用いて、第2の色空間で表現される画像に変換する第1の色空間変換手段と、
前記複数の画像のうち、前記色空間判定手段により前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換手段と、
前記第1および第2の色空間変換手段により前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項3】
前記第1の色空間変換手段は、前記追加成分の値を予め定められた固定値に変換することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記第1の色空間変換手段は、前記追加成分の値を予め定められた複数の基準値のいずれかに変換することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
さらに、前記合成手段による前記第2の色空間上での合成結果として得られる合成画像を、該合成画像の印刷時における色材量データへ変換する色材量変換手段を有することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
さらに、前記複数の画像が重なった重なり領域を該複数の画像のそれぞれから抽出する抽出手段を有し、
前記第1および第2の色空間変換手段、および前記合成手段、および前記色材量変換手段は、前記複数の画像のそれぞれにおける前記重なり領域について処理を行い、
前記色材量変換手段はさらに、前記複数の画像のそれぞれにおける前記重なり領域以外の領域について、それぞれの色空間上の値から前記色材量データへ変換する
ことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記複数の画像のそれぞれは、個々のオブジェクトを示すオブジェクト画像であることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
さらに、前記第1の色空間変換手段による変換がなされた場合に、その旨を報知する報知手段を有することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理方法であって、
合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定ステップと、
前記複数の画像のうち、前記色空間判定ステップにおいて前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値のみを用いて第2の色空間で表現される画像に変換する第1の色空間変換ステップと、
前記複数の画像のうち、前記色空間判定ステップにおいて前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換ステップと、
前記第1および第2の色空間変換ステップにおいて前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成ステップと、
を有することを特徴とする画像処理方法。
【請求項10】
被写体の撮影時に取得した分光反射率を示す分光情報を用いて表現された該被写体の画像に対し、他の画像を透過合成する画像処理方法であって、
合成対象となる複数の画像のそれぞれについて、画像を表現する色空間が、刺激値を示す基本成分と分光情報を示す追加成分から構成される第1の色空間であるか否かを判定する色空間判定ステップと、
前記複数の画像のうち、前記色空間判定ステップにおいて前記第1の色空間で表現されていると判定された画像を、該第1の色空間における前記基本成分の値と、データ量を削減するように変換した前記追加成分の値とを用いて、第2の色空間で表現される画像に変換する第1の色空間変換ステップと、
前記複数の画像のうち、前記色空間判定ステップにおいて前記第1の色空間で表現されていないと判定された画像を、前記第2の色空間で表現される画像に変換する第2の色空間変換ステップと、
前記第1および第2の色空間変換ステップにおいて前記第2の色空間に変換された前記複数の画像を、該第2の色空間上で透過合成する合成ステップと、
を有することを特徴とする画像処理方法。
【請求項11】
コンピュータで実行されることにより、該コンピュータを請求項1乃至8のいずれか1項に記載の画像処理装置における各手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−138393(P2011−138393A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2009−298831(P2009−298831)
【出願日】平成21年12月28日(2009.12.28)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願日】平成21年12月28日(2009.12.28)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]