一种利用GPU并行计算实现多分辨率光场分解的方法与流程

文档序号:11655305阅读:499来源:国知局
一种利用GPU并行计算实现多分辨率光场分解的方法与流程

本发明属于三维显示技术重构算法领域,具体涉及一种利用gpu并行计算实现多分辨率光场分解的方法。



背景技术:

gordon.etal提出了一种利用多层液晶重构光场的近眼显示技术。这项技术将大量的光场信息分解为可以用多层液晶屏显示的模式。实现了用较小信息量的显示器件实现较大信息量的光场显示。设备的信息利用率非常高。这项技术的设备简单,而且显示的光场信息量非常大,光场的分辨率高,具有单眼连续聚焦的效果。然而这项技术的光场分解计算量很大,耗时长。

显示系统包括一个背光源,多层液晶屏和一个透镜。对于近眼显示,放置了一个透镜将场景成像在人眼聚焦的范围内。光学系统的正方向是z轴的正方向。lcd和透镜的间距短于透镜的焦距,根据高斯定理,虚拟lcd被成像在距离透镜很远的位置。

传统的多层液晶显示设备包括背光源和多层液晶。背光源的光线经过前后液晶屏的调制形成一个离散的光场l(k,l,i,j)。l(k,l,i,j)是由这些像素的索引来参数化的。矩阵pf(k,l)和矩阵pr(i,j)分别对应于前后液晶屏的显示图案。这个离散光场l(k,l,i,j)可以表示为矩阵pf(k,l)和矩阵pr(i,j)的张量积。用公式(2)表示:

这个离散光场再被透镜调制。这个调制的光场可以理解成由前后液晶屏的像调制产生的,用公式(3)表示为:

其中,lm(k,l,i,j)表示经过透镜后的被调制的离散光场,pmf(k,l)和pmr(i,j)分别对应于前虚拟lcd和后虚拟lcd的显示模式。

在一个两平面的坐标系中,原始光场可以表示为一个四维张量原始光场的重构可以被看作最小化lm和的欧几里得距离,它可以用公式(4)表示:

这个分解的更新规则如公式(5)~(6)所示:

w是一个权重张量,用于对设置每个像素的权重值,°表示的是哈达玛积;现有的光场分解算法,仅适用于分辨率是固定值的光场重构。



技术实现要素:

为了实现多分辨率光场重构,本文发明提供了一种利用gpu并行计算实现多分辨率光场分解的方法,将光场分解,通过结合索引图,实现多分辨率光场重构。

本发明所采用的具体技术方案如下:

一种利用gpu并行计算实现多分辨率光场分解的方法,具体步骤如下:

1)根据人眼的视觉模型,决定光场的采样频率,采样频率的分布和人眼视觉角分辨率分布是一致的;

2)根据多层液晶的位置,和视点分布的位置,和光场的采样率,计算得出所有光线与多层液晶交点的像素的索引;

3)将交点的索引按列优先的方式从外到内的规则排布形成一个新的矩阵,矩阵单元的值就是索引值,这个矩阵为索引图1;

4)索引值的记录是利用索引图1的rgba四通道记录的;

5)原始的三维场景的数据根据索引图1被压缩,得到一个压缩的光场;

6)根据每个采样点在索引图1的位置(像素的索引)和采样点在原来的lcd或者视图中采样单元的位置,将采样点在索引图1的像素索引复制给采样点在lcd或者视图中采样单元中所有的像素形成索引图2;

7)索引图2记录着采样点在索引图1中的位置,这个位置是利用索引图2的像素的rgba的值来记录的;

8)利用索引图1和索引图2,结合非负矩阵分解,将压缩的光场分解,得到压缩的分解图案;

9)压缩的分解图案根据索引图2解压,成为可以最终显示在液晶屏上的分解图案。

优选的,原始三维场景的数据存储为四通道的图片格式。

本发明将通过讲需要处理的数据保存为图片的格式,实现了光场的快速分解。

附图说明

图1是本发明的原始光场采样示意图,解释索引图的生成和作用。

图2是本发明中由压缩的光场与lcd像素直接的对应关系示意图,其中,a图为s1(p,q),b图表示光线和多层液晶屏的几何对应关系,c图表示pmf(k,l)的s2(k,l)或者pmr(i,j)的s2(i,j),d图表示p′mf(pf,qf)或者p′mr(pr,qr);

图3是本发明中由得到的分解模式解压为可显示的图像的过程,其中,图(a)表示pmf(k,l)的s2(k,l)或者pmr(i,j)的s2(i,j),图(b)表示p′mf(pf,qf)或者p′mr(pr,qr),图(c)表示pmf(k,l)或者pmr(i,j)。

具体实施方式

下面结合附图来详细说明本发明,但本发明并不仅限于此。

采用传统的重构算法重构一个大尺寸的光场,时间消耗量很大。为了减少计算时间,我们提出了一种基于人眼特性的重构算法。

与单一采样频率构建的光场图像不同,采用非均匀采样频率时图像的每一行像素的个数不相同,因此无法直接用一个矩阵表示。为了计算方便,将每个区域内的数据以按列优先的方式排列在一起,并以从外到内的顺序将不同区域的数据集合重新构建新的矩阵s(p,q),其中(p,q)是重新排列后图像(或称为压缩视图)的像素索引。首先,通过离散的角分辨率和lcd所在平面到人眼的距离得到lcd所在平面的离散空间分辨率。其次,根据离散空间分辨率的值和对应的视角范围将整个视场分成n个区域(如图1)。压缩视图是一个行列数相等的图片,它的行列数等于每个视图采样点总数开根号向上取整,压缩视图中多余的像素点的值设置为0.为了迅速的找到采样点的位置实现快速采样并且利用gpu加速并行运算,构建一个基准面的索引图s1(p,q)(索引图1)来存放s(p,q)相应元素的原始坐标(mr,mc)。整个压缩的光场为可以被分解为压缩前液晶p′mf(pf,qf)和压缩后液晶p′mr(pr,qr),(pf,qf)和(pr,qr)对应为压缩前后液晶像素的索引。把转化为的过程称之为光场的压缩。图1解释了光场的压缩,为的压缩示意图,左图为的一个视图示意图.右图为s(p,q)的示意图。按照同样的方法构建了前后液晶板的索引图1。

图2介绍了压缩光场的分解过程。对于每个视点,首先由光场的索引图s1(p,q)得到采样点s在原始光场的位置b(m0,n0)(图2-a),s与视点相连得到光线。光线与前后lcd的交点为a(i1,j1),c(i2,j2),(图2-b)。构建lcd1的索引图s2(k,l)(索引图2),其分辨率大小和液晶屏分辨率相同,只是每个像素存放的信息是p′mf(pf,qf)的像素序号(pf,qf)。采用索引图s2(k,l),得到a点的采样单元在p′mf(pf,qf)上的位置(m1,n1)。同理通过lcd2的索引图s2(i,j),得到lcd2上交点p在p′mr(pr,qr)上的位置(m2,n2)。以此类推得到中所有光线和p′mf(pf,qf),p′mr(pr,qr)的对应关系。利用迭代公式(8,9),得到压缩光场的分解图案p′mf(pf,qf),p′mr(pr,qr)。

为了显示重构的光场,需要将p′mf(pf,qf)和p′mr(pr,qr)转化为多分辨显示图像pmf(k,l)和pmr(i,j),转换的过程如图3表示的p′mf(pf,qf)或者p′mr(pr,qr)的解压过程,图3(a)表示pmf(k,l)的s2(k,l)或者pmr(i,j)的s2(i,j),图3(b)表示p′mf(pf,qf)或者p′mr(pr,qr),图3(c)表示pmf(k,l)或者pmr(i,j)。通过s2(k,l)可以查询到每个像元存放在p′mf(pf,qf)中的数据,从而快速还原出液晶板上的图像pmf(k,l)。同理通过s2(i,j),将p′mr(pr,qr)转化为pmr(i,j)。把p′mf(pf,qf)转化pmf(k,l)称为解压过程。

以上所述仅为本发明的较佳实施举例,并不用于限制本发明,凡在本发明精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

为了能够利用索引图的像素值记录超大范围的地址,我们将索引图的格式设置为图像文件存储格式(png),利用索引图像素的rgba值来存储像素的坐标。它们的关系式如公式(7)-(10)表述;

r=col-255*floor(col/255.00001);(7)

g=row-255*floor(row/255.00001);(8)

b=floor(col/255.00001);(9)

a=255-floor(row/255.00001);(10)

总结来说,基于人眼视觉特性的近眼光场显示的算法流程如下。首先,将原始光场按照人眼的视觉特性快速的压缩为只包含采样点信息的压缩的光场,并同样地得到两个lcd的压缩模式。其次,再根据公式(4)-(6)介绍的分解规则将压缩的光场分解得到前后lcd的压缩分解模式。最后,快速的将lcd的压缩分解模式解压得到多分辨率模式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1