专利名称:将文档、电子邮件附件和地图流传输到无线设备的方法和系统的利记博彩app
技术领域:
本发明涉及将包括文档、电子邮件附件和地图的矢量图流传输到无线设备。
背景技术:
因特网流传输是这样一种发送数字媒体的技术,其中,可在接收机处在接收到媒体时播放媒体,不需要将媒体文件存储到盘中。流传输实现了数字领域的现场广播,与模拟领域的无线电和电视广播类似。
传统地,流传输用于基于时间的媒体,包括数字音频和数字视频。用户可在其客户计算机从服务器计算机接收到数据时,聆听从音频数据产生的音乐并观看从视频数据产生的电影,而不需要将音频文件或视频文件存储在客户计算机上。由于在客户处接收到附加数据,所以提前播放音乐和视频。
图像流传输是针对非基于时间媒体的新范例,其对于可交互式地查看且需要存储大量数据的图像和其它媒体是有用的。尽管图像是单幅的,不是按照时间顺序的,但是能够在接收到图像数据时交互式地查看图像而不需要将图像数据存储到文件中是非常有利的。
高质量光栅图像通常不以其全分辨率在计算机显示屏上显示。而是,完全显示低分辨率版本的图像,或者部分显示高分辨率版本。用户可通过以更高分辨率来放大图像的更小部分,通过以更低分辨率来缩小图像的较大部分,或者通过在固定分辨率内上下左右摇镜头(panning),来交互式地查看图像的不同部分。
图像流传输包括响应于用户的交互式查看请求,将图像数据从服务器计算机发送到客户计算机,使得客户具有以当前请求的分辨率显示图像的当前请求部分所需的数据。与通常按照时间顺序将数据推送到客户的音频和视频流传输不同的是,图像流传输通常根据各个用户导航,按照“基于请求”顺序来从服务器拉(pull)数据。因此,在第一用户可按照其自身的顺序在图像内导航时,第二用户可按照不同的顺序导航。在每一种情况下,将“刚刚够的数据”流传输到每个用户,以便满足每个用户的交互式请求。
对于光栅图像,通过以不同分辨率产生多个版本的光栅图像,并以每种分辨率将图像分为矩形局部图像小片区域,来实现图像流传输。通过识别并发送一个或多个适当的局部图像小片区域,来满足针对特定分辨率的图像的特定部分的用户请求。
可使用多种架构,包括服务器端呈现、客户端呈现以及混合服务器端和客户端呈现,来实现图像流传输。对于每个交互式用户请求,服务器端呈现需要服务器将适当的局部图像小片区域组合在一起,并适当地剪切和重新缩放组合图像,以产生单个JPEG图像。服务器端呈现的优点在于,可针对运行传统网络浏览器的任意客户计算机实现图像流传输,即在客户端不需要特别的软件。客户端呈现将图像处理负担从服务器转移到客户。作为原始未处理的数据,将适当的局部图像小片区域从服务器发送到客户,并且由客户进行处理工作,以将局部图像小片区域组合。客户端呈现的优点是客户处的更快的性能。
传统的基于时间的音频和视频流传输与非基于时间的图像流传输之间的显著不同在于,再次出现呈现的数据。具体地,音频和视频序列通常按照一次通过正向播放的顺序呈现,而相同的数据通常不会呈现多次。然而,图像导航的特征在于重现。在放大和缩小以及上下左右摇动时,用户经常一次又一次返回相同的数据。典型地,当用户在图像内导航时,相同的局部图像小片区域呈现多次。同样地,图像流传输性能极大地受益于小片高速缓存。
Guedalia的美国专利No.5968120描述了通过发送局部图像小片的图像流传输。Guedalia的美国专利No.6171970和No.6356283描述了服务器端的图像流传输的实施例,其通过使用因特网成像协议,在HTML页面内修改对图像文件的标注,来进行操作。
Guedalia的美国专利No.6536043和Guedalia等的美国专利No.6721952描述了逐级图像流传输,其中,传输连续块的图像数据,每个连续块用于升级呈现图像的质量。
Guedalia的美国专利NO.6745226描述了一种用于发送图像数据的推拉方法和系统,其中,将低质量版本图像的数据推送到用户的桌面,并且根据用户请求来随意拉用于升级图像质量的数据。
随着无线设备的出现以及较大数字文件的发送时间的成本,更实用的是分发大图形的矢量图而不是光栅图像。矢量图通常包括基矢量,也称为矢量对象,例如点、线和面,而光栅图像通常包括象素颜色值的阵列。矢量对象通常由属性规定,这些属性尤其包括颜色、风格和一个或多个控制点的属性。同样地,对于大图形,矢量图文件通常远小于其对应的光栅图像文件。
此外,矢量图对于可以多种比例查看的地图,例如GPS系统显示的地图,具有重要意义。
由于实际字体通常表示为矢量对象,所以矢量图对于有很多文本格式的文档也具有重要意义。多数当今的无线设备,例如蜂窝电话,不具有呈现例如WORD和PDF文档的多文本文档的能力。而是,将文档转换为纯ASCII文本。例如,如果用户在其蜂窝电话上接收到具有WORD文档附件的电子邮件,则通常以纯文本来显示WORD文档。
无线设备不能够呈现多文本文档不是由于无线通信或无线设备处理器固有的限制。而不能够呈现多文本文档的主要原因是无线接收这种文档并存储在存储器中所需的下载时间的缺陷。显然,应该将图像流传输用于消除该缺陷。图像流传输使客户设备能够在客户处接收到文档的数据时按照请求呈现部分文档,而不需要将整个文档存储在存储器中。
然而,传统图像流传输应用程序仅流传输光栅图像,而不流传输矢量图。使用传统技术,在可从服务器计算机流传输到客户计算机之前,必须首先将矢量图转换为光栅图像。这种转换显然消除了矢量图相对于光栅图像的尺寸优势。
因此,需要一种应用程序,能够流传输矢量图,而不需要转换为光栅图像,从而可由用户按照请求交互式地查看矢量图。
发明内容
本发明提供一种用于流传输诸如可缩放矢量图(SCG)之类的包括地图和多文本文档的矢量图的方法和系统。本发明的方法和系统可使用多种软件和硬件架构来实现,包括服务器端呈现和客户端呈现,并且对于有效地将矢量图流传输到无线设备尤其有利。
本发明包括两级处理,在第一级中,将矢量图预处理为分片的多维数据结构,在第二级中,将预处理图像的小片区域用于按照请求来交互式地流传输矢量图。
本发明对于将多文本文档、电子邮件附件和地图流传输到无线设备尤其有用。
尽管矢量对象本身与分辨率无关,并可以任意分辨率等级来呈现,但是本发明实现矢量对象的分辨率依赖性可见度。因此,诸如地图内的注释或细节之类的矢量对象被规定为仅可在所选等级的分辨率下看见。
因此,根据本发明的优选实施例,提供一种用于将矢量图流传输到无线设备的方法,包括从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;确定放置哪些基矢量以便与所请求的矩形部分交迭;剪切与该部分交迭的基矢量;以及发送与该部分交迭的剪切的基矢量。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到无线设备的方法,包括从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;针对放置以与所请求部分交迭的每个基矢量,在用所请求部分剪切该基矢量时确定剪切的基矢量,进一步确定规定剪切的基矢量所需的数据需要的字节是否多于阈值字节大小,如果所述进一步确定是肯定的,则将矢量图的所请求部分光栅化,以产生光栅图像部分,并发送光栅图像部分,否则发送剪切的基矢量。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到无线设备的系统,包括接收机,用于从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;图形处理器,用于(i)确定放置哪些基矢量以便与所请求矩形部分交迭,以及(ii)剪切与该部分交迭的基矢量;以及发送机,用于发送与该部分交迭的剪切的基矢量。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到无线设备的系统,包括接收机,用于从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;图形处理器,与所述接收机相连,用于(i)针对放置以与所请求部分交迭的每个基矢量,在用所请求部分剪切该基矢量时确定剪切的基矢量,(ii)进一步确定规定剪切的基矢量所需的数据需要的字节是否多于阈值字节大小,以及(iii)如果所述进一步确定是肯定的,则将矢量图的所请求部分光栅化,以产生光栅图像部分;以及发送机,与所述图形处理器相连,用于根据所述进一步确定是否是肯定的,分别发送光栅图像部分或剪切的基矢量。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;确定放置哪些基矢量以便与所请求矩形部分交迭;剪切与该部分交迭的基矢量;以及发送与该部分交迭的剪切的基矢量。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;针对放置以与所请求部分交迭的每个基矢量,在用所请求部分剪切该基矢量时确定剪切的基矢量,进一步确定规定剪切的基矢量所需的数据需要的字节是否多于阈值字节大小,如果所述进一步确定是肯定的,则将矢量图的所请求部分光栅化,以产生光栅图像部分,并发送光栅图像部分,否则发送剪切的基矢量。
根据本发明的优选实施例,还提供一种用于预处理矢量图的方法,包括接收矢量图的数据,矢量图数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表,对于其中局部矩形区域与分辨率等级相关联的矢量图的多个局部矩形区域中的每个局部区域,确定与全局矢量对象同该局部区域的交集相对应的局部矢量对象,并且对于多个局部矩形区域中的每个局部区域,将其局部矢量对象的描述存储在计算机存储器中。
根据本发明的优选实施例,还提供一种用于预处理矢量图的方法,包括接收多个矢量图的数据,多个矢量图对应于动画序列,并且每个矢量图的数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表,对于其中局部矩形区域与分辨率等级相关联的第一矢量图的多个局部矩形区域中的每个局部区域,确定与第一矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象,将该局部矢量对象的散列值存储在编索引的查找表中,将编索引的查找表存储在计算机存储器中,对于第一矢量图之后的至少一个连续矢量图,并且对于多个局部矩形区域中的每个局部区域,确定与该连续矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象,确定连续矢量图的哪些局部矢量对象已经存储在查找表中,对于已经存储在查找表中的局部矢量对象,将其查找表索引存储在计算机存储器中,而对于尚未存储在查找表中的局部矢量对象,将局部矢量对象的描述存储在计算机存储器中。
根据本发明的优选实施例,还提供一种用于预处理矢量图的系统,包括矢量图处理器,用于预处理矢量图数据,矢量图数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表;局部矢量对象产生器,用于对于其中局部矩形区域与分辨率等级相关联的矢量图的多个局部矩形区域中的每个局部区域,确定与全局矢量对象同该局部区域的交集相对应的局部矢量对象;以及数据记录器,用于对于每个局部区域,将局部矢量对象的描述存储在计算机存储器中。
根据本发明的优选实施例,还提供一种用于预处理矢量图的系统,包括矢量图处理器,用于预处理多个矢量图的数据,多个矢量图对应于动画序列,并且每个矢量图的数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表;局部矢量对象产生器,用于(i)对于其中局部矩形区域与分辨率等级相关联的第一矢量图的多个局部矩形区域中的每个局部区域,确定与第一矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象,以及(ii)对于第一矢量图之后的至少一个连续矢量图,并且对于多个局部矩形区域中的每个局部区域,确定与该连续矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象;查找表产生器,用于将局部矢量对象的散列值记录在编索引的查找表中;以及数据记录器,用于(i)将编索引的查找表存储在计算机存储器中,(ii)确定连续矢量图的哪些局部矢量对象已经存储在查找表中,(iii)对于已经存储在查找表中的局部矢量对象,将其查找表索引存储在计算机存储器中,而(iv)对于尚未存储在查找表中的局部矢量对象,将局部矢量对象的描述存储在计算机存储器中。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到客户计算机的方法,包括访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,其中每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收针对以所希望的象素显示分辨率来显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;以及将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到客户计算机的方法,包括访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收针对以所希望的象素显示分辨率来显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;根据与所述至少一个局部矩形区域相关联的局部矢量对象,以所希望的显示分辨率来产生矢量图的希望部分;以及将矢量图的希望部分发送到客户计算机。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到客户计算机的方法,包括访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收指定多个局部矩形区域中的至少一个矩形区域的请求;以及将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
根据本发明的优选实施例,还提供一种用于交互式地查看矢量图的方法,包括指示以规定分辨率显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中确定适用于产生矢量图的希望部分的预处理矢量图的局部矩形区域,其中预处理矢量图是从矢量图中产生的,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;向服务器计算机请求预处理矢量图的至少一个矩形区域;从服务器计算机接收与预处理矢量图的所请求的至少一个矩形区域相关联的局部矢量对象;以及使用所接收的局部矢量对象来产生矢量图的希望部分。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到客户计算机的系统,包括接收机,用于从客户计算机的用户接收针对以所希望象素显示分辨率显示矢量图的希望部分的请求;矢量图适配器,用于(i)访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,其中每个局部矢量对象与局部矩形区域之一相关联,以及(ii)从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;以及发送机,用于将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到客户计算机的系统,包括接收机,用于从客户计算机的用户接收针对以所希望象素显示分辨率显示矢量图的希望部分的请求;矢量图适配器,用于(i)访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,其中每个局部矢量对象与局部矩形区域之一相关联,以及(ii)从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;矢量图处理器,用于根据与所述至少一个局部矩形区域相关联的局部矢量对象,以所希望的显示分辨率来产生矢量图的希望部分;以及发送机,用于将矢量图的希望部分发送到客户计算机。
根据本发明的优选实施例,还提供一种用于将矢量图流传输到客户计算机的系统,包括接收机,用于从客户计算机的用户接收指定多个局部矩形区域中的至少一个矩形区域的请求;矢量图适配器,用于访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;以及发送机,用于将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
根据本发明的优选实施例,还提供一种用于交互式地查看矢量图的系统,包括用户界面,用于解译以规定分辨率显示矢量图的希望部分的请求;发送机,用于向服务器计算机请求预处理矢量图的至少一个矩形区域,预处理矢量图是从矢量图中产生的,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;接收机,用于从服务器计算机接收与预处理矢量图的所请求的至少一个矩形区域相关联的局部矢量对象;以及矢量图处理器,用于(i)从多个局部矩形区域中确定适用于产生矢量图的希望部分的预处理矢量图的局部矩形区域,以及(ii)使用所接收的局部矢量对象来产生矢量图的希望部分。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码接收矢量图的数据,矢量图数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表,对于其中局部矩形区域与分辨率等级相关联的矢量图的多个局部矩形区域中的每个局部区域,确定与全局矢量对象同该局部区域的交集相对应的局部矢量对象,并且对于多个局部矩形区域中的每个局部区域,将其局部矢量对象的描述存储在计算机存储器中。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码接收多个矢量图的数据,多个矢量图对应于动画序列,并且每个矢量图的数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表,对于其中局部矩形区域与分辨率等级相关联的第一矢量图的多个局部矩形区域中的每个局部区域,确定与第一矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象,将该局部矢量对象的散列值存储在编索引的查找表中,将编索引的查找表存储在计算机存储器中,对于第一矢量图之后的至少一个连续矢量图,并且对于多个局部矩形区域中的每个局部区域,确定与该连续矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象,确定连续矢量图的哪些局部矢量对象已经存储在查找表中,对于已经存储在查找表中的局部矢量对象,将其查找表索引存储在计算机存储器中,而对于尚未存储在查找表中的局部矢量对象,将局部矢量对象的描述存储在计算机存储器中。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,其中每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收针对以所希望的象素显示分辨率来显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;以及将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收针对以所希望的象素显示分辨率来显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;根据与所述至少一个局部矩形区域相关联的局部矢量对象,以所希望的显示分辨率来产生矢量图的希望部分;以及将矢量图的希望部分发送到客户计算机。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收指定多个局部矩形区域中的至少一个矩形区域的请求;以及将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码指示以规定分辨率显示矢量图的希望部分的请求;从多个局部矩形区域中确定适用于产生矢量图的希望部分的预处理矢量图的局部矩形区域,其中预处理矢量图是从矢量图中产生的,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;向服务器计算机请求预处理矢量图的至少一个矩形区域;从服务器计算机接收与预处理矢量图的所请求的至少一个矩形区域相关联的局部矢量对象;以及使用所接收的局部矢量对象来产生矢量图的希望部分。
根据本发明的优选实施例,还提供一种用于交互式地查看矢量动画序列的方法,包括接收存储了与第一矢量图的小片区域相关联的多个局部矢量对象的编索引的查找表;指示以规定分辨率显示第二矢量图的希望部分的请求;从预处理矢量图的多个小片区域中确定适用于产生第二矢量图的希望部分的预处理矢量图的小片区域,其中预处理矢量图是从第二矢量图中产生的,预处理矢量图包括多个小片区域和多个局部矢量对象,每个局部矢量对象与小片区域之一相关联;向服务器计算机请求预处理矢量图的至少一个小片区域;从服务器计算机接收与预处理矢量图的所请求的至少一个小片区域相关联的局部矢量对象和局部矢量对象索引;根据从服务器计算机接收到的局部矢量对象索引,从编索引的查找表中提取局部矢量对象;以及使用所接收的局部矢量对象和所提取的局部矢量对象来产生第二矢量图的希望部分。
根据本发明的优选实施例,还提供一种用于交互式地查看矢量动画序列的系统,包括接收机,用于(i)接收存储了与第一矢量图的小片区域相关联的多个局部矢量对象的编索引的查找表,以及(ii)从服务器计算机接收与预处理矢量图的至少一个所请求小片区域相关联的局部矢量对象和局部矢量对象索引,其中预处理矢量图是从第二矢量图中产生的,预处理矢量图包括多个小片区域和多个局部矢量对象,每个局部矢量对象与小片区域之一相关联;矢量图适配器,用于根据从服务器计算机接收到的局部矢量对象索引,从编索引的查找表中提取局部矢量对象;用户界面,用于指示以规定分辨率显示第二矢量图的希望部分的请求;矢量图处理器,用于(i)确定适用于产生第二矢量图的希望部分的预处理矢量图的小片区域,以及(ii)使用所接收的局部矢量对象和所提取的局部矢量对象来产生第二矢量图的希望部分;以及发送机,用于向服务器计算机请求预处理矢量图的至少一个小片区域。
根据本发明的优选实施例,还提供一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码接收存储了与第一矢量图的小片区域相关联的多个局部矢量对象的编索引的查找表;指示以规定分辨率显示第二矢量图的希望部分的请求;从预处理矢量图的多个小片区域中确定适用于产生第二矢量图的希望部分的预处理矢量图的小片区域,其中预处理矢量图是从第二矢量图中产生的,预处理矢量图包括多个小片区域和多个局部矢量对象,每个局部矢量对象与小片区域之一相关联;向服务器计算机请求预处理矢量图的至少一个小片区域;从服务器计算机接收与预处理矢量图的所请求的至少一个小片区域相关联的局部矢量对象和局部矢量对象索引;根据从服务器计算机接收到的局部矢量对象索引,从编索引的查找表中提取局部矢量对象;以及使用所接收的局部矢量对象和所提取的局部矢量对象来产生第二矢量图的希望部分。
结合附图,从下面的详细说明中,可更加完整地理解和认识本发明,附图中图1A是根据本发明优选实施例的矢量图的多分辨率小片区域的简化视图;图1B是根据本发明优选实施例的图1A的变体,包括具有分辨率依赖性可见度的矢量对象;图2是根据本发明的优选实施例,用于对矢量图进行预处理并从中产生分片的多分辨率矢量图、以及从服务器流传输到客户计算机的方法的简化流程图;图3是根据本发明的优选实施例,用于使多分辨率小片数据稀疏以进行高效流传输的方法的简化流程图;图4是根据本发明优选实施例的矢量图流传输的服务器端实现的简化流程图;图5是根据本发明优选实施例的矢量图流传输的客户端实现的简化流程图;图6是根据本发明优选实施例的图像流传输系统的组件的简化方框图;以及图7是根据本发明的优选实施例,用于将局部矢量对象存储在多分辨率小片区域中以便在流传输矢量动画中高效使用的数据结构的简化图。
具体实施例方式
本发明涉及一种将诸如可缩放矢量图形(SVG)之类的矢量图从服务器计算机流传输到多个客户计算机的方法和系统。
优选地,本发明实现在传统客户和服务器计算机的网络中,其中服务器计算机向客户计算机分发媒体。服务器和客户计算机可以是传统的设备,每个都包括中央处理单元、用于存储程序和数据的存储单元、包括鼠标和键盘的输入设备以及输出显示设备。优选地,使用传统数据总线将中央处理单元、存储单元和鼠标、键盘和显示器的设备驱动器通信地连接在一起。优选地,服务器计算机运行网络服务器软件,而客户计算机运行网络浏览器软件。
从下面的说明中可以认识到,本发明可有利地实现在移动计算设备中,所述移动计算设备包括个人数据助理(PDA)、移动媒体播放器和蜂窝电话,只要这些设备包括处理装置、程序和数据存储装置以及互相通信的输入和显示装置。
如下面所述的,本发明包括两级处理,即预处理级和图像流传输级。
预处理根据本发明的优选实施例,将要流传输的矢量图预处理为分片的多分辨率数据结构。具体地,产生按照全局矢量对象列表编码的原始矢量图的多个分辨率,并且将每个这种分辨率划分为矩形小片区域的格子。例如,可以以七个象素分辨率等级来产生矢量图,即(等级1)200×300象素、(等级2)400×600象素、(等级3)800×1200象素、(等级4)1600×2400象素、(等级5)3200×4800象素、(等级6)6400×9600象素以及(等级7)12800×19200象素。将每个这种分辨率等级分为100×100象素的相邻小片区域。
可以认识到,矢量对象通常与分辨率无关。同样地,可以以任意所希望的分辨率来产生矢量对象。因此,与光栅图像不同,矢量图不具有“实际”分辨率。而是,如果将矢量图的维度归一化,使得图像具有1.0单位的宽度和高度,则每个100×100小片区域对应于1.0×1.0单位平方的归一化矩形。在等级1,每个小片区域具有0.5×0.3333333的归一化维度,并且整个图像包括这种小片区域的2×3阵列。在等级2,每个小片区域具有0.25×0.1666667的归一化维度,并且整个图像包括这种小片区域的4×6阵列。在等级7,每个小片区域具有0.0078125×0.0052083的归一化维度,并且整个图像包括这种小片区域的128×192阵列。可以认识到,随着分辨率按照等级逐渐增加,每个100×100象素小片区域包括整个图像的越来越小的部分。每个独立的小片区域对应于特定等级的分辨率,并且对应于单位平方的归一化子区域。
可以认识到,分辨率等级数和每个分辨率等级的象素维度是任意的,并且可由参数来规定。类似地,小片区域的大小可对于不同分辨率等级不同。
优选地,在数据结构中,将每个100×100象素小片区域规定为局部矢量对象列表,由被称为全局矢量对象的原始矢量图的矢量对象与对应于小片区域的区域的交集确定。即,通过用小片区域剪切全局矢量对象,产生与小片区域相关联的局部矢量对象。通常,原始矢量图中的一些全局矢量对象完全不与小片区域相交。因此,将每个小片区域编码为其自身局部矢量对象的列表,这些局部矢量对象与一些全局矢量对象和小片区域的交集相对应。
在低等级的分辨率下,一些局部矢量对象可减小为单个象素大小。根据本发明的优选实施例,在这种情况下,将局部矢量对象编码为包含该象素的小片区域中的单个象素。
类似地,随着分辨率等级变高,一些附加细节变得可见,例如地图中的街道和马路或者注释。相反地,随着分辨率等级变高,在将地图放大为局部相邻等级时不需要呈现的一些细节被省略,例如国界。根据本发明的优选实施例,可以将全局矢量对象指定为仅以规定分辨率出现。即使这种全局矢量对象与小片区域相交,这种全局矢量对象也不会被剪切以用于对应于非指定分辨率等级的小片区域。
此外,在高分辨率等级下,也许不同全局矢量对象在单个小片区域内具有相同的交集。具体地,如果局部矢量对象具有相同的属性,这些属性包括颜色、风格和控制点,则认为交集是相同的。根据本发明,消除了重复的局部矢量对象。
在低分辨率小片区域内将矢量对象编码为单个象素,从低分辨率小片区域中去除规定为在这种分辨率下不可见的矢量对象,并消除重复的矢量对象交集,这些用于使对各个小片区域进行编码的矢量对象列表“稀疏(thin out)”,并减小所产生的小片多分辨率数据结构的整体大小。
现在参考图1A,图1A是根据本发明优选实施例的矢量图的多分辨小片区域的简化视图。图1A中示出了三个分区,从粗略分区110到精细分区120到更精细分区130。每个分区分别包括矩形小片区域140、150和160。这些矩形区域在这里被称为小片区域。通过将100×100象素的象素维度分配给小片区域,则每个小片区域对应于矢量图的规定分辨率。因此,小片区域140对应于宽度和高度为小片区域150的全局分辨率的两倍的全局分辨率,类似地,小片区域150对应于宽度和高度为小片区域140的全局分辨率的两倍的全局分辨率。具体地,如果小片区域140、150和160每个都是100×100象素,则小片区域140对应于400×400象素的全局分辨率,小片区域150对应于800×800象素的全局分辨率,小片区域160对应于1600×1600象素的全局分辨率。
根据本发明的优选实施例,可以将一个或多个全局矢量对象规定为仅在特定分辨率等级下可见。尽管矢量对象本质上与分辨率无关,而可以以任意分辨率等级呈现,但是本发明实现矢量对象的分辨率依赖性可见度。
现在参考图1B,图1B是根据本发明优选实施例的图1A的变体,包括具有分辨率依赖性可见度的矢量对象。具体地,大星形对象170仅在分区110的低分辨率下可见,精细印刷注释180仅在分区130的高分辨率下可见。本领域的技术人员可认识到,如果没有分辨率依赖性可见度,则分区110、120和130的每个的区域数据将包含相同的信息。
现在参考图2,图2是根据本发明的优选实施例,用于对矢量图进行预处理并从中产生分片的多分辨率矢量图、以及从服务器流传输到客户计算机的方法的简化流程图。流程图的输入是编码为全局矢量对象列表的原始矢量图。如图2所示,处理开始于步骤200。在步骤205处,获取确定分辨率等级数、不同分辨率等级的象素维度以及小片区域大小的参数。
在步骤210、215和220处,处理从最高分辨率等级到最低分辨率等级循环,并在小片区域中循环。对于每个小片区域,在步骤225处,根据当前被处理的分辨率等级的象素维度,确定与小片的位置和大小相对应的边界矩形。在步骤230处,确定全局矢量对象与当前边界矩形的交集,将其编码为局部矢量对象,并导入当前小片的局部矢量对象列表。循环围绕步骤235、240和245,并且处理在步骤250处结束。优选地,流程图的输出是分片的多分辨率图像的数据结构,包括每个多分辨率小片区域的局部矢量对象列表,与原始矢量图相对应。
现在参考图3,图3是根据本发明的优选实施例,用于使多分辨率小片数据稀疏以进行高效流传输的方法的简化流程图。图3的流程图的输入是图2的流程图的输出;即分片的多分辨率图像的数据结构。图3的过程在每个分辨率等级下的小片区域中循环,并使用于对小片进行编码的局部矢量对象列表稀疏。
具体地,图3开始于步骤300。在步骤305处,获取针对分辨率等级数、每个分辨率等级的象素维度以及小片区域维度的参数。此外,在步骤305处还获取针对分辨率依赖性数据的参数。这些参数规定了全局矢量对象可见的分辨率。处理在分辨率等级以及每个分辨率等级的区域中循环,即在步骤310、315和320中循环。在步骤325处,消除当前小片区域的重复局部矢量对象。在步骤330处,如果局部矢量对象是从指定为在当前分辨率等级下不可见的全局矢量对象中剪切的,则去除局部矢量对象。在步骤335处,用单个象素代替减小而处于单个象素内的局部矢量对象。图3的过程在步骤340、345和350的循环中循环,并在步骤355处终止。优选地,图3的流程图的输出是已处理的分片多分辨率图像的稀疏数据结构。
交互式流传输在图2和图3的预处理级之后,可将产生的分片多分辨率矢量图从服务器计算机流传输到多个客户计算机,以便交互式地查看。对于光栅图像的流传输,可实现服务器端或客户端处理或者混合的服务器端与客户端处理。对于服务器端处理,以规定象素分辨率请求单位平方内的感兴趣的归一化区域(也称为部分),并且优选地,服务器返回根据与请求相对应的规定格式(例如SVG)格式化的单个图像。
对于客户端处理,请求一个和多个小片区域,并且客户执行处理来组合各个小片。因此,客户可将小片光栅化为光栅图像小片以用于显示。
对于光栅图像的流传输,可高速缓存各个矢量小片,以用于当前会话或以后会话中的后期获取。
现在参考图4,图4是根据本发明优选实施例的矢量图流传输的服务器端实现的简化流程图。图4的最左一列描述了由交互式地查看矢量图的客户计算机执行的步骤。图4的最右一列描述了按照请求将矢量图数据流传输到客户计算机的服务器计算机所执行的步骤。
图4所示的工作流程是重复的,包括以下基本机制做出查看矢量图的一部分的交互式请求;准备所请求的部分;以及显示该部分。在显示矢量图的该部分之后,处理返回以请求矢量图的不同部分。在本发明的优选实施例中,通过将用户动作解译为命令的用户界面将每个这种请求输入客户计算机。例如,为了发出放大矢量图的请求,用户可点击所显示图像的一部分来请求该部分的放大视图,或者可点击放大镜的图标,或者可在所显示的矢量图的一部分周围画出矩形来指定感兴趣的区域,以便放大该图像,从而调整感兴趣的区域的大小以填充显示区。
假设在图4中,将要流传输和交互式查看的矢量图预处理为包括根据局部小片区域编索引的局部矢量对象的分片多维度数据结构。优选地,根据以上参考图2和3所述的方法来执行预处理。然而,本领域的技术人员可认识到,可在流传输矢量图的部分时,在传输过程中执行这种预处理。
在步骤410处,客户计算机向服务器计算机发出针对所希望象素分辨率(即出现矢量图的显示窗口的象素分辨率)下的矢量图的感兴趣区域或部分的请求。优选地,由客户计算机的用户通过图形用户界面来做出请求。在步骤420处,服务器计算机确定预处理矢量图的哪些局部小片区域被需要或适用于产生矢量图的所请求部分。在步骤430处,服务器计算机从预处理矢量图中获取有关的局部小片数据;即与有关的局部小片区域相关联的局部矢量对象。在步骤440处,服务器计算机将局部小片数据组合,并产生所请求的矢量部分。根据本发明的优选实施例,所请求的矢量图部分按照例如可缩放矢量图形(SVG)的标准图像格式格式化。这种图像格式可由客户计算机浏览器解译和处理,而不需要附加客户软件。
在步骤450处,服务器计算机以标准图像格式发送矢量图的所请求部分。在步骤460处,客户计算机接收所请求部分。在步骤470处,客户计算机优选地使用标准网络浏览器来呈现所请求部分,并在与客户计算机相连的计算机监视器上显示该部分。在查看所显示的图像部分之后,客户计算机的用户可交互式地请求查看不同部分,并且处理返回步骤410。
现在参考图5,图5是根据本发明优选实施例的矢量图流传输的客户端实现的简化流程图。与图4相同,图5的最左一列描述了客户计算机所执行的步骤,图5的最右一列描述了服务器计算机所执行的步骤。与图4相同,图5所述的工作流程是周期性的(recurrent),并且随着用户重复地请求查看矢量图的不同部分而循环。与图4相比,可见,在图5中,多个图像处理步骤位于客户端而不是服务器端。
与图4的流程图相同,图5的流程图也假设将用户要交互式地查看的矢量图预处理为分片的多分辨率矢量图,如结合图2和3所述的。还假设在图5中,客户计算机具有补充网络浏览器的附加软件,用于执行图5的客户端步骤。
在步骤510处,客户计算机识别用户请求以所希望的象素分辨率(即显示区域的象素分辨率)查看的矢量图的一部分。优选地,通过将诸如鼠标和键盘动作之类的用户动作解译为用户请求的用户界面来执行步骤510。在步骤520处,客户计算机确定预处理矢量图的哪些局部小片区域被需要或适用于产生所希望分辨率的矢量图的所请求部分。为了客户计算机能够识别有关局部小片区域,优选地在客户计算机上运行的软件知道预处理矢量图的参数,特别包括预处理矢量图的小片区域维度和分辨率等级。
在步骤530处,客户计算机检查其小片高速缓存器,来查看有关局部小片区域的一些或所有数据是否已经存储在其小片高速缓存器中。在步骤540处,客户计算机请求服务器计算机提供未驻留在客户小片高速缓存器中的那些局部小片区域的数据。在步骤550处,服务器计算机从预处理矢量图中获取所请求的局部小片区域。在步骤560处,服务器计算机将小片区域的所请求数据发送到客户计算机。根据本发明的优选实施例,为了效率,服务器560将多个小片区域的数据捆绑在单个分组中,该分组可在单个网络请求的开销中发送和拆包。
在步骤570处,客户计算机接收到小片区域的数据,在步骤580处,客户计算机组合该数据,以产生所希望分辨率的矢量图的所请求部分。在步骤590处,客户计算机呈现并显示所请求部分。其后,用户可交互式地请求查看矢量图的不同部分,并且处理回到步骤510。
现在参考图6,图6是根据本发明优选实施例的图像流传输系统的组件的简化方框图。图6示出了包括基本矢量图预处理和流传输机构的模块。矢量图预处理器610接收矢量图,例如可缩放矢量图形(SVG)图像,作为输入,并产生分片的多分辨率版本的矢量图,作为输出,作为数据结构将其存储,如下面所述的,该数据结构包括根据矢量图的局部小片区域而编索引的局部矢量对象。矢量图预处理器610还接收包括局部矩形小片区域的维度和分辨率等级的预处理参数,作为输入。矢量图预处理器610的输出包括与用局部小片区域剪切的全局矢量对象相对应的局部矢量对象。因此,如果矢量图包括呈现顺序,则优选地预处理矢量图在每个局部小片区域中包括局部矢量对象导入的呈现矢量。
矢量图处理器620接收要以所希望分辨率来显示矢量图的一部分的请求,作为输入,并识别预处理矢量图的哪些局部小片区域被需要或适用于实现用户请求,作为输出。矢量图处理器620还接收预处理矢量图的参数,作为输入,包括局部矩形小片区域的维度和分辨率等级。
预处理矢量图适配器630适用于与预处理矢量图相接口。矢量图适配器630接收预处理矢量图或者一个或多个指示器,作为输入。矢量适配器630还接收局部小片区域的一个或多个标识符,作为输入。矢量适配器630访问预处理矢量图,并获取与所识别的局部小片区域相关联的数据,包括与该局部小片区域相关联的矢量对象。
矢量图处理器640接收与一个或多个局部小片区域相关联的数据,作为输入,并产生用户所希望的象素分辨率的组合图像,作为输出。优选地,矢量图处理器640的输出具有标准矢量格式,例如SVG,或者标准光栅格式,例如JPEG。标准网络浏览器因此能够呈现组合图像,而不需要附加软件。
从图6可见,矢量图处理器620和矢量图处理器640可驻留在客户计算机上或在服务器计算机上。对于服务器端的实现,图6所示的所有模块均驻留在服务器计算机上。客户计算机仅需要发出以所希望分辨率来查看矢量图的希望部分的请求,并且在服务器计算机处执行模块620、630以及640的所有处理。相反地,对于客户端的实现,模块620和640驻留在客户计算机上。服务器计算机仅需要接收包括一个或多个局部小片区域的标识符的请求,使用适配器530来获取与所识别的小片区域相关联的数据,并将所获取的数据发送到客户计算机。对于混合的服务器端和客户端的实现,矢量处理器620驻留在服务器计算机上,矢量处理器640驻留在客户计算机上。即,客户计算机向服务器计算机发出针对所希望分辨率的矢量图的一部分的请求,服务器计算机确定哪些小片区域是适用的,并将与这些小片区域相关联的局部矢量对象数据发送到客户,并且客户将局部矢量对象数据组合为矢量图的所请求部分。
本发明还广泛应用于以多种格式,包括多信息文档、电子表格、图标和演示文稿,将电子邮件附件流传输到无线设备。
在阅读上述说明中,本领域的技术人员可认识到,可对上述方法和系统进行多种显而易见的改变。因此,可在不对矢量图进行预处理的情况下实现本发明。而是,当用户请求矢量图的希望部分时,通过用合适区域来剪切全局矢量对象,在过程中动态地产生局部矢量对象。
本发明还可用于交互式地查看图像的非矩形部分,包括多边形、圆形和椭圆形部分。例如,用户可导航在椭圆形边界内显示的地图,在边界内沿各个方向摇镜头和缩放。
本发明还应用于矢量动画的流传输。具体地,当本发明用于作为动画的帧来流传输如SVG文档的矢量图时,对于多个帧,稀疏化过程优选地还去除在相同小片区域内出现的矢量。实际上,在高分辨率等级下,预计相同小片区域内的矢量对象同样出现在帧序列内。因此,通过避免连续帧的相同矢量对象的重发,实现了相当大的性能增益。
为了有效地确定当前动画帧的小片内的矢量对象是否出现在前一帧中,本发明优选地将第一动画帧的每个小片区域的矢量对象列表中的各个矢量对象的散列值存储在查找表中。即,查找表存储了动画的第一帧的每个多分辨率小片区域的每个矢量对象的散列关键字。对于每个连续帧,只要小片区域内的矢量对象已经出现在查找表中,则将该矢量对象编码为查找表中的索引,而不是编码为独立的矢量对象。
现在参考图7,图7是根据本发明的优选实施例,用于将局部矢量对象存储在多分辨率小片区域中以便在流传输矢量动画中高效使用的数据结构的简化图。图7示出了查找表710,查找表710存储了与小片区域相关联的局部矢量对象的散列值。优选地,查找表710由矢量动画中的帧序列的第一帧构成。此外,图7示出了矢量动画的第二帧中的小片区域的局部矢量对象的列表720。每个局部矢量对象按照属性(包括颜色、风格和控制点)传统地存储在查找表710中,或者按照索引存储在查找表710中。后一种表示用于在第一帧内具有相同对应部的第二帧的矢量对象。
在填充了散列值之后,将查找表710发送到交互式地查看动画的客户计算机。其后,当客户计算机接收到编码为诸如列表720之类的局部矢量对象列表的一个或多个小片时,客户能够通过从查找表中提取,而获取编码为表索引的那些局部矢量对象的属性。
对于相对较长的动画序列,与MPEG编码器中使用关键字帧的方式类似地,针对关键字帧来产生查找表710。关键字帧用于使查找表710保持为最新的,从而连续帧的局部矢量对象可能已经存储在了查找表中。关键字帧还用于使用户能够查看动画序列,而不需要从第一帧开始。
在上述说明书中,参考本发明的示范实施例描述了本发明。然而,显而易见的是,在不脱离所附权利要求所设定的本发明的广义精神和范围的情况下,可对特定的示范实施例进行多种修改和改变。因此,说明书和附图应该认为是示意性的而不是限制性的。
权利要求
1.一种用于将矢量图流传输到无线设备的方法,包括从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;确定放置哪些基矢量以便与所请求部分交迭;剪切与该部分交迭的基矢量;以及发送与该部分交迭的剪切的基矢量。
2.根据权利要求1所述的方法,其中,所请求部分是矩形部分。
3.根据权利要求1所述的方法,其中,所请求部分是非矩形部分。
4.根据权利要求3所述的方法,其中,非矩形部分是多边形部分。
5.根据权利要求3所述的方法,其中,非矩形部分是圆形部分。
6.根据权利要求3所述的方法,其中,非矩形部分是椭圆形部分。
7.根据权利要求1所述的方法,其中,基矢量与放大等级范围相关联以可视,其中,所请求部分和目标显示宽度和高度与用于显示的放大等级相对应,所述发送步骤发送其可视的有关放大等级范围包括用于显示的放大等级的基矢量。
8.根据权利要求1所述的方法,其中,矢量图还包括基矢量的显示顺序,所述确定步骤来确定被放置以便与所请求部分交迭的基矢量的导入显示顺序,所述发送步骤发送导入显示顺序。
9.根据权利要求1所述的方法,还包括对于矢量图的多个小片区域中的每个小片区域,产生被放置以便与该小片区域交迭的基矢量列表,所述确定步骤使用该列表来确定被放置以便与所请求部分交迭的基矢量。
10.根据权利要求1所述的方法,其中,基矢量包括点,所述确定步骤确定点是否位于所请求部分内。
11.根据权利要求1所述的方法,其中,基矢量包括线段,所述确定步骤确定线段是否穿过所请求部分。
12.根据权利要求1所述的方法,其中,基矢量包括曲线,所述确定步骤确定曲线是否穿过所请求部分。
13.根据权利要求12所述的方法,其中,基矢量包括Bezier曲线。
14.根据权利要求12所述的方法,其中,基矢量包括圆弧。
15.根据权利要求12所述的方法,其中,基矢量包括椭圆弧。
16.根据权利要求1所述的方法,其中,基矢量包括面,所述确定步骤确定面是否与所请求部分相交。
17.根据权利要求16所述的方法,其中,基矢量包括多边形的面。
18.根据权利要求16所述的方法,其中,基矢量包括圆面。
19.根据权利要求16所述的方法,其中,基矢量包括椭圆面。
20.根据权利要求16所述的方法,其中,基矢量包括字母数字字体,所述确定步骤确定字母数字字体是否放置来与所请求部分交迭。
21.一种用于将矢量图流传输到无线设备的方法,包括从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;针对被放置以与所请求部分交迭的每个基矢量,在用所请求部分剪切该基矢量时确定剪切的基矢量;进一步确定规定剪切的基矢量所需的数据需要的字节是否多于阈值字节大小,如果所述进一步确定是肯定的,则将矢量图的所请求部分光栅化,以产生光栅图像部分;以及发送光栅图像部分;否则发送剪切的基矢量。
22.根据权利要求21所述的方法,其中,所请求部分是矩形部分。
23.根据权利要求21所述的方法,其中,所请求部分是非矩形部分。
24.根据权利要求23所述的方法,其中,非矩形部分是多边形部分。
25.根据权利要求23所述的方法,其中,非矩形部分是圆形部分。
26.根据权利要求23所述的方法,其中,非矩形部分是椭圆形部分。
27.根据权利要求21所述的方法,其中,阈值字节大小是基于规定的每个象素的位数的。
28.根据权利要求21所述的方法,其中,阈值字节大小是基于与所请求部分相对应的放大等级以及显示宽度和高度的。
29.根据权利要求21所述的方法,其中,阈值字节大小是基于所述部分的维度的。
30.一种用于将矢量图流传输到无线设备的系统,包括接收机,用于从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;图形处理器,用于(i)确定放置哪些基矢量以便与所请求部分交迭,以及(ii)剪切与该部分交迭的基矢量;以及发送机,用于发送与该部分交迭的剪切的基矢量。
31.根据权利要求30所述的系统,其中,所请求部分是矩形部分。
32.根据权利要求30所述的系统,其中,所请求部分是非矩形部分。
33.根据权利要求32所述的系统,其中,非矩形部分是多边形部分。
34.根据权利要求32所述的系统,其中,非矩形部分是圆形部分。
35.根据权利要求32所述的系统,其中,非矩形部分是椭圆形部分。
36.根据权利要求30所述的系统,其中,基矢量与放大等级范围相关联以可视,其中,所请求部分和目标显示宽度和高度与用于显示的放大等级相对应,所述发送机发送其可视的有关放大等级范围包括用于显示的放大等级的基矢量。
37.根据权利要求30所述的系统,其中,矢量图还包括显示顺序,所述图形处理器确定被放置以便与所请求部分交迭的基矢量的导入显示顺序,所述发送机发送导入显示顺序。
38.根据权利要求30所述的系统,其中,所述图形处理器对于矢量图的多个小片区域中的每个小片区域,产生被放置以便与该小片区域交迭的基矢量列表,所述图形处理器使用该列表来确定被放置以便与所请求部分交迭的基矢量。
39.根据权利要求30所述的系统,其中,基矢量包括点,所述图形处理器确定点是否位于所请求部分内。
40.根据权利要求30所述的系统,其中,基矢量包括线段,所述图形处理器确定线段是否穿过所请求部分。
41.根据权利要求30所述的系统,其中,基矢量包括曲线,所述图形处理器确定曲线是否穿过所请求部分。
42.根据权利要求41所述的系统,其中,基矢量包括Bezier曲线。
43.根据权利要求41所述的系统,其中,基矢量包括圆弧。
44.根据权利要求41所述的系统,其中,基矢量包括椭圆弧。
45.根据权利要求30所述的系统,其中,基矢量包括面,所述图形处理器确定面是否与所请求部分相交。
46.根据权利要求45所述的系统,其中,基矢量包括多边形的面。
47.根据权利要求45所述的系统,其中,基矢量包括圆面。
48.根据权利要求45所述的系统,其中,基矢量包括椭圆面。
49.根据权利要求30所述的系统,其中,基矢量包括字母数字字体,所述图形处理器确定字母数字字体是否放置来与所请求部分交迭。
50.一种用于将矢量图流传输到无线设备的系统,包括接收机,用于从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;图形处理器,与所述接收机相连,用于(i)针对被放置以与所请求矩形部分交迭的每个基矢量,在用所请求部分剪切该基矢量时确定剪切的基矢量;(ii)进一步确定规定剪切的基矢量所需的数据需要的字节是否多于阈值字节大小,以及(iii)如果所述进一步确定是肯定的,则将矢量图的所请求部分光栅化,以产生光栅图像部分;以及发送机,与所述图形处理器相连,用于根据所述进一步确定是否是肯定的,分别发送光栅图像部分或剪切的基矢量。
51.根据权利要求50所述的系统,其中,所请求部分是矩形部分。
52.根据权利要求50所述的系统,其中,所请求部分是非矩形部分。
53.根据权利要求52所述的系统,其中,非矩形部分是多边形部分。
54.根据权利要求52所述的系统,其中,非矩形部分是圆形部分。
55.根据权利要求52所述的系统,其中,非矩形部分是椭圆形部分。
56.根据权利要求50所述的系统,其中,阈值字节大小是基于规定的每个象素的位数的。
57.根据权利要求50所述的系统,其中,阈值字节大小是基于与所请求部分相对应的放大等级以及显示宽度和高度的。
58.根据权利要求50所述的系统,其中,阈值字节大小是基于矩形部分的维度的。
59.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;确定放置哪些基矢量以便与所请求部分交迭;剪切与该部分交迭的基矢量;以及发送与该部分交迭的剪切的基矢量。
60.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;针对被放置以与所请求部分交迭的每个基矢量,在用所请求部分剪切该基矢量时确定剪切的基矢量;进一步确定规定剪切的基矢量所需的数据需要的字节是否多于阈值字节大小;以及如果所述进一步确定是肯定的,则将矢量图的所请求部分光栅化,以产生光栅图像部分;以及发送光栅图像部分;否则发送剪切的基矢量。
61.一种用于预处理矢量图的方法,包括接收矢量图的数据,矢量图数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表;对于其中局部矩形区域与分辨率等级相关联的矢量图的多个局部矩形区域中的每个局部区域,确定与全局矢量对象同该局部区域的交集相对应的局部矢量对象;以及对于多个局部矩形区域中的每个局部区域,将其局部矢量对象的描述存储在计算机存储器中。
62.根据权利要求61所述的方法,其中,多个局部矩形区域与图像的分区内的小片相对应,对于从相对精细到相对粗略的分区的多个分区分布,每个分区对应于分辨率等级。
63.根据权利要求62所述的方法,其中,全局矢量对象按照属性来规定,属性包括在矢量图内全局矢量对象可见的分辨率等级的可选指示符,局部矩形部分的局部矢量对象仅包括在与局部矩形区域相对应的分辨率等级下可见的那些全局矢量对象的交集。
64.根据权利要求61所述的方法,其中,全局矢量对象和局部矢量对象按照属性来规定,属性包括颜色、风格和至少一个控制点。
65.根据权利要求61所述的方法,还包括在所述存储步骤之前消除重复的局部矢量对象。
66.根据权利要求61所述的方法,还包括如果局部矢量对象局限于与局部矩形区域相对应的分辨率等级的单个象素内,则将局部矩形区域的局部矢量对象规定为单个象素。
67.根据权利要求61所述的方法,其中,矢量图是文档。
68.根据权利要求61所述的方法,其中,矢量图是地图。
69.一种用于预处理矢量图的方法,包括接收多个矢量图的数据,多个矢量图对应于动画序列,并且每个矢量图的数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表,对于其中局部矩形区域与分辨率等级相关联的第一矢量图的多个局部矩形区域中的每个局部区域,确定与第一矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象;将局部矢量对象的散列值记录在编索引的查找表中;将编索引的查找表存储在计算机存储器中;对于第一矢量图之后的至少一个连续矢量图,并且对于多个局部矩形区域中的每个局部区域,确定与该连续矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象;确定连续矢量图的哪些局部矢量对象已经存储在查找表中;对于已经存储在查找表中的局部矢量对象,将其查找表索引存储在计算机存储器中;以及对于尚未存储在查找表中的局部矢量对象,将局部矢量对象的描述存储在计算机存储器中。
70.根据权利要求69所述的方法,还包括定期更新指定为关键字图像的矢量图的编索引的查找表。
71.一种用于预处理矢量图的系统,包括矢量图处理器,用于预处理矢量图数据,矢量图数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表;局部矢量对象产生器,用于对于其中局部矩形区域与分辨率等级相关联的矢量图的多个局部矩形区域中的每个局部区域,确定与全局矢量对象同该局部区域的交集相对应的局部矢量对象;以及数据记录器,用于对于每个局部区域,将局部矢量对象的描述存储在计算机存储器中。
72.根据权利要求71所述的系统,其中,多个局部矩形区域与图像的分区内的小片相对应,对于从相对精细到相对粗略的分区的多个分区分布,每个分区对应于分辨率等级。
73.根据权利要求72所述的系统,其中,全局矢量对象按照属性来规定,属性包括在矢量图内全局矢量对象可见的分辨率等级的可选指示符,局部矩形部分的局部矢量对象仅包括在与局部矩形区域相对应的分辨率等级下可见的那些全局矢量对象的交集。
74.根据权利要求71所述的系统,其中,全局矢量对象和局部矢量对象按照属性来规定,属性包括颜色、风格和至少一个控制点。
75.根据权利要求71所述的系统,其中,所述数据记录器在所述存储之前消除重复的局部矢量对象。
76.根据权利要求71所述的系统,其中,如果局部矢量对象局限于与局部矩形区域相对应的分辨率等级的单个象素内,则所述局部矢量对象产生器将局部矩形区域的局部矢量对象规定为单个象素。
77.根据权利要求71所述的系统,其中,矢量图是文档。
78.根据权利要求71所述的系统,其中,矢量图是地图。
79.一种用于预处理矢量图的系统,包括矢量图处理器,用于预处理多个矢量图的数据,多个矢量图对应于动画序列,并且每个矢量图的数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表;局部矢量对象产生器,用于(i)对于其中局部矩形区域与分辨率等级相关联的第一矢量图的多个局部矩形区域中的每个局部区域,确定与第一矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象;以及(ii)对于第一矢量图之后的至少一个连续矢量图,并且对于多个局部矩形区域中的每个局部区域,确定与该连续矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象;查找表产生器,用于将局部矢量对象的散列值记录在编索引的查找表中;以及数据记录器,用于(i)将编索引的查找表存储在计算机存储器中,(ii)确定连续矢量图的哪些局部矢量对象已经存储在查找表中,(iii)对于已经存储在查找表中的局部矢量对象,将其查找表索引存储在计算机存储器中,以及(iv)对于尚未存储在查找表中的局部矢量对象,将局部矢量对象的描述存储在计算机存储器中。
80.根据权利要求79所述的系统,其中,所述局部矢量对象产生器和所述查找表产生器定期更新指定为关键字图像的矢量图的编索引的查找表。
81.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码接收矢量图的数据,矢量图数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表;对于其中局部矩形区域与分辨率等级相关联的矢量图的多个局部矩形区域中的每个局部区域,确定与全局矢量对象同该局部区域的交集相对应的局部矢量对象;以及对于多个局部矩形区域中的每个局部区域,将其局部矢量对象的描述存储在计算机存储器中。
82.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码接收多个矢量图的数据,多个矢量图对应于动画序列,并且每个矢量图的数据包括可光栅化以便以任意分辨率等级显示的全局矢量对象的描述列表;对于其中局部矩形区域与分辨率等级相关联的第一矢量图的多个局部矩形区域中的每个局部区域,确定与第一矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象;将该局部矢量对象的散列值记录在编索引的查找表中;将编索引的查找表存储在计算机存储器中;对于第一矢量图之后的至少一个连续矢量图,并且对于多个局部矩形区域中的每个局部区域,确定与该连续矢量图的全局矢量对象同该局部区域的交集相对应的局部矢量对象;确定连续矢量图的哪些局部矢量对象已经存储在查找表中;对于已经存储在查找表中的局部矢量对象,将其查找表索引存储在计算机存储器中;以及对于尚未存储在查找表中的局部矢量对象,将局部矢量对象的描述存储在计算机存储器中。
83.一种用于将矢量图流传输到客户计算机的方法,包括访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,其中每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收针对以所希望的象素显示分辨率来显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;以及将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
84.根据权利要求83所述的方法,其中,所述发送步骤将局部矢量对象捆绑到可在单个网络请求中发送的分组中。
85.一种用于将矢量图流传输到客户计算机的方法,包括访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收针对以所希望的象素显示分辨率来显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;根据与所述至少一个局部矩形区域相关联的局部矢量对象,以所希望的显示分辨率来产生矢量图的希望部分;以及将矢量图的希望部分发送到客户计算机。
86.一种用于将矢量图流传输到客户计算机的方法,包括访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收指定多个局部矩形区域中的至少一个矩形区域的请求;以及将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
87.根据权利要求86所述的方法,其中,所述发送步骤将局部矢量对象捆绑到可在单个网络请求中发送的分组中。
88.一种用于交互式地查看矢量图的方法,包括指示以规定分辨率显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中确定适用于产生矢量图的希望部分的预处理矢量图的局部矩形区域,其中预处理矢量图是从矢量图中产生的,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;向服务器计算机请求预处理矢量图的至少一个矩形区域;从服务器计算机接收与预处理矢量图的所请求的至少一个矩形区域相关联的局部矢量对象;以及使用所接收的局部矢量对象来产生矢量图的希望部分。
89.根据权利要求88所述的方法,其中,所述接收步骤包括接收捆绑在单个网络请求的分组内的局部矢量对象;以及对分组拆包以提取局部矢量对象。
90.根据权利要求88所述的方法,还包括将局部矢量对象存储在矢量对象高速缓存器中,如果相关联的局部矢量对象不在矢量对象高速缓存器中,则所述请求步骤仅请求局部矩形部分。
91.一种用于将矢量图流传输到客户计算机的系统,包括接收机,用于从客户计算机的用户接收针对以所希望的象素显示分辨率显示矢量图的希望部分的请求;矢量图适配器,用于(i)访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,其中每个局部矢量对象与局部矩形区域之一相关联,以及(ii)从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;以及发送机,用于将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
92.根据权利要求91所述的系统,其中,所述发送机将局部矢量对象捆绑到可在单个网络请求中发送的分组中。
93.一种用于将矢量图流传输到客户计算机的系统,包括接收机,用于从客户计算机的用户接收针对以所希望的象素显示分辨率显示矢量图的希望部分的请求;矢量图适配器,用于(i)访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,其中每个局部矢量对象与局部矩形区域之一相关联,以及(ii)从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;矢量图处理器,用于根据与所述至少一个局部矩形区域相关联的局部矢量对象,以所希望的显示分辨率来产生矢量图的希望部分;以及发送机,用于将矢量图的希望部分发送到客户计算机。
94.一种用于将矢量图流传输到客户计算机的系统,包括接收机,用于从客户计算机的用户接收指定多个局部矩形区域中的至少一个矩形区域的请求;矢量图处理器,用于访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;以及发送机,用于将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
95.根据权利要求94所述的系统,其中,所述发送机将局部矢量对象捆绑到可在单个网络请求中发送的分组中。
96.一种用于交互式地查看矢量图的系统,包括用户界面,用于解译以规定分辨率显示矢量图的希望部分的请求;发送机,用于向服务器计算机请求预处理矢量图的至少一个矩形区域,预处理矢量图是从矢量图中产生的,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;接收机,用于从服务器计算机接收与预处理矢量图的所请求的至少一个矩形区域相关联的局部矢量对象;以及矢量图处理器,用于(i)从多个局部矩形区域中确定适用于产生矢量图的希望部分的预处理矢量图的局部矩形区域,以及(ii)使用所接收的局部矢量对象来产生矢量图的希望部分。
97.根据权利要求96所述的系统,其中,所述接收机接收捆绑在单个网络请求的分组内的局部矢量对象,并对分组拆包以提取局部矢量对象。
98.根据权利要求96所述的系统,还包括矢量对象高速缓存器,用于存储局部矢量对象,如果相关联的局部矢量对象不在矢量对象高速缓存器中,则所述发送机仅请求局部矩形部分。
99.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,其中每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收针对以所希望的象素显示分辨率来显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;以及将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
100.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收针对以所希望的象素显示分辨率来显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中识别适用于以所希望的显示分辨率来产生矢量图的希望部分的至少一个局部矩形区域;根据与所述至少一个局部矩形区域相关联的局部矢量对象,以所希望的显示分辨率来产生矢量图的希望部分;以及将矢量图的希望部分发送到客户计算机。
101.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码访问从矢量图中产生的预处理矢量图,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;从客户计算机的用户接收指定多个局部矩形区域中的至少一个矩形区域的请求;以及将与所述至少一个局部矩形区域相关联的局部矢量对象发送到客户计算机。
102.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码指示以规定分辨率显示矢量图的希望部分的请求;从预处理矢量图的多个局部矩形区域中确定适用于产生矢量图的希望部分的预处理矢量图的局部矩形区域,其中预处理矢量图是从矢量图中产生的,预处理矢量图包括多个局部矩形区域和多个局部矢量对象,每个局部矢量对象与局部矩形区域之一相关联;向服务器计算机请求预处理矢量图的至少一个矩形区域;从服务器计算机接收与预处理矢量图的所请求的至少一个矩形区域相关联的局部矢量对象;以及使用所接收的局部矢量对象来产生矢量图的希望部分。
103.一种用于交互式地查看矢量动画序列的方法,包括接收存储了与第一矢量图的小片区域相关联的多个局部矢量对象的编索引的查找表;指示以规定分辨率显示第二矢量图的希望部分的请求;从预处理矢量图的多个小片区域中确定适用于产生第二矢量图的希望部分的预处理矢量图的小片区域,其中预处理矢量图是从第二矢量图中产生的,预处理矢量图包括多个小片区域和多个局部矢量对象,每个局部矢量对象与小片区域之一相关联;向服务器计算机请求预处理矢量图的至少一个小片区域;从服务器计算机接收与预处理矢量图的所请求的至少一个小片区域相关联的局部矢量对象和局部矢量对象索引;根据从服务器计算机接收到的局部矢量对象索引,从编索引的查找表中提取局部矢量对象;以及使用所接收的局部矢量对象和所提取的局部矢量对象来产生第二矢量图的希望部分。
104.一种用于交互式地查看矢量动画序列的系统,包括接收机,用于(i)接收存储了与第一矢量图的小片区域相关联的多个局部矢量对象的编索引的查找表,以及(ii)从服务器计算机接收与预处理矢量图的至少一个所请求小片区域相关联的局部矢量对象和局部矢量对象索引,其中预处理矢量图是从第二矢量图中产生的,预处理矢量图包括多个小片区域和多个局部矢量对象,每个局部矢量对象与小片区域之一相关联;矢量图适配器,用于根据从服务器计算机接收到的局部矢量对象索引,从编索引的查找表中提取局部矢量对象;用户界面,用于指示以规定分辨率显示第二矢量图的希望部分的请求;矢量图处理器,用于(i)确定适用于产生第二矢量图的希望部分的预处理矢量图的小片区域,以及(ii)使用所接收的局部矢量对象和所提取的局部矢量对象来产生第二矢量图的希望部分;以及发送机,用于向服务器计算机请求预处理矢量图的至少一个小片区域。
105.一种计算机可读存储介质,该计算机存储介质存储有用于使计算机执行以下步骤的程序代码接收存储了与第一矢量图的小片区域相关联的多个局部矢量对象的编索引的查找表;指示以规定分辨率显示第二矢量图的希望部分的请求;从预处理矢量图的多个小片区域中确定适用于产生第二矢量图的希望部分的预处理矢量图的小片区域,其中预处理矢量图是从第二矢量图中产生的,预处理矢量图包括多个小片区域和多个局部矢量对象,每个局部矢量对象与小片区域之一相关联;向服务器计算机请求预处理矢量图的至少一个小片区域;从服务器计算机接收与预处理矢量图的所请求的至少一个小片区域相关联的局部矢量对象和局部矢量对象索引;根据从服务器计算机接收到的局部矢量对象索引,从编索引的查找表中提取局部矢量对象;以及使用所接收的局部矢量对象和所提取的局部矢量对象来产生第二矢量图的希望部分。
全文摘要
一种用于将矢量图流传输到无线设备的方法,包括从无线设备接收针对矢量图的一部分的请求以及目标显示宽度和高度,矢量图包括多个基矢量;确定放置哪些基矢量以便与所请求部分交迭;剪切与该部分交迭的基矢量;以及发送与该部分交迭的剪切的基矢量。还描述且要求保护一种系统和计算机可读存储介质。
文档编号H04Q7/20GK101065972SQ200580038249
公开日2007年10月31日 申请日期2005年9月29日 优先权日2004年11月12日
发明者安德鲁·奥普拉, 鲁迪·齐格勒 申请人:艾希媒体有限公司