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 1/20/2026 has been entered and made of record.
Acknowledgment
Claims 1, 7, 11, 17 and 20, amended on 1/20/2026, are acknowledged by the examiner.
Response to Arguments
Applicant’s arguments with respect to claims 1, 11, 20, 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. 101 rejection, the amendment filed on 1/20/2026 addresses the issue. As a result, the 35 U.S.C. 101 rejection is withdrawn.
Regarding the 35 U.S.C. 112(f) interpretation, the amendment filed on 1/20/2026 addresses the issue. As a result, the 35 U.S.C. 112(f) interpretation is withdrawn.
Regarding the 35 U.S.C. 112(b) rejection, the amendment filed on 1/20/2026 addresses the issue. As a result, the 35 U.S.C. 112(b) rejection is withdrawn.
Objections
The drawings are objected to under 37 CFR 1.83(a). The drawings must show every feature of the invention specified in the claims. Therefore, “a smallest cuboid”, “a smallest cube”, “a smallest polyhedron”, “one or more fourth starting points in a preset direction”, “one or more maximum points of the target point cloud group”, “one or more minimum points of the target point cloud group”, “one or more median points of the target point cloud group”, “a sixth head point in the sixth arrangement order”, “a sixth tail point in the sixth arrangement order”, “a fifth starting point of the first single-chain predictive tree is the first starting point, and wherein a fifth ending point of the first single-chain predictive tree is the second starting point” must be shown or the feature must be canceled from the claims 1-20. No new matter should be entered.
Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
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 nonobviousness. This application currently names 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-8, 11-18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Lee (EP Patent Application Publication EP 4 395 320 A1), (“Lee”), in view of Ramasubramonian et al. (US Patent Application Publication 2023/0102401 A1), (“Ramasubramonian”), in view of Lasserre et al. (EP Patent Application Publication EP 4 071 717 A1), (“Lasserre”).
Regarding claim 1, Lee meets the claim limitations as follow.
A point cloud encoding method (i.e. a method and apparatus for processing point cloud content) [Lee: para. 0001], performed by an encoding device (i.e. FIG. 4 illustrates an exemplary point cloud encoder according to embodiments) [Lee: para. 0010; Fig. 4], comprising: obtaining point cloud data (i.e. receiving point cloud data) [Lee: para. 0005], comprising one or more point cloud groups (i.e. groups of points in the 3D space with voxels) [Lee: para. 0051], wherein the one or more point cloud groups comprise a first plurality of points ((i.e. groups of points in the 3D space with voxels) [Lee: para. 0051] ; (i.e. a point cloud, which is a set of points positioned in a 3D space) [Lee: para. 0017]); determining one or more starting points for the one or more point cloud groups (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0079-0080; Figs. 4-5]; constructing (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184], based on the one or more starting points ((Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0080; Figs. 4-5]; (i.e. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0081] – Please also see the formula in para. 0081)), one or more single-chain predictive trees (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184] for the one or more point cloud groups ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. FIG. 6 shows an example of an octree and occupancy code according to embodiments) [Lee: para. 0010; Fig. 6]) the one or more single-chain predictive trees comprising no branch chains; encoding the first plurality of points (i.e. encoding point cloud data) [Lee: para. 0005] based on the one or more single-chain predictive trees ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. The arithmetic encoder 40004 according to the embodiments performs entropy encoding on the octree and/or the approximated octree. For example, the encoding scheme includes arithmetic encoding. As a result of the encoding, a geometry bitstream is generated) [Lee: para. 0054]); and transmitting the encoded first plurality of points (i.e. The transmission processor 12012 according to the embodiments may transmit each bitstream containing
encoded geometry and/or encoded attributes and metadata information, or transmit one bitstream configured with the encoded geometry and/or the encoded attributes and the metadata information. When the encoded geometry and/or the encoded attributes and the metadata information according to the embodiments are configured into one bitstream, the bitstream may include one or more sub-bitstreams. The bitstream according to the embodiments may contain signaling information including a sequence parameter set (SPS) for signaling of a sequence level, a geometry parameter set (GPS) for signaling of geometry information coding, an attribute parameter set (APS) for signaling of attribute information coding, and a tile parameter set (TPS) for signaling of a tile level, and slice data. The slice data may include information about one or more slices. One slice according to embodiments may include one geometry bitstream Geom00 and one or more attribute bitstreams Attr00 and Attr10) [Lee: para. 0138].
Lee does not explicitly disclose the following claim limitations (Emphasis added).
determining one or more starting points for the one or more point cloud groups;
the one or more single-chain predictive trees comprising no branch chains
However, in the same field of endeavor Ramasubramonian further discloses the claim limitations and the deficient claim limitations as follows:
determining one or more starting points for the one or more point cloud groups (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173]; constructing one or more single-chain predictive trees for the one or more point cloud groups (FIG. 4 is a conceptual diagram illustrating an example octree split for geometry coding. FIG. 5 is a conceptual diagram of a prediction tree
for predictive geometry coding) [Ramasubramonian: para. 0016-0017; Figs. 4-5] based on the one or more starting points (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173]; encoding the first plurality of points (A method of encoding a point cloud, the method comprising: responsive to determining that a first point of the point cloud is a first point in a first group of points of one or more groups of points of the point cloud: encoding, in a bitstream, one or more syntax elements related to inter prediction for the first group of points) [Ramasubramonian: para. 0199] based on the one or more single-chain predictive trees (Predictive geometry coding was introduced as an
alternative to the octree geometry coding, where the nodes are arranged in a tree structure (which defines the prediction structure), and various prediction strategies are used to predict the coordinates of each node in the tree with respect to its predictors. FIG. 5 is a conceptual diagram illustrating an example of a prediction tree 500, a directed graph where the arrow points to the prediction direction. The horizontally shaded node is the root vertex and has no predictors; the grid shaded nodes have two children; the diagonally shaded node has 3 children; the non-shaded nodes have one children and the vertically shaded nodes are leaf nodes and these have no children. Every node has only one parent node) [Ramasubramonian: para. 0068; Fig. 5].
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 Lee with Ramasubramonian to implement the Ramasubramonian’s method.
Therefore, the combination of Lee with Ramasubramonian will improve the coding efficiency [Ramasubramonian: para. 0005].
Lee and Ramasubramonian do not explicitly disclose the following claim limitations (Emphasis added).
the one or more single-chain predictive trees comprising no branch chains.
However, in the same field of endeavor Lasserre further discloses the claim limitations and the deficient claim limitations as follows:
the one or more single-chain predictive trees comprising no branch chains (This representation is denoted "one-chain coding" as points are represented in a single chain of points, each point having a single successor) [Lasserre: para. 0030; Fig. 6].
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 Lee and Ramasubramonian with Lasserre to implement the Lasserre’s method.
Therefore, the combination of Lee and Ramasubramonian with Lasserre will improve the coding efficiency [Lasserre: para. 0061].
Regarding claims 2 and 12, Lee meets the claim limitations as set forth in claims 1 and 11.Lee further meets the claim limitations as follow.
wherein the determining the one or more starting points (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0079-0080] comprises at least one of: selecting a first starting point from a first plurality of vertices (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0079-0080] of a first point cloud bounding box of a first point cloud group of the one or more point cloud groups (i.e. FIG.5 shows voxels positioned in a 3D space represented by a coordinate system composed of three axes, which are the X-axis, the Y-axis, and the Z-axis. As described with reference to FIG. 4, the point cloud encoder (e.g., the quantizer 40001) may perform voxelization. Voxel refers to a 3D cubic space generated when a 3D space is divided into units (unit=1.0) based on the axes representing the 3D space (e.g., X-axis, Y-axis, and Z-axis). FIG. 5 shows an example of voxels generated through an octree structure in which a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d) is recursively subdivided. One voxel includes at least one point. The spatial coordinates of a voxel may be estimated from the positional relationship with a voxel group. As described above, a voxel has an attribute (such as color or reflectance) like pixels of a 2D image/video. The details of the voxel are the same as those described with reference to FIG. 4, and therefore a description thereof is omitted) [Lee: para. 0069; Figs. 4-5]; selecting a second starting point ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according
to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. The first triangle may consist of vertices 1, 2, and 3 among the ordered vertices, and the second triangle may consist of vertices 3, 4, and 1 among the ordered vertices) [Lee: para. 0082]), whose geometric distance is greater than a distance threshold ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. predictors or candidate points based on their difference in distance from the current point according to a specific threshold. For example, when a difference in characteristic between a point and the current point is greater than a threshold, the point may not be selected as a predictor or candidate point) [Lee: para. 0278]), from one or more second identified points in a second point cloud group of the one or more point cloud groups ((i.e. The first triangle may consist of vertices 1, 2, and 3 among the ordered vertices, and the second triangle may consist of vertices 3, 4, and 1 among the ordered vertices) [Lee: para. 0082]; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184]); or selecting a third starting point based on an arrangement order of a third plurality of points of a third point cloud group of the one or more point cloud groups ((i.e. Referring to FIGS. 20 to 28, the predicting includes searching for a third point belonging to one of the one or more frames based on a second point processed prior to the current point in the current frame. Here, the second point may represent a point decoded prior to the current point, and the third point may represent a point similar to the second point. Based on a laser ID, an azimuth, or a radius, it may be determined whether the third point is similar to the second point. In other words, the third point may be a point whose laser ID is the same as the second point and whose azimuth or radius is closest to that of the second point) [Lee: para. 0393; Figs. 20-28]; (i.e. searching for a third point belonging to one of the one or more frames based on a second point processed prior to the first point in the first frame) [Lee: claim 4]).
In the same field of endeavor Ramasubramonian further discloses the claim limitations as follows:
wherein the determining the one or more starting points (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173] comprises at least one of: selecting a first starting point from a first plurality of vertices of a first point cloud bounding box of a first point cloud group of the one or more point cloud groups (The 3D space occupied by a point cloud data may be enclosed by a virtual bounding box. The position of the points in the bounding box may be represented by a certain precision; therefore, the positions of one or more points may be quantized based on the precision. At the smallest level, the bounding box is split into voxels which are the smallest unit of space represented by a unit cube. A voxel in the bounding box may be associated with zero, one, or more than one point. The bounding box may be split into multiple cube/cuboid regions, which may be called tiles. Each tile may be coded into one or more slices. The partitioning of the bounding box into slices and tiles may be based on number of points in each partition, or based on other considerations (e.g., a particular region may be coded as tiles). The slice regions may be further partitioned using splitting decisions similar to those in video codecs) [Ramasubramonian: para. 0042]; selecting a second starting point (the subsequent point may be a second or subsequent point included in the first group of points) [Ramasubramonian: para. 0178], whose geometric distance is greater than a distance threshold, from one or more second identified points in a second point cloud group of the one or more point cloud groups; or selecting a third starting point based on an arrangement order of a third plurality of points of a third point cloud group of the one or more point cloud groups ((the subsequent point may be a second or subsequent point included in the first group of points) [Ramasubramonian: para. 0193]; (determining that a third point of
the point cloud is a first point in a second group of points of the one or more groups of points) [Ramasubramonian: para. 0193]).
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 Lee with Ramasubramonian to implement the Ramasubramonian’s method.
Therefore, the combination of Lee with Ramasubramonian will improve the coding efficiency [Ramasubramonian: para. 0005].
Regarding claims 3 and 13, Lee meets the claim limitations as set forth in claims 2 and 12.Lee further meets the claim limitations as follow.
wherein the determining the one or more starting points (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079] comprises selecting the first starting point (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079],
wherein one or more point cloud groups comprise a target point cloud group (i.e. FIG.5 shows voxels positioned in a 3D space represented by a coordinate system composed of three axes, which are the X-axis, the Y-axis, and the Z-axis. As described with reference to FIG. 4, the point cloud encoder (e.g., the quantizer 40001) may perform voxelization. Voxel refers to a 3D cubic space generated when a 3D space is divided into units (unit=1.0) based on the axes representing the 3D space (e.g., X-axis, Y-axis, and Z-axis). FIG. 5 shows an example of voxels generated through an octree structure in which a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d) is recursively subdivided. One voxel includes at least one point. The spatial coordinates of a voxel may be estimated from the positional relationship with a voxel group. As described above, a voxel has an attribute (such as color or reflectance) like pixels of a 2D image/video. The details of the voxel are the same as those described with reference to FIG. 4, and therefore a description thereof is omitted) [Lee: para. 0069; Figs. 4-5]; wherein selecting a first starting point ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according
to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. The first triangle may consist of vertices 1, 2, and 3 among the ordered vertices, and the second triangle may consist of vertices 3, 4, and 1 among the ordered vertices) [Lee: para. 0082]) comprises selecting one or more fourth starting points of the target point cloud group ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. predictors or candidate points based on their difference in distance from the current point according to a specific threshold. For example, when a difference in characteristic between a point and the current point is greater than a threshold, the point may not be selected as a predictor or candidate point) [Lee: para. 0278] ; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184]),
wherein selecting one or more fourth starting points ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. predictors or candidate points based on their difference in distance from the current point according to a specific threshold. For example, when a difference in characteristic between a point and the current point is greater than a threshold, the point may not be selected as a predictor or candidate point) [Lee: para. 0278] ; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184]), comprises:
determining a fourth point cloud bounding box for the target point cloud group (i.e. FIG.5 shows voxels positioned in a 3D space represented by a coordinate system composed of three axes, which are the X-axis, the Y-axis, and the Z-axis. As described with reference to FIG. 4, the point cloud encoder (e.g., the quantizer 40001) may perform voxelization. Voxel refers to a 3D cubic space generated when a 3D space is divided into units (unit=1.0) based on the axes representing the 3D space (e.g., X-axis, Y-axis, and Z-axis). FIG. 5 shows an example of voxels generated through an octree structure in which a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d) is recursively subdivided. One voxel includes at least one point. The spatial coordinates of a voxel may be estimated from the positional relationship with a voxel group. As described above, a voxel has an attribute (such as color or reflectance) like pixels of a 2D image/video. The details of the voxel are the same as those described with reference to FIG. 4, and therefore a description thereof is omitted) [Lee: para. 0069; Figs. 4-5], comprising at least one of a smallest cuboid, a smallest cube, or a smallest polyhedron encompassing a fourth plurality of points in the target point cloud group (i.e. The upper part of FIG. 6 shows an octree structure. The 3D space of the point cloud content according to the embodiments is represented by axes (e.g., X-axis, Y-axis, and Z-axis) of the coordinate system. The octree structure is
created by recursive subdividing of a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d). Here, 2d may be set to a value constituting the smallest bounding box surrounding all points of the point cloud content
(or point cloud video). Here, d denotes the depth of the octree. The value of d is determined in the following equation. In the following equation, (xintn, yintn, zintn) denotes the positions (or position values) of quantized points) [Lee: para. 0072; Figs. 4-6; Note: Please see the equation in para. 0072]; and
selecting the one or more fourth starting points from a plurality of vertices (Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge). When the trisoup geometry encoding is applied, the point cloud encoder according to the embodiments (e.g., the geometry reconstructor 40005) may generate restored geometry (reconstructed geometry) by performing the triangle reconstruction, up-sampling, and voxelization processes) [Lee: para. 0080] of the fourth point cloud bounding box of the target point cloud group based on a selection rule (i.e. The upper part of FIG. 6 shows an octree structure. The 3D space of the point cloud content according to the embodiments is represented by axes (e.g., X-axis, Y-axis, and Z-axis) of the coordinate system. The octree structure is
created by recursive subdividing of a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d). Here, 2d may be set to a value constituting the smallest bounding box surrounding all points of the point cloud content
(or point cloud video). Here, d denotes the depth of the octree. The value of d is determined in the following equation. In the following equation, (xintn, yintn, zintn) denotes the positions (or position values) of quantized points) [Lee: para. 0072; Figs. 4-6; Note: Please see the equation in para. 0072], and
wherein the selection rule (the embodiments may be selectively performed) [Lee: para. 0076] comprises at least one of:
selecting the one or more fourth starting points randomly,
selecting the one or more fourth starting points based on geometric distance relationships between the plurality of vertices (i.e. method according to embodiments may compare each of P1 2106 and P2 2110 with the current point 2112 in the current frame to select the closest value, or may find the best case among a total of three conditions including a combination of P1 2106 and P2 2110 and use the same as the predicted value of the current point. In predicting the current point information by combining two or more pieces of predictor information, the
predicted value may be calculated by applying an arithmetic mean, a geometric mean, a weight based on a difference in display order, or the like.) [Lee: para. 0232], or
selecting the one or more fourth starting points in a preset direction (i.e. predictionDirection may indicate the direction of information to be selected using the mode information below among the candidate points selected to predict each node in the current frame after creating the cumulative reference frame – 0: Forward direction; 1: Backward direction; 2: Bi-direction; 3: Farther bi-direction) [Lee: para. 0351].
In the same field of endeavor Ramasubramonian further discloses the claim limitations as follows:
wherein the determining the one or more starting points (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173] comprises selecting the first starting point from (The 3D space occupied by a point cloud data may be enclosed by a virtual bounding box. The position of the points in the bounding box may be represented by a certain precision; therefore, the positions of one or more points may be quantized based on the precision. At the smallest level, the bounding box is split into voxels which are the smallest unit of space represented by a unit cube. A voxel in the bounding box may be associated with zero, one, or more than one point. The bounding box may be split into multiple cube/cuboid regions, which may be called tiles. Each tile may be coded into one or more slices. The partitioning of the bounding box into slices and tiles may be based on number of points in each partition, or based on other considerations (e.g., a particular region may be coded as tiles). The slice regions may be further partitioned using splitting decisions similar to those in video codecs) [Ramasubramonian: para. 0042];
wherein the one or more point cloud groups comprise a target point cloud group (A set of points may be specified/defined as a group of points (GoPt). In some examples, the set of points may be chosen as two or more points that are consecutive in decoding order. In some examples, the set of points may be chosen as two or more points that share a common characteristic, e.g., points that have the same laser ID, and/or points whose azimuth values are within an azimuth value range; or points that have the same laser ID and the difference between the maximum and minimum azimuth values of points in the set is less than a threshold. In some examples, the set of points may have a same azimuth value and laser ID value, but various radius values. In some examples, the set of points may have a same azimuth value and radius value, but various laser ID values. In some examples, the set of points may be grouped by either azimuth, radius, or laser ID values, or any combination) [Ramasubramonian: para. 0148],
wherein the selecting the first starting point comprises selecting one or more fourth starting points of the target point cloud group ((the subsequent point may be a second or subsequent point included in the first group of points) [Ramasubramonian: para. 0193]; (determining that a third point of the point cloud is a first point in a second group of points of the one or more groups of points) [Ramasubramonian: para. 0193]);
wherein the selecting the one or more fourth starting points comprises (The method of clause 4A, further comprising: responsive to determining that a fourth point of the point cloud is included in the second group of points but is not the first point in the second group of points: predicting, based on the one or more syntax elements related to inter prediction for the second group of points, the fourth point) [Ramasubramonian: para. 0194]:determining a fourth point cloud bounding box for the target point cloud group (The 3D space occupied by a point cloud data may be enclosed by a virtual bounding box. The position of the points in the bounding box may be represented by a certain precision; therefore, the positions of one or more points may be quantized based on the precision. At the smallest level, the bounding box is split into voxels which are the smallest unit of space represented by a unit cube. A voxel in the bounding box may be associated with zero, one, or more than one point. The bounding box may be split into multiple cube/cuboid regions, which may be called tiles. Each tile may be coded into one or more slices. The partitioning of the bounding box into slices and tiles may be based on number of points in each partition, or based on other considerations (e.g., a particular region may be coded as tiles). The slice regions may be further partitioned using splitting decisions similar to those in video codecs) [Ramasubramonian: para. 0042], comprising at least one of a smallest cuboid, a smallest cube, or a smallest polyhedron encompassing a fourth plurality of points in the target point cloud group (To determine the reference point based on the
reference pivot point, the G-PCC coder may identify, as the reference point in the reference frame, a point having an azimuth that greater than an azimuth of the reference pivot point. For instance, the G-PCC coder may determine which of points 756 have azimuth values greater than an azimuth value of the reference pivot point, and select (from the set of points 756 having azimuth values greater than the azimuth value of the reference pivot point) the point having the smallest azimuth value. In this example of FIG. 7, point 756A may be the point in reference frame 754 that has the smallest azimuth that is larger than the azimuth of reference pivot point 765B. As such, the G-PCC coder may identify point 756A as the reference point for performing intra prediction of current point 752A) [Ramasubramonian: para. 0119].
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 Lee with Ramasubramonian to implement the Ramasubramonian’s method.
Therefore, the combination of Lee with Ramasubramonian will improve the coding efficiency [Ramasubramonian: para. 0005].
Regarding claims 4 and 14, Lee meets the claim limitations as set forth in claims 2 and 12.Lee further meets the claim limitations as follow.
wherein the determining the one or more starting points (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079] comprises selecting the second starting point (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079],
wherein one or more point cloud groups comprise a target point cloud group (i.e. FIG.5 shows voxels positioned in a 3D space represented by a coordinate system composed of three axes, which are the X-axis, the Y-axis, and the Z-axis. As described with reference to FIG. 4, the point cloud encoder (e.g., the quantizer 40001) may perform voxelization. Voxel refers to a 3D cubic space generated when a 3D space is divided into units (unit=1.0) based on the axes representing the 3D space (e.g., X-axis, Y-axis, and Z-axis). FIG. 5 shows an example of voxels generated through an octree structure in which a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d) is recursively subdivided. One voxel includes at least one point. The spatial coordinates of a voxel may be estimated from the positional relationship with a voxel group. As described above, a voxel has an attribute (such as color or reflectance) like pixels of a 2D image/video. The details of the voxel are the same as those described with reference to FIG. 4, and therefore a description thereof is omitted) [Lee: para. 0069; Figs. 4-5]; wherein selecting the second starting point ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according
to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. The first triangle may consist of vertices 1, 2, and 3 among the ordered vertices, and the second triangle may consist of vertices 3, 4, and 1 among the ordered vertices) [Lee: para. 0082]) comprises selecting one or more fifth starting points of the target point cloud group ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. predictors or candidate points based on their difference in distance from the current point according to a specific threshold. For example, when a difference in characteristic between a point and the current point is greater than a threshold, the point may not be selected as a predictor or candidate point) [Lee: para. 0278] ; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184]),
wherein selecting one or more fifth starting points comprises selecting one or more fifth identified starting points from a fifth plurality of points in the target point cloud group ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. predictors or candidate points based on their difference in distance from the current point according to a specific threshold. For example, when a difference in characteristic between a point and the current point is greater than a threshold, the point may not be selected as a predictor or candidate point) [Lee: para. 0278] ; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184]) from at least one of:
one or more maximum points of the target point cloud group, one or more minimum points of the target point cloud group ((Points in the point cloud content may be rendered to a vertex having a certain thickness, a cube having a specific minimum size centered on the corresponding vertex position, or a circle centered on the corresponding vertex position) [Lee: para. 0184]; (i.e. The upper part of FIG. 6 shows an octree structure. The 3D space of the point cloud content according to the embodiments is represented by axes (e.g., X-axis, Y-axis, and Z-axis) of the coordinate system. The octree structure is created by recursive subdividing of a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d). Here, 2d may be set to a value constituting the smallest bounding box surrounding all points of the point cloud content (or point cloud video). Here, d denotes the depth of the octree. The value of d is determined in the following equation. In the following equation, (xintn, yintn, zintn) denotes the positions (or position values) of quantized points) [Lee: para. 0072; Figs. 4-6; Note: Please see the equation in para. 0072]), or
one or more median points of the target point cloud group (The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge) [Lee: para. 0184].
In the same field of endeavor Ramasubramonian further discloses the claim limitations as follows:
wherein the determining the one or more starting points (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173] comprises selecting the second starting point from (The 3D space occupied by a point cloud data may be enclosed by a virtual bounding box. The position of the points in the bounding box may be represented by a certain precision; therefore, the positions of one or more points may be quantized based on the precision. At the smallest level, the bounding box is split into voxels which are the smallest unit of space represented by a unit cube. A voxel in the bounding box may be associated with zero, one, or more than one point. The bounding box may be split into multiple cube/cuboid regions, which may be called tiles. Each tile may be coded into one or more slices. The partitioning of the bounding box into slices and tiles may be based on number of points in each partition, or based on other considerations (e.g., a particular region may be coded as tiles). The slice regions may be further partitioned using splitting decisions similar to those in video codecs) [Ramasubramonian: para. 0042];
wherein the one or more point cloud groups comprise a target point cloud group (A set of points may be specified/defined as a group of points (GoPt). In some examples, the set of points may be chosen as two or more points that are consecutive in decoding order. In some examples, the set of points may be chosen as two or more points that share a common characteristic, e.g., points that have the same laser ID, and/or points whose azimuth values are within an azimuth value range; or points that have the same laser ID and the difference between the maximum and minimum azimuth values of points in the set is less than a threshold. In some examples, the set of points may have a same azimuth value and laser ID value, but various radius values. In some examples, the set of points may have a same azimuth value and radius value, but various laser ID values. In some examples, the set of points may be grouped by either azimuth, radius, or laser ID values, or any combination) [Ramasubramonian: para. 0147],
wherein the selecting the second starting point comprises selecting one or more fifth starting points of the target point cloud group ((the subsequent point may be a second or subsequent point included in the first group of points) [Ramasubramonian: para. 0193]; (determining that a third point of the point cloud is a first point in a second group of points of the one or more groups of points) [Ramasubramonian: para. 0193]);
wherein the selecting the one or more fifth starting points comprises selecting one or more fifth identified starting points from a fifth plurality of points in the target point cloud group (The method of clause 4A, further comprising: responsive to determining that a fourth point of the point cloud is included in the second group of points but is not the first point in the second group of points: predicting, based on the one or more syntax elements related to inter prediction for the second group of points, the fourth point) [Ramasubramonian: para. 0194] from at least one of: one or more maximum points of the target point cloud group (A set of points may be specified/defined as a group of points (GoPt). In some examples, the set of points may be chosen as two or more points that are consecutive in decoding order. In some examples, the set of points may be chosen as two or more points that share a common characteristic, e.g., points that have the same laser ID, and/or points whose azimuth values are within an azimuth value range; or points that have the same laser ID and the difference between the maximum and minimum azimuth values of points in the set is less than a threshold. In some examples, the set of points may have a same azimuth value and laser ID value, but various radius values. In some examples, the set of points may have a same azimuth value and radius value, but various laser ID values. In some examples, the set of points may be grouped by either azimuth, radius, or laser ID values, or any combination) [Ramasubramonian: para. 0148], one or more minimum points of the target point cloud group (The 3D space occupied by a point cloud data may be enclosed by a virtual bounding box. The position of the points in the bounding box may be represented by a certain precision; therefore, the positions of one or more points may be quantized based on the precision. At the smallest level, the bounding box is split into voxels which are the smallest unit of space represented by a unit cube. A voxel in the bounding box may be associated with zero, one, or more than one point.) [Ramasubramonian: para. 0042]; (To determine the reference point based on the reference pivot point, the G-PCC coder may identify, as the reference point in the reference frame, a point having an azimuth that greater than an azimuth of the reference pivot point. For instance, the G-PCC coder may determine which of points 756 have azimuth values greater than an azimuth value of the reference pivot point, and select (from the set of points 756 having azimuth values greater than the azimuth value of the reference pivot point) the point having the smallest azimuth value. In this example of FIG. 7, point 756A may be the point in reference frame 754 that has the smallest azimuth that is larger than the azimuth of reference pivot point 765B. As such, the G-PCC coder may identify point 756A as the reference point for performing intra prediction of current point 752A) [Ramasubramonian: para. 0119]; (A set of points may be specified/defined as a group of points (GoPt). In some examples, the set of points may be chosen as two or more points that are consecutive in decoding order. In some examples, the set of points may be chosen as two or more points that share a common characteristic, e.g., points that have the same laser ID, and/or points whose azimuth values are within an azimuth value range; or points that have the same laser ID and the difference between the maximum and minimum azimuth values of points in the set is less than a threshold. In some examples, the set of points may have a same azimuth value and laser ID value, but various radius values. In some examples, the set of points may have a same azimuth value and radius value, but various laser ID values. In some examples, the set of points may be grouped by either azimuth, radius, or laser ID values, or any combination) [Ramasubramonian: para. 0148]), or one or more median points of the target point cloud group.
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 Lee with Ramasubramonian to implement the Ramasubramonian’s method.
Therefore, the combination of Lee with Ramasubramonian will improve the coding efficiency [Ramasubramonian: para. 0005].
Regarding claims 5 and 15, Lee meets the claim limitations as set forth in claims 2 and 12.Lee further meets the claim limitations as follow.
wherein the determining the one or more starting points (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079] comprises selecting the third starting point (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079],
wherein one or more point cloud groups comprise a target point cloud group (i.e. FIG.5 shows voxels positioned in a 3D space represented by a coordinate system composed of three axes, which are the X-axis, the Y-axis, and the Z-axis. As described with reference to FIG. 4, the point cloud encoder (e.g., the quantizer 40001) may perform voxelization. Voxel refers to a 3D cubic space generated when a 3D space is divided into units (unit=1.0) based on the axes representing the 3D space (e.g., X-axis, Y-axis, and Z-axis). FIG. 5 shows an example of voxels generated through an octree structure in which a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d) is recursively subdivided. One voxel includes at least one point. The spatial coordinates of a voxel may be estimated from the positional relationship with a voxel group. As described above, a voxel has an attribute (such as color or reflectance) like pixels of a 2D image/video. The details of the voxel are the same as those described with reference to FIG. 4, and therefore a description thereof is omitted) [Lee: para. 0069; Figs. 4-5]; wherein selecting the third starting point ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according
to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. The first triangle may consist of vertices 1, 2, and 3 among the ordered vertices, and the second triangle may consist of vertices 3, 4, and 1 among the ordered vertices) [Lee: para. 0082]) comprises selecting one or more sixth starting points of the target point cloud group ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. predictors or candidate points based on their difference in distance from the current point according to a specific threshold. For example, when a difference in characteristic between a point and the current point is greater than a threshold, the point may not be selected as a predictor or candidate point) [Lee: para. 0278] ; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184]),
wherein selecting one or more sixth starting points comprises selecting one or more sixth identified starting points based on a sixth arrangement order of a plurality of sixth points in the target point cloud group ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. predictors or candidate points based on their difference in distance from the current point according to a specific threshold. For example, when a difference in characteristic between a point and the current point is greater than a threshold, the point may not be selected as a predictor or candidate point) [Lee: para. 0278] ; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184]),
wherein the one or more sixth identified points ((i.e. groups of points in the 3D space with voxels) [Lee: para. 0051] ; (i.e. a point cloud, which is a set of points positioned in a 3D space) [Lee: para. 0017]) comprise at least one of:
a sixth head point in the sixth arrangement order (i.e. first point 2002 in the current frame) [Lee: para. 0227; Figs 20-28], or a sixth tail point in the sixth arrangement order.
In the same field of endeavor Ramasubramonian further discloses the claim limitations as follows:
wherein the determining the one or more starting points (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173] comprises selecting the third starting point from (The 3D space occupied by a point cloud data may be enclosed by a virtual bounding box. The position of the points in the bounding box may be represented by a certain precision; therefore, the positions of one or more points may be quantized based on the precision. At the smallest level, the bounding box is split into voxels which are the smallest unit of space represented by a unit cube. A voxel in the bounding box may be associated with zero, one, or more than one point. The bounding box may be split into multiple cube/cuboid regions, which may be called tiles. Each tile may be coded into one or more slices. The partitioning of the bounding box into slices and tiles may be based on number of points in each partition, or based on other considerations (e.g., a particular region may be coded as tiles). The slice regions may be further partitioned using splitting decisions similar to those in video codecs) [Ramasubramonian: para. 0042];
wherein the one or more point cloud groups comprise a target point cloud group (A set of points may be specified/defined as a group of points (GoPt). In some examples, the set of points may be chosen as two or more points that are consecutive in decoding order. In some examples, the set of points may be chosen as two or more points that share a common characteristic, e.g., points that have the same laser ID, and/or points whose azimuth values are within an azimuth value range; or points that have the same laser ID and the difference between the maximum and minimum azimuth values of points in the set is less than a threshold. In some examples, the set of points may have a same azimuth value and laser ID value, but various radius values. In some examples, the set of points may have a same azimuth value and radius value, but various laser ID values. In some examples, the set of points may be grouped by either azimuth, radius, or laser ID values, or any combination) [Ramasubramonian: para. 0147],
wherein the selecting the third starting point comprises selecting one or more sixth starting points of the target point cloud group ((the subsequent point may be a second or subsequent point included in the first group of points) [Ramasubramonian: para. 0193]; (determining that a third point of the point cloud is a first point in a second group of points of the one or more groups of points) [Ramasubramonian: para. 0193]);
wherein the selecting the one or more sixth starting points comprises determining one or more sixth identified points based on a sixth arrangement order of a plurality of sixth points in the target point cloud group (The method of clause 4A, further comprising: responsive to determining that a fourth point of the point cloud is included in the second group of points but is not the first point in the second group of points: predicting, based on the one or more syntax elements related to inter prediction for the second group of points, the fourth point) [Ramasubramonian: para. 0194], and wherein the one or more sixth identified points (A set of points may be specified/defined as a group of points (GoPt). In some examples, the set of points may be chosen as two or more points that are consecutive in decoding order. In some examples, the set of points may be chosen as two or more points that share a common characteristic, e.g., points that have the same laser ID, and/or points whose azimuth values are within an azimuth value range; or points that have the same laser ID and the difference between the maximum and minimum azimuth values of points in the set is less than a threshold. In some examples, the set of points may have a same azimuth value and laser ID value, but various radius values. In some examples, the set of points may have a same azimuth value and radius value, but various laser ID values. In some examples, the set of points may be grouped by either azimuth, radius, or laser ID values, or any combination) [Ramasubramonian: para. 0148] comprise from at least one of:
a sixth head point in the sixth arrangement order (Responsive to determining that the current point is the first point in the first group of points ("Yes" branch of 1102), G-PCC decoder 300 parse decode a first set of inter prediction related syntax elements associated with the first group of points) [Ramasubramonian: para. 0181], or a sixth tail point in the sixth arrangement order (it may be with the last point in the GoPt,) [Ramasubramonian: para. 0187].
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 Lee with Ramasubramonian to implement the Ramasubramonian’s method.
Therefore, the combination of Lee with Ramasubramonian will improve the coding efficiency [Ramasubramonian: para. 0005].
Regarding claims 6 and 16, Lee meets the claim limitations as set forth in claims 1 and 11.Lee further meets the claim limitations as follow.
wherein the one or more point cloud groups comprise a target point cloud group ((i.e. a set of points belonging to a coordinate system representing a three-dimensional space. The point cloud content may express media configured in three dimensions, and is used to provide various services such as virtual reality (VR), augmented reality (AR), mixed reality (MR), and self-driving services) [Lee: para. 0002]; (i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]), and wherein the determining the one or more starting points (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079] comprises: determining a first starting point for the target point cloud group ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0081]), based on at least one of: a plurality of vertices (i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052] of a point cloud bounding box of the target point cloud group (i.e. FIG.5 shows voxels positioned in a 3D space represented by a coordinate system composed of three axes, which are the X-axis, the Y-axis, and the Z-axis. As described with reference to FIG. 4, the point cloud encoder (e.g., the quantizer 40001) may perform voxelization. Voxel refers to a 3D cubic space generated when a 3D space is divided into units (unit=1.0) based on the axes representing the 3D space (e.g., X-axis, Y-axis, and Z-axis). FIG. 5 shows an example of voxels generated through an octree structure in which a cubical axis-aligned bounding box defined by two poles (0, 0, 0) and (2d, 2d, 2d) is recursively subdivided. One voxel includes at least one point. The spatial coordinates of a voxel may be estimated from the positional relationship with a voxel group. As described above, a voxel has an attribute (such as color or reflectance) like pixels of a 2D image/video. The details of the voxel are the same as those described with reference to FIG. 4, and therefore a description thereof is omitted) [Lee: para. 0069; Figs. 4-5], one or more first identified points in the target point cloud group (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184], or an arrangement order of a second plurality of points in the target point cloud group ; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184]; and selecting a starting point from the second plurality of points based on a geometric positional relationship (Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge). When the trisoup geometry encoding is applied, the point cloud encoder according to the embodiments (e.g., the geometry reconstructor 40005) may generate restored geometry (reconstructed geometry) by performing the triangle reconstruction, up-sampling, and voxelization processes) [Lee: para. 0080] between the first starting point and the second plurality of points; (i.e. the reference frame is searched for a point 1504 whose azimuth is most similar to the point 1505 decoded prior to the current point in the current frame and whose laser ID is the same. Then, the closest point 1502 or the second closest point 1503 to the point 1504 among the points having an increasing azimuth may be determined as a predicted value, that is, a predictor of the current point 1501. In this case, the case of determining the closest point as the predictor and the case of determining the second closest point as the predictor may be separately signaled by a flag, such that point information to be considered as the position of the current point in inter-prediction may be determined, and then the information about the corresponding predictor may be delivered to the receiver) [Lee: para. 0184].
Regarding claims 7 and 17, Lee meets the claim limitations as set forth in claims 1 and 11.Lee further meets the claim limitations as follow.
wherein the one or more point cloud groups comprise an mth point cloud group and an (m+1)th point cloud group ((i.e. a set of points belonging to a coordinate system representing a three-dimensional space. The point cloud content may express media configured in three dimensions, and is used to provide various services such as virtual reality (VR), augmented reality (AR), mixed reality (MR), and self-driving services) [Lee: para. 0002]; (i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]), , and m is an integer (n = 1, …, N) [Lee: para. 0072],
wherein the determining the one or more starting points (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0079-0080] comprises:selecting one or more first starting points for the mth point cloud group (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079];selecting a second starting point for the (m+1)th point cloud group ((i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. The first triangle may consist of vertices 1, 2, and 3 among the ordered vertices, and the second triangle may consist of vertices 3, 4, and 1 among the ordered vertices) [Lee: para. 0082]);wherein the selecting the second starting point comprises selecting a third starting point from the one or more first starting points (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079] based on a screening rule for the (m+1)th point cloud group (((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge). When the trisoup geometry encoding is applied, the point cloud encoder according to the embodiments (e.g., the geometry reconstructor 40005) may generate restored geometry (reconstructed geometry) by performing the triangle reconstruction, up-sampling, and voxelization processes. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0080-0081] – Note: Please see details in Figs. 4-6, 20-28); (i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]; (i.e. The first triangle may consist of vertices 1, 2, and 3 among the ordered vertices, and the second triangle may consist of vertices 3, 4, and 1 among the ordered vertices) [Lee: para. 0082]), and wherein the screening rule comprises at least one of:selecting the third starting point randomly (i.e. When sps_interEnable is True, numGroupOfFrame indicates the periodicity of random access points corresponding to an inter-predicted frame) [Lee: para. 0309], or selecting the third starting point based on a lowest priority from the one or more first starting points.
Regarding claims 8 and 18, Lee meets the claim limitations as set forth in claims 1 and 11.Lee further meets the claim limitations as follow.
wherein the one or more point cloud groups comprise a target point cloud group ((i.e. a set of points belonging to a coordinate system representing a three-dimensional space. The point cloud content may express media configured in three dimensions, and is used to provide various services such as virtual reality (VR), augmented reality (AR), mixed reality (MR), and self-driving services) [Lee: para. 0002]; (i.e. To select a best case among the found points (or predictors), the transmission and reception devices according to embodiments may exclude some points from the search if the information found is greater than a specific threshold. For example, when the difference between some or all of P1, P1’, P2, and P2’ according to embodiments and the current point is greater than a threshold, the corresponding points may be excluded from the best case search. The difference from the current point may be a difference in azimuth or radius, may be a Euclidean distance or other measure of distance, or may be a difference in attribute information.) [Lee: para. 0274]),
wherein one or more third starting points of the target point cloud group (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079] comprises a first starting point and a second starting point ((i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079]; (i.e. method according to embodiments may compare each of P1 2106 and P2 2110 with the current point 2112 in the current frame to select the closest value, or may find the best case among a total of three conditions including a combination of P1 2106 and P2 2110 and use the same as the predicted value of the current point. In predicting the current point information by combining two or more pieces of predictor information, the predicted value may be calculated by applying an arithmetic mean, a geometric mean, a weight based on a difference in display order, or the like. To predict the current point 2112 in the current frame, the transmission/reception device/method according to embodiments may find a second point 2104 having the same laser ID and similar azimuth in reference frame 1 based on the previously decoded first point 2102 in the current frame. Then, the closest point, the third point 2106, among the points having a radius greater than that of the first point 2102 in reference frame 1 may be determined as a first predictor (P1) 2106 or a first candidate point (P1) 2106. Then, in reference frame 2, a fourth point 2108 having the same laser ID, similar azimuth and the closest radius to the first predictor 2006 may be searched for, and the closest point 2110 among the points having the same laser ID and similar azimuth to the fourth point 2108 and having a radius greater than that of the fourth point 2108 may be determined as a second predictor (P2) 2110) [Lee: para. 0232-0233]),
wherein the constructing the one or more single-chain predictive trees (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184] comprises
constructing a first single-chain predictive tree (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184] for the target point cloud group ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. FIG. 6 shows an example of an octree and occupancy code according to embodiments) [Lee: para. 0010; Fig. 6]) based on the first starting point and the second starting point (i.e. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0081] – Please also see the formula in para. 0081),
wherein the constructing the first single-chain predictive tree comprises (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184]:
determining one or more fourth points other than the one or more third starting points as candidate points (i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge). When the trisoup geometry encoding is applied, the point cloud encoder according to the embodiments (e.g., the geometry reconstructor 40005) may generate restored geometry (reconstructed geometry) by performing the triangle reconstruction, up-sampling, and voxelization processes. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0080-0081] – Note: Please see details in Figs. 4-6, 20-28);
adding the candidate points to a set of alternative points ((i.e. The upsampling process is performed to add points in the middle along the edge of the triangle and perform voxelization. The added points are generated based on the upsampling factor and the width of the block. The added points are called refined vertices. The point cloud encoder according to the embodiments may voxelize the refined vertices. In addition, the point cloud encoder may perform attribute encoding based on the voxelized positions) [Lee: para. 0084]; (i.e. According to embodiments, one voxel may include one or more points. In order to express one voxel as one point, the position of the center of a voxel may be set based on the positions of one or more points included in the voxel. In this case, attributes of all positions included in one voxel may be combined and assigned to the voxel) [Lee: para. 0052]); and
constructing the first single-chain predictive tree (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184] based on the set of alternative points ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. FIG. 6 shows an example of an octree and occupancy code according to embodiments) [Lee: para. 0010; Fig. 6]), the first starting point, and the second starting point (i.e. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0081] – Please also see the formula in para. 0081),
wherein a fifth starting point (i.e. the starting point of the edge) [Lee: para. 0081; Figs. 4-6, 20-28] of the first single-chain predictive tree (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184] is the first starting point (i.e. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0081; Figs. 4-6, 20-28] – Please see the formula in para. 0081, and the starting point and end point in Figs. 20-28), and
wherein a fifth ending point of the first single-chain predictive tree (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184] is the second starting point (i.e. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0081; Figs. 4-6, 20-28] – Please see the formula in para. 0081, and the starting point and end point in Figs. 20-28).
Lee does not explicitly disclose the following claim limitations (Emphasis added).
a fifth ending point.
In the same field of endeavor Ramasubramonian further discloses the claim limitations as follows:
a fifth ending point (the last point in the GoPt) [Ramasubramonian: para. 0187].
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 Lee with Ramasubramonian to implement the Ramasubramonian’s method.
Therefore, the combination of Lee with Ramasubramonian will improve the coding efficiency [Ramasubramonian: para. 0005].
Regarding claim 11, Lee meets the claim limitations as follow.
A point cloud encoding apparatus (i.e. a method and apparatus for processing point cloud content) [Lee: para. 0001], configured in an encoding device (i.e. FIG. 4 illustrates an exemplary point cloud encoder according to embodiments) [Lee: para. 0010; Fig. 4], comprising: at least one non-transitory memory (i.e. a memory) [Lee: para. 0417] configured to store program code (i.e. The memory may store programs for processing) [Lee: para. 0414; Fig. 4]; and at least one processor (i.e. a processor) [Lee: para. 0417] configured to read the program code and operate as instructed by the program code (i.e. The processor may be referred to as a controller or the like. In embodiments, operations may be performed by firmware, software, and/or combinations thereof. The firmware, software, and/or combinations thereof may be stored in the processor or the memory) [Lee: para. 0417], the program code (i.e. software) [Lee: para. 0417] comprising:obtaining code configured to cause at least one of the at least one processor to (i.e. the one or more processors may operate or execute a set of software programs and/or instructions for performing the operations and/or functions of the elements of the point cloud encoder of FIG. 4) [Lee: para. 0417; Fig. 4] obtain point cloud data (i.e. receiving point cloud data) [Lee: para. 0005], comprising one or more point cloud groups (i.e. groups of points in the 3D space with voxels) [Lee: para. 0051], wherein the one or more point cloud groups comprise a first plurality of points ((i.e. groups of points in the 3D space with voxels) [Lee: para. 0051] ; (i.e. a point cloud, which is a set of points positioned in a 3D space) [Lee: para. 0017]); determining code configured to cause at least one of the at least one processor to (i.e. the one or more processors may operate or execute a set of software programs and/or instructions for performing the operations and/or functions of the elements of the point cloud encoder of FIG. 4) [Lee: para. 0417; Fig. 4] determine one or more starting points for the one or more point cloud groups (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079]; constructing code configured to cause at least one of the at least one processor to (i.e. the one or more processors may operate or execute a set of software programs and/or instructions for performing the operations and/or functions of the elements of the point cloud encoder of FIG. 4) [Lee: para. 0417; Fig. 4] construct , based on the one or more starting points ((Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0080; Figs. 4-5]; (i.e. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0081] – Please also see the formula in para. 0081), one or more single-chain predictive trees (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184] for the one or more point cloud groups ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. FIG. 6 shows an example of an octree and occupancy code according to embodiments) [Lee: para. 0010; Fig. 6]) the one or more single-chain predictive trees comprising no branch chains; encoding code configured to cause at least one of the at least one processor to (i.e. the one or more processors may operate or execute a set of software programs and/or instructions for performing the operations and/or functions of the elements of the point cloud encoder of FIG. 4) [Lee: para. 0417; Fig. 4] encode the first plurality of points (i.e. encoding point cloud data) [Lee: para. 0005] based on the one or more single-chain predictive trees ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. The arithmetic encoder 40004 according to the embodiments performs entropy encoding on the octree and/or the approximated octree. For example, the encoding scheme includes arithmetic encoding. As a result of the encoding, a geometry bitstream is generated) [Lee: para. 0054]); and transmitting code configured to cause at least one of the at least one processor to (i.e. the one or more processors may operate or execute a set of software programs and/or instructions for performing the operations and/or functions of the elements of the point cloud encoder of FIG. 4) [Lee: para. 0417; Fig. 4] transmit the encoded first plurality of points (i.e. The transmission processor 12012 according to the embodiments may transmit each bitstream containing encoded geometry and/or encoded attributes and metadata information, or transmit one bitstream configured with the encoded geometry and/or the encoded attributes and the metadata information. When the encoded geometry and/or the encoded attributes and the metadata information according to the embodiments are configured into one bitstream, the bitstream may include one or more sub-bitstreams. The bitstream according to the embodiments may contain signaling information including a sequence parameter set (SPS) for signaling of a sequence level, a geometry parameter set (GPS) for signaling of geometry information coding, an attribute parameter set (APS) for signaling of attribute information coding, and a tile parameter set (TPS) for signaling of a tile level, and slice data. The slice data may include information about one or more slices. One slice according to embodiments may include one geometry bitstream Geom00 and one or more attribute bitstreams Attr00 and Attr10) [Lee: para. 0138].
Lee does not explicitly disclose the following claim limitations (Emphasis added).
determining one or more starting points for the one or more point cloud groups;the one or more single-chain predictive trees comprising no branch chains;
However, in the same field of endeavor Ramasubramonian further discloses the claim limitations and the deficient claim limitations as follows:
determining one or more starting points for the one or more point cloud groups (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173]; constructing one or more single-chain predictive trees for the one or more point cloud groups (FIG. 4 is a conceptual diagram illustrating an example octree split for geometry coding. FIG. 5 is a conceptual diagram of a prediction tree
for predictive geometry coding) [Ramasubramonian: para. 0016-0017; Figs. 4-5] based on the one or more starting points (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173]; encoding the first plurality of points (A method of encoding a point cloud, the method comprising: responsive to determining that a first point of the point cloud is a first point in a first group of points of one or more groups of points of the point cloud: encoding, in a bitstream, one or more syntax elements related to inter prediction for the first group of points) [Ramasubramonian: para. 0199] based on the one or more single-chain predictive trees (Predictive geometry coding was introduced as an
alternative to the octree geometry coding, where the nodes are arranged in a tree structure (which defines the prediction structure), and various prediction strategies are used to predict the coordinates of each node in the tree with respect to its predictors. FIG. 5 is a conceptual diagram illustrating an example of a prediction tree 500, a directed graph where the arrow points to the prediction direction. The horizontally shaded node is the root vertex and has no predictors; the grid shaded nodes have two children; the diagonally shaded node has 3 children; the non-shaded nodes have one children and the vertically shaded nodes are leaf nodes and these have no children. Every node has only one parent node) [Ramasubramonian: para. 0068; Fig. 5].
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 Lee with Ramasubramonian to implement the Ramasubramonian’s method.
Therefore, the combination of Lee with Ramasubramonian will improve the coding efficiency [Ramasubramonian: para. 0005].
Lee and Ramasubramonian do not explicitly disclose the following claim limitations (Emphasis added).
the one or more single-chain predictive trees comprising no branch chains.
However, in the same field of endeavor Lasserre further discloses the claim limitations and the deficient claim limitations as follows:
the one or more single-chain predictive trees comprising no branch chains (This representation is denoted "one-chain coding" as points are represented in a single chain of points, each point having a single successor) [Lasserre: para. 0030; Fig. 6].
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 Lee and Ramasubramonian with Lasserre to implement the Lasserre’s method.
Therefore, the combination of Lee and Ramasubramonian with Lasserre will improve the coding efficiency [Lasserre: para. 0061].
Regarding claim 20, Lee meets the claim limitations as follow.
A non-transitory computer-readable storage medium (i.e. a memory) [Lee: para. 0417], storing computer code which (i.e. The memory may store programs for processing) [Lee: para. 0414; Fig. 4], when executed by at least one processor (i.e. the one or more processors may operate or execute a set of software programs and/or instructions for performing the operations and/or functions of the elements of the point cloud encoder of FIG. 4) [Lee: para. 0417; Fig. 4], causes the at least one processor to at least (i.e. The processor may be referred to as a controller or the like. In embodiments, operations may be performed by firmware, software, and/or combinations thereof. The firmware, software, and/or combinations thereof may be stored in the processor or the memory) [Lee: para. 0417]:obtain point cloud data (i.e. receiving point cloud data) [Lee: para. 0005], comprising one or more point cloud groups (i.e. groups of points in the 3D space with voxels) [Lee: para. 0051], wherein the one or more point cloud groups comprise a first plurality of points ((i.e. groups of points in the 3D space with voxels) [Lee: para. 0051] ; (i.e. a point cloud, which is a set of points positioned in a 3D space) [Lee: para. 0017]); determine one or more starting points for the one or more point cloud groups (i.e. A vertex present along an edge is detected when there is at least one occupied voxel adjacent to the edge among all blocks sharing the edge. The occupied voxel according to the embodiments refers to a voxel containing a point. The position of the vertex detected along the edge is the average position along the edge of all voxels adjacent to the edge among all blocks sharing the edge. Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0078-0079]; construct, based on the one or more starting points ((Once the vertex is detected, the point cloud encoder according to the embodiments may perform entropy encoding on the starting point (x, y, z) of the edge, the direction vector (Δx, Δy, Δz) of the edge, and the vertex position value (relative position value within the edge)) [Lee: para. 0080; Figs. 4-5]; (i.e. The vertices positioned at the edge of the block determine a surface that passes through the block. The surface according to the embodiments is a non-planar polygon. In the triangle reconstruction process, a surface represented by a triangle is reconstructed based on the starting point of the edge, the direction vector of the edge, and the position values of the vertices) [Lee: para. 0081] – Please also see the formula in para. 0081), one or more single-chain predictive trees (i.e. generating a predictive tree structure for predicting point cloud data) [Lee: para. 0184] for the one or more point cloud groups ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. FIG. 6 shows an example of an octree and occupancy code according to embodiments) [Lee: para. 0010; Fig. 6]), the one or more single-chain predictive trees comprising no branch chains;; encode the first plurality of points (i.e. encoding point cloud data) [Lee: para. 0005] based on the one or more single-chain predictive trees ((i.e. The octree analyzer 40002 according to the embodiments performs octree geometry coding (or octree coding) to present voxels in an octree structure. The octree structure represents points matched with voxels, based on the octal tree structure) [Lee: para. 0052]; (i.e. The arithmetic encoder 40004 according to the embodiments performs entropy encoding on the octree and/or the approximated octree. For example, the encoding scheme includes arithmetic encoding. As a result of the encoding, a geometry bitstream is generated) [Lee: para. 0054]); and transmit the encoded first plurality of points (i.e. The transmission processor 12012 according to the embodiments may transmit each bitstream containing
encoded geometry and/or encoded attributes and metadata information, or transmit one bitstream configured with the encoded geometry and/or the encoded attributes and the metadata information. When the encoded geometry and/or the encoded attributes and the metadata information according to the embodiments are configured into one bitstream, the bitstream may include one or more sub-bitstreams. The bitstream according to the embodiments may contain signaling information including a sequence parameter set (SPS) for signaling of a sequence level, a geometry parameter set (GPS) for signaling of geometry information coding, an attribute parameter set (APS) for signaling of attribute information coding, and a tile parameter set (TPS) for signaling of a tile level, and slice data. The slice data may include information about one or more slices. One slice according to embodiments may include one geometry bitstream Geom00 and one or more attribute bitstreams Attr00 and Attr10) [Lee: para. 0138].
Lee does not explicitly disclose the following claim limitations (Emphasis added).
determine one or more starting points for the one or more point cloud groups.the one or more single-chain predictive trees comprising no branch chains;
However, in the same field of endeavor Ramasubramonian further discloses the claim limitations and the deficient claim limitations as follows:
determine one or more starting points for the one or more point cloud groups (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173]; construct one or more single-chain predictive trees for the one or more point cloud groups (FIG. 4 is a conceptual diagram illustrating an example octree split for geometry coding. FIG. 5 is a conceptual diagram of a prediction tree
for predictive geometry coding) [Ramasubramonian: para. 0016-0017; Figs. 4-5] based on the one or more starting points (gopt_start_flag equal to 1 specifies that the current point starts a new GoPt) [Ramasubramonian: para. 0173]; encode the first plurality of points (A method of encoding a point cloud, the method comprising: responsive to determining that a first point of the point cloud is a first point in a first group of points of one or more groups of points of the point cloud: encoding, in a bitstream, one or more syntax elements related to inter prediction for the first group of points) [Ramasubramonian: para. 0199] based on the one or more single-chain predictive trees (Predictive geometry coding was introduced as an
alternative to the octree geometry coding, where the nodes are arranged in a tree structure (which defines the prediction structure), and various prediction strategies are used to predict the coordinates of each node in the tree with respect to its predictors. FIG. 5 is a conceptual diagram illustrating an example of a prediction tree 500, a directed graph where the arrow points to the prediction direction. The horizontally shaded node is the root vertex and has no predictors; the grid shaded nodes have two children; the diagonally shaded node has 3 children; the non-shaded nodes have one children and the vertically shaded nodes are leaf nodes and these have no children. Every node has only one parent node) [Ramasubramonian: para. 0068; Fig. 5].
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 Lee with Ramasubramonian to implement the Ramasubramonian’s method.
Therefore, the combination of Lee with Ramasubramonian will improve the coding efficiency [Ramasubramonian: para. 0005].
Lee and Ramasubramonian do not explicitly disclose the following claim limitations (Emphasis added).
the one or more single-chain predictive trees comprising no branch chains.
However, in the same field of endeavor Lasserre further discloses the claim limitations and the deficient claim limitations as follows:
the one or more single-chain predictive trees comprising no branch chains (This representation is denoted "one-chain coding" as points are represented in a single chain of points, each point having a single successor) [Lasserre: para. 0030; Fig. 6].
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 Lee and Ramasubramonian with Lasserre to implement the Lasserre’s method.
Therefore, the combination of Lee and Ramasubramonian with Lasserre will improve the coding efficiency [Lasserre: para. 0061].
Allowable Subject Matter
11. Claims 9-10 and 19 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.
12. The above identified claims recite a specific steps for processing one or more point cloud groups. The prior arts fail to teach or render obvious this set of steps and features.
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