admin 管理员组

文章数量: 1086019


2024年4月24日发(作者:正切三角函数公式大全)

栅格压缩编码和常见文件压缩方法的异同

一、关于栅格数据压缩编码

栅格数据是按网格单元的行与列排列、具有不同灰度或颜色的阵列数据。每一个单元

(象素)的位置由它的行列号定义,所表示的实体位置隐含在栅格行列位置中,数据组织

中的每个数据表示地物或现象的非几何属性或指向其属性的指针。一个优秀的压缩数据编

码方案是:在最大限度减少计算机运算时间的基点上进行最大幅度的压缩。在栅格文件中,

每个栅格只能赋予一个唯一的属性值,所以属性个数的总数是栅格文件的行数乘以列数的

积,而为了保证精度,栅格单元分得一般都很小,这样需要存储的数据量就相当大了。通

常一个栅格文件的栅格单元数以万计。但许多栅格单元与相邻的栅格单元都具有相同的值,

因此使用了各式各样的数据编码技术与压缩编码技术。其栅格数据存储压缩编码方法主要

有:直接编码、链式编码、游程编码、块式编码、四叉树编码。

(1)直接栅格编码::是最简单最直观而又非常重要的一种栅格结构编码方法,通常

称这种编码为图像文件或栅格文件。直接栅格编码是将栅格数据看作一个数据短阵,逐行

或逐列逐个记录代码。可每行从左到右逐个记录,也可奇数行从左到右,偶数行从右到左

记录,为特定目的也可采用其它特殊顺序。通常称这种编码的图像文件为栅格文件,这种

网格文件直观性强,但无法采用任何种压缩编码方法。图2.1 (c)的栅格编码为:4,4,4,

4,7,7,7,7;4,4,4,4,4,7,7,7;4,4,4,4,9,9,7,7;0,0,4,9,

9,9,7,7;0,0,0,9,9,9,7,7;0,0,0,9,9,9,9,9;0,0,0,0,9,

9,9,9;0,0,0,0,0,9,9,9。可用程序设计语言按顺序文件或随机文件记录这些

数据。(2)链式编码:由某一原点开始并按某些基本方向确定的单位矢量链。基本方向可

定义为:东=0,南=3,西=2,北=1等,还应确定某一点为原点。其特点:对多边形的

表示具有很强的数据压缩能力;具有一定的运算功能,如面积和周长计算等;叠置运算如

组合、相交等则很难实施,有效地压缩了栅格数据,尤其对多边形的表示最为显著,比较

适于存储图形数据。但对边界做合并和插入等修改编辑工作很难实施,而且对局部修改要

改变整体结构,效率较低。

(3)游程编码:只在各行(或列)数据的代码发生变化时依次记录该代码以及相同代

码重复的个数,即按(属性值,重复个数)编码。游程用一对数字表达,其中,第一个值

表示游程长度,第二个值表示游程属性值。每一个新行都以一个新的游程开始。表达游程

长度的位数取决于栅格区域的列数,游程属性值则取决于栅格区域属性的最大类别数(分

类的级别数)。通常用两个字节表示游程长度(行数可达65536),一个字节表示游程属性

值(256级)。

(4)块式编码:块式编码是将行程编码扩大到二维的情况,把多边形范围划分成由像

元组成的正方形,然后对各个正方形进行编码。特点:块式编码是将行程编码扩大到二维

的情况;一个多边形所能包含的正方形越大,多边形的边界越简单,块式编码的效果就越

好;多边形之间求并及求交方便;探测多边形的延伸特征较容易。

(5)四叉树编码而块状结构则用四叉树来描述,将图像区域按四个大小相同的象限四

等分,每个象限又可根据一定规则判断是否继续等分为次一层的四个象限,无论分割到哪

一层象限,只要子象限上仅含一种属性代码或符合既定要求的少数几种属性时,则停止继

续分割。否则就一直分割到单个像元为止。而块状结构则用四叉树来描述。按照象限递归

分割的原则所分图像区域的栅格阵列应为2n×2n(n为分割的层数)的形式。四叉树编码

又称为四分树、四元树编码。它是一种更有效地压编数据的方法。它将2n×2n像元阵列的

区域,逐步分解为包含单一类型的方形区域,最小的方形区域为一个栅格像元。图像区域

划分的原则是将区域分为大小相同的象限,而每一个象限又可根据一定规则判断是否继续

等分为次一层的四个象限。其终止判据是,不管是哪一层上的象限,只要划分到仅代表一


本文标签: 编码 栅格 属性 文件