Decoding method, encoding method, decoding device, and encoding device

By adaptively selecting inter prediction, intra prediction and no prediction, combined with hierarchical transformation processing, the three-dimensional data encoding method is optimized, the problem of low encoding efficiency in the prior art is solved, and more efficient encoding and decoding is achieved.

CN120435866APending Publication Date: 2025-08-05PANASONIC INTELLECTUAL PROPERTY CORP OF AMERICA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202380088476.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-28
Filing Date
2023-12-18
Publication Date
2025-08-05

AI Technical Summary

Technical Problem

The existing three-dimensional data encoding methods are low in efficiency and it is difficult to effectively compress the amount of point cloud data.

Method used

By performing inter-frame prediction, intra-frame prediction and unpredictable adaptive selection of object encoding units, combined with hierarchical transformation processing, the attribute values and coefficients of three-dimensional points are generated and decoded, and the encoding efficiency is optimized.

Benefits of technology

It improves encoding and decoding efficiency, reduces data volume and processing volume, and supports the generation of random access points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120435866A_ABST
    Figure CN120435866A_ABST
Patent Text Reader

Abstract

A decoding method determines which of inter prediction, intra prediction, and no prediction is performed on a target node included in a target coding unit (S301), calculates an attribute value of a three-dimensional point included in the target coding unit by performing the determined inter prediction, intra prediction, or no prediction on the target node and an inverse hierarchy transformation process (S302), and outputs the attribute value of the three-dimensional point included in the target coding unit. The object node has a coefficient generated by a hierarchical conversion process by the encoding device, in which the attribute value is converted into the coefficient, and in which the inverse hierarchical conversion process, the coefficient is converted into the attribute value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a decoding method, an encoding method, a decoding device, and an encoding device. Background Art

[0002] Devices and services that utilize three-dimensional data are expected to become increasingly prevalent in a wide range of fields, including computer vision for autonomous vehicle and robot operations, mapping, surveillance, infrastructure inspection, and video distribution. Three-dimensional data is acquired using various methods, including distance sensors such as rangefinders, stereo cameras, and combinations of multiple monocular cameras.

[0003] One method of representing three-dimensional data is a point cloud, which uses a cluster of points within a three-dimensional space to represent the shape of a three-dimensional structure. A point cloud stores the position and color of the point cluster. While point clouds are expected to become a mainstream method for representing three-dimensional data, the amount of point cluster data required is extremely large. Therefore, similar to two-dimensional moving images (e.g., MPEG-4 AVC and HEVC standardized by MPEG), compression based on the amount of data required for encoding is essential for the storage and transmission of three-dimensional data.

[0004] Furthermore, compression of point clouds is partially supported by a public library (Point Cloud Library) that performs point cloud-related processing.

[0005] Furthermore, there is known a technique for searching and displaying facilities located around a vehicle using three-dimensional map data (for example, see Patent Document 1).

[0006] Prior art literature

[0007] Patent Literature

[0008] Patent Document 1: International Publication No. 2014 / 020663 Summary of the Invention

[0009] Problems to be solved by the invention

[0010] In such encoding methods and decoding methods, it is desired to improve encoding efficiency.

[0011] The present disclosure aims to provide a decoding method, an encoding method, a decoding device or an encoding device capable of improving encoding efficiency.

[0012] Means for solving problems

[0013] A decoding method according to one embodiment of the present invention determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction on an object node included in an object coding unit, and calculates an attribute value of a three-dimensional point included in the object coding unit by performing the determined inter-frame prediction, intra-frame prediction, or no prediction and an inverse hierarchical transformation process on the object node. The object node has coefficients generated by hierarchical transformation processing of an encoding device, and in the hierarchical transformation processing, the attribute value is transformed into the coefficient, and in the inverse hierarchical transformation processing, the coefficient is transformed into the attribute value.

[0014] A coding method according to one embodiment of the present invention determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction on an object node included in an object coding unit, and performs a hierarchical transformation process of transforming the attribute value into a coefficient and the determined inter-frame prediction, intra-frame prediction, or no prediction on the attribute value of a three-dimensional point included in the object coding unit.

[0015] Effects of the Invention

[0016] The present disclosure can provide a decoding method, an encoding method, a decoding device, or an encoding device that can improve encoding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 This is a diagram showing an example of a RAHT target node according to an embodiment.

[0018] Figure 2 This is a diagram showing a three-dimensional area in an octree structure corresponding to a RAHT target node according to an embodiment.

[0019] Figure 3 This is a flowchart of a first example of encoding processing according to the embodiment.

[0020] Figure 4 This is a flowchart of the intra-frame prediction process of the encoding device according to the embodiment.

[0021] Figure 5 This is a flowchart of a process for determining conditions for implementing intra-frame prediction according to an embodiment.

[0022] Figure 6 This is a diagram showing the relationship between the hierarchy and the prediction applied in the first example of the implementation method.

[0023] Figure 7 This is a flowchart of a first example of decoding processing according to the embodiment.

[0024] Figure 8 This is a flowchart of the intra-frame prediction process of the decoding device according to the embodiment.

[0025] Figure 9This is a flowchart of a second example of encoding processing according to the embodiment.

[0026] Figure 10 This is a diagram showing the relationship between the hierarchy and the prediction applied in the second example of the implementation.

[0027] Figure 11 This is a flowchart of a second example of decoding processing according to the embodiment.

[0028] Figure 12 This is a flowchart of a third example of encoding processing according to the embodiment.

[0029] Figure 13 This is a flowchart of the inter-frame prediction process of the encoding device according to the embodiment.

[0030] Figure 14 This is a flowchart of a third example of decoding processing according to the embodiment.

[0031] Figure 15 This is a flowchart of the inter-frame prediction process of the decoding device according to the embodiment.

[0032] Figure 16 This is a flowchart of a fourth example of encoding processing according to the embodiment.

[0033] Figure 17 This is a flowchart of a fourth example of decoding processing according to the embodiment.

[0034] Figure 18 This is a diagram showing an example of the syntax of attribute data in the embodiment.

[0035] Figure 19 This is a diagram showing an example of the syntax of APS according to the embodiment.

[0036] Figure 20 This is a flowchart of the decoding process of the embodiment.

[0037] Figure 21 This is a block diagram of a decoding device according to an embodiment.

[0038] Figure 22 This is a flowchart of the encoding process of the embodiment.

[0039] Figure 23 This is a block diagram of an encoding device according to an embodiment. DETAILED DESCRIPTION

[0040] A decoding method according to one embodiment of the present invention determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction on an object node included in an object coding unit, and calculates an attribute value of a three-dimensional point included in the object coding unit by performing the determined inter-frame prediction, intra-frame prediction, or no prediction and an inverse hierarchical transformation process on the object node. The object node has coefficients generated by hierarchical transformation processing of an encoding device, and in the hierarchical transformation processing, the attribute value is transformed into the coefficient, and in the inverse hierarchical transformation processing, the coefficient is transformed into the attribute value.

[0041] According to this, in the encoding device, inter-frame prediction, intra-frame prediction, and no prediction are adaptively used to generate a bit stream with improved coding efficiency. In addition, the decoding method can appropriately decode the bit stream.

[0042] For example, the hierarchical transformation process may be applied to two coefficients of two adjacent nodes to calculate the coefficient of a higher-order node above the two nodes. In such a hierarchical transformation, coefficients between coding units are more likely to be correlated. This improves prediction accuracy and thus coding efficiency.

[0043] For example, if the depth of the target node in the octree structure is greater than a first threshold, intra-frame prediction may be determined, and if the depth is less than the first threshold, inter-frame prediction may be determined. Thus, coding efficiency is improved by applying inter-frame prediction to a higher layer containing a large number of low-frequency components of attribute values. Furthermore, coding efficiency is improved by applying intra-frame prediction to a lower layer containing a large number of high-frequency components.

[0044] For example, when the depth of the object node in the octree structure is greater than a first threshold, it may be decided to perform the inter-frame prediction; and when the depth is less than the first threshold, it may be decided to perform the intra-frame prediction.

[0045] For example, if the depth of the target node in the octree structure is greater than a first threshold, intra-frame prediction may be determined, and if the depth is less than the first threshold, either inter-frame prediction or intra-frame prediction may be determined. Thus, by applying intra-frame prediction to lower layers containing more high-frequency components, coding efficiency is improved. By applying either inter-frame prediction or intra-frame prediction to higher layers, the number of instances in which prediction is applied increases, thereby improving coding efficiency.

[0046] For example, when the depth of the object node in the octree structure is greater than a first threshold, it may be decided to perform one of the inter-frame prediction and the intra-frame prediction; and when the depth is below the first threshold, it may be decided to perform the intra-frame prediction.

[0047] For example, the determination may be made based on information contained in the bitstream. Thus, the decoding method can appropriately decode a bitstream generated by the encoding device that improves coding efficiency. Furthermore, since no determination processing is required in the decoding device, the amount of processing in the decoding device can be reduced.

[0048] For example, the determination may include comparing a second threshold value with the number of neighboring nodes of a parent node or a grandparent node of the target node, and calculating the number of neighboring nodes regardless of whether or not the intra prediction is performed. Accordingly, the decoding method can immediately perform intra prediction even when the prediction method used is switched from a method other than intra prediction to intra prediction, even if the number of neighboring nodes is required for intra prediction.

[0049] For example, in the intra-frame prediction, the attribute value of the parent node of the target node may be stored in a reference memory, and the attribute value of the parent node may be stored in the reference memory regardless of whether the intra-frame prediction is performed. In this way, the decoding method can immediately perform intra-frame prediction even when the prediction method used is switched from a method other than intra-frame prediction to intra-frame prediction.

[0050] For example, the determination may be performed for each depth to which the target node belongs. Accordingly, encoding efficiency is improved by selecting a prediction method for each depth.

