MPEG-4 SLS
整数MDCT (IntMDCT) は整数で近似した可逆性のあるMDCT(修正離散コサイン変換)で、通常のMDCTが計算時の丸め誤差のため逆変換で元の値に戻らないのに対し、逆変換で元の値に戻すことができるため周波数領域でのロスレス圧縮に向いている。
通常のMDCTを単純に整数に丸めながら処理を行うと丸め誤差の蓄積のため精度が落ちる。整数MDCTは整数への丸め回数を減らすことで精度の低下を抑えるよう、アルゴリズムの工夫がされている。
そのため、階層が増えるに従って下位のビット情報が追加されてデータの欠落が少なくなり、全ての階層を取り出せばロスレス符号化結果が得られる。コアコーデックの符号化結果のみを取り出すことも容易にできる。
復号時は、コアコーデックと拡張部分の符号化結果を取り出し符号化とは逆の処理を行うことで最終的な信号を復元する。
具体的には、コアコーデックの情報からMPEG-4 AACの復号アルゴリズムを用いて周波数領域の各係数を求め、これを逆量子化した信号と誤差情報を表す拡張部分の復号結果と足し合わせて本来の周波数領域の信号を求める。これに整数MDCTの逆変換を行って時間領域の信号に戻す。
コアコーデックを使わない設定の場合は、整数MDCTとエントロピー符号化のみで信号が持つ全ての情報を階層的に符号化する。復号時は逆にエントロピー符号化結果を復号し整数MDCTの逆変換を行って入力信号を復元する。