一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于几何的点云压缩中的量化参数值的缩放因子的制作方法

2023-03-08 05:34:29 来源:中国专利 TAG:

基于几何的点云压缩中的量化参数值的缩放因子
1.本技术要求于2021年6月23日提交的美国专利申请第17/355,904号和于2020年6月24日提交的美国临时申请第63/043,666号的优先权,其中每一个的全部内容以引用的方式并入本文中。于2021年6月23日提交的美国专利申请第17/355,904号要求于2020年6月24日提交的美国临时申请第63/043,666号的权益。
技术领域
2.本公开涉及点云编码和解码。


背景技术:

3.点云是三维空间中的点的集合。这些点可以对应于三维空间内的对象上的点。因此,可以使用点云来表示三维空间的物理内容。点云可以在各种各样的情形下具有实用性。例如,点云可以在自主车辆的背景下用于表示道路上的对象的位置。在另一示例中,点云可以在表示环境的物理内容的背景下使用,以用于在增强现实(ar)或混合现实(mr)应用中定位虚拟对象的目的。点云压缩是用于对点云进行编码和解码的过程。对点云进行编码可以减少存储和传输点云所需的数据量。


技术实现要素:

4.大体上,本公开描述了改进基于几何的点云的量化和缩放的方法和设备。具体来说,本公开描述了用于量化参数(qp)选择和信令通知的技术,其允许在编码器处执行的量化和在解码器处执行的互反缩放函数的多级别粒度。这样,由编码器/解码器对执行的量化和缩放过程可以更适应于正在被译码(being coded)的内容,从而提高译码(coding)效率。qp和互反缩放因子对正在被译码的内容的适应对于点云可能特别有益,其中点云的某些区域可能比点云的其它区域实质上更密集(例如,包括更多的点)。
5.在一个示例中,本公开描述了一种对点云进行编码的方法,所述方法包括:基于参数值k确定量化参数(qp)值,其中所述参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;使用所述qp值对所述点云进行编码;对指示所述qp值的一个或多个语法元素进行编码;以及对指示所述参数值k的语法元素进行编码。
6.在另一示例中,本公开描述了一种被配置为对点云进行编码的装置,所述装置包括被配置为存储所述点云的存储器以及一个或多个处理器,所述一个或多个处理器在电路中实现并且与所述存储器通信,所述一个或多个处理器被配置为:基于参数值k确定qp值,其中所述参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;使用所述qp值对所述点云进行编码;对指示所述qp值的一个或多个语法元素进行编码;以及对指示所述参数值k的语法元素进行编码。
7.在另一示例中,本公开描述了一种被配置为对点云进行编码的装置,所述装置包括:用于基于参数值k确定qp值的部件,其中所述参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;用于使用所述qp值对所述点云进行编码的部件;用于对指示所述
qp值的一个或多个语法元素进行编码的部件;以及用于对指示所述参数值k的语法元素进行编码的部件。
8.在另一示例中,本公开描述了一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使被配置为对点云进行编码的设备的一个或多个处理器:基于参数值k确定qp值,其中所述参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;使用所述qp值对所述点云进行编码;对指示所述qp值的一个或多个语法元素进行编码;以及对指示所述参数值k的语法元素进行编码。
9.在另一示例中,本公开描述了一种对点云进行解码的方法,所述方法包括:对指示qp值的一个或多个语法元素进行解码;对指示参数值k的语法元素进行解码,其中所述参数值k指定每两倍缩放步长的qp点的数量;基于所述qp值和所述参数值k确定所述缩放步长;以及使用所述确定的缩放步长来对所述点云进行解码。
10.在另一示例中,本公开描述了一种被配置为对点云进行解码的装置,所述装置包括被配置为存储所述点云的存储器以及一个或多个处理器,所述一个或多个处理器在电路中实现并且与所述存储器通信,所述一个或多个处理器被配置为:对指示qp值的一个或多个语法元素进行解码;对指示参数值k的语法元素进行解码,其中所述参数值k指定每两倍缩放步长的qp点的数量;基于所述qp值和所述参数值k确定所述缩放步长;以及使用所述确定的缩放步长来对所述点云进行解码。
11.在另一示例中,本公开描述了一种被配置为对点云进行解码的装置,所述装置包括:用于对指示qp值的一个或多个语法元素进行解码的部件;用于对指示参数值k的语法元素进行解码的部件,其中所述参数值k指定每两倍缩放步长的qp点的数量;用于基于所述qp值和所述参数值k确定所述缩放步长的部件;以及用于使用所述确定的缩放步长来对所述点云进行解码的部件。
12.在另一示例中,本公开描述了一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使被配置为对点云进行解码的设备的一个或多个处理器:对指示qp值的一个或多个语法元素进行解码;对指示参数值k的语法元素进行解码,其中所述参数值k指定每两倍缩放步长的qp点的数量;基于所述qp值和所述参数值k确定所述缩放步长;以及使用所述确定的缩放步长来对所述点云进行解码。
13.在附图和以下描述中阐述了一个或多个示例的细节。根据说明书、附图和权利要求书,其它特征、目的和优点将变得显而易见的。
附图说明
14.图1是示出可执行本公开的技术的示例编码和解码系统的框图。
15.图2是示出示例几何点云压缩(g-pcc)编码器的框图。
16.图3是示出示例g-pcc解码器的框图。
17.图4是示出量化参数的函数的示例步长的图。
18.图5是示出本公开的示例编码方法的流程图。
19.图6是示出本公开的示例解码方法的流程图。
20.图7是示出可与本公开的一种或多种技术一起使用的示例测距系统的概念图。
21.图8是示出其中可使用本公开的一种或多种技术的基于车辆的示例场景的概念
图。
22.图9是示出其中可使用本公开的一种或多种技术的示例扩展现实系统的概念图。
23.图10是示出其中可使用本公开的一种或多种技术的示例移动设备系统的概念图。
具体实施方式
24.大体上,本公开描述了改进基于几何的点云的量化和缩放的方法和设备。具体来说,本公开描述了用于量化参数(qp)选择和信令通知的技术,其允许在编码器处执行的量化和在解码器处执行的互反缩放函数的多级别粒度。这样,由编码器/解码器对执行的量化和缩放过程可以更适应于正在被译码的内容,从而提高译码效率。qp和互反缩放因子对正在被译码的内容的适应对于点云可能特别有益,其中点云的某些区域可能比点云的其它区域实质上更密集(例如,包括更多的点)。
25.图1是示出可执行本公开的技术的示例编码和解码系统100的框图。本公开的技术大体上涉及译码(编码和/或解码)点云数据,即支持点云压缩。通常,点云数据包括用于处理点云的任何数据。译码可以有效地压缩和/或解压缩点云数据。
26.如图1所示,系统100包括源设备102和目的设备116。源设备102提供要由目的设备116解码的编码点云数据。具体地,在图1的示例中,源设备102经由计算机可读介质110向目的设备116提供点云数据。源设备102和目的设备116可以包括多种设备中的任何一种,包括台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、诸如智能电话之类的电话手机、电视机、照相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、陆地或海上交通工具、航天器、飞机、机器人、lidar设备、卫星、监视或安全设备等。在一些情况下,源设备102和目的设备116可以被配备用于无线通信。
27.在图1的示例中,源设备102包括数据源104、存储器106、g-pcc编码器200和输出接口108。目的设备116包括输入接口122、g-pcc解码器300、存储器120和数据消费者118。源设备102的g-pcc编码器200和目的设备116的g-pcc解码器300可被配置为应用与基于几何的点云压缩中的量化参数的缩放因子有关的本公开的技术。因此,源设备102表示编码设备的示例,而目的设备116表示解码设备的示例。在其它示例中,源设备102和目的设备116可包括其它组件或布置。例如,源设备102可以从内部或外部源接收数据(例如,点云数据)。同样,目的设备116可以与外部数据消费者连接,而不是在同一设备中包括数据消费者。
28.如图1所示的系统100仅是一个示例。一般来说,其它数字编码和/或解码设备可执行与基于几何的点云压缩中的量化参数的缩放因子有关的本公开的技术。源设备102和目的设备116仅仅是这种设备的示例,其中源设备102生成用于传输到目的设备116的译码数据。本公开将“译码”设备称为执行数据的译码(编码和/或解码)的设备。因此,g-pcc编码器200和g-pcc解码器300分别表示译码设备(特别是编码器和解码器)的示例。类似地,术语“译码”可以指编码或解码中的任一个。在一些示例中,源设备102与目的设备116可以以基本上对称的方式操作,使得源设备102和目的设备116中的每一个包括编码和解码组件。因此,系统100可支持源设备102与目的设备116之间的单向或双向传输,例如用于流式传输、回放、广播、电话、导航和其它应用。
29.通常,数据源104表示数据的来源(即,原始的、未编码的点云数据),并且可以向g-pcc编码器200提供数据的连续的一系列“帧”,g-pcc编码器200对帧的数据进行编码。源设
备102的数据源104可以包括点云捕获设备,诸如各种照相机或传感器中的任一种,例如3d扫描仪或光检测和测距(lidar)设备、一个或多个视频照相机、包含先前捕获的数据的档案、和/或用于从数据内容提供商接收数据的数据馈送接口。这样,数据源104可以生成点云。可替代地或另外,点云数据可以是从扫描仪、照相机、传感器或其它数据计算机生成的。例如,数据源104可以生成基于计算机图形的数据作为源数据,或者产生实况数据、存档数据和计算机生成数据的组合。在每种情况下,g-pcc编码器200对捕获的、预捕获的或计算机生成的数据进行编码。g-pcc编码器200可以将帧从所接收的顺序(有时被称为“显示顺序”)重新排列成用于编码的编码顺序。g-pcc编码器200可以生成包括编码数据的一个或多个比特流。源设备102随后可以经由输出接口108将编码数据输出到计算机可读介质110上,以用于由例如目的设备116的输入接口122接收和/或检索。
30.源设备102的存储器106和目的设备116的存储器120可以表示通用存储器。在一些示例中,存储器106和存储器120可以存储原始数据,例如来自数据源104的原始数据和来自g-pcc解码器300的原始解码数据。另外或可替代地,存储器106和存储器120可以存储分别可由例如g-pcc编码器200和g-pcc解码器300执行的软件指令。尽管在该示例中存储器106和存储器120与g-pcc编码器200和g-pcc解码器300分开示出,但是应理解,g-pcc编码器200和g-pcc解码器300还可以包括用于功能上类似或等同目的的内部存储器。此外,存储器106和存储器120可以存储例如从g-pcc编码器200输出并输入到g-pcc解码器300的编码数据。在一些示例中,存储器106和存储器120的部分可被分配为一个或多个缓冲器,例如以存储原始的解码和/或编码数据。例如,存储器106和存储器120可以存储表示点云的数据。换句话说,存储器106和存储器120可被配置为存储点云数据。
31.计算机可读介质110可以表示能够将编码数据从源设备102传输到目的设备116的任何类型的介质或设备。在一个示例中,计算机可读介质110表示使源设备102能够例如经由射频网络或基于计算机的网络将编码数据(例如,编码点云)实时地直接传送到目的设备116的通信介质。输出接口108可以调制包括编码数据的传输信号,并且输入接口122可以根据诸如无线通信协议之类的通信标准来解调接收到的传输信号。通信介质可以包括任何无线或有线通信介质,诸如射频(rf)频谱或一条或多条物理传输线。通信介质可以形成诸如局域网、广域网或全球网络(诸如因特网)之类的基于分组的网络的一部分。通信介质可以包括路由器、交换机、基站、或可用于促进从源设备102到目的设备116的通信的任何其它设备。
32.在一些示例中,源设备102可以将编码数据从输出接口108输出到存储设备112。类似地,目的设备116可以经由输入接口122从存储设备112访问编码数据。存储设备112可以包括各种分布式或本地访问的数据存储介质中的任何一种,诸如硬盘驱动器、蓝光盘、dvd、cd-rom、闪存、易失性或非易失性存储器、或用于存储编码数据的任何其它合适的数字存储介质。
33.在一些示例中,源设备102可将编码数据输出到文件服务器114或可存储由源设备102生成的编码数据的另一中间存储设备。目的设备116可以通过流式传输或下载从文件服务器114访问所存储的数据。文件服务器114可以是能够存储编码数据并将该编码数据传送到目的设备116的任何类型的服务器设备。文件服务器114可以表示网络服务器(例如,用于网站)、文件传输协议(ftp)服务器、内容递送网络设备或网络附接存储(nas)设备。目的设
备116可以通过包括因特网连接的任何标准数据连接从文件服务器114访问编码数据。这可以包括适用于访问存储在文件服务器114上的编码数据的无线信道(例如,wi-fi连接)、有线连接(例如,数字用户线(dsl)、电缆调制解调器等)或两者的组合。文件服务器114和输入接口122可被配置为根据流式传输协议、下载传输协议或其组合来操作。
34.输出接口108和输入接口122可以表示无线发射机/接收机、调制解调器、有线联网组件(例如,以太网卡)、根据各种ieee 802.11标准中的任一种操作的无线通信组件、或其它物理组件。在输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可被配置为根据蜂窝通信标准(诸如4g、4g-lte(长期演进)、高级lte、5g等)来传送数据(诸如编码数据)。在输出接口108包括无线发射机的一些示例中,输出接口108和输入接口122可被配置为根据其它无线标准(诸如ieee 802.11规范、ieee 802.15规范(例如,zigbee
tm
)、蓝牙
tm
标准等)来传送数据(诸如编码数据)。在一些示例中,源设备102和/或目的设备116可以包括相应的片上系统(soc)设备。例如,源设备102可以包括用于执行归因于g-pcc编码器200和/或输出接口108的功能的soc设备,并且目的设备116可以包括用于执行归因于g-pcc解码器300和/或输入接口122的功能的soc设备。
35.本公开的技术可应用于编码和解码以支持各种应用中的任一种,诸如自主车辆之间的通信,扫描仪、照相机、传感器与处理设备(诸如本地或远程服务器)之间的通信,地理测绘或其它应用。
36.在一些示例中,源设备102和/或目的设备116是移动设备,诸如移动电话、增强现实(ar)设备或混合现实(mr)设备。在这样的示例中,源设备102可以生成并编码点云作为映射源设备102的本地环境的过程的一部分。关于ar和mr示例,目的设备116可以基于源设备102的本地环境来使用点云生成虚拟环境。在一些示例中,源设备102和/或目的设备116是陆地或海上交通工具、航天器或飞机。在这样的示例中,源设备102可以生成并编码点云作为映射源设备的环境的过程的一部分,例如以用于自主导航、碰撞取证和其它目的。
37.目的设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等)接收编码比特流。编码比特流可包括由g-pcc编码器200定义的信令信息,其也由g-pcc解码器300使用,诸如具有描述译码单元的特性和/或处理(例如,切片、画面、画面组、序列等)的值的语法元素。数据消费者118使用解码数据。例如,数据消费者118可以使用解码数据来确定物理对象的位置。在一些示例中,数据消费者118可以包括基于点云来呈现图像的显示器。例如,数据消费者118可以使用点云的点作为多边形的顶点,并且可以使用点云的点的颜色属性来对多边形着色。在该示例中,数据消费者118随后可以基于阴影多边形来光栅化多边形以呈现计算机生成的图像。
38.g-pcc编码器200和g-pcc解码器300各自可被实现为各种合适的编码器和/或解码器电路中的任一种,诸如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、分立逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实现时,设备可将用于所述软件的指令存储在合适的非暂时性计算机可读介质中并且使用一个或多个处理器以硬件执行所述指令以执行本公开的技术。g-pcc编码器200和g-pcc解码器300中的每一个可以包括在一个或多个编码器或解码器中,所述编码器或解码器中的任一个可以被集成为相应设备中的组合编码器/解码器(codec)的一部分。包括g-pcc编码器200和/或g-pcc解码器300的设备可以包括一个或多个集成电路、微处理器
和/或其它类型的设备。
39.g-pcc编码器200和g-pcc解码器300可以根据诸如视频点云压缩(v-pcc)标准或几何点云压缩(g-pcc)标准之类的译码标准来操作。本公开大体上可涉及对画面进行译码(例如,编码和解码)以包括对数据进行编码或解码的过程。编码比特流通常包括表示译码决策(例如,译码模式)的语法元素的一系列值。
40.本公开通常可提到“信令通知”某些信息,诸如语法元素。术语“信令通知”通常可以指对用于对编码数据的语法元素和/或其它数据的值进行解码的的传递。即,g-pcc编码器200可以信令通知比特流中的语法元素的值。通常,信令通知是指在比特流中生成值。如上所述,源设备102可以将比特流基本上实时地传送到目的设备116,或者非实时地传送到目的设备116,诸如当将语法元素存储到存储设备112以供稍后由目的设备116检索时可能发生的那样。
41.iso/iec mpeg(jtc 1/sc 29/wg 11)正在研究对具有显著超过当前方法的压缩能力的点云译码技术进行标准化的潜在需要,并且将以创建标准为目标。该小组在被称为三维图形团队(3dg)的协作工作中一起工作于该探索活动,以评估在该领域的专家提出的压缩技术设计。
42.点云压缩活动分为两种不同的方法。第一种方法是“视频点云压缩”(v-pcc),其分割3d对象并将片段投影到多个2d平面(其在2d帧中表示为“补丁”)中,这些片段由传统2d视频编解码器(诸如高效率视频译码(hevc)(itu-t h.265)编解码器)进一步译码。第二种方法是“基于几何的点云压缩”(g-pcc),其直接压缩3d几何形状,即3d空间中的点集的位置以及相关联的属性值(对于与3d几何形状相关联的每个点)。g-pcc解决了类别1(静态点云)和类别3(动态获取的点云)两者中的点云的压缩。g-pcc标准的最新草案可在g-pcc dis,iso/iec jtc1/sc29/wg11 w19088,比利时布鲁塞尔,2020年1月(下文中,“w19088”)中获得,并且编解码器的描述可在g-pcc编解码器描述v6,iso/iec jtc1/sc29/wg11 w19091,比利时布鲁塞尔,2020年1月(下文中,“w19091”)中获得。
43.点云包含3d空间中的点集,并且可以具有与这些点相关联的属性。属性可以是诸如r、g、b或y、cb、cr之类的颜色信息,或反射率信息,或其它属性。点云可以由诸如lidar传感器和3d扫描仪之类的各种照相机或传感器捕获,并且也可以是计算机生成的。点云数据用于各种应用中,包括但不限于构造(建模)、图形(用于可视化和动画的3d模型)、汽车工业(用于帮助导航的lidar传感器)、移动电话、平板计算机以及其它场景。
44.由点云数据占据的3d空间可以由虚拟边界框包围。边界框中点的位置可以由某一精度表示;因此,一个或多个点的位置可以基于精度来量化。在最小级别,边界框被分成体素,所述体素是由单位立方体表示的最小空间单位。边界框中的体素可以与零个、一个或多于一个点相关联。边界框可以被分成多个立方体/长方体区域,其可以被称为瓦片。每个瓦片可被编码成一个或多个切片。将边界框划分为切片和瓦片可以是基于每个分区中的点的数量,或者是基于其它考虑(例如,可以将特定区域编码为瓦片)。可以使用类似于视频编解码器中的分割决策来进一步划分切片区域。
45.图2提供了g-pcc编码器200的概述。图3提供了g-pcc解码器300的概述。所示的模块是逻辑的,并且不一定一对一地对应于g-pcc编解码器的参考实施方式中的实现代码,即由iso/iec mpeg(jtc 1/sc 29/wg 11)研究的tmc13测试模型软件。
46.在g-pcc编码器200和g-pcc解码器300两者中,首先对点云位置进行译码。属性译码取决于解码几何形状。在图2和图3中,灰色阴影模块是通常用于类别1数据的选项。对角交叉阴影模块是通常用于类别3数据的选项。所有其它模块在类别1与3之间是共同的。
47.对于类别3数据,压缩的几何形状通常被表示为从根一直向下到单个体素的叶级别的八叉树。对于类别1数据,压缩的几何形状通常由修剪的八叉树(即,从根向下到大于体素的块的叶级别的八叉树)加上近似修剪的八叉树的每个叶内的表面的模型来表示。这样,类别1和3数据两者共享八叉树译码机制,而类别1数据可以另外用表面模型近似每个叶内的体素。所使用的表面模型是每块包括1-10个三角形的三角测量,从而产生三角形汤(soup)。因此,类别1几何编解码器被称为三角形汤(trisoup)几何编解码器,而类别3几何编解码器被称为八叉树几何编解码器。
48.在八叉树的每个节点处,针对其子节点(多达八个节点)中的一个或多个用信令通知占用率(当未推断时)。指定多个邻域,包括(a)与当前八叉树节点共享面部的节点、(b)与当前八叉树节点共享面部、边缘或顶点的节点等。在每个邻域内,节点和/或其子节点的占用率可用于预测当前节点或其子节点的占用率。对于在八叉树的某些节点中稀疏填充的点,编解码器(例如,如由g-pcc编码器200和g-pcc解码器300实现的)还支持直接译码模式,其中点的3d位置被直接译码。可以信令通知标志以指示直接模式被信令通知。在最低级别,也可以对与八叉树节点/叶节点相关联的点数进行译码。
49.一旦几何形状被译码,对应于几何点的属性就被译码。当存在对应于一个重构/解码的几何点的多个属性点时,可以导出表示重构点的属性值。
50.在g-pcc中存在三个属性译码方法:区域自适应分层变换(raht)译码、基于插值的分层最近邻预测(预测变换)、以及具有更新/提升步骤的基于插值的分层最近邻预测(提升变换)。raht和提升通常用于类别1数据,而预测通常用于类别3数据。然而,任一方法均可用于任何数据,并且与g-pcc中的几何编解码器类似,在比特流中指定用于对点云进行译码的属性译码方法。
51.属性的译码可以在细节级别(lod)中进行,其中对于每个细节级别,可以获得点云属性的更精细表示。可以基于与相邻节点的距离度量或基于采样距离来指定每个细节级别。
52.在g-pcc编码器200处,作为用于属性的编码方法的输出而获得的残差被量化。可以使用上下文自适应算术编码来对量化的残差进行编码。
53.在图2的示例中,g-pcc编码器200可以包括坐标变换单元202、颜色变换单元204、体素化单元206、属性转移单元208、八叉树分析单元210、表面近似分析单元212、算术编码单元214、几何重构单元216、raht单元218、lod生成单元220、提升单元222、系数量化单元224和算术编码单元226。
54.如图2的示例所示,g-pcc编码器200可以接收点云的点的位置集和属性集。g-pcc编码器200可以从数据源104(图1)获得点云的点的位置集和属性集。位置可以包括点云的点的坐标。属性可以包括关于点云的点的信息,诸如与点云的点相关联的颜色。g-pcc编码器200可以生成包括点云的点的位置的编码表示的几何比特流203。g-pcc编码器200还可以生成包括属性集的编码表示的属性比特流205。
55.坐标变换单元202可以对点的坐标进行变换,以将坐标从初始域变换到变换域。本
公开可以将变换后的坐标称为变换坐标。颜色变换单元204可以进行变换以将属性的颜色信息变换到不同域。举例来说,颜色变换单元204可以将颜色信息从rgb颜色空间变换到ycbcr颜色空间。
56.此外,在图2的示例中,体素化单元206可以对变换坐标进行体素化。变换坐标的体素化可以包括量化和去除点云的一些点。换句话说,点云的多个点可以包含在单个“体素”内,此后在一些方面可以将其视为一个点。此外,八叉树分析单元210可以基于体素化变换坐标生成八叉树。另外,在图2的示例中,表面近似分析单元212可以分析这些点以潜在地确定点集的表面表示。算术编码单元214可以对表示由表面近似分析单元212确定的八叉树和/或表面的信息的语法元素进行熵编码。g-pcc编码器200可以在几何比特流203中输出这些语法元素。几何比特流203还可以包括其它语法元素,包括未算术编码的语法元素。
57.几何重构单元216可以基于八叉树、指示由表面近似分析单元212确定的表面的数据和/或其它信息来重构点云的点的变换坐标。由于体素化和表面近似,由几何重构单元216重构的变换坐标的数量可以不同于点云的点的原始数量。本公开可以将结果点称为重构点。属性转移单元208可将点云的原始点的属性转移到点云的重构点。
58.此外,raht单元218可以将raht译码应用于重构点的属性。可替代地或另外,lod生成单元220和提升单元222可以分别对重构点的属性应用lod处理和提升。raht单元218和提升单元222可以基于属性来生成系数。系数量化单元224可以量化由raht单元218或提升单元222生成的系数。算术编码单元226可以将算术编码应用于表示量化系数的语法元素。g-pcc编码器200可以在属性比特流205中输出这些语法元素。属性比特流205还可以包括其它语法元素,包括非算术编码的语法元素。
59.如下文将更详细地解释,g-pcc编码器200是被配置为执行本公开的量化和/或缩放技术的设备的示例。在一个示例中,g-pcc编码器200可被配置为:基于参数值k确定量化参数(qp)值,其中参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;使用qp值对点云进行编码;对指示qp值的一个或多个语法元素进行编码;以及对指示参数值k的语法元素进行编码。
60.在图3的示例中,g-pcc解码器300可以包括几何算术解码单元302、属性算术解码单元304、八叉树合成单元306、逆量化单元308,表面近似合成单元310、几何重构单元312、raht单元314、lod生成单元316、逆提升单元318、逆变换坐标单元320和逆变换颜色单元322。
61.g-pcc解码器300可以获得几何比特流203和属性比特流205。解码器300的几何算术解码单元302可以将算术解码(例如,上下文自适应二进制算术译码(cabac)或其它类型的算术解码)应用于几何比特流中的语法元素。类似地,属性算术解码单元304可以对属性比特流中的语法元素应用算术解码。
62.八叉树合成单元306可以基于从几何比特流解析的语法元素来合成八叉树。在几何比特流中使用表面近似的情况下,表面近似合成单元310可以基于从几何比特流解析的语法元素且基于八叉树来确定表面模型。
63.此外,几何重构单元312可以执行重构以确定点云的点的坐标。逆变换坐标单元320可以对重构坐标应用逆变换,以将点云的点的重构坐标(位置)从变换域转换回初始域。
64.另外,在图3的示例中,逆量化单元308可以对属性值进行逆量化。属性值可基于从
属性比特流获得的语法元素(例如,包括由属性算术解码单元304解码的语法元素)。
65.根据如何对属性值进行编码,raht单元314可以执行raht译码以基于逆量化的属性值来确定点云的点的颜色值。可替代地,lod生成单元316和逆提升单元318可以使用基于细节级别的技术来确定点云的点的颜色值。
66.此外,在图3的示例中,逆变换颜色单元322可以对颜色值应用逆颜色变换。逆颜色变换可以是由编码器200的颜色变换单元204应用的颜色变换的逆变换。举例来说,颜色变换单元204可以将颜色信息从rgb颜色空间变换到ycbcr颜色空间。相应地,逆颜色变换单元322可以将颜色信息从ycbcr颜色空间变换到rgb颜色空间。
67.如下文将更详细地解释,g-pcc解码器300是被配置为执行本公开的量化和/或缩放技术的设备的示例。在一个示例中,g-pcc解码器300可被配置为:对指示qp值的一个或多个语法元素进行解码;对指示参数值k的语法元素进行解码,其中参数值k指定每两倍缩放步长的qp点的数量;基于qp值和参数值k确定缩放步长;以及使用确定的缩放步长来对点云进行解码。
68.示出了图2和图3的各个单元来帮助理解由编码器200和解码器300执行的操作。这些单元可被实现为固定功能电路、可编程电路或其组合。固定功能电路是指提供特定功能并在可以执行的操作上预置的电路。可编程电路是指可被编程以执行各种任务并在可以执行的操作中提供灵活功能的电路。例如,可编程电路可以执行软件或固件,所述软件或固件使可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是不同的电路块(固定功能的或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
69.非规范性量化和缩放
70.在一些示例中,原始点云可以以浮点格式或以非常高的比特深度来表示。输入点云以某一比特深度被量化和体素化,由图2中的g-pcc编码器200的体素化单元206表示。出于体素化的目的,可以在体素化单元206中的g-pcc编码器200处应用量化,并且可以在g-pcc解码器300处执行缩放,主要用于在专用物理空间(即,在物理维度中)中映射解码的点云(即,以体素为单位)。使用语法元素sps_source_scale_factor_numerator_minus1和sps_source_scale_factor_denominator_minus1来信令通知可由g-pcc解码器300用于此操作的缩放值。
71.作为预处理步骤(在编码之前)的量化过程和作为后处理步骤(在解码之后)的缩放过程不影响整个译码过程。即,量化和缩放本质上是非规范性的。译码过程之外的该操作大致类似于空间下采样到较低的空间分辨率以用于压缩,随后在用传统2d视频帧显示之前进行上采样。在这种传统2d视频情况下,下采样和上采样是非规范性的并且不影响译码过程。下表示出了指示信令通知的缩放因子分子(sps_source_scale_factor_numerator_minus1)和分母(sps_source_scale_factor_denominator_minus1)的语法元素。
72.sps_source_scale_factor_numerator_minus1ue(v)sps_source_scale_factor_denominator_minus1ue(v)
73.g-pcc中的规范性量化和缩放
74.编解码器内的几何坐标/位置的量化/缩放或在g-pcc中提到的几何缩放是由几何
参数集(gps)中的标志和量化参数(qp)值来控制。可在语法结构的多个级别中指定/修改qp值。下面描述与语法的各个部分中的几何缩放相关联的语法元素。
75.几何参数集(gps)
[0076][0077]
语法元素geom_scaling_enabled_flag使得能够在g-pcc解码器300处对几何坐标进行缩放,并且geom_base_qp用于导出在该过程中使用的缩放值。
[0078]
几何切片报头(gsh)
[0079][0080]
在几何切片报头(gsh)中,g-pcc编码器200可信令通知qp偏移,所述qp偏移用于修改用于属于切片的点的缩放值。gsh还包括标志(geom_octree_qp_offsets_enabled_flag),其控制是否在较低八叉树级别中启用qp偏移控制。如果是,则g-pcc编码器200还信令通知指定qp参数的深度(geom_octree_qp_offsets_depth)。
[0081]
几何节点
[0082][0083]
当当前八叉树深度等于从geom_octree_qp_offsets_depth导出的geomscalingdepth时,g-pcc解码器300可针对属于该节点的点应用qp偏移。从比特流中信令通知的语法元素导出的geomscalingdepth是指应用几何缩放的深度。随着从根节点向叶节点对八叉树进行译码,深度增加。随着每个深度增加,对被占用的节点/叶节点的位置的更多比特进行译码。当深度达到geomscalingdepth时,对所有后续比特进行量化,并且用量化的比特继续进行八叉树译码过程。这适用于深度等于geomscalingdepth的所有节点。
[0084]
几何量化参数导出过程
[0085]
g-pcc编码器200和g-pcc解码器300根据正被处理的节点来确定几何缩放因子的qp值。缩放过程修改子节点的有效节点尺寸,这由下面描述的过程确定。在该过程中,当八叉树节点的深度小于geomscalingdepth时,以无损模式(例如,qp等于4)对坐标或比特进行译码。当深度等于geomscalingdepth时,将qp设置为等于基本qp(geom_base_qp)、切片qp偏移(geom_slice_qp_offset)和节点qp偏移(nodeqpoffset)的和。对于大于geomscalingdepth的深度,将qp设置为等于父树深度的qp(其与geomscalingdepth处的qp相同)。下面示出了从g-pcc导出几何qp的示例过程。
[0086]
如下导出变量nodeqp:
[0087]-当深度等于geomscalingdepth时:
[0088]
nodeqp=geom_base_qp geom_slice_qp_offset nodeqpoffset
[0089]-当深度大于geomscalingdepth时:
[0090]
nodeqp=nodeqpmap[depth][nodeidx]
[0091]-否则,深度小于geomscalingdepth,将nodeqp设置为等于4。
[0092]
如下导出变量effectivechildnodesizelog2和effectivedepth:
[0093]
effectivechildnodesizelog2=childnodesizelog2-(nodeqp-4)/6
[0094]
effectivedepth=深度 (nodeqp-4)/6
[0095]
几何缩放过程的调用
[0096]
g-pcc解码器300处的几何缩放过程在g-pcc标准的第8.2.2.2节(下面再现的示例)中调用,其中使用geomscale()函数。在每个节点处,导出对应于子节点的位置。子节点的数量由变量geometrynodechildrencnt表示。geometrynodechildrencnt的值可以至多为8。使用3比特数来指定geometrynodechildrencnt个子节点内的子节点的索引,并且从父节点(xn,yn,zn)和childidx的坐标导出子节点(x,y,z)的量化位置。对于每个子节点,使用geomscale()函数导出i=0,1,2的未量化(缩放)位置pointpos[][i]。对于使用直接译码模式(例如,由direct_mode_flag指示)译码的节点,也使用geomscale()函数从子节点位置以及pointoffsetx[]、pointoffsety[]和pointoffsetz[]值获得相应的缩放位置。
[0097]
8.2.22八叉树节点解码过程
[0098]
该过程的输入为:
[0099]

指定当前几何八叉树节点的位置的八叉树节点位置(深度,nodeidx)
[0100]

指定当前几何八叉树节点在当前切片中的位置的空间位置(xn,yn,zn)。
[0101]
该过程的输出是修改的数组pointpos和更新的变量pointcount。
[0102]
如果effectivedepth小于maxgeometryoctreedepth-1且direct_mode_flag等于0,则该过程不输出点。否则,如果effectivedepth大于或等于maxgeometryoctreedepth-1或者direct_mode_flag等于1,则该过程的其余部分生成一个或多个点位置。
[0103]
函数geomscale(val,cidx)被定义为用于单个八叉树节点位置组件8.2.2.3的缩放过程的调用,其中位置val、组件cidx和被设置为等于nodeqp的变量qp作为输入。
[0104]
如下根据每个子节点中重复点的数量和直接译码位置的使用来确定每个被占用子节点中点的空间位置:
[0105]
如下使用geomscale()函数来导出使用qp的节点位置的缩放:
[0106][0107][0108]
在geomscale()函数中,对节点位置进行缩放并且如下所述导出逆量化的位置值:
[0109]
8.2.23用于单个八叉树节点位置组件的缩放过程
[0110]
该过程的输入为:
[0111]

表示未缩放的位置组件值的变量val,
[0112]

指定位置组件索引的变量cidx,
[0113]

指定量化参数的变量qp。
[0114]
该过程的输出是缩放的位置组件值pos。
[0115]
(注意?)当geom_scaling_enabled_flag等于0时,该过程的输出等于输入值pos。
[0116]
变量scalingexpansionlog2被设置为等于(qp-4)/6。
[0117]
如下导出表示未缩放位置组件值的级联部分的变量highpart和lowpart:
[0118]
highpart=val》》(scalingnodesizelog2[cidx]-scalingexpansionlog2)
[0119]
lowpart=val&((1<<(scalingnodesizelog2[cidx]-scalingexpansionlog2))-1)
[0120]
列表geomlevelscale被指定为geomlevelscale[i]={659445,741374,831472,933892,1048576,1175576},其中i=0..5.
[0121]
如下导出输出变量pos:
[0122]
highparts=highpart<<scalingnodesizelog2[cidx]
[0123]
lowparts=(lowpart*(geomlevelscale[qp%6]<<(qp/6)) (1<<19))》》20
[0124]
pos=highpart|lowpart
[0125]
可替代的缩放方法
[0126]
在以下文献中提出了替代几何缩放过程的机制:“g-pcc:integer step sizes for in-tree geometry quantisation(g-pcc:用于树内几何量化的整数步长)”m52522,d.flynn、k.mammou,比利时布鲁塞尔,2020年1月,其中将以下步长用于缩放操作。
[0127]
geomlevelscale[i]={1,1.25,1.5,1.75}
[0128]
在g-pcc的一个示例中,上述缩放因子用作g-pcc锚点的默认缩放机制。
[0129]
在一些情况下,可以将上述值的缩放版本用于固定点实现(例如,值4、5、6、7);可以伴随移位和舍入操作来应用正确的缩放因子。qp值0对应于无损情况(缩放值1),并且对于每四个qp值,qp步长加倍。可以如下导出步长,其中floor()代表向下取整运算:
[0130]
qs=(1/4)*[4 (qp mod 4)]*2
floor(qp/4)
[0131]
大多数qp的合成步长是整数,但也指定了一些非整数步长。表1指定了各种qp值的步长。图4示出了如表1所示的相同步长函数。
[0132]
1.表1
[0133][0134][0135]
[g-pcc]ce13.29关于几何量化qp控制的报告(m54610,在线,2020年6月-7月)中指定的缩放推导指定了混合缩放步长推导模型,其中对于高达8个的步长,每两倍步长有四个
qp点。随后,在8个步长之后,每两倍步长有6个qp点。由于值6不是2的幂,因此该推导需要附加步骤(例如,除法,而不是移位)来计算量化步长。
[0136]
此外,对于某些点云数据,对于每两倍步长可能不需要具有大量的qp值。一般来说,每两倍步长的qp值越多,g-pcc编码器200和g-pcc解码器300就越精细地控制量化和缩放过程。然而,对于稀疏内容,对于每两倍步长具有较少的qp值可能就足够了,或者在一些情况下只有1个qp值(这转化成步长为2的幂)。因此,需要基于内容来定制qp值的分辨率。
[0137]
此外,当应用树内量化时,g-pcc中的某些工具表现不佳。这通常适用于使用点相对于另一参考点的固有位置的工具,诸如角度模式或方位角模式。以下文献描述了一些示例:s
é
bastien lasserre,jonathan taquet,“[gpcc][ce 13.22相关]an improvement of the planar coding mode(平面译码模式的改进)”iso/iec jtc1/sc29/wg11 mpeg/m50642,日内瓦,ch,2019年10月;s
é
bastien lasserre,jonathan taquet,“[gpcc]ce 13.22 report on angular mode(关于角度模式的报告)”iso/iec jtc1/sc29/wg11 mpeg/m51594,比利时布鲁塞尔,2020年1月;s
é
bastien lasserre,jonathan taquet,“[gpcc][ce13.22相关]the azimuthal coding mode(方位角译码模式)”iso/iec jtc1/sc29/wg11 mpeg/m51596,比利时布鲁塞尔,2020年1月;以及s
é
bastien lasserre,jonathan taquet,“[gpcc][ce 13.22]report on azimuthal coding mode”iso/iec jtc1/sc29/wg11 mpeg/m52958,teleconference(previously alpbach meeting)(远程电信会议(先前的alpbach会议)),2020年4月。在这种情况下,仅将量化步长限制为2的幂可能是有益的。
[0138]
鉴于这些缺点,本公开描述了改进基于几何的点云的几何量化和缩放的方法和设备。具体来说,本公开描述了用于量化参数(qp)选择和信令通知的技术,其允许在g-pcc编码器200处执行的量化和在g-pcc解码器300处执行的互反缩放函数的多级别粒度。这样,由编码器/解码器对执行的量化和缩放过程可以更适应于正在被译码的内容,从而提高译码效率。qp和互反缩放因子适应到正在被译码的内容对于点云可能特别有益,其中点云的某些区域可能比点云的其它区域实质上更密集(例如,包括更多的点)。
[0139]
本公开中描述的技术可以独立地实现,或者与一种或其它技术组合实现。短语步长、缩放值、比例步长、缩放步长都是指同一值,即在g-pcc解码器300处使用的缩放值。
[0140]
在本公开的第一示例中,g-pcc编码器200和g-pcc解码器300可根据指定最大参数值k来操作,所述指定最大参数值k指定每两倍步长的qp点的数量。通常,最大参数值k指定可用于qp和互反缩放步长的粒度级别的数量。另外,最大参数值k通常可以被认为是qp值的最大精度。例如,当k的值=3时,四个不同的粒度级别是可用的(例如,0到k),其中对于每两倍步长,最大精度高达8个qp点。应注意,这里的qp值的粒度是指用于导出量化/缩放步长的qp值。信令通知的值可能与该qp值不同;例如,如果qp值的粒度/精度是2(即,qp值的值将取值0、2、4、6、8
……
),则信令通知的值可以是0、1、2、3、4
……
从而通过将信令通知的值乘以精度值2来获得导出的qp值。
[0141]
g-pcc编码器200可被配置为确定用于导出缩放步长的实际精度的参数值k。k的值可以是限制在0至k范围内的整数值,包括0和k。例如,当参数值k=0时,则允许qp值采用qp值的全精度(例如,在g-pcc解码器300处使用的每两倍步长的8个qp点)。如以下将示出的,参数值k的不同值可以根据每两倍缩放步长的qp点的数量来指示不同的qp精度。在一些示例中,g-pcc编码器200可以基于点云内容来确定参数值k。例如,g-pcc编码器200可以确定
对于更密集的点云内容具有更高精度(例如,每两倍缩放步长有更多的qp点)的参数值k。在其它示例中,g-pcc编码器2000可以确定对于更稀疏的点云内容具有更低精度(例如,每两倍缩放步长有更少的qp点)的参数值k。
[0142]
在一个示例中,参数值k可被限制为对于画面中的所有切片/数据单元均相同。在其它示例中,g-pcc编码器200可在点云的一个或多个级别上信令通知参数值k的语法元素。例如,g-pcc编码器200可以对在任何参数集(例如,序列参数集(sps)、gps、自适应参数集(aps)等)中指示参数值k的语法元素进行编码并信令通知。在其它示例中,g-pcc编码器200可以对在数据单元和/或切片中指示参数值k的语法元素进行编码并信令通知。
[0143]
在另一示例中,可将允许信令通知的qp的最大值指定为参数值k和最大参数值k的函数。例如,qp的最大值可以被限制为[minnodesize<<(k-k)]

1,其中minnodesize是节点的大小的(三维的)最小尺寸。qp的值可以被限幅为最大qp值。
[0144]
在一个示例中,对于k=3,k的各种值的归一化步长可以如下:
[0145]
[0146][0147]
在上述示例中,当参数值k=0且最大参数值k=3时,对于每8个qp点,缩放步长加倍。当参数值k=1且最大参数值k=3时,对于每4个qp点,缩放步长加倍。当参数值k=2且最大参数值k=3时,对于每2个qp点,缩放步长加倍。当参数值k=3且最大参数值k=3时,对于每1个qp点,缩放步长加倍。
[0148]
在另一示例中,对于k=3,k的各种值的归一化步长可以如下:
[0149]
[0150][0151]
鉴于上文,在本公开的一个示例中,g-pcc编码器200可被配置为基于参数值k确定量化参数(qp)值,其中参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量。g-pcc编码器200可以使用qp值对点云进行编码。例如,g-pcc编码器200可以使用所确定的qp来量化点云的节点位置。
[0152]
g-pcc编码器200可被进一步配置为对指示qp值的一个或多个语法元素进行编码。例如,g-pcc编码器200可以对上述几何参数集(例如,geom_base_qp)、几何切片报头(geom_slice_qp_offset)和几何节点(例如,geom_node_qp_offset_sign_flag和geom_node_qp_offset_abs_minus1)中的语法元素进行编码。另外,g-pcc编码器200可以对指示参数值k的语法元素进行编码。例如,g-pcc编码器200可以对在序列参数集、几何参数集、自适应参数集、切片或数据单元中的一个或多个中指示参数值k的语法元素进行编码。在该示例中,指示qp值的所述一个或多个语法元素包括右移参数值k的值。例如,经编码的语法元素可被导出为qp值(例如,用于步长推导)》》k。在g-pcc解码器300处,通过将所述一个或多个语法元素的值(q)乘以参数值k(例如,q<<k或q*2k)的函数来导出qp值。
[0153]
在一个示例中,参数值k是范围在0至最大参数值k之间的整数,其中最大参数值k指示qp值的最大精度。在具体示例中,等于3的最大参数值k指示每两倍缩放步长的8个qp点的最大精度。在该具体示例中,等于第一值的参数值k指示每两倍缩放步长的8个qp点,等于第二值的参数值k指示每两倍缩放步长的4个qp点,等于第三值的参数值k指示每两倍缩放
步长的2个qp点,并且等于第四值的参数值k指示每两倍缩放步长的1个qp点。
[0154]
以互反的方式,g-pcc解码器300可被配置为对指示qp值的一个或多个语法元素进行解码。例如,g-pcc解码器300可以对上述几何参数集(例如,geom_base_qp)、几何切片报头(geom_slice_qp_offset)和几何节点(例如,geom_node_qp_offset_sign_flag和geom_node_qp_offset_abs_minus1)中的语法元素进行解码,并且可以根据解码的语法元素来确定qp值。g-pcc解码器300可进一步对指示参数值k的语法元素进行解码,其中参数值k指定每两倍缩放步长的qp点的数量。
[0155]
g-pcc解码器300可以基于qp值和参数值k来确定缩放步长。下面描述如何配置g-pcc解码器300以确定缩放步长的示例。g-pcc解码器300随后可以使用确定的缩放步长来对点云进行解码。例如,g-pcc解码器300可以使用确定的缩放步长来缩放点云的节点位置。
[0156]
示例实施方式
[0157]
在该示例中,g-pcc编码器200和g-pcc解码器300可被配置为根据指定qp值的粒度级别的参数而操作。在一个示例中,可以将最大粒度指定为最大参数值k=3。这意味着对于每两倍步长,可以指定至多8个qp点。例如,如果将k信令通知为1,则将用于两倍步长的qp点的数量指定为2
k-k
=4(其是锚点)。然而,在其它示例中,g-pcc编码器200可以确定每两倍步长更多的点,并且可以将k的值信令通知为0。k的值=3意味着仅允许信令通知作为2的幂的步长。qp的最大值也相应地修改。
[0158]
此技术的潜在益处包括在不需要较高精度的qp的情况下提高信令通知qp值和qp偏移的效率。这可能发生在稀疏内容的情况下,或者当内容在某些量化节点尺寸处稀疏时,其中不需要额外精度的qp值。在其它情况下,当启用某些模式(例如,角度模式)时,可容易地将量化限制为某些值(例如,2的幂)。例如,对于空间可缩放性,在一些示例中可以仅使用2的幂的步长。当启用这种工具时,其它步长可能不会提供足够的益处,并且该可配置参数值k提供了防止选择这种步长的容易方式。
[0159]
由于这些原因,参数值k(也被称为qp细化因子)可以连同与几何特定工具相关的其它语法元素一起在gps中被信令通知。
[0160]
如下针对qp值qp导出用于量化的步长qs(或缩放步长):
[0161]
sh=(qp<<k)》》3
[0162]
qs=(8 (qp<<k)%8)<<sh
[0163]
缩放过程如下:(x*qs 4)》》3。
[0164]
在作为k的函数的更一般的形式中,如下导出步长:
[0165]
m=1<<k
[0166]
sh=(qp<<k)》》k
[0167]
qs=(m (qp<<k)%m)<<sh
[0168]
缩放过程如下:(x*qs (m/2))》》m。
[0169]
图5是示出本公开的示例编码方法的流程图。g-pcc编码器200的一个或多个结构组件可被配置为执行图5的技术。
[0170]
在一个示例中,g-pcc编码器200可被配置为基于参数值k确定量化参数(qp)值,其中参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量(500)。g-pcc编码器200可以使用qp值对点云进行编码(502)。例如,g-pcc编码器200可以使用所确定的qp来量化点
云的节点位置。
[0171]
g-pcc编码器200可被进一步配置为对指示qp值的一个或多个语法元素进行编码(504)。例如,g-pcc编码器200可以对上述几何参数集(例如,geom_base_qp)、几何切片报头(geom_slice_qp_offset)和几何节点(例如,geom_node_qp_offset_sign_flag和geom_node_qp_offset_abs_minus1)中的语法元素进行编码。另外,g-pcc编码器200可以对指示参数值k的语法元素进行编码(506)。例如,g-pcc编码器200可以对在序列参数集、几何参数集、自适应参数集、切片或数据单元中的一个或多个中指示参数值k的语法元素进行编码。
[0172]
在一个示例中,参数值k是范围在0至最大参数值k之间的整数,其中最大参数值k指示qp值的最大精度。在具体示例中,等于3的最大参数值k指示每两倍缩放步长的8个qp点的最大精度。在该具体示例中,等于第一值的参数值k指示每两倍缩放步长的8个qp点,等于第二值的参数值k指示每两倍缩放步长的4个qp点,等于第三值的参数值k指示每两倍缩放步长的2个qp点,并且等于第四值的参数值k指示每两倍缩放步长的1个qp点。
[0173]
图6是示出本公开的示例解码方法的流程图。g-pcc解码器300的一个或多个结构组件可被配置为执行图6的技术。
[0174]
g-pcc解码器300可被配置为对指示qp值的一个或多个语法元素进行解码(600)。例如,g-pcc解码器300可以对上述几何参数集(例如,geom_base_qp)、几何切片报头(geom_slice_qp_offset)和几何节点(例如,geom_node_qp_offset_sign_flag和geom_node_qp_offset_abs_minus1)中的语法元素进行解码,并且可以根据解码的语法元素来确定qp值。g-pcc解码器300可进一步对指示参数值k的语法元素进行解码,其中参数值k指定每两倍缩放步长的qp点的数量(602)。
[0175]
在一个示例中,参数值k是范围在0至最大参数值k之间的整数,其中最大参数值k指示qp值的最大精度。在具体示例中,等于3的最大参数值k指示每两倍缩放步长的8个qp点的最大精度。在该具体示例中,等于第一值的参数值k指示每两倍缩放步长的8个qp点,等于第二值的参数值k指示每两倍缩放步长的4个qp点,等于第三值的参数值k指示每两倍缩放步长的2个qp点,并且等于第四值的参数值k指示每两倍缩放步长的1个qp点。
[0176]
g-pcc解码器300可以基于qp值和参数值k确定缩放步长(604)。例如,g-pcc解码器300可被配置为使用上述示例实施方式中的技术来确定缩放步长。g-pcc解码器300随后可以使用确定的缩放步长来对点云进行解码(606)。例如,g-pcc解码器300可以使用确定的缩放步长来缩放点云的节点位置。
[0177]
下面描述使用本公开的量化和缩放技术的g-pcc编码和解码的示例使用。然而,应理解,本公开的技术可适用于使用量化和/或缩放的任何点云压缩技术。
[0178]
图7是示出可与本公开的一种或多种技术一起使用的示例测距系统900的概念图。在图7的示例中,测距系统900包括照明器902和传感器904。照明器902可以发射光906。在一些示例中,照明器902可以发射作为一个或多个激光束的光906。光906可以是一个或多个波长,诸如红外波长或可见光波长。在其它示例中,光906不是相干激光。当光906遇到诸如对象908之类的对象时,光906产生返回光910。返回光910可以包括反向散射光和/或反射光。返回光910可以通过透镜911,透镜911引导返回光910以在传感器904上形成对象908的图像912。传感器904基于图像912生成信号914。图像912可以包括一组点(例如,如图7的图像912中的点所表示的)。
[0179]
在一些示例中,照明器902和传感器904可以安装在旋转结构上,使得照明器902和传感器904捕获环境的360度视图。在其它示例中,测距系统900可以包括一个或多个光学组件(例如,反射镜、准直器、衍射光栅等),所述一个或多个光学组件使得照明器902和传感器904能够检测特定范围(例如,高达360度)内的对象。尽管图7的示例仅示出了单个照明器902和传感器904,但是测距系统900可以包括多组照明器和传感器。
[0180]
在一些示例中,照明器902生成结构化光图案。在这些示例中,测距系统900可以包括多个传感器904,结构化光图案的相应图像形成于这些传感器上。测距系统900可以使用结构化光图案的图像之间的差异来确定到对象908的距离,结构化光图案从对象908反向散射。当对象908相对靠近传感器904(例如,0.2米到2米)时,结构化的基于光的测距系统可以具有高的准确度(例如,亚毫米范围内的准确度)。这种高的准确度可以在诸如解锁移动设备(例如,移动电话、平板计算机等)之类的面部识别应用中以及安全应用中是有用的。
[0181]
在一些示例中,测距系统900是基于飞行时间(tof)的系统。在测距系统900是基于tof的系统的一些示例中,照明器902生成光脉冲。换句话说,照明器902可以调制发射光906的幅度。在这些示例中,传感器904检测来自由照明器902生成的光脉冲906的返回光910。测距系统900然后可以基于光906被发射与被检测的时间之间的延迟以及光在空气中的已知速度来确定到对象908的距离,光906从对象908反向散射。在一些示例中,照明器902可以调制发射光1404的相位,而不是(或除了)调制发射光906的幅度。在这些示例中,传感器904可以检测来自对象908的返回光910的相位,并使用光的速度并基于当照明器902在特定相位生成光906时与当传感器904在特定相位检测到返回光910时之间的时间差来确定到对象908上的点的距离。
[0182]
在其它示例中,可以在不使用照明器902的情况下生成点云。例如,在一些示例中,测距系统900的传感器904可以包括两个或更多个光学照相机。在这些示例中,测距系统900可以使用光学照相机来捕获包括对象908在内的环境的立体图像。测距系统900(例如,点云生成器920)然后可以计算立体图像中的位置之间的差异。测距系统900然后可以使用所述差异来确定到立体图像中示出的位置的距离。根据这些距离,点云生成器920可以生成点云。
[0183]
传感器904还可以检测对象908的其它属性,诸如颜色和反射率信息。在图7的示例中,点云生成器920可以基于由传感器904生成的信号918来生成点云。测距系统900和/或点云生成器920可以形成数据源104(图1)的一部分。
[0184]
图8是示出其中可以使用本公开的一种或多种技术的基于车辆的示例场景的概念图。在图8的示例中,车辆1000包括激光器封装1002,诸如lidar系统。尽管在图8的示例中未示出,但是车辆1000还可以包括诸如数据源104(图1)之类的数据源以及诸如g-pcc编码器200(图1)之类的g-pcc编码器。在图8的示例中,激光器封装1002发射激光束1004,其反射行人1006或道路中的其它对象。车辆1000的数据源可以基于由激光器封装1002生成的信号来生成点云。车辆1000的g-pcc编码器可以对点云进行编码以生成比特流1008,诸如几何比特流203(图2)和属性比特流205(图2)。比特流1008可以包括比g-pcc编码器所获得的未编码点云少得多的比特。车辆1000的输出接口(例如,输出接口108(图1))可以将比特流1008传送到一个或多个其它设备。因此,与未编码的点云数据相比,车辆1000可以能够更快地将比特流1008传送到其它设备。另外,比特流1008可能需要较少的数据存储容量。
[0185]
在图8的示例中,车辆1000可将比特流1008传送到另一车辆1010。车辆1010可以包括g-pcc解码器,诸如g-pcc解码器300(图1)。车辆1010的g-pcc解码器可以对比特流1008进行解码以重构点云。车辆1010可以将重构的点云用于各种目的。例如,车辆1010可以基于重构的点云确定行人1006在车辆1000前方的道路中,并且因此例如甚至在车辆1010的驾驶员意识到行人1006在道路中之前开始减速。因此,在一些示例中,车辆1010可以执行自主导航操作,生成通知或警告,或者基于重构的点云执行另一动作。
[0186]
另外或可替代地,车辆1000可以将比特流1008传送到服务器系统1012。服务器系统1012可以使用比特流1008用于各种目的。例如,服务器系统1012可以存储比特流1008,以用于点云的后续重构。在该示例中,服务器系统1012可以使用点云连同其它数据(例如,由车辆1000生成的车辆遥测数据)来训练自主驾驶系统。在其它示例中,服务器系统1012可以存储比特流1008,以用于法医碰撞调查的后续重构(例如,如果车辆1000与行人1006碰撞)。
[0187]
图9是示出其中可使用本公开的一种或多种技术的示例扩展现实系统的概念图。扩展现实(xr)是用于涵盖包括增强现实(ar)、混合现实(mr)和虚拟现实(vr)的技术范围的术语。在图9的示例中,第一用户1100位于第一位置1102。用户1100佩戴xr头戴式耳机1104。作为xr头戴式耳机1104的替代,用户1100可以使用移动设备(例如,移动电话、平板计算机等)。xr头戴式耳机1104包括深度检测传感器,诸如lidar系统,其检测位置1102处的对象1106上的点的位置。xr头戴式耳机1104的数据源可以使用由深度检测传感器生成的信号来生成位置1102处的对象1106的点云表示。xr头戴式耳机1104可以包括被配置为对点云进行编码以生成比特流1108的g-pcc编码器(例如,图1的g-pcc编码器200)。
[0188]
xr头戴式耳机1104可以将比特流1108(例如,经由诸如因特网之类的网络)传送到用户1112在第二位置1114处佩戴的xr头戴式耳机1110。xr头戴式耳机1110可以对比特流1108进行解码以重构点云。xr头戴式耳机1110可以使用点云来生成表示位置1102处的对象1106的xr可视化(例如,ar、mr、vr可视化)。因此,在一些示例中,诸如当xr头戴式耳机1110生成vr可视化时,位置1114处的用户1112可以具有位置1102的3d沉浸式体验。在一些示例中,xr头戴式耳机1110可以基于重构的点云来确定虚拟对象的位置。例如,xr头戴式耳机1110可以基于重构的点云确定环境(例如,位置1102)包括平坦表面,然后确定虚拟对象(例如,卡通人物)将被定位在平坦表面上。xr头戴式耳机1110可以生成其中虚拟对象处于所确定位置的xr可视化。例如,xr头戴式耳机1110可以显示坐在平坦表面上的卡通人物。
[0189]
图10是示出其中可以使用本公开的一种或多种技术的示例移动设备系统的概念图。在图10的示例中,诸如移动电话或平板计算机之类的移动设备1200包括诸如lidar系统之类的深度检测传感器,其检测移动设备1200的环境中的对象1202上的点的位置。移动设备1200的数据源可以使用由深度检测传感器生成的信号来生成对象1202的点云表示。移动设备1200可以包括被配置为对点云进行编码以生成比特流1204的g-pcc编码器(例如,图1的g-pcc编码器200)。在图10的示例中,移动设备1200可以将比特流传送到远程设备1206,诸如服务器系统或其它移动设备。远程设备1206可以对比特流1204进行解码以重构点云。远程设备1206可以将点云用于各种目的。例如,远程设备1206可以使用点云来生成移动设备1200的环境的地图。例如,远程设备1206可以基于重构的点云生成建筑物内部的地图。在另一示例中,远程设备1206可以基于点云来生成图像(例如,计算机图形)。例如,远程设备1206可以使用点云的点作为多边形的顶点,并使用点的颜色属性作为对多边形着色的基
础。在一些示例中,远程设备1206可以使用点云来执行面部识别。
[0190]
以下是可根据本公开的一种或多种技术的方面的非限制性列表。
[0191]
方面1a-一种对点云进行编码的方法,所述方法包括:基于最大值k确定量化参数(qp)值,所述最大值k指定每两倍缩放步长的qp点的数量;以及使用所述qp值对所述点云进行编码。
[0192]
方面2a-根据方面1a所述的方法,其中k的值等于3,使得每两倍步长有8个qp点。
[0193]
方面3a-一种对点云进行编码的方法,所述方法包括:基于缩放步长确定量化参数(qp)值,其中k的值指定所述缩放步长的精度;以及使用所述qp值对所述点云进行编码。
[0194]
方面4a-根据方面3a所述的方法,其中k在零与最大值k之间,所述最大值k指定每两倍所述缩放步长的qp点的数量。
[0195]
方面5a-根据方面3a所述的方法,进一步包括:限制点云数据画面的所有切片或数据单元的k值。
[0196]
方面6a-根据方面3a所述的方法,进一步包括:对序列参数集、几何参数集、自适应参数集、数据单元或切片中的一个或多个中的k的值进行编码。
[0197]
方面7a-根据方面4a所述的方法,其中确定所述qp值进一步包括:基于最大qp值确定所述qp值,其中所述最大qp值是k和k的函数。
[0198]
方面8a-根据方面1a-7a的任意组合所述的方法。
[0199]
方面9a-根据方面1a-8a中任一项所述的方法,还包括生成所述点云。
[0200]
方面10a-一种用于处理点云的设备,所述设备包括用于执行根据方面1a-9a中任一项所述的方法的一个或多个部件。
[0201]
方面11a-根据方面10a所述的设备,其中所述一个或多个部件包括在电路中实现的一个或多个处理器。
[0202]
方面12a-根据方面10a或11a中任一项所述的设备,还包括存储器,以用于存储表示所述点云的数据。
[0203]
方面13a-根据方面10a-12a中任一项所述的设备,其中所述设备包括解码器。
[0204]
方面14a-根据方面10a-13a中任一项所述的设备,其中所述设备包括编码器。
[0205]
方面15a-根据方面10a-14a中任一项所述的设备,还包括用于生成所述点云的设备。
[0206]
方面16a-根据方面10a-15a中任一项所述的设备,还包括用于基于所述点云呈现图像的显示器。
[0207]
方面17a-一种其上存储有指令的计算机可读存储介质,所述指令在被执行时使一个或多个处理器执行根据方面1a-9a中任一项所述的方法。
[0208]
方面1b-一种被配置为对点云进行编码的装置,所述装置包括:存储器,其被配置为存储所述点云;以及一个或多个处理器,所述一个或多个处理器在电路中实现并且与所述存储器通信,所述一个或多个处理器被配置为:基于参数值k确定量化参数(qp)值,其中所述参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;使用所述qp值对所述点云进行编码;对指示所述qp值的一个或多个语法元素进行编码;以及对指示所述参数值k的语法元素进行编码。
[0209]
方面2b-根据方面1b所述的装置,其中指示所述qp值的所述一个或多个语法元素
包括右移所述参数值k的值。
[0210]
方面3b-根据方面1b所述的装置,其中所述参数值k是范围在0至最大参数值k之间的整数,其中所述最大参数值k指示所述qp值的最大精度。
[0211]
方面4b-根据方面3b所述的装置,其中等于3的所述最大参数值k指示每两倍所述缩放步长的8个qp点的所述最大精度。
[0212]
方面5b-根据方面4b所述的装置,其中等于第一值的所述参数值k指示每两倍所述缩放步长的8个qp点,等于第二值的所述参数值k指示每两倍所述缩放步长的4个qp点,等于第三值的所述参数值k指示每两倍所述缩放步长的2个qp点,并且等于第四值的所述参数值k指示每两倍所述缩放步长的1个qp点。
[0213]
方面6b-根据方面4b所述的装置,其中所述qp值是通过将所述一个或多个语法元素的值乘以所述参数值k的函数而导出的。
[0214]
方面7b-根据方面1b-6b中任一项所述的装置,其中为了对指示所述参数值k的所述语法元素进行编码,所述一个或多个处理器被进一步配置为:对在序列参数集、几何参数集、自适应参数集、切片或数据单元中的一个或多个中指示所述参数值k的所述语法元素进行编码。
[0215]
方面8b-根据方面1b-7b中任一项所述的装置,其中为了使用所述qp值对所述点云进行编码,所述一个或多个处理器被进一步配置为:使用所述确定的qp来量化所述点云的节点位置。
[0216]
方面9b-根据方面1b-8b中任一项所述的装置,进一步包括:传感器,其被配置为生成所述点云。
[0217]
方面10b-一种对点云进行编码的方法,所述方法包括:基于参数值k确定量化参数(qp)值,其中所述参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;使用所述qp值对所述点云进行编码;对指示所述qp值的一个或多个语法元素进行编码;以及对指示所述参数值k的语法元素进行编码。
[0218]
方面11b-根据方面10b所述的方法,其中指示所述qp值的所述一个或多个语法元素包括右移所述参数值k的值。
[0219]
方面12b-根据方面10b所述的方法,其中所述参数值k是范围在0至最大参数值k之间的整数,其中所述最大参数值k指示所述qp值的最大精度。
[0220]
方面13b-根据方面12b所述的方法,其中等于3的所述最大参数值k指示每两倍所述缩放步长的8个qp点的所述最大精度。
[0221]
方面14b-根据方面13b所述的方法,其中等于第一值的所述参数值k指示每两倍所述缩放步长的8个qp点,等于第二值的所述参数值k指示每两倍所述缩放步长的4个qp点,等于第三值的所述参数值k指示每两倍所述缩放步长的2个qp点,并且等于第四值的所述参数值k指示每两倍所述缩放步长的1个qp点。
[0222]
方面15b-根据方面13b所述的方法,其中所述qp值是通过将所述一个或多个语法元素的值乘以所述参数值k的函数而导出的。
[0223]
方面16b-根据方面10b-15b中任一项所述的方法,其中对指示所述参数值k的所述语法元素进行编码包括:对在序列参数集、几何参数集、自适应参数集、切片或数据单元中的一个或多个中指示所述参数值k的所述语法元素进行编码。
[0224]
方面17b-根据方面10b-16b中任一项所述的方法,其中使用所述qp值对所述点云进行编码包括:使用所述确定的qp来量化所述点云的节点位置。
[0225]
方面18b-一种被配置为对点云进行编码的装置,所述装置包括:用于基于参数值k确定量化参数(qp)值的部件,其中所述参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;用于使用所述qp值对所述点云进行编码的部件;用于对指示所述qp值的一个或多个语法元素进行编码的部件;以及用于对指示所述参数值k的语法元素进行编码的部件。
[0226]
方面19b-一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使被配置为对点云进行编码的设备的一个或多个处理器:基于参数值k确定量化参数(qp)值,其中所述参数值k指定将在解码器处使用的每两倍缩放步长的qp点的数量;使用所述qp值对所述点云进行编码;对指示所述qp值的一个或多个语法元素进行编码;以及对指示所述参数值k的语法元素进行编码。
[0227]
方面20b-一种被配置为对点云进行解码的装置,所述装置包括:存储器,其被配置为存储所述点云;以及一个或多个处理器,所述一个或多个处理器在电路中实现并且与所述存储器通信,所述一个或多个处理器被配置为:对指示qp值的一个或多个语法元素进行解码;对指示参数值k的语法元素进行解码,其中所述参数值k指定每两倍缩放步长的qp点的数量;基于所述qp值和所述参数值k确定所述缩放步长;以及使用所述确定的缩放步长来对所述点云进行解码。
[0228]
方面21b-根据方面20b所述的装置,其中指示所述qp值的所述一个或多个语法元素包括右移所述参数值k的值。
[0229]
方面22b-根据方面20b所述的装置,其中所述参数值k是范围在0至最大参数值k之间的整数,其中所述最大参数值k指示所述qp值的最大精度。
[0230]
方面23b-根据方面22b所述的装置,其中等于3的所述最大参数值k指示每两倍所述缩放步长的8个qp点的所述最大精度。
[0231]
方面24b-根据方面23b所述的装置,其中等于第一值的所述参数值k指示每两倍所述缩放步长的8个qp点,等于第二值的所述参数值k指示每两倍所述缩放步长的4个qp点,等于第三值的所述参数值k指示每两倍所述缩放步长的2个qp点,并且等于第四值的所述参数值k指示每两倍所述缩放步长的1个qp点。
[0232]
方面25b-根据方面23b所述的装置,其中所述一个或多个处理器被配置为:将所述一个或多个语法元素的值乘以所述参数值k的函数以导出所述qp值。
[0233]
方面26b-根据方面20b-25b中任一项所述的装置,其中为了对指示所述参数值k的所述语法元素进行解码,所述一个或多个处理器被进一步配置为:对来自序列参数集、几何参数集、自适应参数集、切片或数据单元中的一个或多个的指示所述参数值k的所述语法元素进行解码。
[0234]
方面27b-根据方面20b-26b中任一项所述的装置,其中为了使用所述确定的缩放步长来对所述点云进行解码,所述一个或多个处理器被进一步配置为:使用所述确定的缩放步长来缩放所述点云的节点位置。
[0235]
方面28b-根据方面20b-27b中任一项所述的装置,进一步包括:显示器,其被配置为显示所述点云。
[0236]
方面29b-一种对点云进行解码的方法,所述方法包括:对指示qp值的一个或多个语法元素进行解码;对指示参数值k的语法元素进行解码,其中所述参数值k指定每两倍缩放步长的qp点的数量;基于所述qp值和所述参数值k确定所述缩放步长;以及使用所述确定的缩放步长来对所述点云进行解码。
[0237]
方面30b-根据方面29b所述的方法,其中指示所述qp值的所述一个或多个语法元素包括右移所述参数值k的值。
[0238]
方面31b-根据方面29b所述的方法,其中所述参数值k是范围在0至最大参数值k之间的整数,其中所述最大参数值k指示所述qp值的最大精度。
[0239]
方面32b-根据方面31b所述的方法,其中等于3的所述最大参数值k指示每两倍所述缩放步长的8个qp点的所述最大精度。
[0240]
方面33b-根据方面32b所述的方法,其中等于第一值的所述参数值k指示每两倍所述缩放步长的8个qp点,等于第二值的所述参数值k指示每两倍所述缩放步长的4个qp点,等于第三值的所述参数值k指示每两倍所述缩放步长的2个qp点,并且等于第四值的所述参数值k指示每两倍所述缩放步长的1个qp点。
[0241]
方面34b-根据方面32b所述的方法,进一步包括:将所述一个或多个语法元素的值乘以所述参数值k的函数以导出所述qp值。
[0242]
方面35b-根据方面29b-34b中任一项所述的方法,其中对指示所述参数值k的所述语法元素进行解码包括:对来自序列参数集、几何参数集、自适应参数集、切片或数据单元中的一个或多个的指示所述参数值k的所述语法元素进行解码。
[0243]
方面36b-根据方面29b-35b中任一项所述的方法,其中使用所述确定的缩放步长对所述点云进行解码包括:使用所述确定的缩放步长来缩放所述点云的节点位置。
[0244]
方面37b-一种被配置为对点云进行解码的装置,所述装置包括:用于对指示qp值的一个或多个语法元素进行解码的部件;用于对指示参数值k的语法元素进行解码的部件,其中所述参数值k指定每两倍缩放步长的qp点的数量;用于基于所述qp值和所述参数值k确定所述缩放步长的部件;以及用于使用所述确定的缩放步长来对所述点云进行解码的部件。
[0245]
方面38b-一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使被配置为对点云进行解码的设备的一个或多个处理器:对指示qp值的一个或多个语法元素进行解码;对指示参数值k的语法元素进行解码,其中所述参数值k指定每两倍缩放步长的qp点的数量;基于所述qp值和所述参数值k确定所述缩放步长;以及使用所述确定的缩放步长来对所述点云进行解码。
[0246]
本公开的各个方面中的示例可以单独使用或以任何组合使用。
[0247]
应认识到,根据示例,本文中所描述的技术中的任一者的某些动作或事件可以按不同顺序执行,可添加、合并或完全省去(例如,并非所有所描述的动作或事件对于实践所述技术是必需的)。此外,在某些示例中,可以例如通过多线程处理、中断处理或多个处理器而不是顺序地来同时执行动作或事件。
[0248]
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任意组合实现。如果以软件实现,则这些功能可以作为计算机可读介质上的一个或多个指令或代码来在其上存储或传送,并由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存
储介质,其对应于诸如数据存储介质之类的有形介质,或者包括便于例如根据通信协议将计算机程序从一个地方传送到另一个地方的任何介质在内的通信介质。以此方式,计算机可读介质通常可对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波之类的通信介质。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
[0249]
作为示例而非限制,这种计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、闪存或可用于以指令或数据结构的形式存储所需程序代码并可由计算机访问的任何其它介质。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或诸如红外线、无线电和微波之类的无线技术从网站、服务器或其它远程源传送指令,则同轴电缆、光纤电缆、双绞线、dsl或诸如红外线、无线电和微波之类的无线技术包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它暂时性介质,而是针对非暂时性的有形存储介质。这里使用的磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
[0250]
指令可以由诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)或其它等效集成或分立逻辑电路之类的一个或多个处理器执行。因此,这里使用的术语“处理器”和“处理电路”可以指前述结构中的任一者或适于实现本文所描述的技术的任何其它结构。另外,在一些方面,本文所描述的功能可以在被配置为用于编码和解码的专用硬件及/或软件模块内提供,或并入组合的编解码器中。此外,所述技术可以完全在一个或多个电路或逻辑元件中实现。
[0251]
本公开的技术可以在各种各样的设备或装置中实现,包括无线手机、集成电路(ic)或一组ic(例如,芯片组)。在本公开中描述了各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但不一定要求由不同的硬件单元来实现。相反,如上所述,各种单元可以组合在编解码器硬件单元中,或者由包括如上所述的一个或多个处理器在内的协作硬件单元的集合连同适当的软件和/或固件来提供。
[0252]
已经描述了各种示例。这些和其它示例在以下权利要求的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献