一种实现三维视频全景空间热点的方法和系统的制作方法

文档序号:6484349阅读:188来源:国知局
专利名称:一种实现三维视频全景空间热点的方法和系统的制作方法
技术领域
本发明涉及计算机技术领域,具体涉及一种实现三维视频全景空间热点的方法和 系统。
背景技术
随着计算机多媒体技术的不断发展,三维视频和三维视频全景空间热点将成为未 来多媒体技术关注的技术方向,与普通的二维视频相比,三维视频增加了场景的深度信息, 增强了视觉的现实感和逼真感,可以给用户提供全方位沉浸式的感受。尤其是在传统的平 面视频基础上增加深度信息,可以增强视觉的现实感和逼真感。使用户可以获得具有深度 感的立体图像。三维视频技术可以广泛应用于数字电视、远程教育、远程工业控制、三维视 频会议系统、虚拟现实系统等诸多方面。目前在三维视频技术实现上,一个3D场景中,我们看到的物体,都是由一个一个 的面片组成。而装载面片位置信息就是其各个顶点的三维坐标。这是在模型中存储的, 而要把物体在屏幕上显示,还需要将它转换成显示器上的二维坐标。这需要实施一套三 维到二维的转换公式,在现有计算机Direct3D技术中,大多采用“几何流水线”方法实 现(Geometry Pipeline)”。对于每个被引进程序的物体(mesh),它们的坐标系,坐标原 点理论上都应该是不同的,其顶点也都用局部坐标表示的。那么要做统一的变换,首先 应将它们引入到同一坐标系下,也就是“世界坐标系”。这个变换也因此被称为世界变换 (worldtransform)。经过了以上一些操作后,每个顶点在整个场景中的位置也就确定下来 了。但是要把它们映射到屏幕上,还要确定观察者的位置和视角。把所有点变换到新建立 的以观察者为基准的坐标系下,这样才能被观察者所观察到,现有技术的这个实现步骤叫 做视图变换(view transform)。经过上述两次坐标转换后,屏幕可以平行于其中一个坐标 轴平面,也就是说,经过一系列的比例范围调整,理论上能看到期盼已久的点,但是此时绘 出的物体是没有立体感的,所以对每个点,进行最后一步变换就是根据其远近程度进行一 下放缩。最后现有Direct3D技术把剪切也纳入此流水线实现方法,尽管它没有对顶点做任 何变换。但在三维视频在全景空间中播放的过程中,往往会出现标志性的建筑,或者道路 指示等,然而在录制视频的过程中我们没有对这些建筑等做特殊的处理,所以在视频播放 的过程中,就需要使用以一种图文的格式来表示这种特殊标志,这个图文标志就是热点。通 过在播放系统中添加热点,可以很轻易的对地区及建筑进行区分,更方便的进行导航。目前国外现有全景视频技术大多倾向做全景视频的采集,而国内则倾向于做静态 的全景图片的显示以及全景图片的合成。

发明内容
本发明提供一种三维视频全景播放过程中空间热点的生成方法及系统,用于解决 现有的全景视频中无法添加热点的问题。
本发明提供的一种三维视频全景播放过程中空间热点的生成方法,包括通过三维视频的播放过程中获取每一帧图像作为纹理信息,同时通过XML文件的 解析获取该时间片内热点所在的纹理坐标。通过三维转换将纹理映射到虚拟环境中的三维球体上,同时获得热点在三维世界 中的坐标,最后通过投影变换将热点从三维世界映射到屏幕上,最终绘制出热点信息。所述方法将热点从三维世界映射到屏幕坐标的主要步骤包括找出三维虚拟环境的世界变换矩阵;视图变换矩阵;投影变换矩阵;将三个矩阵做乘;作为变换矩阵。所述方法还包括,一个裁剪过程,通过裁剪判断热点是否在屏幕上显示。本发明还提供的一种三维视频全景播放过程中空间热点的生成系统,包括热点 管理系统,服务器端和客户端。所述热点管理系统功能有热点编辑、XML文件生成所述服务器端功能有XML文件解析、纹理坐标转换为三维坐标、获取变换矩阵、三 维坐标转换为平面坐标。所述客户端包含两个模块渲染模块和交互模块,交互模块负责用户与三维虚拟环 境的交换,渲染模块主要负责纹理获取、热点屏幕坐标获取。热点绘制。所述系统架构设计采用MVC架构,其中MVC应用程序被分成三个核心部件模型、 视图、控制器。其中所述模型,包括热点数据、视频信息、纹理数据、三维球面数据和状态通知;所述视图部件,包括模型绘制、热点绘制、更新视图和发送用户操作;所述控制器,包括三维交互、信息显示。


图1是本发明方法的流程示意图;图2是本发明实施例的应用流程图;图3是本发明实施例的实现流程图1 ;图4是本发明实施例的实现流程图2 ;图5是本发明的软件架构图;图6是本发明的系统架构图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施 方式对本发明实施例作进一步的详细说明。首先参照图1,是本发明一种实现三维视频全景空间热点的方法和系统的流程示 意图,主要步骤包括步骤101、读取全景视频,获取每一帧图像。本发明实施中通过
4MicrosoftDirectShow 来实现对视频的播放。DirectShow 是从 DirectX6. O 中的 DirectXMedia发展而来的,它集成了 DirectX家族中其他成员(DirectDraw、DirectSound 等)的技术。Microsoft DirectShow是一个基于Microsoft Windows平台的媒体流结构。 它支持各种格式,包括高级流模式(ASF)、运动图像专家组(MPEG)、音频视频交错(AVI)、音 频动态压缩第三层(MP3)和WAV声音文件。它支持Windows驱动模式(WDM)设备的捕捉, 以及早期Windows设备的视频。DirectShow结合了其它的DirectX技术。当视频和音频 的硬件加速可用时,它能够自动检测并进行使用,同时也支持没有硬件加速的系统。因此, Microsoft DirectShow在流媒体领域有着广泛的应用。
步骤102,通过解析XML文件找出热点的纹理坐标以及其对应的时间信息。通过热 点管理子系统来定义热点的位置信息以及与其对应的时间信息,同时以XML文件的方式保 存。在视频播放的过程中,通过解析XML文件找出热点纹理坐标以及时间信息,同时通过与 视频播放同步判断当前时间片是否有热点信息。步骤103,通过矩阵变换将热点的二维纹理坐标转换为三维世界中的坐标,然后通 过世界变换、视图变换、映射变换将其转换为屏幕坐标。参照图2,是本发明一种实现三维视频全景空间热点的方法和系统的实施例应用 流程图,主要步骤包括步骤201,从视频中获取每一帧图像,通过DirectShow对视频进行播放,从而获取 每帧图像信息。步骤202,从二维图像中热点坐标获取,在视频逐帧播放的过程中,选取热点在图 像上的坐标(χ,y),分别除以图像的宽度和高度作为热点纹理坐标(u,ν)。步骤203、保存XML文件,取得热点的纹理坐标后,我们以特定的格式保存为XML文 件,XML文件它同HTML类似,都是标记性语言,标记性语言特点就是简单易学,XML非常适合 数据交换,它在全球具有统一标准,现在所有操作系统、智能设备都支持XML格式文件,现 实工作中经常也会经常用到,是非常重要的一门标记语言。参照图3,是本发明一种实现三维视频全景空间热点的方法和系统实施例的实现 流程图,主要步骤包括步骤301,从视频中获取每一帧图像,通过DirectShow对视频进行播放,从而获取 每帧图像信息。步骤302,解析XML文件找出热点的纹理坐标以及其对应的时间信息。通过热点管 理子系统来定义热点的位置信息以及与其对应的时间信息。在视频播放的过程中,通过解 析XML文件找出热点纹理坐标以及时间信息,同时通过与视频播放同步判断当前时间片是 否有热点信息。步骤303,判断该时间片是否有热点信息,在视频播放的过程中,根据视频播放的 时间来查找热点链表中在该时间片是否有与其对应的热点信息。如果没有则继续播放视 频,如果存在热点信息,则进入下一个步骤中。步骤304,将纹理映射到三维球上,由于本发明技术实现上采用的是全景视频,长 宽比例严格按照2 1的,所以我们取得的每帧视频可以按照下面公式ν = ar cos (z/r) /piu= (ar cos (χ/ (r^sin (v^pi)))) /2^pi
x2+y2+z2 = r2找出三维球上每个顶点所对应的纹理坐标步骤305,计算热点在三维空间中的坐标,通过第二步XML解析得到的纹理坐标是 二维图像的纹理坐标,在此需要转换成三维虚拟场景中的坐标,通过如下公式可以得到二 维纹理坐标V (u0, v0)所对应的三维坐标P (x0, y0, z0)。 步骤306,获取系统的世界变换矩阵,视图变换矩阵和投影变换矩阵。对于每个被 引进程序的物体(mesh),它们的坐标系,坐标原点理论上都应该是不同的,其顶点也都用局 部坐标表示的。那么要做统一的变换,首先应将它们引入到同一坐标系下,也就是“世界坐 标系”。这个变换也因此被称为世界变换(world transform)。经过了以上一些操作后,每 个顶点在整个场景中的位置也就确定下来了。但是要把它们映射到屏幕上,还要确定观察 者的位置和视角。我们要把所有点变换到新建立的以观察者为基准的坐标系下,这样才能 被观察者所观察到,这个步骤叫做视图变换(view transform)。经过上述两次坐标转换后, 我们已经让屏幕平行于其中一个坐标轴平面了,也就是说,经过一系列的比例范围调整,理 论上我们能看到期盼已久的点,但是此时绘出的物体是没有立体感的,所以对每个点,我们 进行最后一步变换就是根据其远近程度进行一下放缩。步骤307,将热点的三维坐标转换成屏幕坐标。通过上一步骤可以获取三个变换矩 阵,并将其做乘,作为变换矩阵,如下 同时通过公式 标。
即可获取热点的三维坐标对应的屏幕坐标,其中z用于裁剪判断,x,y作为屏幕坐维视频全景空间热点的方法和系统实施例的实现
步骤308,绘制热点。 参照图4,是本发明一种实现J 流程图2,主要步骤包括步骤401,通过原始顶点,三维世界坐标向屏幕坐标映射的过程。步骤402,世界变换,对于每个对立被引进程序的物体(mesh),它们的坐标系,坐 标原点理论上都应该是不同的,其顶点也都用局部坐标表示的。那么要做统一的变换,首 先应将它们引入到同一坐标系下,也就是“世界坐标系”。这个变换也因此被称为世界变换(world transform)0步骤403,视图变换,经过了以上一些操作后,每个顶点在整个场景中的位置也就 确定下来了。但是要把它们映射到屏幕上,还要确定观察者的位置和视角。我们要把所有 点变换到新建立的以观察者为基准的坐标系下,这样才能被观察者所观察到,这个步骤叫 做视图变换(view transform)步骤404,投影变换,经过上述两次坐标转换后,我们已经让屏幕平行于其中一个 坐标轴平面了,也就是说,经过一系列的比例范围调整,理论上我们能看到期盼已久的点, 但是此时绘出的物体是没有立体感的,所以对每个点,我们进行最后一步变换就是根据其 远近程度进行一下放缩。步骤405,三维裁剪,经过以上几个变换后,视点前后的图像我们都可以再屏幕上 看到,这样是不正确的,所以应该将不应该在屏幕上显示的图像剔除,这样才可以正确显 示;
步骤406,输出顶点。参照图5,是本发明一种实现三维视频全景空间热点的方法和系统系统软件架构 图,设计采用MVC架构,用MVC应用程序被分成三个核心部件模型、视图、控制器,其中模型包括热点数据、视频信息、纹理数据、三维球面数据、状态通知视图部件包括 模型绘制、热点绘制、更新视图、发送用户操作控制器包括三维交互、信息显示。参照图6,本发明一种实现三维视频全景空间热点的方法和系统的系统架构图,包 括热点管理系统,服务器端和客户端。其中热点管理系统主要实现的功能有热点编辑、XML文件生成服务器端主要实现功能有XML文件解析、纹理坐标转换为三维坐标、获取变换矩 阵、三维坐标转换为平面坐标。客户端包含两个模块渲染模块和交互模块,交互模块负责用户与三维虚拟环境的 交换,渲染模块主要负责纹理获取、热点屏幕坐标获取。热点绘制。以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式
对本发明进行 了阐述,以上实施例的说明只是用于帮助理解本发明的系统及方法;同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所 述,本说明书内容不应理解为对本发明的限制。
权利要求
一种实现三维视频全景空间热点的方法,其特征在于,包括通过三维视频的播放过程中获取每一帧图像作为纹理信息,同时通过XML文件的解析获取该时间片内热点在的纹理坐标;通过三维转换将纹理映射到虚拟环境中的三维球体上,同时获得热点在三维世界中的坐标,最后通过投影变换将热点从三维世界映射到屏幕上,最终绘制出热点信息。
2.根据权利要求1所述的方法,其特征在于,所述方法包括将热点从三维世界映射到 屏幕坐标,主要步骤找出三维虚拟环境的世界变换矩阵; 视图变换矩阵; 影射变换矩阵; 将三个矩阵做乘; 作为投影矩阵。
3.根据权利要求1所述的方法,其特征在于,所述方法包括,一个裁剪过程,通过裁剪 判断热点是否在屏幕上显示。
4.一种实现三维视频全景空间热点的系统,其特征在于,所述系统包括热点管理系统、 服务器端和客户端;所述热点管理系统功能有热点编辑、XML文件生成;所述服务器端功能有XML文件解析、纹理坐标转换为三维坐标、获取变换矩阵、三维坐 标转换为平面坐标;所述客户端包含两个模块渲染模块和交互模块。
5.根据权利要求4所述的系统,其特征在于,所述客户端两个模块渲染模块和交互模 块。其中所述交互模块负责用户与三维虚拟环境的交换;所述渲染模块主要负责纹理获取、热点屏幕坐标获取和热点绘制。
6.根据权利要求4所述的系统,其特征在于,所述系统架构设计采用MVC架构,MVC应 用程序被分成三个核心部件模型、视图和控制器。其中所述模型包括热点数据、视频信息、纹理数据、三维球面数据和状态通知; 所述视图部件包括模型绘制、热点绘制、更新视图、发送用户操作; 所述控制器包括三维交互、信息显示。
全文摘要
本发明提供一种三维视频全景播放过程中空间热点的生成方法及系统,用于解决现有的全景视频中无法添加热点的问题。本发明提供的方法,包括通过三维视频的播放过程中获取每一帧图像作为纹理信息;通过XML文件的解析获取该时间片内热点在的纹理坐标;通过三维转换将纹理映射到虚拟环境中的三维球体上,获得热点在三维世界中的坐标,最后通过投影变换将热点从三维世界映射到屏幕上,最终绘制出热点信息。本发明还提供一种三维视频全景播放过程中空间热点的生成系统,包括热点管理系统,服务器端和客户端。
文档编号G06T15/10GK101877139SQ200910083090
公开日2010年11月3日 申请日期2009年4月30日 优先权日2009年4月30日
发明者宋汉营, 王西杰 申请人:爱国者全景(北京)网络科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1