
PDF PDF版 [505KB]
AVIファイルの再生時間を調整する
AVS Technical Report -Volume9,Number2 June,2004-
Contents
1. はじめに
【プレゼンテーションアニメーションの作成 後編】の記事で触れたように、素材として作成するアニメーションの再生時間は重要です。
AVSで作成できる動画について、その再生時間が何によって決まるのか理解していないと、折角コンテンツの時間配分を決めてもそのとおりに作成することができません。
ここではAVSの可視化結果を、希望する再生時間のAVIアニメーションとして用意するための方法をご紹介いたします。
2. 再生時間は何によって決まるか
AVIファイルの再生時間は、フレームレートとそのファイルに含まれるフレーム数によって決まります。1フレームは1枚の画像に相当します。
AVIファイルの中には、沢山のフレームがあります。再生ソフトは、先頭フレームからパラパラと連続して表示することによって動いているように見せます。
このとき、1秒間に何枚のフレームを表示するのかという情報が必要です。
これが無いと作成者の意図した速度で再生されません。1秒間に表するフレーム数をフレームレートと呼びます。単位はfps(frames per second)です。
フレームレートの情報はAVIファイルの中に格納されています。
AVIファイルの話ではないので余談になりますが、テレビ画像のフレームレートは29.97fps、映画画像は24fpsが一般的です。
3. AVS/Expressの仕様
AVS/Expressのimage captureモジュールから出力されるAVIのフレームレートは20fpsで固定になっています。
つまり、20枚の可視化画像が1秒で再生されます。
しかし、可視化パラメーターの変更操作と照らし合わせると、このフレームレートはかなり速い速度になります。
例えば、スライス位置をずらして物体を切り取るアニメーションを作成した場合、20断面しかないならば、それは1秒で再生が終わってしまいます。

図 1 フレームレートが低い場合
サンプルAVIファイル [1047KB]
こんなに早く動いてはプレゼンテーションに用いることができません。
見る人に考える時間を与えるぐらいの速度にする必要があります。
そこで、再生時間を伸ばすための方法についてご紹介いたします。
4. 再生時間を変更する方法
4-1. 同じ画像を並べる
連続して同じ画像がフレームに格納されていれば、見かけ上はゆっくりとした速度で再生されます。
20断面しかなくても、同じ画像が3フレームずつ続けば3秒で再生されることになります。
ただし、ファイルのサイズは同じ画像を重ねた分だけ増えることになります。

