音声ファイルフォーマット

音声ファイルフォーマットは、音データをコンピュータシステム上で格納する際のファイル形式の総称である。

1. 概要
-----

音声の符号化には、大別してパルス符号変調方式に基づくものと、パルス密度変調方式に基づくものとがある。CD-DAやDVD-Audioに使用される方式は前者であり、Super Audio CDに使用される方式は後者である。リニアPCMは音声信号の強度を特定の量子化ビット数の数値として表現し、一定の時間間隔で標本化する。音声信号の強さの代わりに、音声信号の強さの差分を符号化する方式として差分パルス符号変調や適応的差分パルス符号変調がある。一方でPDMは音声の波の疎密を1bitで表現して一定の間隔で標本化する。

これらのデータは圧縮されずに格納されるか、ファイルサイズを削減するために圧縮して格納される。その際に、どのような構造で格納されるかを規定するものがファイルフォーマットである。例えば、生のPCMデータは 量子化ビット数[bit/sample]×サンプリング周波数[sample/sec]×時間[sec] で定まる長さのビット列として表されるが、これを音声データとして解釈する場合、それがPCMで符号化された音声であること、量子化ビット数、サンプリングレートなどの情報が必要である。ファイルフォーマットはこれらデータの配置の仕方・形式を規定する。リニアPCMを格納したWAVフォーマットは、RIFF識別子、この項目以降のサイズ、フォーマット情報、fmt識別子、fmtチャンクのサイズ、リニアPCMであることを表す情報、チャンネル数、サンプリングレート、バイトレート、ブロックサイズ、データ識別子、PCMデータのバイト数、PCMデータ、という形式になっている。ただし数値はリトルエンディアンで表現される。より複雑なファイルフォーマットでは、曲名、アーティスト名、アルバムアート、歌詞など、他の付加的情報を格納することもでき、その為のフォーマットが規定される。

ファイルフォーマットとコーデックを区別することは重要である。コーデックは生の音声データを符号化／復号する方式であり、ファイルフォーマットは音声をファイルに格納する際の特定の形式を指す。ただし、音声ファイルフォーマットには1つのコーデックが対応することもある。複数のコーデックが対応する音声ファイルフォーマットとしては、Matroska AudioやMP4などがある。

2. 種類
-----

音声ファイルフォーマットには、主に非圧縮音声の格納に用いられるもの、可逆圧縮音声の格納に用いられるもの、非可逆圧縮音声の格納に用いられるものとがある。

2.1. 非圧縮音声
----------

PCM形式の非圧縮音声については、WindowsではWAV、Mac OS ではAIFFに格納されることが標準的である。WAVは柔軟なファイルフォーマットであり、非圧縮／圧縮を問わず、任意のサンプリング周波数とビットレートの音声を格納できる。一方でPDM形式の非圧縮音声はDSDIFFやDSFなどの形式で格納される。詳細はDSDを参照。

WAV - 主にMicrosoft Windowsで使われている標準音声ファイルフォーマット。基本的にはリニアPCMが格納される。ただし他コーデックを格納することも可能である。ファイル内の構造は RIFFを踏襲している。これはIFFフォーマットに似ている。
AIFF - アップルの標準音声ファイルフォーマット。言うなればMacintoshにとってのWAVである。
BWF  - 欧州放送連合がWAVの後継として策定した標準音声フォーマットである。BWFではファイルにメタデータを含めることができる。詳しくは、European Broadcasting Union: Specification of the Broadcast Wave Format - A format for audio data files in broadcasting. EBU Technical document 3285, July 1997 を参照。このフォーマットは録音時のフォーマットとして、テレビや映画業界で使われる多くのオーディオワークステーションで採用されている。SMPTEタイムコードをファイルに含めることができるため、別に録画された画像と同期をとるのが容易である。可逆圧縮を伴うフォーマットでは、録音や再生の際に余分な処理が必要となるが、大量の録音をする場合にはストレージ容量の節約という点で効率的と言える。WAVなどの非圧縮形式は、録音対象が複雑な音楽でも全くの静寂であっても、単位時間当たりに同じ量のビットを記録する。例えば、オーケストラの演奏のような複数の音が混じる場合でも、全く音がしない状況でも、非圧縮の場合、単位時間当たりのファイルサイズは同じである。同じものを可逆圧縮方式であるTTAで符号化した場合、前者のファイルはある程度小さくなり、後者のファイルはほとんどゼロに近いサイズになるだろう。しかし、音声データをTTAで符号化するには、非圧縮よりも処理時間がかかる。

2.2. 非可逆圧縮音声
------------

非可逆圧縮方式は、一般には元データを復元することができない。音響心理学等様々な技法を使用し、可聴域にない音や、ある音でマスクされて聴き取り難い音を省いて圧縮するため、同じ音源のPCMファイルよりも数分の一のサイズになるが、体感的な音質はそれなりに保たれる。コーデックそれぞれの工夫により圧縮率、再生時の音質・特性の差違がみられる。

AAC - Advanced Audio Coding。MP3と並ぶ代表的な非可逆圧縮コーデックのひとつで、MP3よりも音質が良い。MPEG-2 と MPEG-4 に基づいている。AAC ファイルにはコンテナ形式として ADTS と ADIF がある。
ATRAC - ソニーが開発した非可逆圧縮コーデック。SonicStage、x-アプリ等に使われている
mp3 - 音楽ダウンロード配信で最も一般的な音声非可逆圧縮コーデックのひとつであり、ファイルフォーマットでもある。MP3は音楽の圧縮には適しているが、話し声には適していないとされているdate=2019年10月12日}}。
mp4/m4a - MPEG-4 音声フォーマット。中身は AAC であることが多いが、MP2/MP3 が格納されることもある。MP4には音声に限らず動画ストリームや字幕なども格納できる。拡張子 *.m4a はとくに音声ストリームを格納したMP4ファイルに用いられる。
Opus - Vorbis よりもさらに高音質な音声非可逆圧縮コーデック。低遅延ながら低ビットレートから高ビットレートまで高い音質であり、音声通信や音楽の圧縮に利用できる。
Vorbis - 音声非可逆圧縮コーデックのひとつ。主にOggコンテナに格納される。MP3よりも圧縮効率がよい。
Windows Media Audio - マイクロソフトが権利を保有する非可逆圧縮コーデック・ファイルフォーマット。デジタル著作権管理機能が含まれている。

2.3. 可逆圧縮音声フォーマット
-----------------

可逆圧縮の為、元データと同一のデータを保持したままサイズを削減することができる。全てのフォーマットの音質は同一の為、圧縮率、エンコード・デコードの計算リソース、付加機能、再生環境等を比較する事により有用性を判断することができる。

TAK - 圧縮率、エンコード・デコード速度、機能面共にバランスの取れた総合的に高い性能を誇る。フリーウェアだがオープンソースではない。
FLAC - エンコード・デコード速度、機能面に高い性能を誇る。圧縮率は低いが最もメジャーなコーデックのひとつ。ファイルフォーマットも兼ねている。
Monkey's Audio - 可逆圧縮コーデックでありフォーマット。OSSで圧縮率、エンコード速度に高い性能を誇るが、Windows以外のOSに公式非対応という欠点がある。デコード速度は遅い。
TTA - 平均的にバランスの取れた性能。
WavPack - 平均的にバランスの取れた性能。非可逆ファイルと差分ファイルを生成することで、非可逆音声と可逆音声の両方として扱うことのできる、ハイブリッドモードがある。PDM方式の音声データの圧縮にも対応する。
LA - 圧縮率に高い性能を誇る。エンコード・デコード速度、機能面共に低い性能。
mp3HD - MP3 可逆圧縮コーデックでありフォーマット。MP3によって非可逆圧縮されたデータに、可逆圧縮されたデータを添加したもの。MP3のみの再生機でも再生可能だが、非可逆圧縮相当の音質となる。
MPEG-4 ALS - MPEG-4 可逆圧縮コーデック、圧縮率、エンコード速度に高い性能を誇り、柔軟性が高い。
MPEG-4 SLS - MPEG-4 可逆圧縮コーデック、AAC 再生機でも再生可能
Apple Lossless - Appleの開発した可逆圧縮コーデック。後にオープンソース化された。
ATRAC Advanced Lossless - ソニーの開発した可逆圧縮コーデック
WMA Lossless - マイクロソフトの開発した可逆圧縮コーデック

3. パテント別分類
----------

3.1. フリーかつオープンなコーデック・フォーマット
---------------------------

WAV、FLAC、AIFF、ALAC
Matroska Audio - フリーでオープンソースな汎用コンテナフォーマットであり、各種コーデックをサポートしている。
Ogg - フリーでオープンソースな汎用コンテナフォーマットであり、各種コーデックをサポートしている。最も一般に使われるコーデックは Vorbis である。
Opus - Vorbisと同等にパテントフリーなコーデックである。
AU - サン・マイクロシステムズの標準音声ファイルフォーマット。Javaでも使われている。PCM そのまま以外に、μ-law、A-law、G.729 といった可逆・非可逆コーデックを格納できる。

3.2. オープンなコーデック・フォーマット
----------------------

AAC、mp4/m4a
GSM - 欧州で電話での利用目的で設計された。従って、電話レベルの音質に最適である。ファイルサイズと音質の兼ね合いが良い。WAV ファイルは GSM コーデックで圧縮可能である。
dct - 各種コーデックが使えるフォーマットであり、口述筆記向けである。
vox - Dialogic ADPCM コーデックを使うことが多い。他の ADPCM フォーマットと同様、サンプル当たり4ビットに圧縮する。vox フォーマットのファイルは WAV ファイルとよく似ているが、メタデータ的なものが全くないため、再生時にはサンプリング周波数やチャンネル数といった情報を外から与える必要がある。

3.3. オープンでないコーデック・フォーマット
------------------------

MP3、WMA、ATRAC、TAK
RealAudio - インターネットにおけるストリーミング向けに設計されたフォーマット。再生に必要な全情報がファイルに格納されている。
Digital Speech Standard- オリンパスが権利を有する。古い形式でありコーデックの性能も良くない。
msv - ソニーのメモリースティックで使われる独自の音声ファイルフォーマット。
dvf - ソニーのICレコーダーで使われる独自の音声ファイルフォーマット。
m4p - アップルがiTunesで使うために独自に拡張したデジタル著作権管理付きのMP4フォーマット。

4. 脚註
-----

5. 関連項目
-------

ファイルフォーマット一覧
音声圧縮

6. 外部リンク
--------

[1]