圖形交換格式 (GIF) 是一種位圖影像格式,由線上服務供應商 CompuServe 的團隊開發,由美國電腦科學家史提夫·威爾希特於 1987 年 6 月 15 日領導開發。它因廣泛用於萬維網而聞名,因為它具有廣泛的支援和可移植性。該格式支援每個像素最多 8 位元,允許單一影像參考從 24 位元 RGB 色彩空間中選取的最多 256 種不同色彩的調色盤。它也支援動畫,並允許每個畫格使用最多 256 種色彩的獨立調色盤。
GIF 格式最初是為了克服現有檔案格式的限制而建立的,這些格式無法有效儲存多個位圖色彩影像。隨著網際網路越來越普及,對於一種能夠支援高品質影像且檔案大小足夠小,以便透過速度較慢的網際網路連線下載的格式的需求也越來越高。GIF 使用一種稱為 LZW (Lempel-Ziv-Welch) 的壓縮演算法來縮小檔案大小,而不會降低影像品質。此演算法是一種無失真資料壓縮,是 GIF 成功的一項關鍵因素。
GIF 檔案的結構由幾個區塊組成,這些區塊大致可分為三類:標頭區塊,其中包含簽章和版本;邏輯螢幕描述符,其中包含有關將要呈現影像的螢幕的資訊,包括其寬度、高度和色彩解析度;以及一系列描述影像本身或動畫序列的區塊。這些後面的區塊包括全域色彩表、區域色彩表、影像描述符和控制擴充區塊。
GIF 最顯著的特徵之一是它們能夠在單一檔案中包含多個影像,這些影像會依序顯示以產生動畫效果。這是透過使用圖形控制擴充區塊來實現的,這些區塊允許指定畫格之間的延遲時間,從而控制動畫速度。此外,這些區塊可用於指定透明度,方法是將色彩表中的其中一種色彩指定為透明,這允許建立具有不同程度不透明度的動畫。
儘管 GIF 以其簡單性和廣泛相容性而聞名,但該格式有一些限制,促使開發和採用替代格式。最顯著的限制是 256 色調色盤,這可能會導致包含超過 256 種色彩的影像的色彩保真度明顯降低。此限制使得 GIF 不太適合用於複製彩色照片和其他具有漸層的影像,而支援數百萬種色彩的格式(例如 JPEG 或 PNG)則較為合適。
儘管有這些限制,GIF 仍然普遍存在,因為它們具有其他格式不易複製的獨特功能,特別是它們對動畫的支援。在 CSS 動畫和 JavaScript 等更現代的網路技術出現之前,GIF 是為 網路建立動畫內容最簡單的方法之一。這有助於它們為需要簡單動畫來傳達資訊或吸引注意力的網頁設計師、行銷人員和社群媒體使用者維持一個利基使用案例。
GIF 檔案的標準隨著時間而演變,原始版本 GIF87a 在 1989 年被 GIF89a 取代。後者引入了多項增強功能,包括指定背景色彩和引入圖形控制擴充功能,這使得建立迴圈動畫成為可能。儘管有這些增強功能,但該格式的核心方面,包括使用 LZW 壓縮演算法和支援每個像素最多 8 位元,仍然保持不變。
GIF 格式的一個有爭議的方面是 LZW 壓縮演算法的可專利性。1987 年,美國專利和商標局向 Unisys 和 IBM 頒發了 LZW 演算法的專利。這導致 1990 年代後期出現法律爭議,當時 Unisys 和 CompuServe 宣布計畫對建立 GIF 檔案的軟體收取授權費。這種情況導致線上社群廣泛批評,並最終開發出可攜式網路圖形 (PNG) 格式,該格式被設計為 GIF 的免費且開放的替代方案,不使用 LZW 壓縮。
除了動畫之外,GIF 格式通常用於為網站建立小型、詳細的影像,例如標誌、圖示和按鈕。它的無失真壓縮確保這些影像保持其清晰度,使 GIF 成為需要精確像素控制的網路圖形的絕佳選擇。然而,對於高解析度照片或具有廣泛色彩範圍的影像,通常使用支援有失真壓縮的 JPEG 格式,因為它可以在維持可接受的品質水準下大幅縮小檔案大小。
儘管先進的網路技術和格式出現,但 GIF 在近年來重新流行,特別是在社群媒體平台上。它們廣泛用於迷因、反應影像和短迴圈影片。這種重新流行可歸因於多項因素,包括建立和分享 GIF 的容易性、與該格式相關的懷舊情懷,以及它能夠以簡潔、易於消化的格式傳達情緒或反應。
GIF 格式的技術運作相對簡單,讓程式設計師和非程式設計師都可以使用。深入了 解該格式涉及了解其區塊結構、它如何透過調色盤編碼色彩,以及它如何使用 LZW 壓縮演算法。這種簡單性不僅使 GIF 容易使用各種軟體工具建立和操作,也促成了它們在快速演變的數位環境中廣泛採用和持續相關。
展望未來,很明顯 GIF 將繼續在數位生態系統中發揮作用,儘管它們有技術限制。新的網路標準和技術,例如 HTML5 和 WebM 影片,提供了建立具有更高色彩深度和保真度的複雜動畫和影片內容的替代方案。然而,GIF 在網路平台上的普遍支援,加上該格式獨特的審美和文化意義,確保它仍然是線上表達創意和幽默的寶貴工具。
總之,GIF 影像格式擁有悠久的歷史,並結合了簡單性、多功能性和文化影響力,在數位媒體世界中佔有特殊的地位。儘管它面臨技術挑戰,並且在某些情況下出現了更好的替代方案,但 GIF 仍然是一種備受喜愛且廣泛使用的格式。它在促進早期網路的視覺文化、民主化動畫以及促進一種新的迷因驅動溝通語言方面的作用不容小覷。隨著技術的演進,GIF 證明了設計良好的數位格式在塑造線上互動和表達方面具有持久的影響力。
APNG(動畫可攜式網路圖形)是一種檔案格式,它擴充了廣泛使用的 PNG(可攜式網路圖形)格式的功能,以支援動畫。它被建立出來,目的是為了提供一種更有效率且更易於取得的替代方案,用於在網路上傳遞動畫影像,取代 GIF(圖形交換格式)。APNG 保留了 PNG 的無失真壓縮和透明度功能,同時引入了儲存多個畫格的能力,允許建立流暢、高品質的動畫。
APNG 格式建立在現有的 PNG 結構之上,引入了專門為動畫 設計的新區塊類型。APNG 中使用的主要區塊是 `acTL`(動畫控制)區塊和 `fcTL`(畫格控制)區塊。`acTL` 區塊置於檔案的開頭,包含有關動畫整體的資訊,例如畫格數和動畫應循環播放的次數。`fcTL` 區塊出現在每個畫格之前,並提供特定於畫格的詳細資訊,包括畫格的尺寸、位置和延遲時間。
APNG 的主要優點之一是它與標準 PNG 檢視器向後相容。APNG 檔案以與一般 PNG 檔案相同的簽章和關鍵區塊開頭,允許它在不支援 APNG 的應用程式中顯示為靜態影像。這確保了使用舊版瀏覽器或影像檢視器的使用者仍然可以檢視動畫的第一個畫格,在各種平台上維持相容性。
APNG 中的動畫處理基於一系列畫格,每個畫格由一個獨立的影像表示。第一個畫格通常是一個完全渲染的影像,而後續的畫格可以是完整畫格或僅包含與前一個畫格變更的部分畫格。這種方法允許更有效率的儲存和更快的載入時間,因為不變的像素不需要為每個畫格重新繪製。
要建立一個 APNG 檔案,可以使用影像編輯工具或專門的軟體來組裝個別畫格並產生必要的區塊。畫格通常會匯出為獨立的 PNG 檔案,然後使用 APNG 編碼器將它們合併成一個單一的 APNG 檔案。編碼器會分析畫格,決定最佳的編碼方法(完整畫格或部分畫格),並產生 `acTL` 和 `fcTL` 區塊來控制動畫播放。
當一個 APNG 檔案載入到相容的檢視器中時,檢視器會讀取 `acTL` 區塊來決定動畫屬性,然後依序處理畫格。與每個畫格關聯的 `fcTL` 區塊提供了必要的資訊來正確渲染畫格,包括它的持續時間和在畫布中的位置。檢視器會以指定的順序顯示畫格,使用延遲時間來控制動畫速度和循環行為。
APNG 比傳統的 GIF 動畫提供了多項優點。它支援 24 位元色彩和 8 位元透明度,與 GIF 受限的 256 色調色 板相比,允許更鮮豔且更詳細的圖形。APNG 也提供了更好的壓縮,在等同的影像品質下產生更小的檔案大小。此外,APNG 允許變動的畫格速率,能夠更精確地控制動畫的時序和流暢度。
然而,APNG 確實有一些限制。儘管它受到 Firefox、Chrome 和 Safari 等主要網路瀏覽器的支援,但它的採用率不如 GIF。一些舊版的瀏覽器和影像檢視器可能沒有內建支援 APNG,需要使用者安裝擴充功能或使用替代軟體來檢視動畫。此外,與 GIF 相比,建立 APNG 檔案可能會更複雜,因為它涉及處理多個畫格和了解特定的區塊結構。
儘管有這些限制,APNG 近年來由於其優異的影像品質、更小的檔案大小,以及網路瀏覽器和影像編輯工具的支援度越來越高而獲得普及。它已成為在網站上傳遞高品質動畫的首選,特別是對於需要透明度和流暢播放的短循環動畫。
總之,APNG 是一種強大且多功能的檔案格式,它擴充了 PNG 的功能以支援動畫。透過利用現有的 PNG 結構並引入新的區塊進行動畫控制,APNG 提供了一個比 GIF 更有效率且視覺上更吸引人的替代方案。儘管它的支援度可能不如 GIF 廣泛,但網路瀏覽器對 APNG 的採用度越來越高,以及對高品質動畫的需求不斷增加,使其成為設計師和開發人員在網路上建立引人入勝且互動式內容的寶貴工具。