一种场景渲染方法和装置与流程

文档序号:11621298阅读:362来源:国知局
一种场景渲染方法和装置与流程

本发明涉及计算机技术领域,特别是涉及一种场景渲染方法和装置。



背景技术:

利用虚拟现实(virtualreality,vr)技术,可将多源信息融合的交互式的三维动态视景和用户的实体行为的系统仿真,以创建一种模拟环境;使得用户在置身于该模拟的环境中,即可有较为真实的体验。例如,vr虚拟影院,利用vr技术模拟电影院观影的虚拟环境,用户戴上vr头盔就可以体验在电影院观影。

但在真实观影过程中,电影屏幕会对环境造成光影效果的影响,因此,为了更接近真实影院观影的效果,可以在vr虚拟影院中模拟电影屏幕对虚拟环境的影响。现有技术中,有多种方法模拟vr虚拟影院中电影屏幕对场景的光影影响,如在场景中模拟点光源的光影效果,由于真实的电影院中电影屏幕相当于一个面光源,因此,这种方法模拟的视觉效果较差;还例如,利用在场景中模拟单一颜色的面光源的光影效果,由于不同视频帧的颜色不用,使得该方法无法实时反应视频画面对周围环境的影响;还例如利用根据视频画面的颜色,实时模拟面光源的光影效果,该方法开销大。



技术实现要素:

本发明实施例所要解决的技术问题是提供一种场景渲染方法,以解决现有技术中以视频图像作为光源渲染场景效率低、效果差的问题。

相应的,本发明实施例还提供了一种场景渲染装置,用以保证上述方法的实现及应用。

为了解决上述问题,本发明公开了一种场景渲染方法,应用在虚拟的三维场景中,具体包括:在播放目标视频文件时,确定目标视频图像以及所述目标视频图像的颜色;查找与目标视频图像的颜色对应的烘焙贴图;依据所述烘焙贴图,对所述场景进行渲染;其中,所述烘焙贴图是对任一有色面光源照射的所述场景进行烘焙渲染得到的。

本发明还公开了一种场景渲染装置,具体包括:目标视频确定模块,用于在播放目标视频文件时,确定目标视频图像以及所述目标视频图像的颜色;目标贴图确定模块,用于查找与目标视频图像的颜色对应的烘焙贴图;场景渲染模块,用于依据所述烘焙贴图,对所述场景进行渲染;其中,所述烘焙贴图是对任一有色面光源照射的所述场景进行烘焙渲染得到的。

与现有技术相比,本发明实施例包括以下优点:

本发明实施例的一种场景渲染方法,应用于在虚拟的三维场景中,当在该三维场景中播放目标视频文件时,可以根据目标视频图像的颜色,确定对应的烘焙贴图;再根据所述烘焙贴图对所述场景进行渲染;其中,所述烘焙贴图是对有色面光源照射的所述场景进行烘焙渲染得到的,即每个烘焙贴图对应所述场景受一种颜色面光源照射的光影效果;使得在播放目标视频图像时,利用对应的烘焙贴图对场景进行渲染,即可以模拟场景受该目标视频图像对应的颜色的面光源照射的光影效果;从而实现了实时模拟场景受不同视频图像照射的光影效果,大大提高了用户的体验;此外,无需实时计算场景受各视频图像对应的面光源照射的光影效果,提高了渲染的效率。

附图说明

图1是本发明的一种场景渲染方法实施例的步骤流程图;

图2是本发明的另一种场景渲染方法实施例的步骤流程图;

图3是本发明的另一种场景渲染方法实施例的步骤流程图;

图4是本发明的一种场景渲染装置实施例的结构框图;

图5是本发明的另一种场景渲染装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

为了更好的对后续实施例进行说明,先对场景进行说明。具体的,所述场景是一个虚拟的三维场景,是通过三维建模得到的;该虚拟的三维场景包括可以播放视频文件的视频屏幕,在所述场景中播放视频文件时,对所述场景的渲染是指以视频屏幕为光源,对视频屏幕周围的三维模型附带光影效果的渲染;例如虚拟影院,则所述虚拟影院对应的场景包括电影屏幕和周围的场景;所述周围的场景如:电影院的墙壁、电影院的屋顶、电影院的座位,观影观众等,在所述虚拟影院播放电影时,电影屏幕发出的光会对周围环境产生影响。

