DETAILED ACTIONNotice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Applicant Response to Official Action
The response filed on 12/17/2025 has been entered and made of record.
Examiner's Note
The instant application has a lengthy prosecution history and the examiner encourages the applicant to have a telephonic interview with the examiner prior to filing a response to the instant office action. Also, prior to the interview the examiner encourages the applicant to present multiple possible claim amendments, so as to enable the examiner to identify claim amendments that will advance prosecution in a meaningful manner.
Acknowledgment
Claims 2-5, 11-12, 14-15, 17, 23, 25, 27-28 were canceled. They are acknowledged by the examiner.
Claims 10, 18 and 26, amended on 12/17/2025, are acknowledged by the examiner.
Response to Arguments
Applicant’s arguments with respect to claims 10, 26, and their dependent claims have been considered but they are moot in view of the new grounds of rejection necessitated by amendments initiated by the applicant. Examiner addresses the main arguments of the Applicant as below.
Regarding the 35 U.S.C. 112(a) rejection, the amendment filed on 12/17/2025 addresses the issue. As a result, the 35 U.S.C. 112(a) rejection is withdrawn.
Regarding the 35 U.S.C. 103 rejection, the Applicant stated that “Hur Fails to Disclose the Claimed Syntax Element for "Each Group” [Paragraph 4 on page 10], and “Kim Fails to Cure the Deficiency of Hur” [Paragraph 6 on page 11]
However these arguments are not persuasive for several reasons. Hur in fact teaches “each group”. In his invention, Hur discloses that points are organized into LODs or groups: ((i.e. groups points into LODs) [Hur: para. 0377]; (i.e. points may be divided into LODs and grouped) [Hur: para. 0274; Fig. 9]; (i.e. LOD0 is a set consisting of points) [Hur: para. 0275, 0377; Fig. 9]). In addition, Hur also discloses syntax element such as prediction mode for each group of points (i.e. According to embodiments, the prediction modes and residual attribute values encoded by the transmission device may be provided for each LOD) [Hur: para. 0378]. (obtaining a score of each predictor candidate and setting a prediction mode corresponding a predictor candidate that has a smallest score to a prediction mode of the point). Moreover, Hur also discloses that group of points is also represented by a bounding box (i.e. FIGS. 16(a) to 16(c) illustrate an embodiment of partitioning a bounding box into one or more tiles. As shown in FIG. 16(a), a point cloud object, which corresponds to point cloud data, may be expressed in the form of a box based on a coordinate system, which is referred to as a bounding box. In other words, the bounding box represents a cube capable of containing all points of the point cloud) [Hur: para. 0245; Figs. 16(a), (b)]. Hur also discloses that a bounding box, i.e. group of points, can be partitioned into tiles and slices (i.e. For example, when the bounding box shown in FIG. 16(a) is partitioned into tiles and slices as shown in of FIGS. 16(b) and 16(c), the tiles and/or slices may be combined based on the signaling information to restore the bounding box as shown in FIG. 16(a)) [Hur: para. 0398]. Hur further discloses geometry information, which is a syntax element for bounding box (i.e. The positions may be position information about the points included in a partitioned unit (box, block, tile, tile group, or slice), and are referred to as geometry information) [Hur: para. 0251]. Furthermore, Hur discloses several syntax elements related to the group of points (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401]. As a result, the Applicant’s argument “Hur Fails to Disclose the Claimed Syntax Element for "Each Group” is not persuasive. Accordingly, the Examiner respectfully maintains the rejections and applicability of the arts used.
Claim Rejection – 35 U.S.C. § 112
The following is a quotation of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same and shall set forth the best mode contemplated by the inventor of carrying out his invention.
The following is a quotation of 35 U.S.C. 112(b):
(B) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of pre-AIA 35 U.S.C. 112, second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 10, 13, 16, and 18-21 are rejected under 35 U.S.C. 112(a) or pre-AIA 35 U.S.C. 112, first paragraph because of a new matter. The amended claim 10 includes a following limitation “skipping, by the decoder device, coding the one or more syntax elements related to inter prediction for the subsequent point”. According to the paragraph [0182] specification, as well as block 1108 in Fig. 11, the decoder device would “skip parsing the first set the first set of inter prediction related syntax elements” [para. 0182; Fig. 11]. Therefore, the amended claim is contradicted with the description in the specification. The claim limitation “skipping, by the decoder device, coding the one or more syntax elements related to inter prediction for the subsequent point” is a new matter, which is not described in the application as originally filed. The new matter is required to be canceled from the claims (Please see MPEP 608.04).
Claims 10, 13, 16, and 18-21 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter, which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention. The amended claim 10 recites “skipping, by the decoder device, coding the one or more syntax elements related to inter prediction for the subsequent point”. It is well known with one with ordinary skill in the arts that the decoder device perform decoding or parsing operation. It is not clear to reader why the decoder device performs “coding” (i.e. encoding) in this case. Therefore, claim 10 and its dependent claims are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under pre-AIA 35 U.S.C. 103(a) are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or non-obviousness.
This application currently Hurs joint inventors. In considering patentability of the claims under pre-AIA 35 U.S.C. 103(a), the examiner presumes that the subject matter of the various claims was commonly owned at the time any inventions covered therein were made absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and invention dates of each claim that was not commonly owned at the time a later invention was made in order for the examiner to consider the applicability of pre-AIA 35 U.S.C. 103(c) and potential pre-AIA 35 U.S.C. 102(e), (f) or (g) prior art under pre-AIA 35 U.S.C. 103(a).
Claims 1, 7, and 9 are rejected under 35 U.S.C. 103 as being unpatentable over Hur (US Patent Application Publication 2021/0104013 A1), (“Hur”), in view of Kim et al. (US Patent Application Publication 2022/0078436 A1), (“Kim”).
Regarding claim 1, Hur meets the claim limitations as follows:
A method (i.e. a method) [Hur: para. 0002; Fig. 1] of encoding a point cloud (i.e. point cloud video encoder) [Hur: para. 0034; Figs. 1, 4], the method comprising (i.e. a method) [Hur: para. 0002; Fig. 1]: responsive to (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] determining ((i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1]; (i.e. The surface approximation analyzer 40003 according to the embodiments may analyze and approximate the octree. The octree analysis and approximation according to the embodiments is a process of analyzing a region containing a plurality of points to efficiently provide octree and voxelization) [Hur: para. 0113; Figs. 4, 12, 17] – Note: Analyzing of points in the point cloud includes determining locations of the points), by an encoder device (i.e. point cloud video encoder) [Hur: para. 0037; Figs. 1, 4], that a first point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. The point cloud video encoder (for example, the octree analyzer 40002) according to the embodiments may perform voxelization and octree coding to store the positions of points.) [Hur: para. 0135; Figs. 12, 35]; (i.e. The Ply files contain point cloud data, such as point geometry and/or attributes. The geometry includes positions of points. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not; ; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicates that it is a first point in Tile(0)]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) is a first point in a first group of points ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c) of one or more groups of points of the point cloud ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]),encoding (i.e. The point cloud video encoder 10002 may encode the point cloud video data based on point cloud compression coding) [Hur: para. 0075; Figs. 1, 4], by the encoder device (i.e. point cloud video encoder) [Hur: para. 0037; Figs. 1, 4], in a bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), one or more syntax elements for the first group of points ((i.e. encoding attribute information including attribute values of points in the point cloud data based on the geometry information) [Hur: para. 0010; Fig. 35]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34] ; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]);
responsive to (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] determining that (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] a second point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) is included in the first group of points but is not the first point ((i.e. Note: Please see P5 in Figure 9. P5 is the second pint in the first group) [Hur: para. 0154; Fig. 9]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c)) in the first group of points ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1] ; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152])), refrain from encoding, by the encoder device (i.e. point cloud video encoder) [Hur: para. 0037; Figs. 1, 4] for the second point (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020], the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]);
responsive to (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] determining that (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] a third point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. a third nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020, 0027]) is included in the second group of points ((i.e. Note: Please see P1 in Figure 9. It is a first point in the second group) [Hur: para. 0154; Fig. 9]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c)) of the one or more groups of points ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1] ; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152])):
encoding (i.e. The point cloud video encoder 10002 may encode the point cloud video data based on point cloud compression coding) [Hur: para. 0075; Figs. 1, 4], by the encoder device (i.e. point cloud video encoder) [Hur: para. 0037; Figs. 1, 4], in a bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] for the second group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log
2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]); and
responsive to (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] determining that (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] a fourth point of the point cloud (i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35] is included in the second group of points but is not the first point ((i.e. Note: Please see P6 in Figure 9. It is the second point in the second group) [Hur: para. 0154; Fig. 9]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c)) in the second group of points ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1] ; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, P1, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – (i.e. Please see P6 in Figure 9) [Hur: para. 0154; Fig. 9; Please also read [0152]), refrain from encoding, by the encoder device (i.e. point cloud video encoder) [Hur: para. 0037; Figs. 1, 4] and for the fourth point (i.e. (i.e. Note: Please see P6 in Figure 9) [Hur: para. 0154; Fig. 9], the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] for the second group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set() according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]); and
encoding (i.e. The point cloud video encoder 10002 may encode the point cloud video data based on point cloud compression coding) [Hur: para. 0075; Figs. 1, 4], by the encoder device (i.e. point cloud video encoder) [Hur: para. 0037; Figs. 1, 4] and in the bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), a syntax element having a value that represents a quantity of points included in each group of points of the one or more groups of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. encoding attribute information including attribute values of points in the point cloud data based on the geometry information) [Hur: para. 0010; Fig. 35]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34] ; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]).
Hur does not explicitly disclose the following claim limitations (Emphasis added).
refrain from encoding
However, in the same field of endeavor Kim further discloses the deficient claim limitations as follows:
refrain from encoding ((i.e. the motion information coding mode may be defined in various ways, and may include one or more of a skip mode,…) [Kim: para. 0304]; (i.e. For example, it is the same as that motion information encoding modes such as skip_inter, skip_tmp, skip_ibc, skip_affine in skip mode) [Kim: para. 0309]).
It would have been obvious to one with an ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Hur with Kim to program the system to implement of Kim’s method.
Therefore, the combination of Hur with Kim will enable the system to improve coding efficiency [Kim: para. 0009].
Regarding claim 7, Hur meets the claim limitations as set forth in claim 1.Hur further meets the claim limitations as follow.
encoding (i.e. The point cloud video encoder 10002 may encode the point cloud video data based on point cloud compression coding) [Hur: para. 0075; Figs. 1, 4] by the encoder device (i.e. point cloud video encoder) [Hur: para. 0037; Figs. 1, 4] and in a bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), a syntax element having a value ((i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Please see Figs. 22-34]) that indicates whether the first point is the first point ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35 - Please see Figs. 22-34. For example, Tile(0).tile bounding_ box_ xyz0 indicates that the first point xyz0 belongs to the first tile, i.e. Tile(0)]; (i.e. The point cloud video encoder (for example, the octree analyzer 40002) according to the embodiments may perform voxelization and octree coding to store the positions of points.) [Hur: para. 0135; Figs. 12, 35]; (i.e. The Ply files contain point cloud data, such as point geometry and/or attributes. The geometry includes positions of points. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not) in the first group of points ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c); (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]).
Regarding claim 9, Hur meets the claim limitations as set forth in claim 1.Hur further meets the claim limitations as follow.
wherein the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] comprise one or more syntax elements ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points (((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]), and wherein the one or more syntax elements ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points (((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]) comprise one or both of an inter prediction flag and an inter prediction mode syntax element ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]).
Claims 10, 13, 17, 19, 21-22, 24-26, and 30 are rejected under 35 U.S.C. 103 as being unpatentable over Hur (US Patent Application Publication 2021/0104013 A1), (“Hur”), in view of Kim et al. (US Patent Application Publication 2022/0078436 A1), (“Kim”), in view of Yang et al. (US Patent Application Publication 2022/0343550 A1), (“Yang”).
Regarding claim 10, Hur meets the claim limitations as follows:
A method (i.e. a method) [Hur: para. 0002; Fig. 1] of decoding a point cloud (i.e. point cloud video decoder) [Hur: para. 0584; Figs. 1, 11, 13], the method comprising (i.e. a method) [Hur: para. 0002; Fig. 1]:
responsive to (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] determining that (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] a first point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. The Ply files contain point cloud data, such as point geometry and/or attributes. The geometry includes positions of points. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]) in a decoding order ((i.e. The variables NodeX [depth] [nodeidx], NodeY [depth] [nodeidx], and NodeZ [depth] [nodeidx] indicate the x, y, z coordinates of the nodeidx-th node in decoding order) [Hur: para. 0539; Fig. 29-30]; (i.e. a geometry decoder to decode the geometry information based on the signaling information and restore positions of points, an attribute decoder to decode the attribute information based on the signaling information and the geometry information and restore attribute values of the points, and a renderer to render point cloud data restored based on the positions and attribute values of the points) [Hur: para. 0024; Figs. 9-11]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicates that it is a first point in Tile(0)]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) is a first point in a first group of points ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c) of a plurality of groups of points of the point cloud ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]), the first group of points comprising a plurality of points that are consecutive in the decoding order ((i.e. The variables NodeX [depth] [nodeidx], NodeY [depth] [nodeidx], and NodeZ [depth] [nodeidx] indicate the x, y, z coordinates of the nodeidx-th node in decoding order) [Hur: para. 0539; Fig. 29-30]; (i.e. a geometry decoder to decode the geometry information based on the signaling information and restore positions of points, an attribute decoder to decode the attribute information based on the signaling information and the geometry information and restore attribute values of the points, and a renderer to render point cloud data restored based on the positions and attribute values of the points) [Hur: para. 0024; Figs. 9-11]): parsing (i.e. The metadata parser 1306 according to the embodiments may parse metadata contained in the received point cloud data, for example, a set value. The metadata parser 1306 may pass the metadata to geometry decoding and/or attribute decoding. The metadata is the same as that described with reference to FIG. 12, and thus a detailed description thereof is omitted) [Hur: para. 0215; Fig. 12], by a decoder device (i.e. a point cloud video decoder) [Hur: para. 0172; Figs. 1, 10-11] and from a bitstream (i.e. bitstream structure for point cloud data) [Hur: para. 0052; Figs. 22-23, 29]), one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]);
responsive to determining that a subsequent point of the point cloud in the decoding order (i.e. The variables NodeX[depth][nodeidx], NodeY[depth][nodeidx], and NodeZ[depth][nodeidx] indicate the x, y, z coordinates of the nodeidx-th node in decoding order) [Hur: para. 0539] is in the first group of points of the plurality of groups of points of the point cloud ((i.e. Then, the attribute information prediction unit 5301 may predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. In this specification, a prediction mode has the same meaning as a predictor index (Preindex), and may be broadly referred to as a prediction method. In an embodiment, the process of finding the most suitable prediction mode for each point and setting the found prediction mode in the predictor of the corresponding point may be performed by the attribute information prediction unit 53009) [Hur: para. 0286-0287; Fig. 9])
but is not the first point in the decoding order ((i.e. Note: Please see P5 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c)):skipping, by the decoder device, coding the one or more syntax elements related to inter prediction for the subsequent point (i.e. It is inefficient to perform voxelization for the entire 3D space. For example, when a specific region contains few points, voxelization does not need to be performed in the specific region. Accordingly, for the above-described specific region (or a node other than the leaf node of the octree), the point cloud video encoder according to the embodiments may skip voxelization and perform direct coding to directly code the positions of points included in the specific region) [Hur: para. 0135-0136]; predicting (i.e. predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53], based on the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34], each point in the first group of points ((i.e. Then, the attribute information prediction unit 5301 may predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. In this specification, a prediction mode has the same meaning as a predictor index (Preindex), and may be broadly referred to as a prediction method. In an embodiment, the process of finding the most suitable prediction mode for each point and setting the found prediction mode in the predictor of the corresponding point may be performed by the attribute information prediction unit 53009) [Hur: para. 0286-0287; Fig. 9]); and
predicting (i.e. Then, the attribute information prediction unit 5301 may predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53], by the decoder device (i.e. a point cloud video decoder) [Hur: para. 0172; Figs. 1, 10-11] and based on the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]), wherein the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53]; (i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) are applicable to all of the points in the first group of points ((i.e. the gps_gsh_box_log 2_scale_present_flag field equal to 0 may specify that the gps_gsh_box_log 2_scale field is not signaled in each geometry slice header and a common scale for all slices is signaled in the gps_gsh_box_log 2_scale field of the current GPS) [Hur: para. 0460]; (i.e. According to an embodiment, the attribute prediction is performed on all points or at least some points of the reconstructed geometry) [Hur: para. 0382]; (i.e. As described above, all points of the point cloud data may have a predictor) [Hur: para. 0278; Figs. 9, 22-34; para. 0262-0291]; (i.e. geom_max_node_size_log
2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26];);determining (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1], based on a comparison of a node count of the first point (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] and a quantity of points included in the first group of points ((i.e. the number of points included in one tile) [Hur: para. 0249]; (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. number of points to which direct coding is to be applied) [Hur: para. 0137]), whether the first point of the point cloud is the first point in the first group of points ((i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicate that it is a first point in Tile(0)]); andparsing, by the decoder device and from the bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), a syntax element having a value that represents a quantity of points included in each group of points of the plurality of groups of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. encoding attribute information including attribute values of points in the point cloud data based on the geometry information) [Hur: para. 0010; Fig. 35]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34] ; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]), wherein the quantity of points included in the first group of points is the quantity of points ((i.e. the number of points included in one tile) [Hur: para. 0249]; (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. number of points to which direct coding is to be applied) [Hur: para. 0137]) included in each group of points of the one or more groups of points ((i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. geom_max_node_size_log 2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]).
In addition, in the same field of endeavor Kim further discloses the claim limitations as follows:
without parsing the one or more syntax elements related to inter prediction for each subsequent point of the first group of points ((i.e. the motion information coding mode may be defined in various ways, and may include one or more of a skip mode,…) [Kim: para. 0304]; (i.e. For example, it is the same as that motion information encoding modes such as skip_inter, skip_tmp, skip_ibc, skip_affine in skip mode) [Kim: para. 0309]).
It would have been obvious to one with an ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Hur with Kim to program the system to implement of Kim’s method.
Therefore, the combination of Hur with Kim will enable the system to improve coding efficiency [Kim: para. 0009].
Hur and Kim do not explicitly disclose the following claim limitations (Emphasis added).
a comparison of a node count of the first point and a quantity of points.
However, in the same field of endeavor Yang further discloses the deficient claim limitations as follows:
a comparison of a node count of the first point and a quantity of points ((i.e. the
Morton codes of the first quantity of neighbor nodes are respectively compared with the Morton code of the current node) [Yang: para. 0125]).
It would have been obvious to one with an ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Hur and Kim with Yang to program the system to implement of Yang’s method.
Therefore, the combination of Hur and Kim with Yang will enable the system to improve the accuracy of prediction [Yang: para. 0005].
Regarding claim 13, Hur meets the claim limitations as set forth in claim 10.Hur further meets the claim limitations as follow.
responsive to (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] determining that (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] a second point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. The point cloud video encoder (for example, the octree analyzer 40002) according to the embodiments may perform voxelization and octree coding to store the positions of points.) [Hur: para. 0135; Figs. 12, 35]; (i.e. The Ply files contain point cloud data, such as point geometry and/or attributes. The geometry includes positions of points. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not) is a first point ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) in a decoding order ((i.e. The variables NodeX [depth] [nodeidx], NodeY [depth] [nodeidx], and NodeZ [depth] [nodeidx] indicate the x, y, z coordinates of the nodeidx-th node in decoding order) [Hur: para. 0539; Fig. 29-30]; (i.e. a geometry decoder to decode the geometry information based on the signaling information and restore positions of points, an attribute decoder to decode the attribute information based on the signaling information and the geometry information and restore attribute values of the points, and a renderer to render point cloud data restored based on the positions and attribute values of the points) [Hur: para. 0024; Figs. 9-11]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicates that it is a first point in Tile(0)]) in a second group of points ((i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c) of the plurality groups of points ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]):
parsing (i.e. The metadata parser 1306 according to the embodiments may parse metadata contained in the received point cloud data, for example, a set value. The metadata parser 1306 may pass the metadata to geometry decoding and/or attribute decoding. The metadata is the same as that described with reference to FIG. 12, and thus a detailed description thereof is omitted) [Hur: para. 0215; Fig. 12], by a decoder device (i.e. a point cloud video decoder) [Hur: para. 0172; Figs. 1, 10-11] and from a bitstream (i.e. bitstream structure for point cloud data) [Hur: para. 0052; Figs. 22-23, 29]), one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the second group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) without parsing the one or more syntax elements related to inter prediction for each subsequent point of the second group of points (i.e. It is inefficient to perform voxelization for the entire 3D space. For example, when a specific region contains few points, voxelization does not need to be performed in the specific region. Accordingly, for the above-described specific region (or a node other than the leaf node of the octree), the point cloud video encoder according to the embodiments may skip voxelization and perform direct coding to directly code the positions of points included in the specific region) [Hur: para. 0135-0136]; andpredicting (i.e. predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53], by a decoder device (i.e. a point cloud video decoder) [Hur: para. 0172; Figs. 1, 10-11] and based on the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the second group of points ((i.e. Then, the attribute information prediction unit 5301 may predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53]; (i.e. In this specification, a prediction mode has the same meaning as a predictor index (Preindex), and may be broadly referred to as a prediction method. In an embodiment, the process of finding the most suitable prediction mode for each point and setting the found prediction mode in the predictor of the corresponding point may be performed by the attribute information prediction unit 53009) [Hur: para. 0286-0287; Fig. 9]), the second point ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. a third nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020, 0027]), wherein the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the second group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) are applicable to all of the points in the second group of points ((i.e. the gps_gsh_box_log 2_scale_present_flag field equal to 0 may specify that the gps_gsh_box_log 2_scale field is not signaled in each geometry slice header and a common scale for all slices is signaled in the gps_gsh_box_log 2_scale field of the current GPS) [Hur: para. 0460]; (i.e. According to an embodiment, the attribute prediction is performed on all points or at least some points of the reconstructed geometry) [Hur: para. 0382]; (i.e. As described above, all points of the point cloud data may have a predictor) [Hur: para. 0278; Figs. 9, 22-34; para. 0262-0291]).
Regarding claim 17, Hur meets the claim limitations as set forth in claim 15.Hur further meets the claim limitations as follow.
parsing (i.e. The metadata parser 1306 according to the embodiments may parse metadata contained in the received point cloud data, for example, a set value. The metadata parser 1306 may pass the metadata to geometry decoding and/or attribute decoding. The metadata is the same as that described with reference to FIG. 12, and thus a detailed description thereof is omitted) [Hur: para. 0215; Fig. 12], by a decoder device (i.e. a point cloud video decoder) [Hur: para. 0172; Figs. 1, 10-11] and from the bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), a syntax element having a value ((i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Please see Figs. 22-34]) that represents a quantity of points included in each group of points ((i.e. the number of points included in one tile) [Hur: para. 0249]; (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. number of points to which direct coding is to be applied) [Hur: para. 0137]) of the one or more groups of points ((i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]), wherein the quantity of points ((i.e. the number of points included in one tile) [Hur: para. 0249]; (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. number of points to which direct coding is to be applied) [Hur: para. 0137]) included in the first group of points ((i.e. the number of points included in one tile) [Hur: para. 0249]; (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. number of points to which direct coding is to be applied) [Hur: para. 0137]) is the quantity of points included in each group of points of the one or more groups of points (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401 – Note: The geom_num_points is information related to the number of points of all groups in the slice].
Regarding claim 19, Hur meets the claim limitations as set forth in claim 10.Hur further meets the claim limitations as follow.
parsing (i.e. The metadata parser 1306 according to the embodiments may parse metadata contained in the received point cloud data, for example, a set value. The metadata parser 1306 may pass the metadata to geometry decoding and/or attribute decoding. The metadata is the same as that described with reference to FIG. 12, and thus a detailed description thereof is omitted) [Hur: para. 0215; Fig. 12], by a decoder device (i.e. a point cloud video decoder) [Hur: para. 0172; Figs. 1, 10-11] and from the bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), a syntax element having a value ((i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Please see Figs. 22-34]) that indicates whether the first point is the first point ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35 - Please see Figs. 22-34. For example, Tile(0).tile bounding_ box_ xyz0 indicates that the first point xyz0 belongs to the first tile, i.e. Tile(0)]; (i.e. The point cloud video encoder (for example, the octree analyzer 40002) according to the embodiments may perform voxelization and octree coding to store the positions of points.) [Hur: para. 0135; Figs. 12, 35]; (i.e. The Ply files contain point cloud data, such as point geometry and/or attributes. The geometry includes positions of points. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not) in the first group of points ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c); (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]).
Regarding claim 21, Hur meets the claim limitations as set forth in claim 10.Hur further meets the claim limitations as follow.
wherein the one or more syntax elements ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set() according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points (((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]) comprise one or both of an inter prediction flag and an inter prediction mode syntax element ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]).
Regarding claim 22, Hur meets the claim limitations as follows:
A device for processing a point cloud (i.e. apparatus for processing point cloud) [Hur: para. 0002; Fig. 1], the device comprising (i.e. apparatus for processing point cloud) [Hur: para. 0002; Fig. 1]: a memory (i.e. a memory) [Hur: para. 0224; Fig. 17] configured to store at least a portion of the point cloud (i.e. Each part, module, or unit described above may be a software, processor, or hardware part that executes successive procedures stored in a memory) [Hur: para. 0602; Fig. 17]; and one or more processors implemented in circuitry and configured to (i.e. Although not shown in the figure, the elements of the point cloud video decoder of FIG. 11 may be implemented by hardware including one or more processors or integrated circuits configured to) [Hur: para. 0187; Figs. 1, 11]:determine whether (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] ; (i.e. The surface approximation analyzer 40003 according to the embodiments may analyze and approximate the octree. The octree analysis and approximation according to the embodiments is a process of analyzing a region containing a plurality of points to efficiently provide octree and voxelization) [Hur: para. 0113; Figs. 4, 12, 17] – Note: Analyzing of points in the point cloud includes determining locations of the points) a first point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. The point cloud video encoder (for example, the octree analyzer 40002) according to the embodiments may perform voxelization and octree coding to store the positions of points.) [Hur: para. 0135; Figs. 12, 35]; (i.e. The Ply files contain point cloud data, such as point geometry and/or attributes. The geometry includes positions of points. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicates that it is a first point in Tile(0)]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) is a first point in a first group of points ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c) of one or more groups of points of the point cloud ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]); and responsive to (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] determining that (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] a first point of the point cloud is a first point in a first group of points ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c) of one or more groups of points of the point cloud ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]), encode (i.e. The point cloud video encoder 10002 may encode the point cloud video data based on point cloud compression coding) [Hur: para. 0075; Figs. 1, 4], in a bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure ) [Hur: para. 0412; Figs. 22-34]), one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]);
determine whether (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] a second point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) is included in the first group of points but is not the first point ((i.e. Note: Please see P5 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c)) in the first group of points ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1] ; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152])); and
responsive to (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] determining that (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] the second point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) is included in the first group of points but is not the first point ((i.e. Note: Please see P1 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c)) in the first group of points ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1] ; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152])), not encode, for the second point (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020], the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]); andencode (i.e. The point cloud video encoder 10002 may encode the point cloud video data based on point cloud compression coding) [Hur: para. 0075; Figs. 1, 4], in the bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), a syntax element having a value that represents a quantity of points included in each group of points of the one or more groups of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. encoding attribute information including attribute values of points in the point cloud data based on the geometry information) [Hur: para. 0010; Fig. 35]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34] ; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]).
Hur does not explicitly disclose the following claim limitations (Emphasis added).
not encode.
However, in the same field of endeavor Kim further discloses the deficient claim limitations as follows:
not encode ((i.e. the motion information coding mode may be defined in various ways, and may include one or more of a skip mode,…) [Kim: para. 0304]; (i.e. For example, it is the same as that motion information encoding modes such as skip_inter, skip_tmp, skip_ibc, skip_affine in skip mode) [Kim: para. 0309]).
It would have been obvious to one with an ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Hur with Kim to program the system to implement of Kim’s method.
Therefore, the combination of Hur with Kim will enable the system to improve coding efficiency [Kim: para. 0009].
Regarding claim 24, Hur meets the claim limitations as set forth in claim 22.Hur further meets the claim limitations as follow.
wherein the one or more syntax elements ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points (((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]) comprise one or both of an inter prediction flag and an inter prediction mode syntax element ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]).
Regarding claim 25, Hur meets the claim limitations as set forth in claim 24.Hur further meets the claim limitations as follow.
encode (i.e. The point cloud video encoder 10002 may encode the point cloud video data based on point cloud compression coding) [Hur: para. 0075; Figs. 1, 4], in a bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), a syntax element ((i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]) having a value that represents a quantity of points included in each group of points ((i.e. the number of points included in one tile) [Hur: para. 0249]; (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. number of points to which direct coding is to be applied) [Hur: para. 0137]) of the one or more groups of points ((i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]).
Regarding claim 26, Hur meets the claim limitations as follows:
A device for processing a point cloud (i.e. apparatus for processing point cloud) [Hur: para. 0002; Fig. 1], the device comprising (i.e. apparatus for processing point cloud) [Hur: para. 0002; Fig. 1]:a memory (i.e. a memory) [Hur: para. 0224; Fig. 17] configured to store at least a portion of the point cloud (i.e. Each part, module, or unit described above may be a software, processor, or hardware part that executes successive procedures stored in a memory) [Hur: para. 0602; Fig. 17]; and one or more processors implemented in circuitry and configured to (i.e. Although not shown in the figure, the elements of the point cloud video decoder of FIG. 11 may be implemented by hardware including one or more processors or integrated circuits configured to) [Hur: para. 0187; Figs. 1, 11]: determine whether (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1] a first point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. The point cloud video encoder (for example, the octree analyzer 40002) according to the embodiments may perform voxelization and octree coding to store the positions of points.) [Hur: para. 0135; Figs. 12, 35]; (i.e. The Ply files contain point cloud data, such as point geometry and/or attributes. The geometry includes positions of points. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicates that it is a first point in Tile(0)]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) is a first point ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) in a decoding order ((i.e. The variables NodeX [depth] [nodeidx], NodeY [depth] [nodeidx], and NodeZ [depth] [nodeidx] indicate the x, y, z coordinates of the nodeidx-th node in decoding order) [Hur: para. 0539; Fig. 29-30]; (i.e. a geometry decoder to decode the geometry information based on the signaling information and restore positions of points, an attribute decoder to decode the attribute information based on the signaling information and the geometry information and restore attribute values of the points, and a renderer to render point cloud data restored based on the positions and attribute values of the points) [Hur: para. 0024; Figs. 9-11]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicates that it is a first point in Tile(0)]) in a first group of points ((i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c) of a plurality of groups of points of the point cloud ((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]), the first group of points comprising a plurality of points that are consecutive in the decoding order ((i.e. The variables NodeX [depth] [nodeidx], NodeY [depth] [nodeidx], and NodeZ [depth] [nodeidx] indicate the x, y, z coordinates of the nodeidx-th node in decoding order) [Hur: para. 0539; Fig. 29-30]; (i.e. a geometry decoder to decode the geometry information based on the signaling information and restore positions of points, an attribute decoder to decode the attribute information based on the signaling information and the geometry information and restore attribute values of the points, and a renderer to render point cloud data restored based on the positions and attribute values of the points) [Hur: para. 0024; Figs. 9-11]); and
responsive to determining that (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] the first point of the point cloud is the first point in the first group of points ((i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicates that it is a first point in Tile(0)]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]:
parse (i.e. The metadata parser 1306 according to the embodiments may parse metadata contained in the received point cloud data, for example, a set value. The metadata parser 1306 may pass the metadata to geometry decoding and/or attribute decoding. The metadata is the same as that described with reference to FIG. 12, and thus a detailed description thereof is omitted) [Hur: para. 0215; Fig. 12], from a bitstream (i.e. bitstream structure for point cloud data) [Hur: para. 0052; Figs. 22-23, 29]), one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]);
responsive to determining that a subsequent point of the point cloud in the decoding order (i.e. The variables NodeX[depth][nodeidx], NodeY[depth][nodeidx], and NodeZ[depth][nodeidx] indicate the x, y, z coordinates of the nodeidx-th node in decoding order) [Hur: para. 0539] is in the first group of points of the plurality of groups of points of the point cloud ((i.e. Then, the attribute information prediction unit 5301 may predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. In this specification, a prediction mode has the same meaning as a predictor index (Preindex), and may be broadly referred to as a prediction method. In an embodiment, the process of finding the most suitable prediction mode for each point and setting the found prediction mode in the predictor of the corresponding point may be performed by the attribute information prediction unit 53009) [Hur: para. 0286-0287; Fig. 9])
but is not the first point in the decoding order ((i.e. Note: Please see P5 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. a second nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c));
skip parsing the one or more syntax elements related to inter prediction for the subsequent point of the first group of points (i.e. It is inefficient to perform voxelization for the entire 3D space. For example, when a specific region contains few points, voxelization does not need to be performed in the specific region. Accordingly, for the above-described specific region (or a node other than the leaf node of the octree), the point cloud video encoder according to the embodiments may skip voxelization and perform direct coding to directly code the positions of points included in the specific region) [Hur: para. 0135-0136]; predict (i.e. predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53], based on the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34], related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]), each point in the first group of points ((i.e. Then, the attribute information prediction unit 5301 may predict an attribute value through the predictor) [Hur: para. 0282; Fig. 53]; (i.e. As described above, all points of the point cloud data may have a predictor) [Hur: para. 0278; Figs. 9, 22-34; para. 0262-0291]; (i.e. In this specification, a prediction mode has the same meaning as a predictor index (Preindex), and may be broadly referred to as a prediction method. In an embodiment, the process of finding the most suitable prediction mode for each point and setting the found prediction mode in the predictor of the corresponding point may be performed by the attribute information prediction unit 53009) [Hur: para. 0286-0287; Fig. 9]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]), wherein the one or more syntax elements (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34] related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) are applicable to all of the points in the first group of points ((i.e. the gps_gsh_box_log 2_scale_present_flag field equal to 0 may specify that the gps_gsh_box_log 2_scale field is not signaled in each geometry slice header and a common scale for all slices is signaled in the gps_gsh_box_log 2_scale field of the current GPS) [Hur: para. 0460]; (i.e. According to an embodiment, the attribute prediction is performed on all points or at least some points of the reconstructed geometry) [Hur: para. 0382]; (i.e. As described above, all points of the point cloud data may have a predictor) [Hur: para. 0278; Figs. 9, 22-34; para. 0262-0291]);
determine (i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1], based on a comparison of a node count of the first point (i.e. based on the geometry information) [Hur: para. 0010; Fig. 35] and a quantity of points included in the first group of points ((i.e. the number of points included in one tile) [Hur: para. 0249]; (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. number of points to which direct coding is to be applied) [Hur: para. 0137]), whether the first point of the point cloud is the first point in the first group of points ((i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicate that it is a first point in Tile(0)]); andparse, by the decoder device and from the bitstream (i.e. FIG. 22 illustrates an exemplary bitstream structure for point cloud data for transmission/reception according to embodiments) [Hur: para. 0052; Figs. 22-23, 29]; (i.e. a bitstream in a high-level syntax structure) [Hur: para. 0412; Figs. 22-34]), a syntax element having a value that represents a quantity of points included in each group of points of the one or more groups of points ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. encoding attribute information including attribute values of points in the point cloud data based on the geometry information) [Hur: para. 0010; Fig. 35]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34] ; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]), wherein the quantity of points included in the first group of points is the quantity of points ((i.e. the number of points included in one tile) [Hur: para. 0249]; (i.e. geom_num_points is information related to the number of points of the geometry slice data) [Hur: para. 0401]; (i.e. number of points to which direct coding is to be applied) [Hur: para. 0137]) included in each group of points of the one or more groups of points ((i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. geom_max_node_size_log2 is information indicating the size of the root geometry octree node, and geom_num_points is information related to the number of points of the geometry slice data. According to embodiments, the geom_slice_data may include geometry information (or geometry data) about the point cloud data in a corresponding slice) [Hur: para. 0401; Fig. 26]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set() according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]).
In addition, in the same field of endeavor Kim further discloses the claim limitations as follows:
without parsing the one or more syntax elements related to inter prediction for each subsequent point of the first group of points ((i.e. the motion information coding mode may be defined in various ways, and may include one or more of a skip mode,…) [Kim: para. 0304]; (i.e. For example, it is the same as that motion information encoding modes such as skip_inter, skip_tmp, skip_ibc, skip_affine in skip mode) [Kim: para. 0309]).
It would have been obvious to one with an ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Hur with Kim to program the system to implement of Kim’s method.
Therefore, the combination of Hur with Kim will enable the system to improve coding efficiency [Kim: para. 0009].
Hur and Kim do not explicitly disclose the following claim limitations (Emphasis added).
a comparison of a node count of the first point and a quantity of points.
However, in the same field of endeavor Yang further discloses the deficient claim limitations as follows:
a comparison of a node count of the first point and a quantity of points ((i.e. the
Morton codes of the first quantity of neighbor nodes are respectively compared with the Morton code of the current node) [Yang: para. 0125]).
It would have been obvious to one with an ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Hur and Kim with Yang to program the system to implement of Yang’s method.
Therefore, the combination of Hur and Kim with Yang will enable the system to improve the accuracy of prediction [Yang: para. 0005].
Regarding claim 30, Hur meets the claim limitations as set forth in claim 26.Hur further meets the claim limitations as follow.
wherein the one or more syntax elements ((i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. FIG. 29 illustrates an embodiment of a syntax structure of geometry slice bitstream() according to embodiments) [Hur: para. 0059; Please also read para. 0052-0064 and see Figs. 22-34]; (i.e. FIG. 26 shows an embodiment of a syntax structure of the geometry parameter set (GPS) (geometry_parameter_set( ) according to the present disclosure. The GPS according to the embodiments may contain information on a method of encoding geometry information about point cloud data contained in one or more slices) [Hur: para. 0455; Fig. 26]) related to inter prediction ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]) for the first group of points (((i.e. a plurality of points may belong to one voxel) [Hur: para. 0258]; (i.e. The slice is a series of a syntax element representing in whole or in part of the coded point cloud frame) [Hur: para. 0204]; (i.e. A slice may be a set of data in a 3D space occupied by point cloud data, or a set of some data among the point cloud data. A slice according to the embodiments may represent a region or set of points included in a tile according to embodiments. According to embodiments, a tile may be partitioned into one or more slices based on the number of points included in one tile. For example, one tile may be a set of points partitioned by the number of points. According to embodiments, a tile may be partitioned into one or more slices based on the number of points, and some data may be split or merged in the partitioning process. That is, a slice may be a unit that may be independently coded within a corresponding tile) [Hur: para. 0249; Figs. 1, 16a-16c]; (i.e. The point cloud video according to the embodiments may include one or more frames. One frame represents a still image/picture. Therefore, the point cloud video may include a point cloud image/frame/picture, and may be referred to as a point cloud image, frame, or picture) [Hur: para. 0074; Fig. 1]; (i.e. The upper part of FIG. 9 shows examples (P0 to P9) of points of the point cloud content distributed in a 3D space. In FIG. 9, the original order represents the order of points P0 to P9 before LOD generation. In FIG. 9, the LOD based order represents the order of points according to the LOD generation. Points are reorganized by LOD. Also, a high LOD contains the points belonging to lower LODs. As shown in FIG. 9, LOD0 contains P0, P5, P4 and P2. LOD1 contains the points of LOD0, Pl, P6 and P3. LOD2 contains the points of LOD0, the points of LOD1, P9, P8 and P7) [Hur: para. 0154; Figs. 8-9, 12 – Please also read [0152]) comprise one or both of an inter prediction flag and an inter prediction mode syntax element ((i.e. inter coding) [Hur: para. 0255, 0134; Fig. 12]; (i.e. The intra/inter-coding processor 12005 according to the embodiments may perform intra/inter-coding on point cloud data) [Hur: para. 0196; Fig. 12]).
Claims 16 and 29 are rejected under 35 U.S.C. 103 as being unpatentable over Hur (US Patent Application Publication 2021/0104013 A1), (“Hur”), in view of Kim et al. (US Patent Application Publication 2022/0078436 A1), (“Kim”), in view of Yang et al. (US Patent Application Publication 2022/0343550 A1), (“Yang”), in view of Agarwal et al. (US Patent 11,093,252 B1), (“Agarwal”).
Regarding claims 16 and 29, Hur meets the claim limitations as set forth in claims 15 and 26.Hur further meets the claim limitations as follow.
determine that ((i.e. the surface approximation analyzer 40003) according to the embodiments may determine) [Hur: para. 0138; Fig. 1]; (i.e. The surface approximation analyzer 40003 according to the embodiments may analyze and approximate the octree. The octree analysis and approximation according to the embodiments is a process of analyzing a region containing a plurality of points to efficiently provide octree and voxelization) [Hur: para. 0113; Figs. 4, 12, 17] – Note: Analyzing of points in the point cloud includes determining locations of the points) the first point of the point cloud ((i.e. geometry information including positions of points in point cloud data) [Hur: para. 0017; Figs. 12, 35]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; (i.e. The point cloud video encoder (for example, the octree analyzer 40002) according to the embodiments may perform voxelization and octree coding to store the positions of points.) [Hur: para. 0135; Figs. 12, 35]; (i.e. The Ply files contain point cloud data, such as point geometry and/or attributes. The geometry includes positions of points. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes)) [Hur: para. 0089; Fig. 35]; (i.e. coordinates (e.g., (x, y, z)) representing 3D positions of all points) [Hur: para. 0120]; – Note: Location and position of a point in a point cloud can be determined by its coordinates whether it is a first point or not; (i.e. Tile(0).tile bounding_ box_ xyz0) [Hur: Fig. 22 – Note: xyz0 in Fig. 22 indicates that it is a first point in Tile(0)]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]) is the first point in the first group of points ((i.e. Please see P0 in Figure 9) [Hur: para. 0154; Fig. 9]; (i.e. The position of each point may be represented by parameters (for example, values of the X, Y, and Z axes) representing a three-dimensional coordinate system (e.g., a coordinate system composed of X, Y and Z axes).) [Hur: para. 0089; Fig. 35]; (i.e. The geometry reconstructor 40005 reconstructs the octree/voxels based on the result of analyzing the distribution of points) [Hur: para. 0117; Fig. 12]; (i.e. a first nearest neighbor point of the nearest neighbor points) [Hur: para. 0013, 0020]; Note: Location and position of a point in a point cloud can indicate what groups it belongs to – Please see example in Figs. 16a-c) where a remainder of dividing the node count of the first point by the quantity of points in the first group of points is equal to zero.
Hur, Kim, and Yang do not explicitly disclose the following claim limitations (Emphasis added).
where a remainder of dividing the node count of the first point by the quantity of points in the first group of points is equal to zero.
However, in the same field of endeavor Agarwal further discloses the deficient claim limitations as follows:
where a remainder of dividing the node count of the first point by the quantity of points in the first group of points is equal to zero ((i.e. a remainder of dividing the count value of the plurality of nodes by the replication factor being equal to zero) [Agarwal: col. 14, line 13-15]).
It would have been obvious to one with an ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Hur, Kim, and Yang with Agarwal to program the system to implement of Agarwal’s method.
Therefore, the combination of Hur, Kim, and Yang with Agarwal will enable the system to solve the problem of improving resiliency of a large storage cluster using software based automated zoning, which allows for different zoning at separate layers of the storage cluster in a way that
improves the availability of the system [Agarwal: col. 11, line 38-53].
Allowable Subject Matter
18. Claims 6, 8, 18, and 20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. This objection is given with a condition that all other objections and rejections of related claims are addressed.
19. Claims 6 and 18 recite a syntax element ptn_group_size_minus1 that could not be found in the prior arts.
20. Claims 8 and 20 recite a syntax element gopt_start_flag that could not be found in the prior arts.
Reference Notice
Additional prior arts, included in the Notice of Reference Cited, made of record and not relied upon is considered pertinent to applicant's disclosure.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the date of this final action.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Philip Dang whose telephone number is (408) 918-7529. The examiner can normally be reached on Monday-Thursday between 8:30 am - 5:00 pm (PST).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Sath Perungavoor can be reached on 571-272-7455. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /Philip P. Dang/Primary Examiner, Art Unit 2488