我聽說Jpeg使用Hufman代碼。什麼是霍夫曼編碼?Jpeg編碼技術
Jpeg編碼技術
回答
霍夫曼編碼是一種採用符號(例如字節,DCT係數等)並用根據統計概率分配的可變長度代碼對它們進行編碼的方法。經常使用的符號將使用僅佔用幾位的代碼進行編碼,而很少使用的符號由需要更多位來編碼的符號表示。
JPEG文件最多包含4個霍夫曼表,這些表定義了這些可變長度代碼(需要1到16位)和代碼值(它是8位字節)之間的映射關係。創建這些表通常包括計算每個符號(DCT代碼字)出現在圖像中的頻率,並相應地分配位串。但是,大多數JPEG編碼器只是使用JPEG標準中提供的哈夫曼表。有些編碼器允許優化這些表,這意味着創建了一個最佳二叉樹,可以生成更高效的霍夫曼表。
非常感謝,另外一個問題,你提到的DCT係數是什麼? – 2011-02-08 19:49:52
只是爲了完成david99world給出了答案:
Huffman編碼只是在JPEG壓縮的最後步驟。重要的壓縮來自應用於DCT的量化矩陣。這是什麼?那麼,DCT變換隻是一種通過頻率顯示圖像信息的方法。
你將不得不與DCT係數的矩陣,示出頻率信息,在左上角集中的大多數信息:
代替具有這樣與像素值的矩陣的現在您已經擁有了DCT係數,它實際上是一個壓縮步驟,它將所有的值除以基於人眼視覺的量化矩陣。這個矩陣將使那些包含與人眼無關的信息的係數爲零,並且將使幾乎相同的重要信息相同。
爲什麼這一步壓縮很重要?因爲現在你有很多的零,所以霍夫曼編碼將以小代碼字對大量的零進行分組,因此你正在節省存儲空間。
你可以嘗試計劃在Matlab整個算法,你會更好地理解它。請注意,如果您多次應用Q矩陣,則會有更多的壓縮(更多的零),但也會產生質量較差的圖像。
我希望這可以讓你的事情更清晰。
- 1. 編碼技術
- 2. Facebook編碼技術
- 3. JavaScript編碼技術或錯誤代碼?
- 4. mint.com編程技術
- 5. 什麼是編碼技術叫?函數[]()
- 6. 的Javascript的書,瞭解編碼技術
- 7. JPEG編碼問題
- 8. Mongomapper - bootstrapping技術
- 9. Stumbleupon.com技術
- 10. ajax技術
- 11. HTML5技術
- 12. GetDeviceCaps技術
- 13. 滾動技術
- 14. openmp reduce技術
- 15. 猜測技術
- 16. 分類技術
- 17. Spiceworks技術
- 18. WPF技術棧
- 19. .NET「推」技術?
- 20. 解決技術
- 21. Android NFC技術
- 22. 跟蹤技術
- 23. Sharepoint技術
- 24. 任何想法什麼視頻編碼技術YouTube使用?
- 25. 減少JavaScript的lib文件大小編碼技術
- 26. 關於性能優化技術,而編碼
- 27. 如何在j2me編碼中應用輔助-GPS或AGPS技術
- 28. 用於確保HTML和URL編碼的技術
- 29. ASP.NET MVC3設計模式和正確的編碼技術
- 30. 編碼技術效率問題:聊天室設計
這就是霍夫曼編碼**。如果你使用它,第一個答案會讓你進入[維基百科頁面](http://en.wikipedia.org/wiki/Huffman_coding)。 – darioo 2011-02-08 10:03:25