(57)【要約】【課題】３次元コンピュータアニメーションのセル画調の陰影の編集を容易にする。【解決手段】内積演算部１８ｂは、キーフレーム画像の物体の表面の法線単位ベクトルと光源方向単位ベクトルとの内積を計算し、オフセット合成部１８ｃは、陰影入力部２３による陰影の編集結果に基づいて、補間生成する補間フレーム画像のオフセット値を計算し、補間生成部１８ａは、キーフレーム画像より補間フレーム画像の基本画像を補間生成し、閾値判定部１８ｄは、内積およびオフセット値の和で定義される輝度値と所定の閾値との大小を判定し、画像生成部１８ｅは、判定結果に基づいて、３次元空間における物体の表面の各位置に対応する補間フレーム画像上の画素に陰影を付加する。本発明は、アニメーション編集装置に適用することができる。【選択図】図１
2008310720.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報を記憶するキーフレーム画像作成情報記憶手段と、
前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積により定義され、前記各点に対応する前記キーフレーム画像上の画素の輝度値を計算する輝度値計算手段と、
前記輝度値計算手段により計算された輝度値と所定の閾値との大小を判定する閾値判定手段と、
前記閾値判定手段の判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影を付加する陰影付加手段と、
前記キーフレーム画像上の画素に陰影を入力する入力手段と、
前記入力手段により入力された前記画素の陰影の領域と、前記陰影付加手段により付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、前記輝度値計算手段により計算される前記輝度値のオフセット値を設定するオフセット関数を生成するオフセット関数生成手段と
を含む画像処理装置。
【請求項２】
前記オフセット関数生成手段は、
前記入力手段により陰影が入力された画素に対応する、前記３次元空間における物体の表面の各点における法線方向の単位ベクトルと光源方向の単位ベクトルとの内積により定義される輝度値の近似関数を生成する近似関数生成手段をさらに含み、
前記近似関数生成手段により生成される輝度値の近似関数に基づいた値と、前記輝度値計算手段により計算された輝度値との差分を求めることにより、前記入力手段により入力された陰影の領域の画素と、前記陰影付加手段により付加された陰影の領域の画素とに基づいた、前記３次元空間における物体の表面の各点における、前記輝度値計算手段により計算される輝度値のオフセット値を設定するオフセット関数を生成する
請求項１に記載の画像処理装置。
【請求項３】
前記キーフレーム画像間の前記アニメーションの補間フレーム画像を補間生成する補間生成手段をさらに含む
請求項１に記載の画像処理装置。
【請求項４】
前記キーフレーム画像間のそれぞれのオフセット関数により求められるオフセット値に、前記補間生成手段により補間生成される前記補間フレーム画像の前記キーフレーム画像間の位置に基づいた、重みを付加して加算し、合成オフセット値を生成するオフセット値合成手段と、
前記補間生成手段により補間生成される前記補間フレーム画像の前記３次元空間における物体の表面の各点における法線方向の単位ベクトルと、光源方向の単位ベクトルとの補間内積を計算する補間内積計算手段と、
前記補間内積計算手段により計算された補間内積と、前記合成オフセット値とが加算されることにより定義される、前記補間生成手段により補間生成される前記補間フレーム画像上の前記点に対応する画素の補間輝度値の、所定の閾値との大小を判定する補間閾値判定手段と、
前記補間閾値判定手段の判定結果に基づいて、前記補間生成された補間フレーム画像上に陰影を付加する補間陰影付加手段とをさらに含む
請求項３に記載の画像処理装置。
【請求項５】
３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報を記憶するキーフレーム画像作成情報記憶ステップと、
前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積により定義され、前記各点に対応する前記キーフレーム画像上の画素の輝度値を計算する輝度値計算ステップと、
前記輝度値計算ステップの処理により計算された輝度値と所定の閾値との大小を判定する閾値判定ステップと、
前記閾値判定ステップの処理での判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影を付加する陰影付加ステップと、
前記キーフレーム画像上の画素に陰影を入力する入力ステップと、
前記入力ステップの処理により入力された前記画素の陰影の領域と、前記陰影付加ステップの処理により付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、前記輝度値計算ステップの処理により計算される前記輝度値のオフセット値を設定するオフセット関数を生成するオフセット関数生成ステップと
を含む画像処理方法。
【請求項６】
３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報を記憶するキーフレーム画像作成情報記憶ステップと、
前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積により定義され、前記各点に対応する前記キーフレーム画像上の画素の輝度値を計算する輝度値計算ステップと、
前記輝度値計算ステップの処理により計算された輝度値と所定の閾値との大小を判定する閾値判定ステップと、
前記閾値判定ステップの処理での判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影を付加する陰影付加ステップと、
前記キーフレーム画像上の画素に陰影を入力する入力ステップと、
前記入力ステップの処理により入力された前記画素の陰影の領域と、前記陰影付加ステップの処理により付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、前記輝度値計算ステップの処理により計算される前記輝度値のオフセット値を設定するオフセット関数を生成するオフセット関数生成ステップと
を含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、３次元アニメーションのセル画調の陰影編集を容易にできるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
アニメーションは、1秒間に数枚から数１０枚の２次元画像を連続的に表示することにより動画として表示させるものである。
【０００３】
したがって、編集時に、１シーンだけでも変更が発生すると、膨大な量の画像を全て編集し直す必要があり、古くは、画像を１枚１枚手書きで編集するといった作業でアニメーションが作られていたため、変更に膨大な作業量と作業時間が必要とされてきた。このような手描きの、いわゆるセルアニメーションの作成の場合には、各画像として描かれる絵の変化は隣接する数コマの画像間では小さく、しかも連続的に変化するので、変化の基本となる画像を原画と呼び、中心のアニメータ（アニメータ：アニメーションにおける複数の２次元画像を描く者）が描いた。原画間の数コマの画像は補助アニメータが描き、この作業は中割りと呼ばれている。このようにして手描きアニメーションは作られるが、この考え方は、画像を全てコンピユータを用いて作成するコンピユータアニメーションの場合にも大変よく用いられる。すなわち、コンピュータアニメーションでは、上記の原画に相当するものをキーフレーム画像と呼び、アニメータが作成し（人手により作成し）、中割りはコンピュータによる自動或は半自動的な補間処理によって行われる。このようにして作成するコンピュータアニメーションはキーフレームアニメーションと呼ばれる。
【０００４】
しかしながら、昨今においては、上記キーフレームアニメーションに用いられる画像の編集を容易にするものが提案されている。
【０００５】
例えば、アニメーションに用いられるセル画像のうち、キーフレームとなる所定の２次元画像のみをユーザにより編集し、残りの画像を、変形のためのガイドデータを予め用意しておき、キーフレームとなる画像から補間生成する技術が提案されている（特許文献１参照）。
【０００６】
また、作成したいシーンの人物、物体、光源やカメラ情報をすべて３次元情報としてコンピュータ内に作成し蓄え、これらの３次元情報を編集することにより、アニメーションの構成要素である各キーフレーム画像をユーザが作成し、レイトレーシングなどにより各画像を表示して、３次元のキーフレームアニメーションを作成する技術などが提案されている。
【０００７】
【特許文献１】特開２００１−１１１９５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、アニメーションにおける画像は、実物の画像とは異なり強調処理された画像となっているものが多い。例えば、物体や人物の陰影を表現する場合、実際の物体の形状からは発生し得ない陰影を敢えて付加することにより、画像に迫力や臨場感を与えることがある。
【０００９】
しかしながら、上述したように物体や人物の３次元情報に基づいて、３次元キーフレームアニメーションを作成するような場合、レイトレーシングなどにより、実際の物理現象に対して忠実に陰影を付加することはできるものの、従来のセルアニメーションにはよく見られた強調・誇張された陰影を、演出意図に沿うように付加することができないことがあった。また、キーフレーム画像の３次元情報に基づいて付加された陰影を編集するようにしても、アングルや光源の方向の変化に対応して陰影の編集結果を反映させることができないことがあった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、特に、３次元情報に基づいてキーフレームアニメーションを作成する場合、キーフレーム画像にてユーザにより強調処理された陰影を、カメラアングルの変更や、光源方向の変更に対しても動的に反映させつつ、中間画像を補間生成することで、アニメーションにおける陰影の編集を容易にできるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面の画像処理装置は、３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報を記憶するキーフレーム画像作成情報記憶手段と、前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における輝度値(明るさ)を、法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積値として定め、前記各点に対応する前記キーフレーム画像上の画素の輝度値を計算する輝度値計算手段と、前記輝度値計算手段により計算された輝度値と所定の閾値との大小を判定する閾値判定手段と、前記閾値判定手段の判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影を付加する陰影付加手段と、前記キーフレーム画像上の画素に陰影を入力する入力手段と、前記入力手段により入力された前記画素の陰影の領域と、前記陰影付加手段により付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、前記輝度値計算手段により計算される前記輝度値のオフセット値を設定するオフセット関数を生成するオフセット関数生成手段とを含む。
【００１２】
前記オフセット関数生成手段は、前記入力手段により陰影が入力された画素に対応する、前記３次元空間における物体の表面の各点における輝度値の近似関数を生成する近似関数生成手段をさらに含ませるようにすることができ、前記近似関数生成手段により生成される輝度値の近似関数に基づいた値と、前記輝度値計算手段により計算された輝度値との差分を求めることにより、前記入力手段により入力された陰影の領域の画素と、前記陰影付加手段により付加された陰影の領域の画素とに基づいた、前記３次元空間における物体の表面の各点における、前記輝度値計算手段により計算される輝度値のオフセット値を設定するオフセット関数を生成させるようにすることができる。
【００１３】
前記キーフレーム画像間の前記アニメーションの補間フレーム画像を補間生成する補間生成手段をさらに含ませるようにすることができる。
【００１４】
前記キーフレーム画像間のそれぞれのオフセット関数により求められるオフセット値に、前記補間生成手段により補間生成される前記補間フレーム画像の前記キーフレーム画像間の位置に基づいた、重みを付加して加算し、合成オフセット値を生成するオフセット値合成手段と、前記補間生成手段により補間生成される前記補間フレーム画像の前記３次元空間における物体の表面の各点における法線方向の単位ベクトルと、光源方向の単位ベクトルとの補間内積を計算する補間内積計算手段と、前記補間内積計算手段により計算された補間内積と、前記合成オフセット値とが加算されることにより定義される、前記補間生成手段により補間生成される前記補間フレーム画像上の前記点に対応する画素の補間輝度値の、所定の閾値との大小を判定する補間閾値判定手段と、前記補間閾値判定手段の判定結果に基づいて、前記補間生成された補間フレーム画像上に陰影を付加する補間陰影付加手段とをさらに含ませるようにすることができる。
【００１５】
本発明の一側面の画像処理方法は、３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報を記憶するキーフレーム画像作成情報記憶ステップと、前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における輝度値(明るさ)を、法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積値として定め、前記各点に対応する前記キーフレーム画像上の画素の輝度値を計算する輝度値計算ステップと、前記輝度値計算ステップの処理により計算された輝度値と所定の閾値との大小を判定する閾値判定ステップと、前記閾値判定ステップの処理での判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影を付加する陰影付加ステップと、前記キーフレーム画像上の画素に陰影を入力する入力ステップと、前記入力ステップの処理により入力された前記画素の陰影の領域と、前記陰影付加ステップの処理により付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、前記輝度値計算ステップの処理により計算される前記輝度値のオフセット値を設定するオフセット関数を生成するオフセット関数生成ステップとを含む。
【００１６】
本発明の一側面のプログラムは、３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報を記憶するキーフレーム画像作成情報記憶ステップと、前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における輝度値(明るさ)を、法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積値として定め、前記各点に対応する前記キーフレーム画像上の画素の輝度値を計算する輝度値計算ステップと、前記輝度値計算ステップの処理により計算された輝度値と所定の閾値との大小を判定する閾値判定ステップと、前記閾値判定ステップの処理での判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影を付加する陰影付加ステップと、前記キーフレーム画像上の画素に陰影を入力する入力ステップと、前記入力ステップの処理により入力された前記画素の陰影の領域と、前記陰影付加ステップの処理により付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、前記輝度値計算ステップの処理により計算される前記輝度値のオフセット値を設定するオフセット関数を生成するオフセット関数生成ステップとを含む処理をコンピュータに実行させる。
【００１７】
本発明の一側面の画像処理装置および方法、並びにプログラムにおいては、３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報が記憶され、前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における輝度値(明るさ)を、法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積値として定め、前記各点に対応する前記キーフレーム画像上の画素の輝度値が計算され、計算された輝度値と所定の閾値との大小が判定され、判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影が付加され、前記キーフレーム画像上の画素に陰影が入力され、入力された前記画素の陰影の領域と、付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、計算される前記輝度値のオフセット値を設定するオフセット関数が生成される。
【発明の効果】
【００１８】
本発明の一側面によれば、３次元コンピュータアニメーションのセルアニメーション画調な陰影の編集が容易に、かつ演出意図を加味した誇張強調表現までもが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２１】
即ち、本発明の一側面の画像処理装置は、３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報を記憶するキーフレーム画像作成情報記憶手段（例えば、図１の３Ｄアニメーションデータ記憶部１１）と、前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における輝度値(明るさ)を、法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積値として定め、前記各点に対応する前記キーフレーム画像上の画素の輝度値を計算する輝度値計算手段（例えば、図１の内積演算部１４ａ）と、前記輝度値計算手段により計算された輝度値と所定の閾値との大小を判定する閾値判定手段（例えば、図１の閾値判定部１４ｂ）と、前記閾値判定手段の判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影を付加する陰影付加手段（例えば、図１の基本画像生成部１４ｃ）と、前記キーフレーム画像上の画素に陰影を入力する入力手段（例えば、図１の陰影入力部２３）と、前記入力手段により入力された前記画素の陰影の領域と、前記陰影付加手段により付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、前記輝度値計算手段により計算される前記輝度値のオフセット値を設定するオフセット関数を生成するオフセット関数生成手段（例えば、図１のオフセット関数生成部１５）とを含む。
【００２２】
前記オフセット関数生成手段は、前記入力手段により陰影が入力された画素に対応する、前記３次元空間における物体の表面の各点における輝度値(明るさ)の近似関数を生成する近似関数生成手段（例えば、図１の近似関数生成部１５ａ）をさらに含ませるようにすることができ、前記近似関数生成手段により生成される輝度値の近似関数に基づいた値と、前記輝度値計算手段により計算された輝度値との差分を求めることにより、前記入力手段により入力された陰影の領域の画素と、前記陰影付加手段により付加された陰影の領域の画素とに基づいた、前記３次元空間における物体の表面の各点における、前記輝度値計算手段により計算される輝度値のオフセット値を設定するオフセット関数を生成させるようにすることができる。
【００２３】
前記キーフレーム間の前記アニメーションの補間フレーム画像を補間生成するために、キーフレーム画像における人物や物体の位置の情報に基づいて、補間生成する対象となる補間フレーム画像における、人物または物体の３次元空間内での位置情報、アングル方向と光源方向の情報を補間生成する補間生成手段（例えば、図１の補間生成部１８ａ）をさらに含ませるようにすることができる。
【００２４】
前記キーフレーム画像間のそれぞれのオフセット関数により求められるオフセット値に、前記補間生成手段により補間生成される前記補間フレーム画像の前記キーフレーム画像間の位置に基づいた、重みを付加して加算し、合成オフセット値を生成するオフセット値合成手段（例えば、図１のオフセット合成部１８ｃ）と、前記補間生成手段により補間生成される前記補間フレーム画像の前記３次元空間における物体の表面の各点における法線方向の単位ベクトルと、光源方向の単位ベクトルとの補間内積を計算する補間内積計算手段（例えば、図１の内積演算部１８ｂ）と、前記補間内積計算手段により計算された補間内積と、前記合成オフセット値とが加算されることにより定義される、前記補間生成手段により補間生成される前記補間フレーム画像上の前記点に対応する画素の補間輝度値の、所定の閾値との大小を判定する補間閾値判定手段（例えば、図１の閾値判定部１８ｄ）と、前記補間閾値判定手段の判定結果に基づいて、前記補間生成された補間フレーム画像上に陰影を付加する補間陰影付加手段（例えば、図１の画像生成部１８ｅ）とをさらに含ませるようにすることができる。
【００２５】
本発明の一側面の画像処理方法は、３次元空間の物体の位置情報に基づいた、アニメーションのキーフレーム画像を作成するためのキーフレーム画像作成情報を記憶するキーフレーム画像作成情報記憶ステップと、前記キーフレーム画像作成情報に基づいて作成されるキーフレーム画像の前記３次元空間における物体の表面の各点における法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積により定義され、前記各点に対応する前記キーフレーム画像上の画素の輝度値を計算する輝度値計算ステップ（例えば、図３のステップＳ３４）と、前記輝度値計算ステップの処理により計算された輝度値と所定の閾値との大小を判定する閾値判定ステップ（例えば、図３のステップＳ３５）と、前記閾値判定ステップの処理での判定結果に基づいて、前記３次元空間における物体の表面の各点に対応する前記キーフレーム画像上の画素に陰影を付加する陰影付加ステップ（例えば、図３のステップＳ３６，Ｓ３７）と、前記キーフレーム画像上の画素に陰影を入力する入力ステップ（例えば、図６のステップＳ４５）と、前記入力ステップの処理により入力された前記画素の陰影の領域と、前記陰影付加ステップの処理により付加された前記画素の陰影の領域とに基づいて、前記３次元空間における物体の表面の各点における、前記輝度値計算ステップの処理により計算される前記輝度値のオフセット値を設定するオフセット関数を生成するオフセット関数生成ステップ（例えば、図６のステップＳ４９）とを含む。
【００２６】
図１は、本発明を適用した一実施の形態の構成を示すアニメーションの各画像を生成するアニメーション編集装置である。
【００２７】
図１のアニメーション編集装置１は、アニメーションを構成する画像のうち、予め物体や人物の３次元情報に基づいて生成されているオリジナルのキーフレームとなるキーフレーム画像における陰影（３次元表示物体の投影画像上の陰影となる部分）を編集することで、キーフレーム画像間の補間フレーム画像を補間生成しつつ、補間生成される補間フレーム画像の陰影を編集する。
【００２８】
３Ｄ(３次元)アニメーションデータ記憶部１１は、アニメーションにおいて制作者（ユーザ）により予め作成されたオリジナルのキーフレーム画像を生成するための３Ｄアニメーションデータを記憶する。すなわち、キーフレーム画像は、画像内の人物や物体の３次元情報からなる３Ｄアニメーションデータに基づいて生成された画像であり、アニメーションを生成する際の基準となる画像である。尚、３Ｄアニメーションデータに含まれる人物や物体の３次元情報とは、キーフレーム画像における空間内の人物や物体の位置、形状、および色を特定する情報であり、特に色については、各物体毎に、少なくとも明るい色と暗い色の２つが指定される。キーフレーム画像で各物体に陰影付加を付加して表示する際に、陰影領域(暗い部分)には暗い色が、非陰影領域(明るい部分)には明るい色が割り当てられる。キーフレーム画像は、これらの情報に基づいて、コンピュータグラフィクスにより描かれる。また、キーフレーム画像に基づいて補間生成される画像を、補間フレーム画像と称するものとする。
【００２９】
アングル入力部１２は、マウスなどのポインタなどからなる操作部２２が操作されることにより発生する信号に基づいて、キーフレーム画像におけるアングルを特定する情報の入力を受け付けてオリジナル陰影生成部１４およびアニメーション生成部１８に供給する。尚、アングルとは、３次元情報で規定される人物や物体を描く上での視点に相当する方向を示すものである。例えば、人物を正面から見た場合と、背面から見た場合とでは、アングルは人物を中心として１８０°反転することになる。なお、表示部２０に表示される画像の解像度、縦横比の情報もこのアングル入力部１２から供給される。
【００３０】
光源方向入力部１３は、操作部２２が操作されることにより発生する信号に基づいて、キーフレーム画像における光源の方向を特定する情報の入力を受け付けて、オリジナル陰影生成部１４およびアニメーション生成部１８に供給する。
【００３１】
オリジナル陰影生成部１４は、内積演算部１４ａ、閾値判定部１４ｂ、および基本画像生成部１４ｃを備えており、これらを用いて、３Ｄアニメーションデータ記憶部１１より３Ｄアニメーションデータを読み出し、さらに、アングル情報および光源情報に基づいて、陰影が付与された基本画像を生成し、陰影編集部１６に供給する。
【００３２】
内積演算部１４ａは、３Ｄアニメーションデータに含まれる３次元情報、光源情報、およびアングル情報に基づいて、画像を構成する物体や人物の表面の点毎の法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積を輝度値として演算し、演算結果を閾値判定部１４ｂに供給する。閾値判定部１４ｂは、内積演算部１４ａにより演算された輝度値（内積）の演算結果を所定の閾値と比較して判定し、判定結果を基本画像生成部１４ｃに供給する。基本画像生成部１４ｃは、閾値判定部１４ｂの判定結果に基づいて、その物体や人物の表面の点に対応する画素について陰影(すなわち、輝度値が閾値より大きければ明るい領域（非陰影領域）の色を、閾値より大きくなければ暗い領域（陰影領域）の色)を付与する。以下、このようにしてオリジナル陰影生成部１４により生成される画像のことを基本画像と称するものとする。
【００３３】
陰影編集部１６は、オリジナル陰影生成部１４より供給されてきたオリジナルのキーフレーム画像（基本画像）を表示部２０に表示すると共に、操作部２２が操作されることにより陰影入力部２３に入力された陰影を付加、または削除する情報に基づいて、オリジナル陰影生成部１４より供給されてきた画像に対して陰影を付加または削除することにより陰影を編集すると共に、陰影の編集情報である陰影編集データを、オフセット関数生成部１５に供給する。すなわち、陰影編集部１６は、オリジナルのキーフレーム画像に対して、制作者の意図に合わせた陰影の編集を加え、その際になされた編集に対応する陰影編集データをオフセット関数生成部１５に供給する。
【００３４】
オフセット関数生成部１５は、陰影編集部１６の処理によりオリジナルのキーフレームの画像における陰影の情報と、制作者が意図するように陰影が編集される際に発生する陰影編集データとに基づいて、各３Ｄアニメーションデータに基づいた物体や人物上の点における輝度値（画像を構成する物体や人物の表面の点毎の法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積）のオフセット関数を求め、オフセット関数記憶部１７に記憶させる。
【００３５】
オフセット関数生成部１５は、近似関数生成部１５ａを備えており、陰影編集部１６により編集された後の陰影情報と、３Ｄアニメーションデータに基づいた物体や人物上上の各点における物体や人物の表面上の法線方向単位ベクトルと光源方向単位ベクトルとの内積として求められる輝度値とにより、例えば、RBF（Radial Basis Function：動径基底関数）を用いて、陰影編集後の輝度値の分布を近似関数として求める。オフセット関数生成部１５は、この近似関数と、陰影の編集前の輝度値の演算結果との差分によりオフセット関数を求める。
【００３６】
アニメーション生成部１８は、３Ｄアニメーションデータ記憶部１１より３Ｄアニメーションデータを読み出すと共に、オフセット関数記憶部１７よりオフセット関数を読み出し、アニメーションの各画像を順次生成すると共に、生成されるアニメーション画像の各画素について、対応する３Ｄアニメーションデータにより生成される表示物体上の点に応じてオフセット関数を用いて陰影を付加し、アニメーション再生部１９に出力する。
【００３７】
補間生成部１８ａは、２枚のキーフレーム画像における３Ｄアニメーションデータの３次元空間の位置情報、アングル方向、および光源方向の情報、並びに、キーフレーム画像における人物や物体の位置の情報に基づいて、補間生成する対象となる補間フレーム画像における、人物または物体の３次元空間内での位置情報、アングル方向と光源方向の情報を補間生成する。
【００３８】
内積演算部１８ｂは、キーフレーム画像または補間フレーム画像上の人物または物体の３次元情報に基づいた人物または物体の表面における法線方向の単位ベクトルと、光源方向の単位ベクトルとの内積を演算する。オフセット合成部１８ｃは、オフセット関数記憶部１７より読み出された、補間に使用する２枚のキーフレーム画像のオフセット関数を読み出し、補間により合成し、閾値判定部１８ｄに供給する。閾値判定部１８ｄは、内積演算部１８bより供給されてきた内積およびオフセット合成部１８ｃより供給されてきた合成オフセット値に基づいて、内積およびオフセット値の和により定義される輝度値と所定の閾値ｄとを比較し、輝度値が所定の閾値ｄよりも大きいか否かを判定し、判定結果を画像生成部１８ｅに供給する。画像生成部１８ｅは、閾値判定部１８ｄの判定結果に基づいて、その物体や人物の表面の点に対応する画素について陰影(すなわち、輝度値が閾値より大きければ明るい領域、閾値よりも大きくなければ暗い領域の色)を付与する。
【００３９】
アニメーション再生部１９は、操作部２２の操作に対応して再生制御部２１より供給されてくる信号に基づいて、アニメーションの再生が指示された場合、アニメーション生成部１８により生成されたアニメーション画像を順次読み出して表示部２０に表示させ、再生させる。
【００４０】
次に、図２のフローチャートを参照して、アニメーション編集装置１によるアニメーション編集処理について説明する。
【００４１】
ステップＳ１において、オリジナル陰影生成部１４は、操作部２２が操作されてアニメーション編集処理が指示されたか否かを判定し、指示されるまで同様の処理を繰り返す。例えば、ステップＳ１において、アニメーション編集処理が指示された場合、処理は、ステップＳ２に進む。
【００４２】
ステップＳ２において、オリジナル陰影生成部１４は、３Ｄアニメーションデータ記憶部１１より３Ｄアニメーションデータを読み出して、陰影生成処理を実行し、基本画像を生成した後、陰影編集部１６に供給する。
【００４３】
ここで、図３のフローチャートを参照して、陰影生成処理について説明する。
【００４４】
ステップＳ３１において、オリジナル陰影生成部１４は、３Ｄアニメーションデータ記憶部１１より未処理の３Ｄアニメーションデータを読み出す。尚、３Ｄアニメーションデータは、各キーフレームにデータを備えているものとして説明を進めるが、共通のデータについては、当然のことながら同一のデータが複数回数使用されることになる。
【００４５】
ステップＳ３２において、オリジナル陰影生成部１４は、操作部２２の操作内容に対応してアングル入力部１２および光源方向入力部１３より供給されてくるオリジナルのキーフレーム画像における３次元の位置情報で規定される人物や物体の撮像方向に相当するアングル方向および人物や物体に照射される光源の方向を特定する光源方向の情報を取得する。尚、アングル方向および光源方向は、例えば、所定の方向に設定された方向であってもよく、入力がなければ、所定の方向をデフォルトの値として使用するようにしてもよい。
【００４６】
ここで、キーフレーム画像とは、補間生成するアニメーション画像の基準となるアニメーション画像であり、例えば、図４の上部で示されるように、人物の顔画像の５コマのアニメーション画像を生成する場合、前後の２枚のキーフレーム画像を用いて、１枚の補間フレーム画像を補間生成するとき、各キーフレームＫ１乃至Ｋ３がオリジナルのキーフレーム画像であるとすれば、キーフレームＫ１およびＫ２、並びにキーフレームＫ２およびＫ３に保持されている３次元情報（３Ｄアニメーションデータ、アングル、および光源情報）が用いられて、補間処理によりそれぞれ補間フレーム画像Ａ１，Ａ２が生成される。
【００４７】
ステップＳ３３において、オリジナル陰影生成部１４は、キーフレーム画像に表示される３次元空間内の人物または物体上の点が投影される画素のうち、未処理の画素を選択して、処理対象の画素ｐに設定する。
【００４８】
ステップＳ３４において、内積演算部１４ａは、処理対象となる画素pに対応するキーフレーム画像上の人物または物体の表面上の点S(p)における３次元位置情報に基づいた法線方向の単位ベクトルNvectorと、光源方向の単位ベクトルLvectorとの内積(Lvector(S(p))，Nvector(S(p))）を、点(S(p))上の輝度値として演算し、閾値判定部１４ｂに供給する。ここで、“vector”は、ベクトルを表しており、（Lvector(S(p))，Nvector(S(p))）は、３Dアニメーションデータに基づいて構成される人物や物体の表面を示す関数Ｓ上の、画素pに対応する点Ｓ(p)における法線方向の単位ベクトルNvector(S(p))と光源方向の単位ベクトルLvector(S(p))との内積を表している。
【００４９】
ステップＳ３５において、閾値判定部１４ｂは、内積演算部１４ａより供給されてきた内積（Lvector(S(p))，Nvector(S(p))）で定義される輝度値と所定の閾値ｄとを比較し、内積（Lvector(S(p))，Nvector(S(p))）で定義される輝度値が所定の閾値ｄよりも大きいか否かを判定する。
【００５０】
ステップＳ３５において、内積（Lvector(S(p))，Nvector(S(p))）で定義される輝度値が所定の閾値ｄとの大小が判定されると、閾値判定部１４ｂは、その判定結果を基本画像生成部１４ｃに供給する。基本画像生成部１４ｃは、内積（Lvector(S(p))，Nvector(S(p))）で定義される輝度値が所定の閾値ｄよりも大きくない場合、ステップＳ３６において、画素ｐを陰影領域、言い換えれば暗い領域に属するものとして設定する。すなわち、基本画像生成部１４ｃは、キーフレーム画像における画素ｐについて、陰影が付されている画素、すなわち、暗い色が付される画素として処理する。一方、この内積（Lvector(S(p))，Nvector(S(p))）で定義される輝度値が所定の閾値ｄよりも大きい場合、基本画像生成部１４ｃは、この判定結果に基づいて、ステップＳ３７において、画素ｐを非陰影領域、言い換えれば明るい領域に属するものとして設定する。すなわち、基本画像生成部１４ｃは、キーフレーム画像における画素ｐについて、陰影が付されていない、すなわち、明るい色が付される画素として処理する。
【００５１】
ステップＳ３８において、オリジナル陰影生成部１４は、処理対象としているキーフレーム画像において、人物または物体上の点からこの画像に投影された画素のうち、未処理の画素ｐが存在するか否かを判定し、例えば、未処理の画素ｐが存在する場合、処理は、ステップＳ３３に戻る。すなわち、ステップＳ３８において、未処理の画素ｐが存在しないと判定されるまで、ステップＳ３３乃至Ｓ３８の処理が繰り返される。そして、ステップＳ３８において、未処理の画素が存在しないと判定された場合、処理対象となっているキーフレーム画像における陰影の生成処理が終了したものとみなされ、処理は、ステップＳ３９に進む。
【００５２】
ステップＳ３９において、オリジナル陰影生成部１４は、陰影を付加したキーフレーム画像を陰影編集部１６に供給する。
【００５３】
ステップＳ４０において、オリジナル陰影生成部１４は、３Ｄアニメーションデータ記憶部１１に未処理の３Ｄアニメーションデータが存在するか否かを判定し、未処理の３Ｄアニメーションデータが存在する場合、処理は、ステップＳ３１に戻る。すなわち、未処理のキーフレーム画像が存在しないと判定されるまで、ステップＳ３１乃至Ｓ４０の処理が繰り返される。そして、ステップＳ４０において、未処理のキーフレーム画像が存在しないと判定された場合、処理は、終了する。
【００５４】
すなわち、上述の処理により、キーフレーム画像に表示される人物または物体の表面が、例えば、図５で示される表面Ｓで表現される場合、例えば、キーフレーム画像に表示されている表面Ｓ上の画素ｐ１乃至ｐ５のそれぞれについて、法線方向の単位ベクトルはN1vector乃至N5vectorで表され、光源LSへの方向（光源方向）の単位ベクトルはL1vector乃至L5vectorと表されるものとすると、それぞれの画素ｐ１乃至ｐ５における法線方向の単位ベクトルと光源方向の単位ベクトルとの内積は、（L1vector，N1vector）乃至（L5vector，N5vector）で表される。これらの内積値は、画素ｐ１乃至ｐ５に対応する３次元空間内の物体表面Ｓ上の点Ｓ(p1)乃至Ｓ(p5)での、本発明による陰影編集前の状態の輝度値（明るさ）を示すものである。
【００５５】
図５で示されるように画素ｐ１乃至ｐ５に対応する表面Ｓ上の点Ｓ(p1)乃至Ｓ(p5)における法線方向の単位ベクトルと光源方向の単位ベクトルとのなす角は、それぞれ角θ1乃至θ5となる。画素ｐ１乃至ｐ５に対応する表面Ｓ(p)上の点Ｓ(p1)乃至Ｓ(p5)のそれぞれにおける法線方向の単位ベクトルと光源方向の単位ベクトルとの内積の値は、ベクトルが何れも単位ベクトルであることから、それぞれのなす角により決まる値となる。
【００５６】
また、表面Ｓの法線方向に対して光源方向との成す角が小さい程、すなわち、表面Ｓの真上に光源ＬＳがあれば、より明るく照らされることにより陰影が生じにくく、逆に、表面Ｓの法線方向に対して成す角が大きくなると陰影が生じ易い。すなわち、表面Ｓ上の点Ｓ(p1)乃至Ｓ(p5)における表面Ｓの法線方向と光源LS方向とのなす角が大きくなるほど内積の値は小さくなり、陰影の生じる暗い領域となる。
【００５７】
このため、例えば、所定の閾値ｄ＝（Lvector(S(p3))・Nvector(S(p3))）の場合、図５で示されるように、角θ3よりも小さい画素ｐ１，ｐ２に対応する点Ｓ(p1)，Ｓ(p2)おいては、ステップＳ３５の処理により、（L1vector，N1vector），（L2vector，N2vector）は、いずれも所定の閾値ｄよりも大きいことになるので、ステップＳ３７の処理により、陰影領域に設定されない。これに対して、図５で示されるように、角θ3よりも大きい画素ｐ３乃至ｐ５に対応する点Ｓ(p3)乃至Ｓ(p5)においては、ステップＳ３５の処理により、（L3vector，N3vector），（L4vector，N4vector），（L5vector，N5vector）は、いずれも所定の閾値ｄよりも大きくないことになるので、ステップＳ３６の処理により、陰影領域に設定される。尚、図５においては、陰影領域に設定された範囲は斜線部が付されており、非陰影領域に設定された範囲は斜線が付されていない。
【００５８】
このようにキーフレーム画像は、含まれる人物や物体の表面の形状と光源の方向に対応した陰影が生成されて出力される。尚、本実施例においては、説明を分かりやすくするために、同図で示されるように、点光源が１つの場合(光源LSのみの場合)の例について説明を進めてきたが、平行光源の場合も同様に、各点での編集前の明るさが定義される。また、これらの光源が複数個あった場合には、各光源毎の内積値を求め、その総和により、表面S(p)上での(編集前の)各点での明るさが定義される。
【００５９】
ここで、図２のフローチャートの説明に戻る。
【００６０】
ステップＳ２において、陰影生成処理がなされると、ステップＳ３において、陰影編集部１６は、陰影編集処理を実行して、キーフレーム画像における陰影を編集する。
【００６１】
ここで、図６のフローチャートを参照して、陰影編集処理について説明する。
【００６２】
ステップＳ４１において、陰影編集部１６は、オリジナル陰影生成部１４より供給されてきたキーフレーム画像を全て表示部２０に表示する。尚、ステップＳ４１においては、必ずしもキーフレーム画像全てを表示する必要はなく、全てのキーフレーム画像のうち、編集しようとするキーフレーム画像が選択できるような形式の表示ができればよいものである。また、この例においては、ステップＳ２において、全てのキーフレーム画像について陰影生成処理がなされているので全てのキーフレーム画像が表示され、陰影の処理対象となるキーフレーム画像を選択するものとするが、処理対象となるキーフレーム画像のみに陰影生成処理を施し、陰影編集処理するようにしてもよい。
【００６３】
ステップＳ４２において、陰影編集部１６は、操作部２２が操作されることに対応して陰影入力部２３より入力される信号に基づいて、全てのキーフレーム画像より、処理対象となるキーフレーム画像が指定されたか否かを判定する。ステップＳ４２において、例えば、処理対象となるキーフレーム画像が指定された場合、処理は、ステップＳ４３に進む。
【００６４】
ステップＳ４３において、陰影編集部１６は、陰影の編集対象として指定されたキーフレーム画像を表示部２０に表示する。
【００６５】
ステップＳ４４において、陰影編集部１６は、操作部２２が操作されることに対応して陰影入力部２３より入力される信号に基づいて、陰影が編集されたか否かを判定する。
【００６６】
陰影入力部２３は、操作部２２により操作可能なポインタ状のものであり、いわゆるフォトレタッチソフトで画像上に所定の色を付加するものと同様の操作ができるものである。この場合、付加される色は陰影の色（暗い色）、または、陰影を削除する色（明るい色）となる。例えば、図７の左上部のキーフレーム画像Ｋが処理対象のキーフレーム画像として指定された場合、キーフレーム画像Ｋ内の領域Ｚの陰影領域を削除するように編集しようとするとき、図７の右部の拡大図で示される境界∂Cで囲まれる領域Ｃが陰影入力部２３により陰影が削除される色が付されると、この陰影が削除された領域Ｃにより、元々非陰影領域と陰影領域との境界として指定されていた、図７の中央上部で示される境界∂Ｂ（図７の右上部参照）から、後述するように、図７の中央下部で示される領域Ｚ’に変化することになる。
【００６７】
尚、陰影については、削除する、即ち明るくする、ことは当然のことながら、同様の操作により付加する、即ち暗くする、こともできる。すなわち、陰影入力部２３は、操作部２２からの信号に基づいた陰影の編集により陰影を付加することも、付加されている陰影を削除することも可能である。
【００６８】
ステップＳ４４において、陰影が編集されたと判定された場合、ステップＳ４５において、陰影編集部１６は、編集内容に応じて陰影を変更して表示部２０に表示する。
【００６９】
ステップＳ４６において、陰影編集部１６は、操作部２２が操作されることに対応して陰影入力部２３より入力される信号に基づいて、陰影の編集が完了したか否かを判定する。例えば、陰影の編集が終了していない場合、処理は、ステップＳ４４に戻る。また、陰影が編集されていない場合、ステップＳ４５の処理はスキップされる。すなわち、編集対象としていずれかのキーフレーム画像が指定されると陰影の編集の完了が指示されるまで、ステップＳ４４乃至Ｓ４６の処理が繰り返される。
【００７０】
そして、ステップＳ４６において、編集の完了が指示された場合、処理は、ステップＳ４７に進む。
【００７１】
ステップＳ４７において、陰影編集部１６は、ステップＳ４４乃至Ｓ４６の処理により陰影の編集内容を示す物体や人物の陰影領域の情報を陰影編集データとしてオフセット関数生成部１５に供給する。
【００７２】
ステップＳ４８において、オフセット関数生成部１５の近似関数生成部１５ａは、陰影編集データに基づいて、編集により陰影が描き込まれたキーフレームにおいて、そのキーフレームの陰影が描き込まれる前のキーフレーム画像（３Ｄアニメーションデータ記憶部１１より読み出すキーフレーム画像の３Ｄアニメーションデータに基づいた画像）における画素の輝度値（明るさ）の情報と、陰影が描き込まれた後のキーフレーム画像内の物体や人物の陰影領域の画素の情報に基づいて、陰影が描き込まれた後のキーフレーム画像における物体や人物などの表面の輝度値(明るさ)の近似関数を求める。
【００７３】
ステップＳ４９において、オフセット関数生成部１５は、陰影が描き込まれる前のキーフレーム画像における物体や人物の表面の輝度値の分布と近似関数との差分からオフセット関数を生成し、ステップＳ５０において、オフセット関数記憶部１７に記憶させ、処理は、ステップＳ４１に戻る。すなわち、陰影が付加されたキーフレーム画像における物体や人物の表面の輝度値の分布をDb(S(p))とし、陰影が描き込まれた後のキーフレーム画像における物体や人物などの表面の輝度値(明るさ)の近似関数をDa(S(p))とすれば、オフセット関数は、o(S(p))（＝Da(S(p))−Db(S(p))）で示される。
【００７４】
したがって、ステップＳ４２において、陰影を編集する処理対象となるキーフレーム画像が指定され続ける限り、ステップＳ４１乃至Ｓ５０の処理が繰り返され、キーフレーム画像における陰影の編集が繰り返され、さらに、編集に伴ってオフセット関数が生成される。
【００７５】
そして、ステップＳ４２において、陰影を編集する処理対処となるキーフレーム画像の指定がない、すなわち、陰影の編集が完了したとみなされた場合、処理は終了する。
【００７６】
すなわち、図７の右上部の拡大図で示されるように、境界∂Cで囲まれる領域Cが、陰影領域から非陰影領域に編集された場合、オフセット関数生成部１５の近似関数生成部１５ａは、境界∂Cの内部から外部に向けた所定の距離から構成される境界∂Dで囲まれる領域Ｄを定義する。尚、この境界∂Cおよび∂Dとの所定の距離は、任意に設定することができる。このように設定するとき、陰影が編集される前のキーフレーム画像における陰影領域と非陰影領域との境界を境界∂Ｂと表現すると、陰影の編集により、図７で示されるように、図７右上部における上方より境界∂Ｂと境界∂Ｄとの一方の交点である点Ｓ、および境界∂Ｂと境界∂Ｃとの一方の交点である点Ｔまでは、境界∂Ｂが陰影領域と非陰影領域との境界となり、点Ｔから図中の下部である境界∂Ｂと境界∂Ｃとの他方の交点である点Ｕまでの境界は、境界∂Ｃとなり、点Ｕ、および境界∂Ｂと境界∂Ｄとの他方の交点である点Ｖを含む範囲は境界∂Ｂとなる。
【００７７】
ここで、キーフレーム画像においては、例えば、図７中の一点鎖線で示される直線Ｌ上の輝度値（明るさ）は、内積（Lvector(S(p))，Nvector(S(p))）として求められ、内積（Lvector(S(p))，Nvector(S(p))）の値は、図７の右下部の実線で示されるように変化している。このため、境界∂Ｂと直線Ｌの交点である点Ｌ２においては、輝度値が所定の閾値ｄと一致し（（Lvector(L2)，Nvector(L2)）＝ｄ）、陰影領域と非陰影領域の境界となっている。また、境界∂Ｄと直線Ｌの一方の交点である点Ｌ１は、輝度値が所定の閾値よりも大きいため（Lvector(L1)・Nvector(L1)）＞ｄ）、非陰影領域に設定されている。さらに、境界∂Ｄと直線Ｌの他方の交点である点Ｌ４、および境界∂Cと直線Lとの交点である点Ｌ３は、いずれも輝度値が所定の閾値ｄよりも小さいため（Lvector(L3)，Nvector(L3)）＜ｄ，（Lvector(L4)，Nvector(L4)）＜ｄ）、陰影領域に設定されている。尚、図７の右下部においては、横軸を直線Ｌ上の点とし、縦軸を直線Ｌ上の点における輝度値（明るさ）としている。同図において、実線で表されている曲線が、法線単位ベクトルと光源方向単位ベクトルとの内積の値で定義される陰影を編集する前の輝度値を示している。
【００７８】
ところが、陰影が編集されることにより、図７の右上部における上部より境界∂Ｂと境界∂Ｄとの一方の交点である点Ｓ、および境界∂Ｂと境界Ｃとの一方の交点である点Ｔまでは、境界∂Ｂが陰影領域と非陰影領域との境界であるが、点Ｔから図中の下部である境界∂Ｂと境界∂Ｃとの他方の交点である点Ｕまでの境界は、境界∂Ｃとなり、点Ｕ、および境界∂Ｂと境界∂Ｄとの他方の交点である点Ｖを含む範囲は境界∂Ｂとなる。
【００７９】
そこで、オフセット関数生成部１５の近似関数生成部１５ａは、陰影の編集後の境界の情報と、陰影の編集前の境界における輝度値（明るさ＝内積）とに基づいて、図７の右下部における∂Ｄでは陰影の編集前の輝度値と同一の値、∂Ｃ（点Ｔ乃至点Ｕ）では、陰影の編集後の新たな境界となるよう閾値ｄに設定するような領域Ｄ内の編集後の輝度値の近似関数（図７の右下部の点線で示される関数：上述したDa(S(p))）を、例えば、RBF（Radial Basis Function：動径基底関数）を用いた近似により求める。そして、オフセット関数生成部１５は、その近似関数と、編集前のキーフレーム画像における輝度値（図７の右下部の実線で示される関数：上述したDb(S(p))）との差分をオフセット関数ｏ（S(p)）（＝Da(S(p))−Db(S(p))）として求める。図７の右下部で示される点線は、図７の右下部における直線L上の近似関数を取り出し、L上の位置を横軸とし、近似関数の値を縦軸として表示したものである。境界∂D上の点Ｌ１，Ｌ４における陰影の編集前の輝度値（明るさ）と同一であり、編集後の新たな境界上の点Ｌ３における輝度値（明るさ）を閾値ｄに設定する関数である。尚、RBFにより求められる近似関数は、同図の中央の上下２つの図で示されるように、曲面Ｓを細かいメッシュの集まりとして表現し、メッシュを構成する各線分と、陰影編集後の境界（例えば同図では、∂Dと、上述の点Ｓ乃至点Ｔまでの∂Ｂ、点Ｔ乃至点Ｕまでの∂Ｃ、および点Ｕ乃至点Ｖまでの∂Ｂ）との交点における編集後の設定値に基づいて近似的に曲面Ｓの輝度分布を表現する関数である。したがって、オフセット関数記憶部１７においては、画像上に含まれる画素のうち、曲面Ｓから投影される全ての画素pに対応する点S(p)においてオフセット関数値を記憶する必要はなく、このように構成した近似関数から求められる、前記曲面Ｓの各メッシュの頂点でのオフセット値のみを記憶すれば良い。
【００８０】
陰影の編集前の輝度値（明るさ）、すなわち、内積値と、上記のように決定したオフセット関数ｏ（S(p)）との和（（Lvector(S(p))，Nvector(S(p))）＋ｏ（S(p)））を編集後の輝度値（明るさ）と定め、この値と閾値ｄとの大小関係により、キーフレーム画像における、編集された陰影を反映させた陰影領域と非陰影領域とを設定することが可能となる。これは、陰影の編集前の輝度値（明るさ＝内積値）と閾値ｄとの大小関係により、オリジナルのキーフレーム画像における編集前の陰影領域と非陰影領域とを設定する場合と同様になされる。
【００８１】
すなわち、この新たに設定される陰影の編集前の輝度値（明るさ）とオフセット関数との和（（Lvector(S(p))，Nvector(S(p))）＋ｏ（S(p)））により、例えば、図７の右上部で示されるように、斜線部で示される領域が陰影領域から非陰影領域に変更する編集に対応して、キーフレーム画像における陰影領域と非陰影領域とを設定することが可能となり、例えば、図７の右上部における直線Ｌ上の点Ｌ１，Ｌ２を非陰影領域とし、点Ｌ３を非陰影領域と陰影領域との境界上に設定し、点Ｌ４を陰影領域に設定することが可能となる。
【００８２】
したがって、この陰影の編集前の輝度値（明るさ）とオフセット関数との和（（Lvector(S(p))，Nvector(S(p))）＋ｏ（S(p)））を用いることにより、陰影の編集後においては、図７の中央上部の領域Ｚで示されるような陰影領域が、図７の中央下部の領域Ｚ’で示される陰影領域として示すことが可能となる。
【００８３】
尚、陰影が編集された領域（例えば、図７における境界∂Ｃで囲まれる領域Ｃ）、および、その周辺領域（例えば、図７における境界∂Ｄで囲まれる領域Ｄ）を除く、陰影の編集が影響しない領域においては、オフセット関数ｏ（S(p)）＝０となる。
【００８４】
ここで、図２のフローチャートの説明に戻る。
【００８５】
ステップＳ３において、陰影編集処理がなされると、ステップＳ４において、アニメーション再生部１９は、操作部２２の操作内容に基づいて、再生制御部２１より供給される信号に基づいて、アニメーションの再生が指示されたか否かを判定し、例えば、アニメーションの再生が指示された場合、ステップＳ５において、アニメーション再生部１９は、アニメーション生成部１８を制御して、アニメーション再生処理を実行させ、陰影が編集されたキーフレーム画像に基づいて、順次アニメーション画像を生成させて、表示部２０に表示する。
【００８６】
ここで、図８のフローチャートを参照して、アニメーション再生処理について説明する。
【００８７】
ステップＳ５１において、アニメーション生成部１８は、アニメーションのフレーム数を示す、図示せぬカウンタｉをｉ＝１に初期化する。
【００８８】
ステップＳ５２において、アニメーション生成部１８は、３Ｄアニメーションデータ記憶部１１にアクセスし、生成すべきアニメーションのフレームｉが、キーフレームであるか否かを判定する。
【００８９】
ステップＳ５２において、例えば、生成すべきアニメーションのフレームｉが、キーフレームである場合、ステップＳ５３において、アニメーション生成部１８は、キーフレーム画像生成処理を実行し、キーフレーム画像を生成する。
【００９０】
ここで、図９のフローチャートを参照して、キーフレーム画像生成処理について説明する。
【００９１】
ステップＳ７１において、アニメーション生成部１８は、３Ｄアニメーションデータ記憶部１１より、３次元空間における人物または物体の位置情報を含む３Ｄアニメーションデータを読み出す。
【００９２】
ステップＳ７２において、アニメーション生成部１８は、操作部２２の操作内容に対応してアングル入力部１２および光源方向入力部１３より供給されてくるキーフレーム画像における３次元情報で規定される人物や物体の撮像方向に相当するアングル方向および人物や物体に照射される光源の方向である光源方向の情報を取得する。
【００９３】
ステップＳ７３において、アニメーション生成部１８は、キーフレーム画像に表示される３次元空間内の表示物体の点が投影される画素のうち、未処理の画素を処理対象の画素ｐに設定する。
【００９４】
ステップＳ７４において、内積演算部１８ｂは、処理対象となる画素pのキーフレーム画像上の人物または物体の３次元情報に基づいた人物または物体の表面Ｓ(p)における法線方向の単位ベクトルNvectorと、光源方向の単位ベクトルLvectorとの内積（Lvector(S(p))，Nvector(S(p))）を演算し、閾値判定部１８ｄに供給する。
【００９５】
ステップＳ７５において、オフセット合成部１８ｃは、オフセット関数記憶部１７に記憶されているキーフレーム画像のオフセット関数ｏ（S(p)）を、閾値判定部１８ｄに供給する。尚、ここでは、キーフレーム画像に対するオフセットｏ（S(p)）をそのまま使用するだけなので、読み出したオフセットｏ（S(p)）をそのまま閾値判定部１８ｄに供給する。
【００９６】
ステップＳ７６において、閾値判定部１８ｄは、内積演算部１８ｂより供給されてきた内積（Lvector(S(p))，Nvector(S(p))）およびオフセット合成部１８ｃより供給されてきたオフセット値ｏ(S(p))に基づいて、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏ(S(p))）により定義される輝度値と所定の閾値ｄとを比較し、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏ(S(p))）が所定の閾値ｄよりも大きいか否かを判定する。
【００９７】
ステップＳ７６において、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏ(S(p))）により定義される輝度値が所定の閾値ｄよりも大きくない場合、ステップＳ７７において、閾値判定部１８dは、その判定結果を画像生成部１８eに供給する。画像生成部１８eは、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏ(S(p))）で定義される輝度値が所定の閾値ｄよりも大きくないことを示す判定結果に基づいて、画素ｐを陰影領域、言い換えれば暗い領域、として設定する。すなわち画像生成部１８eは、キーフレーム画像における画素ｐについて、暗い色が付されている画素として処理する。
【００９８】
一方、ステップＳ７６において、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏ(S(p))）で定義される輝度値が所定の閾値ｄよりも大きい場合、ステップＳ７８において、閾値判定部１８ｄは、その判定結果を画像生成部１８eに供給する。画像生成部１８eは、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏ(S(p))）で定義される輝度値が所定の閾値ｄよりも大きいことを示す判定結果に基づいて、画素ｐを非陰影領域、言い換えれば明るい領域、として設定する。すなわち、陰影付加削除部１４ｄは、キーフレーム画像における画素ｐについて、明るい色が付される画素として処理する。
【００９９】
ステップＳ７９において、アニメーション生成部１８は、処理対象としているフレームｉのアニメーション画像において、キーフレーム画像に表示される３次元空間内の表示物体の点が投影される画素のうち、未処理の画素ｐが存在するか否かを判定し、例えば、未処理の画素ｐが存在する場合、処理は、ステップＳ７３に戻る。すなわち、ステップＳ７９において、未処理の画素ｐが存在しないと判定されるまで、ステップＳ７３乃至Ｓ７９の処理が繰り返される。そして、ステップＳ７９において、未処理の画素が存在しないと判定された場合、全ての画素について陰影の有無が判定されて、陰影を付する処理が終了したものとみなし、ステップＳ８０において、アニメーション生成部１８は、生成したフレームｉのアニメーション画像をアニメーション再生部１９に供給する。
【０１００】
ここで、図８のフローチャートの説明に戻る。
【０１０１】
表示すべきアニメーション画像が、キーフレーム画像の場合、ステップＳ５３において、キーフレーム画像生成処理がなされ、ステップ５５において、アニメーション再生部１９は、このオフセット関数o(S(p))が考慮された状態で陰影が付加されているキーフレーム画像を表示部２０に表示する。
【０１０２】
ステップＳ５６において、アニメーション生成部１８は、フレームｉで示されるアニメーション画像によりアニメーション画像の再生が終了か、または、アニメーション再生部１９より操作部２２が操作されて、再生制御部２１より再生の終了が指示されたかにより再生が終了か否かを判定する。
【０１０３】
ステップＳ５６において、例えば、再生が終了であると判定された場合、処理は、終了する。さらに、処理は、図２のフローチャートにおけるステップＳ１に戻り、それ以降の処理が繰り返される。
【０１０４】
また、ステップＳ５６において、再生が終了ではない、すなわち、次のアニメーション画像が存在し、再生終了の指示がないと判定された場合、ステップＳ５７において、アニメーション生成部１８は、カウンタｉを１インクリメントして、処理は、ステップＳ５２に戻り、再生が終了であると判定されるまで、ステップＳ５２乃至Ｓ５７の処理が繰り返される。
【０１０５】
一方、ステップＳ５２において、例えば、生成すべきアニメーション画像のフレームｉが、キーフレーム画像間に補間生成される補間フレーム画像である場合、ステップＳ５４において、アニメーション生成部１８は、補間フレーム画像生成処理を実行し、補間フレーム画像を生成する。
【０１０６】
ここで、図１０のフローチャートを参照して、補間フレーム画像生成処理について説明する。尚、図１０におけるステップＳ９２，Ｓ９４，Ｓ９５，Ｓ１００，Ｓ１０１の処理については、説明を省略するものとする。
【０１０７】
ステップＳ９１において、アニメーション生成部１８は、３Ｄアニメーションデータ記憶部１１より、フレームｉの前後に存在するキーフレーム画像の３次元空間における人物または物体の位置情報を含む３Ｄアニメーションデータを読み出す。尚、以降においては、連続する２枚のキーフレーム画像を用いて、その間の１枚の補間フレーム画像を補間生成する例について説明するものとするが、それ以上の数のキーフレーム画像を用いるようにしても良いし、前後以外のキーフレームを用いるようにしてもよい。また、２枚のキーフレーム画像を用いて、複数枚数の補間フレーム画像を補間生成するようにしても良い。
【０１０８】
ステップＳ９２において、アングルおよび光源方向の情報が取得されると、ステップＳ９３において、アニメーション生成部１８は、補間生成部１８ｂを制御して、２枚のキーフレーム画像における３Ｄアニメーションデータの３次元空間の位置情報、アングル方向、および光源方向の情報に基づいて、２枚のキーフレーム画像における人物や物体の位置の情報に基づいて、補間生成する対象となる補間フレーム画像それぞれにおける物体または人物を補間生成するための３Ｄアニメーションデータを生成する。
【０１０９】
ステップＳ９４において、補間フレーム画像に対し、人物または物体上の点からこの画像に投影された画素のうち、未処理の画素ｐが設定され、ステップＳ９５において、内積演算部１８ｂにより処理対象となる画素pの補間フレーム画像上の人物または物体の３次元情報に基づいた人物または物体の表面Ｓ(p)における法線方向の単位ベクトルNvectorと、光源方向の単位ベクトルLvectorとの内積（Lvector(S(p))，Nvector(S(p))）が演算されて、閾値判定部１８ｄに供給される。
【０１１０】
ステップＳ９６において、オフセット合成部１８ｃは、オフセット関数記憶部１７より読み出された、補間に使用する２枚のキーフレーム画像のオフセット関数ｏ（S(p)）を読み出し、補間により合成し、閾値判定部１８ｄに供給する。すなわち、２枚のキーフレーム画像を用いる場合、それぞれのオフセット関数が、それぞれｏ1(S(p))，ｏ2(S(p))の場合、オフセット合成部１８ｄは、例えば、それぞれに重みを付して、合成オフセット値ｏm(S(p))（＝ｗ１×ｏ1(S(p))＋ｗ２×ｏ2(S(p))）を求めることによりオフセット関数を補間により合成する。ここで、例えば、前後するキーフレーム画像により１０枚のアニメーション画像を補間生成する場合、オフセット関数ｏ1(S(p))が定義されたキーフレーム画像から１枚目のアニメーション画像を生成するとき、重みｗ１＝１／１１およびｗ２＝１０／１１などとし、また、２枚目のアニメーション画像を生成するとき、重みｗ１＝２／１１およびｗ２＝９／１１などとするようにしてもよい。
【０１１１】
そして、ステップＳ９７において、閾値判定部１８ｄは、内積演算部１８ｂより供給されてきた内積（Lvector(S(p))，Nvector(S(p))）およびオフセット合成部１８ｃより供給されてきた合成オフセット値ｏm(S(p))に基づいて、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏm(S(p))）により定義される輝度値と所定の閾値ｄとを比較し、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏm(p)）で定義される輝度値が所定の閾値ｄよりも大きいか否かを判定する。
【０１１２】
ステップＳ９７において、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏm(S(p))）により定義される輝度値が所定の閾値ｄよりも大きくない場合、ステップＳ９８において、閾値判定部１８ｄは、その判定結果を画像生成部１８ｅに供給する。画像生成部１８ｅは、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏm(S(p))）で定義される輝度値が所定の閾値ｄよりも大きくないことを示す判定結果に基づいて、画素ｐを陰影領域として設定する。すなわち、画像生成部１８ｅは、補間フレーム画像における画素ｐについて、影が付されている画素、つまり暗い色が付される画素として処理する。
【０１１３】
一方、ステップＳ9７において、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏm(S(p))）で定義される輝度値が所定の閾値ｄよりも大きい場合、ステップＳ９９において、閾値判定部１８ｄは、その判定結果を画像生成部１８ｅに供給する。画像生成部１８ｅは、内積およびオフセット値の和（（Lvector(S(p))，Nvector(S(p))）＋ｏ(S(p))）で定義される輝度値が所定の閾値ｄよりも大きいことを示す判定結果に基づいて、画素ｐを非陰影領域として設定する。すなわち、画像生成部１８ｅは、補間フレーム画像における画素ｐについて、影が付されていない画素、つまり明るい色が付される画素として処理する。
【０１１４】
ここで、再び図８のフローチャートの説明に戻る。
【０１１５】
表示すべきアニメーション画像が、補間フレーム画像の場合、ステップＳ５４において、補間フレーム画像生成処理がなされ、ステップ５５において、アニメーション再生部１９は、この合成オフセット関数ｏm(S(p))が考慮された状態で陰影が付加された補間フレーム画像を表示部２０に表示する。ステップ５６以降の処理は、表示すべきアニメーション画像がキーフレーム画像の場合と同様である。
【０１１６】
すなわち、以上の処理により、キーフレーム画像に基づいて、その間に生成されるべき補間フレーム画像が生成されると共に、補間生成される補間フレーム画像については、補間生成に使用されるキーフレーム画像におけるオフセット関数に基づいて、陰影における編集内容についても、反映された状態で補間フレーム画像が生成される。
【０１１７】
この結果、例えば、図４の上段における、陰影が編集されていないキーフレーム画像Ｋ１乃至Ｋ３を用いて、補間処理により補間フレーム画像Ａ１，Ａ２が生成される場合、キーフレーム画像Ｋ１乃至Ｋ３に対して、例えば、図４の下段におけるキーフレーム画像Ｋ１’乃至Ｋ３’で示されるように、陰影が編集されると、編集内容に対応した補間フレーム画像Ａ１’，Ａ２’が生成される。
【０１１８】
すなわち、キーフレーム画像Ｋ１’においては、領域Ｅ１乃至Ｅ３で示されるような範囲において、キーフレーム画像Ｋ２’においては、領域Ｅ１１乃至Ｅ１３で示されるような範囲において、キーフレーム画像Ｋ３’においては、領域Ｅ２１乃至Ｅ２５で示されるような範囲において、それぞれ陰影が編集されている。このため、補間フレーム画像Ａ１’においては、キーフレーム画像Ｋ１’，Ｋ２’における領域Ｅ１乃至Ｅ３、およびＥ１１乃至Ｅ１３における編集内容が反映されて補間生成されることにより、補間フレーム画像Ａ１に対して、領域Ｆ１乃至Ｆ３で示されるような陰影の異なる補間フレーム画像Ａ１’が生成される。同様にして、補間フレーム画像Ａ２’においては、キーフレーム画像Ｋ２’，Ｋ３’における領域Ｅ１１乃至Ｅ１３、およびＥ２１乃至Ｅ２５における編集内容が反映されて補間生成されることにより、補間フレーム画像Ａ２に対して、領域Ｆ１１乃至Ｆ１４で示されるような陰影の異なる補間フレーム画像Ａ２’が生成される。
【０１１９】
以上の処理により、キーフレーム画像における陰影を編集するだけで、補間生成される補間フレーム画像に対しても効果的に陰影の編集結果を反映させることが可能となり、陰影の編集を容易にすることが可能となる。
【０１２０】
また、キーフレーム画像における陰影の編集が終了した後、アングルを変更しても、キーフレーム画像における陰影は、３次元空間内の物体表面Ｓ上で定義されたオフセット関数に基づいて、アングルの変更と編集した陰影とを反映させることにより、例えば、図１１におけるキーフレーム画像Ｐ１に領域Ｅ１の編集により陰影を付加した、キーフレーム画像Ｐ２に対して、さらに、アングルを変更させても、オフセット関数とアングルの情報により、キーフレーム画像Ｐ３で示されるように、陰影の編集とアングルの変更を反映させることが可能となる。
【０１２１】
同様にして、キーフレーム画像における陰影の編集が終了した後、光源方向を変更しても、例えば、図１１におけるキーフレーム画像Ｐ１に領域Ｅ１の編集により陰影を付加した、キーフレーム画像Ｐ２に対して、さらに、光源方向を変更させても、オフセット関数と光源方向の情報により、キーフレーム画像Ｐ４で示されるように、陰影の編集と光源方向の変更を反映させることが可能となる。
【０１２２】
また、例えば、図７に示したアニメーションの例の場合、同図中央下部に示された人物の右目の下の陰影(同図の領域Ｅ２)や鼻の下の陰影(領域Ｅ２５)などを、３次元空間の光源位置に依存せず、制作者の演出意図に基づいてキーフレーム画像に描き加えることが可能となる。このような処理は、従来の手法では、例えば、右目下の陰影部のテクスチャアニメーションを予め用意する等の面倒な処理なしには作れない時間のかかる作業であったが、上述した処理により、面倒な処理を省くことが可能になるだけでなく、より滑らかな陰影のアニメーションを作ることが可能となる。
【０１２３】
当然のことながら、陰影を編集して、さらに、アングルと光源方向とを同時に変更しても、それらを全て反映させることも可能である。
【０１２４】
以上の処理により陰影を編集し、かつ、編集結果をアニメーションとして再生しながら確認することが可能となる。この結果、再生結果が気に入らなければ、再度ステップＳ１からの処理により、再編集することが可能となるので、容易に陰影の編集を実行することが可能となる。
【０１２５】
また、一度陰影を編集した陰影のオフセット関数を読み込むことにより、陰影が編集されたキーフレーム画像をオリジナルのキーフレーム画像として扱うことができ、陰影の編集を順次上書き処理するように繰り返すことが可能となり、編集過程におけるアニメーションを再生させながら、陰影の編集を繰り返すことが可能となる。すなわち、陰影を上書きする場合、ステップＳ３６において、閾値判定部１４ｂは、内積演算部１４ａより供給されてきた内積（（Lvector(S(p))，Nvector(S(p))＋oe(S(p))）で定義される輝度値と所定の閾値ｄとを比較することになる。尚、oe(S(p))は、オフセット関数記憶部１７に記憶されている、少なくとも一度以上陰影が編集された後であって、直前の陰影の編集により求められたオフセット関数である。
【０１２６】
以上においては、いわゆるセルアニメーション風な陰影、すなわちセル画調の陰影を３次元シーンに対して付与するためのキーフレームアニメーション編集技術として説明してきたが、キーフレームアニメーション編集のみならず、３次元データをもとに作成するコンピュータアニメーション全般に対して適用可能なものであることは言うまでもない。
【０１２７】
以上の処理により、３次元コンピュータアニメーションのセルアニメーション風な陰影の編集（３次元情報に基づいたコンピュータアニメーション技術により、最終的に生成されるセル画像の陰影の編集）が容易になると共に、演出意図を加味した誇張強調表現までもが可能となる。
【０１２８】
ところで、上述した一連の画像処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１２９】
図１２は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタフェース１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０１３０】
入出力インタフェース１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０１３１】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１から読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１３２】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【図面の簡単な説明】
【０１３３】
【図１】本発明を適用したアニメーション編集装置の構成例を示すブロック図である。
【図２】図１のアニメーション装置によるアニメーション編集処理を説明するフローチャートである。
【図３】陰影生成処理を説明するフローチャートである。
【図４】キーフレーム画像と補間生成されるセル画像を説明する図である。
【図５】陰影を付加する条件を説明する図である。
【図６】陰影編集処理を説明するフローチャートである。
【図７】陰影編集処理を説明する図である。
【図８】アニメーション再生処理を説明するフローチャートである。
【図９】キーフレーム画像生成処理を説明するフローチャートである。
【図１０】補間フレーム画像生成処理を説明するフローチャートである。
【図１１】アングルおよび光源方向の変更を説明する図である。
【図１２】汎用のパーソナルコンピュータの構成例をブロック図である。
【符号の説明】
【０１３４】
１  アニメーション編集装置，  １１  ３Ｄアニメーションデータ記憶部，  １２  アングル入力部，  １３  光源方向入力部，  １４  オリジナル陰影生成部，  １４ａ  内積演算部，  １４ｂ  閾値判定部，  １４ｃ  基本画像生成部，  １５  オフセット関数生成部，  １５ａ  近似関数生成部，  １６  陰影編集部，  １７  オフセット関数記憶部，  １８  アニメーション生成部，  １８ａ  補間生成部，  １８ｂ  内積演算部，  １８ｃ  オフセット合成部，  １８ｄ  閾値判定部，  １８ｅ  画像生成部，  １９  アニメーション再生部，  ２０  表示部，  ２１  再生制御部，  ２２  操作部，  ２３  陰影入力部
【図１】
2008310720.tif 000003
【図２】
2008310720.tif 000004
【図３】
2008310720.tif 000005
【図４】
2008310720.tif 000006
【図５】
2008310720.tif 000007
【図６】
2008310720.tif 000008
【図７】
2008310720.tif 000009
【図８】
2008310720.tif 000010
【図９】
2008310720.tif 000011
【図１０】
2008310720.tif 000012
【図１１】
2008310720.tif 000013
【図１２】
2008310720.tif 000014