CN112149018A - 一种基于局部性原理的大幅影像预加载方法 - Google Patents

一种基于局部性原理的大幅影像预加载方法 Download PDF

Info

Publication number
CN112149018A
CN112149018A CN202010965122.XA CN202010965122A CN112149018A CN 112149018 A CN112149018 A CN 112149018A CN 202010965122 A CN202010965122 A CN 202010965122A CN 112149018 A CN112149018 A CN 112149018A
Authority
CN
China
Prior art keywords
picture
scaling
browser
pictures
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010965122.XA
Other languages
English (en)
Inventor
缪伟鑫
李友江
罗子娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN202010965122.XA priority Critical patent/CN112149018A/zh
Publication of CN112149018A publication Critical patent/CN112149018A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于局部性原理的大幅影像预加载方法,包括如下步骤:服务器端生成图片的影像金字塔文件;浏览器端向服务器端发送请求,服务器端从金字塔中预先取出该图片的多个缩放比例版本的访问区域;浏览器获取多个缩放比例版本的显示图片,并缓存在浏览器本地;浏览器优先从本地缓存中获取缩放和漫游等操作所需的显示图片。本发明在服务器端使用预先生成成影像金字塔文件和预先读取多层次缩放比例响应图片的机制替代了原先的Memcached等缓存技术,在浏览器端使用适当增加请求图片大小和预先请求下次可能的请求区域的方法,实现了B/S架构下处理大幅影像的技术性突破,使得处理大幅影像,也能够达到处理小图片般的流畅度。

Description

一种基于局部性原理的大幅影像预加载方法
技术领域
本发明涉及图像处理技术领域,特别涉及一种基于局部性原理的大幅影像预加载方法。
背景技术
程序局部性原理,是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分,相应地,执行所访问的存储空间也局限于某个内存区域。此原理最经典的应用案例为CPU的一级、二级和三级Cache(缓存)机制,当CPU需要读取某个数据时,首先会从Cache中查找,找到就立即读取并送给CPU处理;如果没有找到,就会用相对较慢的速度从内存中查找,同时把这个数据所在的数据块调入Cache中,这便使得之后对整块数据的读取都能方便地从Cache中找到,无需再访问内存。这个机制使得CPU读取Cache的命中率非常的高(绝大多数情况下高达90%),CPU读取数据基本无需等待。
同样地,用户在对大幅影像进行处理时,前次处理和后次处理的图片区域之间存在连续性,极少数的情况下会出现“跳跃式”处理。
B/S(Browser/Server)架构的图像标注系统,即在“浏览器/服务器”模式下,使用浏览器访问集中放置于服务器上的图像,对图像中的目标对象进行标注,并将结果保存于服务器。得益于其集中存放、统一管理和无本地依赖的优势,B/S标注系统在计算机视觉(Computer Version,CV)中得到了广泛应用,如目标检测、人脸检测、变化检测和语义分割等。
B/S图像标注系统在对小图片(1MB以内)进行处理时,一般不需要浏览器和服务器做特殊处理,便可达到行云流水般的速度;在对稍大的图片(十几MB)进行处理时,服务器端使用诸如Memcached等缓存技术,能够加快图片访问速度。
但目前的B/S图像标注系统只能针对小型图片进行流畅的处理,在面对大数据量遥感影像文件(比如tiff图片),图片大小动辄几GB或十几GB,并且还需要进行图片的放大、缩小和漫游等复杂操作时,现有的Memcached等缓存技术并不适用,只能退而选择C/S架构的图像标注软件,这就失去了B/S架构的诸多优势和便利。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于局部性原理的大幅影像预加载方法。
为了解决上述技术问题,基于B/S架构下的图像标注系统,本发明公开了一种基于局部性原理的大幅影像预加载方法,包括如下步骤:
步骤1,服务器生成图片的影像金字塔文件;
步骤2,浏览器向服务器发送请求,请求获取当前所需缩放比例为S的区域图片,浏览器中用于显示图片的区域为R,所述R的宽度为W,高度为H;
步骤3,服务器端根据浏览器端请求获取的缩放比例S,从所述步骤1的影像金字塔文件中读取缩放比例为S/2、S和S*2的三张区域图片,同时再多读取缩放比例为S/4和S*4的两张区域图片;服务器端向浏览器端返回缩放比例S的区域图片供浏览器端显示;
步骤4,将所述步骤3中的五张区域图片缓存在服务器端内存中,形成服务器端缓存。当下次浏览器再次发来请求时,所需图片命中缓存的概率极大,并且这个缓存能够被不同浏览器(用户)发过来的请求所命中,省去了频繁读取影像金字塔文件的耗时。
步骤5,浏览器向服务器发送第一次预先请求,所述第一次预先请求为异步请求,预先请求获取上一级缩放比例为S*2和下一级缩放比例为S/2的两张区域图片。预先请求完成时,浏览器端从服务器缓存中获取缩放比例为S/2和S*2的两张区域图片,缓存在浏览器端,形成浏览器端缓存。这样用户下一次不论是进行放大操作还是进行缩小操作,所需的显示图片已经在浏览器缓存中,读取延迟将是0;同时浏览器向服务器发起第二次预先请求,所述第二次预先请求为异步请求,请求获取缩放比例为S*4和S/4的两张区域图片。在用户对图片进行观察的短暂时间里,这些预先请求已经完成,用户感受不到这些预先请求的存在;极限情况下,用户只是快速的滚动滚轮,则只需计算出最终的缩放比例,回到步骤2;
步骤6,用户在浏览器端对当前缩放比例为S的区域图片进行放大或缩小操作,从浏览器端缓存中访问图片。
进一步地,在一种实现方式中,所述步骤1包括:
步骤1.1,服务器端维护现有图片的集合A;
步骤1.2,挑选出集合A中历史被访问时间间隔T内的访问次数大于等于阈值C的图片,组成集合B,服务器端始终维护集合B;若一张图片在时间间隔T内的访问次数低于阈值C,则将其剔出集合B;
步骤1.3,对集合B中的每一张图片,分别生成影像金字塔,实现对图片的不同缩放比例下的某块区域进行快速读取;如果一张图片在时间间隔T内的访问次数低于阈值C,则将对应的影像金字塔文件删除。
进一步地,在一种实现方式中,所述步骤2中,当浏览器第一次请求获取区域图片时,初始缩放比例Sinitial的计算公式为:
Sinitial=MIN(H/Hori,W/Wori)
Sinitial=MIN(Sinitial,1.0)
其中,Wori为集合B中图片的宽度,Hori为集合B中图片的高度。
进一步地,在一种实现方式中,所述步骤2中,在请求获取缩放比例为S的区域图片时,请求获取的区域图片的中心点与页面显示区域R的中心点重合,请求获取的区域图片在显示图片区域R的基础上,增加上边距Mtop、下边距Mbottom、左边距Mleft和右边距Mright;上边距Mtop和下边距Mbottom初始取值为1/3*H,左边距Mleft和右边距Mright初始取值为1/3*W。即实际请求的区域图片比显示区域R要大,这样如果用户下一步进行漫游操作,就是0延迟。
进一步地,在一种实现方式中,所述步骤3中基于缩放比例为S的区域图片预取缩放比例为S/2和S*2的区域图片步骤相同,均包括如下步骤:
步骤3.1,获取鼠标所在点的坐标(Px,Py),以此坐标为基准点,所述基准点为预取缩放比例为S/2和S*2的区域图片覆盖到显示区域上,该点的位置在视觉上与缩放比例为S的区域图片保持不变;
步骤3.2,获取当前显示图片1的左上点坐标(X1,Y1)和右下点坐标(X2,Y2);
步骤3.3,获取当前显示图片1的缩放比例,设为Sp
步骤3.4,获取请求的新图片2的缩放比例,设为Sn
步骤3.5,计算新图片2的左上点坐标(X1_n,Y1_n)和右下点坐标(X2_n,Y2_n),公式为:
X1_n=Px/Sp–(Px-X1*Sp)/Sn
Y1_n=Py/Sp–(Py-Y1*Sp)/Sn
X2_n=Px/Sp+(X2*Sp–Px)/Sn
Y2_n=Py/Sp+(Y2*Sp–Py)/Sn
步骤3.6,由坐标(X1_n,Y1_n)和(X2_n,Y2_n)从影像金字塔文件中获取相应缩放比例的区域图片2;得到的新图片2和旧图片1,点(Px,Py)是重合的,即鼠标所在的点不变动。
步骤3.7,重复所述步骤3.1~3.6,分别基于缩放比例为S/2和S*2的区域图片预取缩放比例为S/4和S*4的两张区域图片。
进一步地,在一种实现方式中,所述步骤6包括:
步骤6.1,确定访问区域的图片缩放比例,如果用户进行放大操作,缩放比例为S*2,执行步骤6.2;如果用户进行缩小操作,缩放比例为S/2,执行步骤6.4;
步骤6.2,如果用户进行放大操作,检查浏览器端缓存中是否含有缩放比例为S*2的区域图片;
步骤6.3,如果所述步骤6.2中的检查结果为存在,直接在页面中展示该图片;同时检查浏览器端缓存中是否含有缩放比例为S和S*4的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将结果保存于浏览器端缓存;如果所述步骤6.2中的检查结果为不存在,那么首先向服务器请求缩放比例为S*2的图片,然后再检查浏览器端缓存中是否含有缩放比例为S和S*4的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将三个缩放比例的结果保存于浏览器端缓存;
步骤6.4,如果用户进行缩小操作,检查浏览器端缓存中是否含有缩放比例为S/2的区域图片;
步骤6.5,如果所述步骤6.4中的检查结果为存在,直接在页面中展示该图片;同时检查浏览器端缓存中是否含有缩放比例为S/4和S的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将结果保存于浏览器端缓存;如果所述步骤6.4中的检查结果为不存在,那么首先向服务器请求缩放比例为S/2的图片,然后再检查浏览器端缓存中是否含有缩放比例为S/4和S的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将三个缩放比例的结果保存于浏览器端缓存。
进一步地,在一种实现方式中,如果用户在浏览器端拖动鼠标,对当前缩放比例为S的区域图片向任意方向进行漫游操作,上边距Mtop、下边距Mbottom、左边距Mleft或右边距Mright的取值随着区域图片的漫游发生变化;当上边距Mtop或下边距Mbottom小于1/9*H或者左边距Mleft或右边距Mright小于1/9*W时,判定图片的漫游位置达到临界点,重新执行步骤2,使请求获取的区域图片在显示图片区域R的基础上,增加上边距Mtop、下边距Mbottom、左边距Mleft和右边距Mright;上边距Mtop和下边距Mbottom初始取值为1/3*H,左边距Mleft和右边距Mright初始取值为1/3*W。
有益效果:本发明与现有技术相比,在B/S架构的服务器端,使用预先生成影像金字塔文件和预先读取多层次缩放比例相应图片的两级缓存机制替代了原先的Memcached等缓存技术;在浏览器端,用适当增加请求图片大小和预先请求下次可能的请求区域的方法,实现了B/S架构下处理大幅影像的技术性突破,使得处理大幅影像也能够达到处理小图片般的流畅度。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本实施例中首次请求的显示图片的示意图;
图2为请求下次缩放比例的显示图片的示意图;
图3为漫游时请求新的显示图片的临界点的示意图;
图4为服务器生成的三层缩放比例的显示图片的示意图;
图5为本发明实现步骤流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明。
图5为本发明实现步骤流程图,包括如下步骤:
步骤1,服务器生成图片的影像金字塔文件;
步骤2,浏览器向服务器发送请求,请求获取当前所需缩放比例为S的区域图片,浏览器中用于显示图片的区域为R,所述R的宽度为W,高度为H;本实施例中,宽度W取值为1811像素,高度H取值为849像素。
步骤3,服务器端根据浏览器端请求获取的缩放比例S,从所述步骤1的影像金字塔文件中读取缩放比例为S/2、S和S*2的三张区域图片,同时再多读取缩放比例为S/4和S*4的两张区域图片;服务器端向浏览器端返回缩放比例S的区域图片供浏览器端显示;图4为服务器生成的三层缩放比例的显示图片的示意图;
步骤4,将所述步骤3中的五张区域图片缓存在服务器端内存中,形成服务器端缓存;
步骤5,浏览器向服务器发送第一次预先请求,所述第一次预先请求为异步请求,与所述步骤3同时发送,预先请求获取上一级缩放比例为S*2和下一级缩放比例为S/2的两张区域图片。预先请求完成时,浏览器端从服务器缓存中获取缩放比例为S/2和S*2的两张区域图片,缓存在浏览器端,形成浏览器端缓存。同时浏览器向服务器发起第二次预先请求,所述第二次预先请求为异步请求,请求获取缩放比例为S*4和S/4的两张区域图片。在用户对图片进行观察的短暂时间里,这些预先请求已经完成,用户感受不到这些预先请求的存在;极限情况下,用户只是快速的滚动滚轮,则只需计算出最终的缩放比例,回到步骤2;
步骤6,用户在浏览器端对当前缩放比例为S的区域图片进行放大或缩小操作,从浏览器端缓存中访问图片。
进一步地,在一种实现方式中,所述步骤1包括:
步骤1.1,服务器端维护现有图片的集合A;
步骤1.2,挑选出集合A中历史被访问时间间隔T内的访问次数大于等于阈值C的图片,组成集合B,服务器端始终维护集合B;若一张图片在时间间隔T内的访问次数低于阈值C,则将其剔出集合B;本实施例中,所述时间间隔T为1天,阈值C为3次;
步骤1.3,对集合B中的每一张图片,分别生成影像金字塔,以便于对图片的不同缩放比例下的某块区域进行快速读取;相应地,如果一张图片在时间间隔T内的访问次数低于阈值C,则将对应的影像金字塔文件删除,避免占用不必要的磁盘空间;本实施例中,所述时间间隔T为1天,阈值C为3次。本实施例中,要处理集合B中一张大小为29688*31387像素的tiff图片,名为a.tiff,其中29688是图片的宽度,31387是图片的高度;服务器端,生成a.tiff对应的影像金字塔文件a.ovr。
进一步地,在一种实现方式中,所述步骤2中,当浏览器第一次请求获取区域图片时,初始缩放比例Sinitial的计算公式为:
Sinitial=MIN(H/Hori,W/Wori)≈0.027
Sinitial=MIN(Sinitial,1.0)=0.027
其中,Wori为集合B中图片的宽度29688像素,Hori为集合B中图片的高度31387像素。
图1为本实施例中首次请求的显示图片的示意图,所述步骤2在请求获取缩放比例为S的区域图片时,请求获取的区域图片的中心点与页面显示区域R的中心点重合,请求获取的区域图片在显示图片区域R的基础上,增加上边距Mtop、下边距Mbottom、左边距Mleft和右边距Mright;上边距Mtop和下边距Mbottom初始取值为1/3*H,左边距Mleft和右边距Mright初始取值为1/3*W。
图2为请求下次缩放比例的显示图片的示意图,所述步骤3中基于缩放比例为S的区域图片预取缩放比例为S/2和S*2的区域图片步骤相同,均包括如下步骤:
步骤3.1,获取鼠标所在点的坐标(Px,Py),以此坐标为基准点,所述基准点为预取缩放比例为S/2和S*2的区域图片覆盖到显示区域上,该点的位置在视觉上与缩放比例为S的区域图片保持不变;
步骤3.2,获取当前显示图片1的左上点坐标(X1,Y1)和右下点坐标(X2,Y2);
步骤3.3,获取当前显示图片的缩放比例,设为Sp
步骤3.4,获取请求的新图片2的缩放比例,设为Sn
步骤3.5,计算新图片2的左上点坐标(X1_n,Y1_n)和右下点坐标(X2_n,Y2_n),公式为:
X1_n=Px/Sp–(Px-X1*Sp)/Sn
Y1_n=Py/Sp–(Py-Y1*Sp)/Sn
X2_n=Px/Sp+(X2*Sp–Px)/Sn
Y2_n=Py/Sp+(Y2*Sp–Py)/Sn
步骤3.6,由坐标(X1_n,Y1_n)和(X2_n,Y2_n)从影像金字塔文件中获取相应缩放比例的区域图片2;得到的新图片2和旧图片1,点(Px,Py)是重合的,即鼠标所在的点不变动;
步骤3.7,重复所述步骤3.1~3.6,分别基于缩放比例为S/2和S*2的区域图片预取缩放比例为S/4和S*4的两张区域图片。
进一步地,在一种实现方式中,所述步骤6包括:
步骤6.1,确定访问区域的图片缩放比例,如果用户进行放大操作,缩放比例为S*2,执行步骤6.2;如果用户进行缩小操作,缩放比例为S/2,执行步骤6.4;
步骤6.2,如果用户进行放大操作,检查浏览器端缓存中是否含有缩放比例为S*2的区域图片;
步骤6.3,如果所述步骤6.2中的检查结果为存在,直接在页面中展示该图片;同时检查浏览器端缓存中是否含有缩放比例为S和S*4的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将结果保存于浏览器端缓存;如果所述步骤6.2中的检查结果为不存在,那么首先向服务器请求缩放比例为S*2的图片,然后再检查浏览器端缓存中是否含有缩放比例为S和S*4的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将三个缩放比例的结果保存于浏览器端缓存;
步骤6.4,如果用户进行缩小操作,检查浏览器端缓存中是否含有缩放比例为S/2的区域图片;
步骤6.5,如果所述步骤6.4中的检查结果为存在,直接在页面中展示该图片;同时检查浏览器端缓存中是否含有缩放比例为S/4和S的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将结果保存于浏览器端缓存;如果所述步骤6.4中的检查结果为不存在,那么首先向服务器请求缩放比例为S/2的图片,然后再检查浏览器端缓存中是否含有缩放比例为S/4和S的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将三个缩放比例的结果保存于浏览器端缓存。
图3为漫游时请求新的显示图片的临界点的示意图,与步骤2同时,如果用户在浏览器端拖动鼠标,对当前缩放比例为S的区域图片向任意方向进行漫游操作,上边距Mtop、下边距Mbottom、左边距Mleft或右边距Mright的取值随着区域图片的漫游发生变化;由于实际请求到的图片总是比显示区域要大,因此漫游基本上是不耗时的;当Mtop或Mbottom小于1/9*H或者Mleft或Mright小于1/9*W时,判定图片的漫游位置达到临界点,重新执行步骤2向服务器端请求新的区域图片,使请求获取的区域图片在显示图片区域R的基础上,增加上边距Mtop、下边距Mbottom、左边距Mleft和右边距Mright;上边距Mtop和下边距Mbottom初始取值为1/3*H,左边距Mleft和右边距Mright初始取值为1/3*W。
本发明提供了一种基于局部性原理的大幅影像预加载方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (7)

1.一种基于局部性原理的大幅影像预加载方法,其特征在于,包括如下步骤:
步骤1,服务器生成图片的影像金字塔文件;
步骤2,浏览器端向服务器端发送请求,请求获取当前所需缩放比例为S的区域图片,浏览器中用于显示图片的区域为R,所述R的宽度为W,高度为H;
步骤3,服务器端根据浏览器端请求获取的缩放比例S,从所述步骤1的影像金字塔文件中读取缩放比例为S/2、S、S*2、S/4和S*4的五张区域图片;服务器端向浏览器端返回缩放比例S的区域图片供浏览器端显示;
步骤4,将所述步骤3中的五张区域图片缓存在服务器端内存中,形成服务器端缓存;
步骤5,浏览器端向服务器端发送第一次预先请求,所述第一次预先请求为异步请求,请求获取上一级缩放比例为S*2和下一级缩放比例为S/2的两张区域图片;预先请求完成时,浏览器端从服务器缓存中获取缩放比例为S/2和S*2的两张区域图片,缓存在浏览器端,形成浏览器端缓存;同时浏览器向服务器发起第二次预先请求,所述第二次预先请求为异步请求,请求获取缩放比例为S*4和S/4的两张区域图片;
步骤6,用户在浏览器端对当前缩放比例为S的区域图片进行放大或缩小操作,从浏览器端缓存中访问图片。
2.根据权利要求1所述的一种基于局部性原理的大幅影像预加载方法,其特征在于,所述步骤1包括:
步骤1.1,服务器端维护现有图片的集合A;
步骤1.2,挑选出集合A中历史被访问时间间隔T内的访问次数大于等于阈值C的图片,从中挑选出N张图片组成集合B,服务器端始终维护集合B;若一张图片在时间间隔T内的访问次数低于阈值C,则将其剔出集合B;
步骤1.3,对集合B中的每一张图片,分别生成影像金字塔,实现对图片的不同缩放比例下的某块区域进行快速读取;如果一张图片在时间间隔T内的访问次数低于阈值C,则将对应的影像金字塔文件删除。
3.根据权利要求2所述的一种基于局部性原理的大幅影像预加载方法,其特征在于,所述步骤2中,当浏览器第一次请求获取区域图片时,初始缩放比例Sinitial的计算公式为:
Sinitial=MIN(H/Hori,W/Wori)
Sinitial=MIN(Sinitial,1.0)
其中,Wori为集合B中图片的宽度,Hori为集合B中图片的高度。
4.根据权利要求1所述的一种基于局部性原理的大幅影像预加载方法,其特征在于,所述步骤2中,在请求获取缩放比例为S的区域图片时,请求获取的区域图片的中心点与页面显示区域R的中心点重合,请求获取的区域图片在显示图片区域R的基础上,增加上边距Mtop、下边距Mbottom、左边距Mleft和右边距Mright;上边距Mtop和下边距Mbottom初始取值为1/3*H,左边距Mleft和右边距Mright初始取值为1/3*W。
5.根据权利要求1所述的一种基于局部性原理的大幅影像预加载方法,其特征在于,所述步骤3中基于缩放比例为S的区域图片预取缩放比例为S/2和S*2的区域图片步骤相同,均包括如下步骤:
步骤3.1,获取鼠标所在点的坐标(Px,Py),以此坐标为基准点;
步骤3.2,获取当前显示图片1的左上点坐标(X1,Y1)和右下点坐标(X2,Y2);
步骤3.3,获取当前显示图片1的缩放比例,设为Sp
步骤3.4,获取请求的新图片2的缩放比例,设为Sn
步骤3.5,计算新图片2的左上点坐标(X1_n,Y1_n)和右下点坐标(X2_n,Y2_n),公式为:
X1_n=Px/Sp–(Px-X1*Sp)/Sn
Y1_n=Py/Sp–(Py-Y1*Sp)/Sn
X2_n=Px/Sp+(X2*Sp–Px)/Sn
Y2_n=Py/Sp+(Y2*Sp–Py)/Sn
步骤3.6,由坐标(X1_n,Y1_n)和(X2_n,Y2_n)从影像金字塔文件中获取相应缩放比例的区域图片2;得到的新图片2和旧图片1,点(Px,Py)是重合的;
步骤3.7,重复所述步骤3.1~3.6,分别基于缩放比例为S/2和S*2的区域图片预取缩放比例为S/4和S*4的两张区域图片。
6.根据权利要求1所述的一种基于局部性原理的大幅影像预加载方法,其特征在于,所述步骤6包括:
步骤6.1,确定访问区域的图片缩放比例,如果用户进行放大操作,缩放比例为S*2,执行步骤6.2;如果用户进行缩小操作,缩放比例为S/2,执行步骤6.4;
步骤6.2,如果用户进行放大操作,检查浏览器端缓存中是否含有缩放比例为S*2的区域图片;
步骤6.3,如果所述步骤6.2中的检查结果为存在,直接在页面中展示该图片;同时检查浏览器端缓存中是否含有缩放比例为S和S*4的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将结果保存于浏览器端缓存;如果所述步骤6.2中的检查结果为不存在,那么首先向服务器请求缩放比例为S*2的图片,然后再检查浏览器端缓存中是否含有缩放比例为S和S*4的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将三个缩放比例的结果保存于浏览器端缓存;
步骤6.4,如果用户进行缩小操作,检查浏览器端缓存中是否含有缩放比例为S/2的区域图片;
步骤6.5,如果所述步骤6.4中的检查结果为存在,直接在页面中展示该图片;同时检查浏览器端缓存中是否含有缩放比例为S/4和S的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将结果保存于浏览器端缓存;如果所述步骤6.4中的检查结果为不存在,那么首先向服务器请求缩放比例为S/2的图片,然后再检查浏览器端缓存中是否含有缩放比例为S/4和S的图片,没有则向服务器发送异步请求,获取这两幅展示图片,并将三个缩放比例的结果保存于浏览器端缓存。
7.根据权利要求4所述的一种基于局部性原理的大幅影像预加载方法,其特征在于,如果用户在浏览器端拖动鼠标,对当前缩放比例为S的区域图片进行漫游操作,上边距Mtop、下边距Mbottom、左边距Mleft或右边距Mright的取值随着区域图片的漫游发生变化;当上边距Mtop或下边距Mbottom小于1/9*H或者左边距Mleft或右边距Mright小于1/9*W时,判定图片的漫游位置达到临界点,重新执行步骤2,使请求获取的区域图片在显示图片区域R的基础上,增加上边距Mtop、下边距Mbottom、左边距Mleft和右边距Mright;上边距Mtop和下边距Mbottom初始取值为1/3*H,左边距Mleft和右边距Mright初始取值为1/3*W。
CN202010965122.XA 2020-09-15 2020-09-15 一种基于局部性原理的大幅影像预加载方法 Pending CN112149018A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010965122.XA CN112149018A (zh) 2020-09-15 2020-09-15 一种基于局部性原理的大幅影像预加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010965122.XA CN112149018A (zh) 2020-09-15 2020-09-15 一种基于局部性原理的大幅影像预加载方法

Publications (1)

Publication Number Publication Date
CN112149018A true CN112149018A (zh) 2020-12-29

Family

ID=73893796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010965122.XA Pending CN112149018A (zh) 2020-09-15 2020-09-15 一种基于局部性原理的大幅影像预加载方法

Country Status (1)

Country Link
CN (1) CN112149018A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104134214A (zh) * 2014-07-29 2014-11-05 杭州卓腾信息技术有限公司 一种基于影像金字塔分层的数字切片图像存储及显示方法
CN105608191A (zh) * 2015-12-23 2016-05-25 云南电网有限责任公司 一种基于EnersunWebCache动态生成缓存电网地图瓦片的方法
CN106484693A (zh) * 2015-08-25 2017-03-08 普天信息技术有限公司 地图显示方法、图片块存储方法以及图片显示终端
CN107767324A (zh) * 2017-10-24 2018-03-06 中国科学院电子学研究所苏州研究院 一种大型遥感图像快速缓存方法
CN108184097A (zh) * 2018-01-15 2018-06-19 浙江大学 一种远程医疗中图像的实时查看方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104134214A (zh) * 2014-07-29 2014-11-05 杭州卓腾信息技术有限公司 一种基于影像金字塔分层的数字切片图像存储及显示方法
CN106484693A (zh) * 2015-08-25 2017-03-08 普天信息技术有限公司 地图显示方法、图片块存储方法以及图片显示终端
CN105608191A (zh) * 2015-12-23 2016-05-25 云南电网有限责任公司 一种基于EnersunWebCache动态生成缓存电网地图瓦片的方法
CN107767324A (zh) * 2017-10-24 2018-03-06 中国科学院电子学研究所苏州研究院 一种大型遥感图像快速缓存方法
CN108184097A (zh) * 2018-01-15 2018-06-19 浙江大学 一种远程医疗中图像的实时查看方法

