CN115918082A - 用于基于视频的点云压缩的图块化 - Google Patents

用于基于视频的点云压缩的图块化 Download PDF

Info

Publication number
CN115918082A
CN115918082A CN202180044767.2A CN202180044767A CN115918082A CN 115918082 A CN115918082 A CN 115918082A CN 202180044767 A CN202180044767 A CN 202180044767A CN 115918082 A CN115918082 A CN 115918082A
Authority
CN
China
Prior art keywords
video
frame
map
tiles
tile
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
CN202180044767.2A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN115918082A publication Critical patent/CN115918082A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

一种用于点云编码的方法,包括:为三维(3D)点云生成包括表示关于3D点云的信息的像素的视频帧和图谱帧,其中,图谱图块表示图谱帧中的分区并且视频图块表示视频帧中的分区。所述方法还包括根据视频图块的尺寸与图谱图块的尺寸之间的关系来设置语法元素的值。所述方法还包括对视频帧和图谱帧进行编码以生成视频子比特流和图谱子比特流。另外,所述方法包括基于图谱子比特流、视频子比特流和语法元素生成比特流。

Description

用于基于视频的点云压缩的图块化
技术领域
本公开总体上涉及多媒体数据。更具体地,本公开涉及用于对点云进行压缩和解压缩的设备和方法。
背景技术
由于强大的手持装置(诸如智能电话)的随时可用性,三百六十度(360°)视频正在成为体验沉浸式视频的新方式。360°视频通过捕获世界的360°视图为消费者提供了沉浸式“真实生活”、“身临其境”的体验。用户可交互地改变他们的视点并动态地查看他们期望的捕获场景或对象的任何部分。显示和导航传感器可实时跟踪用户的头部移动以确定用户想要观看的360°视频的区域。本质上是三维(3D)的多媒体数据(诸如点云)可在沉浸式环境中被使用。
点云是3D空间中表示对象的一组点。点云常见于各种应用(诸如游戏、3D地图、可视化、医疗应用、增强现实、虚拟现实、自主驾驶、多视点重放、6自由度(6DOF)沉浸式媒体,仅举几例)。如果未压缩,则点云通常需要大量带宽用于传输。由于高比特率要求,点云通常在传输之前被压缩。压缩3D对象(诸如点云)通常需要专用硬件。为了避免专用硬件来压缩3D点云,3D点云可被操作到可在不同装置上被压缩和重建的传统二维(2D)视频帧上,以便由用户观看。
发明内容
技术方案
本公开提供了用于基于视频的点云压缩的图块化的指示。
在一个实施例中,提供了一种用于点云编码的编码装置。所述编码装置包括处理器和通信接口。所述处理器被配置为针对三维(3D)点云生成包括表示关于3D点云的信息的像素的视频帧和图谱帧。图谱图块表示图谱帧中的分区并且视频图块表示视频帧中的分区。所述处理器被配置为根据视频图块的尺寸与图谱图块的尺寸之间的关系来设置语法元素的值。所述处理器被配置为对视频帧和图谱帧进行编码以分别生成视频子比特流和图谱子比特流。所述处理器被配置为基于图谱子比特流、视频子比特流和所述语法元素生成比特流。所述通信接口被配置为发送比特流。
在另一实施例中,提供了一种用于点云编码的方法。所述方法包括针对三维(3D)点云生成包括表示关于所述3D点云的信息的像素的视频帧和图谱帧。图谱图块表示图谱帧中的分区并且视频图块表示视频帧中的分区。所述方法还包括根据视频图块的尺寸与图谱图块的尺寸之间的关系来设置语法元素的值。另外,所述方法还包括对视频帧和图谱帧进行编码以分别生成视频子比特流和图谱子比特流。所述方法还包括基于图谱子比特流、视频子比特流和语法元素生成比特流,并发送比特流。
在又一实施例中,提供了一种用于点云解码的解码装置。所述解码装置包括处理器和通信接口。所述通信接口被配置为接收比特流。所述处理器被配置为从比特流识别表示三维(3D)点云的一个或更多个视频子比特流、图谱子比特流和具有值的语法元素,其中,图谱图块被包括在图谱子比特流中,并且视频图块被包括在视频子比特流中。所述处理器被配置为从所述语法元素的值识别所述一个或更多个视频子比特流中的视频图块的尺寸与图谱子比特流中的图谱图块的尺寸之间的关系。所述处理器被配置为基于视频图块和图谱图块对部分视频子比特流和部分图谱子比特流进行解码,以生成部分视频帧和部分图谱帧。所述处理器被配置为基于所述部分视频帧和所述部分图谱帧来重建部分所述点云。
附图说明
为了更完整地理解本公开及其优点,现在结合附图参考以下描述,其中相同的附图标记表示相同的部分:
图1示出根据本公开的实施例的示例通信系统;
图2和图3示出根据本公开的实施例的示例电子装置;
图4a示出根据本公开的实施例的示例3D点云;
图4b示出根据本公开的实施例的由多个投影平面围绕的点云的图;
图4c和图4d示出根据本公开的实施例的包括表示图4a的3D点云的面片的示例2D帧;
图5a示出根据本公开的实施例的示例环境-架构的框图;
图5b示出根据本公开的实施例的编码器的示例框图;
图5c示出根据本公开的实施例的解码器的示例框图;
图6示出根据本公开的实施例的示例图谱图块结构;
图7、图8和图9示出根据本公开的实施例的示例图谱图块结构和对应的视频图块结构;
图10示出根据本公开的实施例的用于对点云进行编码的示例方法;以及
图11示出根据本公开的实施例的用于对点云进行解码的示例方法。
具体实施方式
阐述贯穿整个本专利文件使用的某些单词和短语的定义可能是有利的。术语“耦接”及其派生词是指两个或更多个元件之间的任意直接或间接通信,无论这些元件是否彼此物理接触。术语“发送”、“接收”和“通信”及其派生词涵盖直接通信和间接通信两者。术语“包括(include)”和“包含(comprise)”及其派生词表示包括但没有限制。术语“或”是包含性的,表示和/或。短语“与...相关联”及其派生词表示包括、被包括在...内、与...互连、包含、被包含在...内、连接到或与...连接、耦接到或与...耦接、可与...通信、与...协作、交错、并置、接近于、绑定到或与...绑定、具有、具有...的特性、有关系或与...具有关系等。术语“控制器”表示控制至少一个操作的任意装置、系统或其部分。这样的控制器可以以硬件或者以硬件和软件和/或固件的组合来实现。与任何特定控制器相关联的功能可以是集中式的或分布式的,无论是本地还是远程。当与项的列表一起使用时,短语“……中的至少一个”表示所列项中的一个或更多个的不同组合可被使用,并且可能仅列表中的一个项被需要。例如,“A、B和C中的至少一个”包括以下组合中的任意一个:A、B、C、A和B、A和C、B和C、以及A和B和C。
此外,下面描述的各种功能可由一个或更多个计算机程序实现或支持,每个计算机程序由计算机可读程序代码形成并被实现在计算机可读介质中。术语“应用”和“程序”是指适于在合适的计算机可读程序代码中实现的一个或更多个计算机程序、软件组件、指令集、过程、函数、对象、类、实例、相关数据或其部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质(诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频盘(DVD)或任何其他类型的存储器)。“非暂时性”计算机可读介质不包括传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括数据可被永久存储的介质和数据可被存储并稍后被重写的介质(诸如可重写光盘或可擦除存储器装置)。
贯穿整个本专利文件提供了对其他某些词语和短语的定义。本领域普通技术人员应当理解,在许多(即使不是大多数)情况下,这样的定义适用于这样定义的词语和短语的先前以及将来的使用。
下面讨论的图1至图11以及用于描述本专利文件中的本公开的原理的各种实施例仅通过图示方式,并且不应以任何方式被解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可在任何适当布置的系统或装置中被实现。
基于视觉体积视频的编码(V3C)是一种用于对视觉体积数据进行编码和解码的机制。V3C将媒体从3D表示转换为多个2D表示。基于视频的点云压缩(V-PCC)基于V3C,但是包括附加处理(诸如后解码、预重建、后重建和自适应)。
虚拟现实(VR)是视觉场景的渲染版本,其中,全部场景都是计算机生成的。增强现实(AR)是真实世界环境的交互式体验,其中,驻留在真实世界环境中的对象被虚拟对象、虚拟信息或两者增强。在某些实施例中,AR和VR包括视觉体验和音频体验两者。视觉渲染被设计为当用户在由应用或者AR或VR场景定义的限制内移动时,尽可能自然地模仿真实世界的视觉刺激以及(如果可用的话)听觉感官刺激给到观察者或用户。例如,VR将用户置于对检测到的用户的头部移动做出响应的沉浸式世界中。在视频层面,通过提供尽可能多的覆盖视场(FOV)的视频体验连同使渲染的视频的视角与头部移动同步来实现VR。
许多不同类型的装置能够提供与AR或VR相关联的沉浸式体验。一个示例装置是头戴式显示器(HMD)。HMD表示向用户提供AR体验和VR体验的许多类型的装置之一。HMD是使得用户能够观看VR场景并基于用户头部的移动来调整显示的内容的装置。通常,HMD依赖于集成到装置中并与外部计算机(系留)连接的专用屏幕,或者依赖于插入到HMD中(非系留)的装置(诸如智能电话)。第一种方法利用一个或更多个轻量的屏幕并且受益于高计算能力。相比之下,基于智能电话的系统利用更高的移动性并且可更便宜地生产。在这两种情况下,生成的视频体验是相同的。注意,如本文所使用的,术语“用户”可表示使用电子装置的人或另一装置(诸如人工智能电子装置)。
点云是对象在三维中的虚拟表示。例如,点云是3D空间中的点的集合,并且每个点被放置在3D空间内的特定几何位置处。除了具有几何位置的点之外,点还可包括零个或多个属性(诸如颜色、纹理、反射率、强度、法线、材料特性、运动等)。点云可类似于VR或AR环境中的虚拟对象。网格是VR或AR环境中的对象的另一种类型的虚拟表示。点云或网格可以是对象、多个对象、虚拟场景(其包括多个对象)等。如上所述,点云和网格通常被用于各种应用,包括游戏、3D地图、可视化、医学、AR、VR、自动驾驶、多视点重放、6DoF沉浸式媒体,仅举几例。如本文所使用的,术语点云、3D点云、3D网格和网格可被互换使用。
点云表示体积视觉数据。点云由放置在3D空间中的多个点组成,其中,3D点云中的每个点包括由3元组(X,Y,Z)坐标值表示的几何位置。当通过所述三个坐标识别每个点时,3D环境或空间中的精确位置被识别。每个点在3D环境或空间中的位置可相对于原点、点云的其他点或其组合。原点是X、Y和Z轴相交的位置。在某些实施例中,点被放置在对象的外表面上。在其他实施例中,点被放置在整个对象的内部结构和外表面两者中。
除了点的几何位置(3D空间中的点的位置)之外,点云中的每个点还可包括零个或多个属性(诸如颜色、纹理、反射率、强度、表面法线等)。在一些实施例中,3D点云的单个点可不具有属性。在其他实施例中,3D点云的单个点可具有一个或更多个属性。在一些应用中,点云也可被用于近似光场数据,其中,在光场数据中,每个点包括多个视点相关的颜色信息(R、G、B三元组或Y、U、V三元组)。
单个点云可包括数以亿计的点,每个点与几何位置以及零个或多个属性相关联。与点相关联的几何位置和每个附加属性占用一定数量的比特。例如,点云中的单个点的几何位置可消耗三十比特。例如,如果单个点的每个几何位置用X值、Y值和Z值定义,则每个坐标(X、Y和Z)使用十比特,总计三十比特。类似地,指定单个点颜色的属性可消耗二十四比特。例如,如果基于红色值、绿色值及蓝色值定义单个点的颜色分量,则每个颜色分量(红色、绿色及蓝色)使用八比特,总计二十四比特。因此,具有每个坐标十比特几何数据和每个颜色值八比特颜色属性数据的单个点占用五十四比特。每个附加属性使单个点所需的比特增加。如果帧包括一百万个点(并且每个点包括几何数据和颜色属性数据),则每帧的比特数是五千四百万比特(每点五十四比特乘以每帧一百万个点)。如果帧速率是每秒三十帧并且不经过压缩,则每秒1.62千兆字节(每帧五千四百万比特乘以每秒三十帧)将从一个电子装置被发送到另一个电子装置,以便第二装置渲染和显示点云。因此,由于与单个点云相关联的数据的大小和复杂性,将未压缩的点云从一个电子装置发送到另一个电子装置使用大量带宽。因此,点云在传输之前被压缩。
本公开的实施例考虑到压缩点云对于减少当点云从一个装置(诸如源装置)被发送到另一装置(诸如显示装置或者用户装置)时使用的数据量(带宽)是必要的。某些专用硬件组件可被用于满足发送和渲染3D点云的实时需求或者减少发送和渲染3D点云时的延迟或滞后;然而,这样的硬件组件通常是昂贵的。另外,许多视频编解码器不能够对3D视频内容(诸如点云)进行编码和解码。通过利用现有2D视频编解码器来压缩和解压缩3D点云使得点云的编码和解码能够广泛可用,而不需要新的或专用的硬件。根据本公开的实施例,当将点云从3D表示转换为2D表示时,可使用现有的视频编解码器来压缩和重建点云。
本公开的实施例提供了用于将输入的3D点云转换为2D表示的系统和方法,该2D表示可被发送并且然后被重建为3D点云以用于渲染。编码器将输入的3D点云转换为多个2D帧(诸如几何帧、属性帧和占用图帧)。2D帧可表示视频帧。2D视频帧可被编码(使用诸如HEVC、AVC、VP9、VP8、VVC等的视频编解码器)以压缩2D帧以经由比特流进行传输。解码器接收并解码比特流,然后从2D帧重建3D点云,使得3D点云可被渲染、显示,然后由用户观看。本公开的实施例描述了用于使得能够对所接收的表示点云的比特流进行部分解码的系统和方法。因此,解码器仅需要对表示部分点云的部分所接收的接收比特流进行解码和渲染,而不是对整个点云进行解码。
为了将输入的3D点云转换为可使用2D视频帧发送的2D表示,将点云从3D状态分解为被打包为2D视频帧的多个面片(patch)。当两个面片被放置在相同坐标上时,在第一帧中的一个面片中表示的3D点云的点与在第二帧中的另一面片中表示的相同点对应。例如,表示几何形的帧中的位置(u,v)处的像素是表示属性(诸如颜色)的帧中的相同(u,v)位置处的像素的几何位置。在其他实施例中,一个帧中的面片表示与点云的点相关联的多个属性,诸如3D空间中的点的几何位置和颜色。
为了分解3D点云以用于从一个装置传输到另一个装置,将点云的点的几何位置与点的属性信息分离。相对于不同的投影平面进行3D点云的投影,使得3D点云被分成多个点簇,这些点簇被表示为2D视频帧上的面片。第一帧集合可包括表示点的几何位置的值。每个附加帧集合可表示点云的不同属性。例如,一个属性帧可包括表示与每个点相关联的颜色信息的值。表示几何和属性信息(如果存在)的面片分别被打包到几何视频帧和属性视频帧中,其中,任何面片内的每个像素与3D空间中的点对应。几何视频帧被用于对几何信息进行编码,并且每个对应属性视频帧(如果存在)被用于对3D点云的对应属性(诸如颜色)进行编码。
当点云被分解以适于多个2D视频帧并被编码器压缩时,可使用比用于发送原始点云的带宽少的带宽来发送帧。下面更详细描述的图4a-图4d示出将点云投影到不同平面上并随后将投影存储到2D帧中的各个阶段。例如,图4a示出3D点云的两个视图,示出点云可以是对象的360°视图。图4b示出将3D点云投影到不同平面上的处理。在将点云(诸如图4a的点云)投影到不同平面上之后,图4c和图4d分别示出包括与各种投影对应的面片的几何帧和属性帧(其表示3D点云的点的颜色)。
编码器可区分与点云的点相关联的几何形和属性。点云的几何形和属性被聚类(使用一些标准,诸如法线方向、到投影帧的距离、邻接等)并且被投影到不同的平面(例如,XY、YZ、ZX平面)上。此外,对于每个投影平面,点可被投影到近平面或远平面。下面更详细讨论的图4b描述了投影平面。当投影在平面上时,每个簇显示为面片。面片被分类并打包成存储几何形的2D视频帧。在某些实施例中,可存在与每个几何帧相关联的零个或多个属性帧。面片被打包到的2D平面被称为画布。在某些实施例中,可存在被投影到画布上的相同像素的多个点,因此,可考虑两个(或更多个)映射用于面片投影。在多个映射的情况下,对于每个映射,形成几何视频。同样地,针对每个映射和每个属性,形成属性视频。然后,利用视频编解码器(诸如HEVC、AVC、VP9、VP8、JVET、AVC等)对每个视频进行编码。
几何视频帧被用于对3D点云的点的几何坐标进行编码。几何帧中的像素的位置(u,v)与3D空间中的点的(X,Y,Z)位置对应。例如,3D点的两个横向坐标(相对于投影平面)对应于几何视频帧中的列索引和行索引(u,v)加上确定视频帧内的整个面片的位置的横向偏移。3D点的深度被编码为视频帧中的像素的值加上面片的深度偏移。3D点云的深度取决于3D点云的投影是取自XY坐标、YZ坐标还是XZ坐标。
编码器还可生成占用图(也被称为占用图帧)。占用图示出了2D视频帧中的投影点的位置。对于每个画布,存在由所有映射共享的单个占用图。对于画布上的每个像素,占用图指定该像素是否被占用,也就是,它是否是面片的部分。占用图示出了2D视频帧中的投影点的位置。例如,因为面片可能不占用整个生成的帧,所以占用图指示几何帧和属性帧的哪些像素与点云的点对应以及哪些像素是空的/无效的并且不与点云的点(诸如表示填充的像素)对应。在某些实施例中,占用图帧被压缩。
在生成几何帧和占用图帧之后,可通过利用各种视频压缩编解码器、图像压缩编解码器或两者来压缩帧。例如,编码器首先生成几何帧,然后使用2D视频编解码器(诸如HEVC)来压缩几何帧。在某些实施例中,编码器还对占用图帧进行编码。在某些实施例中,编码器可对重建的点云的几何形进行平滑。注意,基于编码器是否对重建的点云的几何形进行平滑影响解码器如何重建3D点云。
为了生成属性帧(诸如3D点云的颜色),在一些实施例中,编码器对编码的几何帧(以及占用图帧,如果它们被编码的话)进行解码并重建3D点云的3D坐标。编码器可将每个点的颜色值从原始点云的颜色值插值到经过平滑的几何形或重建的几何形的对应几何点。然后将插值的颜色值打包成被压缩的颜色帧。因此,几何视频帧被用于对几何信息进行编码,并且对应的属性视频帧被用于对点云的属性(诸如颜色)进行编码。
例如,在形成几何帧和占用图之后,使用视频编解码器(诸如HEVC)对它们进行编码。几何帧(和占用图视频,如果它们先前被编码的话)被解压缩。然后,编码器使用解码的几何帧和占用图视频帧来重建3D点云的几何形。使用占用图帧、输入点云和面片信息以及3D点云的重建的几何形来生成属性视频帧。
编码器还可生成图谱帧(也被称为图谱序列)。图谱帧包括关于帧(诸如几何视频帧、属性视频帧、占用图帧等)中的面片的信息。图谱帧可包括2D帧内的面片的位置、3D点云空间中的面片段的偏移、面片被投影在其上的平面等。图谱帧可包括关于面片的位置和尺寸及其在图谱帧中的定位、3D空间中的面片的位置和尺寸以及面片的某些其他属性的信息。
在某些实施例中,图谱帧包括3D信息和2D信息。关于3D信息,图谱帧可指定面片的3D位置(诸如面片在3D空间中的位置)。图谱帧还可指定面片的3D偏移。关于2D信息,图谱帧可指定面片在2D帧的网格上的位置以及面片的尺寸。图谱帧还可指定与面片相关的附加信息(诸如关于面片类型的信息)。
在某些实施例中,视频帧(诸如几何视频帧、属性视频帧、占用图帧等)和图谱帧被分区为图块。例如,视频帧中的每个可被分区成一个或更多个图块。类似地,图谱帧可被分区为一个或更多个图块。例如,如果存在100个面片并且编码器确定使用四个图块,则在四个图块之间划分面片。面片可以但不需要在四个图块之间被等分。例如,图块0可包括10个面片,图块1可包括40个面片,图块2可包括30个面片,并且图块3可包括20个面片。
在某些实施例中,在视频帧的图块与图谱帧的图块之间存在关系。例如,视频帧中的一个视频帧的图块对应于与图谱帧中的图块相似的位置。即使视频帧和图谱帧的尺寸不同,图块在视频帧中的相对位置也类似于图块在图谱帧中的相对位置。视频帧中的图块的尺寸也可与图谱帧中的图块的尺寸成比例。例如,如果视频帧在X坐标和Y坐标两者上被缩小,则视频帧中的图块的尺寸将与图谱帧中的图块的尺寸相同(如果视频帧被缩小到标称尺寸)。在该示例中,如果图谱帧是1024×1024,其中图块是256×256,并且几何帧是512×512,其中图块是128×128,则如果几何帧被缩放为与图谱帧相同的尺寸,则几何帧的图块将是与图谱帧中的图块相似的尺寸(256×256的尺寸)。语法元素或消息的值可指定视频帧的图块与图谱帧的图块之间的关系。
当帧被压缩时,运动可被约束在图块中。也就是说,图块组可被独立地编码和解码,而不必依赖于来自其他图块的数据。例如,HEVC编码使用先前帧作为用于对当前帧进行编码的预测因子。然而,当使用图块化时,HEVC可将运动约束在特定图块内。如果运动被约束在图块内,则运动矢量不被引导到图块或图块组之外。通过使用运动受约束的图块,解码器可在不参考来自其它图块的数据的情况下对个别图块进行解码。这使得解码器能够仅对帧的某些部分进行解码(诸如一个或更多个图块),而不必对整个帧进行解码。通过使解码器能够对帧的一个或更多个部分进行解码,可节省处理功率。注意,如果编码器确定使用运动受约束的图块,则解码器具有仅对某些图块进行解码的能力。然而,如果编码器不使用运动受约束的图块,则解码器需要对整个帧进行解码。
在某些实施例中,消息或语法元素可被包括在比特流中,用于指示视频帧(诸如几何视频帧、属性视频帧、占用图帧等)的图块与图谱帧的图块之间的关系。如果解码器确定执行部分解码,则语法元素使得解码器能够确定图谱帧中的图块与视频帧中的图块之间的关系。
压缩的几何帧、压缩的颜色帧(和任何其他属性帧)和占用图帧可被复用以生成比特流。编码器或另一装置接着将包括2D帧的比特流发送到不同装置。注意,术语“比特流”、“子比特流”及“子流”可在本公开中被互换使用。
解码器接收比特流,将比特流解压缩成帧,并且基于帧内的信息来重建点云。在重建点云之后,可对3D点云进行平滑以提高3D点云的视觉质量。此后,可渲染并显示重建的3D点以供用户观察。
本公开的实施例考虑到解码器可能不想对整个点云进行解码。例如,如果解码器是电池供电的,则当解码器仅对将被渲染的内容进行解码而不是对整个帧进行解码时,解码器可延长其电池寿命。
因此,本公开的实施例提供了在视频帧(几何帧、属性帧和占用帧)和图谱帧中包括图块的系统和方法。本公开的实施例还提供了使用消息或语法值来指示视频帧的图块与图谱帧的图块之间的特定关系的系统和方法。在某些实施例中,所述消息或语法值指示属性帧、几何帧、占用图帧和图谱帧都使用具有成比例的尺寸的,适合于基于对象的解码或部分解码的图块。
图1示出根据本公开的实施例的示例通信系统100。图1所示的通信系统100的实施例仅用于说明。在不脱离本公开的范围的情况下,可使用通信系统100的其他实施例。
通信系统100包括促进通信系统100中的各种组件之间的通信的网络102。例如,网络102可在网络地址之间传送IP包、帧中继帧、异步传输模式(ATM)单元或其他信息。网络102包括一个或更多个局域网(LAN)、城域网(MAN)广域网(WAN)、诸如因特网的全球网络的全部或部分、或在一个或更多个位置处的任何其他一个或更多个通信系统。
在该示例中,网络102促进服务器104与各种客户端装置106-116之间的通信。客户端装置106-116可以是例如智能电话、平板计算机、膝上型计算机、个人计算机、可穿戴装置、HMD等。服务器104可表示一个或更多个服务器。每个服务器104包括可为一个或更多个客户端装置(诸如客户端装置106-116)提供计算服务的任何合适的计算装置或处理装置。每个服务器104可例如包括一个或更多个处理装置、存储指令和数据的一个或更多个存储器、以及促进通过网络102进行通信的一个或更多个网络接口。如下面更详细描述的,服务器104可将表示点云的压缩比特流发送到一个或更多个显示装置(诸如客户端装置106-116)。在某些实施例中,每个服务器104可包括编码器。
每个客户端装置106-116表示通过网络102与至少一个服务器(诸如服务器104)或其他计算装置交互的任何合适的计算或处理装置。客户端装置106-116包括台式计算机106、移动电话或移动装置108(诸如智能电话)、PDA110、膝上型计算机112、平板计算机114和HMD 116。然而,可在通信系统100中使用任何其他或另外的客户端装置。智能电话表示一类移动装置108,其是具有移动操作系统和集成了用于语音、短消息服务(SMS)和互联网数据通信的移动宽带蜂窝网络连接的手持装置。HMD 116可显示包括一个或更多个3D点云的360°场景。在某些实施例中,客户端装置106-116中的任何一个可包括编码器、解码器或两者。例如,移动装置108可记录视频,然后对视频进行编码,使得视频能够被发送到客户端装置106-116中的一个。在另一示例中,膝上型计算机112可被用于生成虚拟3D点云,该虚拟3D点云随后被编码并被发送到客户端装置106-116中的一个。
在该示例中,一些客户端装置108-116与网络102间接通信。例如,移动装置108和PDA 110经由一个或更多个基站118(诸如蜂窝基站或eNodeB(eNB))进行通信。此外,膝上型计算机112、平板计算机114和HMD 116经由一个或更多个无线接入点120(诸如IEEE802.11无线接入点)进行通信。注意,这些仅用于说明,并且每个客户端装置106-116可直接与网络102通信,或者经由任何合适的中间装置或网络与网络102间接通信。在某些实施例中,服务器104或任何客户端装置106到116可被用于压缩点云,生成表示点云的比特流,并且将比特流发送到另一客户端装置(诸如任何客户端装置106到116)。
在某些实施例中,客户端装置106-114中的任何一个将信息安全且有效地发送到另一装置(诸如,例如服务器104)。此外,客户端装置106-116中的任何一个可触发其自身与服务器104之间的信息传输。客户端装置106-114中的任何一个在经由支架附接到头戴式耳机时可用作VR显示器,并且功能类似于HMD 116。例如,移动装置108在附接到支架系统并佩戴在用户的眼睛上时可与HMD 116类似地起作用。移动装置108(或任何其他客户端装置106-116)可触发其自身与服务器104之间的信息传输。
在某些实施例中,客户端装置106-116或服务器104中的任何一个可生成3D点云、压缩3D点云、发送3D点云、接收3D点云、渲染3D点云或其组合。例如,服务器104接收3D点云,分解3D点云以适于2D帧,压缩帧以生成比特流。比特流可被发送到存储装置(诸如信息库、或者客户端装置106-116中的一个或更多个)。又例如,客户端装置106-116中的一个可接收3D点云,分解3D点云以适于2D帧,压缩帧以生成可被发送到存储装置(诸如信息库、客户端装置106-116中的另一个)或服务器104的比特流。
尽管图1示出通信系统100的一个示例,但是可对图1进行各种改变。例如,通信系统100可以以任何合适的布置包括任何数量的每个组件。通常,计算和通信系统具有各种各样的配置,并且图1不将本公开的范围限制于任何特定配置。虽然图1示出本专利文件中公开的各种特征可被使用的一个操作环境,但是这些特征可被用在任何其他合适的系统中。
图2和图3示出根据本公开的实施例的示例电子装置。具体地,图2示出示例服务器200,并且服务器200可表示图1中的服务器104。服务器200可表示一个或更多个编码器、解码器、本地服务器、远程服务器、集群计算机以及充当单个无缝资源池的组件、基于云的服务器等。服务器200可由图1的客户端装置106-116中的一个或更多个或另一服务器访问。
服务器200可表示一个或更多个本地服务器、一个或更多个压缩服务器或一个或更多个编码服务器(诸如编码器)。在某些实施例中,服务器200可执行解码。如图2所示,服务器200包括支持至少一个处理装置(诸如处理器210)、至少一个存储装置215、至少一个通信接口220与至少一个输入/输出(I/O)单元225之间的通信的总线系统205。
处理器210执行可被存储在存储器230中的指令。处理器210可包括任何合理布置的任何合适数量和类型的处理器或其他装置。示例类型的处理器210包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路。在某些实施例中,处理器210可对存储在存储装置215内的3D点云进行编码。在某些实施例中,当编码器对3D点云进行编码时,编码器还对编码的3D点云进行解码,以确保当重建点云时,重建的3D点云与编码之前的3D点云匹配。
存储器230和持久性存储件235作为存储装置215的示例,表示能够存储和促进信息(诸如数据、程序代码或其他临时或永久的合适的信息)的恢复的任何结构。存储器230可表示随机存取存储器或任何其他合适的易失性或非易失性存储装置。例如,存储在存储器230中的指令可包括用于将点云分解为面片的指令、用于将面片打包在2D帧上的指令、用于压缩2D帧的指令以及用于以特定顺序对2D帧进行编码以便生成比特流的指令。存储在存储器230中的指令还可包括用于渲染如通过VR头戴式耳机(诸如图1的HMD116)观看的360°场景的指令。持久性存储件235可包含支持数据的长期存储的一个或更多个组件或装置(诸如只读存储器、硬盘驱动器、闪存或光盘)。
通信接口220支持与其他系统或装置的通信。例如,通信接口220可包括促进通过图1的网络102进行通信的网络接口卡或无线收发器。通信接口220可支持通过任何合适的物理或无线通信链路的通信。例如,通信接口220可将包含3D点云的比特流发送到另一装置(诸如客户端装置106-116中的一个)。
I/O单元225允许数据的输入和输出。例如,I/O单元225可通过键盘、鼠标、小键盘、触摸屏或其他合适的输入装置为用户输入提供连接。I/O单元225还可将输出发送到显示器、打印机或其他合适的输出装置。然而,注意,I/O单元225可被省略(诸如当I/O与服务器200的交互经由网络连接发生时)。
注意,虽然图2被描述为表示图1的服务器104,但是可在各种客户端装置106-116中的一个或更多个中使用相同或相似的结构。例如,台式计算机106或膝上型计算机112可具有与图2中所示的结构相同或相似的结构。
图3示出示例电子装置300,并且电子装置300可表示图1中的客户端装置106-116中的一个或更多个。电子装置300可以是移动通信装置,诸如,例如移动站、用户站、无线终端、台式计算机(类似于图1的台式计算机106)、便携式电子装置(类似于图1的移动装置108、PDA110、膝上型计算机112、平板计算机114或HMD 116)等。在某些实施例中,图1的客户端装置106-116中的一个或更多个可包括与电子装置300相同或相似的配置。在某些实施例中,电子装置300是编码器、解码器或两者。例如,电子装置300可用于数据传送、图像或视频压缩、图像或视频解压缩、编码、解码和媒体渲染应用。
如图3所示,电子装置300包括天线305、射频(RF)收发器310、发送(TX)处理电路315、麦克风320和接收(RX)处理电路325。RF收发器310可包括例如RF收发器、蓝牙收发器、WI-FI收发器、ZigBee收发器、红外收发器和各种其他无线通信信号。电子装置300还包括扬声器330、处理器340、输入/输出(I/O)接口(IF)345、输入350、显示器355、存储器360和传感器365。存储器360包括操作系统(OS)361和一个或更多个应用362。
RF收发器310从天线305接收从接入点(诸如基站、WI-FI路由器或蓝牙装置)或网络102(诸如WI-FI、蓝牙、蜂窝、5G、LTE、LTE-A、WiMAX或任何其他类型的无线网络)的其他装置发送的传入RF信号。RF收发器310对传入RF信号进行下变频以生成中频或基带信号。中频或基带信号被发送到RX处理电路325,其中,RX处理电路325通过对基带或中频信号进行滤波、解码和/或数字化来生成经处理的基带信号。RX处理电路325将经处理的基带信号发送到扬声器330(诸如用于语音数据)或发送到处理器340以进行进一步处理(诸如用于网络浏览数据)。
TX处理电路315接收来自麦克风320的模拟或数字语音数据或来自处理器340的其他输出基带数据。输出基带数据可包括web数据、电子邮件或交互式视频游戏数据。TX处理电路315对输出基带数据进行编码、复用和/或数字化,以生成经处理的基带或中频信号。RF收发器310从TX处理电路315接收输出的经处理的基带或中频信号,并将基带或中频信号上变频为经由天线305发送的RF信号。
处理器340可包括一个或更多个处理器或其他处理装置。处理器340可执行存储在存储器360(诸如OS 361)中的指令,以便控制电子装置300的整体操作。例如,处理器340可根据众所周知的原理控制RF收发器310、RX处理电路325和TX处理电路315对前向信道信号的接收和对反向信道信号的发送。处理器340可包括任何合理布置的任何合适数量和类型的处理器或其他装置。例如,在某些实施例中,处理器340包括至少一个微处理器或微控制器。示例类型的处理器340包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路。
处理器340还能够执行驻留在存储器360中的其他进程和程序(诸如接收和存储数据的操作)。处理器340可根据执行进程的需要将数据移入或移出存储器360。在某些实施例中,处理器340被配置为基于OS 361或响应于从外部源或操作者接收的信号来执行一个或更多个应用362。例如,应用362可包括编码器、解码器、VR或AR应用、相机应用(用于静止图像和视频)、视频电话呼叫应用、电子邮件客户端、社交媒体客户端、SMS消息客户端、虚拟助理等。在某些实施例中,处理器340被配置为接收和发送媒体内容。
处理器340还被耦接到I/O接口345,其中,I/O接口345为电子装置300提供连接到其他装置(诸如客户端装置106-114)的能力。I/O接口345是这些附件与处理器340之间的通信路径。
处理器340还被耦接到输入350和显示器355。电子装置300的操作者可使用输入350将数据或输入输入到电子装置300中。输入350可以是键盘、触摸屏、鼠标、轨迹球、语音输入或能够充当用户接口以允许用户与电子装置300交互的其他装置。例如,输入350可包括语音识别处理,从而允许用户输入语音命令。在另一示例中,输入350可包括触摸面板、(数字)笔传感器、键或超声输入装置。触摸面板可识别例如以至少一种方案(诸如电容方案、压敏方案、红外方案或超声波方案等)的触摸输入。输入350可通过向处理器340提供附加输入而与(一个或更多个)传感器365和/或相机相关联。在某些实施例中,传感器365包括一个或更多个惯性测量单元(IMU)(诸如加速度计、陀螺仪和磁力计)、运动传感器、光学传感器、相机、压力传感器、心率传感器、高度计等。输入350还可包括控制电路。在电容方案中,输入350可识别触摸或接近。
显示器355可以是液晶显示器(LCD)、发光二极管(LED)显示器、有机LED(OLED)、有源矩阵OLED(AMOLED)或能够渲染(诸如来自网站、视频、游戏、图像等)的文本和/或图形的其他显示器。显示器355可被设置尺寸以适配在HMD内。显示器355可以是能够产生立体显示的单个显示屏或多个显示屏。在某些实施例中,显示器355是抬头显示器(HUD)。显示器355可显示3D对象(诸如3D点云)。
存储器360被耦接到处理器340。存储器360的部分可包括RAM,并且存储器360的另一部分可包括闪存或其他ROM。存储器360可包括表示能够存储和促进信息(诸如数据、程序代码和/或其他合适的信息)的恢复的任何结构的持久性存储装置(未示出)。存储器360可包含支持数据的长期存储的一个或更多个组件或装置(诸如只读存储器、硬盘驱动器、闪存或光盘)。存储器360还可包含媒体内容。媒体内容可包括各种类型的媒体(诸如图像、视频、三维内容、VR内容、AR内容、3D点云等)。
电子装置300还包括可计量物理量或检测电子装置300的激活状态并将计量或检测到的信息转换为电信号的一个或更多个传感器365。例如,传感器365可包括用于触摸输入的一个或更多个按钮、相机、手势传感器、IMU传感器(诸如陀螺仪或陀螺仪传感器和加速度计)、眼睛跟踪传感器、气压传感器、磁传感器或磁力计、握持传感器、接近传感器、颜色传感器、生物物理传感器、温度/湿度传感器、照度传感器、紫外线(UV)传感器、肌电图(EMG)传感器、脑电图(EEG)传感器、心电图(ECG)传感器、IR传感器、超声传感器、虹膜传感器、指纹传感器。颜色传感器(诸如红绿蓝(RGB)传感器)等。传感器365还可包括用于控制其中包括的任何传感器的控制电路。
如下面更详细地讨论的,这些传感器365中的一个或更多个可被用于控制用户界面(UI)、检测UI输入、确定用于三维内容显示识别的用户的定位和朝向等。这些传感器365中的任何一个可位于电子装置300内,位于可操作地连接到电子装置300的辅助装置内,位于被构造用于容纳电子装置300的头戴式耳机内,或位于电子装置300包括头戴式耳机的单个装置中。
电子装置300可创建媒体内容(诸如生成3D点云或通过相机捕获(或记录)内容)。电子装置300可对媒体内容进行编码以生成比特流(类似于上文所描述的服务器200),使得比特流可被直接发送到另一电子装置或者诸如通过图1的网络102被间接发送到另一电子装置。电子装置300可直接从另一电子装置接收比特流,或者诸如通过图1的网络102间接地接收比特流。
当对媒体内容(诸如点云)进行编码时,电子装置300或图2的服务器200可将点云投影到多个面片中。例如,点云的点簇可被分组在一起并被表示为2D帧上的面片。面片可表示特定映射(或者层)上的点云的单个属性。表示相同属性并且属于相同映射的面片可被分别打包到单独的2D帧中。例如,来自属于特定映射的所有点的特定属性形成2D帧。然后对2D帧进行编码以生成比特流。在编码处理期间,附加内容(诸如元数据、标志、参数集、语法元素、占用图、几何平滑参数、一个或更多个属性平滑参数、图谱子比特流等)可被包括在比特流中。
类似地,当对包括在表示3D点云的比特流中的媒体内容进行解码时,电子装置300将接收到的比特流解码为帧。在某些实施例中,解码的比特流还包括占用图、2D帧、辅助信息(诸如一个或更多个标志、一个或更多个语法元素或量化参数大小)等。几何帧可包括指示3D空间中的点云的点的地理坐标的像素。类似地,属性帧可包括指示3D空间中的每个几何点的RGB(或YUV)颜色(或任何其他属性)的像素。辅助信息可包括一个或更多个标志、一个或更多个语法元素或量化参数大小、一个或更多个阈值、几何平滑参数、一个或更多个属性平滑参数或其任何组合。在重建3D点云之后,电子装置300可经由显示器355在三维中渲染3D点云。
尽管图2和图3示出电子装置的示例,但是可对图2和图3进行各种改变。例如,可组合、进一步细分或省略图2和图3中的各种组件,并且可根据特定需要添加附加部件。作为特定示例,处理器340可被划分为多个处理器(诸如一个或更多个中央处理器(CPU)和一个或更多个图形处理单元(GPU))。另外,与计算和通信一样,电子装置和服务器可具有各种各样的配置,并且图2和图3没有将本公开限制于任何特定的电子装置或服务器。
图4a、图4b、图4c和图4d示出生成表示3D点云的帧的各个阶段。具体地,图4a示出根据本公开的实施例的示例3D点云400。图4b示出根据本公开的实施例的由多个投影平面围绕的点云的图405。图4c和图4d示出根据本公开的实施例的包括表示图4a的3D点云400的面片的2D帧。例如,图4c示出表示3D点云400的点的几何位置的2D帧430,而图4d示出表示与3D点云400的点相关联的颜色的帧440。在某些实施例中,重建的点云450表示图4a的3D点云400,但是被重建以在用户装置上渲染,而图4a的3D点云400可位于服务器上。
图4a的3D点云400是3D空间中的一组数据点。3D点云400的每个点包括提供3D点云的结构的几何位置和提供关于每个点的信息(诸如颜色、反射性、材料等)的一个或更多个属性。3D点云400表示整个360°对象。也就是说,可从各种角度(诸如正面402、侧面和背面402、顶部、底部)观看点云。
图4b的图405包括点云406。点云406可类似于图4a的3D点云400。也就是说,点云406表示整个360°对象。点云406被多个投影平面(诸如投影平面410、412、414、416、418和420)包围。投影平面410与投影平面412分开预定义距离。例如,投影平面410对应于投影平面XZ0,并且投影平面412对应于投影平面XZ1。类似地,投影平面414与投影平面416分开预定义距离。例如,投影平面414对应于投影平面YZ0,并且投影平面416对应于投影平面YZ1。另外,投影平面418与投影平面420分开预定义距离。例如,投影平面418对应于投影平面XY0,并且投影平面420对应于投影平面XY1。注意,附加的投影平面可被包括,并且投影平面形成的形状可不同。
在划分处理期间,点云406的每个点被分配给特定投影平面(诸如投影平面410、412、414、416、418和420)。彼此靠近并且被分配给相同投影平面的点被分组在一起以形成被表示为面片(诸如图4c和图4d中所示的面片中的任何一个)的集群。当将点分配给特定投影平面时,或多或或少的投影平面可被使用。此外,投影平面可处于各种位置和角度。例如,某些投影平面可相对于其他投影平面倾斜45度,类似地,某些投影平面可相对于其他投影平面成90度角。
图4c和图4d分别示出2D帧430和440。帧430是几何帧,因为它示出图4a的3D点云400的每个点的几何位置。帧430包括表示3D点云400的深度值的多个面片(诸如面片432)。帧430中的每个像素的值被表示为较浅或较暗的颜色,并且对应于每个像素距特定投影平面(诸如图4b的投影平面410、412、414、416、418和420中的一个)的距离。
帧440是颜色帧(一种类型的属性),这是因为它提供图4a的3D点云400的每个点的颜色。帧440包括表示与3D点云400中的点的颜色对应的值的多个面片(诸如面片442)。
图4c和图4d中的每个面片可由索引号识别。类似地,面片内的每个像素可通过其在帧内的位置以及像素所在的面片的索引号来识别。面片索引号可被存储在图谱帧中。
帧430与帧440之间存在对应关系(或映射)。也就是说,帧430中的每个像素对应于帧440中相同位置处的像素。帧440中的每个颜色像素对应于帧430中的特定几何像素。例如,在帧430和帧440中的每个像素之间生成映射。例如,面片432内的每个像素对应于3D空间中的点,并且面片442内的每个像素向在面片432中的相同位置处表示的3D点云的点提供颜色。如帧430和440所示,一些像素对应于表示3D点云400的有效像素,而其他像素(背景中的黑色区域)对应于不表示3D点云400的无效像素。在某些实施例中,背景中的黑色区域可被填充有用于填充目的的值。在某些实施例中,几何帧(诸如帧430)、属性帧(诸如帧440)和占用图帧可被下采样,因此对应关系不精确地匹配。
在某些实施例中,帧430和440可被分区为被称为图块的多个单元。为了在帧430和440中应用图块,编码器确定垂直和水平线的位置以形成视频图块。编码器为了压缩效率而创建最小数量的视频图块。
可用视频编解码器(诸如HEVC、AVC、VP9、VP8、VVC、AV1等)对帧430和440进行编码。解码器接收包括帧430和440的比特流,并从帧430重建3D点云的几何形,并基于帧440对点云的几何形进行着色,以便生成重建的点云。在某些实施例中,当视频帧被编码时,对于每个对应的视频图块(或图块组),运动被约束在该视频图块(或图块组)内。
尽管图4a、图4b、图4c和图4d示出示例点云和表示点云的2D帧,但是可对图4a、图4b、图4c和图4d进行各种改变。例如,点云或网格可表示单个对象,而在其他实施例中,点云或网格可表示多个对象、风景(诸如景观)、AR中的虚拟对象等。在另一示例中,包括在2D帧中的面片可表示其他属性(诸如亮度、材料等)。图4a、图4b、图4c和图4d不将本公开限制于任何特定的3D对象和表示3D对象的2D帧。
图5a、图5b和图5c示出根据本公开的实施例的框图。具体地,图5a示出根据本公开的实施例的示例环境-架构500的框图。图5b示出根据本公开的实施例的图5a的编码器510的示例框图,并且图5c示出根据本公开的实施例的图5a的解码器550的示例框图。图5a、图5b和图5c的实施例仅用于说明。在不脱离本公开的范围的情况下,可使用其他实施例。
如图5a所示,示例环境-架构500包括通过网络502通信的编码器510和解码器550。下面在图5b中更详细地描述编码器510。在下面的图5c中更详细地描述解码器550。
网络502可与图1的网络102相同或相似。在某些实施例中,网络502表示通过一个或更多个网络互连的计算机的“云”,其中,网络是利用集群计算机和在被访问时充当单个无缝资源池的组件的计算系统。此外,在某些实施例中,网络502与一个或更多个服务器(诸如图1的服务器104、服务器200)、一个或更多个电子装置(诸如图1的客户端装置106-116、电子装置300)、编码器510和解码器550连接。此外,在某些实施例中,网络502可被连接到包含VR和AR媒体内容的信息库(未示出),该VR和AR媒体内容可由编码器510编码,由解码器550解码,或者在电子装置上被渲染和被显示。
在某些实施例中,编码器510和解码器550可表示图1的服务器104、客户端装置106-116中的一个、图2的服务器200、图3的电子装置300或另一合适的装置。在某些实施例中,编码器510和解码器550可以是通过一个或更多个网络互连的计算机的“云”,其中,每一个是利用集群计算机和在通过网络502访问时充当单个无缝资源池的组件的计算系统。在一些实施例中,包括在编码器510或解码器550中的部分组件可被包括在不同的装置(诸如多个服务器104或200、多个客户端装置106-116或不同装置的其他组合)中。在某些实施例中,编码器510被可操作地连接到电子装置或服务器,而解码器550被可操作地连接到电子装置。在某些实施例中,编码器510和解码器550是相同的装置或被可操作地连接到相同的装置。
通常,如图5a和5b所示,编码器510从诸如服务器(类似于图1的服务器104、图2的服务器200)、信息库(诸如数据库)或客户端装置106-116中的一个客户端装置的另一装置接收3D媒体内容(诸如点云)。在某些实施例中,编码器510可从多个相机接收媒体内容并将内容拼接在一起以生成包括一个或更多个点云的3D场景。
编码器510将点云的点投影到表示投影的多个面片中。编码器510将点云的点聚类成被投影到不同平面上(诸如XY平面、YZ平面和XZ平面)的组。当被投影到平面上时,每个点簇由面片表示。编码器510将表示的信息打包并存储到2D帧上。编码器510将表示点云的面片打包到2D帧上。2D帧可以是视频帧。注意,3D点云的点基于(X,Y,Z)坐标值位于3D空间中,但是当该点被投影到2D帧上时,表示投影点的像素由坐标(u,v)指示的帧的列和索引行索引表示。另外,‘u’和‘v’的范围可分别从零到深度图像中的行或列的数量。
2D帧(诸如几何帧516和属性帧520)中的每个一表示点云的特定方面,诸如一组帧可表示几何形,并且另一组帧可表示属性(诸如颜色)。应当注意,可基于更多层以及每个附加定义的属性来生成附加的帧。
编码器510还基于几何帧516来生成占用图帧518,以指示帧内的哪些像素是有效的。通常,对于帧内的每个像素,占用图指示像素是有效像素还是无效像素。例如,如果占用图中在坐标(u,v)处的像素是有效的,则几何帧和对应属性帧中的在坐标(u,v)处的对应像素也是有效的。如果占用图中在坐标(u,v)处的像素是无效的,则为了重建的目的,解码器跳过几何帧和属性帧中在坐标(u,v)处的对应像素。无效像素可包括可提高编码效率但不提供与点云本身相关联的任何信息的信息(诸如填充)。通常,占用图是二进制的,使得每个像素的值是1或0。例如,当占用图的位置(u,v)处的像素的值是1时,指示属性帧和几何帧的(u,v)处的像素是有效的。相反,当占用图的位置(u,v)处的像素的值为零时,指示属性帧和几何帧的(u,v)处的像素无效,因此不表示3D点云的点。非二进制占用图可被阈值化或被处理以生成二进制占用图。
编码器还生成包括将视频帧的像素与点云相关联的信息的图谱帧532。例如,图谱帧532可指示存储在视频帧中的面片的3D位置。图谱帧532还可指示面片在视频帧的2D网格上的位置。图谱帧还可指示面片的尺寸(诸如与面片对应的像素的数量)。
编码器510将表示点云的帧作为编码比特流进行发送。比特流可通过网络502被发送到信息库(诸如数据库)或包括解码器(诸如解码器550)的电子装置,或者解码器550本身。下面在图5b中更详细地描述编码器510。
如图5b所示,编码器510接收3D点云512并生成比特流540。比特流540包括表示3D点云512的数据。比特流540可包括经由复用器538复用在一起的多个比特流。比特流540可经由图5a的网络502被发送到另一装置(诸如解码器550、包括解码器550的电子装置、或信息库)。编码器510还包括面片生成器和打包器514、一个或更多个编码引擎(诸如被统称为编码引擎522的编码引擎522a、522b、522c和522d)和属性生成器528。
3D点云512可被存储在存储器(未示出)中或从另一电子装置(未示出)被接收。3D点云512可以是单个3D对象(类似于图4a的3D点云400)或一组3D对象。3D点云512可以是静止对象或移动的对象。
面片生成器和打包器514被用于生成几何帧516、占用图帧518、属性信息(其由属性生成器528使用以生成属性帧520)和图谱帧532(其包括提供关于面片的信息的面片信息,诸如与每个面片相关联的索引号)。
面片生成器和打包器514通过获取3D点云512的投影来生成面片,并将面片打包成帧。在某些实施例中,面片生成器和打包器514划分3D点云512的每个点的几何信息和属性信息。面片生成器和打包器514可使用两个或更多个投影平面(诸如图4b的两个或更多个投影平面410-420)来聚类3D点云512的点以生成面片。几何面片最终被打包到几何帧516中。
面片生成器和打包器514确定3D点云512的每个点的最佳投影平面。当被投影时,3D点云512的每个点簇表现为面片(也称为规则面片)。单个点簇可由多个面片(位于不同帧上)表示,其中,每个面片表示点簇内的每个点的特定方面。例如,表示点簇的几何位置的面片位于几何帧516上,并且表示点簇的属性的面片位于属性帧520上。
在确定3D点云512的每个点的最佳投影平面之后,面片生成器和打包器514将点划分成被打包成帧(诸如几何帧516)的面片数据结构。如图4c和图4d所示,如上所述,面片被组织并被放置在对应的帧内(诸如面片432被包括在几何帧430中,并且面片442被包括在属性帧440中)。注意,表示相同点簇的不同属性的面片包括对应关系或映射,基于像素的位置在相应帧中的相同位置,一个面片中的这种像素对应于另一个面片中的相同像素。
占用图帧518表示指示帧(诸如几何帧516)中的有效像素的占用图。例如,占用图帧518指示几何帧516中的每个像素是有效像素还是无效像素。占用图帧518中的每个有效像素对应于几何帧516中表示3D点云512在3D空间中的位置点的像素。相反,无效像素是占用图帧518内的对应于几何帧516中的不表示3D点云512的点的像素(诸如图4c和4d的帧430和440中的空/黑色空间)的像素。在某些实施例中,占用图帧518中的一个可对应于几何帧516和属性帧520两者(下面讨论)。
例如,当面片生成器和打包器514生成占用图帧518时,占用图帧518包括针对每个像素的预定义值(诸如零或一)。例如,当占用图的位置(u,v)处的像素是值零时,指示几何帧516中的(u,v)处的像素是无效的。类似地,当占用图的位置(u,v)处的像素是值一时,指示几何帧516中的(u,v)处的像素是有效的,并且由此包括表示3D点云的点的信息。
几何帧516包括表示3D点云512的几何值的像素。几何帧516包括3D点云512的点的地理信息。例如,3D点的两个横向坐标(相对于投影平面)对应于几何视频帧中的列索引和行索引(u,v)加上指示视频帧内的整个面片的位置的横向偏移。3D点的深度被编码为视频帧中的像素的值加上面片的深度偏移。3D点云的深度取决于3D点云的投影是从XY坐标、YZ坐标还是XZ坐标获取的。
在某些实施例中,图谱帧532包含关于面片的信息。例如,图谱帧532包括2D帧中的面片的位置、3D点云空间中的面片段的偏移、面片被投影在其上的平面等。图谱帧532可包括将存储在几何帧516和占用图帧518中的面片与3D点云512上的位置相关的信息。图谱帧还可指示面片的尺寸(诸如与面片对应的像素的数量)。
编码器510还可将视频帧(诸如几何帧516、占用图帧518和属性帧520)和图谱帧划分为图块分区。一个或更多个图块分区可被组合成图块。图块分区以及图块可在尺寸上变化。下面的图6-图9示出了各种帧、图块和图块分区。
此外,在某些实施例中,视频帧(诸如几何帧516、占用图帧518和属性帧520)和图谱帧532的每个图块(或图块组)可被独立地(由编码引擎522)编码和(由图5c的解码引擎554)解码,而不参考来自其他图块(或图块组)的数据。例如,如果解码器550仅对点云的特定对象或部分(或侵扰区域)感兴趣,则解码器可仅对与该对象(或感兴趣区域)相关联的图谱图块进行解码。
注意,如果图谱帧532被分区为图块,但是视频帧(诸如几何帧516、占用图帧518和属性帧520)不被分区(使得帧本身是单个图块),则只有图谱帧可由解码器550部分地解码,这提供了有限的节省。因此,如果视频帧(诸如几何帧516、占用图帧518和属性帧520)也使用图块,则解码器(诸如图5a和图5c的解码器550)可仅对与感兴趣对象相关联的视频图块和图谱图块进行解码。因此,本公开的实施例提供了使不同帧的图块尺寸相对于彼此相关的系统和方法。
为了使解码器550对感兴趣区域进行解码,编码器510设置包括在参数集和消息536a中的语法元素的值。语法元素的值指定视频帧(诸如几何帧516、占用图帧518和属性帧520)中的图块与图谱帧532中的图块的尺寸之间的关系。
例如,语法元素的值指示视频帧(诸如几何帧516、占用图帧518和属性帧520)是否被图块化。语法元素的值还指示运动是否被约束在每个图块内。语法元素的值还指示视频帧(诸如几何帧516、占用图帧518和属性帧520)的图块尺寸是否类似于图谱中使用的图块的尺寸。
编码器510确定视频帧的图块和图谱帧532的图块如何相关,然后基于该关系设置语法元素的值。也就是说,基于语法元素的值,满足将视频帧(诸如几何帧516、占用图帧518和属性帧520)的图块与图谱帧532的图块相关的特定条件集合。在某些实施例中,语法元素是SEI消息。在其他实施例中,语法元素是体积可用性信息(VUI)信号。图6、图7、图8和图9示出了视频图块的尺寸与图谱图块的尺寸之间的各种关系。
编码器510包括一个或更多个编码引擎522。在某些实施例中,如图所示,视频帧(诸如几何帧516、占用图帧518和属性帧520)和图谱帧532被独立的编码引擎522编码。在其他实施例中,单个编码引擎执行帧的编码。
编码引擎522可被配置以支持8比特、10比特、12比特、14比特或16比特精度的数据。编码引擎522可包括视频或图像编解码器(诸如HEVC、AVC、VP9、VP8、VVC、EVC、AV1等),以压缩表示3D点云的2D帧。编码引擎522中的一个或多个可以有损或无损方式压缩信息。
如所示,编码引擎522a接收几何帧516并执行几何压缩以生成几何子比特流524a。编码引擎522b接收占用图帧518并执行占用图压缩以生成占用图子比特流526a。编码引擎522c接收属性帧520且执行属性压缩以生成属性子比特流530。编码引擎522d接收图谱帧532并执行压缩以生成图谱子比特流534a。在某些实施例中,图谱未被压缩。
在某些实施例中,编码引擎522可对视频帧(诸如几何帧516、占用图帧518和属性帧520)和图谱帧532进行不同的子采样。例如,图谱帧532可被设置尺寸为1024×1024,几何帧516可被设置尺寸为512×512,占用图帧518可被设置尺寸为是256×256,并且属性帧520可被设置尺寸为128×128。该示例中的尺寸仅用于解释,并且可使用帧的其他尺寸。另外,一些帧可被子采样到相同的尺寸。
在编码引擎522a生成几何子比特流524a之后,解码引擎(未示出)可对几何子比特流524a进行解码以生成重建的几何帧524b。类似地,在编码引擎522b生成占用图子比特流526a之后,解码引擎(未示出)可对占用图子比特流526a进行解码以生成重建的占用图帧526b。
属性生成器528基于由面片生成器和打包器514提供的来自3D点云512的属性信息、重建的几何帧524b、重建的占用图帧526b来生成属性帧520。
在某些实施例中,为了生成表示颜色的属性帧520中的一个,几何帧516由编码引擎522a使用2D视频编解码器(诸如HEVC)压缩。几何子比特流524a被解码以生成重建的几何帧524b。类似地,占用图帧518使用编码引擎522b被压缩,然后被解压缩以生成重建的占用图帧526b。然后,编码器510可基于重建的几何帧524b和重建的占用图帧526b来重建3D点云的点的几何位置。属性生成器528将每个点的属性值(诸如颜色)从输入点云的颜色值插值到重建点云和原始点云512。然后,由属性生成器528划分插值的颜色,以匹配与几何信息相同的面片。属性生成器528然后将插值的属性值打包到表示颜色的属性帧520中。在其他实施例中,属性生成器可执行用于生成属性帧的其他方法。
在某些实施例中,属性生成器528在生成属性帧520时使用图谱帧532。例如,如果图谱指示几何帧516和占用图帧518中的图块的位置和尺寸,则属性生成器528在生成属性帧520时使用图谱帧532内的图块信息。
属性帧520表示点云的一个或更多个不同属性。例如,对于几何帧516中的一个,可存在零个或多个对应的属性帧520。属性帧可表示属性(诸如颜色、纹理、法线、材料特性、反射、运动等)。在某些实施例中,属性帧520中的一个属性帧可包括几何帧516中的一个几何帧内的几何点中的每个几何点的颜色值,而另一个属性帧可包括指示相同几何帧516内的每个对应几何点的反射率水平的反射率值。每个附加属性帧520表示与特定几何帧516相关联的其他属性。在某些实施例中,每个几何帧516具有至少一个对应的属性帧520。
在某些实施例中,视频帧(诸如几何帧516、占用图帧518和属性帧520)和图谱帧可以是相同的尺寸。在其他实施例中,视频帧和图谱帧可以是不同的尺寸。例如,视频帧(诸如几何帧516、占用图帧518和属性帧520)中的任何一个可在水平方向、垂直方向或两者上被子采样。如果对任何视频帧进行子采样,则包括在参数集和消息536a中的语法元素(其描述视频图块的尺寸与图谱图块的尺寸之间的关系)的值向解码器550提供关于视频帧和图谱帧是否使用图块化以及当被转换为图谱帧分辨率时图谱帧的图块与视频帧的图块之间的尺寸关系的指示。这也被称为标称尺寸。
除了上述语法元素(视频图块的尺寸与图谱图块的尺寸之间的关系)之外,参数集和消息536a还可包括一个或更多个标志、一个或更多个附加语法元素、一个或更多个量化参数大小、一个或更多个阈值、几何平滑参数、属性平滑参数或其任何组合。平滑参数可被解码器550用于提高重建点云的视觉质量。
复用器538组合图谱子比特流534a、几何子比特流524a、占用图子比特流526a和属性子比特流530,以生成比特流540。
在某些实施例中,存在与视频帧(诸如几何帧516、占用图帧518和属性帧520)和图谱帧532相关联的标称高度和宽度。例如,比特流540的标称高度可被表示为vps_frame_height[k]和vps_frame_width[k],其中k是指图谱索引。类似地,图谱帧532的高度和宽度可被分别表示为asps_frame_height和asps_frame_width。在某些实施例中,asps_frame_height等于vps_frame_height,并且asps_frame_width等于vps_frame_width。
通常,图5a和5c的解码器550接收表示媒体内容(诸如点云)的比特流(诸如比特流540)。比特流540可包括表示3D点云的数据。在某些实施例中,解码器550可对比特流540进行解码并生成多个帧(诸如一个或更多个几何帧、一个或更多个属性帧和一个或更多个占用图帧)。解码器550使用多个帧来重建可由用户渲染和观看的点云或部分点云。解码器550还可基于如语法元素所指示的视频图块的尺寸与图谱图块的尺寸之间的关系来执行部分解码。
如图5c所示,解码器550包括解复用器552、一个或更多个解码引擎(诸如解码引擎554a、解码引擎554b、解码引擎554c和解码引擎554d)、几何和属性重建引擎556、平滑引擎(诸如几何平滑引擎558a和属性平滑558b)和属性转移引擎560。
解码器550接收比特流540(诸如由编码器510生成的比特流)。解复用器552将比特流540分成表示不同信息的一个或更多个子比特流。例如,解复用器552将各种数据流分成单独的子比特流,诸如参数集和消息536b(其可包括语法元素、几何平滑参数和属性平滑参数)、几何子比特流524a、占用图子比特流526a、属性子比特流530和图谱子比特流534b。在某些实施例中,如果编码器510不执行平滑,则几何平滑参数和属性平滑参数不被包括在比特流中。
解码器550包括一个或更多个解码引擎。例如,解码器550可包括解码引擎554a、解码引擎554b、解码引擎554c和解码引擎554d(被统称为解码引擎554)。在某些实施例中,单个解码引擎执行所有单独解码引擎554的操作。
在某些实施例中,参数集和消息536b将语法元素提供给解码引擎554中的每个。解码器550确定一个或更多个视频子比特流(诸如几何子比特流524a、占用图子比特流526a和属性子比特流530)中的视频图块的尺寸与图谱子比特流中的图谱图块的尺寸之间的关系。基于视频图块与图谱图块之间的关系,解码器550可使用解码引擎554来估计将解码的视频子比特流和图谱子比特流的部分。例如,对于图谱帧中的一个图谱帧的给定区域,解码器550可基于语法元素的值估计第一视频帧(诸如几何子比特流524a的几何帧)的要解码的区域。被解码的视频子比特流和图谱子比特流的部分可包括整个比特流或更少。
解码引擎554a将几何子比特流524a解码为重建的几何形516a。类似地,解码引擎554b将占用图子比特流526a解码为重建的占用图帧518a。另外,解码引擎554c将属性子比特流530解码为重建的属性520a。解码引擎554d将图谱子比特流534a解码为重建的图谱帧532a。在某些实施例中,如果图5b的图谱帧532未被编码,则解复用器552将图谱帧532从比特流(而不是图谱子比特流534a)拆离,并且图谱帧532不被解码引擎554d解码。
在部分重建的几何形516a和部分重建的占用图帧518a、部分重建的属性520a和部分重建的图谱帧532a被解码之后,几何和属性重建引擎556生成重建的点云。如上所讨论,所述部分解码的帧可以是整个帧或更少。在某些实施例中,参数集和消息536b可向几何和属性重建引擎556提供各种标志、语法元素、消息等,以用于重建3D空间中的点云的点。几何和属性重建引擎556基于重建的占用图帧518a、重建的几何形516a、重建的属性520a、重建的图谱帧532a以及来自参数集和消息536b的任何接收的信息来重建3D空间中的点云的点。
几何平滑引擎558a可被启用或禁用。如果几何平滑引擎558a被启用,则几何平滑引擎558a对重建的点云的几何点执行平滑。几何平滑引擎558a可使用由参数集和消息536b提供的几何平滑参数。如果几何平滑引擎558a被禁用,则解码器550不执行几何平滑。
在某些实施例中,解码器550经由属性转移引擎560执行属性转移步骤。属性转移引擎修改属性信息以匹配3D空间中的点的位置。
属性平滑引擎558b可被启用或禁用。如果属性平滑引擎558b被启用,则属性平滑引擎558b对重建的点云的属性点执行平滑。属性平滑引擎558b可使用由参数集和消息536b提供的属性平滑参数。在这种情况下,如果属性平滑被启用,则属性平滑引擎558b基于一个或更多个属性平滑参数来平滑重建的属性。此后,解码器重建点云562以用于渲染。如果属性平滑被禁用(解码器550可跳过属性平滑引擎558b),则重建的属性被直接用于重建点云562以用于渲染。
尽管图5a示出了环境-架构500,图5b示出了编码器510,并且图5c示出了解码器550,但是可对图5a、5b和5c进行各种改变。例如,环境-架构500可包括任何数量的编码器或解码器。
图6示出根据本公开的实施例的示例图谱图块结构600。图7、图8和图9示出根据本公开的实施例的图谱图块结构和对应的视频图块结构的示例。图6、图7、图8和图9的示例图谱图块结构和视频图块结构仅是示例。例如,可使用其他图块化结构。可由服务器104、图1的客户端装置106-116中的任何客户端装置、图2的服务器200、图3的电子装置300、图5a和5b的编码器510、图5a和5c的解码器550或任何其他合适的装置或系统执行创建图谱图块结构和视频图块结构并识别图块尺寸之间的关系的处理。
图谱视频帧可被划分成图块分区。另外,可将图块分区中的一个或更多个组合成图块。应注意,图块分区以及图块可在尺寸上变化。此外,可在不参考来自其他图块的数据的情况下独立地对图谱帧的每个图块进行解码。在某些实施例中,可使用多个SEI消息和信号(诸如包括在参数集和消息536a中的那些)来定义对象、跟踪对象、指定对象相对于2D帧被放置在哪里,以及将对象与图谱图块和面片相关联。因此,如果解码器(诸如解码器550)对特定对象感兴趣,则解码器可仅对与该对象相关联的图谱图块和对应的视频图块进行解码。
图6示出图谱帧的图谱图块结构600。图谱帧的尺寸为1024(H)×1024(W)并且被划分为尺寸为256×256的16个图块分区。如所示,图谱帧包括三个图块。表示为图块0的第一图块包括图块分区5和9。表示为图块1的第二图块包括图块分区12和13。表示为图块2的第三图块包括图块分区15。如果图块0包括感兴趣对象,则图谱解码器(诸如图5c的解码引擎554d)可仅对图块0进行解码以访问与感兴趣对象相关联的信息。类似地,如果图块0和图块1包括感兴趣对象,则图谱解码器(诸如图5c的解码引擎554d)可对图块0和1进行解码以访问与感兴趣对象相关联的信息。
本公开的实施例考虑到,与视频解码相比,图谱解码不太复杂。因此,本公开的实施例提供了用于在属性帧、几何帧和占用图帧(视频帧)中使用图块的系统和方法。本公开的实施例还提供了用于将视频帧的图块与图谱帧的图块相关联的系统和方法。通过将视频帧的图块与图谱帧的图块相关联,解码器550可从来自视频帧和图谱帧的某些图块中解码感兴趣对象,以节电或为了更高的吞吐量。
因此,语法元素(或SEI消息)可被用于向解码器指示任何帧(属性、几何、占用图和图谱)是否正在使用图块以及视频的图块尺寸是否类似于用于图谱的图块。语法元素(或SEI消息)可向解码器550指示跨视频帧和图谱帧的图块化是一致的,使得解码器550可以能够以有效的方式执行部分解码。
在某些实施例中,图谱序列处于全(标称)分辨率,而视频帧(诸如属性帧、几何帧和占用图帧)可处于较低分辨率(子采样)。因此,语法元素在由编码器设置时指示图谱图块尺寸和视频图块尺寸是相关的。例如,全(标称)分辨率可以是1024×1024,而视频帧(诸如属性帧、几何帧和占用图帧)的子采样分辨率可以是512×512、256×256、128×128、64×64等。注意,帧可以不是正方形的,使得帧尺寸可以是512×256。还注意,全(标称)分辨率可小于或大于1024×1024。
编码器510可基于图块化结构如何满足某些条件来设置语法元素的值。以下三个示例描述编码器510在设置语法元素的值时验证的条件。
在第一示例中,编码器510将语法元素设置为第一值,这在图7中示出。在某些实施例中,当满足以下条件时,编码器510将语法元素的值设置为第一值。第一条件指定对于图谱帧中的每个图块,对于存在的每个视频帧(属性、几何和占用)有对应的视频图块,使得视频图块在被缩放到标称格式(诸如图谱帧的分辨率)时表示图谱上与对应的图谱图块完全相同的区域。也就是说,该条件指定对于图谱帧中的每个图块,在每个视频帧中存在对应的图块。
如图7所示,图谱帧是1024×1024,具有256×256的16个图块分区。按照因子2在X方向和Y方向上对几何帧进行子采样,使得几何帧是512×512,具有128×128的16个图块。因此,如果视频图块0被缩放到标称格式(256×256的格式),则被缩放到标称格式的视频图块0与图谱图块0在图谱帧上占用的区域具有相同的尺寸并且占用相似的区域,从而满足第一条件。
下面的等式(1)和(2)描述了图块尺寸之间的关系。视频帧的宽度和高度分别是videoWidth和videoHeight。视频图块的宽度和高度分别是videoTileWidth和videoTileHeight。图谱图块的宽度和高度分别是atlasTileWidth和atlasTileHeight。
Figure BDA0004012270140000301
Figure BDA0004012270140000302
第二条件指定针对属性、几何和占用图视频帧的图块结构在点云序列的整个持续时间内在时间上保持恒定。第三条件指定与图谱图块对应的视频图块可在不参考来自该子比特流的其他图块的任何信息的情况下被解码。例如,这个条件指示视频图块是运动受约束的图块。
也就是说,为了使编码器将语法元素设置为第一值,编码器510选择视频编解码器、针对图谱的图块尺寸以及针对属性、几何和占用图视频的图块尺寸,使得视频帧可在满足上述条件的同时被分区成图块。
注意,图块可能并不总是如上述示例中对齐。例如,考虑具有与图6的图谱帧的图谱图块结构600相似的图块化结构的几何帧。如果几何帧按照2在水平方向和垂直方向上被子采样,则几何视频的尺寸将被设置尺寸为512×512(而图谱帧的标称尺寸是1024×1024,如图6所示)。如果HEVC被用于对几何视频帧进行编码,则在由HEVC施加的对图块结构的约束下,不可能获得与图块0对应的256(h)×128(w)、与图块1对应的128(h)×256(w)以及与图块2对应的128(h)×128(w)的几何视频的图块尺寸。
在第二示例中,编码器510将语法元素设置为第二值,这在图8中示出。在某些实施例中,当满足以下条件时,编码器510将语法元素的值设置为第二值。第一条件指定对于图谱帧中的每个图块(诸如图块0、图块1和图块2),对于存在的每个视频帧(占用、几何和属性)有视频图块的集合,使得视频图块的集合在被缩放到标称格式时一起表示图谱上与图谱图块完全相同的区域。在该示例中,可能存在与图谱帧中的每个图块对应的视频图块的集合,使得该视频图块的集合在被缩放到图谱分辨率时一起表示图谱上与图谱图块完全相同的区域。也就是说,该条件指定对于图谱帧中的每个图块,在视频帧中存在对应的图块的集合。
如图8所示,图谱帧是1024×1024,具有256×256的16个图块分区。按照因子2在X方向和Y方向上对几何帧进行子采样,使得几何帧是512×512,具有11个图块。编码器510可确定在何处进行分区以提高编码效率。视频图块分区0、1、2、3、8、9、10和11是128(w)×128(h),而视频图块分区4、5、6和7是128(w)×256(h)。
如所示,视频图块5与图谱图块0对应。如果视频图块5被缩放到标称格式(256(w)×512(h)的格式),则视频图块0是相同的尺寸并且占用与图谱图块0在图谱帧上占用的区域相同的区域。
类似地,视频图块8和9的集合与图谱图块1对应。如果视频图块8和9(集合)被缩放到标称格式(512(w)×256(h)的格式),则视频图块分区8和9的集合是相同的尺寸并且占用与图谱图块1在图谱帧上占用的区域相似的区域。
同样地,视频图块11与图谱图块2对应。如果视频图块11被缩放到标称格式(256(w)×256(h)),则视频图块2是相同的尺寸并且在被缩放到标称格式的视频帧上占用与图谱图块2在图谱帧上占用的区域相似的区域。
第二条件指定当语法元素被设置为第二值时,针对属性、几何和占用图视频帧的图块结构在点云序列的整个持续时间内在时间上保持恒定。第三条件指定与来自单个或多个运动受约束的图块集的图谱图块对应的视频图块的集合。
此外,编码器在满足上述条件的同时尝试利用最小数量的视频图块。这对于实现良好的压缩效率是受期望的。在某些实施例中,图块可能不总是如上述示例中对齐。例如,如果如图8所示的视频帧的视频图块4、5、6和7未被修改为包括最小可能图块(诸如图7的视频帧中所示),则编码器510可能无法将语法元素设置为第二值。
在第三示例中,编码器510将语法元素设置为第三值,这在图9中示出。在某些实施例中,当满足以下条件时,编码器510将语法元素的值设置为第三值。第一条件指定对于图谱帧中的每个图块,对于存在的每个视频帧(占用、几何和属性)有对应的视频图块,使得视频图块在被缩放到标称时表示图谱上的大于或等于由图谱图块表示的区域的区域。例如,对于每个图谱图块,存在对应的视频图块,使得视频图块在被缩放到图谱分辨率时表示图谱上的大于或等于由图谱图块表示的区域的区域。第二条件指定视频图块中的亮度样点的数量小于或等于图谱图块中的样点的数量。第三条件指定针对属性、几何和占用图视频的图块结构在点云序列的整个持续时间内在时间上保持恒定。例如,这个条件指示视频图块为运动受约束的图块集。第四条件指定与图谱图块对应的每个视频图块形成运动受约束的图块集。也就是说,可在没有来自集合之外的图块的任何信息的情况下对视频图块进行解码。如果视频不是亮度-色度格式(例如,YUV或YCbCr),则可修改第二条件以使用视频的第0分量而不是亮度样点。
如图9所示,几何视频图块2与图谱图块0对应。几何视频图块4与图谱图块1对应。几何视频图块5与图谱图块2对应。
例如,图谱图块0是256(w)×512(h),几何视频图块2是256(w)×256(h),并且当被缩放到标称尺寸时,几何视频图块2是512(w)×512(h)。因此,几何视频图块2满足第一条件,这是因为当其被放大到标称尺寸时,几何视频图块2大于图谱图块0。另外,几何视频图块2满足第二条件,这是因为几何视频图块2中的亮度样点的数量是256(w)×256(h),其小于对应图谱图块0的尺寸(其是256(w)×512(h))。
又例如,图谱图块1是512(w)×256(h),几何视频图块4是256(w)×128(h),并且当被缩放到标称尺寸时,几何视频图块4是512(w)×256(h)。因此,几何视频图块4满足第一条件,这是因为当其被缩放到标称尺寸时,几何视频图块4等于图谱图块1。另外,几何视频图块4满足第二条件,这是因为几何视频图块4中的亮度样点的数量是256(w)×128(h),其小于对应图谱图块1的尺寸(其是512(w)×256(h))。
再例如,图谱图块2是256(w)×256(h),几何视频图块5是256(w)×128(h),并且当被放大到标称尺寸时,几何视频图块5是512(w)×256(h)。因此,几何视频图块5满足第一条件,这是因为当其被放大到标称尺寸时,几何视频图块5大于图谱图块2。另外,几何视频图块5满足第二条件,这是因为几何视频图块5中的亮度样点的数量是256(w)×128(h),其小于对应图谱图块2的尺寸(其是256(w)×256(h))。
当视频帧的子采样因子高时,这种场景是有用的。例如,考虑下述占用图:对于1024×1024的图谱尺寸,子采样因子在水平方向以及垂直方向上被选择为4,并且HEVC被用于对占用图视频进行编码。在这种情况下,类似于图7中所示的图块化将导致尺寸为64×64的一些占用图视频图块,其很小并且可能导致编码效率的损失。
在第四示例中,编码器510仅针对视频帧(属性、几何和占用图)强制执行图块尺寸一致性。在此示例中,首先识别具有最高分辨率(宽度×高度)的视频帧。以任意方式分解图块。考虑具有最高分辨率的视频帧中图块。让最高分辨率视频帧的宽度和高度分别由hiresFrameWidth和hiresFrameHeight表示。让最高分辨率视频中的图块的宽度和高度分别由hiresTileWidth和hiresTileHeight表示。然后,对于高分辨率视频帧中的每个图块,在其余视频帧中的每个视频帧中存在对应的图块,使得视频图块表示图谱上与由最高分辨率视频图块表示的区域完全相同的区域。视频图块尺寸满足以下条件。
在第一条件下,对于其余视频帧中的每个,满足等式(3)和(4)。视频图块宽度和高度分别由videoTileWidth和videoTileHeight表示。视频的宽度和高度分别由videoWidth和videoHeight表示。
Figure BDA0004012270140000331
Figure BDA0004012270140000332
在第二条件下,针对属性、几何和占用图视频的图块化在点云序列的整个持续时间内在时间上保持恒定。在第三条件下,可在不参考来自属于相同子比特流(帧)的其他图块的任何信息的情况下对视频图块进行解码。
以下语法可被用于指示视频帧与图谱帧之间的图块化结构:
语法(1)
Figure BDA0004012270140000333
如语法(1)中所述,当表达式vui_tile_restrictions_present_flag等于1时,指定语法元素vui_fixed_atlas_tile_structure_flag、vui_fixed_video_tile_structure_flag、vui_constrained_tiles_across_v3c_components_idc和vui_max_num_tiles_per_atlas_minus1存在于vui_parameters()语法结构中。可选地,当表达式vui_tile_restrictions_present_flag等于0时指定语法元素vui_fixed_atlas_tile_structure_flag、vui_fixed_video_tile_structure_flag、vui_constrained_tiles_across_v3c_components_idc和vui_max_num_tiles_per_atlas_minus1不存在于vui_parameters()语法结构中。
当表达式vui_fixed_atlas_tile_structure_flag等于1时,指示当前图谱的所有图谱帧应具有相同的图块化结构。当表达式vui_fixed_atlas_tile_structure_flag等于0时,指示当前图谱的图谱帧可具有或可不具有相同的图块化结构。当vui_fixed_atlas_tile_structure_flag语法元素不存在时,其被推断为等于0。
当表达式vui_fixed_video_tile_structure_flag等于1时,指示对于与当前图谱相关联的每个视频子比特流,其所有帧应具有相同的图块化结构。当表达式vui_fixed_video_tile_structure_flag等于0时,指示对于与当前图谱相关联的每个视频子比特流,帧可具有或可不具有相同的图块化结构。当vui_fixed_video_tile_structure_flag语法元素不存在时,其被推断为等于0。
表达式vui_constrained_tiles_across_v3c_components_idc指示任何约束是否应用于图谱子比特流中的图块和视频子比特流中的视频图块的尺寸,如下表1中所指定:
表1
说明
0 不受约束的
1 成比例地受约束的视频图块
2 基于图谱的受约束的视频图块具有精确匹配
3 基于图谱的受约束的视频图块
4 基于边缘的受约束的视频图块
在某些实施例中,视频图块可以是由视频或图像编码规范定义的独立编码单元,并且可在名称(诸如条带、分区、图块或子画面等)上变化。当表达式vui_constrained_tiles_across_v3c_components_idc等于0时,指示视频的图块尺寸仅受所使用的视频编码规范约束。图谱子比特流的图块尺寸受这文档的约束。
当表达式vui_constrained_tiles_across_v3c_components_idc等于1时,指示视频和图谱子比特流的图块尺寸基于以下被约束:对于图谱子比特流中的每个图块,针对存在的每个视频子比特流(属性、几何和占用)有对应视频图块,使得视频图块在被缩放到标称格式时表示图谱上与对应图谱图块完全相同的区域。注意,标称格式具有与图谱相同的分辨率。可在不参考来自该子比特流中的其他视频图块的任何信息的情况下,对与图谱子比特流中的图块对应的每个视频图块进行解码。
当表达式vui_constrained_tiles_across_v3c_components_idc等于2时,指示视频和图谱子比特流的图块尺寸基于以下被约束:对于图谱子比特流中的每个图块,针对存在的每个视频子比特流(占用、几何和属性)有视频图块的集合,使得视频图块的集合在被缩放到标称格式时一起表示图谱上与图谱图块完全相同的区域。可在不参考来自该集合之外的子比特流的视频图块的任何信息的情况下,对与图谱子比特流中的图块对应的视频图块的每个集合进行解码。
当表达式vui_constrained_tiles_across_v3c_components_idc等于3时,指示视频和图谱子比特流的图块尺寸基于以下被约束:对于图谱子比特流中的每个图块,针对存在的每个视频子比特流(占用、几何和属性)有对应视频图块,使得视频图块在被缩放到标称格式时表示图谱上的大于或等于由图谱图块表示的区域的区域。另外,视频图块中的亮度样点的数量应小于或等于图谱图块中的样点的数量。可在不参考来自该子比特流中的其他视频图块的任何信息的情况下,对与图谱子比特流中的图块对应的每个视频图块进行解码。
尽管图6、图7、图8和图9示出示例图块化结构,但是可对图6、图7、图8和图9进行各种改变。例如,帧可以是不同的尺寸。又例如,可使用任何数量个图块分区。再例如,图块的数量及其位置可以是不同的。
图10示出根据本公开的实施例的用于对点云进行编码的示例方法1000。方法1000可由图1的服务器104或客户端装置106-116中的任何客户端装置、图2的服务器200、图3的电子装置300、图5a和5b的编码器510、或任何其他合适的装置或系统来执行。为了便于解释,方法1000被描述为由图5a和5b的编码器510执行。
在步骤1002中,编码器510针对3D点云生成包括表示关于3D点云的信息的像素的视频帧和图谱帧。视频帧可包括几何帧、零个或多个属性帧、以及占用图帧。
包括在几何帧中的一部分像素表示3D点云的点的几何位置,其中,所述点被组织成与3D点云的相应点簇对应的面片。属性帧包括像素并且属性帧的一部分像素表示3D点云的点的属性信息(诸如颜色)。占用图帧包括标识几何帧中的表示3D点云的点的几何位置的所述一部分像素的像素。占用图帧的像素还标识属性帧中的表示3D点云的点的属性信息的像素的位置。图谱帧包括将视频帧中的像素与3D点云的点相关联的信息。
视频帧和图谱帧可包括图块。在某些实施例中,编码器510确定形成视频帧和图谱帧中的每个图块的垂直线和水平线的位置。当确定垂直线和水平线的位置时,编码器510可确定使用最小数量的图块以提高压缩效率。例如,帧中包括的图块越多会降低压缩效率。然而,随着图块的数量增加,解码器(诸如解码器550)可在渲染点云时选择某些图块进行解码,这降低了处理量。因此,编码器510对两种场景进行加权并识别将在帧中保持的图块的最小数量。在某些实施例中,在所有帧中保持用于视频帧的图块的视频图块化结构和用于图谱帧的图块的图谱图块化结构。在某些实施例中,视频帧中的每个图块的尺寸在被缩放到图谱帧的尺寸时,在尺寸上与图谱帧中的图块成比例。
在某些实施例中,视频帧尺寸可彼此不同。因此,视频帧中的任意视频帧内的图块可彼此不同。类似地,图谱帧尺寸可与视频帧尺寸不同。因此,视频帧中的任意视频帧内的图块可与图谱帧中的图块尺寸不同。
例如,几何视频帧可以是第一尺寸,而属性视频帧、占用图视频帧和图谱帧。
在步骤1004中,编码器510基于视频帧中的图块的尺寸与图谱帧中的图块的尺寸之间的关系来设置语法元素的值。基于图块尺寸之间的关系,解码器(诸如解码器550)可确定将解码的帧的部分以用于部分解码。
在某些实施例中,当满足以下条件时,编码器510将语法元素的值设置为第一值(诸如一)。首先,对于图谱帧中的每个图块,在每个视频帧(诸如几何帧、属性帧、占用图帧)中存在对应的视频图块,使得视频图块在被缩放到标称格式时,经过缩放的视频图块表示图谱帧上与对应的图谱图块相同的区域。其次,编码器510确定在编码期间约束运动。例如,解码器可在不参考来自特定帧集合(诸如几何帧)中的其他视频图块的任何信息的情况下对与图谱帧中的图块对应的每个视频图块进行解码。
例如,在确定对于视频帧中的第一视频帧中的每个图块,在图谱帧中的第一图谱帧中存在对应的图谱图块之后,编码器510将语法元素的值设置为第一值。此后,编码器510确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块表示第一图谱帧上与所述对应的图谱图块相似的区域。注意,如果X或Y方向上的标称尺寸是子采样因子的倍数,则经过缩放的视频图块应表示相同的区域。在某些实施例中,视频图块在被缩放时可略大于图谱图块。此后,编码器510确定当视频帧被编码时,运动被约束在视频图块中的每个视频图块内。在这些确定之后,编码器510将语法元素的值设置为第一值。
在某些实施例中,当满足以下条件时,编码器510将语法元素的值设置为第二值(诸如二)。首先,对于图谱帧中的每个图块,在每个视频帧(诸如几何帧、属性帧、占用图帧)中存在对应的图块的集合,使得视频图块的集合在被缩放到标称格式时,经过缩放的视频图块的集合表示图谱帧上与对应的图谱图块相同的区域。其次,编码器510确定在编码期间约束运动。例如,解码器可在不参考来自特定帧集合(诸如几何帧)中的其他视频图块的任何信息的情况下,对与图谱帧中的图块对应的视频图块的每个集合进行解码。
例如,在确定对于视频帧中的第一视频帧中的每个图块集合,在图谱帧中的第一图谱帧中存在对应的图谱图块之后,编码器510将语法元素的值设置为第二值。此后,编码器510确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块的集合表示第一图谱帧上与所述对应的图谱图块相似的区域。此后,编码器510确定当视频帧被编码时,运动被约束在视频图块的集合中的每一个内。在这些确定之后,编码器510将语法元素的值设置为第二值。
在某些实施例中,当满足以下条件时,编码器510将语法元素的值设置为第三值(诸如三)。首先,对于图谱帧中的每个图块,在每个视频帧(诸如几何帧、属性帧、占用图帧)中存在对应的视频图块,使得视频图块在被缩放到标称格式时,经过缩放的视频图块表示图谱帧上的大于或等于由对应的图谱图块表示的区域的区域。其次,视频图块中的亮度样点的实际数量(当未缩放时)小于或等于图谱图块中的样点的数量。注意,如果视频格式不是YCbCr格式(例如,是RGB格式),则亮度样点对应于第0分量中的样点。第三,编码器510确定在编码期间约束运动。例如,解码器可在不参考来自特定帧集合(诸如几何帧)中的其他视频图块的任何信息的情况下,对与图谱帧中的图块对应的每个视频图块进行解码。
在某些实施例中,语法元素的值允许解码器550计算解码器550需要针对每个视频子比特流解码的样点数量的上限。例如,当语法元素是第一值或第二值,对于每个图谱图块,以标称格式计算的视频图块样点的数量与图谱图块完全相同。然而,当语法元素是第三值时,指示是该图谱图块中的样点数量的上限。
在步骤1006中,编码器510对视频帧进行编码以生成视频子比特流。编码器510还对图谱帧进行编码以生成图谱子比特流。在表示3D点云的帧被编码之后,编码器510可复用视频子比特流和图谱子比特流以及语法元素以生成比特流(步骤1008)。在步骤1010中,编码器510发送比特流。比特流可最终被发送到解码器(诸如解码器550)。
尽管图10示出用于对点云进行编码的方法1000的一个示例,但是可对图10进行各种改变。例如,虽然被示出为一系列步骤,但是图10中的各个步骤可重叠、并行发生或发生任何次数。
图11示出根据本公开的实施例的用于对点云进行解码的示例方法1100。方法1100可由图1的服务器104或客户端装置106-116中的任何客户端装置、图2的服务器200、图3的电子装置300、图5a和5c的解码器550、或任何其他合适的装置或系统来执行。为了便于解释,方法1100被描述为由图5a和5c的解码器550执行。
方法1100开始于解码器(诸如解码器550)接收压缩比特流(步骤1102)。在步骤1104中,解码器550从接收的比特流中识别表示3D点云的一个或更多个视频子比特流、图谱子比特流和具有值的语法元素。视频子比特流可包括与几何信息、零个或多个属性信息和占用图信息对应的视频子比特流。图块可被包括在图谱子比特流和视频子比特流中。
在步骤1104中,解码器从语法元素的值识别包括在图谱子比特流中的图块的尺寸与包括在视频子比特流中的图块的尺寸之间的关系。解码器可基于语法元素的值来确定是否在整个比特流中保持用于视频图块的视频图块化结构和用于图谱图块的图谱图块化结构以使得能够进行部分解码。在某些实施例中,对于图谱帧中的第一图谱帧的给定区域,解码器550基于语法元素的值估计视频帧中的将解码的第一视频帧的区域。
在步骤1106,解码器550识别语法元素的值。在某些实施例中,解码器550基于语法元素的值来识别视频图块的尺寸与图谱图块的尺寸之间的关系。
当语法元素的值是第一值(诸如一)时,解码器550可确定基于被缩放到第一视频帧的第一图谱帧的给定区域来估计在第一视频帧中被解码的像素的数量。例如,当语法元素的值是第一值时,向解码器550提供满足以下条件的指示。首先,对于图谱帧中的每个图块,在每个视频帧(诸如几何帧、属性帧、占用图帧)中存在对应的视频图块,使得视频图块在被缩放到标称格式时,经过缩放的视频图块表示图谱帧上与对应的图谱图块相同的区域。其次,解码器550得知在编码处理期间运动被约束在图块内。例如,解码器550可在不参考来自特定帧集合(诸如几何帧)中的其他视频图块的任何信息的情况下,对与图谱帧中的图块对应的每个视频图块进行解码。
例如,当语法元素的值是第一值时,解码器550可确定对于视频帧中的第一视频帧中的每个图块,在图谱帧中的第一图谱帧中存在对应的图谱图块。解码器550还可确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块表示第一图谱帧上与所述对应的图谱图块相似的区域。解码器550可进一步确定当视频帧被编码时,运动被约束在视频图块中的每个视频图块内。基于这些确定,基于被缩放到第一视频帧的第一图谱帧的给定区域来估计在第一视频帧中被解码的像素的数量。
当语法元素的值是第二值(诸如二)时,解码器550可确定基于被缩放到第一视频帧的第一图谱帧的给定区域来估计在第一视频帧中被解码的像素的数量。例如,当语法元素的值是第一值时,向解码器550提供满足以下条件的指示。首先,对于图谱帧中的每个图块,在每个视频帧(诸如几何帧、属性帧、占用图帧)中存在对应的图块的集合,使得当视频图块的集合被缩放到标称格式时,经过缩放的视频图块的集合表示图谱帧上与对应的图谱图块相同的区域。其次,解码器550得知在编码处理期间运动被约束在图块的集合内。例如,解码器550可在不参考来自特定帧集合(诸如几何帧)中的其他视频图块的任何信息的情况下,对与图谱帧中的图块对应的每个视频图块进行解码。
例如,当语法元素的值是第二值时,解码器550可确定对于第一视频帧中的每个视频图块的集合,在第一图谱帧中存在对应的图谱图块。解码器550还可确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块的集合表示第一图谱帧上与所述对应的图谱图块相似的区域。解码器550可进一步确定运动被约束在视频图块的集合中的每一个内。基于这些确定,基于被缩放到第一视频帧的第一图谱帧的给定区域来估计在第一视频帧中被解码的像素的数量。
当语法元素的值是第三值(诸如三)时,解码器550可确定基于第一图谱帧的给定区域来估计在第一视频帧中被解码的像素的数量。例如,当语法元素的值是第三值时,向解码器550提供满足以下条件的指示。首先,对于图谱帧中的每个图块,在每个视频帧(诸如几何帧、属性帧、占用图帧)中存在对应的视频图块,使得视频图块在被缩放到标称格式时,经过缩放的视频图块表示图谱帧上的大于或等于由对应的图谱图块表示的区域的区域。其次,视频图块(当未缩放时)中的亮度样点的实际数量小于或等于图谱图块中的样点的数量。第三,解码器550得知在编码处理期间运动被约束在图块内。例如,解码器550可在不参考来自特定帧集合(诸如几何帧)中的其他视频图块的任何信息的情况下,对与图谱帧中的图块对应的每个视频图块进行解码。
例如,当语法元素的值是第三值时,解码器550可确定对于第一视频帧中的每个视频图块,在第一图谱帧中存在对应的图谱图块。解码器550还可确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块表示第一图谱帧上的大于或等于对应的图谱图块的区域。解码器550可进一步确定第一视频帧的视频图块中的亮度样点的数量小于或等于所述对应的图谱图块中的亮度样点的数量。另外,解码器550可确定运动被约束在视频图块中的每一个内。基于这些确定,基于第一图谱帧的给定区域来估计在第一视频帧中被解码的像素的数量。
在某些实施例中,语法元素的值允许解码器550计算当执行视频的部分解码时解码器550需要针对每个视频子比特流解码的样点数量的上限。例如,当语法元素是第一值或第二值时,对于每个图谱图块,以标称格式计算的视频图块样点的数量与图谱图块完全相同。然而,当语法元素是第三值时,指示是该图谱图块中的样点数量的上限。
在步骤1108中,解码器550基于视频图块和图谱图块对部分视频子比特流和部分图谱子比特流进行解码,以生成部分视频帧和部分图谱帧。在某些实施例中,被解码的视频子比特流和图谱子比特流的部分包括所有子比特流的全部。在其他实施例中,被解码的视频子比特流和图谱子比特流的部分包括被解码的某些图块。在其他实施例中,被解码的视频子比特流和图谱子比特流的部分包括来自某些子比特流的一些图块和其他比特流的全部。
例如,解码器550对与感兴趣区域对应的部分图谱子比特流进行解码,以生成部分图谱帧。对于第一图谱帧的解码部分,解码550估计将从视频子比特流解码的表示占用图帧的第一视频帧的区域。然后,解码器550使用占用图帧的解码部分来对来自视频子比特流的表示几何帧和属性帧(如果存在)的视频帧的对应部分进行解码。
在步骤1110中,解码器550使用解码的部分视频帧和解码的部分图谱帧来重建部分3D点云。
尽管图11示出用于对点云进行解码的方法1100的一个示例,但是可对图11进行各种改变。例如,虽然被示出为一系列步骤,但是图11中的各个步骤可重叠、并行发生或发生任何次数。
尽管附图示出用户设备的不同示例,但是可对附图进行各种改变。例如,用户设备可以以任何合适的布置包括任何数量的每个组件。通常,附图不将本公开的范围限制于任何特定配置。此外,虽然附图示出可使用本专利文献中公开的各种用户设备特征的操作环境,但是这些特征可被用于任何其他合适的系统中。
尽管已经利用示例性实施例描述了本公开,但是可向本领域技术人员建议各种改变和修改。本公开旨在涵盖落入所附权利要求的范围内的这些改变和修改。

Claims (15)

1.一种用于点云编码的编码装置,所述编码装置包括:
处理器,被配置为:
针对三维3D点云生成包括表示关于所述3D点云的信息的像素的视频帧和图谱帧,其中,图谱图块表示图谱帧中的分区并且视频图块表示视频帧中的分区,
根据视频图块的尺寸与图谱图块的尺寸之间的关系来设置语法元素的值,对视频帧和图谱帧进行编码以生成视频子比特流和图谱子比特流,以及
基于图谱子比特流、视频子比特流和所述语法元素生成比特流。
2.根据权利要求1所述的编码装置,其中,为了将所述语法元素的值设置为第一值,所述处理器被配置为:
确定对于视频帧中的第一视频帧中的视频图块中的每个视频图块,在图谱帧中的第一图谱帧中存在对应的图谱图块;
确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块表示第一图谱帧上与所述对应的图谱图块相似的区域;以及
确定当视频帧被编码时,运动被约束在视频图块中的每个视频图块内。
3.根据权利要求1所述的编码装置,其中,为了将所述语法元素的值设置为第二值,所述处理器被配置为:
确定对于视频帧中的第一视频帧中的每个视频图块的集合,在图谱帧中的第一图谱帧中存在对应的图谱图块;
确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块的集合表示第一图谱帧上与所述对应的图谱图块相似的区域;以及
确定当视频帧被编码时,运动被约束在视频图块的集合中的每个视频图块的集合内。
4.根据权利要求1所述的编码装置,其中,为了将所述语法元素的值设置为第三值,所述处理器被配置为:
确定对于视频帧中的第一视频帧中的视频图块中的每个视频图块,在图谱帧中的第一图谱帧中存在对应的图谱图块;
确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块表示第一图谱帧上的大于或等于所述对应的图谱图块的区域;
确定第一视频帧的视频图块中的亮度样点的数量小于或等于所述对应的图谱图块中的亮度样点的数量;以及
确定当视频帧被编码时,运动被约束在视频图块中的每个视频图块内。
5.根据权利要求1所述的编码装置,其中,为了将所述语法元素的值设置为第三值,所述处理器被配置为:
确定对于视频帧中的第一视频帧中的视频图块中的每个视频图块,在图谱帧中的第一图谱帧中存在对应的图谱图块;
确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块表示第一图谱帧上的大于或等于所述对应的图谱图块的区域;
确定第一视频帧的视频图块中的亮度样点的数量小于或等于所述对应的图谱图块中的亮度样点的数量;以及
确定当视频帧被编码时,运动被约束在视频图块中的每个视频图块内。
6.根据权利要求1所述的编码装置,其中,视频帧包括几何帧的集合、属性帧的一个或更多个集合以及占用图帧的集合。
7.根据权利要求6所述的编码装置,其中,为了将图谱图块包括在图谱帧中并且将视频图块包括在视频帧中,所述处理器被配置为:保持用于视频帧的视频图块的视频图块化结构和用于图谱帧的图谱图块的图谱图块化结构。
8.一种用于点云编码的方法,所述方法包括:
针对三维3D点云,生成包括表示关于所述3D点云的信息的像素的视频帧和图谱帧,其中,图谱图块表示图谱帧中的分区并且视频图块表示视频帧中的分区;
根据视频图块的尺寸与图谱图块的尺寸之间的关系来设置语法元素的值;
对视频帧和图谱帧进行编码以生成视频子比特流和图谱子比特流;以及
基于图谱子比特流、视频子比特流和所述语法元素来生成比特流。
9.一种用于点云解码的解码装置,所述解码装置包括:
处理器,被配置为:
从比特流识别表示三维3D点云的一个或更多个视频子比特流、图谱子比特流和具有值的语法元素,
从所述语法元素的值识别所述一个或更多个视频子比特流中的视频图块的尺寸与图谱子比特流中的图谱图块的尺寸之间的关系;
基于视频图块和图谱图块,对部分视频子比特流和部分图谱子比特流进行解码,以生成部分视频帧和部分图谱帧;以及
基于所述部分视频帧和所述部分图谱帧来重建部分所述点云。
10.根据权利要求9所述的解码装置,其中,对于图谱帧中的第一图谱帧的给定区域,所述处理器还被配置为:基于所述语法元素的值来估计视频帧中的将解码的第一视频帧的区域。
11.根据权利要求10所述的解码装置,其中:
当所述语法元素的值为第一值时,所述处理器被配置为:
确定对于第一视频帧中的视频图块中的每个视频图块,在第一图谱帧中存在对应的图谱图块,
确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块表示第一图谱帧上的与所述对应的图谱图块相似的区域,以及
确定运动被约束在视频图块内;以及
基于被缩放到第一视频帧的第一图谱帧的给定区域来估计在第一视频帧中被解码的像素的数量。
12.根据权利要求10所述的解码装置,其中:
当所述语法元素的值为第二值时,所述处理器被配置为:
确定对于第一视频帧中的每个视频图块的集合,在第一图谱帧中存在对应的图谱图块,
确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块的集合表示第一图谱帧上的与所述对应的图谱图块相似的区域,以及
确定运动被约束在视频图块的集合中的每一个视频图块的集合内;以及
基于被缩放到第一视频帧的第一图谱帧的所述给定区域来估计在第一视频帧中被解码的像素的数量。
13.根据权利要求10所述的解码装置,其中:
当所述语法元素的值为第三值时,所述处理器被配置为:
确定对于第一视频帧中的视频图块中的每个视频图块,在第一图谱帧中存在对应的图谱图块,
确定当第一视频帧被缩放到标称格式时,包括在经过缩放的第一视频帧中的视频图块中的每个经过缩放的视频图块表示第一图谱帧上的大于或等于所述对应的图谱图块的区域,
确定第一视频帧的视频图块中的亮度样点的数量小于或等于所述对应的图谱图块中的亮度样点的数量,并且
确定运动被约束在视频图块中的每个视频图块内;以及
基于第一图谱帧的所述给定区域来估计在第一视频帧中被解码的像素的数量。
14.根据权利要求9所述的解码装置,其中,所述处理器还被配置为:确定用于视频图块的视频图块化结构和用于图谱图块的图谱图块化结构贯穿所述比特流被保持,以使得能够进行部分解码。
15.一种用于点云解码的方法,所述方法包括:
从比特流识别表示三维3D点云的一个或更多个视频子比特流、图谱子比特流和具有值的语法元素,其中,图谱图块被包括在图谱子比特流中,并且视频图块被包括在视频子比特流中;
从所述语法元素的值识别所述一个或更多个视频子比特流中的视频图块的尺寸与图谱子比特流中的图谱图块的尺寸之间的关系;
基于视频图块和图谱图块对部分视频子比特流和部分图谱子比特流进行解码,以生成部分视频帧和部分图谱帧;以及
基于所述部分视频帧和所述部分图谱帧来重建部分所述点云。
CN202180044767.2A 2020-06-24 2021-06-24 用于基于视频的点云压缩的图块化 Pending CN115918082A (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US202063043391P 2020-06-24 2020-06-24
US63/043,391 2020-06-24
US202063044471P 2020-06-26 2020-06-26
US63/044,471 2020-06-26
US202063045500P 2020-06-29 2020-06-29
US63/045,500 2020-06-29
US17/354,997 2021-06-22
US17/354,997 US11695957B2 (en) 2020-06-24 2021-06-22 Tiling for video based point cloud compression
PCT/KR2021/007955 WO2021261938A1 (en) 2020-06-24 2021-06-24 Tiling for video based point cloud compression

Publications (1)

Publication Number Publication Date
CN115918082A true CN115918082A (zh) 2023-04-04

Family

ID=79030721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180044767.2A Pending CN115918082A (zh) 2020-06-24 2021-06-24 用于基于视频的点云压缩的图块化

Country Status (6)

Country Link
US (2) US11695957B2 (zh)
EP (1) EP4173293A4 (zh)
KR (1) KR20230025777A (zh)
CN (1) CN115918082A (zh)
BR (1) BR112022025897A2 (zh)
WO (1) WO2021261938A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4172934A1 (en) 2020-08-14 2023-05-03 Topgolf Sweden AB Motion based pre-processing of two-dimensional image data prior to three-dimensional object tracking with virtual time synchronization
US11706450B2 (en) * 2020-09-18 2023-07-18 Samsung Electronics Co., Ltd. Partial decoding and reconstruction of a video-based point cloud compression bitstream

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693319B (zh) 2012-05-31 2015-09-16 北京拓维思科技有限公司 基于金字塔的海量激光雷达点云存储方法
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
EP3474562A1 (en) 2017-10-20 2019-04-24 Thomson Licensing Method, apparatus and stream for volumetric video format
US10638151B2 (en) 2018-05-31 2020-04-28 Verizon Patent And Licensing Inc. Video encoding methods and systems for color and depth data representative of a virtual reality scene
WO2019243663A1 (en) 2018-06-21 2019-12-26 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US11616938B2 (en) * 2019-09-26 2023-03-28 Electronics And Telecommunications Research Institute Method for processing immersive video and method for producing immersive video

Also Published As

Publication number Publication date
EP4173293A1 (en) 2023-05-03
BR112022025897A2 (pt) 2023-01-10
EP4173293A4 (en) 2024-06-19
US11695957B2 (en) 2023-07-04
KR20230025777A (ko) 2023-02-23
US20210409768A1 (en) 2021-12-30
US20230308684A1 (en) 2023-09-28
WO2021261938A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
US11373338B2 (en) Image padding in video-based point-cloud compression CODEC
US11393132B2 (en) Mesh compression
US10984541B2 (en) 3D point cloud compression systems for delivery and access of a subset of a compressed 3D point cloud
US11095908B2 (en) Point cloud compression using interpolation
US11348283B2 (en) Point cloud compression via color smoothing of point cloud prior to texture video generation
US11122279B2 (en) Point cloud compression using continuous surface codes
US11288843B2 (en) Lossy compression of point cloud occupancy maps
US10916041B2 (en) Method for depth image di coding
CN110892453B (zh) 使用图像/视频编解码器的点云和网格压缩
US11210812B2 (en) Single-pass boundary detection in video-based point cloud compression
US11216984B2 (en) Patch splitting for improving video-based point cloud compression performance
US11461933B2 (en) Decision-making rules for attribute smoothing
US10944991B2 (en) Prediction for matched patch index coding
US11039115B2 (en) Low complexity color smoothing of reconstructed point clouds
US11803987B2 (en) Attribute transfer in V-PCC
US11706450B2 (en) Partial decoding and reconstruction of a video-based point cloud compression bitstream
US20230308684A1 (en) Tiling for video based point cloud compression
US20220058833A1 (en) Complexity reduction of video-based point cloud compression encoding using grid-based segmentation

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