什麼是圖像壓縮?

壓縮影像會減少其檔案大小。 圖像壓縮可以是有損或無損。

學習目標

閱讀本文後,您將能夠:

  • 定義圖像壓縮
  • 說明為何壓縮對影像最佳化很重要
  • 對比度有損與無損圖像壓縮
  • 瞭解常見的影像壓縮方法和演算法

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

使用 Cloudflare Pro 方案和我們的速度工具附加元件來提高網站效能

什麼是圖像壓縮?

圖像壓縮是一種使圖像文件更小的過程。 圖像壓縮通常是通過從圖像中刪除信息的字節,或者使用圖像壓縮算法以佔用較少存儲空間的方式重寫圖像文件來重寫圖像文件。 壓縮影像是確保在使用者與網站或應用程式互動時快速載入影像的有效方法。 它是 圖像優化的重要組成部分。

例如,下面是一個 96 KB 的影像:

96 KB 的地球範例影像

下面同一影像,壓縮至 70 KB:

70 KB 的地球範例影像

此處壓縮至 35 KB:

35 KB 的地球範例影像,影像模糊

為什麼圖像壓縮很重要?

壓縮的影像載入速度比未壓縮的影像快。 這很重要,因為網頁和應用程序加載的速度對 SEO轉化率,用戶的 數字體驗和其他關鍵指標產生巨大影響。 提高 網絡性能 是開發人員優化網站的主要方法之一。

圖像壓縮通常與 其他方法 一起使用,以提高 Web 性能。 例如, CDN 會快取內容,以便更快速地將內容交付給最終使用者。 負載平衡 有助於防止 Web 伺服器過載。 使用 延遲加載 可以使網頁的最重要內容加載得更快。 但是,總體而言,圖像壓縮通常是修復緩慢頁面性能的最快方法之一。

什麼是有損圖像壓縮?

考慮一個旅行者為旅行打包衣服。 旅行者可以將所有東西都裝在他們的衣櫃裡,從鞋子到帽子再到正式服裝。 但是,這種方法導致了大量的行李,旅行者需要隨身攜帶,減慢他們的速度,也許花費更多的錢來運輸。 取而代之的是,旅行者選擇最重要的服裝物品,並將它們包裝到一個手提箱中。

就像我們的旅行者不需要打包整個衣櫃一樣,人們很少需要以最大分辨率和最大尺寸查看整個圖像。 (最常用的桌面屏幕尺寸為 1680x1050 像素,最常用的移動屏幕尺寸甚至更小,尺寸為 360x800 像素。 即使在這些尺寸上,圖像也很少會佔據整個屏幕。) 通常情況下,圖像的質量和尺寸可以降低,這種方法對典型查看者來說並不明顯-這種方法稱為有"損"圖像壓縮。

失真影像壓縮會保留影像最重要的資訊,而不會保留每個像素。 有幾種類型的有損壓縮算法,在下面更詳細地描述。 但是,所有工作都通過從圖像文件中刪除信息,以便文件由更少的字節組成。

有損圖像壓縮方法

許多網路上託管的影像都是使用有損壓縮的檔案格式。 這樣可以確保圖像快速加載,並且不會使用太多帶寬。 有損壓縮方法的常見示例包括:

  • JPEG: 這種文件格式以聯合圖像專家組命名,可能是使用最廣泛的圖像壓縮方法。 它通常可以將文件壓縮為 10:1 的比例,並減少圖像質量。 JPEG 的最新版本包括 JPEG 2000 和 JPEG XR,但許多瀏覽器不支援這些格式。
  • WebP: 雖然 WebP 也支持無損壓縮,但它更常用於有損圖像壓縮。 谷歌最初開發了 WebP 來替換 JPEG,PNG 和 GIF 文件格式。
  • 高效圖像格式 (HEIF): 高效圖像格式 (HEIF) 是一種用於壓縮圖像的容器文件。 使用此方法壓縮的圖像有時稱為 HEIC 文件。

什麼是無損圖像壓縮?

如果我們旅行者想要的衣服不適合在行李箱中,他們可能會嘗試重新折疊和重新排列衣服以使其更合身。 同樣地,"無損"影像壓縮會使用數學演算法重新撰寫影像檔案,而不會移除任何資訊。 使用無失真壓縮處理的影像應該看起來與原始影像基本相同,但檔案大小應該要小得多。

雖然無失真壓縮可以減少多達 40% 的影像檔案大小,但對於縮小檔案大小和最佳化網頁影像,它仍然比失真壓縮還不如有效。 在決定有損和無損圖像壓縮時,網站建設者應仔細考慮 其最終用戶的需求並測試其網站的速度

無損壓縮方法

廣泛使用的無損壓縮方法包括:

  • 可攜式網路圖形 (PNG),有時會在網路上使用,而不是 JPEG 或 WebP。
  • 圖形交換格式 (GIF),通常在網絡上也使用。
  • 點陣圖 (BMP) 檔案通常太大,無法在網路上實際使用。
  • RAW 圖像根本不會壓縮。 數碼相機以 RAW 格式拍攝照片,但在使用網站之前,應將照片轉換為另一種格式並進行壓縮(除非該網站專門用於顯示極高質量的圖像)。

什麼是一些常見的圖像壓縮算法?

失真和無損壓縮方法都使用各種圖像壓縮算法(算法是計算機遵循的一組規則)來實現較小的文件大小。 轉換編碼,運行長度編碼,算術編碼,LZW,標記/放氣和霍夫曼編碼都是圖像壓縮算法的示例。

轉換編碼 是一種有損圖像壓縮算法,通常使用稱為離散餘弦轉換 (DCT) 的技術,這是一種使用較少信息在數學上表示文件的方法。 JPEG 依賴於轉換編碼。

執行長度編碼 (RLE) 是一種無失真壓縮演算法,可對重複的像素 進行編碼。 例如,如果連續有八個白色像素,而不是全部寫出八個像素(如 WWWWWWWW),它會記錄像素數量(如 8W)。

算術編碼 是另一種無損壓縮算法。 像任何數字文件一樣,數字圖像在較低的計算水平上用一串字符表示。 算術編碼使用較少的位元和較少使用的字元 (位元較多) 來編碼影像檔中常用的字元。 與原始字符串相比,結果整體上的位更少。

霍夫曼編 碼有點類似於算術編碼,但通常不會減少文件大小相當多。

LZW — 倫皮爾-齊夫-韋爾奇演算法是以 LZ77 和 LZ78 (兩種較舊的壓縮演算法) 為基礎的無失真壓縮方法。

標記/放氣是基於霍夫 曼編碼和 LZ77 壓縮的無損壓縮算法。

如何使用雲耀斑壓縮圖像

Cloudflare 提供三種產品,用於存儲,緩存,優化和調整圖像大小,以確保它們盡快加載:

使用這些服務,網站所有者可以通過單擊優化圖像,將圖像轉換為壓縮文件格式(例如 WebP),並自定義為哪些設備加載的圖像大小。 透過上方連結進 一步了解這些服務,或者在這裡開始使用 Cloudflare 方案