コーデック

コーデック (Codec) は、符号化方式を使ってデータのエンコード（符号化）とデコード（復号）を双方向にできる装置やソフトウェアなどのこと。
また、そのためのアルゴリズムを指す用語としても使われている。
コーデックには、データ圧縮機能を使ってデータを圧縮・伸張するソフトウェアや、音声や動画などのデータを別の形式に変換する装置およびソフトウェアが含まれる。
コーデックはもともとデータをデジタル通信回線で送受信するための装置を意味する、電気通信分野の用語であった。語源は、coder/decoderの略語である。
さまざまなコーデック.
現在では、デジタル機器やパーソナルコンピューター (PC) などの発達で、コーデックというとデジタル信号間やデジタルデータ間の変換を行うものを指すことが多い。古くは、例えば、音声コーデック、オーディオコーデックと呼ぶ場合、デジタル信号とアナログ信号を変換するDAコンバータ、ADコンバータのことを指していた。
1980年代に、デジタル画像を圧縮してモデムを介してアナログ回線で通信を行う技術や、デジタル回線を用いて音声や画像などの通信を行う技術が本格的に実用化され、これらの処理を行う集積回路 (IC) が登場した。音声の符号・復号に用いるICを音声コーデック、画像の圧縮・伸張を行うICを画像コーデックと呼ぶようになった。前者には例えば、ISDNの音声通信に用いるG.711コーデック、後者にはG3、G4ファクシミリの画像圧縮・伸張に用いるコーデックなどがある。
1990年代に入ると、PCの周辺ハードウェアで映像の圧縮・伸張を行えるコーデックも登場した。その後、コンピュータの急速な進歩で画像や音声などの圧縮・伸張をソフト的に行えるようになり、ソフトウェアのみで処理を行うソフトコーデックも登場した。現在ではコーデックというとデジタル信号のデータ圧縮・伸張を行う装置及びソフトウェアを指すことが多い。
ただし、データ圧縮・伸張を行うコーデックは、コーデックの一群の中の一カテゴリーに相当し、狭い意味でのコーデックを指している。通常、コーデックという言葉はあまり用いられないが、より広い意味では以下のようなものもコーデックである。
データ圧縮のコーデックには、元のデータに完全に復元できる可逆圧縮（Losslessとも呼ばれる）を用いるものと、圧縮の段階で元のデータには復元できない処理を施す代わりに高い圧縮を行う非可逆圧縮（Lossyとも呼ばれる）を用いるものがある。前者は、完全に復元されることが必須のドキュメントファイルや一部の画像・音声ファイルで用いられる。後者は、可逆圧縮ではデータサイズが相対的に大きくなりやすい画像、音声、動画の高能率圧縮に用いられる。→ データ圧縮を参照。
データ圧縮・伸張を行うコーデック.
例えば、Microsoft Windowsの標準形式には、音声はPCM、画像はBMPなど無圧縮（非圧縮）の状態のファイル・データが存在する。システムによって頻繁に利用される短い音声や動画、小さい画像などを扱うには無圧縮で扱うのが適している場合もあるが、大きなサイズの映像や音声を無圧縮のまま扱おうとすると大容量のメモリやハードディスク等が必要になったり、トラフィック量が増大する。それを避けるためにファイルを圧縮し、サイズを抑えることが必要になる。その際に必要なのがデータ圧縮・伸張用のコーデックである。
音声圧縮のコーデック.
音声圧縮のコーデックには、人間の発声を主な対象とし符号化を行う音声帯域向けのコーデックと、それに限定せず音楽なども対象としたコーデックとがある。前者は人の発声の特性を利用しているため、後者よりも低い符号化レートで音声の符号化が可能である。
音声帯域向けのコーデックの代表的なものでは、ITU-Gシリーズ勧告の各種コーデック（下記）が携帯電話やIP電話などで広く利用されており、音声を4～13kbps程度に圧縮している。音楽も対象としたコーデックの代表的なものでは、1990年代前半に登場したミニディスク (MD) に用いられているATRACや、1990年代末頃からPCオーディオで広く浸透しはじめたMP3がある。例えば、128kbpsのステレオ音声の圧縮オーディオではコンパクトディスク (CD) に比べて1/10以下に圧縮されている。これらは、元の音声には完全には復元できない非可逆圧縮方式を用いている。
一方で、近年、記録メディアの容量が飛躍的に増加したことで、データサイズは大きくなるものの、まったく劣化を生じさせない可逆圧縮を用いたコーデックも増えてきている。こちらはおおむね6割から7割程度の圧縮が行える。
動画圧縮のコーデック.
動画では大容量のデータを扱うため、高能率の非可逆圧縮が必須となっている。代表的なものではDVDに用いられるMPEG-2がある。