在全景漫游中实现全景视图平滑切换的方法及装置的制造方法

文档序号:10513162阅读:272来源:国知局
在全景漫游中实现全景视图平滑切换的方法及装置的制造方法
【专利摘要】本发明提供一种在全景漫游中实现全景视图平滑切换的方法及装置,其中,方法包括:获得当前场景的当前全景视图及其对应的当前全景视图深度信息,以及目标场景的目标全景视图及其对应的目标全景视图深度信息;产生当前三维重构空间和目标三维重构空间;在当前三维重构空间中确定第一原拍摄位置和第一目标拍摄位置,并在目标三维重构空间中确定第二原拍摄位置和第二目标拍摄位置;计算全景漫游切换帧对应的观察位置;在当前三维重构空间中的观察位置处生成当前渲染图,并在目标三维重构空间中的观察位置处生成目标渲染图;根据当前渲染图和目标渲染图合成全景漫游切换帧对应的观察位置渲染图。本发明能够全景漫游中实现全景视图的平滑、自然切换。
【专利说明】
在全景漫游中实现全景视图平滑切换的方法及装置
技术领域
[0001] 本发明涉及图像处理技术领域,尤其涉及全景漫游中的场景切换方法,具体来说 就是一种在全景漫游中实现全景视图平滑切换的方法及装置。
【背景技术】
[0002] 全景漫游中从一个场景切换到相邻的场景时,现有做法是直接瞬间切换。这种切 换方式给用户带来的体验是比较生硬,用户难以感受两个场景之间的关系。当用户从当前 场景走入相邻场景时,更自然的切换方式就像3D游戏一样,从当前场景自然、平滑地切换到 目标场景。
[0003] 为了实现从当前场景自然、平滑地切换到目标场景,在切换过程中,人们对当前全 景视图的显示进行一些变换,再瞬间切换到相邻的全景视图。例如相邻的全景视图在右侧, 切换时则把当前全景视图的图像向左移动,模拟向右运动的感觉;或者相邻全景视图在前 方,切换时则把当前全景视图的图像放大,模拟向前移动。但是,这种切换方式仍然不够自 然,一是对图像的简单变换不能逼真模拟移动的感觉,二是切换过程末尾仍有突变的感觉。
[0004] 此外,中国发明专利公开号CN103077509A介绍了一种利用离散立方体全景视图实 时合成连续平滑全景视频的方法,对相邻两个全景视图进行特征点匹配,根据匹配结果进 行三角剖分,使两幅全景视图三角剖分的拓扑相同。切换过程相当于把当前全景视图由当 前三角剖分扭曲变换成相邻全景视图的三角剖分。该方法虽然可以获得较好的效果,但是 需要三角剖分建立的足够细,匹配特征点要足够多、足够密。但现实场景很难找到足够多、 足够密的匹配特征点,而且数据处理量大,实际操作中全景变换会出现明显的不自然。
[0005] 另外,中国发明专利公开号CN104182999A介绍了一种全景内动画跳转方法及系 统,在从当前场景向目标场景切换过程中,移动和拉伸当前场景,并在跳转动画开始时就开 始加载目标场景的图像,使得当前场景到目标场景的切换更加连贯。该全景内动画跳转方 法在切换时插入切换动画,减少场景切换给用户带来的生硬与不适,但该方法没有让用户 体验到从当前场景渐进到目标场景,因此,本方法依然不能逼真模拟用户在场景中移动,从 而引起场景的变化。
[0006] 因此,本领域技术人员亟待研发一种场景平滑切换方法,让用户体验到从当前场 景自然、平滑地过度到目标场景。

【发明内容】

