GIF - Wikiwand
For faster navigation, this Iframe is preloading the Wikiwand page for GIF.

GIF

維基百科,自由的百科全書

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目可參照英語維基百科相應條目來擴充。若您熟悉來源語言和主題,請協助參考外語維基百科擴充條目。請勿直接提交機械翻譯,也不要翻譯不可靠、低品質內容。依版權協議,譯文需在編輯摘要註明來源,或於討論頁頂部標記((Translated page))標籤。 此條目需要更新。 (2019年2月7日)請更新本文以反映近況和新增內容。完成修改時,請移除本模板。
GIF
一個圖像互換格式圖片範例
副檔名 .gif
網路媒體型式 image/gif
類型代碼英語Type code
GIFf
統一類型標識 com.compuserve.gif
特徵簽章 GIF87a/GIF89a
開發者 CompuServe
初始版本 1987年,​32年前​(1987[1]
最新版本
89a
(1989年,​29年前​(1989[2])
格式類型 點陣圖圖像格式
網站 www.w3.org/Graphics/GIF/spec-gif89a.txt

圖像互換格式(GIF,Graphics Interchange Format)是一種點陣圖圖形檔案格式,以8位元色(即256種顏色)重現真彩色的圖像。它實際上是一種壓縮文件,採用LZW壓縮演算法進行編碼,有效地減少了圖檔在網路上傳輸的時間。它是目前全球資訊網廣泛應用的網路傳輸圖像格式之一。

歷史

圖像互換格式格式自1987年由CompuServe公司引入後,因其體積小而成像相對清晰,特別適合於初期慢速的網際網路,而從此大受歡迎。它採用無失真壓縮技術,只要圖像不多於256色,則可既減少檔案的大小,又保持成像的品質。(當然,現在也存在一些hack技術,在一定的條件下克服256色的限制)然而,256色的限制大大局限了GIF檔案的應用範圍,如彩色相機等。(當然採用無失真壓縮技術的彩色相機相片亦不適合通過網路傳輸。)另一方面,在高彩圖片上有著不俗表現的JPG格式卻在簡單的折線上效果不如人意。因此圖像互換格式格式普遍適用於圖表,按鈕等等只需少量顏色的圖像(如黑白相片)。

圖像互換格式格式的原始版本叫做87a。1989年,CompuServe發布了一個名為89a的增強版本,在這個版本中,為圖像互換格式文件擴充了圖形控制區塊、備註、說明、應用程式介面等四個區塊,並提供了對透明色和多影格動畫的支援。現在我們一般所說的GIF動畫都是指89a的格式[3]

隨著1995年9月的Netscape Navigator 2.0發布,Netscape定義了一個GIF格式的應用程式擴充功能,它定義了一個動畫應該循環多少次或是否應該無限次地播放,這導致了動畫GIF的興起[4]

2015年5月,Facebook添加了GIF支援,儘管他們最初不支援在他們的網站上使用GIF。[5][6]

專利

在早期,圖像互換格式所用的LZW壓縮演算法是CompuServe所開發的一種免費演算法。然而令很多軟體開發商感到意外的是,圖像互換格式檔案所採用的壓縮演算法忽然成了Unisys公司的專利。據Unisys公司稱,他們已註冊了LZW演算法中的W部分。如果要開發生成(或顯示)圖像互換格式檔案的程式,則需向該公司支付版稅。在專利失效前曾引起部份開放原始碼社群發起「Burn all GIFs」的運動抵制使用圖像互換格式格式。因此,人們開始尋求一種新技術,以減少開發成本。PNG(Portable Network Graphics,可攜式網路圖形)標準就在這個背景下應運而生了。它一方面滿足了市場對更少的法規限制的需要,另一方面也帶來了更少的技術上的限制,如顏色的數量等。

在2003年6月20日,LZW演算法在美國的專利權已到期而失效。在歐洲日本加拿大的專利權亦已分別在2004年的6月18日、6月20日和7月7日到期失效。儘管如此,PNG檔案格式憑著其技術上的優勢,已然躋身於網路上第三廣泛應用格式。與圖像互換格式相關的專利將於2006年8月11日過期。[1]

特性

全色的圖像
全色的圖像
被做了減色的圖像的樣品
被做了減色的圖像的樣品
  1. 優秀的壓縮演算法使其在一定程度上保證圖像品質的同時將體積變得很小。
  2. 可插入多影格,從而實現動畫效果。
  3. 可設定透明色以產生物件浮現於背景之上的效果。
  4. 由於採用了8位元壓縮,最多只能處理256種顏色,故不宜應用於真彩色圖片。

技術簡介

圖像互換格式主要是為資料流而設計的一種傳輸格式,而不是作為檔案的儲存格式。它具有順序組織形式而不是隨機組織形式。

圖像互換格式有五個主要部分以固定順序出現,所有部分均由一個或多個區塊(block)組成。每個塊由第一個位元組中的標識碼或特徵碼標識。這些部分的順序為:頭塊、邏輯螢幕描述塊、可選的「全域」色彩表塊(調色盤)、各圖像資料塊(或專用的塊)以及尾塊(結束碼)。下面是這些部分的內容:

  1. 起頭為一個區塊,它辨識資料流為圖像互換格式,並指示如何解釋後面的資料所需的最早版本的圖像互換格式解碼程式(87a或89a)。
  2. 邏輯程式描述塊定義了:所有後面圖像的圖像平面的大小、縱橫尺寸比以及色彩深度(它類似於產生圖像的監視器螢幕)。它還指明後面跟隨的是否為「全域」色彩表。
  3. 全域色彩表(如果存在)構成一個24位元RGB元組的調色盤(每種底色為一個位元組)。如果後面的像沒有其自己的「局部」調色盤,那麼全域色表就是預設調色盤。
  4. 後續資料作為「圖形」或「專用」塊出現。圖形塊典型地包含一個或多個點陣圖圖像,也可能是覆蓋的文字。專用塊或者包含一個專用應用程式碼,或者包含一句不可列印的注釋。
  5. 最後的尾塊指示值為3B(十六進位)的一個位元組,表示資料流已結束。

注意:檔案中的圖像互換格式資料流可能根本就不包含任何點陣圖資料,這時,它只是要傳輸全域色彩表,作為沒有自己調色盤的後續資料流的預設調色盤。

參考資料

  1. ^ Graphics Interchange Format, Version 87a. W3C. 15 June 1987 [13 October 2012]. 
  2. ^ Graphics Interchange Format, Version 89a. W3C. 31 July 1990 [6 March 2009]. 
  3. ^ 動畫的原理. 
  4. ^ Royal Frazier. All About GIF89a. [7 January 2013]. (原始內容存檔於1999年4月18日). 
  5. ^ McHugh, Molly. You Can Finally, Actually, Really, Truly Post GIFs on Facebook. wired.com. 2015-05-29 [2015-05-29]. 
  6. ^ Perez, Sarah. Facebook Confirms It Will Officially Support GIFs. techcrunch.com. 2015-05-29 [2015-05-29]. 

外部連結

{{bottomLinkPreText}} {{bottomLinkText}}
GIF
Listen to this article