量子化ラボ
量子化がなめらかな階調をどのように段差に変えるか
圧縮は量子化の痛みから始まることが多い 🖖
量子化とは、連続値や高精度な値を有限のコードブックに丸める処理である。誤差は1サンプルあたりでは通常小さいが、なめらかなグラデーションでは隣接するピクセルが同じ少数の出力値に丸められるため、輪郭バンドとして目に見えるようになる。ディザは丸める前に意図的にノイズを加える手法で、局所的なノイズは増えるが、まとまったバンドを崩す。これは人間の視覚には見た目がよいことが多く、コーデックでの圧縮のされ方も変わる。 • 元のグラデーションと出力: 上の帯は数学的になめらかな入力グラデーションを示している。下の帯は、選択したレベルに丸められた量子化後の出力を示している。ビット深度が低いと、この丸め処理が目に見える輪郭バンドを生み出す。 • 量子化誤差グラフ: これはグラデーション上の各位置における差分(出力 − 入力)をプロットしたものである。黄色の線が誤差、緑色の線が誤差ゼロを表す。周期的な大きな誤差の波はバンディングを示し、ディザを加えるとこの誤差が高周波ノイズにランダム化される。
ビットとは段階の数のこと 🖖
現実のグラデーションは連続的ですが、コンピューターは決まった値のリストから選ぶしかありません。ビット深度はそのリストの長さを決めます。1ビット増えるごとに数が倍になり、8ビットなら2⁸ = 256階調、10ビットなら1024階調です。段階が少ないほど丸めが粗くなり、6ビット(64階調)まで下げると滑らかな空が目に見える縞に分かれてしまいます。
1ビットごとに約6 dB得をする 🖖
SNRの表示にはきれいな法則が隠れています。均一量子化では、1ビット増えるごとに信号対雑音比が約6.02 dB改善し、フルスケール正弦波では SNR ≈ 6.02·N + 1.76 dB に従います。同じ式が音声コンバーターにも画像エンコーダーにも当てはまるため、16ビットの音声トラックと16ビットの画像は同じ理論上の量子化雑音の下限を共有します。1ビット足せば6 dBの利得――媒体を問いません。