【Vorbis/FLAC】Ogg統合11【Theora/etc...】
574 :
570:
Atrac です。
なぜ、Vorbis は低ビットレートの方が高負荷か。
各音声圧縮では入力音声を一定間隔のブロックに区切って
それぞれのブロックに MDCT と呼ばれる処理を行う。
MDCT は実際には隣のブロックと重ねるように処理するので
各ブロックごとに2ブロック分の長さの DCT を行う。
上記のブロックの大きさはビットレートによらない、Vorbis 以外は。
Vorbis ではブロックの大きさを曲ごとに2つをエンコーダが自由に
決められる。 そしてエンコーダはビットレートが低いほど
ブロックサイズを大きくする。
長さ n の FFT ( DCT の高速版 ) の計算量は n・log n に比例。
メモリ消費量は n に比例。
だから例えば 256サンプルDCT×4回 よりも
1024サンプルDCT×1回の方がかなり時間がかかる。
↓はMDCT のブロックサイズ
MP3 : 18 or 6 (576 サンプルのサブバンド)
AAC : 1024 or 128
ATRAC : 256 or 64 or 16 (512 サンプルのサブバンド)
ATRAC3 : 256 (1024 サンプルのサブバンド)
ATRAC3plus : 256 (4096 サンプルのサブバンド)
Vorbis : 64 〜 8192
Vorbis はブロックサイズが大きい傾向。