動画のエンコード方法/コーデック別画質徹底比較

Last-modified: 2009-01-27 (火) 21:34:14

コーデック別に画質を徹底追求する

ここでは各コーデック別に画質を徹底比較していきます。ZENのような小さな画面ではこういった比較は非常に無意味なものになりがちではあります。ポータブルデバイス用の比較になりますため、PC用の非可逆圧縮動画を競い合いますDTV板の「コーデック最強決定戦」に出てまいりますようなもの程には細かくありませんが、何かのご参考までにご覧いただけましたらと思います。

比較用に画面をパン(水平に動かす撮影方法)させながら、動いている自動車を追うという、恐らく動画をご存知の方ならこれほどMPEG4に劣悪な環境はないという条件で撮影を行わせていただいておりますため、画面がそれほど動きにくい動画がソースの場合では、ここまで酷い結果は出にくいというのを前提にご覧いただけましたら・・・と思います。

このページは画質を徹底的に比較いただきますため、サンプルは全て可逆圧縮のPNG形式で保存されております。大変申し訳ございませんが回線速度によりましては重くなる場合がございます。
・このページの全ての画像はサムネール表示されておりますため、クリックして拡大してください。

各動画の仕様

ここではデジタルカメラのムービー機能によって撮影されました動画を、公平性を出しますため一旦無圧縮AVIに書き出し、それを使用しまして各エンコーダで圧縮を行いました。

コーデックコンテナ長さCFR/VFRCBR/VBRfpsビットレート(Video+Audio)容量
無圧縮AVI21秒CFRCBR30無圧縮24bit+44.1KHz/16bit/Stereo/PCM385MB
XvidAVI21秒CFRCBR30800kbps+44.1KHz/16bit/Stereo/128kbps2.48MB
XvidAVI21秒CFRCBR301000kbps+44.1KHz/16bit/Stereo/128kbps3.12MB
Motion-JPEGAVI21秒CFRCBR30800kbps+44.1KHz/16bit/Stereo/128kbps4.96MB
Motion-JPEGAVI21秒CFRCBR303200kbps+44.1KHz/16bit/Stereo/128kbps8.83MB
WMV9WMV21秒CFRCBR30800kbps+44.1KHz/16bit/Stereo128kbps2.23MB
WMV9WMV21秒CFRCBR30850kbps+44.1KHz/16bit/Stereo128kbps2.44MB

サポートビットレート内画質比較

ここではまず、Creativeがサポートを行っているビットレート内での画質比較を行っていきます。比較しやすいように、元ソースのデータも載せておきます。

コーデックコンテナ長さCFR/VFRCBR/VBRfpsビットレート(Video+Audio)容量
無圧縮AVI21秒CFRCBR30無圧縮24bit+44.1KHz/16bit/Stereo/PCM385MB
XvidAVI21秒CFRCBR30800kbps+44.1KHz/16bit/Stereo/128kbps2.48MB
Motion-JPEGAVI21秒CFRCBR30800kbps+44.1KHz/16bit/Stereo/128kbps4.96MB
WMV9WMV21秒CFRCBR30800kbps+44.1KHz/16bit/Stereo128kbps2.23MB

元ソース「無圧縮AVI(AVI2.0)」

全てのエンコーダ、編集ソフトで読み込み可能な無圧縮AVI。エンコードのテスト素材などにも非常に向いてます。HDDの大容量化が可能になりました最近ではそれほど敬遠されます事も少なくなりました。全てのフレームがキーフレーム扱いですので、どこで切り出しましても大丈夫です。
今回の比較には以下のポイントにご注目いただきながらご覧ください。
codec_avi20_01.png

Xvid 800kbps

ZENではWMVと並んで最もポピュラーなコーデックとなりましたXvid。今回はffmpegによって付けられるオプションを全て実装しました上でのエンコードです(ZENで再生できる範囲内で)。エンコード時間は全コーデック中最長となりましたが、結果は思いました以上に振るいませんでした。劣悪な撮影環境下ではXvidは諸刃の剣となりえます。
codec_xvid800kbps01.png

