CN112165630A - 图像渲染方法、装置、电子设备及存储介质 - Google Patents
图像渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112165630A CN112165630A CN202011112218.8A CN202011112218A CN112165630A CN 112165630 A CN112165630 A CN 112165630A CN 202011112218 A CN202011112218 A CN 202011112218A CN 112165630 A CN112165630 A CN 112165630A
- Authority
- CN
- China
- Prior art keywords
- node
- child
- parent
- target
- nodes
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000033001 locomotion Effects 0.000 claims abstract description 98
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims 2
- 230000000694 effects Effects 0.000 abstract description 15
- 230000008569 process Effects 0.000 description 22
- 230000000977 initiatory effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 239000003999 initiator Substances 0.000 description 5
- 238000005034 decoration Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical group [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本申请提出一种图像渲染方法、装置、电子设备及存储介质,涉及互联网技术领域,针对目标图像中的待渲染对象所包括的多个骨骼节点,通过确定出相邻两个骨骼节点之间的父子关系,进而可以根据预先为每个骨骼节点配置的节点约束条件以及该父子关系,计算出每一对父子关系中子节点的运动轨迹,从而根据每一个子节点的运动轨迹,将待渲染对象渲染至目标图像;如此,可以利用各个骨骼节点之间的轨迹关联关系,计算各个子节点的运动轨迹,提高了各个骨骼节点之间的协同性,进而提高图像的渲染效果。
Description
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种图像渲染方法、装置、电子设备及存储介质。
背景技术
在例如网络直播等场景中,可以利用一些物理引擎,在直播图像中渲染比如面纱、头饰等一些装饰物作为特效,以丰富直播图像中的直播内容,提升直播效果。
然而,在对装饰物进行渲染的过程中,由于仅考虑了装饰物各个部位自身的运动轨迹,而没有考虑各个部位之间的关联性,导致渲染效果较差。
发明内容
本申请的目的在于提供一种图像渲染方法、装置、电子设备及存储介质,能够提高各个骨骼节点之间的协同性,进而提高图像的渲染效果。
为了实现上述目的,本申请采用的技术方案如下:
第一方面,本申请提供一种图像渲染方法,所述方法包括:
针对目标图像中的待渲染对象所包括的多个骨骼节点,确定出相邻两个骨骼节点之间的父子关系;其中,每一对父子关系包括一个父节点和一个子节点;
根据预先为每个骨骼节点配置的节点约束条件以及所述父子关系,计算出每一对所述父子关系中子节点的运动轨迹;其中,所述节点约束条件用于指示每一对具有父子关系的两个骨骼节点之间的轨迹关联关系;
根据每一个子节点的运动轨迹,将所述待渲染对象渲染至所述目标图像。
第二方面,本申请提供一种图像渲染装置,所述装置包括:
处理模块,用于针对目标图像中的待渲染对象所包括的多个骨骼节点,确定出相邻两个骨骼节点之间的父子关系;其中,每一对父子关系包括一个父节点和一个子节点;
所述处理模块还用于,根据预先为每个骨骼节点配置的节点约束条件以及所述父子关系,计算出每一对所述父子关系中子节点的运动轨迹;其中,所述节点约束条件用于指示每一对具有父子关系的两个骨骼节点之间的轨迹关联关系;
渲染模块,用于根据每一个子节点的运动轨迹,将所述待渲染对象渲染至所述目标图像。
第三方面,本申请提供一种电子设备,所述电子设备包括存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现上述的图像渲染方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的图像渲染方法。
本申请提供的一种图像渲染方法、装置、电子设备及存储介质,针对目标图像中的待渲染对象所包括的多个骨骼节点,通过确定出相邻两个骨骼节点之间的父子关系,进而可以根据预先为每个骨骼节点配置的节点约束条件以及该父子关系,计算出每一对父子关系中子节点的运动轨迹,从而根据每一个子节点的运动轨迹,将待渲染对象渲染至目标图像;如此,可以利用各个骨骼节点之间的轨迹关联关系,计算各个子节点的运动轨迹,提高了各个骨骼节点之间的协同性,进而提高图像的渲染效果。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1示出本申请提供的直播系统的一种交互场景示意图。
图2示出对图像进行渲染的一种效果示意图。
图3示出本申请提供的电子设备的一种示意性结构框图。
图4示出本申请提供的图像渲染方法的一种示例性流程图。
图5示出骨骼节点的一种示例图。
图6示出本申请提供的图像渲染装置的一种示例性结构框图。
图中:100-电子设备;101-存储器;102-处理器;103-通信接口;300-图像渲染装置;301-处理模块;302-渲染模块。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请的一些实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请选定的一些实施例。基于本申请中的一部分实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1示出本申请提供的直播系统的一种交互场景示意图,在一些实施例中,该直播系统可以是用于诸如互联网直播等的直播平台。该直播系统可以包括服务器、直播发起端以及直播接收端,服务器可以分别与直播接收端和直播发起端建立通信,服务器可以为直播接收端和直播发起端提供直播服务。例如,主播可以通过直播发起端为观众提供实时在线的直播流并传输给服务器,直播接收端可以从服务器拉取直播流进行在线观看或者回放。
在一些实施场景中,直播接收端和直播发起端可以互换使用。例如,直播发起端的主播可以使用直播发起端来为观众提供直播视频服务,或者作为观众查看其它主播提供的直播视频。又例如,直播接收端的观众也可以使用直播接收端观看所关注的主播提供的直播视频,或者作为主播为其它观众提供直播视频服务。
在一些实施例中,直播接收端和直播发起端可以包括但不限于移动设备、平板计算机、膝上型计算机,或其任意两种以上组合。在一些实施例中,移动设备可以包括但不限于可穿戴设备、智能移动设备、增强现实设备等,或其任意组合。在一些实施例中,智能移动设备可以包括但不限于智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏设备、导航设备、或销售点(point of sale,POS)设备等,或其任意组合。
另外,在一些可能的实施方式中,可能有零个、一个或多个直播接收端和直播发起端接入服务器,图1中仅示出一个。其中,直播接收端和直播发起端中可以安装用于提供互联网直播服务的互联网产品,例如,互联网产品可以是计算机或智能手机中使用的与互联网直播服务相关的应用程序APP、Web网页、小程序等。
在一些实施例中,服务器可以是单个物理服务器,也可以是一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器可以是分布式系统)。在一些可能的实施方式中,如服务器采用单个物理服务器,可以基于不同直播服务功能为该物理服务器分配不同的逻辑服务器组件。
可以理解的是,图1所示的直播系统仅为一种可能的示例,在本申请其它一些可能的实施例中,该直播系统也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
在例如图1所示的直播场景中,针对直播发起端提供的视频直播服务,可以利用一些物理引擎,对视频直播服务中的直播图像进行一些处理,比如在直播图像中渲染一些装饰物作为特效,以丰富直播图像中的直播内容,提升直播效果。
比如,结合图2的示例,可以在直播图像中渲染例如“面纱”等特效,并在直播码流中,持续对每一帧直播图像进行渲染,例如结合直播图形中目标对象(比如人物对象)的运动信息,渲染出“面纱”运动轨迹,使得在连续多帧的直播图像的播放过程中,“面纱”能够随着目标对象的运动一并运动。
其中,一些渲染方案在将装饰物作为待渲染对象,并对该待渲染对象进行渲染的过程中,一般仅考虑装饰物各个部位自身随着目标对象的运动轨迹,而没有考虑各个部位之间的关联性;比如在图2所示的场景中,装饰物“面纱”可以包括有多个骨骼节点,每一个骨骼节点可以为预先在装饰物中确定的点;在对装饰物进行渲染的过程中,可以通过控制装饰物在连续多帧直播图像中显示的坐标点,从而在播放连续的多帧直播图像的过程中,使装饰物可以在视觉上展示出随目标对象运动的效果,从而增加直播内容。
然而,上述渲染方案在对待装饰物进行渲染的过程中,一般仅考虑了装饰物各个部件中各个骨骼节点自身的运动轨迹,而没有考虑到各个骨骼节点之间的关联性,导致同一骨骼节点在连续多帧直播图像的移动的过程中,骨骼节点之间不具有协同性,渲染效果较差。
为此,基于上述渲染方案的缺陷,本申请提供的一种可能的实现方式为:针对目标图像中的待渲染对象所包括的多个骨骼节点,通过确定出相邻两个骨骼节点之间的父子关系,进而可以根据预先为每个骨骼节点配置的节点约束条件以及该父子关系,计算出每一对父子关系中子节点的运动轨迹,从而根据每一个子节点的运动轨迹,将待渲染对象渲染至目标图像;以提高各个骨骼节点之间的协同性,进而提高图像的渲染效果。
请参阅图3,图3示出本申请提供的电子设备100的一种示意性结构框图,在一些实施例中,电子设备100可以包括存储器101、处理器102和通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器101可以用于存储软件程序及模块,如本申请提供的图像渲染装置对应的程序指令/模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理,进而执行本申请提供的图像渲染方法的步骤。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解的是,图3所示的结构仅为示意,电子设备100还可以包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
下面以图3所示的电子设备作为示例性执行主体,对本申请提供的图像渲染方法进行示意性说明。
可以理解的是,在本申请一些可能的场景中,上述的电子设备100可以作为图1中的直播发起端,由直播发起端侧的主播与直播发起端进行交互,从而由直播发起端执行本申请提供的图像渲染方法,并将产生的直播码流发送给服务器,使得直播接收端可以从服务器拉取直播码流,并解码后播放经过渲染后的直播图像。
又或者,在本申请其他一些可能的场景中,上述的电子设备100还可以作为图1中的服务器,服务器通过接收直播发起端或者是直播接收端所发送的渲染请求,执行本申请提供的图像渲染方法,获得渲染后的直播图像,还可以将渲染后的直播图像发送给直播接收端与直播发起端中的至少之一,使得直播接收端与直播发起端中的至少一个,可以对渲染后的直播图像进行显示。
再或者,在本申请其他一些可能的场景中,上述的电子设备100还可以作为图1中的直播接收端,直播接收端从服务器拉取直播码流,并解码获得直播图像,且在直播接收端的显示界面显示直播图像的过程中,可以通过接收用户的指令信息,执行本申请提供的图像渲染方法,对直播图像进行渲染,且在直播接收端的显示界面显示渲染后的直播图像。
示例性地,请参阅图4,图4示出本申请提供的图像渲染方法的一种示例性流程图,该图像渲染方法可以包括以下步骤:
步骤201,针对目标图像中的待渲染对象所包括的多个骨骼节点,确定出相邻两个骨骼节点之间的父子关系。
步骤203,根据预先为每个骨骼节点配置的节点约束条件以及父子关系,计算出每一对父子关系中子节点的运动轨迹。
步骤205,根据每一个子节点的运动轨迹,将待渲染对象渲染至目标图像。
在一些实施例中,结合图2以及图5示例,在将待渲染对象渲染至目标图像的场景中,该待渲染对象可以包括有多个骨骼节点;其中,电子设备在对该待渲染对象进行渲染的过程中,可以通过控制该多个骨骼节点在连续多帧目标图像中的位置,使得在播放连续多帧的目标图像的过程中,待渲染对象可以展示出随目标图像中的目标对象一并运动的效果。
需要说明的是,参照图5给出的示例,在一些可能的场景中,针对待渲染对象的不同,该待渲染对象可以仅包括例如图5示例的一列的多个骨骼节点;比如,当该待渲染对象为绳索、单根带子等,可以仅利用如图5示例的多个骨骼节点,即能够实现对待渲染对象的运动控制;另外,在本申请其他一些可能的场景中,比如当该待渲染对象为如图2所示的“面纱”,则可以利用多列骨骼节点对该待渲染对象的运动进行控制,且每一列均可以包括多个骨骼节点。
在一些可能的场景中,针对其中一列包括的多个骨骼节点,电子设备可以通过读取配置文件等方式,确定相邻两个骨骼节点之间的父子关系;示例性地,每一对父子关系可以包括一个父节点和一个子节点,比如在图5所示的场景中,节点1与节点2可以为一对父子关系,且节点1为父节点,节点2为子节点;又比如,节点2与节点3可以为一对父子关系,且节点2为父节点,节点3为子节点;再比如,节点3与节点4可以为一对父子关系,且节点3为父节点,节点4为子节点。
可以理解的是,骨骼节点之间的父子关系是相对的,同一个骨骼节点,可以为一个骨骼节点的子节点,也可以是另一个骨骼节点的父节点;比如在上述示例中,节点2可以为节点1的子节点,但节点2也可以为节点3的父节点。
另外,电子设备还可以通过读取上述的配置文件,获取该待渲染对象所在的虚拟空间的一些物理参数,比如重力加速度、空气阻力等等;还可以获取每一个骨骼节点的一些材质参数,比如质量、刚性参数、弹性参数、刚体半径等等。
并且,在例如图5所示的多个骨骼节点中,可以包括至少一个根节点;其中,根节点的在连续多帧图像中的运动不受其他节点的约束,而是跟随图像中目标对象进行运动;如此,随着根节点的运动,可以带动其他节点一并进行运动,从而产生待渲染对象跟随目标对象进行运动的视觉效果。
在一些实施例中,电子设备还可以预先保存有每一个骨骼节点的节点约束条件,其中,该节点约束条件可以由电子设备读取例如上述的配置文件得到,该节点约束条件可以用于指示每一对具有父子关系的两个骨骼节点之间的轨迹关联关系;基于根节点跟随目标对象在连续两帧图像中的运动轨迹,电子设备可以基于该节点约束条件以及上述的父子关系,计算出每一对父子关系中子节点的运动轨迹。
其中,可以理解的是,针对上述多个骨骼节点中的其中一个目标骨骼节点,在连续两帧图像中,该目标骨骼节点的运动轨迹可以通过该目标骨骼节点在连续两帧图像中的坐标点进行表示;也就是说,电子设备计算出的该目标骨骼节点的运动轨迹,即可以表示为基于上一帧图像的坐标点,得到的目标骨骼节点在当前帧图像中的坐标点,将目标骨骼节点在连续两帧的图像中的坐标点进行关联,即可以表示出目标骨骼节点在连续两帧图像中的运动轨迹。
如此,电子设备可以根据计算得到的每一个子节点的运动轨迹,将该待渲染对象渲染至目标图像,从而当电子设备播放连续的多帧图像的过程中,能够展示出待渲染对象在连续多帧图像中的运动状态。
可见,基于本申请提供的图像渲染方法,针对目标图像中的待渲染对象所包括的多个骨骼节点,通过确定出相邻两个骨骼节点之间的父子关系,进而可以根据预先为每个骨骼节点配置的节点约束条件以及该父子关系,计算出每一对父子关系中子节点的运动轨迹,从而根据每一个子节点的运动轨迹,将待渲染对象渲染至目标图像;如此,可以利用各个骨骼节点之间的轨迹关联关系,计算各个子节点的运动轨迹,提高了各个骨骼节点之间的协同性,进而提高图像的渲染效果。
如上所述,电子设备在执行步骤203的过程中,可以基于根节点在连续两帧图像中的运动轨迹,计算出每一对父子关系中子节点的运动轨迹。
其中,在一些可能的场景中,电子设备在计算根节点的运动轨迹时,可以通过计算根节点在连续两帧图像中的坐标点之差,进而得到该根节点的运动轨迹。
而在执行步骤203的过程中,以上述多个骨骼节点中的其中一个子节点作为目标子节点为例,针对该目标子节点,电子设备可以先根据该目标子节点在该父子关系下对应的父节点的运动信息,计算出所述目标子节点的初始运动轨迹。
比如,针对目标子节点的运动轨迹,电子设备可以利用欧拉积分公式,对该目标子节点的运动信息进行迭代计算,从而得到该目标子节点的初始运动轨迹。
然而,需要说明的是,当使用欧拉积分公式计算步骤203,电子设备需要利用连续两帧图像的时间差进行计算;因此,当连续两帧图像的时间差较大,则迭代计算出的目标子节点的初始运动轨迹的误差也会较大。
因此,作为一种可能的实施方式,电子设备在计算目标子节点的初始运动轨迹的过程中,电子设备可以基于韦尔莱积分对目标子节点在父子关系下对应的父节点的运动信息进行迭代计算,以得到目标子节点的初始运动轨迹;如此,通过将每个子节点均作为目标子节点进行迭代计算,从而得到每个节点的运动轨迹。
其中,以目标子节点的运动轨迹计算为例,在利用而韦尔莱积分进行迭代计算时,韦尔莱积分公式的输入为目标子节点在上一帧图像中运动的距离以及速度,输出为目标子节点在当前帧的目标图像中运动的距离,如此,通过对目标子节点在连续多帧图像中运动的距离进行迭代计算,从而计算出目标子节点的运动轨迹;可见,在计算的过程中,由于只需要考虑前后图像帧的数据,而无需考虑图像帧时间的时间差,可以提高初始运动轨迹的计算精度。
接下来,当电子设备计算得到目标子节点的初始运动轨迹,电子设备可以根据预先为目标子节点配置的节点约束条件,对初始运动轨迹进行更新,以得到该目标子节点对应的目标运动轨迹。
比如,电子设备可以模拟弹簧振子的简谐运动,基于该目标子节点的节点约束条件,并结合到刚性参数以及弹性参数等影响,对该初始运动轨迹进行更新。
另外,在一些可能的场景中,比如针对头发肢体等不可形变的渲染对象,可以根据旋转保持形状;以及,针对绳索、铁链等材质,则可以考虑重力等影响。
并且,在一些可能的场景中,电子设备在执行步骤205的过程中,为了减少渲染过程所使用的数据量,电子设备在计算得到每一个子节点的运动轨迹后,可以根据每一个子节点的运动轨迹,计算出每一个子节点在该父子关系下对应的父节点的transform(转换)信息;其中,该transform信息可以用于指示每一个子节点相对于父节点的运动信息,比如每一个子节点相对于父节点的旋转量、缩放量、平移量等信息。
接下来,电子设备可以根据所有父节点的transform信息,将该渲染对象渲染至目标图像。
比如,基于上述示例的父子关系,电子设备可以计算出节点4相对于节点3的transform信息,以及计算出节点3相对于节点2的transform信息,以及计算出节点2相对于节点1的transform信息;如此,电子设备在渲染结束节点1过后,可以基于节点2相对于节点1的transform信息,渲染节点2;以及基于节点3相对于节点2的transform信息,渲染节点3;以及基于节点4相对于节点3的transform信息,渲染节点4。
示例性地,在计算的过程中,电子设备可以利用父节点指向子节点的向量,计算出每一个子节点各自相对于父节点的transform信息;比如,针对其中一对父子节点,以父节点的位置指向子节点的位置作为求取的向量,分别获得在上一帧图像和当前帧图像中的第一向量和第二向量,第一向量可以用于表征上一帧图像中父节点的位置指向子节点的位置的向量,第二向量可以用于表征当前帧图像中父节点的位置指向子节点的位置的向量。
接下来,电子设备可以计算第一向量与第二向量两者的点积结果以及叉乘结果;然后,电子设备可以结合计算出的叉乘结果与点积结果,计算出子节点的transform信息。比如,针对子节点在三维空间中的旋转信息,电子设备可以将叉乘结果中X、Y、Z三个方向的分量,分别与点积结果计算反正切,从而得到该子节点分别在X、Y、Z三个方向上的角度旋转信息,从而将得到的旋转信息作为该子节点的transform信息其中之一。
可以理解的是,上述仅为示例,举例说明本申请中一些transform信息的计算方式,在本申请其他一些可能的应用场景中,电子设备还可以采用其他的一些方式计算transform信息,本申请对此不进行限定。
可见,按照本申请提供的上述实现方式,利用各个父节点的transform信息对待渲染对象进行渲染,从而减少了渲染过程所使用的数据量,提升渲染速度。
需要说明的是,用于执行本申请提供的上述图像渲染方法的电子设备,可以配置有CPU以及GPU(Graphics Processing Unit,图形处理器);电子设备在执行本申请提供的上述方案的过程中,可以由CPU执行步骤201以及步骤203;而在执行步骤205的过程中,可以由CPU先计算出每一个子节点在该父子关系对应的父节点的transform信息并发送给GPU,然后由GPU根据所有父节点的transform信息,将待渲染对象渲染至目标图像。
另外,基于与本申请提供的上述图像渲染方法相同的发明构思,请参阅图6,图6示出本申请提供的图像渲染装置300的一种示例性结构框图,该图像渲染装置300可以包括处理模块301及渲染模块302。
处理模块301,用于针对目标图像中的待渲染对象所包括的多个骨骼节点,确定出相邻两个骨骼节点之间的父子关系;其中,每一对父子关系包括一个父节点和一个子节点;
处理模块301还用于,根据预先为每个骨骼节点配置的节点约束条件以及父子关系,计算出每一对父子关系中子节点的运动轨迹;其中,节点约束条件用于指示每一对具有父子关系的两个骨骼节点之间的轨迹关联关系;
渲染模块302,用于根据每一个子节点的运动轨迹,将待渲染对象渲染至目标图像。
可选地,作为一种可能的实施方式,处理模块301在根据预先为每个骨骼节点配置的节点约束条件以及父子关系,计算出每一对父子关系中子节点的运动轨迹时,具体用于:
针对多个骨骼节点中的目标子节点,根据目标子节点在父子关系下对应的父节点的运动信息,计算出目标子节点的初始运动轨迹;其中,目标子节点为多个骨骼节点中的其中之一;
根据预先为目标子节点配置的节点约束条件,对初始运动轨迹进行更新,以得到目标子节点对应的目标运动轨迹。
可选地,作为一种可能的实施方式,处理模块301在根据目标子节点在父子关系下对应的父节点的运动信息,计算出目标子节点的初始运动轨迹时,具体用于:
基于韦尔莱积分对目标子节点在父子关系下对应的父节点的运动信息进行迭代计算,得到目标子节点的初始运动轨迹。
可选地,作为一种可能的实施方式,渲染模块302在根据每一个子节点的运动轨迹,将待渲染对象渲染至目标图像时,具体用于:
根据每一个子节点的运动轨迹,计算出每一个子节点在所述父子关系下对应的父节点的transform信息;
根据所有父节点的transform信息,将待渲染对象渲染至目标图像。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的一些实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。
也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请的一些实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请的一些实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的部分实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种图像渲染方法,其特征在于,所述方法包括:
针对目标图像中的待渲染对象所包括的多个骨骼节点,确定出相邻两个骨骼节点之间的父子关系;其中,每一对父子关系包括一个父节点和一个子节点;
根据预先为每个骨骼节点配置的节点约束条件以及所述父子关系,计算出每一对所述父子关系中子节点的运动轨迹;其中,所述节点约束条件用于指示每一对具有父子关系的两个骨骼节点之间的轨迹关联关系;
根据每一个子节点的运动轨迹,将所述待渲染对象渲染至所述目标图像。
2.如权利要求1所述的方法,其特征在于,所述根据预先为每个骨骼节点配置的节点约束条件以及所述父子关系,计算出每一对所述父子关系中子节点的运动轨迹,包括:
针对所述多个骨骼节点中的目标子节点,根据所述目标子节点在所述父子关系下对应的父节点的运动信息,计算出所述目标子节点的初始运动轨迹;其中,所述目标子节点为所述多个骨骼节点中的其中之一;
根据预先为所述目标子节点配置的节点约束条件,对所述初始运动轨迹进行更新,以得到所述目标子节点对应的目标运动轨迹。
3.如权利要求2所述的方法,其特征在于,所述根据所述目标子节点在所述父子关系下对应的父节点的运动信息,计算出所述目标子节点的初始运动轨迹,包括:
基于韦尔莱积分对所述目标子节点在所述父子关系下对应的父节点的运动信息进行迭代计算,得到所述目标子节点的初始运动轨迹。
4.如权利要求1所述的方法,其特征在于,所述根据每一个子节点的运动轨迹,将所述待渲染对象渲染至所述目标图像,包括:
根据每一个子节点的运动轨迹,计算出每一个子节点在所述父子关系下对应的父节点的转换transform信息;
根据所有父节点的transform信息,将所述待渲染对象渲染至所述目标图像。
5.一种图像渲染装置,其特征在于,所述装置包括:
处理模块,用于针对目标图像中的待渲染对象所包括的多个骨骼节点,确定出相邻两个骨骼节点之间的父子关系;其中,每一对父子关系包括一个父节点和一个子节点;
所述处理模块还用于,根据预先为每个骨骼节点配置的节点约束条件以及所述父子关系,计算出每一对所述父子关系中子节点的运动轨迹;其中,所述节点约束条件用于指示每一对具有父子关系的两个骨骼节点之间的轨迹关联关系;
渲染模块,用于根据每一个子节点的运动轨迹,将所述待渲染对象渲染至所述目标图像。
6.如权利要求5所述的装置,其特征在于,所述处理模块在根据预先为每个骨骼节点配置的节点约束条件以及所述父子关系,计算出每一对所述父子关系中子节点的运动轨迹时,具体用于:
针对所述多个骨骼节点中的目标子节点,根据所述目标子节点在所述父子关系下对应的父节点的运动信息,计算出所述目标子节点的初始运动轨迹;其中,所述目标子节点为所述多个骨骼节点中的其中之一;
根据预先为所述目标子节点配置的节点约束条件,对所述初始运动轨迹进行更新,以得到所述目标子节点对应的目标运动轨迹。
7.如权利要求6所述的装置,其特征在于,所述处理模块在根据所述目标子节点在所述父子关系下对应的父节点的运动信息,计算出所述目标子节点的初始运动轨迹时,具体用于:
基于韦尔莱积分对所述目标子节点在所述父子关系下对应的父节点的运动信息进行迭代计算,得到所述目标子节点的初始运动轨迹。
8.如权利要求5所述的装置,其特征在于,所述渲染模块在根据每一个子节点的运动轨迹,将所述待渲染对象渲染至所述目标图像时,具体用于:
根据每一个子节点的运动轨迹,计算出每一个子节点在所述父子关系下对应的父节点的转换transform信息;
根据所有父节点的transform信息,将所述待渲染对象渲染至所述目标图像。
9.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011112218.8A CN112165630B (zh) | 2020-10-16 | 2020-10-16 | 图像渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011112218.8A CN112165630B (zh) | 2020-10-16 | 2020-10-16 | 图像渲染方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112165630A true CN112165630A (zh) | 2021-01-01 |
CN112165630B CN112165630B (zh) | 2022-11-15 |
Family
ID=73867306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011112218.8A Active CN112165630B (zh) | 2020-10-16 | 2020-10-16 | 图像渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112165630B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192166A (zh) * | 2021-05-24 | 2021-07-30 | 上海曼恒数字技术股份有限公司 | 一种骨骼树还原方法及系统 |
CN113628307A (zh) * | 2021-08-02 | 2021-11-09 | 聚好看科技股份有限公司 | 一种三维模型的骨骼驱动方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976417A (zh) * | 2016-05-27 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 动画生成方法和装置 |
WO2018050001A1 (zh) * | 2016-09-14 | 2018-03-22 | 厦门幻世网络科技有限公司 | 一种用于生成动画数据的方法和装置 |
CN110047124A (zh) * | 2019-04-23 | 2019-07-23 | 北京字节跳动网络技术有限公司 | 渲染视频的方法、装置、电子设备和计算机可读存储介质 |
CN111460874A (zh) * | 2019-01-18 | 2020-07-28 | 北京市商汤科技开发有限公司 | 图像处理方法及装置、图像设备及存储介质 |
-
2020
- 2020-10-16 CN CN202011112218.8A patent/CN112165630B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976417A (zh) * | 2016-05-27 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 动画生成方法和装置 |
WO2018050001A1 (zh) * | 2016-09-14 | 2018-03-22 | 厦门幻世网络科技有限公司 | 一种用于生成动画数据的方法和装置 |
CN111460874A (zh) * | 2019-01-18 | 2020-07-28 | 北京市商汤科技开发有限公司 | 图像处理方法及装置、图像设备及存储介质 |
CN110047124A (zh) * | 2019-04-23 | 2019-07-23 | 北京字节跳动网络技术有限公司 | 渲染视频的方法、装置、电子设备和计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192166A (zh) * | 2021-05-24 | 2021-07-30 | 上海曼恒数字技术股份有限公司 | 一种骨骼树还原方法及系统 |
CN113192166B (zh) * | 2021-05-24 | 2022-08-30 | 上海曼恒数字技术股份有限公司 | 一种骨骼树还原方法及系统 |
CN113628307A (zh) * | 2021-08-02 | 2021-11-09 | 聚好看科技股份有限公司 | 一种三维模型的骨骼驱动方法及设备 |
CN113628307B (zh) * | 2021-08-02 | 2023-07-28 | 聚好看科技股份有限公司 | 一种三维模型的骨骼驱动方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112165630B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102663617B1 (ko) | 증강 현실 객체의 조건부 수정 | |
US10650598B2 (en) | Augmented reality-based information acquiring method and apparatus | |
CN108882018B (zh) | 虚拟场景中的视频播放、数据提供方法、客户端及服务器 | |
CN112165630B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
EP4246963A1 (en) | Providing shared augmented reality environments within video calls | |
US20180169517A1 (en) | Reactive animation for virtual reality | |
US20230290043A1 (en) | Picture generation method and apparatus, device, and medium | |
CN110120087B (zh) | 三维虚拟沙盘的标签标注方法、装置及终端设备 | |
CN109191550B (zh) | 一种粒子渲染方法、装置、电子设备及存储介质 | |
CN113840637A (zh) | 共享坐标空间内的共享增强现实游戏 | |
US20160035016A1 (en) | Method for experiencing multi-dimensional content in a virtual reality environment | |
US20220395756A1 (en) | Building a dynamic social community based on similar interaction regions of game plays of a gaming application | |
CN111494952A (zh) | 网页端的对象展示方法、装置、及可读存储介质 | |
CN114390308A (zh) | 直播过程中的界面显示方法、装置、设备、介质及产品 | |
CN113362474A (zh) | 增强现实数据展示方法、装置、电子设备及存储介质 | |
US9843642B2 (en) | Geo-referencing media content | |
CN114667511A (zh) | 在搜索结果中显著显示目标游戏 | |
Romli et al. | AR@ UNIMAP: A development of interactive map using augmented reality | |
US20190293779A1 (en) | Virtual reality feedback device, and positioning method, feedback method and positioning system thereof | |
US11107129B1 (en) | Dynamic media content for in-store screen experiences | |
CN117649275A (zh) | 虚拟商品处理方法、装置、电子设备及存储介质 | |
Solina et al. | Light fountain–a virtually enhanced stone sculpture | |
Harish et al. | Augmented Reality Applications in Gaming | |
US20230158406A1 (en) | Gps seed for game play | |
CN112235634A (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 |