CN116982086A - 先进立体渲染 - Google Patents
先进立体渲染 Download PDFInfo
- Publication number
- CN116982086A CN116982086A CN202180093640.XA CN202180093640A CN116982086A CN 116982086 A CN116982086 A CN 116982086A CN 202180093640 A CN202180093640 A CN 202180093640A CN 116982086 A CN116982086 A CN 116982086A
- Authority
- CN
- China
- Prior art keywords
- rendering
- computer
- application
- image
- rendering mode
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 134
- 230000000694 effects Effects 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000012805 post-processing Methods 0.000 claims abstract description 12
- 230000009977 dual effect Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 15
- 238000005259 measurement Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 239000000872 buffer Substances 0.000 description 8
- 239000011521 glass Substances 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 239000003086 colorant Substances 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 239000001257 hydrogen Substances 0.000 description 2
- 125000004435 hydrogen atom Chemical class [H]* 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 210000000857 visual cortex Anatomy 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000010189 synthetic method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/261—Image signal generators with monoscopic-to-stereoscopic image conversion
- H04N13/268—Image signal generators with monoscopic-to-stereoscopic image conversion based on depth image-based rendering [DIBR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/533—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
对于先进立体3D渲染系统提供系统和方法,以解决这些3D渲染问题中的若干问题并且独立于不同的游戏引擎进行工作。例如,系统可以包括立体渲染机制,以将后处理效果应用于OpenGL ES应用。先进立体3D渲染系统可以添加为游戏引擎与用户的显示屏幕之间的拦截层。该拦截层可以与许多不同的游戏引擎集成,以对于各种用户设备模型创建3D视图,因此消除对于用户设备处的图像生成器创建3D图像的需要。3D图像可以由先进立体3D渲染系统创建以用于由端用户观看,并且看起来与游戏或其他软件应用合并。
Description
背景技术
许多当前成像技术受限于二维(2D)图像。当需要不同的图像(例如,三维(3D)图像的生成和传输)时,负责生成成像的后端平台一般需要完全重新加工。现有平台在生成并且存储这些3D图像方面具有麻烦。附加地,即使当对平台进行这些改进时,由于资源约束,在接收设备处,限制也是不可逾越的。这些约束在诸如小屏幕尺寸、有限处理功率、小存储器占区和关键功耗之类的特征方面显现自身。需要更好的系统。
附图说明
根据一个或多个各种实施例,参照以下附图详细描述本公开。附图只是为了说明的目的而提供的,并且仅描绘典型或示例实施例。
图1提供根据本申请实施例的先进立体3D渲染系统的说明。
图2提供根据本申请实施例的用户设备处的游戏架构的说明。
图3示出根据本申请实施例的先进立体3D渲染系统。
图4示出根据本申请实施例的原始图像。
图5示出根据本申请实施例的浮雕图像。
图6示出根据本申请实施例的并排图像。
图7示出根据本申请实施例的交错图像。
图8示出根据本申请实施例的2*2H4V格式图像。
图9示出根据本申请实施例向对应用户设备提供来自数据格式的每种图像类型。
图10提供根据本申请实施例的说明性视差计算。
图11示出根据本申请实施例的用于提供立体渲染的计算组件。
图12是可以用以实现本公开中描述的实施例的各种特征的示例计算组件。
附图并非是详尽无遗的,而且并非将本公开限制为所公开的精确形式。
具体实施方式
本申请实施例可以提供用于在用户设备(例如,移动电话等)上生成3D图像的立体渲染机制。这样允许用户设备呈现原始软件应用中未包括的3D效果。这种新的3D效果可以改进用户体验,并且在后处理中向应用添加软件开发者最初未提供的功能。
具体而言,在移动游戏环境中,移动游戏已经突飞猛进地改进,移动电话用户设备却仍然受小屏幕尺寸、有限处理功率、小存储器占区和关键功耗约束。移动平台上交付的许多游戏已经受限于2D游戏,看似3D的游戏(即,非真实3D)或具有十分糟糕的3D效果的游戏。这仅仅是因为在用户设备上实现全3D特征移动游戏从来绝非易事。事实上,先进3D图形技术在游戏市场(PC和控制台)中是普遍的,但是移动游戏中的真实3D是有限的。
在一些示例中,基于深度图像的渲染(DIBR)算法可以用以生成并且发送“虚拟”立体3D图像。DIBR是从静止或运动图像以及关联的每像素深度信息合成场景的“虚拟”视图的过程。这样使用两步过程改进用户设备处的3D图像的电子生成。首先,利用深度和纹理数据将原始2D图像点重新投影到3D世界中。其次,这些3D点投影到位于所需的观看位置处的“虚拟”相机的图像平面中。重新投影(2D到3D)和随后投影(3D到2D)的串接通常称为3D图像翘曲。
然而,对于特定数据格式,标准3D图像翘曲是基于特定平台的。可能让人不知所措的是,软件开发者关于各种移动游戏中的每一个将来自旧平台的旧功能添加到新的支持3D的平台,这是因为开发者将还需要生成新应用和功能以支持游戏引擎。因此,针对跨游戏引擎开发的解决方案已经是要解决的困难问题。
3D渲染过程中的其它问题涉及如何改进用户体验。在标准系统中,需要视差计算以在3D渲染中生成立体图像。然而,当不存在本来可以由原始软件开发者收集但是在后处理中难以收集的与应用关联的足够信息(例如,像素景深和缩放)时,计算不同视图的视差并不容易。此外,由于2D图像的边界处的高不连续性,在3D图像中可能生成轮廓伪影,这使得对齐和校准很重要却异乎寻常地难以确定。
本公开的实施例包括先进立体3D渲染系统,以解决这些3D渲染中的若干问题并且独立于不同的游戏引擎进行工作。例如,先进立体3D渲染系统可以包括立体渲染机制,以将后处理效果应用于OpenGL ES应用。先进立体3D渲染系统可以添加为游戏引擎与用户的显示屏幕之间的拦截层。该拦截层可以与许多不同的游戏引擎集成,以对于各种用户设备模型创建3D视图,因此消除对于用户设备处的图像生成器创建3D图像的需要。3D图像可以由先进立体3D渲染系统创建以用于由端用户观看,并且看起来与游戏或其他软件应用合并。
在一些示例中,先进立体3D渲染系统可以提供两种不同的管线:单渲染管线和双渲染管线,以用于不同的游戏引擎。单渲染管线或双渲染管线的使用可以取决于生成了初始2D图像的游戏引擎。先进立体3D渲染系统可以对于每个用户设备生成不同的3D数据格式(例如,浮雕、并排、交错、2*2氢4视图(H4V)格式等)。无论游戏引擎最初是否支持3D图像,使用单渲染管线或双渲染管线都可以对于游戏实现3D效果。
附加地,先进立体3D渲染系统可以使用改进的视差测量校准3D图像。为了获得更准确的视差,可以校准视差。在一些示例中,对于具有前置相机的设备,可以使用跟踪和检测模块使用眼睛与屏幕之间的视距校准视差。对于没有前置相机的用户设备,可以合并重置模块以调整视距。
可以通过合并一个或多个滤波器进一步改进3D图像。例如,为了对齐3D图像的边缘,可以使用受引导的滤波器以消除任何大的梯度差异并且保留边缘信息。
贯穿应用实现技术改进。例如,用户设备处的图像处理可以从原始2D图像数据调整为3D图像,而无需经过通信网络发送较大尺寸3D图像。这样可以减少发送到用户设备的数据量,并且经由通信网络,留下可用带宽以用于发送其他数据比特流。
图1提供根据本申请实施例的先进立体3D渲染系统的说明。在说明100中,先进立体3D渲染系统102在其计算层当中提供给用户设备,该计算层包括应用110、图形112、HWUI114、驱动116和处理器118。例如,应用110、图形112、HWUI 114、驱动116和处理器118可以随用户设备嵌入以生成移动游戏环境,并且可以使用贯穿本公开描述的特征实现于不同的环境中。
应用110可以包括使用用户设备上的计算机可执行指令执行的软件应用。应用110可以与用户设备的用户接口进行交互,以向用户显示接收的信息。在一些示例中,应用110可以包括由用户设备操作以经由用户设备的显示器提供图像的电子游戏或其它软件应用。
图形112可以包括用于渲染2D和3D计算机图形的计算机图形渲染应用编程接口(API)(例如,用于嵌入式系统的OpenGL、OpenGL ES、GLES、GLES等)。图形112可以被设计用于嵌入式系统(例如,智能电话、视频游戏控制台、移动电话或其它用户设备)。
HWUI 114可以包括能够使用处理器118(例如,GPU、CPU等)加速用户接口(UI)组件的库。HWUI 114可以对应于用于图像和其它数据的加速渲染管线。在一些用户设备型号(例如,非型号等)中,可以在不偏离本公开的实质的情况下移除HWUI 114。
驱动116可以包括通过提供对硬件设备的软件接口操作或控制处理器118的计算机程序。驱动116可以实现用户设备的操作系统访问硬件功能,而无需对关于正使用的硬件的精确细节进行编码。
处理器118可以包括专用硬件引擎,以执行机器可读指令并且执行贯穿本公开所描述的方法。在一些示例中,处理器118对应于图形处理单元(GPU),以加速图形操作和/或执行并行图形操作。在不偏离本申请的范围的情况下,可以实现其它处理单元(例如,中央处理单元(CPU)等)。
先进立体3D渲染系统102可以提供为图形112处的移动游戏相关库与驱动之间的拦截层。当激活接口工具(例如,从游戏助手中的UI选择“激活”或提供预定视觉效果等)时,可以调用先进立体3D渲染系统102。
在一些示例中,当调用或启用先进立体3D渲染系统102时,可以拦截预定义的图形112,并且可以在其位置中提供定制的图形层。通过这种拦截,先进立体3D渲染系统102可以修改图形112的正常层行为(例如,通过使用10+GLES图层系统修改OpenGL等)。一旦在支持3D效果的情况下修改图形层,先进立体3D渲染系统102就可以重新编译它以随应用110使用。例如,预定效果可以生成左输出和右输出以创建3D图像,3D图像在OpenGL应用编程接口(API)被发送,以在应用110中创建三维(3D)渲染图像。先进立体3D渲染系统102可以作为透明图形框架安装在用户设备上。
拦截层可以对应于不依赖于游戏引擎的后处理机制。先进立体3D渲染系统102可以包括两个管线:单渲染管线和双渲染管线。对于最初不支持3D图像效果的游戏,使用先进立体3D渲染系统102可以通过在游戏引擎中动态移动虚拟像机得到新视图。
同样可以更改各种系统性质。例如,“debug.gles.layers”系统性质可以改变为引用与先进立体3D渲染系统102关联的参数。该参数可以将处理从预定义的应用重定向到先进立体3D渲染系统102。这样可以有效地使应用110调用先进立体3D渲染系统102的特定OpenGL翘曲器,而非默认实现。一旦先进立体3D渲染系统102提供参数和重新定义的函数调用,应用就可以将处理转发回到OpenGL的默认实现。
游戏助手104可以包括用户接口,其中,用户可以交互式地选取效果或打开/关闭效果。交互可以在用户设备的用户接口处接收,并且由游戏助手104处理。
当打开一个或多个效果时,游戏助手104可以将加载设置初始化为透明图形框架106。负载设置可以加以预先确定并且存储在数据存储中。游戏助手104可以访问数据存储并且检索对应于所选取的效果的加载设置。
游戏助手104也可以被配置为在透明图形框架106处执行机器可读指令以发起或调用由用户请求的效果。
透明图形框架106可以包括效果管理器、效果加载器和效果着色器。
效果管理器可以在先进立体3D渲染系统102处打开和关闭3D效果。为了切换这些3D效果,效果管理器可以将对应于特定3D效果的特定参数传递到效果加载器。3D效果可以包括例如光、线网框架、瓷砖、动画、图像透视、材质、纹理或其他图像翘曲器和库。
效果加载器可以包括3D对象的3D库。对应于生成3D图像的遮蔽、阴影和有向光也可以随3D库存储。
效果着色器可以包括特定着色器,以关于各种3D格式实现渲染并且生成3D效果。用图2提供关于渲染和3D图像效果的附加细节。
图2提供根据本申请实施例的用户设备处的游戏架构的说明。用户设备200可以下载或以其他方式获得各种引擎或模块210,包括渲染引擎212、游戏引擎214(或其它软件应用)和交互式分析模块216。
渲染引擎212可以将数据提供给先进立体3D渲染系统102中的立体3D渲染引擎202。来自渲染引擎212的输出可以提供给用户设备200的显示屏幕220。显示屏幕可以在用户设备200处呈现所渲染的图像。
可以使用视差测量考虑用户的眼睛的布局生成包括效果加载器和效果着色器的3D图像的不同渲染格式。例如,可以假设人眼水平分离达大约50mm-75mm(作为瞳孔间距)。这样可以使每只眼睛具有当交替闭上一只眼睛同时看着竖直边缘时可以容易看见的其周围世界的略微不同视图。从这两个视图之间的竖直边缘的明显水平移动可以观察到视差。这种视差测量可以与从一组立体相机拍摄的立体图像的偏移相关。该组立体相机之间的可变距离(例如,基线)可以影响特定点在其相应图像平面上的视差测量。随着基线增加,由于右图像与左图像之间的点的坐标差异,视差测量增加。
为了生成用于3D渲染的合成视图,可以利用每个分段片的深度以计算用户设备的屏幕上的相对视差。深度可以由OpenGL内置扩展直接从与处理器关联的缓冲区(例如,GPU缓冲区等)检索,或者可以被捕获为纹理并且解析到效果着色器以用于进一步使用。
在一些示例中,用单渲染模式实现视差计算。在图3中更详细地提供单渲染模式。
游戏引擎214可以从原始游戏开发者接收游戏场景描述数据。该数据可以基于3D图形对象由外部模块提供。3D图形对象可以提供给应用内已经开发并且构建的用户接口(例如,游戏场景描述等)。
交互式分析模块216可以从用户设备200的用户接口接收由一个或多个传感器检测到的交互。用户接口可以在用户设备200处启用用户交互。
显示屏幕220可以响应于由与用户接口关联的用户交互传感器检测到的用户动作提供各种显示格式。用户动作数据可以被检测并且传送到处理器118。
各种引擎或模块210可以充当用于游戏引擎214与显示器220之间的立体或3D渲染的拦截层。各种引擎或模块210可以是不依赖于游戏引擎214的后处理机制,并且可以与任何游戏引擎移植。各种引擎或模块210可以包括两个管线(包括单渲染管线和双渲染管线),以对于平常将不支持3D图像的应用提供3D效果。图3提供关于管线的附加细节。
在一些示例中,该过程可以是可从用户设备外部检测的。例如,可以标识对驱动程序116的一系列调用。这些所标识的调用可以当激活3D效果时与第一调用序列比较,并且当禁用3D效果时与第二序列比较。例如,先进立体3D渲染系统102可以获取诸如深度、纹理和恢复之类的状态(例如,游戏开发者或游戏引擎)。利用先进立体3D渲染系统102的用户设备可以包括对先进立体3D渲染系统102的额外应用编程接口(API)调用,并且可以是通过比较调用序列可检测的。
交互式分析模块216可以将用户数据转译为游戏引擎可读数据。可以经由游戏引擎214从交互式分析模块216获取交互式数据。游戏引擎214可以还包括由立体3D渲染引擎202生成的游戏场景描述中的3D对象。在经由渲染引擎212进行渲染之后,更新后的场景可以呈现在显示屏幕220上。
在一些示例中,可以生成深度图。可以存在各种引擎或模块210可以使用计算机视觉和深度学习以估计来自2D图像的深度以用于深度图的若干方式。例如,深度的生成可以是连续的,或者可以基于特定阈值转换为分层深度图像(LDI)。在一些示例中,可以基于学习未配对的RGB-D图像与任意图像之间的映射以隐式估计所需的深度图(例如,水下、地面或陆地等)的间接深度图估计过程生成深度图。该过程可以基于循环一致性学习和基于密集块的自编码器作为生成器网络的原理。
除了用户的眼睛的布局或分离之外,还可以考虑其它值,包括视距、屏幕分辨率或屏幕对角线长度。这些参数可以基于关于特定用户设备上的最佳视觉效果接收的反馈加以精细调谐,或者可以在运行时从用户设备自身检索(例如,存储在存储器中,与用户标识符关联等)。用于计算这些值的公式随图10提供,以用于说明的目的,而不应用以限制本公开。
在一些示例中,图像修补可以用以改进所合成的视图的质量,特别是在存在较大视差的情况下。可以通过由图像修补方法发起估计过程以计算特定像素周围的像素值(有时称为幻觉)生成图像。图像修补方法过程可以标识特定像素,并且使用深度学习算法用所估计的像素值替换图像的任何部分。修补方法可以对应于传统计算机视觉技术或基于深度学习的神经网络。例如,修补工作可以仅实现于彩色帧上,或者用层深度图像(LDI)的引导加以实现。
为了得到用于计算视差的参数,可以实现观看参数的校准。对于包括前置相机的用户设备,可以通过部署人脸跟踪模块和/或检测模块在运行时获得视距和眼睛分离度值。例如,人脸跟踪模块和/或检测模块可以实现其它人脸的多个样本的数据收集过程(例如,接收多个面孔图像等),训练模块(例如,使用接收到的图像和每个人脸的相应标识符以训练该模块,以检测人脸的标准分量等),并且然后使用该受训练的模块以检测用户的人脸是否存在于前置相机处。用户可以经由前置相机提供他们的信息,以使得模块可以使用受训练的模块检测人脸。人脸跟踪模块和/或检测模块可以在用户的人脸周围添加矩形图像,以估计从用户的眼睛到屏幕的距离。从前置相机确定的测量可以解析到3D渲染管线,以用于更准确的视差计算。对于没有前置相机的用户设备(例如,包括屏幕盖、利用基于放大镜的配件以用于3D观看的设备、透镜镜头等),可以实现一次性校准,以调整相对于与镜头的平行度的交错角度。可以基于距离调整该校准。该校准可以实现为分离的过程或用于图形112的插件。用户可以随时发起或重置校准,并且调整后的参数可以传递到3D渲染管线以用于旋转或移动交错的视图,如图3进一步所示。
在一些示例中,可以实现子模块以从处理后的3D图像消除伪影。子模块可以包括所引导的滤波器模块,以确定纹理和深度对齐和/或边缘保留滤波器模块。在边缘保留滤波器模块中,可以在图像中标识对象的边缘,以确认悬崖深度值区域周围的边缘与纹理图像中的边缘严格对齐(例如,在阈值内)。边缘保留滤波可以借助关于这两个图像的梯度信息以测量跨越像素的相似性。可以标识“强”边缘(例如,梯度值超过梯度阈值等)。在一些示例中,当梯度值差异太大时,系统可以过滤深度的值。这样可以有助于从处理后的3D图像消除伪影并且改进用户设备的图像质量。
图3示出根据本申请实施例的先进立体3D渲染系统。例如,先进立体3D渲染系统102可以提供两种不同的管线:单渲染管线302和双渲染管线304,以用于不同的游戏引擎。单渲染管线302或双渲染管线304的使用可以取决于生成了初始2D图像的游戏引擎。先进立体3D渲染系统102可以生成对于由用户设备进行显示而接收并且提供的不同3D数据格式。先进立体3D渲染系统102可以提供贯穿本公开讨论的各种不同的3D显示格式,包括图4-图8所显示的(例如,浮雕、并排、交错、2*2氢4视图(H4V)格式等)。使用单渲染管线302或双渲染管线304,立体3D渲染引擎可以从初始2D图像生成3D效果。
图4-图8示出根据本申请实施例的与先进立体3D渲染系统102关联的各种图像。使用这些各种图像,可以优化这些图像的用户感知,以从原始2D图像生成3D图像。对于图5-图8,可以从原始帧(a)(左视图)和潜在合成视图(右视图)生成3D图像。
图4示出根据本申请实施例的原始图像400。原始图像可以由游戏引擎生成,并且不为先进立体3D渲染系统102所更改。
图5示出根据本申请实施例的浮雕图像500。浮雕图像500可以使用不同色彩(例如,包括红色和青色等的色度相反的色彩)的滤波器对每只眼睛的图像进行编码。浮雕3D图像包含两个不同滤波的彩色图像,包括左图像502和右图像504(例如,一个代表一只眼睛)。当通过“色彩编码的”“浮雕眼镜”观看时,两个图像502、504中的每一个到达其意图的眼睛,显露集成的立体图像。大脑的视觉皮层可以将这些图像融合到3D场景或构图的感知中。
浮雕图像可以合并用于不同视图的色彩。例如,左边的视图502的绿色和蓝色通道可以与右边的视图504的红色通道合并,以形成浮雕RGB立体帧。
图6示出根据本申请实施例的并排图像600。并排图像可以由左边602和右边604的两个半部组成,其中,用于左眼的整个帧水平缩小以配合帧的左半部,并且用于右眼的整个帧水平缩小以配合帧的右侧。当用户设备接收到该并排3D信号时,它可以拆分每个帧以提取用于每只眼睛的帧,并且然后使用放大算法将单独帧重新缩放到全高清(HD)分辨率。用户设备可以然后以与由用户佩戴的眼镜(例如,主动快门3D眼镜等)同步以观看3D图像的帧顺序方式交替显示放大的单独帧。
并排图像600可以缩小。例如,系统可以水平缩小左视图602和右视图604,并且将这两个视图放置在帧中拼接在一起的并排图像中。
图7示出根据本申请实施例的交错图像700。可以使用空间或时间交错生成交错图像700,以向两只眼睛发送不同的图像。例如,时间交错可以在时间上交替将图像递送到左眼和右眼。空间交错可以同时将偶数像素行递送到一只眼睛,并且将奇数行递送到另一只眼睛。
相似于图6中的并排图像600,交错图像700也可以缩小。例如,左视图和右视图可以均水平缩小,但不是并排拼接,这两个视图中的像素可以列式交错,以形成交错视图格式的图像。
图8示出根据本申请实施例的2*2H4V格式图像800(例如,四元)。2*2H4V格式800可以按MPEG-4/AVC H.264格式水平对应于两个图像并且竖向对应于两个图像。H.264(例如,MPEG-4Part 10或MPEG-4先进视频编码(AVC)等)可以对应于利用块定向的基于运动估计的编解码器的视频压缩格式。在一些示例中,三个帧关于原始帧(左上图像)得以合成,并且以二乘二格式拼接在一起。
返回图3,可以实现单渲染管线302。例如,单渲染管线302可以接收(例如,来自游戏开发者或游戏引擎的)一个或多个校准参数310和游戏输入312(例如,纹理、深度等)。单渲染管线302可以发起视差计算、3D翘曲和后处理(使用深度滤波)。单渲染管线302的输出可以提供于一个或两个图像中,并且渲染到用户设备的显示屏幕上。
在一些示例中,DIBR可以用以从纹理信息与关联深度信息合成场景的虚拟视图。例如,合成方法可以通过以下操作理解:首先将原始图像平面上的点翘曲到3D世界坐标,并且然后将真实3D点反向投影到位于由用户在接收机侧定义的所需观看位置处的虚拟图像平面上。出于DIBR目的,假设所有相机校准数据、量化参数和会聚点的3D位置作为元数据发送,并且在接收机侧是已知的。
在一些示例中,浮雕可以用以合成第二视图。浮雕图像可以对应于通过使用不同色彩(例如,包括红色和青色等的色度相反的色彩)的滤波器对每只眼睛的图像进行编码达成的立体3D效果。图4提供初始2D图像,并且图5提供说明性立体图像,以用于说明性目的。浮雕3D图像包含两个不同滤波的彩色图像,一个代表一只眼睛。当通过“色彩编码的”“浮雕眼镜”观看时,两个图像中的每一个到达其意图的眼睛,显露集成的立体图像。大脑的视觉皮层将其融合到三维场景或构图的感知中。在说明性示例中,输入图像的红色通道用作左视图,并且绿色和蓝色通道用作右视图,然而色彩的任何迭代可以实现于各种实施例中。
也可以基于最终提供输出3D图像的用户设备实现双渲染管线304。例如,双渲染管线304可以接收游戏输入312(例如,纹理、深度等)。双渲染管线304可以确定初始像机位置,设置变换参数,并且移动虚拟像机的初始像机位置(使用深度滤波)。双渲染管线304的输出可以提供于一个或两个图像中,并且渲染到用户设备的显示屏幕上。
例如,可以移动openGL中的虚拟像机,以生成附加视图。为了移置相机,高级立体3D渲染系统102可以修改包含相机位置和由着色器模块使用的任何依赖性变换的统一缓冲区。可以在不访问应用(例如,电子游戏)的源代码的情况下应用该过程。在一些示例中,高级立体3D渲染系统可以对统一缓冲区进行逆向工程,并且创建启发式以标识它们。启发式可以在游戏引擎、应用之间并且或许甚至使用相同引擎的应用之间变化。
在一些示例中,可以修改包含相机位置数据的统一缓冲区。例如,在3D游戏应用中,虚拟像机的参数可以存储在游戏引擎的统一缓冲区中。统一缓冲区可以由先进立体3D渲染系统102查询并且搜索。使用搜索查询的输出,参数可以由OpenGL着色器使用。参数可以作为统一缓冲区传递到着色器,其为OpenGL中指定的输入/输出参数。
双渲染管线304可以不生成另一视图。例如,如图2所示,多个视图可以(例如,基于鉴于缺失数据的视差的查询搜索或请求)在立体3D渲染引擎202处从游戏引擎214接收,并且用以生成视图。在一些示例中,双渲染管线304可能比单渲染管线302消耗更多的功率,但是可以对于用户提供更好的视觉质量。
在一些示例中,多视图捕获系统和渲染系统二者利用相同的3D坐标,以使得捕获系统的真实像机与3D显示系统的虚拟像机之间的相对位置得以协调,以用于进一步处理。基于几何关系,渲染过程链可以遵循单渲染管线302或双渲染管线304的不同步骤。
图9示出根据本申请实施例向对应用户设备提供来自数据格式的每种图像类型。这些用户设备中的每一个可以显示3D效果。例如,(例如,图5所示的)浮雕图像可以提供给合并浮雕眼镜的用户设备。对于该数据格式,用户设备可以提供两个彩色图像中的每一个,以对应于色彩意图的眼睛,以创建3D效果(例如,屏幕的左侧的左图像和屏幕的右侧的右图像)。在另一示例中,(例如,图6和图7分别所示的)并排或交错图像可以提供给合并偏振屏幕和/或眼镜的用户设备。在另一示例中,(例如,图8所示的)逐帧数据格式可以提供给合并快门眼镜和高刷新率屏幕的用户设备。
图10提供根据本申请实施例的说明性视差计算。例如,单元可以按像素测量,以确定视差。视差可以与深度成反比,其中,x1和x2分别是来自右视图和左视图的两个像素,d=x1-x2是视差,f是视距,b是瞳孔间距1002。
在一些示例中,也可以计算视差。可以使用以下公式。
其中,“pixToInch”定义从像素数量计算的英寸数值,“screenDiag”定义屏幕对角线距离的英寸数值,“screenSize”定义屏幕的矩形,“x”定义以英寸为单位的屏幕宽度,并且“y”定义以英寸为单位的屏幕高度。
其中,“texToGL”定义从图形坐标到纹理坐标的变换,“screenSize”定义以英寸为单位的屏幕尺寸,“x”定义所述宽度,并且“y”定义所述高度。
其中,“sceenDisparity”定义当在屏幕上显示时的像素偏移距离(例如,以英寸为单位),“depthFeel”定义当视图3D显示时的感知距离(例如,以英寸为单位),“eyeSep”定义两只眼睛的中心之间的距离(例如,以英寸为单位),并且“viewDist”定义从眼睛到屏幕的距离(例如,以英寸为单位)。
图11示出由计算组件1100执行以用于提供立体渲染的示例迭代过程。计算组件1100可以是例如服务器计算机、控制器或能够处理数据的任何其它相似计算组件。在图11的示例实现中,计算组件1100包括硬件处理器1102和机器可读存储介质1104。在一些实施例中,计算组件1100可以是对应于图1的先进立体3D渲染系统102的系统的实施例。
硬件处理器1102可以是一个或多个中央处理单元(CPU)、基于半导体的微处理器和/或适合于检索并且执行机器可读存储介质1104中存储的指令的其它硬件设备。硬件处理器1102可以取得、解码并且执行指令(例如,指令1106-1112),以控制过程或操作以用于在运行时期间优化系统。作为对检索并且执行指令的替代或补充,硬件处理器1102可以包括包含用于执行一个或多个指令的功能的电子组件的一个或多个电子电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其它电子电路)。
机器可读存储介质(例如,机器可读存储介质1104)可以是包含或存储可执行指令的任何电子、磁性、光学或其它物理存储设备。因此,机器可读存储介质1104可以是例如随机存取存储器(RAM)、非易失性RAM(NVRAM)、电可擦除可编程只读存储器(EEPROM)、存储设备、光盘等。在一些实施例中,机器可读存储介质1104可以是非暂态存储介质,其中,术语“非暂态”不涵盖暂态传播信号。如下文详细描述的那样,机器可读存储介质1104可以用可执行指令(例如,指令1106-1112)加以编码。
硬件处理器1102可以执行指令1106以接收渲染参数。例如,硬件处理器1102可以接收作为拦截层中的修改后的OpenGL管线的部分提供给原始应用的渲染参数。在一些示例中,原始应用可以是二维(2D)游戏。
在一些示例中,渲染参数定义单渲染模式或双渲染模式。单渲染模式可以发起视差计算、3D翘曲以及后处理对齐和修补,以确定左输出和右输出。双渲染模式可以确定初始像机位置,设置变换参数,并且移动初始像机位置以确定左输出和右输出。
硬件处理器1102可以执行指令1108以生成应用调用。例如,硬件处理器1102可以生成对效果加载器和效果着色器的应用调用请求。在一些示例中,效果加载器包括3D对象的3D库。
硬件处理器1102可以执行指令1110以接收左和/或右输出。例如,硬件处理器1102可以响应于应用调用请求,接收对左输出和右输出的应用调用响应。在一些示例中,使用视差测量考虑用户的眼睛的布局生成应用调用响应。
硬件处理器1102可以执行指令1112以发送输出。例如,硬件处理器1102可以将左输出和右输出发送到OpenGL应用编程接口(API),以在原始应用中创建三维(3D)渲染图像。
在一些示例中,渲染参数定义单渲染模式或双渲染模式。在一些示例中,单渲染模式发起视差计算、3D翘曲以及后处理对齐和修补,以确定左输出和右输出。在一些示例中,双渲染模式确定初始像机位置,设置变换参数,并且移动初始像机位置以确定左输出和右输出。
在一些示例中,原始应用是二维(2D)游戏。
在一些示例中,效果加载器包括3D对象的3D库。
在一些示例中,使用视差测量考虑用户的眼睛的布局生成应用调用响应。
图12描绘可以实现本文描述的各种实施例的示例计算机系统1200的框图。计算机系统1200包括:总线1202或用于传达信息的其它通信机构;一个或多个硬件处理器1204,其与总线1202联接,以用于处理信息。硬件处理器1204可以是例如一个或多个通用微处理器。
计算机系统1200还包括主存储器1206(例如,随机存取存储器(RAM)、缓存和/或其它动态存储设备),主存储器1206联接到总线1202,以用于存储信息和待由处理器1204执行的指令。主存储器1206也可以用于在执行待由处理器1204执行的指令期间存储临时变量或其它中间信息。这样的指令当存储在处理器1204可存取的存储介质中时将计算机系统1200呈现为定制为执行指令中指定的操作的专用机器。
计算机系统1200还包括只读存储器(ROM)1208或其它静态存储设备,只读存储器(ROM)1208或其它静态存储设备联接到总线1202,以用于存储存储静态信息和用于处理器1204的指令。存储设备1210(例如,磁盘、光盘或USB拇指驱动器(闪存驱动器)等)被提供并且联接到总线1202以用于存储信息和指令。
计算机系统1200可以经由总线1202联接到显示器1212(例如,液晶显示器(LCD)(或触摸屏)),以用于向计算机用户显示信息。包括字母数字和其它键的输入设备1214联接到总线1202,以用于向处理器1204传达信息和命令选择。另一类型的用户输入设备是光标控制件1216(例如,鼠标、轨迹球或光标方向键),以用于向处理器1204传达方向信息和命令选择并且用于控制显示器1212上的光标移动。在一些实施例中,可以经由在没有光标的触摸屏上接收触摸实现与光标控制件相同的方向信息和命令选择。
计算系统1200可以包括用户接口模块,以实现可以在海量存储设备中存储为由计算设备执行的可执行软件代码的GUI。通过示例的方式,该模块和其他模块可以包括组件(例如,软件组件、面向对象的软件组件、类组件和任务组件)、进程、函数、属性、过程、子例程、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、数组和变量。
通常,本文所使用的词语“组件”、“引擎”、“系统”、“数据库”、“数据存储”等可以指代硬件或固件中体现的逻辑,或者指代可能具有以编程语言(例如,比如,Java、C或C++)编写的入口点和出口点的软件指令的集合。软件组件可以被编译并且链接到可执行程序中,安装在动态链接库中,或者可以用解释性编程语言(例如,比如,BASIC,Perl或Python)加以编写。应理解,软件组件可以是可从其他组件或从自身调用的,和/或可以响应于检测到的事件或中断被调用。被配置用于在计算设备上执行的软件组件可以在计算机可读介质(例如,致密盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质)上得以提供,或者可以提供为数字下载(并且可以初始地以在执行之前需要安装、解压或解密的压缩或可安装的格式被存储)。该软件代码可以部分或全部存储在执行计算设备的存储设备上,以用于由计算设备执行。软件指令可以嵌入固件(例如,EPROM)中。应进一步理解,硬件组件可以包括所连接的逻辑单元(例如,门和翻转触发器),和/或可以包括可编程单元(例如,可编程门阵列或处理器)。
计算机系统1200可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或与计算机系统1200的组合将计算机系统1200产生或编程为专用机器的程序逻辑实现本文描述的技术。根据一个实施例,响应于处理器1204执行主存储器1206中包含的一个或多个指令的一个或多个序列,计算机系统1200执行本文的技术。这些指令可以从另一存储介质(例如,存储设备1210)读入主存储器1206中。执行主存储器1206中包含的指令序列使处理器1204执行本文描述的处理步骤。在替选实施例中,可以代替或结合软件指令使用硬连线电路。
本文所使用的术语“非暂态介质”和相似术语指代存储使机器以特定方式进行操作的数据和/或指令的任何介质。这些非暂态介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘(例如,存储设备1210)。易失性介质包括动态存储器(例如,主存储器1206)。非暂态介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、任何带有孔图案的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储芯片或盒式磁带及其联网版本。
非暂态介质区别于传输介质,但是可以与之结合使用。传输介质参与在非暂态介质之间传送信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线1202的导线。传输介质也可以采取声波或光波(例如,在无线电波和红外数据通信期间生成的波)的形式。
计算机系统1200还包括通信接口1218,通信接口1218联接到总线1202。通信接口1218提供双向数据通信,双向数据通信耦合到连接到一个或多个本地网络的一个或多个网络链路。例如,通信接口1218可以是综合业务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供对于对应类型的电话线的数据通信连接。作为另一示例,通信接口1218可以是局域网(LAN)卡,以提供对兼容LAN(或用于与WAN进行通信的WAN组件)的数据通信连接。也可以实现无线链路。在任何这样的实现中,通信接口1218发送并且接收携带表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
网络链路典型地通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路可以通过本地网络对主机计算机或对由互联网服务提供商(ISP)操作的数据设备提供连接。ISP进而通过现在一般称为“互联网”的全球分组数据通信网络提供数据通信服务。本地网络和互联网皆使用携带数字数据流的电信号、电磁信号或光信号。携带数字数据去往以及来自计算机系统1200的通过各种网络的信号以及网络链路上并且通过通信接口1218的信号是传输介质的示例形式。
计算机系统1200可以通过网络、网络链路和通信接口1218发送消息并且接收包括程序代码的数据。在互联网示例中,服务器可以通过互联网、ISP、本地网络和通信接口1218发送所请求的用于应用程序的代码。
接收到的代码可以在其被接收到时,由处理器1204执行,和/或存储在存储设备1210或其它非易失性存储中以用于稍后执行。
在前面章节中描述的过程、方法和算法中的每一个可以体现在由包括计算机硬件的一个或多个计算机系统或计算机处理器执行的代码组件中,并且完全或部分由其自动化。一个或多个计算机系统或计算机处理器也可以进行操作,以支持执行“云计算”环境中的相关操作或执行为“软件即服务”(SaaS)。可以在专用电路中部分或全部实现过程和算法。上述各种特征和过程可以彼此独立地使用,或者可以通过各种方式组合。不同的组合和子组合旨在落入本公开的范围内,并且特定方法或过程块在一些实现中可以省略。本文描述的方法和过程也不限于任何特定序列,并且与其相关的块或状态可以通过适当的其它顺序执行,或者可以并行执行,或者以某种其它方式执行。块或状态可以添加到或移除自所公开的示例实施例。特定操作或过程的执行可以分布在计算机系统或计算机处理器之间,不仅驻留在单个机器内,而且部署跨越数个机器。
如本文所使用的那样,可以利用任何形式的硬件、软件或其组合实现电路。例如,可以实现一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑组件、软件例程或其他机制,以组成电路。在实现中,本文描述的各种电路可以实现为分立式电路,或者所描述的功能和特征可以部分或全部共享于一个或多个电路之间。即使各种特征或功能的要素可以单独描述或要求保护为分离的电路,这些特征和功能也可以共享于一个或多个公共电路之间,并且该描述不应要求或暗示需要分离的电路以实现这些特征或功能。当全部或部分使用软件实现电路时,该软件可以实现为操作于能够执行关于其所描述的功能的计算或处理系统(例如,计算机系统1200)。
如本文所使用的那样,可以在要么包括性要么排除性的意义上解释术语“或”。此外,以单数描述资源、操作或结构不应解读为排除复数。条件语言(例如,“能够(can)”、“可以(could)”、“可能(might)”或“可(may)”等)除非另有明确说明或者在所使用的上下文内以其他方式加以理解,否则通常旨在传达特定实施例包括而其他实施例不包括特定特征、要素和/或步骤。
除非另有明确说明,否则本文中使用的术语和短语及其变型应解释为开放式的而非限制性的。诸如“传统”、“常规”、“正常”、“标准”、“已知”之类形容词以及相似含义的术语不应解释为将所描述的项目限制为给定时间段或截至给定时间可用的项目,而反之应解读为涵盖现在或将来任何时间可能可用或已知的传统、常规、正常或标准技术。一些实例中的拓展词语和短语(例如,“一个或多个”、“至少”、“但不限于”或其他类似短语)的存在性不应解读为意指在这些拓展短语可以缺失的实例中意图或需要更窄的情况。
Claims (20)
1.一种计算机实现的方法,包括:
接收作为拦截层中的修改后的OpenGL管线的部分提供给原始应用的渲染参数;
生成对效果加载器和效果着色器的应用调用请求;
响应于所述应用调用请求,接收对左输出和右输出的应用调用响应;以及
将所述左输出和所述右输出发送到OpenGL应用编程接口(API),以在所述原始应用中创建三维(3D)渲染图像。
2.如权利要求1所述的计算机实现的方法,其中,所述渲染参数定义单渲染模式或双渲染模式。
3.如权利要求2所述的计算机实现的方法,其中,所述单渲染模式发起视差计算、3D翘曲以及后处理对齐和修补,以确定所述左输出和所述右输出。
4.如权利要求2所述的计算机实现的方法,其中,所述双渲染模式确定初始像机位置,设置变换参数,并且移动所述初始像机位置以确定所述左输出和所述右输出。
5.如权利要求1所述的计算机实现的方法,其中,所述原始应用是二维(2D)游戏。
6.如权利要求1所述的计算机实现的方法,其中,所述效果加载器包括3D对象的3D库。
7.如权利要求1所述的计算机实现的方法,其中,使用视差测量考虑用户的眼睛的布局生成所述应用调用响应。
8.一种用于生成三维(3D)渲染图像的计算机系统,包括:
存储器;和
一个或多个处理器,所述一个或多个处理器配置为执行所述存储器中存储的机器可读指令以用于执行方法,所述方法包括:
接收作为拦截层中的修改后的OpenGL管线的部分提供给原始应用的渲染参数;
生成对效果加载器和效果着色器的应用调用请求;
响应于所述应用调用请求,接收对左输出和右输出的应用调用响应;以及
将所述左输出和所述右输出发送到OpenGL应用编程接口(API),以在所述原始应用中创建3D渲染图像。
9.如权利要求8所述的计算机系统,其中,所述渲染参数定义单渲染模式或双渲染模式。
10.如权利要求9所述的计算机系统,其中,所述单渲染模式发起视差计算、3D翘曲以及后处理对齐和修补,以确定所述左输出和所述右输出。
11.如权利要求9所述的计算机系统,其中,所述双渲染模式确定初始像机位置,设置变换参数,并且移动所述初始像机位置以确定所述左输出和所述右输出。
12.如权利要求8所述的计算机系统,其中,所述原始应用是二维(2D)游戏。
13.如权利要求8所述的计算机系统,其中,所述效果加载器包括3D对象的3D库。
14.如权利要求8所述的计算机系统,其中,所述应用调用响应是使用视差测量考虑用户的眼睛的布局生成的。
15.一种非暂态计算机可读存储介质,其存储能够由一个或多个处理器执行的多个指令,所述多个指令当由所述一个或多个处理器执行时使所述一个或多个处理器:
接收作为拦截层中的修改后的OpenGL管线的部分提供给原始应用的渲染参数;
生成对效果加载器和效果着色器的应用调用请求;
响应于所述应用调用请求,接收对左输出和右输出的应用调用响应;以及
将所述左输出和所述右输出发送到OpenGL应用编程接口(API),以在所述原始应用中创建3D渲染图像。
16.如权利要求15所述的计算机可读存储介质,其中,所述渲染参数定义单渲染模式或双渲染模式。
17.如权利要求16所述的计算机可读存储介质,其中,所述单渲染模式发起视差计算、3D翘曲以及后处理对齐和修补,以确定所述左输出和所述右输出。
18.如权利要求16所述的计算机可读存储介质,其中,所述双渲染模式确定初始像机位置,设置变换参数,并且移动所述初始像机位置以确定所述左输出和所述右输出。
19.如权利要求15所述的计算机可读存储介质,其中,所述原始应用是二维(2D)游戏。
20.如权利要求15所述的计算机可读存储介质,其中,所述效果加载器包括3D对象的3D库。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/019240 WO2021081568A2 (en) | 2021-02-23 | 2021-02-23 | Advanced stereoscopic rendering |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116982086A true CN116982086A (zh) | 2023-10-31 |
Family
ID=75620911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180093640.XA Pending CN116982086A (zh) | 2021-02-23 | 2021-02-23 | 先进立体渲染 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230381646A1 (zh) |
CN (1) | CN116982086A (zh) |
WO (1) | WO2021081568A2 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259651B (zh) * | 2021-07-07 | 2021-10-15 | 江西科骏实业有限公司 | 立体显示方法、设备、介质及计算机程序产品 |
EP4328657A1 (en) * | 2022-08-25 | 2024-02-28 | ACER Incorporated | Method and computer device for 3d scene generation |
CN117392301B (zh) * | 2023-11-24 | 2024-03-01 | 淘宝(中国)软件有限公司 | 图形渲染方法、系统、装置、电子设备及计算机存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020154214A1 (en) * | 2000-11-02 | 2002-10-24 | Laurent Scallie | Virtual reality game system using pseudo 3D display driver |
GB201709199D0 (en) * | 2017-06-09 | 2017-07-26 | Delamont Dean Lindsay | IR mixed reality and augmented reality gaming system |
-
2021
- 2021-02-23 WO PCT/US2021/019240 patent/WO2021081568A2/en active Application Filing
- 2021-02-23 CN CN202180093640.XA patent/CN116982086A/zh active Pending
-
2023
- 2023-08-11 US US18/233,056 patent/US20230381646A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021081568A3 (en) | 2021-06-17 |
US20230381646A1 (en) | 2023-11-30 |
WO2021081568A2 (en) | 2021-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230377183A1 (en) | Depth-Aware Photo Editing | |
US9843776B2 (en) | Multi-perspective stereoscopy from light fields | |
RU2431938C2 (ru) | Эффективное кодирование множества видов | |
CN107430782B (zh) | 用于利用深度信息的全视差压缩光场合成的方法 | |
CN110999285B (zh) | 基于纹理图与网格的3d图像信息的处理 | |
US9031356B2 (en) | Applying perceptually correct 3D film noise | |
CN116982086A (zh) | 先进立体渲染 | |
US8611642B2 (en) | Forming a steroscopic image using range map | |
US9165401B1 (en) | Multi-perspective stereoscopy from light fields | |
KR20160135660A (ko) | 헤드 마운트 디스플레이를 위한 입체 영상을 제공하는 방법 및 장치 | |
KR20110090958A (ko) | 이미지 속성들에 대한 오클루젼 데이터의 생성 | |
WO2014052437A1 (en) | Encoding images using a 3d mesh of polygons and corresponding textures | |
WO2012037685A1 (en) | Generating 3d stereoscopic content from monoscopic video content | |
US8368690B1 (en) | Calibrator for autostereoscopic image display | |
JP2006211291A (ja) | 立体視可能な表示装置および方法 | |
WO2012094076A9 (en) | Morphological anti-aliasing (mlaa) of a re-projection of a two-dimensional image | |
Mao et al. | Expansion hole filling in depth-image-based rendering using graph-based interpolation | |
US20230283759A1 (en) | System and method for presenting three-dimensional content | |
US20180249145A1 (en) | Reducing View Transitions Artifacts In Automultiscopic Displays | |
US8619094B2 (en) | Morphological anti-aliasing (MLAA) of a re-projection of a two-dimensional image | |
EP4252412A1 (en) | Three-dimensional (3d) facial feature tracking for autostereoscopic telepresence systems | |
US11936840B1 (en) | Perspective based green screening | |
Vandame et al. | Pipeline for real-time video view synthesis | |
CN113706597B (zh) | 视频帧图像处理方法及电子设备 | |
US11688124B2 (en) | Methods and apparatus rendering images using point clouds representing one or more objects |
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 |