画像処理装置およびその方法
【課題】 低コスト、かつ、簡単に法線マップを作成することを目的とする。
【解決手段】 画像入力装置を用いて、記録紙の表面の特性を示す画像データを取得し(S503)、記録紙の種類を判定する(S504)。そして、記録紙の種類に応じたフィルタ処理を画像データに施し(S508)、フィルタ処理した画像データから法線マップを作成する(S507、S508)。
【解決手段】 画像入力装置を用いて、記録紙の表面の特性を示す画像データを取得し(S503)、記録紙の種類を判定する(S504)。そして、記録紙の種類に応じたフィルタ処理を画像データに施し(S508)、フィルタ処理した画像データから法線マップを作成する(S507、S508)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プレビュー用の法線マップの作成に関する。
【背景技術】
【0002】
画像を印刷する場合、印刷に用いる記録紙の違いにより、色の見えが大きく異なる場合がある。色の見えを変える要因として、記録紙の光沢、記録紙の色の違いなどがあるが、記録紙の表面の凹凸も大きな要因になる。例えば、表面が平滑な記録紙(例えば光沢紙)と、絹目調の凹凸が施された半光沢紙(以下、絹目紙)では、印刷された画像の色の見えが大きく異なる。
【0003】
一方、コンピュータグラフィックス(以降、CG)においては、物質表面の凹凸を表現する方法として、バンプマッピング法が用いられる。これは、物質表面に入射した光をどの方向に反射するかを決める法線ベクトルを任意の方向に傾けることにより、物質表面に仮想的な凹凸を形成する技術である。この法線ベクトルを用いれば、絹目調記録紙の表面の凹凸を再現することができる。そして、このようなCG技術を印刷プレビューに応用すれば、よりリアリティがある印刷プレビューが可能になる。
【0004】
バンプマッピング法を用いるには、法線ベクトルを束ねてビットマップ化した、法線ベクトルマップ(以下、法線マップ)が必要になる。法線マップの作成方法として、専用機器を用いた技術が開示されている(例えば、特許文献1、2参照)。これらの技術は、専用機器により、物質表面の凹凸を読み取って法線マップを生成する。
【0005】
上記の専用機器を用いる方法は、専用機器自体のコストが高く、また、その使用方法も特殊であるから、導入の敷居が高いという問題がある。
【0006】
【特許文献1】特開平5-018940号公報
【特許文献2】特開平7-306023号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、低コスト、かつ、簡単に法線マップを作成することを目的とする。
【0008】
また、記録紙表面の凹凸を反映した印刷プレビューを行うことを他の目的とする。
【課題を解決するための手段】
【0009】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0010】
本発明にかかる画像処理は、記録紙の表面を画像入力装置によって読み取って得られる、記録紙の表面の特性を示す画像データを入力し、前記画像データを分析して前記記録紙の種類を判定し、前記記録紙の種類に応じたフィルタ処理を前記画像データに施し、前記フィルタ処理した画像データから法線マップを作成することを特徴とする。
【0011】
さらに、好ましくは、前記記録紙の種類の応じたレンダリング方法を決定し、前記決定されたレンダリング方法、前記法線マップおよびバンプマッピング法を用いてプレビュー画像を生成することを特徴とする。
【発明の効果】
【0012】
本発明によれば、低コスト、かつ、簡単に法線マップを作成することができる。
【0013】
また、記録紙表面の凹凸を反映した印刷プレビューを行うことができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例1】
【0015】
[装置の構成]
図1は実施例の画像処理装置11の構成例を示すブロック図である。
【0016】
CPU104は、RAM106をワークメモリとして、ROM105やハードディスク(HD)103に格納されたオペレーティングシステム(OS)や各種プログラムを実行する。そして、システムバス107を介して後述する構成を制御するとともに、後述する画像処理を実行する。
【0017】
CPU104は、汎用インタフェイス(I/F)101を介して、例えばUSBなどのシリアルバス15に接続されたキーボードやマウスなどの入力装置12からユーザ指示を入力する。また、シリアルバス15には汎用のスキャナ13などの画像入力装置や、図示しないプリンタなどの画像出力装置も接続される。CPU104は、詳細は後述するが、スキャナ13を使用して記録紙の表面情報を読み取ることができる。
【0018】
CPU104は、ビデオI/F102を介してモニタ14にグラフィカルユーザインタフェイス(GUI)を表示する。また、HD103は、OSやプログラムのほか、画像データなどの様々なデータを記憶する。
【0019】
図2Aはスキャナ13の概要を示す図である。スキャナ13は、周囲からの光の侵入を防ぐ原稿台カバー203と、原稿を載置する原稿台202を有する。
【0020】
ユーザは、原稿台202に、記録紙204を載置して、原稿台カバー203を閉じる。そして、入力装置12により、モニタ14に表示されたGUIを操作して、画像処理装置11にスキャンの実行を指示する。
【0021】
ユーザ指示を受信したCPU104は、スキャナ13を制御して、記録紙204の表面を読み取り、記録紙204の表面を示す画像データをHD103に格納する。
【0022】
[記録紙表面の読み取り]
図2Bは記録紙表面の凹凸とスキャンによって取得される画像データの関係を示す図である。
【0023】
図2Bに符号206で示すように、記録紙の表面が、その中央部が凹んでいるとする。この場合、スキャナ13によって読み取られた画素値(輝度値)は、符号205で示すように、記録紙の中央部(凹部)で小さな値を示し、両端部(凸部)で大きな値を示す。記録紙204の表面を示す画像データをモノクロデータにすれば、記録紙の凸部は輝度値が高く、凹部は輝度値が低い輝度分布を示す画像データ(以下、表面データ)が得られる。
【0024】
このような表面データを利用すれば、記録紙表面の高さの変化(分布)を取得することができ、法線マップを作成することができる。ただし、スキャナ13によって取得したデータを、そのまま用いることはできない。以下、その理由を説明する。
【0025】
図3Aは光沢紙をスキャンした場合の画素値(輝度値)の分布例を示す図である。
【0026】
光沢紙をスキャンした場合の画素値の分布には、緩やかに変化する低周波成分の画素値の変動(以下、低周波の凹凸)が含まれる。また、分布の一部を拡大すると、符号301で示すように、ランダムな画素値の変化(以下、ランダムな凹凸)が存在する。低周波の凹凸は、光沢を出すためのコーティングのむらや、記録紙そのものの歪曲に起因する。
【0027】
図4Aは光沢紙の印刷例を示す図で、低周波の凹凸により、光沢紙に写り込んだ像(この例では蛍光灯の像)が歪んで見える。
【0028】
また、ランダムな凹凸は、記録紙表面の構造に起因するノイズ成分である。表面データから法線マップを作成する場合、このノイズ成分により、写り込んだ像が傷付いたように見える問題がある。そのため、ランダムな凹凸(ノイズ成分)を取り除く処理が必須である。
【0029】
図3Bは絹目紙(半光沢紙)をスキャンした場合の画素値の分布例を示す図である。
【0030】
絹目紙をスキャンした場合の画素値の分布には、低周波の凹凸が存在し、その上に、急激に変換する高周波成分の画素値の変動(以下、高周波の凹凸)が重畳する。低周波の凹凸は、光沢紙同様、コーティングのむらや記録紙の歪曲であるが、高周波の凹凸は絹目調に起因する。
【0031】
図4Bは絹目紙の印刷例を示す図で、符号403の拡大図に示すように、記録紙表面に細かな凹凸が確認できる。一方、光沢度が低いため、光沢紙と違い、像の写り込みは見られないから、低周波の凹凸はプレビューの際には不要である。逆に、低周波の凹凸が残ったままの画素値を法線マップの作成に使う場合、低周波の凹凸が目立ち、本来表現したい筈の高周波の凹凸が見え難くなる問題がある。そのため、低周波の凹凸を取り除く処理が必須である。
【0032】
図3Cはマット紙(非光沢紙)をスキャンした場合の画素値の分布例を示す図である。
【0033】
マット紙をスキャンした場合の画素値の分布には、光沢紙や絹目紙より振幅が小さい低周波の凹凸が存在し、その上に、絹目紙よりもさらに高周波の凹凸が重畳している。
【0034】
図4Cはマット紙の印刷例を示す図で、光沢紙のような写り込みはなく、また、表面のコーティングがないので、記録紙そのもののざらついた感じの細かな凹凸が確認できる。マット紙は、光沢がないため、絹目紙と同様、低周波の凹凸はプレビューの際には不要であり、低周波の凹凸を取り除く処理が必須である。
【0035】
[法線マップの作成]
図5は法線マップの作成処理の一例を示すフローチャートで、ユーザから指示された場合に、CPU104が実行する処理である。
【0036】
CPU104は、図6に示す法線マップ作成用のユーザンタフェイス(UI)をモニタ14に表示する(S501)。ユーザは、法線マップを作成する記録紙をスキャナ13の原稿台202にセットし、原稿台カバー203を閉じる。ユーザがUIのスキャン実行ボタン601を押すと(S502)、CPU104は、スキャナ13を制御してスキャンを実行し、記録紙の凹凸情報をもつ表面データをRAM106に格納する(S503)。なお、その際、CPU104は、記録紙の凹凸情報をできるだけ正確に取得できる画像処理パラメータをスキャナ13またはスキャナドライバに設定する。つまり、スキャナ13またはスキャナドライバにおいて、コントラスト補正やシャープネス補正などの自動補正が行われないようにする。
【0037】
次に、CPU104は、表面データの低周波の凹凸と高周波の凹凸を分析して記録紙の種類を判定する(S504)。この処理は、記録紙の種類に応じた輝度分布の周波数特性(例えば図3Aから図3C)と、表面データの対応から記録紙の種類を判定する。そして、CPU104は、判定した記録紙の種類をUIの記録紙を選択するためのコンボボックス602に表示する。
【0038】
次に、CPU104は、ユーザがコンボボックス602を操作して、記録紙の種類が修正されたか否かを判定する(S505)。ユーザは、画像処理装置11が判定した記録紙の種類が正しいか否かを判断し、正しい場合はマップ作成ボタン603を押すが、正しくない場合はコンボボックス602を操作して記録紙の種類を修正してマップ作成ボタン603を押す。記録紙の種類が修正された場合、CPU104は、ユーザ操作に応じて記録紙の種類を変更する(S506)。
【0039】
マップ作成ボタン603が押されると(S507)、CPU104は、記録紙の種類に応じたフィルタ処理を表面データに施す(S508)。図7Aは3×3フィルタ処理を説明する図である。図7Aの画素配列801の中心画素(注目画素e)に対して、フィルタ要素802に示すフィルタ処理を実行すると、処理結果の画素値e'は次式で示される。
e' = A×a + B×b + C×c + D×d + E×e + F×f + G×g + H×h + I×i …(1)
【0040】
光沢紙の場合は、上記のノイズ成分を除去するために、図7Bに一例を示すフィルタ要素のメディアンフィルタを用いる。なお、メディアンフィルタ以外でも、ノイズ成分を除去することができるフィルタであればよい。
【0041】
絹目紙の場合は、低周波の凹凸を軽減するために、図7Cに一例を示すフィルタ要素のハイパスフィルタを用いる。なお、ハイパスフィルタ以外でも、低周波の凹凸を軽減することができるフィルタであればよい。
【0042】
マット紙の場合は、絹目紙と同様、ハイパスフィルタを用いる。しかし、ハイパスフィルタによるフィルタ処理を施すと、高周波の凹凸が強調されて高周波の凹凸が強調されることになる。そこで、マット紙の場合は、ハイパスフィルタによるフィルタ処理の後、さらにメディアンフィルタによるフィルタ処理を施す。
【0043】
次に、CPU104は、フィルタ処理した表面データの画素値を用いて、法線ベクトルを計算し(S509)、計算した法線ベクトルをビットマップ化した法線マップをHD103に格納する(S510)。
【0044】
図8は法線ベクトルの算出方法を説明する図である。図8において、画素値は高さを表すので、隣接する画素との間の高さの変化を計算する。注目画素の座標を(i, j)、注目画素の画素値をH(i, j)とすると、横方向(U軸方向)、縦方向(U軸方向)それぞれの高さの差の平均値は次式で表される。
dU = [H(i+1, j) - H(i-1, j)]/2
dV = [H(i, j+1) - H(i, j-1)]/2 …(2)
【0045】
三次元化した場合のU軸方向、V軸方向それぞれの傾きのベクトルは次式で表される。
du = (1, 0, dU)
dv = (0, 1, dV) …(3)
【0046】
法線ベクトルはdu、dvに直交するので、法線ベクトルNを次式で計算することができる。
N = du×dv/|du×dv| …(4)
【0047】
[プレビュー処理]
図9は法線マップを用いるプレビュー処理の一例を示すフローチャートで、ユーザから指示された場合に、CPU104が実行する処理である。
【0048】
CPU104は、図10に示すプレビュー用のUIをモニタ14に表示する(S901)。ユーザは、UIのコンボボックス1002を操作して画像を印刷する記録紙の種類を選択指示する。なお、ユーザは、プレビュー表示の指示前に、プレビューする画像(印刷しようとする画像)を、例えば、CPU104が実行するプリンタドライバのUIを介して指示していることは言うまでもない。
【0049】
このユーザ指示を受信すると(S902)、CPU104は、選択された記録紙の種類に対応する法線マップをHD103から読み込みRAM106にロードする(S903)。そして、記録紙の種類に合ったレンダリング方法を決定する(S904)。
【0050】
レンダリング方法の決定は、プレビューのリアリティを増すために必要な処理である。例えば、光沢紙であれば、リアリティを増すためには、例えば蛍光灯の像や窓の像が写り込んだ画像を再現するレンダリングに決定する。また、絹目紙であれば、表面の凹凸を強調するために、低周波の凹凸に応じたハイライトやシャドウを再現するレンダリングに決定する。また、マット紙の場合は、写り込みや低周波の凹凸は不要であるから、それらを再現せずに、記録紙表面のざらつきを再現するレンダリングに決定する。
【0051】
次に、CPU104は、詳細は後述するが、決定したレンダリング方法、法線マップおよびバンプマッピング法を用いてプレビュー画像をレンダリングする(S905)。そして、レンダリングした画像1001をプレビュー用UIに表示する(S906)。
【0052】
プレビュー用UIに表示される画像1001は、記録紙の特性が反映されるている。つまり、光沢紙の場合は蛍光灯や窓の像が写り込みが再現され、絹目紙の場合は拡大表示すると表面の絹目調の凹凸が観察される。また、マット紙の場合、記録紙表面のざらつきが再現される。勿論、プレビューされた画像に満足したユーザは、指定の記録紙を搭載したプリンタ16に画像データから生成した印刷データを出力するようにプリンタドライバのUIを介して印刷を指示する。
【0053】
●レンダリング(S905)
図11はレンダリング(S905)の詳細を説明する図である。
【0054】
ステップS901で記録紙の種類が決定すると、CPU104は、記録紙の種類に応じた光源設定およびシャドウ処理のオンオフを設定する(S905a)。例えば、光沢紙や絹目紙であれば、写り込みを再現するために面光源を選択し、マット紙であれば、処理が重くなるだけでリアリティの向上につながらないため、点光源を設定する。また、絹目紙であれば、表面の凹凸を強調するために、シャドウ処理が必要になるが、他の記録紙は処理を軽減するために、シャドウ処理は行わない。
【0055】
レンダリングに用いる反射モデルには、物質の色を算出する拡散反射モデルと、物質の光沢色を算出する光沢反射モデルがある。CPU104は、各反射モデルにおいて、反射色を算出した後、算出した反射色を加算する(S905b)。
【0056】
図12は拡散反射モデルの概念図である。ベクトルNは、物質表面の法線方向を表す法線ベクトルである。ベクトルLは、光源の方向を示す光源ベクトルである。このモデルに基づく拡散反射色の算出式(拡散反射式)は下式で表される。
Cd = Id×Kd×(N・L) …(5)
ここで、Idは光源色を表すパラメータ、
Kdは物質の表面色と、その反射強度を表すパラメータ、
N・LはベクトルNとLの内積
【0057】
図13は光沢反射モデルの概念図である。ベクトルNは、物質表面の法線方向を表す法線ベクトルである。ベクトルLは、光源の方向を示す光源ベクトルである。ベクトルEは、視線方向を示す視線ベクトルである。ベクトルRは、ベクトルEの反射ベクトルである。このモデルに基づく光沢反射色の算出式(光沢反射式)は下式で表される。
R = -E + 2(N・E)N
Cs = Is×Ks×(L・R)n …(6)
ここで、Isは光源色を表すパラメータ(Idと同じパラメータ)、
Ksは光沢成分の色と、その反射強度を表すパラメータ、
L・Rは、ベクトルRとLの内積、
nは光沢の発散度合いを示すパラメータ
【0058】
CPU104は、各反射モデルの反射色Cd、Csが求め、それらを加算して、最終的な反射色Cを計算する。
C = Cd + Cs …(7)
【0059】
このように、汎用のスキャナなどの画像入力装置を用いて低コストに、簡単に、記録紙(メディア)の表面をCGを用いて再現するための法線マップを作成することができる。そして、作成した法線マップを用いて、記録紙の特性の違い(記録紙表面の凹凸の違い)を反映した印刷プレビューを行うことができる。その際、記録紙に応じて、写り込み、絹目調の凹凸の再現、または、記録紙表面のざらつきを再現して、よりリアリティのある印刷プレビューを行うことができる。
【0060】
なお、上記では、記録紙表面の凹凸情報を得る画像入力装置としてフラットベッドスキャナを利用する例を説明したが、記録紙表面の凹凸を示す方向の情報が得られる装置であればどのような装置を使用してもよい。
【0061】
[変形例]
上記実施例で使用する画素値(輝度値)としては、RGB成分から算出した輝度値を使用してもよいし、近似値としてグレイG成分を示すG値を使用しても構わない。
【0062】
また、図5の処理により得られた記録紙の表面データ(法線マップ)を、用紙の種類(光沢紙、絹目紙、マット紙)およびユーザによって指示された名前とともに記録しても構わない。この場合、図10のプレビュー用のUIにおいて、名前を用いて表面データを選択することになる。そして、図9のステップS904では、選択された表面データの用紙の種類に応じたレンダリング方法が決定される。
【0063】
また、用紙の種類は、光沢紙、絹目紙、マット紙に限らず他の種類を使用することも可能である。例えば、シルキーペーパを使用することが可能である。シルキーペーパの場合、見た目において一番大きな影響を及ぼすのは絹目調などの表面処理である。スキャン画像をそのまま用いた場合、紙の歪みが邪魔をして、表面処理が見え難い。そのため、ハイパス処理を実行し、紙の歪み成分を見え難くし、かつ、表面処理を強調する。
【0064】
[他の実施例]
なお、本発明は、複数の機器(例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置、制御装置など)に適用してもよい。
【0065】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【0066】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0067】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0068】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【0069】
【図1】実施例の画像処理装置の構成例を示すブロック図、
【図2A】スキャナの概要を示す図、
【図2B】記録紙表面の凹凸とスキャンによって取得される画像データの関係を示す図、
【図3A】光沢紙をスキャンした場合の画素値の分布例を示す図、
【図3B】絹目紙(半光沢紙)をスキャンした場合の画素値の分布例を示す図、
【図3C】マット紙(非光沢紙)をスキャンした場合の画素値の分布例を示す図、
【図4A】光沢紙の印刷例を示す図、
【図4B】絹目紙の印刷例を示す図、
【図4C】マット紙の印刷例を示す図、
【図5】法線マップの作成処理の一例を示すフローチャート、
【図6】法線マップ作成用のユーザンタフェイスの一例を示す図、
【図7A】3×3フィルタ処理を説明する図、
【図7B】フィルタ要素の一例を示す図、
【図7C】フィルタ要素の一例を示す図、
【図8】法線ベクトルの算出方法を説明する図、
【図9】法線マップを用いるプレビュー処理の一例を示すフローチャート、
【図10】プレビュー用のユーザンタフェイスの一例を示す図、
【図11】レンダリングの詳細を説明する図、
【図12】拡散反射モデルの概念図、
【図13】光沢反射モデルの概念図である。
【技術分野】
【0001】
本発明は、プレビュー用の法線マップの作成に関する。
【背景技術】
【0002】
画像を印刷する場合、印刷に用いる記録紙の違いにより、色の見えが大きく異なる場合がある。色の見えを変える要因として、記録紙の光沢、記録紙の色の違いなどがあるが、記録紙の表面の凹凸も大きな要因になる。例えば、表面が平滑な記録紙(例えば光沢紙)と、絹目調の凹凸が施された半光沢紙(以下、絹目紙)では、印刷された画像の色の見えが大きく異なる。
【0003】
一方、コンピュータグラフィックス(以降、CG)においては、物質表面の凹凸を表現する方法として、バンプマッピング法が用いられる。これは、物質表面に入射した光をどの方向に反射するかを決める法線ベクトルを任意の方向に傾けることにより、物質表面に仮想的な凹凸を形成する技術である。この法線ベクトルを用いれば、絹目調記録紙の表面の凹凸を再現することができる。そして、このようなCG技術を印刷プレビューに応用すれば、よりリアリティがある印刷プレビューが可能になる。
【0004】
バンプマッピング法を用いるには、法線ベクトルを束ねてビットマップ化した、法線ベクトルマップ(以下、法線マップ)が必要になる。法線マップの作成方法として、専用機器を用いた技術が開示されている(例えば、特許文献1、2参照)。これらの技術は、専用機器により、物質表面の凹凸を読み取って法線マップを生成する。
【0005】
上記の専用機器を用いる方法は、専用機器自体のコストが高く、また、その使用方法も特殊であるから、導入の敷居が高いという問題がある。
【0006】
【特許文献1】特開平5-018940号公報
【特許文献2】特開平7-306023号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、低コスト、かつ、簡単に法線マップを作成することを目的とする。
【0008】
また、記録紙表面の凹凸を反映した印刷プレビューを行うことを他の目的とする。
【課題を解決するための手段】
【0009】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0010】
本発明にかかる画像処理は、記録紙の表面を画像入力装置によって読み取って得られる、記録紙の表面の特性を示す画像データを入力し、前記画像データを分析して前記記録紙の種類を判定し、前記記録紙の種類に応じたフィルタ処理を前記画像データに施し、前記フィルタ処理した画像データから法線マップを作成することを特徴とする。
【0011】
さらに、好ましくは、前記記録紙の種類の応じたレンダリング方法を決定し、前記決定されたレンダリング方法、前記法線マップおよびバンプマッピング法を用いてプレビュー画像を生成することを特徴とする。
【発明の効果】
【0012】
本発明によれば、低コスト、かつ、簡単に法線マップを作成することができる。
【0013】
また、記録紙表面の凹凸を反映した印刷プレビューを行うことができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例1】
【0015】
[装置の構成]
図1は実施例の画像処理装置11の構成例を示すブロック図である。
【0016】
CPU104は、RAM106をワークメモリとして、ROM105やハードディスク(HD)103に格納されたオペレーティングシステム(OS)や各種プログラムを実行する。そして、システムバス107を介して後述する構成を制御するとともに、後述する画像処理を実行する。
【0017】
CPU104は、汎用インタフェイス(I/F)101を介して、例えばUSBなどのシリアルバス15に接続されたキーボードやマウスなどの入力装置12からユーザ指示を入力する。また、シリアルバス15には汎用のスキャナ13などの画像入力装置や、図示しないプリンタなどの画像出力装置も接続される。CPU104は、詳細は後述するが、スキャナ13を使用して記録紙の表面情報を読み取ることができる。
【0018】
CPU104は、ビデオI/F102を介してモニタ14にグラフィカルユーザインタフェイス(GUI)を表示する。また、HD103は、OSやプログラムのほか、画像データなどの様々なデータを記憶する。
【0019】
図2Aはスキャナ13の概要を示す図である。スキャナ13は、周囲からの光の侵入を防ぐ原稿台カバー203と、原稿を載置する原稿台202を有する。
【0020】
ユーザは、原稿台202に、記録紙204を載置して、原稿台カバー203を閉じる。そして、入力装置12により、モニタ14に表示されたGUIを操作して、画像処理装置11にスキャンの実行を指示する。
【0021】
ユーザ指示を受信したCPU104は、スキャナ13を制御して、記録紙204の表面を読み取り、記録紙204の表面を示す画像データをHD103に格納する。
【0022】
[記録紙表面の読み取り]
図2Bは記録紙表面の凹凸とスキャンによって取得される画像データの関係を示す図である。
【0023】
図2Bに符号206で示すように、記録紙の表面が、その中央部が凹んでいるとする。この場合、スキャナ13によって読み取られた画素値(輝度値)は、符号205で示すように、記録紙の中央部(凹部)で小さな値を示し、両端部(凸部)で大きな値を示す。記録紙204の表面を示す画像データをモノクロデータにすれば、記録紙の凸部は輝度値が高く、凹部は輝度値が低い輝度分布を示す画像データ(以下、表面データ)が得られる。
【0024】
このような表面データを利用すれば、記録紙表面の高さの変化(分布)を取得することができ、法線マップを作成することができる。ただし、スキャナ13によって取得したデータを、そのまま用いることはできない。以下、その理由を説明する。
【0025】
図3Aは光沢紙をスキャンした場合の画素値(輝度値)の分布例を示す図である。
【0026】
光沢紙をスキャンした場合の画素値の分布には、緩やかに変化する低周波成分の画素値の変動(以下、低周波の凹凸)が含まれる。また、分布の一部を拡大すると、符号301で示すように、ランダムな画素値の変化(以下、ランダムな凹凸)が存在する。低周波の凹凸は、光沢を出すためのコーティングのむらや、記録紙そのものの歪曲に起因する。
【0027】
図4Aは光沢紙の印刷例を示す図で、低周波の凹凸により、光沢紙に写り込んだ像(この例では蛍光灯の像)が歪んで見える。
【0028】
また、ランダムな凹凸は、記録紙表面の構造に起因するノイズ成分である。表面データから法線マップを作成する場合、このノイズ成分により、写り込んだ像が傷付いたように見える問題がある。そのため、ランダムな凹凸(ノイズ成分)を取り除く処理が必須である。
【0029】
図3Bは絹目紙(半光沢紙)をスキャンした場合の画素値の分布例を示す図である。
【0030】
絹目紙をスキャンした場合の画素値の分布には、低周波の凹凸が存在し、その上に、急激に変換する高周波成分の画素値の変動(以下、高周波の凹凸)が重畳する。低周波の凹凸は、光沢紙同様、コーティングのむらや記録紙の歪曲であるが、高周波の凹凸は絹目調に起因する。
【0031】
図4Bは絹目紙の印刷例を示す図で、符号403の拡大図に示すように、記録紙表面に細かな凹凸が確認できる。一方、光沢度が低いため、光沢紙と違い、像の写り込みは見られないから、低周波の凹凸はプレビューの際には不要である。逆に、低周波の凹凸が残ったままの画素値を法線マップの作成に使う場合、低周波の凹凸が目立ち、本来表現したい筈の高周波の凹凸が見え難くなる問題がある。そのため、低周波の凹凸を取り除く処理が必須である。
【0032】
図3Cはマット紙(非光沢紙)をスキャンした場合の画素値の分布例を示す図である。
【0033】
マット紙をスキャンした場合の画素値の分布には、光沢紙や絹目紙より振幅が小さい低周波の凹凸が存在し、その上に、絹目紙よりもさらに高周波の凹凸が重畳している。
【0034】
図4Cはマット紙の印刷例を示す図で、光沢紙のような写り込みはなく、また、表面のコーティングがないので、記録紙そのもののざらついた感じの細かな凹凸が確認できる。マット紙は、光沢がないため、絹目紙と同様、低周波の凹凸はプレビューの際には不要であり、低周波の凹凸を取り除く処理が必須である。
【0035】
[法線マップの作成]
図5は法線マップの作成処理の一例を示すフローチャートで、ユーザから指示された場合に、CPU104が実行する処理である。
【0036】
CPU104は、図6に示す法線マップ作成用のユーザンタフェイス(UI)をモニタ14に表示する(S501)。ユーザは、法線マップを作成する記録紙をスキャナ13の原稿台202にセットし、原稿台カバー203を閉じる。ユーザがUIのスキャン実行ボタン601を押すと(S502)、CPU104は、スキャナ13を制御してスキャンを実行し、記録紙の凹凸情報をもつ表面データをRAM106に格納する(S503)。なお、その際、CPU104は、記録紙の凹凸情報をできるだけ正確に取得できる画像処理パラメータをスキャナ13またはスキャナドライバに設定する。つまり、スキャナ13またはスキャナドライバにおいて、コントラスト補正やシャープネス補正などの自動補正が行われないようにする。
【0037】
次に、CPU104は、表面データの低周波の凹凸と高周波の凹凸を分析して記録紙の種類を判定する(S504)。この処理は、記録紙の種類に応じた輝度分布の周波数特性(例えば図3Aから図3C)と、表面データの対応から記録紙の種類を判定する。そして、CPU104は、判定した記録紙の種類をUIの記録紙を選択するためのコンボボックス602に表示する。
【0038】
次に、CPU104は、ユーザがコンボボックス602を操作して、記録紙の種類が修正されたか否かを判定する(S505)。ユーザは、画像処理装置11が判定した記録紙の種類が正しいか否かを判断し、正しい場合はマップ作成ボタン603を押すが、正しくない場合はコンボボックス602を操作して記録紙の種類を修正してマップ作成ボタン603を押す。記録紙の種類が修正された場合、CPU104は、ユーザ操作に応じて記録紙の種類を変更する(S506)。
【0039】
マップ作成ボタン603が押されると(S507)、CPU104は、記録紙の種類に応じたフィルタ処理を表面データに施す(S508)。図7Aは3×3フィルタ処理を説明する図である。図7Aの画素配列801の中心画素(注目画素e)に対して、フィルタ要素802に示すフィルタ処理を実行すると、処理結果の画素値e'は次式で示される。
e' = A×a + B×b + C×c + D×d + E×e + F×f + G×g + H×h + I×i …(1)
【0040】
光沢紙の場合は、上記のノイズ成分を除去するために、図7Bに一例を示すフィルタ要素のメディアンフィルタを用いる。なお、メディアンフィルタ以外でも、ノイズ成分を除去することができるフィルタであればよい。
【0041】
絹目紙の場合は、低周波の凹凸を軽減するために、図7Cに一例を示すフィルタ要素のハイパスフィルタを用いる。なお、ハイパスフィルタ以外でも、低周波の凹凸を軽減することができるフィルタであればよい。
【0042】
マット紙の場合は、絹目紙と同様、ハイパスフィルタを用いる。しかし、ハイパスフィルタによるフィルタ処理を施すと、高周波の凹凸が強調されて高周波の凹凸が強調されることになる。そこで、マット紙の場合は、ハイパスフィルタによるフィルタ処理の後、さらにメディアンフィルタによるフィルタ処理を施す。
【0043】
次に、CPU104は、フィルタ処理した表面データの画素値を用いて、法線ベクトルを計算し(S509)、計算した法線ベクトルをビットマップ化した法線マップをHD103に格納する(S510)。
【0044】
図8は法線ベクトルの算出方法を説明する図である。図8において、画素値は高さを表すので、隣接する画素との間の高さの変化を計算する。注目画素の座標を(i, j)、注目画素の画素値をH(i, j)とすると、横方向(U軸方向)、縦方向(U軸方向)それぞれの高さの差の平均値は次式で表される。
dU = [H(i+1, j) - H(i-1, j)]/2
dV = [H(i, j+1) - H(i, j-1)]/2 …(2)
【0045】
三次元化した場合のU軸方向、V軸方向それぞれの傾きのベクトルは次式で表される。
du = (1, 0, dU)
dv = (0, 1, dV) …(3)
【0046】
法線ベクトルはdu、dvに直交するので、法線ベクトルNを次式で計算することができる。
N = du×dv/|du×dv| …(4)
【0047】
[プレビュー処理]
図9は法線マップを用いるプレビュー処理の一例を示すフローチャートで、ユーザから指示された場合に、CPU104が実行する処理である。
【0048】
CPU104は、図10に示すプレビュー用のUIをモニタ14に表示する(S901)。ユーザは、UIのコンボボックス1002を操作して画像を印刷する記録紙の種類を選択指示する。なお、ユーザは、プレビュー表示の指示前に、プレビューする画像(印刷しようとする画像)を、例えば、CPU104が実行するプリンタドライバのUIを介して指示していることは言うまでもない。
【0049】
このユーザ指示を受信すると(S902)、CPU104は、選択された記録紙の種類に対応する法線マップをHD103から読み込みRAM106にロードする(S903)。そして、記録紙の種類に合ったレンダリング方法を決定する(S904)。
【0050】
レンダリング方法の決定は、プレビューのリアリティを増すために必要な処理である。例えば、光沢紙であれば、リアリティを増すためには、例えば蛍光灯の像や窓の像が写り込んだ画像を再現するレンダリングに決定する。また、絹目紙であれば、表面の凹凸を強調するために、低周波の凹凸に応じたハイライトやシャドウを再現するレンダリングに決定する。また、マット紙の場合は、写り込みや低周波の凹凸は不要であるから、それらを再現せずに、記録紙表面のざらつきを再現するレンダリングに決定する。
【0051】
次に、CPU104は、詳細は後述するが、決定したレンダリング方法、法線マップおよびバンプマッピング法を用いてプレビュー画像をレンダリングする(S905)。そして、レンダリングした画像1001をプレビュー用UIに表示する(S906)。
【0052】
プレビュー用UIに表示される画像1001は、記録紙の特性が反映されるている。つまり、光沢紙の場合は蛍光灯や窓の像が写り込みが再現され、絹目紙の場合は拡大表示すると表面の絹目調の凹凸が観察される。また、マット紙の場合、記録紙表面のざらつきが再現される。勿論、プレビューされた画像に満足したユーザは、指定の記録紙を搭載したプリンタ16に画像データから生成した印刷データを出力するようにプリンタドライバのUIを介して印刷を指示する。
【0053】
●レンダリング(S905)
図11はレンダリング(S905)の詳細を説明する図である。
【0054】
ステップS901で記録紙の種類が決定すると、CPU104は、記録紙の種類に応じた光源設定およびシャドウ処理のオンオフを設定する(S905a)。例えば、光沢紙や絹目紙であれば、写り込みを再現するために面光源を選択し、マット紙であれば、処理が重くなるだけでリアリティの向上につながらないため、点光源を設定する。また、絹目紙であれば、表面の凹凸を強調するために、シャドウ処理が必要になるが、他の記録紙は処理を軽減するために、シャドウ処理は行わない。
【0055】
レンダリングに用いる反射モデルには、物質の色を算出する拡散反射モデルと、物質の光沢色を算出する光沢反射モデルがある。CPU104は、各反射モデルにおいて、反射色を算出した後、算出した反射色を加算する(S905b)。
【0056】
図12は拡散反射モデルの概念図である。ベクトルNは、物質表面の法線方向を表す法線ベクトルである。ベクトルLは、光源の方向を示す光源ベクトルである。このモデルに基づく拡散反射色の算出式(拡散反射式)は下式で表される。
Cd = Id×Kd×(N・L) …(5)
ここで、Idは光源色を表すパラメータ、
Kdは物質の表面色と、その反射強度を表すパラメータ、
N・LはベクトルNとLの内積
【0057】
図13は光沢反射モデルの概念図である。ベクトルNは、物質表面の法線方向を表す法線ベクトルである。ベクトルLは、光源の方向を示す光源ベクトルである。ベクトルEは、視線方向を示す視線ベクトルである。ベクトルRは、ベクトルEの反射ベクトルである。このモデルに基づく光沢反射色の算出式(光沢反射式)は下式で表される。
R = -E + 2(N・E)N
Cs = Is×Ks×(L・R)n …(6)
ここで、Isは光源色を表すパラメータ(Idと同じパラメータ)、
Ksは光沢成分の色と、その反射強度を表すパラメータ、
L・Rは、ベクトルRとLの内積、
nは光沢の発散度合いを示すパラメータ
【0058】
CPU104は、各反射モデルの反射色Cd、Csが求め、それらを加算して、最終的な反射色Cを計算する。
C = Cd + Cs …(7)
【0059】
このように、汎用のスキャナなどの画像入力装置を用いて低コストに、簡単に、記録紙(メディア)の表面をCGを用いて再現するための法線マップを作成することができる。そして、作成した法線マップを用いて、記録紙の特性の違い(記録紙表面の凹凸の違い)を反映した印刷プレビューを行うことができる。その際、記録紙に応じて、写り込み、絹目調の凹凸の再現、または、記録紙表面のざらつきを再現して、よりリアリティのある印刷プレビューを行うことができる。
【0060】
なお、上記では、記録紙表面の凹凸情報を得る画像入力装置としてフラットベッドスキャナを利用する例を説明したが、記録紙表面の凹凸を示す方向の情報が得られる装置であればどのような装置を使用してもよい。
【0061】
[変形例]
上記実施例で使用する画素値(輝度値)としては、RGB成分から算出した輝度値を使用してもよいし、近似値としてグレイG成分を示すG値を使用しても構わない。
【0062】
また、図5の処理により得られた記録紙の表面データ(法線マップ)を、用紙の種類(光沢紙、絹目紙、マット紙)およびユーザによって指示された名前とともに記録しても構わない。この場合、図10のプレビュー用のUIにおいて、名前を用いて表面データを選択することになる。そして、図9のステップS904では、選択された表面データの用紙の種類に応じたレンダリング方法が決定される。
【0063】
また、用紙の種類は、光沢紙、絹目紙、マット紙に限らず他の種類を使用することも可能である。例えば、シルキーペーパを使用することが可能である。シルキーペーパの場合、見た目において一番大きな影響を及ぼすのは絹目調などの表面処理である。スキャン画像をそのまま用いた場合、紙の歪みが邪魔をして、表面処理が見え難い。そのため、ハイパス処理を実行し、紙の歪み成分を見え難くし、かつ、表面処理を強調する。
【0064】
[他の実施例]
なお、本発明は、複数の機器(例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置、制御装置など)に適用してもよい。
【0065】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【0066】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0067】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0068】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【0069】
【図1】実施例の画像処理装置の構成例を示すブロック図、
【図2A】スキャナの概要を示す図、
【図2B】記録紙表面の凹凸とスキャンによって取得される画像データの関係を示す図、
【図3A】光沢紙をスキャンした場合の画素値の分布例を示す図、
【図3B】絹目紙(半光沢紙)をスキャンした場合の画素値の分布例を示す図、
【図3C】マット紙(非光沢紙)をスキャンした場合の画素値の分布例を示す図、
【図4A】光沢紙の印刷例を示す図、
【図4B】絹目紙の印刷例を示す図、
【図4C】マット紙の印刷例を示す図、
【図5】法線マップの作成処理の一例を示すフローチャート、
【図6】法線マップ作成用のユーザンタフェイスの一例を示す図、
【図7A】3×3フィルタ処理を説明する図、
【図7B】フィルタ要素の一例を示す図、
【図7C】フィルタ要素の一例を示す図、
【図8】法線ベクトルの算出方法を説明する図、
【図9】法線マップを用いるプレビュー処理の一例を示すフローチャート、
【図10】プレビュー用のユーザンタフェイスの一例を示す図、
【図11】レンダリングの詳細を説明する図、
【図12】拡散反射モデルの概念図、
【図13】光沢反射モデルの概念図である。
【特許請求の範囲】
【請求項1】
記録紙の表面を画像入力装置によって読み取って得られる、記録紙の表面の特性を示す画像データを入力する入力手段と、
前記画像データを分析して前記記録紙の種類を判定する判定手段と、
前記記録紙の種類に応じたフィルタ処理を前記画像データに施すフィルタ処理手段と、
前記フィルタ処理した画像データから法線マップを作成する作成手段とを有することを特徴とする画像処理装置。
【請求項2】
さらに、前記記録紙の種類の応じたレンダリング方法を決定する決定手段と、
前記決定されたレンダリング方法、前記法線マップおよびバンプマッピング法を用いてプレビュー画像を生成する生成手段とを有することを特徴とする請求項1に記載された画像処理装置。
【請求項3】
さらに、前記判定手段が判定した記録紙の種類を表示し、記録紙の種類の指定を受け付ける記録紙の種類の設定手段を有することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項4】
前記判定手段は、前記画像データの画素値の変化の周波数特性によって前記記録紙の種類を判定することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項5】
前記画像入力装置は汎用のスキャナであることを特徴とする請求項1から請求項4の何れか一項に記載された画像処理装置。
【請求項6】
記録紙の表面を画像入力装置によって読み取って得られる、記録紙の表面の特性を示す画像データを入力し、
前記画像データを分析して前記記録紙の種類を判定し、
前記記録紙の種類に応じたフィルタ処理を前記画像データに施し、
前記フィルタ処理した画像データから法線マップを作成することを特徴とする画像処理方法。
【請求項7】
さらに、前記記録紙の種類の応じたレンダリング方法を決定し、
前記決定されたレンダリング方法、前記法線マップおよびバンプマッピング法を用いてプレビュー画像を生成することを特徴とする請求項6に記載された画像処理方法。
【請求項8】
コンピュータ装置を制御して、請求項1から請求項5の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項9】
請求項8に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項1】
記録紙の表面を画像入力装置によって読み取って得られる、記録紙の表面の特性を示す画像データを入力する入力手段と、
前記画像データを分析して前記記録紙の種類を判定する判定手段と、
前記記録紙の種類に応じたフィルタ処理を前記画像データに施すフィルタ処理手段と、
前記フィルタ処理した画像データから法線マップを作成する作成手段とを有することを特徴とする画像処理装置。
【請求項2】
さらに、前記記録紙の種類の応じたレンダリング方法を決定する決定手段と、
前記決定されたレンダリング方法、前記法線マップおよびバンプマッピング法を用いてプレビュー画像を生成する生成手段とを有することを特徴とする請求項1に記載された画像処理装置。
【請求項3】
さらに、前記判定手段が判定した記録紙の種類を表示し、記録紙の種類の指定を受け付ける記録紙の種類の設定手段を有することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項4】
前記判定手段は、前記画像データの画素値の変化の周波数特性によって前記記録紙の種類を判定することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項5】
前記画像入力装置は汎用のスキャナであることを特徴とする請求項1から請求項4の何れか一項に記載された画像処理装置。
【請求項6】
記録紙の表面を画像入力装置によって読み取って得られる、記録紙の表面の特性を示す画像データを入力し、
前記画像データを分析して前記記録紙の種類を判定し、
前記記録紙の種類に応じたフィルタ処理を前記画像データに施し、
前記フィルタ処理した画像データから法線マップを作成することを特徴とする画像処理方法。
【請求項7】
さらに、前記記録紙の種類の応じたレンダリング方法を決定し、
前記決定されたレンダリング方法、前記法線マップおよびバンプマッピング法を用いてプレビュー画像を生成することを特徴とする請求項6に記載された画像処理方法。
【請求項8】
コンピュータ装置を制御して、請求項1から請求項5の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項9】
請求項8に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【図1】
【図2A】
【図2B】
【図3A】
【図3B】
【図3C】
【図5】
【図6】
【図7A】
【図7B】
【図7C】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図4A】
【図4B】
【図4C】
【図2A】
【図2B】
【図3A】
【図3B】
【図3C】
【図5】
【図6】
【図7A】
【図7B】
【図7C】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図4A】
【図4B】
【図4C】
【公開番号】特開2009−147754(P2009−147754A)
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【出願番号】特願2007−324011(P2007−324011)
【出願日】平成19年12月14日(2007.12.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【出願日】平成19年12月14日(2007.12.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]