コーデック

コーデック  は、符号化方式を使ってデータのエンコードとデコードを双方向にできる装置やソフトウェアなどのこと。 また、そのためのアルゴリズムを指す用語としても使われている。

コーデックには、データ圧縮機能を使ってデータを圧縮・伸張するソフトウェアや、音声や動画などのデータを別の形式に変換する装置およびソフトウェアが含まれる。

コーデックはもともとデータをデジタル通信回線で送受信するための装置を意味する、電気通信分野の用語であった。語源は、coder/decoderの略語である。

1. さまざまなコーデック
-------------

現在では、デジタル機器やパーソナルコンピューター  などの発達で、コーデックというとデジタル信号間やデジタルデータ間の変換を行うものを指すことが多い。古くは、例えば、音声コーデック、オーディオコーデックと呼ぶ場合、デジタル信号とアナログ信号を変換するDAコンバータ、ADコンバータのことを指していた。

1980年代に、デジタル画像を圧縮してモデムを介してアナログ回線で通信を行う技術や、デジタル回線を用いて音声や画像などの通信を行う技術が本格的に実用化され、これらの処理を行う集積回路  が登場した。音声の符号・復号に用いるICを音声コーデック、画像の圧縮・伸張を行うICを画像コーデックと呼ぶようになった。前者には例えば、ISDNの音声通信に用いるG.711コーデック、後者にはG3、G4ファクシミリの画像圧縮・伸張に用いるコーデックなどがある。

1990年代に入ると、PCの周辺ハードウェアで映像の圧縮・伸張を行えるコーデックも登場した。その後、コンピュータの急速な進歩で画像や音声などの圧縮・伸張をソフト的に行えるようになり、ソフトウェアのみで処理を行うソフトコーデックも登場した。現在ではコーデックというとデジタル信号のデータ圧縮・伸張を行う装置及びソフトウェアを指すことが多い。

ただし、データ圧縮・伸張を行うコーデックは、コーデックの一群の中の一カテゴリーに相当し、狭い意味でのコーデックを指している。通常、コーデックという言葉はあまり用いられないが、より広い意味では以下のようなものもコーデックである。

電子メールで用いられるMIMEエンコード・デコードの処理を行うもの
URLの文字列を%xxのような文字列に符号化、逆に復号するもの
圧縮を伴わない画像データフォーマット間の相互変換を行うもの
データの暗号化や暗号化されたデータの復号を行うものデータ圧縮のコーデックには、元のデータに完全に復元できる可逆圧縮を用いるものと、圧縮の段階で元のデータには復元できない処理を施す代わりに高い圧縮を行う非可逆圧縮を用いるものがある。前者は、完全に復元されることが必須のドキュメントファイルや一部の画像・音声ファイルで用いられる。後者は、可逆圧縮ではデータサイズが相対的に大きくなりやすい画像、音声、動画の高能率圧縮に用いられる。→ データ圧縮を参照。

2. データ圧縮・伸張を行うコーデック
-------------------

例えば、Microsoft Windowsの標準形式には、音声はPCM、画像はBMPなど無圧縮の状態のファイル・データが存在する。システムによって頻繁に利用される短い音声や動画、小さい画像などを扱うには無圧縮で扱うのが適している場合もあるが、大きなサイズの映像や音声を無圧縮のまま扱おうとすると大容量のメモリやハードディスク等が必要になったり、トラフィック量が増大する。それを避けるためにファイルを圧縮し、サイズを抑えることが必要になる。その際に必要なのがデータ圧縮・伸張用のコーデックである。

2.1. 画像圧縮のコーデック
---------------

GIF - 256色までの可逆圧縮
JPEG XR  - 指定により非可逆圧縮、可逆圧縮の選択が可能
JPEG - 非可逆圧縮
JPEG 2000 - 指定により非可逆圧縮、可逆圧縮の選択が可能
PNG - 最大48bitフルカラーまでの可逆圧縮、8bitのアルファチャンネルが可能
WebP - 非可逆圧縮、可逆圧縮の選択が可能。Googleが開発した。
HVQ - 非可逆圧縮、ハドソンと筑波大学の徳永隆治らによって開発された。複数のベクトル演算により高い効率で圧縮することで、ゲーム向きの輪郭に強くブロックノイズが非常に少ない画像が得られる。コンピュータゲームや電子書籍などに使用されている。
二値画像の可逆圧縮 : ファクシミリなどで用いられる。
MH  - 連長圧縮
MR  - 二次元符号化
MMR  - ITU-T T.6
JBIG  - 算術符号

2.2. 音声圧縮のコーデック
---------------

