CN113110731A - 媒体内容生成的方法和装置 - Google Patents
媒体内容生成的方法和装置 Download PDFInfo
- Publication number
- CN113110731A CN113110731A CN201911359703.2A CN201911359703A CN113110731A CN 113110731 A CN113110731 A CN 113110731A CN 201911359703 A CN201911359703 A CN 201911359703A CN 113110731 A CN113110731 A CN 113110731A
- Authority
- CN
- China
- Prior art keywords
- virtual model
- video stream
- information
- server
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
本申请提供一种媒体内容的方法和装置,能够有助于保证生成的媒体内容的光照一致性,进而有助于制作高质量的媒体内容。该媒体生成的方法包括:获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,其中,所述第一视频流中包含目标场景;根据所述GPS信息和所述时间信息,确定所述目标场景中太阳光的方向信息;根据所述第一视频流、所述GPS信息和所述时间信息确定环境光照图,所述环境光照图用于表示所述目标场景的环境光照情况;确定原始虚拟模型;根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型;根据所述第一视频流和所述目标虚拟模型,生成第二视频流。
Description
技术领域
本申请涉及增强现实(augmented reality,AR)技术领域,并且更具体的,涉及媒体内容生成的方法和装置。
背景技术
AR技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,虚拟信息和真实世界两种信息互为补充,从而实现对真实世界的“增强”。传统的高质量的AR内容,通常表现在虚拟信息与真实世界的时间一致性,位置一致性以及光照一致性。其中光照一致性主要包括着色(shading)和阴影(shadowing)两部分内容。
真实世界中的光照是一件非常复杂的现象,光线的传播以及和物体材质之间的反应产生了不同的光照效果,如反射,折射,阴影等。真实的光照效果通常包括但不局限于反射(reflection),直射光(direct lighting),间接光(indirect lighting),阴影(shadow)等等。虚拟物体插入到真实环境中,应该尽可能保持这些光照特性的一致性。
目前,普通用户可以利用手机等移动终端制作AR内容。但是,为了操作简便,终端设备通常用预设的点光源或者平行光替代真实场景中的光照情况,导致AR内容在视觉上效果较差。因此,如何采用移动终端制作高质量的AR内容是亟需解决的问题。
发明内容
本申请提供一种媒体内容生成的方法和装置,能够有助于保证生成的AR内容的光照一致性,进而有助于实现制作高质量的AR内容。
第一方面,提供了一种媒体内容生成的方法,该方法包括:
第一终端获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,其中,所述第一视频流中包含目标场景;
根据所述GPS信息和所述时间信息,确定所述目标场景中太阳光的方向信息;
根据所述第一视频流、所述GPS信息和所述时间信息确定环境光照图,所述环境光照图用于表示所述目标场景的环境光照情况;
确定原始虚拟模型;
根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型;
根据所述第一视频流和所述目标虚拟模型,生成第二视频流。
本申请实施例中,根据终端设备的GPS信息和时间信息,可以获取太阳光的方向信息,这能够有助于提高环境光照图的准确性。因为环境光照图会影响虚拟模型在第一视频流中的着色和阴影,因此本申请实施例在提高环境光照图的准确性的情况下,能够进一步有助于保证生成的目标虚拟模型的光照一致性,进而有助于在终端设备上制作出高质量的AR内容。
结合第一方面,在第一方面的某些实现方式中,所述根据所述第一视频流、所述GPS信息和所述时间信息确定环境光照图,包括:
将所述第一视频流、所述GPS信息和所述时间信息输入预设的光照估计模型,获取所述环境光照图,其中,所述光照估计模型是利用训练数据样本集训练得到的,所述训练数据样本集中包括不同时间的环境光照图样本,和/或不同天气的环境光照图样本。
因此,本申请实施例通过使用光照估计模型,使得普通终端设备通过采集少量场景图片即可获取场景中的光照情况,而不需要使用专业的设备采集大量的视频或图像来获取场景中的光照情况。并且,本申请实施例可以保证训练样本集的多样性,进而能够在向模型输入拍摄的图像、位置信息和时间信息时,通过对输入图像样本的深入学习,输出更多样、更真实的环境光照图。
结合第一方面,在第一方面的某些实现方式中,所述环境光照图中包括光照信息和环境纹理信息。这样,环境光照图既能够表示真实场景画面中各个方向的明暗程度,还能够表示真实场景画面中环境的特征信息。
结合第一方面,在第一方面的某些实现方式中,所述第一终端获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,包括:
所述第一终端从第二终端接收所述第一视频流、所述GPS信息和所述时间信息。
这样,第一终端能够实现根据其他终端拍摄的第一视频流来生成媒体内容,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,所述第一终端获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,包括:
所述第一终端通过拍摄获取所述第一视频流,并获取在拍摄所述第一视频流时的GPS信息和拍摄所述第一视频流的时间信息。
这样,能够在用户拍摄视频的过程中,根据用户当前拍摄的第一视频流,实时生成媒体内容,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,所述第一终端获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,包括:
所述第一终端设备从本地数据库中获取所述第一视频流,以及所述GPS信息和所述时间信息。
这样,能够根据用户预先获取的第一视频流来生成媒体内容,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,所述根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型,包括:
向服务器发送所述方向信息和所述环境光照图,以及所述原始虚拟模型的标识;
从所述服务器接收第一虚拟模型,其中,所述第一虚拟模型是所述服务器根据所述方向信息和所述环境光照图对所述原始虚拟模型进行渲染得到的;
根据所述第一虚拟模型,获取所述目标虚拟模型。
传统的基于端云渲染方案通常是在云端服务器完成所有的渲染任务,并将渲染结果传回到移动端进行显示,这些方案的假设条件之一为云端的计算资源足够充足。于此相比,本申请实施例在对虚拟模型进行渲染时,云端服务器和终端设备侧可以协同完成对虚拟模型的渲染,基于此本申请实施例能够在更好的利用终端设备侧和服务器侧的计算资源,有助于减少资源的浪费,并节约时间成本。
结合第一方面,在第一方面的某些实现方式中,所述第一虚拟模型为所述目标虚拟模型。此时,云侧服务器能够单独完成AR内容的渲染,可以适用于目标虚拟模型复杂度较高,或终端设备空闲资源较少,或者渲染过程复杂的场景。
结合第一方面,在第一方面的某些实现方式中,根据所述第一虚拟模型,获取所述目标虚拟模型,包括:
根据所述方向信息和所述环境光照图,对所述第一虚拟模型进行渲染,获取所述目标虚拟模型。此时,云侧服务器和终端设备协同完成AR内容的渲染,可以适用于终端设备和云侧服务器均具有空闲资源的情况。
结合第一方面,在第一方面的某些实现方式中,所述根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型,包括:
向所述服务器发送所述原始虚拟模型的标识;
从所述服务器接收所述原始虚拟模型;
根据所述方向信息和所述环境光照图对所述原始虚拟模型进行渲染,获取所述目标虚拟模型。
这样,能够实现从云端服务器获取该原始虚拟模型,进而终端设备能够根据太阳光的方向信息和环境光照图对该原始虚拟模型进行渲染,获取所述目标虚拟模型。
结合第一方面,在第一方面的某些实现方式中,所述根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型之前,还包括:
从所述服务器接收指示信息,所述指示信息用于指示所述服务器的空闲资源情况;
响应于用户执行的第一操作,确定用户期望的所述目标虚拟模型的效果,其中,所述第一操作用于选择用户期望的所述目标虚拟模型的效果;
根据所述服务器和/或所述终端设备的空闲资源情况、用户期望的所述目标虚拟模型的效果中的至少一种,确定渲染策略,其中,所述渲染策略用于指示建议的所述目标虚拟模型的效果、所述终端设备和/或所述服务器的资源分配情况中的至少一种;
其中,所述根据所述方向信息和所述环境光照图和所述原始虚拟模型,获取目标虚拟模型,包括:
根据所述渲染策略、所述方向信息和所述环境光照图,获取所述目标虚拟模型。
因此,本申请实施例在对虚拟模型进行渲染时,能够充分考虑对渲染有影响的各个因素,比如云侧和端侧的空闲资源、虚拟模型的细节层次、视觉效果等,给出用户建议选用渲染策略,比如云侧和端侧分配的计算资源、建议的虚拟模型的细节层次以及视觉效果等。基于此本申请实施例能够在可利用资源以及渲染质量之间找到一个较好的平衡点,从而能够有助于减少资源的浪费。
结合第一方面,在第一方面的某些实现方式中,所述目标虚拟模型的效果包括所述目标虚拟模型的细节层次、阴影计算、次表面散射、反射、折射和环境吸收中的至少一种。
可选的,本申请实施例在给出用户优化建议之后,可以向用户显示给出的该优化建议,并且用户通过UI交互界面,可以对云侧和端侧的计算资源的分配进行调整,或对模型的细节层次或视觉效果进行调整。基于此,本申请实施例够获取用户对于该优化建议的修改反馈,进一步满足用户需求。
结合第一方面,在第一方面的某些实现方式中,所述确定原始虚拟模型,包括:
响应于用户执行的第二操作,确定所述原始虚拟模型,其中,所述第二操作用于选择用户期望融合到所述第一视频流中的媒体内容对应的原始虚拟模型。
这样,能够实现在第一视频流中融合用户所期望的媒体内容,提高用户体验。
结合第一方面,在第一方面的某些实现方式中,所述确定原始虚拟模型,包括:
根据所述目标场景的内容,确定所述原始虚拟模型。
这样,能够实现根据第一视频流的内容,自动的生成最优的媒体内容,提高用户体验。
第二方面,提供了一种用于媒体内容生成的方法,该方法包括:
从终端设备接收目标场景中太阳光的方向信息和环境光照图,其中,所述环境光照图用于表示所述目标场景的环境光照情况;
获取原始虚拟模型的标识;
根据所述原始虚拟模型的标识,获取所述原始虚拟模型;
根据所述方向信息和所述环境光照图,对所述原始虚拟模型进行渲染,获取第一虚拟模型;
向所述终端设备发送所述第一虚拟模型。
本申请实施例中,根据终端设备的GPS信息和时间信息,可以获取太阳光的方向信息,这能够有助于提高环境光照图的准确性。因为环境光照图会影响虚拟模型在第一视频流中的着色和阴影,因此本申请实施例在提高环境光照图的准确性的情况下,能够进一步有助于保证生成的虚拟模型的光照一致性,进而有助于在终端设备上制作出高质量的AR内容。
结合第二方面,在第二方面的某些实现方式中,所述第一虚拟模型为所述目标虚拟模型。此时,云侧服务器能够单独完成AR内容的渲染,可以适用于目标虚拟模型复杂度较高,或终端设备空闲资源较少,或者渲染过程复杂的场景。
结合第二方面,在第二方面的某些实现方式中,还包括:
从所述终端设备接收渲染策略,所述渲染策略用于指示建议的所述目标虚拟模型的效果、所述终端设备和/或所述服务器的资源分配情况中的至少一种。
其中,所述根据所述方向信息和所述环境光照图,对所述原始虚拟模型进行渲染,获取第一虚拟模型,包括:
根据所述渲染策略、所述方向信息和所述环境光照图,对所述原始虚拟模型进行渲染,获取所述第一虚拟模型。
其中,渲染策略可以是充分考虑对渲染有影响的各个因素,比如云侧和端侧的空闲资源、虚拟模型的细节层次、视觉效果等,给出用户建议选用渲染策略,比如云侧和端侧分配的计算资源、建议的虚拟模型的细节层次以及视觉效果等。基于此本申请实施例能够在可利用资源以及渲染质量之间找到一个较好的平衡点,从而能够有助于减少资源的浪费。
第三方面,提供了一种用于媒体内容生成的方法,该方法包括:
第一终端设备拍摄第一视频流,所述第一视频流中包含目标场景;
所述第一终端设备获取拍摄所述第一视频流时的GPS信息和时间信息;
所述第一终端设备向第二终端设备发送所述第一视频流、所述GPS信息和所述时间信息。
本申请实施例中,拍摄第一视频流时的终端设备的GPS信息和时间信息,可以用于获取太阳光的方向信息,这能够有助于提高环境光照图的准确性。因为环境光照图会影响虚拟模型在第一视频流中的着色和阴影,因此本申请实施例在提高环境光照图的准确性的情况下,能够进一步有助于保证生成的虚拟模型的光照一致性,进而有助于在终端设备上制作出高质量的AR内容。
第四方面,本申请实施例提供了一种媒体内容生成的装置,用于执行上述第一方面至第三方面或第一方面至第三方面的任意可能的实现方式中的方法,具体的,该装置包括用于执行上述第一方面至第三方面或第一方面至第三方面的任意可能的实现方式中的方法的模块。
第五方面,本申请实施例提供了一种媒体内容生成的装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面至第三方面或第一方面至第三方面的任意可能的实现方式中的方法。
第六方面,本申请实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面至第三方面或第一方面至第三方面的任意可能的实现方式中的方法的指令。
第七方面,本申请实施例还提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行第一方面至第三方面或第一方面至第三方面的任意可能的实现方式中的方法。
附图说明
图1是云侧和端侧设备交互的一种网络架构的示意图。
图2是本实施例提供的一种终端设备的结构示意图。
图3是本申请实施例提供的媒体内容生成的方法的示意性流程图。
图4是环境光照图的具体示例。
图5是环境光照图样本的具体示例。
图6是本申请实施例提供的光照估计模型进行光照估计的一个示例。
图7是本申请实施例的第一视频流和其对应的环境光照图的一个示例。
图8是三种不同复杂度的几何模型的一个示例。
图9示出了使用优化模型进行渲染优化的一个示例。
图10是本申请实施例提供的一种媒体内容生成的方法的示意性流程图。
图11是本申请实施例的终端设备的显示界面的一个示例。
图12是本申请实施例的终端设备的显示界面的另一个示例。
图13是本申请实施例的终端设备的显示界面的另一个示例。
图14是本申请实施例的终端设备的显示界面的另一个示例。
图15是本申请实施例的终端设备的显示界面的另一个示例。
图16是本申请实施例的媒体内容生成的装置的一个示意性框图。
图17是本申请实施例的媒体内容生成的装置的另一个示意性框图。
图18是本申请实施例的媒体内容生成的装置的另一个示意性框图。
图19是本申请实施例的媒体内容生成的装置的另一个示意性框图。
图20是本申请实施例的媒体内容生成的装置的另一个示意性框图。
图21是本申请实施例的媒体内容生成的装置的另一个示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1是云侧和端侧设备交互的一种网络架构的示意图。如图1所示,云侧可以包括至少一个服务器,用于提供计算服务。端侧可以包括至少一个终端设备,例如个人计算机、智能手机、平板电脑、人工智能设备、智能车载装置等,本申请实施例对此不做限定。
其中,云端服务器的服务配置和业务规模可以根据用户的需要进行配置,并可以灵活的进行调整。一些可能的情况,端侧的终端设备需要与云侧交互完成一个工作。或者,另一些可能的情况,终端设备可以独立来完成一个工作。或者,另一些情况,云侧服务器可以独立来完成一个工作。
请参考图2,为本实施例提供的一种终端设备的结构示意图。如图2所示,该终端设备包括通信模块210、传感器220、用户输入模块230、输出模块240、处理器250、音视频输入模块260、存储器270以及电源280。
通信模块210可以包括至少一个能使该计算机系统与通信系统或其他计算机系统之间进行通信的模块。例如,通信模块210可以包括有线网络接口,广播接收模块、移动通信模块、无线因特网模块、局域通信模块和位置(或定位)信息模块等其中的一个或多个。这多种模块均在现有技术中有多种实现,本申请不一一描述。
传感器220可以感测设备的当前状态,诸如位置、与用户是否有接触、方向、和加速/减速、打开/闭合状态等,并且传感器220可以生成用于控制终端设备的操作的感测信号。
用户输入模块230,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及接收与设备的用户设置以及功能控制有关的信号输入等。示例性的,用户输入模块230包括触控面板和/或其他输入设备。
输出模块240包括显示面板,用于显示由用户输入的信息、提供给用户的信息或系统的各种菜单界面等。可选的,可以采用液晶显示器(liquid crystal display,LCD)或有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板。在其他一些实施例中,触控面板可覆盖显示面板上,形成触摸显示屏。另外,输出模块240还可以包括音频输出模块、告警器以及触觉模块等。
音视频输入模块260,用于输入音频信号或视频信号。音视频输入模块260可以包括摄像头和麦克风。
电源280可以在处理器250的控制下接收外部电力和内部电力,并且提供系统的各个组件的操作所需的电力。
处理器250可以指示一个或多个处理器,例如,处理器250可以包括一个或多个中央处理器,或者包括一个中央处理器和一个图形处理器,或者包括一个应用处理器和一个协处理器(例如微控制单元或神经网络处理器)。当处理器250包括多个处理器时,这多个处理器可以集成在同一块芯片上,也可以各自为独立的芯片。一个处理器可以包括一个或多个物理核,其中物理核为最小的处理模块。
存储器270存储计算机程序,该计算机程序包括操作系统程序272和应用程序271等。典型的操作系统如微软公司的Windows,苹果公司的MacOS等用于台式机或笔记本的系统,又如谷歌公司开发的基于的安卓系统等用于移动终端的系统。本实施例提供的方法可以通过软件的方式实现,可以认为是应用程序271的具体实现。
存储器270可以是以下类型中的一种或多种:闪速(flash)存储器、硬盘类型存储器、微型多媒体卡型存储器、卡式存储器(例如SD或XD存储器)、随机存取存储器(randomaccess memory,RAM)、静态随机存取存储器(static RAM,SRAM)、只读存储器(read onlymemory,ROM)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、可编程只读存储器(programmable ROM,PROM)、磁存储器、磁盘或光盘。在其他一些实施例中,存储器270也可以是因特网上的网络存储设备,设备可以对在因特网上的存储器270执行更新或读取等操作。
处理器250用于读取存储器270中的计算机程序,然后执行计算机程序定义的方法,例如处理器250读取操作系统程序272从而在该系统运行操作系统以及实现操作系统的各种功能,或读取一种或多种应用程序271,从而在该系统上运行应用。
存储器270还存储有除计算机程序之外的其他数据273,例如本申请中涉及的深度学习模型、虚拟模型、以及优化模型等。
图2中各个模块的连接关系仅为一种示例,本申请任意实施例提供的方法也可以应用在其它连接方式的终端设备中,例如所有模块通过总线连接。
图3示出了本申请实施例提供的媒体内容生成的方法的示意性流程图。一些可能的实施例中,该方法可以应用于图1或图2中的终端设备。也就是说,该方法可以由图1或图2中的终端设备执行,或者由内置于该终端设备中的相机的媒体内容生成模块,或者是单独的用于生成媒体内容的应用(application,APP)执行,本申请实施例对此不做限定。本申请实施例中,将该终端设备称为第一终端。在一些描述中,“媒体内容”也可以被称为“AR内容”,二者表示的含义是一致的。
图3中所示的方法包括步骤310至步骤360。
步骤310,第一终端获取第一视频流、拍摄该第一视频流时的全球定位系统(global positioning system,GPS)信息和时间信息。其中,该第一视频流中包含目标场景。
作为示例,第一视频流中可以包括多帧图像,该多帧图像中例如包括第一图像。其中这些多帧图像中的每帧图像可以为红绿蓝(red green blue,RGB)图像。
需要说明的是,在本申请实施例中,执行图3中该方法的终端设备与拍摄第一视频流的终端设备可以相同,也可以不同,本申请实施例对此不做限定。
作为一种可能的实现方式,步骤310中拍摄第一视频流的终端设备为执行图3中该方法的终端设备,即第一终端。此时,该第一终端可以通过拍摄获取所述第一视频流,并获取拍摄所述第一视频流时的GPS信息和拍摄所述第一视频流的时间信息。
这样,能够在用户拍摄视频的过程中,根据用户当前拍摄的第一视频流,实时生成媒体内容,提高用户体验。
示例性的,可以由终端中的图像采集装置(比如相机,摄像机等)来采集第一视频流。例如,用户可以打开手机摄像头对准周围场景,此时手机相机可以自动拍摄的RGB流,即第一视频流,也可以称为第一预览视频流。作为示例,真实场景为室外场景。并且,随着手机相机的移动,获取的该第一视频流可以随着相机角度的变化而自动更新。
作为另一种可能的实现方式,步骤310中拍摄第一视频流的终端为执行图3中该方法的终端,即第一终端。此时,该第一终端可以从本地数据库中获取所述第一视频流,以及所述GPS信息和所述时间信息。其中,本地数据流中可以保存有预先拍摄的视频流,以及该视频流对应的GPS信息和时间信息。
示例性的,在步骤310之前,用户可以使用该第一终端拍摄获取该第一视频流,以及获取该第一视频流对应的GPS信息和时间信息。作为具体的示例,用户拍摄完成之后,可以选择将该第一视频流,以及该第一视频流对应的GPS信息和时间信息保存在用户的相册中,或者在用户拍摄完成之后,该第一视频流,以及该第一视频流对应的GPS信息和时间信息可以自动保存在用户的相册中。
这样,能够根据用户预先获取的第一视频流来生成媒体内容,提高用户体验。
作为另一种可能的实现方式,步骤310中拍摄第一视频流的终端与执行图3中该方法的终端不同,例如为第二终端。此时,第一终端可以从第二终端接收所述第一视频流、所述GPS信息和所述时间信息。相应的,第二终端可以向该第一终端发送该第一视频流、所述GPS信息和所述时间信息。
可以理解的是,在第二终端向第一终端发送该第一视频流,以及该第一视频流对应的GPS信息和时间信息之前,用户可以使用第二终端的相机来拍摄该第一视频流,并获取该第一视频流对应的GPS信息和时间信息。
这样,第一终端能够实现根据其他终端设备拍摄的第一视频流来生成媒体内容,提高用户体验。
其中,终端设备的GPS信息能够反映第一视频流中的真实场景的位置信息。一个示例,在终端设备拍摄第一视频流时,可以通过终端设备的系统,获取终端设备在拍摄时的GPS位置信息。
时间信息用于表示终端设备拍摄上述第一视频流的时间。一个示例,在终端设备拍摄第一视频流时,可以通过该终端设备的系统,获取终端设备在拍摄时的时间信息。
在本申请一些实施例中,目标场景可以为室外场景,但是本申请实施例对此不做限定。
步骤320,根据GPS信息和时间信息,确定目标场景中太阳光的方向信息。
示例性的,对于室外场景而言,太阳光即主光源。而对于非室外场景而言,太阳光可能会成为目标场景中的辅光源。
具体而言,由于太阳的方向存在地区差异,且在不同的季节、一天中的不同时刻相对地面的角度和高度都不相同,因此可以根据终端设备的GPS信息和拍摄第一视频流的时间信息确定太阳的相对于地球的位置信息,进而确定此时在目标场景中太阳光的方向信息。
在一些实施例中,目标场景中太阳光的方向信息,可以为该太阳光在第一视频流映射的坐标系中的方向信息。
一个示例,终端设备可以通过同步定位与建图(simultaneous localization andmapping,SLAM)技术,获取相机的位姿信息,并将第一视频流中真实场景的全景光照映射到360度的球(sphere)上或立方体(cube)上。其中,以该球的球心或立方体的中心可以建立一个坐标系(比如三维坐标系),该坐标系的原点即为该球的球心,或立方体的中心。进一步的,可以根据时间信息和GPS信息,确定太阳光在该360度的球上的方向信息。
步骤330,根据第一视频流、时间信息和GPS信息,确定环境光照图,该环境光照图用于表示该目标场景的环境光照信息。
示例性的,环境光照图能够用于表示目标场景的全景光照在第一视频流映射的坐标系中分布情况。
一些可选的实施例中,环境光照图中包括光照信息和环境纹理信息。示例性的,光照信息可以包括光照强度。其中,光照强度用于表示目标场景画面中各个方向的明暗程度。也就是说,可以根据相机拍摄的真实场景画面的明暗程度来确定光照强度。环境纹理信息用于表示目标场景画面中环境的特征信息。一个示例,环境光照图可以为高动态范围成像(high dynamic range,HDR)环境光照贴图。
图4中(a)图示出了环境光照图中只包含光照信息的一个示例,(b)图示出了环境光照图中包含光照信息和环境纹理信息的一个示例。
因此,本申请实施例中,太阳光的方向会影响虚拟物体在真实环境中shadow的生成,单纯依赖于RGB图像很难对太阳的位置做出准确的估计,基于此本申请实施例根据GPS信息以及时间信息可以很大程度上提高环境光照图准确性。也就是说,本申请实施例中,根据终端设备的GPS信息和时间信息,可以获取太阳光的方向信息,这能够有助于提高环境光照图的准确性。而单纯的依赖于图像本身(比如图像的RGB信息)很难对光源的方向信息做出准确的估计,导致环境光照图准确性不高。
一些可能的实现方式中,可以将第一视频流、终端设备的GPS信息和时间信息输入预设的光照估计模型,获取环境光照图。作为示例,光照估计模型可以为深度学习模型,或神经网络模型,本申请实施例对此不做限定。可选的,将第一视频流、终端设备的GPS信息和时间信息输入预设的光照估计模型,可以获取环境光照图和太阳光的方向信息。
本申请实施例通过使用光照估计模型,使得普通终端设备可以通过采集少量场景视频流或图像即可获取场景中的光照情况,而不需要使用专业的设备采集大量的视频或图像来获取场景中的光照情况。
一些实施例中,上述光照估计模型是利用训练数据样本集训练得到的。这里,可以由第一终端根据该训练数据样本集,训练上述光照估计模型,或者由云侧的服务器根据该训练数据样本集,训练该光照估计模型。云端服务器在训练好该光照估计模型之后,可以将该模型发送给终端设备,例如第一终端。
一些可能的实现方式中,该训练数据样本集中包括不同时间的环境光照图样本、和/或不同天气的环境光照图样本。也就是说,训练数据样本集能够依赖于渲染技术生成的不同时间段,不同天气的室外光照虚拟数据集,从而保证光照估计模型对天气等因素的鲁棒性。
例如,由于一天中的不同时刻(比如早上、中午或傍晚),或者不同的天气状况(比如晴天、阴天或雨天)时天空会有不同的颜色,或者明亮度,因此可以将不同时刻,和/或不同天气时的天空作为训练样本集中的训练样本。示例性的,可以通过拍摄获取多个训练样本,或者在开源数据库中获取多个训练样本,本申请实施例对此不做限定。图5示出了不同角度拍摄的体育场的环境光照图样本的4个示例。其中,(a)图为雨天的环境光照图样本,(b)图为晴朗中午的环境光照图样本,(c)图和(d)图为阴天的环境光照图样本。
这样,可以保证训练样本集的多样性,进而能够在向模型输入拍摄的视频流或图像、位置信息和时间信息时,通过对输入图像样本的深入学习,输出更多样、更真实的环境光照图。例如,当第一视频流的天空中包括彩霞时,深度学习模型可以根据第一视频流中的RGB像素,确定是早上或傍晚的真实场景,此时可以获取该第一视频流对应的环境光照图。进一步的,可以根据拍摄该视频流时的终端设备的经纬度信息和时间信息,在获取太阳光的方向信息的同时,对该环境光照图进行修正。比如,当时间信息为18:01时,可以确定天空中为晚霞,并对环境光照图进行进一步的修正。
图6示出了光照估计模型进行光照估计的一个示例。如图6所示,可以通过手机对周围真实场景进行拍照,获取第一视频流。同时,可以通过手机系统获取拍摄第一视频流时手机的GPS信息,以及拍摄第一视频流时的时间信息。然后,将第一视频流、时间信息和GPS信息输入该光照估计模型,获取真实场景的太阳光在的方向信息和该真实场景的环境光照图。一些实施例中,第一视频流可以以单帧的形式作为光照估计模型的输入。
因此,本申请实施例能够利用大规模的HDR全景数据集直接作为参考标准(例如图5所示的训练样本数据集),采用端到端(end to end)的框架,输出单张图片的HDR光照环境贴图。并且当相机运动时,光照环境贴图会不断的更新而变好。
具体而言,当将收集拍摄的视频流输入到光照估计模型时,可以获取视频流中每个图像的环境光照图和太阳光的方向信息。这时,随着视频流的更新,可以不断融合更新真实场景的环境光照图。一个示例,向光照估计模型输入360度拍摄的环境视频,通过不断融合更新,光照估计模型能够输出360度的环境光照图。因此,随着相机的移动,环境光照图会不断的更新,更能够表现真实环境中的360度光照情况。
图7中(a)图示出了第一视频流中真实场景的一个示例,(b)图示出了环境光照图的一个示例。可以看出,(b)图中融合了视频流中多个图像对应的真实场景的环境光照图。
步骤340,确定原始虚拟模型。
作为一种可能的实现方式,第一终端可以响应于用户执行的操作,确定所述原始虚拟模型,其中,该操作用于选择用户期望融合到所述第一视频流中的媒体内容对应的原始虚拟模型。
示例性的,第一终端可以向用户显示至少一个原始虚拟模型的标识,用户可以根据该至少一个原始虚拟模型的标识,确定在虚拟模型库中都有哪些模型。然后,用户可以选择自己想要融合在在真实场景中的虚拟模型。作为示例,该标识可以为文字,或者图片,本申请实施例对此不做限定。
例如,用户可以通过触摸屏幕中第一原始虚拟模型的标识的操作,来向第一终端指示其选择该第一原始虚拟模型。响应于用户的该操作,第一终端确定需要增强到第一视频流的真实场景中的虚拟模型对应的原始虚拟模型为第一原始虚拟模型。
另一种可能的实现方式,第一终端可以根据第一视频流中包含的目标场景的内容,确定能够融合在该目标场景中的一个或多个虚拟模型。也就是说,第一终端可以根据第一视频流中包含的该目标场景的内容,向用户推荐或建议可以融合在该目标场景中的一个或多个模虚拟模型。
当能够融合在该目标场景中的虚拟模型的数量为一个时,可以直接将该虚拟模型对应的原始虚拟模型确定为需要融合到第一视频流的目标场景中的虚拟模型对应的原始虚拟模型。
当能够融合在该真实场景中的虚拟模型的数量为多个时,可以向用户显示该多个虚拟模型对应的原始虚拟模型的标识,用户可以通过触摸第二原始虚拟模型的标识的操作,来向第一终端指示其选择该第二原始虚拟模型。响应于用户的该操作,第一终端确定需要融合到第一视频流的目标场景中的虚拟模型对应的原始虚拟模型为第二原始虚拟模型。
需要说明的是,原始虚拟模型指的是虚拟模型库中的保存的虚拟模型。也就是说,原始虚拟模型是没有根据真实场景的光照情况进行着色和阴影的虚拟模型。作为示例,云端服务器或终端设备本地均可以保存有该虚拟模型库,该虚拟模型库中可以包括多个原始虚拟模型。
一个示例,当云端服务器中保存有该虚拟模型库时,第一终端可以向服务器发送原始虚拟模型的标识,服务器根据该标识,能够确定需要融合在目标场景中的原始虚拟模型。
示例性的,原始虚拟模型可以为具有能够反映真实世界的材质模型和/或几何模型。材质模型例如为双向反射分布函数(bidirectional reflectance distributionfunction,BRDF)模型。几何模型例如为网孔(mesh),每个mesh由若干个三角片面(triangle)组成。几何模型的复杂度可以由其组成的三角片面数来权衡。这里,复杂度例如渲染对象包括的3D模型的复杂程度,能够体现几何模型的细节层次等级。
图8示出了三种不同复杂度的几何模型的一个示例。其中,(a)图中组成几何模型的三角片面数约为6000个,可以为第一级复杂度(即最低复杂度)或第一级细节层次,(b)图中组成几何模型的三角片面数约为120000个,可以为第二级复杂度(即中度复杂度)或第二级细节层次,(c)图中组成几何模型的三角片面数约为240000个,可以为第三级复杂度(即最高复杂度)或第三级细节层次。
需要说明的是,图8中仅以三级复杂度或三级细节层次为例进行说明,但是本申请实施例并不限于此。例如,几何模型的复杂度或细节层次还可以为二级、四级或者其他。
步骤350,根据太阳光的方向信息、环境光照图和原始虚拟模型,获取目标虚拟模型。其中,该目标虚拟模型为用于融合到第一视频流中的虚拟模型,即媒体内容或AR内容。
本申请一些可选的实施例中,第一终端可以根据服务器和/或终端设备的空闲资源情况、用户期望的目标虚拟模型的效果中的至少一种,确定渲染策略。其中,该渲染策略用于指示建议的目标虚拟模型的效果、终端设备和/或所述服务器的资源分配情况中的至少一种。
示例性的,第一终端可以获取云侧服务器的空闲资源(可以称为第一空闲资源)、第一终端的空闲资源(可以称为第二空闲资源)、用户期望的该目标虚拟模型的第一细节层次和用户期望的该目标虚拟模型的第一视觉效果中的至少一种。其中,该目标虚拟模型的第一细节层次和用户期望的该目标虚拟模型的第一视觉效果可以是该目标虚拟模型的效果的两种参数。
其中,第一空闲资源表示云侧服务器(也可以称为云侧)的空余计算资源,能够体现云侧允许的最大计算量。作为示例,服务器可以向第一终端发送指示信息,该指示信息用于指示服务器的空闲资源情况。可选的,服务器可以周期性的向第一终端发送该指示信息,或者第一终端可以向服务器发送请求消息,该请求消息用于请求服务器指示其资源的空余情况,本申请实施例对此不做限定。
第二空闲资源表示第一终端(也可以称为端侧)的空余计算资源,能够体现第一终端允许的最大计算量。作为示例,第一终端可以通过自己的操作系统,获取第一终端的资源空闲情况。
另外,目标虚拟模型可能具有的视觉效果,比如该目标虚拟模型的阴影、次表面散射(subsurface scattering)、反射(reflection)、折射(refraction)和环境吸收(ambientocclusion)等视觉效果中的至少一种。这里,视觉效果能够表示即渲染的效果的计算复杂程度。
作为示例,第一终端可以向用户显示多种可选的目标虚拟模型的效果,以便用户选择自己期望的目标虚拟模型的效果。示例性的,用户可以执行第一操作,第一终端获取该第一操作,并根据该第一操作,确定用户期望的目标虚拟模型的效果,其中,该第一操作用于选择用户期望的所述目标虚拟模型的效果,例如可以为触摸第一终端的屏幕上的目标虚拟模型效果的标识的操作。作为示例,该标识可以为文字,或者图片,本申请实施例对此不做限定。
示例性的,第一终端可以根据第一空闲资源、第二空闲资源、用户期望的该目标虚拟模型的第一细节层次和用户期望的该目标虚拟模型的第一视觉效果中的至少一种,确定渲染策略。其中,渲染策略用于指示第一终端建议的该目标虚拟模型的第二细节层次、建议的该目标虚拟模型的第二视觉效果、第一终端的资源分配情况和云侧服务器的资源分配情况中的至少一种。然后,第一终端根据该渲染策略、太阳光的方向信息和环境光照图,获取该目标虚拟模型。
一种可能的实现方式,可以将第一空闲资源、第二空闲资源、用户选择的虚拟模型、第一细节层次和第一视觉效果中的至少一种输入优化模型。示例性的,该优化模型可以基于传统人为设定的方案,优化的参数包括虚拟模型的细节层次、视觉效果、云侧和端侧的资源分配情况。优化模型基于输入,对虚拟模型的细节层次、视觉效果以及云侧和第一终端的资源分配情况中的至少一种进行优化,给出建议的虚拟模型的细节层次、视觉效果,或者云侧和第一终端的资源分配方案。
图9示出了使用优化模型进行渲染优化的一个示例。如图9所示,其中输入的虚拟模型本身包含了该虚拟模型的细节层次信息,比如为第二级细节层次。优化模型基于输入的虚拟模型及其细节层次、期望的视觉效果、云侧空闲资源(即第一空闲资源)和端侧空闲资源(即第二空闲资源),给出建议的视觉效果、建议的细节层次、云侧分配的资源以及端侧分配的资源,即渲染策略。一个示例,优化模型会输出一个可供用户选择的光照效果的意见表单,以及端云两侧的计算资源分配和计算任务分配的情况,而不是选择所有的渲染计算都在云侧完成,且所有的模型都渲染所有的视觉效果。
传统的基于端云渲染方案通常是在云端服务器完成所有的渲染任务,并将渲染结果传回到移动端进行显示,这些方案的假设条件之一为云端的计算资源足够充足。于此相比,本申请实施例在对虚拟模型进行渲染时,能够充分考虑对渲染有影响的各个因素,比如云侧和端侧允许的空余计算资源、渲染对象包括的3D模型的复杂程度、渲染的效果的计算复杂程度等,给出用户建议选用渲染策略,比如云侧和端侧分配的计算资源、建议的虚拟模型的细节层次以及视觉效果等。基于此本申请实施例能够在可利用资源以及渲染质量之间找到一个较好的平衡点,从而能够有助于减少资源的浪费,并节约时间成本。
一些可选的实施例中,云侧服务器的资源分配情况可以指示云侧的渲染计算占用资源占第一空闲资源的比例,第一终端的资源分配情况可以指端侧的渲染计算占用资源占第二空闲资源的比例。一个具体的例子,当第一空闲资源为X,第二空闲资源为Y时,云侧渲染计算可占用资源为20%X,端侧渲染计算可占用资源为20%Y。云侧和端侧的资源分配情况可以包括以下三种可能情况。
第一种可能的情况,当需要云侧单独完成AR内容的渲染时,例如为目标虚拟模型复杂度较高,或终端设备空闲资源较少,或者渲染过程复杂的情况,第一终端可以向云侧服务器发送原始虚拟模型的标识、上述太阳光的方向信息和环境光照图。可选的,第一终端还可以向服务器发送渲染策略。
服务器在接收到原始虚拟模型的标识、上述太阳光的方向信息和环境光照图后,从其保存的虚拟模型库中获取该目标虚拟模型对应的原始虚拟模型。然后,根据太阳光的方向信息和环境光照图,对该原始虚拟模型进行渲染,获取该目标虚拟模型。可选的,还可以根据渲染策略中指示渲染方式,对该原始虚拟模型进行渲染。然后,向第一终端发送该渲染好的目标虚拟模型。
第二种可能的情况,当需要端侧和云侧协作完成AR内容的渲染时,例如第一终端和云侧服务器均具有空闲资源的情况,第一终端可以向云侧服务器发送原始虚拟模型的标识、上述太阳光的方向信息和环境光照图。可选的,第一终端还可以向服务器发送该渲染策略。
服务器在接收到原始虚拟模型的标识、上述太阳光的方向信息和环境光照图后,从其保存的虚拟模型库中获取该目标虚拟模型对应的原始虚拟模型。一个示例,服务器可以根据渲染策略指示的云侧服务器的资源分配情况以及渲染策略指示的其他渲染方式、太阳光的方向信息和环境光照图,对该原始虚拟模型进行渲染,获取该第一虚拟模型。然后,向第一终端发送该渲染好的目标虚拟模型。对应的,第一终端接收该第一虚拟模型。
第一终端接收到第一虚拟模型之后,可以根据渲染策略指示的第一终端备的资源分配情况以及渲染策略指示的其他渲染方式、太阳光的方向信息和环境光照图,对该第一虚拟模型进行渲染,获取上述目标虚拟模型。
可选的,对于第一种情况和第二种情况,当服务器本地没有虚拟模型库时,第一终端可以将该原始虚拟模型发送给终端设备,本申请实施例对此不做限定。
第三种可能的情况,当需要端侧单独完成AR内容的渲染时,例如为目标虚拟模型复杂度较低,或第一终端空闲资源较多,或者渲染过程不复杂的情况,第一终端可以向云侧服务器发送原始虚拟模型的标识。可选的,第一终端还可以向服务器发送该渲染策略。
服务器收到该所述原始虚拟模型的标识之后,从虚拟其保存的虚拟模型库中获取该原始虚拟模型。然后,将该原始虚拟模型发送给第一终端。可选的,服务器还可以根据渲染策略中目标虚拟模型的细节层次,从虚拟模型库中获取该细节层次的原始虚拟模型。
第一终端接收到该原始虚拟模型之后,根据渲染策略、太阳光的方向信息和环境光照图,对该第一虚拟模型进行渲染,获取上述目标虚拟模型。
可选的,对于第三种情况,当第一终端本地保存有虚拟模型库时,终端设不需要从服务器接收该原始虚拟模型,而是从本地的虚拟模型库中获取该原始虚拟模型,本申请实施例对此不做限定。
因此,相对于将所有渲染相关的计算都在云侧或端侧完成的技术方案,或者所有模型都渲染所有视觉效果的技术方案,本申请实施例能够充分考虑对渲染有影响的各个因素,实现云侧、端侧或云侧和端侧协同完成AR内容的渲染,并且合理利用云侧或端侧的资源,避免对资源造成浪费,且能够节约时间成本。
可选的,第一终端在获取该目标虚拟模型之后,还可以向服务器发送该目标虚拟模型,以便于服务器对该目标虚拟模型进行发布。在该目标虚拟模型发布之后,其他用户设备可以从服务器获取该目标虚拟模型。
在一些可选的实施例中,第一终端还可以根据环境光照图和原始虚拟模型,获取目标虚拟模型。因为本申请实施例中的环境光照图是根据GPS信息和时间信息获得的,而GPS信息和时间信息可以确定目标场景中的太阳光的方向信息,因此本申请实施例中的环境光照图准确性更高,进而有助于保证生成的目标虚拟模型的光照一致性,有助于在终端设备上制作出高质量的AR内容。
步骤360,根据所述第一视频流和所述目标虚拟模型,生成第二视频流。
示例性的,可以将目标虚拟模型渲染在第一视频流中的一个平面上,以生成该第二视频流,其中第二视频流是对第一视频流融合了该目标虚拟模型之后的视频流。一个示例,第二视频流中可以包括多帧图像,该多帧图像中例如包括第二图像,第二图像可以是第一视频流中的一个图像(比如第一图像,或在获取第一图像之后获取的一个图像)融合了该目标虚拟模型之后的图像。
一些可选的实施例,第一终端在获取该第二视频流之后,还可以向用户显示该第二视频流。
在一些可选的实施例中,还可以根据第三视频流和该目标虚拟模型,生成第二视频流。其中,第三视频流可以是在获取第一视频流之后获取的视频流,并且第三视频流中包含的真实场景与第一视频流中包含的真实场景相同。
本申请实施例中,根据终端设备的GPS信息和时间信息,可以获取太阳光的方向信息,这能够有助于提高环境光照图的准确性。因为环境光照图会影响虚拟模型在第一视频流中的着色和阴影,因此本申请实施例在提高环境光照图的准确性的情况下,能够进一步有助于保证生成的目标虚拟模型的光照一致性,进而有助于在终端设备上制作出高质量的AR内容。
另外,现有的基于太阳天空模型的深度学习的室外光照估计方案,可以输出太阳的位置以及环境光照的environment map。该方案局限于晴朗天空的光照估计,光照输出的environment map不包含周围的环境纹理信息,无法反射周围环境的信息,因此不能用于具有反射材质属性的虚拟物体(即虚拟模型)渲染。并且,该方案仅基于单张RGB图像的输入,未考虑多帧结果融合,更新输出结果。于此相比,本申请实施例剔除了现有基于物理模型(比如太阳天空)方案中的根据物理公式拟合光照的步骤,即不依赖于物理模型,而是创建端到端的架构,基于深度学习算法,对于不同时间段,不同天气的鲁棒性强。并且,本申请实施例不仅仅局限于单张RGB图像的输入,同时加入了经纬度信息(比如GPS信息)以及时间信息,输出包括太阳光的方向信息,包含环境纹理信息的环境光照environment map,可以用于具有反射、投射材质属性的虚拟物体的渲染。
下面,结合图10,详细描述本申请的媒体内容生成的方法的一个具体的实施例。应注意,下面的例子仅仅是为了帮助本领域技术人员理解和实现本发明的实施例,而非限制本发明实施例的范围。本领域技术人员可以根据这里给出的例子进行等价变换或修改,这样的变换或修改仍然应落入本发明实施例的范围内。
图10示出了本申请实施例提供的一种媒体内容生成的方法的示意性流程图。应理解,图10示出了媒体内容生成的方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图10中的各个操作的变形。此外,图10中的各个步骤可以按照与图10呈现的不同的顺序来执行,并且有可能并非要执行图10中的全部操作。
步骤1001,检测平面(detect a plane)。该平面可以用于设置目标虚拟模型。
示例性的,用户可以打开手机相机,利用SLAM技术检测场景中的平面。具体而言,手机可以利用SLAM技术获取相机的位姿,并将第一视频流中真实场景映射在第一视频流中真实场景的全景光照映射到360度的球(sphere)上或立方体(cube)上,此时可以进一步获取真实场景中各物体在该360度的球(sphere)上或立方体(cube)对应的坐标系中的位姿信息。
用户可以在手机界面呈现的该第一视频流中选择第一平面,其中,该第一平面上能够设置目标虚拟模型,即AR内容。示例性的,用户可以触摸屏幕上的第一位置,第一终端在获取用户的该触摸操作后,确定该第一位置在上述全景光照映射到坐标系对应的位置信息,然后根据该位置信息确定该第一平面。
步骤1002,加载模型(place a model)。
这里,该模型即为原始虚拟模型,例如具有迪士尼原则(disney principled)BRDF材质数据的模型。应注意,这里的原始虚拟模型的几何复杂度给用户提供不同的细节层次(三角片面),例如这里可以提供三个不同层次的细节模型。一个具体的例子,可以提供一个兔子的原始虚拟模型,该原始虚拟模型的细节层次有3级,其中第一级包括约6000个三角片面数,第二级包括约120000个三角片面数,第三级包括约240000个三角片面数。具体的,原始虚拟模型可以参见上文中的描述,为了简洁,这里不再赘述。
图11示出了终端设备显示界面的一个示例。如图11所示,可以通过终端设备的界面中的显示区域#1向用户显示虚拟模型库中的至少一个虚拟模型的标识,即原始虚拟模型的标识,比如虚拟模型标识#1至虚拟模型标识#6。需要说明的是,该虚拟模型库是保存在云侧的服务器中,或者终端设备本地的,本申请实施例对此不做限定。
作为示例,终端设备可以通过界面中的输入区域#1获取所述用户输入的操作#1,其中操作#1用于在该虚拟模型库中选择虚拟模型。示例性的,当终端设备包括触摸显示屏时,输入区域#1可以为虚拟模型的图标的显示区域。一个示例,用户可以通过触摸虚拟模型#3的图标的显示区域(输入区域#1的一个示例),执行用于选择虚拟模型#3的操作#1。响应于该操作#1,终端设备获取用户选择的虚拟模型#3。
可选的,本申请实施例还可以向用户提供不同的细节层次的虚拟模型,以供用户来选择期望的虚拟模型的细节层次或复杂度。如图12所示,在用户选择虚拟模型之后,可以通过终端设备的界面中的显示区域#2向用户显示该虚拟模型的两个或更多的细节层次等级(或复杂度等级),比如3个细节层次等级。
作为示例可以通过终端设备的界面中的输入区域#2获取所述用户输入的操作#2,其中操作#2用于选择用户期望的细节层次(可以称为第一细节层次)。示例性的,当终端设备包括触摸显示屏时,输入区域#2可以为可选择的细节层次等级的图标的显示区域。一个示例,用户可以通过触摸第三级的图标的显示区域(输入区域#2的一个示例),执行用于选择第三级细节层次的操作#2。响应于该操作#2,终端设备获取用户期望的级细节层次。
一些可选的实施例,如图13所示,在用户选择虚拟模型之后,可以通过终端设备的界面中的显示区域#3向用户显示该虚拟模型可能具有的视觉效果,比如该虚拟模型的阴影计算、次表面散射(subsurface scattering)、反射(reflection)、折射(refraction)和环境吸收(ambient occlusion)等视觉效果中的至少一种。
作为示例,可以通过终端设备的界面中的输入区域#3获取所述用户输入的操作#3,其中操作#3用于在选择用户期望的视觉效果(可以称为第二细节层次)。示例性的,当终端设备包括触摸显示屏时,输入区域#3可以为可选择的视觉效果的图标的显示区域。一个示例,用户可以通过触摸散射的图标的显示区域和环境吸收的图标的显示区域(输入区域#3的一个示例),执行用于选择用户期望的视觉效果的操作#3。响应于该操作#3,终端设备获取用户期望的视觉效果。
步骤1003,获取太阳光的方向信息和环境光照图。
示例性的,用户在打开相机之后,可以根据相机捕捉到的第一视频流,比如RGB视频流,光照估计模型自动估计出场景的光照情况(estimate lighting),输出环境光照图(environment map)以及太阳光的方向信息。
具体的,步骤1003可以参见上文图3中的描述,为了简洁,这里不再赘述。
步骤1004,优化(optimization)渲染策略。
示例性的,终端设备中的端云协同优化模块会根据用户期望的虚拟模型的细节层次,光照效果(比如阴影、reflection、subspace、ambient occlusion),手机端的空余资源、云侧的空闲资源,优化出一个资源分配和渲染效果的建议(即渲染策略)给用户。具体的,步骤1004可以参见上文图3中的描述,为了简洁,这里不再赘述。
一些可能的实施例,可以通过终端设备的用户界面(user interface,UI)中的显示区域向用户显示该渲染策略,例如显示建议的所述虚拟模型的第二细节层次,建议的所述虚拟模型的第二视觉效果,以及渲染融合后的所述第一视频流时所述云侧和所述终端设备侧的资源分配情况中的至少一种。作为一个示例,可以通过终端设备的UI层面弹出相应的优化列表。
图14示出了本申请实施例提供的终端设备的UI的一个示意图。如图14所示,可以通过显示区域#4向用户显示优化建议,比如云侧渲染计算资源占云侧空闲资源X的20%,即20%X,端侧渲染计算资源占端侧空闲资源Y的30%,即30%Y,建议模型的细节层次为第二级,建议模型的视觉效果包括阴影计算和环境吸收。
一些可选的实施例,在图14中还可以显示云侧和端侧的空闲资源情况,模型的细节层次情况以及可选的视觉效果。例如,可以通过显示区域#5显示云侧的空闲资源为X,端侧的空闲资源为Y,模型的细节层次共3级,可选的视觉效果包括阴影计算、次表面散射、反射、折射和环境吸收。
步骤1005,修改渲染策略。
一些可选的实施例,如果用户不满意优化建议,则用户可以对优化模型给出的渲染策略进行适当的修改,比如用户需要包括某一特定的渲染效果(choose a filier),或者选择不同的视觉效果(choose different effects)。
例如渲染策略中建议的视觉效果包括阴影计算和环境吸收,但是用户还想要在最终的计算机图形学(computer graphics,CG)内容中包含次表面散射的效果。此时,可以通过终端设备的界面中的输入区域获取所述用户输入的修改操作,所述修改操作用于修正所述渲染策略,其中,修正所述渲染策略包括修正所述第二细节层次,修正所述第二视觉效果,以及修正所述资源分配情况中的至少一种。
例如,如图14和图15所示,可以通过终端设备的界面中的输入区域#4获取用户执行的操作#4,通过终端设备的界面中的输入区域#5获取用户执行的操作#5。其中,操作#4用于确定修改优化建议,操作#5用于选择用户期望的渲染策略。示例性的,当终端设备包括触摸显示屏时,输入区域#4可以为修改图标的显示区域,输入区域#5可以为可修改的云侧渲染计算资源、可修改的端侧渲染计算资源、可修改的建议模型细节层次,以及可修改的建议视觉效果中的至少一种对应的图标的显示区域。
一个示例,如图15所示,用户可以通过触摸第三级细节层次的图标的显示区域(输入区域#5的一个示例),将修改优化建议给出的第二级细节层次修改为第三级细节层次,通过触摸次表面散射的图标的显示区域(输入区域#5的一个示例),在优化建议给出的建议视觉效果中增加次表面散射的视觉效果。另一个示例,用户还可以通过触摸阴影计算的图标的显示区域(输入区域#5的一个示例),在优化建议给出的建议视觉效果中删除阴影计算的视觉效果。
作为一种可能的实现方式,用户还可以通过输入区域#6输入确认操作,该确认操作用于指示用户确认渲染策略。例如,在图14中,该确认操作用于指示用户确认终端设备建议的渲染策略,在图15中,该确认操作用于指示用户确认对于渲染策略的修改。相应的,终端设备通过该输入区域#6获取该确认操作,并获取最终的渲染策略。
因此,本申请实施例在给出用户优化建议之后,可以向用户显示给出的该优化建议,并且用户通过UI交互界面,可以对云侧和端侧的计算资源的分配进行调整,或对模型的细节层次或视觉效果进行调整。基于此,本申请实施例够获取用户对于该优化建议的修改反馈,进一步满足用户需求。
步骤1006,云侧和端侧协同渲染(rendering)。
具体的,终端设备根据该渲染策略,与云端协作对原始虚拟模型进行渲染,获取目标虚拟模型,以及第二视频流。作为示例,步骤1006中的第二视频流是对步骤1001中的第一视频流融合了该虚拟模型之后的视频流。具体的,步骤1006可以参见上文图3中的描述,为了简洁,这里不再赘述。
因此,本申请实施例中,根据终端设备的经纬度信息和时间信息,能够获取太阳光的方向信息,有助于提高环境光照图的准确性。因为环境光照图会影响虚拟模型在第一视频流中的着色和阴影,因此本申请实施例在提高环境光照图的准确性的情况下,能够进一步有助于保证生成的目标虚拟模型的光照一致性,进而有助于在终端设备上制作出高质量的AR内容。另外,本申请实施例能够充分考虑对渲染有影响的各个因素,实现云侧、端侧或云侧和端侧协同完成AR内容的渲染,并且合理利用云侧或端侧的资源,避免对资源造成浪费,且能够节约时间成本。
本申请实施例还提供了一种媒体内容生成的装置,请参见图16。示例性的,该装置900可以为图1或图2中的终端设备。进一步的,该装置900还可以为内置于该终端设备中的相机的媒体内容生成模块或者是单独的用于生成媒体内容的APP,本申请实施例对此不做限定。本申请实施例中,装置900可以称为第一终端,该装置900包括第一获取单元910、第二获取单元940、第一确定单元920、第二确定单元930和生成单元950。
第一获取单元910,用于获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,其中,所述第一视频流中包含目标场景。
第一确定单元920,用于根据所述GPS信息和所述时间信息,确定所述目标场景中太阳光的方向信息。
所述第一确定单元920还用于根据所述第一视频流、所述GPS信息和所述时间信息确定环境光照图,所述环境光照图用于表示所述目标场景的环境光照情况。
第二确定单元930,用于确定原始虚拟模型。
第二获取单元940,用于根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型。
生成单元950,用于根据所述第一视频流和所述目标虚拟模型,生成第二视频流。
在一些可能的实现方式中,所述第一确定单元920具体用于:
将所述第一视频流、所述GPS信息和所述时间信息输入预设的光照估计模型,获取所述环境光照图,其中,所述光照估计模型是利用训练数据样本集训练得到的,其中,所述训练数据样本集中包括不同时间的环境光照图样本,和/或不同天气的环境光照图样本。
在一些可能的实现方式中,所述环境光照图中包括光照信息和环境纹理信息。
在一些可能的实现方式中,所述第一获取单元910具体用于从第二终端接收所述第一视频流、所述GPS信息和所述时间信息。
在一些可能的实现方式中,所述第一获取单元910具体用于通过拍摄获取所述第一视频流,并获取在拍摄所述第一视频流时的GPS信息和所述终端设备拍摄所述第一视频流的时间信息。
在一些可能的实现方式中,所述第一获取单元910具体用于从本地数据库中获取所述第一视频流,以及所述GPS信息和所述时间信息。
在一些可能的实现方式中,所述第二获取单元940具体用于:
向服务器发送所述方向信息和所述环境光照图,以及所述原始虚拟模型的标识;
从所述服务器接收第一虚拟模型,其中,所述第一虚拟模型是所述服务器根据所述方向信息和所述环境光照图对所述原始虚拟模型进行渲染得到的;
根据所述第一虚拟模型,获取所述目标虚拟模型。
在一些可能的实现方式中,所述第一虚拟模型为所述目标虚拟模型。
在一些可能的实现方式中,所述第二获取单元940具体用于根据所述方向信息和所述环境光照图,对所述第一虚拟模型进行渲染,获取所述目标虚拟模型。
在一些可能的实现方式中,所述第二获取单元940具体用于:
向服务器发送所述原始虚拟模型的标识;
从所述服务器接收所述原始虚拟模型;
根据所述方向信息和所述环境光照图对所述原始虚拟模型进行渲染,获取所述目标虚拟模型。
在一些可能的实现方式中,所述第二获取单元940还用于:
从所述服务器接收指示信息,所述指示信息用于指示所述服务器的空闲资源情况;
响应于用户执行的第一操作,确定用户期望的所述目标虚拟模型的效果,其中,所述第一操作用于选择用户期望的所述目标虚拟模型的效果;
根据所述服务器和/或所述终端设备的空闲资源情况、用户期望的所述目标虚拟模型的效果中的至少一种,确定渲染策略,其中,所述渲染策略用于指示建议的所述目标虚拟模型的效果、所述终端设备和/或所述服务器的资源分配情况中的至少一种;
其中,所述第二获取单元具体还用于根据所述渲染策略、所述方向信息和所述环境光照图,获取所述目标虚拟模型。
在一些可能的实现方式中,所述目标虚拟模型的效果包括所述目标虚拟模型的细节层次、阴影计算、次表面散射、反射、折射和环境吸收中的至少一种。
在一些可能的实现方式中,所述第二确定单元930具体用于响应于用户执行的第二操作,确定所述原始虚拟模型,其中,所述第二操作用于选择用户期望融合到所述第一视频流中的媒体内容对应的原始虚拟模型。
在一些可能的实现方式中,所述第二确定单元930具体用于根据所述目标场景的内容,确定所述原始虚拟模型。
应注意,本申请实施例中,第一确定单元920、第二确定单元930和生成单元950可以由处理器实现,第一获取单元910和第二获取单元940可以由处理器实现,也可以由处理器通过控制通信接口实现。
图17示出了本申请实施例提供的另一种媒体内容生成的装置1000的示意性框图。如图17所示,装置1000可以包括通信接口1010、处理器1020和存储器1030。其中,存储器1030可以用于存储数据处理的中间数据和处理器1020执行的代码等。
示例性的,处理器1020可以通过通信接口1010获取媒体内容生成所用的数据,例如从其他终端设备接收第一视频流,以及拍摄该第一视频流的GPS信息和时间,或者从服务器接收原始虚拟模型或目标虚拟模型等,本申请实施例对此不做限定。
在实现过程中,上述方法的各步骤可以通过处理器1020中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1030,处理器1020读取存储器1030中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
图16所示的媒体内容生成的装置900或图17所示的媒体内容生成的装置1000所执行的操作或步骤可以参见上文中方法实施例中的各个操作或步骤的相关描述,为避免重复,这里不再赘述。
本申请实施例还提供了一种媒体内容生成的装置1100,请参见图18。示例性的,该装置1100可以为云侧的服务器。该装置1100包括接收单元1110、第一获取单元1120、第二获取单元1130和发送单元1140。
接收单元1110,用于从终端设备接收目标场景中太阳光的方向信息和环境光照图,其中,所述环境光照图用于表示所述目标场景的环境光照情况;
接收单元1110还用于获取原始虚拟模型的标识;
第一获取单元1120,用于根据所述原始虚拟模型的标识,获取所述原始虚拟模型;
第二获取单元1130,用于根据所述方向信息和所述环境光照图,对所述原始虚拟模型进行渲染,获取第一虚拟模型;
发送单元1140用于向所述终端设备发送所述第一虚拟模型。
本申请实施例中,根据终端设备的GPS信息和时间信息,可以获取太阳光的方向信息,这能够有助于提高环境光照图的准确性。因为环境光照图会影响虚拟模型在第一视频流中的着色和阴影,因此本申请实施例在提高环境光照图的准确性的情况下,能够进一步有助于保证生成的虚拟模型的光照一致性,进而有助于在终端设备上制作出高质量的AR内容。
在一些可能的实现方式中,所述第一虚拟模型为所述目标虚拟模型。此时,云侧服务器能够单独完成AR内容的渲染,可以适用于目标虚拟模型复杂度较高,或终端设备空闲资源较少,或者渲染过程复杂的场景。
在一些可能的实现方式中,还包括:
所述接收单元1110还用于从所述终端设备接收渲染策略,所述渲染策略用于指示建议的所述目标虚拟模型的效果、所述终端设备和/或所述服务器的资源分配情况中的至少一种。
其中,所述第二获取单元1130具体用于根据所述渲染策略、所述方向信息和所述环境光照图,对所述原始虚拟模型进行渲染,获取所述第一虚拟模型。
其中,渲染策略可以是充分考虑对渲染有影响的各个因素,比如云侧和端侧的空闲资源、虚拟模型的细节层次、视觉效果等,给出用户建议选用渲染策略,比如云侧和端侧分配的计算资源、建议的虚拟模型的细节层次以及视觉效果等。基于此本申请实施例能够在可利用资源以及渲染质量之间找到一个较好的平衡点,从而能够有助于减少资源的浪费。
应注意,本申请实施例中,接收单元1110和发送单元1140可以由通信接口实现,第一获取单元1120和第二获取单元1130可以由处理器实现。
图19示出了本申请实施例提供的另一种媒体内容生成的装置1200的示意性框图。如图19所示,装置1200可以包括通信接口12210、处理器1220和存储器1230。其中,存储器1230可以用于存储数据处理的中间数据和处理器1220执行的代码等。
在实现过程中,上述方法的各步骤可以通过处理器1220中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1230,处理器1220读取存储器1230中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
图18所示的媒体内容生成的装置1100或图19所示的媒体内容生成的装置1200所执行的操作或步骤可以参见上文中方法实施例中的各个操作或步骤的相关描述,为避免重复,这里不再赘述。
本申请实施例还提供了一种用于媒体内容生成的装置,请参见图20。示例性的,该装置1300可以为图1或图2中的终端设备。该装置1300包括拍摄单元1310、获取单元1320、和发送单元1330。
拍摄单元1310用于拍摄第一视频流,所述第一视频流中包含目标场景;
获取单元1320用于获取拍摄所述第一视频流时的GPS信息和时间信息;
发送单元1330用于向第二终端设备发送所述第一视频流、所述GPS信息和所述时间信息。
本申请实施例中,拍摄第一视频流时的终端设备的GPS信息和时间信息,可以用于获取太阳光的方向信息,这能够有助于提高环境光照图的准确性。因为环境光照图会影响虚拟模型在第一视频流中的着色和阴影,因此本申请实施例在提高环境光照图的准确性的情况下,能够进一步有助于保证生成的虚拟模型的光照一致性,进而有助于在终端设备上制作出高质量的AR内容。
应注意,本申请实施例中,获取单元1320可以由处理器实现,发送单元1330可以由通信接口实现。
图21示出了本申请实施例提供的另一种媒体内容生成的装置1400的示意性框图。如图21所示,装置1400可以包括通信接口1410、处理器1420和存储器1430。其中,存储器1430可以用于存储数据处理的中间数据和处理器1420执行的代码等。
在实现过程中,上述方法的各步骤可以通过处理器1420中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1430,处理器1420读取存储器1430中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
图20所示的媒体内容生成的装置1300或图21所示的媒体内容生成的装置1400所执行的操作或步骤可以参见上文中方法实施例中的各个操作或步骤的相关描述,为避免重复,这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机程序,当其在计算机上运行时,使得该计算机执行上述方法实施例提供的方法。
本申请实施例还提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例提供的方法。
应理解,本发明实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本发明实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/“,表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (23)
1.一种媒体内容生成的方法,其特征在于,所述方法包括:
第一终端获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,其中,所述第一视频流中包含目标场景;
根据所述GPS信息和所述时间信息,确定所述目标场景中太阳光的方向信息;
根据所述第一视频流、所述GPS信息和所述时间信息确定环境光照图,所述环境光照图用于表示所述目标场景的环境光照情况;
确定原始虚拟模型;
根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型;
根据所述第一视频流和所述目标虚拟模型,生成第二视频流。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一视频流、所述GPS信息和所述时间信息确定环境光照图,包括:
将所述第一视频流、所述GPS信息和所述时间信息输入预设的光照估计模型,获取所述环境光照图,其中,所述光照估计模型是利用训练数据样本集训练得到的,所述训练数据样本集中包括不同时间的环境光照图样本,和/或不同天气的环境光照图样本。
3.根据权利要求1或2所述的方法,其特征在于,所述第一终端获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,包括:
所述第一终端接收第二终端发送的所述第一视频流、所述GPS信息和所述时间信息。
4.根据权利要求1或2所述的方法,其特征在于,所述第一终端获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,包括:
所述第一终端通过拍摄获取所述第一视频流,并获取拍摄所述第一视频流时的GPS信息和拍摄所述第一视频流的时间信息。
5.根据权利要求1或2所述的方法,其特征在于,所述第一终端获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,包括:
所述第一终端从本地数据库中获取所述第一视频流,以及所述GPS信息和所述时间信息。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型,包括:
向服务器发送所述方向信息和所述环境光照图,以及所述原始虚拟模型的标识;
从所述服务器接收第一虚拟模型,其中,所述第一虚拟模型是所述服务器根据所述方向信息和所述环境光照图对所述原始虚拟模型进行渲染得到的;
根据所述第一虚拟模型,获取所述目标虚拟模型。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型,包括:
向服务器发送所述原始虚拟模型的标识;
从所述服务器接收所述原始虚拟模型;
根据所述方向信息和所述环境光照图对所述原始虚拟模型进行渲染,获取所述目标虚拟模型。
8.根据权利要求6或7所述的方法,其特征在于,所述根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型之前,还包括:
从所述服务器接收指示信息,所述指示信息用于指示所述服务器的空闲资源情况;
响应于用户执行的第一操作,确定用户期望的所述目标虚拟模型的效果,其中,所述第一操作用于选择用户期望的所述目标虚拟模型的效果;
根据所述服务器和/或所述终端设备的空闲资源情况、用户期望的所述目标虚拟模型的效果中的至少一种,确定渲染策略,其中,所述渲染策略用于指示建议的所述目标虚拟模型的效果、所述终端设备和/或所述服务器的资源分配情况中的至少一种;
其中,所述根据所述方向信息和所述环境光照图和所述原始虚拟模型,获取目标虚拟模型,包括:
根据所述渲染策略、所述方向信息和所述环境光照图,获取所述目标虚拟模型。
9.根据权利要8所述的方法,其特征在于,所述目标虚拟模型的效果包括所述目标虚拟模型的细节层次、阴影计算、次表面散射、反射、折射和环境吸收中的至少一种。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述确定原始虚拟模型,包括:
响应于用户执行的第二操作,确定所述原始虚拟模型,其中,所述第二操作用于选择用户期望融合到所述第一视频流中的媒体内容对应的原始虚拟模型。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述确定原始虚拟模型,包括:
根据所述目标场景的内容,确定所述原始虚拟模型。
12.一种媒体内容生成的装置,其特征在于,所述装置为第一终端,所述装置包括:
第一获取单元,用于获取第一视频流、拍摄所述第一视频流时的全球定位系统GPS信息和时间信息,其中,所述第一视频流中包含目标场景;
第一确定单元,用于根据所述GPS信息和所述时间信息,确定所述目标场景中太阳光的方向信息;
所述第一确定单元还用于根据所述第一视频流、所述GPS信息和所述时间信息确定环境光照图,所述环境光照图用于表示所述目标场景的环境光照情况;
第二确定单元,确定原始虚拟模型;
第二获取单元,用于根据所述太阳光的方向信息、所述环境光照图和所述原始虚拟模型,获取目标虚拟模型;
生成单元,用于根据所述第一视频流和所述目标虚拟模型,生成第二视频流。
13.根据权利要求12所述的装置,其特征在于,所述第一确定单元具体用于:
将所述第一视频流、所述GPS信息和所述时间信息输入预设的光照估计模型,获取所述环境光照图,其中,所述光照估计模型是利用训练数据样本集训练得到的,所述训练数据样本集中包括不同时间的环境光照图样本,和/或不同天气的环境光照图样本。
14.根据权利要求12或13所述的装置,其特征在于,所述第一获取单元具体用于:
接收第二终端发送的所述第一视频流、所述GPS信息和所述时间信息。
15.根据权利要求12或13所述的装置,其特征在于,所述第一获取单元具体用于:
通过拍摄获取所述第一视频流,并获取拍摄所述第一视频流时的GPS信息和拍摄所述第一视频流的时间信息。
16.根据权利要求12或13所述的装置,其特征在于,所述第一获取单元具体用于:
从本地数据库中获取所述第一视频流,以及所述GPS信息和所述时间信息。
17.根据权利要求12-16任一项所述的装置,其特征在于,所述第二获取单元具体用于:
向服务器发送所述方向信息和所述环境光照图,以及所述原始虚拟模型的标识;
从所述服务器接收第一虚拟模型,其中,所述第一虚拟模型是所述服务器根据所述方向信息和所述环境光照图对所述原始虚拟模型进行渲染得到的;
根据所述第一虚拟模型,获取所述目标虚拟模型。
18.根据权利要求12-16任一项所述的装置,其特征在于,所述第二获取单元具体用于:
向服务器发送所述原始虚拟模型的标识;
从所述服务器接收所述原始虚拟模型;
根据所述方向信息和所述环境光照图对所述原始虚拟模型进行渲染,获取所述目标虚拟模型。
19.根据权利要求17或18所述的装置,其特征在于,所述第二获取单元还用于:
从所述服务器接收指示信息,所述指示信息用于指示所述服务器的空闲资源情况;
响应于用户执行的第一操作,确定用户期望的所述目标虚拟模型的效果,其中,所述第一操作用于选择用户期望的所述目标虚拟模型的效果;
根据所述服务器和/或所述终端设备的空闲资源情况、用户期望的所述目标虚拟模型的效果中的至少一种,确定渲染策略,其中,所述渲染策略用于指示建议的所述目标虚拟模型的效果、所述终端设备和/或所述服务器的资源分配情况中的至少一种;
其中,所述根据所述方向信息和所述环境光照图和所述原始虚拟模型,获取目标虚拟模型,包括:
根据所述渲染策略、所述方向信息和所述环境光照图,获取所述目标虚拟模型。
20.根据权利要求19所述的装置,其特征在于,所述目标虚拟模型的效果包括所述目标虚拟模型的细节层次、阴影计算、次表面散射、反射、折射和环境吸收中的至少一种。
21.根据权利要求12-20任一项所述的装置,其特征在于,所述第二确定单元具体用于:
响应于用户执行的第二操作,确定所述原始虚拟模型,其中,所述第二操作用于选择用户期望融合到所述第一视频流中的媒体内容对应的原始虚拟模型。
22.根据权利要求12-21任一项所述的装置,其特征在于,所述第二确定单元具体用于:
根据所述目标场景的内容,确定所述原始虚拟模型。
23.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359703.2A CN113110731B (zh) | 2019-12-25 | 2019-12-25 | 媒体内容生成的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359703.2A CN113110731B (zh) | 2019-12-25 | 2019-12-25 | 媒体内容生成的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113110731A true CN113110731A (zh) | 2021-07-13 |
CN113110731B CN113110731B (zh) | 2023-07-14 |
Family
ID=76708574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911359703.2A Active CN113110731B (zh) | 2019-12-25 | 2019-12-25 | 媒体内容生成的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113110731B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125310A (zh) * | 2022-01-26 | 2022-03-01 | 荣耀终端有限公司 | 拍照方法、终端设备及云端服务器 |
CN114253228A (zh) * | 2021-11-22 | 2022-03-29 | 中国科学院软件研究所 | 一种基于数字孪生的工业设备对象建模方法及装置 |
WO2023191710A1 (zh) * | 2022-03-31 | 2023-10-05 | 脸萌有限公司 | 端云协同的媒体数据处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104656677A (zh) * | 2015-03-17 | 2015-05-27 | 滁州学院 | 可设置经纬度的随时间的阳光跟踪器 |
US20160180590A1 (en) * | 2014-12-23 | 2016-06-23 | Lntel Corporation | Systems and methods for contextually augmented video creation and sharing |
CN106937531A (zh) * | 2014-06-14 | 2017-07-07 | 奇跃公司 | 用于产生虚拟和增强现实的方法和系统 |
CN107871339A (zh) * | 2017-11-08 | 2018-04-03 | 太平洋未来科技(深圳)有限公司 | 视频中虚拟对象色彩效果的渲染方法和装置 |
CN108510556A (zh) * | 2018-03-30 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | 用于处理图像的方法和装置 |
-
2019
- 2019-12-25 CN CN201911359703.2A patent/CN113110731B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106937531A (zh) * | 2014-06-14 | 2017-07-07 | 奇跃公司 | 用于产生虚拟和增强现实的方法和系统 |
US20160180590A1 (en) * | 2014-12-23 | 2016-06-23 | Lntel Corporation | Systems and methods for contextually augmented video creation and sharing |
CN104656677A (zh) * | 2015-03-17 | 2015-05-27 | 滁州学院 | 可设置经纬度的随时间的阳光跟踪器 |
CN107871339A (zh) * | 2017-11-08 | 2018-04-03 | 太平洋未来科技(深圳)有限公司 | 视频中虚拟对象色彩效果的渲染方法和装置 |
CN108510556A (zh) * | 2018-03-30 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | 用于处理图像的方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253228A (zh) * | 2021-11-22 | 2022-03-29 | 中国科学院软件研究所 | 一种基于数字孪生的工业设备对象建模方法及装置 |
CN114253228B (zh) * | 2021-11-22 | 2023-09-12 | 中国科学院软件研究所 | 一种基于数字孪生的工业设备对象建模方法及装置 |
CN114125310A (zh) * | 2022-01-26 | 2022-03-01 | 荣耀终端有限公司 | 拍照方法、终端设备及云端服务器 |
WO2023191710A1 (zh) * | 2022-03-31 | 2023-10-05 | 脸萌有限公司 | 端云协同的媒体数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113110731B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200380769A1 (en) | Image processing method and apparatus, storage medium, and computer device | |
US10937216B2 (en) | Intelligent camera | |
US20200312029A1 (en) | Augmented and virtual reality | |
CN109771951B (zh) | 游戏地图生成的方法、装置、存储介质和电子设备 | |
CN113110731B (zh) | 媒体内容生成的方法和装置 | |
US11276244B2 (en) | Fixing holes in a computer generated model of a real-world environment | |
US10140754B1 (en) | Graphical user interface system and method for modeling lighting of areas captured by location scouts | |
KR20230074538A (ko) | 목적지 위치들을 조직하고 공유하기 위한 인터페이스들 | |
CN114640783B (zh) | 一种拍照方法及相关设备 | |
KR20230079177A (ko) | 증강 현실 콘텐츠 생성기들을 절차적으로 생성함 | |
CN115661320B (zh) | 图像处理方法及电子设备 | |
US20240070976A1 (en) | Object relighting using neural networks | |
US20160150143A1 (en) | Systems and methods for estimating sky light probes for outdoor images | |
KR20150079387A (ko) | 카메라 광 데이터로 가상 환경을 조명하는 방법 | |
KR20230079264A (ko) | 증강 현실 콘텐츠 생성기들에 대한 수집 파이프라인 | |
CN113474822A (zh) | 在图像中提供天气效果的系统和方法 | |
US11302040B2 (en) | System and method for providing weather effect in image | |
CN114972599A (zh) | 一种对场景进行虚拟化的方法 | |
US10542309B2 (en) | Electronic device and operation method thereof | |
CN114758601A (zh) | 屏幕显示颜色调整方法及电子设备 | |
US11776224B2 (en) | System and method for providing weather effect in image | |
US11854131B2 (en) | Content-specific-preset edits for digital images | |
US20230236543A1 (en) | Automatic three-dimensional presentation for hybrid meetings | |
US20230325908A1 (en) | Method of providing interior design market platform service using virtual space content data-based realistic scene image and device thereof | |
US20230123658A1 (en) | Generating shadows for digital objects within digital images utilizing a height map |
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 |