改进的TMS

2024-08-12

改进的TMS(精选3篇)

改进的TMS 篇1

自动曝光是指摄像机自动进行光圈、曝光时间、信号增益的调节,从而获取视频图像最优亮度的过程[1]。摄像机拍摄时,往往要求恰到好处的曝光。曝光过高或者过低会引起视频图像偏亮或者偏暗。

自动曝光包括光强测定、调节算法部分。光强测定是获取摄像机所摄景物光照强度的过程[1],对高清网络摄像机而言,主要通过分析图像数据完成环境光强的测定。调节算法部分主要是通过场景亮度与理想亮度计算出曝光时间、信号增益的输出[1]。常用的有直接设置法[2]、逐次逼近法[3]、神经网络[4]、基于图像样本自学习的自动曝光算法[5]。

本文主要是研究基于TMS320DM368 的网络摄像机的自动曝光控制算法。TMS320DM368 是基于达芬奇( DaVinci) 技术的系列产品,达芬奇技术是一种专门针对数字视频应用( 如网络摄像机) 的解决方案[6]。

1 自动曝光系统

本文设计的自动曝光系统包含: 镜头、CMOS图像传感器以及TMS320DM368 控制器。含有图像信号的光线经镜头照射在CMOS感光元件上,经过一定时间的曝光,转换成电信号,经模拟增益器放大,然后A/D转换后输出到处理器TMS320DM368 的H3A硬件模块中。H3A处理的数据经过亮度评价函数获取场景光强,进而完成光强测定,将评价亮度与理想亮度输入控制器计算出曝光时间、信号增益。自动曝光系统如图1 所示。

因为图像数据量大,计算一般需要借助硬件协处理器来完成,TMS320DM368 中H3A模块式专门用于自动曝光( AE) 、自动白平衡( AWB) 、自动聚焦( AF) 的硬件协处理器[7]。对自动曝光而言图像数据在H3A中完成对数据的分块采集、饱和检查、像素累加工作,对自动曝光来说,在H3A中完成的主要工作为分块采集和像素的累加。

光强测定时亮度评价函数设计与H3A模块输出数据密切相关、调节算法的设计与自动曝光的性能密切相关,亮度评价函数的设计与调节算法的设计为自动曝光算法的关键技术。

2 亮度评价函数的设计

H3A中完成对数据的分块采集、像素累加工作,H3A将图像数据分为16 × 12 块来采集,AE/AWB像素累加器分别对每块像素的RGB值分别累加得到一个16 × 12 × 3的矩阵A16 × 12 × 3。其中,矩阵中Aij1为第ij模块的R( 红色)分量累加值,矩阵中Aij2为第ij模块的G( 绿色) 分量累加值,矩阵中Aij3为第ij模块的B( 蓝色) 分量累加值,矩阵A16 × 12 × 3即为H3A模块的输出。

用户对不同区域亮度关心程度不同,为了更贴近用户感受,因此对图像亮度进行加权平均,按照人们对不同区域关心程度设置权重矩阵W16 × 12,W16 × 12权重按照图2设置。

估计场景亮度将H3A转换为亮度,在按照权重加权平均

式中: Yp为估算场景亮度; 矩阵A为H3A输出数据; W为权重矩阵。

3 PID控制系统设计

调节算法是根据景亮度与理想亮度计算出曝光时间、信号增益的输出,考虑到TMS320DM368 计算能力与稳定性要求,选取PID控制算法。

由自动曝光系统可得图像亮度Yp与镜头通光量F、曝光时间T、增益系数A的函数关系为

式中: K为比例系数,由自动曝光系统可知曝光时间T与增益系数G均为系统可控量。通光量F与光圈大小以及场景光照有关系。考虑到成本因素网络摄像机一般采用定光圈镜头,通光量F仅跟场景光照有关。

假设可控量为V,V与曝光时间T与增益系数G为

将图像亮度函数简化为

为保证系统线性

则控制系统设计为: ln( Y) 为作为输出,PID控制器的输出量为U = ln V,将ln F作为系统的干扰构建控制系统如图3所示。