特に酷く出てしまいましたのが座席の模様でしたが、座席の形すらも判別できませんほどにブロックノイズに侵食されています。後ろのパイプに関しましては既に直線ではなくなる等、画面はお世辞にも綺麗とは言いがたい状況です。「次の画像は前の画像とほぼ同じである」事が大前提のXvidには劣悪極まりない状況となりました。静止している部分に関しましては800kbpsでも非常にクリアな画面を描いています。

Motion-JPEG 800kbps

ZENでは使われます事の少ないMotion-JPEG。デバイスへの再生負担が最も軽いコーデックですのは他ページでも取り上げてます通りではありますが、そのトレードオフとしまして非常に容量食いという欠点を持ち合わせています。エンコーダはffmpegとなります。
codec_mjpeg800kbps01.png

画質自体は悪くありませんが、建物のタイル地が全て消えて非常に平面的な画面になってしまいました。この他、上のXvidは「静止している部分は非常に綺麗」なのに対して、Motion-JPEGの800kbpsでは「静止していても動いていても画質があまり変わらない」という結果になっています。これはMotion-JPEG自体がフレーム間圧縮を使わず、全てのフレームをキーフレームとして全圧縮をかけますところに原因があります。

WMV9 800kbps

ZENでは最も再生時の負担が最も高いとされていますWMV9。ポータブル機最大の欠点として、その再生時の高い負担から厳しい制限を設けられており、ある一定以上の画質が得られない仕様になっています。
codec_wmv800kbps01.png

WMV9はMicrosoftが自身を持っているだけの事はあり、この劣悪なソースにも関わらず、建物のタイル地をほぼ再現しきっている辺りなど、目を見張るものがあります。残念ながら座席の模様は消えて非常に平べったい画面を作り出しておりますが、初心者の方でも始めからこの画質を得られると考えればその効果は非常に大きいといえます。

ZENで再生できる限界ビットレートでの画質比較

次にZENで再生できる限界ビットレートでの画質比較を行っていきます。この画質比較はZENの画面にフルで表示させます動画での限界になりますため、ワイド画面(上下に黒い帯を入れるタイプ)での限界ではありません。また、Motion-JPEGに関しましてはCreativeサポート外になりますため、試されます場合にはご注意ください。この比較では以下のファイルを対象としています。

コーデックコンテナ長さCFR/VFRCBR/VBRfpsビットレート(Video+Audio)容量
XvidAVI21秒CFRCBR301000kbps+44.1KHz/16bit/Stereo/128kbps3.12MB
Motion-JPEGAVI21秒CFRCBR303200kbps+44.1KHz/16bit/Stereo/128kbps8.83MB
WMV9WMV21秒CFRCBR30800kbps+44.1KHz/16bit/Stereo128kbps2.23MB

Xvid 1000kbps

ZENで画面フルに再生をかけました場合、この辺りのビットレートが限界となります。静止している場面の多い動画では気持ちビットレートを上げられるかもしれませんが、動きの激しいこのような場面では非常に引っ掛かりが気になってしまうかと思います。
codec_xvid1000kbps01.png

ビットレートを上げました分、幾分か800kbpsの時よりかは改善点が見られますが、それでもパイプの直線が若干歪むなど、難点は挙げ切れません。
先ほどの800kbpsテストでもそうでしたが、やはりこういった画面をパンしながら動いているものを追うようなソースの場合、Xvidは明らかに不利です。こうした事から、サッカーの試合などでは動いています被写体がさらに増えますため、もっと酷い状況になる事は想像に難くありません

Motion-JPEG 3200kbps

ffmpegの最新版ではこの近辺のビットレートが最大となります。これ以上にビットレートを上げますとZENのOSからストップがかかります。携帯動画変換君に付属しておりますffmpegではこのMotion-JPEGがあまり練られておりませんせいか(放置状態・・・)いくらビットレートを上げましてもファイル容量が同じで画質も同じという現象が出ます。
codec_mjpeg3200kbps01.png

