なぜ動画ファイルにはエンコードが必要か
エンコードすると画質が悪くガッカリです!
動画データは、なぜデータ量が大きいかというと、1秒間に約24枚とか約30枚という静止画(フレーム)を高速で表示しているからです(1秒間30枚で10分間18,000枚)。
ここで今までのエンコードの歴史を簡単に説明しましょう。
データを圧縮するため、まず考えられたのが「フレーム数を減らす」ということです。次に、動画データの「画像サイズを小さくする」です。
しかし、1秒間30フレームを15フレームにして、画面サイズを縦横半分にしてもデータ量は8分の1しか減りません。100分の1以下にデータ圧縮なんてとても無理です。
そこで考えられたのが、動画1フレームごとに低画質化することでした。BMPファイルをJPEGやGIFファイルに変換するのと同じような発想です。動画1フレームごとに低画質で一定化し、1秒のデータ量を決める。これがCBR(Constant Bit Rate:固定ビットレート)となります。同じ画質のフレームが次々と表示されるイメージです(図2-1)。
ところが、ここで問題が発生します。ビットレートが低いと、画質が悪いのです。動画1フレームごとに低画質で一定化したので、画像上に水をこぼしたようにぼやけてしまいます。
この問題に対処すべく新しい圧縮技術が開発されました。これが、フレーム間圧縮(差分圧縮)というものです。1枚の画像(フレーム)内で圧縮するのでは限界があるので、複数フレーム間で連携して圧縮しようという発想です。
原理は、元となるキーフレームのデータと、次のフレームは動いた部分だけの小さな(差分)データから動画を構成して、データ量を圧縮しようというものです。キーフレームが普通のデータで、差分データが小さなデータとなるので、1秒間のデータ量が画像の変化に合わせて随時変化します。これがVBR(Variable bitrate:可変ビットレート)となります(図2-2)。
このVBRの登場により、動画の画質が劇的に向上し、データ量も劇的に圧縮することができるようになりました。
「CBR」と「VBR」、これが、第1のキーワードです。
次に可変ビットレートの場合、どのようにビットレートを変化させていくかが問題なります。
「1パスエンコード(1 pass encode)」と「2パスエンコード(2 pass encode)」、これが、第2のキーワードです。
1パスエンコードはエンコード作業を1回(パス)で処理し、画像の解析と圧縮処理を同時にするエンコード方法で、2パスエンコードはエンコード作業を2回(パス)で処理し、1パス目で画像の解析を行い、どういう画像かを調べ、2パス目で圧縮処理を行うエンコード方法です。
1パスエンコードより2パスエンコードの方が、倍の作業が発生するためエンコード処理に約2倍時間がかかります。しかし、2パスエンコードの方が高画質・高圧縮率となります。逆に、1パスエンコードの方がエンコード処理時間が短い分、2パスエンコードに比べて画質や圧縮率が低下します(図2-3)。
エンコード方法とソフトウエア
それでは、第1・2のキーワードを組み合わせて、エンコード設定します。
CBRは、ビットレートを一定にしたいライブ配信や、あまり動かない映像(講演会やセミナー映像など)の低ビットレート化に有効ですし、VBRは低ビットレートの環境で、できるだけ画質を向上させたい場合に有効です。
また、1パスエンコードと2パスエンコードはエンコードの処理時間に違いがあり、画質があまり重要ではない映像で即時性が必要ならば1パスエンコード、画質重視のCM動画配信などは、2パスエンコードとなります。
例えば、株主総会などのライブ配信は即時性が重要なのと、光回線やADSL等いろいろな回線で視聴できなければならないので、ライブ配信用エンコードPCの負荷と回線の負荷を抑えるために、1パスエンコードのCBRなどを採用します。また、企業サイトで企業CMを配信する場合は、低ビットレートと画質を優先させるため2パスエンコードVBRを採用します(wmvやH.264やOn2VP6など)。
次に、エンコードソフトウエアですが、ビデオ編集機能とエンコード機能が一緒になっている、プレーヤーにエンコード機能が追加されている、エンコード専用ソフトウエアなど多種多様です。
主なソフトウエアは、「Windows Media エンコーダ(無料)(http://www.forest.impress.co.jp/lib/pic/video/vdoenc/winmediaenc.html)」「Adobe Flash Video Encoder(有料・Flashにバンドル)」「Adobe Flash Media Live Encoder(無料)(http://www.adobe.com/jp/products/flashmediaserver/flashmediaencoder/)」「Cleaner(有料)(http://www.too.com/digitalmedia/index.html)」「ProCoder(有料)(http://www.canopus.co.jp/catalog/procoder/procoder20_index.php)」「Sorenson Squeeze(有料)(http://www.flashbackj.com/sorenson/index.html)」「QuickTime Pro(有料)(http://www.apple.com/jp/quicktime/pro/)」「TMPGEnc(無料・有料)(http://www.tmpgenc.net/ja/j_main.html)」「AviUtl(無料)(http://spring-fragrance.mints.ne.jp/aviutl/)」「WinFF(無料)(http://code.google.com/p/winff/)」「FFmpeg(無料)(http://www.xucker.jpn.org/keyword/ffmpeg.html)」「ffdshow(無料)(http://sourceforge.net/projects/ffdshow/)」「VirtualDubMod(無料)(http://virtualdubmod.sourceforge.jp/)」「FlasKMPEG(無料)(http://cowscorpion.com/MultimediaTools/FlasKMPEG.html)」「携帯動画変換君(無料)(http://mobilehackerz.jp/contents/3GPConv)」です。
ソフトウエア選択の目安は、どういうエンコードをしたいかと、オプション機能(エンコード設定や画質調整機能)の使いやすさなどです。
次は、このオプション機能(画質調整機能)について説明します。