CN109716316B - 流数据的交互式实时可视化 - Google Patents
流数据的交互式实时可视化 Download PDFInfo
- Publication number
- CN109716316B CN109716316B CN201780057403.1A CN201780057403A CN109716316B CN 109716316 B CN109716316 B CN 109716316B CN 201780057403 A CN201780057403 A CN 201780057403A CN 109716316 B CN109716316 B CN 109716316B
- Authority
- CN
- China
- Prior art keywords
- visual
- time window
- arc
- sliding time
- data
- 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.)
- Active
Links
- 238000012800 visualization Methods 0.000 title claims abstract description 58
- 230000002452 interceptive effect Effects 0.000 title abstract description 7
- 230000000007 visual effect Effects 0.000 claims abstract description 104
- 230000015654 memory Effects 0.000 claims abstract description 69
- 238000009877 rendering Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000003044 adaptive effect Effects 0.000 claims description 35
- 238000013178 mathematical model Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 18
- 230000006641 stabilisation Effects 0.000 claims description 16
- 238000011105 stabilization Methods 0.000 claims description 16
- 230000033001 locomotion Effects 0.000 claims description 14
- 230000002829 reductive effect Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000011068 loading method Methods 0.000 claims description 9
- 238000011010 flushing procedure Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000000356 contaminant Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000005693 optoelectronics Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000004266 retinal recognition Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/487—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本公开的多个方面涉及一种包括存储至少一个程序的计算机可读存储介质的系统和用于渲染大量流数据的交互式可视化的方法。描述多个事件的流数据被加载到存储器中。流数据包括地理空间数据,其指定每个事件的源位置和目标位置。使用可视化数学模型来渲染表示事件的视觉隐喻,该可视化数学模型针对每个视觉隐喻在整个滑动时间窗上定义沿着该视觉隐喻的每个点的空间位置和不透明度。
Description
优先权要求
本申请要求于2017年9月18日递交的、标题为“INTERACTIVE REAL-TIMEVISUALIZATION SYSTEM FOR LARGE-SCALE STREAMING DATA”的美国专利申请序号15/707,529的优先权(本申请为其连续申请),并且该美国专利申请要求于2016年9月19日递交的、标题为“INTERACTIVE REAL-TIME VISUALIZATION SYSTEM FOR LARGE-SCALE STREAMINGDATA”的美国临时申请序号62/396,632的优先权,通过引用的方式将这两者的全文并入本文。
技术领域
本公开一般地涉及被配置到专用机器技术领域的机器,包括这种专用机器的计算机化变型以及对这些变型的改进,并涉及多种技术,通过这些技术这种专用机器比生成和渲染可视化的其他专用机器有所改进。特别地,本公开解决了用于大规模流数据的交互式实时可视化系统和方法。
背景技术
目前,在计算资源方面,分析高容量实况数据流并在终端用户设备上以交互速率对其进行可视化是非常昂贵的。在大数据时代尤其如此,因为许多决策都依赖于复杂数据的有效分析和可视化。实际上,对实时且大规模的数据进行处理和可视化是有难度的。
用于可视化大量数据的常规的预加载-存储-绘图方法存在大量数据I/O滞后的缺点,并且在最佳情况下,这些方法也仅提供接近实时的性能。此外,当数据点的数量增长过大时,可视化的前端方法可能很容易崩溃。例如,如今的许多可视化库(例如,D3.js)易于编程且富有表现力;但是,它们无法扩展到数万个元素(以及更多元素)。诸如细节级别缩放(Level-Of-Detail scaling)的解决方案已经存在了一段时间,但这几乎没有减轻用户能够显示多个链接视图时所遇到的性能问题。
附图说明
各个所附附图仅示出了本公开的示例实施例,并且不可以被认为限制其范围。
图1是示出了根据示例实施例的可视化系统的系统图。
图2是示出了根据示例实施例的作为可视化系统的一部分提供的渲染引擎的功能组件的框图。
图3是示出了根据示例实施例的在弧线上插入点。
图4是示出了根据示例实施例的在弧线上插入第i个点。
图5A和5B是示出了根据示例实施例的沿曲线参数化弧线高亮动画的图。
图6至8是示出了根据示例实施例的可视化系统在执行用于渲染视觉隐喻的方法时的示例操作的流程图。
图9至15示出了根据示例实施例的由可视化系统提供的用户界面的各方面。
图16是示出了根据示例实施例的其中可以部署可视化系统的网络环境的框图。
图17是示出代表性软件架构的框图,该代表性软件架构可以结合本文的各种硬件架构一起使用。
图18是示出了根据一些示例实施例的机器的组件的框图,所述机器能够从机器可读介质中读取指令并且执行本文讨论的方法中的任何一个。
具体实施方式
现在将具体参照用于执行本发明主题的具体示例实施例。在附图中示出了这些具体实施例的示例。将会理解,这些示例不旨在将权利要求的范围限制为所示实施例。相反,它们旨在涵盖本公开的范围内可能包括的备选方案、修改和等同物。在以下描述中,阐述了具体细节,以提供对本主题的透彻理解。在没有这些具体细节中的一部分或全部的情况下,实施例也可以被实现。
本公开的各方面涉及一种可视化系统,其允许用户以交互方式评估多维空间中的带地理标记的事件数据(例如,交易数据),理解事件数据的空间和时间分布,以及理解各种规模级别(例如,区域、国家或全球)下的行为。这种可视化系统可以找到具体应用,以帮助生成关于大规模数据的公共关系、品牌和协作通信的故事讲述,例如,用于社交网络公布。
作为示例,为了提供更好的理解,可视化系统可以被配置为提供多个链接视图,以在多屏幕显示系统中显示。例如,多屏幕显示系统可以被配置为使得中央大屏幕可以被配置为显示旋转的三维(3D)虚拟地球体的概览,并且侧屏幕可以被配置为显示全球不同地区的放大视图以及平面世界地图。作为替代示例,可视化系统可以与诸如VR头戴式设备的虚拟现实(VR)系统集成,VR系统允许用户查看VR空间中的可视化并与之交互。除了多屏幕显示和VR系统之外,可视化系统还可以与运动输入设备集成,运动输入设备允许用户用他们的手势直接导航3D虚拟地球体或3D平面世界地图。
参考图1,示出了根据示例实施例的可视化系统100。如图所示,可视化系统100包括后端数据处理组件102、前端可视化组件104、交互组件106和分析组件108。如计算机相关领域的本领域技术人员所理解的,图1中所示的这些功能组件表示一组可执行软件指令和用于执行该指令的相应硬件(例如,存储器和处理器)。此外,图1中描绘的各种功能组件可以驻留在单个机器(例如,服务器或笔记本计算机)上,或者可以以各种布置(例如基于云的架构)分布在若干计算机上。另外还应理解,虽然在单数的情况下讨论了图1的功能组件,但是在其他实施例中可采用其中一个或多个功能组件的复数情形。
后端数据处理组件102负责处理来自输入数据源110的实况流数据。后端数据处理组件102在实况流数据生成之时对其进行处理。前端可视化组件104基于例如用户指定的约束来显示来自后端数据处理组件102的数据的子集。交互组件106处理与前端可视化组件104的用户交互。分析组件108确定用户的选择和过滤,然后应用相应的规则来控制来自前端可视化组件104的输出。作为过滤的示例,分析组件108可以向用户提供基于类别过滤信息的能力,使得仅可以可视化特定类别(例如,产品类别)的交易。
为了有效地处理大量实况数据流,可视化系统100采用分布式消息传递系统112作为数据存储库,并利用分布式实时计算组件114来可靠地处理无限数据流。此外,为了扩大前端可视化组件104绘制海量信息的能力,前端可视化组件104包括渲染引擎116,渲染引擎116在客户端118的显示设备上渲染可视化。例如,渲染可视化的客户端118可以对应于执行网络浏览器的计算机器(例如,个人计算机或笔记本计算机)、执行被配置为与可视化系统100通信的应用的移动设备(例如,智能电话)、VR头戴显示器、或其任何组合。
渲染引擎116采用灵活的时间和地理空间可视化框架,通过利用本地图形处理单元(GPU)120(例如,客户端118的GPU)的计算资源来改进和增强可视化能力。以这种方式,渲染引擎116可以比诸如基于本机文档对象模型(DOM)渲染的典型方法快若干数量级来绘制数据。
可视化系统100包括事件驱动的非阻塞I/O运行时间模型,该模型包括一个或多个数据综合处理服务器122,以在前端可视化组件104和实时计算组件114之间提供服务,从而向前端可视化组件104提供综合管理数据,并向后端数据处理组件102提供额外的保护层。负载平衡器124在一个或多个数据综合处理服务器122和包括可视化组件104的多个可视化组件之间分配连接。
渲染引擎
如上所述,渲染引擎116利用本地GPU 120来加速渲染速度以容易地绘制大量(例如,数百万)几何图元(例如,每秒60帧)。在显示器上渲染之前,使用DOM和基于可缩放矢量图形(SVG)的技术的传统方法首先生成中间HTML。这些方法不能很好地扩展到大量几何图元(如点或线),并且可能增大HTML文件的大小,从而导致客户端浏览器的性能显著下降。相反,渲染引擎116使用很少开销的低级API(例如,由WebGL公开),并且渲染结果直接绘制在画布元素上,而不必创建中间SVG元素。
参考图2,示出了根据示例实施例的渲染引擎116的功能组件。图2中示出的渲染引擎116的功能组件可以表示硬件、软件或两者的各种组合(例如,存储器和处理器)。
渲染引擎116能够以各种视觉隐喻的方式对动态大规模的实时流事件进行可视化。这种视觉隐喻包括空间自适应弧线动画、散点图和基于地理的条形图,其可以在3D虚拟地球体上或在二维(2D)平面地图上。渲染引擎116提供3D球面投影和2D平面投影之间的平滑过渡,从而为用户提供最大的灵活性来可视化具有地理位置维度的实时流事件。如上所述,渲染引擎116可以在客户端设备的显示器上渲染这样的视觉隐喻,客户端设备例如是执行网络浏览器的计算机器(例如,个人计算机或笔记本计算机)、执行被配置为与可视化系统100通信的应用的移动设备(例如,智能电话)、VR头戴显示器、或其任何组合。
如图2所示,渲染引擎116包括动态存储器管理组件202和自适应抖动稳定组件204。动态存储器管理组件202被配置为处理输入/输出及新/旧数据的交换,以便将总数据量保持在可管理的大小,而不牺牲渲染质量。如图所示,后端数据处理组件102从数据源110获得的实况流数据被加载到中央处理单元(CPU)存储器206(例如,CPU高速缓存)中,并且在那里被动态存储器管理组件202获取并加载到GPU存储器208(例如,GPU高速缓存)中。如下面将进一步详细讨论的,动态存储器管理组件202使用数学模型来决定何时从GPU存储器208交换出旧数据,以实现跨多批流数据之间无缝转换,其中每批流数据可以包括多个数据分组。另外,动态存储器管理组件202向自适应抖动稳定组件204提供最近到达的数据分组的时间戳210。
关于自适应抖动稳定组件204,抖动包括与假设的周期信号的真实周期性的非期望偏差。由于网络流量波动、数据分组丢失和重传或后端数据计算资源的变化,在实况流数据中抖动非常常见。总的来说,抖动打破了实况流数据的规律性流动模式,导致实时数据分组到达有无规律的延迟,甚至更差的情况,无序到达(例如,旧数据分组到达的时间晚于新数据分组)。在没有抖动的情况下,最近数据分组中的时间戳210可以用于控制动画的进度。然而,由于存在抖动,直接使用可视化中的原始抖动流数据的时间戳210可能导致用户感觉混乱。对于动画空间自适应弧线可视化尤其如此。例如,在最差的情况下,动画弧线像飞旋镖一样来回飞行。
为了补偿上述问题,自适应抖动稳定组件204计算最近数据分组的时间戳210与动画滑动时间窗212之间的差值,以确定用于更新滑动时间窗212的变化率。滑动时间窗212包括上限和下限。出于解释的目的,令Tp(t)是输入数据分组在时间t的纪元时间戳。此外,另Tw(t)=(Tmin(t),Tmax(t))表示控制动画进度的滑动时间窗,其中Tmin(t)是下限,Tmax(t)是上限,并且|Tmin(t)-Tmax(t)|是常数。当前关键帧中的Tw(t)的变化率由以下一阶常微分公式(以下称为“公式1”)来控制:
其中ω是小的常数系数,并且h是步长,其通常是|Tmin(t)-Tmax(t)|的小的分数。例如,可以通过欧拉步进法来求解公式1。在公式1的上下文中,滑动窗口的变化率取决于最近数据时间戳与滑动时间窗的上限之间的差。如果数据时间戳早于滑动时间窗的上限(Tp(t)<Tmax(t)),则公式1使时间窗停止向前移动。这是旧数据分组的到达时间晚于其应到时间的抖动情况。另一方面,如果滑动时间窗移动得太慢并且最近时间戳比滑动时间窗的上限更晚(Tp(t)>Tmax(t)),保持或增加时间窗的变化率。总之,在任一种情况下,公式1将平衡Tp(t)和Tmax(t),以便它们是同步的。
可视化数学模型
渲染引擎116利用数学模型来形成视觉隐喻(例如动画空间自适应弧线),其表示实时流事件的每一次出现。这种事件通常具有高维度的特征,包括至少地理空间和时间信息。渲染引擎116提供了多个离散的大量事件之间的平滑过渡,这可以例如帮助人类分析员实现演进数据的更好的心理模型。
在一些实施例中,渲染引擎116使用围绕虚拟3D地球体或在2D平面世界地图上绘制的柔性动画空间自适应弧线来表示每个实时事件。例如,实时事件可以对应于买方和卖方之间的交易,并且渲染引擎116可以在交易实时发生时清楚地描绘将卖方位置连接到买方位置的弯曲弧线。以下提供渲染引擎116所采用的可视化数学模型的元素分解。
在球面上的两个端点之间生成弧线。
参考图3,令pi,0和pi,1是第i条弧线的第一个和最后一个点,并且令k是参数,0≤k≤1。定义弧线上的任意点的几何公式由下式给出(以下称为“公式2”):
其中φi被计算为第i条弧线所对的弧角,如图3所示。该模型在两个端点之间的圆弧上平滑地插入点。
对弧线引入自适应曲率控制。
为了进一步扩展上述公式2,可以结合自适应曲率控制,使得在地球体表面上彼此更接近的一对点生成比连接更远离的一对点的弧线更加平坦的弧线。当曲线数量很大时,结合自适应曲率控制有几个好处,例如包括:1)提供更多的弧线视觉变化;2)减少视觉混乱,因为较长的弧度往往比该模型中较短的弧度具有更高的高度,从而将自身与较短的弧线分隔开;3)使弧线经由它们端点之间的距离而自然聚集,形成一组显著的视觉图案;以及4)缓解较长弧线被虚拟3D地球体遮挡。
定义新弧线上的任意点的几何公式由下式给出(以下称为“公式3”):
P(pi,0,pi,1,hi,max;k)=P(pi,0,pi,1;k)*(1+hi,max(1-4(k-0.5)2))
其中最大高度hi,max确定弧线曲率,并且定义为hi,max=λΦi,其中0≤λ≤1是用户选择的适用于所有弧线的全局常系数。特别地,λ=0,公式3退化为式公2。作为示例,图4中示出了应用公式3的结果。
对弧线引入动画。
基于上述两个模型,难以识别起点(源)和终点(目标)。为了解决这个问题,通过显示从源点到目标点的飞行高亮,对弧线引入动画。飞行高亮是弧线的一小部分,具有高不透明度,而弧线的其余部分的不透明度被衰减。通过改变哪个部分具有更高的不透明度,渲染引擎116可以生成动画,从而给观看者提供飞行弧线的心理印象。虽然可以使用其他视觉隐喻来表示源点和目标点,例如不同的颜色、形状或标签,但使用弧线的好处是:1)观察者可以立即捕捉到源点和目标点的大致情况,而无需在视觉上比较两个端点之间的差异(当一个或两个端点位于虚拟地球体的另一侧时,尤其如此);和2)它提供了更多的吸引力和参与度,因为人眼对移动物体更敏感。
在该模型中沿着第i个弧线的不透明度分布由高斯函数(下文中称为“公式4”)表示,其峰值位置由上面讨论的滑动时间窗控制:
其中,参数ti是第i个事件的纪元时间戳。α和β是可调常系数。k是与公式3中相同的参数。τ是一个新参数,0≤τ≤1,用于控制弧线上相对于起始点pi,0的高亮位置。例如,当τ=0时,OP(k,0)在t=0处达到最大值,其对应于pi,0。类似地,当τ=1时,OP(k,1)在k=1处达到最大值,其对应于pi,1。结果,当τ从0变为1时,高亮部分从起点(例如,源位置)移动到终点(例如,目标位置)。常系数c是一个小阈值,使得对于弧线上k>c+τ的部分,不透明度将简单地降至零。
图5A和5B提供了公式4的应用的说明性示例。参考图5A,当τ从0增加到1时,虚线箭头指向高亮移动方向。虚线箭头下方的脉冲函数(pulse function)是由公式4定义的沿弧线的不透明度分布。参考图5B,其是与图5A类似的示例,但是τ增加到更高的值,使得高亮处移动得更接近目标点pi,1。
结合弧线保持。
渲染引擎116被配置为避免无限期地在显示器上保持旧弧线(表示旧事件),无限期地保持旧弧线将导致严重的视觉混乱。此外,动态存储器管理组件202负责清除CPU和GPU存储器以用于新数据。为此目的,可以利用从存储器中清除旧数据的数据保留方案进一步改进公式4。然而,直接抛弃旧数据可能会导致令人不愉快的视觉伪像,例如,一组弧线在显示器上突然消失。为了解决该问题,渲染引擎116采用时间阻尼因子,基于每个弧线的年龄来逐渐降低其不透明度,弧线的年龄由与对应的事件相关联的时间戳来确定。一旦弧线完全透明,其对应的数据将从存储器中被清除。以下公式(以下称为“公式5”)用于分析性地平滑控制淡出效果:
在公式5中,应用与公式4中相同的滑动时间窗。参数ti是第i个事件的纪元时间戳。γ和σ是可调常系数,其确定衰退率,换句话说,我们希望将弧线保持多久。
空间和时间不透明度控制。
最后,为了建立控制飞行弧线动画和淡出效果的统一模型,可以将公式4和公式5融合,并且合并到下面的公式中
(下文中称为“公式6”):
总体而言,公式6和公式3共同定义了时变和空间自适应弧线,其用作视觉隐喻以表示在时间ti发生的第i个实时事件。对于沿着弧线的由k参数表示的任何点,其空间位置由公式3给出,并且其不透明度由公式5计算。通过时间驱动整个动画和淡出效果的变量是滑动时间窗(Tmin(t),Tmax(t))。
参数优化。
在一些情况下,视觉隐喻的时间不透明度可能会过快衰退,无法给动画高亮足够的时间从源点pi,0飞到目标点pi,1。为确保每个弧线在动画高亮到达目标点后停留一段时间,可以使用以下公式来避免弧线过早淡出:
如图所示,公式5中的参数σ应等于或大于滑动窗大小的一半,以使公式5中的高斯函数足够平坦,从而在高亮到达目标点之前使弧线长期保持可见。
另外,在一些实施例中,可视化系统100采用的弧线建模技术可以利用边缘捆绑技术来增强,例如,力指向边缘捆绑(Force-Directed Edge Bundling)和/或核密度估计捆绑。这种技术可以进一步弥补视觉混乱问题,并可能揭示高级的边缘或弧线图案。图15中示出了该技术的示例。
通过利用上述数学模型,除了重放历史数据之外,渲染引擎116还可以处理实况实时事件数据的平滑过渡和有效渲染。对于希望以快进方式查看历史数据,在几分钟内回放一天或一周数据的分析师来说,这可能会特别有用。
图6至8是示出了根据示例实施例的可视化系统100在执行用于渲染视觉隐喻的方法时的示例操作的流程图。方法600可以以计算机可读指令实现,该指令由硬件组件(例如,处理器)执行,使得方法600的操作可以由计算机器执行。特别地,方法600的操作可以部分或全部由形成可视化系统100的功能组件执行;因此,下面通过参考其示例的方式描述方法600。但是,应该理解的是,方法600还可以部署在各种其他硬件配置上,并且不意图限制于可视化系统100。
在操作605,后端数据处理组件102从数据源110获得实况流数据。实况流数据包括一个或多个数据分组,每个数据分组描述一个事件。每个数据分组包括对应于事件的时间戳210和识别源位置和目标位置的地理空间数据。例如,数据源110可以包括或对应于基于网络的商务平台的服务器,该服务器托管一个或多个商务相关应用。在该示例中,事件可以对应于在基于网络的商务平台上发生的交易,其中源位置对应于卖方位置,目标位置对应于买方位置。
在操作610,在处理实况流数据时,后端数据处理组件102将实况流数据加载到CPU存储器206中。例如,可以将实况流数据添加到服务器机器的CPU高速缓存中。
动态存储器管理组件202从CPU存储器206获取实况流数据的至少一部分(在操作615),并将获取的实况流数据加载到本地GPU存储器208中(在操作620)。从CPU存储器206获取并被加载到GPU存储器208中的那部分实况流数据可以基于用户提供的一个或多个约束。在基于网络的商务平台的示例中,用户可以请求仅可视化特定类型或类别的交易。在将所获取的实况流数据加载到GPU存储器208中之前,动态存储器管理组件202可以将数据分组转换为适合于GPU处理的格式。作为另一示例,用户可以提供时间范围作为约束,并且动态存储器管理组件202获取的数据对应于时间戳在用户指定的时间范围内的数据分组。在一些实施例中,动态存储器管理组件202可以响应于被从GPU存储器208中清除的一个或多个数据分组(下面进一步讨论)而获取实况流数据。
在操作625,渲染引擎116使用可视化数学模型在显示器上渲染地图上的一个或多个视觉隐喻。每个视觉隐喻表示被包括在实况流数据中的事件。一个或多个视觉隐喻可以包括空间自适应弧线动画、散点图或基于地理的条形图中的至少一个。对于每个视觉隐喻,可视化数学模型在整个滑动时间窗(例如,图2中所示的滑动时间窗212)中定义视觉隐喻的变化的空间位置和不透明度。例如,参考如上所述的空间自适应弧线动画,可视化数学模型在整个滑动时间窗中控制沿着弧线的每个点的空间位置和不透明度。在该示例中,可视化数学模型包括:第一组件,在源位置和目标位置之间的弧线上插入点;第二组件,基于源位置和目标位置之间的距离对弧线应用曲率控制;第三组件,通过在随滑动时间窗改变弧线上的点的不透明度,对弧线引入动画;以及第四组件,基于弧线的年龄降低弧线的不透明度,弧线的年龄由与对应的事件相关联的时间戳确定(例如,由实况流数据中包括的数据分组描述)。
在操作630,动态存储器管理组件202从GPU存储器208和CPU存储器206中清除一个或多个数据分组。如上所述,视觉数学模型逐渐降低视觉隐喻的不透明度,直到视觉隐喻变得完全透明以减少视觉混乱。动态存储器管理组件202可以响应于视觉隐喻从GPU存储器208清除对应的数据分组,以在CPU和GPU存储器206、208中为新数据腾出空间。
如图7所示,在一些实施例中,方法600还包括操作705、710、715和720。根据一些实施例,操作705、710、715和720可以作为操作625的一部分(例如,子过程或子例程)来执行,其中渲染引擎116渲染一个或多个视觉隐喻。特别地,操作705、710、715和720对应于生成特定视觉隐喻(空间自适应弧线)的操作,该特定视觉隐喻表示由实况流数据中包括的数据分组描述的事件。尽管在下面的描述中仅描述了空间自适应弧线的单个实例,但是应当理解,操作625可以涉及渲染多个空间自适应弧线。
在操作705,渲染引擎116在地图上将源位置连接到目标位置的弧线上插入点。渲染引擎116基于如上所述的视觉数学模型在弧线上插入点。
在操作710,渲染引擎116基于源位置和目标位置之间的距离对弧线应用曲率控制。在对弧线应用曲率控制时,渲染引擎116根据上面讨论的视觉数学模型,基于源位置和目标位置之间的距离确定弧线的最大高度。
在操作715,渲染引擎116产生弧线的从源位置到目标位置的移动的动画。根据上面讨论的视觉数学模型,渲染引擎116通过在整个滑动时间窗中改变弧线的各部分的不透明度来产生弧线的移动的动画。更具体地,渲染引擎116通过增加弧线的特定部分(“高亮”部分,最初位于源位置)的不透明度,并且逐渐将该高亮部分从源位置移动到目标位置,同时保持弧线的其他部分的不透明度,由此来产生弧线的移动的动画。
在操作720,渲染引擎116逐渐降低弧线的整体不透明度。渲染引擎116在整个滑动时间窗中逐渐降低弧线的整体不透明度,直到弧线变得完全透明(例如,在滑动时间窗结束时)。
如图8所示,在一些实施例中,方法600还包括操作805、810、815和820。如图所示,操作805、810、815和820可以在操作615之后执行并且与操作620并行地执行操作,其中在操作615中,动态存储器管理组件202从CPU存储器206获取实况流数据的至少一部分,在操作620中,动态存储器管理组件202将获取的数据加载到本地GPU存储器208中。此外,根据以下描述将理解,操作805、810、815和820对应于由自适应抖动稳定组件204执行的用于自适应抖动控制的方法。
在操作805,自适应抖动稳定组件204访问从CPU存储器206获取的实况流数据中包括的数据分组的时间戳210。时间戳210可以由动态存储器管理组件202提供给自适应抖动稳定组件204。
如上所述,滑动时间窗212包括下限和上限。在操作810,自适应抖动稳定组件204将时间戳210与滑动时间窗212的上限进行比较,以确定时间戳210是否早于滑动时间窗212的上限。换句话说,自适应抖动稳定组件204确定时间戳210时间是否早于滑动时间窗212的上限。如果自适应抖动稳定组件204确定时间戳210早于滑动时间窗212的上限,则在操作815自适应抖动稳定组件204减小或停止滑动时间窗212的变化率。如果自适应抖动稳定组件204确定上限早于时间戳210,则在操作820自适应抖动稳定组件204保持或增加滑动时间窗212的变化率。
图9至15示出了根据各种实施例的用户界面的各方面。图9示出了围绕3D虚拟地球体飞行的多个空间自适应弧线,每个弧线实时地表示源位置和目标位置之间的唯一交易。图10示出了使用实时事件的密度在3D虚拟地球体上渲染的散点制图。图11示出了使用累积的历史事件计数在3D虚拟地球上渲染的条形图。图12示出了投影到2D平面世界地图上的空间自适应弧线。
图13示出了在公式5中的衰减率低时发生的一组渲染弧线。如图所示,公式3的空间自适应控制使得弧线经由它们端点之间的距离而自然聚集,形成一组显著的视觉图案。
图14示出了美国的实时交易事件的时刻。弧线上的高亮指出了从源位置(例如,卖方位置)到目标位置(例如,买方位置)的飞行方向。
图15示出了使用力指向边缘捆绑(Force-Directed Edge Bundling),基于弧线的空间接近度和用户定义的属性的相似度,将多个弧线捆绑在一起的结果。
参考图16,示出了基于客户端-服务器的架构1600的示例实施例。更具体地,图16示出了其中可以部署可视化系统100的网络系统的示例。为了避免用不必要的细节来模糊本发明的主题,图16中省略了与传达本发明主题的理解无关的各种功能组件。此外,应当理解,尽管图16中所示的各种功能组件以单数意义来讨论,但是可以采用各种功能组件中的任一种的多个实例。
如图16所示,客户端设备1610可以通过网络1606与内容发布平台1602通信。根据一些实施例,设备1610包括可视化系统100的可视化组件104。在一些实施例中,内容发布平台1602对应于数据源110。
网络1606的一个或多个部分可以是ad hoc网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共电话交换网(PSTN)的一部分、蜂窝电话网、无线网、WiFi网、WiMax网、另一类型的网络或两个或更多个这样的网络的组合。
内容发布平台1602经由网络1606向客户端设备1610提供服务器侧功能。客户端设备1610可以包括但不限于:移动电话、台式计算机、虚实现实视图器或其他具有虚拟现实功能的设备、笔记本计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、笔记本计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒或用户可以用来访问内容发布平台1602或可视化系统100的任何其他通信设备。在一个实施例中,内容发布平台1602是基于网络的市场,其发布包括在基于网络的市场上可用的产品的项目列表的公告(例如,web文档)。这种基于网络的市场可以托管特定类别的产品或许多类别的产品的列表。
客户端设备1610还可以包括一个或多个应用(也称为“app”),例如但不限于网络浏览器、虚拟现实应用、消息传送应用、电子邮件(email)应用、电子商务应用(也称为市场应用)等。在一些实施例中,客户端设备包括一个或多个应用,该一个或多个应用被配置为本地提供用户界面以及功能中的至少一些,根据需要与内容发布平台1602通信,以获得本地不可用的数据或处理能力(例如,访问可供销售的物品的数据库、认证用户1604、验证支付方法等)。
用户1604可以是人、机器或与客户端设备1610交互的其它装置。在示例实施例中,用户1604不是基于客户端-服务器的架构1600的一部分,但可以经由客户端设备1610与可视化系统100和内容发布平台1602进行交互。
应用程序接口(API)服务器1620和网络服务器1622耦接至应用服务器1640,并分别向应用服务器1640提供编程接口和网络接口。应用服务器1640可以托管发布应用1642,发布应用1642可以被实现为硬件、软件、固件或其任意组合。相应地,应用服务器1640被示出为耦接到便利对数据库1626的访问的数据库服务器1624。在示例实施例中,数据库1626是存储要公布到发布应用1642的信息(例如,发布或列表)的存储设备。根据示例实施例,数据库1626还可以存储数字项目信息。
发布应用1642向访问内容发布平台1602的用户提供多个发布功能和服务。例如,发布应用1642提供允许用户1604使用客户端设备1610创建并发布网络文档(例如,产品列表)的接口(例如,通过与客户端设备1610通信)。发布应用1642还可以提供允许用户1604修改发布的网络文档的各个部分的接口。
虽然图16中示出了内容发布平台1602和可视化系统100的可视化组件是分离且不同的,但是应当理解,在备选实施例中,可视化系统100可以被并入并形成内容发布平台1602的一部分(例如,可视化系统100是内容发布平台1602的子平台)。
软件架构
图17是示出了软件架构1702的框图1700,软件架构1702可以安装在上述任何一个或多个设备上。图17仅为软件架构的非限制性示例,且应了解,可以实施许多其他架构以促进本文中所描述的功能性。在各种实施例中,软件1702由诸如图18的机器1800的硬件来实现,机器1800包括处理器1810、存储器1830和I/O组件1850。在该示例架构中,软件1702可以被概念化为层的堆栈,其中每层可以提供特定的功能。例如,软件1702包括诸如操作系统1704、库1706、框架1708和应用1710的层。在操作上,根据一些实施例,应用1710通过软件栈调用应用编程接口(API)调用1712,并响应于API调用1712接收消息1714。
在各种实施方式中,操作系统1704管理硬件资源并提供公共服务。操作系统1704包括例如内核1720、服务1722和驱动程序1724。根据一些实施例,内核1720用作硬件和其他软件层之间的抽象层。例如,内核1720提供存储器管理、处理器管理(例如,调度)、组件管理、连网和安全设置以及其他功能。服务1722可以为其他软件层提供其他公共服务。根据一些实施例,驱动程序1724负责控制底层硬件或与底层硬件接口连接。例如,驱动程序1724可以包括显示驱动程序、相机驱动程序、蓝牙或/>低功耗驱动程序、闪存驱动程序、串行通信驱动程序(例如通用串行总线(USB)驱动程序)、/>驱动程序、音频驱动程序、电源管理驱动程序等。
在一些实施例中,库1706提供由应用1710使用的低级公共基础设施。库1706可以包括可以提供诸如存储器分配功能、串操纵功能、数学功能等的功能的系统库1730(例如,C标准库)。另外,库1706可以包括API库1732,例如媒体库(例如,支持各种媒体格式的表示和操控的库,所述格式是比如运动图像专家组4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组层3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上在图形内容中进行二维(2D)和三维(3D)渲染的OpenGL框架)、数据库(例如,提供各种关系数据库函数的SQLite)、网络库(例如,提供网络浏览功能的WebKit)等。库1706还可以包括各种各样的其他库1734,以向应用1710提供许多其他API。
根据一些实施例,框架1708提供可以被应用1710使用的高级公共基础设施。例如,框架1708提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架1708可以提供可被应用1710使用的广泛的其他API,其中一些可以特定于特定的操作系统或平台。
在示例实施例中,应用1710包括主页应用1750、联系人应用1752、浏览器应用1754、书阅读器应用1756、位置应用1758、媒体应用1760、消息应用1762、游戏应用1764、以及诸如第三方应用1766之类的各种各样的其他应用。根据一些实施例,应用1710是执行在程序中定义的功能的程序。可以采用各种编程语言来创建以各种方式结构化的应用1710中的一个或多个,诸如面向对象的编程语言(例如,Objective-C,Java或C++)或过程编程语言(例如C或汇编语言)。在具体示例中,第三方应用1766(例如,由与特定平台的供应商不同的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)而开发的应用)可以是在移动操作系统(诸如IOSTM、ANDROIDTM、PHONE或另一移动操作系统)上运行的移动软件。在该示例中,第三方应用1766可以调用由操作系统1704提供的API调用1712,以促进本文描述的功能。
机器架构
图18示出根据示例实施例的具有计算机系统的形式的机器1800的示图表示,在该计算机系统中,可以执行一组指令以使机器1800执行本文讨论的方法中的任意一个或多种方法。具体地,图18示出了计算机系统的示例形式的机器1800的示意图,其中可以执行指令1816(例如,软件、程序、应用、小应用、app或其他可执行代码)以使机器1800执行本文讨论的任何一种或多种方法。例如,指令1816可以使机器1800执行图6至8的方法600。附加地或备选地,指令1816可以实现图1和图2等所示的组件的至少一部分。指令1816将通用的未编程的机器1800转变成被编程为以所描述的方式执行所描述和示出的功能的特定机器1800。在可选的实施例中,机器1800作为独立设备操作或可以耦接(例如,联网)到其他机器。在联网部署中,机器1800可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器1800可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、笔记本计算机、上网本、机顶盒(STB)、PDA、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如智能手表)、智能家居设备(例如智能家电)、其他智能设备、网络设备、网络路由器、网络交换机、网桥、或能够顺序地或以其他方式执行指定机器1800要采取的动作的指令1816的任何机器。此外,尽管仅示出了单个机器1800,但是术语“机器”也将被认为包括机器1800的集合,其单独地或联合地执行指令1816以执行本文讨论的方法中的任何一个或多个。
机器1800可以包括可被配置为经由总线1802彼此通信的处理器1810、存储器1830和I/O组件1850。在示例实施例中,处理器1810(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、另一处理器或其任何适当组合)包括例如可以执行指令1816的处理器1812和处理器1814。术语“处理器”旨在包括可以包括可同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。尽管图18示出了多个处理器1810,但是机器1800可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。
存储器1830可以包括例如经由总线1802均可被处理器1810访问的主存储器1832、静态存储器1834和存储单元1836。在一些实施例中,主存储器1830、静态存储器1834和主存储单元1836存储具体实现本文描述的方法或功能中的任何一个或多个的指令1816。在机器1800执行指令1816期间,指令1816还可以完全地或部分地驻留在主存储器1832内、静态存储器1834内、存储单元1836内、处理器1810中的至少一个内(例如,处理器的高速缓存存储器内)、或其任何合适的组合内。
I/O组件1850可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕捉测量等的各种各样的组件。包括在特定机器中的特定I/O组件1850将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这种输入机制,而无终端服务器机器将可能不包括这种触摸输入设备。应当理解,I/O组件1850可以包括图18中未示出的许多其他组件。根据功能来对I/O组件1850进行分组,以仅用于简化以下讨论,并且分组不以任何方式进行限制。在各种示例实施例中,I/O组件1850可以包括输出组件1852和输入组件1854。输出组件1852可以包括可视组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如扬声器)、触觉组件(例如振动马达、电阻机构)、其他信号发生器等。输入组件1854可以包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或另一定点仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏、或其它触觉输入组件)、音频输入组件(例如,麦克风)等。
在另一些示例实施例中,I/O组件1850在大批其他组件中可以包括生物测定组件1856、运动组件1858、环境组件1860或定位组件1862。例如,生物测定组件1856可包括用于检测表达(例如,手表达、面部表达、语音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1858可包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1860可以包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或测量大气中污染物的气体检测传感器)或可以提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件1862可以包括位置传感器组件(例如,GPS接收器组件)、高度传感器组件(例如,高度计或气压计,其检测可以从其导出高度的气压)、取向传感器组件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O组件1850可以包括通信组件1864,通信组件1864可操作以分别经由耦接1882和耦接1872将机器1800耦接到网络1880或设备1870。例如,通信组件1864可以包括网络接口组件或与网络1880接口连接的另一合适设备。在另一些示例中,通信组件1864可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、蓝牙组件(例如蓝牙/>低功耗)、/>组件、以及经由其他模式提供通信的其他通信组件。设备1870可以是另一机器或各种外围设备中的任一种(例如,经由USB耦接的外围设备)。
此外,通信组件1864可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1864可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,用于检测一维条形码(如通用产品代码(UPC)条形码)、多维条形码(如快速响应(QR)码)、Aztec码、数据矩阵(Data Matrix)、数据字(Dataglyph)、MaxiCode、PDF417、超级码、UCC RSS-2D条形码、以及其他光学代码)的光学传感器)、或声学检测组件(例如,识别带标签的音频信号的麦克风)。另外,可以经由通信组件1864导出各种信息,诸如经由互联网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等等。
可执行指令和机器存储介质
各种存储器(即,1830、1832、1834和/或处理器1810的存储器)和/或存储单元1836可以存储体现本文所描述的方法或功能中的一个或多个或者由其利用的一组或多组指令和数据结构(例如软件)。当被处理器1810执行时,这些指令(例如,指令1816)使得各种操作实现所公开的实施例。
如这里所使用的,术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意味着相同的事物并且可以在本公开中互换使用。这些术语指的是存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库、和/或相关联的高速缓存和服务器)。因此,这些术语应当被看做包括但不限于:固态存储器以及光学和磁介质,其包括处理器内部或外部的存储器。机器存储介质、计算机存储和/或设备存储介质的具体示例包括:非易失性存储器,其以示例的形式包括半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、FPGA、电可擦除可编程只读存储器(EEPROM))、以及闪存设备;磁盘,例如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,其中至少一些被如下讨论的术语“信号介质”所涵盖。
传输介质
在各种示例实施例中,网络1880的一个或多个部分可以是自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网,互联网的一部分、PSTN的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或两个或更多个这样的网络的组合。例如,网络1880或网络1880的一部分可以包括无线或蜂窝网络,并且耦接1882可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一个类型的蜂窝或无线耦接。在该示例中,耦接1882可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其它标准、其它远程协议或其它数据传输技术。
可以经由网络接口设备(例如,包括在通信组件1864中的网络接口组件)并利用多个公知的传输协议(例如,超文本传输协议(HTTP))中的任何一个来使用传输介质通过网络1880发送或接收指令1816。类似地,可以使用传输介质通过耦接1872(例如,对等耦接)向设备1870发送指令1816或从其接收指令1816。术语“传输介质”和“信号介质”表示相同的事物,并且可以在本公开中互换使用。术语“传输介质”和“信号介质”应被认为包括能够存储、编码或承载用于被机器1800执行的指令1816的任何无形介质,并且包括用于促进这样的软件的通信的数字或模拟通信信号或其他无形介质。因此,术语“传输介质”和“信号介质”应被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指具有以在信号中编码信息的方式设置或改变其一个或多个特性的信号。
计算机可读介质
术语“机器可读介质”、“计算机可读介质”和“设备可读介质”表示相同的事物,并且可以在本公开中互换使用。这些术语被定义为包括机器存储介质和传输介质。因此,这些术语包括存储设备/介质和载波/调制数据信号。
电子装置和系统
示例实施例可以用数字电子电路或者用计算机硬件、固件、软件或它们的组合来实现。示例实施例可以使用计算机程序产品来实现,计算机程序产品例如是在信息载体中有形地表现的计算机程序,信息载体例如是由数据处理装置执行的机器可读介质或用于控制数据处理装置的操作的机器可读介质,数据处理装置例如是可编程处理器、计算机、或多个计算机。
可以以任何形式的编程语言来编写计算机程序,该编程语言包括:编译或解释语言,并且可以以任何形式来部署计算机程序,包括部署为独立的程序或者部署为适合于用于计算环境的模块、子例程,或者其它单元。计算机程序可以被部署为在一个计算机执行或在位于一个地点处的多个计算机上执行或者在分布在多个地点上并通过通信网络互连的多个计算机上执行。
在示例实施例中,操作可以通过一个或多个可编程处理器执行计算机程序来执行,以通过操作输入数据并产生输出来执行功能。方法操作还可以通过由专用逻辑电路(例如,FPGA或ASIC)来执行,并且示例实施例的装置可以实现为专用逻辑电路。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来生成。在部署可编程计算系统的实施例中,将清楚的是,需要考虑硬件架构和软件架构二者。具体地,将清楚的是,是否在永久配置的硬件(例如ASIC)中、在暂时配置的硬件中(例如软件与可编程处理器的组合)、或是在永久配置的与暂时配置的硬件的组合中实现特定功能的选择可以是设计选择。
以下编号的示例是实施例。
1、一种系统,包括:
机器的一个或多个处理器;以及
存储指令的机器可读存储介质,所述指令在由所述一个或多个处理器执行时使所述机器执行包括以下的操作:
在存储器中加载描述多个事件的流数据,所述流数据包括识别与多个事件中的每个事件相对应的源位置和目标位置的地理空间数据;以及
使用可视化数学模型在显示器上渲染地图上的多个视觉隐喻,每个视觉隐喻表示所述多个事件中的事件,所述可视化数学模型针对每个视觉隐喻定义在整个滑动时间窗上所述视觉隐喻上的每个点的空间位置和不透明度。
2、根据示例1所述的系统,其中,渲染所述多个视觉隐喻中的至少一个包括:
在所述地图上插入连接所述源位置和所述目标位置的弧线的点;以及
基于所述源位置和所述目标位置之间的距离,对所述弧线应用曲率控制。
3、根据示例2所述的系统,其中,渲染所述多个视觉隐喻中的至少一个还包括:通过改变所述弧线的多个部分的不透明度,产生所述弧线从所述源位置到所述目标位置的移动的动画。
4、根据示例1至3中任一项所述的系统,其中:
每个事件与时间戳相关联;
所述滑动时间窗的时间范围包括下限和上限;以及
所述操作还包括:基于最近时间戳与所述滑动时间窗的上限的比较来调整所述滑动时间窗。
5、根据示例4所述的系统,其中,调整所述滑动时间窗包括:基于所述滑动时间窗的上限比所述时间戳更早,增加所述滑动时间窗的变化率。
6、根据示例1至5中任一项所述的系统,还包括:在所述滑动时间窗期间逐渐降低所述多个视觉隐喻中的视觉隐喻的不透明度。
7、根据示例6所述的系统,还包括:响应于降低所述视觉隐喻的不透明度而使得所述视觉隐喻变透明,从所述存储器中清除对应于所述视觉隐喻的数据。
8、根据示例1至7中任一项所述的系统,其中:
所述系统还包括:
图形处理单元GPU高速缓存,所述GPU高速缓存对应于所述存储器;以及
中央处理单元CPU高速缓存;
以及其中所述操作还包括:
从数据源获得所述流数据;
将所述流数据加载到所述CPU高速缓存中;以及
响应从所述GPU高速缓存中清除数据,从所述CPU高速缓存获取所述流数据。
9、根据示例1至8中任一项所述的系统,其中,所述可视化数学模型包括第一元素,所述第一元素在所述源位置和所述目标位置之间的弧线上插入点。
10、根据示例9所述的系统,其中,所述可视化数学模型包括第二元素,所述第二元素基于所述源位置和所述目标位置之间的距离对所述弧线应用曲率控制。
11、根据示例10所述的系统,其中,所述可视化数学模型包括第三元素,所述第三元素通过在所述滑动时间窗期间改变所述弧线上的所述点的不透明度将动画引入所述弧线。
12、根据示例11所述的系统,其中,所述可视化数学模型包括第四元素,所述第四元素基于所述弧线的年龄来减小所述弧线的不透明度,所述弧线的年龄由与对应的事件相关联的时间戳来确定。
13、根据示例1至12中任一项所述的系统,其中,所述多个视觉隐喻包括空间自适应弧线动画、散点图或基于地理的条形图中的至少一个。
14、一种处理器实现的方法,包括:
在存储器中加载描述多个事件的流数据,所述流数据包括识别与多个事件中的每个事件相对应的源位置和目标位置的地理空间数据;以及
使用可视化数学模型在显示器上渲染地图上的多个视觉隐喻,每个视觉隐喻表示所述多个事件中的事件,所述可视化数学模型针对每个视觉隐喻定义在整个滑动时间窗上所述视觉隐喻上的每个点的空间位置和不透明度。
15、根据示例14所述的方法,其中,渲染所述多个视觉隐喻中的至少一个包括:
在所述地图上插入连接所述源位置和所述目标位置的弧线的点;
基于所述源位置和所述目标位置之间的距离,对所述弧线应用曲率控制;
产生所述弧线从所述源位置到所述目标位置的移动的动画;以及
逐渐降低所述弧线的不透明度。
16、根据示例15所述的方法,其中,对所述弧线应用曲率控制包括:基于所述源位置和所述目标位置之间的距离,确定所述弧线的最大高度。
17、根据示例15或示例16所述的方法,其中,产生所述弧线的移动的动画包括:
增加所述弧线的一部分的不透明度,所述部分最初位于所述源位置;以及
逐渐将所述增加的不透明度的部分从所述源位置移动到所述目标位置,同时保持所述弧线的其余部分的不透明度。
18、根据示例15至17中任一项所述的方法,其中,在经过所述滑动时间窗之后降低所述弧线的不透明度,使得所述弧线变透明。
19、根据示例18所述的方法,还包括:响应于所述弧线变透明,从所述存储器中清除与所述弧线对应的数据。
20、一种包括指令的机器可读存储介质,所述指令在由机器的至少一个处理器执行时使所述机器执行包括以下的操作:
在存储器中加载描述多个事件的流数据,所述流数据包括识别与多个事件中的每个事件相对应的源位置和目标位置的地理空间数据;以及
使用可视化数学模型在显示器上渲染地图上的多个视觉隐喻,每个视觉隐喻表示所述多个事件中的事件,所述可视化数学模型针对每个视觉隐喻定义在整个滑动时间窗上所述视觉隐喻上的每个点的空间位置和不透明度,渲染所述多个视觉隐喻中的至少一个包括:
在所述地图上插入连接所述源位置和所述目标位置的弧线的点;
基于所述源位置和所述目标位置之间的距离,对所述弧线应用曲率控制;
产生所述弧线从所述源位置到所述目标位置的移动的动画;以及
逐渐降低所述弧线的不透明度。
21、一种携带指令的机器可读介质,所述指令在由机器的至少一个处理器执行时,使得所述机器执行根据示例14至19中任一项所述的方法。
语言
尽管已经参考特定示例实施例描述了本公开的实施例,显然,可以对这些实施例做出各种修改和改变,而不离开本公开主题的更宽泛的范围。因此,说明书和附图应当被看做说明性的而不是限制意义的。形成可以实现主题的具体实施例的一部分的附图是通过说明而不是限制的方式示出的。充分详细地描述示出的实施例以使得本领域技术人员能够实现本文公开的教导。可以利用并根据这些实施例得出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”部分不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。
本发明主题的这些实施例被单独地和/或统一地由术语“发明”来指代,其仅是为了方便,而不是旨在主动将本申请的范围限制为任意单个发明或发明构思(如果实际上不止一个被公开的话)。因此,尽管本文示出并描述了特定实施例,应当理解,适于实现相同目的的任意设置都可以用于替换所示出的特定实施例。本公开旨在覆盖各种实施例的任意和所有的适应性修改或变化。通过研究上述内容,上述实施例的组合以及本文中没有具体描述的其它实施例对于本领域技术人员来说将是明显的。
本文中提到的所有公开、专利和专利文件通过引用的方式单独全文并入本文中。在本文中与通过引用并入的文件之间的使用不一致的情况下,并入的参考文献中的使用应当被看做对本文件的补充。对于不可调和的不一致,以本文件中的使用为准。
在本文件中,如专利文件中常见的,术语“一”或“一个”用于包括一个或多个而不是一个,区别于“至少一个”或“一个或多个”的任何其它实例或使用。在本文件中,除非另有说明,术语“或”用于指非排他性的或者,例如“A或B”包括“A但不是B”、“B但不是A”以及“A和B”。在附加的权利要求中,术语“包括”和“在其中”用作相应术语“包含”和“其中”的英语等同体。此外,在下文的权利要求中,术语“包括”和“包含”是开放式的;也就是说,包括除了在权利要求中的该术语之后列出的以外的内容的系统、设备、物品或过程仍将被视为落入该权利要求的范围内。
Claims (17)
1.一种用于流数据的可视化的系统,包括:
机器的一个或多个处理器;以及
存储指令的机器可读存储介质,所述指令在由所述一个或多个处理器执行时使所述机器执行包括以下的操作:
在存储器中加载描述多个事件的流数据,所述流数据包括识别与多个事件中的每个事件相对应的源位置和目标位置的地理空间数据;以及
使用可视化数学模型在显示器上渲染地图上的多个视觉隐喻,每个视觉隐喻表示所述多个事件中的事件,所述可视化数学模型针对每个视觉隐喻定义在整个滑动时间窗上所述视觉隐喻上的每个点的空间位置和不透明度,
其中每个事件与时间戳相关联;
所述视觉隐喻以动画显示,
所述滑动时间窗控制所述视觉隐喻的动画进度,
所述滑动时间窗的时间范围包括下限和上限;以及
所述操作还包括:基于最近时间戳与所述滑动时间窗的上限的比较来调整所述滑动时间窗的变化率,以实现自适应抖动稳定。
2.根据权利要求1所述的系统,其中,渲染所述多个视觉隐喻中的至少一个包括:
在所述地图上插入连接所述源位置和所述目标位置的弧线的点;
基于所述源位置和所述目标位置之间的距离,对所述弧线应用曲率控制;
通过改变所述弧线的多个部分的不透明度,产生所述弧线从所述源位置到所述目标位置的移动的动画;以及
基于所述滑动时间窗降低所述弧线的不透明度。
3.根据权利要求1所述的系统,其中
调整所述滑动时间窗的变化率包括:基于最近时间戳比所述滑动时间窗的上限更早,减小所述滑动时间窗的变化率。
4.根据权利要求1所述的系统,其中,调整所述滑动时间窗的变化率包括:基于所述滑动时间窗的上限比所述最近时间戳更早,增加所述滑动时间窗的变化率。
5.根据权利要求2所述的系统,还包括:响应于降低所述弧线的不透明度而使得所述弧线变透明,从所述存储器中清除与所述弧线相对应的数据。
6.根据权利要求1所述的系统,其中
所述系统还包括:
图形处理单元GPU高速缓存,所述GPU高速缓存对应于所述存储器;以及
中央处理单元CPU高速缓存;
以及其中所述操作还包括:
从数据源获得所述流数据;
将所述流数据加载到所述CPU高速缓存中;以及
响应从所述GPU高速缓存中清除数据,从所述CPU高速缓存获取所述流数据。
7.根据权利要求1所述的系统,其中,所述可视化数学模型包括第一元素,所述第一元素在所述源位置和所述目标位置之间的弧线上插入点。
8.根据权利要求7所述的系统,其中,所述可视化数学模型包括第二元素,所述第二元素基于所述源位置和所述目标位置之间的距离对所述弧线应用曲率控制。
9.根据权利要求8所述的系统,其中,所述可视化数学模型包括第三元素,所述第三元素通过随所述滑动时间窗改变所述弧线上的所述点的不透明度,将动画引入所述弧线。
10.一种处理器实现的用于流数据的可视化的方法,包括:
在存储器中加载描述多个事件的流数据,所述流数据包括识别与多个事件中的每个事件相对应的源位置和目标位置的地理空间数据;以及
使用可视化数学模型在显示器上渲染地图上的多个视觉隐喻,每个视觉隐喻表示所述多个事件中的事件,所述可视化数学模型针对每个视觉隐喻定义在整个滑动时间窗上所述视觉隐喻上的每个点的空间位置和不透明度,
其中每个事件与时间戳相关联;
所述视觉隐喻以动画显示,
所述滑动时间窗控制所述视觉隐喻的动画进度,
所述滑动时间窗的时间范围包括下限和上限;以及
所述方法还包括:基于最近时间戳与所述滑动时间窗的上限的比较来调整所述滑动时间窗的变化率,以实现自适应抖动稳定。
11.根据权利要求10所述的方法,其中,渲染所述多个视觉隐喻中的至少一个包括:
在所述地图上插入连接所述源位置和所述目标位置的弧线的点;
基于所述源位置和所述目标位置之间的距离,对所述弧线应用曲率控制;
通过改变所述弧线的多个部分的不透明度,产生所述弧线从所述源位置到所述目标位置的移动的动画;以及
基于所述滑动时间窗降低所述弧线的不透明度。
12.根据权利要求11所述的方法,其中,对所述弧线应用曲率控制包括:基于所述源位置和所述目标位置之间的距离,确定所述弧线的最大高度。
13.根据权利要求10所述的方法,其中
调整所述滑动时间窗的变化率包括:基于最近时间戳比所述滑动时间窗的上限更早,减小所述滑动时间窗的变化率。
14.根据权利要求10所述的方法,其中,调整所述滑动时间窗的变化率包括:基于所述滑动时间窗的上限比所述时间戳更早,增加所述滑动时间窗的变化率。
15.根据权利要求11所述的方法,还包括:响应于降低所述弧线的不透明度而使得所述弧线变透明,从所述存储器中清除与所述弧线相对应的数据。
16.一种包括指令的机器可读存储介质,所述指令在由机器的至少一个处理器执行时使所述机器执行包括以下的操作:
在存储器中加载描述多个事件的流数据,所述流数据包括识别与多个事件中的每个事件相对应的源位置和目标位置的地理空间数据;以及
使用可视化数学模型在显示器上渲染地图上的多个视觉隐喻,每个视觉隐喻表示所述多个事件中的事件,所述可视化数学模型针对每个视觉隐喻定义在整个滑动时间窗上所述视觉隐喻上的每个点的空间位置和不透明度,
其中每个事件与时间戳相关联;
所述视觉隐喻以动画显示,
所述滑动时间窗控制所述视觉隐喻的动画进度,
所述滑动时间窗的时间范围包括下限和上限;以及
所述操作还包括:基于最近时间戳与所述滑动时间窗的上限的比较来调整所述滑动时间窗的变化率,以实现自适应抖动稳定。
17.一种携带指令的机器可读介质,所述指令在由机器的至少一个处理器执行时,使所述机器执行根据权利要求10至15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311743398.3A CN117909390A (zh) | 2016-09-19 | 2017-09-19 | 流数据的交互式实时可视化 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662396632P | 2016-09-19 | 2016-09-19 | |
US62/396,632 | 2016-09-19 | ||
US15/707,529 US10542060B2 (en) | 2016-09-19 | 2017-09-18 | Interactive real-time visualization system for large-scale streaming data |
US15/707,529 | 2017-09-18 | ||
PCT/US2017/052227 WO2018053490A1 (en) | 2016-09-19 | 2017-09-19 | Interactive real-time visualization for streaming data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311743398.3A Division CN117909390A (zh) | 2016-09-19 | 2017-09-19 | 流数据的交互式实时可视化 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109716316A CN109716316A (zh) | 2019-05-03 |
CN109716316B true CN109716316B (zh) | 2024-01-23 |
Family
ID=61619766
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780057403.1A Active CN109716316B (zh) | 2016-09-19 | 2017-09-19 | 流数据的交互式实时可视化 |
CN202311743398.3A Pending CN117909390A (zh) | 2016-09-19 | 2017-09-19 | 流数据的交互式实时可视化 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311743398.3A Pending CN117909390A (zh) | 2016-09-19 | 2017-09-19 | 流数据的交互式实时可视化 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10542060B2 (zh) |
EP (1) | EP3516532A4 (zh) |
JP (1) | JP6915051B2 (zh) |
KR (2) | KR102231174B1 (zh) |
CN (2) | CN109716316B (zh) |
WO (1) | WO2018053490A1 (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10542060B2 (en) | 2016-09-19 | 2020-01-21 | Ebay Inc. | Interactive real-time visualization system for large-scale streaming data |
US10475219B1 (en) | 2017-03-30 | 2019-11-12 | Palantir Technologies Inc. | Multidimensional arc chart for visual comparison |
US10887369B2 (en) | 2017-09-25 | 2021-01-05 | Splunk Inc. | Customizable load balancing in a user behavior analytics deployment |
EP3776214A4 (en) * | 2018-04-12 | 2021-12-01 | Hitachi Vantara LLC | USER INTERFACE OPTIMIZATION FOR DELAYED DATA |
US11069280B2 (en) | 2018-10-25 | 2021-07-20 | Baylor University | System and method for a multi-primary wide gamut color system |
US11532261B1 (en) | 2018-10-25 | 2022-12-20 | Baylor University | System and method for a multi-primary wide gamut color system |
US11587491B1 (en) | 2018-10-25 | 2023-02-21 | Baylor University | System and method for a multi-primary wide gamut color system |
US10950161B2 (en) | 2018-10-25 | 2021-03-16 | Baylor University | System and method for a six-primary wide gamut color system |
US11289000B2 (en) | 2018-10-25 | 2022-03-29 | Baylor University | System and method for a multi-primary wide gamut color system |
US10950162B2 (en) | 2018-10-25 | 2021-03-16 | Baylor University | System and method for a six-primary wide gamut color system |
US11189210B2 (en) * | 2018-10-25 | 2021-11-30 | Baylor University | System and method for a multi-primary wide gamut color system |
US10997896B2 (en) | 2018-10-25 | 2021-05-04 | Baylor University | System and method for a six-primary wide gamut color system |
US11289003B2 (en) | 2018-10-25 | 2022-03-29 | Baylor University | System and method for a multi-primary wide gamut color system |
US10607527B1 (en) | 2018-10-25 | 2020-03-31 | Baylor University | System and method for a six-primary wide gamut color system |
US11341890B2 (en) | 2018-10-25 | 2022-05-24 | Baylor University | System and method for a multi-primary wide gamut color system |
US11069279B2 (en) | 2018-10-25 | 2021-07-20 | Baylor University | System and method for a multi-primary wide gamut color system |
US11373575B2 (en) | 2018-10-25 | 2022-06-28 | Baylor University | System and method for a multi-primary wide gamut color system |
US11475819B2 (en) | 2018-10-25 | 2022-10-18 | Baylor University | System and method for a multi-primary wide gamut color system |
US11315467B1 (en) | 2018-10-25 | 2022-04-26 | Baylor University | System and method for a multi-primary wide gamut color system |
US11043157B2 (en) | 2018-10-25 | 2021-06-22 | Baylor University | System and method for a six-primary wide gamut color system |
US11030934B2 (en) | 2018-10-25 | 2021-06-08 | Baylor University | System and method for a multi-primary wide gamut color system |
US11410593B2 (en) | 2018-10-25 | 2022-08-09 | Baylor University | System and method for a multi-primary wide gamut color system |
US11037481B1 (en) | 2018-10-25 | 2021-06-15 | Baylor University | System and method for a multi-primary wide gamut color system |
US11403987B2 (en) | 2018-10-25 | 2022-08-02 | Baylor University | System and method for a multi-primary wide gamut color system |
US11488510B2 (en) | 2018-10-25 | 2022-11-01 | Baylor University | System and method for a multi-primary wide gamut color system |
US11062638B2 (en) | 2018-10-25 | 2021-07-13 | Baylor University | System and method for a multi-primary wide gamut color system |
CN111046260B (zh) * | 2019-12-11 | 2023-04-18 | 中国兵器工业第五九研究所 | 一种基于自然环境因素数据的可视化方法 |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
CN111400983A (zh) * | 2020-03-04 | 2020-07-10 | 上海介方信息技术有限公司 | 一种基于fpga动态重配置的波形组件加载实现方法 |
CN111681353B (zh) * | 2020-05-28 | 2022-03-25 | 浙江大华技术股份有限公司 | 热成像测温方法、一体化设备及存储介质 |
CN112328249A (zh) * | 2020-11-11 | 2021-02-05 | 中投国信(北京)科技发展有限公司 | 一种基于业务模型的可视化快速构建系统 |
US11769199B2 (en) | 2021-04-14 | 2023-09-26 | Visa International Service Association | System, method, and computer program product for network anomaly detection |
CN114528615A (zh) * | 2021-12-24 | 2022-05-24 | 通号粤港澳(广州)交通科技有限公司 | 站场图的展示方法、装置、设备及存储介质 |
CN115695892A (zh) * | 2022-11-08 | 2023-02-03 | 中山大学深圳研究院 | 一种基于流媒体的群体标记可视化交互方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6690371B1 (en) * | 2000-05-03 | 2004-02-10 | Ge Medical Systems Global Technology, Llc | Relevant image data extraction from a medical image data volume |
US8799799B1 (en) * | 2013-05-07 | 2014-08-05 | Palantir Technologies Inc. | Interactive geospatial map |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751931A (en) | 1995-04-18 | 1998-05-12 | Lucent Technologies Inc. | Three dimensional graphical display of information |
US6397163B1 (en) * | 1999-12-02 | 2002-05-28 | Eastman Kodak Company | Method for determining thermal exposure of a product |
CA2466196A1 (en) * | 2001-10-31 | 2003-05-08 | Blue Falcon Networks, Inc. | Data transmission process and system |
US8225217B2 (en) * | 2002-05-30 | 2012-07-17 | Microsoft Corporation | Method and system for displaying information on a user interface |
WO2004081878A1 (en) * | 2003-03-11 | 2004-09-23 | National University Of Singapore | Method and apparatus for generating morphing sequence |
TWI249695B (en) * | 2004-12-09 | 2006-02-21 | Shiau-Peng Li | Map-based flight searching and booking method |
US7945658B1 (en) | 2005-12-05 | 2011-05-17 | Narus, Inc. | Method for real-time visualization of BGP analysis and trouble-shooting |
US7885733B1 (en) * | 2006-04-03 | 2011-02-08 | Honeywell International Inc. | Aviation navigational and flight management systems and methods utilizing radar vectoring |
US9286639B1 (en) * | 2007-05-30 | 2016-03-15 | Intuit Inc. | System and method for providing price information |
US20090070130A1 (en) * | 2007-09-12 | 2009-03-12 | Neelakantan Sundaresan | Reputation scoring |
KR100925176B1 (ko) * | 2007-09-21 | 2009-11-05 | 한국전자통신연구원 | 지리 정보를 이용한 네트워크 상태 표시장치 및 방법 |
US20100238176A1 (en) * | 2008-09-08 | 2010-09-23 | Apple Inc. | Systems, methods, and devices for flash exposure control using preflash statistics |
US8095427B1 (en) * | 2009-07-04 | 2012-01-10 | Buxton Brad B | Methods for facilitating an online transaction of a firearm |
US9104695B1 (en) * | 2009-07-27 | 2015-08-11 | Palantir Technologies, Inc. | Geotagging structured data |
US20120137367A1 (en) * | 2009-11-06 | 2012-05-31 | Cataphora, Inc. | Continuous anomaly detection based on behavior modeling and heterogeneous information analysis |
GB2489155A (en) * | 2009-12-04 | 2012-09-19 | Darryl John Mahoney | A method and system for representing financial market transactions |
US8436872B2 (en) | 2010-02-03 | 2013-05-07 | Oculus Info Inc. | System and method for creating and displaying map projections related to real-time images |
US20110199286A1 (en) * | 2010-02-13 | 2011-08-18 | Robin Dziama | Spherical Electronic LCD Display |
US9450834B2 (en) | 2010-07-19 | 2016-09-20 | Soasta, Inc. | Animated globe showing real-time web user performance measurements |
US8869038B2 (en) * | 2010-10-06 | 2014-10-21 | Vistracks, Inc. | Platform and method for analyzing real-time position and movement data |
US20140132623A1 (en) * | 2011-05-06 | 2014-05-15 | SynerScope B.V. | Data analysis system |
US8768804B2 (en) | 2011-05-06 | 2014-07-01 | SynerScope B.V. | Data analysis system |
US9076259B2 (en) | 2011-09-14 | 2015-07-07 | Imagine Communications Corp | Geospatial multiviewer |
US20130085018A1 (en) | 2011-09-30 | 2013-04-04 | My Line Golf, Inc. | Systems and methods for displaying a golf green and a predicted path of a putt on the golf green |
US9400600B2 (en) | 2011-12-16 | 2016-07-26 | Samsung Electronics Co., Ltd. | Method, apparatus, and graphical user interface for providing visual effects on a touchscreen display |
US9472015B2 (en) * | 2012-05-15 | 2016-10-18 | Sap Se | Real-time visualization of transactional data objects |
US9563663B2 (en) * | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US9363187B2 (en) * | 2012-11-28 | 2016-06-07 | Nvidia Corporation | Jitter buffering system and method of jitter buffering |
JP6173748B2 (ja) * | 2013-04-05 | 2017-08-02 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | データ動的表示装置、データ動的表示方法、及びデータ動的表示プログラム |
KR101558324B1 (ko) * | 2013-10-11 | 2015-10-13 | 주식회사 크루메이트 | 휴리스틱 항공조회 시스템 및 그 제공방법 |
US20150113018A1 (en) | 2013-10-17 | 2015-04-23 | Ut Battelle, Llc | Interactive visual analytics for situational awareness of social media |
US9948693B2 (en) | 2014-02-24 | 2018-04-17 | Ca, Inc. | Generic cloud service for publishing data to be consumed by RSS readers |
WO2016168661A1 (en) * | 2015-04-17 | 2016-10-20 | Level 3 Communications, Llc | Illicit route viewing system and method of operation |
US10459819B2 (en) * | 2015-09-21 | 2019-10-29 | Splunk Inc. | Circular timeline displays of timestamped event data |
US20170221067A1 (en) * | 2016-01-29 | 2017-08-03 | International Business Machines Corporation | Secure electronic transaction |
US20170351753A1 (en) * | 2016-06-03 | 2017-12-07 | Icharts, Inc. | Semantic layers for secure interactive analytic visualizations |
US10542060B2 (en) | 2016-09-19 | 2020-01-21 | Ebay Inc. | Interactive real-time visualization system for large-scale streaming data |
-
2017
- 2017-09-18 US US15/707,529 patent/US10542060B2/en active Active
- 2017-09-19 KR KR1020197007978A patent/KR102231174B1/ko active IP Right Grant
- 2017-09-19 CN CN201780057403.1A patent/CN109716316B/zh active Active
- 2017-09-19 JP JP2019514311A patent/JP6915051B2/ja active Active
- 2017-09-19 CN CN202311743398.3A patent/CN117909390A/zh active Pending
- 2017-09-19 EP EP17851774.4A patent/EP3516532A4/en not_active Withdrawn
- 2017-09-19 WO PCT/US2017/052227 patent/WO2018053490A1/en unknown
- 2017-09-19 KR KR1020217007970A patent/KR102379640B1/ko active IP Right Grant
-
2019
- 2019-12-12 US US16/712,849 patent/US11503097B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6690371B1 (en) * | 2000-05-03 | 2004-02-10 | Ge Medical Systems Global Technology, Llc | Relevant image data extraction from a medical image data volume |
US8799799B1 (en) * | 2013-05-07 | 2014-08-05 | Palantir Technologies Inc. | Interactive geospatial map |
Non-Patent Citations (1)
Title |
---|
周宁.河南大学本科生优秀论文集.《河南大学出版社》,2007,第521页. * |
Also Published As
Publication number | Publication date |
---|---|
CN117909390A (zh) | 2024-04-19 |
US10542060B2 (en) | 2020-01-21 |
JP2019535066A (ja) | 2019-12-05 |
KR102231174B1 (ko) | 2021-03-24 |
WO2018053490A1 (en) | 2018-03-22 |
US20180084024A1 (en) | 2018-03-22 |
US20200120151A1 (en) | 2020-04-16 |
EP3516532A1 (en) | 2019-07-31 |
KR20210032564A (ko) | 2021-03-24 |
JP6915051B2 (ja) | 2021-08-04 |
EP3516532A4 (en) | 2019-08-07 |
CN109716316A (zh) | 2019-05-03 |
KR20190040039A (ko) | 2019-04-16 |
KR102379640B1 (ko) | 2022-03-28 |
US11503097B2 (en) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109716316B (zh) | 流数据的交互式实时可视化 | |
KR102534637B1 (ko) | 증강 현실 시스템 | |
CN107924590B (zh) | 增强现实系统中的基于图像的跟踪 | |
US11557324B2 (en) | Processing and formatting video for interactive presentation | |
US11159743B2 (en) | Processing and formatting video for interactive presentation | |
US20170206707A1 (en) | Virtual reality analytics platform | |
CN113939850A (zh) | 语义纹理映射系统 | |
US11915400B2 (en) | Location mapping for large scale augmented-reality | |
US20230011686A1 (en) | Crowd sourced mapping system | |
CN110089117B (zh) | 处理和格式化视频用于交互式呈现 | |
CN114365198A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |