网络下遥感影像实时压缩及渐进传输系统设计

2014-06-15 17:06石翠萍张钧萍曲海成张晔
哈尔滨工程大学学报 2014年11期
关键词:遥感影像瓦片

石翠萍,张钧萍,曲海成,张晔

(1.哈尔滨工业大学电子与信息工程学院,黑龙江哈尔滨150001;2.齐齐哈尔大学通信与电子工程学院,黑龙江齐齐哈尔161000)

网络下遥感影像实时压缩及渐进传输系统设计

石翠萍1,2,张钧萍1,曲海成1,张晔1

(1.哈尔滨工业大学电子与信息工程学院,黑龙江哈尔滨150001;2.齐齐哈尔大学通信与电子工程学院,黑龙江齐齐哈尔161000)

∶为了使遥感影像在虚拟地球平台快速、平滑地发布,提出了一个实时压缩及渐进传输系统。论证了金字塔模型中最佳瓦片大小,对客户端请求区域的每个瓦片,服务器采用SPIHT算法进行实时压缩,码流每达到一定长度则立即打包发送,同时压缩继续进行。客户端每收到一个包则立即解压,并对已显示图像动态更新。实验结果表明∶该系统能够实现压缩、传输、解压、显示同步进行,客户端看到的图像能够快速平滑过渡至最清晰,克服了传统方法中图像“阶跃”显示的问题。关键词∶图像压缩;渐进传输系统;实时压缩;实时系统;遥感影像;瓦片

随着网络技术的发展,人们从网上获取地理信息的需求在日益增长。很多如百度、谷歌等网站都提供电子地图服务。地理数据服务软件Google Earth,以及我国在2010年发布的“天地图”网站,均说明地理信息行业正向着公众服务的方向迈进[1-3]。为了实现遥感影像在Internet上的快速发布,现有方法通常是将影像重采样,并将金字塔各层切割成瓦片,建立影像金字塔存储模型[4-5]。文献[6-8],提出了不同的对纹理瓦片压缩的方法,并将压缩后的瓦片存储在数据库中。然而,这些都是基于对瓦片事先压缩好的方法,当用户需要金字塔某一层对应的某个区域时,服务器端将该区域覆盖的所有瓦片发送出去,接收端将这些瓦片数据全接收完毕后,才可以解压缩并显示。这种方法在多用户请求或网络状况不好时,容易使用户等待时间过长。为了降低用户的等待感觉,在传统金字塔模型的基础上,提出了一个实时压缩、实时传输、实时解压的系统,能够使压缩码流在信道中渐进式传输。经实验测试,客户端先看到影像的概貌,然后影像细节不断快速增加直至得到最清晰的影像。这种质量递增的流式数据传输模式,非常适合遥感数据的网络发布。在低带宽的网络环境下,效果尤为明显。

1 影像压缩及渐进传输系统总体框架

本文设计了一个能实现遥感影像分级压缩并渐进传输的系统,能够实现图像的实时压缩、实时传输、实时解压、实时显示,即压缩、传输、解压缩、显示同步进行。系统共分为3个部分设计,分别是发送端、传输模块和接收端。系统总体框图如图1所示。

图1 系统总体框图Fig.1 The general block diagram of system

对原始遥感影像,先构建金字塔,并对各层进行瓦片切割。对用户请求的每一个瓦片,进行下面操作∶发送端预先分配一个缓冲区,然后对该瓦片进行SPIHT(set partitioning in hierarchical trees)编码。每生成一位编码,则立即送入缓冲区。当缓冲区的码流达到一定长度,则加入包头并打包传送。同时,压缩继续进行。接收端收到该包后,根据包头信息确定包内的码流长度,并分配对应大小的缓存,将码流写入缓存,写入完毕后立即解压并显示,然后释放对应缓存。通过这种方式,后面传输的数据是前面已接收数据的增量,每次根据新解压的数据对已显示影像实时更新,实现了影像显示的快速平滑过渡。

2 遥感影像的分块及压缩

2.1 分块策略研究

对于遥感影像,目前最普遍的全球地形数据组织方法是金字塔模型。为了测试不同大小的瓦片对压缩/重构性能的影响,采用多幅遥感图像,分别在不同分块大小(64×64、128×128、256×256、512× 512、1 024×1 024),不同压缩倍率(1∶10,1∶80)下进行压缩和重构,以得到最佳分块大小。由于不同的遥感图像得出的结果类似,这里只给出2幅遥感图像的结果。

图2为2幅遥感图像,大小分别为1 024× 1 024和2 048×2 048,对于图2(b),为了更好地看出分块对性能的影响,最大的块取2 048×2 048,即原始图像大小。

图2 采用的原始遥感图像Fig.2 The adopted original remote sensing image

图3 给出了JPEG2000压缩方法下,对于不同分块大小的重建图像质量。由图3可以看出,重构图像的质量随着分块尺寸的增大而增大,且尺寸为256×256的分块是一个重要拐点。对于小于该尺寸的分块,随着块尺寸的减小,重建图像信噪比急剧下降。而对大于该尺寸的块,虽然重建图像的PSNR值单调递增,但增加的幅度很小,且随着图像尺寸的增大,计算量会大大增加。因此,从重建质量上看,选用256×256的分块大小最为合理。

图3 不同分块尺寸下重建图像质量Fig.3 The quality of reconstructed image under different tile sizes

图4 给出了在TCP/IP协议下,不同压缩比(本文选取10∶1和80∶1)和不同分块大小的情况下图像传输的效率。总耗时越小,表明系统效率越高。其中,系统总耗时为图像分块时间,压缩时间和传输时间3项的总和。

图4 TCP/IP协议下不同分块尺寸的算法的复杂度Fig.4 The algorithm's complexity of different sizes of tiles under the TCP/IP protocol

由图4可以看出,仿真曲线都经历了先降再升的过程,即对于不同图像大小的情况,系统的总时耗都有一个最小值。根据仿真结果,系统性能在分块大小为256×256时达到最佳。

综合上面仿真结果,对于一般遥感图像,无论是从重建图像质量还是系统总的计算复杂度上讲,采取256×256均为最佳分块策略。

2.2 采用的压缩算法

渐进式图像传输(progressive image transmission,PIT)通常用在低带宽的网络环境下,该技术可将数据分为几个阶段传输[9-10]。PIT技术应满足2个基本条件∶1)在前期传输的近似图像应尽可能清晰,即重要信息先传输。2)在前几个阶段接收的数据应能够与后面传来的图像叠加,即后接收的数据是对已有数据的细化。

由于SPIHT算法[11]是一种嵌入式编码,它按照位平面自上而下的顺序编码,保证了重要的信息在前。此外,该种编码方式能够在任意位置进行解码,这为码流的分阶段传输和显示提供了极大的方便。故采用SPIHT算法作为遥感影像瓦片的编码方法。

SPIHT算法通过3个链表,把所有像素点按空间方向树的结构组织起来进行编码。这3个链表分别是∶重要像素点链表LSP(list of significant sets)、不重要像素点链表LIP(list of insignificant pixels)、不重要像素集合链表LIS(list of insignificant sets)。SPIHT编码流程如图5所示。

图5 SPIHT编码流程图Fig.5 The flow chart of SPIHT encoding

3 影像压缩及渐进传输系统

3.1 包的数目及数据组织策略

瓦片图像经小波变换后,采用SPIHT逐个位平面进行编码,将每个位平面对应的码流生成一个包,每个包在传输过程中均需一个头文件。头文件记录了2种信息∶1)该包的序号,以保证按顺序解压;2)该包中码流的长度,根据该长度预先分配动态内存,以存储该包的码流文件。记录码流长度的另一个作用是供解码端确定解码的终止位,当解码至该包的最后一位时,进行图像显示。

