CN103745448B - 光栅3d显示中超高分辨率合成图像的快速生成方法 - Google Patents
光栅3d显示中超高分辨率合成图像的快速生成方法 Download PDFInfo
- Publication number
- CN103745448B CN103745448B CN201310716535.4A CN201310716535A CN103745448B CN 103745448 B CN103745448 B CN 103745448B CN 201310716535 A CN201310716535 A CN 201310716535A CN 103745448 B CN103745448 B CN 103745448B
- Authority
- CN
- China
- Prior art keywords
- region
- anaglyph
- composograph
- pixel
- grating
- 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
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种光栅3D显示中超高分辨率合成图像的快速生成方法。该方法在GPU的并行架构下,根据光栅的排列方式,计算各个区域中每张视差图像所需渲染像素的索引位置,采用Pixel Shader(像素着色器)通过分区域渲染拼接快速生成高分辨率的合成图像。该发明包括三个基本步骤:第一步,计算所需分割的区域阵列和每个区域的大小;第二步,按区域阵列映射视差图像;第三步,分区域渲染并拼接快速生成超高分辨率的合成图像。
Description
技术领域
本发明涉及裸眼3D(三维)显示技术领域,更具体地说,涉及光栅3D显示中超高分辨率合成图像的快速生成方法。
背景技术
光栅3D显示无需观看者佩戴任何助视设备即能观看到立体图像,它是基于柱面光栅或狭缝光栅的一种多视点自由立体显示。其中,用于光栅3D显示的合成图像是将多张视差图像的像素或子像素按照光栅的光学结构,以一定的规律排列所生成的图像。合成图像经光栅的分光作用,使观看者在观看区域内左右眼同时看到不同的视差图像经大脑融合从而感知到具有立体效果的3D图像。
随着各种超高分辨率显示技术的成熟,3D图像的分辨率和观看自由度(与视点数目相关)已经是裸眼3D显示的两个重要目标。然而,现有的多视点光栅3D显示的3D分辨率和观看自由度都相对较低。因此,需要快速生成超高分辨率的合成图像用于光栅3D显示来解决这些问题。由于受计算机固有性能的限制,现有的方法所生成的合成图像的分辨率也受到了限制,或者生成合成图像的效率低下。
对于超高分辨率合成图像的生成,利用CPU(中央处理器)处理,速率慢且实时性差;利用GPU(图形处理器)并行处理,可以解决速率慢的问题,但是所生成的合成图像的分辨率却受计算机显卡所能创建纹理的最大分辨率的限制,因此也无法直接快速生成超高分辨率的合成图像。为了解决合成图像的分辨率受计算机固有性能的限制,本发明提出了一种光栅3D显示中超高分辨率合成图像的快速生成方法。
发明内容
本发明提出了一种光栅3D显示中超高分辨率合成图像的快速生成方法,该方法在GPU的并行架构下,根据光栅的排列方式,计算每张视差图像中所要渲染的像素的索引位置,采用Pixel Shader(像素着色器)分区域对每张视差图像进行渲染叠加,生成相应区域的合成图像,最后将各个区域的合成图像拼接生成超高分辨率的合成图像。
该方法的具体步骤包括:
第一步,确定所需分割的区域阵列和每个区域的大小。根据需要生成合成图像的分辨率X×Y和显卡所能创建纹理的最大分辨率Xmax×Ymax,计算分区域的区域阵列k1×k2(k1为行,k2为列)由公式(1)和(2)给出:
(1)
(2)
其中,ceil()表示向上取整的函数。所分割的每个区域大小相同,其分辨率为X'×Y',由公式(3)和(4)给出:
(3)
(4)
第二步,按区域阵列映射视差图像。基于纹理映射技术,建立视差图像分区域映射的关系,用于映射每张视差图像的像素数据,具体过程为:根据步骤一所确定的区域阵列k1×k2,建立顶点数为4×k1×k2的矩形网格,每个网格区域的顶点矩阵由4个顶点向量构成,其格式为P=(x,y,z,u,v),其中,(x,y,z)表示网格区域的顶点坐标,(u,v)表示视差图像的纹理坐标。视差图像的分区域映射关系由每个区域的顶点矩阵确定。在区域阵列中,各个区域的顶点矩阵由公式(5)给出:
(5)
其中,i∈[1, k1×k2],i 为区域阵列中区域的序号数。基于公式(5)即可完成对每张视差图像像素数据的分区域映射,如附图1所示。
第三步,分区域渲染并拼接快速生成超高分辨率的合成图像。根据光栅的排列方式,计算每张视差图像中所要渲染像素的索引位置,在k1×k2个区域中分别对各个区域所完成映射的每张视差图像进行渲染叠加,生成各个区域的合成图像,最后将其拼接生成超高分辨率的合成图像。具体过程为:首先,在应用程序中建立大小为X'×Y'的纹理用来处理每个区域的像素数据。通过Pixel Shader常量表传入视差图像数的总张数N,光栅相对于竖直方向的倾斜角度θ,和当前渲染区域序号i(1,2,…,k1×k2)。接着,在区域i中,对此区域所完成映射的视差图像n(1,2,…,N)按照其所要渲染像素的索引位置,依次对其进行渲染叠加生成区域i的合成图像,其中,如附图(2)所示,第n幅视差图像中所要渲染像素的索引位置,即所要渲染的像素在合成图像中的水平偏移量δ,由公式(6)给出:
(6)
其中,round()为四舍五入的取整函数, s和t分别表示在区域i内水平和竖直方向索引坐标,其取值范围为0≤s≤X', 0≤t≤Y'。依次类推,如附图3所示,分别在区域阵列k1×k2中的各个区域中,按照公式(6)计算各个区域的N张视差图像中所要渲染像素的索引位置,并对各个区域完成映射的N幅视差图像依次进行渲染叠加,生成各个区域的合成图像,最后将其拼接生成分辨率为X×Y的合成图像。
该发明方法既可以快速生成常规分辨率的合成图像更可以快速生成超高分辨率的合成图像,用于光栅3D显示。
附图说明
附图1视差图像分区域映射示意图。
附图2在区域i中第n幅视差图像所要渲染像素的索引位置示意图。
附图3分区域快速拼接生成超高分辨率合成图像的原理示意图。
上述附图中的图示标号为:
1视差图像,2完成映射的视差图像,3渲染叠加的视差图像,4区域合成图像,5合成图像。
应该理解上述附图只是示意性的,并没有按比例绘制。
具体实施方式
下面详细说明本发明提出的一种光栅3D显示中超高分辨率合成图像的快速生成方法的实施例,对本发明进行进一步的具体描述。有必要在此指出的是,以下实施例只用于本发明做进一步的说明,不能理解为对本发明保护范围的限制,该领域技术熟练人员根据上述本发明内容对本发明做出一些非本质的改进和调整,仍属于本发明的保护范围。
本实施例制作完成分辨率为21120×11880,视点数为48的合成图像,用于光栅3D立体显示,其中所采用的光栅为柱透镜光栅,尺寸为32线每英寸,光栅相对于竖直方向的倾斜角度为arctan(-0.34)。本实施中应用程序所调用的API均来自于Direct3D SDK(软件开发工具包)。本实施例中的GPU所采用显卡的型号为:NVIDIA GTX460。
在本实施例前,首先使用3D动画渲染和制作软件3DS Max制作48幅视差图像。为充分利用GPU并行处理数据的能力,本实例采用HLSL(高级着色语言)编写Pixel Shader程序分区域对48幅视差图像渲染叠加,生成相应区域的合成图像,最后将各个区域的合成图像拼接生成分辨率为21120×11880的合成图像,用于光栅3D的显示。
本实例按以下步骤实施:
第一步,枚举显卡所能创建的纹理的最大分辨率为8192×8192。根据公式(1)(2),,,确定分区域的区域阵列为4×3,同时根据公式(3)(4)计算每个区域的大小为7680×5760。
第二步,根据步骤一所确定的区域阵列4×3,创建顶点数为48的矩形网格,基于Direct3D纹理映射技术,按照公式(5)每个区域顶点矩阵中各个顶点的几何坐标与纹理坐标的映射关系,分别将48幅视差图像的像素数据映射到区域阵列为4×3的各个区域中。
第三步,编写Pixel Shader 程序,并建立大小为7680×5760的纹理,通过PixelShader常量表传入视差图像总数48,光栅相对于竖直方向的倾斜角度为arctan(-0.34),和当前渲染区域序号i(1,2,…,12)。开启α混色功能,设置纹理寻址方式为边框寻址,设置纹理过滤器为线性纹理过滤方式。在GPU中,首先从区域序号为1的区域开始,对映射在此区域的第1幅视差图像进行渲染,其所要渲染的像素的索引位置由:
计算,其中,δ为所要渲染的像素在合成图像中的水平偏移量,(s,t)为区域1中的索引坐标,其取值范围为0≤s≤7680, 0≤t≤5760,依次类推,按照公式(6)在区域序号为1的区域中,分别对其余2-48幅视差图像进行渲染叠加,生成区域1的合成图像。重复上述的过程分别在其余的11个区域内对相应中完成映射的48幅视差图像依次进行渲染叠加,生成相应区域合成图像,最终将相应区域的合成图像按照区域阵列4×3拼接,生成分辨率为21120×11880的合成图像用于光栅3D显示。
Claims (1)
1.一种光栅3D显示中超高分辨率合成图像的快速生成方法,其特征是利用GPU并行处理数据能力与分区域拼接技术快速叠加渲染生成超高分辨率的合成图像,该特征的实现包括三个基本步骤:
第一步,确定所需分割的区域阵列和每个区域的大小:根据所需要生成分辨率为X×Y的合成图像和显卡所能创建分辨率为Xmax×Ymax的最大纹理,所需分割的区域阵列k1×k2由k1≥ceil(X/Xmax),k2≥ceil(Y/Ymax)计算,每个区域的分辨率为X'×Y'由X'= X/K1,Y'= Y/K2计算;
第二步,按区域阵列映射视差图像:基于纹理映射技术,按区域阵列k1×k2,建立顶点数为4×k1×k2的矩形网格,用于映射视差图像的像素数据,每张视差图像分区域的映射关系由每个区域的顶点矩阵
给出,其中,i 为区域阵列中区域的序号数,i∈[1, k1×k2],顶点矩阵由顶点向量格式为P=(x,y,z,u,v)的四个顶点向量构成,其中,(x,y,z)表示该区域的顶点坐标,(u,v)表示视差图像的纹理坐标;
第三步,分区域渲染并拼接快速生成超高分辨率的合成图像:首先,建立大小为X'×Y'的纹理用来处理每个区域的像素数据,通过Pixel Shader(像素着色器)常量表传入视差图像数的总张数N,光栅相对于竖直方向的倾斜角度θ,和当前渲染区域序号i(1,2,…,k1×k2);接着,基于光栅的排列方式,分别计算视差图像n(1,2,…,N)在区域i中所要渲染像素的索引位置,在区域i中,视差图像n中所要渲染像素的索引位置即所要渲染的像素在合成图像中的水平偏移量δ由公式
计算,其中,s和t分别表示在区域i内水平和竖直方向索引坐标,其取值范围为0≤s≤X', 0≤t≤Y',依次对该区域的N张视差图像进行渲染叠加生成区域i的区域合成图像,依次类推,在GPU的并行架构下,按照视差图像中所要渲染像素的索引位置关系δ(s, t)i, n,采用Pixel Shader在区域阵列k1×k2的各个区域中对此区域的N张视差图像进行渲染叠加生成各个区域的合成图像,最后将各个区域的合成图像按区域阵列k1×k2的排列方式拼接生成分辨率为X×Y的合成图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310716535.4A CN103745448B (zh) | 2013-12-24 | 2013-12-24 | 光栅3d显示中超高分辨率合成图像的快速生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310716535.4A CN103745448B (zh) | 2013-12-24 | 2013-12-24 | 光栅3d显示中超高分辨率合成图像的快速生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103745448A CN103745448A (zh) | 2014-04-23 |
CN103745448B true CN103745448B (zh) | 2016-08-17 |
Family
ID=50502463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310716535.4A Active CN103745448B (zh) | 2013-12-24 | 2013-12-24 | 光栅3d显示中超高分辨率合成图像的快速生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103745448B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791798B (zh) * | 2016-03-03 | 2018-06-26 | 北京邮电大学 | 一种基于gpu的4k超多视点3d视频实时转化方法及装置 |
CN106973230A (zh) * | 2017-04-19 | 2017-07-21 | 宇龙计算机通信科技(深圳)有限公司 | 图片合成方法及系统 |
CN109388448B (zh) * | 2017-08-09 | 2020-08-04 | 京东方科技集团股份有限公司 | 图像显示方法、显示系统以及计算机可读存储介质 |
CN108010095B (zh) * | 2017-11-14 | 2021-06-04 | 创新先进技术有限公司 | 一种纹理合成的方法、装置及设备 |
CN108881887B (zh) * | 2018-07-19 | 2019-07-19 | 四川长虹电器股份有限公司 | 一种基于Unity3D的光场信息获取及处理方法 |
CN109064543A (zh) * | 2018-08-30 | 2018-12-21 | 十维度(厦门)网络科技有限公司 | 一种图形纹理加载渲染方法 |
CN109889811A (zh) * | 2019-03-14 | 2019-06-14 | 陈萧名 | 一种实现裸眼3d的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286225A (zh) * | 2007-04-11 | 2008-10-15 | 中国科学院自动化研究所 | 一种基于三维纹理硬件加速的海量数据体绘制方法 |
CN102802003A (zh) * | 2012-08-15 | 2012-11-28 | 四川大学 | 基于gpu与网络摄像机的实时拍摄与实时自由立体显示系统 |
CN102819820A (zh) * | 2012-08-14 | 2012-12-12 | 长沙景嘉微电子股份有限公司 | 基于分块渲染的gpu中多管线渲染的实现方法 |
CN102890829A (zh) * | 2011-10-24 | 2013-01-23 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的渲染地形的方法 |
CN103248908A (zh) * | 2013-04-28 | 2013-08-14 | 四川大学 | 一种消除多视点自由立体显示器视区跳变和增多视点的方法 |
CN103308942A (zh) * | 2012-03-12 | 2013-09-18 | 中国石油天然气股份有限公司 | 一种可视化地震数据的方法及系统 |
CN103455973A (zh) * | 2012-05-28 | 2013-12-18 | 方正国际软件(北京)有限公司 | 一种屏幕图像绘制方法和装置 |
-
2013
- 2013-12-24 CN CN201310716535.4A patent/CN103745448B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286225A (zh) * | 2007-04-11 | 2008-10-15 | 中国科学院自动化研究所 | 一种基于三维纹理硬件加速的海量数据体绘制方法 |
CN102890829A (zh) * | 2011-10-24 | 2013-01-23 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的渲染地形的方法 |
CN103308942A (zh) * | 2012-03-12 | 2013-09-18 | 中国石油天然气股份有限公司 | 一种可视化地震数据的方法及系统 |
CN103455973A (zh) * | 2012-05-28 | 2013-12-18 | 方正国际软件(北京)有限公司 | 一种屏幕图像绘制方法和装置 |
CN102819820A (zh) * | 2012-08-14 | 2012-12-12 | 长沙景嘉微电子股份有限公司 | 基于分块渲染的gpu中多管线渲染的实现方法 |
CN102802003A (zh) * | 2012-08-15 | 2012-11-28 | 四川大学 | 基于gpu与网络摄像机的实时拍摄与实时自由立体显示系统 |
CN103248908A (zh) * | 2013-04-28 | 2013-08-14 | 四川大学 | 一种消除多视点自由立体显示器视区跳变和增多视点的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103745448A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103745448B (zh) | 光栅3d显示中超高分辨率合成图像的快速生成方法 | |
JP5659589B2 (ja) | 表示装置および制御方法 | |
EP1143747B1 (en) | Processing of images for autostereoscopic display | |
CN106897976B (zh) | 基于gpu的单显卡三通道立体视景投影软件校正融合方法 | |
US20100171811A1 (en) | Method and device for the creation of pseudo-holographic images | |
JP6060329B2 (ja) | 3dディスプレイ装置で3次元映像を視覚化する方法および3dディスプレイ装置 | |
CN102510515B (zh) | 一种光栅式多视点立体图像合成方法 | |
CN103813153A (zh) | 一种基于加权求和的裸眼3d多视点图像合成方法 | |
US20120148173A1 (en) | Method and device for generating multi-viewpoint image | |
CN104079913B (zh) | 光栅式立体显示器兼容2d-3d显示的子像素排列方法、装置 | |
JP2012253690A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
EP3607530A1 (en) | System, method and software for producing virtual three dimensional images that appear to project forward of or above an electronic display | |
WO2012140397A2 (en) | Three-dimensional display system | |
US8797383B2 (en) | Method for stereoscopic illustration | |
CN207037243U (zh) | 3d显示装置 | |
KR100980298B1 (ko) | 모델링된 2차원 영상의 3차원 영상 변환 방법 | |
JP2006163547A (ja) | 立体画像生成プログラム、立体画像生成システム及び立体画像生成装置。 | |
JP2013238716A (ja) | 多視点画像情報の合成方法 | |
CN105791798B (zh) | 一种基于gpu的4k超多视点3d视频实时转化方法及装置 | |
CN203025421U (zh) | 带有垂直柱镜光栅的自由立体显示屏 | |
CN102447936B (zh) | Led大屏幕立体影像文件生成方法 | |
CN106231286B (zh) | 一种三维图像生成方法及装置 | |
CN103676176B (zh) | 一种立体显示装置及其成像方法 | |
KR20170127681A (ko) | 다방향 영상 제공이 가능한 테이블탑 3d 디스플레이 방법 | |
CN106067969A (zh) | 一种柱镜光栅的多视点3d显示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |