(57)【特許請求の範囲】
【請求項１】
複数の運動ベクトルを記憶する運動ベクトル記憶部と、
Lを２以上の整数としてL個の要素のそれぞれに、前記運動ベクトル記憶部から読み込んだ運動ベクトルを隣接する要素に割り当てられた運動ベクトルが滑らかにつながるように割り当てた割当情報を、割り当ての変更を繰り返すことにより生成する運動ベクトル割当部と、
１フレームがL個の画像から構成されており、各前記L個の画像はブロックに細分化されているとして、各入力されたL個の画像の各ブロックを前記割当情報により定まる前記各入力されたL個の要素に割り当てられた運動ベクトルに従って順次移動させることにより映像を生成する映像生成部と、
を含む映像生成装置。
【請求項２】
請求項１の映像生成装置であって、
前記運動ベクトル割当部は、前記L個の要素のそれぞれに、前記運動ベクトル記憶部から読み込んだ運動ベクトルを割り当てることにより仮割当情報を生成する初期割当部と、 
要素についての運動ベクトル近似度をその要素に割り当てられた運動ベクトルとその要素に隣接する要素に割り当てられた運動ベクトルとの近さを表す指標として、入力された仮割当情報に基づいて各前記L個の要素についての運動ベクトル近似度の平均値である第一平均値を計算し、前記入力された仮割当情報におけるL個の要素に対する運動ベクトルの割り当てを変更した割り当て変更後の仮割当情報に基づいて各前記L個の要素についての運動ベクトル近似度の平均値である第二平均値を計算し、前記第一平均値と前記第二平均値とのうち小さい方の平均値に対応する仮割当情報を出力する再割当部と、
前記出力された仮割当情報を新たな前記入力された仮割当情報とする前記再割当部の処理を繰り返し実行させ最終的に出力された仮割当情報を前記割当情報とする反復制御部と、を含む、
映像生成装置。
【請求項３】
請求項１の映像生成装置であって、
前記L個の要素は、M,Nを１以上の整数として、M×Nの格子状に配置されたM×N行列であり、
前記割当情報は、隣接する要素に割り当てられている運動ベクトルが滑らかにつながるように、前記運動ベクトル記憶部から読み込まれた運動ベクトルが各要素に割り当てられているM×Nの行列である変換フィルタであり、
前記映像生成部は、1≦i≦M,1≦j≦Nとし、１フレームが前記L個の各画像がM×Nの格子状に配置されることで構成されており、各画像はブロックに細分化されているとして、入力されたM×Nの格子状に配置されたM×N個の画像の中のi行j列目の画像の各ブロックを前記変換フィルタのi行j列目の要素に割り当てられている運動ベクトルに従って順次移動させる処理をi,jの組(i,j)のそれぞれについて行うことにより映像を生成する、
映像生成装置。
【請求項４】
請求項３の映像生成装置であって、
前記運動ベクトル割当部は、M×Nの行列である運動ベクトル行列の各要素に、前記運動ベクトル記憶部から読み込んだ運動ベクトルを割り当てる初期割当部と、
入力された運動ベクトル行列の各要素の離散ラプラシアンの平均値である第一平均値を計算し、その入力された運動ベクトル行列の少なくとも２個の要素を入れ替えて得られる入れ替え後の運動ベクトル行列の各要素の離散ラプラシアンの平均値である第二平均値を計算し、前記第一平均値と前記第二平均値のうち小さい方の平均値に対応する運動ベクトル行列を新たな運動ベクトル行列として出力する再割当部と、
前記出力された新たな運動ベクトル行列を新たな前記入力された運動ベクトル行列とする前記再割当部の処理を繰り返し実行させ最終的に出力された新たな運動ベクトル行列を前記変換フィルタとする反復制御部と、を含む、
映像生成装置。
【請求項５】
生成しようとする流体の映像とは異なる流体の映像から生成された又はランダムに生成された複数の運動ベクトルを記憶する運動ベクトル記憶部と、
Lを２以上の整数としてL個の要素のそれぞれに、前記運動ベクトル記憶部から読み込んだ運動ベクトルを隣接する要素に割り当てられた運動ベクトルが滑らかにつながるように割り当てた割当情報を生成する運動ベクトル割当部と、
１フレームがL個の画像から構成されており、各前記L個の画像はブロックに細分化されているとして、各入力されたL個の画像の各ブロックを前記割当情報により定まる前記各入力されたL個の要素に割り当てられた運動ベクトルに従って順次移動させることにより映像を生成する映像生成部と、
を含む映像生成装置。
【請求項６】
運動ベクトル記憶部には、複数の運動ベクトルが記憶されているとして、
運動ベクトル割当部が、Lを２以上の整数としてL個の要素のそれぞれに、前記運動ベクトル記憶部から読み込んだ運動ベクトルを隣接する要素に割り当てられた運動ベクトルが滑らかにつながるように割り当てた割当情報を、割り当ての変更を繰り返すことにより生成する運動ベクトル割当ステップと、
映像生成部が、１フレームがL個の画像から構成されており、各前記L個の画像はブロックに細分化されているとして、各入力されたL個の画像の各ブロックを前記割当情報により定まる前記各入力されたL個の要素に割り当てられた運動ベクトルに従って順次移動させることにより映像を生成する映像生成ステップと、
を含む映像生成方法。
【請求項７】
運動ベクトル記憶部には、生成しようとする流体の映像とは異なる流体の映像から生成された又はランダムに生成された複数の運動ベクトルを記憶されているとして、
運動ベクトル割当部が、Lを２以上の整数としてL個の要素のそれぞれに、前記運動ベクトル記憶部から読み込んだ運動ベクトルを隣接する要素に割り当てられた運動ベクトルが滑らかにつながるように割り当てた割当情報を生成する運動ベクトル割当ステップと、
映像生成部が、１フレームがL個の画像から構成されており、各前記L個の画像はブロックに細分化されているとして、各入力されたL個の画像の各ブロックを前記割当情報により定まる前記各入力されたL個の要素に割り当てられた運動ベクトルに従って順次移動させることにより映像を生成する映像生成ステップと、
を含む映像生成方法。
【請求項８】
請求項１から５の何れかに記載された映像生成装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、流動液体の印象を喚起する映像を生成する技術に関する。
【背景技術】
【０００２】
これまで、流動する液体を含む動画を作成する際には、非剛体物体の物理シミュレーション及びそのレンダリングという過程を通じて数時間を要し、また流体に関する知識をプログラムに組み込む必要があった（例えば、非特許文献１）。また、非特許文献２では、人間が流動する液体の粘性の知覚にその液体の運動情報が寄与していることが明らかにされているが、運動情報に基づいて生成された映像によって流動する物体の知覚がもたらされるかどうかは明らかでなかった。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Crane K., Llamas I., Tariq S., “Real time simulation and rendering of 3D fluids”, In Hubert N. GPUGems 3, P.633-675.
【非特許文献２】Kawabe T., Maruya K., Nishida S., “The role of dynamic visual information in the estimation of liquid viscosity”, Presentations at Vision Science Society on May 11-16, 2012, Naples, Florida, USA.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明は、従来よりも少ない計算量で流動液体の印象を喚起する映像を生成する映像生成装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明の一態様による映像生成装置は、複数の運動ベクトルを記憶する運動ベクトル記憶部と、Lを２以上の整数としてL個の要素のそれぞれに、運動ベクトル記憶部から読み込んだ運動ベクトルを隣接する要素に割り当てられた運動ベクトルが滑らかにつながるように割り当てた割当情報を割り当ての変更を繰り返すことにより生成する運動ベクトル割当部と、１フレームがL個の画像から構成されており、各L個の画像はブロックに細分化されているとして、各入力されたL個の画像の各ブロックを割当情報により定まる各入力されたL個の要素に割り当てられた運動ベクトルに従って順次移動させることにより映像を生成する映像生成部と、を含む。
【０００６】
この発明の一態様による映像生成装置は、生成しようとする流体の映像とは異なる流体の映像から生成された又はランダムに生成された複数の運動ベクトルを記憶する運動ベクトル記憶部と、Lを２以上の整数としてL個の要素のそれぞれに、運動ベクトル記憶部から読み込んだ運動ベクトルを隣接する要素に割り当てられた運動ベクトルが滑らかにつながるように割り当てた割当情報を生成する運動ベクトル割当部と、１フレームがL個の画像から構成されており、各L個の画像はブロックに細分化されているとして、各入力されたL個の画像の各ブロックを割当情報により定まる各入力されたL個の要素に割り当てられた運動ベクトルに従って順次移動させることにより映像を生成する映像生成部と、を含む。
【発明の効果】
【０００７】
従来よりも少ない計算量で流動液体の印象を喚起する映像を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】映像生成装置の例を示すブロック図。
【図２】映像生成方法の例を示すフローチャート。
【図３】ステップＳ１の例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、映像生成装置及び方法の実施形態を説明する。
【００１０】
映像生成装置は、図１に示すように、運動ベクトル記憶部１、運動ベクトル生成部１１、運動ベクトル割当部２、画像取得部３、映像生成部４及び表示部５を例えば備えている。運動ベクトル割当部２は、初期割当部２１、再割当部２２及び反復制御部２３を例えば備えている。映像生成部４は、画像生成部４１及び制御部４２を例えば備えている。
【００１１】
映像生成方法は、映像生成装置が図２及び図３の各ステップの処理を例えば行うことにより実現される。
【００１２】
＜運動ベクトル記憶部１＞
運動ベクトル記憶部１には、予め流動している液体の映像から抽出した複数の運動ベクトルが記憶されている。
【００１３】
運動ベクトルとは、基準となるフレームからの動き（移動量）をベクトルとして表現したものであり、画像ごとに運動ベクトルが定義される。運動ベクトルは、周知の運動ベクトル探索（例えば、参考文献１参照。）により抽出することができる。
〔参考文献１〕Bouguet, J-Y, “Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the Algorithm”, Intel Corporation, Microprocessor Research Labs, 199, OpenCV Documents
【００１４】
この例では、運動ベクトルは、画像中の１以上の画素からなる領域ごとに定義される２次元ベクトルであり、２個の整数の組である。したがって、運動ベクトル記憶部１には、異なる複数の、２個の整数の組が記憶されている。
【００１５】
運動ベクトルを抽出する映像は、流動している液体の映像であれば何でも良い。運動ベクトルの移動量が小さいほど流体の速度は遅く、運動ベクトルの移動量が小さいほど流体の速度は速くなる。また、速度が遅いほど、粘性が高い物体のように知覚されやすい。
【００１６】
よって、移動量の異なる運動ベクトル集合を記憶しておき、生成したい映像の粘性に応じて適切な運動ベクトル集合を選択する構成としても良い。例えば、移動量の小さい運動ベクトル集合は移動量が小さい複数の運動ベクトルから構成されているとし、移動量の大きい運動ベクトル集合は移動量が大きい複数の運動ベクトルから構成されているとする。このとき、粘性の高い物体が流動する映像を作成したい場合には、移動量の小さい運動ベクトル集合に含まれる運動ベクトルを用い、粘性の低い物体が流動する映像を作成したい場合には、移動量の大きい運動ベクトル集合に含まれる運動ベクトルを用いると良い。
【００１７】
なお、運動ベクトル記憶部１には、生成しようとする流体の映像とは異なる流体の映像、言い換えれば生成した映像とは無関係の流体の映像から生成された運動ベクトルが記憶されていても良い。また、運動ベクトル記憶部１には、ランダムに生成された複数の運動ベクトルが記憶されていても良い。つまり、運動ベクトル記憶部１に記憶されている運動ベクトルは、生成したい映像の対象となる非剛体（水やコンクリート、はちみつなど）の物理的特性を反映したものではなくても良い。
【００１８】
なお、これらの運動ベクトルの抽出及び生成は、運動ベクトル生成部１１により行われる。
【００１９】
＜運動ベクトル割当部２＞
運動ベクトル割当部２は、Lを２以上の整数としてL個の要素のそれぞれに、運動ベクトル記憶部１から読み込んだ運動ベクトルを隣接する要素に割り当てられた運動ベクトルが滑らかにつながるように割り当てた割当情報を割り当ての変更を繰り返すことにより生成する（ステップＳ１、図２）。
【００２０】
M,Nを１以上の整数として（M,Nを３以上の整数としてもよい。）、例えばL=M×Nである。すなわち、L個の要素は例えばM×Nの格子状に配置されたM×N行列の各要素である。この場合、割当情報は、隣接する要素に割り当てられている運動ベクトルが滑らかにつながるように、運動ベクトル記憶部１から読み込まれた運動ベクトルが各要素に割り当てられているM×Nの行列である変換フィルタである。
【００２１】
この例のように、L個の要素がM×Nの格子状に配置されたM×Nの行列である場合には、運動ベクトル割当部２は、予め用意した複数の運動ベクトルが記憶されている運動ベクトル記憶部１から重複を許してM×N個の運動ベクトルを取りだし、M×Nの格子状に配置されたM×N個の各要素に１つずつ割り当てることで変換フィルタを作成する。このとき、空間的に運動ベクトルが滑らかにつながるように運動ベクトルを割り当てると、映像生成部４で生成される映像における上記変換フィルタの各要素に対応する領域間の境界が目立たなくなり、より強い液体印象をもつ映像を作成することができる。
【００２２】
運動ベクトルの長さが小さい場合はMとNにより大きい値をとることで空間的に高精細な運動ベクトル場を表現できる。また、運動ベクトルの長さが大きい場合はMとNにはより小さい値をとることで正確な運動ベクトルの表現につながる。
【００２３】
運動ベクトル割当部２は、図１に示すように、初期割当部２１、再割当部２２及び反復制御部２３を例えば備えている。初期割当部２１、再割当部２２及び反復制御部２３は、それぞれステップＳ１１からステップＳ１３（図３）の処理を行う。これにより割当情報が生成される。すなわち、図１のステップＳ１は、図３に示すステップＳ１１からステップＳ１３により例えば構成されている。
【００２４】
＜初期割当部２１＞
初期割当部２１は、L個の画像のそれぞれに、運動ベクトル記憶部１から読み込んだ運動ベクトルを割り当てることにより仮割当情報を生成する（ステップＳ１１）。生成された仮割当情報は、再割当部２２に提供される。
【００２５】
L個の要素がM×Nの格子状に配置されたM×N行列である場合には、初期割当部２１は、M×Nの行列である運動ベクトル行列の各要素に、運動ベクトル記憶部１から読み込んだ運動ベクトルを割り当てる。この例では、運動ベクトル行列が、仮割当情報である。
【００２６】
例えば、初期割当部２１は、運動ベクトル記憶部１からM×N個の運動ベクトルを読み込み、M×Nの行列の各要素に、読み込んだ運動ベクトルを１つずつランダムに配置することにより運動ベクトル行列を生成する。このように、仮割り当ては、ランダムに行われてもよい。
【００２７】
ここで、M×Nの運動ベクトル行列の(i,j)要素が、M×Nの格子状に配置された画像の(i,j)の画像、すなわちi行j列の画像に対応している。すなわち、運動ベクトル行列の(i,j)要素にある運動ベクトルを割り当てることは、格子状に配置された画像の(i,j)の画像にその運動ベクトルを割り当てることと等しい。
【００２８】
＜再割当部２２＞
再割当部２２は、入力された仮割当情報に基づいて各L個の要素についての運動ベクトル近似度の平均値である第一平均値を計算し、入力された仮割当情報におけるL個の要素に対する運動ベクトルの割り当てを変更した割り当て変更後の仮割当情報に基づいて各L個の要素についての運動ベクトル近似度の平均値である第二平均値を計算し、第一平均値と第二平均値とのうち小さい方の平均値に対応する仮割当情報を出力する（ステップＳ１２）。
【００２９】
ここで、画像についての運動ベクトル近似度とは、その要素に割り当てられた運動ベクトルとその要素に隣接する要素に割り当てられた運動ベクトルとの近さを表す指標である。
【００３０】
L個の要素がM×Nの格子状に配置されたM×N行列である場合には、運動ベクトル近似度とは、例えば以下に説明する離散ラプラシアンである。
【００３１】
x軸とy軸からなる直交座標系における２次元ベクトル場f(i,j)の離散ラプラシアンは以下の数式で計算される。この式は、(i,j)の要素に隣接する要素は、(i+1,j)の要素、(i-1,j)の要素、(i,j+1)の要素、(i,j-1)の要素の計４個の要素であることを想定した式である。
【数１】
0005961589.tif 000002
【００３２】
この数式の離散表現は以下の通りである。
【数２】
0005961589.tif 000003
ここで、Ax(i,j)は、M×N行列中の(i,j)要素の運動ベクトルのx軸方向の成分であり、Ay(i,j)は、M×N行列中の(i,j)要素の運動ベクトルのｙ軸方向の成分である。
【００３３】
なお、i=1の場合にはi-1をMとして、Ax(i-1,j)の計算を行う。すなわち、i=1の場合には、Ax(i-1,j)=Ax(M,j)とする。i=Mの場合にはi+1を1として、Ax(i+1,j)の計算を行う。すなわち、i=Mの場合には、Ax(i+1,j)=Ax(1,j)とする。
【００３４】
同様にして、j=1の場合にはj-1をNとして、Ay(i,j-1)の計算を行う。すなわち、j=1の場合には、Ay(i,j-1)=Ay(i,N)とする。j=Nの場合にはj+1を1として、Ay(i,j+1)の計算を行う。すなわち、j=Nの場合には、Ay(i,j+1)=Ay(i,1)とする。
【００３５】
L個の要素がM×Nの格子状に配置されたM×N行列である場合には、再割当部２２は、式(1)により、M×Nの行列の各要素についての離散ラプラシアンΔｆ(i,j) (i=1,2,…, M, j=1,2,…,N)を求め、全ての要素についての離散ラプラシアンの平均値を求める。すなわち、以下の式により定義される平均値を計算して、第一平均値とする。
【数３】
0005961589.tif 000004
【００３６】
次に、再割当部２２は、現在の運動ベクトル行列のM×N個の要素の中の少なくとも２個の要素を選択し、それらを入れ替える。つまり、運動ベクトルを交換する。例えば、２個の要素がランダムに選択される。そして、再割当部２２は、上記と同様にして、各要素について離散ラプラシアンを計算し、全要素についての平均値を求め、第二平均値とする。
【００３７】
再割当部２２は、要素を入れ替える前の離散ラプラシアンの平均値である第一平均値と、要素を入れ替えた後の離散ラプラシアンの平均値である第二平均値とを比較し、平均値の小さい方の運動ベクトル行列を、新たな運動ベクトル行列として出力する。
【００３８】
このようにして、L個の行列がM×Nの格子状に配置されたM×N行列である場合には、再割当部２２は、入力された運動ベクトル行列の各要素の離散ラプラシアンの平均値である第一平均値を計算し、その入力された運動ベクトル行列の少なくとも２個の要素を入れ替えて得られる入れ替え後の運動ベクトル行列の各要素の離散ラプラシアンの平均値である第二平均値を計算し、第一平均値と第二平均値のうち小さい方の平均値に対応する運動ベクトル行列を新たな運動ベクトル行列として出力する。
【００３９】
＜反復制御部２３＞
反復制御部２３は、再割当部２２から出力された仮割当情報を新たな入力された仮割当情報とする再割当部２２の処理を繰り返し実行させ最終的に出力された仮割当情報を割当情報として出力する。
【００４０】
L個の行列がM×Nの格子状に配置されたM×N個行列である場合には、反復制御部２３は、出力された新たな運動ベクトル行列を新たな入力された運動ベクトル行列とする再割当部の処理を繰り返し実行させ最終的に出力された新たな運動ベクトル行列を変換フィルタとして出力する。
【００４１】
反復制御部２３は、例えば再割当部２２の処理が行われた回数をカウントしその回数が所定の回数に到達したかを判定することにより、再割当部２２による再割当を再度行うかを判定する（ステップＳ１３）。所定の回数は、所望の結果が得られるように適宜決定されるものであり、例えば１０万回である。反復制御部２３は、その回数が所定の回数に到達していないと判定した場合には、最後に出力された仮割当情報を再割当部２２に入力して再割当部２２の処理を再度行うように制御を行う。反復制御部２３は、その回数が所定の回数に到達したと判定した場合には、再割当部２２により最後に出力された仮割当情報を割当情報として出力する。
【００４２】
＜画像取得部３＞
画像取得部３は、流動する物体の映像のもとになるL個の静止画像を読み込む。１フレームの画像が、これらL個の静止画像（部分画像）から構成されることになる。読み込んだL個の静止画像は、映像生成部４に提供される。例えば、L個の静止画像は、水やコンクリートなどの物体を撮影した画像をＬ個の領域に分割した各画像であっても良いし、ノイズ画像のように人工的に作成した画像でもよい。なお、L個の画像は１つの画像を複数の領域に分割した部分画像でなくても良いが、その場合はL個の画像は同じカテゴリの画像（例えば、全て「水」の画像、全てノイズ画像）であり、かつ、各画像間の境界が目立たないものであることが好ましい。
【００４３】
ノイズ画像のように人工的に作成した画像を用いる場合は、画像取得部３は、例えば、上述の変換フィルタと同じサイズの行列に画像を分割し、行列の各セルをランダムノイズで埋めた後、セルの中心を平均とした２次元空間ガウシアン窓をかける等の方法により画像を生成する。
【００４４】
＜映像生成部４＞
映像生成部４は、L個の画像により1フレームが構成されているものとし、各L個の画像はブロックに細分化されているとして、各入力されたL個の画像の各ブロックを割当情報により定まるその各入力されたL個の要素に割り当てられた運動ベクトルに従って順次移動させることにより映像を生成する（ステップＳ２）。生成された映像は、表示部５に提供される。表示部５は、提供された映像を表示する。
【００４５】
映像生成部４は、図１に示すように、例えば画像生成部４１及び制御部４２を備えている。この場合、画像生成部４２が、各入力されたL個の画像の各ブロックを割当情報により定まるその各入力されたL個の要素に割り当てられた運動ベクトルに従って移動させることにより、新たなL個の画像からなるフレームを生成する。制御部４２は、生成された新たなフレームの部分画像であるL個の画像を新たな入力されたL個の画像として画像生成部４１の処理を繰り返し行わせる。例えば、制御部４２は、この画像生成部４１の処理を所定の回数に到達するまで行う。このようにして、各フレームの画像を生成することにより映像が生成される。生成されたフレームごとの画像は、表示部５に時間的に連続して表示される。言い換えれば、生成されたフレームごとの画像は、表示部５に順次表示される。
【００４６】
各L個の画像は、例えば画像を構成する最小単位である画素に細分化されている。この場合、各ブロックは画素であり、各画素が運動ベクトルに従って順次移動させられる。ブロックは、複数の画素から構成されていてもよい。
【００４７】
L個の画像（部分画像）がM×Nの格子状に配置されて１フレームの画像が構成される場合には、映像生成部４は、1≦i≦M,1≦j≦Nとし、各部分画像はブロックに細分化されているとして、入力されたM×Nの格子状に配置されたフレーム中のi行j列目の部分画像の各ブロックを変換フィルタのi行j列目の要素に割り当てられている運動ベクトルに従って順次移動させる処理をi,jの組(i,j)のそれぞれについて行うことにより映像を生成する。
【００４８】
言い換えれば、映像生成部４は、運動ベクトル割当部２が出力した割当情報である変換フィルタを、画像取得部３が読み込んだ各画像にあてはめることで、映像を作成する。つまり、各フレームにおいて、変換フィルタの各要素に対応する運動ベクトル分だけ、その各要素に対応する画像（１フレームを構成する部分画像）の各ブロックを移動させることにより、映像を作成する。
【００４９】
なお、各ブロックはその画像の中で循環して移動するものとする。例えば、各ブロックは画素であり、部分画像が20×20の画素から構成され、最左列かつ最下列の画素のインデックスを(1,1)として、その画素から右方向及び上方向の画素に行くに従って１ずつ増加するインデクスが定められているとする。つまり、最左列の画素は、下から上方向に順に(1,1),(2,1),…,(20,1)であり、最下列の画素は左から右方向に順に(1,1),(1,2),・・・,(1,20)であるとする。このとき、この部分画像に割り当てられた運動ベクトルが(0,3)であり、１フレームにつき右方向に３画素ずつ移動することを示すものであるとすると、現在のフレームの当該部分画像における各画素は以下のように移動する。
(1,1)→(1,4)
(1,2)→(1,5)
…
(1,17)→(1,20)
(1,18)→(1,1)
(1,19)→(1,2)
(1,20)→(1,3)
【００５０】
すなわち、映像生成部４は、画像がXc×Ycのブロックから構成されており、その画像に割り当てられた運動ベクトルが(x,y)である場合には、あるフレームで(i,j)の位置にあるブロックを、(i+x mod Xc,j+y mod Yc)の位置に移動させてもよい。このように、映像生成部４は、各ブロックを運動ベクトル(x,y)だけ循環を許しつつ移動させても良い。
【００５１】
また、部分画像ごとに画像の画素値よりも大きい画素値の入力画像を準備し、それを割り当てられた運動ベクトル分だけ移動させても良い。この場合は、運動ベクトルの大きさに従った単純な画素の移動のみで十分である。もし部分画像の総移動量が大きいことが予想される場合は、あらかじめ大きい入力画像を準備しておいても良いし、または上記のように画素を循環させて移動させる手法を導入しても良い。
【００５２】
このように、運動ベクトルを用いて、液体が流動しているように人間に知覚される映像を生成することができる。運動ベクトルを再割当する演算は、物理シミュレーションやレンダリングと比較して計算的にコストが低いことに加え、流体の物理的知識を必要としない。したがって、迅速にかつ簡単に液体印象をもつ動画を作成することができる。
【００５３】
［変形例］
上記の処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００５４】
また、映像生成装置における各処理をコンピュータによって実現する場合、その装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
【００５５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００５６】
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００５７】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【００５８】
１      運動ベクトル記憶部
２      運動ベクトル割当部
２１    初期割当部
２２    再割当部
２３    反復制御部
３      画像取得部
４      映像生成部
４１    画像生成部
４２    制御部
５      表示部
１１    運動ベクトル生成部
【図１】
0005961589.tif 000005
【図２】
0005961589.tif 000006
【図３】
0005961589.tif 000007