谷歌開源新JPEG算法 可將文件縮小35%
據(jù)國外媒體報道,谷歌開發(fā)了并開源了一種新的JPEG算法,該算法可將文件大小減少大約35%,或者在保持文件大小不變的情況下顯著提高圖像質量。
重要的是,與WebP和WebM等其他圖像壓縮方式不同,谷歌新的JPEG算法與現(xiàn)有的瀏覽器、設備、照片、編輯應用和JPEG標準完全兼容。
這種新的JPEG編碼器被稱為Guetzli。Guetzli是瑞士德語“曲奇”的意思,這也許是因為該項目是由谷歌研發(fā)部門GoogleResearch的蘇黎世辦事處負責開發(fā)的。
有許多方法可以調整JPEG圖像質量和文件大小,但Guetzli專注于壓縮的分層階段。簡單地說,分層是一種嘗試將大量無序數(shù)據(jù)(難以壓縮)轉換成有序數(shù)據(jù)(非常容易壓縮)的過程。在JPEG的編碼過程中,通常將柔和的顏色漸變簡化為單個色塊,并且完全消除其中的小細節(jié)。
這個過程的困難之處是在消除細節(jié)與縮小文件之間找到平衡。在這一點上,每一種有損編碼器(如libjpeg、x264、lame)的做法都不一樣。
根據(jù)Google Research的描述,Guetzli使用了一個新的心理視覺模型(名為Butteraugli),以確定哪些顏色和細節(jié)要保留,哪些要消除。在這種情況下,心理視覺意味著它基于人類的視覺處理系統(tǒng)。Butteraugli的確切細節(jié)隱藏在數(shù)百個高精度常數(shù)中,這些常數(shù)產生了一個近似顏色感知和視覺掩蔽的模型。
然而,我們不知道的Google Research是如何計算出這些高精度常數(shù)的,它們似乎是計算機生成的,或者至少是計算機優(yōu)化的。
雖然Guetzli的主要作用是縮小文件尺寸,但Google Research認為它也可以用于在保持文件大小不變的情況下提高JPEG圖像的質量。當研究人員對Guetzli編碼的圖像和libjpeg(一個流行的開源編碼器)編碼的圖像進行對比評估時,75%的參與者更喜歡Guetzli。
Guetzli可以通過Github免費下載。網絡工程師、平面設計師和攝影師都可以試一試。需要提醒的是,使用Guetzli進行圖像壓縮比使用libjpeg處理圖像要慢,因為Guetzli涉及更多的分層過程。