ビデオのエンコード

キャプチャーした動画をBDMVフォーマットの動画にエンコードします。
PCでも再生できて、ブルーレイ・ディスクに焼いてBDレコーダーで見ることもできるようにしたいと思います。 基本的に、たくさんの手間・時間を要しますが、その中でも手抜きできるところは手抜きするようにします。

エンコードにはPEGASYS社の「TMPGEnc Video Mastering Works 5」というソフトウェアを使用します。 このソフトは有料で、ダウンロード版は9,800円します。高いでしょうか? でも動画の編集のし易いことや、エンコードの設定も簡単なので、これを使います。 大量のビデオを処理しないといけないので、使いやすさが何よりも優先します。
(その一方、非常に詳細な設定もできるので、初心者も、こだわり派の方も満足すると思います。)

あらかじめ、作成する動画の仕様を決めておきます。
 BDMVフォーマット
 動画のコンテナは、MPEG2-TS
 映像は、MPEG-4 AVC/H.264、プロファイルはMain@Lv3
 固定ビットレート 2400kbps、インターレース保持
 音声は、Dolby Digital (AC3) 256kbps

もう一言。エンコード処理では、かなりの電力を消費します。電力不足、節電などと言われている状況(2012年時点)です。 夜間、寝ている間にエンコードすることをお勧めします。寝ている間に、複数の動画のエンコードをする方法も説明していますので、参考にしてください。


TMPGEnc Video Mastering Works 5 (以降、TVMW5と表記します)を起動します。
とりあえず、環境設定をします。「環境設定」ボタンを押します。


特に設定を変える必要はないのですが、動画の保存先や自分で作ったテンプレートの保存先は把握しておきたいので設定してみましょう。 「出力ファイル」のパスは、エンコードした動画ファイルの格納先になります。 「アプリケーションデータ保存先」のパスは、自分で作成したテンプレートの格納先になります。


「ノーマルモード」を選択してから「新規プロジェクト」ボタンを押します。


追加ウィザードが開きます。エンコード対象はMPEG-2の動画なので「ファイルから追加する」を選択します。


キャプチャーした動画(拡張子が m2v)を選択して開きます。


動画ファイルの情報が表示されるので、確認します。
  映像の種類:インターレース
  フィールドオーダー:トップフィールドが先に表示される
  アスペクト比:ピクセル比 10:11 (NTSC 4:3)
  フレームレート:29.97 fps
映像ファイルしか指定していなかったのですが、音声ファイルも自動的に入力されています。 空欄だったり、間違ったファイル名が入力されていたら、正しいものを指定してください。 問題なければ「OK」ボタンを押します。


カット編集の画面になります。各ボタンの操作はヘルプ等で確認してください。
シークバー等を操作して、エンコードしたい番組の先頭部分を表示させて「開始フレーム」として設定します。


番組の終わりの部分を表示させて「終了フレーム」として設定します。
余談ですが、プレビュー画面の下に帯状に映像が並んでいます。今見ている映像の前後の映像も見えるので、 探しているフレームを簡単に見つけることができます。動きもスムーズです。これが、私がこのソフトを選んだ理由の一つです。


次はフィルターの設定をしていきます。いろいろフィルターを使うとエンコードに時間がかかるので最低限のものだけ使用します。 この画面は「インターレース解除」の設定ですが、デフォルトのままでよいです。 エンコードの設定の画面でインターレースについて設定できるので、ここでは何も設定を変更しません。


オプションのフィルターを追加したいので、左下の「フィルター編集」ボタンを押します。


「高精度映像ノイズ除去」を追加します。「高精度映像ノイズ除去」を選択してから「追加」ボタンを押します。 これで左の一覧にフィルターが追加されます。
この「高精度映像ノイズ除去」を使用するとエンコードにかなり時間が掛かります。 エンコード時間を短くしたい方は、「映像ノイズ除去」を使用してください。 「映像ノイズ除去」の設定については後述します。
「映像ノイズ除去」の説明部分へ飛ぶ


フィルターの適用順序を変えます。フィルターは一覧の上から順番に適用されます。 ノイズ除去をしてから輪郭強調をしたいので、「高精度映像ノイズ除去」を選択状態にして、 「上へ」ボタンを押し、輪郭強調より上位になるようにします。 設定が終わったら「OK」ボタンを押します。