由式( 5) 可得G( S) = 1,系统中输入量为ln YE,YE为自动曝光系统希望达到的希望亮度,按照中间亮度法故取YE= 128。同时为了防止自动曝光系统频繁调节,影响人眼体验取YL= 118,YH= 138,当评价亮度YL< Y < YH,时曝光系统将不进行曝光调节。

因为曝光时间、增益系数限制较多,函数关系较为复杂,故采用查表法查出曝光时间T与增益系数G。

本文采用OV9712 图像传感器,其COMS图像传感器,增益系数调节范围为1 ~ 31[8]。根据COMS图像传感器特性,为保证在灯光下没有条纹与闪烁现象的产生,视频采样帧率fv,曝光时间T,与交流电频率f,需要满足式( 6) 、( 7) ,根据PID控制器设计时取输出U = ln V ,并由式( 3) 可以得出,PID控制器输出为U时,曝光时间与增益系数需满足要求为

式中: m,n为自然数,f = 50 Hz,一般情况下取n = 4,即fv= 25 Hz,但是当在低照情况( 小于10 lx) 下,由式( 8) 得T < 40 ms,所得图像噪点很多,可取n = 8 将采样率降低为12. 5 Hz曝光时间加长至80 ms。强光情况( 大于2 000 lx,普通灯光照度大约为500 lx) 时,此时若曝光时间为10 ms会产生过曝光。强光多为室外情况,因此可以不必满足式( 6) 、式( 7) 将曝光时间设置为小于10 ms。故可以先确定曝光时间表,计算曝光增益系数表,如图4 所示。

4 实验结果分析

将本文设计的自动曝光算法在基于TMS320DM368的网络摄像机上实现,并对该网络摄像机曝光性能测试。

摄像机安装福光130万,1/3 in(1 in=2.54 cm),0409手动光圈,手动变焦高清摄像机镜头进行测试。拍摄时光强为9 mm。

测试结果为: 图5 照度为1 lx( 低照) 时摄像机获得图像、图6 为照度为10 000 lx( 强光) 下摄像机获得图像、图7 为照度由10 lx变到10 000 lx以及由10 000 lx变到10 lx的两种情况下的图像评价亮度变化曲线。

由以上实验结结果图5 和图6 可得该曝光算法拥有比较大的适应范围,可以适应照度由1 lx变道10 000 lx下的光照情况。由图7 亮度曲线可得该曝光算法拥有比较好的动态特性,当照度由10 lx变为10 000 lx情况下,在第40 次采样( 约为1. 75 s) 图像亮度即达到要求并保持稳定,当10 000 lx到10 lx情况下也是接近40 次采样即可达到稳定状态。

5 结论

本文设计了用于基于TMS320DM368 的网络摄像机的自动曝光控制算法,算法充分利用了TMS320DM368 提供的硬件模块,其可以适应由1 lx到10 000 lx下的光照状况,拥有较好的动态性能,由低照到强光其反应时间约为1. 75 s,而且其算法简单,稳定,满足网络摄像机的使用需求。

改进的TMS 篇2

设计本系统,采用标准的计算机键盘和鼠标,串行通信接口,用标准TMS34010C编译、链接。本系统能实时、快捷、方便、灵活地完成雷达目标的显示和跟踪等,能同时显示固定地图背景,并可用鼠标和键盘等输入设备,发送各种控制命令。

由于采用模块化和分层结构设计,本系统具有有良好的人机界面,便捷的使用方法,丰富的功能,便于进行移植和扩展。

本系统可以在主机引导下工作(即主引导方式),也可以在自引导方式下工作。主引导方式是通过引导程序,由计算机经PC总线把工作程序送入图形控制板运行;自主方式工作,是通过在RESET信号和8个RAS刷新周期结束后,由GSP取出0级中断向量地址,进入复位中断服务程序。

1 系统硬件结构

支持此显控系统的硬件逻辑结构如图1所示,其中虚线部分是主引导方式下工作需要添加的。

1.1 图形处理器TMS34010

图形处理器(Graphics System Processor)TMS34010,简称GSP,既具有通用处理器的功能,又兼有图形控制器功能的多功能的图形处理器,可以和计算机主机进行联机工作,也可以自成系统[1]。GSP特点是速度快、可编程性强和硬件支持的高效数据处理类型,如像素及二维像素阵等;其独特的内存接口减少了完成位排列和位屏蔽等任务所需要的时间,而在结构上又支持多种大小的像素、帧存及屏幕大小。GSP有自己的指令系统,包括一组完整的通用指令和图形功能指令,利用这些指令,可以完成多种高级功能。[2,3]

系统的中断结构:

外部中断1(INT1)数据交换和键盘中断(地址:0XFFFFFFC0)

外部中断2(INT2)鼠标中断(地址:0XFFFFFFA0)

1.2 视频接口TLC34075

视频接口TLC34075有256-word的彩色查找表RAM,通过两个8位的读/写寄存器对R A M进行寻址,寄存器在每次RAM读/写后自动增加,而且允许整个查找表只通过一个地址进行读写。当地址寄存器超过RAM范围后,地址寄存器复位的第一个位置即0地址。

彩色查找表的写入是通过首先向地址寄存器写入起始地址,然后连续三次向查找表寄存器写入8位红、绿、蓝数据。在蓝色数据写结束后,三色数据合成一个24位数,存入地址寄存器确定的RAM中,然后地址寄存器自动递增指向下一个R A M空间。[4]

1.3 串行通信接口82530

串行通讯控制口82530,有两个独立的串口通道:A和B,每个通道有独立的波特率产生器(BRG)和数据锁存器,传送数据模式独立可编程,其中A通道优先级高于B通道。

设置数据传输波特率是通过波特率常数(BTRC)来设置的,其相互转换公式如下所示:

其中波特率因子为16或32可选。得到的BTRC的高字节写入WR13寄存器,低字节写入WR12寄存器。[5]

实际的设计过程中,特定的波特率经过上面的公式产生的结果一般不是整数,而波特率常数是一个整型数,因此需要由取整的波特率常数换算出对应的波特率进行比较。

2 显控系统软件设计

2.1 模块基本组成

基本模块组成如图2所示:

2.2 初始化模块

初始化模块包括3个方面,即GSP34010的初始化、串口82530的初始化以及软件参数初始化。

2.3 键盘处理模块

键盘处理模块包括键盘接收模块和键盘处理模块两部分。

计算机键盘每个键产生两类扫描码,当键按下时产生一个一字节产生码,键释放时产生一个两个字节释放码。用同一个字节表示键在按下和释放释放是生成的扫描码,但释放码为两个字节长,而第一个字节的值总是0XF0。

当中断程序接收到来自键盘的扫描码后,立即把扫描码转换成相应的ASCII码存放在键盘数据缓冲区。主程序循环检测键盘数据缓冲区,有键盘数据需要处理,则分析键盘输入数据,然后转到相应的功能模块进行处理。

2.4 鼠标处理模块

鼠标状态改变时会连续发送三个字节的数据,即状态、X方向增量和Y方向增量。

鼠标处理模块包括鼠标的中断接收模块和状态处理模块两部分。

当中断程序接收到来自鼠标的三组数据后,分析鼠标状态,并且保存鼠标状态值。主程序循环检测鼠标状态,发现鼠标状态改变后,则进行处理,包括鼠标移动,鼠标按键状态的变化等,通过对鼠标在显示屏幕上不同位置的状态改变分析鼠标当前的功能,进行相应的处理。

本显控系统充分利用鼠标的特点,把原来由键盘完成的操作功能全部用鼠标和画面相结合来实现。因此,在实现时增加了命令识别模块、目标拾取模块、对话框处理模块、页面转换模块等。

2.5 数据处理模块

数据处理模块包括三个模块:数据接收模块、发送模块和处理模块。

当中断接收到检测录取分机送来的数据后,对数据进行基本的格式比较,符合格式的数据存入接收数据缓冲区中,等待处理;不符合的则作为误码传送,舍弃。

当光栅显示器需要将处理过的数据回送到检测录取分机时,按规定的格式向录取分机发送。

主程序循环检测接收数据缓冲区,发现有待处理的数据组,则根据这组数据的功能代码进入相应的处理模块。

2.6 背景画面显示模块

通过GSP的图形功能指令产生各种控制键、菜单、对话框、按键等画面,整个显示画面可分为几个显示区域。

主画面显示区主要显示目标航迹、距离和方位刻度、状态信息、地图等。

参数显示区分为四个页面,包括显示参数页、目标参数页、相对参数页和全屏显示页,其中显示参数页中的故障显示按钮又可弹出故障显示页面。这样设计既可以简化界面,又可以显示更多信息。

因为画面显示的内容比较多而复杂,按预定义的区域范围,采取各显示区域独立处理,以减少处理的复杂度和调试难度。

TMS34010 C是基于DOS系统的编译系统,不能像Windows系统下的编译系统可以自动生成菜单、对话框、命令按键等,因此,显示画面的处理根据显示内容的不同采用不同的显示模块。

2.7 航迹处理模块

航迹处理模块主要包括接收的航迹参数处理、手动录取、航迹显示、微表处理、游标处理以及目标的属性等处理。

由于航迹批号的范围一般在001~999范围内,而录取目标的数目相对较少,如果用目标批号直接对应目标信息,则浪费大量的系统存储空间。因此采用目标批号索引的方法,以减少存储空间。两者之间的对比如图4所示。

手动录取主要包括手动目标实时方位排队、预置等。

航迹显示主要包括目标点迹、标牌、游标的显示。目标可以自动保留128个历史点,根据需要在0~128之间显示点迹数。

微表的处理主要包括单微表的显示、插入、删除、查找、翻页以及相对微表的显示等。目标自动按序号插入到单微表的显示序列,也可以通过鼠标或键盘插入或删除。

2.8 地图显示模块

此模块主要包括地图显示、地图编辑和储存等。地图显示和叠加,同方位、距离刻度一起,可以使操作员或指挥人员能方便地进行目标定位、目标引导。

地图编辑主要是通过地图菜单,利用鼠标定位,制作矢量图。可以提供五种不同的线型、标准的16×16点阵汉字、数字符号、字母以及军标符号等。还可以根据要求,画出杂波图范围。

编辑后的地图,以距离、方位的形式存储在EEROM中,在需要显示时,以位图形式叠加在显示缓存中。在叠加过程中,与当前显示器的扫描状态、量程相关,完成平移、放大、窗口剪裁。

2.9 数据转换模块

因为在显控软件中,存在不同坐标系,处理需要进行数据转换处理。主要有屏幕坐标和极坐标的互换,直角坐标和极坐标互换,屏幕坐标和直角坐标互换等。

3 结束语

本系统在自引导方式工作,是一个独立的终端配置,可与任何雷达录取器配接;在主引导方式下,它可作为主控设备的显示控制器。目前本系统用于多种雷达的终端显示。

随着计算机显卡性能的不断提高,计算机性能、速度的不断加速,使得用计算机来实现雷达一次、二次信息的叠加成为可能。因此采用Windows等高级软件平台的显示技术将是未来雷达终端光栅显示的基础。

参考文献

[1]中国科学院科理数学图形图像公司.TMS34010图形系处理器.1988,8

[2]Texas Instruments Graphics Products.TMS34010 Math/Graphics Function LibraryUser’s Guide.1998,4

[3]TMS34010C Compiler User’s Guide,1998,4

[4]Texas Instruments Graphics Products,1998,4

[5]周海清.雷达光栅扫描显示器的技术特点及发展[J].现代电子.1999(3):25-29,34

改进的TMS 篇3

目前地理信息系统处理显示的数据量已达GB级、TB级甚至PB级,一次性完全加载显示基本没有可能,也会造成显示效率低下。因此需要对空间数据进行预处理,形成统一的存储组织标准,进行分块存放。实时调度时可根据空间位置索引到瓦片, 直接调用对应数据,实现海量信息的快速共享与高效应用[1,2]。

本文对TMS切片算法进行了设计实现,针对以前的TMS切片算法效率不高、单线程执行的特点, 利用多线程的方法对TMS切片算法进行了改进,有效提高了TMS切片算法的效率。新的TMS切片算法特别在处理大数据上具有显著优势。

1 TMS瓦片金字塔技术

地图瓦片技术是一种地图预缓存技术,将配置好的一定坐标范围的地图,按照固定的若干个比例尺( 瓦片级别) 和指定图片尺寸,切成若干行及列的正方形图片,以指定的格式保存成图像文件,按一定的命名规则和组织方式存储到目录系统中或是数据库系统里,形成金字塔模型的静态地图缓存,地图切图所获得的地图切片也叫瓦片( Tile) 。瓦片金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变[3,4]。瓦片金字塔的示意如图1所示。

瓦片地图由于采用了以“空间换取时间”的策略,预先缓存地图,读取静态的图片在客户端拼接浏览,从而可以快速地提供地图的服务,带来更好的用户体验[5]。

TMS是由开源地理空间基金会( Open Source Geospatial Foundation,OSGeo) 定义和发布的一种地图瓦片规范。通过定义统一的切图标准和独立服务接口,以地图切片的行列位置为基础参数直接访问栅格地图,提高地图的访问速度。目前,TMS正逐步成为事实标准,TMS服务是栅格地图发布的发展方向[6]。TMS是一种倒金字塔模型,0层分辨率最低。

1.1 TMS元文件解析

一个TMS数据定义了一个访问地图数据的统一接口,客户端并不直接访问这些地图数据,而是根据TMS的描述信息间接获取,一般表现为一个XML配置文件[7]。一个典型的TMS配置文件如图2所示。

由于使用XML文件进行组织,TMS元文件表现为一个典型的树状结构。根节点<Tile Map>资源表示一个完整的地图,子节点<Title>表示该地图名称, 子节点< Abstract > 表示该地图简要描述,子节点<SRS>( Spatial Reference System) 表示该地图使用的空间参考,子节点<Bounding Box>表示数据覆盖的空间范围,子节点<Origin>表示数据的原点坐标,子节点<tileformat>表示瓦片格式,包括瓦片大小和扩展名,子节点<Tile Sets>表示一些与尺度相关的地图数据集,包含一个投影模式( Profile) 属性,投影模式共有3种: global-geodetic、global-mercator和local。

子节点<Tile Sets>的子节点集合<Tile Set>由规则采样的图像数据块构成,一个<Tile Set>表示在某一尺度上一系列固定大小均匀采样的数据块。一个<Tile Set>的存储路径由其href属性决定,若href没有指定,则可以由其order( 尺度或级数) 指定。 units-per-pixel表示瓦片的分辨率,即每个像素代表的度数,

当前最大级数一般为22级( 折合分辨率约为0.01 m / 像素) 。其中,width为一个瓦片的像素宽度,一般定义为512或256,n为order级数。

若Imge Width表示一幅影像的像素宽度,max X表示该影像的最大经度坐标,min X表示该影像的最小经度坐标,则该影像分辨率为( max X - min X) / Imge Width,则切片的级数应满足Rn< = 影像分辨率, 结合式( 1) 推导得:

n> = log2( 180* Imge Width/width/( max X-min X) ) 。

n = ceil( log2( 180* Imge Width/width/( max X-min X) ) ) 。

其中,n = ceil( dblvalue) 表示n为大于等于dblvalue的最小整数。

1.2 TMS瓦片划分规则

TMS采用四叉树结构进行瓦片划分,四叉树是一种每个非叶子节点最多只有4个分支的树型结构,也是一种层次数据结构,其特性是能够实现空间递归分解。瓦片金字塔模型的四叉树结构示意图如图3所示,其中矩形符号代表叶子节点,圆形符号代表非叶子节点。

在瓦片金字塔基础上构建线性四叉树瓦片索引,与构建瓦片金字塔对应,规定块划分从地形数据左下角开始,从左至右,从下到上依次进行。同时规定四叉树的层编码与金字塔的层编码保持一致,如图4所示。

以一幅使用WGS84投影的地球全球地图为例, 在0图层,TMS将这幅影像分成2块瓦片,每一块影像跨度为180°×180°。图层1在图层0影像的基础之上提高2倍的分辨率,也就是说对于同一影像,被分成90° ×90°的片段,因此产生8块信息的瓦片。 在图层2,分辨率提高到含有32块45°×45°的瓦片, 图层3也就是22.5°×22.5°,含有128块瓦片,以此类推,如表1所示。

1.3 TMS瓦片命名规则

TMS根据不同的细节层次,将瓦片存储在不同的文件夹中,瓦片的位置索引信息存储在文件路径中,如文件路径为“… 图层名 level column row. ext”,其中level表示层级,column表示列号,row表示行号,ext为后缀名: 可为png、jpg、tiff等。坐标与图片命名的对应公式如下:

情况1: 已知某坐标点X,Y( 经度,纬度) ,求其在某层level的文件号column row:

其中,n =floor( dblvalue) 表示n为小于等于dblvalue的最大整数。

假设: X = 120,Y = 30,Level = 2,则column = floor( 6.667) = 6,row = floor ( 2. 667 ) = 2。 即2 6 2.png。

情况2: 已知图片编号column row,求这张图片的左下角坐标( X1,Y1) :

右上角坐标( X2,Y2) 为:

2 TMS切片算法设计

2.1金字塔层级命中算法

对瓦片进行调度显示时,首先需要定位到瓦片所在层级,对于特定的请求范围,如一个屏幕大小表示的地理空间范围: BBox ( min X,min Y,max X, max Y) ,命中的金字塔级别计算如下:

首先计算屏幕像素分辨率,即1个屏幕像素的地理空间长度( 度数/像素) :

式中,Screen Width代表请求范围的屏幕像素宽度。

然后与金字塔层级对应的分辨率进行比较:

0级分辨率为180 / width,1级分辨率为180 / width / 2,

n级分辨率为Rn = 180 / width / 2n。

式中,width为一个瓦片的像素宽度; n为金字塔级数,n>= 0。

若Rs<= 1.5Rn,则命中的金字塔层级为n,推导可得:

n = floor ( dblvalue) 表示n为小于等于dblvalue的最大整数。

2.2瓦片命中算法

对于某一级别Level,特定的请求范围: BBox( minx,min Y,max X,max Y ) ,命中的瓦片编号( column、row) 计算如下:

最小瓦片编号:

最大瓦片编号:

则命中的瓦片列数为:

命中的瓦片行数为:

命中的瓦片数目为:

CCount* RCount。

定义命中的瓦片编号为: ( CX,RY ) ,则CMin < = CX< = CMax; RMin < = RY< = RMax。

即命中的瓦片编号列表为:

2.3 TMS切片算法

TMS瓦片金字塔为四叉树的层次数据结构,可采用深度优先算法或广度优先算法进行切片。

深度优先算法[8,9]: 从0层开始进行切片,左下角为起始点,先切片0 /0 /0.ext,再进行0 /0 /0.ext的4个子树的第一个子树1 / 0 / 0. ext进行切片,再进行1 /0 / 0.ext的第一个子树进行切片,如此递归。算法具有编程实现简单、递归嵌套较多、切片效率不高、 尤其是大数据量的特点。

广度优先算法[10,11]: 先进行0层切片,再进行1层切片,如此类推至n层或先进行n层切片,再进行n-1层,如此类推至0层。算法具有编程逻辑清晰、 切片效率较高、单线程执行的特点。

算法优化: 对于大数据量的影像,每次数据读取和瓦片切割会耗费较长时间,事先将图像分别缩放至n层分辨率,n-1层分辨率,直至0层。然后再逐层进行切片,每层可由一个独立的线程进行切片处理。每层切片完毕后,同时删除缩放的预处理影像, 释放临时占用的存储空间。

但是,对于n层或接近n层的预处理影像数据量仍然较大,改进为每层先按行进行切片,生成长条图像,长条图像高度等于瓦片高度,再每行一个线程独立进行逐列切片。每行切片完毕,则删除该行长条图像。

算法特点: 采用临时的“空间换取时间”的策略,有效降低每个瓦片的切割时间,采用多线程并行执行,充分发挥多核处理器的性能,可有效提高切片效率,尤其是大数据量[12]。

2.4切片实验分析

实验采用GDAL库函数进行影像数据的读写, 瓦片大小设定为512* 512像素,在惠普Z600图形工作站上进行,工作站系统配置如下:

● 操作系统: Windows XP SP3,32位;

● CPU: Intel E5620 2.4 GHz,4 核;

● 内存: 4 GB;

● 显卡: NVIDIA Quadro FX1800,显存768 MB;

● 硬盘: 500 GB。

多次实验取平均值,影像图像数据量和切片时间记录如表2所示。

由表2可知,切割一个固定大小的瓦片,影像大小对切片效率影响较大,小于300 Mbytes的图像一个切片时间约在100 ms以下,对于大于2 GB的文件约1~3 s或更长时间。因此,减少影像大小能够有效提高切片效率。

对于一个5.1 GB ( 48 455宽* 37 721高* 3波段) 的2.5 m分辨率的遥感影像,只切分第14层,共7 200个瓦片,单线程与多线程切片所用时间如表3所示。

由表3可知,多线程切片效率是单线程的4 ~ 6倍。但随着线程数的增加,效率改进并不明显,线程过多将会耗费更多的线程同步时间,也可能与操作系统、CPU的多线程处理能力、磁盘IO等有关。 但多线程并发处理同一幅影像,生成的瓦片会出现影像条带空缺的情况,严重影响使用,且线程数越多,出现的概率越大。

为避免多个线程并发处理同一幅影像而出现条带空缺的情况,使用一个单线程( 主线程) 处理原始影像按行生成长条图像,在长条图像生成后同时启动一个新线程( 子线程) 对该长条图像进行切片,主线程继续处理生成下一个长条图像。

对于上述5.1 GB的同一幅影像,生成一个长条图像的时间约16 s,大小约96 MB,含96个瓦片,结合表2,每个瓦片切割的时间按100 ms计算,则切片时间为: 96* 100 /1 000 = 9.6 s。对于该幅影像,理论上,在主线程生成下一个长条图像后,子线程即可完成上一个长条图像的切片。该影像共需生成75个长条图像,则理论上计算总时间为: 75 * 16 / 60 = 20 min。经多次试验取平均值,实际耗费时间约为26.8 min。

3结束语

通过对TMS技术进行深入研究和切片算法设计,实现了TMS瓦片金字塔的快速切分,可为项目工程应用提供数据处理支持。对切片效率改进仍有较大的提升空间,今后可在多线程切片机制或多机并行处理等方面继续进行研究试验。

摘要:为了有效提高大数据量下的切片效率,从瓦片地图服务(Tile Map Service,TMS)元文件、瓦片划分规则和瓦片命名规则等方面对TMS技术进行了研究,对切片算法进行了设计实现,并结合多线程机制进行了优化改进,从而提出一种基于TMS的瓦片金字塔切分方法。试验结果表明,该方法能提高瓦片的切片效率。

关键词:金字塔,瓦片,四叉树,多线程,TMS

参考文献

[1]张学亮,陈金勇,陈勇.基于Hadoop云计算平台的海量文本处理研究[J].无线电通信技术,2014,40(1):54-57.

[2]唐伟广,马健.基于瓦片技术的遥感影像库设计与实现[J].无线电工程,2013,43(6):44-46,57.

[3]黄梦龙.瓦片地图技术在桌面端GIS中的应用[J].地理空间信息,2011,9(4):149-151.

[4]李钊,李建军,李冰,等.海量数据纹理映射技术研究[J].无线电通信技术,2011,37(4):34-36.

[5]王文涛.地理栅格数据压缩与场景组织管理技术研究与实现[D].长沙:国防科学技术大学,2011.

[6]聂云峰,周文生,舒坚,等.基于Z曲线的瓦片地图服务空间索引[J].中国图像图形学报,2012,17(2):286-292.

[7]吴小东,许捍卫.基于OSGEarth的城市三维场景构建[J].地理空间信息,2013,11(2):107-110.

[8]唐青松.深度优先算法在创建树形结构中的应用研究[J].计算机技术与发展,2014,24(9):226-229.

[9]龚建华.深度优先搜索算法及其改进[J].现代电子技术,2007,30(22):90-92.

[10]杨爱民.并行广度优先搜索算法研究[D].西安:西安电子科技大学,2012.

[11]鄢靖丰,陶少华,夏方玉.基于单元树结构的广度优先P2P搜索算法[J].计算机工程,2011,37(9):135-137.

上一篇:领导干部作风下一篇:常见类型