Continuation of entropy and entropic coding of dependent frame in point cloud compression

BR112025022223A2Pending Publication Date: 2026-09-15
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR112025022223
Authority / Receiving Office
BR · BR
Patent Type
Applications
Publication Date
2026-09-15

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

1 / 66 CONTINUATION OF ENTROPY AND FRAME-DEPENDENT ENTROPIC CODING IN POINT CLOUD COMPRESSION

[0001] This application claims priority to US patent application no. US Patent Application No. 18 / 641,873, filed April 22, 2024, and US Provisional Patent Application No. 63 / 497,965, filed April 24, 2023, the contents of which are incorporated herein by reference in their entirety. US Patent Application No. 18 / 641,873, filed April 22, 2024, claims the benefit of US Provisional Patent Application No. 63 / 497,965, filed April 24, 2023. TECHNICAL FIELD

[0002] This disclosure relates to point cloud encoding and decoding. BACKGROUND

[0003] A point cloud is a collection of points in three-dimensional space. The points can correspond to points on objects in three-dimensional space. In this way, a point cloud can be used to represent the physical content of three-dimensional space. Point clouds can be useful in a wide variety of situations. For example, point clouds can be used in the context of autonomous vehicles to represent the positions of objects on a highway. In another example, point clouds can be used in the context of representing the physical content of an environment for the purposes of positioning virtual objects in an augmented reality (AR) or mixed reality (MR) application. Point cloud compression is a process for encoding and decoding point clouds. Encoding point clouds can reduce the amount of data required for storing and transmitting point clouds. SUMMARY

[0004] In general, this disclosure describes techniques for entropy continuation and frame-dependent entropic coding for point cloud compression. A point cloud encoder can be configured to encode Petition 870250093720, dated 10 / 13 / 2025, pp. 242 / 330 2 / 66 entropically, and a point cloud decoder can be configured to entropically decode information that the point cloud encoder signals and that the point cloud decoder analyzes. In one or more examples, the point cloud encoder might signal and the point cloud decoder might analyze a slice-level flag that indicates whether the entropic encoding states (e.g., contexts) for a first slice, in encoding order, of a current frame are determined based on the entropic encoding states of a last slice, in encoding order, of a previous frame. Based on the flag, the point cloud decoder can determine entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame and entropic decoding information for the first slice based on the entropic encoding states of the first slice.

[0005] The use of the example slice-level flag allows the determination of entropic encoding states for a first slice of a current frame based on the entropic encoding states of a last slice of a previous frame in a way that allows standard compatibility and minimizes design pitfalls if slices or frames are lost during transmission or reception. Consequently, the example techniques allow the point-cloud encoder and point-cloud decoder to determine the entropic encoding states for the first slice of the current frame, resulting in more efficient entropic encoding and decoding compared to restoring the entropic encoding states at the beginning of each frame.For example, the entropic encoding states at the end of encoding or decoding the last slice of the previous frame may be better initial entropic encoding states, in terms of encoding efficiency, for the first slice of the current frame, compared to restoring the entropic encoding states.

[0006] In one example, the disclosure describes a method for encoding or decoding point cloud data, wherein the method comprises: signaling or parsing a slice-level flag of a first slice, in encoding order, Petition 870250093720, dated 10 / 13 / 2025, pp. 243 / 330 3 / 66 of a current frame of point cloud data that indicates determining entropic encoding states of the first slice of the current frame based on entropic encoding states of a last slice, in encoding order, of a previous frame of point cloud data; determining the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates determining the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and encoding or decoding the first slice of the current frame based on the entropic encoding states of the first slice.

[0007] In one example, the disclosure describes a device for encoding or decoding point cloud data, wherein the device comprises: one or more memories configured to store the point cloud data; and a set of processing circuits coupled to the one or more memories, wherein the set of processing circuits is configured to: signal or parse a slice-level flag of a first slice, in encoding order, of a current frame of point cloud data indicating to determine entropic encoding states of the first slice of the current frame based on entropic encoding states of a last slice, in encoding order, of a previous frame of point cloud data;determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates determining the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and encoding or decoding the first slice of the current frame based on the entropic encoding states of the first slice.

[0008] In one example, the disclosure describes a computer-readable storage medium that stores instructions on it which, when executed, cause one or more processors to: signal or parse a slice-level flag of a first slice, in encoding order, of a current cloud data frame. Petition 870250093720, dated 10 / 13 / 2025, pp. 244 / 330 4 / 66 of points indicating to determine entropic encoding states of the first slice of the current frame based on entropic encoding states of a last slice, in encoding order, of a previous frame of the point cloud data; to determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates to determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and to encode or decode the first slice of the current frame based on the entropic encoding states of the first slice.

[0009] Details of one or more examples are presented in the attached drawings and in the description below. Other attributes, objectives and advantages will become apparent from the description, drawings and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 is a block diagram illustrating an example of an encoding and decoding system that can perform the techniques of this disclosure.

[0011] Figure 2 is a block diagram illustrating an example of a geometry point cloud compression (G-PCC) encoder.

[0012] Figure 3 is a block diagram illustrating an example of a G-PCC decoder.

[0013] Figure 4 is a block diagram that illustrates an example of a geometry encoding unit from Figure 2 in more detail.

[0014] Figure 5 is a block diagram that illustrates an example of an attribute encoding unit from Figure 2 in more detail.

[0015] Figure 6 is a block diagram that illustrates an example of a geometry decoding unit from Figure 3 in more detail.

[0016] Figure 7 is a block diagram that illustrates an example of an attribute decoding unit from Figure 3 in more detail. Petition 870250093720, dated 10 / 13 / 2025, pp. 245 / 330 5 / 66

[0017] Figure 8 is a conceptual diagram that illustrates an example of an octree split for geometry encoding.

[0018] Figure 9 is a flowchart that illustrates an example of an entropic frame-dependent coding.

[0019] Figure 10 is a conceptual diagram illustrating an example of a range measurement system that can be used with one or more techniques of this disclosure.

[0020] Figure 11 is a conceptual diagram illustrating an example of a vehicle-based scenario in which one or more techniques from this disclosure can be used.

[0021] Figure 12 is a conceptual diagram illustrating an example of an extended reality system in which one or more techniques from this disclosure can be used.

[0022] Figure 13 is a conceptual diagram that illustrates an example of a mobile device system in which one or more techniques from this disclosure can be used.

[0023] Figure 14 is a conceptual diagram that illustrates an example of an interprediction of a current point (curPoint) from a point (interPredPt) in a reference frame.

[0024] Figure 15 is a conceptual diagram that illustrates an example of frames that have dependent frame entropic coding enabled.

[0025] Figure 16 is a flowchart that illustrates example techniques, according to one or more examples described in this disclosure. DETAILED DESCRIPTION

[0026] Point cloud data includes data for processing a point cloud. A point cloud is represented by a plurality of points. A point cloud encoder can arrange the points in a frame and encode point cloud data from the points. Examples of point cloud data include geometry data (e.g., geometric location of points) and attribute data (e.g., color, opacity, reflectance, etc.). A Petition 870250093720, dated 10 / 13 / 2025, pp. 246 / 330 The 6 / 66 point cloud decoder receives the point cloud data and decodes the point cloud data to reconstruct the frame and the point cloud.

[0027] An example of a way to encode and decode point cloud data is using entropic coding techniques. In entropic coding techniques, the point cloud encoder and point cloud decoder determine entropic coding states (e.g., contexts or context values) for the data, and entropic encoding or decoding of the data is based on the entropic coding states. In general, entropic coding states are based on previously encoded or decoded data (e.g., information used to encode or decode a previous point), since there may be a correlation between the way the point cloud encoder or decoder encoded or decoded previous data and the way the point cloud encoder or decoder should encode or decode current data.

[0028] In some examples, a frame is divided into one or more slices. To encode or decode the one or more slices, the point cloud encoder and point cloud decoder can determine entropic encoding states for a slice (e.g., determine initial entropic encoding states). As the point cloud encoder or point cloud decoder encodes or decodes a slice, the point cloud encoder or point cloud decoder can continue updating the entropic encoding states (e.g., based on recently encoded or decoded points).

[0029] In some techniques, after encoding or decoding a slice, the point cloud encoder and point cloud decoder restore the entropic encoding states back to the default entropic encoding states and begin encoding or decoding a subsequent slice using the default entropic encoding states as the initial entropic encoding states. However, there may be encoding inefficiencies in restoring the entropic encoding states. For example, the entropic encoding states Petition 870250093720, dated 10 / 13 / 2025, pp. 247 / 330 7 / 66 of a previous slice, in encoding order, may be better initial entropic encoding states than the standard entropic encoding states.

[0030] For example, for a current slice in a current frame, the entropic encoding states may be based on the entropic encoding states of a previous slice in the same current frame. As another example, for a current slice in a current frame, such as when the current slice is a first slice, in encoding order, in the current frame, the entropic encoding states may be based on the entropic encoding states of a last slice, in encoding order, of a previous frame.

[0031] This disclosure describes example techniques for indicating whether a point cloud decoder, for a first slice, in encoding order, in a current frame, is intended to determine entropic encoding states of the first slice based on entropic encoding states of a last slice, in encoding order, of a previous frame. For example, there might be a high-level flag (e.g., flagged in a parameter set), applicable to one or more frames, indicating whether the determination of entropic encoding states for a slice in a current frame based on a slice in a previous frame is enabled. That is, the high-level flag might indicate whether frame-dependent entropic encoding is enabled or disabled for one or more frames.

[0032] According to one or more examples described in this disclosure, the point cloud encoder may signal and a point cloud decoder may parse a slice-level flag (e.g., a flag in a slice header) that indicates whether the entropic encoding states for that particular slice (e.g., the slice for which the slice-level flag is signaled) should be determined based on the entropic encoding states of a previous slice from a prior frame. For example, the point cloud encoder may signal and the point cloud decoder may parse the slice_dep_entr_cont flag for a slice. The point cloud decoder may determine the entropic encoding states (e.g., states of Petition 870250093720, dated 10 / 13 / 2025, pp. 248 / 330 8 / 66 initial entropic encoding) for a first slice in a current frame based on the entropic encoding states of a last slice in a previous frame.

[0033] For all other slices in the current frame, the slice_dep_entr_cont flag can be set to false (for example, no other slice in the current frame should determine the initial entropic encoding states based on the entropic encoding states of the last slice in the previous frame). Additionally, if the high-level flag indicates that frame-dependent entropic encoding is disabled for one or more frames, then the point cloud encoder may not signal and the point cloud decoder may not parse the slice_dep_entr_cont flag for any of the slices in the current frame.

[0034] In the examples above, the slice_dep_entr_cont flag indicates whether the entropic encoding states for a slice in a current frame are based on the entropic encoding states of a slice in a previous frame. There may be instances where the entropic encoding states of a slice in the current frame are based on the entropic encoding states of a previous slice in the same frame.

[0035] Similar to what is described above, there may be a high-level flag, signaled in a parameter set, that indicates whether slice entropy continuation is enabled or disabled for one or more frames. Slice entropy continuation being enabled for one or more frames may mean that it is possible for the entropic encoding states for a slice in a current frame to be based on the entropic encoding states of a previous slice in the same current frame. Slice entropy continuation being disabled for one or more frames may mean that it is not possible for the entropic encoding states for a slice in a current frame to be based on the entropic encoding states of a previous slice in the same current frame.

[0036] In one or more examples, the point cloud encoder may signal and a point cloud decoder may parse a slice-level flag (e.g., a flag in a slice header) that indicates whether the entropic encoding states for that particular slice (e.g., the slice for which the Petition 870250093720, dated 10 / 13 / 2025, pp. 249 / 330 9 / 66 slice-level flags (if signaled) must be determined based on the entropic encoding states of the previous slice in the same frame. For example, the point cloud encoder might signal and the point cloud decoder might parse the slice_entropy_continuation flag for a slice. The point cloud decoder might determine the entropic encoding states (e.g., initial entropic encoding states) for a slice in a current frame based on the entropic encoding states of a previous slice in the current frame.

[0037] With different slice-level flags, one to determine whether a point cloud decoder, for a slice, should use entropy encoding states from a previous slice in the same frame and another to determine whether a point cloud decoder, for a slice, should use entropy encoding states from a previous slice in the same frame, the example techniques can improve the overall point cloud data encoding and decoding functionality. For example, if only high-level flags are used, without slice-level flags, there may be scenarios where entropy continuation is disabled (e.g., with the use of entropy encoding states from a previous slice in the same frame), but frame-dependent entropy encoding is enabled (e.g., with the use of entropy encoding states from a slice in a previous frame).This can lead to implementation problems, as the different high-level flags are inconsistent, as described in more detail. With the example slice-level flags described in this disclosure, the possibility of implementation problems can be reduced, resulting in improved encoding and decoding performance.

[0038] Figure 1 is a block diagram illustrating an example of an encoding and decoding system 100 that can perform the techniques of this disclosure. The techniques of this disclosure generally relate to encoding (e.g., encoding and / or decoding) point cloud data, i.e., to support point cloud compression. In general, point cloud data includes any data to process a point cloud. The encoding process can be effective in compressing and / or decompressing point cloud data. Petition 870250093720, dated 10 / 13 / 2025, pages 250 / 330 10 / 66

[0039] As shown in Figure 1, system 100 includes a source device 102 and a destination device 116. The source device 102 provides encoded point cloud data to be decoded by a destination device 116. In particular, in the example in Figure 1, the source device 102 provides the point cloud data to the destination device 116 via a computer-readable medium 110.Source device 102 and destination device 116 may comprise any of a wide range of devices, including desktop computers, notebook computers (i.e., laptop computers), tablet computers, set-top boxes, telephone handsets such as smartphones, televisions, cameras, display devices, digital media players, video game consoles, video streaming devices, land or sea vehicles, spacecraft, aircraft, robots, LIDAR light detection and ranging devices, satellites, or similar devices. In some cases, source device 102 and destination device 116 may be equipped for wireless communication.

[0040] In the example in Figure 1, the source device 102 includes a data source 104, a memory 106, a point cloud encoder 200 (e.g., G-PCC encoder or other types of encoder), and an output interface 108. The destination device 116 includes an input interface 122, a point cloud decoder (e.g., G-PCC decoder or other types of decoder), a memory 120, and a data consumer 118.According to this disclosure, the point cloud encoder 200 of source device 102 and the point cloud decoder 300 of destination device 116 can be configured to apply the techniques of this disclosure related to predictive geometry coding for point cloud compression, such as specifying whether residual azimuth analysis is independent of (e.g., of) reconstructed syntax element values ​​and / or whether syntax structure analysis (e.g., slice or brick) is independent of the decoding / reconstruction of one or more components of one or more points in the point cloud. Thus, source device 102 represents an example of such a device. Petition 870250093720, dated 10 / 13 / 2025, pp. 251 / 330 11 / 66 encoding, while destination device 116 represents an example of a decoding device. In other examples, source device 102 and destination device 116 may include other components or other arrangements. For example, source device 102 may receive data (e.g., point cloud data) from an internal or external source. Similarly, destination device 116 may interface with an external data consumer, rather than including a data consumer in the same device.

[0041] As shown in Figure 1, system 100 is merely an example. In general, other digital encoding and / or decoding devices can perform the techniques of this disclosure related to predictive geometry encoding for point cloud compression, such as specifying whether residual azimuth analysis is independent of (e.g., of) reconstructed syntax element values ​​and / or whether syntax structure analysis (e.g., slice or brick) is independent of the decoding / reconstruction of one or more components of one or more points in the point cloud. Source device 102 and destination device 116 are merely examples of devices in which source device 102 generates encoded data for transmission to destination device 116. This disclosure refers to an encoding device, as a device that performs the encoding (encoding and / or decoding) of data.Thus, point cloud encoder 200 and point cloud decoder 300 represent examples of encoding devices, in particular, an encoder and a decoder, respectively. In some examples, source device 102 and destination device 116 may operate in a substantially symmetrical manner, such that each of the source device 102 and the destination device 116 includes encoding and decoding components. In this way, system 100 can support unidirectional or bidirectional transmission between source device 102 and destination device 116, for example, for streaming, playback, broadcast transmission, telephony, navigation, and other applications. Petition 870250093720, dated 10 / 13 / 2025, pp. 252 / 330 12 / 66

[0042] In general, data source 104 represents a data source (i.e., raw, unencoded point cloud data) and can provide a sequential series of data frames to the point cloud encoder 200, which encodes the data into frames. Data source 104 of source device 102 may include a point cloud capture device, such as any of several cameras or sensors, for example, a three-dimensional scanning device or a light detection and ranging device (LIDAR), one or more video cameras, a file containing previously captured data, and / or a data feed interface for receiving data from a data content provider. Alternatively or additionally, point cloud data may be computer-generated from a scanning device, a camera, a sensor, or other data.For example, data source 104 can generate data based on computer graphics, like the source data, or produce a combination of live data, archived data, and computer-generated data. In each case, point cloud encoder 200 encodes the captured, pre-captured, or computer-generated data. Point cloud encoder 200 can rearrange the frames from the received order (sometimes called the display order) into an encoding order for encoding. Point cloud encoder 200 can generate one or more bitstreams that include encoded data. Source device 102 can then output the encoded data via output interface 108 to computer-readable media 110 for reception and / or retrieval, for example, via input interface 122 of destination device 116.

[0043] Memory 106 of source device 102 and memory 120 of destination device 116 may represent general-purpose memories. In some examples, memory 106 and memory 120 may store raw data, for example, raw data from data source 104 and raw and decoded data from point cloud decoder 300. Additionally or alternatively, memory 106 and memory 120 may store executable software instructions, for example, by point cloud encoder 200 and point cloud decoder 300. Petition 870250093720, dated 10 / 13 / 2025, pp. 253 / 330 13 / 66 respectively. Although memory 106 and memory 120 are shown separately from point cloud encoder 200 and point cloud decoder 300 in this example, it should be understood that point cloud encoder 200 and point cloud decoder 300 may also include internal memories for functionally similar or equivalent purposes. Furthermore, memory 106 and memory 120 may store encoded data, for example, the output of point cloud encoder 200 and the input to point cloud decoder 300. In some examples, portions of memory 106 and memory 120 may be allocated as one or more buffers, for example, to store raw, decoded, and / or encoded data. For example, memory 106 and memory 120 may store data representing a point cloud.

[0044] The computer-readable medium 110 may represent any type of medium or device with the capability to carry encoded data from the source device 102 to the destination device 116. In one example, the computer-readable medium 110 represents a communication medium to enable the source device 102 to transmit encoded data directly to the destination device 116 in real time, for example, via a radio frequency network or computer-based network. The output interface 108 may modulate a transmission signal that includes the encoded data, and the input interface 122 may demodulate the received transmission signal according to a communication standard, such as a wireless communication protocol. The communication medium may comprise any wireless or wired communication medium, such as a radio frequency (RF) spectrum or one or more physical transmission lines.The communication medium can be part of a packet-based network, such as a local area network, a wide area network, or a global network, such as the Internet. The communication medium may include routers, switches, base stations, or any other equipment that may be useful for facilitating communication between the source device 102 and the destination device 116. Petition 870250093720, dated 10 / 13 / 2025, pp. 254 / 330 14 / 66

[0045] In some examples, source device 102 may output encoded data from output interface 108 to storage device 112. Similarly, destination device 116 may access encoded data from storage device 112 via input interface 122. Storage device 112 may include any of several distributed or locally accessed data storage media, such as a hard disk, Blu-ray discs, DVDs, CD-ROMs, flash memory, volatile or non-volatile memory, or any other digital storage media suitable for storing encoded data.

[0046] In some examples, source device 102 may output encoded data to file server 114 or another intermediate storage device that can store the encoded data generated by source device 102. Destination device 116 may access stored data from file server 114 via streaming or download. File server 114 may be any type of server device with the ability to store encoded data and transmit that encoded data to destination device 116. File server 114 may represent a web server (e.g., for a website), a file transfer protocol (FTP) server, a content delivery network device, or a network attached storage (NAS) device.The target device 116 can access encrypted data from the file server 114 through any standard data connection, including an Internet connection. This can include a wireless channel (e.g., a Wi-Fi connection), a wired connection (e.g., digital subscriber line (DSL), cable modem, etc.), or a combination of both that is suitable for accessing encrypted data stored on the file server 114. The file server 114 and the input interface 122 can be configured to operate according to a streaming protocol, a download protocol, or a combination thereof. Petition 870250093720, dated 10 / 13 / 2025, pp. 255 / 330 15 / 66

[0047] Output interface 108 and input interface 122 may represent wireless transmitters / receivers, modems, wired network communication components (e.g., Ethernet cards), wireless communication components operating in accordance with any of several Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, or other physical components. In instances where output interface 108 and input interface 122 comprise wireless components, output interface 108 and input interface 122 may be configured to transfer data, such as encoded data, in accordance with a cellular communication standard such as 4G, 4G-LTE (long-term evolution), advanced long-term evolution (LTE), 5G, or similar.In some instances where output interface 108 comprises a wireless transmitter, output interface 108 and input interface 122 may be configured to transfer data, such as encoded data, according to other wireless standards, such as an IEEE 802.11 specification, an IEEE 802.15 specification (e.g., ZigBee™), a Bluetooth™ standard, or similar standards. In some instances, source device 102 and / or destination device 116 may include their respective system-on-a-chip (SoC) devices. For example, source device 102 may include an SoC device to perform the functionality assigned to point cloud encoder 200 and / or output interface 108, and destination device 116 may include an SoC device to perform the functionality assigned to point cloud decoder 300 and / or input interface 122.

[0048] The techniques of this disclosure can be applied to encode and decode in support of any of several applications, such as communication between autonomous vehicles, communication between scanning devices, cameras, sensors and processing devices, such as local or remote servers, geographic mapping or other applications.

[0049] The input interface 122 of the destination device 116 receives an encoded bitstream from the computer-readable medium 110 (for example, a medium of Petition 870250093720, dated 10 / 13 / 2025, pp. 256 / 330 16 / 66 communication, a storage device 112, a file server 114 or similar). The encoded bitstream may include signaling information defined by the point cloud encoder 200, which is also used by the point cloud decoder 300, as syntax elements that have values ​​describing the characteristics and / or processing of encoded units (e.g., slices, photos, photo groups, sequences or similar). The data consumer 118 uses the decoded data. For example, the data consumer 118 may use the decoded data to determine the locations of physical objects. In some examples, the data consumer 118 may understand a display to present images based on a point cloud.

[0050] Each of the 200 point cloud encoder and 300 point cloud decoder can be implemented as any one of several suitable encoder and / or decoder circuit sets, such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic, software, hardware, firmware, or any combination thereof. When the techniques are partially implemented in software, a device may store instructions for the software in a suitable computer-readable non-transient medium, or media, and execute the instructions in hardware using one or more processors to perform the techniques of this disclosure.A computer-readable medium, or media, may be a single memory component or may be distributed. Each of the 200 point cloud encoder and 300 point cloud decoder may be included in one or more encoders or decoders, any of which may be integrated as part of a combined encoder / decoder (CODEC) in a respective device. A device that includes the point cloud encoder. Petition 870250093720, dated 10 / 13 / 2025, pp. 257 / 330 17 / 66 200 and / or the 300 point cloud decoder may comprise one or more integrated circuits, microprocessors and / or other types of devices.

[0051] The 200 point cloud encoder and the 300 point cloud decoder can operate according to an encoding standard, such as a video point cloud compression (V-PCC) standard or a geometry point cloud compression (GPCC) standard. This disclosure may refer generally to the encoding (e.g., encoding and decoding) of pictures to include the process of encoding or decoding data. An encoded bitstream generally includes a series of values ​​for syntax elements representing encoding decisions (e.g., encoding modes).

[0052] This disclosure may refer, in general, to the signaling of certain information, such as syntax elements. The term signaling may refer, in general, to the communication of values ​​for syntax elements and / or other data used to decode encoded data. That is, the point cloud encoder 200 may signal values ​​for syntax elements in the bitstream. In general, signaling refers to the generation of a value in the bitstream. As mentioned above, the source device 102 may transport the bitstream to the destination device 116 substantially in real time or in non-real time, as may occur during the storage of syntax elements in the storage device 112 for later retrieval by the destination device 116.

[0053] The ISO / IEC MPEG (JTC 1 / SC 29 / WG 11) is studying the potential need for standardization of point cloud encoding technology with a compression capability that significantly exceeds that of current approaches and aims to create the standard. The group is working together on this exploratory activity in a collaborative effort known as the 3-dimensional graphics team (3DG) to evaluate compression technology designs proposed by its experts in this area. Petition 870250093720, dated 10 / 13 / 2025, pages 258 / 330 18 / 66

[0054] Point cloud compression activities are categorized into two different approaches. The first approach is video point cloud compression (V-PCC), which segments the three-dimensional object and projects the segments onto multiple two-dimensional planes (which are represented as patches in the two-dimensional frame), which are additionally encoded by a legacy two-dimensional video codec, such as a high-efficiency video coding (HEVC) codec (ITU-T H.265). The second approach is geometry-based point cloud compression (G-PCC), which directly compresses the three-dimensional geometry, that is, the position of a set of points in three-dimensional space, and the associated attribute values ​​(for each point associated with the three-dimensional geometry). G-PCC addresses point cloud compression in both category 1 (static point clouds) and category 3 (dynamically acquired point clouds).A recent draft of the G-PCC standard is available in the text of ISO / IEC FDIS 23090-9, Geometry-based point cloud compression, ISO / IEC JTC 1 / SC29 / WG 7 m55637, conference call, October 2020, and a description of the codec is available in G-PCC codec description, ISO / IEC JTC 1 / SC29 / WG 7 MDS20983, conference call, October 2021.

[0055] A point cloud contains a set of points in a three-dimensional space and may have attributes associated with the point. The attributes may be color information, such as R, G, B or Y, Cb, Cr, or reflectance information, or other attributes. Point clouds can be captured by multiple cameras or multiple sensors, such as LIDAR sensors and three-dimensional scanning devices, and can also be computer-generated. Point cloud data is used in various applications, including, but not limited to, construction (modeling), graphics (three-dimensional models for visualization and animation), and the automotive industry (LIDAR sensors used to aid navigation).

[0056] The three-dimensional space occupied by point cloud data can be enclosed by a virtual bounding box. The position of the points within the bounding box can be represented with a certain precision; therefore, the positions Petition 870250093720, dated 10 / 13 / 2025, pp. 259 / 330 19 / 66 of one or more points can be quantized based on precision. At the smallest level, the bounding box is divided into voxels, which are the smallest unit of space represented by a unit cube. A voxel in the bounding box can be associated with zero, one, or more than one point. The bounding box can be divided into multiple cube / cuboid regions, which can be called tiles. Each tile can be encoded into one or more slices. The partitioning of the bounding box into slices and tiles can be based on the number of points in each partition or can be based on other considerations (e.g., a particular region can be encoded as tiles). Slice regions can be further partitioned using splitting decisions similar to those in video codecs.

[0057] Figure 2 provides an overview of the 200 point cloud encoder. Figure 3 provides an overview of the point cloud decoder 300. The modules shown are logical and do not necessarily correspond, one-to-one, to the code implemented in the reference implementation of the G-PCC codec, i.e., the TMC13 test model software studied by ISO / IEC MPEG (JTC 1 / SC 29 / WG 11). In the example in Figure 2, the point cloud encoder 200 may include a geometry encoding unit 250 and an attribute encoding unit 260. In general, the geometry encoding unit 250 is configured to encode the positions of the points in the point cloud frame to produce geometry bitstream 203. The attribute encoding unit 260 is configured to encode the attributes of the points in the point cloud frame to produce attribute bitstream 205.As will be explained below, attribute encoding unit 260 can also use positions, as well as the encoded geometry of geometry encoding unit 250, to encode attributes.

[0058] In the example in Figure 3, the point cloud decoder 300 may include a geometry decoding unit 350 and an attribute decoding unit 360. In general, the geometry encoding unit 350 is configured to decode the geometry bitstream 203 to retrieve the positions of the points in the point cloud frame. The attribute decoding unit 360 Petition 870250093720, dated 10 / 13 / 2025, pages 260 / 330 20 / 66 is configured to decode attribute bitstream 205 to retrieve point attributes from the point cloud frame. As will be explained below, attribute decoding unit 360 can also use the decoded geometry positions from geometry decoding unit 350 to encode attributes.

[0059] In both point cloud encoder 200 and point cloud decoder 300, point cloud positions are encoded first. Attribute encoding depends on the decoded geometry. In Figures 4 to 7 of this disclosure, vertical cross-pattern encoding units are typically used options for Category 1 data. Diagonal cross-pattern encoding units are typically used options for Category 3 data. All other modules are common between Categories 1 and 3.

[0060] For Category 3 data, compressed geometry is typically represented as an octree from the root to a sheet level of individual voxels. For Category 1 data, compressed geometry is typically represented by a pruned octree (i.e., an octree from the root to a sheet level of blocks larger than voxels) plus a model that approximates the surface in each sheet of the pruned octree. In this way, both Category 1 and Category 3 data share the octree encoding mechanism, while Category 1 data can, in addition, approximate the voxels in each sheet with a surface model. The surface model used is a triangulation comprising 1 to 10 triangles per block, resulting in a triangle soup. The Category 1 geometry codec is therefore known as the Trisoup geometry codec, while the Category 3 geometry codec is known as the Octree geometry codec.

[0061] At each node of an octree, an occupancy is signaled (when not inferred) for one or more of its child nodes (up to eight nodes). Multiple neighborhoods are specified, including (a) nodes that share a face with a current octree node, (b) nodes that share a face, edge, or vertex with the current octree node, etc. In each neighborhood, the occupancy of a node and / or its children can be used to predict the occupancy of the current node or its children. For points that are sparsely Petition 870250093720, dated 10 / 13 / 2025, pp. 261 / 330 21 / 66 filled in at certain octree nodes, the codec also supports a direct encoding mode, in which the three-dimensional position of the point is directly encoded. A flag can be set to indicate that a direct mode is being used. At the lowest level, the number of points associated with the octree node / leaf node can also be encoded.

[0062] Figure 8 is a conceptual diagram illustrating an example of an octree split for geometry encoding. For example, Figure 8 illustrates octree split 800. There are points 802 to 808 at different levels in octree split 800, as illustrated.

[0063] Once the geometry is encoded, the attributes corresponding to the geometry points are encoded. When there are multiple attribute points corresponding to a reconstructed / decoded geometry point, an attribute value can be derived that is representative of the reconstructed point.

[0064] There are three attribute coding methods in G-PCC: region adaptive hierarchical transform (RAHT) coding, interpolation-based hierarchical nearest neighbor prediction (predictive transform), and interpolation-based hierarchical nearest neighbor prediction with an update / survey step (survey transform). RAHT and survey are typically used for category 1 data, while prediction is typically used for category 3 data. However, any method can be used for any data, and, as with geometry codecs in G-PCC, the attribute coding method used to encode the point cloud is specified in the bitstream.

[0065] Attribute encoding can be conducted at a level of detail (LoD) where, with each level of detail, a finer representation of the point cloud attribute can be obtained. Each level of detail can be specified based on the distance metric from neighboring nodes or based on a sampling distance.

[0066] In the 200 point cloud encoder, the residuals obtained as output from the encoding methods for the attributes are quantized. The residuals Petition 870250093720, dated 10 / 13 / 2025, pp. 262 / 330 22 / 66 can be obtained by subtracting the attribute value from a prediction that is derived based on points in the neighborhood of the current point and based on the attribute values ​​of previously encoded points. Quantized residuals can be encoded using context-adaptive arithmetic coding.

[0067] The 200 point cloud encoder and the 300 point cloud decoder can be configured to encode point cloud data using predictive geometry coding as an alternative to octree geometry coding. In predictive tree coding, the point cloud nodes are arranged in a tree structure (which defines the prediction structure) and various prediction strategies are used to predict the coordinates of each node in the tree relative to its predictors.

[0068] One method is illustrated in Figure 14. Figure 14 is a conceptual diagram illustrating an example of interprediction of a current point (curPoint) 1400 in a current frame to a point (interPredPt) 1402 in the reference frame. The extension of interprediction to azimuth, radius, and laserID may include the following steps: • For a given point, choose the previous decoded point (prevDecP0) 1404. • Choose a position point (refFrameP0) 1406 in the reference frame that has the same azimuth in scale and laserID as prevDecP0 1404. • In the reference frame, find the first point (interPredPt) 1402 that has an azimuth greater than that of refFrameP0 1406. The point interPredPt 1402 can also be called the next interpredictor.

[0069] Figure 4 is a block diagram illustrating an example of a geometry coding unit 250 from Figure 2 in more detail. The geometry coding unit 250 may include a coordinate transformation unit 202, a voxelization unit 206, a predictive tree construction unit 207, an octree analysis unit 210, a surface approximation analysis unit 212, an arithmetic coding unit 214, and a geometry reconstruction unit 216. Petition 870250093720, dated 10 / 13 / 2025, pp. 263 / 330 23 / 66

[0070] As shown in the example in Figure 4, geometry encoding unit 250 can obtain a set of point positions in the point cloud. In one example, geometry encoding unit 250 can obtain the set of point positions in the point cloud and the set of attributes from data source 104 (Figure 1). The positions can include coordinates of points in a point cloud. Geometry encoding unit 250 can generate a geometry bitstream 203 that includes an encoded representation of the point positions in the point cloud.

[0071] The coordinate transformation unit 202 can apply a transformation to the coordinates of points to transform the coordinates from an initial domain to a transformation domain. This disclosure may refer to the coordinate transformations as transformation coordinates. The voxelization unit 206 can voxelize the transformation coordinates. Voxelization of the transformation coordinates may include quantization and removing some points from the point cloud. In other words, multiple points of the point cloud may be contained in a single voxel, which may then be treated, in some respects, as a point.

[0072] Prediction tree construction unit 207 can be configured to generate a prediction tree based on voxelized transformation coordinates. Prediction tree construction unit 207 can be configured to perform any of the prediction tree coding techniques described above, either in an intraprediction mode or in an interprediction mode. To perform prediction tree coding using interprediction, prediction tree construction unit 207 can access previously coded frame points from geometry reconstruction unit 216. Arithmetic coding unit 214 can entropically encode syntax elements that represent the coded prediction tree.

[0073] Instead of performing prediction tree-based coding, the geometry coding unit 250 can perform coding based on Petition 870250093720, dated 10 / 13 / 2025, pp. 264 / 33024 / 66 octree. The octree analysis unit 210 can generate an octree based on voxelized transformation coordinates. The surface approximation analysis unit 212 can analyze the points to potentially determine a surface representation of the point sets. The arithmetic encoding unit 214 can entropically encode the syntax elements representing the octree information and / or surfaces determined by the surface approximation analysis unit 212. The geometry encoding unit 250 can output these syntax elements in the geometry bitstream 203. The geometry bitstream 203 can also include other syntax elements, including syntax elements that are not arithmetically encoded.

[0074] Octree-based encoding can be performed as intraprediction techniques or interprediction techniques.To perform octree coding using interprediction, the octree analysis unit 210 and the surface approximation analysis unit 212 can access previously coded frame points from the geometry reconstruction unit 216.

[0075] The geometry reconstruction unit 216 can reconstruct the transformation coordinates of the points in the point cloud based on the octree, the predictive tree, the data indicating the surfaces determined by the surface approximation analysis unit 212, and / or other information. The number of transformation coordinates reconstructed by the geometry reconstruction unit 216 may differ from the original number of points in the point cloud due to voxelization and surface approximation. This disclosure may refer to the resulting points as reconstructed points.

[0076] Figure 5 is a block diagram illustrating an example of an attribute encoding unit 260 from Figure 2 in more detail.The attribute encoding unit 250 may include a color transformation unit 204, an attribute transfer unit 208, a RAHT unit 218, a LoD generation unit 220, a survey unit 222, a coefficient quantization unit 224, and an arithmetic encoding unit. Petition 870250093720, dated 10 / 13 / 2025, pp. 265 / 330 25 / 66 226 and an attribute reconstruction unit 228. The attribute encoding unit 260 can encode the attributes of the points in a point cloud to generate an attribute bitstream 205 that includes an encoded representation of the attribute set. The attributes can include information about the points in the point cloud, such as colors associated with the points in the point cloud.

[0077] The color transformation unit 204 can apply a transformation to transform the color information of attributes in a different domain. For example, the color transformation unit 204 can transform color information from an RGB color space to a YCbCr color space. The attribute transfer unit 208 can transfer attributes from the original points of the point cloud to the reconstructed points of the point cloud. The attribute transfer unit 208 can use the original point positions as well as the positions generated from the attribute encoding unit 250 (e.g., from the geometry reconstruction unit 216) to perform the transfer.

[0078] The RAHT unit 218 can apply RAHT encoding to the attributes of the reconstructed points.In some examples, under RAHT, the attributes of a 2x2x2 block of point positions are taken and transformed along one direction to obtain four low (L) and four high (H) frequency nodes. Subsequently, the four low (L) frequency nodes are transformed in a second direction to obtain two low (LL) and two high (LH) frequency nodes. The two low (LL) frequency nodes are transformed along a third direction to obtain one low (LLL) and one high (LLH) frequency node. The low frequency LLL node corresponds to the DC coefficients and the high frequency nodes H, LH, and LLH correspond to the AC coefficients. The transformation in each direction can be a 1-D transformation with two coefficient weights.Low-frequency coefficients can be considered as 2x2x2 block coefficients for the next higher level of RAHT transformation, and AC coefficients are encoded without changes; such transformations continue up to the top root node. The tree traversal for encoding is top-down and is used for computation. Petition 870250093720, dated 10 / 13 / 2025, pp. 266 / 330 26 / 66 are the weights to be used for the coefficients; the transformation order is from bottom to top. The coefficients can then be quantized and encoded.

[0079] Alternatively or additionally, the LoD generation unit 220 and the survey unit 222 can apply LoD processing and surveying, respectively, to the attributes of the reconstructed points. LoD generation is used to divide the attributes into different levels of refinement. Each level of refinement provides a refinement to the attributes of the point cloud. The first level of refinement provides a rough approximation and contains few points; the subsequent level of refinement typically contains more points, and so on. The levels of refinement can be constructed using a distance-based metric or can also use one or more other classification criteria (e.g., subsampling from a particular order). In this way, all reconstructed points can be included in a level of refinement.Each level of detail is produced by considering a union of all points up to a particular refinement level: for example, LoD1 is obtained based on refinement level RL1, LoD2 is obtained based on RL1 and RL2, ..., and LODN is obtained by the union of RL1, RL2, ... RLN. In some cases, the generation of LoD may be followed by a prediction scheme (e.g., prediction transformation) in which the attributes associated with each point in the LoD are predicted from a weighted average of the previous points, and the residual part is quantized and entropically encoded. The survey scheme is based on the prediction transformation mechanism, in which an update operator is used to update the coefficients and an adaptive quantization of the coefficients is performed.

[0080] RAHT unit 218 and survey unit 222 can generate coefficients based on the attributes.The coefficient quantization unit 224 can quantize the coefficients generated by the RAHT unit 218 or the survey unit 222. The arithmetic coding unit 226 can apply arithmetic coding to the syntax elements representing the quantized coefficients. The point cloud encoder 200 can output these syntax elements in... Petition 870250093720, dated 10 / 13 / 2025, pp. 267 / 330 27 / 66 attribute bitstream 205. The attribute bitstream 205 may also include other syntax elements, including non-arithmetically encoded syntax elements.

[0081] Like the geometry encoding unit 250, the attribute encoding unit 260 may encode attributes using intraprediction or interprediction techniques. The above description of the attribute encoding unit 260 generally describes intraprediction techniques. In other examples, the RAHT unit 215, the LoD generation unit 220, and / or the survey unit 222 may also use previously encoded frame attributes to further encode the current frame attributes. In this sense, the attribute reconstruction unit 228 may be configured to reconstruct the encoded attributes and store them for possible future use in interprediction encoding.

[0082] Figure 6 is a block diagram illustrating an example of a geometry decoding unit 350 from Figure 3 in more detail. The geometry decoding unit 350 can be configured to perform the reciprocal process with respect to that performed by the geometry encoding unit 250 of Figure 4. The geometry decoding unit 350 receives a geometry bitstream 203 and produces positions of the points of a point cloud frame. The geometry decoding unit 350 may include an arithmetic geometry decoding unit 302, an octree synthesis unit 306, a prediction tree synthesis unit 307, a surface approximation synthesis unit 310, a geometry reconstruction unit 312, and an inverse coordinate transformation unit 320.

[0083] The geometry decoding unit 350 can receive geometry bitstream 203. The geometry arithmetic decoding unit 302 can apply arithmetic decoding (e.g., context-adaptive binary arithmetic coding (CABAC) or other type of arithmetic decoding) to syntax elements in geometry bitstream 203. Petition 870250093720, dated 10 / 13 / 2025, pp. 268 / 330 28 / 66

[0084] The octree synthesis unit 306 can synthesize an octree based on the syntax elements parsed from the geometry bitstream 203. Starting with the root node of the octree, the occupancy of each of the eight child nodes at each octree level is signaled in the bitstream. When the signaling indicates that a child node at a particular octree level is occupied, the occupancy of that child node's children is signaled. The signaling of nodes at each octree level is signaled before proceeding to the subsequent octree level.

[0085] At the final level of the octree, each node corresponds to a voxel position; When a leaf node is occupied, one or more points can be specified to be occupied at the voxel position. In some cases, some branches of the octree may terminate earlier than the final level due to quantization. In these cases, a leaf node is considered an occupied node that has no child nodes. In cases where surface approximation is used in geometry bitstream 203, surface approximation synthesis unit 310 can determine a surface model based on the syntax elements parsed from geometry bitstream 203 and based on the octree.

[0086] Octree-based coding can be performed as intraprediction techniques or interprediction techniques. To perform octree coding using interprediction, the octree synthesis unit 306 and the surface approximation synthesis unit 310 can access previously decoded frame points from the geometry reconstruction unit 312.

[0087] The prediction tree synthesis unit can synthesize a prediction tree based on syntax elements parsed from the geometry bitstream 203. The prediction tree synthesis unit 307 can be configured to synthesize the prediction tree using any of the techniques described above, including the use of both intraprediction and interprediction techniques. To perform prediction tree coding using interprediction, the prediction tree synthesis unit Petition 870250093720, dated 10 / 13 / 2025, pp. 269 / 330 29 / 66 307 can access previously decoded frame points from the geometry reconstruction unit 312.

[0088] The geometry reconstruction unit 312 can perform a reconstruction to determine the coordinates of points in a point cloud. For each position in a leaf node of the octree, the geometry reconstruction unit 312 can reconstruct the node position using a binary representation of the leaf node in the octree. In each respective leaf node, the number of points in the respective leaf node is signaled; this indicates the number of duplicate points in the same voxel position. When geometry quantization is used, point positions are scaled to determine the reconstructed point position values.

[0089] The inverse transformation coordinate unit 320 can apply an inverse transformation to the reconstructed coordinates to convert the reconstructed coordinates (positions) of the points in the point cloud from a transformation domain back to an initial domain. The positions of the points in a point cloud may be in the floating-point domain, but the point positions in the G-PCC codec are encoded in the integer domain. The inverse transformation can be used to convert the positions back to the original domain.

[0090] Figure 7 is a block diagram illustrating an example of a 360 attribute decoding unit from Figure 3 in more detail. The 360 ​​attribute decoding unit can be configured to perform the reciprocal process with respect to that performed by the 260 attribute encoding unit of Figure 5. The 360 ​​attribute decoding unit receives attribute bitstream 205 and produces attributes from the points of a point cloud frame. The 356 attribute decoding unit may include an arithmetic attribute decoding unit 304, an inverse quantization unit 308, a RAHT unit 314, a LoD generation unit 316, an inverse survey unit 318, an inverse transformation color unit 322, and an attribute reconstruction unit 328. Petition 870250093720, dated 10 / 13 / 2025, pages 270 / 330 30 / 66

[0091] The attribute arithmetic decoding unit 304 can apply arithmetic decoding to syntax elements in the attribute bitstream 205. The inverse quantization unit 308 can inversely quantize attribute values. Attribute values ​​can be based on syntax elements obtained from the attribute bitstream 205 (for example, including syntax elements decoded by the attribute arithmetic decoding unit 304).

[0092] Depending on how the attribute values ​​are encoded, the unit of RAHT 314 can perform RAHT encoding to determine, based on inversely quantized attribute values, the color values ​​for the point cloud points. RAHT decoding is done from top to bottom of the tree. At each level, the low- and high-frequency coefficients, which are derived from the inverse quantization process, are used to derive the constituent values. At the leaf node, the derived values ​​correspond to the attribute values ​​of the coefficients. The weight derivation process for the points is similar to the process used in the point cloud encoder 200. Alternatively, the LoD generation unit 316 and the inverse survey unit 318 can determine color values ​​for point cloud points using a detail-based technique level. The LoD generation unit 316 decodes each LoD resulting in progressively finer attribute representations of the points.With a prediction transformation, the LoD 316 generation unit derives the point prediction from a weighted sum of points that are in previous LoDs or that are previously reconstructed in the same LoD. The LoD 316 generation unit can add the prediction to the residual (which is obtained after inverse quantization) to obtain the reconstructed attribute value. When the survey scheme is used, the LoD 316 generation unit can also include an update operator to update the coefficients used to derive the attribute values. In this case, the LoD 316 generation unit can also apply inverse adaptive quantization.

[0093] Furthermore, in the example in Figure 7, the inverse color transformation unit 322 can apply an inverse color transformation to the color values. A Petition 870250093720, dated 10 / 13 / 2025, pp. 271 / 330 31 / 66 inverse color transformation can be the inverse of a color transformation applied by the color transformation unit 204 of the encoder 200. For example, the color transformation unit 204 can transform color information from an RGB color space to a YCbCr color space. Consequently, the inverse color transformation unit 322 can transform color information from the YCbCr color space to the RGB color space.

[0094] The attribute reconstruction unit 328 can be configured to store attributes of previously decoded frames. Attribute encoding can be performed using intraprediction or interprediction techniques. To perform attribute decoding using interprediction, the RAHT unit 314 and / or the LoD generation unit 316 can access attributes of previously decoded frames from the attribute reconstruction unit 328.

[0095] The various units in Figures 4 to 7 are illustrated to help understand the operations performed by the 200 point cloud encoder and the 300 point cloud decoder. The units can be implemented as fixed-function circuits, programmable circuits, or a combination thereof. Fixed-function circuits refer to circuits that provide particular functionality and are predefined in the operations that can be performed. Programmable circuits refer to circuits that can be programmed to perform various tasks and to provide flexible functionality in the operations that can be performed. For example, programmable circuits can execute software or firmware that causes the programmable circuits to operate in the manner defined by the software or firmware instructions.Fixed-function circuits can execute software instructions (for example, to receive parameters or to emit parameters), but the types of operations that fixed-function circuits perform are generally immutable. In some examples, one or more of the units may be distinct circuit blocks (fixed-function or programmable), and in some examples, one or more of the units may be integrated circuits. Petition 870250093720, dated 10 / 13 / 2025, pp. 272 / 330 32 / 66

[0096] The following section describes slice entropy continuation. Typically, when a slice is encoded, the entropic encoding states (of the various bins that are entropically encoded) are restored (e.g., to default values) before encoding the subsequent slice. Entropic encoding states may also be called contexts or context values. Restoration can allow slices to be parsed and encoded independently. However, this restoration of entropic encoding states can result in a loss of encoding efficiency, which can be one of the costs of having slices. Entropy continuation is a technique by which the entropic encoding states of a first slice can be copied to a second slice, where the second slice is an earlier slice in encoding order. In such cases, the encoding of the first slice may be dependent on the encoding of the second slice.

[0097] In applications where slices can be lost, this dependency can affect encoding efficiency. For example, if the second slice is lost, the first slice may not be decodable even when the first slice is received. However, in other applications where the probability of slice loss is lower, entropy continuation can provide a balanced performance trade-off: (a) since the entropic encoding states of the slices can be copied from another slice, the impact on encoding efficiency may not be as significant as otherwise; (b) under entropy continuation, only the entropic encoding and / or decoding of slices is dependent; subsequent decoding of slices can still be performed independently, which provides some flexibility for parallel implementation.

[0098] In G-PCC, a flag (for example, a high-level entropy continuation flag) is signaled in the geometry parameter set (GPS - geometry parameter set) to indicate whether entropy continuation is enabled. The high-level entropy continuation flag signaled in the GPS may be applicable to one or more frames and is therefore considered a high-level flag. Petition 870250093720, dated 10 / 13 / 2025, pp. 273 / 330 33 / 66

[0099] When enabled, the entropy encoding of one or more slices in a frame can depend on the entropy encoding state of another slice in the same frame. This can be indicated by a second flag on each slice. The second flag can be called the slice_entropy_continuation flag. That is, the slice_entropy_continuation flag can be a slice-level flag (e.g., flagged in the slice header or elsewhere) that is applicable to that slice. So, the high-level entropy continuation flag for entropy continuation can indicate whether entropy continuation (e.g., entropy encoding states for a slice in the current frame can be based on entropy encoding states of another slice in the same frame) is allowed for slices in a frame, and the slice_entropy_continuation flag can indicate whether entropy continuation is enabled for a particular slice associated with the slice_entropy_continuation flag.

[0100] In G-PCC, for entropy continuation, when a first slice is indicated to determine (e.g., based on copying) the entropy states of a second slice, pointcloud encoder 200 signals a prev_slice_id indicating the slice ID of the second slice. This enables pointcloud decoder 300 to determine whether the first slice can be entropically decoded. If pointcloud decoder 300 has not received the slice with ID prev_slice_id (i.e., the second slice), pointcloud decoder 300 can determine that pointcloud decoder 300 cannot decode the first slice. This determination allows pointcloud decoder 300 to avoid wasting resources (in attempting to decode the slice).The 300 point cloud decoder can also take other measures - error recovery for lost / undecodable slices or request that the encoder / transmitter side resend the second slice.

[0101] G-PCC may also have other restrictions. Under entropy continuation, the first slice, in coding order, of a frame cannot copy the entropic coding states of other slices. In other words, entropy continuation of slices can only occur between slices of the same frame. Petition 870250093720, dated 10 / 13 / 2025, pp. 274 / 330 34 / 66 frame. However, as described in more detail, the inclusion of frame-dependent entropic encoding allowed the 200 point cloud encoder or the 300 point cloud decoder, for a first slice, in encoding order, of a current frame, to determine entropic encoding states (e.g., by copying entropic encoding states) from a last slice, in encoding order, of a previous frame.

[0102] The following section describes frame-dependent entropic coding. Entropic frame-dependent coding can be used to copy entropy coding states from slices of another frame. This can be different from entropy continuation which copies contexts from other slices in the same frame (e.g., frame A is encoded and frame B is encoded as an interpredicted frame with frame A being the reference frame of frame B). When entropic frame-dependent coding is enabled, the entropy coding state of a slice in frame B is copied from a slice in frame A.

[0103] In G-PCC, a flag (gof_geom_entropy_continuation) is set in GPS indicating that frame-dependent entropic coding is enabled. The gof_geom_entropy_continuation flag can be considered a high-level flag that is applicable to one or more frames. For example, if the gof_geom_entropy_continuation flag is enabled, it allows the entropic coding states of a slice of a current frame to be determined based on the entropic coding state of a slice of a previous frame.

[0104] When frame-dependent entropy coding is enabled and attribute interprediction is enabled, the entropy coding states are also copied to attributes. This process is illustrated in Figure 9. For example, in Figure 9, the process begins with frame initialization (900). Point cloud decoder 300 can determine whether, for a particular slice, entropy continuation is enabled (902). If enabled (YES from 902), point cloud decoder 300 can decode the frame (910). If not enabled (NO from 902), the point cloud decoder Petition 870250093720, dated 10 / 13 / 2025, pages 275 / 330 35 / 66 points 300 can determine if the random access period is reached (904). If the random access period is reached (YES 904), then the point cloud decoder 300 can perform frame initialization 912 and frame initialization 914, followed by frame decoding (910).

[0105] If the random access period is not reached (NO from 904), point cloud decoder 300 can determine whether dependent frame entropic coding is enabled or not (906). If dependent frame entropic coding is not enabled (NO from 906), point cloud decoder 300 can proceed through frame initialization 912, 914 and frame decoding 910. If dependent frame entropic coding is enabled (YES from 906), point cloud decoder 300 can determine whether attribute prediction parameters are enabled (908), if enabled, perform frame decoding (910) and, if not enabled, proceed with frame initialization 914 and frame decoding 910.

[0106] After decoding frame 916, point cloud decoder 300 can save the entropy context probability (916). The entropy context probability is an example of entropic encoding states. Point cloud decoder 300 can repeat these example techniques for each frame in a group (918).

[0107] The entropy continuation methods (e.g., determining the entropic encoding states of a slice based on another slice in the same frame) and frame-dependent entropic encoding (e.g., determining the entropic encoding states of a slice in the current frame based on a slice in another frame) described above may have several shortcomings, which are described below. In one or more examples, the techniques described in this disclosure may address some of the shortcomings, but the example techniques should not be considered so limited.

[0108] In one aspect, currently, frame-dependent entropic coding is not implemented at the frame level, but rather at the slice level. Petition 870250093720, dated 10 / 13 / 2025, pp. 276 / 330 36 / 66 As a result, frame-dependent entropic encoding has the following behavior: a. when entropy continuation is enabled: i. when slice_entropy_continuation is flagged as 1 for a slice (frame-dependent entropic encoding does not apply) 1. Case 1: the entropic encoding states are copied from the previous slice. ii. when slice_entropy_continuation is flagged as 0 for a slice: 1. Case 2a: if frame-dependent entropic encoding is enabled, the entropic encoding states will be copied from the previous slice (for the first slice in a frame, the entropy states are copied from the last slice of the previous frame). 2. Case 2b: If frame-dependent entropic coding is not enabled, entropic coding states will be restored. b. when entropy continuation is disabled: i. Case 3a: if frame-dependent entropic coding is enabled, the entropic coding states will be copied from the previous slice (for the first slice in a frame, the entropy states are copied from the previous frame). ii. Case 3b: If frame-dependent entropic coding is not enabled, entropic coding states will be restored.

[0109] In cases 1, 2b, and 3b, the behavior of the encoder (e.g., point cloud encoder 200 or point cloud decoder 300) is evident and well-defined. However, in case 3a, the entropic encoding states are determined (e.g., copied) from the previous slice, even when the current slice and the previous slice are part of the current frame. This may not be the intended use case for frame-dependent entropic encoding. In case 2a, although slice_entropy_continuation is 0 (meaning the entropy state should not be copied), frame-dependent entropy (as implemented) would copy the entropic encoding states from the slice. Petition 870250093720, dated 10 / 13 / 2025, pp. 277 / 330 37 / 66 previous. In this case, the behavior may be contradictory. Effectively, frame-dependent entropic encoding not only copies the slice from another frame, but also applies to copying the entropic encoding states in the frame slices when slice entropy continuation is not applied.

[0110] Frame-dependent entropic coding must be applied to the first slice in the frame (in which it copies the entropy state of the previous / reference frame). Slice entropy continuation does not apply to the first slice of a frame and applies to all subsequent slices in the frame. Thus, there is a clear distinction in when entropy continuation applies and when frame-dependent coding applies. According to one or more examples, the application of frame-dependent entropic coding may be decoupled from slice entropy continuation, frame-dependent entropic coding may be applied only to the first slice of the frame.

[0111] The following section may address issues of the first aspect. A first flag may be set on the slice to indicate whether the entropic encoding state for a slice is copied from the entropic encoding state of a slice in the previous frame. The first flag may only be set when there is an indication (e.g., another flag in a parameter set) that frame-dependent entropic encoding is enabled. A restriction may be added that the first flag is set equal to 0 for slices that are not the first slice in the frame. For example, only for the first slice, the entropic encoding state is copied from a previous frame.

[0112] Conditions can be added so that entropy continuation is enabled when the dependent frame is enabled. The following constraint(s) can be added: a. It is a bitstream conforming requirement that, when dependent frame entropy coding is enabled, entropy_continuation must be equal to 1. Petition 870250093720, dated 10 / 13 / 2025, pp. 278 / 330 38 / 66 b. It is a bitstream conforming requirement that, when dependent frame entropy coding is enabled, slice_entropy_continuation must be equal to 1 for a slice when the slice is not the first slice of the frame.

[0113] Figure 15 is a conceptual diagram illustrating an example of frames that have dependent frame entropy coding enabled. Figure 15 illustrates the example techniques described above that may address one or more of the issues described above, as non-limiting examples.The following tables illustrate the various conditions for when entropy continuation (e.g., determining the entropic encoding states of a slice based on another slice in the same frame) and frame-dependent entropic encoding (e.g., determining the entropic encoding states of a slice in the current frame based on a slice in another frame) are enabled or disabled, along with slice-level signaling for entropy continuation and frame-dependent entropic encoding.

[0114] As illustrated in Figure 15, the previous frame 1500 includes the last slice 1502. The last slice 1502 may be the last slice in coding order of the slices in the previous frame 1500, and the previous frame 1500 may include more than the last slice 1502. The current frame 1504 includes the first slice 1506 and the second slice 1508. The first slice 1506 may be the first slice, in coding order, of the current frame 1504. The second slice 1508 may be the second slice, in coding order, of the current frame 1504.

[0115] The following tables illustrate examples for the flags associated with the first slice 1506 and the second slice 1508. Table 1: NUMBER OF SLICE ENTROPIC CODING FRAME DEPENDENT ENTROPY CONTINUATION ENTROPY CONTINUATION SLICE DEPENDENT ENTROPY CONTINUATION SLICE ENTROPY CONTINUATION First slice 1506 True True True / false False Petition 870250093720, dated 10 / 13 / 2025, pp. 279 / 330 39 / 66 NUMBER OF SLICE ENTROPIC CODING FRAME DEPENDENT ENTROPY CONTINUATION ENTROPY CONTINUATION SLICE DEPENDENT ENTROPY CONTINUATION SLICE ENTROPY CONTINUATION Second slice 1508 True True False True / false

[0116] In Table 1, the high-level dependent frame entropic encoding flag (e.g., flag gof_geom_entropy_continuation) indicates that dependent frame entropic encoding is enabled. That is, point cloud encoder 200 and point cloud decoder 300 can determine entropic encoding states for the first slice 1506 based on the entropic encoding states of the last slice 1502. The high-level entropy continuation flag indicates that entropy continuation is enabled. That is, point cloud encoder 200 and point cloud decoder 300 can determine entropic encoding states for the second slice 1508 based on the entropic encoding states of the first slice 1506.

[0117] In Table 1, for the first slice 1506, the slice_dep_entr_cont flag can be true or false. That is, the slice_dep_entr_cont flag for the first slice 1506 can indicate whether point cloud encoder 200 and point cloud decoder 300 should determine the entropic encoding states based on the entropic encoding states of the last slice 1502. In a condition where the slice_dep_entr_cont flag is true, point cloud encoder 200 and point cloud decoder 300 can determine the entropic encoding states of the first slice 1506 based on the entropic encoding states of the last slice 1502, as illustrated. In a condition where the slice_dep_entr_cont flag is false, point cloud encoder 200 and point cloud decoder 300 can set the entropic encoding states of the first slice 1506 to default values ​​(i.e., restore the entropic encoding states).

[0118] In Table 1, for the first slice 1506, the slice_entropy_continuation flag is set to false (e.g., by signaling or inference). This can occur Petition 870250093720, dated 10 / 13 / 2025, pages 280 / 330 40 / 66 because the first slice 1506 is the first slice in the current frame 1504, and there is no previous slice in the current frame 1504 whose entropic encoding states can be used to determine the entropic encoding states of the first slice 1506.

[0119] In table 1, for the second slice 1508, the slice_dep_entr_cont flag is set to false (e.g., by signaling or inference). This may occur because the second slice 1508 is not the first slice, in encoding order, of the current frame 1504.

[0120] In Table 1, for the second slice 1508, the slice_entropy_continuation flag can be true or false. That is, the slice_entropy_continuation flag for the second slice 1508 can indicate whether point cloud encoder 200 and point cloud decoder 300 should determine the entropic encoding states for the second slice 1508 based on the entropic encoding states of the first slice 1504. In a condition where the slice_entropy_continuation flag is true, point cloud encoder 200 and point cloud decoder 300 can determine the entropic encoding states of the second slice 1508 based on the entropic encoding states of the first slice 1506, as illustrated.In a condition where the slice_entropy_continuation flag is false, point cloud encoder 200 and point cloud decoder 300 can set the entropic encoding states of the second slice 1508 to default values ​​(i.e., restore the entropic encoding states). Table 2: NUMBER OF SLICE ENTROPIC CODING FRAME DEPENDENT ENTROPY CONTINUATION ENTROPY CONTINUATION SLICE DEPENDENT ENTROPY CONTINUATION SLICE ENTROPY CONTINUATION First slice 1506 True False True / False N / A Second slice 1508 True False False N / A Petition 870250093720, dated 10 / 13 / 2025, pp. 281 / 330 41 / 66

[0121] In Table 2, the high-level dependent frame entropic encoding flag (e.g., flag gof_geom_entropy_continuation) indicates that dependent frame entropic encoding is enabled. That is, point cloud encoder 200 and point cloud decoder 300 can determine entropic encoding states for the first slice 1506 based on the entropic encoding states of the last slice 1502. The high-level entropy continuation flag indicates that entropy continuation is not enabled (e.g., disabled). That is, point cloud encoder 200 and point cloud decoder 300 cannot determine entropic encoding states for the second slice 1508 based on the entropic encoding states of the first slice 1506.

[0122] In Table 2, for the first slice 1506, the slice_dep_entr_cont flag can be true or false. That is, the slice_dep_entr_cont flag for the first slice 1506 can indicate whether point cloud encoder 200 and point cloud decoder 300 should determine the entropic encoding states based on the entropic encoding states of the last slice 1502. In a condition where the slice_dep_entr_cont flag is true, point cloud encoder 200 and point cloud decoder 300 can determine the entropic encoding states of the first slice 1506 based on the entropic encoding states of the last slice 1502, as illustrated. In a condition where the slice_dep_entr_cont flag is false, point cloud encoder 200 and point cloud decoder 300 can set the entropic encoding states of the first slice 1506 to default values ​​(i.e., restore the entropic encoding states).

[0123] In Table 2, for the first slice 1506, the slice_entropy_continuation flag may not be flagged or may be inferred as disabled. This may occur because the high-level entropy continuation flag indicates that entropy continuation is disabled for one or more frames. Therefore, there may be no need to indicate, at a slice level, whether entropy continuation is enabled. Petition 870250093720, dated 10 / 13 / 2025, pp. 282 / 330 42 / 66 enabled or disabled for the first slice 1506. Furthermore, since there are no earlier slices in the current frame 1504 than the first slice 1506, the slice_entropy_continuation flag may not be necessary or may be inferred to be false.

[0124] In Table 2, for the second slice 1508, the slice_dep_entr_cont flag is set to false (e.g., by signaling or inference). This may be because the second slice 1508 is not the first slice, in encoding order, of the current frame 1504. Similar to the first slice 1506, for the second slice 1508, the slice_entropy_continuation flag may not be signaled or may be inferred to be disabled. This may be because the high-level entropy continuation flag indicates that entropy continuation is disabled for one or more frames. Therefore, there may be no need to indicate, at a slice level, whether entropy continuation is enabled or disabled for the second slice 1508.In this example, point cloud encoder 200 and point cloud decoder 300 can determine the entropic encoding states for the second slice 1508 based on default values ​​(for example, restoring the entropic encoding states for the second slice 1508). Table 3: NUMBER OF SLICE ENTROPIC CODING FRAME DEPENDENT ENTROPY CONTINUATION ENTROPY CONTINUATION SLICE DEPENDENT ENTROPY CONTINUATION SLICE ENTROPY CONTINUATION First slice 1506 False True N / A False Second slice 1508 False True N / A True / False

[0125] In Table 3, the high-level dependent frame entropic encoding flag (e.g., flag gof_geom_entropy_continuation) indicates that dependent frame entropic encoding is not enabled (e.g., disabled). That is, it is not possible for the 200 point cloud encoder and Petition 870250093720, dated 10 / 13 / 2025, pp. 283 / 330 43 / 66 the point cloud decoder 300 determine entropic encoding states for the first slice 1506 based on the entropic encoding states of the last slice 1502. The high-level entropy continuation flag indicates that entropy continuation is enabled. That is, it is possible for point cloud encoder 200 and point cloud decoder 300 to determine entropic encoding states for the second slice 1508 based on the entropic encoding states of the first slice 1506.

[0126] In Table 3, for the first slice 1506, the slice_dep_entr_cont flag may not be flagged or may be inferred to be false. This may occur because the high-level dependent frame entropic encoding flag indicates that dependent frame entropic encoding is disabled for one or more frames. Therefore, there may be no need to indicate, at a slice level, whether dependent frame entropic encoding is enabled or disabled for the first slice 1506. In this example, point cloud encoder 200 and point cloud decoder 300 may determine the entropic encoding states for the first slice 1506 based on default values ​​(e.g., restore the entropic encoding states for the first slice 1506).

[0127] In table 3, for the first slice 1506, the slice_entropy_continuation flag is set to false (e.g., by signaling or inference).This can occur because the first slice 1506 is the first slice in the current frame 1504, and there is no previous slice in the current frame 1504 whose entropic encoding states can be used to determine the entropic encoding states of the first slice 1506.

[0128] In Table 3, for the second slice 1508, the slice_dep_entr_cont flag may not be flagged or may be inferred to be false. This may occur because the high-level dependent frame entropic encoding flag indicates that dependent frame entropic encoding is disabled for one or more frames. Therefore, there may be no need to indicate, at a slice level, whether dependent frame entropic encoding is enabled or disabled for the second slice 1508. Furthermore, since the second slice 1508 is not the Petition 870250093720, dated 10 / 13 / 2025, pp. 284 / 330 44 / 66 first slice, in encoding order, of the current frame 1504, entropic frame-dependent encoding can be automatically disabled.

[0129] In Table 3, for the second slice 1508, the slice_entropy_continuation flag can be true or false. That is, the slice_entropy_continuation flag for the second slice 1508 can indicate whether point cloud encoder 200 and point cloud decoder 300 should determine the entropic encoding states for the second slice 1508 based on the entropic encoding states of the first slice 1506. In a condition where the slice_entropy_continuation flag is true, point cloud encoder 200 and point cloud decoder 300 can determine the entropic encoding states of the second slice 1508 based on the entropic encoding states of the first slice 1506, as illustrated.In a condition where the slice_entropy_continuation flag is false, point cloud encoder 200 and point cloud decoder 300 can set the entropic encoding states of the second slice 1508 to default values ​​(i.e., restore the entropic encoding states). Table 4: NUMBER OF SLICE ENTROPIC CODING FRAME DEPENDENT ENTROPY CONTINUATION ENTROPY CONTINUATION SLICE DEPENDENT ENTROPY CONTINUATION SLICE ENTROPY CONTINUATION First slice 1506 False False N / AN / A Second slice 1508 False False N / AN / A

[0130] In Table 4, the high-level dependent frame entropic encoding flag (e.g., flag gof_geom_entropy_continuation) indicates that dependent frame entropic encoding is not enabled (e.g., disabled). That is, it is not possible for point cloud encoder 200 and point cloud decoder 300 to determine encoding states. Petition 870250093720, dated 10 / 13 / 2025, pp. 285 / 330 45 / 66 entropic for the first slice 1506 based on the entropic encoding states of the last slice 1502. The high-level entropy continuation flag indicates that entropy continuation is not enabled (i.e., disabled). That is, it is not possible for point cloud encoder 200 and point cloud decoder 300 to determine entropic encoding states for the second slice 1508 based on the entropic encoding states of the first slice 1506.

[0131] In Table 4, for the first slice 1506, the slice_dep_entr_cont flag may not be flagged or may be inferred to be false. This may occur because the high-level dependent frame entropic encoding flag indicates that dependent frame entropic encoding is disabled for one or more frames. Therefore, there may be no need to indicate, at a slice level, whether frame-dependent entropic encoding is enabled or disabled for the first slice 1506.In this example, point cloud encoder 200 and point cloud decoder 300 can determine the entropy encoding states for the first slice 1506 based on default values ​​(e.g., restore the entropy encoding states for the first slice 1506).

[0132] In Table 4, for the first slice 1506, the slice_entropy_continuation flag may not be flagged or may be inferred to be false. This may occur because the high-level entropy continuation flag indicates that entropy continuation is disabled for one or more frames. Therefore, there may be no need to indicate, at a slice level, whether entropy continuation is enabled or disabled for the first slice 1506. Furthermore, since there are no earlier slices in the current frame 1504 than the first slice 1506, the slice_entropy_continuation flag may not be necessary or may be inferred to be false.

[0133] In table 4, for the second slice 1508, the slice_dep_entr_cont flag may not be flagged or may be inferred to be false. This may occur because the high-level dependent frame entropic encoding flag indicates that dependent frame entropic encoding is disabled for one or more. Petition 870250093720, dated 10 / 13 / 2025, pp. 286 / 330 46 / 66 frames. Furthermore, the second slice 1508 is not the first slice, in encoding order, for the current frame 1504.

[0134] In Table 4, for the second slice 1508, the slice_entropy_continuation flag may not be flagged or may be inferred to be false. This may occur because the high-level entropy continuation flag indicates that entropy continuation is disabled for one or more frames. Therefore, there may be no need to indicate, at a slice level, whether entropy continuation is enabled or disabled for the second slice 1508. In this example, point cloud encoder 200 and point cloud decoder 300 can determine the entropic encoding states for the second slice 1508 based on default values ​​(e.g., restore the entropic encoding states for the second slice 1508).

[0135] In a second aspect, the attribute interprediction flag check for frame-dependent entropic coding is supposedly to address the case where interprediction is applied to geometry, but interprediction is not applied to attributes. While this case may be rare, even in such cases, entropic coding for geometry already introduces a frame dependency that cannot be decoupled / released from attributes. Thus, it is highly unlikely that a system could take advantage of such a use case. It is more likely that when the entropic coding states for a frame are copied to geometry, this will also apply to attributes. It can be observed that slice entropy continuation (in issue 1) is not separately defined for geometry and attributes. Slice entropy continuation can be defined jointly with geometry and attributes (i.e., they are applied to both and jointly).

[0136] The following section may address issues of the second aspect. When frame-dependent entropic encoding is applied to a slice, the entropic encoding states of both the geometry and attributes of that slice are copied from the respective geometry and attributes of another slice in a previous frame. For example, pointcloud encoder 200 and pointcloud decoder 300 can determine entropic encoding states of data. Petition 870250093720, dated 10 / 13 / 2025, pp. 287 / 330 47 / 66 of the geometry of the first slice 1506 of the current frame 1504 based on entropic encoding states of geometry data from the last slice 1502 of the previous frame 1500, and can determine entropic encoding states of attribute data from the first slice 1506 of the current frame 1504 based on entropic encoding states of attribute data from the last slice 1502 of the previous frame 1500. As another example, point cloud encoder 200 and point cloud decoder 300 can determine entropic encoding states of geometry data from the second slice 1508 of the current frame 1504 based on entropic encoding states of geometry data from the first slice 1506 of the current frame 1504, and can determine entropic encoding states of attribute data from the second slice 1508 of the current frame 1504 based on entropic encoding states of data from attribute of the first slice 1506 of the current frame 1504.

[0137] In a third aspect, a prev_slice_id is signaled for slice entropy continuation to detect the loss of a slice. Without this information, the 300 point cloud decoder may not be able to determine whether the analysis of a slice would be successful. If the previous frame on which the current frame entropic encoding was dependent were lost, the current decoder would likely attempt to analyze the information until a collision / failure occurs. However, similar information is not applied in a signaled manner for dependent frame entropic encoding.

[0138] The following section may address issues of the third aspect. When frame-dependent entropy coding is enabled, an indicator / reference is signaled for each dependent frame that points to the frame on which the entropy state is dependent. For example, suppose frame A is encoded and the entropy coding state of a slice in frame B depends on a slice in frame A, then an indicator of the frame ID of frame A will be signaled. In some examples, the ID of the slice in frame A of the entropy states that are copied to frame B is also signaled. For example, in a condition where the point cloud encoder is 200 and the point cloud decoder is 200. Petition 870250093720, dated 10 / 13 / 2025, pp. 288 / 330 48 / 66 of points 300 determine entropy encoding states for the first slice 1506 of the current frame 1504 based on the entropy encoding states of the last slice 1502 of the previous frame 1500, the point cloud encoder 200 can signal and the point cloud decoder 300 can parse frame identification information for the previous frame 1500 and, in some cases, identification information of the previous slice 1502 of the previous frame 1500.

[0139] As examples of the techniques described in this disclosure, when frame-dependent entropy encoding is enabled, a prev_frame_id is signaled to indicate a previous frame 1500 from which the entropy state should be copied. In some examples, a prev_slice_id is also signaled to indicate the last slice 1502 in the previous frame 1500 from which the entropy state should be copied.

[0140] In some examples, only a few bits of the previous frame ID (e.g., one or more LSB bits) are signaled. The encoder then derives the previous frame ID from the few bits of the previous frame ID (e.g., the derivation may be similar to how the frame counter is derived). In some examples, a delta value indicates a difference between the frame ID of the current frame and the previous frame.

[0141] In some examples, the following applies: a. When slice_entropy_continuation is 0 and frame-dependent entropic encoding is to be applied to a slice in the frame, then prev_slice_id and prev_frame_id are flagged to indicate the slice ID and frame ID of the slice from which the entropy states should be copied.

[0142] Figure 16 is a flowchart illustrating example techniques, according to one or more examples described in this disclosure. For example, Figure 16 illustrates example techniques for encoding or decoding point cloud data. To facilitate illustration, Figure 15 is used to describe the techniques in Figure 16. For example, one or more memories can be configured to store point cloud data. Examples of one or more memories Petition 870250093720, dated 10 / 13 / 2025, pp. 289 / 330 49 / 66 include memory 106, memory 120, memory dedicated to point cloud encoder 200, memory dedicated to point cloud decoder 300, or some other memory. The processing circuitry can be coupled to one or more memories and can be configured to perform the example techniques described in the disclosure. Examples of the processing circuitry include fixed-function and / or programmable circuitry for point cloud encoder 200 or point cloud decoder 300.

[0143] The point cloud encoder processing circuitry set 200 can signal and the point cloud decoder processing circuitry set 300 can parse a slice-level flag of a first slice 1506, in encoding order, of a current frame 1504 of the point cloud data which indicates determining entropic encoding states of the first slice 1506 of the current frame 1504 based on entropic encoding states of a last slice 1502, in encoding order, of a previous frame 1500 of the point cloud data (1600).For example, the point cloud encoder processing circuitry 200 can signal and the point cloud decoder processing circuitry 300 can parse the slice_dep_entr_cont flag of the first slice 1506 which indicates determining the entropic encoding states of the first slice 1506 of the current frame 1504 based on the entropic encoding states of a last slice 1502, in encoding order, of a previous frame 1500 of the point cloud data.

[0144] In addition, in some instances, the point cloud encoder 200 processing circuitry may signal and the point cloud decoder 300 processing circuitry may parse frame identification information for the previous frame 1500. For example, point cloud encoder 200 may signal and point cloud decoder 300 may parse a prev_frame_id or information that is used to determine prev_frame_id, where prev_frame_id is the identification of the previous frame 1500. Petition 870250093720, dated 10 / 13 / 2025, pages 290 / 330 50 / 66

[0145] In some instances, the processing circuitry of the 200 point cloud encoder or 300 point cloud decoder may determine that dependent frame entropy coding is enabled for one or more frames. For example, the 200 point cloud encoder may signal and the 300 point cloud decoder may parse the high-level dependent frame entropy coding flag (e.g., gof_geom_entropy_continuation flag). The high-level dependent frame entropy coding flag may be considered a second flag that is signaled or parsed from a set of parameters of one or more frames (e.g., GPS), indicating that dependent frame entropy coding is enabled for the one or more frames.

[0146] In one or more instances, pointcloud encoder 200 or pointcloud decoder 300 may signal or parse the flag (e.g., the slice_dep_entr_cont flag) in a condition where dependent frame entropic encoding is enabled for one or more frames. Put another way, in a condition where the high-level dependent frame entropic encoding flag is true, then pointcloud encoder 200 may signal and pointcloud decoder 300 may parse the slice_dep_entr_cont flag. In a condition where the high-level dependent frame entropic encoding flag is false, then pointcloud encoder 200 may not signal and pointcloud decoder 300 may not parse the slice_dep_entr_cont flag.

[0147] The processing circuitry of point cloud encoder 200 or point cloud decoder 300 can determine the entropic encoding states of the first slice 1506 of the current frame 1504 based on the entropic encoding states of the last slice 1502 of the previous frame 1500 under a condition where the flag (e.g., flag slice_dep_entr_cont) indicates determining the entropic encoding states of the first slice 1506 of the current frame 1504 based on the entropic encoding states of the last slice 1502 of the previous frame 1500 (1602). For example, to determine the states of Petition 870250093720, dated 10 / 13 / 2025, pp. 291 / 330 51 / 66 Entropic encoding, the processing circuitry of the point cloud encoder 200 or point cloud decoder 300 can copy the entropic encoding states of the last slice 1502 of the previous frame 1500 as the entropic encoding states of the first slice 1506 of the current frame 1504. In some examples, there may be some additional modifications of the entropic encoding states of the last slice 1502 as part of determining the entropic encoding states of the first slice 1506. However, such modifications may not be necessary, and the entropic encoding states of the first slice 1506 may be a copy of the entropic encoding states of the last slice 1502.

[0148] In some examples, the flag (e.g., flag slice_dep_entr_cont) is a first flag. The point cloud encoder processing circuitry 200 can signal and the point cloud decoder processing circuitry 300 can parse a second slice-level flag (e.g., slice_entropy_continuation) of a second slice 1508, in encoding order, of the current frame 1504 that indicates determining entropic encoding states of the second slice 1508 of the current frame 1504 based on the entropic encoding states of the first slice 1506 of the current frame 1504.

[0149] In one or more instances, to determine the entropic encoding states of the first slice 1506 of the current frame 1504 based on the entropic encoding states of the last slice 1502 of the previous frame 1500, the processing circuitry of the point cloud encoder 200 or point cloud decoder 300 can determine entropic encoding states of geometry data of the first slice 1506 of the current frame 1504 based on entropic encoding states of geometry data of the last slice 1502 of the previous frame 1500, and can determine entropic encoding states of attribute data of the first slice 1506 of the current frame 1504 based on entropic encoding states of attribute data of the last slice 1502 of the previous frame 1500. In one or more instances, to determine the entropic encoding states of the second slice 1508 of the current frame 1504 based on encoding states Petition 870250093720, dated 10 / 13 / 2025, pp. 292 / 330 52 / 66 entropic state of the first slice 1506 of the current frame 1504, the processing circuitry of the point cloud encoder 200 or point cloud decoder 300 can determine entropic data coding states of the geometry of the second slice 1508 of the current frame 1504 based on entropic data coding states of the geometry of the first slice 1506 of the current frame 1504, and can determine entropic data coding states of the attribute of the second slice 1508 of the current frame 1504 based on entropic data coding states of the attribute of the first slice 1506 of the current frame 1504.

[0150] The point cloud encoder processing circuitry 200 can encode and the point cloud decoder processing circuitry 300 can decode the first slice 1506 of the current frame 1504 based on the entropic encoding states of the first slice 1506 (1604). For example, the point cloud decoder processing circuitry 300 can parse, from a bitstream, information for the first slice 1506 and entropically decode the information for the first slice 1506 based on the entropic encoding states of the first slice 1506 (for example, as part of point cloud reconstruction).The processing circuitry of point cloud encoder 200 can entropically encode information for the first slice 1506 based on the entropic encoding states of the first slice 1506 and can signal, in a bitstream, the entropically encoded information for the first slice 1506 (e.g., as part of point cloud encoding).

[0151] Figure 10 is a conceptual diagram illustrating an example of a range measurement system 1000 that can be used with one or more techniques of this disclosure. In the example of Figure 10, the range measurement system 1000 includes an illuminator 1002 and a sensor 1004. The illuminator 1002 can emit light 1006. In some examples, the illuminator 1002 can emit light 1006 as one or more laser beams. The light 1006 can be at one or more wavelengths, such as an infrared wavelength or a visible light wavelength. In Petition 870250093720, dated 10 / 13 / 2025, pp. 293 / 330 53 / 66 other examples, light 1006 is not a coherent laser light. When light 1006 encounters an object, such as object 1008, light 1006 creates a return light 1010. The return light 1010 may include backscattered and / or reflected light. The return light 1010 may pass through a lens 1011 that directs the return light 1010 to create an image 1012 of object 1008 on sensor 1004. Sensor 1004 generates signals 1014 based on the image 1012. The image 1012 may comprise a set of points (for example, as represented by points in image 1012 of Figure 10).

[0152] In some examples, illuminator 1002 and sensor 1004 may be mounted on a rotating structure so that illuminator 1002 and sensor 1004 capture a 360-degree view of an environment (e.g., a rotating LIDAR sensor). In other examples, the range measurement system 1000 may include one or more optical components (e.g., mirrors, collimators, diffraction gratings, etc.) that enable illuminator 1002 and sensor 1004 to detect object ranges within a specific range (e.g., up to 360 degrees). Although the example in Figure 10 shows only a single illuminator 1002 and sensor 1004, the range measurement system 1000 may include multiple sets of illuminators and sensors.

[0153] In some examples, illuminator 1002 generates a structured light pattern. In such examples, the 1000-range measurement system may include multiple 1004 sensors on which the respective images of the structured light pattern are formed.The range measurement system 1000 can use disparities between images of the structured light pattern to determine a distance to an object 1008 from which the structured light pattern backscatters. Structured light-based range measurement systems can have a high level of accuracy (e.g., submillimeter range accuracy) when the object 1008 is relatively close to the sensor 1004 (e.g., from 0.2 meters to 2 meters). This high level of accuracy can be useful in facial recognition applications, such as unlocking mobile devices (e.g., mobile phones, tablet computers, etc.) and for security applications. Petition 870250093720, dated 10 / 13 / 2025, pp. 294 / 330 54 / 66

[0154] In some examples, the range measurement system 1000 is a time-of-flight (ToF) based system. In some examples where the range measurement system 1000 is a ToF-based system, the illuminator 1002 generates light pulses. In other words, the illuminator 1002 can modulate the amplitude of the emitted light 1006. In these examples, the sensor 1004 detects the return light 1010 from the light pulses 1006 generated by the illuminator 1002. The range measurement system 1000 can then determine a distance to the object 1008 from which the light 1006 backscatters based on a delay between when the light 1006 was emitted and detected and the known speed of light in air. In some examples, instead of (or in addition to) modulating the amplitude of the emitted light 1006, the illuminator 1002 can modulate the phase of the emitted light 1006.In these examples, sensor 1004 can detect the phase of the return light 1010 coming from object 1008 and determine the distances to points on object 1008 using the speed of light and based on the time differences between when illuminator 1002 generated light 1006 at a specific phase and when sensor 1004 detected the return light 1010 at that specific phase.

[0155] In other examples, a point cloud can be generated without using the illuminator 1002. For example, in some examples, the sensors 1004 of the range measurement system 1000 may include two or more optical cameras. In these examples, the range measurement system 1000 may use the optical cameras to capture stereo images of the environment, including the object 1008. The range measurement system 1000 may include a point cloud generator 1016 that can calculate the disparities between the locations in the stereo images. The range measurement system 1000 can then use the disparities to determine the distances to the locations shown in the stereo images. From these distances, the point cloud generator 1016 can generate a point cloud.

[0156] Sensors 1004 can also detect other attributes of the object 1008, such as color and reflectance information. In the example in Figure 10, a point cloud generator 1016 can generate a point cloud based on signals 1014 Petition 870250093720, dated 10 / 13 / 2025, pp. 295 / 330 55 / 66 generated by sensor 1004. The range measurement system 1000 and / or the point cloud generator 1016 can be part of the data source 104 (Figure 1). Then, a point cloud generated by the range measurement system 1000 can be encoded and / or decoded according to any of the techniques in this disclosure.

[0157] Figure 11 is a conceptual diagram illustrating an example of a vehicle-based scenario in which one or more techniques of this disclosure may be used. In the example in Figure 11, a vehicle 1100 includes a range measurement system 1102. The range measurement system 1102 may be implemented in the manner discussed in relation to Figure 11. Although not shown in the example in Figure 11, the vehicle 1100 may also include a data source, such as data source 104 (Figure 1), and a G-PCC encoder, such as point cloud encoder 200 (Figure 1). In the example in Figure 11, the range measurement system 1102 emits laser beams 1104 that reflect off pedestrians 1106 or other objects on a highway. The vehicle's data source 1100 may generate a point cloud based on the signals generated by the range measurement system 1102.The vehicle's 1100 G-PCC encoder can encode the point cloud to generate 1108 bitstreams, such as geometry bitstream 203 (Figure 2) and attribute bitstream 205 (Figure 2). Interprediction and residual prediction, as described in this disclosure, can reduce the size of the geometry bitstream. The 1108 bitstreams can include a much smaller number of bits than the unencoded point cloud obtained by the G-PCC encoder.

[0158] A vehicle 1100 output interface (e.g., output interface 108 (Figure 1)) can transmit 1108 bitstreams to one or more other devices. 1108 bitstreams may include a much smaller number of bits than the unencoded point cloud obtained by the G-PCC encoder. Thus, vehicle 1100 may be able to transmit 1108 bitstreams to other devices more quickly than unencoded point cloud data. In addition, 1108 bitstreams may require less data storage capacity on a device. Petition 870250093720, dated 10 / 13 / 2025, pp. 296 / 330 56 / 66

[0159] In the example in Figure 11, vehicle 1100 can transmit bitstreams 1108 to another vehicle 1110. Vehicle 1110 may include a GPCC decoder, such as point cloud decoder 300 (Figure 1). The G-PCC decoder of vehicle 1110 can decode bitstreams 1108 to reconstruct the point cloud. Vehicle 1110 can use the reconstructed point cloud for various purposes. For example, vehicle 1110 can determine, based on the reconstructed point cloud, that there are pedestrians 1106 on the highway ahead of vehicle 1100 and therefore begin to reduce speed, for example, even before a driver of vehicle 1110 notices that there are pedestrians 1106 on the highway. Thus, in some examples, vehicle 1110 can perform an autonomous navigation operation based on the reconstructed point cloud.

[0160] Additionally or alternatively, vehicle 1100 can transmit bitstreams 1108 to a server system 1112. The server system 1112 can use bitstreams 1108 for various purposes. For example, the server system 1112 can store bitstreams 1108 for subsequent reconstruction of point clouds. In this example, the server system 1112 can use the point clouds along with other data (e.g., vehicle telemetry data generated by vehicle 1100) to train an autonomous driving system. In another example, the server system 1112 can store bitstreams 1108 for subsequent reconstruction for forensic collision investigations.

[0161] Figure 12 is a conceptual diagram illustrating an example of an extended reality system in which one or more techniques of this disclosure may be used. The term extended reality (XR) is a term used to encompass a range of technologies that includes augmented reality (AR), mixed reality (MR), and virtual reality (VR). In the example in Figure 12, a user 1200 is located at a first location 1202. User 1200 uses an XR headset 1204. As an alternative to the XR headset 1204, user 1200 may use a mobile device (e.g., a mobile phone, a tablet computer, etc.). The XR headset 1204 includes a sensing sensor. Petition 870250093720, dated 10 / 13 / 2025, pp. 297 / 330 57 / 66 depth, as a range measurement system, which detects the positions of points on objects 1206 at location 1202. An XR headset data source 1204 can use the signals generated by the depth sensing sensor to generate a point cloud representation of objects 1206 at location 1202. The XR headset 1204 may include a G-PCC encoder (e.g., point cloud encoder 200 of Figure 1) that is configured to encode the point cloud to generate bitstreams 1208. Interprediction and residual prediction, as described in this disclosure, can reduce the size of bitstream 1208.

[0162] The XR headset 1204 can transmit bitstreams 1208 (e.g., via a network such as the Internet) to an XR headset 1210 worn by a user 1212 at a second location 1214. The XR headset 1210 can decode bitstreams 1208 to reconstruct the point cloud. The XR headset 1210 can use the point cloud to generate an XR visualization (e.g., an AR, MR, or VR visualization) that represents the objects 1206 at location 1202. In this way, in some examples, such as when the XR headset 1210 generates a VR visualization, the user 1212 can have an immersive 3D experience of location 1202. In some examples, the XR headset 1210 can determine the position of a virtual object based on the reconstructed point cloud.For example, the XR 1210 headset can determine, based on the reconstructed point cloud, that an environment (e.g., location 1202) includes a flat surface and then determine that a virtual object (e.g., a cartoon character) should be positioned on the flat surface. The XR 1210 headset can generate an XR visualization in which the virtual object is in the determined position. For example, the XR 1210 headset can show the cartoon character on the flat surface.

[0163] Figure 13 is a conceptual diagram illustrating an example of a mobile device system in which one or more techniques of this disclosure may be used. In the example in Figure 13, a mobile device 1300 (e.g., a mobile communication device), such as a mobile phone or a Petition 870250093720, dated 10 / 13 / 2025, pages 298 / 330 A tablet-type computer, 58 / 66, includes a range-measuring sensor, such as a LIDAR system, that detects the positions of points on objects 1302 in a mobile device 1300 environment. A data source of the mobile device 1300 can use the signals generated by the depth-sensing sensor to generate a point cloud representation of the objects 1302. The mobile device 1300 may include a G-PCC encoder (e.g., the point cloud encoder 200 of Figure 1) that is configured to encode the point cloud to generate bitstreams 1304. In the example of Figure 13, the mobile device 1300 can transmit bitstreams to a remote device 1306, such as a server system or another mobile device. Interprediction and residual prediction, as described in this disclosure, can reduce the size of the bitstreams 1304. The remote device 1306 can decode bitstreams 1304 to reconstruct the point cloud.The 1306 remote device can use the point cloud for various purposes. For example, the 1306 remote device can use the point cloud to generate a map of the 1300 mobile device's environment. For instance, the 1306 remote device can generate a map of a building's interior based on the reconstructed point cloud. In another example, the 1306 remote device can generate images (e.g., computer graphics) based on the point cloud. For example, the 1306 remote device can use points from the point cloud as polygon vertices and use the color attributes of the points as the basis for shading the polygons. In some instances, the 1306 remote device can use the reconstructed point cloud for facial recognition or other security applications.

[0164] The examples in the various aspects of this disclosure may be used individually or in any combination.

[0165] Clause 1. A method for encoding or decoding point cloud data, wherein the method comprises: signaling or parsing a slice-level flag of a first slice, in encoding order, of a current frame of point cloud data that indicates determining entropic encoding states of the first Petition 870250093720, dated 10 / 13 / 2025, pp. 299 / 330 59 / 66 slice the current frame based on the entropic encoding states of the last slice, in encoding order, of a previous frame of the point cloud data; determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and encode or decode the first slice of the current frame based on the entropic encoding states of the first slice.

[0166] Clause 2. The method of clause 1, wherein the determination of entropic encoding states comprises copying the entropic encoding states of the last slice of the previous frame as the entropic encoding states of the first slice of the current frame.

[0167] Clause 3. The method of either clause 1 and 2 which further comprises: determining that frame-dependent entropic coding is enabled for one or more frames, wherein the flag signaling or analysis comprises signaling or analyzing the flag in a condition where frame-dependent entropic coding is enabled for one or more frames.

[0168] Clause 4. The method of clause 3, wherein the flag comprises a first flag, wherein the determination that frame-dependent entropic coding is enabled comprises analyzing a second flag from a set of parameters of the one or more frames which indicates that frame-dependent entropic coding is enabled for the one or more frames.

[0169] Clause 5. The method of any of clauses 1 to 4, wherein the flag is a first flag, in which the method further comprises: signaling or parsing a second slice-level flag of a second slice, in encoding order, of the current frame which indicates determining entropic encoding states of the second slice of the current frame based on the entropic encoding states of the first slice of the current frame. Petition 870250093720, dated 10 / 13 / 2025, pp. 300 / 330 60 / 66

[0170] Clause 6. The method of any of clauses 1 to 5, wherein the determination of the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame comprises: determining entropic encoding states of geometry data of the first slice of the current frame based on entropic encoding states of geometry data of the last slice of the previous frame; and determining entropic encoding states of attribute data of the first slice of the current frame based on entropic encoding states of attribute data of the last slice of the previous frame.

[0171] Clause 7. The method of any of clauses 1 to 6 which additionally comprises: signaling or analyzing frame identification information for the previous frame.

[0172] Clause 8. The method of any of clauses 1 to 7 which further comprises: parsing, from a bitstream, information for the first slice, wherein encoding or decoding the first slice comprises entropically decoding the information for the first slice based on the entropic encoding states of the first slice.

[0173] Clause 9. The method of any of clauses 1 to 7, wherein the encoding or decoding of the first slice comprises entropic encoding information for the first slice based on the entropic encoding states of the first slice, wherein the method further comprises: signaling, in a bitstream, the entropically encoded information for the first slice.

[0174] Clause 10. A device for encoding or decoding point cloud data, wherein the device comprises: one or more memories configured to store point cloud data; and a set of processing circuits coupled to the one or more memories, wherein the set of processing circuits is configured to: signal or analyze a slice-level flag of a first slice, in encoding order, of a current frame of point cloud data indicating to determine entropic encoding states of the first slice of the current frame based on entropic encoding states of a last Petition 870250093720, dated 10 / 13 / 2025, pages 301 / 330 61 / 66 slice, in encoding order, from a previous frame of point cloud data; determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and encode or decode the first slice of the current frame based on the entropic encoding states of the first slice.

[0175] Clause 11. The device of clause 10, wherein, to determine the entropic encoding states, the processing circuitry is configured to copy the entropic encoding states of the last slice of the previous frame as the entropic encoding states of the first slice of the current frame.

[0176] Clause 12. The device of either clause 10 and 11, wherein the processing circuitry is configured to: determine that dependent frame entropic coding is enabled for one or more frames, wherein, to signal or parse the flag, the processing circuitry is configured to signal or parse the flag in a condition where dependent frame entropic coding is enabled for one or more frames.

[0177] Clause 13. The device of clause 12, wherein the flag comprises a first flag, wherein, to determine that dependent entropic coding is enabled, the processing circuitry is configured to parse a second flag from a set of parameters of one or more frames which indicates that dependent entropic coding is enabled for one or more frames.

[0178] Clause 14. The device of any of clauses 10 to 13, wherein the flag is a first flag and wherein the processing circuitry is configured to: signal or parse a second slice-level flag of a second slice, in encoding order, of the current frame which indicates to determine entropic encoding states of the second slice of the current frame based on the entropic encoding states of the first slice of the current frame. Petition 870250093720, dated 10 / 13 / 2025, pages 302 / 330 62 / 66

[0179] Clause 15. The device of any of clauses 10 to 14, wherein, to determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame, the processing circuitry is configured to: determine entropic encoding states of geometry data of the first slice of the current frame based on entropic encoding states of geometry data of the last slice of the previous frame; and determine entropic encoding states of attribute data of the first slice of the current frame based on entropic encoding states of attribute data of the last slice of the previous frame.

[0180] Clause 16. The device of any of clauses 10 to 15, in which the processing circuitry is configured to: signal or parse frame identification information for the previous frame.

[0181] Clause 17. The device of any of clauses 10 to 16, wherein the processing circuitry is configured to: analyze, from a bitstream, information for the first slice, wherein, to encode or decode the first slice, the processing circuitry is configured to entropically decode the information for the first slice based on the entropic encoding states of the first slice.

[0182] Clause 18. The device of any of clauses 10 to 16, wherein, to encode or decode the first slice, the processing circuitry is configured to entropically encode information for the first slice based on the entropic encoding states of the first slice and the processing circuitry is configured to: signal, in a bitstream, the entropically encoded information for the first slice.

[0183] Clause 19. A computer-readable storage medium that stores instructions on it which, when executed, cause one or more processors to: signal or parse a slice-level flag of a first slice, in encoding order, of a current point cloud data frame indicating to determine entropic encoding states of the first slice of the frame. Petition 870250093720, dated 10 / 13 / 2025, pages 303 / 330 63 / 66 current based on entropic encoding states of the last slice, in encoding order, of a previous frame of point cloud data; determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and encode or decode the first slice of the current frame based on the entropic encoding states of the first slice.

[0184] Clause 20. The computer-readable storage medium of clause 19, in which the instructions that cause one or more processors to determine the entropic encoding states comprise instructions that cause one or more processors to copy the entropic encoding states of the last slice of the previous frame as the entropic encoding states of the first slice of the current frame.

[0185] It should be recognized that, depending on the example, certain actions or events of any of the techniques described in the present invention may be performed in a different sequence, may be added, combined, or completely omitted (for example, not all actions or events described are necessary for the practice of the techniques). Furthermore, in certain examples, the actions or events may be performed simultaneously, for example, through multi-threaded processing, interrupt processing, or multiple processors, instead of sequentially.

[0186] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored or transmitted as one or more instructions or code in a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which correspond to a tangible medium, such as storage media. Petition 870250093720, dated 10 / 13 / 2025, pp. 304 / 330 64 / 66 data, or communication media, including any means that facilitates the transfer of a computer program from one place to another, for example, according to a communication protocol. In this way, computer-readable media can generally correspond to (1) tangible computer-readable storage media that are non-transient or (2) a communication medium, such as a signal or a carrier wave. Data storage media can be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for the implementation of the techniques described in this disclosure. A computer program product may include computer-readable media. The term computer-readable media includes examples where there is a storage medium or where there are distributed storage media.

[0187] By way of example, and not limitation, such computer-readable storage media may comprise random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory or any other media that can be used to store the desired program code in the form of instructions or data structures and that can be accessed by a computer. In addition, any connection is properly termed a computer-readable medium.For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave will be included in the definition of medium. It should be understood, however, that computer-readable storage media and... Petition 870250093720, dated 10 / 13 / 2025, pages 305 / 330 65 / 66 Data storage media do not include connections, carrier waves, signals, or other transient media, but instead refer to tangible non-transient storage media. As used in the present invention, disks (disk and disc) include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, wherein disks typically reproduce data magnetically, while discs reproduce data optically by means of lasers. Combinations of the above shall also be included within the scope of computer-readable media.

[0188] The instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other distinct or equivalent integrated logic circuit assemblies. Consequently, the terms processor and processing circuit assembly, as used in the present invention, may refer to any of the foregoing structures or any other structure suitable for implementing the techniques described in the present invention. Furthermore, in some respects, the functionality described in the present invention may be provided in dedicated hardware and / or software modules configured for encoding and decoding, or may be incorporated into a combined codec. Additionally, the techniques may be fully implemented in one or more logic circuits or elements.

[0189] The techniques in this disclosure can be implemented in a wide variety of devices or appliances, including a wireless handset, an integrated circuit (IC), or a set of ICs (e.g., a chipset). Several components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require implementation by different hardware units. Instead, as described above, several units can be combined into a codec hardware unit or provided by a collection. Petition 870250093720, dated 10 / 13 / 2025, pp. 306 / 330 66 / 66 interoperable hardware units, including one or more processors, as described above, together with appropriate software and / or firmware.

[0190] Several examples have been described. These and other examples are within the scope of the following claims. Petition 870250093720, dated 10 / 13 / 2025, pp. 307 / 330

Claims

1 / 6 CLAIMS 1. A method for encoding or decoding point cloud data characterized by comprising: signaling or parsing a slice-level flag of a first slice, in encoding order, of a current frame of point cloud data indicating determining entropic encoding states of the first slice of the current frame based on entropic encoding states of a last slice, in encoding order, of a previous frame of point cloud data; determining the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates determining the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and encoding or decoding the first slice of the current frame based on the entropic encoding states of the first slice.

2. A method according to claim 1, characterized in that the determination of entropic encoding states comprises copying the entropic encoding states of the last slice of the previous frame as the entropic encoding states of the first slice of the current frame.

3. Method according to claim 1, characterized by further comprising: determining that frame-dependent entropic coding is enabled for one or more frames, wherein the flag signaling or parsing comprises signaling or parsing the flag in a condition where frame-dependent entropic coding is enabled for one or more frames.

4. Method, according to claim 3, characterized in that the flag comprises a first flag, wherein the determination that frame-dependent entropic coding is enabled comprises analyzing a second flag from a set of parameters of one or more frames that indicates that frame-dependent entropic coding is enabled for the one or more frames.

5. Method, according to claim 1, characterized in that the flag is a first flag, wherein the method further comprises: signaling or parsing a second slice-level flag of a second slice, in encoding order, of the current frame that indicates determining entropic encoding states of the second slice of the current frame based on the entropic encoding states of the first slice of the current frame.

6. A method according to claim 1, characterized in that the determination of the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame comprises: determining entropic encoding states of geometry data from the first slice of the current frame based on entropic encoding states of geometry data from the last slice of the previous frame; and determining entropic encoding states of attribute data from the first slice of the current frame based on entropic encoding states of attribute data from the last slice of the previous frame.

7. Method according to claim 1, characterized by further comprising: signaling or analyzing frame identification information for the preceding frame.

8. Method according to claim 1, characterized by further comprising: analyzing, from a bitstream, information for the first slice, wherein the encoding or decoding of the first slice comprises entropically decoding the information for the first slice based on the entropic encoding states of the first slice. Petition 870250093720, dated 10 / 13 / 2025, pp. 309 / 330 3 / 6 9. A method according to claim 1, characterized in that encoding or decoding the first slice comprises entropic encoding information for the first slice based on the entropic encoding states of the first slice, wherein the method further comprises: signaling, in a bitstream, the entropically encoded information for the first slice.

10. Device for encoding or decoding point cloud data characterized by comprising: one or more memories configured to store point cloud data; and a set of processing circuits coupled to the one or more memories, wherein the set of processing circuits is configured to: signal or analyze a slice-level flag of a first slice, in encoding order, of a current frame of point cloud data that indicates determining entropic encoding states of the first slice of the current frame based on entropic encoding states of a last slice, in encoding order, of a previous frame of point cloud data;determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates determining the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and encoding or decoding the first slice of the current frame based on the entropic encoding states of the first slice.

11. Device according to claim 10, characterized in that, to determine the entropic encoding states, the processing circuitry is configured to copy the entropic encoding states of the last slice of the previous frame as the entropic encoding states of the first slice of the current frame. Petition 870250093720, dated 10 / 13 / 2025, pp. 310 / 330 4 / 6 12. Device according to claim 10, characterized in that the processing circuitry is configured to: determine that dependent frame entropic coding is enabled for one or more frames, wherein, to signal or parse the flag, the processing circuitry is configured to signal or parse the flag in a condition where dependent frame entropic coding is enabled for one or more frames.

13. Device according to claim 12, characterized in that the flag comprises a first flag, wherein, to determine that dependent entropic coding of the frame is enabled, the processing circuitry is configured to analyze a second flag from a set of parameters of one or more frames that indicates that dependent entropic coding of the frame is enabled for the one or more frames.

14. Device according to claim 10, characterized in that the flag is a first flag and the processing circuitry is configured to: signal or analyze a second slice-level flag of a second slice, in encoding order, of the current frame that indicates to determine entropic encoding states of the second slice of the current frame based on the entropic encoding states of the first slice of the current frame.

15. Device according to claim 10, characterized in that, to determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame, the processing circuitry is configured to: determine entropic encoding states of geometry data of the first slice of the current frame based on entropic encoding states of geometry data of the last slice of the previous frame; and Petition 870250093720, dated 10 / 13 / 2025, pp. 311 / 330 5 / 6 determine entropic encoding states of attribute data of the first slice of the current frame based on entropic encoding states of attribute data of the last slice of the previous frame.

16. Device according to claim 10, characterized in that the set of processing circuits is configured to: signal or analyze frame identification information for the previous frame.

17. Device according to claim 10, characterized in that the processing circuitry is configured to: analyze, from a bitstream, information for the first slice, wherein, to encode or decode the first slice, the processing circuitry is configured to entropically decode the information for the first slice based on the entropic encoding states of the first slice.

18. Device according to claim 10, characterized in that, to encode or decode the first slice, the processing circuitry is configured to entropically encode information for the first slice based on the entropic encoding states of the first slice and the processing circuitry is configured to: signal, in a bitstream, the entropically encoded information for the first slice.

19. A computer-readable storage medium characterized by storing instructions on it that, when executed, cause one or more processors to: signal or parse a slice-level flag of a first slice, in encoding order, of a current frame of point cloud data that indicates determining entropic encoding states of the first slice of the current frame based on entropic encoding states of a last slice, in encoding order, of a previous frame of point cloud data; Petition 870250093720, dated 10 / 13 / 2025, p.312 / 330 6 / 6 determine the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame in a condition where the flag indicates determining the entropic encoding states of the first slice of the current frame based on the entropic encoding states of the last slice of the previous frame; and encoding or decoding the first slice of the current frame based on the entropic encoding states of the first slice.

20. Computer-readable storage medium according to claim 19, characterized in that the instructions that cause one or more processors to determine the entropic encoding states comprise instructions that cause one or more processors to copy the entropic encoding states of the last slice of the previous frame as the entropic encoding states of the first slice of the current frame. Petition 870250093720, dated 10 / 13 / 2025, pp. 313 / 330