[0051] In addition, a coding method according to one embodiment of the present invention determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction on an object node included in an object coding unit, and performs hierarchical transformation processing of transforming the attribute value into a coefficient and the determined inter-frame prediction, intra-frame prediction, or no prediction on the attribute value of the three-dimensional point included in the object coding unit.

[0052] According to this, the encoding method can improve encoding efficiency by adaptively using inter-frame prediction, intra-frame prediction, and no prediction.

[0053] In addition, a decoding device of one embodiment of the present invention includes a processor and a memory, and the processor uses the memory to determine whether to perform inter-frame prediction, intra-frame prediction, or no prediction on the object node included in the object coding unit, and calculates the attribute value of the three-dimensional point included in the object coding unit by performing the determined inter-frame prediction, intra-frame prediction, or no prediction and inverse hierarchical transformation processing on the object node. The object node has a coefficient generated by the hierarchical transformation processing of the encoding device, in the hierarchical transformation processing, the attribute value is transformed into the coefficient, and in the inverse hierarchical transformation processing, the coefficient is transformed into the attribute value.

[0054] In addition, an encoding device of one embodiment of the present invention includes a processor and a memory, and the processor uses the memory to determine whether to perform inter-frame prediction, intra-frame prediction, or no prediction on an object node included in an object coding unit, and performs hierarchical transformation processing of transforming the attribute value into a coefficient and the determined inter-frame prediction, intra-frame prediction, or no prediction on the attribute value of the three-dimensional point included in the object coding unit.

[0055] In addition, these general or specific methods can be implemented through systems, methods, integrated circuits, computer programs, or computer-readable recording media such as CD-ROMs, or through any combination of systems, methods, integrated circuits, computer programs, and recording media.

[0056] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. In addition, the embodiments described below each represent a specific example of the present disclosure. The numerical values, shapes, materials, components, configuration positions of components, connection methods, steps, order of steps, etc. shown in the following embodiments are examples, and the main purpose is not to limit the present disclosure. In addition, the components in the following embodiments that are not recorded in the independent technical solutions are described as arbitrary components.

[0057] (Implementation Method)

[0058] [First Example of Predictive Coding Processing of Transform Coefficients]

[0059] The following describes a first example of a method for switching between intra-frame prediction and inter-frame prediction for transform coefficients obtained by RAHT, performed by an encoding device (three-dimensional data encoding device). The encoding device generates a bit stream by encoding three-dimensional data, for example. The three-dimensional data is, for example, three-dimensional point group data (also called point group data). The point group is a collection of multiple three-dimensional points, representing the three-dimensional shape of an object. The point group data includes position information and attribute information (also called attribute values) of multiple three-dimensional points. The position information represents the three-dimensional position of each three-dimensional point. In addition, the position information is sometimes also referred to as geometry information. For example, the position information is represented by an orthogonal coordinate system or a polar coordinate system.

[0060] The attribute information may include, for example, color information, reflectivity, transmittance, infrared information, normal vector, or time information, etc. A three-dimensional point may have a single attribute information or may have multiple attribute information.

[0061] For example, the encoding device encodes the position information using an N-ary tree structure such as an octree. Specifically, in an octree, the object space is divided into eight nodes (subspaces), and 8 bits of information (occupancy code) are generated to indicate whether each node contains a point cluster. Furthermore, the node containing the point cluster is further divided into eight nodes, and 8 bits of information are generated to indicate whether each of the eight nodes contains a point cluster. This process is repeated until the number of point clusters contained in a predetermined layer or node falls below a threshold.

[0062] Furthermore, the encoding device encodes the attribute information using RAHT (Region Adaptive Hierarchical Transform), which is a hierarchical encoding method for attribute information using position information of three-dimensional points.

[0063] In RAHT, the encoding device first generates Morton codes based on the positional information of the 3D points and sorts the attribute information of the 3D points in the Morton code order. Next, the encoding device generates high-frequency and low-frequency components by applying, for example, the Haar transform to the attribute information of two adjacent 3D points in the Morton code order. The resulting frequency components are used as input values for the next level (the higher level). By repeatedly performing the Haar transform at each level, multiple transform coefficients (also called coefficients, coding coefficients, or RAHT transform values) are obtained.

[0064] Figure 1 is a diagram showing an example of a RAHT object node. Figure 2 Is to express Figure 1The diagram shows a three-dimensional region in an octree structure corresponding to a RAHT object node.

[0065] In the RAHT method, for example, frequency conversion processing is performed in 2×2×2 voxel units. Figure 2 The octree representation of the position information of the point group. Figure 1 Each node contained in the Octree hierarchy shown is processed.

[0066] For example, let's focus on the case of the first node, which is a RAHT target node in Octree level N. In this case, the lowest frequency component of the eight frequency components of the three-dimensional region of each of the first node's up to eight child nodes in Octree level N+1 is used as an input value, and RAHT is applied to output up to eight transform coefficients (frequency components) corresponding to the first node's three-dimensional region. The lowest frequency component of the output eight transform coefficients is used as one of the input values in the RAHT of the second node, which is the parent node of the first node. Furthermore, when Octree level N+1 is the lowest level of the Octree hierarchy, the three-dimensional regions of the nodes in this level are points, and the values are the attribute values of the points. That is, in the RAHT transform of the first node, the attribute values of up to eight child nodes (points) of the first node are used as input values.

[0067] Here, the levels of the Octree hierarchy are denoted as depth, and are defined as level 0, level 1, level 2, ... from the highest level.

[0068] Figure 3 This is a flowchart of a first example of the transform coefficient encoding process according to this embodiment. Figure 3 The above-described processing is repeated for each node of the Octree hierarchy included in the target frame to be coded, for example. First, the coding apparatus calculates a transform coefficient by performing RAHT on the target node ( S101 ).

[0069] Next, the encoding apparatus determines whether the depth (level) of the Octree hierarchy to which the target node belongs is the depth of the inter-frame prediction target (S102). The depth of the inter-frame prediction target may be predetermined or appropriately determined according to the characteristics of the point group.

[0070] If the depth to which the target node belongs is the depth for inter-frame prediction (YES in S102), the encoding device determines whether there is a node at the same position as the target node in the reference frame (reference point group) (S103). If the encoding device determines that there is a node at the same position as the target node in the reference frame (YES in S103), it applies inter-frame prediction to the target node and performs encoding (S104). For example, the encoding device calculates a prediction value through inter-frame prediction, calculates the difference between the prediction value and the transform coefficient (also called a prediction residual), and generates encoded data (bitstream) by performing arithmetic coding (entropy coding) on the difference.

[0071] For example, in inter-frame prediction, the encoding device calculates the transform coefficients of the reference nodes contained in the reference frame stored in the memory possessed by the encoding device as prediction values. The memory is also called a reference memory. Here, the reference frame is a frame different from the object frame, for example, a frame at a different time than the object frame. In addition, the reference frame may be a different frame at the same time as the object frame. For example, the reference frame may be a frame at the same time as the object frame but from a different viewpoint. In addition, an example of referring to a different frame is shown here, but it is also possible to refer to a reference processing unit that is a processing unit different from the object processing unit. Here, the processing unit is a unit obtained by dividing the frame, for example, a slice or a tile.

[0072] In addition, the reference node is, for example, a node at the same position as the object node among the multiple nodes included in the reference frame. In addition, the reference node is not limited to the node at the same position as the object node, but may also be a nearby node close to the position of the object node (the distance is less than a predetermined value). For example, the reference node may also be an adjacent node of a node at the same position as the object node. That is, a nearby node may be an adjacent node. In addition, the reference node may be a plurality of nodes. For example, the reference node may be a plurality of adjacent nodes of a node at the same position as the object node. In this case, the transformation coefficients of a plurality of reference nodes may be used to calculate the predicted value. In addition, whether the position of the object node and the position of the reference node are consistent is determined, for example, based on the Morton code. Whether the object node and the reference node are in proximity is determined based on whether the difference between their Morton codes is less than a specified threshold.

[0073] On the other hand, if the encoding device determines that there is no node at the same position as the target node in the reference frame (No in S103), it encodes the target node without applying prediction (S105). In other words, the encoding device applies neither inter-frame prediction nor intra-frame prediction to the target node. For example, the encoding device generates encoded data (bitstream) by performing arithmetic coding (entropy coding) on the transform coefficients.

[0074] Furthermore, when the depth to which the target node belongs is not the depth to be inter-predicted (No in S102 ), the encoding apparatus performs intra-prediction processing ( S106 ).

[0075] Figure 4 This is a flowchart of the intra-frame prediction process (S106). First, the encoding device determines whether to perform intra-frame prediction by determining whether the conditions for performing intra-frame prediction are met (S111). If the conditions for performing intra-frame prediction are met (Yes in S111), the encoding device performs encoding using intra-frame prediction (S112).

[0076] Here, intra-frame prediction is a prediction process that uses information about other nodes contained in the target frame containing the target node. For example, in intra-frame prediction, the encoding device calculates a prediction value based on the attribute information of the neighboring nodes of the target node. Next, the encoding device calculates the predicted transform coefficient by performing RAHT on the predicted value. Next, the encoding device calculates the difference between the transform coefficient obtained by performing RAHT on the target node and the predicted transform coefficient, that is, the difference value (prediction residual). Next, the encoding device generates encoded data (bitstream) by performing arithmetic coding (entropy coding) on the difference value.

[0077] On the other hand, if the conditions for implementing intra-frame prediction are not met (No in S111), the encoding device performs encoding without applying prediction to the target node (S113). For example, the encoding device generates encoded data (bitstream) by performing arithmetic coding (entropy coding) on the transform coefficients.

[0078] Furthermore, in step S111, the encoding device determines whether to perform intra-frame prediction using, for example, node density. Specifically, the encoding device determines to perform intra-frame prediction when the density is high, and determines not to perform intra-frame prediction when the density is low. For example, the encoding device makes this determination using the number of nodes near the grandparent node and the parent node. Figure 5 This is a flowchart of the determination process (S111).

[0079] First, the encoding device determines whether the number of nearby nodes of the grandparent node of the target node is greater than a first threshold (S121). In addition, the nearby nodes are nodes that include one or more points located near the node (the grandparent node) (for example, the distance from the node is less than a predetermined value).

[0080] If the number of nodes near the grandparent node is greater than or equal to the first threshold (Yes in S121), the encoding device determines whether the number of nodes near the parent node is greater than or equal to the second threshold (S122). If the number of nodes near the parent node is greater than or equal to the second threshold (Yes in S122), the encoding device determines that the conditions for implementing intra-frame prediction are met (S123).

[0081] On the other hand, if the number of nodes near the grandparent node is less than the first threshold (No in S121), or if the number of nodes near the parent node is less than the second threshold (No in S122), the encoding device determines that the conditions for implementing intra-frame prediction are not met (S124). Alternatively, one of steps S121 and S122 may be omitted. Therefore, regardless of whether intra-frame prediction is implemented, the number of nodes near the grandparent node or parent node is compared with the threshold.

[0082] Next, if Figure 3 As shown, after step S104, S105, or S106, the encoding device stores the transform coefficients of the target node in the memory for use in inter-frame prediction (S107). Furthermore, if the depth (hierarchy) to which the target node belongs is not a depth for inter-frame prediction (if the depth to which the target node belongs is a depth to which intra-frame prediction processing can be applied), the encoding device may not store the transform coefficients of the target node in the memory for use in inter-frame prediction. This can reduce the amount of data stored in the memory.

[0083] Thus, if the depth of the target node is a depth suitable for inter-frame prediction, the encoding device determines that inter-frame prediction can be applied; otherwise, it determines that intra-frame prediction can be applied. In other words, the encoding device always prioritizes inter-frame prediction when the depth of the target node satisfies a predetermined condition.

[0084] Figure 6 is a diagram showing the relationship between the level (depth) and the applied prediction in the first example. Figure 6 As shown, for example, inter prediction can be applied to a layer higher than layer α, and intra prediction can be applied to a layer lower than layer α.

[0085] Here, in the hierarchical encoding method using RAHT, the following characteristics are observed: the transform coefficients of shallower upper layers more closely represent the low-frequency components of the attribute information of the three-dimensional points contained in the target frame, while the transform coefficients of deeper layers more closely represent the high-frequency components. Generally, low-frequency components of attribute information such as color and reflectance vary less over time, so using inter-frame prediction for these low-frequency components can improve prediction accuracy. On the other hand, high-frequency components of attribute information are susceptible to noise and other factors and vary significantly over time, making it difficult to improve prediction accuracy through inter-frame prediction. Therefore, the encoding device applies inter-frame prediction or refrains from performing prediction for upper layers containing more low-frequency components of attribute information. Then, the encoding device avoids inter-frame prediction for lower layers containing more high-frequency components and instead applies intra-frame prediction, which predicts based on nearby nodes within the frame, or refrains from performing prediction. This increases the likelihood of improving encoding efficiency.

[0086] In addition, if the nearby nodes are dense, intra-frame prediction is also effective for predicting high-frequency components. Therefore, by applying intra-frame prediction to the lower layer with more high-frequency components, the coding efficiency can be improved. Figure 5 As shown, even in the lower layer, when the number of nearby nodes is not dense, the encoding device does not need to apply intra-frame prediction. This makes it possible to achieve a balance between reducing the amount of processing and encoding efficiency.

[0087] In addition, when the depth of the object node is the depth of the inter-frame prediction object, it is not necessary to Figure 5 Since the number of neighboring nodes of a grandparent node or a parent node is included in the execution conditions of the intra prediction used in the processing shown, the number of neighboring nodes does not need to be calculated. This can reduce the amount of processing required to calculate the number of neighboring nodes.

[0088] Furthermore, the encoding device can also disable inter-frame prediction for a specified target frame and apply intra-frame prediction or not perform prediction. This allows the encoding device to encode and decode the target frame without relying on inter-frame information and to use the specified target frame as a random access point. Furthermore, when the target frame is a random access point, the encoding device can also omit information required for inter-frame prediction, such as information indicating the depth of the inter-frame prediction target, from the bitstream. This can reduce the amount of bitstream data.

[0089] [First Example of Predictive Decoding Processing of Transform Coefficients]

[0090] This section describes a first example of a method for switching the prediction method (intra-frame prediction or inter-frame prediction) of a decoding device (three-dimensional data decoding device) corresponding to the encoding device described above. The decoding device, for example, decodes the bitstream generated by the encoding device described above. For example, the decoding device uses an N-ary tree structure such as an octree to decode the position information. Furthermore, the decoding device uses inverse RAHT, which is the inverse transform of RAHT, to decode the attribute information. Inverse RAHT is a hierarchical decoding method for attribute information using the position information of three-dimensional points. Using inverse RAHT, transform coefficients are transformed into attribute information.

[0091] Figure 7 This is a flowchart of a first example of the transform coefficient decoding process according to this embodiment. Figure 7 The processing described above is repeated for each node of the Octree hierarchy (octree layer) included in the target frame to be decoded. Furthermore, the same processing as that of the encoding device described above is performed to determine the type of prediction applied to the target node (inter-frame prediction, intra-frame prediction, or no prediction).

[0092] First, the decoding apparatus determines whether the depth of the Octree hierarchy to which the target node belongs is the depth of the inter prediction target ( S201 ).

[0093] When the depth to which the object node belongs is the depth of the inter-frame prediction object (yes in S201), the decoding device determines whether there is a node at the same position as the object node in the reference frame (S202). When the decoding device determines that there is a node at the same position as the object node in the reference frame (yes in S202), it applies inter-frame prediction to the object node for decoding (S203). For example, the decoding device generates a differential value of the object node by performing arithmetic decoding (entropy decoding) on the encoded data of the object node contained in the bitstream. Next, the decoding device calculates a prediction value through inter-frame prediction and generates a transform coefficient by adding the prediction value to the differential value. In addition, the calculation method of the prediction value of the inter-frame prediction is the same as the processing in the encoding device.

[0094] On the other hand, if the decoding device determines that there is no node at the same position as the target node in the reference frame (No in S202), it decodes the target node without applying prediction (S204). In other words, the decoding device applies neither inter-frame prediction nor intra-frame prediction to the target node. For example, the decoding device generates transform coefficients for the target node by performing arithmetic decoding (entropy decoding) on the coded data of the target node included in the bitstream.

[0095] On the other hand, when the depth to which the target node belongs is not the depth to be inter-prediction-targeted (No in S201 ), the decoding apparatus performs intra-prediction processing ( S205 ).

[0096] Figure 8 This is a flowchart of the intra-frame prediction process (S205). First, the decoding device determines whether to implement intra-frame prediction by determining whether the implementation conditions of intra-frame prediction are met (S211). When the implementation conditions of intra-frame prediction are met (yes in S211), the decoding device applies intra-frame prediction for decoding (S212). For example, the decoding device generates a differential value of the object node by performing arithmetic decoding (entropy decoding) on the encoded data of the object node contained in the bit stream. Next, the decoding device calculates the predicted value through intra-frame prediction, and calculates the predicted transform coefficient by performing RAHT on the predicted value. The decoding device generates a transform coefficient by adding the predicted transform coefficient and the differential value. In addition, the calculation method of the predicted value of intra-frame prediction is the same as the processing in the encoding device.

[0097] On the other hand, if the conditions for implementing intra-frame prediction are not met (No in S211), the decoding device performs decoding without applying prediction to the target node (S213). For example, the decoding device generates the transform coefficient of the target node by performing arithmetic decoding (entropy decoding) on the coded data of the target node included in the bit stream. In addition, in step S211, for example, the same Figure 5 Alternatively, in step S211, the determination may be made according to the control information included in the bit stream.

[0098] Next, if Figure 7 As shown, after step S203, S204, or S205, the decoding device stores the transform coefficients of the target node in the memory for use in inter-frame prediction (S206). Furthermore, if the depth (hierarchy) to which the target node belongs is not a depth for inter-frame prediction (if the depth to which the target node belongs is a depth for which intra-frame prediction processing is applied), the decoding device may not store the transform coefficients of the target node in the memory for use in inter-frame prediction. This can reduce the amount of data stored in the memory.

[0099] Finally, the decoding apparatus generates attribute information of the target node by performing inverse RAHT on the transform coefficients obtained in step S203 , S204 , or S205 ( S207 ).

[0100] As described above, the decoding device can appropriately decode the bit stream generated by the encoding device.

[0101] Furthermore, if the bitstream contains information indicating that the target frame is a random access point, the decoding device can also use intra-frame prediction to decode the target frame. This allows the decoding device to decode the target frame without relying on inter-frame information and generate random access points. Furthermore, if the target frame is a random access point, the decoding device does not need to decode information required for inter-frame prediction from the bitstream, such as information indicating the depth of the inter-frame prediction target. This reduces the amount of processing.

[0102] [Second Example of Predictive Coding Processing of Transform Coefficients]

[0103] Next, a second example of the method of switching the prediction method of the encoding device will be described. Figure 9 This is a flowchart of a second example of the encoding process of the transform coefficients. Figure 9 The processing shown is repeated for each node of the Octree layer (octree layer) included in the target frame of the encoding target. Figure 3 The difference from the first example shown. Figure 9 The treatment shown is relative to Figure 3In the processing shown, step S103 is changed to step S103A, and step S105 is deleted.

[0104] exist Figure 9 In the illustrated process, when the depth to which the target node belongs is the depth of the inter-frame prediction target (Yes in S102), and when it is determined that there is no node at the same position as the target node in the reference frame (No in S103A), the encoding device performs intra-frame prediction processing (S106). As a result, even when inter-frame prediction cannot be applied to a higher-level layer with a shallower depth, the encoding device can apply intra-frame prediction based on predictions made by nearby nodes within the frame, potentially improving encoding efficiency. If nearby nodes are densely packed, intra-frame prediction is also effective for predicting low-frequency components. Therefore, when inter-frame prediction cannot be applied, applying intra-frame prediction instead of inter-frame prediction may improve encoding efficiency.

[0105] Figure 10 This is a diagram showing the relationship between the layer (depth) and the prediction applied in the second example. In addition, intra prediction includes no prediction. Figure 10 As shown, for example, inter prediction or intra prediction can be applied to a layer higher than layer α. Intra prediction can be applied to a layer lower than layer α.

[0106] In addition, Figure 6 as well as Figure 10 In the example shown, the prediction method is switched depending on whether or not the prediction method is higher than the layer α, but the prediction method may be switched for each layer. However, as described above, the prediction method includes no prediction.

[0107] In addition, the determination of step S102 may not be performed. Alternatively, all layers may be set as the depth of the inter-frame prediction object. In this case, the encoding device determines whether inter-frame prediction can be applied to all layers (for example, whether there is a node at the same position as the object node in the reference frame), and applies inter-frame prediction if inter-frame prediction can be applied, otherwise intra-frame prediction is implemented. For example, the encoding device can include all layers in the range of inter-frame prediction objects by setting the value of depth information indicating the depth of the inter-frame prediction object attached to the bitstream to be greater than the maximum number of layers for hierarchical coding of RAHT. As a result, in frames included in scenes with high prediction accuracy of inter-frame prediction, such as still scenes, the encoding device can improve encoding efficiency by applying inter-frame prediction to all layers. In addition, any method can be used to determine whether it is a still scene. For example, the encoding device can also determine that it is a still scene when the value of the overall motion vector between frames is less than a predetermined threshold.

[0108] [Second Example of Predictive Decoding Processing of Transform Coefficients]

[0109] A second example of a method of switching prediction methods executed by a decoding device corresponding to the encoding device of the second example described above will be described. Figure 11 This is a flowchart of a second example of the decoding process of transform coefficients. Figure 11 The processing shown is repeated for each node of the Octree layer (octree layer) contained in the target frame of the decoding target. Figure 7 The difference from the first example shown. Figure 11 The treatment shown is relative to Figure 7 In the processing shown, step S202 is changed to step S202A, and step S204 is deleted.

[0110] exist Figure 11 In the illustrated process, if the depth to which the target node belongs is the depth for inter-frame prediction (Yes in S201), and if it is determined that there is no node at the same position as the target node in the reference frame (No in S202A), the decoding device performs intra-frame prediction processing (S205). Thus, even when inter-frame prediction cannot be applied to a higher-level layer with a shallower depth, the decoding device can appropriately decode a bitstream with improved coding efficiency by applying intra-frame prediction based on nearby nodes within the frame.

[0111] In addition, the determination of step S201 may not be performed. Alternatively, the decoding device may determine whether inter-frame prediction can be applied to all layers (for example, whether there is a node at the same position as the object node in the reference frame) after decoding the information setting the depth of all layers as the inter-frame prediction object, and apply inter-frame prediction when it can be applied, otherwise implement intra-frame prediction. For example, when the value of the depth information indicating the depth of the inter-frame prediction object decoded from the bitstream is greater than the maximum number of layers of the hierarchical encoding of RAHT, the decoding device may determine all layers as the range of the inter-frame prediction object. Thus, the decoding device can appropriately decode the bitstream generated by the above-mentioned encoding device.

[0112] [Third Example of Predictive Coding Processing of Transform Coefficients]

[0113] Next, a third example of a method for switching the prediction method of the coding device is described. Figure 3 and Figure 4 Compared with the first example shown, the difference is that intra-frame prediction is performed with priority over inter-frame prediction.

[0114] Figure 12 This is a flowchart of a third example of the encoding process of transform coefficients. Figure 12The above-described processing is repeated for each node of the Octree hierarchy included in the target frame to be coded, for example. First, the coding apparatus calculates a transform coefficient by performing RAHT on the target node (S131).

[0115] Next, the encoding apparatus determines whether to perform intra-frame prediction by determining whether the conditions for performing intra-frame prediction are met (S132). For example, the determination is made using the same Figure 4 The same method as step S111 shown.

[0116] If the conditions for implementing intra-frame prediction are met (Yes in S132), the encoding device performs encoding using intra-frame prediction (S133). On the other hand, if the conditions for implementing intra-frame prediction are not met (No in S132), the encoding device performs inter-frame prediction processing (S134).

[0117] Figure 13 This is a flowchart of the inter-frame prediction process (S134). First, the encoding device determines whether there is a node at the same position as the target node in the reference frame (reference point group) (S141). If the encoding device determines that there is a node at the same position as the target node in the reference frame (Yes in S141), it applies inter-frame prediction to the target node and encodes it (S142).

[0118] On the other hand, when the encoding device determines that there is no node at the same position as the target node in the reference frame (No in S141), it performs encoding without applying prediction to the target node (S143).

[0119] Next, if Figure 12 As shown, after step S133 or S134, the encoding apparatus stores the transform coefficient of the target node in a memory for use in inter-frame prediction (S135).

[0120] Thus, after implementing RAHT, the encoding device performs intra-frame prediction when the conditions for performing intra-frame prediction are met, and otherwise performs inter-frame prediction. This allows, for example, in scenes with fast inter-frame motion where inter-frame prediction is difficult, to perform intra-frame prediction when possible, and to generate prediction values through inter-frame prediction when intra-frame prediction is not possible, thereby improving encoding efficiency.

[0121] Furthermore, the encoding device may switch between prioritizing inter-frame prediction (as in the first example) and prioritizing intra-frame prediction (as in the third example) on a sequence, frame, or slice basis. For example, the encoding device adds information indicating whether to prioritize inter-frame prediction (i.e., whether to prioritize inter-frame prediction or intra-frame prediction), namely, raht_inter_priority_enable, to the bitstream. If the value of raht_inter_priority_enable is 1, the encoding device prioritizes inter-frame prediction (as in the first example). If the value of raht_inter_priority_enable is 0, the encoding device prioritizes intra-frame prediction (as in the third example).

[0122] For example, in scenes with fast motion, the encoding device sets raht_inter_priority_enable to 0 to prioritize intra-frame prediction, and otherwise sets raht_inter_priority_enable to 1 to prioritize inter-frame prediction. This allows the encoding device to switch the preferred prediction method to a prediction method appropriate for the scene, thereby improving encoding efficiency.

[0123] In addition, Figure 13 In the process shown, step S141 can also be combined with Figure 3 Step S102 similarly includes determining whether the depth of the target node is the depth of the inter-frame prediction target. In this case, if the depth of the target node is the depth of the inter-frame prediction target and there is a node at the same position as the target node in the reference frame, the encoding device applies inter-frame prediction to the target node and encodes it (S142). Otherwise, it does not apply prediction to the target node and encodes it (S143). Thus, the encoding device can improve encoding efficiency by applying inter-frame prediction to the upper layer that contains a large number of low-frequency components that have little change due to the passage of time.

[0124] [Third Example of Predictive Decoding Processing of Transform Coefficients]

[0125] A third example of a method of switching prediction methods in a decoding device corresponding to the encoding device of the third example described above will be described. Figure 14 This is a flowchart of a third example of the decoding process of transform coefficients. Figure 14 The processing shown is repeatedly performed on each node of the Octree hierarchy included in the target frame to be decoded, for example.

[0126] First, the decoding apparatus determines whether to perform intra-frame prediction by determining whether the conditions for performing intra-frame prediction are met (S231). For example, the determination is made using the Figure 8 The same method as step S211 shown.

[0127] If the conditions for implementing intra-frame prediction are met (Yes in S231), the decoding device applies intra-frame prediction to perform decoding (S232). On the other hand, if the conditions for implementing intra-frame prediction are not met (No in S231), the decoding device performs inter-frame prediction processing (S233).

[0128] Figure 15 This is a flowchart of the inter-frame prediction process (S233). First, the decoding device determines whether there is a node at the same position as the target node in the reference frame (reference point group) (S241). If the decoding device determines that there is a node at the same position as the target node in the reference frame (Yes in S241), it applies inter-frame prediction to the target node and performs decoding (S242).

[0129] On the other hand, when the decoding device determines that there is no node at the same position as the target node in the reference frame (No in S241 ), it performs decoding without applying prediction to the target node ( S243 ).

[0130] Next, if Figure 14 As shown, after step S232 or S233, the decoding device stores the transform coefficients of the target node in a memory for inter-frame prediction (S234). Finally, the decoding device generates attribute information of the target node by performing inverse RAHT on the transform coefficients obtained in step S232 or S233 (S235).

[0131] Thus, in the third example, the decoding device prioritizes intra-frame prediction over inter-frame prediction. Specifically, the decoding device performs intra-frame prediction when the conditions for performing intra-frame prediction are met, and otherwise performs inter-frame prediction. This allows the decoding device to properly decode the bitstream generated by the encoding device.

[0132] Furthermore, the decoding device may switch between prioritizing inter-frame prediction (as in the first example) and prioritizing intra-frame prediction (as in the third example) on a sequence, frame, or slice basis. For example, the decoding device may decode raht_inter_priority_enable, which indicates whether to prioritize inter-frame prediction (either inter-frame prediction or intra-frame prediction) from the bitstream. The decoding device may prioritize inter-frame prediction (as in the first example) when the value of raht_inter_priority_enable is 1, and prioritize intra-frame prediction (as in the third example) when the value of raht_inter_priority_enable is 0. This allows the decoding device to appropriately decode the bitstream generated by the encoding device.

[0133] In addition, Figure 15 In the process shown, step S241 can also be combined with Figure 7 Step S201 similarly includes determining whether the depth of the target node is the depth of an inter-frame prediction target. In this case, if the depth of the target node is the depth of an inter-frame prediction target and there is a node at the same position as the target node in the reference frame, the decoding device applies inter-frame prediction to the target node and decodes it (S242). Otherwise, it decodes the target node without applying prediction (S243). Thus, by applying inter-frame prediction to the upper layer that contains a large number of low-frequency components that have little change due to the passage of time, the decoding device can appropriately decode a bitstream with improved coding efficiency.

[0134] [Fourth Example of Predictive Coding Processing of Transform Coefficients]

[0135] Next, a fourth example of the method of switching the prediction method of the encoding device will be described. Figure 16 This is a flowchart of a fourth example of the encoding process of transform coefficients. Figure 16 The above-described processing is repeated for each node of the Octree hierarchy included in the target frame to be coded, for example. First, the coding apparatus calculates a transform coefficient by performing RAHT on the target node (S151).

[0136] Next, the encoding device performs intra-frame prediction processing (S152). For example, the intra-frame prediction processing (S152) is the same as Figure 4 Next, the encoding device performs inter-frame prediction processing (S153). For example, the inter-frame prediction processing (S153) is the same as Figure 13 The processing shown is the same.

[0137] Next, the encoding apparatus compares the code amount of the encoded data obtained in step S152 when the intra prediction is applied and the code amount of the encoded data obtained in step S153 when the inter prediction is applied ( S154 ).

[0138] If the amount of code for the encoded data when inter-frame prediction is applied is less than the amount of code for the encoded data when intra-frame prediction is applied (Yes in S154), the encoding device sets raht_inter_node to 1 and stores raht_inter_node in the bitstream (S155). Next, the encoding device stores the difference value obtained by inter-frame prediction in step S153 in the bitstream (S156).

[0139] On the other hand, if the amount of code in the coded data when intra-frame prediction is applied is less than the amount of code in the coded data when inter-frame prediction is applied (No in S154), the encoding device sets raht_inter_node to a value of 0 and stores raht_inter_node in the bitstream (S157). Next, the encoding device stores the difference value obtained by intra-frame prediction in step S152 in the bitstream (S158).

[0140] Next, the encoding apparatus stores the transform coefficient of the target node in a memory for use in inter-frame prediction ( S159 ).

[0141] Thus, in the fourth example, the encoding device determines, for example, whether intra-frame prediction or inter-frame prediction is applied to the transform coefficient for each node, and appends information (raht_inter_node) indicating which prediction is applied to the bitstream. For example, if the value of raht_inter_node is 1, it indicates that inter-frame prediction is applied to the target node, and if the value of raht_inter_node is 0, it indicates that intra-frame prediction is applied to the target node.

[0142] Thus, the decoding apparatus can determine whether intra prediction or inter prediction should be applied to the target node by decoding raht_inter_node, and can appropriately decode the bitstream.

[0143] Furthermore, in step S154, for example, the encoding device may compare the code amounts of the encoded data obtained by arithmetic coding the difference values between inter-frame prediction and intra-frame prediction, and select the prediction method with the smaller code amount. This allows for appropriate selection of the prediction method with the smaller code amount for each node, thereby improving encoding efficiency. Alternatively, the encoding device may compare the code amounts of the difference values before arithmetic coding between inter-frame prediction and intra-frame prediction, and select the prediction method with the smaller code amount. This reduces the amount of processing required to calculate the code amount. Furthermore, the code amount used for determination may include the code amount of raht_inter_node in addition to the code amount of the difference value. This allows for selection of a prediction method that strikes a balance between the code amount of the difference value and the code amount of raht_inter_node, thereby improving encoding efficiency.

[0144] In addition, an example of appending raht_inter_node to the bitstream for each node is shown here, but the present invention is not limited to this. For example, for each transform coefficient, information indicating the prediction method (intra-frame prediction or inter-frame prediction) applied to the transform coefficient can be appended to the bitstream. In this way, by switching the appropriate prediction method for each transform coefficient, coding efficiency can be improved. In addition, for example, for each layer, information indicating the prediction method (intra-frame prediction or inter-frame prediction) applied to the layer can be appended to the bitstream. In this way, by switching the appropriate prediction method for each layer, coding efficiency can be improved.

[0145] [Fourth Example of Predictive Decoding Processing of Transform Coefficients]

[0146] A fourth example of a method of switching prediction methods in a decoding device corresponding to the encoding device of the fourth example described above will be described. Figure 17 This is a flowchart of a fourth example of the decoding process of transform coefficients. Figure 17 The processing shown is repeatedly performed on each node of the Octree hierarchy included in the target frame to be decoded, for example.

[0147] First, the decoding apparatus decodes (acquires) information (raht_inter_node) indicating whether the transform coefficient is encoded using intra-frame prediction or inter-frame prediction for each node ( S251 ).

[0148] Next, the decoding device refers to raht_inter_node and determines whether to decode the target node using intra prediction or inter prediction (S252). Specifically, when raht_inter_node = 1 (Yes in S252), the decoding device determines that the target node is encoded using inter prediction and performs inter prediction processing (S253). For example, the inter prediction processing (S253) is the same as Figure 15 The processing shown is the same.

[0149] On the other hand, when raht_inter_node=0 (No in S252), the decoding device determines that the target node is encoded using intra prediction and performs intra prediction processing (S254). Figure 8 The processing shown is the same.

[0150] Next, the decoding apparatus stores the transform coefficients of the target node in a memory for use in inter-frame prediction ( S255 ) Finally, the decoding apparatus generates attribute information of the target node by performing inverse RAHT on the transform coefficients obtained in step S253 or S254 ( S256 ).

[0151] In this way, the decoding apparatus can appropriately decode a bit stream with improved coding efficiency by selecting an appropriate prediction method for each node.

[0152] In addition, an example of decoding a bitstream to which raht_inter_node is added for each node is shown here, but the present invention is not limited to this. For example, the decoding device can decode information indicating the prediction method (intra-frame prediction or inter-frame prediction) applied to each transform coefficient from the bitstream. As a result, the decoding device can appropriately decode a bitstream in which coding efficiency is improved by switching the appropriate prediction method for each transform coefficient. In addition, for example, the decoding device can decode information indicating the prediction method (intra-frame prediction or inter-frame prediction) applied to each layer from the bitstream. As a result, the decoding device can appropriately decode a bitstream in which coding efficiency is improved by switching the appropriate prediction method for each layer.

[0153] [Grammar example]

[0154] Figure 18 This is a diagram showing an example of the syntax of attribute data (attribute_data). Attribute data is coded data generated by encoding attribute information. Figure 18 As shown, the attribute data includes ZeroCnt, raht_inter_coeff[i+j] and attribute_value[i].

[0155] ZeroCnt represents the number of consecutive zero values in the quantized transform coefficient. ZeroCnt can be binarized and arithmetic coded.

[0156] raht_inter_coeff[i+j] indicates whether the coeff as the (i+j)th transform coefficient is encoded using intra prediction or inter prediction. For example, if the value of raht_inter_coeff[i+j] is 1, it indicates that the (i+j)th coeff is encoded using inter prediction. If the value of raht_inter_coeff[i+j] is 0, it indicates that the (i+j)th coeff is encoded using intra prediction.

[0157] Thus, by decoding raht_inter_coeff[i+j], the decoding device can determine whether intra-frame prediction or inter-frame prediction should be used to decode the (i+j)th coeff, and can appropriately decode the bitstream. Alternatively, the value of raht_inter_coeff can be entropy-coded and appended to the header. For example, raht_inter_coeff can be binarized and arithmetic-coded.

[0158] Furthermore, the encoding device can adaptively switch the context used while performing arithmetic coding on raht_inter_coeff. For example, the encoding device can switch the context used based on the value of raht_inter_coeff encoded immediately before the raht_inter_coeff being encoded. More specifically, the encoding device can select context 0 if the value of raht_inter_coeff encoded immediately before the raht_inter_coeff being encoded is 0, meaning that the immediately preceding coeff was encoded using intra-frame prediction. It can also select context 1 if the value of raht_inter_coeff encoded immediately before the raht_inter_coeff being encoded is 1, meaning that the immediately preceding coeff was encoded using inter-frame prediction. This improves the efficiency of arithmetic coding of raht_inter_coeff and reduces the amount of code required when intra-frame prediction or inter-frame prediction occurs continuously. Furthermore, the encoding device can encode raht_inter_coeff with a fixed length to reduce processing overhead.

[0159] In addition, while this example shows the addition of information (raht_inter_coeff) to the bitstream indicating whether intra prediction or inter prediction was used for each coeff, the present invention is not necessarily limited to this. For example, a raht_inter_node can be added to the bitstream. This raht_inter_node is information indicating whether intra prediction or inter prediction was used for each target node to which the target coeff belongs. This information can be shared by multiple coeffs belonging to the target node. More specifically, if a target node contains three coeffs, and the value of raht_inter_node attached to the target node is 1, the decoding device determines that all three coeffs belonging to the target node were encoded using inter prediction. On the other hand, if the value of raht_inter_node attached to the target node is 0, the decoding device determines that all three coeffs belonging to the target node were encoded using intra prediction. In this way, by sharing raht_inter_node among multiple coeffs included in the same target node, the bitstream code size can be reduced, and coding efficiency can be improved by appropriately applying intra prediction and inter prediction.

