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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

栅格数据是按网格单元的行与列排列、具有不同灰度或颜色的阵列数据。每一个单元(象素)的位置由它的行列号定义,所表示的实体位置隐含在栅格行列位置中,数据组织中的每个数据表示地物或现象的非几何属性或指向其属性的指针。一个优秀的压缩数据编码方案是:在最大限度减少计算机运算时间的基点上进行最大幅度的压缩。在栅格文件中,每个栅格只能赋予一个唯一的属性值,所以属性个数的总数是栅格文件的行数乘以列数的积,而为了保证精度,栅格单元分得一般都很小,这样需要存储的数据量就相当大了。通常一个栅格文件的栅格单元数以万计。但许多栅格单元与相邻的栅格单元都具有相同的值,因此使用了各式各样的数据编码技术与压缩编码技术。其栅格数据存储压缩编码方法主要有:直接编码、链式编码、游程编码、块式编码、四叉树编码。

(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像元阵列的区域,逐步分解为包含单一类型的方形区域,最小的方形区域为一个栅格像元。图像区域划分的原则是将区域分为大小相同的象限,而每一个象限又可根据一定规则判断是否继续等分为次一层的四个象限。其终止判据是,不管是哪一层上的象限,只要划分到仅代表一种地物或符合既定要求的几种地物时,则不再继续划分否则一直分到单个栅格像元为止。

所谓四叉树结构,即把整个2n×2n像元组成的阵列当作树的根结点,n为极限分割次数,n+1为四分树的最大高度或最大层数。每个结点有分别代表西北、东北、西南、东南四个象限的四个分支。四个分支中要么是树叶,要么是树叉。树叉、树叶用方框表示,它说明该四分之一范围全属多边形范围(黑色)或全不属多边形范围(空心四方块),因此不再划分这些分枝;树用圆圈表示,它说明该四分之一范围内,部分在多边形内,另一部分在多边形外,因而继续划分,直到变成树叶为止。常规四叉树的特点如下:运算量较大,因为大量数据需要重复检查才能确定划分;占用的存储空间较大;容易而有效地计算多边形的数量特征;阵列各部分的分辨率是可变的,边界复杂部分分级多,分辨率高,而不需要表示许多细节的部分则分级少,分辨率低;栅格到四叉树及四叉树到简单栅格结构的转换比其他压缩方法容易;多边形中嵌套异类多边形的表示较方便。

四叉树的存储结构有以下几种:

1.规则四叉树(Flash3.

2.6)

用五个字段表示树中的每个结点。

2.线性四叉树(Flash

3.2.7)

将四叉树转化成线性表,表的每一元素对应树中的一个结点。

3.一对四式四叉树(Flash3.2.8)

五个字段表示每个结点,其中四个字段描述四个子结点的状态,一个存放其子结点记录的地址。

总之,四叉树编码是最有效的栅格数据压缩编码方法之一,还能提高图形操作效率,具有可变的分辨率。

不论任何形式的压缩数据编码,都是以增加了运算时间换取了存储空间,这就要考虑主要矛盾的主要方面,当我们想减少数据的冗余,有效地利用空间资源时,就不得不进行数据压缩编码,而让计算机多进行一些解码和处理复杂图形的运算。因此,一个优秀的压缩数据编码方案是:在最大限度减少计算机运算时间的基点上进行最大幅度的压缩。

二、关于常见文件压缩方法

文件压缩,原本是在那个存储空间甚至需要以字节来计算的时代,为了节省文件所占用的空间而诞生的。总之压缩则是将一个大的文件通过一些压缩算法变成一个小文件。而随着网络的普及,为了节省文件在网络上传输的流量及时间,对文件进行压缩也几乎成为了必备的过程。根据所使用的压缩算法的不同,压缩文件也被区分为不同的格式。图片中的列表是大多数常见的压缩文件格式,不过常用的并没有那么多,而在Windows系统上面常用的就更少了。数据压缩是按照特定的编码机制用比未经编码少的数据比特表示信息的过程。随着信息技术的高速发展,数据压缩的使用在网络时代越来越重要。

由于计算机处理的信息是以二进制数的形式表示的,因此压缩软件就是把二进制信息中相同的字符串以特殊字符标记来达到压缩的目的。其实,所有的计算机文件归根结底都是以“1”和“0”的形式存储的,只要通过合理的数学计算公式,文件的体积都能够被大大压缩以达到“数据无损稠密”的效果。对一些特殊的数据如相片、音频、视频的压缩算法也不同。总的来说,压缩可以分为有损和无损压缩两种。如果丢失个别的数据不会造成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩广泛应用于动画、声音和图像文件中,典型的代表就是影碟文件格式mpeg、音乐文件格式mp3和图像文件格式jpg。但是更多情况下压缩数据必须准确无误,人们便设计出了无损压缩格式,比如常见的zip、rar等。总之,我们今天说的压缩算法都是无损压缩,无损数据压缩指数据经过压缩后,信息不受损失,还能完全恢复到压缩前的原样。“无损”一词是相对于有损数据压缩,有损数据压缩只允许一个近似原始数据进行重建,以换取更好的压缩率。压缩软件(compression software)自然就是利用压缩原理压缩数据的工具,压缩后所生成的文件称为压缩包(archive),体积只有原

相关文档
最新文档