mozjpeg:Mozilla的一個有關圖像壓縮的新項目

jopen 10年前發布 | 5K 次閱讀 mozjpeg

今天我準備向大家介紹Mozilla的一個新項目:mozjpeg。在目前兼容各個JPEG編碼器的情況下,這個項目以期提供產品級的JPEG格式解碼器來提高壓縮率。

我們為什么要做這個項目呢?

1992年左右,JPEG格式就作為有損壓縮的圖片格式在Web世界里流行起來了,它的主流地位持續了很長時間。可以說Web上絕大部分照片都是以JPEG格式存在。作為有損壓縮的圖片格式化,只有JPEG能在各個瀏覽器甚至所有的軟件上正常工作。

這些年來,各個網站上的圖片的數量和大小都增長了很多。相對的,HTML、JS和CSS文件大小都減小了。這說明在頁面加載的過程里,圖片占用了大量的網絡流量。所以減小圖片的大小能夠有效地實現頁面優化。

在壓縮效率方面,JPEG編碼器經歷了一段時間的停滯不前,用別的方式來替代JPEG也一度成為了熱門話題。但是使用新的圖片格式以后,還要在兼容 性上再花費好幾年時間,所以JPEG的棄用論的熱度也漸漸冷卻。在Mozilla,我們從不懷疑在算法層面上的改進是有作用的。即使在目前的過渡 期,JPEG仍然會被廣泛地使用。

經過了20多年,現在JPEG編碼器不知道是不是真的到達了壓縮極限。在經過和多為工程師的討論后,我們認為即使在很高的兼容性要求下,JPEG仍然可以進一步壓縮。我們掌握了一些可靠的方式來進行進一步探索,于是mozjpeg項目就開始了。

在現在的1.0發布版添加了“jpgcrush”功能的libjpeg-turbo的 分支。我們注意到用perl腳本寫的“jpgcrush”能夠有效減小JPEG文件大小,你可以在許許多多網上論壇上搜索到關于“jpgcrush”的信 息。它在無損的基礎上有效減小了文件大小,特別是在PNG轉為JPEG時,用IJG libjpeg可以達到2%-6%的壓縮比;維基媒體上獲取的1500個JPEG文件樣本平均達到了10%的壓縮率。達到這樣的效果是通過在編碼過程里尋 找使用到的最少位數。就我們所知,目前為止還沒有任何產品用到了這項技術,所以我們把它作為mozjpeg的第一個特性。

我們下一個目標是利用柵格量化來提高編碼質量。可以通過下面的方式為這個項目提供幫助或者了解更多信息:

原文鏈接: Mozilla Research   翻譯: 伯樂在線 - kmokidd
譯文鏈接: http://blog.jobbole.com/63498/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!