渲染、查看和注释全景图像及其应用的制作方法

文档序号:6026031阅读:123来源:国知局
专利名称:渲染、查看和注释全景图像及其应用的制作方法
技术领域
本发明一般地涉及全景图像。
背景技术
计算机化的地图系统通常提供对地图数据的自上而下的呈现。用街道级影像来增强地图系统提出了各种界面挑战诸如处理在街道级视图内的导航,包括在交叉口处转弯,以及以绝对的条件(例如,纬度、经度和朝向)以及相对于如城市街道和交叉口的地标来将地图上的用户的位置和定向与街道级视图内的用户的位置和定向相关联。近来, A9 BlockView(不再在线)和 Microsoft Virtual Earth 推动的 Windows Live Local Technology Preview (http: //preview, local, live, com/)已经尝试对城市的街道级视图提供可用接口。A9 BlockView通过将影像平面化为两个长条来设法解决定向问题,使得用户没有环顾360度的自由。Windows Live Local呈现了街道级影像的“汽车”景观,通过操控地图视图上的汽车替代图标(avatar)来以90度增量旋转街道级影像的“汽车”景观。

发明内容
本发明涉及渲染、查看和注释全景图像。在第一实施例中,一种方法可以用于查看全景图像。该方法包括接收第一全景图像的至少一部分,并且呈现显示第一全景图像的该部分的视口。该视口包括用第一全景图像渲染的三维覆盖图(overlay)。在用第一全景图像来渲染三维覆盖图时,在三维空间中改变三维覆盖图的定向,以与第一全景图像的定向的改变相匹配。在第二实施例中,一种系统可以用于查看全景图像。该系统包括全景查看器,该全景查看器接收第一全景图像的至少一部分,并且呈现显示第一全景图像的该部分的视口。 该视口包括用全景图像渲染的三维覆盖图。在用全景图像来渲染三维覆盖图时,全景查看器在三维空间中改变三维覆盖图的定向,以与视口内的全景图像的定向的改变相匹配。在第三实施例中,一种方法可以用于渲染表面。该方法包括计算在由从视口到表面的第一变换定义的表面上的区域;计算从该区域映射到视口的第二变换;以及确定与该区域交叉的图像的一部分。最后,将第二变换应用于与该区域交叉的所述图像的所述一部分,得到变换的图像。该变换的图像在视口中被渲染用于显示。在第四实施例中,一种系统渲染表面。该系统包括服务器,该服务器计算根据从视口到该表面的第一变换定义的表面上的区域。该服务器还计算从该区域映射到视口的第二变换。该系统进一步包括全景查看器,该全景查看器确定与该表面上的区域交叉的图像的一部分。该全景查看器将第二变换应用于与该表面上的该区域交叉的该图像的所述一部分,得到变换的图像。该变换的图像在视口中被渲染用于显示。
在第五实施例中,一种方法可以用于处理对全景的注释。该方法包括接收对第一全景中的特征的第一用户注释,并且接收对第二全景中的该特征的第二用户注释。基于针对该特征的为第一用户注释以及为第二用户注释生成的数据之间的交叉部分交叉部分来确定坐标。最后,该坐标与表示该特征的注释相关联地被存储。在第六实施例中,一种系统可以用于处理对全景的注释。该系统包括服务器,该服务器接收对第一全景中的特征的第一用户注释,并且接收对第二全景中的该特征的第二用户注释。该服务器基于针对该特征的第一用户注释的第一位置和第二用户注释的第二位置来确定该特征的位置。以下参考附图来详细描述本发明的其他实施例、特征和优点,以及本发明各种实施例的结构和操作。


参考附图来描述本发明的实施例。在附图中,相同的附图标记可以指示相同或功能上类似的元素。图I是适用于实践一个实施例的示例性分布式系统的图。图2是图示根据一个实施例如何将地图服务与全景查看器集成的示例的图。图3描绘了根据一个实施例的浏览器显示的示例。图4是图示根据一个实施例的由全景查看器执行的示例性处理的流程图。图5描绘了示例性可扩展标记语言(XML)配置信息。图6图示了全景图像的示例。图7A、图7B和图7C图示了与全景查看器视口的用户交互。图8是根据一个实施例的由渲染器执行的处理的流程图。图9A、图9B和图9C图不了在表面、预先计算区域和视口之间的关系。图IOA和图IOB图示了生成变换参数的简单示例。图11描绘了根据本发明的一个实施例的已经扭曲的全景。图12描绘了基于用于形成图11的全景的侧倾(yaw)和纵倾(pitch)的示例性变换。图13描绘了根据本发明的一个实施例显示的示例性全景图像。图14是图示根据一个实施例如何为用户注释生成坐标的图。图15是根据一个实施例在生成用户注释坐标中所执行的处理的流程图。参考附图来描述本发明。其中元素第一次出现的附图通常用对应附图标记中最左边的一个或多个数字来指示。
具体实施例方式本发明涉及对渲染、查看和注释全景图像及其应用。在这里本文对本发明的详细描述中,引用“一个实施例”、“实施例”、“示例性实施例”等来指示描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可能不必包括该特定的特征、结构或特性。另外,这样的短语不必指代同一实施例。另外,当结合实施例来描述特定的特征、结构或特性时,应当认为不论是否明确描述,结合其他实施例来实现这样的特征、结构或特性都在本领域技术人员的知识范围内。图I是适合于实践本发明的一个实施例的分布式系统。客户端110例如通过诸如因特网或局域网的网络来与一个或多个服务器150进行通信。客户端110可以是通用计算机,该通用计算机具有处理器、本地存储器、显示器和一个或多个输入设备,诸如键盘或鼠标。替选地,客户端110可以是专用计算设备,例如,移动手持式电话。类似地,可以使用能够向客户端110提供数据的任何通用计算机来实现服务器150。客户端110执行全景查看器120,这里将对其操作做进一步描述。如图I所示,全景查看器120请求来自服务器150的配置信息130。如这里进一步详细讨论的,配置信息包括关于要加载的全景的元信息,包括关于在该全景内到其他全景的链接的信息。在一个实施例中,以诸如可扩展标记语言(XML)的形式来呈现配置信息。 全景查看器120检索例如全景图像的形式或全景图像切片(tile)的形式的全景视觉资料 140。在另一实施例中,视觉资料包括与文件格式相关的配置信息。如这里进一步描述的, 全景查看器120按照从配置信息130和视觉资料140生成的来在全景的客户端显示和附加用户界面元素上呈现视觉表示。当用户与输入设备进行交互以操控全景的视觉表示时,全景查看器120更新视觉表示,并且继续按需要下载附加的配置信息和视觉资料。在一个实施例中,全景查看器120可以是单机应用,或者可以在诸如Mozilla Firefox或Microsoft Internet Explorer的浏览器115内被执行。例如,全景查看器120 可以被执行为浏览器115内的脚本、浏览器115内的插件、或在诸如Adobe(Macromedia) Flash插件的浏览器插件内执行的程序。在一个实施例中,将全景查看器120与地图服务集成,诸如在美国专利No. 7,158,878,“DIGITAL MAPPING SYSTEM(数字地图系统)”中描述的地图服务,将该专利的全部内容以引用的方式并入本文。图2图示了地图服务210如何与全景查看器120集成的示例。例如,地图服务210 将地图的视觉表示作为视口显示成地图切片的网格。使用标记和脚本元素的组合,例如,使用HTML和Javascript,来实现地图系统210。当移动视口时,在假设所请求的地图切片还没有在本地缓冲存储器中被缓冲的情况下,地图服务210请求来自服务器150的其他地图切片220。注意,提供地图切片220的服务器可以是与提供全景切片140或这里所涉及的其他数据的服务器相同或不同的服务器。在一个实施例中,地图服务210可以请求浏览器115继续从服务器150下载用于全景查看器120的程序250,并且实例化运行程序250所必需的任何插件。程序250可以是 Flash文件或一些其他形式的可执行内容。全景查看器120如以上描述的执行和操作。替选地,配置信息130以及甚至全景切片140可以由地图服务210来检索,并且被传递到全景查看器120。全景查看器120和地图服务210进行通信,以协调用户界面元素的操作,使得用户可以与全景查看器120或地图服务210进行交互,并且使得位置或定向的变化在两者中都有体现。图3是示例性浏览器显示300,该显示300呈现诸如地图服务210的地图服务以及诸如全景查看器120的集成的全景查看器二者。地图服务提供标题为“街道景观(Street View) ”的按钮310,当选择该按钮310时,优选地改变在全景数据可用的区域中的地图的呈现。例如,在图3中,突出显示了具有可用全景数据的街道。该突出显示可以是,例如,有颜色的和/或有阴影的轮廓或覆盖图,或颜色和/或阴影的改变。这可以通过使用具有地图切片的透明图像或通过将效果直接包括在提供给地图服务的地图切片中来实现。地图服务允许用户通过进一步选择地图上的点来激活全景查看器。当用户选择点时,在地图上的该点处显示字符或替代图标320。在一个实施例中,替代图标包括替代图标所朝向的方向的指示符,在图3中该指示符被表示为替代图标下的箭头。在一个实施例中,当地图服务实例化全景查看器时,以嵌入在与替代图标320相关联的信息气球窗口中的视口 330的形式来呈现全景查看器。视口 330内的全景的视觉表示的定向与替代图标320的定向匹配。当用户在视口 330内操控全景的视觉表示时,全景查看器将在定向或位置上的任何改变通知给地图服务,使得地图服务可以更新替代图标 320的定向和位置。同样,当用户在地图服务内操控替代图标320的定向或位置时,地图服务通知全景查看器,使得全景查看器可以更新其视觉表示。在一个实施例中,全景查看器的视口 330呈现了选择的区域的全景图像。用户可以在图像上进行点击并且拖动,以环视360度。在图3中描绘的示例性视口 330中,将多种用户界面元素添加到底层全景。这些元素包括导航输入,例如视口左侧的缩放和平移控制 (例如,导航按钮),以及在全景本身中直接提供的线/条、箭头、和文本形式的注释。以大致匹配在全景中所描绘的三维场景的三维方式来渲染注释。在图3中,例如,在视口 330中的线/条与对应地图中所描绘的街道相对应,并且甚至可以用与地图中所描绘的街道相同的颜色来进行渲染。箭头可由用户(通过点击或沿着街道线拖动)来选择,每个箭头在有另一全景可用的方向上前进。这些使得用户可以向上和向下导航街道(即,改变从其观看街道的有利点)。当用户环视360度时,线和箭头平滑地跟踪底层影像,使得线保留在底层街道的上方,并且使得箭头总是在屏幕上可见。这使得用户可以在一直向前观看的同时、或者在看向店面的侧面的同时沿着街道进行导航。当用户在箭头上点击以在视口内导航时,缩放交叉淡变效果和其他视觉提示给用户一种移动的感觉。当用户到达两条街道的交叉口时,每条街道都有一条绿线和两个箭头。 所有这些同时可见并且均被标示,使得用户知道当前位置并且可以在任何方向上前进。该技术可以容易地按比例缩放以容纳多于四个方向的复杂交叉口。当用户到达道路继续向前但是没有进一步可用的影像的“死胡同”时,在街道上只有一个箭头指示用户可以在其上导航的方向。在其他方向上,可以呈现嵌入在图像中的符号和消息,以向用户通知在该方向上没有可用的图像。用户界面不被限制成沿着线导航以顺着街道行走,而是可以很容易地被扩展成允许用户在有用时偏离线元素例如,穿过到街道的对面以更近地注视某物。另外,在城市内的环境中,可能期望用户希望离开街道,并且在附近区域内,例如公园、广场、购物区、或其他行人友好的公共场所内,自由地导航。可以容易地用“自由移动区”来增强界面以提供该功能。还应当注意,尽管在离散的街道级全景之间进行导航的场境中呈现了用户界面,但是用户界面同样可以很好地用于允许用户通过在更加连续的全景数据集中进行导航,使得沿着街道进行导航将象视频一样平滑。以下进一步详细描述用户界面元素的操作和实现。图4是根据本发明的一个实施例由诸如全景查看器120的全景查看器来执行的处理的示例性流程图。在步骤402,全景查看器接收用于要呈现的初始全景和各种视口参数的标识符,诸
7如视口的大小以及要在全景内查看的方向。例如,可以通过使用在地图服务中的FLASH插件和Javascript之间的Flashvars或ExternalInterface来将该信息从地图服务传递到
全景查看器。在步骤404,全景查看器使用全景标识符请求来自服务器的配置信息(例如,XML 文件)。图5描绘了示例性XML配置信息500,并且以下进一步详细讨论。解析XML,并且将信息加载到各种数据结构中以供全景查看器进行使用。在一个实施例中,XML包括用于全景查看器的信息,诸如当前全景的数据属性和投影属性,以及关于全景内的包括对其他全景的链接的注释/链接的信息。在步骤406,全景查看器请求用于全景的视觉资料,并且将接收到的视觉资料存储在例如本地存储器/存储装置中。在一个实施例中,全景查看器可以维护视觉资料的高速缓存存储器,并且限制带宽的使用,以检索不在高速缓存存储器中的视觉资料。图6图示了初始全景图像600的示例。可以由全景查看器检索完整的全景图像600,或者可以将全景图像600划分成多个全景图像切片,并且全景查看器仅按需要来请求切片。在步骤408,全景查看器对配置信息和视觉资料进行处理,以准备在步骤410在视口中渲染全景的视觉表示。关于视觉资料,全景查看器可以将全景图像切片组合成与视口重叠的那部分完整全景图像。如这里进一步讨论的,全景查看器可以将全景图像呈现为平面或纹理映射的三维表面,例如,圆柱或球体。关于在视口中呈现的注释覆盖图,全景查看器使用配置信息来计算用于诸如在视口中呈现的线/条和箭头的这些各种元素的形状和位置。在一个实施例中,在与全景中所描绘的空间相对应的三维空间中建模多边形/形状。例如,可以使用针孔相机模型来建模这些多边形/形状(例如,可以通过视口的高度乘以旋转中心的恒定相对深度来生成焦距长度)。注释覆盖图的多边形/形状以匹配视口定向的改变的方式来三维空间中改变其定向。在一个实施例中,按照在配置信息中所指定的, 多边形/形状被旋转了等于在全景中用户的视点的当前定向和注释的方向之间的差值的角度。如这里进一步描述的,为了考虑非平面全景,可以绕着不同的空间轴进一步变换该多边形/形状。在步骤410,渲染在视口中的全景的视觉表示。 在步骤412,例如,全景查看器通过捕捉输入事件,诸如鼠标和键盘事件,来接收和管理输入。例如,全景查看器检测用户是否已经平移了视口(例如,通过拖动鼠标或通过选择平移控制按钮)、是否已经选择了缩放(例如,通过用鼠标在全景上进行点击或移动视口左侧的缩放滑块控制)或者是否已经选择了到另一个全景的链接(例如,通过用鼠标在箭头上进行点击)。在步骤420,做出关于用户是否已经平移了视口的确定。如果用户已经平移了视口,则控制转到步骤422。如果用户还没有平移视口,则控制转到步骤430。在步骤422,全景查看器确定视口是否将与需要从服务器或高速缓存装置检索的任何全景图像切片重叠。在步骤424,如以下将要详细描述的,全景查看器执行必须的计算,以允许可以在不同定向上正确呈现视口。在步骤426,全景查看器将用户选择的新的定向通知给地图服务,使得地图服务可以更新其替代图标的朝向指示符。全景查看器重新计算用于视口元素的形状和位置,并且渲染该视口。为了说明该点,考虑图7A,图7A描绘了来自图3的全景查看器视口。图7B示出了在用户已经选择将全景平移到左边之后的结果。注意,与在全景中描绘的道路相对应的线/条随着全景查看器改变全景的定向而改变其方向。在步骤430,做出关于用户是否已经缩放了视口的确定。如果用户已经缩放了视口,则控制转到步骤432。如果用户还没有缩放视口,则控制转到步骤440。在步骤432,全景查看器确定例如是否从服务器(或从高速缓存装置)请求新的更高分辨率的全景图像切片,或者是否例如以不同的特写(close-up)分辨率来使用现有切片,其中不存在比其更高的分辨率的切片。在步骤434,改变视口参数以反映不同的缩放水平。可以在缩放水平之间提供过渡,以给出活动地缩放到全景的下一缩放水平的呈现。图7C中示出了在用户已经选择了在图7A中的特征上放大之后的结果。在步骤440,做出关于用户是否已经选择了到其他全景的链接的确定。如果用户已经选择了到另一个全景的链接,则控制转到步骤442。如果用户没有选择到其他全景的链接,则控制转到步骤412。在步骤442,全景查看器继续开始在原始全景和新全景之间进行过渡的处理。例如,全景查看器可以缩放原始全景,并且执行到新全景交叉淡变,以给用户一种移动的感觉。替选地,全景查看器可以播放两个全景之间的实际视频过渡。在步骤444,全景查看器将用户选择的新位置通知给地图服务,使得地图服务可以更新其替代图标的位置,并且可以相应地滚动地图。在一个实施例中,可以使用任何有利的编程语言或编程方式来实现全景查看器。 例如,可以使用具有独立的类(class)的面向对象的程序来实现全景查看器,所述独立的类被指定用来处理XML配置信息、注释、纹理生成、切片管理和网格生成。图5阐述了示例性XML配置信息500(例如,元数据)。如图5中所示的示例所说明的,用于配置信息的方案被组织成“data_properties”、“projection_properties”和 “ annotation_properties,,。子组Data_Properties包含属性,诸如“pano_id” (例如,用于全景的唯一标识符)、“ image_width ”和“ image_height ”(例如,在被分割成切片之前的全景图像的尺寸)、“tile_width” 和 “tile_height”(例如,切片的尺寸)、“ lat” 和 “lng”(例如,当前全景的坐标)和“num_zoom_levels”(例如,用户将能够在全景查看器中查看的缩放水平的编号)。该子组还包含元素,诸如“text”(例如,可以用于表示当前全景的街道名称)、 “copyright” (例如,版权信息)和“street_range” (例如,给定街道中的编号范围)。子组Projection_properties 包含属性,诸如 “Pano_yaw_deg” (例如,捕捉到生成全景图像的图像的车辆的方向)、“ tilt_yaw_deg”和“tilt_pitch_deg” (例如,如这里进一步描述的,有助于处理具有斜坡特征的全景的最高斜坡的线的侧倾和纵倾)以及 “verticalscale” (例如,沿着在较低的缩放水平上可见的y轴的图像的片段)。子组Annotation_properties 包含属性,诸如 “horizon_height_fraction” (例如,地平线的垂直位置(高度),被表达为可视长条的片段,可以对其进行调整以最大化注释和切片的图像之间的适合度)以及“annotation_height_fraction”(例如,包含注释的平面的垂直位置(高度),被表达为可视长条的一片段)。该子组还包括“pano_link”子组,其描述了允许用户导航到邻居全景或到另一个相关文档的链接符号的属性。“link”子组将“link_text”(例如,着陆全景的描述)包括进来作为元素,并且将下述包括进来作为属性“yaw_deg” (例如,链接所指向的方向)、“pano_id” (例如,对链接的全景的标识符) 和“r0ad_argb”(例如,道路的属性,诸如地图上的道路的颜色)(未示出)。子组还可以包括“floating_teXt”组或元素,其标识了全景中的任意特征,并且还可以支持例如到本地数据储存库或网站(未示出)的任意链接。应当注意,以上用于配置信息的方案仅仅是说明性的,并且可以以很多有利的方式来进行安排,包括使用不依赖于XML的技术。图8是根据本发明的一个实施例的由渲染器执行的处理的流程图。在步骤802,渲染器通过反向变换来预先计算视口的前图像(pre-image)。这定义了表面的一部分,这里将其称为“预先计算的区域”。图9A图示了在具有矩形视口 920的圆柱形表面900的上下文中说明了这点,矩形视口 920通过反向变换定义了预先计算的区域 910。应当注意,视口不必是矩形,并且该技术用于离散化的圆柱形(基于网格)或用于连续的体素到像素的映射。例如,可以通过圆柱形上的对应网格来在视口上定义网格。这些网格不必是统一的,并且是如正向或反向映射所定义的彼此的图像。圆柱形上的网格典型地将仅覆盖圆柱形的一部分。在连续变换的情况下,视口的前图像将定义圆柱形的连续区域。在步骤804,渲染器预先计算变换,该变换将每个像素从预先计算的区域映射到视口中的像素。从某种意义上说,假定圆柱形在空间中保持静止。假定纹理将在圆柱形上“滑动”,而不是将纹理图像附加到变化的圆柱形。在步骤806,渲染器响应于用户输入来对图像/纹理进行平移。在步骤808,渲染器确定与预先计算的表面的区域交叉的图像/纹理部分。这定义了需要在视口中进行渲染的像素集。如果用户最近已经改变了视点,则这需要被更新。更准确地说,在步骤806,可以通过在对应方向上平移纹理来容易地实现向视口的左边或右边的任何平移,从而生成与预先计算的区域的不同的交叉部分。同样,通过沿着这些方向平移纹理可以实现向上或向下的任何平移。仅通过在对应方向上平移纹理来实现任何任意方向的平移。每一次都生成与预先计算的区域的新交叉部分。这在图9B和图9C中进行了图示, 其中950表示预先计算的区域,而960表示图像/纹理。在步骤810,将预先计算的变换应用于与预先计算的区域交叉的图像/纹理部分。最后,在步骤812,变换的影像被渲染在视口中。在一个实施例中,渲染器使用直线投影的属性来加速对全景图像的渲染。如果将如圆柱形的表面视作是无限的,则它是天生具有自然操作(例如,沿着轴线平移,并且沿着轴线旋转)组G。同样,如果将纹理视作是无限的,则纹理也天生是具有在平面中平移的组 Ho结果是G和H之间是规范同态(canonical homomorphism)。换言之,圆柱形绕其轴旋转等同于纹理在例如X方向上平移。圆柱形沿其轴的平移等同于纹理在例如y方向上平移。 这允许提前预先计算所有的投影参数,并且将视点的变化模拟为纹理的平移。图IOA和图 IOB图示了如何计算从屏幕空间到纹理空间的投影参数的示例。如图IOA和图IOB所图示的
(I)如果屏幕1020上的点M具有坐标(x,y),则在空间中其具有坐标(x,y,R),其中R是圆柱形1010的半径。(2)在该情况下,tan0 = |■,并且点p在纹理空间中具有以下坐标
权利要求
1.一种用于渲染表面的方法,包括在用于查看渲染到所述表面的图像的用户输入之前(a)预先计算通过从视口到所述表面的第一变换定义的表面上的区域;(b)预先计算第二变换,所述第二变换从所述区域映射到所述视口;响应于用于查看渲染到所述表面的所述图像的所述用户输入(c)根据所述用户输入,确定图像的一部分,所述一部分与所述区域交叉;(d)将所述第二变换应用于与所述区域交叉的所述图像的所述一部分,以获得变换的图像;以及(e)在所述视口中渲染所述变换的图像以用于显示,其中,在至少一个计算设备上执行步骤(a)-(c)中的每一个。
2.根据权利要求I所述的方法,其中,所述计算(a)包括计算圆柱形上的区域。
3.根据权利要求I所述的方法,其中,所述计算(a)包括计算通过从第二网格到第一网格的所述第一变换定义的所述第一网格上的区域,并且其中,所述计算(b)包括计算所述第二变换,所述第二变换从所述第一网格映射到所述第二网格。
4.根据权利要求I所述的方法,其中,所述计算(a)包括将所述第一变换计算为从体素到像素的连续变换,并且其中,所述计算(b)包括将所述第二变换计算为从体素到像素的连续变换。
5.根据权利要求I所述的方法,进一步包括(f)平移所述图像;(g)确定与在(a)中计算的所述区域交叉的(f)中所平移的所述图像的第二部分;以及(h)将在(b)中计算的所述第二变换应用于在(g)中确定的所述图像的所述第二部分, 得到第二变换的图像,所述第二变换的图像在所述视口中被渲染用于显示。
6.根据权利要求5所述的方法,进一步包括确定在(d)中确定的所述变换的图像和在(h)中确定的所述第二变换的图像之间的插值。
7.根据权利要求I所述的方法,进一步包括基于捕捉到所述图像的相机的角度来调整所述图像。
8.根据权利要求I所述的方法,其中,所述确定(c)包括确定与所述区域交叉的全景图像的一部分。
9.一种用于渲染表面的系统,包括服务器,所述服务器计算通过从视口到所述表面的第一变换定义的所述表面上的区域,并且计算从所述区域映射到所述视口的第二变换,以及全景查看器,所述全景查看器确定与所述表面上的所述区域交叉的图像的一部分,并且将所述第二变换应用于与所述表面上的所述区域交叉的所述图像的所述一部分,得到第一变换的图像,所述第一变换的图像在所述视口中被渲染用于显示。
10.根据权利要求9所述的系统,其中,所述表面是圆柱形的。
11.根据权利要求9所述的系统,其中,在所述视口上定义有网格,并且在所述表面上定义有网格,并且其中,所述第一变换和第二变换是从一个网格到另一网格。
12.根据权利要求9所述的系统,其中,所述第一变换和第二变换是从体素到像素的连续变换。
13.根据权利要求9所述的系统,其中,所述全景查看器响应于用户输入来平移所述图像,确定与所计算的区域交叉的所平移的图像的第二部分,以及将所述第二变换应用于所确定的图像的所述第二部分,得到第二变换的图像,所述第二变换的图像在所述视口中被渲染用于显示。
14.根据权利要求9所述的系统,其中,所述全景查看器确定在所述第一变换和第二变换的图像之间的插值。
15.根据权利要求9所述的系统,其中,基于捕捉到所述图像的相机的角度来调整所述图像。
16.根据权利要求9所述的系统,其中,所述图像是全景图像。
全文摘要
本发明涉及渲染、查看和注释全景图像及其应用。在一个实施例中,一种系统可以用于查看全景图像。该系统包括全景查看器,该全景查看器接收第一全景图像的至少一部分,并且呈现显示第一全景图像的该部分的视口。视口包括用全景图像渲染的三维覆盖图。在用全景图像来渲染三维覆盖图时,全景查看器在三维空间中改变三维覆盖图的定向,以与视口内的全景图像的定向的变化相匹配。
文档编号G01C21/26GK102609973SQ201110424959
公开日2012年7月25日 申请日期2008年5月27日 优先权日2007年5月25日
发明者丹尼尔·菲利普, 卢克·文森特, 安德鲁·蒂莫西·希巴尔斯基, 斯特芬尼·拉丰, 斯蒂芬·周, 杨钟皓 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1