[0160] Alternatively, the encoding device may adaptively switch the context used while performing arithmetic coding on raht_inter_node. For example, the encoding device may switch the context used based on the value of the raht_inter_node encoded immediately before the raht_inter_node being encoded. More specifically, the encoding device may select context 0 if the value of the raht_inter_node encoded immediately before the raht_inter_node being encoded was 0, meaning the immediately preceding node was encoded using intra-frame prediction. It may also select context 1 if the value of the raht_inter_node encoded immediately before the raht_inter_node being encoded was 1, meaning the immediately preceding node was encoded using inter-frame prediction. This improves the efficiency of arithmetic coding of raht_inter_node when intra-frame prediction or inter-frame prediction occurs continuously, thereby reducing the amount of code. Furthermore, the encoding device may encode raht_inter_node with a fixed length to reduce processing overhead.

[0161] In addition, when the object coeff or object node is included in the range (depth) of the inter-frame prediction object, the encoding device may append raht_inter_coeff or raht_inter_node to the bitstream. For example, when the depth of the object node to which the object coeff belongs is the depth of the inter-frame prediction object, raht_inter_coeff or raht_inter_node is appended to the bitstream. This makes it possible to notify the decoding device whether the object coeff is encoded using intra-frame prediction or inter-frame prediction. On the other hand, when the object node to which the object coeff belongs is not included in the range of the inter-frame prediction object, the encoding device may not append raht_inter_coeff or raht_inter_node to the bitstream. In this case, the decoding device may also regard it as raht_inter_coeff = 0 or raht_inter_node = 0 and decode the object coeff through intra-frame prediction.

[0162] In this way, when the object node to which the object coeff belongs is included in the range of the inter-frame prediction object, the encoding device adds raht_inter_coeff or raht_inter_node to the bitstream. This can reduce the amount of code in the bitstream and improve coding efficiency by switching between intra-frame prediction and inter-frame prediction for each object coeff.

[0163] attribute_value[i] represents the value of the i-th coeff (transform coefficient). Furthermore, attribute_value can be composed of multiple components. For example, attribute_value can also include a sign bit indicating the positive or negative sign of the transform coefficient and a coefficient value indicating the absolute value of the transform coefficient.

[0164] Furthermore, attribute_value can be entropy-encoded and appended to the header. For example, attribute_value can be binarized and arithmetic-encoded. Furthermore, to reduce the amount of processing, attribute_value can be encoded with a fixed length.

[0165] In addition, when each bit after binarization is arithmetically coded, the coding device can also switch the coding table (or context) for each bit. In this way, the coding efficiency can be improved. For example, the context used for arithmetic coding of attribute_value[i] can be switched according to the value of raht_inter_coeff[i] of the i-th coeff. Specifically, raht_inter_coeff[i]=0, that is, the context for intra-frame prediction, and raht_inter_coeff[i]=1, that is, the context for inter-frame prediction, can be prepared separately, and the context used in arithmetic coding can be switched according to which of intra-frame prediction and inter-frame prediction is used for the object node. In this way, even in the case where the prediction accuracy is different in intra-frame prediction and inter-frame prediction, and the occurrence tendency of transform coefficients is different, appropriate context can be used in intra-frame prediction and inter-frame prediction, thereby improving coding efficiency.

[0166] In addition, the method of switching the context of attribute_value is not limited to the above-mentioned method. For example, the context can also be switched based on whether the depth of the object node to which coeff belongs is included in the range (depth) of the inter-frame prediction object. For example, in the case where the depth of the object node to which coeff belongs is included in the range of the inter-frame prediction object, attribute_value is a transform coefficient generated by intra-frame prediction or a transform coefficient generated by inter-frame prediction. On the other hand, in the case where the depth of the object node to which coeff belongs is not included in the range of the inter-frame prediction object, the transform coefficient generated by intra-frame prediction is used as attribute_value. In this way, depending on whether the depth of the object node is included in the range of the inter-frame prediction object, the occurrence tendency of the value of attribute_value may be different, so by using different contexts in each case, the coding efficiency can be improved.

[0167] Furthermore, the encoding device can switch the context used for arithmetic coding of attribute_value[i] based on the value of raht_inter_node of the node to which the i-th coeff belongs. This allows for the use of appropriate contexts for intra-frame prediction and inter-frame prediction, even in situations where prediction accuracy differs between intra-frame prediction and inter-frame prediction, or where the generation tendency of transform coefficients differs. This improves encoding efficiency.

[0168] Furthermore, although the context switching in arithmetic coding of the encoding device is described here, the same method can be applied to the context switching in arithmetic decoding of the decoding device.

[0169] Figure 19 This figure shows an example of the APS syntax. An APS (Attribute Parameter Set) is control information (also called a parameter set or metadata) included in the bitstream and is related to the encoding of attribute information. For example, an APS is common control information across multiple frames.

[0170] like Figure 19 As shown, APS includes inter_raht_prediction_enabled, depth, and raht_inter_priority_enable.

[0171] inter_raht_prediction_enable is a flag that indicates whether inter-frame prediction is applied to attribute information (transform coefficients after RAHT). In other words, this flag indicates whether the inter-frame prediction method is valid. Furthermore, inter_raht_predition_enable is stored in the APS when RAHT is selected as the encoding method for attribute information; otherwise, it is not stored in the APS. Furthermore, inter_raht_predition_enable is stored in the APS when RAHT is selected and predictive coding is selected within the RAHT method; otherwise, it is not stored in the APS. This reduces the amount of header code.

[0172] When inter_raht_prediction_enabled indicates that the inter prediction mode is applied, the APS includes depth and raht_inter_priority_enable.

[0173] Depth is information indicating the depth at which inter-frame prediction is applied (the range of inter-frame prediction targets). For example, it can be stipulated that inter-frame prediction must be applied to the highest layer, and depth indicates the depth - 1 at which inter-frame prediction is applied. For example, inter-frame prediction is applied to layers above (or above) the depth (or depth - 1) indicated by depth, and inter-frame prediction is not applied to layers below (or below) the depth (or depth - 1) indicated by depth.

[0174] raht_inter_priority_enable is information indicating whether to prioritize inter-frame prediction (inter-frame prediction or intra-frame prediction). When the value of raht_inter_priority_enable is 1, inter-frame prediction is prioritized, as in the first example. When the value of raht_inter_priority_enable is 0, intra-frame prediction is prioritized, as in the third example. Thus, for example, in scenes with fast motion, setting raht_inter_priority_enable to 0 prioritizes intra-frame prediction. Otherwise, setting raht_inter_priority_enable to 1 prioritizes inter-frame prediction. This allows the encoding device to switch the prediction method used to one appropriate for the scene, thereby improving encoding efficiency.

[0175] Furthermore, when inter_raht_prediction_enabled=1, that is, when inter-frame prediction is applied, the encoding apparatus can reduce the bit amount by adding raht_inter_priority_enable to the bitstream.

[0176] [Modification]

[0177] In any of the first to fourth examples, the encoding device may always perform the encoding regardless of the depth of the target node or whether inter-frame prediction is applied. Figure 4 and Figure 5 Alternatively, the encoding device may calculate the number of nearby nodes required for intra-frame prediction regardless of the prediction mode used. Here, when processing switches from a layer applying inter-frame prediction to a layer applying intra-frame prediction, the number of nearby nodes is required for intra-frame prediction processing. In contrast, by precalculating the number of nearby nodes even when applying inter-frame prediction, intra-frame prediction processing can be immediately applied when switching to intra-frame prediction, thereby improving encoding efficiency.

[0178] Furthermore, the encoding device may initialize the control of determining the conditions for implementing intra-frame prediction when the depth of the target node is the depth of the inter-frame prediction target or when intra-frame prediction is performed without inter-frame prediction. For example, through this initialization, the conditions for implementing intra-frame prediction are immediately applied when inter-frame prediction is not performed. More specifically, Figure 5 In determining the conditions for executing intra-frame prediction, the encoding device initializes the number of neighboring nodes to a value greater than a threshold. This ensures that the conditions for executing intra-frame prediction are met when resuming intra-frame prediction. Consequently, intra-frame prediction can be immediately applied when switching to intra-frame prediction, thereby improving encoding efficiency.

[0179] Furthermore, the encoding device may read the attribute information of the parent node used in the intra prediction from the reference memory regardless of the prediction mode applied. This can shorten the processing time when the intra prediction is selected.

[0180] In addition, in intra-frame prediction, the encoding device can temporarily use the attribute information of nearby nodes to calculate the predicted value of the attribute information of the target node, and apply the RAHT transform to it to calculate the predicted transform coefficient. On the other hand, in the case of inter-frame prediction, the encoding device can store the predicted transform coefficient of the reference frame in a reference buffer in advance, and use it as the predicted transform coefficient by reading its value. That is, the calculation method of the predicted transform coefficient can be different in intra-frame prediction and inter-frame prediction. Therefore, when the encoding device selects inter-frame prediction, by directly using the predicted transform coefficient of the reference frame, it is possible to reduce the processing amount and the overall processing time compared to intra-frame prediction in which the RAHT transform is applied to the predicted value.

[0181] Furthermore, the information stored in the reference buffer can differ between intra-frame prediction and inter-frame prediction. For example, the reference buffer for intra-frame prediction can store attribute information of nearby nodes, while the reference buffer for inter-frame prediction can store transform coefficients of attribute information of the reference frame. By switching the information stored in the reference buffer according to the prediction method in this way, the processing load can be reduced by making the processing of each prediction method more efficient.

[0182] For example, in intra-frame prediction, the encoding device calculates a prediction value based on attribute information of nearby nodes, performs a RAHT transform on the prediction value to calculate a prediction transform coefficient, subtracts the prediction transform coefficient from the transform coefficient of the target node to calculate a difference value (prediction residual), and encodes the difference value (e.g., entropy coding). In inter-frame prediction, the encoding device reads the prediction transform coefficient at the same position from a reference frame, subtracts the prediction transform coefficient from the transform coefficient of the target node to calculate a difference value, and encodes the difference value (e.g., entropy coding).

[0183] The encoding device may also perform inter-frame prediction on the transform coefficients when intra-frame prediction is not possible, and conversely perform intra-frame prediction when inter-frame prediction is not possible. This can increase the number of nodes that become prediction targets of the target node, thereby improving encoding efficiency.

[0184] As the implementation conditions of inter-frame prediction (method of selecting a prediction method), for example, the following conditions can be used. The encoding device can also select a prediction method (inter-frame prediction or intra-frame prediction) based on the distance between the position of the object node and the position of the reference node. For example, when the distance is closer than a predetermined threshold, the encoding device determines that the accuracy of inter-frame prediction is higher and selects inter-frame prediction. The encoding device can also determine that the accuracy of intra-frame prediction is higher than that of inter-frame prediction when the distance is greater than the above threshold and select intra-frame prediction. In this way, the encoding device can improve encoding efficiency by appropriately switching between inter-frame prediction and intra-frame prediction according to the distance between the object node and the reference node.

[0185] For example, the encoding device may select a prediction method based on whether the presence patterns of nodes near the target node and those near the reference node are consistent or inconsistent. For example, the more consistent the patterns, the greater the effect of inter-frame prediction can be expected from a similarity perspective. Therefore, the encoding device selects inter-frame prediction when the patterns are consistent, and selects intra-frame prediction when the patterns are inconsistent. This improves encoding efficiency.

[0186] For example, the encoding device may select a prediction method based on whether the target node and the reference node have the same or different moving speeds or directions. When the moving speeds or directions are consistent, inter-frame prediction can be expected to be more effective. Therefore, the encoding device selects inter-frame prediction when the moving speeds or directions are consistent to a certain degree or more (when the difference is less than a threshold), and otherwise selects intra-frame prediction. This improves encoding efficiency.

[0187] For example, the encoding device may select a prediction method based on the correlation between the attributes of the target node and the reference node. When the attribute correlation is high, inter-frame prediction is expected to be effective. Therefore, the encoding device selects inter-frame prediction when the correlation between the attributes of the target node and the reference node is above a predetermined threshold; otherwise, it selects intra-frame prediction. This improves encoding efficiency.

[0188] For example, the encoding device may also select a prediction method based on the density of three-dimensional points contained in the processing unit (e.g., sequence, frame, or slice) to which the target node or reference node belongs. When the density is high, the distance between adjacent nodes is small, and it can be expected that the intra-frame prediction effect will be good. Therefore, the encoding device may also determine not to perform inter-frame prediction (implement intra-frame prediction) when the density is high. In addition, the density can be determined based on, for example, the number of nodes per unit space, the distance between the target node and nearby nodes, or the pattern of nearby nodes.

[0189] Furthermore, multiple conditions shown above may be combined. For example, a predetermined prediction method (inter-frame prediction or intra-frame prediction) may be selected when all two or more conditions are satisfied, or a predetermined prediction method (inter-frame prediction or intra-frame prediction) may be selected when at least one of two or more conditions is satisfied.

[0190] Alternatively, the execution condition to be used may be selected from a plurality of execution conditions for each processing unit. Here, the processing unit is, for example, a node, a slice, a frame, or a sequence.

[0191] Furthermore, the multiple implementation conditions may include a mode in which intra-frame prediction is unconditionally implemented or a mode in which intra-frame prediction is unconditionally not implemented. Furthermore, the multiple implementation conditions may include a mode in which inter-frame prediction is unconditionally implemented or a mode in which inter-frame prediction is unconditionally not implemented.

[0192] Furthermore, a third prediction method other than the intra-frame prediction method and the inter-frame prediction method may also be provided with a third prediction method implementation condition. The encoding device may implement one of the three prediction methods based on the implementation condition. If the third prediction method is not implemented, the encoding device may implement one of the remaining two prediction methods. Furthermore, if neither prediction method is implemented, the encoding device may implement the remaining prediction method.

[0193] In addition, although the operation of the encoding device is described here as an example, the same operation can also be performed in the decoding device.

[0194] Furthermore, the encoding device can also determine the priority between intra-frame prediction and inter-frame prediction. This allows the encoding device to select the optimal prediction method according to the sequence or situation, and can be expected to improve encoding efficiency.

[0195] As a condition for whether to prioritize intra-frame prediction (whether to prioritize intra-frame prediction or inter-frame prediction), the following conditions can be used, for example. For example, the encoding device may also determine the priority prediction method (intra-frame prediction or inter-frame prediction) based on the level of RAHT to which the object node belongs. Here, the lower the level, the narrower the spatial range, so the possibility of good efficiency of intra-frame prediction is high. In addition, since it is difficult to perform intra-frame prediction at the upper level, the possibility of good effect of inter-frame prediction is high. Therefore, the encoding device may prioritize intra-frame prediction for nodes belonging to the lower level, and prioritize inter-frame prediction for nodes belonging to the upper level.

[0196] For example, the encoding device may determine the preferred prediction method based on the density of 3D points included in the target processing unit or reference processing unit. Here, the processing unit is, for example, a sequence, frame, or slice. Intra-frame prediction is more efficient in processing units with dense point clusters, while inter-frame prediction is more likely to be more efficient in processing units with sparse point clusters. Therefore, the encoding device may prioritize intra-frame prediction when the density of the processing unit is above a predetermined threshold, and prioritize inter-frame prediction when the density of the processing unit is below the threshold.

[0197] For example, the encoding device may determine the preferred prediction method based on the difference in motion, speed, or direction between the target processing unit and the reference processing unit. For example, when the motion between the two is small, inter-frame prediction is likely to be effective, while when the motion is large, intra-frame prediction is more likely to be effective. This tendency also applies to speed and direction. Therefore, the encoding device may prioritize inter-frame prediction when the difference in motion, speed, or direction is less than a predetermined threshold, and prioritize intra-frame prediction when the difference in motion, speed, or direction is greater than the threshold.

[0198] For example, the encoding device may determine the preferred prediction method based on the correlation between the attributes of the target processing unit and the reference processing unit. When the absolute value of the correlation is large, inter-frame prediction is more efficient, while when the absolute value of the correlation is small, intra-frame prediction is more likely to be more efficient. Therefore, the encoding device may prioritize inter-frame prediction when the absolute value of the correlation is greater than a predetermined threshold, and prioritize intra-frame prediction when the absolute value of the correlation is less than the threshold.

[0199] For example, the encoder can also determine the preferred prediction method based on the setting value stored in the control information such as the SPS included in the bitstream. This allows the encoder to select a prediction method that is appropriate for the sequence. The SPS (Sequence Parameter Set) is control information (parameter set) that is common across multiple frames.

[0200] Alternatively, the decoding device can determine the preferred prediction method based on information such as flags contained in the bitstream. This allows the selection of a prediction method appropriate for the sequence or situation. Furthermore, this information can be stored per node, slice, frame, or sequence.

[0201] Furthermore, multiple conditions shown above may be combined. For example, a predetermined prediction method (inter-frame prediction or intra-frame prediction) may be prioritized when all two or more conditions are satisfied, or a predetermined prediction method (inter-frame prediction or intra-frame prediction) may be prioritized when at least one of two or more conditions is satisfied.

[0202] Alternatively, a condition to be used based on a plurality of conditions may be selected for each processing unit. Here, the processing unit is, for example, a node, a slice, a frame, or a sequence.

[0203] Furthermore, the multiple conditions may include a mode in which intra-frame prediction is unconditionally prioritized or a mode in which inter-frame prediction is unconditionally not prioritized. Furthermore, the multiple conditions may include a mode in which inter-frame prediction is unconditionally prioritized or a mode in which inter-frame prediction is unconditionally not prioritized.

[0204] Furthermore, similarly, with respect to the prioritization of a third prediction method other than the prioritization of intra-frame prediction and inter-frame prediction, a condition for prioritizing the third prediction method may be set. The encoding device may select a prioritized prediction method based on the condition for prioritizing one of the three prediction methods. If the prioritized prediction method is not prioritized, the encoding device may prioritize one of the remaining two prediction methods. Furthermore, if neither of the two prediction methods is prioritized, the encoding device may prioritize the remaining prediction method.

[0205] In addition, although the operation of the encoding device is described here as an example, the same operation can also be performed in the decoding device.

[0206] In addition, while the above description describes an example of predicting transform coefficients generated using RAHT, the same method can also be applied to coefficients generated using transform methods other than RAHT. When coefficients generated using transform methods other than RAHT are correlated, coding efficiency may be improved. Transform methods other than RAHT may also be, for example, hierarchical transforms using a Dyadic tree, as in RAHT. Furthermore, transform methods other than RAHT are not limited to hierarchical transforms; they only require determining the value of each component of the attribute information. For example, transform methods other than RAHT may also be principal component analysis.

[0207] [Summarize]

[0208] The decoding device (three-dimensional data decoding device) of the embodiment performs Figure 20The decoding apparatus determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction (neither inter-frame prediction nor intra-frame prediction) on a target node included in a target coding unit (e.g., a sequence, a frame, a slice, or a tile) (S301), and calculates attribute values of three-dimensional points included in the target coding unit by performing the determined inter-frame prediction, intra-frame prediction, or no prediction and inverse hierarchical transform processing (e.g., inverse RAHT or inverse Haar transform) on the target node (S302). The target node has coefficients (e.g., transform coefficients) generated by the hierarchical transform processing (e.g., RAHT or Haar transform) of the encoding apparatus. In the hierarchical transform processing, the attribute values are transformed into coefficients, and in the inverse hierarchical transform processing, the coefficients are transformed into attribute values.

[0209] According to this, the encoding device can generate a bit stream with improved coding efficiency by adaptively using inter-frame prediction, intra-frame prediction, and no prediction. In addition, the decoding device can appropriately decode the bit stream.

[0210] For example, a hierarchical transformation process is applied to two coefficients of two nodes to calculate the coefficient of the node above the two adjacent nodes. This hierarchical transformation makes it easier for coefficients to be correlated between coding units. This improves prediction accuracy and thus coding efficiency.

