可逆圧縮音声ファイル
可逆圧縮音声ファイル(lossless compressed audio file)は、音声データを圧縮しながら、復号時に元のサンプル列を完全に復元できる音声ファイルである。
代表的な形式・コーデックにはFLAC、ALAC、WavPack、Monkey's Audioなどがある。
原理
可逆圧縮は、音声信号中の統計的冗長性を利用してデータ量を減らす。
代表的な処理には、
- linear prediction
- channel decorrelation
- residual coding
- entropy coding
- Rice coding
などがある。
非可逆圧縮と異なり、知覚上不要と判断した情報を捨てることは前提としない。
完全復元
可逆圧縮では、
decode(encode(PCM)) = original PCM
が成立する。
したがって、元のPCMと復号後PCMをbit単位で一致させることができる。
Xiph.OrgのFLAC STREAMINFOには、unencoded audio dataのMD5 signatureが格納され、stream全体の検証に利用できる。[1]
FLAC
FLACはFree Lossless Audio Codecで、可逆音声圧縮として広く使用される。
FLAC streamはsignature、STREAMINFO、任意metadata block、audio frameから構成される。[2]
ALAC
ALAC(Apple Lossless Audio Codec)はAppleが開発した可逆音声圧縮方式である。
Appleはlossless compressionを「元のデータをすべて保持する圧縮形式」と説明し、自社のlossless codecとしてALACを案内している。[3]
ALACはM4Aファイルへ格納されることがある。
圧縮率
可逆圧縮率は音声内容に依存する。
単純な信号や無音に近い部分は圧縮しやすく、ノイズに近い信号は圧縮しにくい。
非可逆圧縮のように品質を落として任意に小さくする方式ではないため、圧縮後サイズには下限がある。
音質
可逆圧縮ファイルを正しくdecodeしたPCMは元のPCMと同一である。
したがって「FLACをdecodeするとWAVより音質が低下する」といった説明は、正常なdecodeを前提とすれば成り立たない。
再生時のソフトウェアや機器の不具合、resampling、DSP、volume処理などは別問題である。
制作とアーカイブ
可逆圧縮は、
- masterの保存
- music library
- archive
- network storage
- distribution
- backup
などに適する。
一方、DAWで頻繁にランダムアクセスする編集作業ではWAV/AIFFの方が単純で扱いやすい場合もある。
非圧縮との違い
非圧縮PCMと可逆圧縮の主な違いは保存表現であり、復号後のサンプル情報は同一にできる。
違いは、
- ファイルサイズ
- decode負荷
- seek特性
- metadata
- software compatibility
に現れる。
非可逆との違い
非可逆圧縮は、完全復元を諦めることでさらに高い圧縮率を得る。
可逆圧縮では音声情報そのものを保持するため、後からMP3やAACなど任意の配信用形式へ変換する元データとして使える。