基于低带宽网络的气象图像ROI压缩及交错显示算法∗
2018-02-07徐开来马良荔冯泽波
徐开来 马良荔 冯泽波
(1.海军工程大学 武汉 430033)(2.海军参谋部规划和编制局 北京 100000)
1 引言
随着远海战略的扩展,远海气象保障的意义不断加深,远海船舶及航海保障人员对岸基可视化气象实况、预报产品的需求不断增加,目前可用的远海通信手段并不多,且成本高,设备体积大,带宽小,实现图像传输仍有一定困难。
北斗是我国自行研制的卫星导航系统,具有定位、授时、短报文功能,其中短报文功能为解决远海通信提供了双向信道,具有低成本、体积小等优点,是解决偏远地区通信的有效手段之一,但是带宽小是制约这一应用实现的根本的问题,特别是对体积较大的图像传输就更为突出,北斗卫星导航系统对非短报文数据的传输能力不足,并不是图像传输的最优解决方案,但目前在同等价格、同等体积的通信设备中并没有更好的替代产品,因此研究基于北斗短报文通信的图像传输技术就具有一定的理论和应用价值。从具体应用方面来看,北斗的短报文通信在传输中还存在限制,具体如下:
1)单次通信容量有限,每次进行短报文通信所能传输的数据量是有限的,普通用户最高传输速度为120字节/分钟,数据如果超过最大报文长度,必须进行分包传输;
2)通信频度有限,北斗卫星系统每发送完一条报文后需等待很长的时间才能进行下一次传输,完全传输完一张图像耗时很长。
3)北斗卫星通信是不可靠的通信链路,在连续传输中丢包率较高率,而图像文件体积较大,其中任何一部分文件丢失极有可能导致最终图像重构失败。
由此可见,北斗卫星系统信道属于低速带宽网络,只有大幅减小文件体积,才能实现利用短报文传输图像。实际预报工作中,一幅气象图像通常只有不到20%的区域是有价值预报数据,预报员往往也只关注这部分感兴趣区域(region of interest,ROI)。这部分区域也会随保障地区的不同而改变,例如,我国陆地北部、南部和近海(东海、渤海、南海)、远海的ROI区域均是不同的。相比非感兴趣区域(region of not interest,RONI),ROI区域需要进行更高质量的编码,并且在传输和显示时具备更高的优先级。
因此,本文设计和实现一种能够保证高分辨率ROI区域,且有效减小图像总体积的压缩算法。在图像的切割、压缩、传输、重构与显示的过程中,赋予图像优先级属性,ROI区域采用高分辨率的无损压缩,RONI区域根据优先级属性采用阶梯式分辨压缩,并采用Webp图像格式输出,大幅减少图像文件体积和传输等待时间。
2 Webp图像压缩格式分析
利用北斗短报文进行图像传输的情况,多用于气象、农业、医疗、交通、海事等,通常是反映区域或局部的图像资料,更新频度低,色彩深度少,常用图像压缩格式主要有:JPG(JPG2000)、GIF 、PNG 格式。文献[1~6]在图像压缩格式上均采用JPG2000,本文经过实验,针对大部分色深位数低(2位~8位)的气象图像,JPG2000并不是最优压缩格式,具体对比实验结果见下文。文献[3]采用传统的GIF格式,GIF和PNG这两种格式对色深低的图像压缩效果较好,但并不是最优,随着技术发展已产生了压缩效果更好的通用格式,本文选取了Google的图像压缩格式Webp。
选取几种常见的专业气象图像进行实验,比对各图像格式压缩效果,根据不同图像的显示特点,分别设置不同的图像属性,其中JPG品质均为60,部分图像可去除地理信息(GEO)减小体积,实验结果如表1所示。
表1 各图像格式压缩效果比对
JPG(JPG2000)常用于摄影作品,支持最高级别的压缩,不过这种压缩是以牺牲图像质量为代价的有损压缩,而且由于气象图像色彩深度位数低,JPG并不是最理想的压缩格式。比对结果中只有“卫星云图(无GEO)”中JPG压缩效果最好,但是无GEO的图像必须支持透明属性,否则后期地理信息无法叠加,故JPG(JPG2000)最不适合气象图像压缩。
GIF是一种基于LZW算法的无损压缩格式,多用于动画,对结构简单、色彩深度低的图像有很好的压缩效果。PNG格式的设计目的是试图替代GIF格式,同时增加一些GIF格式所不具备的特性,PNG使用从LZ77派生的无损数据压缩算法。本次实验中PNG和GIF两种图像格式压缩效果各有优势,但总体效果都不如Webp。
Webp是由Google开发的一种同时提供了有损压缩与无损压缩的图片文件格式,派生自VP8编码格式。实验结果表明Webp的压缩率要高于PNG和GIF压缩率,转换后的Webp体积大幅减少,无损Webp相比PNG减少10%~60%;图片质量也得到保障,肉眼几乎无法看出差异,是目前效果最好的压缩格式。需要注意的是只有从PNG格式压缩转换成Webp格式才能得到最好的压缩效果。
3 自定义ROI图像压缩算法
使用Webp格式一定程度上减小了图像体积,但相对于北斗信道的带宽,完整传输一张图像的时间依旧过长。以传输间隔为60s,速率120字节/分钟的民用北斗SIM卡为例,完整传输各气象图像的等待时间如表2所示。
表2 各气象图像的北斗通信传输时间
因此,本文设计了一种基于Webp格式的ROI图像压缩方法,用户可自定义重点关注的感兴趣区域(ROI区域),以一张标准传真图为例,覆盖范围东经60°至西经 150°,北纬 10°至 70°,几乎覆盖整个亚洲,但是作为我国的预报工作者仅用东经100°至130°,北纬20°到45°,便可完成日常的预报保障任务,ROI区域即(100o,45o),(130o,20o),如遇出海任务,只分析海洋区域即可,实际ROI区域只占整幅图像的不到20%。文献[1]采用被动式ROI,气象图像不同于其它图像,因保障区域不同所关注的ROI区域也不同,且针对同样的保障区域每个预报员的ROI区域也不同,气象图像是主观性很强的图像资料,本文采用的主动ROI区域,可以根据用户需求将压缩率降到最低,高效满足保障需求。
如果只根据用户自定义的ROI区域进行裁剪压缩,虽然可以大幅缩小图像体积,但是由于气象图像的特殊性,并不是对非ROI区域毫不关心,因此,本文设计了以ROI区域为中心的阶梯分辨率压缩算法。设图像宽度A(px),高度B(px),用户自定义 ROI坐标 (X1,Y1),(X2,Y2),用户自定义阶梯等级Ln(n≥1),根据用户设定的阶梯等级Ln从原始图像ROI区域的上、下、左、右边缘分别遍历像素信息,根据n值进行阶梯式裁切,阶梯坐标偏移公式为
图1 ROI压缩算法流程图
图2 按ROI优先级对图片进行阶梯式切割、压缩
之后按照优先级对各阶梯区域依次通过北斗进行可靠传输传输,接收端每收到一个区域,便交错呈现一部分区域,用户可以提早辨识ROI区域,不需要等到所有图像传输完毕。下面以1张标准传真图进行实验,实验结果过如表3所示。
4 基于ROI的专用交错显示算法
交错显示技术是互联网浏览器常用功能,指下载图片时进行隔行下载,一张图只用一半的时间就可以初步辨识,之后再下载另一半,因此可以减少用户等待时间。北斗通信属于低速网络,显示较大图像时,须全部传输完毕才能显示图像,而利用交错技术图像可以逐步的显示出来,让用户可以优先获取ROI区域的图像,若ROI区域已满足辨识要求可以随时停止其余部分的传输,以达到减少等待时间的目的。
表3 压缩前后体积大小及传输时间比对
本文针对北斗通信网络,结合ROI压缩算法,对交错技术进行改进,以ROI区域为中心,环矩形为最小单位逐环显示,最高优先级保证ROI区域传输,非ROI区域交错显示,也可在图像满足保障需求时用户主动停止后续传输,可大幅减少等待时间。
默认的已知信息为图像宽度 A(px),高度B(px),用户自定义 ROI坐标 (X1,Y1),(X2,Y2),用户自定义阶梯等级Ln(n≥1),具体算法步骤如下:
1)初始化一张原始图像 (0,0)(A,B)(空白画布,定义为用户的当前画布。
2)ROI区域 (X1,Y1),(X2,Y2)传输完毕后优先重构绘图,并初始化一个临时画布。
3)等待非ROI区域第n个区域传输完毕,按照优先级属性,循环倒序重构绘图[注:为减小图像体积,图像中的空白区域均不带透明属性,因此图像重构必须倒序叠加,启用临时画布,将之前已显示的图像存储在临时画布,将之后传输完成的低优先级区域优先绘制在当前画布,再将临时画布存储的图像叠加到当前画布上。],获取该区域的图像宽度An(px),高度 Bn(px),以 (nAn,nBn)重新采样,生成新绘图区域,此时,取出临时画布图像以(X1/n,Y1/n)偏移量合并重绘在该区域上,之后整体将该区域存储在临时画布,并以的偏移量绘制在用户当前画布上。
4)重复步骤3)直至图像显示完毕或用户主动取消。
图3 交错显示效果
5 结语
文中提到思路不仅局限于北斗通信,也适用于其他低速信道,客观上北斗短报文并不是图像传输的最佳方案,也不是北斗卫星的发展方向,但目前北斗通信模块覆盖广、成本低、体积小,在远海和山区依旧有应用价值。例如,物联网应用中,服务器端向客户端传输图像数据时,利用这种方法在有限的传输带宽上提供更加灵活的图像传输机制,有助于提升客户端浏览图像的用户体验,在物联网应用中具有很好的应用前景。
[1]王超,王浩,王伟,等.基于优化ROI的医学图像分割与压缩方法研究[J].重庆邮电大学学报(自然科学版),2015(02):279-284.
[2]王源源,黄大庆.无人机侦察图像压缩[J].光学精密工程,2014(05):1363-1370.
[3]刘繁明,刘莎.气象传真图格式转换及压缩的实现[J].应用科技,2010(09):61-64.
[4]李靖,杨帆,吴涛.基于背景位平面向低位位移的ROI压缩算法研究[J]. 光电子.激光,2010(02):307-311.
[5]隋玉萍,何昕,魏仲慧.ROI的海洋监视卫星遥感图像压缩算法[J]. 光学精密工程,2008(07):1323-1329.
[6]孟谨,张尤赛.医学图像的ROI-JPEG有损压缩技术[J]. 计算机应用与软件,2004(04):51-52+95.
[7]杨晓,刘俊杰,杨学友.基于ROI编码的任意尺寸测量图像的压缩方法[J].计算机工程与应用,2013(04):14-17.
[8]李靖.基于ROI的图像压缩算法研究[J].天津职业院校联合学报,2012(08):51-53.
[9]徐勇,崔慧娟.低码率图像压缩中应用ROI的改进算法[J]. 信息技术,2012(03):69-71,76.
[10]曾基业,肖德琴,林探宇.农业图像感兴趣区域可调压缩处理系统设计与实现[J].现代计算机(专业版),2016(15):44-50.
[11]杜梅,曹蔚然,赵怀慈.基于压缩感知的感兴趣区域编码[J].软件工程,2017,20(06):15-16,14.
[12]徐啸,季万涛,刘晓琴,等.基于ROI自动提取和压缩的森林防火监控系统研究[J].半导体光电,2015,36(05):853-856.
[13]袁建亮,朱远平.基于JPEG2000的感兴趣区域压缩编码算法[J].天津师范大学学报(自然科学版),2014,34(01):42-46,61.
[14]陈鑫,陈晓,蔡婷婷.基于SPIHT算法的ROI编码研究[J].软件,2015,36(02):112-117.
[15]翟羽佳,邓家先.基于改进零树编码的ROI图像联合压缩加密算法[J].计算机系统应用,2014,23(07):136-143.