「高精度映像ノイズ除去」のパラメーターを設定します。以下のように設定しています。
  [v]高精度映像ノイズ除去を有効にする
  強さ :160
  範囲 :普通(普通)
     [v]時間軸方向にもノイズを検索する
強さの値を大きくするとノイズはより強く除去されますが、同時に細部が消えてしまいますので注意してください。 「時間軸方向にもノイズを検索する」を有効にすると効果的にノイズが取れますが、エンコードにかかる時間が長くなります。


「高精度映像ノイズ除去」のパラメーターに「ディテール保存重視」というものがあります。 図では以下のように設定しています。
  [v]高精度映像ノイズ除去を有効にする
  強さ :160
  範囲 :普通(普通) - ディテール保存重視
     [v]時間軸方向にもノイズを検索する
「普通(普通) - ディテール保存重視」は「普通(普通)」と比較すると、 文字通り細部が潰れにくくなっています。 ただし、「普通(普通)」と比較すると若干ノイズが残っていることがあります。
このページの下のほうで、もう少しノイズ除去の設定を見直す説明があります。 ご覧になりたい方は、下のリンクをクリックしてください。

「ノイズ除去の設定を詰めてみる」の説明部分へ飛ぶ



輪郭強調フィルターの設定をします。ノイズ除去を使うと、どうしても映像がぼやけてしまうので、クッキリ感を出させます。 図では、以下のように設定しています。
  [v]輪郭強調を有効にする
    輪郭強調の強さ :90
    輪郭強調の範囲 :やや広い
図では強めに設定しています。強くかけすぎると黒い線(輪郭線)の周囲が白くなったりするので注意してください。 この図でも、黒い線の周囲が少し白くなっている部分がありますが、ぱっと見た感じ問題ないと考えて強くかけています。


音声ボリューム調整の設定をします。ここでは「ノーマライズ」を指定しています。 どれくらいの音量に調整されるのかを確認するには「プレビュー用検索実行」ボタンを押してください。 ただ、「プレビュー用検索実行」は必ずしも実行する必要はありません。これはあくまで確認用の機能です。 本当の音量調整は、エンコード実行時に行われます。時間を節約したい場合は、プレビューする必要はありません。
ノーマライズは、波形が壊れない程度に音量を最大化します。これでもいいのですが、次のような音量調整方法があります。


音量均一化です。均一化方法は「平均」にします。 これは、二乗平均平方根(RMS)という方法で音量を均一化します。
RMSについて詳しく知りたい方は、検索してみてください。 映像関連サイトではなく、音響関連サイト、DTM関連サイト、(電気系)楽器関連サイトなどを探すと詳しい説明が見つかります。

これのメリットは、(音響工学・電気工学的な意味は横に置いて)耳で聞いた音量の感じ方が均一になるということです。 寄せ集めBEST-CDを作る時でも、RMSで音量を調整しておくと聞いた感じの音量が均一になります。 ぜひこちらを使ってみて下さい。 ただ注意点があります。ノーマライズは波形の最大値を探して波形が壊れないように音量を調整しますが、RMSの方法では 設定を間違うと波形の振幅の許容範囲(*1)を超えてしまうことがあります。ただしTVMW5は、許容範囲を超えた波形部分はコンプレッサー(音響・DTM用語)で うまく処理してくれるようです。とはいえ、設定はほどほどの値にしましょう。

音楽CDの場合平均レベルは -13.0dB〜-11.0dB くらいです。(たまに -9.0dBっていうのもありますが…)
アニメ・ドラマのDVDなどは、-30dB〜-20dB くらいで、ある程度音量を抑えています。
で、ここのフィルターの設定値はどうすればよいかですが、-20dB 辺りがよいかと思います。 ただ、これでもDVDよりも音量が大きく感じるかもしれません。お好みで、もう少し音量を下げてもいいです。

CDのように大きな音量にしたい場合(-10dBとか)は、DTMの勉強をしてコンプレッサーの正しい使い方を勉強しないといけないようです。 私は、ちょっとその辺は分かりません。そもそもコンプレッサーを使う場合は、音声だけを別のアプリケーションで処理する必要が出てきます。

(*1)振幅の許容範囲:WAVフォーマットの符号付16ビットであれば、振幅の範囲は -32768〜+32767 となります。



-20dB で出力した音声の波形のサンプルです。


フィルターの設定が終わったら、この設定を保存しましょう。 左下にある「テンプレート保存」ボタンを押して、分かりやすい名前を付けて保存してください。 次回から、このテンプレートを使えば、細かいパラメーターの設定が不要になります。