实施例一

参照图1,示出了本发明的一种场景渲染方法实施例的步骤流程图,具体可以包括如下步骤:

步骤101、在播放目标视频文件时,确定目标视频图像以及所述目标视频图像的颜色。

本发明实施例提出的一种场景渲染方法应用于虚拟的三维场景中,当在该场景中视频屏幕上播放视频文件时,可以实现实时的对该场景进行渲染;其中,所述虚拟的三维场景,是由虚拟现实设备模拟得到;用户佩戴上该虚拟现实设备,即可以体验对应的虚拟的三维场景;例如vr头盔,用户戴上vr头盔后,即可以体验到在电影院观影的效果。所述虚拟现实设备可以存储多个视频文件,每个视频文件中的视频图像按照时间顺序进行存储;其中,每帧视频图像有对应的颜色。本发明实施例将所述场景中播放的视频文件确定为目标视频文件,所述虚拟现实设备在播放目标视频文件时,是按照帧率和时间的顺序对目标视频文件中的视频图像进行播放的;为了能够在播放某一帧视频图像的同时,根据该帧视频图像的颜色对所述场景进行对应的渲染;因此,可以将即将播放的视频图像确定为目标视频图像,从而,在播放目标视频图像时,实时的计算目标视频图像的颜色,并对所述场景进行渲染。例如,可以利用gpu计算所述目标视频图像的平均色,将平均色确定为目标视频图像的颜色。

步骤102、查找与目标视频图像的颜色对应的烘焙贴图。

步骤103、依据所述烘焙贴图,对所述场景进行渲染;其中,所述烘焙贴图是对任一有色面光源照射的所述场景进行烘焙渲染得到的。

确定目标视频图像的颜色后,即可以查找与所述目标视频图像的颜色对应的烘焙贴图;其中,所述烘焙贴图是场景受光照时的光影效果的纹理图,是通过对任一有色面光源照射的所述场景进行烘焙渲染得到的;所述烘焙贴图可以体现所述场景中各个三维物体受面光源照射时的光影效果,所述烘焙贴图与颜色一一对应;所述面光源的尺寸与所述场景中的视频屏幕的尺寸相同。所有的烘焙贴图可以是存储在服务器,也可以是所述虚拟现实设备预先存储的。若是存储在服务器中,则所述虚拟现实设备确定目标视频图像的颜色后,向服务器发送查找烘焙贴图请求,服务器根据所述请求中的颜色信息,查找对应的烘焙贴图,并将烘焙贴图返回至虚拟现实设备。若存储在所述虚拟现实设备上时,则在确定目标视频图像的颜色后,即可在虚拟现实设备上查找对应的烘焙贴图。在查找到对应的烘焙贴图后,将查找到的烘焙贴回至该场景中,以对该场景进行渲染。其中,所述确定目标视频图像的颜色,以及对所述场景进行渲染,都是在播放所述目标视频图像结束之前完成的。例如,利用虚拟现实设备如vr头盔创建一个虚拟影院;用户在带上vr头盔后,可以体验在电影院观影的效果;即用户可以观看到电影屏幕,电影放映厅中墙壁、地面、屋顶、座位以及观影观众等等,所有现实电影院的电影放映厅中具有的物体。在确定播放目标视频文件后,用户可以通过所述电影屏幕观看到播放的目标视频文件,且在播放目标视频图像时,可以利用目标视频图像对应的烘焙贴图,对所述虚拟影院中出电影屏幕外的三维场景进行渲染;例如,播放的目标视频图像的颜色是红色时,则将电影屏幕周围的场景中的三维物体如墙壁,座椅,地面等受红色光照射时的光影效果,呈现出来;从而用户可以更真实的体验到虚拟影院中三维物体,受播放视频图像光照的影响。

本发明实施例的一种场景渲染方法,应用于在虚拟的三维场景中,当在该三维场景中播放目标视频文件时,可以根据目标视频图像的颜色,确定对应的烘焙贴图;再根据所述烘焙贴图对所述场景进行渲染;其中,所述烘焙贴图是对有色面光源照射的所述场景进行烘焙渲染得到的,即每个烘焙贴图对应,所述场景受一种颜色面光源照射的光影效果;使得在播放目标视频图像时,利用对应的烘焙贴图对场景进行渲染,即可以模拟场景受该目标视频图像对应的颜色的面光源照射的光影效果;从而实现了实时模拟场景受不同视频图像照射的光影效果,大大提高了用户的体验;此外,无需实时计算场景受各视频图像对应的面光源照射的光影效果,提高了渲染的效率。

