第二节 空间数据压缩编码
一、影像压缩编码
影像数据压缩的可能性是因为像素之间存在着较强的相关性。从统计观点上看,某像素的灰度值总是和周围其他像素的灰度值有某种关系,应用编码方法提取并减少这种相关性,便可实现影像数据的压缩。从信息论观点来看,影像压缩就是减少影像信息中无用的冗余信息。压缩编码包括信息保持编码和保真度编码。一般来说,多灰度影像常用保真度编码,允许有极小的误差;而二值影像和少灰度影像多采用信息保持编码,不允许有误差存在。下面简要分析几种编码方法。
1.变换编码
变换编码是将原始影像分块映射为变换系数,然后用比特分配矩阵给各系数分配以不同的比特数,同时略去很小的系数,达到数据压缩的目的。在假设影像数据为Gauss-Markov场的前提下,K-L变换是最佳的变换,但K-L变换没有快速算法。余弦变换与K-L变换非常相近,其快速算法比FFT还快,所以余弦变换是最适合影像数据压缩的变换,这种变换编码可用于压缩多灰度影像和DEM数据。
2.熵编码
熵编码的目的是使编码后数据的平均比特数尽可能接近其熵。一般是根据数据出现的概率大小赋与不同长度的码字,概率大的用短码字,反之用长码字。Huffman编码是一种给出最小平均码长的最佳编码方法。可以利用改进的Huffman编码(MHC)对行程编码的行程长度进行压缩,以取得较高的压缩比。另外,还可用变形的MHC码对多灰度影像和DEM数据进行压缩。
3.行程编码
行程编码主要适合于二值影像和少灰度影像。对二值影像来说,灰度信息隐式地包含在交替的黑白行程之中,不需要记录。在编码少灰度影像时,则需记录灰度值及其行程长度。根据不同的顺序将二维影像变换成一维线性表,可得到不同效果的行程编码。合理地选择这种顺序,将有助于减少行程数,提高数据压缩比。
4.跳白块编码
对二值影像进行分块,若全白块出现的概率较大,可给它分配最短的码字“0”,而其它块采用直接编码,并附加前缀“ 1”。编码效率取决于全白块出现的概率。分块的目的在于构成较多(且较大)的白块。一种较灵活的方法是自适应分块编码。这种编码方法特别适合于压缩块状二值影像。
5.线性四叉树编码
在各种四叉树中,由于线性四叉树节省存贮,运算方便,因此,它是最吸引人的一种。比较著名的线性四叉树编码包括深度优先(Depth First,简称DF)码,色彩深度(ColorDepth,简称CD)码和深度变化(Variation of Depth,简称VD)码。 DF码采用深度优先法则记录四叉树的所有结点,其中非叶结点用一符号表示,叶结点用像素的灰度值表示。DF码具有较高的数据压缩比,但运算较困难。CD码用深度优先法则记录每个叶结点的深度和灰度值,其压缩比略低于DF码,但运算方便。VD码依深度优先法则记录每个叶结点的灰度值,仅当深度变化时,才记录深度信息(绝对深度或深度变化量)。VD码综合了DF码和CD码的优点,压缩比与DF码相当,计算复杂性与CD码相当。