一种显示三维图像的方法

文档序号:6604813阅读:267来源:国知局
专利名称:一种显示三维图像的方法
技术领域
本发明涉及计算机三维图形处理和数字图像显示领域,更确切地说是涉及该领域中的一种显示三维图像的方法。
背景技术
基于平面显示的三维图像与人们工作和生活的关系越来越密切,人们对三维图像质量的要求也越来越高,尤其在游戏和展览方面显得更为突出。
随着计算机和图形显示卡性能的日益提高,三维图像的生成和显示已经做得越来越好。目前的游戏或计算机三维图像的生成大都使用三种技术,一种是视差阻隔技术,一种是空间透视图技术,还有一种是三维建模技术。
视差阻隔技术利用了图像在眼睛中暂留的现象,该技术通过把图像的光线分成两个部分,使这两部分分别进入观众的左眼和右眼,从而使图像在人的眼睛中显示为立体图像,采用这种技术最为典型的例子就是立体眼镜。中国专利号为88107697.X、89104038.2、94191252.3的专利都与该技术相关。
空间透视图技术运用的是绘画中的基本技能,该技术采用在显示视点确定后,将平面展示中的立体图像按照近大远小、近处遮盖远处或消失点等绘画中的一些规则生成。中国专利号为96191009.7的专利的技术即为空间透视图技术。对于该技术来说,目前采用该技术实现的游戏中有相当一部分是采用45度视角来展示景物、人物及其光影,但实际上所实现的都是固定显示视点的二维图像,而且在计算机的图像显示中一般都是采用固定显示视点的空间透视技术,即显示视点由程序事先设定,如此实现的图像会让观众觉得生硬和不协调。
三维建模技术是利用计算机绘图产生三维的景物,然后依据所选择的显示视点而把三维图像投影到显示平面,显示视点可以利用计算机的鼠标、操纵杆等辅助操作设备按照设定的角度进行选择,计算机中的三维图像随着辅助操作设备的移动而进行移动或旋转。对于该技术来说,基于该技术完成的三维图像实际上是一系列的二维图像依靠观众的想象力而合成的,虽然三维建模真实地构建了一个立体的场景,但是几乎没有显示视点的变化,且同样是通过程序来确定固定显示视点的方法。
目前生成三维图像所采用的这几种现有技术的中心都在于图像的处理和生成,这几种技术共同的不足就是都只关注物体距离感的产生,都是预先设定三维图像所处场景空间的显示视点,将三维图像按照所设定的显示视点进行显示,而没有将三维图像的显示与观众观察角度和位置的变化联系起来。所以在目前的游戏和计算机的三维图像显示中,三维图像都不随着观众观察角度和位置的变化而变化,而实际生活中,景物与观众同时处在变化中,观众视点的变化会改变观看景物的视角,从而观察到景物的不同侧面,同样,景物的运动相对于观众视点也展示不同的侧面,因此,目前观众看到的游戏或计算机中的三维图像总是与实际生活中的视觉感受不一样,对于这一点,目前还没有好的解决方案。

发明内容
有鉴于此,本发明的主要目的就是提供一种显示三维图像的方法,使显示的三维图像随着观众视点的变化而同步调整其显示视点,显示出其不同侧面及对应的投影面。
为达到以上目的,本发明的技术具体是这样实现的一种显示三维图像的方法,其特征在于至少包括A.在控制器上连接一个用于检测观众视点变化的感应器,控制器设定感应器的捕捉频率,感应器将观众视点的位置参数实时地传送给控制器;B.控制器确定以原始观众视点作为基准点的视点空间及三维图像的显示视点,并计算出三维图像的第一场显示场景;
C.控制器计算观众视点位置参数的偏移量,并根据该偏移量调整三维图像的显示视点,根据三维图像的显示视点调整三维图像的显示场景。
所述步骤B中,控制器将感应器启动后所捕捉到的观众视点的第一个位置参数作为原始观众视点的位置参数,并根据该原始观众视点的位置参数确定三维图像原始显示视点的位置参数,根据该原始显示视点的位置参数计算出三维图像的第一场显示场景。
所述步骤B中,控制器将感应器启动后一段时间内所捕捉到的观众视点的位置参数的平均值作为原始观众视点的位置参数,并根据该原始观众视点的位置参数确定三维图像原始显示视点的位置参数,根据该原始显示视点的位置参数计算出三维图像的第一场显示场景。
所述步骤B中,控制器预先设置原始观众视点的位置参数,并根据该原始观众视点的位置参数确定三维图像原始显示视点的位置参数,根据该原始显示视点的位置参数计算出三维图像的第一场显示场景。
所述步骤B中可以设置三维图像的显示视点对应的视线与观众视点对应的视线重合。
所述步骤B中还可以设置三维图像的显示视点对应的视线与观众视点对应的视线有一个固定夹角。
所述设置固定夹角通过将原始观众视点位置参数增加一个固定值实现。
所述设置固定夹角通过将视点空间倾斜一个固定角度实现。
所述步骤B中预先设置三维图像的原始显示中心。
所述步骤C可以进一步包括保存当前观众视点的位置参数,并判断是否收到停止信息,如果没有收到,则返回步骤C,否则,结束处理。
所述步骤C还可以进一步包括预先设置一个偏移量的放大值,控制器根据放大后的偏移量调整三维图像的显示场景。
所述步骤C还可以进一步包括设置观众视点的某个偏移量为零,控制器根据偏移量调整三维图像的显示场景。
所述步骤C还可以进一步包括预先设置纵深方向的比例值,控制器根据该比例值调整三维图像显示视点纵深方向的坐标值,并根据调整后的显示视点显示三维图像的显示场景。
所述的控制器是中央处理器(CPU)或者图形处理器(GPU),或者是CPU与GPU的组合。
步骤A中所述的感应器是传感器、摄像机或虹膜检测装置等。
所述的显示装置是液晶显示器、平面显示器、等离子显示器、投影仪、背投显示器或数字电视机等。
所述的显示装置可以是作环形投影显示,还可以是作球幕投影显示。
所述的显示装置是多个显示装置从不同角度拼接得到,每个显示装置根据观众视点位置参数的变化调整其三维图像的显示视点,并根据显示视点调整三维图像的显示场景。
本发明方法根据视点空间中观众视点的变化来改变场景空间中的显示视点,使场景空间中的三维图像随着观众视点的改变而变换角度,从而使显示的三维图像更为逼真,观众观看三维图像与观看实体的感受相同,观众可以以更为自然的方式来观看三维图像,尤其适合游戏玩家。
采用本发明所需要投入的新设备少,可以保持原有显示设备基本不变,观众观看三维图像时可以不需要佩带设备,减少了操作的不便,且本发明的


图1为视点空间坐标图;图2为场景空间坐标图;图3为视线形成的示意图;图4为三维图像作不同显示的示意图;图5为本发明根据观众视点变化改变三维图像显示视点的操作流程图;
图6为本发明将观众视点的改变作放大处理,并根据放大处理结果改变三维图像显示视点的操作流程图;图7为本发明固定观众视点在y’轴上的坐标值,而根据观众视点变化改变三维图像显示视点的操作流程图;图8为本发明固定观众视点在y’轴上的坐标值,而将观众视点的改变作放大处理,并根据放大处理结果改变三维图像显示视点的操作流程图;图9为本发明实施例中在视点空间和场景空间的纵深线重合情况下三维长方体的显示示意图;图10为本发明实施例中观众视点在a点时观众观察到的三维长方体的显示状态;图11为本发明实施例中观众视点在b点时观众观察到的三维长方体的显示状态;图12为本发明实施例中感应器设置在显示器上的示意图。
具体实施例方式
下面结合附图及具体实施例对本发明的技术方案作进一步详细的说明。
人们希望在观看三维图像时的感觉能与观看实物一样,即观众在观看三维图像时通过观众自身位置的移动能够同步观察到三维图像中物体的其他侧面,这就需要充分考虑人体立体视觉形成的原因。把观众观察景物的位置称为观众视点,以两眼连线的中心点为准,人体立体视觉的形成在很大程度上表现为观众视点的不断变化,观众视点的变化可以表现为观众转动或者移动头部等,观众视点的移动会改变观众观看景物的视角,从而使人眼可以观察到景物的不同侧面,观众对景物的距离和景深的感觉通过观众视点变化时观众两只眼睛所形成的视差而形成。
本发明将观众视点所处的空间作为视点空间,将三维图像所处的空间作为场景空间,首先结合

与视点空间和场景空间相关的概念。
图1所示的为以原始观众视点为中心的视点空间坐标图,o’点为原始观众视点,为方便实际操作过程,常常以观众的头部作为观众视点,x’、y’、z’分别为视点水平线、视点垂直线和视点纵深线,分别沿着原始观众视点形成。图2所示的为以三维图像显示的原始基准点为中心的场景空间坐标图,o点为三维图像显示的原始基准点,即为原始显示中心,x、y、z分别为显示水平线、显示垂直线和显示纵深线,分别沿着原始显示中心形成。视线为观众视点与三维图像显示中心的连线,如图3中虚线所示,其中A点为观众视点,B点为三维图像的显示中心。
如果景物是一个真实的实物,则观众观察景物的角度或位置不同,景物在观众眼中的显示也就不同,如果在平面显示中能将三维图像的显示视点根据观众视点的变化而对应变化,这样就可以使观众观察三维图像的感觉与观察实物的感觉一致。以一个方块作为平面显示中的三维图像,如果该方块保持位置不变,观众视点在视点水平线和视点垂直线所形成的平面上作上下或左右移动时,观众如果能够看到方块的不同侧面,即达到了观众观察实物时的效果。
图4为一个场景空间坐标图,图中的方块表示一个三维图像,存在于一个场景空间中,要使观众观看该方块的感觉与观察实物时一样,则需要该方块根据观众的变化而呈现出其不同的侧面。如果方块的显示中心与观众视点形成的视线与场景空间坐标图中的显示纵深线不形成角度,则方块在观众眼中所显示的是图4中的X,如果观众视点与方块之间的纵深长度保持不变,让观众视点在视点水平线与视点垂直线所形成的平面上左右移动,则方块需要作相应的角度变化以显示出其不同的侧面,即图中与方块X处于同一水平面的方块h和d,观众因此会看到方块左右侧的不同侧面;同理,如果让观众视点上下移动,则方块需要显示出其不同的侧面,即图中与方块X处于同一垂直面的方块b和f,观众因此会看到方块上下侧的不同侧面;如果观众视点同时进行上下和左右移动,则方块需要对应显示的为a、c、g或e,以使观众能够看到相应的变化。
在实际生活中,一般是场景空间的三维图像与视点空间的观众视点同时处于变化中,这比仅是观众视点变化的情况更为复杂,这种情况下需要观众所观察到的三维图像随着观察角度和距离的改变而同步变化,这个变化可以理解为随着观众的变化而要求场景空间中的三维图像的显示视点作相应的变化,并保证显示视点与观众视点共线,这样就能够使观众观察三维图像与观察实际景物的感受一致。本发明即提供一种将场景空间中显示视点与视点空间中的观众视点协同调整的技术方案。也就是说,场景空间中的显示视点与视点空间中的观众视点不再彼此孤立存在,而是场景空间中的显示视点可以根据视点空间中的观众视点的变化对应地变化。对于这个技术方案,最直观的例子是场景空间中的显示视点与视点空间中的观众视点重合,这只是上述两个视点协同调整的一种特例。
下面对本发明所提供的技术方案作详细说明。
首先确定视点空间的位置,该检测方法即为在观众位置附近安装一个用于检测观众视点变化的感应器,感应器按照设定的采样频率来检测观众视点的变化,该变化即为观众视点在视点空间中位置参数的变化,并将该位置参数上报给与之连接的控制器。控制器计算两次采样间观众视点位置参数的差值,所计算出的差值即为观众视点的变化量,控制器依据该变化量来调整三维景物的显示角度,使三维景物的显示视点在视线上,并将调整后的三维景物实时地在显示装置中显示出来。
控制器根据观众视点的不断变化来改变显示视点的操作流程参见图5,其具体操作步骤如下步骤501、控制器设定感应器的捕捉频率,感应器将观众视点的位置参数实时地传送给控制器,控制器根据接收到的观众视点的位置参数确定原始观众视点的位置参数,并根据该位置参数确定三维图像原始显示视点的位置参数,根据该位置参数计算三维场景,由此产生第一场三维场景。
原始观众视点的位置参数可以由控制器预先设置,也可以通过感应器检测得到,具体有两种检测方法,一种是首次操作法,即控制器将感应器启动后所捕捉到的观众视点的第一个位置参数作为原始观众视点的位置参数;另一种是平均确定法,即控制器将感应器启动后一段时间内所捕捉到的观众视点位置参数的平均值作为原始观众视点的位置参数,这段时间的长短可以预先设定。
根据不同的需要,可以将场景空间的显示视点对应的视线与视点空间的观众视点对应的视线设置为重合,也可以设置为有一个固定夹角。如果希望三维图像的显示与人们观察景物的效果一致,则将场景空间的显示视点对应的视线与视点空间的观众视点对应的视线保持一致,比如设置视点空间的z,轴与场景空间的z轴完全共线。如果希望观看三维图像的效果与人们正常观看景物的视角有一个偏差,比如需要产生俯视或斜视等效果时,则可以根据偏斜的角度将视点空间中原始观众视点的坐标值在感应器获得的原始观众视点位置参数的基础上增加一个固定值,或者将某个视点坐标轴增加一个固定的倾斜角度。
步骤502、感应器在控制器设定的捕捉频率下产生观众视点的位置参数,并将所产生的位置参数传送给控制器,控制器计算两次位置参数的差值,该差值即代表了观众视点位置的偏移量,控制器依据该差值对三维场景的显示进行调整,从而保证三维场景的显示与视点的变化保持同步。
步骤503、保存目前观众视点的位置信息,并判断是否收到停止信息,如果没有收到,则跳至步骤502,否则,结束本流程。
在实际观看效果中,由于观众的头部及身体的偏移有限,为了加强显示效果,可以对采集到的观众视点位置的偏移量进行放大处理,然后按照放大后的值对场景进行调整。进行该放大处理时需要预先设定一个偏移量的放大值,并将该放大值与计算出的偏移量相乘,将其乘积作为新的偏移量,并用该新的偏移量调整场景,进行该放大处理的操作流程参见图6,其具体操作步骤即为在图5对应的上述步骤中增加一些内容,在上述步骤501中设定一个偏移量的放大值,并在步骤502中将偏移量与放大值相乘,计算出新的偏移量,并将场景根据该新的偏移量进行调整。
以上方法中观众视点位置的偏移量都包括x、y、z三个方向,即考虑了观众所有的变化,其实人们观察事物时,可能只关注一个或两个方向,因此在实际操作中可以不都考虑所有方向的变化。比如,通常人们只是向前后或左右转变位置来观察事物,而很少上下转变位置,因此观众视点上下的位置变化可以忽略,对于这种情况,可以在操作时只考虑观众视点在x’和z’轴上的位置变化,而不考虑y’轴的变化,即将观众视点位置参数在y’轴上的值保持不变。其具体操作步骤即为在图5或图6对应的步骤中将原始观众视点的位置参数在y’轴上的值作为观众视点位置参数在y’轴上的固定值,这种情况下的操作流程图分别参见图7和图8。
一般来说,场景空间中显示的景物要小于实际的景物,因此可以根据需要设置一个沿着纵深方向的比例值,在根据视点空间的观众视点调整场景空间的显示视点之后,根据该比例值对场景空间的显示视点进一步进行调整。如果需要对三维图像进行放大,则根据比例值缩短场景空间的显示视点纵深方向的值,反之,则增大纵深方向的值,由此可以保证观众看到的场景空间中的景物具有高度的真实性。
下面举例说明采用本发明方法进行三维图像显示的实际效果。
参见图9,根据原始观众视点设定x’y’z’视点空间和xyz场景空间,将场景空间的z轴设置为与视点空间的z’轴重合,同时穿过三维长方体1234面的中心,用1、2、3、4、5、6分别表示长方体外侧的六个顶角。观众视点在x’y’z’视点空间的x’轴上从a点向b点移动,当观众视点在a点时,观众可以观察到的长方体参见图10,当观众视点开始从a点向b点移动时,长方体将根据观众视点的变化逐渐变化,在观众视点移动到长方体的3465面的平行位置及之前,长方体显示为一个略微拉长的矩形,12边逐渐变短,34边逐渐拉长,当观众视点的移动超过3465面的平行位置后,长方体的3465面开始出现,并且随着观众视点向b点的移动逐步变大,当观众视点移动到b点时,所显示的三维长方体图像参见图11。随着观众视点的不断变化,在图像显示中出现的将是一个从图10到图11的渐变的图像,变化的速率与观众视点移动的速率一致。只要所用的感应器的采样频率与显示器的刷新频率足够高,那么该三维图像的显示将会是平滑和连贯的。
应用本发明进行三维图像显示时,所用的显示装置的控制器可以是中央处理器(CPU),也可以是图像处理器(GPU),还可以是CPU与GPU的组合;所用的感应器需要与控制器连接,可以是传感器或摄像机等,还可以是虹膜检测装置,感应器可以安装在显示装置上,参见图12,也可以设置在显示装置的周围,还可以佩带在用户身上;所用的显示装置可以是液晶显示器、平面显示器、等离子显示器、背投显示器和投影仪等,还可以是作环形或球幕投影显示的显示装置等。显示装置可以只有一个,也可以是多个显示装置从不同角度拼接而得,如果是多个显示装置的情况,则需要针对每个显示装置设置一个调整该显示装置三维图像显示视点的流程,从而保证固定角度摆放的显示装置可以依据观众视点的变化来同步调整其显示画面。
本发明的三维图像显示方法可以用于计算机对三维图像的显示上,还可以用于电视机对三维图像的显示上。只要保证感应器的采样频率和显示装置的刷新频率足够高,就可以保证显示的图像随着观众视点的变化而平滑地变化。
采用本发明方法显示三维图像时所需的设备投入小,可以保持原有设备不变,因此该方法简单易行;观众不需要佩带设备就可以观看三维图像,且三维图像与观众视点的变化一致。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种显示三维图像的方法,其特征在于至少包括A.在控制器上连接一个用于检测观众视点变化的感应器,控制器设定感应器的捕捉频率,感应器将观众视点的位置参数实时地传送给控制器;B.控制器确定以原始观众视点作为基准点的视点空间及三维图像的显示视点,并计算出三维图像的第一场显示场景;C.控制器计算观众视点位置参数的偏移量,并根据该偏移量调整三维图像的显示视点,根据三维图像的显示视点调整三维图像的显示场景。
2.根据权利要求1所述的方法,其特征在于所述步骤B中,控制器将感应器启动后所捕捉到的观众视点的第一个位置参数作为原始观众视点的位置参数,并根据该原始观众视点的位置参数确定三维图像原始显示视点的位置参数,根据该原始显示视点的位置参数计算出三维图像的第一场显示场景。
3.根据权利要求1所述的方法,其特征在于所述步骤B中,控制器将感应器启动后一段时间内所捕捉到的观众视点的位置参数的平均值作为原始观众视点的位置参数,并根据该原始观众视点的位置参数确定三维图像原始显示视点的位置参数,根据该原始显示视点的位置参数计算出三维图像的第一场显示场景。
4.根据权利要求1所述的方法,其特征在于所述步骤B中,控制器预先设置原始观众视点的位置参数,并根据该原始观众视点的位置参数确定三维图像原始显示视点的位置参数,根据该原始显示视点的位置参数计算出三维图像的第一场显示场景。
5.根据权利要求1所述的方法,其特征在于,所述步骤B中设置三维图像的显示视点对应的视线与观众视点对应的视线重合。
6.根据权利要求1所述的方法,其特征在于,所述步骤B中设置三维图像的显示视点对应的视线与观众视点对应的视线有一个固定夹角。
7.根据权利要求6所述的方法,其特征在于,所述设置固定夹角通过将原始观众视点位置参数增加一个固定值实现。
8.根据权利要求6所述的方法,其特征在于,所述设置固定夹角通过将视点空间倾斜一个固定角度实现。
9.根据权利要求1所述的方法,其特征在于,所述步骤B中预先设置三维图像的原始显示中心。
10.根据权利要求1所述的方法,其特征在于,所述步骤C进一步包括保存当前观众视点的位置参数,并判断是否收到停止信息,如果没有收到,则返回步骤C,否则,结束处理。
11.根据权利要求1所述的方法,其特征在于,所述步骤C进一步包括预先设置一个偏移量的放大值,控制器根据放大后的偏移量调整三维图像的显示场景。
12.根据权利要求1或11所述的方法,其特征在于,所述步骤C进一步包括设置观众视点的某个偏移量为零,控制器根据偏移量调整三维图像的显示场景。
13.根据权利要求1所述的方法,其特征在于,所述步骤C进一步包括预先设置纵深方向的比例值,控制器根据该比例值调整三维图像显示视点纵深方向的坐标值,并根据调整后的显示视点显示三维图像的显示场景。
14.根据权利要求1所述的方法,其特征在于,所述的控制器是中央处理器(CPU)或者图形处理器(GPU),或者是CPU与GPU的组合。
15.根据权利要求1所述的方法,其特征在于,步骤A中所述的感应器是传感器、摄像机或虹膜检测装置。
16.根据权利要求1所述的方法,其特征在于,所述的显示装置是液晶显示器、平面显示器、等离子显示器、投影仪、背投显示器或数字电视机。
17.根据权利要求1所述的方法,其特征在于,所述的显示装置作环形投影显示或球幕投影显示。
18.根据权利要求1所述的方法,其特征在于,所述的显示装置是多个显示装置从不同角度拼接得到,每个显示装置根据观众视点位置参数的变化调整其三维图像的显示视点,并根据显示视点调整三维图像的显示场景。
全文摘要
本发明公开了一种显示三维图像的方法,该方法在控制器上连接一个用于检测观众视点变化的感应器,控制器设定感应器的捕捉频率,感应器将观众视点的位置参数实时地传送给控制器;控制器确定以原始观众视点作为基准点的视点空间及三维图像的显示视点,并计算出三维图像的第一场显示场景;控制器计算观众视点位置参数的偏移量,并根据该偏移量调整三维图像的显示视点,根据三维图像的显示视点调整三维图像的显示场景。该方法解决了原有三维图像的显示与观众观察实物不一致的问题,使三维图像随着观众视点的改变而改变显示角度。
文档编号G06F9/00GK1512456SQ02158909
公开日2004年7月14日 申请日期2002年12月26日 优先权日2002年12月26日
发明者姜珊, 姜 珊 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1