音声圧縮のコーデックには、人間の発声を主な対象とし符号化を行う音声帯域向けのコーデックと、それに限定せず音楽なども対象としたコーデックとがある。前者は人の発声の特性を利用しているため、後者よりも低い符号化レートで音声の符号化が可能である。

音声帯域向けのコーデックの代表的なものでは、ITU-Gシリーズ勧告の各種コーデックが携帯電話やIP電話などで広く利用されており、音声を4～13kbps程度に圧縮している。音楽も対象としたコーデックの代表的なものでは、1990年代前半に登場したミニディスク  に用いられているATRACや、1990年代末頃からPCオーディオで広く浸透しはじめたMP3がある。例えば、128kbpsのステレオ音声の圧縮オーディオではコンパクトディスク  に比べて1/10以下に圧縮されている。これらは、元の音声には完全には復元できない非可逆圧縮方式を用いている。

一方で、近年、記録メディアの容量が飛躍的に増加したことで、データサイズは大きくなるものの、まったく劣化を生じさせない可逆圧縮を用いたコーデックも増えてきている。こちらはおおむね6割から7割程度の圧縮が行える。

2.2.1. 圧縮しないコーデック
-----------------

LPCM - 音楽CD、DVD-Video/Audio、Blu-ray Discなどで採用されている
DSD - スーパーオーディオCDなどで採用されている

2.2.2. 可逆圧縮・非可逆圧縮が選択できるコーデック
----------------------------

Windows Media Audio  - Windows Media Playerに搭載されているコーデック
Dolby Digital Plus - ドルビーデジタルプラス 
DTS-HD Master Audio - DTSが開発したDTSの拡張規格。BDに採用されている。
WavPack - 可逆モード、非可逆モード、そしてユニークなハイブリッドモードを備えている

2.2.3. 非可逆圧縮のコーデック
------------------

ADPCM - ドリームキャストなどに使用されたコーデック
AC-3 - ドルビーデジタル
AMR - NTTドコモのFOMA・携帯電話のVoLTEで使用されている
AMR-WB+ - 市町村防災行政無線で使用されている
aptX - BluetoothにおけるA2DPで使用されている
ATRAC - ミニディスク  やSDDSで採用されているコーデック
ATRAC2
ATRAC3 - MDLPで採用されているコーデック
ATRAC3plus - Hi-MDやUMDで採用されているコーデック
DivX Audio - WMAの海賊版
DSP Group TrueSpeech
DRA - 中国企業が開発したコーデック
DTS
EVS - 携帯電話のVoLTEで使用されている
Ghost
GSM - IP電話や、GMS方式の第2世代移動通信システムで使用されている
Indeo Audio
ITU-Gシリーズ勧告により国際規格化されたコーデック
G.711 - 公衆交換電話網・ISDNの音声通話・IP電話・Skypeなどで使用されている
G.722.1 - 三菱電機の市町村防災行政無線で使用されている
G.723
G.726 - PHSや、DECT方式のコードレス電話で使用されている
G.729 - IP電話と、G.729aがNTTドコモのmovaハイパートーク・Skypeなどで使用されている
MPEGオーディオ用コーデック
AAC - iPodや着うた、ヨーロッパのDVD、またBSデジタル放送と地上波デジタル放送等で使用されているコーデック
HE-AAC - ワンセグ、着うたフル等で使われているコーデック
MP1
MP2 - 多くのMPEG1が使用しているコーデック
MP3 - オーディオ機器など幅広く使用されているコーデック
Mp3PRO HE-AACと同様の技術であるSBRを使用したMP3。
Mp3Surround マルチチャンネル対応版
MP3#mp3HD 可逆圧縮に対応版。従来のMP3のストリームも格納される。
Musepack 
SBC  - BluetoothにおけるA2DPの標準コーデックとして使用されている
Vorbis - パテントフリーでオープンソース開発のコーデック。GoogleのWebMで採用。
QDesign Music
Real Audio
Speex - オープンソースの音声帯域向けのコーデックで、Oggプロジェクトにも採用されている
TwinVQ
SoundVQ - YAMAHAの開発したコーデック
XVD Audio
UEMCLIP - ITU-T G.711の電話音声符号化の標準方式を拡張し、高音質な広帯域音声での通信を可能にする符号化方式、NTT研究所で開発された技術

2.2.4. 可逆圧縮のコーデック
-----------------

