コーデックを知る
まずはコーデックについて解説します。動画=コーデックといってもよいくらい、コーデックを抜きにして動画を語ることはできません。コーデックとは、encode/decodeの先頭をとりcodecと表記されます。encode(エンコード)は、デジタル動画をよりコンパクトなサイズに圧縮(正しくは符号化)することを意味します。decodo(デコード)は、逆に圧縮されたデジタル動画データを伸長して再生することを意味します。コーデックといった場合、そのアルゴリズムを指す場合もありますし、圧縮・伸長をするソフトウェアを指す場合もあります。なぜ、圧縮する必要があるのでしょうか?
DVD Videoを例にとり計算をしてみます。DVD Videoでは、720×480ドットの画面になります。映画フィルムのように1秒間に約30コマのデータを必要とします。したがって
720×480×24×30÷8=3110400
となります(最後の÷8はビットをバイトに変換するため)。つまり1秒で30MBものデータが必要になります(この計算に含めていないが、音声データの分も必要)。1時間の映画だとしたら、108GBのファイルサイズが必要になります。また、インターネットなどでリアルタイムに再生しようとした場合には、非常に高速な回線が必要になります。そこで、データを圧縮することで、ファイルサイズを減らすことが求められました。過去のPC用の動画規格をみると、数多くの規格が存在しました。一方で、PC以外でもデジタル動画データを扱う機会が増えてきました。そこで、動画圧縮の標準を策定すべく、ISO(工業標準規格を定める国際機関)のMoving Picture Export Groupというグループが設置されました(Motion Picture Export Groupとも呼ばれる)。グループ名の頭文字をとり、MPEG(エムペグ)が標準化されました。
本稿では、MPEG系のコーデックを中心に取り上げます。
ビットレート
MPEGのコーデックの解説に入るまえに、覚えておきたい用語があります。ビットレートです。データ転送レートとも呼ばれます。たいていの場合、「bps」という単位が使われます。bpsでは、1秒あたりにどのくらいのデータを転送できるかを表わします。動画データでは、このビットレートの値がそのまま、画質の善し悪しになります。つまりビットレートが大きいほど高画質ということになります。ただし、ファイルサイズも当然のことながら大きくなります。
一方、データの転送率でもあるので、メディアなどによって制限があることもあります。たとえば、CD-ROMの標準速度は150KB/sです(現在では48倍程度の転送速度を持つものが一般的)。通信回線などもこの値を使ってどのくらいのデータが転送可能かを表わします。動画のビットレートもこれらの値と無関係ではありません。動画のビットレートよりも低い転送環境では、データをすべて転送できないといったことが発生します。したがって、動画データのビットレートは使われる環境からも決定されることがあります。