Google開源新演算法,可將JPEG文件縮小35%
來自:36氪
作者:boxi
出處:http://36kr.com/p/5067258.html
新演算法還可以在保持大小不變的情況下顯著改善圖片質量。
一圖勝千言。Web與過去冷冰冰的互聯網最大的區別就在於多了豐富的圖片。而web上面最流行的靜態圖片格式非JPEG莫屬。JPEG文件的多寡往往會影響頁面的載入速度。為此,Google開發了一種新的JPEG演算法,可將文件大小減少35%,這無疑會提高網站的載入性能;此外新演算法還可以在保持大小不變的情況下顯著改善圖片質量。更重要的是,Google的這種JPEG格式跟WebP、WebM等圖像壓縮辦法不同,它可以完全與現有的瀏覽器、設備、圖片編輯應用以及JPEG標準兼容。而且,Google還把它給開源出來了。
Google的這個新的JPEG編碼器叫做Guetzli,由Google研究院蘇黎世辦公室領導開發。Guetzli在瑞士德語中是曲奇的意思,不過項目內容似乎跟曲奇並沒有太大的關聯,這也許是Google命名傳統的延續,就像Android系統都是以糖果名稱來命名那樣。
一般而言,優化JPEG圖片質量與大小有好幾種手段,不過Guetzli聚焦的是量化階段的壓縮。簡而言之,量化就是把大量難以壓縮的無序數據縮減為易於壓縮的有序數據的過程。在JPEG的編碼中,這一過程往往是通過將漸變的顏色簡化為色塊而把小的細節完全抹除掉。
不過這個過程的困難之處在於,要在抹除細節與縮小文件大小之間找到平衡。每一種有損編碼器(比如libjpeg、x264、lame)的做法都不一樣。
而Guetzli的做法是利用一種新的精神性視覺模型(基於人類的視覺處理系統)來確定應該保留和丟棄哪些顏色和細節,它的名字叫做Butteraugli。Butteraugli的具體細節淹沒在一堆高精度的常量之中,這些常量可以生成一個「近似於顏色感知和視覺」的模型,而且比其他的編碼器更加透徹和詳細。
至於Google研究院是如何發現這些常量的就不得而知了。不過似乎是計算機生成的,或者至少是經過計算機優化的。之前Google曾經推出過一款可以將有碼變成無碼的AI軟體,它可以利用兩種神經網路從已知的圖片中尋找與待補充細節匹配的新像素,並將添加進去。也許給神經網路提供足夠豐富的圖像語料庫的話,AI就能概括出這種精神性視覺模型?
編碼器對比:左為原圖,中為libjpeg的處理,右為Guetzli。
左為原圖,中為libjpeg的處理,右為Guetzli。
雖然Guetzli的主要用途是減少文件大小,但Google研究院認為該編碼器也可以在保持大小不變的同時用來提高JPEG可感知的畫質。在於另一款流行的開源編碼器libjpeg進行對比時,Google稱「75%的打分更偏好Guetzli。這意味著Butteraugli的精神性視覺圖像類似性指標在高畫質方面接近於人類感知。」
不管是減少大小還是提高質量,Guetzli的開源對於JPEG這款高度流行的圖片格式的作用都是深遠的。不過,Google要實現這些效果也不是說沒有任何代價,跟libjpeg相比,其編碼需要的時間還是要多一些。
本文編號2284,以後想閱讀這篇文章直接輸入2284即可。
輸入m可以獲取到文章目錄
本文內容的相關公眾號推薦
Java編程
演算法與數據結構
更多推薦《15個技術類公眾微信》
涵蓋:程序人生、演算法與數據結構、黑客技術與網路安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。


※拯救程序員的自尊心 我建議他去伯克利
※技術的熱門度曲線
※九個問題從入門到熟悉HTTPS
※2016年總結-Java程序員
TAG:程序猿 |
※常用的三大Java EE開源伺服器Apache Geronimo3、Tomcat8和JBoss7比較分析
※谷歌開源 JPEG 編碼器 Guetzli,壓縮 35% 也能生成高質量圖片
※開源軟體界興起的新平台 GitLab,宣布獲得 Google Ventures 領投 2 千萬美元
※Github 2450星的開源跳板機Jumpserver新版發布!
※Oculus Rift DK2現已開源
※Facebook 開源 JS 代碼優化工具 Prepack;GCC 7.1 發布;李彥宏再度強調 AI 轉型決心
※XSS OR 開源,Hack with JavaScript
※不敵GitHub:微軟開源平台CodePlex關門
※Facebook 開源新一代機器學習 GPU 伺服器 Big Basin;谷歌召開 Google Cloud Next 雲技術大會等
※OC4大會前夕 Oculus Rift DK2正式開源
※Work Time Manager「開源項目」-創建自己日誌組件 2.0重構
※超薄+開源,一款鑰匙大小的Linux計算機PocketBeagle
※Facebook開源PyTorch版本fairseq翻譯模型,訓練速度提高50%
※愛開源的微軟是如何擊敗 Facebook、Google 成為 GitHub No.1 的?
※GitHub開發者呼籲Adobe將Flash開源
※KindEditor開源富文本編輯框架XSS漏洞
※Jamming with Ubuntu 2017——用開源技術打造物聯網應用
※GitHub使用Electron重寫桌面客戶端;微軟小冰推出詩集;Facebook開源AI對話框架
※TensorFlow Agents日前開源,輕鬆在TensorFlow中構建並行強化學習演算法