专利名称:使用上下文信息来注释街道视像的技术的制作方法
使用上下文信息来注释街道视像的技术
背景技术:
在线地图应用是一种被很多人频繁使用的有价值的工具。不同的托管服务提供了卫星视图、正投影地图和类似版本之类的不同替换呈现。这其中的一些变型甚至可以是重叠的。在线地图服务的最新发展是使得用户能够以街道的等级来查看特定位置周围的街道视图。在很多应用中,给定地址的默认街道级视图是在接收到来自用户的地址的时候显示的。然后,可以使得用户能够通过选择旋转控制来旋转观察角度。但是,很多街道视图应用通常给出的是从移动成像单元那里获取的位置的有限视图(例如每次一个或少量建筑)。因此,观看者可能不具有足够的上下文信息来以一种有用的方式使用街道视像。考虑到这些因素以及其他因素,有必要进行当前的改进。
发明内容
本发明内容是为了以简化形式介绍概念选集而被提供的,并且在以下的具体实施方式
中将会进一步描述这些概念选集。本发明内容的目的既不是识别所要求保护主题的关键或决定性特征,也不是帮助确定所要求保护的主题的范围。不同的实施例主要针对用于注释地图应用产生的图像的技术。特别地,一些实施例特别针对使用上下文信息来注释街道级视像的增强技术。在一个实施例中,举例来说,一种设备可以包括处理器以及与处理器耦合的存储器。该存储器可以存储具有街道级组件的地图应用,在由处理器执行时,所述街道级组件可以通过操作来产生位置的带有注释的街道视像。除其它单元之外,所述街道级组件可以包括街道视图组件和元数据组件。街道视图组件可以通过操作来从多个街道级图像中产生街道视像,所述街道视像位于街道视像内部的一个或多个对象。元数据组件可以通过操作来产生具有对象元数据的水平元数据面板,并且可以通过操作来将水平元数据面板与街道视像相结合,以便形成带有注释的街道视像,其中所述对象元数据位于与街道视像中的相应对象近似垂直对准的位置。此外还描述并要求保护了其他实施例。通过阅读后续的详细描述以及回顾相关联的附图,可以清楚了解这些以及其他特征和优点。应该理解的是,以上的概括性描述和后续详细描述都是说明性的,它们并未限制所要保护的各方面。
图1图示了地图应用的实施例。图2图示了街道视图组件的实施例。图3图示了第一分布式系统的实施例。图4图示了第二分布式系统的实施例。图5A图示了第一街道视像的实施例。图5B图示了第二街道视像的实施例。图6图示了一个逻辑流程的实施例。
图7图示了计算架构的实施例。图8图示了通信架构的实施例。
具体实施例方式不同的实施例针对使用上下文信息来注释街道视像的增强技术。特别地,这些实施例可以产生能以一种自然和易于理解的方式来向观看者呈现用于街道视像的上下文信息的用户接口元件。这允许观看者更快地确定是否对某个位置感兴趣以及收集与该位置相关的更多信息。常规的街道视图应用在几个方面存在限制。街道视图应用使得用户能够以街道的等级来查看特定位置的周围,这有时也被称为街道视像。用户可以使用不同的导航工具来旋转街道视像的观看角度,例如通过操纵旋转控制器来旋转。很多街道视图应用呈现的是从移动成像单元那里获取的位置的有限视图(例如每次一个或少量建筑物)。因此,观看者可能不具有足够的上下文信息来以一种有用的方式使用街道视像。更进一步,当前的街边图像的沉浸感视图(immersive-view)不能实现沿着街道周围元素的清晰视图,它会将观看者钉在地面,并且只允许在轨线上的离散点之间跳跃,以及从车辆的角度沿着街道呈现视图,这与从行人的角度滑动经过街区的方式是相反的。此外,一些地图应用通过气球之类的用户接口元件以及重叠在正规地图或卫星视图上的悬停显示框提供与特定地址有关的更详细的信息,例如公司名称。虽然有用,但是此类信息通常不是在街道视图呈现上提供。此外,街道视图呈现通常会在导航通过角落的时候切换视图,由此导致观看者瞬间丢失上下文。这些实施例尝试通过产生能够向观看者呈现街道视像的上下文信息的增强用户接口元件来解决这些和其他问题。地图应用可以实施被调整成产生用户所选位置的带注释街道视像的街道级组件,或者与之进行协作。例如,位置可以是通过在用于地图应用的用户接口中输入街道地址而被选择的。街道级组件可以包括被调整成从多个街道级图像中产生街道视像的街道视图组件。街道视像可以具有位于该街道视像内部的一个或多个对象,例如建筑物、街道、人、汽车等等。元数据组件可以被调整成为处于街道视像内部的不同对象产生上下文信息。例如,元数据组件可以产生具有与街道视像中的不同对象相对应的上下文信息的水平元数据面板。所述水平元数据面板可以位于街道视像的上方或下方。用于水平元数据面板的上下文信息可以包括不同类型的对象元数据,这些对象元数据位于与街道视像中的相应对象近似垂直对准的位置。这种垂直对准允许观看者快速地将给定的一组对象元数据与街道视像中的相应对象相关联。然后,元数据组件可以将水平元数据面板与街道视像相结合,以便形成带注释的街道视像。这个带注释的街道视像可被递送到客户机设备,以便借助网络浏览器或客户机地图应用而被呈现在显示器上。图1图示了地图应用100的框图。在一个实施例中,例如地图应用100可以包括具有多个组件110、130的计算机实现的地图应用100。这里使用的术语“系统”和“组件” 指的是与计算机相关的实体,包括硬件、软硬件组合、软件或是正在运行的软件。例如,组件可以实现为在处理器上运行的进程、处理器、硬盘驱动器、(光学和/或磁存储介质的)多个存储驱动器、对象、可执行文件、运行线程、程序和/或计算机。作为例证,在服务器上运行的应用和服务器可以是组件。一个或多个组件可以驻留在运行进程和/或线程内部,并且组件可被定位在一台计算机上,和/或根据给定实现的需要而被分布在两台或更多计算机之间。本实施例是不受该上下文限制的。在图1所示的例证实施例中,地图应用100可以实现为电子设备的一部分。电子设备的示例可以包括但不局限于移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手持机、单向寻呼机、双向寻呼机、消息传递设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器群、web服务器、网络服务器、因特网服务器、工作站、微型计算机、大型计算机(main frame computer)、超级计算机、网络应用、web应用、游戏设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子设备、可编程消费电子设备、电视、数字电视、机顶盒、无线接入点、基站、订户站、移动订户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器或是其组合。虽然图1所示的地图应用100只具有采取某种拓扑结构且数量有限的设备,但是应该预料到,地图应用100可以依照给定实现的需要而在替换拓扑结构中包含更多或更少的元件。组件110、130可以可通信地经由不同类型的通信媒体相耦合。这些组件110、130 可以协调彼此之间的操作。所述协调可以涉及单向或双向信息交换。例如,组件110、130可以采用经由通信媒体传递的信号的形式来传递信息。这些信息可以实现为分配给不同信号线路的信号。在此类分配中,每个消息都是信号。但是,其他实施例也可以改用数据消息。 这种数据消息可以经由不同的连接发送。例示的连接包括并行接口、串行接口和总线接口。地图应用100通常可以被调整成提供不同的在线和离线地图应用和服务,以便产生、递送和导航代表了不同的地理和物理位置的数字地图。特别地,该地图应用100可以被调整成提供街道视图和用于导航该街道视图的用户接口技术。地图应用100的示例可以包括但不局限于由MICROSOFT BING Maps (微软必应地图)、GOOGLE Maps (谷歌地图)、 ΥΑΗ00 Map (雅虎地图)等等提供的地图应用。本实施例在这个上下文中是不受限制的。在不同的实施例中,地图应用100可以在任何计算设备或平台上执行,例如服务器。贯穿本说明书,术语“平台”可以是与客户机设备协作管理地图操作的软件和硬件组件的组合,例如个人计算机或移动设备。平台的示例包括但不局限于在多个服务器上运行的托管服务或“云计算设备”、在单个服务器上运行的应用以及类似的系统。术语“服务器” 通常是指一般在联网环境中运行一个或多个软件程序的计算设备。但是,服务器也可以实现为被视为网络上的服务器的在一个或多个计算机设备上运行的虚拟服务器(软件程序)。 作为替换或补充,地图应用100可以在移动设备上运行,例如智能电话、手持计算机、无线个人数字助理(PDA)、启用地图应用的蜂窝电话、车载计算设备以及为如上所述的地图应用 100提供适当环境的其他电子设备。这些实施例在这个上下文中是不受限制的。在图1所示的例证实施例中,地图应用100可以实现街道级组件110或与之协作。 街道级组件110通常可以被调整成执行不同的在线地图操作,包括产生某个位置的一个或多个带注释街道视像120。所述位置既可以基于用户输入来定义,也可以是基于全球定位服务(GPS)信息、蜂窝塔三角测量、无线数据网络节点检测以及类似技术的自动位置确定。除了其他技术之外,举例来说,通过在用于地图应用100中的用户接口输入街道地址, 选择地图应用100提供的地图上的位置,或是选择代表了地图应用100提供的给定位置的用户接口元件,用户可以选择给定的位置。带注释的街道视像120可以包括给定位置周围的不同街道级视图。带注释的街道视像120可以包括所定义的位置的二维(2D)或三维(3D)街道级视图。带注释的街道视像120可以包括所定义的位置周围的高达360°的全景街道级视图。在一个实施例中,例如带注释的街道视像120可以包括从街道上看向街道一侧的用户的角度得到的2D街道级视图。街道级视图可以包括不同的物理对象,包括人、动物、建筑物、汽车、公司标志、街道标志、消防栓等等。用户可以使用街道级组件110提供的不同的街道视图导航技术来导航或操纵带注释的街道视像120,例如沿着街道向上或向下移动带注释的街道视像120,从街道一侧切换到街道另一侧,仰视或俯视街道等等。除了通常在街道级视图中发现的正常对象之外,带注释的街道视像120还可以用不同类型的对象元数据来注释,其中所述对象元数据涉及在带注释的街道视像 120中获取的某些对象。对象元数据可以包括关于所获取的对象的不同类型的信息。对象元数据的示例可以参考图2而被更详细地描述。在图1所示的例证实施例中,地图应用100可以实现呈现组件130或与之协作。该呈现组件130可以在电子设备上再现或呈现带注释的街道视像120。在一个实施例中, 例如,呈现组件130可以与另一个用于呈现带注释街道视像120的应用协作,另一个应用例如是操作系统、网络浏览器、客户机应用、或是地图应用100的基于客户机的版本。此外,该呈现组件130还可以为地图应用100提供不同的用户接口。呈现组件130可以提供用于实现不同街道视图导航技术的用户接口。在一个实施例中,例如,呈现组件130可以在具有启用触摸的显示器的移动设备上提供街道视图导航技术。该呈现组件130可以实现通过使用基于手势的技术和硬件输入技术而在街道视图地图中执行导航的用户接口技术。基于手势的技术可以通过提供输入手势来规定,其中所述输入手势是通过移动设备上触敏输入设备中的启用触摸的显示器并以单点触摸或多点触摸的方式提供的。虽然可以实现很多手势,但其中若干个例示的手势包括用于执行U形转弯的单个向上-向下手势(up-down gesture),用于展现街道两边的双手指分开-并拢运动(split up-down motion),通过拖曳一个旋转弧来沿着各交叉街道向下移动(move down cross streets)的处理,以及其他任何数量的基于手势的技术。其他导航技术可以利用硬件输入,例如加速度计、指南针和/或轨迹球。关于此类技术的示例可以包括通过将移动电话朝着一边倾斜来向上和向下滑动街道,通过将移动电话朝上或朝下倾斜来查看顶向下的地图等等。当用户将移动设备带到水平位置(例如在360°显示中面朝地面)时,所显示的街道视图可以淡出、过渡或动画化成显示当前所显示位置周围的区域的顶部地图视图。基于硬件的其他输入可以包括通过围绕垂直轴旋转移动设备来查看街道另一边,通过旋转移动设备来沿着街道滑动观看者,以及类似的输入(例如使用移动设备的加速度计)。附加输入可以是从看到用户的集成相机那里接收的。例如,显示器可以基于用户头部的运动而移动,以便产生与用户的头部运动并行的运动,从而看到街道的不同部分。图2图示了街道级组件110的更详细框图。在图2所示的例证实施例中,街道级组件110可以包括街道视图组件210、街道视像220、元数据组件230、数据存储器232 以及水平元数据面板M0。可以预料的是,街道级组件110可以根据给定实现的需要而包括更多或更少的元件。
街道视图组件210通常可以被调整成为从用于地图应用100的街道级组件110的一个或多个街道级图像形成的位置产生一个或多个街道视像220。每一个街道视像220可以具有位于街道视像内部的一个或多个对象,例如建筑物、街道、人、汽车等等。位置既可以是基于用户输入定义的,也可以是自动确定的。在前一种情况中,例如,呈现组件130可以产生一个具有允许用户选择用于地图应用100的位置的文本框的用户接口。 在后一种情况中,例如,街道视图组件210可以自动通过GPS设备、蜂窝塔的三角测量、无线数据网络节点检测或是类似的位置检测技术来检索位置信息。不论哪种状况,街道视图组件210都会接收对于所定义的位置的街道级视图的请求。街道视图组件210可以从地图数据库中检索所述位置的一个或多个街道级图像。例如, 每一个街道级图像都可以包括完整街道视像220内部的一部分或“瓦片(tile)”。街道视图组件210可以将一个或多个街道级图像组合或“缝合”在一起,从而形成街道视像 220。在一个实施例中,地图应用100可以实现为服务器的一部分。在这种情况下,例如街道视图组件210可以在服务器上接收来自诸如个人计算机或移动设备之类的客户机设备的对于所定义的位置的街道级视图的请求。客户机设备通常会与经由有线或无线网络提供地图数据、图像及其他数据的服务器通信,其中举例来说,所述网络可以是各种蜂窝网络、局域网、广域网以及类似的网络。诸如带宽和处理能力之类的特性有可能会根据网络类型、客户机设备位置、网络负荷或使用率以及类似因素而显著改变。因此,检索地图数据、尤其是街道视像的处理有可能遭遇到基于网络状况的延迟。更进一步,无论网络状况怎样,基于来自客户机设备的请求的接收、服务器的排队和处理以及响应传送的网络等待时间都会增加额外的延迟。在一些情况中,移动设备的回程等待时间有可能高达0. 25秒。一些实施例可以通过不同的视觉呈现技术来实现用于优化图像请求和缓解延迟的技术,从而改善用户体验。根据一些实施例,在检索街道视像的过程中出现的网络延迟可以通过提供该位置的临时补充视图来缓解。依照其他实施例,可以调度或流式传输图像请求,从而将所述检索流线化,以此来取代或补充所临时补充视图。街道视图地图的全景视图可以用平铺的金字塔(tiled pyramid)方案表示,由此,所下载的只是可以在显示屏上看到的部分。这些金字塔等级可以包含最高分辨率图像的较低分辨率版本。可替换地,可以在保持最高再现质量的同时存储语义丰富的信息拷贝,而不存储低分辨率拷贝。例如,在所述金字塔的最底层可以存储附近建筑物的文本注释,而不是存储低分辨率图像。这样一来,用户首先可以看到注释和文本(例如无图像或简单图形)。该文本可以在没有降低分辨率的情况下以很高的保真度再现。即使是与存储低分辨率图像相比,文本本身更紧凑,并且可以被快速下载。另一种在不考虑基于网络的延迟的情况下对街道视图地图的再现进行优化的方法可以包括非均勻的按比例扩缩,其中感兴趣的对象(例如建筑物或公司标志)可以用相对较高的分辨率显示,而其他对象(树,重复的窗户、围墙等等)则以按比例缩小的分辨率显示。由此可以将宝贵的带宽用于重要的对象,而不是为整个街道视图使用固定分辨率。 用于节约带宽的附加方法可以包括缩小街道图像中的“不感兴趣的”部分,例如房屋之间的空地,重复图案(例如只显示几列房屋,以便显示其特性而不是其总的宽度)。最终作为结果产生的图像可以在像素数量较少的情况下具有大部分的视图信息,并且该图像会更好地显示在尺寸有限的电话屏幕上。可以预料到的是,这些示例只是适合给定实现的视觉呈现技术的几个示例,并且其他视觉呈现技术也是可以使用的。这些实施例在这个上下文中是不受限制的。对于给定的街道视像220,元数据组件230通常可被调整成为处于街道视像220内部的不同对象产生上下文信息。例如,元数据组件230可以产生具有与街道视像220中的不同对象相对应的上下文信息的水平元数据面板M0。所述上下文信息可以包括数据存储器232存储的对象元数据。数据存储器232可以包括存储用于地图应用100的信息的数据库。该数据存储器 232可以包括与地图应用100实现在同一个设备上的本地数据存储器,或是实现在与执行地图应用100的设备不同的设备上的远程数据存储器。在一个实施例中,数据存储器232可以包括存储了适合为街道视像220提供上下文信息的对象元数据的数据库。所述对象元数据可以包括能与街道视像220中的一个或多个相应对象关联的任何类型的数据或信息。对象元数据的示例可以包括但不局限于位置信息、公司信息、个人信息、事件信息、社交网络系统(SNS)信息、广告信息、导航信息、文档(例如字处理、电子表格、演示、便笺、日历等等)、媒体文件(例如照片、音频文件、视频文件、音/视频文件等等)、应用文件(例如联系人信息、日历信息、任务等等),天气信息, 温度信息,交通状况信息,报价和赠券、邻近的设备、人、信标等等。位置信息的示例可以包括与给定位置相关联的信息,这其中包括但不局限于位置名称、街道地址、建筑物名称、建筑物地址、地图坐标、GPS坐标等等。公司信息的示例可以包括与位于给定位置的给定公司相关联的信息,这其中包括但不局限于公司名称、公司描述、公司联系信息(例如电话号码、 电子邮件地址、域名等等)。个人信息的示例可以包括与位于给定位置的给定的人相关联的信息,这其中包括但不局限于人名、联系信息(例如电话号码、移动号码、电子邮件地址、存在信息等等)、年龄、性别、种族以及其他描述特性。事件信息的示例可以包括与给定位置的给定事件相关联的信息,这其中包括但不局限于事件名称(例如假日聚会)、事件描述、事件开始时间、事件结束时间等等。SNS信息的示例可以包括与给定位置的给定SNS相关联的信息,这其中包括但不局限于SNS名称、SNS屏幕名称、SNS状态、SNS新闻馈送等等。SNS 的示例可以包括但不局限于 MICROSOFT WINDOWSLIVE 、MYSPACE 、FACEBOOK 、LINKEDIN 、 TWITTER 、ΒΕΒ0 以及符合所描述的实施例的其他社交网络系统和服务。广告信息的示例可以包括与给定位置的给定的人、地点或公司相关联的信息,这其中包括但不局限于个人广告、公司广告、事件广告、位置广告、静止广告、动画广告、多媒体广告等等。导航信息的示例可以包括与给定位置周围的导航相关联的信息,这其中包括但不局限于街道标志、街道号码、转向箭头、导航标志、导航符号、静止标志、动画标志、多媒体标志等等。可以预料到的是,这些示例只是适合给定街道视像220的对象元数据的少量示例,并且其他类型的对象元数据也是可以使用的。这些实施例在该上下文中是不受限制的。元数据组件230可以产生用于街道视像220的水平元数据面板对0。水平元数据面板240可以包括被设计成存储并呈现用于相应街道视像220的对象元数据的用户接口元件。更为特别的是,相比于被设计成存储并且沿着电子显示器的垂直轴来呈现对象元数据的垂直元数据面板(未显示),水平元数据面板240可以包括专门被设计成存储并且沿着电子显示器的水平轴来呈现相应街道视像220的对象元数据的用户接口元件。在沿着电子显示器的水平轴构造时,水平元数据面板240可以位于街道视像220的上方或下方。在一个实施例中,元数据组件230可以为街道视像220产生一个顶部水平元数据面板。所述顶部水平元数据面板可以位于街道视像220的顶端部分以上。在一个实施例中,元数据组件230可以为街道视像220产生底部水平元数据面板。 所述底部水平元数据面板则可以位于街道视像220的底端部分以下。相应的顶部和底部水平元数据面板是进一步参考图5A、5B而被例证和描述的。水平元数据面板240可以具有适合给定实现的大小、形状、维度或几何图形。在一个实施例中,水平元数据面板240可以具有高度较小并且宽度与相应的街道视像220 相似的近似于矩形的维度。该维度与呈现在典型的方形或矩形电子显示器上的街道视像220的给定维度是匹配的。然而,水平元数据面板240可以基于如下因素而具有不同的维度,例如给定的街道视像220、给定的街道视像220内部的对象、电子显示器、 给定类型的对象元数据(例如文本、图像、图形、动画、视频等等)、对象元数据的格式化特性 (例如字体、字体大小、粗体、斜体、行间距等等)、呈现特性(例如颜色、阴影、不透明度等等)、 对象元数据总量(例如1行,2行,3行,……,行)等等。这些实施例在该上下文中是不受限制的。水平元数据面板240还可以采用符合透视法的方式而被显示和/或呈现成不同的平面。例如,水平元数据面板240可以与街道视像220呈现在不同的平面,而不是与街道视像220保持在相同的平面。在一些情况中,水平元数据面板240可以是在与某个平面平行的不同平面(例如上方或下方)中形成的。在其它情况下,水平元数据面板240可以是在与街道视像220的平面相垂直(或是成某个其它角度)的不同平面形成的,例如以符合透视法的方式看到的墙壁或平面。这些实施例在该上下文中是不受限制的。元数据组件230可以在水平元数据面板240中将不同类型的对象元数据定位成与街道视像220中的相应对象近似垂直对准。如参考图5A、5B更详细描述的那样,这种垂直对准允许观看者更快地将一组给定的对象元数据关联于街道视像220中的相应对象。一旦生成了街道视像220和用于街道视像220的水平元数据面板M0,那么元数据组件230可以将水平元数据面板240与街道视像220相结合,以便形成带注释的街道视像120。在一个实施例中,元数据组件230可以产生水平元数据面板M0,并且将其定位成邻近于街道视像220。在这种情况下,水平元数据面板240的边缘有可能接近或邻近于街道视像220的边缘,并且这些边缘彼此并未接触。在一个实施例中,元数据组件230可以产生水平元数据面板M0,并且将其定位成毗连或接触街道视像220。在这种情况下,水平元数据面板240的边缘实际是可以接触街道视像220的边缘的。在一个实施例中,元数据组件230可以产生水平元数据面板M0,并且将其定位成与街道视像220重叠。在这种情况下,水平元数据面板MO的边缘可以处于街道视像220的边缘上方的某个距离,反之亦然。除了在水平元数据面板MO内部产生和定位对象元数据的元数据组件230之外, 所述元数据组件230还可以在街道视像220内部定位对象元数据。举例来说,在一个实施例中,元数据组件230可以在街道视像220中将包含导航信息的对象元数据定位在邻近街道视像220中的相应对象的位置。一旦生成了带注释的街道视像120,则可以将该图像经由网络发送到客户机设备,以便借助网络浏览器或客户机地图应用来将其呈现在客户机设备的显示器上。图3图示了分布式系统300的框图。该分布式系统300可以将用于地图应用100 的结构和/或操作的某些部分分发到多个计算实体。分布式系统300的示例可以包括但不局限于客户机-服务器架构、3层架构、N层架构、紧密耦合或群集架构、点对点架构、主从架构、共享数据库架构以及其他类型的分布式系统。这些实施例是不受该上下文限制的。举例来说,在一个实施例中,分布式系统300可以实现为客户机-服务器系统。客户机系统310可以实现显示器304、网络浏览器306以及通信组件308。服务器系统330可以实现某些或所有地图应用100,例如街道级组件110,以及通信组件338。虽然图3所示的分布式系统300只具有采用某种拓扑结构的数量有限的元件,但是可以预料到,所述分布式系统300可以在依照给定实现需要的替换拓扑结构中包含更多或更少元件。客户机系统310可以包括或使用一个或多个通过操作来执行根据所描述的实施例的不同客户机操作的客户机计算设备和/或客户机程序。客户机系统310的示例可以包括但不局限于移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手持机、单向寻呼机、双向寻呼机、消息传递设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、 笔记本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器群、web服务器、网络服务器、因特网服务器、工作站、微型计算机、大型计算机(main frame computer)、超级计算机、网络应用、web应用、分布式计算系统、多处理器系统、基于处理器的系统、消费电子设备、可编程消费电子设备、游戏设备、电视、数字电视、机顶盒、无线接入点、基站、订户站、 移动订户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器或是其组合。在不同的实施例中,服务器系统330可以包括或使用一个或多个通过操作来执行根据所描述的实施例的不同服务器操作的服务器计算设备和/或服务器程序。例如,在已安装和/或部署时,服务器程序可以支持服务器计算设备的一个或多个服务器角色,以便提供某些服务和特征。例如,例示的服务器系统330可以包括操作服务器操作系统(OS) 的、独立的企业级服务器计算机,其中该服务器操作系统(OS)可以是例如MICROSOFT OS、 UNIX OS、LINUX OS、或是其他那些基于服务器的适当OS。举例来说,例示的服务器程序可以包括用于管理输入和输出消息的通信服务器程序,例如MICROSOFT WINDOWS LIVE 或 MICROSOFT OFFICE COMMUNICATIONS SERVER (0CS);用于为电子邮件、语音邮件、VoIP、即时消息传递(IM)、群组IM、增强型存在以及音频-视频会议提供统一消息传递(UM)的消息传递服务器程序,例如MICROSOFT EXCHANGE SERVER ;和/或依照所描述的实施例的其他类型的程序、应用或服务。客户机系统310和服务器系统330彼此可以使用通信信号322并经由通信媒体 320来进行通信。例如,在一个实施例中,通信媒体可以包括公共或私有网络。例如,在一个实施例中,通信信号322可以包括有线或无线信号。客户机系统310和服务器系统330的计算方面可以参考图7而被更详细描述。所述分布式系统300的通信方面可以参考图8而被更详细描述。分布式系统300图示了这样一个示例,其中客户机系统310实现用于地图应用100 的输入和输出设备,而服务器系统330实现执行在线地图操作的地图应用100。举例来说,在一个实施例中,地图应用100可以被实现为能够借助网络浏览器306访问的web应用或 web服务。例如,用户可以使用客户机系统310的网络浏览器306来请求和查看由服务器系统330实现的地图应用100提供的带注释的街道视像120。适当的网络浏览器的示例可以包括 MICROSOFT INTERNET EXPLORER 、GOOGLE CHROME 以及 APPLE SAFARI 等等。 服务器系统330可以将带注释的街道视像120作为通信信号322从通信组件338经由通信媒体320发送到客户机系统310的通信组件308。客户机系统310可以接收带注释的街道视像120,并且在客户机系统310的显示器304上呈现所述带注释的街道视像 120。图4图示了分布式系统400的框图。所述分布式系统400可以与参考图3描述的分布式系统300相似。但是,客户机系统310还可以包括客户机地图应用402。该客户机地图应用402既可以被设计成用于以离线模式运行的独立地图应用,也可以被设计成以在线模式与地图应用100—起协作,还可以被设计成是这两者的组合。例如,客户机地图应用 402可以采用与地图应用100相似的方式操作,在离线模式中时,它使用客户机系统310上存储的地图信息和对象元数据来执行地图操作,在处于在线模式的时候,它使用服务器系统330上存储的地图信息和对象元数据。作为补充或替换,客户机地图应用402可以执行某些地图操作,而地图应用100则会执行其他地图操作。例如,客户机地图应用402可以实现呈现组件130,而地图应用100实现街道级组件110。图5A图示了例示的带注释街道视像120A。在图5A所示的例证实施例中,带注释的街道视像120A可以包括不同的部分,其中包括顶部水平元数据面板Μ0Α、街道视像220以及底部水平元数据面板Μ0Β。假设服务器系统330的地图应用100经由网络浏览器306或客户机地图应用402 而从客户机系统310那里接收对于某个位置的街道级视图的请求。所述街道级组件110的街道视图组件210可以从诸如数据存储器232之类的地图数据库中检索该位置的多个街道级图像。街道视图组件210则可以组合一定数量的街道级图像(例如基于显示器304的大小),以便形成街道视像220。街道视像220可以包括处于街道视像220内部的不同对象520_a。例如, 街道视像220可以包括第一建筑物520-1、第二建筑物520-2、第三建筑物520-3、第四建筑物520-4以及第五建筑物520-5。更进一步,街道视像220可以包括第一街道 520-6以及第二街道520-7。如所示,街道520_6、520_7是相交的街道。值得一提的是,这里使用的“a”、“b”和“C”以及类似标志符意在指代表任何正整数的变量。由此举例来说,如果某种实现设置了一个值a=5,那么整个对象集合520-a可以包括对象520-1、520-2、520-3、520-4以及520-5。这些实施例在该上下文中是不受限制的。一旦产生了街道视像220,则元数据组件230可以产生水平元数据面板Μ0Α、 Μ0Β。在沿着诸如客户机系统310的显示器304之类的电子显示器的水平轴构造水平元数据面板240时,该面板可以位于街道视像220的上方和下方。在一个实施例中,元数据组件230可以产生用于街道视像220的顶部水平元数据面板Μ0Α。顶部水平元数据面板MOA可以位于街道视像220的顶端部分的上方。此外,在一个实施例中,元数据组件230可以产生用于街道视像220的底部水平元数据面板Μ0Β。并且底部水平元数据面板MOB可以位于街道视像220的底端部分的下方。
元数据组件230可以产生水平元数据面板M0A、240B,并且这些面板具有与包含在街道视像220内部的不同对象520-a相对应的不同类型的对象元数据510-b、530-c。 举例来说,顶部水平元数据面板MOA可以包括不同的对象元数据510-1到510-5,其中包括街道号码“900”、“902”、“904”、“906”和“908”,并且每一个号码都对应于相应的建筑物 520-1、520-2、520-3、520-4以及520-5。更进一步、底部水平元数据面板MOB可以包括不同的对象元数据530-1、530-2,并且这些对象元数据包含的是例如位于不同对象520-a的公司的公司信息。例如,底部水平元数据面板MOB可以包括包含位于建筑物520-1上的公司名称“Joe’ s Coffee Shop (乔氏咖啡店)”的对象元数据530_1,以及包含全都位于建筑物520-3上的公司名称“Lyne’ s Interiors (林恩室内设计)”、“Smith & Black (斯密斯和布莱克),,以及“kattle Times (西雅图时报),,的对象元数据530-2,530-3和530-4。元数据组件230可以在水平元数据面板M0A、240B中沿着轴线502-d而将不同类型的对象元数据定位成近似垂直对准于街道视像220中的相应对象520-a。这种垂直对准允许观看者更快地将一组给定的对象元数据510-b、530-c关联于街道视像220中的相应对象520-a。例如,元数据组件230可以沿着相应的垂直轴线502_1、502-2、502_3、 502-4以及502-5来定位对象元数据510-1、510-2、510-3、510_4以及510-5。沿着垂直轴线502-1的这个垂直对准允许观看者更快地将顶部水平元数据面板MOA中“900”的对象元数据510-1关联于街道视像220中的建筑物520-1,这是因为观看者可以容易地从对象元数据510-1开始沿着垂直轴线502-1向下扫描,从而在垂直方向上发现相应的520-1, 而不必在水平方向扫描街道视像220的其他部分。同样,沿着垂直轴线502-1的垂直对准允许观看者更快地将底部水平元数据面板MOB中的对象元数据530_l“JOe’ s Coffee Siop”关联于街道视像220中的建筑物520-1,这是因为观看者可以容易地从对象元数据530-1开始沿着垂直轴线502-1向上扫描,从而在垂直方向上发现相应的520-1,而不必在水平方向扫描街道视像220的其他部分。图5B图示了例示的带注释街道视像120B。与参考图5A描述的带注释的街道视像120A相似,带注释的街道视像120B可以包括不同的部分,包括顶部水平元数据面板Μ0Α、街道视像220以及底部水平元数据面板Μ0Β。但是,带注释的街道视像120B图示了仅仅在相应的水平元数据面板M0A,240B中呈现的对象元数据510_b、 530-c,在这种情况下,带注释的街道视像120B图示了这样一种情形,其中用于某个对象520-a的对象元数据540-e也是在街道视像120B内部呈现的。举个例子,街道视像220可以包括包含了街道名称“Street 1 (街道1) ”和“Street 2 (街道2) ”的不同对象元数据540-1到M0-2,其中每一个对象元数据都对应于相应的街道520-6和520-7。所述对象元数据M0-1540-可以通过诸如气球、悬停显示框或是直接重叠在街道视像 220上的符号之类的用户接口元件来提供关于街道520-6、520-7的更详细信息。更进一步, 对象元数据540-1、540-2可以用与街道520-6、520-7对准的3D透视图来呈现,以便允许观看者在相交街道520-6、520-7的不同的带注释街道视像120B之间导航时更快为自身确定方向。例如,响应于观看者在相交街道520-6、520-7之间导航,在从显示街道520-6的水平视图的第一带注释街道视像120B过渡到显示街道520-7的水平视图的第二带注释街道视像120B的过程中可以使用动画。该动画可以为对象元数据540-1、540-2使用相同的3D透视位置,并且在观看者从街道520-6导航到街道520-7的时候平滑切换3D透视位置,由此在过渡过程中提供观看连续性。通过参考一个或多个逻辑流程,可以进一步描述用于上述实施例的操作。应该预料到的是,没有必要必须按照所给出的顺序或是采用任何特定的顺序来执行这些代表性的逻辑流程,除非以别的方式加以指示。此外,对照逻辑流程描述的不同活动可以采用串行或并行的方式执行。这些逻辑流程可以根据给定的一组设计和性能约束条件的需要而使用所描述实施例中的一个或多个硬件元件和/或软件元件或是替换元件来实现。例如,这些逻辑流程可以被实现为逻辑设备(例如通用或专用计算机)执行的逻辑(例如计算机程序指令)。图6图示了逻辑流程600的一个实施例。该逻辑流程600可以代表由这里描述的一个或多个实施例执行的一些或所有操作,例如地图应用100的街道级组件110。在图6所示的例证实施例中,在方框602,逻辑流程600可以产生用于地图应用的街道视像。例如,街道视图组件210可以产生用于地图应用100的街道视像220。 所述街道视像220可以包括在单个统一图像中结合在一起的一组街道级图像。每一个单独的街道视像都可以包括由数码相机或数字摄像机获取的街道一部分的数字图像, 例如街道520-6、520-7。在方框604,逻辑流程600可以为街道视像产生水平元数据面板。例如,元数据组件230可以为街道视像220产生一个或两个水平元数据面板M0A、240B。水平元数据面板M0A、240B可被定位在街道视像220的上方和下方。每一个水平元数据面板 M0A、240B可以具有一个与街道视像220的边缘相邻、相接或重叠的边缘。每一个水平元数据面板M0A、240B可以具有不同的大小、形状或几何图形,以便与街道视像220以及显示器304的可用显示区域的大小、形状或几何图形相匹配。在方框606,逻辑流程600可以为街道视像中显示的对象检索对象元数据。例如,元数据组件230可以从数据存储器232中为街道视像220中显示的不同对象520_a 检索对象元数据510-b、530-c和/或MO-e。数据存储器232可以被实现为本地数据存储器或远程数据存储器。对象元数据510-b、530-c和/或540-e可以包括与相应对象520_a关联或是对其进行描述的任何类型的信息。更进一步,对象元数据510-b、530-c和/或MO-e 可以包括被调整成检索与对象元数据510-b,530-c和/或540-e相关的附加信息的超链接或其他指针。在方框608,逻辑流程600可以将水平元数据面板中的对象元数据定位成大致垂直对准于街道视像中的相应对象。例如,元数据组件230可以将水平元数据面板M0A、 240B中用于不同对象520-a的对象元数据510_b、530_c和/或540_e定位成沿不同的轴线 502-d近似垂直对准于街道视像220中的相应对象520-a。在方框610,逻辑流程600可以组合街道视像和水平元数据面板,以便形成带注释的街道视像。例如,元数据组件230可以组合街道视像220和水平元数据面板M0A、240B,以便形成带注释的街道视像120。呈现组件130则可以在显示器304上呈现带注释的街道视像120。图7图示了适合实现先前描述的不同实施例的例示计算架构700的一个实施例。 该计算架构700包括不同的通用计算元件,例如一个或多个处理器、协处理器、记忆单元、 芯片组、控制器、外设、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件等等。但是,这些实施例并不局限于由计算架构700实现的实施方式。如图7所示,计算架构700包括处理单元704、系统存储器706以及系统总线708。 处理单元704可以是不同商用处理器中的任何一种。双微处理器和其他多处理器架构也可用作处理单元704。系统总线708为系统组件提供对接到处理单元704的接口,其中所述系统组件包括但不局限于系统存储器706。系统总线708可以是若干种类型的总线结构中的任何一种,并且它还可以互连到存储器总线(具有或不具有存储器控制器),外设总线以及使用了多种商用总线架构中的任何一种的逻辑总线。系统存储器706可以包括不同类型的存储单元,例如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM (DRAM)、双倍数据速率DRAM (DDRAM)、同步DRAM (SDRAM)、静态RAM (SRAM)、可编程ROM (PROM)、可擦写可编程ROM (EPROM)、电可擦写可编程ROM (EEPR0M)、闪存、聚合物存储器(例如铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、硅氧化氮氧化硅(S0N0S :silicon-oxide-nitride-oxide-silicon)存储器、磁卡或光卡、或者适合存储信息的其他任何类型的媒体。在图7所示的例证实施例中,系统存储器706可以包括非易失存储器710和/或易失存储器712。基本输入/输出系统(BIOS)可以保存在非易失存储器710中。计算机702可以包含不同类型的计算机可读存储媒体,包括内部硬盘驱动器 (HDD) 714、读写可移除磁盘718的磁软盘驱动器(FDD) 716,以及读写可移除光盘722 (例如⑶-ROM或DVD)的光盘驱动器720。HDD 714、FDD 716以及光盘驱动器720可以分别通过HDD接口 724、FDD接口 726以及光盘驱动器接口 7 连接到系统总线708。用于外部驱动器实现的HDD接口 7M可以包括通用串行总线(USB)和IEEE 1394接口技术中的至少一个或两者。驱动器以及相关联的计算机可读媒体提供了数据、数据结构、计算机可执行指令等等的易失和/或非易失存储。例如,在驱动器和存储单元710、712中可以保存多个程序模块,包括操作系统730,一个或多个应用程序732,其他程序模块734以及程序数据736。 所述一个或多个应用程序732、其他程序模块734以及程序数据736可以包括例如地图应用 100、街道级组件110、带注释街道视像120、呈现组件130、街道视图组件210、街道视像220、元数据组件230和水平元数据面板M0。用户可以通过一个或多个有线/无线输入设备来将命令和信息输入计算机702, 例如键盘738和鼠标740之类的指示设备。其他输入设备可以包括麦克风、红外(IR)遥控器、摇杆、游戏垫、指示笔、触摸屏等等。这些以及其他输入设备通常是通过与系统总线708 耦合的输入设备接口 742连接到处理单元704的,但是也可以通过其他接口来连接,例如并行端口、IEEE 1394串行端口、游戏端口、USB端口、顶接口等等。监视器744或其他类型的显示设备同样经由接口连接到系统总线708,例如视频适配器746。除了监视器744之外,计算机通常还包括其他周边输出设备,例如扬声器、打印机等等。计算机702可以借助到一个或多个远程计算机(例如远程计算机748)的有线和/ 或无线通信而在使用逻辑连接的联网环境中工作。远程计算机748可以是工作站、服务器计算机、路由器、个人计算机、便携计算机、基于微处理器的娱乐装置、对等设备或其他公共网络节点,并且通常包括结合计算机702描述的很多或所有元件,但是出于简明的目的,在
15这里仅仅示出了记忆/存储设备750。所描述的逻辑连接包括到局域网(LAN) 752和/或诸如广域网(WAN) 754之类的更大网络的有线/无线连接。这种LAN和WAN联网环境在办公室和公司是很普遍的,并且其促成了企业级计算机网络,例如内联网,其中所有这些网络都可以连接到一个全球通信网络,例如因特网。当在LAN联网环境中使用时,计算机702通过有线和/或无线通信网络接口或适配器756连接到LAN 752。该适配器756可以促成与LAN 752的有线和/或无线通信,其中所述LAN还可以包括部署在其上且与适配器756的无线功能进行通信的无线接入点。当在WAN联网环境中使用时,计算机702可以包括调制解调器758,或者与WAN 7 上的通信服务器相连,抑或是具有用于在WAN 7 上建立通信的其他装置,例如经由因特网。调制解调器758可以是内部或外部以及有线和/或无线设备,它经由输入设备接口 742与系统总线708相连。在联网环境中,结合计算机702描述的程序模块或是其某些部分可以保存在远程记忆/存储设备750中。应该预料到的是,所显示的网络连接是例示性的, 并且用于在计算机之间建立通信链路的其他装置也是可以使用的。计算机702可以通过操作并通过使用IEEE 802标准族来与有线和无线设备或实体进行通信,例如被可操作地部署成与打印机、扫描仪、台式和/或便携计算机、个人数字助理(PDA)、通信卫星、任何关联于可无线检测的标签的设备或位置(例如共用电话亭、书报亭、休息室)以及电话进行无线通信(例如IEEE 802. 11空中下载调制技术)的无线设备。所述技术至少包括Wi_Fi(或无线高保真)、WiMax以及Bluetooth (蓝牙)无线技术。因此,所述通信可以是与常规网络一样的预定结构,或者仅仅是至少两个设备之间的自组织通信。 Wi-Fi网络使用名为IEEE 802. Ilx (a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可以用于将计算机彼此相连,连接到因特网以及连接到有线网络(所述网络使用的是与IEEE 802. 3相关的媒体和功能)。图8图示了适合实现先前描述的不同实施例的例示通信架构800的框图。该通信架构800包括不同的常见通信元件,例如发射机、接收机、收发信机、无线电设备、网络接口、基带处理器、天线、放大器、滤波器等等。但是,这些实施例并不局限于通信架构800实现的实施方式。如图8所示,通信架构800包括一个或多个客户机802和服务器804。客户机802 可以实现客户机系统310、400。服务器804可以实现服务器系统330。客户机802和服务器 804可操作地连接到一个或多个相应的客户机数据存储器808以及服务器数据存储器810, 这些服务器可以用于存储相应客户机802和服务器804的本地信息,例如cookie和/或相关联的上下文信息。客户机802和服务器804彼此可以使用通信框架806来传递信息。所述通信框架 806可以实现任何众所周知的通信技术,例如适合与分组交换网络(例如因特网之类的公共网络,企业内联网之类的私有网络等等)、电路交换网络(例如公共交换电话网)或是与分组交换网络和电路交换网络的组合(具有适当的网关和变换器)一起使用的技术。客户机802 和服务器804可以包括被设计成能与通信框架806共同操作的不同类型的标准通信元件, 例如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电设备、无线发射机/接收机 (收发信机)、有线和/或无线通信媒体、物理连接器等等。作为示例而不是限制,通信媒体包括有线通信媒体和无线通信媒体。有线通信媒体的示例可以包括线路、电缆、金属导线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、传播信号等等。无线通信媒体的示例可以包括声学、射频(RF)频谱、红外以及其他无线媒体。在客户机802与服务器804之间的一种可能通信可以采用被适配成在两个或更多计算机进程之间传送的数据分组的形式。举例来说,该数据分组可以包括cookie和/或相关联的上下文信息。不同的实施例可以使用硬件元件、软件元件或是这二者的组合来实现。硬件元件的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器 (DSP)、现场可编程门阵列(FPGA)、记忆单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用编程接口(API)、指令集、计算代码、计算机代码、代码片段、计算机代码片段、码字、值、符号或是其任何组合。确定是使用硬件元件和/或软件元件实现某个实施例的处理可以根据任意数量的因素而改变,例如期望的计算速率、功率电平、耐热性、处理周期预算、 输入数据速率、输出数据速率、存储器资源、数据总线速度以及给定实现所需要的其他设计或性能约束条件。一些实施例可以包括制品。制品可以包括用于存储逻辑的计算机可读存储介质。 计算机可读存储介质的示例可以包括能够存储电子数据的任何存储媒体,包括易失存储器或非易失存储器,可移除或不可移除存储器,可擦写或不可擦写存储器,可写入或可重写存储器等等。逻辑的示例可以包括不同的软件元件,例如软件组件、程序、应用、计算机程序、 应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用编程接口(API)、指令集、计算代码、计算机代码、代码片段、 计算机代码片段、码字、值、符号或是其任何组合。在一个实施例中,举例来说,制品可以存储可执行计算机程序指令,当被计算机运行时,所述计算机程序指令将会促使计算机执行根据所描述的实施例的方法和/或操作。可执行计算机程序指令可以包括任何适当类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等等。可执行计算机程序指令可以根据预定的计算机语言、方式或语法来实现,以便指示计算机执行某种功能。这些指令可以使用任何适当的高级、低级、面向对象的、可视、编译和/或解释编程语言来实现。可以使用“ 一个实施例,,或“实施例,,这样的表述及其派生词来描述一些实施例。 这些术语指的是在至少一个实施例中包含了结合实施例描述的特定特征、结构或特性。短语“在一个在实施例中”在说明书中不同位置的出现并不是必然指同一个实施例。可以使用“耦合”和“连接”这样的表述及其派生词来描述一些实施例。这些术语彼此并不必然是同义的。例如,一些实施例可以使用术语“连接”和/或“耦合”来描述,以便表明两个或更多元件彼此是直接物理或电接触的。但是,术语“耦合”也可以是指两个或更多元件彼此并未直接接触,但是仍旧可以彼此协作或交互。应该强调的是,公开摘要被提供以便符合美国联邦法典第37项第1. 72(b)节(37 C. F. R Section 1. 72 (b)),该条款要求提供摘要以允许读者快速确定技术公开的特性。基于如下理解提供所述摘要所提供的摘要不用于解释或限制权利要求的范围或意义。此外, 在以上的详细描述中可以看出,为了组织本公开,在单个实施例中将不同的特征组合到了一起。这种公开方法不应该被解释成是反映了所要保护的实施例所需要的特征多于每一个权利要求中显性记载的特征的意图。相反,如后续权利要求所反映的那样,本发明的主题少于单个公开实施例中的所有特征。因此,后续权利要求将被引入到详细描述中,其中每一个权利要求自身都是一个独立的实施例。在附加权利要求中,术语“包括”以及“其中”分别是作为相应术语“包含”和“其中”的简明英语等价物使用的。此外,术语“第一”、“第二”、 “第三”等等仅仅是作为标签使用的,其并不是为了向其对象施加数值需求。
虽然本主题是用特定于结构特征和/或方法操作的语言描述的,但是应该理解, 附加权利要求中定义的主题并不是必须局限于上述特定特征或操作。相反,上述特定特征和操作是作为实现权利要求例示形式公开的。
权利要求
1.一种由计算机实现的方法,包括生成(602)用于地图应用(100)的街道视像(220); 生成(604)用于街道视像的水平元数据面板(240); 为街道视像中显示的对象(520 )检索(606 )对象元数据(530 ); 将水平元数据面板中的对象元数据定位(608)成近似垂直对准于(502)街道视像中相对应的对象;以及组合(610)街道视像和水平元数据面板,以便形成带注释的街道视像(120)。
2.如权利要求1的由计算机实现的方法,包括在服务器设备(330)上接收对于位置的街道级视图的请求; 从地图数据库(232)中检索该位置的街道级图像;以及组合这些街道级图像,以便形成街道视像。
3.如权利要求1或2的由计算机实现的方法,包括产生与街道视像相邻的水平元数据面板。
4.如权利要求1-3中任一权利要求的由计算机实现的方法,包括产生与街道视像相接的水平元数据面板。
5.如权利要求1-4中任一权利要求的由计算机实现的方法,包括产生与街道视像重叠的水平元数据面板。
6.如权利要求1-5中任一权利要求的由计算机实现的方法,包括为街道视像产生顶部水平元数据面板(240A),所述顶部水平元数据面板位于街道视像的顶端部分的上方。
7.如权利要求1-6中任一权利要求的由计算机实现的方法,包括为街道视像产生底部水平元数据面板(240B),所述底部水平元数据面板位于街道视像的底端部分的下方。
8.如权利要求1-7中任一权利要求的由计算机实现的方法,包括将包含街道视像中的导航信息的对象元数据定位成邻近于街道视像中的相对应对象。
9.如权利要求1-8中任一权利要求的由计算机实现的方法,包括将带注释的街道视像发送到客户机设备,以便由客户机设备(310)呈现。
10.一种包含了计算机可读存储介质的制品,其中所述计算机可读存储介质包含在被执行时使得系统能够实现权利要求1-9中任一权利要求的方法的指令。
11.一种设备,包括 处理器(704);以及与处理器耦合的存储器(706),该存储器存储具有街道级组件(110)的地图应用 (100),其中在由处理器执行时,所述街道级组件通过操作来产生位置的带注释的街道视像(120),所述街道级组件包括街道视图组件(210),其通过操作来从多个街道级图像中产生街道视像(220),所述街道视像具有位于该街道视像内部的一个或多个对象(520);以及可通信地耦合到街道视图组件的元数据组件(230),所述元数据组件通过操作来产生具有位置与街道视像中的相对应对象近似垂直对准的对象元数据(530)的水平元数据面板(240),以及将水平元数据面板与街道视像相组合,以便形成带注释的街道视像。
12.如权利要求11的设备,所述元数据组件通过操作来将水平元数据面板定位成与街道视像相邻,与街道视像相接,或是与街道视像重叠。
13.如权利要求11或12的设备,所述元数据组件通过操作来为街道视像产生顶部水平元数据面板(240A),所述顶部水平元数据面板位于街道视像的顶端部分的上方。
14.如权利要求11-13中任一权利要求的设备,所述元数据组件通过操作来为街道视像产生底部水平元数据面板(240B),所述底部水平元数据面板位于街道视像的底端部分的下方。
15.如权利要求11-14中任一权利要求的设备,所述对象元数据包括位于街道视像内部的相对应对象的信息,包括位置信息、公司信息、个人信息、事件信息、社交网络信息、广告信息或导航信息。
全文摘要
所描述的是使用上下文信息来注释街道级图像的技术。地图应用可以包括街道级组件,在由处理器执行时,所述街道级组件通过操作来产生位置的带注释街道视像。所述街道级组件可以包括街道视图组件,其通过操作来从多个街道级图像中产生街道视像,所述街道视像具有位于街道视像内部的一个或多个对象。街道级组件还可以包括可通信地耦合到街道视图组件的元数据组件,所述元数据组件通过操作来产生具有位置与街道视像中的相应对象近似垂直对准的对象元数据的水平元数据面板,以及将水平元数据面板与街道视图面板相结合,以便形成带注释的街道视像。此外,还描述并且要求保护其他实施例。
文档编号G09B29/00GK102426608SQ20111036301
公开日2012年4月25日 申请日期2011年11月16日 优先权日2010年11月16日
发明者巴内特 D., 拉莫斯 G., 万特兰 T. 申请人:微软公司