CN106251403B - 一种虚拟立体场景实现的方法、装置和系统 - Google Patents
一种虚拟立体场景实现的方法、装置和系统 Download PDFInfo
- Publication number
- CN106251403B CN106251403B CN201610410771.7A CN201610410771A CN106251403B CN 106251403 B CN106251403 B CN 106251403B CN 201610410771 A CN201610410771 A CN 201610410771A CN 106251403 B CN106251403 B CN 106251403B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- virtual
- mtd
- scene
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000013507 mapping Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000000007 visual effect Effects 0.000 claims description 78
- 230000009466 transformation Effects 0.000 claims description 62
- 239000011159 matrix material Substances 0.000 claims description 26
- 239000011521 glass Substances 0.000 claims description 18
- 230000003190 augmentative effect Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000005520 cutting process Methods 0.000 abstract description 5
- 230000008859 change Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000009795 derivation Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 210000003710 cerebral cortex Anatomy 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
- H04N13/383—Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/398—Synchronisation thereof; Control thereof
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Studio Devices (AREA)
Abstract
本发明涉及图像处理技术领域,提供了一种虚拟立体场景实现的方法、装置和系统。其中系统包括:单摄像机、参数采集器和智能终端,单摄像机和参数采集器连接智能终端;参数采集器,用于采集虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V;单摄像机,用于记录所要拍摄的场景内容;智能终端,用于获取场景变换的相关参数,并将单摄像机的场景内容转换为真实场景中左右虚拟摄像机的场景内容。本发明提供了一种基于映射的虚拟立体场景实现的方法,该方法拥有简便性和易开发性。
Description
【技术领域】
本发明涉及图像处理技术领域,特别是涉及一种基于映射的虚拟立体场景实现的方法、装置和系统。
【背景技术】
虚拟现实技术VR(Virtual Reality)是结合计算机图形学系统以及各种控制接口设备,在计算机上生成的、可交互的三维环境中提供沉浸感觉的技术。对于用户而言,视觉感知是提供真实感和沉浸感的基础,因此,目前大部分VR应用以及大部分立体应用均致力于虚拟场景的立体显示部分的开发上。
所谓虚拟场景,一般是利用计算机通过OpenGL(Open Graphics Library,开放图形库)等图形引擎构建,其通过显示器呈现在真实场景中,即虚拟场景通过显示器显示出来。虚拟场景也可能是通过实物拍摄图像所构建。而所谓真实场景,是指人真实的观察空间,人在真实场景下的固定位置通过人眼接收显示器所显示的虚拟场景。
针对于图形引擎构建的虚拟场景,为了实现虚拟场景的立体显示,可以结合计算机图形学系统将虚拟场景转换为虚拟立体场景,从而将虚拟立体场景呈现在真实场景中。但是,现有技术中,通常利用固定的转换参数将虚拟场景线性的转换为虚拟立体场景,这种线性转换的方式,可能导致虚拟立体场景不能与真实观察空间即真实场景较好的适配,从而无法达到较佳的立体效果。
而针对于利用实物拍摄构建的虚拟场景,通常采用双摄像机拍摄场景立体图像进而根据立体图像还原三维环境的技术手段,然而,由于双摄像机相机架设的主观性和随机性,造成了后期三维环境还原时,虚拟立体场景不能与真实场景较好的适配,立体效果不佳,而为了达到好的效果需要花费较多的时间去尝试和摸索,不利于工业大批量、高效率的产出。
因此,如何提供一种快速将虚拟场景转换为虚拟立体场景呈现在真实场景中,使虚拟立体场景能与真实观察空间较好的适配即呈现较好的立体效果,成为如今迫切需要解决的问题。
【发明内容】
本发明要解决的技术问题是如何提供一种快速将虚拟场景转换为虚拟立体场景呈现在真实场景中,使虚拟立体场景能与真实观察空间较好的适配即呈现较好的立体效果。
一方面,本发明实施例提供了一种虚拟立体场景实现的方法,包括:
获取人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R,具体为:
依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到视差dN_R和dF_R;
获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V;
根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值;
根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建并显示虚拟立体场景,从而完成虚拟场景到真实场景的映射;
其中,所述根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,具体包括:
根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的如下关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
其中,R为所述视差dN_R和所述视差dF_R比值,
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
可选的,所述虚拟场景下视间距等式包括:
或者
可选的,所述左右虚拟摄像机的非对称透视投影参数值,具体包括:
左摄像机非对称透视投影参数为:
右摄像机非对称透视投影参数为:
其中,lleft、rleft、tleft和bleft分别对应左摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nleft、fleft对应左摄像机非对称透视投影中左摄像机到近裁剪平面和远裁剪平面的距离;
其中,lright、rright、tright和bright分别对应右摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nright、fright对应右摄像机非对称透视投影中右摄像机到近裁剪平面和远裁剪平面的距离;
其中,W_V为所述虚拟场景的近裁剪平面的宽度,H_V为所述近裁剪平面的高度。
可选的,所述根据所述虚拟场景的视间距E_V及所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,从而构建并显示虚拟立体场景,具体包括:
将左虚拟摄像机拍摄的三维场景坐标与左透视投影矩阵M1相乘,完成左虚拟摄像机的场景内容的透视投影变换;其中,所述左透视投影矩阵M1具体为:
将右虚拟单摄像机拍摄的三维场景坐标分别与右透视投影矩阵M2相乘,完成右虚拟摄像机的场景内容的透视投影变换;其中,所述右透视投影矩阵M2具体为:
可选的,所述获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V包括:
获取虚拟场景下虚拟单摄像机到最近物体的距离N_O和虚拟场景下单摄像机到最远物体的距离F_O,从而将所述N_V和F_V具体赋值为N_O和F_O。
可选的,所述立体场景实现的方法具体运用在影院场合,并且所述影院拥有左右两台放映设备时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供给影院的左放映设备;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给影院的右放映设备。
可选的,所述立体场景实现的方法具体运用在虚拟现实头盔中时,并且所述虚拟现实头盔拥有左右显示屏时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供虚拟现实头盔的左显示屏;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给虚拟现实头盔的右显示屏。
可选的,所述立体场景实现的方法具体运用在增强现实眼镜中时,并且所述虚拟现实眼镜拥有左右显示镜片时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供增强现实眼镜的左显镜片;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给增强现实眼镜的右显示镜片。
另一方向,本发明实施例还提供了一种基于映射的虚拟立体场景实现的装置,所述装置包括:
获取单元,用于获取人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,以及获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V;
处理单元,用于根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R;根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值;
投影变换单元,用于根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建并显示虚拟立体场景,从而完成虚拟场景到真实场景的映射;
其中,所述处理单元包括:
视差计算模块,用于依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到所述视差dN_R和dF_R;
非对称透视投影参数计算模块,用于:
根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的如下关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
其中,R为所述视差dN_R和所述视差dF_R比值,
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
可选的,所述虚拟场景下视间距等式包括:
或者
可选的,所述左右虚拟摄像机的非对称透视投影参数值,具体包括:
左摄像机非对称透视投影参数为:
右摄像机非对称透视投影参数为:
其中,lleft、rleft、tleft和bleft分别对应左摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nleft、fleft对应左摄像机非对称透视投影中左摄像机到近裁剪平面和远裁剪平面的距离;
其中,lright、rright、tright和bright分别对应右摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nright、fright对应右摄像机非对称透视投影中右摄像机到近裁剪平面和远裁剪平面的距离;
其中,W_V为所述虚拟场景的近裁剪平面的宽度,H_V为所述近裁剪平面的高度。
可选的,所述投影变换单元,具体用于:
将左虚拟摄像机拍摄的三维场景坐标与左透视投影矩阵M1相乘,完成左虚拟摄像机的场景内容的透视投影变换;其中,所述左透视投影矩阵M1具体为:
将右虚拟摄像机拍摄的三维场景坐标与右透视投影矩阵M2相乘,完成右虚拟摄像机的场景内容的透视投影变换;其中,所述右透视投影矩阵M2具体为:
可选的,所述获取单元用于:
获取虚拟场景下虚拟单摄像机到最近物体的距离N_O和虚拟场景下虚拟单摄像机到最远物体的距离F_O,从而将所述N_V和F_V具体赋值为N_O和F_O。
另一方面,本发明实施例提供了一种智能终端,所述终端包括:显示器、存储器、参数输入装置和处理器,其中,所述显示器、存储器、参数输入装置与所述处理器相连,具体的:
所述参数输入装置,用于输入人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,以及获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V,并存储在所述存储器中;
所述处理器,用于根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R,具体为:
依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到视差dN_R和dF_R;根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建虚拟立体场景,进而通过所述显示器将所述虚拟立体场景呈现出来,从而完成虚拟场景到真实场景的映射;
其中,所述根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,具体包括:
根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的如下关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
其中,R为所述视差dN_R和所述视差dF_R比值,
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
另一方面,本发明实施例还提供了一种基于映射的虚拟立体场景实现的系统,所述系统包括:单摄像机、参数采集器和智能终端,所述单摄像机和参数采集器连接智能终端;
所述参数采集器,用于采集虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V以及用于采集真实场景中人眼视间距E_R、人眼到真实屏幕的距离Z_R、真实场景中真实屏幕最大显示凸距离N_R和真实屏幕最大显示凹距离F_R;
所述单摄像机,用于记录所要拍摄的场景内容;
所述智能终端根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R,具体为:
依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到视差dN_R和dF_R;
所述智能终端根据真实场景中真实屏幕最大显示凸距离N_R下的视差dN_R和真实屏幕最大显示凹距离F_R下的视差dF_R的比值与虚拟场景中虚拟单摄像机到虚拟近裁剪平面距离N_V下的视差dN_V和虚拟场景中虚拟单摄像机到虚拟远裁剪平面距离F_V下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值;根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建并显示虚拟立体场景,从而完成虚拟场景到真实场景的映射;
其中,
所述根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,具体包括:
根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的如下关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
其中,R为所述视差dN_R和所述视差dF_R比值,
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
与现有技术相比,本发明的有益效果在于:本发明提供了一种基于映射的虚拟立体场景实现的方法、装置和系统,根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,从而根据所获得的视间距和投影参数,将所述虚拟场景构建为虚拟立体场景,即将虚拟单摄像机到近裁剪平面的距离和虚拟单摄像机到远裁剪平面的距离之间的虚拟场景映射到真实场景中真实屏幕最大显示凸距离和真实屏幕最大显示凹距离之间,这样,使得虚拟立体场景能够与真实观察空间较好的适配,从而能够达到较好的立体效果,提升了用户的观看体验。而且,该方法拥有简便性和易开发性。只需提供需要构建的立体场景对应的虚拟场景和相关参数,结合相应的立体硬件设备就可以快速、直接的将该虚拟场景映射到真实场景中,从而在真实场景中呈现虚拟立体场景,并且立体效果是可以按照用户和开发者的参数设置而变化的。基于共同发明构思的装置和终端,为开发能够运行该方法的装置和终端提供了支撑和保证。
【附图说明】
图1是本发明实施例提供的一种基于映射的虚拟立体场景实现的方法流程示意图;
图2是本发明实施例提供的一种真实场景的显示光路原理示意图;
图3是本发明实施例提供的一种虚拟场景的显示光路原理示意图;
图4是本发明实施例提供的一种左右虚拟摄像机非对称投影示意图;
图5是本发明实施例提供的一种基于映射的虚拟立体场景实现的装置示意图;
图6是本发明实施例提供的一种智能终端示意图;
图7是本发明实施例提供的一种基于映射的虚拟立体场景实现的系统架构示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
从原理上讲,构建分别被人左眼和右眼接收的具有视差的不同图像,由于左右眼接收到的视觉图像不同,人眼在观看左右两幅具有视差的图像的时候,会在大脑皮层进行对图像进行合成,最终形成具有深度的信息,即使观看者产生立体感。
通常情况下,虚拟场景的立体显示,是将虚拟状态下的三维模型,通过计算机图形学的变换处理,形成立体图像,通过真实的显示器显示出来,最后人眼观看立体图像后进行合成,在大脑中形成具有深度的三维信息。
本发明实施例中,将从虚拟状态下的三维模型,通过一系列过程到真实状态下的具有深度的三维信息的过程称为虚拟到真实的映射过程。
在本发明各实施例中,涉及真实场景和虚拟场景的描述,下面将对于其定义给予初步的界定:
真实场景:是指观察者真实的观察空间(即人眼看到的空间),观察者可以通过认知和经验等获取真实场景下物体的深度和大小等信息。该场景(空间)是以长度单位为度量(例如:观察者距离平面的距离为0.5m等)。当观察者观察的真实场景为显示器时,即构成“观察者-显示空间”。
虚拟场景:是指利用计算机,通过OpenGL等图形引擎构建的“摄像机-场景空间”;所绘制的信息以像素为单位,通过渲染管线并以显示器的方式呈现出来。
虚拟场景通过显示器显示,而人在真实场景下的固定位置通过人眼接受立体显示器所显示的内容。虚拟场景下是以像素为单位,且通过真实场景的显示器显示;而真实场景下是以长度单位(例如:米)为度量的。
本发明实施例提供的基于映射的虚拟立体场景的实现方法和装置,可应用于裸眼立体显示中,也可应用在虚拟现实VR(Virtual Reality)显示中。
实施例1:
本发明实施例1提供了一种虚拟立体场景实现的方法,结合图1至图三所示,包括:
在步骤201中,获取人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R。
参见图2,真实场景中左眼L与右眼R之间的人眼视间距E_R、真实屏幕的宽度N_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R、真实屏幕最大显示凹距离F_R、真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R均在图中进行了标示。
其中,N_R、F_R、E_R和Z_R通常均是预先设定好的,例如,人眼视间距E_R通常为65毫米,若真实场景为笔记本电脑,人使用笔记本电脑时距离笔记本显示屏的距离一般为50厘米,即ZR=50cm。
真实屏幕即可认为是真实场景的零视差平面。
最大显示凸距离N_R和最大显示凹距离F_R用于表征真实场景的立体显示器的立体显示能力,即立体显示器所能够呈现的立体场景的深度范围,也即,立体显示器所能够呈现的立体场景的深度范围介于该最大凸出距离和最大凹进距离所限定的区间内,立体场景的最凸出部分不会超过该最大凸出距离,而最凹进部分不会超过该最大凹进距离。
在步骤202中,获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V。
该N_V和F_V可以是预先设置好的。
步骤201和步骤202顺序不限,可并行也可先后执行。
在步骤203中,根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值。
在步骤204中,根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建并显示虚拟立体场景,从而完成虚拟场景到真实场景的映射。
可以理解的是,本步骤中,利用视间距E_V和非对称投影参数对虚拟场景进行变换从而构建虚拟立体场景为本领域的公知常识,这里不做进一步详细说明。
参见图3,虚拟场景的虚拟单摄像机、对应左眼输出图像的左虚拟摄像机L’、与对应右眼输出图像的右虚拟摄像机R’、L’和R’之间的视间距E_V、虚拟单摄像机到虚拟屏幕Virtual Display的Z_V、虚拟单摄像机到虚拟近裁剪平面的距离N_V、虚拟单摄像机到虚拟远裁剪平面的距离F_V、以及虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V均在图中进行了标示。
这里需要说明的是,参见图3可知,本发明实施例中,虚拟单摄像机到虚拟屏幕或远近裁剪平面的距离等同于左或右虚拟摄像机到虚拟屏幕或远近裁剪平面的距离,由于上述等同性,因此上述距离可统称为虚拟摄像机到虚拟屏幕或远近裁剪平面的距离。同理,参见图2可知,左眼到真实屏幕的距离等同于右眼到真实屏幕的距离,可统称为人眼到真实屏幕的距离。
还需要强调说明的是,本发明实施例中所言的虚拟单摄像机、左右虚拟摄像机、零视差平面、近裁剪平面、远裁剪平面等术语均为计算机图形学中公知的术语,这里不进行详细说明。
本实施例提供这种基于映射的虚拟立体场景实现的方法,提供了一种标准化的将虚拟场景转换为虚拟立体场景呈现在真实场景中的方式,根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,从而根据所获得的视间距和投影参数,将所述虚拟场景构建为虚拟立体场景,即将N_V和F_V之间的虚拟场景映射到真实场景中真实屏幕的最大显示凸距离和最大显示凹距离之间,这样,使得虚拟立体场景能够与真实观察空间较好的适配,从而能够达到较好的立体效果,提升了用户的观看体验。
而且该方法拥有简便性和易开发性。只需提供需要构建的立体场景对应的虚拟场景和相关参数,结合相应的立体硬件设备就可以快速、直接的将该虚拟场景映射到真实场景中,并且立体效果是可以按照用户和开发者的参数设置而变化的。在具体实现中,所述立体硬件设备包括3D投影仪、3D液晶电视、虚拟现实头盔、增强现实眼镜等等。
结合本实施例,步骤202存在一种具体的实现方式,具体为:
依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到视差dN_R和dF_R。
如图2所示,三角形CDP和三角形RLP相似,因此有比例关系:带入相应参数值得到转换得到上述等式同样原理,三角形ABQ和三角形LRQ相似,因此有带入相应参数值得到转换得到等式
结合本发明实施例,步骤203存在一种可选的实现方案,如图3所示,具体包括以下子步骤:
在步骤2031中,根据现实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
其中,R为所述视差dN_R和所述视差dF_R比值,
参见图3,与真实场景类似,同样依据相似图形对应边成比例关系,可以得到虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V等式:
虚拟场景和真实场景中的视差单位和数值并不相同,为了得到较好的立体效果,可以使它们具有相同的比值R:
根据上述比例关系,即可得到:
在步骤2032中,依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中虚拟屏幕的宽度W_con。
参见图3(未示出视角θ),根据三角函数关系,可以得到虚拟场景中虚拟屏幕的宽度W_Con:
在步骤2033中,根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
在步骤2034中,根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V。
根据前述虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V等式:
可知,或者而因此:
或者
在步骤2035中,根据上述求解得到E_V和Z_V计算得到左右两虚拟摄像机的非对称透视投影参数值。
结合本发明实施例,并参考如图4所示的投影参数值相关物理结构示意图,所述左右虚拟摄像机的非对称透视投影参数值,具体包括:
左摄像机非对称透视投影参数为:
右摄像机非对称透视投影参数为:
其中,lleft、rleft、tleft和bleft分别对应左摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标。如图4所示,其坐标的原点即图中O点所示。nleft、fleft对应左摄像机非对称透视投影中左摄像机到近裁剪平面和远裁剪平面的距离;
其中,lright、rright、tright和bright分别对应右摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nright、fright对应右摄像机非对称透视投影中右摄像机到近裁剪平面和远裁剪平面的距离;
其中,W_V为所述虚拟场景的近裁剪平面的宽度,H_V为所述近裁剪平面的高度。
结合本发明实施例,步骤204存在一种可选的实现方案,具体阐述如下:
将左虚拟摄像机拍摄的三维场景坐标与左透视投影矩阵M1相乘,完成左虚拟摄像机的场景内容的透视投影变换;其中,所述左透视投影矩阵M1具体为:
将右虚拟摄像机拍摄的三维场景坐标与右透视投影矩阵M2相乘,完成右虚拟摄像机的场景内容的透视投影变换;其中,所述右透视投影矩阵M2具体为:
其中,透视投影矩阵为现有技术,其矩阵中公式推导可以在教科书和互联网上查到,在此不做其推导的阐述。
本发明实施例所言的虚拟场景到虚拟立体场景可以认为是从3D(三维)场景到S3D(立体三维)场景。
举例而言,本发明实施例的方法可具体运用在影院场合,并且所述影院拥有左右两台放映设备时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供给影院的左放映设备;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给影院的右放映设备。
举例而言,本发明实施例的方法可具体运用在虚拟现实头盔中时,并且所述虚拟现实头盔拥有左右显示屏时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供虚拟现实头盔的左显示屏;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给虚拟现实头盔的右显示屏。
举例而言,本发明实施例的方法可具体运用在增强现实眼镜中时,并且所述虚拟现实眼镜拥有左右显示镜片时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供增强现实眼镜的左显镜片;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给增强现实眼镜的右显示镜片。
实施例2:
通过包含具体参数的实例,来说明虚拟立体场景如何实现:
预先设定:
真实场景中真实屏幕最大显示凸距离N_R和最大显示凹距离F_R分别为40mm和50mm;
真实屏幕宽度W_R是435mm;
真实场景下的视间距E_R为65mm;
真实场景下人眼到真实屏幕之间的距离Z_R是500mm;
虚拟场景下虚拟摄像机到近裁剪平面的距离N_V和虚拟摄像机到远裁剪平面F_V分别为1.0px(像素)和50.0px;
虚拟场景的视场角θ为90°。
计算真实场景的视差:
计算出虚拟场景和真实场景的视差的比例关系R:
计算出虚拟场景下的Z_V:
计算虚拟屏幕的宽度W_con:
计算虚拟屏幕和真实屏幕之间的缩放比例
计算虚拟场景下的视间距E_V:
接下来,利用计算出的Z_V和E_V即可完成虚拟单摄像机的偏转(生成左右虚拟摄像机)和视景体的变换(非对称透视投影),最终构建虚拟立体场景,得到需要的立体效果。
实施例3:
作为一种改进,根据实施例1所述的虚拟立体场景实现的方法,虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V具体赋值为N_O和F_O;其中,N_O是虚拟场景下摄像机到物体最近位置的距离;F_O是虚拟场景下摄像机到物体最远位置的距离。也就是说,在步骤202中,获取的是N_O和F_O,利用N_O和F_O分别代替N_V和F_V进行后续计算。
针对完成的一套虚拟场景,通常来讲N_V和F_V是固定的,但是在虚拟场景下从摄像机到近裁剪平面的距离都会大于或等于摄像机到最近的物体位置的距离,从摄像机到远裁剪平面的距离都会大于或等于摄像机到最远的物体位置的距离,即该套场景中的每一场景的N_V和F_V是相同的,但是场景不同、场景中的物体不同、那么不同场景的N_O和F_O是不同的,这样可能就会造成场景下的物体无法达到预期的立体效果。
因此,作为一种改进,可利用N_O和F_O进行计算,即可以针对一套场景中的每个场景分别利用每个场景的N_O和F_O的计算,使得每个场景的虚拟场景到真实场景的映射,将N_O和F_O之间的虚拟场景映射到N_R和F_R之间,有效保证每个场景与真实观看环境的适配,达到预期的立体效果。
本发明对如何获取N_O和F_O不做限定,本领域技术人员可以合理选择获取方式。举例而言,每一个利用图形引擎(例如D3D或者openGL)构建的虚拟场景,在构建虚拟场景视图的时候会创建深度缓存区来存储深度数据,因此,可以从每个虚拟场景的深度缓存区中读取虚拟场景的深度数据,根据深度数据获取N_O和F_O。具体的,可以遍历虚拟场景的每个像素点的深度数据,即可找到虚拟场景的最大深度和最小深度,根据最大深度得到F_O,根据最小深度得到N_O,从而得到了N_O和F_O。
当然,N_O和F_O也可采用其他方式获取,只要能有效获取到N_O和F_O的方式均可应用到本发明实施例中,在此不一一说明。
接下来,通过包含具体参数的实例,来如何实现:
预先设定:
真实场景中真实屏幕最大显示凸距离N_R和最大显示凹距离F_R分别为40mm和50mm;
真实屏幕宽度W_R是435mm;
真实场景下的视间距E_R为65mm;
真实场景下人眼到真实屏幕之间的距离Z_R是500mm;
虚拟场景下虚拟摄像机到近裁剪平面的距离N_V和虚拟摄像机到远裁剪平面F_V分别为1.0px(像素)和50.0px;
虚拟场景的视场角θ为90°。
虚拟场景下摄像机到最近物体的距离N_O和摄像机到最远物体距离F_O分别为5.0px和20.0px。
接下来,根据虚拟场景中的物体的最近和最远距离推导计算过程:该过程与实施例1中“裁剪面映射的推导过程”基本相同,只需利用最近(N_O)和最远(F_O)距离代替裁剪面做映射即可。推导过程如下:
计算真实屏幕视差:
计算出虚拟屏幕和真实屏幕视差的比例关系R:
计算出虚拟场景下的Z_V:
则,W_V是虚拟屏幕的宽度:
虚拟屏幕和真实屏幕之间的缩放比例
虚拟场景下的视间距E_V:
利用计算出的E_V和Z_V即可完成摄像机的偏移和视景体的变换,最终构建虚拟立体场景,得到需要的立体效果。
相比较实施例1,在本发明实施例中将N_V和F_V替换(赋值)成N_O和F_O后,能够将N_O和F_O之间的场景映射到真实场景最凸出和最凹进之间,从而能够更好的立体视觉效果。实质上,N_V和F_V是N_O和F_O的特殊情况,N_O和F_O在N_V和F_V之间。
实施例4:
本发明实施例提供了一种基于映射的虚拟立体场景实现的装置,适用于运行实施例1所述的方法,如图6所示,所述装置包括:
获取单元61,用于获取人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,以及获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V;
处理单元62,用于根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R;根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值;
投影变换单元63,用于根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建并显示虚拟立体场景,从而完成虚拟场景到真实场景的映射。
可选的,所述处理单元62可包括(未图示):
视差计算模块,用于依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到视差dN_R和dF_R;
非对称透视投影参数计算模块,用于根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V;
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
具体的,所述左右虚拟摄像机的非对称透视投影参数值,具体包括:
左摄像机非对称透视投影参数为:
右摄像机非对称透视投影参数为:
其中,lleft、rleft、tleft和bleft分别对应左摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nleft、fleft对应左摄像机非对称透视投影中左摄像机到近裁剪平面和远裁剪平面的距离;
其中,lright、rright、tright和bright分别对应右摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nright、fright对应右摄像机非对称透视投影中右摄像机到近裁剪平面和远裁剪平面的距离;
其中,W_V为所述虚拟场景的近裁剪平面的宽度,H_V为所述近裁剪平面的高度。
可选的,所述投影变换单元63,具体用于:
将左虚拟单摄像机拍摄的三维场景坐标与左透视投影矩阵M1相乘,完成左虚拟摄像机的场景内容的透视投影变换;其中,所述左透视投影矩阵M1具体为:
将右虚拟单摄像机拍摄的三维场景坐标与右透视投影矩阵M2相乘,完成右虚拟摄像机的场景内容的透视投影变换;其中,所述右透视投影矩阵M2具体为:
在本发明实施例中,存在一种优选的实现方案,其中,所述虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V具体赋值为N_O和F_O;其中,N_O是虚拟场景下摄像机到物体最近位置的距离;F_O是虚拟场景下摄像机到物体最远位置的距离,即所述获取单元61可用于:
获取虚拟场景下虚拟单摄像机到最近物体的距离N_O和虚拟场景下虚拟单摄像机到最远物体的距离F_O,从而将所述N_V和F_V具体赋值为N_O和F_O。
值得说明的是,上述装置和装置内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的实施例1基于同一构思,具体内容可参见本发明实施例1中的叙述,此处不再赘述。
本发明实施例提供的基于映射的虚拟立体场景实现的装置,该装置只需提供需要构建的虚拟立体场景和相关参数就可以快速、直接的将该虚拟立体场景映射到真实场景中,并且立体效果是可以按照用户和开发者的设置而变化的。
实施例5:
本发明实施例提供了一种智能终端,适用于运行实施例1所述的方法,如图6所示,所述终端包括:显示器70、存储器71、参数输入装置72、处理器73,其中,所述显示器70、存储器71、参数输入装置72与所述处理器73相连,具体的:
所述参数输入装置72,用于输入人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,以及获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V,并存储在所述存储器71中;
所述处理器73,用于根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R;根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建虚拟立体场景,进而通过显示器70将所述虚拟立体场景呈现出来,从而完成虚拟场景到真实场景的映射。
值得说明的是,上述终端和终端内的存储器、参数输入装置与所述处理器之间的信息交互、执行过程等内容,由于与本发明的实施例1基于同一构思,具体内容可参见本发明实施例1中的叙述,此处不再赘述。
本发明实施例提供了的这种智能终端,该智能终端只需提供需要需要构建的立体场景对应的虚拟场景和相关参数,就可以快速、直接的将该虚拟场景映射到真实场景中,并且立体效果是可以按照用户和开发者的设置而变化的。
该智能终端例如为手机、电脑、播放器、游戏机等各种影音电子设备,本发明对此不做限定。
实施例6:
本发明实施例还提供了一种基于映射的虚拟立体场景实现的系统,适用于运行实施例1所述的方法,如图7所示,所述系统包括:单摄像机81、参数采集器82和智能终端83,所述单摄像机81和参数采集器82连接智能终端83;
所述参数采集器82,用于采集虚拟场景下虚拟单摄像机81分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V。通常情况下,所述参数采集器82可以是红外扫描仪或者雷达测距仪等等,也可以是人工输入设备,通过接收人工输入的参数值进行参数采集。
所述单摄像机81,用于记录所要拍摄的场景内容。
所述智能终端83,用于获取场景变换的相关参数,所述相关参数包括所述参数采集器采集的N_V和F_V,并根据所述相关参数将单摄像机81的场景内容转换为虚拟场景中左右虚拟摄像机的场景内容;
所述智能终端83还适用于执行实施例1中所阐述的方法相关步骤,在此不一一赘述。
本实施例中,将单摄像机81以及其所采集的场景称之为虚拟场景,将前述实施例中的实现方法应用到了利用实物拍摄构建立体场景中,只需单摄像机采集一张场景,即可将该场景转换为虚拟立体场景。
本发明实施例提供了一种基于映射的虚拟立体场景实现的系统,该系统只需提供需要构建立体场景的三维场景和相关参数,就可以快速、直接的将该虚拟立体场景映射到真实场景中,并且立体效果是可以按照用户和开发者的设置而变化的。
实施例7:
基于实施例1所阐述的方法,接下来结合具体的应用场景阐述其中各种参数的获取方法,以及如何将透视投影变换结果呈现给用户。所述立体场景实现的方法具体运用在影院场合,并且所述影院拥有左右两台放映设备时,则:
N_R,F_R是影院屏幕在真实场景中凸出和凹进的最大距离,即最大显示凸距离和最大显示凹距离;W_R是影院屏幕宽度;E_R是人眼的视间距(瞳距);Z_R是真实场景下人眼到影院屏幕之间的距离。
可选的,这里选择真实场景下人眼到影院屏幕之间的距离Z_R为影院中间位置到影院屏幕的位置。
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供给影院的左放映设备;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给影院的右放映设备。
可选的,左右放映设备可以采用偏振处理,并配合相应的偏振光透视眼镜,保证完成透视投影变换后所获得的左虚拟摄像机的场景内容被用户左眼接收,而完成透视投影变换后所获得的右虚拟摄像机的场景内容被用户右眼接收。
实施例8:
基于实施例1所阐述的方法,接下来结合具体的应用场景阐述其中各种参数的获取方法,以及如何将透视投影变换结果呈现给用户。有别与实施例3所述影院的场景,本实施例中所述立体场景实现的方法具体运用在虚拟现实头盔中时,并且所述虚拟现实头盔拥有左右显示屏时,则:
N_R,F_R是在立体显示屏幕的凸出和凹进的最大距离,即最大显示凸距离和最大显示凹距离;W_R是立体显示屏幕的宽度;E_R是人眼的视间距(瞳距);Z_R是真实场景下人眼到立体显示屏幕的距离。
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供虚拟现实头盔的左显示屏;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给虚拟现实头盔的右显示屏。
可选的,所述虚拟现实头盔中只包含一个显示屏幕,则可以采用高频切换左虚拟摄像机的场景内容和右虚拟摄像机的场景内容的方式,实现用户人眼前虚拟立体场景重现的效果。其中,采用高频可以是120-240Hz,其视觉效果是切换频率越高,人眼舒适度越好。
实施例9:
基于实施例1所阐述的方法,接下来结合具体的应用场景阐述其中各种参数的获取方法,以及如何将透视投影变换结果呈现给用户。有别与实施例3所述影院的场景,在本实施例中所述立体场景实现的方法具体运用在增强现实眼镜中时,并且所述虚拟现实眼镜拥有左右显示镜片时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供虚拟现实头盔的左显镜片;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给虚拟现实头盔的右显示镜片。
N_R,F_R是增强现实眼镜的屏幕镜片的凸出和凹进的最大距离,即最大显示凸距离和最大显示凹距离;W_R是增强现实的屏幕镜片的宽度;E_R是人眼的视间距(瞳距);Z_R是真实场景下人眼到增强现实眼镜的屏幕镜片的距离。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种虚拟立体场景实现的方法,其特征在于,包括:
获取人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R,具体为:
依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到视差dN_R和dF_R;
获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V;
根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值;
根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建并显示虚拟立体场景,从而完成虚拟场景到真实场景的映射;
其中,所述根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,具体包括:
根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的如下关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
<mrow>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>R</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mrow>
<mfrac>
<mn>1</mn>
<mrow>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mi>R</mi>
<mrow>
<mi>F</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
</mfrac>
</mrow>
</mfrac>
</mrow>
其中,R为所述视差dN_R和所述视差dF_R比值,
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
2.根据权利要求1所述的立体场景实现的方法,其特征在于,所述虚拟场景下视间距等式包括:
或者
3.根据权利要求1或2所述的立体场景实现的方法,其特征在于,所述左右虚拟摄像机的非对称透视投影参数值,具体包括:
左摄像机非对称透视投影参数为:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<msub>
<mi>l</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mi>W</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>*</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
<mo>/</mo>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mi>W</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>*</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
<mo>/</mo>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>t</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>F</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
</mtable>
</mfenced>
右摄像机非对称透视投影参数为:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<msub>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mi>W</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>*</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
<mo>/</mo>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mi>W</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>*</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
<mo>/</mo>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>t</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>F</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,lleft、rleft、tleft和bleft分别对应左摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标,nleft、fleft对应左摄像机非对称透视投影中左摄像机到近裁剪平面和远裁剪平面的距离;
其中,lright、rright、tright和bright分别对应右摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nright、fright对应右摄像机非对称透视投影中右摄像机到近裁剪平面和远裁剪平面的距离;
其中,W_V为所述虚拟场景的近裁剪平面的宽度,H_V为所述近裁剪平面的高度。
4.根据权利要求3所述的立体场景实现的方法,其特征在于,所述根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,从而构建并显示虚拟立体场景,具体包括:
将左虚拟摄像机拍摄的三维场景坐标与左透视投影矩阵M1相乘,完成左虚拟摄像机的场景内容的透视投影变换;其中,所述左透视投影矩阵M1具体为:
<mrow>
<msub>
<mi>M</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
将右虚拟单摄像机拍摄的三维场景坐标与右透视投影矩阵M2相乘,完成右虚拟摄像机的场景内容的透视投影变换;其中,所述右透视投影矩阵M2具体为:
<mrow>
<msub>
<mi>M</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>.</mo>
</mrow>
5.根据权利要求1所述的立体场景实现的方法,其特征在于,所述获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V包括:
获取虚拟场景下虚拟单摄像机到最近物体的距离N_O和虚拟场景下单摄像机到最远物体的距离F_O,从而将所述N_V和F_V具体赋值为N_O和F_O。
6.根据权利要求1所述的立体场景实现的方法,其特征在于,所述立体场景实现的方法具体运用在影院场合,并且所述影院拥有左右两台放映设备时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供给影院的左放映设备;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给影院的右放映设备。
7.根据权利要求1所述的立体场景实现的方法,其特征在于,所述立体场景实现的方法具体运用在虚拟现实头盔中时,并且所述虚拟现实头盔拥有左右显示屏时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供虚拟现实头盔的左显示屏;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给虚拟现实头盔的右显示屏。
8.根据权利要求1所述的立体场景实现的方法,其特征在于,所述立体场景实现的方法具体运用在增强现实眼镜中时,并且所述虚拟现实眼镜拥有左右显示镜片时,则:
将完成透视投影变换后所获得的左虚拟摄像机的场景内容提供增强现实眼镜的左显镜片;并将完成透视投影变换后所获得的右虚拟摄像机的场景内容提供给增强现实眼镜的右显示镜片。
9.一种基于映射的虚拟立体场景实现的装置,其特征在于,所述装置包括:
获取单元,用于获取人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,以及获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V;
处理单元,用于根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R;根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值;
投影变换单元,用于根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建并显示虚拟立体场景,从而完成虚拟场景到真实场景的映射;
其中,所述处理单元包括:
视差计算模块,用于依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到所述视差dN_R和dF_R;
非对称透视投影参数计算模块,用于:
根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的如下关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
<mrow>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>R</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mrow>
<mfrac>
<mn>1</mn>
<mrow>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mi>R</mi>
<mrow>
<mi>F</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
</mfrac>
</mrow>
</mfrac>
</mrow>
其中,R为所述视差dN_R和所述视差dF_R比值,
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
10.根据权利要求9所述的装置,其特征在于,所述虚拟场景下视间距等式包括:
或者
11.根据权利要求9或10所述的装置,其特征在于,所述左右虚拟摄像机的非对称透视投影参数值,具体包括:
左摄像机非对称透视投影参数为:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<msub>
<mi>l</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mi>W</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>*</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
<mo>/</mo>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mi>W</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>*</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
<mo>/</mo>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>t</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>F</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
</mtable>
</mfenced>
右摄像机非对称透视投影参数为:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<msub>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mi>W</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>*</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
<mo>/</mo>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mi>W</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>E</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>*</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
<mo>/</mo>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>t</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mo>-</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
<mn>2</mn>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>F</mi>
<mo>_</mo>
<mi>V</mi>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,lleft、rleft、tleft和bleft分别对应左摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nleft、fleft对应左摄像机非对称透视投影中左摄像机到近裁剪平面和远裁剪平面的距离;
其中,lright、rright、tright和bright分别对应右摄像机非对称透视投影在近裁剪平面上的裁剪窗口的上、下、左、右边界坐标;nright、fright对应右摄像机非对称透视投影中右摄像机到近裁剪平面和远裁剪平面的距离;
其中,W_V为所述虚拟场景的近裁剪平面的宽度,H_V为所述近裁剪平面的高度。
12.根据权利要求11所述的装置,其特征在于,所述投影变换单元,具体用于:
将左虚拟单摄像机拍摄的三维场景坐标与左透视投影矩阵M1相乘,完成左虚拟摄像机的场景内容的透视投影变换;其中,所述左透视投影矩阵M1具体为:
<mrow>
<msub>
<mi>M</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>l</mi>
<mi>e</mi>
<mi>f</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
将右虚拟单摄像机拍摄的三维场景坐标与右透视投影矩阵M2相乘,完成右虚拟摄像机的场景内容的透视投影变换;其中,所述右透视投影矩阵M2具体为:
<mrow>
<msub>
<mi>M</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mfrac>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>t</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>b</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
<mtd>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>*</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>.</mo>
</mrow>
13.根据权利要求9或10中任一项所述的装置,其特征在于,所述获取单元用于:
获取虚拟场景下虚拟单摄像机到最近物体的距离N_O和虚拟场景下虚拟单摄像机到最远物体的距离F_O,从而将所述N_V和F_V具体赋值为N_O和F_O。
14.一种智能终端,其特征在于,所述终端包括:显示器、存储器、参数输入装置和处理器,其中,所述显示器、存储器、参数输入装置与所述处理器相连,具体的:
所述参数输入装置,用于输入人眼视间距E_R、真实屏幕最大显示凸距离N_R、人眼到真实屏幕的距离Z_R和真实屏幕最大显示凹距离F_R,以及获取虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V,并存储在所述存储器中;
所述处理器,用于根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R,具体为:
依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到视差dN_R和dF_R;根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建虚拟立体场景,进而通过所述显示器将所述虚拟立体场景呈现出来,从而完成虚拟场景到真实场景的映射;
其中,所述根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,具体包括:
根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的如下关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
<mrow>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>R</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mrow>
<mfrac>
<mn>1</mn>
<mrow>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mi>R</mi>
<mrow>
<mi>F</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
</mfrac>
</mrow>
</mfrac>
</mrow>
其中,R为所述视差dN_R和所述视差dF_R比值,
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
15.一种基于映射的虚拟立体场景实现的系统,其特征在于,所述系统包括:单摄像机、参数采集器和智能终端,所述单摄像机和参数采集器连接智能终端;
所述参数采集器,用于采集虚拟场景下虚拟单摄像机分别到虚拟近裁剪平面和虚拟远裁剪平面的距离N_V和F_V以及用于采集真实场景中人眼视间距E_R、人眼到真实屏幕的距离ZR、真实场景中真实屏幕最大显示凸距离N_R和真实屏幕最大显示凹距离F_R;
所述单摄像机,用于记录所要拍摄的场景内容;
所述智能终端根据所述N_R、F_R、E_R和Z_R,获得真实场景中在N_R距离下的视差dN_R和F_R距离下的视差dF_R,具体为:
依据相似图形对应边成比例关系,得到公式和并利用参数N_R、F_R、E_R和Z_R计算得到视差dN_R和dF_R;
所述智能终端根据真实场景中真实屏幕最大显示凸距离N_R下的视差dN_R和真实屏幕最大显示凹距离F_R下的视差dF_R的比值与虚拟场景中虚拟单摄像机到虚拟近裁剪平面距离N_V下的视差dN_V和虚拟场景中虚拟单摄像机到虚拟远裁剪平面距离F_V下的视差dF_V比值相同,从而根据dN_R、dF_R、N_V和F_V获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值;根据所述虚拟场景的视间距E_V和所述虚拟单摄像机得到左右虚拟摄像机,并根据所述左右虚拟摄像机及所述非对称透视投影参数,完成虚拟单摄像机的场景内容的透视投影变换,构建并显示虚拟立体场景,从而完成虚拟场景到真实场景的映射;
其中,所述根据真实场景中所述视差dN_R和dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同,获得虚拟场景的视间距E_V和左右虚拟摄像机的非对称透视投影参数值,具体包括:
根据真实场景中所述视差dN_R和所述视差dF_R比值与虚拟场景中N_V距离下的视差dN_V和F_V距离下的视差dF_V比值相同获得的如下关系式,求解得到虚拟场景下左右虚拟摄像机到虚拟零视差平面的距离Z_V:
<mrow>
<mi>Z</mi>
<mo>_</mo>
<mi>V</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>R</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mrow>
<mfrac>
<mn>1</mn>
<mrow>
<mi>N</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mi>R</mi>
<mrow>
<mi>F</mi>
<mo>_</mo>
<mi>V</mi>
</mrow>
</mfrac>
</mrow>
</mfrac>
</mrow>
其中,R为所述视差dN_R和所述视差dF_R比值,
依据虚拟单摄像机到虚拟零视差平面的视角θ和距离Z_V,计算得到虚拟场景中屏幕的宽度W_con;
根据虚拟场景中屏幕的宽度W_con和真实场景中屏幕的宽度W_R,计算得到缩放比
根据所述缩放比和虚拟场景下视间距等式,求解得到虚拟场景下视间距E_V;
根据上述求解得到的E_V和Z_V计算得到左右虚拟摄像机的非对称透视投影参数值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610410771.7A CN106251403B (zh) | 2016-06-12 | 2016-06-12 | 一种虚拟立体场景实现的方法、装置和系统 |
US15/246,016 US10506223B2 (en) | 2016-06-12 | 2016-08-24 | Method, apparatus, and device for realizing virtual stereoscopic scene |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610410771.7A CN106251403B (zh) | 2016-06-12 | 2016-06-12 | 一种虚拟立体场景实现的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106251403A CN106251403A (zh) | 2016-12-21 |
CN106251403B true CN106251403B (zh) | 2018-02-16 |
Family
ID=57612891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610410771.7A Expired - Fee Related CN106251403B (zh) | 2016-06-12 | 2016-06-12 | 一种虚拟立体场景实现的方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10506223B2 (zh) |
CN (1) | CN106251403B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI818474B (zh) * | 2021-12-10 | 2023-10-11 | 愛實境股份有限公司 | 三維空間風格快速轉換方法與系統 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995477A (zh) | 2016-10-26 | 2018-05-04 | 中联盛世文化(北京)有限公司 | 图像展示方法、客户端及系统、图像发送方法及服务器 |
CN106774937B (zh) * | 2017-01-13 | 2020-01-10 | 宇龙计算机通信科技(深圳)有限公司 | 一种增强现实技术中的图像交互方法及其装置 |
CN107071384B (zh) * | 2017-04-01 | 2018-07-06 | 上海讯陌通讯技术有限公司 | 虚拟主动视差计算补偿的双目渲染方法及系统 |
CN108984075B (zh) * | 2017-05-31 | 2021-09-07 | 华为技术有限公司 | 显示模式切换方法、装置及终端 |
CN107333121B (zh) * | 2017-06-27 | 2019-02-26 | 山东大学 | 曲面屏幕上移动视点的沉浸式立体渲染投影系统及其方法 |
WO2019041035A1 (en) | 2017-08-30 | 2019-03-07 | Innovations Mindtrick Inc. | STEREOSCOPIC IMAGE DISPLAY DEVICE ADJUSTED BY THE SPECTATOR |
CN108734786B (zh) * | 2017-09-12 | 2021-07-27 | 武汉天际航信息科技股份有限公司 | 实景三维增强现实可视化系统及方法 |
CN109874002B (zh) * | 2017-12-04 | 2024-03-22 | 深圳市冠旭电子股份有限公司 | Vr智能头戴设备和vr图像显示系统 |
JP7339278B2 (ja) * | 2018-02-08 | 2023-09-05 | イノベーションズ マインドトリック インコーポレイテッド | 視聴者に合わせて調整された立体画像表示 |
CN108765260A (zh) * | 2018-04-03 | 2018-11-06 | 北京易讯理想科技有限公司 | 一种指示屏幕外目标对象方向的方法 |
CN108510574B (zh) * | 2018-04-17 | 2021-09-28 | 福州大学 | 一种基于样例学习并增强视觉质量的3d图像裁剪方法 |
CN109389042A (zh) | 2018-09-07 | 2019-02-26 | 百度在线网络技术(北京)有限公司 | 协助驾驶的方法、设备、无人驾驶设备及可读存储介质 |
CN111050145B (zh) * | 2018-10-11 | 2022-07-01 | 上海云绅智能科技有限公司 | 一种多屏融合成像的方法、智能设备及系统 |
CN111176593A (zh) * | 2018-11-09 | 2020-05-19 | 上海云绅智能科技有限公司 | 一种延展画面的投影方法及系统 |
CN111179407A (zh) * | 2018-11-09 | 2020-05-19 | 上海云绅智能科技有限公司 | 虚拟场景的创建方法、投影方法及系统、智能设备 |
US11004256B2 (en) * | 2019-05-08 | 2021-05-11 | Citrix Systems, Inc. | Collaboration of augmented reality content in stereoscopic view in virtualized environment |
CN112929651A (zh) * | 2021-01-25 | 2021-06-08 | 北京信息科技大学 | 一种显示方法、装置、电子设备及存储介质 |
CN113345113B (zh) * | 2021-06-17 | 2022-03-18 | 北京航空航天大学青岛研究院 | 一种基于cave系统的内容呈现方法 |
CN113449122B (zh) * | 2021-07-09 | 2023-01-17 | 广州浩传网络科技有限公司 | 一种三维场景图的解说内容生成方法和装置 |
CN113611181B (zh) * | 2021-07-09 | 2023-06-13 | 中国舰船研究设计中心 | 一种虚拟仿真场景的立体显示方法及装置 |
CN113671813B (zh) * | 2021-08-20 | 2022-09-13 | 中国人民解放军陆军装甲兵学院 | 一种虚实场景融合的全视差全息体视图制作方法及系统 |
CN115268721A (zh) * | 2022-06-15 | 2022-11-01 | 中国科学院深圳先进技术研究院 | 一种虚拟相机的实现方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930550A (zh) * | 2012-11-20 | 2013-02-13 | 天津理工大学 | 立体图像绘制时虚拟相机分离距离的确定方法 |
CN103702098A (zh) * | 2013-12-09 | 2014-04-02 | 上海交通大学 | 一种时空域联合约束的三视点立体视频深度提取方法 |
CN104023221A (zh) * | 2014-06-23 | 2014-09-03 | 深圳超多维光电子有限公司 | 立体图像视差调节方法和装置 |
CN105072433A (zh) * | 2015-08-21 | 2015-11-18 | 山东师范大学 | 应用于头跟踪虚拟现实系统的感知深度映射方法 |
CN105306919A (zh) * | 2014-06-03 | 2016-02-03 | 宏碁股份有限公司 | 立体图像合成方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0970402B1 (en) | 1998-01-28 | 2005-11-02 | Koninklijke Philips Electronics N.V. | Head-mounted display |
US6972735B2 (en) | 2002-03-20 | 2005-12-06 | Raymond T. Hebert | Head-mounted viewing system for single electronic displays using biocular lens with binocular folding mirrors |
CN101285936A (zh) | 2008-05-29 | 2008-10-15 | 四川虹视显示技术有限公司 | 双目近眼显示系统 |
US8581905B2 (en) * | 2010-04-08 | 2013-11-12 | Disney Enterprises, Inc. | Interactive three dimensional displays on handheld devices |
JP2014501086A (ja) * | 2010-11-23 | 2014-01-16 | 深▲セン▼超多▲維▼光▲電▼子有限公司 | 立体画像取得システム及び方法 |
ITTO20111150A1 (it) * | 2011-12-14 | 2013-06-15 | Univ Degli Studi Genova | Rappresentazione stereoscopica tridimensionale perfezionata di oggetti virtuali per un osservatore in movimento |
US9129436B2 (en) * | 2012-08-01 | 2015-09-08 | Dreamworks Animation Llc | Techniques for smoothing scripted stereo curves for stereoscopic computer animation |
CN104570356A (zh) | 2015-02-03 | 2015-04-29 | 深圳市安华光电技术有限公司 | 一种单图像源双目近眼显示装置 |
CN104869389B (zh) * | 2015-05-15 | 2016-10-05 | 北京邮电大学 | 离轴式虚拟摄像机参数确定方法及系统 |
-
2016
- 2016-06-12 CN CN201610410771.7A patent/CN106251403B/zh not_active Expired - Fee Related
- 2016-08-24 US US15/246,016 patent/US10506223B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930550A (zh) * | 2012-11-20 | 2013-02-13 | 天津理工大学 | 立体图像绘制时虚拟相机分离距离的确定方法 |
CN103702098A (zh) * | 2013-12-09 | 2014-04-02 | 上海交通大学 | 一种时空域联合约束的三视点立体视频深度提取方法 |
CN105306919A (zh) * | 2014-06-03 | 2016-02-03 | 宏碁股份有限公司 | 立体图像合成方法及装置 |
CN104023221A (zh) * | 2014-06-23 | 2014-09-03 | 深圳超多维光电子有限公司 | 立体图像视差调节方法和装置 |
CN105072433A (zh) * | 2015-08-21 | 2015-11-18 | 山东师范大学 | 应用于头跟踪虚拟现实系统的感知深度映射方法 |
Non-Patent Citations (1)
Title |
---|
《多视点立体显示系统建模及分析》;毕家瑜等;《光学技术》;20090731;第35卷(第4期);第575-578,583页 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI818474B (zh) * | 2021-12-10 | 2023-10-11 | 愛實境股份有限公司 | 三維空間風格快速轉換方法與系統 |
Also Published As
Publication number | Publication date |
---|---|
CN106251403A (zh) | 2016-12-21 |
US10506223B2 (en) | 2019-12-10 |
US20170359571A1 (en) | 2017-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106251403B (zh) | 一种虚拟立体场景实现的方法、装置和系统 | |
US10855909B2 (en) | Method and apparatus for obtaining binocular panoramic image, and storage medium | |
US9460555B2 (en) | System and method for three-dimensional visualization of geographical data | |
JP4228646B2 (ja) | 立体視画像生成方法および立体視画像生成装置 | |
US9848184B2 (en) | Stereoscopic display system using light field type data | |
CN106228530B (zh) | 一种立体摄影方法、装置及立体摄影设备 | |
CN105704468A (zh) | 用于虚拟和现实场景的立体显示方法、装置及电子设备 | |
KR102049456B1 (ko) | 광 필드 영상을 생성하는 방법 및 장치 | |
US20130027389A1 (en) | Making a two-dimensional image into three dimensions | |
CN110335307A (zh) | 标定方法、装置、计算机存储介质和终端设备 | |
EP3526639A1 (en) | Display of visual data with a virtual reality headset | |
CN106228613B (zh) | 一种虚拟立体场景的构建方法、装置及立体显示设备 | |
Marrinan et al. | Real-time omnidirectional stereo rendering: generating 360 surround-view panoramic images for comfortable immersive viewing | |
CN106254847B (zh) | 一种确定立体显示屏幕的显示极限的方法、装置和系统 | |
TWI572899B (zh) | 擴充實境成像方法及其裝置 | |
CN110197524B (zh) | 立体显示方法、设备、装置和计算机可读存储介质 | |
JP2002300612A (ja) | 画像生成装置、プログラム及び情報記憶媒体 | |
US10701345B2 (en) | System and method for generating a stereo pair of images of virtual objects | |
Wei et al. | Color anaglyphs for panorama visualizations | |
WO2018186168A1 (ja) | 映像生成装置、映像生成方法および映像生成プログラム | |
JP2014116818A (ja) | 全天周立体映像表示装置、全天周立体映像表示方法、映像データ補正プログラム | |
US20240236288A9 (en) | Method And Apparatus For Generating Stereoscopic Display Contents | |
CN106231283A (zh) | 一种虚拟立体场景的构建方法、装置及立体显示设备 | |
JP4591997B2 (ja) | 立体視映像表示装置 | |
KR100400209B1 (ko) | 텔레비젼(tv)신호로부터삼차원동영상을발생시키는장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180712 Address after: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong Patentee after: SUPERD Co.,Ltd. Address before: 518000 East Guangdong H-1 East 101, overseas Chinese town, Nanshan District, Shenzhen. Patentee before: SHENZHEN SUPER PERFECT OPTICS Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180216 |