全ての画面が非常に鮮明に描かれました高ビットレート下でのMotion-JPEG。これだけ画面を鮮明に描いておきながらも、ZENにかかります負担はWMVの限界再生と同等です。画面がパンしていたとしても、どれだけ被写体が動いていたとしても、引っ掛かりの一点もありません。流石にHDカムやデジカメ等、引っ掛かりが決して許されません世界で使われているだけの事はあります。・・・・が、容量を比較してみてください。これは画質とトレードオフにされる容量という、ポータブル機独特のジレンマへと即座に繋がります。

WMV9 850kbps

他のコーデックと比べて、ある一定のビットレートまでしか再生を許されていませんWMV9。WindowsMediaEncorderで作成できますのはこの辺までとなります。今回のテストでは全て下からパッティングを行います擬似的なCBR(無理やりビットレートを底上げします事で得られる固定ビットレート)でエンコードしておりますため、容量は他コーデックと比べてあまり変わりませんが、完全なVBRを許されているWMV9では下限ビットレートを下げるだけ下げることで、同じ画質でも他コーデックよりもさらに容量を削減する事ができます。
codec_wmv850kbps01.png

小さなビットレート変化では大きく画質に違いが出ませんのは、良くも悪くもMPEG4を基礎にしてますだけあります。よく目を凝らしてご覧いただきますと、先ほどの800kbpsでは潰れてしまっておりました車の窓ガラスを通して見られます奥の風景が少しだけ繊細に描かれているのが確認できますくらいです。恐らくZENで再生をかけます場合ではその差はわかりません。

このテストから導き出される答え

このテストのまとめを書いておきます。

Xvidはソースによって使い分けが重要

Xvidを使用します場合、今回のテストで使用しましたような動画がソースの場合、非常に厳しい結果が出力されます。ましてや、ffmpegのようにコマンドを全て打ち込み、出力まで時間がかかった場合、結果に落胆しますことも少なくありません。この事から、Xvidを使いますためには「次の画像は前の画像とほぼ同じ」という特性を活かすソースが必要です。

・Xvidが向いている動画
1.フル画面で動かない動画(ワイド画面で上下に黒帯を付けたものは、よりビットレートを上げられるため)
2.「楽しい英会話教室」等の画面が動かない教育番組
3.深夜の通販番組
4.飼ってるペットの固定撮影等、カメラ自体が動いていない動画
5.TVアニメ等

・Xvidが向かない動画
1.フル画面で動く動画
2.頻繁にパンを行い撮影された動画
3.サッカー中継や野球中継等のスポーツ番組

Motion-JPEGはSDHCへ

Motion-JPEGは上のテストからもお分かりいただけますとおり、画質は恐らくZENにおいてこれ以上はありません。画面の引っかかりなども起こりにくいため、快適に最高画質を楽しめます。・・・が、どんな動画でもこなす代わりに途方も無いファイル容量を消費する結果となります。ポータブル機ではこれが痛手となります。どうしても画質最優先ということであった場合には、SDHCに保存し、そこから動画を読み出す方法がベストです。最高画質で単純に20秒9MBと考えた場合、1時間モノのドラマ1本のために1.62GBもの容量を必要としてしまうからです。ドラマ8~9話で16GBのSDHCですらいっぱいいっぱいです。

WMVでいいファイルは全部WMVにしてしまう

上のテストからもお分かりいただけますとおり、このような非常に劣悪なソースですらこなしてしまうのがWMVです。また、AVIコンテナと違い、WMVコンテナはVFR、VBRなどのファイル容量を削減します要素を沢山持っています(AVIコンテナは基本VFR、VBRに対応していないため、音ズレ、尻切れの原因となります)。その為、ある一定以上の画質を望まないのであれば、さらにファイル容量を削減する方向でWMVをチョイスしますのもありです。
今回のテストでは普通は行いませんような「無理やり下限をパッティングしてビットレートをCBRにする」という半ば強引な手段で容量を他コーデックとあわせましたが、普通に下限をある一定で保ってあげれば間違いなくファイル容量の削減に繋がります。