GIF
圖像相換格式(英語:Graphics Interchange Format,簡稱GIF)是一種點陣圖形檔案格式,以八位元色(即兩百五十六種色水)重現真彩色的圖像。伊實際上是一款壓縮文件,採用 LZW 壓縮演算法進行編碼,有效地減少圖檔佇網路頂傳輸的時間。伊是目前全球資訊網廣泛應用的網路傳輸圖像格式之一。史蒂芬 ・ 威爾海特(Stephen Wilhite)佇咧 Compuserve 公司作穡的時陣,𤆬工程團隊發明 GIF 檔,憑著體積細、成做相對較清楚的優點,真適合早期網際網路一直闊小的環境,啊若今網路使用者共 GIF 做伙用創作,變做是網路迷因為網路迷之一,威爾海特嘛佇二空一三年得著威比獎(The Webby Award)終身成就獎。至於「GIF」按怎唸,真濟人攏唸做「gift」([ɡɪf])的音,毋過伊本人正名愛唸「Jif」([d͡ʒɪf])仝款的音。
歷史
GIF 格式自一九八七年由 CompuServe 公司引入了後,因為體積小而成像相對較清楚,特別適合初期慢速的網際網路,從此大受歡迎。伊採用無失真壓縮技術,只要圖像毋但兩百五十六色,著會當減少檔案的大細,閣保持成做像一个品質。(當然喔,這陣嘛存在一寡 _ hack _ 技術,佇一定的條件下克服兩百五十六色的限制)毋過,兩百五十六色的限制大大局限矣 GIF 檔案的應用範圍,親像彩色相機等等。(當然採用無失真壓縮技術的彩色相機相片亦無適合通過網路傳輸。)另外一方面,佇高彩圖片頂懸有俗表現的 JPEG 格式煞佇簡單的折線頂效果不如人意。所以 GIF 格式普遍適用佇圖表,開關等等只有愛減量色水的圖像(如烏白相片)。
GIF 格式的原始版本號做八十七 a。一九八九年,CompuServe 發佈一个叫做八十九 a的增強版本,踮這个版本內底,為 GIF 文件擴充了圖形控制區塊、備註、說明、應用程式介面等四个區域,並且提供了對透明色佮多影格動畫的支援。這馬咱一般講的講 GIF 動畫攏是講八十九 a 的格式。Netscape 佇一九九空年提出了 Netscape Application Block,定義一个動畫愛循環偌濟改抑是無限應該無限次地來放送,這致使著矣 GIF 動畫的流行。重複動畫的功能頭擺出現佇咧 Netscape Navigator 二孵空版本當中,然後漸漸支援其他瀏覽器,就算大多數的瀏覽器攏支援,但是若嚴格來講毋是八十九 a規範的一部份。
二空一五年五月,Facebook 開始支援 GIF。
專利
佇咧以前,GIF 所用的 LZW 壓縮演算法是 CompuServe 所開發的一種免費演算法。毋過予足濟軟體開發商感覺意外的是,GIF 檔案所採用的壓縮演算法雄雄變成 Unisys 公司的專利。根據 Unisys 公司稱,𪜶已經註冊矣 LZW 中的W部份。若欲開發生是(抑是顯示)GIF 檔案的程式,愛向這間公司來支付版稅。佇專利失效進前捌引起部份開放原始碼社群認為「Burn all GIFs」的運動抵制使用 GIF 格式。所以,𪜶開始尋求一種新的技術,以減少開發成本。伊一方面滿足矣市場對閣較少的法規限制的需要,另外一方面嘛紮來閣較少的技術上的限制,和色水的數量等等。
佇二空空三年六月二十號,LZW 演算法佇美國的專利權已經失效。佇歐洲、日本佮加拿大的專利權亦已經分別佇二空空四年的六月十八、六月二十佮七月初七到期失效。佮 GIF 相關的專利佇二空空六年八月十一過期。就算講按呢,PNG 檔案格式憑著其技術上的優勢,已經因為網路上第三廣泛應用格式。
特性
- 優秀的壓縮演算法使其在一定程度上保證圖像品質的同時會體積變甲真細。
- 會當插佇多影格,對欲實現動畫效果。
- 會當設定透明色用產生物件浮現佇背景頂懸的效果。
- 因為採用八个元壓縮,上濟的干焦會當處理兩百五十六種色水,故不宜應用真正彩色的圖片。
技術簡介
GIF 主要是為資料流而設計的一種傳輸的格式,毋是做檔案的儲存格式。伊有順序組織的形式毋是隨機組織的形式。
GIF 有五个主要的部份以固定的順序出現,所有部份攏是一个部份抑是幾若个區域(block)組成。每一个塊由頭一个位元組內底的標識碼或者是特徵碼標識。所以遮的部份的順序:頭一塊、邏輯螢幕描述塊、可選的「全域」色彩表角(調色盤)、 各圖像資料塊(抑是專用的塊)以及尾仔(結束碼)。 下跤是遮的部份的內容:
- 起頭為一个區域,伊辨識資料流為 GIF,並且指示欲按怎解說後壁的資料所需要上早版本的 GIF 解碼程式(八十七 a 抑是八十九 a)。
- 邏輯程式咧講塊定義矣:所有後壁圖像的圖像平面的大細、縱橫 sài-sù 和色彩的深度(伊類似產生圖像的監視器螢幕)。 伊閣指明後壁閣有綴著無「全域」色彩表。
- 全域色彩表(若佇咧)構成一个二十四位元 RGB 元組的調色盤(逐款的底色為一个位元組)。 你若後壁的像無其家己的「局部」調色盤,遐爾仔全域色表就是預設調色盤。
- 後壁的資料做「圖形」抑是「專用」塊出現。圖形塊典型地包含一个抑是多點陣圖像,嘛可能是崁的文字。專用塊抑是包括一个專用應用程式碼,或者是包含一句不可列印的注釋。
- 最後的尾箍指示值為三 B(十六進位)的一个位元組,表示資料流已經結束。
注意:檔案中的 GIF 資料流可能根本都無包括任何點陣圖資料,這陣,伊只是欲傳輸全域色彩表,成做無家己調色盤的後續的資料流的預設調色盤。
參考文獻
外部連結
- The GIFLIB project
- spec-gif 八十九 a . txt GIF 八十九 a specification on 全球資訊網協會
- GIF 八十九 a specification reformatted into HTML
- LZW and GIF explained
- Animated GIFs : a 六-minute documentary produced by Off Book ( web series )