右下の「OK」ボタンを押します。


動画(クリップ)の編集が終わりました。「出力設定」ボタンを押します。


出力フォーマット選択画面が出ます。
前に説明していたような仕様になるように設定します。
左ペイン(ツリービュー?)で、「Blu-ray向けMPEGファイル」を選択します。 あとは、図のように設定してください。次に「選択」ボタンを押します。
ちなみに、いまさらですが固定ビットレートにしたのは時間短縮のためです。 可変ビットレートは2パス方式なのでエンコード時間が2倍くらいになってしまいます。


この画面ではビットレートを指定します。「平均映像ビットレート」を「2400」にします。
なぜ2400kbpsにしたのか?適当です、すみません。理想を言うと、2パス可変ビットレートにすれば、ビットレートを落とせます。 また、しっかりノイズを除去できていれば、さらにビットレートを落とせます。 アニメやCGなら、さらにビットレートを落とせます。良い条件がそろえば、800kbpsでも可能でしょう。 いわゆる「職人」レベルの仕事になってしまうので、私には無理です。
一応、アニメ番組半期分の26話がBD1層に収まればいいかな、くらいの考えで設定しています。
設定が終わったら「OK」ボタンを押します。

もしかすると、「古いビデオのノイズ感が好きだから、あえてノイズ除去はしない!」という方もいるかもしれません。 ノイズが多く、そのノイズ感をちゃんと再現したい場合は、ビットレートは高めのほうがいいかもしれません。 ビットレートが低いと複雑なノイズをうまく符号化できずに、 再生した時に、デジタル映像特有のノイズ(ブロックノイズ、モスキートノイズなど)を発生させる可能性があります。 ノイズを残したい方は、いろいろビットレートを変えてエンコードして納得のいくビットレートを探してみてください。



ここでは、エンコードの詳細設定が出来ます。 先ほどのまでの画面は設定ウィザードのようなもので、最終的な設定はここで行います。 この図は、映像部分のエンコードの設定です。 ここで変更するのは、プロファイルを「Main」にする程度です。


この画面では音声のエンコードについて設定をします。特に変更する必要はありません。


エンコードの設定ができました。左下の「保存」ボタンを押して、この設定を保存しておきましょう。 次回からは、この保存したテンプレートを読み込むだけでエンコードの設定は終わります。


「エンコード」ボタンを押します。


出力ファイル名は、入力動画の名前になっているので、適当に変更しましょう。 拡張子は「m2t」になっています。あまり見ない拡張子ですが、このままで問題ありません。
「出力開始」ボタンを押すとエンコードが始まりますが、今回はこれを使いません。 数番組〜数十番組の出力設定を「バッチ」処理させます。沢山の動画エンコードを予約登録しておいて バッチ処理を開始させると、勝手に全てのエンコード処理をしてくれます。 外出中や、就寝中に複数の動画のエンコードを行わせるわけです。
「バッチ登録」ボタンを押してください。


図のようなウィンドウが出てきます(表示されるまで、すこし時間がかかります)。 ここまでで設定してきた1件のエンコード設定が登録されました。 ここには、入力ファイルが何で、どういった編集をして、どんな設定でエンコードするかといった 必要な情報を全て含んでいます。 このため、TVMW5メインウィンドウに戻って新規プロジェクトを開始しても、バッチ登録した内容に影響はありません。


次の番組のエンコード設定をしましょう。「編集」ボタンを押してください。 (別の動画ファイルを読み込んで処理したい場合は、「スタート」ボタンを押してください。)


クリップ(オレンジ色の部分)をダブルクリックすると編集画面が表示されます。
ここから先は、これまでに説明してきたことを繰り返すだけです。 異なるのは、自分で作成したテンプレート(設定)を読み込めば、細かいパラメーター設定が不要になる点です。


次の番組の範囲を設定します。


フィルター設定画面では、「テンプレートを開く」を押して、保存しておいたテンプレートを読み込みます。 必要に応じて、パラメーターを微調整しても構いません。
私の場合、最初は映像を確認して設定の微調整をしていましたが、だんだん面倒になってテンプレートを 読み込んで「設定終了!」という状態になりました。 多少ノイズが残っててもいいや!細部がちょっと消えてもビデオ鑑賞に影響ないない!という心境です。 (最初はそれなりにこだわっていたのに… orz)


次は出力設定です。


先ほど設定した内容がそのまま残っています。このままエンコードへ進んでもいいのですが、ここでは作成したテンプレートを読み込んでみましょう。 左下の「削除」ボタンを押して設定を消してください。


「追加」ボタンを押します。


出力フォーマット選択画面が開きます。左側のツリービューに「ユーザー作成出力テンプレート」というフォルダがあり、 そこに自分で作成したテンプレートがあります。これを選択してください。


テンプレートの設定が読み込まれました。内容を確認して問題なければ「エンコード」ボタンをおします。
(一切設定の変更が要らないので、慣れてきたら内容を確認せずにエンコードに進むようになるかもしれません。)


ファイル名を修正して、「バッチ登録」ボタンを押します。


どんどんバッチ登録をします。必要なだけ登録をしたらエンコードを開始しましょう。 「バッチ開始」ボタンを押します。


エンコード中の画面です。


エンコードが終了しました。「全て削除」ボタンを押して、登録してあるジョブ(プロジェクト)を全て消します。 続けて別のキャプチャー動画のエンコードをする場合は、 TVMW5メインウィンドウに戻り「スタート」ボタンを押して新規プロジェクトを開始しましょう。 この場合は、バッチエンコードツールのウィンドウは消さずに置いておきましょう。 (消すと、後でバッチ登録する際、しばらくバッチのウィンドウが表示されるのを待つことになります。)
ちょっと追記しておきます。
バッチエンコードをしている時でも、TVMW5メインウィンドウに戻り作業ができます。 クリップの編集・エンコード設定をして、新しいジョブを追加できます。 ただし、バッチ処理中はCPUの負荷が高くなっているので、クリップの編集の時の動作が重たくなります。 でも出来ないこともないです。


エンコードして作成された動画ファイルです。 Media Player Classic (Home Cinema) 等で再生テストをしてみてください。
これでエンコードについての説明を終わります。


 

通常の「映像ノイズ除去」を使用する場合
上の方で説明にあったように、「高精度映像ノイズ除去」を使用するとエンコードに結構時間が掛かります。 気になる方は、最初からフィルター一覧に登録されている「映像ノイズ除去」を使用してみてください。

「高精度映像ノイズ除去」の方がノイズ除去の性能が高いのですが、細かい所にこだわらなければ「映像ノイズ除去」でも十分にノイズが取れます。

私の場合、習慣的に「高精度映像ノイズ除去」を使っていたので、上の説明でもそうしていました。 ところが「映像ノイズ除去」を使ってみたところ、かなりの時間短縮になりました。

30分番組のエンコードでは、「高精度映像ノイズ除去」で1時間30分強かかっていましたが、 「映像ノイズ除去」では20分でエンコードが終わりました。

大量のビデオを処理することが前提ですので、時間、電気代、省エネなどを考えると「映像ノイズ除去」でもいいのかもしれません。



映像ノイズ除去を有効にします。ここには2種類の設定があります。「ノイズ除去」と「ノイズ除去(時間軸)」です。
まず「ノイズ除去」の設定ですが、ここでは以下のように設定しています。
■ノイズ除去タブ
  [v]ノイズ除去を有効にする
    静止画の強さ  :30
    ノイズ検索範囲 :やや広い(普通)

ここで設定しているノイズ除去は動画の各フレームを1枚の画としてノイズ除去をします。 強くノイズ除去させると、細部がつぶれてしまいます。もう一つの時間軸方向のものよりも簡単に細部がつぶれますので注意してください。

暗いシーンなどで確認してみると分かりやすいのですが、「静止画の強さ」の設定値を1、2、3、と上げていくとどんどん細部が潰れてゆきます。 「ノイズを取る」ことと「細部を潰さないようにする」ことを天秤に掛けて、設定を考える必要があります。

アニメの場合は、同じ色でベタ塗りされている部分が多いので、このノイズ除去も使えますが、 実写モノでこれを使うと、結構のっぺりした映像になります。



次は「ノイズ除去(時間軸)」の設定です。ここでは以下のように設定しています。
■ノイズ除去(時間軸)タブ
  [v]ノイズ除去(時間軸)を有効にする
    時間方向の強さ :70
    ノイズ検索範囲 :やや広い(普通)

