ISO/IEC 23090-22:2024
(Main)Information technology — Coded representation of immersive media — Part 22: Conformance for G-PCC
Information technology — Coded representation of immersive media — Part 22: Conformance for G-PCC
This document specifies a set of tests and procedures designed to indicate whether encoders or decoders meet the normative requirements specified in ISO/IEC 23090-9.
Technologies de l'information — Représentation codée de média immersifs — Partie 22: Conformité pour G-PCC
General Information
Standards Content (Sample)
International
Standard
ISO/IEC 23090-22
First edition
Information technology — Coded
2024-09
representation of immersive media —
Part 22:
Conformance for G-PCC
Technologies de l'information — Représentation codée de média
immersifs —
Partie 22: Conformité pour G-PCC
Reference number
© ISO/IEC 2024
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on
the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below
or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
© ISO/IEC 2024 – All rights reserved
ii
Contents Page
Foreword .iv
Introduction .v
1 Scope . 1
2 Normative references . 1
3 Terms and definitions . 1
4 Abbreviated terms . 2
5 Conventions . 2
6 Conformance testing for ISO/IEC 23090-9 . 2
6.1 General .2
6.2 Bitstream conformance .2
6.3 Decoder conformance .2
6.4 Procedure to test bitstreams .2
6.5 Procedure to test decoder conformance .3
6.5.1 Conformance bitstreams .3
6.5.2 Contents of the bitstream file .3
6.5.3 Requirements on output of the decoding process .3
6.5.4 Recommendations.3
6.6 Specification of the test bitstreams .4
6.6.1 General .4
6.6.2 Test bitstreams .5
Annex A (informative) Conformance bitstream generation guidelines . 76
© ISO/IEC 2024 – All rights reserved
iii
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical activity.
ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations,
governmental and non-governmental, in liaison with ISO and IEC, also take part in the work.
The procedures used to develop this document and those intended for its further maintenance are described
in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the different types
of document should be noted. This document was drafted in accordance with the editorial rules of the ISO/
IEC Directives, Part 2 (see www.iso.org/directives or www.iec.ch/members_experts/refdocs).
ISO and IEC draw attention to the possibility that the implementation of this document may involve the
use of (a) patent(s). ISO and IEC take no position concerning the evidence, validity or applicability of any
claimed patent rights in respect thereof. As of the date of publication of this document, ISO and IEC had not
received notice of (a) patent(s) which may be required to implement this document. However, implementers
are cautioned that this may not represent the latest information, which may be obtained from the patent
database available at www.iso.org/patents and https://patents.iec.ch. ISO and IEC shall not be held
responsible for identifying any or all such patent rights.
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and expressions
related to conformity assessment, as well as information about ISO's adherence to the World Trade
Organization (WTO) principles in the Technical Barriers to Trade (TBT) see www.iso.org/iso/foreword.html.
In the IEC, see www.iec.ch/understanding-standards.
This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology
Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
A list of all parts in the ISO/IEC 23090 series series can be found on the ISO and IEC websites.
Any feedback or questions on this document should be directed to the user’s national standards
body. A complete listing of these bodies can be found at www.iso.org/members.html and
www.iec.ch/national-committees.
© ISO/IEC 2024 – All rights reserved
iv
Introduction
Advance in 3D capturing and rendering technologies is enabling new applications and services in the
field of assisted and autonomous driving, maps, cultural heritage, industrial processes, immersive real-
time communication, and Virtual/Augmented/Mixed reality (VR/AR/MR) content creation, transmission
and communication. Point clouds have arisen as one of the main representations for such applications. A
point cloud frame consists of a set of 3D points. Each point, in addition to having a 3D position may also be
associated with numerous other attributes such as colour, transparency, reflectance, timestamp, surface
normal, and classification. Such representations require a large amount of data, which can be costly in terms
of storage and transmission. Therefore, ISO/IEC 23090-9 specifies Geometry-based Point Cloud Compression
(G-PCC), which aims at efficiently compressing point cloud representations.
This document is the conformance testing specification for ISO/IEC 23090-9.
© ISO/IEC 2024 – All rights reserved
v
International Standard ISO/IEC 23090-22:2024(en)
Information technology — Coded representation of
immersive media —
Part 22:
Conformance for G-PCC
1 Scope
This document specifies a set of tests and procedures designed to indicate whether encoders or decoders
meet the normative requirements specified in ISO/IEC 23090-9.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes
requirements of this document. For dated references, only the edition cited applies. For undated references,
the latest edition of the referenced document (including any amendments) applies.
ISO/IEC 23090-9, Information technology — Coded representation of immersive media — Part 9: Geometry-
based point cloud compression
ISO/IEC 23090-21, Information technology — Coded representation of immersive media — Part 21: Reference
software for Geometry-based Point Cloud Compression (G-PCC)
3 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 23090-9 and the following apply.
ISO and IEC maintain terminology databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https:// www .iso .org/ obp
— IEC Electropedia: available at https:// www .electropedia .org/
3.1
bitstream
sequence of bits
Note 1 to entry: An ISO/IEC 23090-9 G-PCC bitstream.
3.2
decoding process
process that restores information from a coded representation to the original form according to a given code
Note 1 to entry: An embodiment of the decoding process specified by ISO/IEC 23090-9.
3.3
decoder
embodiment of a decoding process (3.2)
Note 1 to entry: An ISO/IEC 23090-9 G-PCC decoder. The decoder does not include the rendering and display process,
which is outside the scope of this document.
© ISO/IEC 2024 – All rights reserved
3.4
encoder
embodiment of a process that produces a bitstream (3.1)
3.5
reference software decoder
particular decoder (3.3) provided as a software package for use as an example available for study, as a
potential starting basis for the development of other decoder, as a way of testing bitstreams for conformance
to a decoding process specification, or as a reference for comparison with the behaviour of other decoder
Note 1 to entry: A software decoder is provided in ISO/IEC 23090-21.
3.6
reference software encoder
particular encoder (3.4) provided as a software package for use as an example available for study, as a
potential starting basis for the development of other encoder, or as a reference for comparison with the
behaviour of other encoder
Note 1 to entry: A software encoder is provided in ISO/IEC 23090-21.
4 Abbreviated terms
For the purposes of this document, relevant abbreviated terms are specified in ISO/IEC 23090-9:2023,
Clause 4.
5 Conventions
For the purposes of this document, relevant conventions are specified in ISO/IEC 23090-9:2023, Clause 5.
6 Conformance testing for ISO/IEC 23090-9
6.1 General
The following subclauses specify the tests for verifying conformance of bitstreams as well as decoders.
These tests shall use the test data (bitstream test suites) provided in https:// standards .iso .org/ iso -iec/
23090/ -22/ ed -1/ en and the reference software decoder is specified in Rec. ISO/IEC 23090-21.
6.2 Bitstream conformance
The bitstream conformance follows the specification text in ISO/IEC 23090-9. See Annex A.
6.3 Decoder conformance
The decoder conformance for ISO/IEC 23090-9, such as conformance point, is specified in
ISO/IEC 23090-9:2023, 6.5.1.
6.4 Procedure to test bitstreams
A bitstream that claims conformance with ISO/IEC 23090-9 shall pass the following test.
The bitstream shall be decoded by processing it with the reference software decoder. When processed by
the reference software decoder, the bitstream shall not cause any error or non-conformance messages to be
reported by the reference software decoder. This test should not be applied to bitstreams that are known to
contain errors introduced by transmission, as such errors are highly likely to result in bitstreams that lack
conformance to ISO/IEC 23090-9.
© ISO/IEC 2024 – All rights reserved
Successfully passing the reference software decoder test provides only a strong presumption that the
bitstream under test does indeed meet all the requirements (except Annex C) specified in ISO/IEC 23090-9
that are tested by the reference software decoder.
ISO/IEC 23090-9 contains several informative recommendations that are not an integral part of that
International Standard. When testing a bitstream for conformance, it can also be useful to test whether or
not the bitstream follows those recommendations.
To check correctness of a bitstream, it is necessary to parse the entire bitstream and to extract all the
syntax elements and other values derived from those syntactic elements and used by the decoding process
specified in ISO/IEC 23090-9.
A verifier may not necessarily perform all stages of the decoding process specified in ISO/IEC 23090-9 in
order to verify bitstream correctness. Many tests can be performed on syntax elements in a state prior to
their use in some processing stages.
6.5 Procedure to test decoder conformance
6.5.1 Conformance bitstreams
A bitstream has values of main_profile_compatibility_flag and level_idc corresponding to a set of specified
constraints on a bitstream for which a decoder conforming to a specified profile, and level is required in
ISO/IEC 23090-9:2023, Annex A to properly perform the decoding process.
6.5.2 Contents of the bitstream file
The conformance bitstreams are included in this document as an electronic attachment. The following
information is included in a single folder for each such bitstream.
— *.bit – bitstream as described in subclause 6.6.2 (mandatory)
— readme.md – description (mandatory)
— *.cfg – config file used to generate bitstream with TMC13 encoder SW (optional, not applicable if TMC13
encoder release version not used)
— *.md5 – MD5sum of the bitstream file (mandatory)
— *_dec.ply – unordered decoded point cloud frames (optional).
— *_dec.ply.md5 – MD5 checksum for *_dec.ply (optional)
— Makefile – Script to regenerate the bitstream (optional)
NOTE Reference software decoder can be used to generate _*dec.ply file
6.5.3 Requirements on output of the decoding process
The output of the decoding process is specified in ISO/IEC 23090-9:2023, Clause 8.
A decoder shall be configured to output integer point position in accordance with ISO/IEC 23090-9:2023,
subclause 6.5.1 so that that the decoder output data in conformance testing mode.
The rendering process, which may follow the output of the decoding process, is outside the scope of this
document.
6.5.4 Recommendations
In addition to the requirements, it is desirable that conforming decoders implement various informative
recommendations specified in ISO/IEC 23090-9 that are not an integral part of that International Standard.
This clause discusses some of these recommendations.
© ISO/IEC 2024 – All rights reserved
It is recommended that a conforming decoder be able to resume the decoding process as soon as possible
after the loss or corruption of part of a bitstream.
6.6 Specification of the test bitstreams
6.6.1 General
The bitstreams used for the decoder conformance testing specified in this document shall be those listed in
Table 1. Characteristics of each bitstream are specified in this subclause.
Table 1 — List of reference bitstreams.
Categories Feature Name Features tested
Common functionality EBS Entropy bypass stream
EC Entropy continuation
ST Slice/Tile
GPS GPS (Geometry Parameter Set)
APS APS (Attribute Parameter Set)
Geometry coding GTT Geom tree coding type
GSO Geometry scaling in Occupancy tree
OG Occupancy tree geometry
DPO Duplicate points in Occupancy tree
IDCM IDCM
NAV Neighbour availability volume (N3/N6)
QTBT QTBT
IOC Intra occupancy contexts
ACN Adjacent child neighbours
PLANAR Planar
AngIDCM Angular-IDCM
AngPLANAR Angular-Planar
PredGEO Predictive geometry
PredDUP Predictive duplicate
PredANG Predictive geometry: Angular mode
PredGS Predictive geometry: Geometry Scaling
CAPS Change APS
© ISO/IEC 2024 – All rights reserved
TTabablele 1 1 ((ccoonnttiinnueuedd))
Categories Feature Name Features tested
Attribute coding GATT Generic attribute
QuantATT Quantization
LodRAHT LoD and RAHT
SLOD Single LoD
NumLOD Number of LoDs
DecLOD LoD method: Decimation
DisLOD LoD method: Distance
CentLOD LoD method: Block-based
SL Scalable Lifting
PSInterLOD Predictor search: inter LoD
PSIntraLOD Predictor search: intra LoD
NumPRED Number of predictors
DirectPRED Predicting Transform: Direct predictors
ACO Axis coding order
NB Neighbour bias
LCP Lifting Transform: Last component pred
ICP Predicting Transform: Inter component pred
RahtPRED RAHT: prediction
SDC Spherical domain coding
ANBF Attribute neighbour blending filtering
6.6.2 Test bitstreams
6.6.2.1 Entropy bypass stream (EBS)
1)
6.6.2.1.1 Test bitstream EBS_A_Panasonic
Specification: The bitstream exercise the entropy bypass stream On functionality.
— bypass_stream_enabled equal to 1.
— attr_coding_type is equal to 0 (RAHT).
Functional stage: Entropy bypass stream enabled and RAHT Attribute Coding on Simple profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy stream enabled.
6.6.2.1.2 Test bitstream EBS_B_Panasonic
Specification: The bitstream exercise the entropy bypass stream On functionality.
— bypass_stream_enabled equal to 1.
— attr_coding_type is equal to 1 (LoD with Predicting Transform).
Functional stage: Entropy bypass stream enabled and Predicting Attribute Coding on Predictive profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy stream enabled.
1) This information is given for the convenience of users of this document and does not constitute an endorsement by
ISO or IEC of the product named.
© ISO/IEC 2024 – All rights reserved
6.6.2.1.3 Test bitstream EBS_C_Panasonic
Specification: The bitstream exercise the entropy bypass stream Off functionality.
— bypass_stream_enabled equal to 0.
— attr_coding_type is equal to 1 (LoD with Predicting Transform).
Functional stage: Entropy bypass stream disabled and Predicting Attribute Coding on Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy stream disabled.
6.6.2.1.4 Test bitstream EBS_D_Panasonic
Specification: The bitstream exercise the entropy bypass stream On functionality.
— bypass_stream_enabled equal to 1.
— attr_coding_type is equal to 1 (LoD with Predicting Transform).
Functional stage: Entropy bypass stream enabled and Predicting Attribute Coding on Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy stream enabled.
6.6.2.1.5 Test bitstream EBS_E_Panasonic
Specification: The bitstream exercise the entropy bypass stream On functionality.
— bypass_stream_enabled equal to 1.
— attr_coding_type is equal to 2 (LoD with Lifting Transform).
Functional stage: Entropy bypass stream enabled and Lifting Attribute Coding on Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy stream enabled.
6.6.2.2 Entropy continuation (EC)
6.6.2.2.1 Test bitstream EC_A_Panasonic
Specification: The bitstream exercise the entropy continuation functionality on each coding method.
— slice_reordering_constraint is equal to 1.
— entropy_continuation_enabled is equal to 1.
— slice_entropy_continuation is used.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_bitwise_coding is equal to 1.
— attr_coding_type is equal to 0 (RAHT).
Functional stage: Entropy continuation on Occupancy tree Geometry Coding and RAHT Attribute Coding on
Dense profile and Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy continuation function is
on each coding method.
© ISO/IEC 2024 – All rights reserved
6.6.2.2.2 Test bitstream EC_B_Panasonic
Specification: The bitstream exercise the entropy continuation functionality on each coding method.
— slice_reordering_constraint is equal to 1.
— entropy_continuation_enabled is equal to 1.
— slice_entropy_continuation is used.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_bitwise_coding is equal to 0 (using the dictionary encoding).
— attr_coding_type is equal to 2 (LoD with Lifting Transform).
Functional stage: Entropy continuation on Occupancy tree Geometry Coding with dictionary encoding and
Lifting Attribute Coding on Simple profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy continuation function is
on each coding method.
6.6.2.2.3 Test bitstream EC_C_Panasonic
Specification: The bitstream exercise the entropy continuation functionality on each coding method.
— slice_reordering_constraint is equal to 1.
— entropy_continuation_enabled is equal to 1.
— slice_entropy_continuation is used.
— geom_tree_type is equal to 1 (geometry_predtree).
— attr_coding_type is equal to 1 (LoD with Predicting Transform).
Functional stage: Predictive Geometry Coding and LoD with Predicting Transform Attribute Coding on
Predictive profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy continuation function is
on each coding method.
6.6.2.2.4 Test bitstream EC_D_Panasonic
Specification: The bitstream exercise the entropy continuation functionality on each coding method.
— slice_reordering_constraint is equal to 1.
— entropy_continuation_enabled is equal to 0, 1, 1, 0, 1.
— slice_entropy_continuation is used.
Functional stage: Predictive Geometry Coding and LoD with Predicting Transform Attribute Coding on
Predictive profile.
Purpose: Check that the decoder can properly decode bitstreams in which entropy continuation function is
on each coding method.
© ISO/IEC 2024 – All rights reserved
6.6.2.3 Slice/Tile (ST)
6.6.2.3.1 Test bitstream ST_A_LGE
Specification: The bitstream consists of zero tile and one slice.
— Number of tiles is equal to 0.
— Number of slices is equal to 1.
Functional stage: Common functionality in Simple profile.
Purpose: Check that the decoder can properly decode bitstreams in which zero tile and one slice has.
6.6.2.3.2 Test bitstream ST_B_LGE
Specification: The bitstream consists of zero tile and one slice.
— Number of tiles is equal to 0.
— Number of slices is equal to 1.
Functional stage: Common functionality in Predictive profile.
Purpose: Check that the decoder can properly decode bitstreams in which zero tile and one slice has.
6.6.2.3.3 Test bitstream ST_C_LGE
Specification: The bitstream consists of zero tile and one slice.
— Number of tiles is equal to 0.
— Number of slices is equal to 1.
Functional stage: Common functionality in Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which zero tile and one slice.
6.6.2.3.4 Test bitstream ST_D_LGE
Specification: The bitstream consists of zero tile and multiple slices.
— Number of tiles is equal to 0.
— Number of slices is equal to 4.
Functional stage: Common functionality in Simple profile.
Purpose: Check that the decoder can properly decode bitstreams in which zero tile and multiple slices have.
6.6.2.3.5 Test bitstream ST_E_LGE
Specification: The bitstream consists of zero tile and multiple slices.
— Number of tiles is equal to 0.
— Number of slices is equal to 4.
Functional stage: Common functionality in Predictive profile.
Purpose: Check that the decoder can properly decode bitstreams in which zero tile and multiple slices have.
© ISO/IEC 2024 – All rights reserved
6.6.2.3.6 Test bitstream ST_F_LGE
Specification: The bitstream consists of zero tile and multiple slices.
— Number of tiles is equal to 0.
— Number of slices is equal to 4.
Functional stage: Common functionality in Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which zero tile and multiple slices have.
6.6.2.3.7 Test bitstream ST_G_LGE
Specification: The bitstream consists of one tile and one slice.
— Number of tiles is equal to 1.
— Number of slices is equal to 1.
Functional stage: Common functionality in Simple profile.
Purpose: Check that the decoder can properly decode bitstreams in which one tile and one slice has.
6.6.2.3.8 Test bitstream ST_H_LGE
Specification: The bitstream consists of one tile and one slice.
— Number of tiles is equal to 1.
— Number of slices is equal to 1.
Functional stage: Common functionality in Predictive profile.
Purpose: Check that the decoder can properly decode bitstreams in which one tile and one slice has.
6.6.2.3.9 Test bitstream ST_I_LGE
Specification: The bitstream consists of one tile and one slice.
— Number of tiles is equal to 1.
— Number of slices is equal to 1.
Functional stage: Common functionality in Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which one tile and one slice has.
6.6.2.3.10 Test bitstream ST_J_LGE
Specification: The bitstream consists of one tile and multiple slices.
— Number of tiles is equal to 1.
— Number of slices is equal to 4.
Functional stage: Common functionality in Simple profile.
Purpose: Check that the decoder can properly decode bitstreams in which one tile and multiple slices have.
© ISO/IEC 2024 – All rights reserved
6.6.2.3.11 Test bitstream ST_K_LGE
Specification: The bitstream consists of one tile and multiple slices.
— Number of tiles is equal to 1.
— Number of slices is equal to 4.
Functional stage: Common functionality in Predictive profile.
Purpose: Check that the decoder can properly decode bitstreams in which one tile and multiple slices have.
6.6.2.3.12 Test bitstream ST_L_LGE
Specification: The bitstream consists of one tile and multiple slices.
— Number of tiles is equal to 1.
— Number of slices is equal to 4.
— Functional stage: Common functionality in Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which one tile and multiple slices have.
6.6.2.3.13 Test bitstream ST_M_LGE
Specification: The bitstream consists of multiple tiles and multiple slices.
— Number of tiles is equal to 3.
— Number of slices is equal to 6.
— Tile inventory is signalled.
Functional stage: Common functionality in Simple profile.
Purpose: Check that the decoder can properly decode bitstreams in which multiple tiles and multiple slices have.
6.6.2.3.14 Test bitstream ST_N_LGE
Specification: The bitstream consists of multiple tiles and multiple slices.
— Number of tiles is equal to 3.
— Number of slices is equal to 6.
— Tile inventory is signalled.
Functional stage: Common functionality in Predictive profile.
Purpose: Check that the decoder can properly decode bitstreams in which multiple tiles and multiple slices have.
6.6.2.3.15 Test bitstream ST_O_LGE
Specification: The bitstream consists of multiple tiles and multiple slices.
— Number of tiles is equal to 3.
— Number of slices is equal to 6.
— Tile inventory is signalled.
Functional stage: Common functionality in Main profile and Dense profile.
© ISO/IEC 2024 – All rights reserved
Purpose: Check that the decoder can properly decode bitstreams in which multiple tiles and multiple slices have.
6.6.2.4 GPS (GPS)
2)
6.6.2.4.1 Test bitstream GPS_A_Tencent
Specification: The bitstream includes one geometry parameter sets (GPS), which is sharing among
multiple frames.
Functional stage: Common functionality in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which one GPS is sharing among
multiple frames.
6.6.2.4.2 Test bitstream GPS_B_Tencent
Specification: The bitstream includes GPS. Difference slices in a frame uses alternative GPS.
— gps.geom_planar_mode_enabled_flag =0, 1 in two GPS, respectively.
Functional stage: Common functionality in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which slices in a frame employ different GPS.
6.6.2.4.3 Test bitstream GPS_C_Tencent
Specification: The bitstream includes one GPS, which repeats in front of each frame.
Functional stage: GPS in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which one GPS repeats in front of each frame
6.6.2.5 APS (APS)
6.6.2.5.1 Test bitstream APS_A_Tencent
Specification: The bitstream includes one APS, which is sharing among multiple frames.
Functional stage: Common functionality in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which one APS is sharing among
multiple frames.
6.6.2.6 Geometry tree type (GTT)
6.6.2.6.1 Test bitstream GTT_A_Tencent
Specification: The bitstream includes two GPS, each with different geometry tree type. Different slices in a
frame employ alternative GPS.
— gps.predgeom_enabled_flag = 0, 1.
Functional stage: Geometry coding in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which slices in a frame employ different
geometry tree types.
2) This information is given for the convenience of users of this document and does not constitute an endorsement by
ISO or IEC of the product named.
© ISO/IEC 2024 – All rights reserved
6.6.2.7 Geometry scaling in Occupancy tree (GSO)
6.6.2.7.1 Test bitstream GSO_A_Tencent
Specification: Geometry scaling in occupancy tree is turned on. Base QP, IDCM QP offset, slice QP offset, and
node-level QP offset are all enabled. Note that the node-level QP offset is random in different nodes and node
size is set to 9.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_scaling_enabled equal to 1.
— geom_qp equal to 8.
— occtree_direct_node_qp_offset equal to -4.
— slice_ geom_qp_offset equal to 4.
— geom_qp_mul_log2 equal to 2.
Functional stage: geometry coding in Main profile.
Purpose: Check if the decoder can properly decode bitstreams in which a combination of base QP, IDCM QP
offset, slice QP offset, and node QP offset is configured.
6.6.2.7.2 Test bitstream GSO_B_Tencent
Specification: Geometry scaling in occupancy tree is turned on. Only IDCM coded points are quantized and
other points are not quantized.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_scaling_enabled equal to 1.
— geom_qp equal to 0.
— occtree_direct_node_qp_offset equal to 8.
— slice_ geom_qp_offset equal to 0.
— geom_qp_mul_log2 equal to 2.
Functional stage: geometry coding in Main profile.
Purpose: Check if the decoder can properly decode bitstreams in which only IDCM QP offset is enabled.
3)
6.6.2.7.3 Test bitstream GSO_C_Qualcomm
Specification: Geometry scaling in occupancy tree is turned on. The QP values used to derive the step sizes
will be multiples of 2.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_scaling_enabled is equal to 1.
— geom_qp is equal to 8.
— geom_qp_mul_log2 is equal to 1.
— occtree node size used for signaling position QP offsets is equal to 8.
3) This information is given for the convenience of users of this document and does not constitute an endorsement by
ISO or IEC of the product named.
© ISO/IEC 2024 – All rights reserved
Functional stage: geometry coding in Simple profile, Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which QP multiplier value of 2 is
configured.
6.6.2.7.4 Test bitstream GSO_D_Qualcomm
Specification: Geometry scaling in occupancy tree is turned on. The QP values used to derive the step sizes
will be multiples of 8.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_scaling_enabled is equal to 1.
— geom_qp is equal to 0.
— geom_qp_mul_log2 is equal to 3.
— occtree node size used for signaling position QP offsets is equal to 4.
Functional stage: geometry coding in Simple profile, Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which QP multiplier value of 8 is
configured.
6.6.2.7.5 Test bitstream GSO_E_Qualcomm
Specification: Geometry scaling in occupancy tree is turned on. The QP values used to derive the step sizes
will be multiples of 1.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_scaling_enabled is equal to 1.
— geom_qp is equal to 9.
— geom_qp_mul_log2 is equal to 0.
— occtree node size used for signaling position QP offsets is equal to 7.
Functional stage: geometry coding in Simple profile, Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which QP multiplier value of 1 is
configured.
6.6.2.7.6 Test bitstream GSO_F_Qualcomm
Specification: Geometry scaling in occupancy tree is turned on. The QP values used to derive the step sizes
will be multiples of 4.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_scaling_enabled is equal to 1.
— geom_qp is equal to 0.
— geom_qp_mul_log2 is equal to 2.
— occtree node size used for signaling position QP offsets is equal to 9.
Functional stage: geometry coding in Simple profile, Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams in which QP multiplier value of 4 is
configured.
© ISO/IEC 2024 – All rights reserved
6.6.2.8 Occupancy tree geometry (OG)
6.6.2.8.1 Test bitstream OG_A_LGE
Specification: The bitstream tests Occupancy geometry coding with a point cloud which has one point.
— geom_tree_type is equal to 0 (occupancy tree).
Functional stage: Geometry coding in Simple profile.
Purpose: Check that the decoder can properly decode bitstreams which Occupancy geometry coding is
enabled and includes one point.
6.6.2.8.2 Test bitstream OG_B_LGE
Specification: The bitstream tests Occupancy geometry coding with a point cloud which has one point.
— geom_tree_type is equal to 0 (occupancy tree).
Functional stage: Geometry coding in Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams which Occupancy geometry coding is
enabled and includes one point.
6.6.2.8.3 Test bitstream OG_C_LGE
Specification: The bitstream tests Occupancy geometry coding with a point cloud which has two points.
— geom_tree_type is equal to 0 (occupancy tree).
Functional stage: Geometry coding in Simple profile.
Purpose: Check that the decoder can properly decode bitstreams which Occupancy geometry coding is
enabled and includes two points.
6.6.2.8.4 Test bitstream OG_D_LGE
Specification: The bitstream tests Occupancy geometry coding with a point cloud which has two points.
— geom_tree_type is equal to 0 (occupancy tree).
Functional stage: Geometry coding in Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams which Occupancy geometry coding is
enabled and includes two points.
6.6.2.8.5 Test bitstream OG_E_LGE
Specification: The bitstream tests Occupancy geometry coding with a point cloud which has 21 bits depth.
— geom_tree_type is equal to 0 (occupancy tree).
— level_idc is equal to 80.
Functional stage: Geometry coding in Simple profile.
Purpose: Check that the decoder can properly decode bitstreams which Occupancy geometry coding is
enabled and uses 21 bits depth.
© ISO/IEC 2024 – All rights reserved
6.6.2.8.6 Test bitstream OG_F_LGE
Specification: The bitstream tests Occupancy geometry coding with a point cloud which has 21 bits depth.
— geom_tree_type is equal to 0 (occupancy tree).
— level_idc is equal to 80.
Functional stage: Geometry coding in Main profile and Dense profile.
Purpose: Check that the decoder can properly decode bitstreams which Occupancy geometry coding is
enabled and uses 21 bits depth.
6.6.2.9 Duplicate points in occupancy tree (DPO)
6.6.2.9.1 Test bitstream DPO_A_Panasonic
Specification: The bitstream tests duplicate point in Occupancy Tree. The bitstream has no duplicate points
in single slice, and there are no constraints on duplicated points in a point cloud frame.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_dup_point_counts_enabled is equal to 1.
— unique_point_positions_constraint is equal to 0.
— Number of slices is equal to 2.
Functional stage: Geometry occupancy tree coding in Main profile
Purpose: Check that the decoder can properly decode bitstreams in which the duplicate points count is
enabled and a point cloud has duplicated points.
6.6.2.9.2 Test bitstream DPO_B_Panasonic
Specification: The bitstream tests duplicate point in Occupancy Tree. The bitstream has duplicate points in
single slice, and there are no constraints on duplicated points in a point cloud frame.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_dup_point_counts_enabled is equal to 0.
— unique_point_positions_constraint is equal to 0.
— Number of slices is equal to 1.
Functional stage: Geometry occupancy tree coding in Main profile
Purpose: Check that the decoder can properly decode bitstreams in which the duplicate points count is
disabled and a point cloud has duplicated points.
6.6.2.9.3 Test bitstream DPO_C_Panasonic
Specification: The bitstream tests duplicate point in Occupancy Tree. The bitstream has no duplicate points
in single slice.
— geom_tree_type is equal to 0 (occupancy tree).
— geom_dup_point_counts_enabled is equal to 1.
— Number of slices is equal to 1.
Functional stage: Geometry occupancy tree coding in Main profile
© ISO/IEC 2024 – All rights reserved
Purpose: Check that the decoder can properly decode bitstreams in which the duplicate points count is
enabled.
6.6.2.10 IDCM (IDCM)
4)
6.6.2.10.1 Test bitstream IDCM_A_Sony
Specification: The bitstream tests when Inferred direct coding mode is turned off in occupancy tree
geometry coding.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_direct_coding_mode is equal to 0 (OFF test).
Functional stage: geometry occupancy tree coding in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which occtree_direct_coding_mode is
configured.
6.6.2.10.2 Test bitstream IDCM_B_Sony
Specification: The bitstream tests when Inferred direct coding mode is turned on and the joint coding of two
points is turned off occupancy tree geometry coding.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_direct_coding_mode is equal to 1.
— occtree_direct_joint_coding_enabled is equal to 0.
Functional stage: geometry occupancy tree coding in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which occtree_direct_coding_mode and
is occtree_direct_joint_coding_enabled is configured.
6.6.2.10.3 Test bitstream IDCM_C_Sony
Specification: The bitstream tests when Inferred direct coding mode is turned on and the joint coding of two
points is turned on occupancy tree geometry coding.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_direct_coding_mode is equal to 1.
— occtree_direct_joint_coding_enabled is equal to 1.
Functional stage: geometry occupancy tree coding in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which occtree_direct_coding_mode and
is occtree_direct_joint_coding_enabled is configured.
6.6.2.10.4 Test bitstream IDCM_D_Sony
Specification: The bitstream tests when Inferred direct coding mode is turned on in occupancy tree
geometry coding.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_direct_coding_mode is equal to 2.
4) This information is given for the convenience of users of this document and does not constitute an endorsement by
ISO or IEC of the product named.
© ISO/IEC 2024 – All rights reserved
Functional stage: geometry occupancy tree coding in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which occtree_direct_coding_mode is
configured.
6.6.2.10.5 Test bitstream IDCM_E_Sony
Specification: The bitstream tests when Inferred direct coding mode is turned on in occupancy tree
geometry coding.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_direct_coding_mode is equal to 3.
Functional stage: geometry occupancy tree coding in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which occtree_direct_coding_mode is
configured.
6.6.2.11 Neighbour availability volume (NAV)
6.6.2.11.1 Test bitstream NAV_A_Panasonic
Specification: The bitstream exercise occtree_neigh_window_log2_minus1.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_neigh_window_log2_minus1 equal to 0.
Functional stage: Occupancy tree Geometry Coding in Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which geometry node occupancy of the
current node is coded with the contexts determined from neighbouring nodes which is located inside the
parent node of the current node.
6.6.2.11.2 Test bitstream NAV_B_Panasonic
Specification: The bitstream exercise the range of occtree_neigh_window_log2_minus1.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_neigh_window_log2_minus1 equal to 1.
Functional stage: Occupancy tree Geometry Coding in Dense profile and Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which geometry node occupancy of the
current node is coded with the contexts determined from neighbouring nodes which is located inside or
outside the parent node of the current node.
6.6.2.11.3 Test bitstream NAV_C_Panasonic
Specification: The bitstream exercise the range of occtree_neigh_window_log2_minus1.
— geom_tree_type is equal to 0 (occupancy tree).
— occtree_neigh_window_log2_minus1 equal to 2.
Functional stage: Occupancy tree Geometry Coding in Dense profile and Main profile.
Purpose: Check that the decoder can properly decode bitstreams in which geometry node occupancy of the
current node is coded with the contexts determined from neighbouring nodes which is located inside or
outside the parent node of the current node.
© ISO/IEC 2024 – All rights reserved
6.6.2.11.4 Test bitstream NAV_D_Panasonic
Specification: The bitstream exercise the range of occtree_neigh_window_log2_minus1.
— geom_tree_type is equal to 0 (occupancy tree).
— occ
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...