Similar Documents

Publication Publication Date Title
CN109977192B (zh) 无人机瓦片地图快速加载方法、系统、设备及存储介质
US8572168B2 (en) Systems and methods for networked, in-context, high-resolution image viewing
US9342864B2 (en) Alternative semantics for zoom operations in a zoomable scene
US20120007866A1 (en) Systems and methods for networked, in-context, composed, high resolution image viewing
US8045828B2 (en) Apparatus for processing images, and method and computer program product for detecting image updates
US11532089B2 (en) Optical flow computing method and computing device
US11372540B2 (en) Table processing method, device, interactive white board and storage medium
WO2020228353A1 (zh) 一种基于运动加速度的图像搜索方法、系统及电子设备
CN116910290B (zh) 免切片遥感影像加载的方法、装置、设备和介质
US20130016108A1 (en) Information processing apparatus, information processing method, and program
US6654022B1 (en) Method and apparatus for lookahead generation in cached computer graphics system
CN113538623B (zh) 确定目标图像的方法、装置、电子设备及存储介质
CN107450860B (zh) 一种基于分布式存储的地图文件预读方法
CN112784188B (zh) 一种页面渲染方法及装置
CN105427235A (zh) 一种图像浏览方法及系统
US6862028B2 (en) Bin pointer and state caching apparatus and method
CN112149018A (zh) 一种基于局部性原理的大幅影像预加载方法
CN102739699B (zh) 一种浏览器/服务器模式下的地图显示方法和客户端
US20220343581A1 (en) Rendering of presistent particle trails for dynamic displays
US20150154784A1 (en) Use of Photo Animation Transitions to Mask Latency
CN113761410A (zh) 数据处理方法及装置
CN107371055B (zh) Epg数据的缓存方法和装置
US8095885B1 (en) Counting references to images displayed in multiple views
KR101904421B1 (ko) 캐시 메모리를 제어하는 방법 및 장치.
CN113849255B (zh) 一种数据处理方法、设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20201229

RJ01 Rejection of invention patent application after publication