JストリームBlog

J-Stream Blog

2014.12.16

動画コーデック解説コラム【前編】 動画配信に必要なコーデックの基礎知識

いまや、動画は、インターネット、デジタル機器をはじめ、様々なシーンにおいてごく身近に利用できる存在となりました。動画の普及を陰で支えるのが「コーデック」という映像や音声データをエンコード(符号化)/デコード(復号化)するプログラムです。映像では「H.264」「H.265」「MPEG-2」「WMV」など、音声では「MP3」「AAC」「WMA」など多くのコーデックがあり、動画をインターネットで配信するためには、これらコーデックを用いてエンコード作業を行う必要があります。

ただ、「コーデック」は陰で支える存在のため一般的にあまり知られておらず、当社のお客様からも以下のようなご質問を多数いただきます。

「動画ファイルとコーデックって、いったい何がどう違うの?」
「コーデックエラーと出て再生できない。もうひとつの動画は再生できたのに、なぜ??」
「最新のコーデックで配信するのがおすすめなのか???」

本コラムでは、上記のような疑問を解決することを目的に、前編では動画配信を行う際に必要なコーデックの基礎知識の解説をし、後編では「最適な動画コーデック選択のための3つの視点」と題し解説します。
※なお、本コラムでは、特に記載がない限り、「コーデック」という用語を「動画に関連するコーデック」という意味で使用します。

 

コーデックはデータの規格。音声・映像は別々のデータとして動画ファイルに格納される

コーデックは、日常生活の様々なところで活躍している、実は身近な存在です。ビデオCD、DVD、デジタルビデオカメラ、Blu-ray、ハードディスクレコーダーといった記録媒体のほか、デジタル放送、テレビ電話、テレビ会議、ワンセグ放送、車載プレイヤーでの動画伝送等々、動画を取り扱うためには何かしらのコーデックが使われています。

最初に、動画ファイルとコーデックの違いについて説明します。動画ファイルというのは、ひとつのデータのように見えますが、実は違います。動画は「映像」と「音声」がそれぞれコーデックという規格によって映像データ、音声データとなり、動画ファイル(「WMV」「FLV」「MP4」「AVI」等)という“入れ物”にひとつにまとめられています。映像データと音声データを同梱できる動画ファイルのことを「コンテナファイル」と言います。コンテナファイルには、種類によって、映像と音声以外の情報も同梱できます(【図1】参照)。

【図1】動画ファイルと映像・音声データ(イメージ)

音声・映像は別々のデータとして動画ファイルに格納される

 

動画ファイルには、各形式(フォーマット)により格納できる映像・音声データのコーデックが決まっています(音声ファイルは、1つのコーデックが対応することが多いです)。例えば、MP4ファイルに格納できるコーデックは以下の通りです。

  • 映像コーデック:MPEG-1、MPEG-2、MPEG-4 Visual、H.264/MPEG-4 AVC、H.265など
  • 音声コーデック:AAC、HE-AAC、MP1、MP2、MP3、MPEG-4 ALS、TwinVQ、CELPなど

※MP4ファイルには、静止画像:PNG、JPEG、テキストも格納可能。

 

動画ファイルは、様々な機器やアプリケーションソフトで取り扱うことができますが、それぞれに機能的な特長があるため、目的に応じて形式を選択します。配信フォーマットにより動画ファイルが決まり、それに伴い映像データと音声データのコーデックも絞られてきます。ファイル作成はエンコードソフトを使って行い、ソフトにより仕様はそれぞれですが、どのソフトもたいていは複数のコーデックから選択可能です。

 

同じファイル形式でも、コーデックが違えば別モノ

「コーデックエラーと出て再生できない。もうひとつの動画は再生できたのに、なぜ??」
そんな事態が発生することがあります。考えられる原因のひとつに、
「格納されている映像・音声コーデックが異なる可能性」
があります。同じファイル形式でも、コーデックが違えばその中身は別モノと考えましょう。

画像や文書ファイルなどと異なり、動画ファイルは、ファイルの拡張子を見ただけでは、何のコーデックが使われているかわかりません。冒頭、「コーデックとは、映像や音声データをエンコード(符号化)/デコード(復号)するプログラム」と書きました。再生に際しては、送り手がエンコードした「映像データのコーデック」「音声データのコーデック」と同じコーデックが、受け手の視聴環境にも入っていてデコードする必要があります。

例えば、以下のような2つのMP4 ファイルがあったとします。
MP4ファイル1)映像コーデック:H.264/MPEG4-AVC、音声コーデック:AAC
MP4ファイル2)映像コーデック:H.265、音声コーデック:AAC

受け手の視聴環境には、H.264/MPEG4-AVC、AACのコーデックは有り、H.265 のコーデックは無かったとします。この場合、ファイル1で使われているコーデックは、ユーザーの視聴環境にも用意されているため、映像・音声ともに問題なくデコード(再生)されます。しかし、ファイル2では、ユーザーの視聴環境に映像コーデックが用意されていないため、映像はデコード(再生)されずコーデックエラーとなり、音声のみがデコード(再生)されます(【図2】参照)。

【図2】動画再生とコーデックの関係(イメージ)

エンコード時に使用した映像・音声コーデックが、受け手の視聴環境にもあれば再生され、なければエラーとなる

 

エンコードを行う際には、受け手の視聴環境を想定して使用するコーデックを選択する必要があります。そこで、後編では「最適な動画コーデック選択のための3つの視点」について解説します。

  • このエントリーをはてなブックマークに追加

関連サービス

関連記事

電話でのお問い合わせは

0120-65-8140

TEL03-5765-7000

(受付時間:平日9:30-18:30)

電話でのお問い合わせは
0120-65-8140