録画人間の末路 -

人は記録をしながらじゃないと生きていけない

対決!? CUDA対SpursEngine

2009-02-14 00:42:32 | FIRECODER Blu/SpursEngine
例のパブコメ、書いてますが、こちらみたいにスパッと法律や条項に照らし合わせてうまく書けないですねぇ。どうしても半ば「納得のいくものではない」という感情論が出てきてしまっています。おまけに、わたし、やっぱ文章ヘタだわ(笑) クセ出すぎの文しか書けない。何度かウチのブログを読んでくださった方が見れば「あ、奴が書いた」って一発で分かりそうな奴。ブログならそれでもいいんだけど、パブコメのように公式文書として提出するものだとそうはいかないし。まぁそれをさておいても、まだ問題が。この数年、長い文章書くやり方に慣れすぎて短くまとめることが出来なくなっている・・・。素人の長い文章なんてどこまで参考にしてもらえるのか、って気がしてなんとか短くしようと推敲中。目に留まるような中身にはしたいなぁ。


で、最近のびのびになっていたSpursEngineの能力調査。ただ、わたしは世間様のようにアニメで画質を比較する気にならないのですよ。と、いうのも、アニメのほとんどは30分番組。そのくらいのやつなら、CPUでやってもいいんじゃない? と思いますので。わたしとしてはCPUでやるとどれだけ時間がかかるか分からない映画のエンコードこそ本領発揮と思っております。DVD一枚に映画一本、っていう容量の目安にもなるし。

で、今回の調査には、2時間17分34秒というDVD片面一枚にはちょっと厳しい長さのもの、解像度は1440x1080.TMPGEncだけでなく、DVD MOVIE WRITERでの出力と比較したかったため、音声をリニアPCMに変更してあります。TSだとDMWが音声認識できなくて早く終わってしまい、正確な時間が把握できないので。
容量は先にも書いたとおり、DVD片面一枚に収まるように、容量95%と設定しました。モードはBDと、汎用AVC。すると
BD  3464Kbps
汎用 3926Kbps
とかなりBDが低いビットレートに。PS3などで再生が出来ればいいのなら、汎用の方がいいわけですね。
フレームレートは29.97そのままと23.976に変換したものの両方。もちろんフィルムの映画ですから23.976の方がほとんどの面で有利に決まっていますが、一応ビデオ撮りの作品も前提にする、ということで。29.97時のインターレースは保持してます。
そして、速度の結果ですが

BD23.976 01:42:40
BD29.97  01:44:53
汎用23.976 01:41:19
汎用29.97  01:50:40
DMW(3926)  01:13:05

汎用の29.97が少々遅めなのが気になりますが、それでも全て実時間を下回っています。しかし、SDの時はむしろDMWより高速だったTMPGEncも、HDとなると大分遅くなりますね。CPUがAthlon64x2 5200+とあまり強力でないので、その影響が出たものと思われます。、リサイズはしてないのですが。
肝心の画質ですが、動きの少ない箇所ではBDモードでも十分といえます。一方、動きの早い部分では手前のピントのあっている部分がかなりブロックノイズの塊のように見えますが、ボカされている部分はそこそこうまくボケているためか、注視しなければあまり目立ちません。雨の中の戦闘シーンというかなり厳しい映像で見ましたが、23.976および汎用を採用した映像なら、十分視聴に耐えました。BDの方はMPEG2のため、少々崩れが目立ちましたが、それでもそこそこ見られるレベルです。


先日N.Shim@さんからCUDAを使ったエンコード映像とその元データをいただく機会がありました。おそらくかなりの方が知っている「BD版が売れた」ことで有名な某アニメです。当然地方であるわたしの放送局では見られず、SDでレタボなCSしか見たことなかったのでHD初体験だったのですが、一目で「エンコード素材としては最悪に近い逸品」と分かるものでした。なお、N.Shim@さんがお使いになったソフトはbadaboomで、同じCUDAエンコードでもPowerDirectorより高画質といわれています。
MEDEAINFOによると、コーデックは当然H.264/AVCで、ビットレートは3328Kbps、映像時間は3分27秒分。N.Shim@さんのGeForce8800GTでは、この映像を1280x720で変換するのに3分5秒だったとのこと。では、ウチのSpursEngineでも近い条件でやってみましょう・・・が、同じビットレートを指定するとbadaboomより小さいものしか出来ませんでしたので、3600Kbpsにあげてあります。

速度結果は・・・5分21秒・・・。実時間よりやたらかかってしまいました。先の映画と比べるとずいぶんと遅い結果です。それだけでもSpursEngine使いとしては残念ですが、それ以上にがっかりさせられたのが、その画質です。

まずこちらCUDA+badaboomの映像(クリックで拡大してください)


続いてSpursEngine+TMPGEncの映像


解説するまでもないでしょう、その差は一目瞭然です。ここだけが悪いのではなく、動きの早いほぼ全てのシーンがこの調子で、比較的動きの少ないシーンに移っても数秒間画面がブロックノイズの塊から元に戻らなかったくらいです。
これではあまりにあまりなので、23.976fps化しておきます。速度は4分36秒。CUDAには及びませんが、大分マシにはなりました。さて、画質ですが



これまた全体を通して29.97fpsよりマシになりました。それでも、CUDA+badaboomには遠く及ばないのです。
今回はアニメしか比較素材がなかったために断言は出来ませんが、間違いなく言えるのはSpursEngineは速度・画質ともアニメを苦手としており、その分野で使おうとする限り、とてもお奨めできないということになります。CUDAの方が無難でしょう。

コメント (26)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« CATVでPT1を使う時にTvRockを... | トップ | 横には縦がよく似合う? »

26 コメント

コメント日が  古い順  |   新しい順
Unknown (Unknown)
2009-02-14 03:28:33
ここまで酷いとHDよりSD(又はおなじみの704x396)でエンコした方がマシと言えますね。例えば同じ4Mbpsでも2Passと1Pass、1Pass品質依存ではレートの振られ方が相当違うのですが、現在のハードウェアエンコードの限界と言える部分でしょうか。せめて1Passであっても品質依存モードがあればある程度の解決は出来るでしょうが、昔からハードウェアエンコード製品は似たような状況で、動きの激しい動画には弱いですからね。
Unknown (Unknown)
2009-02-14 04:10:43
う~む・・これはかなり微妙ですね

同じ条件でCUDA+SpursEngineだとどんな感じなんでしょう?(画質的に)

こりゃぁ、下手するとアニメ用途ではSpursEngineの分の金額をCPUかVGAに上乗せした方が良いかもしれませんね
比較ご苦労様です (N.Shim@)
2009-02-14 04:24:19
元ソースは放送波をHDUSで直接取り出し、TMPGEnc MPEG Editor 3で音声をボリューム調整で95%ノーマライズしてLPCM 1,500KbpsでMPEG2-PS出力したものになります。
(放送波自体はAAC 2chで160Kbps以下です)
映像にはカット編集以上の処理は入っておらず、スマートレンダリングされたものです。

krmmk3さんの言われているように、MPEG系で再エンコードするにはかなり性質の悪い映像ですよね。私はベンチマークするには最適だなと思っていて、最近のエンコードテストでは良く使っています。

badaboomでのエンコードはPS3向け出力テンプレートをADVANCEDで変更して使っていますが、Rate ControlをConstant QualityでHighにしており、1Pass品質依存になると思います。なので、レート/ファイルサイズは出力が終わるまで読めません。

badaboomは現在1.1.1で正規バージョンとしては3回目のリリース版なのですが、私個人はこの位の性能になってくれば実用になったなぁ、という感想です。
(実写ドラマのエンコードテストもしているんですが、こちらは1.1になったときに実用的になりました)

前からbadaboomはSD解像度出力時のI/P変換がおかしいと思っていたのですが、実は今回のテストで出力テンプレートによる違いがあることに気がつきました。
出力テンプレートにはPSPがあるのですが、PSPを選んだ上で720x480を指定すると、I/P変換時に縦解像度がBobのように半分になってしまう現象が出ていました。私はこれをずっとbadaboomの癖かと思っていたのですが、出力テンプレートがPS3の場合、この現象が起こらなかったんです。
(PSPは現在のファームでは、メモステに保存した720x480のAVCが普通に再生できます。PS3テンプレートで720x480で出力したファイルもOKでした)

badaboomは1.0の時からテンプレートがXMLで作成されており、ユーザがテンプレートを作成するための情報も公開されています。
テンプレート間でパラメータに調整が掛かっているのかもしれないので、後で確認してみます。
(元々、出力レートの上限値などは異なっているんですけどね)
やっぱだめだった (N.Shim@)
2009-02-14 05:23:43
badaboomのXMLを読んだのですが、テンプレート内でそんな個別の調整はありませんでした。

それにいくつかソースを試しましたが、PS3のテンプレートでもSD解像度ソースの場合、デインタレースにやはり難があり、全編Bob的になってしまう場合とフレームによってBob的になったりならなかったりが混在するソースがあります。

やはりbadaboomをSD解像度ソースで使うのはちょっとダメだなぁ。TMPGEncを前処理(デインタレースとか)にうまく使えるといいんだけど、どうやったら効率いいんだろう。TMPGEncで無圧縮AVIを出力するのはなんか時間がかかるし、中間ファイルとして高レートのMPEG2に一旦再エンコードするくらいなら、はなからDivXとかで出力してしまうほうが楽だしなぁ。
Unknown (emanon)
2009-02-14 07:24:25
 比較記事ありがとうございます
どちらの製品もまだ出たばかりですし5月ころには良くなるでしょうから気長に待とうかと言った所ですね
ですが、少し下処理をしないと大き目のサイズになるでしょうからフィルタが揃うまでは様子見でしょうか、そうなると時期的にGPUも省電力な物が出てきますし夏ごろまでには使えるようにしたいです

ある意味ブログの話の種には事欠かないので良いのかも知れないですね 楽しみですw
それまでにもう少し良い電源に変えておこうかな
Unknown (sazanami)
2009-02-14 10:03:29
T-MPEGでSpursEngine+CUDAを利用していますが、まだ高解像度のエンコはやっていないので何も言えません
 SD画質→WindowsCE用の映像(汎用H.264 354×240)にエンコしていますがそれを1920×1200の画面に最大化して見ても荒くならないのは何でだろうと考えています、PLAYERの性能に関わるのか画像その物の問題かがちょっとわからないですね、普通なら低解像度を引き延ばすと荒れる物だと思ってしましますが、どうなんでしょう。
Unknown (Unknown)
2009-02-14 10:28:07
結局のところ、TMPGがCUDAエンコを採用してくれるのが一番いいと思いますね。
これならフィルタも使えるわけですし。
Unknown (krmmk3)
2009-02-15 01:12:14
ネタがネタだけに、いろいろ意見ありますね。

>2009-02-14 03:28:33さん
フォローしときますと、本文にも書いていますが、「エンコード素材としては最悪」な映像だったわけですよ。こういう状態だと、よほどビットレートを高くしない限り、固定量子のようなアニメ向けのやり方じゃないと厳しいということなんです。わたしとしてはむしろ速度の遅さが気になりました。

>2009-02-14 04:10:43さん
TMPGEncだと、CUDAはフィルタだけですからねぇ。CPUでやるときより速度は速くなるでしょうけど、画質は決定的には変わらないかと。
30分アニメはCPUでやるのがベストと思います。いろんな意味で。

>N.Shim@さん
どうもありがとうございました。
badaboomは体験版でちょっと使っただけなのであまり詳しくないのですが、YOUTUBE向けで設定するとビットレート指定だったように思ったのですが、PS3だと固定量子型エンコードになるのですね。
確かに十分実用的な画質ですね。23.976fps化が欲しいところですが。
SDは苦手ですか・・・ポータブルかHDか、両極端なエンコードが得意でも、結構使えますからまぁしょうがないですね。

>emanonさん
確かにもうちょっと煮詰めが欲しいところですが、SpursEngineがそれ目的にしかならないのに対し、GPGPUはCUDAだけが目的ではありませんから、迷うのならGeForceのいいの買っとけ、ってとこですか。電力まで考えますと、やはり9600GTあたりがベストかな?

>sazanamiさん
見ないとなんとも言えませんが、拡大に使っているプレイヤーが優秀、と考えるのが自然でしょう。4:3画質というのも多少関係あるかも。

>2009-02-14 10:28:07さん
SpursEngineもまだ伸びる可能性を秘めていますけど、柔軟さという点でGPGPUのエンコードが期待できそうですね。もちろんエンジン次第なんでしょうけど。
Unknown (takeshi)
2009-02-15 03:00:39
すみません、CUDA+badaboomの時点で放送ソースよりかなり劣化しているのですが、これは1Passの3Mbpsくらいのエンコードだからなのでしょうか?
Unknown (Unknown)
2009-02-15 04:03:21
>takeshiさん
解像度の問題では?
フルHDで3MbpsとSDで3Mbpsでは、1フレーム辺りの圧縮率は全く違いますから

ソースでは、この部分非常に動き激しかったように見えますし、「動きが激しい+解像度に対してビットレートが低い」と重なればどうしても荒くなると思われます

コメントを投稿

FIRECODER Blu/SpursEngine」カテゴリの最新記事