« 三谷幸喜作・演出「90ミニッツ」@PARCO劇場 | トップページ | 原恵一監督「カラフル」 »

2012年2月22日 (水)

H.264 HDエンコード大研究 CUDAも手を出してみる

ほうじ茶にハマっている私が八橋壮太朗です。

HDVで撮影した映像がいくつかあって、それをいい加減にデータ化・整理しよう!ということで始めたハイビジョンビデオのH.264エンコード。いかに小さい容量で高画質に変換するかを大研究してみました。

ネットで検索すると、いろんな情報が出てきます。いろんなツールもありますし、デコーダーを速くする方法とか、フィルターを活用するとか、設定やパラメータの情報がいっぱい。フリーソフトじゃなくて有料ソフトもあります。試せば試すほど、納得いくまで探ってみたくなるのがエンコード。

私のエンコードに対する志向を書きます。
画質を追い求めるのか、容量の小ささを追い求めるのか、どういうハードウェアで再生するつもりなのか。

まず、データ容量を小さくすることが最優先。
次に、ハイビジョン画質の意味がある品質は保つこと。
つまり解像度は下げない。フルHDならフルHDの解像度である意味がある画質をぎりぎりキープしたい。ちなみにHDVは1440x1080ですが。地デジも1440x1080。BS放送は1920x1080。
解像度を下げたほうがキレイに見えるようなレベルは避けたい。
こういう条件を考えると、エンコードスピードより品質優先ということになります。
あとは、エンコード時間が現実的かどうか。ま、寝てる間に1時間のムービーが3~4本は生成していたいですね。
再生互換性を保ちたいハードウエアはPS3。ホントはWindowsPCとMacで再生できれば満足なんですが。PS3で再生できれば、だいたいのパソコンで再生できます。

現時点(2012年2月)で手に入りそうなフリーウェアを中心に、エンコードソフトを探ってみました。

あ、とりあえずCUDAについて言及しましょう。
CUDAというのはNVIDIAのグラフィックボードの演算力を使う技術です。CPUよりも画像処理に特化しているグラフィックプロセッサーの処理能力を、PCのグラフィック表示以外の演算にも活用するということです。まあ、3Dゲームをやるときぐらいしか活用されないグラフィック性能ですが、これを使えればハンパ無く演算力がUPするはず。なぜなら、ハイビジョン映像を3つ4つ同時に表示しても大丈夫なぐらいパワーがあるんですから。

しかし。もう結論から言います。CUDAダメ。CUDAの演算スピードはハンパ無く速いんですが、まだまだエンコードソフトの出来が良くないようです。どのソフトを使っても、実際にCUDAを利用してエンコードする部分のプログラムが、ほとんど同じっぽいです。ちなみに、ビットレードを低くしなければ、驚きのスピードでH.264が生成されます。しかも画質も悪くはない。「悪くは無い」です。6Mpbsとか8Mbpsだと、すんげぇ速いです。マジでビビります。

さて、CUDAは使わないということで、CPUパワーで頑張ります。

●MediaCoder
出ました。これね、難しいソフトなんですよ。設定がいくらでもいじれますけど。はっきり言って、このソフトを使いこなせるようになってまで変換したいムービーはありません。うまく使いこなせれば、最も満足のいく設定のムービーが、それなりの変換速度で生成できると思います。しかし、リスクがある。ちゃんと設定できているのか?細かいパラメーターが正しく設定できているのか分からない。そして、変換中にソフトがフリーズしたり落ちることもある。そして最も起こりうるリスクは音ズレです。音ズレを自分で意識して何度も試す気がないと使えません。それぐらい音ズレしやすいソフトです。なので使いたくないです。

●Freemake Video Converter
これ、とても使いやすいです。インタフェースもシンプル。おすすめです。変換スピードも、CUDAを不使用にしても速いほうです。ちなみに、設定でCUDAをOFFにするのを忘れてはいけません。CUDAが有効だと、変換スピードが超速だけど、画質は微妙というファイルが生成されます。
注意が必要なところがいくつかあって、まずビットレートを設定しても、設定したほど小さくならない場合があります。たぶん、エンコーダーに設定できる最低ビットレートを下回ると無視されるようです。
あと、アスペクト比も注意。正方ピクセルでしか生成できません。1440x1080ピクセルの映像は、スクイーズ状態になっているわけですが、同じ状態で変換できません。1920x1080にリサイズされてしまいます。
そして、インターレース除去フィルターを自分でいじれませんが、このフィルターがクセモノ。decombフィルタを使っているんだろうけど、ちょっとシャープさに欠ける。動きの激しい映像でも、櫛状に見えることは無いぐらい品質はいいんですが、代わりに髪の毛や明朝体フォントなどはエッジがボケて見えたり、ビビッドすぎたりします。
ただ、人にススメるには最適のソフトです。わかりやすいし、再生がおかしくなることもないし、音ズレもしないし、画質もいいし、変換速度も速い。ただ、CUDAをオフにして2Passにすることだけ守れば大丈夫。再生互換性もバッチリ。不要なシーンをカットする編集機能も便利です。

●handbrake
ま、このソフトは慣れないと使いづらいですが、慣れると一番信頼できるソフトだと思います。今回、いろいろなソフトをいじってみましたが、このソフトが優秀なのは、初期設定やプリセットが、ものすごく良い設定になっていることです。詳細設定はいじれますが、いじる必要はありません。インターレース処理と解像度設定さえしていれば、あとはビットレートやクオリティを考えるだけ。いやあ、慣れると優秀です。
インターレース解除フィルターは、decombは使いません。deinterlaceの「slow」を使います。
そうそう、このソフトはMacでもWindowsでも利用できるので、そこも大きな利点です。

ということで、個人的に信頼しているのはhandbrake。カット編集したい時、再生互換性を優先したいとき、ちょっと変換スピードを短くしたいときにはFreemake Video Converter。

全てに共通して設定していることは、2pass VBR Video1800kbps Audio160kbps (total 2000kbps)ということ。これぐらいにすると、ハイビジョン映像が、それなりにハイビジョンである品質を残しつつ容量が小さくなります。だいたい、1時間のムービーファイルで1GB前後になります。
ちなみにFreemake Video ConverterでFullHDを扱うと、どうやっても2400kbpsぐらいまでしか下げられないようですが、それでも問題ないです。

いつの日か、CUDAで精度の高いH.264変換ができるプログラムを書いてもらえる時代が来ますように…。

« 三谷幸喜作・演出「90ミニッツ」@PARCO劇場 | トップページ | 原恵一監督「カラフル」 »

家電/AV」カテゴリの記事

コメント

CUDAのエンコードは、ドライバーに含まれている『nvcuvenc32.dll』などのファイルを利用するようです。そのためエンコード用のDLLの出来で左右されるみたいです。また最近のドライバーにはnvcuvenc32.dll等が含まれていないようで、CUDAによるエンコード自体が出来ないようです(TVMW5など)

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/472600/44160070

この記事へのトラックバック一覧です: H.264 HDエンコード大研究 CUDAも手を出してみる:

« 三谷幸喜作・演出「90ミニッツ」@PARCO劇場 | トップページ | 原恵一監督「カラフル」 »

リンク

フォト

VCおすすめ

  • ロリポップってエンジニアが優秀なんですよね。
  • じゃらんは優秀です。振り返ってみればだいたい使う。
無料ブログはココログ