发明内容
本发明提供了一种3D图像的显示方法和一种头戴设备。本发明提供的技术方案能够解决现有的头戴设备中3D图像显示角度狭小的问题。
本发明公开了一种3D图像的显示方法,该方法包括:
建立3D背景模型,在所述3D背景模型中设置视频图像显示区域;
获取视频图像数据,将所视频述图像数据投射在所述3D背景模型的视频图像显示区域中;
获取头戴设备的显示参数,根据所述显示参数,对所述投射有视频图像数据的3D背景模型进行图像变形处理,生成分别对应左眼的第一3D视频图像和对应右眼的第二3D视频图像;
将所述第一3D视频图像和所述第二3D视频图像分别经过两个透镜折射后进行显示。
可选的,在所述生成分别对应左眼的第一视频显示区域和对应右眼的第二视频显示区域之后,该方法还包括:
分别对所述对应左眼的第一3D视频图像的边缘部分和所述对应右眼的第二3D视频图像的边缘部分进行图像平滑处理;
将所述经过图像平滑处理后的所述第一3D视频图像和所述第二3D视频图像分别进行显示。
可选的,所述对所述投射有视频图像数据的3D背景模型进行图像变形处理,生成分别对应左眼的第一3D视频图像和对应右眼的第二3D视频图像包括:
根据所述头戴设备的显示区域的长度值和宽度值,生成第一框体和第二框体;
将所述显示有视频图像的3D背景模型进行图像变形处理,生成分别对应左眼的第一视频数据和对应右眼的第二视频数据;
将所述第一视频数据放置到所述第一框体内,生成对应左眼的第一3D视频图像;将所述第二视频数据放置到所述第二框体内,生成对应右眼的第二3D视频图像。
可选的,所述分别对所述对应左眼的第一3D视频图像的边缘部分和所述对应右眼的第二3D视频图像的边缘部分进行图像平滑处理包括:
对所述第一3D视频图像的边缘部分以及第二3D视频图像的边缘部分通过卷积平滑算法进行图像平滑处理;
其中,所述第一3D视频图像的边缘部分是指距离所述第一3D视频显示图像中心的大于预设值的区域;第二3D视频图像的边缘部分是指距离所述第二3D视频图像中心的大于预设值的区域。
可选的,所述对所述第一3D视频图像的边缘部分以及第二3D视频图像的边缘部分通过卷积平滑算法进行图像平滑处理包括:
对所述第一3D视频图像的边缘部分以及第二3D视频图像的边缘部分中的每个像素点,采集所述像素点周围的像素点构成像素邻域矩阵,
将所述像素邻域矩阵与预设的卷积权值矩阵进行加权计算后得到的新值,使用该新值替换该像素点的原值。
可选的,该方法还包括:设置眼部观察位置矩阵,
获取视角偏移角度,根据所述视角偏移角度修改眼部观察位置矩阵;
根据所述眼部观察位置矩阵,对3D背景模型的顶点进行矩阵运算,得到新的顶点;对所述新的顶点进行着色处理,生成对应视角的3D背景模型。
可选的,该方法还包括:获取视角平移参数,根据所述视角平移参数,对所述3D背景模型进行平移运算,得到新的3D背景模型。
可选的,所述3D背景模型为3D影院模型;
其中,所述3D影院模型中的银幕模型为对应的视频图像显示区域。
本发明还公开了一种头戴设备,该头戴设备包括:背景处理模块、采集处理模块、显示模块、图像处理模块;
所述背景处理模块,用于建立3D背景模型,在所述3D背景模型中设置视频图像显示区域;
所述采集处理模块,用于获取视频图像数据,将所述视频图像数据投射在所述3D背景模型的视频图像显示区域中;用于采集头戴设备的显示参数,将所述头戴设备的显示参数发送给图像处理模块;
所述图像处理模块,用于根据所述显示参数,对所述投射有视频图像数据的3D背景模型进行图像变形处理;生成分别对应左眼的第一3D视频图像和对应右眼的第二3D视频图像;
所述显示模块,用于将所述第一3D视频图像和所述第二3D视频图像分别经过两个透镜折射后进行显示。
可选的,所述图像处理模块,根据所述头戴设备的显示区域的长度值和宽度值,生成第一框体和第二框体;将所述显示有视频图像的3D背景模型进行图像变形处理,生成分别对应左眼的第一视频数据和对应右眼的第二视频数据;将所述第一视频数据放置到所述第一框体内,生成对应左眼的第一3D视频图像;将所述第二视频数据放置到所述第二框体内,生成对应右眼的第二3D视频图像;分别对所述第一3D视频图像的边缘部分和所述第二3D视频图像的边缘部分进行图像平滑处理。
综上所述,本发明提供的技术方案中,通过设置3D背景模型,并且对投射有视频图像数据的3D背景模型进行图像变形处理,分别产生第一3D视频图像和第二3D视频图像;使得用户通过头戴设备中的透镜进行观看时,能够看到较大的视觉角度,提高用户体验,从而解决了现有的头戴设备在观看3D视频时存在视觉角度狭小,边缘模糊的问题。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作还地详细描述。
为达到上述目的本发明的技术方案是这样实现的:
图1是本发明中一种3D图像的显示方法的流程图,参见图1所示,该方法包括如下步骤。
步骤101,建立3D背景模型,在所述3D背景模型中设置视频图像显示区域。
步骤102,获取视频图像数据,将所视频述图像数据投射在所述3D背景模型的视频图像显示区域中;
步骤103,获取头戴设备的显示参数,根据所述显示参数,对所述投射有视频图像数据的3D背景模型进行图像变形处理,生成分别对应左眼的第一3D视频图像和对应右眼的第二3D视频图像。
步骤104,将所述第一3D视频图像和所述第二3D视频图像分别经过两个透镜折射后进行显示。
由上述可知,本发明所公开的一种3D图像的显示方法,适用于头戴设备,根据人眼的观察点的不同,对所述投射有视频图像3D背景模型进行图像变形处理,分别产生第一3D视频图像和第二3D视频图像;使得用户通过头戴设备中的透镜进行观看时,能够看到较大的视觉角度。并且通过设置3D背景模型使得用户在观看视频的同时能够有身临其境的感觉,提高用户体验。
图2是本发明中一种3D图像的显示方法的详细流程图,参见图2所示,该方法包括如下步骤。
步骤201,建立3D背景模型,在所述3D背景模型中设置视频图像显示区域。
在本发明的一种实施例中,3D背景模型可以为影院3D模型,即包括银幕、座位等3D模型。其中,3D背景模型中设有的视频图像显示区域对应于影院3D模型中的银幕模型。
步骤202,获取视频图像数据,将所视频述图像数据投射在所述3D背景模型的视频图像显示区域中。
在步骤202中,获取用于播放的视频图像数据,将该视频图像数据投射到影院3D模型的银幕模型中;即用户通过头戴设备观看视频时,可以看见影院3D模型中的银幕中播放对应的视频,从而实现身临其境观看视频的效果。
步骤203,获取头戴设备的显示参数,根据所述显示参数,对所述投射有视频图像数据的3D背景模型进行图像变形处理,生成分别对应左眼的第一3D视频图像和对应右眼的第二3D视频图像。
在本发明的一种实施例中,头戴设备的显示参数为头戴设备的显示区域的长度值和宽度值。
在步骤203中,根据头戴设备的显示区域的长度值和宽度值,生成第一框体和第二框体;将所述显示有视频图像数据的3D背景模型进行图像变形处理,生成分别对应左眼的第一视频数据和对应右眼的第二视频数据;将所述第一视频数据放置到所述第一框体内,生成对应左眼的第一3D视频图像;将所述第二视频数据放置到所述第二框体内,生成对应右眼的第二3D视频图像。
在本发明的上述实施例中,通过在头戴设备的显示屏幕上生成第一框体和第二框体内分别显示第一3D视频图像和第二3D视频图像,使得人眼通过光学透镜观看第一3D视频图像和第二3D视频图像中分别显示的影院3D模型时,可以得到较大的视角,即能够实现IMAX的观影效果。
步骤204,对所述第一3D视频图像的边缘部分以及和第二3D视频图像的边缘部分进行图像平滑处理。
在步骤204中,为了防止银幕中显示有视频图像数据的影院3D模型进行图像变形处理后,所生成第一3D视频图像的边缘部分以及和第二3D视频图像的边缘部分存在锯齿,导致人眼通过光学透镜看到的3D影像存在失真的问题。因此还需要分别对第一3D视频图像的边缘部分以及和第二3D视频图像的边缘部分进行图像平滑处理。
在本发明的一种实施例中,可以采用卷积平滑算法对所述第一视频显示区域的边缘部分以及第二视频显示区域的边缘部分进行图像平滑处理。
步骤205,显示所述经过图像平滑处理后的所述第一视频显示区域和所述第二视频显示区域。
在步骤205中,将经过图像平滑处理的第一3D视频图像和第二3D视频图像显示在头戴设备的显示屏中。
在本发明的一种具体实施例中,在步骤203中,根据头戴设备显示屏幕的大小,对银幕中显示有视频图像数据的影院3D模型进行图像变形处理。并且在头戴设备的显示屏幕上生成第一框体(Mesh)用于放置第一3D视频图像,和生成第二框体(Mesh)用于放置第二3D视频图像,分别对应左眼和右眼。由于人体左右眼睛观察点的不同,因此生成的第一视频显示区域和第二视频显示区域中的显示的影院3D模型会有所不同。使得人眼通过光学透镜观看第一3D视频图像和第二3D视频图像中分别显示的影院3D模型时,人的大脑可以对第一3D视频图像和第二3D视频图像中分别显示的内容进行识别,从而产生真实的影院3D模型的效果。
本发明中提供方法能够使得用户带上头戴设备后犹如置身电影院的感觉,除了可以看到电影以外,还可以通过选择不同的观察视角,使得看到的电影大小和角度不同,同时将3D视频内容显示在3D背景模型中,增强现实感。
图3是本发明中一种3D视频图像的平滑处理的流程图,在本发明的一种具体实施例中,参见图3所示,为了更好的实现对第一3D视频图像的边缘部分和第二3D视频图像的边缘部分进行图像平滑处理,该方法包括如下步骤。
步骤301,获取第一3D视频图像的边缘部分的像素点。
在步骤301中,第一3D视频图像的边缘部分是指距离所述第一3D视频图像中心的大于预设值的区域。
步骤302,获取第二3D视频图像的边缘部分的像素点。
在步骤302中,第二3D视频图像的边缘部分是指距离所述第二3D视频图像中心的大于预设值的区域。在本发明的一种较佳实施例中,
在步骤301和步骤302中,在本发明的一种较佳实施例中,所述预设值可以为二分之一的最远像素点与中心点的距离。
步骤303,对所述第一3D视频图像的边缘部分以及第二3D视频图像的边缘部分中的每个像素点,采集所述像素点周围的像素点构成像素邻域矩阵。
在步骤303中,可以采集目标像素点周围的8个像素点构成3X3的像素邻域矩阵。在本发明的其他实施例中,可以采集更多的像素点构成更大的像素邻域矩阵,以便产生更好的图像平滑效果。
步骤304,将所述像素邻域矩阵与预设的卷积权值矩阵进行加权计算后得到的新值。
在步骤304中,预设的卷积权值矩阵与采集的像素邻域矩阵相对应,所述卷积权值矩阵对采集的像素邻域矩阵中的每个像素点设置不同的权值值,其中,目标像素点的权值最大。
步骤305,使用该新值替换该像素点的原值。
在本发明的一种实施例中,步骤301和步骤302不分先后顺序,可以同时进行。并且,只将距离中心的一半范围之外的像素点做卷积平滑运算,距离中心的一半范围之内的像素点不做处理可以提高GPU处理的效率,使得观看3D视频时更加流畅。
在本发明的一种实施例中,为实现在不同角度观看3D影像的效果,可以通过构建眼部观察位置矩阵的方式实现视角的变更。图4是本发明中一种3D图像显示的视角变换流程图。参见图4所示,该方法包括如下步骤。
步骤401,设置眼部观察位置矩阵。
步骤402,获取视角偏移角度,根据所述视角偏移角度修改眼部观察位置矩阵。
步骤403,根据所述眼部观察位置矩阵,对3D背景模型的顶点进行矩阵运算,得到新的顶点;
步骤404,对所述新的顶点进行着色处理,生成对应视角的3D背景模型。
在本发明的一种实施例中,在获取到视角偏移角度之后,可以通过调用Matrix.setLookAem来修改眼部观察位置矩阵,从而改变用户对3D背景模型的观察角度。具体为,通过眼部观察位置矩阵M对3D背景模型的顶点V(三维向量)进行矩阵运算,得到新的顶点V’(V’=M*V),顶点着色器处理新的顶点V’,举例为:gl_Position=M*(V,1.0)。
在本发明的一种实施例中,为实现在不同角度观看3D影像的效果,可以通过设置3D背景模型移动矩阵的方式实现视角的变更。图5是本发明中另一种3D图像显示的视角变换流程图。参见图5所示,该方法包括如下步骤。
步骤501,获取视角平移参数。
步骤502,根据所述视角平移参数,对所述3D背景模型进行平移运算,生成对应视角的3D背景模型。
在本发明的一种实施例中,3D背景模型的原有顶点V=[x,y,z],视角平移参数为[x’,y’,z’],表示为分别为沿着世界坐标系移动x’,y’,z’。则根据所述视角平移参数,对所述3D背景模型进行平移运算后为V’=[x+x’,y+y’,z+z’]。
在本发明的其他实施例中,3D影像观看视角的转换从实现角度不限于以上技术,由于变换的对偶性同样可以采用其它方式来实现3D影像观看视角的变换。如把银屏位置往世界坐标系z轴正向移动和把眼部观察位置往z轴负向移动是一样的。
本发明还公开了一种头戴设备,图6是本发明中一种头戴设备的结构示意图,参见图6所示,该头戴设备包括:背景处理模块601、采集处理模块602、显示模块603、图像处理模块604;
背景处理模块601,用于建立3D背景模型,在所述3D背景模型中设置视频图像显示区域;
采集处理模块602,用于获取视频图像数据,将所述视频图像数据投射在所述3D背景模型的视频图像显示区域中;用于采集头戴设备的显示参数,将所述头戴设备的显示参数发送给图像处理模块;
图像处理模块603,用于根据所述显示参数,对所述投射有视频图像数据的3D背景模型进行图像变形处理;生成分别对应左眼的第一3D视频图像和对应右眼的第二3D视频图像;
显示模块604,用于将所述第一3D视频图像和所述第二3D视频图像分别经过两个透镜折射后进行显示。
图7是本发明中一种头戴设备的详细结构示意图,参见图7所示,
在本发明的一种实施例中,图像处理模块603,根据头戴设备的显示区域的长度值和宽度值,生成第一框体和第二框体;将所述显示有视频图像数据的3D背景模型进行图像变形处理,生成分别对应左眼的第一视频数据和对应右眼的第二视频数据;将所述第一视频数据放置到所述第一框体内,生成对应左眼的第一3D视频图像;将所述第二视频数据放置到所述第二框体内,生成对应右眼的第二3D视频图像。
为了使得人眼通过光学透镜观看第一3D视频图像和第二3D视频图像时,能够更好的达到观看的效果。
在本发明的一种实施例中,图像处理模块603,分别对所述第一3D视频图像的边缘部分和所述第二3D视频图像的边缘部分进行图像平滑处理。
在本发明的一种实施例中,图像处理模块603,对所述第一3D视频图像的边缘部分以及第二3D视频图像的边缘部分通过卷积平滑算法进行图像平滑处理;
其中,所述第一3D视频图像的边缘部分是指距离所述第一3D视频显示图像中心的大于预设值的区域;第二3D视频图像的边缘部分是指距离所述第二3D视频图像中心的大于预设值的区域。
在本发明的一种实施例中,图像处理模块603对所述第一3D视频图像的边缘部分以及第二3D视频图像的边缘部分中的每个像素点,采集所述像素点周围的像素点构成像素邻域矩阵,
将所述像素邻域矩阵与预设的卷积权值矩阵进行加权计算后得到的新值,使用该新值替换该像素点的原值
为了实现从不同角度观看3D视频的效果,在本发明的一种实施例中,该装置还包括:视角调节模块;
视角调节模块605,用于设置眼部观察位置矩阵;以及在获取到视角偏移角度之后,根据所述视角偏移角度修改眼部观察位置矩阵;
图像处理模块603,根据所述眼部观察位置矩阵,对3D背景模型的顶点进行矩阵运算,得到新的顶点;对所述新的顶点进行着色处理,生成对应视角的3D背景模型
在本发明的一种实施例中,视角调节模块605,用于获取视角平移参数,将获取的视角平移参数发送给图像处理模块603。
图像处理模块603,根据视角平移参数,对所述3D背景模型进行平移运算,得到新的3D背景模型。
由上述可知,本发明提供的技术方案中,通过设置3D背景模型,并且对投射有视频图像3D背景模型进行图像变形处理,分别产生第一3D视频图像和第二3D视频图像;使得用户通过头戴设备中的透镜进行观看时,能够看到较大的视觉角度,提高用户体验,从而解决了现有的头戴设备在观看3D视频时存在视觉角度狭小的问题。此外,通过对第一3D视频图像和第二3D视频图像的边缘部分进行平滑处理,使得用户在观看3D视频图像的边缘不会出现锯齿的问题,并且还能使得3D视频图像的边缘部分的图像清晰。此外,在本发明中进一步通过设置眼部观察位置矩阵,实现对3D视频图像的观察角度的转换,从而让用户可以选择不同的角度观看3D视频图像,增加用户的体验。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。