ENCODING DEVICE, DECODING DEVICE, ENCODING METHOD AND DECODING METHOD

BR112025018729A2Pending Publication Date: 2026-09-08
View PDF 0 Cites 0 Cited by

Patent Information

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

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 / 108 Encoding device, decoding device, encoding method and decoding method. Field of the Technique.

[001] The present description refers, for example, to an encoding device. PRECEDENT TECHNIQUE

[002] PTL 1 proposes a method and a device for encoding and decoding three-dimensional mesh data. Furthermore, NPL1 describes a technique relating to encoding and decoding three-dimensional mesh data. LIST OF QUOTES Patent Literature

[003] [PTL 1] Publication of Unexamined Patent Application Japanese Number 2006-187015 Non-Patent Literature

[004] [NPL 1] Jarek Rossignac et al., 3D Compression Made Simple: Edgebreaker on a Corner Table, [online], [accessed January 27, 2024],<URL:https: / / www.cs.cmu.edu / ~alla / edgebreaker_simple.pdf> SUMMARY OF THE INVENTION TECHNICAL PROBLEM

[005] There are demands for further improvements in the processing of three-dimensional and similar data encoding. One object of the present description is to improve the processing of three-dimensional encoding and similar data. SOLUTION TO THE PROBLEM

[006] An encoding device according to one aspect of the present description includes: memory; and a memory-accessible circuit. In operation, the circuit: for each of the faces that form Petition 870250078626, dated 03 / 09 / 2025, page 125 / 277 2 / 108 A three-dimensional mesh encodes a connection type referring to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic coding; and, when encoding a current connection type, selects the context to be applied to the arithmetic coding from among contexts that use a previous connection type. The current connection type is the connection type to be encoded. The previous connection type is the connection type encoded before the current connection type.

[007] Note that these general or specific aspects can be implemented using a system, a device, a method, an integrated circuit, a computer program or a non-transient computer-readable recording medium, such as a CD-ROM, or any combination of systems, devices, methods, integrated circuits, computer programs and recording media. ADVANTAGEOUS EFFECTS OF THE INVENTION

[008] The present description may contribute to the improvement of the encoding processing of three-dimensional and similar data. BRIEF DESCRIPTION OF THE DRAWINGS

[009] Figure 1 is a conceptual diagram that illustrates a three-dimensional mesh according to a modality.

[0010] Figure 2 is a conceptual diagram that illustrates the basic elements of the three-dimensional mesh according to the modality.

[0011] Figure 3 is a conceptual diagram that illustrates the mapping according to the modality.

[0012] Figure 4 is a block diagram that illustrates an example of a configuration of an encoding / decoding system according to the modality.

[0013] Figure 5 is a block diagram illustrating an example of a coding device configuration according to the Petition 870250078626, dated 03 / 09 / 2025, pp. 126 / 277 3 / 108 modality.

[0014] Figure 6 is a block diagram that illustrates another example of encoding device configuration according to the mode.

[0015] Figure 7 is a block diagram that illustrates an example of a decoding device configuration according to the mode.

[0016] Figure 8 is a block diagram that illustrates another example of decoding device configuration according to the mode.

[0017] Figure 9 is a conceptual diagram that illustrates an example of a bitstream configuration according to the mode.

[0018] Figure 10 is a conceptual diagram that illustrates another example of bitstream configuration according to the mode.

[0019] Figure 11 is a conceptual diagram that illustrates yet another example of bitstream configuration according to the mode.

[0020] Figure 12 is a block diagram that illustrates a specific example of the encoding / decoding system according to the modality.

[0021] Figure 13 is a conceptual diagram that illustrates an example of point cloud data configuration according to modality.

[0022] Figure 14 is a conceptual diagram that illustrates an example of a point cloud data file according to the modality.

[0023] Figure 15 is a conceptual diagram that illustrates an example of mesh data configuration according to the modality.

[0024] Figure 16 is a conceptual diagram illustrating an example of a data file of mesh data according to the modality Petition 870250078626, dated 03 / 09 / 2025, page 127 / 277 4 / 108 of.

[0025] Figure 17 is a conceptual diagram that illustrates a type of three-dimensional data according to the modality.

[0026] Figure 18 is a block diagram that illustrates an example of a three-dimensional data encoder configuration according to the modality.

[0027] Figure 19 is a block diagram that illustrates an example of a three-dimensional data decoder configuration according to the modality.

[0028] Figure 20 is a block diagram that illustrates another example of a three-dimensional data encoder configuration according to the modality.

[0029] Figure 21 is a block diagram that illustrates another example of a three-dimensional data decoder configuration according to the modality.

[0030] Figure 22 is a conceptual diagram that illustrates a specific example of modality-based encoding processing.

[0031] Figure 23 is a conceptual diagram that illustrates a specific example of decoding processing according to modality.

[0032] Figure 24 is a block diagram that illustrates an example of implementing the encoding device according to the modality.

[0033] Figure 25 is a block diagram that illustrates an example of a decoding device implementation according to the modality.

[0034] Figure 26 is a block diagram that illustrates another example of encoding / decoding system configuration according to the mode. Petition 870250078626, dated 03 / 09 / 2025, pp. 128 / 277 5 / 108

[0035] Figure 27 is a block diagram that illustrates another example of encoding device configuration according to the mode.

[0036] Figure 28 is a block diagram that illustrates another example of decoding device configuration according to the mode.

[0037] Figure 29 is a conceptual diagram that illustrates five connection types according to modality.

[0038] Figure 30 is a conceptual diagram that illustrates an example of sequentially determined connection types according to modality.

[0039] Figure 31 is a flowchart that illustrates the encoding and decoding process for a connection type according to the modality.

[0040] Figure 32 is a flowchart that illustrates a first specific example of connection type coding according to modality.

[0041] Figure 33 is a flowchart that illustrates a first specific example of decoding the connection type according to the modality.

[0042] Figure 34 is a flowchart that illustrates a second specific example of connection type coding according to modality.

[0043] Figure 35 is a flowchart that illustrates a second specific example of decoding the connection type according to the modality.

[0044] Figure 36 is a block diagram that illustrates another example of encoding / decoding system configuration according to the mode.

[0045] Figure 37 is a flowchart that illustrates the processing of Petition 870250078626, dated 03 / 09 / 2025, page 129 / 277 6 / 108 encoding and decoding processing for a three-dimensional coordinate position and a texture map coordinate position according to the modality.

[0046] Figure 38 is a flowchart that illustrates the processing for defining a parameter for encoding or decoding a three-dimensional coordinate position according to the modality.

[0047] Figure 39 is a flowchart that illustrates the processing for defining a parameter for encoding or decoding a texture map coordinate position according to the modality.

[0048] Figure 40 is a flowchart that illustrates an example of basic coding processing according to the modality.

[0049] Figure 41 is a flowchart that illustrates an example of processing included in basic coding processing according to the modality.

[0050] Figure 42 is a flowchart that illustrates another example of basic coding processing according to modality.

[0051] Figure 43 is a flowchart that illustrates an example of basic decoding processing according to modality.

[0052] Figure 44 is a flowchart that illustrates an example of processing included in basic modality-based decoding processing.

[0053] Figure 45 is a flowchart illustrating another example of basic decoding processing according to the modality.

[0054] Figure 46 is a block diagram illustrating another example of encoding device configuration according to the modality.

[0055] Figure 47 is a block diagram that illustrates another example of encoding device configuration according to the mode. Petition 870250078626, dated 03 / 09 / 2025, page 130 / 277 7 / 108

[0056] Figure 48 is a block diagram that illustrates another example of decoding device configuration according to the mode.

[0057] Figure 49 is a block diagram that illustrates another example of decoding device configuration according to the mode. DESCRIPTION OF MODALITIES Introduction

[0058] A three-dimensional (3D) mesh is used for a computer graphics video, for example. For example, a computer graphics video is made up of a plurality of frames that differ temporally from each other, and each frame can be represented by a three-dimensional mesh.

[0059] Furthermore, the three-dimensional mesh is formed by vertex information that indicates the position of each of a plurality of vertices in a three-dimensional space, connection information that indicates a connection relationship between the plurality of vertices, and attribute information that indicates an attribute of each vertex or each face. Each face is constructed according to a connection relationship between a plurality of vertices. Such a three-dimensional mesh can represent various computer graphics videos.

[0060] Furthermore, for the transmission and storage of a three-dimensional mesh, efficient encoding and decoding of a three-dimensional mesh are expected. For efficient encoding and decoding of a three-dimensional mesh, arithmetic encoding and arithmetic decoding can be used. In arithmetic encoding, for example, information is compressed using the probability of occurrence of values ​​included in the information. Here, arithmetic encoding can be performed using the probability of occurrence indicated by a context corresponding to a Petition 870250078626, dated 03 / 09 / 2025, page 131 / 277 8 / 108 peripheral or similar circumstance of the information to be encoded. In this way, the compressibility of information from the three-dimensional mesh may be able to be improved.

[0061] However, even if arithmetic encoding and arithmetic decoding are used, compressibility is not necessarily improved, depending on the characteristics of the three-dimensional mesh information. Specifically, for example, in context-based arithmetic encoding, it is difficult to improve compressibility if a context appropriate to the characteristics of the three-dimensional mesh information is not applied.

[0062] In view of this, an encoding device of Example 1 includes: memory; and a memory-accessible circuit, in which, in operation, the circuit: for each of the faces that form a three-dimensional mesh, encodes a connection type relating to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic encoding; and, when encoding a current connection type, selects the context to be applied to the arithmetic encoding from among the contexts that use a previous connection type. The current connection type is the connection type to be encoded. The previous connection type is the connection type encoded before the current connection type.

[0063] Consequently, a context for arithmetic encoding of the current connection type may be able to be selected according to the previous connection type. Therefore, the arithmetic encoding of the current connection type, which may have a different probability distribution depending on the previous connection type, may be able to be performed based on a context selected according to the previous connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information. Petition 870250078626, dated 03 / 09 / 2025, page 132 / 277 9 / 108

[0064] Note that a plurality of exemplary connection types relating to the connection relationship between the face to be processed and a face not yet processed may include a type in which the face to be processed is not connected to any face not yet processed (type E described later, for example).

[0065] Furthermore, an encoding device from Example 2 can be the encoding device from Example 1, where the context is used to determine a probability value for use in arithmetic encoding, and the circuit performs arithmetic encoding on the current connection type using the probability value determined based on the context selected using the previous connection type.

[0066] Consequently, a suitable probability value for the arithmetic encoding of the current connection type may be able to be specified according to the previous connection type. Therefore, compressibility may be able to be improved.

[0067] Furthermore, an encoding device from Example 3 can be the encoding device from Example 1 or 2, where the previous connection type is the connection type encoded immediately before the current connection type.

[0068] Consequently, a context for arithmetic encoding of the current connection type may be able to be selected according to the immediately preceding connection type. Therefore, the arithmetic encoding of the current connection type, which may have a different probability distribution depending on the immediately preceding connection type, may be able to be performed based on a context selected according to the immediately preceding connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information. Petition 870250078626, dated 03 / 09 / 2025, page 133 / 277 10 / 108

[0069] Furthermore, an encoding device of Example 4 can be the encoding device of any of Examples 1 to 3, wherein each of the faces is triangular in shape.

[0070] Consequently, the type of connection of each of a plurality of triangles that form a three-dimensional mesh may be able to be encoded. Furthermore, the compressibility of information indicating a connection relationship between the plurality of triangles may be able to be improved.

[0071] Furthermore, an encoding device of Example 5 may be the encoding device of any of Examples 1 to 4, wherein the connection type is any of the types, including a type that indicates a split in which faces not yet processed are split and connected to the face to be processed.

[0072] Consequently, a connection relation that includes a split in which the face to be processed is connected to two faces that have not yet been processed may be able to be indicated by a connection type. Furthermore, the compressibility of information indicating a connection relation that includes a split may be able to be improved.

[0073] Furthermore, an encoding device from Example 6 can be the encoding device from Example 5, wherein the circuit: selects a first context as the context when the previous connection type is the type indicating division; and selects a second context different from the first context as the context when the previous connection type is a type different from the type indicating division.

[0074] Consequently, a context may be able to be selected according to whether the previous connection type is a type that indicates a split or another type. Furthermore, the current connection type may be able to be coded according to the characteristics of the previous connection type, specifically, whether the co-type Petition 870250078626, dated 03 / 09 / 2025, page 134 / 277 11 / 108 previous connection is a type that indicates a division or other type. Therefore, the compressibility of information indicating a connection relationship that includes a division may be able to be improved.

[0075] Furthermore, an encoding device from Example 7 can be the encoding device from any of Examples 1 through 6, wherein the connection type is any of the types specified by Edgebreaker.

[0076] Consequently, a connection relation defined by Edgebreaker can be indicated by a connection type. Furthermore, the compressibility of information indicating a connection relationship defined by Edgebreaker can be improved.

[0077] Furthermore, an encoding device from Example 8 can be the encoding device from Example 7, wherein the circuit: selects a first context as the context when the previous connection type is of type S specified by Edgebreaker; and selects a second context different from the first context as the context when the previous connection type is of a type other than type S.

[0078] Consequently, a context may be able to be selected according to whether the previous connection type is of type S or another type. Furthermore, the current connection type may be able to be encoded according to the characteristics of the previous connection type, specifically, whether the previous connection type is of type S or another type. Therefore, the compressibility of information indicating a connection relationship that includes the type S defined by Edgebreaker may be able to be improved.

[0079] Furthermore, a decoding device from Example 9 includes: memory; and a memory-accessible circuit, in which, in operation, the circuit: for each of the faces that form a three-dimensional mesh, decodes a type of connection relating to a relationship of Petition 870250078626, dated 03 / 09 / 2025, page 135 / 277 12 / 108 connection between the face to be processed and a face not yet processed, using context-based arithmetic decoding; and, in the decoding of a current connection type, selects the context to be applied to the arithmetic decoding from among the contexts that use a previous connection type. The current connection type is the connection type to be decoded. The previous connection type is the connection type decoded before the current connection type.

[0080] Consequently, a context for arithmetic decoding of the current connection type may be able to be selected according to the previous connection type. Therefore, the arithmetic decoding of the current connection type, which may have a different probability distribution depending on the previous connection type, may be able to be performed based on a context selected according to the previous connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[0081] Note that a plurality of exemplary connection types relating to the connection relationship between the face to be processed and a face not yet processed may include a type in which the face to be processed is not connected to any face not yet processed (type E described later, for example).

[0082] Furthermore, a decoding device from Example 10 can be the decoding device from Example 9, where the context is used to determine a probability value for use in arithmetic decoding, and the circuit performs arithmetic decoding on the current connection type using the probability value determined based on the context selected using the previous connection type.

[0083] Consequently, a suitable probability value for arithmetic decoding of the current connection type may be Petition 870250078626, dated 03 / 09 / 2025, pp. 136 / 277 13 / 108 can be specified according to the previous connection type. Therefore, compressibility may be able to be improved.

[0084] Furthermore, a decoding device from Example 11 may be the decoding device from Example 9 or 10, wherein the previous connection type is the connection type decoded immediately before the current connection type.

[0085] Consequently, a context for arithmetic decoding of the current connection type may be able to be selected according to the immediately preceding connection type. Therefore, the arithmetic decoding of the current connection type, which may have a different probability distribution depending on the immediately preceding connection type, may be able to be performed based on a context selected according to the immediately preceding connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[0086] Furthermore, a decoding device for Example 12 can be the decoding device for any of Examples 9 to 11, where each of the faces is triangular in shape.

[0087] Consequently, the type of connection of each of a plurality of triangles that form a three-dimensional mesh may be able to be decoded. Furthermore, the compressibility of information indicating a connection relationship between the plurality of triangles may be able to be improved.

[0088] Furthermore, a decoding device from Example 13 can be the decoding device for any of Examples 9 to 12, wherein the connection type is any of the types, which include a type that indicates a split in which faces not yet processed are split and connected to the face to be processed.

[0089] Consequently, a connection relationship that includes Petition 870250078626, dated 03 / 09 / 2025, pp. 137 / 277 14 / 108 A split in which the face to be processed is connected to two faces that have not yet been processed may be able to be indicated by a connection type. Furthermore, the compressibility of information indicating a connection relationship that includes a split may be able to be improved.

[0090] Furthermore, a decoding device from Example 14 could be the decoding device from Example 13, wherein the circuit: selects a first context as the context when the previous connection type is the type indicating division; and selects a second context different from the first context as the context when the previous connection type is a type different from the type indicating division.

[0091] Consequently, a context may be able to be selected according to whether the previous connection type is a type that indicates a split or another type. Furthermore, the current connection type may be able to be decoded according to the characteristics of the previous connection type, specifically, whether the previous connection type is a type that indicates a split or another type. Therefore, the compressibility of information indicating a connection relationship that includes a split may be able to be improved.

[0092] Furthermore, a decoding device from Example 15 can be the decoding device for any of Examples 9 through 14, wherein the connection type is any of the types specified by Edgebreaker.

[0093] Consequently, a connection relation defined by Edgebreaker can be indicated by a connection type. Furthermore, the compressibility of information indicating a connection relationship defined by Edgebreaker can be improved.

[0094] Furthermore, a decoding device for Example 16 Petition 870250078626, dated 03 / 09 / 2025, pp. 138 / 277 15 / 108 could be the decoding device from Example 15, where the circuit: selects a first context as the context when the previous connection type is of type S specified by Edgebreaker; and selects a second context different from the first context as the context when the previous connection type is of a type other than type S.

[0095] Consequently, a context may be able to be selected according to whether the previous connection type is of type S or another type. Furthermore, the current connection type may be able to be decoded according to the characteristics of the previous connection type, specifically, whether the previous connection type is of type S or another type. Therefore, the compressibility of information indicating a connection relationship that includes the type S defined by Edgebreaker may be able to be improved.

[0096] Furthermore, one coding method for Example 17 includes: coding, for each of the faces that form a three-dimensional mesh, a connection type relating to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic coding; and selecting, in the coding of a current connection type, the context to be applied to the arithmetic coding from among the contexts that use a previous connection type. The current connection type is the connection type to be coded. The previous connection type is the connection type coded before the current connection type.

