CN113223144B - 一种三维显示海量数据的处理方法及系统 - Google Patents
一种三维显示海量数据的处理方法及系统 Download PDFInfo
- Publication number
- CN113223144B CN113223144B CN202110405740.3A CN202110405740A CN113223144B CN 113223144 B CN113223144 B CN 113223144B CN 202110405740 A CN202110405740 A CN 202110405740A CN 113223144 B CN113223144 B CN 113223144B
- Authority
- CN
- China
- Prior art keywords
- camera
- vector
- ray
- light
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Holo Graphy (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明提供一种三维显示海量数据的处理方法及系统,包括:获取待显示海量数据的初始化参数;基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果。本发明所提出的三维显示海量数据处理方法可用于多种三维显示编码图,通过在图形处理器中并行处理,实现实时计算,根据初始参数来计算各视点位置以及各离轴相机光线方向,交互时仅需改变初始相机位置,便于实现交互等操作。
Description
技术领域
本发明涉及三维显示技术领域,尤其涉及一种三维显示海量数据的处理方法及系统。
背景技术
在显示领域,从黑白显示到彩色显示,从二维显示到三维显示,人们一直在追求更真实的显示效果,而三维显示正逐步使其变为现实。由于三维显示能够还原物体的三维信息,在医疗、军事、教学等领域都有重要应用。
光线跟踪是一种通过模拟光线真实传播,来计算物体颜色等信息的方法,由于每条光线的计算互相独立,因此可以在GPU中并行计算,大幅提升计算速度。
常见的三维显示方式有多种,例如全息显示、水平光场显示和集成成像显示等。一般都是将编码图加载到三维显示器进行三维显示,由于上述三维显示方式需要处理的数据量很大,传统计算全息的点云算法需要遍历物体与全息图的每个点,而集成成像与水平光场显示的编码图需要每个视点的视差图,因此难以达到三维显示编码图的实时计算。
发明内容
本发明提供一种三维显示海量数据的处理方法及系统,用以解决现有技术中存在的缺陷。
第一方面,本发明提供一种三维显示海量数据的处理方法,包括:
获取待显示海量数据的初始化参数;
基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;
由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果。
在一个实施例中,所述获取待显示海量数据的初始化参数,具体包括:
初始化相机和三维场景,将所述三维模型的中心设为所述相机的注视点。
在一个实施例中,基于所述初始化参数计算得到全息图,具体包括:
启动光线跟踪,其中光线跟踪线程数为全息图像素数;
由相机向三维场景发射光线;
除去其中不与物体相交的光线后,基于与物体相交的光线计算物体表面颜色,并储存光线长度,确定从相机位置指向注视点的第一单位向量、光线方向的第二单位向量以及击中物体光线长度,基于所述第一单位向量、所述第二单位向量和所述击中物体光线长度,得到所述物体表面深度,根据所述物体表面深度将所述三维场景分成若干层二维图像;
基于预设衍射快速计算方法计算所述若干层二维图像中每一层衍射到全息面后的复振幅;
对所述复振幅进行编码,得到所述全息图。
在一个实施例中,基于所述初始化参数计算得到全视差视点图,具体包括:
确定初始相机三维位置坐标,基于所述初始相机三维位置坐标获得初始相机位置向量;
获取所述初始相机的右方单位向量、上方单位向量和前方单位向量,确定水平视点数、纵向视点数、水平视点间距和纵向视点间距;
获取任意视点相机的所在位置横向视点数和所在位置纵向视点数,基于所述右方单位向量、所述上方单位向量、所述前方单位向量、所述水平视点数、所述纵向视点数、所述水平视点间距、所述纵向视点间距、所述所在位置横向视点数和所述所在位置纵向视点数,计算得到所述初始相机指向所述任意视点相机的第一向量;
由所述第一向量和所述初始相机位置向量计算得到所述任意视点相机的位置;
对每个视点相机启动一次光线跟踪获得每个视点相机对应的视点图,其中每次光线跟踪的线程数为每个视点图的像素数;
以所述初始相机的注视点为各相机公共焦平面的中心,基于所述第一单位向量的长度、所述第一单位向量和从所述初始相机指向公共焦平面的光线单位向量,计算得到从所述初始相机指向所述公共焦平面的光线向量;
基于所述第一向量和所述从所述初始相机指向所述公共焦平面的光线向量,得到从所述任意视点相机指向所述公共焦平面的光线向量;
以所述任意视点相机的位置为起点,基于所述任意视点相机指向所述公共焦平面的光线向量发射光线,得到第一发射光线;
获取所述第一发射光线的跟踪结果,得到所述全视差视点图。
在一个实施例中,基于所述初始化参数计算得到所述水平光场编码图,具体包括:
启动光线跟踪获得水平光场编码图子像素,其中光线跟踪的线程数为编码图子像素数;
根据编码图子像素位置,计算编码图子像素对应的视点;
基于所述初始相机位置向量、所述右方单位向量、所述水平视点数、所述水平视点间距和所述所在位置横向视点数,得到所述第一向量的横向分量,所述横向分量为所述初始相机位置指向光线起点位置的向量;
基于所述横向分量和所述初始相机位置向量,计算得到所述光线起点位置;
以所述初始相机的注视点为各相机公共焦平面的中心,基于所述第一单位向量的长度、所述第一单位向量和从所述初始相机指向编码子像素的光线单位向量,计算得到从所述初始相机指向所述编码子像素的光线向量;
基于所述第一向量和所述从所述初始相机指向所述编码子像素的光线向量,得到从所述光线起点位置指向所述编码子像素的向量;
以所述光线起点位置为起点,基于所述光线起点位置指向所述编码子像素的向量发射光线,得到第二发射光线;
获得每个编码子像素对应所述第二发射光线的颜色,根据每个编码子像素所在红绿蓝通道赋予对应的灰度值,得到所述水平光场编码图。
在一个实施例中,基于所述初始化参数计算得到所述集成成像编码图,具体包括:
启动光线跟踪获得集成成像编码图像素,其中光线跟踪的线程数为编码图像素数;
计算编码图像素对应的视点;
获取所述光线起点位置、所述初始相机的注视点、物体到最佳观看面距离与屏幕到最佳观看面比例、所述初始相机指向所述注视点的向量,基于所述初始相机指向所述注视点的向量和所述物体到最佳观看面距离与屏幕到最佳观看面比例,计算得到所述初始相机到所述公共焦平面的中心向量;
基于从所述初始相机指向所述编码图像素的光线单位向量、所述中心向量和所述中心向量的长度,得到所述初始相机指向所述编码图像素的向量;
以所述光线起点位置为起点,基于所述光线起点位置指向所述编码图像素的向量发射光线,得到第三发射光线;
给所述第三发射光线的跟踪结果赋予编码像素,得到所述集成成像编码图。
在一个实施例中,所述由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果,之后还包括:
若检测到交互或者参数设置发生改变时,重新启动计算,其中交互操作包括旋转和缩放。
第二方面,本发明还提供一种三维显示海量数据的处理系统,包括:
获取模块,用于获取待显示海量数据的初始化参数;
计算模块,用于基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;
显示模块,用于由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述三维显示海量数据的处理方法的步骤。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述三维显示海量数据的处理方法的步骤。
本发明提供的三维显示海量数据的处理方法及系统,通过所提出的三维显示海量数据处理方法可用于多种三维显示编码图,通过在图形处理器中并行处理,实现实时计算,根据初始参数来计算各视点位置以及各离轴相机光线方向,交互时仅需改变初始相机位置,便于实现交互等操作。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的三维显示海量数据的处理方法的流程示意图;
图2是本发明提供的光线跟踪处理三维显示海量数据示意图;
图3是本发明提供的初始三维场景示意图;
图4是本发明提供的光线跟踪示意图;
图5是本发明提供的全息图结果示意图;
图6是本发明提供的光线跟踪离轴相机拍摄视点图示意图;
图7是本发明提供的全视差视点图结果示意图;
图8是本发明提供的光线跟踪计算水平光场编码图示意图;
图9是本发明提供的水平光场编码图结果示意图;
图10是本发明提供的光线跟踪计算集成成像编码图示意图;
图11是本发明提供的集成成像编码图结果示意图;
图12是本发明提供的全息显示效果示意图;
图13是本发明提供的水平光场显示效果示意图;
图14是本发明提供的集成成像显示效果示意图;
图15是本发明提供的三维显示海量数据的处理系统的结构示意图;
图16是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术的不足,本发明提出光线跟踪处理三维显示海量数据的方法,能灵活根据不同设备不同参数计算编码图。
首先对本发明所涉及的多个技术名词给出解释:
光线跟踪:模拟真实光线传播的方法,从相机向三维场景发射光线并来计算每个像素的颜色。每条光线需要确定起点以及方向。由于编程较为灵活,在三维显示中可以用来获取三维场景信息;
全息图:通常应用衍射和干涉的原理,记录物体光波的干涉图样,这个干涉图样称为全息图。当全息图使用适当的再现光照明时,可以复现出物体的光波;
空间光调制器(SLM):是计算全息再现过程中的核心器件。SLM能够实现对输入光波的调制,改变输入光波的相位、振幅等。可以将全息图加载到空间光调制器上实现全息显示;
自由立体显示:不用佩戴任何辅助设备,可以直接为观看者提供立体视觉的显示方式;
光场显示:利用显示设备与光学器件描述空间物点发出光线,并实现自由立体的显示方式称为光场显示。例如水平光场显示和集成成像显示;
视差图:从不同角度对相同场景进行采集,获得的立体图像组称为视差图;
编码图像:根据显示系统的参数,在液晶面板上加载的具有3D物体方向信息的图像称为编码图像。
图1是本发明提供的三维显示海量数据的处理方法的流程示意图,如图1所示,包括:
S1,获取待显示海量数据的初始化参数;
S2,基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;
S3,由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果。
具体地,使用光线跟踪技术处理不同三维显示方式需要的计算全息图、水平光场编码图、集成成像编码图、全视差视点图,具体流程见图2所示。各种编码图计算使用同一初始相机,便于交互与计算方式切换。对于计算全息图,从初始相机使用光线跟踪获取三维场景的分层信息,之后通过衍射快速计算来生成计算全息图。对于全视差视点图,根据初始相机的位置计算各视点相机的位置,根据初始相机光线方向计算各视点离轴相机光线方向,每个视点相机分别启动光线跟踪获得视差图。对于水平光场显示编码图以及集成成像显示编码图,在光线跟踪的每条线程中首先计算视点和像素对应关系,之后根据初始相机位置与光线方向计算各条光线的起点和方向,发射光线直接得到编码图,只计算用于编码合成图的像素,大幅减少了计算量。
本发明提出的方法可用于多种三维显示编码图,在图形处理器中并行处理,可实现实时计算,根据初始相机参数来计算各视点位置以及各离轴相机光线方向,交互时仅需改变初始相机位置,便于实现交互等操作。
基于上述实施例,该方法中步骤S1具体包括:
初始化相机和三维场景,将所述三维模型的中心设为所述相机的注视点。
具体地,首先初始化相机与三维场景,相机注视点为三维模型中心,如图3所示,之后根据需要计算的编码图启动不同的计算步骤。
基于上述任一实施例,基于所述初始化参数计算得到全息图,具体包括:
启动光线跟踪,其中光线跟踪线程数为全息图像素数;
由相机向三维场景发射光线;
除去其中不与物体相交的光线后,基于与物体相交的光线计算物体表面颜色,并储存光线长度,确定从相机位置指向注视点的第一单位向量、光线方向的第二单位向量以及击中物体光线长度,基于所述第一单位向量、所述第二单位向量和所述击中物体光线长度,得到所述物体表面深度,根据所述物体表面深度将所述三维场景分成若干层二维图像;
基于预设衍射快速计算方法计算所述若干层二维图像中每一层衍射到全息面后的复振幅;
对所述复振幅进行编码,得到所述全息图。
具体地,首先启动光线跟踪,光线跟踪线程数为全息图像素数,由初始相机向三维场景发射光线,将三维场景进行分层:
对应不与物体相交的光线,不参与分层,对于与物体相交的光线,计算物体表面的颜色,同时储存光线的长度,如图4所示。
再根据深度信息,将三维场景分成若干层二维图像。
然后对于三维场景的每一层,使用衍射快速计算的方法计算其衍射到全息面后的复振幅,得到全息面的复振幅,对复振幅进行编码,计算得到全息图,如图5所示。
基于上述任一实施例,基于所述初始化参数计算得到全视差视点图,具体包括:
确定初始相机三维位置坐标,基于所述初始相机三维位置坐标获得初始相机位置向量;
获取所述初始相机的右方单位向量、上方单位向量和前方单位向量,确定水平视点数、纵向视点数、水平视点间距和纵向视点间距;
获取任意视点相机的所在位置横向视点数和所在位置纵向视点数,基于所述右方单位向量、所述上方单位向量、所述前方单位向量、所述水平视点数、所述纵向视点数、所述水平视点间距、所述纵向视点间距、所述所在位置横向视点数和所述所在位置纵向视点数,计算得到所述初始相机指向所述任意视点相机的第一向量;
由所述第一向量和所述初始相机位置向量计算得到所述任意视点相机的位置;
对每个视点相机启动一次光线跟踪获得每个视点相机对应的视点图,其中每次光线跟踪的线程数为每个视点图的像素数;
以所述初始相机的注视点为各相机公共焦平面的中心,基于所述第一单位向量的长度、所述第一单位向量和从所述初始相机指向公共焦平面的光线单位向量,计算得到从所述初始相机指向所述公共焦平面的光线向量;
基于所述第一向量和所述从所述初始相机指向所述公共焦平面的光线向量,得到从所述任意视点相机指向所述公共焦平面的光线向量;
以所述任意视点相机的位置为起点,基于所述任意视点相机指向所述公共焦平面的光线向量发射光线,得到第一发射光线;
获取所述第一发射光线的跟踪结果,得到所述全视差视点图。
具体地,如图6所示,首先计算相机阵列位置,设初始相机位置坐标为(x0,y0,z0)以向量表示为:
向量分别为指向相机右方,上方,前方的单位向量。设水平与纵向视点数分别为M、N,视点间距分别为a、b。以视点相机C1为例,设视点相机所在横向视点数为m,纵向视点数为n,则从初始相机指向视点相机C1的向量:
则视点相机C1的位置为:
进一步地,对于每个视点相机,启动一次光线跟踪获得该视点的视点图。每次光线跟踪的线程数为每个视点图的像素数。
在每次光线跟踪中,首先计算每条光线的起点与方向。对于每个视点相机,光线起点即为视点相机位置。由于各视点相机为离轴相机,每个像素对应的光线方向通过初始针孔相机的光线方向计算而来,以图6中视点相机C1的光线为例:
基于上述得到的结果,确定光线的起点和方向后即可发射光线,每个视点相机处光线跟踪结果即为该视点的全视差视点图,如图7所示。
基于上述任一实施例,基于所述初始化参数计算得到所述水平光场编码图,具体包括:
启动光线跟踪获得水平光场编码图子像素,其中光线跟踪的线程数为编码图子像素数;
根据编码图子像素位置,计算编码图子像素对应的视点;
基于所述初始相机位置向量、所述右方单位向量、所述水平视点数、所述水平视点间距和所述所在位置横向视点数,得到所述第一向量的横向分量,所述横向分量为所述初始相机位置指向光线起点位置的向量;
基于所述横向分量和所述初始相机位置向量,计算得到所述光线起点位置;
以所述初始相机的注视点为各相机公共焦平面的中心,基于所述第一单位向量的长度、所述第一单位向量和从所述初始相机指向编码子像素的光线单位向量,计算得到从所述初始相机指向所述编码子像素的光线向量;
基于所述第一向量和所述从所述初始相机指向所述编码子像素的光线向量,得到从所述光线起点位置指向所述编码子像素的向量;
以所述光线起点位置为起点,基于所述光线起点位置指向所述编码子像素的向量发射光线,得到第二发射光线;
获得每个编码子像素对应所述第二发射光线的颜色,根据每个编码子像素所在红绿蓝通道赋予对应的灰度值,得到所述水平光场编码图。
具体地,如图8所示,启动光线跟踪,此处光线跟踪的线程数为编码图子像素数,根据编码图子像素位置,计算该子像素对应的视点。
然后计算编码图子像素对应光线跟踪线程的光线起点与光线方向,仍是设初始相机位置坐标为(x0,y0,z0)以向量表示为:
则得到光线起点位置:
同样,在得到上述结果后确定光线的起点和方向后即可发射光线。
最后,在每个子像素得到对应光线的颜色后,根据子像素所在红绿蓝通道,赋予对应的灰度值,得到水平光场编码图,如图9所示。
基于上述任一实施例,基于所述初始化参数计算得到所述集成成像编码图,具体包括:
启动光线跟踪获得集成成像编码图像素,其中光线跟踪的线程数为编码图像素数;
计算编码图像素对应的视点;
获取所述光线起点位置、所述初始相机的注视点、物体到最佳观看面距离与屏幕到最佳观看面比例、所述初始相机指向所述注视点的向量,基于所述初始相机指向所述注视点的向量和所述物体到最佳观看面距离与屏幕到最佳观看面比例,计算得到所述初始相机到所述公共焦平面的中心向量;
基于从所述初始相机指向所述编码图像素的光线单位向量、所述中心向量和所述中心向量的长度,得到所述初始相机指向所述编码图像素的向量;
以所述光线起点位置为起点,基于所述光线起点位置指向所述编码图像素的向量发射光线,得到第三发射光线;
给所述第三发射光线的跟踪结果赋予编码像素,得到所述集成成像编码图。
具体地,如图10所示,启动光线跟踪,此处光线跟踪的线程数为编码图像素数,计算编码像素对应的视点。
进一步地,计算编码像素对应线程的光线起点和方向,仍是设初始相机位置坐标为(x0,y0,z0)以向量表示:
则光线起点位置:
进一步地,基于上述结果,确定光线的起点和方向后即可发射光线。
最后,将光线跟踪结果直接赋予编码像素,得到集成成像编码图,如图11所示。
基于上述任一实施例,该方法中步骤S3之后还包括:
若检测到交互或者参数设置发生改变时,重新启动计算,其中交互操作包括旋转和缩放。
具体地,在得到全息图、全视差视点图、水平光场编码图和集成成像编码图之后,加载到三维显示器即可实现三维显示,图12为全息显示效果示意图,图13为水平光场显示效果示意图,图14为集成成像显示效果示意图。
当检测到交互或者参数设置改变时,重新启动计算。交互时的参数处理如下:
基于上述任一实施例,本发明还提供实验结果来验证本发明所提出方法的有效性,实验的具体参数如表1所示。
表1
计算方式 | 计算量 | 计算速度 |
全息图 | 1024*1024分辨率,模型分30层 | 41fps |
水平光场编码图 | 3840*2160分辨率 | 38fps |
集成成像编码图 | 3840*2160分辨率 | 47fps |
全视差视点图 | 5*5视点,视点图512*512分辨率 | 40fps |
具体的测试配置为CPU(Intel i7-9750h)和GPU(GTX1660ti)。
下面对本发明提供的三维显示海量数据的处理系统进行描述,下文描述的三维显示海量数据的处理系统与上文描述的三维显示海量数据的处理方法可相互对应参照。
图15是本发明提供的三维显示海量数据的处理系统的结构示意图,如图15所示,包括:获取模块1501、计算模块1502和显示模块1503;其中:
获取模块1501待显示海量数据的初始化参数;计算模块1502所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;显示模块1503述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果。
本发明提出的方法可用于多种三维显示编码图,在图形处理器中并行处理,可实现实时计算,根据初始相机参数来计算各视点位置以及各离轴相机光线方向,交互时仅需改变初始相机位置,便于实现交互等操作。
图16了一种电子设备的实体结构示意图,如图16,该电子设备可以包括:处理器(processor)1610、通信接口(CommunicationsInterface)1620、存储器(memory)1630和通信总线1640,其中,处理器1610,通信接口1620,存储器1630通过通信总线1640完成相互间的通信。处理器1610可以调用存储器1630中的逻辑指令,以执行三维显示海量数据的处理方法,该方法包括:获取待显示海量数据的初始化参数;基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果。
此外,上述的存储器1630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的三维显示海量数据的处理方法,该方法包括:获取待显示海量数据的初始化参数;基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的三维显示海量数据的处理方法,该方法包括:获取待显示海量数据的初始化参数;基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种三维显示海量数据的处理方法,其特征在于,包括:
获取待显示海量数据的初始化参数;
基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;
由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果;
所述获取待显示海量数据的初始化参数,具体包括:
初始化相机和三维场景,将三维模型的中心设为所述相机的注视点;
基于所述初始化参数计算得到全息图,具体包括:
启动光线跟踪,其中光线跟踪线程数为全息图像素数;
由相机向三维场景发射光线;
除去其中不与物体相交的光线后,基于与物体相交的光线计算物体表面颜色,并储存光线长度,确定从相机位置指向注视点的第一单位向量、光线方向的第二单位向量以及击中物体光线长度,基于所述第一单位向量、所述第二单位向量和所述击中物体光线长度,得到物体表面深度,根据所述物体表面深度将所述三维场景分成若干层二维图像;
基于预设衍射快速计算方法计算所述若干层二维图像中每一层衍射到全息面后的复振幅;
对所述复振幅进行编码,得到所述全息图,具体包括:
启动光线跟踪,光线跟踪线程数为全息图像素数,由初始相机向三维场景发射光线,将三维场景进行分层:
再根据深度信息,将三维场景分成若干层二维图像;
对于三维场景的每一层,使用衍射快速计算的方法计算每一层衍射到全息面后的复振幅,得到全息面的复振幅,对复振幅进行编码,计算得到所述全息图;
基于所述初始化参数计算得到全视差视点图,具体包括:
确定初始相机三维位置坐标,基于所述初始相机三维位置坐标获得初始相机位置向量;
获取所述初始相机的右方单位向量、上方单位向量和前方单位向量,确定水平视点数、纵向视点数、水平视点间距和纵向视点间距;
获取任意视点相机的所在位置横向视点数和所在位置纵向视点数,基于所述右方单位向量、所述上方单位向量、所述前方单位向量、所述水平视点数、所述纵向视点数、所述水平视点间距、所述纵向视点间距、所述所在位置横向视点数和所述所在位置纵向视点数,计算得到所述初始相机指向所述任意视点相机的第一向量;
由所述第一向量和所述初始相机位置向量计算得到所述任意视点相机的位置;
对每个视点相机启动一次光线跟踪获得每个视点相机对应的视点图,其中每次光线跟踪的线程数为每个视点图的像素数;
以所述初始相机的注视点为各相机公共焦平面的中心,基于所述第一单位向量的长度、所述第一单位向量和从所述初始相机指向公共焦平面的光线单位向量,计算得到从所述初始相机指向所述公共焦平面的光线向量;
基于所述第一向量和所述从所述初始相机指向所述公共焦平面的光线向量,得到从所述任意视点相机指向所述公共焦平面的光线向量;
以所述任意视点相机的位置为起点,基于所述任意视点相机指向所述公共焦平面的光线向量发射光线,得到第一发射光线;
获取所述第一发射光线的跟踪结果,得到所述全视差视点图,具体包括:
计算相机阵列位置,设初始相机位置坐标为(x0,y0,z0)以向量表示为:
向量分别为指向相机右方,上方,前方的单位向量,设水平与纵向视点数分别为M、N,视点间距分别为a、b,以视点相机C1为例,设视点相机所在横向视点数为m,纵向视点数为n,则从初始相机指向视点相机C1的向量:
则视点相机C1的位置为:
对于每个视点相机,启动一次光线跟踪获得视点的视点图,每次光线跟踪的线程数为每个视点图的像素数;
在每次光线跟踪中,首先计算每条光线的起点与方向,对于每个视点相机,光线起点即为视点相机位置,由于各视点相机为离轴相机,每个像素对应的光线方向通过初始针孔相机的光线方向计算而来,以视点相机C1的光线进行计算:
确定光线的起点和方向后即可发射光线,每个视点相机处光线跟踪结果即为所述全视差视点图;
基于所述初始化参数计算得到所述水平光场编码图,具体包括:
启动光线跟踪获得水平光场编码图子像素,其中光线跟踪的线程数为编码图子像素数;
根据编码图子像素位置,计算编码图子像素对应的视点;
基于所述初始相机位置向量、所述右方单位向量、所述水平视点数、所述水平视点间距和所述所在位置横向视点数,得到所述第一向量的横向分量,所述横向分量为所述初始相机位置指向光线起点位置的向量;
基于所述横向分量和所述初始相机位置向量,计算得到所述光线起点位置;
以所述初始相机的注视点为各相机公共焦平面的中心,基于所述第一单位向量的长度、所述第一单位向量和从所述初始相机指向编码子像素的光线单位向量,计算得到从所述初始相机指向所述编码子像素的光线向量;
基于所述第一向量和所述从所述初始相机指向所述编码子像素的光线向量,得到从所述光线起点位置指向所述编码子像素的向量;
以所述光线起点位置为起点,基于所述光线起点位置指向所述编码子像素的向量发射光线,得到第二发射光线;
获得每个编码子像素对应所述第二发射光线的颜色,根据每个编码子像素所在红绿蓝通道赋予对应的灰度值,得到所述水平光场编码图,具体包括:
启动光线跟踪,此处光线跟踪的线程数为编码图子像素数,根据编码图子像素位置,计算子像素对应的视点;
然后计算编码图子像素对应光线跟踪线程的光线起点与光线方向,设初始相机位置坐标为(x0,y0,z0)以向量表示为:
则得到光线起点位置:
然后确定光线的起点和方向后即可发射光线;
在每个子像素得到对应光线的颜色后,根据子像素所在红绿蓝通道,赋予对应的灰度值,得到所述水平光场编码图;
基于所述初始化参数计算得到所述集成成像编码图,具体包括:
启动光线跟踪获得集成成像编码图像素,其中光线跟踪的线程数为编码图像素数;
计算编码图像素对应的视点;
获取所述光线起点位置、所述初始相机的注视点、物体到最佳观看面距离与屏幕到最佳观看面比例、所述初始相机指向所述注视点的向量,基于所述初始相机指向所述注视点的向量和所述物体到最佳观看面距离与屏幕到最佳观看面比例,计算得到所述初始相机到所述公共焦平面的中心向量;
基于从所述初始相机指向所述编码图像素的光线单位向量、所述中心向量和所述中心向量的长度,得到所述初始相机指向所述编码图像素的向量;
以所述光线起点位置为起点,基于所述光线起点位置指向所述编码图像素的向量发射光线,得到第三发射光线;
给所述第三发射光线的跟踪结果赋予编码像素,得到所述集成成像编码图;具体包括:
启动光线跟踪,此处光线跟踪的线程数为编码图像素数,计算编码像素对应的视点;
计算编码像素对应线程的光线起点和方向,设初始相机位置坐标为(x0,y0,z0)以向量表示:
则光线起点位置:
确定光线的起点和方向后即可发射光线;
将光线跟踪结果直接赋予编码像素,得到集成成像编码图。
2.根据权利要求1所述的三维显示海量数据的处理方法,其特征在于,所述由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果,之后还包括:
若检测到交互或者参数设置发生改变时,重新启动计算,其中交互操作包括旋转和缩放。
3.一种三维显示海量数据的处理系统,其特征在于,包括:
获取模块,用于获取待显示海量数据的初始化参数;
计算模块,用于基于所述初始化参数分别计算得到全息图、全视差视点图、水平光场编码图和集成成像编码图;
显示模块,用于由所述全息图、所述全视差视点图、所述水平光场编码图和所述集成成像编码图获得显示编码图,通过检测所述显示编码图的交互得到所述待显示海量数据的三维显示结果;
所述获取模块具体用于:
初始化相机和三维场景,将三维模型的中心设为所述相机的注视点;
所述计算模块中的基于所述初始化参数计算得到全息图,具体包括:
启动光线跟踪,其中光线跟踪线程数为全息图像素数;
由相机向三维场景发射光线;
除去其中不与物体相交的光线后,基于与物体相交的光线计算物体表面颜色,并储存光线长度,确定从相机位置指向注视点的第一单位向量、光线方向的第二单位向量以及击中物体光线长度,基于所述第一单位向量、所述第二单位向量和所述击中物体光线长度,得到物体表面深度,根据所述物体表面深度将所述三维场景分成若干层二维图像;
基于预设衍射快速计算方法计算所述若干层二维图像中每一层衍射到全息面后的复振幅;
对所述复振幅进行编码,得到所述全息图,具体包括:
启动光线跟踪,光线跟踪线程数为全息图像素数,由初始相机向三维场景发射光线,将三维场景进行分层:
再根据深度信息,将三维场景分成若干层二维图像;
对于三维场景的每一层,使用衍射快速计算的方法计算每一层衍射到全息面后的复振幅,得到全息面的复振幅,对复振幅进行编码,计算得到所述全息图;
所述计算模块中的基于所述初始化参数计算得到全视差视点图,具体包括:
确定初始相机三维位置坐标,基于所述初始相机三维位置坐标获得初始相机位置向量;
获取所述初始相机的右方单位向量、上方单位向量和前方单位向量,确定水平视点数、纵向视点数、水平视点间距和纵向视点间距;
获取任意视点相机的所在位置横向视点数和所在位置纵向视点数,基于所述右方单位向量、所述上方单位向量、所述前方单位向量、所述水平视点数、所述纵向视点数、所述水平视点间距、所述纵向视点间距、所述所在位置横向视点数和所述所在位置纵向视点数,计算得到所述初始相机指向所述任意视点相机的第一向量;
由所述第一向量和所述初始相机位置向量计算得到所述任意视点相机的位置;
对每个视点相机启动一次光线跟踪获得每个视点相机对应的视点图,其中每次光线跟踪的线程数为每个视点图的像素数;
以所述初始相机的注视点为各相机公共焦平面的中心,基于所述第一单位向量的长度、所述第一单位向量和从所述初始相机指向公共焦平面的光线单位向量,计算得到从所述初始相机指向所述公共焦平面的光线向量;
基于所述第一向量和所述从所述初始相机指向所述公共焦平面的光线向量,得到从所述任意视点相机指向所述公共焦平面的光线向量;
以所述任意视点相机的位置为起点,基于所述任意视点相机指向所述公共焦平面的光线向量发射光线,得到第一发射光线;
获取所述第一发射光线的跟踪结果,得到所述全视差视点图,具体包括:
计算相机阵列位置,设初始相机位置坐标为(x0,y0,z0)以向量表示为:
向量分别为指向相机右方,上方,前方的单位向量,设水平与纵向视点数分别为M、N,视点间距分别为a、b,以视点相机C1为例,设视点相机所在横向视点数为m,纵向视点数为n,则从初始相机指向视点相机C1的向量:
则视点相机C1的位置为:
对于每个视点相机,启动一次光线跟踪获得视点的视点图,每次光线跟踪的线程数为每个视点图的像素数;
在每次光线跟踪中,首先计算每条光线的起点与方向,对于每个视点相机,光线起点即为视点相机位置,由于各视点相机为离轴相机,每个像素对应的光线方向通过初始针孔相机的光线方向计算而来,以视点相机C1的光线进行计算:
确定光线的起点和方向后即可发射光线,每个视点相机处光线跟踪结果即为所述全视差视点图;
所述计算模块中的基于所述初始化参数计算得到所述水平光场编码图,具体包括:
启动光线跟踪获得水平光场编码图子像素,其中光线跟踪的线程数为编码图子像素数;
根据编码图子像素位置,计算编码图子像素对应的视点;
基于所述初始相机位置向量、所述右方单位向量、所述水平视点数、所述水平视点间距和所述所在位置横向视点数,得到所述第一向量的横向分量,所述横向分量为所述初始相机位置指向光线起点位置的向量;
基于所述横向分量和所述初始相机位置向量,计算得到所述光线起点位置;
以所述初始相机的注视点为各相机公共焦平面的中心,基于所述第一单位向量的长度、所述第一单位向量和从所述初始相机指向编码子像素的光线单位向量,计算得到从所述初始相机指向所述编码子像素的光线向量;
基于所述第一向量和所述从所述初始相机指向所述编码子像素的光线向量,得到从所述光线起点位置指向所述编码子像素的向量;
以所述光线起点位置为起点,基于所述光线起点位置指向所述编码子像素的向量发射光线,得到第二发射光线;
获得每个编码子像素对应所述第二发射光线的颜色,根据每个编码子像素所在红绿蓝通道赋予对应的灰度值,得到所述水平光场编码图,具体包括:
启动光线跟踪,此处光线跟踪的线程数为编码图子像素数,根据编码图子像素位置,计算子像素对应的视点;
然后计算编码图子像素对应光线跟踪线程的光线起点与光线方向,设初始相机位置坐标为(x0,y0,z0)以向量表示为:
则得到光线起点位置:
然后确定光线的起点和方向后即可发射光线;
在每个子像素得到对应光线的颜色后,根据子像素所在红绿蓝通道,赋予对应的灰度值,得到所述水平光场编码图;
所述计算模块中的基于所述初始化参数计算得到所述集成成像编码图,具体包括:
启动光线跟踪获得集成成像编码图像素,其中光线跟踪的线程数为编码图像素数;
计算编码图像素对应的视点;
获取所述光线起点位置、所述初始相机的注视点、物体到最佳观看面距离与屏幕到最佳观看面比例、所述初始相机指向所述注视点的向量,基于所述初始相机指向所述注视点的向量和所述物体到最佳观看面距离与屏幕到最佳观看面比例,计算得到所述初始相机到所述公共焦平面的中心向量;
基于从所述初始相机指向所述编码图像素的光线单位向量、所述中心向量和所述中心向量的长度,得到所述初始相机指向所述编码图像素的向量;
以所述光线起点位置为起点,基于所述光线起点位置指向所述编码图像素的向量发射光线,得到第三发射光线;
给所述第三发射光线的跟踪结果赋予编码像素,得到所述集成成像编码图;具体包括:
启动光线跟踪,此处光线跟踪的线程数为编码图像素数,计算编码像素对应的视点;
计算编码像素对应线程的光线起点和方向,设初始相机位置坐标为(x0,y0,z0)以向量表示:
则光线起点位置:
确定光线的起点和方向后即可发射光线;
将光线跟踪结果直接赋予编码像素,得到集成成像编码图。
4.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1或2所述三维显示海量数据的处理方法的步骤。
5.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1或2所述三维显示海量数据的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405740.3A CN113223144B (zh) | 2021-04-15 | 2021-04-15 | 一种三维显示海量数据的处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405740.3A CN113223144B (zh) | 2021-04-15 | 2021-04-15 | 一种三维显示海量数据的处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113223144A CN113223144A (zh) | 2021-08-06 |
CN113223144B true CN113223144B (zh) | 2022-06-21 |
Family
ID=77087442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110405740.3A Active CN113223144B (zh) | 2021-04-15 | 2021-04-15 | 一种三维显示海量数据的处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113223144B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0412545D0 (en) * | 2004-06-04 | 2004-07-07 | Univ Sussex | Three dimensional displays |
CN101819375B (zh) * | 2010-04-16 | 2012-05-30 | 浙江大学 | 全视差三维显示装置 |
CN102932646B (zh) * | 2011-08-10 | 2015-07-08 | 上海易维视科技有限公司 | 二维图像的多视点显示方法及系统 |
CN105353582A (zh) * | 2015-12-01 | 2016-02-24 | 浙江优创信息技术有限公司 | 一种全息投影的展示系统及基于该系统的操作方法 |
CN105700320B (zh) * | 2016-04-13 | 2018-06-26 | 苏州大学 | 一种基于空间光调制器的全息三维显示方法及装置 |
CN107563088B (zh) * | 2017-09-14 | 2019-10-01 | 北京邮电大学 | 一种基于光线跟踪算法的光场显示设备仿真方法 |
CN110246146B (zh) * | 2019-04-29 | 2021-07-30 | 北京邮电大学 | 基于多次深度图像渲染的全视差光场内容生成方法及装置 |
CN111812956B (zh) * | 2020-06-12 | 2021-07-06 | 北京邮电大学 | 基于体数据的计算全息图生成方法、装置和电子设备 |
-
2021
- 2021-04-15 CN CN202110405740.3A patent/CN113223144B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113223144A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130027394A1 (en) | Apparatus and method of multi-view rendering | |
US20160232710A1 (en) | Generation of three-dimensional imagery from a two-dimensional image using a depth map | |
CN110246146A (zh) | 基于多次深度图像渲染的全视差光场内容生成方法及装置 | |
GB2546720B (en) | Method of and apparatus for graphics processing | |
US11961250B2 (en) | Light-field image generation system, image display system, shape information acquisition server, image generation server, display device, light-field image generation method, and image display method | |
US20220321857A1 (en) | Light field display method and system, storage medium and display panel | |
CN112184873B (zh) | 分形图形创建方法、装置、电子设备和存储介质 | |
US20110128286A1 (en) | Image restoration apparatus and method thereof | |
US20140184600A1 (en) | Stereoscopic volume rendering imaging system | |
CN116188689A (zh) | 辐射场的处理方法、存储介质以及计算机终端 | |
WO2012140397A2 (en) | Three-dimensional display system | |
US20180213215A1 (en) | Method and device for displaying a three-dimensional scene on display surface having an arbitrary non-planar shape | |
CN115861508A (zh) | 一种图像渲染方法、装置、设备、存储介质及产品 | |
CN113223144B (zh) | 一种三维显示海量数据的处理方法及系统 | |
CN114879377B (zh) | 水平视差三维光场显示系统的参数确定方法、装置及设备 | |
CN109816765B (zh) | 面向动态场景的纹理实时确定方法、装置、设备和介质 | |
CN115830202A (zh) | 一种三维模型渲染方法和装置 | |
CN116805349A (zh) | 室内场景重建方法、装置、电子设备及介质 | |
CN115841539A (zh) | 一种基于可视外壳的三维光场生成方法和装置 | |
CN111327886A (zh) | 3d光场渲染方法及装置 | |
US20160148415A1 (en) | Depth of field synthesis using ray tracing approximation | |
CN111010559B (zh) | 裸眼三维光场内容的生成方法及装置 | |
WO2022175688A1 (en) | Image processing | |
WO2018071338A1 (en) | Virtual reality telepresence | |
CN108495117B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |