CN117178295A - 3d场景描述数据、用于根据3d场景描述数据对场景进行渲染的场景渲染装置以及用于将场景编码为3d场景描述数据的装置 - Google Patents

3d场景描述数据、用于根据3d场景描述数据对场景进行渲染的场景渲染装置以及用于将场景编码为3d场景描述数据的装置 Download PDF

Info

Publication number
CN117178295A
CN117178295A CN202280025896.1A CN202280025896A CN117178295A CN 117178295 A CN117178295 A CN 117178295A CN 202280025896 A CN202280025896 A CN 202280025896A CN 117178295 A CN117178295 A CN 117178295A
Authority
CN
China
Prior art keywords
grid
information
deformation
scene
movable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280025896.1A
Other languages
English (en)
Inventor
科内留斯·赫尔奇
托马斯·斯切尔
彼得·艾塞特
安娜·希尔斯曼
罗伯特·斯库宾
亚戈·桑切斯德拉富恩特
维兰德·摩根斯坦
古迪普·辛格·布拉尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of CN117178295A publication Critical patent/CN117178295A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

一种用于根据3D场景描述数据(200)对场景进行渲染的场景渲染装置(100),被配置为从3D场景描述数据(200)中导出定义3D对象(212)的第一数据(210)和定义对象(212)的动画(222)的第二数据(220)以及定义用于观看位置和/或观看取向的条件(232)的触发条件信息(230)。另外,场景渲染装置(100)被配置为检查(110)是否满足用于观看位置和/或观看取向的条件(232),并且响应于满足用于观看位置和/或观看取向的条件(232),触发(120)所述对象(212)的动画(222)。

Description

3D场景描述数据、用于根据3D场景描述数据对场景进行渲染 的场景渲染装置以及用于将场景编码为3D场景描述数据的 装置
技术领域
根据本发明的实施例涉及3D场景描述数据、用于根据3D场景描述数据对场景进行渲染的场景渲染装置以及用于将场景编码为3D场景描述数据的装置。这些实施例提供了对立体视频的场景描述增强。
背景技术
目前存在表示用于三维场景和模型的标准文件格式的图形语言传输格式(glTF)。存在例如通过定义场景的特征能够在场景中消费定时数据的技术,这些特征描述如何获取定时数据以及一旦对其进行解码,渲染过程如何处理该数据。
然而,3D对象的变换仍然存在一些缺点,特别是在场景中的3D对象的动画/交互性的上下文中。
因此,期望提供用于改进3D对象的变换的构思,例如,在触发这种变换的灵活性方面和/或在立体视频的视觉质量方面和/或在将变换传送到3D对象的立体扫描方面。另外,可能期望提供用于使渲染立体视频编码更高效的构思。
发明内容
这通过本申请的独立权利要求的主题来实现。
根据本发明的其他实施例由本申请的从属权利要求的主题限定。
根据本发明的第一方面,本申请的发明人认识到,当尝试触发动画对3D对象的应用时遇到的一个问题源于以下事实:仅可以响应于用户输入或通过使用基于时间的触发来触发动画。根据本申请的第一方面,通过实现动画的基于位置和/或基于取向的触发来克服该困难。发明人发现,响应于3D场景的观看者的预定义位置和/或预定义取向来触发3D对象的变换/动画是有利的。这是基于动画的位置和/或取向相关触发提高了3D场景的质量和对3D场景进行渲染时的灵活性的思想。动画的位置和/或取向相关触发使观看者能够以更灵活的方式与由3D场景描述数据定义的场景进行交互。
因此,根据本申请的第一方面,一种用于根据3D场景描述数据对场景进行渲染的场景渲染装置被配置为从3D场景描述数据中导出第一数据、第二数据和触发条件信息。3D场景描述数据包括第一数据、第二数据和触发条件信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供第一数据,第二数据和触发条件信息。第一数据例如通过1)第一网格、2)可选地骨架、以及3)可选地第二网格和对应关系信息来定义3D对象。对于网格定义,可以使用默认姿势(例如,T姿势)处的顶点位置的列表和/或由这些顶点形成的面的定义。第二数据例如通过骨架移动来定义3D对象的动画。触发条件信息定义用于例如场景的观看者的观看位置和/或观看取向的条件。用于观看位置和/或用于观看取向的条件可以定义预定位置和/或预定取向,或者可以定义若干个预定位置和/或预定取向的集合,例如预定位置的范围和/或预定取向的范围。场景渲染装置被配置为检查例如场景的观看者是否满足用于观看位置和/或观看取向的条件。另外,场景渲染装置被配置为响应于满足用于观看位置和/或观看取向的条件而触发3D对象的动画。
实施例涉及一种方法,其中,该方法包括关于第一方面描述的特征。该方法基于与上述场景渲染装置和/或用于编码的装置相同的考虑。通过这种方式,该方法可以用关于场景渲染装置和/或用于编码的装置也描述的所有特征和功能来完成。关于场景渲染装置和/或用于编码的装置描述的功能特征可以表示该方法的步骤。
根据本发明的第二方面,本申请的发明人认识到,当尝试响应于用户交互将动画/变换应用于3D对象时遇到的一个问题源于以下事实:在交互实例下,3D对象的姿势可能与作为动画主题的姿势不对应。根据本申请的第二方面,通过限制3D对象的移动(例如,取决于立体视频中3D对象的姿势)来克服该困难。发明人发现,指示3D对象的可移动性和/或对3D对象的可移动性的约束是有利的。这是基于以下思想:如果仅允许适合于3D对象的姿势的动画和/或如果在特定约束下将动画应用于3D对象,则可以减少由于动画而导致的3D对象的几何伪影,其中,例如,可移动性和约束可能是姿势相关的,即,取决于应用相应动画时的3D对象的姿势。可移动性可以指示3D对象的可动画部分,例如3D对象的可以通过动画被变换的空间部分。约束可以指示3D对象的一个或多个关节的自由空间,如对变换的限制。例如,约束可以包括关于对3D对象的某些关节的平移/旋转限制的信息。该特征有效地减少了由于响应于用户交互而应用于3D对象的动画所导致的视觉问题。可以在立体视频的某些时刻和/或持续时间的3D场景描述数据中指示可移动性和/或约束。
因此,根据本申请的第二方面,一种用于根据3D场景描述数据对场景进行渲染的场景渲染装置被配置为从3D场景描述数据中导出第一数据和第二数据。3D场景描述数据包括第一数据和第二数据,并且用于将场景编码为3D场景描述数据的装置被配置为向3I)场景描述数据提供第一数据和第二数据。第一数据例如通过1)第一网格、2)可选地第二网格和对应关系信息来定义可移动3D对象。对于网格定义,可以使用默认姿势(例如,T姿势)处的顶点位置的列表和/或由这些顶点形成的面的定义。第二数据例如通过定义骨架和变形目标来定义可移动3D对象的可移动性以及对可移动3D对象的可移动性的移动约束信息。
实施例涉及一种方法,其中,该方法包括关于第二方面描述的特征。该方法基于与上述场景渲染装置和/或用于编码的装置相同的考虑。通过这种方式,该方法可以用关于场景渲染装置和/或用于编码的装置也描述的所有特征和功能来完成。关于场景渲染装置和/或用于编码的装置描述的功能特征可以表示该方法的步骤。
根据本发明的第三方面,本申请的发明人认识到,当尝试对3D对象进行动画化/变换时遇到的一个问题源于以下事实:为3D对象提供了动画/换信息、3D模型网格、立体扫描网格\及两个网格之间的对应关系,其中,需要这些对应关系将3D对象的模型网格中的变换传送到3D对象的立体扫描网格。根据本申请的第三方面,通过将两个网格之间的对应关系的提供或导出限制为与模型网格和/或立体扫描网格的子部分相关联的对应关系来克服该困难。发明人发现,仅提供或导出与相应网格的例如受3D对象的动画/变换影响的子部分相关联的对应关系是有利的。这是基于以下思想:如果仅提供或导出相关对应关系,则可以提高提供具有可移动3D对象的场景并对其进行渲染的效率。因此减少了所需的数据量,即可以降低信号化成本。
因此,根据本申请的第三方面,一种用于根据3D场景描述数据对场景进行渲染的场景渲染装置被配置为从3D场景描述数据中导出第一网格信息、移动信息、第二网格信息和对应关系信息。3D场景描述数据包括第一网格信息、移动信息、第二网格信息和对应关系信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供第一网格信息、移动信息、第二网格信息和对应关系信息。第一网格信息提供关于可移动3D对象的第一网格的定义的信息,例如,默认姿势(例如,T姿势)处的顶点位置的列表和/或由这些顶点形成的面的定义。第一网格可以对应于或表示模型网格。移动信息例如向场景渲染装置指示:例如响应于用户交互或经由发信号通知的默认移动指令,如何移动第一网格,例如通过定义与蒙皮变换相关联的骨架,该蒙皮变换定义了由骨架移动引起的第一网格的移动和变形目标。第二网格信息提供关于可移动3D对象的第二网格的定义的信息,例如,顶点位置的列表和/或由这些顶点形成的面的定义。第二网格信息可以源自立体扫描。第二网格可以被视为定义3D对象的实际外皮(hull)。对应关系信息定义第一网格和第二网格的部分之间的对应关系,使得对应关系信息使例如场景渲染装置能够建立从第一网格到第二网格的映射。另外,场景描述/渲染装置被配置为从3D场景描述数据中导出关于对应关系信息与第一网格的哪个子部分和/或第二网格的哪个子部分相关的信息。因此,注意,该对应关系是一种一致性映射,其将一部分(例如,立体视频网格(第二网格)的顶点)链接到模型网格(第一网格)的面。然后,客户端可以建立映射,该映射产生该扫描的顶点相对于模型网格的映射面的位置。3D场景描述数据包括关于对应关系信息与第一网格的哪个子部分和/或第二网格的哪个子部分相关的信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供关于对应关系信息与第一网格的哪个子部分和/或第二网格的哪个子部分相关的信息。
实施例涉及一种方法,其中,该方法包括关于第三方面描述的特征。该方法基于与上述场景渲染装置和/或用于编码的装置相同的考虑。通过这种方式,该方法可以用关于场景渲染装置和/或用于编码的装置也描述的所有特征和功能来完成。关于场景渲染装置和/或用于编码的装置描述的功能特征可以表示该方法的步骤。
根据本发明的第四方面,本申请的发明人认识到,当尝试对3D对象进行动画化/变换时遇到的一个问题源于以下事实:可能必须将应用于3D模型网格的动画/变换传送到3D对象的立体扫描网格。根据本申请的第四方面,通过将模型网格的姿势变换为参考姿势以建立模型网格与立体扫描网格之间的映射来克服该困难。特别地,可以通过应用3D对象的骨架的骨架修改并且通过应用变形目标来将模型网格的姿势变换为参考姿势。发明人发现,使用变形目标进行该变换是有利的。这是基于以下思想:如果用于将模型网格变换为参考姿势的蒙皮过程包含伪影,则仅通过骨架修改进行姿势变换可能导致模型网格与立体扫描网格之间的错误映射。模型网格的由经变换的顶点确定的面可能不正确,因此模型网格到立体扫描网格的整个映射可能不正确。发明人发现,姿势混合形状信息(即,变形目标)可以校正这种错误。因此,实现了3D场景的视觉质量的改进。另外,可以提高建立映射的效率和准确性。
因此,根据本申请的第四方面,一种用于根据3D场景描述数据对场景进行渲染的场景渲染装置被配置为从3D场景描述数据中导出第一网格信息、移动信息、第二网格信息和对应关系信息。3D场景描述数据包括第一网格信息、移动信息、第二网格信息和对应关系信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供第一网格信息、移动信息、第二网格信息和对应关系信息。第一网格信息提供关于可移动3D对象的第一网格的定义的信息,例如,通过默认姿势(例如,T姿势)处的顶点位置的列表和/或由这些顶点形成的面的定义。第一网格可以对应于或表示模型网格。移动信息例如向场景渲染装置指示:例如响应于用户交互或经由发信号通知的默认移动指令,如何移动第一网格,例如通过定义与蒙皮变换相关联的骨架,该蒙皮变换定义了由骨架移动引起的第一网格的移动和变形目标。移动信息包括可移动3D对象的骨架的定义,例如骨架定义加上蒙皮变换。第二网格信息提供关于可移动3D对象的第二网格的定义的信息,例如,通过顶点位置的列表和/或由这些顶点形成的面的定义。第二网格信息可以源自立体扫描。第二网格可以被视为定义3D对象的实际外皮(hull)。对应关系信息定义第一网格和第二网格的部分之间的对应关系,使得对应关系信息使例如场景渲染装置能够建立从第一网格到第二网格的映射。场景描述/渲染装置还被配置为从3D场景描述导出关于第一网格的移动的参考姿势信息以呈现参考姿势,该参考姿势信息包括骨架移动定义(例如,从默认姿势到参考姿势)以及变形目标的加权平均值的指示。3I)场景描述数据可以分别提供骨架移动定义和变形目标的加权平均值的指示。每个变形目标定义第一网格的补偿变形以呈现相应原始姿势。因此,参考姿势的补偿变形例如由原始姿势的补偿变形的加权平均值组成。3D场景描述数据包括参考姿势信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供参考姿势信息。另外,场景描述/渲染装置被配置为使用参考姿势信息来执行从第一网格到第二网格的映射的建立,其中第一网格呈现参考姿势。
实施例涉及一种方法,其中,该方法包括关于第四方面描述的特征。该方法基于与上述场景渲染装置和/或用于编码的装置相同的考虑。通过这种方式,该方法可以用关于场景渲染装置和/或用于编码的装置也描述的所有特征和功能来完成。关于场景渲染装置和/或用于编码的装置描述的功能特征可以表示该方法的步骤。
根据本发明的第五方面,本申请的发明人认识到,当尝试对3D对象进行动画化/变换时遇到的一个问题源于以下事实:可能将变形目标/姿势混合形状应用于3D对象的网格以对3D对象进行动画化/变换。根据本申请的第五方面,通过仅对变形目标/姿势混合形状的集合中的一些变形目标/姿势混合形状进行组合和加权来克服该困难。发明人发现,指示与3D对象的相应动画/变换相关的变形目标/姿势混合形状以及权重是有利的。这是基于以下思想:特定加权的变形目标/姿势混合形状可以有效地对3D对象进行变换/动画化和/或有效地校正或改进由于3D对象的骨架的骨架修改/变换而引起的姿势变换。因此,实现了3D场景的视觉质量的改进。该方面也可以有利于上述第四方面改进与3D对象相关联的两个网格之间的映射的建立。
因此,根据本申请的第五方面,一种用于根据3D场景描述数据对场景进行渲染的场景渲染装置被配置为从3D场景描述数据中导出第一网格信息、移动信息和关于多个变形目标的信息。3D场景描述数据包括第一网格信息、移动信息和关于多个变形目标的信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供第一网格信息、移动信息和关于多个变形目标的信息。第一网格信息提供关于可移动3D对象的网格(例如,第一网格)的定义的信息,例如,通过默认姿势(例如,T姿势)处的顶点位置的列表和/或由这些顶点形成的面的定义。移动信息例如向场景渲染装置指示例如响应于用户交互或经由发信号通知的默认移动指令如何移动网格。移动信息包括可移动3D对象的骨架的定义。关于多个变形目标的信息提供关于多个变形目标中的变形目标的信息,其中,每个变形目标定义第一网格的补偿变形以用于呈现相应原始姿势。另外,场景描述/渲染装置被配置为还从3D场景描述导出关于可移动3D对象的默认移动(包括可移动3D对象的默认骨架移动)的信息以便呈现默认姿势,并且针对默认姿势,导出多个变形目标中的变形目标子集的指示,并且针对该子集中的每个变形目标,导出权重,使得根据子集中的每个变形目标的权重进行权重的变形目标子集指示第一网格的组合补偿变形以呈现默认姿势。3D场景描述数据包括关于可移动3D对象的默认移动(包括可移动3D对象的默认骨架移动)的信息以呈现默认姿势,并且针对默认姿势,导出多个变形目标中的变形目标子集的指示,并且针对该子集中的每个变形目标,导出权重,使得根据子集中的每个变形目标的权重进行权重的变形目标子集指示第一网格的组合补偿变形以呈现默认姿势。用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供所有这些信息。
实施例涉及一种方法,其中,该方法包括关于第五方面描述的特征。该方法基于与上述场景渲染装置和/或用于编码的装置相同的考虑。通过这种方式,该方法可以用关于场景渲染装置和/或用于编码的装置也描述的所有特征和功能来完成。关于场景渲染装置和/或用于编码的装置描述的功能特征可以表示该方法的步骤。
根据本发明的第六方面,本申请的发明人认识到,当尝试对3D对象进行动画化/变换时遇到的一个问题源于以下事实:必须及时对3D对象进行动画化/变换。根据本申请的第六方面,通过提供要应用于3D对象的特定姿势的变形目标的语义信息或者通过指示模型使得可以使用该模型来快速地导出要应用于3D对象的特定姿势的权重来克服该困难。发明人发现,如果场景渲染装置清楚所提供的变形目标与哪个姿势相关,或者如果场景渲染装置可以使用模型来确定变形目标的加权组合,则可以以更有效的方式对3D对象进行动画化/变换。这是基于以下思想:模型(如人体模型)和/或语义信息(如每个变形目标到关节的分配)可以提供关于变形目标的组合可以如何提高经变换的3D对象的视觉质量的见解,从而使得场景渲染装置能够快速地自行确定变形目标的加权组合。因此,不必针对3D可移动3D对象的每个可能姿势明确地指示要与变形目标的权重组合在一起的变形目标。这有效地减少了要由3D场景描述数据包括的信息量,由此也减少了信号化成本。同时,所减少的信息量不会显著降低3D场景的视觉质量,并且不会显著降低对3D对象进行动画化的效率。可以例如使用模型和/或语义信息来非常快速且具有高精度地导出变形目标的权重。
因此,根据本申请的第六方面,一种用于根据3D场景描述数据对场景进行渲染的场景渲染装置被配置为从3D场景描述数据中导出第一网格信息、移动信息和关于多个变形目标的信息。3D场景描述数据包括第一网格信息、移动信息和关于多个变形目标的信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供第一网格信息、移动信息和关于多个变形目标的信息。第一网格信息提供关于可移动3D对象的网格(例如,第一网格)的定义的信息。移动信息指示如何移动网格。移动信息包括可移动3D对象的骨架的定义。关于多个变形目标的信息提供关于多个变形目标中的变形目标的信息,其中,每个变形目标定义第一网格的补偿变形以用于呈现相应原始姿势。另外,场景描述/渲染装置被配置为还从3D场景描述导出:关于多个变形目标的信息所参考的模型的指示,其中,该模型指示如何形成多个变形目标的加权平均值以便指示骨架对网格的影响,以自由地选择可移动3D对象的姿势;和/或语义信息,该语义信息将多个变形目标中的每一个与对应关节进行关联,并且根据关节数量、关节移动的类型和/或方向,在与一个对应关节相关联的变形目标之间进行区分。特别有利的是,语义信息不仅将多个变形目标中的每一个与对应关节进行关联,而且还附加地提供了关于相应变形目标可以使用的相应关节的哪个变换的信息。该关节的变换可以由关节量来指示,例如,相应关节影响相应顶点的强度或相应变形目标对相应关节的影响的水平,或者由关节类型(如球窝型关节或铰链型关节)来指示,和/或由关节移动的方向(例如,平移或旋转的方向)来指示。
实施例涉及一种方法,其中,该方法包括关于第六方面描述的特征。该方法基于与上述场景渲染装置和/或用于编码的装置相同的考虑。通过这种方式,该方法可以用关于场景渲染装置和/或用于编码的装置也描述的所有特征和功能来完成。关于场景渲染装置和/或用于编码的装置描述的功能特征可以表示该方法的步骤。
根据本发明的第七方面,本申请的发明人认识到,当尝试对与立体扫描网格和模型网格相关联的3D对象进行动画化/变换时遇到的一个问题源于以下事实:必须建立立体扫描网格与模型网格之间的映射。根据本申请的第七方面,通过将模型网格与立体扫描网格进行完美对齐以建立映射来克服该困难。发明人发现,有利的是,不仅使用变形目标/姿势混合形状和/或骨架/关节变换而且还使用全局移动(如位移和/或旋转和/或缩放)模型网格来将模型网格与立体扫描网格进行对齐。这是基于以下思想:变形目标/姿势混合形状和/或骨架/关节变换仅改变模型网格的姿势,即,仅局部地改变模型网格,但不会在3D空间中全局地对模型网格进行移动/变换。可以通过将具有正确姿势(即,参考姿势,例如对应于由立体扫描网格定义的姿势)的模型网格传送/移动到正确位置/取向(即,参考位置,例如对应于由立体扫描网格定义的3D对象的位置/取向)来改进模型网格与立体扫描网格的对齐。例如,使用变形目标/姿势混合形状和/或骨架/关节变换将模型网格传送到参考姿势,并且使用全局移动将参考姿势中的模型网格传送到参考位置。提高该对齐的精度,从而也提高了在两个网格之间建立映射的精度。这对于3D场景的视觉质量也是有利的。
因此,根据本申请的第七方面,一种用于根据3D场景描述数据对场景进行渲染的场景渲染装置被配置为从3D场景描述数据中导出第一网格信息、移动信息、第二网格信息和对应关系信息。3D场景描述数据包括第一网格信息、移动信息、第二网格信息和对应关系信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供第一网格信息、移动信息、第二网格信息和对应关系信息。第一网格信息提供关于可移动3D对象的网格(例如,第一网格)的定义的信息。移动信息指示如何移动网格。移动信息包括可移动3D对象的骨架的定义。第二网格信息提供关于可移动3D对象的第二网格的定义的信息,并且对应关系信息定义第一网格和第二网格的部分之间的对应关系,使得对应关系信息使例如场景渲染装置能够建立从第一网格到第二网格的映射。场景描述/渲染装置被配置为还从3D场景描述数据中导出关于第一网格的移动的参考姿势信息以呈现参考姿势。参考姿势信息包括骨架移动定义(例如,从默认姿势到参考姿势)以及关于要应用于第一网格的3D对象全局位移和/或旋转和/或缩放的信息。3D场景描述数据包括参考姿势信息,并且用于将场景编码为3D场景描述数据的装置被配置为向3D场景描述数据提供参考姿势信息。参考姿势信息可以用于执行从第一网格到第二网格的映射的建立,其中第一网格呈现参考姿势。
实施例涉及一种方法,其中,该方法包括关于第七方面描述的特征。该方法基于与上述场景渲染装置和/或用于编码的装置相同的考虑。通过这种方式,该方法可以用关于场景渲染装置和/或用于编码的装置也描述的所有特征和功能来完成。关于场景渲染装置和/或用于编码的装置描述的功能特征可以表示该方法的步骤。
实施例涉及具有使用本文描述的用于编码的方法编码到其中的图片或视频的数据流。
实施例涉及一种具有程序代码的计算机程序,当该程序代码在计算机上执行时,该程序代码用于当在计算机上运行时执行本文描述的方法。
附图说明
附图不一定按照比例绘制,相反重点通常在于示出本发明的原理。在以下描述中,参考以下附图描述本发明的各种实施例,其中:
图1示出了与取决于3D场景的观看者的位置触发动画相关的实施例;
图2示出了由3D场景描述数据包括的第一数据的不同示例;
图3示出了包括触发条件信息在内的3D场景描述数据的实施例;
图4示例性地示出了第一网格和第二网格;
图5示出了与定义对3D对象的可移动性的约束相关的实施例;
图6示出了包括对3D对象的可移动性的约束的信息在内的3D场景描述数据的实施例;
图7示出了与部分对应关系相关的实施例;
图8示出了指示是否要使用部分对应关系的3D场景描述数据的实施例;
图9示出了指示对应关系值的3D场景描述数据的实施例;
图10示出了与使用参考姿势信息对两个网格进行映射相关的实施例;
图11示出了指示参考姿势信息的3D场景描述数据的实施例;
图12示出了指示变形目标是否存在权重的3D场景描述数据的实施例;
图13示出了指示变形目标的权重的3D场景描述数据的实施例;
图14示出了指示变形目标子集是否存在权重的3D场景描述数据的实施例;
图15示出了指示变形目标子集的权重的3D场景描述数据的实施例;
图16示出了与变形目标子集相关的实施例;
图17示出了与变形目标的权重的及时推导相关的实施例;
图18示出了与使用具有特定姿势的一个网格的全局变换对两个网格进行映射相关的实施例;以及
图19示出了指示对象的全局变换的3D场景描述数据的实施例。
具体实施方式
即使附图标记出现在不同的图中,在以下描述中,通过相同或等同附图标记来表示相同或等同元件或者具有相同或等同功能的元件。
在以下描述中,阐述了多个细节以提供对本发明的实施例的更透彻的解释。然而,本领域技术人员将清楚的是,可以在没有这些具体细节的情况下实践本发明的实施例。在其他实例中,以框图形式而不是具体地示出了公知的结构和设备,以避免对本发明的实施例造成混淆。此外,除非另外具体指示,否则本文后面描述的不同实施例的特征可以彼此组合。
3D对象的变换在某些场景中(例如,当6DoF内容被流式传输给用户并且设想对该场景的某种修改时)特别有用。设想了对这种对象进行变换的不同方式。为了在本说明书内清楚地区分两种类型的变换,使用了以下术语。“动画”是指预定义的变换。例如,在作为glTF的场景描述文档中,可以通过所谓的动画属性来描述对象的变换,动画属性描述对象的时间线和特定变换,例如平移、旋转及其幅度。其示例可以是人的模型,该模型具有预定义的身体的变换,例如跳跃、沿特定方向行走等。除了这种预定义的变换之外,3D引擎/渲染器还可以“自由地”对对象进行变换,只要提供诸如蒙皮信息或不同的姿势混合形状之类的一些信息即可。未预定义的自由变换被称为交互,因为它不是预定义的,但它可以作为对用户与场景的某个进一步交互的响应来执行,例如,观看者正在移动并且对象跟随用户。
本说明书涵盖了与场景中的3D对象的动画/交互性相关的不同方面。
1.动画的触发
如图1所示,实施例涉及一种用于根据3D场景描述数据200对场景进行渲染的场景渲染装置100。场景渲染装置100被配置为从3D场景描述数据200中导出定义3D对象212的第一数据210、定义3D对象212的动画222(如3D对象212的手臂的挥动)的第二数据220、以及定义用于用户/观看者400的观看位置和/或观看取向的条件的触发条件信息230。用于将场景编码为3D场景描述数据200的装置300被配置为向3D场景描述数据200提供第一数据210、第二数据220和触发条件信息230。
观看者400观看由场景渲染装置100渲染的场景。观看者400对于观看位置和/或观看取向具有六个自由度,其由围绕观看者400的身体的箭头指示。这意味着观看者400可以自由地选择观看位置和/或观看取向来观看场景,例如观看虚拟现实媒体。观看取向可以被定义为偏航410、俯仰412和滚动414。观看位置可以被定义为上下420、左右422和前后424,即沿着x、y和z维度。可选地,观看者400仅具有三个自由度,例如仅与观看者400的头部的取向相关或仅与观看者400的身体的位置相关的三个自由度。
场景渲染装置100被配置为例如通过将触发条件232与观看者400的观看位置和/或观看取向进行比较来检查110是否满足用于观看位置和/或观看取向的触发条件232。场景渲染装置100被配置为响应于满足用于用于观看位置和/或观看取向的条件而触发120该3D对象212的动画222。
示例性地,图2示出了第一数据210的不同选项。第一数据210可以通过一个或两个网格来定义3D对象212。如选项210a所示,第一数据210可以包括关于3D对象212的第一网格2141的信息。作为第一网格2141的备选或附加,如选项210b所示,第一数据210可以包括关于3D对象212的骨架216的信息。根据另一选项210c,第一数据210可以包括关于第一网格2141的信息和关于第二网格2142的信息以及对应关系信息218。对于网格定义,可以使用默认姿势(例如,T姿势)处的顶点位置的列表和/或由这些顶点形成的面的定义。对应关系信息218可以针对每个顶点位置和/或由第一网格2141的顶点形成的面指示对应顶点位置和/或由第二网格2142的顶点形成的面。可选地,除了第一网格2141和第二网格2142之外,第一数据210还可以包括关于3D对象212的骨架216的信息。
第二数据220可以通过骨架移动来定义3D对象212的动画222。例如,场景渲染装置100被配置为:从第一数据210中导出关于3D对象的网格2141和/或2142的定义的网格信息,并且从第二数据220中导出3D对象212的骨架216的移动的定义,例如,经由关节/顶点的旋转和/或平移。3D对象的骨架216可以是预定义的,使得不必也从第一数据210中导出3D对象的骨架216。否则,场景渲染装置100被配置为还从第一数据210中导出关于3D对象212的骨架216的定义的信息。
场景中提供的动画222(例如,glTF文件)可以被自由触发(当用户400想要时,例如,按下按钮),或者可以想象它们基于一些艺术意图被触发120的情况(例如,在特定媒体回放时间或当用户400位于特定位置或在特定位置处观看,即取决于观看位置和/或观看取向)。
用于应用被自由触发的动画222的装置是公知的并且被广泛应用。类似地,对动画222的基于时间的触发也是已知的,并且可以通过链接轨道将其集成到glTF中,该轨道包含指示何时触发动画222的样本。
然而,被调节到特定位置或取向的非定时动画222需要一些glTF扩展。在一个实施例中,场景描述文件200(例如,glTF)中的动画222被扩展为所包括的语法,即触发条件信息230,其指示用于触发120这种动画222的位置(例如,x、y、z)和/或观看取向(例如,偏航、俯仰、滚动)。注意,位置和/或观看取向还可以指示包括用于触发120动画222的范围内的任何位置或取向的范围。触发条件信息230可以包括位置范围和/或观看取向范围作为条件232,并且场景渲染装置100被配置为检查110用户的位置是否在该位置范围内和/或用户的取向是否在该观看取向范围内。
在图3所示的示例中,给出了每个位置232a(即,位置232a1和范围232a2)的两个参数,但备选地,可以提供minX、minY、minZ、maxX、maxY、maxZ。这同样适用于取向232b,参见232b1和232b2。此外,重要的是要注意,滚动参数414并不真正影响观看取向,而是它仅指示观看者头部的倾斜。因此,观看取向232b还可以仅用偏航410和俯仰412或者甚至仅用其一个分量(例如,单独的偏航410或俯仰412)来表示。
2.受约束的可变换性
由于动画222是预定义的,并且对象212的特定变换是预先已知的,因此提供所描述的变换,使得结果在视觉上是可接受的并且具有良好的质量。然而,当涉及交互时,对象212可以自由变换到什么程度并导致良好/可接受的视觉质量取决于准确性以及被提供为能够有效地对给定对象212进行变换的附加信息。
例如,捕获系统可以产生一些部分被遮挡的特定对象(例如,放低的手臂遮挡躯干侧的人的身体,参见图4)的立体扫描2142。因此,由于交互而导致的对象变换需要被限制为影响身体的某些部分,这些部分在进行变换时不会导致视觉上不愉快的结果(例如,在图4所示的示例中,由于身体的被遮挡的内容(躯干侧)未被模型捕获,因此不应允许举起手臂)。
还应当注意,允许对对象112的立体视频(例如,立体扫描2142)进行变换的方式是通过提供可动画化模型2141,其具有要进行变换的足够信息(例如,人体模型)和立体扫描2142以及对模型2141和立体扫描2142两者的顶点进行“映射”的对应关系信息218。这解决了立体视频可能具有变化的拓扑(例如,网格的顶点数量2142)的问题,该问题需要重新发送允许它在每次拓扑变化时进行变换的信息。通过使用具有静态拓扑的模型网格2141,这种信息仅被发送一次。网格对应关系218被建立为用于将信息或变换从第一网格(例如,立体捕获扫描网格2142)的表面传送到第二网格的表面(例如,可动画化模型网格2141)上的手段。图4示出了左手侧的第一扫描网格2142和右手侧的第二模型网格2141的示例。
尽管模型2141可能是完全可动画化的,但当将这种变换应用于立体扫描2142时可能例如如前所述由于底层立体扫描2142中的遮挡而存在一些问题(例如,图4左手侧的腋窝)。另外的问题是,当将动画222应用于扫描网格2142(其姿势与动画222的主题或扫描网格2142上的衣服极大不同)时看起来不自然的几何伪影应当从动画222中排除(例如,图4左手侧的衣领)。
然而;对立体扫描网格2142的一部分进行动画化可能仍然可行,例如针对手臂放低的人体启用手指的变换可能没问题,即在空间上限制动画222。在实施例中,仅针对可动画化的部分发送对应关系值218,或者提供对象212的允许动画222的部分。
2.1.受约束的关节/姿势混合形状
图5示出了用于根据3D场景描述数据200对场景进行渲染的场景渲染装置100的实施例。场景渲染装置100被配置为从3D场景描述数据200中导出定义可移动3D对象212的第一数据210和定义可移动3D对象212的可移动性244的第二数据240以及定义对可移动3D对象212的可移动性244的约束的移动约束信息242。
例如,场景渲染装置100被配置为:从3D场景描述数据200中导出第二数据240,并且如果第二数据240定义移动约束信息242,则从第二数据240中导出移动约束信息242。备选地,第二数据240仅定义可移动性244,并且3D场景描述数据200可以单独地包括移动约束信息242,并且场景渲染装置100可以被配置为从3D场景描述数据200中导出第二数据240和移动约束信息242。
第一数据可以定义如关于图1和/或图2所描述的3D对象212。
第二数据240可以通过定义可移动3D对象212的骨架的关节的旋转、平移和/或缩放2441(例如,定义3D对象212的多个动画)来定义可移动3D对象212的可移动性244。附加地或备选地,第二数据240可以通过定义3D对象212的变形目标/姿势混合形状2442来定义可移动3D对象212的可移动性244。
3D场景描述数据200可以定义可移动3D对象212的默认移动(例如,导演的剪辑移动或者没有用户交互的移动),并且移动约束信息242可以定义对可移动对象212相对于由默认移动定义的3D对象212的姿势的可移动性244的约束。
由于并非所有部分都可以被动画化,因此需要提供一些信息(即,移动约束信息242),使得显示可动画化和/或可变形3D对象112的播放器(即,场景渲染装置100)仅能够修改2441/2442可动画化的部分。注意,该信息242可以随时间改变,例如所捕获的立体视频2142可以随时间具有不同的被遮挡部分。
动画可以涉及修改关节、将变换/旋转2441应用于装配对象212(被表示为骨架216)的一些特定关节、以及应用变形目标2442或姿势混合形状2442(3D对象网格2142的偏移顶点集)或其组合。下面列出了限制可能移动的方式。
ο子设置姿势混合形状
ο激活姿势混合形状
ο关节动画允许/约束
例如,移动约束信息242可以指示由第二数据240提供的多个移动性选项244中的移动性选项244的子集,其中,仅移动性选项244的子集可以应用于3D对象212,反之亦然,其中,仅可移动性选项244的子集不能应用于3D对象212。可移动性选项244的子集可以指示关节的一些修改2441和/或一些变形目标2441。换言之,移动约束信息242可以指示由可移动性244定义的3D对象212的可能移动/修改中的3D对象212的所有可允许的移动/修改。
如所指出的,一些姿势混合形状2442可以对应于如上所指示要进行渲染的有问题的移动和用户姿势。在一个实施例中,通过提供所提供的姿势混合形状(变形目标)2442或者激活/去激活姿势混合形状2442的子集来提供指示可以安全地使用哪些姿势混合形状的信令(即,移动约束信息242)。因此,播放器100知道可以使用哪些姿势混合形状2442,而不会导致任何视觉问题。注意,该属性可以随着时间而改变,并且一些混合形状2442对于特定时间可能很有价值,但不应该用于另一特定时间。因此,所设想的信令242可以随时间而改变。
在另一实施例中,提供了指示要修改的关节的自由空间的信令242。这种限制包括旋转和/或平移和/或缩放2441
所描述的信息242可以直接添加到glTF作为扩展,例如分别作为变形目标或关节的属性。
在另一备选方案中,信息242由元数据轨道来提供。轨道可能包含随时间而改变的样本,并且每个样本提供变形目标的属性、从该样本直到下一个样本的关节。图6中示出了用于提供关于平移/旋转限制的关节信息(LimitationTransformationSample)的示例。
根据实施例,场景渲染装置100被配置为从3D场景描述数据200的glTF文件的区段的扩展部分导出移动约束信息242,该区段与可移动对象212或glTF文件的元数据轨道相关。
移动约束信息242可以指示由第二数据240提供的可移动性选项244的属性,如对这些属性的限制。例如,移动约束信息242可以指示变换2441(例如,可移动3D对象212的骨架的关节的旋转、平移和/或缩放,和/或变形目标的/姿势合成形状2442)多大程度上可以应用于3D对象212。
在图6中的示例中,最大值被示出为原始姿势(当未应用变换时)的增量。备选地,可以针对关节旋转或位置(平移)的正向和负向变化指示不同的最大值2441,或者也可以针对旋转和平移2441提供指示关节可以被变换2441的程度的范围,和/或甚至可以使用告诉关节是否可以被变换2441的附加标志,仅提供关节可以被变换2441时的限制。
在根据用户交互移动可移动3D对象112时,要遵守对可移动3D对象212的可移动性约束244。例如,用户/观看者400可以从由第二数据240指示的可移动性选项中选择可移动3D对象212的移动,并且场景渲染装置100被配置为将所选择的移动应用于可移动3D对象212,可移动3D对象212遵守由移动约束信息242定义的约束。
根据实施例第二数据240可以包括关于多个变形目标2442的信息,每个变形目标2442定义第一网格2141的补偿变形以呈现相应原始姿势。可移动对象的可移动性244可以由关于多个变形目标2442的信息来定义。移动约束信息242可以对应于多个变形目标2442中的变形目标2442的子集的指示,该子集在时间子周期期间内能够用于移动可移动对象212,而未包含在该子集中的任何变形目标2442不可用,其中,可移动3D对象212的网格2141的定义、可移动对象212的轮廓、可移动3D对象212的骨架216的定义以及关于多个变形目标2442的信息的持续超过该时间子周期。
附加地或备选地,可以提供对变形目标2442的子集的指示的更新。这些更新改变所述指示,使得变形目标2442的子集在可移动对象212的网格2141的定义和3D对象212的骨架216的定义的持续期间暂时改变。这使得能够更新移动约束信息242。
注意,姿势混合形状2442(本文所使用的术语,例如,作为变形目标的备选)表示要应用在T姿势处的第一网格2141的顶点的偏移,该偏移本身不对应于姿势但使T姿势变形,使得当将骨架216的目标姿势变换为不同的姿势(除了T姿势之外)并应用蒙皮时,这看起来不错。特别地,多个变形目标2442用于原始姿势,例如放低一只手臂、使手臂弯曲、转动头部等。因此,换言之,术语变形目标2442用于表示第一网格2141在T姿势处的“变形”以对抗/移除在以不同于T姿势的特定姿势执行蒙皮(蒙皮变换)时的“不期望的”变形。本文提到的“第二网格”2142实际上没有应用于它的姿势混合形状2442或变形目标2442。将姿势混合形状2442应用于第一网格2141以无误差地反映与第二网格2142处于相同姿势的第一网格2141
根据实施例,第二数据240可以包括关于与可移动对象212相关联达一段时间的多个变形目标2442的信息。另外,可以提供多个变形目标2442中的变形目标2442的子集的指示。移动约束信息242可以对应于变形目标2442的子集的指示。变形目标2442的子集可以用于在所述时间周期内的时间子周期期间移动可移动对象212,而未包含在该子集中的任何变形目标2442在该时间周期期间不能用于移动可移动对象212。附加地或备选地,可以提供对变形目标子集的指示的更新,其中,这些更新改变所述指示,使得变形目标2442的集合暂时改变。
根据实施例可以提供上述更新,使得该子集在连续的时间子周期中改变。
如上所述,对于变形目标2442,关于约束的类似特征可以适用于骨架变换2441,如下面将描述的。
第二数据240可以包括关于骨架216或可移动对象212的关节的关节信息,例如关于变换2441的信息。此外,可以提供关节约束信息。移动约束信息242可以对应于关节约束信息。关节约束信息指示对所述关节的自由空间的限制和/或指示从固定的关节中进行的选择。关节约束信息例如通过限制关节的角度可移动性范围来限制关节的自由空间。附加地或备选地,关节约束信息通过限制关节的平移可移动性范围(例如,与关节的先前位置相比的平移)来限制关节的自由空间。
根据实施例,可以提供对关节约束信息的更新,使得对关节的自由空间的限制和/或从固定的关节中进行的选择例如在连续的时间子周期中暂时改变。
2.2.部分对应关系(WM)
图7示出了用于根据3D场景描述数据200对场景进行渲染的场景渲染装置100的实施例。场景渲染装置100被配置为从3D场景描述数据200中导出第一网格信息210a、移动信息240、第二网格信息210b和对应关系信息218。用于将场景编码为3D场景描述数据200的装置300被配置为向3D场景描述数据200提供第一网格信息210a、移动信息240、第二网格信息210b和对应关系信息218。
第一网格信息210a提供关于可移动对象212的第一网格2141的定义的信息,并且第二网格信息210b提供关于可移动对象212的第二网格2142的定义的信息。第一网格2141和第二网格2142例如由顶点位置的相应列表和/或由相应顶点形成的面的相应定义来定义。如图7所示,第一网格2141可以定义处于T姿势的可移动3D对象212。第一网格2141可以被视为定义3D对象212的模型外皮。第二网格2142可以源自立体扫描。第二网格2142可以被视为定义3D对象212的实际外皮。
根据实施例,第一网格信息210a和第二网格信息210b可以由关于图1、图2和图5描述的第一数据210包括。
移动信息240指示例如响应于关于图1所描述的用户交互或者经由发信号通知的默认移动指令如何移动第一网格2141。移动信息240可以例如对应于关于图1描述的第二数据220。移动信息240可以指示骨架移动和/或变形目标,例如以修改第一网格2141并移动3D对象212。例如,移动信息240可以指示关于图5描述的可移动性选项244中的一个或多个骨架移动2441和/或变形目标2442。可选地,由移动信息240指示的移动必须遵守由如关于图5所描述的移动约束信息242指示的约束。
对应关系信息218定义第一网格2141的一个或多个部分与第二网格2142的一个或多个对应部分之间的对应关系。在图7中,示例性地通过两个网格中的点突出显示一些部分。在图7中,这些部分对应于相应网格的顶点,但备选地,这些部分可以对应于相应网格的面。对应关系信息218使得能够建立从第一网格2141到第二网格2142的映射,反之亦然。
因此,注意,该对应关系是一种将与第一网格2141相关联的子部分2151的顶点或面链接到与第二网格2142相关联的对应子部分2152的顶点或面的一致性映射。图7示例性地示出了顶点-顶点对应关系,但对应关系信息218也可以指示顶点-面对应关系或者面-顶点对应关系或者面-面的对应关系。对应关系信息218指示与第一网格2141相关联的顶点或面和与第二网格2142相关联的顶点或面之间的一对一对应关系,例如,两个网格2141和2142的部分之间的单射或双射映射。
场景渲染装置100可以被配置为建立映射,该映射在顶点-顶点对应关系处产生例如第一网格2141的顶点相对于第二网格2142的对应顶点的位置,在顶点-面对应关系处产生第一网格2141的顶点相对于第二网格2142的对应面的位置,在面-顶点对应关系处产生第一网格2141的面相对于第二网格2142的对应顶点的位置,或者在面-面对应关系处产生第一网格2141的面相对于第二网格2142的对应面的位置。与第一网格2141的子部分2151相关联的顶点或面的集合可以以双射方式映射到与第二网格2142的对应子部分2152相关联的顶点或面的集合。
场景渲染装置100还被配置为从3D场景描述数据200中导出关于对应关系信息218与第一网格2141的哪个子部分2151和/或第二网格2142的哪个子部分2152相关的信息250。在图7所示的实施例中,例如,信息250指示对应关系信息218涉及与可移动3D对象212的手臂相关联的顶点和/或面。子部分可以涉及对象的一部分,如头、手臂、腿、躯干、手、脚等。例如,第一网格2141和第二网格2142均可以包括多个子部分215,其中,每个子部分215包括部分集,即顶点集和/或面集。子部分215可以由相应索引来指示。
如上所述,当模型例如由第一网格信息210a以及可动画化/可变形的信息(即,移动信息240)提供,并且附加立体扫描视频例如由第二网格信息210b提供时,例如,还提供对应关系218以将模型(即,第一网格2141)中的变换传送到立体视频(即,第二网格2142)。例如,针对每个立体扫描顶点提供这种对应关系218。然而,当并非对象212的所有部分215都可以被变换时,由于对应关系218是针对未被修改的顶点提供的,因此这种解决方案效率不高。在另一实施例中,仅针对立体扫描2142的一些顶点提供对应关系218,并且将其称为部分对应关系218;用于我们不需要扫描网格2142的完整表面的信息的用例。
在动画人体模型网格(即,第一网格2141)和所捕获的演员扫描网格(即,第二网格2142)的情况下,我们可能仅想要手或仅想要脸可动画化,而保持扫描网格2142的其余部分从所记录/存储的位置进行改变,即不被动画化。
在部分对应关系218覆盖的情况下,减少了通过提供对应关系218而传送的数据量,并且数据被提供为(第一扫描网格2142的图元索引、第二模型网格2142的对应图元索引)的元组。应当注意,无论底层使用的图元(顶点或面)或另一类型的几何图元(点,线,等等)如何,该信息都表示两个网格2141/2142之间的通用映射。在典型情况下,第一扫描网格2142的图元索引对应于标识顶点的索引,并且模型网格2141的第二图元索引对应于模型网格2141的面。然而,可以设想其他选项,其中需要提供信令来识别索引所应用的图元。
作为本发明的另一方面,当发送对应关系218时,可以经由3D场景描述数据来宣告是否传送具有单个值的完整对应关系列表或者是否传送具有元组索引值的部分对应关系列表200。图8中示出了示例。
样本条目将描述样本的格式。
在该示例中,correspondence_type等于0对应于针对3D对象的所有顶点提供的对应关系值,并且等于1对应于部分对应关系218,即仅针对一些顶点提供的对应关系值。换言之,对于第一网格2141和第二网格2142,3D场景描述数据200可以包括关于对应关系信息218是否完全地定义第一网格2141的子部分2151与第二网格2142的子部分2152之间的对应关系或者对应关系信息218是否仅部分地定义第一网格2141的子部分2151与第二网格2142的子部分2152之间的对应关系的指示。在指示提供部分对应关系218的情况下,子部分信息250可以仅由3D场景描述数据200来提供。
然后在包含每个时刻的实际值的轨道中提供样本,参见图9,其中vert_idx[i]指示对应关系[i]所应用的顶点。
当使用例如由对应关系信息218定义的部分对应关系映射用于动画(例如,由网格2141的表面的子集2151的移动信息240指示的移动)时,内容创建者(例如,场景渲染装置100)需要确保通过对模型网格2141进行动画化而受影响的区域不大于扫描网格2142的由部分对应关系218覆盖的表面。否则,在扫描网格2142的变化的边界处将出现伪影,其由于缺少对应关系而将不被传播。换言之,部分对应关系218必须始终伴随有描述允许的动画/变换的信息,如前所述,这不会导致扫描网格2142的由对应关系218覆盖的区域之外的变化。
根据实施例,场景渲染装置被配置为执行从3D场景描述数据200中导出关于对应关系信息218与第一网格2141的哪个子部分2151和/或第二网格2142的哪个子部分2152相关的信息250。
针对第一网格2141的每个部分,导出对第一网格2141的子部分中的相应子部分2151进行索引的索引,其中针对相应部分导出与第二网格2142相关的对应关系,例如(第一网格2141的部分、第二网格2142的部分)的元组,或者
针对第二网格2142的每个部分,导出对第二网格2142的子部分中的相应子部分2152进行索引的索引,其中针对相应部分导出与第一网格2141相关的对应关系,例如(第二网格2142的部分、第一网格2141的部分)的元组。
根据实施例,场景渲染装置100被配置为:对于第一网格2141和第二网格2142,如果该指示指示对应关系信息218完全地定义第一网格2141和第二网格2142的部分之间的对应关系,则导出对应关系信息218作为与第二网格2142的对应关系的列表,该对应关系根据第一网格信息210a在子部分215之间定义的顺序依次与第一网格2141的各部分相关,或者作为与第一网格2141的对应关系的列表,该对应关系根据第一网格信息210a在子部分215之间定义的顺序依次与第二网格2142的各部分相关。
根据实施例,场景渲染装置100可以从3D场景描述数据200的与第一网格2141相关的区段导出对应关系。
3.将各个方面映射到可动画化/可变形的3D立体对象
下面关于图10至图19描述的构思全部适用于建立两个网格(即,第一网格2141和第二网格2142)之间的映射,并且适用于将变换从两个网格之一传送到另一个。第一网格2141可以是阴影网格或模型网格,并且第二网格2142可以是从属网格或立体扫描网格。从属网格2142可以通过依赖阴影网格2141来进行变换/动画化。例如,与从属网格2142相关联的对应关系信息218链接从属网格2142和阴影网格2141。可以对阴影网格2141进行变换/动画,并且映射可以用于将该变换/动画传送到从属网格2142。因此,阴影网格2141存在于3D场景描述数据200中以帮助实现将变换/动画应用到从属网格2142上的能力。
图10示出了用于根据3D场景描述数据200对场景进行渲染的场景渲染装置100,其被配置为从3D场景描述数据中导出第一网格信息210a、移动信息240、第二网格信息210b和对应关系信息218,该移动信息240包括可移动3D对象212的骨架216的定义,例如骨架定义加上蒙皮变换。这些信息210a、210b、218和240可以是如关于图7定义或描述的信息。对应关系信息218定义第一网格2141和第二网格2142的部分之间的对应关系,使得对应关系信息218能够建立从第一网格2141到第二网格2142的映射。在图10中,仅示例性地用点突出显示了两个网格2141和2142之间的一些对应部分。在这种情况下,对应部分与顶点相关。应当清楚,对应关系信息218可以提供第一网格2141和第二网格2142的顶点或面的集合的对应关系,其中,可以提供整个第一网格2141和/或第二网格2142的对应关系。
另外,场景描述/渲染装置100被配置为从3D场景描述导出关于第一网格2141的移动的参考姿势信息260以呈现参考姿势262。参考姿势信息260包括骨架移动定义2601(例如,从默认姿势到参考姿势262)以及变形目标2602的加权平均值的指示。可以在3D场景描述数据200中单独地指示骨架移动定义2601和变形目标2602的加权平均值。例如,在图10中,骨架移动定义2601指示对象212的手臂的弯曲,例如,弯曲手臂从T姿势到姿势262的移动。变形目标2602的加权平均值的指示例如定义要应用于第一网格2141的变形目标的权重,使得定义了用于呈现相应原始姿势的第一网格2141的补偿变形。原始姿势表示例如手臂的弯曲。指示变形目标2602的加权平均值,使得由于第一网格2141使用变形目标2602的加权平均值进行的校正,由骨架移动2601变换的3D对象在视觉上看起来不错。另外,例如,变形目标可以用于适配对象212的其他部分,例如对象212的另一只手臂和腹部,例如对象212的不受骨架变换影响的部分,但对于这些部分,3D对象的立体扫描指示网格中的差异,例如,由服装或者3D对象212的单个身体形状引起的差异。
可选地,参考姿势信息260还包括关于要应用于第一网格2141的3D对象全局位移和/或旋转和/或缩放的信息2603,例如,如关于图18和图19将描述的。
参考姿势信息260可以用于建立从第一网格2141到第二网格2142的映射,其中第一网格2141呈现参考姿势。参考姿势262可以对应于由第二网格2142定义的姿势。因此,第一网格2141和第二网格2142可以与映射时的相同姿势相关联,从而增加映射时的准确性。在映射时,可以确定相同姿势(即,参考姿势262)处的两个网格2141和2142之间的位移。
例如,该映射表示第二网格2142的每个顶点到第一网格2141的由在该时刻第二网格2142的特定位置和姿势262的对应关系信息218指示的面的粘合。在映射时,可以确定第二网格2142的每个顶点到其对应的第一网格面的平面的距离,并且可以确定第二网格2142的顶点在第一网格2141的关联面内投影到的点的位置,即计算到其距离的面内的点。通过两个网格2141和2142之间的这种参数化,第一网格2141的变换可以直接传送到第二网格2142
可以如上所述使用模型2141来进行立体扫描2142的变换,模型2141由静态拓扑和具有允许传送变换的附加信息(例如,对应关系信息218)的立体扫描视频组成。
为了能够将模型网格2141的变换传送到立体扫描2142上,播放器(例如,场景渲染装置100)需要对应关系218以及立体扫描2142的姿势262。因此,可以对模型网格2141应用与该特定姿势262相对应的变换(例如,由参考姿势信息260指示的变换),并且基于对应关系218,可以建立从模型网格2141到立体扫描2142的映射。然后,当将例如由移动信息240指示的真实变换应用于模型网格2141(由动画指定或由用户输入自由交互确定)时,可以对模型2141进行变换,并且基于所建立的模型-立体视频映射,可以将该变换传送到立体视频2142
一个问题是,如果应用于在这种姿势262处获得模型2141的蒙皮过程包含伪影,则通过骨架修改2601(在应用立体扫描2142的姿势262处,模型2141到立体扫描2142的映射)简单地应用姿势变换可能是错误的。由经变换的顶点确定的面不正确,因此模型2141到立体扫描2142的整个映射不正确。因此,在一个实施例中,校正这种错误的姿势混合形状信息2602被提供作为glTF的扩展以用于立体视频。图11示出了示例。图11示出了映射到姿势混合形状的示例。
如示例中所见,立体扫描的网格2142包含与模型网格2142的关联信息270(在扩展中的“网格”属性中)以及对应关系信息218。此外,它指向信息260,信息260指示姿势262和要在特定姿势262的姿势混合形状2602上使用的权重。备选地,可以单独地并且不在同一轨道(即,jointUpdateTrack)中提供姿势262和要在特定姿势262的姿势混合形状2602上使用的权重。因此基本上,包含姿势262(例如,作为轨道中的样本)的信息260被扩展以提供要用于校正来自应用蒙皮的潜在伪影的关于姿势混合形状2602的权重的信息,即基于姿势混合形状2602的权重将校正偏移网格应用于对象212的网格2141,使得蒙皮过程的结果是正确的结果。
样本条目将描述样本的格式,从而指示要应用的确定的姿势混合形状的权重的存在,参见图12和图13。
以轨道形式提供样本,这些轨道存储特定时刻的实际姿势信息。也将存在权重。例如参见图13。
根据实施例,关于图10描述的场景渲染装置100被配置为从场景描述数据200中导出对第二网格2142的第二网格更新,并且针对每次第二网格更新,导出关于第一网格2141的移动的对应参考姿势信息260,以呈现与由第二网格更新所更新的第二网格2142拟合的对应参考姿势262。例如,可以通过提供体扫描视频的第一帧的第二网格信息210b并且通过提供体扫描视频的连续帧的第二网格信息210b的更新来提供对象212的体扫描视频。对象212的姿势在立体扫描视频期间改变,并且因此,用于建立第一网格2141和第二网格2142之间的映射的参考姿势262也改变。为了基于移动信息240在立体扫描视频的特定时间帧处对可移动3D对象212进行动画化,导出特定时间帧处的第一网格2141与第二网格2142之间的映射是有利的,其中,对第二网格信息的更新定义特定时间帧处的第二网格2142。由第二网格2142定义的新姿势可以表示新参考姿势262,并且场景描述数据200可以包括第二网格信息210b的更新以及定义姿势移动2601和2602的参考姿势信息260的更新,使得第一网格2141可以在映射时呈现新参考姿势262。注意,这涵盖了与以特定速率(当使用例如下述实施例的技术时,该速率可能是较低的速率)或预期的较高速率(例如,每1秒)对第二网格2142进行帧化/更新(例如,立体扫描)相关的实施例,其中,场景渲染装置100通过自由变换可以生成根据用户交互的自由移动或者更好地生成备选移动/姿势序列。
根据实施例,场景渲染装置100被配置为:从场景描述数据200中导出可移动3D对象212的默认移动,通过定义可移动3D对象212的默认骨架移动,例如用于桥接下一个第二网格更新之前的时间,以便依次呈现默认姿势,例如,参考姿势262可以是默认姿势序列中的一个或者甚至第一个,并且通过针对每个默认姿势定义变形目标的加权平均值的指示,例如,因此,每个默认姿势的补偿变形由原始姿势的补偿变形的加权平均值组成。例如,默认移动可以用于将3D对象212从由第二网格2142定义的姿势移动到由后续第二网格定义的姿势,其中,后续第二网格表示第二网格2142的更新。可移动3D对象212在由第二网格2142和后续第二网格定义的两个姿势之间依次呈现默认姿势。因此,可以实现两个姿势之间的平滑转变,其中,默认骨架移动与变形目标的加权平均值一起导致可移动3D对象212的默认移动的高视觉质量,因为加权变形目标可以校正缺陷,所述缺陷可能是由默认骨架移动造成的。
注意,最后两个实施例的组合涵盖了与以较低速率(例如,每1秒)对第二网格2142进行帧化/更新(例如,立体扫描)相关的实施例,而其间的移动由骨架移动定义,其中使用骨架移动、蒙皮和变形目标校正相应地移动第一网格2141以产生例如60fps的较高移动速率;注意,通过将所建立的映射应用到第一网格2141上,第二网格2142被渲染装置连续移动以跟随第一网格2141的移动,以产生对应的第二网格2142,其然后最终确定该时刻处的对象的外皮。这允许3D对象212也以立体扫描视频的低帧率进行平滑移动。
在图13所示的所提供的示例中,关节变换作为矩阵给出,但也可以存在不同的选项。注意,这里,本发明适用于权重而不适用于关节变换本身。权重值将指定预定义变形目标使用哪个权重。在图11的示例中,定义了两个变形目标(参见“目标”),因此可以提供2个权重。
注意,在其他情况下,针对网格2141提供的变形目标/姿势混合形状的数量可能非常高,例如100至200个目标的数量级。在这种情况下,可以想到,组合(加权)若干个变形目标/姿势混合形状的不同校正偏移网格结果包括对变形目标的较小子集(例如,在20至40的范围内)进行加权。在这种情况下,提供索引以及权重来指示所使用的变形目标/姿势混合形状将更有效。参见例如图14和图15。
以轨道形式提供样本,这些轨道存储特定时刻的实际姿势信息。也将存在权重。
注意,本发明的这个方面仅应用于使用变形目标时的动画。还应当注意,对变形目标进行子集化的这个方面不仅可以应用于关于图10至图13描述的模型2141到立体扫描2142映射方面,即当模型网格2141被变换为立体扫描视频的姿势262时(例如,通过元数据轨道指示姿势262和变形目标的权重),而且还作为通用机制以在glTF中动画中对变形目标进行子集化。在这种情况下,需要针对glTF中定义的动画提供允许发送变形目标的部分权重的扩展。
因此,图16示出了用于根据3D场景描述数据200对场景进行渲染的场景渲染装置100。场景渲染装置100被配置为从3D场景描述数据200中导出例如关于图10所描述的第一网格信息210a和移动信息240。另外,场景渲染装置100被配置为导出关于多个变形目标M1至MN的信息280。每个变形目标M1至MN定义第一网格2141的补偿变形,以用于呈现相应原始姿势,如坐姿、手臂和/或腿弯曲的姿势、和/或躯干和/或头部旋转的姿势等。例如,可以将骨架移动与蒙皮变换一起应用于对象212,使得对象212呈现特定的原始姿势。然而,取决于蒙皮变换,外皮(例如,第一网格2141)在将对象212变换为特定原始姿势之后可能具有视觉伪影。为了校正视觉伪影,可以将与特定的原始姿势相关联的一个或多个变形目标应用于第一网格2141,例如以执行补偿变形。一个或多个变形目标由多个变形目标M1至MN来提供。多个变形目标M1至MN中的每个变形目标可以与原始姿势相关联。
另外,场景描述/渲染装置100被配置为还从3D场景描述数据200中导出关于可移动对象212的默认移动的信息248。图16示例性地示出了对象212的手臂的向上移动作为默认移动。关于默认移动的信息248包括可移动对象212的默认骨架移动2481,以便呈现默认姿势249。另外,场景渲染装置100被配置为:对于默认姿势249,还从3D场景描述数据200中导出多个变形目标M1至MN中的变形目标Mx至My的子集的指示,并且对于该子集中的每个变形目标Mx至My,还从3D场景描述数据200中导出权重284。根据子集中的每个变形目标Mx至My的权重284进行加权的变形目标Mx至Mv的子集指示第一网格2141的组合补偿变形以用于呈现默认姿势249。因此,可以对变形目标的较小子集进行组合和加权,从而实现有效的补偿变形,并同时实现高视觉质量。
如图16所示,默认姿势249可以对应于在将默认骨架移动2481应用于对象212之后由对象212呈现的姿势。然而,默认姿势249也可以对应于默认骨架移动2481开始时或默认骨架移动2481期间的姿势。对象212也可以在应用默认移动期间呈现两个或更多个默认姿势,例如,可移动对象212的默认骨架移动2481可以被定义为依次呈现可移动对象212的默认姿势。3D场景描述数据200对于每个默认姿势可以包括子集Mx至My的指示282,并且对于相应子集中的每个变形目标Mx至My,可以包括权重284。备选地,可以共同地而不是针对每个默认姿势单独地指示默认姿势的变形目标子集。然而,针对每个默认姿势单独地指示相应子集中的每个变形目标的权重284。
根据实施例,3D场景描述数据200包括变形目标Mx至My的子集的指示282,对于该子集中的每个变形目标Mx至My,该指示282的形式为对多个变形目标M1至MN中的相应变形目标Mx至My进行索引的变形目标索引,例如图15中的morph_target_index。
可选地,3D场景描述数据200可以包括例如关于图10所描述的第二网格信息210b和对应关系信息218。此外,3D场景描述数据200可以包括对第二网格2142的第二网格更新。关于可移动对象212的默认移动的信息248可以包括可移动对象212的默认骨架移动2481,使得可移动对象212根据第二网格更新来呈现默认姿势249,例如,对于每个经更新的第二网格2142,信息248包括默认姿势249。对于每次第二网格更新的默认姿势,3D场景描述数据200可以包括变形目标Mx至My的子集的指示282以及该子集的每个变形目标Mx至My的权重284,或者针对多于一次的连续第二网格更新的默认姿势249,3D场景描述数据200可以包括变形目标Mx至My的子集的指示282一次以及每次单独第二网格更新的默认姿势249的子集中的每个变形目标Mx至My的权重284。
当涉及到应用于模型网格2141的变换时,需要进一步考虑的是:
a)是否通过变形目标282、关节/骨架变换2481和权重284来提供预定义变换,以便基于所提供的变形目标282和相应权重284来确定要及时应用的特定姿势249的校正偏移网格。
b)预定义变换是否被提供较少的信息,并且播放器是否能够导出要及时使用的校正偏移网格。
在情况a)中,原则上可以使用符合要求的glTF文件而无需附加扩展。然而,在第二种情况(即,b))下,如果播放器能够自行计算特定姿势的校正偏移网格(即,不向其提供权重),则可能需要一些信息。
例如,播放器可能已经集成了人体模型(HBM),该HBM能够计算特定姿势的校正偏移网格,作为变形目标/姿势混合形状的组合,即播放器能够导出要应用于特定姿势的权重。
由于可能存在不同的HBM,例如需要不同数量的变形目标,因此在一个实施例中,提供glTF中的属性来指示所使用的模型(例如,HBM)以及使用哪个模型。这可以是枚举列表,其中0表示例如SMPL模型等。
因此,图17示出了用于根据3D场景描述数据200对场景进行渲染的场景渲染装置100,其被配置为从3D场景描述数据200中导出例如如关于图16所描述的第一网格信息210a、移动信息240、以及关于多个变形目标M1至MN的信息280。另外,场景渲染装置100被配置为还从3D场景描述200中导出以下项的指示:
关于多个变形目标M1至MN的信息280所参考的模型290,其中,模型290指示如何形成多个变形目标M1至MN的加权平均值以指示骨架216对第一网格2141的影响,以自由地选择可移动3D对象212的姿势,和/或
语义信息292,其将多个变形目标M1至MN中的每一个与对应关节进行关联,并且根据关节数量、关节移动的类型和/或方向,在与一个对应关节相关联的变形目标之间进行区分。
例如,该模型可以由场景渲染装置100用于确定多个变形目标M1至MN中每个变形目标M1至MN的权重,或者用于仅确定多个变形目标M1至MN中的变形目标子集的权重。场景渲染装置100可以被配置为使用该模型来确定如何对多个变形目标M1至MN进行组合和加权或者仅对多个变形目标M1至MN的子集进行组合和加权。
语义信息292例如使得场景渲染装置100能够通过指示相应变形目标与可移动3D对象212的哪个关节相对应并且例如通过还指示与相应变形目标相关联的关节类型(如球窝型关节、鞍形关节、铰链型关节等)和/或关节移动方向(如平移或旋转的方向等)来将每个变形目标与可移动3D对象212的特定姿势进行关联。
如果场景描述数据200指示模型290和语义信息292,使得模型290被配置为基于语义信息292有效地从多个变形目标中确定相关变形目标,则这可能是特别有利的。这是基于以下思想:例如根据移动信息240,必须针对要由对象212呈现的特定姿势来选择变形目标,并且语义信息290将每个变形目标与关节进行关联并提供与相应变形目标相关的相应关节的关节变换的信息。语义信息还可以改进对每个变形目标的权重的确定。
根据实施例,场景渲染/描述装置100被配置为:还从3D场景描述数据200中导出可移动3D对象212的默认移动248,通过定义可移动3D对象212的默认骨架移动2481,例如用于桥接下一个第二网格更新之前的时间,以便依次呈现默认姿势249,例如,参考姿势可以是默认姿势序列中的一个或者甚至第一个,并且通过针对每个默认姿势249定义变形目标的加权平均值的指示,例如,因此,每个默认姿势249的补偿变形由原始姿势的补偿变形的加权平均值组成。备选地,场景渲染装置100被配置为:还从3D场景描述数据200中导出可移动3D对象212的默认移动248,通过定义可移动3D对象212的默认骨架移动2481,例如,用于桥接下一个网格更新之前的时间,以便依次呈现默认姿势249,例如参考姿势249可以是默认姿势序列中的一个或者甚至第一个,并且针对每个默认姿势249,通过使用模型290和/或语义信息292来确定变形目标的加权平均值。
根据实施例,场景描述渲染装置被配置为:通过基于模型292或语义信息290的指示(例如,通过使用模型292或语义信息290)来确定变形目标的加权平均值,将第一网格2141移动到自由选择的姿势。
还应当注意,变形目标可以用于不同的目的,一个目的是不仅能够提供允许计算如上所述的特定姿势的校正偏移网格的姿势混合形状,而且还可以指示不同的身体形状等。因此,在另一实施例中,另一信令被添加到glTF文件以指示哪些变形目标是姿势混合形状,并且用于计算特定姿势的相应校正偏移网格。
最后,当提供要在模型290中使用的若干个姿势混合形状时,对于模型290来说至关重要的是理解所提供的姿势混合形状对应于哪个姿势,即它适用于什么骨架变换2481,例如,哪个姿势混合形状对应于使手臂弯曲。在一个实施例中,进行姿势混合形状(或glTF文件中的变形目标)到关节的映射。语义信息292提供关于变形目标(即,姿势混合形状)与关节之间的映射的信息。因此很明显,当对这种关节进行变换(例如,旋转或平移)时,可能需要应用映射到该关节的姿势混合形状。还可以例如通过语义信息292来提供附加信息,例如它是否对应于平移或旋转及其方向。
通常,每个模型290将具有组织姿势混合形状的特定顺序。在一个实施例中,glTF中存在用于指示/导出在文件中提供的变形目标的顺序并且遵循glTF文件中列出节点的顺序的信令。备选地,按照由所使用的HBM指定的顺序来提供姿势混合形状的顺序。作为另一备选方案,已知在HBM中使用的顺序被明确地指示到glTF文件中,即,对于包括在glTF文件中的每个变形目标,指示在将变形目标映射到HBM中的特定姿势混合形状时使用order)id值。
根据实施例,场景渲染装置100被配置为导出关于多个变形目标M1至MN的信息280作为变形目标的列表,并且根据取决于模型290的变形目标映射的列表顺序将变形目标关联到预定变形目标。模型290具有组织预定变形目标的顺序。然而,由信息280提供的变形目标列表可以根据与模型290的顺序不同的顺序来提供变形目标。变形目标映射的列表顺序可以用于将变形目标列表中的变形目标关联到预定变形目标之一。这使得场景渲染装置100能够根据模型的对应预定变形目标的顺序对变形目标列表进行排序,其中,变形目标列表中的每个变形目标对应于预定变形目标之一。
注意,提供上面所讨论的变形目标来计算网格2141的校正因子,使得一旦将蒙皮应用于该对象212,经变换的网格就不包含任何伪影。因此基本上,计算处于中性姿势的网格2141的顶点偏移,需要将其应用于该中性姿势网格2141,使得在(例如,通过蒙皮)将该网格2141变换为不同的姿势之后,经变换的网格看起来没有伪影。为了实现无伪影的结果,需要针对所应用的特定蒙皮来计算应用于网格2141的变形目标,因为不同的蒙皮方法(例如,线性蒙皮与四元数蒙皮)可能具有不同的伪影,因此需要不同的变形目标。因此,在另一实施例中,提供指示针对哪种变换方法(例如,线性蒙皮或四元数蒙皮或任何另一蒙皮)提供变形目标的指示。因此,使用变形目标的引擎(即,场景渲染装置100)知道如何正确地使用它们,即使用所指示的特定蒙皮方法。
根据实施例,场景描述渲染装置100被配置为还从3D场景描述数据200导出关于从场景描述数据200中导出的变形目标与哪种蒙皮变换类型相关的指示。
图18所示的另一实施例涉及用于根据3D场景描述数据200对场景进行渲染的场景渲染装置100,其被配置为从3D场景描述数据中导出例如关于图10所描述的第一网格信息210a、移动信息240、第二网格信息210b和对应关系信息218。另外,场景渲染装置100可以被配置为:类似于关于图10所描述的,从3D场景描述200中导出关于第一网格2141的移动的参考姿势信息260以呈现参考姿势。关于图18描述的参考姿势信息260与关于图10描述的参考姿势信息260的不同之处在于,参考姿势信息260不仅包括骨架移动定义2601(例如,从默认姿势261到参考姿势262),而且还包括关于要应用于第一网格2141的3D对象全局位移和/或全局旋转和/或全局缩放的信息2603。可选地,关于图18描述的参考姿势信息260可以附加地包括如关于图10描述的变形目标的加权平均值的指示2602。此外,场景渲染装置100被配置为使用参考姿势信息260来执行从第一网格2141到第二网格2142的映射的建立,其中第一网格2141呈现参考姿势262。
与可动画化/可变形的3D立体对象相关的最后一个方面与所执行的变形相关。如上所述,当使用具有被变换的静态拓扑的模型网格2141,并且将这种变换传送到立体网格2142时,主要需要两件事。首先需要发送例如由对应关系信息218定义的对应关系值,其将立体扫描2142的顶点映射到模型网格2141的面。其次,需要发送与立体扫描2142相对应的姿势262,例如作为关节的变换,使得模型网格2141在该特定姿势262处被变换并且两个网格2141和2142被“粘合”(例如,计算立体扫描2142的顶点到对应的模型网格2141面的距离和相对位置)。然后,使用处于不同姿势的动画模型网格2141将该不同姿势变换为已经被“粘合”的立体扫描2142(例如,使用该距离和相对位置)。不同的姿势可以由移动信息240来定义。
可以例如使用之前描述的JointsTransformationSample()来进行所描述的到特定姿势262的变换,例如参见图13和图15。这种变换可以包括应用3D偏移212(平移)、旋转和缩放(或者全部一起作为矩阵,如图13和图15所示)。
表示对象212的特定姿势262通常涉及使用局部坐标,这意味着应用于关节的变换相对于其父关节(如果有的话)是局部的。
然而,为了应用如前所述的模型网格2141和立体扫描2142的这种“粘合”操作,模型网格2141的顶点坐标和关节坐标需要在3D空间中位于将姿势模型网格2141与扫描网格2142完美对齐的精确位置处。
蒙皮操作仅将模板网格2141(模型网格2141在中性位置处,即默认位置261)的姿势改变为模型网格2141,它不能在3D空间中对网格2141进行自由变换。进入到3D空间中的移动、旋转等是全局变换2603的一部分。
因此,在实施例中,除了描述每帧中的姿势262的关节值之外,当执行立体视频的动画时,还提供了模型网格2141的3D变换(即,全局变换2603,如全局平移和/或全局旋转和/或全局缩放)以将其与扫描2142对齐。这是通过具有附加根节点来进行的,一旦姿势262被确定,就以正确的姿势262围绕模型网格2141移动到正确的位置/取向等。例如,还参见图19。
图19所示的示例示出了矩阵包含用于全局变换2603(即,它被应用于整个对象212,使其在周围移动)的参数。在示例中,它被示出为包含变换2603的矩阵,作为平移、旋转、缩放的组合。然而,所描述的样本的语法可以被单独地提供为平移、旋转和/或缩放。
本文描述的任何场景渲染装置100可以被配置为使用从第一网格2141到第二网格2142的映射来确定与第一网格2141的移动版本相关的第二网格2142
为了在第二网格2141的当前姿势262处建立第一网格2141与第二网格2142之间的映射/链接,场景渲染装置100可以被配置为例如使用全局变换的信息2603和姿势262(例如,使用骨架移动2601和可选的变形目标2602的集合)将第一网格2141变换到相同位置作为第二网格2142。关于参考姿势的信息260可以通过提供指示与第二网格2142相关联的节点/关节的变换的骨架移动2601并且通过提供变形目标的加权平均值(即,要应用于第一网格2141的变形目标的权重2602)来提供第二网格2142的位置和姿势。与任何其他变换一样,该变换通过使用用于蒙皮的网格图元和姿势相关变形目标来执行。然后,如上所述,第二网格2142中的每个顶点的对应关系值(指示到第一网格2141的面的映射)可以用于确定第二网格2142中的每个顶点相对于第一网格214的关联面的位置。
对于表示所链接的网格的相对位置,作为第二步骤,第一网格2141在其原始位置和姿势处被变换为如动画(例如,移动信息240)所指示的。对于处于目标位置和姿势262的第一网格2141,第二网格2142通过遵循每个顶点相对于第一网格2141的关联面的相对位置来变换。
尽管已经在装置的上下文中描述了一些方面,但将清楚的是,这些方面还表示对应方法的描述,其中,块或装置对应于方法步骤或方法步骤的特征。类似地,在方法步骤上下文中描述的方面也指示对相应块或项或者相应装置的特征的描述。可以由(或使用)硬件设备(诸如,微处理器、可编程计算机或电子电路)来执行一些或全部方法步骤。在一些实施例中,可以由这种装置来执行最重要方法步骤中的一个或多个方法步骤。
本发明3D场景描述数据可以存储在数字存储介质上,或者可以在诸如无线传输介质或有线传输介质(例如,互联网)等的传输介质上发送。
取决于某些实现要求,可以在硬件中或在软件中实现本发明的实施例。可以使用其上存储有电子可读控制信号的数字存储介质(例如,软盘、DVD、蓝光、CD、ROM、PROM、EPROM、EEPROM或闪存)来执行实现,该电子可读控制信号与可编程计算机系统协作(或者能够与之协作)从而执行各个方法。因此,数字存储介质可以是计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,能够与可编程计算机系统协作,使得执行本文所述的方法之一。
通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,程序代码可操作以在计算机程序产品在计算机上运行时执行方法之一。该程序代码可以例如存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的计算机程序,该计算机程序用于执行本文所述的方法之一。
换言之,本发明方法的实施例因此是具有程序代码的计算机程序,该程序代码用于在计算机程序在计算机上运行时执行本文所述的方法之一。
因此,本发明方法的其他实施例是其上记录有计算机程序的数据载体或数字存储介质或计算机可读介质,该计算机程序用于执行本文所述的方法之一。数据载体、数字存储介质或记录介质通常是有形的和/或非瞬时性的。
因此,本发明方法的另一实施例是表示计算机程序的数据流(例如,场景描述数据)或信号序列,该计算机程序用于执行本文描述的方法之一。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)传输。
另一实施例包括处理装置,例如,计算机或可编程逻辑器件,所述处理装置被配置为或适于执行本文所述的方法之一。
另一实施例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所描述的方法之一。
根据本发明的另一实施例包括被配置为向接收机(例如以电子方式或以光学方式)传送计算机程序的装置或系统,该计算机程序用于执行本文所描述的方法之一。接收器可以是例如计算机、移动设备、存储设备等。装置或系统可以例如包括用于向接收器传送计算机程序的文件服务器。
在一些实施例中,可编程逻辑器件(例如,现场可编程门阵列)可以用于执行本文所述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,这些方法优选地由任何硬件装置来执行。
本文描述的装置可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来实现。
本文描述的装置或本文描述的装置的任何组件可以至少部分地在硬件和/或软件中实现。
本文描述的方法可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来执行。
本文描述的方法或本文描述的装置的任何组件可以至少部分地由硬件和/或由软件执行。
上述实施例对于本发明的原理仅是说明性的。应当理解,本文描述的布置和细节的修改和变形对于本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的范围来限制而不是由借助对本文的实施例的描述和解释所给出的具体细节来限制。

Claims (130)

1.一种用于根据3D场景描述数据(200)对场景进行渲染的场景渲染装置(100),被配置为:
从所述3D场景描述数据(200)中导出定义3D对象(212)的第一数据(210)和定义所述对象(212)的动画(222)的第二数据(220)以及定义用于观看位置和/或观看取向的条件(232)的触发条件信息(230);以及
检查(110)是否满足用于观看位置和/或观看取向的条件(232),并且
响应于满足用于观看位置和/或观看取向的条件(232),触发(120)所述对象(212)的所述动画(222)。
2.根据权利要求1所述的场景渲染装置(100),被配置为:从所述触发条件信息(230)中导出位置范围和/或观看取向范围作为用于观看位置和/或观看取向的条件(232),并且通过检查(110)用户的位置是否在所述位置范围内和/或用户的取向是否在所述观看取向范围内来检查(1 10)是否满足用于观看位置和/或观看取向的所述条件(232)。
3.根据权利要求1或权利要求2所述的场景渲染装置(100),其中,所述触发条件信息(230)根据观看位置或者观看位置和观看取向来定义所述条件(232),其中,所述触发条件信息(230)根据偏航、俯仰和滚动、偏航和俯仰、仅偏航或仅俯仰中的一项来定义针对所述观看取向的条件(232)。
4.根据前述权利要求1至3中任一项所述的场景渲染装置(100),被配置为:从所述第一数据(210)中导出关于所述3D对象(212)的网格的定义的网格信息,并且从所述第二数据(220)中导出所述3D对象(212)的骨架的移动的定义。
5.一种3D场景描述数据(200),包括:
定义3D对象(212)的第一数据(210),和
定义所述对象(212)的动画(222)的第二数据(220)以及定义用于观看位置和/或观看取向的条件(232)的触发条件信息(230),当满足所述条件(232)时,所述条件(232)用于触发(120))所述对象(212)的所述动画(222)。
6.根据权利要求5所述的3D场景描述数据(200),其中,所述触发条件信息(230)包括位置范围和/或观看取向范围作为用于观看位置和/或观看取向的条件(232),并且如果用户的位置在所述位置范围内和/或用户的取向在所述观看取向范围内,则满足用于观看位置和/或观看取向的条件(232)。
7.根据权利要求5或权利要求6所述的3D场景描述数据(200),其中,所述触发条件信息(230)根据观看位置或者观看位置和观看取向来定义所述条件(232),其中,所述触发条件信息(230)根据偏航、俯仰和滚动、偏航和俯仰、仅偏航或仅俯仰中的一项来定义针对所述观看取向的条件(232)。
8.根据前述权利要求5至7中任一项所述的3D场景描述数据(200),其中,所述第一数据(210)包括关于所述3D对象(212)的网格的定义的网格信息,并且所述第二数据(220)包括所述3D对象(212)的骨架的移动的定义。
9.一种用于将场景编码(300)为3D场景描述数据(200)的装置,被配置为向所述3D场景描述数据(200)提供定义3D对象(212)的第一数据(210)和定义所述对象(212)的动画(222)的第二数据(220)以及定义用于观看位置和/或观看取向的条件(232)的触发条件信息(230),当满足所述条件(232)时,所述条件(232)用于触发(120))所述对象(212)的所述动画(222)。
10.根据权利要求9所述的装置(300),其中,所述触发条件信息(230)包括位置范围和/或观看取向范围作为用于观看位置和/或观看取向的条件(232),并且如果用户的位置在所述位置范围内和/或用户的取向在所述观看取向范围内,则满足用于观看位置和/或观看取向的所述条件(232)。
11.根据权利要求9或权利要求10所述的装置(300),其中,所述触发条件信息(230)根据观看位置或者观看位置和观看取向来定义所述条件(232),其中,所述触发条件信息(230)根据偏航、俯仰和滚动、偏航和俯仰、仅偏航或仅俯仰中的一项来定义针对所述观看取向的条件(232)。
12.根据前述权利要求9至11中任一项所述的装置(300),其中,所述第一数据(210)包括关于所述3D对象(212)的网格的定义的网格信息,并且所述第二数据(220)包括所述3D对象(212)的骨架的移动的定义。
13.一种用于根据3D场景描述数据(200)对场景进行渲染的场景渲染装置(100),被配置为:
从所述3D场景描述数据(200)中导出定义可移动3D对象(212)的第一数据(210)和定义所述可移动对象(212)的可移动性(244)的第二数据(240)以及定义对所述可移动3D对象(212)的可移动性(244)的约束的移动约束信息(242)。
14.根据权利要求13所述的场景渲染装置(100),被配置为在根据用户交互移动所述可移动3D对象(212)时遵守对所述可移动3D对象(212)的可移动性(244)的约束。
15.根据权利要求13或权利要求14所述的场景渲染装置(100),被配置为从所述第一数据(210)中导出关于所述可移动对象(212)的网格的定义的网格信息以及所述可移动3D对象(212)的骨架的定义。
16.根据权利要求15所述的场景渲染装置(100),被配置为从所述第二数据(240)中导出:
关于多个变形目标的信息以及所述多个变形目标中的变形目标子集的指示,每个变形目标定义所述第一网格的补偿变形以呈现相应原始姿势,所述变形目标子集在时间子周期期间能够用于移动所述可移动对象(212),而未包含在所述子集中的任何变形目标是不可用的,其中,所述可移动对象(212)的网格的定义、所述可移动3D对象(212)的骨架的定义以及关于所述多个变形目标的信息的持续超过所述时间子周期;和/或
对变形目标集的指示的更新,所述变形目标集定义所述第一网格的补偿变形以呈现相应原始姿势,其中,所述更新改变所述指示,使得所述变形目标集在所述可移动对象(212)的网格的定义和所述3D对象(212)的骨架的定义的持续期间暂时改变。
17.根据前述权利要求13至16中任一项所述的场景渲染装置(100),被配置为从所述第二数据(240)中导出:
关于在时间周期内与所述可移动对象(212)相关联的多个变形目标的信息以及所述多个变形目标中的变形目标子集的指示,所述变形目标子集在所述时间周期内的时间子周期期间能够用于移动所述可移动对象,而未包含在所述子集中的任何变形目标是不可用的;和/或
对能够用于移动所述可移动对象(212)的变形目标集的指示的更新,其中,所述更新改变所述指示,使得所述变形目标集暂时改变。
18.根据权利要求16或权利要求17所述的场景渲染装置(100),被配置为:导出对变形目标子集的指示的更新,使得所述子集在连续的时间子周期中改变。
19.根据权利要求15所述的场景渲染装置(100),被配置为从所述第二数据(240)中导出:
关于所述骨架的关节的关节信息;以及
关节约束信息,指示对所述关节的自由空间的限制和/或指示从固定的关节中进行的选择。
20.根据前述权利要求13至19中任一项所述的场景渲染装置(100),被配置为从所述第二数据(240)中导出:
关于所述可移动对象的关节的关节信息(212);以及
关节约束信息,指示对所述关节的自由空间的限制和/或指示从固定的关节中进行的选择。
21.根据权利要求19或权利要求20所述的场景渲染装置(100),其中,所述关节约束信息通过限制所述关节的角度可移动性(244)范围来限制所述关节的自由空间。
22.根据前述权利要求19至21中任一项所述的场景渲染装置(100),其中,所述关节约束信息通过限制所述关节的平移可移动性(244)范围来限制所述关节的自由空间。
23.根据前述权利要求19至22中任一项所述的场景渲染装置(100),被配置为:导出所述关节约束信息的更新,使得对所述关节的自由空间的限制和/或从固定的关节中进行的选择暂时改变。
24.根据前述权利要求13至23中任一项所述的场景渲染装置(100),被配置为从以下各项中导出所述移动约束信息:
所述3D场景描述数据(200)的glTF文件的区段的扩展部分,所述区段与所述可移动对象(212)相关;或者
所述glTF文件的元数据轨道。
25.根据前述权利要求13至24中任一项所述的场景渲染装置(100),其中,
所述3D场景描述数据(200)定义所述可移动3D对象(212)的默认移动,并且
所述移动约束信息(242)定义对所述可移动对象(212)相对于所述3D对象的由所述默认移动定义的姿势的可移动性(244)的约束。
26.一种3D场景描述数据(200),包括定义可移动3D对象(212)的第一数据(210)和定义所述可移动对象(212)的可移动性(244)的第二数据(240)以及定义对所述可移动3D对象的可移动性(244)的约束的移动约束信息(242)。
27.根据权利要求26所述的3D场景描述数据(200),其中,在根据用户交互移动所述可移动3D对象时要遵守对所述可移动3D对象(212)的可移动性(244)的约束。
28.根据权利要求26或权利要求27所述的场景描述数据(200),其中,所述第一数据(210)包括关于所述可移动对象(212)的网格的定义的网格信息以及所述可移动3D对象的骨架的定义。
29.根据权利要求28所述的3D场景描述数据(200),其中,所述第二数据(240)包括:
关于多个变形目标的信息以及所述多个变形目标中的变形目标子集的指示,每个变形目标定义所述第一网格的补偿变形以呈现相应原始姿势,所述变形目标子集在时间子周期期间能够用于移动所述可移动对象(212),而未包含在所述子集中的任何变形目标是不可用的,其中,所述可移动对象(212)的网格的定义、所述可移动3D对象(212)的骨架的定义以及关于所述多个变形目标的信息的持续超过所述时间子周期;和/或
对变形目标集的指示的更新,所述变形目标集定义所述第一网格的补偿变形以呈现相应原始姿势,其中,所述更新改变所述指示,使得所述变形目标集在所述可移动对象(212)的网格的定义和所述3D对象(212)的骨架的定义的持续期间暂时改变。
30.根据前述权利要求26至29中任一项所述的3D场景描述数据(200),其中,所述第二数据(240)包括:
关于在时间周期内与所述可移动对象(212)相关联的多个变形目标的信息以及所述多个变形目标中的变形目标子集的指示,所述变形目标子集在所述时间周期内的时间子周期期间能够用于移动所述可移动对象(212),而未包含在所述子集中的任何变形目标是不可用的;和/或
对能够用于移动所述可移动对象(212)的变形目标集的指示的更新,其中,所述更新改变所述指示,使得所述变形目标集暂时改变。
31.根据权利要求29或权利要求30所述的场景描述数据(200),包括对变形目标子集的所述指示的更新,使得所述子集在连续的时间子周期中改变。
32.根据权利要求28所述的3D场景描述数据(200),其中,所述第二数据(240)包括:
关于所述骨架的关节的关节信息;以及
关节约束信息,指示对所述关节的自由空间的限制和/或指示从固定的关节中进行的选择。
33.根据前述权利要求26至32中任一项所述的3D场景描述数据(200),其中,所述第二数据(240)包括:
关于所述可移动对象的关节的关节信息(212);以及
关节约束信息,指示对所述关节的自由空间的限制和/或指示从固定的关节中进行的选择。
34.根据权利要求32或权利要求33所述的3D场景描述数据(200),其中,所述关节约束信息通过限制所述关节的角度可移动性(244)范围来限制所述关节的自由空间。
35.根据前述权利要求32至34中任一项所述的场景描述数据(200),其中,所述关节约束信息通过限制所述关节的平移可移动性(244)范围来限制所述关节的自由空间。
36.根据前述权利要求32至35中任一项所述的3D场景描述数据(200),包括对所述关节约束信息的更新,使得对所述关节的自由空间的限制和/或从固定的关节中进行的选择暂时改变。
37.根据前述权利要求26至36中任一项所述的3D场景描述数据(200),其中,所述移动约束信息(242)被包含在以下各项中:
所述3D场景描述数据的glTF文件的区段的扩展部分,所述区段与所述可移动对象(212)相关;或者
所述glTF文件的元数据轨道。
38.根据前述权利要求26至37中任一项所述的3D场景描述数据(200),其中,
所述3D场景描述数据定义所述可移动3D对象(212)的默认移动,并且
所述移动约束信息(242)定义对所述可移动对象(212)相对于所述3D对象的由所述默认移动定义的姿势的可移动性(244)的约束。
39.一种用于将场景编码(300)为场景描述数据的装置,被配置为向3D场景描述数据(200)提供定义可移动3D对象(212)的第一数据(210)和定义所述可移动对象(212)的可移动性(244)的第二数据(240)以及定义对所述可移动3D对象的可移动性(244)的约束的移动约束信息(242)。
40.根据权利要求39所述的装置(300),其中,在根据用户交互移动所述可移动3D对象时要遵守对所述可移动3D对象(212)的可移动性(244)的约束。
41.根据权利要求39或权利要求40所述的装置(300),其中,所述第一数据(210)包括关于所述可移动对象(212)的网格的定义的网格信息以及所述可移动3D对象(212)的骨架的定义。
42.根据权利要求41所述的装置(300),其中,所述第二数据(240)包括:
关于多个变形目标的信息以及所述多个变形目标中的变形目标子集的指示,每个变形目标定义所述第一网格的补偿变形以呈现相应原始姿势,所述变形目标子集在时间子周期期间能够用于移动所述可移动对象(212),而未包含在所述子集中的任何变形目标是不可用的,其中,所述可移动对象(212)的网格的定义、所述可移动3D对象(212)的骨架的定义以及关于所述多个变形目标的信息的持续超过所述时间子周期;和/或
对变形目标集的指示的更新,所述变形目标集定义所述第一网格的补偿变形以呈现相应原始姿势,其中,所述更新改变所述指示,使得所述变形目标集在所述可移动对象(212)的网格的定义和所述3D对象(212)的骨架的定义的持续期间暂时改变。
43.根据前述权利要求39至42中任一项所述的装置(300),其中,所述第二数据(240)包括:
关于在时间周期内与所述可移动对象(212)相关联的多个变形目标的信息以及所述多个变形目标中的变形目标子集的指示,所述变形目标子集在所述时间周期内的时间子周期期间能够用于移动所述可移动对象,而未包含在所述子集中的任何变形目标是不可用的;和/或
对能够用于移动所述可移动对象(212)的变形目标集的指示的更新,其中,所述更新改变所述指示,使得所述变形目标集暂时改变。
44.根据权利要求42或权利要求43所述的装置(300),被配置为:向所述场景描述数据提供关于变形目标子集的所述指示的更新,使得所述子集在连续的时间子周期中改变。
45.根据权利要求41所述的装置(300),其中,所述第二数据(240)包括:
关于所述骨架的关节的关节信息;以及
关节约束信息,指示对所述关节的自由空间的限制和/或指示从固定的关节中进行的选择。
46.根据前述权利要求39至45中任一项所述的装置(300),其中,所述第二数据(240)包括:
关于所述可移动对象的关节的关节信息(212);以及
关节约束信息,指示对所述关节的自由空间的限制和/或指示从固定的关节中进行的选择。
47.根据权利要求45或权利要求46所述的装置(300),其中,所述关节约束信息通过限制所述关节的角度可移动性(244)范围来限制所述关节的自由空间。
48.根据前述权利要求45至47中任一项所述的装置(300),其中,所述关节约束信息通过限制所述关节的平移可移动性(244)范围来限制所述关节的自由空间。
49.根据前述权利要求45至48中任一项所述的装置(300),被配置为向所述场景描述数据提供对所述关节约束信息的更新,使得对所述关节的自由空间的限制和/或从固定的关节中进行的选择暂时改变。
50.根据前述权利要求39至49中任一项所述的装置(300),被配置为在以下各项中传送所述移动约束信息(242):
所述3D场景描述数据(200)的glTF文件的区段的扩展部分,所述区段与所述可移动对象(212)相关;或者
所述glTF文件的元数据轨道。
51.根据前述权利要求39至50中任一项所述的装置(300),其中,
所述3D场景描述数据(200)定义所述可移动3D对象(212)的默认移动,并且
所述移动约束信息(242)定义对所述可移动对象(212)相对于所述3D对象的由所述默认移动定义的姿势的可移动性(244)的约束。
52.一种用于根据3D场景描述数据(200)对场景进行渲染的场景渲染装置(100),被配置为:
从所述3D场景描述数据中导出:
关于可移动对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240);
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
其中,所述场景渲染装置(100)被配置为从所述3D场景描述数据(200)中导出关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250)。
53.根据权利要求52所述的场景渲染装置(100),被配置为:
针对所述第一网格和所述第二网格,从所述3D场景描述数据(200)中导出关于所述对应关系信息(218)是否完全地定义所述第一网格和所述第二网格的部分之间的对应关系或者所述对应关系信息(218)是否仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系的指示,并且
如果所述指示指示所述对应关系信息(218)仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系,则执行从所述3D场景描述数据中导出关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250)。
54.根据权利要求53所述的场景渲染装置(100),被配置为:如果所述指示指示所述对应关系信息(218)仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系,则通过以下方式执行从所述3D场景描述数据中导出关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250):
针对所述第一网格(2141)的所述部分中的每一个部分,导出对所述第一网格(2141)的部分中的相应部分进行索引的索引,其中针对所述相应部分导出与所述第二网格(2142)相关的对应关系;或者
针对所述第二网格(2142)的所述部分中的每一个部分,导出对所述第二网格(2142)的部分中的相应部分进行索引的索引,其中针对所述相应部分导出与所述第一网格(2141)相关的对应关系。
55.根据权利要求53所述的场景渲染装置(100),被配置为:
对于所述第一网格和所述第二网格,如果所述指示指示所述对应关系信息(218)完全地定义所述第一网格和所述第二网格的部分之间的对应关系,则
导出所述对应关系信息(218)作为与所述第二网格(2142)的对应关系的列表,所述对应关系根据所述第一网格信息(210a)在各部分之间定义的顺序依次与所述第一网格(2141)的各部分相关,或者作为与所述第一网格(2141)的对应关系的列表,所述对应关系根据所述第一网格信息(210a)在各部分之间定义的顺序依次与所述第二网格(2142)的各部分相关。
56.根据权利要求54或权利要求55所述的场景渲染装置(100),其中,所述部分是网格顶点和/或网格面。
57.根据前述权利要求54至56中任一项所述的场景渲染装置(100),其中,用信号发送所述对应关系作为各部分的索引。
58.根据前述权利要求54至57中任一项所述的场景渲染装置(100),其中,从所述3D场景描述数据(200)的与所述第一网格(2141)相关的区段导出所述对应关系。
59.一种3D场景描述数据(200),包括:
关于可移动对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240);
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射;以及
关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250)。
60.根据权利要求59所述的场景描述数据(200),
还包括:针对所述第一网格和所述第二网格,关于所述对应关系信息(218)是否完全地定义所述第一网格和所述第二网格的部分之间的对应关系或者所述对应关系信息(218)是否仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系的指示,并且
其中,如果所述指示指示所述对应关系信息(218)仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系,则所述3D场景描述数据(200)包括关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250)。
61.根据权利要求60所述的场景描述数据(200),其中,如果所述指示指示所述对应关系信息(218)仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系,则所述3D场景描述数据(200)根据以下方式包括关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250):
针对所述第一网格(2141)的所述部分中的每一个部分,提供对所述第一网格(2141)的部分中的相应部分进行索引的索引,其中针对所述相应部分导出与所述第二网格(2142)相关的对应关系;或者
针对所述第二网格(2142)的所述部分中的每一个部分,提供对所述第二网格(2142)的部分中的相应部分进行索引的索引,其中针对所述相应部分导出与所述第一网格(2141)相关的对应关系。
62.根据权利要求60所述的场景描述数据(200),其中,
对于所述第一网格和所述第二网格,如果所述指示指示所述对应关系信息(218)完全地定义所述第一网格和所述第二网格的部分之间的对应关系,则
提供所述对应关系信息(218)作为与所述第二网格(2142)的对应关系的列表,所述对应关系根据所述第一网格信息(210a)在各部分之间定义的顺序依次与所述第一网格(2141)的各部分相关,或者作为与所述第一网格(2141)的对应关系的列表,所述对应关系根据所述第一网格信息(210a)在各部分之间定义的顺序依次与所述第二网格(2142)的各部分相关。
63.根据权利要求61或权利要求62所述的场景描述数据(200),其中,所述部分是网格顶点和/或网格面。
64.根据前述权利要求61至63中任一项所述的场景描述数据(200),其中,用信号发送所述对应关系作为各部分的索引。
65.根据前述权利要求61至64中任一项所述的场景描述数据(200),其中,所述对应关系被包含在所述3D场景描述数据(200)的与所述第一网格(2141)相关的区段中。
66.一种用于将场景编码(300)为3D场景描述数据(200)的装置,被配置为向所述3D场景描述数据(200)提供:
关于可移动对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240);
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射;以及
其中,所述装置还被配置为向所述3D场景描述数据(200)提供关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250)。
67.根据权利要求66所述的装置(300),被配置为:
针对所述第一网格和所述第二网格,向所述3D场景描述数据(200)提供关于所述对应关系信息(218)是否完全地定义所述第一网格和所述第二网格的部分之间的对应关系或者所述对应关系信息(218)是否仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系的指示,并且
如果所述指示指示所述对应关系信息(218)仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系,则执行向所述3D场景描述数据(200)提供关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250)。
68.根据权利要求67所述的装置(300),被配置为:如果所述指示指示所述对应关系信息(218)仅部分地定义所述第一网格和所述第二网格的部分之间的对应关系,则通过以下方式执行向所述3D场景描述数据提供关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250):
针对所述第一网格(2141)的所述部分中的每一个部分,提供对所述第一网格(2141)的部分中的相应部分进行索引的索引,其中针对所述相应部分导出与所述第二网格(2142)相关的对应关系;或者
针对所述第二网格(2142)的所述部分中的每一个部分,提供对所述第二网格(2142)的部分中的相应部分进行索引的索引,其中针对所述相应部分导出与所述第一网格(2141)相关的对应关系。
69.根据权利要求67所述的装置(300),被配置为:
对于所述第一网格和所述第二网格,如果所述指示指示所述对应关系信息(218)完全地定义所述第一网格和所述第二网格的部分之间的对应关系,则
提供所述对应关系信息(218)作为与所述第二网格(2142)的对应关系的列表,所述对应关系根据所述第一网格信息(210a)在各部分之间定义的顺序依次与所述第一网格(2141)的各部分相关,或者作为与所述第一网格(2141)的对应关系的列表,所述对应关系根据所述第一网格信息(210a)在各部分之间定义的顺序依次与所述第二网格(2142)的各部分相关。
70.根据权利要求68或权利要求69所述的装置(300),其中,所述部分是网格顶点和/或网格面。
71.根据前述权利要求68至70中任一项所述的装置(300),其中,用信号发送所述对应关系作为各部分的索引。
72.根据前述权利要求68至71中任一项所述的装置(300),被配置为将所述对应关系插入到所述3D场景描述数据(200)的与所述第一网格(2141)相关的区段中。
73.一种用于根据3D场景描述数据(200)对场景进行渲染的场景渲染装置(100),被配置为从所述3D场景描述数据(200)中导出:
关于可移动3D对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240),所述移动信息(240)包括所述可移动3D对象的骨架(216)的定义;
关于所述可移动3D对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
其中,所述场景渲染装置还被配置为:
从3D场景描述中导出关于所述第一网格(2141)的移动的参考姿势信息(260)以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)和变形目标的加权平均值的指示(2602),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,并且
使用所述参考姿势信息(260)来执行从所述第一网格(2141)到所述第二网格(2142)的映射的建立,其中,所述第一网格(2141)呈现所述参考姿势(262)。
74.根据权利要求73所述的场景渲染装置(100),被配置为:从所述场景描述数据(200)中导出对所述第二网格(2142)的第二网格更新,并且针对每次第二网格更新,导出关于所述第一网格(2141)的移动的对应参考姿势信息(260)以呈现与由所述第二网格更新所更新的第二网格(2142)拟合的对应参考姿势(262)。
75.根据权利要求73或权利要求74所述的场景渲染装置(100),被配置为:从所述场景描述数据(200)中导出所述可移动3D对象(212)的默认移动,定义所述可移动3D对象的默认骨架移动以便依次呈现默认姿势,以及针对每个默认姿势的所述变形目标的加权平均值的指示。
76.根据前述权利要求73至75中任一项所述的场景渲染装置(100),其中,所述参考姿势信息(260)还包括关于要应用于所述第一网格(2141)的3D对象(212)全局位移和/或旋转和/或缩放的信息(2603)。
77.一种3D场景描述数据(200),包括:
关于可移动3D对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于所述可移动3D对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
关于所述第一网格(2141)的移动的参考姿势信息(260),用以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)和变形目标的加权平均值的指示(2602),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,
其中,所述参考姿势信息(260)用于建立从所述第一网格(2141)到所述第二网格(2142)的映射,其中,所述第一网格(2141)呈现所述参考姿势(262)。
78.根据权利要求77所述的3D场景描述数据(200),还包括关于对所述第二网格(2142)的第二网格更新,以及针对每次第二网格更新,关于所述第一网格(2141)的移动的对应参考姿势信息(260),用以呈现与由所述第二网格更新所更新的第二网格(2142)拟合的对应参考姿势(262)。
79.根据权利要求77或权利要求78所述的场景描述数据(200),其中,所述场景描述数据(200)还通过定义所述可移动3D对象(212)的默认骨架移动以便依次呈现默认姿势来指示所述可移动3D对象(212)的默认移动,并且对于每个默认姿势,包括所述变形目标的加权平均值的指示。
80.根据前述权利要求77至79中任一项所述的3D场景描述数据(200),其中,所述参考姿势信息(260)还包括关于要应用于所述第一网格(2141)的3D对象(212)全局位移和/或旋转和/或缩放的信息(2603)。
81.一种用于将场景编码(300)为3D场景描述数据(200)的装置,被配置为向所述3D场景描述数据(200)提供:
关于可移动3D对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象的骨架(216)的定义;
关于所述可移动3D对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
关于所述第一网格(2141)的移动的参考姿势信息(260),用以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)和变形目标的加权平均值的指示(2602),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,
其中,所述参考姿势信息(260)用于建立从所述第一网格(2141)到所述第二网格(2142)的映射,其中,所述第一网格(2141)呈现所述参考姿势(262)。
82.根据权利要求81所述的装置(300),被配置为:向所述场景描述数据提供对所述第二网格(2142)的第二网格更新,并且针对每次第二网格更新,提供关于所述第一网格(2141)的移动的对应参考姿势信息(260)以呈现与由所述第二网格更新所更新的第二网格(2142)拟合的对应参考姿势(262)。
83.根据权利要求81或权利要求82所述的装置(300),被配置为:向所述场景描述数据(248)提供关于所述可移动3D对象(212)的默认移动的信息,通过定义所述可移动3D对象的默认骨架移动以便依次呈现默认姿势,并且针对每个默认姿势提供所述变形目标的加权平均值的指示。
84.根据前述权利要求81至83中任一项所述的装置(300),其中,所述参考姿势信息(260)还包括关于要应用于所述第一网格(2141)的3D对象(212)全局位移和/或旋转和/或缩放的信息(2603)。
85.一种用于根据3D场景描述数据(200)对场景进行渲染的场景渲染装置(100),被配置为:
从所述3D场景描述数据(200)中导出:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,
其中,所述场景渲染装置(100)被配置为还从所述3D场景描述数据(200)中导出:
关于所述可移动对象(212)的包括所述可移动对象(212)的默认骨架移动(2481)在内的默认移动的信息(248),以便呈现默认姿势(249),以及针对所述默认姿势(249)的以下项的指示:
所述多个变形目标中的变形目标子集(282),以及
针对所述子集中的每个变形目标的权重(284),使得根据所述子集中的每个变形目标的权重进行加权的变形目标子集指示所述第一网格(2141)的组合补偿变形以呈现所述默认姿势(249)。
86.根据权利要求85所述的场景渲染装置(100),被配置为:针对所述子集中的每个变形目标,以对所述多个变形目标中的相应变形目标进行索引的变形目标索引的形式导出所述变形目标子集的指示。
87.根据权利要求85或权利要求86所述的场景渲染装置(100),其中,关于所述可移动对象(212)的默认移动的信息附加地定义所述可移动对象(212)的默认骨架移动(2481)以便依次呈现默认姿势(249),并且所述场景渲染装置(100)被配置为导出如下指示:
针对每个默认姿势(249),所述变形目标子集以及所述子集中的每个变形目标的权重,或者
集体地针对所述默认姿势(249)的所述变形目标子集以及单独地针对每个默认姿势(249)的所述子集中的每个变形目标的权重。
88.根据前述权利要求85至87中任一项所述的场景渲染装置(100),被配置为从所述场景描述数据中导出:
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
对所述第二网格(2142)的第二网格更新,并且根据关于所述可移动对象的默认移动的信息(212),所述可移动对象的默认骨架移动(2481),使得所述可移动对象按照第二网格更新来呈现默认姿势(249),其中,所述场景渲染装置(100)被配置为导出如下指示:
针对每次第二网格更新的默认姿势(249),所述变形目标子集以及所述子集中的每个变形目标的权重,或者
针对多于一次的连续第二网格更新的默认姿势(249)的一次的所述变形目标子集,以及单独地针对每次第二网格更新的默认姿势(249),所述子集中的每个变形目标的权重。
89.一种3D场景描述数据(200),包括:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,
关于所述可移动对象(212)的包括所述可移动对象的默认骨架移动(2481)在内的默认移动的信息(248),以便呈现默认姿势(249),并且针对所述默认姿势(249)导出以下项的指示:
所述多个变形目标中的变形目标子集(282),以及
针对所述子集中的每个变形目标的权重(284),使得根据所述子集中的每个变形目标的权重进行加权的变形目标子集指示所述第一网格(2141)的组合补偿变形以呈现所述默认姿势(249)。
90.根据权利要求89所述的3D场景描述数据(200),其中,针对所述子集中的每个变形目标,所述变形目标子集的指示以对所述多个变形目标中的相应变形目标进行索引的变形目标索引的形式存在。
91.根据权利要求89或权利要求90所述的3D场景描述数据(200),其中,关于所述可移动对象(212)的默认移动的信息附加地定义所述可移动对象的默认骨架移动(2481)以便依次呈现默认姿势(249),并且所述3D场景描述数据包括如下指示:
针对每个默认姿势(249),所述变形目标子集以及所述子集中的每个变形目标的权重,或者
集体地针对所述默认姿势(249),所述变形目标子集,以及单独地针对每个默认姿势(249),所述子集中的每个变形目标的权重。
92.根据前述权利要求89至91中任一项所述的3D场景描述数据(200),还包括:
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
对所述第二网格(2142)的第二网格更新,并且根据关于可移动对象(212)的默认移动的信息,所述可移动对象(212)的默认骨架移动(2481),使得所述可移动对象按照第二网格更新来呈现默认姿势(249),其中,所述3D场景描述数据(200)包括如下指示:
针对每次第二网格更新的默认姿势(249),所述变形目标子集以及所述子集中的每个变形目标的权重,或者
针对多于一次的连续第二网格更新的默认姿势(249)的一次的所述变形目标子集,以及单独地针对每次第二网格更新的默认姿势(249),所述子集中的每个变形目标的权重。
93.一种用于将场景编码(300)为3D场景描述数据(200)的装置,被配置为向所述3D场景描述数据(200)提供:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,
关于所述可移动对象(212)的包括所述可移动对象(212)的默认骨架移动(2481)在内的默认移动的信息(248),以便呈现默认姿势(249),并且针对所述默认姿势(249)导出以下项的指示:
所述多个变形目标中的变形目标子集(282),以及
针对所述子集中的每个变形目标,权重(284),使得根据所述子集中的每个变形目标的权重进行加权的变形目标子集指示所述第一网格(2141)的组合补偿变形以呈现所述默认姿势(249)。
94.根据权利要求93所述的装置(300),被配置为:针对所述子集中的每个变形目标,以对所述多个变形目标中的相应变形目标进行索引的变形目标索引的形式提供所述变形目标子集的指示。
95.根据权利要求93或权利要求94所述的装置(300),其中,关于所述可移动对象(212)的默认移动的信息附加地定义所述可移动对象(212)的默认骨架移动(2481)以便依次呈现默认姿势(249),并且所述装置被配置为提供如下指示:
针对每个默认姿势(249),所述变形目标子集以及所述子集中的每个变形目标的权重,或者
集体地针对所述默认姿势(249),所述变形目标子集,以及单独地针对每个默认姿势(249),所述子集中的每个变形目标的权重。
96.根据前述权利要求93至95中任一项所述的装置(300),被配置为向所述场景描述数据提供:
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
对所述第二网格(2142)的第二网格更新,并且根据关于可移动对象(212)的默认移动的信息,所述可移动对象(212)的默认骨架移动(2481),使得所述可移动对象(212)按照第二网格更新来呈现默认姿势(249),其中,所述装置被配置为提供如下指示:
针对每次第二网格更新的默认姿势(249),所述变形目标子集以及所述子集中的每个变形目标的权重,或者
针对多于一次的连续第二网格更新的默认姿势(249),一次的所述变形目标子集,以及单独地针对每次第二网格更新的默认姿势(249),所述子集中的每个变形目标的权重。
97.一种用于根据3D场景描述数据(200)对场景进行渲染的场景渲染装置(100),被配置为:
从所述3D场景描述数据(200)中导出:
关于可移动对象(212)的网格的定义的第一网格信息(210a),指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述网格(2141)的补偿变形以呈现相应原始姿势,
其中,所述场景渲染装置被配置为还从所述3D场景描述中导出以下项的指示:
关于多个变形目标的信息(280)所参考的模型(290),其中,所述模型(290)指示如何形成所述多个变形目标的加权平均值以便指示所述骨架对所述网格(2141)的影响,以自由地选择所述可移动3D对象(212)的姿势,或者
语义信息(292),所述语义信息(292)将所述多个变形目标中的每一个与对应关节进行关联,并且根据关节数量、关节移动的类型和/或方向,在与一个对应关节相关联的变形目标之间进行区分。
98.根据权利要求97所述的场景渲染装置(100),其中,所述场景渲染装置被配置为还从所述3D场景描述数据(200)中导出:
所述可移动3D对象(212)的默认移动,通过定义所述可移动3D对象(212)的默认骨架移动(2481)以便依次呈现默认姿势(249),以及针对每个默认姿势(249)的所述变形目标的加权平均值的指示,或者
所述可移动3D对象的默认移动,通过定义所述可移动3D对象(212)的默认骨架移动(2481)以便依次呈现默认姿势(249),并且针对每个默认姿势(249),通过使用所述模型(290)或语义信息(292)来确定所述对变形目标的加权平均值。
99.根据权利要求97或权利要求98所述的场景渲染装置(100),其中,所述场景渲染装置被配置为:通过所述模型(290)或语义信息(292)的指示确定所述变形目标的加权平均值,将所述网格(2141)移动到自由选择的姿势。
100.根据前述权利要求97至99中任一项所述的场景渲染装置(100),被配置为:导出关于多个变形目标的信息(280)作为变形目标的列表,并且根据取决于所述模型(290)的变形目标映射的列表顺序将所述变形目标关联到预定变形目标。
101.一种3D场景描述数据(200)包括:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述网格(2141)的补偿变形以呈现相应原始姿势,
以下项的指示:
关于多个变形目标的信息(280)所参考的模型(290),其中,所述模型(290)指示如何形成所述多个变形目标的加权平均值以便指示所述骨架对所述网格(2141)的影响,以自由地选择所述可移动3D对象(212)的姿势,或者
语义信息(292),所述语义信息(292)将所述多个变形目标中的每一个与对应关节进行关联,并且根据关节数量、关节移动的类型和/或方向,在与一个对应关节相关联的变形目标之间进行区分。
102.根据权利要求101所述的3D场景描述数据(200),还包括关于所述可移动3D对象(212)的默认移动的信息(248),所述信息(248)定义所述可移动3D对象的默认骨架移动(2481)以便依次呈现默认姿势(249),并且对于每个默认姿势(249),包括所述变形目标的加权平均值的指示。
103.根据权利要求101或权利要求102所述的3D场景描述数据(200),其中,通过所述模型(290)或语义信息的指示确定所述变形目标的加权平均值,所述网格(2141)可移动到所述自由选择的姿势(292)。
104.根据前述权利要求101至103中任一项所述的3D场景描述数据(200),其中,关于多个变形目标的信息(280)是变形目标的列表,所述变形目标根据取决于所述模型(290)的变形目标映射的列表顺序与所述预定变形目标相关联。
105.一种用于将场景(300)编码为3D场景描述数据(200)的装置,被配置为向所述3D场景描述数据提供:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述网格(2141)的补偿变形以呈现相应原始姿势,
以下项的指示:
关于多个变形目标的信息(280)所参考的模型(290),其中,所述模型(290)指示如何形成所述多个变形目标的加权平均值以便指示所述骨架对所述网格(2141)的影响,以自由地选择所述可移动3D对象(212)的姿势,或者
语义信息(292),所述语义信息(292)将所述多个变形目标中的每一个与对应关节进行关联,并且根据关节数量、关节移动的类型和/或方向,在与一个对应关节相关联的变形目标之间进行区分。
106.根据权利要求105所述的装置(300),被配置为还向所述3D场景描述数据(200)提供:
所述可移动3D对象(212)的默认移动,通过定义所述可移动3D对象的默认骨架移动(2481)以便依次呈现默认姿势(249),以及针对每个默认姿势(249)的所述变形目标的加权平均值的指示,或者
所述可移动3D对象(212)的默认移动,通过定义所述可移动3D对象的默认骨架移动(2481)以便依次呈现默认姿势(249),并且针对每个默认姿势(249),通过使用所述模型(290)或语义信息(292)来确定所述对变形目标的加权平均值。
107.根据权利要求105或权利要求106所述的装置(300),其中,通过所述模型(290)或语义信息的指示确定所述变形目标的加权平均值,所述网格(2141)可移动到所述自由选择的姿势(292)。
108.根据前述权利要求105至107中任一项所述的装置(300),被配置为提供关于多个变形目标的信息(280)作为变形目标的列表,其中,所述变形目标根据取决于所述模型(290)的变形目标映射的列表顺序与所述预定变形目标相关联。
109.根据前述权利要求73至75、85至88以及97至100中任一项所述的场景渲染装置(100),其中,所述场景渲染装置被配置为还从所述3D场景描述导出关于从所述场景描述数据中导出的变形目标与哪种蒙皮变换类型相关的指示。
110.根据前述权利要求77至80、89至92以及101至104中任一项所述的3D场景描述数据(200),还包括关于从所述场景描述数据中导出的变形目标与哪种蒙皮变换类型相关的指示。
111.根据前述权利要求81至84、93至96以及105至108中任一项所述的装置(300),被配置为还向所述3D场景描述提供关于从所述场景描述数据中导出的变形目标与哪种蒙皮变换类型相关的指示。
112.一种用于根据3D场景描述数据(200)对场景进行渲染的场景渲染装置(100),被配置为:
从所述3D场景描述数据中导出:
关于可移动对象(212)的第一网格的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
其中,所述场景渲染装置被配置为:
还从所述3D场景描述导出关于所述第一网格(2141)的移动的参考姿势信息(260)以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)以及关于要应用于所述第一网格(2141)的关于3D对象(212)全局位移和/或旋转和/或缩放的信息(2603),并且
使用所述参考姿势信息(260)来执行从所述第一网格(2141)到所述第二网格(2142)的映射的建立,其中,所述第一网格(2141)呈现所述参考姿势(262)。
113.一种3D场景描述数据(200),包括:
关于可移动对象(212)的第一网格的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射;以及
关于所述第一网格(2141)的移动的参考姿势信息(260),用以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)以及关于要应用于所述第一网格(2141)的关于3D对象(212)全局位移和/或旋转和/或缩放的信息(2603),其中,参考姿势信息(260)将用于建立从所述第一网格(2141)到所述第二网格(2143)的映射,其中所述第一网格(2141)呈现所述参考姿势(262)。
114.一种用于将场景编码(300)为3D场景描述数据(200)的装置(300),被配置为:
向所述3D场景描述数据提供:
关于可移动对象(212)的第一网格的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于所述可移动对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
其中,所述装置被配置为:
还向所述3D场景描述提供关于所述第一网格(2141)的移动的参考姿势信息(260)以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)以及关于要应用于所述第一网格(2141)的关于3D对象(212)全局位移和/或旋转和/或缩放的信息(2603),其中,参考姿势信息(260)将用于建立从所述第一网格(2141)到所述第二网格(2142)的映射,其中所述第一网格(2141)呈现所述参考姿势(262)。
115.根据前述权利要求1至4、13至25、52至58、73至75、85至88、97至100、109和112中任一项所述的场景渲染装置(100),被配置为使用从所述第一网格(2141)到所述第二网格(2142)的映射(2141)来确定相对于所述第一网格(2141)的移动版本的第二网格(2142)。
116.一种用于根据3D场景描述数据(200)对场景进行渲染的方法,包括:
从所述3D场景描述数据中导出定义3D对象(212)的第一数据(210)和定义所述对象(212)的动画(222)的第二数据(220)以及定义用于观看位置和/或观看取向的条件(232)的触发条件信息(230);以及
检查(110)是否满足用于观看位置和/或观看取向的条件(232),并且
响应于满足用于观看位置和/或观看取向的条件(232),触发(120)所述对象(212)的所述动画(222)。
117.一种用于将场景编码为3D场景描述数据(200)的方法,包括向所述3D场景描述数据提供定义3D对象(212)的第一数据(210)和定义所述对象(212)的动画(222)的第二数据(220)以及定义用于观看位置和/或观看取向的条件(232)的触发条件信息(230),当满足所述条件(232)时,所述条件(232)用于触发(120))所述对象的所述动画(222)。
118.一种用于根据3D场景描述数据(200)对场景进行渲染的方法,包括从所述3D场景描述数据中导出定义可移动3D对象(212)的第一数据(210)和定义所述可移动对象(212)的可移动性(244)的第二数据(240)以及定义对所述可移动3D对象的可移动性(244)的约束的移动约束信息(242)。
119.一种用于将场景编码为场景描述数据的方法,包括向所述3D场景描述数据(200)提供定义可移动3D对象(212)的第一数据(210)和定义所述可移动对象(212)的可移动性(244)的第二数据(240)以及定义对所述可移动3D对象的可移动性(244)的约束的移动约束信息(242)。
120.一种用于根据3D场景描述数据(200)对场景进行渲染的方法,包括:
从所述3D场景描述数据中导出:
关于可移动对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240);
关于所述可移动对象的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
其中,所述方法包括从所述3D场景描述数据(200)中导出关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250)。
121.一种用于将场景编码为3D场景描述数据(200)的方法,包括向所述3D场景描述数据提供:
关于可移动对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240);
关于所述可移动对象的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射;以及
其中,所述方法还包括向所述3D场景描述数据(200)提供关于所述对应关系信息(218)与所述第一网格(2141)的哪个子部分(2151)和/或所述第二网格(2142)的哪个部分(2152)相关的信息(250)。
122.一种用于根据3D场景描述数据(200)对场景进行渲染的方法,包括从所述3D场景描述数据中导出:
关于可移动3D对象(212)的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240),所述移动信息(240)包括所述可移动3D对象的骨架(216)的定义;
关于所述可移动3D对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
其中,所述方法还包括:
从所述3D场景描述导出关于所述第一网格(2141)的移动的参考姿势信息(260)以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)和变形目标的加权平均值的指示(2602),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,并且
使用所述参考姿势信息(260)来执行从所述第一网格(2141)到所述第二网格(2142)的映射的建立,其中,所述第一网格(2141)呈现所述参考姿势(262)。
123.一种用于将场景编码为3D场景描述数据(200)的方法,包括向所述3D场景描述数据提供:
关于可移动3D对象的第一网格(2141)的定义的第一网格信息(210a),
指示如何移动所述第一网格(2141)的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于所述可移动3D对象(212)的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
关于所述第一网格(2141)的移动的参考姿势信息(260),用以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)和变形目标的加权平均值的指示(2602),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,
其中,所述参考姿势信息(260)用于建立从所述第一网格(2141)到所述第二网格(2142)的映射,其中,所述第一网格(2141)呈现所述参考姿势(262)。
124.一种用于根据3D场景描述数据(200)对场景进行渲染的方法,包括:
从所述3D场景描述数据中导出:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,
其中,所述方法还包括从所述3D场景描述导出:
关于所述可移动对象(212)的包括所述可移动对象的默认骨架移动(2481)在内的默认移动的信息(248),以便呈现默认姿势(249),以及针对所述默认姿势(249)的以下项的指示:
所述多个变形目标中的变形目标子集(282),以及
针对所述子集中的每个变形目标,权重(284),使得根据所述子集中的每个变形目标的权重进行加权的变形目标子集指示所述第一网格(2141)的组合补偿变形以呈现所述默认姿势(249)。
125.一种用于将场景编码为3D场景描述数据(200)的方法,包括向所述3D场景描述数据提供:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述第一网格(2141)的补偿变形以呈现相应原始姿势,
关于所述可移动对象(212)的包括所述可移动对象的默认骨架移动(2481)在内的默认移动的信息(248),以便呈现默认姿势(249),以及针对所述默认姿势(249)的以下项的指示:
所述多个变形目标中的变形目标子集(282),以及
针对所述子集中的每个变形目标,权重(284),使得根据所述子集中的每个变形目标的权重进行加权的变形目标子集指示所述第一网格(2141)的组合补偿变形以呈现所述默认姿势(249)。
126.一种用于根据3D场景描述数据(200)对场景进行渲染的方法,包括:
从所述3D场景描述数据中导出:
关于可移动对象(212)的网格的定义的第一网格信息(210a),指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述网格的补偿变形以呈现相应原始姿势,
其中,所述方法还包括从所述3D场景描述导出以下项的指示:
关于多个变形目标的信息(280)所参考的模型(290),其中,所述模型(290)指示如何形成所述多个变形目标的加权平均值以便指示所述骨架对所述网格的影响,以自由地选择所述可移动3D对象(212)的姿势,或者
语义信息(292),所述语义信息(292)将所述多个变形目标中的每一个与对应关节进行关联,并且根据关节数量、关节移动的类型和/或方向,在与一个对应关节相关联的变形目标之间进行区分。
127.一种用于将场景编码为3D场景描述数据(200)的方法,包括向所述3D场景描述数据提供:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于多个变形目标的信息(280),每个变形目标定义所述网格的补偿变形以呈现相应原始姿势,
以下项的指示:
关于多个变形目标的信息(280)所参考的模型(290),其中,所述模型(290)指示如何形成所述多个变形目标的加权平均值以便指示所述骨架对所述网格的影响,以自由地选择所述可移动3D对象(212)的姿势,或者
语义信息(292),所述语义信息(292)将所述多个变形目标中的每一个与对应关节进行关联,并且根据关节数量、关节移动的类型和/或方向,在与一个对应关节相关联的变形目标之间进行区分。
128.一种用于根据3D场景描述数据(200)对场景进行渲染的方法,包括:
从所述3D场景描述数据中导出:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于所述可移动对象的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
其中,所述方法还包括:
从所述3D场景描述导出关于所述第一网格(2141)的移动的参考姿势信息(260)以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)以及要应用于所述第一网格(2141)的关于3D对象(212)全局位移和/或旋转和/或缩放的信息(2603),并且
使用所述参考姿势信息(260)来执行从所述第一网格(2141)到所述第二网格(2142)的映射的建立,其中,所述第一网格(2141)呈现所述参考姿势(262)。
129.一种用于将场景编码为3D场景描述数据(200)的方法,包括:
向所述3D场景描述数据提供:
关于可移动对象(212)的网格的定义的第一网格信息(210a),
指示如何移动所述网格的移动信息(240),所述移动信息(240)包括所述可移动3D对象(212)的骨架(216)的定义;
关于所述可移动对象的第二网格(2142)的定义的第二网格信息(210b);以及
定义所述第一网格(2141)和所述第二网格(2142)的部分之间的对应关系的对应关系信息(218),使得所述对应关系信息(218)能够建立从所述第一网格(2141)到所述第二网格(2142)的映射,
其中,所述方法还包括:
向所述3D场景描述提供关于所述第一网格(2141)的移动的参考姿势信息(260)以呈现参考姿势(262),所述参考姿势信息(260)包括骨架移动定义(2601)以及关于要应用于所述第一网格(2141)的关于3D对象(212)全局位移和/或旋转和/或缩放的信息(2603),其中,参考姿势信息(260)将用于建立从所述第一网格(2141)到所述第二网格(2142)的映射,其中所述第一网格(2141)呈现所述参考姿势(262)。
130.一种具有程序代码的计算机程序,当所述程序在计算机上执行时,所述程序代码用于执行根据前述权利要求116至129中任一项所述的方法。
CN202280025896.1A 2021-02-27 2022-02-24 3d场景描述数据、用于根据3d场景描述数据对场景进行渲染的场景渲染装置以及用于将场景编码为3d场景描述数据的装置 Pending CN117178295A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP21159798 2021-02-27
EP21159798.4 2021-02-27
PCT/EP2022/054699 WO2022180176A2 (en) 2021-02-27 2022-02-24 3d scene description data, scene rendering apparatus for rendering a scene from 3d scene description data, and apparatus for encoding a scene into 3d scene description data

Publications (1)

Publication Number Publication Date
CN117178295A true CN117178295A (zh) 2023-12-05

Family

ID=80952105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280025896.1A Pending CN117178295A (zh) 2021-02-27 2022-02-24 3d场景描述数据、用于根据3d场景描述数据对场景进行渲染的场景渲染装置以及用于将场景编码为3d场景描述数据的装置

Country Status (5)

Country Link
US (1) US20230394744A1 (zh)
EP (1) EP4281934A2 (zh)
KR (1) KR20230147709A (zh)
CN (1) CN117178295A (zh)
WO (1) WO2022180176A2 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113409430B (zh) * 2021-06-01 2023-06-23 北京百度网讯科技有限公司 可驱动三维人物生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2022180176A2 (en) 2022-09-01
KR20230147709A (ko) 2023-10-23
EP4281934A2 (en) 2023-11-29
WO2022180176A3 (en) 2022-10-06
US20230394744A1 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
US11222474B2 (en) Methods and systems for applying machine learning to volumetric capture of a body in a real-world scene
US8390628B2 (en) Facial animation using motion capture data
US8462198B2 (en) Animation generation systems and methods
US10489956B2 (en) Robust attribute transfer for character animation
WO2021094537A1 (en) 3d body model generation
US20130293686A1 (en) 3d reconstruction of human subject using a mobile device
US7057619B2 (en) Methods and system for general skinning via hardware accelerators
Zurdo et al. Animating wrinkles by example on non-skinned cloth
CN108389247A (zh) 用于生成真实的带绑定三维模型动画的装置和方法
CN107646126A (zh) 用于移动设备的相机姿态估计
EP3980974A1 (en) Single image-based real-time body animation
US10909744B1 (en) Simulating garment with wrinkles based on physics based cloth simulator and machine learning model
US20130107003A1 (en) Apparatus and method for reconstructing outward appearance of dynamic object and automatically skinning dynamic object
US20160335793A1 (en) Animation data transfer between geometric models and associated animation models
WO2011045768A2 (en) Animation of photo-images via fitting of combined models
US11704853B2 (en) Techniques for feature-based neural rendering
US11430168B2 (en) Method and apparatus for rigging 3D scanned human models
Bauer et al. Anatomical augmented reality with 3D commodity tracking and image-space alignment
CN116583881A (zh) 用于体积视频数据的数据流、设备和方法
US20230394744A1 (en) 3d scene description data, scene rendering apparatus for rendering a scene from 3d scene description data, and apparatus for encoding a scene into 3d scene description data
CN107066095B (zh) 一种信息处理方法及电子设备
CN113662663A (zh) 一种ar全息手术导航系统坐标系转换方法、装置及系统
Huynh et al. A framework for cost-effective communication system for 3D data streaming and real-time 3D reconstruction
WO2021065607A1 (ja) 情報処理装置および方法、並びにプログラム
US20240193841A1 (en) Systems and Methods for Motion-Controlled Animation

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