図 2 画像数を増やした場合
サンプルAVIファイル [2.98MB]
この方法は、再生時間を[オリジナル再生時間×同じ画像の枚数]に変更することができます。
以下3つパターンについて、同じ画像を並べて再生時間を調整するための方法を紹介いたします。
- AVS/Expressにおいてパラメーター変更アニメーションを行っている場合
- AVS/Expressにおいて時系列アニメーションを行っている場合
- 既に作成してあるAVIを編集する場合
AVS/Expressにおいてパラメーター変更アニメーションを行っている場合
Loopモジュールでパラメーターを変えているアニメーションならば、可視化ネットワークを少し変更するだけで連続して同じ可視化画像を出力することができます。
修正前のネットワークは、Loopモジュールから値が1ずつ加算したものが出力されます。
これをisosufaceモジュールの等値面を張る値に利用しています。
修正後のモジュールは、途中にint型のオブジェクトを挿入して型変換を行っています。
Loopモジュールのパラメーターは、0.34ずつ加算して出力するよう変更します。
この様にすると途中の型変換によって小数以下の値は切り捨てられるので、3回同じ値がisosurfaceモジュールに渡されます。
結果として3回同じ可視化が出力されます。
| Loopから出力される値 | 型変換後、isosurfaceモジュールに渡される値 |
|---|---|
| 0.00 | 0 |
| 0.34 | 0 |
| 0.68 | 0 |
| 1.02 | 1 |
| 1.36 | 1 |
| 1.70 | 1 |
| 2.04 | 2 |
注)Loopモジュールのパラメーターはデフォルトでは小数第2位までしか入力できません。
それ以上の有効桁で設定したい場合には、以下の方法で有効桁を増やします。
- Loopモジュールを選択してマウスの右ボタンを押します。
- 現れたパネルより"オブジェクト・エディタ#を選択します。
- オブジェクトエディタの左側に表示されているモジュール階層にて「LoopUI」「incr_typein」「field」「decimalPoints」の順番にクリックします。
- 必要な有効数字(小数点以下の桁)を設定します。
- 「LoopUI」「incr_typein」「field」「decimalPoints」の順番にクリックしてオブジェクトを閉じます。
以上の操作で有効桁が増やせます。
AVS/Expressにおいて時系列アニメーションを行っている場合
Read_Field, Read_UCDの時系列データの読み込みは、モジュール内部でLoopモジュールを使って制御しています。
これを修正することによって同じステップを数回読込みさせて、同じ可視化画像が連続して書き出されるようにすることが可能です。
(なお、読み込みモジュールを修正はAVS/Express Devloperのバージョンのみで行えます。)
上記の修正を施した改良版Read FieldとRead UCDモジュールを以下よりダウンロードできます。
ダウンロードしてサンプルとしてご利用下さい。
loopモジュールの加算値については、読み込みモジュールのパラメーターパネルの一番下に "Loop increment"というパラメーターを設けて、そこから入力できるようにしてあります。
既に作成してあるAVIを編集する場合
既に作成済みのAVIファイルについては、それをシーケンシャルなイメージに分解した後、画像を希望する枚数(n枚)コピーすることによって、オリジナル動画をn倍に伸ばしたものを作成することができます。
各工程では、TMPGEnc無料版とファイルコピーツールとして当社AVSサポートセンターが作成したソフトを用います。
TMPGEnc 無料版につきましては、以下のURLよりダウンロード可能です。「TMPGEnc 無料版ソフトウェアライセンス規約」の範囲内でお使いください。
ファイルコピーツール(FileZousyoku.exe)につきましては、以下のURLよりダウンロード可能です。
(注)このソフトはサポート無しのフリーソフトとして配布いたします。その他の利用規約につきましては、ダウンロードページに書かれている規約を参照して下さい。)
【連番イメージの出力】
連番イメージの出力は以下の手順で行います。
1. TMPGEncを起動する。
2. 「プロジェクトウィザード」が出てくるので「キャンセル」ボタンを押す。
3. 映像ソースとしてAVSで作成したAVIファイルを選択する。
4. 「設定」ボタンを押す。
5. フレームレートの項目で「19.98 fps(内部 59.94 fps)」を選択する。
6. 「OK」ボタンを押す。
7. プルダウンメニューより「ファイル」-「ファイルに出力」-「連番 BMP/PPM/TGA/JPGファイル」を選択する。
8. ファイルを出力するフォルダーを指定、ファイル名の接頭部分を指定する。
上記手順にて、連番のイメージが出力されます。
【連番イメージをn倍する】
連番イメージを任意の倍率で増やすソフトを探したのですが見つからなかった為、当社AVSサポートで作成いたしました。
連番イメージを任意の倍数で増やす方法は以下の手順です。
- ダウンロードしたFileZousyoku.exeを起動する。
- 「開始ファイル」として連番のイメージが格納されているフォルダーより、0番目のイメージファイルを選択する。ファイル名より自動的に判断して、ファイル数、連番フォーマットなどの情報が表示される。
- 増やす倍率をパラメーター「倍数」にて設定する。必要に応じて、「変換後ファイル名ヘッダー」「変換後連番フォーマット」などを変更する。
- 「コピー開始」ボタンを押すと連番のイメージファイルが作成される。
【連番イメージからAVIファイルを作成する】
連番イメージからAVIファイルを作成するソフトは幾つかありますが、ここではTMPGEncを使った方法を紹介いたします。
1. TMPGEncを起動する。
2. 「プロジェクトウィザード」が出てくるので「キャンセル」ボタンを押す。
3. プルダウンメニューより「設定」-「環境設定」を選択する。
4. 「連番のファイルを一本のムービーとして開く」にチェックを入れる。
5. 映像ソースとして、連番イメージファイルの中から一番小さい番号(0番)を選択する。
注) 選んだ番号以降のイメージが一本のムービーと扱われます。
6. 「設定」ボタンを押す。
7. フレームレートの項目で「19.98 fps(内部 59.94 fps)」を選択する。
8. 「OK」ボタンを押す。
9. プルダウンメニューより「ファイル」-「ファイルに出力」-「AVIファイル」を選択する。
10. ファイル名を指定するとAVIファイルが出力される。
4-2. フレームレートを変更する方法
フレームレートを変更すれば再生時間を変更することが可能です。
ただし、フレームレートに極端な数字を設定した場合、再生ソフトが正常に再生できるかは保証できません。
上記の「同じ画像を並べる」方法と組み合わせて、微調整の目的で利用されることをお薦めします。
AVIファイルのフレームレートを直接変更出来る良いソフトは見つかりませんでした。
先ほど紹介したTMPGEncを使うと、連番イメージからAVIファイルを作成する段階で、フレームレートを設定することができます。
また、一部のオーサリングツールでは、素材として読み込んだAVIファイルの再生速度を任意に変えることができます。
(ただし、あまり綺麗には変換されない場合がありますのでお薦めはできません。)
TMPGEncのフレームレート変更方法
連番イメージファイルを読み込んだ後、AVIファイルを出力する前にフレームレートの設定項目を変更すると、選択されたフレームレートでAVIファイルを出力することができます。
5. おわりに
この記事では、AVI形式の動画の再生時間を調整するテクニックについてご紹介いたしました。
フレーム数とフレームレートという2つの要因で決まる上に、フレームレートの値を自由に設定できないため任意の長さに調整することは困難ですが、この記事を参考にして目的とする再生時間のアニメーションが作成できるようになれば幸いです。
PDF PDF版 [505KB]
AVS Support Center, fns-avssup@cs.jp.fujitsu.com