[0211] For example, if the depth of the target node in the octree structure is greater than a first threshold, intra-frame prediction is determined. If the depth is less than the first threshold, inter-frame prediction is determined. Thus, coding efficiency is improved by applying inter-frame prediction to higher-level layers containing a large number of low-frequency components of attribute values. Furthermore, coding efficiency is improved by applying intra-frame prediction to lower-level layers containing a large number of high-frequency components.

[0212] For example, when the depth of the target node in the octree structure is greater than a first threshold, it is determined to perform inter-frame prediction, and when the depth is less than the first threshold, it is determined to perform intra-frame prediction.

[0213] For example, if the depth of the target node in the octree structure is greater than a first threshold, intra-frame prediction is determined. If the depth is below the first threshold, either inter-frame prediction or intra-frame prediction is determined. Thus, coding efficiency is improved by applying intra-frame prediction to lower layers containing more high-frequency components. Applying either inter-frame prediction or intra-frame prediction to higher layers increases the number of instances where prediction is applied, thereby improving coding efficiency.

[0214] For example, when the depth of the target node in the octree structure is greater than a first threshold, it is determined to perform either inter prediction or intra prediction; and when the depth is less than the first threshold, it is determined to perform intra prediction.

[0215] For example, the decision is made based on information included in the bitstream (S301). Based on this, the decoding device can appropriately decode the bitstream generated by the encoding device with improved coding efficiency. In addition, since the decision processing in the decoding device is not required, the processing amount in the decoding device can be reduced.

[0216] For example, the determination (S301) includes comparing the second threshold value with the number of neighboring nodes of the parent node or grandparent node of the target node, and the number of neighboring nodes is calculated regardless of whether intra prediction is determined. Thus, for example, when the number of neighboring nodes is required for intra prediction, the decoding device can immediately perform intra prediction even when the prediction method used is switched from a method other than intra prediction to intra prediction.

[0217] For example, in intra-frame prediction, the attribute value of the parent node of the target node is stored in the reference memory. Regardless of whether intra-frame prediction is determined, the attribute value of the parent node is stored in the reference memory. This allows the decoding device to immediately perform intra-frame prediction even when the prediction method used is switched from a method other than intra-frame prediction to intra-frame prediction.

[0218] For example, a decision is made for each depth to which the target node belongs (S301). Thus, encoding efficiency is improved by selecting a prediction method for each depth.

[0219] Figure 21 This is a block of the decoding device 10. For example, the decoding device 10 includes a processor 11 and a memory 12. The processor 11 uses the memory 12 to perform the above-mentioned processing.

[0220] In addition, the encoding device (three-dimensional data encoding device) of the embodiment performs Figure 22 The encoding device determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction (neither inter-frame prediction nor intra-frame prediction) on the object node included in the object coding unit (such as a sequence, a frame, a slice, or a tile) (S311), and performs a hierarchical transform process (such as RAHT or Haar transform) for transforming the attribute value into a coefficient and the determined inter-frame prediction, intra-frame prediction, or no prediction on the attribute value of the three-dimensional point included in the object coding unit (S312).

[0221] According to this, the encoding device can improve encoding efficiency by adaptively using inter-frame prediction, intra-frame prediction, and no prediction.

[0222] Furthermore, the encoding device may perform the same processing as the decoding device. For example, the encoding device may perform a process in which the decoding in the decoding device is replaced with encoding.

[0223] Figure 23 This is a block of the encoding device 20. For example, the encoding device 20 includes a processor 21 and a memory 22. The processor 21 uses the memory 22 to perform the above-mentioned processing.

[0224] While the encoding device (three-dimensional data encoding device) and decoding device (three-dimensional data decoding device) according to the embodiment and modified examples of the present disclosure have been described above, the present disclosure is not limited to these embodiments.

[0225] Furthermore, the processing units included in the encoding device and decoding device of the above-described embodiment are typically implemented as LSIs, which are integrated circuits. These units may be implemented individually on a single chip, or partially or entirely on a single chip.

[0226] Furthermore, integrated circuits are not limited to LSIs and can also be implemented using dedicated circuits or general-purpose processors. Field Programmable Gate Arrays (FPGAs), which can be programmed after LSI fabrication, or reconfigurable processors, which can reconfigure the connections and settings of circuit cells within the LSI, can also be used.

[0227] In addition, in each of the above embodiments, each component may be formed by dedicated hardware, or implemented by executing a software program suitable for each component. Each component may also be implemented by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.

[0228] In addition, the present disclosure can also be implemented as an encoding method (three-dimensional data encoding method) or a decoding method (three-dimensional data decoding method) executed by an encoding device (three-dimensional data encoding device) and a decoding device (three-dimensional data decoding device).

[0229] In addition, the present disclosure may also be implemented as a program that causes a computer, processor, or device to execute the above-mentioned encoding method or decoding method. In addition, the present disclosure may also be implemented as a bitstream generated by the above-mentioned encoding method. In addition, the present disclosure may also be implemented as a recording medium having the program or the bitstream recorded thereon. For example, the present disclosure may also be implemented as a non-transitory computer-readable recording medium having the program or the bitstream recorded thereon.

[0230] The division of functional blocks in the block diagram is merely an example. It is also possible to implement multiple functional blocks as a single functional block, to divide a single functional block into multiple blocks, or to transfer some functions to other functional blocks. Furthermore, it is also possible to process the functions of multiple functional blocks having similar functions in parallel or in a time-sharing manner by a single piece of hardware or software.

[0231] The order in which the steps in the flowcharts are executed is an example for the purpose of specifically explaining the present disclosure, and may be an order other than the above. In addition, some of the steps may be executed simultaneously (in parallel) with other steps.

[0232] While one or more embodiments of encoding devices and decoding devices have been described above based on the embodiments, the present disclosure is not limited to these embodiments. As long as they do not depart from the spirit of the present disclosure, embodiments resulting from various modifications conceived by those skilled in the art to the present embodiment, and embodiments constructed by combining components from different embodiments, may also be included within the scope of one or more embodiments.

[0233] Industrial applicability

[0234] The present disclosure can be applied to encoding devices and decoding devices.

[0235] Description of Reference Numerals

[0236] 10Decoding device

[0237] 11, 21 processors

[0238] 22 Memory

[0239] 20 encoding device

Claims

1. A decoding method, wherein: Determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction on the target node included in the target coding unit. By performing the determined one of the inter-frame prediction, the intra-frame prediction, or the non-prediction and an inverse hierarchical transformation process on the target node, the attribute value of the three-dimensional point included in the target coding unit is calculated. The target node has coefficients generated by hierarchical transform processing of the encoding device, In the hierarchical transformation process, the attribute value is transformed into the coefficient, In the inverse hierarchical transform process, the coefficients are transformed into the property values.

2. The decoding method according to claim 1, wherein: The hierarchical transformation process is applied to two coefficients of two adjacent nodes to calculate a coefficient of an upper node located above the two nodes.

3. The decoding method according to claim 1, wherein: When the depth of the object node in the octree structure is greater than a first threshold, it is decided to perform the intra prediction. When the depth is equal to or smaller than the first threshold, it is decided to perform the inter-frame prediction.

4. The decoding method according to claim 1, wherein: When the depth of the object node in the octree structure is greater than a first threshold, it is decided to perform the inter-frame prediction. When the depth is equal to or smaller than the first threshold, it is decided to perform the intra prediction.

5. The decoding method according to claim 1, wherein: When the depth of the object node in the octree structure is greater than a first threshold, it is decided to perform the intra prediction. When the depth is equal to or smaller than the first threshold, it is determined to perform one of the inter prediction and the intra prediction. The decoding method according to claim 1 , wherein: When the depth of the target node in the octree structure is greater than a first threshold, it is determined to perform one of the inter prediction and the intra prediction. When the depth is equal to or smaller than the first threshold, it is decided to perform the intra prediction.

7. The decoding method according to claim 1, wherein: The decision is made based on information contained in the bitstream.

8. The decoding method according to claim 1, wherein: The determination includes comparing a second threshold with the number of neighboring nodes of a parent node or a grandparent node of the target node, and the number of neighboring nodes is calculated regardless of whether the intra prediction is determined.

9. The decoding method according to claim 1, wherein: In the intra prediction, the attribute value of the parent node of the target node is stored in a reference memory. Regardless of whether or not it is determined to perform the intra prediction, the attribute value of the parent node is stored in the reference memory.

10. The decoding method according to claim 1, wherein: The determination is made for each depth to which the object node belongs.

11. A coding method, wherein: Determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction on the target node included in the target coding unit. A hierarchical transformation process for transforming the attribute value into a coefficient and the determined one of the inter prediction, the intra prediction, or the non-prediction are performed on the attribute value of the three-dimensional point included in the target coding unit.

12. A decoding device, wherein: have: processor; and Memory, The processor uses the memory, Determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction on the target node included in the target coding unit. By performing the determined one of the inter-frame prediction, the intra-frame prediction, or the non-prediction and an inverse hierarchical transformation process on the target node, the attribute value of the three-dimensional point included in the target coding unit is calculated. The target node has coefficients generated by hierarchical transform processing of the encoding device, In the hierarchical transformation process, the attribute value is transformed into the coefficient, In the inverse hierarchical transform process, the coefficients are transformed into the property values.

13. An encoding device, wherein: have: processor; and Memory, The processor uses the memory, Determines whether to perform inter-frame prediction, intra-frame prediction, or no prediction on the target node included in the target coding unit. A hierarchical transformation process for transforming the attribute value into a coefficient and the determined one of the inter prediction, the intra prediction, or the non-prediction are performed on the attribute value of the three-dimensional point included in the target coding unit.

Citation Information

Patent Citations

  • Map display device

    WO2014020663A1