DCT ( D iscrete Cosine Transform)を使用して画像圧縮を試みています。マスキングがDCTのピクセルあたりのビットにどのように影響するかを理解するのを手伝ってもらえますか? マスキングでのビット割り当てはどのように行われますか?
PS: マスキングとは、DCT 係数を以下のような行列で乗算することを意味します (要素ごとの乗算であり、行列の乗算ではありません)。
mask = [1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0]
「マスキング」の背景
DCT を使用した圧縮では、画像のブロック (この場合は 8x8 ピクセル) の DCT が計算されます。画像の高周波成分は、人間の画像認識にとってそれほど重要ではないため、スペースを節約するために破棄できます。
Matrixはmask
、スペースを節約するために保持する DCT 係数と破棄する DCT 係数を選択します。左上隅に向かう係数は、低周波数を表します。
詳細については、離散コサイン変換を参照してください。