对于一个位平面,将包头和压缩码流分为2个包发送。设有p个位平面,则生成2p个包。由于接收方对压缩码流解码前必须预先知道一些图像信息,故将这些信息放在一起作为第0个包单独传送,这个包称为SPIHT头文件。故包的总数为2p+1个。

下面对各包的数据组织进行简要说明。

第0个包∶SPIHT解压缩需要的头文件。包括图像长度、宽度、小波分解级数、小波分解系数最大值。包头P0,h的长度等于包编号(8 bit)。包内容P0,c的长度为16+16+8+16=56 bit。故第0个包的总长度为64位,如图6所示。Length为图像长度,Width为图像宽度,Level为小波分解级数,MaxValue为小波系数最大值。

图6 第0个包的数据组织Fig.6 The data organization of the 0th packet

第i个位平面对应2个包∶包头Pi,h的长度等于包编号(8 bit)+码流总长度(32 bit)=40 bit。包内容Pi,c的长度等于具体的码流。包头和包内容的数据组织如图7所示。

图7 第i个位平面对应的包头和包内容Fig.7 The head and content of the packet corresponding to the i th bit plane

图7 中,灰色部分为包头的内容,Num指包编号,Code_Len指码流总长度的二进制表示,Code_ stream指压缩码流数据。

3.2 发送模块的设计

发送端的功能是进行压缩并实时传输。设原始图像大小为A,压缩比为Cr,则在发送端预先开辟大小为A/Cr的总缓冲区。首先传输第0个包,即SPIHT头文件,为解压端提供压缩所必须的信息。然后对位平面进行SPIHT压缩,压缩过程中生成的二进制位不断写入总缓冲区。当压缩完一个位平面,则先将包头写入预先分配好的内存中(5 byte),然后根据包头提供的码流长度,临时分配动态内存,将缓存中的压缩码流写入该内存中,等待信道进行传输。信道每传输完一个包,则将对应的内存释放,继续读取下一个包。需注意,在传输过程中,编码端的压缩还在进行。压缩和传输各分配一个线程,2个线程同步并独立进行工作,从而实现了实时压缩并传输。过程如图8所示。

图8 发送模块的设计Fig.8 The design of sending module

3.3 传输模块的设计

采用Socket,在标准的TCP/IP协议下,在以太网上进行数据传输。在传输信道,为了尽量使通信不丢包,采用双工通信的方式。每传输完一个包,则接收端向发送端发出一个确认指令,发送端接收该指令后,再发送下一个包。

3.4 接收模块的设计

设计过程如图9所示。预先开辟一个大小为8 bit的动态内存,以及2p个大小为5 byte的动态内存。8 byte的内存用来接收SPIHT头文件,为后面的SPIHT解压缩做准备。接收并解译第0个包后,将该内存释放。当接收到第1个包时,即最高位平面对应的包头,将其放入下一个动态内存中,解译后得到对应的码流长度。然后根据该长度临时开辟动态内存,并接收码流(第2个包的信息)。接收完毕后,将码流解压缩并显示,然后释放包1和包2对应的内存。在解压缩期间,信道传来的包继续放入下一块内存中,等待进行相同的操作。随着接收数据的增多,叠加在已有数据上的细节越来越多,图像逐渐变得更清晰。

图9 接收模块的设计Fig.9 The design of receiving module

4 实验及结果分析

为了验证分级压缩和渐进传输的效果,根据以上分析与设计,采用一副大小为2 048×2 048的遥感影像,分割瓦片大小为256×256。硬件环境为2台电脑,其中压缩和传输一台电脑,解压和显示一台电脑。配置为Pentium 4处理器,2G内存,Windows 2000系统。软件环境为Visual Studio 2010,OpenCV 2.4,编程语言为C++。

实时压缩及渐进传输系统的工作过程如下∶

首先,服务器对客户端进行监听,当客户端请求某一图像时,马上根据索引找到图像存放位置并读取数据,并进行实时压缩。生成的码流每达到一定的长度则打包传输至接收端。服务器端进行压缩和传输过程如图10所示。

对于客户端,每收到一个包,则先解译包头信息,得到对应的码流长度,然后根据该长度临时开辟动态内存,该内存用来存放码流。当码流接收完毕后,解压缩并显示。随着接收数据包的增多,显示图像不断更新,图像迅速平滑过渡至更清晰。客户端在不同阶段的解压缩和显示过程如图11所示。

图10 服务器端进行压缩和传输的过程Fig.10 The process of compression and transmission for the server

从图10、11的结果可以看出,发送端压缩并打包发送码流后,解码端能够实时接收并解压收到的包,解压完毕立即进行显示。随着包的传送,影像细节迅速增加,可以平滑的过渡到最好的质量。这种渐进传输的方式在低带宽的网络环境下尤为有利。

图11 客户端进行解压缩和显示的过程Fig.11 The process of decompression and display for the client

与本文提出的实时压缩及渐进传输系统相比,另一种广为采用的压缩方法是离线压缩方法。离线压缩的好处是所有图像瓦片都提前压缩好,需要的时候直接调用即可,对客户端请求传输的图像来说,节省了压缩时间。但离线压缩方法的缺点是,事先压缩好的瓦片必须都存在服务器端,而对服务器端来讲,海量遥感数据所占空间本身就是巨大的,再对所有数据的压缩结果进行存储,其存储负担可想而知。因此,离线压缩只适用于数据量不是特别巨大的场合。而对实时压缩来讲,只有客户端请求的瓦片才被压缩,而且压缩后的码流直接传输,并不用存储在服务器中,大大减少了存储器负担。另一方面,由于是压缩、传输、解压缩同时进行,故总时间一定小于单独的压缩时间、传输时间、解压缩时间之和,这使得离线压缩的优势进一步降低。可见,提出的实时压缩及渐进传输系统是非常有意义的。

5 结束语

本文针对传统影像金字塔模型下,将所有被请求的瓦片全传输完再解压的问题,提出了网络环境下遥感影像实时压缩及渐进传输系统,并对系统实现过程中的关键环节进行了详细分析。实验结果表明,用户端看到的图像能够快速平滑过渡至最清晰,克服了传统方法中影像显示的“阶跃”效应,有效的解决了用户主观感觉等待时间过长问题。这种质量的流式数据传输模式,降低了对网络带宽的需求,非常适合遥感数据的网络发布,对进一步提高虚拟地球平台的遥感影像金字塔调度效率提供了较好的解决办法。

当然,该系统也有一定的局限性,就是当大量用户并发请求时,需占用的服务器计算资源较多,该问题可通过多线程技术得到缓解,这将作为下一步工作继续研究。

参考文献∶

[1]任娜,朱长青,任树敬.瓦片数据版权保护方法及应用研究[J].地球信息科学学报,2012,14(6):693-697.REN Na,ZHU Changqing,REN Shujing.Research on method and applications of copyright protection for tile data[J].Journal of Geo-Information Science,2012,14(6):693-697.

[2]李志刚,蒋捷,翟永,等.面向分布式服务聚合的“天地图”总体技术架构[J].测绘地理信息,2012,37(5):13-15.LI Zhigang,JIANG Jie,ZHAI Yong,et al.“TIANDITU”Technical architecture for supporting distributed service aggregation[J].Journal of Geomatics,2012,37(5):13-15.

[3]李京伟.关于天地图合作建设与商业运营模式的思考[J].地理信息世界,2011,8(4):33-34.LI Jingwei.On cooperation and business modes of Tianditu[J].Geomatics World,2011,8(4):33-34.

[4]YANG Chaowei,WONG D W,YANG Ruixin,et al.Performance-improving techniques in web-based GIS[J].International Journal of Geographical Information Science,2005,19(3):319-342.

[5]刘鹏,毕建涛,曹彦荣,等.遥感影像数据库引擎设计与实现[J].地球信息科学,2005,7(2):105-110.LIU Peng,BI Jiantao,CAO Yanrong,et al.Research on remote sensing image database engine[J].Geo-Information Science,2005,7(2):105-110.

[6]张军,成礼智,杨海滨,等.基于纹理的自适应提升小波变换图像压缩[J].计算机学报,2010,33(1):184-192.ZHANG Jun,CHENG Lizhi,YANG Haibin,et al.Adaptive lifting wavelet transform and image compression via texture[J].Chinese Journal of Computers,2010,33(1):184-192.

[7]霍亮,杨耀东,刘小勇,等.瓦片金字塔模型技术的研究与实践[J].测绘科学,2012,11(37):144-146.HUO Liang,YANG Yaodong,LIU Xiaoyong,et al.Research and practice of tiles pyramid model technology[J].Science of Surveying and Mapping,2012,11(37):144-146.

[8]李艳红,庞小平,李海亭.网络环境下的遥感影像金字塔纹理压缩算法与实验[J].地球信息科学学报,2012(14):109-115.LI Yanhong,PANG Xiaoping,LI Haiting.Research of remote sensing pyramid texture compression in network[J].Journal of Geo-Information Science,2012(14):109-115.

[9]ALTMAN E,SASSATELLI L,DE PELLEGRINI F.Dynamic control of coding for progressive packet arrivals in DTNs[J].IEEE Transactions on Wireless Communications,2013,12:725-735.

[10]LIM N K,KIM D Y,LEE H.Interactive progressive image transmisson for ealtime applications[J].IEEE Transactions on Consumer Electronics,2010,56:2438-2444.

[11]SAID A,PEARLMAN W A.A new,fast,and efficient image codec based on set partitioning in hierarchical trees[J].IEEE Transactions on Circuits and Systems for Video Technology,1996,6:243-250.

Design on the real-time compression and progressive transmission system of remote sensing image based on the network

SHI Cuiping1,2,ZHANG Junping1,QU Haicheng1,ZHANG Ye1
(1.School of Electronic and Information Engineering,Harbin Institute of Technology,Harbin 150001,China;2.Department of Communication and Electronic Engineering,Qiqihar University,Qiqihar 161000,China)

∶In order to make the remote sensing image released quickly and smoothly,a real-time compression and progressive transmission system is proposed in this paper.Firstly,the optimum size of tile of the pyramid model is deduced.Secondly,each tile requested by the user is compressed by SPIHT(set partitioning in hierarchical trees)at the server.Next,the code stream is packed in a package and sent to the client as soon as the length of the code stream reaches the given length.In the meanwhile,the compression in the server is continued.For the client,it would be decompressed immediately when a packet is

and the image on the display would be updated dynamically.The experimental results showed that the compression,transmission,decompression,and display in the system can operate simultaneously.The image can be seen from coarse to very fine smoothly and quickly in the client.So the problem that image display"jumps"in the client is resolved.

∶image compression;progressive transmission system;real-time compression;real time systems;remote sensing image;tile

10.3969/j.issn.1006-7043.201307028

∶http://www.cnki.net/kcms/doi/10.3969/j.issn.1006-7043.201307028.html

∶TP751.1

∶A

∶1006-7043(2014)11-1434-07

∶2013-07-11.网络出版时间∶2014-09-18.

∶国家863计划资助项目(2012AA12A405);黑龙江省教育厅基金资助项目(12521614).

∶石翠萍(1980-),女,博士研究生;张钧萍(1970-),女,教授,博士生导师.

∶张钧萍,E-mail∶zhangjp@hit.edu.cn.

猜你喜欢
遥感影像瓦片
打水漂
一种基于主题时空价值的服务器端瓦片缓存算法
惯性
遥感影像资料在海图制图中的应用研究
遥感数字图像处理课程实验综述
基于Hadoop的瓦片数据存储与管理技术研究
高分遥感影像中道路信息提取方法综述
基于NoSQL数据库的瓦片地图服务