コーデック (CODEC)

Related Post

> コーデック (CODEC)

コーデック (Codec) は、符号化方式を使ってデータのエンコード(符号化)とデコード(復号)を双方向にできる装置やソフトウェアなどのこと。 また、そのためのアルゴリズムを指す用語としても使われている。
コーデックには、データ圧縮機能を使ってデータを圧縮・伸張するソフトウェアや、音声や動画などのデータを別の形式に変換する装置およびソフトウェアが含まれる。
コーデックはもともとデータをデジタル通信回線で送受信するための装置を意味する、電気通信分野の用語であった。語源は、coder/decoderの略語である。

【さまざまなコーデック】

現在では、デジタル機器やパーソナルコンピュータ (PC) などの発達で、コーデックというとデジタル信号間やデジタルデータ間の変換を行うものを指すことが多い。古くは、例えば、音声コーデック、オーディオコーデックと呼ぶ場合、デジタル信号とアナログ信号を変換するDAコンバータ、ADコンバータのことを指していた。
1980年代に、デジタル画像を圧縮してモデムを介してアナログ回線で通信を行う技術や、デジタル回線を用いて音声や画像などの通信を行う技術が本格的に実用化され、これらの処理を行う集積回路 (IC) が登場した。音声の符号・復号に用いるICを音声コーデック、画像の圧縮・伸張を行うICを画像コーデックと呼ぶようになった。前者には例えば、ISDNの音声通信に用いるG.711コーデック、後者にはG3、G4ファクシミリの画像圧縮・伸張に用いるコーデックなどがある。
1990年代に入ると、PCの周辺ハードウェアで映像の圧縮・伸張を行えるコーデックも登場した。その後、コンピュータの急速な進歩で画像や音声などの圧縮・伸張をソフト的に行えるようになり、ソフトウェアのみで処理を行うソフトコーデックも登場した。現在ではコーデックというとデジタル信号のデータ圧縮・伸張を行う装置及びソフトウェアを指すことが多い。
ただし、データ圧縮・伸張を行うコーデックは、コーデックの一群の中の一カテゴリーに相当し、狭い意味でのコーデックを指している。通常、コーデックという言葉はあまり用いられないが、より広い意味では以下のようなものもコーデックである。

  • 電子メールで用いられるMIMEエンコード・デコードの処理を行うもの
  • URLの文字列を%xxのような文字列に符号化(URLエンコード)、逆に復号(URLデコード)するもの
  • 圧縮を伴わない画像データフォーマット間の相互変換(例えば、BMP⇔TIFF⇔PICTなど)を行うもの
  • データの暗号化や暗号化されたデータの復号を行うもの

データ圧縮のコーデックには、元のデータに完全に復元できる可逆圧縮(Losslessとも呼ばれる)を用いるものと、圧縮の段階で元のデータには復元できない処理を施す代わりに高い圧縮を行う非可逆圧縮(Lossyとも呼ばれる)を用いるものがある。前者は、完全に復元されることが必須のドキュメントファイルや一部の画像・音声ファイルで用いられる。後者は、可逆圧縮ではデータサイズが総体的に大きくなりやすい画像、音声、動画の高能率圧縮に用いられる。→ データ圧縮を参照。

【データ圧縮・伸張を行うコーデック】

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

【画像圧縮のコーデック】

  • GIF – 256色までの可逆圧縮
  • JPEG XR (HD Photo) – 指定により非可逆圧縮、可逆圧縮の選択が可能
  • JPEG – 非可逆圧縮
    • JPEG 2000 – 指定により非可逆圧縮、可逆圧縮の選択が可能
  • PNG – 最大48bit(各色16bit)フルカラー(約280兆色)までの可逆圧縮、8bit(256段階)のアルファチャンネル(透明化)が可能
  • WebP – 非可逆圧縮、可逆圧縮の選択が可能。Googleが開発した。
  • 二値画像の可逆圧縮 : ファクシミリなどで用いられる。
    • MH (modified huffman) – 連長圧縮
    • MR (modified READ:relative element address designate) – 二次元符号化
    • MMR (Modified Modified READ) – ITU-T T.6
    • JBIG (Joint Bi-lebel Image experts Group) – Arithmetic Coding

【音声圧縮のコーデック】

