CN117710562A - 一种光场3d内容快速生成方法 - Google Patents
一种光场3d内容快速生成方法 Download PDFInfo
- Publication number
- CN117710562A CN117710562A CN202311733154.7A CN202311733154A CN117710562A CN 117710562 A CN117710562 A CN 117710562A CN 202311733154 A CN202311733154 A CN 202311733154A CN 117710562 A CN117710562 A CN 117710562A
- Authority
- CN
- China
- Prior art keywords
- light field
- content
- sub
- virtual camera
- viewpoint
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 49
- 239000011159 matrix material Substances 0.000 claims abstract description 29
- 238000009877 rendering Methods 0.000 claims abstract description 26
- 230000009466 transformation Effects 0.000 claims description 16
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 2
- 239000000463 material Substances 0.000 claims description 2
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
本发明提出一种光场3D内容快速生成方法。所述方法包括以下步骤:初始化所有渲染参数及资源;根据光场3D内容与视点索引的映射关系生成视点掩膜纹理;根据光场3D内容与去冗余视差图像的像素映射关系生成子像素映射纹理;根据虚拟相机阵列等渲染参数生成每个虚拟相机对应的实例化矩阵;根据实例化矩阵渲染3D场景至帧缓冲对象并获得去冗余视差图像;根据子像素映射纹理并行完成子像素映射并获得光场3D内容。本发明可以快速地生成高质量的光场3D内容,提升光场3D显示屏在实际应用中的性能表现和用户体验。
Description
一、技术领域
本发明涉及三维渲染技术,特别涉及一种光场3D内容快速生成方法。
二、背景技术
光场3D显示能够提供具有真实深度感的立体影像,极大丰富了用户的视觉体验。然而,若要显示高质量的立体影像,一方面需要在硬件端研制出高性能的光场3D显示屏来再现高质量立体影像,另一方面还需要在软件端快速生成高质量光场3D内容。然而,当视点数急剧增加时,会导致高质量光场3D内容生成速度显著下降,同时也可能面临计算机内存溢出等问题,从而制约了光场3D显示屏在实际应用中的性能表现和用户体验。因此,迫切需要一种高质量的光场3D内容快速生成方法。
三、发明内容
本发明的目的在于提出一种光场3D内容快速生成方法。
所述方法包括以下六个步骤:
初始化所有渲染参数及资源;
根据光场3D内容与视点索引的映射关系生成视点掩膜纹理;
根据光场3D内容与去冗余视差图像的像素映射关系生成子像素映射纹理;
根据虚拟相机阵列等渲染参数生成每个虚拟相机对应的实例化矩阵;
根据实例化矩阵渲染3D场景至帧缓冲对象并获得去冗余视差图像;
根据子像素映射纹理并行完成子像素映射并获得光场3D内容。
进一步的,所述初始化所有渲染参数及资源的步骤中,所述参数包括,视差图的分辨率Mpara×Npara、光场3D内容的分辨率Mstereo×Nstereo、光场3D显示屏的参数、3D场景的拍摄范围等。所述资源包括,初始化着色器程序、帧缓冲对象、像素缓冲对象、3D场景、虚拟相机阵列等。
进一步的,所述3D场景的初始化包括3D场景所有的几何信息、纹理以及材质等。所述虚拟相机阵列的初始化包括虚拟相机的数目以及每个虚拟相机的位置、视角、投影方式等。
进一步的,所述根据光场3D内容与视点索引的映射关系,生成视点掩膜纹理步骤中,所述生成视点掩膜纹理涉及视点分层,所述视点分为Num层,每个视点只会在特定层次中被包括。所述视点掩膜纹理记录了光场3D内容像素索引与全部视点索引的映射关系。
进一步的,所述根据光场3D内容与去冗余视差图像的像素映射关系,生成子像素映射纹理步骤中,所述子像素映射纹理中记录了去冗余视差图像到光场3D内容的子像素映射关系。
进一步的,所述根据虚拟相机阵列等渲染参数,生成每个虚拟相机对应的实例化矩阵步骤中,所述每个虚拟相机对应的实例化矩阵只需生成一次,用于将3D场景从世界坐标变换到标准化设备坐标,实例化矩阵计算如下
Minstance=Mlayer×Mperspective×Mview (1)
其中,Mlayer为分层变换矩阵,用于将视差图进行Num层的分层处理。Mperspective为投影变换矩阵,用于对3D场景进行投影变换与裁剪,同时裁剪掉视框体外的部分。Mview为观察空间变换矩阵,用于将3D场景坐标从世界坐标变换系变换到相机坐标系。
进一步的,所述根据实例化矩阵,渲染3D场景至帧缓冲对象,获得去冗余视差图像步骤中,所述3D场景作为输入,所述虚拟相机阵列的每个虚拟相机以不同的位置和方向捕获场景,从而实现对场景的多方位拍摄,在渲染3D场景至帧缓冲对象之前,根据视点掩膜纹理,先执行冗余像素的丢弃操作,生成去冗余视差图像。
进一步的,所述根据子像素映射纹理并行完成子像素映射,获得光场3D内容步骤中,光场3D内容的每个子像素值取自去冗余视差图像,映射过程在GPU中并行处理,具体的映射关系存储在子像素映射纹理中。
四、附图说明
本发明的前述方面从下述结合附图与实施例的详细描述中将得以进一步明确和容易理解,其中:
附图1根据本申请一实施例的一种光场3D内容快速生成方法流程图
附图2根据本申请一实施例的虚拟相机阵列示意图
附图3根据本申请一实施例的视点掩膜纹理分层结构
附图4根据本申请一实施例的对3D场景渲染及处理流程图
附图5根据本申请一实施例的光场3D内容在光场3D显示屏上的显示结果
101虚拟相机阵列,102心脏模型,201层次1,202层次2,203层次3,204层次4。
应该理解上述附图只是示意性的,并没有按比例绘制。
五、具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的可选的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有技术和科学术语与属于发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面将结合本申请公开的实施例及附图对本申请所提出的一种光场3D内容快速生成方法。
附图1示出了根据本申请一实施例的一种光场3D内容快速生成方法流程图,所述方法包括以下步骤。
步骤S1,初始化所有渲染参数及资源;
步骤S2,根据光场3D内容与视点索引的映射关系生成视点掩膜纹理;
步骤S3,根据光场3D内容与去冗余视差图像的像素映射关系生成子像素映射纹理;
步骤S4,根据虚拟相机阵列等渲染参数生成每个虚拟相机对应的实例化矩阵;
步骤S5,根据实例化矩阵渲染3D场景至帧缓冲对象并获得去冗余视差图像;
步骤S6,根据子像素映射纹理并行完成子像素映射并获得光场3D内容。
在一个实施例中,所述步骤S1,初始化所有渲染参数中,每幅视差图的分辨率Mpara×Npara=7680×4320,其通道数为3。光场3D内容的分辨率Mstereo×Nstereo=7680×4320,其通道数为3。光场3D显示屏为一个超多视点3D显示屏,只存在水平方向视差,其参数包括视点数目V=1204、水平观看视角范围θ=60°等。根据光场3D显示屏的视角范围θ设置3D场景的水平拍摄角度范围为θ。初始化资源中,创建着色器程序,用于确定每个渲染像素的最终颜色值和其他属性。创建一个包含一个颜色附件的帧缓冲对象。创建两个像素缓冲对象,第一个PBO1用于快速读取帧缓冲对象颜色附件数据,第二个PBO2用于快速写入像素映射后的数据。3D场景为一个心脏模型。初始化虚拟相机阵列,虚拟相机在水平方向(xoz平面)上排布,如附图2所示,虚拟相机阵列的虚拟相机101在水平方向排布并拍摄心脏模型102,虚拟相机阵列中心相机到聚焦点的距离为D,虚拟相机的个数V=1024,每个虚拟相机对应一个视点,每个虚拟相机相对于中心相机位置的偏移量表示为:
ΔPi=(D*tan(θ/(V-1)*((V-1)/2-i-1)),0,0) (2)
其中i为虚拟相机的序号,i∈{1,2,3,…,V}。每个虚拟相机在世界坐标系中的位置为:
Pi=Pctr+ΔPi (3)
其中Pctr为中心相机在世界坐标系的位置。
在一个实施例中,所述步骤S2中,视点掩膜纹理为单通道的灰度图像,在生成纹理之前,对视点进行分层以解决像素渲染位置上的冲突。具体来说,视点掩膜纹理的层数Num由以下公式确定:
其中,Vx为单个视点周期内水平方向包含的视点数,表示向下取整。在一个实施例中,Vx=301,则Num=4。视点掩膜纹理的尺寸为Mpara×(Npara·Num)=7680×17280,其分层结构如附图3所示,在竖直方向分为Num=4层,201、202、203和204。视点掩膜纹理的每个像素索引位置对应于视差图中像素的索引位置,视点掩膜纹理与第v幅视差图像素索引位置的对应关系为
wmask=wpara(v) (5)
hmask=hpara(v)+Npara*(nv-1) (6)
其中,wmask、hmask分别为视点掩膜纹理的横向与纵向索引,wpara(v)、hpara(v)为第v幅视差图的横向与纵向索引,nv为第v幅视差图所在的层次,wmask∈{1,2,3,…,Mpara},hmask∈{1,2,3,…,Npara×Num},wpara(v)∈{1,2,3,…,Mpara},hpara(v)∈{1,2,3,…,Npara},nv∈{1,2,3,…,Num},v∈{1,2,3,…,V}。视点掩膜纹理的每个像素灰度值代表了该位置的像素映射自视差图的编号,需要将光场3D内容所有行列的子像素所对应的视点编号作为灰度值写入视点掩膜纹理,视点掩膜纹理第(w,h)个像素的灰度值gvh,w为
h=row+(nv-1)*Npara (8)
其中,col和row分别为光场3D内容子像素在水平和竖直方向的索引,“mod”表示取余,row∈{1,2,3,…,Nstereo},col∈{1,2,3,…,Mstereo×3}。视点掩膜纹理没有被写入视点编号的像素灰度值为0。
在一个实施例中,所述步骤S3中,去冗余视差图像的分辨率与视点掩膜纹理一致,为Mpara×(Npara·Num)=7680×17280,通道数为3,每个像素索引位置等于视点掩膜纹理中像素的索引位置,去冗余视差图像包含了用于生成立体光场3D内容的全部有效信息。子像素映射纹理的分辨率为(Mstereo·3)×Nstereo=23040×4320,通道数为1,其记录了去冗余视差图像到光场3D内容的子像素映射关系。子像素映射纹理的每个像素灰度值代表了该位置的像素映射自去冗余视差图像的子像素位置索引,计算过程为
gv'row,col=3*Mpara*(nv*Npara+row)+col (11)
其中,v为视点编号,gv'row,col为子像素映射纹理的灰度值。
在一个实施例中,所述步骤S4,生成每个虚拟相机对应的实例化矩阵,每个虚拟相机对应的实例化矩阵只需生成一次,用于将心脏模型从世界坐标(xworld,yworld,zworld)变换到标准化设备坐标(xNDC,yNDC,zNDC),计算过程为
Minstance(v)=Mlayer(v)×Mperspective(v)×Mview(v) (13)
其中,v为虚拟相机的编号,Mlayer(v)为分层变换矩阵,用于将视差图进行Num层的分层处理,Mperspective(v)为投影变换矩阵,用于对心脏模型进行投影变换与裁剪,将心脏模型投影到视框体内的投影平面上,同时裁剪掉视框体外的部分。虚拟相机采用离轴仿射投影,Mview(v)为观察空间变换矩阵,用于将心脏模型坐标从世界坐标变换系变换到相机坐标系。
在一个实施例中,所述步骤S5中,将心脏模型作为输入,通过模型变换矩阵将心脏模型从模型坐标(xmodel,ymodel,zmodel)变换到世界坐标(xworld,yworld,zworld),计算过程为
其中,Mmodel表示心脏模型的模型变换矩阵。对于心脏模型运行着色器程序,通过每个虚拟相机实例化矩阵进行顶点变换,在片段绘制到帧缓冲对象之前,根据视点掩膜纹理,执行冗余片段的丢弃,具体来说,当渲染第v幅视差图时,只保留视点掩膜纹理中像素灰度值为v的区域,而丢弃其他片段。这个过程重复进行,涵盖从视点1到V=1204的所有视差图的实例化渲染。
在一个实施例中,所述步骤S6中,通过PBO1快速读取去冗余视差图像,在GPU中并行计算,将去冗余视差图像的子像素数据映射为光场3D内容的子像素数据,具体的映射关系存储在子像素映射纹理中,映射完毕后,通过PBO2快速将光场3D内容的子像素数据写入光场3D内容,最终,将经处理后的光场3D内容作为输出呈现到光场3D显示屏上,其显示结果如附图5所示。
本发明利用视点掩膜纹理大幅减少了视差图像中的冗余像素,可快速生成高质量的光场3D内容,有望提升光场3D显示屏在实际应用中的性能表现和用户体验。
Claims (8)
1.种光场3D内容快速生成方法,其特征在于,所述方法包括以下步骤:初始化所有渲染参数及资源;根据光场3D内容与视点索引的映射关系生成视点掩膜纹理;根据光场3D内容与去冗余视差图像的像素映射关系生成子像素映射纹理;根据虚拟相机阵列等渲染参数生成每个虚拟相机对应的实例化矩阵;根据实例化矩阵渲染3D场景至帧缓冲对象并获得去冗余视差图像;根据子像素映射纹理并行完成子像素映射并获得光场3D内容。
2.根据权利要求1所述的一种光场3D内容快速生成方法,其特征在于,所述初始化所有渲染参数及资源的步骤中,参数包括视差图的分辨率Mpara×Npara、光场3D内容的分辨率Mstereo×Nstereo、光场3D显示屏的参数、3D场景的拍摄范围等;资源包括初始化着色器程序、帧缓冲对象、像素缓冲对象、3D场景、虚拟相机阵列等。
3.根据权利要求1或2所述的一种光场3D内容快速生成方法,其特征在于,所述3D场景的初始化包括3D场景所有的几何信息、纹理以及材质等;所述虚拟相机阵列的初始化包括虚拟相机的数目以及每个虚拟相机的位置、视角、投影方式等。
4.根据权利要求1所述的一种光场3D内容快速生成方法,其特征在于,所述根据光场3D内容与视点索引的映射关系,生成视点掩膜纹理步骤中,所述生成视点掩膜纹理涉及视点分层,所述视点分为Num层,每个视点只会在特定层次中被包括;所述视点掩膜纹理记录了光场3D内容像素索引与全部视点索引的映射关系。
5.根据权利要求1或5所述的一种光场3D内容快速生成方法,其特征在于,所述根据光场3D内容与去冗余视差图像的像素映射关系,生成子像素映射纹理步骤中,所述子像素映射纹理中记录了去冗余视差图像到光场3D内容的子像素映射关系。
6.根据权利要求1所述的一种光场3D内容快速生成方法,其特征在于,所述根据虚拟相机阵列等渲染参数,生成每个虚拟相机对应的实例化矩阵步骤中,所述每个虚拟相机对应的实例化矩阵只需生成一次,用于将3D场景从世界坐标变换到标准化设备坐标,实例化矩阵计算如下
Minstance=Mlayer×Mperspective×Mview
其中,Mlayer为分层变换矩阵,用于将视差图进行Num层的分层处理,Mperspective为投影变换矩阵,用于对3D场景进行投影变换与裁剪,同时裁剪掉视框体外的部分,Mview为观察空间变换矩阵,用于将3D场景坐标从世界坐标变换系变换到相机坐标系。
7.根据权利要求1所述的一种光场3D内容快速生成方法,其特征在于,所述根据实例化矩阵,渲染3D场景至帧缓冲对象,获得去冗余视差图像步骤中,所述3D场景作为输入,所述虚拟相机阵列的每个虚拟相机以不同的位置和方向捕获场景,从而实现对场景的多方位拍摄,在渲染3D场景至帧缓冲对象之前,根据视点掩膜纹理,先执行冗余像素的丢弃操作,生成去冗余视差图像。
8.根据权利要求1所述的一种光场3D内容快速生成方法,其特征在于,所述根据子像素映射纹理并行完成子像素映射,获得光场3D内容步骤中,光场3D内容的每个子像素值取自去冗余视差图像,映射过程在GPU中并行处理,具体的映射关系存储在子像素映射纹理中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311733154.7A CN117710562A (zh) | 2023-12-15 | 2023-12-15 | 一种光场3d内容快速生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311733154.7A CN117710562A (zh) | 2023-12-15 | 2023-12-15 | 一种光场3d内容快速生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117710562A true CN117710562A (zh) | 2024-03-15 |
Family
ID=90152953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311733154.7A Pending CN117710562A (zh) | 2023-12-15 | 2023-12-15 | 一种光场3d内容快速生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117710562A (zh) |
-
2023
- 2023-12-15 CN CN202311733154.7A patent/CN117710562A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107564089B (zh) | 三维图像处理方法、装置、存储介质和计算机设备 | |
US10096157B2 (en) | Generation of three-dimensional imagery from a two-dimensional image using a depth map | |
CN108513123B (zh) | 一种集成成像光场显示的图像阵列生成方法 | |
US6954202B2 (en) | Image-based methods of representation and rendering of three-dimensional object and animated three-dimensional object | |
CN102034265B (zh) | 一种三维视图获取方法 | |
JP2017532847A (ja) | 立体録画及び再生 | |
CN102930593B (zh) | 一种双目系统中基于gpu的实时绘制方法 | |
WO2018164852A1 (en) | Image reconstruction for virtual 3d | |
CN108805979A (zh) | 一种动态模型三维重建方法、装置、设备和存储介质 | |
CN108573521B (zh) | 基于cuda并行计算框架的实时交互式裸眼3d显示方法 | |
JP2005527052A (ja) | 3次元グラフィックスの奥行きを有する画像のストリーミング | |
CN108122281B (zh) | 一种大范围实时人体三维重建方法 | |
US11825064B2 (en) | Light field display method and system, storage medium and display panel | |
Tomiyama et al. | Algorithm for dynamic 3D object generation from multi-viewpoint images | |
WO2020184174A1 (ja) | 画像処理装置および画像処理方法 | |
CN115439616B (zh) | 基于多对象图像α叠加的异构对象表征方法 | |
Chen et al. | Real-time lens based rendering algorithm for super-multiview integral photography without image resampling | |
JP2018504009A (ja) | デジタルビデオのレンダリング | |
WO2023004559A1 (en) | Editable free-viewpoint video using a layered neural representation | |
US5793372A (en) | Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically using user defined points | |
Yuan et al. | Free-viewpoint image based rendering with multi-layered depth maps | |
CN111369435A (zh) | 基于自适应稳定模型的彩色图像深度上采样方法及系统 | |
CN117710562A (zh) | 一种光场3d内容快速生成方法 | |
CN115841539A (zh) | 一种基于可视外壳的三维光场生成方法和装置 | |
CN115830202A (zh) | 一种三维模型渲染方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |