Point clouds are large datasets that consume significant storage and bandwidth. You can use point cloud compression to reduce storage costs and improve data transfer efficiency.
Use cases
Autonomous driving: Compress point cloud data from radar scans.
Digital heritage and museums: Compress point cloud data from digitized cultural artifacts.
Smart cities: Compress point cloud data from 3D urban reconstruction for smooth rendering and display.
Mixed reality: Provide real-time encoding and decoding for point cloud data.
Usage notes
Point cloud compression supports only synchronous processing by using the
x-oss-processparameter.Before you use point cloud compression, you must attach an Intelligent Media Management (IMM) project. For instructions, see Quick start and AttachOSSBucket.
-
Anonymous access will be denied.
-
You must have the required permissions to use the feature. For more information, see permissions.
Parameters
Action: pointcloud/compress
The following table describes the parameters.
Parameter | Type | Required | Description |
f | string | No | The format of the point cloud data (PCD) file. Only |
m | string | Yes | The compression method. Valid values:
|
fs | string | No | Specifies the PCD properties to be compressed and their order. The data is then decompressed in the same order. Currently, only the Note This parameter requires URL-safe encoding. For example, to specify |
Parameters for the Octree compression method are appended after the /octree parameter.
The following table describes the parameters.
Parameter | Type | Required | Description |
lib | string | No | The name of the compression library. Only |
pr | float | No | The point cloud resolution. This parameter determines the precision of point coordinates during encoding. The value must be in the range of [0, 1]. Default value: 0.01. |
or | float | No | The side length of the smallest voxel used for octree partitioning. The value must be in the range of [0, 1]. Default value: 0.01. |
d | int | No | Specifies whether to enable downsampling. A value of |
The Kdtree compression method parameters are appended to the /kdtree parameter.
The following table describes the parameters.
Parameter | Type | Required | Description |
lib | string | No | The name of the compression library. Only |
cl | int | Yes | The compression level. Higher values preserve more detail. The value must be in the range of [0, 10]. |
qb | int | Yes | The number of quantization bits. Higher values retain more detail. The value must be in the range of [1, 31]. |
Use the REST API
Compress with the octree method
Request specification
File to compress: example.pcd
Compression method:
octreeCompression library:
pclPoint cloud resolution: 0.01
Smallest voxel side length for octree partitioning: 0.01
Downsampling enabled: 1
PCD properties to compress: xyz
Sample request
GET /example.pcd?x-oss-process=pointcloud/compress,m_octree,fs_eHl6/octree,or_0.01,pr_0.01,d_1,lib_pcl HTTP/1.1
Host: file-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eSample response
HTTP/1.1 200 OK
Server: AliyunOSS
Date: Wed, 25 May 2022 12:15:44 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
x-oss-request-id: 628E1DEF184E20BB21000004
x-oss-transfer-acc-type: acc-none
x-oss-data-location: oss-cn-hangzhou-a
ETag: "E168EDBFAB5130BCA80EDF84E4E10B59"
Last-Modified: Sat, 02 Apr 2022 11:53:20 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 5454933848876226229
x-oss-storage-class: Standard
x-oss-server-time: 865
{{Compressed binary data}}Compress with the k-d tree method
Request specification
File to compress: example.pcd
Compression method:
kdtreeCompression library:
dracoCompression level: 1
Quantization bit: 1
PCD properties to compress: xyz
Sample request
GET /example.pcd?x-oss-process=pointcloud/compress,m_kdtree,fs_eHl6/kdtree,cl_1,qb_1,lib_draco HTTP/1.1
Host: file-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eSample response
HTTP/1.1 200 OK
Server: AliyunOSS
Date: Wed, 25 May 2022 12:15:44 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
x-oss-request-id: 628E1DEF184E20BB21000004
x-oss-transfer-acc-type: acc-none
x-oss-data-location: oss-cn-hangzhou-a
ETag: "E168EDBFAB5130BCA80EDF84E4E10B59"
Last-Modified: Sat, 02 Apr 2022 11:53:20 GMT
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 5454933848876226229
x-oss-storage-class: Standard
x-oss-server-time: 865
{{Compressed binary data}}Use SDKs
point cloud compression supports only synchronous processing. For more information about how to use SDKs, see Use OSS SDKs.
Billing
Point cloud compression generates the following billable items for Object Storage Service (OSS) and Intelligent Media Management (IMM):
Object Storage Service: For pricing details, see OSS product pricing.
API
Billable item
Description
GetObject
GET-type requests
Charges are calculated based on the number of successful requests.
Outbound traffic over the internet
If you call the GetObject operation with a public endpoint (for example, oss-cn-hangzhou.aliyuncs.com) or a Transfer Acceleration endpoint (for example, oss-accelerate.aliyuncs.com), you are charged for outbound traffic over the internet. Charges are based on the amount of data transferred.
Data retrieval from Infrequent Access storage
You are charged for data retrieval if the object is in the Infrequent Access storage class. Charges are based on the amount of data retrieved.
Transfer Acceleration
If you enable Transfer Acceleration and access your bucket with a Transfer Acceleration endpoint, you are charged for accelerated data transfer. Charges are based on the amount of data transferred.
Intelligent Media Management: For pricing details, see IMM pricing.
ImportantEffective 11:00 (UTC+8) on July 28, 2025, the point cloud compression feature in IMM will change from a free service to a paid service. The corresponding billable item is
PointCloudCompress. For more information, see IMM pricing adjustment notice.API
Billable item
Description
CreateCompressPointCloudTask
PointCloudCompress
You are charged based on the number of successful requests.