ImageAlpha:PNG有損壓縮
英文原文:PNG can be a lossy format
PNG 是一種無損圖片格式,也就是說,PNG 圖片會完全保留一幅圖片的所有細節,即使那些肉眼難以察覺的細微部分。保留這些細微部分的細節犧牲了不少文件大小。
相較而言,有損圖片格式(如 JPEG)可以生成更小的文件,因為有損圖片格式并不保存不必要的細節。
好消息!PNG 可以用作有損格式并且生成的幾分之一大小的文件,同時完美兼容無損 PNG 的解碼器。
有損平均濾波器
PNG 具有根據左、上的相鄰像素推測像素的能力。成功推測的像素幾乎可以被完全壓縮。
正常情況下,只有很少的像素被成功推測。但是最新的 ImageAlpha 的 Blurizer 選項可以操作圖片數據匹配推測,這樣使壓縮效果更好。
下面是一張經過強力壓縮的圖片,來展示這種有損壓縮的效果
對角模糊。77KB(原始尺寸550KB)。這個算法基于 Michael Vinther 和 William MacKay 的作品。
PNG8
通常 PNG 的每個像素需要需要 4 個字節,R、G、B和α通道。PNG8 通過存儲彩色調色板的索引減小了3/4 的文件大小。ImageAlpha 使用了 pngquant2——它擁有一個非常高級的色彩選擇算法并保留α透明度。
64 色圖片。111KB(原始尺寸714KB)
色調分離
色調分離以一種比圖像處理程序中色調分離過濾器更智能的方法,減少一個文件中獨立色階的數目。這種縮減是圖片中的噪聲更易于壓縮。
中位切分色調分離。100KB(原始尺寸374KB)
有損PNG和GIF、JPEG對比
GIF 采用一種過時的壓縮算法,完全就是浪費帶寬。即使有損 GIF 也比經過優化的無損 PNG 效果差。
有損 PNG 是否比 JPEG 擁有更好的效果依賴于圖片。JPEG 通常效果更好,文件大小更小。除非圖片中有尖銳的邊(如文本)或任何透明效果(JPEG 根本不支持透明)。
優化過的 PNG 仍然要比有損 JPEG-XR/WebP/JPEG-2K 文件更大一些。但于那些圖片格式不同,PNG 能為所有的瀏覽器和操作系統完美支持。
自己動手試試
使用 ImageAlpha,你可以對每一個文件選擇最合適的有損算法,并且以幾乎不犧牲質量的同時獲取1/2 文件大小的壓縮。
下載 OS X 最新版本(或單獨下載可移植的 posterizer/blurizer 和 pngquant2)。全部是開源的。請捐款支持我的圖片壓縮工具和相關研究。