この処理では前後のフレームの映像と比較してノイズを取ります。こちらは、静止画のノイズ除去と比べると、強めに設定しても細部がつぶれにくいです。 とはいえ、設定値が低くても必ず細部は潰れます。 やっぱり、「ノイズを取る」ことと「細部を潰さないようにする」ことを天秤に掛けて、設定を考える必要があります。



実際に処理した結果です。1時間30だったものが、20分と短時間になったので驚きました。
ちなみに使用しているCPUは「Core i7 860 (2.8GHz) Socket1156」です。第一世代のCore i7だと思います。 最新のCPUだともっと早くなるのでしょうか。


 

ノイズ除去の設定を詰めてみる
しつこくて申し訳ないのですが、もう少しノイズ除去の設定を見直してみます。 特に細部を潰さない設定を模索してみます。


このシーンの黄色い線で囲った部分(天井部分)に描いてある黒い線に着目して、ノイズ除去の設定をいくつか試してみます。


No.
画像
設定
1 ノイズ除去無効
2 高精度ノイズ除去
  強さ 160
  範囲 普通(普通)
  [v]時間軸方向にもノイズ検索する
3 高精度ノイズ除去
  強さ 160
  範囲 普通(普通) - ディテール保存重視
  [v]時間軸方向にもノイズ検索する
4 映像ノイズ除去
  ノイズ除去:無効
  ノイズ除去(時間軸):有効
    時間方向の強さ 70
    ノイズ検索範囲 やや広い(普通)
5 映像ノイズ除去
  ノイズ除去:有効
    静止画の強さ 60
    ノイズ検索範囲 やや広い(普通)
  ノイズ除去(時間軸):有効 (パラメーターは同上)
6 映像ノイズ除去
  ノイズ除去:有効
    静止画の強さ 30
    ノイズ検索範囲 やや広い(普通)
  ノイズ除去(時間軸):有効 (パラメーターは同上)
7 映像ノイズ除去
  ノイズ除去:有効
    静止画の強さ 12
    ノイズ検索範囲 やや広い(普通)
  ノイズ除去(時間軸):有効 (パラメーターは同上)
画像が見やすくなるように背景を暗くしてあります。
どうでしょうか?

まず、上の5番、6番を見ると、映像ノイズ除去の「静止画の強さ」の値を大きくした場合(30ですら)細部が潰れているのが分かると思います。 「静止画の強さ」は極力小さな値にする必要がありそうです。ただ、4番、ノイズ除去(時間軸)だけではノイズが残ってしまっています。 アニメはベタ塗り部分が多いのでノイズが目立ちますね。(実写の場合は目立たないんですが。)

あとは2番、3番、7番のどれが良いのかという話になるのですが、似たり寄ったりでしょうか。エンコード時間の短縮を考えるのなら、7番の設定がいいですね。

ただ、この考察もこのシーン(1枚の絵)に限った話です。明るいシーンではノイズの取れ具合が違ってきます。 番組によっては、電波の状態によってノイズの酷いもの、ノイズの少ないものもありますので、この場合もノイズの取れ具合が違います。 ビデオテープやビデオデッキの状態が原因で出るノイズだと、これもまたノイズの取れ具合が違います。
いろいろエンコードして再生してみた印象では、アニメに限りますが「高精度ノイズ除去」がノイズ除去の能力は高いです。

今、4番のノイズ除去(時間軸)のみの設定を否定しましたが、多少ノイズが残ってもいいから細部の潰れない設定がいいと思う方は、4番もありですよね。

決定的な設定はないと思いますが、沢山の番組をエンコードしないといけないので、いちいち映像の状態をチェックして設定を変えるわけにもいきません。 ある程度割り切って、アニメ用設定標準、アニメ用設定高精度、実写用設定、など数種類の設定をテンプレートとして準備するくらいでいいのかな、と思います。

どう設定するにしても、ノイズ除去をすると必ずある程度細部が潰れてしまいます。
ノイズ除去は、電波放送時や、録画・再生時に生じたノイズを取って、 オリジナルの綺麗な映像に近づけたいという意図もありますが、同時に細部を潰して映像を劣化させています。
絵を描いたアニメスタッフからすると、「頑張って描いたのに、手を加えるなよ」と考えるかもしれません。 手間をかけてモノを作ったことがある人なら容易に想像できることです。
たかがノイズ除去で何を語っているのか!と思われるかもしれませんが、 映像製作に携わった方々への敬意を持って、その映像に手を加えるという作業をしたいところです。(全く私的な考えでした。申し訳ありません。)


Back