空間軸予測の後で、データを空間的にdecorrelateするための変換が行われる。この変換ではいくつかこの規格固有の特徴がある。(*decorrelate は辞書に無いがおそらく削減。この段階では"短く言い換える"もので画質劣化は無いハズ*)
マクロブロックサイズは16x16のままだが、これは 4x4 か8x8のブロックに分割され、4x4または8x8ブロック変換マトリクスT4x4かT8x8 がevery block of pixelsに適用される。式(*?*)は以下の通り:
4x4変換は非常に単純だ。8x8変換(FRExtのみ)はやや複雑だが、それでも一般的な8x8 IDCTに比べれば非常に単純と言える。(*変換係数の?*)「T」は、フルサンプルブロックサイズを変換の必要に応じてより小さなブロックに分割する事で、各マクロブロックの輝度(16x16)と彩度(8x8と、FRExtでは8x16または16x16) サンプル、の中の各ブロックに適用される。
さらに、16x16イントラ予測モードが4x4変換と一緒に使われる場合、マクロブロック中の16個の4x4輝度ブロックのDC係数はさらに選択され、下記のH4x4マトリクス(T4x4とH4x4の基本的な類似性に注意)を使った二次ハダマード変換により変換される。全てのマクロブロックタイプの中の輝度サンプルの4x4ブロックDC係数 も、同様に二次ハダマード変換により変換される。4:2:0ビデオでは、これはハダマードマトリクス H2x2(下記)による2x2彩度DC変換を必要とする。4:4:4ビデオでは、彩度DCは同じ4x4ハダマード変換を使う。これは16x16イントラモードで輝度に使うものと同じだ。4:2:2ビデオでは、彩度DC変換は2x4 彩度 DCの二次変換の為に、マトリクス H2x2 と H4x4を使う。
この変換により生成された係数は、マクロブロックごとに変更可能な量子化制御パラメータを使って量子化される。このパラメータは符号化後の映像が 8bit/サンプルをサポートしている場合、52種類の値を取り得る(*1)。もっと大きい映像ビット深度をサポートする場合、FRExtはステップの数を増やす。追加ビット1に対して量子化ステップ6段階(*FRExt expands the number of steps by 6 for each additional bit of decoded sample accuracy.*)。
重要なのは、量子化ステップサイズは量子化パラメータの値とリニアには対応していない事だ(全ての過去の規格とは異なる)。量子化ステップサイズは量子化パラメータが6増えると2倍になる(* vary in such a way that the quantization step size exactly doubles for every 6 increments of the quantization parameter. *)(*2)。
デフォルトの関連性は、輝度と彩度に使われる量子化ステップサイズで決まる。そしてエンコーダはこの関連性を、要求されるカラーコンポーネントの忠実度に見合うように、スライスのレベルで調整できる。FRExt拡張では、エンコーダはCbとCrの忠実度を個別にバランスさせる事ができる。
---------------
(*原注2)
MPEG-4 part 2 と JPEG2000は整数ウェーブレット変換を含む。しかしJPEG2000はフレーム間予測を持たない画像符号化規格で、MPEG-4では整数変換はテクスチャ符号化と呼ばれる特殊な部分でしか使えず(一般的なIフレーム符号化に似ているが、ほとんど実装されていない)、ほぼ全ての映像データで使われる主要な変換は丸め誤差の発生する理想的な8x8IDCTだ。整数変換のコンセプトもH.263 Annex
Wで使われてはいるが実情を追認するパッチに過ぎない。もともとは8x8浮動小数点IDCTだ。