正在加载图片...
图7-6:一些常用的栅格排列顺序 2.3.2压缩编码方法 目前有一系列栅格数据压缩编码方法,如键码、游程长度编码、块码和四叉树编码等 其目的,就是用尽可能少的数据量记录尽可能多的信息,其类型又有信息无损编码和信息有 损编码之分。信息无损编码是指编码过程中没有仼何信息损失,通过解码操作可以完全恢复 原来的信息,信息有损编码是指为了提高编码效率,最大限度地压缩数据,在压缩过程中损 失一部分相对不太重要的信息,解码时这部分难以恢复。在地理信息系统中多采用信息无损 编码,而对原始遥感影像进行压缩编码时,有时也采取有损压缩编码方法。 1)链码( Chain codes) 链码又称为弗里曼链码[ Freeman]或边界链码,链码可以有效地压缩栅格数据,而且对 于估算面积、长度、转折方向的凹凸度等运算十分方便,比较适合于存储图形数据。缺点是 对边界进行合并和插入等修改编辑工作比较困难,对局部的修改将改变整体结构,效率较低 而且由于链码以每个区域为单位存储边界,相邻区域的边界将被重复存储而产生冗余 2)游程长度编码( Run-Length Codes) 游程长度编码是栅格数据压缩的重要编码方法,它的基本思路是:对于一幅栅格图像, 常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些 重复的记录内容。其方法有两种方案:一种编码方案是,只在各行(或列)数据的代码发生 变化时依次记录该代码以及相同的代码重复的个数,从而实现数据的压缩。例如对图74(c) 所示栅格数据,可沿行方向进行如下游程长度编码: (0,1),(4,2),(7,5);(4,5),(7,3);(4,4),(8,2),(7,2);(0,2),(4 1),(8,3),(,2);(0,2),(8,4,(7,1),(8,1);10,3),8,5);(0,4,(8, 4);0,5),(8,3 只用了44个整数就可以表示,而在前述的直接编码中却须要64个整数表示,可见游程长度 编码压缩数据是十分有效又简便的。事实上,压缩比的大小是与图的复杂程度成反比的,在 变化多的部分,游程数就多,变化少的部分游程数就少,图件越简单,压缩效率就越高。另 一种游程长度编码方案就是逐个记录各行(或列)代码发生变化的位置和相应代码,如对图 7-4(c)所示栅格数据的另一种游程长度编码如下(沿列方向): (1,0),(2,4),(4,0),(1,4),(4,0);(1,4),(5,8),(6,0)(1,7),(2 4),(4,8),(7,0);(1,7),(2,4),(3,8),(8,0);(1,7),(3,8);(1,7) (06,8):(1,7),(5,8)。 游程长度编码在栅格压缩时,数据量没有明显增加,压缩效率较高,且易于检索,叠加 合并等操作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码 解码运算增加处理和操作时间的情况。 3)块码 块码是游程长度编码扩展到二维的情况,采用方形区域作为记录单元,每个记录单元包 括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单位的代码组 对图7-4(c)所示图像的块码编码如下: 1,1,1,0),(1,2,2,4.(,4,1,7),(1,5,1,7 (1,6,2,7),(,8,1,,2,1,1,4),(2,4,l,4, 2,5,1,4),(2,8,1,7,3.1,1,4),(3.2,1,4, 3,3,1,4,(3,41,4.(3,5,2,8,(3,7,2,7) 4,1,2,0,(4,3,1,4.14.4,1,8),(5,3,1,8)图 7-6:一些常用的栅格排列顺序 2.3.2 压缩编码方法 目前有一系列栅格数据压缩编码方法,如键码、游程长度编码、块码和四叉树编码等。 其目的,就是用尽可能少的数据量记录尽可能多的信息,其类型又有信息无损编码和信息有 损编码之分。信息无损编码是指编码过程中没有任何信息损失,通过解码操作可以完全恢复 原来的信息,信息有损编码是指为了提高编码效率,最大限度地压缩数据,在压缩过程中损 失一部分相对不太重要的信息,解码时这部分难以恢复。在地理信息系统中多采用信息无损 编码,而对原始遥感影像进行压缩编码时,有时也采取有损压缩编码方法。 1)链码(Chain Codes) 链码又称为弗里曼链码[Freeman]或边界链码,链码可以有效地压缩栅格数据,而且对 于估算面积、长度、转折方向的凹凸度等运算十分方便,比较适合于存储图形数据。缺点是 对边界进行合并和插入等修改编辑工作比较困难,对局部的修改将改变整体结构,效率较低, 而且由于链码以每个区域为单位存储边界,相邻区域的边界将被重复存储而产生冗余。 2)游程长度编码(Run-Length Codes) 游程长度编码是栅格数据压缩的重要编码方法,它的基本思路是:对于一幅栅格图像, 常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些 重复的记录内容。其方法有两种方案:一种编码方案是,只在各行(或列)数据的代码发生 变化时依次记录该代码以及相同的代码重复的个数,从而实现数据的压缩。例如对图 7-4(c) 所示栅格数据,可沿行方向进行如下游程长度编码: (0,1),(4,2),(7,5);(4,5),(7,3);(4,4),(8,2),(7,2);(0,2),(4, 1),(8,3),(7,2);(0,2),(8,4),(7,1),(8,1);(0,3),(8,5);(0,4),(8, 4);(0,5),(8,3)。 只用了 44 个整数就可以表示,而在前述的直接编码中却须要 64 个整数表示,可见游程长度 编码压缩数据是十分有效又简便的。事实上,压缩比的大小是与图的复杂程度成反比的,在 变化多的部分,游程数就多,变化少的部分游程数就少,图件越简单,压缩效率就越高。另 一种游程长度编码方案就是逐个记录各行(或列)代码发生变化的位置和相应代码,如对图 7-4(c)所示栅格数据的另一种游程长度编码如下(沿列方向): (1,0),(2,4),(4,0),(1,4),(4,0);(1,4),(5,8),(6,0);(1,7),(2, 4),(4,8),(7,0);(1,7),(2,4),(3,8),(8,0);(1,7),(3,8);(1,7), (6,8);(1,7),(5,8)。 游程长度编码在栅格压缩时,数据量没有明显增加,压缩效率较高,且易于检索,叠加 合并等操作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码 解码运算增加处理和操作时间的情况。 3)块码 块码是游程长度编码扩展到二维的情况,采用方形区域作为记录单元,每个记录单元包 括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单位的代码组成。 对图 7-4(c)所示图像的块码编码如下: (1,1,1,0),(1,2,2,4),(1,4,1,7),(1,5,1,7), (1,6,2,7),(1,8,1,7),(2,1,1,4),(2,4,1,4), (2,5,1,4),(2,8,1,7),(3,1,1,4),(3,2,1,4), (3,3,1,4),(3,4,1,4),(3,5,2,8),(3,7,2,7), (4,1,2,0),(4,3,1,4),(4,4,1,8),(5,3,1,8)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有