我已經試圖找出爲什麼的GIF89a規範要求,初始LZW代碼大小爲至少2比特,編碼1位圖像(B & W)時也是如此。在規範中的附錄F,它說以下內容:爲什麼GIF規格要求初始LZW編碼大小至少2位?
ESTABLISH代碼大小
所述壓縮數據流的第一個字節是表示以表示所述一組實際的像素所需的最小比特數的值值。通常這與顏色位的數量相同。然而,因爲一些算法的限制,其中有一個顏色位黑色&白色圖像必須標明爲具有2
我很好奇,什麼這些算法的限制是一個代碼大小。什麼可能會阻止GIF中使用的LZW變體使用1的代碼大小?這僅僅是早期編碼器或解碼器的限制嗎?還是有一些奇怪的邊緣情況可以用恰當的位組合來表現自己?還是在這裏有完全不同的東西?
我對這個規範並不熟悉,但也不需要某種EOF符號(除了0和1)? –
@ 500-InternalServerError是的,有兩個額外的代碼保留給CC並停止。但是當你寫出初始代碼大小時,你不會包含這些內容,因爲它們總是在那裏。 –