JP4234506B2 - 画像処理装置および方法、並びにプログラム - Google Patents
画像処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP4234506B2 JP4234506B2 JP2003175175A JP2003175175A JP4234506B2 JP 4234506 B2 JP4234506 B2 JP 4234506B2 JP 2003175175 A JP2003175175 A JP 2003175175A JP 2003175175 A JP2003175175 A JP 2003175175A JP 4234506 B2 JP4234506 B2 JP 4234506B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- vector
- highlight
- parameter
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、画像上のハイライトの設定と、ハイライトを用いたアニメーション画像の生成を容易にした画像処理装置および方法、並びにプログラムに関する。
【0002】
【従来の技術】
コンピュータグラフィックスによる画像処理技術が一般に普及しつつある。
【0003】
コンピュータグラフィックス(Computer Graphics、以下CGとも称する)の分野では、表示される物体表面から発する光を環境光、拡散反射光、および、鏡面反射光に区別して捕らえている。これらのうち鏡面反射光とは、物体表面での直接反射により生じるもので、例えば、磨きのかかった大理石が照射されると、この鏡面反射により、物体表面の一部にハイライトが生じる。
【0004】
ハイライトは、物体の表面の微小な構造に依存して様々な形状をとりうる。従って、ハイライトは、画像上で、その物体の材質感を表現する上で重要なものである。CGにおいては、このハイライトを生成するため、物体の各点での鏡面反射光の強さを計る様々なモデルが提案されている。
【0005】
例えば、図1で示されるように、物体表面S上の点pで光源(図中のLight Source)方向Lから入射される光の直接反射光が、所定の視点(図中のEye)方向にどの程度届くか(視点における光の強度の程度)は、物体上の所定の点pにおける法線ベクトルNと、光源方向のベクトルLと視線方向のベクトルVとの成す角を2等分する方向のベクトルH(以下、このベクトルを中間ベクトルHと称する)とが、どの程度、離れているかに依存することが知られており、一般に、図1で示されるようなモデルはブリンのモデルと呼ばれている(非特許文献1参照)。
【0006】
また、上述したように、ハイライトは、物体の材質感を表現する上で重要であるため、3次元物体をCGで表示する際、ハイライトを所望の位置に配置したいという要求がある。
【0007】
現実の世界では光源の位置や種類を決めればハイライトの位置は決まってしまうが、CGで物体を表示する場合、より自由にハイライトの位置を指定することで、現実の世界よりもより印象的な画像とすることがある。
【0008】
ハイライトの位置を制御する手法としては、第1の方法として、ハイライト専用の光源を仮想的に設定し、その仮想的な光源位置を指定するという方法がある。
【0009】
その際、ハイライト領域の決定には上述したブリンのモデルを採用した方法が用いられるか、他の類似の鏡面反射光の計算モデルが用いられている。
【0010】
上述したハイライト専用の光源を設定する第1の手法は、カメラ(視点位置)や光源位置が移動すれば、ハイライト領域も移動する。その際にブリンのモデルを用いると、これらのモデルは物理的に正確なものなので、視覚的に、あたかも現実の空間内で生じたかのようなハイライトの動きを表現することができる。
【0011】
第2の方法は、テクスチャマッピングを用いる方法である。テクスチャマッピングを用いた手法は、所望のハイライトの形を予めデザインしておき、これを2次元画像として物体上に投影するものである。この場合のマッピング処理としては、射影マッピング(projection mapping)や、環境マッピング(environment mapping)などが確立されている。
【0012】
テクスチャマッピングを用いた第2の方法の場合、光源位置の指定がないので、ハイライトが移動、変形するアニメーションは、カメラや光源位置の移動の効果を擬似的に取り入れたテクスチャの変形アニメーションを作って対応する必要がある。
【0013】
第3の方法は、ライトマップ(light map)を使用する方法である。これは、上述した第1の方法、および、第2の方法を組み合わせた方法に類似したもので、ハイライト専用の仮想光源として点光源、および、平行光線を設定し、表示する物体と光源との間に仮想的なスリットを用意して、そのスリットに、所望のハイライト形状が得られるように、光の通り道としての形状を描くものである。
【0014】
第3の方法の場合、ハイライトのアニメーションには、スリットに描くハイライト生成のための形状のアニメーションを作って対応する。
【0015】
【非特許文献1】
Blinn, J. F.,“Models of Light Reflection for Computer SynthesizedPictures”, Computer Graphics Vol. 11 (2), pp. 192-198. 1977 年
【0016】
【発明が解決しようとする課題】
しかしながら、これらの手法で所望のハイライト形状を所望の位置に配置するには、多くの試行錯誤が必要となってしまうという課題があった。
【0017】
また、視点や光源位置が移動した場合、自然に見えるハイライトのアニメーションを作るのにも膨大な手間が必要になってしまうと言う課題があった。
【0018】
さらに、3次元CGモデルを、セル(手描き)アニメーションと合成して用いる場合、一般的にCGの画像を、よりセルアニメーションに近い雰囲気の画像とするために、ハイライトを抽象化、または、単純化する必要が生じる。
【0019】
このような場合、生成されるセルアニメーション画像は膨大なものであるため、CGを用いた画像の制作は、効率の良いものとすることが大変重要である。
【0020】
しかしながら、第1の方法では、ハイライト領域の中心部分がどこにくるかを指定するには、ハイライトのための仮想の光源位置を試行錯誤して決めることになり手間がかかってしまうという課題があった。
【0021】
さらに、ハイライト領域の形状まで制御しようとすると、ハイライト専用の仮想光源をふやし、かつ所望の形になるように位置を試行錯誤して決めなければならず、非常に作業を煩雑なものとしてしまうと言う課題があった。
【0022】
また、第2の方法でも、例えば、物体表面が曲面になっている場合、その曲面上にハイライトのテクスチャを投影すると、予め用意したハイライトの2次元画像がゆがんで変形するので、所望の形のハイライトを物体上にマッピングするために、位置あわせを繰り返す必要があり、場合によっては、もとのハイライト画像を書き直すなどの処理が必要となることもあり、やはり試行錯誤を多く繰り返さなければならないという課題があった。
【0023】
さらに、第3の方法でも、スリットに描かれた形状を投影して物体表面にハイライトが生成されるので、第2の方法と同様な面倒な作業が発生する。
【0024】
また、CGのハイライトを用いたアニメーション画像を生成する場合、第1の手法では、ブリンのモデル等を用いるため、ハイライト用の光源の数が1ですむとき、自然なアニメーションを生成するのは、比較的容易なことである。
【0025】
しかしながら、これは非常に限定的な条件が揃った場合であり、より多様で一般的なハイライト形状を作ってアニメーション画像を生成するには、ハイライト用の仮想光源が多数必要となり、各仮想光源をそれぞれ移動させるという非常に複雑な処理を行わなければならず、現実的には利用するのは困難であると言う課題があった。
【0026】
さらに、第2の方法ではテクスチャの変形アニメーション画像を事前に作る必要があるため、平面ないし球面上にテクスチャを描く際、実際に投影される物体上での形を確認しながら試行錯誤的にテクスチャをデザインする必要があり、面倒な作業が発生してしまうという課題があった。
【0027】
また、アニメーションの作成でよく使用される、キーフレームとなるアニメーション画像をいくつか設定し、それらの間に必要なアニメーション画像を補間生成する、いわゆるキーフレーム法を用いてハイライトを含むアニメーション画像を生成しようとすると、各キーフレームでのハイライトを作ることは可能であるが、それを補間して自然で滑らかなハイライトを含むアニメーション画像を生成する一般的な方式が確立されていないため、第3の手法の場合にも、第2の手法と同様な問題が生じてしまう。
【0028】
以上のことから、上述した従来手法は共通して、ハイライトを入れたい物体の外から投影する方式で、物体のどの辺りにハイライトを配置するかについて、物体そのものにその位置指示を提供する手段がなく、また、ハイライト形状デザインについては、セルアニメーションの分野では単純化されたシンボリックな形状のバリエーションが必要だが、現状ではこうした形状を単純な操作で作る方法はないため、その作成には、非常に煩雑な作業が必要となってしまうと言う課題があった。
【0029】
また、キーフレーム法でハイライトアニメーションを作成する場合に適した技術的手段が確立されておらず、各キーフレーム毎に、テクスチャとしてハイライトを定義しても、それらを滑らかに変形して繋ぐ技術的手段がないため、これらを実現させるには煩雑な作業が必要となってしまうという課題があった。
【0030】
尚、3次元物体に直接ハイライトをテクスチャとして書込むことは技術的に可能であるが、この場合、単にテクスチャとしての貼り込みに過ぎず、ハイライト形状としての特性である、変形や移動、または、滑らかに繋ぐといった手法については、その手法が開発されていないので、試行錯誤を繰り返すしかないといった課題があった。
【0031】
本発明はこのような状況に鑑みてなされたものであり、ハイライトを含むCG画像を生成する際、3次元の画像と、ハイライトの形状を変形させるパラメータに基づいて、ハイライトを生成し、さらに、生成されたハイライト形状をキーフレーム法を用いて自動補間し、自然なハイライトを含むアニメーション画像を生成できるようにするものである。
【0032】
【課題を解決するための手段】
本発明の画像処理装置は、3次元の空間情報からなる画像の情報を記憶する記憶手段と、画像上の位置を指定する指定手段と、所定の光源位置、所定の視点位置、および3次元の空間情報で定義される画像上の位置に依存して設定されるベクトルと、画像の3次元の空間情報より求められる指定手段により指定された画像上の位置における法線ベクトルとの内積の値と、所定の閾値との大小関係に基づいて、画像上にハイライト領域を生成するハイライト生成手段と、ハイライト領域の形状を設定するための演算式の係数を指定するパラメータを入力するパラメータ入力手段と、パラメータ入力手段により入力されたパラメータに基づいて、回転および指定した方向への拡大縮小を含むハイライト領域の形状の加工を行う加工手段とを備えることを特徴とする。
【0035】
前記パラメータ入力手段により入力された画像のパラメータと、前記画像と異なるその他の画像のパラメータとに基づいて、補間パラメータを生成する補間パラメータ生成手段と、補間パラメータ生成手段により生成された補間パラメータに基づいて、ハイライト生成手段により生成されたハイライトとは異なるハイライトを補間生成するハイライト補間生成手段と、ハイライト補間生成手段により補間生成されたハイライトに基づいて、画像と、その他の画像との補間画像を生成する補間画像生成手段とをさらに設けるようにさせることができる。
【0036】
前記補間パラメータ生成手段は、線形補間により補間パラメータを生成させるようにすることができる。
【0037】
本発明の画像処理方法は、3次元の空間情報からなる画像上の位置を指定する指定ステップと、所定の光源位置、所定の視点位置、および3次元の空間情報で定義される画像上の位置に依存して設定されるベクトルと、画像の3次元の空間情報より求められる指定ステップの処理で指定された画像上の位置における法線ベクトルとの内積の値と、所定の閾値との大小関係に基づいて、画像上にハイライト領域を生成するハイライト生成ステップと、ハイライト領域の形状を設定するための演算式の係数を指定するパラメータを入力するパラメータ入力ステップと、パラメータ入力ステップの処理により入力されたパラメータに基づいて、回転および指定した方向への拡大縮小を含むハイライト領域の形状の加工を行う加工ステップとを含むことを特徴とする。
【0038】
本発明のプログラムは、3次元の空間情報からなる画像上の位置を指定する指定ステップと、所定の光源位置、所定の視点位置、および3次元の空間情報で定義される画像上の位置に依存して設定されるベクトルと、画像の3次元の空間情報より求められる指定ステップの処理で指定された画像上の位置における法線ベクトルとの内積の値と、所定の閾値との大小関係に基づいて、画像上にハイライト領域を生成するハイライト生成ステップと、ハイライト領域の形状を設定するための演算式の係数を指定するパラメータを入力するパラメータ入力ステップと、パラメータ入力ステップの処理により入力されたパラメータに基づいて、回転および指定した方向への拡大縮小を含むハイライト領域の形状の加工を行う加工ステップとを含む処理をコンピュータに実行させることを特徴とする。
【0039】
本発明の画像処理装置および方法、並びにプログラムにおいては、3次元の空間情報からなる画像の情報が記憶され、所定の光源位置、所定の視点位置、および3次元の空間情報で定義される画像上の位置に依存して設定されるベクトルと、画像の3次元の空間情報より求められる指定された画像上の位置における法線ベクトルとの内積の値と、所定の閾値との大小関係に基づいて、画像上にハイライト領域が生成され、ハイライト領域の形状を設定するための演算式の係数を指定するパラメータが入力され、入力されたパラメータに基づいて、回転および指定した方向への拡大縮小を含むハイライト領域の形状の加工が行われる。
【0040】
【発明の実施の形態】
図2は、本発明に係る画像処理装置の一実施の形態の構成を示すブロック図である。
【0041】
図1の入力部11は、キーボード、マウス、またはその他のポインティングデバイスなどから構成され、ユーザにより操作されて画像上の位置の情報や、各種のパラメータが入力されるとき操作され、入力された情報に応じて、基本ハイライト画像生成部12、画像化後部15、アニメーション画像補間生成部17、および、アニメーション再生部19に対応する各種の信号、すなわち、パラメータの情報や、コマンドなどを出力する。
【0042】
基本ハイライト画像生成部12は、基本画像記憶部13に予め記憶されている、複数のCG画像のうち、入力部11より指定されたCG画像情報を読み出し、表示部14に表示する。尚、CGとは、ここでは、3次元の空間情報から得られる画像であるものとする。従って、3次元の空間情報からなる画像であれば、CG画像以外の画像であってもよいので、以降においては、単に画像とも称する。
【0043】
さらに、基本ハイライト画像生成部12は、表示部14に表示された画像に基づいて、ユーザが入力部11を操作することにより入力される、視点情報、位置情報、および基本画像記憶部13に記憶されているCG画像の3次元の空間情報に基づいて、CG画像上の指定された位置に対応するハイライト領域を計算し、さらに、ハイライトを付加した画像を生成して、これを基本ハイライト画像として画像加工部15に出力する。
【0044】
表示部14は、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、または、プラズマディスプレイなどから構成され、基本ハイライト画像生成部12より供給された画像、画像加工部15より供給された画像、入力画面、または、アニメーション再生部19より供給された画像などを表示する。表示部14は、これらの情報を複数のウィンドウで同時に表示することもできる。
【0045】
画像加工部15は、基本ハイライト画像生成部12より供給されるハイライトが付加された画像、または、キーフレーム画像記憶部16に記憶されている、一度、ハイライトが加工された画像を、入力部11より供給されるハイライトを加工するためのパラメータに基づいて変形するなどして加工し、加工した画像を表示部14に表示する。ここでいうハイライトの加工とは、ハイライトを平行移動、回転、分離、拡大縮小、または、スクエアリングすることであり、各種の処理には、対応するパラメータが設定されており、これらのパラメータに基づいて加工される。
【0046】
より詳細には、平行移動とは、例えば、図3で示すようなハイライトHが、球面状の物体Oからなる基本画像の物体Oの物体表面S上に生成された場合、図4で示されるように、ハイライトHを加工して、画像に対して2次元の第1の方向、および、第2の方向に、それぞれ所定の距離だけ平行移動したハイライトH'を生成する処理である。この場合、パラメータは、第1の方向の移動量と第2の方向の移動量である。
【0047】
また、回転とは、例えば、図3で示されるようなハイライトHの中心点pを通る軸を、図5で示されるように所定の回転角θで回転させるように加工して、ハイライトH'を生成する処理である。この場合、パラメータは回転角θである。
【0048】
さらに、分離とは、例えば、図3で示されるようなハイライトHを、図6で示されるように分離するように加工し、ハイライトH'1,H'2を加工生成する処理である。この場合、パラメータは、第1の方向の離れ具合を設定するγ1と、第2の方向の離れ具合を設定するγ2である。
【0049】
また、拡大縮小とは、例えば、図3で示されるようなハイライトHを垂直方向に(1+δ)だけ拡大させるように加工して、図7で示されるようなハイライトH'を生成する処理である。もちろん、水平方向に対して(1+δ)倍だけ拡大させてもよいし、さらに、水平方向に(1+δ)倍、および、垂直方向に(1+δ)倍拡大してもよい。また、同様にして、縮小させてもよい。この場合、パラメータはδである。
【0050】
さらに、スクエアリングとは、例えば、図3で示されるようなハイライトHを変形するように加工して、図8で示されるような、所定の四角形からなるハイライトH'を生成する処理である。この場合、パラメータは、端部の尖り具合を設定するmと、全体の形状の四角さの程度を設定するσである。
【0051】
また、画像加工部15は、ハイライトの加工が完了したCG画像をキーフレーム画像として、キーフレーム画像記憶部16に記憶させると共に、加工した際、使用されたパラメータをキーフレーム画像記憶部16に供給する。
【0052】
さらに、画像加工部15は、一度加工されたキーフレーム画像を読み出し、再度加工処理を行うこともできる。この場合、新たにハイライトが設定されるような場合、基本ハイライト画像生成部12と同様に、新たにハイライト領域をキーフレーム画像に付加するといった処理も実行する。
【0053】
キーフレーム画像記憶部16は、画像加工部15より供給される複数のキーフレーム画像と、それぞれに対応するパラメータの値を対応付けて記憶する。
【0054】
アニメーション画像補間生成部17は、入力部11より入力されるキーフレーム画像を指定するキーフレーム画像指定情報に基づいて、少なくとも2枚のキーフレーム画像記憶部16に記憶されているキーフレーム画像とパラメータを呼び出し、上述したキーフレーム法によるアニメーション画像を再生させるのに必要な、キーフレーム画像間に存在するべきアニメーション画像を、読み出したパラメータに基づいて補間生成し、アニメーション画像記憶部18に供給し、記憶させる。
【0055】
より詳細には、図9で示されるように、キーフレーム画像F1,F2が指定された場合(図中、時間の変化は右方向に進むものとする)、アニメーション画像を再生するに当たり、アニメーション画像に対応する補間フレーム画像を2枚分補間生成する必要があるとき、例えば、平行移動に際して、キーフレーム画像F1,F2のパラメータが第1の方向に対してα、および、第2の方向に対してβであるとすると、アニメーション画像補間生成部17は、各パラメータを線形補間し、水平方向のパラメータをα/3、垂直方向のパラメータをβ/3として、キーフレーム画像F1のハイライトを平行移動して補間フレーム画像F11を生成する。同様にして、アニメーション画像補間生成部17は、各パラメータを線形補間し、水平方向のパラメータを2α/3、垂直方向のパラメータを2β/3として、キーフレーム画像F1のハイライトを平行移動して補間フレーム画像F12を生成する。尚、以降において、この補間フレーム画像は、補間アニメーション画像とも称する。
【0056】
尚、アニメーション画像補間生成部17は、その他の加工、すなわち、回転、分離、拡大縮小、または、スクエアリングについても同様に、それぞれのパラメータを線形補間することにより、キーフレーム間に必要とされる補間フレーム画像(補間アニメーション画像)を生成する。
【0057】
この際、アニメーション画像補間生成部17は、キーフレーム画像をもアニメーション画像記憶部18に供給して記憶させる。
【0058】
アニメーション再生部19は、入力部11より入力された再生コマンドに基づいて、アニメーション画像記憶部18に記憶されているキーフレーム画像と、補間フレーム画像を時間方向に連続的に読み出して、アニメーション動画を生成させ、表示部14に出力して、表示させる。また、アニメーション再生部19は、入力部11より必要に応じて停止コマンドが入力されるとアニメーションの再生を停止する。
【0059】
次に、図10のフローチャートを参照して、図2の画像処理装置によるキーフレーム画像生成処理について説明する。
【0060】
ステップS1において、基本ハイライト画像生成部12は、入力部11がユーザにより操作されて、基本画像が指定されたか否かを判定し、指定されるまでその処理を繰り返す。このとき、基本ハイライト画像生成部12は、例えば、基本画像記憶部13に予め記憶されている全ての画像を読み出して、さらに、サムネイル画像を生成し、表示部14に表示し、ユーザに、今、基本画像として記憶されている画像がどのようなものがあるかを示すようにしてもよく、さらに、サムネイル画像が選択されることで、基本画像が指定されるようにしてもよい。
【0061】
例えば、ステップS1において、入力部11が操作されて、基本画像を指定する情報が入力された場合、基本ハイライト画像生成部12は、対応する信号が入力部11より供給され、基本画像が指定されたと判定し、その処理は、ステップS2に進む。
【0062】
ステップS2において、基本ハイライト画像生成部12は、指定された基本画像を、基本画像記憶部13より読み出して、表示部14に表示する。このとき、基本画像記憶部13に記憶されている画像は、例えば、CG画像であり、3次元空間の位置情報からなる情報となっているので、基本ハイライト画像生成部12は、デフォルトの視点方向Vに対応する位置から表示される画像を表示部14に表示する。
【0063】
ステップS3において、基本ハイライト画像生成部12は、入力部11が操作されて、ハイライト領域の中心位置を指定する情報が入力されたか否かを判定し、ハイライト領域の中心位置を指定する情報が入力されるまで、その処理を繰り返す。
【0064】
このとき、ユーザは、入力部11を操作することにより、表示されている基本画像上の任意の位置を、自らが所望とするハイライトを生成する位置の中心位置として設定することができる。
【0065】
そして、ステップS3において、例えば、図3で示すような、球面状の物体Oが表示され、ハイライトの中心位置を示す情報として点pで示される位置情報が入力された場合、ハイライト領域の中心位置が指定されたと判定され、その処理は、ステップS4に進む。
【0066】
ステップS4において、基本ハイライト画像生成部12は、入力部11より係数εが入力されたか否かを判定し、係数εが入力されるまで、その処理が繰り返される。ステップS4において、入力部11がユーザにより操作されて、係数εが入力されると、係数εが入力されたと判定され、その処理は、ステップS5に進む。尚、係数εは、ハイライト領域の大きさを設定するパラメータであり、詳細を後述する。
【0067】
ステップS5において、基本ハイライト画像生成部12は、ハイライト領域を計算し、対応する領域をハイライト表示する。
【0068】
ここで、ハイライト領域の計算方法について説明する。
【0069】
まず、ブリンのモデルを用いたハイライト領域の定義について説明する。図1において、表示対象となる物体Oの物体表面S上の点pにおけるハイライト領域から反射されて視点で観測されるの光の強度Φs(p)は以下の式(1)ように定義される。
【0070】
Φs(p)=ks(Nvector,Hvector)n ・・・(1)
【0071】
ここで、係数ksは、鏡面反射率を示す。この係数ksは、厳密には入射角や、入射される光の波長により異なるが、CG画像の生成においては簡易的に所定の定数とすることが一般的であり、以下でも所定の定数であるものとする。また、図1で示したように、Nvectorは物体表面S上の点pにおける法線ベクトルを示す。さらに、Hvectorは、視線ベクトルVvectorと、光源ベクトルLvectorの成す角を2分する方向のベクトルを示しており、以下において、Hvectorは、中間ベクトルと称する。さらに、これらのベクトルは、全て大きさが1に正規化された単位ベクトルであるものとする。また、以下において、ベクトルを示す符号には、vectorを付するものとし、付されていない係数については、スカラー量であるものとする。
【0072】
従って、中間ベクトルHvectorは、以下の式(2)として定義される。
Hvector=(Lvector+Vvector)/|Lvector+Vvector|・・・(2)
【0073】
ここで、|Lvector+Vvector|は、ベクトル(Lvector+Vvector)の大きさを示す。さらに、式(1)の右辺の係数nは、ハイライトの輪郭のシャープさを規定するものである。しかしながら、以降の説明においては、説明を簡単にするために係数nはn=1とし、さらに、係数ksもks=1であるものとする。当然のことながら、これらの係数n,ksは自由に設定できる値である。
【0074】
以上の式(1)により定義された、ハイライト上の点pにおける光の強度Φs(p)に基づいて、ハイライト領域Hεは、以下の式(3)のように定義される。
【0075】
Hε={p∈S|Φs(p)>1-ε}・・・(3)
【0076】
ここで、係数εは、0<ε<1で設定される値であり、ユーザにより自由に設定される。p∈Sは、点pが物体表面Sに含まれることを示している。従って、式(3)においては、物体表面S内の点pのうち、光の強度Φs(p)がΦs(p)>1-εである点pからなる領域がハイライト領域Hεであることが示されている。
【0077】
換言すれば、このように式(1)を用いてハイライト領域Hεを式(3)で定義するとき、各点pの中間ベクトルHvectorと法線ベクトルNvectorとの内積を求め、その値と(1-ε)との大小比較によって、その点がハイライト領域Hεに属するかどうかを判定することにより設定されるハイライト領域Hεがブリンのモデルを用いた従来のハイライト領域Hεの設定方法である。
【0078】
従って、点pの色を決める際に、この点pが式(3)で定義される領域Hεに属するならば、ハイライト色(通常は白)が割り当てられる。尚、係数εが0に近いほどハイライト領域は小さくなり、係数εが1に近いほどハイライト領域Hεは物体表面Sに広がる。すなわち、係数εはハイライト領域Hεの大きさを規定する値である。
【0079】
ところで、式(2)で示されるように、中間ベクトルHvectorは、視線ベクトルVvectorと光源ベクトルLvectorにより一意に決まるベクトルである。
【0080】
このうち、視線ベクトルVvectorは、3次元空間の情報からなるCG画像においては、表示する際に予め設定されることになるので、以下においては、デフォルトとなる所定の定数から構成されるベクトルとする。もちろん、視線ベクトルVvectorは、ユーザにより自由に設定できるものである。
【0081】
また、以下において、光源ベクトルLvectorについても、視線ベクトルVvectorと同様に、デフォルトとなる所定の定数から構成されるベクトルであるものとする。もちろん、光源ベクトルLvectorも、ユーザにより自由に設定できるものである。
【0082】
この結果、中間ベクトルHvectorは、以下の式(4)で示されるベクトルHvector(p)として定義されることになる。
【0083】
Hvector(p)=(Lvector(p)+Vvector(p))/|Lvector(p)+Vvector(p)|・・・(4)
【0084】
ここで、pは、物体表面S上の点pを示す。従って、Hvector(p)は、物体表面S上の点pにおける中間ベクトルである。
【0085】
従って、式(4)を用いることにより、物体表面上の点pが指定されると、中間ベクトルHvector(p)は、一意に定まる。
【0086】
この式(4)を用いて、以下の式(5)で示されるベクトルhvector(p)を定義する。
【0087】
hvector(p)=(Hvector(p)+tvector)/|Hvector(p)+tvector|・・・(5)
【0088】
式(5)において、|Hvector(p)+tvector|は、ベクトル(Hvector(p)+tvector)の大きさを示し、tvectorは、以下の式(6)で示される関係を有する。
【0089】
tvector=Nvector(p0)−Hvector(p0)・・・(6)
【0090】
式(6)において、p0は、物体表面S上でユーザにより位置が指定された点を示し、Nvector(p0)は、点p0を通る法線ベクトルを示し、Hvector(p0)は、点p0を通る中間ベクトルを示す。従って、ベクトルtvectorは、点p0上での中間ベクトルHvector(p0)と法線ベクトルNvector(p0)の差分ベクトルである。
【0091】
すなわち、式(5)で定義されるベクトルhvector(p)は、物体表面S上の任意の点p上の中間ベクトルHvector(p)と、点p0上での中間ベクトルHvector(p0)と法線ベクトルNvector(p0)の差分ベクトルとのベクトル和の単位ベクトルである。
【0092】
このため、式(5)のベクトルhvector(p)は、物体表面S上の任意の点pの位置に応じて、中間ベクトルHvector(p)に支配されるベクトルであって、かつ、点p0上において、法線ベクトルNvector(p0)と一致するベクトルである。換言すれば、ベクトルhvector(p)は、中間ベクトルHvector(p)をベクトルtvector分だけオフセットされたベクトルであると言える。
【0093】
従って、上述した、式(5)で定義されるベクトルhvector(p)の性質と、式(1),式(3)の関係を利用して、以下の式(7)で示されるハイライト領域H[ε]を新たに定義することができる。
【0094】
H[ε]={p∈S|(Nvector(p),hvector(p))>1-ε}・・・(7)
【0095】
式(7)において、(Nvector(p),hvector(p))は、法線ベクトルNvector(p)とベクトルhvector(p)の内積を示す。
【0096】
上述したように、ベクトルhvector(p)は、中間ベクトルHvector(p)に支配されるベクトルであるため、物体表面S上の任意の点pに対応して、定性的には中間ベクトルHvector(p)と同様の挙動を示す。従って、式(7)で定義されるハイライト領域H[ε]で定義されるハイライト領域と、式(3)で定義される、いわゆるブリンのモデルを用いて定義されるハイライト領域Hεとは、いずれも係数εの変化に応じたそれぞれの挙動が定性的に同様のものと考えることができる。
【0097】
また、物体表面S上の、指定された点p0においては、上述したようにベクトルhvector(p0)は、法線ベクトルNvector(p0)と一致するため、(Nvector(p),hvector(p))=(Nvector(p),Nvector(p))=1となり、式(7)で定義されたハイライト領域H[ε]において、指定された点p0を最もハイライト色が強くなる中心位置に設定することも可能となる。従って、ユーザは、ハイライトを設定したい位置を指定するだけで、ハイライトを設定することが可能となる。
【0098】
そこで、図10のフローチャートのステップS5において、基本ハイライト画像生成部12は、ステップS4において、入力された係数εを用いて、上述した式(7)で定義されたハイライト領域H[ε]を求め、求められたハイライト領域の各点pについて、式(7)の(Nvector(p),hvector(p))の演算結果に応じたハイライト色(色の強さ)でハイライトを基本画像に付して、表示部14に出力し、表示させると共に、画像加工部15に出力する。尚、上述したベクトルhvector(p)は、以降において、中心位置指定ベクトルhvector(p)と称する。従って、上述の式(7)で定義されるハイライト領域H[ε]は、中心位置指定ベクトルhvector(p)に依存して変化する。
【0099】
ステップS6において、画像加工部15は、画像上に設定されたハイライトの加工処理を実行する。
【0100】
ここで、図11のフローチャートを参照して、ハイライトの画像加工処理について説明する。
【0101】
ステップS21において、画像加工部15は、ハイライト領域の加工に必要なパラメータの入力画面を表示する。
【0102】
画像加工部15が表示する入力画面(GUI:Graphical User Interface)は、例えば、図12で示されるような画面である。
【0103】
図12においては、最上段にタブ31が表示され、今の場合、「基本画像1」と表示されており、選択された基本画像を識別する情報が表示されている。
【0104】
タブ31の下には、ファイル名表示欄32が設けられており、選択された基本画像に対応するファイル名が表示されており、今の場合「Basic1」と表示されている。
【0105】
ファイル名表示欄32の下には、選択された基本画像のサンプルが表示されるサンプル画像表示欄33が設けられている。今の場合、球状のサンプルが表示されている。
【0106】
サンプル画像表示欄33の下には、平行移動のパラメータを入力するための第1の方向であるu方向パラメータ入力欄34が設けられている。u方向パラメータ入力欄34には、直接値を入力できる他、その右側に設けられたつまみ35を図中の左右に操作する(ここでいう、操作とは、例えば、ポインティングデバイスなどにより、つまみ35をドラッグし、左右に操作することである)ことで値を変化させるようにすることもできる。今の場合、「Speculer Trans U」と表示されており、値として「-0.810」が表示されている。
【0107】
u方向パラメータ入力欄34の下には、平行移動のパラメータを入力するための第2の方向であるv方向パラメータ入力欄36が設けられている。v方向パラメータ入力欄36には、直接値を入力できる他、その右側に設けられたつまみ37を図中の左右に操作することで値を変化させるようにすることもできる。今の場合、「Speculer Trans V」と表示されており、値として「0.080」が表示されている。
【0108】
v方向パラメータ入力欄36の下には、回転のパラメータθを入力するための回転パラメータ入力欄38が設けられている。回転パラメータ入力欄38には、直接値を入力できる他、その右側に設けられたつまみ39を図中の左右に操作することで値を変化させるようにすることもできる。今の場合、「Speculer Rotate」と表示されており、値として「0.080」が表示されている。
【0109】
回転パラメータ入力欄38の下には、分離のパラメータγ1,γ2をそれぞれ入力するための分離パラメータ入力欄40,42が設けられている。分離パラメータ入力欄40,42には、直接値を入力できる他、その右側に設けられたつまみ41,43を図中の左右に操作することで値を変化させるようにすることもできる。今の場合、「Split」と表示されており、値としていずれも「0.00」が表示されている。
【0110】
分離パラメータ入力欄40の下には、拡大縮小のパラメータδを入力するための拡大縮小パラメータ入力欄44が設けられている。拡大縮小パラメータ入力欄44には、直接値を入力できる他、その右側に設けられたつまみ45を図中の左右に操作することで値を変化させるようにすることもできる。今の場合、「Scale Alpha」と表示されており、値としていずれも「0.000」が表示されている。
【0111】
拡大縮小パラメータ入力欄44の下には、スクエアリングのパラメータσ,mをそれぞれ入力するためのスクエアリングパラメータ入力欄46,48が設けられている。スクエアリングパラメータ入力欄46,48には、直接値を入力できる他、その右側に設けられたつまみ47,49を図中の左右に操作することで値を変化させるようにすることもできる。今の場合、「Squaring」と表示されており、値としていずれも「0.00」が表示されている。
【0112】
また、これらの入力欄は、全て入力される必要が無く、いずれかのパラメータだけを入力することができるようにされており、それ以外の値は、変更を加える必要のない状態の値(加工しない状態を示す値)がデフォルトで設定されている。
【0113】
ステップS22において、画像加工部15は、入力部11よりハイライトを加工するためのパラメータが設定されたか否かを判定し、設定されていないと判定されると、その処理は、ステップS21に戻り、設定されたと判定されるまで、ステップS21,S22の処理が繰り返される。
【0114】
ステップS22において、例えば、入力部11がユーザにより操作され、平行移動、回転、分離、拡大縮小、または、スクエアリングの加工に関するパラメータが、ステップS21の処理で表示された各種の入力欄に入力され、決定操作がなされると、画像加工部15は、パラメータの入力があったと判定し、その処理は、ステップS23に進む。
【0115】
ステップS23において、画像加工部15は、入力されたパラメータに平行移動のパラメータが指定されているか否かを判定する。より詳細には、画像加工部15は、平行移動のパラメータとなっている値が、0であるか否かを判定することにより、パラメータが指定されているか否かを判定する。例えば、平行移動のパラメータが入力されていると判定された場合、その処理は、ステップS24に進む。
【0116】
ステップS24において、画像加工部15は、平行移動のパラメータに基づいて、ハイライト領域を並行移動させて、表示部14に出力し表示させ、その処理は、ステップS25に進む。
【0117】
より詳細には、例えば、平行移動のパラメータとして、第1の方向のパラメータu、および、第2の方向のパラメータvが、(u,v)=(α,β)として入力されていた場合、画像加工部15は、物体表面S上の各点pの中間ベクトルHvector(p)について、以下の式(8)を用いて、平行移動しベクトルH'vector(p)を演算し、演算されたベクトルH'vector(p)を用いて、式(9)による演算によりハイライトベクトルtvector(H)を求め、このハイライトベクトルtvector(H)から、上述した式(7)による演算を用いた手法によりハイライト領域H'[ε]を求めて、求められたハイライト領域に加工し、表示部14に表示させる。
【0118】
H'vector(p)=Hvector(p)+αduvector+βdvvector・・・(8)
【0119】
tvector(H)=H'vector(p)/|H'vector(p)|・・・(9)
【0120】
ここで、α,βは、上述した平行移動のパラメータであり、図13で示されるように、duvector,dvvectorは、第1の方向uと第2の方向vのそれぞれの単位ベクトルを示す。尚、図13中においては、全ての符号にvectorが、付されていないが、α,β以外の符号は全てベクトルである。また、後述する図14乃至図17についても同様とする。
【0121】
すなわち、図13で示されるように、中間ベクトルHvector(p)と、図13中の点線で示される平行移動する方向と距離を示すベクトル(αduvector+βdvvector)とのベクトル和がベクトルH'vector(p)であることが示されている。
【0122】
さらに、図13には、求められたベクトルH'vector(p)が、式(9)により単位ベクトルにされると、ハイライトベクトルtvector(H)となることが示されている。
【0123】
また、例えば、図14で示されるように、第1の方向uについてのみ見ると、1点鎖線で示されているベクトルtvector(H)が、図13の上部で示される元の中間ベクトルHvector(p)と、図14の下部で示されるように点線で示される平行移動する方向と距離を示すベクトル(αduvector+βdvvector)とのベクトル和によって求められる。画像加工部15は、この新たに求められた中間ベクトルtvector(H)と法線ベクトルNvector(p)との関係により新たなハイライト領域を求める。すなわち、図14の下部で示されるように、ハイライトベクトルtvector(H)は、元の中間ベクトルHvector(p)と比べて、全体として1点鎖線で示されている矢印が右側に傾くことになる。
【0124】
結果として、図14中上部においては、左右両端の中間ベクトルHvector(p)を示す実線の矢印は、法線ベクトルと一致する中央の矢印との角度の差が大きくなるため、上述した式(7)の関係からハイライト領域になっておらず、中央の5本の実線の矢印で示されている領域がハイライト領域となっているが、図14の下部の1点鎖線の矢印で示されるように、ハイライトベクトルtvector(H)では、傾きが全体として右側に傾斜することで、法線ベクトルと一致する矢印が右から3番目の1点鎖線の矢印となり、左側の2本の1点鎖線の矢印で示される領域がハイライト領域から外れて、右側の5本の1点鎖線の矢印で示される領域がハイライト領域となっている。結果として、図14においては、ハイライト領域が右側に平行移動したことが示されている。
【0125】
尚、図14においては、実線の矢印が元の中間ベクトルを、点線の矢印が平行移動した方向と距離を示すベクトルを、1点鎖線の矢印のうち、大きな矢じりとなっている部分が、元の中間ベクトルと平行移動した方向と距離を示すベクトルのベクトル和を示し、さらに、1点鎖線で示された矢印の小さな矢じりとなっている部分が、元の中間ベクトルと平行移動した方向と距離を示すベクトルのベクトル和を示す単位ベクトル、すなわち、新たに求められた中間ベクトルを示している。
【0126】
また、上述の平行移動の処理に必要とされるパラメータ(α,β)は、例えば、表示部14に表示されているハイライト領域をポインティングデバイスにより、ハイライト部分をドラッグアンドドロップするなどしたときのポインティングデバイスの移動方向、および、移動距離に基づいて入力されるものであってもよい。この際、上述の式(8),式(9)の演算が実行されるのみであるので、実際の表示処理などはリアルタイムで実行することが可能であり、結果として、ユーザは、移動量や方向などを意識せずにハイライトを平行移動させるようにすることが可能となり、例えば、図3で示されるようなハイライトHが、図4で示されるようなハイライトH'に加工される。
【0127】
一方、ステップS23において、平行移動のパラメータが含まれていないと判定された場合、ステップS24の処理は、スキップされ、その処理は、ステップS25に進む。
【0128】
ステップS25において、画像加工部15は、入力されたパラメータに回転のパラメータが指定されているか否かを判定する。より詳細には、画像加工部15は、回転のパラメータとなっている値が、0であるか否かを判定することにより、パラメータが指定されているか否かを判定する。例えば、回転のパラメータが入力されていると判定された場合、その処理は、ステップS26に進む。
【0129】
ステップS26において、画像加工部15は、回転のパラメータに基づいて、ハイライト領域を回転させて、表示部14に出力し表示させ、その処理は、ステップS27に進む。
【0130】
より詳細には、画像加工部15は、回転のパラメータとして、回転角θが入力された場合、ハイライト領域を設定する座標の第1の方向の軸であるu軸および第2の方向の軸であるv軸を、ハイライト領域の中心点を中心として、入力された回転角θに対応して回転させることにより、ハイライト領域を回転させ、回転したu軸およびv軸に対応するハイライト領域を表示部14に出力する。すなわち、例えば、図3で示されるようなハイライトHが、図5で示されるようなハイライトH'に加工される。
【0131】
一方、ステップS25において、平行移動のパラメータが含まれていないと判定された場合、ステップS26の処理は、スキップされ、その処理は、ステップS27に進む。
【0132】
ステップS27において、画像加工部15は、入力されたパラメータに分離のパラメータが指定されているか否かを判定する。より詳細には、画像加工部15は、分離のパラメータとなっている値が、0であるか否かを判定することにより、パラメータが指定されているか否かを判定する。例えば、分離のパラメータが入力されていると判定された場合、その処理は、ステップS28に進む。
【0133】
ステップS28において、画像加工部15は、分離のパラメータに基づいて、ハイライト領域を分離させて、表示部14に出力し表示させ、その処理は、ステップS29に進む。
【0134】
より詳細には、例えば、分離のパラメータとして、第1の方向のパラメータγ1および、第2の方向のパラメータγ2が入力されていた場合、画像加工部15は、物体表面S上の各点pの中間ベクトルHvector(p)について、以下の式(10)を用いて、分離しベクトルH∨ vector(p)を演算し、演算されたベクトルH∨ vector(p)を用いて、式(11)による演算によりハイライトベクトルsplvector(H)を求め、このハイライトベクトルsplvector(H)から、上述した式(7)による演算を用いた手法によりハイライト領域H'[ε]を求めて、求められたハイライト領域に加工し、表示部14に表示させる。
【0135】
H∨ vector(p)=Hvector(p)−γ1 sgn[(Hvector(p),duvector)]duvector−γ2 sgn[(Hvector(p),dvvector)]dvvector・・・(10)
【0136】
splvector(H)=H∨ vector(p)/|H∨ vector(p)|・・・(11)
【0137】
ここで、sgn[x]は、以下の式(12)で示されるように定義された関数である。
【0138】
sgn[x]=1(if x=1) and x/|x|(if x≠1)・・・(12)
【0139】
パラメータγ1,γ2は、いずれも非負のパラメータであり、パラメータγ1は、第1の方向(u方向)に2個にハイライト領域を分離する度合いを示すものであり、同様にして、パラメータγ2は第2の方向(v方向)に2個にハイライト領域を分離する度合いを示すものである。
【0140】
また、例えば、図15で示されるように、水平方向uについてのみ見ると、1点鎖線で示されているハイライトベクトルH∨ vector(p)は、図15の上部で示される元の中間ベクトルHvector(p)と、上述の式(10)の右辺第2項の演算により、図15の下部で示されるような点線で示されるベクトル(−γ1sgn[(Hvector(p),duvector)]duvector)とのベクトル和によって求められる。画像加工部15は、この新たに求められた中間ベクトルH∨ vector(p)と法線ベクトルNvector(p)との関係により新たなハイライト領域を求める。すなわち、図15の下部で示されるように、ハイライトベクトルH∨ vector(p)は、右から3本目までの実線で示される元の中間ベクトルHvector(p)が右側に傾いたものとされ、左から4本目までの実線で示される元の中間ベクトルHvector(p)が左側に傾いたものとされる。
【0141】
結果として、図15中上部においては、左右両端から2本目までの中間ベクトルHvector(p)を示す矢印は、法線ベクトルと一致する中央の矢印との角度の差が大きくなるため、上述した式(7)の関係からハイライト領域になっておらず、中央の3本の矢印で示されている領域がハイライト領域となっているが、図15の下部の矢印で示されるように、ハイライトベクトルH∨ vector(p)では、右から3本目までは、元の中間ベクトルHvector(p)に対して右側に傾き、左から3本目までは左側に傾くことで、法線ベクトルと一致する矢印が右から2番目の矢印と、左側の2番目の矢印となるため、左右3本の1点鎖線の矢印で示される領域となるため、中央の矢印の領域がハイライト領域から外れて、左右の3本の矢印で示される領域がハイライト領域となっている。結果として、図15においては、ハイライト領域が2個に分離したことが示されている。すなわち、例えば、図3で示されるようなハイライトHが、図6で示されるようなハイライトH'1,H'2に分離して、加工される。
【0142】
尚、図15においては、実線の矢印が元の中間ベクトルを、点線の矢印が上述の式(10)の右辺第2項により演算されたベクトルを、1点鎖線の矢印のうち、大きな矢じりとなっている部分が、元の中間ベクトルと式(10)の右辺第2項により演算されたベクトルのベクトル和を示し、さらに、1点鎖線で示された矢印の小さな矢じりとなっている部分が、元の中間ベクトルと式(10)の右辺第2項により演算されたベクトルのベクトル和を示す単位ベクトル、すなわち、新たに求められた中間ベクトルを示している。
【0143】
従って、パラメータγ1,γ2の何れもが正の値に設定されると、ハイライト領域は、第1の方向、および、第2の方向にそれぞれ2個に分離されることになるため、結果として、1個のハイライト領域が、4個に分離される。これらのパラメータを連続的に変えると、ハイライトの分離アニメーション画像を構成することができる。
【0144】
一方、ステップS27において、分離のパラメータが含まれていないと判定された場合、ステップS28の処理は、スキップされ、その処理は、ステップS29に進む。
【0145】
ステップS29において、画像加工部15は、入力されたパラメータに拡大縮小のパラメータが指定されているか否かを判定する。より詳細には、画像加工部15は、平行移動のパラメータとなっている値が、0であるか否かを判定することにより、パラメータが指定されているか否かを判定する(拡大縮小のパラメータは、等倍を1としたときの倍率1に対して加算される倍率の値である)。例えば、拡大縮小のパラメータが入力されていると判定された場合、その処理は、ステップS30に進む。
【0146】
ステップS30において、画像加工部15は、拡大縮小のパラメータに基づいて、ハイライト領域を拡大縮小させて、表示部14に出力し表示させ、その処理は、ステップS31に進む。
【0147】
より詳細には、例えば、拡大縮小のパラメータとしてδが、入力されていた場合、画像加工部15は、物体表面S上の各点pの中間ベクトルHvector(p)について、以下の式(13)を用いて、ベクトルH’’vector(p)を演算し、演算されたベクトルH’’vector(p)を用いて、式(14)による演算によりハイライトベクトルsvector(H)を求め、このハイライトベクトルsvector(H)から、上述した式(7)による演算を用いた手法によりハイライト領域H'[ε]を求めて、求められたハイライト領域に加工し、表示部14に表示させる。
【0148】
H’’vector(p)=Hvector(p)−δ(Hvector(p),duvector)duvector・・・(13)
【0149】
svector(H)=H’’vector(p)/|H’’vector(p)|・・・(14)
【0150】
すなわち、図16で示されるように、中間ベクトルHvector(p)と、図16中の点線で示される、式(13)の右辺第2項で求められるベクトル(δ(Hvector(p),duvector)duvector)とのベクトル差がベクトルH’’vector(p)であることが示されている。
【0151】
さらに、図16には、求められたベクトルH''vector(p)が、式(14)により単位ベクトルにされると、ハイライトベクトルsvector(H)となることが示されている。尚、式(13),式(14)は、第1の方向であるu方向の式であり、第2の方向であるv方向にも同様の演算がなされる。
【0152】
ところで、式(13)は、本来以下の式(15)が定義されるものである。
【0153】
H''vector(p)=Hvector(p)+δ(Nvector(p)−Hvector(p),duvector)duvector
・・・(15)
【0154】
すなわち、式(15)で示されるように、式(13)で求められるベクトルは、図16で示されるように、法線ベクトルNvector(p)と中間ベクトルHvector(p)の差分ベクトル(Nvector(p)−Hvector(p))と、u方向の単位ベクトルduvectorとの内積の値をu方向の単位ベクトルduvectorに乗じたベクトルと、中間ベクトルとのベクトル和を求める式となるはずである。
【0155】
しかしながら、以下の式(16)で示されるように、式(15)が展開されると、右辺第2項は、法線ベクトルとu方向の単位ベクトルとの内積を含む項となるため、0となりキャンセルされるので、結果として、上述した式(13)が演算されることになる。
H''vector(p)=Hvector(p)+δ(Nvector(p),duvector)duvector−δ(Hvector(p),duvector)duvector・・・(16)
【0156】
また、例えば、図17で示されるように、水平方向uについてのみ見ると、1点鎖線で示されているハイライトベクトルsvector(H)は、図17の上部で示される元の中間ベクトルHvector(p)と、式(13)の右辺第2項で求められるベクトル(−δ(Hvector(p),duvector)duvector)とのベクトル和によって求められる。画像加工部15は、この新たに求められた中間ベクトルsvector(H)と法線ベクトルNvector(p)との関係により新たなハイライト領域を求める。すなわち、図17の下部で示されるように、ハイライトベクトルsvector(H)は、元の中間ベクトルHvector(p)と比べて、図中中央より右側の矢印は右側に、図中中央より左側の1点鎖線の矢印は、左側に、それぞれ傾くことになる。
【0157】
結果として、図17中上部においては、左右それぞれの2本の中間ベクトルHvector(p)を示す実線の矢印は、法線ベクトルと一致する中央の矢印との角度の差が大きくなるため、上述した式(7)の関係からハイライト領域になっておらず、中央の3本の矢印で示されている領域がハイライト領域となっているが、図17の下部の1点鎖線の矢印で示されるように、ハイライトベクトルsvector(H)では、全体として法線ベクトルに近い方向に傾きが変化することで、全ての矢印は、法線ベクトルとの傾きが近いものとなり、矢印で示される全ての領域がハイライト領域となっている。結果として、図17においては、ハイライト領域が拡大したことが示されている。すなわち、例えば、図3で示されるようなハイライトHが、図7で示されるようなハイライトH'に加工される。
【0158】
尚、図17においては、実線の矢印が元の中間ベクトルを、点線の矢印が式(13)の右辺第2項で求められるベクトルを、1点鎖線の矢印のうち、大きな矢じりとなっている部分が、元の中間ベクトルと式(13)の右辺第2項で求められるベクトルのベクトル和を示し、さらに、1点鎖線で示された矢印の小さな矢じりとなっている部分が、元の中間ベクトルと平行移動した方向と距離を示すベクトルのベクトル和の単位ベクトル、すなわち、新たに求められた中間ベクトルを示している。
【0159】
尚、以上においては、u方向の場合について説明してきたが、v方向も拡大することが可能であり、同様の手法であるため、その説明は省略する。また、以上においては、拡大について説明してきたが、縮小の処理も同様にすることが可能である。また、ハイライト領域の拡大縮小は、以上の方法のみならず、例えば、上述した係数εの値により拡大縮小させるようにしてもよい。
【0160】
一方、ステップS29において、分離のパラメータが含まれていないと判定された場合、ステップS30の処理は、スキップされ、その処理は、ステップS31に進む。
【0161】
ステップS31において、画像加工部15は、入力されたパラメータにスクエアリングのパラメータが指定されているか否かを判定する。より詳細には、画像加工部15は、スクエアリングのパラメータとなっているσ,m値が、0であるか否かを判定することにより、パラメータが指定されているか否かを判定する。例えば、スクエアリングのパラメータが入力されていると判定された場合、その処理は、ステップS32に進む。
【0162】
ステップS32において、画像加工部15は、スクエアリングのパラメータに基づいて、ハイライト領域をスクエアリングさせて、表示部14に出力し表示させ、その処理は、ステップS33に進む。
【0163】
より詳細には、例えば、スクエアリングのパラメータとして、より四角形なハイライト形状にするパラメータσ、および、角の尖り具合を設定するパラメータmが、入力されていた場合、画像加工部15は、物体表面S上の各点pの中間ベクトルHvector(p)について、以下の式(17)を用いて、ベクトルH∧ vector(p)を演算し、演算されたベクトルH∧ vector(p)を用いて、式(18)による演算によりハイライトベクトルsqrvector(p)を求め、このハイライトベクトルsqrvector(p)から、上述した式(7)による演算を用いた手法によりハイライト領域H'[ε]を求めて、求められたハイライト領域に加工し、表示部14に表示させる。
【0164】
H∧ vector(p)=Hvector(p)−σ×sqrnorm((Hvector(p),duvector)duvector +(Hvector(p),dvvector)dvvector)・・・(17)
【0165】
sqrvector(p)=H∧ vector(p)/|H∧ vector(p)|・・・(18)
【0166】
ここで、sqrnormは、以下の式(19)で定義される関数である。
【0167】
sqrnorm=sin(2θ)m・・・(19)
【0168】
また、θは、以下の式(20)で定義されるものである。
【0169】
θ=min(cos-1(Hvector(p),duvector),cos-1(Hvector(p),dvvector))
・・・(20)
【0170】
式(20)において、cos-1は、cosの逆関数であり、min(A,B)は、A、および、Bのうちの最小値を選択することを示す。
【0171】
すなわち、例えば、図3で示されるようなハイライトHが、図8で示されるようなハイライトH'に加工される。
【0172】
また、ステップS31において、スクエアリングのパラメータが含まれていないと判定された場合、ステップS32の処理はスキップされて、その処理は、ステップS33に進む。
【0173】
ステップS33において、画像加工部15は、ハイライトの加工が完了したか否かを判定し、例えば、入力部11が操作されて、ハイライトの加工が完了していない、すなわち、さらに加工することが要求された場合、その処理は、ステップS21に戻り、それ以降の処理が繰り返される。すなわち、加工処理が、再び繰り返される。
【0174】
ステップS33において、加工が完了したことを示す信号が、入力部11が操作されて入力されると、完了と判定され、その処理は、ステップS34に進む。
【0175】
ステップS34において、画像加工部15は、ハイライトが設定され、さらに、ハイライトが加工されている画像をキーフレーム画像としてキーフレーム画像記憶部16に出力し、記憶させる。この際、画像加工部15は、各画像をキーフレーム画像として識別できる情報と共に、加工(平行移動、回転、分離、拡大縮小、または、スクエアリング)のために設定されたパラメータの情報を付加して順次記憶させる。
【0176】
また、ステップS24,S26,S28,S30,S32の全ての処理がスキップされた場合、実質的に、ハイライトの画像加工処理がなされずに、そのままの画像がキーフレーム画像に設定されることになる。
【0177】
尚、以上の処理においては、ステップS24,S26,S28,S30,S32において、それぞれ個々のハイライト領域の加工方法について説明しているが、複数にパラメータが指定(設定)されている場合、これらの処理結果が順次重畳されることになる。従って、例えば、平行移動、回転、分離、拡大縮小、および、スクエアリングの全てのパラメータが入力された場合、ハイライト領域は、平行移動され、回転され、分離され、拡大縮小され、そして、スクエアリングされて、ハイライト領域は、全ての加工処理がなされて、最終的に入力された画像がキーフレーム画像として出力されることになる。
【0178】
また、加工処理は、パラメータが設定されると、上述したようにいずれの加工の演算も簡単な演算であるため、パラメータを置き換えていくだけで、ハイライトの編集を進めることができ、さらに、一回のハイライトの加工で気に入らない場合、何度でも、パラメータを置き換えるだけで、ハイライト領域を編集することができるため、効率のよいハイライト領域の編集が可能となる。
【0179】
ここで、図10のフローチャートの説明に戻る。
【0180】
ステップS7において、基本ハイライト画像生成部12は、入力部11が操作されて、ハイライト領域の位置が移動されたか否かを判定する。すなわち、ステップS6の処理により、加工されたハイライト領域は、マウスなどのポインティングデバイスにより移動可能であるので、ドラッグ、アンド、ドロップなどの処理により位置を移動させる処理がなされたか否かが判定される。例えば、ステップS7において、移動されたと判定された場合、ステップS8において、画像加工部15は、加工された画像を移動する。
【0181】
ステップS9において、基本ハイライト画像生成部12は、入力部11が操作されて、その他のハイライト領域の中心位置を指定する情報が入力されたか否かを判定し、その他のハイライト領域の中心位置を指定する情報が入力されたと判定された場合、その処理は、ステップS4に戻る。すなわち、新たなハイライト領域の中心位置を指定する処理が、繰り返される限り、ステップS4乃至S9の処理が繰り返される。
【0182】
また、ステップS7において、移動されていないと判定された場合、ステップS8の処理がスキップされて、その処理は、ステップS9に進む。
【0183】
ステップS9において、その他のハイライト領域の中心位置を指定する処理がなされないと判定された場合、その処理は終了する。
【0184】
以上の処理が繰り返されることにより、複数のハイライトを連続的に設定し、さらに、設定したハイライトを編集することができるので、複数のハイライトが設定されたキーフレーム画像が順次生成されて、キーフレーム画像記憶部16に蓄えられていく。
【0185】
尚、以上の処理においては、ハイライト領域の中心位置を指定した(ステップS3の処理)後、εが指定される(ステップS4の処理)順序での処理となっていたが、εの指定を先に行ってから、ハイライト領域の中心位置を指定するようにしてもよい。このようにした場合、ステップS9においては、新たなハイライト領域のεが設定されたか否かが判定されることになる。また、上述の手法によるハイライト領域の設定のみならず、同時に、上述した従来のブリンのモデルを用いた方法で、中間ベクトルと、光源の位置を設定して、新たなハイライト領域も設定できるようにして、それらを選択できるようにしてもよい。
【0186】
次に、図18のフローチャートを参照して、アニメーション画像補間生成処理について説明する。
【0187】
ステップS41において、アニメーション画像補間生成部17は、入力部11よりキーフレーム画像を指定する情報が入力されてきたか否かを判定し、入力されたと判定されるまで、その処理が繰り返される。尚、上述したように、キーフレーム法によりアニメーション画像を生成する方法としては、少なくとも2枚以上のキーフレーム画像が指定されなければならない。また、キーフレーム画像は、上述したように、キーフレーム画像を識別するための情報と共にキーフレーム画像記憶部16に記憶されているので、入力されるキーフレーム画像を指定する情報は、キーフレーム画像を識別する情報に対応する情報である。
【0188】
ステップS41において、入力部11がユーザにより操作され、キーフレーム画像を指定する情報が入力されたと判定された場合、その処理は、ステップS42に進む。
【0189】
ステップS42において、アニメーション画像補間生成部17は、指定されたキーフレーム画像をキーフレーム画像記憶部16より読み出すと共に、指定されたキーフレーム画像上のハイライトの加工に用いられたパラメータの情報を読み出す。
【0190】
ステップS43において、アニメーション画像補間生成部17は、補間生成すべきアニメーション画像の数を決定する。今の場合、この処理は、アニメーション画像補間生成部17が、ユーザに補間生成するアニメーション画像の数を要求し、ユーザにより設定された数とするようにするが、これに限るものではなく、例えば、キーフレーム画像を生成する際に、キーフレーム画像の各々にタイムスタンプのような再生時刻を示す情報を付するものとし、これらの情報に基づいて、補間すべきアニメーション画像の数をアニメーション画像補間生成部17が計算するようにしてもよい。
【0191】
ステップS44において、アニメーション画像補間生成部17は、キーフレーム画像のハイライト領域を設定するパラメータに基づいて、生成するアニメーション画像のハイライト領域のパラメータを線形補間により計算する。
【0192】
ステップS45において、アニメーション画像補間生成部17は、ステップS44の処理により、線形補間で求められたハイライト領域の加工に用いられたパラメータに基づいて、補間アニメーション画像を生成し、アニメーション画像記憶部18に出力し、記憶させる。この際、アニメーション画像補間生成部17は、キーフレーム画像として選択された画像も合わせて、アニメーション画像記憶部18に出力し、記憶させる。
【0193】
ここで、図19で示されるような、宇宙船が描かれた画像に対応するキーフレーム画像から補間アニメーション画像を生成する方法について説明する。尚、今の場合の図19中の領域Vで示される、宇宙船の翼上の画像を特に例として説明する。
【0194】
図19の領域Vに対応する画像のキーフレーム画像として図20の上部左部のキーフレーム画像K1、および、図20上部右部のキーフレーム画像K2が選択された場合を想定する。ここで、再生される順序は、キーフレーム画像K1が先に再生され、後にキーフレーム画像K2が再生されるものとする。また、キーフレーム画像K1には、ハイライト領域61a,62aが設定されており、キーフレーム画像K2には、ハイライト領域61c,62cが設定されている。ここでは、特に、ハイライト領域61a,61cを例として用いて、キーフレーム画像K1,K2の間に、図20上部中央の1枚の補間アニメーション画像R1を線形補間により生成する方法について説明する。尚、ハイライト領域61a,61cは、表示位置が異なるのみで、回転、分離、拡大縮小、または、スクエアリングなどの加工処理が施されていないものとする。
【0195】
キーフレーム画像K1上のハイライト領域61aの中心位置C1における、ハイライト領域61aが指定されたパラメータが(α1,β1)である。また、同様にして、キーフレーム画像K2上のハイライト領域61cの中心位置C2における、ハイライト領域61cが指定されたパラメータが(α2,β2)である。
【0196】
従って、アニメーション画像補間生成部17は、ステップS44の処理により、これらの中心位置C1,C2の中央位置から線形補間によりパラメータ((α1+α2)/2,(β1+β2)/2)を求め、ステップS45の処理で、線形補間で求められたパラメータに基づいた中心C3とするハイライト領域61bを設定することで補間アニメーション画像R1を生成する。
【0197】
また、回転、分離、拡大縮小、および、スクエアリングに関するパラメータは、初期設定の位置に影響しないので、加工に用いられたパラメータのみの線形補間により補間アニメーション画像上のハイライト領域を設定することができる。
【0198】
ステップS46において、アニメーション画像補間生成部17は、生成すべき全ての補間アニメーション画像が補間生成されたか否かを判定する。すなわち、アニメーション画像補間生成部17は、ステップS43の処理で決定された数の補間アニメーション画像を補間生成したか否かを判定し、全て生成していないと判定した場合、その処理は、ステップS44に戻る。
【0199】
すなわち、補間生成すべき全ての補間アニメーション画像が生成されたと判定されるまで、ステップS44乃至S46の処理が繰り返される。
【0200】
ステップS46において、補間生成されるべき全ての補間アニメーション画像が生成されたと判定された場合、その処理は、ステップS47に進む。
【0201】
ステップS47において、アニメーション再生部19は、入力部11より今、補間生成されたアニメーション画像の再生が指示されたか否かを判定し、入力されるまで、その処理を繰り返す。すなわち、通常、キーフレーム画像を用いて補間生成されるアニメーション画像は、膨大な数であるので、補間生成されたアニメーション画像を再生することにより確認するものである。
【0202】
ステップS47において、アニメーション画像を再生する指示が入力されたと判定された場合、ステップS48において、アニメーション再生部19は、アニメーション画像記憶部18に記憶されているキーフレーム画像と、上述の処理で補間生成された補間アニメーション画像を再生する。
【0203】
アニメーション画像(アニメーション動画)の再生について、図20で示されるようなキーフレーム画像K1,K2より、補間アニメーション画像R1が生成された場合を例にして説明する。
【0204】
図20のキーフレーム画像K1,K2においては、上述したハイライト領域61a,61cの他にハイライト領域62a,62cが設定されている。しかしながら、ハイライト領域62a,62cは、キーフレーム画像K1,K2においても同一のものが設定されているため、補間生成されたアニメーション画像R1にも、同一の位置に設定されることになる。例えば、ハイライト領域61a乃至61cは、画像上の宇宙船の翼と同じ色に設定されて、ハイライト領域62a乃至62cは、白色に設定されているものとする。さらに、ハイライト領域61a乃至61cは、ハイライト領域62a乃至62cを覆い隠すような配置であるものとする(ハイライト領域61a乃至61cが、ハイライト領域62a乃至62cよりも常に上に配置されるものとする)と、実際に、アニメーション画像として再生される場合、図20下部のキーフレーム画像K1'、アニメーション画像R1'、および、キーフレーム画像K2'の順序で再生される。
【0205】
結果として、ハイライト領域62a乃至62cは、図20の下部で示されるように、キーフレーム画像K1'、アニメーション画像R1'、および、キーフレーム画像K2'の順序で再生されることにより、形状の変化が一見すると複雑なハイライト領域62a'乃至62c'を、滑らかなアニメーションの動きとして再生させることが可能となる。
【0206】
ステップS48の処理で、アニメーションが再生された後、ステップS49において、アニメーション画像補間生成部17は、アニメーション画像補間生成の処理を終了させるコマンドが入力部11より供給されたか否かを判定する。すなわち、ステップS48の処理で再生されたアニメーション画像をユーザが確認し、ユーザの所望とするアニメーション画像が生成されたと認められると、処理を終了させるコマンドが入力されることになる。
【0207】
そこで、ステップS49において、入力部11がユーザにより操作されて、アニメーション画像の補間生成処理の終了のコマンドが入力された場合、その処理は、終了する。
【0208】
一方、ステップS49において、入力部11がユーザにより操作されて、アニメーション画像の補間生成処理の終了が指示されない場合、すなわち、再度補間生成の処理、または、キーフレーム画像の編集が必要であると見なされた場合、その処理は、ステップS50に進む。
【0209】
ステップS50において、アニメーション画像補間生成部17は、キーフレーム画像変更処理を実行する。
【0210】
ここで、図21のフローチャートを参照して、キーフレーム画像変更処理について説明する。尚、図21のフローチャートのステップS64乃至S68の処理は、図10のフローチャートを参照して説明したステップS4乃至S8の処理と同様であるので、その説明は、省略する。
【0211】
ステップS61において、画像加工部15は、指定されたキーフレーム画像をキーフレーム画像記憶部16より読み出して、表示部14に出力して表示すると共に、ハイライトの加工に用いられたパラメータを読み出す。
【0212】
ステップS62において、画像加工部15は、新規のハイライト領域の中心位置が指定されたか、または、既設のハイライト領域が指定されたか否かを判定し、いずれかが指定されるまで、その処理を繰り返す。
【0213】
ステップS62において、新規のハイライト領域の中心位置が指定されたか、または、既設のハイライト領域が指定されたと判定された場合、ステップS63において、画像加工部15は、指定されたのは、新規のハイライト領域の中心位置であるか否かを判定し、新規のハイライト領域の中心位置であると判定した場合、その処理は、ステップS64に進む。すなわち、図10のフローチャートを参照して説明したように、新規でハイライト領域を設定する。
【0214】
一方、ステップS63において、新規ではないと判定された場合、いずれか既設のハイライト領域の変更を意図した指定であるので、ステップS64,S65の処理はスキップされる。
【0215】
ステップS66の処理で、ハイライト領域が加工処理された後、または、さらに、その後、ステップS68において、ハイライト領域が移動された後、ステップS69において、画像加工部15は、その他の新規のハイライト領域の中心位置が指定されたか、または、その他の既設のハイライト領域が指定されたか否かを判定し、いずれかが指定された場合、その処理は、ステップS63に戻る。すなわち、ユーザが変更を加えるハイライト領域が指定され続ける限り、ステップS63乃至S69の処理が繰り返される。
【0216】
ステップS69において、その他の新規のハイライト領域の中心位置も、その他の既設のハイライト領域も指定がなされなかったと判定された場合、すなわち、ハイライト領域の変更が終了したと判定された場合、その処理は終了し、図18のフローチャートのステップS41に戻り、それ以降の処理が繰り返される。
【0217】
以上の処理により、ハイライト領域を設定したキーフレーム画像のハイライトを設定するパラメータを補間生成しながら、アニメーション動画における滑らかなハイライト領域の動きを実現するための補間アニメーション画像を生成することができ、さらに、補間生成された補間アニメーション画像を再生しながら、必要に応じてキーフレーム画像上のハイライトを再編集しつつ、再びハイライト領域を滑らかに変化させるアニメーション画像を補間生成する処理を繰り返すことができるので、ハイライトを用いたアニメーション画像を容易に生成し、さらに、編集することが可能となる。
【0218】
尚、以上においては、画像を補間する際、線形補間を用いた例について説明してきたが、これに限るものではなく、その他の補間方法を用いるようにしてもよい。
【0219】
また、以上の各種の演算においては、中間ベクトルを用いた場合について説明してきたが、中間ベクトルの代わりに、中心位置指定ベクトルを用いるようにしても同様の結果を得る事ができる。尚、中心位置指定ベクトルを用いた場合の処理については、中間ベクトルを使用した場合と同様であるので、その説明は省略する。
【0220】
さらに、以上においては、図20を参照して、キーフレーム画像からアニメーション画像を生成する際の処理を説明してきたが、同様の手法により、キーフレーム画像から、アニメーション画像の代わりに、キーフレーム画像を生成するようにしてもよい。このようにして、生成されたキーフレーム画像により、より詳細なアニメーション画像を生成することが可能となる。
【0221】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【0222】
図22は、図2の画像処理装置をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU101は、パーソナルコンピュータの全体の動作を制御する。また、CPU101は、バス104および入出力インタフェース205を介してユーザからキーボードやマウスなどからなる入力部106から指令が入力されると、それに対応してROM(Read Only Memory)102に格納されているプログラムを実行する。あるいはまた、CPU101は、ドライブ110に接続された磁気ディスク121、光ディスク122、光磁気ディスク123、または半導体メモリ124から読み出され、記憶部108にインストールされたプログラムを、RAM(Random Access Memory)103にロードして実行する。これにより、上述した画像処理装置の機能が、ソフトウェアにより実現されている。さらに、CPU101は、通信部109を制御して、外部と通信し、データの授受を実行する。
【0223】
プログラムが記録されている記録媒体は、図22に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク121(フレキシブルディスクを含む)、光ディスク122(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク123(MD(Mini-Disc)を含む)、もしくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM102や、記憶部108に含まれるハードディスクなどで構成される。
【0224】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0225】
【発明の効果】
本発明によれば、ハイライトの加工を含むアニメーション画像の生成処理を容易にすることが可能となる。
【図面の簡単な説明】
【図1】ブリンのモデルを説明する図である。
【図2】本発明を適用した画像処理装置の一実施の形態の構成を示す図である。
【図3】ハイライトの例を示す図である。
【図4】図3のハイライトの平行移動による加工を説明する図である。
【図5】図3のハイライトの回転による加工を説明する図である。
【図6】図3のハイライトの分離による加工を説明する図である。
【図7】図3のハイライトの拡大縮小による加工を説明する図である。
【図8】図3のハイライトのスクエアリングによる加工を説明する図である。
【図9】キーフレーム画像から補間アニメーション画像を生成する処理を説明する図である。
【図10】キーフレーム画像生成処理を説明するフローチャートである。
【図11】画像加工処理を説明するフローチャートである。
【図12】パラメータの入力画面を説明する図である。
【図13】ハイライトの平行移動の加工処理を説明する図である。
【図14】ハイライトの平行移動の加工処理を説明する図である。
【図15】ハイライトの分離の加工処理を説明する図である。
【図16】ハイライトの拡大縮小の加工処理を説明する図である。
【図17】ハイライトの拡大縮小の加工処理を説明する図である。
【図18】アニメーション画像の補間生成処理を説明するフローチャートである。
【図19】アニメーション画像の補間生成処理を説明する図である。
【図20】アニメーション画像の補間生成処理と、アニメーションの再生処理を説明する図である。
【図21】キーフレーム画像の変更処理を説明するフローチャートである。
【図22】記録媒体を説明する図である。
【符号の説明】
11 入力部
12 基本ハイライト画像生成部
13 基本画像記憶部
14 表示部
15 画像加工部
16 キーフレーム画像記憶部
17 アニメーション画像補間生成部
18 アニメーション画像記憶部
19 アニメーション再生部
Claims (5)
- 3次元の空間情報からなる画像の情報を記憶する記憶手段と、
前記画像上の位置を指定する指定手段と、
所定の光源位置、所定の視点位置、および前記3次元の空間情報で定義される前記画像上の位置に依存して設定されるベクトルと、前記画像の3次元の空間情報より求められる前記指定手段により指定された前記画像上の位置における法線ベクトルとの内積の値と、所定の閾値との大小関係に基づいて、前記画像上にハイライト領域を生成するハイライト生成手段と、
前記ハイライト領域の形状を設定するための演算式の係数を指定するパラメータを入力するパラメータ入力手段と、
前記パラメータ入力手段により入力されたパラメータに基づいて、回転および指定した方向への拡大縮小を含む前記ハイライト領域の形状の加工を行う加工手段と
を備えることを特徴とする画像処理装置。 - 前記パラメータ入力手段により入力された前記画像の前記パラメータと、前記画像と異なるその他の画像のパラメータとに基づいて、補間パラメータを生成する補間パラメータ生成手段と、
前記補間パラメータ生成手段により生成された前記補間パラメータに基づいて、前記ハイライト生成手段により生成されたハイライトとは異なるハイライトを補間生成するハイライト補間生成手段と、
前記ハイライト補間生成手段により補間生成されたハイライトに基づいて、前記画像と、前記その他の画像との補間画像を生成する補間画像生成手段とをさらに備える
ことを特徴とする請求項1に記載の画像処理装置。 - 前記補間パラメータ生成手段は、線形補間により前記補間パラメータを生成する
ことを特徴とする請求項2に記載の画像処理装置。 - 3次元の空間情報からなる画像上の位置を指定する指定ステップと、
所定の光源位置、所定の視点位置、および前記3次元の空間情報で定義される前記画像上の位置に依存して設定されるベクトルと、前記画像の3次元の空間情報より求められる前記指定ステップの処理で指定された前記画像上の位置における法線ベクトルとの内積の値と、所定の閾値との大小関係に基づいて、前記画像上にハイライト領域を生成するハイライト生成ステップと、
前記ハイライト領域の形状を設定するための演算式の係数を指定するパラメータを入力するパラメータ入力ステップと、
前記パラメータ入力ステップの処理により入力されたパラメータに基づいて、回転および指定した方向への拡大縮小を含む前記ハイライト領域の形状の加工を行う加工ステップと
を含むことを特徴とする画像処理方法。 - 3次元の空間情報からなる画像上の位置を指定する指定ステップと、
所定の光源位置、所定の視点位置、および前記3次元の空間情報で定義される前記画像上の位置に依存して設定されるベクトルと、前記画像の3次元の空間情報より求められる前記指定ステップの処理で指定された前記画像上の位置における法線ベクトルとの内積の値と、所定の閾値との大小関係に基づいて、前記画像上にハイライト領域を生成するハイライト生成ステップと、
前記ハイライト領域の形状を設定するための演算式の係数を指定するパラメータを入力するパラメータ入力ステップと、
前記パラメータ入力ステップの処理により入力されたパラメータに基づいて、回転および指定した方向への拡大縮小を含む前記ハイライト領域の形状の加工を行う加工ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003175175A JP4234506B2 (ja) | 2003-06-19 | 2003-06-19 | 画像処理装置および方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003175175A JP4234506B2 (ja) | 2003-06-19 | 2003-06-19 | 画像処理装置および方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005011100A JP2005011100A (ja) | 2005-01-13 |
JP4234506B2 true JP4234506B2 (ja) | 2009-03-04 |
Family
ID=34098455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003175175A Expired - Lifetime JP4234506B2 (ja) | 2003-06-19 | 2003-06-19 | 画像処理装置および方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4234506B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007218752A (ja) * | 2006-02-17 | 2007-08-30 | Jeol Ltd | 走査プローブ顕微鏡 |
JP4769230B2 (ja) * | 2007-06-18 | 2011-09-07 | 株式会社オー・エル・エム デジタル | 画像処理装置および画像処理方法、並びにプログラム |
JP2010231620A (ja) * | 2009-03-27 | 2010-10-14 | Dainippon Printing Co Ltd | 三次元cg画像編集方法、装置、プログラム、記録媒体 |
JP6482283B2 (ja) * | 2015-01-13 | 2019-03-13 | 三菱プレシジョン株式会社 | 三次元映像生成装置およびキューブマップ生成方法 |
-
2003
- 2003-06-19 JP JP2003175175A patent/JP4234506B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005011100A (ja) | 2005-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6867787B1 (en) | Character generator and character generating method | |
KR100339764B1 (ko) | 애니메이션작성장치및애니메이션작성방법 | |
US10817132B2 (en) | Three-dimensional digital models in two-dimensional digital canvases | |
US5692117A (en) | Method and apparatus for producing animated drawings and in-between drawings | |
KR102294134B1 (ko) | 하이브리드 슬라이드-캔버스 프리젠테이션을 합성하기 위한 저작 도구 | |
JP5299173B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
US7420574B2 (en) | Shape morphing control and manipulation | |
US8358311B1 (en) | Interpolation between model poses using inverse kinematics | |
JP4234506B2 (ja) | 画像処理装置および方法、並びにプログラム | |
JP2000149046A (ja) | 曲線生成装置及び方法、プログラムを格納した記録媒体、並びに対応点設定方法 | |
JP6930091B2 (ja) | 画像処理装置、画像処理方法、画像処理システムおよびプログラム | |
WO2017188119A1 (ja) | プログラム、情報処理装置、影響度導出方法、画像生成方法及び記録媒体 | |
EP2757532A1 (en) | Rendering device, rendering method and rendering program | |
JPH1166346A (ja) | アニメーション作成装置および記録媒体 | |
Zhang et al. | Sceneviewer: Automating residential photography in virtual environments | |
JP4203780B2 (ja) | 表示要素立体化装置及びその方法 | |
JP3732158B2 (ja) | 3次元形状モデルの表示方法及び装置 | |
JP4203778B2 (ja) | 画像処理装置及びその方法 | |
JP2000270264A (ja) | 画像処理装置及びその方法 | |
JP4304551B2 (ja) | 画像処理装置及びその方法 | |
Fei et al. | 3d animation creation using space canvases for free-hand drawing | |
Robinson et al. | Maya 8 for Windows and Macintosh: Visual QuickStart Guide | |
Coleman | Interactive control of nonlinear projection for complex animated scenes | |
JP2000152079A (ja) | 画像列生成方法 | |
Sudarsanam | A view-based deformation tool-kit, Master's Thesis, August 2006 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070417 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070514 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070718 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070821 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081211 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4234506 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |