本公开一般涉及多媒体数据的压缩和编码。更具体地,本公开涉及用于对点云(pointcloud)进行压缩和解压缩的装置和方法。
背景技术:
::由于功能强大的手持设备(诸如智能手机)已经可用,360度(360°)视频正成为体验沉浸式视频的一种新方式。360°视频通过捕获世界的360°视图为消费者带来沉浸式的“真实生活的”、“身临其境的”的体验。用户可以交互地改变他们的视点,并动态地观看他们希望的捕获场景或对象的任何部分。显示和导航传感器实时跟踪头部移动,以确定用户想要观看的360°视频的区域。360°视频提供三自由度(threedegreesoffreedom,3dof)沉浸式体验。六自由度(6dof)是沉浸式体验的下一水平,其中用户可以在虚拟/增强环境中转动他的头部并四处移动。需要本质上是三维的多媒体数据(诸如点云)来提供6dof的体验。点云和网格(mesh)是表示对象或场景的表面的模型的3-d点集合。点云在各种应用中是常见的,仅举几例,诸如游戏、3-d地图、可视化、医疗应用、增强现实、虚拟现实、自主驾驶、多视图回放、6dof沉浸式媒体。如果不压缩,点云一般需要大量的带宽来传输。由于比特率要求高,点云通常在传输前被压缩。点云的压缩硬件和过程不同于传统二维(2-d)多媒体的传统压缩硬件和过程。技术实现要素:技术问题如果不压缩,点云一般需要大量的带宽来传输。由于比特率要求高,点云通常在传输前被压缩。点云的压缩硬件和过程不同于传统二维(2-d)多媒体的传统压缩硬件和过程。问题的解决方案本公开提供了使用混合变换的点云压缩。附图说明为了更完整地理解本公开及其优点,现在结合附图参考以下描述,其中相同的附图标记表示相同的部分:图1示出了根据本公开实施例的示例通信系统;图2示出了根据本公开实施例的示例电子设备;图3示出了根据本公开实施例的示例电子设备;图4示出了根据本公开实施例的点云和网格;图5示出了根据本公开实施例的解构、传输和重构点云的过程;图6a示出了根据本公开实施例的编码器的示例框图;图6b示出了根据本公开实施例的解码器的示例框图;图7a、图7b、图7c和图7d示出了根据本公开实施例的示例3-d点云和表示3-d点云的包括漏点面片(missedpointspatch)的2-d帧;图8a、图8b、图8c和图8d示出了根据本公开实施例的示例嵌入式漏点面片;图9示出了根据本公开实施例的示例栅格(raster)扫描映射;图10示出了根据本公开实施例的具有结构化部分和非结构化部分的示例投影;图11a、图11b、图11c、图11d和图11e示出了根据本公开实施例的用于非结构化投影的示例排序(sorting)方法;图12示出了根据本公开实施例的用于对点云进行编码的示例流程图;以及图13示出了根据本公开实施例的用于对点云进行解码的示例流程图。最佳实施方式在第一实施例中,提供了一种用于点云解码的解码设备。该解码设备包括通信接口和可操作地耦合到该通信接口的处理器。通信接口被配置成接收压缩比特流。处理器被配置成将压缩比特流解码成第一二维(2-d)帧集合和第二2-d帧集合。第一2-d帧集合包括表示三维(3-d)点云的几何形状的第一规则面片(patch)集合。第二2-d帧集合包括表示3-d点云的纹理的第二规则面片集合。第一和第二规则面片集合的面片表示3-d点云中的3-d点的相应聚类。处理器还被配置成识别第一2-d帧集合中的表示不被包括在第一规则面片集合中的3-d点云的点的几何形状的漏点面片,以及识别第二2-d帧集合中的表示不被包括在第二规则面片集合中的3-d点云的点的纹理的漏点面片。该处理器还被配置成使用2-d帧集合、使用第一和第二规则面片集合和漏点面片来生成3-d点云。在另一实施例中,提供了一种用于点云编码的编码设备。该编码设备包括处理器和可操作地耦合到该处理器的通信接口。该处理器被配置成针对三维(3-d)点云生成第一二维(2-d)帧集合和第二2-d帧集合,第一2-d帧集合包括表示3-d点云的几何形状的第一规则面片集合,第二2-d帧集合包括表示3-d点云的纹理的第二规则面片集合。第一和第二规则面片集合的面片表示3-d点云中的3-d点的相应聚类。处理器还被配置成检测没有在规则面片集合中的任一个中被表示的3-d点云的点。处理器还被配置成生成表示检测到的点的几何形状的漏点面片,以及表示检测到的点的纹理的漏点面片。处理器还被配置成将表示不被包括在第一规则面片集合中的点的几何形状的漏点面片包括在第一2-d帧集合中,以及将表示不被包括在第二规则面片集合中的点的纹理的漏点面片包括在第二2-d帧集合中。处理器还被配置成对包括漏点面片的2-d帧进行编码以生成压缩比特流。通信接口被配置成传输压缩比特流。在又一实施例中,提供了一种用于解码的方法。该方法包括接收压缩比特流。该方法还包括将压缩比特流解码成第一二维(2-d)帧集合和第二-d帧集合,其中,第一2-d帧集合包括表示三维(3-d)点云的几何形状的第一规则面片集合,第二2-d帧集合包括表示3-d点云的纹理的第二规则面片集合。第一和第二规则面片集合的面片表示3-d点云中的3-d点的相应聚类。该方法还包括在第一2-d帧集合中识别表示不被包括在第一规则面片集合中的3-d点云的点的几何形状的漏点面片,以及在第二2-d帧集合中识别表示不被包括在第二规则面片集合中的3-d点云的点的纹理的漏点面片。该方法还包括使用2-d帧集合、使用第一和第二规则面片集合和漏点面片来生成3-d点云。根据以下附图、描述和权利要求,其他技术特征对于本领域技术人员来说是明显的。具体实施方式在进行下面的详细描述之前,阐述贯穿本专利文件使用的某些单词和短语的定义可能是有利的。术语“耦合”及其派生词是指两个或多个元件之间的任何直接或间接通信,无论这些元件是否彼此物理接触。术语“发送”、“接收”和“通信”及其派生词包括直接和间接通信两者。术语“包括”和“包含”以及它们的派生词意味着包括但不限于。术语“或”是包含性的,意味着和/或。短语“与……相关联”及其派生词意味着包括、被包括在内、互连、包含、被包含在内、连接到或与……连接、耦合到或与……耦合、与……可通信、与……配合、交错、并置、接近、绑定或与……绑定、具有、具有属性、具有关系或与……有关系等。术语“控制器”意味着控制至少一个操作的任何设备、系统或其部分。这种控制器可以用硬件或硬件和软件和/或固件的组合来实施。与任何特定控制器相关联的功能可以是集中式或分布式的,无论是本地还是远程的。当与项目列表一起使用时,短语“至少一个”意味着可以使用所列项目中的一个或多个的不同组合,并且可能只需要列表中的一个项目。例如,“a、b和c中的至少一个”包括以下组合中的任一个:a、b、c、a和b、a和c、b和c、以及a和b和c。此外,下面描述的各种功能可以由一个或多个计算机程序来实施或支持,每个计算机程序由计算机可读程序代码形成并体现在计算机可读介质中。术语“应用”和“程序”是指一个或多个计算机程序、软件组件、指令集、过程、功能、对象、类、实例、相关数据、或其适于在合适的计算机可读程序代码中实施的部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,诸如只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、硬盘驱动器、光盘(compactdisc,cd)、数字视频光盘(digitalvideodisc,dvd)或任何其他类型的存储器。“非暂时性”计算机可读介质不包括传送暂时性电信号或其他信号的有线、无线、光学或其他通信链路。一种非暂时性计算机可读介质包括其中数据可被永久性存储的介质和其中数据可被存储并随后被重写的介质,诸如可重写光盘或可擦除存储器设备。贯穿本专利文件提供了其他某些单词和短语的定义。本领域普通技术人员应该理解,在许多情况下,如果不是大多数情况下,这样的定义适用于这样定义的单词和短语的先前和将来的使用。下面讨论的图1至图13以及在本专利文件中用于描述本发明的原理的各种实施例仅是示例性的,并且不应以任何方式解释为限制本发明的范围。本领域技术人员将理解,本公开的原理可以以任何合适布置的系统或设备来实施。虚拟现实(virtualreality,vr)是视觉场景的渲染版本。在某些实施例中,vr是视觉和音频场景两者的渲染版本。当个人在由应用或vr场景定义的范围内移动时,渲染被设计成向观察者或用户尽可能自然地模拟真实世界的视觉刺激,以及如果可用的话模拟听觉刺激。例如,vr将用户放置在沉浸式世界中,该沉浸式世界与他们的头部移动互动。在视频级别,vr通过提供覆盖尽可能多的视场(fieldofview,fov)的视频体验和将渲染视频的视角与头部移动同步来实现。尽管许多不同类型的设备能够提供这样的体验,但头戴式显示器(head-mounteddisplay,hmd)是使用户能够观看vr场景并基于用户头部的移动来调整显示内容的流行设备。通常,hmd要么依靠集成在设备中并且与外部计算机一起运行(拴系)的专用屏幕,要么依靠插入hmd(未拴系)的设备(诸如智能手机)。第一种方法利用轻量级屏幕并且受益于高的计算能力。相比之下,基于智能手机的系统利用更高的移动性并且生产成本更低。在这两种情况下,生成的视频体验是相同的。应该注意,如本文所使用的,术语“用户”可以表示使用电子设备的人或另一设备(诸如人工智能电子设备)。点云是与vr环境中的对象类似的对象的3-d表示。类似地,点网格是与vr环境中的对象类似的对象的3-d表示。通常,点云是由坐标系定义的数据点的集合。例如,在3-d笛卡尔坐标系中,由三个坐标(即x、y和z)标识点云的每个点。当由三个坐标来标识每个点时,就标识了3-d环境或空间中相对于原点的精确位置。原点是x轴、y轴和z轴相交的位置。点云的点通常表示对象的外表面。点云中的每个点由属性定义,诸如每个点在三个坐标内的几何定位和纹理(诸如颜色、强度、法线、反射率等)。类似地,3-d网格是类似于点云的对象的3-d表示。3-d网格图示由多边形构建的对象的外部结构。例如,3-d网格是定义对象形状的顶点、边和面的集合。另一示例,网格(或点云)可以在球面坐标系上渲染。在某些实施例中,每个点可以位于球体内的x、y、z坐标中。类似地,纹理坐标u和v指示图像的纹理的位置。当对象被渲染时,网格的顶点、对应的纹理坐标和纹理图像被输入到图形处理单元,该图形处理单元将网格映射到3-d几何形状上。用户可以具有定位于虚拟球体中心的fov,并看到对应于视口(viewport)的360°场景的部分。在某些实施例中,可以使用可替换的形状(诸如立方体、二十面体、八面体等)来代替球体。点云和网格将在下面参考图4进行更详细的说明和讨论。点云和网格通常用于各种应用,仅举几例,包括游戏、3-d地图、可视化、医学、增强现实、vr、自主驾驶、多视图回放、6自由度沉浸式媒体等。在下文中,术语“点云”也指“3-d点云”和“3-d网格”。由于与单个点云相关联的数据的大小和复杂性,从一个电子设备向另一电子设备传输点云通常需要大量带宽。点云的传输通常需要特定的压缩技术,以在传输前减小数据的大小。例如,压缩点云可能需要专用硬件、或特定压缩算法或其组合。通常,点云的压缩算法不同于其他多媒体形式(诸如图像和视频、vr等)的压缩算法。本公开实施例考虑到由于带宽的大小限制,压缩点云对于加速和改善点云从源设备到另一设备(诸如用户设备)的传输是必要的。也就是说,未压缩的点云使用大量带宽进行传输,导致点云的渲染被延迟。某些专用硬件组件可用于满足实时需求或减少点云的渲染中的延迟或滞后。这种硬件组件通常很昂贵。根据本公开实施例,使用编解码器压缩点云减少了用于传输的带宽以及某些类型的硬件。例如,当点云被操纵成适合(fit)2-d帧时,视频或图像编解码器(诸如hevc、avc、vp9、vp8、jvnet等)可用于压缩点云。例如,点云从其原始的3-d形状被操纵成以2-d表示点云的多个面片。因此,本公开实施例提供了用于操纵3-d对象(诸如点云)的系统和方法。操纵3-d对象包括将3-d对象投影到2-d帧上,使得该帧可以被压缩、传输到显示器设备,并且2-d帧内的内容可以被重构成3-d对象并最终被渲染,使得3-d对象可以供用户观看。在点云被投影到多个2-d视频帧之后,各种2-d压缩硬件和软件组件可以压缩3-d点云。当点云被解构以适合在多个2-d帧上时,可以使用比传输原始点云更少的带宽来传输帧。3-d对象可以由编码器操纵、传输到解码器,解码器重构3-d对象以供用户观看。编码器将3-d对象投影到一个或多个2-d帧上、压缩帧、并且生成和传输包括压缩帧的压缩比特流。解码器接收比特流,解压缩帧,重构并且渲染3-d对象,以便用户可以观看显示的对象。根据本公开实施例,提供了用于使用视频编解码器执行点云压缩的架构。本公开实施例提供了使用图像编解码器的点云压缩的架构。点云可以被解构,并且生成包括点云的每个点的几何形状的规则面片以及点云的各种属性或纹理的多个2-d帧。例如,点云可以被解构并且被映射到二维帧上。可以使用各种视频压缩或图像压缩或这两种压缩来压缩2-d帧。图1示出了根据本公开的示例计算系统100。图1所示的系统100的实施例仅用于说明。在不脱离本公开的范围的情况下,可以使用系统100的其他实施例。系统100包括便于系统100中的各种组件之间进行通信的网络102。例如,网络102可以在网络地址之间传达互联网协议(internetprotocol,ip)分组、帧中继帧、异步传输模式(asynchronoustransfermode,atm)信元或其他信息。网络102包括一个或多个局域网(localareanetworks,lan)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,wan)、全球网络(诸如互联网)的全部或一部分、或在一个或多个位置处的任何其他一个或多个通信系统。网络102便于服务器104与各种客户端设备106-116之间进行通信。客户端设备106-116可以是例如智能手机、平板电脑、膝上型电脑、个人电脑、可穿戴设备或头戴式显示器(head-mounteddisplay,hmd)。服务器104可以表示一个或多个服务器。每个服务器104包括能够为一个或多个客户端设备提供计算服务的任何合适的计算或处理设备。每个服务器104可以例如包括一个或多个处理设备、存储指令和数据的一个或多个存储器、以及便于通过网络102进行通信的一个或多个网络接口。如下面更详细描述的,服务器104可以将点云传输到一个或多个显示设备,诸如客户端设备106-116。在某些实施例中,每个服务器104可以包括编码器。每个客户端设备106-116表示通过网络102与至少一个服务器或(多个)其他计算设备进行交互的任何合适的计算或处理设备。在该示例中,客户端设备106-116包括台式计算机106、移动电话或移动设备108(诸如智能手机)、个人数字助理(pda)110、膝上型计算机112、平板计算机114和hmd116。然而,系统100中可以使用任何其他或附加的客户端设备。在某些实施例中,每个客户端设备106-116可以包括解码器。在该示例中,一些客户端设备108-116与网络102间接通信。例如,客户端设备108和110(分别是移动设备108和pda110)经由一个或多个基站118(诸如蜂窝基站或enodeb(enb))进行通信。移动设备108包括智能手机。此外,客户端设备112、114和116(分别是膝上型计算机、平板计算机和hmd)经由一个或多个无线接入点120(诸如ieee802.11无线接入点)进行通信。如下面更详细描述的,hmd116可以显示包括一个或多个点云的360°场景。注意,这些仅用于说明,并且每个客户端设备106-116可以与网络102直接通信,或者经由任何合适的(多个)中间设备或(多个)网络与网络102间接通信。在某些实施例中,服务器104或任何客户端设备106-114可用于压缩点云并且将数据传输到另一客户端设备(诸如任何客户端设备106-116)。在某些实施例中,移动设备108(或任何其他客户端设备106-116)可以安全且高效地将信息传输到另一设备(诸如例如服务器104)。当经由支架附接到耳机时,移动设备108(或任何其他客户端设备106-116)可以用作vr显示器,并且功能类似于hmd116。移动设备108(或任何其他客户端设备106-116)可以触发其自身与服务器104之间的信息传输。尽管图1示出了系统100的一个示例,但可以对图1进行各种改变。例如,系统100可以包括以任何合适布置的任何数量的每个组件。一般来说,计算和通信系统有各种各样的配置,并且图1不将本公开的范围限制为任何特定配置。尽管图1示出了其中可以使用本专利文件中公开的各种特征的一个操作环境,但是这些特征可以用在任何其他合适的系统中。本公开中提供的过程和系统允许客户端设备106-116或服务器104压缩、传输、接收、渲染点云或其组合。例如,服务器104然后可以压缩点云数据并将其传输到客户端设备106-116。对于另一示例,任何客户端设备106-116可以压缩点云数据并将其传输到任何客户端设备106-116或服务器104。图2和图3示出了根据本公开实施例的计算系统中的示例设备。具体地,图2示出了示例服务器200,图3示出了示例电子设备300。服务器200可以表示图1的服务器104,并且电子设备300可以表示图1的客户端设备106-116中的一个或多个。服务器200可以表示一个或多个本地服务器、一个或多个压缩服务器或一个或多个编码服务器。如图2所示,服务器200包括总线系统205,其支持至少一个处理器210、至少一个存储设备215、至少一个通信接口220和至少一个输入/输出(i/o)单元225之间的通信。在某些实施例中,服务器200是编码器。处理器210执行可以存储在存储器230中的指令。存储在存储器230中的指令可以包括用于分解点云、压缩点云的指令。存储在存储器230中的指令还可以包括用于对点云进行编码以便生成比特流的指令。存储在存储器230中的指令还可以包括用于在如通过vr耳机(headset)(诸如图1的hmd116)所观看到的全向360°场景上渲染点云的指令。处理器210可以包括任何合适的数量和类型的处理器或以任何合适的布置的其他设备。(多个)处理器210的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路。存储器230和永久存储装置235是存储设备215的示例,其表示能够存储和便于信息(诸如数据、程序代码或以临时或永久为基础的其他合适的信息)的检索的任何(多个)结构。存储器230可以表示随机存取存储器或任何其他合适的(多个)易失性或非易失性存储设备。永久存储装置235可以包含支持长期数据存储的一个或多个组件或设备,诸如只读存储器、硬盘驱动器、闪存或光盘。通信接口220支持与其他系统或设备的通信。例如,通信接口220可以包括便于通过图1的网络102进行通信的网络接口卡或无线收发器。通信接口220可以支持通过任何合适的(多个)物理或无线通信链路的通信。i/o单元225允许数据的输入和输出。例如,i/o单元225可以通过键盘、鼠标、小键盘、触摸屏、运动传感器或任何其他合适的输入设备提供用于用户输入的连接。i/o单元225还可以向显示器、打印机或任何其他合适的输出设备发送输出。在某些实施例中,服务器200实施点云的压缩,这将在下面更详细地讨论。在某些实施例中,服务器200生成与点云的三维对应的多个2-d帧。在某些实施例中,服务器200将点云的三维映射成2-d。在某些实施例中,服务器200通过对表示点云的压缩二维帧进行解码来生成压缩比特流。注意,虽然图2被描述为表示图1的服务器104,但是相同或类似的结构可以用于各种客户端设备106-116中的一个或多个。例如,台式计算机106或膝上型计算机112可以具有与图2所示相同或类似的结构。图3示出了根据本公开实施例的电子设备300。图3所示的电子设备300的实施例仅用于说明,并且在不脱离本公开的范围的情况下,可以使用其他实施例。电子设备300可以有各种各样的配置,并且图3不将本公开的范围限制为电子设备的任何特定实施。在某些实施例中,图1的客户端设备106-116中的一个或多个可以包括与电子设备300相同或类似的配置。在某些实施例中,电子设备300是编码器、解码器或这两者。在某些实施例中,电子设备300可用于数据传输、图像或视频压缩、图像或视频解压缩、编码、解码和媒体渲染应用。电子设备300可以是移动通信设备,诸如例如无线终端、台式计算机(类似于图1的台式计算机106)、移动设备(类似于图1的移动设备108)、pda(类似于图1的pda110)、膝上型计算机(类似于图1的膝上型计算机112)、平板电脑(类似于图1的平板计算机114)、头戴式显示器(类似于图1的hmd116)等。如图3所示,电子设备300包括天线305、射频(rf)收发器310、发送(tx)处理电路315、麦克风320和接收(rx)处理电路325。电子设备300还包括扬声器330、一个或多个处理器340、输入/输出(i/o)接口(if)345、输入端350、显示器355和存储器360。存储器360包括操作系统(os)361、一个或多个应用362和点云363。rf收发器310从天线305接收由系统上的另一组件传输的传入rf信号。例如,rf收发器310从网络102(诸如wi-fi、蓝牙、蜂窝、5g、lte、lte-a、wimax或任何其他类型的无线网络)的接入点(诸如基站、wi-fi路由器、蓝牙设备)接收通过蓝牙或wi-fi信号传输的rf信号。rf收发器310可以下变频传入rf信号以生成中频或基带信号。中频或基带信号被发送到rx处理电路325,rx处理电路325通过对基带或中频信号进行滤波、解码或数字化或其组合来生成经处理的基带信号。rx处理电路325将经处理的基带信号传输到扬声器330(诸如针对语音数据)或传输到处理器340用于进一步处理(诸如针对网络浏览数据)。tx处理电路315从麦克风320接收模拟或数字语音数据,或者从处理器340接收其他外发基带数据。外发基带数据可以包括网络数据、电子邮件或交互式视频游戏数据。tx处理电路315对外发基带数据进行编码、多路复用、数字化或其组合,以生成经处理的基带或中频信号。rf收发器310从tx处理电路315接收外发的经处理的基带或中频信号,并将基带或中频信号上变频为经由天线305传输的rf信号。处理器340可以包括一个或多个处理器或其他处理设备,并且执行存储在存储器360中的os361,以便控制电子设备300的总体操作。例如,根据众所周知的原理,处理器340可以通过rf收发器310、rx处理电路325和tx处理电路315控制前向信道信号的接收和逆向信道信号的传输。处理器340还能够执行驻留在存储器360中的其他应用362,诸如解压缩和生成接收到的点云。处理器340可以执行存储在存储器360中的指令。处理器340可以包括任何合适的数量和类型的处理器或以任何合适的布置的其他设备。例如,在某些实施例中,处理器340包括至少一个微处理器或微控制器。处理器340的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路。处理器340还能够执行驻留在存储器360中的其他过程和程序,诸如通过提供图像捕获和处理来接收、存储并且及时指示的操作。处理器340可以根据执行过程的需要将数据移入或移出存储器360。在某些实施例中,处理器340被配置成基于os361或响应于从enb(类似于图1的基站118)或运营商接收的信号来执行多个应用362。处理器340还耦合到i/oif345,该接口345向电子设备300提供连接到其他设备(诸如客户端设备106-116)的能力。i/oif345是这些附件和处理器340之间的通信路径。处理器340也耦合到输入端350。电子设备300的操作者可以使用输入端350向电子设备300键入数据或输入。输入端350可以是键盘、触摸屏、鼠标、轨迹球、语音输入或能够充当用户界面以允许用户与电子设备300交互的任何其他设备。例如,输入端350可以包括语音识别处理,从而允许用户经由麦克风320输入语音命令。对于另一示例,输入端350可以包括触摸面板、(数字)笔传感器、按键或超声波输入设备。触摸面板可以识别例如电容方案、压敏方案、红外线方案或超声波方案中的至少一种方案中的触摸输入。例如,在电容方案中,输入端350可以识别触摸或接近。输入端350还可以包括控制电路。通过向处理器340提供附加的输入,输入端350可以与(多个)传感器365和/或照相机相关联。如下面更详细讨论的,传感器365包括惯性传感器(诸如加速度计、陀螺仪和磁力计)、光学传感器、运动传感器、照相机、压力传感器、心率传感器、高度计等。例如,输入端350可以利用通过与传感器365相关联的运动传感器检测到的运动作为输入。处理器340也耦合到显示器355。显示器355可以是液晶显示器(liquidcrystaldisplay,lcd)、发光二极管(light-emittingdiode,led)显示器、有机发光二极管(organicled,oled)、有源矩阵oled(activematrixoled,amoled),或者能够渲染文本和/或图形(诸如来自网站、视频、游戏、图像等的文本和/或图形)的其他显示器。可以设置显示器355的尺寸以适合在hmd内。显示器355可以是能够创建立体显示的单个显示屏或多个显示屏。在某些实施例中,显示器355是平视显示器(heads-updisplay,hud)。存储器360耦合到处理器340。存储器360的一部分可以包括随机存取存储器(ram),存储器360的另一部分可以包括闪存或其他只读存储器(rom)。存储器360可以包括永久存储装置(未示出),其表示能够存储和便于信息(诸如数据、程序代码和/或以临时或永久为基础的合适的信息)的检索的任何(多个)结构。存储器360可以包含支持数据的长期存储的一个或多个组件或设备,诸如只读存储器、硬盘驱动器、闪存或光盘。点云363可以包括各种3-d点云、3-d网格、3-d对象等。在某些实施例中,点云363可以包括3-d对象的面片在一个或多个2-d帧上的投影。点云363还可以包括能够在显示器355上渲染的一个或多个3-d点云。电子设备300还可以包括一个或多个传感器365,其计量物理量或检测电子设备300的激活状态,并且将计量或检测到的信息转换成电信号。例如,(多个)传感器365可以包括用于触摸输入的一个或多个按钮(位于耳机或电子设备300上)、一个或多个照相机、姿势传感器、眼睛跟踪传感器、陀螺仪或陀螺仪传感器、气压传感器、磁传感器或磁力计、加速度传感器或加速度计、抓握传感器、接近传感器、颜色传感器(诸如红绿蓝(rgb)传感器)、生物物理传感器、温度/湿度传感器、照度传感器,紫外线(uv)传感器、肌电图(electromyography,emg)传感器、脑电图(electroencephalogram,eeg)传感器、心电图(electrocardiogram,ecg)传感器、红外线(ir)传感器、超声波传感器、虹膜传感器、指纹传感器等。(多个)传感器365还可以包括用于控制其中所包括的至少一个传感器的控制电路。如将在下面更详细讨论的,这些传感器365中的一个或多个可以用于控制用户界面(ui)、检测ui输入、针对三维内容显示标识确定朝向和面向用户的方向等。这些传感器365中的任何一个可以位于电子设备300内、可操作地连接到电子设备300的辅助设备内、被配置成保持电子设备300的耳机内,或者在其中电子设备300包括耳机的单一设备中。如下面将更详细讨论的,在该说明性实施例中,电子设备300接收编码且压缩比特流。电子设备300将接收到的比特流解码成多个2-d帧。在某些实施例中,解码的比特流还包括占用图。电子设备300解压缩多个2-d帧。多个2-d帧可以包括指示坐标(诸如点云中的每个点的地理位置)的帧集合。例如,帧可以包括图画描绘,诸如当以2-d表示时点云中的每个几何点的一个或多个面片。另一帧集合可以包括与每个点相关联的纹理(texture),诸如每个点的颜色。电子设备300然后可以以三维重构和渲染点云。如下面将更详细讨论的,在该说明性实施例中,电子设备300可以类似于服务器200,并且对点云进行编码。电子设备300可以生成表示点云的几何形状和纹理的多个2-d帧。点云可以被映射到一个或多个2-d帧。例如,一个帧集合可以包括当以面片描绘时的几何点。在另一示例中,另一帧集合可以包括点云的纹理或颜色或这两者。在某些实施例中,表示2-d帧上的点云的数据可以是结构化的、半结构化的或非结构化的。电子设备300可以识别从原始点云到2-d帧上的投影面片的漏点。如果识别出漏点,则电子设备300可以生成包括漏点的另一面片,并将漏点面片放置在2-d几何形状和纹理帧中。例如,包括几何形状的漏点面片被包括在包括几何形状面片的2-d帧中。类似地,包括纹理属性的漏点面片被包括在包括纹理属性面片的2-d帧中。漏点面片可以按结构化、半结构化或非结构化方式排列。电子设备300可以压缩2-d帧。电子设备300可以生成占用图来指示每个帧内有效像素的位置。电子设备300可以对帧进行编码以生成压缩比特流。尽管图2和图3示出了计算系统中的设备的示例,但是可以对图2和图3进行各种改变。例如,图2和图3中的各种组件可以被组合、进一步细分或省略,并且可以根据特定需要添加附加组件。作为特定示例,处理器340可以被划分成多个处理器,诸如一个或多个中央处理单元(centralprocessingunit,cpu)和一个或多个图形处理单元(graphicsprocessingunit,gpu)。此外,如同计算和通信网络一样,电子设备和服务器可以有各种各样的配置,并且图2和图3不将本公开限于任何特定的电子设备或服务器。图4示出了根据本公开实施例的点云405和示例网格410。点云405描绘了点云的图示。点云是在3-d空间中视觉地定义对象的数字化数据。如所描绘的,点云405包括多个点,类似于地形图,其中每个点表示对象的外部坐标。例如,每个点可以包括一个或多个属性。属性可以包括几何形状,诸如地理位置。每个点的属性还可以包括颜色、强度、纹理、运动、材料属性等。除几何形状之外的属性可以被称为纹理,使得纹理表示与点云中的每个点相关联的各个方面和属性。类似地,网格410描绘了3-d网格的图示。网格410是在3-d空间中视觉地定义对象的数字化数据。网格410的图画描绘由各种点之间的信息的许多多边形或三角形的互连性来定义。每个多边形可以包含各种信息,诸如属性。属性可以包括几何形状和纹理。纹理包括颜色反射度、运动等。例如,拓扑数据提供了顶点之间的连接性信息,诸如顶点、边和面的相邻关系。几何信息提供了每个顶点在3-d空间中的几何位置。属性信息为每个单独的顶点提供法线、颜色和应用相关的信息。每个多边形的顶点类似于点云405中的点。网格410的每个多边形表示对象的外表面。点云(诸如点云405)和网格(诸如网格410)利用大量带宽从一个计算设备传输到另一计算设备。压缩对于减少存储和带宽需求是必要的。例如,有损压缩可以压缩点云和网格,同时将失真保持在可容忍的水平内,同时减小数据的大小。图5示出了根据本公开实施例的解构、传输和重构点云的过程500。过程500是本公开实施例的高级概述。在某些实施例中,过程500可以部分地由图1的服务器104或图1的任何客户端设备106-116来执行,这两者都可以包括类似于图2的服务器200或图3的电子设备300的内部组件。过程500的实施例仅用于说明。在不脱离本公开的范围的情况下,可以使用其他实施例。类似于将在下面更详细地讨论的图6a的编码器600的编码器接收点云502a。点云502a可以类似于图4的点云405。点云502a可以由编码器或诸如电子设备的另一设备生成、创建、接收。根据本公开实施例,电子设备可以包括个人计算机(诸如膝上型电脑、台式电脑)、工作站、服务器、电视机、电器等。电子设备还可以包括被配置成捕获对象以创建点云的一个或多个照相机。可替换地,电子设备可以是一件家具或建筑物/结构的一部分、电子板、电子签名接收设备、投影仪或测量设备中的至少一个。在某些实施例中,电子设备可以是便携式电子设备,诸如便携式通信设备(诸如智能手机或移动电话)、膝上型电脑、平板电脑、电子书阅读器(诸如电子阅读器)、个人数字助理(pda)、便携式多媒体播放器(portablemultimediaplayer,pmp)、mp3播放器、移动医疗设备、虚拟现实耳机、便携式游戏控制台、照相机和可穿戴设备等。电子设备是上面列出的设备中的一个或组合。可替换地,本文公开的电子设备不限于上面列出的设备,并且可以根据技术的发展包括新的电子设备。点云502a可以包括任意数量的单独的点,以创建平滑的虚拟3-d对象。点云502a的每个点包括基于3-d空间中的x、y和z位置的地理坐标。地理坐标可以通过诸如光探测和测距(lightdetectionandranging,lidar)设备、rgbd传感器(诸如kinect、多视图照相机投影仪装备)的深度传感器获得或是计算机生成的。附加地,点云502a中的每个点还包括至少一个纹理属性。纹理属性可以是颜色。单个点的颜色可以由红色(r)值、绿色(g)值和蓝色(b)值的组合形成。r值、g值和b值在下文中被称为rgb值。附加的纹理属性可以包括材料属性、反射度、运动等。由于组成点云502a的多个点(以及与每个点相关联的属性),所以从存储点云502a的服务器或创建点云502a的电子设备传输点云需要大量的带宽。因此,为了高效地将点云502a从第一设备传输到第二设备,点云502a被分解和压缩。点云502a被分解成各种帧510,诸如几何形状帧512和纹理帧514。在某些实施例中,在tmc2下,每个点云被分解成两个几何形状帧和两个纹理帧。几何形状帧512和纹理帧514包括许多面片,诸如分别为面片516a和面片516b。每个面片(诸如面片516a)是通过分割点云502a中的点来生成的。具体而言,点云502a是通过基于法向矢量和平滑度分数对3-d点进行聚类来分割的。聚类点从3-d空间投影到2-d帧。每个投影的聚类被称为面片。如果面片满足一个或多个几何约束(诸如聚类大小、最大深度范围以及它们是否投影到相同2d位置),则面片可以被称为规则面片。规则面片被排序并且被打包成单独的帧,其中每个帧表示属性,诸如几何形状帧512和纹理帧514。当将面片投影到几何形状帧512时,规则面片516a中的点(2-d帧中的像素)的2-d位置加上面片偏移对应于该点在3-d空间中的三个空间坐标中的两个。3d空间中的点的第三个空间坐标被编码为2-d图像中的对应像素的值加上上面片深度偏移。几何形状帧512中的每个像素在纹理帧514中具有对应的像素。在某些实施例中,纹理帧514表示几何形状帧512中的每个对应点的颜色。偏移可以是包含沿x、y和z坐标的不同值的3-d向量。在某些实施例中,生成占用图。占用图指示几何形状帧512中的像素以及对应的纹理帧514是否表示有效的3-d点。占用图可以由编码器无损编码。在解码过程期间,占用图用于检索和重构被包括在至少两个帧510的每一个中的有效点。下面参考图6a和图6b讨论占用图的进一步描述。如果一个或多个点重叠,则由重叠的点表示的各种表面或对象可能会遗漏从3-d空间到2-d帧的投影。因此,当在重构540处重构至少两个帧510时,点云502b将被重构为具有与在投影中被跳过的点对应的洞。例如,由点云表示的3-d对象可能具有重叠的点云的不同部分。如果点云中有多个重叠点,则将点云中的每个点投影到2-d帧上会被中断。当重构点云时,被遮挡然后不被投影的点导致点云中的洞。被点云的外部部分重叠的点云的点可能不会出现在投影上,因为沿着相同几何轴存在的多个点在几何形状帧512中具有相同的2-d像素位置。因此,漏点面片518a和漏点面片518b被生成并且被包括在至少两个帧510中。漏点面片518a(对应于漏点的几何形状)和对应的漏点面片518b(对应于漏点的纹理)。可以通过重构点云(在编码器中基于被包括在至少两个帧510中的投影面片)并将重构的点云与输入的点云502a进行比较以找到一个或多个漏点来生成漏点面片518a和漏点面片518b。在某些实施例中,可以使用k-d树最近邻搜索(k-dtreenearestneighborhoodsearch)来检测漏点。当找到漏点时,漏点被分组在一起以形成一个或多个漏点面片。具体而言,几何坐标用于生成漏点面片518a,并且与每个点相关联的纹理用于生成漏点面片518b。在某些实施例中,漏点面片是非结构化的,如漏点面片518a和518b所描绘的。当生成帧时,视频编解码器520压缩帧以生成编码比特流525。视频编解码器520可以是hevc、avc、vp9、vp8jvet等。编码比特流525从编码器传输到解码器。解码器可以是用户设备,诸如图1的hmd116。编码比特流525由视频编解码器530解压缩,以生成解码比特流535。此后,重构540重构并渲染点云502b。点云502b是点云502a在不同设备上的重构表示。在有损编码下,点云502a和502b在视觉上类似,但并不相同。在无损编码下,点云502a和502b是相同的。例如,点云502a由生成并传输编码比特流的编码器接收,并且点云502b是在解码器处被接收、重构并且被渲染以供用户观看的点云502a。图6a示出了根据本公开实施例的编码器600的示例框图。图6b示出了根据本公开实施例的解码器650的示例框图。编码器600可以类似于图1的服务器104、图1的任何客户端设备106-116,并且包括类似于图2的服务器200和图3的电子设备300的内部组件。解码器650可以类似于图1的客户端设备106-116中的任何一个,并且包括类似于图3的电子设备300的内部组件。编码器600可以经由网络102与解码器650通信。编码器600和解码器650的实施例仅用于说明。在不脱离本公开的范围的情况下,可以使用其他实施例。类似于图5的编码比特流525,编码器600可以对点云、网格或这两者进行压缩、编码,并且将其作为编码比特流来传输。在某些实施例中,编码器600生成多个2-d帧,其中点云或网格被映射或投影到其上。例如,点云被展开并被映射到多个2-d帧上。例如,点云可以沿一个轴(诸如y轴)展开,并且图像沿其余轴(诸如x轴和z轴)映射。在某些实施例中,编码器600生成占用图(诸如占用图622),其指示当点云被映射到2-d帧上时点云的每个像素所处位置。例如,占用图指示每个帧的有效点和无效点。无效点是与点云的点不对应的帧的位置,而有效点是与3-d点云的点对应的帧的位置。在某些实施例中,编码器600是网络服务器、诸如管理服务器的服务器计算机或者能够将点云的三维映射成二维、压缩帧以及编码图像以供传输的任何其他电子计算系统。在某些实施例中,编码器600可以是由一个或多个网络互连的计算机的“云”,其中每个计算机是利用集群的计算机和组件以在通过图1的网络102被访问时充当无缝资源的单个池的计算系统。解码器650可以解码、解压缩,并且生成包括点云、网格或这两者的表示的接收的编码比特流(诸如图5的编码比特流525)。在某些实施例中,解码器650根据包括多个2-d帧的接收到的比特流生成多个点云。例如,点云中的像素中的每一个可以基于在2-d帧中接收到的信息和接收到的占用图来映射。编码器600示出了对点云进行编码和压缩以供传输的电子设备的本公开实施例的高级概述。在某些实施例中,编码器600将点云打包以便通过比特流传输到一个或多个解码器(诸如解码器650)。编码器600包括接收到的点云602、面片生成器604、辅助面片信息606、漏点面片610、帧打包612、各种帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)、占用图622、各种编码器(诸如编码器616和编码器620)以及多路复用器624。点云602表示到编码器600中的输入。点云602可以存储在与编码器600相关联的存储器中。面片生成器604分解点云602并创建多个面片。面片可以按属性组织。例如,属性可以包括几何形状和纹理。几何形状是点云602的每个点的地理位置。纹理表示点云602的每个点的各种方面,诸如颜色、强度、法线、反射等。面片生成器604对几何形状属性和纹理属性进行聚类。聚类可以基于诸如法线方向、到投影帧的距离、邻近关系等标准。每个生成的聚类被表示为面片,如上面关于图5的至少两个帧510所描述的。在某些实施例中,面片生成器604经由一对一映射将点云的点投影并映射到2-d帧上。在某些实施例中,面片生成器604通过将点投影到不同的平面上来将点云的点投影并且映射到2-d帧上。在某些实施例中,将点云的点投影和映射到2-d帧上可以基于栅格扫描映射、基于x几何坐标的映射、基于y几何坐标的映射、基于z几何坐标的映射、基于颜色的映射、基于法线方向的映射等。在某些实施例中,在将点云的点投影并映射到2-d帧上之后,点可以被排序并被打包在2-d帧中以增加编码效率。帧打包612将点排序并打包在面片内。在某些实施例中,编码器600还可以包括将相邻点和包括空间相关数据的点放置成彼此相邻的排序引擎(未示出)。面片生成器604还生成辅助面片信息606。辅助面片信息606是与每个生成的面片相关联的信息。在某些实施例中,辅助面片信息606是关于面片的元数据。例如,每个面片都具有与其相关联的辅助信息,诸如(i)空间位置偏移,(ii)深度偏移,(iii)面片在视频帧中的位置,(iv)面片的大小(诸如面片的高度和宽度),(v)投影平面的索引等。解码器(诸如解码器650)使用辅助面片信息606来重构点云。在某些实施例中,在无损编码期间,如果不使用漏点面片,则面片生成器604可以生成大量小面片。大量面片增加了辅助面片信息606中的信息。辅助面片信息606中增加的信息会对视频编码效率产生不利影响,从而影响点云压缩的性能。在某些实施例中,辅助面片信息606包括标志608。在某些实施例中,省略了标志608。标志608可以指示打包在各种帧(例如一个或多个几何形状帧614和一个或多个纹理帧618)内的漏点面片610的存在。例如,如果面片生成器604生成漏点面片610,则辅助面片信息606中的标志608向解码器(诸如解码器650)指示与漏点面片610相关联的信息。在某些实施例中,标志608指示无损编码。例如,在无损编码的情况下,帧中的每一个中都包含漏点面片。辅助面片信息606、标志608或这两者可以包括与漏点面片610相关联的信息。例如,该信息可以包括(i)帧(诸如几何形状帧614中的一个)内的漏点面片的位置,(ii)漏点面片的尺寸或大小位置,(iii)漏点面片中包括的漏点的数量等。在某些实施例中,与漏点面片610相关联的信息被添加在辅助面片信息606中包括的规则面片的面片信息列表的末尾(或开头)。例如,包括在辅助面片信息606中的面片信息列表中的位置(诸如结尾或开头)用于识别对应于漏点面片610的信息。在某些实施例中,面片生成器604可以生成漏点面片610。漏点面片610可以表示3-d点云的附加点的面片。注意,如本文使用的,漏点面片610可以被称为附加点面片,因为漏点面片610可以包括以下两者:(i)当3-d点云被投影到2-d帧上时被遗漏的点,或者(ii)属于点云中的一个或多个感兴趣区域的点。此外,这些附加点可以被包括在漏点面片中,以便于使用与规则面片不同的质量对这些点进行编码。漏点面片610可以包括3-d点云的重叠点。例如,将(i)根据在3-d到2-d投影之后的规则面片(诸如一个或多个几何形状帧614或一个或多个纹理帧618或这两者)中的点生成的新点云与(ii)输入的点云602进行比较来创建漏点面片610。这种比较可以使用k-d树最近邻搜索。漏点被分组在一起以形成漏点面片。漏点面片610表示点云602的多个漏点。漏点面片是针对被遗漏的点的每个聚类生成的。可替换地,漏点面片可以将被遗漏的每个点包括在单个面片中。可替换地,对于点的每个聚类,创建对应于每个属性(诸如每个点的地理位置以及与每个点相关联的各种纹理)的面片。漏点面片610,诸如附加点面片,可以表示感兴趣的区域。例如,漏点面片610可以包括属于点云的突出(salient)或重要部分的点。点云的突出或重要部分可以由点云的创建者来识别。点云的示例部分可以是人型点云中的眼睛、鼻子或嘴巴。漏点面片610,诸如附加点面片,可以表示颜色度量或几何度量。颜色度量可以基于颜色的均匀度。几何度量可以基于与3-d点云的某一区域的接近度。漏点面片610,诸如附加点面片,可以表示一个或多个漏点。如果点不满足与将3-d点云投影到2-d帧相关联的标准,则可能会被遗漏。例如,如果一个或多个点与点云的主要部分隔离,即使隔离点不与点云本身的任何部分重叠,隔离点也可能会被遗漏。在某些实施例中,对漏点面片中的漏点进行排列和存储取决于帧格式。在某些实施例中,编码器600存储漏点面片610的残差值而不是原始值。也就是说,编码器600存储漏点面片610中的残差值而不是原始坐标值,这可以增加压缩效率。代替存储漏点的坐标值,根据漏点的几何值的一些形式的差分编码获得的残差被存储在漏点面片610内。例如,在漏点面片610中存储表示漏点的第一差(dpcm)值,这可以提高漏点面片的压缩效率。在某些实施例中,残差是通过获取漏点面片610中的值的按样本差来获得的。注意,漏点的原始值在解码器(诸如解码器650)处被重构。帧打包612将面片排序并打包成一个或多个几何形状帧614和一个或多个纹理帧618。对应于由面片生成器604生成的面片的几何形状和纹理信息被打包到单独的视频帧中,诸如一个或多个几何形状帧614和一个或多个纹理帧618。在某些实施例中,帧打包612创建一个或多个几何形状帧614和一个或多个纹理帧618。帧打包612还基于面片如何布置和打包成帧来确定帧的高度和宽度。规则面片被布置成占据帧中的最小空间。也就是说,帧的大小是基于帧内每个面片的位置来确定的。因此,帧是基于在帧内如何对面片定向和定位的最小的可能尺寸。在帧(诸如一个或多个几何形状帧614)中布置了正常的面片之后,基于(i)漏点的数量,(ii)视频帧的尺寸,(iii)视频帧的占用,(iv)帧格式等来确定漏点面片610(对应于几何形状)的位置和尺寸。在某些实施例中,几何形状帧614的尺寸(诸如高度、宽度或这两者)可以增加以容纳比打包规则面片之后帧中的可用空间更大的漏点面片610。漏点面片610(对应于几何形状)然后被打包在一个或多个几何形状帧614中。一个或多个纹理帧618分别类似于一个或多个几何形状帧614的组织而被组织。在某些实施例中,一个或多个纹理帧618在几何形状帧614之前生成。在某些实施例中,帧(诸如几何形状帧614)内漏点面片610的布置和位置取决于帧格式。例如,如果几何形状帧614是基于4:4:4格式,则漏点的x、y和z坐标分别直接存储在y、cb和cr通道中。下面描述的图8a示出了存储在y、cb和cr通道中的x、y和z坐标。在另一示例中,如果几何形状帧614是基于4:2:0格式,则漏点的x、y和z坐标与x值分组在一起,之后是y值,之后是z值,并且被存储在y通道中。下面描述的图8b示出了漏点的x、y和z坐标被分组在一起并且被存储在y通道中。在某些实施例中,4:2:0格式用于有损点云压缩的纹理视频。在某些实施例中,4:4:4格式用于无损点云压缩的纹理视频。帧打包612还创建占用图622。占用图指示包含被投影或被映射到相应帧上的点云的有效点的帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)中的像素位置。例如,占用图622指示每个帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)上的每个像素是有效像素还是空白。占用图上的有效像素指示对应于点云中的3-d点的2-d帧上对像素。在某些实施例中,占用图622对于每个帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)可以是相同的。在某些实施例中,占用图622表示多个占用图,其中每个占用图对应于一个帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)。占用图622可以被包括在另一帧中,类似于一个或多个几何形状帧614或一个或多个纹理帧618的占用图。在某些实施例中,占用图622可以作为元数据作为单独的比特流来传输。一个或多个几何形状帧614和一个或多个纹理帧618分别经由编码器616和编码器620编码。在某些实施例中,辅助面片信息606、占用图622或这两者也被编码。此后,辅助面片信息606、编码的一个或多个几何形状帧614和编码的一个或多个纹理帧618和占用图622经由多路复用器624被多路复用。多路复用器624组合辅助面片信息606、编码的一个或多个几何形状帧614、编码的一个或多个纹理帧618和占用图622,以创建单个编码比特流626。在某些实施例中,对一个或多个几何形状帧614进行编码的编码器616、对一个或多个纹理帧618进行编码的编码器620或这两者都可以被配置成支持8比特、10比特、12比特、14比特或16比特精度的数据。在某些实施例中,编码器616和编码器620是相同的组件,使得一个或多个几何形状帧614和一个或多个纹理帧618被相同的编码器编码。在某些实施例中,漏点面片被打包在视频帧的规则面片旁边。例如,表示漏点面片的几何形状的数据被打包到几何形状帧中,并且表示纹理的数据被打包到对应的纹理帧中。在某些实施例中,漏点面片在比特流中被直接复用。将漏点面片直接复用到比特流中被称为直接复用。也就是说,不是将漏点嵌入到视频帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)中,而是使用视频编解码器(诸如编码器616和620)来压缩漏点。这些点的坐标值被压缩并被直接复用到比特流中。压缩坐标值可以使用霍夫曼编码、算术编码、基于dpcm的技术等来执行。注意到,在解码器(诸如图6b的解码器650)处,比特流被解压缩,并且漏点与规则点一起被重构。下面更详细讨论地,图8d示出了被复用到比特流中的漏点。例如,多路复用器624将编码的一个或多个几何形状帧614、编码的一个或多个纹理帧618和漏点面片多路复用。多路复用器624还可以将编码的一个或多个几何形状帧614、编码的一个或多个纹理帧618、漏点面片、占用图622和辅助面片信息606多路复用。在某些实施例中,漏点面片610被编码在辅助面片信息606中。编码器616和620可以包括有损点云压缩或无损点云压缩。如果使用有损点云,则占用图622被包括在比特流中并被传输到解码器(诸如解码器650)。解码器使用占用图622识别每个帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)中的有效点。如果使用无损压缩来压缩帧(诸如一个或多个几何形状帧614),则解码器650可以直接从一个或多个几何形状帧614中导出有效点。例如,解码器650可以以与占用图622类似的方式使用一个或多个几何形状帧614。结果,可以从比特流中排除占用图622,以提高压缩率。为了从比特流中去除占用图622,复用器624不将占用图622与(来自编码器616的)编码的一个或多个几何形状帧614、(来自编码器620的)编码的一个或多个纹理帧618和辅助面片信息606复用。可以利用边界框来指示视频帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)内漏点面片610的位置。例如,坐标(u0,v0)可以指示包含漏点面片610的边界框的左上角坐标。类似地,坐标(u1,v1)可以指示包含漏点面片610的边界框的右下角坐标。在另一示例中,2-d边界框的坐标被编码为(u0,v0)和(w,h),其中w是边界框的宽度,h是边界框的高度。也就是说,在(u0,v0)和(u1,v1)可以指示边界框的左上角和右下角坐标以描述边界框的位置的同时,(u0,v0)和(w,h)描述起始坐标并提供边界框的高度和宽度。在某些实施例中,(多个)漏点面片的边界框的位置连同尺寸一起以每帧为基础被发送到解码器。漏点的边界框可以被包括在辅助面片信息606中。当解码器(诸如下面在图6b中更详细地描述的解码器650)接收到几何形状帧和纹理帧时,基于(被包括在辅助面片信息606中)漏点面片的位置和大小(诸如宽度和高度)的信息以及占用图,从相应帧中的漏点面片中检索x、y和z坐标以及纹理信息。在某些实施例中,如果漏点的数量和边界框信息在辅助面片信息606内从编码器传输到解码器,则占用图不检索漏点。解码器650示出了对用于渲染的点云进行解码和重构的电子设备的本公开实施例的高级概述。在某些实施例中,解码器从比特流626中提取压缩的几何形状和属性。在某些实施例中,解码器650映射几何形状和属性以生成点云602。解码器650包括解复用器662、解码引擎672和重构引擎674。在某些实施例中,解码器650包括两个或更多个解码引擎672。为了重构3-d点云,解码器使用各种视频帧(诸如一个或多个几何形状帧614和一个或多个纹理帧618)的面片内的信息、面片元数据(诸如被包括在辅助面片信息606中的面片元数据)以及占用图622。解码器650接收源自编码器600的编码比特流626。一旦接收到编码比特流626,解复用器662就从编码比特流626中分离各种数据流。例如,解复用器662分离各种数据流,诸如几何形状帧信息664(最初是图6a的一个或多个几何形状帧614)、纹理帧信息666(最初是图6a的一个或多个纹理帧618)、占据图信息668(最初是图6a的占据图622)和辅助面片信息670(最初是图6a的辅助面片信息606)。例如,解复用器662将编码比特流626解复用为点云几何形状(例如来自一个或多个几何形状帧614的几何形状帧信息664)、颜色(诸如来自一个或多个纹理帧618的纹理帧信息666)、属性(诸如来自一个或多个纹理帧618的纹理帧信息666)、占用图(诸如占用图信息668)和元数据的分离的压缩比特流。经由解码引擎672解码几何形状的比特流和颜色的比特流,以生成几何形状和颜色的2-d视频帧。在某些实施例中,解码引擎672解码几何形状帧信息664和纹理帧信息666,以生成对应的2-d帧,即图6a的一个或多个几何形状帧614和一个或多个纹理帧618的2-d帧。在某些实施例中,各种比特流或数据流(诸如几何形状帧信息664、纹理帧信息666、占用图信息668和辅助面片信息670)中的每一个都在被解码引擎672解码后被传输。在某些实施例中,类似于解码引擎672的分离的并行的解码引擎可以处理每个接收到的流。如果各种数据流的一部分(诸如几何形状帧信息664)被编码,则几何形状帧信息664被解码引擎672解码。占用图信息668指示2-d帧内的有效像素位置以重构点云602。解码引擎672解压缩各种数据流。在某些实施例中,解码引擎672可以是无损的或有损的。在某些实施例中,解码引擎672可以根据有损或无损编码的比特流重构信号。在某些实施例中,漏点的识别和漏点面片的生成被用于无损压缩。重构引擎674基于从解复用器662或解码引擎672接收的数据重构3-d点云。从解码的辅助面片信息670中检索规则面片的位置和尺寸。例如,通过将(来自解码的辅助面片信息670的)面片偏移添加到视频中的点的空间位置并且将面片的深度偏移添加到空间位置处的像素值,根据规则面片重构点。重构引擎674可以基于有损或无损编码来重构点云。在某些实施例中,重构引擎674检测标志608是否被包括在辅助面片信息670中。标志608指示漏点面片是否被包括在帧中(诸如几何形状帧信息664)、直接复用等。在某些实施例中,辅助面片信息670还可以包括“patch_direct_coding”,其可以指示关于漏点面片的信息或者其是诸如用于指示面片是否包含直接编码的点云数据的1或0的二进制值。例如,“patch_direct_coding”可以指示漏点面片610是否是与其它面片信息一起传输的直接编码信息,即直接复用的信息。在另一示例中“,patch_direct_coding”可以不是二进制的,并且可以指示(i)投影平面的索引、(ii)关于2-d边界框的信息、(iii)漏点面片610的3-d位置。基于2-d视频帧的格式,重构引擎674改变其重构点云的方式。例如,如果几何形状视频格式(基于几何形状帧信息664)是4:4:4,则直接从三个颜色通道中的面片中检索坐标值。可以根据漏点面片的解码辅助面片信息来定位面片。在某些实施例中,漏点面片的辅助面片信息670从通过其定位(诸如最后的定位)来识别的辅助面片信息670的列表中检索。在另一示例中,如果几何形状视频格式(基于几何形状帧信息664)是4:2:0,则重构引擎674首先识别被包括在漏点面片中的漏点的数量(诸如,数目)。此后,重构引擎674从y通道检索坐标值。在某些实施例中,在解码器650处借助于对应于漏点面片的占用图信息668来确定漏点的数量。在某些实施例中,关于漏点数量的信息被存储在漏点面片的辅助面片信息670中,并在解码器650处被检索。下面提供了示例语法来说明重构点云。在下面的示例语法中,np是解码点的运行计数器。该语法用于被包含在帧中的所有面片。[语法1]语法1示出了由解码器(诸如解码器650)重构点云。术语“projection_plane_index’”表示投影平面的索引。坐标“(u0,v0,u1,v1)”描述包含面片的2-d边界框的坐标。坐标“(x0,y0,z1)”表示面片的3-d位置。术语“occupancy_map”是占有图。“image_geo”是解码的几何形状视频帧。“image_color”是解码后的颜色视频帧。“point”是输出的点云。下面提供了示例语法来说明重构包括上述“patch_direct_coding”的点云。在下面的示例语法中,np是解码点的运行计数器。该语法用于被包括在帧中的所有面片。[语法2]在上面的示例中,语法2示出了由解码器(诸如解码器650)重构点云。具体地,如果变量“patch_direct_coding”被设置为零,则漏点patch610不被直接编码到比特流中,并且使用语法1。与语法1类似,术语“projection_plane_index”表示投影平面的索引。坐标“(u0,v0,u1,v1)”描述包含面片的2-d边界框的坐标。坐标“(x0,y0,z1)”表示面片的3-d位置。术语“occupancy_map”是占有图。“image_geo”是解码的几何视频帧。“image_color”是解码的颜色视频帧。“point”是输出的点云。在某些实施例中,图6a的编码器600在点云的不同属性之间分配比特。编码器600可以包括比特分配引擎(未示出)和决策引擎(未示出)。例如,编码器600的面片生成器604可以生成元数据。元数据从面片生成器604传输到多路复用器624。多路复用器624然后将元数据多路复用到然后被传输到解码器650的压缩比特流中。比特分配引擎为点云的特殊方面分配重要性因子。例如,如果点云是人,则面部和手部被分配比点云的其他部分更高的重要性值。根据点云的特性,点云的各种特征或元素可以被分配更高的重要性值。决策引擎是作为编码器600的一部分的闭环决策元件。决策引擎评估误差、间隙、洞等。例如,当点云被面片生成器604投影时,决策引擎修改投影、映射和其他参数,以便最小化误差、间隙、洞等的存在。基于分配引擎和决策引擎生成元数据。元数据可以描述保护和映射的类型。元数据还可以描述当生成规则面片和漏点面片时使用的排序、打包和填充的类型。生成的元数据由多路复用器624多路复用,并在压缩比特流626内传输到解码器650。解码器650接收压缩比特流626,并且解多路复用器662从几何形状帧信息664、纹理帧信息666、占用图信息668和辅助面片信息670中分离元数据。重构引擎674接收元数据。元数据用于从各种2-d帧生成3-d点云。图7a、图7b、图7c和图7d示出了根据本公开实施例的示例3-d点云和表示3-d点云的包括漏点面片的2-d帧。具体而言,图7a示出了点云710,图7b、图7c和图7d示出了包括规则面片和漏点面片的2-d帧。图7a、图7b、图7c和图7d的实施例仅用于说明,并且在不脱离本公开范围的情况下,可以使用其他实施例。点云710类似于图4的点云405、图4的网格410、图5的点云502a和502b、图6a和图6b的点云602。点云710是3-d空间中的数据点集合。3-d点云的每个点包括(i)提供3-d点云的结构的几何定位和(ii)提供关于每个点的信息的一个或多个纹理,诸如颜色、反射度、材料等。图7b、图7c和图7d分别示出了2-d帧720、730和740。帧720描绘了表示点云710的纹理的规则面片(诸如面片722)。帧730描绘了表示点云710的深度值的规则面片(诸如面片732)。帧720和730可以类似于图6a的一个或多个纹理帧618和一个或多个几何形状帧614。帧720和帧730还分别包括漏点面片724和734。漏点面片724和734包括点云710的包括集中在一起难以投影的点的重叠点,以形成从3-d到2-d投影获得的规则面片之外的分离的和附加面片(分别诸如722和723)。在某些实施例中,由重叠且难以投影到块中的点组成的漏点面片具有用于基于块的视频编解码器的预定大小。在某些实施例中,漏点面片724和734可以包括设置为1的“patch_direct_coding”变量。图7d示出了规则面片742和漏点面片744。帧740的规则面片742表示与点云710不同的点云。帧740可以类似于图6a的一个或多个几何形状帧614或一个或多个纹理帧618。即使帧740表示与帧720和730不同的点云,帧740也示出了漏点面片(诸如漏点面片744)的另一放置位置。一般地,漏点面片(诸如漏点面片724、734和744)被打包到视频帧(诸如帧720、730和740)中,其中每个帧可以表示几何形状、纹理和任何其他属性。漏点面片724和734的位置定位于帧内的位置。漏点面片744的位置定位于帧740的另一边缘。在另一示例中,漏点面片可以相对于视频帧中的规则面片被放置在帧中,诸如定位于(i)帧的左侧、(ii)帧的右侧、(iii)帧的顶部、(iv)帧的底部、(v)帧的中间(在不与规则面片中的任何一个重叠的位置)以及(vi)本领域技术人员已知的其他位置。下面提供了示例语法来说明确定漏点面片在帧内的位置。规则面片被投影到帧上。对应的占用图说明了被包括在帧中的像素的有效位置。此后,占用图和视频帧可以被划分成预定大小(诸如“occupancyresolutionxoccupancyresolution”)的正方形网格,以帮助分别在视频帧和占用图内放置面片和有效点指示符。下面的语法包括这样的假设,即规则面片被打包到视频帧中(诸如通过图6a的帧打包612进行打包),并且占用图指示规则面片的有效点的位置。[语法3]在某些实施例中,漏点面片(诸如漏点面片724)的位置和大小被添加到帧内预先确定的定位。漏点面片在帧内的位置可以添加到被发送到解码器的面片信息列表中的第一定位或最后定位。解码器(诸如解码器650)知道漏点面片在面片信息列表内的定位(使得漏点面片处于面片信息列表内的最后定位或第一定位),当解码器重构点云时,将点从漏点面片恢复到点云内的点原始定位中的每一个。图8a、图8b、图8c和图8d示出了根据本公开实施例的示例嵌入漏点面片。图8a、图8b和图8c示出了帧内漏点的不同布置。图8d示出了将漏点面片直接复用到比特流中,该比特流从编码器(诸如编码器600)传输到解码器(诸如解码器650)。图8a、图8b、图8c和图8d的实施例仅用于说明。在不脱离本公开范围的情况下,可以使用其他实施例。图8a示出了三个帧,帧810a、820a和830a。图8b示出了三个帧,帧810b、820b和830b。图8c也示出了三个帧,帧810c、820c和830c。图8a示出了漏点面片中的漏点可以如何存储在4:4:4格式的三个色帧中的示例。三个色帧可以是分别对应于帧810a、820a和830a的y、cb和cr。也就是说,x坐标存储在帧810a中,y坐标存储在帧820a中,以及z坐标存储在帧830a中。注意到,虽然漏点面片直接将坐标存储到三个平面(帧810a、820a和830a的平面)中,但规则面片(诸如图7d的规则面片742)仅存储深度值。被包括在规则面片中的点的另外两个坐标是从规则面片内的每个点的位置和任何面片偏移推导出来的。图8b示出了漏点面片中的漏点可以如何存储在4:2:0格式的三个色帧中的示例。漏点面片嵌入在亮度平面(诸如帧810b)中。编码器(诸如图6a的编码器600)可以对漏点面片中的每个点的x坐标、y坐标和z坐标进行编码,漏点面片可以被布置和存储为单个面片。此后,解码器(诸如图6b的解码器650)可以根据漏点面片中漏点的数量的知识进行解码和重构。在某些实施例中,编码器将所有的x、y和z坐标一起存储在单个亮度平面中的单个漏点面片中,如图8b所示。解码器基于(i)在帧中的面片位置、(ii)面片的尺寸和(iii)存储在面片中的漏点的总数从面片中检索x、y和z坐标。信息(i)位置、(ii)大小和(iii)点的数量可以在比特流中作为辅助面片信息(诸如辅助面片信息606和辅助面片信息670)从编码器发送到解码器。在某些实施例中,被包括在漏点面片中的点的数量可以由解码器导出,而不是从编码器传输。例如,解码器可以通过经由与漏点面片相关联的占用图对有效点的总数求和来导出漏点的数量。图8c示出了存储漏点面片的另一示例。漏点面片中每个点的x坐标、y坐标和z坐标可以作为三个分离的面片存储在帧810c中。下面提供了示例语法来说明将漏点面片嵌入在4:2:0和4:4:4视频帧格式的视频帧中。[语法4]图8d示出了将漏点面片直接复用到比特流中。帧840包括几何形状点云视频比特流、颜色点云视频比特流和漏点面片。漏点面片包括x、y、z、r、g、b、几何形状和纹理。下一帧845还包括几何形状pc视频比特流、颜色pc视频比特流和漏点面片。漏点面片包括x、y、z、r、g、b、几何形状和纹理。漏点坐标值和纹理值被直接复用到比特流中。熵编码(诸如霍夫曼编码、算术编码、基于dpcm的编码等)可用于对导向到比特流的几何形状、属性或这两者的点进行编码。下面提供了示例语法来说明恢复4:2:0或4:4:4视频帧格式的视频帧中的漏点面片。如果格式是4:4:4,则漏点面片中的点被存储在三个颜色平面中,如图8a所示。如果格式是4:2:0,则漏点面片中的点被存储在单个面片和单个视频帧中,如图8b所示。[语法5]在上面的示例中,语法5示出基于帧本身的格式恢复漏点面片。语法5是无损点云压缩。在某些实施例中,混合投影用于生成漏点面片。例如,当通过将3-d点云投影到2-d帧中来生成规则面片时,最初遗漏的点被检测并被分组到漏点面片中。为了对漏点进行分组,可以从被包括在规则面片中的点构造第二点云。将原始点云的每个点与第二点云进行比较。如果点在第二点云中被遗漏,则原始点云中的对应点就是漏点。然后收集每个漏点以形成漏点面片。如上所述,漏点面片存储漏点。在某些实施例中,可以存储残差,而不是将来自漏点面片的x、y和z坐标值存储到视频帧中(要么存储在所有三个通道中,要么存储在单个通道中(诸如与图8b相比的图8a))。如上所述,残差可以是x、y和z坐标值的差。由于残差信号的动态范围和最大值低于原始坐标值,所以无损性能得以增加。残差可以通过从原始信号中减去预测信号来获得。在一个示例性实施例中,预测信号是原始信号的样本平移(sample-shifted)版本。下面的语法示出残差生成和信号重构的过程。例如,x是以水平布置方式包含一个接一个堆叠的原始坐标值的一维数组。[语法6]在某些实施例中,如果视频帧的比特深度超过存储残差值的动态范围所需的比特深度,则残差值被直接存储在视频帧中。例如,如果残差在[-512,511]的范围内,并且视频帧的比特深度是10比特,则残差可以直接存储在10比特视频帧中,使得9比特存储值,1比特存储符号。在另一示例中,如果视频帧的比特深度不能存储残差的符号和最大值两者,则只有绝对值被存储在帧中。关于负残差的位置的信息可以存储在占用图(诸如占用图622)中的对应位置。符号可以经由行程(run-length)编码、算术编码等被编码在占用图622中。下面的语法说明了根据占用图622的残差符号的重构。[语法7]在上面的语法中,“s”是从原始信号生成的信号。‘n’是漏点的数量。为了重构原始信号x_rec,在解码器处,残差信号的绝对值、符号信号被传输到解码器。在某些实施例中,原始比特用于表示直接嵌入比特流并与占用图622分开发送的符号。例如,符号可以被直接嵌入到比特流中,而不是在占用图622中存储符号信号。在某些实施例中,通过存储偏置值(也称为偏移值)而不是原始值,减少了存储在漏点面片中的值的动态范围。例如,偏置值可以包括x-x_min、y-y_min、z-z_min,并且原始值为x、y和z。其中,x_min是所有x坐标值的最小值,y_min是所有y坐标值的最小值,以及z_min是所有z坐标值的最小值。偏置值x_min、y_min和z_min可以在编码比特流中作为每帧的批信息从编码器600发送到解码器650。如上所述,类似于图4的点云405、图4的网格410、图5的点云502a和502b、图6a和图6b的点云602、图7的点云710的点云使用大量带宽用于传输。因此,当点云被传输时,点云被压缩以增加效率。当三维的点云被投影到2-d帧上时,投影的结果会根据点云的每个点在2-d帧上的放置顺序而变化。点的变化的布置和顺序会影响点云的性能,诸如点云的压缩、点云的传输和点云的重构。为了进一步改善点云的压缩、传输和重构,对输入点进行重新排列可以增加点云的性能。例如,面片(诸如规则面片或漏点面片)内的每个点的顺序可能影响编码器600、解码器650的性能以及它们之间的传输。例如,基于多个规则面片和一个或多个漏点面片,将3-d点云投影到2-d帧上可以根据点云的点在每个帧中存储的顺序而变化。存储的点的排序可能直接影响编码器600和解码器650的性能。例如,为了重新排列输入点而对点进行排序可能直接影响编码器600和解码器650两者的性能。对点进行排序也可以增加2-d帧的平滑度。根据投影方法,点云可以以(i)结构化顺序、(ii)非结构化顺序或(iii)半结构化顺序投影到2-d视频帧上。在结构化顺序中,投影的2-d帧中的所有面片都保留点云的结构。在非结构化顺序中,投影的2-d帧中没有一个面片保留点云的结构。在半结构化顺序中,一些面片保留了点云的结构而另一些不保留。例如,规则面片可以保留点云的结构,而漏点面片可以不保留。可以通过基于一些排序机制(诸如点之间的最小距离排序顺序、k-d树排序顺序、深度优先搜索(dfs)排序顺序或宽度优先搜索(bfs)排序顺序)对非结构化面片中的点进行重新排列来增加非结构化或半结构化投影方法的性能。排序(sorting)可以确保当3-d点云被投影到二维帧上时,点云中与另一点在一定距离内的点彼此更靠近。接近度度量可以基于不同的因素(诸如几何距离、颜色类似度等)对投影的点进行排序。几何距离可以是3-d空间中的点之间的距离。颜色类似度可以对类似的颜色进行分组。颜色类似度也可以对类似的颜色强度的点进行分组。可以基于属性中的一个或多个属性或查找表对点进行排序。例如,基于一个属性的排序然后可以对其他属性应用相同的排列。例如,可以使用几何属性对点进行排列以找到最佳顺序,然后将相同的顺序应用于其他属性(诸如颜色)。在另一示例中,基于两个或更多个属性(诸如几何形状和颜色)的排序可以将相同的排列应用于任何其他属性。在另一示例中,可以生成查找表来将属性与特定的排序顺序匹配。以非最佳顺序投影点可以以非结构化方式存储点云的每个属性。例如,属性值可以经由栅格扫描如创建的按行或按列的顺序依次添加到2-d帧上的矩形区域。图9示出了根据本公开实施例的示例栅格扫描映射。根据图9的栅格扫描的实施例仅用于说明,并且在不脱离本公开范围的情况下,可以使用其他实施例。图9示出了点云902、几何形状(x,y,z)帧904和色(rgb)帧906。点云902可以类似于图4的点云405、图4的网格410、图5的点云502a和502b、图6a和图6b的点云602、图7的点云710。几何形状帧904是使用栅格扫描进行的点云902的每个x、y和z坐标从3-d空间到2-d平面的映射。色帧906是使用栅格扫描进行的点云902的每个r、g和b颜色坐标从3-d空间到2-d平面的映射。在栅格扫描方法中,按照点存储在点云902中的顺序从点云902中读取点。然后,输入点的每个属性被逐条线地映射到对应的2-d帧。几何形状帧904以按行的栅格扫描顺序依次示出了存储在2-d帧的一个颜色通道中的点云的x、y和z几何形状值中的每一个。类似地,点云的r、g和b颜色值中的每一个以栅格扫描顺序依次存储在另一视频帧的一个颜色通道中。注意到,在该排序方法中,面片(诸如图7b的面片722)是不可识别的。图10示出了根据本公开实施例的具有结构化部分和非结构化部分的示例投影。根据图10的栅格扫描的实施例仅用于说明,在不脱离本公开的范围的情况下,可以使用其他实施例。图10示出了几何形状帧1002和纹理帧1004。几何形状帧1002类似于图7c的帧730,描绘了表示点云的深度值的规则面片。例如,面片732类似于面片1010b。类似地,纹理帧1004类似于图7b的帧720,描绘了表示点云的纹理的规则面片。例如,面片722类似于面片1010a。几何形状帧1002和纹理帧1004中描绘的面片(诸如面片1010a和1010b以及其他面片)是结构化形式。几何形状帧1002和纹理帧1004的非结构化投影1012a和1012b分别表示存储在由栅格扫描创建的每个相应帧的矩形区域中的点的一部分。非结构化投影1012a和1012b丢失了它们的结构化信息。以非结构化形式对点进行重新排列可以改善编码和解码性能。图11a、图11b、图11c、图11d和图11e示出了根据本公开实施例的非结构化投影的示例排序方法。图11a-11d的实施例仅用于说明,并且在不脱离本公开范围的情况下可以使用其他实施例。在某些实施例中,为了对点进行排序,排序引擎被包括在编码器中,诸如图6a的编码器600。图11a、图11b、图11c、图11d和图11e描绘了点的聚类,诸如点1101、1102、1103、1104、1106、1107、1108和1109。以下示例示出了基于非结构化投影的k-d树对3-d点云的一部分进行排序。图11a示出了点云的九个点的聚类,即点1101、点1102、点1103、点1104、点1105、点1106、点1107、点1108和点1109。图11b描绘了排序引擎随机选择点1101作为种子。图11c示出了排序引擎(sortingengine)识别种子点1101和最近的点之间的预定距离1120a内的每个点。预定距离1120a可以是接近距离。例如,预定距离1120a识别其边界内的每个点。预定距离1120a包括点1102、1103、1104和1105。在某些实施例中,排序引擎可以使用k-d树找到种子点1101的相邻点。然后可以将相邻点映射到2-d帧中。图11d示出了排序引擎对预定距离1120a内的点进行排序。排序引擎然后可以按照离种子点1101的距离的顺序将这些点列出到列表中。例如,按照离种子点的距离的顺序是种子点1101本身、点1102、1104、1103和1105。没有列出点1106、1107、1108和1109,因为这些点不在预定距离1120a内。点的顺序存储在一个称为排序列表的列表中。在某些实施例中,每个点到种子的距离也被记录在排序列表中。图11e示出了新种子(诸如点1104)的随机选择。在到种子点1101的预定距离1120a内的点被记录之后,除了种子点1101之外的另一点被选择作为新种子。在新的预定距离1120b内的点被添加到排序列表中。按照距离,新的预定距离1120b内的点的顺序是点1106、点1108、点1109和点1107。排序列表被更新为包括先前的点顺序和新的点顺序。例如,排序列表然后包括按以下顺序的点,点1101、点1102、点1104、点1103、点1105、点1106、点1108、点1109和点1107。注意到,如果在预定距离1120a内的点也出现在新的预定距离1120b中,则它们不会被重新排列。在基于新的预定距离1120b内的点更新排序列表之后,选择新的种子,并且该过程继续,直到输入点的子集中的所有点都被添加。在某些实施例中,排列引擎可以递归或非递归地对点进行排列。下面的语法说明了非递归的示例或对点进行组织和排序。[语法8]在上面的示例中,语法8说明了对点的子集内的点(‘pointset’的点)进行排序的非递归代码。输入包括(i)‘pointset’,即作为输入点云,(ii)‘maxneighborcount’,即每个要搜索的点的相邻点的最大数量,(iii)‘neighborsearchradius’,即围绕每个点的搜索区域的半径。语法8然后输出有序点的列表或索引。在某些实施例中,可以基于点之间的最小距离以半结构化方法来执行将3-d点云投影到2-d帧上。例如,可以基于一个几何形状分量(诸如y坐标)的类似性对点进行分组。例如,根据与一个几何形状分量的类似性对点进行分组。例如,具有类似y值的点被分组在一起。然后,属于具有类似y值的组的点被放置在2-d帧的第y条线。当基于一个几何分量的类似性对点进行分组时,首先对每个点进行排序,选择点作为任意种子,然后将该种子映射到二维帧上的区域。此后,排序引擎识别最靠近种子的点。在识别出与种子最靠近的点之后,排序引擎选择相邻点中的一个作为新种子。在选择新种子之后,通过将种子映射到2-d帧上的区域来重复该过程,然后识别与种子最靠近的点,从新识别的种子中选择新种子等等,直到每个点被排序。下面的语法说明了用于将3-d点云投影到2-d帧上的基于最小距离度量和x值分组的排序可以是半结构化的。[语法9]在上面的示例中,语法9示出了当点云被投影到2-d帧上时,基于3-d点云的点的最小距离度量的组排序。语法9基于找到最靠近种子的点。语法9使用输入xx、yy和zz作为几何形状分量,诸如组中所有点的x、y和z。参考标记‘issorted’显示该点是否已经映射。参考标记‘seedidx’是当前种子点的索引。语法9输出有序点的列表。例如,语法9描绘了在点的组中选择任意点。任意点被称为第一种子。第一种子被映射到视频帧线。语法9识别组中最靠近任意选择的点的点。该点(最靠近任意选择的点的点)被映射到与任意选择的点相同的帧线。新添加的点被选为新种子。该过程继续,直到组中的所有点都被映射到视频帧线。在某些实施例中,将3-d点云投影到2-d帧上可以基于k-d树的半结构化方法来投影。例如,可以基于一个几何形状分量的类似性(如y坐标)对点进行分组。然后,首先对每个点进行排序,选择任意点作为种子,然后将种子映射到2-d帧上的一个区域。此后,排序引擎识别搜索范围内的点。一旦在搜索范围内识别出点,点将按距离升序或降序的方式被映射到种子旁边。一旦点被映射,新的种子就被选择。新种子是先前已被映射但未用作种子的点中的一个。当选择新种子时,通过将种子映射到2-d帧上的区域来重复该过程。此后,分类引擎识别搜索范围内的点。一旦在搜索范围内识别出点,这些点将按距离升序或降序的方式被映射到种子旁边。一旦点被映射,新的种子就被选择。新种子是先前已被映射但未用作种子的点中的一个。当选择新种子时,该过程继续,直到每个组被排序。以下语法说明了用于将3-d点云投影到2-d帧上的基于x值分组的k-d树相邻搜索。[语法10]在上面的示例中,语法10示出了当点云被投影到2-d帧上时,使用k-d树搜索来对3-d点云的点进行分组和排列。例如,具有类似的x、y或z几何形状值的点可以被分组在一起,然后相邻搜索数据结构,例如k-d树可以搜索预定距离内或最大数量的相邻点内的每个点的所有相邻点。首先,选择组中的任意点作为种子。种子被映射到视频帧线,类似于图11b。接下来,使用k-d树数据结构来找到种子的邻域中的被映射视频帧的点,这些点接近种子点。相邻点可以按距离升序顺序或距离降序顺序被映射。一旦点被映射,已被映射的点中的不是先前选择的种子的一个点就被选择作为新种子。该过程继续,直到组中的所有点都被映射到视频帧线。在某些实施例中,可以基于深度优先搜索(dfs)或广度优先搜索(bfs)以半结构化方法将3-d点云投影到2-d帧上,以搜索一个或多个相邻点。例如,可以基于一个几何形状分量(如y坐标)的类似性对点进行分组。然后,首先对每个点进行排序,选择任意点作为种子,并将种子映射到2-d帧上的区域。此后,排序引擎使用dfs识别搜索范围内的一个或多个最佳相邻种子。识别出的(多个)种子被映射到种子旁边。排序引擎然后选择最佳相邻点作为新种子。当选择了新种子时,通过将种子映射到2-d帧的(多个)最佳种子来重复该过程,其中基于dfs来识别(多个)最佳种子。一旦点被映射,新的种子就被选择。新种子被选择之后,该过程重复直到每个点都被映射。以下语法说明了用于将3-d点云投影到2-d帧上的基于x值分组的dfs或bfs搜索。[语法11]在上面的语法中,语法11示出了当点云被投影到2-d帧上时,使用dfs搜索对点3-d点云进行分组和排列。输入点被分组,并且每个组可以使用k-d树搜索来排序。这些点然后被映射到2-d帧上。例如,具有类似的x、y或z几何形状值的点被分组,然后执行2-d到一维的排序算法,以基于搜索标准搜索彼此接近的相邻点。该算法可以是dfs或bfs。首先,排序引擎选择任意点作为种子。种子被映射到视频帧中的线。接下来,搜索算法找到一个或多个最佳相邻点。这些点被映射到视频帧在种子点旁边。此后,先前没有被选择作为种子的已被映射的点中的一个被选择作为新种子,并且该过程继续,直到组中的所有点被映射到视频帧线。参考上面的语法11,输入‘pointset,’指的是输入点云。输入‘maxneighborcount,’指的是要搜索的每个点的最大相邻点数。输入‘neighborsearchradius,’指的是围绕每个点的搜索区域的半径。语法11生成点的有序列表的输出。图12示出了根据本公开实施例的用于编码点云的示例流程图。图12描绘了用于点云编码的流程图1200。例如,图12中描绘的过程被描述为由图1的服务器104、图1的客户端设备106-114中的任何一个、图6a的编码器600来实施,并且包括类似于图2的服务器200、图3的电子设备300的内部组件。该过程开始于编码器(诸如图6a的编码器600)针对3-d点云生成第一2-d帧集合和第二2-d帧集合(1202)。注意到,第一和第二2-d帧集合可以包括一个或多个帧。在某些实施例中,第一2-d帧集合是两个帧,第二2-d帧集合是两个帧。第一2-d帧集合包括表示3-d点云的几何形状的规则面片。第二2-d帧集合包括表示3-d点云的纹理的规则面片。每个规则面片表示3-d点云中的3-d点的聚类。在某些实施例中,编码器600还生成2-d帧的占用图。占用图指示2-d帧中表示3-d点云中的点的像素的位置。占用图还可以指示漏点面片在2-d帧内的位置和大小。在某些实施例中,还生成辅助面片信息。辅助面片信息可以是标志。辅助面片信息指示以下各项中的至少一项:漏点面片的大小、漏点面片在至少一个2-d帧中的位置、以及漏点面片中包括的点的数量等。编码器600还可以生成标志。该标志可以与面片中的每一个相关联,并指示面片(诸如规则面片或漏点面片)是否是漏点面片。该过程检测不被表示在规则面片中的一个中的3-d点云中的一个或多个重叠点(1204)。检测重叠点可以包括从2-d帧中的一个生成第二3-d点云。编码器600然后将第二3-d点云与从其生成2-d帧的第一3-d点云进行比较。响应于将第二3-d点云与第一3-d点云进行比较,编码器可以识别第一3-d点云的不被包括在第二3-d点云中的点。在识别出第一3-d点云的不被包括在第二3-d点云中的点之后,编码器600生成包括一个或多个重叠点的漏点面片(1206)。例如,编码器600生成表示一个或多个重叠点的几何形状的漏点面片以及表示一个或多个重叠点的纹理的漏点面片。为了生成漏点面片,编码器可以将识别出的不被包括在第二3-d点云中的3-d点云的点分组在一起。被分组点是漏点面片。在某些实施例中,被分组的点可以被排序以形成半结构化面片。编码器600可以确定一个或多个重叠点的量。附加地,编码器600可以识别生成的2-d帧的格式。如果2-d帧的格式是4:2:0格式,则第一个2-d帧包括一个或多个重叠点中的每个点的几何坐标。如果2-d帧的格式是4:4:4格式,并且第一个2-d帧包括三个颜色通道,则三个颜色通道中的每一个分别包括被包括在漏点面片中的每个点的几何坐标中的一个。三个颜色通道中的每一个都对应于坐标方向。编码器600还可以识别2-d帧的尺寸。如果2-d帧的大小超过基于识别出的2-d帧的尺寸的阈值,则2-d帧的尺寸增加。在某些实施例中,为了生成漏点面片,编码器600可以将点按特定顺序排序。类似地,为了生成被包括在2-d帧中的规则面片,编码器600可以将点按特定顺序排序。例如,编码器600可以生成指示在3d点云的一个或多个被选择点的阈值接近度内的3d点云的每个点的列表。每个点的位置可以基于该列表映射到2-d帧上。如果点的映射是基于每个点的几何坐标定位,则可以对每个点的颜色应用相同的顺序。例如,为了将3-d点云中的每个点的纹理属性映射到第二2-d帧上,可以基于第一2-d帧上每个点的映射位置来映射每个点的纹理属性。该过程然后将漏点面片的几何形状的表示包括在第一2-d帧中(1208)。该过程还将漏点面片的纹理的表示包括在第二2-d帧中。漏点面片包括不被包括在规则面片中的点的几何形状和点的纹理。例如,编码器600将表示一个或多个重叠点的几何形状的漏点面片包括在第一2-d帧中,并且将表示一个或多个重叠点的纹理的漏点面片包括在第二2-d帧中。编码器600可以在第一2-d帧上定位漏点面片的几何形状的表示,以及在第二2-d帧上定位漏点面片的纹理的表示。第一2-d帧上漏点面片的几何形状的表示的位置对应于第二2-d帧上漏点面片的纹理的表示的类似位置。该过程然后对包括漏点面片的2-d帧进行编码以生成压缩比特流(1210)。此后,编码器传输压缩比特流(1212)。压缩比特流可以最终传输到解码器,诸如解码器650。图13示出了根据本公开实施例的用于解码点云的示例流程图。图13示出了根据本公开实施例的用于解码点云的示例流程图。图13描绘了用于点云解码的流程图1300。例如,图12中描绘的过程被描述为由图1的客户端设备106-114、图6b的解码器650中的任何一个实施,并且包括类似于图2的服务器200、图3的电子设备300的内部组件。该过程开始于解码器(诸如解码器650)接收压缩比特流(1302)。接收的比特流可以包括被编码的点云,该点云被映射到多个2-d帧上、被压缩、然后被传输并最终被解码器接收。该过程对压缩比特流进行解码(1304)。解码器650将压缩比特流解码成第一二维(2-d)帧集合和第二2-d帧集合。注意到,第一和第二2-d帧集合可以包括一个或多个帧。在某些实施例中,第一2-d帧集合是两个帧,第二2-d帧集合是两个帧。第一2-d帧集合包括表示三维(3-d)点云的几何形状的规则面片。第二2-d帧集合包括表示3-d点云的纹理的规则面片。规则面片各自表示3-d点云中的3-d点的聚类。在某些实施例中,解码器650还对来自压缩比特流的辅助面片信息进行解码。辅助面片信息指示漏点面片的大小。辅助面片信息还可以指示漏点面片在至少一个2-d帧中的位置。辅助面片信息可以附加地指示被包括在漏点面片中的点的量。解码器650还可以解码标志。该标志可以与面片中的每一个相关联,并且指示面片(诸如规则面片或漏点面片)是否是漏点面片。解码器650还可以解码和识别被包括在压缩比特流中的占用图。占用图指示表示3-d点云中的点在2-d帧集合中的像素的位置。占用图还可以指示被包括在该2-d帧集合中的漏点面片的位置和大小。该过程然后识别两个2-d帧中的漏点面片(1306)。漏点面片表示3-d点云的不被包括在规则面片中的点。例如,第一2-d帧集合可以包括表示3-d点云的点的几何形状的漏点面片。第二2-d帧集合可以包括表示3-d点云的点的纹理的漏点面片。在某些实施例中,表示点的几何形状的漏点面片是3-d点云的重叠点的几何形状。在某些实施例中,表示点的纹理的漏点面片是3-d点云的重叠点的纹理。漏点面片存储所有三个几何坐标,而规则面片仅存储深度坐标,因为帧上规则面片的放置指示其他两个坐标,诸如x和y坐标。该过程然后使用漏点面片从2-d帧集合生成3-d点云(1308)。例如,解码器650可以使用2-d帧、使用针对3-d点云的点的几何形状和纹理的漏点面片来生成3-d点云。解码器650分析第一2-d帧集合的规则面片以生成3-d点云的形状。解码器650还分析第二2-d帧集合的规则面片以应用3-d点云的形状的纹理。3-d点云的形状用来自被包括在第一2-d帧集合中的漏点面片的信息来增强。类似地,3-d点云的纹理利用来自被包括在第二2-d帧集合的漏点面片的信息。在某些实施例中,解码器650可以在第一2-d帧集合中定位漏点面片的几何形状的表示,以及在第二2-d帧集合中定位漏点面片的纹理的表示。漏点面片在第一2-d帧集合中的位置可以对应于漏点面片在第二2-d帧集合中的类似位置。解码器650可以识别2-d帧集合的格式。2-d帧的格式连同关于漏点面片边界框的信息,向解码器650指示漏点面片的位置。例如,如果2-d帧集合的格式是4:2:0格式,则解码器650可以在第一2-d帧集合中识别被包括在漏点面片中的每个点的几何坐标。在另一示例中,如果2-d帧集合的格式是4:4:4格式,并且第一2-d帧包括三个颜色通道,则解码器可以在第一2-d帧集合的三个颜色通道的每一个中分别识别一个或多个重叠点中的每个点的几何坐标中的一个。三个颜色通道中的每一个都对应于坐标方向。在某些实施例中,解码器解码信号,并且根据与信号相关联的值,点的几何坐标可以定位于一个或多个帧上。例如,如果信号是第一值,则几何坐标可以被放置在第一2-d帧集合的多个颜色平面上。在另一示例中,如果信号是第二值,则几何坐标可以被放置在第一2-d帧集合的单个颜色平面上。尽管附图说明了用户设备的不同示例,但是可以对附图进行各种改变。例如,用户设备可以以任何合适的布置包括任何数量的每个组件。一般地,附图不将本公开的范围限制到任何特定的(多个)配置。而且,虽然附图说明了在其中可以使用本专利文件中公开的各种用户设备特征的操作环境,但是这些特征可以用于任何其他合适的系统中。本申请中的任何描述都不应被理解为暗示任何特定的元件、步骤或功能是必须包括在权利要求范围内的基本元件。专利主题的范围仅由权利要求限定。权利要求中的任何其他术语的使用,包括但不限于“机构”、“模块”、“设备”、“单元”、“组件”、“元件”、“构件”、“装置”、“机器”、“系统”、“处理器”或“控制器”,被申请人理解为是指相关领域技术人员已知的结构。尽管已经用示例性实施例描述了本公开,但是可以向本领域技术人员建议各种改变和修改。本公开旨在涵盖落入所附权利要求范围内的这些改变和修改。实施例可以被实施为包括存储在计算机可读存储介质中的指令的软件程序。计算机可以指被配置成检索存储在计算机可读存储介质中的指令并且响应于检索到的指令进行操作的设备,并且可以包括根据实施例的断层成像装置。计算机可读存储介质可以以非暂时性存储介质的形式提供。在这点上,术语“非暂时性”意味着存储介质不包括信号并且是有形的,并且该术语不区分半永久存储的数据和临时存储在存储介质中的数据。此外,根据实施例的断层成像装置或控制断层成像装置的方法可以以计算机程序产品的形式提供。计算机程序产品可以作为产品在卖方和买方之间进行交易。计算机程序产品可以包括软件程序和其上存储有软件程序的计算机可读存储介质。例如,计算机程序产品可以包括软件程序形式的产品(例如,可下载的应用),该软件程序由断层成像装置的制造商电子分发或者通过电子市场(例如,googletm,playstoretm,andappstoretm)电子分发。对于这种电子分发,软件程序的至少一部分可以存储在存储介质上或者可以临时生成。在这种情况下,存储介质可以是制造商的服务器、电子市场的服务器或用于临时存储软件程序的中继服务器的存储介质。在由服务器和终端(例如,解码设备、编码设备)构成的系统中,计算机程序产品可以包括服务器的存储介质或终端的存储介质。可替换地,在存在与服务器或终端通信的第三设备(例如,智能手机)的情况下,计算机程序产品可以包括第三设备的存储介质。可替换地,计算机程序产品可以包括从服务器传输到终端或第三设备或者从第三设备传输到终端的软件程序。在根据本公开的某些实施例中,服务器、终端和第三设备中的一个可以执行计算机程序产品,从而执行根据实施例的方法。或者,服务器、终端和第三设备中的至少两个可以执行计算机程序产品,从而以分布式方式执行根据实施例的方法。例如,服务器(例如,云服务器、人工智能(ai)服务器等)可以执行存储在服务器中的计算机程序产品,并且可以控制终端执行根据实施例的方法,所述终端与服务器通信。在第三设备执行计算机程序产品的情况下,第三设备可以从服务器下载计算机程序产品,并且可以执行下载的计算机程序产品。可替换地,第三设备可以执行预先加载在其中的计算机程序产品,并且可以执行根据实施例的方法。虽然已经参考附图具体示出和描述了本公开实施例,但是本领域普通技术人员将理解,在不脱离由所附权利要求限定的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。所公开的实施例应该仅被认为是描述性的,而不是出于限制的目的。当前第1页1 2 3 当前第1页1 2 3 
技术特征:1.一种用于点云解码的解码设备,所述解码设备包括:
通信接口,被配置成接收压缩比特流;以及
处理器,可操作地耦合到所述通信接口,其中所述处理器被配置成:
将所述压缩比特流解码成第一二维(2-d)帧集合和第二2-d帧集合,其中,所述第一2-d帧集合包括表示三维(3-d)点云的几何形状的第一规则面片集合,所述第二2-d帧集合包括表示所述3-d点云的纹理的第二规则面片集合,所述第一规则面片集合和第二规则面片集合的面片表示所述3-d点云中的3-d点的相应聚类,
在所述第一2-d帧集合中识别表示不被包括在所述第一规则面片集合中的所述3-d点云的几何形状点的漏点面片,并且在所述第二2-d帧集合中识别表示不被包括在所述第二规则面片集合中的所述3-d点云的点的纹理的漏点面片;以及
使用2-d帧集合、使用所述第一规则面片集合和第二规则面片集合和所述漏点面片来生成所述3-d点云。
2.根据权利要求1所述的解码设备,其中,所述处理器还被配置成:
识别与被包括在所述2-d帧集合中的每个面片相关联的标志,所述标志指示每个面片是否是漏点面片中的一个;以及
识别辅助面片信息,所述辅助面片信息指示漏点面片的大小、漏点面片在2-d帧集合中的位置,
其中,从所述压缩比特流中解码所述辅助面片信息和所述标志。
3.根据权利要求1所述的解码设备,其中,所述处理器还被配置成:
在所述第一2-d帧集合中定位表示几何形状的漏点面片,并且在所述第二2-d帧集合中定位表示纹理的漏点面片,
其中,表示几何形状的漏点面片在所述第一2-d帧集合中的位置对应于表示纹理的漏点面片在所述第二2-d帧集合中的位置。
4.根据权利要求1所述的解码设备,其中,所述处理器还被配置成:
识别被包括在所述比特流中的参数;
响应于将所述参数识别为第一值,在所述第一2-d帧集合的单个颜色平面中识别点中的每一个的几何坐标;以及
响应于将所述参数识别为第二值,将点中的每一个的几何坐标放置在所述第一2-d帧集合的多个颜色平面中,其中,所述多个颜色平面中的每一个对应于坐标方向。
5.根据权利要求1所述的解码设备,其中,所述处理器还被配置成:
识别2-d帧集合的占用图,所述占用图指示所述2-d帧集合中的表示所述3-d点云中的点的像素的位置,以及
基于所述占用图来估计被包括在漏点面片中每一个中的点的量。
6.根据权利要求1所述的解码设备,其中,从所述2-d帧集合生成所述3-d点云,所述处理器被配置成:
分析所述第一2-d帧集合的规则面片以生成所述3-d点云的形状;
分析所述第二2-d帧集合的规则面片以应用所述3-d点云的形状的纹理;
用来自被包括在所述第一2-d帧集合中的漏点面片的信息来增强所述3-d点云的形状;以及
用来自被包括在所述第二2-d帧集合中的漏点面片的信息来增强所述3-d点云的纹理。
7.一种用于点云编码的编码设备,所述编码设备包括:
处理器,被配置成:
针对三维(3-d)点云生成第一二维(2-d)帧集合和第二2-d帧集合,所述第一二维(2-d)帧集合包括表示所述3-d点云的几何形状的第一规则面片集合,所述第二2-d帧集合包括表示所述3-d点云的纹理的第二规则面片集合,所述第一规则面片集合和第二规则面片集合中的面片表示所述3-d点云中的3-d点的相应聚类,
检测不被表示在规则面片集合中的一个中的3-d点云中的点,
生成表示检测到的点的几何形状的漏点面片和表示检测到的点的纹理的漏点面片,
将表示检测到的点的几何形状的漏点面片包括在所述第一2-d帧集合中,将表示检测到的点的纹理的漏点面片包括在所述第二2-d帧集合中,
对包括漏点面片的2-d帧集合进行编码以生成压缩比特流,以及
可操作地耦合到所述处理器的通信接口,所述通信接口被配置成传输所述压缩比特流。
8.根据权利要求7所述的编码设备,其中,所述处理器还被配置成:
生成与被包括在2-d帧集合中的每个面片相关联的标志,所述标志指示每个面片是所述第一规则面片集合和第二规则面片集合中的面片中的一个还是漏点面片中的一个;以及
生成辅助面片信息,所述辅助面片信息指示漏点面片的大小、漏点面片在2-d帧集合中的位置,
其中,所述辅助面片信息和所述标志被包括在所述压缩比特流中。
9.根据权利要求7所述的编码设备,其中,所述处理器还被配置成:
在所述第一2-d帧集合中定位表示几何形状的漏点面片,并且在所述第二2-d帧集合中定位表示纹理的漏点面片,
其中,表示几何形状的漏点面片在所述第一2-d帧集合中的位置对应于表示纹理的漏点面片在所述第二2-d帧集合中的位置。
10.根据权利要求7所述的编码设备,其中,为了生成漏点面片,所述处理器被配置成:
确定检测到的点的量;
识别2-d帧集合的格式和尺寸;
响应于识别所述2-d帧集合的格式是第一格式,将每个点的几何坐标包括在所述第一2-d帧集合的单个颜色平面中;
响应于识别所述2-d帧集合的格式是第二格式,将点中的每一个的几何坐标放置在所述第一2-d帧集合的多个颜色平面中,其中,所述多个颜色平面中的每一个对应于坐标方向;以及
响应于检测到的点的量超过基于2-d帧集合的识别出的尺寸的阈值,增加2-d帧集合的尺寸。
11.根据权利要求7所述的编码设备,其中,所述处理器还被配置成生成所述2-d帧集合的占用图,其中,所述占用图指示所述2-d帧集合中的表示所述3-d点云中的点的像素的位置。
12.根据权利要求7所述的编码设备,其中:
为了检测不被表示在所述规则面片中的一个中的所述3-d点云中的点,所述处理器被配置成:
从所述2-d帧集合中的一个生成第二3-d点云,
将所述第二3-d点云与所述3-d点云进行比较,以及
响应于将所述第二3-d点云与所述3-d点云进行比较,识别不被包括在所述第二3-d点云中的所述3-d点云中的点;以及
为了生成漏点面片,所述处理器被配置成将识别出的不被包括在所述第二3-d点云中的所述3-d点云中的点分组在一起。
13.根据权利要求7所述的编码设备,其中,为了生成所述2-d帧集合,所述处理器还被配置成:
基于接近标准改变所述2-d帧集合中的表示检测到的点的几何形状的点的映射位置;
基于另一接近标准改变所述2-d帧集合中的表示检测到的点的纹理的点的映射位置;以及
基于第三接近标准改变所述2-d帧集合中的表示其他属性的点的映射位置。
14.一种用于点云解码的方法,该方法包括:
接收压缩比特流;以及
将所述压缩比特流解码成第一二维(2-d)帧集合和第二2-d帧集合,其中,所述第一2-d帧集合包括表示三维(3-d)点云的几何形状的第一规则面片集合,所述第二2-d帧集合包括表示3-d点云的纹理的第二规则面片集合,所述第一规则面片集合和第二规则面片集合中的面片表示所述3-d点云中的3-d点的相应聚类,
在第一2-d帧集合中识别表示不被包括在所述第一规则面片集合中的所述3-d点云中的点的几何形状的漏点面片,并且在第二2-d帧集合中识别表示不被包括在所述第二规则面片集合中的所述3-d点云的点的纹理的漏点面片;以及
使用2-d帧集合、使用所述第一规则面片集合和第二规则面片集合和所述漏点面片来生成所述3-d点云。
15.根据权利要求14所述的方法,还包括:
识别与被包括在所述2-d帧集合中的每个面片相关联的标志,所述标志指示每个面片是否是漏点面片中的一个;以及
识别辅助面片信息,所述辅助面片信息指示漏点面片的大小、漏点面片在所述2-d帧集合中的位置,
其中,从所述压缩比特流中解码所述辅助面片信息和所述标志。
16.根据权利要求14所述的方法,还包括:
在所述第一2-d帧集合中定位表示几何形状的漏点面片,并且在所述第二2-d帧集合中定位表示纹理的漏点面片,
其中,表示几何形状的漏点面片在所述第一2-d帧集合中的位置对应于表示纹理的漏点面片在所述第二2-d帧集合中的位置。
17.根据权利要求14所述的方法,还包括:
识别被包括在比特流中的参数;
响应于将所述参数识别为第一值,在所述第一2-d帧集合的单个颜色平面中识别点中的每一个的几何坐标;以及
响应于将所述参数识别为第二值,将点中的每一个的几何坐标放置在所述第一2-d帧集合的多个颜色平面中,其中所述多个颜色平面中的每一个对应于坐标方向。
18.根据权利要求14所述的方法,还包括:
识别所述2-d帧集合的占用图,所述占用图指示所述2-d帧集合中的表示所述3-d点云中的点的像素的位置,以及
基于所述占用图来估计漏点面片中每一个中的点的量。
19.根据权利要求14所述的方法,其中,从所述2-d帧集合生成所述3-d点云,还包括:
分析所述第一2-d帧集合的规则面片以生成所述3-d点云的形状;
分析所述第二2-d帧集合的规则面片以应用所述3-d点云的形状的纹理;
用来自被包括在所述第一2-d帧集合中的漏点面片的信息来增强所述3-d点云的形状;以及
用来自被包括在所述第二2-d帧集合中的漏点面片的信息来增强所述3-d点云的纹理。
20.根据权利要求14所述的方法,还包括:
识别被包括在所述压缩比特流中的参数;
当所述参数是第一值时,在所述第一2-d帧集合的单个颜色通道中识别表示所述3-d点云的几何形状坐标的点;以及
当所述参数是第二值时,在所述第一2-d帧集合的三个颜色通道中识别表示所述3-d点云的几何形状坐标的点。
技术总结公开了解码设备、编码设备和用于点云解码的方法。该方法包括将压缩比特流解码成第一和第二2‑D帧集合。第一2‑D帧集合包括表示3‑D点云的几何形状的第一规则面片集合,第二2‑D帧集合包括表示3‑D点云的纹理的第一规则面片集合。该方法包括在第一2‑D帧集合中识别表示不被包括在规则面片中的3‑D点云的点的几何形状的漏点面片,并且在第二2‑D帧集合中识别表示不被包括在规则面片中的3‑D点云的点的纹理的漏点面片。该方法还包括使用2‑D帧集合,使用漏点面片生成3‑D点云。
技术研发人员:I.辛哈罗伊;M.布达加维;林荣权;H.纳贾夫-扎德;柳诚烈;E.法拉马齐
受保护的技术使用者:三星电子株式会社
技术研发日:2018.10.22
技术公布日:2020.06.05