[0007] 有鉴于此,本发明要解决的技术问题在于提供一种在全景漫游中实现全景视图平 滑切换的方法及装置,解决现有技术中场景切换不自然,场景切换数据处理量大的问题。
[0008] 为了解决上述技术问题,本发明的一个【具体实施方式】提供一种在全景漫游中实现 全景视图平滑切换的方法,包括:获得当前场景的当前全景视图及其对应的当前全景视图 深度信息,以及目标场景的目标全景视图及其对应的目标全景视图深度信息;根据所述当 前全景视图和所述当前全景视图深度信息产生当前三维重构空间,并根据所述目标全景视 图和所述目标全景视图深度信息产生目标三维重构空间;在所述当前三维重构空间中确定 第一原拍摄位置和第一目标拍摄位置,并在所述目标三维重构空间中确定第二原拍摄位置 和第二目标拍摄位置;计算全景漫游切换帧对应的观察位置;在所述当前三维重构空间中 的所述观察位置处生成当前渲染图,并在所述目标三维重构空间中的所述观察位置处生成 目标渲染图;根据所述当前渲染图和所述目标渲染图合成所述全景漫游切换帧对应的观察 位置渲染图。
[0009] 本发明的另一个【具体实施方式】提供一种在全景漫游中实现全景视图平滑切换的 装置,包括:采集单元,用于获得当前场景的当前全景视图及其对应的当前全景视图深度信 息,以及目标场景的目标全景视图及其对应的目标全景视图深度信息;重构单元,用于根据 所述当前全景视图和所述当前全景视图深度信息产生当前三维重构空间,并根据所述目标 全景视图和所述目标全景视图深度信息产生目标三维重构空间;位置确定单元,用于在所 述当前三维重构空间中确定第一原拍摄位置和第一目标拍摄位置,并在所述目标三维重构 空间中确定第二原拍摄位置和第二目标拍摄位置;计算单元,用于计算全景漫游切换帧对 应的观察位置;渲染单元,用于在所述当前三维重构空间中的所述观察位置处生成当前渲 染图,并在所述目标三维重构空间中的所述观察位置处生成目标渲染图;合成单元,用于根 据所述当前渲染图和所述目标渲染图合成所述全景漫游切换帧对应的观察位置渲染图。
[0010] 根据本发明的上述【具体实施方式】,可以得知在全景漫游中实现全景视图平滑切换 的方法及装置至少具有以下有益效果和特点:首先,获得当前全景视图及其对应的当前全 景视图深度信息,以及目标全景视图及其对应的目标全景视图深度信息;然后,根据当前全 景视图和当前全景视图深度信息产生当前三维重构空间,并根据目标全景视图和目标全景 视图深度信息产生目标三维重构空间;其次,分别在当前三维重构空间和目标三维重构空 间中确定原拍摄位置和目标拍摄位置,计算全景漫游切换帧对应的观察位置,并根据观察 位置在当前三维重构空间内生成当前渲染图,在目标三维重构空间中生成目标渲染图;最 后根据当前渲染图和目标渲染图合成观察位置渲染图。利用多帧全景漫游切换帧模拟观看 者从当前全景视图A(当前场景)逐渐平移到目标全景视图B(目标场景),将不同全景视图之 间的直接切换变成一种渐近切换,即利用多帧图像描绘从当前全景视图A切换到目标全景 视图B的过程,每帧图像中观看者相对当前全景视图A和目标全景视图B的位置关系是不同 的,而是从当前全景视图A渐进到目标全景视图B,实现全景漫游中全景视图的平滑切换,场 景切换过程如同用户在现实场景中移动;场景切换时不存在突变,不会给用户带来视觉不 适;并且不依赖于足够密的特征点进行匹配,数据处理量小,处理效率高。
[0011] 应了解的是,上述一般描述及以下【具体实施方式】仅为示例性及阐释性的,其并不 能限制本发明所欲主张的范围。
【附图说明】
[0012] 下面的所附附图是本发明的说明书的一部分,其绘示了本发明的示例实施例,所 附附图与说明书的描述一起用来说明本发明的原理。
[0013] 图1为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例一的流程图;
[0014] 图2为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例二的流程图;
[0015] 图3为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例三的流程图;
[0016] 图4为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例四的流程图;
[0017] 图5为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例五的流程图;
[0018] 图6为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的装 置的实施例一的框图;
[0019] 图7为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的装 置的实施例二的框图;
[0020] 图8为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的装 置的实施例三的框图;
[0021] 图9为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的装 置的实施例四的框图;
[0022] 图10为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的 装置的实施例五的框图。
【具体实施方式】
[0023]为使本发明实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细 叙述清楚说明本发明所揭示内容的精神,任何所属技术领域技术人员在了解本
【发明内容】
的 实施例后,当可由本
【发明内容】
所教示的技术,加以改变及修饰,其并不脱离本
【发明内容】
的精 神与范围。
[0024] 本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。 另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部 分。
[0025] 关于本文中所使用的"第一"、"第二"、…等,并非特别指称次序或顺位的意思,也 非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
[0026] 关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方 向。因此,使用的方向用语是用来说明并非用来限制本创作。
[0027] 关于本文中所使用的"包含"、"包括"、"具有"、"含有"等等,均为开放性的用语,即 意指包含但不限于。
[0028] 关于本文中所使用的"及/或",包括所述事物的任一或全部组合。
[0029]关于本文中所使用的用语"大致"、"约"等,用以修饰任何可以微变化的数量或误 差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的 范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其 他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。 [0030]某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术 人员在有关本申请的描述上额外的引导。
[0031] 图1为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例一的流程图,如图1所示,获得当前全景视图及其对应的当前全景视图深度信 息,以及目标全景视图及其对应的目标全景视图深度信息;并根据当前全景视图和当前全 景视图深度信息产生当前三维重构空间,并根据目标全景视图和目标全景视图深度信息产 生目标三维重构空间;然后分别在当前三维重构空间和目标三维重构空间中确定原拍摄位 置和目标拍摄位置,计算全景漫游切换帧对应的观察位置,并根据观察位置在当前三维重 构空间内生成当前渲染图,在目标三维重构空间中生成目标渲染图;最后根据当前渲染图 和目标渲染图合成观察位置渲染图。
[0032] 该附图【具体实施方式】包括:
[0033] 步骤101:获得当前场景的当前全景视图及其对应的当前全景视图深度信息,以及 目标场景的目标全景视图及其对应的目标全景视图深度信息。当前全景视图和目标全景视 图可以为球面投影全景视图,可以将当前全景视图和目标全景视图划分成128X64的矩形 网格,每个矩形网格可以进一步拆分成两个直角三角形,根据直角三角形顶点在全景视图 的位置,以及直角三角形顶点与球心的距离(全景视图深度信息)确定直角三角形顶点的三 维坐标。
[0034]步骤102:根据所述当前全景视图和所述当前全景视图深度信息产生当前三维重 构空间,并根据所述目标全景视图和所述目标全景视图深度信息产生目标三维重构空间。 根据直角三角形顶点的三维坐标以及直角三角形贴图可以产生三维重构空间。
[0035]步骤103:在所述当前三维重构空间中确定第一原拍摄位置和第一目标拍摄位置, 并在所述目标三维重构空间中确定第二原拍摄位置和第二目标拍摄位置。第一原拍摄位置 可以是当前球面投影全景视图的球心,第二目标摄位置可以是目标球面投影全景视图的球 心。通常情况下,第一原拍摄位置和第一目标拍摄位置之间的直线距离,等于第二原拍摄位 置和第二目标拍摄位置之间的直线距离。
[0036]步骤104:计算全景漫游切换帧对应的观察位置。观察位置就是从当前场景移动到 目标场景途经的某一位置,具体来说,本发明利用多个全景漫游切换帧模拟从当前场景移 动到目标场景,观察位置就是某一个全景漫游切换帧对应的位置,通常情况下,第一原拍摄 位置和第一目标拍摄位置之间的直线距离,等于第二原拍摄位置和第二目标拍摄位置之间 的直线距离;观察位置与第一原拍摄位置之间的距离,等于观察位置与第二原拍摄位置之 间的距离;观察位置与第一目标拍摄位置之间的距离,等于观察位置与第二目标拍摄位置 之间的距离。
[0037]步骤105:在所述当前三维重构空间中的所述观察位置处生成当前渲染图,并在所 述目标三维重构空间中的所述观察位置处生成目标渲染图。通常由GPU(图形处理器)生成 当前渲染图和目标渲染图。
[0038]步骤106:根据所述当前渲染图和所述目标渲染图合成所述全景漫游切换帧对应 的观察位置渲染图。将观察位置与第一原拍摄位置之间的距离,比上观察位置与第一目标 拍摄位置之间的距离,根据得到的比值给当前渲染图和目标渲染图的色彩通道值分配权 重,最终得到观察位置渲染图的色彩通道值。或者,将观察位置与第二原拍摄位置之间的距 离,比上观察位置与第二目标拍摄位置之间的距离,根据得到的比值给当前渲染图和目标 渲染图的色彩通道值分配权重,最终得到观察位置渲染图的色彩通道值。
[0039] 参见图1,在当前三维重构空间中,当观察位置在第一原拍摄位置时,当前渲染图 就是当前全景视图;在目标三维重构空间中,当观察位置在第二目标拍摄位置时,目标渲染 图就是目标全景视图。利用多帧全景漫游切换帧模拟观看者(用户)从当前全景视图逐渐平 移到目标全景视图,将不同全景视图之间的直接切换变成一种渐近切换,即利用多帧全景 漫游切换帧(观察位置渲染图)描绘从当前全景视图逐渐平移到目标全景视图的过程,每帧 观察位置渲染图中观看者相对当前全景视图和目标全景视图的位置关系是不同的,而是从 当前全景视图逐渐平移到目标全景视图,实现全景漫游中全景视图的平滑切换。
[0040] 图2为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例二的流程图,如图2所示,根据所述当前全景视图和所述当前全景视图深度信息 产生当前三维重构空间,并根据所述目标全景视图和所述目标全景视图深度信息产生目标 三维重构空间。
[0041] 该附图【具体实施方式】中,根据所述当前全景视图和所述当前全景视图深度信息产 生当前三维重构空间包括:
[0042] 步骤1021:将所述当前全景视图均分成阵列为0ΧΡ的源网格。例如,假如当前全景 视图为球形视图,可以将当前全景视图展开成一个矩形平面图,然后将该矩形平面图均分 成128X64阵列源网格,当然为了获得更加逼真的视觉效果,也可以将矩形平面图均分成 256X128阵列源网格,本发明不以此为限。
[0043]步骤1022:根据所述当前全景视图深度信息确定所述源网格的三维顶点坐标。本 发明可以通过图像匹配算法或者3D激光扫描仪获得当前全景视图深度信息。根据源网格在 矩形平面图上的位置,可以知道源网格(即矩形网格)顶点的二维坐标,或者将矩形网格拆 分成两个直角三角形网格,可以知道直角三角形网格顶点的二维坐标,再根据当前全景视 图深度信息可以获得矩形网格或者三角形网格顶点的三维坐标(即三维顶点坐标)。
[0044]步骤1023:根据所述源网格以及所述源网格的三维顶点坐标产生当前三维重构空 间。利用源网格对应的球形视图(即球面贴图)和三维顶点坐标可以产生当前三维重构空 间。
[0045]根据所述目标全景视图和所述目标全景视图深度信息产生目标三维重构空间,具 体包括:
[0046]步骤1024:将所述目标全景视图均分成阵列为0ΧΡ的目标网格。例如,目标全景视 图为球形视图,可以将目标全景视图展开成一个矩形平面图,然后将该矩形平面图均分成 128X64阵列目标网格,当然为了获得更加逼真的视觉效果,也可以将矩形平面图均分成 256X128阵列目标网格,本发明不以此为限。
[0047]步骤1025:根据所述目标全景视图深度信息确定所述目标网格的三维顶点坐标。 可以通过图像匹配算法或者3D激光扫描仪获得目标全景视图深度信息。根据目标网格在矩 形平面图上的位置,可以知道目标网格(即矩形网格)顶点的二维坐标,或者将矩形网格拆 分成两个直角三角形网格,可以知道直角三角形网格顶点的二维坐标,再根据目标全景视 图深度信息可以获得矩形网格或者三角形网格顶点的三维坐标(即三维顶点坐标)。
[0048]步骤1026:根据所述目标网格以及所述目标网格的三维顶点坐标产生目标三维重 构空间。利用目标网格对应的球形视图(即球面贴图)和三维顶点坐标可以产生目标三维重 构空间。
[0049] 图3为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例三的流程图,如图3所示,根据全景漫游切换帧对应的帧序号和切换总帧数,计 算该全景漫游切换帧对应的观察位置。
[0050] 该附图【具体实施方式】中,步骤104具体包括:
[0051] 步骤1041:确定全景漫游切换帧的帧序号。本发明利用N帧全景漫游切换帧模拟从 当前场景切换到目标场景,即利用N个特征点将第一原拍摄位置和第一目标拍摄位置之间 的连线N-1等分,并利用N个特征点将第二原拍摄位置和第二目标拍摄位置之间的连线N-1 等分,特征点即为观察位置,特征点的序号即为帧序号;在当前三维重构空间中,第一个特 征点对应的全景漫游切换帧为当前全景视图,在目标三维重构空间中,第N个特征点对应的 全景漫游切换帧为目标全景视图。
[0052]步骤1042:根据切换总帧数和所述帧序号计算该全景漫游切换帧对应的观察位 置。根据切换总帧数N和帧序号Μ可以计算出全景漫游切换帧对应的观察位置。
[0053]本发明的具体实施例中,所述观察位置Τ与所述第一原拍摄位置Α之间的距离L1的 具体计算公式为:
[0055] 其中,Μ为全景漫游切换帧的帧序号;N为切换总帧数;B为第一目标拍摄位置,AB为 第一原拍摄位置Α和第一目标拍摄位置Β之间的距离;
[0056] 所述观察位置T与所述第二原拍摄位置C之间的距离L2的具体计算公式为:
[0058]其中,Μ为全景漫游切换帧的帧序号;N为切换总帧数;D为第二目标拍摄位置,CD为 第二原拍摄位置C和第二目标拍摄位置D之间的距离。通常情况下,距离L1与距离L2相等。
[0059] 图4为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例四的流程图,如图4所示,根据所述当前渲染图和所述目标渲染图合成所述全景 漫游切换帧对应的观察位置渲染图。
[0060] 在该附图具体实施例中,步骤106具体包括:
[0061] 步骤1061:计算距离L1与距离AB之间的第一比例R1。假定,全景漫游切换帧对应的 帧序号Μ为21,从当前场景切换到目标场景的切换总帧数N为101,那么R1 = (M-1)/(N-1) = 0.2,即R1 为 0.2。
[0062]步骤1062:计算所述观察位置T与所述第一目标拍摄位置B之间的距离TB与距离AB 的第二比例R2。观察位置T对应的全景漫游切换帧的帧序号Μ为21,从当前场景切换到目标 场景的切换总帧数Ν为101,那么R2 = (N-M)/(N-1) = (1-R1) =0.8,即R2为0.8。
[0063]步骤1063:根据所述第一比例R1、所述第二比例R2、所述当前渲染图和所述目标渲 染图合成观察位置渲染图。当前渲染图的像素块和目标渲染图的像素块一一对应,将当前 渲染图的像素块的色彩通道值与R1相乘,将对应目标渲染图的像素块的色彩通道值与R2相 乘,然后求和,获得观察位置渲染图对应的像素块的色彩通道值,这样可以求出观察位置渲 染图所有像素块的色彩通道值,即获得观察位置渲染图。
[0064]本发明一具体实施例中,根据所述第一比例R1、所述第二比例R2、所述当前渲染图 和所述目标渲染图合成观察位置渲染图,具体包括:
[0065] 根据所述第一比例R1、所述第二比例R2、所述当前渲染图的像素色彩通道值XI和 对应的所述目标渲染图的像素色彩通道值X2合成观察位置渲染图的像素色彩通道值X。
[0066] 观察位置渲染图的像素色彩通道值X的计算公式为:
[0067] X=Χι X Ri+X2 X R2 = Χι X Ri+X2 X (1 -Ri)
[0068] 其中,X为观察位置渲染图的像素色彩通道值;XI为当前渲染图的像素色彩通道 值;X2为目标渲染图的像素色彩通道值;R1为观察位置T与所述第一原拍摄位置A之间的距 离L1与距离AB之间的比值;R2为观察位置T与所述第一目标拍摄位置B之间的距离TB与距离 AB之间的比值。
[0069]假设像素色彩通道值利用红、绿、蓝(RGB)三基色值表示,当前渲染图的像素色彩 通道值为(〇.1,〇.2,0.4),目标渲染图的像素色彩通道值为(0.2,0.5,0.5),1?1为0.2,1?2为 0· 8,那么观察位置渲染图的像素色彩通道值为(0.1X0.2+0.2 Χ0·8,0· 2X0.2+0.5X0.8, 0 · 4 X 0·2+0·5 X 0·8),BP(0·18,0·44,0·48)。
[0070] 图5为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的方 法的实施例五的流程图,如图5所示,根据所述当前渲染图和所述目标渲染图合成所述全景 漫游切换帧对应的观察位置渲染图。
[0071] 该附图所示具体实施例中,步骤S106还可以进一步包括:
[0072] 步骤S1061':计算距离L2与距离⑶之间的第三比例R3。通常距离L2与距离L1相等, 第三比例R3与第一比例R1相等。
[0073]步骤S1062':计算所述观察位置T与所述第二目标拍摄位置D之间的距离TD与距离 ⑶之间的第四比例R4。通常距离TD与距离TB相等,第四比例R4与第二比例R2相等。
[0074]步骤S1063':根据所述第三比例R3、所述第四比例R4、所述当前渲染图和所述目标 渲染图合成观察位置渲染图。当前渲染图的像素块和目标渲染图的像素块一一对应,将当 前渲染图的像素块的色彩通道值与R3相乘,将对应目标渲染图的像素块的色彩通道值与R4 相乘,然后求和,获得观察位置渲染图对应的像素块的色彩通道值,这样可以求出观察位置 渲染图所有像素块的色彩通道值,即获得观察位置渲染图。
[0075]本发明一具体实施例中,根据所述第三比例R3、所述第四比例R4、所述当前渲染图 和所述目标渲染图合成观察位置渲染图,具体包括:
[0076]根据所述第三比例R3、所述第四比例R4、所述当前渲染图的像素色彩通道值X3和 对应的所述目标渲染图的像素色彩通道值X4合成观察位置渲染图的像素色彩通道值X。
[0077] 观察位置渲染图的像素色彩通道值X的计算公式为:
[0078] X=X3 X R3+X4 X R4=X3 X R3+X4 X (1 -R3)
[0079] 其中,X为观察位置渲染图的像素色彩通道值;X3为当前渲染图的像素色彩通道 值;X4为目标渲染图的像素色彩通道值;R3为距离观察位置T与第二原拍摄位置C之间的距 离L2与距离⑶的比值;R4为观察位置T与第二目标拍摄位置D之间的距离TD与距离⑶的比 值。
[0080] 图6为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的装 置的实施例一的框图,上述图1-图5的方法可以应用到图6所示的实现全景视图平滑切换的 装置中,如图6所示,获得当前全景视图及其对应的当前全景视图深度信息,以及目标全景 视图及其对应的目标全景视图深度信息;并根据当前全景视图和当前全景视图深度信息产 生当前三维重构空间,并根据目标全景视图和目标全景视图深度信息产生目标三维重构空 间;然后分别在当前三维重构空间和目标三维重构空间中确定原拍摄位置和目标拍摄位 置,并计算全景漫游切换帧对应的观察位置,并根据观察位置在当前三维重构空间内生成 当前渲染图,在目标三维重构空间中生成目标渲染图;最后根据当前渲染图和目标渲染图 合成观察位置渲染图。
[0081] 该附图【具体实施方式】中,在全景漫游中实现全景视图平滑切换的装置100包括采 集单元10、重构单元20、位置确定单元30、计算单元40、植染单元50、合成单元60,采集单元 10用于获得当前场景的当前全景视图及其对应的当前全景视图深度信息,以及目标场景的 目标全景视图及其对应的目标全景视图深度信息;重构单元20用于根据所述当前全景视图 和所述当前全景视图深度信息产生当前三维重构空间,并根据所述目标全景视图和所述目 标全景视图深度信息产生目标三维重构空间;位置确定单元30用于在所述当前三维重构空 间中确定第一原拍摄位置和第一目标拍摄位置,并在所述目标三维重构空间中确定第二原 拍摄位置和第二目标拍摄位置;计算单元40用于计算全景漫游切换帧对应的观察位置;渲 染单元50用于在所述当前三维重构空间中的所述观察位置处生成当前渲染图,并在所述目 标三维重构空间中的所述观察位置处生成目标渲染图;合成单元60用于根据所述当前渲染 图和所述目标渲染图合成所述全景漫游切换帧对应的观察位置渲染图。
[0082] 参见图6,当观察位置在第一原拍摄位置时,当前渲染图就是当前全景视图,当观 察位置在第二目标拍摄位置时,目标渲染图就是目标全景视图。本发明利用多帧全景漫游 切换帧模拟观看者(用户)从当前全景视图逐渐平移到目标全景视图,将不同全景视图之间 的直接切换变成一种渐近切换,即利用多帧全景漫游切换帧(多帧观察位置渲染图)描绘从 当前全景视图逐渐平移到目标全景视图的过程,每帧观察位置渲染图中观看者相对当前全 景视图和目标全景视图的位置关系是不同的,而是从当前全景视图逐渐平移到目标全景视 图,实现全景漫游中全景视图的平滑切换。
[0083] 图7为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的装 置的实施例二的框图,如图7所示,所述重构单元20进一步包括场景分割模块201、坐标确定 模块202、三维重构模块203,其中,场景分割模块201用于将所述当前全景视图均分成阵列 为0ΧΡ的源网格,并将所述目标全景视图均分成阵列为0ΧΡ的目标网格;坐标确定模块202 用于根据所述当前全景视图深度信息确定所述源网格的三维顶点坐标,并根据所述目标全 景视图深度信息确定所述目标网格的三维顶点坐标;三维重构模块203用于根据所述源网 格以及所述源网格的三维顶点坐标产生当前三维重构空间,并根据所述目标网格以及所述 目标网格的三维顶点坐标产生目标三维重构空间。
[0084] 参见图7,假如目标全景视图为球形视图,可以将目标全景视图展开成一个矩形平 面图,然后将该矩形平面图均分成128X64阵列目标网格,当然为了获得更加逼真的视觉效 果,也可以将矩形平面图均分成256X 128阵列目标网格;根据目标网格在矩形平面图上的 位置,可以知道目标网格(即矩形网格)顶点的二维坐标,或者将矩形网格拆分成两个直角 三角形网格,可以知道直角三角形网格顶点的二维坐标,再根据目标全景视图深度信息可 以获得矩形网格顶点或者三角形网格顶点的三维坐标(即三维顶点坐标);利用目标网格对 应的球形视图(即球面贴图)和三维顶点坐标可以产生目标三维重构空间。
[0085] 图8为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的装 置的实施例三的框图,如图8所示,计算单元40进一步包括确定模块401、观察位置计算模块 402,其中,确定模块401用于确定全景漫游切换帧的帧序号;观察位置计算模块402用于根 据切换总帧数和所述帧序号计算该全景漫游切换帧对应的观察位置。
[0086] 参见图8,本发明利用N帧全景漫游切换帧模拟从当前场景切换到目标场景,即利 用N个特征点将第一原拍摄位置和第一目标拍摄位置之间的连线N-1等分,并利用N个特征 点将第二原拍摄位置和第二目标拍摄位置之间的连线N-1等分,特征点的位置即为观察位 置,特征点的序号即为帧序号;在当前三维重构空间中,第一个特征点对应的全景漫游切换 帧为当前全景视图,在目标三维重构空间中,第N个特征点对应的全景漫游切换帧为目标全 景视图。根据切换总帧数N和帧序号Μ可以计算出全景漫游切换帧对应的观察位置。
[0087] 图9为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的装 置的实施例四的框图,如图9所示,所述合成单元60进一步包括第一计算模块601、第二计算 模块602、第一合成模块603,其中,第一计算模块601用于计算所述观察位置Τ与所述第一原 拍摄位置Α之间的距离L1,与所述第一原拍摄位置Α和所述第一目标拍摄位置Β之间的距离 AB的第一比例R1;第二计算模块602用于计算所述观察位置T与所述第一目标拍摄位置B之 间的距离TB,与所述第一原拍摄位置A和所述第一目标拍摄位置B之间的距离AB的第二比例 R2;第一合成模块603用于根据所述第一比例R1、所述第二比例R2、所述当前渲染图和所述 目标渲染图合成观察位置渲染图。
[0088] 参见图9,假如全景漫游切换帧对应的帧序号Μ为21,从当前场景切换到目标场景 的切换总帧数 Ν 为 101,那么 1?1 = (1-1)/0-1)=〇.2,即1?1为〇.2,那么1?2 = 0-1〇/0-1)= (1-R1) = 0.8,即R2为0.8。当前渲染图的像素块和目标渲染图的像素块一一对应,将当前渲 染图的像素块的色彩通道值与R1相乘,将对应目标渲染图的像素块的色彩通道值与R2相 乘,然后求和,获得观察位置渲染图对应的像素块的色彩通道值,这样可以求出观察位置渲 染图所有像素块的色彩通道值,即获得观察位置渲染图。
[0089] 观察位置渲染图的像素色彩通道值X的计算公式为:
[0090] X=Χι X Ri+x2 X R2 = Χι X Ri+x2 X (1-R1)
[0091] 其中,X为观察位置渲染图的像素色彩通道值;XI为当前渲染图的像素色彩通道 值;X2为目标渲染图的像素色彩通道值;R1为观察位置T与所述第一原拍摄位置A之间的距 离L1与距离AB之间的比值;R2为观察位置T与所述第一目标拍摄位置B之间的距离TB与距离 AB之间的比值。假设像素色彩通道值为红、绿、蓝三基色值,当前渲染图的像素色彩通道值 为(0.1,0.2,0.4),目标渲染图的像素色彩通道值为(0.2,0.5,0.5),1?1为0.2,1?2为0.8,那 么观察位置渲染图的像素色彩通道值为(0.1X0.2+0.2Χ0·8,0·2 X0.2+0.5 Χ0·8,0·4Χ 0.2+0.5X0.8),BP(0.18,0.44,0.48)〇
[0092] 图10为本发明【具体实施方式】提供的一种在全景漫游中实现全景视图平滑切换的 装置的实施例五的框图,如图10所示,所述合成单元60进一步包括第三计算模块604、第四 计算模块605、第二合成模块606,其中,第三计算模块604用于计算所述观察位置Τ与所述第 二原拍摄位置C之间的距离L2,与所述第二原拍摄位置C和所述第二目标拍摄位置D之间的 距离CD的第三比例R3;第四计算模块605用于计算所述观察位置Τ与所述第二目标拍摄位置 D之间的距离TD,与所述第二原拍摄位置C和所述第二目标拍摄位置D之间的距离CD的第四 比例R4;第二合成模块606用于根据所述第三比例R3、所述第四比例R4、所述当前渲染图和 所述目标渲染图合成观察位置渲染图。
[0093] 本发明提供一种在全景漫游中实现全景视图平滑切换的方法及装置,获得当前全 景视图及其对应的当前全景视图深度信息,以及目标全景视图及其对应的目标全景视图深 度信息;然后,根据当前全景视图和当前全景视图深度信息产生当前三维重构空间,并根据 目标全景视图和目标全景视图深度信息产生目标三维重构空间;其次,分别在当前三维重 构空间和目标三维重构空间中确定原拍摄位置和目标拍摄位置,计算全景漫游切换帧对应 的观察位置,并根据观察位置在当前三维重构空间内生成当前渲染图,在目标三维重构空 间中生成目标渲染图;最后根据当前渲染图和目标渲染图合成观察位置渲染图。利用多帧 全景漫游切换帧模拟观看者从当前全景视图A(当前场景)逐渐平移到目标全景视图B(目标 场景),将不同全景视图之间的直接切换变成一种渐近切换,即利用多帧图像描绘从当前全 景视图A切换到目标全景视图B的过程,每帧图像中观看者相对当前全景视图A和目标全景 视图B的位置关系是不同的,而是从当前全景视图A渐进到目标全景视图B,实现全景漫游中 全景视图的平滑切换,场景切换过程如同用户在现实场景中移动;场景切换时不存在突变, 不会给用户带来视觉不适;并且不依赖于足够密的特征点进行匹配,数据处理量小,处理效 率高。
[0094] 上述的本发明实施例可在各种硬件、软件编码或两者组合中进行实施。例如,本发 明的实施例也可为在数据信号处理器(Digital Signal Processor,DSP)中执行的执行上 述程序的程序代码。本发明也可涉及计算机处理器、数字信号处理器、微处理器或现场可编 程门阵列(Field Programmable Gate Array,FPGA)执行的多种功能。可根据本发明配置上 述处理器执行特定任务,其通过执行定义了本发明揭示的特定方法的机器可读软件代码或 固件代码来完成。可将软件代码或固件代码发展为不同的程序语言与不同的格式或形式。 也可为了不同的目标平台编译软件代码。然而,根据本发明执行任务的软件代码与其他类 型配置代码的不同代码样式、类型与语言不脱离本发明的精神与范围。
[0095] 以上所述仅为本发明示意性的【具体实施方式】,在不脱离本发明的构思和原则的前 提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本发明保护的范围。
【主权项】
1. 一种在全景漫游中实现全景视图平滑切换的方法,其特征在于,该方法包括: 获得当前场景的当前全景视图及其对应的当前全景视图深度信息,以及目标场景的目 标全景视图及其对应的目标全景视图深度信息; 根据所述当前全景视图和所述当前全景视图深度信息产生当前三维重构空间,并根据 所述目标全景视图和所述目标全景视图深度信息产生目标三维重构空间; 在所述当前三维重构空间中确定第一原拍摄位置和第一目标拍摄位置,并在所述目标 三维重构空间中确定第二原拍摄位置和第二目标拍摄位置; 计算全景漫游切换帧对应的观察位置; 在所述当前三维重构空间中的所述观察位置处生成当前渲染图,并在所述目标三维重 构空间中的所述观察位置处生成目标渲染图;以及 根据所述当前渲染图和所述目标渲染图合成所述全景漫游切换帧对应的观察位置渲 染图。2. 如权利要求1所述的在全景漫游中实现全景视图平滑切换的方法,其特征在于,根据 所述当前全景视图和所述当前全景视图深度信息产生当前三维重构空间,具体包括: 将所述当前全景视图均分成阵列为OXP的源网格; 根据所述当前全景视图深度信息确定所述源网格的三维顶点坐标;以及 根据所述源网格以及所述源网格的三维顶点坐标产生当前三维重构空间, 根据所述目标全景视图和所述目标全景视图深度信息产生目标三维重构空间,具体包 括: 将所述目标全景视图均分成阵列为〇 X P的目标网格; 根据所述目标全景视图深度信息确定所述目标网格的三维顶点坐标;以及 根据所述目标网格以及所述目标网格的三维顶点坐标产生目标三维重构空间。3. 如权利要求1所述的在全景漫游中实现全景视图平滑切换的方法,其特征在于,计算 全景漫游切换帧对应的观察位置,具体包括: 确定全景漫游切换帧的帧序号;以及 根据切换总帧数和所述帧序号计算该全景漫游切换帧对应的观察位置。4. 如权利要求3所述的在全景漫游中实现全景视图平滑切换的方法,其特征在于,所述 观察位置T与所述第一原拍摄位置A之间的距离L1的具体计算公式为:其中,Μ为全景漫游切换帧的帧序号;N为切换总帧数;B为第一目标拍摄位置,AB为第一 原拍摄位置Α和第一目标拍摄位置Β之间的距离; 所述观察位置T与所述第二原拍摄位置C之间的距离L2的具体计算公式为:其中,Μ为全景漫游切换帧的帧序号;N为切换总帧数;D为第二目标拍摄位置,CD为第二 原拍摄位置C和第二目标拍摄位置D之间的距离。5. 如权利要求4所述的在全景漫游中实现全景视图平滑切换的方法,其特征在于,根据 所述当前渲染图和所述目标渲染图合成所述全景漫游切换帧对应的观察位置渲染图,具体 包括: 计算距离L1与距离AB之间的第一比例R1; 计算所述观察位置T与所述第一目标拍摄位置B之间的距离TB与距离AB之间的第二比 例R2;以及 根据所述第一比例R1、所述第二比例R2、所述当前渲染图和所述目标渲染图合成观察 位置渲染图。6. 如权利要求5所述的在全景漫游中实现全景视图平滑切换的方法,其特征在于,根据 所述第一比例R1、所述第二比例R2、所述当前渲染图和所述目标渲染图合成观察位置渲染 图,具体包括: 根据所述第一比例R1、所述第二比例R2、所述当前渲染图的像素色彩通道值XI和对应 的所述目标渲染图的像素色彩通道值X2合成观察位置渲染图的像素色彩通道值X。7. 如权利要求6所述的在全景漫游中实现全景视图平滑切换的方法,其特征在于,观察 位置渲染图的所述像素色彩通道值X的计算公式为: X = XiXRi+X2XR2 = XiXRi+X2X (1-Ri) 其中,X为观察位置渲染图的像素色彩通道值;XI为当前渲染图的像素色彩通道值;X2 为目标渲染图的像素色彩通道值;R1为距离L1与距离AB之间的比例;R2为距离TB与距离AB 之间的比例。8. 如权利要求4所述的在全景漫游中实现全景视图平滑切换的方法,其特征在于,根据 所述当前渲染图和所述目标渲染图合成所述全景漫游切换帧对应的观察位置渲染图,具体 包括: 计算距离L2与距离⑶之间的第三比例R3; 计算所述观察位置T与所述第二目标拍摄位置D之间的距离TD与距离CD之间的第四比 例R4;以及 根据所述第三比例R3、所述第四比例R4、所述当前渲染图和所述目标渲染图合成观察 位置渲染图。9. 如权利要求1所述的在全景漫游中实现全景视图平滑切换的方法,其特征在于,所述 当前全景视图深度信息和所述目标全景视图深度信息通过图像匹配算法获得或者3D激光 扫描仪获得。10. -种在全景漫游中实现全景视图平滑切换的装置,其特征在于,该装置包括: 采集单元,用于获得当前场景的当前全景视图及其对应的当前全景视图深度信息,以 及目标场景的目标全景视图及其对应的目标全景视图深度信息; 重构单元,用于根据所述当前全景视图和所述当前全景视图深度信息产生当前三维重 构空间,并根据所述目标全景视图和所述目标全景视图深度信息产生目标三维重构空间; 位置确定单元,用于在所述当前三维重构空间中确定第一原拍摄位置和第一目标拍摄 位置,并在所述目标三维重构空间中确定第二原拍摄位置和第二目标拍摄位置; 计算单元,用于计算全景漫游切换帧对应的观察位置; 渲染单元,用于在所述当前三维重构空间中的所述观察位置处生成当前渲染图,并在 所述目标三维重构空间中的所述观察位置处生成目标渲染图;以及 合成单元,用于根据所述当前渲染图和所述目标渲染图合成所述全景漫游切换帧对应 的观察位置渲染图。11. 如权利要求10所述的在全景漫游中实现全景视图平滑切换的装置,其特征在于,所 述重构单元进一步包括: 场景分割模块,用于将所述当前全景视图均分成阵列为OXP的源网格,并将所述目标 全景视图均分成阵列为OXP的目标网格; 坐标确定模块,用于根据所述当前全景视图深度信息确定所述源网格的三维顶点坐 标,并根据所述目标全景视图深度信息确定所述目标网格的三维顶点坐标;以及 三维重构模块,用于根据所述源网格以及所述源网格的三维顶点坐标产生当前三维重 构空间,并根据所述目标网格以及所述目标网格的三维顶点坐标产生目标三维重构空间。12. 如权利要求10所述的在全景漫游中实现全景视图平滑切换的装置,其特征在于,所 述计算单元进一步包括: 确定模块,用于确定全景漫游切换帧的帧序号;以及 观察位置计算模块,用于根据切换总帧数和所述帧序号计算该全景漫游切换帧对应的 观察位置。13. 如权利要求10所述的在全景漫游中实现全景视图平滑切换的装置,其特征在于,所 述合成单元进一步包括: 第一计算模块,用于计算所述观察位置τ与所述第一原拍摄位置A之间的距离L1,与所 述第一原拍摄位置A和所述第一目标拍摄位置B之间的距离AB的第一比例R1; 第二计算模块,用于计算所述观察位置T与所述第一目标拍摄位置B之间的距离TB,与 所述第一原拍摄位置A和所述第一目标拍摄位置B之间的距离AB的第二比例R2;以及 第一合成模块,用于根据所述第一比例R1、所述第二比例R2、所述当前渲染图和所述目 标渲染图合成观察位置渲染图。14. 如权利要求10所述的在全景漫游中实现全景视图平滑切换的装置,其特征在于,所 述合成单元进一步包括: 第三计算模块,用于计算所述观察位置T与所述第二原拍摄位置C之间的距离L2,与所 述第二原拍摄位置C和所述第二目标拍摄位置D之间的距离CD的第三比例R3; 第四计算模块,用于计算所述观察位置T与所述第二目标拍摄位置D之间的距离TD,与 所述第二原拍摄位置C和所述第二目标拍摄位置D之间的距离CD的第四比例R4;以及 第二合成模块,用于根据所述第三比例R3、所述第四比例R4、所述当前渲染图和所述目 标渲染图合成观察位置渲染图。
【文档编号】G06T15/00GK105869201SQ201610177046
【公开日】2016年8月17日
【申请日】2016年3月25日
【发明人】郝大明
【申请人】北京全景思维科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1