<HEAD>
<TITLE>Motion Blur</TITLE>
</HEAD>

<BODY BACKGROUND="../Image/Back2.GIF"
	TEXT="#E0E0E0"
	BGCOLOR="#191919"
	LINK="#90D0FF"
	VLINK="#4080D0"
	ALINK="#0000FF">

<BASEFONT SIZE="3" FACE="ＭＳ Ｐ明朝">

<BR>
<CENTER>
<FONT SIZE="7" COLOR="80FF80"><I>Motion Blur</I></FONT>
<P>
<P>
</CENTER>

<CENTER>
<IMG SRC="../Image/Bar2.gif" ALT "-------------------------------------------" width=100% height="8">
</CENTER>
<P>

<P>
<DL>
<DT>
<FONT SIZE="3" COLOR="#FFFF80"><B><I>98/04/11（土）　</I></B></FONT>
<FONT SIZE="4"><B>− Motion Blur − モーションブラー その本質と意義</B></FONT>
<P>
<DD>
　随分前から書こう書こうと思っていたのに、結局今日になってしまった。
とっても忙しかったの...(;_;)。という訳で更新は本当にマイペース。
<P>
　今回は<FONT COLOR ="#FF9090">モーションブラー</FONT>のお話。<BR>
さて、最近ではモーションブラーという言葉も広く世間の知るところとなった。
では、このモーションブラーという奴は一体何者なのか？<BR>
　一口にモーションブラーと言っても、その手法にはさまざまな物がある。
大きく、
<FONT COLOR ="#FF9090">疑似的な手法を用いて速度を稼ぐ</FONT>ものと、
<FONT COLOR ="#FF9090">速度は犠牲になるが、元々の原理に合わせてまじめに計算する
</FONT>ものに分けられるだろう。<BR>
　まず、疑似的な手法の方には、<FONT COLOR ="#FF9090">単純な残像効果</FONT>がある。
これは、単に
<FONT COLOR ="#FF9090">１フレーム前のバッファの内容を薄く残した状態で、
新たな画像をレンダリングする</FONT>だけでよい。
または、<FONT COLOR ="#FF9090">残像を残すオブジェクトのみを複数回、
α値と座標を変化させて描画</FONT>しても良いだろう。
対象となるオブジェクトが少ない場合はこの方が全体的な無駄が少ないし、
これだけでもなかなかかっこよく見える。
ただ、これはあくまでもただの残像であり、
<FONT COLOR ="#FF9090">本当の意味でのモーションブラー</FONT>ではないのだ。
別にこの方法が悪いわけではない。
これでも充分かっこいいし、何よりスピード的にリアルタイムで使用可能であることは大きい。<BR>
　だが、今回ここで取り上げるのは、ちょっと目的の違うモーションブラーである。
それをこれから説明しよう。
　まず、<FONT COLOR ="#FF9090">「モーションブラーとは何か？何故使うのか？」
</FONT>について正確に理解する必要がある。
そのために簡単な例を示そう。
みなさんよく見る（見ない人ごめんなさい）映画などは、通常秒間24コマで映写される。
この程度のフレームレートがあれば、人間の眼には滑らかに映ることはよく知られている。
だが、例えば<FONT COLOR ="#FF9090">CGを24fpsで描画しても、映画ほど滑らかには感じられない</FONT>のである。
今、バーチャファイター（元祖）を見ると、たいがいの人は動きが荒く感じるだろう。
しかし、それでも映画よりフレームレートは高い（30fps）。
この差は一体何なのだろうか？
<FONT COLOR ="#FF9090">
なぜフレームレートの低い映画の方が滑らかに見えるのだろうか？</FONT><BR>
　おそらく既にお気付きだと思うが、<FONT COLOR ="#FF9090">
これがモーションブラーの効果</FONT>なのである。
一度、映画をビデオなどでコマ送りして見てみよう。
速く動いているモノが、想像以上にブレていることに気付くだろう。
これは、撮影する時のシャッタースピードの遅さが原因である。
つまり、<FONT COLOR ="#FF9090">
シャッターが開いている間はずーっと連続してフィルムが感光しているため、
実際には一定の連続時間の積分を撮影することになる</FONT>。
こうすると<FONT COLOR ="#FF9090">１コマ１コマはぼやけてしまうが、
アニメーションさせた時にはあら不思議、フレーム間の
中間時間を補間する働きとなり、結果滑らかに見える</FONT>のである。<BR>
　逆にゲーム画像などの場合、
<FONT COLOR ="#FF9090">本来連続でつながっている時間のうち、
描画しているのは離散的な（つまり一瞬の）画像だけである</FONT>。
<FONT COLOR ="#FF9090">１つ１つの画像はくっきりした綺麗なものとなるが、
アニメーションさせた時にはサンプリング不足のため、荒く感じる</FONT>のだ。
　もう一つ、オリンピックの競泳などで、映像が妙にカタく感じた経験はないだろうか？<BR>
これは、この映像には高速シャッターのカメラを使用するため、
モーションブラーがほとんどかからないからである。
<P>
　ここまでくれば、モーションブラーとは本来何のために使うものなのか、
その答えが分かったことと思う。
すなわち
<FONT COLOR ="#FF9090">モーションブラーとは、時間方向に対する
アンティエイリアシングなのである</FONT>。
例えば60fpsで描画しても、それは1/60秒単位の離散的な画像でしかない。
だがディスプレイの物理的な問題でそれ以上フレームレートを上げることができないとしよう。
このような場合、
<FONT COLOR ="#FF9090">1/60以下の動きの成分を考慮に入れたモーションブラーを
かけると、疑似的にさらに細かい時間間隔での動きを表現できることになるのだ</FONT>。<BR>
　これが目的なのである。そして、上で述べた残像による表現は
明らかに意味が違うことに気付くだろう。<BR>
　実際のレンダリング方法は極めて馬鹿正直である。
「完全な連続では描画できないなら、数で誤魔化せ！」って訳で、
<FONT COLOR ="#FF9090">
前フレームから今回までの連続時間を例えば10回くらいに分け、
それぞれの瞬間をレンダリングする。そして最後に、それら全ての画像を平均化する。
注意！あくまで平均である。前回に近い所は薄くとか、現在の時間は濃くとか、
そんな重み付けはしなくて良い</FONT>。
これは実際のカメラを考えれば理解できるだろう。
上の残像効果との差は、この辺にも現れる。<BR>
　当然そこそこの回数に分割しなければ不自然になるが、
多く分け過ぎると今度はレンダリングに気違いじみた時間がかかることになる。
この辺は妥協が難しいところである。
<P>
　glclockでは何も考えずに、このような方法をとっている。
そのため残像効果とは違い、なかなかリアルなモーションブラーにはなっているが、
いかせんせん遅すぎる...(;_;)<BR>
うまくやればもっと速くできるが、ちょっと時間が無くてやってられません。ひぃ。
</DL>

<!-- Signature -->
<FONT SIZE="3" FACE="ＭＳ Ｐ明朝">

<CENTER>
<IMG SRC="../Image/Bar2.gif" ALT "-------------------------------------------" width=90% height="16">
</CENTER>

<UL>
	<A HREF="index.html"><B><I>Masa's Column</I></B>に戻る</A>

	<TABLE>
	<TR>
	<TD>
	<A HREF="../index.html"><IMG SRC="../Image/MasaPlate.gif" BORDER="0" WIDTH="112" HEIGHT="48"></A>
	</TD>
	<TD><A HREF="../index.html">ホームページに戻る</A></TD>
	</TR>
	</TABLE>

	本ページの御意見・御感想は<BR>
<B>
<ADDRESS>
	<A HREF="mailto:g93088@isc.chubu.ac.jp">
		<I>E-Mail: g93088@isc.chubu.ac.jp</I></A>
</ADDRESS>
</B></UL>

</FONT>
<!-- Signature -->

</BODY>
