2013-11-26 88 views
1

以下是來自TIFF 6.0規範第9節:PackBits壓縮如何解釋TIFF圖像規範6.0 packbits壓縮

這是算法的本質。以下是一些附加規則:

  1. 分別打包每行。不要跨行邊界進行壓縮。
  2. 每行未壓縮字節的數量定義爲(ImageWidth + 7) /8。如果未壓縮的位圖需要具有每 行的偶數字節數,則解壓縮爲字對齊的緩衝區。
  3. 如果一個運行大於128個字節,編碼作爲運行的一個或多個 附加複製的其餘部分運行

第一和第三項是很容易理解,但我感到困惑第二個具體如下:每行未壓縮字節的數量被定義爲(ImageWidth + 7)/ 8。對於1位雙水平圖像,這不僅僅是這樣。但就我所知,packbits是一種面向字節的壓縮算法,它可以用於任何類型的tiff。

有人知道tiff和packbits會給我一些提示嗎?

回答

2

從本網站的TIFF文件:http://www.fileformat.info/format/tiff/corion-packbits.htm 在頂部以下內容:

 Abstract 

     This document describes a simple compression scheme for bilevel 
     scanned and paint type files. 


     Motivation 

     The TIFF specification defines a number of compression schemes. 
     Compression type 1 is really no compression, other than basic 
     pixel packing.  Compression type 2, based on CCITT 1D 
     compression, is powerful, but not trivial to implement. 
     Compression type 5 is typically very effective for most bilevel 
     images, as well as many deeper images such as palette color and 
     grayscale images, but is also not trivial to implement. PackBits 
     is a simple but often effective alternative 

所以很清楚的附加規則是相對於二層的圖像。出於某種原因,TIFF6.0的pdf版本中缺少上述摘要和說明。