AAL  - 非可逆圧縮部分を内包し、用途に応じて取り出して利用する。
Apple Lossless - iTunesやQuickTimeなどに搭載されているコーデック
MLP または Packed PCM - Dolby Digitalの派生。DVD-AudioやDolby Digital Plusに採用されている。
MPEG-4 ALS  - 国際標準規格
DTS-HD - Blu-ray Disc・HD DVD向けのコーデック
FLAC  - オープンソースで開発され、Oggプロジェクトの可逆圧縮用途にも採用されているコーデック
Monkey's Audio - フリーウェアながら、高い圧縮と平易な操作を実現
TTA 
TAK 
Dolby TrueHD

2.3. 動画圧縮のコーデック
---------------

動画では大容量のデータを扱うため、高能率の非可逆圧縮が必須となっている。代表的なものではDVDに用いられるMPEG-2がある。

非可逆圧縮のコーデック
Apple ProRes - Appleが開発した動画編集用のコーデック
ProRes 422 HQ, ProRes 422, ProRes 422 LT, ProRes 422 プロキシ
ProRes 4444 XQ, ProRes 4444
ProRes RAW HQ, ProRes RAW
AVS  - 中国独自のコーデック
Canopus HQ Codec - カノープスが開発した動画編集用のコーデック
Cinepak
Daala - Xiph.OrgとMozilla Foundationが共同で開発するコーデック。Theoraの後継コーデックで後述するAV1に仕様の一部が組み込まれている。
Thor - シスコシステムズが開発するコーデック。先述のDaala同様仕様の一部がAV1に組み込まれている。
Dirac - 英国放送協会  の研究開発部門が開発したコーデック
DV CODEC - デジタルビデオカメラで採用されているコーデック
ITU-Tにより国際規格化されたコーデック
H.261 - ISDN TV会議システム用コーデック
H.262 - MPEG-2のコーデックと同一
H.263 - 電話用モデムを想定したH.261よりも高い圧縮のコーデック
H.263より派生したコーデック
DivX - DivX, Inc.が開発しているコーデック。MPEG-4 ASPに準拠。
Xvid - オープンソースのH.263  コーデック。MPEG-4 ASPに準拠。
3ivx - MPEG-4 ASPに準拠。
H.263＋ - H.263を改良したコーデック
H.264 - H.263をより高い圧縮率のために改良したコーデック。MPEG-4 AVCと同じ。
AVC-Intra - パナソニックが開発したビデオコーデック。H.264に準拠。
x264 フリーのH.264エンコードライブラリ。
H.265
Indeo Video - インテル社が開発したコーデック
MEI - 動画ERI
Microsoft Video 1
Motion JPEG - デジタルカメラで採用されているコーデック
Motion JPEG 2000
MPEGにより標準化されたコーデック
MPEG-1 - ビデオCDなどで使用されるコーデック
MPEG-2 - DVD、地上デジタル放送で採用されているコーデック
MPEG-4 - 携帯コンテンツ等で使用されるコーデック
MPEG-4より派生したコーデック
MS-MPEG4  - MPEGとは無関係だがMPEG-4と互換有り
AngelPotion - MS-MPEG4の海賊版
DivX 3.11 - MS-MPEG4の海賊版
Windows Media Video MS-MPEG4を基準に作られた
RMP4  - 米Sigma Designs社が開発したコーデック。Xvidのソースコードを流用したことが発覚した。
MPEG-4 AVC
On2が開発したコーデック 
VP3 - オープンソース化され無料で使用できるコーデック
VP4 - 中国独自の光ディスク規格EVDなどに使われているコーデック
VP5 - 上記に準拠。
VP6 - Adobe Flashで採用されているコーデック。
VP7 - VP6よりも高画質・高圧縮のコーデック
Googleが開発したコーデック
VP8 - GoogleのWebMで採用
VP9 - 同上
Alliance for Open Mediaが開発したコーデック
AV1 - 既存のVP9をベースにVP10やDaala、Thorの仕様及び実装を取り入れて開発されているコーデック。コンテナにはWebMやMatroskaが使用できる。
RealVideo - RealNetworks社開発のコーデック。低レートに強い
Snow - ffdshowによってサポートされるコーデック
Sorenson Video - QuickTimeムービー向けのコーデック
Theora - Xiph.orgがOn2VP3をベースに開発しているコーデック
WMV9  - Blu-ray Disc・HD DVDで採用
XVD
可逆圧縮のコーデック
AMV Video Codec - 可逆、非可逆圧縮コーデック
Huffyuv - テレビ番組の高画質記録などに使われているコーデック。マルチスレッド非対応。

3. 脚注
-----

4. 関連項目
-------

コンテナフォーマット - 音声ファイルフォーマット
データ圧縮
音声符号化
モデム
K-Lite Codec Pack
Combined Community Codec Pack
音響信号処理
CPRM
AVCREC
AACS