实施例二

确定目标视频图像的方式有多种,在本发明的另一个实施例中,对其中一种确定目标视频图像的方式进行说明;具体可参照图2,图2示出了本发明的另一种场景渲染方法实施例的步骤流程图,具体可以包括如下步骤:

步骤201、在所述场景的屏幕位置放置面光源,以及依次按照预设颜色列表的颜色设置所述面光源的颜色。

步骤202、针对任一颜色的面光源照射的所述场景,采用全局光照进行烘焙渲染生成对应的烘焙贴图。

本发明实施例为了模拟所述场景受视频屏幕发出的光照射的光影效果,可以在未播放目标视频文件之前,在所述场景中视频屏幕的位置放置一个面光源,该面光源照射整个场景时,所述场景中各个物体上均会呈现对应的光影效果,此时,可以利用全局光照的方式对当前受面光源照射的场景进行烘焙渲染,将所述场景中各物体受光照的光影效果生成对应的烘焙贴图。所述全局光照表现了面光源直接照明和间接照明的综合效果;全局光照有多种实现方法,例如辐射度、光线追踪、环境光遮蔽、以及光子贴图等等,在此不作限定。由于一个视频文件的不同视频图像的颜色可能是相同,也可能是不同的;因此,为了使不同视频图像的颜色,均可以对应一个烘焙贴图,可以预先生成各种不同颜色对应的烘焙贴图。因此,可预先生成预设颜色列表,依次按照预设颜色列表中的颜色,设置所述面光源的颜色;在将所述面光源设置为一种颜色时,采用上述方法,生产该颜色对应的烘焙贴图。其中,所述预设颜色列表中的颜色的种类可以根据需求确定,如可以按照rgb颜色表生产预设颜色列表,如r:255,g:255,b:255;若对场景的渲染效果不高,则可以按照灰度值生成预设颜色列表,如255。其中,所述预设颜色列表中可以包括颜色的名称和颜色参数如rgb值、灰度值。其中,所述烘焙贴图可以由虚拟现实设备生成,也可以由服务器生成。

步骤203、在播放目标视频文件时,确定目标视频图像。

在播放目标视频文件时,为了在播放当前帧的视频图像时,对所述场景进行渲染,因此,可以将即将播放的视频图像确定为目标视频图像。

具体的,确定目标视频图像的方式有多种,其中一种方式是如步骤204-步骤205所述。

步骤204、获取目标视频图像的各像素点的颜色参数,对各像素的点颜色参数进行加权计算。

步骤205、将加权计算的值对应的颜色确定为目标视频图像的颜色。

本发明实施例中,可以根据目标视频图像的存储信息,确定所述目标视频图像各像素点的颜色参数,具体的,若上述预设颜色列表是依据所述rgb颜色表生成的,则分别获取所述目标视频图像各像素点的颜色参数是rgb值;若上述预设颜色列表是依据所述灰度值生成的,则计算所述目标视频图像各像素点的颜色参数为灰度值。然后在将获取各像素点的颜色参数进行加权计算,得到加权计算的值;该所述加权计算的值即为所述目标视频图像的颜色参数。例如,若预设颜色列表是依据所述rgb颜色表生成的,加权计算得到值可以为r:108,g:232,b:24;若预设颜色列表是依据所述灰度值生成的,则加权计算得到的值可以为55。然后将所述加权计算的值对应的颜色确定为目标视频图像对应的颜色。其中,所述加权计算的值可能是对应所述预设颜色列表中某一颜色的rgb值或灰度值对应,也可能是不对应的;因此,在得到加权计算的值后,可以在所述预设颜色列表中查找与所述加权计算的值最接近的rgb值或灰度值,将最接近的rgb值或灰度值对应的颜色确定为目标视频的颜色;还可以在计算所述加权计算的值时,进行加权计算的值的修正,使得根据所述加权计算的值直接确定对应的颜色。

步骤206、查找与目标视频图像的颜色对应的烘焙贴图。

步骤207、依据所述烘焙贴图,对所述场景进行渲染。

在确定目标视频图像的颜色后,查找与所述目标视频颜色对应的烘焙贴图;其中,所述烘焙贴图是该场景受面光源照射的光影效果图;即可以将在所述场景中不同位置的各物体受到面光源照射的亮度及颜色等信息,生成烘焙贴图;在播放目标视频图像时,可以将烘焙贴图贴回到所述场景中,以对所述场景中对应的物体进行渲染。

在上述实施例的基础上,本发明实施例在播放目标视频文件前,预先生成各种颜色对应的烘焙贴图,在播放目标视频图像时,只需调用目标视频图像的颜色对应的烘焙贴图,对所述场景进行渲染;无需实时计算根据目标视频图像的颜色对应的面光源对场景的光影效果,从而大大降低了渲染场景的时间,提高了渲染的效率;该降低了虚拟现实设备的硬件成本。

实施例三

本发明的又一个实施例中,对确定目标视频图像的另一种方式进行详细的说明。参照图3,图3示出了本发明的另一种场景渲染方法实施例的步骤流程图,具体可以包括如下步骤:

步骤301、在所述场景的屏幕位置放置面光源,以及依次按照预设颜色列表的颜色设置所述面光源的颜色。

步骤302、针对任一颜色的面光源照射的所述场景,采用全局光照进行烘焙渲染生成对应的烘焙贴图。

步骤301-步骤302,可具体参照步骤201-步骤202。

步骤303、依据预设时间间隔从所述目标视频文件中提取视频图像。

步骤304、确定所述提取的视频图像的颜色并保存。

步骤305、为所述提取的视频图像的颜色设置对应的时间标识。

本发明实施例的另一种确定目标视频图像的颜色的方式是,预先确定所述目标视频文件的视频图像的颜色并保存;当对目标视频文件进行播放时,根据目标视频图像对应的时间帧查找对应的颜色。具体的,每个视频文件是以视频图像的形式存储的,在播放该视频文件时,按照对应的帧率和时间的顺序显示视频图片;其中,每个时间帧均对应一帧视频图像;例如,一个视频文件的时长为2分钟,播放帧率为30fps时,则所述视频文件包括3600帧的视频图片,每个时间帧的间隔为1/30秒。本发明实施例中,目标视频文件的多个视频图像可能属于同一个视频场景,因此,两个相邻时间帧的视频帧的颜色可能是一样的,也可能是不一样的;从而,可以间隔多帧提取一帧视频图像,再确定提取的视频图像的颜色;也可以每一帧提取一帧视频图像,再确定提取的视频图像的颜色;其中,所述预设间隔是根据目标视频和用户需求确定的。为了可以更好的模拟不同视频图像时的场景的光影效果;可以确定目标视频文件的每一帧视频图像的颜色,此时预设时间则为该目标视频文件的帧率的倒数;如目标视频文件的播放帧率为30fps时,则预设时间为1/30秒;在提取视频图像后,可以计算所述提取的视频图像的颜色并保存,计算视频图像的颜色的方法具体的可以参照实施例二中步骤204-步骤205。在保存视频图像的颜色时,可以为所述颜色设置对应的时间标识,所述时间标识是用于标识颜色是对应目标视频文件中哪个时间帧的视频图像的。例如,若时间间隔为1/30秒,则保存的第一颜色的时间标识是1/30,第二个颜色的时间标识为1/15秒。所述目标视频文件的各视频图像对应的颜色及标识,保存的方式有多种,其中一种方式是,利用游程编码的方式,如:文件头|颜色|时间段|颜色|时间段|…|颜色|时间段|,其中,所述文件头用于标识保存的颜色属于哪个视频文件,可以是目标视频文件的名称;由于存在多帧视频的颜色是一样的,因此,无需每帧视频的颜色都进行记录,只需记录同一颜色视频帧的时间段即可;例如:若目标视频文件的帧率为30fps;第一帧视频图像的颜色为红色,第二帧至第二十帧的颜色均为黄色,则记录方式如:文件头|红色|1/30|黄色|1/15-2/3|…。

步骤306、在播放目标视频文件时,确定目标视频图像。

具体可参照步骤203,在此不再赘述。

步骤307、确定所述目标视频图像对应的时间帧,并查找与所述时间帧匹配的时间标识。

步骤308、将与所述时间帧匹配的时间标识对应的颜色,确定为目标视频图像的颜色。

在确定目标视频图像后,无需计算所述目标视频图像的颜色;只需确定目标视频图像对应的时间帧,根据所述时间帧,查找与时间帧对应的时间标识;将与时间帧匹配的时间标识对应的颜色确定为目标视频的颜色;例如,保存的目标视频文件对应的各视频图像对应的颜色为:文件头|红色|1/30|黄色|1/15-2/3|…;确定目标视频图像的时间帧为13/30;则所述13/30属于1/15-2/3的范围内,则确定该时间标识与目标视频图像的时间帧匹配,则黄色为目标视频图像的颜色。

步骤309、查找与目标视频图像的颜色对应的烘焙贴图。

步骤310、依据所述烘焙贴图,对所述场景进行渲染。

步骤309-步骤310,具体可参照步骤206-步骤207。

本发明实施例在上述实施例的基础上,在确定目标视频图像的颜色时,无需对目标视频图像的颜色进行计算,直接利用目标视频图像对应的时间帧,从存储的目标视频对应的各视频图像对应的颜色中查找即可;减少了虚拟现实设备的工作量,进一步提高了渲染效率。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例四

参照图4,示出了本发明的一种场景渲染装置实施例的结构框图,用以保证上述场景渲染方法的实施,所述装置具体包括:目标视频确定模块401、目标贴图确定模块402和场景渲染模块403,其中,

目标视频确定模块401,用于在播放目标视频文件时,确定目标视频图像以及所述目标视频图像的颜色。

目标贴图确定模块402,用于查找与目标视频图像的颜色对应的烘焙贴图。

场景渲染模块403,用于依据所述烘焙贴图,对所述场景进行渲染;其中,所述烘焙贴图是对任一有色面光源照射的所述场景进行烘焙渲染得到的。

本发明的另一个实施例中,对上述装置还包括的模块,以及模块包括的子模块进行说明,参照图5,示出了本发明的另一种场景渲染装置实施例的结构框图,所述的装置包括:目标视频确定模块501、目标贴图确定模块502和场景渲染模块503,上述已经论述,在此不再赘述。所述的装置还包括:视频图像存储模块504和烘焙贴图生成模块505,其中,

视频图像存储模块504,用于依据预设时间间隔从所述目标视频文件中提取视频图像;确定所述提取的视频图像的颜色并保存;为所述提取的视频图像的颜色设置对应的时间标识。

烘焙贴图生成模块505,用于在所述场景的屏幕位置放置面光源,以及依次按照预设颜色列表的颜色设置所述面光源的颜色;针对任一颜色的面光源照射的所述场景,采用全局光照进行烘焙渲染生成对应的烘焙贴图。

本发明实施例的目标视频确定模块501包括:第一图像颜色确定子模块5011和第二图像颜色确定子模块5012,其中,

第一图像颜色确定子模块5011,用于获取目标视频图像的各像素点的颜色参数,对各像素点的颜色参数进行加权计算;将加权计算的值对应的颜色确定为目标视频图像的颜色。

第二图像颜色确定子模块5012,用于确定所述目标视频图像对应的时间帧,并查找与所述时间帧匹配的时间标识;将与所述时间帧匹配的时间标识对应的颜色,确定为目标视频图像的颜色。

本发明实施例的一种场景渲染方法,应用于在虚拟的三维场景中,当在该三维场景中播放目标视频文件时,可以根据目标视频图像的颜色,确定对应的烘焙贴图;再根据所述烘焙贴图对所述场景进行渲染;其中,所述烘焙贴图是对有色面光源照射的所述场景进行烘焙渲染得到的,即每个烘焙贴图对应,所述场景受一种颜色面光源照射的光影效果;使得在播放目标视频图像时,利用对应的烘焙贴图对场景进行渲染,即可以模拟场景受该目标视频图像对应的颜色的面光源照射的光影效果;从而实现了实时模拟场景受不同视频图像照射的光影效果,大大提高了用户的体验;此外,无需实时计算场景受各视频图像对应的面光源照射的光影效果,提高了渲染的效率。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种场景渲染方法和一种场景渲染装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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