首頁 > 網頁圖檔格式 > GIF的儲存設定


GIF的儲存設定大致有色彩數、色盤選擇、抖色程度、交錯式GIF四種類型。由於GIF的壓縮公式是沒有彈性的,只要圖片的色彩數目確定,存檔後的檔案大小就已經固定了,所以GIF的設定重點並不在於壓縮方式,而是壓縮前的色彩轉換的步驟。上述四種類型只有交錯式GIF是屬於壓縮方式的設定。右邊的葉子圖案是本單元所使用的範例原稿。

■色彩數

色彩數可說是影響GIF存檔結果的最大,也是最簡單的因素。在不考慮壓縮的情況下,色彩數量越低最直接的好處是色盤及索引色編碼變小,256色色牌每個索引色需要8 bit才能表示,若降至16色只要4 bit,降至4色要2 bit,降至雙色就只要1 bit就夠了。若將壓縮的效果考慮進來,當色彩數變少,原本具有相似顏色的色點會被分配到相同的索引色,使得顏色重複性變高,壓縮的效率變好。

有些圖檔所使用的原始色彩遠高於256色,但是許多都是極為相近,或是人眼不敏銳的顏色(低彩度的顏色),這個時候即使色彩數降至256色以下,對畫質也不會有非常大的影響,所以存檔時應該多多嘗試降低色彩數,以便讓檔案大小降至最低,減輕網路傳輸的負荷。

■色盤選擇

GIF因為有256色的限制,所以大部分情況下原稿都需要經過縮減色數的處理,可是要如何以較少的顏色表現出原來的效果可就是一門不小的學問,就小弟我觀察一些軟體的結果,大概有四大類,其中三種可以用Paint Shop Pro提供的三種不同的演算法來代表。

(A) 頻率統計 (Median Cut)
第一類演算法很簡單,統計原稿中每個顏色的出現次數,然後保留出現次數最多的頭幾個顏色。不過有時出現次數最多的顏色並不一定是最恰當的顏色,就拿例圖(A)來說,看起來好像只用了四種綠色來顯示葉子,但實際上卻使用了10種,只是其中許多綠色極為相近,但是卻因為出現的次數都很高而被保留下來。如果說能去除一些相近的顏色,就能空出一些空間容納其他的顏色,表現更多色彩。

(B)固定色盤
第二種方法是完全不管原稿的色彩,而使用固定的一組軟體預先設定好的色盤,所以這是最差的方法。早期由於電腦記憶體昂貴,顯示卡上沒有足夠記憶體來提供全彩或高彩(65536色)顯示,在顯示卡只能同時顯示256色的情況下,作業系統或是軟體便會自己規定一組通用的色盤,以確保螢幕上所有的畫面都有相近的顏色可以顯示。Paint Shop Pro提供的Web-safe就是套用瀏覽器的預設色盤。不過現在的電腦都應該能顯示全彩或高彩(65536色),因此第二種方式已經不建議使用了。

(C) 其他 (Octree)
單靠出現頻率來挑選顏色許多時候並不適用,因此各家軟體就各自發展新的演算法找出具有代表性的顏色,小弟我把新的演算法統稱為第二類。經由Paint Shop Pro的Octree方法運算結果,葉子部分雖然只用了5種綠色,但效果比(A)還好,節省下來的顏色則用在背景上,使背景有更多藍色可以表現。

(D)自訂色盤
如果程式提供的演算法還是無法符合要求,最後只有靠人工方式來挑選色盤。但是除非真的強調要在有限的顏色下表現出優美的畫質(例如遊戲或美術光碟),一般來說不會花這種功夫去微調色彩。

就拿右邊的例圖來說,(A)(B)兩圖同樣採用16色色盤,(A)用了11種藍色表現背景,5色表現葉子;(B)用了11種綠色表現葉子,5色表現背景。由於葉子是主體,視覺上會受到較多的重視,對人眼來說,顯然(B)所呈現出的效果是比較好的;但對於電腦來說,右邊的圖片只是一連串毫無意義的色點排列而成,根本沒辦法分辨主體與背景的差別,反而有可能因為藍色出現的頻率較多,而認為藍色的重要性較高。

不過隨著影像處理工具的進展,一些軟體允許使用者為整張圖設定一些特定區域,然後加強保留這些區域的色彩,使得這些區域相對於圖的其他部分,有較好的色彩表現,而不用使用者親自挑選顏色,相當方便。

■抖色(Dither)

抖色又稱遞色,是利用兩種顏色相互混雜,以產生不同中間色的效果。

降低色數所遇到的問題之一就是沒有足夠的顏色來表現漸層,因此就會有漸層顏色不連續的現象(例圖A),如果開啟抖色的效果就可大幅減少這種現象(例圖B)。不過因為色點相互混雜,所以相鄰色點的顏色重複性下降,導致壓縮效果跟著下降,檔案變大。所以在相同檔案大小的考量下,是要減少色數、開啟抖色,還是關閉抖色,增加色數,就要實際試看看才知道何種效果較佳。

早期軟體的抖色只有開啟及關閉兩種選擇,現在則可以調整抖色的程度,提供更多的彈性,但也越來越複雜了,懶得傷腦筋的話還是調成100%的抖色效果。

■交錯式與非交錯式

一般GIF存檔時是將圖片由上往下一行一行紀錄,所以透過網路傳輸較慢時,圖片也只能從上往下顯示。所謂交錯式GIF就是把圖片以分散交錯的方式存檔,例如先儲存1, 5, 9...行,接著儲存2, 6, 10...行,再存3, 7, 11...以此類推,這樣瀏覽器接收圖片的資料時,就會先接收到1,5,9...行的資料(例圖A),經過顯示上的處理後便可對整張圖檔先行作大略的顯示(例圖B)。

發展交錯式的用意是為讓網路使用者在等待圖片傳送的期間,能先行看到個大概,才不會等得太無聊,不過實際上效果並不太好,加上交錯式會使檔案大小稍稍膨脹,因此也不建議使用。


Copyright by Jack Hung-洪裕杰. All Rights Reserved.
Last update: Mar. 23, 2001