音声圧縮のコーデックには、人間の発声を主な対象とし符号化を行う音声帯域向けのコーデックと、それに限定せず音楽なども対象としたコーデックとがある。前者は人の発声の特性を利用しているため、後者よりも低い符号化レートで音声の符号化が可能である。
音声帯域向けのコーデックの代表的なものでは、ITU-Gシリーズ勧告の各種コーデック(下記)が携帯電話やIP電話などで広く利用されており、音声を4~13kbps程度に圧縮している。音楽も対象としたコーデックの代表的なものでは、1990年代前半に登場したミニディスク (MD) に用いられているATRACや、1990年代末頃からPCオーディオで広く浸透しはじめたMP3がある。例えば、128kbpsのステレオ音声の圧縮オーディオではコンパクトディスク (CD) に比べて1/10以下に圧縮されている。これらは、元の音声には完全には復元できない非可逆圧縮方式を用いている。
一方で、近年、記録メディアの容量が飛躍的に増加したことで、データサイズは大きくなるものの、まったく劣化を生じさせない可逆圧縮を用いたコーデックも増えてきている。こちらはおおむね6割から7割程度の圧縮が行える。

  • 圧縮しないコーデック
    • LPCM – 音楽CD、DVD-Video/Audio、Blu-ray Discなどで採用されている
  • 可逆圧縮・非可逆圧縮が選択できるコーデック
    • Windows Media Audio (WMA) – Windows Media Playerに搭載されているコーデック
    • Dolby Digital Plus – ドルビーデジタルプラス (DD+)
    • DTS-HD Master Audio - DTSが開発したDTSの拡張規格。BDに採用されている。
    • WavPack – 可逆モード、非可逆モード、そしてユニークなハイブリッドモードを備えている
  • 非可逆圧縮のコーデック
    • ADPCM – ドリームキャストなどに使用されたコーデック
    • AC-3 – ドルビーデジタル
    • AMR
    • DRA – 中国企業が開発したコーデック
    • ATRAC – ミニディスク (MD) やSDDSで採用されているコーデック
    • ATRAC2
    • ATRAC3 – MDLPで採用されているコーデック
      • ATRAC3plus – Hi-MDやUMDで採用されているコーデック
    • DivX Audio – WMAの海賊版
    • DSP Group TrueSpeech
    • DTS
    • Ghost
    • Indeo Audio
    • ITU-Gシリーズ勧告により国際規格化されたコーデック
      • G.723
      • G.726
      • G.729
    • MPEGオーディオ用コーデック
      • AAC – iPodや着うた、ヨーロッパのDVD、またBSデジタル放送と地上波デジタル放送等で使用されているコーデック
        • HE-AAC – ワンセグ、着うたフル等で使われているコーデック
      • MP1
      • MP2 – 多くのMPEG1が使用しているコーデック
      • MP3 – オーディオ機器など幅広く使用されているコーデック
        • Mp3PRO HE-AACと同様の技術であるSBRを使用したMP3。
        • Mp3Surround マルチチャンネル対応版
        • MP3#mp3HD 可逆圧縮に対応版。従来のMP3のストリームも格納される。
    • Musepack (MPC)
    • Vorbis – パテントフリーでオープンソース開発のコーデック。GoogleのWebMで採用。
    • QDesign Music
    • Real Audio
    • Speex – オープンソースの音声帯域向けのコーデックで、Oggプロジェクトにも採用されている
    • TwinVQ
      • SoundVQ – YAMAHAの開発したコーデック
    • XVD Audio
    • UEMCLIP – ITU-T G.711の電話音声符号化の標準方式を拡張し、高音質な広帯域音声での通信を可能にする符号化方式、NTT研究所で開発された技術
  • 可逆圧縮のコーデック
    • AAL (ATRAC Advanced Lossless) – 非可逆圧縮部分を内包し、用途に応じて取り出して利用する。
    • Apple Lossless(Apple Lossless Audio Codec、Appleロスレス) – iTunesやQuickTimeなどに搭載されているコーデック
    • MLP または Packed PCM – Dolby Digitalの派生。DVD-AudioやDolby Digital Plusに採用されている。
    • MPEG-4 ALS (MPEG-4 Audio Lossless) – 国際標準規格
    • DTS-HD – Blu-ray Disc・HD DVD向けのコーデック
    • FLAC (Free Lossless Audio Codec) – オープンソースで開発され、Oggプロジェクトの可逆圧縮用途にも採用されているコーデック
    • Monkey’s Audio – フリーウェアながら、高い圧縮と平易な操作を実現
    • TTA (The True Audio)
    • TAK (Tom’s lossless Audio Kompressor)
    • Dolby TrueHD

【動画圧縮のコーデック】

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

  • 非可逆圧縮のコーデック
    • AVS (Advanced Audio Video Coding Standard in Information Technology) – 中国独自のコーデック
    • Canopus HQ Codec – カノープスが開発した動画編集用のコーデック
    • Cinepak
    • Daala
    • Dirac – 英国放送協会 (BBC) の研究開発部門が開発したコーデック
    • DV CODEC – デジタルビデオカメラで採用されているコーデック
    • ITU-Tにより国際規格化されたコーデック
      • H.261 – ISDNTV会議システム用コーデック
      • H.262 – MPEG-2 のコーデックと同一
      • H.263 – 電話用モデムを想定したH.261よりも高い圧縮のコーデック
        • H.263より派生したコーデック
          • DivX – DivX, Inc.が開発しているコーデック。MPEG-4 ASPに準拠。
          • Xvid – オープンソースのH.263 (MPEG-4) コーデック。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 (Microsoft MPEG-4 Video Codec) – MPEGとは無関係だがMPEG-4と互換有り
            • AngelPotion – MS-MPEG4の海賊版
            • DivX 3.11 – MS-MPEG4の海賊版
            • Windows Media Video MS-MPEG4を基準に作られた
          • RMP4 (REALmagic MPEG-4 Video Codec) – 米Sigma Designs社が開発したコーデック。Xvidのソースコードを流用したことが発覚した。
      • MPEG-4 AVC
    • On2が開発したコーデック (TrueMotion)
      • VP3 – オープンソース化され無料で使用できるコーデック
      • VP4 – 中国独自の光ディスク規格EVDなどに使われているコーデック
      • VP5 – 上記に準拠。
      • VP6 – Adobe Flashで採用されているコーデック。
      • VP7 – VP6よりも高画質・高圧縮のコーデック
    • Googleが開発したコーデック(On2を買収した事による物も含む)
      • VP8 – GoogleのWebMで採用
      • VP9 – 同上
    • RealVideo – RealNetworks社開発のコーデック。低レートに強い
    • Snow – ffdshowによってサポートされるコーデック
    • Sorenson Video – QuickTimeムービー向けのコーデック
    • Theora – Xiph.orgがOn2VP3をベースに開発しているコーデック
    • WMV9 (VC-1) – Blu-ray Disc・HD DVDで採用
    • XVD
  • 可逆圧縮のコーデック
    • AMV Video Codec – 可逆、非可逆圧縮コーデック
    • AVIzlib – 3DCG動画制作用途などに使用されているコーデック
    • Huffyuv – テレビ番組の高画質記録などに使われているコーデック。マルチスレッド非対応。