[0097] Consequently, a context for arithmetic encoding of the current connection type may be able to be selected according to the previous connection type. Therefore, the arithmetic encoding of the current connection type, which may have a different probability distribution depending on the previous connection type, may be able to be performed based on a selected context of Petition 870250078626, dated 03 / 09 / 2025, page 139 / 277 16 / 108 in accordance with the previous connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[0098] Furthermore, a method for decoding Example 18 includes: decoding, for each of the faces that form a three-dimensional mesh, a connection type relating to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic decoding; and selecting, in the decoding of a current connection type, the context to be applied to the arithmetic decoding from among the contexts that use a previous connection type. The current connection type is the connection type to be decoded. The previous connection type is the connection type decoded before the current connection type.

[0099] Consequently, a context for arithmetic decoding of the current connection type may be able to be selected according to the previous connection type. Therefore, the arithmetic decoding of the current connection type, which may have a different probability distribution depending on the previous connection type, may be able to be performed based on a context selected according to the previous connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[00100] Furthermore, the three-dimensional mesh information may include a three-dimensional coordinate position of a vertex in three-dimensional space and a texture map coordinate position of the vertex mapped onto a two-dimensional plane that corresponds to a texture. The three-dimensional coordinate position and the texture map coordinate position may have different characteristics.

[00101] Furthermore, an encoding device of example 19 includes a memory and a memory-accessible circuit, in which, Petition 870250078626, dated 03 / 09 / 2025, pp. 140 / 277 17 / 108 operation, the circuit performs the arithmetic encoding of a three-dimensional coordinate position of a vertex of a face that forms a three-dimensional mesh according to a first order obtained by subtracting a first predetermined value of a bit precision from the three-dimensional coordinate position, and performs the arithmetic encoding of a texture map coordinate position of the vertex according to a second order obtained by subtracting a second predetermined value of a bit precision from the texture map coordinate position.

[00102] Consequently, the arithmetic encoding of a three-dimensional coordinate position may be able to be performed according to a first order suitable for the arithmetic encoding of the three-dimensional coordinate position, and the arithmetic encoding of a texture map coordinate position may be able to be performed according to a second order suitable for the arithmetic encoding of the texture map coordinate position. Therefore, the arithmetic encoding of a three-dimensional coordinate position may be able to be performed according to the characteristics of the three-dimensional coordinate position, and the arithmetic encoding of a texture map coordinate position may be able to be performed according to the characteristics of the texture map coordinate position. Therefore, compressibility may be able to be improved.

[00103] Furthermore, an encoding device of example 20 can be the encoding device of example 19, where an exponential Golomb code is used for each of the arithmetic encoding of the three-dimensional coordinate position and the arithmetic encoding of the texture map coordinate position.

[00104] Consequently, the compressibility of information that can be efficiently indicated by the Golomb code expoPetition 870250078626, of 03 / 09 / 2025, page 141 / 277 18 / 108 potential may be able to be improved.

[00105] Furthermore, an encoding device of example 21 may be the encoding device of example 20, wherein the first order is applied to the exponential Golomb code used for the arithmetic encoding of the three-dimensional coordinate position, and the second order is applied to the exponential Golomb code used for the arithmetic encoding of the texture map coordinate position.

[00106] Consequently, the arithmetic encoding of a first-order exponential Golomb code that can efficiently indicate a three-dimensional coordinate position may be able to be performed, and the arithmetic encoding of a second-order exponential Golomb code that can efficiently indicate a texture map coordinate position may be able to be performed. Therefore, the compressibility of information from a three-dimensional coordinate position and a texture map coordinate position may be able to be improved.

[00107] Furthermore, an encoding device of example 22 may be the encoding device of example 21, wherein the first predetermined value is equal to or greater than the second predetermined value.

[00108] Consequently, the first order and the second order may be able to reflect the characteristics that the variance of a plurality of three-dimensional coordinate positions in a three-dimensional space is relatively low, and the variance of a plurality of texture map coordinate positions in a two-dimensional plane is relatively high. Therefore, the compressibility of three-dimensional coordinate position information and texture map coordinate position information may be able to be improved.

[00109] Furthermore, a decoding device of example 23 Petition 870250078626, dated 03 / 09 / 2025, p. 142 / 277 19 / 108 includes a memory and a memory-accessible circuit, in which, during operation, the circuit performs the arithmetic decoding of a three-dimensional coordinate position of a vertex of a face that forms a three-dimensional mesh according to a first order obtained by subtracting a first predetermined value of a bit precision from the three-dimensional coordinate position, and performs the arithmetic decoding of a texture map coordinate position of the vertex according to a second order obtained by subtracting a second predetermined value of a bit precision from the texture map coordinate position.

[00110] Consequently, the arithmetic decoding of a three-dimensional coordinate position may be able to be performed according to a first order suitable for the arithmetic decoding of the three-dimensional coordinate position, and the arithmetic decoding of a texture map coordinate position may be able to be performed according to a second order suitable for the arithmetic decoding of the texture map coordinate position. Therefore, the arithmetic decoding of a three-dimensional coordinate position may be able to be performed according to the characteristics of the three-dimensional coordinate position, and the arithmetic decoding of a texture map coordinate position may be able to be performed according to the characteristics of the texture map coordinate position. Therefore, compressibility may be able to be improved.

[00111] Furthermore, a decoding device for example 24 could be the decoding device for example 23, where an exponential Golomb code is used for each of the arithmetic decoding of the three-dimensional coordinate position and the arithmetic decoding of the texture map coordinate position.

[00112] Consequently, the compressibility of information Petition 870250078626, dated 03 / 09 / 2025, page 143 / 277 20 / 108, which can be efficiently indicated by the Golomb exponential code, may be capable of being improved.

[00113] Furthermore, a decoding device of example 25 may be the decoding device of example 24, wherein the first order is applied to the exponential Golomb code used for the arithmetic decoding of the three-dimensional coordinate position, and the second order is applied to the exponential Golomb code used for the arithmetic decoding of the texture map coordinate position.

[00114] Consequently, the arithmetic decoding of a first-order exponential Golomb code that can efficiently indicate a three-dimensional coordinate position may be able to be performed, and the arithmetic decoding of a second-order exponential Golomb code that can efficiently indicate a texture map coordinate position may be able to be performed. Therefore, the compressibility of information from a three-dimensional coordinate position and a texture map coordinate position may be able to be improved.

[00115] Furthermore, a decoding device from example 26 could be the decoding device from example 25, where the first predetermined value is equal to or greater than the second predetermined value.

[00116] Consequently, the first order and the second order may be able to reflect the characteristics that the variance of a plurality of three-dimensional coordinate positions in a three-dimensional space is relatively low, and the variance of a plurality of texture map coordinate positions in a two-dimensional plane is relatively high. Therefore, the compressibility of three-dimensional coordinate position information and texture map coordinate position information may be able to be improved. Petition 870250078626, dated 03 / 09 / 2025, p. 144 / 277 21 / 108

[00117] Furthermore, one encoding method of example 27 includes performing arithmetic encoding of a three-dimensional coordinate position of a vertex of a face forming a three-dimensional mesh according to a first order obtained by subtracting a first predetermined value of a bit precision from the three-dimensional coordinate position, and performing arithmetic encoding of a texture map coordinate position of the vertex according to a second order obtained by subtracting a second predetermined value of a bit precision from the texture map coordinate position.

[00118] Consequently, the arithmetic encoding of a three-dimensional coordinate position may be able to be performed according to a first order suitable for the arithmetic encoding of the three-dimensional coordinate position, and the arithmetic encoding of a texture map coordinate position may be able to be performed according to a second order suitable for the arithmetic encoding of the texture map coordinate position. Therefore, the arithmetic encoding of a three-dimensional coordinate position may be able to be performed according to the characteristics of the three-dimensional coordinate position, and the arithmetic encoding of a texture map coordinate position may be able to be performed according to the characteristics of the texture map coordinate position. Therefore, compressibility may be able to be improved.

[00119] One method of decoding example 28 includes performing arithmetic decoding of a three-dimensional coordinate position of a vertex of a face forming a three-dimensional mesh according to a first order obtained by subtracting a first predetermined value of a bit precision from the three-dimensional coordinate position, and performing arithmetic decoding of a po Petition 870250078626, dated 03 / 09 / 2025, pp. 145 / 277 22 / 108 texture map coordinate position of the vertex according to a second order obtained by subtracting a second predetermined value of a bit precision from the texture map coordinate position.

[00120] Consequently, the arithmetic decoding of a three-dimensional coordinate position may be able to be performed according to a first order suitable for the arithmetic decoding of the three-dimensional coordinate position, and the arithmetic decoding of a texture map coordinate position may be able to be performed according to a second order suitable for the arithmetic decoding of the texture map coordinate position. Therefore, the arithmetic decoding of a three-dimensional coordinate position may be able to be performed according to the characteristics of the three-dimensional coordinate position, and the arithmetic decoding of a texture map coordinate position may be able to be performed according to the characteristics of the texture map coordinate position. Therefore, compressibility may be able to be improved.

[00121] Furthermore, these general or specific aspects can be implemented using a system, a device, a method, an integrated circuit, a computer program, or a non-transient computer-readable recording medium, such as a CD-ROM, or any combination of systems, devices, methods, integrated circuits, computer programs, and recording media. Expressions and Terms

[00122] The following expressions and terms will be used here. (1) Three-dimensional mesh

[00123] A three-dimensional mesh is a set of a plurality of faces and indicates, for example, a three-dimensional object. Furthermore, a three-dimensional mesh is mainly composed of information Petition 870250078626, dated 03 / 09 / 2025, pp. 146 / 277 23 / 108 vertex information, connection information, and attribute information. A three-dimensional mesh can be expressed as a polygonal mesh or a mesh. Furthermore, a three-dimensional mesh can have a temporal shift. A three-dimensional mesh can include metadata relating to vertex information, connection information, and attribute information, or other additional information. (2) Vertex Information

[00124] Vertex information is information that indicates a vertex. For example, vertex information indicates the position of a vertex in three-dimensional space. Furthermore, a vertex corresponds to a vertex of a face that constitutes a three-dimensional mesh. Vertex information can be expressed as geometry. Additionally, vertex information can also be expressed as position information. (3) Connection Information

[00125] Connection information is information that indicates a connection between vertices. For example, connection information indicates a connection for the construction of a face or an edge of a three-dimensional mesh. Connection information can be expressed as connectivity. In addition, connection information can also be expressed as face information. (4) Attribute Information

[00126] Attribute information is information that indicates an attribute of a vertex or face. For example, attribute information indicates an attribute, such as a color, an image, a normal vector, and the like, associated with a vertex or face. Attribute information can be expressed as texture. (5) Face

[00127] A face is an element that constitutes a three-dimensional mesh. Specifically, a face is a polygon in a plane in a Petition 870250078626, dated 03 / 09 / 2025, pp. 147 / 277 24 / 108 three-dimensional space. For example, a face can be defined as a triangle in three-dimensional space. (6) Plan

[00128] A plane is a two-dimensional plane in a three-dimensional space. For example, a polygon is formed on a plane, and a plurality of polygons are formed on a plurality of planes. (7) Bit Stream

[00129] A bit stream corresponds to encoded information. A bit stream can also be expressed as a stream, an encoded bit stream, a compressed bit stream, or an encoded signal. (8) Encoding and Decoding

[00130] The expression "encode" can be replaced by expressions such as "store," "include," "write," "describe," "signal," "send," "notify," "save," or "compress," and such expressions can be used interchangeably. For example, encoding information can mean including information in a bitstream. Furthermore, encoding information in a bitstream can mean encoding the information and generating a bitstream that includes the encoded information.

[00131] Furthermore, the expression decode can be replaced by expressions such as read, interpret, scan, load, derive, acquire, receive, extract, restore, reconstruct, decompress or expand, and such expressions can be used interchangeably. For example, decoding information can mean acquiring information from a bit stream. Furthermore, decoding information from a bit stream can mean decoding the bit stream and acquiring information included in the bit stream. (9) Ordinal Numbers

[00132] In the description, an ordinal number, such as first, second, or similar, may be affixed to a constituent element or similar. Such ordinal numbers may be substituted as needed. Petition 870250078626, dated 03 / 09 / 2025, pp. 148 / 277 25 / 108 necessary. Furthermore, an ordinal number may be recently affixed to or removed from a constituent element or similar. Moreover, ordinal numbers may be affixed to elements in order to identify the elements and may not correspond to any meaningful order. Three-dimensional mesh

[00133] Figure 1 is a conceptual diagram illustrating a three-dimensional mesh according to the present embodiment. The three-dimensional mesh consists of a plurality of faces. For example, each face is a triangle. The vertices of the triangles are determined in a three-dimensional space. Furthermore, a three-dimensional mesh indicates a three-dimensional object. Each face can have a color or an image.

[00134] Figure 2 is a conceptual diagram illustrating the basic elements of a three-dimensional mesh according to the present embodiment. The three-dimensional mesh consists of vertex information, connection information, and attribute information. Vertex information indicates the position of a vertex of a face in three-dimensional space. Connection information indicates a connection between vertices. A face can be identified based on vertex information and connection information. In other words, a colorless three-dimensional object is formed in three-dimensional space based on vertex information and connection information.

[00135] Attribute information can be associated with a vertex or associated with a face. Attribute information associated with a vertex can be expressed as a point attribute. Attribute information associated with a vertex can indicate an attribute of the vertex itself or indicate an attribute of a face connected to the vertex. Petition 870250078626, dated 03 / 09 / 2025, pp. 149 / 277 26 / 108

[00136] For example, a color can be associated with a vertex as attribute information. The color associated with the vertex can be the color of the vertex or the color of a face connected to the vertex. The face color can be an average of a plurality of colors associated with a plurality of face vertices. Additionally, a normal vector can be associated with a vertex or face as attribute information. Such a normal vector can express the front and back of a face.

[00137] Furthermore, a two-dimensional image can be associated with a face as attribute information. The two-dimensional image associated with a face is also expressed as a texture image or an attribute map. In addition, information indicating the mapping between a face and a two-dimensional image can be associated with the face as attribute information. Such information indicating the mapping can be expressed as mapping information, vertex information of a texture image, or an attribute UV coordinate.

[00138] Furthermore, information about a color, an image, a moving image, and similar items to be used as attribute information can be expressed as a parameter space.

[00139] A texture is reflected in a three-dimensional object based on such attribute information. In other words, a colored three-dimensional object is formed in a three-dimensional space based on vertex information, connection information, and attribute information.

[00140] Note that although attribute information is associated with a vertex or a face in the description given above, alternatively, attribute information can be associated with an edge.

[00141] Figure 3 is a conceptual diagram that illustrates the mapping Petition 870250078626, dated 03 / 09 / 2025, pp. 150 / 277 27 / 108 ment in accordance with the present embodiment. For example, a region of a two-dimensional image in a two-dimensional plane can be mapped to a face of a three-dimensional mesh in three-dimensional space. Specifically, the coordinate information of a region in the two-dimensional image is associated with a face of the three-dimensional mesh. Consequently, an image of the mapped region in the two-dimensional image is reflected onto the face of the three-dimensional mesh.

[00142] The use of mapping allows a two-dimensional image to be used as attribute information to be separated from the three-dimensional mesh. For example, in three-dimensional mesh encoding, the two-dimensional image can be encoded based on an image encoding system or a video encoding system. System Configuration

[00143] Figure 4 is a block diagram illustrating an example configuration of an encoding / decoding system according to the present embodiment. In Figure 4, the encoding / decoding system includes encoding device 100 and decoding device 200.

[00144] For example, encoding device 100 acquires a three-dimensional mesh and encodes the three-dimensional mesh into a bitstream. Furthermore, encoding device 100 outputs the bitstream to network 300. For example, the bitstream includes an encoded three-dimensional mesh and control information to decode the encoded three-dimensional mesh. Encoding the three-dimensional mesh causes the three-dimensional mesh information to be compressed.

[00145] Network 300 transmits the bit stream from encoding device 100 to decoding device 200. Network 300 can be the Internet, a wide area network (WAN), or a local area network. Petition 870250078626, dated 03 / 09 / 2025, pp. 151 / 277 28 / 108 (LAN) or a combination thereof. The 300 network is not necessarily limited to bidirectional communication and may be a unidirectional communication network for terrestrial digital transmission, satellite transmission or similar.

[00146] In addition, the 300 network can be replaced by a recording medium, such as a DVD (Digital Versatile Disc), a BD (Blu-Ray Disc (registered trademark)) or similar.

[00147] Decoding device 200 acquires a bitstream and decodes a three-dimensional mesh from the bitstream. Decoding the three-dimensional mesh causes the information in the three-dimensional mesh to be expanded. For example, decoding device 200 decodes a three-dimensional mesh according to a decoding method that corresponds to an encoding method used by encoding device 100 to encode the three-dimensional mesh. In other words, encoding device 100 and decoding device 200 perform encoding and decoding according to an encoding method and a decoding method that correspond to each other.

[00148] Note that the three-dimensional mesh before encoding can also be expressed as an original three-dimensional mesh. Furthermore, the three-dimensional mesh after decoding is also expressed as a reconstructed three-dimensional mesh. Encoding Device

[00149] Figure 5 is a block diagram illustrating an example configuration of encoding device 100 according to the present embodiment. For example, encoding device 100 includes vertex information encoder 101, connection information encoder 102, and attribute information encoder 103.

[00150] The vertex 101 information encoder is a circuit Petition 870250078626, dated 03 / 09 / 2025, pp. 152 / 277 29 / 108 electrical which encodes vertex information. For example, vertex information encoder 101 encodes vertex information into a bitstream according to a defined format relative to the vertex information.

[00151] The 102 connection information encoder is an electrical circuit which encodes connection information. For example, the 102 connection information encoder encodes connection information into a bit stream according to a defined format related to the connection information.

[00152] The attribute information encoder 103 is an electrical circuit which encodes attribute information. For example, the attribute information encoder 103 encodes attribute information into a bit stream according to a defined format related to the attribute information.

[00153] Variable-length coding or fixed-length coding can be used to encode vertex information, connection information, and attribute information. Variable-length coding can accommodate Huffman coding, context-adaptive binary arithmetic coding (CABAC), or similar.

[00154] Vertex information encoder 101, connection information encoder 102, and attribute information encoder 103 can be integrated. Alternatively, each of vertex information encoder 101, connection information encoder 102, and attribute information encoder 103 can be more finely segmented into a plurality of constituent elements.

[00155] Figure 6 is a block diagram illustrating another example of configuring the encoding device 100 according to the present embodiment. For example, in addition to the components illustrated Petition 870250078626, dated 03 / 09 / 2025, pp. 153 / 277 30 / 108 shown in Figure 5, the encoding device 100 includes the preprocessor 104 and the post-processor 105.

[00156] Preprocessor 104 is an electrical circuit that performs processing prior to encoding of vertex information, connection information, and attribute information. For example, preprocessor 104 can perform transformation, demultiplexing, multiplexing, or similar processing on a three-dimensional mesh before encoding. More specifically, for example, preprocessor 104 can demultiplex vertex information, connection information, and attribute information from the three-dimensional mesh before encoding.

[00157] The 105 postprocessor is an electrical circuit that performs post-encoding processing of vertex information, connection information, and attribute information. For example, the 105 postprocessor can perform transformation, demultiplexing, multiplexing, or similar processing on vertex information, connection information, and attribute information after encoding. More specifically, for example, the 105 postprocessor can multiplex vertex information, connection information, and attribute information after encoding into a bitstream. Furthermore, for example, the 105 postprocessor can also perform variable-length encoding on vertex information, connection information, and attribute information after encoding. Decoding Device

[00158] Figure 7 is a block diagram illustrating an example configuration of the decoding device 200 according to the present embodiment. For example, the decoding device 200 includes the vertex information decoder 201, the connection information decoder 202, and the information decoder. Petition 870250078626, dated 03 / 09 / 2025, page 154 / 277 31 / 108 attribute 203.

[00159] The 201 vertex information decoder is an electrical circuit which decodes vertex information. For example, the 201 vertex information decoder decodes vertex information from a bitstream according to a defined format relative to the vertex information.

[00160] The 202 connection information decoder is an electrical circuit which decodes connection information. For example, the 202 connection information decoder decodes connection information from a bit stream according to a defined format in relation to the connection information.

[00161] The attribute information decoder 203 is an electrical circuit which decodes attribute information. For example, the attribute information decoder 203 decodes attribute information from a bit stream according to a defined format in relation to the attribute information.

[00162] Variable-length decoding or fixed-length decoding can be used to decode vertex information, connection information, and attribute information. Variable-length decoding can accommodate Huffman coding, context-adaptive binary arithmetic coding (CABAC), or similar.

[00163] The vertex information decoder 201, the connection information decoder 202, and the attribute information decoder 203 can be integrated. Alternatively, each of the vertex information decoder 201, the connection information decoder 202, and the attribute information decoder 203 can be more finely segmented into a plurality of constituent elements.

[00164] Figure 8 is a block diagram that illustrates another Petition 870250078626, dated 03 / 09 / 2025, pp. 155 / 277 32 / 108 Example of a configuration of decoding device 200 according to the present embodiment. For example, in addition to the components illustrated in Figure 7, decoding device 200 includes preprocessor 204 and postprocessor 205.

[00165] The 204 preprocessor is an electrical circuit that performs processing before decoding vertex information, connection information, and attribute information. For example, the 204 preprocessor can perform transformation, demultiplexing, multiplexing, or similar processing on a bit stream before decoding vertex information, connection information, and attribute information.

[00166] More specifically, for example, preprocessor 204 can demultiplex from a bit stream, a sub-stream of bits corresponding to vertex information, a sub-stream of bits corresponding to connection information, and a sub-stream of bits corresponding to attribute information. Furthermore, for example, preprocessor 204 can perform variable-length decoding relative to the bit stream in advance, before decoding the vertex information, connection information, and attribute information.

[00167] The 205 postprocessor is an electrical circuit that performs processing after decoding vertex information, connection information, and attribute information. For example, the 205 postprocessor can perform transformation, demultiplexing, multiplexing, or similar processing on vertex information, connection information, and attribute information after decoding. More specifically, for example, the 205 postprocessor can multiplex vertex information, connection information, and attribute information after decoding into a three-dimensional mesh. Petition 870250078626, dated 03 / 09 / 2025, pp. 156 / 277 33 / 108 Bitstream

[00168] Vertex information, connection information, and attribute information are encoded and stored in a bitstream. A relationship between these pieces of information and the bitstream will be described below.

[00169] Figure 9 is a conceptual diagram illustrating an example of a bitstream configuration according to the present embodiment. In this example, connection information, vertex information, and attribute information are integrated into the bitstream. For example, connection information, vertex information, and attribute information can be included in a file.

[00170] Furthermore, a plurality of portions of information portions can be sequentially stored, such as a first portion of connection information, a first portion of vertex information, a first portion of attribute information, a second portion of connection information, a second portion of vertex information, a second portion of attribute information, ... The plurality of portions may correspond to a plurality of temporally different portions, which corresponds to a plurality of spatially different portions, or corresponds to a plurality of different faces.

[00171] Furthermore, the order in which connection information, vertex information, and attribute information is stored is not limited to the example described above, and a storage order that differs from the above may be used.

[00172] Figure 10 is a conceptual diagram illustrating another example of a bitstream configuration according to the present embodiment. In the example, a plurality of files is included in a bitstream, and connection information, vertex information, and attribute information are respectively stored in different Petition 870250078626, dated 03 / 09 / 2025, pp. 157 / 277 34 / 108 existing files. Although a file containing connection information, a file containing vertex information, and a file containing attribute information are illustrated here, storage formats are not limited to this example. For instance, two types of information—connection information, vertex information, and attribute information—can be included in one file, and the remaining type of information can be included in another file.

[00173] Alternatively, the information portions can be stored by dividing them into a larger number of files. For example, a plurality of connection information portions can be stored in a plurality of files, a plurality of vertex information portions can be stored in a plurality of files, and a plurality of attribute information portions can be stored in a plurality of files. The plurality of portions can correspond to a plurality of temporally different portions, correspond to a plurality of spatially different portions, or correspond to a plurality of different faces.

[00174] Furthermore, the order in which connection information, vertex information, and attribute information is stored is not limited to the example described above, and a storage order that differs from the above may be used.

[00175] Figure 11 is a conceptual diagram illustrating another example of a bitstream configuration according to the present embodiment. In the example, a bitstream consists of a plurality of separable bit substreams, and connection information, vertex information, and attribute information are stored in different bit substreams, respectively.

[00176] Despite a bit substream that includes connection information, a bit substream that includes vertex information and a Petition 870250078626, dated 03 / 09 / 2025, pp. 158 / 277 35 / 108 bit substream which includes attribute information to be illustrated here, storage formats are not limited to this example.

[00177] For example, two types of information, including connection information, vertex information, and attribute information, can be included in one bit substream, and the remaining information type can be included in another bit substream. Specifically, attribute information, such as a two-dimensional image, can be stored in a bit substream conforming to an image encoding system, separately from a bit substream of connection information and vertex information.

[00178] Furthermore, each bit substream can include a plurality of files. Moreover, a plurality of connection information portions can be stored in a plurality of files, a plurality of vertex information portions can be stored in a plurality of files, and a plurality of attribute information portions can be stored in a plurality of files.

[00179] Furthermore, the storage order of connection information, vertex information, and attribute information is not limited to the example illustrated in Figure 9, Figure 10, and Figure 11, and a storage order that differs from this example can be used. For example, vertex information, connection information, and attribute information can be stored in a bitstream in this order. Alternatively, in a different order than this one, for example, in any of the following orders: connection information, attribute information, and vertex information; vertex information, attribute information, and connection information; attribute information, connection information, and vertex information; and attribute information, vertex information, and connection information. Petition 870250078626, dated 03 / 09 / 2025, pp. 159 / 277 36 / 108 connection, these pieces of information can be stored in a bit stream.

[00180] Furthermore, each of the connection information, vertex information, and attribute information can be divided into a plurality of data items, and the plurality of data items can be stored in a bit stream in a periodic order or in a random order. Specific Example

[00181] Figure 12 is a block diagram illustrating a specific example of the encoding / decoding system according to the present embodiment. In Figure 12, the encoding / decoding system includes the three-dimensional data encoding system 110, the three-dimensional data decoding system 210, and the external connector 310.

[00182] The three-dimensional data encoding system 110 includes the controller 111, the input / output processor 112, the three-dimensional data encoder 113, the three-dimensional data generator 115, and the system multiplexer 114. The three-dimensional data decoding system 210 includes the controller 211, the input / output processor 212, the three-dimensional data decoder 213, the system demultiplexer 214, the presenter 215, and the user interface 216.

[00183] In the three-dimensional data encoding system 110, sensor data is entered from a sensor terminal to the three-dimensional data generator 115. The three-dimensional data generator 115 generates three-dimensional data, which are point cloud data, mesh data or similar, from the sensor data and inserts the three-dimensional data into the three-dimensional data encoder 113.

[00184] For example, the three-dimensional data generator 115 generates vertex information and generates connection information and information Petition 870250078626, dated 03 / 09 / 2025, pp. 160 / 277 37 / 108 of the attributes which correspond to vertex information. The 115 three-dimensional data generator can process vertex information when generating connection information and attribute information. For example, the 115 three-dimensional data generator can reduce a quantity of data by excluding overlapping vertices or transform vertex information (position displacement, rotation, normalization, or similar). Additionally, the 115 three-dimensional data generator can render attribute information.

[00185] Although the three-dimensional data generator 115 is a constituent element of the three-dimensional data encoding system 110 in Figure 12, the three-dimensional data generator 115 can be placed externally, independently of the three-dimensional data encoding system 110.

[00186] For example, a sensor terminal that provides sensor data to generate three-dimensional data can be a moving object, such as a car, a flying object, such as an airplane, a mobile terminal, a camera, or similar. Alternatively, a range sensor, such as a LIDAR, a millimeter-wave radar, an infrared sensor or a rangefinder, a stereo camera, a combination of a plurality of monocular cameras, or similar, can be used as the sensor terminal.

[00187] Sensor data may be a distance (position) to an object, a monocular camera image, a stereo camera image, a color, a reflectance, an attitude or orientation of a sensor, a gyroscope, a detection position (GPS or elevation information), a speed, an acceleration, a time of day, air temperature, air pressure, humidity, magnetism, or similar.

[00188] The three-dimensional data encoder 113 corresponds to the encoding device 100 illustrated in Figure 5 and similar devices. By Petition 870250078626, dated 03 / 09 / 2025, pp. 161 / 277 38 / 108 For example, the three-dimensional data encoder 113 encodes three-dimensional data and generates the encoded data. Furthermore, the three-dimensional data encoder 113 generates control information when encoding the three-dimensional data. Moreover, the three-dimensional data encoder 113 inserts the encoded data into the system multiplexer 114, along with the control information.

[00189] The three-dimensional data encoding system can be an encoding system that uses geometry or an encoding system that uses a video codec. In this case, an encoding system that uses geometry can also be expressed as a geometry-based encoding system. An encoding system that uses a video codec can also be expressed as a video-based encoding system.

[00190] System multiplexer 114 multiplexes the encoded data and control information entered by the three-dimensional data encoder 113 and generates multiplexed data using a prescribed multiplexing system. System multiplexer 114 can multiplex other media, such as video, audio, subtitles, application data or document files, reference time information or similar, along with the encoded data and control information of three-dimensional data. Furthermore, system multiplexer 114 can multiplex attribute information relating to sensor data or three-dimensional data.

[00191] For example, multiplexed data has a file format for accumulation, a packet format for transmission, or similar. ISOBMFF or an ISOBMFF-based system can be used as an accumulation system or a transmission system. Alternatively, MPEG-DASH, MMT, MPEG-2 TS, RTP, or similar systems can be used.

[00192] In addition, the multiplexed data is emitted as a Petition 870250078626, dated 03 / 09 / 2025, pp. 162 / 277 39 / 108 transmission signal by input / output processor 112 to external connector 310. Multiplexed data can be transmitted as a transmission signal in a wired or wireless mode. Alternatively, multiplexed data is accumulated in internal memory or on a storage device. Multiplexed data can be transmitted over the internet to a cloud server or stored on an external storage device.

[00193] For example, the transmission or accumulation of multiplexed data is performed by a method according to a transmission or accumulation medium, such as transmission or communication. As a communication protocol, http, ftp, TCP, UDP, IP, or a combination thereof may be used. In addition, a pull-type communication scheme or a push-type communication scheme may be used.

[00194] Ethernet (registered trademark), USB, RS-232C, HDMI (registered trademark), a coaxial cable or similar may be used for wired transmission. Additionally, 3GPP (registered trademark), 3G / 4G / 5G as specified by IEEE, a wireless LAN, Bluetooth, or millimeter wave may be used for wireless transmission. Furthermore, for example, DVB-T2, DVB-S2, DVB-C2, ATSC 3.0, ISDB-S3, or similar may be used as a transmission system.

[00195] Note that sensor data can be entered into the three-dimensional data generator 115 or the system multiplexer 114. Furthermore, the three-dimensional data or the encoded data can be output as is, as a transmission signal to the external connector 310, via the input / output processor 112. The transmission signal emitted by the three-dimensional data encoding system 110 is entered into the three-dimensional data decoding system 210, via the external connector 310. Petition 870250078626, dated 03 / 09 / 2025, pp. 163 / 277 40 / 108

[00196] Furthermore, each operation of the three-dimensional data encoding system 110 can be controlled by the controller 111, which executes application programs.

[00197] In the three-dimensional data decoding system 210, a transmission signal is fed into the input / output processor 212. The input / output processor 212 decodes multiplexed data that has either a file format or a packet format of the transmission signal and feeds the multiplexed data into the system demultiplexer 214. The system demultiplexer 214 acquires encoded data and control information from the multiplexed data and feeds the encoded data and control information into the three-dimensional data decoder 213. The system demultiplexer 214 can extract other media, reference time information, or similar information from the multiplexed data.

[00198] The three-dimensional data decoder 213 corresponds to the decoding device 200 illustrated in Figure 7 and similar devices. For example, the three-dimensional data decoder 213 decodes three-dimensional data from data encoded based on a previously specified encoding system. Subsequently, the three-dimensional data is presented to a user by the presenter 215.

[00199] In addition, further information, such as sensor data, can be entered into the presenter 215. The presenter 215 can display three-dimensional data based on the additional information. Furthermore, a user instruction can be entered into the user interface 216 of a user terminal. Moreover, the presenter 215 can display three-dimensional data based on the entered instruction.

[00200] Note that the input / output processor 212 can acquire three-dimensional data and encoded data from the external connector 310. Petition 870250078626, dated 03 / 09 / 2025, pp. 164 / 277 41 / 108

[00201] Furthermore, each operation of the three-dimensional data decoding system 210 can be controlled by the controller 211, which executes application programs.

[00202] Figure 13 is a conceptual diagram illustrating an example of a point cloud data configuration according to the present embodiment. Point cloud data refers to data from a point cloud that indicates a three-dimensional object.

[00203] Specifically, a point cloud consists of a plurality of points and has position information which indicates a three-dimensional coordinate position of each point and attribute information which indicates an attribute of each point. Position information is also expressed as geometry.

[00204] For example, a type of attribute information can be a color, a reflectance, or similar. Attribute information relating to one type can be associated with a point, attribute information relating to a plurality of different types can be associated with a point, or attribute information that has a plurality of values ​​relating to the same type can be associated with a point.

[00205] Figure 14 is a conceptual diagram illustrating an example of a point cloud data file according to the present embodiment. The example is an example of a case where position information items and attribute information items have a one-to-one correspondence, and the example indicates position information and attribute information for a number N of points which constitute the point cloud data. In this example, position information is information that indicates a three-dimensional coordinate position by three geometric axes x, y, and z, and attribute information is information that indicates a color by RGB. As a representative data file of nuPetition 870250078626, dated 03 / 09 / 2025, page 165 / 277 42 / 108 comes from points; a PLY file or similar can be used.

[00206] Figure 15 is a conceptual diagram illustrating an example of mesh data configuration according to the present embodiment. Mesh data are data used in CG (computer graphics) or similar applications and are data of a three-dimensional mesh which represents a three-dimensional shape of an object by a plurality of faces. Each face is also expressed as a polygon and has a polygonal shape, such as a triangle or a quadrilateral.

[00207] Specifically, in addition to the plurality of points which constitute a point cloud, a three-dimensional mesh is made up of a plurality of edges and a plurality of faces. Each point is also expressed as a vertex or a position. Each edge corresponds to a line segment which connects two vertices. Each face corresponds to an area bounded by three or more edges.

[00208] In addition, a three-dimensional mesh has position information that indicates the three-dimensional coordinate positions of vertices. Position information is also expressed as vertex information or geometry. Furthermore, a three-dimensional mesh has connection information that indicates a relationship between a plurality of vertices that constitutes an edge or a face. Connection information is also expressed as connectivity. In addition, a three-dimensional mesh has attribute information that indicates an attribute in relation to a vertex, an edge, or a face. Attribute information in a three-dimensional mesh is also expressed as a texture.

[00209] For example, attribute information can indicate a color, a reflectance, or a normal vector with respect to a vertex, an edge, or a face. An orientation of a normal vector can express the front and back of a face. Petition 870250078626, dated 03 / 09 / 2025, pp. 166 / 277 43 / 108

[00210] An object file or similar can be used as a mesh data file format.

[00211] Figure 16 is a conceptual diagram illustrating an example of a data file for mesh data according to the present embodiment. In the example, a data file includes position information portions G(1) to G(N) and attribute information portions A1(1) to A1(N) of a number N of vertices which constitute a three-dimensional mesh. Furthermore, in the example, a number M of attribute information portions A2(1) to A2(M) are included. An attribute information item need not correspond one-to-one to a vertex and need not correspond one-to-one to a face. Furthermore, attribute information does not need to exist.

[00212] Connection information is indicated by a combination of vertex indices. n [1, 3, 4] indicates a face of a triangle consisting of three vertices n = 1, n = 3 and n = 4. Furthermore, m [2, 4, 6] indicates that portions of attribute information m = 2, m = 4 and m = 6 respectively correspond to the three vertices.

[00213] Furthermore, substantive content of attribute information can be described in a separate file. Moreover, a pointer relative to the content can be associated with a vertex, a face, or similar. For example, attribute information indicating an image relative to a face can be stored in a two-dimensional attribute map file. Additionally, an attribute map filename and a two-dimensional coordinate value in the attribute map can be described in attribute information portions A2(1) to A2(M). The methods for assigning attribute information relative to a face are not limited to these methods, and any type of method can be used.

[00214] Figure 17 is a conceptual diagram illustrating a type of three-dimensional data according to the present embodiment. Data Petition 870250078626, dated 03 / 09 / 2025, pp. 167 / 277 44 / 108 point cloud and mesh data can indicate a static object or a dynamic object. A static object is an object that does not change over time, and a dynamic object is an object that changes over time. A static object can correspond to three-dimensional data relative to an arbitrary point in time.

[00215] For example, point cloud data relative to an arbitrary time point can be expressed as a PCC frame. Furthermore, mesh data relative to an arbitrary time point can be expressed as a mesh frame. Moreover, a PCC frame and a mesh frame can simply be expressed as a frame.

[00216] Furthermore, an object's area can be limited to a certain range in a manner similar to ordinary video data, or it doesn't need to be limited in a manner similar to map data. Moreover, a density of points or faces can be defined in several ways. Sparse point cloud data or sparse mesh data can be used, or dense point cloud data or dense mesh data can be used.

[00217] Next, the encoding and decoding of a point cloud or a three-dimensional mesh will be described. A device, processing, or syntax for encoding and decoding vertex information of a three-dimensional mesh, according to the present description, can be applied to the encoding and decoding of a point cloud. A device, processing, or syntax for encoding and decoding a point cloud according to the present description can be applied to the encoding and decoding of vertex information of a three-dimensional mesh.

[00218] In addition, a device, processing, or syntax for encoding and decoding attribute information from a point cloud, according to the present description, may be applied to the code. Petition 870250078626, dated 03 / 09 / 2025, pp. 168 / 277 45 / 108 encoding and decoding of connection information or attribute information of a three-dimensional mesh. Furthermore, a device, processing, or syntax for encoding and decoding connection information or attribute information of a three-dimensional mesh, according to the present description, can be applied to the encoding and decoding of attribute information of a point cloud.

[00219] Furthermore, at least some of the processing can be shared between the encoding and decoding of point cloud data and the encoding and decoding of mesh data. Consequently, the sizes of circuits and software programs can be reduced.

[00220] Figure 18 is a block diagram illustrating an example configuration of the three-dimensional data encoder 113, according to the present embodiment. In this example, the three-dimensional data encoder 113 includes the vertex information encoder 121, the attribute information encoder 122, the metadata encoder 123, and the multiplexer 124. The vertex information encoder 121, the attribute information encoder 122, and the multiplexer 124 may correspond to the vertex information encoder 101, the attribute information encoder 103, the postprocessor 105, and similar encoders illustrated in Figure 6.

[00221] Furthermore, in this example, the three-dimensional data encoder 113 encodes three-dimensional data according to a geometry-based encoding system. Encoding according to the geometry-based encoding system takes into account a three-dimensional structure. Moreover, in encoding according to the geometry-based encoding system, attribute information is encoded using configuration information obtained during vertex information encoding.

[00222] Specifically, first, the vertex information, the Petition 870250078626, dated 03 / 09 / 2025, pp. 169 / 277 46 / 108 attribute information and metadata included in three-dimensional data generated from sensor data are, respectively, inserted into vertex information encoder 121, attribute information encoder 122, and metadata encoder 123. In this case, connection information included in three-dimensional data can be treated similarly to attribute information. Furthermore, in the case of point cloud data, position information can be treated as vertex information.

[00223] Vertex information encoder 121 encodes vertex information into compressed vertex information and sends the compressed vertex information to multiplexer 124 as encoded data. Furthermore, vertex information encoder 121 generates metadata from the compressed vertex information and sends the metadata to multiplexer 124. Moreover, vertex information encoder 121 generates configuration information and sends the configuration information to attribute information encoder 122.

[00224] The attribute information encoder 122 encodes attribute information into compressed attribute information using configuration information generated by the vertex information encoder 121 and outputs the compressed attribute information to the multiplexer 124 as encoded data. Additionally, the attribute information encoder 122 generates metadata from the compressed attribute information and outputs the metadata to the multiplexer 124.

[00225] Metadata encoder 123 encodes compressible metadata into compressed metadata and outputs the compressed metadata to multiplexer 124 as encoded data. The metadata encoded by metadata encoder 123 can be used to encode vertex information and encode information of Petition 870250078626, dated 03 / 09 / 2025, pp. 170 / 277 47 / 108 attribute.

[00226] The 124 multiplexer multiplexes the compressed vertex information, the metadata of the compressed vertex information, the compressed attribute information, the metadata of the compressed attribute information, and the compressed metadata into a bitstream. Furthermore, the 124 multiplexer outputs the bitstream to a system layer.

[00227] Figure 19 is a block diagram illustrating an example configuration of the three-dimensional data decoder 213 according to the present embodiment. In this example, the three-dimensional data decoder 213 includes the vertex information decoder 221, the attribute information decoder 222, the metadata decoder 223, and the demultiplexer 224. The vertex information decoder 221, the attribute information decoder 222, and the demultiplexer 224 may correspond to the vertex information decoder 201, the attribute information decoder 203, the preprocessor 204, and similar ones illustrated in Figure 8.

[00228] Furthermore, in this example, the three-dimensional data decoder 213 decodes three-dimensional data according to a geometry-based encoding system. Decoding according to the geometry-based encoding system takes into account a three-dimensional structure. Moreover, in decoding according to the geometry-based encoding system, attribute information is decoded using configuration information obtained during the decoding of vertex information.

[00229] Specifically, first, a bitstream is inserted from a system layer into the 224 demultiplexer. The 224 demultiplexer separates the compressed vertex information, the metadata from the compressed vertex information, the attribute information with Petition 870250078626, dated 03 / 09 / 2025, pp. 171 / 277 48 / 108 compressed, the compressed attribute information metadata and the compressed bitstream metadata. The compressed vertex information and the compressed vertex information metadata are inserted into vertex information decoder 221. The compressed attribute information and the compressed attribute information metadata are inserted into attribute information decoder 222. The metadata is inserted into metadata decoder 223.

[00230] Vertex Information Decoder 221 decodes vertex information from compressed vertex information using metadata from the compressed vertex information. Additionally, Vertex Information Decoder 221 generates configuration information and sends the configuration information to Attribute Information Decoder 222. Attribute Information Decoder 222 decodes attribute information from compressed attribute information using the configuration information generated by Vertex Information Decoder 221 and the metadata from the compressed attribute information. Metadata Decoder 223 decodes metadata from compressed metadata. The metadata decoded by Metadata Decoder 223 can be used to decode vertex information and decode attribute information.

[00231] Subsequently, vertex information, attribute information, and metadata are output from the three-dimensional data decoder 213 as three-dimensional data. For example, metadata is metadata of vertex information and attribute information and can be used in an application program.

[00232] Figure 20 is a block diagram illustrating another example of the configuration of the three-dimensional data encoder 113 according to the present embodiment. In this example, the encoder Petition 870250078626, dated 03 / 09 / 2025, pp. 172 / 277 49 / 108 of three-dimensional data 113 includes vertex image generator 131, attribute image generator 132, metadata generator 133, video encoder 134, metadata encoder 123, and multiplexer 124. Vertex image generator 131, attribute image generator 132, and video encoder 134 may correspond to vertex information encoder 101, attribute information encoder 103, and similar encoders illustrated in Figure 6.

[00233] Furthermore, in this example, the three-dimensional data encoder 113 encodes three-dimensional data according to a video-based encoding system. In encoding according to the video-based encoding system, a plurality of two-dimensional images is generated from three-dimensional data, and the plurality of two-dimensional images is encoded according to a video encoding system. In this case, the video encoding system can be HEVC (High Efficiency Video Coding), VVC (Versatile Video Coding), or similar.

[00234] Specifically, first, vertex information and attribute information included in the three-dimensional data generated from sensor data are entered into metadata generator 133. Furthermore, vertex information and attribute information are respectively entered into vertex image generator 131 and attribute image generator 132. Moreover, metadata included in the three-dimensional data is entered into metadata encoder 123. In this case, connection information included in the three-dimensional data can be treated in a similar way to attribute information. Additionally, in the case of point cloud data, position information can be treated as vertex information.

[00235] Metadata generator 133 generates map information from a plurality of two-dimensional images of verti information Petition 870250078626, dated 03 / 09 / 2025, pp. 173 / 277 50 / 108 ce and attribute information. In addition, metadata generator 133 inserts map information into vertex image generator 131, attribute image generator 132, and metadata encoder 123.

[00236] The vertex image generator 131 generates a vertex image based on vertex information and map information and inserts the vertex image into the video encoder 134. The attribute image generator 132 generates an attribute image based on attribute information and map information and inserts the attribute image into the video encoder 134.

[00237] Video encoder 134 respectively encodes the vertex image and the attribute image into compressed vertex information and compressed attribute information, according to the video coding system, and outputs the compressed vertex information and the compressed attribute information to multiplexer 124 as encoded data. In addition, video encoder 134 generates metadata from the compressed vertex information and metadata from the compressed attribute information and outputs the metadata portions to multiplexer 124.

[00238] Metadata encoder 123 encodes compressible metadata into compressed metadata and outputs the compressed metadata to multiplexer 124 as encoded data. Compressible metadata includes map information. In addition, metadata encoded by metadata encoder 123 can be used to encode vertex information and to encode attribute information.

[00239] The 124 multiplexer multiplexes the compressed vertex information, the compressed vertex information metadata, the compressed attribute information, the compressed attribute information metadata, and the compressed metadata into a Petition 870250078626, dated 03 / 09 / 2025, pp. 174 / 277 51 / 108 bit stream. Additionally, the 124 multiplexer inserts the bit stream into a system layer.

[00240] Figure 21 is a block diagram illustrating another example of a configuration of the three-dimensional data decoder 213, according to the present embodiment. In this example, the three-dimensional data decoder 213 includes the vertex information generator 231, the attribute information generator 232, the video decoder 234, the metadata decoder 223, and the demultiplexer 224. The vertex information generator 231, the attribute information generator 232, and the video decoder 234 may correspond to the vertex information decoder 201, the attribute information decoder 203, and similar ones illustrated in Figure 8.

[00241] Furthermore, in this example, the three-dimensional data decoder 213 decodes three-dimensional data according to a video-based encoding system. In decoding according to the video-based encoding system, a plurality of two-dimensional images is decoded according to a video encoding system, and three-dimensional data is generated from the plurality of two-dimensional images. In this case, the video encoding system can be HEVC (High Efficiency Video Coding), VVC (Versatile Video Coding), or similar.

[00242] Specifically, first, a bitstream is inserted from a system layer into the 224 demultiplexer. The 224 demultiplexer separates the compressed vertex information, the metadata of the compressed vertex information, the compressed attribute information, the metadata of the compressed attribute information, and the compressed metadata from the bitstream. The compressed vertex information, the metadata of the compressed vertex information, the compressed attribute information, and the metadata of the compressed vertex information Petition 870250078626, dated 03 / 09 / 2025, pages 175 / 277 52 / 108 compressed attribute data is inserted into the video decoder 234. Compressed metadata is inserted into the metadata decoder 223.

[00243] Video decoder 234 decodes a vertex image according to the video coding system. In doing so, video decoder 234 decodes the vertex image from compressed vertex information, using the metadata of the compressed vertex information. Furthermore, video decoder 234 inserts the vertex image into vertex information generator 231. Moreover, video decoder 234 decodes an attribute image according to the video coding system. In doing so, video decoder 234 decodes the attribute image from compressed attribute information, using the metadata of the compressed attribute information. Furthermore, video decoder 234 inserts the attribute image into attribute information generator 232.

[00244] Metadata decoder 223 decodes metadata from compressed metadata. The metadata decoded by metadata decoder 223 includes map information to be used to generate vertex information and to generate attribute information. In addition, the metadata decoded by metadata decoder 223 can be used to decode the vertex image and to decode the attribute image.

[00245] Vertex information generator 231 reproduces vertex information from the vertex image according to the map information included in the metadata decoded by metadata decoder 223. Attribute information generator 232 reproduces attribute information from the attribute image according to the map information included in the metadata decoded by metadata decoder 223. Petition 870250078626, dated 03 / 09 / 2025, pp. 176 / 277 53 / 108

[00246] Subsequently, vertex information, attribute information, and metadata are output from the three-dimensional data decoder 213 as three-dimensional data. For example, metadata is metadata of vertex information and attribute information and can be used in an application program.

[00247] Figure 22 is a conceptual diagram illustrating a specific example of coding processing according to the present embodiment. Figure 22 illustrates the three-dimensional data encoder 113 and the description encoder 148. In this example, the three-dimensional data encoder 113 includes the two-dimensional data encoder 141 and the mesh data encoder 142. The two-dimensional data encoder 141 includes the texture encoder 143. The mesh data encoder 142 includes the vertex information encoder 144 and the connection information encoder 145.

[00248] Vertex information encoder 144, connection information encoder 145, and texture encoder 143 may correspond to vertex information encoder 101, connection information encoder 102, attribute information encoder 103, and similar encoders illustrated in Figure 6.

[00249] For example, the two-dimensional data encoder 141 operates as a texture encoder 143 and generates a texture file by encoding a texture that matches the attribute information as two-dimensional data, according to an image encoding system or a video encoding system.

[00250] In addition, mesh data encoder 142 operates as a vertex information encoder 144 and a connection information encoder 145 and generates a mesh file encoding vertex information and connection information. Mesh data encoder 142 can also encode mapping information relative to a texture. Mapping information coPetition 870250078626, dated 03 / 09 / 2025, page 177 / 277 54 / 108 codes can be included in a mesh file.

[00251] In addition, description encoder 148 generates a description file by encoding a description that corresponds to metadata, such as text data. Description encoder 148 can encode a description at the system layer. For example, description encoder 148 can be included in system multiplexer 114 illustrated in Figure 12.

[00252] Due to the operation described above, a bitstream that includes a texture file, a mesh file, and a description file is generated. The files can be multiplexed into the bitstream in a file format such as gITF (Graphics Broadcast Language Format) or USD (Universal Scene Description).

[00253] Note that the three-dimensional data encoder 113 can include two mesh data encoders like the mesh data encoder 142. For example, one mesh data encoder encodes vertex information and connection information of a static three-dimensional mesh, and the other mesh data encoder encodes vertex information and connection information of a dynamic three-dimensional mesh.

[00254] In addition, two mesh files can be included in the bitstream in order to correspond to three-dimensional meshes. For example, one mesh file corresponds to the static three-dimensional mesh and the other mesh file corresponds to the dynamic three-dimensional mesh.

[00255] Furthermore, the static three-dimensional mesh can be an intra-frame three-dimensional mesh which is encoded using intraprediction, and the dynamic three-dimensional mesh can be an inter-frame three-dimensional mesh which is encoded using interprediction. Additionally, as information from the dynamic three-dimensional mesh, difference information between vertex information or information Petition 870250078626, dated 03 / 09 / 2025, pp. 178 / 277 55 / 108 intra-frame three-dimensional mesh connection and vertex information or inter-frame three-dimensional mesh connection information can be used.

[00256] Figure 23 is a conceptual diagram illustrating a specific example of decoding processing according to the present embodiment. Figure 23 illustrates the three-dimensional data decoder 213, the description decoder 248, and the presenter 247. In this example, the three-dimensional data decoder 213 includes the two-dimensional data decoder 241, the mesh data decoder 242, and the mesh reconstructor 246. The two-dimensional data decoder 241 includes the texture decoder 243. The mesh data decoder 242 includes the vertex information decoder 244 and the connection information decoder 245.

[00257] The vertex information decoder 244, the connection information decoder 245, the texture decoder 243, and the mesh reconstructor 246 may correspond to the vertex information decoder 201, the connection information decoder 202, the attribute information decoder 203, the postprocessor 205, and similar devices illustrated in Figure 8. The presenter 247 may correspond to the presenter 215 and similar devices illustrated in Figure 12.

[00258] For example, the two-dimensional data decoder 241 operates as a texture decoder 243 and decodes a texture that matches the attribute information of a texture file as two-dimensional data, according to an image coding system or a video coding system.

[00259] In addition, mesh data decoder 242 operates as a vertex information decoder 244 and a connection information decoder 245 and decodes vertex and connection information. Petition 870250078626, dated 03 / 09 / 2025, pp. 179 / 277 56 / 108 mesh file connection formations. The 242 mesh data decoder can also decode mapping information relative to a mesh file texture.

[00260] Furthermore, description decoder 248 decodes a description that corresponds to metadata, such as text data, from a description file. Description decoder 248 can decode a description at the system layer. For example, description decoder 248 can be included in system demultiplexer 214 illustrated in Figure 12.

[00261] Mesh reconstructor 246 reconstructs a three-dimensional mesh of vertex information, connection information, and a texture, according to a description. Presenter 247 renders and outputs the three-dimensional mesh according to the description.

[00262] Due to the operation described above, a three-dimensional mesh is reconstructed and output from a bitstream that includes a texture file, a mesh file, and a description file.

[00263] Note that the three-dimensional data decoder 213 may include two mesh data decoders like the mesh data decoder 242. For example, one mesh data decoder decodes vertex information and connection information from a static three-dimensional mesh, and the other mesh data decoder decodes vertex information and connection information from a dynamic three-dimensional mesh.

[00264] In addition, two mesh files can be included in the bitstream in order to correspond to the three-dimensional meshes. For example, one mesh file corresponds to the static three-dimensional mesh and the other mesh file corresponds to the dynamic three-dimensional mesh.

[00265] Furthermore, the static three-dimensional mesh can be an intraframe three-dimensional mesh which is encoded using intra Petition 870250078626, dated 03 / 09 / 2025, pp. 180 / 277 57 / 108 prediction, and the dynamic three-dimensional mesh can be an inter-frame three-dimensional mesh which is encoded using interprediction. Furthermore, as information from the dynamic three-dimensional mesh, difference information between the vertex information or connection information of the intra-frame three-dimensional mesh and the vertex information or connection information of the inter-frame three-dimensional mesh can be used.

[00266] A dynamic three-dimensional mesh coding system can be called DMC (dynamic mesh coding). Furthermore, a video-based dynamic three-dimensional mesh coding system can be called VDMC (video-based dynamic mesh coding).

[00267] A point cloud coding system may be called PCC (point cloud compression). A video-based point cloud coding system may be called V-PCC (video-based point cloud compression). Furthermore, a geometry-based point cloud coding system may be called G-PCC (geometry-based point cloud compression). Example of Implementation

[00268] Figure 24 is a block diagram illustrating an example of the implementation of encoding device 100 according to the present embodiment. Encoding device 100 includes circuit 151 and memory 152. For example, a plurality of constituent elements of encoding device 100 illustrated in Figure 5 and similar ones are implemented by circuit 151 and memory 152 illustrated in Figure 24.

[00269] Circuit 151 is a circuit that performs information processing and is capable of accessing memory 152. For example, circuit 151 is a dedicated or general-purpose electrical circuit. Petition 870250078626, dated 03 / 09 / 2025, pp. 181 / 277 58 / 108 which encodes a three-dimensional mesh. Circuit 151 can be a processor, as well as a CPU. Alternatively, circuit 151 can be a set of multiple electrical circuits.

[00270] Memory 152 is a dedicated or general-purpose memory that stores information used by circuit 151 to encode a three-dimensional mesh. Memory 152 can be an electrical circuit and can be connected to circuit 151. Furthermore, memory 152 can be included within circuit 151. Alternatively, memory 152 can be an assembly of multiple electrical circuits. Moreover, memory 152 can be a magnetic disk, an optical disk, or similar, or can be expressed as storage, recording media, or similar. Additionally, memory 152 can be non-volatile or volatile memory.

[00271] For example, memory 152 can store a three-dimensional mesh or a bit stream. Additionally, memory 152 can store a program used by circuit 151 to encode a three-dimensional mesh.

[00272] Note that, in encoding device 100, the entire plurality of constituent elements illustrated in Figure 5 and similar figures do not need to be implemented, and the entire plurality of processing steps described herein do not need to be executed. A portion of the plurality of constituent elements illustrated in Figure 5 and similar figures may be included in another device, and a portion of the plurality of processing steps described herein may be executed by another device. Furthermore, a plurality of constituent elements, according to the present description, may optionally be combined and implemented, or a plurality of processing steps, according to the present description, may optionally be combined and executed in encoding device 100.

[00273] Figure 25 is a block diagram that illustrates an example Petition 870250078626, dated 03 / 09 / 2025, pp. 182 / 277 59 / 108 Example of implementation of the decoding device 200 according to the present embodiment. The decoding device 200 includes circuit 251 and memory 252. For example, a plurality of constituent elements of the decoding device 200 illustrated in Figure 7 and similar ones are implemented by circuit 251 and memory 252 illustrated in Figure 25.

[00274] Circuit 251 is a circuit that performs information processing and is capable of accessing memory 252. For example, circuit 251 is a dedicated or general-purpose electrical circuit that decodes a three-dimensional mesh. Circuit 251 can be a processor, as well as a CPU. Alternatively, circuit 251 can be an assembly of a plurality of electrical circuits.

[00275] Memory 252 is a dedicated or general-purpose memory that stores information used by circuit 251 to decode a three-dimensional mesh. Memory 252 can be an electrical circuit and can be connected to circuit 251. Furthermore, memory 252 can be included within circuit 251. Alternatively, memory 252 can be an assembly of multiple electrical circuits. Moreover, memory 252 can be a magnetic disk, an optical disk, or similar, or can be expressed as storage, recording media, or similar. Additionally, memory 252 can be non-volatile or volatile memory.

[00276] For example, memory 252 can store a three-dimensional mesh or a bit stream. Additionally, memory 252 can store a program used by circuit 251 to decode a three-dimensional mesh.

[00277] Note that, in decoding device 200, the plurality of constituent elements illustrated in Figure 7 and similar ones do not need to be implemented, and the plurality of processing steps described here do not need to be executed. A pair Petition 870250078626, dated 03 / 09 / 2025, pp. 183 / 277 60 / 108 of the plurality of constituent elements illustrated in Figure 7 and similar ones may be included in another device, and a portion of the plurality of processing steps described herein may be performed by another device. Furthermore, a plurality of constituent elements, according to the present description, may optionally be combined and implemented, or a plurality of processing steps, according to the present description, may optionally be combined and performed in the decoding device 200.

[00278] An encoding method and a decoding method, including steps performed by each constituent element of the encoding device 100 and the decoding device 200, according to the present description, can be performed by any device or system. For example, part or all of the encoding method and the decoding method can be performed by a computer that includes a processor, memory, an input / output circuit, and the like. In doing so, the encoding method and the decoding method can be performed by having the computer run a program that enables the computer to perform the encoding method and the decoding method.

[00279] In addition, a program or bitstream can be recorded on a non-transient, computer-readable recording medium, such as a CD-ROM.

[00280] An example of a program might be a bitstream. For example, a bitstream that includes an encoded three-dimensional mesh includes a syntax element that allows the decoding device 200 to decode the three-dimensional mesh. Furthermore, the bitstream causes the decoding device 200 to decode the three-dimensional mesh according to the syntax element included in the bitstream. Therefore, a bitstream can perform a function similar to that of a program. Petition 870250078626, dated 03 / 09 / 2025, pp. 184 / 277 61 / 108

[00281] The bit stream described above may be an encoded bit stream, including an encoded three-dimensional mesh, or a multiplexed bit stream, including an encoded three-dimensional mesh and other information.

[00282] Furthermore, each constituent element of the encoding device 100 and the decoding device 200 may consist of dedicated hardware, general-purpose hardware which executes the program or similar described above, or a combination thereof. Moreover, the general-purpose hardware may consist of a memory in which a program is stored, a general-purpose processor which reads the program from memory and executes the program, and similar devices. In this case, the memory may be a semiconductor memory, a hard disk or similar, and the general-purpose processor may be a CPU or similar.

[00283] Furthermore, dedicated hardware can consist of memory, a dedicated processor, and similar components. For example, the dedicated processor can perform the encoding method and the decoding method, referring to memory for data storage.

[00284] Furthermore, as described above, the respective constituent elements of the encoding device 100 and the decoding device 200 may be electrical circuits. The electrical circuits may constitute an electrical circuit as a whole or may be different electrical circuits, respectively. Moreover, the electrical circuits may correspond to dedicated hardware or general-purpose hardware which executes the program or similar described above. Furthermore, the encoding device 100 and the decoding device 200 may be implemented as integrated circuits.

[00285] In addition, the encoding device 100 can be a transmitting device which transmits a three-dimensional mesh. The Petition 870250078626, dated 03 / 09 / 2025, pp. 185 / 277 62 / 108 decoding device 200 can be a receiving device which receives a three-dimensional mesh. Entropy Encoding and Entropy Decoding

[00286] A three-dimensional model digitally represents an object in such a way that a user can explore the model three-dimensionally by zooming, panning, and rotating, while temporarily rendering the model. One method for constructing such a representation is to build a three-dimensional mesh with polygons. The model stores the positions of the polygon vertices, the connectivity of the vertices, and the attributes associated with the vertices (such as normal and UV spots). The polygons are triangles or rectangles, for example.

[00287] To store all these information items in an uncompressed mode, a vast storage area is required and therefore a vast bandwidth is needed for transmission. Polygons that form a mesh, specifically polygons in temporal or spatial proximity to each other, often have repetitive patterns and similar attributes. Such repetition can be used to plan efficient encoding and decoding methods for storage and transmission.

[00288] Figure 26 is a block diagram illustrating another example of a modality-specific encoding / decoding system configuration. As illustrated in Figure 26, the encoding / decoding system includes a pair of encoding devices 100 and decoding devices 200. The encoding / decoding system receives a three-dimensional mesh frame that is fed into the form of three-dimensional vertex coordinates (vertex information), connectivity (connection information), and associated attributes (attribute information).

[00289] The encoding device 100 encodes all the information Petition 870250078626, dated 03 / 09 / 2025, pages 186 / 277 63 / 108 associated tions in a bitstream (compressed bitstream). The bitstream can be formed by a plurality of bitstreams. The bitstream is transmitted to the decoding device 200 through a transmission path. The decoding device 200 decodes the bitstream and generates a three-dimensional model (three-dimensional mesh) of the decoded three-dimensional vertex coordinates, connectivity, and associated attributes.

[00290] Figure 27 is a block diagram illustrating another example of configuring encoding device 100 according to the modality. In this example, encoding device 100 includes preprocessor 521 and encoding processor 522.

[00291] Preprocessor 521 reads a three-dimensional mesh, processes the three-dimensional mesh, extracts a base mesh, a displacement vector, texture data, and an attribute map, and passes the base mesh, displacement vector, texture data, and attribute map to encoding processor 522. Encoding processor 522 separately compresses the base mesh, displacement vector, texture data, and attribute map, and combines them to generate a bitstream.

[00292] Figure 28 is a block diagram illustrating another example of the decoding device 200 configuration according to the mode. In this example, the decoding device 200 includes the decoding processor 622 and the post-processor 623.

[00293] The 622 decoding processor reads a bitstream, separates a base mesh, a displacement vector, texture data, and an attribute map from the bitstream, separately decodes them, and passes them to the 623 postprocessor. The 623 postprocessor processes the base mesh according to the displacement vector and the attribute map to generate a three-dimensional mesh. Petition 870250078626, dated 03 / 09 / 2025, pp. 187 / 277 64 / 108

[00294] In the encoding method, for example, the original three-dimensional mesh is first decimated to obtain a base mesh that includes fewer vertices. In the base mesh, a vertex does not need to be located in its original position, and vertex connectivity may change as a result of decimation.

[00295] After this, a plurality of new vertices is repeatedly added between the existing vertices connected in the base mesh to segment the base mesh. Then, a displacement vector between the segmented three-dimensional mesh and the input three-dimensional mesh is calculated. The displacement vector is used in the decoding device 200 so that the segmented vertices are located in the predicted positions.

[00296] This information is transformed into a wavelet coefficient through wavelet transformation and encoded using a video codec, mapping a coefficient onto a plane of a video frame. A three-dimensional mesh texture and a map to combine all the information for reconstruction are separately encoded and then combined into a bitstream.

[00297] The decoding device 200 first decodes a base mesh. A plurality of new vertices is repeatedly added between the existing connected vertices in the base mesh to segment the base mesh. Then, all vertices and connectivity are obtained. The vertices may be located in different positions from the corresponding vertices in the input three-dimensional mesh.

[00298] Then, a wavelet coefficient is decoded by a video decoder and an inverse wavelet transformation is applied to reconstruct a displacement vector. Using this information, the vertices are placed in predicted positions, the texture is mapped onto a plane created based on the vertices and the connection. Petition 870250078626, dated 03 / 09 / 2025, page 188 / 277 65 / 108 activity of the same, and, through this, the three-dimensional mesh is completely decoded.

[00299] Recent developments in the acquisition, modeling, and rendering of three-dimensional data are promoting applications related to three-dimensional content for various platforms and devices. Three-dimensional media is a very convenient method for a highly immersive user experience in applications such as digital entertainment, healthcare, and robotics.

[00300] A three-dimensional mesh is used to render immersive media, for example, and is formed by several polygons that represent a boundary face of a volumetric object. Each polygon includes vertices in a three-dimensional space and connection information that defines a way of connecting the vertices. Optionally, the three-dimensional mesh can include an attribute, such as color, normal, and material property.

[00301] A dynamic mesh is a type of mesh in which at least one of the connection information, geometry information, mapping information, a vertex attribute, and an attribute map changes over time. The dynamic mesh is formed by a vast amount of data that changes over time, so mass storage may be necessary. Therefore, to properly store and transmit such data, an efficient compression solution is essential.

[00302] A method referred to as Edgebreaker is a method of encoding a three-dimensional mesh in which the individual meshes are triangles. In this method, each triangle that forms a three-dimensional mesh is classified into five types C, L, E, R, and S according to the pattern of adjacent triangles, and the three-dimensional mesh is represented by a sequence of characters formed by a combination of C, L, E, R, and S. Here, S means division, E means end, and C, L Petition 870250078626, dated 03 / 09 / 2025, pp. 189 / 277 66 / 108 and R each signify the position of an adjacent triangle to be coded next.

[00303] Figure 29 is a conceptual diagram illustrating the five connection types according to this modality. The connection type indicates a connection relationship between a triangle to be processed and a triangle that has not yet been processed. Here, to be processed corresponds to to be visited, already processed corresponds to already visited, and not yet processed corresponds to not yet visited. Note that the vertices of a visited triangle can be considered as already visited. Furthermore, a space where there is no triangle and a vertex adjacent to the space can be considered as already visited.

[00304] In type S, along the path to the triangle to be processed in the processing order, a plurality of unprocessed triangles is separately connected to the triangle to be processed on both sides of it. In other words, a plurality of unprocessed triangles is connected to the triangle to be processed on both sides of it in split mode. For example, in type S, vertex v has already been visited. After the type S triangle is processed, the unprocessed triangle connected to the right side of the type S triangle is processed first. After this, specifically, after the type E triangle is processed, the unprocessed triangle connected to the left side of the type S triangle is processed.

[00305] In type C, along the path to the triangle to be processed in the processing order, a plurality of unprocessed triangles are connected to the triangle to be processed on both sides of it, without being separated. In other words, a plurality of unprocessed triangles are connected to the triangle to be processed on both sides of it, in Petition 870250078626, dated 03 / 09 / 2025, pp. 190 / 277 67 / 108 is an undivided mode. For example, in type C, vertex v has not yet been visited. After the type C triangle is processed, the unprocessed triangle connected to the right side of the type C triangle is processed.

[00306] In type L, along the path to the triangle to be processed in the processing order, any triangle not yet processed is not connected to the left side of the triangle to be processed, and a triangle not yet processed is connected to the right side of the triangle to be processed. For example, in type L, vertex v has already been visited. After the triangle of type L is processed, the triangle not yet processed connected to the right side of the triangle of type L is processed.

[00307] In type R, along the path to the triangle to be processed in the processing order, any triangle not yet processed is not connected to the right side of the triangle to be processed, and a triangle not yet processed is connected to the left side of the triangle to be processed. For example, in type R, vertex v has already been visited. After the triangle of type R is processed, the triangle not yet processed connected to the left side of the triangle of type R is processed.

[00308] In type E, along the path to the triangle to be processed in the processing order, any triangle not yet processed is not connected to the right and left sides of the triangle to be processed. For example, in type E, vertex v has already been visited. After the type E triangle is processed, for example, a triangle not yet processed connected to the left side of a type S triangle that has already been processed is processed. Alternatively, after the type E triangle is processed, the process terminates.

[00309] Figure 30 is a conceptual diagram that illustrates an example of the sequentially determined connection types of Petition 870250078626, dated 03 / 09 / 2025, pp. 191 / 277 68 / 108 according to this modality. As illustrated in Figure 30, the connection type of each of the plurality of triangles that form the three-dimensional mesh is sequentially determined as being any one of the plurality of types illustrated in Figure 29, and then encoding and decoding are performed. The connection type indicates a connection relationship between a plurality of triangles and can indicate the processing order of the plurality of triangles. Furthermore, the connection type can be used for reconstruction of the three-dimensional model.

[00310] Furthermore, types C, L, E, R, and S can be assigned bit patterns 0, 110, 111, 101, and 100, respectively. These bit patterns can be encoded. Moreover, with respect to the main triangle, in addition to type C, L, E, R, or S, information about each vertex of the main triangle (such as three-dimensional coordinate positions, texture map coordinate positions, and normal vectors) can be encoded. Furthermore, with respect to the type C triangle, information about a new additional vertex can be encoded, for example.

[00311] For example, Edgebreaker, according to the present description, can be used for encoding and decoding processing for a three-dimensional mesh, or it can be used for encoding and decoding processing for a base mesh illustrated in Figures 27 and 28. Specifically, the processing according to the present description can be applied to encoding and decoding processing of information indicating a connection relationship between a plurality of faces that are a plurality of polygons forming a three-dimensional mesh.

[00312] Figure 31 is a flowchart that illustrates the encoding and decoding processes for a type of Petition 870250078626, dated 03 / 09 / 2025, pp. 192 / 277 69 / 108 connection according to this modality. Specifically, Figure 31 illustrates an example of a (C, L, E, R, or S) type encoding method associated with each triangle that forms a three-dimensional mesh based on triangles. Here, the encoding is entropy encoding, such as arithmetic encoding or Huffman encoding.

[00313] In this method, the value of the prev variable is defined according to the type of connection encoded immediately before the current connection type. Then, according to prev, a parameter that controls the entropy encoding of the triangle connection type is determined. Then, according to the determined parameter, the entropy encoding of the connection type to be encoded is performed.

[00314] Specifically, first, prev is set to an initial value (0, for example) (S101). Then, the entropy encoding of the connection type of each triangle is repeated (S102 to S109). Here, a parameter to control the entropy encoding of the triangle connection type is determined according to prev, and the entropy encoding of the connection type to be encoded is performed (S103).

[00315] For example, when arithmetic coding is used for entropy coding, a context used to determine a predicted probability of occurrence of information to be coded is determined from a plurality of contexts according to prev. Alternatively, when Huffman coding is used for entropy coding, a codeword table used for coding is determined from a plurality of codeword tables according to prev.

[00316] According to the type of encoded connection, then, the value of prev used to control the entropy encoding of the next type of connection to be encoded is defined (S104 to S107). Specifically, first, whether the encoded connection type is of type S or not is determined. When the encoded connection type is of type S (Yes Petition 870250078626, dated 03 / 09 / 2025, pp. 193 / 277 70 / 108 in S104), prev is set to 1 (S106).

[00317] When the encoded connection type is not of type S (No in S104: the encoded connection type is any of C, R, L, and E), whether the encoded connection type is of type E or not is determined (S105). When the encoded connection type is of type E (Yes in S105), prev is set to 2 (S107). When the encoded connection type is not of type E (No in S105: the encoded connection type is any of C, R, and L), prev is set to 0 (S108).

[00318] As a result of the tests, the inventors made a new discovery that the probability trend of occurrence of each type encoded immediately after the S or E type encoding is different from the probability trend of occurrence of each type encoded immediately after the C, R, or L type. Therefore, by switching the entropy encoding control according to the connection type encoded immediately before the current connection type, as described above, the entropy encoding efficiency may be able to be improved.

[00319] Note that Figure 31 illustrates an example in which the connection type is classified into three groups, one group of type S, one group of type E, and one group of types C, R, and L, to switch the entropy encoding control. However, the context can be determined for each of the five types.

[00320] Furthermore, in the example in Figure 31, the determination and configuration relating to type E (S105 and S107) can be omitted. In this case, the connection type can be classified into two groups, one group of type S and one group of types C, R, L and E, to switch the entropy encoding control.

[00321] In this way, encoding efficiency can be improved compared to the case where there is only one group, and memory usage can be reduced compared to the case Petition 870250078626, dated 03 / 09 / 2025, pp. 194 / 277 71 / 108 where there are three groups.

[00322] Furthermore, in Figure 31, the value of prev is set to any of 0, 1, and 2, according to the type of encoded connection. However, another method can be used, in which three groups, one group of type S, one group of type E, and one group of types C, R, and L, can be distinguished to switch the entropy encoding control.

[00323] Furthermore, although the entropy encoding control is toggled in the description above, encoding can be interchanged with decoding, and the entropy decoding control can be toggled.

[00324] Furthermore, in the description above, the context of the arithmetic encoding is selected according to the type associated with the triangle processed immediately before the triangle to be processed. However, the context selection is not limited to this example. Specifically, the context selection is not limited to selection according to the immediately preceding type, and the parameter for entropy encoding or entropy decoding of the connection information to be processed can be determined according to the encoded or decoded connection information (connection information).

[00325] Encoded or decoded connection information can be connection information from the encoded or decoded polygon immediately preceding the current polygon. Furthermore, entropy encoding or entropy decoding can be arithmetic encoding or arithmetic decoding, and in this case, the parameter can be the context or a parameter to derive the context.

[00326] In an example of context selection, a first context can be used when the connection information of the encoded or decoded polygon immediately before the colored polygon Petition 870250078626, dated 03 / 09 / 2025, pp. 195 / 277 72 / 108 current is not a type that indicates a division. And when the connection information of the encoded or decoded polygon immediately before the current polygon is a type that indicates a division, a second context can be used.

[00327] In other words, for the polygon to be processed, the context can be determined based on whether the type of connection information of a processed polygon at a predetermined position is a type that indicates a division. Alternatively, for the polygon to be processed, the context can be determined based on whether the type of connection information of a processed polygon at a predetermined position is a type that indicates an end.

[00328] Furthermore, determining the context based on the type of polygon being processed can be switched. Moreover, the type of connection used as a determining criterion can be switched. In this case, a parameter can be coded that indicates whether switching is appropriate or not, the context to be selected, or the connection type of the polygon associated with the context, for example.

[00329] Furthermore, the processing sequence, which includes determinations and configurations, can be changed, or part of the processing can be omitted. For example, the determination of type S (S104) and the determination of type E (S105) can be interchanged, or one of the determinations can be omitted.

[00330] Figure 32 is a flowchart illustrating a first specific example of connection type coding according to this modality. Specifically, Figure 32 illustrates an example of the coding processing (S103) in Figure 31. In this example, types C, L, E, R, and S are assigned with bit patterns 0, 110, 111, 101, and 100, respectively, and entropy coding is performed starting from the most significant bit.

[00331] First, if the type of triangle connection to be encoded Petition 870250078626, dated 03 / 09 / 2025, pp. 196 / 277 73 / 108 is of type C is determined (S201). When the connection type is of type C (Yes in S201), 0 is encoded as the value of the first bit b0 by entropy encoding according to prev (S202). When the connection type is not of type C (No in S201: the connection type is any one of L, E, R and S), 1 is encoded as the value of the first bit b0 by entropy encoding according to prev (S203).

[00332] So, if the type of triangle connection to be encoded is one of types R and S, it is determined. When the connection type is one of types R and S (Yes in S204), 0 is encoded as the value of the second bit b1 by entropy encoding according to prev (S205).

[00333] So, if the type of triangle connection to be encoded is of type S, it is determined (S207). When the connection type is of type S (Yes in S207), 0 is encoded as the value of the third bit b2 by entropy encoding according to prev (S211). When the connection type is not of type S (No in S207: the connection type is R), 1 is encoded as the value of the third bit b2 by entropy encoding according to prev (S209).

[00334] When the connection type is not one of types R and S (Not in S204: the connection type is L or E), 1 is encoded as the value of the second bit b1 by entropy encoding according to prev S206.

[00335] So, if the type of triangle connection to be encoded is of type L, it is determined (S208). When the connection type is of type L (Yes in S208), 0 is encoded as the value of the third bit b2 by entropy encoding according to prev (S212). When the connection type is not of type L (No in S208: the connection type is E), 1 is encoded as the value of the third bit b2 by entropy encoding according to prev (S210).

[00336] Note that when arithmetic coding is used for entropy coding, the context used to determine the predicted probability of occurrence of information to be coded is Petition 870250078626, dated 03 / 09 / 2025, pp. 197 / 277 74 / 108 determined from a plurality of contexts according to prev. When Huffman coding is used for entropy coding, the codeword table used for coding is determined from a plurality of codeword tables according to prev.

[00337] Furthermore, in the entropy encoding of the value of the third bit b2 (S207 to S212), the context or codeword table can be determined according to the value of the second bit b1, in addition to prev.

[00338] The probability trend of occurrence of each type coded immediately after type S or E is different from the probability trend of occurrence of each type coded immediately after type C, R, or L. Therefore, as described above, the entropy coding control is switched according to the prev determined in the procedure of Figure 31. In this way, the coding efficiency of the entropy coding may be able to be improved.

[00339] Furthermore, the content of the event indicated by the value of the third bit b2 depends on the value of the second bit b1 (it is of type S or R when b1 = 0, and of type L or E when b1 = 1). Therefore, if the context or codeword table is determined according to the value of the second bit b1, in addition to prev in the entropy encoding of the value of the third bit b2, the encoding efficiency may be able to be further improved.

[00340] In the description above, encoding a bit can mean inserting a bit into an encoding machine. Furthermore, in the encoding machine, a plurality of bits can be compressed into fewer bits.

[00341] Figure 33 is a flowchart illustrating a first specific example of connection type decoding according to this modality. Specifically, Figure 33 illustrates an example of the decoding process (S103) in Figure 31. In this example, Petition 870250078626, dated 03 / 09 / 2025, pp. 198 / 277 75 / 108 The entropy decoding of the bit sequence encoded in the encoding method described above with reference to Figure 32 is performed, and the type of triangle connection to be decoded is defined for any of the types C, L, E, R, and S.

[00342] First, the value of the first bit b0 is decoded by entropy decoding according to prev (S301). Then, if the value of the first bit b0 is 0, it is determined (S302). When the value of the first bit b0 is 0 (Yes in S302), the type of triangle connection to be decoded is set to type C (S303).

[00343] When the value of the first bit b0 is not 0 (Not in S302), the value of the second bit b1 is decoded by entropy decoding according to prev (S304). Furthermore, the value of the third bit b2 is decoded by entropy decoding according to prev (S305). Then, the bit pattern of the second bit b1 and the third bit b2 is determined (S306 to S308). Then, according to the result of the determination, the type of triangle connection to be decoded is defined for any one of L, E, R and S (S309 to S312).

[00344] Specifically, when the value of the second bit b1 and the value of the third bit b2 are 0 and 0, respectively (Yes in S306 and Yes in S307), the connection type is set to type S (S311). When the value of the second bit b1 and the value of the third bit b2 are 0 and 1, respectively (Yes in S306 and No in S307), the connection type is set to type R (S309).

[00345] When the value of the second bit b1 and the value of the third bit b2 are 1 and 0, respectively (Not in S306 and Yes in S308), the connection type is set to type L (S312). When the value of the second bit b1 and the value of the third bit b2 are 1 and 1, respectively (Not in S306 and Not in S308), the connection type is set to type E (S310).

[00346] Note that, when arithmetic decoding is used pa Petition 870250078626, dated 03 / 09 / 2025, pp. 199 / 277 76 / 108 ra entropy decoding, the context used to determine the predicted probability of occurrence of information to be decoded is determined from a plurality of contexts, according to prev. When Huffman decoding is used for entropy decoding, the codeword table used for decoding is determined from a plurality of codeword tables, according to prev. Furthermore, in entropy decoding of the third bit b2 value, the context or codeword table can be determined according to the value of the second bit b1, in addition to prev.

[00347] The probability trend of occurrence of each decoded type immediately after type S or E is different from the probability trend of occurrence of each decoded type immediately after type C, R, or L, so that, as described above, the entropy decoding control is switched according to the prev determined in the procedure of Figure 31. In this way, the coding efficiency of entropy coding may be able to be improved.

[00348] Furthermore, the content of the event indicated by the value of the third bit b2 depends on the value of the second bit b1 (it is of type S or R when b1 = 0 and of type L or E when b1 = 1). Therefore, if the context or codeword table is determined according to the value of the second bit b1, in addition to predicting the entropy decoding of the value of the third bit b2, the encoding efficiency may be able to be further improved.

[00349] Figure 34 is a flowchart illustrating a second specific example of connection type encoding according to this modality. Specifically, Figure 34 illustrates an example of encoding processing (S103) in Figure 31. In this example, types C, R, E, S, and L are assigned with bit patterns 0, 10, 110, Petition 870250078626, dated 03 / 09 / 2025, pages 200 / 277 77 / 108 1110 and 1111, respectively, and entropy encoding is performed starting from the most significant bit.

[00350] First, whether the type of triangle connection to be encoded is type C is determined (S401). When the connection type is type C (Yes in S401), 0 is encoded as the value of the first bit b0 by entropy encoding according to prev (S405). When the connection type is not type C (No in S401: the connection type is any one of L, E, R and S), 1 is encoded as the value of the first bit b0 by entropy encoding according to prev (S402).

[00351] So, if the type of triangle connection to be encoded is of type R, it is determined (S403). When the connection type is of type R (Yes in S403), 0 is encoded as the value of the second bit b1 by entropy encoding according to prev (S408). When the connection type is not of type R (No in S403: the connection type is any one of L, E and S), 1 is encoded as the value of the second bit b1 by entropy encoding according to prev (S404).

[00352] So, if the type of triangle connection to be encoded is of type E, it is determined (S406). When the connection type is of type E (Yes in S406), 0 is encoded as the value of the third bit b2 by entropy encoding according to prev (S410). When the connection type is not of type E (No in S406: the connection type is either L or S), 1 is encoded as the value of the third bit b2 by entropy encoding according to prev (S407).

[00353] So, if the type of triangle connection to be encoded is of type S, it is determined (S409). When the connection type is of type S (Yes in S409), 0 is encoded as the value of the fourth bit b3 by entropy encoding according to prev (S412). When the connection type is not of type S (No in S409: the connection type is L), 1 is encoded as the value of the fourth bit b3 by entropy encoding according to prev (S411). Petition 870250078626, dated 03 / 09 / 2025, pages 201 / 277 78 / 108

[00354] Note that when arithmetic coding is used for entropy coding, the context used to determine the predicted probability of occurrence of information to be coded is determined from a plurality of contexts according to prev. When Huffman coding is used for entropy coding, the codeword table used for coding is determined from a plurality of codeword tables, according to prev.

[00355] The probability trend of occurrence of each type coded immediately after type S or E is different from the probability trend of occurrence of each type coded immediately after type C, R, or L. Therefore, as described above, the entropy coding control is switched according to the prev determined in the procedure of Figure 31. In this way, the coding efficiency of the entropy coding may be able to be improved.

[00356] Furthermore, in the description above, types C, R, E, S, and L are assigned with bit patterns 0, 10, 110, 1110, and 1111, respectively. However, the types determined in the determination process (S401, S403, S406, and S409) can be defined according to the bit pattern assignment mode. Thus, any assignment is possible.

[00357] Furthermore, a type whose occurrence frequency is high can be assigned a short bit pattern. In this way, the encoding efficiency can be improved. Therefore, types C and R, whose occurrence frequencies are high, can be assigned bit patterns of 0 and 10, respectively.

[00358] Figure 35 is a flowchart illustrating a second specific example of connection type decoding according to this modality. Specifically, Figure 35 illustrates an example of the decoding process (S103) in Figure 31. In this Petition 870250078626, dated 03 / 09 / 2025, pages 202 / 277 79 / 108 For example, the entropy decoding of the bit sequence encoded in the encoding method described above, with reference to Figure 34, is performed, and the connection type of the triangle to be decoded is defined for any of the types C, L, E, R, and S.

[00359] First, the value of the first bit b0 is decoded by entropy decoding, according to prev (S501). Then, if the value of the first bit b0 is 0, it is determined (S502). When the value of the first bit b0 is 0 (Yes in S502), the type of triangle connection to be decoded is set to type C (S505). When the value of the first bit b0 is not 0 (No in S502), the value of the second bit b1 is decoded by entropy decoding, according to prev (S503).

[00360] So, if the value of the second bit b1 is 0, it is determined (S504). When the value of the second bit b1 is 0 (Yes in S504), the type of triangle connection to be decoded is set to type R (S508). When the value of the second bit b1 is not 0 (No in S504), the value of the third bit b2 is decoded by entropy decoding, according to prev (S506).

[00361] So, if the value of the third bit b2 is 0, it is determined (S507). When the value of the third bit b2 is 0 (Yes in S507), the type of triangle connection to be decoded is set to type E (S511). When the value of the third bit b2 is not 0 (No in S507), the value of the fourth bit b3 is decoded by entropy decoding, according to prev (S509).

[00362] So, if the value of the fourth bit b3 is 0, it is determined (S510). When the value of the fourth bit b3 is 0 (Yes in S510), the type of triangle connection to be decoded is set to type S (S513). When the value of the fourth bit b3 is not 0 (No in S510), the type of triangle connection to be decoded is set to type L (S512).

[00363] Note that when arithmetic decoding is used for entropy decoding, the context used to determine the Petition 870250078626, dated 03 / 09 / 2025, pages 203 / 277 80 / 108 The predicted probability of occurrence of information to be decoded is determined from a plurality of contexts, according to prediction. When Huffman decoding is used for entropy decoding, the codeword table used for decoding is determined from a plurality of codeword tables, according to prediction.

[00364] The probability trend of occurrence of each decoded type immediately after type S or E is different from the probability trend of occurrence of each decoded type immediately after type C, R, or L, so that, as described above, the entropy decoding control is switched according to the prev determined in the procedure of Figure 31. In this way, the coding efficiency of entropy coding may be able to be improved.

[00365] Furthermore, in the description above, types C, R, E, S, and L are assigned with bit patterns 0, 10, 110, 1110, and 1111, respectively. However, the types defined in the configuration processing (S505, S508, S511, S513, and S512) can be defined according to the bit pattern assignment mode. Thus, any assignment is possible.

[00366] Furthermore, a type whose occurrence frequency is high can be assigned a short bit pattern. In this way, the encoding efficiency can be improved. Therefore, types C and R, whose occurrence frequencies are high, can be assigned bit patterns of 0 and 10, respectively.

[00367] Figure 36 is a block diagram illustrating another example of an encoding / decoding system configuration according to this modality. In this example, the encoding / decoding system includes encoding device 100 and decoding device 200. Furthermore, encoding device 100 in Petition 870250078626, dated 03 / 09 / 2025, pages 204 / 277 81 / 108 includes the first quantizer 531, the prediction / transformation processor 532, the second quantizer 533, the binarizer 534, and the arithmetic encoder 535. Furthermore, the decoding device 200 includes the first inverse quantizer 631, the inverse prediction / transformation processor 632, the second inverse quantizer 633, the inverse binarizer 634, and the arithmetic decoder 635.

[00368] For example, in encoding device 100, the first quantizer 531 quantizes a three-dimensional coordinate position and a texture map coordinate position of a three-dimensional mesh. Then, the prediction / transformation processor 532 performs prediction processing, transformation processing of a prediction residue, and other processing to reduce redundancy associated with continuity in the temporal and spatial directions. The second quantizer 533 quantizes the prediction residue.

[00369] After this, the 534 binarizer transforms the information required for decoding the three-dimensional mesh, such as a parameter involved in the prediction or a quantized value of the prediction residue, into a binary representation. The 535 arithmetic encoder performs the arithmetic encoding of the binary representation and outputs a bit stream.

[00370] In the decoding device 200, first, the arithmetic decoder 635 performs the arithmetic decoding of the bit stream to restore the binary representation of various types of information. Then, from the binary representation, the inverse binarizer 634 restores the parameter involved with the prediction, the quantized value of the prediction residue, and the like. The second inverse quantizer 633 performs the inverse quantization of the quantized prediction residue. After this, the prediction / inverse transformation processor 632 performs the prediction processing, the inverse transformation processing of the transformed prediction residue, and other processing to restore Petition 870250078626, dated 03 / 09 / 2025, pages 205 / 277 82 / 108 taurar a quantized three-dimensional mesh. Then, the first inverse quantizer 631 performs the inverse quantization and emits the three-dimensional mesh.

[00371] Note that not all processing described in this example needs to be performed. For example, some processing, such as first quantization, second quantization, or prediction residual transformation processing, can be omitted.

[00372] For the three-dimensional coordinate position and the texture map coordinate position of a vertex of the main triangle of the three-dimensional mesh, an arithmetic encoding that uses the exponential Golomb code for binarization can be performed. The three-dimensional coordinate position and the texture map coordinate position of the vertex of the main triangle of the three-dimensional mesh are often large, according to the bit precision of the respective values. Therefore, an exponential Golomb code of the order defined according to the bit precision can be used.

[00373] Here, higher-order exponential Golomb codes are suitable for encoding larger values ​​and can allow for efficient encoding of larger values. Furthermore, lower-order exponential Golomb codes are suitable for encoding smaller values ​​and can allow for efficient encoding of smaller values.

[00374] Furthermore, the texture map coordinate position is a two-dimensional coordinate position determined by the placement of a texture that corresponds to a triangle of a three-dimensional mesh in a two-dimensional image and, therefore, can assume any coordinate value across the two-dimensional image. On the other hand, the three-dimensional coordinate position represents the position on the surface of a three-dimensional object and, therefore, tends to... Petition 870250078626, dated 03 / 09 / 2025, pages 206 / 277 83 / 108 disappears a coordinate value on the periphery of the three-dimensional object. Therefore, the prediction error for the three-dimensional coordinate position tends to be small, and the prediction error for the texture map coordinate position tends to be large.

[00375] Therefore, an order closer to bit precision can be used for encoding the coordinate position of texture maps, compared to encoding the three-dimensional coordinate position. This can allow for efficient encoding.

[00376] Specifically, the bit precision and order for the three-dimensional coordinate position are defined as a first bit precision and a first order, respectively, and the bit precision and order for the texture map coordinate position are defined as a second bit precision and a second order, respectively. In this case, the first order and second order can be defined as values ​​that satisfy a relation: first bit precision > first order > second bit precision > second order. Here, the bit precision is the number of bits used to represent the coordinate position, for example. This can allow for efficient encoding.

[00377] For example, the first order can be determined based on a value obtained by subtracting a first predetermined value from the first bit precision. Furthermore, the second order can be determined based on a value obtained by subtracting a second predetermined value from the second bit precision. And when both the first bit precision and the second bit precision are 12 bits, the first order can be determined as 7 to 10, and the second order can be determined as 10 or 11, for example. In this case, the first predetermined value can be set to 2 to 5, and the second predetermined value can be set to 1 or 2, for example. Petition 870250078626, dated 03 / 09 / 2025, pages 207 / 277 84 / 108

[00378] Information about first-bit precision, second-bit precision, first-preset value, second-preset value, first-quantization quantization width, second-quantization quantization width, and the like may be indicated in a sequence, frame, or slice header. Here, the first-quantization quantization width may differ between the three-dimensional coordinate position and the texture map coordinate position. Similarly, the second-quantization quantization width may differ between the three-dimensional coordinate position and the texture map coordinate position.

[00379] Furthermore, the three-dimensional coordinate position and the texture map coordinate position to be encoded can be a three-dimensional coordinate position and a texture map coordinate position after quantization. Furthermore, the first default value and the second default value can be corrected according to the quantization width. Specifically, the number of bits required to represent the quantization widths of the three-dimensional coordinate position and the texture map coordinate position, or values ​​approximately equal to these, can be added to the first default value and the second default value, respectively.

[00380] For example, the first default value and the second default value may reflect the first quantization width and the second quantization width, respectively, and may include values ​​that correspond to the first quantization width and the second quantization width, respectively.

[00381] Furthermore, when information from another already encoded three-dimensional mesh can be referenced, the prediction values ​​of the three-dimensional coordinate position and the coordinate position of the mesh Petition 870250078626, dated 03 / 09 / 2025, pages 208 / 277 85 / 108 pa of the triangle vertex texture to be encoded first in the three-dimensional mesh can be determined based on the information. Furthermore, the difference in the prediction value can be encoded.

[00382] Furthermore, when the difference is encoded, the plus / minus sign can be separately encoded arithmetically. Moreover, for the absolute value, arithmetic encoding using the exponential Golomb code described above can be performed. Alternatively, for the difference value including the plus / minus sign, arithmetic encoding using the exponential Golomb code described above can be performed by mapping the difference value to a positive value.

[00383] Thus, arithmetic coding can be performed using an exponential Golomb code of an appropriately defined order for the magnitude of the value of each of the three-dimensional coordinate position and the texture map coordinate position. Therefore, the amount of code required for the three-dimensional coordinate position and the texture map coordinate position can be reduced.

[00384] Figure 37 is a flowchart illustrating the encoding and decoding processes for a three-dimensional coordinate position and a texture map coordinate position according to this modality. Specifically, Figure 37 illustrates an example of procedures for encoding and decoding coordinates of a principal vertex of a three-dimensional mesh.

[00385] First, a parameter for arithmetic encoding or arithmetic decoding of a three-dimensional coordinate position is defined (S610). Then, according to the defined parameter, the arithmetic encoding or arithmetic decoding of the three-dimensional coordinate position is performed (S620). Furthermore, a parameter for arithmetic encoding or arithmetic decoding of a position of Petition 870250078626, dated 03 / 09 / 2025, pages 209 / 277 86 / 108 texture map coordinate is defined (S630). Then, according to the defined parameter, arithmetic encoding or arithmetic decoding of one or more texture map coordinate positions is performed (S640).

[00386] Note that the processing order can be changed. Specifically, setting a parameter for a texture map coordinate position (S630), encoding or decoding the texture map coordinate position (S640), setting a parameter for a three-dimensional coordinate position (S610), and encoding or decoding the three-dimensional coordinate position (S620) can be performed in this order.

[00387] Furthermore, only one of the processing for the three-dimensional coordinate position (S610 and S620) and the processing for the texture map coordinate position (S630 and S640) can be performed. Moreover, this processing can only be performed for some of the plurality of components (x, yez, or uev) that form the three-dimensional coordinate position or the texture map coordinate position.

[00388] Figure 38 is a flowchart illustrating the processing for setting a parameter for encoding or decoding a three-dimensional coordinate position according to this modality. Specifically, Figure 38 illustrates an example of the parameter setting processing (S610) for a three-dimensional coordinate position in Figure 37.

[00389] In this example, with respect to the three-dimensional coordinate position of the three-dimensional mesh, the bit precision, the first predetermined value, the first quantization width, and the second quantization width are obtained (S611 to S614). Then, according to these values, the order (first order) of the exponential Golomb code used for arithmetic encoding or arithmetic decoding is determined. Petition 870250078626, dated 03 / 09 / 2025, page 210 / 277 87 / 108 ca of the three-dimensional coordinate position is defined (S615).

[00390] For example, a value obtained by subtracting the first predetermined value, the number of digits in the binary representation of the first quantization width, and the number of digits in the binary representation of the second quantization width from the bit precision can be defined as the first order. Note that the processing for obtaining various types of information (S611 to S614) can be performed in any order. Furthermore, one or both of the processing steps for obtaining two quantization widths (S613 and S614) can be omitted. In this case, in the processing for defining the first order (S615), the corresponding quantization width does not need to be used.

[00391] Figure 39 is a flowchart illustrating the processing for defining a parameter for encoding or decoding a texture map coordinate position according to this modality. Specifically, Figure 39 illustrates an example of the parameter definition processing (S630) for a texture map coordinate position in Figure 37.

[00392] In this example, with respect to the texture map coordinate position of the three-dimensional mesh, the bit precision, the second predetermined value, the first quantization width, and the second quantization width are obtained (S631 to S634). Then, according to these values, the order (second order) of the exponential Golomb code used for arithmetic encoding or arithmetic decoding of the texture map coordinate position is defined.

[00393] For example, a value obtained by subtracting the second predetermined value from the number of digits in the binary representation of the first quantization width and the number of digits in the binary representation of the second quantization width of the bit precision can be defined as the second order. Note that the process Petition 870250078626, dated 03 / 09 / 2025, pp. 211 / 277 88 / 108 processing for obtaining various types of information (S631 to S634) can be executed in any order. Furthermore, one or both of the processing steps for obtaining two quantization widths (S633 and S634) can be omitted. In such a case, in the processing step for defining the second order (S635), the corresponding quantization width does not need to be used.

[00394] Note that, in decoding processing, the first predetermined value and the second predetermined value can be derived by reading data stored in an encoded stream and decoding the data. Alternatively, the first predetermined value and the second predetermined value can be derived by calculation or reference to a table based on a parameter or index stored in an encoded stream.

[00395] Alternatively, the first default value and the second default value can be derived based on another parameter or can be derived from a value used for decoding a processed coordinate. In the case of the position of a texture map coordinate, for example, the other parameter may include information about the size of the texture map. Alternatively, for at least one of the three-dimensional coordinate position and the texture map coordinate position, the order of the exponential Golomb code can be defined based on the parameter or index described above, without using bit precision.

[00396] Note that at least any of the exponential Golomb code order, the first predetermined value, and the second predetermined value can be defined or derived as a different value in units of any of the streams, frames, slices, objects, submeshes, or similar. In this case, a parameter or index indicating that a parameter relating to the derivation of the exponential Golomb code order is stored can be encoded in Petition 870250078626, dated 03 / 09 / 2025, pp. 212 / 277 89 / 108 any of the units described above. Representative Example

[00397] Figure 40 is a flowchart illustrating an example of basic coding processing according to the present embodiment. For example, circuit 151 of coding device 100 illustrated in Figure 24 performs the coding processing illustrated in Figure 40 in one operation.

[00398] Specifically, for each of the faces that form a three-dimensional mesh, circuit 151 encodes a connection type relating to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic coding (S710). Here, a plurality of exemplary connection types relating to the connection relationship between the face to be processed and a face not yet processed may include a type in which the face to be processed is not connected to any face not yet processed (type E described above, for example).

[00399] Figure 41 is a flowchart illustrating an example of processing included in the basic coding processing according to the present embodiment. For example, circuit 151 of coding device 100 illustrated in Figure 24 performs the processing illustrated in Figure 41 in the coding processing (S710) illustrated in Figure 40.

[00400] Specifically, when encoding a current connection type, circuit 151 selects the context to be applied to the arithmetic encoding from among contexts that use a previous connection type (S711). Here, the current connection type is the connection type to be encoded. The previous connection type is the connection type encoded before the current connection type.

[00401] Consequently, a context for arithmetic encoding of the current connection type may be able to be selected from Petition 870250078626, dated 03 / 09 / 2025, pp. 213 / 277 90 / 108 according to the previous connection type. Therefore, the arithmetic encoding of the current connection type, which may have a different probability distribution depending on the previous connection type, may be able to be performed based on a selected context according to the previous connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[00402] For example, the context can be used to determine a probability value for use in arithmetic coding. Circuit 151 can perform arithmetic coding on the current connection type using the probability value determined based on the context selected using the previous connection type. Consequently, a suitable probability value for arithmetic coding of the current connection type can be specified according to the previous connection type. Therefore, compressibility can be improved.

[00403] Furthermore, for example, the previous connection type may be the connection type encoded immediately before the current connection type. Consequently, a context for arithmetic encoding of the current connection type may be able to be selected according to the immediately preceding connection type. Therefore, the arithmetic encoding of the current connection type, which may have a different probability distribution depending on the immediately preceding connection type, may be able to be performed based on a context selected according to the immediately preceding connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[00404] Furthermore, for example, each of the faces can be triangular in shape. Consequently, the type of connection of each one Petition 870250078626, dated 03 / 09 / 2025, pp. 214 / 277 91 / 108 of a plurality of triangles forming a three-dimensional mesh may be able to be encoded. Furthermore, the compressibility of information indicating a connection relationship between the plurality of triangles may be able to be improved.

[00405] Furthermore, for example, the connection type can be any of the types, which include a type that indicates a split in which unprocessed faces are split and connected to the face to be processed. Consequently, a connection relation that includes a split in which the face to be processed is connected to two unprocessed faces can be indicated by a connection type. In addition, the compressibility of information indicating a connection relation that includes a split can be improved.

[00406] Furthermore, for example, circuit 151 can select a first context as the context when the previous connection type is the type that indicates division. Circuit 151 can select a second context different from the first context as the context when the previous connection type is a type different from the type that indicates division.

[00407] Consequently, a context may be able to be selected according to whether the previous connection type is a type that indicates a split or another type. Furthermore, the current connection type may be able to be encoded according to the characteristics of the previous connection type, specifically, whether the previous connection type is a type that indicates a split or another type. Therefore, the compressibility of information indicating a connection relationship that includes a split may be able to be improved.

[00408] Moreover, for example, the connection type can be any of the types specified by Edgebreaker. Consequently, a connection relationship defined by Edgebreaker may be able to Petition 870250078626, dated 03 / 09 / 2025, pages 215 / 277 92 / 108 can be indicated by a connection type. Furthermore, the compressibility of information indicating a connection relationship defined by Edgebreaker may be able to be improved.

[00409] Furthermore, for example, circuit 151 can select a first context as the context when the previous connection type is type S specified by Edgebreaker. Circuit 151 can select a second context different from the first context as the context when the previous connection type is a type other than type S.

[00410] Consequently, a context may be able to be selected according to whether the previous connection type is of type S or another type. Furthermore, the current connection type may be able to be encoded according to the characteristics of the previous connection type, specifically, whether the previous connection type is of type S or another type. Therefore, the compressibility of information indicating a connection relationship that includes the type S defined by Edgebreaker may be able to be improved.

[00411] Figure 42 is a flowchart that illustrates another example of basic coding processing according to this modality. For example, circuit 151 of coding device 100 illustrated in Figure 24 performs the coding processing illustrated in Figure 42 in operation.

[00412] Specifically, circuit 151 performs the arithmetic encoding of the three-dimensional coordinate position of a vertex of a face that forms a three-dimensional mesh according to the first order obtained by subtracting the first predetermined value from the bit precision of the three-dimensional coordinate position (S721). Furthermore, circuit 151 performs the arithmetic encoding of the texture map coordinate position of the vertex according to the second order obtained by subtracting the second predetermined value from the bit precision of the texture map coordinate position (S722). Petition 870250078626, dated 03 / 09 / 2025, pp. 216 / 277 93 / 108

[00413] Thus, the arithmetic encoding of a three-dimensional coordinate position may be able to be performed according to a first order suitable for the arithmetic encoding of the three-dimensional coordinate position, and the arithmetic encoding of a texture map coordinate position may be able to be performed according to a second order suitable for the arithmetic encoding of the texture map coordinate position. Therefore, the arithmetic encoding of a three-dimensional coordinate position may be able to be performed according to the characteristics of the three-dimensional coordinate position, and the arithmetic encoding of a texture map coordinate position may be able to be performed according to the characteristics of the texture map coordinate position. Therefore, compressibility may be able to be improved.

[00414] For example, the exponential Golomb code can be used for each of the arithmetic encoding of the three-dimensional coordinate position and the arithmetic encoding of the texture map coordinate position. In this way, the compressibility of information that can be efficiently indicated by the exponential Golomb code can be improved.

[00415] Furthermore, for example, the first order can be applied to the exponential Golomb code used for arithmetic coding of three-dimensional coordinate positions. The second order can be applied to the exponential Golomb code used for arithmetic coding of texture map coordinate positions.

[00416] Thus, the arithmetic encoding of a first-order exponential Golomb code that can efficiently indicate a three-dimensional coordinate position may be able to be performed, and the arithmetic encoding of a second-order exponential Golomb code that can efficiently indicate Petition 870250078626, dated 03 / 09 / 2025, pp. 217 / 277 94 / 108 a texture map coordinate position may be able to be performed. Therefore, the compressibility of information from a three-dimensional coordinate position and a texture map coordinate position may be able to be improved.

[00417] Furthermore, for example, the first predetermined value may be equal to or greater than the second predetermined value. Thus, the first order and the second order may be able to reflect the characteristics that the variance of a plurality of three-dimensional coordinate positions in three-dimensional space is relatively low, and the variance of a plurality of texture map coordinate positions in the two-dimensional plane is relatively high. Therefore, the compressibility of three-dimensional coordinate position information and texture map coordinate position information may be able to be improved.

[00418] Figure 43 is a flowchart illustrating an example of basic decoding processing according to the present embodiment. For example, circuit 251 of decoding device 200 illustrated in Figure 25 performs the decoding processing illustrated in Figure 43 in one operation.

[00419] Specifically, for each of the faces that form a three-dimensional mesh, circuit 251 decodes a connection type relating to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic decoding (S810). Here, a plurality of exemplary connection types relating to the connection relationship between the face to be processed and a face not yet processed may include a type in which the face to be processed is not connected to any face not yet processed (type E described above, for example).

[00420] Figure 44 is a flowchart that illustrates an example of processing included in basic decoding processing of Petition 870250078626, dated 03 / 09 / 2025, pages 218 / 277 95 / 108 in accordance with the present embodiment. For example, circuit 251 of decoding device 200 illustrated in Figure 25 performs the processing illustrated in Figure 44 in the decoding processing (S810) illustrated in Figure 43.

[00421] Specifically, when decoding a current connection type, circuit 251 selects the context to be applied to the arithmetic decoding from among the contexts that use a previous connection type (S811). Here, the current connection type is the connection type to be decoded. The previous connection type is the connection type decoded before the current connection type.

[00422] Consequently, a context for arithmetic decoding of the current connection type may be able to be selected according to the previous connection type. Therefore, the arithmetic decoding of the current connection type, which may have a different probability distribution depending on the previous connection type, may be able to be performed based on a context selected according to the previous connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[00423] For example, the context can be used to determine a probability value for use in arithmetic decoding. Circuit 251 can perform arithmetic decoding on the current connection type using the probability value determined based on the context selected using the previous connection type. Consequently, a suitable probability value for arithmetic decoding of the current connection type can be specified according to the previous connection type. Therefore, compressibility can be improved.

[00424] Moreover, for example, the previous connection type may be the connection type decoded immediately before the connection type. Petition 870250078626, dated 03 / 09 / 2025, pp. 219 / 277 96 / 108 current connection. Consequently, a context for arithmetic decoding of the current connection type may be able to be selected according to the immediately preceding connection type. Therefore, the arithmetic decoding of the current connection type, which may have a different probability distribution depending on the immediately preceding connection type, may be able to be performed based on a context selected according to the immediately preceding connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[00425] Moreover, for example, each of the faces can be triangular in shape. Consequently, the type of connection of each of a plurality of triangles that form a three-dimensional mesh may be able to be decoded. Furthermore, the compressibility of information indicating a connection relationship between the plurality of triangles may be able to be improved.

[00426] Furthermore, for example, the connection type can be any of the types, including a type that indicates a split in which unprocessed faces are split and connected to the face to be processed. Consequently, a connection relation that includes a split in which the face to be processed is connected to two unprocessed faces can be indicated by a connection type. In addition, the compressibility of information indicating a connection relation that includes a split can be improved.

[00427] Furthermore, for example, circuit 251 can select a first context as the context when the previous connection type is the type that indicates division. Circuit 251 can select a second context different from the first context as the context when the previous connection type is a type different from the type that indicates division. Petition 870250078626, dated 03 / 09 / 2025, pages 220 / 277 97 / 108

[00428] Consequently, a context may be able to be selected according to whether the previous connection type is a type that indicates a split or another type. Furthermore, the current connection type may be able to be decoded according to the characteristics of the previous connection type, specifically, whether the previous connection type is a type that indicates a split or another type. Therefore, the compressibility of information indicating a connection relationship that includes a split may be able to be improved.

[00429] Moreover, for example, the connection type can be any of the types specified by Edgebreaker. Consequently, a connection relationship defined by Edgebreaker can be indicated by a connection type. Furthermore, the compressibility of information indicating a connection relationship defined by Edgebreaker can be improved.

[00430] Furthermore, for example, circuit 251 can select a first context as the context when the previous connection type is type S specified by Edgebreaker. Circuit 251 can select a second context different from the first context as the context when the previous connection type is a type other than type S.

[00431] Consequently, a context may be able to be selected according to whether the previous connection type is of type S or another type. Furthermore, the current connection type may be able to be decoded according to the characteristics of the previous connection type, specifically, whether the previous connection type is of type S or another type. Therefore, the compressibility of information indicating a connection relationship that includes the type S defined by Edgebreaker may be able to be improved.

[00432] Figure 45 is a flowchart illustrating another example of basic decoding processing according to this modality. For example, circuit 251 of decoding device 200 Petition 870250078626, dated 03 / 09 / 2025, pp. 221 / 277 The 98 / 108 model shown in Figure 25 performs the decoding process shown in Figure 45 in operation.

[00433] Specifically, circuit 251 performs the arithmetic decoding of the three-dimensional coordinate position of a vertex of a face that forms a three-dimensional mesh according to the first order obtained by subtracting the first predetermined value from the bit precision of the three-dimensional coordinate position (S821). Furthermore, circuit 251 performs the arithmetic decoding of the texture map coordinate position of the vertex according to the second order obtained by subtracting the second predetermined value from the bit precision of the texture map coordinate position (S822).

[00434] Thus, the arithmetic decoding of a three-dimensional coordinate position may be able to be performed according to a first order suitable for the arithmetic decoding of the three-dimensional coordinate position, and the arithmetic decoding of a texture map coordinate position may be able to be performed according to a second order suitable for the arithmetic decoding of the texture map coordinate position. Therefore, the arithmetic decoding of a three-dimensional coordinate position may be able to be performed according to the characteristics of the three-dimensional coordinate position, and the arithmetic decoding of a texture map coordinate position may be able to be performed according to the characteristics of the texture map coordinate position. Therefore, compressibility may be able to be improved.

[00435] For example, the exponential Golomb code can be used for each of the arithmetic decoding of the three-dimensional coordinate position and the arithmetic decoding of the texture map coordinate position. In this way, the compressibility of Petition 870250078626, dated 03 / 09 / 2025, pp. 222 / 277 99 / 108 information that can be efficiently indicated by the exponential Golomb code may be able to be improved.

[00436] Furthermore, for example, the first order can be applied to the exponential Golomb code used for arithmetic decoding of three-dimensional coordinate positions. The second order can be applied to the exponential Golomb code used for arithmetic decoding of texture map coordinate positions.

[00437] Thus, the arithmetic decoding of a first-order exponential Golomb code, which can efficiently indicate a three-dimensional coordinate position, may be able to be performed, and the arithmetic decoding of a second-order exponential Golomb code, which can efficiently indicate a texture map coordinate position, may be able to be performed. Therefore, the compressibility of information from a three-dimensional coordinate position and a texture map coordinate position may be able to be improved.

[00438] Furthermore, for example, the first predetermined value may be equal to or greater than the second predetermined value. Thus, the first order and the second order may be able to reflect the characteristics that the variance of a plurality of three-dimensional coordinate positions in three-dimensional space is relatively low, and the variance of a plurality of texture map coordinate positions in the two-dimensional plane is relatively high. Therefore, the compressibility of three-dimensional coordinate position information and texture map coordinate position information may be able to be improved.

[00439] Figure 46 is a block diagram that illustrates yet another example of configuring encoding device 100 according to the present embodiment. In this example, the device of Petition 870250078626, dated 03 / 09 / 2025, pages 223 / 277 100 / 108 encoding includes the 710 arithmetic encoder and the 711 selector. The 711 selector can be included with the 710 arithmetic encoder.

[00440] The arithmetic encoder 710 is, for example, an electrical circuit. The arithmetic encoder 710 may correspond to the connection information encoder 102, the encoding processor 522 and similar ones described above and may be implemented by the circuit 151 and the memory 152 described above.

[00441] Selector 711 is, for example, an electrical circuit. The selector 711 may correspond to the connection information encoder 102, the encoding processor 522 and similar devices described above, and may be implemented by the circuit 151 and memory 152 described above.

[00442] For example, the arithmetic encoder 710 encodes, for each of the faces that form a three-dimensional mesh, a connection type referring to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic encoding. When the arithmetic encoder 710 encodes a current connection type to be encoded, the selector 711 selects the context to be applied to the arithmetic encoding from among contexts that use a previously encoded connection type before the current connection type.

[00443] Consequently, a context for arithmetic encoding of the current connection type may be able to be selected according to the previous connection type. Therefore, the arithmetic encoding of the current connection type, which may have a different probability distribution depending on the previous connection type, may be able to be performed based on a context selected according to the previous connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information. Petition 870250078626, dated 03 / 09 / 2025, pp. 224 / 277 101 / 108

[00444] Figure 47 is a block diagram illustrating another example of configuring encoding device 100 according to this embodiment. In this example, encoding device 100 includes three-dimensional coordinate position encoder 721 and texture map coordinate position encoder 722.

[00445] The three-dimensional coordinate position encoder 721 is an electrical circuit, for example. The three-dimensional coordinate position encoder 721 may correspond to the vertex information encoder 101 or the encoding processor 522 described above, for example, or it may be implemented by the circuit 151 and the memory 152 described above.

[00446] The texture map coordinate position encoder 722 is an electrical circuit, for example. The texture map coordinate position encoder 722 may correspond to the vertex information encoder 101, the attribute information encoder 103, or the encoding processor 522 described above, for example, or it may be implemented by the circuit 151 and memory 152 described above.

[00447] For example, the 721 three-dimensional coordinate position encoder performs arithmetic encoding of the three-dimensional coordinate position of a vertex of a face forming a three-dimensional mesh according to the first order obtained by subtracting the first predetermined value from the bit precision of the three-dimensional coordinate position. Furthermore, the 722 texture map coordinate position encoder performs arithmetic encoding of the texture map coordinate position of the vertex according to the second order obtained by subtracting the second predetermined value from the bit precision of the texture map coordinate position.

[00448] Thus, the arithmetic encoding of a position of Petition 870250078626, dated 03 / 09 / 2025, pages 225 / 277 102 / 108 three-dimensional coordinates may be able to be performed according to a first order suitable for the arithmetic encoding of the three-dimensional coordinate position, and the arithmetic encoding of a texture map coordinate position may be able to be performed according to a second order suitable for the arithmetic encoding of the texture map coordinate position. Therefore, the arithmetic encoding of a three-dimensional coordinate position may be able to be performed according to the characteristics of the three-dimensional coordinate position, and the arithmetic encoding of a texture map coordinate position may be able to be performed according to the characteristics of the texture map coordinate position. Therefore, compressibility may be able to be improved.

[00449] Figure 48 is a block diagram that illustrates yet another example of a configuration of the decoding device 200, according to the present embodiment. In this example, the decoding device 200 includes the arithmetic decoder 810 and the selector 811. The selector 811 can be included in the arithmetic decoder 810.

[00450] The arithmetic decoder 810 is, for example, an electrical circuit. The arithmetic decoder 810 may correspond to the connection information decoder 202, the decoding processor 622 and similar devices described above, and may be implemented by the circuit 251 and the memory 252 described above.

[00451] Selector 811 is, for example, an electrical circuit. Selector 811 may correspond to connection information decoder 202, decoding processor 622 and similar devices described above, and may be implemented by circuit 251 and memory 252 described above.

[00452] For example, the 810 arithmetic decoder decodes, for each of the faces that form a three-dimensional mesh, a type Petition 870250078626, dated 03 / 09 / 2025, pages 226 / 277 103 / 108 connection referring to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic decoding. When the arithmetic decoder 810 decodes a current connection type to be decoded, the selector 811 selects the context to be applied to the arithmetic decoding from among the contexts, using a previously decoded connection type before the current connection type.

[00453] Consequently, a context for arithmetic decoding of the current connection type may be able to be selected according to the previous connection type. Therefore, the arithmetic decoding of the current connection type, which may have a different probability distribution depending on the previous connection type, may be able to be performed based on a context selected according to the previous connection type. Therefore, compressibility may be able to be improved based on the characteristics of the three-dimensional mesh information.

[00454] Figure 49 is a block diagram illustrating another example of the decoding device 200 configuration according to this embodiment. In this example, the decoding device 200 includes a three-dimensional coordinate position decoder 821 and a texture map coordinate position decoder 822.

[00455] The three-dimensional coordinate position decoder 821 is an electrical circuit, for example. The three-dimensional coordinate position decoder 821 may correspond to the vertex information decoder 201 or the decoding processor 622 described above, for example, or it may be implemented by the circuit 251 and the memory 252 described above.

[00456] The 822 texture map coordinate position decoder is an electrical circuit, for example. The position decoder Petition 870250078626, dated 03 / 09 / 2025, pages 227 / 277 104 / 108 texture map coordinate 822 may correspond to the vertex information decoder 201, the attribute information decoder 203, or the decoding processor 622 described above, for example, or it may be implemented by the circuit 251 and the memory 252 described above.

[00457] For example, the 821 three-dimensional coordinate position decoder performs the arithmetic decoding of the three-dimensional coordinate position of a vertex of a face that forms a three-dimensional mesh according to the first order obtained by subtracting the first predetermined value from the bit precision of the three-dimensional coordinate position. Furthermore, the 822 texture map coordinate position decoder performs the arithmetic decoding of the texture map coordinate position of the vertex according to the second order obtained by subtracting the second predetermined value from the bit precision of the texture map coordinate position.

[00458] Thus, the arithmetic decoding of a three-dimensional coordinate position may be able to be performed according to a first order suitable for the arithmetic decoding of the three-dimensional coordinate position, and the arithmetic decoding of a texture map coordinate position may be able to be performed according to a second order suitable for the arithmetic decoding of the texture map coordinate position. Therefore, the arithmetic decoding of a three-dimensional coordinate position may be able to be performed according to the characteristics of the three-dimensional coordinate position, and the arithmetic decoding of a texture map coordinate position may be able to be performed according to the characteristics of the texture map coordinate position. Therefore, compressibility may be able to be improved. Petition 870250078626, dated 03 / 09 / 2025, pages 228 / 277 105 / 108

[00459] In the description above, connection can be expressed as link. Furthermore, the connection type can be expressed as connection information or link information. Other Examples

[00460] Although aspects of encoding device 100 and decoding device 200 have been described up to this point according to the embodiment, aspects of encoding device 100 and decoding device 200 are not limited to the embodiment. Modifications that can be devised by a person skilled in the art can be applied to the embodiment, and a plurality of constituent elements in the embodiment can be combined in any way.

[00461] For example, processing performed by a specific constituent element in the mode can be performed by a different constituent element instead of the specific constituent element. Furthermore, the order of processes can be changed or processes can be executed in parallel.

[00462] Furthermore, as stated above, it is possible to implement, as an integrated circuit, at least part of the plurality of constituent elements of the present description. At least part of the processes of the present description can be used as an encoding method or a decoding method. A program to cause a computer to execute the encoding method or the decoding method can be used. Furthermore, a non-transient computer-readable recording medium on which the program is recorded can be used. In addition, a bitstream to cause the decoding device 200 to perform the decoding can be used.

[00463] Moreover, at least some of the plurality of constituent elements and processes of the present description may be used Petition 870250078626, dated 03 / 09 / 2025, pages 229 / 277 106 / 108 defined as a transmitting device, a receiving device, a transmitting method, and a receiving method. A program to cause a computer to execute the transmitting method or the receiving method may be used. Furthermore, a non-transient, computer-readable recording medium on which the program is recorded may be used. INDUSTRIAL APPLICABILITY

[00464] The present description is useful, for example, in an encoding device, a decoding device, a transmission device, a reception device and the like relating to a three-dimensional mesh, and can be applied to a computer graphics system, a three-dimensional data display system and the like. DESCRIPTION OF REFERENCE SYMBOLS / NUMBERS 100 encoding device 101, 121, 144 vertex information encoder 102, 145 connection information encoder 103, 122 attribute information encoder 104, 204, 521 preprocessor 105, 205, 623 post-processor 110 three-dimensional data encoding system 111,211 controller 112, 212 input / output processor 113 Three-dimensional data encoder 114 multiplexer system 115 three-dimensional data generator 123 metadata encoder 124 multiplexer 131 vertex image generator 132 attribute image generator Petition 870250078626, dated 03 / 09 / 2025, pages 230 / 277 107 / 108 133 metadata generator 134 video encoder 141 two-dimensional data encoder 142 mesh data encoder 143 texture encoder 148 description encoder 151,251 circuit 152, 252 memory 200 decoding device 201, 221, 244 vertex information decoder 202, 245 connection information decoder 203, 222 attribute information decoder 210 three-dimensional data decoding system 213 three-dimensional data decoder 214 system demultiplexer 215, 247 presenter 216 user interface 223 metadata decoder 224 demultiplexer 231 vertex information generator 232 attribute information generator 234 video decoder 241 two-dimensional data decoder 242 mesh data decoder 243 texture decoder 246 mesh reconstructor 248 description decoder 300 network 310 external connector 522 encoding processor Petition 870250078626, dated 03 / 09 / 2025, pp. 231 / 277 108 / 108 531 first quantizer 532 prediction / transformation processor 533 second quantizer 534 binarizer 535, 710 arithmetic encoder 622 decoding processor 631 first inverse quantizer 632 prediction processor / inverse transformation 633 second inverse quantizer 634 inverse binarizer 635, 810 arithmetic decoder 711, 811 selector 721 three-dimensional coordinate position encoder 722 Texture Map Coordinate Position Encoder 821 three-dimensional coordinate position decoder 822 Texture Map Coordinate Position Decoder Petition 870250078626, dated 03 / 09 / 2025, pages 232 / 277

Claims

1 / 5 CLAIMS 1. A coding device characterized in that it comprises: memory; and a memory-accessible circuit, wherein, in operation, the circuit: for each of the faces that form a three-dimensional mesh, encodes a connection type relating to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic coding; and when coding a current connection type, selects the context to be applied to the arithmetic coding from among contexts that use a previous connection type, the current connection type being the connection type to be coded, the previous connection type being the connection type coded before the current connection type.

2. Coding device according to claim 1, characterized in that the context is used to determine a probability value for use in arithmetic coding, and the circuit performs arithmetic coding on the current connection type using the probability value determined based on the context selected using the previous connection type.

3. Encoding device according to claim 1 or 2, characterized in that the previous connection type is the connection type encoded immediately before the current connection type.

4. Coding device according to claim 1 or 2, characterized in that each of its faces is triangular in shape.

5. Encoding device according to claim 1 or 2 in Petition 870250078626, dated 03 / 09 / 2025, page 118 / 277 2 / 5, characterized in that the connection type is any of the types, including a type that indicates a split in which the faces not yet processed are split and connected to the face to be processed.

6. Encoding device according to claim 5, characterized in that the circuit: selects a first context as the context when the previous connection type is the type indicating division; and selects a second context different from the first context as the context when the previous connection type is a type different from the type indicating division.

7. Encoding device according to claim 1 or 2, characterized in that the connection type is any of the types specified by Edgebreaker.

8. Encoding device according to claim 7, characterized in that the circuit: selects a first context as the context when the previous connection type is of type S specified by Edgebreaker; and selects a second context different from the first context as the context when the previous connection type is a type other than type S.

9. Decoding device characterized in that it comprises: memory; and a memory-accessible circuit, in which, in operation, the circuit: for each of the faces that form a three-dimensional mesh, decodes a connection type relating to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic decoding; and when decoding a current connection type, selects the context to be applied to the arithmetic decoding from among contexts that use a previous connection type, the current connection type being the connection type to be decoded, the previous connection type being the connection type decoded before the current connection type.

10. Decoding device according to claim 9, characterized in that the context is used to determine a probability value for use in arithmetic decoding, and the circuit performs arithmetic decoding on the current connection type using the probability value determined based on the context selected using the previous connection type.

11. Decoding device according to claim 9 or 10, characterized in that the previous connection type is the connection type decoded immediately before the current connection type.

12. Decoding device according to claim 9 or 10, characterized in that each of the faces is triangular in shape.

13. Decoding device according to claim 9 or 10, characterized in that the connection type is any of the following types, including a type that indicates a split in which the faces not yet processed are split and connected to the face to be processed.

14. Decoding device according to claim 13, characterized in that Petition 870250078626, dated 03 / 09 / 2025, page 120 / 277 4 / 5 the circuit: selects a first context as the context when the previous connection type is the type indicating division; and selects a second context different from the first context as the context when the previous connection type is a type different from the type indicating division.

15. Decoding device according to claim 9 or 10, characterized in that the connection type is any of the types specified by Edgebreaker.

16. Decoding device according to claim 15, characterized in that the circuit: selects a first context as the context when the previous connection type is of type S specified by Edgebreaker; and selects a second context different from the first context as the context when the previous connection type is a type other than type S.

17. A coding method characterized by the fact that it comprises: coding, for each of the faces that form a three-dimensional mesh, a connection type referring to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic coding; and selecting, in the coding of a current connection type, the context to be applied to the arithmetic coding from among contexts that use a previous connection type, the current connection type being the connection type to be coded, the previous connection type being the connection type coded before the current connection type.

18. Decoding method characterized by the fact that Petition 870250078626, dated 03 / 09 / 2025, page 121 / 277 5 / 5 comprises: decoding, for each of the faces that form a three-dimensional mesh, a connection type referring to a connection relationship between the face to be processed and a face not yet processed, using context-based arithmetic decoding; and selecting, in the decoding of a current connection type, the context to be applied to the arithmetic decoding from among contexts that use a previous connection type, the current connection type being the connection type to be decoded, the previous connection type being the connection type decoded before the current connection type. Petition 870250078626, dated 03 / 09 / 2025, page 122 / 277