2009-12-23 160 views
4

我想了解在DCT壓縮中選擇係數的塊大小和最佳策略的效果。 基本上我要問什麼,我在這裏寫下:DCT壓縮 - 塊大小,選擇係數

Video Compression: What is discrete cosine transform?

讓我們假設最原始的壓縮。製作一張圖片。在每個博客上執行DCT並清零一些係數。

據我瞭解,塊越小越好。 小塊意味着像素更相關,因此DCT頻譜中的能量更「緊湊」。應該更加強調快速變化的圖像(高頻)。

假設我們將某些百分比的係數置零,那麼會導致最佳圖像質量,小塊還是大塊? 假設我們保留10%,25%,50%,75%,你會說這是另一個不同百分比的答案嗎?

另一個問題是如何選擇你保持不變的係數。我可以說,我必須根據位置而不是能量做出決定。 你會從左上角拿一個方格嗎? 我已經在DCT光譜中取得了很多塊的平均值,並且最好從左上角取一個三角形。你怎麼看?

希望我們能有效的討論。

回答

9

你的問題的本質似乎是關於圖像質量。關於這個問題已經有了大量的文獻,結果是圖像質量很難確定。標準的數學誤差測量,如信噪比(SNR)和均方誤差(MSE)可以給出定量的答案,但衆所周知,這些與主觀觀衆意見不相關,這必須是我們的最終權力。沒有其他方法,甚至那些建立在觀看者的心理 - 視覺模型上的方法(例如SA Karunasekera和NG Kingsbury,「A distortion measure for block artifacts in images based on human visual sensitivity」,IEEE Trans.on Image Proc.vol.4 ,第6期,1995年6月,第713-724頁;和M.Miyahara,K.Kotani和VRAlgazi,「Objective picture quality scale(PQS)for image coding,」IEEE Trans.on Comm.vol.46, No.9,1998年9月,第1215-1226頁)已經證明自己比SNR更好。此外,當您改變圖像類型(線條畫,卡通,照片,人像等)時,某些類型的壓縮失真變得更加明顯。一幅圖像中的蚊子噪音可能令人反感,而樓梯噪音可能是另一幅圖像中的罪魁禍首。

簡而言之,對於您的問題沒有輕拍回答,「什麼會導致最佳圖像質量?」

這就是說,我們可以說一些關於DCT的相關內容。塊的DCT中的像素從左上角[(0,0) - >(0,1) - >(1,0) - >(2))以鋸齒形圖案從低變化到高變化。 ,0) - >(1,1) - >(0,2) - >等],作爲您的三角形選擇鏡像。像素越接近左上角,其中包含的信息越平滑[事實上,(0,0)DCT值是整個塊的平均值],並且距離該角越遠,越多「高頻」細節你會得到。越接近圖像的頂部和左側,您將使用該DCT係數表示的水平和垂直細節越多,並且越靠近塊的對角線,您將獲得的對角線細節越多。

簡而言之,有損壓縮通常需要丟棄一些可能無法察覺的「細節」。 (丟掉「更平滑」的DCT值會導致嚴重失真。)丟棄的DCT值越多,壓縮比就越大,但是也會導致更大的失真。

至於塊的大小,這一切都取決於。在一個塊中存在的方差和細節越多,通過丟棄係數就會失去的越多。一些壓縮算法自適應地在同一圖像內使用不同的塊大小,以便高細節區域接收越來越多的小塊,平滑區域接收越來越少的塊。

對於使用單個塊大小的算法,8x8,16x16和32x32對於JPEG和MPEG等格式是很常見的。壓縮它們所需的處理將小於自適應塊大小,但質量通常也會更低。

+0

感謝您的徹底解答。 當然,在我的問題中,我假設單塊大小。 我不關心SNR/MSE。我只是想理解理論。 就我所見,塊越小越好 - 因爲較小的塊通常意味着更容易壓縮的相關像素(或者說,更好地通過更少的係數來定義)。我對這些假設是否正確? 只是爲了平滑理論,然後理解特定圖像的具體情況。 – Royi 2009-12-24 22:26:48

+0

一般而言,就相關性而言,較小的塊更好,但如果它們太小,則壓縮比將受到影響,因爲您將無法從每個塊中丟棄多個係數而不會造成嚴重失真。 – metal 2010-01-13 22:20:13

+1

+1哇!令人驚歎的答案。你甚至包括一篇相關的文章。 – 2012-06-28 16:20:24