ワイヤレスイヤホンやスピーカーなどを購入する時、あるいはストリーミングメディアを楽しむ時。「対応コーデック」という言葉を目にしたことがあるかもしれません。
このコーデック、なんとなく「音質に関係するもの」「動画再生に必要なもの」といった認識があっても、どのようなデバイスかご存知ない方もいらっしゃるでしょう。
コーデックは、音響や動画再生に絶対に欠かせないことはもちろん、デジタル機器のみならずアナログ機器でも用いられる重要な素子となります。
この記事では、コーデックについて解説いたします。
1. コーデックとは?
コーデックは「符号化」を表すcoderと、その対義語にあたる複合を表すdecoderを組み合わせた造語です。
この名前の通り、符号化や複合を行う変換装置、というのがコーデックということになります。
① 符号化・複合とは?
では、符号化・複合とは何かを解説します。
符号化(エンコード)はデジタルデータやアナログデータを変換することです。
一般的にはデジタルデータは圧縮(データの軽量化)、アナログデータはデジタルに変換することを指します。
一般的にデジタルデータの量というのはとても膨大で、そのまま使っては機器が非常に重く、負担がかかってしまいます。
送信したり、保存したりする際にも、大きすぎる容量だと決して効率が良いとは言えません。
そこでデータの内容は変えず、軽量化した別のデータに変換する必要があり、この一連の流れを圧縮と呼びます。
復号(デコーディング)とは、符号化したデータを逆に元のデータに戻すことを指します。
符号化するための装置はエンコーダ、復元のための装置はデコーダと呼び、その双方を持ったものがコーデックです。
冒頭でご紹介した動画再生や音響、あるいはデータ通信などは、この符号化・復元二つの手順が必要となります。
符号化はデータサイズを縮小するために必要だとしても、なぜ復元する必要があるの?と思うかもしれません。
しかしながら符号化された情報だけでは、動画を再生することも音楽として聴くこともできないでしょう。
例えば私たちが話す・見る・聞くといった行動は全てアナログですが、デジタル機器を通して再生するためには、一度デジタル信号に符号化しなくてはなりません。
しかしながらデジタル信号とは、0と1の世界です。
これだけでは何のことかわかりませんね。
そこで再びアナログ変換、つまり復元することで、動画や音響として楽しむことができるのです。
また、データは圧縮した状態では元の状態を再現することはできないため、解凍してあげる必要があるのもコーデックが必要とされる所以です。
コーデックを使うことを「コーデックを入れる」などと言うこともあります。
なお、20世紀半ば頃までは、コーデックと言うとアナログ-デジタル変換を行うデバイスを指すことがしばしばありました。
しかしながらデジタル機器が普及するにつれ、デジタルデータを扱う変換装置としてコーデック、と呼ぶことが一般的となりつつあります。
② ハードウェアコーデックとソフトウェアコーデック
このコーデックはハードウェアコーデックとソフトウェアコーデックとがあります。
ハードウェアコーデックは半導体チップや基板など、機器類によって処理するタイプのコーデックです。
パソコンなどではコーデックが拡張カードとして実装されています。
非常に高い速度でデータ処理を行うことが可能ですが、後述する種類が異なるコーデックを用いようとした時、チップごと取り換えなくてはなりません。
とは言え複数チップを実装できる製品もラインナップされています。
ソフトウェアコーデックはコンピュータ・プログラムとして駆動するコーデックです。
動画や音声、画像などデータ形式ごとに異なるソフトやアドオンなどの形で提供されます。
速度ではハードウェアコーデックに劣るものの、プログラムを入れ替えれば必要な形式を都度取り入れることが可能です。
かつてはハードウェアコーデックが主流でしたが、様々な圧縮形式があること。
またCPUが高性能になっていることなどから、ソフトウェアコーデックもまたよく利用されています。
とは言えデータ変換や圧縮などの符号化はハードウェアで、再生などの復元はソフトウェアで、といったように、双方のコーデックを使うケースも少なくありません。
2. コーデックの用途
前述の通り、コーデックは様々なシーンで使用されます。
例えば容量の大きい画像を圧縮してメールで送る時。
または複数ファイルやフォルダを一つにまとめるZip圧縮を行う時。
ただ、「コーデック」という言葉を聞くのは、動画や音響再生などに関わる分野が多いでしょう。
ストリーミングメディアやビデオ会議、YouTubeを始めとした動画再生メディアを利用する時。
Bluetoothなどを利用したワイヤレスイヤホンを使う時に用いられます。
ただ用いられるだけではなく、処理速度や画質・音質などにも影響するのがコーデックです。
コーデックは何を使っても同じ、というわけではなく、多くのデバイスと同様に製品によってスペックに違いがあります。
「動画や音楽再生の中核技術」とも呼ばれるくらい非常に重要な役割を担っており、どのコーデックに対応しているかは、メーカーにとっても付加価値となっております。
例えば「高音質が欲しい」「容量を小さくしたい」「スピードを重視したい」といったニーズに合わせて、それに特化したコーデック開発が進んでいます。
近年では技術面での進歩が目覚ましいこともあり、様々な製品が各メーカーから輩出されてきました。
最近ですと、米国の非営利団体アライアンス・フォー・オープン・メディア(AOM)が2018年に発表した「AV1」が世間を騒がせましたね。
これは動画コーデックの新規格で、圧縮効率の高さ(より多くのデータを収録できる)など優れた性能を持つだけでなく、ロイヤリティーフリー(特許料フリー)を打ち出したことが特徴です。
Googleやアップル、YouTubeなどがAV1を取り入れており、動画メディア市場がかつてないほど活性化する中で、コーデックの主役となるのでは、と囁かれています。
3. コーデックの種類
前項でもご紹介したように、どのコーデックを使っても一緒、というわけではありません。
そのため前述したAV1など、様々な形式のコーデックが存在します。
画像圧縮コーデックで有名どころ、と言えば、GIF(Graphics Interchange Format)やJPEG、PNG(Portable Network Graphics)などが挙げられます。
音声圧縮コーデックですと、オーディオ機器の代表的存在MP3やiPodや地上波デジタル放送などでも使用されるAAC(Advanced Audio Coding)、AC-3が有名でしょう。
また、CDやBlu-ray Discなど、データ圧縮を行わないコーデックも存在します。
動画圧縮コーデックは、AV1が地位を脅かしているという現在最も標準的な国際規格H.263やH.264。MPEG-1,2,3にグーグル開発のVP9(AV1のベースになっている規格)などがありますね。
どのコーデックを入れるかを考える時に気を付けたいのが、コンテナ(動画形式・コンテナフォーマット)と言うファイルと合わせた製品を選ぶ、ということです。
と言うのも、コンテナによって入れられるコーデックが異なるためです。
例えばご紹介したMP4には専用コンテナを入れることとなります。
コンテナとマッチしていないコーデックを入れても、その機能を発揮することはできません。
また、同様に符号化と復元は同一規格のコーデックを用いる必要があります。
コンテナや符号化・復元のコンテナが合っておらずにデータ圧縮や再生ができない状態をコーデックエラーと呼びます。
もし「動画は再生できているのに音声が出てこない」といったケースに出くわしたら、それは音声データを符号化した際に用いたのと同一のコーデックを取り込む必要があります。
なお、「どのコーデックを使っているか」は、コーデックチェッカーを使用することで容易に知ることができます。
フリーソフトなども出ておりますので、コーデックエラーに出くわした方はぜひ利用してみましょう。
4. まとめ
コーデックについてご紹介いたしました。
コーデックとは、データの送受信や動画再生、ミュージックプレイヤーを再生する時などに行われる符号化・復元双方の役割を持ったハードウェアまたはソフトウェアであること。コーデックは容量やスピード、画質・音質を左右する素子であること。とは言えどのコーデックを使ってもいいわけではなく、コンテナやエンコーダ・デコーダでマッチしたコーデックを選ばなくてはならないことをご理解いただけたでしょうか。
コアスタッフオンラインではコーデックを搭載したボードコンピュータなども取り扱っておりますので、コーデックのことならぜひお問い合わせくださいませ!