CN109410306B - 图像渲染方法、装置、存储介质、设备和虚拟现实系统 - Google Patents
图像渲染方法、装置、存储介质、设备和虚拟现实系统 Download PDFInfo
- Publication number
- CN109410306B CN109410306B CN201811648447.4A CN201811648447A CN109410306B CN 109410306 B CN109410306 B CN 109410306B CN 201811648447 A CN201811648447 A CN 201811648447A CN 109410306 B CN109410306 B CN 109410306B
- Authority
- CN
- China
- Prior art keywords
- rendering
- image
- rendered
- images
- target
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 446
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000011159 matrix material Substances 0.000 claims description 42
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种图像渲染方法、装置、存储介质、设备和虚拟现实系统。该方法包括:确定每帧渲染数据包含的待渲染图像的单帧渲染数量,所述单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;根据所述单帧渲染数量和所述屏幕数量,从所有待渲染图像中确定目标渲染图像;按照所述单帧渲染数量,分别渲染所述目标渲染图像。通过上述技术方案,实现了在流畅显示虚拟现实画面的基础上,降低虚拟现实系统的系统消耗,并提高图像渲染的帧率,从而提高虚拟现实系统的响应速度。
Description
技术领域
本发明实施例涉及图像处理技术,尤其涉及一种图像渲染方法、装置、存储介质、设备和虚拟现实系统。
背景技术
诸如CAVE(Cave Automatic Virtual Environment)的基于投影的虚拟现实VR系统,由3个以上的投影墙(显示屏幕)组成一个立方体结构,通过将渲染后的待显示图像投影在各个投影墙上,为用户构建一个高分辨率、完全沉浸式的立体虚拟环境。
目前,上述VR系统中图像渲染方式为并行渲染与屏幕数量相当的帧数的待显示图像。例如VR系统中有4个显示屏幕,那么该系统会在一帧图像渲染操作(对应一帧渲染图像)中同时进行4个待显示图像的渲染及投影,构成一个显示画面。那么对于总共有60个显示画面的场景,就需要总计240帧图像渲染的系统消耗。这样的图像渲染方式虽然能够显示更多的显示画面,但是需要更多的系统消耗,对VR系统的硬件配置要求较高;而且上述图像渲染方式的帧率较低,会影响VR系统的响应速度。
发明内容
本发明实施例提供一种图像渲染方法、装置、存储介质、设备和虚拟现实系统,以实现在流畅显示虚拟现实画面的基础上,降低虚拟现实系统的系统消耗,并提高图像渲染的帧率,从而提高虚拟现实系统的响应速度。
第一方面,本发明实施例提供了一种图像渲染方法,包括:
确定每帧渲染数据包含的待渲染图像的单帧渲染数量,所述单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;
根据所述单帧渲染数量和所述屏幕数量,从所有待渲染图像中确定目标渲染图像;
按照所述单帧渲染数量,分别渲染所述目标渲染图像。
可选地,所述设定数量阈值根据人眼视觉延时、单帧渲染时长和所述屏幕数量确定。
可选地,根据所述单帧渲染数量和所述屏幕数量,从所有待渲染图像中确定目标渲染图像包括:
根据所述屏幕数量和所述单帧渲染数量,确定间隔图像数量;
按照所有待渲染图像中各个所述待渲染图像的第一图像排序,将所有待渲染图像中的前单帧渲染数量个所述待渲染图像确定为第一目标渲染图像;
以所述第一目标渲染图像中最后一个所述待渲染图像为起始图像,按照所述第一图像排序,每间隔所述间隔图像数量,从所有待渲染图像中选择所述单帧渲染数量的所述待渲染图像,作为所述目标渲染图像。
可选地,按照所述单帧渲染数量,分别渲染所述目标渲染图像包括:
按照所述目标渲染图像中各个所述待渲染图像的第二图像排序,选取所述单帧渲染数量的所述待渲染图像作为当前渲染图像,并按照各个与所述显示屏幕对应的渲染窗口的窗口排序,选取所有渲染窗口中所述单帧渲染数量的所述渲染窗口作为当前窗口;
获取当前窗口的模型视图矩阵,并基于图像渲染算法和所述模型视图矩阵渲染当前渲染图像,以将渲染后的当前渲染图像投影至当前窗口;
按照所述第二图像排序,将当前渲染图像更新为当前渲染图像之后的所述单帧渲染数量的所述待渲染图像,及按照所述窗口排序,将当前窗口更新为当前窗口之后的所述单帧渲染数量的所述渲染窗口,并返回执行获取所述当前窗口的模型视图矩阵,并基于图像渲染算法和所述模型视图矩阵渲染当前渲染图像的操作。
进一步地,获取当前窗口的模型视图矩阵包括:
根据当前窗口的坐标值和用户的坐标值,确定当前窗口的所述模型视图矩阵。
可选地,在所述屏幕数量为4时,所述单帧渲染数量为1。
第二方面,本发明实施例还提供了一种图像渲染装置,该装置包括:
单帧渲染数量确定模块,用于确定每帧渲染数据包含的待渲染图像的单帧渲染数量,所述单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;
目标渲染图像确定模块,用于根据所述单帧渲染数量和所述屏幕数量,从所有待渲染图像中确定目标渲染图像;
图像渲染模块,用于按照所述单帧渲染数量,分别渲染所述目标渲染图像。
可选地,所述设定数量阈值根据人眼视觉延时、单帧渲染时长和所述屏幕数量确定。
可选地,目标渲染图像确定模块具体用于:
根据所述屏幕数量和所述单帧渲染数量,确定间隔图像数量;
按照所有待渲染图像中各个所述待渲染图像的第一图像排序,将所有待渲染图像中的前单帧渲染数量个所述待渲染图像确定为第一目标渲染图像;
以所述第一目标渲染图像中最后一个所述待渲染图像为起始图像,按照所述第一图像排序,每间隔所述间隔图像数量,从所有待渲染图像中选择所述单帧渲染数量的所述待渲染图像,作为所述目标渲染图像。
可选地,图像渲染模块具体用于:
按照所述目标渲染图像中各个所述待渲染图像的第二图像排序,选取所述单帧渲染数量的所述待渲染图像作为当前渲染图像,并按照各个与所述显示屏幕对应的渲染窗口的窗口排序,选取所有渲染窗口中所述单帧渲染数量的所述渲染窗口作为当前窗口;
获取当前窗口的模型视图矩阵,并基于图像渲染算法和所述模型视图矩阵渲染当前渲染图像,以将渲染后的当前渲染图像投影至当前窗口;
按照所述第二图像排序,将当前渲染图像更新为当前渲染图像之后的所述单帧渲染数量的所述待渲染图像,及按照所述窗口排序,将当前窗口更新为当前窗口之后的所述单帧渲染数量的所述渲染窗口,并返回执行获取所述当前窗口的模型视图矩阵,并基于图像渲染算法和所述模型视图矩阵渲染当前渲染图像的操作。
进一步地,图像渲染模块还具体用于:
根据当前窗口的坐标值和用户的坐标值,确定当前窗口的所述模型视图矩阵。
可选地,在所述屏幕数量为4时,所述单帧渲染数量为1。
第三方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的图像渲染方法。
第四方面,本发明实施例还提供了一种控制设备,该控制设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的图像渲染方法。
第五方面,本发明实施例还提供了一种虚拟显示系统,该系统包括:至少两个显示屏幕,与各个所述显示屏幕通信连接的投影设备,以及与所述投影设备通信连接的控制设备,所述控制设备采用本发明实施例所提供的控制设备。
本发明实施例通过确定每帧渲染数据包含的待渲染图像的单帧渲染数量,单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;根据单帧渲染数量和屏幕数量,从所有待渲染图像中确定目标渲染图像;按照单帧渲染数量,分别渲染目标渲染图像。减少了所有待渲染图像中用户视觉察觉不到的待渲染图像,从而在保证流畅显示虚拟显示画面的基础上,减少了单帧渲染操作中渲染的图像数量,缩短了渲染一帧数据所用时间,提高了图像渲染的帧率,并降低了虚拟现实系统的系统消耗。
附图说明
图1是本发明实施例一中的一种图像渲染方法的流程图;
图2是本发明实施例二中的一种图像渲染方法的流程图;
图3是本发明实施例二中的一种图像渲染实现过程的过程示意图;
图4是本发明实施例三中的一种图像渲染装置的结构示意图;
图5是本发明实施例五中的一种控制设备的结构示意图;
图6是本发明实施例六中的一种虚拟现实系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例提供的图像渲染方法可适用于具有多个显示屏幕的图像渲染的情况。该方法可以由图像渲染装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在具有图像渲染功能的控制设备中,例如笔记本电脑、台式电脑或服务器等。参见图1,本实施例的方法具体包括如下步骤:
S110、确定每帧渲染数据包含的待渲染图像的单帧渲染数量,单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值。
其中,每帧渲染数据是指图像渲染过程中,一个渲染单位(一帧)所包含的图像数据。单帧渲染数量是指一帧渲染数据所包含的需要渲染的图像(即待渲染图像)的数量。屏幕数量是指图像渲染应用场景中包含的显示屏幕的数量,其用于限定单帧渲染数量的上限。设定数量阈值是指预先设定的图像数量的数值,其用于限定单帧渲染数量的下限。取值低于该下限的单帧渲染数量会造成观看卡顿的现象。该设定数量阈值可以人为经验设定,例如实际应用时可试验地调整该数值,直至人眼察觉不到卡顿和不流畅。
示例性地,设定数量阈值根据人眼视觉延时、单帧渲染时长和屏幕数量确定。这里单帧渲染时长是指渲染一帧渲染数据所用的时间。本实施例中单帧渲染时长未进行调整,例如与CAVE系统中的单帧渲染时长保持一致。具体实施时,设定数量阈值除了实验性获得之外,还可以根据人眼视觉延时、单帧渲染时长和屏幕数量来计算确定。例如,可以按照[屏幕数量/(人眼视觉延时/单帧渲染时长)]计算获得一个商,之后对该商向上取整,便可得到设定数量阈值。需要注意的是人眼视觉延时和单帧渲染时长需要保持相同的计算单位,比如都采用毫秒。这样设置的好处在于能够快速且准确地确定设定数量阈值的取值。
具体地,为了降低配置图像渲染装置的控制设备的系统消耗,本发明实施例在现有图像渲染应用场景(如CAVE系统中的图像渲染)的基础上,减少一次图像渲染操作中并行渲染的图像数量,故单帧渲染数量的取值应当小于屏幕数量。同时,需要保证减少图像数量之后,不影响渲染图像的显示流畅度,即用户观看时察觉不到卡顿现象,故单帧渲染数量的取值应当大于或等于设定数量阈值。具体实施时,从图像渲染应用场景包含的屏幕数量和设定数量阈值所限定的数值范围,即[设定数量阈值,屏幕数量)中任意确定一个正整数,作为单帧渲染数据的单帧渲染数量。
需要说明的是,单帧渲染数量在区间[设定数量阈值,屏幕数量)中任选一个正整数,均可以达到降低系统消耗和提高渲染帧率的效果,但是当单帧渲染数量取值为设定数量阈值时,其可以在平衡系统消耗和用户观看流畅度之间达到最佳效果。
示例性地,在屏幕数量为4时,单帧渲染数量为1。如果图像渲染应用场景中有4个显示屏幕,那么在保持单帧渲染时长不变的情况下,单帧渲染数量取值为1可以达到上述最佳效果。
S120、根据单帧渲染数量和屏幕数量,从所有待渲染图像中确定目标渲染图像。
其中,目标渲染图像是指一个图像渲染应用场景中,减去一些待渲染图像后剩余的需要渲染的待渲染图像。
具体地,当确定单帧渲染数量之后,就需要从所有的待渲染图像中选取出目标渲染图像。具体实施时,根据单帧渲染数量和屏幕数量可以获知几次渲染可以更新一次画面,然后用所有待渲染图像的数量除以更新一次画面对应的渲染次数,便可得到目标渲染图像的总数量。之后,便可按照预先设定的图像选取策略从所有待渲染图像中选择总数量的待渲染图像作为目标渲染图像。这里的图像选取策略是与待渲染图像有关的,例如,如果各个待渲染图像对应于从不同角度拍摄的物品照片,那么图像选取策略就需要考虑图像拍摄角度与显示屏幕摆放角度之间的关系;如果待渲染图像与拍摄角度无关,那么图像选取策略便可以是均匀选取等。
举例而言,总共有240个待渲染图像,4个屏幕,单帧渲染数量为1,那么目标渲染图像的总数量便是60个。对于与角度有关的图像选取策略,第一显示屏幕需要对应第一拍摄角度的图像,第二显示屏幕需要对应第二拍摄角度的图像,第三显示屏幕需要对应第三拍摄角度的图像,第四显示屏幕需要对应第四拍摄角度的图像,上述240个待渲染图像按照第一拍摄角度~第四拍摄角度的顺序循环排序。这样选择第一个待渲染图像为第一个目标渲染图像之后,需要选择第六个待渲染图像为第二个目标渲染图像,即间隔(屏幕数量-单帧渲染数量+1),选择一个待渲染图像作为目标渲染图像。并且,在一次循环完成(如为4个显示屏幕均选择对应的目标渲染图像)后,仍然需要选择当前图像排序第一的待渲染图像作为下一次循环中的第一个目标渲染图像,以此类推,直至目标渲染图像全部选取完毕。
需要说明的是,按照上述说明,虽然两个相邻的目标渲染图像之间间隔了几个待渲染图像,但是由于所有待渲染图像中相邻几帧的图像之间差异很小,故每两个相邻的目标渲染图像之间的差异同样很小,不会对后续的显示画面造成影响。
S130、按照单帧渲染数量,分别渲染目标渲染图像。
具体地,基于图像渲染算法,按照目标渲染图像中各个待渲染图像的排序,每次渲染单帧渲染数量的待渲染图像,并投影到相应的显示屏幕上,循环执行上述渲染过程,直至渲染完毕所有的目标渲染图像。
需要说明的是,将所有的显示屏幕上的显示画面均被更新称为一次画面更新,那么在一次画面更新的渲染过程中,如果已经有部分显示屏幕的画面被渲染更新,而剩余的显示屏幕的画面未被渲染更新,那么已经更新画面的显示屏幕需继续保留更新的渲染画面,直至下一次画面更新。再考虑到每两个相邻的目标渲染图像之间的差异很小,故可以理解一次画面更新过程并不会给用户造成视觉延迟的感觉。
本实施例的技术方案,通过确定每帧渲染数据包含的待渲染图像的单帧渲染数量,单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;根据单帧渲染数量和屏幕数量,从所有待渲染图像中确定目标渲染图像;按照单帧渲染数量,分别渲染目标渲染图像。减少了所有待渲染图像中用户视觉察觉不到的待渲染图像,从而在保证流畅显示虚拟显示画面的基础上,减少了单帧渲染操作中渲染的图像数量,缩短了渲染一帧数据所用时间,提高了图像渲染的帧率,并降低了虚拟现实系统的系统消耗。
实施例二
本实施例在上述实施例的基础上,对“根据单帧渲染数量和屏幕数量,从所有待渲染图像中确定目标渲染图像”进行了进一步优化。在此基础上,还可以进一步对“按照单帧渲染数量,分别渲染目标渲染图像”进行优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供的图像渲染方法包括:
S210、确定每帧渲染数据包含的待渲染图像的单帧渲染数量,单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值。
S220、根据屏幕数量和单帧渲染数量,确定间隔图像数量。
其中,间隔图像数量是指选取目标渲染图像时每次间隔的待渲染图像的数量。
具体地,由于所有待渲染图像中相邻几帧的图像之间差异很小,故可以选择均匀选取的图像选取策略,此时用屏幕数量减去单帧渲染数量便可确定出间隔图像数量。例如,在屏幕数量为4,单帧渲染数量为1时,间隔图像数量便为3。
S230、按照所有待渲染图像中各个待渲染图像的第一图像排序,将所有待渲染图像中的前单帧渲染数量个待渲染图像确定为第一目标渲染图像。
其中,第一图像排序是指所有待渲染图像中的图像排列顺序。第一目标渲染图像是指所有目标渲染图像中的第一批目标渲染图像,其内包含的待渲染图像数量与单帧渲染数量一致。
具体地,按照所有待渲染图像中各个待渲染图像的第一图像排序,将第一个待渲染图像到排序编号为单帧渲染数量的待渲染图像全部确定为第一目标渲染图像。例如当单帧渲染数量为1时,将240个待渲染图像中的第一个待渲染图像作为第一目标渲染图像;当单帧渲染数量为2时,将240个待渲染图像中的前2个待渲染图像作为第一目标渲染图像。
S240、以第一目标渲染图像中最后一个待渲染图像为起始图像,按照第一图像排序,每间隔间隔图像数量,从所有待渲染图像中选择单帧渲染数量的待渲染图像,作为目标渲染图像。
具体地,可以将目标渲染图像的选取过程看作一个循环过程:A、将S230中确定的第一目标渲染图像中的最后一个待渲染图像确定为图像选取的当前基准图像(对应于第一次图像选取操作中的起始图像)。例如,若第一目标渲染图像包含2个待渲染图像,则将第二个待渲染图像作为当前基准图像。B、按照第一图像排序,从当前基准图像开始,间隔S220中确定的间隔图像数量,从所有的待渲染图像中选择单帧渲染数量的待渲染图像,作为第二目标渲染图像。例如以当前基准图像为起始图像,间隔3个待渲染图像,从剩余的待渲染图像中顺次选择1个待渲染图像作为第二目标渲染图像。如果单帧渲染数量为2,则是从剩余的待渲染图像中顺次选择2个待渲染图像作为目标渲染图像。应当理解的是,虽然第一目标渲染图像和第二目标渲染图像之间间隔了间隔图像数量的待渲染图像,但是在图像渲染过程中,第一目标渲染图像和第二目标渲染图像是相邻两帧渲染数据。C、将当前基准图像更新为第二目标渲染图像中的最后一个待渲染图像,以及将第一目标渲染图像更新为第二目标渲染图像,并返回执行步骤B,直至选取全部的目标渲染图像。
S250、按照目标渲染图像中各个待渲染图像的第二图像排序,选取单帧渲染数量的待渲染图像作为当前渲染图像,并按照各个与显示屏幕对应的渲染窗口的窗口排序,选取所有渲染窗口中单帧渲染数量的渲染窗口作为当前窗口。
其中,第二图像排序是指所有目标渲染图像中的图像排列顺序。
具体地,目标渲染图像的渲染过程也是一个循环过程,循环开始便是从所有目标渲染图像中,按照第二图像排序,选择排序靠前的单帧渲染数量的待渲染图像作为当前时刻执行渲染操作中的当前渲染图像。同时,由于是将渲染后的图像投影至相应的显示屏幕上,故需要根据显示屏幕确定合适的渲染属性。此时,根据各个显示屏幕的排序及位置关系,生成与每个显示屏幕的属性信息对应的渲染窗口,并选择窗口排序靠前的单帧渲染数量的渲染窗口作为当前窗口。
S260、获取当前窗口的模型视图矩阵,并基于图像渲染算法和模型视图矩阵渲染当前渲染图像,以将渲染后的当前渲染图像投影至当前窗口。
其中,模型视图矩阵(model view matix)是三维立体显示中用于表示空间位置和旋转角度等信息的矩阵。当物体坐标矩阵左乘模型视图矩阵后获得的新的位置(形状),描述的是当观察者(用户)和物体都在运动时,物体在观察者眼中坐标点(形状)的变化。模型视图矩阵的获取可以是直接输入获取,也可以是直接计算获得。示例性地,获取当前窗口的模型视图矩阵包括:根据当前窗口的坐标值和用户的坐标值,确定当前窗口的模型视图矩阵。这样设置的好处在于可以快速获得准确的模型视图矩阵,提高了获取模型视图矩阵的实时性。
具体地,在进行渲染之前,需要将待渲染图像与渲染窗口相关联,故获取当前窗口的模型视图矩阵。之后,至少以当前渲染图像和当前窗口的模型视图矩阵为图像渲染算法的参数信息,运行图像渲染算法来渲染当前渲染图像,渲染所得的结果便可以投影至当前窗口以供显示。需要说明的是,如果单帧渲染数量大于1(如2),那么当前渲染图像和当前窗口的数量便不止一个,这种情况下上述图像渲染过程便需要保持当前渲染图像、当前窗口和模型视图矩阵之间的一一对应关系,如第一个当前渲染图像、第一个当前窗口和第一个模型视图矩阵需要保持对应一致。
S270、按照第二图像排序,将当前渲染图像更新为当前渲染图像之后的单帧渲染数量的待渲染图像,及按照窗口排序,将当前窗口更新为当前窗口之后的单帧渲染数量的渲染窗口,并返回执行获取当前窗口的模型视图矩阵,并基于图像渲染算法和模型视图矩阵渲染当前渲染图像的操作,直至渲染完目标渲染图像。
具体地,渲染完当前渲染图像之后,便需要更新当前渲染图像和当前窗口,以便循环执行后续的目标渲染图像的渲染操作。当前渲染图像的更新为按照第二图像排序,顺次从剩余的目标渲染图像中选择单帧渲染数量的待渲染图像作为新的当前渲染图像。当前窗口的更新为按照窗口排序,顺次从剩余的渲染窗口中选择单帧渲染数量的渲染窗口作为新的当前窗口。若剩余的渲染窗口数量小于单帧渲染数量,那么顺次选择之前已经投影过的渲染窗口。之后,利用更新后的当前渲染图像和当前窗口,返回执行S260,直至渲染完所有的目标渲染图像。
举例说明,总共有240个待渲染图像,4个显示屏幕,单帧渲染数量为1,基于OpenGL实现图像渲染,那么参见图3,控制设备中的渲染引擎300执行S250~S270的过程便为:
(1)初始化时创建四个渲染窗口。
(2)默认将第一帧待渲染图像311渲染到第一个渲染窗口312上,故获取第一个渲染窗口312的模型视图矩阵,并执行相应的渲染操作。
(3)将第二帧待渲染图像321渲染到第二个渲染窗口322上,则获取第二个渲染窗口322的模型视图矩阵,并切换OpenGL的context(设备上下文)参数使接下来显卡渲染出来的画面提交到第二个渲染窗口322。
(4)同(3)的操作,将第三帧待渲染图像331渲染到第三个渲染窗口332上。
(5)同(3)的操作,将第四待帧渲染图像341渲染到第四个渲染窗口342上。
(6)同(3)的操作,将第五帧待渲染图像再渲染回第一个渲染窗口312,不断循环。
本实施例的技术方案,通过根据屏幕数量和单帧渲染数量,确定间隔图像数量;将所有待渲染图像中的第一个待渲染图像确定为第一个目标渲染图像;以第一个目标渲染图像为起始图像,按照所有待渲染图像中各个待渲染图像的排序,每间隔间隔图像数量,从所有待渲染图像中选择单帧渲染数量的待渲染图像,作为目标渲染图像。实现了目标渲染图像的快速确定,能够简化图像渲染实现逻辑,进一步提高图像渲染帧率和系统响应速度。
以下是本发明实施例提供的图像渲染装置的实施例,该装置与上述各实施例的图像渲染方法属于同一个发明构思,在图像渲染装置的实施例中未详尽描述的细节内容,可以参考上述图像渲染方法的实施例。
实施例三
本实施例提供一种图像渲染装置,参见图4,该装置具体包括:
单帧渲染数量确定模块410,用于确定每帧渲染数据包含的待渲染图像的单帧渲染数量,单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;
目标渲染图像确定模块420,用于根据单帧渲染数量和屏幕数量,从所有待渲染图像中确定目标渲染图像;
图像渲染模块430,用于按照单帧渲染数量,分别渲染目标渲染图像。
可选地,设定数量阈值根据人眼视觉延时、单帧渲染时长和屏幕数量确定。
可选地,目标渲染图像确定模块420具体用于:
根据屏幕数量和单帧渲染数量,确定间隔图像数量;
按照所有待渲染图像中各个待渲染图像的第一图像排序,将所有待渲染图像中的前单帧渲染数量个待渲染图像确定为第一目标渲染图像;
以第一目标渲染图像中最后一个待渲染图像为起始图像,按照第一图像排序,每间隔间隔图像数量,从所有待渲染图像中选择单帧渲染数量的待渲染图像,作为目标渲染图像。
可选地,图像渲染模块430具体用于:
按照目标渲染图像中各个待渲染图像的第二图像排序,选取单帧渲染数量的待渲染图像作为当前渲染图像,并按照各个与显示屏幕对应的渲染窗口的窗口排序,选取所有渲染窗口中单帧渲染数量的渲染窗口作为当前窗口;
获取当前窗口的模型视图矩阵,并基于图像渲染算法和模型视图矩阵渲染当前渲染图像,以将渲染后的当前渲染图像投影至当前窗口;
按照第二图像排序,将当前渲染图像更新为当前渲染图像之后的单帧渲染数量的待渲染图像,及按照窗口排序,将当前窗口更新为当前窗口之后的单帧渲染数量的渲染窗口,并返回执行获取当前窗口的模型视图矩阵,并基于图像渲染算法和模型视图矩阵渲染当前渲染图像的操作。
进一步地,图像渲染模块430还具体用于:
根据当前窗口的坐标值和用户的坐标值,确定当前窗口的模型视图矩阵。
可选地,在屏幕数量为4时,单帧渲染数量为1。
通过本发明实施例三的一种图像渲染装置,减少了所有待渲染图像中用户视觉察觉不到的待渲染图像,从而在保证流畅显示虚拟显示画面的基础上,减少了单帧渲染操作中渲染的图像数量,缩短了渲染一帧数据所用时间,提高了图像渲染的帧率,并降低了虚拟现实系统的系统消耗。
本发明实施例所提供的图像渲染装置可执行本发明任意实施例所提供的图像渲染方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述图像渲染装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种图像渲染方法,该方法包括:
确定每帧渲染数据包含的待渲染图像的单帧渲染数量,单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;
根据单帧渲染数量和屏幕数量,从所有待渲染图像中确定目标渲染图像;
按照单帧渲染数量,分别渲染目标渲染图像。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的图像渲染方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得控制设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的图像渲染方法。
实施例五
参见图5,本实施例提供了一种控制设备,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器520执行,使得一个或多个处理器520实现本发明实施例所提供的图像渲染方法,包括:
确定每帧渲染数据包含的待渲染图像的单帧渲染数量,单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;
根据单帧渲染数量和屏幕数量,从所有待渲染图像中确定目标渲染图像;
按照单帧渲染数量,分别渲染目标渲染图像。
当然,本领域技术人员可以理解,处理器520还可以实现本发明任意实施例所提供的图像渲染方法的技术方案。
控制设备可以包含一个或多个计算机设备。图5显示的控制设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,该控制设备包括处理器520、存储装置510、输入装置530和输出装置540;控制设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;控制设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。
存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的图像渲染方法对应的程序指令/模块(例如,图像渲染装置中的单帧渲染数量确定模块、目标渲染图像确定模块和图像渲染模块)。
存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至控制设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字、图像或字符信息,以及产生与控制设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
实施例六
本实施例提供了一种虚拟现实系统,如图6所示,该系统包括:至少两个显示屏幕610,与各个显示屏幕610通信连接的投影设备620,以及与投影设备620通信连接的控制设备630;
其中,控制设备630包括:
一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的拣选任务的处理方法。
图6显示的虚拟现实系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。虚拟现实系统中显示屏幕610和投影设备620的数量至少为两个,如果要实现立体式的虚拟现实显示,则相应数量通常配置为至少三个,图6中以三个显示屏幕610和投影设备620为例;显示屏幕610、投影设备620和控制设备630可以通过总线或其他方式连接。
本发明实施例的虚拟现实系统减少了所有待渲染图像中用户视觉察觉不到的待渲染图像,从而在保证流畅显示虚拟显示画面的基础上,减少了单帧渲染操作中渲染的图像数量,缩短了渲染一帧数据所用时间,提高了图像渲染的帧率,并降低了虚拟现实系统的系统消耗。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种图像渲染方法,其特征在于,包括:
确定每帧渲染数据包含的待渲染图像的单帧渲染数量,所述单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;
根据所述单帧渲染数量和所述屏幕数量,从所有待渲染图像中确定目标渲染图像;
按照所述单帧渲染数量,分别渲染所述目标渲染图像;
根据所述单帧渲染数量和所述屏幕数量,从所有待渲染图像中确定目标渲染图像包括:
根据所述屏幕数量和所述单帧渲染数量,确定间隔图像数量;其中,所述间隔图像数量=(屏幕数量-单帧渲染数量+1);
按照所有待渲染图像中各个所述待渲染图像的第一图像排序,将所有待渲染图像中的前单帧渲染数量个所述待渲染图像确定为第一目标渲染图像;
以所述第一目标渲染图像中最后一个所述待渲染图像为起始图像,按照所述第一图像排序,每间隔所述间隔图像数量,从所有待渲染图像中选择所述单帧渲染数量的所述待渲染图像,作为所述目标渲染图像。
2.根据权利要求1所述的方法,其特征在于,所述设定数量阈值根据人眼视觉延时、单帧渲染时长和所述屏幕数量确定。
3.根据权利要求1所述的方法,其特征在于,按照所述单帧渲染数量,分别渲染所述目标渲染图像包括:
按照所述目标渲染图像中各个所述待渲染图像的第二图像排序,选取所述单帧渲染数量的所述待渲染图像作为当前渲染图像,并按照各个与所述显示屏幕对应的渲染窗口的窗口排序,选取所有渲染窗口中所述单帧渲染数量的所述渲染窗口作为当前窗口;
获取当前窗口的模型视图矩阵,并基于图像渲染算法和所述模型视图矩阵渲染当前渲染图像,以将渲染后的当前渲染图像投影至当前窗口;
按照所述第二图像排序,将当前渲染图像更新为当前渲染图像之后的所述单帧渲染数量的所述待渲染图像,及按照所述窗口排序,将当前窗口更新为当前窗口之后的所述单帧渲染数量的所述渲染窗口,并返回执行获取所述当前窗口的模型视图矩阵,并基于图像渲染算法和所述模型视图矩阵渲染当前渲染图像的操作,直至渲染完所述目标渲染图像。
4.根据权利要求3所述的方法,其特征在于,获取当前窗口的模型视图矩阵包括:
根据当前窗口的坐标值和用户的坐标值,确定当前窗口的所述模型视图矩阵。
5.根据权利要求3所述的方法,其特征在于,在所述屏幕数量为4时,所述单帧渲染数量为1。
6.一种图像渲染装置,其特征在于,包括:
单帧渲染数量确定模块,用于确定每帧渲染数据包含的待渲染图像的单帧渲染数量,所述单帧渲染数量小于显示屏幕的屏幕数量,且大于或等于设定数量阈值;
目标渲染图像确定模块,用于根据所述单帧渲染数量和所述屏幕数量,从所有待渲染图像中确定目标渲染图像;
图像渲染模块,用于按照所述单帧渲染数量,分别渲染所述目标渲染图像;
所述目标渲染图像确定模块,具体用于根据所述屏幕数量和所述单帧渲染数量,确定间隔图像数量;其中,所述间隔图像数量=(屏幕数量-单帧渲染数量+1);
按照所有待渲染图像中各个所述待渲染图像的第一图像排序,将所有待渲染图像 中的前单帧渲染数量个所述待渲染图像确定为第一目标渲染图像;
以所述第一目标渲染图像中最后一个所述待渲染图像为起始图像,按照所述第一 图像排序,每间隔所述间隔图像数量,从所有待渲染图像中选择所述单帧渲染数量的所述 待渲染图像,作为所述目标渲染图像。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的图像渲染方法。
8.一种控制设备,其特征在于,包括:一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的图像渲染方法。
9.一种虚拟现实系统,其特征在于,包括:至少两个显示屏幕,与各个所述显示屏幕通信连接的投影设备,以及与所述投影设备通信连接的控制设备,所述控制设备采用权利要求8所述的控制设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811648447.4A CN109410306B (zh) | 2018-12-30 | 2018-12-30 | 图像渲染方法、装置、存储介质、设备和虚拟现实系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811648447.4A CN109410306B (zh) | 2018-12-30 | 2018-12-30 | 图像渲染方法、装置、存储介质、设备和虚拟现实系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109410306A CN109410306A (zh) | 2019-03-01 |
CN109410306B true CN109410306B (zh) | 2023-08-11 |
Family
ID=65461868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811648447.4A Active CN109410306B (zh) | 2018-12-30 | 2018-12-30 | 图像渲染方法、装置、存储介质、设备和虚拟现实系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109410306B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104751506B (zh) * | 2013-12-25 | 2017-10-27 | 艾迪普(北京)文化科技股份有限公司 | 一种实现三维图形图像的集群渲染方法和设备 |
CN105763919A (zh) * | 2016-04-14 | 2016-07-13 | 福州瑞芯微电子股份有限公司 | 显示与视频同步的方法及装置 |
CN106127843B (zh) * | 2016-06-16 | 2019-05-17 | 福建数博讯信息科技有限公司 | 三维虚拟场景的渲染方法和装置 |
CN106296788B (zh) * | 2016-10-10 | 2019-07-16 | 深圳市彬讯科技有限公司 | 一种跨机房集群渲染部署实现系统 |
-
2018
- 2018-12-30 CN CN201811648447.4A patent/CN109410306B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109410306A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10306180B2 (en) | Predictive virtual reality content streaming techniques | |
US10916048B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US20170103601A1 (en) | Systems and methods of gaming machine image transitions | |
CN109308173B (zh) | 显示方法及装置、显示终端及计算机存储介质 | |
US10997929B2 (en) | Display scene processing method and device and storage medium | |
CN109739356B (zh) | Vr系统中图像显示的控制方法、装置及vr头戴设备 | |
WO2017019296A4 (en) | A system for compositing video with interactive, dynamically rendered visual aids | |
US20190213975A1 (en) | Image processing system, image processing method, and computer program | |
US8687002B2 (en) | Method, medium and system rendering 3-D graphics data having an object to which a motion blur effect is to be applied | |
US10878530B2 (en) | Display method and display device | |
JPWO2008105092A1 (ja) | グラフィックス描画装置及びグラフィックス描画方法 | |
GB2546720B (en) | Method of and apparatus for graphics processing | |
KR101831516B1 (ko) | 멀티 스티커를 이용한 영상 생성 방법 및 장치 | |
US11792245B2 (en) | Network resource oriented data communication | |
CN113206993A (zh) | 一种调整显示屏幕的方法及显示设备 | |
US20230136022A1 (en) | Virtual reality display device and control method thereof | |
US20140306958A1 (en) | Stereoscopic rendering system | |
CN110879739A (zh) | 通知栏的显示方法及其显示装置 | |
CN107230249A (zh) | 阴影渲染方法和装置 | |
JP6637855B2 (ja) | データ処理装置、データ処理方法およびコンピュータプログラム | |
CN109410306B (zh) | 图像渲染方法、装置、存储介质、设备和虚拟现实系统 | |
CN116912387A (zh) | 纹理贴图的处理方法及装置、电子设备、存储介质 | |
CN113596569B (zh) | 图像处理方法、装置和计算机可读存储介质 | |
CN114630182A (zh) | 一种虚拟现实视频的播放方法及设备 | |
CN112015274A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231216 Address after: 202150 No. 2050 Honghai Road, Miaozhen, Chongming District, Shanghai (Shanghai Miaozhen Economic Development Zone) Patentee after: Manhengweitu (Shanghai) Software Technology Co.,Ltd. Address before: 201103 room 1202, building 3, No. 518, Xinzhuan Road, Xinqiao Town, Songjiang District, Shanghai Patentee before: SHANGHAI MANHENG DIGITAL TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |